Repository: yorkie-team/yorkie-js-sdk Branch: main Commit: 4ae9fd555ddb Files: 522 Total size: 7.3 MB Directory structure: gitextract_9k73p22c/ ├── .editorconfig ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug-report.md │ │ ├── common-issue.md │ │ └── config.yml │ ├── PULL_REQUEST_TEMPLATE.md │ └── workflows/ │ ├── ci.yml │ ├── devtools-publish.yml │ ├── github-page-publish.yml │ └── npm-publish.yml ├── .gitignore ├── .husky/ │ ├── commit-msg │ └── pre-commit ├── .npmrc ├── .nvmrc ├── .prettierignore ├── .prettierrc.js ├── CHANGELOG.md ├── CLAUDE.md ├── CONTRIBUTING.md ├── LICENSE ├── MAINTAINING.md ├── README.md ├── codecov.yml ├── docker/ │ ├── docker-compose-ci.yml │ └── docker-compose.yml ├── eslint.config.mjs ├── examples/ │ ├── CONTRIBUTING.md │ ├── README.md │ ├── nextjs-presence/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── app/ │ │ │ ├── App.css │ │ │ ├── api/ │ │ │ │ └── channels/ │ │ │ │ └── route.ts │ │ │ ├── globals.css │ │ │ ├── layout.tsx │ │ │ └── page.tsx │ │ ├── components/ │ │ │ ├── RoomSelector.css │ │ │ ├── RoomSelector.tsx │ │ │ ├── RoomView.css │ │ │ ├── RoomView.tsx │ │ │ ├── SessionCounter.css │ │ │ └── SessionCounter.tsx │ │ ├── eslint.config.mjs │ │ ├── lib/ │ │ │ └── rooms.ts │ │ ├── next.config.ts │ │ ├── package.json │ │ └── tsconfig.json │ ├── nextjs-scheduler/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── app/ │ │ │ ├── Scheduler.tsx │ │ │ ├── layout.tsx │ │ │ ├── not-found.tsx │ │ │ ├── page.tsx │ │ │ ├── styles/ │ │ │ │ ├── calendar.css │ │ │ │ ├── globals.css │ │ │ │ └── page.module.css │ │ │ └── utils/ │ │ │ ├── handlePeers.ts │ │ │ ├── parseDate.ts │ │ │ └── types.ts │ │ ├── eslint.config.mjs │ │ ├── next.config.js │ │ ├── package.json │ │ └── tsconfig.json │ ├── nextjs-todolist/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── app/ │ │ │ ├── globals.css │ │ │ ├── layout.tsx │ │ │ └── page.tsx │ │ ├── components/ │ │ │ ├── TodoList.tsx │ │ │ └── ui/ │ │ │ ├── button.tsx │ │ │ ├── card.tsx │ │ │ └── input.tsx │ │ ├── components.json │ │ ├── eslint.config.mjs │ │ ├── lib/ │ │ │ └── utils.ts │ │ ├── next.config.ts │ │ ├── package.json │ │ ├── postcss.config.mjs │ │ └── tsconfig.json │ ├── profile-stack/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.html │ │ ├── main.js │ │ ├── package.json │ │ ├── style.css │ │ ├── util.js │ │ └── vite.config.js │ ├── react-document-limit/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.tsx │ │ │ ├── components/ │ │ │ │ ├── ConnectionStatus.tsx │ │ │ │ ├── Counter.tsx │ │ │ │ ├── CounterNumber.tsx │ │ │ │ ├── IncrementButton.tsx │ │ │ │ └── Peers.tsx │ │ │ ├── hooks/ │ │ │ │ └── useDocumentSelector.tsx │ │ │ ├── index.css │ │ │ ├── main.tsx │ │ │ └── vite-env.d.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ └── vite.config.ts │ ├── react-flow/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.css │ │ │ ├── App.tsx │ │ │ ├── index.css │ │ │ ├── main.tsx │ │ │ └── vite-env.d.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ └── vite.config.ts │ ├── react-polling-playground/ │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.tsx │ │ │ ├── Leaderboard.tsx │ │ │ ├── StockDetail.tsx │ │ │ ├── StockRow.tsx │ │ │ ├── WritePostPage.tsx │ │ │ ├── main.tsx │ │ │ ├── stocks.ts │ │ │ ├── styles.css │ │ │ └── vite-env.d.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ └── vite.config.ts │ ├── react-revision/ │ │ ├── eslint.config.mjs │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.css │ │ │ ├── App.tsx │ │ │ ├── RevisionPanel.tsx │ │ │ ├── main.tsx │ │ │ └── vite-env.d.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ └── vite.config.ts │ ├── react-tldraw/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.css │ │ │ ├── App.tsx │ │ │ ├── CustomCursor.tsx │ │ │ ├── hooks/ │ │ │ │ ├── types.ts │ │ │ │ └── useMultiplayerState.ts │ │ │ ├── main.tsx │ │ │ ├── tldraw.d.ts │ │ │ └── vite-env.d.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ └── vite.config.ts │ ├── react-todomvc/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── eslint.config.mjs │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.css │ │ │ ├── App.tsx │ │ │ ├── components/ │ │ │ │ ├── Footer.tsx │ │ │ │ ├── Header.tsx │ │ │ │ ├── MainSection.tsx │ │ │ │ ├── TodoItem.tsx │ │ │ │ └── TodoTextInput.tsx │ │ │ ├── main.tsx │ │ │ ├── model.ts │ │ │ ├── todoReducer.ts │ │ │ ├── useTodoReducer.tsx │ │ │ └── vite-env.d.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ └── vite.config.ts │ ├── simultaneous-cursors/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.css │ │ │ ├── App.jsx │ │ │ ├── components/ │ │ │ │ ├── ColoredIcon.jsx │ │ │ │ ├── Cursor.jsx │ │ │ │ ├── CursorSelections.css │ │ │ │ ├── CursorSelections.jsx │ │ │ │ ├── FullAnimation.jsx │ │ │ │ ├── PenCursor.jsx │ │ │ │ ├── SingleAnimation.jsx │ │ │ │ └── SingleAnimation.module.css │ │ │ ├── hooks/ │ │ │ │ └── useInterval.jsx │ │ │ └── main.jsx │ │ └── vite.config.js │ ├── vanilla-codemirror6/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── main.ts │ │ │ ├── network.ts │ │ │ ├── style.css │ │ │ ├── type.ts │ │ │ ├── utils.ts │ │ │ └── vite-env.d.ts │ │ ├── tsconfig.json │ │ └── vite.config.js │ ├── vanilla-document-limit/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── connection.ts │ │ │ ├── counter.ts │ │ │ ├── index.css │ │ │ ├── main.ts │ │ │ ├── peer.ts │ │ │ └── vite-env.d.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── vanilla-prosemirror/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── main.ts │ │ │ ├── style.css │ │ │ └── vite-env.d.ts │ │ ├── tsconfig.json │ │ └── vite.config.js │ ├── vanilla-quill/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── main.ts │ │ │ ├── network.ts │ │ │ ├── style.css │ │ │ ├── type.ts │ │ │ ├── utils.ts │ │ │ └── vite-env.d.ts │ │ ├── tsconfig.json │ │ └── vite.config.js │ └── vuejs-kanban/ │ ├── .gitignore │ ├── README.md │ ├── index.html │ ├── package.json │ ├── src/ │ │ ├── App.vue │ │ ├── assets/ │ │ │ └── main.css │ │ └── main.js │ └── vite.config.js ├── lint-staged.config.mjs ├── package.json ├── packages/ │ ├── devtools/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── content.ts │ │ │ ├── devtools/ │ │ │ │ ├── components/ │ │ │ │ │ ├── Code.tsx │ │ │ │ │ ├── Detail.tsx │ │ │ │ │ ├── JsonView.tsx │ │ │ │ │ ├── ResizableSeparator.tsx │ │ │ │ │ └── Tree.tsx │ │ │ │ ├── contexts/ │ │ │ │ │ ├── SelectedNode.tsx │ │ │ │ │ ├── SelectedPresence.tsx │ │ │ │ │ └── YorkieSource.tsx │ │ │ │ ├── icons/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── panel/ │ │ │ │ │ ├── code.css │ │ │ │ │ ├── index.html │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── slider.css │ │ │ │ │ └── styles.css │ │ │ │ └── tabs/ │ │ │ │ ├── Document.tsx │ │ │ │ ├── History.tsx │ │ │ │ └── Presence.tsx │ │ │ ├── popup/ │ │ │ │ └── index.tsx │ │ │ └── port.ts │ │ └── tsconfig.json │ ├── prosemirror/ │ │ ├── README.md │ │ ├── examples/ │ │ │ ├── basic.html │ │ │ ├── basic.ts │ │ │ ├── custom-schema.html │ │ │ ├── custom-schema.ts │ │ │ ├── index.html │ │ │ ├── style.css │ │ │ ├── tree-schema.html │ │ │ └── tree-schema.ts │ │ ├── package.json │ │ ├── scripts/ │ │ │ └── setup-tree-schema.ts │ │ ├── src/ │ │ │ ├── binding.ts │ │ │ ├── convert.ts │ │ │ ├── cursor.ts │ │ │ ├── defaults.ts │ │ │ ├── diff.ts │ │ │ ├── index.ts │ │ │ ├── position.ts │ │ │ ├── selection-plugin.ts │ │ │ ├── sync.ts │ │ │ └── types.ts │ │ ├── test/ │ │ │ ├── integration/ │ │ │ │ └── split_merge_test.ts │ │ │ └── unit/ │ │ │ ├── convert_test.ts │ │ │ ├── custom_schema_test.ts │ │ │ ├── defaults_test.ts │ │ │ ├── diff_test.ts │ │ │ ├── helpers.ts │ │ │ ├── position_test.ts │ │ │ └── sync_test.ts │ │ ├── tsconfig.json │ │ ├── vite.build.ts │ │ ├── vite.config.ts │ │ └── vitest.config.ts │ ├── react/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── ChannelProvider.tsx │ │ │ ├── DocumentProvider.tsx │ │ │ ├── YorkieProvider.tsx │ │ │ ├── createChannelStore.ts │ │ │ ├── createDocumentStore.ts │ │ │ ├── createStore.ts │ │ │ ├── index.ts │ │ │ ├── shallowEqual.ts │ │ │ ├── usePeekChannel.ts │ │ │ ├── useSelector.ts │ │ │ └── useYorkieDoc.ts │ │ ├── test/ │ │ │ ├── integration/ │ │ │ │ └── integration.test.tsx │ │ │ ├── test-setup.ts │ │ │ └── unit/ │ │ │ ├── createDocumentSelector.test.tsx │ │ │ ├── useRevisions.test.tsx │ │ │ ├── useSelector.test.ts │ │ │ └── useYorkieDoc.test.ts │ │ ├── tsconfig.json │ │ ├── vite.config.js │ │ └── vitest.config.ts │ ├── schema/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── antlr/ │ │ │ ├── YorkieSchema.g4 │ │ │ ├── YorkieSchema.interp │ │ │ ├── YorkieSchema.tokens │ │ │ ├── YorkieSchemaLexer.interp │ │ │ ├── YorkieSchemaLexer.tokens │ │ │ ├── YorkieSchemaLexer.ts │ │ │ ├── YorkieSchemaListener.ts │ │ │ ├── YorkieSchemaParser.ts │ │ │ └── YorkieSchemaVisitor.ts │ │ ├── index.html │ │ ├── package.json │ │ ├── public/ │ │ │ └── style.css │ │ ├── src/ │ │ │ ├── index.ts │ │ │ ├── main.ts │ │ │ ├── rulesets.ts │ │ │ ├── validator.ts │ │ │ └── vite-env.d.ts │ │ ├── test/ │ │ │ ├── ruleset.test.ts │ │ │ └── validator.test.ts │ │ ├── tsconfig.json │ │ ├── vite.build.ts │ │ └── vite.config.ts │ └── sdk/ │ ├── README.md │ ├── buf.gen.yaml │ ├── eslint.config.mjs │ ├── index.html │ ├── package.json │ ├── public/ │ │ ├── counter.html │ │ ├── devtool/ │ │ │ ├── network.js │ │ │ ├── object.css │ │ │ ├── object.js │ │ │ ├── text.css │ │ │ └── text.js │ │ ├── drawing.html │ │ ├── multi.html │ │ ├── presence.html │ │ ├── quill.css │ │ ├── quill.html │ │ ├── schema.html │ │ ├── style.css │ │ ├── tree-schema.html │ │ ├── whiteboard.css │ │ └── whiteboard.html │ ├── scripts/ │ │ └── update-examples.sh │ ├── src/ │ │ ├── api/ │ │ │ ├── converter.ts │ │ │ ├── revision.ts │ │ │ └── yorkie/ │ │ │ └── v1/ │ │ │ ├── resources.proto │ │ │ ├── resources_pb.ts │ │ │ ├── yorkie.proto │ │ │ └── yorkie_pb.ts │ │ ├── channel/ │ │ │ └── channel.ts │ │ ├── client/ │ │ │ ├── attachable.ts │ │ │ ├── attachment.ts │ │ │ ├── auth_interceptor.ts │ │ │ ├── client.ts │ │ │ ├── metric_interceptor.ts │ │ │ └── watch.ts │ │ ├── devtools/ │ │ │ ├── index.ts │ │ │ ├── protocol.ts │ │ │ └── types.ts │ │ ├── document/ │ │ │ ├── change/ │ │ │ │ ├── change.ts │ │ │ │ ├── change_id.ts │ │ │ │ ├── change_pack.ts │ │ │ │ ├── checkpoint.ts │ │ │ │ └── context.ts │ │ │ ├── crdt/ │ │ │ │ ├── array.ts │ │ │ │ ├── counter.ts │ │ │ │ ├── element.ts │ │ │ │ ├── element_rht.ts │ │ │ │ ├── gc.ts │ │ │ │ ├── hll.ts │ │ │ │ ├── object.ts │ │ │ │ ├── primitive.ts │ │ │ │ ├── rga_tree_list.ts │ │ │ │ ├── rga_tree_split.ts │ │ │ │ ├── rht.ts │ │ │ │ ├── root.ts │ │ │ │ ├── text.ts │ │ │ │ └── tree.ts │ │ │ ├── document.ts │ │ │ ├── history.ts │ │ │ ├── json/ │ │ │ │ ├── array.ts │ │ │ │ ├── counter.ts │ │ │ │ ├── element.ts │ │ │ │ ├── object.ts │ │ │ │ ├── strings.ts │ │ │ │ ├── text.ts │ │ │ │ └── tree.ts │ │ │ ├── operation/ │ │ │ │ ├── add_operation.ts │ │ │ │ ├── array_set_operation.ts │ │ │ │ ├── edit_operation.ts │ │ │ │ ├── increase_operation.ts │ │ │ │ ├── move_operation.ts │ │ │ │ ├── operation.ts │ │ │ │ ├── remove_operation.ts │ │ │ │ ├── set_operation.ts │ │ │ │ ├── style_operation.ts │ │ │ │ ├── tree_edit_operation.ts │ │ │ │ └── tree_style_operation.ts │ │ │ ├── presence/ │ │ │ │ ├── change.ts │ │ │ │ └── presence.ts │ │ │ ├── schema/ │ │ │ │ ├── content-expression.ts │ │ │ │ ├── ruleset_validator.ts │ │ │ │ └── tree-validator.ts │ │ │ ├── time/ │ │ │ │ ├── actor_id.ts │ │ │ │ ├── ticket.ts │ │ │ │ └── version_vector.ts │ │ │ └── yson/ │ │ │ ├── index.ts │ │ │ ├── parser.ts │ │ │ └── types.ts │ │ ├── util/ │ │ │ ├── comparator.ts │ │ │ ├── error.ts │ │ │ ├── index_tree.ts │ │ │ ├── llrb_tree.ts │ │ │ ├── logger.ts │ │ │ ├── number.ts │ │ │ ├── object.ts │ │ │ ├── observable.ts │ │ │ ├── resource.ts │ │ │ ├── splay_tree.ts │ │ │ ├── uuid.ts │ │ │ └── validator.ts │ │ └── yorkie.ts │ ├── test/ │ │ ├── bench/ │ │ │ ├── counter.bench.ts │ │ │ ├── document.bench.ts │ │ │ ├── editing-trace.json │ │ │ ├── splay_tree.bench.ts │ │ │ ├── text.bench.ts │ │ │ └── tree.bench.ts │ │ ├── helper/ │ │ │ ├── helper.ts │ │ │ └── vector_utils.ts │ │ ├── integration/ │ │ │ ├── array_test.ts │ │ │ ├── broadcast_test.ts │ │ │ ├── channel_polling_test.ts │ │ │ ├── channel_test.ts │ │ │ ├── client_test.ts │ │ │ ├── counter_test.ts │ │ │ ├── doc_presence_test.ts │ │ │ ├── document_limit_test.ts │ │ │ ├── document_polling_test.ts │ │ │ ├── document_schema_test.ts │ │ │ ├── document_test.ts │ │ │ ├── epoch_mismatch_test.ts │ │ │ ├── gc_test.ts │ │ │ ├── history_array_test.ts │ │ │ ├── history_text_test.ts │ │ │ ├── history_tree_split_test.ts │ │ │ ├── history_tree_test.ts │ │ │ ├── integration_helper.ts │ │ │ ├── object_test.ts │ │ │ ├── presence_test.ts │ │ │ ├── primitive_test.ts │ │ │ ├── revision_test.ts │ │ │ ├── snapshot_test.ts │ │ │ ├── text_test.ts │ │ │ ├── tree_concurrency_test.ts │ │ │ ├── tree_test.ts │ │ │ └── webhook_test.ts │ │ ├── unit/ │ │ │ ├── api/ │ │ │ │ └── converter_test.ts │ │ │ ├── channel/ │ │ │ │ └── channel_test.ts │ │ │ ├── document/ │ │ │ │ ├── crdt/ │ │ │ │ │ ├── counter_test.ts │ │ │ │ │ ├── element_rht_test.ts │ │ │ │ │ ├── primitive_test.ts │ │ │ │ │ ├── rht_test.ts │ │ │ │ │ ├── root_test.ts │ │ │ │ │ └── tree_test.ts │ │ │ │ ├── document_size_test.ts │ │ │ │ ├── document_test.ts │ │ │ │ ├── gc_test.ts │ │ │ │ ├── schema/ │ │ │ │ │ ├── content_expression_test.ts │ │ │ │ │ ├── tree_schema_integration_test.ts │ │ │ │ │ └── tree_validator_test.ts │ │ │ │ └── yson_test.ts │ │ │ ├── schema/ │ │ │ │ └── ruleset_validator_test.ts │ │ │ └── util/ │ │ │ ├── index_tree_test.ts │ │ │ ├── llrb_tree_test.ts │ │ │ ├── logger_test.ts │ │ │ └── splay_tree_test.ts │ │ ├── vitest.d.ts │ │ └── vitest.setup.ts │ ├── tsconfig.json │ ├── typedoc.json │ ├── vite.build.ts │ ├── vite.config.ts │ └── vitest.config.ts ├── pnpm-workspace.yaml └── scripts/ ├── setup.sh ├── tasks-archive.sh └── tasks-index.sh ================================================ FILE CONTENTS ================================================ ================================================ FILE: .editorconfig ================================================ # EditorConfig is awesome: http://EditorConfig.org # top-most EditorConfig file root = true # Unix-style newlines with a newline ending every file [*] end_of_line = lf insert_final_newline = true charset = utf-8 indent_style = space indent_size = 2 ================================================ FILE: .github/ISSUE_TEMPLATE/bug-report.md ================================================ --- name: Bug Report about: Report a bug encountered while using Yorkie labels: kind/bug --- **What happened**: **What you expected to happen**: **How to reproduce it (as minimally and precisely as possible)**: **Anything else we need to know?**: **Environment**: - Operating system: - Browser and version: - Yorkie version (use `yorkie version`): - Yorkie JS SDK version: ================================================ FILE: .github/ISSUE_TEMPLATE/common-issue.md ================================================ --- name: Common Issue about: A common issue with the Yorkie project labels: --- **Description**: **Why**: ================================================ FILE: .github/ISSUE_TEMPLATE/config.yml ================================================ blank_issues_enabled: false ================================================ FILE: .github/PULL_REQUEST_TEMPLATE.md ================================================ #### What this PR does / why we need it? #### Any background context you want to provide? #### What are the relevant tickets? Fixes # ### Checklist - [ ] Added relevant tests or not required - [ ] Addressed and resolved all CodeRabbit review comments - [ ] Didn't break anything ================================================ FILE: .github/workflows/ci.yml ================================================ # This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions name: CI on: push: branches: [main] pull_request: branches: [main] jobs: build: runs-on: ubuntu-latest strategy: matrix: node-version: [22.x] steps: - uses: actions/checkout@v4 - uses: pnpm/action-setup@v4 with: version: 9 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: 'pnpm' - name: Cache pnpm store id: cache uses: actions/cache@v4 with: path: ~/.pnpm-store key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm- - name: Install Dependencies if: steps.cache.outputs.cache-hit != 'true' run: pnpm install - name: Lint run: pnpm lint - name: Build and Test SDK run: | pnpm sdk build docker compose -f docker/docker-compose-ci.yml up --build -d pnpm sdk test:ci - name: Upload coverage to Codecov uses: codecov/codecov-action@v5 with: files: ./coverage/lcov.info env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - name: Build Examples run: pnpm build:examples - name: Build React and Test React run: | pnpm react build pnpm react test - name: Build and Test Schema run: | pnpm schema build pnpm schema test - name: Run benchmark run: pnpm sdk test:bench ================================================ FILE: .github/workflows/devtools-publish.yml ================================================ name: Publish Yorkie Devtools Extension on: workflow_dispatch: push: branches: - 'main' paths: - packages/devtools/package.json jobs: build-and-deploy: runs-on: ubuntu-latest steps: - name: Checkout 🛎️ uses: actions/checkout@v4 - uses: pnpm/action-setup@v4 with: version: 9 - name: Setup Node 🔧 uses: actions/setup-node@v4 with: node-version: '22' cache: 'pnpm' - name: Install and Build 🔧 env: PARCEL_WORKER_BACKEND: process run: | pnpm i pnpm devtools build - name: Deploy 🚀 uses: PlasmoHQ/bpp@v3 with: keys: ${{ secrets.BPP_KEYS }} chrome-file: 'packages/devtools/dist/chrome-mv3-prod.zip' ================================================ FILE: .github/workflows/github-page-publish.yml ================================================ name: Github Page Publish on: push: branches: - 'main' paths-ignore: - 'test/**' jobs: build-and-deploy: runs-on: ubuntu-latest steps: - name: Checkout 🛎️ uses: actions/checkout@v4 - uses: pnpm/action-setup@v4 with: version: 9 - name: Setup Node 🔧 uses: actions/setup-node@v4 with: node-version: '22' cache: 'pnpm' cache-dependency-path: pnpm-lock.yaml - name: Cache pnpm store id: cache uses: actions/cache@v4 with: path: ~/.pnpm-store key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm- - name: Install Dependencies if: steps.cache.outputs.cache-hit != 'true' run: pnpm install - name: Build 🔧 run: | pnpm sdk build pnpm sdk build:docs pnpm build:examples pnpm sdk build:ghpages - name: Deploy 🚀 uses: peaceiris/actions-gh-pages@v4 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./packages/sdk/ghpages enable_jekyll: false ================================================ FILE: .github/workflows/npm-publish.yml ================================================ name: npm-publish on: workflow_dispatch: release: types: [published] jobs: build: runs-on: ubuntu-latest permissions: contents: read id-token: write steps: - name: Checkout 🛎️ uses: actions/checkout@v4 - uses: pnpm/action-setup@v4 with: version: 9 - name: Setup Node 🔧 uses: actions/setup-node@v4 with: node-version: '22' cache: 'pnpm' cache-dependency-path: pnpm-lock.yaml registry-url: 'https://registry.npmjs.org' - name: Cache pnpm store id: cache uses: actions/cache@v4 with: path: ~/.pnpm-store key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm- - name: Install Dependencies if: steps.cache.outputs.cache-hit != 'true' run: pnpm install - name: SDK Build run: pnpm sdk build - name: SDK Publish run: pnpm publish --filter=@yorkie-js/sdk --no-git-checks --provenance env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - name: React Build run: pnpm react build - name: React Publish run: pnpm publish --filter=@yorkie-js/react --no-git-checks --provenance env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - name: Schema Build run: pnpm schema build - name: Schema Publish run: pnpm publish --filter=@yorkie-js/schema --no-git-checks --provenance env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - name: ProseMirror Build run: pnpm prosemirror build - name: ProseMirror Publish run: pnpm publish --filter=@yorkie-js/prosemirror --no-git-checks --provenance env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} ================================================ FILE: .gitignore ================================================ # Created by https://www.gitignore.io/api/vim,node # Edit at https://www.gitignore.io/?templates=vim,node ### Node ### # Logs logs *.log npm-debug.log* yarn-debug.log* yarn-error.log* lerna-debug.log* # Diagnostic reports (https://nodejs.org/api/report.html) report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json # Runtime data pids *.pid *.seed *.pid.lock # Directory for instrumented libs generated by jscoverage/JSCover lib-cov # Coverage directory used by tools like istanbul coverage *.lcov # nyc test coverage .nyc_output # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) .grunt # Bower dependency directory (https://bower.io/) bower_components # node-waf configuration .lock-wscript # Compiled binary addons (https://nodejs.org/api/addons.html) build/Release # Dependency directories node_modules/ jspm_packages/ # TypeScript v1 declaration files typings/ # TypeScript cache *.tsbuildinfo # Optional npm cache directory .npm # Optional eslint cache .eslintcache # Optional REPL history .node_repl_history # Output of 'npm pack' *.tgz # Yarn Integrity file .yarn-integrity # dotenv environment variables file .env.test # parcel-bundler cache (https://parceljs.org/) .cache # next.js build output .next # nuxt.js build output .nuxt # vuepress build output .vuepress/dist # Serverless directories .serverless/ # FuseBox cache .fusebox/ # DynamoDB Local files .dynamodb/ ### Vim ### # Swap [._]*.s[a-v][a-z] [._]*.sw[a-p] [._]s[a-rt-v][a-z] [._]ss[a-gi-z] [._]sw[a-p] # Session Session.vim Sessionx.vim # Temporary .netrwhist *~ # Auto-generated tag files tags # Persistent undo [._]*.un~ # End of https://www.gitignore.io/api/vim,node # Webstorm .idea # Dist files dist/ bundle/ # Docs files (generated API docs) docs/ !docs/design/ !docs/tasks/ # ghpages ghpages/ # temp folder used by api-extractor temp # api review folder used by api-extractor api-review # lib folder used by api-extractor packages/sdk/lib/ packages/prosemirror/lib/ .DS_Store # vscode .vscode # profile output *.cpuprofile # npm **/package-lock.json ================================================ FILE: .husky/commit-msg ================================================ #!/usr/bin/env bash set -euo pipefail # Strip comment lines (lines starting with #) msg=$(sed '/^#/d' "$1") # Skip empty messages (git handles this separately) if [ -z "$msg" ]; then exit 0 fi subject=$(echo "$msg" | head -n1) subject_len=${#subject} if [ "$subject_len" -gt 70 ]; then echo "commit-msg: subject line is $subject_len chars (max 70)" >&2 exit 1 fi line_count=$(echo "$msg" | wc -l | tr -d ' ') if [ "$line_count" -ge 2 ]; then line2=$(echo "$msg" | sed -n '2p') if [ -n "$line2" ]; then echo "commit-msg: line 2 must be blank (found: '$line2')" >&2 exit 1 fi fi if [ "$line_count" -ge 3 ]; then line_num=0 while IFS= read -r line; do line_num=$((line_num + 1)) if [ "$line_num" -le 2 ]; then continue fi len=${#line} if [ "$len" -gt 80 ]; then echo "commit-msg: line $line_num is $len chars (max 80)" >&2 exit 1 fi done <<< "$msg" fi ================================================ FILE: .husky/pre-commit ================================================ npx lint-staged ================================================ FILE: .npmrc ================================================ engine-strict=true @buf:registry=https://buf.build/gen/npm/v1 ================================================ FILE: .nvmrc ================================================ lts/* ================================================ FILE: .prettierignore ================================================ src/api/yorkie_grpc_web_pb.d.ts src/api/yorkie_pb.d.ts ================================================ FILE: .prettierrc.js ================================================ // eslint-disable-next-line no-undef module.exports = { bracketSpacing: true, singleQuote: true, trailingComma: 'all', printWidth: 80, }; ================================================ FILE: CHANGELOG.md ================================================ # Changelog All notable changes to Yorkie JS SDK will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and Yorkie JS SDK adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] - Channel lifecycle via RefreshChannel only by @JOOHOJANG in https://github.com/yorkie-team/yorkie-js-sdk/pull/1258 - Silence post-success cleanup AbortError from connect-rpc unary calls by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1263 ## [v0.7.9] - 2026-05-14 ### Added - Add PeekChannel client + usePeekChannel React hook by @JOOHOJANG in https://github.com/yorkie-team/yorkie-js-sdk/pull/1256 ### Fixed - Fix Polling channel subscriber notification, expose polling via React by @JOOHOJANG in https://github.com/yorkie-team/yorkie-js-sdk/pull/1247 ## [v0.7.8] - 2026-05-05 ### Added - Add SyncMode.Polling for Channel and Document by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1243 ### Changed - Drop isRealtime from core SDK, keep it as React-only prop by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1245 - Bump dependencies to fix 25 Dependabot security alerts by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1240 ### Fixed - Filter pre-tombstoned descendants in tree reverseOp by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1239 - Clear history after attach and make undo/redo no-op on empty stack by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1238 - Fix editByPath split-then-merge and cross-boundary merge undo by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1237 ## [v0.7.7] - 2026-04-26 ### Added - Support splitLevel>=2 undo/redo with multi-client convergence by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1234 - Add DedupCounter parse support in YSON by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1232 ### Fixed - Port splitLevel>=2 convergence fixes from Go server by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1233 ## [v0.7.6] - 2026-04-23 ### Added - Implement toJSON for Bytes and Date primitive types by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1225 ### Changed - Unify presence event emission with reconcilePresence by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1229 - Prevent race conditions between sync loop and detach/deactivate by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1228 - Copy attributes to split node in cloneElement by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1224 ### Fixed - Apply array-move-convergence with LWW position register by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1227 - Register LWW-losing element in GC set on Set conflict by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1226 ## [v0.7.5] - 2026-04-20 ### Added - Add Counter dedup mode with HyperLogLog for UV measurement by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1215 - Enable splitLevel=1 concurrent tests and add split undo/redo by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1219 - Add undo/redo support for TreeStyleOperation by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1221 - Add content correctness tests for overlapping undo by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1222 ### Changed - Simplify Counter interface and replace long with bigint by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1216 - Switch default transport from gRPC-Web to Connect Protocol by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1218 ## [v0.7.4] - 2026-04-11 ### Added - Use native Tree.Edit split/merge in ProseMirror binding by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1207 ### Fixed - Fix tree style divergence on concurrent split via End-token guard by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1211 - Mirror tree merge snapshot encoding fix from Go SDK by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1210 - Fix SplitElement divergence on concurrent split inside merge range by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1206 - Fix split + delete divergence and splitElement tombstone handling by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1205 - Fix multi-level split + merge divergence via mergedFrom by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1204 - Fix split sibling convergence via position forwarding by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1203 - Fix convergence bugs in concurrent tree merge/split by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1202 ## [v0.7.3] - 2026-04-02 ### Added - Add range-based styleByPath and removeStyleByPath for Tree by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1198 - Add epoch mismatch event for compaction recovery by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1193 - Export Tree, Text and Counter from @yorkie-js/react package by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1190 ## [v0.7.2] - 2026-03-20 ### Fixed - Fix ElementRHT.set() producing duplicate ownKeys on timestamp reversal by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1188 ## [v0.7.1] - 2026-03-19 ### Added - Add tree-level schema validation and ProseMirror example by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1181 ### Fixed - Retain peer presence across watch stream reconnections by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1186 ## [v0.7.0] - 2026-03-05 ### Added - Add undo/redo support for Tree.Edit operations (Phase 1) by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1176 ### Fixed - Fix Korean IME composition breakage by pausing sync during composition by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1179 ## [v0.6.49] - 2026-02-23 ### Added - Add remote selection range display and vanilla-prosemirror example by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1166 - Add fine-grained IME composition guard to prosemirror binding by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1167 - Add undo/redo support for Text.Style operations by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1174 - Add multi-user undo/redo support to vanilla-quill example by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1175 - Add useRevisions hook to @yorkie-js/react for revision API by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1177 ### Changed - Return unwrapped primitive values from Array iterator by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1178 ### Fixed - Fix remote cursor jumping to next line via intra-block diffing by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1168 - Fix cursor jump caused by text node fragmentation in downstream sync by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1169 - Fix remote cursor not updating on local edits in prosemirror binding by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1170 - Fix cursor focus jumping between editors on Safari by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1171 - Fix duplicate list items in nested block sync by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1173 ## [v0.6.48] - 2026-02-11 ### Added - Add @yorkie-js/prosemirror package with ProseMirror-Yorkie Tree bindings by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1163 ### Changed - Replace WatchDocument and WatchChannel with unified Watch RPC by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1161 - Extract shared watch stream lifecycle into runWatchStream helper by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1160 ### Fixed - Remove --backend-disable-webhook-validation from docker-compose by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1162 ## [v0.6.47] - 2026-02-06 ### Changed - Refactor channel terminology from presence to session by @emplam27 in https://github.com/yorkie-team/yorkie-js-sdk/pull/1154 ### Fixed - Add backend-disable-webhook-validation to CI by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1155 - Add NEXT_PUBLIC_BASE_PATH to production environment variables by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1158 ## [v0.6.44] - 2026-01-19 ### Fixed - Fix SplayTree Find semantics for CRDT Array by @ggyuchive in https://github.com/yorkie-team/yorkie-js-sdk/pull/1150 ## [v0.6.43] - 2026-01-13 ### Changed - Refactor room management with categories by @emplam27 in https://github.com/yorkie-team/yorkie-js-sdk/pull/1145 ## [v0.6.42] - 2025-12-19 ### Changed - Rename presence_count to session_count by @emplam27 in https://github.com/yorkie-team/yorkie-js-sdk/pull/1142 ## [v0.6.41] - 2025-12-09 ### Added - Enhance YSON parsing with generic type support by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1137 - Implement YSON module with parser and types by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1135 - Add GetRevision for retrieving specific revisions by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1133 - Implement reverse EditOperation for Text by @JOOHOJANG in https://github.com/yorkie-team/yorkie-js-sdk/pull/1126 ### Changed - Bump up libs to the latest version by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1132 ## [v0.6.40] - 2025-12-02 ### Added - Implement revision management by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1127 ## [v0.6.39] - 2025-11-27 ### Changed - Add enableDevtools option to useYorkieDoc by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1120 ### Fixed - Fix various issues that occur in examples by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1117 - Handle selection changes on mouse release in Quill by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1118 - Insert images in Quill editor with user attribution by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1119 - Prevent minus retains of delta operations in Quill by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1121 - Fix local range calculation in delta for Quill by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1122 - Prevent selection updates during IME input in Quill by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1123 - Use deleteByID instead of filter for todo deletion in react-todomvc by @raararaara in https://github.com/yorkie-team/yorkie-js-sdk/pull/1124 ## [v0.6.38] - 2025-11-14 ### Changed - Bump up Quill to v2 by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1115 ### Fixed - Fix unexpected styles when refreshing Quill by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1112 - Fix code-block escape in Quill by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1113 ## [v0.6.37] - 2025-11-11 ### Added - Add rpcAddr to options in ReactTodoMVC by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1106 - Add document key retrieval to use query string by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1108 - Refine channel shard key and add GetChannels API example by @emplam27 in https://github.com/yorkie-team/yorkie-js-sdk/pull/1109 ### Fixed - Add cancel watch stream test by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1105 - Fix nil pointer dereference in LLRB Floor function by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1107 ## [v0.6.36] - 2025-11-06 ### Added - Add PresenceProvider and related hooks by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1099 ### Changed - Replace lodash to es-toolkit for bundle size reduction by @witch-factory in https://github.com/yorkie-team/yorkie-js-sdk/pull/1101 - Refactor broadcast handling in Presence by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1102 - Rename Presence to Channel by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1103 ## [v0.6.35] - 2025-10-30 ### Added - Enhance presence with manual and realtime sync by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1096 ### Fixed - Fix removedAt timestamp handling for text deletions by @emplam27 in https://github.com/yorkie-team/yorkie-js-sdk/pull/1094 - Fix removedAt timestamp handling in tree deletions by @emplam27 in https://github.com/yorkie-team/yorkie-js-sdk/pull/1097 - Fix missing Tombstone nodes during ElementRHT encoding by @raararaara in https://github.com/yorkie-team/yorkie-js-sdk/pull/1098 ## [v0.6.34] - 2025-10-24 ### Added - Add real-time presence tracking @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1091 ## [v0.6.29] - 2025-09-05 ### Changed - Ensure LWW concurrent deletions collapse to single tombstone timestamp by @PlusUltraCode in https://github.com/yorkie-team/yorkie-js-sdk/pull/1083 - Rename OperationInfo to OpInfo across the codebase by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1084 - Refactor JSON element types and streamline document core by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1085 ### Fixed - Fix garbage size accounting for Text nodes by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1086 ## [v0.6.28] - 2025-09-02 ### Added - Add getOthersPresences and synchronous deactivation by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1081 ## [v0.6.27] - 2025-08-29 ### Added - Support undo for move/set by fixing collisions by @KMSstudio in https://github.com/yorkie-team/yorkie-js-sdk/pull/1059 ### Changed - Remove optional methods from JSONArray/JSONObject by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1076 ### Fixed - Fix attachment constructor argument typo by @witch-factory in https://github.com/yorkie-team/yorkie-js-sdk/pull/1073 ## [v0.6.26] - 2025-08-20 ### Added - Add edit name feature in Profile Stack by @saemileee in https://github.com/yorkie-team/yorkie-js-sdk/pull/1063 - Enhance drawing tools and smoothing pipeline by @echae22 in https://github.com/yorkie-team/yorkie-js-sdk/pull/1069 ### Changed - Normalize error in validation functions to lowercase by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1064 - Simplify examples by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1067 ### Fixed - Reset online clients on attachment cancellation by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1066 - Fix removedAt timestamp handling in text deletions by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1071 ## [v0.6.25] - 2025-08-12 - Prevent watch stream creation after cancellation by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1056 - Modernize and align with React TodoMVC by @witch-factory in https://github.com/yorkie-team/yorkie-js-sdk/pull/1057 - Connect tldraw undo/redo to History API by @KMSstudio in https://github.com/yorkie-team/yorkie-js-sdk/pull/1060 - Fix incorrect deletion of compacted documents by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1061 ## [v0.6.24] - 2025-08-06 ### Added - Support `array[idx] = val` via Proxy.set trap by @KMSstudio in https://github.com/yorkie-team/yorkie-js-sdk/pull/1041 - Add selector-based context system to reduce re-renders by @jaesoekjjang in https://github.com/yorkie-team/yorkie-js-sdk/pull/1031 ### Changed - Migrate to ESLint 9.x flat config across monorepo by @witch-factory in https://github.com/yorkie-team/yorkie-js-sdk/pull/1045 ### Fixed - Prevent document attachment before component mount by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1050 - Fix race condition between detach and syncLoop by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1051 - Prevent watch stream re-creation after detachment by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1052 - Prevent event loss by ensuring sync loop resumes after reconnect by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1054 ## [0.6.23] - 2025-08-01 ### Fixed - Cleanup ESLint packages/react by @jaesoekjjang in https://github.com/yorkie-team/yorkie-js-sdk/pull/1027 - Remove deprecated SelectOperation by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1038 - Resolve convergence issues in Array.Move and Array.Set by @emplam27 in https://github.com/yorkie-team/yorkie-js-sdk/pull/1037 ## [0.6.22] - 2025-07-28 ### Changed - Change VersionVector actorID encoding from hex to base64 by @mnnseong in https://github.com/yorkie-team/yorkie-js-sdk/pull/1030 ### Fixed - Fix eslint cleanup SDK by @pengooseDev https://github.com/yorkie-team/yorkie-js-sdk/pull/1023 ## [0.6.21] - 2025-07-25 ### Added - Add nextjs-quill example using Yorkie and Quill v2 by @miinhho in https://github.com/yorkie-team/yorkie-js-sdk/pull/1032 - Support for object, array and enum in ruleset builder by @sigmaith in https://github.com/yorkie-team/yorkie-js-sdk/pull/1025 ### Changed - Migrate vanilla-quill example dependency to Quill v2 by @miinhho in https://github.com/yorkie-team/yorkie-js-sdk/pull/1034 ## [0.6.20] - 2025-07-17 ### Added - Support Undo/Redo for array.add and array.remove by @KMSstudio in https://github.com/yorkie-team/yorkie-js-sdk/pull/1014 ### Fixed - Update CONTRIBUTING.md to use `pnpm i` by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1012 - Update deprecated pprof flag by @pengooseDev in https://github.com/yorkie-team/yorkie-js-sdk/pull/1020 - Change schema tests to use assert.include by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1024 - Fix typo in MaxDelimiter constant name by @jaesoekjjang in https://github.com/yorkie-team/yorkie-js-sdk/pull/1022 ## [0.6.18] - 2025-07-01 ### Added - Add schema support by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/1010 ### Changed - Replace example project by @hackerwins in #f1c4dc9 ## [0.6.15] - 2025-06-09 ### Changed - Improve Shard Key for Client Requests to Prevent Load Skew by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/1003 ### Fixed - Update eslint-plugin-jsdoc to support Node.js version>=20 by @witch-factory in https://github.com/yorkie-team/yorkie-js-sdk/pull/1001 - Remove obsolete version field from docker-compose.yml by @witch-factory in https://github.com/yorkie-team/yorkie-js-sdk/pull/1005 ## [0.6.14] - 2025-06-02 ### Fixed - Remove recursion in registerElement to avoid duplicate registrations by @raararaara in https://github.com/yorkie-team/yorkie-js-sdk/pull/995 - Fix non-deterministic test caused by realtime mode by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/997 ## [0.6.13] - 2025-05-27 ### Added - Introduce size limit for documents by @raararaara in https://github.com/yorkie-team/yorkie-js-sdk/pull/992 ### Changed - Update SnapshotThreshold to 500 by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/993 ## [0.6.12] - 2025-05-16 ### Changed - Remove logical clock from presence-only changes by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/990 ## [0.6.10] - 2025-05-09 ### Removed - Remove deprecated MinSyncedTicket and MaxCreatedAtMapByActor by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/969 ## [0.6.9] - 2025-04-30 ### Added - Implement Split, Merge in json layer of Tree by @JOOHOJANG in https://github.com/yorkie-team/yorkie-js-sdk/pull/982 ### Fixed - Update dependencies in ProseMirror by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/986 ## [0.6.8] - 2025-04-28 ### Added - Add size tracking to CRDT by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/981 - Add document to DocumentContext by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/983 ### Fixed - Update client initialization to use rpcAddr option in examples by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/979 - Apply HMR in dev mode by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/984 ## [0.6.7] - 2025-04-17 ### Added - Add beforeunload deactivation handler directly to Client by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/977 ### Changed - Refactor client initialization to use options for rpcAddr by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/975 ### Fixed - Add missing user agent to @yorkie-js/react by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/976 ## [0.6.6] - 2025-04-07 ### Added - Add schema package with initial configuration by @hackerwins https://github.com/yorkie-team/yorkie-js-sdk/pull/968 ### Changed - Support StrictMode in React Standalone Mode by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/970 ### Removed - Remove create-yorkie-app package by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/967 ## [0.6.5] - 2025-03-28 ### Added - Add nextjs-todolist example by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/964 - Add connection status hook in React Binder by @emplam27 in https://github.com/yorkie-team/yorkie-js-sdk/pull/960 - Add react-document-limit example by @emplam27 in https://github.com/yorkie-team/yorkie-js-sdk/pull/958 - Add vanilla-document-limit example by @emplam27 in https://github.com/yorkie-team/yorkie-js-sdk/pull/957 ### Fixed - Use useRef for client instance management in StrictMode by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/963 - Add missing initial presence in Yorkie React by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/959 ## [0.6.3] - 2025-03-19 ### Added - Handle Attachment Limit per Document by @emplam27 in https://github.com/yorkie-team/yorkie-js-sdk/pull/955 - Add react-flow example by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/954 ## [0.6.2] - 2025-03-14 ### Added - Handle Subscription limit per Document by @emplam27 in https://github.com/yorkie-team/yorkie-js-sdk/pull/952 ## [0.6.1] - 2025-03-06 ### Added - Add @yorkie-js/react package with hooks for SDK integration by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/945 - Add YorkieProvider, DocumentProvider and suspense hooks by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/946 - Add keepalive option when detaching a document by @emplam27 in https://github.com/yorkie-team/yorkie-js-sdk/pull/948 ### Changed - Refactor package names to include scope by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/944 - Refactor import paths to use '@yorkie-js/sdk' by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/947 - Support React 18 and guard hasDocument check by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/950 ## [0.6.0] - 2025-02-17 ### Added - Add metadata to Client for MAU tracking by @emplam27 in https://github.com/yorkie-team/yorkie-js-sdk/pull/942 ### Changed - Update github actions version by @DongjaJ in https://github.com/yorkie-team/yorkie-js-sdk/pull/936 ### Fixed - Fix type errors in devtools package by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/938 ## [0.5.7] - 2024-12-11 ### Changed - Replace maxCreatedAtMap with version vector for causal-concurrent operations by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/932 ### Fixed - Enhance webhook tests and error handling for authentication by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/930 - Preserve Detached Client's Lamport in Version Vector by @JOOHOJANG in https://github.com/yorkie-team/yorkie-js-sdk/pull/931 - Improve Version Vector Handling for Legacy SDK and Snapshots by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/933 ## [0.5.6] - 2024-11-22 ### Added - Add keepalive option in client.deactivate by @JOOHOJANG in https://github.com/yorkie-team/yorkie-js-sdk/pull/928 ### Fixed - Improve GC for deactivated client's nodes by @JOOHOJANG in https://github.com/yorkie-team/yorkie-js-sdk/pull/926 ## [0.5.5] - 2024-11-07 ### Added - Add dynamic token refresh and authentication error handling by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/911 ### Fixed - Fix tests for event batch publisher implementation by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/924 - Modify Snapshot Event to publish updated local changes by @devleejb in https://github.com/yorkie-team/yorkie-js-sdk/pull/923 ## [0.5.4] - 2024-10-28 ### Added - Implement `InitialRoot` option for Document attachment by @raararaara in https://github.com/yorkie-team/yorkie-js-sdk/pull/913 - Add doc.getStats for debugging purpose by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/920 ### Fixed - Export VersionVector by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/917 ## [0.5.3] - 2024-10-23 ### Changed - Introducing version vector to solve GC problem by @JOOHOJANG in https://github.com/yorkie-team/yorkie-js-sdk/pull/899 ## [0.5.2] - 2024-10-22 ### Changed - Update target to ES2020 and replace Long with bigint by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/912 ## [0.5.1] - 2024-10-15 ### Added - Add configurable retry mechanism to broadcast interface by @gwbaik9717 in https://github.com/yorkie-team/yorkie-js-sdk/pull/901 ### Changed - Ensure `find` and `indexOf` perform splay by @m4ushold in https://github.com/yorkie-team/yorkie-js-sdk/pull/904 - Restrict presence object type to JSON serializable values by @gwbaik9717 in https://github.com/yorkie-team/yorkie-js-sdk/pull/898 ### Fixed - Automate Linting with Husky and lint-staged to Prevent CI Failures by @gwbaik9717 in https://github.com/yorkie-team/yorkie-js-sdk/pull/896 ## [0.5.0] - 2024-09-05 ### Added - Introduce broadcast API for event sharing by @gwbaik9717 in https://github.com/yorkie-team/yorkie-js-sdk/pull/884 ### Fixed - Update npm-publish command for sdk by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/886 - Update MAINTAINING.md by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/887 - Lock version of `@codemirror/view` to prevent potential issues with Korean character input by @devleejb in https://github.com/yorkie-team/yorkie-js-sdk/pull/890 ## [0.4.31] - 2024-08-22 ### Changed - Update example version to v0.4.28 by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/877 - Unify error throwing methods by @gwbaik9717 https://github.com/yorkie-team/yorkie-js-sdk/pull/878 - Update docker compose command to V2 by @kokodak in https://github.com/yorkie-team/yorkie-js-sdk/pull/879 - Introduce monorepo to manage packages using pnpm @gwbaik9717 https://github.com/yorkie-team/yorkie-js-sdk/pull/880 ## [0.4.28] - 2024-07-25 ### Added - Improve performance for creating crdt.TreeNode by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/875 - Add Root-Only Filter Feature in History Tab by @gwbaik9717 in https://github.com/yorkie-team/yorkie-js-sdk/pull/872 ### Changed - Update example version to v0.4.27 by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/870 - Adjust Default LogLevel to Warn by @gwbaik9717 in https://github.com/yorkie-team/yorkie-js-sdk/pull/871 ## [0.4.27] - 2024-07-11 ### Changed - Add taskQueue to handle each request one by one by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/862 ### Removed - Remove Custom JSDOM by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/864 - Remove vitest-environment-custom-jsdom from dependencies by @blurfx in https://github.com/yorkie-team/yorkie-js-sdk/pull/866 - Remove jsdom from dependencies by @blurfx in https://github.com/yorkie-team/yorkie-js-sdk/pull/867 ### Fixed - Handle retry for syncLoop and watchLoop by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/863 - Handle ErrClientNotActivated and ErrClientNotFound by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/865 - Handle local changes correctly when receiving snapshot by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/868 ## [0.4.26] - 2024-07-04 ### Changed - Update example version to v0.4.25 by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/858 ### Fixed - Remove node from indexes during GC by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/860 ## [0.4.25] - 2024-07-03 ### Added - Add `doc.subscribe('status', callback)` function by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/828 ### Changed - Use module import style for Protobuf by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/853 - Remove reattach test code by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/855 ## [0.4.24] - 2024-06-14 ### Added - Show removed node in devtools by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/835 ## [0.4.23] - 2024-06-07 ### Changed - Update examples version to v0.4.22 by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/845 ### Fixed - Fix miscalculation of tree size in concurrent editing by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/846 ## [0.4.22] - 2024-06-04 ### Added - Add RHTNode removal to converter for consistency by @raararaara in https://github.com/yorkie-team/yorkie-js-sdk/pull/842 ### Changed - Update examples version to v0.4.21 by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/840 - Simplify type checking for style attributes in TreeStyleOpInfo by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/841 ### Fixed - Add conditional checks for `window` object by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/839 ## [0.4.21] - 2024-06-03 ### Changed - Update example version to v0.4.20 by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/822 - Remove skip from style-style-test by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/829 - Include all nodes in tree.toJSInfoForTest by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/832 - Add ServerSeq into ChangeInfo by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/833 ### Fixed - Prevent remote-change events in RealtimeSyncOff mode by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/824 - Fix invalid error message in CRDTTreePos by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/830 - Fix incorrect tree snapshot encoding/decoding by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/836 - Fix incorrect indexes in TreeChange by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/837 ## [0.4.20] - 2024-05-24 ### Added - Implement RHT.GC by @raararaara in https://github.com/yorkie-team/yorkie-js-sdk/pull/815 ### Changed - Update examples version to v0.4.19 by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/812 - Enhance type inference in Document.subscribe by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/814 - Apply GCPair to TreeNode, TextNode by @raararaara in https://github.com/yorkie-team/yorkie-js-sdk/pull/819 ### Fixed - Handle Tree.toXML to return proper XML string by @raararaara in https://github.com/yorkie-team/yorkie-js-sdk/pull/805 - Avoid unnecessary syncs in push-only syncmode by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/818 ## [0.4.19] - 2024-05-10 ### Added - Add Tree concurrency tests by @justiceHui, @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/792 ### Changed - Update examples version to v0.4.18 by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/785 - Remove Client.subscribe by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/789 - Replace `benchmark.js` with `vitest bench` by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/793 - Replace webpack with vite by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/795 - Reset online clients when stream is disconnected by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/796 - Replace TSDoc with TypeDoc by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/800 - Add vite-plugin-dts to build yorkie-js-sdk.d.ts by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/801 ### Fixed - Export OpSource by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/786 - Add window type condition for using devtools by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/787 - Update GitHub Action workflow for create-yorkie-app by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/790 - Handle exception for the client without proper presence value in example by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/798 - Handle concurrent editing and styling in Tree by @raararaara in https://github.com/yorkie-team/yorkie-js-sdk/pull/803 - Fix invalid tree style changes by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/804 - Fix gc for multiple nodes in text and tree type by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/806 ## [0.4.18] - 2024-04-23 ### Added - Add history tab and enhance visualization features to devtools by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/760 ## [0.4.17] - 2024-04-19 ### Added - Add RealtimeSyncOff and refactor interface of SyncMode by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/772 ### Fixed - Fix issue of incorrect display of remote selection in Quill example by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/769 - Reverse TreeChanges when Deleting in Tree by @raararaara in https://github.com/yorkie-team/yorkie-js-sdk/pull/774 - Remove unnecessary stubs from the test code by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/776 - Provide CODECOV_TOKEN to codecov-action by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/777 - Fix issue of referencing process object on browser by @blurfx in https://github.com/yorkie-team/yorkie-js-sdk/pull/778 ## [0.4.16] - 2024-03-29 ### Added - Implement Protocol Changes for Tree.RemoveStyle by @raararaara in https://github.com/yorkie-team/yorkie-js-sdk/pull/755 ## [0.4.15] - 2024-03-11 ### Added - Implement Tree.RemoveStyle by @raararaara in https://github.com/yorkie-team/yorkie-js-sdk/pull/745 ### Changed - Change actorID to be non-optional by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/747 ### Fixed - Fix invalid sync when editing multiple cursors in CodeMirror6 by @devleejb in https://github.com/yorkie-team/yorkie-js-sdk/pull/743 - Fix incorrect index returned when using posRangeToIndexRange by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/742 - Fix incorrect calculation in `indexTree.treePosToPath` operation by @raararaara in https://github.com/yorkie-team/yorkie-js-sdk/pull/751 - Fix errors when editing Tree due to missing insPrevID in CRDTTree by @raararaara in https://github.com/yorkie-team/yorkie-js-sdk/pull/756 - Prevent remote-change events from occurring in push-only mode by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/759 ## [0.4.14] - 2024-01-29 ### Added - Export LogLevel and setLogLevel @devleejb in https://github.com/yorkie-team/yorkie-js-sdk/pull/737 - Add design document for devtools extension by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/735 ### Fixed - Follow up work after devtools mvp by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/734 - Fix invalid TreeChanges in concurrent Tree.Style by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/738 - Restore interface changes due to server DB sharding by @sejongk https://github.com/yorkie-team/yorkie-js-sdk/pull/740 ## [0.4.13] - 2024-01-19 ### Added - Implement devtools chrome extension by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/717 ### Changed - Reflect interface changes of server DB sharding by @sejongk in https://github.com/yorkie-team/yorkie-js-sdk/pull/726 - Complement concurrent editing test cases in Tree by @sejongk in https://github.com/yorkie-team/yorkie-js-sdk/pull/721 - Export devtools type by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/730 - Update examples version to v0.4.12 by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/722 ### Fixed - Fix multiple versions of prosemirror-model were loaded by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/728 - Fix invalid tree conversion by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/719 ## [0.4.12] - 2024-01-05 ### Added - Add concurrent editing test cases in Tree by @sejongk in https://github.com/yorkie-team/yorkie-js-sdk/pull/710 ### Fixed - Generate correct TreeChange in concurrent edits by @sejongk in https://github.com/yorkie-team/yorkie-js-sdk/pull/712 - Add forced sync when switching to realtime mode by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/713 - Fix `getGarbageLen` to retrun correct size by @devleejb in https://github.com/yorkie-team/yorkie-js-sdk/pull/714 - Prevent deregisterElement from deregistering twice in nested object by @justiceHui in https://github.com/yorkie-team/yorkie-js-sdk/pull/716 ## [0.4.11] - 2023-12-18 ### Added - Address duplicate node IDs in Tree.Split by @sejongk, @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/707 - Add test filtering and log printing guide to CONTRIBUTING.md by @sejongk in https://github.com/yorkie-team/yorkie-js-sdk/pull/708 - Support concurrent insertion and splitting in Tree by @sejongk in https://github.com/yorkie-team/yorkie-js-sdk/pull/709 ### Changed - Migrate RPC to ConnectRPC by @krapie, @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/698 ## [0.4.10] - 2023-12-04 ### Added - Add create-yorkie-app by @se030, @blurfx in https://github.com/yorkie-team/yorkie-js-sdk/pull/690 - Implement splitLevel of Tree.Edit by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/704 - Add `removeIfNotAttached` to `client.detach()` options by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/703 ### Fixed - Fix reading wrong .env path by @blurfx in https://github.com/yorkie-team/yorkie-js-sdk/pull/694 - Handle escape string for strings containing quotes by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/700 - Correct typos in the installation command on README.md in the example by @ymw0407 in https://github.com/yorkie-team/yorkie-js-sdk/pull/702 ## [0.4.9] - 2023-11-25 ### Added - Implement merge elements in `Tree.Edit` by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/681 - Add README and thumbnail on example 'simultaneous-cursors'by @banma1234 in https://github.com/yorkie-team/yorkie-js-sdk/pull/683 - Support Undo/Redo for object.set and object.remove operations by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/658 ### Changed - Refactor ProseMirror example and Tree codes by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/686 - Enhance Set and Add for representing nested elements by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/691 ### Fixed - Add missing `removedAt` during Primitive deepcopy by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/692 - Prevent empty ops are applied during undo/redo by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/687 ## [0.4.8] - 2023-11-01 ### Changed - Replace karma with vitest by @blurfx, @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/665 - Remove vitest single thread config by @blurfx in https://github.com/yorkie-team/yorkie-js-sdk/pull/667 - Publish npm package with provenance by @jongwooo in https://github.com/yorkie-team/yorkie-js-sdk/pull/669 - Update examples version to v0.4.7 by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/671 - Update nextjs-scheduler to export static files by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/672 - Bump browserify-sign from 4.2.1 to 4.2.2 by @dependabot in https://github.com/yorkie-team/yorkie-js-sdk/pull/678 - Bump @babel/traverse from 7.22.11 to 7.23.2 by @dependabot in https://github.com/yorkie-team/yorkie-js-sdk/pull/670 ### Removed - Remove redundant types from tree by @JOOHOJANG in https://github.com/yorkie-team/yorkie-js-sdk/pull/666 ### Fixed - Fix missing collection of removed elements from the root by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/676 - Add more GC tests to reflect current server modifications by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/677 - Fit Next.js example style to the yorkie homepage by @blurfx in https://github.com/yorkie-team/yorkie-js-sdk/pull/675 - Disable jekyll on github actions by @blurfx in https://github.com/yorkie-team/yorkie-js-sdk/pull/674 ## [0.4.7] - 2023-10-06 ### Added - Introduce basic architecture to support undo and redo by @hyemmie, @chacha912 and @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/650 - Add Text devtool to CodeMirror example by @chacha912 and @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/646 - Add DisableGC option to document by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/644 - Add toJS to return TreeNode of Tree by @JOOHOJANG and @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/639 - Add Tree.Edit benchmark and improve performance by @JOOHOJANG and @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/641 - Add simultaneous cursors example and Update examples to v0.4.6 by @YoonKiJin and @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/581 - Add nextjs-scheduler example by @banma1234 and @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/637 ### Changed - Improve tldraw example performance by @devleejb in https://github.com/yorkie-team/yorkie-js-sdk/pull/640 - Drop node 16 support by @blurfx in https://github.com/yorkie-team/yorkie-js-sdk/pull/653 - Strip internals from package d.ts files by @mojosoeun in https://github.com/yorkie-team/yorkie-js-sdk/pull/596 - Disable realtime sync in GC test (#656) by @sejongk and @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/656 ### Removed - Remove unused trie by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/651 - Remove SelectOpInfo by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/636 ### Fixed - Support concurrent formatting of Text by @MoonGyu1 in https://github.com/yorkie-team/yorkie-js-sdk/pull/642 - Recover istanbul-instrumenter-loader to use debugger by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/659 - Recover Select to prevent unsupported operation by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/634 ## [0.4.6] - 2023-08-25 ### Added - Build error on node 18+ by @blurfx in https://github.com/yorkie-team/yorkie-js-sdk/pull/584 - Add .nvmrc to specify Node version to LTS by @kutta97 in https://github.com/yorkie-team/yorkie-js-sdk/pull/586 - Add client deactivation before unmount by @degurii in https://github.com/yorkie-team/yorkie-js-sdk/pull/595 - Add `presence.get()` to get presence value in doc.update() by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/600 - Add test for concurrent rich-text editing in the Peritext example by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/610 - Concurrent case handling for Yorkie.tree by @ehuas in https://github.com/yorkie-team/yorkie-js-sdk/pull/611 - Support multi-level and parital element selection by @sejongk in https://github.com/yorkie-team/yorkie-js-sdk/pull/631 ### Changed - Move "Building & Testing" Guide to CONTRIBUTING.md by @g2hhh2ee in https://github.com/yorkie-team/yorkie-js-sdk/pull/589 - Define more specific condition to check whether the input is opened by @su-ram in https://github.com/yorkie-team/yorkie-js-sdk/pull/597 - Clean up methods related to presence by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/599 - Refactor presence event code in examples by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/614 - Change TreeNode to have IDs instead of insPrev, insNext by @JOOHOJANG in https://github.com/yorkie-team/yorkie-js-sdk/pull/627 - Remove select operation from text by @blurfx in https://github.com/yorkie-team/yorkie-js-sdk/pull/622 - Fix invalid path of style changes by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/632 ### Removed ### Fixed - Fix `pathToTreePos` TC by @JOOHOJANG in https://github.com/yorkie-team/yorkie-js-sdk/pull/571 - Fix GC to remove all removed nodes by @JOOHOJANG in https://github.com/yorkie-team/yorkie-js-sdk/pull/568 - Expose pathToIndex API by @JOOHOJANG in https://github.com/yorkie-team/yorkie-js-sdk/pull/567 - Fix react-tldraw readme typo by @blurfx in https://github.com/yorkie-team/yorkie-js-sdk/pull/598 - Fix event-related tests to be deterministic by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/602 - Fix high and critical vulnerabilities by @mojosoeun in https://github.com/yorkie-team/yorkie-js-sdk/pull/630 ## [0.4.5] - 2023-07-20 ### Added - Move Presence from Client to Document by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/574 - Tree edit update by @ehuas in https://github.com/yorkie-team/yorkie-js-sdk/pull/576 ### Changed - Replace selection with presence by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/578 - Bump word-wrap from 1.2.3 to 1.2.4 by @dependabot in https://github.com/yorkie-team/yorkie-js-sdk/pull/575 - Bump up protobuf by @JOOHOJANG in https://github.com/yorkie-team/yorkie-js-sdk/pull/570 - Prevent usage of `.` in JSONObject key by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/569 ### Removed - Remove duplicated test by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/564 - Remove InternalOpInfo by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/566 ### Fixed - Fix `pathToTreePos` TC by @JOOHOJANG in https://github.com/yorkie-team/yorkie-js-sdk/pull/571 - Fix GC to remove all removed nodes by @JOOHOJANG in https://github.com/yorkie-team/yorkie-js-sdk/pull/568 - Expose pathToIndex API by @JOOHOJANG in https://github.com/yorkie-team/yorkie-js-sdk/pull/567 ## [0.4.4] - 2023-07-05 ### Changed - Cleanup of test-related terminology by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/562 - Use TreeRangeStruct to represent tree selection by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/561 ## [0.4.3] - 2023-06-29 ### Added - Apply garbage collection to tree by @JOOHOJANG in https://github.com/yorkie-team/yorkie-js-sdk/pull/550 ### Changed - Cleanup TextChange by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/551 ### Fixed - Fix garbage collection bug by @JOOHOJANG in https://github.com/yorkie-team/yorkie-js-sdk/pull/555 ## [0.4.2] - 2023-06-19 ### Added - Support for OperationInfo inference on Document.subscribe by @easylogic in https://github.com/yorkie-team/yorkie-js-sdk/pull/535 - Add peer selection display example by @easylogic in https://github.com/yorkie-team/yorkie-js-sdk/pull/544 - Implement Tree.Style and Tree.StyleByPath by @JOOHOJANG, @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/542 ## [0.4.1] - 2023-06-09 ### Changed - Bump vite from 3.2.5 to 3.2.7 by @dependabot in https://github.com/yorkie-team/yorkie-js-sdk/pull/531 - change to next method as synchronously by @easylogic in https://github.com/yorkie-team/yorkie-js-sdk/pull/526 - Change the value of XXXChange to Change in Document.subscribe by @easylogic in https://github.com/yorkie-team/yorkie-js-sdk/pull/538 - Replace Tree.onChanges with Document.subscribe by @easylogic in https://github.com/yorkie-team/yorkie-js-sdk/pull/523 ## [0.4.0] - 2023-06-05 ### Added - Implement yorkie.Tree for text editors using tree model by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/507 ### Changed - Bump socket.io-parser from 4.2.1 to 4.2.3 by @dependabot in https://github.com/yorkie-team/yorkie-js-sdk/pull/516 - Replace Text.onChanges with Document.subscribe by @easylogic in https://github.com/yorkie-team/yorkie-js-sdk/pull/519 ## [0.3.5] - 2023-05-22 ### Changed - Bump yaml and husky by @dependabot in https://github.com/yorkie-team/yorkie-js-sdk/pull/505 - Apply Integration of SDK and Admin RPC Server by @krapie in https://github.com/yorkie-team/yorkie-js-sdk/pull/512 ### Fixed - Fix quill example page image rendering issue by @JOOHOJANG in https://github.com/yorkie-team/yorkie-js-sdk/pull/504 - Add actor to ChangeInfo / update api-reference by @JOOHOJANG in https://github.com/yorkie-team/yorkie-js-sdk/pull/508 ## [0.3.4] - 2023-04-18 ### Added - Add the `document.subscribe(targetPath, (event) => {})`, which enables users to subscribe to a specific target in a document by @chacha912 in #487 - Add the `document.getValueByPath()` to get the value of a document by specifying the path by @chacha912 in #487 - Add benchmark tests for yorkie.Document by @JOOHOJANG in #494 - Add client sync mode, which enables users to pause and resume remote changes by @chacha912 in #495 - Add x-shard-key to APIs by @hackerwins in #486 - Add yorkie user agent in grpc metadata by @emplam27 in #488 ### Changed - Change Counter.increase() to remove the decimal part instead of using Math.floor() when a decimal number is passed as an argument by @JOOHOJANG in #496 ### Fixed - Return undefined when searching for presence of non-existent peer by @chacha912 in #493 ## [0.3.3] - 2023-03-24 ### Added - Add optimization option in production mode by @easylogic in https://github.com/yorkie-team/yorkie-js-sdk/pull/474 - Add RemoveDocument API by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/480 - Add pause and resume to Client by @hackerwins in https://github.com/yorkie-team/yorkie-js-sdk/pull/482 ### Changed - Clarify the ClientEvent that is sent to client.subscribe by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/464 - Rename initialization to initialized in PeersChangedEvent by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/478 ### Fixed ## [0.3.2] - 2023-02-27 ### Fixed - Fix ValueChange dependency by @krapie in https://github.com/yorkie-team/yorkie-js-sdk/pull/470 ## [0.3.1] - 2023-02-27 ### Added - Add `delete` and `empty` method to `Text` data type by @cozitive in https://github.com/yorkie-team/yorkie-js-sdk/pull/454 ### Changed - Reduce bundle size for production by @easylogic in https://github.com/yorkie-team/yorkie-js-sdk/pull/460 - Remove string dependency of RGATreeSplit value by @cozitive in https://github.com/yorkie-team/yorkie-js-sdk/pull/459 - Remove priority queue from RHTPQMap and entire project by @blurfx in https://github.com/yorkie-team/yorkie-js-sdk/pull/462 - Modify config to run the webpack-bundle-analyzer when using `profile:bundle` script by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/468 ### Fixed - Fix invalid indexOf SplayTree with single node by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/463 ## [0.3.0] - 2023-01-31 ### Changed - Merge Text and RichText by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/425 - Fix the value type of Counter and remove double type from Counter by @cozitive in https://github.com/yorkie-team/yorkie-js-sdk/pull/426 - Let Client.attach wait until stream initialization is finished by @cozitive in https://github.com/yorkie-team/yorkie-js-sdk/pull/440 - Add the toJS method to the ObjectProxy's handler by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/449 ### Fixed - Increase CRDT Counter in local change by @chacha912 in https://github.com/yorkie-team/yorkie-js-sdk/pull/441 ## [0.2.20] - 2022-12-30 ### Added - Add benchmark tests by @parkeunae in #358, #359 - Add CodeMirror6 integration example by @blurfx in #394 - Add vuejs-kanban example by @hackerwins in #399 - Add profile-stack example by @chacha912 #414 ### Changed - Bump socket.io-parser from 4.0.4 to 4.0.5 by @dependabot in #403 - Bump engine.io and socket.io by @dependabot in #407 - Bump express from 4.17.1 to 4.18.2 by @dependabot in #411 - Bump minimatch from 3.0.4 to 3.1.2 by @dependabot in #412 ### Fixed - Fix issues identified during iOS SDK development by @hackerwins in #398 - Use uint64 for date value by @hackerwins in #408 ## [0.2.19] - 2022-10-04 ### Changed - Rename keyOf to subPathOf: #391 ### Fixed - Remove unused nodeMapByCreatedAt in RHT: #386 - Change lamport from uint64 to int64: #390 ## [0.2.16] - 2022-08-16 ### Changed - Apply generics to support any types of properties in RichText: #354 ### Fixed - Send peers-changed event to the user who updated one's own presence: #371 - Fix the error that occurs when importing JS SDK in Next.js: #378 ## [0.2.15] - 2022-08-08 ### Added - Add snapshot event observer to Quill example: #365 ### Changed - Bump up proto files to the latest: #367 - Export Change APIs to generate history snapshots in admin: #368 - Change trie traverse parameter name to isTerminalIncluded: #363 ## [0.2.14] - 2022-08-03 ### Added - Reduce the number of paths of change events: #351 ### Fixed - Fix the problem local changes were applied twice: #356 - Update CodeMirror example to handle snapshot events: #360 ## [0.2.13] - 2022-07-27 ### Added - Support Quill embeds type to example project: #344 ### Fixed - Fix a bug when overwriting in Object: #349 ## [0.2.12] - 2022-07-20 ### Fixed - Fix incorrect index for nodes newly created then concurrently removed: #334 - Fix initial value bug in counter proxy: #333 ## [0.2.11] - 2022-07-14 ### Fixed - Escape string to return valid json: #330 ## [0.2.10] - 2022-07-06 ### Added - Implement array methods with objects: #327 ### Changed - Improve performance deletion in Text: #326 ### Fixed - Fix a bug when deleting blocks concurrently: #328 ## [0.2.9] - 2022-06-30 ### Changed - Implement inserting elements with splice() method: #318 ### Fixed - Revert text deletion improvements: #323 ## [0.2.8] - 2022-06-22 ### Added - Add read-only Array methods to ArrayProxy: #310 - Add Array.splice to ArrayProxy: #317 ### Changed - Use types more strictly in Document.update: #314 - Revert Document and Text: #47478e7 - Improve performance deletion in Text: #312, #316 ### Fixed - Remove size cache from RGATreeList and use SplayTree instead: #315 - Fix bug when setting non-string values in Presence: #311 ## [0.2.7] - 2022-05-25 ### Fixed - Expose constructors for user-accessible types ## [0.2.6] - 2022-05-25 ### Changed - Refine SDK interface: #300 ## [0.2.5] - 2022-05-12 ### Added - Add apiKey option: #295 ## [0.2.4] - 2022-05-10 ### Changed - Fix incorrect type hint in document.update handler: #289 - Rename Client Metadata to Presence: #293 ### Removed - Remove collection from document: #292 ## [0.2.3] - 2022-04-07 ### Changed - Bump up yorkie.proto to 0.2.3 ## [0.2.0] - 2021-12-19 2nd Year Release ### Added - Garbage collection for Text and RichText - Improve Client's metadata to be updatable - Improved Peer Awareness - Supporting TLS and Auth webhook ### Changed ### Removed ### Deprecated ## [0.1.11] - 2021-12-04 ### Fixed - Fix a bug where text nodes with tombstones were not counted: #263 ## [0.1.10] - 2021-11-16 ### Added - Add Array.toJS() and Object.toJS(): #237 ### Changed - Print log message more accurately: #5ce95c6, #de05448 ### Fixed - Fix quill example page: #260 ## [0.1.8] - 2021-10-21 ### Fixed - Hide clock from value of peers-changed event ## [0.1.7] - 2021-10-19 ### Added - Improve Client's metadata to be updatable: #240 ### Fixed - Fix reduce array size when deleting the same position: #229 - Handle special characters in keys of the path in change events: #247 ## [0.1.6] - 2021-07-24 ### Added - Add client.getStatus and client.Metadata: #162f2d5 ### Changed - Change getElementByID to return undefined if the element doesnt exist: #208 - Change esnext to ES2019 in compiler target option: #197 - Clean up JS SDK Reference: #181, #218, #219 ### Fixed - Fix a bug where deleted values from objects are revivded after GC: #216 ## [0.1.5] - 2021-06-05 ### Added - Add moveFront, moveAfter, moveLast, insertBefore to Array: #194, #203, #206, #207 - Add AuthInterceptor: #199 ### Fixed - Fix the concurrent editing issue of Move Operation: #196 - Fix a bug when pushing an array element in Array: #200 ### Removed - Delete RequestHeader in Protobuf ## [0.1.4] - 2021-05-15 ### Added ### Changed - Rename Document.getKey().toIDString() to Document.getKey(): #178 - Only display exported objects in JS SDK Reference: #179 - Rename Document to DocumentReplica: #10f2b72 ### Fixed - Fix a bug occurs when setting an empty string as a key: #182 - Fix a bug that the first element of an array was not deleted: #185 - Fix a bug that the size of the array increases when moving element: #186 - Fix a bug that did not move after pushing in same update: #188 ## [0.1.3] - 2021-04-04 ### Added - Pass paths to change events: #162 - Support null and undefined values: #157 - Add type parameter to Document: #148 ### Changed - Rename getRootObject to getRoot: #158 - Rename updateSelection to select: #170 ### Fixed - Fix error that occurred when deleting value using missing key or index: #149 - Fix invalid states of SplayTree: #153 - Remove errors that occur when insPrev does not exist: #166 ## [0.1.2] - 2021-02-14 ### Added - Add customizable metadata for peer awareness: #123 - Add garbage collection for Text and RichText: #137 ### Changed - Replace the type of client_id to a byte array to reduce payload: #133 ### Fixed - Fix a bug that attributes were lost when splitting RichText nodes: #136 ## [0.1.1] - 2021-01-01 ### Added - Add garbage collect for Container type: #101 ### Changed - Update libs to fix security vulnerability: #103 ### Fixed - Fix quill paragraph style errors: #104 - Change Logger to receive all values: #100 ## [0.1.0] - 2020-11-07 First public release ### Added - Add `Client` and `Document` - Add Custom CRDT data type `Text` for code editor - Add Custom CRDT data type `RichText` for WYSIWYG editor - Add examples: CodeMirror, Drawing, Quill - Support Network Auto Recovery - Add Peer Awareness - Add Custom CRDT data type `Counter` ### Changed ### Removed ### Deprecated [unreleased]: https://github.com/yorkie-team/yorkie-js-sdk/compare/v0.1.0...HEAD [0.1.0]: https://github.com/yorkie-team/yorkie-js-sdk/releases/tag/v0.1.0# ================================================ FILE: CLAUDE.md ================================================ # Yorkie JavaScript SDK pnpm monorepo with multiple packages for building collaborative editing applications. ## Development Commands ```sh pnpm i # Install (pnpm enforced) pnpm sdk build # Build core SDK pnpm sdk build:proto # Regenerate protobuf code (buf generate) pnpm lint # ESLint with auto-fix (zero warnings enforced) # Tests require a running Yorkie server: docker compose -f docker/docker-compose.yml up --build -d pnpm sdk test # Run all SDK tests pnpm sdk test test/integration/tree_test.ts # Specific test file ``` Package filters: `pnpm sdk`, `pnpm react`, `pnpm schema`, `pnpm prosemirror`, `pnpm devtools` ## After Making Changes Always run before submitting: ```sh pnpm lint && pnpm sdk build && pnpm sdk test ``` ## Project Docs - **Design docs**: `docs/design/` for architectural context. New docs use [TEMPLATE.md](docs/design/TEMPLATE.md). - **Task tracking**: `docs/tasks/active/` for in-progress, `docs/tasks/archive/` for completed. Use `YYYYMMDD--{todo,lessons}.md` pairs. - **Setup**: Husky manages git hooks. Run `pnpm install` to set up automatically. ## Packages - **`sdk`** (`@yorkie-js/sdk`) — Core: client, documents, CRDTs, protobuf API - **`react`** (`@yorkie-js/react`) — React hooks/providers - **`prosemirror`** (`@yorkie-js/prosemirror`) — ProseMirror binding - **`schema`** (`@yorkie-js/schema`) — ANTLR-based schema validation (`antlr/YorkieSchema.g4`) - **`devtools`** (`@yorkie-js/devtools`) — Chrome extension (Plasmo) - **`mcp`** — Model Context Protocol integration ## Gotchas - Protobuf source of truth is in [yorkie-team/yorkie](https://github.com/yorkie-team/yorkie/tree/main/api), not this repo - ESLint enforces zero warnings — CI and pre-commit hooks will reject any warnings - Tests use Vitest with custom-jsdom environment - Use `.only` on `describe`/`it` blocks to run specific tests within a file - Prettier config: single quotes, trailing commas, 80 char width ## Key Design Pattern Internal state uses CRDTs (`crdt/`). Users interact through JSON proxies (`json/`) that automatically generate operations on mutation. Every operation is tagged with a `TimeTicket` (lamport timestamp + actorID). ================================================ FILE: CONTRIBUTING.md ================================================ # Contributing ## How to contribute Yorkie is Apache 2.0 licensed and accepts contributions via GitHub pull requests. This document outlines some of the conventions on commit message formatting, contact points for developers, and other resources to help get contributions into Yorkie. ### Contacts If you have any questions along the way, please don’t hesitate to ask us - Discord: [Yorkie Discord](https://discord.com/invite/MVEAwz9sBy). ### Getting started - Fork the repository on GitHub - Read the [CONTRIBUTING.md](https://github.com/yorkie-team/yorkie-js-sdk/blob/main/CONTRIBUTING.md#building-yorkie-js-sdk) for build instructions ## Contribution flow This is a rough outline of what a contributor's workflow looks like: - Create a topic branch from where to base the contribution. This is usually main - Make commits of logical units - Make sure commit messages are in the proper format - Push changes in a topic branch to a personal fork of the repository - Submit a pull request to yorkie-team/yorkie-js-sdk - The PR must receive a LGTM from maintainers Thanks for contributing! ## Building and Testing the SDK ### Building yorkie-js-sdk For building yorkie-js-sdk, You'll first need Node.js installed(Node.js version 18+ and pnpm version 9.6+ are required). - [Node.js](https://nodejs.org/en) (version 18+) - [pnpm](https://pnpm.io/) (version 9.6+) ```bash # install packages # In the root directory of the repository. $ pnpm i # build # In the root directory of the repository. $ pnpm sdk build ``` To generate proto messages, we use protoc-gen-connect-es, which is a code generator plugin for Protocol Buffer compilers, like buf and protoc. It generates both clients and server definitions from Protocol Buffer schema. For more details, see [@connectrpc/protoc-gen-connect-es](https://github.com/connectrpc/connect-es/tree/main/packages/protoc-gen-connect-es). ```bash # generate proto messages and the service client stub classes # In the root directory of the repository. $ pnpm sdk build:proto ``` > Primary "source of truth" location of protobuf message is > in [yorkie](https://github.com/yorkie-team/yorkie/tree/main/api). We manage the messages in the repository. ### Testing yorkie-js-sdk with Yorkie and MongoDB. Start MongoDB, Yorkie in a terminal session. ```bash $ docker compose -f docker/docker-compose.yml up --build -d ``` Start the test in another terminal session. ```bash # In the root directory of the repository. $ pnpm sdk test ``` To get the latest server locally, run the command below then restart containers again: ```bash $ docker pull yorkieteam/yorkie:latest $ docker compose -f docker/docker-compose.yml up --build -d ``` To print specific console logs, delete the line `return false` in the `onConsoleLog()` function within [`vitest.config.ts`](https://github.com/yorkie-team/yorkie-js-sdk/blob/main/vitest.config.ts#L16). ```ts export default defineConfig({ test: { include: ['**/*_{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], exclude: ['**/bench/*'], coverage: { provider: 'istanbul', reporter: ['lcov', 'text-summary'], }, onConsoleLog() { return false; // <<------ delete here. }, environment: 'custom-jsdom', globals: true, testTimeout: isCI ? 5000 : Infinity, }, plugins: [tsconfigPaths()], }); ``` To run only specific suites or tests, use `.only` and execute the following command with the path to the desired test file. Refer to [Test Filtering](https://vitest.dev/guide/filtering#selecting-suites-and-tests-to-run) in `vitest` for more details: ```bash # In the root directory of the repository. $ pnpm sdk test {test file path} # e.g. pnpm sdk test integration/tree_test.ts ``` ### Starting co-editing example with CodeMirror Start MongoDB and Yorkie in a terminal session. ```bash $ docker compose -f docker/docker-compose.yml up --build -d ``` Start the webpack-dev-server in another terminal session. ```bash # In the root directory of the repository. $ pnpm sdk dev ``` Open the co-editing example page served by webpack-dev-server in your browser. ```bash $ open http://0.0.0.0:9000/ ``` ### Code style In order to format the code, we use [Husky](https://github.com/typicode/husky) to implement git hooks and [Prettier](https://github.com/prettier/prettier) Commit message validation is handled by Husky (`.husky/commit-msg`), which is set up automatically when you run `pnpm install`. ### Format of the commit message We follow a rough convention for commit messages that is designed to answer two questions: what changed and why. The subject line should feature the what and the body of the commit should describe the why. ``` Remove the synced seq when detaching the document To collect garbage like CRDT tombstones left on the document, all the changes should be applied to other replicas before GC. For this , if the document is no longer used by this client, it should be detached. ``` The first line is the subject and should be no longer than 70 characters, the second line is always blank, and other lines should be wrapped at 80 characters. This allows the message to be easier to read on GitHub as well as in various git tools. ## Contributor License Agreement We require that all contributors sign our Contributor License Agreement ("CLA") before we can accept the contribution. ### Signing the CLA Open a pull request ("PR") to any of our open source projects to sign the CLA. A bot will comment on the PR asking you to sign the CLA if you haven't already. Follow the steps given by the bot to sign the CLA. This will require you to log in with GitHub. We will only use this information for CLA tracking. You only have to sign the CLA once. Once you've signed the CLA, future contributions to the project will not require you to sign again. ### Why Require a CLA? Agreeing to a CLA explicitly states that you are entitled to provide a contribution, that you cannot withdraw permission to use your contribution at a later date, and that Yorkie Team has permission to use your contribution. This removes any ambiguities or uncertainties caused by not having a CLA and allows users and customers to confidently adopt our projects. At the same time, the CLA ensures that all contributions to our open source projects are licensed under the project's respective open source license, such as Apache-2.0 License. Requiring a CLA is a common and well-accepted practice in open source. Major open source projects require CLAs such as Apache Software Foundation projects, Facebook projects, Google projects, Python, Django, and more. Each of these projects remains licensed under permissive OSS licenses such as MIT, Apache, BSD, and more. ================================================ FILE: LICENSE ================================================ Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ================================================ FILE: MAINTAINING.md ================================================ # Maintaining yorkie-js-sdk ## Releasing a New Version Of Yorkie JS SDK ### 1. Update the version number. Update `version` in **all** publishable packages. All packages must be bumped together to keep versions in sync: - [packages/sdk/package.json](https://github.com/yorkie-team/yorkie-js-sdk/blob/main/packages/sdk/package.json#L3) - [packages/react/package.json](https://github.com/yorkie-team/yorkie-js-sdk/blob/main/packages/react/package.json#L3) - [packages/schema/package.json](https://github.com/yorkie-team/yorkie-js-sdk/blob/main/packages/schema/package.json#L3) - [packages/prosemirror/package.json](https://github.com/yorkie-team/yorkie-js-sdk/blob/main/packages/prosemirror/package.json#L3) - [packages/devtools/package.json](https://github.com/yorkie-team/yorkie-js-sdk/blob/main/packages/devtools/package.json#L4) > **Note:** The [npm-publish workflow](https://github.com/yorkie-team/yorkie-js-sdk/blob/main/.github/workflows/npm-publish.yml) publishes sdk, react, schema, and prosemirror on every release. If a package version is not bumped, npm publish will fail with a version conflict. ### 2. Write changelog of this version in [CHANGELOG.md](https://github.com/yorkie-team/yorkie-js-sdk/blob/main/CHANGELOG.md). Copy the release notes automatically generated by GitHub and categorize them as `Added`/`Changed`/`Fixed`. 1. Click on the `Releases` in GitHub. 2. Click on the `Draft a new release` button. 3. Create a new tag. 4. Click on the `Generate release notes` button. 5. Copy the content generated into the body and categorize each item. image ### 3. Create [Pull Request](https://github.com/yorkie-team/yorkie-js-sdk/commits/main/CHANGELOG.md) for changelog and merge it into main. ### 4. Publish [a new release](https://github.com/yorkie-team/yorkie-js-sdk/releases/new). After creating the release in step 2, click on the `Publish release` button. ### 5. Deploy When you publish the release in step 4, [GitHub action](https://github.com/yorkie-team/yorkie-js-sdk/blob/main/.github/workflows/npm-publish.yml) will deploy Yorkie JS SDK to [npm](https://www.npmjs.com/package/yorkie-js-sdk). After that, it will be updated on the [cdn](https://cdnjs.com/libraries/yorkie-js-sdk) after some time. ================================================ FILE: README.md ================================================ # Yorkie JavaScript SDK [![codecov](https://codecov.io/gh/yorkie-team/yorkie-js-sdk/branch/main/graph/badge.svg)](https://codecov.io/gh/yorkie-team/yorkie-js-sdk) The Yorkie JavaScript SDK implements the client-side libraries. ## How to use JS SDK To get started using Yorkie JavaScript SDK, see: https://yorkie.dev/docs/sdks/js-sdk ## Packages This is a pnpm monorepo. See each package's README for details: - [packages/sdk/](packages/sdk/README.md) — Core SDK (`@yorkie-js/sdk`): client, documents, CRDTs - [packages/react/](packages/react/README.md) — React hooks and providers (`@yorkie-js/react`) - [packages/prosemirror/](packages/prosemirror/README.md) — ProseMirror binding (`@yorkie-js/prosemirror`) - [packages/schema/](packages/schema/README.md) — Schema validation (`@yorkie-js/schema`) - [packages/devtools/](packages/devtools/README.md) — Chrome devtools extension (`@yorkie-js/devtools`) - [examples/](examples/README.md) — Sample apps using the SDK ## Documentation - [docs/design/](docs/design/README.md) — Architectural design documents - [docs/tasks/](docs/tasks/README.md) — Task tracking (active and archived) - [CHANGELOG.md](CHANGELOG.md) — Release notes - [MAINTAINING.md](MAINTAINING.md) — Release and maintenance procedures - [CLAUDE.md](CLAUDE.md) — Agent instructions for AI-assisted development ## Contributing See [CONTRIBUTING](CONTRIBUTING.md) for details on submitting patches and the contribution workflow. ## Contributors ✨ Thanks goes to these incredible people: ================================================ FILE: codecov.yml ================================================ coverage: status: project: off patch: off ================================================ FILE: docker/docker-compose-ci.yml ================================================ services: yorkie: image: "yorkieteam/yorkie:latest" container_name: "yorkie" command: [ "server", "--mongo-connection-uri", "mongodb://mongo:27017", ] restart: always ports: - "8080:8080" - "8081:8081" depends_on: - mongo extra_hosts: - "host.docker.internal:host-gateway" mongo: image: "mongo:latest" container_name: "mongo" restart: always ports: - "27017:27017" ================================================ FILE: docker/docker-compose.yml ================================================ services: yorkie: image: "yorkieteam/yorkie:latest" container_name: "yorkie" command: ["server", "--pprof-enabled"] restart: always ports: - "8080:8080" - "8081:8081" extra_hosts: - "host.docker.internal:host-gateway" ================================================ FILE: eslint.config.mjs ================================================ import eslint from '@eslint/js'; import tseslint from 'typescript-eslint'; import prettierPlugin from 'eslint-plugin-prettier'; import jsdocPlugin from 'eslint-plugin-jsdoc'; import { globalIgnores } from 'eslint/config'; export default tseslint.config( eslint.configs.recommended, tseslint.configs.recommended, tseslint.configs.eslintRecommended, { plugins: { prettier: prettierPlugin, jsdoc: jsdocPlugin, }, rules: { 'prettier/prettier': 'error', 'object-shorthand': ['error', 'always'], 'no-unreachable': 'error', }, }, { files: ['**/*.ts', '**/*.tsx'], languageOptions: { parser: tseslint.parser, }, rules: { '@typescript-eslint/no-non-null-assertion': 'off', '@typescript-eslint/no-explicit-any': 'off', '@typescript-eslint/ban-ts-comment': 'off', 'jsdoc/require-jsdoc': [ 'error', { contexts: ['MethodDefinition:not([accessibility="private"])'], require: { ClassDeclaration: true, }, checkConstructors: false, enableFixer: false, }, ], '@typescript-eslint/naming-convention': [ 'error', { selector: 'variable', format: ['camelCase', 'PascalCase'], leadingUnderscore: 'allowDouble', trailingUnderscore: 'allowDouble', }, ], '@typescript-eslint/no-restricted-types': [ 'error', { types: { null: 'Use undefined instead of null', }, }, ], '@typescript-eslint/array-type': [ 'error', { default: 'generic', }, ], '@typescript-eslint/no-this-alias': [ 'error', { allowDestructuring: true, allowedNames: ['node'], }, ], }, }, { files: ['examples/**/*'], rules: { 'jsdoc/require-jsdoc': 'off', }, }, globalIgnores([ // common '**/dist/*', '**/lib/*', // sdk 'packages/sdk/src/api/yorkie/v1/yorkie_grpc_web_pb.d.ts', 'packages/sdk/src/api/yorkie/v1/yorkie_pb.d.ts', 'packages/sdk/src/api/yorkie/v1/resources_grpc_web_pb.d.ts', 'packages/sdk/src/api/yorkie/v1/resources_pb.d.ts', 'packages/sdk/test/vitest.d.ts', // examples 'examples/**/*', // schema 'packages/schema/antlr', ]), ); ================================================ FILE: examples/CONTRIBUTING.md ================================================ # Contributing See [CONTRIBUTING.md](../CONTRIBUTING.md) for the general guides for contribution. ## Keeping create-yorkie-app in sync with examples When adding a new example, you have to update create-yorkie-app's [frameworks.ts](../tools//create-yorkie-app/frameworks.ts). Add FrameworkVariant to the variants array under appropriate category like: ```js export const FRAMEWORKS: Array = [ { name: 'vanilla', display: 'Vanilla', color: yellow, variants: [ { name: 'vanilla-codemirror6', display: 'codemirror', }, { name: 'vanilla-quill', display: 'quill', }, { name: 'profile-stack', display: 'profile-stack', }, // Your yorkie example in Vanilla JS { name: 'directory-name', display: 'display-name', }, ], }, // ... ]; ``` ================================================ FILE: examples/README.md ================================================ # Examples This directory contains examples of how to use Yorkie in various libraries and frameworks. ## Usage All examples need to run the Yorkie server. So you should run the server before running examples. ```bash # In the root directory of the repository. $ docker compose -f docker/docker-compose.yml up --build -d ``` The examples have own local dependencies. So you should install dependencies before running examples. ```bash # In the root directory of the repository. $ pnpm install ``` Then you can run the examples. ```bash # In the root directory of the repository. $ pnpm dev # Or in the directory of the example. $ pnpm dev ``` Open the browser and go to the URL that is printed in the terminal. ## Releasing an example to https://yorkie.dev To release an example, the example should export static files to `./dist` directory when running `pnpm build` in the root directory of the repository or `pnpm build` in the directory of the example. After the example is merged to the `main` branch, it is automatically deployed to https://yorkie.dev/yorkie-js-sdk/examples/{EXAMPLE-NAME}. ## Examples - [nextjs-presence](nextjs-presence/README.md) - [nextjs-scheduler](nextjs-scheduler/README.md) - [nextjs-todolist](nextjs-todolist/README.md) - [profile-stack](profile-stack/README.md) - [react-document-limit](react-document-limit/README.md) - [react-flow](react-flow/README.md) - [react-tldraw](react-tldraw/README.md) - [react-todomvc](react-todomvc/README.md) - [simultaneous-cursors](simultaneous-cursors/README.md) - [vanilla-codemirror6](vanilla-codemirror6/README.md) - [vanilla-document-limit](vanilla-document-limit/README.md) - [vanilla-prosemirror](vanilla-prosemirror/README.md) - [vanilla-quill](vanilla-quill/README.md) - [vuejs-kanban](vuejs-kanban/README.md) ## Contributing See [CONTRIBUTING.md](CONTRIBUTING.md) for guidance on contributing new examples. ================================================ FILE: examples/nextjs-presence/.gitignore ================================================ # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. # dependencies /node_modules /.pnp .pnp.js # testing /coverage # next.js /.next/ /out/ /dist/ # production /build # misc .DS_Store *.pem # debug npm-debug.log* yarn-debug.log* yarn-error.log* # local env files .env*.local # vercel .vercel # typescript *.tsbuildinfo next-env.d.ts ================================================ FILE: examples/nextjs-presence/README.md ================================================ # Yorkie Presence Rooms - Next.js Example

Live Preview

A Next.js application demonstrating real-time user presence tracking across multiple rooms using [Yorkie](https://yorkie.dev). ## 🚀 Features - **Multiple Rooms**: Switch between different chat rooms with independent presence tracking - **Real-time Updates**: See sessions join and leave in real-time - **Secure API Handling**: Secret keys are handled server-side via Next.js API Routes - **Beautiful UI**: Modern gradient design with smooth animations - **Responsive**: Works great on desktop and mobile devices ## 🔒 Security This example supports two deployment modes: ### 1. Full-Featured Mode (with API Routes) Uses **Next.js API Routes** to securely handle the Yorkie Admin API calls that require a secret key. The secret key is never exposed to the client browser. **Architecture:** - **Client Side**: Uses `NEXT_PUBLIC_YORKIE_API_KEY` for user authentication - **Server Side (API Route)**: Uses `YORKIE_API_SECRET_KEY` for admin operations - **API Endpoint**: `/api/channels` handles secure server-side requests to Yorkie's Admin API - **Features**: Shows real-time presence counts for all rooms ### 2. Static Hosting Mode (GitHub Pages, etc.) When deployed to static hosting platforms without a backend, the example still works with basic functionality. **Architecture:** - **Client Side Only**: Uses `NEXT_PUBLIC_YORKIE_API_KEY` for user authentication - **No Secret Key**: Leave `YORKIE_API_SECRET_KEY` empty - **Features**: Room presence tracking works, but initial presence counts show as 0 ## 📋 Prerequisites - Node.js 18+ and pnpm - A Yorkie account with API keys from [Yorkie Dashboard](https://yorkie.dev/dashboard) ## 🛠️ Setup 1. Clone the repository and navigate to this example: ```bash cd examples/nextjs-presence ``` 2. Install dependencies: ```bash pnpm install ``` 3. Create a `.env.local` file in the root of this example with your Yorkie credentials: **For Full-Featured Mode (with server):** ```bash # Client-side API key (safe to expose) NEXT_PUBLIC_YORKIE_API_KEY=your-api-key-here NEXT_PUBLIC_YORKIE_API_ADDR=https://api.yorkie.dev # Server-side secret key (NEVER expose to client) # Setting this enables API server features YORKIE_API_SECRET_KEY=your-secret-key-here ``` **For Static Hosting Mode (GitHub Pages, etc.):** ```bash # Client-side API key (safe to expose) NEXT_PUBLIC_YORKIE_API_KEY=your-api-key-here NEXT_PUBLIC_YORKIE_API_ADDR=https://api.yorkie.dev # Leave secret key empty for static hosting YORKIE_API_SECRET_KEY= ``` > ⚠️ **Important**: Never commit your `.env.local` file or expose your secret key in client-side code! ## 🏃 Running the Example ```bash # Development mode pnpm dev # Production build pnpm build pnpm start ``` Open [http://localhost:3000](http://localhost:3000) in multiple browser windows to see session counting in action! ## 📁 Project Structure ```text nextjs-presence/ ├── app/ │ ├── api/ │ │ └── channels/ │ │ └── route.ts # Server-side API route (uses secret key) │ ├── layout.tsx # Root layout │ ├── page.tsx # Main app component │ ├── App.css # App styles │ └── globals.css # Global styles ├── components/ │ ├── RoomSelector.tsx # Room selection component │ ├── RoomSelector.css │ ├── RoomView.tsx # Individual room view │ ├── RoomView.css │ ├── SessionCounter.tsx # Online session counter component │ └── SessionCounter.css ├── .env # Example env file ├── .env.production # Production env template ├── package.json ├── next.config.ts └── README.md ``` ## 🎯 How It Works 1. **Room Selection**: Users select a room from the main screen 2. **API Route**: Client fetches presence data from `/api/channels` (server-side) 3. **Server Request**: API route uses secret key to call Yorkie Admin API 4. **Real-time Connection**: Upon entering a room, client connects with `ChannelProvider` 5. **Presence Tracking**: `useChannel` hook tracks real-time session count 6. **Live Updates**: UI updates automatically as sessions join/leave ## 🔑 Environment Variables ### Client-side (NEXT*PUBLIC*\*) - `NEXT_PUBLIC_YORKIE_API_KEY`: Your Yorkie API key for client authentication - `NEXT_PUBLIC_YORKIE_API_ADDR`: Yorkie API server address ### Server-side - `YORKIE_API_SECRET_KEY`: Your Yorkie secret key (used in API routes only) ## 🧪 Testing 1. Open the app in multiple browser windows or tabs 2. Select different rooms in each window 3. Watch the session counters update in real-time 4. Try switching rooms to see independent tracking ## 📚 Learn More - [Yorkie Documentation](https://yorkie.dev/docs) - [Yorkie JS SDK](https://github.com/yorkie-team/yorkie-js-sdk) - [Next.js Documentation](https://nextjs.org/docs) - [Next.js API Routes](https://nextjs.org/docs/app/building-your-application/routing/route-handlers) ## 🤝 Contributing Contributions are welcome! Please check out our [contributing guidelines](../../CONTRIBUTING.md). ## 📄 License Apache License 2.0 ================================================ FILE: examples/nextjs-presence/app/App.css ================================================ .app { display: flex; flex-direction: column; min-height: 100vh; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); } .app-header { text-align: center; padding: 2rem 1rem; color: white; background: rgba(0, 0, 0, 0.2); backdrop-filter: blur(10px); } .app-header h1 { font-size: 2.5rem; margin-bottom: 0.5rem; font-weight: 700; } .app-header p { font-size: 1.1rem; opacity: 0.9; } .app-main { flex: 1; display: flex; align-items: center; justify-content: center; padding: 2rem 1rem; } .app-footer { text-align: center; padding: 1.5rem 1rem; color: white; background: rgba(0, 0, 0, 0.2); backdrop-filter: blur(10px); font-size: 0.9rem; } .app-footer a { color: white; text-decoration: underline; transition: opacity 0.2s; } .app-footer a:hover { opacity: 0.8; } @media (max-width: 768px) { .app-header h1 { font-size: 2rem; } .app-header p { font-size: 1rem; } .app-main { padding: 1rem; } } ================================================ FILE: examples/nextjs-presence/app/api/channels/route.ts ================================================ export async function POST(request: Request) { try { // Check if secret key is available (required for admin API) const secretKey = process.env.YORKIE_API_SECRET_KEY; if (!secretKey) { return Response.json( { error: 'API server features not available in static hosting mode' }, { status: 503 }, ); } const { channel_keys, include_sub_path } = await request.json(); const url = `${process.env.NEXT_PUBLIC_YORKIE_API_ADDR}/yorkie.v1.AdminService/GetChannels`; const response = await fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json', Authorization: `API-Key ${secretKey}`, }, body: JSON.stringify({ channel_keys, include_sub_path, }), }); if (!response.ok) { throw new Error(`Failed to fetch channels: ${response.statusText}`); } const data = await response.json(); return Response.json(data); } catch (error) { console.error('Error fetching channels:', error); return Response.json( { error: 'Failed to fetch channels' }, { status: 500 }, ); } } ================================================ FILE: examples/nextjs-presence/app/globals.css ================================================ * { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } button { font-family: inherit; } ================================================ FILE: examples/nextjs-presence/app/layout.tsx ================================================ import type { Metadata } from 'next'; import './globals.css'; export const metadata: Metadata = { title: 'Yorkie Presence Rooms', description: 'Real-time user presence tracking across multiple rooms using Yorkie', }; export default function RootLayout({ children, }: Readonly<{ children: React.ReactNode; }>) { return ( {children} ); } ================================================ FILE: examples/nextjs-presence/app/page.tsx ================================================ 'use client'; import { useEffect, useState } from 'react'; import { YorkieProvider } from '@yorkie-js/react'; import RoomSelector from '@/components/RoomSelector'; import RoomView from '@/components/RoomView'; import { ROOMS, ROOM_CATEGORIES } from '@/lib/rooms'; import './App.css'; function App() { const [currentRoom, setCurrentRoom] = useState(null); const [sessions, setSessions] = useState< { key: string; sessionCount: number }[] >([]); useEffect(() => { if (currentRoom !== null) { return; } const fetchChannels = async () => { try { const categoryKeys = ROOM_CATEGORIES.map((category) => category.id); const response = await fetch('/api/channels', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ channel_keys: [...categoryKeys, ...ROOMS.map((room) => room.key)], include_sub_path: true, }), }); const data = await response.json(); const roomSessions = ROOMS.map((room) => { const roomSessionCount = data.channels?.find((ch) => ch.key === room.key)?.sessionCount ?? 0; return { key: room.key, sessionCount: roomSessionCount, }; }); const categorySessions = ROOM_CATEGORIES.map((category) => { const categoryKey = `${category.id}`; const categorySessionCount = data.channels?.find((ch) => ch.key === categoryKey) ?.sessionCount ?? 0; return { key: categoryKey, sessionCount: categorySessionCount, }; }); // Calculate total from all category sessionCounts const totalSessionCount = categorySessions.reduce( (acc, cat) => acc + cat.sessionCount, 0, ); const totalSession = { key: 'total', sessionCount: totalSessionCount, }; setSessions([totalSession, ...categorySessions, ...roomSessions]); } catch (error) { console.error('Failed to fetch channels:', error); // Fallback to zero presence counts on error (e.g., static hosting mode) const fallbackSessions = ROOMS.map((room) => ({ key: room.key, sessionCount: 0, })); const fallbackCategorySessions = ROOM_CATEGORIES.map((category) => ({ key: category.id, sessionCount: 0, })); const fallbackTotal = { key: 'total', sessionCount: 0, }; setSessions([ fallbackTotal, ...fallbackCategorySessions, ...fallbackSessions, ]); } }; fetchChannels(); }, [currentRoom]); return (

Yorkie Presence Rooms

Real-time user presence tracking across multiple rooms

{currentRoom ? ( setCurrentRoom(null)} /> ) : ( )}

Open multiple browser windows to see real-time presence updates! •{' '} View on GitHub

); } export default App; ================================================ FILE: examples/nextjs-presence/components/RoomSelector.css ================================================ .room-selector { max-width: 900px; width: 100%; padding: 2rem; background: white; border-radius: 20px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); } .room-selector-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; } .room-selector-title-wrapper { flex: 1; } .room-selector h2 { font-size: 2rem; margin: 0 0 0.5rem 0; color: #333; text-align: left; } .room-selector p { text-align: left; color: #888; margin: 0; font-size: 1rem; } .room-selector-badge-wrapper { display: flex; flex-direction: column; align-items: center; gap: 0.4rem; flex-shrink: 0; } .room-selector-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 16px; background: rgba(102, 126, 234, 0.15); backdrop-filter: blur(10px); border: 2px solid rgba(102, 126, 234, 0.3); border-radius: 20px; font-size: 1rem; font-weight: 700; color: #667eea; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); transition: all 0.3s ease; } .room-selector-label { font-size: 0.75rem; color: #999; font-weight: 400; opacity: 0.7; letter-spacing: 0.01em; text-transform: lowercase; } .room-selector-subtitle { text-align: center; color: #666; margin-bottom: 2rem; font-size: 1.1rem; } .room-category { margin-bottom: 2.5rem; padding: 1.5rem; background: linear-gradient(to bottom, #f8f9fc 0%, #ffffff 100%); border-radius: 16px; border: 1px solid #e8eaf0; box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04); transition: all 0.3s ease; } .room-category:hover { box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); } .room-category:last-of-type { margin-bottom: 2rem; } .room-category-header { margin-bottom: 1.5rem; padding-bottom: 1rem; border-bottom: 2px solid #e8eaf0; } .room-category-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; } .room-category-name { flex: 1; } .room-category-header h3 { margin: 0 0 0.5rem 0; font-size: 1.5rem; color: #333; font-weight: 600; } .room-category-name p { margin: 0; color: #666; font-size: 0.95rem; } .room-category-badge-wrapper { display: flex; flex-direction: column; align-items: center; gap: 0.35rem; flex-shrink: 0; } .room-category-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 32px; padding: 0 12px; background: rgba(102, 126, 234, 0.15); backdrop-filter: blur(10px); border: 2px solid rgba(102, 126, 234, 0.3); border-radius: 16px; font-size: 0.9rem; font-weight: 700; color: #667eea; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); transition: all 0.3s ease; } .room-category-label { font-size: 0.7rem; color: #999; font-weight: 400; opacity: 0.7; letter-spacing: 0.01em; text-transform: lowercase; } .room-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin-bottom: 1rem; } .room-card { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border: none; border-radius: 12px; padding: 1rem; cursor: pointer; transition: all 0.3s ease; color: white; text-align: left; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); position: relative; min-height: 80px; display: flex; flex-direction: column; justify-content: space-between; } .room-card:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2); } .room-card:active { transform: translateY(-1px); } .room-card-header { position: relative; display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 0.5rem; } .room-card-header h3 { font-size: 1.1rem; margin: 0; font-weight: 600; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .room-card-badge-wrapper { display: flex; flex-direction: column; align-items: center; gap: 0.25rem; flex-shrink: 0; margin-left: 0.5rem; } .room-card-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; height: 24px; padding: 0 8px; background: rgba(255, 255, 255, 0.25); backdrop-filter: blur(10px); border: 2px solid rgba(255, 255, 255, 0.3); border-radius: 12px; font-size: 0.75rem; font-weight: 700; color: white; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); transition: all 0.3s ease; } .room-card-label { font-size: 0.6rem; color: rgba(255, 255, 255, 0.6); font-weight: 400; opacity: 0.8; letter-spacing: 0.01em; text-transform: lowercase; } .room-card-description { color: rgba(255, 255, 255, 0.9); margin-bottom: 1rem; font-size: 0.95rem; line-height: 1.5; } .room-card-action { display: flex; justify-content: flex-start; align-items: center; gap: 0.5rem; opacity: 0.9; font-weight: 600; font-size: 0.85rem; letter-spacing: 0.02em; transition: all 0.2s ease; } .room-card:hover .room-card-action { opacity: 1; gap: 0.7rem; } .room-card-action::before { content: '▶'; font-size: 0.7rem; transition: transform 0.2s ease; } .room-card:hover .room-card-action::before { transform: translateX(2px); } .room-selector-tip { text-align: center; padding: 1rem; background: #f8f9fa; border-radius: 10px; color: #666; font-size: 0.95rem; } @media (prefers-color-scheme: dark) { .room-selector { background: #1a1a1a; } .room-selector h2 { color: #fff; } .room-selector-badge { background: rgba(102, 126, 234, 0.25); border-color: rgba(102, 126, 234, 0.4); color: #9db4ff; } .room-selector-label { color: #888; opacity: 0.8; } .room-selector-subtitle { color: #aaa; } .room-category { background: linear-gradient(to bottom, #2a2a2a 0%, #1f1f1f 100%); border-color: #333; box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3); } .room-category:hover { box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5); } .room-category-header { border-bottom-color: #333; } .room-category-header h3 { color: #fff; } .room-category-badge { background: rgba(102, 126, 234, 0.25); border-color: rgba(102, 126, 234, 0.4); color: #9db4ff; } .room-category-label { color: #666; opacity: 0.8; } .room-category-name p { color: #aaa; } .room-selector-tip { background: #2a2a2a; color: #aaa; } } @media (max-width: 768px) { .room-selector { padding: 1.5rem; } .room-selector-header { flex-direction: column; align-items: flex-start; gap: 1.5rem; margin-bottom: 1.5rem; } .room-selector h2 { font-size: 1.5rem; } .room-selector-subtitle { font-size: 0.9rem; } .room-selector-badge-wrapper { align-items: flex-start; } .room-selector-badge { font-size: 0.95rem; min-width: 50px; height: 36px; padding: 0 14px; } .room-selector-label { font-size: 0.7rem; } .room-category { padding: 1rem; margin-bottom: 2rem; } .room-grid { grid-template-columns: 1fr; gap: 1rem; } .room-card { padding: 1.25rem; } } ================================================ FILE: examples/nextjs-presence/components/RoomSelector.tsx ================================================ import { ROOMS, ROOM_CATEGORIES } from '@/lib/rooms'; import './RoomSelector.css'; interface RoomSelectorProps { onRoomSelect: (roomId: string) => void; sessions: { key: string; sessionCount: number }[]; } function RoomSelector({ onRoomSelect, sessions }: RoomSelectorProps) { const totalCount = sessions.find((p) => p.key === 'total')?.sessionCount ?? 0; return (

Choose a Room

Join a room to see live online sessions

{totalCount} online in total
{ROOM_CATEGORIES.map((category) => { const categoryRooms = ROOMS.filter( (room) => room.categoryId === category.id, ); const categoryKey = `${category.id}`; const categorySessionCount = sessions.find((p) => p.key === categoryKey)?.sessionCount || 0; return (

{category.emoji} {category.name}

{category.description}

{categorySessionCount} online in category
{categoryRooms.map((room) => { const sessionCount = sessions.find((p) => p.key === room.key)?.sessionCount || 0; return ( ); })}
); })}
💡 Tip: Open multiple browser windows to test presence tracking!
); } export default RoomSelector; ================================================ FILE: examples/nextjs-presence/components/RoomView.css ================================================ .room-view { max-width: 800px; width: 100%; background: white; border-radius: 20px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); overflow: hidden; } .room-view.error { padding: 2rem; text-align: center; } .room-view-header { padding: 1.5rem 2rem; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); } .back-button { background: rgba(255, 255, 255, 0.2); border: 1px solid rgba(255, 255, 255, 0.3); color: white; padding: 0.5rem 1rem; border-radius: 8px; cursor: pointer; font-size: 0.95rem; font-weight: 500; transition: all 0.2s; backdrop-filter: blur(10px); } .back-button:hover { background: rgba(255, 255, 255, 0.3); transform: translateX(-2px); } .room-view-content { padding: 2rem; } .room-info { text-align: center; margin-bottom: 2rem; } .room-info h2 { font-size: 2rem; margin-bottom: 0.5rem; color: #333; } .room-info p { color: #666; font-size: 1.1rem; } .room-instructions { background: #f8f9fa; border-radius: 12px; padding: 1.5rem; margin-top: 2rem; } .room-instructions h3 { color: #333; margin-bottom: 1rem; font-size: 1.3rem; } .room-instructions ul { list-style: none; padding: 0; } .room-instructions li { padding: 0.5rem 0; color: #555; font-size: 1rem; line-height: 1.6; } .room-demo-area { margin-top: 2rem; padding: 1.5rem; background: linear-gradient( 135deg, rgba(102, 126, 234, 0.1) 0%, rgba(118, 75, 162, 0.1) 100% ); border-radius: 12px; border: 2px solid rgba(102, 126, 234, 0.2); } .room-demo-area h3 { color: #667eea; margin-bottom: 0.75rem; font-size: 1.3rem; } .room-demo-area p { color: #555; margin-bottom: 0.5rem; line-height: 1.6; } .room-demo-area code { background: rgba(102, 126, 234, 0.1); padding: 0.2rem 0.5rem; border-radius: 4px; font-family: 'Courier New', monospace; color: #764ba2; font-weight: 600; } .demo-hint { font-size: 0.9rem; color: #777; margin-top: 0.5rem; } @media (prefers-color-scheme: dark) { .room-view { background: #1a1a1a; } .room-info h2 { color: #fff; } .room-info p { color: #aaa; } .room-instructions { background: #2a2a2a; } .room-instructions h3 { color: #fff; } .room-instructions li { color: #ccc; } .room-demo-area { background: rgba(102, 126, 234, 0.15); border-color: rgba(102, 126, 234, 0.3); } .room-demo-area p { color: #ccc; } .room-demo-area code { background: rgba(102, 126, 234, 0.2); color: #a78bfa; } .demo-hint { color: #999; } } @media (max-width: 768px) { .room-view-header { padding: 1rem 1.5rem; } .room-view-content { padding: 1.5rem; } .room-info h2 { font-size: 1.5rem; } .room-instructions, .room-demo-area { padding: 1rem; } .room-instructions h3, .room-demo-area h3 { font-size: 1.1rem; } } ================================================ FILE: examples/nextjs-presence/components/RoomView.tsx ================================================ 'use client'; import { ChannelProvider } from '@yorkie-js/react'; import { ROOMS } from '@/lib/rooms'; import SessionCounter from './SessionCounter'; import './RoomView.css'; interface RoomViewProps { roomId: string; onLeave: () => void; } function RoomView({ roomId, onLeave }: RoomViewProps) { const room = ROOMS.find((r) => r.id === roomId); if (!room) { return (

Room not found

); } return (

{room.name}

{room.description}

Try it out!

  • 🪟 Open this page in multiple browser windows or tabs
  • 👀 Watch the user count update in real-time as you join/leave
  • 🏠 Switch rooms to see independent presence tracking

You're connected!

This is room {room.id} with channel key:{' '} {room.key}

Each room has its own channel key, allowing independent session counting.

); } export default RoomView; ================================================ FILE: examples/nextjs-presence/components/SessionCounter.css ================================================ .session-counter { display: flex; flex-direction: column; align-items: center; padding: 2rem; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border-radius: 15px; color: white; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2); margin: 2rem 0; min-height: 180px; justify-content: center; position: relative; } .session-counter.loading, .session-counter.error { flex-direction: row; gap: 1rem; justify-content: center; align-items: center; min-height: 120px; } .session-counter.error { background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%); } .spinner { width: 24px; height: 24px; border: 3px solid rgba(255, 255, 255, 0.3); border-top-color: white; border-radius: 50%; animation: spin 1s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } .error-icon { font-size: 1.5rem; } .session-status { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 1rem; font-size: 0.9rem; font-weight: 500; opacity: 0.9; } .status-indicator { width: 10px; height: 10px; border-radius: 50%; background: #10b981; box-shadow: 0 0 10px rgba(16, 185, 129, 0.5); animation: pulse 2s ease-in-out infinite; } @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } } .session-count { text-align: center; transition: transform 0.3s ease; } .session-count.increase { animation: countIncrease 0.6s ease; } .session-count.decrease { animation: countDecrease 0.6s ease; } @keyframes countIncrease { 0% { transform: scale(1); } 50% { transform: scale(1.2); } 100% { transform: scale(1); } } @keyframes countDecrease { 0% { transform: scale(1); } 50% { transform: scale(0.9); } 100% { transform: scale(1); } } .count-value { font-size: 4rem; font-weight: 700; line-height: 1; margin-bottom: 0.5rem; text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2); } .count-label { font-size: 1.2rem; font-weight: 500; opacity: 0.9; text-transform: uppercase; letter-spacing: 1px; } .session-change { position: absolute; bottom: -1rem; animation: slideUp 0.5s ease; } @keyframes slideUp { from { transform: translateY(10px); opacity: 0; } to { transform: translateY(0); opacity: 1; } } .change-badge { display: inline-block; padding: 0.5rem 1rem; border-radius: 20px; font-size: 0.9rem; font-weight: 600; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2); } .change-badge.join { background: #10b981; color: white; } .change-badge.leave { background: #f59e0b; color: white; } /* Simple counter styles */ .simple-counter { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 1rem; background: #10b981; color: white; border-radius: 20px; font-weight: 600; box-shadow: 0 2px 10px rgba(16, 185, 129, 0.3); } .online-dot { width: 8px; height: 8px; background: white; border-radius: 50%; animation: pulse 2s ease-in-out infinite; } @media (max-width: 768px) { .session-counter { padding: 1.5rem; margin: 1rem 0; } .count-value { font-size: 3rem; } .count-label { font-size: 1rem; } .change-badge { font-size: 0.8rem; padding: 0.4rem 0.8rem; } } ================================================ FILE: examples/nextjs-presence/components/SessionCounter.tsx ================================================ 'use client'; import { useChannel, useChannelSessionCount } from '@yorkie-js/react'; import { useEffect, useState } from 'react'; import './SessionCounter.css'; function SessionCounter() { const { sessionCount, loading, error } = useChannel(); const [prevCount, setPrevCount] = useState(0); const [isIncreasing, setIsIncreasing] = useState(null); useEffect(() => { if (!loading && sessionCount !== prevCount) { setTimeout(() => { setIsIncreasing(sessionCount > prevCount); setPrevCount(sessionCount); }, 0); // Clear the animation state after animation completes const timer = setTimeout(() => { setIsIncreasing(null); }, 600); return () => clearTimeout(timer); } }, [sessionCount, loading, prevCount]); if (loading) { return (

Connecting to room...

); } if (error) { return (
⚠️

Error: {error.message}

); } return (
Live
{sessionCount}
{sessionCount === 1 ? 'user online' : 'users online'}
{isIncreasing !== null && (
{isIncreasing ? ( 👋 Someone joined! ) : ( 👋 Someone left )}
)}
); } // Alternative simpler component using only useChannel hook export function SimpleSessionCounter() { const sessionCount = useChannelSessionCount(); return (
{sessionCount} online
); } export default SessionCounter; ================================================ FILE: examples/nextjs-presence/eslint.config.mjs ================================================ import nextConfig from 'eslint-config-next'; const eslintConfig = [...nextConfig]; export default eslintConfig; ================================================ FILE: examples/nextjs-presence/lib/rooms.ts ================================================ // Room category definition export interface RoomCategory { id: string; name: string; emoji: string; description: string; } // Individual room definition export interface Room { id: string; name: string; description: string; key: string; categoryId: string; } // Room categories export const ROOM_CATEGORIES: RoomCategory[] = [ { id: 'general', name: 'General', emoji: '💬', description: 'General discussion', }, { id: 'development', name: 'Development', emoji: '💻', description: 'Tech talk and coding', }, { id: 'random', name: 'Random', emoji: '🎲', description: 'Off-topic chat', }, { id: 'music', name: 'Music', emoji: '🎵', description: 'Share your favorite tunes', }, ]; // Generate rooms with hierarchical structure const generateRooms = (): Room[] => { const rooms: Room[] = []; const roomsPerCategory = 4; ROOM_CATEGORIES.forEach((category) => { for (let i = 1; i <= roomsPerCategory; i++) { rooms.push({ id: `${category.id}.${i}`, name: `${category.emoji} ${category.name} #${i}`, description: category.description, key: `${category.id}.${i}`, categoryId: category.id, }); } }); return rooms; }; // Available rooms with hierarchical structure export const ROOMS = generateRooms(); ================================================ FILE: examples/nextjs-presence/next.config.ts ================================================ import type { NextConfig } from 'next'; const nextConfig: NextConfig = { output: 'export', distDir: 'dist', basePath: process.env.NEXT_PUBLIC_BASE_PATH || '', assetPrefix: process.env.NEXT_PUBLIC_BASE_PATH || '', reactStrictMode: false, }; export default nextConfig; ================================================ FILE: examples/nextjs-presence/package.json ================================================ { "name": "nextjs-presence", "version": "0.1.0", "private": true, "scripts": { "dev": "next dev", "build": "next build", "start": "next start", "lint": "eslint ." }, "dependencies": { "@yorkie-js/react": "workspace:*", "@yorkie-js/sdk": "workspace:*", "next": "16.2.6", "react": "19.2.1", "react-dom": "19.2.1" }, "devDependencies": { "@types/node": "^24.10.1", "@types/react": "^19.2.7", "@types/react-dom": "^19.2.3", "eslint": "^9.39.1", "eslint-config-next": "16.2.6", "typescript": "^5.9.3" } } ================================================ FILE: examples/nextjs-presence/tsconfig.json ================================================ { "compilerOptions": { "target": "ESNext", "lib": [ "dom", "dom.iterable", "esnext" ], "allowJs": false, "skipLibCheck": true, "strict": false, "noEmit": true, "esModuleInterop": true, "module": "EsNext", "moduleResolution": "bundler", "resolveJsonModule": true, "isolatedModules": true, "jsx": "react-jsx", "incremental": true, "plugins": [ { "name": "next" } ], "paths": { "@/*": [ "./*" ], "react": [ "./node_modules/@types/react" ], "@yorkie-js/sdk/src/*": [ "../../packages/sdk/src/*" ] } }, "include": [ "**/*.ts", "**/*.tsx", ".next/types/**/*.ts", "next-env.d.ts", "dist/types/**/*.ts", ".next/dev/types/**/*.ts", "dist/dev/types/**/*.ts" ], "exclude": [ "node_modules" ] } ================================================ FILE: examples/nextjs-scheduler/.gitignore ================================================ # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. # dependencies /node_modules /.pnp .pnp.js # testing /coverage # next.js /.next/ /out/ # production /build # misc .DS_Store *.pem # debug npm-debug.log* yarn-debug.log* yarn-error.log* # local env files .env*.local # vercel .vercel # typescript *.tsbuildinfo next-env.d.ts ================================================ FILE: examples/nextjs-scheduler/README.md ================================================ # Yorkie Next.js scheduler Example

Live Preview

Next.js scheduler ## How to run demo At project root, run below command to start Yorkie server. ```bash $ docker compose -f docker/docker-compose.yml up --build -d ``` Then install dependencies and run the demo. ```bash # In the root directory of the repository. $ pnpm install ``` Now you can run the demo. ```bash # In the root directory of the repository. $ pnpm nextjs-scheduler dev # Or in the directory of the example. $ pnpm dev ``` ================================================ FILE: examples/nextjs-scheduler/app/Scheduler.tsx ================================================ 'use client'; import React, { useEffect, useMemo, useState } from 'react'; import './styles/calendar.css'; import styles from './styles/page.module.css'; import { EditorPropsTypes, CalendarValue } from './utils/types'; import { parseDate } from './utils/parseDate'; import Calendar from 'react-calendar'; /** * handle calendar component */ export default function Scheduler(props: EditorPropsTypes) { const { content, actions } = props; const [date, onChange] = useState(new Date()); const [text, setText] = useState(''); const currentDate = date ? parseDate(new Date(date.toString())) : ''; const existing = useMemo( () => content.find((item) => item.date === currentDate), [content, currentDate], ); // If a date with an event is selected and editor empty, preload text useEffect(() => { if (existing && text === '') { setText(existing.text); } if (!existing) { setText(''); } // eslint-disable-next-line react-hooks/exhaustive-deps }, [existing?.date]); const canSave = !!currentDate && text.trim().length > 0; const handleSave = () => { if (!canSave) return; if (existing) { actions.updateContent(currentDate, text.trim()); } else { actions.addContent(currentDate, text.trim()); } setText(''); }; const handleDelete = () => { if (existing) { actions.deleteContent(currentDate); setText(''); } }; return (
date.toLocaleString('en', { day: 'numeric' }) } tileContent={({ date }) => { const matched = content.some( (item) => item.date === parseDate(date), ); return matched ? : null; }} />

Selected: {currentDate || '—'}

Selected SplayTree Node

SplayTree

LLRBTree

================================================ FILE: packages/sdk/package.json ================================================ { "name": "@yorkie-js/sdk", "version": "0.7.10-rc2", "description": "Yorkie JS SDK", "main": "./src/yorkie.ts", "publishConfig": { "access": "public", "main": "./dist/yorkie-js-sdk.js", "typings": "./dist/yorkie-js-sdk.d.ts" }, "files": [ "dist", "README.md" ], "scripts": { "build": "tsc && vite build -c vite.build.ts", "build:proto": "npx buf generate", "build:docs": "typedoc", "build:ghpages": "mkdir -p ghpages/examples && cp -r docs ghpages/api-reference && find ../../examples -name 'dist' -type d -exec sh -c 'cp -r {} ghpages/examples/$(basename $(dirname {}))' \\;", "dev": "vite", "test": "vitest run", "test:watch": "vitest", "test:bench": "vitest bench", "test:ci": "vitest run --coverage", "test:yorkie.dev": "TEST_RPC_ADDR=https://api.yorkie.dev vitest run --coverage", "prepare": "pnpm build", "lint": "eslint . --fix --max-warnings=0 --ext .ts,.tsx --flag v10_config_lookup_from_file" }, "engines": { "node": "^20.19.0 || >=22.12.0", "npm": ">=7.1.0", "pnpm": ">=9.6.0" }, "repository": { "type": "git", "url": "git+https://github.com/yorkie-team/yorkie-js-sdk.git" }, "author": { "name": "hackerwins", "email": "susukang98@gmail.com" }, "license": "Apache-2.0", "bugs": { "url": "https://github.com/yorkie-team/yorkie-js-sdk/issues" }, "homepage": "https://github.com/yorkie-team/yorkie-js-sdk#readme", "devDependencies": { "@buf/googleapis_googleapis.bufbuild_es": "2.10.1-20251126203132-004180b77378.1", "@bufbuild/buf": "^1.61.0", "@bufbuild/protoc-gen-es": "^2.10.1", "@types/express": "^5.0.6", "@types/google-protobuf": "^3.15.12", "@vitest/coverage-istanbul": "^4.0.15", "@vitest/coverage-v8": "^4.0.15", "axios": "^1.15.2", "express": "^5.2.1", "prettier": "^3.7.4", "ts-node": "^10.9.2", "typedoc": "^0.28.15", "typescript": "^5.9.3", "typescript-transform-paths": "^3.5.5", "vite": "^7.3.2", "vite-plugin-commonjs": "^0.10.4", "vite-plugin-dts": "^4.5.4", "vite-tsconfig-paths": "^5.1.4", "vitest": "^4.0.15" }, "dependencies": { "@bufbuild/protobuf": "^2.10.1", "@connectrpc/connect": "^2.1.1", "@connectrpc/connect-web": "^2.1.1", "@yorkie-js/schema": "workspace:*" } } ================================================ FILE: packages/sdk/public/counter.html ================================================ Counter Example
================================================ FILE: packages/sdk/public/devtool/network.js ================================================ /** * `Network` is a class that manages the network status. */ export default class Network { constructor(elem) { this.isOnline = false; this.elem = elem; } /** * Show offline status. */ showOffline() { this.isOnline = false; this.elem.innerHTML = ' '; } /** * Show online status. */ showOnline() { this.isOnline = true; this.elem.innerHTML = ' '; } /** * Listen to the network status changes. */ statusListener = (event) => { if (this.isOnline && event.value === 'disconnected') { this.showOffline(); } else if (!this.isOnline && event.value === 'connected') { this.showOnline(); } }; } ================================================ FILE: packages/sdk/public/devtool/object.css ================================================ .devtool-root-holder, .devtool-ops-holder { display: flex; flex-direction: column; height: 100%; overflow-y: scroll; font-size: 14px; font-weight: 400; } .devtool-root-holder .object-content { margin-left: 24px; } .devtool-root-holder .object-key-val, .devtool-root-holder .object-val { position: relative; } .devtool-root-holder .object-key-val:not(:last-of-type):before, .devtool-root-holder .object-val:not(:last-of-type):before { border: 1px dashed #ddd; border-width: 0 0 0 1px; content: ''; position: absolute; bottom: -12px; left: -18px; top: 12px; } .devtool-root-holder .object-key-val:after, .devtool-root-holder .object-val:after { border-bottom: 1px dashed #ddd; border-left: 1px dashed #ddd; border-radius: 0 0 0 4px; border-right: 0 dashed #ddd; border-top: 0 dashed #ddd; content: ''; height: 16px; position: absolute; top: 0; width: 16px; height: 32px; top: -16px; left: -18px; } .devtool-root-holder > .object-key-val:after, .devtool-root-holder > .object-val:after { content: none; } .devtool-root-holder .object-val > span, .devtool-root-holder .object-key-val > span, .devtool-root-holder .object-val label, .devtool-root-holder .object-key-val label { border: 1px solid #ddd; border-radius: 4px; display: inline-block; font-size: 14px; font-weight: 500; letter-spacing: 0 !important; line-height: 1.72; margin-bottom: 16px; padding: 6px 8px; } .devtool-root-holder label { cursor: pointer; } .devtool-root-holder .object-key-val label:before { content: '▾'; margin-right: 4px; } .devtool-root-holder input[type='checkbox']:checked + label:before { content: '▸'; } .devtool-root-holder input[type='checkbox']:checked ~ .object-content { display: none; } .devtool-root-holder input[type='checkbox'] { display: none; } .devtool-root-holder .timeticket, .devtool-ops-holder .timeticket { border-radius: 4px; background: #f1f2f3; font-size: 12px; font-weight: 400; padding: 2px 6px; margin-left: 4px; letter-spacing: 1px; } .devtool-ops-holder .change { display: flex; margin-bottom: 3px; border-top: 1px solid #ddd; word-break: break-all; } .devtool-ops-holder label { position: relative; overflow: hidden; padding-left: 24px; cursor: pointer; line-height: 1.6; } .devtool-ops-holder input[type='checkbox']:checked + label { height: 22px; } .devtool-ops-holder input[type='checkbox'] { display: none; } .devtool-ops-holder .count { position: absolute; left: 0px; display: flex; justify-content: center; width: 20px; height: 20px; font-size: 13px; } .devtool-ops-holder .op { display: block; } .devtool-ops-holder .op:first-child { display: inline-block; } .devtool-ops-holder .op .type { padding: 0 4px; border-radius: 4px; background: #e6e6fa; } .devtool-ops-holder .op .type.set { background: #cff7cf; } .devtool-ops-holder .op .type.remove { background: #f9c0c8; } .devtool-ops-holder .op .type.add { background: #add8e6; } ================================================ FILE: packages/sdk/public/devtool/object.js ================================================ const objectDevtool = (doc, { rootHolder, undoOpsHolder, redoOpsHolder }) => { const displayRootObject = () => { const rootObj = doc.getRoot().toJSForTest(); rootHolder.innerHTML = `
${renderContainer(rootObj)}
`; }; const renderContainer = ({ key, value, createdAt }) => { const valueHTML = Object.values(value) .map((v) => { return v.type === 'YORKIE_OBJECT' || v.type === 'YORKIE_ARRAY' ? renderContainer(v) : renderValue(v); }) .join(''); if (key === undefined) key = 'root'; return `
${renderKey({ key, createdAt })}
${valueHTML}
`; }; const renderKey = ({ key, createdAt }) => { return ` `; }; const renderValue = ({ key, value, createdAt }) => { return `
${key} : ${JSON.stringify(value)} ${createdAt}
`; }; const displayOps = () => { // TODO(chacha912): Implement this feature in Devtools extension. }; const displayUndoOps = () => { undoOpsHolder.innerHTML = `
${renderOpsHolder(doc.getUndoStackForTest(), 'undo')}
`; }; const displayRedoOps = () => { redoOpsHolder.innerHTML = `
${renderOpsHolder(doc.getRedoStackForTest(), 'redo')}
`; }; const renderOpsHolder = (changes, idPrefix) => { return changes .map((ops, i) => { const opsStr = ops .map((op) => { if (op.type === 'presence') { return `presence${JSON.stringify( op.value, )}`; } const opType = op.toTestString().split('.')[1]; try { const id = op.getExecutedAt()?.toTestString(); return ` ${opType} ${`${id}`}${op.toTestString()} `; } catch { // operation in the undo/redo stack does not yet have "executedAt" set. return ` ${opType} ${op.toTestString()} `; } }) .join('\n'); return `
`; }) .reverse() .join(''); }; return { displayRootObject, displayOps, displayUndoOps, displayRedoOps }; }; export default objectDevtool; ================================================ FILE: packages/sdk/public/devtool/text.css ================================================ :root { --deleted-node-color: #dadada; --selected-node-color: #ffffff; --selected-node-bg-color: #ff0000; --hover-node-bg-color: rgba(0, 0, 0, 0.1); } /* layout */ .layout { position: absolute; left: 0; top: 0; right: 0; bottom: 0; display: flex; flex-direction: column; } .layout > .toolbar { flex: none; display: flex; justify-content: space-between; border-bottom: 1px solid #ececec; } .layout > .toolbar .tools { display: flex; gap: 10px; align-items: center; padding: 0px 20px; } .layout > .content { flex: 1; display: flex; flex-direction: column; } .layout > .content > .editor-area, .layout > .content > .graph-view { flex: 1; } .layout > .content > .graph-view { display: flex; position: relative; border-top: 1px solid #ececec; } .layout > .content > .graph-view > .graph-area:first-child { border-right: 1px solid #ececec; } .layout > .content > .editor-area { display: flex; flex-direction: row; position: relative; height: 300px; flex: none; } .layout > .content > .editor-area > .codemirror-area, .layout > .content > .editor-area > .data-area { flex: 1 1 auto; width: 50%; position: relative; } .layout > .content > .editor-area > .codemirror-area { border-right: 1px solid #ececec; } .layout > .content > .editor-area .CodeMirror { height: 100%; } .layout > .content > .editor-area > .data-area { display: flex; } .layout > .content > .editor-area > .data-area > .text-view-area { flex: 1 1 auto; display: flex; height: 100%; } /* toolbar > userlist */ #users-holder { display: flex; gap: 10px; } .user-info { --client-background-color: var(--client-color, #000); background-color: var(--client-background-color); position: relative; display: flex; justify-content: center; align-items: center; padding: 0px 1px; width: 30px; height: 30px; box-sizing: border-box; border-radius: 50%; text-transform: uppercase; color: white; cursor: pointer; } /* toolbar > hide deleted node */ .text-view-area.hide-deleted-node .char-item.deleted, .text-view-area.hide-deleted-node .structure-item.deleted, #splaytree-log-holder.hide-deleted-node .node-item.is-removed, #llrbtree-log-holder.hide-deleted-node .node-item.is-removed { display: none; } /* toolbar > hide view */ .layout > .content.hide-splay-tree.hide-llrb-tree > .editor-area, .layout > .content.hide-splay-tree.hide-llrb-tree .tabcontent { height: 100%; } /* body > top > center(tab) */ .text-view-area .tab { position: relative; display: flex; flex-direction: column; width: 100%; height: 100%; } .text-view-area .tab-header { flex: none; display: flex; height: 30px; border-bottom: 1px solid #ececec; } .text-view-area .tab-body { flex: 1; display: flex; } .text-view-area .tab-button { margin-right: 3px; border: none; } .text-view-area .tab-button.active { background-color: #ccc; } .text-view-area .tabcontent { display: none; height: 270px; width: 100%; overflow: auto; } .text-view-area .tabcontent.active { display: block; } /* body > top > center(tab) > text */ .text-view-area .char-item { position: relative; display: inline-block; margin-bottom: 10px; padding: 4px; min-height: 20px; border-bottom: 1px solid #e5e5e5; vertical-align: bottom; font-size: 14px; cursor: pointer; } .text-view-area .char-item:hover { background-color: var(--hover-node-bg-color) !important; } .text-view-area .char-item.selected { color: var(--selected-node-color); background-color: var(--selected-node-bg-color); } .text-view-area .char-item.deleted:not(.selected) { text-decoration: line-through; background-color: var(--deleted-node-color); } .text-view-area .char-item .time { display: none; } /* body > top > center(tab) > structure data */ .text-view-area .structure-item { --structure-background-color: var(--client-color, white); display: flex; position: relative; padding: 2px; cursor: pointer; font-size: 12px; } .text-view-area .structure-item > .icon { background-color: var(--structure-background-color); width: 16px; height: 16px; display: flex; align-items: center; justify-content: center; flex: none; margin-right: 5px; box-sizing: border-box; padding: 2px; border-radius: 50%; } .text-view-area .structure-item.deleted { text-align: right; background-color: var(--deleted-node-color); } .text-view-area .structure-item.selected { color: var(--selected-node-color); background-color: var(--selected-node-bg-color); } .text-view-area .structure-item:hover { background-color: var(--hover-node-bg-color) !important; } /* body > top > center(tab) > structure text */ .text-view-area #structure-text-holder { padding: 10px; width: 100%; font-size: 12px; } /* body > top > right(selected node info) */ .text-view-area .selected-node-info-area { flex: none; display: flex; flex-direction: column; width: 300px; } .text-view-area .selected-node-info-area .title { display: flex; align-items: center; margin: 0px; padding: 10px 10px; height: 30px; border-bottom: 1px solid #ececec; border-left: 1px solid #ececec; font-size: 12px; font-weight: bold; } .text-view-area .selected-node-info { flex: 1; width: 100%; border-left: 1px solid #ececec; font-size: 14px; } .text-view-area .selected-node-info .property-item-view { display: flex; flex-direction: row; align-items: center; gap: 5px; padding: 5px 10px; text-align: left; } .text-view-area .selected-node-info .property-item-view label { flex: none; width: 72px; text-align: left; font-weight: bold; } /* body > bottom > tree graph */ .graph-view .graph-area { flex: 1; display: flex; flex-direction: column; } .graph-view .title { display: flex; align-items: center; margin: 0px; padding: 10px 20px; border-bottom: 1px solid #ececec; font-weight: bold; } .graph-view .badge { margin-left: 10px; font-weight: 400; font-size: 12px; } .graph-view .tree-area { flex: 1; overflow: auto; position: relative; box-sizing: border-box; } .tree-area .node-item { display: inline-block; padding: 2px; box-sizing: border-box; cursor: pointer; position: absolute; z-index: 10; text-align: center; } .tree-area .node-item .inner-description { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; box-sizing: border-box; border-color: var(--ticker-color, black); border-width: 2px; border-style: solid; margin-bottom: 10px; position: relative; margin-left: 8px; margin-right: 8px; width: 64px; height: 40px; contain: size; background-color: white; } .tree-area .node-item.selected .inner-description { border-color: var(--selected-node-bg-color) !important; background-color: var(--selected-node-bg-color) !important; color: var(--selected-node-color) !important; } .tree-area .node-item.is-removed .inner-description { background-color: var(--deleted-node-color); border-width: 1px; } .tree-area .node-item .inner-description .key-area { font-size: 10px; padding: 4px; box-sizing: border-box; flex: 1; } .tree-area .node-item .inner-description .value-area { display: flex; flex-direction: row; align-items: center; justify-content: center; height: 100%; box-sizing: border-box; width: 100%; border-top: 1px solid black; font-size: 11px; } .tree-area .node-item .inner-description .value-area .value { flex: 1; text-align: center; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; max-width: 40px; } .tree-area .node-item .inner-description .value-area .weight { flex: none; border-right: 1px solid black; box-sizing: border-box; padding: 0px 2px; display: flex; align-items: center; height: 100%; } .tree-area .node-item .inner-description .prev-view, .tree-area .node-item .inner-description .next-view { position: absolute; display: none; width: 10px; height: 100%; align-items: center; justify-content: center; color: black; } .tree-area .node-item .inner-description .prev-view { top: 50%; left: -12px; transform: translate(0, -50%); } .tree-area .node-item .inner-description .next-view { top: 50%; right: -12px; transform: translate(0, -50%); } .tree-area .node-item .inner-description:hover .prev-view, .tree-area .node-item .inner-description:hover .next-view { display: flex; } .tree-area .line-holder { position: absolute; left: 0px; top: 0px; width: 100px; height: 100px; } .tree-area .line-holder svg { display: block; position: absolute; left: 0px; top: 0px; right: 0px; bottom: 0px; width: 100%; height: 100%; overflow: visible; } .tree-area .line-holder path { stroke: black; } ================================================ FILE: packages/sdk/public/devtool/text.js ================================================ /* global document, setTimeout, clearTimeout, window -- defined by browser */ /* global panzoom -- defined by panzoom */ (function (global) { // TODO(hackerwins): Remove direct dependency on the document. // gnb let textViewAreaHolder = document.querySelector('.text-view-area'); let hideDeletedNodeHolder = document.getElementById('hide-deleted-node'); let hideTextHolder = document.getElementById('hide-text'); let viewTextHolder = document.getElementById('view-text'); let hideLLRBTreeHolder = document.getElementById('hide-llrb-tree'); let viewLLRBTreeHolder = document.getElementById('view-llrb-tree'); let hideSplayTreeHolder = document.getElementById('hide-splay-tree'); let viewSplayTreeHolder = document.getElementById('view-splay-tree'); // bodyView let realViewHolder = document.getElementById('real-view'); // top-right: Structure Info const tabContainer = document.getElementById('tab-container'); const textLogHolder = document.getElementById('text-log-holder'); const structureInfoHolder = document.getElementById('structure-info-holder'); const structureLogHolder = document.getElementById('structure-log-holder'); const structureTextHolder = document.getElementById('structure-text-holder'); const selectedNodeInfo = document.querySelector(`.selected-node-info`); // bottom const treeArea = document.querySelector('.tree-area'); // bottom-left: SplayTree const splayTreeLogHolder = document.getElementById('splaytree-log-holder'); const splayTreeInfo = document.getElementById('splaytree-info'); // bottom-right: LLRBTree const llrbTreeLogHolder = document.getElementById('llrbtree-log-holder'); const llrbTreeInfo = document.getElementById('llrbtree-info'); let firstRendering = true; let blockList = []; let blockKeys = {}; let usersInfo = {}; function displayLog(doc) { blockList = []; displayBlockLog(doc); // Displays a tree log with a timer to improve rendering performance. // If there is an existing timer, it cancels it to prevent redundant rendering calls. displayTreeLogWithTimer(doc); } // ====================================== // ========== Block Rendering =========== // ====================================== function displayBlockLog(doc) { blockList = []; blockKeys = {}; // 01. display structure text const contentString = doc.getRoot().content.toTestString(); structureTextHolder.innerHTML = contentString; // Make textItems to blockList const textItems = [...contentString.matchAll(/(\[[^\]]*\]|\{[^}]*})/g)]; let textOffset = 0; for (const item of textItems) { let block = null; if (item[0].startsWith('[')) { block = getEditBlock(item[0].match(/\[([^\]]*)\]/)); block.offset = textOffset; textOffset += block.value.length; blockKeys[block.time] = block; } else { // deleted block block = getDeleteBlock(item[0].match(/\{([^}]*)\}/)); } blockList.push(block); } // 02. display structure data structureLogHolder.innerHTML = blockList .map((block) => { const value = `${block.time} ${displayValue(block.value)}`; const style = `--client-color: ${block.color};`; const attribute = `data-time="${block.time}" style="${style}"`; if (block.deleted) { return `
×{${value}}
`; } else { return `
[${value}]
`; } }) .join(''); // 03. display char item textLogHolder.innerHTML = blockList .map((block) => { const defaultClass = `char-item ${block.deleted ? 'deleted' : 'real'}`; const defaultAttributes = [ `data-time="${block.time}"`, `title="${block.key}"`, `data-has-length="${block.value.length > 1}"`, ].join(' '); if (block.deleted) { return `
${block.time}
${displayValue(block.value)}
`; } else { return `
${block.time}
${displayValue(block.value)}
`; } }) .join(''); } function getEditBlock(block) { const [, key] = block; const [time, ...valueList] = key.split(' '); const value = valueList.join(' '); const [lamport, ticker, delimiter, offset] = time.split(':'); const color = Object.values(usersInfo).find( (it) => it.ticker === ticker, )?.color; return { key, value, color, time, lamport, ticker, t: delimiter, offset, blockKey: `${lamport}:${ticker}:${delimiter}`, }; } function getDeleteBlock(block) { const [, key] = block; const [time, value] = key.split(' '); const [lamport, ticker, delimiter, offset] = time.split(':'); const color = Object.values(usersInfo).find( (it) => it.ticker === ticker, )?.color; return { deleted: true, key, value, color, time, lamport, ticker, t: delimiter, offset, blockKey: `${lamport}:${ticker}:${delimiter}`, }; } function displayValue(value) { if (value === ' ') { return '<space>'; } else if (value === '\n') { return '<enter>'; } else if (value === '\t') { return '<tab>'; } return value; } // ====================================== // ========== Tree Rendering ============ // ====================================== let displayTimer; function displayTreeLogWithTimer(doc) { if (displayTimer) { clearTimeout(displayTimer); } displayTimer = setTimeout(() => { displayTreeLog(doc); displayBlockLog(doc); }, 500); } let splayNext = []; let llrbNext = []; let splayHeadNode; let llrbHeadNode; let splayPanzoomInstance; let llrbPanzoomInstance; function displayTreeLog(doc) { // render splay tree splayNext = []; const splayhead = getNewSplayTree( doc.getRoot().content.text.rgaTreeSplit.treeByIndex.root, ); splayHeadNode = splayhead; calculateTreeViewport(splayhead); calculateAbsolutePosition('splay', splayhead, 0, splayhead.viewport.width); splayTreeInfo.innerHTML = `depth: ${splayNext.length - 1}`; splayTreeLogHolder.innerHTML = renderHeadLineView('splay', splayhead) + renderHeadHTML('splay', splayhead); // render llrb tree llrbNext = []; const llrbhead = getNewLLRBTree( doc.getRoot().content.text.rgaTreeSplit.treeByID.root, ); llrbHeadNode = llrbhead; calculateTreeViewport(llrbhead); calculateAbsolutePosition('llrb', llrbhead, 0, llrbhead.viewport.width); llrbTreeInfo.innerHTML = `depth: ${llrbNext.length - 1}`; llrbTreeLogHolder.innerHTML = renderHeadLineView('llrb', llrbhead) + renderHeadHTML('llrb', llrbhead); if (firstRendering) { const rootRect = treeArea.getBoundingClientRect(); moveToSelectedItem(splayPanzoomInstance, rootRect, splayhead); moveToSelectedItem(llrbPanzoomInstance, rootRect, llrbhead); firstRendering = false; } } function getNewSplayTree(node, depth = 0, parent = null) { if (typeof splayNext[depth] !== 'number') { splayNext[depth] = 0; } const currentNode = { parent, depth, next: splayNext[depth]++, actorID: node.id.createdAt.actorID, isRemoved: node?.isRemoved?.(), removedAt: node?.removedAt, key: node.id.toTestString(), weight: node.weight, value: node.value?.content, attributes: node.value?.attributes, }; currentNode.left = node.left ? getNewSplayTree(node.left, depth + 1, currentNode) : null; currentNode.right = node.right ? getNewSplayTree(node.right, depth + 1, currentNode) : null; return currentNode; } function getNewLLRBTree(node, depth = 0, parent = null) { if (typeof llrbNext[depth] !== 'number') { llrbNext[depth] = 0; } const currentNode = { parent, depth, next: llrbNext[depth]++, actorID: node.key.createdAt.actorID, isRemoved: node.value.isRemoved(), removedAt: node.value.removedAt, key: node.key.toTestString(), weight: node.value.weight, value: node.value.value?.content, isRed: node.isRed, }; currentNode.left = node.left ? getNewLLRBTree(node.left, depth + 1, currentNode) : null; currentNode.right = node.right ? getNewLLRBTree(node.right, depth + 1, currentNode) : null; return currentNode; } function calculateTreeViewport(node) { if (!node) { return; } if (!node.left && !node.right) { node.viewport = { width: 64, }; return; } node.viewport = { width: 0, }; if (node.left) { calculateTreeViewport(node.left); node.viewport.width += node.left.viewport.width; node.viewport.width += 10; } if (node.right) { calculateTreeViewport(node.right); node.viewport.width += node.right.viewport.width; } } // eslint-disable-next-line @typescript-eslint/no-unused-vars function calculateAbsolutePosition(type, node, startX = 0, endX = 0) { if (!node) { return; } node.viewport.x = startX + node.viewport.width / 2; node.viewport.top = node.depth * 52; node.viewport.left = node.viewport.x; let hasReconcileLeft = false; if (node.left) { if ( (node.right?.left || node.right?.right) && !node.left.left && !node.left.right ) { if (node.right) { hasReconcileLeft = true; } } else { // startX -= (node.right?.viewport.width || 0); } calculateAbsolutePosition( type, node.left, startX, startX + node.left.viewport.width, ); } let hasReconcileRight = false; if (node.right) { if ( (node.left?.left || node.left?.right) && !node.right.left && !node.right.right ) { if (node.left) { hasReconcileRight = true; } } else { startX += node.left?.viewport.width || 0; } calculateAbsolutePosition( type, node.right, startX + 10, startX + node.right.viewport.width, ); } if (hasReconcileLeft) { node.left.viewport.left = node.viewport.left - node.left.viewport.width / 2 - 10; } if (hasReconcileRight) { if (node.left) { node.right.viewport.left = node.left.viewport.left + 70; } else { node.right.viewport.left = node.viewport.left + node.viewport.width / 2 + 10; } } } function renderHeadLineView(type, node) { return `
`; } function renderLineHTML(type, node) { if (!node) { return ''; } return ` ${ node.parent ? `M ${node.viewport.left + 40} ${node.viewport.top + 25} L ${ node.parent.viewport.left + 40 } ${node.parent.viewport.top + 25}` : '' } ${node.left ? renderLineHTML(type, node.left) : ''} ${node.right ? renderLineHTML(type, node.right) : ''} `; } function renderHeadHTML(type, node) { if (!node) { return ''; } // prettier-ignore return ( `
${!node.isRemoved ? `
<
` : ''}
${node.key}
${node.weight === 0 ? 'Ø' : node.weight}
${displayValue(node.value)}
${!node.isRemoved ? `
>
` : ''}
` + (node.left ? renderHeadHTML(type, node.left) : '') + (node.right ? renderHeadHTML(type, node.right) : '') ); } // Initialize panzoom splayPanzoomInstance = panzoom(splayTreeLogHolder, { transformOrigin: { x: 0.5, y: 0.5, }, }); llrbPanzoomInstance = panzoom(llrbTreeLogHolder, { transformOrigin: { x: 0.5, y: 0.5, }, }); // ====================================== // ========== Selecting Node ============ // ====================================== let selectedNodeElement = null; let llrbselectedNodeElement = null; let selectedNodeCharElement = null; let selectedNodeStructureElement = null; function treeLogEventHandler(e) { // Move to the prev node of the selected node const prevView = e.target.closest('.prev-view'); if (prevView) { goPrevNode(e); return; } // Move to the next node of the selected node const nextView = e.target.closest('.next-view'); if (nextView) { goNextNode(e); return; } // TreeLog - select tree node const nodeItem = e.target.closest('.node-item'); if (nodeItem) { const itemID = nodeItem.getAttribute('data-key'); const innerDescription = e.target.closest('.inner-description'); if (innerDescription) { highlightAndMoveToSelectedItem(itemID); } } } function structureInfoEventHandler(e) { const charItem = e.target.closest('.char-item'); if (charItem) { const itemID = charItem.getAttribute('data-time'); highlightAndMoveToSelectedItem(itemID); } const structureItem = e.target.closest('.structure-item'); if (structureItem) { const itemID = structureItem.getAttribute('data-time'); highlightAndMoveToSelectedItem(itemID); } } structureInfoHolder.addEventListener('click', structureInfoEventHandler); splayTreeLogHolder.addEventListener('click', treeLogEventHandler); llrbTreeLogHolder.addEventListener('click', treeLogEventHandler); function goPrevNode(e) { e.preventDefault(); const nodeItem = e.target.closest('.node-item'); if (!nodeItem) return; const nodeID = nodeItem.getAttribute('data-key'); const innerDescription = e.target.closest('.inner-description'); if (!innerDescription) return; // find current tree node const currentTreeNode = traverseTree(splayHeadNode, (node) => { if (node.key === nodeID) { return true; } }); if (currentTreeNode.deleted) return; // find previous node that has not been deleted const currentIndex = blockList.findIndex((block) => { if (block.time === currentTreeNode.key) { return true; } }); if (currentIndex > -1) { for (let startIndex = currentIndex - 1; startIndex >= 0; startIndex--) { const prevItem = blockList[startIndex]; if (!prevItem.deleted) { highlightAndMoveToSelectedItem(prevItem.time); return; } } } } function goNextNode(e) { e.preventDefault(); const nodeItem = e.target.closest('.node-item'); if (!nodeItem) return; const nodeID = nodeItem.getAttribute('data-key'); const innerDescription = e.target.closest('.inner-description'); if (!innerDescription) return; // find current tree node const currentTreeNode = traverseTree(splayHeadNode, (node) => { if (node.key === nodeID) { return true; } }); if (currentTreeNode.deleted) return; // find next node that has not been deleted const currentIndex = blockList.findIndex((block) => { if (block.time === currentTreeNode.key) { return true; } }); if (currentIndex > -1) { for ( let startIndex = currentIndex + 1; startIndex < blockList.length; startIndex++ ) { const nextItem = blockList[startIndex]; if (!nextItem.deleted) { highlightAndMoveToSelectedItem(nextItem.time); return; } } } } function highlightAndMoveToSelectedItem(selectedKey) { const splaySelectedNode = traverseTree(splayHeadNode, (node) => { if (node.key === selectedKey) { return true; } }); const llrbSelectedNode = traverseTree(llrbHeadNode, (node) => { if (node.key === selectedKey) { return true; } }); // Displays selected item info. displaySelectedItemInfo(splaySelectedNode); // Highlights the selected item in the CodeMirror editor. highlightCMSelectedItem(splaySelectedNode); // Highlights the selected item in the text log, structure data, and tree log. highlightSelectedItem(selectedKey); // panzoom refresh const rootRect = treeArea.getBoundingClientRect(); moveToSelectedItem(splayPanzoomInstance, rootRect, splaySelectedNode); moveToSelectedItem(llrbPanzoomInstance, rootRect, llrbSelectedNode); } function traverseTree(node, callback) { if (node.left) { const left = traverseTree(node.left, callback); if (left) { return left; } } if (callback(node)) { return node; } if (node.right) { const right = traverseTree(node.right, callback); if (right) { return right; } } } function displaySelectedItemInfo(node) { if (selectedNodeInfo) { const block = blockKeys[node.key]; selectedNodeInfo.innerHTML = `
${ node.parent?.key }

${ node.key }
${ node.weight }
${ block ? block.offset : 'deleted' }
${displayValue( node.value, )}
${ node.left?.key }
${ node.right?.key }
`; } } let selectedItemMaker; let codeMirrorInstance; function highlightCMSelectedItem(selectedItem) { if (selectedItemMaker) { selectedItemMaker.clear(); } const block = blockKeys[selectedItem.key]; if (!block) return; const cm = codeMirrorInstance; const fromPos = cm.posFromIndex(block.offset); const toPos = cm.posFromIndex(block.offset + selectedItem.value.length); const color = usersInfo[selectedItem.actorID]?.color || 'red'; selectedItemMaker = cm.markText(fromPos, toPos, { css: `background: ${color}; color: white; border: 2px solid black; box-sizing: border-box; border-radius: 4px; padding: 2px`, insertLeft: true, }); } function highlightSelectedItem(selectedKey) { if (selectedNodeElement) { selectedNodeElement.classList.remove('selected'); } selectedNodeElement = splayTreeLogHolder.querySelector( `.node-item[data-key="${selectedKey}"]`, ); if (selectedNodeElement) { selectedNodeElement.classList.add('selected'); } if (llrbselectedNodeElement) { llrbselectedNodeElement.classList.remove('selected'); } llrbselectedNodeElement = llrbTreeLogHolder.querySelector( `.node-item[data-key="${selectedKey}"]`, ); if (llrbselectedNodeElement) { llrbselectedNodeElement.classList.add('selected'); } if (selectedNodeCharElement) { selectedNodeCharElement.classList.remove('selected'); } selectedNodeCharElement = textLogHolder.querySelector( `.char-item[data-time="${selectedKey}"]`, ); if (selectedNodeCharElement) { selectedNodeCharElement.classList.add('selected'); selectedNodeCharElement.scrollIntoView({ block: 'center', inline: 'center', }); } if (selectedNodeStructureElement) { selectedNodeStructureElement.classList.remove('selected'); } selectedNodeStructureElement = structureLogHolder.querySelector( `.structure-item[data-time="${selectedKey}"]`, ); if (selectedNodeStructureElement) { selectedNodeStructureElement.classList.add('selected'); selectedNodeStructureElement.scrollIntoView({ block: 'center', inline: 'center', }); } } function moveToSelectedItem(panzoomInstance, rootRect, selectedItem) { const trans = panzoomInstance.getTransform(); const rect = { x: selectedItem.viewport.left, y: selectedItem.viewport.top, }; panzoomInstance?.moveTo( -rect.x * trans.scale + rootRect.width / 2, -rect.y * trans.scale + rootRect.height / 2, ); } // ====================================== // ============ UI Control ============== // ====================================== // Manages tabs within the 'text-view-area', displaying the content of the selected tab. function openTab(e, target) { const tabButtons = tabContainer.querySelectorAll('.tab-button'); const tabcontents = tabContainer.querySelectorAll('.tabcontent'); tabButtons.forEach((it) => it.classList.remove('active')); tabcontents.forEach((it) => it.classList.remove('active')); e.target.classList.add('active'); tabContainer.querySelector(`#${target}`).classList.add('active'); } // Toggle options in the 'center-tools'. let hideDeletedNode = false; let hideText = true; let hideSplayTree = true; let hideLLRBTree = true; setHideDeletedNode(hideDeletedNode); setHideText(hideText); setHideSplayTree(hideSplayTree); setHideLLRBTree(hideLLRBTree); function toggleDeletedNodeShow() { setHideDeletedNode(!hideDeletedNode); } function toggleText() { setHideText(!hideText); } function toggleSplayTree() { setHideSplayTree(!hideSplayTree); } function toggleLLRBTree() { setHideLLRBTree(!hideLLRBTree); } function setHideDeletedNode(hide) { hideDeletedNode = hide; hideDeletedNodeHolder.checked = hideDeletedNode; textViewAreaHolder.classList.toggle('hide-deleted-node', hideDeletedNode); splayTreeLogHolder.classList.toggle('hide-deleted-node', hideDeletedNode); llrbTreeLogHolder.classList.toggle('hide-deleted-node', hideDeletedNode); } function setHideText(hide) { hideText = hide; hideTextHolder.checked = hideText; viewTextHolder.style.display = hideText ? 'block' : 'none'; realViewHolder.classList.toggle('hide-text', !hideText); } function setHideSplayTree(hide) { hideSplayTree = hide; hideSplayTreeHolder.checked = hideSplayTree; viewSplayTreeHolder.style.display = hideSplayTree ? 'flex' : 'none'; realViewHolder.classList.toggle('hide-splay-tree', !hideSplayTree); } function setHideLLRBTree(hide) { hideLLRBTree = hide; hideLLRBTreeHolder.checked = hideLLRBTree; viewLLRBTreeHolder.style.display = hideLLRBTree ? 'flex' : 'none'; realViewHolder.classList.toggle('hide-llrb-tree', !hideLLRBTree); } function setUsersInfo(info) { usersInfo = info; } function setCodeMirror(cm) { codeMirrorInstance = cm; } global.devtool = { displayLog, openTab, toggleDeletedNodeShow, toggleText, toggleSplayTree, toggleLLRBTree, setUsersInfo, setCodeMirror, }; })(window); ================================================ FILE: packages/sdk/public/drawing.html ================================================ Drawing Example
There are currently users!

    
================================================ FILE: packages/sdk/public/multi.html ================================================ Multi Example

Counter

Todo List

    Quill Editor

    yorkie document

    
        
    ================================================ FILE: packages/sdk/public/presence.html ================================================ Presence Example

    Presence

    Real-time online user tracking with Yorkie

    Key: key-123

    Client ID: -

    Status: Disconnected

    👥 Users Online 0

    📋 Activity Log

    ================================================ FILE: packages/sdk/public/quill.css ================================================ .client-container { display: flex; } .client-id { padding: 2px 4px; margin: 0 4px; border-radius: 10px; background-color: #eee; } .client-container .ql-toolbar { margin-top: 10px; } .client-container .ql-container { height: 300px; } #client-a, #client-b { width: 50%; margin: 15px; } .online-clients { margin: 1rem 0; font-family: monospace; } .online-clients:before { display: block; margin-bottom: 4px; content: 'online-clients: '; } /* sync mode option */ .syncmode-option { margin: 30px 0 10px; display: flex; align-items: center; } .realtime-sync { display: flex; flex-direction: row; position: relative; border: 1px solid #ddd; border-radius: 4px; padding: 4px; gap: 4px; margin: 0 4px; } .realtime-sync-title { position: absolute; top: -14px; left: 0; font-size: 12px; } .option input[type='radio'] { display: none; } .option label, .option .manual-sync { display: inline-block; padding: 2px 6px; border: 1px solid #ccc; border-radius: 4px; cursor: pointer; font-size: 12px; } .option label:hover { background-color: #f0f0f0; } .option input[type='radio']:checked + label { background-color: #007bff; color: #fff; } .option .manual-sync { display: none; } .option .manual-sync:hover { background-color: #ddd; } .option input[type='radio']:checked + label + .manual-sync { display: inline-block; } .ql-editor { caret-color: transparent; } .ql-editor ::selection { background: none; } ================================================ FILE: packages/sdk/public/quill.html ================================================ Quill Example
    Client A ( id:)
    SyncMode:
    Realtime Sync
    Client B ( id:)
    SyncMode:
    Realtime Sync
    ================================================ FILE: packages/sdk/public/schema.html ================================================ Schema Example
    Update Root:
    
        
    ================================================ FILE: packages/sdk/public/style.css ================================================ /* ============== RESET CSS ============= */ /* prettier-ignore */ html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, address, cite, code, del, dfn, em, img, strong, sub, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, section, summary, time, mark, audio, video { margin: 0; padding: 0; box-sizing: border-box; } ol, ul { list-style: none; } /* ============= COMMON CSS ============= */ body { margin: 8px; background: white; } button { display: inline-flex; cursor: pointer; justify-content: center; align-items: center; } #network-status, .network-status, #online-clients, #log-holder { margin: 1rem; font-family: monospace; } #network-status:before, .network-status:before { content: 'network: '; } #online-clients:before { content: 'online-clients: '; } #log-holder:before { content: 'root: '; } #network-status span, .network-status span { display: inline-block; height: 0.8rem; width: 0.8rem; border-radius: 0.4rem; } #network-status .green, .network-status .green { background-color: green; } #network-status .red, .network-status .red { background-color: red; } /* ============= quill.html ============= */ .ql-editor { min-height: 300px; overflow-y: auto; resize: vertical; } #document, #document-text { margin: 1rem; font-family: monospace; } #document:before { display: block; content: 'document: '; } #document-text:before { display: block; content: 'text: '; } /* ============ counter.html ============ */ .counter-wrap { display: flex; align-items: center; margin: 1em 0; padding: 2em; border-radius: 1em; border: 1px solid black; } #counter { display: inline-block; margin-right: 2rem; font-size: 2rem; font-weight: bold; } #increaseButton, #decreaseButton { margin-right: 1em; width: 30px; height: 30px; } /* ============= multi.html ============= */ h2 { margin: 1.6em 0 0.4em; font-weight: bold; font-size: 24px; } .increaseButton { display: inline-block; border: 1px solid #ddd; border-radius: 10px; padding: 0.6em 1.2em; font-size: 1rem; font-weight: bold; } .todos { width: 300px; background: #efefef; border-radius: 10px; overflow: hidden; border: 1px solid #ddd; } .todoList { margin: 0; padding: 8px 0; height: 160px; box-sizing: border-box; overflow-y: auto; } .todoList li { display: flex; padding: 10px; font-size: 0.9em; } .todoList li:hover, .todoList li:focus { background: #e2e2e2; } .todoList li .itemName { padding: 0 10px; flex: 1; word-break: break-all; } .todoList .trash { background: transparent; border: none; } .todoList .moveUp, .todoList .moveDown { background: #fff; border-radius: 10px; border: none; margin-right: 4px; color: #666; } .todoList .trash:hover, .todoList .moveUp:hover, .todoList .moveDown:hover { scale: 1.1; } .todoNew { display: flex; border-top: 1px solid #ddd; } .todoNew .addButton { border: none; padding: 0 10px; } .todoInput { display: inline-block; flex: 1; padding: 0 20px; height: 30px; border: none; outline: none; } ================================================ FILE: packages/sdk/public/tree-schema.html ================================================ Tree Schema Example
    Schema: yorkie.Tree<{ doc: { content: "block+"; } paragraph: { content: "text*"; marks: "bold italic"; group: "block"; } heading: { content: "text*"; marks: "bold"; group: "block"; } text: {} }>
    Valid operations:
    Invalid operations (schema violation):
    
        
    ================================================ FILE: packages/sdk/public/whiteboard.css ================================================ .whiteboard-example { display: flex; flex-direction: column; height: 100vh; } .dev-log-wrap { display: flex; flex-direction: column; height: calc(100vh - 350px); } .dev-log { display: flex; flex: 1; overflow: hidden; } .dev-log .log-holders { padding: 10px; } .dev-log .log-holders, .dev-log .log-holder-wrap, .dev-log .log-holder { display: flex; flex-direction: column; flex: 1; overflow: hidden; } .log-holder-wrap h2 { margin: 10px 0; } .log-holder-wrap .stack-count { font-weight: normal; font-size: 14px; } .dev-log-wrap .network { margin-top: 10px; } .canvas { position: relative; width: 100%; height: 350px; } .canvas .toolbar { position: absolute; bottom: 4px; left: 50%; transform: translateX(-50%); z-index: 2; } .toolbar button { margin: 2px; padding: 4px 6px; color: #666; } .canvas .shapes { position: absolute; width: 100%; height: 100%; background: #eee; overflow: hidden; } .canvas .shape { position: absolute; width: 50px; height: 50px; border-style: solid; border-width: 2px; } .selection-tools { display: none; position: absolute; z-index: 1; top: 4px; right: 4px; background: #fff; padding: 6px; border-radius: 4px; justify-content: center; gap: 4px; } .selection-tools .color-picker { display: flex; flex-wrap: wrap; justify-content: center; width: 120px; } .selection-tools .color { width: 20px; height: 20px; border-radius: 50%; border: none; margin: 4px; border: 1px solid #ddd; } .selection-tools .color:nth-child(1) { background: orangered; } .selection-tools .color:nth-child(2) { background: gold; } .selection-tools .color:nth-child(3) { background: limegreen; } .selection-tools .color:nth-child(4) { background: dodgerblue; } .selection-tools .color:nth-child(5) { background: darkviolet; } .selection-tools .color:nth-child(6) { background: darkorange; } .selection-tools .color:nth-child(7) { background: dimgray; } .selection-tools .color:nth-child(8) { background: white; } ================================================ FILE: packages/sdk/public/whiteboard.html ================================================ Whiteboard Example

    yorkie document

    operations

    undo stack [ total: ]

    redo stack [ total: ]

    ================================================ FILE: packages/sdk/scripts/update-examples.sh ================================================ #!/bin/bash # Get the version of yorkie-js-sdk read -p "Enter the yorkie-js-sdk version: " version # Change the directory to the examples folder cd examples # Loop through all example folders for dir in */; do # Check if it is a directory and exclude the dist folder echo $dir if [ -d "$dir" ] && [ "$dir" != "dist/" ]; then # Move to the example folder cd "$dir" # Execute npm i and npm run build npm i "yorkie-js-sdk@$version" && npm run build # Check the result of the execution if [ $? -ne 0 ]; then echo "Error occurred in $dir" else echo "$dir build succeeded" fi # Move back to the examples folder cd .. fi done ================================================ FILE: packages/sdk/src/api/converter.ts ================================================ /* * Copyright 2023 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { ConnectError } from '@connectrpc/connect'; import { create, toBinary, fromBinary } from '@bufbuild/protobuf'; import { timestampDate } from '@bufbuild/protobuf/wkt'; import { ErrorInfoSchema } from '@buf/googleapis_googleapis.bufbuild_es/google/rpc/error_details_pb'; import { Rule } from '@yorkie-js/schema'; import { Code, YorkieError } from '@yorkie-js/sdk/src/util/error'; import { Indexable } from '@yorkie-js/sdk/src/document/document'; import { PresenceChange, PresenceChangeType, } from '@yorkie-js/sdk/src/document/presence/change'; import { InitialTimeTicket, TimeTicket, } from '@yorkie-js/sdk/src/document/time/ticket'; import { ActorID } from '@yorkie-js/sdk/src/document/time/actor_id'; import { Operation } from '@yorkie-js/sdk/src/document/operation/operation'; import { SetOperation } from '@yorkie-js/sdk/src/document/operation/set_operation'; import { AddOperation } from '@yorkie-js/sdk/src/document/operation/add_operation'; import { MoveOperation } from '@yorkie-js/sdk/src/document/operation/move_operation'; import { RemoveOperation } from '@yorkie-js/sdk/src/document/operation/remove_operation'; import { EditOperation } from '@yorkie-js/sdk/src/document/operation/edit_operation'; import { StyleOperation } from '@yorkie-js/sdk/src/document/operation/style_operation'; import { TreeEditOperation } from '@yorkie-js/sdk/src/document/operation/tree_edit_operation'; import { ChangeID } from '@yorkie-js/sdk/src/document/change/change_id'; import { Change } from '@yorkie-js/sdk/src/document/change/change'; import { ChangePack } from '@yorkie-js/sdk/src/document/change/change_pack'; import { Checkpoint } from '@yorkie-js/sdk/src/document/change/checkpoint'; import { ElementRHT } from '@yorkie-js/sdk/src/document/crdt/element_rht'; import { RGATreeList } from '@yorkie-js/sdk/src/document/crdt/rga_tree_list'; import { CRDTElement } from '@yorkie-js/sdk/src/document/crdt/element'; import { CRDTObject } from '@yorkie-js/sdk/src/document/crdt/object'; import { CRDTArray } from '@yorkie-js/sdk/src/document/crdt/array'; import { VersionVector } from '@yorkie-js/sdk/src/document/time/version_vector'; import { CRDTTreePos } from './../document/crdt/tree'; import { RGATreeSplit, RGATreeSplitNode, RGATreeSplitNodeID, RGATreeSplitPos, } from '@yorkie-js/sdk/src/document/crdt/rga_tree_split'; import { CRDTText, CRDTTextValue } from '@yorkie-js/sdk/src/document/crdt/text'; import { Primitive, PrimitiveType, } from '@yorkie-js/sdk/src/document/crdt/primitive'; import { Change as PbChange, ChangeSchema as PbChangeSchema, ChangeID as PbChangeID, ChangeIDSchema as PbChangeIDSchema, ChangePack as PbChangePack, ChangePackSchema as PbChangePackSchema, Checkpoint as PbCheckpoint, CheckpointSchema as PbCheckpointSchema, Rule as PbRule, JSONElement as PbJSONElement, JSONElementSchema as PbJSONElementSchema, JSONElementSimple as PbJSONElementSimple, JSONElementSimpleSchema as PbJSONElementSimpleSchema, NodeAttr as PbNodeAttr, NodeAttrSchema as PbNodeAttrSchema, Operation as PbOperation, OperationSchema as PbOperationSchema, Presence as PbPresence, PresenceSchema as PbPresenceSchema, PresenceChange as PbPresenceChange, PresenceChangeSchema as PbPresenceChangeSchema, RGANode as PbRGANode, RGANodeSchema as PbRGANodeSchema, RHTNode as PbRHTNode, RHTNodeSchema as PbRHTNodeSchema, SnapshotSchema as PbSnapshotSchema, TextNode as PbTextNode, TextNodeSchema as PbTextNodeSchema, TextNodeID as PbTextNodeID, TextNodeIDSchema as PbTextNodeIDSchema, TextNodePos as PbTextNodePos, TextNodePosSchema as PbTextNodePosSchema, TimeTicket as PbTimeTicket, TimeTicketSchema as PbTimeTicketSchema, TreeNode as PbTreeNode, TreeNodeSchema as PbTreeNodeSchema, TreeNodes as PbTreeNodes, TreeNodesSchema as PbTreeNodesSchema, TreePos as PbTreePos, TreePosSchema as PbTreePosSchema, TreeNodeID as PbTreeNodeID, TreeNodeIDSchema as PbTreeNodeIDSchema, VersionVector as PbVersionVector, VersionVectorSchema as PbVersionVectorSchema, ValueType as PbValueType, JSONElement_Tree as PbJSONElement_Tree, JSONElement_TreeSchema as PbJSONElement_TreeSchema, JSONElement_Text as PbJSONElement_Text, JSONElement_TextSchema as PbJSONElement_TextSchema, JSONElement_Primitive as PbJSONElement_Primitive, JSONElement_PrimitiveSchema as PbJSONElement_PrimitiveSchema, JSONElement_Counter as PbJSONElement_Counter, JSONElement_CounterSchema as PbJSONElement_CounterSchema, JSONElement_JSONObject as PbJSONElement_JSONObject, JSONElement_JSONObjectSchema as PbJSONElement_JSONObjectSchema, JSONElement_JSONArray as PbJSONElement_JSONArray, JSONElement_JSONArraySchema as PbJSONElement_JSONArraySchema, PresenceChange_ChangeType as PbPresenceChange_ChangeType, Operation_SetSchema as PbOperation_SetSchema, Operation_AddSchema as PbOperation_AddSchema, Operation_MoveSchema as PbOperation_MoveSchema, Operation_RemoveSchema as PbOperation_RemoveSchema, Operation_EditSchema as PbOperation_EditSchema, Operation_StyleSchema as PbOperation_StyleSchema, Operation_IncreaseSchema as PbOperation_IncreaseSchema, Operation_TreeEditSchema as PbOperation_TreeEditSchema, Operation_TreeStyleSchema as PbOperation_TreeStyleSchema, Operation_ArraySetSchema as PbOperation_ArraySetSchema, RevisionSummary as PbRevisionSummary, } from '@yorkie-js/sdk/src/api/yorkie/v1/resources_pb'; import { IncreaseOperation } from '@yorkie-js/sdk/src/document/operation/increase_operation'; import { CounterType, CRDTCounter, } from '@yorkie-js/sdk/src/document/crdt/counter'; import { CRDTTree, CRDTTreeNode, CRDTTreeNodeID, } from '@yorkie-js/sdk/src/document/crdt/tree'; import { traverseAll } from '../util/index_tree'; import { TreeStyleOperation } from '../document/operation/tree_style_operation'; import { RHT } from '../document/crdt/rht'; import { ArraySetOperation } from '../document/operation/array_set_operation'; import { RevisionSummary } from './revision'; /** * `toPresence` converts the given model to Protobuf format. */ function toPresence(presence: Indexable): PbPresence { const pbDataMap: { [key: string]: string } = {}; for (const [key, value] of Object.entries(presence)) { pbDataMap[key] = JSON.stringify(value); } return create(PbPresenceSchema, { data: pbDataMap }); } /** * `toPresenceChange` converts the given model to Protobuf format. */ function toPresenceChange( presenceChange: PresenceChange, ): PbPresenceChange { if (presenceChange.type === PresenceChangeType.Put) { return create(PbPresenceChangeSchema, { type: PbPresenceChange_ChangeType.PUT, presence: toPresence(presenceChange.presence), }); } if (presenceChange.type === PresenceChangeType.Clear) { return create(PbPresenceChangeSchema, { type: PbPresenceChange_ChangeType.CLEAR, }); } throw new YorkieError(Code.ErrUnimplemented, `unimplemented type`); } /** * `toCheckpoint` converts the given model to Protobuf format. */ function toCheckpoint(checkpoint: Checkpoint): PbCheckpoint { return create(PbCheckpointSchema, { serverSeq: checkpoint.getServerSeq(), clientSeq: checkpoint.getClientSeq(), }); } /** * `toChangeID` converts the given model to Protobuf format. */ function toChangeID(changeID: ChangeID): PbChangeID { return create(PbChangeIDSchema, { clientSeq: changeID.getClientSeq(), lamport: changeID.getLamport(), actorId: toUint8Array(changeID.getActorID()), versionVector: toVersionVector(changeID.getVersionVector()), }); } /** * `toTimeTicket` converts the given model to Protobuf format. */ function toTimeTicket(ticket?: TimeTicket): PbTimeTicket | undefined { if (!ticket) { return; } return create(PbTimeTicketSchema, { lamport: ticket.getLamport(), delimiter: ticket.getDelimiter(), actorId: toUint8Array(ticket.getActorID()), }); } /** * `toVersionVector` converts the given model to Protobuf format. */ function toVersionVector(vector?: VersionVector): PbVersionVector | undefined { if (!vector) { return; } const pbVector = create(PbVersionVectorSchema); for (const [actorID, lamport] of vector) { const base64ActorID = uint8ArrayToBase64(toUint8Array(actorID)); pbVector.vector[base64ActorID] = BigInt(lamport.toString()); } return pbVector; } /** * `toValueType` converts the given model to Protobuf format. */ function toValueType(valueType: PrimitiveType): PbValueType { switch (valueType) { case PrimitiveType.Null: return PbValueType.NULL; case PrimitiveType.Boolean: return PbValueType.BOOLEAN; case PrimitiveType.Integer: return PbValueType.INTEGER; case PrimitiveType.Long: return PbValueType.LONG; case PrimitiveType.Double: return PbValueType.DOUBLE; case PrimitiveType.String: return PbValueType.STRING; case PrimitiveType.Bytes: return PbValueType.BYTES; case PrimitiveType.Date: return PbValueType.DATE; default: throw new YorkieError( Code.ErrInvalidType, `unsupported type: ${valueType}`, ); } } /** * `toCounterType` converts the given model to Protobuf format. */ function toCounterType(valueType: CounterType): PbValueType { switch (valueType) { case CounterType.Int: return PbValueType.INTEGER_CNT; case CounterType.Long: return PbValueType.LONG_CNT; case CounterType.IntDedup: return PbValueType.INTEGER_DEDUP_CNT; default: throw new YorkieError( Code.ErrInvalidType, `unsupported type: ${valueType}`, ); } } /** * `toElementSimple` converts the given model to Protobuf format. */ function toElementSimple(element: CRDTElement): PbJSONElementSimple { if (element instanceof CRDTObject) { return create(PbJSONElementSimpleSchema, { type: PbValueType.JSON_OBJECT, createdAt: toTimeTicket(element.getCreatedAt()), value: objectToBytes(element), }); } if (element instanceof CRDTArray) { return create(PbJSONElementSimpleSchema, { type: PbValueType.JSON_ARRAY, createdAt: toTimeTicket(element.getCreatedAt()), value: arrayToBytes(element), }); } if (element instanceof CRDTText) { return create(PbJSONElementSimpleSchema, { type: PbValueType.TEXT, createdAt: toTimeTicket(element.getCreatedAt()), }); } if (element instanceof Primitive) { return create(PbJSONElementSimpleSchema, { type: toValueType(element.getType()), createdAt: toTimeTicket(element.getCreatedAt()), value: element.toBytes(), }); } if (element instanceof CRDTCounter) { return create(PbJSONElementSimpleSchema, { type: toCounterType(element.getType()), createdAt: toTimeTicket(element.getCreatedAt()), value: element.toBytes(), }); } if (element instanceof CRDTTree) { return create(PbJSONElementSimpleSchema, { type: PbValueType.TREE, createdAt: toTimeTicket(element.getCreatedAt()), value: treeToBytes(element), }); } throw new YorkieError(Code.ErrUnimplemented, `unimplemented element`); } /** * `toTextNodeID` converts the given model to Protobuf format. */ function toTextNodeID(id: RGATreeSplitNodeID): PbTextNodeID { return create(PbTextNodeIDSchema, { createdAt: toTimeTicket(id.getCreatedAt()), offset: id.getOffset(), }); } /** * `toTextNodePos` converts the given model to Protobuf format. */ function toTextNodePos(pos: RGATreeSplitPos): PbTextNodePos { return create(PbTextNodePosSchema, { createdAt: toTimeTicket(pos.getID().getCreatedAt()), offset: pos.getID().getOffset(), relativeOffset: pos.getRelativeOffset(), }); } /** * `toTreePos` converts the given model to Protobuf format. */ function toTreePos(pos: CRDTTreePos): PbTreePos { return create(PbTreePosSchema, { parentId: toTreeNodeID(pos.getParentID()), leftSiblingId: toTreeNodeID(pos.getLeftSiblingID()), }); } /** * `toTreeNodeID` converts the given model to Protobuf format. */ function toTreeNodeID(treeNodeID: CRDTTreeNodeID): PbTreeNodeID { return create(PbTreeNodeIDSchema, { createdAt: toTimeTicket(treeNodeID.getCreatedAt()), offset: treeNodeID.getOffset(), }); } /** * `toOperation` converts the given model to Protobuf format. */ function toOperation(operation: Operation): PbOperation { const pbOperation = create(PbOperationSchema); if (operation instanceof SetOperation) { const setOperation = operation as SetOperation; const pbSetOperation = create(PbOperation_SetSchema); pbSetOperation.parentCreatedAt = toTimeTicket( setOperation.getParentCreatedAt(), ); pbSetOperation.key = setOperation.getKey(); pbSetOperation.value = toElementSimple(setOperation.getValue()); pbSetOperation.executedAt = toTimeTicket(setOperation.getExecutedAt()); pbOperation.body.case = 'set'; pbOperation.body.value = pbSetOperation; } else if (operation instanceof AddOperation) { const addOperation = operation as AddOperation; const pbAddOperation = create(PbOperation_AddSchema); pbAddOperation.parentCreatedAt = toTimeTicket( addOperation.getParentCreatedAt(), ); pbAddOperation.prevCreatedAt = toTimeTicket( addOperation.getPrevCreatedAt(), ); pbAddOperation.value = toElementSimple(addOperation.getValue()); pbAddOperation.executedAt = toTimeTicket(addOperation.getExecutedAt()); pbOperation.body.case = 'add'; pbOperation.body.value = pbAddOperation; } else if (operation instanceof MoveOperation) { const moveOperation = operation as MoveOperation; const pbMoveOperation = create(PbOperation_MoveSchema); pbMoveOperation.parentCreatedAt = toTimeTicket( moveOperation.getParentCreatedAt(), ); pbMoveOperation.prevCreatedAt = toTimeTicket( moveOperation.getPrevCreatedAt(), ); pbMoveOperation.createdAt = toTimeTicket(moveOperation.getCreatedAt()); pbMoveOperation.executedAt = toTimeTicket(moveOperation.getExecutedAt()); pbOperation.body.case = 'move'; pbOperation.body.value = pbMoveOperation; } else if (operation instanceof RemoveOperation) { const removeOperation = operation as RemoveOperation; const pbRemoveOperation = create(PbOperation_RemoveSchema); pbRemoveOperation.parentCreatedAt = toTimeTicket( removeOperation.getParentCreatedAt(), ); pbRemoveOperation.createdAt = toTimeTicket(removeOperation.getCreatedAt()); pbRemoveOperation.executedAt = toTimeTicket( removeOperation.getExecutedAt(), ); pbOperation.body.case = 'remove'; pbOperation.body.value = pbRemoveOperation; } else if (operation instanceof EditOperation) { const editOperation = operation as EditOperation; const pbEditOperation = create(PbOperation_EditSchema); pbEditOperation.parentCreatedAt = toTimeTicket( editOperation.getParentCreatedAt(), ); pbEditOperation.from = toTextNodePos(editOperation.getFromPos()); pbEditOperation.to = toTextNodePos(editOperation.getToPos()); pbEditOperation.content = editOperation.getContent(); const pbAttributes = pbEditOperation.attributes; for (const [key, value] of editOperation.getAttributes()) { pbAttributes[key] = value; } pbEditOperation.executedAt = toTimeTicket(editOperation.getExecutedAt()); pbOperation.body.case = 'edit'; pbOperation.body.value = pbEditOperation; } else if (operation instanceof StyleOperation) { const styleOperation = operation as StyleOperation; const pbStyleOperation = create(PbOperation_StyleSchema); pbStyleOperation.parentCreatedAt = toTimeTicket( styleOperation.getParentCreatedAt(), ); pbStyleOperation.from = toTextNodePos(styleOperation.getFromPos()); pbStyleOperation.to = toTextNodePos(styleOperation.getToPos()); const attributesToRemove = styleOperation.getAttributesToRemove(); if (attributesToRemove.length > 0) { pbStyleOperation.attributesToRemove = attributesToRemove; } const pbAttributes = pbStyleOperation.attributes; for (const [key, value] of styleOperation.getAttributes()) { pbAttributes[key] = value; } pbStyleOperation.executedAt = toTimeTicket(styleOperation.getExecutedAt()); pbOperation.body.case = 'style'; pbOperation.body.value = pbStyleOperation; } else if (operation instanceof IncreaseOperation) { const increaseOperation = operation as IncreaseOperation; const pbIncreaseOperation = create(PbOperation_IncreaseSchema); pbIncreaseOperation.parentCreatedAt = toTimeTicket( increaseOperation.getParentCreatedAt(), ); pbIncreaseOperation.value = toElementSimple(increaseOperation.getValue()); pbIncreaseOperation.executedAt = toTimeTicket( increaseOperation.getExecutedAt(), ); pbIncreaseOperation.actor = increaseOperation.getActor(); pbOperation.body.case = 'increase'; pbOperation.body.value = pbIncreaseOperation; } else if (operation instanceof TreeEditOperation) { const treeEditOperation = operation as TreeEditOperation; const pbTreeEditOperation = create(PbOperation_TreeEditSchema); pbTreeEditOperation.parentCreatedAt = toTimeTicket( treeEditOperation.getParentCreatedAt(), ); pbTreeEditOperation.from = toTreePos(treeEditOperation.getFromPos()); pbTreeEditOperation.to = toTreePos(treeEditOperation.getToPos()); pbTreeEditOperation.contents = toTreeNodesWhenEdit( treeEditOperation.getContents()!, ); pbTreeEditOperation.splitLevel = treeEditOperation.getSplitLevel(); pbTreeEditOperation.executedAt = toTimeTicket( treeEditOperation.getExecutedAt(), ); pbOperation.body.case = 'treeEdit'; pbOperation.body.value = pbTreeEditOperation; } else if (operation instanceof TreeStyleOperation) { const treeStyleOperation = operation as TreeStyleOperation; const pbTreeStyleOperation = create(PbOperation_TreeStyleSchema); pbTreeStyleOperation.parentCreatedAt = toTimeTicket( treeStyleOperation.getParentCreatedAt(), ); pbTreeStyleOperation.from = toTreePos(treeStyleOperation.getFromPos()); pbTreeStyleOperation.to = toTreePos(treeStyleOperation.getToPos()); const attributesToRemove = treeStyleOperation.getAttributesToRemove(); if (attributesToRemove.length > 0) { pbTreeStyleOperation.attributesToRemove = attributesToRemove; } else { const attributesMap = pbTreeStyleOperation.attributes; for (const [key, value] of treeStyleOperation.getAttributes()) { attributesMap[key] = value; } } pbTreeStyleOperation.executedAt = toTimeTicket( treeStyleOperation.getExecutedAt(), ); pbOperation.body.case = 'treeStyle'; pbOperation.body.value = pbTreeStyleOperation; } else if (operation instanceof ArraySetOperation) { const arraySetOperation = operation as ArraySetOperation; const pbArraySetOperation = create(PbOperation_ArraySetSchema); pbArraySetOperation.parentCreatedAt = toTimeTicket( arraySetOperation.getParentCreatedAt(), ); pbArraySetOperation.createdAt = toTimeTicket( arraySetOperation.getCreatedAt(), ); pbArraySetOperation.value = toElementSimple(arraySetOperation.getValue()); pbArraySetOperation.executedAt = toTimeTicket( arraySetOperation.getExecutedAt(), ); pbOperation.body.case = 'arraySet'; pbOperation.body.value = pbArraySetOperation; } else { throw new YorkieError(Code.ErrUnimplemented, 'unimplemented operation'); } return pbOperation; } /** * `toOperations` converts the given model to Protobuf format. */ function toOperations(operations: Array): Array { const pbOperations = []; for (const operation of operations) { pbOperations.push(toOperation(operation)); } return pbOperations; } /** * `toChange` converts the given model to Protobuf format. */ function toChange(change: Change): PbChange { const pbChange = create(PbChangeSchema, { id: toChangeID(change.getID()), message: change.getMessage(), }); if (change.hasOperations()) { pbChange.operations = toOperations(change.getOperations()); } if (change.hasPresenceChange()) { pbChange.presenceChange = toPresenceChange(change.getPresenceChange()!); } return pbChange; } /** * `toChanges` converts the given model to Protobuf format. */ function toChanges(changes: Array>): Array { const pbChanges = []; for (const change of changes) { pbChanges.push(toChange(change)); } return pbChanges; } /** * `toRHTNodes` converts the given model to Protobuf format. */ function toRHTNodes(rht: ElementRHT): Array { const pbRHTNodes = []; for (const rhtNode of rht) { pbRHTNodes.push( create(PbRHTNodeSchema, { key: rhtNode.getStrKey(), element: toElement(rhtNode.getValue()), }), ); } return pbRHTNodes; } /** * `toRGANodes` converts the given model to Protobuf format. * Includes both live element nodes and dead position nodes. */ function toRGANodes(arr: CRDTArray): Array { const pbRGANodes = []; for (const rgaNode of arr.getAllRGANodes()) { if (!rgaNode.getElementEntry()) { // Dead position node (abandoned by a move). pbRGANodes.push( create(PbRGANodeSchema, { positionCreatedAt: toTimeTicket(rgaNode.getPositionCreatedAt()), positionRemovedAt: toTimeTicket(rgaNode.getRemovedAt()), }), ); continue; } const pbNode = create(PbRGANodeSchema, { element: toElement(rgaNode.getValue()), }); if (rgaNode.getPositionMovedAt()) { pbNode.positionMovedAt = toTimeTicket(rgaNode.getPositionMovedAt()); pbNode.positionCreatedAt = toTimeTicket(rgaNode.getPositionCreatedAt()); } pbRGANodes.push(pbNode); } return pbRGANodes; } /** * `toTextNodes` converts the given model to Protobuf format. */ function toTextNodes( rgaTreeSplit: RGATreeSplit, ): Array { const pbTextNodes = []; for (const textNode of rgaTreeSplit) { const pbTextNode = create(PbTextNodeSchema); pbTextNode.id = toTextNodeID(textNode.getID()); pbTextNode.value = textNode.getValue().getContent(); pbTextNode.removedAt = toTimeTicket(textNode.getRemovedAt()); const pbNodeAttrsMap = pbTextNode.attributes; const attrs = textNode.getValue().getAttrs(); for (const attr of attrs) { const pbNodeAttr = create(PbNodeAttrSchema); pbNodeAttr.value = attr.getValue(); pbNodeAttr.updatedAt = toTimeTicket(attr.getUpdatedAt()); pbNodeAttrsMap[attr.getKey()] = pbNodeAttr; } pbTextNodes.push(pbTextNode); } return pbTextNodes; } /** * `toTreeNodesWhenEdit` converts the given model to Protobuf format. */ function toTreeNodesWhenEdit(nodes: Array): Array { const pbTreeNodesList: Array = []; if (!nodes || !nodes.length) { return pbTreeNodesList; } for (const node of nodes) { pbTreeNodesList.push( create(PbTreeNodesSchema, { content: toTreeNodes(node), }), ); } return pbTreeNodesList; } /** * `toRHT` converts the given model to Protobuf format. */ function toRHT(rht: RHT): { [key: string]: PbNodeAttr } { const pbRHT: { [key: string]: PbNodeAttr } = {}; for (const node of rht) { pbRHT[node.getKey()] = create(PbNodeAttrSchema, { value: node.getValue(), updatedAt: toTimeTicket(node.getUpdatedAt()), isRemoved: node.isRemoved(), }); } return pbRHT; } /** * `toTreeNodes` converts the given model to Protobuf format. */ function toTreeNodes(node: CRDTTreeNode): Array { if (!node) { return []; } const pbTreeNodes: Array = []; traverseAll(node, (n, depth) => { const pbTreeNode = create(PbTreeNodeSchema, { id: toTreeNodeID(n.id), type: n.type, removedAt: toTimeTicket(n.removedAt), depth, }); if (n.isText) { pbTreeNode.value = n.value; } if (n.insPrevID) { pbTreeNode.insPrevId = toTreeNodeID(n.insPrevID); } if (n.insNextID) { pbTreeNode.insNextId = toTreeNodeID(n.insNextID); } if (n.mergedFrom) { pbTreeNode.mergedFrom = toTreeNodeID(n.mergedFrom); } if (n.mergedAt) { pbTreeNode.mergedAt = toTimeTicket(n.mergedAt); } if (n.attrs) { pbTreeNode.attributes = toRHT(n.attrs); } pbTreeNodes.push(pbTreeNode); }); return pbTreeNodes; } /** * `toObject` converts the given model to Protobuf format. */ function toObject(obj: CRDTObject): PbJSONElement { return create(PbJSONElementSchema, { body: { case: 'jsonObject', value: create(PbJSONElement_JSONObjectSchema, { nodes: toRHTNodes(obj.getRHT()), createdAt: toTimeTicket(obj.getCreatedAt()), movedAt: toTimeTicket(obj.getMovedAt()), removedAt: toTimeTicket(obj.getRemovedAt()), }), }, }); } /** * `toArray` converts the given model to Protobuf format. */ function toArray(arr: CRDTArray): PbJSONElement { return create(PbJSONElementSchema, { body: { case: 'jsonArray', value: create(PbJSONElement_JSONArraySchema, { nodes: toRGANodes(arr), createdAt: toTimeTicket(arr.getCreatedAt()), movedAt: toTimeTicket(arr.getMovedAt()), removedAt: toTimeTicket(arr.getRemovedAt()), }), }, }); } /** * `toPrimitive` converts the given model to Protobuf format. */ function toPrimitive(primitive: Primitive): PbJSONElement { return create(PbJSONElementSchema, { body: { case: 'primitive', value: create(PbJSONElement_PrimitiveSchema, { type: toValueType(primitive.getType()), value: primitive.toBytes(), createdAt: toTimeTicket(primitive.getCreatedAt()), movedAt: toTimeTicket(primitive.getMovedAt()), removedAt: toTimeTicket(primitive.getRemovedAt()), }), }, }); } /** * `toText` converts the given model to Protobuf format. */ function toText(text: CRDTText>): PbJSONElement { return create(PbJSONElementSchema, { body: { case: 'text', value: create(PbJSONElement_TextSchema, { nodes: toTextNodes(text.getRGATreeSplit()), createdAt: toTimeTicket(text.getCreatedAt()), movedAt: toTimeTicket(text.getMovedAt()), removedAt: toTimeTicket(text.getRemovedAt()), }), }, }); } /** * `toCounter` converts the given model to Protobuf format. */ function toCounter(counter: CRDTCounter): PbJSONElement { return create(PbJSONElementSchema, { body: { case: 'counter', value: create(PbJSONElement_CounterSchema, { type: toCounterType(counter.getType()), value: counter.toBytes(), createdAt: toTimeTicket(counter.getCreatedAt()), movedAt: toTimeTicket(counter.getMovedAt()), removedAt: toTimeTicket(counter.getRemovedAt()), hllRegisters: counter.hllBytes() || new Uint8Array(), }), }, }); } /** * `toTree` converts the given model to Protobuf format. */ function toTree(tree: CRDTTree): PbJSONElement { return create(PbJSONElementSchema, { body: { case: 'tree', value: create(PbJSONElement_TreeSchema, { nodes: toTreeNodes(tree.getRoot()), createdAt: toTimeTicket(tree.getCreatedAt()), movedAt: toTimeTicket(tree.getMovedAt()), removedAt: toTimeTicket(tree.getRemovedAt()), }), }, }); } /** * `toElement` converts the given model to Protobuf format. */ function toElement(element: CRDTElement): PbJSONElement { if (element instanceof CRDTObject) { return toObject(element); } if (element instanceof CRDTArray) { return toArray(element); } if (element instanceof Primitive) { return toPrimitive(element); } if (element instanceof CRDTText) { return toText(element); } if (element instanceof CRDTCounter) { return toCounter(element); } if (element instanceof CRDTTree) { return toTree(element); } throw new YorkieError(Code.ErrUnimplemented, `unimplemented element`); } /** * `toChangePack` converts the given model to Protobuf format. */ function toChangePack(pack: ChangePack): PbChangePack { return create(PbChangePackSchema, { documentKey: pack.getDocumentKey(), checkpoint: toCheckpoint(pack.getCheckpoint()), isRemoved: pack.getIsRemoved(), changes: toChanges(pack.getChanges()), snapshot: pack.getSnapshot(), versionVector: toVersionVector(pack.getVersionVector()), }); } /** * `toRevisionSummary` converts a protobuf RevisionSummary to a RevisionSummary. */ export function toRevisionSummary( pbRevision: PbRevisionSummary, ): RevisionSummary { return { id: pbRevision.id, label: pbRevision.label, description: pbRevision.description, snapshot: pbRevision.snapshot, createdAt: pbRevision.createdAt ? timestampDate(pbRevision.createdAt) : new Date(), }; } /** * `errorMetadataOf` returns the error metadata of the given connect error. */ export function errorMetadataOf(error: ConnectError): Record { if (!(error instanceof ConnectError)) { return {}; } // NOTE(chacha912): Currently, we only use the first detail to represent the // error metadata. const infos = error.findDetails(ErrorInfoSchema); for (const info of infos) { return info.metadata; } return {}; } /** * `errorCodeOf` returns the error code of the given connect error. */ export function errorCodeOf(error: ConnectError): string { return errorMetadataOf(error).code ?? ''; } /** * `isErrorCode` checks if the error is a ConnectError with the given error code. */ export function isErrorCode( error: unknown, code: string, ): error is ConnectError { return error instanceof ConnectError && errorCodeOf(error) === code; } /** * `fromChangeID` converts the given Protobuf format to model format. */ function fromChangeID(pbChangeID: PbChangeID): ChangeID { // TODO(hackerwins): Remove BigInt conversion. Some of the bigint values are // passed as string in the protobuf. We should fix this in the future. return ChangeID.of( pbChangeID.clientSeq, BigInt(pbChangeID.lamport), toHexString(pbChangeID.actorId), fromVersionVector(pbChangeID.versionVector)!, BigInt(pbChangeID.serverSeq), ); } /** * `fromVersionVector` converts the given Protobuf format to model format. */ function fromVersionVector( pbVersionVector?: PbVersionVector, ): VersionVector | undefined { if (!pbVersionVector) { return; } const vector = new VersionVector(); Object.entries(pbVersionVector.vector).forEach(([key, value]) => { const hexKey = bytesToHex(base64ToUint8Array(key)); vector.set(hexKey, BigInt(value.toString())); }); return vector; } /** * `fromTimeTicket` converts the given Protobuf format to model format. */ function fromTimeTicket(pbTimeTicket?: PbTimeTicket): TimeTicket | undefined { if (!pbTimeTicket) { return; } return TimeTicket.of( BigInt(pbTimeTicket.lamport), pbTimeTicket.delimiter, toHexString(pbTimeTicket.actorId), ); } /** * `fromPresence` converts the given Protobuf format to model format. */ function fromPresence

    (pbPresence: PbPresence): P { const data: Record = {}; Object.entries(pbPresence.data).forEach(([key, value]) => { data[key] = JSON.parse(value); }); return data as P; } /** * `fromPresenceChange` converts the given Protobuf format to model format. */ function fromPresenceChange

    ( pbPresenceChange: PbPresenceChange, ): PresenceChange

    { const type = pbPresenceChange.type; if (type === PbPresenceChange_ChangeType.PUT) { const presence = fromPresence

    (pbPresenceChange.presence!); return { type: PresenceChangeType.Put, presence, }; } if (type === PbPresenceChange_ChangeType.CLEAR) { return { type: PresenceChangeType.Clear, }; } throw new YorkieError(Code.ErrInvalidType, `unsupported type: ${type}`); } /** * `fromPresences` converts the given Protobuf format to model format. */ function fromPresences

    (pbPresences: { [key: string]: PbPresence; }): Map { const presences = new Map(); Object.entries(pbPresences).forEach(([actorID, pbPresence]) => { presences.set(actorID, fromPresence(pbPresence)); }); return presences; } /** * `fromValueType` converts the given Protobuf format to model format. */ function fromValueType(pbValueType: PbValueType): PrimitiveType { switch (pbValueType) { case PbValueType.NULL: return PrimitiveType.Null; case PbValueType.BOOLEAN: return PrimitiveType.Boolean; case PbValueType.INTEGER: return PrimitiveType.Integer; case PbValueType.LONG: return PrimitiveType.Long; case PbValueType.DOUBLE: return PrimitiveType.Double; case PbValueType.STRING: return PrimitiveType.String; case PbValueType.BYTES: return PrimitiveType.Bytes; case PbValueType.DATE: return PrimitiveType.Date; } throw new YorkieError( Code.ErrUnimplemented, `unimplemented value type: ${pbValueType}`, ); } /** * `fromCounterType` converts the given Protobuf format to model format. */ function fromCounterType(pbValueType: PbValueType): CounterType { switch (pbValueType) { case PbValueType.INTEGER_CNT: return CounterType.Int; case PbValueType.LONG_CNT: return CounterType.Long; case PbValueType.INTEGER_DEDUP_CNT: return CounterType.IntDedup; } throw new YorkieError( Code.ErrUnimplemented, `unimplemented value type: ${pbValueType}`, ); } /** * `fromElementSimple` converts the given Protobuf format to model format. */ function fromElementSimple(pbElementSimple: PbJSONElementSimple): CRDTElement { switch (pbElementSimple.type) { case PbValueType.JSON_OBJECT: if (!pbElementSimple.value) { return CRDTObject.create(fromTimeTicket(pbElementSimple.createdAt)!); } return bytesToObject(pbElementSimple.value); case PbValueType.JSON_ARRAY: if (!pbElementSimple.value) { return CRDTArray.create(fromTimeTicket(pbElementSimple.createdAt)!); } return bytesToArray(pbElementSimple.value); case PbValueType.TEXT: return CRDTText.create( RGATreeSplit.create(), fromTimeTicket(pbElementSimple.createdAt)!, ); case PbValueType.TREE: return bytesToTree(pbElementSimple.value)!; case PbValueType.NULL: case PbValueType.BOOLEAN: case PbValueType.INTEGER: case PbValueType.LONG: case PbValueType.DOUBLE: case PbValueType.STRING: case PbValueType.BYTES: case PbValueType.DATE: return Primitive.of( Primitive.valueFromBytes( fromValueType(pbElementSimple.type), pbElementSimple.value, ), fromTimeTicket(pbElementSimple.createdAt)!, ); case PbValueType.INTEGER_CNT: case PbValueType.LONG_CNT: case PbValueType.INTEGER_DEDUP_CNT: return CRDTCounter.create( fromCounterType(pbElementSimple.type), CRDTCounter.valueFromBytes( fromCounterType(pbElementSimple.type), pbElementSimple.value, ), fromTimeTicket(pbElementSimple.createdAt)!, ); } } /** * `fromTextNodePos` converts the given Protobuf format to model format. */ function fromTextNodePos(pbTextNodePos: PbTextNodePos): RGATreeSplitPos { return RGATreeSplitPos.of( RGATreeSplitNodeID.of( fromTimeTicket(pbTextNodePos.createdAt)!, pbTextNodePos.offset, ), pbTextNodePos.relativeOffset, ); } /** * `fromTextNodeID` converts the given Protobuf format to model format. */ function fromTextNodeID(pbTextNodeID: PbTextNodeID): RGATreeSplitNodeID { return RGATreeSplitNodeID.of( fromTimeTicket(pbTextNodeID.createdAt)!, pbTextNodeID.offset, ); } /** * `fromTextNode` converts the given Protobuf format to model format. */ function fromTextNode(pbTextNode: PbTextNode): RGATreeSplitNode { const textValue = CRDTTextValue.create(pbTextNode.value); Object.entries(pbTextNode.attributes).forEach(([key, value]) => { textValue.setAttr(key, value.value, fromTimeTicket(value.updatedAt)!); }); const textNode = RGATreeSplitNode.create( fromTextNodeID(pbTextNode.id!), textValue, ); textNode.setRemovedAt(fromTimeTicket(pbTextNode.removedAt)); return textNode; } /** * `fromTreePos` converts the given Protobuf format to model format. */ function fromTreePos(pbTreePos: PbTreePos): CRDTTreePos { return CRDTTreePos.of( fromTreeNodeID(pbTreePos.parentId!), fromTreeNodeID(pbTreePos.leftSiblingId!), ); } /** * `fromTreeNodeID` converts the given Protobuf format to model format. */ function fromTreeNodeID(pbTreeNodeID: PbTreeNodeID): CRDTTreeNodeID { return CRDTTreeNodeID.of( fromTimeTicket(pbTreeNodeID.createdAt)!, pbTreeNodeID.offset, ); } /** * `fromTreeNodesWhenEdit` converts the given Protobuf format to model format. */ function fromTreeNodesWhenEdit( pbTreeNodes: Array, ): Array | undefined { if (!pbTreeNodes.length) { return; } const treeNodes: Array = []; pbTreeNodes.forEach((node) => { const treeNode = fromTreeNodes(node.content); treeNodes.push(treeNode!); }); return treeNodes; } /** * `fromTreeNodes` converts the given Protobuf format to model format. */ function fromTreeNodes( pbTreeNodes: Array, ): CRDTTreeNode | undefined { if (pbTreeNodes.length === 0) { return; } const nodes: Array = []; for (const pbTreeNode of pbTreeNodes) { nodes.push(fromTreeNode(pbTreeNode)); } const root = nodes[nodes.length - 1]; const depthTable = new Map(); depthTable.set(pbTreeNodes[nodes.length - 1].depth, nodes[nodes.length - 1]); for (let i = nodes.length - 2; i >= 0; i--) { const parent = depthTable.get(pbTreeNodes[i].depth - 1); parent!.prepend(nodes[i]); depthTable.set(pbTreeNodes[i].depth, nodes[i]); } root.updateDescendantsSize(); root.updateDescendantsSize(true); // build CRDTTree from the root to construct the links between nodes. return CRDTTree.create(root, InitialTimeTicket).getRoot(); } /** * `fromRHT` converts the given Protobuf format to model format. */ function fromRHT(pbRHT: { [key: string]: PbNodeAttr }): RHT { const rht = RHT.create(); for (const [key, pbRHTNode] of Object.entries(pbRHT)) { rht.setInternal( key, pbRHTNode.value, fromTimeTicket(pbRHTNode.updatedAt)!, pbRHTNode.isRemoved, ); } return rht; } /** * `fromTreeNode` converts the given Protobuf format to model format. */ function fromTreeNode(pbTreeNode: PbTreeNode): CRDTTreeNode { const id = fromTreeNodeID(pbTreeNode.id!); const node = CRDTTreeNode.create(id, pbTreeNode.type); const pbAttrs = Object.entries(pbTreeNode.attributes); if (node.isText) { node.value = pbTreeNode.value; } else if (pbAttrs.length) { node.attrs = fromRHT(pbTreeNode.attributes); } if (pbTreeNode.insPrevId) { node.insPrevID = fromTreeNodeID(pbTreeNode.insPrevId); } if (pbTreeNode.insNextId) { node.insNextID = fromTreeNodeID(pbTreeNode.insNextId); } if (pbTreeNode.mergedFrom) { node.mergedFrom = fromTreeNodeID(pbTreeNode.mergedFrom); } if (pbTreeNode.mergedAt) { node.mergedAt = fromTimeTicket(pbTreeNode.mergedAt); } node.removedAt = fromTimeTicket(pbTreeNode.removedAt); return node; } /** * `fromOperation` converts the given Protobuf format to model format. */ function fromOperation(pbOperation: PbOperation): Operation | undefined { if (pbOperation.body.case === 'set') { const pbSetOperation = pbOperation.body.value; return SetOperation.create( pbSetOperation!.key, fromElementSimple(pbSetOperation!.value!), fromTimeTicket(pbSetOperation!.parentCreatedAt)!, fromTimeTicket(pbSetOperation!.executedAt)!, ); } else if (pbOperation.body.case === 'add') { const pbAddOperation = pbOperation.body.value; return AddOperation.create( fromTimeTicket(pbAddOperation!.parentCreatedAt)!, fromTimeTicket(pbAddOperation!.prevCreatedAt)!, fromElementSimple(pbAddOperation!.value!), fromTimeTicket(pbAddOperation!.executedAt)!, ); } else if (pbOperation.body.case === 'move') { const pbMoveOperation = pbOperation.body.value; return MoveOperation.create( fromTimeTicket(pbMoveOperation!.parentCreatedAt)!, fromTimeTicket(pbMoveOperation!.prevCreatedAt)!, fromTimeTicket(pbMoveOperation!.createdAt)!, fromTimeTicket(pbMoveOperation!.executedAt)!, ); } else if (pbOperation.body.case === 'remove') { const pbRemoveOperation = pbOperation.body.value; return RemoveOperation.create( fromTimeTicket(pbRemoveOperation!.parentCreatedAt)!, fromTimeTicket(pbRemoveOperation!.createdAt)!, fromTimeTicket(pbRemoveOperation!.executedAt)!, ); } else if (pbOperation.body.case === 'edit') { const pbEditOperation = pbOperation.body.value; const attributes = new Map(); Object.entries(pbEditOperation!.attributes).forEach(([key, value]) => { attributes.set(key, value); }); return EditOperation.create( fromTimeTicket(pbEditOperation!.parentCreatedAt)!, fromTextNodePos(pbEditOperation!.from!), fromTextNodePos(pbEditOperation!.to!), pbEditOperation!.content, attributes, fromTimeTicket(pbEditOperation!.executedAt)!, ); } else if (pbOperation.body.case === 'style') { const pbStyleOperation = pbOperation.body.value; const attributes = new Map(); Object.entries(pbStyleOperation!.attributes).forEach(([key, value]) => { attributes.set(key, value); }); const attributesToRemove = pbStyleOperation!.attributesToRemove ?? []; return new StyleOperation( fromTimeTicket(pbStyleOperation!.parentCreatedAt)!, fromTextNodePos(pbStyleOperation!.from!), fromTextNodePos(pbStyleOperation!.to!), attributes, attributesToRemove, fromTimeTicket(pbStyleOperation!.executedAt)!, ); } else if (pbOperation.body.case === 'increase') { const pbIncreaseOperation = pbOperation.body.value; return IncreaseOperation.create( fromTimeTicket(pbIncreaseOperation!.parentCreatedAt)!, fromElementSimple(pbIncreaseOperation!.value!), fromTimeTicket(pbIncreaseOperation!.executedAt)!, pbIncreaseOperation!.actor || undefined, ); } else if (pbOperation.body.case === 'treeEdit') { const pbTreeEditOperation = pbOperation.body.value; return TreeEditOperation.create( fromTimeTicket(pbTreeEditOperation!.parentCreatedAt)!, fromTreePos(pbTreeEditOperation!.from!), fromTreePos(pbTreeEditOperation!.to!), fromTreeNodesWhenEdit(pbTreeEditOperation!.contents), pbTreeEditOperation!.splitLevel, fromTimeTicket(pbTreeEditOperation!.executedAt)!, ); } else if (pbOperation.body.case === 'treeStyle') { const pbTreeStyleOperation = pbOperation.body.value; const attributes = new Map(); const attributesToRemove = pbTreeStyleOperation.attributesToRemove; if (attributesToRemove?.length > 0) { return TreeStyleOperation.createTreeRemoveStyleOperation( fromTimeTicket(pbTreeStyleOperation!.parentCreatedAt)!, fromTreePos(pbTreeStyleOperation!.from!), fromTreePos(pbTreeStyleOperation!.to!), attributesToRemove, fromTimeTicket(pbTreeStyleOperation!.executedAt)!, ); } else { Object.entries(pbTreeStyleOperation!.attributes).forEach( ([key, value]) => { attributes.set(key, value); }, ); return TreeStyleOperation.create( fromTimeTicket(pbTreeStyleOperation!.parentCreatedAt)!, fromTreePos(pbTreeStyleOperation!.from!), fromTreePos(pbTreeStyleOperation!.to!), attributes, fromTimeTicket(pbTreeStyleOperation!.executedAt)!, ); } } else if (pbOperation.body.case === 'arraySet') { const pbArraySetOperation = pbOperation.body.value; return ArraySetOperation.create( fromTimeTicket(pbArraySetOperation!.parentCreatedAt)!, fromTimeTicket(pbArraySetOperation!.createdAt)!, fromElementSimple(pbArraySetOperation!.value!), fromTimeTicket(pbArraySetOperation!.executedAt)!, ); } else { throw new YorkieError(Code.ErrUnimplemented, `unimplemented operation`); } } /** * `fromOperations` converts the given Protobuf format to model format. */ function fromOperations(pbOperations: Array): Array { const operations = []; for (const pbOperation of pbOperations) { const operation = fromOperation(pbOperation); if (operation) { operations.push(operation); } } return operations; } /** * `fromChanges` converts the given Protobuf format to model format. */ function fromChanges

    ( pbChanges: Array, ): Array> { const changes: Array> = []; for (const pbChange of pbChanges) { changes.push( Change.create({ id: fromChangeID(pbChange.id!), operations: fromOperations(pbChange.operations), presenceChange: pbChange.presenceChange ? fromPresenceChange(pbChange.presenceChange!) : undefined, message: pbChange.message, }), ); } return changes; } /** * `fromCheckpoint` converts the given Protobuf format to model format. */ function fromCheckpoint(pbCheckpoint: PbCheckpoint): Checkpoint { return Checkpoint.of(BigInt(pbCheckpoint.serverSeq), pbCheckpoint.clientSeq); } /** * `fromChangePack` converts the given Protobuf format to model format. */ function fromChangePack

    ( pbPack: PbChangePack, ): ChangePack

    { return ChangePack.create

    ( pbPack.documentKey!, fromCheckpoint(pbPack.checkpoint!), pbPack.isRemoved, fromChanges(pbPack.changes), fromVersionVector(pbPack.versionVector), pbPack.snapshot, ); } /** * `fromObject` converts the given Protobuf format to model format. */ function fromObject(pbObject: PbJSONElement_JSONObject): CRDTObject { const rht = new ElementRHT(); for (const pbRHTNode of pbObject.nodes) { const value = fromElement(pbRHTNode.element!); rht.set(pbRHTNode.key, value, value.getPositionedAt()); } const obj = new CRDTObject(fromTimeTicket(pbObject.createdAt)!, rht); obj.setMovedAt(fromTimeTicket(pbObject.movedAt)); obj.setRemovedAt(fromTimeTicket(pbObject.removedAt)); return obj; } /** * `fromArray` converts the given Protobuf format to model format. */ function fromArray(pbArray: PbJSONElement_JSONArray): CRDTArray { const rgaTreeList = new RGATreeList(); for (const pbRGANode of pbArray.nodes) { if (!pbRGANode.element) { // Dead position node (abandoned by a move). if (!pbRGANode.positionCreatedAt || !pbRGANode.positionRemovedAt) { throw new YorkieError( Code.ErrInvalidArgument, 'dead RGA position node missing position timestamps', ); } const posCreatedAt = fromTimeTicket(pbRGANode.positionCreatedAt)!; const posRemovedAt = fromTimeTicket(pbRGANode.positionRemovedAt)!; rgaTreeList.addDeadPosition(posCreatedAt, posRemovedAt); continue; } const elem = fromElement(pbRGANode.element); const posMovedAt = fromTimeTicket(pbRGANode.positionMovedAt); if (posMovedAt) { if (!pbRGANode.positionCreatedAt) { throw new YorkieError( Code.ErrInvalidArgument, 'moved RGA node missing position_created_at', ); } const posCreatedAt = fromTimeTicket(pbRGANode.positionCreatedAt)!; rgaTreeList.addMovedElement(elem, posCreatedAt, posMovedAt); } else { rgaTreeList.insert(elem); } } const arr = new CRDTArray(fromTimeTicket(pbArray.createdAt)!, rgaTreeList); arr.setMovedAt(fromTimeTicket(pbArray.movedAt)); arr.setRemovedAt(fromTimeTicket(pbArray.removedAt)); return arr; } /** * `fromPrimitive` converts the given Protobuf format to model format. */ function fromPrimitive(pbPrimitive: PbJSONElement_Primitive): Primitive { const primitive = Primitive.of( Primitive.valueFromBytes( fromValueType(pbPrimitive.type), pbPrimitive.value, ), fromTimeTicket(pbPrimitive.createdAt)!, ); primitive.setMovedAt(fromTimeTicket(pbPrimitive.movedAt)); primitive.setRemovedAt(fromTimeTicket(pbPrimitive.removedAt)); return primitive; } /** * `fromText` converts the given Protobuf format to model format. */ function fromText( pbText: PbJSONElement_Text, ): CRDTText { const rgaTreeSplit = new RGATreeSplit(); let prev = rgaTreeSplit.getHead(); for (const pbNode of pbText.nodes) { const current = rgaTreeSplit.insertAfter(prev, fromTextNode(pbNode)); if (pbNode.insPrevId) { current.setInsPrev( rgaTreeSplit.findNode(fromTextNodeID(pbNode.insPrevId!)), ); } prev = current; } const text = new CRDTText(rgaTreeSplit, fromTimeTicket(pbText.createdAt)!); text.setMovedAt(fromTimeTicket(pbText.movedAt)); text.setRemovedAt(fromTimeTicket(pbText.removedAt)); return text; } /** * `fromCounter` converts the given Protobuf format to model format. */ function fromCounter(pbCounter: PbJSONElement_Counter): CRDTCounter { const counter = CRDTCounter.create( fromCounterType(pbCounter.type), CRDTCounter.valueFromBytes( fromCounterType(pbCounter.type), pbCounter.value, ), fromTimeTicket(pbCounter.createdAt)!, ); counter.setMovedAt(fromTimeTicket(pbCounter.movedAt)); counter.setRemovedAt(fromTimeTicket(pbCounter.removedAt)); if (counter.isDedup() && pbCounter.hllRegisters.length > 0) { counter.restoreHLL(pbCounter.hllRegisters); } return counter; } /** * `fromTree` converts the given Protobuf format to model format. */ function fromTree(pbTree: PbJSONElement_Tree): CRDTTree { const root = fromTreeNodes(pbTree.nodes); return CRDTTree.create(root!, fromTimeTicket(pbTree.createdAt)!); } /** * `fromElement` converts the given Protobuf format to model format. */ function fromElement(pbElement: PbJSONElement): CRDTElement { if (pbElement.body.case === 'jsonObject') { return fromObject(pbElement.body.value!); } else if (pbElement.body.case === 'jsonArray') { return fromArray(pbElement.body.value!); } else if (pbElement.body.case === 'primitive') { return fromPrimitive(pbElement.body.value!); } else if (pbElement.body.case === 'text') { return fromText(pbElement.body.value!); } else if (pbElement.body.case === 'counter') { return fromCounter(pbElement.body.value!); } else if (pbElement.body.case === 'tree') { return fromTree(pbElement.body.value!); } else { throw new YorkieError(Code.ErrUnimplemented, `unimplemented element`); } } /** * `fromSchemaRules` converts the given Protobuf format to model format. */ function fromSchemaRules(pbRules: Array): Array { return pbRules.map((pbRule) => { const rule: Record = { path: pbRule.path, type: pbRule.type, }; if (pbRule.treeNodes && pbRule.treeNodes.length > 0) { rule.treeNodes = pbRule.treeNodes.map((tn) => ({ nodeType: tn.nodeType, content: tn.content, marks: tn.marks, group: tn.group, })); } return rule as Rule; }); } /** * `bytesToSnapshot` creates a Snapshot from the given byte array. */ function bytesToSnapshot

    ( bytes?: Uint8Array, ): { root: CRDTObject; presences: Map; } { if (!bytes) { return { root: CRDTObject.create(InitialTimeTicket), presences: new Map(), }; } const snapshot = fromBinary(PbSnapshotSchema, bytes); return { root: fromElement(snapshot.root!) as CRDTObject, presences: fromPresences

    (snapshot.presences), }; } /** * `versionVectorToHex` converts the given VersionVector to bytes. */ function versionVectorToHex(vector: VersionVector): string { const pbVersionVector = toVersionVector(vector)!; return bytesToHex(toBinary(PbVersionVectorSchema, pbVersionVector)); } /** * `hexToVersionVector` creates a VersionVector from the given bytes. */ function hexToVersionVector(hex: string): VersionVector { const bytes = hexToBytes(hex); const pbVersionVector = fromBinary(PbVersionVectorSchema, bytes); return fromVersionVector(pbVersionVector)!; } /** * `bytesToObject` creates an JSONObject from the given byte array. */ function bytesToObject(bytes?: Uint8Array): CRDTObject { if (!bytes) { throw new YorkieError(Code.ErrInvalidArgument, 'bytes is empty'); } const pbElement = fromBinary(PbJSONElementSchema, bytes); return fromObject(pbElement.body.value! as PbJSONElement_JSONObject); } /** * `objectToBytes` converts the given JSONObject to byte array. */ function objectToBytes(obj: CRDTObject): Uint8Array { return toBinary(PbJSONElementSchema, toElement(obj)); } /** * `bytesToArray` creates an CRDTArray from the given bytes. */ function bytesToArray(bytes?: Uint8Array): CRDTArray { if (!bytes) { throw new YorkieError(Code.ErrInvalidArgument, 'bytes is empty'); } const pbElement = fromBinary(PbJSONElementSchema, bytes); return fromArray(pbElement.body.value! as PbJSONElement_JSONArray); } /** * `arrayToBytes` converts the given CRDTArray to bytes. */ function arrayToBytes(array: CRDTArray): Uint8Array { return toBinary(PbJSONElementSchema, toArray(array)); } /** * `bytesToTree` creates an CRDTTree from the given bytes. */ function bytesToTree(bytes?: Uint8Array): CRDTTree { if (!bytes) { throw new YorkieError(Code.ErrInvalidArgument, 'bytes is empty'); } const pbElement = fromBinary(PbJSONElementSchema, bytes); return fromTree(pbElement.body.value! as PbJSONElement_Tree); } /** * `treeToBytes` converts the given tree to bytes. */ function treeToBytes(tree: CRDTTree): Uint8Array { return toBinary(PbJSONElementSchema, toTree(tree)); } /** * `bytesToHex` creates an hex string from the given byte array. */ function bytesToHex(bytes?: Uint8Array): string { if (!bytes) { return ''; } return Array.from(bytes) .map((b) => b.toString(16).padStart(2, '0')) .join(''); } /** * `toHexString` converts the given byte array to hex string. */ function toHexString(bytes: Uint8Array): string { return bytesToHex(bytes); } /** * `hexToBytes` converts the given hex string to byte array. */ function hexToBytes(hex: string): Uint8Array { return new Uint8Array( hex.match(/.{1,2}/g)!.map((byte) => parseInt(byte, 16)), ); } /** * `base64ToUint8Array` converts the given base64 string to Uint8Array. */ function base64ToUint8Array(base64: string): Uint8Array { if (typeof window !== 'undefined' && typeof window.atob === 'function') { const binary = window.atob(base64); const len = binary.length; const bytes = new Uint8Array(len); for (let i = 0; i < len; i++) { bytes[i] = binary.charCodeAt(i); } return bytes; } else if ( typeof globalThis !== 'undefined' && typeof (globalThis as any).Buffer !== 'undefined' ) { const Buffer = (globalThis as any).Buffer; return new Uint8Array(Buffer.from(base64, 'base64')); } else { throw new Error('No base64 decoder available'); } } /** * `toUnit8Array` converts the given hex string to byte array. */ function toUint8Array(hex: string): Uint8Array { return hexToBytes(hex); } /** * `uint8ArrayToBase64` converts the given Uint8Array to base64 string. */ function uint8ArrayToBase64(bytes: Uint8Array): string { if (typeof window !== 'undefined' && typeof window.btoa === 'function') { let binary = ''; for (let i = 0; i < bytes.byteLength; i++) { binary += String.fromCharCode(bytes[i]); } return window.btoa(binary); } else if ( typeof globalThis !== 'undefined' && typeof (globalThis as any).Buffer !== 'undefined' ) { const Buffer = (globalThis as any).Buffer; return Buffer.from(bytes).toString('base64'); } else { throw new Error('No base64 encoder available'); } } /** * `bytesToChangeID` creates a ChangeID from the given bytes. */ function bytesToChangeID(bytes: Uint8Array): ChangeID { const pbChangeID = fromBinary(PbChangeIDSchema, bytes); return fromChangeID(pbChangeID); } /** * `bytesToOperation` creates an Operation from the given bytes. */ function bytesToOperation(bytes: Uint8Array): Operation { const pbOperation = fromBinary(PbOperationSchema, bytes); return fromOperation(pbOperation)!; } /** * `converter` is a converter that converts the given model to protobuf format. * is also used to convert models to bytes and vice versa. */ export const converter = { fromPresence, toChangePack, fromChangePack, fromChanges, toTreeNodes, fromTreeNodes, objectToBytes, bytesToObject, bytesToSnapshot, bytesToHex, hexToBytes, toHexString, toUint8Array, toOperation, toChangeID, bytesToChangeID, bytesToOperation, versionVectorToHex, hexToVersionVector, fromSchemaRules, toRevisionSummary, changeIDToBinary: (changeID: ChangeID) => toBinary(PbChangeIDSchema, toChangeID(changeID)), operationToBinary: (op: Operation) => toBinary(PbOperationSchema, toOperation(op)), }; ================================================ FILE: packages/sdk/src/api/revision.ts ================================================ /* * Copyright 2025 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * `RevisionSummary` represents a document revision for version management. * It stores a snapshot of document content at a specific point in time, * enabling features like rollback, audit, and version history tracking. */ export interface RevisionSummary { /** * `id` is the unique identifier of the revision. */ id: string; /** * `label` is a user-friendly name for this revision. */ label: string; /** * `description` is a detailed explanation of this revision. */ description: string; /** * `snapshot` is the serialized document content in YSON format at this revision point. * * Use `YSON.parse()` to convert this string to a typed JavaScript object: * * ```javascript * import { YSON } from 'yorkie-js-sdk'; * const snapshot = YSON.parse(revision.snapshot); * ``` */ snapshot: string; /** * `createdAt` is the time when this revision was created. */ createdAt: Date; } ================================================ FILE: packages/sdk/src/api/yorkie/v1/resources.proto ================================================ /* * Copyright 2022 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ syntax = "proto3"; package yorkie.v1; import "google/protobuf/timestamp.proto"; import "google/protobuf/wrappers.proto"; option go_package = "github.com/yorkie-team/yorkie/api/yorkie/v1;v1"; option java_multiple_files = true; option java_package = "dev.yorkie.api.v1"; ///////////////////////////////////////// // Messages for Snapshot // ///////////////////////////////////////// message Snapshot { JSONElement root = 1; map presences = 2; } ///////////////////////////////////////// // Messages for ChangePack // ///////////////////////////////////////// // ChangePack is a message that contains all changes that occurred in a document. // It is used to synchronize changes between clients and servers. message ChangePack { string document_key = 1; Checkpoint checkpoint = 2; bytes snapshot = 3; repeated Change changes = 4; TimeTicket min_synced_ticket = 5; // deprecated bool is_removed = 6; VersionVector version_vector = 7; } message Change { ChangeID id = 1; string message = 2; repeated Operation operations = 3; PresenceChange presence_change = 4; } message ChangeID { uint32 client_seq = 1; int64 server_seq = 2; int64 lamport = 3; bytes actor_id = 4; VersionVector version_vector = 5; } message VersionVector { map vector = 1; } message Operation { message Set { TimeTicket parent_created_at = 1; string key = 2; JSONElementSimple value = 3; TimeTicket executed_at = 4; } message Add { TimeTicket parent_created_at = 1; TimeTicket prev_created_at = 2; JSONElementSimple value = 3; TimeTicket executed_at = 4; } message Move { TimeTicket parent_created_at = 1; TimeTicket prev_created_at = 2; TimeTicket created_at = 3; TimeTicket executed_at = 4; } message Remove { TimeTicket parent_created_at = 1; TimeTicket created_at = 2; TimeTicket executed_at = 3; } message Edit { TimeTicket parent_created_at = 1; TextNodePos from = 2; TextNodePos to = 3; map created_at_map_by_actor = 4; // deprecated string content = 5; TimeTicket executed_at = 6; map attributes = 7; } message Style { TimeTicket parent_created_at = 1; TextNodePos from = 2; TextNodePos to = 3; map attributes = 4; TimeTicket executed_at = 5; map created_at_map_by_actor = 6; // deprecated repeated string attributes_to_remove = 7; } message Increase { TimeTicket parent_created_at = 1; JSONElementSimple value = 2; TimeTicket executed_at = 3; string actor = 4; } message TreeEdit { TimeTicket parent_created_at = 1; TreePos from = 2; TreePos to = 3; map created_at_map_by_actor = 4; // deprecated repeated TreeNodes contents = 5; int32 split_level = 7; TimeTicket executed_at = 6; } message TreeStyle { TimeTicket parent_created_at = 1; TreePos from = 2; TreePos to = 3; map attributes = 4; TimeTicket executed_at = 5; repeated string attributes_to_remove = 6; map created_at_map_by_actor = 7; // deprecated } message ArraySet { TimeTicket parent_created_at = 1; TimeTicket created_at = 2; JSONElementSimple value = 3; TimeTicket executed_at = 4; } oneof body { Set set = 1; Add add = 2; Move move = 3; Remove remove = 4; Edit edit = 5; Style style = 7; Increase increase = 8; TreeEdit tree_edit = 9; TreeStyle tree_style = 10; ArraySet array_set = 11; } } message JSONElementSimple { TimeTicket created_at = 1; TimeTicket moved_at = 2; TimeTicket removed_at = 3; ValueType type = 4; bytes value = 5; } ///////////////////////////////////////// // Messages for JSON // ///////////////////////////////////////// message JSONElement { message JSONObject { repeated RHTNode nodes = 1; TimeTicket created_at = 2; TimeTicket moved_at = 3; TimeTicket removed_at = 4; } message JSONArray { repeated RGANode nodes = 1; TimeTicket created_at = 2; TimeTicket moved_at = 3; TimeTicket removed_at = 4; } message Primitive { ValueType type = 1; bytes value = 2; TimeTicket created_at = 3; TimeTicket moved_at = 4; TimeTicket removed_at = 5; } message Text { repeated TextNode nodes = 1; TimeTicket created_at = 2; TimeTicket moved_at = 3; TimeTicket removed_at = 4; } message Counter { ValueType type = 1; bytes value = 2; TimeTicket created_at = 3; TimeTicket moved_at = 4; TimeTicket removed_at = 5; reserved 6; bytes hll_registers = 7; } message Tree { repeated TreeNode nodes = 1; TimeTicket created_at = 2; TimeTicket moved_at = 3; TimeTicket removed_at = 4; } oneof body { JSONObject json_object = 1; JSONArray json_array = 2; Primitive primitive = 3; Text text = 5; Counter counter = 6; Tree tree = 7; } } message RHTNode { string key = 1; JSONElement element = 2; } message RGANode { RGANode next = 1; JSONElement element = 2; TimeTicket position_created_at = 3; TimeTicket position_moved_at = 4; TimeTicket position_removed_at = 5; } message NodeAttr { string value = 1; TimeTicket updated_at = 2; bool is_removed = 3; } message TextNode { TextNodeID id = 1; string value = 2; TimeTicket removed_at = 3; TextNodeID ins_prev_id = 4; map attributes = 5; } message TextNodeID { TimeTicket created_at = 1; int32 offset = 2; } message TreeNode { TreeNodeID id = 1; string type = 2; string value = 3; TimeTicket removed_at = 4; TreeNodeID ins_prev_id = 5; TreeNodeID ins_next_id = 6; int32 depth = 7; map attributes = 8; // merged_from is set when this node was moved to a new parent by a // concurrent merge. It points to the source parent's ID. TreeNodeID merged_from = 9; // merged_at records the immutable ticket of the merge operation. // Stored alongside merged_from because the source parent's removed_at // may be overwritten by later LWW tombstones and thus cannot serve as // the merge-time causal boundary for SplitElement. TimeTicket merged_at = 10; } message TreeNodes { repeated TreeNode content = 1; } message TreeNodeID { TimeTicket created_at = 1; int32 offset = 2; } message TreePos { TreeNodeID parent_id = 1; TreeNodeID left_sibling_id = 2; } ///////////////////////////////////////// // Messages for Common // ///////////////////////////////////////// message User { string id = 1; string auth_provider = 2; string username = 3; google.protobuf.Timestamp created_at = 4; } message Member { string id = 1; string project_id = 2; string user_id = 3; string username = 4; string role = 5; google.protobuf.Timestamp invited_at = 6; } message Project { string id = 1; string name = 2; string public_key = 3; string secret_key = 4; string auth_webhook_url = 5; repeated string auth_webhook_methods = 6; uint64 auth_webhook_max_retries = 17; string auth_webhook_min_wait_interval = 18; string auth_webhook_max_wait_interval = 19; string auth_webhook_request_timeout = 20; string event_webhook_url = 7; repeated string event_webhook_events = 8; uint64 event_webhook_max_retries = 21; string event_webhook_min_wait_interval = 22; string event_webhook_max_wait_interval = 23; string event_webhook_request_timeout = 24; string client_deactivate_threshold = 9; int64 snapshot_threshold = 25; int64 snapshot_interval = 26; int32 max_subscribers_per_document = 10; int32 max_attachments_per_document = 11; int32 max_size_per_document = 15; bool remove_on_detach = 16; bool auto_revision_enabled = 27; repeated string allowed_origins = 14; google.protobuf.Timestamp created_at = 12; google.protobuf.Timestamp updated_at = 13; } message MetricPoint { int64 timestamp = 1; int32 value = 2; } message UpdatableProjectFields { message AuthWebhookMethods { repeated string methods = 1; } message EventWebhookEvents { repeated string events = 1; } message AllowedOrigins { repeated string origins = 1; } google.protobuf.StringValue name = 1; google.protobuf.StringValue auth_webhook_url = 2; AuthWebhookMethods auth_webhook_methods = 3; google.protobuf.UInt64Value auth_webhook_max_retries = 12; google.protobuf.StringValue auth_webhook_min_wait_interval = 13; google.protobuf.StringValue auth_webhook_max_wait_interval = 14; google.protobuf.StringValue auth_webhook_request_timeout = 15; google.protobuf.StringValue event_webhook_url = 4; EventWebhookEvents event_webhook_events = 5; google.protobuf.UInt64Value event_webhook_max_retries = 16; google.protobuf.StringValue event_webhook_min_wait_interval = 17; google.protobuf.StringValue event_webhook_max_wait_interval = 18; google.protobuf.StringValue event_webhook_request_timeout = 19; google.protobuf.Int64Value snapshot_threshold = 20; google.protobuf.Int64Value snapshot_interval = 21; google.protobuf.StringValue client_deactivate_threshold = 6; google.protobuf.Int32Value max_subscribers_per_document = 7; google.protobuf.Int32Value max_attachments_per_document = 8; google.protobuf.Int32Value max_size_per_document = 10; google.protobuf.BoolValue remove_on_detach = 11; google.protobuf.BoolValue auto_revision_enabled = 22; AllowedOrigins allowed_origins = 9; } message DocumentSummary { string id = 1; string key = 2; string root = 3; int32 attached_clients = 7; DocSize document_size = 8; string schema_key = 9; map presences = 10; google.protobuf.Timestamp created_at = 4; google.protobuf.Timestamp accessed_at = 5; google.protobuf.Timestamp updated_at = 6; } message PresenceChange { enum ChangeType { CHANGE_TYPE_UNSPECIFIED = 0; CHANGE_TYPE_PUT = 1; CHANGE_TYPE_DELETE = 2; CHANGE_TYPE_CLEAR = 3; } ChangeType type = 1; Presence presence = 2; } message Presence { map data = 1; } message ChannelSummary { string key = 1; int32 session_count = 2; } message Checkpoint { int64 server_seq = 1; uint32 client_seq = 2; } message TextNodePos { TimeTicket created_at = 1; int32 offset = 2; int32 relative_offset = 3; } message TimeTicket { int64 lamport = 1; uint32 delimiter = 2; bytes actor_id = 3; } enum ValueType { VALUE_TYPE_NULL = 0; VALUE_TYPE_BOOLEAN = 1; VALUE_TYPE_INTEGER = 2; VALUE_TYPE_LONG = 3; VALUE_TYPE_DOUBLE = 4; VALUE_TYPE_STRING = 5; VALUE_TYPE_BYTES = 6; VALUE_TYPE_DATE = 7; VALUE_TYPE_JSON_OBJECT = 8; VALUE_TYPE_JSON_ARRAY = 9; VALUE_TYPE_TEXT = 10; VALUE_TYPE_INTEGER_CNT = 11; VALUE_TYPE_LONG_CNT = 12; VALUE_TYPE_TREE = 13; VALUE_TYPE_INTEGER_DEDUP_CNT = 14; reserved 15; } enum DocEventType { DOC_EVENT_TYPE_DOCUMENT_CHANGED = 0; DOC_EVENT_TYPE_DOCUMENT_WATCHED = 1; DOC_EVENT_TYPE_DOCUMENT_UNWATCHED = 2; DOC_EVENT_TYPE_DOCUMENT_BROADCAST = 3; } message DocEventBody { string topic = 1; bytes payload = 2; } message DocEvent { DocEventType type = 1; string publisher = 2; DocEventBody body = 3; } message ChannelEvent { enum Type { TYPE_UNSPECIFIED = 0; TYPE_PRESENCE = 1; TYPE_BROADCAST = 2; } Type type = 1; string publisher = 2; int64 session_count = 3; int64 seq = 4; string topic = 5; bytes payload = 6; } message DataSize { int32 data = 1; int32 meta = 2; } message DocSize { DataSize live = 1; DataSize gc = 2; } message Schema { string id = 1; string name = 2; int32 version = 3; string body = 4; repeated Rule rules = 5; google.protobuf.Timestamp created_at = 6; } message TreeNodeRule { string node_type = 1; string content = 2; string marks = 3; string group = 4; } message Rule { string path = 1; string type = 2; repeated TreeNodeRule tree_nodes = 3; } ///////////////////////////////////////// // Messages for Revision // ///////////////////////////////////////// message RevisionSummary { string id = 1; string label = 2; string description = 3; string snapshot = 4; google.protobuf.Timestamp created_at = 5; } ================================================ FILE: packages/sdk/src/api/yorkie/v1/resources_pb.ts ================================================ // // Copyright 2022 The Yorkie Authors. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // @generated by protoc-gen-es v2.10.1 with parameter "target=ts,import_extension=none" // @generated from file yorkie/v1/resources.proto (package yorkie.v1, syntax proto3) /* eslint-disable */ import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2"; import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2"; import type { Timestamp } from "@bufbuild/protobuf/wkt"; import { file_google_protobuf_timestamp, file_google_protobuf_wrappers } from "@bufbuild/protobuf/wkt"; import type { Message } from "@bufbuild/protobuf"; /** * Describes the file yorkie/v1/resources.proto. */ export const file_yorkie_v1_resources: GenFile = /*@__PURE__*/ fileDesc("Chl5b3JraWUvdjEvcmVzb3VyY2VzLnByb3RvEgl5b3JraWUudjEirgEKCFNuYXBzaG90EiQKBHJvb3QYASABKAsyFi55b3JraWUudjEuSlNPTkVsZW1lbnQSNQoJcHJlc2VuY2VzGAIgAygLMiIueW9ya2llLnYxLlNuYXBzaG90LlByZXNlbmNlc0VudHJ5GkUKDlByZXNlbmNlc0VudHJ5EgsKA2tleRgBIAEoCRIiCgV2YWx1ZRgCIAEoCzITLnlvcmtpZS52MS5QcmVzZW5jZToCOAEi+wEKCkNoYW5nZVBhY2sSFAoMZG9jdW1lbnRfa2V5GAEgASgJEikKCmNoZWNrcG9pbnQYAiABKAsyFS55b3JraWUudjEuQ2hlY2twb2ludBIQCghzbmFwc2hvdBgDIAEoDBIiCgdjaGFuZ2VzGAQgAygLMhEueW9ya2llLnYxLkNoYW5nZRIwChFtaW5fc3luY2VkX3RpY2tldBgFIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EhIKCmlzX3JlbW92ZWQYBiABKAgSMAoOdmVyc2lvbl92ZWN0b3IYByABKAsyGC55b3JraWUudjEuVmVyc2lvblZlY3RvciKYAQoGQ2hhbmdlEh8KAmlkGAEgASgLMhMueW9ya2llLnYxLkNoYW5nZUlEEg8KB21lc3NhZ2UYAiABKAkSKAoKb3BlcmF0aW9ucxgDIAMoCzIULnlvcmtpZS52MS5PcGVyYXRpb24SMgoPcHJlc2VuY2VfY2hhbmdlGAQgASgLMhkueW9ya2llLnYxLlByZXNlbmNlQ2hhbmdlIocBCghDaGFuZ2VJRBISCgpjbGllbnRfc2VxGAEgASgNEhIKCnNlcnZlcl9zZXEYAiABKAMSDwoHbGFtcG9ydBgDIAEoAxIQCghhY3Rvcl9pZBgEIAEoDBIwCg52ZXJzaW9uX3ZlY3RvchgFIAEoCzIYLnlvcmtpZS52MS5WZXJzaW9uVmVjdG9yInQKDVZlcnNpb25WZWN0b3ISNAoGdmVjdG9yGAEgAygLMiQueW9ya2llLnYxLlZlcnNpb25WZWN0b3IuVmVjdG9yRW50cnkaLQoLVmVjdG9yRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgDOgI4ASLZGgoJT3BlcmF0aW9uEicKA3NldBgBIAEoCzIYLnlvcmtpZS52MS5PcGVyYXRpb24uU2V0SAASJwoDYWRkGAIgASgLMhgueW9ya2llLnYxLk9wZXJhdGlvbi5BZGRIABIpCgRtb3ZlGAMgASgLMhkueW9ya2llLnYxLk9wZXJhdGlvbi5Nb3ZlSAASLQoGcmVtb3ZlGAQgASgLMhsueW9ya2llLnYxLk9wZXJhdGlvbi5SZW1vdmVIABIpCgRlZGl0GAUgASgLMhkueW9ya2llLnYxLk9wZXJhdGlvbi5FZGl0SAASKwoFc3R5bGUYByABKAsyGi55b3JraWUudjEuT3BlcmF0aW9uLlN0eWxlSAASMQoIaW5jcmVhc2UYCCABKAsyHS55b3JraWUudjEuT3BlcmF0aW9uLkluY3JlYXNlSAASMgoJdHJlZV9lZGl0GAkgASgLMh0ueW9ya2llLnYxLk9wZXJhdGlvbi5UcmVlRWRpdEgAEjQKCnRyZWVfc3R5bGUYCiABKAsyHi55b3JraWUudjEuT3BlcmF0aW9uLlRyZWVTdHlsZUgAEjIKCWFycmF5X3NldBgLIAEoCzIdLnlvcmtpZS52MS5PcGVyYXRpb24uQXJyYXlTZXRIABqdAQoDU2V0EjAKEXBhcmVudF9jcmVhdGVkX2F0GAEgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSCwoDa2V5GAIgASgJEisKBXZhbHVlGAMgASgLMhwueW9ya2llLnYxLkpTT05FbGVtZW50U2ltcGxlEioKC2V4ZWN1dGVkX2F0GAQgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQawAEKA0FkZBIwChFwYXJlbnRfY3JlYXRlZF9hdBgBIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0Ei4KD3ByZXZfY3JlYXRlZF9hdBgCIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EisKBXZhbHVlGAMgASgLMhwueW9ya2llLnYxLkpTT05FbGVtZW50U2ltcGxlEioKC2V4ZWN1dGVkX2F0GAQgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQavwEKBE1vdmUSMAoRcGFyZW50X2NyZWF0ZWRfYXQYASABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIuCg9wcmV2X2NyZWF0ZWRfYXQYAiABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIpCgpjcmVhdGVkX2F0GAMgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKgoLZXhlY3V0ZWRfYXQYBCABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBqRAQoGUmVtb3ZlEjAKEXBhcmVudF9jcmVhdGVkX2F0GAEgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKQoKY3JlYXRlZF9hdBgCIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EioKC2V4ZWN1dGVkX2F0GAMgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQa2QMKBEVkaXQSMAoRcGFyZW50X2NyZWF0ZWRfYXQYASABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIkCgRmcm9tGAIgASgLMhYueW9ya2llLnYxLlRleHROb2RlUG9zEiIKAnRvGAMgASgLMhYueW9ya2llLnYxLlRleHROb2RlUG9zElMKF2NyZWF0ZWRfYXRfbWFwX2J5X2FjdG9yGAQgAygLMjIueW9ya2llLnYxLk9wZXJhdGlvbi5FZGl0LkNyZWF0ZWRBdE1hcEJ5QWN0b3JFbnRyeRIPCgdjb250ZW50GAUgASgJEioKC2V4ZWN1dGVkX2F0GAYgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSPQoKYXR0cmlidXRlcxgHIAMoCzIpLnlvcmtpZS52MS5PcGVyYXRpb24uRWRpdC5BdHRyaWJ1dGVzRW50cnkaUQoYQ3JlYXRlZEF0TWFwQnlBY3RvckVudHJ5EgsKA2tleRgBIAEoCRIkCgV2YWx1ZRgCIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0OgI4ARoxCg9BdHRyaWJ1dGVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARrpAwoFU3R5bGUSMAoRcGFyZW50X2NyZWF0ZWRfYXQYASABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIkCgRmcm9tGAIgASgLMhYueW9ya2llLnYxLlRleHROb2RlUG9zEiIKAnRvGAMgASgLMhYueW9ya2llLnYxLlRleHROb2RlUG9zEj4KCmF0dHJpYnV0ZXMYBCADKAsyKi55b3JraWUudjEuT3BlcmF0aW9uLlN0eWxlLkF0dHJpYnV0ZXNFbnRyeRIqCgtleGVjdXRlZF9hdBgFIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0ElQKF2NyZWF0ZWRfYXRfbWFwX2J5X2FjdG9yGAYgAygLMjMueW9ya2llLnYxLk9wZXJhdGlvbi5TdHlsZS5DcmVhdGVkQXRNYXBCeUFjdG9yRW50cnkSHAoUYXR0cmlidXRlc190b19yZW1vdmUYByADKAkaMQoPQXR0cmlidXRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaUQoYQ3JlYXRlZEF0TWFwQnlBY3RvckVudHJ5EgsKA2tleRgBIAEoCRIkCgV2YWx1ZRgCIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0OgI4ARqkAQoISW5jcmVhc2USMAoRcGFyZW50X2NyZWF0ZWRfYXQYASABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIrCgV2YWx1ZRgCIAEoCzIcLnlvcmtpZS52MS5KU09ORWxlbWVudFNpbXBsZRIqCgtleGVjdXRlZF9hdBgDIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0Eg0KBWFjdG9yGAQgASgJGpMDCghUcmVlRWRpdBIwChFwYXJlbnRfY3JlYXRlZF9hdBgBIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EiAKBGZyb20YAiABKAsyEi55b3JraWUudjEuVHJlZVBvcxIeCgJ0bxgDIAEoCzISLnlvcmtpZS52MS5UcmVlUG9zElcKF2NyZWF0ZWRfYXRfbWFwX2J5X2FjdG9yGAQgAygLMjYueW9ya2llLnYxLk9wZXJhdGlvbi5UcmVlRWRpdC5DcmVhdGVkQXRNYXBCeUFjdG9yRW50cnkSJgoIY29udGVudHMYBSADKAsyFC55b3JraWUudjEuVHJlZU5vZGVzEhMKC3NwbGl0X2xldmVsGAcgASgFEioKC2V4ZWN1dGVkX2F0GAYgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQaUQoYQ3JlYXRlZEF0TWFwQnlBY3RvckVudHJ5EgsKA2tleRgBIAEoCRIkCgV2YWx1ZRgCIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0OgI4ARrtAwoJVHJlZVN0eWxlEjAKEXBhcmVudF9jcmVhdGVkX2F0GAEgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSIAoEZnJvbRgCIAEoCzISLnlvcmtpZS52MS5UcmVlUG9zEh4KAnRvGAMgASgLMhIueW9ya2llLnYxLlRyZWVQb3MSQgoKYXR0cmlidXRlcxgEIAMoCzIuLnlvcmtpZS52MS5PcGVyYXRpb24uVHJlZVN0eWxlLkF0dHJpYnV0ZXNFbnRyeRIqCgtleGVjdXRlZF9hdBgFIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EhwKFGF0dHJpYnV0ZXNfdG9fcmVtb3ZlGAYgAygJElgKF2NyZWF0ZWRfYXRfbWFwX2J5X2FjdG9yGAcgAygLMjcueW9ya2llLnYxLk9wZXJhdGlvbi5UcmVlU3R5bGUuQ3JlYXRlZEF0TWFwQnlBY3RvckVudHJ5GjEKD0F0dHJpYnV0ZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGlEKGENyZWF0ZWRBdE1hcEJ5QWN0b3JFbnRyeRILCgNrZXkYASABKAkSJAoFdmFsdWUYAiABKAsyFS55b3JraWUudjEuVGltZVRpY2tldDoCOAEawAEKCEFycmF5U2V0EjAKEXBhcmVudF9jcmVhdGVkX2F0GAEgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKQoKY3JlYXRlZF9hdBgCIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EisKBXZhbHVlGAMgASgLMhwueW9ya2llLnYxLkpTT05FbGVtZW50U2ltcGxlEioKC2V4ZWN1dGVkX2F0GAQgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXRCBgoEYm9keSLFAQoRSlNPTkVsZW1lbnRTaW1wbGUSKQoKY3JlYXRlZF9hdBgBIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EicKCG1vdmVkX2F0GAIgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKQoKcmVtb3ZlZF9hdBgDIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EiIKBHR5cGUYBCABKA4yFC55b3JraWUudjEuVmFsdWVUeXBlEg0KBXZhbHVlGAUgASgMIp8LCgtKU09ORWxlbWVudBI4Cgtqc29uX29iamVjdBgBIAEoCzIhLnlvcmtpZS52MS5KU09ORWxlbWVudC5KU09OT2JqZWN0SAASNgoKanNvbl9hcnJheRgCIAEoCzIgLnlvcmtpZS52MS5KU09ORWxlbWVudC5KU09OQXJyYXlIABI1CglwcmltaXRpdmUYAyABKAsyIC55b3JraWUudjEuSlNPTkVsZW1lbnQuUHJpbWl0aXZlSAASKwoEdGV4dBgFIAEoCzIbLnlvcmtpZS52MS5KU09ORWxlbWVudC5UZXh0SAASMQoHY291bnRlchgGIAEoCzIeLnlvcmtpZS52MS5KU09ORWxlbWVudC5Db3VudGVySAASKwoEdHJlZRgHIAEoCzIbLnlvcmtpZS52MS5KU09ORWxlbWVudC5UcmVlSAAargEKCkpTT05PYmplY3QSIQoFbm9kZXMYASADKAsyEi55b3JraWUudjEuUkhUTm9kZRIpCgpjcmVhdGVkX2F0GAIgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSJwoIbW92ZWRfYXQYAyABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIpCgpyZW1vdmVkX2F0GAQgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQarQEKCUpTT05BcnJheRIhCgVub2RlcxgBIAMoCzISLnlvcmtpZS52MS5SR0FOb2RlEikKCmNyZWF0ZWRfYXQYAiABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBInCghtb3ZlZF9hdBgDIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EikKCnJlbW92ZWRfYXQYBCABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBq9AQoJUHJpbWl0aXZlEiIKBHR5cGUYASABKA4yFC55b3JraWUudjEuVmFsdWVUeXBlEg0KBXZhbHVlGAIgASgMEikKCmNyZWF0ZWRfYXQYAyABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBInCghtb3ZlZF9hdBgEIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EikKCnJlbW92ZWRfYXQYBSABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBqpAQoEVGV4dBIiCgVub2RlcxgBIAMoCzITLnlvcmtpZS52MS5UZXh0Tm9kZRIpCgpjcmVhdGVkX2F0GAIgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSJwoIbW92ZWRfYXQYAyABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIpCgpyZW1vdmVkX2F0GAQgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQa2AEKB0NvdW50ZXISIgoEdHlwZRgBIAEoDjIULnlvcmtpZS52MS5WYWx1ZVR5cGUSDQoFdmFsdWUYAiABKAwSKQoKY3JlYXRlZF9hdBgDIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EicKCG1vdmVkX2F0GAQgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKQoKcmVtb3ZlZF9hdBgFIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EhUKDWhsbF9yZWdpc3RlcnMYByABKAxKBAgGEAcaqQEKBFRyZWUSIgoFbm9kZXMYASADKAsyEy55b3JraWUudjEuVHJlZU5vZGUSKQoKY3JlYXRlZF9hdBgCIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EicKCG1vdmVkX2F0GAMgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKQoKcmVtb3ZlZF9hdBgEIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0QgYKBGJvZHkiPwoHUkhUTm9kZRILCgNrZXkYASABKAkSJwoHZWxlbWVudBgCIAEoCzIWLnlvcmtpZS52MS5KU09ORWxlbWVudCLuAQoHUkdBTm9kZRIgCgRuZXh0GAEgASgLMhIueW9ya2llLnYxLlJHQU5vZGUSJwoHZWxlbWVudBgCIAEoCzIWLnlvcmtpZS52MS5KU09ORWxlbWVudBIyChNwb3NpdGlvbl9jcmVhdGVkX2F0GAMgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSMAoRcG9zaXRpb25fbW92ZWRfYXQYBCABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIyChNwb3NpdGlvbl9yZW1vdmVkX2F0GAUgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQiWAoITm9kZUF0dHISDQoFdmFsdWUYASABKAkSKQoKdXBkYXRlZF9hdBgCIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EhIKCmlzX3JlbW92ZWQYAyABKAgilAIKCFRleHROb2RlEiEKAmlkGAEgASgLMhUueW9ya2llLnYxLlRleHROb2RlSUQSDQoFdmFsdWUYAiABKAkSKQoKcmVtb3ZlZF9hdBgDIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EioKC2luc19wcmV2X2lkGAQgASgLMhUueW9ya2llLnYxLlRleHROb2RlSUQSNwoKYXR0cmlidXRlcxgFIAMoCzIjLnlvcmtpZS52MS5UZXh0Tm9kZS5BdHRyaWJ1dGVzRW50cnkaRgoPQXR0cmlidXRlc0VudHJ5EgsKA2tleRgBIAEoCRIiCgV2YWx1ZRgCIAEoCzITLnlvcmtpZS52MS5Ob2RlQXR0cjoCOAEiRwoKVGV4dE5vZGVJRBIpCgpjcmVhdGVkX2F0GAEgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSDgoGb2Zmc2V0GAIgASgFIrMDCghUcmVlTm9kZRIhCgJpZBgBIAEoCzIVLnlvcmtpZS52MS5UcmVlTm9kZUlEEgwKBHR5cGUYAiABKAkSDQoFdmFsdWUYAyABKAkSKQoKcmVtb3ZlZF9hdBgEIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EioKC2luc19wcmV2X2lkGAUgASgLMhUueW9ya2llLnYxLlRyZWVOb2RlSUQSKgoLaW5zX25leHRfaWQYBiABKAsyFS55b3JraWUudjEuVHJlZU5vZGVJRBINCgVkZXB0aBgHIAEoBRI3CgphdHRyaWJ1dGVzGAggAygLMiMueW9ya2llLnYxLlRyZWVOb2RlLkF0dHJpYnV0ZXNFbnRyeRIqCgttZXJnZWRfZnJvbRgJIAEoCzIVLnlvcmtpZS52MS5UcmVlTm9kZUlEEigKCW1lcmdlZF9hdBgKIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0GkYKD0F0dHJpYnV0ZXNFbnRyeRILCgNrZXkYASABKAkSIgoFdmFsdWUYAiABKAsyEy55b3JraWUudjEuTm9kZUF0dHI6AjgBIjEKCVRyZWVOb2RlcxIkCgdjb250ZW50GAEgAygLMhMueW9ya2llLnYxLlRyZWVOb2RlIkcKClRyZWVOb2RlSUQSKQoKY3JlYXRlZF9hdBgBIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0Eg4KBm9mZnNldBgCIAEoBSJjCgdUcmVlUG9zEigKCXBhcmVudF9pZBgBIAEoCzIVLnlvcmtpZS52MS5UcmVlTm9kZUlEEi4KD2xlZnRfc2libGluZ19pZBgCIAEoCzIVLnlvcmtpZS52MS5UcmVlTm9kZUlEImsKBFVzZXISCgoCaWQYASABKAkSFQoNYXV0aF9wcm92aWRlchgCIAEoCRIQCgh1c2VybmFtZRgDIAEoCRIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKJAQoGTWVtYmVyEgoKAmlkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSDwoHdXNlcl9pZBgDIAEoCRIQCgh1c2VybmFtZRgEIAEoCRIMCgRyb2xlGAUgASgJEi4KCmludml0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIukGCgdQcm9qZWN0EgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEgoKcHVibGljX2tleRgDIAEoCRISCgpzZWNyZXRfa2V5GAQgASgJEhgKEGF1dGhfd2ViaG9va191cmwYBSABKAkSHAoUYXV0aF93ZWJob29rX21ldGhvZHMYBiADKAkSIAoYYXV0aF93ZWJob29rX21heF9yZXRyaWVzGBEgASgEEiYKHmF1dGhfd2ViaG9va19taW5fd2FpdF9pbnRlcnZhbBgSIAEoCRImCh5hdXRoX3dlYmhvb2tfbWF4X3dhaXRfaW50ZXJ2YWwYEyABKAkSJAocYXV0aF93ZWJob29rX3JlcXVlc3RfdGltZW91dBgUIAEoCRIZChFldmVudF93ZWJob29rX3VybBgHIAEoCRIcChRldmVudF93ZWJob29rX2V2ZW50cxgIIAMoCRIhChlldmVudF93ZWJob29rX21heF9yZXRyaWVzGBUgASgEEicKH2V2ZW50X3dlYmhvb2tfbWluX3dhaXRfaW50ZXJ2YWwYFiABKAkSJwofZXZlbnRfd2ViaG9va19tYXhfd2FpdF9pbnRlcnZhbBgXIAEoCRIlCh1ldmVudF93ZWJob29rX3JlcXVlc3RfdGltZW91dBgYIAEoCRIjChtjbGllbnRfZGVhY3RpdmF0ZV90aHJlc2hvbGQYCSABKAkSGgoSc25hcHNob3RfdGhyZXNob2xkGBkgASgDEhkKEXNuYXBzaG90X2ludGVydmFsGBogASgDEiQKHG1heF9zdWJzY3JpYmVyc19wZXJfZG9jdW1lbnQYCiABKAUSJAocbWF4X2F0dGFjaG1lbnRzX3Blcl9kb2N1bWVudBgLIAEoBRIdChVtYXhfc2l6ZV9wZXJfZG9jdW1lbnQYDyABKAUSGAoQcmVtb3ZlX29uX2RldGFjaBgQIAEoCBIdChVhdXRvX3JldmlzaW9uX2VuYWJsZWQYGyABKAgSFwoPYWxsb3dlZF9vcmlnaW5zGA4gAygJEi4KCmNyZWF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIi8KC01ldHJpY1BvaW50EhEKCXRpbWVzdGFtcBgBIAEoAxINCgV2YWx1ZRgCIAEoBSKjDAoWVXBkYXRhYmxlUHJvamVjdEZpZWxkcxIqCgRuYW1lGAEgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlEjYKEGF1dGhfd2ViaG9va191cmwYAiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWUSUgoUYXV0aF93ZWJob29rX21ldGhvZHMYAyABKAsyNC55b3JraWUudjEuVXBkYXRhYmxlUHJvamVjdEZpZWxkcy5BdXRoV2ViaG9va01ldGhvZHMSPgoYYXV0aF93ZWJob29rX21heF9yZXRyaWVzGAwgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlVJbnQ2NFZhbHVlEkQKHmF1dGhfd2ViaG9va19taW5fd2FpdF9pbnRlcnZhbBgNIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZRJECh5hdXRoX3dlYmhvb2tfbWF4X3dhaXRfaW50ZXJ2YWwYDiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWUSQgocYXV0aF93ZWJob29rX3JlcXVlc3RfdGltZW91dBgPIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZRI3ChFldmVudF93ZWJob29rX3VybBgEIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZRJSChRldmVudF93ZWJob29rX2V2ZW50cxgFIAEoCzI0LnlvcmtpZS52MS5VcGRhdGFibGVQcm9qZWN0RmllbGRzLkV2ZW50V2ViaG9va0V2ZW50cxI/ChlldmVudF93ZWJob29rX21heF9yZXRyaWVzGBAgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlVJbnQ2NFZhbHVlEkUKH2V2ZW50X3dlYmhvb2tfbWluX3dhaXRfaW50ZXJ2YWwYESABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWUSRQofZXZlbnRfd2ViaG9va19tYXhfd2FpdF9pbnRlcnZhbBgSIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZRJDCh1ldmVudF93ZWJob29rX3JlcXVlc3RfdGltZW91dBgTIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZRI3ChJzbmFwc2hvdF90aHJlc2hvbGQYFCABKAsyGy5nb29nbGUucHJvdG9idWYuSW50NjRWYWx1ZRI2ChFzbmFwc2hvdF9pbnRlcnZhbBgVIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQ2NFZhbHVlEkEKG2NsaWVudF9kZWFjdGl2YXRlX3RocmVzaG9sZBgGIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZRJBChxtYXhfc3Vic2NyaWJlcnNfcGVyX2RvY3VtZW50GAcgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWUSQQocbWF4X2F0dGFjaG1lbnRzX3Blcl9kb2N1bWVudBgIIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlEjoKFW1heF9zaXplX3Blcl9kb2N1bWVudBgKIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlEjQKEHJlbW92ZV9vbl9kZXRhY2gYCyABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlEjkKFWF1dG9fcmV2aXNpb25fZW5hYmxlZBgWIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWUSSQoPYWxsb3dlZF9vcmlnaW5zGAkgASgLMjAueW9ya2llLnYxLlVwZGF0YWJsZVByb2plY3RGaWVsZHMuQWxsb3dlZE9yaWdpbnMaJQoSQXV0aFdlYmhvb2tNZXRob2RzEg8KB21ldGhvZHMYASADKAkaJAoSRXZlbnRXZWJob29rRXZlbnRzEg4KBmV2ZW50cxgBIAMoCRohCg5BbGxvd2VkT3JpZ2lucxIPCgdvcmlnaW5zGAEgAygJIqcDCg9Eb2N1bWVudFN1bW1hcnkSCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEgwKBHJvb3QYAyABKAkSGAoQYXR0YWNoZWRfY2xpZW50cxgHIAEoBRIpCg1kb2N1bWVudF9zaXplGAggASgLMhIueW9ya2llLnYxLkRvY1NpemUSEgoKc2NoZW1hX2tleRgJIAEoCRI8CglwcmVzZW5jZXMYCiADKAsyKS55b3JraWUudjEuRG9jdW1lbnRTdW1tYXJ5LlByZXNlbmNlc0VudHJ5Ei4KCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi8KC2FjY2Vzc2VkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBpFCg5QcmVzZW5jZXNFbnRyeRILCgNrZXkYASABKAkSIgoFdmFsdWUYAiABKAsyEy55b3JraWUudjEuUHJlc2VuY2U6AjgBItoBCg5QcmVzZW5jZUNoYW5nZRIyCgR0eXBlGAEgASgOMiQueW9ya2llLnYxLlByZXNlbmNlQ2hhbmdlLkNoYW5nZVR5cGUSJQoIcHJlc2VuY2UYAiABKAsyEy55b3JraWUudjEuUHJlc2VuY2UibQoKQ2hhbmdlVHlwZRIbChdDSEFOR0VfVFlQRV9VTlNQRUNJRklFRBAAEhMKD0NIQU5HRV9UWVBFX1BVVBABEhYKEkNIQU5HRV9UWVBFX0RFTEVURRACEhUKEUNIQU5HRV9UWVBFX0NMRUFSEAMiZAoIUHJlc2VuY2USKwoEZGF0YRgBIAMoCzIdLnlvcmtpZS52MS5QcmVzZW5jZS5EYXRhRW50cnkaKwoJRGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiNAoOQ2hhbm5lbFN1bW1hcnkSCwoDa2V5GAEgASgJEhUKDXNlc3Npb25fY291bnQYAiABKAUiNAoKQ2hlY2twb2ludBISCgpzZXJ2ZXJfc2VxGAEgASgDEhIKCmNsaWVudF9zZXEYAiABKA0iYQoLVGV4dE5vZGVQb3MSKQoKY3JlYXRlZF9hdBgBIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0Eg4KBm9mZnNldBgCIAEoBRIXCg9yZWxhdGl2ZV9vZmZzZXQYAyABKAUiQgoKVGltZVRpY2tldBIPCgdsYW1wb3J0GAEgASgDEhEKCWRlbGltaXRlchgCIAEoDRIQCghhY3Rvcl9pZBgDIAEoDCIuCgxEb2NFdmVudEJvZHkSDQoFdG9waWMYASABKAkSDwoHcGF5bG9hZBgCIAEoDCJrCghEb2NFdmVudBIlCgR0eXBlGAEgASgOMhcueW9ya2llLnYxLkRvY0V2ZW50VHlwZRIRCglwdWJsaXNoZXIYAiABKAkSJQoEYm9keRgDIAEoCzIXLnlvcmtpZS52MS5Eb2NFdmVudEJvZHki1gEKDENoYW5uZWxFdmVudBIqCgR0eXBlGAEgASgOMhwueW9ya2llLnYxLkNoYW5uZWxFdmVudC5UeXBlEhEKCXB1Ymxpc2hlchgCIAEoCRIVCg1zZXNzaW9uX2NvdW50GAMgASgDEgsKA3NlcRgEIAEoAxINCgV0b3BpYxgFIAEoCRIPCgdwYXlsb2FkGAYgASgMIkMKBFR5cGUSFAoQVFlQRV9VTlNQRUNJRklFRBAAEhEKDVRZUEVfUFJFU0VOQ0UQARISCg5UWVBFX0JST0FEQ0FTVBACIiYKCERhdGFTaXplEgwKBGRhdGEYASABKAUSDAoEbWV0YRgCIAEoBSJNCgdEb2NTaXplEiEKBGxpdmUYASABKAsyEy55b3JraWUudjEuRGF0YVNpemUSHwoCZ2MYAiABKAsyEy55b3JraWUudjEuRGF0YVNpemUikQEKBlNjaGVtYRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEg8KB3ZlcnNpb24YAyABKAUSDAoEYm9keRgEIAEoCRIeCgVydWxlcxgFIAMoCzIPLnlvcmtpZS52MS5SdWxlEi4KCmNyZWF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIlAKDFRyZWVOb2RlUnVsZRIRCglub2RlX3R5cGUYASABKAkSDwoHY29udGVudBgCIAEoCRINCgVtYXJrcxgDIAEoCRINCgVncm91cBgEIAEoCSJPCgRSdWxlEgwKBHBhdGgYASABKAkSDAoEdHlwZRgCIAEoCRIrCgp0cmVlX25vZGVzGAMgAygLMhcueW9ya2llLnYxLlRyZWVOb2RlUnVsZSKDAQoPUmV2aXNpb25TdW1tYXJ5EgoKAmlkGAEgASgJEg0KBWxhYmVsGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEhAKCHNuYXBzaG90GAQgASgJEi4KCmNyZWF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wKvwCCglWYWx1ZVR5cGUSEwoPVkFMVUVfVFlQRV9OVUxMEAASFgoSVkFMVUVfVFlQRV9CT09MRUFOEAESFgoSVkFMVUVfVFlQRV9JTlRFR0VSEAISEwoPVkFMVUVfVFlQRV9MT05HEAMSFQoRVkFMVUVfVFlQRV9ET1VCTEUQBBIVChFWQUxVRV9UWVBFX1NUUklORxAFEhQKEFZBTFVFX1RZUEVfQllURVMQBhITCg9WQUxVRV9UWVBFX0RBVEUQBxIaChZWQUxVRV9UWVBFX0pTT05fT0JKRUNUEAgSGQoVVkFMVUVfVFlQRV9KU09OX0FSUkFZEAkSEwoPVkFMVUVfVFlQRV9URVhUEAoSGgoWVkFMVUVfVFlQRV9JTlRFR0VSX0NOVBALEhcKE1ZBTFVFX1RZUEVfTE9OR19DTlQQDBITCg9WQUxVRV9UWVBFX1RSRUUQDRIgChxWQUxVRV9UWVBFX0lOVEVHRVJfREVEVVBfQ05UEA4iBAgPEA8qpgEKDERvY0V2ZW50VHlwZRIjCh9ET0NfRVZFTlRfVFlQRV9ET0NVTUVOVF9DSEFOR0VEEAASIwofRE9DX0VWRU5UX1RZUEVfRE9DVU1FTlRfV0FUQ0hFRBABEiUKIURPQ19FVkVOVF9UWVBFX0RPQ1VNRU5UX1VOV0FUQ0hFRBACEiUKIURPQ19FVkVOVF9UWVBFX0RPQ1VNRU5UX0JST0FEQ0FTVBADQkUKEWRldi55b3JraWUuYXBpLnYxUAFaLmdpdGh1Yi5jb20veW9ya2llLXRlYW0veW9ya2llL2FwaS95b3JraWUvdjE7djFiBnByb3RvMw", [file_google_protobuf_timestamp, file_google_protobuf_wrappers]); /** * /////////////////////////////////////// * Messages for Snapshot // * /////////////////////////////////////// * * @generated from message yorkie.v1.Snapshot */ export type Snapshot = Message<"yorkie.v1.Snapshot"> & { /** * @generated from field: yorkie.v1.JSONElement root = 1; */ root?: JSONElement; /** * @generated from field: map presences = 2; */ presences: { [key: string]: Presence }; }; /** * Describes the message yorkie.v1.Snapshot. * Use `create(SnapshotSchema)` to create a new message. */ export const SnapshotSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 0); /** * ChangePack is a message that contains all changes that occurred in a document. * It is used to synchronize changes between clients and servers. * * @generated from message yorkie.v1.ChangePack */ export type ChangePack = Message<"yorkie.v1.ChangePack"> & { /** * @generated from field: string document_key = 1; */ documentKey: string; /** * @generated from field: yorkie.v1.Checkpoint checkpoint = 2; */ checkpoint?: Checkpoint; /** * @generated from field: bytes snapshot = 3; */ snapshot: Uint8Array; /** * @generated from field: repeated yorkie.v1.Change changes = 4; */ changes: Change[]; /** * deprecated * * @generated from field: yorkie.v1.TimeTicket min_synced_ticket = 5; */ minSyncedTicket?: TimeTicket; /** * @generated from field: bool is_removed = 6; */ isRemoved: boolean; /** * @generated from field: yorkie.v1.VersionVector version_vector = 7; */ versionVector?: VersionVector; }; /** * Describes the message yorkie.v1.ChangePack. * Use `create(ChangePackSchema)` to create a new message. */ export const ChangePackSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 1); /** * @generated from message yorkie.v1.Change */ export type Change = Message<"yorkie.v1.Change"> & { /** * @generated from field: yorkie.v1.ChangeID id = 1; */ id?: ChangeID; /** * @generated from field: string message = 2; */ message: string; /** * @generated from field: repeated yorkie.v1.Operation operations = 3; */ operations: Operation[]; /** * @generated from field: yorkie.v1.PresenceChange presence_change = 4; */ presenceChange?: PresenceChange; }; /** * Describes the message yorkie.v1.Change. * Use `create(ChangeSchema)` to create a new message. */ export const ChangeSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 2); /** * @generated from message yorkie.v1.ChangeID */ export type ChangeID = Message<"yorkie.v1.ChangeID"> & { /** * @generated from field: uint32 client_seq = 1; */ clientSeq: number; /** * @generated from field: int64 server_seq = 2; */ serverSeq: bigint; /** * @generated from field: int64 lamport = 3; */ lamport: bigint; /** * @generated from field: bytes actor_id = 4; */ actorId: Uint8Array; /** * @generated from field: yorkie.v1.VersionVector version_vector = 5; */ versionVector?: VersionVector; }; /** * Describes the message yorkie.v1.ChangeID. * Use `create(ChangeIDSchema)` to create a new message. */ export const ChangeIDSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 3); /** * @generated from message yorkie.v1.VersionVector */ export type VersionVector = Message<"yorkie.v1.VersionVector"> & { /** * @generated from field: map vector = 1; */ vector: { [key: string]: bigint }; }; /** * Describes the message yorkie.v1.VersionVector. * Use `create(VersionVectorSchema)` to create a new message. */ export const VersionVectorSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 4); /** * @generated from message yorkie.v1.Operation */ export type Operation = Message<"yorkie.v1.Operation"> & { /** * @generated from oneof yorkie.v1.Operation.body */ body: { /** * @generated from field: yorkie.v1.Operation.Set set = 1; */ value: Operation_Set; case: "set"; } | { /** * @generated from field: yorkie.v1.Operation.Add add = 2; */ value: Operation_Add; case: "add"; } | { /** * @generated from field: yorkie.v1.Operation.Move move = 3; */ value: Operation_Move; case: "move"; } | { /** * @generated from field: yorkie.v1.Operation.Remove remove = 4; */ value: Operation_Remove; case: "remove"; } | { /** * @generated from field: yorkie.v1.Operation.Edit edit = 5; */ value: Operation_Edit; case: "edit"; } | { /** * @generated from field: yorkie.v1.Operation.Style style = 7; */ value: Operation_Style; case: "style"; } | { /** * @generated from field: yorkie.v1.Operation.Increase increase = 8; */ value: Operation_Increase; case: "increase"; } | { /** * @generated from field: yorkie.v1.Operation.TreeEdit tree_edit = 9; */ value: Operation_TreeEdit; case: "treeEdit"; } | { /** * @generated from field: yorkie.v1.Operation.TreeStyle tree_style = 10; */ value: Operation_TreeStyle; case: "treeStyle"; } | { /** * @generated from field: yorkie.v1.Operation.ArraySet array_set = 11; */ value: Operation_ArraySet; case: "arraySet"; } | { case: undefined; value?: undefined }; }; /** * Describes the message yorkie.v1.Operation. * Use `create(OperationSchema)` to create a new message. */ export const OperationSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 5); /** * @generated from message yorkie.v1.Operation.Set */ export type Operation_Set = Message<"yorkie.v1.Operation.Set"> & { /** * @generated from field: yorkie.v1.TimeTicket parent_created_at = 1; */ parentCreatedAt?: TimeTicket; /** * @generated from field: string key = 2; */ key: string; /** * @generated from field: yorkie.v1.JSONElementSimple value = 3; */ value?: JSONElementSimple; /** * @generated from field: yorkie.v1.TimeTicket executed_at = 4; */ executedAt?: TimeTicket; }; /** * Describes the message yorkie.v1.Operation.Set. * Use `create(Operation_SetSchema)` to create a new message. */ export const Operation_SetSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 5, 0); /** * @generated from message yorkie.v1.Operation.Add */ export type Operation_Add = Message<"yorkie.v1.Operation.Add"> & { /** * @generated from field: yorkie.v1.TimeTicket parent_created_at = 1; */ parentCreatedAt?: TimeTicket; /** * @generated from field: yorkie.v1.TimeTicket prev_created_at = 2; */ prevCreatedAt?: TimeTicket; /** * @generated from field: yorkie.v1.JSONElementSimple value = 3; */ value?: JSONElementSimple; /** * @generated from field: yorkie.v1.TimeTicket executed_at = 4; */ executedAt?: TimeTicket; }; /** * Describes the message yorkie.v1.Operation.Add. * Use `create(Operation_AddSchema)` to create a new message. */ export const Operation_AddSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 5, 1); /** * @generated from message yorkie.v1.Operation.Move */ export type Operation_Move = Message<"yorkie.v1.Operation.Move"> & { /** * @generated from field: yorkie.v1.TimeTicket parent_created_at = 1; */ parentCreatedAt?: TimeTicket; /** * @generated from field: yorkie.v1.TimeTicket prev_created_at = 2; */ prevCreatedAt?: TimeTicket; /** * @generated from field: yorkie.v1.TimeTicket created_at = 3; */ createdAt?: TimeTicket; /** * @generated from field: yorkie.v1.TimeTicket executed_at = 4; */ executedAt?: TimeTicket; }; /** * Describes the message yorkie.v1.Operation.Move. * Use `create(Operation_MoveSchema)` to create a new message. */ export const Operation_MoveSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 5, 2); /** * @generated from message yorkie.v1.Operation.Remove */ export type Operation_Remove = Message<"yorkie.v1.Operation.Remove"> & { /** * @generated from field: yorkie.v1.TimeTicket parent_created_at = 1; */ parentCreatedAt?: TimeTicket; /** * @generated from field: yorkie.v1.TimeTicket created_at = 2; */ createdAt?: TimeTicket; /** * @generated from field: yorkie.v1.TimeTicket executed_at = 3; */ executedAt?: TimeTicket; }; /** * Describes the message yorkie.v1.Operation.Remove. * Use `create(Operation_RemoveSchema)` to create a new message. */ export const Operation_RemoveSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 5, 3); /** * @generated from message yorkie.v1.Operation.Edit */ export type Operation_Edit = Message<"yorkie.v1.Operation.Edit"> & { /** * @generated from field: yorkie.v1.TimeTicket parent_created_at = 1; */ parentCreatedAt?: TimeTicket; /** * @generated from field: yorkie.v1.TextNodePos from = 2; */ from?: TextNodePos; /** * @generated from field: yorkie.v1.TextNodePos to = 3; */ to?: TextNodePos; /** * deprecated * * @generated from field: map created_at_map_by_actor = 4; */ createdAtMapByActor: { [key: string]: TimeTicket }; /** * @generated from field: string content = 5; */ content: string; /** * @generated from field: yorkie.v1.TimeTicket executed_at = 6; */ executedAt?: TimeTicket; /** * @generated from field: map attributes = 7; */ attributes: { [key: string]: string }; }; /** * Describes the message yorkie.v1.Operation.Edit. * Use `create(Operation_EditSchema)` to create a new message. */ export const Operation_EditSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 5, 4); /** * @generated from message yorkie.v1.Operation.Style */ export type Operation_Style = Message<"yorkie.v1.Operation.Style"> & { /** * @generated from field: yorkie.v1.TimeTicket parent_created_at = 1; */ parentCreatedAt?: TimeTicket; /** * @generated from field: yorkie.v1.TextNodePos from = 2; */ from?: TextNodePos; /** * @generated from field: yorkie.v1.TextNodePos to = 3; */ to?: TextNodePos; /** * @generated from field: map attributes = 4; */ attributes: { [key: string]: string }; /** * @generated from field: yorkie.v1.TimeTicket executed_at = 5; */ executedAt?: TimeTicket; /** * deprecated * * @generated from field: map created_at_map_by_actor = 6; */ createdAtMapByActor: { [key: string]: TimeTicket }; /** * @generated from field: repeated string attributes_to_remove = 7; */ attributesToRemove: string[]; }; /** * Describes the message yorkie.v1.Operation.Style. * Use `create(Operation_StyleSchema)` to create a new message. */ export const Operation_StyleSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 5, 5); /** * @generated from message yorkie.v1.Operation.Increase */ export type Operation_Increase = Message<"yorkie.v1.Operation.Increase"> & { /** * @generated from field: yorkie.v1.TimeTicket parent_created_at = 1; */ parentCreatedAt?: TimeTicket; /** * @generated from field: yorkie.v1.JSONElementSimple value = 2; */ value?: JSONElementSimple; /** * @generated from field: yorkie.v1.TimeTicket executed_at = 3; */ executedAt?: TimeTicket; /** * @generated from field: string actor = 4; */ actor: string; }; /** * Describes the message yorkie.v1.Operation.Increase. * Use `create(Operation_IncreaseSchema)` to create a new message. */ export const Operation_IncreaseSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 5, 6); /** * @generated from message yorkie.v1.Operation.TreeEdit */ export type Operation_TreeEdit = Message<"yorkie.v1.Operation.TreeEdit"> & { /** * @generated from field: yorkie.v1.TimeTicket parent_created_at = 1; */ parentCreatedAt?: TimeTicket; /** * @generated from field: yorkie.v1.TreePos from = 2; */ from?: TreePos; /** * @generated from field: yorkie.v1.TreePos to = 3; */ to?: TreePos; /** * deprecated * * @generated from field: map created_at_map_by_actor = 4; */ createdAtMapByActor: { [key: string]: TimeTicket }; /** * @generated from field: repeated yorkie.v1.TreeNodes contents = 5; */ contents: TreeNodes[]; /** * @generated from field: int32 split_level = 7; */ splitLevel: number; /** * @generated from field: yorkie.v1.TimeTicket executed_at = 6; */ executedAt?: TimeTicket; }; /** * Describes the message yorkie.v1.Operation.TreeEdit. * Use `create(Operation_TreeEditSchema)` to create a new message. */ export const Operation_TreeEditSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 5, 7); /** * @generated from message yorkie.v1.Operation.TreeStyle */ export type Operation_TreeStyle = Message<"yorkie.v1.Operation.TreeStyle"> & { /** * @generated from field: yorkie.v1.TimeTicket parent_created_at = 1; */ parentCreatedAt?: TimeTicket; /** * @generated from field: yorkie.v1.TreePos from = 2; */ from?: TreePos; /** * @generated from field: yorkie.v1.TreePos to = 3; */ to?: TreePos; /** * @generated from field: map attributes = 4; */ attributes: { [key: string]: string }; /** * @generated from field: yorkie.v1.TimeTicket executed_at = 5; */ executedAt?: TimeTicket; /** * @generated from field: repeated string attributes_to_remove = 6; */ attributesToRemove: string[]; /** * deprecated * * @generated from field: map created_at_map_by_actor = 7; */ createdAtMapByActor: { [key: string]: TimeTicket }; }; /** * Describes the message yorkie.v1.Operation.TreeStyle. * Use `create(Operation_TreeStyleSchema)` to create a new message. */ export const Operation_TreeStyleSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 5, 8); /** * @generated from message yorkie.v1.Operation.ArraySet */ export type Operation_ArraySet = Message<"yorkie.v1.Operation.ArraySet"> & { /** * @generated from field: yorkie.v1.TimeTicket parent_created_at = 1; */ parentCreatedAt?: TimeTicket; /** * @generated from field: yorkie.v1.TimeTicket created_at = 2; */ createdAt?: TimeTicket; /** * @generated from field: yorkie.v1.JSONElementSimple value = 3; */ value?: JSONElementSimple; /** * @generated from field: yorkie.v1.TimeTicket executed_at = 4; */ executedAt?: TimeTicket; }; /** * Describes the message yorkie.v1.Operation.ArraySet. * Use `create(Operation_ArraySetSchema)` to create a new message. */ export const Operation_ArraySetSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 5, 9); /** * @generated from message yorkie.v1.JSONElementSimple */ export type JSONElementSimple = Message<"yorkie.v1.JSONElementSimple"> & { /** * @generated from field: yorkie.v1.TimeTicket created_at = 1; */ createdAt?: TimeTicket; /** * @generated from field: yorkie.v1.TimeTicket moved_at = 2; */ movedAt?: TimeTicket; /** * @generated from field: yorkie.v1.TimeTicket removed_at = 3; */ removedAt?: TimeTicket; /** * @generated from field: yorkie.v1.ValueType type = 4; */ type: ValueType; /** * @generated from field: bytes value = 5; */ value: Uint8Array; }; /** * Describes the message yorkie.v1.JSONElementSimple. * Use `create(JSONElementSimpleSchema)` to create a new message. */ export const JSONElementSimpleSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 6); /** * @generated from message yorkie.v1.JSONElement */ export type JSONElement = Message<"yorkie.v1.JSONElement"> & { /** * @generated from oneof yorkie.v1.JSONElement.body */ body: { /** * @generated from field: yorkie.v1.JSONElement.JSONObject json_object = 1; */ value: JSONElement_JSONObject; case: "jsonObject"; } | { /** * @generated from field: yorkie.v1.JSONElement.JSONArray json_array = 2; */ value: JSONElement_JSONArray; case: "jsonArray"; } | { /** * @generated from field: yorkie.v1.JSONElement.Primitive primitive = 3; */ value: JSONElement_Primitive; case: "primitive"; } | { /** * @generated from field: yorkie.v1.JSONElement.Text text = 5; */ value: JSONElement_Text; case: "text"; } | { /** * @generated from field: yorkie.v1.JSONElement.Counter counter = 6; */ value: JSONElement_Counter; case: "counter"; } | { /** * @generated from field: yorkie.v1.JSONElement.Tree tree = 7; */ value: JSONElement_Tree; case: "tree"; } | { case: undefined; value?: undefined }; }; /** * Describes the message yorkie.v1.JSONElement. * Use `create(JSONElementSchema)` to create a new message. */ export const JSONElementSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 7); /** * @generated from message yorkie.v1.JSONElement.JSONObject */ export type JSONElement_JSONObject = Message<"yorkie.v1.JSONElement.JSONObject"> & { /** * @generated from field: repeated yorkie.v1.RHTNode nodes = 1; */ nodes: RHTNode[]; /** * @generated from field: yorkie.v1.TimeTicket created_at = 2; */ createdAt?: TimeTicket; /** * @generated from field: yorkie.v1.TimeTicket moved_at = 3; */ movedAt?: TimeTicket; /** * @generated from field: yorkie.v1.TimeTicket removed_at = 4; */ removedAt?: TimeTicket; }; /** * Describes the message yorkie.v1.JSONElement.JSONObject. * Use `create(JSONElement_JSONObjectSchema)` to create a new message. */ export const JSONElement_JSONObjectSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 7, 0); /** * @generated from message yorkie.v1.JSONElement.JSONArray */ export type JSONElement_JSONArray = Message<"yorkie.v1.JSONElement.JSONArray"> & { /** * @generated from field: repeated yorkie.v1.RGANode nodes = 1; */ nodes: RGANode[]; /** * @generated from field: yorkie.v1.TimeTicket created_at = 2; */ createdAt?: TimeTicket; /** * @generated from field: yorkie.v1.TimeTicket moved_at = 3; */ movedAt?: TimeTicket; /** * @generated from field: yorkie.v1.TimeTicket removed_at = 4; */ removedAt?: TimeTicket; }; /** * Describes the message yorkie.v1.JSONElement.JSONArray. * Use `create(JSONElement_JSONArraySchema)` to create a new message. */ export const JSONElement_JSONArraySchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 7, 1); /** * @generated from message yorkie.v1.JSONElement.Primitive */ export type JSONElement_Primitive = Message<"yorkie.v1.JSONElement.Primitive"> & { /** * @generated from field: yorkie.v1.ValueType type = 1; */ type: ValueType; /** * @generated from field: bytes value = 2; */ value: Uint8Array; /** * @generated from field: yorkie.v1.TimeTicket created_at = 3; */ createdAt?: TimeTicket; /** * @generated from field: yorkie.v1.TimeTicket moved_at = 4; */ movedAt?: TimeTicket; /** * @generated from field: yorkie.v1.TimeTicket removed_at = 5; */ removedAt?: TimeTicket; }; /** * Describes the message yorkie.v1.JSONElement.Primitive. * Use `create(JSONElement_PrimitiveSchema)` to create a new message. */ export const JSONElement_PrimitiveSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 7, 2); /** * @generated from message yorkie.v1.JSONElement.Text */ export type JSONElement_Text = Message<"yorkie.v1.JSONElement.Text"> & { /** * @generated from field: repeated yorkie.v1.TextNode nodes = 1; */ nodes: TextNode[]; /** * @generated from field: yorkie.v1.TimeTicket created_at = 2; */ createdAt?: TimeTicket; /** * @generated from field: yorkie.v1.TimeTicket moved_at = 3; */ movedAt?: TimeTicket; /** * @generated from field: yorkie.v1.TimeTicket removed_at = 4; */ removedAt?: TimeTicket; }; /** * Describes the message yorkie.v1.JSONElement.Text. * Use `create(JSONElement_TextSchema)` to create a new message. */ export const JSONElement_TextSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 7, 3); /** * @generated from message yorkie.v1.JSONElement.Counter */ export type JSONElement_Counter = Message<"yorkie.v1.JSONElement.Counter"> & { /** * @generated from field: yorkie.v1.ValueType type = 1; */ type: ValueType; /** * @generated from field: bytes value = 2; */ value: Uint8Array; /** * @generated from field: yorkie.v1.TimeTicket created_at = 3; */ createdAt?: TimeTicket; /** * @generated from field: yorkie.v1.TimeTicket moved_at = 4; */ movedAt?: TimeTicket; /** * @generated from field: yorkie.v1.TimeTicket removed_at = 5; */ removedAt?: TimeTicket; /** * @generated from field: bytes hll_registers = 7; */ hllRegisters: Uint8Array; }; /** * Describes the message yorkie.v1.JSONElement.Counter. * Use `create(JSONElement_CounterSchema)` to create a new message. */ export const JSONElement_CounterSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 7, 4); /** * @generated from message yorkie.v1.JSONElement.Tree */ export type JSONElement_Tree = Message<"yorkie.v1.JSONElement.Tree"> & { /** * @generated from field: repeated yorkie.v1.TreeNode nodes = 1; */ nodes: TreeNode[]; /** * @generated from field: yorkie.v1.TimeTicket created_at = 2; */ createdAt?: TimeTicket; /** * @generated from field: yorkie.v1.TimeTicket moved_at = 3; */ movedAt?: TimeTicket; /** * @generated from field: yorkie.v1.TimeTicket removed_at = 4; */ removedAt?: TimeTicket; }; /** * Describes the message yorkie.v1.JSONElement.Tree. * Use `create(JSONElement_TreeSchema)` to create a new message. */ export const JSONElement_TreeSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 7, 5); /** * @generated from message yorkie.v1.RHTNode */ export type RHTNode = Message<"yorkie.v1.RHTNode"> & { /** * @generated from field: string key = 1; */ key: string; /** * @generated from field: yorkie.v1.JSONElement element = 2; */ element?: JSONElement; }; /** * Describes the message yorkie.v1.RHTNode. * Use `create(RHTNodeSchema)` to create a new message. */ export const RHTNodeSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 8); /** * @generated from message yorkie.v1.RGANode */ export type RGANode = Message<"yorkie.v1.RGANode"> & { /** * @generated from field: yorkie.v1.RGANode next = 1; */ next?: RGANode; /** * @generated from field: yorkie.v1.JSONElement element = 2; */ element?: JSONElement; /** * @generated from field: yorkie.v1.TimeTicket position_created_at = 3; */ positionCreatedAt?: TimeTicket; /** * @generated from field: yorkie.v1.TimeTicket position_moved_at = 4; */ positionMovedAt?: TimeTicket; /** * @generated from field: yorkie.v1.TimeTicket position_removed_at = 5; */ positionRemovedAt?: TimeTicket; }; /** * Describes the message yorkie.v1.RGANode. * Use `create(RGANodeSchema)` to create a new message. */ export const RGANodeSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 9); /** * @generated from message yorkie.v1.NodeAttr */ export type NodeAttr = Message<"yorkie.v1.NodeAttr"> & { /** * @generated from field: string value = 1; */ value: string; /** * @generated from field: yorkie.v1.TimeTicket updated_at = 2; */ updatedAt?: TimeTicket; /** * @generated from field: bool is_removed = 3; */ isRemoved: boolean; }; /** * Describes the message yorkie.v1.NodeAttr. * Use `create(NodeAttrSchema)` to create a new message. */ export const NodeAttrSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 10); /** * @generated from message yorkie.v1.TextNode */ export type TextNode = Message<"yorkie.v1.TextNode"> & { /** * @generated from field: yorkie.v1.TextNodeID id = 1; */ id?: TextNodeID; /** * @generated from field: string value = 2; */ value: string; /** * @generated from field: yorkie.v1.TimeTicket removed_at = 3; */ removedAt?: TimeTicket; /** * @generated from field: yorkie.v1.TextNodeID ins_prev_id = 4; */ insPrevId?: TextNodeID; /** * @generated from field: map attributes = 5; */ attributes: { [key: string]: NodeAttr }; }; /** * Describes the message yorkie.v1.TextNode. * Use `create(TextNodeSchema)` to create a new message. */ export const TextNodeSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 11); /** * @generated from message yorkie.v1.TextNodeID */ export type TextNodeID = Message<"yorkie.v1.TextNodeID"> & { /** * @generated from field: yorkie.v1.TimeTicket created_at = 1; */ createdAt?: TimeTicket; /** * @generated from field: int32 offset = 2; */ offset: number; }; /** * Describes the message yorkie.v1.TextNodeID. * Use `create(TextNodeIDSchema)` to create a new message. */ export const TextNodeIDSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 12); /** * @generated from message yorkie.v1.TreeNode */ export type TreeNode = Message<"yorkie.v1.TreeNode"> & { /** * @generated from field: yorkie.v1.TreeNodeID id = 1; */ id?: TreeNodeID; /** * @generated from field: string type = 2; */ type: string; /** * @generated from field: string value = 3; */ value: string; /** * @generated from field: yorkie.v1.TimeTicket removed_at = 4; */ removedAt?: TimeTicket; /** * @generated from field: yorkie.v1.TreeNodeID ins_prev_id = 5; */ insPrevId?: TreeNodeID; /** * @generated from field: yorkie.v1.TreeNodeID ins_next_id = 6; */ insNextId?: TreeNodeID; /** * @generated from field: int32 depth = 7; */ depth: number; /** * @generated from field: map attributes = 8; */ attributes: { [key: string]: NodeAttr }; /** * merged_from is set when this node was moved to a new parent by a * concurrent merge. It points to the source parent's ID. * * @generated from field: yorkie.v1.TreeNodeID merged_from = 9; */ mergedFrom?: TreeNodeID; /** * merged_at records the immutable ticket of the merge operation. * Stored alongside merged_from because the source parent's removed_at * may be overwritten by later LWW tombstones and thus cannot serve as * the merge-time causal boundary for SplitElement. * * @generated from field: yorkie.v1.TimeTicket merged_at = 10; */ mergedAt?: TimeTicket; }; /** * Describes the message yorkie.v1.TreeNode. * Use `create(TreeNodeSchema)` to create a new message. */ export const TreeNodeSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 13); /** * @generated from message yorkie.v1.TreeNodes */ export type TreeNodes = Message<"yorkie.v1.TreeNodes"> & { /** * @generated from field: repeated yorkie.v1.TreeNode content = 1; */ content: TreeNode[]; }; /** * Describes the message yorkie.v1.TreeNodes. * Use `create(TreeNodesSchema)` to create a new message. */ export const TreeNodesSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 14); /** * @generated from message yorkie.v1.TreeNodeID */ export type TreeNodeID = Message<"yorkie.v1.TreeNodeID"> & { /** * @generated from field: yorkie.v1.TimeTicket created_at = 1; */ createdAt?: TimeTicket; /** * @generated from field: int32 offset = 2; */ offset: number; }; /** * Describes the message yorkie.v1.TreeNodeID. * Use `create(TreeNodeIDSchema)` to create a new message. */ export const TreeNodeIDSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 15); /** * @generated from message yorkie.v1.TreePos */ export type TreePos = Message<"yorkie.v1.TreePos"> & { /** * @generated from field: yorkie.v1.TreeNodeID parent_id = 1; */ parentId?: TreeNodeID; /** * @generated from field: yorkie.v1.TreeNodeID left_sibling_id = 2; */ leftSiblingId?: TreeNodeID; }; /** * Describes the message yorkie.v1.TreePos. * Use `create(TreePosSchema)` to create a new message. */ export const TreePosSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 16); /** * @generated from message yorkie.v1.User */ export type User = Message<"yorkie.v1.User"> & { /** * @generated from field: string id = 1; */ id: string; /** * @generated from field: string auth_provider = 2; */ authProvider: string; /** * @generated from field: string username = 3; */ username: string; /** * @generated from field: google.protobuf.Timestamp created_at = 4; */ createdAt?: Timestamp; }; /** * Describes the message yorkie.v1.User. * Use `create(UserSchema)` to create a new message. */ export const UserSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 17); /** * @generated from message yorkie.v1.Member */ export type Member = Message<"yorkie.v1.Member"> & { /** * @generated from field: string id = 1; */ id: string; /** * @generated from field: string project_id = 2; */ projectId: string; /** * @generated from field: string user_id = 3; */ userId: string; /** * @generated from field: string username = 4; */ username: string; /** * @generated from field: string role = 5; */ role: string; /** * @generated from field: google.protobuf.Timestamp invited_at = 6; */ invitedAt?: Timestamp; }; /** * Describes the message yorkie.v1.Member. * Use `create(MemberSchema)` to create a new message. */ export const MemberSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 18); /** * @generated from message yorkie.v1.Project */ export type Project = Message<"yorkie.v1.Project"> & { /** * @generated from field: string id = 1; */ id: string; /** * @generated from field: string name = 2; */ name: string; /** * @generated from field: string public_key = 3; */ publicKey: string; /** * @generated from field: string secret_key = 4; */ secretKey: string; /** * @generated from field: string auth_webhook_url = 5; */ authWebhookUrl: string; /** * @generated from field: repeated string auth_webhook_methods = 6; */ authWebhookMethods: string[]; /** * @generated from field: uint64 auth_webhook_max_retries = 17; */ authWebhookMaxRetries: bigint; /** * @generated from field: string auth_webhook_min_wait_interval = 18; */ authWebhookMinWaitInterval: string; /** * @generated from field: string auth_webhook_max_wait_interval = 19; */ authWebhookMaxWaitInterval: string; /** * @generated from field: string auth_webhook_request_timeout = 20; */ authWebhookRequestTimeout: string; /** * @generated from field: string event_webhook_url = 7; */ eventWebhookUrl: string; /** * @generated from field: repeated string event_webhook_events = 8; */ eventWebhookEvents: string[]; /** * @generated from field: uint64 event_webhook_max_retries = 21; */ eventWebhookMaxRetries: bigint; /** * @generated from field: string event_webhook_min_wait_interval = 22; */ eventWebhookMinWaitInterval: string; /** * @generated from field: string event_webhook_max_wait_interval = 23; */ eventWebhookMaxWaitInterval: string; /** * @generated from field: string event_webhook_request_timeout = 24; */ eventWebhookRequestTimeout: string; /** * @generated from field: string client_deactivate_threshold = 9; */ clientDeactivateThreshold: string; /** * @generated from field: int64 snapshot_threshold = 25; */ snapshotThreshold: bigint; /** * @generated from field: int64 snapshot_interval = 26; */ snapshotInterval: bigint; /** * @generated from field: int32 max_subscribers_per_document = 10; */ maxSubscribersPerDocument: number; /** * @generated from field: int32 max_attachments_per_document = 11; */ maxAttachmentsPerDocument: number; /** * @generated from field: int32 max_size_per_document = 15; */ maxSizePerDocument: number; /** * @generated from field: bool remove_on_detach = 16; */ removeOnDetach: boolean; /** * @generated from field: bool auto_revision_enabled = 27; */ autoRevisionEnabled: boolean; /** * @generated from field: repeated string allowed_origins = 14; */ allowedOrigins: string[]; /** * @generated from field: google.protobuf.Timestamp created_at = 12; */ createdAt?: Timestamp; /** * @generated from field: google.protobuf.Timestamp updated_at = 13; */ updatedAt?: Timestamp; }; /** * Describes the message yorkie.v1.Project. * Use `create(ProjectSchema)` to create a new message. */ export const ProjectSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 19); /** * @generated from message yorkie.v1.MetricPoint */ export type MetricPoint = Message<"yorkie.v1.MetricPoint"> & { /** * @generated from field: int64 timestamp = 1; */ timestamp: bigint; /** * @generated from field: int32 value = 2; */ value: number; }; /** * Describes the message yorkie.v1.MetricPoint. * Use `create(MetricPointSchema)` to create a new message. */ export const MetricPointSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 20); /** * @generated from message yorkie.v1.UpdatableProjectFields */ export type UpdatableProjectFields = Message<"yorkie.v1.UpdatableProjectFields"> & { /** * @generated from field: google.protobuf.StringValue name = 1; */ name?: string; /** * @generated from field: google.protobuf.StringValue auth_webhook_url = 2; */ authWebhookUrl?: string; /** * @generated from field: yorkie.v1.UpdatableProjectFields.AuthWebhookMethods auth_webhook_methods = 3; */ authWebhookMethods?: UpdatableProjectFields_AuthWebhookMethods; /** * @generated from field: google.protobuf.UInt64Value auth_webhook_max_retries = 12; */ authWebhookMaxRetries?: bigint; /** * @generated from field: google.protobuf.StringValue auth_webhook_min_wait_interval = 13; */ authWebhookMinWaitInterval?: string; /** * @generated from field: google.protobuf.StringValue auth_webhook_max_wait_interval = 14; */ authWebhookMaxWaitInterval?: string; /** * @generated from field: google.protobuf.StringValue auth_webhook_request_timeout = 15; */ authWebhookRequestTimeout?: string; /** * @generated from field: google.protobuf.StringValue event_webhook_url = 4; */ eventWebhookUrl?: string; /** * @generated from field: yorkie.v1.UpdatableProjectFields.EventWebhookEvents event_webhook_events = 5; */ eventWebhookEvents?: UpdatableProjectFields_EventWebhookEvents; /** * @generated from field: google.protobuf.UInt64Value event_webhook_max_retries = 16; */ eventWebhookMaxRetries?: bigint; /** * @generated from field: google.protobuf.StringValue event_webhook_min_wait_interval = 17; */ eventWebhookMinWaitInterval?: string; /** * @generated from field: google.protobuf.StringValue event_webhook_max_wait_interval = 18; */ eventWebhookMaxWaitInterval?: string; /** * @generated from field: google.protobuf.StringValue event_webhook_request_timeout = 19; */ eventWebhookRequestTimeout?: string; /** * @generated from field: google.protobuf.Int64Value snapshot_threshold = 20; */ snapshotThreshold?: bigint; /** * @generated from field: google.protobuf.Int64Value snapshot_interval = 21; */ snapshotInterval?: bigint; /** * @generated from field: google.protobuf.StringValue client_deactivate_threshold = 6; */ clientDeactivateThreshold?: string; /** * @generated from field: google.protobuf.Int32Value max_subscribers_per_document = 7; */ maxSubscribersPerDocument?: number; /** * @generated from field: google.protobuf.Int32Value max_attachments_per_document = 8; */ maxAttachmentsPerDocument?: number; /** * @generated from field: google.protobuf.Int32Value max_size_per_document = 10; */ maxSizePerDocument?: number; /** * @generated from field: google.protobuf.BoolValue remove_on_detach = 11; */ removeOnDetach?: boolean; /** * @generated from field: google.protobuf.BoolValue auto_revision_enabled = 22; */ autoRevisionEnabled?: boolean; /** * @generated from field: yorkie.v1.UpdatableProjectFields.AllowedOrigins allowed_origins = 9; */ allowedOrigins?: UpdatableProjectFields_AllowedOrigins; }; /** * Describes the message yorkie.v1.UpdatableProjectFields. * Use `create(UpdatableProjectFieldsSchema)` to create a new message. */ export const UpdatableProjectFieldsSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 21); /** * @generated from message yorkie.v1.UpdatableProjectFields.AuthWebhookMethods */ export type UpdatableProjectFields_AuthWebhookMethods = Message<"yorkie.v1.UpdatableProjectFields.AuthWebhookMethods"> & { /** * @generated from field: repeated string methods = 1; */ methods: string[]; }; /** * Describes the message yorkie.v1.UpdatableProjectFields.AuthWebhookMethods. * Use `create(UpdatableProjectFields_AuthWebhookMethodsSchema)` to create a new message. */ export const UpdatableProjectFields_AuthWebhookMethodsSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 21, 0); /** * @generated from message yorkie.v1.UpdatableProjectFields.EventWebhookEvents */ export type UpdatableProjectFields_EventWebhookEvents = Message<"yorkie.v1.UpdatableProjectFields.EventWebhookEvents"> & { /** * @generated from field: repeated string events = 1; */ events: string[]; }; /** * Describes the message yorkie.v1.UpdatableProjectFields.EventWebhookEvents. * Use `create(UpdatableProjectFields_EventWebhookEventsSchema)` to create a new message. */ export const UpdatableProjectFields_EventWebhookEventsSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 21, 1); /** * @generated from message yorkie.v1.UpdatableProjectFields.AllowedOrigins */ export type UpdatableProjectFields_AllowedOrigins = Message<"yorkie.v1.UpdatableProjectFields.AllowedOrigins"> & { /** * @generated from field: repeated string origins = 1; */ origins: string[]; }; /** * Describes the message yorkie.v1.UpdatableProjectFields.AllowedOrigins. * Use `create(UpdatableProjectFields_AllowedOriginsSchema)` to create a new message. */ export const UpdatableProjectFields_AllowedOriginsSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 21, 2); /** * @generated from message yorkie.v1.DocumentSummary */ export type DocumentSummary = Message<"yorkie.v1.DocumentSummary"> & { /** * @generated from field: string id = 1; */ id: string; /** * @generated from field: string key = 2; */ key: string; /** * @generated from field: string root = 3; */ root: string; /** * @generated from field: int32 attached_clients = 7; */ attachedClients: number; /** * @generated from field: yorkie.v1.DocSize document_size = 8; */ documentSize?: DocSize; /** * @generated from field: string schema_key = 9; */ schemaKey: string; /** * @generated from field: map presences = 10; */ presences: { [key: string]: Presence }; /** * @generated from field: google.protobuf.Timestamp created_at = 4; */ createdAt?: Timestamp; /** * @generated from field: google.protobuf.Timestamp accessed_at = 5; */ accessedAt?: Timestamp; /** * @generated from field: google.protobuf.Timestamp updated_at = 6; */ updatedAt?: Timestamp; }; /** * Describes the message yorkie.v1.DocumentSummary. * Use `create(DocumentSummarySchema)` to create a new message. */ export const DocumentSummarySchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 22); /** * @generated from message yorkie.v1.PresenceChange */ export type PresenceChange = Message<"yorkie.v1.PresenceChange"> & { /** * @generated from field: yorkie.v1.PresenceChange.ChangeType type = 1; */ type: PresenceChange_ChangeType; /** * @generated from field: yorkie.v1.Presence presence = 2; */ presence?: Presence; }; /** * Describes the message yorkie.v1.PresenceChange. * Use `create(PresenceChangeSchema)` to create a new message. */ export const PresenceChangeSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 23); /** * @generated from enum yorkie.v1.PresenceChange.ChangeType */ export enum PresenceChange_ChangeType { /** * @generated from enum value: CHANGE_TYPE_UNSPECIFIED = 0; */ UNSPECIFIED = 0, /** * @generated from enum value: CHANGE_TYPE_PUT = 1; */ PUT = 1, /** * @generated from enum value: CHANGE_TYPE_DELETE = 2; */ DELETE = 2, /** * @generated from enum value: CHANGE_TYPE_CLEAR = 3; */ CLEAR = 3, } /** * Describes the enum yorkie.v1.PresenceChange.ChangeType. */ export const PresenceChange_ChangeTypeSchema: GenEnum = /*@__PURE__*/ enumDesc(file_yorkie_v1_resources, 23, 0); /** * @generated from message yorkie.v1.Presence */ export type Presence = Message<"yorkie.v1.Presence"> & { /** * @generated from field: map data = 1; */ data: { [key: string]: string }; }; /** * Describes the message yorkie.v1.Presence. * Use `create(PresenceSchema)` to create a new message. */ export const PresenceSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 24); /** * @generated from message yorkie.v1.ChannelSummary */ export type ChannelSummary = Message<"yorkie.v1.ChannelSummary"> & { /** * @generated from field: string key = 1; */ key: string; /** * @generated from field: int32 session_count = 2; */ sessionCount: number; }; /** * Describes the message yorkie.v1.ChannelSummary. * Use `create(ChannelSummarySchema)` to create a new message. */ export const ChannelSummarySchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 25); /** * @generated from message yorkie.v1.Checkpoint */ export type Checkpoint = Message<"yorkie.v1.Checkpoint"> & { /** * @generated from field: int64 server_seq = 1; */ serverSeq: bigint; /** * @generated from field: uint32 client_seq = 2; */ clientSeq: number; }; /** * Describes the message yorkie.v1.Checkpoint. * Use `create(CheckpointSchema)` to create a new message. */ export const CheckpointSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 26); /** * @generated from message yorkie.v1.TextNodePos */ export type TextNodePos = Message<"yorkie.v1.TextNodePos"> & { /** * @generated from field: yorkie.v1.TimeTicket created_at = 1; */ createdAt?: TimeTicket; /** * @generated from field: int32 offset = 2; */ offset: number; /** * @generated from field: int32 relative_offset = 3; */ relativeOffset: number; }; /** * Describes the message yorkie.v1.TextNodePos. * Use `create(TextNodePosSchema)` to create a new message. */ export const TextNodePosSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 27); /** * @generated from message yorkie.v1.TimeTicket */ export type TimeTicket = Message<"yorkie.v1.TimeTicket"> & { /** * @generated from field: int64 lamport = 1; */ lamport: bigint; /** * @generated from field: uint32 delimiter = 2; */ delimiter: number; /** * @generated from field: bytes actor_id = 3; */ actorId: Uint8Array; }; /** * Describes the message yorkie.v1.TimeTicket. * Use `create(TimeTicketSchema)` to create a new message. */ export const TimeTicketSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 28); /** * @generated from message yorkie.v1.DocEventBody */ export type DocEventBody = Message<"yorkie.v1.DocEventBody"> & { /** * @generated from field: string topic = 1; */ topic: string; /** * @generated from field: bytes payload = 2; */ payload: Uint8Array; }; /** * Describes the message yorkie.v1.DocEventBody. * Use `create(DocEventBodySchema)` to create a new message. */ export const DocEventBodySchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 29); /** * @generated from message yorkie.v1.DocEvent */ export type DocEvent = Message<"yorkie.v1.DocEvent"> & { /** * @generated from field: yorkie.v1.DocEventType type = 1; */ type: DocEventType; /** * @generated from field: string publisher = 2; */ publisher: string; /** * @generated from field: yorkie.v1.DocEventBody body = 3; */ body?: DocEventBody; }; /** * Describes the message yorkie.v1.DocEvent. * Use `create(DocEventSchema)` to create a new message. */ export const DocEventSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 30); /** * @generated from message yorkie.v1.ChannelEvent */ export type ChannelEvent = Message<"yorkie.v1.ChannelEvent"> & { /** * @generated from field: yorkie.v1.ChannelEvent.Type type = 1; */ type: ChannelEvent_Type; /** * @generated from field: string publisher = 2; */ publisher: string; /** * @generated from field: int64 session_count = 3; */ sessionCount: bigint; /** * @generated from field: int64 seq = 4; */ seq: bigint; /** * @generated from field: string topic = 5; */ topic: string; /** * @generated from field: bytes payload = 6; */ payload: Uint8Array; }; /** * Describes the message yorkie.v1.ChannelEvent. * Use `create(ChannelEventSchema)` to create a new message. */ export const ChannelEventSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 31); /** * @generated from enum yorkie.v1.ChannelEvent.Type */ export enum ChannelEvent_Type { /** * @generated from enum value: TYPE_UNSPECIFIED = 0; */ UNSPECIFIED = 0, /** * @generated from enum value: TYPE_PRESENCE = 1; */ PRESENCE = 1, /** * @generated from enum value: TYPE_BROADCAST = 2; */ BROADCAST = 2, } /** * Describes the enum yorkie.v1.ChannelEvent.Type. */ export const ChannelEvent_TypeSchema: GenEnum = /*@__PURE__*/ enumDesc(file_yorkie_v1_resources, 31, 0); /** * @generated from message yorkie.v1.DataSize */ export type DataSize = Message<"yorkie.v1.DataSize"> & { /** * @generated from field: int32 data = 1; */ data: number; /** * @generated from field: int32 meta = 2; */ meta: number; }; /** * Describes the message yorkie.v1.DataSize. * Use `create(DataSizeSchema)` to create a new message. */ export const DataSizeSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 32); /** * @generated from message yorkie.v1.DocSize */ export type DocSize = Message<"yorkie.v1.DocSize"> & { /** * @generated from field: yorkie.v1.DataSize live = 1; */ live?: DataSize; /** * @generated from field: yorkie.v1.DataSize gc = 2; */ gc?: DataSize; }; /** * Describes the message yorkie.v1.DocSize. * Use `create(DocSizeSchema)` to create a new message. */ export const DocSizeSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 33); /** * @generated from message yorkie.v1.Schema */ export type Schema = Message<"yorkie.v1.Schema"> & { /** * @generated from field: string id = 1; */ id: string; /** * @generated from field: string name = 2; */ name: string; /** * @generated from field: int32 version = 3; */ version: number; /** * @generated from field: string body = 4; */ body: string; /** * @generated from field: repeated yorkie.v1.Rule rules = 5; */ rules: Rule[]; /** * @generated from field: google.protobuf.Timestamp created_at = 6; */ createdAt?: Timestamp; }; /** * Describes the message yorkie.v1.Schema. * Use `create(SchemaSchema)` to create a new message. */ export const SchemaSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 34); /** * @generated from message yorkie.v1.TreeNodeRule */ export type TreeNodeRule = Message<"yorkie.v1.TreeNodeRule"> & { /** * @generated from field: string node_type = 1; */ nodeType: string; /** * @generated from field: string content = 2; */ content: string; /** * @generated from field: string marks = 3; */ marks: string; /** * @generated from field: string group = 4; */ group: string; }; /** * Describes the message yorkie.v1.TreeNodeRule. * Use `create(TreeNodeRuleSchema)` to create a new message. */ export const TreeNodeRuleSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 35); /** * @generated from message yorkie.v1.Rule */ export type Rule = Message<"yorkie.v1.Rule"> & { /** * @generated from field: string path = 1; */ path: string; /** * @generated from field: string type = 2; */ type: string; /** * @generated from field: repeated yorkie.v1.TreeNodeRule tree_nodes = 3; */ treeNodes: TreeNodeRule[]; }; /** * Describes the message yorkie.v1.Rule. * Use `create(RuleSchema)` to create a new message. */ export const RuleSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 36); /** * @generated from message yorkie.v1.RevisionSummary */ export type RevisionSummary = Message<"yorkie.v1.RevisionSummary"> & { /** * @generated from field: string id = 1; */ id: string; /** * @generated from field: string label = 2; */ label: string; /** * @generated from field: string description = 3; */ description: string; /** * @generated from field: string snapshot = 4; */ snapshot: string; /** * @generated from field: google.protobuf.Timestamp created_at = 5; */ createdAt?: Timestamp; }; /** * Describes the message yorkie.v1.RevisionSummary. * Use `create(RevisionSummarySchema)` to create a new message. */ export const RevisionSummarySchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_resources, 37); /** * @generated from enum yorkie.v1.ValueType */ export enum ValueType { /** * @generated from enum value: VALUE_TYPE_NULL = 0; */ NULL = 0, /** * @generated from enum value: VALUE_TYPE_BOOLEAN = 1; */ BOOLEAN = 1, /** * @generated from enum value: VALUE_TYPE_INTEGER = 2; */ INTEGER = 2, /** * @generated from enum value: VALUE_TYPE_LONG = 3; */ LONG = 3, /** * @generated from enum value: VALUE_TYPE_DOUBLE = 4; */ DOUBLE = 4, /** * @generated from enum value: VALUE_TYPE_STRING = 5; */ STRING = 5, /** * @generated from enum value: VALUE_TYPE_BYTES = 6; */ BYTES = 6, /** * @generated from enum value: VALUE_TYPE_DATE = 7; */ DATE = 7, /** * @generated from enum value: VALUE_TYPE_JSON_OBJECT = 8; */ JSON_OBJECT = 8, /** * @generated from enum value: VALUE_TYPE_JSON_ARRAY = 9; */ JSON_ARRAY = 9, /** * @generated from enum value: VALUE_TYPE_TEXT = 10; */ TEXT = 10, /** * @generated from enum value: VALUE_TYPE_INTEGER_CNT = 11; */ INTEGER_CNT = 11, /** * @generated from enum value: VALUE_TYPE_LONG_CNT = 12; */ LONG_CNT = 12, /** * @generated from enum value: VALUE_TYPE_TREE = 13; */ TREE = 13, /** * @generated from enum value: VALUE_TYPE_INTEGER_DEDUP_CNT = 14; */ INTEGER_DEDUP_CNT = 14, } /** * Describes the enum yorkie.v1.ValueType. */ export const ValueTypeSchema: GenEnum = /*@__PURE__*/ enumDesc(file_yorkie_v1_resources, 0); /** * @generated from enum yorkie.v1.DocEventType */ export enum DocEventType { /** * @generated from enum value: DOC_EVENT_TYPE_DOCUMENT_CHANGED = 0; */ DOCUMENT_CHANGED = 0, /** * @generated from enum value: DOC_EVENT_TYPE_DOCUMENT_WATCHED = 1; */ DOCUMENT_WATCHED = 1, /** * @generated from enum value: DOC_EVENT_TYPE_DOCUMENT_UNWATCHED = 2; */ DOCUMENT_UNWATCHED = 2, /** * @generated from enum value: DOC_EVENT_TYPE_DOCUMENT_BROADCAST = 3; */ DOCUMENT_BROADCAST = 3, } /** * Describes the enum yorkie.v1.DocEventType. */ export const DocEventTypeSchema: GenEnum = /*@__PURE__*/ enumDesc(file_yorkie_v1_resources, 1); ================================================ FILE: packages/sdk/src/api/yorkie/v1/yorkie.proto ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ syntax = "proto3"; package yorkie.v1; import "yorkie/v1/resources.proto"; option go_package = "github.com/yorkie-team/yorkie/api/yorkie/v1;v1"; option java_multiple_files = true; option java_package = "dev.yorkie.api.v1"; // Yorkie is a service that provides an API for SDKs. service YorkieService { rpc ActivateClient (ActivateClientRequest) returns (ActivateClientResponse) {} rpc DeactivateClient (DeactivateClientRequest) returns (DeactivateClientResponse) {} rpc AttachDocument (AttachDocumentRequest) returns (AttachDocumentResponse) {} rpc DetachDocument (DetachDocumentRequest) returns (DetachDocumentResponse) {} rpc RemoveDocument (RemoveDocumentRequest) returns (RemoveDocumentResponse) {} rpc PushPullChanges (PushPullChangesRequest) returns (PushPullChangesResponse) {} rpc Watch (WatchRequest) returns (stream WatchResponse) {} // Deprecated: Use Watch with ResourceDescriptor instead. rpc WatchDocument (WatchDocumentRequest) returns (stream WatchDocumentResponse) {} // Deprecated: Use Watch with ResourceDescriptor instead. rpc WatchChannel (WatchChannelRequest) returns (stream WatchChannelResponse) {} rpc CreateRevision (CreateRevisionRequest) returns (CreateRevisionResponse) {} rpc GetRevision (GetRevisionRequest) returns (GetRevisionResponse) {} rpc ListRevisions (ListRevisionsRequest) returns (ListRevisionsResponse) {} rpc RestoreRevision (RestoreRevisionRequest) returns (RestoreRevisionResponse) {} rpc AttachChannel (AttachChannelRequest) returns (AttachChannelResponse) {} rpc DetachChannel (DetachChannelRequest) returns (DetachChannelResponse) {} rpc RefreshChannel (RefreshChannelRequest) returns (RefreshChannelResponse) {} rpc PeekChannel (PeekChannelRequest) returns (PeekChannelResponse) {} rpc Broadcast (BroadcastRequest) returns (BroadcastResponse) {} } message ActivateClientRequest { string client_key = 1; map metadata = 2; } message ActivateClientResponse { string client_id = 1; } message DeactivateClientRequest { string client_id = 1; bool synchronous = 2; } message DeactivateClientResponse { } message AttachDocumentRequest { string client_id = 1; ChangePack change_pack = 2; string schema_key = 3; } message AttachDocumentResponse { string document_id = 1; ChangePack change_pack = 2; int32 max_size_per_document = 3; repeated Rule schema_rules = 4; } message DetachDocumentRequest { string client_id = 1; string document_id = 2; ChangePack change_pack = 3; bool remove_if_not_attached = 4; } message DetachDocumentResponse { ChangePack change_pack = 2; } message WatchRequest { string client_id = 1; repeated ResourceDescriptor resources = 2; } message ResourceDescriptor { oneof resource { DocumentDescriptor document = 1; ChannelDescriptor channel = 2; } } message DocumentDescriptor { string document_id = 1; } message ChannelDescriptor { string channel_key = 1; } message WatchResponse { oneof body { WatchInitialization initialization = 1; WatchEvent event = 2; } } message WatchInitialization { repeated ResourceInit resource_inits = 1; } message ResourceInit { oneof init { DocumentInit document_init = 1; ChannelInit channel_init = 2; } } message DocumentInit { string document_id = 1; repeated string client_ids = 2; } message ChannelInit { string channel_key = 1; int64 session_count = 2; int64 seq = 3; } message WatchEvent { oneof event { DocWatchEvent doc_event = 1; ChannelWatchEvent channel_event = 2; } } message DocWatchEvent { string document_id = 1; DocEvent event = 2; } message ChannelWatchEvent { string channel_key = 1; ChannelEvent event = 2; } // Deprecated: Use WatchRequest instead. message WatchDocumentRequest { string client_id = 1; string document_id = 2; } // Deprecated: Use WatchResponse instead. message WatchDocumentResponse { message Initialization { repeated string client_ids = 1; } oneof body { Initialization initialization = 1; DocEvent event = 2; } } // Deprecated: Use WatchRequest instead. message WatchChannelRequest { string client_id = 1; string channel_key = 2; } // Deprecated: Use WatchResponse instead. message WatchChannelResponse { oneof body { WatchChannelInitialized initialized = 1; ChannelEvent event = 2; } } // Deprecated: Use ChannelInit instead. message WatchChannelInitialized { int64 session_count = 1; int64 seq = 2; } message RemoveDocumentRequest { string client_id = 1; string document_id = 2; ChangePack change_pack = 3; } message RemoveDocumentResponse { ChangePack change_pack = 1; } message PushPullChangesRequest { string client_id = 1; string document_id = 2; ChangePack change_pack = 3; bool push_only = 4; } message PushPullChangesResponse { ChangePack change_pack = 1; } message CreateRevisionRequest { string client_id = 1; string document_id = 2; string label = 3; string description = 4; } message CreateRevisionResponse { RevisionSummary revision = 1; } message GetRevisionRequest { string client_id = 1; string document_id = 2; string revision_id = 3; } message GetRevisionResponse { RevisionSummary revision = 1; } message ListRevisionsRequest { string client_id = 1; string document_id = 2; int32 page_size = 3; int32 offset = 4; bool is_forward = 5; } message ListRevisionsResponse { repeated RevisionSummary revisions = 1; } message RestoreRevisionRequest { string client_id = 1; string document_id = 2; string revision_id = 4; } message RestoreRevisionResponse { } message AttachChannelRequest { string client_id = 1; string channel_key = 2; } message AttachChannelResponse { string session_id = 1; int64 session_count = 2; } message DetachChannelRequest { string client_id = 1; string channel_key = 2; string session_id = 3; } message DetachChannelResponse { int64 session_count = 1; } message RefreshChannelRequest { string client_id = 1; string channel_key = 2; string session_id = 3; // client_key and metadata are used only on the first call (when session_id // is empty). The server activates the client and attaches it to the channel // before refreshing, collapsing ActivateClient + AttachChannel + // RefreshChannel into a single round trip. string client_key = 4; map metadata = 5; } message RefreshChannelResponse { int64 session_count = 1; // client_id and session_id are populated only when the request was a // first-call (i.e. session_id was empty). Subsequent heartbeats leave // these empty. string client_id = 2; string session_id = 3; } // PeekChannel reads the current session_count of a channel without creating // a session on the server. Use this when a client only needs to display the // count (e.g. "N people writing") without contributing to it and without // receiving broadcasts. Caller polls on its own cadence. message PeekChannelRequest { string channel_key = 1; } message PeekChannelResponse { int64 session_count = 1; } message BroadcastRequest { string client_id = 1; string channel_key = 2; string topic = 3; bytes payload = 4; } message BroadcastResponse { } ================================================ FILE: packages/sdk/src/api/yorkie/v1/yorkie_pb.ts ================================================ // // Copyright 2020 The Yorkie Authors. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // @generated by protoc-gen-es v2.10.1 with parameter "target=ts,import_extension=none" // @generated from file yorkie/v1/yorkie.proto (package yorkie.v1, syntax proto3) /* eslint-disable */ import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2"; import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; import type { ChangePack, ChannelEvent, DocEvent, RevisionSummary, Rule } from "./resources_pb"; import { file_yorkie_v1_resources } from "./resources_pb"; import type { Message } from "@bufbuild/protobuf"; /** * Describes the file yorkie/v1/yorkie.proto. */ export const file_yorkie_v1_yorkie: GenFile = /*@__PURE__*/ fileDesc("ChZ5b3JraWUvdjEveW9ya2llLnByb3RvEgl5b3JraWUudjEingEKFUFjdGl2YXRlQ2xpZW50UmVxdWVzdBISCgpjbGllbnRfa2V5GAEgASgJEkAKCG1ldGFkYXRhGAIgAygLMi4ueW9ya2llLnYxLkFjdGl2YXRlQ2xpZW50UmVxdWVzdC5NZXRhZGF0YUVudHJ5Gi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASIrChZBY3RpdmF0ZUNsaWVudFJlc3BvbnNlEhEKCWNsaWVudF9pZBgBIAEoCSJBChdEZWFjdGl2YXRlQ2xpZW50UmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSEwoLc3luY2hyb25vdXMYAiABKAgiGgoYRGVhY3RpdmF0ZUNsaWVudFJlc3BvbnNlImoKFUF0dGFjaERvY3VtZW50UmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSKgoLY2hhbmdlX3BhY2sYAiABKAsyFS55b3JraWUudjEuQ2hhbmdlUGFjaxISCgpzY2hlbWFfa2V5GAMgASgJIp8BChZBdHRhY2hEb2N1bWVudFJlc3BvbnNlEhMKC2RvY3VtZW50X2lkGAEgASgJEioKC2NoYW5nZV9wYWNrGAIgASgLMhUueW9ya2llLnYxLkNoYW5nZVBhY2sSHQoVbWF4X3NpemVfcGVyX2RvY3VtZW50GAMgASgFEiUKDHNjaGVtYV9ydWxlcxgEIAMoCzIPLnlvcmtpZS52MS5SdWxlIosBChVEZXRhY2hEb2N1bWVudFJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2RvY3VtZW50X2lkGAIgASgJEioKC2NoYW5nZV9wYWNrGAMgASgLMhUueW9ya2llLnYxLkNoYW5nZVBhY2sSHgoWcmVtb3ZlX2lmX25vdF9hdHRhY2hlZBgEIAEoCCJEChZEZXRhY2hEb2N1bWVudFJlc3BvbnNlEioKC2NoYW5nZV9wYWNrGAIgASgLMhUueW9ya2llLnYxLkNoYW5nZVBhY2siUwoMV2F0Y2hSZXF1ZXN0EhEKCWNsaWVudF9pZBgBIAEoCRIwCglyZXNvdXJjZXMYAiADKAsyHS55b3JraWUudjEuUmVzb3VyY2VEZXNjcmlwdG9yIoQBChJSZXNvdXJjZURlc2NyaXB0b3ISMQoIZG9jdW1lbnQYASABKAsyHS55b3JraWUudjEuRG9jdW1lbnREZXNjcmlwdG9ySAASLwoHY2hhbm5lbBgCIAEoCzIcLnlvcmtpZS52MS5DaGFubmVsRGVzY3JpcHRvckgAQgoKCHJlc291cmNlIikKEkRvY3VtZW50RGVzY3JpcHRvchITCgtkb2N1bWVudF9pZBgBIAEoCSIoChFDaGFubmVsRGVzY3JpcHRvchITCgtjaGFubmVsX2tleRgBIAEoCSJ5Cg1XYXRjaFJlc3BvbnNlEjgKDmluaXRpYWxpemF0aW9uGAEgASgLMh4ueW9ya2llLnYxLldhdGNoSW5pdGlhbGl6YXRpb25IABImCgVldmVudBgCIAEoCzIVLnlvcmtpZS52MS5XYXRjaEV2ZW50SABCBgoEYm9keSJGChNXYXRjaEluaXRpYWxpemF0aW9uEi8KDnJlc291cmNlX2luaXRzGAEgAygLMhcueW9ya2llLnYxLlJlc291cmNlSW5pdCJ4CgxSZXNvdXJjZUluaXQSMAoNZG9jdW1lbnRfaW5pdBgBIAEoCzIXLnlvcmtpZS52MS5Eb2N1bWVudEluaXRIABIuCgxjaGFubmVsX2luaXQYAiABKAsyFi55b3JraWUudjEuQ2hhbm5lbEluaXRIAEIGCgRpbml0IjcKDERvY3VtZW50SW5pdBITCgtkb2N1bWVudF9pZBgBIAEoCRISCgpjbGllbnRfaWRzGAIgAygJIkYKC0NoYW5uZWxJbml0EhMKC2NoYW5uZWxfa2V5GAEgASgJEhUKDXNlc3Npb25fY291bnQYAiABKAMSCwoDc2VxGAMgASgDInsKCldhdGNoRXZlbnQSLQoJZG9jX2V2ZW50GAEgASgLMhgueW9ya2llLnYxLkRvY1dhdGNoRXZlbnRIABI1Cg1jaGFubmVsX2V2ZW50GAIgASgLMhwueW9ya2llLnYxLkNoYW5uZWxXYXRjaEV2ZW50SABCBwoFZXZlbnQiSAoNRG9jV2F0Y2hFdmVudBITCgtkb2N1bWVudF9pZBgBIAEoCRIiCgVldmVudBgCIAEoCzITLnlvcmtpZS52MS5Eb2NFdmVudCJQChFDaGFubmVsV2F0Y2hFdmVudBITCgtjaGFubmVsX2tleRgBIAEoCRImCgVldmVudBgCIAEoCzIXLnlvcmtpZS52MS5DaGFubmVsRXZlbnQiPgoUV2F0Y2hEb2N1bWVudFJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2RvY3VtZW50X2lkGAIgASgJIrYBChVXYXRjaERvY3VtZW50UmVzcG9uc2USSQoOaW5pdGlhbGl6YXRpb24YASABKAsyLy55b3JraWUudjEuV2F0Y2hEb2N1bWVudFJlc3BvbnNlLkluaXRpYWxpemF0aW9uSAASJAoFZXZlbnQYAiABKAsyEy55b3JraWUudjEuRG9jRXZlbnRIABokCg5Jbml0aWFsaXphdGlvbhISCgpjbGllbnRfaWRzGAEgAygJQgYKBGJvZHkiPQoTV2F0Y2hDaGFubmVsUmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSEwoLY2hhbm5lbF9rZXkYAiABKAkigwEKFFdhdGNoQ2hhbm5lbFJlc3BvbnNlEjkKC2luaXRpYWxpemVkGAEgASgLMiIueW9ya2llLnYxLldhdGNoQ2hhbm5lbEluaXRpYWxpemVkSAASKAoFZXZlbnQYAiABKAsyFy55b3JraWUudjEuQ2hhbm5lbEV2ZW50SABCBgoEYm9keSI9ChdXYXRjaENoYW5uZWxJbml0aWFsaXplZBIVCg1zZXNzaW9uX2NvdW50GAEgASgDEgsKA3NlcRgCIAEoAyJrChVSZW1vdmVEb2N1bWVudFJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2RvY3VtZW50X2lkGAIgASgJEioKC2NoYW5nZV9wYWNrGAMgASgLMhUueW9ya2llLnYxLkNoYW5nZVBhY2siRAoWUmVtb3ZlRG9jdW1lbnRSZXNwb25zZRIqCgtjaGFuZ2VfcGFjaxgBIAEoCzIVLnlvcmtpZS52MS5DaGFuZ2VQYWNrIn8KFlB1c2hQdWxsQ2hhbmdlc1JlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2RvY3VtZW50X2lkGAIgASgJEioKC2NoYW5nZV9wYWNrGAMgASgLMhUueW9ya2llLnYxLkNoYW5nZVBhY2sSEQoJcHVzaF9vbmx5GAQgASgIIkUKF1B1c2hQdWxsQ2hhbmdlc1Jlc3BvbnNlEioKC2NoYW5nZV9wYWNrGAEgASgLMhUueW9ya2llLnYxLkNoYW5nZVBhY2siYwoVQ3JlYXRlUmV2aXNpb25SZXF1ZXN0EhEKCWNsaWVudF9pZBgBIAEoCRITCgtkb2N1bWVudF9pZBgCIAEoCRINCgVsYWJlbBgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCSJGChZDcmVhdGVSZXZpc2lvblJlc3BvbnNlEiwKCHJldmlzaW9uGAEgASgLMhoueW9ya2llLnYxLlJldmlzaW9uU3VtbWFyeSJRChJHZXRSZXZpc2lvblJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2RvY3VtZW50X2lkGAIgASgJEhMKC3JldmlzaW9uX2lkGAMgASgJIkMKE0dldFJldmlzaW9uUmVzcG9uc2USLAoIcmV2aXNpb24YASABKAsyGi55b3JraWUudjEuUmV2aXNpb25TdW1tYXJ5InUKFExpc3RSZXZpc2lvbnNSZXF1ZXN0EhEKCWNsaWVudF9pZBgBIAEoCRITCgtkb2N1bWVudF9pZBgCIAEoCRIRCglwYWdlX3NpemUYAyABKAUSDgoGb2Zmc2V0GAQgASgFEhIKCmlzX2ZvcndhcmQYBSABKAgiRgoVTGlzdFJldmlzaW9uc1Jlc3BvbnNlEi0KCXJldmlzaW9ucxgBIAMoCzIaLnlvcmtpZS52MS5SZXZpc2lvblN1bW1hcnkiVQoWUmVzdG9yZVJldmlzaW9uUmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSEwoLZG9jdW1lbnRfaWQYAiABKAkSEwoLcmV2aXNpb25faWQYBCABKAkiGQoXUmVzdG9yZVJldmlzaW9uUmVzcG9uc2UiPgoUQXR0YWNoQ2hhbm5lbFJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2NoYW5uZWxfa2V5GAIgASgJIkIKFUF0dGFjaENoYW5uZWxSZXNwb25zZRISCgpzZXNzaW9uX2lkGAEgASgJEhUKDXNlc3Npb25fY291bnQYAiABKAMiUgoURGV0YWNoQ2hhbm5lbFJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2NoYW5uZWxfa2V5GAIgASgJEhIKCnNlc3Npb25faWQYAyABKAkiLgoVRGV0YWNoQ2hhbm5lbFJlc3BvbnNlEhUKDXNlc3Npb25fY291bnQYASABKAMi2gEKFVJlZnJlc2hDaGFubmVsUmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSEwoLY2hhbm5lbF9rZXkYAiABKAkSEgoKc2Vzc2lvbl9pZBgDIAEoCRISCgpjbGllbnRfa2V5GAQgASgJEkAKCG1ldGFkYXRhGAUgAygLMi4ueW9ya2llLnYxLlJlZnJlc2hDaGFubmVsUmVxdWVzdC5NZXRhZGF0YUVudHJ5Gi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJWChZSZWZyZXNoQ2hhbm5lbFJlc3BvbnNlEhUKDXNlc3Npb25fY291bnQYASABKAMSEQoJY2xpZW50X2lkGAIgASgJEhIKCnNlc3Npb25faWQYAyABKAkiKQoSUGVla0NoYW5uZWxSZXF1ZXN0EhMKC2NoYW5uZWxfa2V5GAEgASgJIiwKE1BlZWtDaGFubmVsUmVzcG9uc2USFQoNc2Vzc2lvbl9jb3VudBgBIAEoAyJaChBCcm9hZGNhc3RSZXF1ZXN0EhEKCWNsaWVudF9pZBgBIAEoCRITCgtjaGFubmVsX2tleRgCIAEoCRINCgV0b3BpYxgDIAEoCRIPCgdwYXlsb2FkGAQgASgMIhMKEUJyb2FkY2FzdFJlc3BvbnNlMpUMCg1Zb3JraWVTZXJ2aWNlElcKDkFjdGl2YXRlQ2xpZW50EiAueW9ya2llLnYxLkFjdGl2YXRlQ2xpZW50UmVxdWVzdBohLnlvcmtpZS52MS5BY3RpdmF0ZUNsaWVudFJlc3BvbnNlIgASXQoQRGVhY3RpdmF0ZUNsaWVudBIiLnlvcmtpZS52MS5EZWFjdGl2YXRlQ2xpZW50UmVxdWVzdBojLnlvcmtpZS52MS5EZWFjdGl2YXRlQ2xpZW50UmVzcG9uc2UiABJXCg5BdHRhY2hEb2N1bWVudBIgLnlvcmtpZS52MS5BdHRhY2hEb2N1bWVudFJlcXVlc3QaIS55b3JraWUudjEuQXR0YWNoRG9jdW1lbnRSZXNwb25zZSIAElcKDkRldGFjaERvY3VtZW50EiAueW9ya2llLnYxLkRldGFjaERvY3VtZW50UmVxdWVzdBohLnlvcmtpZS52MS5EZXRhY2hEb2N1bWVudFJlc3BvbnNlIgASVwoOUmVtb3ZlRG9jdW1lbnQSIC55b3JraWUudjEuUmVtb3ZlRG9jdW1lbnRSZXF1ZXN0GiEueW9ya2llLnYxLlJlbW92ZURvY3VtZW50UmVzcG9uc2UiABJaCg9QdXNoUHVsbENoYW5nZXMSIS55b3JraWUudjEuUHVzaFB1bGxDaGFuZ2VzUmVxdWVzdBoiLnlvcmtpZS52MS5QdXNoUHVsbENoYW5nZXNSZXNwb25zZSIAEj4KBVdhdGNoEhcueW9ya2llLnYxLldhdGNoUmVxdWVzdBoYLnlvcmtpZS52MS5XYXRjaFJlc3BvbnNlIgAwARJWCg1XYXRjaERvY3VtZW50Eh8ueW9ya2llLnYxLldhdGNoRG9jdW1lbnRSZXF1ZXN0GiAueW9ya2llLnYxLldhdGNoRG9jdW1lbnRSZXNwb25zZSIAMAESUwoMV2F0Y2hDaGFubmVsEh4ueW9ya2llLnYxLldhdGNoQ2hhbm5lbFJlcXVlc3QaHy55b3JraWUudjEuV2F0Y2hDaGFubmVsUmVzcG9uc2UiADABElcKDkNyZWF0ZVJldmlzaW9uEiAueW9ya2llLnYxLkNyZWF0ZVJldmlzaW9uUmVxdWVzdBohLnlvcmtpZS52MS5DcmVhdGVSZXZpc2lvblJlc3BvbnNlIgASTgoLR2V0UmV2aXNpb24SHS55b3JraWUudjEuR2V0UmV2aXNpb25SZXF1ZXN0Gh4ueW9ya2llLnYxLkdldFJldmlzaW9uUmVzcG9uc2UiABJUCg1MaXN0UmV2aXNpb25zEh8ueW9ya2llLnYxLkxpc3RSZXZpc2lvbnNSZXF1ZXN0GiAueW9ya2llLnYxLkxpc3RSZXZpc2lvbnNSZXNwb25zZSIAEloKD1Jlc3RvcmVSZXZpc2lvbhIhLnlvcmtpZS52MS5SZXN0b3JlUmV2aXNpb25SZXF1ZXN0GiIueW9ya2llLnYxLlJlc3RvcmVSZXZpc2lvblJlc3BvbnNlIgASVAoNQXR0YWNoQ2hhbm5lbBIfLnlvcmtpZS52MS5BdHRhY2hDaGFubmVsUmVxdWVzdBogLnlvcmtpZS52MS5BdHRhY2hDaGFubmVsUmVzcG9uc2UiABJUCg1EZXRhY2hDaGFubmVsEh8ueW9ya2llLnYxLkRldGFjaENoYW5uZWxSZXF1ZXN0GiAueW9ya2llLnYxLkRldGFjaENoYW5uZWxSZXNwb25zZSIAElcKDlJlZnJlc2hDaGFubmVsEiAueW9ya2llLnYxLlJlZnJlc2hDaGFubmVsUmVxdWVzdBohLnlvcmtpZS52MS5SZWZyZXNoQ2hhbm5lbFJlc3BvbnNlIgASTgoLUGVla0NoYW5uZWwSHS55b3JraWUudjEuUGVla0NoYW5uZWxSZXF1ZXN0Gh4ueW9ya2llLnYxLlBlZWtDaGFubmVsUmVzcG9uc2UiABJICglCcm9hZGNhc3QSGy55b3JraWUudjEuQnJvYWRjYXN0UmVxdWVzdBocLnlvcmtpZS52MS5Ccm9hZGNhc3RSZXNwb25zZSIAQkUKEWRldi55b3JraWUuYXBpLnYxUAFaLmdpdGh1Yi5jb20veW9ya2llLXRlYW0veW9ya2llL2FwaS95b3JraWUvdjE7djFiBnByb3RvMw", [file_yorkie_v1_resources]); /** * @generated from message yorkie.v1.ActivateClientRequest */ export type ActivateClientRequest = Message<"yorkie.v1.ActivateClientRequest"> & { /** * @generated from field: string client_key = 1; */ clientKey: string; /** * @generated from field: map metadata = 2; */ metadata: { [key: string]: string }; }; /** * Describes the message yorkie.v1.ActivateClientRequest. * Use `create(ActivateClientRequestSchema)` to create a new message. */ export const ActivateClientRequestSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 0); /** * @generated from message yorkie.v1.ActivateClientResponse */ export type ActivateClientResponse = Message<"yorkie.v1.ActivateClientResponse"> & { /** * @generated from field: string client_id = 1; */ clientId: string; }; /** * Describes the message yorkie.v1.ActivateClientResponse. * Use `create(ActivateClientResponseSchema)` to create a new message. */ export const ActivateClientResponseSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 1); /** * @generated from message yorkie.v1.DeactivateClientRequest */ export type DeactivateClientRequest = Message<"yorkie.v1.DeactivateClientRequest"> & { /** * @generated from field: string client_id = 1; */ clientId: string; /** * @generated from field: bool synchronous = 2; */ synchronous: boolean; }; /** * Describes the message yorkie.v1.DeactivateClientRequest. * Use `create(DeactivateClientRequestSchema)` to create a new message. */ export const DeactivateClientRequestSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 2); /** * @generated from message yorkie.v1.DeactivateClientResponse */ export type DeactivateClientResponse = Message<"yorkie.v1.DeactivateClientResponse"> & { }; /** * Describes the message yorkie.v1.DeactivateClientResponse. * Use `create(DeactivateClientResponseSchema)` to create a new message. */ export const DeactivateClientResponseSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 3); /** * @generated from message yorkie.v1.AttachDocumentRequest */ export type AttachDocumentRequest = Message<"yorkie.v1.AttachDocumentRequest"> & { /** * @generated from field: string client_id = 1; */ clientId: string; /** * @generated from field: yorkie.v1.ChangePack change_pack = 2; */ changePack?: ChangePack; /** * @generated from field: string schema_key = 3; */ schemaKey: string; }; /** * Describes the message yorkie.v1.AttachDocumentRequest. * Use `create(AttachDocumentRequestSchema)` to create a new message. */ export const AttachDocumentRequestSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 4); /** * @generated from message yorkie.v1.AttachDocumentResponse */ export type AttachDocumentResponse = Message<"yorkie.v1.AttachDocumentResponse"> & { /** * @generated from field: string document_id = 1; */ documentId: string; /** * @generated from field: yorkie.v1.ChangePack change_pack = 2; */ changePack?: ChangePack; /** * @generated from field: int32 max_size_per_document = 3; */ maxSizePerDocument: number; /** * @generated from field: repeated yorkie.v1.Rule schema_rules = 4; */ schemaRules: Rule[]; }; /** * Describes the message yorkie.v1.AttachDocumentResponse. * Use `create(AttachDocumentResponseSchema)` to create a new message. */ export const AttachDocumentResponseSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 5); /** * @generated from message yorkie.v1.DetachDocumentRequest */ export type DetachDocumentRequest = Message<"yorkie.v1.DetachDocumentRequest"> & { /** * @generated from field: string client_id = 1; */ clientId: string; /** * @generated from field: string document_id = 2; */ documentId: string; /** * @generated from field: yorkie.v1.ChangePack change_pack = 3; */ changePack?: ChangePack; /** * @generated from field: bool remove_if_not_attached = 4; */ removeIfNotAttached: boolean; }; /** * Describes the message yorkie.v1.DetachDocumentRequest. * Use `create(DetachDocumentRequestSchema)` to create a new message. */ export const DetachDocumentRequestSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 6); /** * @generated from message yorkie.v1.DetachDocumentResponse */ export type DetachDocumentResponse = Message<"yorkie.v1.DetachDocumentResponse"> & { /** * @generated from field: yorkie.v1.ChangePack change_pack = 2; */ changePack?: ChangePack; }; /** * Describes the message yorkie.v1.DetachDocumentResponse. * Use `create(DetachDocumentResponseSchema)` to create a new message. */ export const DetachDocumentResponseSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 7); /** * @generated from message yorkie.v1.WatchRequest */ export type WatchRequest = Message<"yorkie.v1.WatchRequest"> & { /** * @generated from field: string client_id = 1; */ clientId: string; /** * @generated from field: repeated yorkie.v1.ResourceDescriptor resources = 2; */ resources: ResourceDescriptor[]; }; /** * Describes the message yorkie.v1.WatchRequest. * Use `create(WatchRequestSchema)` to create a new message. */ export const WatchRequestSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 8); /** * @generated from message yorkie.v1.ResourceDescriptor */ export type ResourceDescriptor = Message<"yorkie.v1.ResourceDescriptor"> & { /** * @generated from oneof yorkie.v1.ResourceDescriptor.resource */ resource: { /** * @generated from field: yorkie.v1.DocumentDescriptor document = 1; */ value: DocumentDescriptor; case: "document"; } | { /** * @generated from field: yorkie.v1.ChannelDescriptor channel = 2; */ value: ChannelDescriptor; case: "channel"; } | { case: undefined; value?: undefined }; }; /** * Describes the message yorkie.v1.ResourceDescriptor. * Use `create(ResourceDescriptorSchema)` to create a new message. */ export const ResourceDescriptorSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 9); /** * @generated from message yorkie.v1.DocumentDescriptor */ export type DocumentDescriptor = Message<"yorkie.v1.DocumentDescriptor"> & { /** * @generated from field: string document_id = 1; */ documentId: string; }; /** * Describes the message yorkie.v1.DocumentDescriptor. * Use `create(DocumentDescriptorSchema)` to create a new message. */ export const DocumentDescriptorSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 10); /** * @generated from message yorkie.v1.ChannelDescriptor */ export type ChannelDescriptor = Message<"yorkie.v1.ChannelDescriptor"> & { /** * @generated from field: string channel_key = 1; */ channelKey: string; }; /** * Describes the message yorkie.v1.ChannelDescriptor. * Use `create(ChannelDescriptorSchema)` to create a new message. */ export const ChannelDescriptorSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 11); /** * @generated from message yorkie.v1.WatchResponse */ export type WatchResponse = Message<"yorkie.v1.WatchResponse"> & { /** * @generated from oneof yorkie.v1.WatchResponse.body */ body: { /** * @generated from field: yorkie.v1.WatchInitialization initialization = 1; */ value: WatchInitialization; case: "initialization"; } | { /** * @generated from field: yorkie.v1.WatchEvent event = 2; */ value: WatchEvent; case: "event"; } | { case: undefined; value?: undefined }; }; /** * Describes the message yorkie.v1.WatchResponse. * Use `create(WatchResponseSchema)` to create a new message. */ export const WatchResponseSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 12); /** * @generated from message yorkie.v1.WatchInitialization */ export type WatchInitialization = Message<"yorkie.v1.WatchInitialization"> & { /** * @generated from field: repeated yorkie.v1.ResourceInit resource_inits = 1; */ resourceInits: ResourceInit[]; }; /** * Describes the message yorkie.v1.WatchInitialization. * Use `create(WatchInitializationSchema)` to create a new message. */ export const WatchInitializationSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 13); /** * @generated from message yorkie.v1.ResourceInit */ export type ResourceInit = Message<"yorkie.v1.ResourceInit"> & { /** * @generated from oneof yorkie.v1.ResourceInit.init */ init: { /** * @generated from field: yorkie.v1.DocumentInit document_init = 1; */ value: DocumentInit; case: "documentInit"; } | { /** * @generated from field: yorkie.v1.ChannelInit channel_init = 2; */ value: ChannelInit; case: "channelInit"; } | { case: undefined; value?: undefined }; }; /** * Describes the message yorkie.v1.ResourceInit. * Use `create(ResourceInitSchema)` to create a new message. */ export const ResourceInitSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 14); /** * @generated from message yorkie.v1.DocumentInit */ export type DocumentInit = Message<"yorkie.v1.DocumentInit"> & { /** * @generated from field: string document_id = 1; */ documentId: string; /** * @generated from field: repeated string client_ids = 2; */ clientIds: string[]; }; /** * Describes the message yorkie.v1.DocumentInit. * Use `create(DocumentInitSchema)` to create a new message. */ export const DocumentInitSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 15); /** * @generated from message yorkie.v1.ChannelInit */ export type ChannelInit = Message<"yorkie.v1.ChannelInit"> & { /** * @generated from field: string channel_key = 1; */ channelKey: string; /** * @generated from field: int64 session_count = 2; */ sessionCount: bigint; /** * @generated from field: int64 seq = 3; */ seq: bigint; }; /** * Describes the message yorkie.v1.ChannelInit. * Use `create(ChannelInitSchema)` to create a new message. */ export const ChannelInitSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 16); /** * @generated from message yorkie.v1.WatchEvent */ export type WatchEvent = Message<"yorkie.v1.WatchEvent"> & { /** * @generated from oneof yorkie.v1.WatchEvent.event */ event: { /** * @generated from field: yorkie.v1.DocWatchEvent doc_event = 1; */ value: DocWatchEvent; case: "docEvent"; } | { /** * @generated from field: yorkie.v1.ChannelWatchEvent channel_event = 2; */ value: ChannelWatchEvent; case: "channelEvent"; } | { case: undefined; value?: undefined }; }; /** * Describes the message yorkie.v1.WatchEvent. * Use `create(WatchEventSchema)` to create a new message. */ export const WatchEventSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 17); /** * @generated from message yorkie.v1.DocWatchEvent */ export type DocWatchEvent = Message<"yorkie.v1.DocWatchEvent"> & { /** * @generated from field: string document_id = 1; */ documentId: string; /** * @generated from field: yorkie.v1.DocEvent event = 2; */ event?: DocEvent; }; /** * Describes the message yorkie.v1.DocWatchEvent. * Use `create(DocWatchEventSchema)` to create a new message. */ export const DocWatchEventSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 18); /** * @generated from message yorkie.v1.ChannelWatchEvent */ export type ChannelWatchEvent = Message<"yorkie.v1.ChannelWatchEvent"> & { /** * @generated from field: string channel_key = 1; */ channelKey: string; /** * @generated from field: yorkie.v1.ChannelEvent event = 2; */ event?: ChannelEvent; }; /** * Describes the message yorkie.v1.ChannelWatchEvent. * Use `create(ChannelWatchEventSchema)` to create a new message. */ export const ChannelWatchEventSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 19); /** * Deprecated: Use WatchRequest instead. * * @generated from message yorkie.v1.WatchDocumentRequest */ export type WatchDocumentRequest = Message<"yorkie.v1.WatchDocumentRequest"> & { /** * @generated from field: string client_id = 1; */ clientId: string; /** * @generated from field: string document_id = 2; */ documentId: string; }; /** * Describes the message yorkie.v1.WatchDocumentRequest. * Use `create(WatchDocumentRequestSchema)` to create a new message. */ export const WatchDocumentRequestSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 20); /** * Deprecated: Use WatchResponse instead. * * @generated from message yorkie.v1.WatchDocumentResponse */ export type WatchDocumentResponse = Message<"yorkie.v1.WatchDocumentResponse"> & { /** * @generated from oneof yorkie.v1.WatchDocumentResponse.body */ body: { /** * @generated from field: yorkie.v1.WatchDocumentResponse.Initialization initialization = 1; */ value: WatchDocumentResponse_Initialization; case: "initialization"; } | { /** * @generated from field: yorkie.v1.DocEvent event = 2; */ value: DocEvent; case: "event"; } | { case: undefined; value?: undefined }; }; /** * Describes the message yorkie.v1.WatchDocumentResponse. * Use `create(WatchDocumentResponseSchema)` to create a new message. */ export const WatchDocumentResponseSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 21); /** * @generated from message yorkie.v1.WatchDocumentResponse.Initialization */ export type WatchDocumentResponse_Initialization = Message<"yorkie.v1.WatchDocumentResponse.Initialization"> & { /** * @generated from field: repeated string client_ids = 1; */ clientIds: string[]; }; /** * Describes the message yorkie.v1.WatchDocumentResponse.Initialization. * Use `create(WatchDocumentResponse_InitializationSchema)` to create a new message. */ export const WatchDocumentResponse_InitializationSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 21, 0); /** * Deprecated: Use WatchRequest instead. * * @generated from message yorkie.v1.WatchChannelRequest */ export type WatchChannelRequest = Message<"yorkie.v1.WatchChannelRequest"> & { /** * @generated from field: string client_id = 1; */ clientId: string; /** * @generated from field: string channel_key = 2; */ channelKey: string; }; /** * Describes the message yorkie.v1.WatchChannelRequest. * Use `create(WatchChannelRequestSchema)` to create a new message. */ export const WatchChannelRequestSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 22); /** * Deprecated: Use WatchResponse instead. * * @generated from message yorkie.v1.WatchChannelResponse */ export type WatchChannelResponse = Message<"yorkie.v1.WatchChannelResponse"> & { /** * @generated from oneof yorkie.v1.WatchChannelResponse.body */ body: { /** * @generated from field: yorkie.v1.WatchChannelInitialized initialized = 1; */ value: WatchChannelInitialized; case: "initialized"; } | { /** * @generated from field: yorkie.v1.ChannelEvent event = 2; */ value: ChannelEvent; case: "event"; } | { case: undefined; value?: undefined }; }; /** * Describes the message yorkie.v1.WatchChannelResponse. * Use `create(WatchChannelResponseSchema)` to create a new message. */ export const WatchChannelResponseSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 23); /** * Deprecated: Use ChannelInit instead. * * @generated from message yorkie.v1.WatchChannelInitialized */ export type WatchChannelInitialized = Message<"yorkie.v1.WatchChannelInitialized"> & { /** * @generated from field: int64 session_count = 1; */ sessionCount: bigint; /** * @generated from field: int64 seq = 2; */ seq: bigint; }; /** * Describes the message yorkie.v1.WatchChannelInitialized. * Use `create(WatchChannelInitializedSchema)` to create a new message. */ export const WatchChannelInitializedSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 24); /** * @generated from message yorkie.v1.RemoveDocumentRequest */ export type RemoveDocumentRequest = Message<"yorkie.v1.RemoveDocumentRequest"> & { /** * @generated from field: string client_id = 1; */ clientId: string; /** * @generated from field: string document_id = 2; */ documentId: string; /** * @generated from field: yorkie.v1.ChangePack change_pack = 3; */ changePack?: ChangePack; }; /** * Describes the message yorkie.v1.RemoveDocumentRequest. * Use `create(RemoveDocumentRequestSchema)` to create a new message. */ export const RemoveDocumentRequestSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 25); /** * @generated from message yorkie.v1.RemoveDocumentResponse */ export type RemoveDocumentResponse = Message<"yorkie.v1.RemoveDocumentResponse"> & { /** * @generated from field: yorkie.v1.ChangePack change_pack = 1; */ changePack?: ChangePack; }; /** * Describes the message yorkie.v1.RemoveDocumentResponse. * Use `create(RemoveDocumentResponseSchema)` to create a new message. */ export const RemoveDocumentResponseSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 26); /** * @generated from message yorkie.v1.PushPullChangesRequest */ export type PushPullChangesRequest = Message<"yorkie.v1.PushPullChangesRequest"> & { /** * @generated from field: string client_id = 1; */ clientId: string; /** * @generated from field: string document_id = 2; */ documentId: string; /** * @generated from field: yorkie.v1.ChangePack change_pack = 3; */ changePack?: ChangePack; /** * @generated from field: bool push_only = 4; */ pushOnly: boolean; }; /** * Describes the message yorkie.v1.PushPullChangesRequest. * Use `create(PushPullChangesRequestSchema)` to create a new message. */ export const PushPullChangesRequestSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 27); /** * @generated from message yorkie.v1.PushPullChangesResponse */ export type PushPullChangesResponse = Message<"yorkie.v1.PushPullChangesResponse"> & { /** * @generated from field: yorkie.v1.ChangePack change_pack = 1; */ changePack?: ChangePack; }; /** * Describes the message yorkie.v1.PushPullChangesResponse. * Use `create(PushPullChangesResponseSchema)` to create a new message. */ export const PushPullChangesResponseSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 28); /** * @generated from message yorkie.v1.CreateRevisionRequest */ export type CreateRevisionRequest = Message<"yorkie.v1.CreateRevisionRequest"> & { /** * @generated from field: string client_id = 1; */ clientId: string; /** * @generated from field: string document_id = 2; */ documentId: string; /** * @generated from field: string label = 3; */ label: string; /** * @generated from field: string description = 4; */ description: string; }; /** * Describes the message yorkie.v1.CreateRevisionRequest. * Use `create(CreateRevisionRequestSchema)` to create a new message. */ export const CreateRevisionRequestSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 29); /** * @generated from message yorkie.v1.CreateRevisionResponse */ export type CreateRevisionResponse = Message<"yorkie.v1.CreateRevisionResponse"> & { /** * @generated from field: yorkie.v1.RevisionSummary revision = 1; */ revision?: RevisionSummary; }; /** * Describes the message yorkie.v1.CreateRevisionResponse. * Use `create(CreateRevisionResponseSchema)` to create a new message. */ export const CreateRevisionResponseSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 30); /** * @generated from message yorkie.v1.GetRevisionRequest */ export type GetRevisionRequest = Message<"yorkie.v1.GetRevisionRequest"> & { /** * @generated from field: string client_id = 1; */ clientId: string; /** * @generated from field: string document_id = 2; */ documentId: string; /** * @generated from field: string revision_id = 3; */ revisionId: string; }; /** * Describes the message yorkie.v1.GetRevisionRequest. * Use `create(GetRevisionRequestSchema)` to create a new message. */ export const GetRevisionRequestSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 31); /** * @generated from message yorkie.v1.GetRevisionResponse */ export type GetRevisionResponse = Message<"yorkie.v1.GetRevisionResponse"> & { /** * @generated from field: yorkie.v1.RevisionSummary revision = 1; */ revision?: RevisionSummary; }; /** * Describes the message yorkie.v1.GetRevisionResponse. * Use `create(GetRevisionResponseSchema)` to create a new message. */ export const GetRevisionResponseSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 32); /** * @generated from message yorkie.v1.ListRevisionsRequest */ export type ListRevisionsRequest = Message<"yorkie.v1.ListRevisionsRequest"> & { /** * @generated from field: string client_id = 1; */ clientId: string; /** * @generated from field: string document_id = 2; */ documentId: string; /** * @generated from field: int32 page_size = 3; */ pageSize: number; /** * @generated from field: int32 offset = 4; */ offset: number; /** * @generated from field: bool is_forward = 5; */ isForward: boolean; }; /** * Describes the message yorkie.v1.ListRevisionsRequest. * Use `create(ListRevisionsRequestSchema)` to create a new message. */ export const ListRevisionsRequestSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 33); /** * @generated from message yorkie.v1.ListRevisionsResponse */ export type ListRevisionsResponse = Message<"yorkie.v1.ListRevisionsResponse"> & { /** * @generated from field: repeated yorkie.v1.RevisionSummary revisions = 1; */ revisions: RevisionSummary[]; }; /** * Describes the message yorkie.v1.ListRevisionsResponse. * Use `create(ListRevisionsResponseSchema)` to create a new message. */ export const ListRevisionsResponseSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 34); /** * @generated from message yorkie.v1.RestoreRevisionRequest */ export type RestoreRevisionRequest = Message<"yorkie.v1.RestoreRevisionRequest"> & { /** * @generated from field: string client_id = 1; */ clientId: string; /** * @generated from field: string document_id = 2; */ documentId: string; /** * @generated from field: string revision_id = 4; */ revisionId: string; }; /** * Describes the message yorkie.v1.RestoreRevisionRequest. * Use `create(RestoreRevisionRequestSchema)` to create a new message. */ export const RestoreRevisionRequestSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 35); /** * @generated from message yorkie.v1.RestoreRevisionResponse */ export type RestoreRevisionResponse = Message<"yorkie.v1.RestoreRevisionResponse"> & { }; /** * Describes the message yorkie.v1.RestoreRevisionResponse. * Use `create(RestoreRevisionResponseSchema)` to create a new message. */ export const RestoreRevisionResponseSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 36); /** * @generated from message yorkie.v1.AttachChannelRequest */ export type AttachChannelRequest = Message<"yorkie.v1.AttachChannelRequest"> & { /** * @generated from field: string client_id = 1; */ clientId: string; /** * @generated from field: string channel_key = 2; */ channelKey: string; }; /** * Describes the message yorkie.v1.AttachChannelRequest. * Use `create(AttachChannelRequestSchema)` to create a new message. */ export const AttachChannelRequestSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 37); /** * @generated from message yorkie.v1.AttachChannelResponse */ export type AttachChannelResponse = Message<"yorkie.v1.AttachChannelResponse"> & { /** * @generated from field: string session_id = 1; */ sessionId: string; /** * @generated from field: int64 session_count = 2; */ sessionCount: bigint; }; /** * Describes the message yorkie.v1.AttachChannelResponse. * Use `create(AttachChannelResponseSchema)` to create a new message. */ export const AttachChannelResponseSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 38); /** * @generated from message yorkie.v1.DetachChannelRequest */ export type DetachChannelRequest = Message<"yorkie.v1.DetachChannelRequest"> & { /** * @generated from field: string client_id = 1; */ clientId: string; /** * @generated from field: string channel_key = 2; */ channelKey: string; /** * @generated from field: string session_id = 3; */ sessionId: string; }; /** * Describes the message yorkie.v1.DetachChannelRequest. * Use `create(DetachChannelRequestSchema)` to create a new message. */ export const DetachChannelRequestSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 39); /** * @generated from message yorkie.v1.DetachChannelResponse */ export type DetachChannelResponse = Message<"yorkie.v1.DetachChannelResponse"> & { /** * @generated from field: int64 session_count = 1; */ sessionCount: bigint; }; /** * Describes the message yorkie.v1.DetachChannelResponse. * Use `create(DetachChannelResponseSchema)` to create a new message. */ export const DetachChannelResponseSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 40); /** * @generated from message yorkie.v1.RefreshChannelRequest */ export type RefreshChannelRequest = Message<"yorkie.v1.RefreshChannelRequest"> & { /** * @generated from field: string client_id = 1; */ clientId: string; /** * @generated from field: string channel_key = 2; */ channelKey: string; /** * @generated from field: string session_id = 3; */ sessionId: string; /** * client_key and metadata are used only on the first call (when session_id * is empty). The server activates the client and attaches it to the channel * before refreshing, collapsing ActivateClient + AttachChannel + * RefreshChannel into a single round trip. * * @generated from field: string client_key = 4; */ clientKey: string; /** * @generated from field: map metadata = 5; */ metadata: { [key: string]: string }; }; /** * Describes the message yorkie.v1.RefreshChannelRequest. * Use `create(RefreshChannelRequestSchema)` to create a new message. */ export const RefreshChannelRequestSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 41); /** * @generated from message yorkie.v1.RefreshChannelResponse */ export type RefreshChannelResponse = Message<"yorkie.v1.RefreshChannelResponse"> & { /** * @generated from field: int64 session_count = 1; */ sessionCount: bigint; /** * client_id and session_id are populated only when the request was a * first-call (i.e. session_id was empty). Subsequent heartbeats leave * these empty. * * @generated from field: string client_id = 2; */ clientId: string; /** * @generated from field: string session_id = 3; */ sessionId: string; }; /** * Describes the message yorkie.v1.RefreshChannelResponse. * Use `create(RefreshChannelResponseSchema)` to create a new message. */ export const RefreshChannelResponseSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 42); /** * PeekChannel reads the current session_count of a channel without creating * a session on the server. Use this when a client only needs to display the * count (e.g. "N people writing") without contributing to it and without * receiving broadcasts. Caller polls on its own cadence. * * @generated from message yorkie.v1.PeekChannelRequest */ export type PeekChannelRequest = Message<"yorkie.v1.PeekChannelRequest"> & { /** * @generated from field: string channel_key = 1; */ channelKey: string; }; /** * Describes the message yorkie.v1.PeekChannelRequest. * Use `create(PeekChannelRequestSchema)` to create a new message. */ export const PeekChannelRequestSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 43); /** * @generated from message yorkie.v1.PeekChannelResponse */ export type PeekChannelResponse = Message<"yorkie.v1.PeekChannelResponse"> & { /** * @generated from field: int64 session_count = 1; */ sessionCount: bigint; }; /** * Describes the message yorkie.v1.PeekChannelResponse. * Use `create(PeekChannelResponseSchema)` to create a new message. */ export const PeekChannelResponseSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 44); /** * @generated from message yorkie.v1.BroadcastRequest */ export type BroadcastRequest = Message<"yorkie.v1.BroadcastRequest"> & { /** * @generated from field: string client_id = 1; */ clientId: string; /** * @generated from field: string channel_key = 2; */ channelKey: string; /** * @generated from field: string topic = 3; */ topic: string; /** * @generated from field: bytes payload = 4; */ payload: Uint8Array; }; /** * Describes the message yorkie.v1.BroadcastRequest. * Use `create(BroadcastRequestSchema)` to create a new message. */ export const BroadcastRequestSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 45); /** * @generated from message yorkie.v1.BroadcastResponse */ export type BroadcastResponse = Message<"yorkie.v1.BroadcastResponse"> & { }; /** * Describes the message yorkie.v1.BroadcastResponse. * Use `create(BroadcastResponseSchema)` to create a new message. */ export const BroadcastResponseSchema: GenMessage = /*@__PURE__*/ messageDesc(file_yorkie_v1_yorkie, 46); /** * Yorkie is a service that provides an API for SDKs. * * @generated from service yorkie.v1.YorkieService */ export const YorkieService: GenService<{ /** * @generated from rpc yorkie.v1.YorkieService.ActivateClient */ activateClient: { methodKind: "unary"; input: typeof ActivateClientRequestSchema; output: typeof ActivateClientResponseSchema; }, /** * @generated from rpc yorkie.v1.YorkieService.DeactivateClient */ deactivateClient: { methodKind: "unary"; input: typeof DeactivateClientRequestSchema; output: typeof DeactivateClientResponseSchema; }, /** * @generated from rpc yorkie.v1.YorkieService.AttachDocument */ attachDocument: { methodKind: "unary"; input: typeof AttachDocumentRequestSchema; output: typeof AttachDocumentResponseSchema; }, /** * @generated from rpc yorkie.v1.YorkieService.DetachDocument */ detachDocument: { methodKind: "unary"; input: typeof DetachDocumentRequestSchema; output: typeof DetachDocumentResponseSchema; }, /** * @generated from rpc yorkie.v1.YorkieService.RemoveDocument */ removeDocument: { methodKind: "unary"; input: typeof RemoveDocumentRequestSchema; output: typeof RemoveDocumentResponseSchema; }, /** * @generated from rpc yorkie.v1.YorkieService.PushPullChanges */ pushPullChanges: { methodKind: "unary"; input: typeof PushPullChangesRequestSchema; output: typeof PushPullChangesResponseSchema; }, /** * @generated from rpc yorkie.v1.YorkieService.Watch */ watch: { methodKind: "server_streaming"; input: typeof WatchRequestSchema; output: typeof WatchResponseSchema; }, /** * Deprecated: Use Watch with ResourceDescriptor instead. * * @generated from rpc yorkie.v1.YorkieService.WatchDocument */ watchDocument: { methodKind: "server_streaming"; input: typeof WatchDocumentRequestSchema; output: typeof WatchDocumentResponseSchema; }, /** * Deprecated: Use Watch with ResourceDescriptor instead. * * @generated from rpc yorkie.v1.YorkieService.WatchChannel */ watchChannel: { methodKind: "server_streaming"; input: typeof WatchChannelRequestSchema; output: typeof WatchChannelResponseSchema; }, /** * @generated from rpc yorkie.v1.YorkieService.CreateRevision */ createRevision: { methodKind: "unary"; input: typeof CreateRevisionRequestSchema; output: typeof CreateRevisionResponseSchema; }, /** * @generated from rpc yorkie.v1.YorkieService.GetRevision */ getRevision: { methodKind: "unary"; input: typeof GetRevisionRequestSchema; output: typeof GetRevisionResponseSchema; }, /** * @generated from rpc yorkie.v1.YorkieService.ListRevisions */ listRevisions: { methodKind: "unary"; input: typeof ListRevisionsRequestSchema; output: typeof ListRevisionsResponseSchema; }, /** * @generated from rpc yorkie.v1.YorkieService.RestoreRevision */ restoreRevision: { methodKind: "unary"; input: typeof RestoreRevisionRequestSchema; output: typeof RestoreRevisionResponseSchema; }, /** * @generated from rpc yorkie.v1.YorkieService.AttachChannel */ attachChannel: { methodKind: "unary"; input: typeof AttachChannelRequestSchema; output: typeof AttachChannelResponseSchema; }, /** * @generated from rpc yorkie.v1.YorkieService.DetachChannel */ detachChannel: { methodKind: "unary"; input: typeof DetachChannelRequestSchema; output: typeof DetachChannelResponseSchema; }, /** * @generated from rpc yorkie.v1.YorkieService.RefreshChannel */ refreshChannel: { methodKind: "unary"; input: typeof RefreshChannelRequestSchema; output: typeof RefreshChannelResponseSchema; }, /** * @generated from rpc yorkie.v1.YorkieService.PeekChannel */ peekChannel: { methodKind: "unary"; input: typeof PeekChannelRequestSchema; output: typeof PeekChannelResponseSchema; }, /** * @generated from rpc yorkie.v1.YorkieService.Broadcast */ broadcast: { methodKind: "unary"; input: typeof BroadcastRequestSchema; output: typeof BroadcastResponseSchema; }, }> = /*@__PURE__*/ serviceDesc(file_yorkie_v1_yorkie, 0); ================================================ FILE: packages/sdk/src/channel/channel.ts ================================================ /* * Copyright 2025 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { ActorID } from '@yorkie-js/sdk/src/document/time/actor_id'; import { Attachable } from '@yorkie-js/sdk/src/client/attachable'; import { createObservable, NextFn, Observer, Unsubscribe, } from '@yorkie-js/sdk/src/util/observable'; import { Json } from '../yorkie'; /** * Observable interface for subscribing to presence events. */ export interface Observable { subscribe(observer: (event: T) => void): Unsubscribe; } /** * `PresenceStatus` represents the status of the presence. */ export enum ChannelStatus { /** * `Detached` means that the presence is not attached to the client. */ Detached = 'detached', /** * `Attached` means that the presence is attached to the client. */ Attached = 'attached', /** * `Removed` means that the presence is removed. */ Removed = 'removed', } /** * `BroadcastOptions` are the options for broadcasting a message. */ export interface BroadcastOptions { /** * `error` is called when an error occurs. */ error?: (error: Error) => void; /** * `maxRetries` is the maximum number of retries. */ maxRetries?: number; } /** * `ChannelEventType` represents the type of channel event. */ export enum ChannelEventType { /** * `Changed` means that the presence has changed. */ PresenceChanged = 'presence-changed', /** * `Initialized` means that the presence watch has been initialized. */ Initialized = 'initialized', /** * `Broadcast` means that a broadcast message has been received. */ Broadcast = 'broadcast', /** * `LocalBroadcast` means that a broadcast message has been sent by the local client. */ LocalBroadcast = 'local-broadcast', /** * `AuthError` means that an authentication error has occurred. */ AuthError = 'auth-error', /** * `SyncError` means that a non-recoverable sync (RefreshChannel) error * occurred. Subscribers can use this to render an error state in the UI * without polling internal SDK state. The SDK still retries via its sync * loop, so subsequent successful events (PresenceChanged/Initialized) can * be treated as recovery. */ SyncError = 'sync-error', } /** * `PresenceEvent` represents a presence change event. */ export interface PresenceEvent { /** * `type` is the type of the event. */ type: ChannelEventType.PresenceChanged | ChannelEventType.Initialized; /** * `count` is the current count value. */ count: number; } export interface BroadcastEvent { type: ChannelEventType.Broadcast; clientID: ActorID; topic: string; payload: Json; options?: BroadcastOptions; } export interface LocalBroadcastEvent { type: ChannelEventType.LocalBroadcast; clientID: ActorID; topic: string; payload: Json; options?: BroadcastOptions; } /** * `AuthErrorEvent` represents an authentication error event. */ export interface AuthErrorEvent { /** * `type` is the type of the event. */ type: ChannelEventType.AuthError; /** * `reason` is the reason for the authentication error. */ reason: string; /** * `method` is the method that caused the authentication error. */ method: string; } /** * `SyncErrorEvent` represents a non-recoverable sync (RefreshChannel) error. * It carries the underlying error object so subscribers can inspect codes * (e.g. via `isErrorCode`) without losing the original Error. */ export interface SyncErrorEvent { /** * `type` is the type of the event. */ type: ChannelEventType.SyncError; /** * `error` is the underlying error thrown by the RPC call. */ error: unknown; /** * `method` is the RPC method that failed (e.g. `RefreshChannel`). */ method: string; } /** * `ChannelEvent` represents an event that occurs in the channel. */ export type ChannelEvent = | PresenceEvent | BroadcastEvent | LocalBroadcastEvent | AuthErrorEvent | SyncErrorEvent; /** * `ChannelEventCallbackMap` represents a map of event types to callbacks. */ export type ChannelEventCallbackMap = { broadcast: NextFn; 'local-broadcast': NextFn; 'auth-error': NextFn; 'sync-error': NextFn; presence: NextFn; all: NextFn; }; /** * KeyPathSeparator is the separator for key paths in a channel key. */ const KeyPathSeparator = '.'; /** * `Channel` represents a lightweight channel for presence and messaging. */ export class Channel implements Observable, Attachable { private key: string; private status: ChannelStatus; private actorID?: ActorID; private sessionID?: string; private sessionCount: number; private seq: number; private eventStream: Observable; private eventStreamObserver!: Observer; /** * @param key - the key of the channel. */ constructor(key: string) { this.validateChannelKey(key); this.key = key; this.status = ChannelStatus.Detached; this.sessionCount = 0; this.seq = 0; this.eventStream = createObservable( (observer) => (this.eventStreamObserver = observer), ); } /** * `getKey` returns the key of this channel. */ public getKey(): string { return this.key; } /** * `getFirstKeyPath` returns the first key path to the presence count. */ public getFirstKeyPath(): string { return this.key.split(KeyPathSeparator)[0]; } /** * `getStatus` returns the status of this channel. */ public getStatus(): ChannelStatus { return this.status; } /** * `applyStatus` applies the channel status into this channel. */ public applyStatus(status: ChannelStatus): void { this.status = status; } /** * `isAttached` returns whether this channel is attached or not. */ public isAttached(): boolean { return this.status === ChannelStatus.Attached; } /** * `getActorID` returns the actor ID of this channel. */ public getActorID(): ActorID | undefined { return this.actorID; } /** * `setActor` sets the actor ID into this channel. */ public setActor(actorID: ActorID): void { this.actorID = actorID; } /** * `getSessionID` returns the session ID from the server. */ public getSessionID(): string | undefined { return this.sessionID; } /** * `setSessionID` sets the session ID from the server. */ public setSessionID(sessionID: string): void { this.sessionID = sessionID; } /** * `getSessionCount` returns the current channel online session count value. */ public getSessionCount(): number { return this.sessionCount; } /** * `updateSessionCount` updates the session count and sequence number if the sequence is newer. * Returns true if the count was updated, false if the update was ignored. */ public updateSessionCount(sessionCount: number, seq: number): boolean { // Always accept initialization (seq === 0) if (seq === 0 || seq > this.seq) { this.sessionCount = sessionCount; this.seq = seq; return true; } return false; } /** * `hasLocalChanges` returns whether this channel has local changes or not. * Channel is server-managed, so it always returns false. */ public hasLocalChanges(): boolean { // NOTE(hackerwins): Consider to keep broadcast messages locally in the future. return false; } /** * `subscribe` registers a callback to subscribe to events on the channel. * The callback will be called when the broadcast event is received from the remote client. */ public subscribe( type: 'broadcast', next: ChannelEventCallbackMap['broadcast'], ): Unsubscribe; /** * `subscribe` registers a callback to subscribe to events on the channel. * The callback will be called when the local client sends a broadcast event. */ public subscribe( type: 'local-broadcast', next: ChannelEventCallbackMap['local-broadcast'], ): Unsubscribe; /** * `subscribe` registers a callback to subscribe to events on the channel. * The callback will be called when an authentication error occurs. */ public subscribe( type: 'auth-error', next: ChannelEventCallbackMap['auth-error'], ): Unsubscribe; /** * `subscribe` registers a callback to subscribe to non-recoverable sync * (RefreshChannel) errors. Subsequent successful events on the channel * imply recovery — there is no separate "recovered" event. */ public subscribe( type: 'sync-error', next: ChannelEventCallbackMap['sync-error'], ): Unsubscribe; /** * `subscribe` registers a callback to subscribe to presence events on the channel. * The callback will be called when the presence count changes. */ public subscribe( type: 'presence', next: ChannelEventCallbackMap['presence'], ): Unsubscribe; /** * `subscribe` registers a callback to subscribe to all events on the channel. */ public subscribe( type: 'all', next: ChannelEventCallbackMap['all'], ): Unsubscribe; /** * `subscribe` registers a callback to subscribe to broadcast events for a specific topic. * The callback will be called when a broadcast event with the matching topic is received. */ public subscribe(topic: string, next: NextFn): Unsubscribe; /** * `subscribe` registers an observer for all channel events. * Returns an unsubscribe function. */ public subscribe(arg1: NextFn): Unsubscribe; /** * `subscribe` implementation. */ public subscribe( arg1: | 'broadcast' | 'local-broadcast' | 'auth-error' | 'sync-error' | 'presence' | 'all' | string | NextFn, arg2?: | ChannelEventCallbackMap['broadcast'] | ChannelEventCallbackMap['local-broadcast'] | ChannelEventCallbackMap['auth-error'] | ChannelEventCallbackMap['sync-error'] | ChannelEventCallbackMap['presence'] | ChannelEventCallbackMap['all'] | NextFn, ): Unsubscribe { if (typeof arg1 === 'function') { return this.eventStream.subscribe(arg1); } const typeOrTopic = arg1; const callback = arg2; if (!callback) { throw new Error( 'callback is required when subscribing to specific event type or topic', ); } // Handle reserved event types if (typeOrTopic === 'broadcast') { return this.eventStream.subscribe((event) => { if (event.type === ChannelEventType.Broadcast) { (callback as ChannelEventCallbackMap['broadcast'])(event); } }); } if (typeOrTopic === 'local-broadcast') { return this.eventStream.subscribe((event) => { if (event.type === ChannelEventType.LocalBroadcast) { (callback as ChannelEventCallbackMap['local-broadcast'])(event); } }); } if (typeOrTopic === 'auth-error') { return this.eventStream.subscribe((event) => { if (event.type === ChannelEventType.AuthError) { (callback as ChannelEventCallbackMap['auth-error'])(event); } }); } if (typeOrTopic === 'sync-error') { return this.eventStream.subscribe((event) => { if (event.type === ChannelEventType.SyncError) { (callback as ChannelEventCallbackMap['sync-error'])(event); } }); } if (typeOrTopic === 'presence') { return this.eventStream.subscribe((event) => { if ( event.type === ChannelEventType.PresenceChanged || event.type === ChannelEventType.Initialized ) { (callback as ChannelEventCallbackMap['presence'])(event); } }); } if (typeOrTopic === 'all') { return this.eventStream.subscribe(callback as NextFn); } // Handle topic-based subscription for broadcast events const topic = typeOrTopic; return this.eventStream.subscribe((event) => { if (event.type === ChannelEventType.Broadcast && event.topic === topic) { (callback as NextFn)(event); } }); } /** * `publish` publishes an event to all registered handlers. */ public publish(event: ChannelEvent): void { if (this.eventStreamObserver) { this.eventStreamObserver.next(event); } } /** * `broadcast` sends a message to all clients watching this channel. */ public broadcast( topic: string, payload: any, options?: BroadcastOptions, ): void { if (this.status !== ChannelStatus.Attached) { throw new Error(`channel is not attached: ${this.status}`); } if (!this.actorID) { throw new Error('actorID is not set'); } this.publish({ type: ChannelEventType.LocalBroadcast, clientID: this.actorID, topic, payload, options, }); } private validateChannelKey(key: string): void { if (key === '') { throw new Error('channel key must not be empty'); } if (key.includes(' ')) { throw new Error('channel key must not contain a whitespace'); } if (key.startsWith(KeyPathSeparator)) { throw new Error('channel key must not start with a period'); } if (key.endsWith(KeyPathSeparator)) { throw new Error('channel key must not end with a period'); } if (key.includes(`${KeyPathSeparator}${KeyPathSeparator}`)) { throw new Error('channel key path must not empty'); } } } ================================================ FILE: packages/sdk/src/client/attachable.ts ================================================ /* * Copyright 2025 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { ActorID } from '@yorkie-js/sdk/src/document/time/actor_id'; /** * `ResourceStatus` represents the common status interface for attachable resources. */ export type ResourceStatus = 'detached' | 'attached' | 'removed'; /** * `Attachable` is an interface for resources that can be attached to a client. */ export interface Attachable { /** * `getKey` returns the key of this resource. */ getKey(): string; /** * `getStatus` returns the status of this resource. */ getStatus(): ResourceStatus; /** * `setActor` sets the actor ID into this resource. */ setActor(actorID: ActorID): void; /** * `hasLocalChanges` returns whether this resource has local changes to be synchronized. * Returns true for Document when there are uncommitted changes. * Returns false for Presence as it is server-managed. */ hasLocalChanges(): boolean; /** * `publish` publishes an event to notify observers about changes in this resource. */ publish(event: unknown): void; } ================================================ FILE: packages/sdk/src/client/attachment.ts ================================================ /* * Copyright 2025 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { SyncMode } from '@yorkie-js/sdk/src/client/client'; import { Attachable } from './attachable'; import { Document } from '@yorkie-js/sdk/src/document/document'; /** * `WatchStream` represents a stream that watches the changes of a resource. * Uses the unified Watch RPC: AsyncIterable */ export type WatchStream = AsyncIterable; /** * `WatchStreamCreator` is a function type that creates a watch stream for a resource. * It takes an onDisconnect callback and returns a promise that resolves to a tuple of * [WatchStream, AbortController] for managing the stream lifecycle. */ export type WatchStreamCreator = ( onDisconnect: () => void, ) => Promise<[WatchStream, AbortController]>; /** * `Attachment` is a class that manages the state of an attachable resource (Document or Presence). */ export class Attachment { resource: R; /** * For Documents: the document's resourceID, available at attach time. * For Channels: the server-issued session_id. Starts empty and is * populated after the first `RefreshChannel` first-call response. */ resourceID: string; syncMode?: SyncMode; changeEventReceived?: boolean; lastHeartbeatTime: number; pollInterval: number; pollIntervalPinned: boolean; /** * `unsubscribeLocalBroadcast` is set by `attachChannel` when it forwards * a Channel's `local-broadcast` events to the RPC client, and consumed * by `detachInternal` so the subscription does not survive a detach. * Without this, re-attaching a channel accumulates duplicate handlers * on each attach cycle. */ unsubscribeLocalBroadcast?: () => void; private reconnectStreamDelay: number; private cancelled: boolean; private watchStream?: WatchStream; private watchLoopTimerID?: ReturnType; private watchAbortController?: AbortController; private syncPromise?: Promise; private _detaching = false; constructor( reconnectStreamDelay: number, resource: R, resourceID: string = '', syncMode?: SyncMode, pollInterval: number = 0, pollIntervalPinned: boolean = false, ) { this.reconnectStreamDelay = reconnectStreamDelay; this.resource = resource; this.resourceID = resourceID; this.syncMode = syncMode; this.changeEventReceived = syncMode !== undefined ? false : undefined; // Initialize to 0 so `needSync`/`needRealtimeSync` return true on the // very first tick. Otherwise the first heartbeat is delayed by one full // poll interval — channels would show stale sessionCount until then. this.lastHeartbeatTime = 0; this.pollInterval = pollInterval; this.pollIntervalPinned = pollIntervalPinned; this.cancelled = false; } /** * `changeSyncMode` changes the sync mode of the document. */ public changeSyncMode(syncMode: SyncMode) { this.syncMode = syncMode; } /** * `needRealtimeSync` returns whether the resource needs to be synced in real time. * Only applicable to Document resources with syncMode defined. */ public needRealtimeSync(): boolean { if (this.syncMode === SyncMode.RealtimeSyncOff) { return false; } if (this.syncMode === SyncMode.RealtimePushOnly) { return this.resource.hasLocalChanges(); } if (this.syncMode === SyncMode.Polling) { // Time-based: pull at every poll interval, regardless of local changes. return Date.now() - this.lastHeartbeatTime >= this.pollInterval; } return ( this.syncMode !== SyncMode.Manual && (this.resource.hasLocalChanges() || (this.changeEventReceived ?? false)) ); } /** * `needSync` determines if the attachment needs sync. * This includes both document sync and presence heartbeat. */ public needSync(heartbeatInterval: number): boolean { // For Document: check if realtime sync is needed if (this.resource instanceof Document) { return this.needRealtimeSync(); } // For Channel in Manual mode: never auto-sync if (this.syncMode === SyncMode.Manual) { return false; } // For Channel in Realtime or Polling mode: heartbeat at the // attachment's own interval (falls back to client-level value if zero). const interval = this.pollInterval > 0 ? this.pollInterval : heartbeatInterval; return Date.now() - this.lastHeartbeatTime >= interval; } /** * `updateHeartbeatTime` updates the last heartbeat time. */ public updateHeartbeatTime(): void { this.lastHeartbeatTime = Date.now(); } /** * `runWatchLoop` runs the watch loop. */ public async runWatchLoop( watchStreamCreator: WatchStreamCreator, ): Promise { const doLoop = async (): Promise => { if (this.watchStream) { return Promise.resolve(); } if (this.watchLoopTimerID) { clearTimeout(this.watchLoopTimerID); this.watchLoopTimerID = undefined; } try { [this.watchStream, this.watchAbortController] = await watchStreamCreator(() => { this.watchStream = undefined; this.watchAbortController = undefined; // NOTE(hackerwins): Only set reconnect timer if we're not being // cancelled. if (!this.cancelled) { this.watchLoopTimerID = setTimeout( doLoop, this.reconnectStreamDelay, ); } }); } catch { // TODO(hackerwins): For now, if the creation of the watch stream fails, // it is considered normal and the watch loop is executed again after a // certain period of time. // In the future, we need to find a better way to handle this. } }; await doLoop(); } /** * `markDetaching` marks this attachment as being in the process of detaching. * Once marked, the sync loop will skip this attachment. */ public markDetaching(): void { this._detaching = true; } /** * `isDetaching` returns whether this attachment is being detached. */ public isDetaching(): boolean { return this._detaching; } /** * `resetDetaching` resets the detaching flag so the attachment can resume * syncing. Used when a detach RPC fails and the document remains attached. */ public resetDetaching(): void { this._detaching = false; } /** * `setSyncPromise` sets the in-progress sync promise for this attachment. */ public setSyncPromise(promise: Promise): void { this.syncPromise = promise; } /** * `clearSyncPromise` clears the in-progress sync promise. */ public clearSyncPromise(): void { this.syncPromise = undefined; } /** * `waitForSyncComplete` waits for any in-progress sync to complete. */ public async waitForSyncComplete(): Promise { if (this.syncPromise) { try { await this.syncPromise; } catch { // Ignore sync errors — we just need it to finish } } } /** * `resetCancelled` clears the cancelled flag so the watch loop can run again * after a previous cancellation (e.g., after changeSyncMode back to Realtime). * Caller must invoke `runWatchLoop` immediately after to claim the stream slot; * `doLoop`'s `if (this.watchStream)` guard prevents double-stream creation if a * delayed `onDisconnect` callback from the previously-cancelled stream races. */ public resetCancelled(): void { this.cancelled = false; } /** * `cancelWatchStream` cancels the watch stream. */ public cancelWatchStream(): void { this.cancelled = true; if (this.watchStream && this.watchAbortController) { this.watchAbortController.abort(); this.watchStream = undefined; this.watchAbortController = undefined; } clearTimeout(this.watchLoopTimerID); this.watchLoopTimerID = undefined; } } ================================================ FILE: packages/sdk/src/client/auth_interceptor.ts ================================================ /* * Copyright 2021 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { Interceptor } from '@connectrpc/connect'; /** * `createAuthInterceptor` creates an interceptor to add the Authorization header for each * request. */ export function createAuthInterceptor( apiKey?: string, token?: string, ): { authInterceptor: Interceptor; setToken: (token: string) => void; } { let currentToken = token; const setToken = (token: string) => { currentToken = token; }; const authInterceptor: Interceptor = (next) => async (req) => { if (apiKey) { req.header.set('x-api-key', apiKey); } if (currentToken) { req.header.set('authorization', currentToken); } return await next(req); }; return { authInterceptor, setToken, }; } ================================================ FILE: packages/sdk/src/client/client.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { ActorID } from '@yorkie-js/sdk/src/document/time/actor_id'; import { createClient as createConnectClient, Client as ConnectClient, ConnectError, Code as ConnectCode, } from '@connectrpc/connect'; import { createConnectTransport, createGrpcWebTransport, } from '@connectrpc/connect-web'; import { YorkieService, WatchResponse, } from '@yorkie-js/sdk/src/api/yorkie/v1/yorkie_pb'; import { DocEventType as PbDocEventType, ChannelEvent_Type as PbChannelEventType, } from '@yorkie-js/sdk/src/api/yorkie/v1/resources_pb'; import { converter, errorCodeOf, errorMetadataOf, isErrorCode, } from '@yorkie-js/sdk/src/api/converter'; import { RevisionSummary } from '@yorkie-js/sdk/src/api/revision'; import { Code, YorkieError } from '@yorkie-js/sdk/src/util/error'; import { logger } from '@yorkie-js/sdk/src/util/logger'; import { uuid } from '@yorkie-js/sdk/src/util/uuid'; import { Attachment, WatchStream } from '@yorkie-js/sdk/src/client/attachment'; import { Document, DocStatus, Indexable, DocEventType, StreamConnectionStatus, DocSyncStatus, } from '@yorkie-js/sdk/src/document/document'; import { OpSource } from '@yorkie-js/sdk/src/document/operation/operation'; import { createAuthInterceptor } from '@yorkie-js/sdk/src/client/auth_interceptor'; import { createMetricInterceptor } from '@yorkie-js/sdk/src/client/metric_interceptor'; import { validateSerializable } from '../util/validator'; import { Channel, ChannelStatus, ChannelEventType, BroadcastOptions, } from '@yorkie-js/sdk/src/channel/channel'; import { Attachable } from './attachable'; import { runWatchStream } from '@yorkie-js/sdk/src/client/watch'; /** * `Key` is a string representing the key of Document or Channel. */ type Key = string; /** * `SyncMode` defines synchronization modes for the PushPullChanges API * (documents) and the RefreshChannel heartbeat (channels). */ export enum SyncMode { /** * `Manual` mode indicates that changes are not automatically pushed or pulled. */ Manual = 'manual', /** * `Realtime` mode indicates that changes are automatically pushed and pulled. */ Realtime = 'realtime', /** * `RealtimePushOnly` mode indicates that only local changes are automatically pushed. */ RealtimePushOnly = 'realtime-pushonly', /** * `RealtimeSyncOff` mode indicates that changes are not automatically pushed or pulled, * but the watch stream is kept active. */ RealtimeSyncOff = 'realtime-syncoff', /** * `Polling` mode runs the sync loop without opening a watch stream. * - For Channel: heartbeat refreshes TTL and brings sessionCount. * - For Document: PushPullChanges runs at the polling interval. Remote * changes arrive on the next tick (latency = interval). Not suitable * for collaborative editing — use Realtime for that. */ Polling = 'polling', } /** * `ClientStatus` represents the status of the client. */ export enum ClientStatus { /** * `Deactivated` means that the client is not activated. It is the initial * status of the client. If the client is deactivated, all `Document`s of the * client are also not used. */ Deactivated = 'deactivated', /** * `Activated` means that the client is activated. If the client is activated, * all `Document`s of the client are also ready to be used. */ Activated = 'activated', } /** * `ClientCondition` represents the condition of the client. */ export enum ClientCondition { /** * `SyncLoop` is a key of the sync loop condition. */ SyncLoop = 'SyncLoop', /** * `WatchLoop` is a key of the watch loop condition. */ WatchLoop = 'WatchLoop', } /** * `ClientOptions` are user-settable options used when defining clients. */ export interface ClientOptions { /** * `rpcAddr` is the address of the RPC server. It is used to connect to * the server. */ rpcAddr?: string; /** * `key` is the client key. It is used to identify the client. * If not set, a random key is generated. */ key?: string; /** * `apiKey` is the API key of the project. It is used to identify the project. * If not set, API key of the default project is used. */ apiKey?: string; /** * `metadata` is the metadata of the client. It is used to store additional * information about the client. */ metadata?: Record; /** * `authTokenInjector` is a function that provides a token for the auth webhook. * When the webhook response status code is 401, this function is called to refresh the token. * The `reason` parameter is the reason from the webhook response. */ authTokenInjector?: (reason?: string) => Promise; /** * `syncLoopDuration` is the duration of the sync loop. After each sync loop, * the client waits for the duration to next sync. The default value is * `50`(ms). */ syncLoopDuration?: number; /** * `retrySyncLoopDelay` is the delay of the retry sync loop. If the sync loop * fails, the client waits for the delay to retry the sync loop. The default * value is `1000`(ms). */ retrySyncLoopDelay?: number; /** * `reconnectStreamDelay` is the delay of the reconnect stream. If the stream * is disconnected, the client waits for the delay to reconnect the stream. The * default value is `1000`(ms). */ reconnectStreamDelay?: number; /** * `channelHeartbeatInterval` is the interval of the channel heartbeat (ms). * The client sends a `RefreshChannel` heartbeat to refresh the channel * session TTL. The default value is `5000` (ms) — co-tuned to the server's * `ChannelSessionTTL` (15 s) at TTL/3. Values larger than the server TTL * risk premature session expiry. */ channelHeartbeatInterval?: number; /** * `userAgent` is the user agent of the client. It is used to identify the * client. */ userAgent?: string; /** * `useGrpcWebTransport` determines the transport protocol. * If true, uses gRPC-Web transport for backward compatibility. * If false (default), uses Connect Protocol transport. */ useGrpcWebTransport?: boolean; } /** * `DeactivateOptions` are user-settable options used when deactivating clients. */ export interface DeactivateOptions { /** * `keepalive` is used to enable the keepalive option when deactivating. * If true, the client will request deactivation immediately using `fetch` * with the `keepalive` option enabled. This is useful for ensuring the * deactivation request completes even if the page is being unloaded. */ keepalive?: boolean; /** * `synchronous` is used to enable the synchronous option when deactivating. * If true, the server will wait for all pending operations to complete * before deactivating. */ synchronous?: boolean; } /** * `AttachOptions` are user-settable options used when attaching documents. */ export interface AttachOptions { /** * `initialRoot` is the initial root of the document. It is used to * initialize the document. It is used when the fields are not set in the * document. */ initialRoot?: R; /** * `initialPresence` is the initial presence of the client. */ initialPresence?: P; /** * `syncMode` defines the synchronization mode of the document. */ syncMode?: SyncMode; /** * `documentPollInterval` (ms) — only used when `syncMode` is `Polling`. * Default: 3000. */ documentPollInterval?: number; /** * `schema` is the schema of the document. It is used to validate the * document. */ schema?: string; } /** * `AttachChannelOptions` are user-settable options used when attaching channels. */ export interface AttachChannelOptions { /** * `syncMode` selects how the channel keeps presence in sync with the server. * Default is `SyncMode.Realtime`. * - `SyncMode.Realtime`: open a watch stream and run the heartbeat. Required * to receive broadcast events. * - `SyncMode.Polling`: heartbeat-only. No watch stream is opened. The * heartbeat refreshes TTL and brings the latest sessionCount. Recommended * for large channels where broadcast is not needed. * - `SyncMode.Manual`: no automatic activity. Caller must invoke `sync()`. */ syncMode?: SyncMode; /** * `channelHeartbeatInterval` overrides the heartbeat interval (ms) for * this attachment. If unset, the client-level default * (`ClientOptions.channelHeartbeatInterval`, default 5000 ms) applies * to both Realtime and Polling modes. */ channelHeartbeatInterval?: number; } /** * `DefaultDocumentPollIntervalMs` is the default poll interval (ms) for * `SyncMode.Polling` documents when the user has not set an explicit * `documentPollInterval`. */ const DefaultDocumentPollIntervalMs = 3000; /** * `DefaultChannelHeartbeatMs` is the default heartbeat interval for both * Realtime and Polling channel modes. Co-tuned to the server's * `ChannelSessionTTL` (15 s) at TTL/3. */ const DefaultChannelHeartbeatMs = 5000; /** * `DefaultClientOptions` is the default options for Client. */ const DefaultClientOptions = { rpcAddr: 'https://api.yorkie.dev', syncLoopDuration: 50, retrySyncLoopDelay: 1000, reconnectStreamDelay: 1000, channelHeartbeatInterval: DefaultChannelHeartbeatMs, }; /** * `DefaultBroadcastOptions` is the default options for broadcast. */ const DefaultBroadcastOptions = { maxRetries: Infinity, initialRetryInterval: 1000, maxBackoff: 20000, }; /** * `Client` is a normal client that can communicate with the server. * It has documents and sends changes of the documents in local * to the server to synchronize with other replicas in remote. */ export class Client { private id?: ActorID; private key: string; private metadata: Record; private status: ClientStatus; private attachmentMap: Map>; private apiKey: string; private authTokenInjector?: (reason?: string) => Promise; private conditions: Record; private syncLoopDuration: number; private reconnectStreamDelay: number; private retrySyncLoopDelay: number; private channelHeartbeatInterval: number; private rpcClient: ConnectClient; private setAuthToken: (token: string) => void; private taskQueue: Array<() => Promise>; private processing = false; private keepalive = false; private deactivating = false; /** * @param rpcAddr - the address of the RPC server. * @param opts - the options of the client. */ constructor(opts?: ClientOptions) { opts = opts || DefaultClientOptions; const rpcAddr = opts.rpcAddr || DefaultClientOptions.rpcAddr; this.key = opts.key || uuid(); this.metadata = opts.metadata || {}; this.status = ClientStatus.Deactivated; this.attachmentMap = new Map(); // TODO(hackerwins): Consider to group the options as a single object. this.apiKey = opts.apiKey || ''; this.authTokenInjector = opts.authTokenInjector; this.conditions = { [ClientCondition.SyncLoop]: false, [ClientCondition.WatchLoop]: false, }; this.syncLoopDuration = opts.syncLoopDuration ?? DefaultClientOptions.syncLoopDuration; this.reconnectStreamDelay = opts.reconnectStreamDelay ?? DefaultClientOptions.reconnectStreamDelay; this.retrySyncLoopDelay = opts.retrySyncLoopDelay ?? DefaultClientOptions.retrySyncLoopDelay; this.channelHeartbeatInterval = opts.channelHeartbeatInterval ?? DefaultClientOptions.channelHeartbeatInterval; const { authInterceptor, setToken } = createAuthInterceptor(this.apiKey); this.setAuthToken = setToken; const transportOptions = { baseUrl: rpcAddr, interceptors: [authInterceptor, createMetricInterceptor(opts?.userAgent)], fetch: (input: RequestInfo | URL, init?: RequestInit) => { const url = typeof input === 'string' ? input : input instanceof URL ? input.toString() : input.url; // Server-streaming RPCs (Watch/WatchDocument/WatchChannel) need the // caller's signal active for the response body's full lifetime so // user-initiated cancellation can reach the underlying connection. if (/\/yorkie\.v1\.YorkieService\/Watch/.test(url)) { return fetch(input as RequestInfo, { ...init, keepalive: this.keepalive, }); } // For unary RPCs, @connectrpc/connect calls AbortController.abort() // on its per-call signal as cleanup after the call completes — even // on success. In browsers that stray abort surfaces as an // "Uncaught (in promise) AbortError: The user aborted a request." // tied to the (already-finished) fetch's body stream and gets picked // up by global error trackers once per call. Decouple our underlying // fetch from the caller's signal once the response is in hand so the // post-success cleanup abort does not propagate. Aborts that arrive // before the response settles still cancel the fetch via the // forwarding listener. const callerSignal = init?.signal ?? (input instanceof Request ? input.signal : undefined); const innerAC = new AbortController(); let onCallerAbort: (() => void) | undefined; if (callerSignal) { if (callerSignal.aborted) { innerAC.abort(callerSignal.reason); } else { onCallerAbort = () => innerAC.abort(callerSignal.reason); callerSignal.addEventListener('abort', onCallerAbort); } } const detach = () => { if (callerSignal && onCallerAbort) { callerSignal.removeEventListener('abort', onCallerAbort); } }; return fetch(input as RequestInfo, { ...init, signal: innerAC.signal, keepalive: this.keepalive, }).then( (res) => { detach(); return res; }, (err) => { detach(); throw err; }, ); }, }; // Here we make the client itself, combining the service // definition with the transport. this.rpcClient = createConnectClient( YorkieService, opts.useGrpcWebTransport ? createGrpcWebTransport(transportOptions) : createConnectTransport(transportOptions), ); this.taskQueue = []; } /** * `activate` activates this client. That is, it registers itself to the server * and receives a unique ID from the server. The given ID is used to * distinguish different clients. */ public async activate(): Promise { if (this.isActive()) { return Promise.resolve(); } if (this.authTokenInjector) { const token = await this.authTokenInjector(); this.setAuthToken(token); } return this.enqueueTask(async () => { try { const res = await this.rpcClient.activateClient( { clientKey: this.key, metadata: this.metadata, }, { headers: { 'x-shard-key': `${this.apiKey}/${this.key}` } }, ); this.id = res.clientId; this.status = ClientStatus.Activated; this.deactivating = false; this.runSyncLoop(); logger.info(`[AC] c:"${this.getKey()}" activated, id:"${this.id}"`); // NOTE(hackerwins): Set up beforeunload event to deactivate the client // when the page is being unloaded. if (typeof window !== 'undefined') { window.addEventListener('beforeunload', async () => { await this.deactivate({ keepalive: true }); }); } } catch (err) { logger.error(`[AC] c:"${this.getKey()}" err :`, err); await this.handleConnectError(err); throw err; } }); } /** * `deactivate` deactivates this client. * * @param options - If keepalive is true, the client will request deactivation * immediately using `fetch` with the `keepalive` option enabled. This is * useful for ensuring the deactivation request completes even if the page is * being unloaded, such as in `beforeunload` or `unload` event listeners. * If synchronous is true, the server will wait for all pending operations to * complete before deactivating. */ public deactivate( options: DeactivateOptions = { keepalive: false, synchronous: false }, ): Promise { if (this.status === ClientStatus.Deactivated) { return Promise.resolve(); } // Mark as deactivating immediately so the sync loop exits early. this.deactivating = true; const task = async () => { try { await this.rpcClient.deactivateClient( { clientId: this.id!, synchronous: options.synchronous, }, { headers: { 'x-shard-key': `${this.apiKey}/${this.key}` } }, ); this.deactivateInternal(); logger.info(`[DC] c"${this.getKey()}" deactivated`); } catch (err) { logger.error(`[DC] c:"${this.getKey()}" err :`, err); this.deactivating = false; await this.handleConnectError(err); throw err; } }; if (options.keepalive) { this.keepalive = true; const resp = task(); this.keepalive = false; return resp; } return this.enqueueTask(task); } /** * `has` checks if the given resource is attached to this client. * @param key - the key of the resource. * @returns true if the resource is attached to this client. */ public has(key: Key): boolean { return this.attachmentMap.has(key); } /** * `attach` attaches a Document or Channel to this client. * Overloaded to support both types. */ public attach( resource: Document, opts?: AttachOptions, ): Promise>; /** * `attach` attaches the given channel to this client. The channel is * registered locally and the server is notified on the next RefreshChannel * heartbeat. */ public attach( resource: Channel, opts?: AttachChannelOptions, ): Promise; /** * `attach` attaches a Document or Channel to this client. * Overloaded to support both types. */ public attach( resource: Document | Channel, opts?: AttachOptions | AttachChannelOptions, ): Promise | Channel> { if (resource instanceof Channel) { return this.attachChannel(resource, opts as AttachChannelOptions); } else { return this.attachDocument(resource, opts as AttachOptions); } } /** * `attach` attaches the given document to this client. It tells the server that * this client will synchronize the given document. */ private attachDocument( doc: Document, opts: AttachOptions = {}, ): Promise> { // 01. Check if the client is ready to attach documents. if (!this.isActive()) { throw new YorkieError( Code.ErrClientNotActivated, `${this.key} is not active`, ); } if (doc.getStatus() !== DocStatus.Detached) { throw new YorkieError( Code.ErrNotDetached, `${doc.getKey()} is not detached`, ); } doc.setActor(this.id!); doc.update((_, p) => p.set(opts.initialPresence || {})); // 02. Attach the document to the client. const syncMode = opts.syncMode ?? SyncMode.Realtime; if ( opts.documentPollInterval !== undefined && opts.documentPollInterval <= 0 ) { throw new YorkieError( Code.ErrInvalidArgument, 'documentPollInterval must be greater than 0', ); } const pollIntervalPinned = opts.documentPollInterval !== undefined; const pollInterval = pollIntervalPinned ? opts.documentPollInterval! : syncMode === SyncMode.Polling ? DefaultDocumentPollIntervalMs : 0; return this.enqueueTask(async () => { try { const res = await this.rpcClient.attachDocument( { clientId: this.id!, changePack: converter.toChangePack(doc.createChangePack()), schemaKey: opts.schema, }, { headers: { 'x-shard-key': `${this.apiKey}/${doc.getKey()}` } }, ); const maxSize = res.maxSizePerDocument ?? 0; if (maxSize > 0) { doc.setMaxSizePerDocument(res.maxSizePerDocument); } if (res.schemaRules.length > 0) { doc.setSchemaRules(converter.fromSchemaRules(res.schemaRules)); } const pack = converter.fromChangePack

    (res.changePack!); doc.applyChangePack(pack); if (doc.getStatus() === DocStatus.Removed) { return doc; } doc.applyStatus(DocStatus.Attached); this.attachmentMap.set( doc.getKey(), new Attachment( this.reconnectStreamDelay, doc, res.documentId, syncMode, pollInterval, pollIntervalPinned, ), ); if (syncMode !== SyncMode.Manual && syncMode !== SyncMode.Polling) { await this.runWatchLoop(doc.getKey()); } logger.info(`[AD] c:"${this.getKey()}" attaches d:"${doc.getKey()}"`); const crdtObject = doc.getRootObject(); if (opts.initialRoot) { const initialRoot = opts.initialRoot; doc.update((root) => { for (const [k, v] of Object.entries(initialRoot)) { if (!crdtObject.has(k)) { const key = k as keyof R; root[key] = v as any; } } }); } // Clear undo/redo stacks so that initialRoot setup operations // are not reachable via undo. doc.clearHistory(); return doc; } catch (err) { logger.error(`[AD] c:"${this.getKey()}" err :`, err); await this.handleConnectError(err); throw err; } }); } /** * `detach` detaches a Document or Channel from this client. * Overloaded to support both types. */ public detach( resource: Document, opts?: { keepalive?: boolean; }, ): Promise>; /** * `detach` detaches the given channel from this client. The detach is a * local cleanup; the server reclaims the session via TTL when heartbeats * stop. */ public detach(resource: Channel): Promise; /** * `detach` detaches a Document or Channel from this client. */ public detach(resource: any, opts?: any): Promise { if (resource instanceof Channel) { return this.detachChannel(resource); } else { return this.detachDocument(resource, opts); } } /** * `detach` detaches the given document from this client. It tells the * server that this client will no longer synchronize the given document. * * To collect garbage things like CRDT tombstones left on the document, all * the changes should be applied to other replicas before GC time. For this, * if the document is no longer used by this client, it should be detached. */ private detachDocument( doc: Document, opts: { keepalive?: boolean; } = { keepalive: false }, ): Promise> { if (!this.isActive()) { throw new YorkieError( Code.ErrClientNotActivated, `${this.key} is not active`, ); } const attachment = this.attachmentMap.get(doc.getKey()); if (!attachment) { throw new YorkieError( Code.ErrNotAttached, `${doc.getKey()} is not attached`, ); } doc.update((_, p) => p.clear()); // Mark as detaching immediately so the sync loop skips this document. attachment.markDetaching(); const task = async () => { try { // Wait for any in-progress sync to finish before detaching. await attachment.waitForSyncComplete(); const res = await this.rpcClient.detachDocument( { clientId: this.id!, documentId: attachment.resourceID, changePack: converter.toChangePack(doc.createChangePack()), }, { headers: { 'x-shard-key': `${this.apiKey}/${doc.getKey()}` } }, ); const pack = converter.fromChangePack

    (res.changePack!); doc.applyChangePack(pack); if (doc.getStatus() !== DocStatus.Removed) { doc.applyStatus(DocStatus.Detached); } this.detachInternal(doc.getKey()); logger.info(`[DD] c:"${this.getKey()}" detaches d:"${doc.getKey()}"`); return doc; } catch (err) { logger.error(`[DD] c:"${this.getKey()}" err :`, err); attachment.resetDetaching(); await this.handleConnectError(err); throw err; } }; if (opts.keepalive) { this.keepalive = true; const resp = task(); this.keepalive = false; return resp; } return this.enqueueTask(task); } /** * `attachChannel` attaches the given channel to this client. The channel is * registered locally and the server is notified on the next RefreshChannel * heartbeat. */ public async attachChannel( channel: Channel, opts: AttachChannelOptions = {}, ): Promise { if (channel.getStatus() !== ChannelStatus.Detached) { throw new YorkieError( Code.ErrNotDetached, `${channel.getKey()} is not detached`, ); } const syncMode = opts.syncMode ?? SyncMode.Realtime; this.assertValidChannelSyncMode(syncMode); if ( opts.channelHeartbeatInterval !== undefined && opts.channelHeartbeatInterval <= 0 ) { throw new YorkieError( Code.ErrInvalidArgument, 'channelHeartbeatInterval must be greater than 0', ); } const pollIntervalPinned = opts.channelHeartbeatInterval !== undefined; const pollInterval = opts.channelHeartbeatInterval ?? this.channelHeartbeatInterval; const task = async () => { // Channel gets its actor ID from the first refresh response. If the // client was already activated (or another channel has triggered the // first refresh), propagate the existing id. if (this.id) { channel.setActor(this.id); } const attachment = new Attachment( this.reconnectStreamDelay, channel, '', // sessionID populated on first refresh response syncMode, pollInterval, pollIntervalPinned, ); // Forward local broadcast events to the RPC client. Capture the // unsubscribe so `detachInternal` can tear it down — otherwise // re-attaching the same channel accumulates duplicate handlers. attachment.unsubscribeLocalBroadcast = channel.subscribe( 'local-broadcast', (event) => { const { topic, payload, options } = event; this.broadcast(channel.getKey(), topic, payload, options).catch( (error) => { if (options?.error) options.error(error); logger.error(`[BC] c:"${this.getKey()}" failed: ${error}`); }, ); }, ); this.attachmentMap.set(channel.getKey(), attachment); // Make sure the sync loop is running so the first refresh fires. // The watch stream is opened later by syncInternal once the first // refresh response populates this.id (the watch RPC requires it). if (!this.conditions[ClientCondition.SyncLoop]) { this.runSyncLoop(); } logger.info( `[AP] c:"${this.getKey()}" attaches p:"${channel.getKey()}" mode:${syncMode}`, ); return channel; }; return this.enqueueTask(task); } /** * `detachChannel` detaches the given channel from this client. The detach * is a local cleanup; the server reclaims the session via TTL when * heartbeats stop. */ public async detachChannel(channel: Channel): Promise { const attachment = this.attachmentMap.get(channel.getKey()) as | Attachment | undefined; if (!attachment) { throw new YorkieError( Code.ErrNotAttached, `${channel.getKey()} is not attached`, ); } // Mark the attachment as detaching so the sync loop's // `attachment.isDetaching()` guard skips it, and wait for any // in-flight RefreshChannel to finish before tearing down. Without // this, a concurrent first-call refresh would land on a detached // channel and emit a PresenceChanged event after the user has // detached — and would even re-create the session on the server. attachment.markDetaching(); await attachment.waitForSyncComplete(); const task = async () => { // No DetachChannel RPC: the server reclaims the session via TTL. // We only need local cleanup. channel.applyStatus(ChannelStatus.Detached); this.detachInternal(channel.getKey()); logger.info( `[DP] c:"${this.getKey()}" detaches p:"${channel.getKey()}" (local)`, ); return channel; }; return this.enqueueTask(task); } /** * `changeSyncMode` changes the synchronization mode of the given document. */ public async changeSyncMode( doc: Document, syncMode: SyncMode, ): Promise>; /** * `changeSyncMode` changes the synchronization mode of the given channel. */ public async changeSyncMode( channel: Channel, syncMode: SyncMode, ): Promise; /** * `changeSyncMode` changes the synchronization mode of the given resource. */ public async changeSyncMode( resource: Document | Channel, syncMode: SyncMode, ): Promise | Channel> { return this.enqueueTask(async () => { if (resource instanceof Channel) { return this.changeChannelSyncMode(resource, syncMode); } return this.changeDocumentSyncMode(resource, syncMode); }); } private async changeDocumentSyncMode( doc: Document, syncMode: SyncMode, ): Promise> { if (!this.isActive()) { throw new YorkieError( Code.ErrClientNotActivated, `${this.key} is not active`, ); } const attachment = this.attachmentMap.get(doc.getKey()); if (!attachment) { throw new YorkieError( Code.ErrNotAttached, `${doc.getKey()} is not attached`, ); } const prevSyncMode = attachment.syncMode; if (prevSyncMode === syncMode) { return doc; } // Tear down stream first if leaving a stream-using mode (prevents the // sync loop from observing an inconsistent mode while the stream is // still live). if (syncMode === SyncMode.Manual || syncMode === SyncMode.Polling) { attachment.cancelWatchStream(); } attachment.changeSyncMode(syncMode); // NOTE(hackerwins): In non-pushpull mode, the client does not receive // change events from the server. Therefore, we need to set // `changeEventReceived` to true to sync the local and remote changes. // This has limitations in that unnecessary syncs occur if the client // and server do not have any changes. if (syncMode === SyncMode.Realtime) { attachment.changeEventReceived = true; } // Recompute interval default if the user did not pin it. if (!attachment.pollIntervalPinned) { attachment.pollInterval = syncMode === SyncMode.Polling ? DefaultDocumentPollIntervalMs : 0; } // RealtimePushOnly and RealtimeSyncOff retain the watch stream, so // no restart is needed when transitioning between them and Realtime. // Only Manual and Polling are stream-less modes. // Start watch stream if entering a stream-using mode from a stream-less one. if ( (prevSyncMode === SyncMode.Manual || prevSyncMode === SyncMode.Polling) && syncMode !== SyncMode.Manual && syncMode !== SyncMode.Polling ) { attachment.resetCancelled(); await this.runWatchLoop(doc.getKey()); } return doc; } /** * `assertValidChannelSyncMode` rejects sync modes that are not valid for * channels. `RealtimePushOnly` and `RealtimeSyncOff` are document-only. */ private assertValidChannelSyncMode(syncMode: SyncMode): void { if ( syncMode !== SyncMode.Manual && syncMode !== SyncMode.Realtime && syncMode !== SyncMode.Polling ) { throw new YorkieError( Code.ErrInvalidArgument, `invalid channel sync mode: ${syncMode}`, ); } } private async changeChannelSyncMode( channel: Channel, syncMode: SyncMode, ): Promise { const attachment = this.attachmentMap.get(channel.getKey()); if (!attachment) { throw new YorkieError( Code.ErrNotAttached, `${channel.getKey()} is not attached`, ); } const prevSyncMode = attachment.syncMode; if (prevSyncMode === syncMode) { return channel; } this.assertValidChannelSyncMode(syncMode); // Tear down stream if leaving Realtime. if (prevSyncMode === SyncMode.Realtime) { attachment.cancelWatchStream(); } attachment.changeSyncMode(syncMode); // Recompute interval default if the user did not pin it. if (!attachment.pollIntervalPinned) { attachment.pollInterval = syncMode === SyncMode.Manual ? 0 : this.channelHeartbeatInterval; } // Start watch stream if entering Realtime. if (syncMode === SyncMode.Realtime) { attachment.resetCancelled(); await this.runWatchLoop(channel.getKey()); } return channel; } /** * `sync` pushes local changes of the attached documents to the server and * receives changes of the remote replica from the server then apply them to * local documents. * * For Channel in manual mode, it refreshes the TTL by sending a heartbeat. */ public sync( doc?: Document, ): Promise>>; /** * `sync` refreshes the TTL of the given channel by sending a heartbeat. * This is used for manual mode channel. */ public sync(channel: Channel): Promise; /** * `sync` implementation that handles both Document and Channel. */ public sync( resource?: Document | Channel, ): Promise> | Channel> { if (!(resource instanceof Channel) && !this.isActive()) { throw new YorkieError( Code.ErrClientNotActivated, `${this.key} is not active`, ); } if (resource instanceof Channel) { const attachment = this.attachmentMap.get( resource.getKey(), ) as Attachment; if (!attachment) { throw new YorkieError( Code.ErrNotAttached, `${resource.getKey()} is not attached`, ); } return this.enqueueTask(async () => { return this.syncInternal(attachment).catch(async (err) => { logger.error(`[SY] c:"${this.getKey()}" err :`, err); await this.handleConnectError(err); throw err; }); }) as Promise; } if (resource instanceof Document) { // prettier-ignore const attachment = this.attachmentMap.get(resource.getKey()) as Attachment>; if (!attachment) { throw new YorkieError( Code.ErrNotAttached, `${resource.getKey()} is not attached`, ); } return this.enqueueTask(async () => { return this.syncInternal(attachment, SyncMode.Realtime).catch( async (err) => { logger.error(`[SY] c:"${this.getKey()}" err :`, err); if (isErrorCode(err, Code.ErrEpochMismatch)) { attachment.resource.publish([ { type: DocEventType.EpochMismatch, value: { method: 'PushPull', }, }, ]); } await this.handleConnectError(err); throw err; }, ); }) as Promise>>; } return this.enqueueTask(async () => { const promises = []; for (const [, attachment] of this.attachmentMap) { // Only sync Document resources that have syncMode defined if ( attachment.syncMode !== undefined && attachment.resource instanceof Document ) { promises.push( this.syncInternal( attachment as Attachment>, attachment.syncMode, ), ); } } return Promise.all(promises).catch(async (err) => { logger.error(`[SY] c:"${this.getKey()}" err :`, err); await this.handleConnectError(err); throw err; }); }) as Promise>>; } /** * `remove` removes the given document. */ public remove(doc: Document): Promise { if (!this.isActive()) { throw new YorkieError( Code.ErrClientNotActivated, `${this.key} is not active`, ); } const attachment = this.attachmentMap.get(doc.getKey()); if (!attachment) { throw new YorkieError( Code.ErrNotAttached, `${doc.getKey()} is not attached`, ); } doc.setActor(this.id!); const pbChangePack = converter.toChangePack(doc.createChangePack()); pbChangePack.isRemoved = true; return this.enqueueTask(async () => { try { const res = await this.rpcClient.removeDocument( { clientId: this.id!, documentId: attachment.resourceID, changePack: pbChangePack, }, { headers: { 'x-shard-key': `${this.apiKey}/${doc.getKey()}` } }, ); const pack = converter.fromChangePack

    (res.changePack!); doc.applyChangePack(pack); this.detachInternal(doc.getKey()); logger.info(`[RD] c:"${this.getKey()}" removes d:"${doc.getKey()}"`); } catch (err) { logger.error(`[RD] c:"${this.getKey()}" err :`, err); await this.handleConnectError(err); throw err; } }); } /** * `getID` returns a ActorID of client. */ public getID(): string | undefined { return this.id; } /** * `getKey` returns a key of client. */ public getKey(): string { return this.key; } /** * `isActive` checks if the client is active. */ public isActive(): boolean { return this.status === ClientStatus.Activated; } /** * `getStatus` returns the status of this client. */ public getStatus(): ClientStatus { return this.status; } /** * `getCondition` returns the condition of this client. */ public getCondition(condition: ClientCondition): boolean { return this.conditions[condition]; } /** * `createRevision` creates a new revision for the given document. */ public async createRevision( doc: Document, label: string, description?: string, ): Promise { if (!this.isActive()) { throw new YorkieError( Code.ErrClientNotActivated, `${this.key} is not active`, ); } const attachment = this.attachmentMap.get(doc.getKey()); if (!attachment) { throw new YorkieError( Code.ErrNotAttached, `${doc.getKey()} is not attached`, ); } const task = async () => { try { const res = await this.rpcClient.createRevision( { clientId: this.id!, documentId: attachment.resourceID, label, description: description || '', }, { headers: { 'x-shard-key': `${this.apiKey}/${doc.getKey()}` } }, ); if (!res.revision) { throw new YorkieError( Code.ErrInvalidArgument, 'revision is not returned', ); } logger.info( `[CR] c:"${this.getKey()}" creates revision d:"${doc.getKey()}" l:"${label}"`, ); return converter.toRevisionSummary(res.revision); } catch (err) { logger.error(`[CR] c:"${this.getKey()}" err :`, err); await this.handleConnectError(err); throw err; } }; return this.enqueueTask(task); } /** * `listRevisions` lists all revisions for the given document. */ public async listRevisions( doc: Document, options?: { pageSize?: number; offset?: number; isForward?: boolean; }, ): Promise> { if (!this.isActive()) { throw new YorkieError( Code.ErrClientNotActivated, `${this.key} is not active`, ); } const attachment = this.attachmentMap.get(doc.getKey()); if (!attachment) { throw new YorkieError( Code.ErrNotAttached, `${doc.getKey()} is not attached`, ); } const task = async () => { try { const res = await this.rpcClient.listRevisions( { clientId: this.id!, documentId: attachment.resourceID, pageSize: options?.pageSize || 10, offset: options?.offset || 0, isForward: options?.isForward ?? false, }, { headers: { 'x-shard-key': `${this.apiKey}/${doc.getKey()}` } }, ); logger.info( `[LR] c:"${this.getKey()}" lists revisions d:"${doc.getKey()}" count:${ res.revisions.length }`, ); return res.revisions.map(converter.toRevisionSummary); } catch (err) { logger.error(`[LR] c:"${this.getKey()}" err :`, err); await this.handleConnectError(err); throw err; } }; return this.enqueueTask(task); } /** * `getRevision` retrieves a specific revision by its ID with full snapshot data. */ public async getRevision( doc: Document, revisionID: string, ): Promise { if (!this.isActive()) { throw new YorkieError( Code.ErrClientNotActivated, `${this.key} is not active`, ); } const attachment = this.attachmentMap.get(doc.getKey()); if (!attachment) { throw new YorkieError( Code.ErrNotAttached, `${doc.getKey()} is not attached`, ); } const task = async () => { try { const res = await this.rpcClient.getRevision( { clientId: this.id!, documentId: attachment.resourceID, revisionId: revisionID, }, { headers: { 'x-shard-key': `${this.apiKey}/${doc.getKey()}` } }, ); if (!res.revision) { throw new YorkieError( Code.ErrInvalidArgument, 'revision is not returned', ); } logger.info( `[GR] c:"${this.getKey()}" gets revision d:"${doc.getKey()}" r:"${revisionID}"`, ); return converter.toRevisionSummary(res.revision); } catch (err) { logger.error(`[GR] c:"${this.getKey()}" err :`, err); await this.handleConnectError(err); throw err; } }; return this.enqueueTask(task); } /** * `restoreRevision` restores the document to the given revision. */ public async restoreRevision( doc: Document, revisionId: string, ): Promise { if (!this.isActive()) { throw new YorkieError( Code.ErrClientNotActivated, `${this.key} is not active`, ); } const attachment = this.attachmentMap.get(doc.getKey()); if (!attachment) { throw new YorkieError( Code.ErrNotAttached, `${doc.getKey()} is not attached`, ); } const task = async () => { try { await this.rpcClient.restoreRevision( { clientId: this.id!, documentId: attachment.resourceID, revisionId, }, { headers: { 'x-shard-key': `${this.apiKey}/${doc.getKey()}` } }, ); logger.info( `[RR] c:"${this.getKey()}" restores revision d:"${doc.getKey()}" r:"${revisionId}"`, ); } catch (err) { logger.error(`[RR] c:"${this.getKey()}" err :`, err); await this.handleConnectError(err); throw err; } }; return this.enqueueTask(task); } /** * `peekChannel` reads the current session count of a channel without * creating a session on the server. Use this when the caller only needs * to display the count (e.g. "N people writing") without contributing to * it and without receiving broadcasts. * * Unlike `attach({ readOnly: true })`, this does not occupy a `Session` * entry on the server, does not generate heartbeat RPCs, and does not * subscribe to channel events. Polling is the caller's responsibility. */ public async peekChannel(channelKey: string): Promise { return this.enqueueTask(async () => { const firstKeyPath = channelKey.split('.')[0]; const res = await this.rpcClient.peekChannel( { channelKey }, { headers: { 'x-shard-key': `${this.apiKey}/${firstKeyPath}`, }, }, ); return Number(res.sessionCount); }); } /** * `broadcast` broadcasts the given payload to the given topic. */ public async broadcast( key: Key, topic: string, payload: any, options?: BroadcastOptions, ): Promise { const attachment = this.attachmentMap.get(key); if (!attachment) { throw new YorkieError(Code.ErrNotAttached, `${key} is not attached`); } if (!validateSerializable(payload)) { throw new YorkieError( Code.ErrInvalidArgument, 'payload is not serializable', ); } const ch = attachment.resource as Channel; const maxRetries = options?.maxRetries ?? DefaultBroadcastOptions.maxRetries; const maxBackoff = DefaultBroadcastOptions.maxBackoff; let retryCount = 0; const exponentialBackoff = (retryCount: number) => { const retryInterval = Math.min( DefaultBroadcastOptions.initialRetryInterval * 2 ** retryCount, maxBackoff, ); return retryInterval; }; const doLoop = async (): Promise => { return this.enqueueTask(async () => { try { await this.rpcClient.broadcast( { clientId: this.id!, channelKey: key, topic, payload: new TextEncoder().encode(JSON.stringify(payload)), }, { headers: { 'x-shard-key': `${this.apiKey}/${ch.getFirstKeyPath()}`, }, }, ); logger.info( `[BC] c:"${this.getKey()}" broadcasts p:"${key}" t:"${topic}"`, ); } catch (err) { logger.error(`[BC] c:"${this.getKey()}" err:`, err); if (await this.handleConnectError(err)) { // Publish auth-error event before handling the error if (isErrorCode(err, Code.ErrUnauthenticated)) { if (attachment.resource instanceof Channel) { attachment.resource.publish({ type: ChannelEventType.AuthError, reason: errorMetadataOf(err).reason || 'unauthenticated', method: 'Broadcast', }); } } if (retryCount < maxRetries) { retryCount++; setTimeout(() => doLoop(), exponentialBackoff(retryCount - 1)); logger.info( `[BC] c:"${this.getKey()}" retry attempt ${retryCount}/${maxRetries}`, ); } else { logger.error( `[BC] c:"${this.getKey()}" exceeded maximum retry attempts`, ); throw err; // Stop retrying after maxRetries } } } }); }; return doLoop(); } /** * `runSyncLoop` runs the sync loop. The sync loop pushes local changes to * the server and pulls remote changes from the server. */ private runSyncLoop(): void { const doLoop = async (): Promise => { if (this.deactivating) { logger.debug(`[SL] c:"${this.getKey()}" exit sync loop (deactivating)`); this.conditions[ClientCondition.SyncLoop] = false; return; } // Stop the loop only when nothing remains to sync. A channel-only client // has no `Activated` status until the first refresh succeeds, but its // attachment is enough to keep ticking. if (!this.isActive() && this.attachmentMap.size === 0) { logger.debug(`[SL] c:"${this.getKey()}" exit sync loop (idle)`); this.conditions[ClientCondition.SyncLoop] = false; return; } try { await this.enqueueTask(async () => { const syncs: Array = []; for (const [, attachment] of this.attachmentMap) { // Stop syncing if client is being deactivated. if (this.deactivating) { break; } if (!attachment.needSync(this.channelHeartbeatInterval)) { continue; } // Skip documents that are being detached. if (attachment.isDetaching()) { continue; } // Reset changeEventReceived for Document resources if (attachment.changeEventReceived !== undefined) { attachment.changeEventReceived = false; } const syncPromise = this.syncInternal( attachment, attachment.syncMode!, ) .then(() => {}) .catch((e) => { if (isErrorCode(e, Code.ErrUnauthenticated)) { attachment.resource.publish([ { type: DocEventType.AuthError, value: { reason: errorMetadataOf(e).reason, method: 'PushPull', }, }, ]); } if (isErrorCode(e, Code.ErrEpochMismatch)) { attachment.resource.publish([ { type: DocEventType.EpochMismatch, value: { method: 'PushPull', }, }, ]); } throw e; }) .finally(() => { attachment.clearSyncPromise(); }); attachment.setSyncPromise(syncPromise); syncs.push(syncPromise); } await Promise.all(syncs); setTimeout(doLoop, this.syncLoopDuration); }); } catch (err) { // If the client is deactivating, suppress sync errors from // in-flight RPCs and stop the sync loop quietly. if (this.deactivating) { this.conditions[ClientCondition.SyncLoop] = false; return; } logger.error(`[SL] c:"${this.getKey()}" sync failed:`, err); if (await this.handleConnectError(err)) { setTimeout(doLoop, this.retrySyncLoopDelay); } else { this.conditions[ClientCondition.SyncLoop] = false; } } }; logger.debug(`[SL] c:"${this.getKey()}" run sync loop`); this.conditions[ClientCondition.SyncLoop] = true; doLoop(); } /** * `runWatchLoop` runs the watch loop for the given resource (Document or Channel). * The watch loop listens to the events of the given resource from the server. */ private async runWatchLoop(key: Key): Promise { const attachment = this.attachmentMap.get(key); if (!attachment) { throw new YorkieError(Code.ErrNotAttached, `${key} is not attached`); } this.conditions[ClientCondition.WatchLoop] = true; return attachment.runWatchLoop( (onDisconnect: () => void): Promise<[WatchStream, AbortController]> => { if (!this.isActive()) { this.conditions[ClientCondition.WatchLoop] = false; return Promise.reject( new YorkieError( Code.ErrClientNotActivated, `${this.key} is not active`, ), ); } // NOTE(hackerwins): Check if the resource is still attached to prevent // watch stream creation after detachment. if (!this.attachmentMap.has(key)) { this.conditions[ClientCondition.WatchLoop] = false; return Promise.reject( new YorkieError(Code.ErrNotAttached, `${key} is not attached`), ); } const ac = new AbortController(); // Create watch stream based on resource type if (attachment.resource instanceof Document) { return this.createDocumentWatchStream( attachment as Attachment>, key, ac, onDisconnect, ); } else if (attachment.resource instanceof Channel) { return this.createChannelWatchStream( attachment as Attachment, key, ac, onDisconnect, ); } return Promise.reject( new YorkieError( Code.ErrClientNotActivated, `Unknown resource type for ${key}`, ), ); }, ); } /** * `createDocumentWatchStream` creates a watch stream for a Document. * @internal */ private createDocumentWatchStream( attachment: Attachment>, key: Key, ac: AbortController, onDisconnect: () => void, ): Promise<[WatchStream, AbortController]> { const stream = this.rpcClient.watch( { clientId: this.id!, resources: [ { resource: { case: 'document', value: { documentId: attachment.resourceID }, }, }, ], }, { headers: { 'x-shard-key': `${this.apiKey}/${key}` }, signal: ac.signal, }, ); attachment.resource.publish([ { type: DocEventType.ConnectionChanged, value: StreamConnectionStatus.Connected, }, ]); logger.info(`[WD] c:"${this.getKey()}" watches d:"${key}"`); // NOTE(hackerwins): Set changeEventReceived to true to prevent // event stream gap issues. This ensures sync loop continues even when // no remote change events are received immediately after watch stream starts. if (attachment.changeEventReceived !== undefined) { attachment.changeEventReceived = true; } const resetAndPublishDisconnect = () => { attachment.resource.resetOnlineClients(); attachment.resource.publish([ { type: DocEventType.Initialized, source: OpSource.Local, value: attachment.resource.getPresences(), }, ]); attachment.resource.publish([ { type: DocEventType.ConnectionChanged, value: StreamConnectionStatus.Disconnected, }, ]); }; return runWatchStream( { stream, ac, isInit: (resp) => resp.body.case === 'initialization', onResponse: (resp) => this.handleWatchDocumentResponse(attachment, resp), onStreamEnd: () => { resetAndPublishDisconnect(); logger.debug(`[WD] c:"${this.getKey()}" unwatches (stream ended)`); }, onError: (err) => { resetAndPublishDisconnect(); logger.debug(`[WD] c:"${this.getKey()}" unwatches`); if (isErrorCode(err, Code.ErrUnauthenticated)) { attachment.resource.publish([ { type: DocEventType.AuthError, value: { reason: errorMetadataOf(err).reason, method: 'Watch', }, }, ]); } }, onDisconnect, }, (err) => this.handleConnectError(err), () => { this.conditions[ClientCondition.WatchLoop] = false; }, ); } /** * `createChannelWatchStream` creates a watch stream for a Channel. * @internal */ private createChannelWatchStream( attachment: Attachment, key: Key, ac: AbortController, onDisconnect: () => void, ): Promise<[WatchStream, AbortController]> { const stream = this.rpcClient.watch( { clientId: this.id!, resources: [ { resource: { case: 'channel', value: { channelKey: key }, }, }, ], }, { headers: { 'x-shard-key': `${ this.apiKey }/${attachment.resource.getFirstKeyPath()}`, }, signal: ac.signal, }, ); logger.info(`[WP] c:"${this.getKey()}" watches p:"${key}"`); return runWatchStream( { stream, ac, isInit: (resp) => resp.body.case === 'initialization', onResponse: (resp) => this.handleWatchChannelResponse(attachment, resp), onStreamEnd: () => { logger.debug(`[WP] c:"${this.getKey()}" p:"${key}" stream ended`); }, onError: (err) => { logger.debug(`[WP] c:"${this.getKey()}" p:"${key}" err:`, err); }, onDisconnect, shouldIgnoreError: (err) => { if (err instanceof Error && err.name === 'AbortError') { logger.debug(`[WP] c:"${this.getKey()}" p:"${key}" stream aborted`); return true; } return false; }, }, (err) => this.handleConnectError(err), () => { this.conditions[ClientCondition.WatchLoop] = false; }, ); } /** * `handleWatchChannelResponse` handles the watch channel response from the server. * This method parses the protocol buffer response and updates the channel. * @internal */ private handleWatchChannelResponse( attachment: Attachment, resp: WatchResponse, ) { const channel = attachment.resource; if (resp.body.case === 'initialization') { for (const ri of resp.body.value.resourceInits) { if (ri.init.case === 'channelInit') { const { sessionCount, seq } = ri.init.value; if (channel.updateSessionCount(Number(sessionCount), Number(seq))) { channel.publish({ type: ChannelEventType.Initialized, count: Number(sessionCount), }); } } } return; } if (resp.body.case === 'event') { const watchEvent = resp.body.value; if (watchEvent.event.case === 'channelEvent') { const event = watchEvent.event.value.event; if (!event) return; // Handle broadcast events if (event.type === PbChannelEventType.BROADCAST) { const decoder = new TextDecoder(); try { const payload = JSON.parse(decoder.decode(event.payload)); channel.publish({ type: ChannelEventType.Broadcast, clientID: event.publisher, topic: event.topic, payload, }); } catch (err) { logger.error( `[WP] c:"${this.getKey()}" failed to parse broadcast payload:`, err, ); } return; } // Handle count change events if ( channel.updateSessionCount( Number(event.sessionCount), Number(event.seq), ) ) { channel.publish({ type: ChannelEventType.PresenceChanged, count: Number(event.sessionCount), }); } } } } private handleWatchDocumentResponse( attachment: Attachment>, resp: WatchResponse, ) { if (resp.body.case === 'initialization') { for (const ri of resp.body.value.resourceInits) { if (ri.init.case === 'documentInit') { attachment.resource.applyWatchInit(ri.init.value.clientIds); } } return; } if (resp.body.case === 'event') { const watchEvent = resp.body.value; if (watchEvent.event.case === 'docEvent') { const docEvent = watchEvent.event.value; if (docEvent.event?.type === PbDocEventType.DOCUMENT_CHANGED) { if (attachment.changeEventReceived !== undefined) { attachment.changeEventReceived = true; } return; } if (docEvent.event) { attachment.resource.applyDocEvent( docEvent.event.type, docEvent.event.publisher, ); } } } } private deactivateInternal() { this.status = ClientStatus.Deactivated; for (const [key, attachment] of this.attachmentMap) { this.detachInternal(key); if (attachment.resource instanceof Document) { attachment.resource.applyStatus(DocStatus.Detached); } else if (attachment.resource instanceof Channel) { attachment.resource.applyStatus(ChannelStatus.Detached); } } } private detachInternal(key: Key) { // NOTE(hackerwins): If attachment is not found, it means that the document // has been already detached by another routine. // This can happen when detach or remove is called while the watch loop is // running. const attachment = this.attachmentMap.get(key); if (!attachment) { return; } attachment.cancelWatchStream(); // Tear down the `local-broadcast` subscription installed by // attachChannel, if any. Without this a re-attach would stack // duplicate handlers on the same channel. if (attachment.unsubscribeLocalBroadcast) { attachment.unsubscribeLocalBroadcast(); attachment.unsubscribeLocalBroadcast = undefined; } if (attachment.resource instanceof Document) { attachment.resource.resetOnlineClients(); } this.attachmentMap.delete(key); } private async syncInternal( attachment: Attachment, syncMode?: SyncMode, ): Promise { const { resource } = attachment; // Handle channel heartbeat if (resource instanceof Channel) { const isFirstCall = !resource.getSessionID(); try { const res = await this.rpcClient.refreshChannel( { clientId: this.id ?? '', channelKey: resource.getKey(), sessionId: resource.getSessionID() ?? '', // First-call only — these fields are ignored by the server // once a session_id is established. clientKey: isFirstCall ? this.key : '', metadata: isFirstCall ? this.metadata : {}, }, { headers: { 'x-shard-key': `${this.apiKey}/${resource.getFirstKeyPath()}`, }, }, ); if (isFirstCall) { // Drop late first-call responses that arrive after `deactivate()` // started, so we don't resurrect `this.id`/`this.status` that // deactivate is about to clear. if (this.deactivating || attachment.isDetaching()) { return resource; } // Server has just activated the client and attached the channel. // Only adopt the server-issued client_id when we don't already // have one. If the client was already activated (e.g. via // `client.activate()` or a previous channel's first-call), keep // our existing id so prior document attachments stay valid. if (res.clientId && !this.id) { this.id = res.clientId; this.status = ClientStatus.Activated; resource.setActor(res.clientId); } else if (this.id) { resource.setActor(this.id); } // Defer the Attached transition until a real session_id arrives. // If the server replies with empty `sessionId` (protocol drift, // partial response) the channel stays Detached and the next tick // re-enters the first-call branch instead of flapping through // an Attached state with no session. if (res.sessionId) { resource.setSessionID(res.sessionId); attachment.resourceID = res.sessionId; resource.applyStatus(ChannelStatus.Attached); } // Realtime channels need a watch stream; open it now that // this.id is populated. `runWatchLoop` is idempotent against // re-entry via `attachment.watchStream`, so no global flag check // is needed (and using a global flag would silently block any // subsequent attachment from opening its own stream). if (attachment.syncMode === SyncMode.Realtime) { this.runWatchLoop(resource.getKey()).catch((err) => { logger.error( `[WP] c:"${this.getKey()}" failed to start watch for p:"${resource.getKey()}":`, err, ); }); } } const prevCount = resource.getSessionCount(); if (resource.updateSessionCount(Number(res.sessionCount), 0)) { if (resource.getSessionCount() !== prevCount) { resource.publish({ type: ChannelEventType.PresenceChanged, count: resource.getSessionCount(), }); } } attachment.updateHeartbeatTime(); logger.debug( `[RP] c:"${this.getKey()}" refreshes p:"${resource.getKey()}" mode:${attachment.syncMode}`, ); } catch (err) { if (isErrorCode(err, Code.ErrSessionNotFound)) { // Server has reclaimed our session (TTL expiry, restart, etc.). // Clear local sessionID so the next tick re-enters the first-call // branch and re-attaches transparently. Do not surface to caller. logger.info( `[RP] c:"${this.getKey()}" session expired for p:"${resource.getKey()}", re-attaching`, ); resource.setSessionID(''); attachment.resourceID = ''; return resource; } // Surface the failure to channel subscribers so React layers can // render an error state. Any subsequent successful event implies // recovery — there is no separate "recovered" event. Skip the // publish during teardown so a spurious error badge doesn't flash // on the way out (mirrors the deactivate guard in the success path). if (!this.deactivating && !attachment.isDetaching()) { resource.publish({ type: ChannelEventType.SyncError, error: err, method: 'RefreshChannel', }); } logger.error(`[RP] c:"${this.getKey()}" err :`, err); throw err; } return resource; } // Handle Document sync const doc = resource as Document; const { resourceID: docID } = attachment; const reqPack = doc.createChangePack(); try { const res = await this.rpcClient.pushPullChanges( { clientId: this.id!, documentId: docID, changePack: converter.toChangePack(reqPack), pushOnly: syncMode === SyncMode.RealtimePushOnly, }, { headers: { 'x-shard-key': `${this.apiKey}/${doc.getKey()}` } }, ); const respPack = converter.fromChangePack

    (res.changePack!); // NOTE(chacha912, hackerwins): If syncLoop already executed with // PushPull, ignore the response when the syncMode is PushOnly. if ( respPack.hasChanges() && (attachment.syncMode === SyncMode.RealtimePushOnly || attachment.syncMode === SyncMode.RealtimeSyncOff) ) { return doc; } doc.applyChangePack(respPack); attachment.updateHeartbeatTime(); attachment.resource.publish([ { type: DocEventType.SyncStatusChanged, value: DocSyncStatus.Synced, }, ]); // NOTE(chacha912): If a document has been removed, watchStream should // be disconnected to not receive an event for that document. if (doc.getStatus() === DocStatus.Removed) { this.detachInternal(doc.getKey()); } const key = doc.getKey(); const remoteSize = respPack.getChangeSize(); logger.info( `[PP] c:"${this.getKey()}" sync d:"${key}", push:${reqPack.getChangeSize()} pull:${remoteSize} cp:${respPack .getCheckpoint() .toTestString()}`, ); return doc; } catch (err) { doc.publish([ { type: DocEventType.SyncStatusChanged, value: DocSyncStatus.SyncFailed, }, ]); logger.error(`[PP] c:"${this.getKey()}" err :`, err); throw err; } } /** * `handleConnectError` handles the given error. If the given error can be * retried after handling, it returns true. */ private async handleConnectError(err: any): Promise { if (!(err instanceof ConnectError)) { return false; } // NOTE(hackerwins): These errors are retryable. // Connect guide indicates that for error codes like `ResourceExhausted` and // `Unavailable`, retries should be attempted following their guidelines. // Additionally, `Unknown` and `Canceled` are added separately as it // typically occurs when the server is stopped. if ( err.code === ConnectCode.Canceled || err.code === ConnectCode.Unknown || err.code === ConnectCode.ResourceExhausted || err.code === ConnectCode.Unavailable ) { return true; } // NOTE(chacha912): If the error is `Unauthenticated`, it means that the // token is invalid or expired. In this case, the client gets a new token // from the `authTokenInjector` and retries the api call. if (errorCodeOf(err) === Code.ErrUnauthenticated) { if (this.authTokenInjector) { const token = await this.authTokenInjector(errorMetadataOf(err).reason); this.setAuthToken(token); } return true; } // NOTE(emplam27): If the error is 'ErrTooManySubscribers' it means, // that the document has reached the maximum number of allowed subscriptions. // In this case, the client should retry the connection. if (errorCodeOf(err) === Code.ErrTooManySubscribers) { logger.error(`[WD] c:"${this.getKey()}" err :`, err.rawMessage); return true; } // NOTE(emplam27): If the error is 'ErrTooManyAttachments' it means, // that the client has reached the maximum number of allowed attachments. // In this case, the client should remove some attachments. if (errorCodeOf(err) === Code.ErrTooManyAttachments) { return false; } // NOTE(hackerwins): If the error is 'ErrEpochMismatch', it means the // document has been compacted and the client's checkpoint is stale. // The sync loop should stop, and the user must detach and reattach. if (errorCodeOf(err) === Code.ErrEpochMismatch) { return false; } // NOTE(hackerwins): Some errors should fix the state of the client. if ( errorCodeOf(err) === Code.ErrClientNotActivated || errorCodeOf(err) === Code.ErrClientNotFound ) { this.deactivateInternal(); } return false; } /** * `enqueueTask` enqueues the given task to the task queue. */ private enqueueTask(task: () => Promise): Promise { return new Promise((resolve, reject) => { this.taskQueue.push(() => task().then(resolve).catch(reject)); if (!this.processing) { this.processNext(); } }); } /** * `processNext` processes the next task in the task queue. This method is * part of enqueueTask. */ private async processNext() { if (this.taskQueue.length === 0) { this.processing = false; return; } try { this.processing = true; const task = this.taskQueue.shift()!; await task(); } catch { logger.error(`[TQ] c:"${this.getKey()}" process failed, id:"${this.id}"`); } this.processNext(); } } ================================================ FILE: packages/sdk/src/client/metric_interceptor.ts ================================================ /* * Copyright 2021 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import pkg from '../../package.json'; import { Interceptor } from '@connectrpc/connect'; /** * `createMetricInterceptor` creates an interceptor to add the x-yorkie-user-agent header for each * request. */ export function createMetricInterceptor(userAgent?: string): Interceptor { return (next) => async (req) => { if (userAgent) { req.header.set('x-yorkie-user-agent', userAgent); } else { req.header.set('x-yorkie-user-agent', pkg.name + '/' + pkg.version); } return await next(req); }; } ================================================ FILE: packages/sdk/src/client/watch.ts ================================================ /* * Copyright 2025 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { WatchStream } from '@yorkie-js/sdk/src/client/attachment'; /** * `WatchStreamConfig` contains callbacks for handling the watch stream lifecycle. */ export interface WatchStreamConfig { /** The async iterable stream of responses. */ stream: AsyncIterable; /** The AbortController to cancel the stream. */ ac: AbortController; /** Returns true if the response is the init (first) response. */ isInit: (resp: Resp) => boolean; /** Called for each response from the stream. */ onResponse: (resp: Resp) => void; /** Called when the stream ends normally. */ onStreamEnd: () => void; /** Called when the stream encounters an error. */ onError: (err: unknown) => void; /** Called when the error is retryable and reconnection should be attempted. */ onDisconnect: () => void; /** Returns true if the error should be silently ignored (e.g. AbortError). */ shouldIgnoreError?: (err: unknown) => boolean; } /** * `runWatchStream` runs a watch stream and returns a promise that resolves * with the stream and AbortController on the first (init) response. * * This extracts the shared `Promise + async for-await + error handling` * pattern from document and channel watch streams. */ export function runWatchStream( config: WatchStreamConfig, handleConnectError: (err: unknown) => Promise, setWatchLoopInactive: () => void, ): Promise<[WatchStream, AbortController]> { const { stream, ac, isInit, onResponse, onStreamEnd, onError, onDisconnect, shouldIgnoreError, } = config; return new Promise((resolve, reject) => { const handleStream = async () => { try { let resolved = false; for await (const resp of stream) { onResponse(resp); if (!resolved && isInit(resp)) { resolved = true; resolve([stream, ac]); } } // Stream ended normally onStreamEnd(); onDisconnect(); } catch (err) { if (shouldIgnoreError && shouldIgnoreError(err)) { return; } onError(err); if (await handleConnectError(err)) { onDisconnect(); } else { setWatchLoopInactive(); } reject(err); } }; handleStream(); }); } ================================================ FILE: packages/sdk/src/devtools/index.ts ================================================ /* * Copyright 2024 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { Document, Indexable } from '@yorkie-js/sdk/src/yorkie'; import { logger } from '@yorkie-js/sdk/src/util/logger'; import type * as DevTools from './protocol'; import { EventSourceDevPanel, EventSourceSDK } from './protocol'; import { DocEventsForReplay, isDocEventsForReplay } from './types'; type DevtoolsStatus = 'connected' | 'disconnected' | 'synced'; let devtoolsStatus: DevtoolsStatus = 'disconnected'; const unsubsByDocKey = new Map void>>(); /** * `docEventsForReplayByDocKey` stores all events in the document for replaying * (time-traveling feature) in Devtools. Later, external storage such as * IndexedDB will be used. */ const docEventsForReplayByDocKey = new Map>(); declare global { interface Window { docEventsForReplayByDocKey: Map>; } } if (typeof window !== 'undefined') { window.docEventsForReplayByDocKey = docEventsForReplayByDocKey; } /** * `sendToPanel` sends a message to the devtools panel. */ function sendToPanel( message: DevTools.SDKToPanelMessage, options?: { force: boolean }, ): void { if (!(options?.force || devtoolsStatus !== 'disconnected')) { return; } window.postMessage( { source: EventSourceSDK, ...message, }, '*', ); } /** * `setupDevtools` sets up the devtools integration. It sends messages to the * devtools panel when a document is available, when a document is subscribed, * and when a document is changed. */ export function setupDevtools( doc: Document, ): void { if ( !doc.isEnableDevtools() || typeof window === 'undefined' || unsubsByDocKey.has(doc.getKey()) ) { return; } docEventsForReplayByDocKey.set(doc.getKey(), []); const unsub = doc.subscribe('all', (event) => { if (!isDocEventsForReplay(event)) { return; } docEventsForReplayByDocKey.get(doc.getKey())!.push(event); if (devtoolsStatus === 'synced') { sendToPanel({ msg: 'doc::sync::partial', docKey: doc.getKey(), event, }); } }); // TODO(chacha912): Cancel the subscription when the document is removed. unsubsByDocKey.set(doc.getKey(), [unsub]); // NOTE(chacha912): Send initial message, in case the devtool panel is already open. sendToPanel( { msg: 'refresh-devtools', }, { force: true }, ); // TODO(hackerwins): We need to ensure that this event listener should be // removed later. window.addEventListener( 'message', (event: MessageEvent) => { if (event.data?.source !== EventSourceDevPanel) { return; } const message = event.data; switch (message.msg) { case 'devtools::connect': if (devtoolsStatus !== 'disconnected') { break; } devtoolsStatus = 'connected'; sendToPanel({ msg: 'doc::available', docKey: doc.getKey(), }); logger.info(`[YD] Devtools connected. Doc: ${doc.getKey()}`); break; case 'devtools::disconnect': devtoolsStatus = 'disconnected'; logger.info(`[YD] Devtools disconnected. Doc: ${doc.getKey()}`); break; case 'devtools::subscribe': devtoolsStatus = 'synced'; sendToPanel({ msg: 'doc::sync::full', docKey: doc.getKey(), events: docEventsForReplayByDocKey.get(doc.getKey())!, }); logger.info(`[YD] Devtools subscribed. Doc: ${doc.getKey()}`); break; } }, ); } ================================================ FILE: packages/sdk/src/devtools/protocol.ts ================================================ /* * Copyright 2024 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { DocEventsForReplay } from './types'; /** * `EventSourceDevPanel` is the name of the source representing messages * from the Devtools panel. */ export const EventSourceDevPanel = 'yorkie-devtools-panel'; /** * `EventSourceSDK` is the name of the source representing messages * from the SDK. */ export const EventSourceSDK = 'yorkie-devtools-sdk'; /** * PanelToSDKMessage is a message sent from the Devtools panel to the SDK. */ export type PanelToSDKMessage = /** * Informs the SDK that the panel is available. */ | { msg: 'devtools::connect' } /** * Informs the SDK that the panel is not available. */ | { msg: 'devtools::disconnect' } /** * Informs the SDK that the panel is interested in receiving the "event" for the document, * starting with the initial "full sync" event. */ | { msg: 'devtools::subscribe'; docKey: string; }; /** * Definition of all messages the SDK can send to the Devtools panel. */ export type SDKToPanelMessage = /** * Sent when the dev panel is already opened and listened, * before the sdk is loaded. If the panel receives this message, * it will replay its initial "connect" message. */ | { msg: 'refresh-devtools'; } /** * Sent when the document is available for the panel to watch. */ | { msg: 'doc::available'; docKey: string; } /** * Sent initially, to synchronize the entire current state of the document. */ | { msg: 'doc::sync::full'; docKey: string; events: Array; } /** * Sent whenever the document is changed. */ | { msg: 'doc::sync::partial'; docKey: string; event: DocEventsForReplay; }; export type FullPanelToSDKMessage = PanelToSDKMessage & { source: 'yorkie-devtools-panel'; }; export type FullSDKToPanelMessage = SDKToPanelMessage & { source: 'yorkie-devtools-sdk'; }; ================================================ FILE: packages/sdk/src/devtools/types.ts ================================================ /* * Copyright 2024 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import type { PrimitiveValue } from '@yorkie-js/sdk/src/document/crdt/primitive'; import type { CRDTTreePosStruct } from '@yorkie-js/sdk/src/document/crdt/tree'; import { CounterValue } from '@yorkie-js/sdk/src/document/crdt/counter'; import { Json, DocEvent, DocEventType, type Indexable, type StatusChangedEvent, type SnapshotEvent, type LocalChangeEvent, type RemoteChangeEvent, type InitializedEvent, type WatchedEvent, type UnwatchedEvent, type PresenceChangedEvent, } from '@yorkie-js/sdk/src/document/document'; import type { OpInfo } from '@yorkie-js/sdk/src/document/operation/operation'; /** * `Client` represents a client value in devtools. */ export type Client = { clientID: string; presence: Json; }; /** * `JSONElement` represents the result of `Element.toJSForTest()`. */ export type JSONElement = { type: JSONElementType; key?: string; value: JSONElementValue; createdAt: string; }; type JSONElementType = | 'YORKIE_PRIMITIVE' | 'YORKIE_COUNTER' | 'YORKIE_OBJECT' | 'YORKIE_ARRAY' | 'YORKIE_TEXT' | 'YORKIE_TREE'; /** * `ElementValue` represents the result of `Element.toJSForTest()`. * * NOTE(chacha912): Json type is used to represent the result of * `Text.toJSForTest()` and `Tree.toJSForTest()`. */ type JSONElementValue = | PrimitiveValue | CounterValue | ContainerValue // Array | Object | Json; // Text | Tree /** * `ContainerValue` represents the result of `Array.toJSForTest()` and * `Object.toJSForTest()`. */ export type ContainerValue = { [key: string]: JSONElement; }; /** * `TreeNodeInfo` represents the crdt tree node information in devtools. */ export type TreeNodeInfo = { id: string; type: string; parent?: string; size: number; value?: string; removedAt?: string; isRemoved: boolean; insPrev?: string; insNext?: string; children: Array; attributes?: object; // TODO(chacha912): Specify the type accurately. depth: number; index?: number; path?: Array; pos?: CRDTTreePosStruct; }; /** * `DocEventForReplay` is an event used to replay a document. */ export type DocEventForReplay

    = | StatusChangedEvent | SnapshotEvent | LocalChangeEvent | RemoteChangeEvent | InitializedEvent

    | WatchedEvent

    | UnwatchedEvent

    | PresenceChangedEvent

    ; /** * `DocEventsForReplay` is a list of events used to replay a document. */ export type DocEventsForReplay = Array; /** * `isDocEventForReplay` checks if an event can be used to replay a document. */ export function isDocEventForReplay( event: DocEvent, ): event is DocEventForReplay { const types = [ DocEventType.StatusChanged, DocEventType.Snapshot, DocEventType.LocalChange, DocEventType.RemoteChange, DocEventType.Initialized, DocEventType.Watched, DocEventType.Unwatched, DocEventType.PresenceChanged, ]; return types.includes(event.type); } /** * `isDocEventsForReplay` checks if a list of events can be used to replay a document. */ export function isDocEventsForReplay( events: Array, ): events is DocEventsForReplay { return events.every(isDocEventForReplay); } ================================================ FILE: packages/sdk/src/document/change/change.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { ActorID } from '@yorkie-js/sdk/src/document/time/actor_id'; import { OpSource, Operation, OpInfo, } from '@yorkie-js/sdk/src/document/operation/operation'; import { CRDTRoot } from '@yorkie-js/sdk/src/document/crdt/root'; import { ChangeID } from '@yorkie-js/sdk/src/document/change/change_id'; import { Indexable } from '@yorkie-js/sdk/src/document/document'; import { converter } from '@yorkie-js/sdk/src/api/converter'; import { HistoryOperation } from '@yorkie-js/sdk/src/document/history'; import { PresenceChange, PresenceChangeType, } from '@yorkie-js/sdk/src/document/presence/change'; import { deepcopy } from '@yorkie-js/sdk/src/util/object'; /** * `ChangeStruct` represents the structure of Change. * This is used to serialize and deserialize Change. */ export type ChangeStruct

    = { changeID: string; message?: string; operations?: Array; presenceChange?: { type: PresenceChangeType; presence?: P; }; }; /** * `Change` represents a unit of modification in the document. */ export class Change

    { private id: ChangeID; // `operations` represent a series of user edits. private operations: Array; // `presenceChange` represents the presenceChange of the user who made the change. private presenceChange?: PresenceChange

    ; // `message` is used to save a description of the change. private message?: string; constructor({ id, operations, presenceChange, message, }: { id: ChangeID; operations?: Array; presenceChange?: PresenceChange

    ; message?: string; }) { this.id = id; this.operations = operations || []; this.presenceChange = presenceChange; this.message = message; } /** * `create` creates a new instance of Change. */ public static create

    ({ id, operations, presenceChange, message, }: { id: ChangeID; operations?: Array; presenceChange?: PresenceChange

    ; message?: string; }): Change

    { return new Change({ id, operations, presenceChange, message }); } /** * `getID` returns the ID of this change. */ public getID(): ChangeID { return this.id; } /** * `getMessage` returns the message of this change. */ public getMessage(): string | undefined { return this.message; } /** * `hasOperations` returns whether this change has operations or not. */ public hasOperations(): boolean { return this.operations.length > 0; } /** * `getOperations` returns the operations of this change. */ public getOperations(): Array { return this.operations; } /** * `setActor` sets the given actor. */ public setActor(actorID: ActorID): void { for (const operation of this.operations) { operation.setActor(actorID); } this.id = this.id.setActor(actorID); } /** * `hasPresenceChange` returns whether this change has presence change or not. */ public hasPresenceChange(): boolean { return this.presenceChange !== undefined; } /** * `getPresenceChange` returns the presence change of this change. */ public getPresenceChange(): PresenceChange

    | undefined { return this.presenceChange; } /** * `execute` executes the operations of this change to the given root. */ public execute( root: CRDTRoot, presences: Map, source: OpSource, ): { operations: Array; opInfos: Array; reverseOps: Array>; } { const changeOpInfos: Array = []; const changeOperations: Array = []; const reverseOps: Array> = []; for (const operation of this.operations) { const executionResult = operation.execute( root, source, this.id.getVersionVector(), ); // NOTE(hackerwins): If the element was removed while executing undo/redo, // the operation is not executed and executionResult is undefined. if (!executionResult) continue; const { opInfos, reverseOp } = executionResult; changeOpInfos.push(...opInfos); changeOperations.push(operation); // TODO(hackerwins): This condition should be removed after implementing // all reverse operations. if (reverseOp) { reverseOps.unshift(reverseOp); } } if (this.presenceChange) { if (this.presenceChange.type === PresenceChangeType.Put) { presences.set( this.id.getActorID(), deepcopy(this.presenceChange.presence), ); } else { presences.delete(this.id.getActorID()); } } return { operations: changeOperations, opInfos: changeOpInfos, reverseOps }; } /** * `toTestString` returns a string containing the meta data of this change. */ public toTestString(): string { return `${this.operations .map((operation) => operation.toTestString()) .join(',')}`; } /** * `toStruct` returns the structure of this change. */ public toStruct(): ChangeStruct

    { return { changeID: converter.bytesToHex(converter.changeIDToBinary(this.getID())), message: this.getMessage(), operations: this.getOperations().map((op) => converter.bytesToHex(converter.operationToBinary(op)), ), presenceChange: this.getPresenceChange(), }; } /** * `fromStruct` creates a instance of Change from the struct. */ public static fromStruct

    ( struct: ChangeStruct

    , ): Change

    { const { changeID, operations, presenceChange, message } = struct; return Change.create

    ({ id: converter.bytesToChangeID(converter.hexToBytes(changeID)), operations: operations?.map((op) => { return converter.bytesToOperation(converter.hexToBytes(op)); }), presenceChange: presenceChange as any, message, }); } } ================================================ FILE: packages/sdk/src/document/change/change_id.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { ActorID, InitialActorID, } from '@yorkie-js/sdk/src/document/time/actor_id'; import { InitialLamport, TimeTicket, } from '@yorkie-js/sdk/src/document/time/ticket'; import { InitialVersionVector, VersionVector } from '../time/version_vector'; /** * `ChangeID` is for identifying the Change. This is immutable. */ export class ChangeID { // `clientSeq` is the sequence number of the client that created this change. private clientSeq: number; // `serverSeq` is optional and only present for changes stored on the server. private serverSeq?: bigint; // `actor` is the creator of this change. private actor: ActorID; // `lamport` is the lamport clock of this change. This is used to determine // the order of changes in logical time. It is optional and only present // if the change has operations. private lamport: bigint; // `versionVector` is the vector clock of this change. This is used to // determine the relationship is causal or not between changes. It is optional // and only present if the change has operations. private versionVector: VersionVector; constructor( clientSeq: number, lamport: bigint, actor: ActorID, vector: VersionVector, serverSeq?: bigint, ) { this.clientSeq = clientSeq; this.serverSeq = serverSeq; this.lamport = lamport; this.versionVector = vector; this.actor = actor; } /** * `hasClocks` returns true if this ID has logical clocks. */ public hasClocks(): boolean { return this.versionVector.size() > 0 && this.lamport != InitialLamport; } /** * `of` creates a new instance of ChangeID. */ public static of( clientSeq: number, lamport: bigint, actor: ActorID, vector: VersionVector, serverSeq?: bigint, ): ChangeID { return new ChangeID(clientSeq, lamport, actor, vector, serverSeq); } /** * `next` creates a next ID of this ID. */ public next(excludeClocks = false): ChangeID { if (excludeClocks) { return new ChangeID( this.clientSeq + 1, this.lamport, this.actor, InitialVersionVector, InitialLamport, ); } const vector = this.versionVector.deepcopy(); vector.set(this.actor, this.lamport + 1n); return new ChangeID( this.clientSeq + 1, this.lamport + 1n, this.actor, vector, ); } /** * `syncClocks` syncs logical clocks with the given ID. If the given ID * doesn't have logical clocks, this ID is returned. */ public syncClocks(other: ChangeID): ChangeID { if (!other.hasClocks()) { return this; } const lamport = other.lamport > this.lamport ? other.lamport + 1n : this.lamport + 1n; const maxVersionVector = this.versionVector.max(other.versionVector); const newID = new ChangeID( this.clientSeq, lamport, this.actor, maxVersionVector, ); newID.versionVector.set(this.actor, lamport); return newID; } /** * `setClocks` sets the given clocks to this ID. This is used when the snapshot * is given from the server. */ public setClocks(otherLamport: bigint, vector: VersionVector): ChangeID { const lamport = otherLamport > this.lamport ? otherLamport + 1n : this.lamport + 1n; const maxVersionVector = this.versionVector.max(vector); maxVersionVector.set(this.actor, lamport); return ChangeID.of(this.clientSeq, lamport, this.actor, maxVersionVector); } /** * `createTimeTicket` creates a ticket of the given delimiter. */ public createTimeTicket(delimiter: number): TimeTicket { return TimeTicket.of(this.lamport, delimiter, this.actor); } /** * `setActor` sets the given actor. */ public setActor(actorID: ActorID): ChangeID { return new ChangeID( this.clientSeq, this.lamport, actorID, this.versionVector, this.serverSeq, ); } /** * `setLamport` sets the given lamport clock. */ public setLamport(lamport: bigint): ChangeID { return new ChangeID( this.clientSeq, lamport, this.actor, this.versionVector, this.serverSeq, ); } /** * `setVersionVector` sets the given version vector. */ public setVersionVector(versionVector: VersionVector): ChangeID { return new ChangeID( this.clientSeq, this.lamport, this.actor, versionVector, this.serverSeq, ); } /** * `getClientSeq` returns the client sequence of this ID. */ public getClientSeq(): number { return this.clientSeq; } /** * `getServerSeq` returns the server sequence of this ID. */ public getServerSeq(): string { if (this.serverSeq) { return this.serverSeq.toString(); } return ''; } /** * `getLamport` returns the lamport clock of this ID. */ public getLamport(): bigint { return this.lamport; } /** * `getLamportAsString` returns the lamport clock of this ID as a string. */ public getLamportAsString(): string { return this.lamport.toString(); } /** * `getActorID` returns the actor of this ID. */ public getActorID(): string { return this.actor; } /** * `getVersionVector` returns the version vector of this ID. */ public getVersionVector(): VersionVector { return this.versionVector; } /** * `toTestString` returns a string containing the meta data of this ID. */ public toTestString(): string { return `${this.lamport.toString()}:${this.actor.slice(-2)}:${ this.clientSeq }`; } } /** * `InitialChangeID` represents the initial state ID. Usually this is used to * represent a state where nothing has been edited. */ export const InitialChangeID = new ChangeID( 0, 0n, InitialActorID, InitialVersionVector, ); ================================================ FILE: packages/sdk/src/document/change/change_pack.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { Indexable } from '@yorkie-js/sdk/src/document/document'; import { Checkpoint } from '@yorkie-js/sdk/src/document/change/checkpoint'; import { Change } from '@yorkie-js/sdk/src/document/change/change'; import { VersionVector } from '../time/version_vector'; /** * `ChangePack` is a unit for delivering changes in a document to the remote. * */ export class ChangePack

    { /** * `documentKey` is the key of the document. */ private documentKey: string; /** * `Checkpoint` is used to determine the client received changes. */ private checkpoint: Checkpoint; /** * `isRemoved` is a flag that indicates whether the document is removed. */ private isRemoved: boolean; private changes: Array>; /** * `snapshot` is a byte array that encodes the document. */ private snapshot?: Uint8Array; /** * `versionVector` is the version vector current document */ private versionVector?: VersionVector; constructor( key: string, checkpoint: Checkpoint, isRemoved: boolean, changes: Array>, versionVector?: VersionVector, snapshot?: Uint8Array, ) { this.documentKey = key; this.checkpoint = checkpoint; this.isRemoved = isRemoved; this.changes = changes; this.snapshot = snapshot; this.versionVector = versionVector; } /** * `create` creates a new instance of ChangePack. */ public static create

    ( key: string, checkpoint: Checkpoint, isRemoved: boolean, changes: Array>, versionVector?: VersionVector, snapshot?: Uint8Array, ): ChangePack

    { return new ChangePack

    ( key, checkpoint, isRemoved, changes, versionVector, snapshot, ); } /** * `getDocumentKey` returns the document key of this pack. */ public getDocumentKey(): string { return this.documentKey; } /** * `getCheckpoint` returns the checkpoint of this pack. */ public getCheckpoint(): Checkpoint { return this.checkpoint; } /** * `getIsRemoved` returns the whether this document is removed. */ public getIsRemoved(): boolean { return this.isRemoved; } /** * `getChanges` returns the changes of this pack. */ public getChanges(): Array> { return this.changes; } /** * `hasChanges` returns the whether this pack has changes or not. */ public hasChanges(): boolean { return this.changes.length > 0; } /** * `getChangeSize` returns the size of changes this pack has. */ public getChangeSize(): number { return this.changes.length; } /** * `hasSnapshot` returns the whether this pack has a snapshot or not. */ public hasSnapshot(): boolean { return !!this.snapshot && !!this.snapshot.length; } /** * `getSnapshot` returns the snapshot of this pack. */ public getSnapshot(): Uint8Array | undefined { return this.snapshot; } /** * `getVersionVector` returns the document's version vector of this pack */ public getVersionVector(): VersionVector | undefined { return this.versionVector; } } ================================================ FILE: packages/sdk/src/document/change/checkpoint.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * `Checkpoint` is used to determine the changes sent and received by the * client. This is immutable. * **/ export class Checkpoint { private serverSeq: bigint; private clientSeq: number; constructor(serverSeq: bigint, clientSeq: number) { this.serverSeq = serverSeq; this.clientSeq = clientSeq; } /** * `of` creates a new instance of Checkpoint. */ public static of(serverSeq: bigint, clientSeq: number): Checkpoint { return new Checkpoint(serverSeq, clientSeq); } /** * `increaseClientSeq` creates a new instance with increased client sequence. */ public increaseClientSeq(inc: number): Checkpoint { if (inc === 0) { return this; } return new Checkpoint(this.serverSeq, this.clientSeq + inc); } /** * `forward` creates a new instance with the given checkpoint if it is * greater than the values of internal properties. */ public forward(other: Checkpoint): Checkpoint { if (this.equals(other)) { return this; } const serverSeq = this.serverSeq > other.serverSeq ? this.serverSeq : other.serverSeq; const clientSeq = Math.max(this.clientSeq, other.clientSeq); return Checkpoint.of(serverSeq, clientSeq); } /** * `getServerSeqAsString` returns the server seq of this checkpoint as a * string. */ public getServerSeqAsString(): string { return this.serverSeq.toString(); } /** * `getClientSeq` returns the client seq of this checkpoint. */ public getClientSeq(): number { return this.clientSeq; } /** * `getServerSeq` returns the server seq of this checkpoint. */ public getServerSeq(): bigint { return this.serverSeq; } /** * `equals` returns whether the given checkpoint is equal to this checkpoint * or not. */ public equals(other: Checkpoint): boolean { return ( this.clientSeq === other.clientSeq && this.serverSeq == other.serverSeq ); } /** * `toTestString` returns a string containing the meta data of this * checkpoint. */ public toTestString(): string { return `serverSeq=${this.serverSeq}, clientSeq=${this.clientSeq}`; } } /** * `InitialCheckpoint` is the initial value of the checkpoint. */ export const InitialCheckpoint = new Checkpoint(0n, 0); ================================================ FILE: packages/sdk/src/document/change/context.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { TimeTicket, InitialDelimiter, } from '@yorkie-js/sdk/src/document/time/ticket'; import { CRDTRoot } from '@yorkie-js/sdk/src/document/crdt/root'; import { CRDTContainer, CRDTElement, } from '@yorkie-js/sdk/src/document/crdt/element'; import { Operation } from '@yorkie-js/sdk/src/document/operation/operation'; import { ChangeID } from '@yorkie-js/sdk/src/document/change/change_id'; import { Change } from '@yorkie-js/sdk/src/document/change/change'; import { PresenceChange } from '@yorkie-js/sdk/src/document/presence/change'; import { Indexable } from '@yorkie-js/sdk/src/document/document'; import { deepcopy } from '@yorkie-js/sdk/src/util/object'; import { GCPair } from '@yorkie-js/sdk/src/document/crdt/gc'; import { DataSize } from '@yorkie-js/sdk/src/util/resource'; /** * `ChangeContext` is used to record the context of modification when editing * a document. Each time we add an operation, a new time ticket is issued. * Finally returns a Change after the modification has been completed. */ export class ChangeContext

    { private prevID: ChangeID; private nextID: ChangeID; private delimiter: number; private message?: string; private root: CRDTRoot; private operations: Array; private presenceChange?: PresenceChange

    ; /** * `previousPresence` stores the previous presence to be used for undoing * presence changes. */ private previousPresence: P; /** * `reversePresenceKeys` stores the keys of the presence to be used for undoing * presence changes. */ private reversePresenceKeys: Set; constructor(prevID: ChangeID, root: CRDTRoot, presence: P, message?: string) { this.prevID = prevID; this.nextID = prevID.next(); this.delimiter = InitialDelimiter; this.root = root; this.operations = []; this.previousPresence = deepcopy(presence); this.presenceChange = undefined; this.reversePresenceKeys = new Set(); this.message = message; } /** * `create` creates a new instance of ChangeContext. */ public static create

    ( prevID: ChangeID, root: CRDTRoot, presence: P, message?: string, ): ChangeContext

    { return new ChangeContext(prevID, root, presence, message); } /** * `push` pushes the given operation to this context. */ public push(operation: Operation): void { this.operations.push(operation); } /** * `registerElement` registers the given element to the root. */ public registerElement(element: CRDTElement, parent: CRDTContainer): void { this.root.registerElement(element, parent); } /** * `registerRemovedElement` register removed element for garbage collection. */ public registerRemovedElement(deleted: CRDTElement): void { this.root.registerRemovedElement(deleted); } /** * `registerGCPair` registers the given pair to hash table. */ public registerGCPair(pair: GCPair): void { this.root.registerGCPair(pair); } /** * `getNextID` returns the next ID of this context. It will be set to the * document for the next change.returns the next ID of this context. */ public getNextID(): ChangeID { // Even if the change has only presence change, the next ID for the document // shoule have clocks. For this, we pass the clocks of the previous ID. if (this.isPresenceOnlyChange()) { return this.prevID .next(true) .setLamport(this.prevID.getLamport()) .setVersionVector(this.prevID.getVersionVector()); } return this.nextID; } /** * `toChange` creates a new instance of Change in this context. */ public toChange(): Change

    { // NOTE(hackerwins): If this context was created only for presence change, // we can use the ID without clocks that are used to resolve the // conflict. const id = this.isPresenceOnlyChange() ? this.prevID.next(true) : this.nextID; return Change.create

    ({ id, operations: this.operations, presenceChange: this.presenceChange, message: this.message, }); } /** * `isPresenceOnlyChange` returns whether this context is only for presence * change or not. */ public isPresenceOnlyChange(): boolean { return this.operations.length === 0; } /** * `hasChange` returns whether this context has change or not. */ public hasChange(): boolean { return this.operations.length > 0 || this.presenceChange !== undefined; } /** * `setPresenceChange` registers the presence change to this context. */ public setPresenceChange(presenceChange: PresenceChange

    ) { this.presenceChange = presenceChange; } /** * `setReversePresence` registers the previous presence to undo presence updates. */ public setReversePresence( presence: Partial

    , option?: { addToHistory: boolean }, ) { for (const key of Object.keys(presence)) { if (option?.addToHistory) { this.reversePresenceKeys.add(key); } else { this.reversePresenceKeys.delete(key); } } } /** * `toReversePresence` returns the reverse presence of this context. */ public getReversePresence() { if (this.reversePresenceKeys.size === 0) return undefined; const reversePresence: Partial

    = {}; for (const key of this.reversePresenceKeys) { reversePresence[key as keyof P] = this.previousPresence[key as keyof P]; } return reversePresence; } /** * `issueTimeTicket` creates a time ticket to be used to create a new operation. */ public issueTimeTicket(): TimeTicket { this.delimiter += 1; return this.nextID.createTimeTicket(this.delimiter); } /** * `getLastTimeTicket` returns the last time ticket issued in this context. */ public getLastTimeTicket(): TimeTicket { return this.nextID.createTimeTicket(this.delimiter); } /** * `acc` accumulates the given DataSize to Live size of the root. */ public acc(diff: DataSize) { this.root.acc(diff); } } ================================================ FILE: packages/sdk/src/document/crdt/array.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { TimeTicket } from '@yorkie-js/sdk/src/document/time/ticket'; import { CRDTContainer, CRDTElement, } from '@yorkie-js/sdk/src/document/crdt/element'; import { RGATreeList, RGATreeListNode, } from '@yorkie-js/sdk/src/document/crdt/rga_tree_list'; import * as Devtools from '@yorkie-js/sdk/src/devtools/types'; import { DataSize } from '@yorkie-js/sdk/src/util/resource'; /** * `CRDTArray` represents an array data type containing `CRDTElement`s. */ export class CRDTArray extends CRDTContainer { private elements: RGATreeList; constructor(createdAt: TimeTicket, elements: RGATreeList) { super(createdAt); this.elements = elements; } /** * `create` creates a new instance of Array. */ public static create( createdAt: TimeTicket, value?: Array, ): CRDTArray { if (!value) { return new CRDTArray(createdAt, RGATreeList.create()); } const elements = RGATreeList.create(); for (const v of value) { elements.insertAfter(elements.getLastCreatedAt(), v.deepcopy()); } return new CRDTArray(createdAt, elements); } /** * `subPathOf` returns the sub path of the given element. */ public subPathOf(createdAt: TimeTicket): string | undefined { return this.elements.subPathOf(createdAt); } /** * `purge` physically purge the given element. */ public purge(element: CRDTElement): void { this.elements.purge(element); } /** * `insertAfter` adds a new node after the the given node. */ public insertAfter( prevCreatedAt: TimeTicket, value: CRDTElement, executedAt?: TimeTicket, ): void { this.elements.insertAfter(prevCreatedAt, value, executedAt); } /** * `moveAfter` moves the given `createdAt` element after the * `prevCreatedAt`. Returns the dead position node for GC. */ public moveAfter( prevCreatedAt: TimeTicket, createdAt: TimeTicket, executedAt: TimeTicket, ): RGATreeListNode | undefined { return this.elements.moveAfter(prevCreatedAt, createdAt, executedAt); } /** * `get` returns the element of the given index. */ public get(index: number): CRDTElement | undefined { const node = this.elements.getByIndex(index); return node?.getValue(); } /** * `getByID` returns the element of the given createAt. */ public getByID(createdAt: TimeTicket): CRDTElement | undefined { const node = this.elements.getByID(createdAt); return node?.getValue(); } /** * `getHead` returns dummy head element. */ public getHead(): CRDTElement { return this.elements.getHead(); } /** * `getLast` returns last element. */ public getLast(): CRDTElement { return this.elements.getLast(); } /** * `getPrevCreatedAt` returns the creation time of the previous * node. */ public getPrevCreatedAt(createdAt: TimeTicket): TimeTicket { return this.elements.getPrevCreatedAt(createdAt); } /** * `posCreatedAt` returns the createdAt of the position node * currently holding the element. Used to convert element identity * to position identity for moves. */ public posCreatedAt(elemCreatedAt: TimeTicket): TimeTicket { return this.elements.posCreatedAt(elemCreatedAt); } /** * `delete` deletes the element of the given creation time. */ public delete(createdAt: TimeTicket, editedAt: TimeTicket): CRDTElement { return this.elements.delete(createdAt, editedAt); } /** * `deleteByIndex` deletes the element of given index and editedAt. */ public deleteByIndex( index: number, editedAt: TimeTicket, ): CRDTElement | undefined { return this.elements.deleteByIndex(index, editedAt); } /** * `set` sets the given element at the given position of the * creation time. */ public set( createdAt: TimeTicket, value: CRDTElement, executedAt: TimeTicket, ): CRDTElement { return this.elements.set(createdAt, value, executedAt); } /** * `getLastCreatedAt` get last created element. */ public getLastCreatedAt(): TimeTicket { return this.elements.getLastCreatedAt(); } /** * `length` returns length of this elements. */ public get length(): number { return this.elements.length; } /** * `[Symbol.iterator]` returns an iterator for the elements in * this array. */ public *[Symbol.iterator](): IterableIterator { for (const node of this.elements) { if (node.getElementEntry() && !node.isRemoved()) { yield node.getValue(); } } } /** * `toTestString` returns a String containing the meta data of * this value for debugging purpose. */ public toTestString(): string { return this.elements.toTestString(); } /** * `getDescendants` traverse the descendants of this array. */ public getDescendants( callback: (elem: CRDTElement, parent: CRDTContainer) => boolean, ): void { for (const node of this.elements) { if (!node.getElementEntry()) { continue; } const element = node.getValue(); if (callback(element, this)) { return; } if (element instanceof CRDTContainer) { element.getDescendants(callback); } } } /** * `getDataSize` returns the data usage of this element. */ public getDataSize(): DataSize { return { data: 0, meta: this.getMetaUsage(), }; } /** * `toJSON` returns the JSON encoding of this array. */ public toJSON(): string { const json = []; for (const value of this) { json.push(value.toJSON()); } return `[${json.join(',')}]`; } /** * `toJS` return the javascript object of this array. */ public toJS(): any { return JSON.parse(this.toJSON()); } /** * `toJSForTest` returns value with meta data for testing. */ public toJSForTest(): Devtools.JSONElement { const values: Devtools.ContainerValue = {}; for (let i = 0; i < this.length; i++) { const { createdAt, value, type } = this.get(i)!.toJSForTest(); values[i] = { key: String(i), createdAt, value, type, }; } return { createdAt: this.getCreatedAt().toTestString(), value: values, type: 'YORKIE_ARRAY', }; } /** * `toSortedJSON` returns the sorted JSON encoding of this array. */ public toSortedJSON(): string { return this.toJSON(); } /** * `getElements` returns the underlying RGATreeList. */ public getElements(): RGATreeList { return this.elements; } /** * `getRGATreeList` returns the underlying RGATreeList (GCParent * for dead positions). */ public getRGATreeList(): RGATreeList { return this.elements; } /** * `getAllRGANodes` returns all RGA nodes including dead position * nodes. */ public getAllRGANodes(): Array { return this.elements.allNodes(); } /** * `deepcopy` copies itself deeply. */ public deepcopy(): CRDTArray { const clone = CRDTArray.create(this.getCreatedAt()); for (const node of this.elements) { if (!node.getElementEntry()) { // Dead position node (abandoned by a move). const removedAt = node.getRemovedAt(); if (removedAt) { clone.elements.addDeadPosition( node.getPositionCreatedAt(), removedAt, ); } continue; } const value = node.getValue().deepcopy(); const posMovedAt = node.getPositionMovedAt(); if (posMovedAt) { clone.elements.addMovedElement( value, node.getPositionCreatedAt(), posMovedAt, ); } else { clone.elements.insertAfter(clone.getLastCreatedAt(), value); } } clone.setRemovedAt(this.getRemovedAt()); clone.setMovedAt(this.getMovedAt()); return clone; } } ================================================ FILE: packages/sdk/src/document/crdt/counter.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { CRDTElement } from '@yorkie-js/sdk/src/document/crdt/element'; import { TimeTicket } from '@yorkie-js/sdk/src/document/time/ticket'; import { Code, YorkieError } from '@yorkie-js/sdk/src/util/error'; import { Primitive, PrimitiveType, } from '@yorkie-js/sdk/src/document/crdt/primitive'; import { removeDecimal, bigintFromBytesLE, bigintToBytesLE, bigintToInt32, } from '@yorkie-js/sdk/src/util/number'; import type * as Devtools from '@yorkie-js/sdk/src/devtools/types'; import { DataSize } from '@yorkie-js/sdk/src/util/resource'; import { HLL } from '@yorkie-js/sdk/src/document/crdt/hll'; export enum CounterType { Int, Long, IntDedup, } export type CounterValue = number | bigint; /** * `CRDTCounter` is a CRDT implementation of a counter. It is used to represent * a number that can be incremented or decremented. */ export class CRDTCounter extends CRDTElement { private valueType: CounterType; private value: CounterValue; private hll?: HLL; constructor( valueType: CounterType, value: CounterValue, createdAt: TimeTicket, ) { super(createdAt); this.valueType = valueType; switch (valueType) { case CounterType.IntDedup: this.value = 0; break; case CounterType.Int: if (typeof value === 'number') { if (value > Math.pow(2, 31) - 1 || value < -Math.pow(2, 31)) { this.value = bigintToInt32(BigInt(value)); } else { this.value = removeDecimal(value); } } else { this.value = bigintToInt32(value); } break; case CounterType.Long: if (typeof value === 'number') { this.value = BigInt.asIntN(64, BigInt(Math.trunc(value))); } else { this.value = BigInt.asIntN(64, value); } break; default: throw new YorkieError( Code.ErrUnimplemented, `unimplemented type: ${valueType}`, ); } if (this.isDedup()) { this.hll ??= new HLL(); } } /** * `of` creates a new instance of Counter. */ public static create( valueType: CounterType, value: CounterValue, createdAt: TimeTicket, ): CRDTCounter { return new CRDTCounter(valueType, value, createdAt); } /** * `valueFromBytes` parses the given bytes into value. */ public static valueFromBytes( counterType: CounterType, bytes: Uint8Array, ): CounterValue { switch (counterType) { case CounterType.Int: case CounterType.IntDedup: return bytes[0] | (bytes[1] << 8) | (bytes[2] << 16) | (bytes[3] << 24); case CounterType.Long: return bigintFromBytesLE(bytes); default: throw new YorkieError( Code.ErrUnimplemented, `unimplemented type: ${counterType}`, ); } } /** * `getDataSize` returns the data usage of this element. */ public getDataSize(): DataSize { let data = this.valueType === CounterType.Int || this.valueType === CounterType.IntDedup ? 4 : 8; if (this.isDedup() && this.hll) { data += this.hll.toBytes().length; } return { data, meta: this.getMetaUsage(), }; } /** * `toJSON` returns the JSON encoding of the value. */ public toJSON(): string { return `${this.value}`; } /** * `toSortedJSON` returns the sorted JSON encoding of the value. */ public toSortedJSON(): string { return this.toJSON(); } /** * `toJSForTest` returns value with meta data for testing. */ public toJSForTest(): Devtools.JSONElement { return { createdAt: this.getCreatedAt().toTestString(), value: this.value, type: 'YORKIE_COUNTER', }; } /** * `deepcopy` copies itself deeply. */ public deepcopy(): CRDTCounter { const clone = CRDTCounter.create( this.valueType, this.value, this.getCreatedAt(), ); clone.setRemovedAt(this.getRemovedAt()); clone.setMovedAt(this.getMovedAt()); if (this.isDedup() && this.hll) { clone.restoreHLL(this.hll.toBytes()); } return clone; } /** * `getType` returns the type of the value. */ public getType(): CounterType { return this.valueType; } /** * `getCounterType` returns counter type of given value. */ public static getCounterType(value: CounterValue): CounterType | undefined { switch (typeof value) { case 'bigint': return CounterType.Long; case 'number': if (value > Math.pow(2, 31) - 1 || value < -Math.pow(2, 31)) { return CounterType.Long; } else { return CounterType.Int; } default: return; } } /** * `isSupport` check if there is a counter type of given value. */ public static isSupport(value: CounterValue): boolean { return !!CRDTCounter.getCounterType(value); } /** * `isInteger` checks if the num is integer. */ public static isInteger(num: number): boolean { return num % 1 === 0; } /** * `isNumericType` check numeric type by JSONCounter. */ public isNumericType(): boolean { const t = this.valueType; return ( t === CounterType.Int || t === CounterType.Long || t === CounterType.IntDedup ); } /** * `getValueType` get counter value type. */ public getValueType(): CounterType { return this.valueType; } /** * `getValue` get counter value. */ public getValue(): CounterValue { return this.value; } /** * `toBytes` creates an array representing the value. */ public toBytes(): Uint8Array { switch (this.valueType) { case CounterType.Int: case CounterType.IntDedup: { const intVal = this.value as number; return new Uint8Array([ intVal & 0xff, (intVal >> 8) & 0xff, (intVal >> 16) & 0xff, (intVal >> 24) & 0xff, ]); } case CounterType.Long: { return bigintToBytesLE(this.value as bigint); } default: throw new YorkieError( Code.ErrUnimplemented, `unimplemented type: ${this.valueType}`, ); } } /** * `isDedup` returns whether dedup mode is enabled (derived from ValueType). */ public isDedup(): boolean { return this.valueType === CounterType.IntDedup; } /** * `increaseDedup` increases the counter using HLL-based dedup. * Only updates the value if the actor is new (not seen before). */ public increaseDedup(v: Primitive, actor: string): CRDTCounter { if (!this.isDedup() || !this.hll) { return this.increase(v); } if (!this.isNumericType() || !v.isNumericType()) { throw new TypeError(`Unsupported type of value: ${typeof v.getValue()}`); } if (!actor) { throw new YorkieError( Code.ErrInvalidArgument, 'dedup counter requires actor', ); } const val = v.getValue(); const isUnit = v.getType() === PrimitiveType.Long ? val === 1n : val === 1; if (!isUnit) { throw new YorkieError( Code.ErrInvalidArgument, 'dedup counter only supports increment by 1', ); } if (this.hll.add(actor)) { this.recomputeValue(); } return this; } /** * `hllBytes` returns the HLL register bytes, or undefined if not in dedup mode. */ public hllBytes(): Uint8Array | undefined { return this.hll?.toBytes(); } /** * `restoreHLL` restores the HLL state from serialized bytes. */ public restoreHLL(data: Uint8Array): void { if (!this.hll) { this.hll = new HLL(); } this.hll.restore(data); this.recomputeValue(); } /** * `recomputeValue` updates the counter value from the HLL cardinality estimate. */ private recomputeValue(): void { if (!this.hll) return; this.value = this.hll.count(); } /** * `increase` increases numeric data. * Dedup counters must use increaseDedup() instead. */ public increase(v: Primitive): CRDTCounter { if (this.isDedup()) { throw new YorkieError( Code.ErrInvalidArgument, 'dedup counter requires actor, use increaseDedup()', ); } /** * `checkNumericType` checks if the given target is a numeric type. */ function checkNumericType(target: Primitive | CRDTCounter): void { if (!target.isNumericType()) { throw new TypeError( `Unsupported type of value: ${typeof target.getValue()}`, ); } } checkNumericType(this); checkNumericType(v); if (this.valueType === CounterType.Long) { const delta = typeof v.getValue() === 'bigint' ? (v.getValue() as bigint) : BigInt(Math.trunc(v.getValue() as number)); this.value = BigInt.asIntN(64, (this.value as bigint) + delta); } else { if (v.getType() === PrimitiveType.Long) { this.value = (this.value as number) + bigintToInt32(v.getValue() as bigint); } else { this.value = bigintToInt32( BigInt( (this.value as number) + removeDecimal(v.getValue() as number), ), ); } } return this; } } ================================================ FILE: packages/sdk/src/document/crdt/element.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { TimeTicket, TimeTicketSize, } from '@yorkie-js/sdk/src/document/time/ticket'; import type * as Devtools from '@yorkie-js/sdk/src/devtools/types'; import { DataSize } from '@yorkie-js/sdk/src/util/resource'; /** * `CRDTElement` represents an element that has `TimeTicket`s. */ export abstract class CRDTElement { private createdAt: TimeTicket; private movedAt?: TimeTicket; private removedAt?: TimeTicket; constructor(createdAt: TimeTicket) { this.createdAt = createdAt; } /** * `getCreatedAt` returns the creation time of this element. */ public getCreatedAt(): TimeTicket { return this.createdAt; } /** * `getID` returns the creation time of this element. */ public getID(): TimeTicket { return this.createdAt; } /** * `getMovedAt` returns the move time of this element. */ public getMovedAt(): TimeTicket | undefined { return this.movedAt; } /** * `getRemovedAt` returns the removal time of this element. */ public getRemovedAt(): TimeTicket | undefined { return this.removedAt; } /** * `getPositionedAt` returns the time of this element when it was positioned * in the document by undo/redo or move operation. */ public getPositionedAt(): TimeTicket { if (!this.movedAt) { return this.createdAt; } return this.movedAt; } /** * `setCreatedAt` sets the creation time of this element manually. */ public setCreatedAt(createdAt: TimeTicket) { this.createdAt = createdAt; } /** * `setMovedAt` sets the move time of this element. */ public setMovedAt(movedAt?: TimeTicket): boolean { if (!this.movedAt || (movedAt && movedAt.after(this.movedAt))) { this.movedAt = movedAt; return true; } return false; } /** * `setRemovedAt` sets the remove time of this element. */ public setRemovedAt(removedAt?: TimeTicket): void { this.removedAt = removedAt; } /** * `remove` removes this element. */ public remove(removedAt?: TimeTicket): boolean { if ( removedAt && removedAt.after(this.createdAt) && (!this.removedAt || removedAt.after(this.removedAt)) ) { // NOTE(chacha912): If it's a CRDTContainer, removedAt is marked only on // the top-level element, without marking all descendant elements. This // enhances the speed of deletion. this.removedAt = removedAt; return true; } return false; } /** * `isRemoved` check if this element was removed. */ public isRemoved(): boolean { return !!this.removedAt; } /** * `getMetaUsage` returns the meta usage of this element. */ public getMetaUsage(): number { let meta = 0; if (this.getCreatedAt()) { meta += TimeTicketSize; } if (this.getMovedAt()) { meta += TimeTicketSize; } if (this.getRemovedAt()) { meta += TimeTicketSize; } return meta; } /** * `getDataSize` returns the data usage of this element. */ abstract getDataSize(): DataSize; abstract toJSON(): string; abstract toSortedJSON(): string; abstract toJSForTest(): Devtools.JSONElement; abstract deepcopy(): CRDTElement; } /** * * `CRDTContainer` represents CRDTArray or CRDtObject. */ export abstract class CRDTContainer extends CRDTElement { constructor(createdAt: TimeTicket) { super(createdAt); } /** * `subPathOf` returns the sub path of the given element. */ abstract subPathOf(createdAt: TimeTicket): string | undefined; abstract purge(element: CRDTElement): void; abstract delete(createdAt: TimeTicket, executedAt: TimeTicket): CRDTElement; abstract getDescendants( callback: (elem: CRDTElement, parent: CRDTContainer) => boolean, ): void; /** * `get` returns the element of the given key or index. This method is called * by users. So it should return undefined if the element is removed. */ abstract get(keyOrIndex: string | number): CRDTElement | undefined; /** * `getByID` returns the element of the given creation time. This method is * called by internal. So it should return the element even if the element is * removed. */ abstract getByID(createdAt: TimeTicket): CRDTElement | undefined; } ================================================ FILE: packages/sdk/src/document/crdt/element_rht.ts ================================================ /* * Copyright 2023 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { TimeTicket } from '@yorkie-js/sdk/src/document/time/ticket'; import { CRDTElement } from '@yorkie-js/sdk/src/document/crdt/element'; import { YorkieError, Code } from '@yorkie-js/sdk/src/util/error'; /** * `ElementRHTNode` is a node of ElementRHT. */ export class ElementRHTNode { private strKey: string; private value: CRDTElement; constructor(strKey: string, value: CRDTElement) { this.strKey = strKey; this.value = value; } /** * `of` creates a instance of ElementRHTNode. */ public static of(strKey: string, value: CRDTElement): ElementRHTNode { return new ElementRHTNode(strKey, value); } /** * `isRemoved` checks whether this value was removed. */ public isRemoved(): boolean { return this.value.isRemoved(); } /** * `getStrKey` returns the key of this node. */ public getStrKey(): string { return this.strKey; } /** * `getValue` return the value(element) of this node */ public getValue(): CRDTElement { return this.value; } /** * `remove` removes a value base on removing time. */ public remove(removedAt: TimeTicket): boolean { return this.value.remove(removedAt); } } /** * ElementRHT is a hashtable with logical clock(Replicated hashtable) * */ export class ElementRHT { private nodeMapByKey: Map; private nodeMapByCreatedAt: Map; constructor() { this.nodeMapByKey = new Map(); this.nodeMapByCreatedAt = new Map(); } /** * `create` creates an instance of ElementRHT. */ public static create(): ElementRHT { return new ElementRHT(); } /** * `set` sets the value of the given key. */ public set( key: string, value: CRDTElement, executedAt: TimeTicket, ): CRDTElement | undefined { let removed; const node = this.nodeMapByKey.get(key); if (!!node && !node.isRemoved() && node.remove(executedAt)) { removed = node.getValue(); } const newNode = ElementRHTNode.of(key, value); this.nodeMapByCreatedAt.set(value.getCreatedAt().toIDString(), newNode); if (!node || executedAt.after(node.getValue().getPositionedAt())) { this.nodeMapByKey.set(key, newNode); value.setMovedAt(executedAt); } else if (!node.isRemoved()) { // The new node loses the LWW conflict — mark it as removed // so it doesn't appear as a duplicate in ownKeys iteration. value.remove(node.getValue().getPositionedAt()); } return removed; } /** * `delete` deletes the Element of the given key. */ public delete(createdAt: TimeTicket, executedAt: TimeTicket): CRDTElement { if (!this.nodeMapByCreatedAt.has(createdAt.toIDString())) { throw new YorkieError( Code.ErrInvalidArgument, `fail to find ${createdAt.toIDString()}`, ); } const node = this.nodeMapByCreatedAt.get(createdAt.toIDString())!; node.remove(executedAt); return node.getValue(); } /** * `subPathOf` returns the sub path of the given element. */ public subPathOf(createdAt: TimeTicket): string | undefined { const node = this.nodeMapByCreatedAt.get(createdAt.toIDString()); if (!node) { return; } return node.getStrKey(); } /** * `purge` physically purge child element. */ public purge(element: CRDTElement): void { const node = this.nodeMapByCreatedAt.get( element.getCreatedAt().toIDString(), ); if (!node) { throw new YorkieError( Code.ErrInvalidArgument, `fail to find ${element.getCreatedAt().toIDString()}`, ); } const nodeByKey = this.nodeMapByKey.get(node.getStrKey()); if (node === nodeByKey) { this.nodeMapByKey.delete(nodeByKey.getStrKey()); } this.nodeMapByCreatedAt.delete(node.getValue().getCreatedAt().toIDString()); } /** * `deleteByKey` deletes the Element of the given key and removed time. */ public deleteByKey( key: string, removedAt: TimeTicket, ): CRDTElement | undefined { const node = this.nodeMapByKey.get(key); if (!node) { return; } if (!node.remove(removedAt)) { return; } return node.getValue(); } /** * `has` returns whether the element exists of the given key or not. */ public has(key: string): boolean { const node = this.nodeMapByKey.get(key); if (!node) { return false; } return !node.isRemoved(); } /** * `getByID` returns the node of the given createdAt. */ public getByID(createdAt: TimeTicket): ElementRHTNode | undefined { return this.nodeMapByCreatedAt.get(createdAt.toIDString()); } /** * `get` returns the node of the given key. */ public get(key: string): ElementRHTNode | undefined { const node = this.nodeMapByKey.get(key); if (!node || node.isRemoved()) { return; } return node; } /** * `deepcopy` creates a deep copy of this ElementRHT. */ public deepcopy(): ElementRHT { const clone = ElementRHT.create(); for (const [, node] of this.nodeMapByCreatedAt) { clone.nodeMapByCreatedAt.set( node.getValue().getCreatedAt().toIDString(), ElementRHTNode.of(node.getStrKey(), node.getValue().deepcopy()), ); } for (const [key, node] of this.nodeMapByKey) { clone.nodeMapByKey.set( key, clone.nodeMapByCreatedAt.get( node.getValue().getCreatedAt().toIDString(), )!, ); } return clone; } // eslint-disable-next-line jsdoc/require-jsdoc public *[Symbol.iterator](): IterableIterator { for (const [, node] of this.nodeMapByCreatedAt) { yield node; } } } ================================================ FILE: packages/sdk/src/document/crdt/gc.ts ================================================ /* * Copyright 2024 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { TimeTicket } from '@yorkie-js/sdk/src/document/time/ticket'; import { DataSize } from '@yorkie-js/sdk/src/util/resource'; /** * `GCPair` is a structure that represents a pair of parent and child for garbage * collection. */ export type GCPair = { parent: GCParent; child: GCChild; }; /** * `GCParent` is an interface for the parent of the garbage collection target. */ export interface GCParent { purge(node: GCChild): void; } /** * `GCChild` is an interface for the child of the garbage collection target. */ export interface GCChild { toIDString(): string; getRemovedAt(): TimeTicket | undefined; getDataSize(): DataSize; } ================================================ FILE: packages/sdk/src/document/crdt/hll.ts ================================================ /* * Copyright 2026 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ const hllPrecision = 14; const hllRegisterCount = 1 << hllPrecision; // xxhash64 constants const prime64x1 = 0x9e3779b185ebca87n; const prime64x2 = 0xc2b2ae3d27d4eb4fn; const prime64x3 = 0x165667b19e3779f9n; const prime64x4 = 0x85ebca77c2b2ae63n; const prime64x5 = 0x27d4eb2f165667c5n; const mask64 = 0xffffffffffffffffn; /** * `HLL` is a HyperLogLog implementation used for approximate cardinality * estimation in Counter dedup mode. It uses xxhash64 hashing (matching the * Go server) and precision 14 (16384 registers, ~16KB, ~2% error). */ export class HLL { private registers: Uint8Array; constructor() { this.registers = new Uint8Array(hllRegisterCount); } /** * `add` adds a value to the HLL and returns true if the register was updated. */ public add(value: string): boolean { const hash = xxhash64(value); const idx = Number(hash >> BigInt(64 - hllPrecision)); const remaining = ((hash << BigInt(hllPrecision)) & mask64) | (1n << BigInt(hllPrecision - 1)); const rho = countLeadingZeros64(remaining) + 1; if (rho > this.registers[idx]) { this.registers[idx] = rho; return true; } return false; } /** * `count` returns the approximate cardinality estimate. */ public count(): number { const m = hllRegisterCount; const alpha = 0.7213 / (1.0 + 1.079 / m); let sum = 0; let zeros = 0; for (let i = 0; i < m; i++) { sum += Math.pow(2, -this.registers[i]); if (this.registers[i] === 0) zeros++; } let estimate = (alpha * m * m) / sum; if (estimate <= 2.5 * m && zeros > 0) { estimate = m * Math.log(m / zeros); } return Math.round(estimate); } /** * `merge` merges another HLL into this one by taking the max of each register. * This operation is commutative, associative, and idempotent. */ public merge(other: HLL): void { for (let i = 0; i < hllRegisterCount; i++) { if (other.registers[i] > this.registers[i]) { this.registers[i] = other.registers[i]; } } } /** * `toBytes` serializes the HLL registers to a byte array. */ public toBytes(): Uint8Array { return new Uint8Array(this.registers); } /** * `restore` restores the HLL registers from a byte array. * Throws if the data length does not match the register count. */ public restore(data: Uint8Array): void { if (data.length !== hllRegisterCount) { throw new Error( `invalid HLL register payload: got ${data.length} bytes, want ${hllRegisterCount}`, ); } this.registers.set(data); } } /** * `xxhash64` computes a 64-bit xxHash of the given string with seed 0. * This implementation produces identical output to Go's cespare/xxhash/v2. */ function xxhash64(input: string): bigint { const buf = new TextEncoder().encode(input); const len = buf.length; let h64: bigint; let offset = 0; const seed = 0n; if (len >= 32) { let v1 = (seed + prime64x1 + prime64x2) & mask64; let v2 = (seed + prime64x2) & mask64; let v3 = seed; let v4 = (seed - prime64x1) & mask64; while (offset <= len - 32) { v1 = xxRound(v1, readU64LE(buf, offset)); offset += 8; v2 = xxRound(v2, readU64LE(buf, offset)); offset += 8; v3 = xxRound(v3, readU64LE(buf, offset)); offset += 8; v4 = xxRound(v4, readU64LE(buf, offset)); offset += 8; } h64 = (rotl64(v1, 1n) + rotl64(v2, 7n) + rotl64(v3, 12n) + rotl64(v4, 18n)) & mask64; h64 = xxMergeRound(h64, v1); h64 = xxMergeRound(h64, v2); h64 = xxMergeRound(h64, v3); h64 = xxMergeRound(h64, v4); } else { h64 = (seed + prime64x5) & mask64; } h64 = (h64 + BigInt(len)) & mask64; while (offset + 8 <= len) { const k1 = xxRound(0n, readU64LE(buf, offset)); h64 = (rotl64(h64 ^ k1, 27n) * prime64x1 + prime64x4) & mask64; offset += 8; } if (offset + 4 <= len) { h64 = h64 ^ ((readU32LE(buf, offset) * prime64x1) & mask64); h64 = (rotl64(h64, 23n) * prime64x2 + prime64x3) & mask64; offset += 4; } while (offset < len) { h64 = h64 ^ ((BigInt(buf[offset]) * prime64x5) & mask64); h64 = (rotl64(h64, 11n) * prime64x1) & mask64; offset++; } h64 = ((h64 ^ (h64 >> 33n)) * prime64x2) & mask64; h64 = ((h64 ^ (h64 >> 29n)) * prime64x3) & mask64; h64 = (h64 ^ (h64 >> 32n)) & mask64; return h64; } /** `rotl64` rotates a 64-bit value left by r bits. */ function rotl64(x: bigint, r: bigint): bigint { return ((x << r) | (x >> (64n - r))) & mask64; } /** `xxRound` performs a single xxhash64 accumulator round. */ function xxRound(acc: bigint, input: bigint): bigint { acc = (acc + input * prime64x2) & mask64; acc = rotl64(acc, 31n); return (acc * prime64x1) & mask64; } /** `xxMergeRound` merges an accumulator lane into the final hash. */ function xxMergeRound(acc: bigint, val: bigint): bigint { val = xxRound(0n, val); acc = (acc ^ val) & mask64; return (acc * prime64x1 + prime64x4) & mask64; } /** `readU64LE` reads a little-endian 64-bit integer from a byte array. */ function readU64LE(buf: Uint8Array, offset: number): bigint { let val = 0n; for (let i = 7; i >= 0; i--) { val = (val << 8n) | BigInt(buf[offset + i]); } return val; } /** `readU32LE` reads a little-endian 32-bit integer from a byte array. */ function readU32LE(buf: Uint8Array, offset: number): bigint { return ( BigInt(buf[offset]) | (BigInt(buf[offset + 1]) << 8n) | (BigInt(buf[offset + 2]) << 16n) | (BigInt(buf[offset + 3]) << 24n) ); } /** `countLeadingZeros64` counts the number of leading zero bits in a 64-bit integer. */ function countLeadingZeros64(x: bigint): number { if (x === 0n) return 64; let n = 0; while ((x & (1n << 63n)) === 0n) { n++; x <<= 1n; } return n; } ================================================ FILE: packages/sdk/src/document/crdt/object.ts ================================================ /* * Copyright 2023 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { escapeString } from '@yorkie-js/sdk/src/document/json/strings'; import { TimeTicket } from '@yorkie-js/sdk/src/document/time/ticket'; import { CRDTContainer, CRDTElement, } from '@yorkie-js/sdk/src/document/crdt/element'; import { ElementRHT } from '@yorkie-js/sdk/src/document/crdt/element_rht'; import type * as Devtools from '@yorkie-js/sdk/src/devtools/types'; import { DataSize } from '@yorkie-js/sdk/src/util/resource'; /** * `CRDTObject` represents an object data type, but unlike regular JSON, * it has `TimeTicket`s which are created by logical clock. * */ export class CRDTObject extends CRDTContainer { private memberNodes: ElementRHT; constructor(createdAt: TimeTicket, memberNodes: ElementRHT) { super(createdAt); this.memberNodes = memberNodes; } /** * `create` creates a new instance of CRDTObject. */ public static create( createdAt: TimeTicket, value?: { [key: string]: CRDTElement }, ): CRDTObject { if (!value) { return new CRDTObject(createdAt, ElementRHT.create()); } const memberNodes = ElementRHT.create(); for (const [k, v] of Object.entries(value)) { memberNodes.set(k, v.deepcopy(), v.getCreatedAt()); } return new CRDTObject(createdAt, memberNodes); } /** * `subPathOf` returns the sub path of the given element. */ public subPathOf(createdAt: TimeTicket): string | undefined { return this.memberNodes.subPathOf(createdAt); } /** * `purge` physically purges the given element. */ public purge(value: CRDTElement): void { this.memberNodes.purge(value); } /** * `set` sets the given element of the given key. */ public set( key: string, value: CRDTElement, executedAt: TimeTicket, ): CRDTElement | undefined { return this.memberNodes.set(key, value, executedAt); } /** * `delete` deletes the element of the given key. */ public delete(createdAt: TimeTicket, executedAt: TimeTicket): CRDTElement { return this.memberNodes.delete(createdAt, executedAt); } /** * `deleteByKey` deletes the element of the given key and execution time. */ public deleteByKey( key: string, executedAt: TimeTicket, ): CRDTElement | undefined { return this.memberNodes.deleteByKey(key, executedAt); } /** * `get` returns the value of the given key. */ public get(key: string): CRDTElement | undefined { const node = this.memberNodes.get(key); return node?.getValue(); } /** * `getByID` returns the element of the given createAt. */ public getByID(createdAt: TimeTicket): CRDTElement | undefined { const node = this.memberNodes.getByID(createdAt); return node?.getValue(); } /** * `has` returns whether the element exists of the given key or not. */ public has(key: string): boolean { return this.memberNodes.has(key); } /** * `getDataSize` returns the data usage of this element. */ public getDataSize(): DataSize { return { data: 0, meta: this.getMetaUsage(), }; } /** * `toJSON` returns the JSON encoding of this object. */ public toJSON(): string { const json = []; for (const [key, value] of this) { json.push(`"${escapeString(key)}":${value.toJSON()}`); } return `{${json.join(',')}}`; } /** * `toJS` returns the JavaScript object of this object. */ public toJS(): any { return JSON.parse(this.toJSON()); } /** * `toJSForTest` returns value with meta data for testing. */ public toJSForTest(): Devtools.JSONElement { const values: Devtools.ContainerValue = {}; for (const [key, elem] of this) { const { createdAt, value, type } = elem.toJSForTest(); values[key] = { key, createdAt, value, type, }; } return { createdAt: this.getCreatedAt().toTestString(), value: values, type: 'YORKIE_OBJECT', }; } /** * `getKeys` returns array of keys in this object. */ public getKeys(): Array { const keys = Array(); for (const [key] of this) { keys.push(key); } return keys; } /** * `toSortedJSON` returns the sorted JSON encoding of this object. */ public toSortedJSON(): string { const keys = new Set(); for (const [key] of this) { keys.add(key); } const json = []; for (const key of Array.from(keys).sort()) { const node = this.memberNodes.get(key)?.getValue(); json.push(`"${escapeString(key)}":${node!.toSortedJSON()}`); } return `{${json.join(',')}}`; } /** * `getRHT` RHTNodes returns the RHTPQMap nodes. */ public getRHT(): ElementRHT { return this.memberNodes; } /** * `deepcopy` copies itself deeply. */ public deepcopy(): CRDTObject { const clone = CRDTObject.create(this.getCreatedAt()); clone.memberNodes = this.memberNodes.deepcopy(); clone.setRemovedAt(this.getRemovedAt()); clone.setMovedAt(this.getMovedAt()); return clone; } /** * `getDescendants` returns the descendants of this object by traversing. */ public getDescendants( callback: (elem: CRDTElement, parent: CRDTContainer) => boolean, ): void { for (const node of this.memberNodes) { const element = node.getValue(); if (callback(element, this)) { return; } if (element instanceof CRDTContainer) { element.getDescendants(callback); } } } /** * `[Symbol.iterator]` returns an iterator for the entries in this object. */ public *[Symbol.iterator](): IterableIterator<[string, CRDTElement]> { for (const node of this.memberNodes) { if (node.isRemoved()) { continue; } yield [node.getStrKey(), node.getValue()]; } } } ================================================ FILE: packages/sdk/src/document/crdt/primitive.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { Code, YorkieError } from '@yorkie-js/sdk/src/util/error'; import { TimeTicket } from '@yorkie-js/sdk/src/document/time/ticket'; import { CRDTElement } from '@yorkie-js/sdk/src/document/crdt/element'; import { escapeString } from '@yorkie-js/sdk/src/document/json/strings'; import type * as Devtools from '@yorkie-js/sdk/src/devtools/types'; import { DataSize } from '@yorkie-js/sdk/src/util/resource'; import { bigintToBytesLE, bigintFromBytesLE, bigintFromBytesLEUnsigned, } from '@yorkie-js/sdk/src/util/number'; export enum PrimitiveType { Null, Boolean, Integer, Long, Double, String, Bytes, Date, } /** * `PrimitiveValue` represents a value of primitive type. Only values of type * included in `PrimitiveValue` can be set to the document. */ export type PrimitiveValue = // eslint-disable-next-line @typescript-eslint/no-restricted-types null | boolean | number | bigint | string | Uint8Array | Date; /** * `Primitive` represents primitive data type including logical clock. * It has a type and a value. */ export class Primitive extends CRDTElement { private valueType: PrimitiveType; private value: PrimitiveValue; constructor(value: PrimitiveValue, createdAt: TimeTicket) { super(createdAt); this.valueType = Primitive.getPrimitiveType(value)!; this.value = value === undefined ? null : value; } /** * `of` creates a new instance of Primitive. */ public static of(value: PrimitiveValue, createdAt: TimeTicket): Primitive { return new Primitive(value, createdAt); } /** * `valueFromBytes` parses the given bytes into value. */ public static valueFromBytes( primitiveType: PrimitiveType, bytes: Uint8Array, ): PrimitiveValue { switch (primitiveType) { case PrimitiveType.Null: return null; case PrimitiveType.Boolean: return bytes[0] ? true : false; case PrimitiveType.Integer: return bytes[0] | (bytes[1] << 8) | (bytes[2] << 16) | (bytes[3] << 24); case PrimitiveType.Double: { const view = new DataView(bytes.buffer); bytes.forEach(function (b, i) { view.setUint8(i, b); }); return view.getFloat64(0, true); } case PrimitiveType.String: return new TextDecoder('utf-8').decode(bytes); case PrimitiveType.Long: return bigintFromBytesLE(bytes); case PrimitiveType.Bytes: return bytes; case PrimitiveType.Date: return new Date(Number(bigintFromBytesLEUnsigned(bytes))); default: throw new YorkieError( Code.ErrUnimplemented, `unimplemented type: ${primitiveType}`, ); } } /** * `getValueSize` returns the size of the value. The size is similar to * the size of primitives in JavaScript. */ private getValueSize(): number { switch (this.valueType) { case PrimitiveType.Null: // Word Size in 64-bit system. return 8; case PrimitiveType.Boolean: return 4; case PrimitiveType.Integer: return 4; case PrimitiveType.Long: return 8; case PrimitiveType.Double: return 8; case PrimitiveType.String: // string is UTF-16 encoded. return (this.value as string).length * 2; case PrimitiveType.Bytes: return (this.value as Uint8Array).length; case PrimitiveType.Date: return 8; default: throw new YorkieError( Code.ErrUnimplemented, `unimplemented type: ${this.valueType}`, ); } } /** * `getDataSize` returns the data usage of this element. */ public getDataSize(): DataSize { return { data: this.getValueSize(), meta: this.getMetaUsage(), }; } /** * `toJSON` returns the JSON encoding of the value. */ public toJSON(): string { if (this.valueType === PrimitiveType.String) { return `"${escapeString(this.value as string)}"`; } if (this.valueType === PrimitiveType.Bytes) { const bytes = this.value as Uint8Array; return `"${btoa(String.fromCharCode(...bytes))}"`; } if (this.valueType === PrimitiveType.Date) { return `"${(this.value as Date).toISOString()}"`; } return `${this.value}`; } /** * `toSortedJSON` returns the sorted JSON encoding of the value. */ public toSortedJSON(): string { return this.toJSON(); } /** * `toJSForTest` returns value with meta data for testing. */ public toJSForTest(): Devtools.JSONElement { return { createdAt: this.getCreatedAt().toTestString(), value: this.value, type: 'YORKIE_PRIMITIVE', }; } /** * `deepcopy` copies itself deeply. */ public deepcopy(): Primitive { const primitive = Primitive.of(this.value, this.getCreatedAt()); primitive.setMovedAt(this.getMovedAt()); primitive.setRemovedAt(this.getRemovedAt()); return primitive; } /** * `getType` returns the type of the value. */ public getType(): PrimitiveType { return this.valueType!; } /** * `getPrimitiveType` returns the primitive type of the value. */ public static getPrimitiveType(value: unknown): PrimitiveType | undefined { switch (typeof value) { case 'undefined': return PrimitiveType.Null; case 'boolean': return PrimitiveType.Boolean; case 'number': if (this.isInteger(value)) { return PrimitiveType.Integer; } else { return PrimitiveType.Double; } case 'bigint': return PrimitiveType.Long; case 'string': return PrimitiveType.String; case 'object': if (value === null) { return PrimitiveType.Null; } else if (value instanceof Uint8Array) { return PrimitiveType.Bytes; } else if (value instanceof Date) { return PrimitiveType.Date; } } return; } /** * `isSupport` check if the given value is supported type. */ public static isSupport(value: unknown): boolean { const primitiveType = Primitive.getPrimitiveType(value); if (primitiveType === undefined) { return false; } return true; } /** * `isInteger` checks if the given number is integer. */ public static isInteger(num: number): boolean { return num % 1 === 0; } /** * `isNumericType` checks numeric type by JSONPrimitive */ public isNumericType(): boolean { const t = this.valueType; return ( t === PrimitiveType.Integer || t === PrimitiveType.Long || t === PrimitiveType.Double ); } /** * `getValue` returns the value of Primitive. */ public getValue(): PrimitiveValue { return this.value; } /** * `toBytes` creates an array representing the value. */ public toBytes(): Uint8Array { switch (this.valueType) { case PrimitiveType.Null: { return new Uint8Array(); } case PrimitiveType.Boolean: { const boolVal = this.value as boolean; return boolVal ? new Uint8Array([1]) : new Uint8Array([0]); } case PrimitiveType.Integer: { const intVal = this.value as number; return new Uint8Array([ intVal & 0xff, (intVal >> 8) & 0xff, (intVal >> 16) & 0xff, (intVal >> 24) & 0xff, ]); } case PrimitiveType.Double: { const doubleVal = this.value as number; const uint8Array = new Uint8Array(8); const view = new DataView(uint8Array.buffer); view.setFloat64(0, doubleVal, true); return uint8Array; } case PrimitiveType.String: { return new TextEncoder().encode(this.value as string); } case PrimitiveType.Long: { return bigintToBytesLE(this.value as bigint); } case PrimitiveType.Bytes: { const bytesVal = this.value as Uint8Array; return bytesVal; } case PrimitiveType.Date: { const dateVal = this.value as Date; return bigintToBytesLE(BigInt(dateVal.getTime())); } default: throw new YorkieError( Code.ErrUnimplemented, `unimplemented type: ${this.valueType}`, ); } } } ================================================ FILE: packages/sdk/src/document/crdt/rga_tree_list.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { SplayNode, SplayTree } from '@yorkie-js/sdk/src/util/splay_tree'; import { InitialTimeTicket, TimeTicket, TimeTicketSize, } from '@yorkie-js/sdk/src/document/time/ticket'; import { CRDTElement } from '@yorkie-js/sdk/src/document/crdt/element'; import { GCChild, GCParent } from '@yorkie-js/sdk/src/document/crdt/gc'; import { Primitive } from '@yorkie-js/sdk/src/document/crdt/primitive'; import { Code, YorkieError } from '@yorkie-js/sdk/src/util/error'; import { DataSize } from '@yorkie-js/sdk/src/util/resource'; /** * `ElementEntry` is the stable identity of an element in the RGATreeList. * It holds the element value and tracks which position node currently owns * it. */ export class ElementEntry { public elem: CRDTElement; public positionNode!: RGATreeListNode; public posMovedAt?: TimeTicket; constructor(elem: CRDTElement) { this.elem = elem; } } /** * `RGATreeListNode` is a position slot in the RGA linked list. * When `elementEntry` is undefined, it is a dead slot abandoned by a move. */ export class RGATreeListNode extends SplayNode implements GCChild { private _elementEntry?: ElementEntry; private _createdAt: TimeTicket; private _removedAt?: TimeTicket; private prev?: RGATreeListNode; private next?: RGATreeListNode; constructor(elem: CRDTElement | undefined, createdAt: TimeTicket) { // SplayNode requires a value; we pass undefined for bare position // nodes. getLength() controls splay weight. super(elem); this._createdAt = createdAt; } /** * `createWithElement` creates a new node that owns an element. */ public static createWithElement(elem: CRDTElement): RGATreeListNode { const entry = new ElementEntry(elem); const node = new RGATreeListNode(elem, elem.getCreatedAt()); entry.positionNode = node; node._elementEntry = entry; return node; } /** * `createBarePosition` creates a position node without an element * (used for move). */ public static createBarePosition(createdAt: TimeTicket): RGATreeListNode { return new RGATreeListNode(undefined, createdAt); } /** * `createAfter` creates a new node with the given element after * the given prev node. */ public static createAfter( prev: RGATreeListNode, elem: CRDTElement, ): RGATreeListNode { const newNode = RGATreeListNode.createWithElement(elem); RGATreeListNode.insertNodeAfter(prev, newNode); return newNode; } /** * `insertNodeAfter` inserts a node after the given prev node. */ public static insertNodeAfter( prev: RGATreeListNode, newNode: RGATreeListNode, ): void { const prevNext = prev.next; prev.next = newNode; newNode.prev = prev; newNode.next = prevNext; if (prevNext) { prevNext.prev = newNode; } } /** * `remove` removes the element based on removing time. */ public remove(removedAt: TimeTicket): boolean { if (!this._elementEntry) { return false; } return this._elementEntry.elem.remove(removedAt); } /** * `getCreatedAt` returns the creation time. For live nodes with * elements, returns the element's createdAt for backward * compatibility. */ public getCreatedAt(): TimeTicket { if (this._elementEntry) { return this._elementEntry.elem.getCreatedAt(); } return this._createdAt; } /** * `getPositionedAt` returns the time this element was positioned. * For live nodes, the position register (posMovedAt) is the source * of truth. For dead nodes (no element), the position node's own * createdAt is used. */ public getPositionedAt(): TimeTicket { if (this._elementEntry) { if (this._elementEntry.posMovedAt) { return this._elementEntry.posMovedAt; } return this._elementEntry.elem.getCreatedAt(); } return this._createdAt; } /** * `release` releases prev and next node. */ public release(): void { if (this.prev) { this.prev.next = this.next; } if (this.next) { this.next.prev = this.prev; } this.prev = undefined; this.next = undefined; } /** * `getLength` returns the length of this node. * Dead nodes (no element) return 0, removed elements return 0. */ public getLength(): number { if (!this._elementEntry || this.isRemoved()) { return 0; } return 1; } /** * `getPrev` returns a previous node. */ public getPrev(): RGATreeListNode | undefined { return this.prev; } /** * `getNext` returns a next node. */ public getNext(): RGATreeListNode | undefined { return this.next; } /** * `getValue` returns the element value. */ public getValue(): CRDTElement { if (!this._elementEntry) { // Should not be called on dead position nodes in normal usage. // Return the super value for compatibility. return this.value as CRDTElement; } return this._elementEntry.elem; } /** * `getElement` returns the element or undefined if dead position. */ public getElement(): CRDTElement | undefined { return this._elementEntry?.elem; } /** * `isRemoved` checks if the value was removed. */ public isRemoved(): boolean { if (!this._elementEntry) { return true; } return this._elementEntry.elem.isRemoved(); } /** * `getElementEntry` returns the element entry. */ public getElementEntry(): ElementEntry | undefined { return this._elementEntry; } /** * `setElementEntry` sets the element entry. */ public setElementEntry(entry: ElementEntry | undefined): void { this._elementEntry = entry; } /** * `getPositionCreatedAt` returns the position node's own createdAt. */ public getPositionCreatedAt(): TimeTicket { return this._createdAt; } /** * `getPositionMovedAt` returns the LWW timestamp of the element's * move into this position. Undefined for insert-created positions. */ public getPositionMovedAt(): TimeTicket | undefined { if (!this._elementEntry) { return undefined; } return this._elementEntry.posMovedAt; } /** * `getRemovedAt` returns the time this dead position node was * removed (for GC). */ public getRemovedAt(): TimeTicket | undefined { return this._removedAt; } /** * `setRemovedAt` sets the removal time of this position node. */ public setRemovedAt(removedAt: TimeTicket): void { this._removedAt = removedAt; } /** * `toIDString` returns a unique identifier for this position node * (for GC). */ public toIDString(): string { return this._createdAt.toIDString(); } /** * `getDataSize` returns the data size of this position node * (for GC). */ public getDataSize(): DataSize { let meta = TimeTicketSize; if (this._removedAt) { meta += TimeTicketSize; } return { data: 0, meta }; } } /** * `RGATreeList` is a replicated growable array with LWW position * register semantics for moves. */ export class RGATreeList implements GCParent { private dummyHead: RGATreeListNode; private last: RGATreeListNode; private nodeMapByIndex: SplayTree; private nodeMapByCreatedAt: Map; private elementMapByCreatedAt: Map; constructor() { const dummyValue = Primitive.of(0, InitialTimeTicket); dummyValue.setRemovedAt(InitialTimeTicket); this.dummyHead = RGATreeListNode.createWithElement(dummyValue); this.last = this.dummyHead; this.nodeMapByIndex = new SplayTree(); this.nodeMapByCreatedAt = new Map(); this.elementMapByCreatedAt = new Map(); this.nodeMapByIndex.insert(this.dummyHead); this.nodeMapByCreatedAt.set( this.dummyHead.getCreatedAt().toIDString(), this.dummyHead, ); } /** * `create` creates instance of RGATreeList. */ public static create(): RGATreeList { return new RGATreeList(); } /** * `length` returns size of RGATreeList. */ public get length(): number { return this.nodeMapByIndex.length; } /** * `findNextBeforeExecutedAt` walks forward from the given node, * skipping nodes positioned after executedAt (RGA insertion rule). */ private findNextBeforeExecutedAt( node: RGATreeListNode, executedAt: TimeTicket, ): RGATreeListNode { while ( node.getNext() && node.getNext()!.getPositionedAt().after(executedAt) ) { node = node.getNext()!; } return node; } private release(node: RGATreeListNode): void { if (this.last === node) { this.last = node.getPrev()!; } node.release(); this.nodeMapByIndex.delete(node); this.nodeMapByCreatedAt.delete(node.getPositionCreatedAt().toIDString()); } /** * `insertAfter` adds a new node with the value after the given * position. prevCreatedAt is a position node identity. Looks up * nodeMapByCreatedAt first, then elementMapByCreatedAt for backward * compatibility. */ public insertAfter( prevCreatedAt: TimeTicket, value: CRDTElement, executedAt: TimeTicket = value.getCreatedAt(), ): RGATreeListNode { let startNode = this.nodeMapByCreatedAt.get(prevCreatedAt.toIDString()); if (!startNode) { const entry = this.elementMapByCreatedAt.get(prevCreatedAt.toIDString()); if (entry) { startNode = entry.positionNode; } } if (!startNode) { throw new YorkieError( Code.ErrInvalidArgument, `cant find the given node: ${prevCreatedAt.toIDString()}`, ); } const prevNode = this.findNextBeforeExecutedAt(startNode, executedAt); const newNode = RGATreeListNode.createAfter(prevNode, value); if (prevNode === this.last) { this.last = newNode; } this.nodeMapByIndex.insertAfter(prevNode, newNode); this.nodeMapByCreatedAt.set(value.getCreatedAt().toIDString(), newNode); this.elementMapByCreatedAt.set( value.getCreatedAt().toIDString(), newNode.getElementEntry()!, ); return newNode; } /** * `insertPositionAfter` creates a bare position node after * resolving position via forward skip (RGA insertion rule). * Used by moveAfter. prevCreatedAt is a POSITION node identity. */ private insertPositionAfter( prevCreatedAt: TimeTicket, executedAt: TimeTicket, ): RGATreeListNode { const startNode = this.nodeMapByCreatedAt.get(prevCreatedAt.toIDString()); if (!startNode) { throw new YorkieError( Code.ErrInvalidArgument, `cant find the given node: ${prevCreatedAt.toIDString()}`, ); } const prevNode = this.findNextBeforeExecutedAt(startNode, executedAt); const newNode = RGATreeListNode.createBarePosition(executedAt); RGATreeListNode.insertNodeAfter(prevNode, newNode); if (prevNode === this.last) { this.last = newNode; } this.nodeMapByIndex.insertAfter(prevNode, newNode); this.nodeMapByCreatedAt.set(executedAt.toIDString(), newNode); return newNode; } /** * `moveAfter` moves the given `createdAt` element after the * `prevCreatedAt` element using LWW position register semantics. * Returns the dead position node (if any) for GC registration. */ public moveAfter( prevCreatedAt: TimeTicket, createdAt: TimeTicket, executedAt: TimeTicket, ): RGATreeListNode | undefined { if (!this.nodeMapByCreatedAt.has(prevCreatedAt.toIDString())) { throw new YorkieError( Code.ErrInvalidArgument, `cant find the given node: ${prevCreatedAt.toIDString()}`, ); } const entry = this.elementMapByCreatedAt.get(createdAt.toIDString()); if (!entry) { throw new YorkieError( Code.ErrInvalidArgument, `cant find the given node: ${createdAt.toIDString()}`, ); } // LWW check: if a newer move already won, this move is // discarded. But we still create the position node so that // operations referencing this move's position can find it. if (entry.posMovedAt && !executedAt.after(entry.posMovedAt)) { if (this.nodeMapByCreatedAt.has(executedAt.toIDString())) { return undefined; } const deadPosNode = this.insertPositionAfter(prevCreatedAt, executedAt); deadPosNode.setRemovedAt(executedAt); this.nodeMapByIndex.splayNode(deadPosNode); return deadPosNode; } // Create a new position node after the target position. const newPosNode = this.insertPositionAfter(prevCreatedAt, executedAt); // Mark old position as dead. const oldPosNode = entry.positionNode; oldPosNode.setElementEntry(undefined); oldPosNode.setRemovedAt(executedAt); this.nodeMapByIndex.splayNode(oldPosNode); // Attach element to new position. newPosNode.setElementEntry(entry); entry.positionNode = newPosNode; entry.posMovedAt = executedAt; entry.elem.setMovedAt(executedAt); this.nodeMapByIndex.splayNode(newPosNode); return oldPosNode; } /** * `insert` adds the given element after the last node. */ public insert(value: CRDTElement): void { this.insertAfter(this.last.getCreatedAt(), value); } /** * `getByID` returns the node of the given creation time. * Checks elementMapByCreatedAt first (for moved elements whose * position node createdAt differs), then nodeMapByCreatedAt. */ public getByID(createdAt: TimeTicket): RGATreeListNode | undefined { const entry = this.elementMapByCreatedAt.get(createdAt.toIDString()); if (entry) { return entry.positionNode; } return this.nodeMapByCreatedAt.get(createdAt.toIDString()); } /** * `subPathOf` returns the sub path of the given element. */ public subPathOf(createdAt: TimeTicket): string | undefined { const entry = this.elementMapByCreatedAt.get(createdAt.toIDString()); if (!entry) { // Fall back to nodeMapByCreatedAt for position node lookup. const node = this.nodeMapByCreatedAt.get(createdAt.toIDString()); if (!node) { return; } return String(this.nodeMapByIndex.indexOf(node)); } return String(this.nodeMapByIndex.indexOf(entry.positionNode)); } /** * `purge` physically purges the given child. Handles both dead * position nodes (GCChild from GCParent path) and CRDTElements * (from CRDTContainer path). */ public purge(child: GCChild | CRDTElement): void { if (child instanceof RGATreeListNode) { // GC of a dead position node. this.release(child); return; } // GC of an element. const element = child as CRDTElement; const entry = this.elementMapByCreatedAt.get( element.getCreatedAt().toIDString(), ); if (!entry) { throw new YorkieError( Code.ErrInvalidArgument, `fail to find the given createdAt: ${element .getCreatedAt() .toIDString()}`, ); } const node = entry.positionNode; this.elementMapByCreatedAt.delete(element.getCreatedAt().toIDString()); this.release(node); } /** * `getByIndex` returns node of the given index. */ public getByIndex(idx: number): RGATreeListNode | undefined { if (idx >= this.length) { return; } const node = this.nodeMapByIndex.findForArray(idx); return node as RGATreeListNode | undefined; } /** * `findPrevCreatedAt` returns the position node's createdAt of the * previous element. This returns a position identity suitable for * use as prevCreatedAt in moveAfter. */ public findPrevCreatedAt(createdAt: TimeTicket): TimeTicket { const entry = this.elementMapByCreatedAt.get(createdAt.toIDString()); if (!entry) { throw new YorkieError( Code.ErrInvalidArgument, `cant find the given node: ${createdAt.toIDString()}`, ); } let node: RGATreeListNode = entry.positionNode; do { node = node.getPrev()!; // Skip dead position nodes (no element). if (!node.getElementEntry()) { continue; } if (this.dummyHead === node || !node.isRemoved()) { break; } } while (node); // Return position node's createdAt (stable identity). return node.getPositionCreatedAt(); } /** * `getPrevCreatedAt` returns the position node's createdAt of the * previous element. Delegates to findPrevCreatedAt. */ public getPrevCreatedAt(createdAt: TimeTicket): TimeTicket { return this.findPrevCreatedAt(createdAt); } /** * `delete` deletes the node of the given creation time. */ public delete(createdAt: TimeTicket, editedAt: TimeTicket): CRDTElement { const entry = this.elementMapByCreatedAt.get(createdAt.toIDString()); if (!entry) { throw new YorkieError( Code.ErrInvalidArgument, `cant find the given node: ${createdAt.toIDString()}`, ); } const node = entry.positionNode; const alreadyRemoved = node.isRemoved(); if (entry.elem.remove(editedAt) && !alreadyRemoved) { this.nodeMapByIndex.splayNode(node); } return entry.elem; } /** * `set` sets the given element at the given creation time. */ public set( createdAt: TimeTicket, element: CRDTElement, executedAt: TimeTicket, ): CRDTElement { if (!this.elementMapByCreatedAt.has(createdAt.toIDString())) { throw new YorkieError( Code.ErrInvalidArgument, `cant find the given node: ${createdAt.toIDString()}`, ); } this.insertAfter(createdAt, element, executedAt); return this.delete(createdAt, executedAt); } /** * `deleteByIndex` deletes the node of the given index. */ public deleteByIndex( index: number, editedAt: TimeTicket, ): CRDTElement | undefined { const node = this.getByIndex(index); if (!node) { return; } if (node.remove(editedAt)) { this.nodeMapByIndex.splayNode(node); } return node.getValue(); } /** * `getHead` returns the value of head elements. */ public getHead(): CRDTElement { return this.dummyHead.getValue(); } /** * `getLast` returns the value of last elements. */ public getLast(): CRDTElement { return this.last.getValue(); } /** * `getLastCreatedAt` returns the position node's createdAt of the * last node in the linked list. This is a position identity * suitable for use as prevCreatedAt. */ public getLastCreatedAt(): TimeTicket { return this.last.getPositionCreatedAt(); } /** * `posCreatedAt` returns the createdAt of the position node * currently holding the element. Used to convert element identity * to position identity. */ public posCreatedAt(elemCreatedAt: TimeTicket): TimeTicket { const entry = this.elementMapByCreatedAt.get(elemCreatedAt.toIDString()); if (!entry) { throw new YorkieError( Code.ErrInvalidArgument, `cant find the given node: ${elemCreatedAt.toIDString()}`, ); } return entry.positionNode.getPositionCreatedAt(); } /** * `addDeadPosition` appends a dead position node during snapshot * restoration. */ public addDeadPosition( posCreatedAt: TimeTicket, removedAt: TimeTicket, ): void { const node = RGATreeListNode.createBarePosition(posCreatedAt); node.setRemovedAt(removedAt); const prevNode = this.last; RGATreeListNode.insertNodeAfter(prevNode, node); this.last = node; this.nodeMapByIndex.insertAfter(prevNode, node); this.nodeMapByCreatedAt.set(posCreatedAt.toIDString(), node); } /** * `addMovedElement` appends an element with explicit position * identity during snapshot restoration. */ public addMovedElement( elem: CRDTElement, posCreatedAt: TimeTicket, posMovedAt: TimeTicket, ): void { const entry = new ElementEntry(elem); entry.posMovedAt = posMovedAt; const node = RGATreeListNode.createBarePosition(posCreatedAt); node.setElementEntry(entry); entry.positionNode = node; const prevNode = this.last; RGATreeListNode.insertNodeAfter(prevNode, node); this.last = node; this.nodeMapByIndex.insertAfter(prevNode, node); this.nodeMapByCreatedAt.set(posCreatedAt.toIDString(), node); this.elementMapByCreatedAt.set(elem.getCreatedAt().toIDString(), entry); } /** * `allNodes` returns all nodes including dead position nodes. */ public allNodes(): Array { const nodes: Array = []; let current = this.dummyHead.getNext(); while (current) { nodes.push(current); current = current.getNext(); } return nodes; } /** * `toTestString` returns a String containing the meta data of the * node id for debugging purpose. */ public toTestString(): string { const json = []; for (const node of this) { if (!node.getElementEntry()) { continue; } const elem = `${node.getCreatedAt().toIDString()}:${node .getValue() .toJSON()}`; if (node.isRemoved()) { json.push(`{${elem}}`); } else { json.push(`[${elem}]`); } } return json.join(''); } // eslint-disable-next-line jsdoc/require-jsdoc public *[Symbol.iterator](): IterableIterator { let node = this.dummyHead.getNext(); while (node) { yield node; node = node.getNext(); } } } ================================================ FILE: packages/sdk/src/document/crdt/rga_tree_split.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { ActorID } from '@yorkie-js/sdk/src/document/time/actor_id'; import { Comparator } from '@yorkie-js/sdk/src/util/comparator'; import { SplayNode, SplayTree } from '@yorkie-js/sdk/src/util/splay_tree'; import { LLRBTree } from '@yorkie-js/sdk/src/util/llrb_tree'; import { InitialTimeTicket, TimeTicket, TimeTicketSize, TimeTicketStruct, } from '@yorkie-js/sdk/src/document/time/ticket'; import { VersionVector } from '@yorkie-js/sdk/src/document/time/version_vector'; import { GCChild, GCPair, GCParent } from '@yorkie-js/sdk/src/document/crdt/gc'; import { Code, YorkieError } from '@yorkie-js/sdk/src/util/error'; import { DataSize, addDataSizes, subDataSize, } from '@yorkie-js/sdk/src/util/resource'; export interface ValueChange { actor: ActorID; from: number; to: number; value?: T; } interface RGATreeSplitValue { length: number; substring(indexStart: number, indexEnd?: number): RGATreeSplitValue; getDataSize(): DataSize; } /** * `RGATreeSplitPosStruct` is a structure represents the meta data of the node pos. * It is used to serialize and deserialize the node pos. */ export type RGATreeSplitPosStruct = { id: RGATreeSplitNodeIDStruct; relativeOffset: number; }; /** * `RGATreeSplitNodeIDStruct` is a structure represents the meta data of the node id. * It is used to serialize and deserialize the node id. */ export type RGATreeSplitNodeIDStruct = { createdAt: TimeTicketStruct; offset: number; }; /** * `RGATreeSplitNodeID` is an ID of RGATreeSplitNode. */ export class RGATreeSplitNodeID { private createdAt: TimeTicket; private offset: number; constructor(createdAt: TimeTicket, offset: number) { this.createdAt = createdAt; this.offset = offset; } /** * `of` creates a instance of RGATreeSplitNodeID. */ public static of(createdAt: TimeTicket, offset: number): RGATreeSplitNodeID { return new RGATreeSplitNodeID(createdAt, offset); } /** * `fromStruct` creates a instance of RGATreeSplitNodeID from the struct. */ public static fromStruct( struct: RGATreeSplitNodeIDStruct, ): RGATreeSplitNodeID { return RGATreeSplitNodeID.of( TimeTicket.fromStruct(struct.createdAt), struct.offset, ); } /** * `getCreatedAt` returns the creation time of this ID. */ public getCreatedAt(): TimeTicket { return this.createdAt; } /** * `getOffset` returns returns the offset of this ID. */ public getOffset(): number { return this.offset; } /** * `equals` returns whether given ID equals to this ID or not. */ public equals(other: RGATreeSplitNodeID): boolean { return ( this.createdAt.compare(other.createdAt) === 0 && this.offset === other.offset ); } /** * `hasSameCreatedAt` returns whether given ID has same creation time with this ID. */ public hasSameCreatedAt(other: RGATreeSplitNodeID): boolean { return this.createdAt.compare(other.createdAt) === 0; } /** * `split` creates a new ID with an offset from this ID. */ public split(offset: number): RGATreeSplitNodeID { return new RGATreeSplitNodeID(this.createdAt, this.offset + offset); } /** * `toStruct` returns the structure of this node id. */ public toStruct(): RGATreeSplitNodeIDStruct { return { createdAt: this.createdAt.toStruct(), offset: this.offset, }; } /** * `toTestString` returns a String containing * the meta data of the node id for debugging purpose. */ public toTestString(): string { return `${this.createdAt.toTestString()}:${this.offset}`; } /** * `toIDString` returns a string that can be used as an ID for this node id. */ public toIDString(): string { return `${this.createdAt.toIDString()}:${this.offset}`; } } const InitialRGATreeSplitNodeID = RGATreeSplitNodeID.of(InitialTimeTicket, 0); /** * `RGATreeSplitPos` is the position of the text inside the node. */ export class RGATreeSplitPos { private id: RGATreeSplitNodeID; private relativeOffset: number; constructor(id: RGATreeSplitNodeID, relativeOffset: number) { this.id = id; this.relativeOffset = relativeOffset; } /** * `of` creates a instance of RGATreeSplitPos. */ public static of( id: RGATreeSplitNodeID, relativeOffset: number, ): RGATreeSplitPos { return new RGATreeSplitPos(id, relativeOffset); } /** * `fromStruct` creates a instance of RGATreeSplitPos from the struct. */ public static fromStruct(struct: RGATreeSplitPosStruct): RGATreeSplitPos { const id = RGATreeSplitNodeID.fromStruct(struct.id); return RGATreeSplitPos.of(id, struct.relativeOffset); } /** * `getID` returns the ID of this RGATreeSplitPos. */ public getID(): RGATreeSplitNodeID { return this.id; } /** * `getRelativeOffset` returns the relative offset of this RGATreeSplitPos. */ public getRelativeOffset(): number { return this.relativeOffset; } /** * `getAbsoluteID` returns the absolute id of this RGATreeSplitPos. */ public getAbsoluteID(): RGATreeSplitNodeID { return RGATreeSplitNodeID.of( this.id.getCreatedAt(), this.id.getOffset() + this.relativeOffset, ); } /** *`toTestString` returns a String containing * the meta data of the position for debugging purpose. */ public toTestString(): string { return `${this.id.toTestString()}:${this.relativeOffset}`; } /** * `toStruct` returns the structure of this node pos. */ public toStruct(): RGATreeSplitPosStruct { return { id: this.id.toStruct(), relativeOffset: this.relativeOffset, }; } /** * `equals` returns whether given pos equal to this pos or not. */ public equals(other: RGATreeSplitPos): boolean { if (!this.id.equals(other.id)) { return false; } return this.relativeOffset === other.relativeOffset; } } export type RGATreeSplitPosRange = [RGATreeSplitPos, RGATreeSplitPos]; /** * `RGATreeSplitNode` is a node of RGATreeSplit. */ export class RGATreeSplitNode extends SplayNode implements GCChild { private id: RGATreeSplitNodeID; private removedAt?: TimeTicket; private prev?: RGATreeSplitNode; private next?: RGATreeSplitNode; private insPrev?: RGATreeSplitNode; private insNext?: RGATreeSplitNode; constructor(id: RGATreeSplitNodeID, value?: T, removedAt?: TimeTicket) { super(value!); this.id = id; this.removedAt = removedAt; } /** * `create` creates a instance of RGATreeSplitNode. */ public static create( id: RGATreeSplitNodeID, value?: T, ): RGATreeSplitNode { return new RGATreeSplitNode(id, value); } /** * `createComparator` creates a function to compare two RGATreeSplitNodeID. */ public static createComparator(): Comparator { return (p1: RGATreeSplitNodeID, p2: RGATreeSplitNodeID): number => { const compare = p1.getCreatedAt().compare(p2.getCreatedAt()); if (compare !== 0) { return compare; } if (p1.getOffset() > p2.getOffset()) { return 1; } else if (p1.getOffset() < p2.getOffset()) { return -1; } return 0; }; } /** * `getID` returns the ID of this RGATreeSplitNode. */ public getID(): RGATreeSplitNodeID { return this.id; } /** * `getCreatedAt` returns creation time of the Id of RGATreeSplitNode. */ public getCreatedAt(): TimeTicket { return this.id.getCreatedAt(); } /** * `getLength` returns the length of this node. */ public getLength(): number { if (this.removedAt) { return 0; } return this.getContentLength(); } /** * `getContentLength` returns the length of this value. */ public getContentLength(): number { return (this.value && this.value.length) || 0; } /** * `getPrev` returns a previous node of this node. */ public getPrev(): RGATreeSplitNode | undefined { return this.prev; } /** * `getNext` returns a next node of this node. */ public getNext(): RGATreeSplitNode | undefined { return this.next; } /** * `getInsPrev` returns a previous node of this node insertion. */ public getInsPrev(): RGATreeSplitNode | undefined { return this.insPrev; } /** * `getInsNext` returns a next node of this node insertion. */ public getInsNext(): RGATreeSplitNode | undefined { return this.insNext; } /** * `getInsPrevID` returns a ID of previous node insertion. */ public getInsPrevID(): RGATreeSplitNodeID { return this.insPrev!.getID(); } /** * `setPrev` sets previous node of this node. */ public setPrev(node?: RGATreeSplitNode): void { this.prev = node; if (node) { node.next = this; } } /** * `setNext` sets next node of this node. */ public setNext(node?: RGATreeSplitNode): void { this.next = node; if (node) { node.prev = this; } } /** * `setInsPrev` sets previous node of this node insertion. */ public setInsPrev(node?: RGATreeSplitNode): void { this.insPrev = node; if (node) { node.insNext = this; } } /** * `setInsNext` sets next node of this node insertion. */ public setInsNext(node?: RGATreeSplitNode): void { this.insNext = node; if (node) { node.insPrev = this; } } /** * `hasNext` checks if next node exists. */ public hasNext(): boolean { return !!this.next; } /** * `hasInsPrev` checks if previous insertion node exists. */ public hasInsPrev(): boolean { return !!this.insPrev; } /** * `isRemoved` checks if removed time exists. */ public isRemoved(): boolean { return !!this.removedAt; } /** * `getRemovedAt` returns the remove time of this node. */ public getRemovedAt(): TimeTicket | undefined { return this.removedAt; } /** * `split` creates a new split node of the given offset. */ public split(offset: number): RGATreeSplitNode { return new RGATreeSplitNode( this.id.split(offset), this.splitValue(offset), this.removedAt, ); } /** * `canDelete` checks if node is able to delete. */ public canRemove( editedAt: TimeTicket, creationKnown: boolean, tombstoneKnown: boolean, ): boolean { // NOTE(hackerwins): Skip if the node's creation was not visible to this // operation. if (!creationKnown) { return false; } if (!this.removedAt) { return true; } // NOTE(hackerwins): Overwrite only if prior tombstone was not known // (concurrent or unseen) and newer. This enables LWW for concurrent deletions. if (!tombstoneKnown && editedAt?.after(this.removedAt)) { return true; } return false; } /** * `canStyle` checks if node is able to set style. */ public canStyle( editedAt: TimeTicket, clientLamportAtChange: bigint, ): boolean { const nodeExisted = this.getCreatedAt().getLamport() <= clientLamportAtChange; return nodeExisted && (!this.removedAt || editedAt.after(this.removedAt)); } /** * `setRemovedAt` sets the remove time of this node. */ public setRemovedAt(removedAt?: TimeTicket): void { this.removedAt = removedAt; } /** * `remove` removes the node of the given edited time. */ public remove(removedAt: TimeTicket) { if (!this.removedAt) { this.removedAt = removedAt; return; } // NOTE: Overwrite only if newer. Callers must ensure overwrite is valid // (e.g., prior tombstone was not known) by checking canRemove beforehand. if (removedAt.after(this.removedAt)) { this.removedAt = removedAt; } } /** * `createRange` creates ranges of RGATreeSplitPos. */ public createPosRange(): RGATreeSplitPosRange { return [ RGATreeSplitPos.of(this.id, 0), RGATreeSplitPos.of(this.id, this.getLength()), ]; } /** * `getData` returns the data of this node. */ public getDataSize(): DataSize { const dataSize = this.value.getDataSize(); if (this.id) { dataSize.meta += TimeTicketSize; } if (this.removedAt) { dataSize.meta += TimeTicketSize; } return dataSize; } /** * `deepcopy` returns a new instance of this RGATreeSplitNode without structural info. */ public deepcopy(): RGATreeSplitNode { return new RGATreeSplitNode(this.id, this.value, this.removedAt); } /** * `toTestString` returns a String containing * the meta data of the node for debugging purpose. */ public toTestString(): string { return `${this.id.toTestString()} ${this.value ? this.value : ''}`; } private splitValue(offset: number): T { const value = this.value; this.value = value.substring(0, offset) as T; return value.substring(offset, value.length) as T; } /** * `toIDString` returns a string that can be used as an ID for this position. */ public toIDString(): string { return this.id.toIDString(); } } /** * `RGATreeSplit` is a block-based list with improved index-based lookup in RGA. * The difference from RGATreeList is that it has data on a block basis to * reduce the size of CRDT metadata. When an edit occurs on a block, * the block is split. * */ export class RGATreeSplit implements GCParent { private head: RGATreeSplitNode; private treeByIndex: SplayTree; private treeByID: LLRBTree>; constructor() { this.head = RGATreeSplitNode.create(InitialRGATreeSplitNodeID); this.treeByIndex = new SplayTree(); this.treeByID = new LLRBTree(RGATreeSplitNode.createComparator()); this.treeByIndex.insert(this.head); this.treeByID.put(this.head.getID(), this.head); } /** * `create` creates a instance RGATreeSplit. */ public static create(): RGATreeSplit { return new RGATreeSplit(); } /** * `edit` does following steps * 1. split nodes with from and to * 2. delete between from and to * 3. insert a new node * 4. add removed node * @param range - range of RGATreeSplitNode * @param editedAt - edited time * @param value - value * @returns `[RGATreeSplitPos, Array, DataSize, Array>, Array]` */ public edit( range: RGATreeSplitPosRange, editedAt: TimeTicket, value?: T, versionVector?: VersionVector, ): [ RGATreeSplitPos, Array, DataSize, Array>, Array, ] { const diff = { data: 0, meta: 0 }; // 01. split nodes with from and to const [toLeft, diffTo, toRight] = this.findNodeWithSplit( range[1], editedAt, ); const [fromLeft, diffFrom, fromRight] = this.findNodeWithSplit( range[0], editedAt, ); addDataSizes(diff, diffTo, diffFrom); // 02. delete between from and to const nodesToDelete = this.findBetween(fromRight, toRight); const [changes, removedNodes] = this.deleteNodes( nodesToDelete, editedAt, versionVector, ); const caretID = toRight ? toRight.getID() : toLeft.getID(); let caretPos = RGATreeSplitPos.of(caretID, 0); // 03. insert a new node if (value) { const idx = this.posToIndex(fromLeft.createPosRange()[1], true); const inserted = this.insertAfter( fromLeft, RGATreeSplitNode.create(RGATreeSplitNodeID.of(editedAt, 0), value), ); addDataSizes(diff, inserted.getDataSize()); if (changes.length && changes[changes.length - 1].from === idx) { changes[changes.length - 1].value = value; } else { changes.push({ actor: editedAt.getActorID(), from: idx, to: idx, value, }); } caretPos = RGATreeSplitPos.of( inserted.getID(), inserted.getContentLength(), ); } // 04. add removed node const pairs: Array = []; const removedValues: Array = []; for (const [, removedNode] of removedNodes) { pairs.push({ parent: this, child: removedNode }); removedValues.push(removedNode.getValue()); } return [caretPos, pairs, diff, changes, removedValues]; } /** * `indexToPos` finds RGATreeSplitPos of given offset. */ public indexToPos(idx: number): RGATreeSplitPos { const [node, offset] = this.treeByIndex.findForText(idx); const splitNode = node as RGATreeSplitNode; return RGATreeSplitPos.of(splitNode.getID(), offset); } /** * `findIndexesFromRange` finds indexes based on range. */ public findIndexesFromRange(range: RGATreeSplitPosRange): [number, number] { const [fromPos, toPos] = range; return [this.posToIndex(fromPos, false), this.posToIndex(toPos, true)]; } /** * `posToIndex` converts the given position to index. */ public posToIndex(pos: RGATreeSplitPos, preferToLeft: boolean): number { const absoluteID = pos.getAbsoluteID(); const node = preferToLeft ? this.findFloorNodePreferToLeft(absoluteID) : this.findFloorNode(absoluteID); if (!node) { throw new YorkieError( Code.ErrInvalidArgument, `the node of the given id should be found: ${absoluteID.toTestString()}`, ); } const index = this.treeByIndex.indexOf(node!); const offset = node!.isRemoved() ? 0 : absoluteID.getOffset() - node!.getID().getOffset(); return index + offset; } /** * `findNode` finds node of given id. */ public findNode(id: RGATreeSplitNodeID): RGATreeSplitNode { return this.findFloorNode(id)!; } /** * `length` returns size of RGATreeSplit. */ public get length(): number { return this.treeByIndex.length; } /** * `getTreeByIndex` returns the tree by index for debugging purpose. */ public getTreeByIndex(): SplayTree { return this.treeByIndex; } /** * `getTreeByID` returns the tree by ID for debugging purpose. */ public getTreeByID(): LLRBTree> { return this.treeByID; } /** * `toString` returns the string encoding of this RGATreeSplit. */ public toString(): string { const str = []; for (const node of this) { if (!node.isRemoved()) { str.push(node.getValue()); } } return str.join(''); } // eslint-disable-next-line jsdoc/require-jsdoc public *[Symbol.iterator](): IterableIterator> { let node = this.head.getNext(); while (node) { yield node; node = node.getNext(); } } /** * `getHead` returns head of RGATreeSplitNode. */ public getHead(): RGATreeSplitNode { return this.head; } /** * `deepcopy` copies itself deeply. */ public deepcopy(): RGATreeSplit { const clone = new RGATreeSplit(); let node = this.head.getNext(); let prev = clone.head; let current; while (node) { current = clone.insertAfter(prev, node.deepcopy()); if (node.hasInsPrev()) { const insPrevNode = clone.findNode(node.getInsPrevID()); current.setInsPrev(insPrevNode); } prev = current; node = node.getNext(); } return clone; } /** * `normalizePos` converts a local position `(id, rel)` into a single * absolute offset measured from the head `(0:0)` of the physical chain. */ public normalizePos(pos: RGATreeSplitPos): RGATreeSplitPos { const node = this.findFloorNode(pos.getID()); if (!node) { throw new YorkieError( Code.ErrInvalidArgument, `the node of the given id should be found: ${pos.getID().toTestString()}`, ); } let total = pos.getRelativeOffset(); let curr = node; let prev = node.getPrev(); while (prev) { total += prev.getLength(); curr = prev; prev = prev.getPrev(); } return RGATreeSplitPos.of(curr.getID(), total); } /** * `refinePos` remaps the given pos to the current split chain. * * - Traverses the physical `next` chain (not `insNext`). * - Counts only live characters: removed nodes are treated as length 0. * - If the given offset exceeds the length of the current node, * it moves forward through `next` nodes, subtracting lengths, * until the offset fits in a live node. * - If it runs out of nodes, it snaps to the end of the last node. * * Example: * Before split: ["12345"](1:2:0), pos = (1:2:0, rel=5) * After split : ["1"](1:2:0) - ["23"](1:2:1) - ["45"](1:2:3) * refinePos(pos) -> (1:2:3, rel=2) * * Example: * ["12"](1:2:0, live) and pos = (1:2:0, rel=4) * refinePos(pos) -> points two chars after "12", * i.e. advances into following nodes, skipping removed ones. */ public refinePos(pos: RGATreeSplitPos): RGATreeSplitPos { let node = this.findFloorNode(pos.getID()); if (!node) { throw new YorkieError( Code.ErrInvalidArgument, `the node of the given id should be found: ${pos.getID().toTestString()}`, ); } let offsetInPart = pos.getRelativeOffset(); let partLen = node.getContentLength(); while (offsetInPart > partLen) { offsetInPart -= partLen; const next: RGATreeSplitNode | undefined = node!.getNext(); if (!next) { return RGATreeSplitPos.of(node.getID(), partLen); } node = next; partLen = node.getLength(); } return RGATreeSplitPos.of(node.getID(), offsetInPart); } /** * `toTestString` returns a String containing the meta data of the node * for debugging purpose. */ public toTestString(): string { const result = []; let node: RGATreeSplitNode | undefined = this.head; while (node) { if (node.isRemoved()) { result.push(`{${node.toTestString()}}`); } else { result.push(`[${node.toTestString()}]`); } node = node.getNext(); } return result.join(''); } /** * `insertAfter` inserts the given node after the given previous node. */ public insertAfter( prevNode: RGATreeSplitNode, newNode: RGATreeSplitNode, ): RGATreeSplitNode { const next = prevNode.getNext(); newNode.setPrev(prevNode); if (next) { next.setPrev(newNode); } this.treeByID.put(newNode.getID(), newNode); this.treeByIndex.insertAfter(prevNode, newNode); return newNode; } /** * `findNodeWithSplit` splits and return nodes of the given position. */ public findNodeWithSplit( pos: RGATreeSplitPos, editedAt: TimeTicket, ): [RGATreeSplitNode, DataSize, RGATreeSplitNode] { const absoluteID = pos.getAbsoluteID(); let node = this.findFloorNodePreferToLeft(absoluteID); const relativeOffset = absoluteID.getOffset() - node.getID().getOffset(); const [, diff] = this.splitNode(node, relativeOffset); while (node.hasNext() && node.getNext()!.getCreatedAt().after(editedAt)) { node = node.getNext()!; } return [node, diff, node.getNext()!]; } private findFloorNodePreferToLeft( id: RGATreeSplitNodeID, ): RGATreeSplitNode { let node = this.findFloorNode(id); if (!node) { throw new YorkieError( Code.ErrInvalidArgument, `the node of the given id should be found: ${id.toTestString()}`, ); } if (id.getOffset() > 0 && node!.getID().getOffset() == id.getOffset()) { // NOTE: InsPrev may not be present due to GC. if (!node!.hasInsPrev()) { return node!; } node = node!.getInsPrev(); } return node!; } private findFloorNode( id: RGATreeSplitNodeID, ): RGATreeSplitNode | undefined { const entry = this.treeByID.floorEntry(id); if (!entry) { return; } if (!entry.key.equals(id) && !entry.key.hasSameCreatedAt(id)) { return; } return entry.value; } /** * `findBetween` returns nodes between fromNode and toNode. */ public findBetween( fromNode: RGATreeSplitNode, toNode: RGATreeSplitNode, ): Array> { const nodes = []; let current: RGATreeSplitNode | undefined = fromNode; while (current && current !== toNode) { nodes.push(current); current = current.getNext(); } return nodes; } private splitNode( node: RGATreeSplitNode, offset: number, ): [RGATreeSplitNode | undefined, DataSize] { const diff = { data: 0, meta: 0 }; if (offset > node.getContentLength()) { throw new YorkieError( Code.ErrInvalidArgument, `offset should be less than or equal to length`, ); } if (offset === 0) { return [node, diff]; } else if (offset === node.getContentLength()) { return [node.getNext(), diff]; } const prvSize = node.getDataSize(); const splitNode = node.split(offset); this.treeByIndex.updateWeight(splitNode); this.insertAfter(node, splitNode); const insNext = node.getInsNext(); if (insNext) { insNext.setInsPrev(splitNode); } splitNode.setInsPrev(node); // NOTE(hackerwins): Calculate data size after node splitting: // Take the sum of the two split nodes(left and right) minus the size of // the original node. This calculates the net metadata overhead added by // the split operation. addDataSizes(diff, node.getDataSize(), splitNode.getDataSize()); subDataSize(diff, prvSize); return [splitNode, diff]; } private deleteNodes( candidates: Array>, editedAt: TimeTicket, vector?: VersionVector, ): [Array>, Map>] { if (!candidates.length) { return [[], new Map()]; } const isLocal = vector === undefined || vector.size() === 0; // 01. Collect nodes to remove and keep. const nodesToRemove: Array> = []; const nodesToKeep: Array | undefined> = []; const [leftEdge, rightEdge] = this.findEdgesOfCandidates(candidates); nodesToKeep.push(leftEdge); for (const node of candidates) { let creationKnown = false; if (isLocal) { creationKnown = true; } else { const createdAtVV = vector?.get(node.getCreatedAt().getActorID()); if (createdAtVV && createdAtVV >= node.getCreatedAt().getLamport()) { creationKnown = true; } } let tombstoneKnown = false; if (node.getRemovedAt()) { const removedAtVV = vector?.get(node.getRemovedAt()!.getActorID()); if (isLocal) { tombstoneKnown = true; } else if ( removedAtVV && removedAtVV >= node.getRemovedAt()!.getLamport() ) { tombstoneKnown = true; } } if (node.canRemove(editedAt, creationKnown, tombstoneKnown)) { nodesToRemove.push(node); } else { nodesToKeep.push(node); } } nodesToKeep.push(rightEdge); // 02. Create value changes with previous indexes before deletion. const changes = this.makeChanges(nodesToKeep, editedAt); // 03. Mark tombstones for removal. const removedNodes = new Map(); for (const node of nodesToRemove) { removedNodes.set(node.getID().toIDString(), node); node.remove(editedAt); } // 04. Clear the index tree of the given deletion boundaries. this.deleteIndexNodes(nodesToKeep); return [changes, removedNodes]; } /** * `findEdgesOfCandidates` finds the edges outside `candidates`, * (which has not already been deleted, or be undefined but not yet implemented) * right edge is undefined means `candidates` contains the end of text. */ private findEdgesOfCandidates( candidates: Array>, ): [RGATreeSplitNode, RGATreeSplitNode | undefined] { return [ candidates[0].getPrev()!, candidates[candidates.length - 1].getNext(), ]; } private makeChanges( boundaries: Array | undefined>, editedAt: TimeTicket, ): Array> { const changes: Array> = []; let fromIdx: number, toIdx: number; for (let i = 0; i < boundaries.length - 1; i++) { const leftBoundary = boundaries[i]; const rightBoundary = boundaries[i + 1]; if (leftBoundary!.getNext() == rightBoundary) { continue; } [fromIdx] = this.findIndexesFromRange( leftBoundary!.getNext()!.createPosRange(), ); if (rightBoundary) { [, toIdx] = this.findIndexesFromRange( rightBoundary.getPrev()!.createPosRange(), ); } else { toIdx = this.treeByIndex.length; } if (fromIdx < toIdx) { changes.push({ actor: editedAt.getActorID(), from: fromIdx, to: toIdx, }); } } return changes.reverse(); } /** * `deleteIndexNodes` clears the index nodes of the given deletion boundaries. * The boundaries mean the nodes that will not be deleted in the range. */ private deleteIndexNodes( boundaries: Array | undefined>, ): void { for (let i = 0; i < boundaries.length - 1; i++) { const leftBoundary = boundaries[i]; const rightBoundary = boundaries[i + 1]; // If there is no node to delete between boundaries, do notting. if (leftBoundary!.getNext() != rightBoundary) { this.treeByIndex.deleteRange(leftBoundary!, rightBoundary); } } } /** * `purge` physically purges the given node from RGATreeSplit. */ public purge(node: RGATreeSplitNode): void { this.treeByIndex.delete(node); this.treeByID.remove(node.getID()); const prev = node.getPrev(); const next = node.getNext(); const insPrev = node.getInsPrev(); const insNext = node.getInsNext(); if (prev) { prev.setNext(next); } if (next) { next.setPrev(prev); } node.setPrev(undefined); node.setNext(undefined); if (insPrev) { insPrev.setInsNext(insNext); } if (insNext) { insNext.setInsPrev(insPrev); } node.setInsPrev(undefined); node.setInsNext(undefined); } } ================================================ FILE: packages/sdk/src/document/crdt/rht.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { TimeTicket, TimeTicketSize, } from '@yorkie-js/sdk/src/document/time/ticket'; import { escapeString } from '@yorkie-js/sdk/src/document/json/strings'; import { GCChild } from '@yorkie-js/sdk/src/document/crdt/gc'; import { DataSize } from '@yorkie-js/sdk/src/util/resource'; /** * `RHTNode` is a node of RHT(Replicated Hashtable). */ export class RHTNode implements GCChild { private key: string; private value: string; private updatedAt: TimeTicket; private _isRemoved: boolean; constructor( key: string, value: string, updatedAt: TimeTicket, isRemoved: boolean, ) { this.key = key; this.value = value; this.updatedAt = updatedAt; this._isRemoved = isRemoved; } /** * `of` creates a new instance of RHTNode. */ public static of( key: string, value: string, createdAt: TimeTicket, isRemoved: boolean, ): RHTNode { return new RHTNode(key, value, createdAt, isRemoved); } /** * `getKey` returns a key of node. */ public getKey(): string { return this.key; } /** * `getValue` returns a value of node. */ public getValue(): string { return this.value; } /** * `getUpdatedAt` returns updated time of node. */ public getUpdatedAt(): TimeTicket { return this.updatedAt; } /** * `isRemoved` returns whether the node has been removed or not. */ public isRemoved(): boolean { return this._isRemoved; } /** * `toIDString` returns the IDString of this node. */ public toIDString(): string { return `${this.updatedAt.toIDString()}:${this.key}`; } /** * `getRemovedAt` returns the time when this node was removed. */ public getRemovedAt(): TimeTicket | undefined { if (this._isRemoved) { return this.updatedAt; } return undefined; } /** * `getDataSize` returns the size of this node. */ public getDataSize(): DataSize { return { data: (this.key.length + this.value.length) * 2, meta: TimeTicketSize, }; } } /** * RHT is replicated hash table by creation time. * For more details about RHT: @see http://csl.skku.edu/papers/jpdc11.pdf */ export class RHT { private nodeMapByKey: Map; private numberOfRemovedElement: number; constructor() { this.nodeMapByKey = new Map(); this.numberOfRemovedElement = 0; } /** * `create` creates a new instance of RHT. */ public static create(): RHT { return new RHT(); } /** * `getNodeMapByKey` returns the hashtable of RHT. */ public getNodeMapByKey(): Map { return this.nodeMapByKey; } /** * `set` sets the value of the given key. */ public set( key: string, value: string, executedAt: TimeTicket, ): [RHTNode | undefined, RHTNode | undefined] { const prev = this.nodeMapByKey.get(key); if (prev && prev.isRemoved() && executedAt.after(prev.getUpdatedAt())) { this.numberOfRemovedElement -= 1; } if (prev === undefined || executedAt.after(prev.getUpdatedAt())) { const node = RHTNode.of(key, value, executedAt, false); this.nodeMapByKey.set(key, node); if (prev !== undefined && prev.isRemoved()) { return [prev, node]; } return [undefined, node]; } if (prev.isRemoved()) { return [prev, undefined]; } return [undefined, undefined]; } /** * SetInternal sets the value of the given key internally. */ public setInternal( key: string, value: string, executedAt: TimeTicket, removed: boolean, ) { const node = RHTNode.of(key, value, executedAt, removed); this.nodeMapByKey.set(key, node); if (removed) { this.numberOfRemovedElement++; } } /** * `remove` removes the Element of the given key. */ public remove(key: string, executedAt: TimeTicket): Array { const prev = this.nodeMapByKey.get(key); const gcNodes: Array = []; if (prev === undefined || executedAt.after(prev.getUpdatedAt())) { if (prev === undefined) { this.numberOfRemovedElement += 1; const node = RHTNode.of(key, '', executedAt, true); this.nodeMapByKey.set(key, node); gcNodes.push(node); return gcNodes; } const alreadyRemoved = prev.isRemoved(); if (!alreadyRemoved) { this.numberOfRemovedElement += 1; } if (alreadyRemoved) { gcNodes.push(prev); } const node = RHTNode.of(key, prev.getValue(), executedAt, true); this.nodeMapByKey.set(key, node); gcNodes.push(node); return gcNodes; } return gcNodes; } /** * `has` returns whether the element exists of the given key or not. */ public has(key: string): boolean { if (this.nodeMapByKey.has(key)) { const node = this.nodeMapByKey.get(key); return node !== undefined && !node.isRemoved(); } return false; } /** * `get` returns the value of the given key. */ public get(key: string): string | undefined { if (!this.nodeMapByKey.has(key)) { return; } return this.nodeMapByKey.get(key)!.getValue(); } /** * `deepcopy` copies itself deeply. */ public deepcopy(): RHT { const rht = new RHT(); for (const [, node] of this.nodeMapByKey) { rht.setInternal( node.getKey(), node.getValue(), node.getUpdatedAt(), node.isRemoved(), ); } return rht; } /** * `toJSON` returns the JSON encoding of this hashtable. */ public toJSON(): string { if (!this.size()) { return '{}'; } const items = []; for (const [key, node] of this.nodeMapByKey) { if (!node.isRemoved()) { items.push(`"${escapeString(key)}":"${escapeString(node.getValue())}"`); } } return `{${items.join(',')}}`; } /** * `size` returns the size of RHT */ public size(): number { return this.nodeMapByKey.size - this.numberOfRemovedElement; } /** * `toObject` returns the object of this hashtable. */ public toObject(): Record { const obj: Record = {}; for (const [key, node] of this.nodeMapByKey) { if (!node.isRemoved()) { obj[key] = node.getValue(); } } return obj; } // eslint-disable-next-line jsdoc/require-jsdoc public *[Symbol.iterator](): IterableIterator { for (const [, node] of this.nodeMapByKey) { yield node as RHTNode; } } /** * `purge` purges the given child node. */ public purge(child: RHTNode) { const node = this.nodeMapByKey.get(child.getKey()); if (node == undefined || node.toIDString() != child.toIDString()) { // TODO(hackerwins): Should we return an error when the child is not found? return; } this.nodeMapByKey.delete(child.getKey()); this.numberOfRemovedElement--; } } ================================================ FILE: packages/sdk/src/document/crdt/root.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { InitialTimeTicket, TimeTicket, TimeTicketSize, } from '@yorkie-js/sdk/src/document/time/ticket'; import { CRDTContainer, CRDTElement, } from '@yorkie-js/sdk/src/document/crdt/element'; import { CRDTObject } from '@yorkie-js/sdk/src/document/crdt/object'; import { GCPair } from '@yorkie-js/sdk/src/document/crdt/gc'; import { CRDTText } from '@yorkie-js/sdk/src/document/crdt/text'; import { CRDTTree } from '@yorkie-js/sdk/src/document/crdt/tree'; import { CRDTArray } from '@yorkie-js/sdk/src/document/crdt/array'; import { Code, YorkieError } from '@yorkie-js/sdk/src/util/error'; import { VersionVector } from '../time/version_vector'; import { DataSize, addDataSizes, subDataSize, DocSize, } from '@yorkie-js/sdk/src/util/resource'; import { RHTNode } from '@yorkie-js/sdk/src/document/crdt/rht'; /** * `CRDTElementPair` is a structure that represents a pair of element and its * parent. It is used to find the parent of a specific element to perform * garbage collection and to find the path of a specific element. */ interface CRDTElementPair { element: CRDTElement; parent?: CRDTContainer; } /** * `RootStats` is a structure that represents the statistics of the root object. */ export interface RootStats { /** * `elements` is the number of elements in the root object. */ elements?: number; /** * `gcElements` is the number of elements that can be garbage collected. */ gcElements?: number; /** * `gcPairs` is the number of garbage collection pairs. */ gcPairs?: number; } /** * `CRDTRoot` is a structure that represents the root. It has a hash table of * all elements to find a specific element when applying remote changes * received from server. * * Every element has a unique `TimeTicket` at creation, which allows us to find * a particular element. */ export class CRDTRoot { /** * `rootObject` is the root object of the document. */ private rootObject: CRDTObject; /** * `elementPairMapByCreatedAt` is a hash table that maps the creation time of * an element to the element itself and its parent. */ private elementPairMapByCreatedAt: Map; /** * `gcElementSetByCreatedAt` is a hash set that contains the creation * time of the removed element. It is used to find the removed element when * executing garbage collection. */ private gcElementSetByCreatedAt: Set; /** * `gcPairMap` is a hash table that maps the IDString of GCChild to the * element itself and its parent. */ private gcPairMap: Map; /** * `docSize` is a structure that represents the size of the document. */ private docSize: DocSize; constructor(rootObject: CRDTObject) { this.rootObject = rootObject; this.elementPairMapByCreatedAt = new Map(); this.gcElementSetByCreatedAt = new Set(); this.gcPairMap = new Map(); this.docSize = { live: { data: 0, meta: 0 }, gc: { data: 0, meta: 0 } }; this.registerElement(rootObject, undefined); rootObject.getDescendants((elem) => { if (elem.getRemovedAt()) { this.registerRemovedElement(elem); } if (elem instanceof CRDTText || elem instanceof CRDTTree) { for (const pair of elem.getGCPairs()) { this.registerGCPair(pair); } } if (elem instanceof CRDTArray) { // Register dead position nodes for GC. for (const node of elem.getAllRGANodes()) { if (!node.getElementEntry() && node.getRemovedAt()) { this.registerGCPair({ parent: elem.getRGATreeList(), child: node, }); } } } return false; }); } /** * `create` creates a new instance of Root. */ public static create(): CRDTRoot { return new CRDTRoot(CRDTObject.create(InitialTimeTicket)); } /** * `findByCreatedAt` returns the element of given creation time. */ public findByCreatedAt(createdAt: TimeTicket): CRDTElement | undefined { const pair = this.elementPairMapByCreatedAt.get(createdAt.toIDString()); if (!pair) { return; } return pair.element; } /** * `findElementPairByCreatedAt` returns the element and parent pair * of given creation time. */ public findElementPairByCreatedAt( createdAt: TimeTicket, ): CRDTElementPair | undefined { return this.elementPairMapByCreatedAt.get(createdAt.toIDString()); } /** * `createSubPaths` creates an array of the sub paths for the given element. */ public createSubPaths(createdAt: TimeTicket): Array { let pair = this.elementPairMapByCreatedAt.get(createdAt.toIDString()); if (!pair) { return []; } const subPaths: Array = []; while (pair.parent) { const createdAt = pair.element.getCreatedAt(); const subPath = pair.parent.subPathOf(createdAt); if (subPath === undefined) { throw new YorkieError( Code.ErrInvalidArgument, `cant find the given element: ${createdAt.toIDString()}`, ); } subPaths.unshift(subPath!); pair = this.elementPairMapByCreatedAt.get( pair.parent.getCreatedAt().toIDString(), )!; } subPaths.unshift('$'); return subPaths; } /** * `createPath` creates path of the given element. */ public createPath(createdAt: TimeTicket): string { return this.createSubPaths(createdAt).join('.'); } /** * `registerElement` registers the given element and its descendants to hash table. */ public registerElement(element: CRDTElement, parent?: CRDTContainer): void { this.elementPairMapByCreatedAt.set(element.getCreatedAt().toIDString(), { parent, element, }); addDataSizes(this.docSize.live, element.getDataSize()); if (element instanceof CRDTContainer) { element.getDescendants((elem, par) => { this.elementPairMapByCreatedAt.set(elem.getCreatedAt().toIDString(), { parent: par, element: elem, }); addDataSizes(this.docSize.live, elem.getDataSize()); return false; }); } } /** * `deregisterElement` deregister the given element and its descendants from hash table. */ public deregisterElement(element: CRDTElement): number { let count = 0; const deregisterElementInternal = (elem: CRDTElement) => { const createdAt = elem.getCreatedAt().toIDString(); subDataSize(this.docSize.gc, elem.getDataSize()); this.elementPairMapByCreatedAt.delete(createdAt); this.gcElementSetByCreatedAt.delete(createdAt); count++; }; deregisterElementInternal(element); if (element instanceof CRDTContainer) { element.getDescendants((e) => { deregisterElementInternal(e); return false; }); } return count; } /** * `registerRemovedElement` registers the given element to the hash set. */ public registerRemovedElement(element: CRDTElement): void { addDataSizes(this.docSize.gc, element.getDataSize()); subDataSize(this.docSize.live, element.getDataSize()); // NOTE(hackerwins): When an element is removed, parent sets the removedAt // to mark the child as removed. this.docSize.live.meta += TimeTicketSize; this.gcElementSetByCreatedAt.add(element.getCreatedAt().toIDString()); } /** * `registerGCPair` registers the given pair to hash table. */ public registerGCPair(pair: GCPair): void { const prev = this.gcPairMap.get(pair.child.toIDString()); if (prev) { this.gcPairMap.delete(pair.child.toIDString()); return; } this.gcPairMap.set(pair.child.toIDString(), pair); const size = this.gcPairMap .get(pair.child.toIDString())! .child.getDataSize(); addDataSizes(this.docSize.gc, size); subDataSize(this.docSize.live, size); // NOTE(hackerwins): In general cases, when removing a node, its size // includes removedAt, so when subtracting the node size from docSize.Live, // we need to subtract the removedAt size. However, RHTNode doesn't have // removedAt, so we don't need to subtract it from the Live size. if (!(pair.child instanceof RHTNode)) { this.docSize.live.meta += TimeTicketSize; } } /** * `getElementMapSize` returns the size of element map. */ public getElementMapSize(): number { return this.elementPairMapByCreatedAt.size; } /** * `getGarbageElementSetSize()` returns the size of removed element set. */ public getGarbageElementSetSize(): number { const seen = new Set(); for (const createdAt of this.gcElementSetByCreatedAt) { seen.add(createdAt); const pair = this.elementPairMapByCreatedAt.get(createdAt)!; if (pair.element instanceof CRDTContainer) { pair.element.getDescendants((el) => { seen.add(el.getCreatedAt().toIDString()); return false; }); } } return seen.size; } /** * `getObject` returns root object. */ public getObject(): CRDTObject { return this.rootObject; } /** * `getGarbageLen` returns length of nodes which can be garbage collected. */ public getGarbageLen(): number { return this.getGarbageElementSetSize() + this.gcPairMap.size; } /** * `getDocSize` returns the size of the document. */ getDocSize(): DocSize { return this.docSize; } /** * `deepcopy` copies itself deeply. */ public deepcopy(): CRDTRoot { return new CRDTRoot(this.rootObject.deepcopy()); } /** * `garbageCollect` purges elements that were removed before the given time. */ public garbageCollect(minSyncedVersionVector: VersionVector): number { let count = 0; for (const createdAt of this.gcElementSetByCreatedAt) { const pair = this.elementPairMapByCreatedAt.get(createdAt)!; const removedAt = pair.element.getRemovedAt(); if (removedAt && minSyncedVersionVector?.afterOrEqual(removedAt)) { pair.parent!.purge(pair.element); count += this.deregisterElement(pair.element); } } for (const [, pair] of this.gcPairMap) { const removedAt = pair.child.getRemovedAt(); if (removedAt && minSyncedVersionVector?.afterOrEqual(removedAt)) { pair.parent.purge(pair.child); subDataSize(this.docSize.gc, pair.child.getDataSize()); this.gcPairMap.delete(pair.child.toIDString()); count += 1; } } return count; } /** * `toJSON` returns the JSON encoding of this root object. */ public toJSON(): string { return this.rootObject.toJSON(); } /** * `toSortedJSON` returns the sorted JSON encoding of this root object. */ public toSortedJSON(): string { return this.rootObject.toSortedJSON(); } /** * `getStats` returns the current statistics of the root object. * This includes counts of various types of elements and structural information. */ public getStats(): RootStats { return { elements: this.getElementMapSize(), gcPairs: this.gcPairMap.size, gcElements: this.getGarbageElementSetSize(), }; } /** * `acc` accumulates the given DataSize to Live. */ public acc(diff: DataSize) { addDataSizes(this.docSize.live, diff); } /** * `getGCElementPairs` returns an iterator for all GC element pairs. * This is similar to Go's GCElementPairMap() functionality. */ public *getGCElementPairs(): IterableIterator { for (const createdAt of this.gcElementSetByCreatedAt) { const pair = this.elementPairMapByCreatedAt.get(createdAt); if (pair) { yield pair; } } } } ================================================ FILE: packages/sdk/src/document/crdt/text.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { MaxLamport, TimeTicket, } from '@yorkie-js/sdk/src/document/time/ticket'; import { VersionVector } from '@yorkie-js/sdk/src/document/time/version_vector'; import { Indexable } from '@yorkie-js/sdk/src/document/document'; import { RHT, RHTNode } from '@yorkie-js/sdk/src/document/crdt/rht'; import { CRDTElement } from '@yorkie-js/sdk/src/document/crdt/element'; import { RGATreeSplit, RGATreeSplitNode, RGATreeSplitNodeID, RGATreeSplitPos, RGATreeSplitPosRange, ValueChange, } from '@yorkie-js/sdk/src/document/crdt/rga_tree_split'; import { escapeString } from '@yorkie-js/sdk/src/document/json/strings'; import { parseObjectValues } from '@yorkie-js/sdk/src/util/object'; import type * as Devtools from '@yorkie-js/sdk/src/devtools/types'; import { GCChild, GCPair } from '@yorkie-js/sdk/src/document/crdt/gc'; import { SplayTree } from '@yorkie-js/sdk/src/util/splay_tree'; import { LLRBTree } from '@yorkie-js/sdk/src/util/llrb_tree'; import { DataSize, addDataSizes } from '@yorkie-js/sdk/src/util/resource'; /** * `TextChangeType` is the type of TextChange. * */ enum TextChangeType { Content = 'content', Style = 'style', } /** * `TextValueType` is a value of Text * which has a attributes that expresses the text style. */ export interface TextValueType { attributes?: A; content?: string; } /** * `TextChange` represents the changes to the text * when executing the edit, setstyle methods. */ interface TextChange extends ValueChange> { type: TextChangeType; } /** * `CRDTTextValue` is a value of Text * which has a attributes that expresses the text style. * Attributes are represented by RHT. * */ export class CRDTTextValue { private attributes: RHT; private content: string; constructor(content: string) { this.attributes = RHT.create(); this.content = content; } /** * `create` creates a instance of CRDTTextValue. */ public static create(content: string): CRDTTextValue { return new CRDTTextValue(content); } /** * `length` returns the length of value. */ public get length(): number { return this.content.length; } /** * `substring` returns a sub-string value of the given range. */ public substring(indexStart: number, indexEnd: number): CRDTTextValue { const value = new CRDTTextValue( this.content.substring(indexStart, indexEnd), ); value.attributes = this.attributes.deepcopy(); return value; } /** * `setAttr` sets attribute of the given key, updated time and value. */ public setAttr( key: string, content: string, updatedAt: TimeTicket, ): [RHTNode | undefined, RHTNode | undefined] { return this.attributes.set(key, content, updatedAt); } /** * `getAttr` returns the attributes of this value. */ public getAttrs(): RHT { return this.attributes; } /** * `toString` returns the string representation of this value. */ public toString(): string { return this.content; } /** * `getDataSize` returns the data usage of this value. */ public getDataSize(): DataSize { const dataSize = { data: 0, meta: 0 }; dataSize.data += this.content.length * 2; for (const node of this.attributes) { const size = node.getDataSize(); dataSize.meta += size.meta; dataSize.data += size.data; } return dataSize; } /** * `toJSON` returns the JSON encoding of this value. */ public toJSON(): string { const content = escapeString(this.content); const attrsObj = this.attributes.toObject(); const attrs = []; for (const [key, v] of Object.entries(attrsObj)) { const value = JSON.parse(v); const item = typeof value === 'string' ? `"${escapeString(key)}":"${escapeString(value)}"` : `"${escapeString(key)}":${String(value)}`; attrs.push(item); } attrs.sort(); if (attrs.length === 0) { return `{"val":"${content}"}`; } return `{"attrs":{${attrs.join(',')}},"val":"${content}"}`; } /** * `getAttributes` returns the attributes of this value. */ public getAttributes(): Record { return this.attributes.toObject(); } /** * `getContent` returns the internal content. */ public getContent(): string { return this.content; } /** * `purge` purges the given child node. */ public purge(node: GCChild): void { if (this.attributes && node instanceof RHTNode) { this.attributes.purge(node); } } /** * `getGCPairs` returns the pairs of GC. */ public getGCPairs(): Array { const pairs = []; for (const node of this.attributes) { if (node.getRemovedAt()) { pairs.push({ parent: this, child: node }); } } return pairs; } } /** * `CRDTText` is a custom CRDT data type to represent the contents of text editors. * */ export class CRDTText extends CRDTElement { private rgaTreeSplit: RGATreeSplit; constructor( rgaTreeSplit: RGATreeSplit, createdAt: TimeTicket, ) { super(createdAt); this.rgaTreeSplit = rgaTreeSplit; } /** * `create` a instance of Text. */ public static create( rgaTreeSplit: RGATreeSplit, createdAt: TimeTicket, ): CRDTText { return new CRDTText(rgaTreeSplit, createdAt); } /** * `edit` edits the given range with the given value and attributes. */ public edit( range: RGATreeSplitPosRange, content: string, editedAt: TimeTicket, attributes?: Record, versionVector?: VersionVector, ): [ Array>, Array, DataSize, RGATreeSplitPosRange, Array, ] { const crdtTextValue = content ? CRDTTextValue.create(content) : undefined; if (crdtTextValue && attributes) { for (const [k, v] of Object.entries(attributes)) { crdtTextValue.setAttr(k, v, editedAt); } } const [caretPos, pairs, diff, valueChanges, removedValues] = this.rgaTreeSplit.edit(range, editedAt, crdtTextValue, versionVector); const changes: Array> = valueChanges.map((change) => ({ ...change, value: change.value ? { attributes: parseObjectValues(change.value.getAttributes()), content: change.value.getContent(), } : { attributes: undefined, content: '', }, type: TextChangeType.Content, })); return [changes, pairs, diff, [caretPos, caretPos], removedValues]; } /** * `setStyle` applies the style of the given range. * 01. split nodes with from and to * 02. style nodes between from and to * * @param range - range of RGATreeSplitNode * @param attributes - style attributes * @param editedAt - edited time */ public setStyle( range: RGATreeSplitPosRange, attributes: Record, editedAt: TimeTicket, versionVector?: VersionVector, ): [ Array, DataSize, Array>, Map, Array, ] { const diff = { data: 0, meta: 0 }; // 01. split nodes with from and to const [, diffTo, toRight] = this.rgaTreeSplit.findNodeWithSplit( range[1], editedAt, ); const [, diffFrom, fromRight] = this.rgaTreeSplit.findNodeWithSplit( range[0], editedAt, ); addDataSizes(diff, diffTo, diffFrom); // 02. style nodes between from and to const changes: Array> = []; const nodes = this.rgaTreeSplit.findBetween(fromRight, toRight); const toBeStyleds: Array> = []; for (const node of nodes) { const actorID = node.getCreatedAt().getActorID(); let clientLamportAtChange = MaxLamport; // Local edit if (versionVector != undefined) { clientLamportAtChange = versionVector!.get(actorID) ? versionVector!.get(actorID)! : 0n; } if (node.canStyle(editedAt, clientLamportAtChange)) { toBeStyleds.push(node); } } // Capture previous attribute values from the first styled node for reverse op const prevAttributes = new Map(); const attributesToRemove: Array = []; let capturedPrev = false; const pairs: Array = []; for (const node of toBeStyleds) { if (node.isRemoved()) { continue; } if (!capturedPrev) { for (const key of Object.keys(attributes)) { const attrs = node.getValue().getAttrs(); if (attrs.has(key)) { prevAttributes.set(key, attrs.get(key)!); } else { attributesToRemove.push(key); } } capturedPrev = true; } const [fromIdx, toIdx] = this.rgaTreeSplit.findIndexesFromRange( node.createPosRange(), ); changes.push({ type: TextChangeType.Style, actor: editedAt.getActorID(), from: fromIdx, to: toIdx, value: { attributes: parseObjectValues(attributes) as A, }, }); for (const [key, value] of Object.entries(attributes)) { const [prev] = node.getValue().setAttr(key, value, editedAt); if (prev !== undefined) { pairs.push({ parent: node.getValue(), child: prev }); } const curr = node.getValue().getAttrs().getNodeMapByKey().get(key); if (curr !== undefined) { addDataSizes(diff, curr.getDataSize()); } } } return [pairs, diff, changes, prevAttributes, attributesToRemove]; } /** * `removeStyle` removes the style attributes of the given range. * Returns previous attribute values (from first styled node) for reverse operation. */ public removeStyle( range: RGATreeSplitPosRange, attributesToRemove: Array, editedAt: TimeTicket, versionVector?: VersionVector, ): [Array, DataSize, Array>, Map] { const diff = { data: 0, meta: 0 }; // 01. split nodes with from and to const [, diffTo, toRight] = this.rgaTreeSplit.findNodeWithSplit( range[1], editedAt, ); const [, diffFrom, fromRight] = this.rgaTreeSplit.findNodeWithSplit( range[0], editedAt, ); addDataSizes(diff, diffTo, diffFrom); // 02. find nodes to remove style from const changes: Array> = []; const nodes = this.rgaTreeSplit.findBetween(fromRight, toRight); const toBeStyleds: Array> = []; for (const node of nodes) { const actorID = node.getCreatedAt().getActorID(); let clientLamportAtChange = MaxLamport; if (versionVector != undefined) { clientLamportAtChange = versionVector!.get(actorID) ? versionVector!.get(actorID)! : 0n; } if (node.canStyle(editedAt, clientLamportAtChange)) { toBeStyleds.push(node); } } // Capture previous attribute values from the first styled node for reverse op const prevAttributes = new Map(); let capturedPrev = false; const pairs: Array = []; for (const node of toBeStyleds) { if (node.isRemoved()) { continue; } if (!capturedPrev) { for (const key of attributesToRemove) { const attrs = node.getValue().getAttrs(); if (attrs.has(key)) { prevAttributes.set(key, attrs.get(key)!); } } capturedPrev = true; } const [fromIdx, toIdx] = this.rgaTreeSplit.findIndexesFromRange( node.createPosRange(), ); const removedAttributes: Record = {}; for (const key of attributesToRemove) { removedAttributes[key] = null; // null signals attribute removal to editors (e.g., Quill) } changes.push({ type: TextChangeType.Style, actor: editedAt.getActorID(), from: fromIdx, to: toIdx, value: { attributes: removedAttributes as A, }, }); for (const key of attributesToRemove) { const gcNodes = node.getValue().getAttrs().remove(key, editedAt); for (const rhtNode of gcNodes) { pairs.push({ parent: node.getValue(), child: rhtNode }); addDataSizes(diff, rhtNode.getDataSize()); } } } return [pairs, diff, changes, prevAttributes]; } /** * `indexRangeToPosRange` returns the position range of the given index range. */ public indexRangeToPosRange( fromIdx: number, toIdx: number, ): RGATreeSplitPosRange { const fromPos = this.rgaTreeSplit.indexToPos(fromIdx); if (fromIdx === toIdx) { return [fromPos, fromPos]; } return [fromPos, this.rgaTreeSplit.indexToPos(toIdx)]; } /** * `length` returns size of RGATreeList. */ public get length(): number { return this.rgaTreeSplit.length; } /** * `getTreeByIndex` returns the tree by index for debugging. */ public getTreeByIndex(): SplayTree { return this.rgaTreeSplit.getTreeByIndex(); } /** * `getTreeByID` returns the tree by ID for debugging. */ public getTreeByID(): LLRBTree< RGATreeSplitNodeID, RGATreeSplitNode > { return this.rgaTreeSplit.getTreeByID(); } /** * `refinePos` refines the given RGATreeSplitPos. */ public refinePos(pos: RGATreeSplitPos): RGATreeSplitPos { return this.rgaTreeSplit.refinePos(pos); } /** * `normalizePos` normalizes the given RGATreeSplitPos. */ public normalizePos(pos: RGATreeSplitPos): RGATreeSplitPos { return this.rgaTreeSplit.normalizePos(pos); } /** * `getDataSize` returns the data usage of this element. */ public getDataSize(): DataSize { const dataSize = { data: 0, meta: 0 }; for (const node of this.rgaTreeSplit) { if (node.isRemoved()) { continue; } const size = node.getDataSize(); dataSize.data += size.data; dataSize.meta += size.meta; } return { data: dataSize.data, meta: dataSize.meta + this.getMetaUsage(), }; } /** * `toJSON` returns the JSON encoding of this text. */ public toJSON(): string { const json = []; for (const node of this.rgaTreeSplit) { if (!node.isRemoved()) { json.push(node.getValue().toJSON()); } } return `[${json.join(',')}]`; } /** * `toSortedJSON` returns the sorted JSON encoding of this text. */ public toSortedJSON(): string { return this.toJSON(); } /** * `toJSForTest` returns value with meta data for testing. */ public toJSForTest(): Devtools.JSONElement { return { createdAt: this.getCreatedAt().toTestString(), value: JSON.parse(this.toJSON()), type: 'YORKIE_TEXT', }; } /** * `toString` returns the string representation of this text. */ public toString(): string { return this.rgaTreeSplit.toString(); } /** * `values` returns the content-attributes pair array of this text. */ public values(): Array> { const values = []; for (const node of this.rgaTreeSplit) { if (!node.isRemoved()) { const value = node.getValue(); values.push({ attributes: parseObjectValues(value.getAttributes()), content: value.getContent(), }); } } return values; } /** * `getRGATreeSplit` returns rgaTreeSplit. */ public getRGATreeSplit(): RGATreeSplit { return this.rgaTreeSplit; } /** * `toTestString` returns a String containing the meta data of this value * for debugging purpose. */ public toTestString(): string { return this.rgaTreeSplit.toTestString(); } /** * `deepcopy` copies itself deeply. */ public deepcopy(): CRDTText { const clone = new CRDTText( this.rgaTreeSplit.deepcopy(), this.getCreatedAt(), ); clone.setRemovedAt(this.getRemovedAt()); clone.setMovedAt(this.getMovedAt()); return clone; } /** * `findIndexesFromRange` returns pair of integer offsets of the given range. */ public findIndexesFromRange(range: RGATreeSplitPosRange): [number, number] { return this.rgaTreeSplit.findIndexesFromRange(range); } /** * `posToIndex` converts the given position to index. */ public posToIndex( pos: RGATreeSplitPos, preferToLeft: boolean = false, ): number { return this.rgaTreeSplit.posToIndex(pos, preferToLeft); } /** * `getGCPairs` returns the pairs of GC. */ public getGCPairs(): Array { const pairs = []; for (const node of this.rgaTreeSplit) { if (node.getRemovedAt()) { pairs.push({ parent: this.rgaTreeSplit, child: node }); } for (const p of node.getValue().getGCPairs()) { pairs.push(p); } } return pairs; } } ================================================ FILE: packages/sdk/src/document/crdt/tree.ts ================================================ /* * Copyright 2023 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { MaxLamport, TimeTicket, TimeTicketSize, TimeTicketStruct, } from '@yorkie-js/sdk/src/document/time/ticket'; import { VersionVector } from '@yorkie-js/sdk/src/document/time/version_vector'; import { CRDTElement } from '@yorkie-js/sdk/src/document/crdt/element'; import type { DefaultTextType, TreeNodeType, TreeToken, } from '@yorkie-js/sdk/src/util/index_tree'; import { IndexTree, IndexTreeNode, TokenType, traverseAll, TreePos, } from '@yorkie-js/sdk/src/util/index_tree'; import { RHT, RHTNode } from './rht'; import { ActorID } from './../time/actor_id'; import { LLRBTree } from '@yorkie-js/sdk/src/util/llrb_tree'; import { Comparator } from '@yorkie-js/sdk/src/util/comparator'; import { parseObjectValues } from '@yorkie-js/sdk/src/util/object'; import { Indexable } from '@yorkie-js/sdk/src/document/document'; import type * as Devtools from '@yorkie-js/sdk/src/devtools/types'; import { escapeString } from '@yorkie-js/sdk/src/document/json/strings'; import { GCChild, GCPair, GCParent } from '@yorkie-js/sdk/src/document/crdt/gc'; import { Code, YorkieError } from '@yorkie-js/sdk/src/util/error'; import { DataSize, addDataSizes } from '../../util/resource'; /** * `TreeNode` represents a node in the tree. */ export type TreeNode = TextNode | ElementNode; /** * `ElementNode` represents an element node. It has an attributes and children. */ export type ElementNode = { type: TreeNodeType; attributes?: A; children: Array; }; /** * `TextNode` represents a text node. It has a string value. */ export type TextNode = { type: typeof DefaultTextType; value: string; }; /** * `TreeNodeForTest` represents the JSON representation of a node in the tree. * It is used for testing. */ export type TreeNodeForTest = TreeNode & { children?: Array; visibleSize: number; isRemoved: boolean; }; /** * `TreeChangeType` represents the type of change in the tree. */ export enum TreeChangeType { Content = 'content', Style = 'style', RemoveStyle = 'removeStyle', } /** * `TreeChange` represents the change in the tree. */ export type TreeChange = | { actor: ActorID; type: TreeChangeType.Content; from: number; to: number; fromPath: Array; toPath: Array; value?: Array; splitLevel?: number; } | { actor: ActorID; type: TreeChangeType.Style; from: number; to: number; fromPath: Array; toPath: Array; value: { [key: string]: string }; splitLevel?: number; } | { actor: ActorID; type: TreeChangeType.RemoveStyle; from: number; to: number; fromPath: Array; toPath: Array; value?: Array; splitLevel?: number; }; /** * `CRDTTreePos` represent a position in the tree. It is used to identify a * position in the tree. It is composed of the parent ID and the left sibling * ID. If there's no left sibling in parent's children, then left sibling is * parent. */ export class CRDTTreePos { private parentID: CRDTTreeNodeID; private leftSiblingID: CRDTTreeNodeID; constructor(parentID: CRDTTreeNodeID, leftSiblingID: CRDTTreeNodeID) { this.parentID = parentID; this.leftSiblingID = leftSiblingID; } /** * `of` creates a new instance of CRDTTreePos. */ public static of(parentID: CRDTTreeNodeID, leftSiblingID: CRDTTreeNodeID) { return new CRDTTreePos(parentID, leftSiblingID); } /** * `fromTreePos` creates a new instance of CRDTTreePos from the given TreePos. */ public static fromTreePos(pos: TreePos): CRDTTreePos { const { offset } = pos; let { node } = pos; let leftNode; if (node.isText) { if (node.parent!.children[0] === node && offset === 0) { leftNode = node.parent!; } else { leftNode = node; } node = node.parent!; } else { if (offset === 0) { leftNode = node; } else { leftNode = node.children[offset - 1]; } } return CRDTTreePos.of( node.id, CRDTTreeNodeID.of(leftNode.getCreatedAt(), leftNode.getOffset() + offset), ); } /** * `getParentID` returns the parent ID. */ public getParentID() { return this.parentID; } /** * `fromStruct` creates a new instance of CRDTTreeNodeID from the given struct. */ public static fromStruct(struct: CRDTTreePosStruct): CRDTTreePos { return CRDTTreePos.of( CRDTTreeNodeID.of( TimeTicket.fromStruct(struct.parentID.createdAt), struct.parentID.offset, ), CRDTTreeNodeID.of( TimeTicket.fromStruct(struct.leftSiblingID.createdAt), struct.leftSiblingID.offset, ), ); } /** * `toStruct` returns the structure of this position. */ public toStruct(): CRDTTreePosStruct { return { parentID: { createdAt: this.getParentID().getCreatedAt().toStruct(), offset: this.getParentID().getOffset(), }, leftSiblingID: { createdAt: this.getLeftSiblingID().getCreatedAt().toStruct(), offset: this.getLeftSiblingID().getOffset(), }, }; } /** * `toTreeNodePair` converts the pos to parent and left sibling nodes. * If the position points to the middle of a node, then the left sibling node * is the node that contains the position. Otherwise, the left sibling node is * the node that is located at the left of the position. */ public toTreeNodePair(tree: CRDTTree): TreeNodePair { const parentID = this.getParentID(); const leftSiblingID = this.getLeftSiblingID(); const parentNode = tree.findFloorNode(parentID); let leftNode = tree.findFloorNode(leftSiblingID); if (!parentNode || !leftNode) { throw new YorkieError( Code.ErrRefused, `cannot find node of CRDTTreePos(${parentID.toTestString()}, ${leftSiblingID.toTestString()})`, ); } /** * NOTE(hackerwins): If the left node and the parent node are the same, * it means that the position is the left-most of the parent node. * We need to skip finding the left of the position. */ if ( !leftSiblingID.equals(parentID) && leftSiblingID.getOffset() > 0 && leftSiblingID.getOffset() === leftNode.id.getOffset() && leftNode.insPrevID ) { leftNode = tree.findFloorNode(leftNode.insPrevID)!; } return [parentNode, leftNode]; } /** * `getLeftSiblingID` returns the left sibling ID. */ public getLeftSiblingID() { return this.leftSiblingID; } /** * `equals` returns whether the given pos equals to this or not. */ public equals(other: CRDTTreePos): boolean { return ( this.getParentID() .getCreatedAt() .equals(other.getParentID().getCreatedAt()) && this.getParentID().getOffset() === other.getParentID().getOffset() && this.getLeftSiblingID() .getCreatedAt() .equals(other.getLeftSiblingID().getCreatedAt()) && this.getLeftSiblingID().getOffset() === other.getLeftSiblingID().getOffset() ); } } /** * `CRDTTreeNodeID` represent an ID of a node in the tree. It is used to * identify a node in the tree. It is composed of the creation time of the node * and the offset from the beginning of the node if the node is split. * * Some of replicas may have nodes that are not split yet. In this case, we can * use `map.floorEntry()` to find the adjacent node. */ export class CRDTTreeNodeID { /** * `createdAt` is the creation time of the node. */ private createdAt: TimeTicket; /** * `offset` is the distance from the beginning of the node if the node is * split. */ private offset: number; constructor(createdAt: TimeTicket, offset: number) { this.createdAt = createdAt; this.offset = offset; } /** * `of` creates a new instance of CRDTTreeNodeID. */ public static of(createdAt: TimeTicket, offset: number): CRDTTreeNodeID { return new CRDTTreeNodeID(createdAt, offset); } /** * `fromStruct` creates a new instance of CRDTTreeNodeID from the given struct. */ public static fromStruct(struct: CRDTTreeNodeIDStruct): CRDTTreeNodeID { return CRDTTreeNodeID.of( TimeTicket.fromStruct(struct.createdAt), struct.offset, ); } /** * `createComparator` creates a comparator for CRDTTreeNodeID. */ public static createComparator(): Comparator { return (idA: CRDTTreeNodeID, idB: CRDTTreeNodeID) => { const compare = idA.getCreatedAt().compare(idB.getCreatedAt()); if (compare !== 0) { return compare; } if (idA.getOffset() > idB.getOffset()) { return 1; } else if (idA.getOffset() < idB.getOffset()) { return -1; } return 0; }; } /** * `getCreatedAt` returns the creation time of the node. */ public getCreatedAt(): TimeTicket { return this.createdAt; } /** * `equals` returns whether given ID equals to this ID or not. */ public equals(other: CRDTTreeNodeID): boolean { return ( this.createdAt.compare(other.createdAt) === 0 && this.offset === other.offset ); } /** * `getOffset` returns returns the offset of the node. */ public getOffset(): number { return this.offset; } /** * `setOffset` sets the offset of the node. */ public setOffset(offset: number): void { this.offset = offset; } /** * `toStruct` returns the structure of this position. */ public toStruct(): CRDTTreeNodeIDStruct { return { createdAt: this.createdAt.toStruct(), offset: this.offset, }; } /** * `toIDString` returns a string that can be used as an ID for this position. */ public toIDString(): string { return `${this.createdAt.toIDString()}:${this.offset}`; } /** * `toTestString` returns a string containing the meta data of the ticket * for debugging purpose. */ public toTestString(): string { return `${this.createdAt.toTestString()}/${this.offset}`; } } /** * `CRDTTreePosStruct` represents the structure of CRDTTreePos. */ export type CRDTTreePosStruct = { parentID: CRDTTreeNodeIDStruct; leftSiblingID: CRDTTreeNodeIDStruct; }; /** * `CRDTTreeNodeIDStruct` represents the structure of CRDTTreeNodeID. * It is used to serialize and deserialize the CRDTTreeNodeID. */ export type CRDTTreeNodeIDStruct = { createdAt: TimeTicketStruct; offset: number; }; /** * `TreePosRange` represents a pair of CRDTTreePos. */ export type TreePosRange = [CRDTTreePos, CRDTTreePos]; /** * `TreeNodePair` represents a pair of CRDTTreeNode. It represents the position * of the node in the tree with the left and parent nodes. */ type TreeNodePair = [CRDTTreeNode, CRDTTreeNode]; /** * `TreePosStructRange` represents the structure of TreeRange. * It is used to serialize and deserialize the TreeRange. */ export type TreePosStructRange = [CRDTTreePosStruct, CRDTTreePosStruct]; /** * `CRDTTreeNode` is a node of CRDTTree. It includes the logical clock and * links to other nodes to resolve conflicts. */ export class CRDTTreeNode extends IndexTreeNode implements GCParent, GCChild { id: CRDTTreeNodeID; removedAt?: TimeTicket; attrs?: RHT; /** * `insPrevID` is the previous node id of this node after the node is split. */ insPrevID?: CRDTTreeNodeID; /** * `insNextID` is the previous node id of this node after the node is split. */ insNextID?: CRDTTreeNodeID; /** * `mergedFrom` records the source parent's ID when this node was moved * by a concurrent merge. Persisted in the snapshot encoding as the * witness of the merge relationship. */ mergedFrom?: CRDTTreeNodeID; /** * `mergedAt` records the immutable ticket of the merge operation. * Persisted alongside `mergedFrom` because the source parent's * `removedAt` may be overwritten by later LWW tombstones and thus * cannot serve as the merge-time causal boundary for splitElement's * Fix 8 version-vector check. */ mergedAt?: TimeTicket; /** * `mergedInto` is a runtime cache set on the source parent pointing * at the merge target. Set locally during merge execution and rebuilt * from `mergedFrom` on snapshot load. Used for the fast * "is this tombstoned parent a merge source?" check in * `FindTreeNodesWithSplitText`; the alternative (scanning * `nodeMapByID` on every position resolution) would be too expensive. */ mergedInto?: CRDTTreeNodeID; _value = ''; constructor( id: CRDTTreeNodeID, type: string, opts?: string | Array, attributes?: RHT, removedAt?: TimeTicket, ) { super(type); this.id = id; this.removedAt = removedAt; if (attributes) { this.attrs = attributes; } if (typeof opts === 'string') { this.value = opts; } else if (Array.isArray(opts)) { this._children = opts; } } /** * `toIDString` returns the IDString of this node. */ toIDString(): string { return this.id.toIDString(); } /** * `getRemovedAt` returns the time when this node was removed. */ getRemovedAt(): TimeTicket | undefined { return this.removedAt; } /** * `create` creates a new instance of CRDTTreeNode. */ static create( id: CRDTTreeNodeID, type: string, opts?: string | Array, attributes?: RHT, ) { return new CRDTTreeNode(id, type, opts, attributes); } /** * `deepcopy` copies itself deeply. */ deepcopy(): CRDTTreeNode { const clone = new CRDTTreeNode(this.id, this.type); clone.removedAt = this.removedAt; clone._value = this._value; clone.visibleSize = this.visibleSize; clone.totalSize = this.totalSize; clone.attrs = this.attrs?.deepcopy(); clone._children = this._children.map((child) => { const childClone = child.deepcopy(); childClone.parent = clone; return childClone; }); clone.insPrevID = this.insPrevID; clone.insNextID = this.insNextID; clone.mergedFrom = this.mergedFrom; clone.mergedAt = this.mergedAt; clone.mergedInto = this.mergedInto; return clone; } /** * `value` returns the value of the node. */ get value() { if (!this.isText) { throw new YorkieError( Code.ErrInvalidType, `cannot get value of element node: ${this.type}`, ); } return this._value; } /** * `value` sets the value of the node. */ set value(v: string) { if (!this.isText) { throw new YorkieError( Code.ErrInvalidType, `cannot set value of element node: ${this.type}`, ); } this._value = v; this.visibleSize = v.length; this.totalSize = v.length; } /** * `isRemoved` returns whether the node is removed or not. */ get isRemoved(): boolean { return !!this.removedAt; } /** * `remove` marks the node as removed. */ remove(removedAt: TimeTicket): boolean { if (!this.removedAt) { this.removedAt = removedAt; // NOTE(hackerwins): Decrease only visibleSize because // this node marked as tombstone, not purged. this.updateAncestorsSize(-this.paddedSize()); return true; } // NOTE(sigmaith): Overwrite if newer tombstone. // This enables LWW for concurrent deletions. if (removedAt.after(this.removedAt)) { this.removedAt = removedAt; } return false; } /** * `cloneText` clones this text node with the given offset. */ cloneText(offset: number): CRDTTreeNode { const clone = new CRDTTreeNode( CRDTTreeNodeID.of(this.id.getCreatedAt(), offset), this.type, undefined, undefined, this.removedAt, ); clone.mergedFrom = this.mergedFrom; clone.mergedAt = this.mergedAt; return clone; } /** * `cloneElement` clones this element node with the given issueTimeTicket function. */ cloneElement(issueTimeTicket: () => TimeTicket): CRDTTreeNode { return new CRDTTreeNode( CRDTTreeNodeID.of(issueTimeTicket(), 0), this.type, undefined, this.attrs?.deepcopy(), this.removedAt, ); } /** * `split` splits the given offset of this node. */ public split( tree: CRDTTree, offset: number, issueTimeTicket?: () => TimeTicket, versionVector?: VersionVector, ): [CRDTTreeNode | undefined, DataSize] { const [split, diff] = this.isText ? this.splitText(offset, this.id.getOffset()) : this.splitElement(offset, issueTimeTicket!, versionVector); if (split) { split.insPrevID = this.id; if (this.insNextID) { const insNext = tree.findFloorNode(this.insNextID); split.insNextID = this.insNextID; if (insNext) { insNext.insPrevID = split.id; // §7.4 Empty Sibling Re-Parenting: When the existing // InsNext sibling is in a different parent (due to a prior // parent-level split), move the new empty split sibling to // that parent. VV-independent for clone/root consistency. // Skip when insNext has been tombstoned (e.g. by an undo // boundary deletion): re-parenting into a removed element // would make the new split sibling invisible. if ( !this.isText && insNext.parent && !insNext.isRemoved && insNext.parent !== split.parent && split.allChildren.length === 0 ) { split.parent!.detachChild(split); insNext.parent.insertBefore(split, insNext); } } } this.insNextID = split.id; tree.registerNode(split); } return [split, diff]; } /** * `getCreatedAt` returns the creation time of this element. */ public getCreatedAt(): TimeTicket { return this.id.getCreatedAt(); } /** * `getOffset` returns the offset of a pos. */ public getOffset(): number { return this.id.getOffset(); } /** * `canDelete` checks if node is able to delete. */ public canDelete( editedAt: TimeTicket, creationKnown: boolean, tombstoneKnown: boolean, ): boolean { // NOTE(sigmaith): Skip if the node's creation was not visible to this operation. if (!creationKnown) { return false; } if (!this.removedAt) { return true; } // NOTE(sigmaith): Overwrite only if prior tombstone was not known // (concurrent or unseen) and newer. This enables LWW for concurrent deletions. if (!tombstoneKnown && editedAt?.after(this.removedAt)) { return true; } return false; } /** * `canStyle` checks if node is able to style. */ public canStyle( editedAt: TimeTicket, clientLamportAtChange: bigint, ): boolean { if (this.isText) { return false; } const nodeExisted = this.getCreatedAt().getLamport() <= clientLamportAtChange; return nodeExisted && (!this.removedAt || editedAt.after(this.removedAt)); } /** * `setAttrs` sets the attributes of the node. */ public setAttrs( attrs: { [key: string]: string }, editedAt: TimeTicket, ): Array<[RHTNode | undefined, RHTNode | undefined]> { if (!this.attrs) { this.attrs = new RHT(); } const pairs: Array<[RHTNode | undefined, RHTNode | undefined]> = []; for (const [key, value] of Object.entries(attrs)) { pairs.push(this.attrs.set(key, value, editedAt)); } return pairs; } /** * `purge` purges the given child node. */ public purge(node: RHTNode): void { if (this.attrs) { this.attrs.purge(node); } } /** * `getDataSize` returns the data size of the node. */ public getDataSize(): DataSize { const dataSize = { data: 0, meta: 0 }; if (this.isText) { dataSize.data += this.visibleSize * 2; } if (this.id) { dataSize.meta += TimeTicketSize; } if (this.removedAt) { dataSize.meta += TimeTicketSize; } if (this.attrs) { for (const node of this.attrs) { if (node.getRemovedAt()) { continue; } const size = node.getDataSize(); dataSize.meta += size.meta; dataSize.data += size.data; } } return dataSize; } /** * `getGCPairs` returns the pairs of GC. */ public getGCPairs(): Array { const pairs: Array = []; if (!this.attrs) { return pairs; } for (const node of this.attrs) { if (node.getRemovedAt()) { pairs.push({ parent: this, child: node }); } } return pairs; } } /** * `ticketKnown` returns true if the given ticket is causally known to the * editor, i.e. the editor's version vector covers the ticket's lamport * clock for the same actor. For local operations (undefined version vector), * all tickets are considered known. */ function ticketKnown( vv: VersionVector | undefined, ticket: TimeTicket, ): boolean { if (vv === undefined) { return true; } const l = vv.get(ticket.getActorID()); return l !== undefined && l >= ticket.getLamport(); } /** * `toTreeNode` converts the given CRDTTreeNode to TreeNode. */ function toTreeNode(node: CRDTTreeNode): TreeNode { if (node.isText) { const currentNode = node; return { type: currentNode.type, value: currentNode.value, } as TextNode; } const treeNode: TreeNode = { type: node.type, children: node.children.map(toTreeNode), }; if (node.attrs) { treeNode.attributes = parseObjectValues(node.attrs?.toObject()); } return treeNode; } /** * `toXML` converts the given CRDTNode to XML string. */ export function toXML(node: CRDTTreeNode): string { if (node.isText) { const currentNode = node; return currentNode.value; } let attrs = ''; if (node.attrs && node.attrs.size()) { attrs = ' ' + Array.from(node.attrs) .filter((n) => !n.isRemoved()) .sort((a, b) => a.getKey().localeCompare(b.getKey())) .map((n) => { const obj = JSON.parse(n.getValue()); if (typeof obj === 'string') { return `${n.getKey()}="${obj}"`; } return `${n.getKey()}="${escapeString(n.getValue())}"`; }) .join(' '); } return `<${node.type}${attrs}>${node.children .map((child) => toXML(child)) .join('')}`; } /** * `toTestTreeNode` converts the given CRDTNode JSON for debugging. */ function toTestTreeNode(node: CRDTTreeNode): TreeNodeForTest { if (node.isText) { const currentNode = node; return { type: currentNode.type, value: currentNode.value, visibleSize: currentNode.visibleSize, isRemoved: currentNode.isRemoved, } as TreeNodeForTest; } return { type: node.type, children: node.children.map(toTestTreeNode), visibleSize: node.visibleSize, isRemoved: node.isRemoved, }; } /** * `CRDTTree` is a CRDT implementation of a tree. */ export class CRDTTree extends CRDTElement implements GCParent { private indexTree: IndexTree; private nodeMapByID: LLRBTree; constructor(root: CRDTTreeNode, createdAt: TimeTicket) { super(createdAt); this.indexTree = new IndexTree(root); this.nodeMapByID = new LLRBTree(CRDTTreeNodeID.createComparator()); this.indexTree.traverseAll((node) => { this.nodeMapByID.put(node.id, node); }); // Rebuild runtime merge state from the persisted `mergedFrom` // field. Only `mergedFrom` and `mergedAt` are written to the // snapshot encoding; `mergedInto` is a cache reconstructed here // so replicas loaded from a snapshot can still handle concurrent // ops that target merged-away parents (Fix 3 redirect, Fix 5 // propagation, Fix 8 split skip). this.rebuildMergeState(); } /** * `rebuildMergeState` reconstructs the `mergedInto` cache on source * parents from the persisted `mergedFrom` field on moved children. * For snapshots written before `mergedAt` was added to the proto, * it also falls back to the source's `removedAt` — an approximation * that may be wrong if the source was later overwritten by a * concurrent delete, but this is the best we can do without the * persisted merge ticket. */ private rebuildMergeState(): void { this.indexTree.traverseAll((node) => { if (!node.mergedFrom || !node.parent) { return; } const src = this.findFloorNode(node.mergedFrom); if (!src) { return; } // Back-compat: older snapshots lack mergedAt on moved children. if (!node.mergedAt && src.removedAt) { node.mergedAt = src.removedAt; } if (!src.mergedInto) { src.mergedInto = node.parent.id; } }); } /** * `create` creates a new instance of `CRDTTree`. */ public static create(root: CRDTTreeNode, ticket: TimeTicket): CRDTTree { return new CRDTTree(root, ticket); } /** * `findFloorNode` finds node of given id. */ public findFloorNode(id: CRDTTreeNodeID): CRDTTreeNode | undefined { const entry = this.nodeMapByID.floorEntry(id); if (!entry || !entry.key.getCreatedAt().equals(id.getCreatedAt())) { return; } return entry.value; } /** * `advancePastUnknownSplitSiblings` follows the insNextID chain of the * given node, advancing past element-type split siblings that the editing * client did not know about (not in versionVector). */ private advancePastUnknownSplitSiblings( node: CRDTTreeNode, versionVector?: VersionVector, relaxParentCheck = false, skipActorID?: string, ): CRDTTreeNode { if (!versionVector || !node) { return node; } let current = node; while (current.insNextID) { const next = this.findFloorNode(current.insNextID); if (!next || next.isText) { break; } // §7.5: Skip parent check when relaxParentCheck is true — at // ancestor iterations of the split loop, a concurrent recursive // split may have moved the sibling to a different parent. if (!relaxParentCheck && next.parent !== current.parent) { break; } const actorID = next.id.getCreatedAt().getActorID(); // §7.7: Stop at siblings created by the current operation's // actor. They are our own split products, not concurrent ones. if (skipActorID !== undefined && actorID === skipActorID) { break; } const knownLamport = versionVector.get(actorID); if ( knownLamport !== undefined && knownLamport >= next.id.getCreatedAt().getLamport() ) { break; } current = next; } return current; } /** * `hasUnknownSplitSibling` checks whether the given element node has a * split sibling (via insNextID) whose creation the editor did not know * about. Used to prevent styling via End tokens when a concurrent split * extended the range into the split sibling. */ private hasUnknownSplitSibling( node: CRDTTreeNode, versionVector: VersionVector, ): boolean { if (!node.insNextID) { return false; } const next = this.findFloorNode(node.insNextID); if (!next || next.isText) { return false; } // NOTE: Unlike advancePastUnknownSplitSiblings, we intentionally omit // the parent-equality check. In multi-level splits (splitLevel>=2), // the split sibling may have been moved to a different parent by the // recursive ancestor split. The End-token guard must still fire because // the node WAS split — insNextID is only set by SplitElement. const actorID = next.id.getCreatedAt().getActorID(); const knownLamport = versionVector.get(actorID); return ( knownLamport === undefined || knownLamport < next.id.getCreatedAt().getLamport() ); } /** * `registerNode` registers the given node to the tree. */ public registerNode(node: CRDTTreeNode): void { this.nodeMapByID.put(node.id, node); } /** * `findNodesAndSplitText` finds `TreePos` of the given `CRDTTreeNodeID` and * splits nodes if the position is in the middle of a text node. * * The ids of the given `pos` are the ids of the node in the CRDT perspective. * This is different from `TreePos` which is a position of the tree in the * physical perspective. * * If `editedAt` is given, then it is used to find the appropriate left node * for concurrent insertion. */ public findNodesAndSplitText( pos: CRDTTreePos, editedAt?: TimeTicket, ): [TreeNodePair, DataSize] { let diff = { data: 0, meta: 0 }; // 01. Find the parent and left sibling node of the given position. const [parent, leftSibling] = pos.toTreeNodePair(this); let leftNode = leftSibling; // 02. Determine whether the position is left-most and the exact parent // in the current tree. const isLeftMost = parent === leftNode; const realParent = leftNode.parent && !isLeftMost ? leftNode.parent : parent; // 02-1. If the parent has been tombstoned by a merge, redirect to the // merge destination using the forwarding pointer. The insertion // boundary is the first child in the target whose `mergedFrom` // points back at the tombstoned parent (i.e. the first child moved // by the merge, in target child order). if (realParent.isRemoved && isLeftMost && realParent.mergedInto) { const mergeTarget = this.findFloorNode(realParent.mergedInto); if (mergeTarget && !mergeTarget.isRemoved) { const allCh = mergeTarget.allChildren; for (let i = 0; i < allCh.length; i++) { const targetChild = allCh[i]; if ( !targetChild.mergedFrom || !targetChild.mergedFrom.equals(realParent.id) ) { continue; } if (i === 0) { return [[mergeTarget, mergeTarget], diff]; } return [[mergeTarget, allCh[i - 1]], diff]; } // Fallback: insert at leftmost of merge target. return [[mergeTarget, mergeTarget], diff]; } } // 03. Split text node if the left node is a text node. if (leftNode.isText) { const [, splitedDiff] = leftNode.split( this, pos.getLeftSiblingID().getOffset() - leftNode.id.getOffset(), ); diff = splitedDiff; } // 04. Find the appropriate left node. If some nodes are inserted at the // same position concurrently, then we need to find the appropriate left // node. This is similar to RGA. if (editedAt) { const allChildren = realParent.allChildren; const index = isLeftMost ? 0 : allChildren.indexOf(leftNode) + 1; for (let i = index; i < allChildren.length; i++) { const next = allChildren[i]; if (!next.id.getCreatedAt().after(editedAt)) { break; } leftNode = next; } } return [[realParent, leftNode], diff]; } /** * `style` applies the given attributes of the given range. */ public style( range: [CRDTTreePos, CRDTTreePos], attributes: { [key: string]: string } | undefined, editedAt: TimeTicket, versionVector?: VersionVector, ): [ Array, Array, DataSize, Map, Array, ] { const diff = { data: 0, meta: 0 }; const [[fromParent, fromLeftRaw], diffFrom] = this.findNodesAndSplitText( range[0], editedAt, ); const [[toParent, toLeftRaw], diffTo] = this.findNodesAndSplitText( range[1], editedAt, ); addDataSizes(diff, diffTo, diffFrom); const fromLeft = fromLeftRaw !== fromParent ? this.advancePastUnknownSplitSiblings(fromLeftRaw, versionVector) : fromLeftRaw; const toLeft = toLeftRaw !== toParent ? this.advancePastUnknownSplitSiblings(toLeftRaw, versionVector) : toLeftRaw; const changes: Array = []; const attrs: { [key: string]: any } = attributes ? parseObjectValues(attributes) : {}; const pairs: Array = []; const prevAttributes = new Map(); const newAttrKeys: Array = []; let capturedPrev = false; this.traverseInPosRange( fromParent, fromLeft, toParent, toLeft, ([node, tokenType]) => { const actorID = node.getCreatedAt().getActorID(); let clientLamportAtChange = MaxLamport; // Local edit if (versionVector != undefined) { clientLamportAtChange = versionVector!.get(actorID) ? versionVector!.get(actorID)! : 0n; } if (node.canStyle(editedAt, clientLamportAtChange) && attributes) { // Skip styling via End token when the node has an unknown // split sibling. The End token is in the range only because // a concurrent split extended the range into the sibling. if ( tokenType === TokenType.End && versionVector !== undefined && this.hasUnknownSplitSibling(node, versionVector) ) { return; } // Capture previous attribute values from first styled node // for reverse operation (undo). if (!capturedPrev) { for (const key of Object.keys(attributes)) { if (node.attrs?.has(key)) { prevAttributes.set(key, node.attrs.get(key)!); } else { newAttrKeys.push(key); } } capturedPrev = true; } const updatedAttrPairs = node.setAttrs(attributes, editedAt); const affectedAttrs = updatedAttrPairs.reduce( (acc: { [key: string]: string }, [, curr]) => { if (!curr) { return acc; } acc[curr.getKey()] = attrs[curr.getKey()]; return acc; }, {}, ); const parentOfNode = node.parent!; const previousNode = node.prevSibling || node.parent!; if (Object.keys(affectedAttrs).length > 0) { changes.push({ type: TreeChangeType.Style, from: this.toIndex(parentOfNode, previousNode), to: this.toIndex(node, node), fromPath: this.toPath(parentOfNode, previousNode), toPath: this.toPath(node, node), actor: editedAt.getActorID(), value: affectedAttrs, }); } for (const [prev] of updatedAttrPairs) { if (prev) { pairs.push({ parent: node, child: prev }); } } for (const [key] of Object.entries(attrs)) { const curr = node.attrs?.getNodeMapByKey().get(key); if (curr !== undefined && tokenType !== TokenType.End) { addDataSizes(diff, curr.getDataSize()); } } // Propagate style to unknown split siblings so that a // style operation whose range was determined before the // split also covers the right part of the split. if (tokenType === TokenType.Start && versionVector !== undefined) { let current: CRDTTreeNode = node; while (current.insNextID) { const next = this.findFloorNode(current.insNextID); if (!next || next.isText) { break; } if (ticketKnown(versionVector, next.id.getCreatedAt())) { break; } const siblingPairs = next.setAttrs(attributes, editedAt); const siblingAffectedAttrs = siblingPairs.reduce( (acc: { [key: string]: string }, [, curr]) => { if (curr) { acc[curr.getKey()] = attrs[curr.getKey()]; } return acc; }, {}, ); if (Object.keys(siblingAffectedAttrs).length > 0) { const parentOfNext = next.parent!; const previousNext = next.prevSibling || parentOfNext; changes.push({ type: TreeChangeType.Style, from: this.toIndex(parentOfNext, previousNext), to: this.toIndex(next, next), fromPath: this.toPath(parentOfNext, previousNext), toPath: this.toPath(next, next), actor: editedAt.getActorID(), value: siblingAffectedAttrs, }); } for (const [prev] of siblingPairs) { if (prev) { pairs.push({ parent: next, child: prev }); } } for (const [key] of Object.entries(attrs)) { const curr = next.attrs?.getNodeMapByKey().get(key); if (curr !== undefined) { addDataSizes(diff, curr.getDataSize()); } } current = next; } } } }, ); return [pairs, changes, diff, prevAttributes, newAttrKeys]; } /** * `removeStyle` removes the given attributes of the given range. */ public removeStyle( range: [CRDTTreePos, CRDTTreePos], attributesToRemove: Array, editedAt: TimeTicket, versionVector?: VersionVector, ): [Array, Array, DataSize, Map] { const diff = { data: 0, meta: 0 }; const [[fromParent, fromLeft], diffFrom] = this.findNodesAndSplitText( range[0], editedAt, ); const [[toParent, toLeft], diffTo] = this.findNodesAndSplitText( range[1], editedAt, ); addDataSizes(diff, diffTo, diffFrom); const changes: Array = []; const pairs: Array = []; const prevAttributes = new Map(); let capturedPrev = false; this.traverseInPosRange( fromParent, fromLeft, toParent, toLeft, ([node, tokenType]) => { const actorID = node.getCreatedAt().getActorID(); let clientLamportAtChange = MaxLamport; // Local edit if (versionVector != undefined) { clientLamportAtChange = versionVector!.get(actorID) ? versionVector!.get(actorID)! : 0n; } if ( node.canStyle(editedAt, clientLamportAtChange) && attributesToRemove ) { // Skip styling via End token when the node has an unknown // split sibling. The End token is in the range only because // a concurrent split extended the range into the sibling. if ( tokenType === TokenType.End && versionVector !== undefined && this.hasUnknownSplitSibling(node, versionVector) ) { return; } if (!node.attrs) { node.attrs = new RHT(); } // Capture previous attribute values from first styled node // for reverse operation (undo). if (!capturedPrev) { for (const key of attributesToRemove) { if (node.attrs.has(key)) { prevAttributes.set(key, node.attrs.get(key)!); } } capturedPrev = true; } for (const value of attributesToRemove) { const nodesTobeRemoved = node.attrs.remove(value, editedAt); for (const rhtNode of nodesTobeRemoved) { pairs.push({ parent: node, child: rhtNode }); } } const parentOfNode = node.parent!; const previousNode = node.prevSibling || node.parent!; changes.push({ actor: editedAt.getActorID()!, type: TreeChangeType.RemoveStyle, from: this.toIndex(parentOfNode, previousNode), to: this.toIndex(node, node), fromPath: this.toPath(parentOfNode, previousNode), toPath: this.toPath(node, node), value: attributesToRemove, }); // Propagate remove-style to unknown split siblings. if (tokenType === TokenType.Start && versionVector !== undefined) { let current: CRDTTreeNode = node; while (current.insNextID) { const next = this.findFloorNode(current.insNextID); if (!next || next.isText) { break; } if (ticketKnown(versionVector, next.id.getCreatedAt())) { break; } if (!next.attrs) { next.attrs = new RHT(); } let removedAny = false; for (const value of attributesToRemove) { const nodesTobeRemoved = next.attrs.remove(value, editedAt); removedAny = removedAny || nodesTobeRemoved.length > 0; for (const rhtNode of nodesTobeRemoved) { pairs.push({ parent: next, child: rhtNode }); } } if (removedAny) { const parentOfNext = next.parent!; const previousNext = next.prevSibling || parentOfNext; changes.push({ actor: editedAt.getActorID()!, type: TreeChangeType.RemoveStyle, from: this.toIndex(parentOfNext, previousNext), to: this.toIndex(next, next), fromPath: this.toPath(parentOfNext, previousNext), toPath: this.toPath(next, next), value: attributesToRemove, }); } current = next; } } } }, ); return [pairs, changes, diff, prevAttributes]; } /** * `edit` edits the tree with the given range and content. * If the content is undefined, the range will be removed. */ public edit( range: [CRDTTreePos, CRDTTreePos], contents: Array | undefined, splitLevel: number, editedAt: TimeTicket, issueTimeTicket: (() => TimeTicket) | undefined, versionVector?: VersionVector, ): [ Array, Array, DataSize, Array, number, number, Set, ] { const diff = { data: 0, meta: 0 }; // 01. find nodes from the given range and split nodes. const [[fromParent, fromLeftRaw], diffFrom] = this.findNodesAndSplitText( range[0], editedAt, ); const [[toParent, toLeftRaw], diffTo] = this.findNodesAndSplitText( range[1], editedAt, ); addDataSizes(diff, diffTo, diffFrom); // 01-1. Advance past split siblings unknown to the editing client. // When a concurrent SplitElement created siblings linked via insNextID, // the editor's position was computed against the unsplit tree. Advance // past siblings the editor could not have seen so that the range // starts/ends after all concurrent split products. // Skip when leftNode == parent (leftmost child position). const fromLeft = fromLeftRaw !== fromParent ? this.advancePastUnknownSplitSiblings(fromLeftRaw, versionVector) : fromLeftRaw; const toLeft = toLeftRaw !== toParent ? this.advancePastUnknownSplitSiblings(toLeftRaw, versionVector) : toLeftRaw; // Phase 3: Range Narrowing — when fromLeft and toLeft are in // different parents (due to a concurrent element split), follow // fromLeft's insNextID chain to find a split sibling in toParent // and narrow the traversal range. The original fromParent/fromLeft // are preserved for merge, split, and insert steps. // VV-independent for clone/root consistency. let collectFromParent: CRDTTreeNode = fromParent; let collectFromLeft: CRDTTreeNode = fromLeft; if (fromLeft !== fromParent && fromParent !== toParent) { let current: CRDTTreeNode = fromLeft; while (current.insNextID) { const next = this.findFloorNode(current.insNextID); if (!next || next.isText) { break; } if (next.parent && next.parent === toParent) { // Skip narrowing when toLeft === toParent (leftmost child // position, offset 0). The narrowed collectFromLeft would be // a child at offset >= 1, producing a backwards range that // suppresses the intended merge. if (toLeft !== toParent) { collectFromLeft = next; collectFromParent = toParent; } break; } current = next; } } const fromIdx = this.toIndex(fromParent, fromLeft); const fromPath = this.toPath(fromParent, fromLeft); const nodesToBeRemoved: Array = []; const tokensToBeRemoved: Array> = []; const toBeMovedToFromParents: Array = []; const toBeMergedNodes: Array = []; const preTombstoned = new Set(); this.traverseInPosRange( collectFromParent, collectFromLeft, toParent, toLeft, ([node, tokenType], ended) => { // NOTE(hackerwins): If the node overlaps as a start tag with the // range then we need to move the remaining children to fromParent. if (tokenType === TokenType.Start && !ended) { // Fix 9: Skip merge for elements created by concurrent // operations. The editor didn't know about this element, // so crossing into it is an artifact of a concurrent split, // not an intentional merge. if (ticketKnown(versionVector, node.id.getCreatedAt())) { toBeMergedNodes.push(node); for (const child of node.children) { toBeMovedToFromParents.push(child); } } } // NOTE(sigmaith): Determine if the node's creation event was visible. const creationKnown = ticketKnown( versionVector, node.id.getCreatedAt(), ); // NOTE(sigmaith): Determine if existing tombstone was already causally known. const tombstoneKnown = !!node.removedAt && ticketKnown(versionVector, node.removedAt); // NOTE(sejongk): If the node is removable or its parent is going to // be removed, then this node should be removed. // Do not cascade-delete children of merge-boundary nodes // (toBeMergedNodes), because those children are moved rather than // deleted. if ( node.canDelete(editedAt, creationKnown, tombstoneKnown) || (nodesToBeRemoved.includes(node.parent!) && !toBeMergedNodes.includes(node.parent!)) ) { // NOTE(hackerwins): If the node overlaps as an end token with the // range then we need to keep the node. if (tokenType === TokenType.Text || tokenType === TokenType.Start) { // Track nodes already tombstoned before this edit so the // reverse operation does not accidentally resurrect them. if (node.isRemoved) { preTombstoned.add(node.id.toIDString()); } nodesToBeRemoved.push(node); // Cascade delete to split siblings created by concurrent // SplitElement. Only for element nodes. if ( !node.isText && node.insNextID && !toBeMergedNodes.includes(node) ) { let next = this.findFloorNode(node.insNextID); while (next) { if (!ticketKnown(versionVector, next.id.getCreatedAt())) { nodesToBeRemoved.push(next); // Cascade through the full subtree, not just immediate children. traverseAll(next, (n) => { if (n !== next) { nodesToBeRemoved.push(n); } }); } if (!next.insNextID) break; next = this.findFloorNode(next.insNextID); } } } tokensToBeRemoved.push([node, tokenType]); } }, true, ); // NOTE(hackerwins): If concurrent deletion happens, we need to separate the // range(from, to) into multiple ranges. const changes: Array = this.makeDeletionChanges( tokensToBeRemoved, editedAt, ); // 01-2. Count merged nodes before children are moved (step 03). // The undo system uses this count to generate a split reverse op // instead of re-inserting empty shells. const mergeLevel = toBeMergedNodes.length; // 02. Delete: delete the nodes that are marked as removed. const pairs: Array = []; for (const node of nodesToBeRemoved) { if (node.remove(editedAt)) { pairs.push({ parent: this, child: node }); } } // 03. Merge: move the nodes that are marked as moved. Only // `mergedFrom` and `mergedAt` are written on the moved child — // both are persisted in the snapshot encoding. `mergedAt` must be // captured explicitly here (not read from source.removedAt at use // time) because the source's `removedAt` is mutated by LWW when a // later concurrent tombstone targets the same node. for (const node of toBeMovedToFromParents) { if (!node.removedAt) { if (node.parent) { node.mergedFrom = node.parent.id; node.mergedAt = editedAt; } // Detach from old parent to prevent ghost references. // Use try-catch because the child may already have been detached // by a concurrent operation (e.g., cascade delete of split sibling). if (node.parent) { try { node.parent.detachChild(node); } catch { // Child already detached from parent, skip. } } fromParent.append(node); } } // Set forwarding pointer on merge-source nodes. This is a runtime // cache rebuilt from `mergedFrom` on snapshot load. for (const src of toBeMergedNodes) { src.mergedInto = fromParent.id; } // 03-1. Propagate deletes to children moved by prior merges. // When a merge-source node is fully deleted (not a merge boundary), // its former children in the merge target should also be deleted. // Skip when `mergedInto` points to `fromParent` (concurrent merge). // The list of moved children is recomputed on the fly from the // merge target's children filtered by `mergedFrom`. for (const node of nodesToBeRemoved) { if ( !node.mergedInto || toBeMergedNodes.includes(node) || node.mergedInto.equals(fromParent.id) ) { continue; } const mergeTarget = this.findFloorNode(node.mergedInto); if (!mergeTarget) { continue; } for (const targetChild of mergeTarget.allChildren) { if ( !targetChild.mergedFrom || !targetChild.mergedFrom.equals(node.id) ) { continue; } if (targetChild.removedAt) { continue; } if (targetChild.remove(editedAt)) { pairs.push({ parent: this, child: targetChild }); } // Also tombstone descendants if the moved child is an element. traverseAll(targetChild, (n) => { if (n !== targetChild && !n.removedAt) { if (n.remove(editedAt)) { pairs.push({ parent: this, child: n }); } } }); } } // 04. Split: split the element nodes for the given split level. if (splitLevel > 0) { let splitCount = 0; let parent = fromParent; let left: CRDTTreeNode = fromLeft; while (splitCount < splitLevel) { // §7.5 Per-Iteration Advance: advance past unknown element // split siblings at the current ancestor level. skipActorID // (§7.7) prevents advancing past own split products. if (left !== parent) { left = this.advancePastUnknownSplitSiblings( left, versionVector, true, editedAt.getActorID(), ); // If the advance moved left to a node under a different // parent, update parent to match. if (left.parent && left.parent !== parent) { parent = left.parent as CRDTTreeNode; } } parent.split( this, left !== parent ? parent.findOffset(left, true) + 1 : 0, issueTimeTicket, versionVector, ); left = parent; parent = parent.parent! as CRDTTreeNode; splitCount++; } changes.push({ type: TreeChangeType.Content, from: fromIdx, to: fromIdx, fromPath, toPath: fromPath, actor: editedAt.getActorID(), }); } // 05. Insert: insert the given nodes at the given position. if (contents?.length) { const aliveContents: Array = []; let leftInChildren = fromLeft; // tree for (const content of contents) { // 05-1. Insert the content nodes to the tree. if (leftInChildren === fromParent) { // 05-1-1. when there's no leftSibling, then insert content into very front of parent's children. fromParent.insertAt(content, 0); } else { // 05-1-2. insert after leftSibling fromParent.insertAfter(content, leftInChildren); } leftInChildren = content; traverseAll(content, (node) => { // If insertion happens during concurrent editing and parent node has been removed, // make new nodes as tombstone immediately. if (fromParent.isRemoved) { node.remove(editedAt); pairs.push({ parent: this, child: node }); } else { addDataSizes(diff, node.getDataSize()); } this.nodeMapByID.put(node.id, node); }); if (!content.isRemoved) { aliveContents.push(content); } } if (aliveContents.length) { const value = aliveContents.map((content) => toTreeNode(content)); if (changes.length && changes[changes.length - 1].from === fromIdx) { changes[changes.length - 1].value = value; } else { changes.push({ type: TreeChangeType.Content, from: fromIdx, to: fromIdx, fromPath, toPath: fromPath, actor: editedAt.getActorID(), value, }); } } } return [ changes, pairs, diff, nodesToBeRemoved, fromIdx, mergeLevel, preTombstoned, ]; } /** * `editT` edits the given range with the given value. * This method uses indexes instead of a pair of TreePos for testing. */ public editT( range: [number, number], contents: Array | undefined, splitLevel: number, editedAt: TimeTicket, issueTimeTicket: () => TimeTicket, ): [ Array, Array, DataSize, Array, number, number, Set, ] { const fromPos = this.findPos(range[0]); const toPos = this.findPos(range[1]); return this.edit( [fromPos, toPos], contents, splitLevel, editedAt, issueTimeTicket, ); } /** * `move` move the given source range to the given target range. */ public move( target: [number, number], source: [number, number], ticket: TimeTicket, ): void { // TODO(hackerwins, easylogic): Implement this with keeping references of the nodes. throw new YorkieError( Code.ErrUnimplemented, `not implemented: ${target}, ${source}, ${ticket}`, ); } /** * `pathToTreePos` converts the given path of the node to the TreePos. */ public pathToTreePos( path: Array, ): ReturnType { return this.indexTree.pathToTreePos(path); } /** * `purge` physically purges the given node. */ public purge(node: CRDTTreeNode): void { node.parent?.removeChild(node); this.nodeMapByID.remove(node.id); const insPrevID = node.insPrevID; const insNextID = node.insNextID; if (insPrevID) { const insPrev = this.findFloorNode(insPrevID)!; insPrev.insNextID = insNextID; } if (insNextID) { const insNext = this.findFloorNode(insNextID)!; insNext.insPrevID = insPrevID; } node.insPrevID = undefined; node.insNextID = undefined; } /** * `getGCPairs` returns the pairs of GC. */ public getGCPairs(): Array { const pairs: Array = []; this.indexTree.traverse((node) => { if (node.getRemovedAt()) { pairs.push({ parent: this, child: node }); } for (const p of node.getGCPairs()) { pairs.push(p); } }); return pairs; } /** * `findPos` finds the position of the given index in the tree. */ public findPos(index: number, preferText = true): CRDTTreePos { const treePos = this.indexTree.findTreePos(index, preferText); return CRDTTreePos.fromTreePos(treePos); } /** * `pathToPosRange` converts the given path of the node to the range of the position. */ public pathToPosRange(path: Array): [CRDTTreePos, CRDTTreePos] { const fromIdx = this.pathToIndex(path); return [this.findPos(fromIdx), this.findPos(fromIdx + 1)]; } /** * `pathToPos` finds the position of the given index in the tree by path. */ public pathToPos(path: Array): CRDTTreePos { const index = this.indexTree.pathToIndex(path); return this.findPos(index); } /** * `getRoot` returns the root node of the tree. */ public getRoot(): CRDTTreeNode { return this.indexTree.getRoot(); } /** * `getSize` returns the size of the tree. */ public getSize(): number { return this.indexTree.size; } /** * `getNodeSize` returns the size of the LLRBTree. */ public getNodeSize(): number { return this.nodeMapByID.size(); } /** * `getIndexTree` returns the index tree. */ public getIndexTree(): IndexTree { return this.indexTree; } /** * toXML returns the XML encoding of this tree. */ public toXML(): string { return toXML(this.indexTree.getRoot()); } /** * `getDataSize` returns the data usage of this element. */ public getDataSize(): DataSize { const dataSize = { data: 0, meta: 0 }; this.indexTree.traverse((node) => { if (node.getRemovedAt()) { return; } const size = node.getDataSize(); dataSize.data += size.data; dataSize.meta += size.meta; }); return { data: dataSize.data, meta: dataSize.meta + this.getMetaUsage(), }; } /** * `toJSON` returns the JSON encoding of this tree. */ public toJSON(): string { return JSON.stringify(this.getRootTreeNode()); } /** * `toJSForTest` returns value with meta data for testing. */ public toJSForTest(): Devtools.JSONElement { return { createdAt: this.getCreatedAt().toTestString(), value: JSON.parse(this.toJSON()), type: 'YORKIE_TREE', }; } /** * `toJSInfoForTest` returns detailed TreeNode information for use in Devtools. */ public toJSInfoForTest(): Devtools.TreeNodeInfo { const rootNode = this.indexTree.getRoot(); const toTreeNodeInfo = ( node: CRDTTreeNode, parentNode: CRDTTreeNode | undefined = undefined, leftChildNode: CRDTTreeNode | undefined = undefined, depth = 0, ): Devtools.TreeNodeInfo => { let index, path, pos; const treePos = node.isText ? { node, offset: 0 } : parentNode && leftChildNode ? this.toTreePos(parentNode, leftChildNode) : null; if (treePos) { index = this.indexTree.indexOf(treePos); path = this.indexTree.treePosToPath(treePos); pos = CRDTTreePos.fromTreePos(treePos).toStruct(); } const nodeInfo: Devtools.TreeNodeInfo = { type: node.type, parent: parentNode?.id.toTestString(), size: node.visibleSize, id: node.id.toTestString(), removedAt: node.removedAt?.toTestString(), insPrev: node.insPrevID?.toTestString(), insNext: node.insNextID?.toTestString(), value: node.isText ? node.value : undefined, isRemoved: node.isRemoved, children: [] as Array, depth, attributes: node.attrs ? parseObjectValues(node.attrs?.toObject()) : undefined, index, path, pos, }; for (let i = 0; i < node.allChildren.length; i++) { const leftChildNode = i === 0 ? node : node.allChildren[i - 1]; nodeInfo.children.push( toTreeNodeInfo(node.allChildren[i], node, leftChildNode, depth + 1), ); } return nodeInfo; }; return toTreeNodeInfo(rootNode); } /** * `getRootTreeNode` returns the converted value of this tree to TreeNode. */ public getRootTreeNode(): TreeNode { return toTreeNode(this.indexTree.getRoot()); } /** * `toTestTreeNode` returns the JSON of this tree for debugging. */ public toTestTreeNode(): TreeNodeForTest { return toTestTreeNode(this.indexTree.getRoot()); } /** * `toSortedJSON` returns the sorted JSON encoding of this tree. */ public toSortedJSON(): string { return this.toJSON(); } /** * `deepcopy` copies itself deeply. */ public deepcopy(): CRDTTree { const root = this.getRoot(); const tree = new CRDTTree(root.deepcopy(), this.getCreatedAt()); tree.setRemovedAt(this.getRemovedAt()); tree.setMovedAt(this.getMovedAt()); return tree; } /** * `toPath` converts the given CRDTTreeNodeID to the path of the tree. */ public toPath( parentNode: CRDTTreeNode, leftNode: CRDTTreeNode, ): Array { const treePos = this.toTreePos(parentNode, leftNode); if (!treePos) { return []; } return this.indexTree.treePosToPath(treePos); } /** * `toIndex` converts the given CRDTTreeNodeID to the index of the tree. * If includeRemoved is true, it includes removed nodes in the calculation. */ public toIndex( parentNode: CRDTTreeNode, leftNode: CRDTTreeNode, includeRemoved: boolean = false, ): number { const treePos = this.toTreePos(parentNode, leftNode, includeRemoved); if (!treePos) { return -1; } return this.indexTree.indexOf(treePos, includeRemoved); } /** * `indexToPath` converts the given tree index to path. */ public indexToPath(index: number): Array { return this.indexTree.indexToPath(index); } /** * `pathToIndex` converts the given path to index. */ public pathToIndex(path: Array): number { return this.indexTree.pathToIndex(path); } /** * `indexRangeToPosRange` returns the position range from the given index range. */ public indexRangeToPosRange(range: [number, number]): TreePosRange { const fromPos = this.findPos(range[0]); if (range[0] === range[1]) { return [fromPos, fromPos]; } return [fromPos, this.findPos(range[1])]; } /** * `indexRangeToPosStructRange` converts the integer index range into the Tree position range structure. */ public indexRangeToPosStructRange( range: [number, number], ): TreePosStructRange { const [fromIdx, toIdx] = range; const fromPos = this.findPos(fromIdx); if (fromIdx === toIdx) { return [fromPos.toStruct(), fromPos.toStruct()]; } return [fromPos.toStruct(), this.findPos(toIdx).toStruct()]; } /** * `posRangeToPathRange` converts the given position range to the path range. */ public posRangeToPathRange( range: TreePosRange, ): [Array, Array] { const [[fromParent, fromLeft]] = this.findNodesAndSplitText(range[0]); const [[toParent, toLeft]] = this.findNodesAndSplitText(range[1]); return [this.toPath(fromParent, fromLeft), this.toPath(toParent, toLeft)]; } /** * `posRangeToIndexRange` converts the given position range to the path range. */ public posRangeToIndexRange(range: TreePosRange): [number, number] { const [[fromParent, fromLeft]] = this.findNodesAndSplitText(range[0]); const [[toParent, toLeft]] = this.findNodesAndSplitText(range[1]); return [this.toIndex(fromParent, fromLeft), this.toIndex(toParent, toLeft)]; } /** * `traverseInPosRange` traverses the tree in the given position range. * If includeRemoved is true, it includes removed nodes in the calculation. */ private traverseInPosRange( fromParent: CRDTTreeNode, fromLeft: CRDTTreeNode, toParent: CRDTTreeNode, toLeft: CRDTTreeNode, callback: (token: TreeToken, ended: boolean) => void, includeRemoved: boolean = false, ): void { const fromIdx = this.toIndex(fromParent, fromLeft, includeRemoved); const toIdx = this.toIndex(toParent, toLeft, includeRemoved); // When a concurrent merge redirects the to-position into an earlier // part of the tree, the range becomes empty (prior merge handled it). if (fromIdx > toIdx) { return; } this.indexTree.tokensBetween(fromIdx, toIdx, callback, includeRemoved); } /** * `toTreePos` converts the given nodes to the position of the IndexTree. * If includeRemoved is true, it includes removed nodes in the calculation. */ private toTreePos( parentNode: CRDTTreeNode, leftNode: CRDTTreeNode, includeRemoved: boolean = false, ): TreePos | undefined { if (!parentNode || !leftNode) { return; } if (!includeRemoved && parentNode.isRemoved) { // If parentNode is removed, treePos is the position of its least alive ancestor. let childNode: CRDTTreeNode; while (parentNode.isRemoved) { childNode = parentNode; parentNode = childNode.parent!; } const offset = parentNode.findOffset(childNode!, includeRemoved); return { node: parentNode, offset, }; } if (parentNode === leftNode) { return { node: parentNode, offset: 0, }; } // Find the closest existing leftSibling node. let offset = parentNode.findOffset(leftNode, includeRemoved); if (includeRemoved || !leftNode.isRemoved) { if (leftNode.isText) { return { node: leftNode, offset: leftNode.paddedSize(includeRemoved), }; } offset++; } return { node: parentNode, offset, }; } /** * `makeDeletionChanges` converts nodes to be deleted to deletion changes. */ private makeDeletionChanges( candidates: Array>, editedAt: TimeTicket, ): Array { const changes: Array = []; const ranges: Array>> = []; // Generate ranges by accumulating consecutive nodes. let start = null; let end = null; for (let i = 0; i < candidates.length; i++) { const cur = candidates[i]; const next = candidates[i + 1]; if (!start) { start = cur; } end = cur; const rightToken = this.findRightToken(cur); if ( !rightToken || !next || rightToken[0] !== next[0] || rightToken[1] !== next[1] ) { ranges.push([start, end]); start = null; end = null; } } // Convert each range to a deletion change. for (const range of ranges) { const [start, end] = range; const [fromLeft, fromLeftTokenType] = this.findLeftToken(start); const [toLeft, toLeftTokenType] = end; const fromParent = fromLeftTokenType === TokenType.Start ? fromLeft : fromLeft.parent!; const toParent = toLeftTokenType === TokenType.Start ? toLeft : toLeft.parent!; const fromIdx = this.toIndex(fromParent, fromLeft); const toIdx = this.toIndex(toParent, toLeft); if (fromIdx < toIdx) { // When the range is overlapped with the previous one, compact them. if (changes.length > 0 && fromIdx === changes[changes.length - 1].to) { changes[changes.length - 1].to = toIdx; changes[changes.length - 1].toPath = this.toPath(toParent, toLeft); } else { changes.push({ type: TreeChangeType.Content, from: fromIdx, to: toIdx, fromPath: this.toPath(fromParent, fromLeft), toPath: this.toPath(toParent, toLeft), actor: editedAt.getActorID(), }); } } } return changes.reverse(); } /** * `findRightToken` returns the token to the right of the given token in the tree. */ private findRightToken([ node, tokenType, ]: TreeToken): TreeToken { if (tokenType === TokenType.Start) { const children = node.allChildren; if (children.length > 0) { return [ children[0], children[0].isText ? TokenType.Text : TokenType.Start, ]; } return [node, TokenType.End]; } const parent = node.parent!; const siblings = parent.allChildren; const offset = siblings.indexOf(node); if (parent && offset === siblings.length - 1) { return [parent, TokenType.End]; } const next = siblings[offset + 1]; return [next, next.isText ? TokenType.Text : TokenType.Start]; } /** * `findLeftToken` returns the token to the left of the given token in the tree. */ private findLeftToken([ node, tokenType, ]: TreeToken): TreeToken { if (tokenType === TokenType.End) { const children = node.allChildren; if (children.length > 0) { const lastChild = children[children.length - 1]; return [lastChild, lastChild.isText ? TokenType.Text : TokenType.End]; } return [node, TokenType.Start]; } const parent = node.parent!; const siblings = parent.allChildren; const offset = siblings.indexOf(node); if (parent && offset === 0) { return [parent, TokenType.Start]; } const prev = siblings[offset - 1]; return [prev, prev.isText ? TokenType.Text : TokenType.End]; } } ================================================ FILE: packages/sdk/src/document/document.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { DocEventType as PbDocEventType } from '@yorkie-js/sdk/src/api/yorkie/v1/resources_pb'; import { converter } from '@yorkie-js/sdk/src/api/converter'; import { logger, LogLevel } from '@yorkie-js/sdk/src/util/logger'; import { Code, YorkieError } from '@yorkie-js/sdk/src/util/error'; import { deepcopy } from '@yorkie-js/sdk/src/util/object'; import { DocSize, totalDocSize } from '@yorkie-js/sdk/src/util/resource'; import { Observer, Observable, createObservable, Unsubscribe, ErrorFn, CompleteFn, NextFn, } from '@yorkie-js/sdk/src/util/observable'; import { ActorID, InitialActorID, } from '@yorkie-js/sdk/src/document/time/actor_id'; import { Attachable } from '@yorkie-js/sdk/src/client/attachable'; import { VersionVector } from '@yorkie-js/sdk/src/document/time/version_vector'; import { Change, ChangeStruct, } from '@yorkie-js/sdk/src/document/change/change'; import { ChangeID, InitialChangeID, } from '@yorkie-js/sdk/src/document/change/change_id'; import { ChangeContext } from '@yorkie-js/sdk/src/document/change/context'; import { ChangePack } from '@yorkie-js/sdk/src/document/change/change_pack'; import { Checkpoint, InitialCheckpoint, } from '@yorkie-js/sdk/src/document/change/checkpoint'; import { OpSource, OpInfo, ObjectOpInfo, TextOpInfo, CounterOpInfo, ArrayOpInfo, TreeOpInfo, Operation, } from '@yorkie-js/sdk/src/document/operation/operation'; import { ArraySetOperation } from '@yorkie-js/sdk/src/document/operation/array_set_operation'; import { AddOperation } from '@yorkie-js/sdk/src/document/operation/add_operation'; import { createJSON, JSONElement, } from '@yorkie-js/sdk/src/document/json/element'; import { JSONArray } from '@yorkie-js/sdk/src/document/json/array'; import { JSONObject } from '@yorkie-js/sdk/src/document/json/object'; import { Counter } from '@yorkie-js/sdk/src/document/json/counter'; import { Text } from '@yorkie-js/sdk/src/document/json/text'; import { Tree } from '@yorkie-js/sdk/src/document/json/tree'; import { CRDTRoot, RootStats } from '@yorkie-js/sdk/src/document/crdt/root'; import { CRDTObject } from '@yorkie-js/sdk/src/document/crdt/object'; import { Channel } from '@yorkie-js/sdk/src/document/presence/presence'; import { PresenceChangeType } from '@yorkie-js/sdk/src/document/presence/change'; import { History, HistoryOperation } from '@yorkie-js/sdk/src/document/history'; import { Primitive, PrimitiveValue, } from '@yorkie-js/sdk/src/document/crdt/primitive'; import { Rule } from '@yorkie-js/schema'; import { validateYorkieRuleset } from '@yorkie-js/sdk/src/document/schema/ruleset_validator'; import { setupDevtools } from '@yorkie-js/sdk/src/devtools'; import * as Devtools from '@yorkie-js/sdk/src/devtools/types'; import { EditOperation } from './operation/edit_operation'; import { TreeEditOperation } from './operation/tree_edit_operation'; /** * `DocumentOptions` are the options to create a new document. */ export interface DocumentOptions { /** * `disableGC` disables garbage collection if true. */ disableGC?: boolean; /** * `enableDevtools` enables devtools if true. */ enableDevtools?: boolean; } /** * `DocStatus` represents the status of the document. */ export enum DocStatus { /** * Detached means that the document is not attached to the client. * The actor of the ticket is created without being assigned. */ Detached = 'detached', /** * Attached means that this document is attached to the client. * The actor of the ticket is created with being assigned by the client. */ Attached = 'attached', /** * Removed means that this document is removed. If the document is removed, * it cannot be edited. */ Removed = 'removed', } /** * `DocEventType` represents the type of the event that occurs in `Document`. */ export enum DocEventType { /** * status changed event type */ StatusChanged = 'status-changed', /** * `ConnectionChanged` means that the watch stream connection status has changed. */ ConnectionChanged = 'connection-changed', /** * `SyncStatusChanged` means that the document sync status has changed. */ SyncStatusChanged = 'sync-status-changed', /** * snapshot event type */ Snapshot = 'snapshot', /** * local document change event type */ LocalChange = 'local-change', /** * remote document change event type */ RemoteChange = 'remote-change', /** * `Initialized` means that online clients have been loaded from the server. */ Initialized = 'initialized', /** * `Watched` means that the client has established a connection with the server, * enabling real-time synchronization. */ Watched = 'watched', /** * `Unwatched` means that the connection has been disconnected. */ Unwatched = 'unwatched', /** * `PresenceChanged` means that the presences of the client has updated. */ PresenceChanged = 'presence-changed', /** * `AuthError` indicates an authorization failure in syncLoop or watchLoop. */ AuthError = 'auth-error', /** * `EpochMismatch` indicates the document was compacted on the server * and this client must detach and reattach to recover. */ EpochMismatch = 'epoch-mismatch', } /** * `DocEvent` is an event that occurs in `Document`. It can be delivered * using `Document.subscribe()`. */ export type DocEvent

    = | StatusChangedEvent | ConnectionChangedEvent | SyncStatusChangedEvent | SnapshotEvent | LocalChangeEvent | RemoteChangeEvent | PresenceEvent

    | AuthErrorEvent | EpochMismatchEvent; /** * `DocEvents` represents document events that occur within * a single transaction (e.g., doc.update). */ export type DocEvents

    = Array>; interface BaseDocEvent { type: DocEventType; } /** * `StatusChangedEvent` is an event that occurs when the status of a document changes. */ export interface StatusChangedEvent extends BaseDocEvent { type: DocEventType.StatusChanged; source: OpSource; value: | { status: DocStatus.Attached; actorID: string } | { status: DocStatus.Detached } | { status: DocStatus.Removed }; } /** * `StreamConnectionStatus` represents whether the stream connection is connected or not. */ export enum StreamConnectionStatus { /** * `Connected` means that the stream connection is connected. */ Connected = 'connected', /** * `Disconnected` means that the stream connection is disconnected. */ Disconnected = 'disconnected', } /** * `ConnectionChangedEvent` is an event that occurs when the stream connection state changes. */ export interface ConnectionChangedEvent extends BaseDocEvent { type: DocEventType.ConnectionChanged; value: StreamConnectionStatus; } /** * `DocSyncStatus` represents the result of synchronizing the document with the server. */ export enum DocSyncStatus { /** * `Synced` means that document synced successfully. */ Synced = 'synced', /** * `SyncFiled` means that document synchronization has failed. */ SyncFailed = 'sync-failed', } /** * `SyncStatusChangedEvent` is an event that occurs when document is synced with the server. */ export interface SyncStatusChangedEvent extends BaseDocEvent { type: DocEventType.SyncStatusChanged; value: DocSyncStatus; } /** * `SnapshotEvent` is an event that occurs when a snapshot is received from * the server. */ export interface SnapshotEvent extends BaseDocEvent { type: DocEventType.Snapshot; source: OpSource.Remote; value: { snapshot: string | undefined; serverSeq: string; snapshotVector: string; }; } /** * `ChangeInfo` represents the modifications made during a document update * and the message passed. */ export interface ChangeInfo { message: string; operations: Array; actor: ActorID; clientSeq: number; serverSeq: string; } /** * `PresenceEvent` is an event that occurs when the presence of a client changes. */ export type PresenceEvent

    = | InitializedEvent

    | WatchedEvent

    | UnwatchedEvent

    | PresenceChangedEvent

    ; /** * `LocalChangeEvent` is an event that occurs when the document is changed * by local changes. */ export interface LocalChangeEvent< T = OpInfo, P extends Indexable = Indexable, > extends BaseDocEvent { type: DocEventType.LocalChange; source: OpSource.Local | OpSource.UndoRedo; value: ChangeInfo; rawChange?: ChangeStruct

    ; } /** * `RemoteChangeEvent` is an event that occurs when the document is changed * by remote changes. */ export interface RemoteChangeEvent< T = OpInfo, P extends Indexable = Indexable, > extends BaseDocEvent { type: DocEventType.RemoteChange; source: OpSource.Remote; value: ChangeInfo; rawChange?: ChangeStruct

    ; } export interface InitializedEvent

    extends BaseDocEvent { type: DocEventType.Initialized; source: OpSource.Local; value: Array<{ clientID: ActorID; presence: P }>; } export interface WatchedEvent

    extends BaseDocEvent { type: DocEventType.Watched; source: OpSource.Remote; value: { clientID: ActorID; presence: P }; } export interface UnwatchedEvent

    extends BaseDocEvent { type: DocEventType.Unwatched; source: OpSource.Remote; value: { clientID: ActorID; presence: P }; } export interface PresenceChangedEvent< P extends Indexable, > extends BaseDocEvent { type: DocEventType.PresenceChanged; source: OpSource; value: { clientID: ActorID; presence: P }; } export interface AuthErrorEvent extends BaseDocEvent { type: DocEventType.AuthError; value: { reason: string; method: 'PushPull' | 'Watch'; }; } export interface EpochMismatchEvent extends BaseDocEvent { type: DocEventType.EpochMismatch; value: { method: 'PushPull'; }; } type DocEventCallbackMap

    = { default: NextFn< LocalChangeEvent | RemoteChangeEvent | SnapshotEvent >; presence: NextFn>; 'my-presence': NextFn | PresenceChangedEvent

    >; others: NextFn | UnwatchedEvent

    | PresenceChangedEvent

    >; connection: NextFn; status: NextFn; sync: NextFn; 'auth-error': NextFn; 'epoch-mismatch': NextFn; all: NextFn>; }; export type DocEventTopic = keyof DocEventCallbackMap; export type DocEventCallback

    = DocEventCallbackMap

    [DocEventTopic]; /** * `Json` represents the JSON data type. It is used to represent the data * structure of the document. */ export type Json = JsonPrimitive | JsonArray | JsonObject; // eslint-disable-next-line @typescript-eslint/no-restricted-types type JsonPrimitive = string | number | boolean | null; type JsonArray = Array; type JsonObject = { [key: string]: Json | undefined }; /** * `Indexable` represents an object with string keys and Json values. It is * used to various places such as the presence or attributes of text elements * and etc. */ export type Indexable = Record; export type LeafElement = PrimitiveValue | Primitive | Text | Counter | Tree; export type BaseArray = JSONArray | Array; export type BaseObject = JSONObject | T; /** * `OpInfoOfElement` represents the type of the operation info of the given element. */ type OpInfoOfElement = TElem extends Text ? TextOpInfo : TElem extends Counter ? CounterOpInfo : TElem extends Tree ? TreeOpInfo : TElem extends BaseArray ? ArrayOpInfo : TElem extends BaseObject ? ObjectOpInfo : OpInfo; /** * `OpInfoOfInner` represents the type of the operation info of the * given path in the Document.subscribe. */ type OpInfoOfInner< TElem, TKeyOrPath, TDepth extends number = 0, > = TDepth extends 0 ? OpInfoOfElement : TKeyOrPath extends `${infer TFirst}.${infer TRest}` ? TFirst extends keyof TElem ? OpInfoOfInner> : OpInfo : TKeyOrPath extends keyof TElem ? OpInfoOfElement : OpInfo; /** * `DecreasedDepthOf` represents the type of the decreased depth of the given depth. */ type DecreasedDepthOf = Depth extends 10 ? 9 : Depth extends 9 ? 8 : Depth extends 8 ? 7 : Depth extends 7 ? 6 : Depth extends 6 ? 5 : Depth extends 5 ? 4 : Depth extends 4 ? 3 : Depth extends 3 ? 2 : Depth extends 2 ? 1 : Depth extends 1 ? 0 : -1; /** * `PathOfInner` represents the type of the path of the given element. */ type PathOfInner< TElem, Prefix extends string = '', Depth extends number = 0, > = Depth extends 0 ? Prefix : TElem extends Record ? { [TKey in keyof TElem]: TElem[TKey] extends LeafElement ? `${Prefix}${TKey & string}` : TElem[TKey] extends BaseArray ? | `${Prefix}${TKey & string}` | `${Prefix}${TKey & string}.${number}` | PathOfInner< TArrayElement, `${Prefix}${TKey & string}.${number}.`, DecreasedDepthOf > : | `${Prefix}${TKey & string}` | PathOfInner< TElem[TKey], `${Prefix}${TKey & string}.`, DecreasedDepthOf >; }[keyof TElem] : Prefix extends `${infer TRest}.` ? TRest : Prefix; /** * `OpInfoOf` represents the type of the operation info of the given * path in the Document.subscribe. It is used to remove the `$.` prefix. */ type OpInfoOf< TRoot, TKey extends string = '', TDepth extends number = 10, > = TKey extends `$.${infer TPath}` ? OpInfoOfInner : OpInfoOfInner; /** * `PathOf` represents the type of all possible paths in the Document.subscribe. */ type PathOf = PathOfInner; /** * `Document` is a CRDT-based data type. We can represent the model * of the application and edit it even while offline. * It implements Attachable interface to be managed by Attachment. */ export class Document< R, P extends Indexable = Indexable, > implements Attachable { private key: string; private status: DocStatus; private opts: DocumentOptions; private maxSizeLimit: number; private schemaRules: Array; private changeID: ChangeID; private checkpoint: Checkpoint; private localChanges: Array>; private root: CRDTRoot; private presences: Map; private clone?: { root: CRDTRoot; presences: Map }; private internalHistory: History

    ; private isUpdating: boolean; private onlineClients: Set; private eventStream: Observable>; private eventStreamObserver!: Observer>; /** * `history` is exposed to the user to manage undo/redo operations. */ public history; constructor(key: string, opts?: DocumentOptions) { this.key = key; this.status = DocStatus.Detached; this.opts = opts || {}; this.maxSizeLimit = 0; this.schemaRules = []; this.changeID = InitialChangeID; this.checkpoint = InitialCheckpoint; this.localChanges = []; this.root = CRDTRoot.create(); this.presences = new Map(); this.onlineClients = new Set(); this.internalHistory = new History(); this.isUpdating = false; this.eventStream = createObservable>( (observer) => (this.eventStreamObserver = observer), ); this.history = { canUndo: () => this.internalHistory.hasUndo() && !this.isUpdating, canRedo: () => this.internalHistory.hasRedo() && !this.isUpdating, undo: () => this.executeUndoRedo(true), redo: () => this.executeUndoRedo(false), }; setupDevtools(this); } /** * `update` executes the given updater to update this document. */ public update( updater: (root: JSONObject, presence: Channel

    ) => void, message?: string, ): void { if (this.getStatus() === DocStatus.Removed) { throw new YorkieError(Code.ErrDocumentRemoved, `${this.key} is removed`); } // 01. Update the clone object and create a change. this.ensureClone(); const actorID = this.changeID.getActorID(); const ctx = ChangeContext.create

    ( this.changeID, this.clone!.root, this.clone!.presences.get(actorID) || ({} as P), message, ); try { const proxy = createJSON>( ctx, this.clone!.root.getObject(), ); if (!this.presences.has(actorID)) { this.clone!.presences.set(actorID, {} as P); } // NOTE(hackerwins): The updater should not be able to call undo/redo. // If the updater calls undo/redo, an error will be thrown. this.isUpdating = true; updater(proxy, new Channel(ctx, this.clone!.presences.get(actorID)!)); } catch (err) { // NOTE(hackerwins): If the updater fails, we need to remove the cloneRoot and // clonePresences to prevent the user from accessing the invalid state. this.clone = undefined; throw err; } finally { this.isUpdating = false; } const rules = this.getSchemaRules(); if (!ctx.isPresenceOnlyChange() && rules.length) { const result = validateYorkieRuleset(this.clone?.root.getObject(), rules); if (!result.valid) { this.clone = undefined; throw new YorkieError( Code.ErrDocumentSchemaValidationFailed, `schema validation failed: ${result.errors ?.map((error) => error.message) .join(', ')}`, ); } } const size = totalDocSize(this.clone?.root.getDocSize()); if ( !ctx.isPresenceOnlyChange() && this.maxSizeLimit > 0 && this.maxSizeLimit < size ) { // NOTE(hackerwins): If the updater fails, we need to remove the cloneRoot and // clonePresences to prevent the user from accessing the invalid state. this.clone = undefined; throw new YorkieError( Code.ErrDocumentSizeExceedsLimit, `document size exceeded: ${size} > ${this.maxSizeLimit}`, ); } // 02. Update the root object and presences from changes. if (ctx.hasChange()) { if (logger.isEnabled(LogLevel.Trivial)) { logger.trivial(`trying to update a local change: ${this.toJSON()}`); } const prev = { hadPresence: this.presences.has(actorID), wasOnline: this.status === DocStatus.Attached, presence: this.presences.has(actorID) ? deepcopy(this.presences.get(actorID)!) : undefined, }; const change = ctx.toChange(); const { opInfos, reverseOps } = change.execute( this.root, this.presences, OpSource.Local, ); // NOTE(hackerwins): In update(Set), the element is replaced with a new value. // The history stack may still reference the old element's createdAt, // so we reconcile it to the new createdAt here. for (const op of change.getOperations()) { if (op instanceof ArraySetOperation) { this.internalHistory.reconcileCreatedAt( op.getCreatedAt(), op.getValue().getCreatedAt(), ); } } const reversePresence = ctx.getReversePresence(); if (reversePresence) { reverseOps.push({ type: 'presence', value: reversePresence, }); } this.localChanges.push(change); if (reverseOps.length) { this.internalHistory.pushUndo(reverseOps); } // NOTE(chacha912): Clear redo when a new local operation is applied. if (opInfos.length) { this.internalHistory.clearRedo(); } this.changeID = ctx.getNextID(); // 03. Publish the document change event. // NOTE(chacha912): Check opInfos, which represent the actually executed operations. const event: DocEvents

    = []; if (opInfos.length) { event.push({ type: DocEventType.LocalChange, source: OpSource.Local, value: { message: change.getMessage() || '', operations: opInfos, actor: actorID, clientSeq: change.getID().getClientSeq(), serverSeq: change.getID().getServerSeq(), }, rawChange: this.isEnableDevtools() ? change.toStruct() : undefined, }); } if (change.hasPresenceChange()) { const presenceEvent = this.reconcilePresence( actorID, prev, OpSource.Local, ); if (presenceEvent) { event.push(presenceEvent); } } this.publish(event); if (logger.isEnabled(LogLevel.Trivial)) { logger.trivial(`after update a local change: ${this.toJSON()}`); } } } /** * `subscribe` registers a callback to subscribe to events on the document. * The callback will be called when the document is changed. */ public subscribe( next: DocEventCallbackMap

    ['default'], error?: ErrorFn, complete?: CompleteFn, ): Unsubscribe; /** * `subscribe` registers a callback to subscribe to events on the document. * The callback will be called when the clients watching the document * establishe or update its presence. */ public subscribe( type: 'presence', next: DocEventCallbackMap

    ['presence'], error?: ErrorFn, complete?: CompleteFn, ): Unsubscribe; /** * `subscribe` registers a callback to subscribe to events on the document. * The callback will be called when the current client establishes or updates its presence. */ public subscribe( type: 'my-presence', next: DocEventCallbackMap

    ['my-presence'], error?: ErrorFn, complete?: CompleteFn, ): Unsubscribe; /** * `subscribe` registers a callback to subscribe to events on the document. * The callback will be called when the client establishes or terminates a connection, * or updates its presence. */ public subscribe( type: 'others', next: DocEventCallbackMap

    ['others'], error?: ErrorFn, complete?: CompleteFn, ): Unsubscribe; /** * `subscribe` registers a callback to subscribe to events on the document. * The callback will be called when the stream connection status changes. */ public subscribe( type: 'connection', next: DocEventCallbackMap

    ['connection'], error?: ErrorFn, complete?: CompleteFn, ): Unsubscribe; /** * `subscribe` registers a callback to subscribe to events on the document. * The callback will be called when the document status changes. */ public subscribe( type: 'status', next: DocEventCallbackMap

    ['status'], error?: ErrorFn, complete?: CompleteFn, ): Unsubscribe; /** * `subscribe` registers a callback to subscribe to events on the document. * The callback will be called when the document is synced with the server. */ public subscribe( type: 'sync', next: DocEventCallbackMap

    ['sync'], error?: ErrorFn, complete?: CompleteFn, ): Unsubscribe; /** * `subscribe` registers a callback to subscribe to events on the document. * The callback will be called when the targetPath or any of its nested values change. */ public subscribe, TOpInfo extends OpInfoOf>( targetPath: TPath, next: NextFn | RemoteChangeEvent>, error?: ErrorFn, complete?: CompleteFn, ): Unsubscribe; /** * `subscribe` registers a callback to subscribe to events on the document. * The callback will be called when the authentification error occurs. */ public subscribe( type: 'auth-error', next: DocEventCallbackMap

    ['auth-error'], error?: ErrorFn, ): Unsubscribe; /** * `subscribe` registers a callback to subscribe to events on the document. * The callback will be called when an epoch mismatch error occurs. */ public subscribe( type: 'epoch-mismatch', next: DocEventCallbackMap

    ['epoch-mismatch'], error?: ErrorFn, ): Unsubscribe; /** * `subscribe` registers a callback to subscribe to events on the document. */ public subscribe( type: 'all', next: DocEventCallbackMap

    ['all'], error?: ErrorFn, complete?: CompleteFn, ): Unsubscribe; /** * `subscribe` registers a callback to subscribe to events on the document. */ public subscribe, TOpInfo extends OpInfoOf>( arg1: TPath | DocEventTopic | DocEventCallbackMap

    ['default'], arg2?: | NextFn | RemoteChangeEvent> | DocEventCallback

    | ErrorFn, arg3?: ErrorFn | CompleteFn, arg4?: CompleteFn, ): Unsubscribe { if (typeof arg1 === 'string') { if (typeof arg2 !== 'function') { throw new YorkieError( Code.ErrInvalidArgument, 'Second argument must be a callback function', ); } if (arg1 === 'presence') { const callback = arg2 as DocEventCallbackMap

    ['presence']; return this.eventStream.subscribe( (event) => { for (const docEvent of event) { if ( docEvent.type !== DocEventType.Initialized && docEvent.type !== DocEventType.Watched && docEvent.type !== DocEventType.Unwatched && docEvent.type !== DocEventType.PresenceChanged ) { continue; } callback(docEvent); } }, arg3, arg4, ); } if (arg1 === 'my-presence') { const callback = arg2 as DocEventCallbackMap

    ['my-presence']; return this.eventStream.subscribe( (event) => { for (const docEvent of event) { if ( docEvent.type !== DocEventType.Initialized && docEvent.type !== DocEventType.PresenceChanged ) { continue; } if ( docEvent.type === DocEventType.PresenceChanged && docEvent.value.clientID !== this.changeID.getActorID() ) { continue; } callback(docEvent); } }, arg3, arg4, ); } if (arg1 === 'others') { const callback = arg2 as DocEventCallbackMap

    ['others']; return this.eventStream.subscribe( (event) => { for (const docEvent of event) { if ( docEvent.type !== DocEventType.Watched && docEvent.type !== DocEventType.Unwatched && docEvent.type !== DocEventType.PresenceChanged ) { continue; } if (docEvent.value.clientID !== this.changeID.getActorID()) { callback(docEvent); } } }, arg3, arg4, ); } if (arg1 === 'connection') { const callback = arg2 as DocEventCallbackMap

    ['connection']; return this.eventStream.subscribe( (event) => { for (const docEvent of event) { if (docEvent.type !== DocEventType.ConnectionChanged) { continue; } callback(docEvent); } }, arg3, arg4, ); } if (arg1 === 'status') { const callback = arg2 as DocEventCallbackMap

    ['status']; return this.eventStream.subscribe( (event) => { for (const docEvent of event) { if (docEvent.type !== DocEventType.StatusChanged) { continue; } callback(docEvent); } }, arg3, arg4, ); } if (arg1 === 'sync') { const callback = arg2 as DocEventCallbackMap

    ['sync']; return this.eventStream.subscribe( (event) => { for (const docEvent of event) { if (docEvent.type !== DocEventType.SyncStatusChanged) { continue; } callback(docEvent); } }, arg3, arg4, ); } if (arg1 === 'auth-error') { const callback = arg2 as DocEventCallbackMap

    ['auth-error']; return this.eventStream.subscribe((event) => { for (const docEvent of event) { if (docEvent.type !== DocEventType.AuthError) { continue; } callback(docEvent); } }, arg3); } if (arg1 === 'epoch-mismatch') { const callback = arg2 as DocEventCallbackMap

    ['epoch-mismatch']; return this.eventStream.subscribe((event) => { for (const docEvent of event) { if (docEvent.type !== DocEventType.EpochMismatch) { continue; } callback(docEvent); } }, arg3); } if (arg1 === 'all') { const callback = arg2 as DocEventCallbackMap

    ['all']; return this.eventStream.subscribe(callback, arg3, arg4); } const target = arg1; const callback = arg2 as NextFn< LocalChangeEvent | RemoteChangeEvent >; return this.eventStream.subscribe( (event) => { for (const docEvent of event) { if ( docEvent.type !== DocEventType.LocalChange && docEvent.type !== DocEventType.RemoteChange ) { continue; } const targetOps: Array = []; for (const op of docEvent.value.operations) { if (this.isSameElementOrChildOf(op.path, target)) { targetOps.push(op as TOpInfo); } } if (targetOps.length) { callback({ ...docEvent, value: { ...docEvent.value, operations: targetOps }, }); } } }, arg3, arg4, ); } if (typeof arg1 === 'function') { const callback = arg1 as DocEventCallbackMap

    ['default']; const error = arg2 as ErrorFn; const complete = arg3 as CompleteFn; return this.eventStream.subscribe( (event) => { for (const docEvent of event) { if ( docEvent.type !== DocEventType.Snapshot && docEvent.type !== DocEventType.LocalChange && docEvent.type !== DocEventType.RemoteChange ) { continue; } callback(docEvent); } }, error, complete, ); } throw new YorkieError(Code.ErrInvalidArgument, `"${arg1}" is not a valid`); } /** * `publish` triggers an event in this document, which can be received by * callback functions from document.subscribe(). */ public publish(events: DocEvents

    ) { if (this.eventStreamObserver) { this.eventStreamObserver.next(events); } } /** * `applyChangePack` applies the given change pack into this document. * 1. Remove local changes applied to server. * 2. Update the checkpoint. * 3. Do Garbage collection. */ public applyChangePack(pack: ChangePack

    ): void { // 01. Apply snapshot or changes to the root object. if (pack.hasSnapshot()) { this.applySnapshot( pack.getCheckpoint().getServerSeq(), pack.getVersionVector()!, pack.getSnapshot()!, pack.getCheckpoint().getClientSeq(), ); } else { this.applyChanges(pack.getChanges(), OpSource.Remote); this.removePushedLocalChanges(pack.getCheckpoint().getClientSeq()); } // 02. Update the checkpoint. this.checkpoint = this.checkpoint.forward(pack.getCheckpoint()); // 03. Do Garbage collection. if (!pack.hasSnapshot()) { this.garbageCollect(pack.getVersionVector()!); } // 04. Update the status. if (pack.getIsRemoved()) { this.applyStatus(DocStatus.Removed); } if (logger.isEnabled(LogLevel.Trivial)) { logger.trivial(`${this.root.toJSON()}`); } } /** * `getCheckpoint` returns the checkpoint of this document. */ public getCheckpoint(): Checkpoint { return this.checkpoint; } /** * `getChangeID` returns the change id of this document. */ public getChangeID(): ChangeID { return this.changeID; } /** * `hasLocalChanges` returns whether this document has local changes or not. */ public hasLocalChanges(): boolean { return this.localChanges.length > 0; } /** * `ensureClone` make a clone of root. */ public ensureClone(): void { if (this.clone) { return; } this.clone = { root: this.root.deepcopy(), presences: deepcopy(this.presences), }; } /** * `createChangePack` create change pack of the local changes to send to the * remote server. */ public createChangePack(): ChangePack

    { const changes = Array.from(this.localChanges); const checkpoint = this.checkpoint.increaseClientSeq(changes.length); return ChangePack.create( this.key, checkpoint, false, changes, this.getVersionVector(), ); } /** * `setActor` sets actor into this document. This is also applied in the local * changes the document has. */ public setActor(actorID: ActorID): void { for (const change of this.localChanges) { change.setActor(actorID); } this.changeID = this.changeID.setActor(actorID); // TODO(hackerwins): If the given actorID is not IntialActorID, we need to // update InitialActor of the root and clone. } /** * `isEnableDevtools` returns whether devtools is enabled or not. */ public isEnableDevtools(): boolean { return !!this.opts.enableDevtools; } /** * `getKey` returns the key of this document. */ public getKey(): string { return this.key; } /** * `getStatus` returns the status of this document. */ public getStatus(): DocStatus { return this.status; } /** * `getClone` returns this clone. */ public getClone() { return this.clone; } /** * `getCloneRoot` returns clone object. */ public getCloneRoot(): CRDTObject | undefined { if (!this.clone) { return; } return this.clone.root.getObject(); } /** * `getRoot` returns a new proxy of cloned root. */ public getRoot(): JSONObject { this.ensureClone(); const ctx = ChangeContext.create( this.changeID.next(), this.clone!.root, this.clone!.presences.get(this.changeID.getActorID()) || ({} as P), ); return createJSON(ctx, this.clone!.root.getObject()); } /** * `getDocSize` returns the size of this document. */ public getDocSize(): DocSize { return this.root.getDocSize(); } /** * `getMaxSizePerDocument` gets the maximum size of this document. */ public getMaxSizePerDocument() { return this.maxSizeLimit; } /** * `setMaxSizePerDocument` sets the maximum size of this document. */ public setMaxSizePerDocument(size: number) { this.maxSizeLimit = size; } /** * `getSchemaRules` gets the schema rules of this document. */ public getSchemaRules() { return this.schemaRules; } /** * `setSchemaRules` sets the schema rules of this document. */ public setSchemaRules(rules: Array) { this.schemaRules = rules; } /** * `garbageCollect` purges elements that were removed before the given time. */ public garbageCollect(minSyncedVersionVector: VersionVector): number { if (this.opts.disableGC) { return 0; } if (this.clone) { this.clone.root.garbageCollect(minSyncedVersionVector); } return this.root.garbageCollect(minSyncedVersionVector); } /** * `getRootObject` returns root object. */ public getRootObject(): CRDTObject { return this.root.getObject(); } /** * `getGarbageLen` returns the length of elements should be purged. */ public getGarbageLen(): number { return this.root.getGarbageLen(); } /** * `getRootCRDT` returns the CRDTRoot for testing purposes. * This method is intended for internal testing only. */ public getRootCRDT(): CRDTRoot { return this.root; } /** * `getGarbageLenFromClone` returns the length of elements should be purged from clone. */ public getGarbageLenFromClone(): number { return this.clone!.root.getGarbageLen(); } /** * `toJSON` returns the JSON encoding of this document. */ public toJSON(): string { return this.root.toJSON(); } /** * `toSortedJSON` returns the sorted JSON encoding of this document. */ public toSortedJSON(): string { return this.root.toSortedJSON(); } /** * `getStats` returns the statistics of this document. */ public getStats(): RootStats { return this.root.getStats(); } /** * `toJSForTest` returns value with meta data for testing. */ public toJSForTest(): Devtools.JSONElement { return { ...this.getRoot().toJSForTest(), key: 'root', }; } /** * `applySnapshot` applies the given snapshot into this document. */ public applySnapshot( serverSeq: bigint, snapshotVector: VersionVector, snapshot?: Uint8Array, clientSeq: number = -1, ) { const { root, presences } = converter.bytesToSnapshot

    (snapshot); this.root = new CRDTRoot(root); this.presences = presences; this.changeID = this.changeID.setClocks( snapshotVector.maxLamport(), snapshotVector, ); // drop clone because it is contaminated. this.clone = undefined; this.removePushedLocalChanges(clientSeq); // NOTE(hackerwins): If the document has local changes, we need to apply // them after applying the snapshot, as local changes are not included in the snapshot data. // Afterward, we should publish a snapshot event with the latest // version of the document to ensure the user receives the most up-to-date snapshot. this.applyChanges(this.localChanges, OpSource.Local); this.clearHistory(); this.publish([ { type: DocEventType.Snapshot, source: OpSource.Remote, value: { serverSeq: serverSeq.toString(), snapshot: this.isEnableDevtools() ? converter.bytesToHex(snapshot) : undefined, snapshotVector: converter.versionVectorToHex(snapshotVector), }, }, ]); } /** * `clearHistory` flushes both undo and redo stacks. This is used * after applying a snapshot or initialRoot so that setup operations * are not reachable via undo. */ public clearHistory() { this.internalHistory.clearRedo(); this.internalHistory.clearUndo(); } /** * `applyChanges` applies the given changes into this document. */ public applyChanges(changes: Array>, source: OpSource): void { if (logger.isEnabled(LogLevel.Debug)) { logger.debug( `trying to apply ${changes.length} remote changes.` + `elements:${this.root.getElementMapSize()}, ` + `removeds:${this.root.getGarbageElementSetSize()}`, ); } if (logger.isEnabled(LogLevel.Trivial)) { logger.trivial( changes .map( (change) => `${change.getID().toTestString()}\t${change.toTestString()}`, ) .join('\n'), ); } for (const change of changes) { this.applyChange(change, source); } if (logger.isEnabled(LogLevel.Debug)) { logger.debug( `after appling ${changes.length} remote changes.` + `elements:${this.root.getElementMapSize()}, ` + ` removeds:${this.root.getGarbageElementSetSize()}`, ); } } /** * `applyChange` applies the given change into this document. */ public applyChange(change: Change

    , source: OpSource) { this.ensureClone(); change.execute(this.clone!.root, this.clone!.presences, source); const events: DocEvents

    = []; const actorID = change.getID().getActorID(); // Capture prev state before execute updates this.presences const prev = change.hasPresenceChange() ? { hadPresence: this.presences.has(actorID), wasOnline: this.onlineClients.has(actorID), presence: this.presences.has(actorID) ? deepcopy(this.presences.get(actorID)!) : undefined, } : undefined; const { opInfos, operations } = change.execute( this.root, this.presences, source, ); for (const op of operations) { if (op instanceof EditOperation) { const [from, to] = op.normalizePos(this.root); this.internalHistory.reconcileTextEdit( op.getParentCreatedAt(), from, to, op.getContent()?.length ?? 0, ); } if (op instanceof TreeEditOperation) { const [from, to] = op.normalizePos(); this.internalHistory.reconcileTreeEdit( op.getParentCreatedAt(), from, to, op.getContentSize(), ); } } this.changeID = this.changeID.syncClocks(change.getID()); if (opInfos.length) { const rawChange = this.isEnableDevtools() ? change.toStruct() : undefined; events.push( source === OpSource.Remote ? { type: DocEventType.RemoteChange, source, value: { actor: actorID, clientSeq: change.getID().getClientSeq(), serverSeq: change.getID().getServerSeq(), message: change.getMessage() || '', operations: opInfos, }, rawChange, } : { type: DocEventType.LocalChange, source, value: { actor: actorID, clientSeq: change.getID().getClientSeq(), serverSeq: change.getID().getServerSeq(), message: change.getMessage() || '', operations: opInfos, }, rawChange, }, ); } if (prev && change.hasPresenceChange()) { const presenceChange = change.getPresenceChange()!; if (presenceChange.type === PresenceChangeType.Clear) { this.removeOnlineClient(actorID); } const presenceEvent = this.reconcilePresence(actorID, prev, source); if (presenceEvent) { events.push(presenceEvent); } } // DocEvent should be emitted synchronously with applying changes. // This is because 3rd party model should be synced with the Document // after RemoteChange event is emitted. If the event is emitted // asynchronously, the model can be changed and breaking consistency. if (events.length) { this.publish(events); } } /** * `applyWatchInit` applies the watch initialization with the given client IDs. */ public applyWatchInit(clientIDs: Array) { const onlineClients: Set = new Set(); for (const clientID of clientIDs) { if (clientID === this.changeID.getActorID()) { continue; } onlineClients.add(clientID); } this.setOnlineClients(onlineClients); // NOTE(hackerwins): We intentionally do NOT prune presences for clients // no longer in the online set. The presences map retains stale entries, // but getPresences() / getOthersPresences() already filter by // onlineClients, so stale data is never exposed to the caller. // // Keeping stale presences allows correct recovery when a client's watch // stream reconnects: the server sends DOCUMENT_WATCHED, applyDocEvent // checks hasPresence(publisher), and because the old presence is still // in the map the "watched" event fires and the client becomes visible // again. Previously, pruning here deleted the presence, causing // hasPresence to return false and silently dropping the reconnected peer. this.publish([ { type: DocEventType.Initialized, source: OpSource.Local, value: this.getPresences(), }, ]); } /** * `applyDocEvent` applies the given doc event into this document. */ public applyDocEvent(type: PbDocEventType, publisher: string) { const prev = { hadPresence: this.presences.has(publisher), wasOnline: this.onlineClients.has(publisher), presence: this.presences.has(publisher) ? deepcopy(this.presences.get(publisher)!) : undefined, }; if (type === PbDocEventType.DOCUMENT_WATCHED) { if (this.onlineClients.has(publisher) && this.hasPresence(publisher)) { return; } this.addOnlineClient(publisher); } else if (type === PbDocEventType.DOCUMENT_UNWATCHED) { this.removeOnlineClient(publisher); this.presences.delete(publisher); } const event = this.reconcilePresence(publisher, prev, OpSource.Remote); if (event) { this.publish([event]); } } /** * `applyStatus` applies the document status into this document. */ public applyStatus(status: DocStatus) { const actorID = this.changeID.getActorID(); const prev = { hadPresence: this.presences.has(actorID), wasOnline: this.status === DocStatus.Attached, presence: this.presences.has(actorID) ? deepcopy(this.presences.get(actorID)!) : undefined, }; this.status = status; if (status === DocStatus.Detached) { this.setActor(InitialActorID); } const event = this.reconcilePresence(actorID, prev, OpSource.Local); if (event) { this.publish([event]); } this.publish([ { source: status === DocStatus.Removed ? OpSource.Remote : OpSource.Local, type: DocEventType.StatusChanged, value: status === DocStatus.Attached ? { status, actorID: this.changeID.getActorID() } : { status }, }, ]); } /** * `applyDocEventsForReplay` applies the given events into this document. */ public applyDocEventsForReplay(events: Array>) { for (const event of events) { if (event.type === DocEventType.StatusChanged) { this.applyStatus(event.value.status); if (event.value.status === DocStatus.Attached) { this.setActor(event.value.actorID); } continue; } if (event.type === DocEventType.Snapshot) { const { snapshot, serverSeq, snapshotVector } = event.value; if (!snapshot) continue; // TODO(hackerwins): We need to check version vector and lamport clock // of the snapshot is valid. this.applySnapshot( BigInt(serverSeq), converter.hexToVersionVector(snapshotVector), converter.hexToBytes(snapshot), ); continue; } if ( event.type === DocEventType.LocalChange || event.type === DocEventType.RemoteChange ) { if (!event.rawChange) continue; const change = Change.fromStruct

    (event.rawChange); this.applyChange(change, event.source); } if (event.type === DocEventType.Initialized) { const onlineClients: Set = new Set(); for (const { clientID, presence } of event.value) { onlineClients.add(clientID); this.presences.set(clientID, presence); } this.setOnlineClients(onlineClients); } else if (event.type === DocEventType.Watched) { const { clientID, presence } = event.value; this.addOnlineClient(clientID); this.presences.set(clientID, presence); } else if (event.type === DocEventType.Unwatched) { const { clientID } = event.value; this.removeOnlineClient(clientID); this.presences.delete(clientID); } else if (event.type === DocEventType.PresenceChanged) { const { clientID, presence } = event.value; this.presences.set(clientID, presence); } } } /** * `getValueByPath` returns the JSONElement corresponding to the given path. */ public getValueByPath(path: string): JSONElement | undefined { if (!path.startsWith('$')) { throw new YorkieError( Code.ErrInvalidArgument, `path must start with "$"`, ); } const paths = path.split('.'); paths.shift(); let value: JSONObject = this.getRoot(); for (const key of paths) { value = value[key]; if (!value) return undefined; } return value; } /** * `setOnlineClients` sets the given online client set. */ public setOnlineClients(onlineClients: Set) { this.onlineClients = onlineClients; } /** * `resetOnlineClients` resets the online client set. */ public resetOnlineClients() { this.onlineClients = new Set(); } /** * `addOnlineClient` adds the given clientID into the online client set. */ public addOnlineClient(clientID: ActorID) { this.onlineClients.add(clientID); } /** * `removeOnlineClient` removes the clientID from the online client set. */ public removeOnlineClient(clientID: ActorID) { this.onlineClients.delete(clientID); } /** * `reconcilePresence` compares the previous and current state of a client's * presence/online status and returns the appropriate event to emit. * * For remote clients, "online" means the client is in onlineClients. * For self, "online" means the document status is Attached. * * State transition table: * (!hadP || !wasOn) → (hasP && isOn) : watched (remote) or presence-changed (self) * (hadP && wasOn) → (hasP && isOn) : presence-changed * (hadP && wasOn) → (!hasP || !isOn): unwatched (remote only) * otherwise : no event (waiting) */ private reconcilePresence( actorID: ActorID, prev: { hadPresence: boolean; wasOnline: boolean; presence?: P }, source: OpSource, ): WatchedEvent

    | UnwatchedEvent

    | PresenceChangedEvent

    | undefined { const isSelf = actorID === this.changeID.getActorID(); const hasPresence = this.presences.has(actorID); const isOnline = isSelf ? this.status === DocStatus.Attached : this.onlineClients.has(actorID); if (!hasPresence || !isOnline) { // Transitioned from ready → not ready: unwatched (remote only) if (prev.hadPresence && prev.wasOnline && !isSelf) { return { type: DocEventType.Unwatched, source: OpSource.Remote, value: { clientID: actorID, presence: prev.presence!, }, }; } return undefined; } const presence = deepcopy(this.presences.get(actorID)!); if (!prev.hadPresence || !prev.wasOnline) { // Transitioned from not-ready → ready if (isSelf) { return { type: DocEventType.PresenceChanged, source, value: { clientID: actorID, presence }, }; } return { type: DocEventType.Watched, source: OpSource.Remote, value: { clientID: actorID, presence }, }; } // Both were ready and still are: presence value changed return { type: DocEventType.PresenceChanged, source, value: { clientID: actorID, presence }, }; } /** * `hasPresence` returns whether the given clientID has a presence or not. */ public hasPresence(clientID: ActorID): boolean { return this.presences.has(clientID); } /** * `getMyPresence` returns the presence of the current client. */ public getMyPresence(): P { // TODO(chacha912): After resolving the presence initialization issue, // remove default presence.(#608) if (this.status !== DocStatus.Attached) { return {} as P; } const p = this.presences.get(this.changeID.getActorID())!; return p ? deepcopy(p) : ({} as P); } /** * `getOthersPresences` returns the presences of all other clients. */ public getOthersPresences(): Array<{ clientID: ActorID; presence: P }> { const others: Array<{ clientID: ActorID; presence: P }> = []; const myClientID = this.changeID.getActorID(); for (const clientID of this.onlineClients) { if (clientID !== myClientID && this.presences.has(clientID)) { others.push({ clientID, presence: deepcopy(this.presences.get(clientID)!), }); } } return others; } /** * `getPresence` returns the presence of the given clientID. */ public getPresence(clientID: ActorID): P | undefined { if (clientID === this.changeID.getActorID()) { return this.getMyPresence(); } if (!this.onlineClients.has(clientID)) return; const p = this.presences.get(clientID); return p ? deepcopy(p) : undefined; } /** * `getPresences` returns the presences of online clients. */ public getPresences(): Array<{ clientID: ActorID; presence: P }> { const presences: Array<{ clientID: ActorID; presence: P }> = []; presences.push({ clientID: this.changeID.getActorID(), presence: deepcopy(this.getMyPresence()), }); for (const clientID of this.onlineClients) { if (this.presences.has(clientID)) { presences.push({ clientID, presence: deepcopy(this.presences.get(clientID)!), }); } } return presences; } /** * `getPresenceForTest` returns the presence of the given clientID * regardless of whether the client is online or not. */ public getPresenceForTest(clientID: ActorID): P | undefined { const p = this.presences.get(clientID); return p ? deepcopy(p) : undefined; } /** * `getSelfForTest` returns the client that has attached this document. */ public getSelfForTest() { return { clientID: this.getChangeID().getActorID(), presence: this.getMyPresence(), }; } /** * `getOthersForTest` returns all the other clients in online, sorted by clientID. */ public getOthersForTest() { const myClientID = this.getChangeID().getActorID(); return this.getPresences() .filter((a) => a.clientID !== myClientID) .sort((a, b) => (a.clientID > b.clientID ? 1 : -1)); } /** * `getUndoStackForTest` returns the undo stack for test. */ public getUndoStackForTest(): Array>> { return this.internalHistory.getUndoStackForTest(); } /** * `getRedoStackForTest` returns the redo stack for test. */ public getRedoStackForTest(): Array>> { return this.internalHistory.getRedoStackForTest(); } /** * `getVersionVector` returns the version vector of document */ public getVersionVector() { return this.changeID.getVersionVector(); } private isSameElementOrChildOf(elem: string, parent: string): boolean { if (parent === elem) { return true; } const nodePath = elem.split('.'); return parent.split('.').every((path, index) => path === nodePath[index]); } /** * `removePushedLocalChanges` removes local changes that have been applied to * the server from the local changes. * * @param clientSeq - client sequence number to remove local changes before it */ private removePushedLocalChanges(clientSeq: number) { while (this.localChanges.length) { const change = this.localChanges[0]; if (change.getID().getClientSeq() > clientSeq) { break; } this.localChanges.shift(); } } /** * `executeUndoRedo` executes undo or redo operation with shared logic. */ private executeUndoRedo(isUndo: boolean): void { if (this.isUpdating) { throw new YorkieError( Code.ErrRefused, `${isUndo ? 'Undo' : 'Redo'} is not allowed during an update`, ); } const ops = isUndo ? this.internalHistory.popUndo() : this.internalHistory.popRedo(); if (!ops) { return; } this.ensureClone(); // TODO(chacha912): After resolving the presence initialization issue, // remove default presence.(#608) const ctx = ChangeContext.create

    ( this.changeID, this.clone!.root, this.clone!.presences.get(this.changeID.getActorID()) || ({} as P), ); // apply undo/redo operation in the context to generate a change for (const op of ops) { if (!(op instanceof Operation)) { // apply presence change to the context const presence = new Channel

    ( ctx, deepcopy(this.clone!.presences.get(this.changeID.getActorID())!), ); presence.set(op.value, { addToHistory: true }); continue; } const ticket = ctx.issueTimeTicket(); op.setExecutedAt(ticket); // NOTE(hackerwins): In undo/redo, both Set and Add may act as updates. // - Set: replaces the element value. // - Add: serves as UndoRemove, effectively restoring a deleted element. // In both cases, the history stack may point to the old createdAt, // so we update it to the new createdAt. if (op instanceof ArraySetOperation) { const prev = op.getCreatedAt(); op.getValue().setCreatedAt(ticket); this.internalHistory.reconcileCreatedAt(prev, ticket); } else if (op instanceof AddOperation) { const prev = op.getValue().getCreatedAt(); op.getValue().setCreatedAt(ticket); this.internalHistory.reconcileCreatedAt(prev, ticket); } ctx.push(op); } const change = ctx.toChange(); change.execute(this.clone!.root, this.clone!.presences, OpSource.UndoRedo); const actorID = this.changeID.getActorID(); const prev = { hadPresence: this.presences.has(actorID), wasOnline: this.status === DocStatus.Attached, presence: this.presences.has(actorID) ? deepcopy(this.presences.get(actorID)!) : undefined, }; const { opInfos, reverseOps } = change.execute( this.root, this.presences, OpSource.UndoRedo, ); const reverse = ctx.getReversePresence(); if (reverse) { reverseOps.push({ type: 'presence', value: reverse }); } if (reverseOps.length) { if (isUndo) { this.internalHistory.pushRedo(reverseOps); } else { this.internalHistory.pushUndo(reverseOps); } } // NOTE(chacha912): When there is no applied operation or presence // during undo/redo, skip propagating change remotely. if (!change.hasPresenceChange() && !opInfos.length) { return; } this.localChanges.push(change); this.changeID = ctx.getNextID(); const events: DocEvents

    = []; if (opInfos.length) { events.push({ type: DocEventType.LocalChange, source: OpSource.UndoRedo, value: { message: change.getMessage() || '', operations: opInfos, actor: actorID, clientSeq: change.getID().getClientSeq(), serverSeq: change.getID().getServerSeq(), }, rawChange: this.isEnableDevtools() ? change.toStruct() : undefined, }); } if (change.hasPresenceChange()) { const presenceEvent = this.reconcilePresence( actorID, prev, OpSource.UndoRedo, ); if (presenceEvent) { events.push(presenceEvent); } } this.publish(events); } } ================================================ FILE: packages/sdk/src/document/history.ts ================================================ /* * Copyright 2023 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { Operation } from './operation/operation'; import { Indexable } from './document'; import { ArraySetOperation } from './operation/array_set_operation'; import { RemoveOperation } from './operation/remove_operation'; import { MoveOperation } from './operation/move_operation'; import { AddOperation } from './operation/add_operation'; import { TimeTicket } from '../yorkie'; import { EditOperation } from './operation/edit_operation'; import { TreeEditOperation } from './operation/tree_edit_operation'; /** * `HistoryOperation` is a type of history operation. */ export type HistoryOperation

    = | Operation | { type: 'presence'; value: Partial

    ; }; /** * `MaxUndoRedoStackDepth` is the maximum depth of undo/redo stack. */ export const MaxUndoRedoStackDepth = 50; /** * `History` is a class that stores the history of the document. */ export class History

    { private undoStack: Array>> = []; private redoStack: Array>> = []; /** * `hasUndo` returns true if there are undo operations. */ public hasUndo(): boolean { return this.undoStack.length > 0; } /** * `hasRedo` returns true if there are redo operations. */ public hasRedo(): boolean { return this.redoStack.length > 0; } /** * `pushUndo` pushes new undo operations of a change to undo stack. */ public pushUndo(undoOps: Array>): void { if (this.undoStack.length >= MaxUndoRedoStackDepth) { this.undoStack.shift(); } this.undoStack.push(undoOps); } /** * `popUndo` pops the last undo operations of a change from undo stack. */ public popUndo(): Array> | undefined { return this.undoStack.pop(); } /** * `pushRedo` pushes new redo operations of a change to redo stack. */ public pushRedo(redoOps: Array>): void { if (this.redoStack.length >= MaxUndoRedoStackDepth) { this.redoStack.shift(); } this.redoStack.push(redoOps); } /** * `popRedo` pops the last redo operations of a change from redo stack. */ public popRedo(): Array> | undefined { return this.redoStack.pop(); } /** * `clearRedo` flushes remaining redo operations. */ public clearRedo(): void { this.redoStack = []; } /** * `clearUndo` flushes remaining undo operations. */ public clearUndo(): void { this.undoStack = []; } /** * `getUndoStackForTest` returns the undo stack for test. */ public getUndoStackForTest(): Array>> { return this.undoStack; } /** * `getRedoStackForTest` returns the redo stack for test. */ public getRedoStackForTest(): Array>> { return this.redoStack; } /** * `reconcileCreatedAt` updates the createdAt and prevCreatedAt fields. * * When an element is replaced(e.g., UndoRemove as Add, or Set), * it receives a new createdAt(executedAt). However, existing history * operations may still reference the old createdAt or prevCreatedAt. * * This method scans both undo/redo stacks and replaces any matching * createdAt/prevCreatedAt with the new one, ensuring consistency. */ public reconcileCreatedAt( prevCreatedAt: TimeTicket, currCreatedAt: TimeTicket, ): void { const replace = (stack: Array>>) => { // TODO(hackerwins): Optimize by indexing operations. for (const ops of stack) { for (const op of ops) { if ( (op instanceof ArraySetOperation || op instanceof RemoveOperation || op instanceof MoveOperation) && op.getCreatedAt() === prevCreatedAt ) { op.setCreatedAt(currCreatedAt); } if ( (op instanceof AddOperation || op instanceof MoveOperation) && op.getPrevCreatedAt() === prevCreatedAt ) { op.setPrevCreatedAt(currCreatedAt); } } } }; replace(this.undoStack); replace(this.redoStack); } /** * `reconcileTextEdit` reconciles the text edit operation. * Scan both undo/redo stacks and replace the edit operation with the new position. */ public reconcileTextEdit( parentCreatedAt: TimeTicket, rangeFrom: number, rangeTo: number, contentLength: number, ): void { const replace = (stack: Array>>) => { // TODO(hackerwins): Optimize by indexing operations. for (const ops of stack) { for (const op of ops) { if ( op instanceof EditOperation && op.getParentCreatedAt().compare(parentCreatedAt) === 0 ) { op.reconcileOperation(rangeFrom, rangeTo, contentLength); } } } }; replace(this.undoStack); replace(this.redoStack); } /** * `reconcileTreeEdit` reconciles the tree edit operation. * Scan both undo/redo stacks and adjust tree edit operations * when a remote edit modifies the same tree. */ public reconcileTreeEdit( parentCreatedAt: TimeTicket, rangeFrom: number, rangeTo: number, contentSize: number, ): void { const replace = (stack: Array>>) => { for (const ops of stack) { for (const op of ops) { if ( op instanceof TreeEditOperation && op.getParentCreatedAt().compare(parentCreatedAt) === 0 ) { op.reconcileOperation(rangeFrom, rangeTo, contentSize); } } } }; replace(this.undoStack); replace(this.redoStack); } } ================================================ FILE: packages/sdk/src/document/json/array.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { logger, LogLevel } from '@yorkie-js/sdk/src/util/logger'; import { TimeTicket } from '@yorkie-js/sdk/src/document/time/ticket'; import { AddOperation } from '@yorkie-js/sdk/src/document/operation/add_operation'; import { ArraySetOperation } from '@yorkie-js/sdk/src/document/operation/array_set_operation'; import { MoveOperation } from '@yorkie-js/sdk/src/document/operation/move_operation'; import { RemoveOperation } from '@yorkie-js/sdk/src/document/operation/remove_operation'; import { ChangeContext } from '@yorkie-js/sdk/src/document/change/context'; import { CRDTElement } from '@yorkie-js/sdk/src/document/crdt/element'; import { CRDTArray } from '@yorkie-js/sdk/src/document/crdt/array'; import { Primitive } from '@yorkie-js/sdk/src/document/crdt/primitive'; import { JSONElement, WrappedElement, toWrappedElement, toJSONElement, buildCRDTElement, } from '@yorkie-js/sdk/src/document/json/element'; import * as Devtools from '@yorkie-js/sdk/src/devtools/types'; import { Code, YorkieError } from '../../util/error'; /** * `JSONArray` represents JSON array, but unlike regular JSON, it has time * tickets created by a logical clock to resolve conflicts. */ export type JSONArray = { /** * `getID` returns the ID, `TimeTicket` of this Object. */ getID(): TimeTicket; /** * `getElementByID` returns the element for the given ID. */ getElementByID(createdAt: TimeTicket): WrappedElement; /** * `getElementByIndex` returns the element for the given index. */ getElementByIndex(index: number): WrappedElement; /** * `getLast` returns the last element of this array. */ getLast(): WrappedElement; /** * `setValue` sets the given value at the given index. */ setValue(index: number, value: unknown): WrappedElement; /** * `delete` deletes the element of the given index. */ delete(index: number): WrappedElement; /** * `deleteByID` deletes the element of the given ID. */ deleteByID(createdAt: TimeTicket): WrappedElement; /** * `insertBefore` inserts a value before the given next element. */ insertBefore(nextID: TimeTicket, value: any): WrappedElement; /** * `insertAfter` inserts a value after the given previous element. */ insertAfter(prevID: TimeTicket, value: any): WrappedElement; /** * `insertIntegerAfter` inserts a value after the given index. */ insertIntegerAfter(index: number, value: number): WrappedElement; /** * `moveBefore` moves the element before the given next element. */ moveBefore(nextID: TimeTicket, id: TimeTicket): void; /** * `moveAfter` moves the element after the given previous element. */ moveAfter(prevID: TimeTicket, id: TimeTicket): void; /** * `moveAfterByIndex` moves the element after the given index. */ moveAfterByIndex(prevIndex: number, targetIndex: number): void; /** * `moveFront` moves the element before the first element. */ moveFront(id: TimeTicket): void; /** * `moveLast` moves the element after the last element. */ moveLast(id: TimeTicket): void; /** * `elements` returns an iterator of wrapped elements including CRDT metadata. */ elements(): IterableIterator>; /** * `toTestString` returns a String containing the meta data of the node * for debugging purpose. */ toTestString(): string; /** * `toJSForTest` returns the JSON object of this array for debugging. */ toJSForTest(): Devtools.JSONElement; } & Array; /** * `createJSONArray` creates a new instance of JSONArray. */ export function createJSONArray( context: ChangeContext, target: CRDTArray, ): JSONArray { const arrayProxy = new ArrayProxy(context, target); return new Proxy(target, arrayProxy.getHandlers()) as any; } /** * `isNumericString` checks if value is numeric string. */ function isNumericString(val: any): boolean { if (typeof val === 'string' || val instanceof String) { return !isNaN(val as any); } return false; } /** * `isReadOnlyArrayMethod` checks if the method is a standard array read-only operation. */ function isReadOnlyArrayMethod(method: string): boolean { return [ 'concat', 'entries', 'every', 'filter', 'find', 'findIndex', 'forEach', 'join', 'keys', 'map', 'reduce', 'reduceRight', 'slice', 'some', 'toLocaleString', 'toString', 'values', ].includes(method); } /** * `ArrayProxy` is a proxy for Array. */ export class ArrayProxy { private context: ChangeContext; private handlers: any; private array: CRDTArray; constructor(context: ChangeContext, array: CRDTArray) { this.context = context; this.array = array; this.handlers = { get: ( target: CRDTArray, method: keyof JSONArray, receiver: any, ): any => { if (method === 'getID') { return (): TimeTicket => { return target.getCreatedAt(); }; } else if (method === 'getElementByID') { return (createdAt: TimeTicket): WrappedElement | undefined => { const elem = target.getByID(createdAt); if (!elem || elem.isRemoved()) { return; } return toWrappedElement(context, elem); }; } else if (method === 'getElementByIndex') { return (index: number): WrappedElement | undefined => { const elem = target.get(index); return toWrappedElement(context, elem); }; } else if (method === 'getLast') { return (): WrappedElement | undefined => { return toWrappedElement(context, target.getLast()); }; } else if (method === 'delete') { return (index: number): WrappedElement | undefined => { const deleted = ArrayProxy.deleteInternalByIndex( context, target, index, ); return toWrappedElement(context, deleted); }; } else if (method === 'deleteByID') { return (createdAt: TimeTicket): WrappedElement | undefined => { const deleted = ArrayProxy.deleteInternalByID( context, target, createdAt, ); return toWrappedElement(context, deleted); }; } else if (method === 'insertAfter') { return ( prevID: TimeTicket, value: any, ): WrappedElement | undefined => { // Convert element identity to position identity. let posCreatedAt: TimeTicket; try { posCreatedAt = target.posCreatedAt(prevID); } catch { posCreatedAt = prevID; } const inserted = ArrayProxy.insertAfterInternal( context, target, posCreatedAt, value, ); return toWrappedElement(context, inserted); }; } else if (method === 'insertIntegerAfter') { return (index: number, value: number): WrappedElement | undefined => { const array = ArrayProxy.insertIntegerAfterInternal( context, target, index, value, ); return toWrappedElement(context, array); }; } else if (method === 'insertBefore') { return ( nextID: TimeTicket, value: any, ): WrappedElement | undefined => { const inserted = ArrayProxy.insertBeforeInternal( context, target, nextID, value, ); return toWrappedElement(context, inserted); }; } else if (method === 'setValue') { return (index: number, value: number): WrappedElement | undefined => { const array = ArrayProxy.setValueInternal( context, target, index, value, ); return toWrappedElement(context, array); }; } else if (method === 'moveBefore') { return (nextID: TimeTicket, id: TimeTicket): void => { ArrayProxy.moveBeforeInternal(context, target, nextID, id); }; // JavaScript Native API } else if (method === 'moveAfter') { return (prevID: TimeTicket, id: TimeTicket): void => { ArrayProxy.moveAfterInternal(context, target, prevID, id); }; } else if (method === 'moveAfterByIndex') { return (prevIndex: number, targetIndex: number): void => { ArrayProxy.moveAfterByIndexInternal( context, target, prevIndex, targetIndex, ); }; } else if (method === 'moveFront') { return (id: TimeTicket): void => { ArrayProxy.moveFrontInternal(context, target, id); }; } else if (method === 'moveLast') { return (id: TimeTicket): void => { ArrayProxy.moveLastInternal(context, target, id); }; } else if (isNumericString(method)) { return toJSONElement(context, target.get(Number(method as string))); } else if (method === 'push') { return (value: any): number => { return ArrayProxy.pushInternal(context, target, value); }; } else if (method === 'splice') { return ( start: number, deleteCount?: number, ...items: Array ): JSONArray => { return ArrayProxy.splice( context, target, start, deleteCount, ...items, ); }; } else if (method === 'length') { return target.length; } else if (typeof method === 'symbol' && method === Symbol.iterator) { return ArrayProxy.iteratorInternal.bind(this, context, target); } else if (method === 'elements') { return ArrayProxy.wrappedIteratorInternal.bind(this, context, target); } else if (method === 'includes') { return (searchElement: JSONElement, fromIndex?: number): boolean => { return ArrayProxy.includes( context, target, searchElement, fromIndex, ); }; } else if (method === 'indexOf') { return (searchElement: JSONElement, fromIndex?: number): number => { return ArrayProxy.indexOf( context, target, searchElement, fromIndex, ); }; } else if (method === 'lastIndexOf') { return (searchElement: JSONElement, fromIndex?: number): number => { return ArrayProxy.lastIndexOf( context, target, searchElement, fromIndex, ); }; } else if (method === 'toJSForTest') { return (): Devtools.JSONElement => { return target.toJSForTest(); }; } else if (method === 'toTestString') { return (): string => ArrayProxy.toTestString(target); } else if ( typeof method === 'string' && isReadOnlyArrayMethod(method) ) { return (...args: any) => { const arr = Array.from(target).map((elem) => toJSONElement(context, elem), ); return Array.prototype[method as any].apply(arr, args); }; } // TODO we need to distinguish between the case we need to call default // behavior and the case where we need to call an internal method // throw new TypeError(`Unsupported method: ${String(method)}`); return Reflect.get(target, method, receiver); }, set: (target: CRDTArray, key: string, value: any): boolean => { if (isNumericString(key)) { const index = Number(key); ArrayProxy.setValueInternal(context, target, index, value); return true; } return Reflect.set(target, key, value); }, deleteProperty: (target: CRDTArray, key: string): boolean => { if (logger.isEnabled(LogLevel.Trivial)) { logger.trivial(`array[${key}]`); } ArrayProxy.deleteInternalByIndex(context, target, Number.parseInt(key)); return true; }, }; } // eslint-disable-next-line jsdoc/require-jsdoc public static *iteratorInternal( change: ChangeContext, target: CRDTArray, ): IterableIterator { for (const elem of target) { yield toJSONElement(change, elem)!; } } // eslint-disable-next-line jsdoc/require-jsdoc public static *wrappedIteratorInternal( change: ChangeContext, target: CRDTArray, ): IterableIterator { for (const elem of target) { yield toWrappedElement(change, elem)!; } } /** * `buildArrayElements` constructs array elements based on the user-provided array. */ public static buildArrayElements( context: ChangeContext, value: Array, ): Array { const elements: Array = []; for (const v of value) { const createdAt = context.issueTimeTicket(); const elem = buildCRDTElement(context, v, createdAt); elements.push(elem); } return elements; } /** * `pushInternal` pushes the value to the target array. */ public static pushInternal( context: ChangeContext, target: CRDTArray, value: unknown, ): number { ArrayProxy.insertAfterInternal( context, target, target.getLastCreatedAt(), value, ); return target.length; } /** * `moveBeforeInternal` moves the given `createdAt` element * after the previously created element. */ public static moveBeforeInternal( context: ChangeContext, target: CRDTArray, nextCreatedAt: TimeTicket, createdAt: TimeTicket, ): void { const ticket = context.issueTimeTicket(); const prevCreatedAt = target.getPrevCreatedAt(nextCreatedAt); const deadNode = target.moveAfter(prevCreatedAt, createdAt, ticket); context.push( MoveOperation.create( target.getCreatedAt(), prevCreatedAt, createdAt, ticket, ), ); if (deadNode) { context.registerGCPair({ parent: target.getRGATreeList(), child: deadNode, }); } } /** * `moveAfterInternal` moves the given `createdAt` element * after the specific element. Converts element identity to * position identity for the prevCreatedAt. */ public static moveAfterInternal( context: ChangeContext, target: CRDTArray, prevCreatedAt: TimeTicket, createdAt: TimeTicket, ): void { const ticket = context.issueTimeTicket(); // Convert element identity to position node identity. // Fall back to prevCreatedAt if not found in elementMap // (e.g., LastCreatedAt returns a position identity directly). let posCreatedAt: TimeTicket; try { posCreatedAt = target.posCreatedAt(prevCreatedAt); } catch { posCreatedAt = prevCreatedAt; } const deadNode = target.moveAfter(posCreatedAt, createdAt, ticket); context.push( MoveOperation.create( target.getCreatedAt(), posCreatedAt, createdAt, ticket, ), ); if (deadNode) { context.registerGCPair({ parent: target.getRGATreeList(), child: deadNode, }); } } /** * `moveAfterByIndexInternal` moves the given element to its new * position after the given previous element. */ public static moveAfterByIndexInternal( context: ChangeContext, target: CRDTArray, prevIndex: number, targetIndex: number, ): void { const prevElem = target.get(prevIndex); if (!prevElem) { throw new YorkieError( Code.ErrInvalidArgument, `index out of bounds: ${prevIndex}`, ); } const targetElem = target.get(targetIndex); if (!targetElem) { throw new YorkieError( Code.ErrInvalidArgument, `index out of bounds: ${targetIndex}`, ); } ArrayProxy.moveAfterInternal( context, target, prevElem.getCreatedAt(), targetElem.getCreatedAt(), ); } /** * `moveFrontInternal` moves the given `createdAt` element * at the first of array. */ public static moveFrontInternal( context: ChangeContext, target: CRDTArray, createdAt: TimeTicket, ): void { const ticket = context.issueTimeTicket(); const head = target.getHead(); const deadNode = target.moveAfter(head.getCreatedAt(), createdAt, ticket); context.push( MoveOperation.create( target.getCreatedAt(), head.getCreatedAt(), createdAt, ticket, ), ); if (deadNode) { context.registerGCPair({ parent: target.getRGATreeList(), child: deadNode, }); } } /** * `moveLastInternal` moves the given `createdAt` element * at the last of array. */ public static moveLastInternal( context: ChangeContext, target: CRDTArray, createdAt: TimeTicket, ): void { const ticket = context.issueTimeTicket(); const last = target.getLastCreatedAt(); const deadNode = target.moveAfter(last, createdAt, ticket); context.push( MoveOperation.create(target.getCreatedAt(), last, createdAt, ticket), ); if (deadNode) { context.registerGCPair({ parent: target.getRGATreeList(), child: deadNode, }); } } /** * `insertAfterInternal` inserts the value after the previously * created element. */ public static insertAfterInternal( context: ChangeContext, target: CRDTArray, prevCreatedAt: TimeTicket, value: unknown, ): CRDTElement { const createdAt = context.issueTimeTicket(); const element = buildCRDTElement(context, value, createdAt); target.insertAfter(prevCreatedAt, element); context.registerElement(element, target); context.push( AddOperation.create( target.getCreatedAt(), prevCreatedAt, element.deepcopy(), createdAt, ), ); return element; } /** * `insertIntegerAfterInternal` inserts the given integer after the given previous element. */ public static insertIntegerAfterInternal( context: ChangeContext, target: CRDTArray, index: number, value: number, ): CRDTElement { const prevElem = target.get(index); if (!prevElem) { throw new YorkieError( Code.ErrInvalidArgument, `index out of bounds: ${index}`, ); } // Convert element identity to position identity for the anchor. let posCreatedAt: TimeTicket; try { posCreatedAt = target.posCreatedAt(prevElem.getCreatedAt()); } catch { posCreatedAt = prevElem.getCreatedAt(); } ArrayProxy.insertAfterInternal(context, target, posCreatedAt, value); return target; } /** * `insertBeforeInternal` inserts the value before the previously created element. */ public static insertBeforeInternal( context: ChangeContext, target: CRDTArray, nextCreatedAt: TimeTicket, value: unknown, ): CRDTElement { return ArrayProxy.insertAfterInternal( context, target, target.getPrevCreatedAt(nextCreatedAt), value, ); } /** * `setValueInternal` sets the given value at the given index. */ public static setValueInternal( context: ChangeContext, target: CRDTArray, index: number, value: unknown, ): CRDTElement { const prev = target.get(index); if (!prev) { throw new YorkieError( Code.ErrInvalidArgument, `index out of bounds: ${index}`, ); } ArrayProxy.setByIndexInternal(context, target, prev.getCreatedAt(), value); return target; } /** * `setByIndexInternal` sets the element of the given index. */ public static setByIndexInternal( context: ChangeContext, target: CRDTArray, createdAt: TimeTicket, value: unknown, ): CRDTElement { const ticket = context.issueTimeTicket(); const element = buildCRDTElement(context, value, ticket); const copiedValue = element.deepcopy(); context.push( ArraySetOperation.create( target.getCreatedAt(), createdAt, copiedValue, ticket, ), ); target.set(createdAt, element, ticket); context.registerElement(element, target); return element; } /** * `deleteInternalByIndex` deletes target element of given index. */ public static deleteInternalByIndex( context: ChangeContext, target: CRDTArray, index: number, ): CRDTElement | undefined { const ticket = context.issueTimeTicket(); const deleted = target.deleteByIndex(index, ticket); if (!deleted) { return; } context.push( RemoveOperation.create( target.getCreatedAt(), deleted.getCreatedAt(), ticket, ), ); context.registerRemovedElement(deleted); return deleted; } /** * `deleteInternalByID` deletes the element of the given ID. */ public static deleteInternalByID( context: ChangeContext, target: CRDTArray, createdAt: TimeTicket, ): CRDTElement { const ticket = context.issueTimeTicket(); const deleted = target.delete(createdAt, ticket); context.push( RemoveOperation.create( target.getCreatedAt(), deleted.getCreatedAt(), ticket, ), ); context.registerRemovedElement(deleted); return deleted; } /** * `splice` is a method to remove elements from the array. */ public static splice( context: ChangeContext, target: CRDTArray, start: number, deleteCount?: number, ...items: Array ): JSONArray { const length = target.length; const from = start >= 0 ? Math.min(start, length) : Math.max(length + start, 0); const to = deleteCount === undefined ? length : deleteCount < 0 ? from : Math.min(from + deleteCount, length); const removeds: JSONArray = [] as any; for (let i = from; i < to; i++) { const removed = ArrayProxy.deleteInternalByIndex(context, target, from); if (removed) { const removedElem = removed.deepcopy(); removedElem.setRemovedAt(); removeds.push(toJSONElement(context, removedElem)!); } } if (items) { let previousID: TimeTicket; if (from === 0) { previousID = target.getHead().getID(); } else { // Convert element identity to position identity for the anchor. const elemID = target.get(from - 1)!.getID(); try { previousID = target.posCreatedAt(elemID); } catch { previousID = elemID; } } for (const item of items) { const newElem = ArrayProxy.insertAfterInternal( context, target, previousID, item, ); previousID = newElem.getID(); } } return removeds; } /** * `includes` returns true if the given element is in the array. */ public static includes( context: ChangeContext, target: CRDTArray, searchElement: JSONElement, fromIndex?: number, ): boolean { const length = target.length; const from = fromIndex === undefined ? 0 : fromIndex < 0 ? Math.max(fromIndex + length, 0) : fromIndex; if (from >= length) return false; if (Primitive.isSupport(searchElement)) { const arr = Array.from(target).map((elem) => toJSONElement(context, elem), ); return arr.includes(searchElement, from); } for (let i = from; i < length; i++) { if ( target.get(i)?.getID() === (searchElement as WrappedElement).getID() ) { return true; } } return false; } /** * `indexOf` returns the index of the given element. */ public static indexOf( context: ChangeContext, target: CRDTArray, searchElement: JSONElement, fromIndex?: number, ): number { const length = target.length; const from = fromIndex === undefined ? 0 : fromIndex < 0 ? Math.max(fromIndex + length, 0) : fromIndex; if (from >= length) return -1; if (Primitive.isSupport(searchElement)) { const arr = Array.from(target).map((elem) => toJSONElement(context, elem), ); return arr.indexOf(searchElement, from); } for (let i = from; i < length; i++) { if ( target.get(i)?.getID() === (searchElement as WrappedElement).getID() ) { return i; } } return -1; } /** * `lastIndexOf` returns the last index of the given element. */ public static lastIndexOf( context: ChangeContext, target: CRDTArray, searchElement: JSONElement, fromIndex?: number, ): number { const length = target.length; const from = fromIndex === undefined || fromIndex >= length ? length - 1 : fromIndex < 0 ? fromIndex + length : fromIndex; if (from < 0) return -1; if (Primitive.isSupport(searchElement)) { const arr = Array.from(target).map((elem) => toJSONElement(context, elem), ); return arr.lastIndexOf(searchElement, from); } for (let i = from; i > 0; i--) { if ( target.get(i)?.getID() === (searchElement as WrappedElement).getID() ) { return i; } } return -1; } /** * `toTestString` returns a String containing the meta data of the node * for debugging purpose. */ public static toTestString(target: CRDTArray): string { return target.toTestString(); } /** * `getHandlers` gets handlers. */ public getHandlers(): any { return this.handlers; } } ================================================ FILE: packages/sdk/src/document/json/counter.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { TimeTicket } from '@yorkie-js/sdk/src/document/time/ticket'; import { ChangeContext } from '@yorkie-js/sdk/src/document/change/context'; import { Primitive } from '@yorkie-js/sdk/src/document/crdt/primitive'; import { IncreaseOperation } from '@yorkie-js/sdk/src/document/operation/increase_operation'; import { CounterType, CRDTCounter, } from '@yorkie-js/sdk/src/document/crdt/counter'; import type * as Devtools from '@yorkie-js/sdk/src/devtools/types'; import { Code, YorkieError } from '@yorkie-js/sdk/src/util/error'; /** * `BaseCounter` is an internal base that holds the shared state and * initialization logic for Counter and DedupCounter. Not exported. */ class BaseCounter { protected valueType: CounterType; protected value: number | bigint; protected context?: ChangeContext; protected counter?: CRDTCounter; constructor(valueType: CounterType, value: number | bigint) { this.valueType = valueType; this.value = value; } /** * `initialize` links this proxy to a ChangeContext and CRDTCounter. */ public initialize(context: ChangeContext, counter: CRDTCounter): void { this.valueType = counter.getValueType(); this.context = context; this.counter = counter; this.value = counter.getValue(); } /** * `getID` returns the ID of this counter. */ public getID(): TimeTicket { return this.counter!.getID(); } /** * `getValueType` returns the value type of this counter. */ public getValueType(): CounterType { return this.valueType; } /** * `toJSForTest` returns value with meta data for testing. */ public toJSForTest(): Devtools.JSONElement { if (!this.context || !this.counter) { throw new YorkieError( Code.ErrNotInitialized, 'Counter is not initialized yet', ); } return this.counter.toJSForTest(); } /** * `ensureInitialized` throws if this counter has not been initialized. */ protected ensureInitialized(): void { if (!this.context || !this.counter) { throw new YorkieError( Code.ErrNotInitialized, 'Counter is not initialized yet', ); } } } /** * `Counter` is a numeric counter that supports `increase()`. * For counting unique actors, use `DedupCounter` instead. * * ```typescript * // Type is inferred from value: * root.count = new Counter(0); // Int * root.count = new Counter(0n); // Long * ``` */ export class Counter extends BaseCounter { constructor(value: number | bigint) { const type = typeof value === 'bigint' ? CounterType.Long : CounterType.Int; super(type, value); } /** * `getValue` returns the value of this counter. */ public getValue(): number | bigint { return this.value; } /** * `increase` increases numeric data. */ public increase(v: number | bigint): Counter { this.ensureInitialized(); const ticket = this.context!.issueTimeTicket(); const value = Primitive.of(v, ticket); if (!value.isNumericType()) { throw new TypeError( `Unsupported type of value: ${typeof value.getValue()}`, ); } this.counter!.increase(value); this.context!.push( IncreaseOperation.create(this.counter!.getCreatedAt(), value, ticket), ); return this; } } /** * `DedupCounter` is a Counter that uses HyperLogLog to count unique actors. * Use `add(actor)` to record a unique visitor. Provides approximate counts * with ~2% error rate. * * ```typescript * doc.update((root) => { * root.uv = new yorkie.DedupCounter(); * root.uv.add(userId); * }); * ``` */ export class DedupCounter extends BaseCounter { constructor() { super(CounterType.IntDedup, 0); } /** * `getValue` returns the value of this counter. Always a number since * DedupCounter only supports IntDedup. */ public getValue(): number { return this.value as number; } /** * `add` records a unique actor in the dedup counter. If the actor has * already been counted, the call is ignored. */ public add(actor: string): DedupCounter { this.ensureInitialized(); if (!actor) { throw new YorkieError(Code.ErrInvalidArgument, 'actor is required'); } const ticket = this.context!.issueTimeTicket(); const value = Primitive.of(1, ticket); this.counter!.increaseDedup(value, actor); this.context!.push( IncreaseOperation.create( this.counter!.getCreatedAt(), value, ticket, actor, ), ); return this; } } /** * `isCounter` returns true if the value is a Counter or DedupCounter. * Used internally to detect counter instances during document updates. */ export function isCounter(value: unknown): value is Counter | DedupCounter { return value instanceof Counter || value instanceof DedupCounter; } ================================================ FILE: packages/sdk/src/document/json/element.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { ChangeContext } from '@yorkie-js/sdk/src/document/change/context'; import { CRDTElement } from '@yorkie-js/sdk/src/document/crdt/element'; import { CRDTObject } from '@yorkie-js/sdk/src/document/crdt/object'; import { CRDTArray } from '@yorkie-js/sdk/src/document/crdt/array'; import { Primitive, PrimitiveValue, } from '@yorkie-js/sdk/src/document/crdt/primitive'; import { CRDTText } from '@yorkie-js/sdk/src/document/crdt/text'; import { CRDTCounter } from '@yorkie-js/sdk/src/document/crdt/counter'; import { CRDTTree } from '@yorkie-js/sdk/src/document/crdt/tree'; import { RGATreeSplit } from '@yorkie-js/sdk/src/document/crdt/rga_tree_split'; import { TimeTicket } from '@yorkie-js/sdk/src/document/time/ticket'; import { JSONObject, createJSONObject, ObjectProxy, } from '@yorkie-js/sdk/src/document/json/object'; import { JSONArray, createJSONArray, ArrayProxy, } from '@yorkie-js/sdk/src/document/json/array'; import { Text } from '@yorkie-js/sdk/src/document/json/text'; import { Counter, DedupCounter, isCounter, } from '@yorkie-js/sdk/src/document/json/counter'; import { Tree } from '@yorkie-js/sdk/src/document/json/tree'; import { Indexable } from '../document'; /** * `createJSON` create a new instance of JSONObject. */ export function createJSON( context: ChangeContext, target: CRDTObject, ): JSONObject { return createJSONObject(context, target); } /** * `WrappedElement` is a wrapper of JSONElement that provides `getID()`. */ export type WrappedElement = | Primitive | JSONObject | JSONArray | Text | Counter | DedupCounter | Tree; /** * `JSONElement` is a wrapper for `CRDTElement` that provides users with an * easy-to-use interface for manipulating `Document`s. */ export type JSONElement = | PrimitiveValue | JSONObject | JSONArray | Text | Counter | DedupCounter | Tree; /** * `toWrappedElement` converts the CRDT type to `WrappedElement`. */ export function toWrappedElement( context: ChangeContext, elem?: CRDTElement, ): WrappedElement | undefined { if (!elem) { return; } else if (elem instanceof Primitive) { return elem; } else if (elem instanceof CRDTObject) { return createJSONObject(context, elem); } else if (elem instanceof CRDTArray) { return createJSONArray(context, elem); } else if (elem instanceof CRDTText) { return new Text(context, elem); } else if (elem instanceof CRDTCounter) { if (elem.isDedup()) { const counter = new DedupCounter(); counter.initialize(context, elem); return counter; } const counter = new Counter(0); counter.initialize(context, elem); return counter; } else if (elem instanceof CRDTTree) { const tree = new Tree(); tree.initialize(context, elem); return tree; } throw new TypeError(`Unsupported type of element: ${typeof elem}`); } /** * `toJSONElement` converts the CRDT type to `JSONElement`. */ export function toJSONElement( context: ChangeContext, elem?: CRDTElement, ): JSONElement | undefined { const wrappedElement = toWrappedElement(context, elem); if (wrappedElement instanceof Primitive) { return wrappedElement.getValue(); } return wrappedElement; } /** * `buildCRDTElement` constructs a CRDTElement from the given value. */ export function buildCRDTElement( context: ChangeContext, value: unknown, createdAt: TimeTicket, ): CRDTElement { let element: CRDTElement; if (Primitive.isSupport(value)) { element = Primitive.of(value as PrimitiveValue, createdAt); } else if (Array.isArray(value)) { element = CRDTArray.create( createdAt, ArrayProxy.buildArrayElements(context, value), ); } else if (typeof value === 'object') { if (value instanceof Text) { element = CRDTText.create(RGATreeSplit.create(), createdAt); value.initialize(context, element as CRDTText); } else if (isCounter(value)) { element = CRDTCounter.create( value.getValueType(), value.getValue(), createdAt, ); value.initialize(context, element as CRDTCounter); } else if (value instanceof Tree) { element = CRDTTree.create(value.buildRoot(context), createdAt); value.initialize(context, element as CRDTTree); } else { element = CRDTObject.create( createdAt, ObjectProxy.buildObjectMembers(context, value!), ); } } else { throw new TypeError(`Unsupported type of value: ${typeof value}`); } return element; } ================================================ FILE: packages/sdk/src/document/json/object.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { logger, LogLevel } from '@yorkie-js/sdk/src/util/logger'; import { Code, YorkieError } from '@yorkie-js/sdk/src/util/error'; import { TimeTicket } from '@yorkie-js/sdk/src/document/time/ticket'; import { SetOperation } from '@yorkie-js/sdk/src/document/operation/set_operation'; import { RemoveOperation } from '@yorkie-js/sdk/src/document/operation/remove_operation'; import { ChangeContext } from '@yorkie-js/sdk/src/document/change/context'; import { CRDTElement } from '@yorkie-js/sdk/src/document/crdt/element'; import { CRDTObject } from '@yorkie-js/sdk/src/document/crdt/object'; import { toJSONElement, buildCRDTElement, } from '@yorkie-js/sdk/src/document/json/element'; import * as Devtools from '@yorkie-js/sdk/src/devtools/types'; /** * `JSONObject` represents a JSON object, but unlike regular JSON, it has time * tickets created by a logical clock to resolve conflicts. */ export type JSONObject = { /** * `getID` returns the ID(time ticket) of this Object. */ getID(): TimeTicket; /** * `toJSON` returns the JSON encoding of this object. */ toJSON(): string; /** * `toJS` returns the JSON object of this object. */ toJS(): T; /** * `toJSForTest` returns the JSON object of this object for debugging. */ toJSForTest(): Devtools.JSONElement; } & T; /** * `createJSONObject` creates a new instance of JSONObject. */ export function createJSONObject( context: ChangeContext, target: CRDTObject, ): JSONObject { const objectProxy = new ObjectProxy(context); return new Proxy(target, objectProxy.getHandlers()) as any; } /** * `ObjectProxy` is a proxy representing `Object`. */ export class ObjectProxy { private context: ChangeContext; private handlers: any; constructor(context: ChangeContext) { this.context = context; this.handlers = { set: (target: CRDTObject, key: string, value: any): boolean => { if (logger.isEnabled(LogLevel.Trivial)) { logger.trivial(`obj[${key}]=${JSON.stringify(value)}`); } ObjectProxy.setInternal(context, target, key, value); return true; }, get: ( target: CRDTObject, keyOrMethod: Extract, 'string'>, ): any => { if (logger.isEnabled(LogLevel.Trivial)) { logger.trivial(`obj[${keyOrMethod}]`); } if (keyOrMethod === 'getID') { return (): TimeTicket => { return target.getCreatedAt(); }; } else if (keyOrMethod === 'toJSON' || keyOrMethod === 'toString') { return (): string => { return target.toJSON(); }; } else if (keyOrMethod === 'toJS') { return (): object => { return target.toJS(); }; } else if (keyOrMethod === 'toJSForTest') { return (): Devtools.JSONElement => { return target.toJSForTest(); }; } return toJSONElement(context, target.get(keyOrMethod)); }, ownKeys: (target: CRDTObject): Array => { return target.getKeys(); }, getOwnPropertyDescriptor: () => { return { enumerable: true, configurable: true, }; }, deleteProperty: (target: CRDTObject, key: string): boolean => { if (logger.isEnabled(LogLevel.Trivial)) { logger.trivial(`obj[${key}]`); } ObjectProxy.deleteInternal(context, target, key); return true; }, }; } /** * `setInternal` sets a new Object for the given key */ public static setInternal( context: ChangeContext, target: CRDTObject, key: string, value: unknown, ): void { if (key.includes('.')) { throw new YorkieError( Code.ErrInvalidObjectKey, `key must not contain the '.'.`, ); } const createdAt = context.issueTimeTicket(); const element = buildCRDTElement(context, value, createdAt); const removed = target.set(key, element, createdAt); context.registerElement(element, target); if (removed) { context.registerRemovedElement(removed); } context.push( SetOperation.create( key, element.deepcopy(), target.getCreatedAt(), createdAt, ), ); } /** * `buildObjectMembers` constructs an object where all values from the * user-provided object are transformed into CRDTElements. * This function takes an object and iterates through its values, * converting each value into a corresponding CRDTElement. */ public static buildObjectMembers( context: ChangeContext, value: object, ): { [key: string]: CRDTElement } { const members: { [key: string]: CRDTElement } = {}; for (const [k, v] of Object.entries(value)) { if (k.includes('.')) { throw new YorkieError( Code.ErrInvalidObjectKey, `key must not contain the '.'.`, ); } const createdAt = context.issueTimeTicket(); const elem = buildCRDTElement(context, v, createdAt); members[k] = elem; } return members; } /** * `deleteInternal` deletes the value of the given key. */ public static deleteInternal( context: ChangeContext, target: CRDTObject, key: string, ): void { const ticket = context.issueTimeTicket(); const deleted = target.deleteByKey(key, ticket); if (!deleted) { return; } context.push( RemoveOperation.create( target.getCreatedAt(), deleted.getCreatedAt(), ticket, ), ); context.registerRemovedElement(deleted); } /** * `getHandlers` gets handlers. */ public getHandlers(): any { return this.handlers; } } ================================================ FILE: packages/sdk/src/document/json/strings.ts ================================================ /** * `EscapeString` escapes the given string. */ export function escapeString(str: string): string { return str.replace(/["'\\\n\r\f\b\t\u2028\u2029]/g, function (character) { switch (character) { case '"': case '\\': return '\\' + character; case '\n': return '\\n'; case '\r': return '\\r'; case '\f': return '\\f'; case '\b': return '\\b'; case '\t': return '\\t'; case '\u2028': return '\\u2028'; case '\u2029': return '\\u2029'; default: return character; } }); } ================================================ FILE: packages/sdk/src/document/json/text.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { logger, LogLevel } from '@yorkie-js/sdk/src/util/logger'; import { Indexable } from '@yorkie-js/sdk/src/document/document'; import { TimeTicket, TimeTicketStruct, } from '@yorkie-js/sdk/src/document/time/ticket'; import { ChangeContext } from '@yorkie-js/sdk/src/document/change/context'; import { RGATreeSplitNode, RGATreeSplitNodeID, RGATreeSplitPos, RGATreeSplitPosRange, } from '@yorkie-js/sdk/src/document/crdt/rga_tree_split'; import { CRDTText, CRDTTextValue, TextValueType, } from '@yorkie-js/sdk/src/document/crdt/text'; import { EditOperation } from '@yorkie-js/sdk/src/document/operation/edit_operation'; import { StyleOperation } from '@yorkie-js/sdk/src/document/operation/style_operation'; import { stringifyObjectValues } from '@yorkie-js/sdk/src/util/object'; import type * as Devtools from '@yorkie-js/sdk/src/devtools/types'; import { SplayTree } from '@yorkie-js/sdk/src/util/splay_tree'; import { LLRBTree } from '@yorkie-js/sdk/src/util/llrb_tree'; import { Code, YorkieError } from '@yorkie-js/sdk/src/util/error'; /** * `TextPosStruct` represents the structure of RGATreeSplitPos. * It is used to serialize and deserialize the RGATreeSplitPos. */ export type TextPosStruct = { id: { createdAt: TimeTicketStruct; offset: number }; relativeOffset: number; }; /** * `TextPosStructRange` represents the structure of RGATreeSplitPosRange. * It is used to serialize and deserialize the RGATreeSplitPosRange. */ export type TextPosStructRange = [TextPosStruct, TextPosStruct]; /** * `Text` is an extended data type for the contents of a text editor. */ export class Text { private context?: ChangeContext; private text?: CRDTText; constructor(context?: ChangeContext, text?: CRDTText) { this.context = context; this.text = text; } /** * `initialize` initialize this text with context and internal text. */ public initialize(context: ChangeContext, text: CRDTText): void { this.context = context; this.text = text; } /** * `getID` returns the ID of this text. */ public getID(): TimeTicket { return this.text!.getID(); } /** * `edit` edits this text with the given content. */ edit( fromIdx: number, toIdx: number, content: string, attributes?: A, ): [number, number] | undefined { if (!this.context || !this.text) { throw new YorkieError( Code.ErrNotInitialized, 'Text is not initialized yet', ); } if (fromIdx > toIdx) { throw new YorkieError( Code.ErrInvalidArgument, 'from should be less than or equal to to', ); } const range = this.text.indexRangeToPosRange(fromIdx, toIdx); if (logger.isEnabled(LogLevel.Debug)) { logger.debug( `EDIT: f:${fromIdx}->${range[0].toTestString()}, t:${toIdx}->${range[1].toTestString()} c:${content}`, ); } const attrs = attributes ? stringifyObjectValues(attributes) : undefined; const ticket = this.context.issueTimeTicket(); const [, pairs, diff, rangeAfterEdit] = this.text.edit( range, content, ticket, attrs, ); this.context!.acc(diff); for (const pair of pairs) { this.context!.registerGCPair(pair); } this.context.push( new EditOperation( this.text.getCreatedAt(), range[0], range[1], content, attrs ? new Map(Object.entries(attrs)) : new Map(), ticket, ), ); return this.text.findIndexesFromRange(rangeAfterEdit); } /** * `delete` deletes the text in the given range. */ delete(fromIdx: number, toIdx: number): [number, number] | undefined { return this.edit(fromIdx, toIdx, ''); } /** * `empty` makes the text empty. */ empty(): [number, number] | undefined { return this.edit(0, this.length, ''); } /** * `setStyle` styles this text with the given attributes. */ setStyle(fromIdx: number, toIdx: number, attributes: A): boolean { if (!this.context || !this.text) { throw new YorkieError( Code.ErrNotInitialized, 'Text is not initialized yet', ); } if (fromIdx > toIdx) { throw new YorkieError( Code.ErrInvalidArgument, 'from should be less than or equal to to', ); } const range = this.text.indexRangeToPosRange(fromIdx, toIdx); if (logger.isEnabled(LogLevel.Debug)) { logger.debug( `STYL: f:${fromIdx}->${range[0].toTestString()}, t:${toIdx}->${range[1].toTestString()} a:${JSON.stringify( attributes, )}`, ); } const attrs = stringifyObjectValues(attributes); const ticket = this.context.issueTimeTicket(); const [pairs, diff] = this.text.setStyle(range, attrs, ticket); this.context!.acc(diff); for (const pair of pairs) { this.context!.registerGCPair(pair); } this.context.push( StyleOperation.create( this.text.getCreatedAt(), range[0], range[1], new Map(Object.entries(attrs)), ticket, ), ); return true; } /** * `indexRangeToPosRange` returns TextRangeStruct of the given index range. */ indexRangeToPosRange(range: [number, number]): TextPosStructRange { if (!this.context || !this.text) { throw new YorkieError( Code.ErrNotInitialized, 'Text is not initialized yet', ); } const textRange = this.text.indexRangeToPosRange(range[0], range[1]); return [textRange[0].toStruct(), textRange[1].toStruct()]; } /** * `posRangeToIndexRange` returns indexes of the given TextRangeStruct. */ posRangeToIndexRange(range: TextPosStructRange): [number, number] { if (!this.context || !this.text) { throw new YorkieError( Code.ErrNotInitialized, 'Text is not initialized yet', ); } const textRange = this.text.findIndexesFromRange([ RGATreeSplitPos.fromStruct(range[0]), RGATreeSplitPos.fromStruct(range[1]), ]); return [textRange[0], textRange[1]]; } /** * `toTestString` returns a String containing the meta data of the node * for debugging purpose. */ toTestString(): string { if (!this.context || !this.text) { throw new YorkieError( Code.ErrNotInitialized, 'Text is not initialized yet', ); } return this.text.toTestString(); } /** * `values` returns values of this text. */ values(): Array> { if (!this.context || !this.text) { throw new YorkieError( Code.ErrNotInitialized, 'Text is not initialized yet', ); } return this.text.values(); } /** * `length` returns size of RGATreeList. */ public get length(): number { return this.text!.length; } /** * `getTreeByIndex` returns IndexTree of the text for testing purpose. */ public getTreeByIndex(): SplayTree { return this.text!.getTreeByIndex(); } /** * `getTreeByID` returns IDTree of the text for testing purpose. */ public getTreeByID(): LLRBTree< RGATreeSplitNodeID, RGATreeSplitNode > { return this.text!.getTreeByID(); } /** * `toString` returns the string representation of this text. */ toString(): string { if (!this.context || !this.text) { throw new YorkieError( Code.ErrNotInitialized, 'Text is not initialized yet', ); } return this.text.toString(); } /** * `toJSON` returns the JSON string of this tree. */ public toJSON(): string { if (!this.context || !this.text) { throw new YorkieError( Code.ErrNotInitialized, 'Text is not initialized yet', ); } return this.text.toJSON(); } /** * `toJSForTest` returns value with meta data for testing. */ public toJSForTest(): Devtools.JSONElement { if (!this.context || !this.text) { throw new YorkieError( Code.ErrNotInitialized, 'Text is not initialized yet', ); } return this.text.toJSForTest(); } /** * `createRangeForTest` returns pair of RGATreeSplitNodePos of the given indexes * for testing purpose. */ createRangeForTest(fromIdx: number, toIdx: number): RGATreeSplitPosRange { if (!this.context || !this.text) { throw new YorkieError( Code.ErrNotInitialized, 'Text is not initialized yet', ); } return this.text.indexRangeToPosRange(fromIdx, toIdx); } } ================================================ FILE: packages/sdk/src/document/json/tree.ts ================================================ /* * Copyright 2023 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { TimeTicket } from '@yorkie-js/sdk/src/document/time/ticket'; import { ChangeContext } from '@yorkie-js/sdk/src/document/change/context'; import { CRDTTree, CRDTTreeNodeID, CRDTTreeNode, CRDTTreePos, } from '@yorkie-js/sdk/src/document/crdt/tree'; import { IndexTree, DefaultRootType, DefaultTextType, TreePos, } from '@yorkie-js/sdk/src/util/index_tree'; import { TreeEditOperation } from '@yorkie-js/sdk/src/document/operation/tree_edit_operation'; import { isEmpty, parseObjectValues, stringifyObjectValues, } from '@yorkie-js/sdk/src/util/object'; import { RHT } from '../crdt/rht'; import { TreeStyleOperation } from '../operation/tree_style_operation'; import type { ElementNode, TextNode, TreeNode, TreeChange, TreeChangeType, TreePosStructRange, CRDTTreeNodeIDStruct, } from '@yorkie-js/sdk/src/document/crdt/tree'; import type * as Devtools from '@yorkie-js/sdk/src/devtools/types'; import { Code, YorkieError } from '@yorkie-js/sdk/src/util/error'; /** * NOTE(hackerwins): In normal case, we should define the following types in * json package, because they are directly used by the user. However, we define * them in crdt package to avoid circular dependency between json and crdt. */ export { TreeNode, ElementNode, TextNode, TreeChange, TreeChangeType, TreePosStructRange, CRDTTreeNodeIDStruct, }; /** * `toTreeNode` returns tree node from CRDTTreeNode. */ function toTreeNode(node: CRDTTreeNode): TreeNode { if (node.isText) { return { type: node.type, value: node.value, } as TextNode; } const newNode = { type: node.type, children: node.children.map((child) => toTreeNode(child)), } as ElementNode; if (node.attrs) { newNode.attributes = parseObjectValues(node.attrs.toObject()); } return newNode; } /** * `createSplitNode` returns new node which is split from the given node. */ function createSplitNode( node: CRDTTreeNode, offset: number, ): ElementNode | undefined { const newNode: ElementNode = { type: node.isText ? node.parent!.type : node.type, children: node.isText ? node.parent!.getChildrenText().length === offset ? [] : [ { type: DefaultTextType, value: node.parent!.getChildrenText().slice(offset), }, ] : node.children.slice(offset).map((child) => toTreeNode(child)), }; if (node.attrs) { newNode.attributes = parseObjectValues(node.attrs.toObject()); } else if (node.isText && node.parent!.attrs) { newNode.attributes = parseObjectValues(node.parent!.attrs.toObject()); } return newNode; } /** * `separateSplit` separates the split operation into insert and delete operations. */ function separateSplit( treePos: TreePos, path: Array, ): Array<{ fromPath: Array; toPath: Array; content?: TreeNode; }> { const { node } = treePos; const parentPath = [...path].slice(0, -1); const last = node.isText ? node.parent!.getChildrenText().length : node.children.length; const toPath = [...parentPath, last]; const insertPath = [...parentPath]; const res = []; insertPath[insertPath.length - 1] += 1; if (!path.every((v, i) => v === toPath[i])) { res.push({ fromPath: [...path], toPath }); } const newNode = createSplitNode(node, path[path.length - 1]); if (newNode) { res.push({ fromPath: insertPath, toPath: insertPath, content: newNode }); } return res; } /** * `separateMerge` separates the merge operation into insert and delete operations. */ function separateMerge( treePos: TreePos, path: Array, ): Array<{ fromPath: Array; toPath: Array; content?: Array; }> { const { node: parentNode, offset } = treePos; const node = parentNode.children[offset]; const leftSiblingNode = parentNode.children[offset - 1]; const { children } = node; const parentPath = [...path].slice(0, -1); const res: ReturnType = [ { fromPath: [...path], toPath: [...parentPath, offset + 1] }, ]; if (!node.children.length) { return res; } const insertPath = [ ...parentPath, offset - 1, leftSiblingNode.hasTextChild() ? leftSiblingNode.getChildrenText().length : leftSiblingNode.children.length, ]; const nodes = children.map((child) => toTreeNode(child)); res.push({ fromPath: insertPath, toPath: insertPath, content: nodes, }); return res; } /** * `buildDescendants` builds descendants of the given tree node. */ function buildDescendants( treeNode: TreeNode, parent: CRDTTreeNode, context: ChangeContext, ) { const { type } = treeNode; const ticket = context.issueTimeTicket(); if (type === DefaultTextType) { validateTextNode(treeNode as TextNode); const { value } = treeNode as TextNode; const textNode = CRDTTreeNode.create( CRDTTreeNodeID.of(ticket, 0), type, value, ); parent.append(textNode); } else { const { children = [] } = treeNode as ElementNode; const { attributes } = treeNode as ElementNode; let attrs; if (typeof attributes === 'object' && !isEmpty(attributes)) { const stringifiedAttributes = stringifyObjectValues(attributes); attrs = new RHT(); for (const [key, value] of Object.entries(stringifiedAttributes)) { attrs.set(key, value, ticket); } } const elementNode = CRDTTreeNode.create( CRDTTreeNodeID.of(ticket, 0), type, undefined, attrs, ); parent.append(elementNode); for (const child of children) { buildDescendants(child, elementNode, context); } } } /** * createCRDTTreeNode returns CRDTTreeNode by given TreeNode. */ function createCRDTTreeNode(context: ChangeContext, content: TreeNode) { const { type } = content; const ticket = context.issueTimeTicket(); let root; if (content.type === DefaultTextType) { const { value } = content as TextNode; root = CRDTTreeNode.create(CRDTTreeNodeID.of(ticket, 0), type, value); } else if (content) { const { children = [] } = content as ElementNode; const { attributes } = content as ElementNode; let attrs; if (typeof attributes === 'object' && !isEmpty(attributes)) { const stringifiedAttributes = stringifyObjectValues(attributes); attrs = new RHT(); for (const [key, value] of Object.entries(stringifiedAttributes)) { attrs.set(key, value, ticket); } } root = CRDTTreeNode.create( CRDTTreeNodeID.of(context.issueTimeTicket(), 0), type, undefined, attrs, ); for (const child of children) { buildDescendants(child, root, context); } } return root; } /** * `validateTextNode` ensures that a text node has a non-empty string value. */ function validateTextNode(textNode: TextNode): boolean { if (!textNode.value.length) { throw new YorkieError( Code.ErrInvalidArgument, 'text node cannot have empty value', ); } return true; } /** * `validateTreeNodes` ensures that treeNodes consists of only one type. */ function validateTreeNodes(treeNodes: Array): boolean { if (!treeNodes.length) { return true; } const firstTreeNodeType = treeNodes[0].type; if (firstTreeNodeType === DefaultTextType) { for (const treeNode of treeNodes) { const { type } = treeNode; if (type !== DefaultTextType) { throw new YorkieError( Code.ErrInvalidArgument, 'element node and text node cannot be passed together', ); } validateTextNode(treeNode as TextNode); } } else { for (const treeNode of treeNodes) { const { type } = treeNode; if (type === DefaultTextType) { throw new YorkieError( Code.ErrInvalidArgument, 'element node and text node cannot be passed together', ); } } } return true; } /** * `Tree` is a CRDT-based tree structure that is used to represent the document * tree of text-based editor such as ProseMirror. */ export class Tree { private initialRoot?: ElementNode; private context?: ChangeContext; private tree?: CRDTTree; constructor(initialRoot?: ElementNode) { this.initialRoot = initialRoot; } /** * `initialize` initialize this tree with context and internal tree. */ public initialize(context: ChangeContext, tree: CRDTTree): void { this.context = context; this.tree = tree; } /** * `getID` returns the ID of this tree. */ public getID(): TimeTicket { return this.tree!.getID(); } /** * `buildRoot` builds the root of this tree with the given initial root * which set by the user. */ public buildRoot(context: ChangeContext): CRDTTreeNode { if (!this.initialRoot) { return CRDTTreeNode.create( CRDTTreeNodeID.of(context.issueTimeTicket(), 0), DefaultRootType, ); } // TODO(hackerwins): Need to use the ticket of operation of creating tree. const root = CRDTTreeNode.create( CRDTTreeNodeID.of(context.issueTimeTicket(), 0), this.initialRoot.type, ); for (const child of this.initialRoot.children) { buildDescendants(child, root, context); } return root; } /** * `getSize` returns the size of this tree. */ public getSize(): number { if (!this.context || !this.tree) { throw new YorkieError( Code.ErrNotInitialized, 'Tree is not initialized yet', ); } return this.tree.getSize(); } /** * `getNodeSize` returns the node size of this tree. */ public getNodeSize(): number { if (!this.context || !this.tree) { throw new YorkieError( Code.ErrNotInitialized, 'Tree is not initialized yet', ); } return this.tree.getNodeSize(); } /** * `getIndexTree` returns the index tree of this tree. */ public getIndexTree(): IndexTree { if (!this.context || !this.tree) { throw new YorkieError( Code.ErrNotInitialized, 'Tree is not initialized yet', ); } return this.tree.getIndexTree(); } /** * `splitByPath` splits the tree by the given path. */ public splitByPath(path: Array) { if (!this.context || !this.tree) { throw new YorkieError( Code.ErrNotInitialized, 'Tree is not initialized yet', ); } if (!path.length) { throw new YorkieError( Code.ErrInvalidArgument, 'path should not be empty', ); } const treePos = this.tree.pathToTreePos(path); const commands = separateSplit(treePos, path); for (const command of commands) { const { fromPath, toPath, content } = command; const fromPos = this.tree!.pathToPos(fromPath); const toPos = this.tree!.pathToPos(toPath); this.editInternal(fromPos, toPos, content ? [content] : [], 0); } } /** * `mergeByPath` merges the tree by the given path. */ public mergeByPath(path: Array) { if (!this.context || !this.tree) { throw new YorkieError( Code.ErrNotInitialized, 'Tree is not initialized yet', ); } if (!path.length) { throw new YorkieError( Code.ErrInvalidArgument, 'path should not be empty', ); } const treePos = this.tree.pathToTreePos(path); if (treePos.node.isText) { throw new YorkieError( Code.ErrInvalidArgument, 'text node cannot be merged', ); } const commands = separateMerge(treePos, path); for (const command of commands) { const { fromPath, toPath, content } = command; const fromPos = this.tree!.pathToPos(fromPath); const toPos = this.tree!.pathToPos(toPath); this.editInternal(fromPos, toPos, content ?? [], 0); } } /** * `styleByPath` sets the attributes to the element at the given * path. */ public styleByPath( path: Array, attributes: { [key: string]: any }, ): void; /** * `styleByPath` sets the attributes to the elements in the given * path range. */ public styleByPath( fromPath: Array, toPath: Array, attributes: { [key: string]: any }, ): void; /** * `styleByPath` sets the attributes to the elements of the given * path. When called with two paths, it styles the range between * them. */ public styleByPath( fromPathOrPath: Array, toPathOrAttrs: Array | { [key: string]: any }, maybeAttrs?: { [key: string]: any }, ): void { if (!this.context || !this.tree) { throw new YorkieError( Code.ErrNotInitialized, 'Tree is not initialized yet', ); } let fromPos: CRDTTreePos; let toPos: CRDTTreePos; let attributes: { [key: string]: any }; if (Array.isArray(toPathOrAttrs)) { // Range mode: styleByPath(fromPath, toPath, attrs) const fromPath = fromPathOrPath; const toPath = toPathOrAttrs; attributes = maybeAttrs!; if (fromPath.length !== toPath.length) { throw new YorkieError( Code.ErrInvalidArgument, 'path length should be equal', ); } if (!fromPath.length || !toPath.length) { throw new YorkieError( Code.ErrInvalidArgument, 'path should not be empty', ); } fromPos = this.tree.pathToPos(fromPath); toPos = this.tree.pathToPos(toPath); } else { // Single-path mode: styleByPath(path, attrs) const path = fromPathOrPath; attributes = toPathOrAttrs; if (!path.length) { throw new YorkieError( Code.ErrInvalidArgument, 'path should not be empty', ); } [fromPos, toPos] = this.tree.pathToPosRange(path); } const ticket = this.context.issueTimeTicket(); const attrs = attributes ? stringifyObjectValues(attributes) : undefined; const [pairs, , diff] = this.tree!.style([fromPos, toPos], attrs, ticket); this.context!.acc(diff); for (const pair of pairs) { this.context!.registerGCPair(pair); } this.context.push( TreeStyleOperation.create( this.tree.getCreatedAt(), fromPos, toPos, attrs ? new Map(Object.entries(attrs)) : new Map(), ticket, ), ); } /** * `style` sets the attributes to the elements of the given range. */ public style( fromIdx: number, toIdx: number, attributes: { [key: string]: any }, ) { if (!this.context || !this.tree) { throw new YorkieError( Code.ErrNotInitialized, 'Tree is not initialized yet', ); } if (fromIdx > toIdx) { throw new YorkieError( Code.ErrInvalidArgument, 'from should be less than or equal to to', ); } const fromPos = this.tree.findPos(fromIdx); const toPos = this.tree.findPos(toIdx); const ticket = this.context.issueTimeTicket(); const attrs = attributes ? stringifyObjectValues(attributes) : undefined; const [pairs, , diff] = this.tree!.style([fromPos, toPos], attrs, ticket); this.context!.acc(diff); for (const pair of pairs) { this.context!.registerGCPair(pair); } this.context.push( TreeStyleOperation.create( this.tree.getCreatedAt(), fromPos, toPos, attrs ? new Map(Object.entries(attrs)) : new Map(), ticket, ), ); } /** * `removeStyle` removes the attributes to the elements of the given range. */ public removeStyle( fromIdx: number, toIdx: number, attributesToRemove: Array, ) { if (!this.context || !this.tree) { throw new YorkieError( Code.ErrNotInitialized, 'Tree is not initialized yet', ); } if (fromIdx > toIdx) { throw new YorkieError( Code.ErrInvalidArgument, 'from should be less than or equal to to', ); } const fromPos = this.tree.findPos(fromIdx); const toPos = this.tree.findPos(toIdx); const ticket = this.context.issueTimeTicket(); const [pairs, , diff] = this.tree!.removeStyle( [fromPos, toPos], attributesToRemove, ticket, ); this.context!.acc(diff); for (const pair of pairs) { this.context!.registerGCPair(pair); } this.context.push( TreeStyleOperation.createTreeRemoveStyleOperation( this.tree.getCreatedAt(), fromPos, toPos, attributesToRemove, ticket, ), ); } /** * `removeStyleByPath` removes the attributes of the elements in * the given path range. */ public removeStyleByPath( fromPath: Array, toPath: Array, attributesToRemove: Array, ): void { if (!this.context || !this.tree) { throw new YorkieError( Code.ErrNotInitialized, 'Tree is not initialized yet', ); } if (fromPath.length !== toPath.length) { throw new YorkieError( Code.ErrInvalidArgument, 'path length should be equal', ); } if (!fromPath.length || !toPath.length) { throw new YorkieError( Code.ErrInvalidArgument, 'path should not be empty', ); } const fromPos = this.tree.pathToPos(fromPath); const toPos = this.tree.pathToPos(toPath); const ticket = this.context.issueTimeTicket(); const [pairs, , diff] = this.tree!.removeStyle( [fromPos, toPos], attributesToRemove, ticket, ); this.context!.acc(diff); for (const pair of pairs) { this.context!.registerGCPair(pair); } this.context.push( TreeStyleOperation.createTreeRemoveStyleOperation( this.tree.getCreatedAt(), fromPos, toPos, attributesToRemove, ticket, ), ); } private editInternal( fromPos: CRDTTreePos, toPos: CRDTTreePos, contents: Array, splitLevel = 0, ): boolean { if (contents.length !== 0 && contents[0]) { validateTreeNodes(contents); if (contents[0].type !== DefaultTextType) { for (const content of contents) { const { children = [] } = content as ElementNode; validateTreeNodes(children); } } } const ticket = this.context!.getLastTimeTicket(); let crdtNodes = new Array(); if (contents[0]?.type === DefaultTextType) { let compVal = ''; for (const content of contents) { const { value } = content as TextNode; compVal += value; } crdtNodes.push( CRDTTreeNode.create( CRDTTreeNodeID.of(this.context!.issueTimeTicket(), 0), DefaultTextType, compVal, ), ); } else { crdtNodes = contents .map((content) => content && createCRDTTreeNode(this.context!, content)) .filter((a) => a) as Array; } const [, pairs, diff] = this.tree!.edit( [fromPos, toPos], crdtNodes.length ? crdtNodes.map((crdtNode) => crdtNode?.deepcopy()) : undefined, splitLevel, ticket, () => this.context!.issueTimeTicket(), ); this.context!.acc(diff); for (const pair of pairs) { this.context!.registerGCPair(pair); } this.context!.push( TreeEditOperation.create( this.tree!.getCreatedAt(), fromPos, toPos, crdtNodes.length ? crdtNodes : undefined, splitLevel, ticket, ), ); return true; } /** * `editByPath` edits this tree with the given node and path. */ public editByPath( fromPath: Array, toPath: Array, content?: TreeNode, splitLevel = 0, ): boolean { if (!this.context || !this.tree) { throw new YorkieError( Code.ErrNotInitialized, 'Tree is not initialized yet', ); } if (fromPath.length !== toPath.length) { throw new YorkieError( Code.ErrInvalidArgument, 'path length should be equal', ); } if (!fromPath.length || !toPath.length) { throw new YorkieError( Code.ErrInvalidArgument, 'path should not be empty', ); } const fromPos = this.tree.pathToPos(fromPath); const toPos = this.tree.pathToPos(toPath); return this.editInternal( fromPos, toPos, content ? [content] : [], splitLevel, ); } /** * `editBulkByPath` edits this tree with the given node and path. */ public editBulkByPath( fromPath: Array, toPath: Array, contents: Array, splitLevel = 0, ): boolean { if (!this.context || !this.tree) { throw new YorkieError( Code.ErrNotInitialized, 'Tree is not initialized yet', ); } if (fromPath.length !== toPath.length) { throw new YorkieError( Code.ErrInvalidArgument, 'path length should be equal', ); } if (!fromPath.length || !toPath.length) { throw new YorkieError( Code.ErrInvalidArgument, 'path should not be empty', ); } const fromPos = this.tree.pathToPos(fromPath); const toPos = this.tree.pathToPos(toPath); return this.editInternal(fromPos, toPos, contents, splitLevel); } /** * `edit` edits this tree with the given nodes. */ public edit( fromIdx: number, toIdx: number, content?: TreeNode, splitLevel = 0, ): boolean { if (!this.context || !this.tree) { throw new YorkieError( Code.ErrNotInitialized, 'Tree is not initialized yet', ); } if (fromIdx > toIdx) { throw new YorkieError( Code.ErrInvalidArgument, 'from should be less than or equal to to', ); } const fromPos = this.tree.findPos(fromIdx); const toPos = this.tree.findPos(toIdx); return this.editInternal( fromPos, toPos, content ? [content] : [], splitLevel, ); } /** * `editBulk` edits this tree with the given nodes. */ public editBulk( fromIdx: number, toIdx: number, contents: Array, splitLevel = 0, ): boolean { if (!this.context || !this.tree) { throw new YorkieError( Code.ErrNotInitialized, 'Tree is not initialized yet', ); } if (fromIdx > toIdx) { throw new YorkieError( Code.ErrInvalidArgument, 'from should be less than or equal to to', ); } const fromPos = this.tree.findPos(fromIdx); const toPos = this.tree.findPos(toIdx); return this.editInternal(fromPos, toPos, contents, splitLevel); } /** * `toXML` returns the XML string of this tree. */ public toXML(): string { if (!this.context || !this.tree) { throw new YorkieError( Code.ErrNotInitialized, 'Tree is not initialized yet', ); } return this.tree.toXML(); } /** * `toJSON` returns the JSON string of this tree. */ public toJSON(): string { if (!this.context || !this.tree) { throw new YorkieError( Code.ErrNotInitialized, 'Tree is not initialized yet', ); } return this.tree.toJSON(); } /** * `toJSForTest` returns value with meta data for testing. */ public toJSForTest(): Devtools.JSONElement { if (!this.context || !this.tree) { throw new YorkieError( Code.ErrNotInitialized, 'Tree is not initialized yet', ); } return this.tree.toJSForTest(); } /** * `toJSInfoForTest` returns detailed TreeNode information for use in Devtools. */ public toJSInfoForTest(): Devtools.TreeNodeInfo { if (!this.context || !this.tree) { throw new YorkieError( Code.ErrNotInitialized, 'Tree is not initialized yet', ); } return this.tree.toJSInfoForTest(); } /** * `getRootTreeNode` returns TreeNode of this tree. */ public getRootTreeNode() { if (!this.context || !this.tree) { throw new YorkieError( Code.ErrNotInitialized, 'Tree is not initialized yet', ); } return this.tree.getRootTreeNode(); } /** * `indexToPath` returns the path of the given index. */ public indexToPath(index: number): Array { if (!this.context || !this.tree) { throw new YorkieError( Code.ErrNotInitialized, 'Tree is not initialized yet', ); } return this.tree.indexToPath(index); } /** * `pathToIndex` returns the index of given path. */ public pathToIndex(path: Array): number { if (!this.context || !this.tree) { throw new YorkieError( Code.ErrNotInitialized, 'Tree is not initialized yet', ); } return this.tree.pathToIndex(path); } /** * `pathRangeToPosRange` converts the path range into the position range. */ pathRangeToPosRange( range: [Array, Array], ): TreePosStructRange { if (!this.context || !this.tree) { throw new YorkieError( Code.ErrNotInitialized, 'Tree is not initialized yet', ); } const indexRange: [number, number] = [ this.tree.pathToIndex(range[0]), this.tree.pathToIndex(range[1]), ]; const posRange = this.tree.indexRangeToPosRange(indexRange); return [posRange[0].toStruct(), posRange[1].toStruct()]; } /** * `indexRangeToPosRange` converts the index range into the position range. */ indexRangeToPosRange(range: [number, number]): TreePosStructRange { if (!this.context || !this.tree) { throw new YorkieError( Code.ErrNotInitialized, 'Tree is not initialized yet', ); } return this.tree.indexRangeToPosStructRange(range); } /** * `posRangeToIndexRange` converts the position range into the index range. */ posRangeToIndexRange(range: TreePosStructRange): [number, number] { if (!this.context || !this.tree) { throw new YorkieError( Code.ErrNotInitialized, 'Tree is not initialized yet', ); } const posRange: [CRDTTreePos, CRDTTreePos] = [ CRDTTreePos.fromStruct(range[0]), CRDTTreePos.fromStruct(range[1]), ]; return this.tree.posRangeToIndexRange(posRange); } /** * `posRangeToPathRange` converts the position range into the path range. */ posRangeToPathRange( range: TreePosStructRange, ): [Array, Array] { if (!this.context || !this.tree) { throw new YorkieError( Code.ErrNotInitialized, 'Tree is not initialized yet', ); } const posRange: [CRDTTreePos, CRDTTreePos] = [ CRDTTreePos.fromStruct(range[0]), CRDTTreePos.fromStruct(range[1]), ]; return this.tree.posRangeToPathRange(posRange); } } ================================================ FILE: packages/sdk/src/document/operation/add_operation.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { TimeTicket } from '@yorkie-js/sdk/src/document/time/ticket'; import { CRDTElement } from '@yorkie-js/sdk/src/document/crdt/element'; import { CRDTRoot } from '@yorkie-js/sdk/src/document/crdt/root'; import { CRDTArray } from '@yorkie-js/sdk/src/document/crdt/array'; import { Operation, ExecutionResult, } from '@yorkie-js/sdk/src/document/operation/operation'; import { RemoveOperation } from '@yorkie-js/sdk/src/document/operation/remove_operation'; import { Code, YorkieError } from '@yorkie-js/sdk/src/util/error'; /** * `AddOperation` is an operation representing adding an element to an Array. */ export class AddOperation extends Operation { private prevCreatedAt: TimeTicket; private value: CRDTElement; constructor( parentCreatedAt: TimeTicket, prevCreatedAt: TimeTicket, value: CRDTElement, executedAt?: TimeTicket, ) { super(parentCreatedAt, executedAt); this.prevCreatedAt = prevCreatedAt; this.value = value; } /** * `create` creates a new instance of AddOperation. */ public static create( parentCreatedAt: TimeTicket, prevCreatedAt: TimeTicket, value: CRDTElement, executedAt?: TimeTicket, ): AddOperation { return new AddOperation(parentCreatedAt, prevCreatedAt, value, executedAt); } /** * `execute` executes this operation on the given `CRDTRoot`. */ public execute(root: CRDTRoot): ExecutionResult { const parentObject = root.findByCreatedAt(this.getParentCreatedAt()); if (!parentObject) { throw new YorkieError( Code.ErrInvalidArgument, `fail to find ${this.getParentCreatedAt()}`, ); } if (!(parentObject instanceof CRDTArray)) { throw new YorkieError( Code.ErrInvalidArgument, `fail to execute, only array can execute add`, ); } const array = parentObject as CRDTArray; const value = this.value.deepcopy(); array.insertAfter(this.prevCreatedAt, value, this.getExecutedAt()); root.registerElement(value, array); return { opInfos: [ { type: 'add', path: root.createPath(this.getParentCreatedAt()), index: Number(array.subPathOf(this.getEffectedCreatedAt())), }, ], reverseOp: this.toReverseOperation(), }; } private toReverseOperation(): Operation { // NOTE(KMSstudio): executedAt is assigned just before execution, when Document.undo() is called. const reverseOp = RemoveOperation.create( this.getParentCreatedAt(), this.value.getCreatedAt(), ); return reverseOp; } /** * `getEffectedCreatedAt` returns the creation time of the effected element. */ public getEffectedCreatedAt(): TimeTicket { return this.value.getCreatedAt(); } /** * `toTestString` returns a string containing the meta data. */ public toTestString(): string { return `${this.getParentCreatedAt().toTestString()}.ADD.${this.value.toJSON()}`; } /** * `getPrevCreatedAt` returns the creation time of previous element. */ public getPrevCreatedAt(): TimeTicket { return this.prevCreatedAt; } /** * `getValue` returns the value of this operation. */ public getValue(): CRDTElement { return this.value; } /** * `setPrevCreatedAt` sets the creation time of the previous element. */ public setPrevCreatedAt(createdAt: TimeTicket) { this.prevCreatedAt = createdAt; } } ================================================ FILE: packages/sdk/src/document/operation/array_set_operation.ts ================================================ /* * Copyright 2025 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { TimeTicket } from '@yorkie-js/sdk/src/document/time/ticket'; import { CRDTElement } from '@yorkie-js/sdk/src/document/crdt/element'; import { CRDTRoot } from '@yorkie-js/sdk/src/document/crdt/root'; import { CRDTArray } from '@yorkie-js/sdk/src/document/crdt/array'; import { Operation, ExecutionResult, } from '@yorkie-js/sdk/src/document/operation/operation'; import { Code, YorkieError } from '@yorkie-js/sdk/src/util/error'; /** * `ArraySetOperation` is an operation representing setting an element in Array. */ export class ArraySetOperation extends Operation { private createdAt: TimeTicket; private value: CRDTElement; constructor( parentCreatedAt: TimeTicket, createdAt: TimeTicket, value: CRDTElement, executedAt?: TimeTicket, ) { super(parentCreatedAt, executedAt); this.createdAt = createdAt; this.value = value; } /** * `create` creates a new instance of ArraySetOperation. */ public static create( parentCreatedAt: TimeTicket, createdAt: TimeTicket, value: CRDTElement, executedAt?: TimeTicket, ): ArraySetOperation { return new ArraySetOperation(parentCreatedAt, createdAt, value, executedAt); } /** * `execute` executes this operation on the given `CRDTRoot`. */ public execute(root: CRDTRoot): ExecutionResult { const parentObject = root.findByCreatedAt(this.getParentCreatedAt()); if (!parentObject) { throw new YorkieError( Code.ErrInvalidArgument, `fail to find ${this.getParentCreatedAt()}`, ); } if (!(parentObject instanceof CRDTArray)) { throw new YorkieError( Code.ErrInvalidArgument, `fail to execute, only array can execute set`, ); } const previousValue = parentObject.getByID(this.createdAt)!.deepcopy(); const reverseOp = this.toReverseOperation(this.value, previousValue); const value = this.value.deepcopy(); parentObject.insertAfter(this.createdAt, value, this.getExecutedAt()); parentObject.delete(this.createdAt, this.getExecutedAt()); // TODO(junseo): GC logic is not implemented here // because there is no way to distinguish between old and new element with same `createdAt`. root.registerElement(value); return { opInfos: [ { type: 'array-set', path: root.createPath(this.getParentCreatedAt()), }, ], reverseOp, }; } /** * `toReverseOperation` returns the reverse operation of this operation. */ private toReverseOperation( newValue: CRDTElement, prevValue: CRDTElement, ): Operation { const reverseOp: ArraySetOperation = ArraySetOperation.create( this.getParentCreatedAt(), newValue.getCreatedAt(), prevValue, ); return reverseOp; } /** * `getEffectedCreatedAt` returns the creation time of the effected element. */ public getEffectedCreatedAt(): TimeTicket { return this.createdAt; } /** * `toTestString` returns a string containing the meta data. */ public toTestString(): string { return `${this.getParentCreatedAt().toTestString()}.ARRAY_SET.${this.createdAt.toTestString()}=${this.value.toSortedJSON()}`; } /** * `getCreatedAt` returns the creation time of the target element. */ public getCreatedAt(): TimeTicket { return this.createdAt; } /** * `getValue` returns the value of this operation. */ public getValue(): CRDTElement { return this.value; } /** * `setCreatedAt` sets the creation time of the target element. */ public setCreatedAt(createdAt: TimeTicket) { this.createdAt = createdAt; } } ================================================ FILE: packages/sdk/src/document/operation/edit_operation.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { TimeTicket } from '@yorkie-js/sdk/src/document/time/ticket'; import { VersionVector } from '@yorkie-js/sdk/src/document/time/version_vector'; import { CRDTRoot } from '@yorkie-js/sdk/src/document/crdt/root'; import { RGATreeSplitPos } from '@yorkie-js/sdk/src/document/crdt/rga_tree_split'; import { CRDTText, CRDTTextValue } from '@yorkie-js/sdk/src/document/crdt/text'; import { Operation, OpInfo, ExecutionResult, OpSource, } from '@yorkie-js/sdk/src/document/operation/operation'; import { Indexable } from '../document'; import { Code, YorkieError } from '@yorkie-js/sdk/src/util/error'; /** * `EditOperation` is an operation representing editing Text. Most of the same as * Edit, but with additional style properties, attributes. */ export class EditOperation extends Operation { private fromPos: RGATreeSplitPos; private toPos: RGATreeSplitPos; private content: string; private attributes: Map; private isUndoOp: boolean | undefined; constructor( parentCreatedAt: TimeTicket, fromPos: RGATreeSplitPos, toPos: RGATreeSplitPos, content: string, attributes: Map, executedAt?: TimeTicket, isUndoOp?: boolean, ) { super(parentCreatedAt, executedAt); this.fromPos = fromPos; this.toPos = toPos; this.content = content; this.attributes = attributes; this.isUndoOp = isUndoOp; } /** * `create` creates a new instance of EditOperation. */ public static create( parentCreatedAt: TimeTicket, fromPos: RGATreeSplitPos, toPos: RGATreeSplitPos, content: string, attributes: Map, executedAt?: TimeTicket, isUndoOp?: boolean, ): EditOperation { return new EditOperation( parentCreatedAt, fromPos, toPos, content, attributes, executedAt, isUndoOp, ); } /** * `execute` executes this operation on the given `CRDTRoot`. */ public execute( root: CRDTRoot, _: OpSource, versionVector?: VersionVector, ): ExecutionResult { const parentObject = root.findByCreatedAt(this.getParentCreatedAt()); if (!parentObject) { throw new YorkieError( Code.ErrInvalidArgument, `fail to find ${this.getParentCreatedAt()}`, ); } if (!(parentObject instanceof CRDTText)) { throw new YorkieError( Code.ErrInvalidArgument, `fail to execute, only Text can execute edit`, ); } const text = parentObject as CRDTText; if (this.isUndoOp) { this.fromPos = text.refinePos(this.fromPos); this.toPos = text.refinePos(this.toPos); } const [changes, pairs, diff, , removedValues] = text.edit( [this.fromPos, this.toPos], this.content, this.getExecutedAt(), Object.fromEntries(this.attributes), versionVector, ); const reverseOp = this.toReverseOperation( removedValues, text.normalizePos(this.fromPos), ); root.acc(diff); for (const pair of pairs) { root.registerGCPair(pair); } return { opInfos: changes.map(({ from, to, value }) => { return { type: 'edit', from, to, value, path: root.createPath(this.getParentCreatedAt()), } as OpInfo; }), reverseOp, }; } private toReverseOperation( removedValues: Array, fromPos: RGATreeSplitPos, ): Operation { const content = removedValues?.length ? removedValues.map((v) => v.getContent()).join('') : ''; let attrs: Array<[string, string]> | undefined; if (removedValues.length === 1) { const attrsObj = removedValues[0].getAttributes(); if (attrsObj) { attrs = Array.from(Object.entries(attrsObj as any)); } } return EditOperation.create( this.getParentCreatedAt(), fromPos, RGATreeSplitPos.of( fromPos.getID(), fromPos.getRelativeOffset() + (this.content?.length ?? 0), ), content, attrs ? new Map(attrs) : new Map(), undefined, true, ); } /** * `normalizePos` normalizes the position of the edit operation. */ public normalizePos(root: CRDTRoot): [number, number] { const parentObject = root.findByCreatedAt(this.getParentCreatedAt()); if (!parentObject) { throw new YorkieError( Code.ErrInvalidArgument, `fail to find ${this.getParentCreatedAt()}`, ); } if (!(parentObject instanceof CRDTText)) { throw new YorkieError( Code.ErrInvalidArgument, `only Text can normalize edit`, ); } const text = parentObject as CRDTText; const rangeFrom = text.normalizePos(this.fromPos).getRelativeOffset(); const rangeTo = text.normalizePos(this.toPos).getRelativeOffset(); return [rangeFrom, rangeTo]; } /** * `reconcileOperation` reconciles the position when remote edits occur. * * @param remoteFrom - Start position of the remote edit * @param remoteTo - End position of the remote edit * @param contentLen - Length of content inserted by the remote edit * * @example * // Text: "0123456789" * // Undo range: [4, 6) (trying to restore "45") * // Remote edit: delete [2, 4) and insert "XY" * // Result: Undo range adjusted to [2, 4) to restore at correct position */ public reconcileOperation( remoteFrom: number, remoteTo: number, contentLen: number, ): void { if (!this.isUndoOp) { return; } if (remoteFrom > remoteTo) { return; } const remoteRangeLen = remoteTo - remoteFrom; const localFrom = this.fromPos.getRelativeOffset(); const localTo = this.toPos.getRelativeOffset(); // Helper function to apply new position offsets const apply = (na: number, nb: number) => { this.fromPos = RGATreeSplitPos.of(this.fromPos.getID(), Math.max(0, na)); this.toPos = RGATreeSplitPos.of(this.toPos.getID(), Math.max(0, nb)); }; // Case 1: Remote edit is to the left of undo range // [--remote--] [--undo--] if (remoteTo <= localFrom) { apply( localFrom - remoteRangeLen + contentLen, localTo - remoteRangeLen + contentLen, ); return; } // Case 2: Remote edit is to the right of undo range // [--undo--] [--remote--] if (localTo <= remoteFrom) { return; } // Case 3: Undo range is contained within remote range // [-------remote-------] // [--undo--] if ( remoteFrom <= localFrom && localTo <= remoteTo && remoteFrom !== remoteTo ) { apply(remoteFrom, remoteFrom); return; } // Case 4: Remote range is contained within undo range // [--remote--] // [---------undo---------] if ( localFrom <= remoteFrom && remoteTo <= localTo && localFrom !== localTo ) { apply(localFrom, localTo - remoteRangeLen + contentLen); return; } // Case 5: Remote range overlaps the start of undo range // [---remote---] // [---undo---] if (remoteFrom < localFrom && localFrom < remoteTo && remoteTo < localTo) { apply(remoteFrom, remoteFrom + (localTo - remoteTo)); return; } // Case 6: Remote range overlaps the end of undo range // [---remote---] // [---undo---] if (localFrom < remoteFrom && remoteFrom < localTo && localTo < remoteTo) { apply(localFrom, remoteFrom); return; } } /** * `getEffectedCreatedAt` returns the creation time of the effected element. */ public getEffectedCreatedAt(): TimeTicket { return this.getParentCreatedAt(); } /** * `toTestString` returns a string containing the meta data. */ public toTestString(): string { const parent = this.getParentCreatedAt().toTestString(); const fromPos = this.fromPos.toTestString(); const toPos = this.toPos.toTestString(); const content = this.content; return `${parent}.EDIT(${fromPos},${toPos},${content})`; } /** * `getFromPos` returns the start point of the editing range. */ public getFromPos(): RGATreeSplitPos { return this.fromPos; } /** * `getToPos` returns the end point of the editing range. */ public getToPos(): RGATreeSplitPos { return this.toPos; } /** * `getContent` returns the content of Edit. */ public getContent(): string { return this.content; } /** * `getAttributes` returns the attributes of this Edit. */ public getAttributes(): Map { return this.attributes || new Map(); } } ================================================ FILE: packages/sdk/src/document/operation/increase_operation.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { ExecutionResult, Operation, } from '@yorkie-js/sdk/src/document/operation/operation'; import { TimeTicket } from '@yorkie-js/sdk/src/document/time/ticket'; import { CRDTElement } from '@yorkie-js/sdk/src/document/crdt/element'; import { CRDTRoot } from '@yorkie-js/sdk/src/document/crdt/root'; import { Primitive, PrimitiveType, } from '@yorkie-js/sdk/src/document/crdt/primitive'; import { CRDTCounter } from '@yorkie-js/sdk/src/document/crdt/counter'; import { Code, YorkieError } from '@yorkie-js/sdk/src/util/error'; /** * `IncreaseOperation` represents an operation that increments a numeric value to Counter. * Among Primitives, numeric types Integer, Long are used as values. */ export class IncreaseOperation extends Operation { private value: CRDTElement; private actor: string; constructor( parentCreatedAt: TimeTicket, value: CRDTElement, executedAt?: TimeTicket, actor?: string, ) { super(parentCreatedAt, executedAt); this.value = value; this.actor = actor || ''; } /** * `create` creates a new instance of IncreaseOperation. */ public static create( parentCreatedAt: TimeTicket, value: CRDTElement, executedAt?: TimeTicket, actor?: string, ): IncreaseOperation { return new IncreaseOperation(parentCreatedAt, value, executedAt, actor); } /** * `getActor` returns the actor ID associated with this operation. */ public getActor(): string { return this.actor; } /** * `execute` executes this operation on the given `CRDTRoot`. */ public execute(root: CRDTRoot): ExecutionResult { const parentObject = root.findByCreatedAt(this.getParentCreatedAt()); if (!parentObject) { throw new YorkieError( Code.ErrInvalidArgument, `fail to find ${this.getParentCreatedAt()}`, ); } if (!(parentObject instanceof CRDTCounter)) { throw new YorkieError( Code.ErrInvalidArgument, `fail to execute, only Counter can execute increase`, ); } const counter = parentObject as CRDTCounter; const value = this.value.deepcopy() as Primitive; if (counter.isDedup()) { if (!this.actor) { throw new YorkieError( Code.ErrInvalidArgument, 'dedup counter requires actor', ); } counter.increaseDedup(value, this.actor); } else { counter.increase(value); } return { opInfos: [ { type: 'increase', path: root.createPath(this.getParentCreatedAt()), value: value.getValue() as number, }, ], // Dedup counters do not support undo/redo because HLL cannot // remove an actor once added. reverseOp: this.actor ? undefined : this.toReverseOperation(), }; } /** * `toReverseOperation` returns the reverse operation of this operation. */ private toReverseOperation(): Operation { const primitiveValue = this.value.deepcopy() as Primitive; const valueType = primitiveValue.getType(); const value = valueType === PrimitiveType.Long ? -(primitiveValue.getValue() as bigint) : (primitiveValue.getValue() as number) * -1; const reverseOp = IncreaseOperation.create( this.getParentCreatedAt(), Primitive.of(value, primitiveValue.getCreatedAt()), ); return reverseOp; } /** * `getEffectedCreatedAt` returns the creation time of the effected element. */ public getEffectedCreatedAt(): TimeTicket { return this.getParentCreatedAt(); } /** * `toTestString` returns a string containing the meta data. */ public toTestString(): string { return `${this.getParentCreatedAt().toTestString()}.INCREASE.${this.value.toJSON()}`; } /** * `getValue` returns the value of this operation. */ public getValue(): CRDTElement { return this.value; } } ================================================ FILE: packages/sdk/src/document/operation/move_operation.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { TimeTicket } from '@yorkie-js/sdk/src/document/time/ticket'; import { CRDTRoot } from '@yorkie-js/sdk/src/document/crdt/root'; import { CRDTArray } from '@yorkie-js/sdk/src/document/crdt/array'; import { Operation, ExecutionResult, } from '@yorkie-js/sdk/src/document/operation/operation'; import { Code, YorkieError } from '@yorkie-js/sdk/src/util/error'; /** * `MoveOperation` is an operation representing moving an element to * an Array. */ export class MoveOperation extends Operation { private prevCreatedAt: TimeTicket; private createdAt: TimeTicket; constructor( parentCreatedAt: TimeTicket, prevCreatedAt: TimeTicket, createdAt: TimeTicket, executedAt?: TimeTicket, ) { super(parentCreatedAt, executedAt); this.prevCreatedAt = prevCreatedAt; this.createdAt = createdAt; } /** * `create` creates a new instance of MoveOperation. */ public static create( parentCreatedAt: TimeTicket, prevCreatedAt: TimeTicket, createdAt: TimeTicket, executedAt?: TimeTicket, ): MoveOperation { return new MoveOperation( parentCreatedAt, prevCreatedAt, createdAt, executedAt, ); } /** * `execute` executes this operation on the given `CRDTRoot`. */ public execute(root: CRDTRoot): ExecutionResult { const parentObject = root.findByCreatedAt(this.getParentCreatedAt()); if (!parentObject) { throw new YorkieError( Code.ErrInvalidArgument, `fail to find ${this.getParentCreatedAt()}`, ); } if (!(parentObject instanceof CRDTArray)) { throw new YorkieError( Code.ErrInvalidArgument, `fail to execute, only array can execute move`, ); } const array = parentObject as CRDTArray; const reverseOp = this.toReverseOperation(array); const previousIndex = Number(array.subPathOf(this.createdAt)); const deadNode = array.moveAfter( this.prevCreatedAt, this.createdAt, this.getExecutedAt(), ); if (deadNode) { root.registerGCPair({ parent: array.getRGATreeList(), child: deadNode, }); } const index = Number(array.subPathOf(this.createdAt)); return { opInfos: [ { type: 'move', path: root.createPath(this.getParentCreatedAt()), index, previousIndex, }, ], reverseOp, }; } private toReverseOperation(array: CRDTArray): Operation { const preservePrevCreatedAt = array.getPrevCreatedAt(this.createdAt); // NOTE(KMSstudio): executedAt is assigned just before execution, // when Document.undo() is called. return MoveOperation.create( this.getParentCreatedAt(), preservePrevCreatedAt, this.createdAt, ); } /** * `getEffectedCreatedAt` returns the creation time of the * effected element. */ public getEffectedCreatedAt(): TimeTicket { return this.createdAt; } /** * `toTestString` returns a string containing the meta data. */ public toTestString(): string { return `${this.getParentCreatedAt().toTestString()}.MOVE`; } /** * `getPrevCreatedAt` returns the creation time of previous * element. */ public getPrevCreatedAt(): TimeTicket { return this.prevCreatedAt; } /** * `getCreatedAt` returns the creation time of the target element. */ public getCreatedAt(): TimeTicket { return this.createdAt; } /** * `setPrevCreatedAt` sets the creation time of the previous * element. */ public setPrevCreatedAt(createdAt: TimeTicket) { this.prevCreatedAt = createdAt; } /** * `setCreatedAt` sets the creation time of the target element. */ public setCreatedAt(createdAt: TimeTicket) { this.createdAt = createdAt; } } ================================================ FILE: packages/sdk/src/document/operation/operation.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { ActorID } from '@yorkie-js/sdk/src/document/time/actor_id'; import { TimeTicket } from '@yorkie-js/sdk/src/document/time/ticket'; import { VersionVector } from '@yorkie-js/sdk/src/document/time/version_vector'; import { TreeNode } from '@yorkie-js/sdk/src/document/crdt/tree'; import { CRDTRoot } from '@yorkie-js/sdk/src/document/crdt/root'; import { Indexable } from '@yorkie-js/sdk/src/document/document'; import { Code, YorkieError } from '@yorkie-js/sdk/src/util/error'; /** * `OpSource` represents the source of the operation. It is used to handle * corner cases in the operations created by undo/redo allow the removed * elements when executing them. */ export enum OpSource { Local = 'local', Remote = 'remote', UndoRedo = 'undoredo', } /** * `OpInfo` represents the information of an operation. * It is used to inform to the user what kind of operation was executed. */ export type OpInfo = | TextOpInfo | CounterOpInfo | ArrayOpInfo | ObjectOpInfo | TreeOpInfo; /** * `TextOpInfo` represents the OperationInfo for the yorkie.Text. */ export type TextOpInfo = EditOpInfo | StyleOpInfo; /** * `CounterOpInfo` represents the OperationInfo for the yorkie.Counter. */ export type CounterOpInfo = IncreaseOpInfo; /** * `ArrayOpInfo` represents the OperationInfo for the JSONArray. */ export type ArrayOpInfo = | AddOpInfo | RemoveOpInfo | MoveOpInfo | ArraySetOpInfo; /** * `ObjectOpInfo` represents the OperationInfo for the JSONObject. */ export type ObjectOpInfo = SetOpInfo | RemoveOpInfo; /** * `TreeOpInfo` represents the OperationInfo for the yorkie.Tree. */ export type TreeOpInfo = TreeEditOpInfo | TreeStyleOpInfo; /** * `AddOpInfo` represents the information of the add operation. */ export type AddOpInfo = { type: 'add'; path: string; index: number; }; /** * `MoveOpInfo` represents the information of the move operation. */ export type MoveOpInfo = { type: 'move'; path: string; previousIndex: number; index: number; }; /** * `SetOpInfo` represents the information of the set operation. */ export type SetOpInfo = { type: 'set'; path: string; key: string; }; /** * `ArraySetOpInfo` represents the information of the array set operation. */ export type ArraySetOpInfo = { type: 'array-set'; path: string; }; /** * `RemoveOpInfo` represents the information of the remove operation. */ export type RemoveOpInfo = { type: 'remove'; path: string; key?: string; index?: number; }; /** * `IncreaseOpInfo` represents the information of the increase operation. */ export type IncreaseOpInfo = { type: 'increase'; path: string; value: number; }; /** * `EditOpInfo` represents the information of the edit operation. */ export type EditOpInfo = { type: 'edit'; path: string; from: number; to: number; value: { attributes: Indexable; content: string; }; }; /** * `StyleOpInfo` represents the information of the style operation. */ export type StyleOpInfo = { type: 'style'; path: string; from: number; to: number; value: { attributes: Indexable; }; }; /** * `TreeEditOpInfo` represents the information of the tree edit operation. */ export type TreeEditOpInfo = { type: 'tree-edit'; path: string; from: number; to: number; value?: Array; splitLevel?: number; fromPath: Array; toPath: Array; }; /** * `TreeStyleOpInfo` represents the information of the tree style operation. */ export type TreeStyleOpInfo = { type: 'tree-style'; path: string; from: number; to: number; fromPath: Array; toPath: Array; value: { attributes?: Indexable; attributesToRemove?: Array; }; }; /** * `ExecutionResult` represents the result of operation execution. */ export type ExecutionResult = { opInfos: Array; // TODO(chacha912): After implementing all of the reverseOperation, // we change the type to non-optional. reverseOp?: Operation; }; /** * `Operation` represents an operation to be executed on a document. */ export abstract class Operation { private parentCreatedAt: TimeTicket; // NOTE(Hyemmie): `executedAt` variable is undefined if this operation is not executed yet. private executedAt?: TimeTicket; constructor(parentCreatedAt: TimeTicket, executedAt?: TimeTicket) { this.parentCreatedAt = parentCreatedAt; this.executedAt = executedAt; } /** * `getParentCreatedAt` returns the creation time of the target element to * execute the operation. */ public getParentCreatedAt(): TimeTicket { return this.parentCreatedAt; } /** * `getExecutedAt` returns execution time of this operation. */ public getExecutedAt(): TimeTicket { // NOTE(chacha912): When an operation is in the undo/redo stack, // it doesn't have an executedAt yet. The executedAt is set when // the operation is executed through undo or redo. if (!this.executedAt) { throw new YorkieError(Code.ErrNotReady, 'executedAt is not set yet'); } return this.executedAt; } /** * `setActor` sets the given actor to this operation. */ public setActor(actorID: ActorID): void { if (this.executedAt) { this.executedAt = this.executedAt.setActor(actorID); } } /** * `setExecutedAt` sets the executedAt. */ public setExecutedAt(executedAt: TimeTicket): void { this.executedAt = executedAt; } /** * `getEffectedCreatedAt` returns the creation time of the effected element. */ public abstract getEffectedCreatedAt(): TimeTicket; /** * `toTestString` returns a string containing the meta data for debugging purpose. */ public abstract toTestString(): string; /** * `execute` executes this operation on the given `CRDTRoot`. */ public abstract execute( root: CRDTRoot, source: OpSource, versionVector?: VersionVector, ): ExecutionResult | undefined; } ================================================ FILE: packages/sdk/src/document/operation/remove_operation.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { TimeTicket } from '@yorkie-js/sdk/src/document/time/ticket'; import { CRDTRoot } from '@yorkie-js/sdk/src/document/crdt/root'; import { OpSource, Operation, OpInfo, ExecutionResult, } from '@yorkie-js/sdk/src/document/operation/operation'; import { CRDTContainer, CRDTElement, } from '@yorkie-js/sdk/src/document/crdt/element'; import { CRDTObject } from '@yorkie-js/sdk/src/document/crdt/object'; import { CRDTArray } from '@yorkie-js/sdk/src/document/crdt/array'; import { SetOperation } from '@yorkie-js/sdk/src/document/operation/set_operation'; import { AddOperation } from '@yorkie-js/sdk/src/document/operation/add_operation'; import { Code, YorkieError } from '@yorkie-js/sdk/src/util/error'; /** * `RemoveOperation` is an operation that removes an element from `CRDTContainer`. */ export class RemoveOperation extends Operation { private createdAt: TimeTicket; constructor( parentCreatedAt: TimeTicket, createdAt: TimeTicket, executedAt?: TimeTicket, ) { super(parentCreatedAt, executedAt); this.createdAt = createdAt; } /** * `create` creates a new instance of RemoveOperation. */ public static create( parentCreatedAt: TimeTicket, createdAt: TimeTicket, executedAt?: TimeTicket, ): RemoveOperation { return new RemoveOperation(parentCreatedAt, createdAt, executedAt); } /** * `execute` executes this operation on the given `CRDTRoot`. */ public execute( root: CRDTRoot, source: OpSource, ): ExecutionResult | undefined { const container = root.findByCreatedAt( this.getParentCreatedAt(), ) as CRDTContainer; if (!container) { throw new YorkieError( Code.ErrInvalidArgument, `fail to find ${this.getParentCreatedAt()}`, ); } if (!(container instanceof CRDTContainer)) { throw new YorkieError( Code.ErrInvalidArgument, `only object and array can execute remove: ${container}`, ); } // NOTE(chacha912): Handle cases where operation cannot be executed during undo and redo. if (source === OpSource.UndoRedo) { let parent: CRDTElement | undefined = container.getByID(this.createdAt); while (parent) { if (parent.getRemovedAt()) { return; } parent = root.findElementPairByCreatedAt(parent.getCreatedAt())?.parent; } } const key = container.subPathOf(this.createdAt); // NOTE(KMSstudio): Both `toReverseOperation` and `container.delete` internally // look up the CRDTElement using `createdAt`. const reverseOp = this.toReverseOperation(container); const elem = container.delete(this.createdAt, this.getExecutedAt()); root.registerRemovedElement(elem); const opInfos: Array = container instanceof CRDTArray ? [ { type: 'remove', path: root.createPath(this.getParentCreatedAt()), index: Number(key), }, ] : [ { type: 'remove', path: root.createPath(this.getParentCreatedAt()), key, }, ]; return { opInfos, reverseOp }; } /** * `toReverseOperation` returns the reverse operation of this operation. */ private toReverseOperation( parentObject: CRDTContainer, ): Operation | undefined { if (parentObject instanceof CRDTArray) { const value = parentObject.getByID(this.createdAt); if (value !== undefined) { const prevCreatedAt: TimeTicket = parentObject.getPrevCreatedAt( this.createdAt, ); // NOTE(KMSstudio): executedAt is assigned just before execution, when Document.undo() is called. return AddOperation.create( this.getParentCreatedAt(), prevCreatedAt, value.deepcopy(), ); } } if (parentObject instanceof CRDTObject) { const key = parentObject.subPathOf(this.createdAt); if (key !== undefined) { const value = parentObject.get(key); if (value !== undefined) { return SetOperation.create( key, value.deepcopy(), this.getParentCreatedAt(), ); } } } } /** * `getEffectedCreatedAt` returns the creation time of the effected element. */ public getEffectedCreatedAt(): TimeTicket { return this.getParentCreatedAt(); } /** * `toTestString` returns a string containing the meta data. */ public toTestString(): string { return `${this.getParentCreatedAt().toTestString()}.REMOVE.${this.createdAt.toTestString()}`; } /** * `getCreatedAt` returns the creation time of the target element. */ public getCreatedAt(): TimeTicket { return this.createdAt; } /** * `setCreatedAt` sets the creation time of the target element. */ public setCreatedAt(createdAt: TimeTicket) { this.createdAt = createdAt; } } ================================================ FILE: packages/sdk/src/document/operation/set_operation.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { TimeTicket } from '@yorkie-js/sdk/src/document/time/ticket'; import { CRDTElement } from '@yorkie-js/sdk/src/document/crdt/element'; import { CRDTRoot } from '@yorkie-js/sdk/src/document/crdt/root'; import { CRDTObject } from '@yorkie-js/sdk/src/document/crdt/object'; import { OpSource, Operation, ExecutionResult, } from '@yorkie-js/sdk/src/document/operation/operation'; import { RemoveOperation } from '@yorkie-js/sdk/src/document/operation/remove_operation'; import { Code, YorkieError } from '@yorkie-js/sdk/src/util/error'; /** * `SetOperation` represents an operation that stores the value corresponding to the * given key in the Object. */ export class SetOperation extends Operation { private key: string; private value: CRDTElement; constructor( key: string, value: CRDTElement, parentCreatedAt: TimeTicket, executedAt?: TimeTicket, ) { super(parentCreatedAt, executedAt); this.key = key; this.value = value; } /** * `create` creates a new instance of SetOperation. */ public static create( key: string, value: CRDTElement, parentCreatedAt: TimeTicket, executedAt?: TimeTicket, ): SetOperation { return new SetOperation(key, value, parentCreatedAt, executedAt); } /** * `execute` executes this operation on the given `CRDTRoot`. */ public execute( root: CRDTRoot, source: OpSource, ): ExecutionResult | undefined { const obj = root.findByCreatedAt(this.getParentCreatedAt()) as CRDTObject; if (!obj) { throw new YorkieError( Code.ErrInvalidArgument, `fail to find ${this.getParentCreatedAt()}`, ); } if (!(obj instanceof CRDTObject)) { throw new YorkieError( Code.ErrInvalidArgument, `fail to execute, only object can execute set`, ); } // NOTE(chacha912): Handle cases where operation cannot be executed during undo and redo. if (source === OpSource.UndoRedo) { let parent: CRDTElement | undefined = obj; while (parent) { if (parent.getRemovedAt()) { return; } parent = root.findElementPairByCreatedAt(parent.getCreatedAt())?.parent; } } const previousValue = obj.get(this.key); const reverseOp = this.toReverseOperation(previousValue); const value = this.value.deepcopy(); const removed = obj.set(this.key, value, this.getExecutedAt()); // NOTE(chacha912): When resetting elements with the pre-existing createdAt // during undo/redo, it's essential to handle previously tombstoned elements. // In non-GC languages, there may be a need to execute both deregister and purge. if ( source === OpSource.UndoRedo && root.findByCreatedAt(value.getCreatedAt()) ) { root.deregisterElement(value); } root.registerElement(value, obj); if (removed) { root.registerRemovedElement(removed); } if (value.getRemovedAt()) { root.registerRemovedElement(value); } return { opInfos: [ { type: 'set', path: root.createPath(this.getParentCreatedAt()), key: this.key, }, ], reverseOp, }; } /** * `toReverseOperation` returns the reverse operation of this operation. */ private toReverseOperation(value: CRDTElement | undefined): Operation { let reverseOp: SetOperation | RemoveOperation = RemoveOperation.create( this.getParentCreatedAt(), this.value.getCreatedAt(), ); if (value !== undefined && !value.isRemoved()) { reverseOp = SetOperation.create( this.key, value.deepcopy(), this.getParentCreatedAt(), ); } return reverseOp; } /** * `getEffectedCreatedAt` returns the creation time of the effected element. */ public getEffectedCreatedAt(): TimeTicket { return this.value.getCreatedAt(); } /** * `toTestString` returns a string containing the meta data. */ public toTestString(): string { return `${this.getParentCreatedAt().toTestString()}.SET.${ this.key }=${this.value.toSortedJSON()}`; } /** * `getKey` returns the key of this operation. */ public getKey(): string { return this.key; } /** * `getValue` returns the value of this operation. */ public getValue(): CRDTElement { return this.value; } } ================================================ FILE: packages/sdk/src/document/operation/style_operation.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { TimeTicket } from '@yorkie-js/sdk/src/document/time/ticket'; import { VersionVector } from '@yorkie-js/sdk/src/document/time/version_vector'; import { CRDTRoot } from '@yorkie-js/sdk/src/document/crdt/root'; import { GCPair } from '@yorkie-js/sdk/src/document/crdt/gc'; import { RGATreeSplitPos } from '@yorkie-js/sdk/src/document/crdt/rga_tree_split'; import { CRDTText } from '@yorkie-js/sdk/src/document/crdt/text'; import { Operation, OpInfo, ExecutionResult, OpSource, } from '@yorkie-js/sdk/src/document/operation/operation'; import { Indexable } from '../document'; import { Code, YorkieError } from '@yorkie-js/sdk/src/util/error'; /** * `StyleOperation` is an operation applies the style of the given range to Text. */ export class StyleOperation extends Operation { private fromPos: RGATreeSplitPos; private toPos: RGATreeSplitPos; private attributes: Map; private attributesToRemove: Array; constructor( parentCreatedAt: TimeTicket, fromPos: RGATreeSplitPos, toPos: RGATreeSplitPos, attributes: Map, attributesToRemove: Array, executedAt?: TimeTicket, ) { super(parentCreatedAt, executedAt); this.fromPos = fromPos; this.toPos = toPos; this.attributes = attributes; this.attributesToRemove = attributesToRemove; } /** * `create` creates a new instance of StyleOperation. */ public static create( parentCreatedAt: TimeTicket, fromPos: RGATreeSplitPos, toPos: RGATreeSplitPos, attributes: Map, executedAt?: TimeTicket, ): StyleOperation { return new StyleOperation( parentCreatedAt, fromPos, toPos, attributes, [], executedAt, ); } /** * `createRemoveStyleOperation` creates a new instance of StyleOperation for style removal. */ public static createRemoveStyleOperation( parentCreatedAt: TimeTicket, fromPos: RGATreeSplitPos, toPos: RGATreeSplitPos, attributesToRemove: Array, executedAt?: TimeTicket, ): StyleOperation { return new StyleOperation( parentCreatedAt, fromPos, toPos, new Map(), attributesToRemove, executedAt, ); } /** * `execute` executes this operation on the given `CRDTRoot`. */ public execute( root: CRDTRoot, _: OpSource, versionVector?: VersionVector, ): ExecutionResult { const parentObject = root.findByCreatedAt(this.getParentCreatedAt()); if (!parentObject) { throw new YorkieError( Code.ErrInvalidArgument, `fail to find ${this.getParentCreatedAt()}`, ); } if (!(parentObject instanceof CRDTText)) { throw new YorkieError( Code.ErrInvalidArgument, `fail to execute, only Text can execute edit`, ); } const text = parentObject as CRDTText; const allPairs: Array = []; const allChanges: Array<{ from: number; to: number; value?: unknown }> = []; let allDiff = { data: 0, meta: 0 }; const reversePrevAttributes = new Map(); const reverseAttrsToRemove: Array = []; // 01. Handle attributesToRemove (remove style attributes) if (this.attributesToRemove.length > 0) { const [pairs, diff, changes, prevAttributes] = text.removeStyle( [this.fromPos, this.toPos], this.attributesToRemove, this.getExecutedAt(), versionVector, ); allDiff = { data: allDiff.data + diff.data, meta: allDiff.meta + diff.meta, }; allPairs.push(...pairs); allChanges.push(...changes); // Capture previous values for reverse op for (const [key, value] of prevAttributes) { reversePrevAttributes.set(key, value); } } // 02. Handle attributes (set style attributes) if (this.attributes.size > 0) { const [pairs, diff, changes, prevAttributes, attrsToRemove] = text.setStyle( [this.fromPos, this.toPos], Object.fromEntries(this.attributes), this.getExecutedAt(), versionVector, ); allDiff = { data: allDiff.data + diff.data, meta: allDiff.meta + diff.meta, }; allPairs.push(...pairs); allChanges.push(...changes); // Capture previous values and new keys for reverse op for (const [key, value] of prevAttributes) { reversePrevAttributes.set(key, value); } reverseAttrsToRemove.push(...attrsToRemove); } root.acc(allDiff); for (const pair of allPairs) { root.registerGCPair(pair); } // Build reverse operation let reverseOp: Operation | undefined; if (reversePrevAttributes.size > 0 || reverseAttrsToRemove.length > 0) { if (reversePrevAttributes.size > 0 && reverseAttrsToRemove.length > 0) { reverseOp = new StyleOperation( this.getParentCreatedAt(), this.fromPos, this.toPos, reversePrevAttributes, reverseAttrsToRemove, ); } else if (reverseAttrsToRemove.length > 0) { reverseOp = StyleOperation.createRemoveStyleOperation( this.getParentCreatedAt(), this.fromPos, this.toPos, reverseAttrsToRemove, ); } else { reverseOp = StyleOperation.create( this.getParentCreatedAt(), this.fromPos, this.toPos, reversePrevAttributes, ); } } return { opInfos: allChanges.map(({ from, to, value }) => { return { type: 'style', from, to, value, path: root.createPath(this.getParentCreatedAt()), } as OpInfo; }), reverseOp, }; } /** * `getEffectedCreatedAt` returns the creation time of the effected element. */ public getEffectedCreatedAt(): TimeTicket { return this.getParentCreatedAt(); } /** * `toTestString` returns a string containing the meta data. */ public toTestString(): string { const parent = this.getParentCreatedAt().toTestString(); const fromPos = this.fromPos.toTestString(); const toPos = this.toPos.toTestString(); const attributes = this.attributes; return `${parent}.STYL(${fromPos},${toPos},${JSON.stringify(attributes)})`; } /** * `getFromPos` returns the start point of the editing range. */ public getFromPos(): RGATreeSplitPos { return this.fromPos; } /** * `getToPos` returns the end point of the editing range. */ public getToPos(): RGATreeSplitPos { return this.toPos; } /** * `getAttributes` returns the attributes of this operation. */ public getAttributes(): Map { return this.attributes; } /** * `getAttributesToRemove` returns the attributes to remove. */ public getAttributesToRemove(): Array { return this.attributesToRemove; } } ================================================ FILE: packages/sdk/src/document/operation/tree_edit_operation.ts ================================================ /* * Copyright 2023 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { TimeTicket } from '@yorkie-js/sdk/src/document/time/ticket'; import { VersionVector } from '@yorkie-js/sdk/src/document/time/version_vector'; import { CRDTRoot } from '@yorkie-js/sdk/src/document/crdt/root'; import { CRDTTree, CRDTTreeNode, CRDTTreePos, toXML, } from '@yorkie-js/sdk/src/document/crdt/tree'; import { Operation, OpInfo, ExecutionResult, OpSource, } from '@yorkie-js/sdk/src/document/operation/operation'; import { Code, YorkieError } from '@yorkie-js/sdk/src/util/error'; import { traverseAll } from '@yorkie-js/sdk/src/util/index_tree'; /** * `cloneAndDropPreTombstoned` deep-copies `node` and drops descendants * whose ID is in `preTombstoned` — i.e., descendants that were already * tombstoned before this edit ran. Those descendants represent the * user's earlier delete intent and must not be resurrected by undoing * this edit. * * For nodes kept in the clone, `removedAt` is cleared so the redo * re-inserts them as live. */ function cloneAndDropPreTombstoned( node: CRDTTreeNode, preTombstoned: Set, ): CRDTTreeNode { const clone = node.deepcopy(); filterChildren(clone, preTombstoned); // Post-order: clear tombstone on every survivor and recompute size from // its (already-resized) children. The deepcopy carried the original // node's size; after `filterChildren` dropped descendants, that size // is stale and must be recomputed bottom-up. Element nodes derive size // from children's `paddedSize`; text nodes use their value length. traverseAll(clone, (n) => { n.removedAt = undefined; if (n.isText) { n.visibleSize = n.value.length; n.totalSize = n.value.length; return; } let size = 0; for (const child of n._children) size += child.paddedSize(); n.visibleSize = size; n.totalSize = size; }); return clone; } /** * `filterChildren` walks `node._children` and drops descendants whose * IDs are in `preTombstoned`. Used by `cloneAndDropPreTombstoned` to * keep only nodes that this edit actually transitioned from visible * to tombstoned. */ function filterChildren(node: CRDTTreeNode, preTombstoned: Set): void { const all = node._children; if (!all) return; const kept: Array = []; for (const child of all) { if (preTombstoned.has(child.id.toIDString())) { // Already tombstoned before this edit — drop from reverseOp. continue; } filterChildren(child, preTombstoned); kept.push(child); } node._children = kept; } /** * `TreeEditOperation` is an operation representing Tree editing. */ export class TreeEditOperation extends Operation { private fromPos: CRDTTreePos; private toPos: CRDTTreePos; private contents: Array | undefined; private splitLevel: number; private isUndoOp?: boolean; private fromIdx?: number; private toIdx?: number; private lastFromIdx?: number; private lastToIdx?: number; /** * `redoSplitLevel` is set on boundary-deletion undo ops that were generated * to reverse a split. When this op executes (as undo), `toReverseOperation` * uses this value to generate a proper split op for redo, rather than * re-inserting the raw tombstoned boundary nodes as content. */ private redoSplitLevel?: number; constructor( parentCreatedAt: TimeTicket, fromPos: CRDTTreePos, toPos: CRDTTreePos, contents: Array | undefined, splitLevel: number, executedAt: TimeTicket, isUndoOp?: boolean, fromIdx?: number, toIdx?: number, ) { super(parentCreatedAt, executedAt); this.fromPos = fromPos; this.toPos = toPos; this.contents = contents; this.splitLevel = splitLevel; this.isUndoOp = isUndoOp; this.fromIdx = fromIdx; this.toIdx = toIdx; } /** * `create` creates a new instance of EditOperation. */ public static create( parentCreatedAt: TimeTicket, fromPos: CRDTTreePos, toPos: CRDTTreePos, contents: Array | undefined, splitLevel: number, executedAt: TimeTicket, isUndoOp?: boolean, fromIdx?: number, toIdx?: number, ): TreeEditOperation { return new TreeEditOperation( parentCreatedAt, fromPos, toPos, contents, splitLevel, executedAt, isUndoOp, fromIdx, toIdx, ); } /** * `execute` executes this operation on the given `CRDTRoot`. */ public execute( root: CRDTRoot, _: OpSource, versionVector?: VersionVector, ): ExecutionResult { const parentObject = root.findByCreatedAt(this.getParentCreatedAt()); if (!parentObject) { throw new YorkieError( Code.ErrInvalidArgument, `fail to find ${this.getParentCreatedAt()}`, ); } if (!(parentObject instanceof CRDTTree)) { throw new YorkieError( Code.ErrInvalidArgument, `fail to execute, only Tree can execute edit`, ); } const editedAt = this.getExecutedAt(); const tree = parentObject as CRDTTree; // For undo ops: convert stored integer indices to CRDTTreePos if ( this.isUndoOp && this.fromIdx !== undefined && this.toIdx !== undefined ) { this.fromPos = tree.findPos(this.fromIdx); if (this.fromIdx === this.toIdx) { this.toPos = this.fromPos; } else { this.toPos = tree.findPos(this.toIdx); } } const [ changes, pairs, diff, removedNodes, preEditFromIdx, mergeLevel, preTombstoned, ] = tree.edit( [this.fromPos, this.toPos], this.contents?.map((content) => content.deepcopy()), this.splitLevel, editedAt, /** * TODO(sejongk): When splitting element nodes, a new nodeID is assigned with a different timeTicket. * In the same change context, the timeTickets share the same lamport and actorID but have different delimiters, * incremented by one for each. * Therefore, it is possible to simulate later timeTickets using `editedAt` and the length of `contents`. * This logic might be unclear; consider refactoring for multi-level concurrent editing in the Tree implementation. */ (() => { let delimiter = editedAt.getDelimiter(); if (this.contents !== undefined) { delimiter += this.contents.length; } const issueTimeTicket = () => TimeTicket.of( editedAt.getLamport(), ++delimiter, editedAt.getActorID(), ); return issueTimeTicket; })(), versionVector, ); // Store pre-edit from index (computed inside edit() after text-node splits // but before deletions). Derive toIdx from removed nodes' visible sizes. this.lastFromIdx = preEditFromIdx; // For toIdx: fromIdx + total visible tokens of removed nodes const removedSize = removedNodes.reduce( (sum, node) => sum + node.paddedSize(), 0, ); this.lastToIdx = preEditFromIdx + removedSize; // Create reverse op for undo let reverseOp: Operation | undefined; const isPureSplit = this.splitLevel > 0 && !this.contents?.length && removedNodes.length === 0; if (this.splitLevel === 0) { reverseOp = this.toReverseOperation( tree, removedNodes, preEditFromIdx, preTombstoned, mergeLevel, ); } else if (isPureSplit) { reverseOp = this.toSplitReverseOperation(tree, preEditFromIdx); } root.acc(diff); for (const pair of pairs) { root.registerGCPair(pair); } return { opInfos: changes.map( ({ from, to, value, splitLevel, fromPath, toPath }) => { return { type: 'tree-edit', path: root.createPath(this.getParentCreatedAt()), from, to, value, splitLevel, fromPath, toPath, } as OpInfo; }, ), reverseOp, }; } /** * `toReverseOperation` creates the reverse operation for undo. * * The reverse op stores both CRDTTreePos (for initial use) and integer * indices (for reconciliation adjustment when remote edits arrive). * At undo execution time, the integer indices take precedence and are * converted to CRDTTreePos via tree.findPos(). * * @param tree - The CRDTTree after the edit has been applied * @param removedNodes - Nodes that were removed by this edit * @param preEditFromIdx - The from index captured BEFORE the edit */ private toReverseOperation( tree: CRDTTree, removedNodes: Array, preEditFromIdx: number, preTombstoned: Set, mergeLevel?: number, ): Operation | undefined { // Special case: this op is a boundary-deletion that was the undo of a // split. Its redo should re-split, not re-insert the tombstoned boundary // nodes as raw content. if (this.redoSplitLevel !== undefined && this.redoSplitLevel > 0) { // After the boundary deletion has been applied, the merged position is // preEditFromIdx. We re-split there. const splitRedoFromPos = tree.findPos(preEditFromIdx); const splitRedoOp = TreeEditOperation.create( this.getParentCreatedAt(), splitRedoFromPos, splitRedoFromPos, undefined, // no inserted content this.redoSplitLevel, undefined!, // executedAt assigned at redo time true, // isUndoOp (treated as undo/redo op) preEditFromIdx, preEditFromIdx, ); return splitRedoOp; } // Cross-boundary merge: the reverse is a split, not content re-insertion. // A merge deletes element boundaries (e.g.,

    ), moving children // into the target. The undo re-creates those boundaries via split. if (mergeLevel && mergeLevel > 0) { const splitFromPos = tree.findPos(preEditFromIdx); const splitUndoOp = TreeEditOperation.create( this.getParentCreatedAt(), splitFromPos, splitFromPos, undefined, // no inserted content — split creates boundaries mergeLevel, // splitLevel = number of merged boundaries undefined!, // executedAt assigned at undo time true, // isUndoOp preEditFromIdx, preEditFromIdx, ); return splitUndoOp; } // Compute inserted content size (total tree index tokens) const insertedContentSize = this.contents ? this.contents.reduce((sum, node) => sum + node.paddedSize(), 0) : 0; // Guard: if the positions exceed the post-edit tree size, // the edit was a no-op (e.g., concurrent parent deletion where inserted // content was tombstoned). Skip reverse op. const maxNeededIdx = preEditFromIdx + insertedContentSize; if (maxNeededIdx > tree.getSize()) { return undefined; } // Filter to top-level removed nodes (whose parent is NOT also removed). // Also exclude nodes that were already tombstoned before this edit ran: // those represent the user's earlier delete intent and must not be // resurrected by a parent-level undo, even at the root of `topLevelRemoved`. const topLevelRemoved = removedNodes.filter( (node) => !preTombstoned.has(node.id.toIDString()) && (!node.parent || !removedNodes.includes(node.parent)), ); // Deep copy for re-insertion on undo, but drop descendants that // were already tombstoned before this edit. Without this filter, // undoing a parent delete would resurrect the user's earlier // independent deletes — causing accumulation across undo/redo // cycles in nested-edit scenarios. const reverseContents = topLevelRemoved.length > 0 ? topLevelRemoved.map((n) => cloneAndDropPreTombstoned(n, preTombstoned), ) : undefined; // Compute CRDTTreePos for the reverse range using findPos on the // post-edit tree with the pre-edit from index. const reverseFromPos = tree.findPos(preEditFromIdx); let reverseToPos: CRDTTreePos; if (insertedContentSize > 0) { reverseToPos = tree.findPos(preEditFromIdx + insertedContentSize); } else { reverseToPos = reverseFromPos; } // Integer indices for the reverse op (used by reconciliation) const reverseFromIdx = preEditFromIdx; const reverseToIdx = preEditFromIdx + insertedContentSize; return TreeEditOperation.create( this.getParentCreatedAt(), reverseFromPos, reverseToPos, reverseContents, 0, // splitLevel always 0 undefined!, // executedAt set during undo true, // isUndoOp reverseFromIdx, reverseToIdx, ); } /** * `toSplitReverseOperation` creates the reverse operation for a split edit. * * A split creates element boundaries (close + open tags). The reverse * is a boundary deletion: a splitLevel=0 edit that removes those tokens, * merging the split elements back together. * * boundarySize = 2 * splitLevel (each level creates 1 close + 1 open tag) * * @param tree - The CRDTTree after the split has been applied * @param preEditFromIdx - The from index captured BEFORE the split */ private toSplitReverseOperation( tree: CRDTTree, preEditFromIdx: number, ): Operation | undefined { const boundarySize = 2 * this.splitLevel; const reverseFromIdx = preEditFromIdx; const reverseToIdx = preEditFromIdx + boundarySize; // Guard: if indices exceed tree size, the split was a no-op // (e.g., concurrent parent deletion tombstoned the split result). if (reverseToIdx > tree.getSize()) { return undefined; } const reverseFromPos = tree.findPos(reverseFromIdx); const reverseToPos = tree.findPos(reverseToIdx); const boundaryDeletionOp = TreeEditOperation.create( this.getParentCreatedAt(), reverseFromPos, reverseToPos, undefined, // no content — this is a deletion 0, // splitLevel=0: boundary deletion undefined!, // executedAt assigned at undo time true, // isUndoOp reverseFromIdx, reverseToIdx, ); // Tag this op so that its own reverse (the redo) is regenerated as a // proper split rather than a raw node re-insertion. boundaryDeletionOp.redoSplitLevel = this.splitLevel; return boundaryDeletionOp; } /** * `normalizePos` returns the visible-index range of this operation. * For undo ops, returns the stored (possibly reconciled) indices. * For forward ops, returns the pre-edit indices captured during execute(). */ public normalizePos(): [number, number] { if ( this.isUndoOp && this.fromIdx !== undefined && this.toIdx !== undefined ) { return [this.fromIdx, this.toIdx]; } if (this.lastFromIdx !== undefined && this.lastToIdx !== undefined) { return [this.lastFromIdx, this.lastToIdx]; } // Fallback: no indices available return [0, 0]; } /** * `reconcileOperation` adjusts this undo operation's integer indices * when a remote edit modifies the same tree. Uses the same 6-case * overlap logic as EditOperation.reconcileOperation for Text. */ public reconcileOperation( remoteFrom: number, remoteTo: number, contentLen: number, ): void { if (!this.isUndoOp) { return; } if (this.fromIdx === undefined || this.toIdx === undefined) { return; } if (remoteFrom > remoteTo) { return; } const remoteRangeLen = remoteTo - remoteFrom; const localFrom = this.fromIdx; const localTo = this.toIdx; const apply = (na: number, nb: number) => { this.fromIdx = Math.max(0, na); this.toIdx = Math.max(0, nb); }; // Case 1: Remote edit is to the left of undo range // [--remote--] [--undo--] if (remoteTo <= localFrom) { apply( localFrom - remoteRangeLen + contentLen, localTo - remoteRangeLen + contentLen, ); return; } // Case 2: Remote edit is to the right of undo range // [--undo--] [--remote--] if (localTo <= remoteFrom) { return; } // Case 3: Undo range is contained within remote range // [-------remote-------] // [--undo--] if ( remoteFrom <= localFrom && localTo <= remoteTo && remoteFrom !== remoteTo ) { apply(remoteFrom, remoteFrom); return; } // Case 4: Remote range is contained within undo range // [--remote--] // [---------undo---------] if ( localFrom <= remoteFrom && remoteTo <= localTo && localFrom !== localTo ) { apply(localFrom, localTo - remoteRangeLen + contentLen); return; } // Case 5: Remote range overlaps the start of undo range // [---remote---] // [---undo---] if (remoteFrom < localFrom && localFrom < remoteTo && remoteTo < localTo) { apply(remoteFrom, remoteFrom + (localTo - remoteTo)); return; } // Case 6: Remote range overlaps the end of undo range // [---remote---] // [---undo---] if (localFrom < remoteFrom && remoteFrom < localTo && localTo < remoteTo) { apply(localFrom, remoteFrom); return; } } /** * `getContentSize` returns the total visible size of this operation's * content (for reconciliation). */ public getContentSize(): number { if (!this.contents) return 0; return this.contents.reduce((sum, node) => sum + node.paddedSize(), 0); } /** * `getEffectedCreatedAt` returns the creation time of the effected element. */ public getEffectedCreatedAt(): TimeTicket { return this.getParentCreatedAt(); } /** * `toTestString` returns a string containing the meta data. */ public toTestString(): string { const parent = this.getParentCreatedAt().toTestString(); const fromPos = `${this.fromPos .getLeftSiblingID() .getCreatedAt() .toTestString()}/${this.fromPos.getLeftSiblingID().getOffset()}`; const toPos = `${this.toPos .getLeftSiblingID() .getCreatedAt() .toTestString()}/${this.toPos.getLeftSiblingID().getOffset()}`; const contents = this.contents || []; return `${parent}.EDIT(${fromPos},${toPos},${contents .map((v) => toXML(v)) .join('')})`; } /** * `getFromPos` returns the start point of the editing range. */ public getFromPos(): CRDTTreePos { return this.fromPos; } /** * `getToPos` returns the end point of the editing range. */ public getToPos(): CRDTTreePos { return this.toPos; } /** * `getContent` returns the content of Edit. */ public getContents(): Array | undefined { return this.contents; } /** * `getSplitLevel` returns the split level of Edit. */ public getSplitLevel(): number { return this.splitLevel; } } ================================================ FILE: packages/sdk/src/document/operation/tree_style_operation.ts ================================================ /* * Copyright 2023 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { TimeTicket } from '@yorkie-js/sdk/src/document/time/ticket'; import { VersionVector } from '@yorkie-js/sdk/src/document/time/version_vector'; import { CRDTRoot } from '@yorkie-js/sdk/src/document/crdt/root'; import { CRDTTree, CRDTTreePos, TreeChange, } from '@yorkie-js/sdk/src/document/crdt/tree'; import { Operation, OpInfo, ExecutionResult, OpSource, } from '@yorkie-js/sdk/src/document/operation/operation'; import { GCPair } from '@yorkie-js/sdk/src/document/crdt/gc'; import { Code, YorkieError } from '@yorkie-js/sdk/src/util/error'; /** * `TreeStyleOperation` represents an operation that modifies the style of the * node in the Tree. */ export class TreeStyleOperation extends Operation { private fromPos: CRDTTreePos; private toPos: CRDTTreePos; private attributes: Map; private attributesToRemove: Array; constructor( parentCreatedAt: TimeTicket, fromPos: CRDTTreePos, toPos: CRDTTreePos, attributes: Map, attributesToRemove: Array, executedAt: TimeTicket, ) { super(parentCreatedAt, executedAt); this.fromPos = fromPos; this.toPos = toPos; this.attributes = attributes; this.attributesToRemove = attributesToRemove; } /** * `create` creates a new instance of TreeStyleOperation. */ public static create( parentCreatedAt: TimeTicket, fromPos: CRDTTreePos, toPos: CRDTTreePos, attributes: Map, executedAt: TimeTicket, ): TreeStyleOperation { return new TreeStyleOperation( parentCreatedAt, fromPos, toPos, attributes, [], executedAt, ); } /** * `createTreeRemoveStyleOperation` creates a new instance of TreeStyleOperation for style deletion. */ public static createTreeRemoveStyleOperation( parentCreatedAt: TimeTicket, fromPos: CRDTTreePos, toPos: CRDTTreePos, attributesToRemove: Array, executedAt: TimeTicket, ): TreeStyleOperation { return new TreeStyleOperation( parentCreatedAt, fromPos, toPos, new Map(), attributesToRemove, executedAt, ); } /** * `execute` executes this operation on the given `CRDTRoot`. */ public execute( root: CRDTRoot, _: OpSource, versionVector: VersionVector, ): ExecutionResult { const parentObject = root.findByCreatedAt(this.getParentCreatedAt()); if (!parentObject) { throw new YorkieError( Code.ErrInvalidArgument, `fail to find ${this.getParentCreatedAt()}`, ); } if (!(parentObject instanceof CRDTTree)) { throw new YorkieError( Code.ErrInvalidArgument, `fail to execute, only Tree can execute edit`, ); } const tree = parentObject as CRDTTree; let changes: Array; let pairs: Array; let diff = { data: 0, meta: 0 }; const reversePrevAttributes = new Map(); const reverseAttrsToRemove: Array = []; if (this.attributes.size) { const attributes: { [key: string]: any } = {}; [...this.attributes].forEach(([key, value]) => (attributes[key] = value)); let prevAttributes: Map; let newAttrKeys: Array; [pairs, changes, diff, prevAttributes, newAttrKeys] = tree.style( [this.fromPos, this.toPos], attributes, this.getExecutedAt(), versionVector, ); for (const [key, value] of prevAttributes) { reversePrevAttributes.set(key, value); } reverseAttrsToRemove.push(...newAttrKeys); } else { const attributesToRemove = this.attributesToRemove; let prevAttributes: Map; [pairs, changes, diff, prevAttributes] = tree.removeStyle( [this.fromPos, this.toPos], attributesToRemove, this.getExecutedAt(), versionVector, ); for (const [key, value] of prevAttributes) { reversePrevAttributes.set(key, value); } } root.acc(diff); for (const pair of pairs) { root.registerGCPair(pair); } // Build reverse operation for undo. let reverseOp: Operation | undefined; if (reversePrevAttributes.size > 0 && reverseAttrsToRemove.length > 0) { reverseOp = new TreeStyleOperation( this.getParentCreatedAt(), this.fromPos, this.toPos, reversePrevAttributes, reverseAttrsToRemove, undefined!, ); } else if (reverseAttrsToRemove.length > 0) { reverseOp = TreeStyleOperation.createTreeRemoveStyleOperation( this.getParentCreatedAt(), this.fromPos, this.toPos, reverseAttrsToRemove, undefined!, ); } else if (reversePrevAttributes.size > 0) { reverseOp = TreeStyleOperation.create( this.getParentCreatedAt(), this.fromPos, this.toPos, reversePrevAttributes, undefined!, ); } return { opInfos: changes.map(({ from, to, value, fromPath, toPath }) => { return { type: 'tree-style', from, to, value: this.attributes.size ? { attributes: value } : { attributesToRemove: value }, fromPath, toPath, path: root.createPath(this.getParentCreatedAt()), } as OpInfo; }), reverseOp, }; } /** * `getEffectedCreatedAt` returns the creation time of the effected element. */ public getEffectedCreatedAt(): TimeTicket { return this.getParentCreatedAt(); } /** * `toTestString` returns a string containing the meta data. */ public toTestString(): string { const parent = this.getParentCreatedAt().toTestString(); const fromPos = `${this.fromPos .getLeftSiblingID() .getCreatedAt() .toTestString()}:${this.fromPos.getLeftSiblingID().getOffset()}`; const toPos = `${this.toPos .getLeftSiblingID() .getCreatedAt() .toTestString()}:${this.toPos.getLeftSiblingID().getOffset()}`; return `${parent}.STYLE(${fromPos},${toPos},${Object.entries( this.attributes || {}, ) .map(([k, v]) => `${k}:"${v}"`) .join(' ')})`; } /** * `getFromPos` returns the start point of the editing range. */ public getFromPos(): CRDTTreePos { return this.fromPos; } /** * `getToPos` returns the end point of the editing range. */ public getToPos(): CRDTTreePos { return this.toPos; } /** * `getAttributes` returns the attributes of Style. */ public getAttributes(): Map { return this.attributes; } /** * `getAttributesToRemove` returns the attributes of Style to remove. */ public getAttributesToRemove(): Array { return this.attributesToRemove; } } ================================================ FILE: packages/sdk/src/document/presence/change.ts ================================================ /* * Copyright 2025 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { Indexable } from '@yorkie-js/sdk/src/document/document'; /** * `PresenceChangeType` represents the type of presence change. */ export enum PresenceChangeType { Put = 'put', Clear = 'clear', } /** * `PresenceChange` represents the change of presence. */ export type PresenceChange

    = | { type: PresenceChangeType.Put; presence: P } | { type: PresenceChangeType.Clear }; ================================================ FILE: packages/sdk/src/document/presence/presence.ts ================================================ /* * Copyright 2023 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { deepcopy } from '@yorkie-js/sdk/src/util/object'; import { Indexable } from '@yorkie-js/sdk/src/document/document'; import { ChangeContext } from '@yorkie-js/sdk/src/document/change/context'; import { PresenceChangeType } from './change'; /** * `Presence` represents a proxy for the Presence to be manipulated from the outside. */ export class Channel

    { private context: ChangeContext; private presence: P; constructor(changeContext: ChangeContext, presence: P) { this.context = changeContext; this.presence = presence; } /** * `set` updates the presence based on the partial presence. */ public set(presence: Partial

    , option?: { addToHistory: boolean }) { for (const key of Object.keys(presence)) { this.presence[key as keyof P] = presence[key]!; } this.context.setPresenceChange({ type: PresenceChangeType.Put, presence: deepcopy(this.presence), }); this.context.setReversePresence(presence, option); } /** * `get` returns the presence value of the given key. */ public get(key: K): P[K] { return this.presence[key]; } /** * `clear` clears the presence. */ public clear() { this.presence = {} as P; this.context.setPresenceChange({ type: PresenceChangeType.Clear, }); } } ================================================ FILE: packages/sdk/src/document/schema/content-expression.ts ================================================ /* * Copyright 2026 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * `ContentExpr` represents a parsed ProseMirror-compatible content expression. * * Content expressions define what children a node can contain using a grammar: * expr -> sequence ('|' sequence)* // alternatives * sequence -> element+ // sequence * element -> atom quantifier? // element + quantifier * atom -> name | '(' expr ')' // node type or group * quantifier -> '+' | '*' | '?' // 1+, 0+, 0-1 */ export interface ContentExpr { type: 'node' | 'sequence' | 'alternative' | 'repeat'; children?: Array; nodeType?: string; min?: number; max?: number; } type Token = { type: 'name' | 'plus' | 'star' | 'question' | 'pipe' | 'lparen' | 'rparen'; value: string; }; /** * `tokenize` splits a content expression string into tokens. */ function tokenize(expr: string): Array { const tokens: Array = []; let i = 0; while (i < expr.length) { if (/\s/.test(expr[i])) { i++; continue; } if (expr[i] === '+') { tokens.push({ type: 'plus', value: '+' }); i++; } else if (expr[i] === '*') { tokens.push({ type: 'star', value: '*' }); i++; } else if (expr[i] === '?') { tokens.push({ type: 'question', value: '?' }); i++; } else if (expr[i] === '|') { tokens.push({ type: 'pipe', value: '|' }); i++; } else if (expr[i] === '(') { tokens.push({ type: 'lparen', value: '(' }); i++; } else if (expr[i] === ')') { tokens.push({ type: 'rparen', value: ')' }); i++; } else { let name = ''; while (i < expr.length && /[a-zA-Z0-9_]/.test(expr[i])) { name += expr[i]; i++; } if (name) { tokens.push({ type: 'name', value: name }); } else { throw new Error( `Unexpected character '${expr[i]}' at position ${i} in content expression`, ); } } } return tokens; } /** * `parseAlternatives` parses alternatives separated by '|'. */ function parseAlternatives( tokens: Array, pos: number, ): { expr: ContentExpr; pos: number } { const seqs: Array = []; let result = parseSequence(tokens, pos); seqs.push(result.expr); while (result.pos < tokens.length && tokens[result.pos]?.type === 'pipe') { result = parseSequence(tokens, result.pos + 1); seqs.push(result.expr); } if (seqs.length === 1) { return { expr: seqs[0], pos: result.pos }; } return { expr: { type: 'alternative', children: seqs }, pos: result.pos }; } /** * `parseSequence` parses a sequence of elements. */ function parseSequence( tokens: Array, pos: number, ): { expr: ContentExpr; pos: number } { const elements: Array = []; while ( pos < tokens.length && tokens[pos].type !== 'pipe' && tokens[pos].type !== 'rparen' ) { const result = parseElement(tokens, pos); elements.push(result.expr); pos = result.pos; } if (elements.length === 1) { return { expr: elements[0], pos }; } return { expr: { type: 'sequence', children: elements }, pos }; } /** * `parseElement` parses an atom optionally followed by a quantifier. */ function parseElement( tokens: Array, pos: number, ): { expr: ContentExpr; pos: number } { const result = parseAtom(tokens, pos); let expr = result.expr; pos = result.pos; if (pos < tokens.length) { if (tokens[pos].type === 'plus') { expr = { type: 'repeat', children: [expr], min: 1, max: Infinity }; pos++; } else if (tokens[pos].type === 'star') { expr = { type: 'repeat', children: [expr], min: 0, max: Infinity }; pos++; } else if (tokens[pos].type === 'question') { expr = { type: 'repeat', children: [expr], min: 0, max: 1 }; pos++; } } return { expr, pos }; } /** * `parseAtom` parses a name or a parenthesized sub-expression. */ function parseAtom( tokens: Array, pos: number, ): { expr: ContentExpr; pos: number } { if (pos >= tokens.length) { throw new Error('Unexpected end of content expression'); } if (tokens[pos].type === 'lparen') { const result = parseAlternatives(tokens, pos + 1); if (result.pos >= tokens.length || tokens[result.pos]?.type !== 'rparen') { throw new Error('Unmatched parenthesis in content expression'); } return { expr: result.expr, pos: result.pos + 1 }; } if (tokens[pos].type !== 'name') { throw new Error( `Expected node type name but got '${tokens[pos].value}' in content expression`, ); } return { expr: { type: 'node', nodeType: tokens[pos].value }, pos: pos + 1 }; } /** * `parseContentExpression` parses a ProseMirror-compatible content expression * string into a `ContentExpr` AST. * * Examples: * - `"paragraph+"` -> 1+ paragraphs * - `"text*"` -> 0+ text nodes * - `"heading paragraph+"` -> one heading then 1+ paragraphs * - `"paragraph | heading"` -> one paragraph or one heading * - `"(paragraph | heading)+"` -> 1+ of paragraph or heading * - `"block+"` -> 1+ nodes from "block" group (resolved via groupResolver) */ export function parseContentExpression(expr: string): ContentExpr { const trimmed = expr.trim(); if (trimmed.length === 0) { return { type: 'sequence', children: [] }; } const tokens = tokenize(trimmed); const result = parseAlternatives(tokens, 0); if (result.pos < tokens.length) { throw new Error( `Unexpected token '${tokens[result.pos].value}' at position ${result.pos} in content expression`, ); } return result.expr; } /** * `matchExpr` attempts to match child types starting at any of the given * positions against the expression. Returns the set of all reachable * positions after matching, enabling backtracking for ambiguous expressions * like `a* a`. */ function matchExpr( expr: ContentExpr, types: Array, positions: Set, resolver: (name: string) => Array, ): Set { switch (expr.type) { case 'node': { const allowed = resolver(expr.nodeType!); const result = new Set(); for (const pos of positions) { if (pos < types.length && allowed.includes(types[pos])) { result.add(pos + 1); } } return result; } case 'sequence': { let current = positions; for (const child of expr.children!) { current = matchExpr(child, types, current, resolver); if (current.size === 0) { return current; } } return current; } case 'alternative': { const result = new Set(); for (const child of expr.children!) { for (const pos of matchExpr(child, types, positions, resolver)) { result.add(pos); } } return result; } case 'repeat': { const min = expr.min ?? 0; const max = expr.max ?? Infinity; // Collect all positions reachable with 0..max repetitions let current = positions; const reachable = new Set(); if (min === 0) { for (const p of current) reachable.add(p); } for (let count = 1; count <= max; count++) { const next = matchExpr(expr.children![0], types, current, resolver); // Remove positions we've already seen to avoid infinite loops const newPositions = new Set(); for (const p of next) { if (!reachable.has(p) || count < min) { newPositions.add(p); } } if (newPositions.size === 0) break; current = newPositions; if (count >= min) { for (const p of current) reachable.add(p); } } return reachable; } } return new Set(); } /** * `matchContentExpression` matches an array of child type names against * a parsed content expression. It uses the `groupResolver` to resolve * group names (like "block") to a list of concrete node type names. * * Returns `{ valid: true }` if the children match, or * `{ valid: false, error: string }` if they do not. */ export function matchContentExpression( expr: ContentExpr, childTypes: Array, groupResolver: (name: string) => Array, ): { valid: boolean; error?: string } { const positions = matchExpr(expr, childTypes, new Set([0]), groupResolver); if (positions.has(childTypes.length)) { return { valid: true }; } if (positions.size === 0) { return { valid: false, error: 'Children do not match content expression' }; } return { valid: false, error: `Unexpected child at position ${Math.max(...positions)}`, }; } ================================================ FILE: packages/sdk/src/document/schema/ruleset_validator.ts ================================================ /* * Copyright 2025 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { PrimitiveRule, Rule } from '@yorkie-js/schema/src/rulesets'; import { CRDTObject } from '@yorkie-js/sdk/src/document/crdt/object'; import { CRDTArray } from '@yorkie-js/sdk/src/document/crdt/array'; import { CRDTText } from '@yorkie-js/sdk/src/document/crdt/text'; import { CRDTTree } from '@yorkie-js/sdk/src/document/crdt/tree'; import { CRDTCounter } from '@yorkie-js/sdk/src/document/crdt/counter'; import { validateTreeAgainstSchema } from '@yorkie-js/sdk/src/document/schema/tree-validator'; import { Primitive, PrimitiveType, } from '@yorkie-js/sdk/src/document/crdt/primitive'; export type ValidationResult = { valid: boolean; errors?: Array; }; export type ValidationError = { path: string; message: string; }; /** * `validateYorkieRuleset` validates the given data against the ruleset. */ export function validateYorkieRuleset( data: any, ruleset: Array, ): ValidationResult { const errors: Array = []; for (const rule of ruleset) { const value = getValueByPath(data, rule.path); const result = validateValue(value, rule); if (!result.valid) { for (const error of result.errors || []) { errors.push(error); } } } return { valid: errors.length === 0, errors, }; } /** * `getValueByPath` gets a value from the given object using the given path. */ function getValueByPath(obj: any, path: string): any { if (!path.startsWith('$')) { throw new Error(`Path must start with $, got ${path}`); } const keys = path.split('.'); let current = obj; for (let i = 1; i < keys.length; i++) { const key = keys[i]; if (!(current instanceof CRDTObject)) { return undefined; } current = current.get(key); } return current; } /** * `validateValue` validates a value against a rule. */ function validateValue(value: any, rule: Rule): ValidationResult { switch (rule.type) { case 'string': case 'boolean': case 'integer': case 'double': case 'long': case 'date': case 'bytes': case 'null': return validatePrimitiveValue(value, rule as PrimitiveRule); case 'object': if (!(value instanceof CRDTObject)) { return { valid: false, errors: [ { path: rule.path, message: `expected object at path ${rule.path}`, }, ], }; } break; case 'array': if (!(value instanceof CRDTArray)) { return { valid: false, errors: [ { path: rule.path, message: `expected array at path ${rule.path}`, }, ], }; } break; case 'yorkie.Text': if (!(value instanceof CRDTText)) { return { valid: false, errors: [ { path: rule.path, message: `expected yorkie.Text at path ${rule.path}`, }, ], }; } break; case 'yorkie.Tree': { if (!(value instanceof CRDTTree)) { return { valid: false, errors: [ { path: rule.path, message: `expected yorkie.Tree at path ${rule.path}`, }, ], }; } if ('treeNodes' in rule && rule.treeNodes && rule.treeNodes.length > 0) { const treeResult = validateTreeAgainstSchema( value as CRDTTree, rule.treeNodes, ); if (!treeResult.valid) { return { valid: false, errors: [{ path: rule.path, message: treeResult.error! }], }; } } break; } case 'yorkie.Counter': if (!(value instanceof CRDTCounter)) { return { valid: false, errors: [ { path: rule.path, message: `expected yorkie.Counter at path ${rule.path}`, }, ], }; } break; default: throw new Error(`Unknown rule type: ${(rule as any).type}`); } return { valid: true, }; } /** * `getPrimitiveType` converts a string type to PrimitiveType. */ function getPrimitiveType(type: string): PrimitiveType { switch (type) { case 'null': return PrimitiveType.Null; case 'boolean': return PrimitiveType.Boolean; case 'integer': return PrimitiveType.Integer; case 'long': return PrimitiveType.Long; case 'double': return PrimitiveType.Double; case 'string': return PrimitiveType.String; case 'bytes': return PrimitiveType.Bytes; case 'date': return PrimitiveType.Date; default: throw new Error(`Unknown primitive type: ${type}`); } } /** * `validatePrimitiveValue` validates a primitive value against a rule. */ function validatePrimitiveValue( value: any, rule: PrimitiveRule, ): ValidationResult { if ( value instanceof Primitive && value.getType() === getPrimitiveType(rule.type) ) { return { valid: true }; } return { valid: false, errors: [ { path: rule.path, message: `expected ${rule.type} at path ${rule.path}`, }, ], }; } ================================================ FILE: packages/sdk/src/document/schema/tree-validator.ts ================================================ /* * Copyright 2026 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { CRDTTree, CRDTTreeNode } from '@yorkie-js/sdk/src/document/crdt/tree'; import { parseContentExpression, matchContentExpression, } from '@yorkie-js/sdk/src/document/schema/content-expression'; /** * `TreeNodeRuleInput` represents the input for a tree node rule, * matching the TreeNodeRule type from the schema package. */ export type TreeNodeRuleInput = { nodeType: string; content?: string; marks?: string; group?: string; }; /** * `TreeValidationResult` represents the result of tree validation. */ export type TreeValidationResult = { valid: boolean; error?: string; }; /** * `buildGroupResolver` builds a group resolver function from the given * tree node rules. The resolver maps a name to the list of node types * that belong to that group. If the name is not a group, it returns * the name itself (treating it as a concrete node type). */ export function buildGroupResolver( treeNodes: Array, ): (name: string) => Array { const groupMap = new Map>(); for (const node of treeNodes) { if (node.group) { const groups = node.group.split(/\s+/); for (const group of groups) { if (!groupMap.has(group)) { groupMap.set(group, []); } groupMap.get(group)!.push(node.nodeType); } } } return (name: string): Array => { if (groupMap.has(name)) { return groupMap.get(name)!; } return [name]; }; } /** * `validateTreeAgainstSchema` validates a CRDTTree's structure against * the given tree node rules. It checks: * 1. Each node's type exists in the rules * 2. Children match the content expression (for non-text nodes) * 3. Text node marks are allowed by the parent's marks rule */ export function validateTreeAgainstSchema( tree: CRDTTree, treeNodes: Array, ): TreeValidationResult { const ruleMap = new Map(); for (const node of treeNodes) { ruleMap.set(node.nodeType, node); } const resolver = buildGroupResolver(treeNodes); const root = tree.getRoot(); return validateNode(root, ruleMap, resolver); } /** * `validateNode` recursively validates a CRDTTreeNode against the rules. */ function validateNode( node: CRDTTreeNode, ruleMap: Map, resolver: (name: string) => Array, ): TreeValidationResult { // Check that the node type exists in the rules const rule = ruleMap.get(node.type); if (!rule) { return { valid: false, error: `Unknown node type: "${node.type}"`, }; } // Skip further validation for text nodes - they are leaf nodes validated // by their parent's marks rule if (node.isText) { return { valid: true }; } // Get non-removed children const children = node.children; // Check that all non-text children have known types for (const child of children) { if (!child.isText && !ruleMap.has(child.type)) { return { valid: false, error: `Unknown node type: "${child.type}"`, }; } } // Validate content expression (empty string means no children allowed) if (rule.content !== undefined) { const childTypes = children.map((child) => child.type); const expr = parseContentExpression(rule.content); const result = matchContentExpression(expr, childTypes, resolver); if (!result.valid) { return { valid: false, error: `Node "${node.type}": ${result.error}`, }; } } // Validate marks on text children if the rule specifies allowed marks if (rule.marks) { const allowedMarks = rule.marks.split(/\s+/); const markResult = validateChildMarks(node, children, allowedMarks); if (!markResult.valid) { return markResult; } } // Recurse into non-text children for (const child of children) { if (!child.isText) { const result = validateNode(child, ruleMap, resolver); if (!result.valid) { return result; } } } return { valid: true }; } /** * `validateChildMarks` checks that text children of a node only have * marks that are listed in the allowed marks. */ function validateChildMarks( parent: CRDTTreeNode, children: Array, allowedMarks: Array, ): TreeValidationResult { for (const child of children) { if (!child.isText) { continue; } if (!child.attrs) { continue; } for (const rhtNode of child.attrs) { if (rhtNode.isRemoved()) { continue; } const markName = rhtNode.getKey(); if (!allowedMarks.includes(markName)) { return { valid: false, error: `Node "${parent.type}": text child has disallowed mark "${markName}". Allowed marks: ${allowedMarks.join(', ')}`, }; } } } return { valid: true }; } ================================================ FILE: packages/sdk/src/document/time/actor_id.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * `ActorID` is used to identify who is making changes to the document. * It is a hexadecimal string and should be generated by a unique value. */ export type ActorID = string; /** * `InitialActorID` is the initial value of ActorID. */ export const InitialActorID = '000000000000000000000000'; /** * `MaxActorID` is the maximum value of ActorID. */ export const MaxActorID = 'FFFFFFFFFFFFFFFFFFFFFFFF'; ================================================ FILE: packages/sdk/src/document/time/ticket.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { Comparator } from '@yorkie-js/sdk/src/util/comparator'; import { ActorID, InitialActorID, MaxActorID, } from '@yorkie-js/sdk/src/document/time/actor_id'; export const TicketComparator: Comparator = ( p1: TimeTicket, p2: TimeTicket, ) => { return p1.compare(p2); }; /** * `TimeTicketStruct` is a structure represents the meta data of the ticket. * It is used to serialize and deserialize the ticket. */ export type TimeTicketStruct = { lamport: string; delimiter: number; actorID: ActorID; }; /** * TimeTicketSize is the size of the ticket in bytes. * lamport(int64) + delimiter(uint32) + actorID(12 bytes) */ export const TimeTicketSize = 8 + 4 + 12; /** * `TimeTicket` is a timestamp of the logical clock. Ticket is immutable. * It is created by `ChangeID`. */ export class TimeTicket { private lamport: bigint; private delimiter: number; private actorID: ActorID; constructor(lamport: bigint, delimiter: number, actorID: string) { this.lamport = lamport; this.delimiter = delimiter; this.actorID = actorID; } /** * `of` creates an instance of Ticket. */ public static of( lamport: bigint, delimiter: number, actorID: string, ): TimeTicket { return new TimeTicket(lamport, delimiter, actorID); } /** * `fromStruct` creates an instance of Ticket from the struct. */ public static fromStruct(struct: TimeTicketStruct): TimeTicket { return TimeTicket.of( BigInt(struct.lamport), struct.delimiter, struct.actorID, ); } /** * `toIDString` returns the lamport string for this Ticket. */ public toIDString(): string { return `${this.lamport.toString()}:${this.actorID}:${this.delimiter}`; } /** * `toStruct` returns the structure of this Ticket. */ public toStruct(): TimeTicketStruct { return { lamport: this.getLamportAsString(), delimiter: this.getDelimiter(), actorID: this.getActorID(), }; } /** * `toTestString` returns a string containing the meta data of the ticket * for debugging purpose. */ public toTestString(): string { return `${this.lamport.toString()}:${this.actorID.slice(-2)}:${ this.delimiter }`; } /** * `setActor` creates a new instance of Ticket with the given actorID. */ public setActor(actorID: ActorID): TimeTicket { return new TimeTicket(this.lamport, this.delimiter, actorID); } /** * `getLamportAsString` returns the lamport string. */ public getLamportAsString(): string { return this.lamport.toString(); } /** * `getLamport` returns the lamport. */ public getLamport(): bigint { return this.lamport; } /** * `getDelimiter` returns delimiter. */ public getDelimiter(): number { return this.delimiter; } /** * `getActorID` returns actorID. */ public getActorID(): string { return this.actorID; } /** * `after` returns whether the given ticket was created later. */ public after(other: TimeTicket): boolean { return this.compare(other) > 0; } /** * `equals` returns whether the given ticket was created. */ public equals(other: TimeTicket): boolean { return this.compare(other) === 0; } /** * `compare` returns an integer comparing two Ticket. * The result will be 0 if id==other, -1 if `id < other`, and +1 if `id > other`. * If the receiver or argument is nil, it would panic at runtime. */ public compare(other: TimeTicket): number { if (this.lamport > other.lamport) { return 1; } else if (other.lamport > this.lamport) { return -1; } const compare = this.actorID.localeCompare(other.actorID); if (compare !== 0) { return compare; } if (this.delimiter > other.delimiter) { return 1; } else if (other.delimiter > this.delimiter) { return -1; } return 0; } } export const InitialLamport = 0n; export const InitialDelimiter = 0; export const MaxDelimiter = 4294967295; // UInt32 MAX_VALUE export const MaxLamport = 9223372036854775807n; // Int64 MAX_VALUE export const InitialTimeTicket = new TimeTicket( InitialLamport, InitialDelimiter, InitialActorID, ); export const MaxTimeTicket = new TimeTicket( MaxLamport, MaxDelimiter, MaxActorID, ); ================================================ FILE: packages/sdk/src/document/time/version_vector.ts ================================================ /* * Copyright 2024 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { TimeTicket } from './ticket'; /** * `VersionVector` is a vector clock that is used to detect the relationship * between changes whether they are causally related or concurrent. It is * similar to vector clocks, but it is synced with lamport timestamp of the * change. */ export class VersionVector { private vector: Map; constructor(vector?: Map) { this.vector = vector || new Map(); } /** * `set` sets the lamport timestamp of the given actor. */ public set(actorID: string, lamport: bigint): void { this.vector.set(actorID, lamport); } /** * `unset` removes the version for the given actor from the VersionVector. */ public unset(actorID: string): void { this.vector.delete(actorID); } /** * `get` gets the lamport timestamp of the given actor. */ public get(actorID: string): bigint | undefined { return this.vector.get(actorID); } /** * `has` checks if the given actor exists in the VersionVector. */ public has(actorID: string): boolean { return this.vector.has(actorID); } /** * `maxLamport` returns max lamport value from vector */ public maxLamport() { let max = BigInt(0); for (const [, lamport] of this) { if (lamport > max) { max = lamport; } } return max; } /** * `max` returns new version vector which consists of max value of each vector */ public max(other: VersionVector): VersionVector { const maxVector = new Map(); for (const [actorID, lamport] of other) { const currentLamport = this.vector.get(actorID); const maxLamport = currentLamport ? currentLamport > lamport ? currentLamport : lamport : lamport; maxVector.set(actorID, maxLamport); } for (const [actorID, lamport] of this) { const otherLamport = other.get(actorID); const maxLamport = otherLamport ? otherLamport > lamport ? otherLamport : lamport : lamport; maxVector.set(actorID, maxLamport); } return new VersionVector(maxVector); } /** * `afterOrEqual` returns vector[other.actorID] is greaterOrEqual than given ticket's lamport */ public afterOrEqual(other: TimeTicket) { const lamport = this.vector.get(other.getActorID()); if (lamport === undefined) { return false; } return lamport >= other.getLamport(); } /** * `deepcopy` returns a deep copy of this `VersionVector`. */ public deepcopy(): VersionVector { const copied = new Map(); for (const [key, value] of this.vector) { copied.set(key, value); } return new VersionVector(copied); } /** * `filter` returns new version vector consist of filter's actorID. */ public filter(versionVector: VersionVector) { const filtered = new Map(); for (const [actorID] of versionVector) { const lamport = this.vector.get(actorID); if (lamport !== undefined) { filtered.set(actorID, lamport); } } return new VersionVector(filtered); } /** * `size` returns size of version vector */ public size(): number { return this.vector.size; } // eslint-disable-next-line jsdoc/require-jsdoc public *[Symbol.iterator](): IterableIterator<[string, bigint]> { for (const [key, value] of this.vector) { yield [key, value]; } } } /** * `InitialVersionVector` is the initial version vector. */ export const InitialVersionVector = new VersionVector(new Map()); ================================================ FILE: packages/sdk/src/document/yson/index.ts ================================================ /* * Copyright 2025 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * YSON (Yorkie Serialized Object Notation) module. * * This module provides utilities for parsing and working with YSON, * an extended JSON format that supports Yorkie CRDT types. * * @module yson */ export type { YSONValue, YSONText as Text, YSONTree as Tree, YSONTextNode as TextNode, YSONTreeNode as TreeNode, YSONInt as Int, YSONLong as Long, YSONDate as Date, YSONBinData as BinData, YSONCounter as Counter, YSONDedupCounter as DedupCounter, } from './types'; export { isText, isTree, isInt, isLong, isDate, isBinData, isCounter, isDedupCounter, isObject, } from './types'; export { parse, textToString, treeToXML } from './parser'; ================================================ FILE: packages/sdk/src/document/yson/parser.ts ================================================ /* * Copyright 2025 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { Code, YorkieError } from '@yorkie-js/sdk/src/util/error'; import type { YSONValue, YSONText, YSONTree, YSONTextNode, YSONTreeNode, YSONInt, YSONLong, YSONDate, YSONBinData, YSONCounter, YSONDedupCounter, } from './types'; /** * `parse` parses a YSON string into a typed JavaScript object. * * YSON extends JSON to support Yorkie CRDT types: * - `Text([...])` for Text CRDT * - `Tree(...)` for Tree CRDT * - Standard JSON for primitives, objects, and arrays * * @param yson - YSON formatted string * @returns Parsed YSONValue * @throws YorkieError if parsing fails * * @example * ```typescript * const data = parse('{"content":Text([{"val":"Hi"}])}'); * // { content: { type: 'Text', nodes: [{ val: 'Hi' }] } } * * // With type parameter: * const data = parse<{ content: YSONText }>('{"content":Text([{"val":"Hi"}])}'); * // data.content is now typed as YSONText * ``` */ export function parse(yson: string): T { try { // Preprocess YSON string to handle special types const processed = preprocessYSON(yson); // Parse as JSON const parsed = JSON.parse(processed); // Post-process to restore type information return postprocessValue(parsed) as T; } catch (err) { throw new YorkieError( Code.ErrInvalidArgument, `Failed to parse YSON: ${err instanceof Error ? err.message : String(err)}`, ); } } /** * `preprocessYSON` converts YSON special syntax to JSON-compatible format. * * Transformations: * - `Text([...])` → `{"__yson_type":"Text","__yson_data":[...]}` * - `Tree(...)` → `{"__yson_type":"Tree","__yson_data":...}` * - `Int(42)` → `{"__yson_type":"Int","__yson_data":42}` * - `Long(64)` → `{"__yson_type":"Long","__yson_data":64}` * - `Date("...")` → `{"__yson_type":"Date","__yson_data":"..."}` * - `BinData("...")` → `{"__yson_type":"BinData","__yson_data":"..."}` * - `DedupCounter(Int(15),"b64")` → `{"__yson_type":"DedupCounter","__yson_data":{"__yson_type":"Int","__yson_data":15},"__yson_registers":"b64"}` * - `Counter(Int(10))` → `{"__yson_type":"Counter","__yson_data":{"__yson_type":"Int","__yson_data":10}}` */ function preprocessYSON(yson: string): string { let result = yson; // Handle DedupCounter first (compound structure incompatible with general replacements) // DedupCounter(Int(15),"base64...") → {"__yson_type":"DedupCounter","__yson_data":{"__yson_type":"Int","__yson_data":15},"__yson_registers":"base64..."} result = result.replace( /DedupCounter\(Int\((-?\d+)\),"([^"]+)"\)/g, (_, value, registers) => { return `{"__yson_type":"DedupCounter","__yson_data":{"__yson_type":"Int","__yson_data":${value}},"__yson_registers":"${registers}"}`; }, ); // Handle Counter type (as it may contain Int/Long) // Counter(Int(10)) → {"__yson_type":"Counter","__yson_data":{"__yson_type":"Int","__yson_data":10}} result = result.replace( /Counter\((Int|Long)\((-?\d+)\)\)/g, (_, type, value) => { return `{"__yson_type":"Counter","__yson_data":{"__yson_type":"${type}","__yson_data":${value}}}`; }, ); // Handle Int type: Int(42) → {"__yson_type":"Int","__yson_data":42} result = result.replace(/Int\((-?\d+)\)/g, (_, value) => { return `{"__yson_type":"Int","__yson_data":${value}}`; }); // Handle Long type: Long(64) → {"__yson_type":"Long","__yson_data":64} result = result.replace(/Long\((-?\d+)\)/g, (_, value) => { return `{"__yson_type":"Long","__yson_data":${value}}`; }); // Handle Date type: Date("2025-01-02T15:04:05.058Z") → {"__yson_type":"Date","__yson_data":"2025-01-02T15:04:05.058Z"} result = result.replace(/Date\("([^"]*)"\)/g, (_, value) => { return `{"__yson_type":"Date","__yson_data":"${value}"}`; }); // Handle BinData type: BinData("AQID") → {"__yson_type":"BinData","__yson_data":"AQID"} result = result.replace(/BinData\("([^"]*)"\)/g, (_, value) => { return `{"__yson_type":"BinData","__yson_data":"${value}"}`; }); // Handle Text type: Text([...]) → {"__yson_type":"Text","__yson_data":[...]} result = result.replace( /Text\((\[(?:[^[\]]|\[(?:[^[\]]|\[[^[\]]*\])*\])*\])\)/g, (_, content) => { return `{"__yson_type":"Text","__yson_data":${content}}`; }, ); // Handle Tree type: Tree({...}) → {"__yson_type":"Tree","__yson_data":{...}} result = result.replace( /Tree\((\{[^{}]*(?:\{[^{}]*(?:\{[^{}]*\})*[^{}]*\})*[^{}]*\})\)/g, (_, content) => { return `{"__yson_type":"Tree","__yson_data":${content}}`; }, ); return result; } /** * `postprocessValue` recursively processes parsed JSON to restore YSON types. */ function postprocessValue(value: any): YSONValue { if (value === null || typeof value !== 'object') { return value; } // Check for YSON type markers if (value.__yson_type === 'Int' && typeof value.__yson_data === 'number') { return { type: 'Int', value: value.__yson_data, } as YSONInt; } if (value.__yson_type === 'Long' && typeof value.__yson_data === 'number') { return { type: 'Long', value: value.__yson_data, } as YSONLong; } if (value.__yson_type === 'Date' && typeof value.__yson_data === 'string') { return { type: 'Date', value: value.__yson_data, } as YSONDate; } if ( value.__yson_type === 'BinData' && typeof value.__yson_data === 'string' ) { return { type: 'BinData', value: value.__yson_data, } as YSONBinData; } if ( value.__yson_type === 'DedupCounter' && typeof value.__yson_data === 'object' && typeof value.__yson_registers === 'string' ) { const counterValue = postprocessValue(value.__yson_data); if ( typeof counterValue === 'object' && counterValue !== null && 'type' in counterValue && counterValue.type === 'Int' ) { return { type: 'DedupCounter', value: counterValue as YSONInt, registers: value.__yson_registers, } as YSONDedupCounter; } throw new YorkieError( Code.ErrInvalidArgument, 'DedupCounter must contain Int', ); } if ( value.__yson_type === 'Counter' && typeof value.__yson_data === 'object' ) { const counterValue = postprocessValue(value.__yson_data); if ( typeof counterValue === 'object' && counterValue !== null && 'type' in counterValue && (counterValue.type === 'Int' || counterValue.type === 'Long') ) { return { type: 'Counter', value: counterValue as YSONInt | YSONLong, } as YSONCounter; } throw new YorkieError( Code.ErrInvalidArgument, 'Counter must contain Int or Long', ); } if (value.__yson_type === 'Text' && Array.isArray(value.__yson_data)) { return { type: 'Text', nodes: value.__yson_data.map((node: any) => postprocessTextNode(node)), } as YSONText; } if (value.__yson_type === 'Tree' && typeof value.__yson_data === 'object') { return { type: 'Tree', root: postprocessTreeNode(value.__yson_data), } as YSONTree; } // Handle arrays if (Array.isArray(value)) { return value.map((item) => postprocessValue(item)); } // Handle objects const result: any = {}; for (const [key, val] of Object.entries(value)) { result[key] = postprocessValue(val); } return result; } /** * `postprocessTextNode` processes a text node object. */ function postprocessTextNode(node: any): YSONTextNode { if ( typeof node !== 'object' || node === null || typeof node.val !== 'string' ) { throw new YorkieError(Code.ErrInvalidArgument, 'invalid text node format'); } const result: YSONTextNode = { val: node.val }; if (node.attrs && typeof node.attrs === 'object') { result.attrs = node.attrs; } return result; } /** * `postprocessTreeNode` processes a tree node object recursively. */ function postprocessTreeNode(node: any): YSONTreeNode { if ( typeof node !== 'object' || node === null || typeof node.type !== 'string' ) { throw new YorkieError(Code.ErrInvalidArgument, 'invalid tree node format'); } const result: YSONTreeNode = { type: node.type }; // Text node if (node.type === 'text' && typeof node.value === 'string') { result.value = node.value; return result; } // Element node if (node.attrs && typeof node.attrs === 'object') { result.attrs = node.attrs; } if (Array.isArray(node.children)) { result.children = node.children.map((child: any) => postprocessTreeNode(child), ); } return result; } /** * `textToString` extracts plain text content from YSONText. * * @param text - YSONText object * @returns Plain text string * * @example * ```typescript * const text = { type: 'Text', nodes: [{val: 'H'}, {val: 'i'}] }; * textToString(text); // "Hi" * ``` */ export function textToString(text: YSONText): string { return text.nodes.map((node) => node.val).join(''); } /** * `treeToXML` converts YSONTree to XML string representation. * * @param tree - YSONTree object * @returns XML string */ export function treeToXML(tree: YSONTree): string { return treeNodeToXML(tree.root); } /** * `treeNodeToXML` recursively converts a tree node to XML. */ function treeNodeToXML(node: YSONTreeNode): string { // Element node with attributes const attrs = node.attrs ? Object.entries(node.attrs) .map(([key, value]) => ` ${key}="${escapeXML(value)}"`) .join('') : ''; // Text node with value if (node.type === 'text' && node.value !== undefined) { return `<${node.type}${attrs}>${escapeXML(node.value)}`; } // Empty element node if (!node.children || node.children.length === 0) { return `<${node.type}${attrs} />`; } // Element node with children const children = node.children.map((child) => treeNodeToXML(child)).join(''); return `<${node.type}${attrs}>${children}`; } /** * `escapeXML` escapes special XML characters. */ function escapeXML(str: string): string { return str .replace(/&/g, '&') .replace(//g, '>') .replace(/"/g, '"') .replace(/'/g, '''); } ================================================ FILE: packages/sdk/src/document/yson/types.ts ================================================ /* * Copyright 2025 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * `YSONTextNode` represents a single character in a Text CRDT. * * @example * ```typescript * { val: 'H', attrs: { bold: true } } * ``` */ export interface YSONTextNode { /** * The character value */ val: string; /** * Optional attributes (e.g., formatting) */ attrs?: Record; } /** * `YSONText` represents a Text CRDT structure. * * @example * ```typescript * { * type: 'Text', * nodes: [ * { val: 'H' }, * { val: 'i' } * ] * } * ``` */ export interface YSONText { type: 'Text'; nodes: Array; } /** * `YSONTreeNode` represents a node in a Tree CRDT. * * For text nodes: `{ type: 'text', value: 'content' }` * For element nodes: `{ type: 'p', children: [...] }` */ export interface YSONTreeNode { /** * Node type (e.g., 'text', 'p', 'div') */ type: string; /** * Text content (for text nodes) */ value?: string; /** * Attributes (for element nodes) */ attrs?: Record; /** * Child nodes (for element nodes) */ children?: Array; } /** * `YSONTree` represents a Tree CRDT structure. * * @example * ```typescript * { * type: 'Tree', * root: { * type: 'doc', * children: [ * { type: 'p', children: [{ type: 'text', value: 'Hello' }] } * ] * } * } * ``` */ export interface YSONTree { type: 'Tree'; root: YSONTreeNode; } /** * `YSONInt` represents a 32-bit integer. * * @example * ```typescript * { type: 'Int', value: 42 } * ``` */ export interface YSONInt { type: 'Int'; value: number; } /** * `YSONLong` represents a 64-bit integer. * * @example * ```typescript * { type: 'Long', value: 64 } * ``` */ export interface YSONLong { type: 'Long'; value: number; } /** * `YSONDate` represents an ISO 8601 timestamp. * * @example * ```typescript * { type: 'Date', value: '2025-01-02T15:04:05.058Z' } * ``` */ export interface YSONDate { type: 'Date'; value: string; } /** * `YSONBinData` represents Base64-encoded binary data. * * @example * ```typescript * { type: 'BinData', value: 'AQID' } * ``` */ export interface YSONBinData { type: 'BinData'; value: string; } /** * `YSONCounter` represents a Counter CRDT for collaborative counting. * * @example * ```typescript * { type: 'Counter', value: { type: 'Int', value: 10 } } * ``` */ export interface YSONCounter { type: 'Counter'; value: YSONInt | YSONLong; } /** * `YSONDedupCounter` represents a DedupCounter CRDT that uses HyperLogLog * to count unique actors. * * @example * ```typescript * { type: 'DedupCounter', value: { type: 'Int', value: 15 }, registers: 'AQID...' } * ``` */ export interface YSONDedupCounter { type: 'DedupCounter'; value: YSONInt; registers: string; } /** * `YSONValue` represents any valid YSON value. * * Can be: * - Primitives: string, number, boolean, null * - Collections: arrays, objects * - CRDT types: Text, Tree, Counter * - Special types: Int, Long, Date, BinData */ export type YSONValue = | string | number | boolean // eslint-disable-next-line @typescript-eslint/no-restricted-types | null | YSONText | YSONTree | YSONInt | YSONLong | YSONDate | YSONBinData | YSONCounter | YSONDedupCounter | { [key: string]: YSONValue } | Array; /** * `isText` checks if a value is a YSONText object. */ export function isText(value: any): value is YSONText { return ( typeof value === 'object' && value !== null && value.type === 'Text' && Array.isArray(value.nodes) ); } /** * `isTree` checks if a value is a YSONTree object. */ export function isTree(value: any): value is YSONTree { return ( typeof value === 'object' && value !== null && value.type === 'Tree' && typeof value.root === 'object' ); } /** * `isInt` checks if a value is a YSONInt object. */ export function isInt(value: any): value is YSONInt { return ( typeof value === 'object' && value !== null && value.type === 'Int' && typeof value.value === 'number' ); } /** * `isLong` checks if a value is a YSONLong object. */ export function isLong(value: any): value is YSONLong { return ( typeof value === 'object' && value !== null && value.type === 'Long' && typeof value.value === 'number' ); } /** * `isDate` checks if a value is a YSONDate object. */ export function isDate(value: any): value is YSONDate { return ( typeof value === 'object' && value !== null && value.type === 'Date' && typeof value.value === 'string' ); } /** * `isBinData` checks if a value is a YSONBinData object. */ export function isBinData(value: any): value is YSONBinData { return ( typeof value === 'object' && value !== null && value.type === 'BinData' && typeof value.value === 'string' ); } /** * `isCounter` checks if a value is a YSONCounter object. */ export function isCounter(value: any): value is YSONCounter { return ( typeof value === 'object' && value !== null && value.type === 'Counter' && typeof value.value === 'object' ); } /** * `isDedupCounter` checks if a value is a YSONDedupCounter object. */ export function isDedupCounter(value: any): value is YSONDedupCounter { return ( typeof value === 'object' && value !== null && value.type === 'DedupCounter' && typeof value.value === 'object' && typeof value.registers === 'string' ); } /** * `isObject` checks if a value is a plain YSON object (not a special type). */ export function isObject(value: any): value is { [key: string]: YSONValue } { return ( typeof value === 'object' && value !== null && !Array.isArray(value) && !isText(value) && !isTree(value) && !isInt(value) && !isLong(value) && !isDate(value) && !isBinData(value) && !isCounter(value) && !isDedupCounter(value) ); } ================================================ FILE: packages/sdk/src/util/comparator.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ export type Comparator = (keyA: K, keyB: K) => number; export const DefaultComparator = (a: any, b: any): number => { if (a === b) { return 0; } else if (a < b) { return -1; } else { return 1; } }; ================================================ FILE: packages/sdk/src/util/error.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ export enum Code { // Ok is returned when the operation completed successfully. Ok = 'ok', // ErrClientNotActivated is returned when the client is not active. ErrClientNotActivated = 'ErrClientNotActivated', // ErrClientNotFound is returned when the client is not found. ErrClientNotFound = 'ErrClientNotFound', // ErrUnimplemented is returned when the operation is not implemented. ErrUnimplemented = 'ErrUnimplemented', // ErrInvalidType is returned when the type is invalid. ErrInvalidType = 'ErrInvalidType', // ErrDummy is used to verify errors for testing purposes. ErrDummy = 'ErrDummy', // ErrNotAttached is returned when the resource is not attached. ErrNotAttached = 'ErrNotAttached', // ErrNotDetached is returned when the resource is not detached. ErrNotDetached = 'ErrNotDetached', // ErrSessionNotFound is returned when the server no longer recognises a // channel session_id (e.g. reclaimed after TTL). Callers should treat this // as "session expired" and retry as a first-call (empty session_id). ErrSessionNotFound = 'ErrSessionNotFound', // ErrDocumentRemoved is returned when the document is removed. ErrDocumentRemoved = 'ErrDocumentRemoved', // ErrDocumentSizeExceedsLimit is returned when the document size exceeds the limit. ErrDocumentSizeExceedsLimit = 'ErrDocumentSizeExceedsLimit', // ErrDocumentSchemaValidationFailed is returned when the document schema validation failed. ErrDocumentSchemaValidationFailed = 'ErrDocumentSchemaValidationFailed', // InvalidObjectKey is returned when the object key is invalid. ErrInvalidObjectKey = 'ErrInvalidObjectKey', // ErrInvalidArgument is returned when the argument is invalid. ErrInvalidArgument = 'ErrInvalidArgument', // ErrNotInitialized is returned when required initialization has not been completed. ErrNotInitialized = 'ErrNotInitialized', // ErrNotReady is returned when execution of following actions is not ready. ErrNotReady = 'ErrNotReady', // ErrRefused is returned when the execution is rejected. ErrRefused = 'ErrRefused', // ErrContextNotProvided is returned when a required React context is missing ErrContextNotProvided = 'ErrContextNotProvided', // ErrPermissionDenied is returned when the authorization webhook denies the request. ErrPermissionDenied = 'ErrPermissionDenied', // ErrUnauthenticated is returned when the request does not have valid authentication credentials. ErrUnauthenticated = 'ErrUnauthenticated', // ErrTooManySubscribers is returned when the number of subscribers exceeds the limit. ErrTooManySubscribers = 'ErrTooManySubscribers', // ErrTooManyAttachments is returned when the number of attachments exceeds the limit. ErrTooManyAttachments = 'ErrTooManyAttachments', // ErrEpochMismatch is returned when the document has been compacted // and the client's epoch no longer matches the server's epoch. ErrEpochMismatch = 'ErrEpochMismatch', } /** * `YorkieError` is an error returned by a Yorkie operation. */ export class YorkieError extends Error { name = 'YorkieError'; stack?: string; constructor( readonly code: Code, readonly message: string, ) { super(message); this.toString = (): string => `[code=${this.code}]: ${this.message}`; } } ================================================ FILE: packages/sdk/src/util/index_tree.ts ================================================ /* * Copyright 2023 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { TimeTicket, VersionVector } from '../yorkie'; import { Code, YorkieError } from './error'; import { DataSize, addDataSizes, subDataSize, } from '@yorkie-js/sdk/src/util/resource'; /** * About `index`, `path`, `size` and `TreePos` in crdt.IndexTree. * * `index` of crdt.IndexTree represents a absolute position of a node in the tree. * `size` is used to calculate the relative index of nodes in the tree. * `index` in yorkie.IndexTree inspired by ProseMirror's index. * * For example, empty paragraph's size is 0 and index 0 is the position of the: * 0 *

    , p.size = 0 * * If a paragraph has , its size becomes 2 and there are 3 indexes: * 0 1 2 *

    p.size = 2, i.size = 0 * * If the paragraph has and , its size becomes 4: * 0 1 2 3 4 *

    p.size = 4, i.size = 0, b.size = 0 * 0 1 2 3 4 5 6 *

    p.size = 6, i.size = 0, b.size = 0, s.size = 0 * * If a paragraph has text, its size becomes length of the characters: * 0 1 2 3 *

    A B C

    p.size = 3, text.size = 3 * * So the size of a node is the sum of the size and type of its children: * `size = children(element type).length * 2 + children.reduce((child, acc) => child.size + acc, 0)` * * `TreePos` is also used to represent the position in the tree. It contains node and offset. * `TreePos` can be converted to `index` and vice versa. * * For example, if a paragraph has , there are 3 indexes: * 0 1 2 *

    p.size = 2, i.size = 0 * * In this case, index of TreePos(p, 0) is 0, index of TreePos(p, 1) is 2. * Index 1 can be converted to TreePos(i, 0). * * `path` of crdt.IndexTree represents a position like `index` in crdt.IndexTree. * It contains offsets of each node from the root node as elements except the last. * The last element of the path represents the position in the parent node. * * Let's say we have a tree like this: * 0 1 2 *

    a b c d

    * * The path of the position between 'c' and 'd' is [1, 1]. The first element of the * path is the offset of the in

    and the second element represents the position * between 'c' and 'd' in . */ /** * `ElementPaddingSize` is the size of an element node as a child of another element node. * Because an element node could be considered as a pair of open and close tags. */ export const ElementPaddingSize = 2; /** * `DefaultRootType` is the default type of the root node. * It is used when the type of the root node is not specified. */ export const DefaultRootType = 'root'; /** * `DefaultTextType` is the default type of the text node. * It is used when the type of the text node is not specified. */ export const DefaultTextType = 'text'; /** * `NoteType` is the type of a node in the tree. */ export type TreeNodeType = string; /** * `addSizeOfLeftSiblings` returns the size of left siblings of the given offset. * If includeRemoved is true, it includes removed nodes in the calculation. */ export function addSizeOfLeftSiblings>( parent: T, offset: number, includeRemoved: boolean = false, ): number { let acc = 0; const siblings = includeRemoved ? parent.allChildren : parent.children; for (let i = 0; i < offset; i++) { const leftSibling = siblings[i]; if (!leftSibling || (!includeRemoved && leftSibling.isRemoved)) { continue; } acc += leftSibling.paddedSize(includeRemoved); } return acc; } /** * `IndexTreeNode` is the node of IndexTree. It is used to represent the * document of text-based editors. */ export abstract class IndexTreeNode> { type: TreeNodeType; parent?: T; _children: Array; visibleSize: number; totalSize: number; constructor(type: TreeNodeType, children: Array = []) { this.type = type; this.visibleSize = 0; this.totalSize = 0; this._children = children; if (this.isText && this._children.length > 0) { throw new YorkieError(Code.ErrRefused, 'Text node cannot have children'); } } /** * `updateAncestorsSize` updates the size of the ancestors. * It is used when the size of the node is changed. * If includeRemoved is true, it updates ancestors totalSize including removed nodes. */ updateAncestorsSize(delta: number, includeRemoved: boolean = false): void { let parent: T | undefined = this.parent; while (parent) { if (includeRemoved) { parent.totalSize += delta; } else { parent.visibleSize += delta; // NOTE(hackerwins): If a parent node is removed (tombstone), // it is not visible to the user, and its children are also not visible. // Therefore, there is no need to update the visibleSize above the removed parent. if (parent.isRemoved) { break; } } parent = parent.parent; } } /** * `UpdateDescendantsSize` updates the size of the descendants. It is used when * the tree is newly created and the size of the descendants is not calculated. * If includeRemoved is true, it includes removed nodes in the calculation. */ updateDescendantsSize(includeRemoved: boolean = false): number { let size = 0; for (const child of this._children) { const childSize = child.updateDescendantsSize(includeRemoved); if (!includeRemoved && child.isRemoved) { continue; } size += childSize; } if (includeRemoved) { this.totalSize += size; } else { this.visibleSize += size; } return this.paddedSize(includeRemoved); } /** * `isText` returns true if the node is a text node. */ get isText(): boolean { // TODO(hackerwins): We need to get the type of text node from user. // Consider the use schema to get the type of text node. return this.type === DefaultTextType; } /** * `paddedSize` returns the length of the node including padding. * If includeRemoved is true, it includes removed nodes in the calculation. */ paddedSize(includeRemoved: boolean = false): number { let size = this.visibleSize; if (includeRemoved) { size = this.totalSize; } if (!this.isText) { size += ElementPaddingSize; } return size; } /** * `isAncenstorOf` returns true if the node is an ancestor of the given node. */ isAncestorOf(node: T): boolean { return ancestorOf(this as any, node); } /** * `nextSibling` returns the next sibling of the node. */ get nextSibling(): T | undefined { const offset = this.parent!.findOffset(this as any); const sibling = this.parent!.children[offset + 1]; if (sibling) { return sibling; } return undefined; } /** * `prevSibling` returns the previous sibling of the node. */ get prevSibling(): T | undefined { const offset = this.parent!.findOffset(this as any); const sibling = this.parent!.children[offset - 1]; if (sibling) { return sibling; } return undefined; } /** * `isRemoved` returns true if the node is removed. */ abstract get isRemoved(): boolean; /** * `cloneText` clones the text node with the given id and value. */ abstract cloneText(offset: number): T; /** * `cloneElement` clones the element node with the given issueTimeTicket * function and value. */ abstract cloneElement(issueTimeTicket: () => TimeTicket): T; /** * `value` returns the value of the node. */ abstract get value(); /** * `value` sets the value of the node. */ abstract set value(v: string); /** * `getDataSize` returns the size of the node. */ abstract getDataSize(): DataSize; /** * `splitText` splits the given node at the given offset. */ splitText(offset: number, absOffset: number): [T | undefined, DataSize] { const diff = { data: 0, meta: 0 }; if (offset === 0 || offset === this.visibleSize) { return [undefined, diff]; } const leftValue = this.value.slice(0, offset); const rightValue = this.value.slice(offset); if (!rightValue.length) { return [undefined, diff]; } const prvSize = this.getDataSize(); this.value = leftValue; const rightNode = this.cloneText(offset + absOffset); rightNode.value = rightValue; this.parent!.insertAfterInternal(rightNode, this as any); // NOTE(hackerwins): Calculate data size after node splitting: // Take the sum of the two split nodes(left and right) minus the size of // the original node. This calculates the net metadata overhead added by // the split operation. addDataSizes(diff, this.getDataSize(), rightNode.getDataSize()); subDataSize(diff, prvSize); return [rightNode, diff]; } /** * `children` returns the children of the node. */ get children(): Array { // Tombstone nodes remain awhile in the tree during editing. // They will be removed after the editing is done. // So, we need to filter out the tombstone nodes to get the real children. return this._children.filter((child) => !child.isRemoved); } /** * `allChildren` returns all the children of the node including tombstone nodes. * It returns the shallow copy of the children. */ get allChildren(): Array { return [...this._children]; } /** * `hasTextChild` returns true if the node's children consist of only text children. */ hasTextChild(): boolean { return ( this.children.length > 0 && this.children.every((child) => child.isText) ); } /** * `getChildrenText` returns text value of all text type children. */ getChildrenText(): string { if (this.isText) { return this.value; } if (this.hasTextChild()) { return this.children.map((child) => child.value).join(''); } return ''; } /** * `append` appends the given nodes to the children. */ append(...newNode: Array): void { if (this.isText) { throw new YorkieError(Code.ErrRefused, 'Text node cannot have children'); } this._children.push(...newNode); for (const node of newNode) { node.parent = this as any; node.updateAncestorsSize(node.paddedSize()); node.updateAncestorsSize(node.paddedSize(true), true); } } /** * `prepend` prepends the given nodes to the children. It is only used * for creating a new node from snapshot. */ prepend(...newNode: Array): void { if (this.isText) { throw new YorkieError(Code.ErrRefused, 'Text node cannot have children'); } this._children.unshift(...newNode); for (const node of newNode) { node.parent = this as any; } } /** * `insertBefore` inserts the given node before the given child. */ insertBefore(newNode: T, referenceNode: T): void { if (this.isText) { throw new YorkieError(Code.ErrRefused, 'Text node cannot have children'); } const offset = this._children.indexOf(referenceNode); if (offset === -1) { throw new YorkieError(Code.ErrInvalidArgument, 'child not found'); } this.insertAtInternal(newNode, offset); newNode.updateAncestorsSize(newNode.paddedSize()); newNode.updateAncestorsSize(newNode.paddedSize(true), true); } /** * `insertAfter` inserts the given node after the given child. */ insertAfter(newNode: T, referenceNode: T): void { if (this.isText) { throw new YorkieError(Code.ErrRefused, 'Text node cannot have children'); } const offset = this._children.indexOf(referenceNode); if (offset === -1) { throw new YorkieError(Code.ErrInvalidArgument, 'child not found'); } this.insertAtInternal(newNode, offset + 1); newNode.updateAncestorsSize(newNode.paddedSize()); newNode.updateAncestorsSize(newNode.paddedSize(true), true); } /** * `insertAt` inserts the given node at the given offset. */ insertAt(newNode: T, offset: number): void { if (this.isText) { throw new YorkieError(Code.ErrRefused, 'Text node cannot have children'); } this.insertAtInternal(newNode, offset); newNode.updateAncestorsSize(newNode.paddedSize()); newNode.updateAncestorsSize(newNode.paddedSize(true), true); } /** * `removeChild` removes the given child. * In this method, the child is physically removed from the tree. */ removeChild(child: T) { if (this.isText) { throw new YorkieError(Code.ErrRefused, 'Text node cannot have children'); } const offset = this._children.indexOf(child); if (offset === -1) { // When a child has been detached by a prior merge operation, // removeChild during GC purge may not find it. This is safe to // skip since the child is already physically removed. return; } this._children.splice(offset, 1); // NOTE(hackerwins): Decrease totalSize including removed nodes // since this node is being purged (physically removed from tree). child.updateAncestorsSize(-child.paddedSize(true), true); child.parent = undefined; } /** * `detachChild` removes the given child from this node's children list * and updates both visibleSize and totalSize. Unlike `removeChild` which * is used for GC purge of tombstoned nodes, `detachChild` is used for * moving alive nodes between parents. */ detachChild(child: T) { if (this.isText) { throw new YorkieError(Code.ErrRefused, 'Text node cannot have children'); } const offset = this._children.indexOf(child); if (offset === -1) { throw new YorkieError(Code.ErrInvalidArgument, 'child not found'); } this._children.splice(offset, 1); child.updateAncestorsSize(-child.paddedSize()); child.updateAncestorsSize(-child.paddedSize(true), true); child.parent = undefined; } /** * `splitElement` splits the given element at the given offset. */ splitElement( offset: number, issueTimeTicket: () => TimeTicket, versionVector?: VersionVector, ): [T | undefined, DataSize] { const diff = { data: 0, meta: 0 }; const prvSize = this.getDataSize(); /** * TODO(hackerwins): Define ID of split node for concurrent editing. * Text has fixed content and its split nodes could have limited offset * range. But element node could have arbitrary children and its split * nodes could have arbitrary offset range. So, id could be duplicated * and its order could be broken when concurrent editing happens. * Currently, we use the similar ID of split element with the split text. */ const clone = this.cloneElement(issueTimeTicket); this.parent!.insertAfterInternal(clone, this as any); clone.updateAncestorsSize(clone.paddedSize()); clone.updateAncestorsSize(clone.paddedSize(true), true); const left = this._children.slice(0, offset); const right = this._children.slice(offset); // Fix 8: Handle concurrent merge-moved children during split. // When a child was merge-moved from a source that is itself a child // of the node being split, the content was local to this level and // should stay in the original (left) node. When the source is // external (e.g., a sibling element that was merged), the content // should flow naturally to the split (right) node. const allChildren = [...left, ...right]; const actualRight: Array = []; for (const child of right) { if ( 'mergedFrom' in child && (child as any).mergedFrom != null && 'mergedAt' in child && (child as any).mergedAt != null ) { if (versionVector) { const mergedAt = (child as any).mergedAt as TimeTicket; if (!versionVector.afterOrEqual(mergedAt)) { // Check if the merge source is a child of this node. const mergedFrom = (child as any).mergedFrom; const sourceIsChild = allChildren.some( (sibling) => 'id' in sibling && (sibling as any).id.equals(mergedFrom), ); if (sourceIsChild) { left.push(child); continue; } } } } actualRight.push(child); } // §7.3 Boundary Insert Migration: Move concurrent inserts at the // split boundary to the left. Element split siblings (with insPrevID) // are skipped — they are split products handled by §7.4. if (versionVector) { const movedToLeft: Array = []; const remaining: Array = []; let boundaryReached = false; for (const child of actualRight) { if (!boundaryReached) { // Skip element split siblings — they are split products, // not concurrent inserts. Text split siblings have // deterministic IDs and act as normal boundary markers. if ( (child as any).insPrevID !== undefined && !(child as any).isText ) { remaining.push(child); continue; } const actorID = (child as any).id.getCreatedAt().getActorID(); const knownLamport = versionVector.get(actorID); if ( knownLamport === undefined || knownLamport < (child as any).id.getCreatedAt().getLamport() ) { movedToLeft.push(child); continue; } } boundaryReached = true; remaining.push(child); } if (movedToLeft.length > 0) { left.push(...movedToLeft); actualRight.length = 0; actualRight.push(...remaining); } } this._children = left; clone._children = actualRight; this.visibleSize = this._children.reduce( (acc, child) => acc + (child.isRemoved ? 0 : child.paddedSize()), 0, ); this.totalSize = this._children.reduce( (acc, child) => acc + child.paddedSize(true), 0, ); clone.visibleSize = clone._children.reduce( (acc, child) => acc + (child.isRemoved ? 0 : child.paddedSize()), 0, ); clone.totalSize = clone._children.reduce( (acc, child) => acc + child.paddedSize(true), 0, ); for (const child of clone._children) { child.parent = clone; } // NOTE(hackerwins): Calculate data size after node splitting: // Take the sum of the two split nodes(left and right) minus the size of // the original node. This calculates the net metadata overhead added by // the split operation. addDataSizes(diff, this.getDataSize(), clone.getDataSize()); subDataSize(diff, prvSize); return [clone, diff]; } /** * `insertAfterInternal` inserts the given node after the given child. * This method does not update the size of the ancestors. */ insertAfterInternal(newNode: T, referenceNode: T): void { if (this.isText) { throw new YorkieError(Code.ErrRefused, 'Text node cannot have children'); } const offset = this._children.indexOf(referenceNode); if (offset === -1) { throw new YorkieError(Code.ErrInvalidArgument, 'child not found'); } this.insertAtInternal(newNode, offset + 1); } /** * `insertAtInternal` inserts the given node at the given index. * This method does not update the size of the ancestors. */ insertAtInternal(newNode: T, offset: number): void { if (this.isText) { throw new YorkieError(Code.ErrRefused, 'Text node cannot have children'); } this._children.splice(offset, 0, newNode); newNode.parent = this as any; } /** * findOffset returns the offset of the given node in the children. * If includeRemoved is true, it includes removed nodes in the calculation. */ findOffset(node: T, includeRemoved: boolean = false): number { if (this.isText) { throw new YorkieError(Code.ErrRefused, 'Text node cannot have children'); } if (includeRemoved) { return this._children.indexOf(node); } if (node.isRemoved) { const index = this._children.indexOf(node); // If nodes are removed, the offset of the removed node is the number of // nodes before the node excluding the removed nodes. const refined = this.allChildren .splice(0, index) .filter((node) => !node.isRemoved).length; return refined; } return this.children.indexOf(node); } /** * `findBranchOffset` returns offset of the given descendant node in this node. * If the given node is not a descendant of this node, it returns -1. */ findBranchOffset(node: T): number { if (this.isText) { throw new YorkieError(Code.ErrRefused, 'Text node cannot have children'); } let current: T | undefined = node; while (current) { const offset = this._children.indexOf(current); if (offset !== -1) { return offset; } current = current.parent; } return -1; } } /** * `TreePos` is the position of a node in the tree. * * `offset` is the position of node's token. For example, if the node is an * element node, the offset is the index of the child node. If the node is a * text node, the offset is the index of the character. */ export type TreePos> = { node: T; offset: number; }; /** * `ancestorOf` returns true if the given node is an ancestor of the other node. */ function ancestorOf>(ancestor: T, node: T): boolean { if (ancestor === node) { return false; } while (node.parent) { if (node.parent === ancestor) { return true; } node = node.parent; } return false; } /** * `TokenType` represents the type of token in XML representation. */ export enum TokenType { /** * `Start` represents that the start token type. */ Start = 'Start', /** * `End` represents that the end token type. */ End = 'End', /** * `Text` represents that the text token type. */ Text = 'Text', } /** * `TreeToken` represents the token of the tree in XML representation. */ export type TreeToken = [T, TokenType]; /** * `tokensBetween` iterates the tokens between the given range. * * For example, if the tree is

    abc

    , the tokens are * [p, Start], [i, Start], [abc, Text], [i, End], [p, End]. * * If the given range is collapsed, the callback is not called. * It traverses the tree based on the concept of token. * NOTE(sejongk): Nodes should not be removed in callback, because it leads wrong behaviors. */ function tokensBetween>( root: T, from: number, to: number, callback: (token: TreeToken, ended: boolean) => void, includeRemoved: boolean = false, ) { if (from > to) { throw new YorkieError( Code.ErrInvalidArgument, `from is greater than to: ${from} > ${to}`, ); } const rootSize = includeRemoved ? root.totalSize : root.visibleSize; if (from > rootSize) { throw new YorkieError( Code.ErrInvalidArgument, `from is out of range: ${from} > ${rootSize}`, ); } if (to > rootSize) { throw new YorkieError( Code.ErrInvalidArgument, `to is out of range: ${to} > ${rootSize}`, ); } if (from === to) { return; } let pos = 0; const children = includeRemoved ? root._children : root.children; for (const child of children) { // If the child is an element node, the size of the child. if (from - child.paddedSize(includeRemoved) < pos && pos < to) { // If the child is an element node, the range of the child // is from - 1 to to - 1. Because the range of the element node is from // the open tag to the close tag. const fromChild = child.isText ? from - pos : from - pos - 1; const toChild = child.isText ? to - pos : to - pos - 1; // If the range spans outside the child, // the callback is called with the child. const childSize = includeRemoved ? child.totalSize : child.visibleSize; const startContained = !child.isText && fromChild < 0; const endContained = !child.isText && toChild > childSize; if (child.isText || startContained) { callback( [child, child.isText ? TokenType.Text : TokenType.Start], endContained, ); } tokensBetween( child, Math.max(0, fromChild), Math.min(toChild, childSize), callback, includeRemoved, ); if (endContained) { callback([child, TokenType.End], endContained); } } pos += child.paddedSize(includeRemoved); } } /** * `traverse` traverses the tree with postorder traversal. */ export function traverse>( node: T, callback: (node: T, depth: number) => void, depth = 0, ) { for (const child of node.children) { traverse(child, callback, depth + 1); } callback(node, depth); } /** * `traverseAll` traverses the whole tree (include tombstones) with postorder traversal. */ export function traverseAll>( node: T, callback: (node: T, depth: number) => void, depth = 0, ) { for (const child of node._children) { traverseAll(child, callback, depth + 1); } callback(node, depth); } /** * `findTreePos` finds the position of the given index in the given node. */ function findTreePos>( node: T, index: number, preferText = true, ): TreePos { if (index > node.visibleSize) { throw new YorkieError( Code.ErrInvalidArgument, `index is out of range: ${index} > ${node.visibleSize}`, ); } if (node.isText) { return { node, offset: index }; } // offset is the index of the child node. // pos is the window of the index in the given node. let offset = 0; let pos = 0; for (const child of node.children) { // The pos is in bothsides of the text node, we should traverse // inside of the text node if preferText is true. if (preferText && child.isText && child.visibleSize >= index - pos) { return findTreePos(child, index - pos, preferText); } // The position is in leftside of the element node. if (index === pos) { return { node, offset }; } // The position is in rightside of the element node and preferText is false. if (!preferText && child.paddedSize() === index - pos) { return { node, offset: offset + 1 }; } // The position is in middle the element node. if (child.paddedSize() > index - pos) { // If we traverse inside of the element node, we should skip the open. const skipOpenSize = 1; return findTreePos(child, index - pos - skipOpenSize, preferText); } pos += child.paddedSize(); offset += 1; } // The position is in rightmost of the given node. return { node, offset }; } /** * `getAncestors` returns the ancestors of the given node. */ export function getAncestors>(node: T): Array { const ancestors: Array = []; let parent = node.parent; while (parent) { ancestors.unshift(parent); parent = parent.parent; } return ancestors; } /** * `findCommonAncestor` finds the lowest common ancestor of the given nodes. */ export function findCommonAncestor>( nodeA: T, nodeB: T, ): T | undefined { if (nodeA === nodeB) { return nodeA; } const ancestorsOfA = getAncestors(nodeA); const ancestorsOfB = getAncestors(nodeB); let commonAncestor: T | undefined; for (let i = 0; i < ancestorsOfA.length; i++) { const ancestorOfA = ancestorsOfA[i]; const ancestorOfB = ancestorsOfB[i]; if (ancestorOfA !== ancestorOfB) { break; } commonAncestor = ancestorOfA; } return commonAncestor; } /** * `findLeftmost` finds the leftmost node of the given tree. */ export function findLeftmost>(node: T): T { if (node.isText || node.children.length === 0) { return node; } return findLeftmost(node.children[0]); } /** * `findTextPos` returns the tree position of the given path element. */ function findTextPos>(node: T, pathElement: number) { if (node.visibleSize < pathElement) { throw new YorkieError(Code.ErrInvalidArgument, 'unacceptable path'); } for (let i = 0; i < node.children.length; i++) { const child = node.children[i]; if (child.visibleSize < pathElement) { pathElement -= child.visibleSize; } else { node = child; break; } } return { node, offset: pathElement }; } /** * `IndexTree` is a tree structure for linear indexing. */ export class IndexTree> { private root: T; constructor(root: T) { this.root = root; } /** * `tokensBetween` returns the tokens between the given range. * If includeRemoved is true, it includes removed nodes in the calculation. */ tokensBetween( from: number, to: number, callback: (token: TreeToken, ended: boolean) => void, includeRemoved: boolean = false, ): void { tokensBetween(this.root, from, to, callback, includeRemoved); } /** * `traverse` traverses the tree with postorder traversal. */ traverse(callback: (node: T) => void): void { traverse(this.root, callback, 0); } /** * `traverseAll` traverses the whole tree (include tombstones) with postorder traversal. */ traverseAll(callback: (node: T) => void): void { traverseAll(this.root, callback, 0); } /** * findTreePos finds the position of the given index in the tree. */ public findTreePos(index: number, preferText = true): TreePos { return findTreePos(this.root, index, preferText); } /** * `treePosToPath` returns path from given treePos */ public treePosToPath(treePos: TreePos) { const path = []; let node = treePos.node; if (node.isText) { const offset = node.parent!.findOffset(node); if (offset === -1) { throw new YorkieError(Code.ErrInvalidArgument, 'invalid treePos'); } const sizeOfLeftSiblings = addSizeOfLeftSiblings( node.parent! as T, offset, ); path.push(sizeOfLeftSiblings + treePos.offset); node = node.parent!; } else if (node.hasTextChild()) { // TODO(hackerwins): The function does not consider the situation // where Element and Text nodes are mixed in the Element's Children. const sizeOfLeftSiblings = addSizeOfLeftSiblings( node! as T, treePos.offset, ); path.push(sizeOfLeftSiblings); } else { path.push(treePos.offset); } while (node.parent) { const offset = node.parent.findOffset(node); if (offset === -1) { throw new YorkieError(Code.ErrInvalidArgument, 'invalid treePos'); } path.push(offset); node = node.parent; } return path.reverse(); } /** * `pathToIndex` returns index from given path */ public pathToIndex(path: Array): number { const treePos = this.pathToTreePos(path); return this.indexOf(treePos); } /** * `pathToTreePos` returns treePos from given path */ public pathToTreePos(path: Array): TreePos { if (!path.length) { throw new YorkieError(Code.ErrInvalidArgument, 'unacceptable path'); } let node = this.root; for (let i = 0; i < path.length - 1; i++) { const pathElement = path[i]; node = node.children[pathElement]; if (!node) { throw new YorkieError(Code.ErrInvalidArgument, 'unacceptable path'); } } if (node.hasTextChild()) { return findTextPos(node, path[path.length - 1]); } if (node.children.length < path[path.length - 1]) { throw new YorkieError(Code.ErrInvalidArgument, 'unacceptable path'); } return { node, offset: path[path.length - 1], }; } /** * `getRoot` returns the root node of the tree. */ public getRoot(): T { return this.root; } /** * `getSize` returns the size of the tree. */ public get size(): number { return this.root.visibleSize; } /** * `findPostorderRight` finds right node of the given tree position with * postorder traversal. */ public findPostorderRight(treePos: TreePos): T | undefined { const { node, offset } = treePos; if (node.isText) { if (node.visibleSize === offset) { const nextSibling = node.nextSibling; if (nextSibling) { return nextSibling; } return node.parent; } return node; } if (node.children.length === offset) { return node; } return findLeftmost(node.children[offset]); } /** * `indexOf` returns the index of the given tree position. * If includeRemoved is true, it includes removed nodes in the calculation. */ public indexOf(pos: TreePos, includeRemoved: boolean = false): number { let { node } = pos; const { offset } = pos; let size = 0; let depth = 1; if (node.isText) { size += offset; const parent = node.parent! as T; const offsetOfNode = parent.findOffset(node, includeRemoved); if (offsetOfNode === -1) { throw new YorkieError(Code.ErrInvalidArgument, 'invalid pos'); } size += addSizeOfLeftSiblings(parent, offsetOfNode, includeRemoved); node = node.parent!; } else { size += addSizeOfLeftSiblings(node, offset, includeRemoved); } while (node?.parent) { const parent = node.parent; const offsetOfNode = parent.findOffset(node, includeRemoved); if (offsetOfNode === -1) { throw new YorkieError(Code.ErrInvalidArgument, 'invalid pos'); } size += addSizeOfLeftSiblings(parent, offsetOfNode, includeRemoved); depth++; node = node.parent; } return size + depth - 1; } /** * `indexToPath` returns the path of the given index. */ public indexToPath(index: number): Array { const treePos = this.findTreePos(index); return this.treePosToPath(treePos); } } ================================================ FILE: packages/sdk/src/util/llrb_tree.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { Comparator, DefaultComparator, } from '@yorkie-js/sdk/src/util/comparator'; interface Entry { key: K; value: V; } /** * `LLRBNode` is node of LLRBTree. */ class LLRBNode { public key: K; public value: V; public left?: LLRBNode; public right?: LLRBNode; public isRed: boolean; constructor(key: K, value: V, isRed: boolean) { this.key = key; this.value = value; this.isRed = isRed; } } /** * `SortedMapIterator` is a interator for traversing LLRBTree. */ export class SortedMapIterator { public stack: Array>; constructor(root: LLRBNode) { this.stack = []; this.traverseInorder(root); } // TODO: Replace with iterative approach, if we encounter performance problem. private traverseInorder(node: LLRBNode): void { if (!node) { return; } this.traverseInorder(node.left!); this.stack.push({ key: node.key, value: node.value, }); this.traverseInorder(node.right!); } } /** * LLRBTree is an implementation of Left-learning Red-Black Tree. * * Original paper on Left-leaning Red-Black Trees: * @see http://www.cs.princeton.edu/~rs/talks/LLRB/LLRB.pdf * * Invariant 1: No red node has a red child * Invariant 2: Every leaf path has the same number of black nodes * Invariant 3: Only the left child can be red (left leaning) */ export class LLRBTree { private root?: LLRBNode; private comparator: Comparator; private counter: number; constructor(comparator?: Comparator) { this.comparator = typeof comparator !== 'undefined' ? comparator : DefaultComparator; this.counter = 0; } /** * `put` puts the value of the given key. */ public put(key: K, value: V): V { this.root = this.putInternal(key, value, this.root); this.root.isRed = false; return value; } /** * `get` gets a value of the given key. */ public get(key: K): V | undefined { const node = this.getInternal(key, this.root); return node ? node.value : undefined; } /** * `remove` removes a element of key. */ public remove(key: K): void { if (!this.isRed(this.root!.left!) && !this.isRed(this.root!.right!)) { this.root!.isRed = true; } this.root = this.removeInternal(this.root!, key); if (this.root) { this.root.isRed = false; } } /** * `getIterator` returns a new instance of SortedMapIterator. */ public getIterator(): SortedMapIterator { return new SortedMapIterator(this.root!); } /** * `values` returns value array of LLRBTree. */ public values(): Array { const values = []; for (const entry of this.getIterator().stack) { values.push(entry.value); } return values; } /** * `floorEntry` returns the entry for the greatest key less than or equal to the * given key. If there is no such key, returns `undefined`. */ public floorEntry(key: K): Entry | undefined { let node = this.root; let result: LLRBNode | undefined = undefined; while (node) { const compare = this.comparator(key, node.key); if (compare === 0) { return node; } else if (compare < 0) { node = node.left; } else { result = node; node = node.right; } } return result; } /** * `lastEntry` returns last entry of LLRBTree. */ public lastEntry(): Entry | undefined { if (!this.root) { return this.root; } let node = this.root; while (node.right) { node = node.right; } return node; } /** * `size` is a size of LLRBTree. */ public size(): number { return this.counter; } /** * `isEmpty` checks if size is empty. */ public isEmpty(): boolean { return this.counter === 0; } private getInternal( key: K, node?: LLRBNode, ): LLRBNode | undefined { while (node) { const compare = this.comparator(key, node.key); if (compare === 0) { return node; } else if (compare < 0) { node = node.left!; } else if (compare > 0) { node = node.right!; } } return; } private putInternal(key: K, value: V, node?: LLRBNode): LLRBNode { if (!node) { this.counter += 1; return new LLRBNode(key, value, true); } const compare = this.comparator(key, node.key); if (compare < 0) { node.left = this.putInternal(key, value, node.left); } else if (compare > 0) { node.right = this.putInternal(key, value, node.right); } else { node.value = value; } if (this.isRed(node.right!) && !this.isRed(node.left!)) { node = this.rotateLeft(node); } if (this.isRed(node.left!) && this.isRed(node.left!.left!)) { node = this.rotateRight(node); } if (this.isRed(node.left!) && this.isRed(node.right!)) { this.flipColors(node); } return node; } private removeInternal( node: LLRBNode, key: K, ): LLRBNode | undefined { if (this.comparator(key, node.key) < 0) { if (!this.isRed(node.left!) && !this.isRed(node.left!.left!)) { node = this.moveRedLeft(node); } node.left = this.removeInternal(node.left!, key); } else { if (this.isRed(node.left!)) { node = this.rotateRight(node); } if (this.comparator(key, node.key) === 0 && !node.right) { this.counter -= 1; return; } if (!this.isRed(node.right!) && !this.isRed(node.right!.left!)) { node = this.moveRedRight(node); } if (this.comparator(key, node.key) === 0) { this.counter -= 1; const smallest = this.min(node.right!); node.value = smallest.value; node.key = smallest.key; node.right = this.removeMin(node.right!); } else { node.right = this.removeInternal(node.right!, key); } } return this.fixUp(node); } private min(node: LLRBNode): LLRBNode { if (!node.left) { return node; } else { return this.min(node.left); } } private removeMin(node: LLRBNode): LLRBNode | undefined { if (!node.left) { return; } if (!this.isRed(node.left) && !this.isRed(node.left!.left!)) { node = this.moveRedLeft(node); } node.left = this.removeMin(node.left!); return this.fixUp(node); } private fixUp(node: LLRBNode): LLRBNode { if (this.isRed(node.right!)) { node = this.rotateLeft(node); } if (this.isRed(node.left!) && this.isRed(node.left!.left!)) { node = this.rotateRight(node); } if (this.isRed(node.left!) && this.isRed(node.right!)) { this.flipColors(node); } return node; } private moveRedLeft(node: LLRBNode): LLRBNode { this.flipColors(node); if (this.isRed(node.right!.left!)) { node.right = this.rotateRight(node.right!); node = this.rotateLeft(node); this.flipColors(node); } return node; } private moveRedRight(node: LLRBNode): LLRBNode { this.flipColors(node); if (this.isRed(node.left!.left!)) { node = this.rotateRight(node); this.flipColors(node); } return node; } private isRed(node: LLRBNode): boolean { return node && node.isRed; } private rotateLeft(node: LLRBNode): LLRBNode { const x = node.right!; node.right = x.left; x.left = node; x.isRed = x.left.isRed; x.left.isRed = true; return x; } private rotateRight(node: LLRBNode): LLRBNode { const x = node.left!; node.left = x.right; x.right = node; x.isRed = x.right.isRed; x.right.isRed = true; return x; } private flipColors(node: LLRBNode): void { node.isRed = !node.isRed!; node.left!.isRed = !node.left!.isRed; node.right!.isRed = !node.right!.isRed; } } ================================================ FILE: packages/sdk/src/util/logger.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ export enum LogLevel { Trivial, Debug, Info, Warn, Error, Fatal, } let level = LogLevel.Warn; /** * `setLogLevel` sets log level. */ export function setLogLevel(l: LogLevel): void { level = l; } export const logger = { trivial: (...messages: Array): void => { if (level > LogLevel.Trivial) { return; } if (typeof console != 'undefined') { console.log('YORKIE T:', ...messages); } }, debug: (...messages: Array): void => { if (level > LogLevel.Debug) { return; } if (typeof console != 'undefined') { console.log('YORKIE D:', ...messages); } }, info: (...messages: Array): void => { if (level > LogLevel.Info) { return; } if (typeof console != 'undefined') { console.log('YORKIE I:', ...messages); } }, warn: (...messages: Array): void => { if (level > LogLevel.Warn) { return; } if (typeof console != 'undefined') { if (typeof console.warn !== 'undefined') { console.warn('YORKIE W:', ...messages); } else { console.log('YORKIE W:', ...messages); } } }, error: (...messages: Array): void => { if (level > LogLevel.Error) { return; } if (typeof console != 'undefined') { if (typeof console.error !== 'undefined') { console.error('YORKIE E:', ...messages); } else { console.log('YORKIE E:', ...messages); } } }, fatal: (...messages: Array): void => { if (typeof console != 'undefined') { if (typeof console.error !== 'undefined') { console.error('YORKIE F:', ...messages); } else { console.log('YORKIE F:', ...messages); } } }, isEnabled: (l: LogLevel): boolean => { return level <= l; }, }; ================================================ FILE: packages/sdk/src/util/number.ts ================================================ /* * Copyright 2023 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * `removeDecimal` returns a number with the decimal part removed. */ export const removeDecimal = (number: number) => number < 0 ? Math.ceil(number) : Math.floor(number); /** * `bigintToBytesLE` converts a signed 64-bit bigint to 8 bytes (little-endian). */ export function bigintToBytesLE(value: bigint): Uint8Array { const buf = new Uint8Array(8); // Interpret as unsigned 64-bit to handle negative values correctly. let v = BigInt.asUintN(64, value); for (let i = 0; i < 8; i++) { buf[i] = Number(v & 0xffn); v >>= 8n; } return buf; } /** * `bigintFromBytesLE` reads a signed 64-bit bigint from 8 bytes (little-endian). */ export function bigintFromBytesLE(bytes: Uint8Array): bigint { let v = 0n; for (let i = 7; i >= 0; i--) { v = (v << 8n) | BigInt(bytes[i]); } return BigInt.asIntN(64, v); } /** * `bigintFromBytesLEUnsigned` reads an unsigned 64-bit bigint from 8 bytes (little-endian). */ export function bigintFromBytesLEUnsigned(bytes: Uint8Array): bigint { let v = 0n; for (let i = 7; i >= 0; i--) { v = (v << 8n) | BigInt(bytes[i]); } return v; } /** * `bigintToInt32` truncates a bigint to a signed 32-bit integer. */ export function bigintToInt32(value: bigint): number { return Number(BigInt.asIntN(32, value)); } ================================================ FILE: packages/sdk/src/util/object.ts ================================================ /* * Copyright 2023 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { Indexable } from '@yorkie-js/sdk/src/document/document'; /** * `deepcopy` returns a deep copy of the given object. */ export function deepcopy(object: T): T { if (object instanceof Map) { const pairs = Array.from(object); return new Map(JSON.parse(JSON.stringify(pairs))) as unknown as T; } return JSON.parse(JSON.stringify(object)); } /** `isEmpty` returns whether parameter object is empty or not */ export const isEmpty = (object: object) => { if (!object) { return true; } return Object.entries(object).length === 0; }; /** * `stringifyObjectValues` makes values of attributes to JSON parsable string. */ export const stringifyObjectValues =
    ( attributes: A, ): Record => { const attrs: Record = {}; for (const [key, value] of Object.entries(attributes)) { attrs[key] = JSON.stringify(value); } return attrs; }; /** `parseObjectValues` returns the JSON parsable string values to the origin states. */ export const parseObjectValues = ( attrs: Record, ): A => { const attributes: Record = {}; for (const [key, value] of Object.entries(attrs)) { attributes[key] = JSON.parse(value); } return attributes as A; }; ================================================ FILE: packages/sdk/src/util/observable.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { logger } from '@yorkie-js/sdk/src/util/logger'; import { uuid } from '@yorkie-js/sdk/src/util/uuid'; import { Code, YorkieError } from './error'; export type NextFn = (value: T) => void; export type ErrorFn = (error: Error) => void; export type CompleteFn = () => void; export interface Observer { next: NextFn; error?: ErrorFn; complete?: CompleteFn; } export type Unsubscribe = () => void; export interface SubscribeFn { ( next: Observer | NextFn, error?: ErrorFn, complete?: CompleteFn, ): Unsubscribe; (observer: Observer): Unsubscribe; } interface ObserverEntry { subscriptionID: string; observer: Observer; } const Noop = (): void => { // Do nothing }; /** * `ObserverProxy` is proxy of `Observer`. */ class ObserverProxy implements Observer { public finalized = false; private observers: Array> | undefined = []; private finalError?: Error; constructor(executor: Executor) { try { executor(this); } catch (error: any) { this.error(error); } } /** * `next` iterates next observer synchronously. */ public next(value: T): void { this.forEachObserver((observer: Observer) => { observer.next(value); }); } /** * `error` invoke error. */ public error(error: Error): void { this.forEachObserver((observer: Observer) => { observer.error!(error); }); this.close(error); } /** * `complete` completes observer. */ public complete(): void { this.forEachObserver((observer: Observer) => { observer.complete!(); }); this.close(); } /** * `subscribe` is a function for subscribing observer. */ public subscribe( nextOrObserver: Observer | NextFn, error?: ErrorFn, complete?: CompleteFn, ): Unsubscribe { let observer: Observer; if (!nextOrObserver) { throw new YorkieError(Code.ErrInvalidArgument, 'missing observer'); } if (this.finalized) { throw new YorkieError( Code.ErrRefused, 'observable is finalized due to previous error', ); } if (typeof nextOrObserver === 'object') { observer = nextOrObserver as Observer; } else { observer = { next: nextOrObserver as NextFn, error, complete, } as Observer; } if (observer.next === undefined) { observer.next = Noop as NextFn; } if (observer.error === undefined) { observer.error = Noop as ErrorFn; } if (observer.complete === undefined) { observer.complete = Noop as CompleteFn; } const id = uuid(); const unsub = this.unsubscribeOne.bind(this, id); this.observers!.push({ subscriptionID: id, observer: observer as Observer, }); if (this.finalized) { try { if (this.finalError) { observer.error(this.finalError); } else { observer.complete(); } } catch (err) { // nothing logger.warn(err); } } return unsub; } private unsubscribeOne(id: string): void { this.observers = this.observers?.filter((it) => it.subscriptionID !== id); } private forEachObserver(fn: (observer: Observer) => void): void { if (this.finalized) { return; } for (let i = 0; i < this.observers!.length; i++) { this.sendOne(i, fn); } } private sendOne(i: number, fn: (observer: Observer) => void): void { if (this.observers !== undefined && this.observers[i] !== undefined) { try { fn(this.observers[i].observer); } catch (err) { logger.error(err); } } } private close(err?: Error): void { if (this.finalized) { return; } this.finalized = true; if (err !== undefined) { this.finalError = err; } this.observers = undefined; } } export interface Observable { subscribe: SubscribeFn; getProxy?: () => ObserverProxy; } export type Executor = (observer: Observer) => void; /** * `createObservable` creates a new instance of ObserverProxy * and subscribe the instance. */ export function createObservable(executor: Executor): Observable { const proxy = new ObserverProxy(executor); return { subscribe: proxy.subscribe.bind(proxy), getProxy: (): ObserverProxy => { return proxy; }, }; } ================================================ FILE: packages/sdk/src/util/resource.ts ================================================ /** * `DocSize` represents the size of a document in bytes. */ export type DocSize = { /** * `live` is the size of the document in bytes. */ live: DataSize; /** * `gc` is the size of the garbage collected data in bytes. */ gc: DataSize; }; /** * `totalDocSize` calculates the total size of a document. */ export function totalDocSize(d: DocSize | undefined): number { if (!d) return 0; return totalDataSize(d.live) + totalDataSize(d.gc); } /** * `DataSize` represents the size of a resource in bytes. */ export type DataSize = { /** * `data` is the size of the data in bytes. */ data: number; /** * `meta` is the size of the metadata in bytes. */ meta: number; }; /** * `totalDataSize` calculates the total size of a resource. */ export function totalDataSize(d: DataSize): number { return d.data + d.meta; } /** * `addDataSizes` adds the size of a resource to the target resource. */ export function addDataSizes( target: DataSize, ...others: Array ): void { for (const other of others) { target.data += other.data; target.meta += other.meta; } } /** * `subDataSize` subtracts the size of a resource from the target resource. */ export function subDataSize(target: DataSize, other: DataSize): void { target.data -= other.data; target.meta -= other.meta; } ================================================ FILE: packages/sdk/src/util/splay_tree.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { Code, YorkieError } from './error'; /** * `SplayNode` is a node of SplayTree. */ export abstract class SplayNode { protected value: V; private left?: SplayNode; private right?: SplayNode; private parent?: SplayNode; private weight!: number; constructor(value: V) { this.value = value; this.initWeight(); } abstract getLength(): number; /** * `getNodeString` returns a string of weight and value of this node. */ public getNodeString(): string { return `${this.weight}${this.value}`; } /** * `getValue` returns value of this node. */ public getValue(): V { return this.value; } /** * `getLeftWeight` returns left weight of this node. */ public getLeftWeight(): number { return !this.hasLeft() ? 0 : this.left!.getWeight(); } /** * `getRightWeight` returns right weight of this node. */ public getRightWeight(): number { return !this.hasRight() ? 0 : this.right!.getWeight(); } /** * `getWeight` returns weight of this node. */ public getWeight(): number { return this.weight; } /** * `getLeft` returns a left node. */ public getLeft(): SplayNode | undefined { return this.left; } /** * `getRight` returns a right node. */ public getRight(): SplayNode | undefined { return this.right; } /** * `getParent` returns parent of this node. */ public getParent(): SplayNode | undefined { return this.parent; } /** * `hasLeft` check if the left node exists */ public hasLeft(): boolean { return !!this.left; } /** * `hasRight` check if the right node exists */ public hasRight(): boolean { return !!this.right; } /** * `hasParent` check if the parent node exists */ public hasParent(): boolean { return !!this.parent; } /** * `setLeft` sets a left node. */ public setLeft(left?: SplayNode): void { this.left = left; } /** * `setRight` sets a right node. */ public setRight(right?: SplayNode): void { this.right = right; } /** * `setParent` sets a parent node. */ public setParent(parent?: SplayNode): void { this.parent = parent; } /** * `unlink` unlink parent, right and left node. */ public unlink(): void { this.parent = undefined; this.right = undefined; this.left = undefined; } /** * `hasLinks` checks if parent, right and left node exists. */ public hasLinks(): boolean { return this.hasParent() || this.hasLeft() || this.hasRight(); } /** * `increaseWeight` increases weight. */ public increaseWeight(weight: number): void { this.weight! += weight; } /** * `initWeight` sets initial weight of this node. */ public initWeight(): void { this.weight = this.getLength(); } } /** * SplayTree is weighted binary search tree which is based on Splay tree. * original paper on Splay Trees: * @see https://www.cs.cmu.edu/~sleator/papers/self-adjusting.pdf */ export class SplayTree { private root?: SplayNode; constructor(root?: SplayNode) { this.root = root; } /** * `length` returns the size of this tree. */ public get length(): number { return this.root ? this.root.getWeight() : 0; } /** * `findForText` returns the Node and offset of the given position (cursor). * Used for Text where cursor placed between characters. */ public findForText(pos: number): [SplayNode | undefined, number] { if (!this.root || pos < 0) { return [undefined, 0]; } let node = this.root; for (;;) { if (node.hasLeft() && pos <= node.getLeftWeight()) { node = node.getLeft()!; } else if ( node.hasRight() && node.getLeftWeight() + node.getLength() < pos ) { pos -= node.getLeftWeight() + node.getLength(); node = node.getRight()!; } else { pos -= node.getLeftWeight(); break; } } if (pos > node.getLength()) { throw new YorkieError( Code.ErrInvalidArgument, `out of index range: pos: ${pos} > node.length: ${node.getLength()}`, ); } this.splayNode(node); return [node, pos]; } /** * `findForArray` returns the Node of the given position (index). * Used for Array where index points to the element. */ public findForArray(idx: number): SplayNode | undefined { if (!this.root) { return undefined; } if (idx < 0 || idx >= this.length) { throw new YorkieError( Code.ErrInvalidArgument, `out of index range: idx: ${idx}, length: ${this.length}`, ); } let node = this.root; for (;;) { if (node.hasLeft() && idx < node.getLeftWeight()) { node = node.getLeft()!; } else if ( node.hasRight() && node.getLeftWeight() + node.getLength() <= idx ) { idx -= node.getLeftWeight() + node.getLength(); node = node.getRight()!; } else { break; } } this.splayNode(node); return node; } /** * Find the index of the given node in BST. * * @param node - the given node * @returns the index of given node */ public indexOf(node: SplayNode): number { if (!node || (node !== this.root && !node.hasLinks())) { return -1; } this.splayNode(node); return this.root!.getLeftWeight(); } /** * `getRoot` returns root of this tree. */ public getRoot(): SplayNode { return this.root!; } /** * `insert` inserts the node at the last. */ public insert(newNode: SplayNode): SplayNode { return this.insertAfter(this.root, newNode); } /** * `insertAfter` inserts the node after the given previous node. */ public insertAfter( target: SplayNode | undefined, newNode: SplayNode, ): SplayNode { // TODO(Eithea): Consider moving the code below to insert() if (!target) { this.root = newNode; return newNode; } this.splayNode(target); this.root = newNode; newNode.setRight(target.getRight()); if (target.hasRight()) { target.getRight()!.setParent(newNode); } newNode.setLeft(target); target.setParent(newNode); target.setRight(); this.updateWeight(target); this.updateWeight(newNode); return newNode; } /** * `updateWeight` recalculates the weight of this node with the value and children. */ public updateWeight(node: SplayNode): void { node.initWeight(); if (node.hasLeft()) { node.increaseWeight(node.getLeftWeight()); } if (node.hasRight()) { node.increaseWeight(node.getRightWeight()); } } private updateTreeWeight(node: SplayNode): void { while (node) { this.updateWeight(node); node = node.getParent()!; } } /** * `splayNode` moves the given node to the root. */ public splayNode(node: SplayNode | undefined): void { if (!node) { return; } for (;;) { if (this.isLeftChild(node.getParent()) && this.isRightChild(node)) { // zig-zag this.rotateLeft(node); this.rotateRight(node); } else if ( this.isRightChild(node.getParent()) && this.isLeftChild(node) ) { // zig-zag this.rotateRight(node); this.rotateLeft(node); } else if (this.isLeftChild(node.getParent()) && this.isLeftChild(node)) { // zig-zig this.rotateRight(node.getParent()!); this.rotateRight(node); } else if ( this.isRightChild(node.getParent()) && this.isRightChild(node) ) { // zig-zig this.rotateLeft(node.getParent()!); this.rotateLeft(node); } else { // zig if (this.isLeftChild(node)) { this.rotateRight(node); } else if (this.isRightChild(node)) { this.rotateLeft(node); } this.updateWeight(node); return; } } } /** * `delete` deletes target node of this tree. */ public delete(node: SplayNode): void { this.splayNode(node); const leftTree = new SplayTree(node.getLeft()); if (leftTree.root) { leftTree.root.setParent(); } const rightTree = new SplayTree(node.getRight()); if (rightTree.root) { rightTree.root.setParent(); } if (leftTree.root) { const rightmostNode = leftTree.getRightmost(); leftTree.splayNode(rightmostNode); leftTree.root.setRight(rightTree.root); if (rightTree.root) { rightTree.root.setParent(leftTree.root); } this.root = leftTree.root; } else { this.root = rightTree.root; } node.unlink(); if (this.root) { this.updateWeight(this.root); } } /** * `deleteRange` separates the range between given 2 boundaries from this Tree. * This function separates the range to delete as a subtree * by splaying outer boundary nodes. * leftBoundary must exist because of 0-indexed initial dummy node of tree, * but rightBoundary can be nil means range to delete includes the end of tree. * Refer to the design document in https://github.com/yorkie-team/yorkie/tree/main/design */ public deleteRange( leftBoundary: SplayNode, rightBoundary: SplayNode | undefined, ): void { if (!rightBoundary) { this.splayNode(leftBoundary); this.cutOffRight(leftBoundary); return; } this.splayNode(leftBoundary); this.splayNode(rightBoundary); if (rightBoundary.getLeft() != leftBoundary) { this.rotateRight(leftBoundary); } this.cutOffRight(leftBoundary); } private cutOffRight(root: SplayNode): void { const nodesToFreeWeight: Array> = []; this.traversePostorder(root.getRight(), nodesToFreeWeight); for (const node of nodesToFreeWeight) { node.initWeight(); } this.updateTreeWeight(root); } /** * `toTestString` returns a string containing the meta data of the Node * for debugging purpose. */ public toTestString(): string { const metaString: Array> = []; this.traverseInorder(this.root!, metaString); return metaString .map((n) => `[${n.getWeight()},${n.getLength()}]${n.getValue() || ''}`) .join(''); } /** * `checkWeight` returns false when there is an incorrect weight node. * for debugging purpose. */ public checkWeight(): boolean { const nodes: Array> = []; this.traverseInorder(this.root!, nodes); for (const node of nodes) { if ( node.getWeight() != node.getLength() + node.getLeftWeight() + node.getRightWeight() ) { return false; } } return true; } private getRightmost(): SplayNode { let node = this.root!; while (node.hasRight()) { node = node.getRight()!; } return node; } private traverseInorder( node: SplayNode | undefined, stack: Array>, ): void { if (!node) { return; } this.traverseInorder(node.getLeft(), stack); stack.push(node); this.traverseInorder(node.getRight(), stack); } private traversePostorder( node: SplayNode | undefined, stack: Array>, ): void { if (!node) { return; } this.traversePostorder(node.getLeft(), stack); this.traversePostorder(node.getRight(), stack); stack.push(node); } private rotateLeft(pivot: SplayNode): void { const root = pivot.getParent()!; if (root.hasParent()) { if (root === root.getParent()!.getLeft()) { root.getParent()!.setLeft(pivot); } else { root.getParent()!.setRight(pivot); } } else { this.root = pivot; } pivot.setParent(root.getParent()); root.setRight(pivot.getLeft()); if (root.hasRight()) { root.getRight()!.setParent(root); } pivot.setLeft(root); pivot.getLeft()!.setParent(pivot); this.updateWeight(root); this.updateWeight(pivot); } private rotateRight(pivot: SplayNode): void { const root = pivot.getParent()!; if (root.hasParent()) { if (root === root.getParent()!.getLeft()) { root.getParent()!.setLeft(pivot); } else { root.getParent()!.setRight(pivot); } } else { this.root = pivot; } pivot.setParent(root.getParent()); root.setLeft(pivot.getRight()); if (root.hasLeft()) { root.getLeft()!.setParent(root); } pivot.setRight(root); pivot.getRight()!.setParent(pivot); this.updateWeight(root); this.updateWeight(pivot); } private isLeftChild(node?: SplayNode): boolean { if (node && node.hasParent()) { return node.getParent()!.getLeft() === node; } return false; } private isRightChild(node?: SplayNode): boolean { if (node && node.hasParent()) { return node.getParent()!.getRight() === node; } return false; } } ================================================ FILE: packages/sdk/src/util/uuid.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ export type UUID = string; /** * `uuid` generates uuid string * @see http://www.ietf.org/rfc/rfc4122.txt */ export function uuid(): UUID { return 'xxxxxxxx-xxxx-4xxxy-xxxx-xxxxxxxxxxx'.replace(/[xy]/g, (c) => { const r = (Math.random() * 16) | 0; const v = c === 'x' ? r : (r & 0x3) | 0x8; return v.toString(16); }); } ================================================ FILE: packages/sdk/src/util/validator.ts ================================================ /* * Copyright 2024 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * `validateSerializable` returns whether the given value is serializable or not. */ export const validateSerializable = (value: unknown): boolean => { try { const serialized = JSON.stringify(value); if (serialized === undefined) { return false; } } catch { return false; } return true; }; ================================================ FILE: packages/sdk/src/yorkie.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { Client } from '@yorkie-js/sdk/src/client/client'; import { Document } from '@yorkie-js/sdk/src/document/document'; import { Text } from '@yorkie-js/sdk/src/document/json/text'; import { Tree } from '@yorkie-js/sdk/src/document/json/tree'; import { Counter, DedupCounter, } from '@yorkie-js/sdk/src/document/json/counter'; import * as Devtools from '@yorkie-js/sdk/src/devtools/types'; import { Channel, ChannelEventType } from '@yorkie-js/sdk/src/channel/channel'; import * as YSON from '@yorkie-js/sdk/src/document/yson'; export { Client, ClientStatus, ClientCondition, SyncMode, type ClientOptions, type AttachOptions, type AttachChannelOptions, } from '@yorkie-js/sdk/src/client/client'; export { type RevisionSummary } from '@yorkie-js/sdk/src/api/revision'; export { Channel, ChannelStatus, ChannelEventType, type ChannelEvent, } from '@yorkie-js/sdk/src/channel/channel'; export { DocEventType, type SnapshotEvent, type LocalChangeEvent, type RemoteChangeEvent, type ConnectionChangedEvent, type SyncStatusChangedEvent, type WatchedEvent, type UnwatchedEvent, type PresenceChangedEvent, type InitializedEvent, StreamConnectionStatus, DocSyncStatus, DocStatus, type Indexable, type Json, type DocEvent, type DocEvents, type EpochMismatchEvent, Document, type ChangeInfo, } from '@yorkie-js/sdk/src/document/document'; export { Channel as Presence } from '@yorkie-js/sdk/src/document/presence/presence'; export { type Observer, type Observable, type NextFn, type ErrorFn, type CompleteFn, type Unsubscribe, } from '@yorkie-js/sdk/src/util/observable'; export { TimeTicket, type TimeTicketStruct, } from '@yorkie-js/sdk/src/document/time/ticket'; export { type ActorID } from '@yorkie-js/sdk/src/document/time/actor_id'; export { VersionVector } from '@yorkie-js/sdk/src/document/time/version_vector'; export type { OpInfo, CounterOpInfo, IncreaseOpInfo, ObjectOpInfo, SetOpInfo, RemoveOpInfo, ArrayOpInfo, AddOpInfo, MoveOpInfo, TextOpInfo, EditOpInfo, StyleOpInfo, TreeOpInfo, TreeEditOpInfo, TreeStyleOpInfo, } from '@yorkie-js/sdk/src/document/operation/operation'; export { OpSource } from '@yorkie-js/sdk/src/document/operation/operation'; export { Primitive, type PrimitiveValue, } from '@yorkie-js/sdk/src/document/crdt/primitive'; import { Primitive } from '@yorkie-js/sdk/src/document/crdt/primitive'; export { type WrappedElement, type JSONElement, } from '@yorkie-js/sdk/src/document/json/element'; export { type JSONObject } from '@yorkie-js/sdk/src/document/json/object'; export { type JSONArray } from '@yorkie-js/sdk/src/document/json/array'; export { Counter, DedupCounter, } from '@yorkie-js/sdk/src/document/json/counter'; export { CounterType, type CounterValue, } from '@yorkie-js/sdk/src/document/crdt/counter'; export { Text, type TextPosStruct, type TextPosStructRange, } from '@yorkie-js/sdk/src/document/json/text'; export { Tree, type TreeNode, type ElementNode, type TextNode, type TreeChange, type TreeChangeType, type CRDTTreeNodeIDStruct, type TreePosStructRange, } from '@yorkie-js/sdk/src/document/json/tree'; export { Change } from '@yorkie-js/sdk/src/document/change/change'; export { converter } from '@yorkie-js/sdk/src/api/converter'; import { LogLevel, setLogLevel } from '@yorkie-js/sdk/src/util/logger'; export { LogLevel, setLogLevel } from '@yorkie-js/sdk/src/util/logger'; export { EventSourceDevPanel, EventSourceSDK, type PanelToSDKMessage, type SDKToPanelMessage, type FullPanelToSDKMessage, type FullSDKToPanelMessage, } from '@yorkie-js/sdk/src/devtools/protocol'; export { Devtools }; export { YSON }; /** * The top-level yorkie namespace with additional properties. * * In production, this will be called exactly once and the result * assigned to the `yorkie` global. * * e.g) `new yorkie.Client(...);` */ export default { Client, Document, Primitive, Text, Counter, DedupCounter, Tree, Devtools, Channel, ChannelEventType, YSON, LogLevel, setLogLevel, }; // TODO(hackerwins): Remove this when we have a better way to expose the API. if (typeof globalThis !== 'undefined') { (globalThis as any).yorkie = { Client, Document, Primitive, Text, Counter, DedupCounter, Tree, Channel, ChannelEventType, YSON, LogLevel, setLogLevel, }; } ================================================ FILE: packages/sdk/test/bench/counter.bench.ts ================================================ import { Document, Counter } from '@yorkie-js/sdk/src/yorkie'; import { describe, bench, assert } from 'vitest'; const benchmarkCounter = (size: number) => { const doc = new Document<{ counter: Counter }>('test-doc'); doc.update((root) => { root.counter = new Counter(0); for (let i = 0; i < size; i++) { root.counter.increase(i); } }); }; describe('Counter', () => { bench('counter', () => { const doc = new Document<{ age: Counter; price: Counter }>('test-doc'); const integer = 10; const long = 5; const uinteger = 100; const float = 3.14; const double = 5.66; doc.update((root) => { root.age = new Counter(5); root.age.increase(long); root.age.increase(double); root.age.increase(float); root.age.increase(uinteger); root.age.increase(integer); }); assert.equal('{"age":128}', doc.toJSON()); doc.update((root) => { root.price = new Counter(BigInt('9000000000000000000')); root.price.increase(long); root.price.increase(double); root.price.increase(float); root.price.increase(uinteger); root.price.increase(integer); }); assert.equal('{"age":128,"price":9000000000000000123}', doc.toJSON()); doc.update((root) => { root.age.increase(-5); root.age.increase(-3.14); root.price.increase(-100); root.price.increase(-20.5); }); assert.equal('{"age":120,"price":9000000000000000003}', doc.toJSON()); // TODO: We need to filter not-allowed type // counter.increase() method doesn't filter not-allowed type }); bench('counter 1000', () => { benchmarkCounter(1000); }); bench('counter 10000', () => { benchmarkCounter(10000); }); }); ================================================ FILE: packages/sdk/test/bench/document.bench.ts ================================================ import { Document, JSONArray } from '@yorkie-js/sdk/src/yorkie'; import { InitialCheckpoint } from '@yorkie-js/sdk/src/document/change/checkpoint'; import { DocStatus } from '@yorkie-js/sdk/src/document/document'; import { describe, bench, assert } from 'vitest'; import { maxVectorOf } from '../helper/helper'; const benchmarkObject = (size: number) => { const doc = new Document<{ k1: number }>('test-doc'); doc.update((root) => { for (let i = 0; i < size; i++) { root.k1 = i; } }); }; const benchmarkArray = (size: number) => { const doc = new Document<{ k1: Array }>('test-doc'); doc.update((root) => { root.k1 = []; for (let i = 0; i < size; i++) { root.k1.push(i); } }); }; const benchmarkArrayGC = (size: number) => { const doc = new Document<{ k1?: Array }>('test-doc'); doc.update((root) => { root.k1 = []; for (let i = 0; i < size; i++) { root.k1.push(i); } }); doc.update((root) => { delete root.k1; }); assert.equal( size + 1, doc.garbageCollect(maxVectorOf([doc.getChangeID().getActorID()])), ); }; describe('Document', () => { bench('constructor', () => { const doc = new Document<{ text: JSONArray }>(`test-doc`); assert.equal('{}', doc.toJSON()); assert.equal(doc.getCheckpoint(), InitialCheckpoint); assert.isFalse(doc.hasLocalChanges()); }); bench('status', () => { const doc = new Document<{ text: JSONArray }>(`test-doc`); assert.equal(doc.getStatus(), DocStatus.Detached); doc.applyStatus(DocStatus.Attached); assert.equal(doc.getStatus(), DocStatus.Attached); }); bench('equals', () => { const doc1 = new Document<{ text: string }>('d1'); const doc2 = new Document<{ text: string }>('d2'); const doc3 = new Document<{ text: string }>('d3'); doc1.update((root) => { root.text = 'value'; }, 'update text'); assert.notEqual(doc1.toJSON(), doc2.toJSON()); assert.equal(doc2.toJSON(), doc3.toJSON()); }); bench('nested update', () => { const expected = `{"k1":"v1","k2":{"k4":"v4"},"k3":["v5","v6"]}`; const doc = new Document<{ k1: string; k2: { k4: string }; k3: Array; }>('test-doc'); assert.equal('{}', doc.toJSON()); assert.isFalse(doc.hasLocalChanges()); doc.update((root) => { root.k1 = 'v1'; root.k2 = { k4: 'v4' }; root.k3 = ['v5', 'v6']; }, 'updates k1,k2,k3'); assert.equal(expected, doc.toJSON()); assert.isTrue(doc.hasLocalChanges()); }); bench('delete', () => { const doc = new Document<{ k1?: string; k2?: { k4: string }; k3?: Array; }>('test-doc'); assert.equal('{}', doc.toJSON()); assert.isFalse(doc.hasLocalChanges()); let expected = `{"k1":"v1","k2":{"k4":"v4"},"k3":["v5","v6"]}`; doc.update((root) => { root.k1 = 'v1'; root.k2 = { k4: 'v4' }; root.k3 = ['v5', 'v6']; }, 'updates k1,k2,k3'); assert.equal(expected, doc.toJSON()); expected = `{"k1":"v1","k3":["v5","v6"]}`; doc.update((root) => { delete root.k2; }, 'deletes k2'); assert.equal(expected, doc.toJSON()); }); bench('object', () => { const doc = new Document<{ k1: string }>('test-doc'); doc.update((root) => { root.k1 = 'v1'; root.k1 = 'v2'; }); assert.equal(`{"k1":"v2"}`, doc.toJSON()); }); bench('array', () => { const doc = new Document<{ k1: JSONArray }>('test-doc'); doc.update((root) => { root.k1 = [] as unknown as JSONArray; root.k1.push(1); root.k1.push(2); root.k1.push(3); assert.equal('{"k1":[1,2,3]}', root.toJSON()); assert.equal(root.k1.length, 3); assert.equal( '[1:000000000000000000000000:2:1][1:000000000000000000000000:3:2][1:000000000000000000000000:4:3]', root.k1.toTestString(), ); root.k1.splice(1, 1); assert.equal('{"k1":[1,3]}', root.toJSON()); assert.equal(root.k1.length, 2); assert.equal( '[1:000000000000000000000000:2:1]{1:000000000000000000000000:3:2}[1:000000000000000000000000:4:3]', root.k1.toTestString(), ); const first = root.k1.getElementByIndex(0); root.k1.insertAfter(first.getID(), 2); assert.equal('{"k1":[1,2,3]}', root.toJSON()); assert.equal(root.k1.length, 3); assert.equal( '[1:000000000000000000000000:2:1][1:000000000000000000000000:6:2]{1:000000000000000000000000:3:2}[1:000000000000000000000000:4:3]', root.k1.toTestString(), ); const third = root.k1.getElementByIndex(2); root.k1.insertAfter(third.getID(), 4); assert.equal('{"k1":[1,2,3,4]}', root.toJSON()); assert.equal(root.k1.length, 4); assert.equal( '[1:000000000000000000000000:2:1][1:000000000000000000000000:6:2]{1:000000000000000000000000:3:2}[1:000000000000000000000000:4:3][1:000000000000000000000000:7:4]', root.k1.toTestString(), ); for (let i = 0; i < root.k1.length; i++) { assert.equal(i + 1, root.k1[i]); } }); }); bench('array 1000', () => { benchmarkArray(1000); }); bench('array 10000', () => { benchmarkArray(10000); }); bench('array GC 1000', () => { benchmarkArrayGC(1000); }); bench('array GC 10000', () => { benchmarkArrayGC(10000); }); bench('object 1000', () => { benchmarkObject(1000); }); bench('object 10000', () => { benchmarkObject(10000); }); }); ================================================ FILE: packages/sdk/test/bench/editing-trace.json ================================================ { "edits": [ [0, 0, "\\"], [1, 0, "d"], [2, 0, "o"], [3, 0, "c"], [4, 0, "u"], [5, 0, "m"], [6, 0, "e"], [7, 0, "n"], [8, 0, "t"], [9, 0, "c"], [10, 0, "l"], [11, 0, "a"], [12, 0, "s"], [13, 0, "s"], [14, 0, "["], [15, 0, "a"], [16, 0, "4"], [17, 0, "p"], [18, 0, "a"], [19, 0, "p"], [20, 0, "e"], [21, 0, "r"], [22, 0, ","], [23, 0, "t"], [24, 0, "w"], [25, 0, "o"], [26, 0, "c"], [27, 0, "o"], [28, 0, "l"], [29, 0, "u"], [30, 0, "m"], [31, 0, "n"], [32, 0, ","], [33, 0, "1"], [34, 0, "0"], [35, 0, "p"], [36, 0, "t"], [37, 0, "]"], [38, 0, "{"], [39, 0, "a"], [40, 0, "r"], [41, 0, "t"], [42, 0, "i"], [43, 0, "c"], [44, 0, "l"], [45, 0, "e"], [46, 0, "}"], [47, 0, "\n"], [48, 0, "\\"], [49, 0, "u"], [50, 0, "s"], [51, 0, "e"], [52, 0, "p"], [53, 0, "a"], [54, 0, "c"], [55, 0, "k"], [56, 0, "a"], [57, 0, "g"], [58, 0, "e"], [59, 0, "{"], [59, 1], [59, 0, "["], [60, 0, "u"], [61, 0, "t"], [62, 0, "f"], [63, 0, "8"], [64, 0, "]"], [65, 0, "{"], [66, 0, "i"], [67, 0, "n"], [68, 0, "p"], [69, 0, "u"], [70, 0, "t"], [71, 0, "e"], [72, 0, "n"], [73, 0, "c"], [74, 0, "}"], [75, 0, "\n"], [76, 0, "\\"], [77, 0, "u"], [78, 0, "s"], [79, 0, "e"], [80, 0, "p"], [81, 0, "a"], [82, 0, "c"], [83, 0, "k"], [84, 0, "a"], [85, 0, "g"], [86, 0, "e"], [87, 0, "{"], [88, 0, "m"], [89, 0, "a"], [90, 0, "t"], [91, 0, "h"], [92, 0, "p"], [93, 0, "t"], [94, 0, "m"], [95, 0, "x"], [96, 0, "}"], [97, 0, " "], [98, 0, "%"], [99, 0, " "], [100, 0, "t"], [101, 0, "i"], [102, 0, "m"], [103, 0, "e"], [104, 0, "s"], [105, 0, " "], [106, 0, "r"], [107, 0, "o"], [108, 0, "m"], [109, 0, "a"], [110, 0, "n"], [111, 0, ","], [112, 0, " "], [113, 0, "i"], [114, 0, "n"], [115, 0, "c"], [116, 0, "l"], [117, 0, "u"], [118, 0, "d"], [119, 0, "i"], [120, 0, "n"], [121, 0, "g"], [122, 0, " "], [123, 0, "m"], [124, 0, "a"], [125, 0, "t"], [126, 0, "h"], [127, 0, "\n"], [128, 0, "\\"], [129, 0, "u"], [130, 0, "s"], [131, 0, "e"], [132, 0, "p"], [133, 0, "a"], [134, 0, "c"], [135, 0, "k"], [136, 0, "a"], [137, 0, "g"], [138, 0, "e"], [139, 0, "["], [140, 0, "h"], [141, 0, "y"], [142, 0, "p"], [143, 0, "h"], [144, 0, "e"], [145, 0, "n"], [146, 0, "s"], [147, 0, "]"], [148, 0, "{"], [149, 0, "u"], [150, 0, "r"], [151, 0, "l"], [152, 0, "}"], [153, 0, "\n"], [154, 0, "\\"], [155, 0, "u"], [156, 0, "s"], [157, 0, "e"], [158, 0, "p"], [159, 0, "a"], [160, 0, "c"], [161, 0, "k"], [162, 0, "a"], [163, 0, "g"], [164, 0, "e"], [165, 0, "{"], [166, 0, "d"], [167, 0, "o"], [168, 0, "i"], [169, 0, "}"], [170, 0, "\n"], [171, 0, "\\"], [172, 0, "u"], [173, 0, "s"], [174, 0, "e"], [175, 0, "p"], [176, 0, "a"], [177, 0, "c"], [178, 0, "k"], [179, 0, "a"], [180, 0, "g"], [181, 0, "e"], [182, 0, "{"], [183, 0, "h"], [184, 0, "y"], [185, 0, "p"], [186, 0, "e"], [187, 0, "r"], [188, 0, "r"], [189, 0, "e"], [190, 0, "f"], [191, 0, "}"], [192, 0, "\n"], [193, 0, "\\"], [194, 0, "u"], [195, 0, "s"], [196, 0, "e"], [197, 0, "p"], [198, 0, "a"], [199, 0, "c"], [200, 0, "k"], [201, 0, "a"], [202, 0, "g"], [203, 0, "e"], [204, 0, "["], [205, 0, "n"], [206, 0, "u"], [207, 0, "m"], [208, 0, "b"], [209, 0, "e"], [210, 0, "r"], [211, 0, "s"], [212, 0, ","], [213, 0, "s"], [214, 0, "o"], [215, 0, "r"], [216, 0, "t"], [217, 0, "]"], [218, 0, "{"], [219, 0, "n"], [220, 0, "a"], [221, 0, "t"], [222, 0, "b"], [223, 0, "i"], [224, 0, "t"], [224, 1], [224, 0, "b"], [225, 0, "}"], [226, 0, "\n"], [227, 0, "\\"], [228, 0, "h"], [229, 0, "y"], [230, 0, "p"], [231, 0, "h"], [232, 0, "e"], [233, 0, "n"], [234, 0, "a"], [235, 0, "t"], [236, 0, "i"], [237, 0, "o"], [238, 0, "n"], [239, 0, "{"], [240, 0, "d"], [241, 0, "a"], [242, 0, "t"], [243, 0, "a"], [243, 1], [242, 1], [242, 0, "-"], [243, 0, "d"], [243, 1], [243, 0, "t"], [244, 0, "a"], [245, 0, "-"], [246, 0, "c"], [247, 0, "e"], [248, 0, "n"], [249, 0, "-"], [250, 0, "t"], [251, 0, "e"], [252, 0, "r"], [253, 0, " "], [254, 0, "d"], [255, 0, "a"], [256, 0, "-"], [257, 0, "t"], [258, 0, "a"], [259, 0, "-"], [260, 0, "c"], [261, 0, "e"], [262, 0, "n"], [263, 0, "-"], [264, 0, "t"], [265, 0, "e"], [266, 0, "r"], [267, 0, "s"], [268, 0, "}"], [269, 0, "\n"], [270, 0, "\\"], [271, 0, "f"], [272, 0, "r"], [273, 0, "e"], [274, 0, "n"], [275, 0, "c"], [276, 0, "h"], [277, 0, "s"], [278, 0, "p"], [279, 0, "a"], [280, 0, "c"], [281, 0, "i"], [282, 0, "n"], [283, 0, "g"], [284, 0, "\n"], [285, 0, "\n"], [286, 0, "\\"], [287, 0, "b"], [288, 0, "e"], [289, 0, "g"], [290, 0, "i"], [291, 0, "n"], [292, 0, "{"], [293, 0, "d"], [294, 0, "o"], [295, 0, "c"], [296, 0, "u"], [297, 0, "m"], [298, 0, "e"], [299, 0, "n"], [300, 0, "t"], [301, 0, "}"], [302, 0, "\n"], [303, 0, "\\"], [304, 0, "s"], [305, 0, "l"], [306, 0, "o"], [307, 0, "p"], [308, 0, "p"], [309, 0, "y"], [310, 0, "\n"], [311, 0, "\\"], [312, 0, "t"], [313, 0, "i"], [314, 0, "t"], [315, 0, "l"], [316, 0, "e"], [317, 0, "{"], [318, 0, "C"], [319, 0, "o"], [320, 0, "m"], [321, 0, "p"], [322, 0, "o"], [323, 0, "s"], [324, 0, "i"], [325, 0, "n"], [326, 0, "g"], [327, 0, " "], [328, 0, "D"], [329, 0, "a"], [330, 0, "t"], [331, 0, "a"], [332, 0, " "], [333, 0, "S"], [334, 0, "t"], [335, 0, "r"], [336, 0, "u"], [337, 0, "c"], [338, 0, "t"], [339, 0, "u"], [340, 0, "r"], [341, 0, "e"], [342, 0, "s"], [343, 0, " "], [344, 0, "f"], [345, 0, "o"], [346, 0, "r"], [347, 0, " "], [348, 0, "C"], [349, 0, "o"], [350, 0, "l"], [351, 0, "l"], [352, 0, "a"], [353, 0, "b"], [354, 0, "o"], [355, 0, "r"], [356, 0, "a"], [357, 0, "t"], [358, 0, "i"], [359, 0, "v"], [360, 0, "e"], [361, 0, " "], [362, 0, "D"], [363, 0, "o"], [364, 0, "u"], [365, 0, "m"], [366, 0, "e"], [367, 0, "n"], [368, 0, "t"], [368, 1], [367, 1], [366, 1], [365, 1], [364, 1], [364, 0, "c"], [365, 0, "u"], [366, 0, "m"], [367, 0, "e"], [368, 0, "n"], [369, 0, "t"], [370, 0, " "], [371, 0, "E"], [372, 0, "d"], [373, 0, "i"], [374, 0, "t"], [375, 0, "i"], [376, 0, "n"], [377, 0, "g"], [378, 0, "}"], [379, 0, "\n"], [380, 0, "\\"], [381, 0, "a"], [382, 0, "u"], [383, 0, "t"], [384, 0, "h"], [385, 0, "o"], [386, 0, "r"], [387, 0, "{"], [388, 0, "}"], [389, 0, "\n"], [390, 0, "\\"], [391, 0, "m"], [392, 0, "a"], [393, 0, "k"], [394, 0, "e"], [395, 0, "t"], [396, 0, "i"], [397, 0, "t"], [398, 0, "l"], [399, 0, "e"], [400, 0, "\n"], [401, 0, "\n"], [402, 0, "\\"], [403, 0, "s"], [404, 0, "u"], [405, 0, "b"], [406, 0, "s"], [407, 0, "e"], [408, 0, "c"], [409, 0, "t"], [410, 0, "i"], [411, 0, "o"], [412, 0, "n"], [413, 0, "*"], [414, 0, "{"], [415, 0, "A"], [416, 0, "b"], [417, 0, "s"], [418, 0, "t"], [419, 0, "r"], [420, 0, "a"], [421, 0, "c"], [422, 0, "g"], [423, 0, "t"], [424, 0, "}"], [424, 1], [423, 1], [422, 1], [422, 0, "t"], [423, 0, "}"], [424, 0, "\n"], [425, 0, "\n"], [426, 0, "\\"], [427, 0, "s"], [428, 0, "e"], [429, 0, "c"], [430, 0, "t"], [431, 0, "i"], [432, 0, "o"], [433, 0, "n"], [434, 0, "{"], [435, 0, "I"], [436, 0, "n"], [437, 0, "t"], [438, 0, "r"], [439, 0, "o"], [440, 0, "d"], [441, 0, "u"], [442, 0, "c"], [443, 0, "t"], [444, 0, "i"], [445, 0, "o"], [446, 0, "n"], [447, 0, "}"], [448, 0, "\n"], [449, 0, "\n"], [450, 0, "\n"], [451, 0, "\\"], [452, 0, "e"], [453, 0, "n"], [454, 0, "d"], [455, 0, "{"], [456, 0, "d"], [457, 0, "o"], [458, 0, "c"], [459, 0, "u"], [460, 0, "m"], [461, 0, "e"], [462, 0, "n"], [463, 0, "t"], [464, 0, "}"], [465, 0, "\n"], [450, 0, "\n"], [451, 0, "{"], [452, 0, "\\"], [453, 0, "f"], [454, 0, "o"], [455, 0, "o"], [456, 0, "t"], [457, 0, "n"], [458, 0, "o"], [459, 0, "t"], [460, 0, "e"], [461, 0, "s"], [462, 0, "i"], [463, 0, "z"], [464, 0, "e"], [465, 0, "\n"], [466, 0, "\\"], [467, 0, "b"], [468, 0, "i"], [469, 0, "b"], [470, 0, "l"], [471, 0, "i"], [472, 0, "o"], [473, 0, "g"], [474, 0, "r"], [475, 0, "a"], [476, 0, "p"], [477, 0, "h"], [478, 0, "y"], [479, 0, "s"], [480, 0, "t"], [481, 0, "y"], [482, 0, "l"], [483, 0, "e"], [484, 0, "{"], [485, 0, "p"], [486, 0, "l"], [487, 0, "a"], [488, 0, "i"], [489, 0, "n"], [490, 0, "n"], [491, 0, "a"], [492, 0, "t"], [493, 0, "}"], [494, 0, "\n"], [495, 0, "\\"], [496, 0, "b"], [497, 0, "i"], [498, 0, "b"], [499, 0, "l"], [500, 0, "i"], [501, 0, "o"], [502, 0, "g"], [503, 0, "r"], [504, 0, "a"], [505, 0, "p"], [506, 0, "h"], [507, 0, "y"], [508, 0, "{"], [509, 0, "r"], [510, 0, "e"], [511, 0, "f"], [512, 0, "e"], [513, 0, "r"], [514, 0, "e"], [515, 0, "n"], [516, 0, "c"], [517, 0, "e"], [518, 0, "s"], [519, 0, "}"], [520, 0, "{"], [521, 0, "}"], [522, 0, "}"], [449, 0, "\n"], [450, 0, "\\"], [451, 0, "c"], [452, 0, "i"], [453, 0, "t"], [454, 0, "e"], [455, 0, "{"], [456, 0, "R"], [457, 0, "o"], [458, 0, "h"], [459, 0, ":"], [460, 0, "2"], [461, 0, "0"], [462, 0, "1"], [463, 0, "1"], [464, 0, "d"], [465, 0, "w"], [466, 0, "}"], [456, 0, "S"], [457, 0, "h"], [458, 0, "a"], [459, 0, "p"], [460, 0, "i"], [461, 0, "r"], [462, 0, "o"], [463, 0, ":"], [464, 0, "2"], [465, 0, "0"], [466, 0, "1"], [467, 0, "1"], [468, 0, "w"], [469, 0, "y"], [470, 0, ","], [450, 0, "C"], [451, 0, "R"], [452, 0, "D"], [453, 0, "T"], [454, 0, "s"], [455, 0, "~"], [489, 0, "\n"], [489, 0, "\n"], [490, 0, "\\"], [491, 0, "s"], [492, 0, "e"], [493, 0, "c"], [494, 0, "t"], [495, 0, "i"], [496, 0, "o"], [497, 0, "n"], [498, 0, "{"], [499, 0, "O"], [500, 0, "p"], [501, 0, "e"], [502, 0, "r"], [503, 0, "a"], [504, 0, "t"], [505, 0, "i"], [506, 0, "o"], [507, 0, "n"], [508, 0, "a"], [509, 0, "l"], [510, 0, " "], [511, 0, "S"], [512, 0, "e"], [513, 0, "m"], [514, 0, "a"], [515, 0, "n"], [516, 0, "t"], [517, 0, "i"], [518, 0, "c"], [519, 0, "s"], [520, 0, "}"], [521, 0, "\n"], [522, 0, "\n"], [523, 0, "T"], [524, 0, "h"], [525, 0, "e"], [526, 0, " "], [527, 0, "R"], [528, 0, "e"], [529, 0, "p"], [530, 0, "l"], [530, 1], [529, 1], [528, 1], [527, 1], [527, 0, "\\"], [528, 0, "e"], [529, 0, "m"], [530, 0, "p"], [531, 0, "h"], [532, 0, "{"], [533, 0, "R"], [534, 0, "e"], [535, 0, "p"], [536, 0, "l"], [537, 0, "i"], [538, 0, "c"], [539, 0, "a"], [540, 0, "t"], [541, 0, "e"], [542, 0, "d"], [543, 0, " "], [544, 0, "G"], [545, 0, "r"], [546, 0, "o"], [547, 0, "w"], [548, 0, "a"], [549, 0, "b"], [550, 0, "l"], [551, 0, "e"], [552, 0, " "], [553, 0, "A"], [554, 0, "r"], [555, 0, "r"], [556, 0, "a"], [557, 0, "y"], [558, 0, "}"], [559, 0, " "], [560, 0, "("], [561, 0, "R"], [562, 0, "G"], [563, 0, "A"], [564, 0, ")"], [565, 0, " "], [566, 0, "d"], [567, 0, "a"], [568, 0, "t"], [569, 0, "a"], [570, 0, "t"], [571, 0, "y"], [572, 0, "p"], [573, 0, "e"], [574, 0, " "], [575, 0, "w"], [576, 0, "a"], [577, 0, "s"], [578, 0, " "], [579, 0, "o"], [580, 0, "r"], [581, 0, "i"], [582, 0, "g"], [583, 0, "i"], [584, 0, "n"], [585, 0, "a"], [586, 0, "l"], [587, 0, "l"], [588, 0, "y"], [589, 0, " "], [590, 0, "d"], [591, 0, "e"], [592, 0, "f"], [593, 0, "i"], [594, 0, "n"], [595, 0, "e"], [596, 0, "d"], [597, 0, " "], [598, 0, "b"], [599, 0, "y"], [600, 0, " "], [601, 0, "R"], [602, 0, "o"], [603, 0, "h"], [604, 0, " "], [605, 0, "e"], [606, 0, "t"], [607, 0, " "], [608, 0, "a"], [609, 0, "l"], [610, 0, "."], [611, 0, "\\"], [612, 0, " "], [613, 0, "u"], [614, 0, "s"], [615, 0, "i"], [616, 0, "n"], [617, 0, "g"], [618, 0, " "], [619, 0, "p"], [620, 0, "s"], [621, 0, "e"], [622, 0, "u"], [623, 0, "d"], [624, 0, "o"], [625, 0, "c"], [626, 0, "o"], [627, 0, "d"], [628, 0, "e"], [629, 0, "~"], [630, 0, "\\"], [631, 0, "c"], [632, 0, "i"], [633, 0, "t"], [634, 0, "e"], [635, 0, "{"], [636, 0, "R"], [637, 0, "o"], [638, 0, "h"], [639, 0, ":"], [640, 0, "2"], [641, 0, "0"], [642, 0, "1"], [643, 0, "1"], [644, 0, "d"], [645, 0, "w"], [646, 0, "}"], [647, 0, "."], [648, 0, " "], [649, 0, "I"], [650, 0, "n"], [651, 0, " "], [652, 0, "t"], [653, 0, "h"], [654, 0, "i"], [655, 0, "s"], [656, 0, " "], [657, 0, "s"], [658, 0, "e"], [659, 0, "c"], [660, 0, "t"], [661, 0, "i"], [662, 0, "o"], [663, 0, "n"], [664, 0, " "], [665, 0, "w"], [666, 0, "e"], [667, 0, " "], [668, 0, "p"], [669, 0, "r"], [670, 0, "e"], [671, 0, "s"], [672, 0, "e"], [673, 0, "n"], [674, 0, "t"], [675, 0, " "], [676, 0, "t"], [677, 0, "h"], [678, 0, "e"], [679, 0, " "], [680, 0, "a"], [681, 0, "l"], [682, 0, "g"], [683, 0, "o"], [684, 0, "r"], [685, 0, "i"], [686, 0, "t"], [687, 0, "h"], [688, 0, "m"], [689, 0, " "], [690, 0, "i"], [691, 0, "n"], [692, 0, " "], [693, 0, "a"], [694, 0, "n"], [695, 0, " "], [696, 0, "a"], [697, 0, "l"], [698, 0, "t"], [699, 0, "e"], [700, 0, "r"], [701, 0, "n"], [702, 0, "a"], [703, 0, "t"], [704, 0, "i"], [705, 0, "v"], [706, 0, "e"], [707, 0, " "], [708, 0, "f"], [709, 0, "o"], [710, 0, "r"], [711, 0, "m"], [712, 0, " "], [713, 0, "w"], [714, 0, "h"], [715, 0, "i"], [716, 0, "c"], [717, 0, "h"], [718, 0, " "], [719, 0, "i"], [720, 0, "s"], [721, 0, " "], [722, 0, "m"], [723, 0, "o"], [724, 0, "r"], [725, 0, "e"], [726, 0, " "], [727, 0, "a"], [728, 0, "m"], [729, 0, "e"], [730, 0, "n"], [731, 0, "a"], [732, 0, "b"], [733, 0, "l"], [734, 0, "e"], [735, 0, " "], [736, 0, "t"], [737, 0, "o"], [738, 0, " "], [739, 0, "p"], [740, 0, "r"], [741, 0, "o"], [742, 0, "o"], [743, 0, "f"], [744, 0, "s"], [745, 0, "."], [746, 0, "\n"], [747, 0, "\n"], [748, 0, "E"], [749, 0, "a"], [750, 0, "c"], [751, 0, "h"], [752, 0, " "], [753, 0, "p"], [754, 0, "e"], [755, 0, "e"], [756, 0, "r"], [757, 0, " "], [758, 0, "t"], [759, 0, "h"], [760, 0, "a"], [761, 0, "t"], [762, 0, " "], [763, 0, "m"], [764, 0, "a"], [765, 0, "i"], [766, 0, "n"], [767, 0, "t"], [768, 0, "a"], [769, 0, "i"], [770, 0, "n"], [771, 0, "s"], [772, 0, " "], [773, 0, "a"], [774, 0, " "], [775, 0, "r"], [776, 0, "e"], [777, 0, "p"], [778, 0, "l"], [779, 0, "i"], [780, 0, "c"], [781, 0, "a"], [782, 0, " "], [783, 0, "o"], [784, 0, "f"], [785, 0, " "], [786, 0, "a"], [787, 0, "n"], [788, 0, " "], [789, 0, "R"], [790, 0, "G"], [791, 0, "A"], [792, 0, " "], [793, 0, "s"], [794, 0, "t"], [795, 0, "o"], [796, 0, "r"], [797, 0, "e"], [798, 0, "s"], [799, 0, " "], [800, 0, "a"], [801, 0, " "], [802, 0, "c"], [803, 0, "o"], [804, 0, "p"], [805, 0, "y"], [806, 0, " "], [807, 0, "o"], [808, 0, "f"], [809, 0, " "], [810, 0, "i"], [811, 0, "t"], [812, 0, "s"], [813, 0, " "], [814, 0, "s"], [815, 0, "t"], [816, 0, "a"], [817, 0, "t"], [818, 0, "e"], [819, 0, " "], [820, 0, "$"], [821, 0, "A"], [822, 0, "$"], [823, 0, ","], [824, 0, " "], [825, 0, "w"], [826, 0, "h"], [827, 0, "i"], [828, 0, "c"], [829, 0, "h"], [830, 0, " "], [831, 0, "i"], [832, 0, "s"], [833, 0, " "], [834, 0, "a"], [835, 0, " "], [836, 0, "s"], [837, 0, "e"], [838, 0, "t"], [839, 0, " "], [840, 0, "o"], [841, 0, "f"], [842, 0, " "], [843, 0, "t"], [844, 0, "r"], [845, 0, "i"], [846, 0, "p"], [847, 0, "l"], [848, 0, "e"], [849, 0, "s"], [850, 0, " "], [851, 0, "("], [851, 1], [851, 0, "$"], [852, 0, "("], [853, 0, "\\"], [854, 0, "m"], [855, 0, "a"], [856, 0, "t"], [857, 0, "h"], [858, 0, "i"], [859, 0, "t"], [860, 0, "{"], [861, 0, "i"], [862, 0, "d"], [863, 0, "}"], [864, 0, ","], [865, 0, " "], [866, 0, "\\"], [867, 0, "m"], [868, 0, "a"], [869, 0, "t"], [870, 0, "h"], [871, 0, "i"], [872, 0, "t"], [873, 0, "{"], [874, 0, "v"], [875, 0, "a"], [876, 0, "l"], [877, 0, "u"], [878, 0, "e"], [879, 0, "}"], [880, 0, ","], [881, 0, " "], [882, 0, "\\"], [883, 0, "m"], [884, 0, "a"], [885, 0, "t"], [886, 0, "h"], [887, 0, "i"], [888, 0, "t"], [889, 0, "{"], [890, 0, "n"], [891, 0, "e"], [892, 0, "x"], [893, 0, "t"], [894, 0, "}"], [895, 0, ")"], [896, 0, "$"], [897, 0, "."], [898, 0, " "], [899, 0, "T"], [900, 0, "h"], [901, 0, "e"], [902, 0, " "], [903, 0, "e"], [904, 0, "m"], [905, 0, "p"], [906, 0, "t"], [907, 0, "y"], [908, 0, " "], [909, 0, "a"], [910, 0, "r"], [911, 0, "r"], [912, 0, "a"], [913, 0, "y"], [914, 0, " "], [915, 0, "i"], [916, 0, "s"], [917, 0, " "], [918, 0, "r"], [919, 0, "e"], [920, 0, "p"], [921, 0, "r"], [922, 0, "e"], [923, 0, "s"], [924, 0, "e"], [925, 0, "n"], [914, 0, " "], [915, 0, "$"], [916, 0, "A"], [917, 0, "_"], [918, 0, "\\"], [919, 0, "e"], [920, 0, "m"], [921, 0, "p"], [922, 0, "t"], [923, 0, "y"], [924, 0, "s"], [925, 0, "e"], [926, 0, "t"], [927, 0, "$"], [940, 0, "t"], [941, 0, "e"], [942, 0, "d"], [943, 0, " "], [944, 0, "b"], [945, 0, "y"], [946, 0, " "], [947, 0, "a"], [948, 0, " "], [949, 0, "s"], [950, 0, "e"], [951, 0, "t"], [952, 0, " "], [953, 0, "c"], [954, 0, "o"], [955, 0, "n"], [956, 0, "t"], [957, 0, "a"], [958, 0, "i"], [959, 0, "n"], [960, 0, "i"], [961, 0, "n"], [962, 0, "g"], [963, 0, " "], [964, 0, "a"], [965, 0, " "], [966, 0, "s"], [967, 0, "i"], [968, 0, "n"], [969, 0, "g"], [970, 0, "l"], [971, 0, "e"], [972, 0, " "], [973, 0, "t"], [974, 0, "u"], [975, 0, "p"], [976, 0, "l"], [977, 0, "e"], [978, 0, ":"], [979, 0, "\n"], [980, 0, "\\"], [981, 0, "b"], [982, 0, "e"], [983, 0, "g"], [984, 0, "i"], [985, 0, "n"], [986, 0, "{"], [987, 0, "e"], [988, 0, "q"], [989, 0, "u"], [990, 0, "a"], [991, 0, "t"], [992, 0, "i"], [993, 0, "o"], [994, 0, "n"], [995, 0, "}"], [996, 0, "\n"], [997, 0, "\\"], [998, 0, "e"], [999, 0, "n"], [1000, 0, "d"], [1001, 0, "{"], [1002, 0, "e"], [1003, 0, "q"], [1004, 0, "u"], [1005, 0, "a"], [1006, 0, "t"], [1007, 0, "i"], [1008, 0, "o"], [1009, 0, "n"], [1010, 0, "}"], [996, 0, "\n"], [997, 0, "A"], [998, 0, "_"], [999, 0, "\\"], [1000, 0, "e"], [1001, 0, "m"], [1002, 0, "p"], [1003, 0, "t"], [1004, 0, "y"], [1005, 0, "s"], [1006, 0, "e"], [1007, 0, "t"], [1008, 0, " "], [1009, 0, "="], [1010, 0, " "], [1011, 0, "{"], [1012, 0, "("], [1013, 0, "\\"], [1014, 0, "v"], [1015, 0, "d"], [1016, 0, "a"], [1017, 0, "s"], [1018, 0, "h"], [1019, 0, ","], [1020, 0, " "], [1021, 0, "\\"], [1022, 0, "b"], [1023, 0, "o"], [1024, 0, "t"], [1025, 0, ","], [1026, 0, " "], [1027, 0, "\\"], [1028, 0, "d"], [1029, 0, "a"], [1030, 0, "s"], [1031, 0, "h"], [1032, 0, "v"], [1033, 0, ")"], [1034, 0, "}"], [1050, 0, "\n"], [1051, 0, "w"], [1052, 0, "h"], [1053, 0, "e"], [1054, 0, "r"], [1055, 0, "e"], [1056, 0, " "], [1057, 0, "$"], [1058, 0, "\\"], [1059, 0, "v"], [1060, 0, "d"], [1061, 0, "a"], [1062, 0, "s"], [1063, 0, "h"], [1064, 0, "$"], [1065, 0, " "], [1066, 0, "i"], [1067, 0, "s"], [1068, 0, " "], [1069, 0, "a"], [1070, 0, " "], [1071, 0, "s"], [1072, 0, "p"], [1073, 0, "e"], [1074, 0, "c"], [1075, 0, "i"], [1076, 0, "a"], [1077, 0, "l"], [1078, 0, " "], [1079, 0, "I"], [1080, 0, "D"], [1081, 0, " "], [1082, 0, "d"], [1083, 0, "e"], [1084, 0, "n"], [1085, 0, "o"], [1086, 0, "t"], [1087, 0, "i"], [1088, 0, "n"], [1089, 0, "g"], [1090, 0, " "], [1091, 0, "t"], [1092, 0, "h"], [1093, 0, "e"], [1094, 0, " "], [1095, 0, "h"], [1096, 0, "e"], [1097, 0, "a"], [1098, 0, "d"], [1099, 0, " "], [1100, 0, "o"], [1101, 0, "f"], [1102, 0, " "], [1103, 0, "t"], [1104, 0, "h"], [1105, 0, "e"], [1106, 0, " "], [1107, 0, "l"], [1108, 0, "i"], [1109, 0, "s"], [1110, 0, "t"], [1111, 0, ","], [1112, 0, " "], [1113, 0, "$"], [1114, 0, "\\"], [1115, 0, "d"], [1116, 0, "a"], [1117, 0, "s"], [1118, 0, "h"], [1119, 0, "v"], [1120, 0, "$"], [1121, 0, " "], [1122, 0, "i"], [1123, 0, "n"], [1124, 0, "d"], [1125, 0, "i"], [1126, 0, "c"], [1127, 0, "a"], [1128, 0, "t"], [1129, 0, "e"], [1130, 0, "s"], [1131, 0, " "], [1132, 0, "t"], [1133, 0, "h"], [1134, 0, "e"], [1135, 0, " "], [1136, 0, "e"], [1137, 0, "n"], [1138, 0, "d"], [1139, 0, " "], [1140, 0, "o"], [1141, 0, "f"], [1142, 0, " "], [1143, 0, "t"], [1144, 0, "h"], [1145, 0, "e"], [1146, 0, " "], [1147, 0, "l"], [1148, 0, "i"], [1149, 0, "s"], [1150, 0, "t"], [1151, 0, ","], [1152, 0, " "], [1153, 0, "a"], [1154, 0, "n"], [1155, 0, "d"], [1156, 0, " "], [1157, 0, "$"], [1158, 0, "\\"], [1159, 0, "b"], [1160, 0, "o"], [1161, 0, "t"], [1162, 0, "$"], [1163, 0, " "], [1164, 0, "i"], [1165, 0, "s"], [1166, 0, " "], [1167, 0, "t"], [1168, 0, "h"], [1169, 0, "e"], [1170, 0, " "], [1171, 0, "b"], [1171, 1], [1171, 0, "a"], [1172, 0, "b"], [1173, 0, "s"], [1174, 0, "e"], [1175, 0, "n"], [1176, 0, "c"], [1177, 0, "e"], [1178, 0, " "], [1179, 0, "o"], [1180, 0, "f"], [1181, 0, " "], [1182, 0, "a"], [1183, 0, " "], [1184, 0, "v"], [1185, 0, "a"], [1186, 0, "l"], [1187, 0, "u"], [1188, 0, "e"], [1189, 0, "."], [1011, 0, "\\"], [1035, 0, "\\"], [995, 0, "*"], [997, 1], [996, 1], [995, 1], [994, 1], [993, 1], [992, 1], [991, 1], [990, 1], [989, 1], [988, 1], [987, 1], [986, 1], [985, 1], [984, 1], [983, 1], [982, 1], [981, 1], [980, 1], [980, 0, "$"], [981, 0, "$"], [982, 0, " "], [1037, 1], [1036, 1], [1035, 1], [1034, 1], [1033, 1], [1032, 1], [1031, 1], [1030, 1], [1029, 1], [1028, 1], [1027, 1], [1026, 1], [1025, 1], [1024, 1], [1023, 1], [1023, 0, " "], [1024, 0, "$"], [1025, 0, "$"], [739, 0, "c"], [740, 0, "o"], [741, 0, "r"], [742, 0, "r"], [743, 0, "e"], [744, 0, "c"], [745, 0, "t"], [746, 0, "n"], [747, 0, "e"], [748, 0, "s"], [749, 0, "s"], [750, 0, " "], [1178, 0, "\n"], [1179, 0, "\n"], [1180, 0, "W"], [1181, 0, "e"], [1182, 0, " "], [1183, 0, "c"], [1184, 0, "a"], [1185, 0, "n"], [1186, 0, " "], [1186, 1], [1185, 1], [1184, 1], [1183, 1], [1183, 0, "t"], [1183, 1], [1183, 0, "d"], [1184, 0, "e"], [1185, 0, "f"], [1186, 0, "i"], [1187, 0, "n"], [1188, 0, "e"], [1189, 0, " "], [1190, 0, "s"], [1191, 0, "o"], [1192, 0, "m"], [1193, 0, "e"], [1194, 0, " "], [1195, 0, "c"], [1196, 0, "o"], [1197, 0, "n"], [1198, 0, "v"], [1199, 0, "e"], [1200, 0, "n"], [1201, 0, "i"], [1202, 0, "c"], [1202, 1], [1202, 0, "e"], [1203, 0, "n"], [1204, 0, "c"], [1205, 0, "e"], [1206, 0, " "], [1207, 0, "f"], [1208, 0, "u"], [1209, 0, "n"], [1210, 0, "c"], [1211, 0, "t"], [1212, 0, "i"], [1213, 0, "o"], [1214, 0, "n"], [1215, 0, "s"], [1216, 0, " "], [1217, 0, "f"], [1218, 0, "o"], [1219, 0, "r"], [1220, 0, " "], [1221, 0, "a"], [1222, 0, "c"], [1223, 0, "c"], [1224, 0, "e"], [1225, 0, "s"], [1226, 0, "s"], [1227, 0, "i"], [1228, 0, "n"], [1229, 0, "g"], [1230, 0, " "], [1231, 0, "t"], [1232, 0, "h"], [1233, 0, "e"], [1234, 0, " "], [1235, 0, "s"], [1236, 0, "t"], [1237, 0, "a"], [1238, 0, "t"], [1239, 0, "e"], [1240, 0, " "], [1241, 0, "$"], [1242, 0, "A"], [1243, 0, "$"], [1244, 0, ":"], [1245, 0, "\n"], [1246, 0, "\\"], [1247, 0, "b"], [1248, 0, "e"], [1249, 0, "g"], [1250, 0, "i"], [1251, 0, "n"], [1252, 0, "{"], [1253, 0, "e"], [1254, 0, "q"], [1255, 0, "n"], [1256, 0, "a"], [1257, 0, "r"], [1258, 0, "r"], [1259, 0, "a"], [1260, 0, "y"], [1261, 0, "*"], [1262, 0, "}"], [1263, 0, "\n"], [1264, 0, "\\"], [1265, 0, "e"], [1266, 0, "n"], [1267, 0, "d"], [1268, 0, "{"], [1269, 0, "e"], [1270, 0, "q"], [1271, 0, "n"], [1272, 0, "a"], [1273, 0, "r"], [1274, 0, "r"], [1275, 0, "a"], [1276, 0, "y"], [1277, 0, "*"], [1278, 0, "}"], [1263, 0, "\n"], [1264, 0, "\\"], [1265, 0, "m"], [1266, 0, "a"], [1267, 0, "t"], [1268, 0, "h"], [1269, 0, "r"], [1270, 0, "m"], [1271, 0, "{"], [1272, 0, "n"], [1273, 0, "e"], [1274, 0, "x"], [1275, 0, "t"], [1276, 0, "}"], [1277, 0, "("], [1278, 0, "A"], [1279, 0, ","], [1280, 0, " "], [1281, 0, "\\"], [1282, 0, "m"], [1283, 0, "a"], [1284, 0, "t"], [1285, 0, "h"], [1286, 0, "i"], [1287, 0, "t"], [1288, 0, "{"], [1289, 0, "i"], [1290, 0, "d"], [1291, 0, "}"], [1292, 0, ")"], [1293, 0, " "], [1294, 0, "="], [1295, 0, " "], [1294, 0, "&"], [1296, 0, "&"], [1298, 0, "n"], [1299, 0, " "], [1300, 0, "\\"], [1301, 0, "q"], [1302, 0, "u"], [1303, 0, "a"], [1304, 0, "t"], [1304, 1], [1304, 0, "d"], [1305, 0, " "], [1306, 0, "\\"], [1307, 0, "m"], [1308, 0, "a"], [1309, 0, "t"], [1310, 0, "h"], [1311, 0, "r"], [1312, 0, "m"], [1313, 0, "{"], [1314, 0, "s"], [1315, 0, "u"], [1316, 0, "c"], [1317, 0, "h"], [1318, 0, " "], [1319, 0, "t"], [1320, 0, "h"], [1321, 0, "a"], [1322, 0, "t"], [1323, 0, "}"], [1324, 0, " "], [1325, 0, "\\"], [1326, 0, ";"], [1327, 0, " "], [1328, 0, "("], [1329, 0, "\\"], [1330, 0, "m"], [1331, 0, "a"], [1332, 0, "t"], [1333, 0, "h"], [1334, 0, "i"], [1335, 0, "t"], [1336, 0, "{"], [1337, 0, "i"], [1338, 0, "d"], [1339, 0, "}"], [1340, 0, ","], [1341, 0, " "], [1342, 0, "\\"], [1343, 0, "v"], [1344, 0, "i"], [1345, 0, "s"], [1346, 0, "i"], [1347, 0, "b"], [1348, 0, "l"], [1349, 0, "e"], [1350, 0, "s"], [1351, 0, "p"], [1352, 0, "a"], [1353, 0, "c"], [1354, 0, "e"], [1355, 0, ","], [1356, 0, " "], [1357, 0, "n"], [1358, 0, ")"], [1359, 0, " "], [1360, 0, "\\"], [1361, 0, "i"], [1362, 0, "n"], [1363, 0, " "], [1364, 0, "A"], [1343, 0, "t"], [1344, 0, "e"], [1345, 0, "x"], [1346, 0, "t"], [1260, 1], [1259, 1], [1258, 1], [1257, 1], [1256, 1], [1255, 1], [1254, 1], [1253, 1], [1253, 0, "a"], [1254, 0, "l"], [1255, 0, "i"], [1256, 0, "g"], [1257, 0, "n"], [1379, 1], [1378, 1], [1377, 1], [1376, 1], [1375, 1], [1374, 1], [1373, 1], [1372, 1], [1372, 0, "a"], [1373, 0, "l"], [1374, 0, "i"], [1375, 0, "g"], [1376, 0, "n"], [75, 0, "\n"], [76, 0, "\\"], [77, 0, "u"], [78, 0, "s"], [79, 0, "e"], [80, 0, "p"], [81, 0, "a"], [82, 0, "c"], [83, 0, "k"], [84, 0, "a"], [85, 0, "g"], [86, 0, "e"], [87, 0, "{"], [88, 0, "a"], [89, 0, "m"], [90, 0, "s"], [91, 0, "m"], [92, 0, "a"], [93, 0, "t"], [94, 0, "h"], [95, 0, "}"], [96, 0, " "], [97, 0, "%"], [98, 0, " "], [99, 0, "a"], [100, 0, "l"], [101, 0, "i"], [102, 0, "g"], [103, 0, "n"], [104, 0, " "], [105, 0, "e"], [106, 0, "n"], [107, 0, "v"], [107, 1], [106, 1], [106, 0, "n"], [107, 0, "v"], [108, 0, "i"], [109, 0, "r"], [110, 0, "o"], [111, 0, "n"], [112, 0, "m"], [113, 0, "e"], [114, 0, "n"], [115, 0, "t"], [1334, 1], [1349, 1], [1348, 1], [1347, 1], [1346, 1], [1345, 1], [1344, 1], [1344, 0, "t"], [1345, 0, "e"], [1346, 0, "x"], [1347, 0, "t"], [1361, 1], [1361, 0, "q"], [1362, 0, "u"], [1363, 0, "a"], [1364, 0, "d"], [1407, 0, "\n"], [1408, 0, "\\"], [1409, 0, "m"], [1410, 0, "a"], [1411, 0, "t"], [1412, 0, "h"], [1413, 0, "r"], [1414, 0, "m"], [1415, 0, "{"], [1416, 0, "v"], [1417, 0, "a"], [1418, 0, "l"], [1419, 0, "}"], [1420, 0, "("], [1421, 0, "A"], [1422, 0, ","], [1423, 0, " "], [1424, 0, "\\"], [1425, 0, "m"], [1426, 0, "a"], [1427, 0, "t"], [1428, 0, "h"], [1429, 0, "i"], [1430, 0, "t"], [1431, 0, "{"], [1432, 0, "i"], [1433, 0, "d"], [1434, 0, "}"], [1435, 0, ")"], [1436, 0, " "], [1437, 0, " "], [1438, 0, "&"], [1439, 0, "="], [1440, 0, " "], [1441, 0, "n"], [1442, 0, " "], [1443, 0, "\\"], [1444, 0, "q"], [1445, 0, "u"], [1446, 0, "a"], [1447, 0, "d"], [1448, 0, " "], [1449, 0, "\\"], [1450, 0, "t"], [1451, 0, "e"], [1452, 0, "x"], [1453, 0, "t"], [1454, 0, "{"], [1455, 0, "s"], [1456, 0, "u"], [1457, 0, "c"], [1458, 0, "h"], [1459, 0, " "], [1460, 0, "t"], [1461, 0, "h"], [1462, 0, "a"], [1463, 0, "t"], [1464, 0, "}"], [1465, 0, " "], [1466, 0, "\\"], [1467, 0, "q"], [1468, 0, "u"], [1469, 0, "a"], [1470, 0, "d"], [1471, 0, " "], [1472, 0, "("], [1473, 0, "\\"], [1474, 0, "m"], [1475, 0, "a"], [1476, 0, "t"], [1477, 0, "h"], [1478, 0, "i"], [1479, 0, "d"], [1480, 0, "{"], [1481, 0, "i"], [1482, 0, "d"], [1483, 0, "}"], [1484, 0, ","], [1485, 0, " "], [1441, 1], [1441, 0, "v"], [1486, 0, "v"], [1487, 0, ","], [1488, 0, " "], [1489, 0, "\\"], [1490, 0, "t"], [1491, 0, "e"], [1492, 0, "x"], [1493, 0, "t"], [1494, 0, "v"], [1495, 0, "i"], [1496, 0, "s"], [1497, 0, "i"], [1498, 0, "s"], [1498, 1], [1498, 0, "b"], [1499, 0, "l"], [1500, 0, "e"], [1501, 0, "s"], [1502, 0, "p"], [1503, 0, "a"], [1504, 0, "c"], [1505, 0, "e"], [1506, 0, ")"], [1507, 0, " "], [1508, 0, "\\"], [1509, 0, "i"], [1510, 0, "n"], [1511, 0, " "], [1512, 0, "A"], [1407, 0, " "], [1408, 0, "\\"], [1409, 0, "\\"], [325, 0, "\n"], [326, 0, "\n"], [327, 0, "%"], [328, 0, " "], [329, 0, "L"], [330, 0, "i"], [331, 0, "k"], [332, 0, "e"], [333, 0, " "], [334, 0, "\\"], [335, 0, "t"], [336, 0, "e"], [337, 0, "x"], [338, 0, "t"], [339, 0, "v"], [340, 0, "i"], [341, 0, "s"], [342, 0, "i"], [343, 0, "b"], [344, 0, "l"], [345, 0, "e"], [346, 0, "s"], [347, 0, "p"], [348, 0, "a"], [349, 0, "c"], [350, 0, "e"], [329, 0, "P"], [330, 0, "l"], [331, 0, "a"], [332, 0, "c"], [333, 0, "e"], [334, 0, " "], [334, 1], [334, 0, "h"], [335, 0, "j"], [336, 0, "o"], [336, 1], [335, 1], [335, 0, "o"], [336, 0, "l"], [337, 0, "d"], [338, 0, "e"], [339, 0, "r"], [340, 0, " "], [341, 0, "c"], [342, 0, "h"], [343, 0, "a"], [344, 0, "r"], [345, 0, "a"], [346, 0, "c"], [347, 0, "t"], [348, 0, "e"], [349, 0, "r"], [350, 0, " "], [351, 1], [351, 0, "l"], [373, 0, ","], [374, 0, " "], [375, 0, "b"], [376, 0, "u"], [377, 0, "t"], [378, 0, " "], [379, 0, "w"], [380, 0, "o"], [381, 0, "r"], [382, 0, "k"], [383, 0, "s"], [384, 0, " "], [385, 0, "i"], [386, 0, "n"], [387, 0, " "], [388, 0, "m"], [389, 0, "a"], [390, 0, "t"], [391, 0, "h"], [392, 0, " "], [393, 0, "m"], [394, 0, "o"], [395, 0, "d"], [396, 0, "e"], [397, 0, "\n"], [398, 0, "\\"], [399, 0, "n"], [400, 0, "e"], [401, 0, "w"], [402, 0, "c"], [403, 0, "o"], [404, 0, "m"], [405, 0, "m"], [406, 0, "a"], [407, 0, "n"], [408, 0, "d"], [409, 0, "\\"], [410, 0, "p"], [411, 0, "l"], [412, 0, "a"], [413, 0, "c"], [414, 0, "e"], [415, 0, "h"], [416, 0, "o"], [417, 0, "l"], [418, 0, "d"], [419, 0, "e"], [420, 0, "r"], [421, 0, "{"], [422, 0, "%"], [423, 0, "\n"], [424, 0, " "], [425, 0, " "], [426, 0, "\\"], [427, 0, "m"], [428, 0, "a"], [429, 0, "k"], [430, 0, "e"], [431, 0, "b"], [432, 0, "o"], [433, 0, "x"], [434, 0, "["], [435, 0, "0"], [436, 0, "."], [437, 0, "5"], [438, 0, "e"], [439, 0, "m"], [440, 0, "]"], [441, 0, "{"], [442, 0, "%"], [443, 0, "\n"], [444, 0, " "], [445, 0, " "], [446, 0, " "], [447, 0, " "], [448, 0, "\\"], [449, 0, "k"], [450, 0, "e"], [451, 0, "r"], [452, 0, "n"], [453, 0, "0"], [454, 0, "."], [454, 1], [453, 1], [452, 1], [452, 0, "n"], [453, 0, "."], [454, 0, "0"], [455, 0, "7"], [456, 0, "e"], [457, 0, "m"], [458, 0, "\n"], [459, 0, " "], [460, 0, " "], [461, 0, " "], [462, 0, " "], [463, 0, "\\"], [464, 0, "v"], [465, 0, "r"], [466, 0, "u"], [467, 0, "l"], [468, 0, "e"], [469, 0, " "], [470, 0, "h"], [471, 0, "e"], [472, 0, "i"], [473, 0, "g"], [474, 0, "h"], [475, 0, "t"], [476, 0, "."], [477, 0, "3"], [478, 0, "e"], [479, 0, "x"], [480, 0, "\n"], [481, 0, " "], [482, 0, " "], [483, 0, " "], [484, 0, " "], [485, 0, "\\"], [486, 0, "h"], [487, 0, "r"], [488, 0, "u"], [489, 0, "l"], [490, 0, "e"], [491, 0, "f"], [492, 0, "i"], [493, 0, "l"], [494, 0, "l"], [495, 0, "\n"], [496, 0, " "], [497, 0, " "], [498, 0, " "], [499, 0, " "], [500, 0, "\\"], [501, 0, "v"], [502, 0, "r"], [503, 0, "u"], [504, 0, "l"], [505, 0, "e"], [506, 0, " "], [507, 0, "h"], [508, 0, "e"], [509, 0, "i"], [510, 0, "g"], [511, 0, "h"], [512, 0, "t"], [513, 0, "."], [514, 0, "3"], [515, 0, "e"], [516, 0, "x"], [517, 0, "\n"], [518, 0, " "], [519, 0, " "], [520, 0, " "], [521, 0, " "], [522, 0, " "], [522, 1], [522, 0, "\\"], [523, 0, "k"], [524, 0, "e"], [525, 0, "r"], [526, 0, "n"], [527, 0, "."], [528, 0, "0"], [529, 0, "7"], [530, 0, "e"], [531, 0, "m"], [532, 0, "\n"], [533, 0, " "], [534, 0, " "], [535, 0, "}"], [536, 0, "%"], [537, 0, "\n"], [538, 0, "}"], [1722, 1], [1721, 1], [1720, 1], [1719, 1], [1718, 1], [1717, 1], [1716, 1], [1715, 1], [1714, 1], [1713, 1], [1712, 1], [1711, 1], [1710, 1], [1709, 1], [1708, 1], [1707, 1], [1707, 0, "p"], [1708, 0, "l"], [1709, 0, "a"], [1710, 0, "c"], [1711, 0, "e"], [1712, 0, "h"], [1713, 0, "o"], [1714, 0, "l"], [1715, 0, "d"], [1716, 0, "e"], [1717, 0, "r"], [1610, 1], [1609, 1], [1608, 1], [1607, 1], [1606, 1], [1605, 1], [1604, 1], [1603, 1], [1602, 1], [1601, 1], [1600, 1], [1599, 1], [1598, 1], [1597, 1], [1596, 1], [1595, 1], [1595, 0, "p"], [1596, 0, "l"], [1597, 0, "a"], [1598, 0, "c"], [1599, 0, "e"], [1600, 0, "h"], [1601, 0, "o"], [1602, 0, "l"], [1603, 0, "d"], [1604, 0, "e"], [1605, 0, "r"], [1691, 1], [1691, 0, "t"], [1692, 0, "q"], [1692, 1], [1557, 0, "&"], [1662, 0, "&"], [1612, 0, "&"], [1718, 0, "&"], [437, 1], [437, 0, "8"], [1557, 1], [1662, 1], [1573, 0, "&"], [1679, 0, "&"], [437, 1], [437, 0, "7"], [1573, 1], [1678, 1], [1716, 1], [1611, 1], [1116, 1], [1115, 1], [1114, 1], [1113, 1], [1112, 1], [1111, 1], [1110, 1], [1109, 1], [1108, 1], [1107, 1], [1106, 1], [1105, 1], [1104, 1], [1103, 1], [1103, 0, "p"], [1104, 0, "a"], [1105, 0, "r"], [1106, 0, "t"], [1107, 0, "i"], [1108, 0, "a"], [1109, 0, "l"], [1110, 0, " "], [1111, 0, "f"], [1112, 0, "u"], [1113, 0, "n"], [1114, 0, "c"], [1115, 0, "t"], [1116, 0, "i"], [1117, 0, "o"], [1118, 0, "n"], [1119, 0, " "], [1120, 0, "f"], [1121, 0, "r"], [1122, 0, "o"], [1123, 0, "m"], [1124, 0, " "], [1125, 0, "a"], [1126, 0, "n"], [1127, 0, " "], [1128, 0, "I"], [1129, 0, "t"], [1130, 0, "e"], [1131, 0, "m"], [1132, 0, "I"], [1133, 0, "D"], [1136, 1], [1147, 0, "$"], [1148, 0, " "], [1149, 0, "t"], [1150, 0, "o"], [1151, 0, " "], [1152, 0, "a"], [1153, 0, " "], [1154, 0, "p"], [1155, 0, "a"], [1156, 0, "i"], [1157, 0, "r"], [1158, 0, " "], [1159, 0, "o"], [1160, 0, "f"], [1161, 0, " "], [1163, 1], [1162, 1], [1162, 0, "$"], [1163, 0, "("], [1275, 1], [1274, 1], [1273, 1], [1272, 1], [1271, 1], [1270, 1], [1269, 1], [1268, 1], [1267, 1], [1266, 1], [1265, 1], [1264, 1], [1263, 1], [1262, 1], [1261, 1], [1260, 1], [1259, 1], [1258, 1], [1257, 1], [1256, 1], [1255, 1], [1254, 1], [1253, 1], [1252, 1], [1251, 1], [1250, 1], [1249, 1], [1248, 1], [1247, 1], [1133, 1], [1132, 1], [1131, 1], [1130, 1], [1129, 1], [1128, 1], [1127, 1], [1126, 1], [1125, 1], [1124, 1], [1143, 1], [1142, 1], [1146, 0, "s"], [1200, 1], [1199, 1], [1198, 1], [1197, 1], [1196, 1], [1196, 0, "l"], [1197, 0, "i"], [1198, 0, "s"], [1199, 0, "t"], [1234, 1], [1233, 1], [1232, 1], [1231, 1], [1230, 1], [1230, 0, "a"], [1231, 0, "s"], [1232, 0, " "], [1233, 0, "f"], [1234, 0, "o"], [1235, 0, "l"], [1236, 0, "l"], [1237, 0, "o"], [1238, 0, "w"], [1239, 0, "s"], [1261, 1], [1269, 0, "("], [1267, 1], [1267, 0, " "], [1268, 0, "\\"], [1269, 0, "m"], [1270, 0, "a"], [1271, 0, "p"], [1272, 0, "s"], [1273, 0, "t"], [1274, 0, "o"], [1266, 1], [1265, 1], [1264, 1], [1263, 1], [1262, 1], [1262, 0, "m"], [1263, 0, "a"], [1264, 0, "t"], [1265, 0, "h"], [1266, 0, "s"], [1267, 0, "f"], [1268, 0, "{"], [1269, 0, "h"], [1270, 0, "e"], [1271, 0, "a"], [1272, 0, "d"], [1273, 0, "}"], [1295, 1], [1294, 1], [1293, 1], [1292, 1], [1291, 1], [1291, 0, "m"], [1292, 0, "a"], [1293, 0, "t"], [1294, 0, "h"], [1295, 0, "s"], [1296, 0, "f"], [1297, 0, "{"], [1298, 0, "t"], [1299, 0, "a"], [1300, 0, "i"], [1301, 0, "l"], [1302, 0, "}"], [1322, 1], [1321, 1], [1320, 1], [1319, 1], [1318, 1], [1318, 0, "m"], [1319, 0, "a"], [1320, 0, "t"], [1321, 0, "h"], [1322, 0, "s"], [1323, 0, "f"], [1324, 0, "{"], [1325, 0, "h"], [1326, 0, "e"], [1327, 0, "a"], [1328, 0, "d"], [1329, 0, "}"], [1331, 0, " "], [1332, 0, "a"], [1333, 0, "n"], [1334, 0, "d"], [1335, 0, " "], [1336, 0, "$"], [1337, 0, "\\"], [1338, 0, "m"], [1339, 0, "a"], [1340, 0, "t"], [1341, 0, "h"], [1342, 0, "s"], [1343, 0, "f"], [1344, 0, "{"], [1345, 0, "t"], [1346, 0, "a"], [1347, 0, "i"], [1348, 0, "l"], [1349, 0, "}"], [1350, 0, "$"], [1353, 1], [1352, 1], [1351, 1], [1353, 0, "r"], [1354, 0, "e"], [1366, 0, "s"], [1385, 0, " "], [1386, 0, "a"], [1387, 0, "n"], [1388, 0, "d"], [1389, 0, " "], [1390, 0, "t"], [1391, 0, "a"], [1392, 0, "i"], [1393, 0, "l"], [1407, 0, " "], [1408, 0, "r"], [1409, 0, "e"], [1410, 0, "s"], [1411, 0, "p"], [1412, 0, "e"], [1413, 0, "c"], [1414, 0, "t"], [1415, 0, "i"], [1416, 0, "v"], [1417, 0, "e"], [1418, 0, "l"], [1419, 0, "y"], [1458, 1], [1457, 1], [1456, 1], [1455, 1], [1454, 1], [1453, 1], [1452, 1], [1451, 1], [1450, 1], [1449, 1], [1448, 1], [1447, 1], [1446, 1], [1445, 1], [1444, 1], [1443, 1], [1442, 1], [1441, 1], [1440, 1], [1439, 1], [1438, 1], [1437, 1], [1436, 1], [1435, 1], [1434, 1], [1433, 1], [1432, 1], [1431, 1], [1430, 1], [1429, 1], [1428, 1], [1427, 1], [1426, 1], [1425, 1], [1424, 1], [1423, 1], [1422, 1], [1421, 1], [1420, 1], [1434, 1], [1433, 1], [1433, 0, "d"], [1434, 0, "e"], [1435, 0, "n"], [1436, 0, "o"], [1437, 0, "t"], [1438, 0, "e"], [1439, 0, "s"], [1763, 1], [1762, 1], [1761, 1], [1760, 1], [1759, 1], [1758, 1], [1757, 1], [1756, 1], [1755, 1], [1754, 1], [1753, 1], [1752, 1], [1751, 1], [1750, 1], [1749, 1], [1748, 1], [1747, 1], [1746, 1], [1745, 1], [1744, 1], [1743, 1], [1742, 1], [1741, 1], [1740, 1], [1739, 1], [1738, 1], [1737, 1], [1736, 1], [1735, 1], [1734, 1], [1733, 1], [1732, 1], [1731, 1], [1730, 1], [1729, 1], [1728, 1], [1727, 1], [1726, 1], [1725, 1], [1724, 1], [1723, 1], [1722, 1], [1721, 1], [1720, 1], [1719, 1], [1718, 1], [1717, 1], [1716, 1], [1715, 1], [1714, 1], [1713, 1], [1712, 1], [1711, 1], [1710, 1], [1709, 1], [1708, 1], [1707, 1], [1706, 1], [1705, 1], [1704, 1], [1703, 1], [1702, 1], [1701, 1], [1700, 1], [1699, 1], [1698, 1], [1697, 1], [1696, 1], [1695, 1], [1694, 1], [1693, 1], [1692, 1], [1691, 1], [1690, 1], [1689, 1], [1688, 1], [1687, 1], [1686, 1], [1685, 1], [1684, 1], [1683, 1], [1682, 1], [1681, 1], [1680, 1], [1679, 1], [1678, 1], [1677, 1], [1676, 1], [1675, 1], [1674, 1], [1673, 1], [1672, 1], [1671, 1], [1670, 1], [1669, 1], [1668, 1], [1667, 1], [1666, 1], [1665, 1], [1664, 1], [1663, 1], [1662, 1], [1661, 1], [1660, 1], [1659, 1], [1658, 1], [1657, 1], [1656, 1], [1655, 1], [1654, 1], [1653, 1], [1652, 1], [1651, 1], [1650, 1], [1649, 1], [1648, 1], [1647, 1], [1646, 1], [1645, 1], [1644, 1], [1643, 1], [1642, 1], [1641, 1], [1640, 1], [1639, 1], [1638, 1], [1637, 1], [1636, 1], [1635, 1], [1634, 1], [1633, 1], [1632, 1], [1631, 1], [1630, 1], [1629, 1], [1628, 1], [1627, 1], [1626, 1], [1625, 1], [1624, 1], [1623, 1], [1622, 1], [1621, 1], [1620, 1], [1619, 1], [1618, 1], [1617, 1], [1616, 1], [1615, 1], [1614, 1], [1613, 1], [1612, 1], [1611, 1], [1610, 1], [1609, 1], [1608, 1], [1607, 1], [1606, 1], [1605, 1], [1604, 1], [1603, 1], [1602, 1], [1601, 1], [1600, 1], [1599, 1], [1598, 1], [1597, 1], [1596, 1], [1595, 1], [1594, 1], [1593, 1], [1592, 1], [1591, 1], [1590, 1], [1589, 1], [1588, 1], [1587, 1], [1586, 1], [1585, 1], [1584, 1], [1583, 1], [1582, 1], [1581, 1], [1580, 1], [1579, 1], [1578, 1], [1577, 1], [1576, 1], [1575, 1], [1574, 1], [1573, 1], [1572, 1], [1571, 1], [1570, 1], [1569, 1], [1568, 1], [1567, 1], [1566, 1], [1565, 1], [1564, 1], [1563, 1], [1562, 1], [1561, 1], [1560, 1], [1559, 1], [1558, 1], [1557, 1], [1556, 1], [1555, 1], [1554, 1], [1553, 1], [1552, 1], [1551, 1], [1550, 1], [1549, 1], [1548, 1], [1547, 1], [1546, 1], [1545, 1], [1544, 1], [1543, 1], [1542, 1], [1541, 1], [1540, 1], [1539, 1], [1538, 1], [1537, 1], [1536, 1], [1535, 1], [1534, 1], [1533, 1], [1532, 1], [1531, 1], [1530, 1], [1529, 1], [1528, 1], [1527, 1], [1526, 1], [1525, 1], [1524, 1], [1523, 1], [1522, 1], [1521, 1], [1520, 1], [1519, 1], [1518, 1], [1517, 1], [1516, 1], [1515, 1], [1514, 1], [1513, 1], [1512, 1], [1511, 1], [1510, 1], [1509, 1], [1508, 1], [1507, 1], [1506, 1], [1505, 1], [1504, 1], [1503, 1], [1502, 1], [1501, 1], [1500, 1], [1499, 1], [1498, 1], [1497, 1], [1496, 1], [1495, 1], [1494, 1], [1493, 1], [1492, 1], [1491, 1], [1490, 1], [1489, 1], [1488, 1], [1487, 1], [1486, 1], [1485, 1], [1484, 1], [1483, 1], [1482, 1], [1481, 1], [1480, 1], [1479, 1], [1478, 1], [1477, 1], [1476, 1], [1475, 1], [1474, 1], [1473, 1], [1472, 1], [1471, 1], [1470, 1], [1469, 1], [1468, 1], [1467, 1], [1466, 1], [1239, 1], [1238, 1], [1237, 1], [1236, 1], [1235, 1], [1234, 1], [1233, 1], [1233, 0, "a"], [1234, 0, " "], [1235, 0, "f"], [1236, 0, "u"], [1237, 0, "n"], [1238, 0, "c"], [1239, 0, "t"], [1240, 0, "i"], [1241, 0, "o"], [1242, 0, "n"], [1243, 0, " "], [1244, 0, "w"], [1245, 0, "h"], [1246, 0, "o"], [1247, 0, "s"], [1248, 0, "e"], [1249, 0, " "], [1250, 0, "d"], [1251, 0, "o"], [1252, 0, "m"], [1253, 0, "a"], [1254, 0, "i"], [1255, 0, "n"], [1256, 0, " "], [1257, 0, "i"], [1258, 0, "s"], [1259, 0, " "], [1260, 0, "t"], [1261, 0, "h"], [1262, 0, "e"], [1263, 0, " "], [1264, 0, "s"], [1265, 0, "i"], [1266, 0, "n"], [1267, 0, "g"], [1268, 0, "l"], [1269, 0, "e"], [1270, 0, " "], [1271, 0, "v"], [1272, 0, "a"], [1273, 0, "l"], [1274, 0, "u"], [1275, 0, "e"], [1276, 0, " "], [1277, 0, "$"], [1278, 0, "\\"], [1279, 0, "m"], [1280, 0, "a"], [1281, 0, "t"], [1282, 0, "h"], [1283, 0, "i"], [1284, 0, "t"], [1285, 0, "{"], [1286, 0, "h"], [1287, 0, "e"], [1288, 0, "a"], [1289, 0, "d"], [1290, 0, "}"], [1291, 0, "$"], [1284, 1], [1283, 1], [1283, 0, "s"], [1284, 0, "f"], [1518, 0, "W"], [1519, 0, "e"], [1520, 0, " "], [1521, 0, "u"], [1522, 0, "s"], [1523, 0, "e"], [1524, 0, " "], [1525, 0, "t"], [1526, 0, "h"], [1527, 0, "e"], [1528, 0, " "], [1529, 0, "n"], [1530, 0, "o"], [1531, 0, "t"], [1532, 0, "a"], [1533, 0, "t"], [1534, 0, "i"], [1535, 0, "o"], [1536, 0, "n"], [1537, 0, " "], [1538, 0, "$"], [1539, 0, "A"], [1540, 0, "\\"], [1541, 0, "["], [1542, 0, "a"], [1543, 0, " "], [1544, 0, "\\"], [1545, 0, "m"], [1546, 0, "a"], [1547, 0, "p"], [1548, 0, "s"], [1549, 0, "t"], [1550, 0, "o"], [1551, 0, " "], [1552, 0, "("], [1553, 0, "b"], [1554, 0, ","], [1555, 0, " "], [1556, 0, "c"], [1557, 0, ")"], [1558, 0, "\\"], [1559, 0, "]"], [1560, 0, "$"], [1561, 0, " "], [1562, 0, "t"], [1563, 0, "o"], [1564, 0, " "], [1565, 0, "d"], [1566, 0, "e"], [1567, 0, "n"], [1568, 0, "o"], [1569, 0, "t"], [1570, 0, "e"], [1571, 0, " "], [1572, 0, "a"], [1573, 0, " "], [1574, 0, "f"], [1575, 0, "u"], [1576, 0, "n"], [1577, 0, "c"], [1578, 0, "t"], [1579, 0, "i"], [1580, 0, "o"], [1581, 0, "n"], [1582, 0, " "], [1583, 0, "i"], [1584, 0, "d"], [1585, 0, "e"], [1586, 0, "n"], [1587, 0, "t"], [1588, 0, "i"], [1589, 0, "c"], [1590, 0, "a"], [1591, 0, "l"], [1592, 0, " "], [1593, 0, "t"], [1594, 0, "o"], [1595, 0, " "], [1596, 0, "$"], [1597, 0, "A"], [1598, 0, "$"], [1599, 0, ","], [1600, 0, " "], [1601, 0, "e"], [1602, 0, "x"], [1603, 0, "c"], [1604, 0, "e"], [1605, 0, "p"], [1606, 0, "t"], [1607, 0, " "], [1608, 0, "t"], [1609, 0, "h"], [1610, 0, "a"], [1611, 0, "t"], [1612, 0, " "], [1613, 0, "$"], [1614, 0, "A"], [1615, 0, "("], [1616, 0, "a"], [1617, 0, ")"], [1618, 0, "="], [1619, 0, "("], [1620, 0, "b"], [1621, 0, ","], [1622, 0, "c"], [1623, 0, ")"], [1624, 0, "$"], [1625, 0, "."], [1558, 1], [1540, 1], [1625, 0, "\n"], [1626, 0, "\n"], [1626, 0, "T"], [1627, 0, "h"], [1628, 0, "e"], [1629, 0, " "], [1630, 0, "o"], [1631, 0, "p"], [1632, 0, "e"], [1633, 0, "r"], [1634, 0, "a"], [1635, 0, "t"], [1636, 0, "i"], [1637, 0, "o"], [1638, 0, "n"], [1639, 0, " "], [1640, 0, "$"], [1641, 0, "\\"], [1642, 0, "m"], [1643, 0, "a"], [1644, 0, "t"], [1645, 0, "h"], [1646, 0, "s"], [1647, 0, "f"], [1648, 0, "{"], [1649, 0, "i"], [1650, 0, "n"], [1651, 0, "s"], [1652, 0, "e"], [1653, 0, "r"], [1654, 0, "t"], [1655, 0, "}"], [1656, 0, "("], [1657, 0, "\\"], [1658, 0, "m"], [1659, 0, "a"], [1660, 0, "t"], [1661, 0, "h"], [1662, 0, "i"], [1663, 0, "t"], [1664, 0, "{"], [1665, 0, "i"], [1666, 0, "d"], [1667, 0, "}"], [1668, 0, ","], [1669, 0, " "], [1670, 0, "\\"], [1671, 0, "m"], [1672, 0, "a"], [1673, 0, "t"], [1674, 0, "h"], [1675, 0, "i"], [1676, 0, "t"], [1677, 0, "{"], [1678, 0, "p"], [1679, 0, "r"], [1680, 0, "e"], [1681, 0, "v"], [1682, 0, "}"], [1683, 0, " "], [1683, 1], [1683, 0, ","], [1684, 0, " "], [1685, 0, "v"], [1686, 0, ")"], [1687, 0, "$"], [1688, 0, " "], [1689, 0, "i"], [1690, 0, "s"], [1691, 0, " "], [1692, 0, "a"], [1693, 0, "n"], [1694, 0, " "], [1695, 0, "i"], [1696, 0, "n"], [1697, 0, "s"], [1698, 0, "t"], [1699, 0, "r"], [1700, 0, "u"], [1701, 0, "c"], [1702, 0, "t"], [1703, 0, "i"], [1704, 0, "o"], [1705, 0, "n"], [1706, 0, " "], [1707, 0, "t"], [1708, 0, "o"], [1709, 0, " "], [1710, 0, "i"], [1711, 0, "n"], [1712, 0, "s"], [1713, 0, "e"], [1714, 0, "r"], [1715, 0, "t"], [1716, 0, " "], [1717, 0, "t"], [1718, 0, "h"], [1719, 0, "e"], [1720, 0, " "], [1721, 0, "v"], [1722, 0, "a"], [1723, 0, "l"], [1724, 0, "u"], [1725, 0, "e"], [1726, 0, " "], [1727, 0, "$"], [1728, 0, "v"], [1729, 0, "$"], [1730, 0, " "], [1731, 0, "i"], [1732, 0, "n"], [1733, 0, "t"], [1734, 0, "o"], [1735, 0, " "], [1736, 0, "a"], [1737, 0, " "], [1738, 0, "l"], [1739, 0, "i"], [1740, 0, "s"], [1741, 0, "t"], [1742, 0, " "], [1743, 0, "a"], [1744, 0, "t"], [1745, 0, " "], [1746, 0, "a"], [1747, 0, " "], [1748, 0, "p"], [1749, 0, "o"], [1750, 0, "s"], [1751, 0, "i"], [1752, 0, "t"], [1753, 0, "i"], [1754, 0, "o"], [1755, 0, "n"], [1756, 0, " "], [1757, 0, "f"], [1758, 0, "o"], [1759, 0, "l"], [1760, 0, "l"], [1761, 0, "o"], [1762, 0, "w"], [1763, 0, "i"], [1764, 0, "n"], [1765, 0, "g"], [1766, 0, " "], [1767, 0, "t"], [1768, 0, "h"], [1769, 0, "e"], [1770, 0, " "], [1771, 0, "e"], [1772, 0, "x"], [1773, 0, "i"], [1774, 0, "s"], [1775, 0, "t"], [1776, 0, "i"], [1777, 0, "n"], [1778, 0, "g"], [1779, 0, " "], [1780, 0, "l"], [1781, 0, "i"], [1782, 0, "s"], [1783, 0, "t"], [1784, 0, " "], [1785, 0, "e"], [1786, 0, "l"], [1787, 0, "e"], [1788, 0, "m"], [1789, 0, "e"], [1790, 0, "n"], [1791, 0, "t"], [1792, 0, " "], [1793, 0, "w"], [1794, 0, "i"], [1795, 0, "t"], [1796, 0, "h"], [1797, 0, " "], [1798, 0, "I"], [1799, 0, "D"], [1800, 0, " "], [1801, 0, "$"], [1802, 0, "\\"], [1803, 0, "m"], [1804, 0, "a"], [1805, 0, "t"], [1806, 0, "h"], [1807, 0, "i"], [1808, 0, "t"], [1809, 0, "{"], [1810, 0, "p"], [1811, 0, "r"], [1812, 0, "e"], [1813, 0, "v"], [1814, 0, "}"], [1815, 0, "$"], [1816, 0, " "], [1817, 0, "("], [1817, 1], [1816, 1], [1816, 0, "."], [1817, 0, " "], [1818, 0, "A"], [1819, 0, "n"], [1820, 0, " "], [1821, 0, "i"], [1822, 0, "n"], [1823, 0, "s"], [1824, 0, "e"], [1825, 0, "r"], [1826, 0, "t"], [1827, 0, "i"], [1828, 0, "o"], [1829, 0, "n"], [1830, 0, " "], [1831, 0, "a"], [1832, 0, "t"], [1833, 0, " "], [1834, 0, "t"], [1835, 0, "h"], [1836, 0, "e"], [1837, 0, " "], [1838, 0, "h"], [1839, 0, "e"], [1840, 0, "a"], [1841, 0, "d"], [1842, 0, " "], [1843, 0, "o"], [1844, 0, "f"], [1845, 0, " "], [1846, 0, "t"], [1847, 0, "h"], [1848, 0, "e"], [1849, 0, " "], [1850, 0, "l"], [1851, 0, "i"], [1852, 0, "s"], [1853, 0, "t"], [1854, 0, " "], [1855, 0, "i"], [1856, 0, "s"], [1857, 0, " "], [1858, 0, "e"], [1859, 0, "x"], [1860, 0, "p"], [1861, 0, "r"], [1862, 0, "e"], [1863, 0, "s"], [1864, 0, "s"], [1865, 0, "e"], [1866, 0, "d"], [1867, 0, " "], [1868, 0, "a"], [1869, 0, "s"], [1870, 0, " "], [1871, 0, "$"], [1872, 0, "\\"], [1873, 0, "m"], [1874, 0, "a"], [1875, 0, "t"], [1876, 0, "h"], [1877, 0, "s"], [1878, 0, "f"], [1879, 0, "{"], [1880, 0, "i"], [1881, 0, "n"], [1882, 0, "s"], [1883, 0, "e"], [1884, 0, "r"], [1885, 0, "t"], [1886, 0, "}"], [1887, 0, "("], [1888, 0, "\\"], [1889, 0, "m"], [1890, 0, "a"], [1891, 0, "t"], [1892, 0, "h"], [1893, 0, "i"], [1894, 0, "d"], [1894, 1], [1894, 0, "t"], [1895, 0, "{"], [1896, 0, "i"], [1897, 0, "d"], [1898, 0, "}"], [1899, 0, ","], [1900, 0, " "], [1901, 0, "\\"], [1902, 0, "m"], [1903, 0, "a"], [1904, 0, "t"], [1905, 0, "h"], [1906, 0, "s"], [1907, 0, "f"], [1908, 0, "{"], [1909, 0, "h"], [1910, 0, "e"], [1911, 0, "a"], [1912, 0, "d"], [1913, 0, "}"], [1914, 0, ","], [1915, 0, " "], [1916, 0, "v"], [1917, 0, ")"], [1918, 0, "$"], [1919, 0, "."], [1920, 0, " "], [1921, 0, "T"], [1922, 0, "h"], [1923, 0, "e"], [1924, 0, " "], [1925, 0, "$"], [1926, 0, "\\"], [1927, 0, "m"], [1928, 0, "a"], [1929, 0, "t"], [1930, 0, "h"], [1931, 0, "i"], [1932, 0, "t"], [1933, 0, "{"], [1934, 0, "i"], [1935, 0, "d"], [1936, 0, "}"], [1937, 0, "$"], [1938, 0, " "], [1939, 0, "i"], [1940, 0, "s"], [1941, 0, " "], [1942, 0, "t"], [1943, 0, "h"], [1944, 0, "e"], [1945, 0, " "], [1946, 0, "u"], [1947, 0, "n"], [1948, 0, "i"], [1949, 0, "q"], [1950, 0, "u"], [1951, 0, "e"], [1952, 0, " "], [1953, 0, "I"], [1954, 0, "D"], [1955, 0, " "], [1956, 0, "o"], [1957, 0, "f"], [1958, 0, " "], [1959, 0, "t"], [1960, 0, "h"], [1961, 0, "i"], [1962, 0, "s"], [1963, 0, " "], [1964, 0, "o"], [1965, 0, "p"], [1966, 0, "e"], [1967, 0, "r"], [1968, 0, "a"], [1969, 0, "t"], [1970, 0, "i"], [1971, 0, "o"], [1972, 0, "n"], [1973, 0, "."], [1974, 0, "\n"], [1975, 0, "\n"], [1976, 0, "T"], [1977, 0, "h"], [1978, 0, "e"], [1979, 0, " "], [1979, 1], [1978, 1], [1977, 1], [1976, 1], [1976, 0, "W"], [1977, 0, "h"], [1978, 0, "e"], [1979, 0, "n"], [1980, 0, " "], [1981, 0, "t"], [1982, 0, "h"], [1983, 0, "e"], [1984, 0, " "], [1985, 0, "o"], [1986, 0, "p"], [1987, 0, "e"], [1988, 0, "r"], [1989, 0, "a"], [1990, 0, "t"], [1991, 0, "i"], [1992, 0, "o"], [1993, 0, "n"], [1994, 0, " "], [1995, 0, "i"], [1996, 0, "s"], [1997, 0, " "], [1998, 0, "a"], [1999, 0, "p"], [2000, 0, "p"], [2001, 0, "l"], [2002, 0, "i"], [2003, 0, "e"], [2004, 0, "d"], [2005, 0, " "], [2006, 0, "t"], [2007, 0, "o"], [2008, 0, " "], [2009, 0, "a"], [2010, 0, " "], [2010, 1], [2009, 1], [2009, 0, "t"], [2010, 0, "h"], [2011, 0, "e"], [2012, 0, " "], [2013, 0, "l"], [2014, 0, "i"], [2015, 0, "s"], [2016, 0, "t"], [2017, 0, " "], [2018, 0, "s"], [2019, 0, "t"], [2020, 0, "a"], [2021, 0, "t"], [2022, 0, "e"], [2023, 0, " "], [2024, 0, "$"], [2025, 0, "A"], [2026, 0, "$"], [2027, 0, ","], [2028, 0, " "], [2029, 0, "i"], [2030, 0, "t"], [2031, 0, " "], [2032, 0, "p"], [2033, 0, "r"], [2034, 0, "o"], [2035, 0, "d"], [2036, 0, "u"], [2037, 0, "c"], [2038, 0, "e"], [2039, 0, "s"], [2040, 0, " "], [2041, 0, "a"], [2042, 0, " "], [2043, 0, "m"], [2044, 0, "o"], [2045, 0, "d"], [2046, 0, "i"], [2047, 0, "f"], [2048, 0, "i"], [2049, 0, "e"], [2050, 0, "d"], [2051, 0, " "], [2052, 0, "l"], [2053, 0, "i"], [2054, 0, "s"], [2055, 0, "t"], [2056, 0, " "], [2057, 0, "s"], [2058, 0, "t"], [2059, 0, "a"], [2060, 0, "t"], [2061, 0, "e"], [2062, 0, " "], [2063, 0, "$"], [2064, 0, "A"], [2065, 0, "^"], [2066, 0, "\\"], [2067, 0, "p"], [2068, 0, "r"], [2069, 0, "i"], [2070, 0, "m"], [2071, 0, "e"], [2072, 0, "$"], [2073, 0, " "], [2074, 0, "a"], [2075, 0, "s"], [2076, 0, " "], [2077, 0, "f"], [2078, 0, "o"], [2079, 0, "l"], [2080, 0, "l"], [2081, 0, "o"], [2082, 0, "w"], [2083, 0, "s"], [2084, 0, ":"], [2085, 0, "\n"], [2086, 0, "\\"], [2087, 0, "b"], [2088, 0, "e"], [2089, 0, "g"], [2090, 0, "i"], [2091, 0, "n"], [2092, 0, "{"], [2093, 0, "a"], [2094, 0, "l"], [2095, 0, "i"], [2096, 0, "g"], [2097, 0, "n"], [2098, 0, "&"], [2099, 0, "*"], [2099, 1], [2098, 1], [2098, 0, "*"], [2099, 0, "}"], [2100, 0, "\n"], [2101, 0, "\\"], [2102, 0, "e"], [2103, 0, "n"], [2104, 0, "d"], [2105, 0, "{"], [2106, 0, "a"], [2107, 0, "l"], [2108, 0, "i"], [2109, 0, "g"], [2110, 0, "n"], [2111, 0, "*"], [2112, 0, "&"], [2112, 1], [2112, 0, "}"], [2100, 0, "\n"], [2101, 0, "A"], [2102, 0, "^"], [2103, 0, "\\"], [2104, 0, "p"], [2105, 0, "r"], [2106, 0, "i"], [2107, 0, "m"], [2108, 0, "e"], [2109, 0, " "], [2110, 0, "="], [2111, 0, " "], [2112, 0, "\\"], [2113, 0, "m"], [2114, 0, "a"], [2115, 0, "t"], [2116, 0, "h"], [2117, 0, "r"], [2118, 0, "m"], [2119, 0, "{"], [2120, 0, "a"], [2121, 0, "p"], [2122, 0, "p"], [2123, 0, "l"], [2124, 0, "y"], [2125, 0, "}"], [2126, 0, "("], [2127, 0, "A"], [2128, 0, ","], [2129, 0, " "], [2130, 0, "\\"], [2131, 0, "m"], [2132, 0, "a"], [2133, 0, "t"], [2134, 0, "h"], [2135, 0, "s"], [2136, 0, "f"], [2137, 0, "{"], [2138, 0, "i"], [2139, 0, "n"], [2140, 0, "s"], [2141, 0, "e"], [2142, 0, "r"], [2143, 0, "t"], [2144, 0, "}"], [2145, 0, "("], [2146, 0, "\\"], [2147, 0, "m"], [2148, 0, "a"], [2149, 0, "t"], [2150, 0, "h"], [2151, 0, "i"], [2152, 0, "t"], [2153, 0, "{"], [2154, 0, "i"], [2155, 0, "d"], [2156, 0, "}"], [2157, 0, " "], [2157, 1], [2157, 0, ","], [2158, 0, " "], [2159, 0, "\\"], [2160, 0, "m"], [2161, 0, "a"], [2162, 0, "t"], [2163, 0, "h"], [2164, 0, "i"], [2165, 0, "t"], [2166, 0, "{"], [2167, 0, "p"], [2168, 0, "r"], [2169, 0, "e"], [2170, 0, "v"], [2171, 0, "}"], [2172, 0, ","], [2173, 0, " "], [2174, 0, "v"], [2175, 0, ")"], [2176, 0, ")"], [2177, 0, " "], [2178, 0, "="], [2071, 1], [2070, 1], [2069, 1], [2068, 1], [2067, 1], [2066, 1], [2065, 1], [2065, 0, "'"], [2102, 1], [2101, 1], [2100, 1], [2099, 1], [2098, 1], [2097, 1], [2096, 1], [2096, 0, "'"], [2167, 0, " "], [2168, 0, "\\"], [2169, 0, "\\"], [2170, 0, "\n"], [2171, 0, "\\"], [2172, 0, "b"], [2173, 0, "e"], [2174, 0, "g"], [2175, 0, "i"], [2176, 0, "n"], [2177, 0, "{"], [2178, 0, "c"], [2179, 0, "a"], [2180, 0, "s"], [2181, 0, "e"], [2182, 0, "s"], [2183, 0, "}"], [2184, 0, "\n"], [2185, 0, "\\"], [2186, 0, "e"], [2187, 0, "n"], [2188, 0, "d"], [2189, 0, "{"], [2190, 0, "c"], [2191, 0, "a"], [2192, 0, "s"], [2193, 0, "e"], [2194, 0, "s"], [2195, 0, "}"], [2184, 0, "\n"], [2185, 0, "a"], [2186, 0, " "], [2187, 0, "&"], [2188, 0, " "], [2189, 0, "\\"], [2190, 0, "q"], [2191, 0, "u"], [2192, 0, "a"], [2193, 0, "d"], [2194, 0, "\\"], [2195, 0, "t"], [2196, 0, "e"], [2197, 0, "x"], [2198, 0, "t"], [2199, 0, "{"], [2200, 0, "i"], [2201, 0, "f"], [2202, 0, " "], [2203, 0, "f"], [2204, 0, "o"], [2205, 0, "o"], [2206, 0, "}"], [2205, 1], [2204, 1], [2203, 1], [2185, 1], [2185, 0, "\\"], [2186, 0, "m"], [2187, 0, "a"], [2188, 0, "t"], [2189, 0, "h"], [2190, 0, "r"], [2191, 0, "m"], [2192, 0, "{"], [2193, 0, "a"], [2194, 0, "p"], [2195, 0, "p"], [2196, 0, "l"], [2197, 0, "y"], [2198, 0, "}"], [2199, 0, "("], [2200, 0, "A"], [2201, 0, ","], [2202, 0, " "], [2203, 0, "\\"], [2204, 0, "m"], [2205, 0, "a"], [2206, 0, "t"], [2207, 0, "h"], [2208, 0, "s"], [2209, 0, "f"], [2210, 0, "{"], [2211, 0, "i"], [2212, 0, "n"], [2213, 0, "s"], [2214, 0, "e"], [2215, 0, "r"], [2216, 0, "t"], [2217, 0, "}"], [2218, 0, "("], [2219, 0, "\\"], [2220, 0, "m"], [2221, 0, "a"], [2222, 0, "t"], [2223, 0, "h"], [2224, 0, "i"], [2225, 0, "t"], [2226, 0, "{"], [2227, 0, "i"], [2228, 0, "d"], [2229, 0, "}"], [2230, 0, ","], [2231, 0, " "], [2232, 0, "n"], [2233, 0, ","], [2234, 0, " "], [2235, 0, "v"], [2236, 0, ")"], [2237, 0, ")"], [2256, 0, " "], [2257, 0, "A"], [2258, 0, "("], [2259, 0, "\\"], [2260, 0, "m"], [2261, 0, "a"], [2262, 0, "t"], [2263, 0, "h"], [2264, 0, "i"], [2265, 0, "t"], [2266, 0, "{"], [2267, 0, "p"], [2268, 0, "r"], [2269, 0, "e"], [2270, 0, "v"], [2271, 0, "}"], [2272, 0, ")"], [2273, 0, " "], [2274, 0, "="], [2275, 0, " "], [2276, 0, "("], [2277, 0, "\\"], [2278, 0, "p"], [2279, 0, "l"], [2280, 0, "a"], [2281, 0, "c"], [2282, 0, "e"], [2283, 0, "h"], [2284, 0, "o"], [2285, 0, "l"], [2286, 0, "d"], [2287, 0, "e"], [2288, 0, "r"], [2289, 0, ","], [2290, 0, " "], [2291, 0, "n"], [2292, 0, ")"], [2091, 1], [2090, 1], [2089, 1], [2088, 1], [2087, 1], [2088, 1], [2087, 1], [2086, 1], [2085, 1], [2084, 1], [2083, 1], [2082, 1], [2081, 1], [2080, 1], [2080, 0, "$"], [2081, 0, "$"], [2305, 1], [2304, 1], [2303, 1], [2302, 1], [2301, 1], [2300, 1], [2299, 1], [2298, 1], [2297, 1], [2296, 1], [2295, 1], [2294, 1], [2294, 0, "$"], [2295, 0, "$"], [2082, 1], [2082, 0, " "], [2293, 1], [2293, 0, " "], [2081, 1], [2080, 1], [2080, 0, "\\"], [2081, 0, "b"], [2082, 0, "e"], [2083, 0, "g"], [2084, 0, "i"], [2085, 0, "n"], [2086, 0, "{"], [2087, 0, "e"], [2088, 0, "q"], [2089, 0, "u"], [2090, 0, "a"], [2091, 0, "t"], [2092, 0, "i"], [2093, 0, "o"], [2094, 0, "n"], [2095, 0, "*"], [2096, 0, "}"], [2097, 0, "\n"], [2098, 1], [2310, 1], [2309, 1], [2308, 1], [2308, 1], [2308, 0, "\n"], [2309, 0, "\\"], [2310, 0, "e"], [2311, 0, "n"], [2312, 0, "d"], [2313, 0, "{"], [2314, 0, "e"], [2315, 0, "q"], [2316, 0, "u"], [2317, 0, "a"], [2318, 0, "t"], [2319, 0, "i"], [2320, 0, "o"], [2321, 0, "n"], [2322, 0, "*"], [2323, 0, "}"], [2324, 0, "\n"], [2296, 0, " "], [2297, 0, "\\"], [2298, 0, "\\"], [2299, 0, "\n"], [2300, 0, "A"], [2301, 0, "["], [2302, 0, "\\"], [2303, 0, "m"], [2304, 0, "a"], [2305, 0, "t"], [2306, 0, "h"], [2307, 0, "i"], [2308, 0, "t"], [2309, 0, "{"], [2310, 0, "p"], [2311, 0, "r"], [2312, 0, "e"], [2313, 0, "v"], [2314, 0, "]"], [2314, 1], [2314, 0, "}"], [2315, 0, " "], [2316, 0, "\\"], [2317, 0, "m"], [2318, 0, "a"], [2319, 0, "p"], [2320, 0, "s"], [2321, 0, "t"], [2322, 0, "o"], [2323, 0, " "], [2324, 0, "("], [2325, 0, "v"], [2326, 0, "_"], [2327, 0, "p"], [2328, 0, ","], [2329, 0, " "], [2330, 0, "\\"], [2331, 0, "m"], [2332, 0, "a"], [2333, 0, "t"], [2334, 0, "h"], [2335, 0, "i"], [2336, 0, "t"], [2337, 0, "{"], [2338, 0, "i"], [2339, 0, "d"], [2340, 0, "}"], [2341, 0, ")"], [2342, 0, ","], [2343, 0, " "], [2344, 0, "\\"], [2345, 0, "m"], [2346, 0, "a"], [2347, 0, "t"], [2348, 0, "h"], [2349, 0, "i"], [2350, 0, "t"], [2351, 0, "{"], [2352, 0, "i"], [2353, 0, "d"], [2354, 0, "}"], [2355, 0, " "], [2356, 0, "\\"], [2357, 0, "m"], [2358, 0, "a"], [2359, 0, "p"], [2360, 0, "s"], [2361, 0, "t"], [2362, 0, "o"], [2363, 0, " "], [2364, 0, "("], [2365, 0, "v"], [2366, 0, ","], [2367, 0, " "], [2368, 0, "n"], [2369, 0, ")"], [2370, 0, " "], [2371, 0, "&"], [2372, 0, " "], [2373, 0, "\\"], [2374, 0, "q"], [2375, 0, "u"], [2376, 0, "a"], [2377, 0, "d"], [2378, 0, "\\"], [2379, 0, "t"], [2380, 0, "e"], [2381, 0, "x"], [2382, 0, "t"], [2383, 0, "{"], [2384, 0, "i"], [2385, 0, "f"], [2386, 0, " "], [2387, 0, "}"], [2370, 0, "]"], [2370, 0, "\\"], [2371, 0, ","], [2302, 0, "\\"], [2303, 0, ","], [1541, 0, "\\"], [1542, 0, ","], [1559, 0, "\\"], [1560, 0, ","], [2246, 1], [2246, 0, "\\"], [2247, 0, "\\"], [2248, 1], [2248, 0, "\n"], [2249, 0, " "], [2250, 0, " "], [2251, 0, " "], [2252, 0, " "], [2385, 1], [2385, 0, "\\"], [2386, 0, "\\"], [2387, 0, "\n"], [2388, 0, " "], [2389, 0, " "], [2390, 0, " "], [2098, 1], [2097, 1], [2096, 1], [2095, 1], [2094, 1], [2093, 1], [2092, 1], [2091, 1], [2091, 0, "a"], [2092, 0, "l"], [2093, 0, "i"], [2094, 0, "g"], [2095, 0, "n"], [2429, 1], [2428, 1], [2427, 1], [2426, 1], [2425, 1], [2424, 1], [2423, 1], [2422, 1], [2422, 0, "a"], [2423, 0, "l"], [2424, 0, "i"], [2425, 0, "g"], [2426, 0, "n"], [2265, 0, "\\"], [2266, 0, "l"], [2266, 1], [2266, 0, ";"], [2263, 1], [2403, 1], [2404, 0, "\\"], [2405, 0, ";"], [2403, 0, " "], [2263, 0, " "], [2304, 0, " "], [2305, 0, "\\"], [2306, 0, "w"], [2307, 0, "e"], [2308, 0, "d"], [2309, 0, "g"], [2310, 0, "e"], [2311, 0, " "], [2312, 0, "n"], [2313, 0, " "], [2314, 0, ">"], [2315, 0, " "], [2315, 1], [2314, 1], [2313, 1], [2312, 1], [2312, 0, "\\"], [2313, 0, "m"], [2314, 0, "a"], [2315, 0, "t"], [2316, 0, "h"], [2317, 0, "i"], [2318, 0, "t"], [2319, 0, "{"], [2320, 0, "i"], [2321, 0, "d"], [2322, 0, "}"], [2323, 0, " "], [2324, 0, "<"], [2325, 0, " "], [2326, 0, "n"], [2431, 0, " "], [2432, 0, "A"], [2433, 0, "("], [2434, 0, "\\"], [2435, 0, "m"], [2436, 0, "a"], [2437, 0, "t"], [2438, 0, "h"], [2439, 0, "i"], [2440, 0, "t"], [2441, 0, "{"], [2442, 0, "p"], [2443, 0, "r"], [2444, 0, "e"], [2445, 0, "v"], [2446, 0, "}"], [2447, 0, ")"], [2448, 0, " "], [2449, 0, "="], [2450, 0, " "], [2451, 0, "("], [2452, 0, "v"], [2453, 0, "_"], [2454, 0, "p"], [2455, 0, ","], [2456, 0, " "], [2457, 0, "n"], [2458, 0, ")"], [2459, 0, " "], [2460, 0, "\\"], [2461, 0, "w"], [2462, 0, "e"], [2463, 0, "d"], [2464, 0, "g"], [2465, 0, "e"], [2466, 0, " "], [2467, 0, "n"], [2468, 0, " "], [2469, 0, "<"], [2470, 0, " "], [2471, 0, "\\"], [2472, 0, "m"], [2473, 0, "a"], [2474, 0, "t"], [2475, 0, "h"], [2476, 0, "i"], [2477, 0, "t"], [2478, 0, "{"], [2479, 0, "i"], [2480, 0, "d"], [2481, 0, "}"], [2305, 0, "\\"], [2306, 0, ";"], [2313, 0, "\\"], [2314, 0, ";"], [2464, 0, "\\"], [2465, 0, ";"], [2472, 0, "\\"], [2473, 0, "'"], [2473, 1], [2473, 0, ";"], [2419, 0, "q"], [2335, 0, "\\"], [2336, 0, "q"], [2337, 0, "u"], [2338, 0, "a"], [2339, 0, "d"], [2340, 0, " "], [2189, 0, "\\"], [2190, 0, "q"], [2191, 0, "u"], [2192, 0, "a"], [2193, 0, "d"], [2194, 0, " "], [2257, 0, "q"], [2172, 0, "&"], [2172, 1], [2102, 0, "&"], [2175, 0, "&"], [2395, 0, "\\"], [2396, 0, ";"], [2176, 0, "="], [2175, 0, " "], [2535, 0, "\n"], [2536, 0, "\n"], [2537, 0, "E"], [2538, 0, "x"], [2539, 0, "p"], [2540, 0, "l"], [2541, 0, "a"], [2542, 0, "i"], [2543, 0, "n"], [2544, 0, "e"], [2545, 0, "d"], [2546, 0, " "], [2547, 0, "i"], [2548, 0, "n"], [2549, 0, "f"], [2550, 0, "o"], [2551, 0, "r"], [2552, 0, "m"], [2553, 0, "a"], [2554, 0, "l"], [2555, 0, "l"], [2556, 0, "y"], [2557, 0, ","], [2558, 0, " "], [2559, 0, "a"], [2560, 0, "p"], [2561, 0, "p"], [2562, 0, "l"], [2563, 0, "y"], [2564, 0, "i"], [2565, 0, "n"], [2566, 0, "g"], [2567, 0, " "], [2568, 0, "a"], [2569, 0, "n"], [2570, 0, " "], [2571, 0, "\\"], [2571, 1], [2571, 0, "$"], [2572, 0, "\\"], [2573, 0, "m"], [2574, 0, "a"], [2575, 0, "t"], [2576, 0, "h"], [2577, 0, "s"], [2578, 0, "f"], [2579, 0, "{"], [2580, 0, "i"], [2581, 0, "n"], [2582, 0, "s"], [2583, 0, "e"], [2584, 0, "r"], [2585, 0, "t"], [2586, 0, "}"], [2587, 0, "$"], [2588, 0, " "], [2589, 0, "o"], [2590, 0, "p"], [2591, 0, "e"], [2592, 0, "r"], [2593, 0, "a"], [2594, 0, "t"], [2595, 0, "i"], [2596, 0, "o"], [2597, 0, "n"], [2598, 0, " "], [2599, 0, "i"], [2600, 0, "s"], [2601, 0, " "], [2602, 0, "l"], [2603, 0, "i"], [2604, 0, "k"], [2605, 0, "e"], [2606, 0, " "], [2607, 0, "i"], [2608, 0, "n"], [2609, 0, "s"], [2610, 0, "e"], [2611, 0, "r"], [2612, 0, "t"], [2613, 0, "i"], [2614, 0, "n"], [2615, 0, "g"], [2616, 0, " "], [2617, 0, "a"], [2618, 0, "n"], [2619, 0, " "], [2620, 0, "e"], [2621, 0, "l"], [2622, 0, "e"], [2623, 0, "m"], [2624, 0, "e"], [2625, 0, "n"], [2626, 0, "t"], [2627, 0, " "], [2628, 0, "i"], [2629, 0, "n"], [2630, 0, "t"], [2631, 0, "o"], [2632, 0, " "], [2633, 0, "a"], [2634, 0, " "], [2635, 0, "l"], [2636, 0, "i"], [2637, 0, "n"], [2638, 0, "k"], [2639, 0, "e"], [2640, 0, "d"], [2641, 0, " "], [2642, 0, "l"], [2643, 0, "i"], [2644, 0, "s"], [2645, 0, "t"], [2646, 0, ","], [2647, 0, " "], [2648, 0, "w"], [2649, 0, "i"], [2650, 0, "t"], [2651, 0, "h"], [2652, 0, " "], [2653, 0, "t"], [2654, 0, "h"], [2655, 0, "e"], [2655, 1], [2654, 1], [2653, 1], [2652, 1], [2651, 1], [2650, 1], [2649, 1], [2648, 1], [2648, 0, "e"], [2649, 0, "x"], [2650, 0, "c"], [2651, 0, "e"], [2652, 0, "p"], [2653, 0, "t"], [2654, 0, " "], [2655, 0, "t"], [2656, 0, "h"], [2657, 0, "a"], [2658, 0, "t"], [2659, 0, " "], [2660, 0, "t"], [2661, 0, "h"], [2662, 0, "e"], [2663, 0, " "], [2664, 0, "f"], [2665, 0, "u"], [2666, 0, "n"], [2667, 0, "c"], [2668, 0, "t"], [2669, 0, "i"], [2670, 0, "o"], [2671, 0, "n"], [2672, 0, " "], [2673, 0, "f"], [2674, 0, "i"], [2675, 0, "r"], [2676, 0, "s"], [2677, 0, "t"], [2678, 0, " "], [2679, 0, "s"], [2680, 0, "k"], [2681, 0, "i"], [2682, 0, "p"], [2683, 0, "s"], [2684, 0, " "], [2685, 0, "o"], [2686, 0, "v"], [2687, 0, "e"], [2688, 0, "r"], [2689, 0, " "], [2690, 0, "l"], [2691, 0, "i"], [2692, 0, "s"], [2693, 0, "t"], [2694, 0, " "], [2695, 0, "e"], [2696, 0, "l"], [2697, 0, "e"], [2698, 0, "m"], [2699, 0, "e"], [2700, 0, "n"], [2701, 0, "t"], [2702, 0, "s"], [2703, 0, " "], [2704, 0, "t"], [2705, 0, "h"], [2706, 0, "a"], [2707, 0, "t"], [2708, 0, " "], [2708, 1], [2707, 1], [2706, 1], [2705, 1], [2704, 1], [2704, 0, "w"], [2705, 0, "i"], [2706, 0, "t"], [2707, 0, "h"], [2708, 0, " "], [2709, 0, "a"], [2710, 0, "n"], [2711, 0, " "], [2712, 0, "I"], [2713, 0, "D"], [2714, 0, " "], [2559, 1], [2558, 1], [2557, 1], [2556, 1], [2555, 1], [2554, 1], [2553, 1], [2552, 1], [2551, 1], [2550, 1], [2549, 1], [2548, 1], [2547, 1], [2546, 1], [2545, 1], [2544, 1], [2543, 1], [2542, 1], [2541, 1], [2540, 1], [2539, 1], [2538, 1], [2537, 1], [2537, 0, "A"], [2693, 0, "g"], [2694, 0, "r"], [2695, 0, "e"], [2696, 0, "a"], [2697, 0, "t"], [2698, 0, "e"], [2699, 0, "r"], [2700, 0, " "], [2701, 0, "t"], [2702, 0, "h"], [2703, 0, "a"], [2704, 0, "n"], [2705, 0, " "], [2706, 0, "t"], [2707, 0, "h"], [2708, 0, "e"], [2709, 0, " "], [2710, 0, "I"], [2711, 0, "D"], [2712, 0, " "], [2713, 0, "o"], [2714, 0, "f"], [2715, 0, " "], [2716, 0, "t"], [2717, 0, "h"], [2718, 0, "e"], [2719, 0, " "], [2720, 0, "n"], [2721, 0, "e"], [2722, 0, "w"], [2723, 0, " "], [2724, 0, "e"], [2725, 0, "l"], [2726, 0, "e"], [2727, 0, "m"], [2728, 0, "e"], [2729, 0, "n"], [2730, 0, "t"], [2731, 0, " "], [2732, 0, "b"], [2733, 0, "e"], [2734, 0, "i"], [2735, 0, "n"], [2736, 0, "g"], [2737, 0, " "], [2738, 0, "i"], [2739, 0, "n"], [2740, 0, "s"], [2741, 0, "e"], [2742, 0, "r"], [2743, 0, "t"], [2744, 0, "e"], [2745, 0, "d"], [2746, 0, "."], [2747, 0, " "], [2748, 0, "T"], [2749, 0, "h"], [2750, 0, "u"], [2751, 0, "s"], [2752, 0, " "], [2752, 1], [2751, 1], [2750, 1], [2750, 0, "i"], [2751, 0, "s"], [2752, 0, " "], [2753, 0, "h"], [2754, 0, "a"], [2755, 0, "s"], [2756, 0, " "], [2757, 0, "t"], [2758, 0, "h"], [2759, 0, "e"], [2760, 0, " "], [2761, 0, "e"], [2762, 0, "f"], [2763, 0, "f"], [2764, 0, "e"], [2765, 0, "c"], [2766, 0, "t"], [2767, 0, " "], [2768, 0, "o"], [2769, 0, "f"], [2770, 0, " "], [2771, 0, "d"], [2772, 0, "e"], [2773, 0, "t"], [2774, 0, "e"], [2775, 0, "r"], [2776, 0, "m"], [2777, 0, "i"], [2778, 0, "n"], [2779, 0, "i"], [2780, 0, "s"], [2781, 0, "t"], [2782, 0, "i"], [2783, 0, "c"], [2784, 0, "a"], [2785, 0, "l"], [2786, 0, "l"], [2787, 0, "y"], [2788, 0, " "], [2789, 0, "o"], [2790, 0, "r"], [2791, 0, "d"], [2792, 0, "e"], [2793, 0, "r"], [2794, 0, "i"], [2795, 0, "n"], [2796, 0, "g"], [2797, 0, " "], [2798, 0, "c"], [2799, 0, "o"], [2800, 0, "n"], [2801, 0, "c"], [2802, 0, "u"], [2803, 0, "r"], [2804, 0, "r"], [2805, 0, "e"], [2806, 0, "n"], [2807, 0, "t"], [2808, 0, " "], [2809, 0, "i"], [2810, 0, "n"], [2811, 0, "s"], [2812, 0, "e"], [2813, 0, "r"], [2814, 0, "t"], [2815, 0, "i"], [2816, 0, "o"], [2817, 0, "n"], [2818, 0, "s"], [2819, 0, " "], [2820, 0, "m"], [2821, 0, "a"], [2822, 0, "d"], [2823, 0, "e"], [2824, 0, " "], [2825, 0, "a"], [2826, 0, "t"], [2827, 0, " "], [2828, 0, "t"], [2829, 0, "h"], [2830, 0, "e"], [2831, 0, " "], [2832, 0, "s"], [2833, 0, "a"], [2834, 0, "m"], [2835, 0, "e"], [2836, 0, " "], [2837, 0, "p"], [2838, 0, "o"], [2839, 0, "s"], [2840, 0, "i"], [2841, 0, "t"], [2842, 0, "i"], [2843, 0, "o"], [2844, 0, "n"], [2845, 0, " "], [2846, 0, "o"], [2847, 0, "f"], [2848, 0, " "], [2849, 0, "t"], [2850, 0, "h"], [2851, 0, "e"], [2852, 0, " "], [2853, 0, "l"], [2854, 0, "i"], [2855, 0, "s"], [2856, 0, "t"], [2857, 0, "."], [2858, 0, " "], [2859, 0, "T"], [2860, 0, "h"], [2861, 0, "i"], [2862, 0, "s"], [2863, 0, " "], [2864, 0, "p"], [2865, 0, "r"], [2866, 0, "o"], [2867, 0, "p"], [2868, 0, "e"], [2869, 0, "r"], [2870, 0, "t"], [2871, 0, "y"], [2872, 0, " "], [2873, 0, "i"], [2874, 0, "s"], [2875, 0, " "], [2876, 0, "p"], [2877, 0, "r"], [2878, 0, "o"], [2879, 0, "v"], [2880, 0, "e"], [2881, 0, "d"], [2882, 0, " "], [2883, 0, "f"], [2884, 0, "o"], [2885, 0, "r"], [2886, 0, "m"], [2887, 0, "a"], [2888, 0, "l"], [2889, 0, "l"], [2890, 0, "y"], [2891, 0, " "], [2892, 0, "b"], [2893, 0, "e"], [2894, 0, "l"], [2895, 0, "o"], [2896, 0, "w"], [2897, 0, "."], [2898, 0, "\n"], [2899, 0, "\n"], [2900, 0, "T"], [2901, 0, "h"], [2902, 0, "e"], [2903, 0, " "], [2904, 0, "o"], [2905, 0, "p"], [2906, 0, "e"], [2907, 0, "r"], [2908, 0, "a"], [2909, 0, "t"], [2910, 0, "i"], [2911, 0, "o"], [2912, 0, "n"], [2913, 0, " "], [2914, 0, "\\"], [2914, 1], [2914, 0, "$"], [2915, 0, "\\"], [2916, 0, "m"], [2917, 0, "a"], [2918, 0, "t"], [2919, 0, "h"], [2920, 0, "s"], [2921, 0, "f"], [2922, 0, "{"], [2923, 0, "d"], [2924, 0, "e"], [2925, 0, "l"], [2926, 0, "e"], [2927, 0, "t"], [2928, 0, "e"], [2929, 0, "}"], [2930, 0, "$"], [2931, 0, " "], [2932, 0, "i"], [2933, 0, "s"], [2934, 0, " "], [2935, 0, "a"], [2936, 0, "n"], [2937, 0, " "], [2938, 0, "i"], [2939, 0, "n"], [2940, 0, "s"], [2941, 0, "t"], [2942, 0, "r"], [2943, 0, "u"], [2944, 0, "c"], [2945, 0, "t"], [2946, 0, "i"], [2947, 0, "o"], [2948, 0, "n"], [2949, 0, " "], [2950, 0, "t"], [2951, 0, "o"], [2952, 0, " "], [2953, 0, "d"], [2954, 0, "e"], [2955, 0, "l"], [2956, 0, "e"], [2957, 0, "t"], [2958, 0, "e"], [2959, 0, " "], [2930, 0, "("], [2931, 0, "\\"], [2932, 0, "m"], [2933, 0, "a"], [2934, 0, "t"], [2935, 0, "h"], [2936, 0, "i"], [2937, 0, "t"], [2938, 0, "{"], [2939, 0, "i"], [2940, 0, "d"], [2941, 0, "}"], [2942, 0, ")"], [2973, 0, "t"], [2974, 0, "h"], [2975, 0, "e"], [2976, 0, " "], [2977, 0, "e"], [2978, 0, "l"], [2979, 0, "e"], [2980, 0, "m"], [2981, 0, "e"], [2982, 0, "n"], [2983, 0, "t"], [2984, 0, " "], [2985, 0, "w"], [2986, 0, "i"], [2987, 0, "t"], [2988, 0, "h"], [2989, 0, " "], [2990, 0, "I"], [2991, 0, "D"], [2992, 0, " "], [2993, 0, "$"], [2994, 0, "\\"], [2995, 0, "m"], [2996, 0, "a"], [2997, 0, "t"], [2998, 0, "h"], [2999, 0, "i"], [3000, 0, "t"], [3001, 0, "{"], [3002, 0, "i"], [3003, 0, "d"], [3004, 0, "}"], [3005, 0, "$"], [3006, 0, " "], [3007, 0, "f"], [3008, 0, "r"], [3009, 0, "o"], [3010, 0, "m"], [3011, 0, " "], [3012, 0, "t"], [3013, 0, "h"], [3014, 0, "e"], [3015, 0, " "], [3016, 0, "l"], [3017, 0, "i"], [3018, 0, "s"], [3019, 0, "t"], [3020, 0, "."], [3021, 0, " "], [3022, 0, "W"], [3023, 0, "h"], [3024, 0, "e"], [3025, 0, "n"], [3026, 0, " "], [3027, 0, "t"], [3028, 0, "h"], [3029, 0, "e"], [3030, 0, " "], [3031, 0, "o"], [3032, 0, "p"], [3033, 0, "e"], [3034, 0, "r"], [3035, 0, "a"], [3036, 0, "t"], [3037, 0, "i"], [3038, 0, "o"], [3039, 0, "n"], [3040, 0, " "], [3041, 0, "i"], [3042, 0, "s"], [3043, 0, " "], [3044, 0, "a"], [3045, 0, "p"], [3046, 0, "p"], [3047, 0, "l"], [3048, 0, "i"], [3049, 0, "e"], [3050, 0, "d"], [3051, 0, " "], [3052, 0, "t"], [3027, 1], [3026, 1], [3025, 1], [3024, 1], [3023, 1], [3022, 1], [3022, 0, "T"], [3047, 1], [3046, 1], [3045, 1], [3044, 1], [3043, 1], [3042, 1], [3041, 1], [3040, 1], [3039, 1], [3038, 1], [3037, 1], [3036, 1], [3036, 0, "h"], [3037, 0, "a"], [3038, 0, "s"], [3039, 0, " "], [3040, 0, "t"], [3041, 0, "h"], [3042, 0, "e"], [3043, 0, " "], [3044, 0, "f"], [3045, 0, "o"], [3046, 0, "l"], [3047, 0, "l"], [3048, 0, "o"], [3049, 0, "w"], [3050, 0, "i"], [3051, 0, "n"], [3052, 0, "g"], [3053, 0, " "], [3054, 0, "s"], [3055, 0, "e"], [3056, 0, "m"], [3057, 0, "a"], [3058, 0, "n"], [3059, 0, "t"], [3060, 0, "i"], [3061, 0, "c"], [3062, 0, "s"], [3063, 0, ":"], [3064, 0, "\n"], [3065, 0, "\\"], [3066, 0, "e"], [3067, 0, "b"], [3068, 0, "e"], [3069, 0, "g"], [3069, 1], [3068, 1], [3067, 1], [3066, 1], [3066, 0, "b"], [3067, 0, "e"], [3068, 0, "g"], [3069, 0, "i"], [3070, 0, "n"], [3071, 0, "{"], [3072, 0, "a"], [3073, 0, "l"], [3074, 0, "i"], [3075, 0, "g"], [3076, 0, "n"], [3077, 0, "*"], [3078, 0, "}"], [3079, 0, "\n"], [3080, 0, "A"], [3081, 0, "'"], [3082, 0, " "], [3083, 0, "&"], [3084, 0, "="], [3085, 0, " "], [3086, 0, "\\"], [3087, 0, "m"], [3088, 0, "a"], [3089, 0, "t"], [3090, 0, "h"], [3091, 0, "r"], [3092, 0, "m"], [3093, 0, "{"], [3094, 0, "a"], [3095, 0, "p"], [3096, 0, "p"], [3097, 0, "l"], [3098, 0, "y"], [3099, 0, "}"], [3100, 0, "("], [3101, 0, "\\"], [3102, 0, "m"], [3103, 0, "a"], [3104, 0, "t"], [3105, 0, "h"], [3106, 0, "s"], [3107, 0, "f"], [3108, 0, "{"], [3109, 0, "d"], [3110, 0, "e"], [3111, 0, "l"], [3112, 0, "e"], [3113, 0, "t"], [3114, 0, "e"], [3115, 0, "("], [3115, 1], [3115, 0, "}"], [3116, 0, "{"], [3117, 0, "\\"], [3118, 0, "m"], [3119, 0, "a"], [3120, 0, "t"], [3121, 0, "h"], [3122, 0, "i"], [3123, 0, "t"], [3124, 0, "{"], [3125, 0, "i"], [3126, 0, "d"], [3127, 0, "}"], [3116, 1], [3116, 0, "("], [3128, 0, ")"], [3129, 0, ")"], [3130, 0, " "], [3131, 0, "="], [3132, 0, " "], [3134, 0, "\\"], [3135, 0, "b"], [3136, 0, "e"], [3137, 0, "g"], [3138, 0, "i"], [3139, 0, "n"], [3140, 0, "{"], [3141, 0, "a"], [3142, 0, "l"], [3143, 0, "i"], [3144, 0, "g"], [3145, 0, "n"], [3146, 0, "&"], [3146, 1], [3146, 0, "*"], [3147, 0, "}"], [3148, 0, "\n"], [3133, 0, "A"], [3134, 0, "["], [3135, 0, "\\"], [3136, 0, ","], [3137, 0, "\\"], [3138, 0, "m"], [3139, 0, "a"], [3140, 0, "t"], [3141, 0, "h"], [3142, 0, "i"], [3143, 0, "t"], [3144, 0, "{"], [3145, 0, "i"], [3146, 0, "d"], [3147, 0, "}"], [3148, 0, " "], [3149, 0, "\\"], [3150, 0, "m"], [3151, 0, "a"], [3152, 0, "p"], [3153, 0, "s"], [3154, 0, "t"], [3155, 0, "o"], [3156, 0, " "], [3157, 0, "("], [3158, 0, "\\"], [3159, 0, "b"], [3160, 0, "o"], [3161, 0, "t"], [3162, 0, ","], [3163, 0, " "], [3164, 0, "n"], [3165, 0, ")"], [3166, 0, "\\"], [3167, 0, ","], [3168, 0, "]"], [3169, 0, " "], [3170, 0, "\\"], [3171, 0, ";"], [3172, 0, "\\"], [3173, 0, "t"], [3174, 0, "e"], [3175, 0, "x"], [3176, 0, "t"], [3177, 0, "{"], [3178, 0, "i"], [3179, 0, "f"], [3180, 0, "}"], [3181, 0, " "], [3182, 0, "A"], [3183, 0, "("], [3184, 0, "\\"], [3185, 0, "m"], [3186, 0, "a"], [3187, 0, "t"], [3188, 0, "h"], [3189, 0, "i"], [3190, 0, "t"], [3191, 0, "{"], [3192, 0, "i"], [3193, 0, "d"], [3194, 0, "}"], [3195, 0, ")"], [3196, 0, " "], [3169, 1], [3169, 0, "\n"], [3197, 0, "="], [3198, 0, " "], [3199, 0, "("], [3200, 0, "\\"], [3201, 0, "p"], [3202, 0, "l"], [3203, 0, "a"], [3204, 0, "c"], [3205, 0, "e"], [3206, 0, "h"], [3207, 0, "o"], [3208, 0, "l"], [3209, 0, "d"], [3210, 0, "e"], [3211, 0, "r"], [3212, 0, ","], [3213, 0, " "], [3214, 0, "n"], [3215, 0, ")"], [3180, 0, " "], [3182, 0, "\\"], [3183, 0, ";"], [3171, 1], [3171, 0, "q"], [3172, 0, "u"], [3173, 0, "a"], [3174, 0, "d"], [3228, 1], [3227, 1], [3226, 1], [3225, 1], [3224, 1], [3224, 0, "e"], [3225, 0, "n"], [3226, 0, "d"], [2172, 1], [2171, 1], [3129, 0, "\\"], [3130, 0, "\\"], [3131, 0, " "], [3132, 0, "&"], [3134, 1], [3134, 0, "\n"], [777, 0, "\n"], [778, 0, "\\"], [779, 0, "s"], [780, 0, "b"], [780, 1], [780, 0, "u"], [781, 0, "b"], [782, 0, "s"], [783, 0, "e"], [784, 0, "c"], [785, 0, "t"], [786, 0, "i"], [787, 0, "o"], [788, 0, "n"], [789, 0, "{"], [790, 0, "O"], [791, 0, "r"], [792, 0, "d"], [793, 0, "e"], [794, 0, "r"], [795, 0, "e"], [796, 0, "d"], [797, 0, " "], [798, 0, "L"], [799, 0, "i"], [800, 0, "s"], [801, 0, "t"], [802, 0, " "], [803, 0, "O"], [804, 0, "P"], [805, 0, "e"], [806, 0, "r"], [807, 0, "a"], [807, 1], [806, 1], [805, 1], [804, 1], [804, 0, "p"], [805, 0, "e"], [806, 0, "r"], [807, 0, "a"], [808, 0, "t"], [809, 0, "i"], [810, 0, "o"], [811, 0, "n"], [812, 0, "s"], [813, 0, "}"], [814, 0, "\n"], [776, 0, "\n"], [777, 0, "\n"], [778, 0, "W"], [779, 0, "e"], [780, 0, " "], [781, 0, "a"], [782, 0, "s"], [783, 0, "s"], [784, 0, "u"], [785, 0, "m"], [786, 0, "e"], [787, 0, " "], [788, 0, "t"], [789, 0, "h"], [790, 0, "a"], [791, 0, "t"], [792, 0, " "], [793, 0, "e"], [794, 0, "a"], [795, 0, "c"], [796, 0, "h"], [797, 0, " "], [798, 0, "p"], [799, 0, "e"], [800, 0, "e"], [801, 0, "r"], [802, 0, " "], [803, 0, "h"], [804, 0, "a"], [805, 0, "s"], [806, 0, " "], [807, 0, "a"], [808, 0, " "], [809, 0, "u"], [810, 0, "n"], [811, 0, "i"], [812, 0, "q"], [813, 0, "u"], [814, 0, "e"], [815, 0, " "], [816, 0, "i"], [817, 0, "d"], [818, 0, "e"], [819, 0, "n"], [820, 0, "t"], [821, 0, "i"], [822, 0, "f"], [823, 0, "i"], [824, 0, "e"], [825, 0, "r"], [826, 0, " "], [827, 0, "("], [828, 0, "f"], [829, 0, "o"], [830, 0, "r"], [831, 0, " "], [832, 0, "e"], [833, 0, "x"], [834, 0, "a"], [835, 0, "m"], [836, 0, "p"], [837, 0, "l"], [838, 0, "e"], [839, 0, ","], [840, 0, " "], [841, 0, "t"], [842, 0, "h"], [843, 0, "e"], [844, 0, " "], [845, 0, "h"], [846, 0, "a"], [847, 0, "s"], [848, 0, "h"], [849, 0, " "], [850, 0, "o"], [851, 0, "f"], [852, 0, " "], [853, 0, "i"], [854, 0, "t"], [855, 0, "s"], [856, 0, " "], [857, 0, "p"], [858, 0, "u"], [859, 0, "b"], [860, 0, "l"], [861, 0, "i"], [862, 0, "c"], [863, 0, " "], [864, 0, "k"], [865, 0, "e"], [866, 0, "y"], [867, 0, ")"], [868, 0, "."], [869, 0, " "], [870, 0, "W"], [871, 0, "e"], [872, 0, " "], [873, 0, "c"], [874, 0, "a"], [875, 0, "n"], [876, 0, " "], [877, 0, "t"], [878, 0, "h"], [879, 0, "e"], [880, 0, "n"], [881, 0, " "], [881, 1], [880, 1], [879, 1], [878, 1], [877, 1], [876, 1], [875, 1], [874, 1], [873, 1], [872, 1], [871, 1], [870, 1], [870, 0, "W"], [871, 0, "h"], [872, 0, "e"], [873, 0, "n"], [874, 0, "e"], [875, 0, "v"], [876, 0, "e"], [877, 0, "r"], [878, 0, " "], [879, 0, "a"], [880, 0, "n"], [881, 0, " "], [882, 0, "e"], [883, 0, "d"], [884, 0, "i"], [885, 0, "t"], [886, 0, " "], [887, 0, "t"], [888, 0, "o"], [889, 0, " "], [890, 0, "a"], [891, 0, " "], [892, 0, "d"], [893, 0, "o"], [894, 0, "c"], [895, 0, "u"], [896, 0, "m"], [897, 0, "e"], [898, 0, "n"], [899, 0, "t"], [900, 0, " "], [901, 0, "i"], [902, 0, "s"], [903, 0, " "], [904, 0, "m"], [905, 0, "a"], [906, 0, "d"], [907, 0, "e"], [908, 0, " "], [909, 0, "a"], [910, 0, "t"], [911, 0, " "], [912, 0, "o"], [913, 0, "n"], [914, 0, "e"], [915, 0, " "], [916, 0, "o"], [917, 0, "f"], [918, 0, " "], [919, 0, "t"], [920, 0, "h"], [921, 0, "e"], [922, 0, " "], [923, 0, "p"], [924, 0, "e"], [925, 0, "e"], [926, 0, "r"], [927, 0, "s"], [928, 0, ","], [929, 0, " "], [930, 0, "w"], [931, 0, "e"], [932, 0, " "], [933, 0, "g"], [934, 0, "e"], [935, 0, "n"], [936, 0, "e"], [937, 0, "r"], [938, 0, "a"], [939, 0, "t"], [940, 0, "e"], [941, 0, " "], [942, 0, "a"], [943, 0, " "], [944, 0, "u"], [945, 0, "n"], [946, 0, "i"], [947, 0, "q"], [948, 0, "u"], [949, 0, "e"], [950, 0, " "], [951, 0, "i"], [952, 0, "d"], [953, 0, "e"], [954, 0, "n"], [955, 0, "t"], [956, 0, "i"], [957, 0, "f"], [958, 0, "i"], [959, 0, "e"], [960, 0, "r"], [961, 0, " "], [962, 0, "f"], [963, 0, "o"], [964, 0, "r"], [965, 0, " "], [966, 0, "t"], [967, 0, "h"], [968, 0, "a"], [969, 0, "t"], [970, 0, " "], [971, 0, "e"], [972, 0, "d"], [973, 0, "i"], [974, 0, "t"], [975, 0, " "], [976, 0, "o"], [977, 0, "p"], [978, 0, "e"], [979, 0, "r"], [980, 0, "a"], [981, 0, "t"], [982, 0, "i"], [983, 0, "o"], [984, 0, "n"], [985, 0, " "], [986, 0, "u"], [987, 0, "s"], [988, 0, "i"], [989, 0, "n"], [990, 0, "g"], [991, 0, " "], [992, 0, "L"], [993, 0, "a"], [994, 0, "m"], [995, 0, "p"], [996, 0, "o"], [997, 0, "r"], [998, 0, "t"], [999, 0, " "], [1000, 0, "t"], [1001, 0, "i"], [1002, 0, "m"], [1003, 0, "e"], [1004, 0, "s"], [1005, 0, "t"], [1006, 0, "a"], [1007, 0, "m"], [1008, 0, "p"], [1009, 0, "s"], [1010, 0, "~"], [1011, 0, "\\"], [1012, 0, "c"], [1013, 0, "i"], [1014, 0, "t"], [1015, 0, "e"], [1016, 0, "{"], [1017, 0, "L"], [1018, 0, "a"], [1019, 0, "m"], [1020, 0, "p"], [1021, 0, "o"], [1022, 0, "r"], [1023, 0, "t"], [1024, 0, ":"], [1025, 0, "1"], [1026, 0, "9"], [1027, 0, "7"], [1028, 0, "8"], [1029, 0, "j"], [1030, 0, "q"], [1031, 0, "}"], [1032, 0, "."], [1033, 0, " "], [1033, 1], [1033, 0, "\n"], [1034, 0, "\n"], [1035, 0, "A"], [1036, 0, " "], [1037, 0, "L"], [1038, 0, "a"], [1039, 0, "m"], [1040, 0, "p"], [1041, 0, "o"], [1042, 0, "r"], [1043, 0, "t"], [1044, 0, " "], [1045, 0, "t"], [1046, 0, "i"], [1047, 0, "m"], [1048, 0, "e"], [1049, 0, "s"], [1050, 0, "t"], [1051, 0, "a"], [1052, 0, "m"], [1053, 0, "p"], [1054, 0, " "], [1055, 0, "i"], [1056, 0, "s"], [1057, 0, " "], [1058, 0, "a"], [1059, 0, " "], [1060, 0, "p"], [1061, 0, "a"], [1062, 0, "i"], [1063, 0, "r"], [1064, 0, " "], [1065, 0, "("], [1065, 1], [1065, 0, "$"], [1066, 0, "("], [1067, 0, ")"], [1067, 1], [1067, 0, "c"], [1068, 0, ","], [1069, 0, " "], [1070, 0, "n"], [1071, 0, ")"], [1072, 0, "$"], [1073, 0, " "], [1074, 0, "w"], [1075, 0, "h"], [1076, 0, "e"], [1077, 0, "r"], [1078, 0, "e"], [1079, 0, " "], [1080, 0, "$"], [1081, 0, "c"], [1082, 0, "$"], [1083, 0, " "], [1084, 0, "i"], [1085, 0, "s"], [1086, 0, " "], [1087, 0, "a"], [1088, 0, " "], [1089, 0, "c"], [1090, 0, "o"], [1091, 0, "u"], [1092, 0, "n"], [1093, 0, "t"], [1094, 0, "e"], [1095, 0, "r"], [1096, 0, " "], [1097, 0, "t"], [1098, 0, "h"], [1099, 0, "a"], [1100, 0, "t"], [1101, 0, " "], [1102, 0, "i"], [1103, 0, "s"], [1104, 0, " "], [1105, 0, "s"], [1106, 0, "t"], [1107, 0, "o"], [1108, 0, "r"], [1109, 0, "e"], [1110, 0, "d"], [1111, 0, " "], [1112, 0, "a"], [1113, 0, "t"], [1114, 0, " "], [1115, 0, "n"], [1116, 0, "o"], [1117, 0, "d"], [1118, 0, "e"], [1119, 0, " "], [1079, 0, " "], [1080, 0, "$"], [1081, 0, "n"], [1082, 0, "$"], [1083, 0, " "], [1084, 0, "i"], [1085, 0, "s"], [1086, 0, " "], [1087, 0, "t"], [1088, 0, "h"], [1089, 0, "e"], [1090, 0, " "], [1091, 0, "u"], [1092, 0, "n"], [1093, 0, "i"], [1094, 0, "q"], [1095, 0, "u"], [1096, 0, "e"], [1097, 0, " "], [1098, 0, "i"], [1099, 0, "d"], [1100, 0, "e"], [1101, 0, "n"], [1102, 0, "t"], [1103, 0, "i"], [1104, 0, "f"], [1105, 0, "i"], [1106, 0, "e"], [1107, 0, "r"], [1108, 0, " "], [1109, 0, "o"], [1110, 0, "f"], [1111, 0, " "], [1112, 0, "t"], [1113, 0, "h"], [1114, 0, "e"], [1115, 0, " "], [1116, 0, "n"], [1117, 0, "o"], [1118, 0, "d"], [1119, 0, "e"], [1120, 0, " "], [1121, 0, "o"], [1122, 0, "n"], [1123, 0, " "], [1124, 0, "w"], [1125, 0, "h"], [1126, 0, "i"], [1127, 0, "c"], [1128, 0, "h"], [1129, 0, " "], [1130, 0, "t"], [1131, 0, "h"], [1132, 0, "e"], [1133, 0, " "], [1134, 0, "e"], [1135, 0, "d"], [1136, 0, "i"], [1137, 0, "t"], [1138, 0, " "], [1139, 0, "i"], [1140, 0, "s"], [1141, 0, " "], [1142, 0, "m"], [1143, 0, "a"], [1144, 0, "d"], [1145, 0, "e"], [1146, 0, ","], [1147, 0, " "], [1148, 0, "a"], [1149, 0, "n"], [1150, 0, "d"], [1150, 1], [1149, 1], [1148, 1], [1147, 1], [1146, 1], [1146, 0, "."], [1187, 1], [1186, 1], [1185, 1], [1184, 1], [1183, 1], [1183, 0, "e"], [1184, 0, "a"], [1185, 0, "c"], [1186, 0, "h"], [1187, 0, " "], [1188, 0, "n"], [1189, 0, "o"], [1190, 0, "d"], [1191, 0, "e"], [1192, 0, " "], [1193, 0, "a"], [1194, 0, "n"], [1195, 0, "d"], [1196, 0, " "], [1197, 0, "i"], [1198, 0, "n"], [1199, 0, "c"], [1200, 0, "r"], [1201, 0, "e"], [1202, 0, "m"], [1203, 0, "e"], [1204, 0, "n"], [1205, 0, "t"], [1206, 0, "e"], [1207, 0, "d"], [1208, 0, " "], [1209, 0, "f"], [1210, 0, "o"], [1211, 0, "r"], [1212, 0, " "], [1213, 0, "e"], [1214, 0, "v"], [1215, 0, "e"], [1216, 0, "r"], [1217, 0, "y"], [1218, 0, " "], [1219, 0, "o"], [1220, 0, "p"], [1221, 0, "e"], [1222, 0, "r"], [1223, 0, "a"], [1224, 0, "t"], [1225, 0, "i"], [1226, 0, "o"], [1227, 0, "n"], [1228, 0, "."], [1229, 0, " "], [1230, 0, "M"], [1231, 0, "o"], [1232, 0, "r"], [1233, 0, "e"], [1234, 0, "o"], [1235, 0, "v"], [1236, 0, "e"], [1237, 0, "r"], [1238, 0, ","], [1239, 0, " "], [1240, 0, "w"], [1241, 0, "h"], [1242, 0, "e"], [1243, 0, "n"], [1244, 0, "e"], [1245, 0, "v"], [1246, 0, "e"], [1247, 0, "r"], [1248, 0, " "], [1070, 1], [1070, 0, "p"], [1081, 1], [1081, 0, "p"], [1119, 1], [1118, 1], [1117, 1], [1116, 1], [1116, 0, "p"], [1117, 0, "e"], [1118, 0, "e"], [1119, 0, "r"], [1191, 1], [1190, 1], [1189, 1], [1188, 1], [1188, 0, "p"], [1189, 0, "e"], [1190, 0, "e"], [1191, 0, "r"], [1249, 0, "a"], [1250, 0, " "], [1251, 0, "p"], [1252, 0, "e"], [1253, 0, "e"], [1254, 0, "r"], [1255, 0, " "], [1256, 0, "r"], [1257, 0, "e"], [1258, 0, "c"], [1259, 0, "e"], [1260, 0, "i"], [1261, 0, "v"], [1262, 0, "e"], [1263, 0, "s"], [1264, 0, " "], [1265, 0, "a"], [1266, 0, "n"], [1267, 0, " "], [1238, 1], [1237, 1], [1236, 1], [1235, 1], [1234, 1], [1233, 1], [1232, 1], [1231, 1], [1230, 1], [1230, 0, "T"], [1231, 0, "h"], [1232, 0, "e"], [1233, 0, " "], [1234, 0, "p"], [1235, 0, "a"], [1236, 0, "i"], [1237, 0, "r"], [1238, 0, " "], [1239, 0, "$"], [1240, 0, "("], [1241, 0, "c"], [1242, 0, ","], [1243, 0, " "], [1244, 0, "p"], [1245, 0, ")"], [1246, 0, "$"], [1247, 0, " "], [1248, 0, "i"], [1249, 0, "s"], [1250, 0, " "], [1251, 0, "s"], [1252, 0, "e"], [1253, 0, "n"], [1254, 0, "t"], [1255, 0, " "], [1256, 0, "t"], [1257, 0, "o"], [1258, 0, " "], [1259, 0, "o"], [1260, 0, "t"], [1261, 0, "h"], [1262, 0, "e"], [1263, 0, "r"], [1237, 1], [1236, 1], [1235, 1], [1234, 1], [1233, 1], [1232, 1], [1231, 1], [1230, 1], [1230, 0, "W"], [1231, 0, "h"], [1232, 0, "e"], [1233, 0, "n"], [1234, 0, "e"], [1235, 0, "v"], [1236, 0, "e"], [1237, 0, "r"], [1238, 0, " "], [1239, 0, "a"], [1240, 0, "n"], [1241, 0, " "], [1242, 0, "o"], [1243, 0, "p"], [1244, 0, "e"], [1245, 0, "r"], [1246, 0, "a"], [1247, 0, "t"], [1248, 0, "i"], [1249, 0, "o"], [1250, 0, "n"], [1251, 0, " "], [1252, 0, "i"], [1253, 0, "s"], [1254, 0, " "], [1255, 0, "s"], [1256, 0, "e"], [1257, 0, "n"], [1258, 0, "t"], [1259, 0, " "], [1260, 0, "t"], [1261, 0, "o"], [1262, 0, " "], [1263, 0, "o"], [1264, 0, "t"], [1265, 0, "h"], [1266, 0, "e"], [1267, 0, "r"], [1268, 0, " "], [1269, 0, "p"], [1270, 0, "e"], [1271, 0, "e"], [1272, 0, "r"], [1273, 0, "s"], [1274, 0, ","], [1275, 0, " "], [1276, 0, "t"], [1277, 0, "h"], [1278, 0, "e"], [1279, 0, " "], [1280, 0, "L"], [1281, 0, "a"], [1282, 0, "m"], [1283, 0, "p"], [1284, 0, "o"], [1285, 0, "r"], [1286, 0, "t"], [1287, 0, " "], [1288, 0, "t"], [1289, 0, "i"], [1290, 0, "m"], [1291, 0, "e"], [1292, 0, "s"], [1293, 0, "t"], [1294, 0, "a"], [1295, 0, "m"], [1296, 0, "p"], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 1], [1310, 0, "i"], [1311, 0, "n"], [1312, 0, "c"], [1313, 0, "l"], [1314, 0, "u"], [1315, 0, "d"], [1316, 0, "e"], [1317, 0, "d"], [1318, 0, " "], [1319, 0, "i"], [1320, 0, "n"], [1321, 0, " "], [1322, 0, "t"], [1323, 0, "h"], [1324, 0, "e"], [1325, 0, " "], [1326, 0, "m"], [1327, 0, "e"], [1328, 0, "s"], [1329, 0, "s"], [1330, 0, "a"], [1331, 0, "g"], [1332, 0, "e"], [1333, 0, "."], [1334, 0, " "], [1335, 0, "I"], [1306, 0, " "], [1307, 0, "f"], [1308, 0, "o"], [1309, 0, "r"], [1310, 0, " "], [1311, 0, "t"], [1312, 0, "h"], [1313, 0, "a"], [1314, 0, "t"], [1315, 0, " "], [1316, 0, "o"], [1317, 0, "p"], [1318, 0, "e"], [1319, 0, "r"], [1320, 0, "a"], [1321, 0, "t"], [1322, 0, "i"], [1323, 0, "o"], [1324, 0, "n"], [1354, 1], [1354, 0, "W"], [1355, 0, "h"], [1356, 0, "e"], [1357, 0, "n"], [1358, 0, " "], [1358, 1], [1357, 1], [1356, 1], [1355, 1], [1354, 1], [1354, 0, "I"], [1355, 0, "f"], [1356, 0, " "], [1357, 0, "a"], [1358, 0, " "], [1359, 0, "p"], [1360, 0, "e"], [1361, 0, "e"], [1362, 0, "r"], [1363, 0, " "], [1364, 0, "r"], [1365, 0, "e"], [1366, 0, "c"], [1367, 0, "e"], [1368, 0, "i"], [1369, 0, "v"], [1370, 0, "e"], [1371, 0, "s"], [1372, 0, " "], [1373, 0, "a"], [1374, 0, "n"], [1375, 0, " "], [1376, 0, "o"], [1377, 0, "p"], [1378, 0, "e"], [1379, 0, "r"], [1380, 0, "a"], [1381, 0, "t"], [1382, 0, "i"], [1383, 0, "o"], [1384, 0, "n"], [1385, 0, " "], [1386, 0, "w"], [1387, 0, "i"], [1388, 0, "t"], [1389, 0, "h"], [1390, 0, " "], [1391, 0, "a"], [1392, 0, " "], [1393, 0, "c"], [1394, 0, "o"], [1395, 0, "u"], [1396, 0, "n"], [1397, 0, "t"], [1398, 0, "e"], [1399, 0, "r"], [1400, 0, " "], [1401, 0, "v"], [1402, 0, "a"], [1403, 0, "l"], [1404, 0, "u"], [1405, 0, "e"], [1406, 0, " "], [1407, 0, "$"], [1408, 0, "c"], [1409, 0, "$"], [1410, 0, " "], [1411, 0, "t"], [1412, 0, "h"], [1413, 0, "a"], [1414, 0, "t"], [1415, 0, " "], [1416, 0, "i"], [1417, 0, "s"], [1418, 0, " "], [1419, 0, "g"], [1420, 0, "r"], [1421, 0, "e"], [1422, 0, "a"], [1423, 0, "t"], [1424, 0, " "], [1424, 1], [1424, 0, "e"], [1425, 0, "r"], [1426, 0, " "], [1427, 0, "t"], [1428, 0, "h"], [1429, 0, "a"], [1430, 0, "n"], [1431, 0, " "], [1432, 0, "t"], [1433, 0, "h"], [1434, 0, "e"], [1435, 0, " "], [1436, 0, "l"], [1437, 0, "o"], [1438, 0, "c"], [1439, 0, "a"], [1440, 0, "l"], [1441, 0, "l"], [1442, 0, "y"], [1443, 0, " "], [1444, 0, "s"], [1445, 0, "t"], [1446, 0, "o"], [1447, 0, "r"], [1448, 0, "e"], [1449, 0, "d"], [1450, 0, " "], [1451, 0, "c"], [1452, 0, "o"], [1453, 0, "u"], [1454, 0, "n"], [1455, 0, "t"], [1456, 0, "e"], [1457, 0, "r"], [1458, 0, " "], [1459, 0, "v"], [1460, 0, "a"], [1461, 0, "l"], [1462, 0, "u"], [1463, 0, "e"], [1464, 0, ","], [1465, 0, " "], [1466, 0, "t"], [1467, 0, "h"], [1468, 0, "e"], [1469, 0, " "], [1470, 0, "l"], [1471, 0, "o"], [1472, 0, "c"], [1473, 0, "a"], [1474, 0, "l"], [1475, 0, " "], [1476, 0, "c"], [1477, 0, "o"], [1478, 0, "u"], [1479, 0, "n"], [1480, 0, "t"], [1481, 0, "e"], [1482, 0, "r"], [1483, 0, " "], [1484, 0, "i"], [1485, 0, "s"], [1486, 0, " "], [1487, 0, "i"], [1488, 0, "n"], [1489, 0, "c"], [1490, 0, "r"], [1491, 0, "e"], [1492, 0, "a"], [1493, 0, "s"], [1494, 0, "e"], [1495, 0, "d"], [1496, 0, " "], [1497, 0, "t"], [1498, 0, "o"], [1499, 0, " "], [1500, 0, "t"], [1501, 0, "h"], [1502, 0, "e"], [1503, 0, " "], [1504, 0, "v"], [1505, 0, "a"], [1506, 0, "l"], [1507, 0, "u"], [1508, 0, "e"], [1509, 0, " "], [1510, 0, "o"], [1511, 0, "f"], [1512, 0, " "], [1513, 0, "t"], [1514, 0, "h"], [1515, 0, "e"], [1516, 0, " "], [1517, 0, "i"], [1518, 0, "n"], [1519, 0, "c"], [1520, 0, "o"], [1521, 0, "m"], [1522, 0, "i"], [1523, 0, "n"], [1524, 0, "g"], [1525, 0, " "], [1526, 0, "c"], [1527, 0, "o"], [1528, 0, "u"], [1529, 0, "n"], [1530, 0, "t"], [1531, 0, "e"], [1532, 0, "r"], [1533, 0, "."], [1353, 1], [1353, 0, "\n"], [1354, 0, "\n"], [1535, 0, " "], [1536, 0, "T"], [1537, 0, "h"], [1538, 0, "i"], [1539, 0, "s"], [1540, 0, " "], [1541, 0, "e"], [1542, 0, "n"], [1543, 0, "s"], [1544, 0, "u"], [1545, 0, "r"], [1546, 0, "e"], [1547, 0, "s"], [1548, 0, " "], [1549, 0, "t"], [1550, 0, "h"], [1551, 0, "a"], [1552, 0, "t"], [1553, 0, " "], [1554, 0, "i"], [1555, 0, "f"], [1556, 0, " "], [1557, 0, "o"], [1558, 0, "p"], [1559, 0, "e"], [1560, 0, "r"], [1561, 0, "a"], [1562, 0, "t"], [1563, 0, "i"], [1564, 0, "o"], [1565, 0, "n"], [1566, 0, " "], [1567, 0, "$"], [1568, 0, "o"], [1569, 0, "_"], [1570, 0, "1"], [1571, 0, "$"], [1572, 0, " "], [1573, 0, "h"], [1574, 0, "a"], [1575, 0, "p"], [1576, 0, "p"], [1577, 0, "e"], [1578, 0, "n"], [1579, 0, "e"], [1580, 0, "d"], [1581, 0, " "], [1582, 0, "b"], [1583, 0, "e"], [1584, 0, "f"], [1585, 0, "o"], [1586, 0, "r"], [1587, 0, "e"], [1588, 0, " "], [1589, 0, "$"], [1590, 0, "o"], [1591, 0, "_"], [1592, 0, "2"], [1593, 0, "$"], [1594, 0, " "], [1595, 0, "("], [1596, 0, "t"], [1597, 0, "h"], [1598, 0, "a"], [1599, 0, "t"], [1600, 0, " "], [1601, 0, "i"], [1602, 0, "s"], [1603, 0, ","], [1604, 0, " "], [1605, 0, "t"], [1606, 0, "h"], [1607, 0, "e"], [1608, 0, " "], [1609, 0, "p"], [1610, 0, "e"], [1611, 0, "e"], [1612, 0, "r"], [1613, 0, " "], [1614, 0, "t"], [1615, 0, "h"], [1616, 0, "a"], [1617, 0, "t"], [1618, 0, " "], [1619, 0, "g"], [1620, 0, "e"], [1621, 0, "n"], [1622, 0, "e"], [1623, 0, "r"], [1624, 0, "a"], [1625, 0, "t"], [1626, 0, "e"], [1627, 0, "d"], [1628, 0, " "], [1629, 0, "$"], [1630, 0, "o"], [1631, 0, "_"], [1632, 0, "2"], [1633, 0, "$"], [1634, 0, " "], [1635, 0, "k"], [1636, 0, "n"], [1637, 0, "e"], [1638, 0, "w"], [1639, 0, " "], [1640, 0, "a"], [1641, 0, "b"], [1642, 0, "o"], [1643, 0, "u"], [1644, 0, "t"], [1645, 0, " "], [1646, 0, "t"], [1647, 0, "h"], [1648, 0, "e"], [1649, 0, " "], [1649, 1], [1648, 1], [1647, 1], [1646, 1], [1645, 1], [1644, 1], [1643, 1], [1642, 1], [1641, 1], [1640, 1], [1639, 1], [1638, 1], [1637, 1], [1636, 1], [1635, 1], [1635, 0, "h"], [1636, 0, "a"], [1637, 0, "d"], [1638, 0, " "], [1639, 0, "r"], [1640, 0, "e"], [1641, 0, "c"], [1642, 0, "e"], [1643, 0, "i"], [1644, 0, "v"], [1645, 0, "e"], [1646, 0, "d"], [1647, 0, " "], [1648, 0, "a"], [1649, 0, "n"], [1650, 0, "d"], [1651, 0, " "], [1652, 0, "p"], [1653, 0, "r"], [1654, 0, "o"], [1655, 0, "c"], [1656, 0, "e"], [1657, 0, "s"], [1658, 0, "s"], [1659, 0, "e"], [1660, 0, "d"], [1661, 0, " "], [1662, 0, "$"], [1663, 0, "o"], [1664, 0, "_"], [1665, 0, "1"], [1666, 0, "$"], [1667, 0, " "], [1668, 0, "b"], [1669, 0, "e"], [1670, 0, "f"], [1671, 0, "o"], [1672, 0, "r"], [1673, 0, "e"], [1674, 0, " "], [1675, 0, "$"], [1676, 0, "o"], [1677, 0, "_"], [1678, 0, "2"], [1679, 0, "$"], [1680, 0, " "], [1681, 0, "w"], [1682, 0, "a"], [1683, 0, "s"], [1684, 0, " "], [1685, 0, "g"], [1686, 0, "e"], [1687, 0, "n"], [1688, 0, "e"], [1689, 0, "r"], [1690, 0, "a"], [1691, 0, "t"], [1692, 0, "e"], [1693, 0, "d"], [1694, 0, ")"], [1695, 0, ","], [1696, 0, " "], [1697, 0, "t"], [1698, 0, "h"], [1699, 0, "e"], [1700, 0, "n"], [1701, 0, " "], [1702, 0, "$"], [1703, 0, "o"], [1704, 0, "_"], [1705, 0, "2"], [1706, 0, "$"], [1707, 0, " "], [1708, 0, "m"], [1709, 0, "u"], [1710, 0, "s"], [1711, 0, "t"], [1712, 0, " "], [1713, 0, "h"], [1714, 0, "a"], [1715, 0, "v"], [1716, 0, "e"], [1717, 0, " "], [1718, 0, "a"], [1719, 0, " "], [1720, 0, "g"], [1721, 0, "r"], [1722, 0, "e"], [1723, 0, "a"], [1724, 0, "t"], [1725, 0, "e"], [1726, 0, "r"], [1727, 0, " "], [1728, 0, "c"], [1729, 0, "o"], [1730, 0, "u"], [1731, 0, "n"], [1732, 0, "t"], [1733, 0, "e"], [1734, 0, "r"], [1735, 0, " "], [1736, 0, "v"], [1737, 0, "a"], [1738, 0, "l"], [1739, 0, "u"], [1740, 0, "e"], [1741, 0, " "], [1742, 0, "t"], [1743, 0, "h"], [1744, 0, "a"], [1745, 0, "n"], [1746, 0, " "], [1747, 0, "$"], [1748, 0, "o"], [1749, 0, "_"], [1750, 0, "1"], [1751, 0, "$"], [1752, 0, "."], [1753, 0, " "], [1754, 0, "O"], [1755, 0, "n"], [1756, 0, "l"], [1757, 0, "y"], [1758, 0, " "], [1759, 0, "c"], [1760, 0, "o"], [1761, 0, "n"], [1762, 0, "c"], [1763, 0, "u"], [1764, 0, "r"], [1765, 0, "r"], [1766, 0, "e"], [1767, 0, "n"], [1768, 0, "t"], [1769, 0, " "], [1770, 0, "o"], [1771, 0, "p"], [1772, 0, "e"], [1773, 0, "r"], [1774, 0, "a"], [1775, 0, "t"], [1776, 0, "i"], [1777, 0, "o"], [1778, 0, "n"], [1779, 0, "s"], [1780, 0, " "], [1781, 0, "c"], [1782, 0, "a"], [1783, 0, "n"], [1784, 0, " "], [1785, 0, "h"], [1786, 0, "a"], [1787, 0, "v"], [1788, 0, "e"], [1789, 0, " "], [1790, 0, "e"], [1791, 0, "q"], [1792, 0, "u"], [1793, 0, "a"], [1794, 0, "l"], [1795, 0, " "], [1796, 0, "c"], [1797, 0, "o"], [1798, 0, "u"], [1799, 0, "n"], [1800, 0, "t"], [1801, 0, "e"], [1802, 0, "r"], [1803, 0, " "], [1804, 0, "v"], [1805, 0, "a"], [1806, 0, "l"], [1807, 0, "u"], [1808, 0, "e"], [1809, 0, "s"], [1810, 0, "."], [1811, 0, "\n"], [1812, 0, "\n"], [1813, 0, "W"], [1814, 0, "e"], [1815, 0, " "], [1816, 0, "c"], [1817, 0, "a"], [1818, 0, "n"], [1819, 0, " "], [1820, 0, "t"], [1821, 0, "h"], [1822, 0, "u"], [1823, 0, "s"], [1824, 0, " "], [1825, 0, "d"], [1826, 0, "e"], [1827, 0, "f"], [1828, 0, "i"], [1829, 0, "n"], [1830, 0, "e"], [1831, 0, " "], [1832, 0, "a"], [1833, 0, " "], [1834, 0, "t"], [1835, 0, "o"], [1836, 0, "t"], [1837, 0, "a"], [1838, 0, "l"], [1839, 0, " "], [1840, 0, "o"], [1841, 0, "r"], [1842, 0, "d"], [1843, 0, "e"], [1844, 0, "r"], [1845, 0, "i"], [1846, 0, "n"], [1847, 0, "g"], [1848, 0, " "], [1849, 0, "o"], [1850, 0, "n"], [1851, 0, " "], [1852, 0, "o"], [1853, 0, "p"], [1854, 0, "e"], [1855, 0, "r"], [1856, 0, "a"], [1857, 0, "t"], [1858, 0, "i"], [1859, 0, "o"], [1860, 0, "n"], [1861, 0, "s"], [1862, 0, "."], [1863, 0, " "], [1850, 1], [1849, 1], [1861, 1], [1860, 1], [1859, 1], [1858, 1], [1857, 1], [1856, 1], [1855, 1], [1854, 1], [1853, 1], [1852, 1], [1851, 1], [1850, 1], [1849, 1], [1849, 0, "f"], [1850, 0, "o"], [1851, 0, "r"], [1852, 0, " "], [1853, 0, "L"], [1854, 0, "a"], [1855, 0, "m"], [1856, 0, "p"], [1857, 0, "o"], [1858, 0, "r"], [1859, 0, "t"], [1860, 0, " "], [1861, 0, "t"], [1862, 0, "i"], [1863, 0, "m"], [1864, 0, "e"], [1865, 0, "s"], [1866, 0, "t"], [1867, 0, "a"], [1868, 0, "m"], [1869, 0, "p"], [1870, 0, "s"], [1871, 0, ":"], [1872, 0, "\n"], [1873, 0, "$"], [1874, 0, "$"], [1875, 0, " "], [1875, 1], [1875, 0, "("], [1876, 0, "c"], [1877, 0, "_"], [1878, 0, "1"], [1879, 0, ","], [1880, 0, " "], [1881, 0, "p"], [1882, 0, "_"], [1883, 0, "1"], [1884, 0, ")"], [1885, 0, " "], [1886, 0, "<"], [1887, 0, " "], [1888, 0, "("], [1889, 0, "c"], [1890, 0, "_"], [1891, 0, "2"], [1892, 0, ","], [1893, 0, " "], [1894, 0, "p"], [1895, 0, "_"], [1896, 0, "2"], [1897, 0, ")"], [1898, 0, " "], [1899, 0, "\\"], [1900, 0, "q"], [1901, 0, "u"], [1902, 0, "a"], [1903, 0, "d"], [1904, 0, "{"], [1904, 1], [1904, 0, "\\"], [1905, 0, "t"], [1906, 0, "e"], [1907, 0, "x"], [1908, 0, "t"], [1909, 0, "{"], [1910, 0, "i"], [1911, 0, "f"], [1912, 0, "f"], [1913, 0, "}"], [1914, 0, "\\"], [1915, 0, "q"], [1916, 0, "u"], [1917, 0, "a"], [1918, 0, "d"], [1919, 0, " "], [1920, 0, "("], [1921, 0, "c"], [1922, 0, "_"], [1923, 0, "1"], [1924, 0, " "], [1925, 0, "<"], [1926, 0, " "], [1927, 0, "c"], [1928, 0, "_"], [1929, 0, "2"], [1930, 0, ")"], [1931, 0, " "], [1932, 0, "\\"], [1933, 0, "v"], [1934, 0, "e"], [1935, 0, "e"], [1936, 0, " "], [1937, 0, "("], [1938, 0, "c"], [1939, 0, "_"], [1940, 0, "1"], [1941, 0, " "], [1942, 0, "="], [1943, 0, " "], [1944, 0, "c"], [1945, 0, "_"], [1946, 0, "2"], [1947, 0, " "], [1948, 0, "\\"], [1949, 0, "w"], [1950, 0, "e"], [1951, 0, "d"], [1952, 0, "g"], [1953, 0, "e"], [1954, 0, " "], [1955, 0, "p"], [1956, 0, "_"], [1957, 0, "1"], [1958, 0, " "], [1959, 0, "<"], [1960, 0, " "], [1961, 0, "p"], [1962, 0, "_"], [1963, 0, "2"], [1964, 0, ")"], [1965, 0, "."], [1966, 0, "$"], [1967, 0, "$"], [1968, 0, "\n"], [1969, 0, "T"], [1970, 0, "h"], [1971, 0, "i"], [1972, 0, "s"], [1973, 0, " "], [1974, 0, "o"], [1975, 0, "r"], [1976, 0, "d"], [1977, 0, "e"], [1978, 0, "r"], [1979, 0, "i"], [1980, 0, "n"], [1981, 0, "g"], [1982, 0, " "], [1983, 0, "i"], [1984, 0, "s"], [1985, 0, " "], [1986, 0, "c"], [1987, 0, "o"], [1988, 0, "n"], [1989, 0, "s"], [1990, 0, "i"], [1991, 0, "s"], [1992, 0, "t"], [1993, 0, "e"], [1994, 0, "n"], [1995, 0, "t"], [1996, 0, " "], [1997, 0, "w"], [1998, 0, "i"], [1999, 0, "t"], [2000, 0, "h"], [2001, 0, " "], [2002, 0, "c"], [2003, 0, "a"], [2004, 0, "u"], [2005, 0, "s"], [2006, 0, "a"], [2007, 0, "l"], [2008, 0, "i"], [2009, 0, "t"], [2010, 0, "y"], [2011, 0, ","], [2012, 0, " "], [2013, 0, "t"], [2014, 0, "h"], [2015, 0, "a"], [2016, 0, "t"], [2017, 0, " "], [2018, 0, "i"], [2019, 0, "s"], [2020, 0, ","], [2021, 0, " "], [2022, 0, "i"], [2023, 0, "f"], [2024, 0, " "], [2025, 0, "o"], [2026, 0, "p"], [2027, 0, "e"], [2028, 0, "r"], [2029, 0, "a"], [2030, 0, "t"], [2031, 0, "i"], [2032, 0, "o"], [2033, 0, "n"], [2034, 0, " "], [2035, 0, "$"], [2036, 0, "o"], [2037, 0, "_"], [2038, 0, "1"], [2039, 0, "$"], [2040, 0, " "], [2041, 0, "h"], [2042, 0, "a"], [2043, 0, "p"], [2044, 0, "p"], [2045, 0, "e"], [2046, 0, "n"], [2047, 0, "e"], [2048, 0, "d"], [2049, 0, " "], [2050, 0, "b"], [2051, 0, "e"], [2052, 0, "f"], [2053, 0, "o"], [2054, 0, "r"], [2055, 0, "e"], [2056, 0, " "], [2057, 0, "$"], [2058, 0, "o"], [2059, 0, "_"], [2060, 0, "2"], [2061, 0, "$"], [2062, 0, ","], [2063, 0, " "], [2064, 0, "t"], [2065, 0, "h"], [2066, 0, "e"], [2067, 0, "n"], [2068, 0, " "], [2069, 0, "$"], [2070, 0, "o"], [2071, 0, "_"], [2072, 0, "1"], [2073, 0, "$"], [2074, 0, " "], [2075, 0, "i"], [2076, 0, "s"], [2077, 0, " "], [2078, 0, "g"], [2079, 0, "u"], [2080, 0, "a"], [2081, 0, "r"], [2082, 0, "a"], [2083, 0, "n"], [2084, 0, "t"], [2085, 0, "e"], [2086, 0, "e"], [2086, 1], [2085, 1], [2084, 1], [2083, 1], [2082, 1], [2081, 1], [2080, 1], [2079, 1], [2078, 1], [2077, 1], [2076, 1], [2075, 1], [2075, 0, "h"], [2076, 0, "a"], [2077, 0, "s"], [2078, 0, " "], [2079, 0, "a"], [2080, 0, " "], [2081, 0, "l"], [2082, 0, "o"], [2083, 0, "w"], [2084, 0, "e"], [2084, 1], [2083, 1], [2082, 1], [2081, 1], [2080, 1], [2079, 1], [2078, 1], [2077, 1], [2076, 1], [2075, 1], [2074, 1], [2073, 1], [2072, 1], [2071, 1], [2070, 1], [2069, 1], [2068, 1], [2067, 1], [2066, 1], [2065, 1], [2064, 1], [2063, 1], [2062, 1], [2061, 1], [2060, 1], [2059, 1], [2058, 1], [2057, 1], [2056, 1], [2055, 1], [2054, 1], [2053, 1], [2052, 1], [2051, 1], [2050, 1], [2049, 1], [2048, 1], [2047, 1], [2046, 1], [2045, 1], [2044, 1], [2043, 1], [2042, 1], [2041, 1], [2040, 1], [2039, 1], [2038, 1], [2037, 1], [2036, 1], [2035, 1], [2034, 1], [2033, 1], [2032, 1], [2031, 1], [2030, 1], [2029, 1], [2028, 1], [2027, 1], [2026, 1], [2025, 1], [2024, 1], [2023, 1], [2022, 1], [2021, 1], [2020, 1], [2019, 1], [2018, 1], [2017, 1], [2016, 1], [2015, 1], [2014, 1], [2013, 1], [2012, 1], [2011, 1], [2010, 1], [2009, 1], [2008, 1], [2007, 1], [2006, 1], [2005, 1], [2004, 1], [2003, 1], [2002, 1], [2001, 1], [2000, 1], [1999, 1], [1998, 1], [1997, 1], [1996, 1], [1995, 1], [1994, 1], [1993, 1], [1992, 1], [1991, 1], [1990, 1], [1989, 1], [1988, 1], [1987, 1], [1986, 1], [1985, 1], [1984, 1], [1983, 1], [1982, 1], [1981, 1], [1980, 1], [1979, 1], [1978, 1], [1977, 1], [1976, 1], [1975, 1], [1974, 1], [1973, 1], [1972, 1], [1971, 1], [1970, 1], [1969, 1], [1969, 0, "I"], [1970, 0, "f"], [1971, 0, " "], [1972, 0, "o"], [1973, 0, "n"], [1974, 0, "e"], [1975, 0, " "], [1976, 0, "o"], [1977, 0, "p"], [1978, 0, "e"], [1979, 0, "r"], [1980, 0, "a"], [1981, 0, "t"], [1982, 0, "i"], [1983, 0, "o"], [1984, 0, "n"], [1985, 0, " "], [1986, 0, "h"], [1987, 0, "a"], [1988, 0, "p"], [1989, 0, "p"], [1990, 0, "e"], [1991, 0, "n"], [1992, 0, "e"], [1993, 0, "d"], [1994, 0, " "], [1995, 0, "b"], [1996, 0, "e"], [1997, 0, "f"], [1998, 0, "o"], [1999, 0, "r"], [2000, 0, "e"], [2001, 0, " "], [2002, 0, "a"], [2003, 0, "n"], [2004, 0, "o"], [2005, 0, "t"], [2006, 0, "h"], [2007, 0, "e"], [2008, 0, "r"], [2009, 0, ","], [2010, 0, " "], [2011, 0, "t"], [2012, 0, "h"], [2013, 0, "i"], [2014, 0, "s"], [2015, 0, " "], [2016, 0, "o"], [2017, 0, "r"], [2018, 0, "d"], [2019, 0, "e"], [2020, 0, "r"], [2021, 0, "i"], [2022, 0, "n"], [2023, 0, "g"], [2024, 0, " "], [2025, 0, "i"], [2026, 0, "s"], [2027, 0, " "], [2028, 0, "c"], [2029, 0, "o"], [2030, 0, "n"], [2031, 0, "s"], [2032, 0, "i"], [2033, 0, "s"], [2034, 0, "t"], [2035, 0, "e"], [2036, 0, "n"], [2037, 0, "t"], [2038, 0, " "], [2039, 0, "w"], [2040, 0, "i"], [2041, 0, "t"], [2042, 0, "h"], [2043, 0, " "], [2044, 0, "c"], [2045, 0, "a"], [2046, 0, "u"], [2047, 0, "s"], [2048, 0, "a"], [2049, 0, "l"], [2050, 0, "i"], [2051, 0, "t"], [2052, 0, "y"], [2053, 0, " "], [2054, 0, "("], [2055, 0, "t"], [2056, 0, "h"], [2057, 0, "e"], [2058, 0, " "], [2059, 0, "e"], [2060, 0, "a"], [2061, 0, "r"], [2062, 0, "l"], [2063, 0, "i"], [2064, 0, "e"], [2065, 0, "r"], [2066, 0, " "], [2067, 0, "o"], [2068, 0, "p"], [2069, 0, "e"], [2070, 0, "r"], [2071, 0, "a"], [2072, 0, "t"], [2073, 0, "i"], [2074, 0, "o"], [2075, 0, "n"], [2076, 0, " "], [2077, 0, "h"], [2078, 0, "a"], [2079, 0, "s"], [2080, 0, " "], [2081, 0, "a"], [2082, 0, " "], [2083, 0, "l"], [2084, 0, "o"], [2085, 0, "w"], [2086, 0, "e"], [2087, 0, "r"], [2088, 0, " "], [2089, 0, "t"], [2090, 0, "i"], [2091, 0, "m"], [2092, 0, "e"], [2093, 0, "s"], [2094, 0, "e"], [2095, 0, "t"], [2096, 0, "a"], [2097, 0, "m"], [2098, 0, "p"], [2099, 0, ")"], [2100, 0, "."], [2101, 0, " "], [2102, 0, "I"], [2103, 0, "f"], [2104, 0, " "], [2105, 0, "t"], [2106, 0, "w"], [2107, 0, "o"], [2108, 0, " "], [2109, 0, "o"], [2110, 0, "p"], [2111, 0, "e"], [2112, 0, "r"], [2113, 0, "a"], [2114, 0, "t"], [2115, 0, "i"], [2116, 0, "o"], [2117, 0, "n"], [2118, 0, "s"], [2119, 0, " "], [2120, 0, "a"], [2121, 0, "r"], [2122, 0, "e"], [2123, 0, " "], [2124, 0, "c"], [2125, 0, "o"], [2126, 0, "n"], [2127, 0, "c"], [2128, 0, "u"], [2129, 0, "r"], [2130, 0, "r"], [2131, 0, "e"], [2132, 0, "n"], [2133, 0, "t"], [2134, 0, ","], [2135, 0, " "], [2136, 0, "t"], [2137, 0, "h"], [2138, 0, "i"], [2139, 0, "s"], [2140, 0, " "], [2141, 0, "o"], [2142, 0, "r"], [2143, 0, "d"], [2144, 0, "e"], [2145, 0, "r"], [2146, 0, "i"], [2147, 0, "n"], [2148, 0, "g"], [2149, 0, " "], [2150, 0, "i"], [2151, 0, "s"], [2152, 0, " "], [2153, 0, "a"], [2154, 0, "r"], [2155, 0, "b"], [2156, 0, "i"], [2157, 0, "t"], [2158, 0, "r"], [2159, 0, "a"], [2160, 0, "r"], [2161, 0, "y"], [2162, 0, " "], [2163, 0, "b"], [2164, 0, "u"], [2165, 0, "t"], [2166, 0, " "], [2167, 0, "d"], [2168, 0, "e"], [2169, 0, "t"], [2170, 0, "e"], [2171, 0, "r"], [2172, 0, "m"], [2173, 0, "i"], [2174, 0, "n"], [2175, 0, "i"], [2176, 0, "s"], [2177, 0, "t"], [2178, 0, "i"], [2179, 0, "c"], [2180, 0, "."], [1903, 1], [1902, 1], [1901, 1], [1900, 1], [1900, 0, ";"], [1915, 1], [1914, 1], [1913, 1], [1912, 1], [1912, 0, ";"], [1913, 0, "\\"], [1914, 0, ";"], [1912, 1], [1911, 1], [1910, 0, " "], [1907, 0, " "], [2135, 1], [2134, 1], [2134, 0, "e"], [2143, 1], [2142, 1], [2141, 1], [2141, 0, " "], [2142, 0, "$"], [2143, 0, "<"], [2144, 0, "$"], [1848, 0, " "], [1849, 0, "$"], [1850, 0, "<"], [1851, 0, "$"], [2139, 0, "i"], [2140, 0, "r"], [2147, 0, " "], [2148, 0, "a"], [2149, 0, "c"], [2150, 0, "c"], [2151, 0, "o"], [2152, 0, "r"], [2153, 0, "d"], [2154, 0, "i"], [2155, 0, "n"], [2156, 0, "g"], [2157, 0, " "], [2158, 0, "t"], [2159, 0, "o"], [2160, 0, "1"], [2160, 1], [2643, 0, " "], [2644, 0, "T"], [2645, 0, "h"], [2646, 0, "e"], [2647, 0, " "], [2648, 0, "p"], [2649, 0, "a"], [2650, 0, "r"], [2651, 0, "a"], [2652, 0, "m"], [2653, 0, "e"], [2654, 0, "t"], [2655, 0, "e"], [2656, 0, "r"], [2657, 0, " "], [2658, 0, "$"], [2659, 0, "\\"], [2660, 0, "m"], [2661, 0, "a"], [2662, 0, "t"], [2663, 0, "h"], [2664, 0, "i"], [2665, 0, "d"], [2665, 1], [2665, 0, "t"], [2666, 0, "{"], [2667, 0, "i"], [2668, 0, "d"], [2669, 0, "}"], [2670, 0, "$"], [2671, 0, " "], [2672, 0, "i"], [2673, 0, "s"], [2674, 0, " "], [2675, 0, "e"], [2676, 0, "i"], [2677, 0, "t"], [2678, 0, "h"], [2679, 0, "e"], [2680, 0, "r"], [2681, 0, " "], [2682, 0, "a"], [2683, 0, " "], [2684, 0, "L"], [2685, 0, "a"], [2686, 0, "m"], [2687, 0, "p"], [2688, 0, "o"], [2689, 0, "r"], [2690, 0, "t"], [2691, 0, " "], [2692, 0, "t"], [2693, 0, "i"], [2694, 0, "m"], [2695, 0, "e"], [2696, 0, "s"], [2697, 0, "t"], [2698, 0, "a"], [2699, 0, "m"], [2700, 0, "p"], [2701, 0, " "], [2702, 0, "o"], [2703, 0, "r"], [2704, 0, " "], [2705, 0, "t"], [2706, 0, "h"], [2707, 0, "e"], [2708, 0, " "], [2709, 0, "s"], [2710, 0, "p"], [2711, 0, "e"], [2712, 0, "c"], [2713, 0, "i"], [2714, 0, "a"], [2715, 0, "l"], [2716, 0, " "], [2717, 0, "s"], [2718, 0, "y"], [2719, 0, "m"], [2720, 0, "b"], [2721, 0, "o"], [2722, 0, "l"], [2723, 0, " "], [2724, 0, "$"], [2725, 0, "\\"], [2726, 0, "m"], [2727, 0, "a"], [2728, 0, "t"], [2729, 0, "h"], [2730, 0, "s"], [2731, 0, "f"], [2732, 0, "{"], [2733, 0, "h"], [2734, 0, "e"], [2735, 0, "a"], [2736, 0, "d"], [2737, 0, "}"], [2738, 0, "$"], [2739, 0, ","], [2740, 0, " "], [2741, 0, "i"], [2742, 0, "n"], [2743, 0, "d"], [2744, 0, "i"], [2745, 0, "c"], [2746, 0, "a"], [2747, 0, "t"], [2748, 0, "i"], [2749, 0, "n"], [2750, 0, "g"], [2751, 0, " "], [2752, 0, "t"], [2753, 0, "h"], [2754, 0, "e"], [2755, 0, " "], [2756, 0, "h"], [2757, 0, "e"], [2758, 0, "a"], [2759, 0, "d"], [2760, 0, " "], [2761, 0, "o"], [2762, 0, "f"], [2763, 0, " "], [2764, 0, "t"], [2765, 0, "h"], [2766, 0, "e"], [2767, 0, " "], [2768, 0, "l"], [2769, 0, "i"], [2770, 0, "s"], [2771, 0, "t"], [2772, 0, "."], [2773, 0, " "], [2774, 0, "%"], [2774, 1], [2774, 0, "$"], [2775, 0, "\\"], [2776, 0, "m"], [2777, 0, "a"], [2778, 0, "t"], [2779, 0, "h"], [2780, 0, "i"], [2781, 0, "t"], [2782, 0, "{"], [2783, 0, "n"], [2784, 0, "e"], [2785, 0, "x"], [2786, 0, "t"], [2787, 0, "}"], [2788, 0, "$"], [2789, 0, " "], [2790, 0, "i"], [2791, 0, "s"], [2792, 0, " "], [2793, 0, "e"], [2794, 0, "i"], [2795, 0, "t"], [2796, 0, "h"], [2797, 0, "e"], [2798, 0, "r"], [2799, 0, " "], [2800, 0, "a"], [2801, 0, " "], [2802, 0, "L"], [2803, 0, "a"], [2804, 0, "m"], [2805, 0, "p"], [2806, 0, "o"], [2807, 0, "r"], [2808, 0, "t"], [2809, 0, " "], [2810, 0, "t"], [2811, 0, "i"], [2812, 0, "m"], [2813, 0, "e"], [2814, 0, "s"], [2815, 0, "t"], [2816, 0, "a"], [2817, 0, "m"], [2818, 0, "p"], [2819, 0, " "], [2820, 0, "o"], [2821, 0, "r"], [2822, 0, " "], [2823, 0, "t"], [2824, 0, "h"], [2825, 0, "e"], [2826, 0, " "], [2827, 0, "s"], [2828, 0, "y"], [2829, 0, "m"], [2830, 0, "b"], [2831, 0, "o"], [2832, 0, "l"], [2833, 0, " "], [2834, 0, "$"], [2835, 0, "\\"], [2836, 0, "m"], [2837, 0, "a"], [2838, 0, "t"], [2839, 0, "h"], [2840, 0, "s"], [2841, 0, "f"], [2842, 0, "{"], [2843, 0, "t"], [2844, 0, "a"], [2845, 0, "i"], [2846, 0, "l"], [2847, 0, "}"], [2848, 0, "$"], [2849, 0, ","], [2850, 0, " "], [2851, 0, "d"], [2852, 0, "e"], [2853, 0, "n"], [2854, 0, "o"], [2855, 0, "t"], [2856, 0, "i"], [2857, 0, "n"], [2858, 0, "g"], [2859, 0, " "], [2860, 0, "t"], [2861, 0, "h"], [2862, 0, "e"], [2863, 0, " "], [2864, 0, "e"], [2865, 0, "n"], [2866, 0, "d"], [2867, 0, " "], [2868, 0, "o"], [2869, 0, "f"], [2870, 0, " "], [2871, 0, "t"], [2872, 0, "h"], [2873, 0, "e"], [2874, 0, " "], [2875, 0, "l"], [2876, 0, "i"], [2877, 0, "s"], [2878, 0, "t"], [2879, 0, "."], [2880, 0, "\n"], [2881, 0, "\n"], [2882, 1], [3054, 1], [3054, 0, "."], [3055, 0, " "], [3212, 1], [3211, 1], [3210, 1], [3209, 1], [3208, 1], [3207, 1], [3206, 1], [3205, 1], [3204, 1], [3203, 1], [3202, 1], [3201, 1], [3200, 1], [3199, 1], [3198, 1], [3197, 1], [3196, 1], [3195, 1], [3194, 1], [3193, 1], [3192, 1], [3191, 1], [3190, 1], [3189, 1], [3188, 1], [3187, 1], [3186, 1], [3185, 1], [3184, 1], [3183, 1], [3182, 1], [3181, 1], [3180, 1], [3179, 1], [3178, 1], [3177, 1], [3176, 1], [3175, 1], [3174, 1], [3173, 1], [3172, 1], [3171, 1], [3170, 1], [3169, 1], [3168, 1], [3167, 1], [3166, 1], [3165, 1], [3164, 1], [3163, 1], [3162, 1], [3161, 1], [3160, 1], [3159, 1], [3158, 1], [3157, 1], [3156, 1], [3155, 1], [3154, 1], [3153, 1], [3152, 1], [3151, 1], [3150, 1], [3149, 1], [3148, 1], [3147, 1], [3146, 1], [3145, 1], [3144, 1], [3143, 1], [3142, 1], [3141, 1], [3140, 1], [3139, 1], [3138, 1], [3137, 1], [3136, 1], [3135, 1], [3134, 1], [3133, 1], [3132, 1], [3131, 1], [3130, 1], [3129, 1], [3128, 1], [3127, 1], [3126, 1], [3125, 1], [3124, 1], [3123, 1], [3122, 1], [3121, 1], [3120, 1], [3119, 1], [3118, 1], [3117, 1], [3116, 1], [3115, 1], [3114, 1], [3113, 1], [3112, 1], [3111, 1], [3110, 1], [3109, 1], [3108, 1], [3107, 1], [3106, 1], [3105, 1], [3104, 1], [3103, 1], [3102, 1], [3101, 1], [3100, 1], [3099, 1], [3098, 1], [3097, 1], [3096, 1], [3095, 1], [3094, 1], [3093, 1], [3092, 1], [3091, 1], [3090, 1], [3089, 1], [3088, 1], [3087, 1], [3086, 1], [3085, 1], [3084, 1], [3083, 1], [3082, 1], [3081, 1], [3080, 1], [3079, 1], [3078, 1], [3077, 1], [3076, 1], [3075, 1], [3074, 1], [3073, 1], [3072, 1], [3071, 1], [3070, 1], [3069, 1], [3068, 1], [3067, 1], [3066, 1], [3065, 1], [3064, 1], [3063, 1], [3062, 1], [3061, 1], [3060, 1], [3059, 1], [3058, 1], [2880, 0, " "], [2881, 0, "$"], [2882, 0, "\\"], [2883, 0, "m"], [2884, 0, "a"], [2885, 0, "t"], [2886, 0, "h"], [2887, 0, "i"], [2888, 0, "t"], [2889, 0, "{"], [2890, 0, "v"], [2891, 0, "a"], [2892, 0, "l"], [2893, 0, "u"], [2894, 0, "e"], [2895, 0, "}"], [2896, 0, "$"], [2897, 0, " "], [2898, 0, "i"], [2899, 0, "s"], [2900, 0, " "], [2901, 0, "a"], [2902, 0, "n"], [2903, 0, "y"], [2904, 0, " "], [2905, 0, "v"], [2906, 0, "a"], [2907, 0, "l"], [2908, 0, "u"], [2909, 0, "e"], [2910, 0, " "], [2911, 0, "o"], [2912, 0, "f"], [2913, 0, " "], [2914, 0, "t"], [2915, 0, "h"], [2916, 0, "e"], [2917, 0, " "], [2918, 0, "d"], [2919, 0, "a"], [2920, 0, "t"], [2921, 0, "a"], [2922, 0, "t"], [2923, 0, "y"], [2924, 0, "p"], [2925, 0, "e"], [2926, 0, " "], [2927, 0, "o"], [2928, 0, "f"], [2929, 0, " "], [2930, 0, "l"], [2931, 0, "i"], [2932, 0, "s"], [2933, 0, "t"], [2934, 0, " "], [2935, 0, "e"], [2936, 0, "l"], [2937, 0, "e"], [2938, 0, "m"], [2939, 0, "e"], [2940, 0, "n"], [2941, 0, "t"], [2942, 0, "s"], [2943, 0, ","], [2944, 0, " "], [2945, 0, "o"], [2946, 0, "r"], [2947, 0, " "], [2948, 0, "t"], [2949, 0, "h"], [2950, 0, "e"], [2951, 0, " "], [2952, 0, "s"], [2953, 0, "p"], [2954, 0, "e"], [2955, 0, "c"], [2956, 0, "i"], [2957, 0, "a"], [2958, 0, "l"], [2959, 0, " "], [2960, 0, "v"], [2961, 0, "a"], [2962, 0, "l"], [2963, 0, "u"], [2964, 0, "e"], [2965, 0, " "], [2966, 0, "$"], [2967, 0, "\\"], [2968, 0, "b"], [2969, 0, "o"], [2970, 0, "t"], [2971, 0, "$"], [2972, 0, ","], [2973, 0, " "], [2974, 0, "i"], [2975, 0, "n"], [2976, 0, "d"], [2977, 0, "i"], [2978, 0, "c"], [2979, 0, "a"], [2980, 0, "t"], [2981, 0, "i"], [2982, 0, "n"], [2983, 0, "g"], [2984, 0, " "], [2985, 0, "t"], [2986, 0, "h"], [2987, 0, "e"], [2988, 0, " "], [2989, 0, "a"], [2990, 0, "b"], [2991, 0, "s"], [2992, 0, "e"], [2993, 0, "n"], [2994, 0, "c"], [2995, 0, "e"], [2996, 0, " "], [2997, 0, "o"], [2998, 0, "f"], [2999, 0, " "], [3000, 0, "a"], [3001, 0, " "], [3002, 0, "v"], [3003, 0, "a"], [3004, 0, "l"], [3005, 0, "u"], [3006, 0, "e"], [3007, 0, "."], [4203, 0, "\n"], [4204, 0, "w"], [4205, 0, "h"], [4206, 0, "e"], [4207, 0, "r"], [4208, 0, "e"], [4209, 0, " "], [4210, 0, "$"], [4211, 0, "<"], [4212, 0, "$"], [4213, 0, " "], [4214, 0, "i"], [4215, 0, "s"], [4216, 0, " "], [4217, 0, "t"], [4218, 0, "h"], [4219, 0, "e"], [4220, 0, " "], [4221, 0, "t"], [4222, 0, "o"], [4223, 0, "t"], [4224, 0, "a"], [4225, 0, "l"], [4226, 0, " "], [4227, 0, "o"], [4228, 0, "r"], [4229, 0, "d"], [4230, 0, "e"], [4231, 0, "r"], [4232, 0, " "], [4233, 0, "o"], [4234, 0, "n"], [4235, 0, " "], [4236, 0, "L"], [4237, 0, "a"], [4238, 0, "m"], [4239, 0, "p"], [4240, 0, "o"], [4241, 0, "r"], [4242, 0, "t"], [4243, 0, " "], [4244, 0, "t"], [4245, 0, "i"], [4246, 0, "m"], [4247, 0, "e"], [4248, 0, "s"], [4249, 0, "t"], [4250, 0, "a"], [4251, 0, "m"], [4252, 0, "p"], [4253, 0, "s"], [4254, 0, ","], [4255, 0, " "], [4256, 0, "w"], [4257, 0, "i"], [4258, 0, "t"], [4259, 0, "h"], [4260, 0, " "], [4261, 0, "t"], [4262, 0, "h"], [4263, 0, "e"], [4264, 0, " "], [4265, 0, "a"], [4266, 0, "d"], [4267, 0, "d"], [4268, 0, "i"], [4269, 0, "t"], [4270, 0, "i"], [4271, 0, "o"], [4272, 0, "n"], [4273, 0, " "], [4274, 0, "t"], [4275, 0, "h"], [4276, 0, "a"], [4277, 0, "t"], [4278, 0, " "], [4279, 0, "$"], [4280, 0, "\\"], [4281, 0, "m"], [4282, 0, "a"], [4283, 0, "t"], [4284, 0, "h"], [4285, 0, "s"], [4286, 0, "f"], [4287, 0, "{"], [4288, 0, "t"], [4289, 0, "a"], [4290, 0, "i"], [4291, 0, "l"], [4292, 0, "}"], [4293, 0, " "], [4294, 0, "<"], [4295, 0, " "], [4296, 0, "("], [4297, 0, "c"], [4298, 0, ","], [4299, 0, " "], [4300, 0, "p"], [4301, 0, ")"], [4302, 0, " "], [4303, 0, "<"], [4304, 0, " "], [4305, 0, "m"], [4306, 0, "a"], [4306, 1], [4305, 1], [4305, 0, "\\"], [4306, 0, "m"], [4307, 0, "a"], [4308, 0, "t"], [4309, 0, "h"], [4310, 0, "s"], [4311, 0, "f"], [4312, 0, "{"], [4313, 0, "h"], [4314, 0, "e"], [4315, 0, "a"], [4316, 0, "d"], [4317, 0, "}"], [4318, 0, "$"], [4319, 0, " "], [4320, 0, "f"], [4321, 0, "o"], [4322, 0, "r"], [4323, 0, " "], [4324, 0, "a"], [4325, 0, "n"], [4326, 0, "y"], [4327, 0, " "], [4328, 0, "L"], [4329, 0, "a"], [4330, 0, "m"], [4331, 0, "p"], [4332, 0, "o"], [4333, 0, "r"], [4334, 0, "t"], [4335, 0, " "], [4336, 0, "t"], [4337, 0, "i"], [4338, 0, "m"], [4339, 0, "e"], [4340, 0, "s"], [4341, 0, "t"], [4342, 0, "a"], [4343, 0, "m"], [4344, 0, "p"], [4345, 0, " "], [4346, 0, "("], [4346, 1], [4346, 0, "$"], [4347, 0, "("], [4348, 0, "c"], [4349, 0, ","], [4350, 0, " "], [4351, 0, "p"], [4352, 0, ")"], [4353, 0, "$"], [4354, 0, "."], [4111, 0, "\\"], [4112, 0, "q"], [4113, 0, "u"], [4114, 0, "a"], [4115, 0, "d"], [3934, 0, "\\"], [3935, 0, "q"], [3936, 0, "u"], [3937, 0, "a"], [3938, 0, "d"], [3298, 0, "\n"], [3299, 0, "\n"], [3300, 0, "L"], [3301, 0, "i"], [3302, 0, "s"], [3303, 0, "t"], [3304, 0, " "], [3305, 0, "i"], [3306, 0, "t"], [3307, 0, "e"], [3308, 0, "m"], [3309, 0, "s"], [3310, 0, " "], [3311, 0, "a"], [3312, 0, "r"], [3313, 0, "e"], [3314, 0, " "], [3315, 0, "i"], [3316, 0, "n"], [3317, 0, "s"], [3318, 0, "e"], [3319, 0, "r"], [3320, 0, "t"], [3321, 0, "e"], [3322, 0, "d"], [3323, 0, " "], [3323, 1], [3322, 1], [3321, 1], [3320, 1], [3319, 1], [3318, 1], [3317, 1], [3316, 1], [3315, 1], [3314, 1], [3313, 1], [3312, 1], [3311, 1], [3310, 1], [3309, 1], [3308, 1], [3307, 1], [3306, 1], [3305, 1], [3304, 1], [3303, 1], [3302, 1], [3301, 1], [3300, 1], [3300, 0, "E"], [3301, 0, "a"], [3302, 0, "c"], [3303, 0, "h"], [3304, 0, " "], [3305, 0, "l"], [3306, 0, "i"], [3307, 0, "s"], [3308, 0, "t"], [3309, 0, " "], [3310, 0, "i"], [3311, 0, "t"], [3312, 0, "e"], [3313, 0, "m"], [3314, 0, " "], [3315, 0, "i"], [3316, 0, "s"], [3317, 0, " "], [3318, 0, "u"], [3319, 0, "n"], [3320, 0, "i"], [3321, 0, "q"], [3322, 0, "u"], [3323, 0, "e"], [3324, 0, "l"], [3325, 0, "y"], [3326, 0, " "], [3327, 0, "i"], [3328, 0, "d"], [3329, 0, "e"], [3330, 0, "n"], [3331, 0, "t"], [3332, 0, "i"], [3333, 0, "f"], [3334, 0, "i"], [3335, 0, "e"], [3336, 0, "d"], [3337, 0, " "], [3338, 0, "b"], [3339, 0, "y"], [3340, 0, " "], [3341, 0, "t"], [3342, 0, "h"], [3343, 0, "e"], [3344, 0, " "], [3345, 0, "L"], [3346, 0, "a"], [3347, 0, "m"], [3348, 0, "p"], [3349, 0, "o"], [3350, 0, "r"], [3351, 0, "t"], [3352, 0, " "], [3353, 0, "t"], [3354, 0, "i"], [3355, 0, "m"], [3356, 0, "e"], [3357, 0, "s"], [3358, 0, "t"], [3359, 0, "a"], [3360, 0, "m"], [3361, 0, "p"], [3362, 0, " "], [3363, 0, "o"], [3364, 0, "f"], [3365, 0, " "], [3366, 0, "t"], [3367, 0, "h"], [3368, 0, "e"], [3369, 0, " "], [3370, 0, "\\"], [3370, 1], [3370, 0, "$"], [3371, 0, "\\"], [3372, 0, "m"], [3373, 0, "a"], [3374, 0, "t"], [3375, 0, "h"], [3376, 0, "s"], [3377, 0, "f"], [3378, 0, "{"], [3379, 0, "i"], [3380, 0, "n"], [3381, 0, "s"], [3382, 0, "e"], [3383, 0, "r"], [3384, 0, "t"], [3385, 0, "}"], [3386, 0, " "], [3386, 1], [3386, 0, "$"], [3387, 0, " "], [3388, 0, "o"], [3389, 0, "p"], [3390, 0, "e"], [3391, 0, "r"], [3392, 0, "a"], [3393, 0, "t"], [3394, 0, "i"], [3395, 0, "o"], [3396, 0, "n"], [3397, 0, " "], [3398, 0, "t"], [3399, 0, "h"], [3400, 0, "a"], [3401, 0, "t"], [3402, 0, " "], [3403, 0, "i"], [3404, 0, "n"], [3405, 0, "s"], [3406, 0, "e"], [3407, 0, "r"], [3408, 0, "t"], [3409, 0, "e"], [3410, 0, "d"], [3411, 0, " "], [3412, 0, "t"], [3413, 0, "h"], [3414, 0, "e"], [3415, 0, " "], [3416, 0, "i"], [3417, 0, "t"], [3418, 0, "e"], [3419, 0, "m"], [3420, 0, "."], [3421, 0, " "], [3422, 0, "T"], [3423, 0, "h"], [3313, 1], [3312, 1], [3311, 1], [3310, 1], [3310, 0, "e"], [3311, 0, "l"], [3312, 0, "e"], [3313, 0, "m"], [3314, 0, "e"], [3315, 0, "n"], [3316, 0, "t"], [3422, 1], [3421, 1], [3420, 1], [3419, 1], [3418, 1], [3417, 1], [3416, 1], [3415, 1], [3415, 0, "i"], [3416, 0, "t"], [3413, 1], [3412, 1], [3411, 1], [3410, 1], [3409, 1], [3408, 1], [3407, 1], [3406, 1], [3406, 0, "c"], [3407, 0, "r"], [3408, 0, "e"], [3409, 0, "a"], [3410, 0, "t"], [3411, 0, "e"], [3412, 0, "d"], [3419, 1], [3418, 1], [3418, 0, "W"], [3419, 0, "e"], [3420, 0, " "], [3421, 0, "c"], [3422, 0, "a"], [3423, 0, "l"], [3424, 0, "l"], [3425, 0, " "], [3426, 0, "t"], [3427, 0, "h"], [3428, 0, "e"], [3429, 0, " "], [3430, 0, "L"], [3431, 0, "a"], [3432, 0, "m"], [3433, 0, "p"], [3434, 0, "o"], [3435, 0, "r"], [3436, 0, "t"], [3437, 0, " "], [3438, 0, "t"], [3439, 0, "i"], [3440, 0, "m"], [3441, 0, "e"], [3442, 0, "s"], [3443, 0, "t"], [3444, 0, "a"], [3445, 0, "m"], [3446, 0, "p"], [3447, 0, " "], [3447, 1], [3446, 1], [3445, 1], [3444, 1], [3443, 1], [3442, 1], [3441, 1], [3440, 1], [3439, 1], [3438, 1], [3437, 1], [3436, 1], [3435, 1], [3434, 1], [3433, 1], [3432, 1], [3431, 1], [3430, 1], [3429, 1], [3428, 1], [3427, 1], [3426, 1], [3425, 1], [3424, 1], [3423, 1], [3422, 1], [3421, 1], [3420, 1], [3419, 1], [3418, 1], [3417, 1], [3417, 0, " "], [3417, 1], [3299, 0, "\n"], [3300, 0, "L"], [3301, 0, "i"], [3302, 0, "s"], [3302, 1], [3301, 1], [3300, 1], [3300, 0, "E"], [3301, 0, "l"], [3302, 0, "e"], [3303, 0, "m"], [3304, 0, "e"], [3305, 0, "n"], [3306, 0, "t"], [3307, 0, " "], [3307, 1], [3306, 1], [3305, 1], [3304, 1], [3303, 1], [3302, 1], [3301, 1], [3300, 1], [3300, 0, "A"], [3301, 0, " "], [3302, 0, "l"], [3303, 0, "i"], [3304, 0, "s"], [3305, 0, "t"], [3306, 0, " "], [3307, 0, "e"], [3308, 0, "l"], [3309, 0, "e"], [3310, 0, "m"], [3311, 0, "e"], [3312, 0, "n"], [3313, 0, "t"], [3314, 0, " "], [3315, 0, "i"], [3316, 0, "s"], [3317, 0, " "], [3318, 0, "c"], [3319, 0, "r"], [3320, 0, "e"], [3321, 0, "a"], [3322, 0, "t"], [3323, 0, "e"], [3324, 0, "d"], [3325, 0, " "], [3326, 0, "w"], [3327, 0, "i"], [3328, 0, "t"], [3329, 0, "h"], [3330, 0, " "], [3331, 0, "a"], [3332, 0, "n"], [3333, 0, " "], [3334, 0, "$"], [3335, 0, "\\"], [3336, 0, "m"], [3337, 0, "a"], [3338, 0, "t"], [3339, 0, "h"], [3340, 0, "s"], [3341, 0, "f"], [3342, 0, "{"], [3343, 0, "i"], [3344, 0, "n"], [3345, 0, "s"], [3346, 0, "e"], [3347, 0, "r"], [3348, 0, "t"], [3349, 0, "}"], [3350, 0, "$"], [3351, 0, " "], [3352, 0, "o"], [3353, 0, "p"], [3354, 0, "e"], [3355, 0, "r"], [3356, 0, "a"], [3357, 0, "t"], [3358, 0, "i"], [3359, 0, "o"], [3360, 0, "n"], [3361, 0, "."], [3362, 0, " "], [3363, 0, "S"], [3364, 0, "i"], [3365, 0, "n"], [3366, 0, "c"], [3367, 0, "e"], [3368, 0, " "], [3369, 0, "e"], [3370, 0, "a"], [3371, 0, "c"], [3372, 0, "h"], [3373, 0, " "], [3374, 0, "o"], [3375, 0, "p"], [3376, 0, "e"], [3377, 0, "r"], [3378, 0, "a"], [3379, 0, "t"], [3380, 0, "i"], [3381, 0, "o"], [3382, 0, "n"], [3383, 0, " "], [3384, 0, "h"], [3385, 0, "a"], [3386, 0, "s"], [3387, 0, " "], [3388, 0, "a"], [3389, 0, " "], [3390, 0, "L"], [3391, 0, "a"], [3392, 0, "m"], [3393, 0, "p"], [3394, 0, "o"], [3395, 0, "r"], [3396, 0, "t"], [3397, 0, " "], [3398, 0, "t"], [3399, 0, "i"], [3400, 0, "m"], [3401, 0, "e"], [3402, 0, "s"], [3403, 0, "t"], [3404, 0, "a"], [3405, 0, "m"], [3406, 0, "p"], [3407, 0, ","], [3408, 0, " "], [3409, 0, "a"], [3410, 0, " "], [3411, 0, "l"], [3412, 0, "i"], [3413, 0, "s"], [3414, 0, "t"], [3415, 0, " "], [3416, 0, "e"], [3417, 0, "l"], [3418, 0, "e"], [3419, 0, "m"], [3420, 0, "e"], [3421, 0, "n"], [3422, 0, "t"], [3423, 0, " "], [3424, 0, "c"], [3425, 0, "a"], [3426, 0, "n"], [3427, 0, " "], [3428, 0, "b"], [3429, 0, "e"], [3430, 0, " "], [3430, 1], [3429, 1], [3428, 1], [3427, 1], [3426, 1], [3425, 1], [3424, 1], [3441, 1], [3440, 1], [3439, 1], [3438, 1], [3437, 1], [3436, 1], [3435, 1], [3434, 1], [3433, 1], [3432, 1], [3431, 1], [3430, 1], [3429, 1], [3428, 1], [3427, 1], [3426, 1], [3425, 1], [3424, 1], [3423, 1], [3460, 1], [3459, 1], [3458, 1], [3457, 1], [3456, 1], [3455, 1], [3454, 1], [3453, 1], [3452, 1], [3451, 1], [3450, 1], [3450, 0, "i"], [3451, 0, "t"], [3452, 0, "s"], [3463, 0, ","], [3464, 0, " "], [3465, 0, "w"], [3466, 0, "h"], [3467, 0, "i"], [3468, 0, "c"], [3469, 0, "h"], [3470, 0, " "], [3471, 0, "r"], [3472, 0, "e"], [3473, 0, "m"], [3474, 0, "a"], [3475, 0, "i"], [3476, 0, "n"], [3477, 0, "s"], [3478, 0, " "], [3479, 0, "i"], [3480, 0, "m"], [3481, 0, "m"], [3482, 0, "u"], [3483, 0, "t"], [3484, 0, "a"], [3485, 0, "b"], [3486, 0, "l"], [3487, 0, "e"], [3488, 0, "."], [3488, 0, " "], [3489, 0, "f"], [3490, 0, "o"], [3491, 0, "r"], [3492, 0, " "], [3493, 0, "t"], [3494, 0, "h"], [3495, 0, "e"], [3496, 0, " "], [3497, 0, "l"], [3498, 0, "i"], [3499, 0, "f"], [3500, 0, "e"], [3501, 0, "t"], [3502, 0, "i"], [3503, 0, "m"], [3504, 0, "e"], [3505, 0, " "], [3506, 0, "o"], [3507, 0, "f"], [3508, 0, " "], [3509, 0, "t"], [3510, 0, "h"], [3511, 0, "e"], [3512, 0, " "], [3513, 0, "d"], [3514, 0, "o"], [3515, 0, "c"], [3516, 0, "u"], [3517, 0, "m"], [3518, 0, "e"], [3519, 0, "n"], [3520, 0, "t"], [3522, 0, " "], [3523, 0, "W"], [3524, 0, "e"], [3525, 0, " "], [3526, 0, "c"], [3527, 0, "a"], [3528, 0, "l"], [3529, 0, "l"], [3530, 0, " "], [3531, 0, "t"], [3532, 0, "h"], [3533, 0, "a"], [3534, 0, "t"], [3535, 0, " "], [3536, 0, "L"], [3537, 0, "a"], [3538, 0, "m"], [3539, 0, "p"], [3540, 0, "o"], [3541, 0, "r"], [3542, 0, "t"], [3543, 0, " "], [3544, 0, "t"], [3545, 0, "i"], [3546, 0, "m"], [3547, 0, "e"], [3548, 0, "s"], [3549, 0, "t"], [3550, 0, "a"], [3551, 0, "m"], [3552, 0, "p"], [3553, 0, " "], [3554, 0, "t"], [3555, 0, "h"], [3556, 0, "e"], [3557, 0, " "], [3558, 0, "I"], [3559, 0, "D"], [3560, 0, " "], [3561, 0, "o"], [3562, 0, "f"], [3563, 0, " "], [3564, 0, "t"], [3565, 0, "h"], [3566, 0, "e"], [3567, 0, " "], [3568, 0, "l"], [3569, 0, "i"], [3570, 0, "s"], [3571, 0, "t"], [3572, 0, " "], [3573, 0, "e"], [3574, 0, "l"], [3575, 0, "e"], [3576, 0, "m"], [3577, 0, "e"], [3578, 0, "n"], [3579, 0, "t"], [3580, 0, "."], [3632, 1], [3631, 1], [3630, 1], [3629, 1], [3628, 1], [3627, 1], [3626, 1], [3625, 1], [3624, 1], [3623, 1], [3622, 1], [3621, 1], [3620, 1], [3619, 1], [3618, 1], [3617, 1], [3616, 1], [3615, 1], [3614, 1], [3613, 1], [3612, 1], [3611, 1], [3610, 1], [3609, 1], [3608, 1], [3607, 1], [3606, 1], [3605, 1], [3604, 1], [3603, 1], [3602, 1], [3601, 1], [3600, 1], [3599, 1], [3598, 1], [3597, 1], [3596, 1], [3595, 1], [3594, 1], [3593, 1], [3592, 1], [3591, 1], [3590, 1], [3589, 1], [3588, 1], [3587, 1], [3586, 1], [3585, 1], [3584, 1], [3583, 1], [3582, 1], [3581, 1], [4566, 0, "a"], [4567, 0, "l"], [4568, 0, " "], [4569, 0, "r"], [4570, 0, "e"], [4571, 0, "q"], [4572, 0, "u"], [4573, 0, "i"], [4574, 0, "r"], [4575, 0, "e"], [4576, 0, "m"], [4577, 0, "e"], [4578, 0, "n"], [4579, 0, "t"], [4624, 1], [4623, 1], [4622, 1], [4621, 1], [4620, 1], [4619, 1], [4618, 1], [4617, 1], [4616, 1], [4615, 1], [4614, 1], [4613, 1], [4612, 1], [4611, 1], [4610, 1], [4609, 1], [5350, 0, "\n"], [5351, 0, "\n"], [5352, 0, "T"], [5353, 0, "h"], [5354, 0, "e"], [5355, 0, " "], [5356, 0, "u"], [5357, 0, "s"], [5358, 0, "e"], [5359, 0, "r"], [5360, 0, " "], [5361, 0, "v"], [5362, 0, "i"], [5363, 0, "e"], [5364, 0, "w"], [5365, 0, " "], [5366, 0, "o"], [5367, 0, "f"], [5368, 0, " "], [5369, 0, "a"], [5370, 0, " "], [5371, 0, "l"], [5372, 0, "i"], [5373, 0, "s"], [5374, 0, "t"], [5375, 0, " "], [5376, 0, "A"], [5377, 0, " "], [5378, 0, "i"], [5379, 0, "t"], [5380, 0, "e"], [5381, 0, "r"], [5382, 0, "a"], [5383, 0, "t"], [5384, 0, "e"], [5385, 0, "s"], [5386, 0, " "], [5387, 0, "o"], [5388, 0, "v"], [5389, 0, "e"], [5390, 0, "r"], [5391, 0, " "], [5392, 0, "t"], [5393, 0, "h"], [5394, 0, "e"], [5395, 0, " "], [5396, 0, "l"], [5397, 0, "i"], [5398, 0, "s"], [5399, 0, "t"], [5400, 0, " "], [5401, 0, "e"], [5402, 0, "l"], [5403, 0, "e"], [5404, 0, "m"], [5405, 0, "e"], [5406, 0, "n"], [5407, 0, "t"], [5408, 0, "s"], [5409, 0, " "], [5410, 0, "f"], [5411, 0, "r"], [5412, 0, "o"], [5413, 0, "m"], [5414, 0, " "], [5415, 0, "\\"], [5415, 1], [5415, 0, "$"], [5416, 0, "\\"], [5417, 0, "m"], [5418, 0, "a"], [5419, 0, "t"], [5420, 0, "h"], [5421, 0, "s"], [5422, 0, "f"], [5423, 0, "{"], [5424, 0, "h"], [5425, 0, "e"], [5426, 0, "a"], [5427, 0, "d"], [5428, 0, "}"], [5429, 0, "$"], [5430, 0, " "], [5431, 0, "t"], [5432, 0, "o"], [5433, 0, " "], [5434, 0, "$"], [5435, 0, "\\"], [5436, 0, "m"], [5437, 0, "a"], [5438, 0, "t"], [5439, 0, "h"], [5440, 0, "s"], [5441, 0, "f"], [5442, 0, "{"], [5443, 0, "t"], [5444, 0, "a"], [5445, 0, "i"], [5446, 0, "l"], [5447, 0, "}"], [5448, 0, "$"], [5449, 0, ","], [5450, 0, " "], [5451, 0, "s"], [5452, 0, "k"], [5453, 0, "i"], [5454, 0, "p"], [5455, 0, "p"], [5456, 0, "i"], [5457, 0, "n"], [5458, 0, "g"], [5459, 0, " "], [5460, 0, "a"], [5461, 0, "n"], [5462, 0, "y"], [5463, 0, " "], [5464, 0, "d"], [5465, 0, "e"], [5466, 0, "l"], [5467, 0, "e"], [5468, 0, "t"], [5469, 0, "e"], [5470, 0, "d"], [5471, 0, " "], [5472, 0, "e"], [5473, 0, "l"], [5474, 0, "e"], [5475, 0, "m"], [5476, 0, "e"], [5477, 0, "n"], [5478, 0, "t"], [5479, 0, "s"], [5480, 0, " "], [5481, 0, "("], [5482, 0, "t"], [5483, 0, "o"], [5484, 0, "m"], [5485, 0, "b"], [5486, 0, "s"], [5487, 0, "t"], [5488, 0, "o"], [5489, 0, "n"], [5490, 0, "e"], [5491, 0, "s"], [5492, 0, ")"], [5493, 0, ":"], [5494, 0, "\n"], [5495, 0, "\\"], [5496, 0, "b"], [5497, 0, "e"], [5498, 0, "g"], [5499, 0, "i"], [5500, 0, "n"], [5501, 0, "{"], [5502, 0, "a"], [5503, 0, "l"], [5504, 0, "i"], [5505, 0, "g"], [5506, 0, "n"], [5507, 0, "*"], [5508, 0, "}"], [5509, 0, "\n"], [5510, 0, "\\"], [5511, 0, "e"], [5512, 0, "n"], [5513, 0, "d"], [5514, 0, "{"], [5515, 0, "a"], [5516, 0, "l"], [5517, 0, "i"], [5518, 0, "g"], [5519, 0, "n"], [5520, 0, "*"], [5521, 0, "}"], [5509, 0, "\n"], [5510, 0, "\\"], [5511, 0, "m"], [5512, 0, "a"], [5513, 0, "t"], [5514, 0, "h"], [5515, 0, "r"], [5516, 0, "m"], [5517, 0, "("], [5517, 1], [5517, 0, "{"], [5518, 0, "v"], [5519, 0, "i"], [5520, 0, "e"], [5521, 0, "w"], [5522, 0, "}"], [5523, 0, "("], [5524, 0, "A"], [5525, 0, ")"], [5526, 0, " "], [5527, 0, "="], [5528, 0, " "], [5529, 0, "\\"], [5530, 0, "a"], [5531, 0, "t"], [5531, 1], [5530, 1], [5530, 0, "m"], [5531, 0, "a"], [5532, 0, "t"], [5533, 0, "h"], [5534, 0, "r"], [5535, 0, "m"], [5536, 0, "{"], [5537, 0, "i"], [5538, 0, "t"], [5539, 0, "e"], [5540, 0, "r"], [5541, 0, "}"], [5542, 0, "("], [5543, 0, "A"], [5544, 0, ","], [5545, 0, " "], [5546, 0, "\\"], [5547, 0, "m"], [5548, 0, "a"], [5549, 0, "t"], [5550, 0, "h"], [5551, 0, "s"], [5552, 0, "f"], [5553, 0, "{"], [5554, 0, "h"], [5555, 0, "e"], [5556, 0, "a"], [5557, 0, "d"], [5558, 0, "}"], [5559, 0, ")"], [5560, 0, " "], [5561, 0, "\\"], [5562, 0, "\\"], [5527, 0, "&"], [5564, 0, "\n"], [5565, 0, "\\"], [5566, 0, "m"], [5567, 0, "a"], [5568, 0, "t"], [5569, 0, "h"], [5570, 0, "r"], [5571, 0, "m"], [5572, 0, "{"], [5573, 0, "i"], [5574, 0, "t"], [5575, 0, "e"], [5576, 0, "r"], [5577, 0, "}"], [5578, 0, "("], [5579, 0, "A"], [5580, 0, ","], [5581, 0, " "], [5582, 0, "\\"], [5583, 0, "m"], [5584, 0, "a"], [5585, 0, "t"], [5586, 0, "h"], [5587, 0, "i"], [5588, 0, "t"], [5589, 0, "{"], [5590, 0, "I"], [5590, 1], [5590, 0, "i"], [5591, 0, "d"], [5592, 0, "}"], [5593, 0, ")"], [5594, 0, " "], [5595, 0, "&"], [5596, 0, "="], [5597, 0, " "], [5598, 0, "\\"], [5599, 0, "b"], [5600, 0, "e"], [5601, 0, "g"], [5602, 0, "i"], [5603, 0, "n"], [5604, 0, "{"], [5605, 0, "c"], [5606, 0, "a"], [5607, 0, "s"], [5608, 0, "e"], [5609, 0, "s"], [5610, 0, "}"], [5611, 0, "\n"], [5612, 0, "\\"], [5613, 0, "e"], [5614, 0, "n"], [5615, 0, "d"], [5616, 0, "["], [5616, 1], [5616, 0, "{"], [5617, 0, "c"], [5618, 0, "a"], [5619, 0, "s"], [5620, 0, "e"], [5621, 0, "s"], [5622, 0, "}"], [5611, 0, "\n"], [5612, 0, " "], [5613, 0, " "], [5614, 0, " "], [5615, 0, " "], [5616, 0, "["], [5617, 0, "v"], [5618, 0, "]"], [5619, 0, " "], [5620, 0, ":"], [5621, 0, ":"], [5622, 0, " "], [5622, 1], [5621, 1], [5620, 1], [5619, 1], [5619, 0, " "], [5620, 0, "\\"], [5621, 0, "m"], [5622, 0, "a"], [5623, 0, "t"], [5624, 0, "h"], [5625, 0, "b"], [5626, 0, "i"], [5627, 0, "n"], [5628, 0, "{"], [5629, 0, ":"], [5630, 0, ":"], [5631, 0, "}"], [5632, 0, " "], [5633, 0, "\\"], [5634, 0, "m"], [5635, 0, "a"], [5636, 0, "t"], [5637, 0, "h"], [5638, 0, "r"], [5639, 0, "m"], [5640, 0, "{"], [5641, 0, "i"], [5642, 0, "t"], [5643, 0, "e"], [5644, 0, "r"], [5645, 0, "}"], [5646, 0, "("], [5647, 0, "A"], [5648, 0, ","], [5649, 0, " "], [5650, 0, "n"], [5651, 0, ")"], [5652, 0, " "], [5653, 0, "\\"], [5654, 0, "q"], [5655, 0, "u"], [5656, 0, "a"], [5657, 0, "d"], [5658, 0, " "], [5659, 0, "\\"], [5660, 0, "t"], [5661, 0, "e"], [5662, 0, "x"], [5663, 0, "t"], [5664, 0, "{"], [5665, 0, "i"], [5666, 0, "f"], [5667, 0, " "], [5668, 0, "}"], [5669, 0, ";"], [5669, 1], [5669, 0, "\\"], [5670, 0, ";"], [5671, 0, " "], [5672, 0, "A"], [5673, 0, "("], [5674, 0, "\\"], [5675, 0, "m"], [5676, 0, "a"], [5677, 0, "t"], [5678, 0, "h"], [5679, 0, "i"], [5680, 0, "t"], [5681, 0, "{"], [5682, 0, "i"], [5683, 0, "d"], [5684, 0, "}"], [5685, 0, ")"], [5686, 0, " "], [5687, 0, "="], [5688, 0, " "], [5689, 0, "("], [5690, 0, "v"], [5691, 0, ","], [5692, 0, " "], [5693, 0, "n"], [5694, 0, ")"], [5695, 0, " "], [5696, 0, "\\"], [5697, 0, ";"], [5698, 0, "w"], [5698, 1], [5698, 0, "\\"], [5699, 0, "w"], [5700, 0, "e"], [5701, 0, "d"], [5702, 0, "g"], [5703, 0, "e"], [5704, 0, "\\"], [5705, 0, ";"], [5706, 0, " "], [5707, 0, "v"], [5708, 0, " "], [5709, 0, "\\"], [5710, 0, "n"], [5711, 0, "e"], [5712, 0, "q"], [5713, 0, " "], [5714, 0, "\\"], [5715, 0, "b"], [5716, 0, "o"], [5717, 0, "t"], [5718, 0, " "], [5719, 0, "\\"], [5720, 0, "\\"], [5721, 0, "\n"], [5722, 0, " "], [5723, 0, " "], [5724, 0, " "], [5725, 0, " "], [5726, 0, "\\"], [5727, 0, "m"], [5728, 0, "a"], [5729, 0, "t"], [5730, 0, "h"], [5731, 0, "r"], [5732, 0, "m"], [5733, 0, "{"], [5734, 0, "i"], [5735, 0, "t"], [5736, 0, "e"], [5737, 0, "r"], [5738, 0, "}"], [5739, 0, "("], [5740, 0, "A"], [5741, 0, ","], [5742, 0, " "], [5743, 0, "n"], [5744, 0, ")"], [5745, 0, " "], [5746, 0, "\\"], [5747, 0, "q"], [5748, 0, "u"], [5749, 0, "a"], [5750, 0, "d"], [5751, 0, " "], [5752, 0, "\\"], [5753, 0, "t"], [5754, 0, "e"], [5755, 0, "x"], [5756, 0, "t"], [5726, 0, " "], [5727, 0, " "], [5728, 0, " "], [5729, 0, " "], [5730, 0, " "], [5731, 0, " "], [5732, 0, " "], [5733, 0, " "], [5734, 0, " "], [5735, 0, " "], [5736, 0, " "], [5737, 0, " "], [5738, 0, " "], [5739, 0, " "], [5740, 0, " "], [5741, 0, " "], [5742, 0, " "], [5743, 0, " "], [5744, 0, " "], [5745, 0, " "], [5746, 0, " "], [5747, 0, " "], [5748, 0, " "], [5749, 0, " "], [5750, 0, " "], [5751, 0, " "], [5752, 0, " "], [5753, 0, " "], [5754, 0, " "], [5755, 0, " "], [5755, 1], [5754, 1], [5753, 1], [5752, 1], [5751, 1], [5750, 1], [5749, 1], [5748, 1], [5747, 1], [5746, 1], [5745, 1], [5744, 1], [5743, 1], [5774, 0, "{"], [5775, 0, "i"], [5776, 0, "f"], [5777, 0, " "], [5778, 0, "}"], [5779, 0, "\\"], [5780, 0, ";"], [5781, 0, " "], [5782, 0, "A"], [5783, 0, "("], [5784, 0, "\\"], [5785, 0, "m"], [5786, 0, "a"], [5787, 0, "t"], [5788, 0, "h"], [5789, 0, "i"], [5790, 0, "t"], [5791, 0, "{"], [5792, 0, "i"], [5793, 0, "d"], [5794, 0, "}"], [5795, 0, ")"], [5796, 0, " "], [5797, 0, "="], [5798, 0, " "], [5799, 0, "("], [5800, 0, "v"], [5801, 0, ","], [5802, 0, " "], [5803, 0, "n"], [5804, 0, ")"], [5805, 0, " "], [5806, 0, "\\"], [5807, 0, ";"], [5808, 0, "\\"], [5809, 0, "w"], [5810, 0, "e"], [5811, 0, "d"], [5812, 0, "g"], [5813, 0, "e"], [5814, 0, "\\"], [5815, 0, ";"], [5816, 0, " "], [5817, 0, "v"], [5818, 0, " "], [5819, 0, "="], [5820, 0, " "], [5821, 0, "\\"], [5822, 0, "b"], [5823, 0, "o"], [5824, 0, "t"], [5825, 0, " "], [5826, 0, "\\"], [5827, 0, "\\"], [5828, 0, "\n"], [5829, 0, " "], [5830, 0, " "], [5831, 0, " "], [5832, 0, " "], [5833, 0, "p"], [5833, 1], [5833, 0, "["], [5834, 0, "]"], [5835, 0, " "], [5836, 0, "\\"], [5837, 0, "q"], [5838, 0, "u"], [5839, 0, "a"], [5840, 0, "d"], [5841, 0, " "], [5842, 0, "\\"], [5843, 0, "t"], [5844, 0, "e"], [5845, 0, "x"], [5846, 0, "t"], [5847, 0, "{"], [5848, 0, "i"], [5849, 0, "f"], [5850, 0, " "], [5851, 0, "}"], [5852, 0, ";"], [5852, 1], [5852, 0, "\\"], [5853, 0, ";"], [5854, 0, " "], [5855, 0, "\\"], [5856, 0, "m"], [5857, 0, "a"], [5858, 0, "t"], [5859, 0, "h"], [5860, 0, "i"], [5861, 0, "t"], [5862, 0, "{"], [5863, 0, "i"], [5864, 0, "d"], [5865, 0, "}"], [5866, 0, " "], [5867, 0, "="], [5868, 0, " "], [5869, 0, "\\"], [5870, 0, "m"], [5871, 0, "a"], [5872, 0, "t"], [5873, 0, "h"], [5874, 0, "s"], [5875, 0, "f"], [5876, 0, "{"], [5877, 0, "t"], [5878, 0, "a"], [5879, 0, "i"], [5880, 0, "l"], [5881, 0, "}"], [5658, 1], [5657, 1], [5656, 1], [5655, 1], [5654, 1], [5653, 1], [5653, 0, "&"], [5763, 1], [5762, 1], [5761, 1], [5760, 1], [5759, 1], [5758, 1], [5758, 0, "&"], [5759, 0, " "], [5654, 0, " "], [5832, 1], [5831, 1], [5830, 1], [5829, 1], [5828, 1], [5828, 0, "&"], [5826, 0, "\\"], [5827, 0, ","], [5576, 1], [5575, 1], [5642, 1], [5641, 1], [5745, 1], [5745, 1], [5541, 1], [5540, 1], [5540, 0, "r"], [5574, 0, "r"], [5641, 0, "r"], [5746, 0, "r"], [5893, 0, "\n"], [5894, 0, "\n"], [5895, 0, "\\"], [5896, 0, "s"], [5897, 0, "u"], [5898, 0, "b"], [5899, 0, "s"], [5900, 0, "e"], [5901, 0, "c"], [5902, 0, "t"], [5903, 0, "i"], [5904, 0, "o"], [5905, 0, "n"], [5906, 0, "{"], [5907, 0, "C"], [5908, 0, "o"], [5909, 0, "n"], [5910, 0, "v"], [5911, 0, "e"], [5912, 0, "r"], [5913, 0, "g"], [5914, 0, "e"], [5915, 0, "n"], [5916, 0, "c"], [5917, 0, "e"], [5918, 0, "}"], [5919, 0, "\n"], [5920, 0, "\n"], [5921, 0, "W"], [5922, 0, "e"], [5923, 0, " "], [5924, 0, "n"], [5925, 0, "o"], [5926, 0, "w"], [5927, 0, " "], [5928, 0, "p"], [5929, 0, "r"], [5930, 0, "o"], [5931, 0, "v"], [5932, 0, "e"], [5933, 0, " "], [5934, 0, "t"], [5935, 0, "h"], [5936, 0, "e"], [5937, 0, " "], [5938, 0, "c"], [5939, 0, "o"], [5940, 0, "n"], [5941, 0, "v"], [5942, 0, "e"], [5943, 0, "r"], [5944, 0, "g"], [5945, 0, "e"], [5946, 0, "n"], [5947, 0, "c"], [5948, 0, "e"], [5949, 0, " "], [5950, 0, "p"], [5951, 0, "r"], [5952, 0, "o"], [5953, 0, "p"], [5954, 0, "e"], [5955, 0, "r"], [5956, 0, "t"], [5957, 0, "y"], [5958, 0, ","], [5959, 0, " "], [5960, 0, "a"], [5961, 0, "l"], [5962, 0, "s"], [5963, 0, "o"], [5964, 0, " "], [5965, 0, "k"], [5966, 0, "n"], [5967, 0, "o"], [5968, 0, "w"], [5969, 0, "n"], [5970, 0, " "], [5971, 0, "a"], [5972, 0, "s"], [5973, 0, " "], [5974, 0, "\\"], [5975, 0, "e"], [5976, 0, "m"], [5977, 0, "p"], [5978, 0, "h"], [5979, 0, "{"], [5980, 0, "e"], [5981, 0, "v"], [5982, 0, "e"], [5983, 0, "n"], [5984, 0, "t"], [5985, 0, "u"], [5986, 0, "a"], [5987, 0, "l"], [5988, 0, " "], [5989, 0, "c"], [5990, 0, "o"], [5991, 0, "n"], [5992, 0, "s"], [5993, 0, "i"], [5994, 0, "s"], [5995, 0, "t"], [5996, 0, "e"], [5997, 0, "n"], [5998, 0, "c"], [5999, 0, "y"], [6000, 0, "}"], [6001, 0, ","], [6002, 0, " "], [6003, 0, "f"], [6004, 0, "o"], [6005, 0, "r"], [6006, 0, " "], [6007, 0, "t"], [6008, 0, "h"], [6009, 0, "i"], [6010, 0, "s"], [6011, 0, " "], [6012, 0, "d"], [6013, 0, "a"], [6014, 0, "t"], [6015, 0, "a"], [6016, 0, " "], [6017, 0, "s"], [6018, 0, "t"], [6019, 0, "r"], [6020, 0, "u"], [6021, 0, "c"], [6022, 0, "t"], [6023, 0, "u"], [6024, 0, "r"], [6025, 0, "e"], [6026, 0, "."], [6027, 0, "\n"], [6028, 0, "\n"], [6029, 0, "\\"], [6030, 0, "t"], [6031, 0, "e"], [6032, 0, "x"], [6033, 0, "t"], [6034, 0, "b"], [6035, 0, "f"], [6036, 0, "{"], [6037, 0, "T"], [6038, 0, "h"], [6039, 0, "e"], [6040, 0, "o"], [6041, 0, "r"], [6042, 0, "e"], [6043, 0, "m"], [6044, 0, "."], [6045, 0, "}"], [6046, 0, " "], [6047, 0, "I"], [6048, 0, "f"], [6049, 0, " "], [6050, 0, "t"], [6051, 0, "w"], [6052, 0, "o"], [6053, 0, " "], [6054, 0, "p"], [6055, 0, "e"], [6056, 0, "e"], [6057, 0, "r"], [6058, 0, "s"], [6059, 0, " "], [6060, 0, "p"], [6061, 0, "r"], [6062, 0, "o"], [6063, 0, "c"], [6064, 0, "e"], [6065, 0, "s"], [6066, 0, "s"], [6067, 0, " "], [6068, 0, "t"], [6069, 0, "h"], [6070, 0, "e"], [6071, 0, " "], [6072, 0, "s"], [6073, 0, "a"], [6074, 0, "m"], [6075, 0, "e"], [6076, 0, " "], [6077, 0, "s"], [6078, 0, "e"], [6079, 0, "t"], [6080, 0, " "], [6081, 0, "o"], [6082, 0, "f"], [6083, 0, " "], [6084, 0, "\\"], [6084, 1], [6084, 0, "$"], [6085, 0, "\\"], [6086, 0, "t"], [6087, 0, "e"], [6087, 1], [6086, 1], [6086, 0, "m"], [6087, 0, "a"], [6088, 0, "t"], [6089, 0, "h"], [6090, 0, "s"], [6091, 0, "f"], [6092, 0, "{"], [6093, 0, "i"], [6094, 0, "n"], [6095, 0, "s"], [6096, 0, "e"], [6097, 0, "r"], [6098, 0, "t"], [6099, 0, "}"], [6100, 0, "$"], [6101, 0, " "], [6102, 0, "a"], [6103, 0, "n"], [6104, 0, "d"], [6105, 0, " "], [6106, 0, "$"], [6107, 0, "\\"], [6108, 0, "m"], [6109, 0, "a"], [6110, 0, "t"], [6111, 0, "h"], [6112, 0, "s"], [6113, 0, "f"], [6114, 0, "{"], [6115, 0, "d"], [6116, 0, "e"], [6117, 0, "l"], [6118, 0, "e"], [6119, 0, "t"], [6120, 0, "e"], [6121, 0, "}"], [6122, 0, "$"], [6123, 0, " "], [6124, 0, "o"], [6125, 0, "p"], [6126, 0, "e"], [6127, 0, "r"], [6128, 0, "a"], [6129, 0, "t"], [6130, 0, "i"], [6131, 0, "o"], [6132, 0, "n"], [6133, 0, "s"], [6134, 0, ","], [6135, 0, " "], [6136, 0, "i"], [6137, 0, "n"], [6138, 0, " "], [6139, 0, "d"], [6140, 0, "i"], [6141, 0, "f"], [6142, 0, "f"], [6143, 0, "e"], [6144, 0, "r"], [6145, 0, "e"], [6146, 0, "n"], [6147, 0, "t"], [6148, 0, " "], [6149, 0, "c"], [6150, 0, "a"], [6151, 0, "u"], [6152, 0, "s"], [6153, 0, "a"], [6154, 0, "l"], [6155, 0, "l"], [6156, 0, "y"], [6157, 0, " "], [6158, 0, "c"], [6159, 0, "o"], [6160, 0, "n"], [6161, 0, "s"], [6162, 0, "i"], [6163, 0, "s"], [6164, 0, "t"], [6165, 0, "e"], [6166, 0, "n"], [6167, 0, "t"], [6168, 0, " "], [6169, 0, "o"], [6170, 0, "r"], [6171, 0, "d"], [6172, 0, "e"], [6173, 0, "r"], [6174, 0, "s"], [6175, 0, ","], [6176, 0, " "], [6177, 0, "t"], [6178, 0, "h"], [6179, 0, "e"], [6180, 0, "i"], [6181, 0, "r"], [6182, 0, " "], [6183, 0, "f"], [6184, 0, "i"], [6185, 0, "n"], [6186, 0, "a"], [6187, 0, "l"], [6188, 0, " "], [6189, 0, "s"], [6190, 0, "t"], [6191, 0, "a"], [6192, 0, "t"], [6193, 0, "e"], [6194, 0, " "], [6195, 0, "i"], [6196, 0, "s"], [6197, 0, " "], [6198, 0, "i"], [6199, 0, "d"], [6200, 0, "e"], [6201, 0, "n"], [6202, 0, "t"], [6203, 0, "i"], [6204, 0, "c"], [6205, 0, "a"], [6206, 0, "l"], [6207, 0, "."], [6208, 0, "\n"], [6209, 0, "\n"], [6177, 0, "t"], [6178, 0, "h"], [6179, 0, "e"], [6180, 0, "n"], [6181, 0, "b"], [6182, 0, " "], [6182, 1], [6181, 1], [6181, 0, " "], [6199, 0, "s"], [6202, 1], [6201, 1], [6201, 0, "a"], [6202, 0, "r"], [6203, 0, "e"], [6200, 0, " "], [6201, 0, "a"], [6202, 0, "f"], [6203, 0, "t"], [6204, 0, "e"], [6205, 0, "r"], [6206, 0, " "], [6207, 0, "p"], [6208, 0, "r"], [6209, 0, "o"], [6210, 0, "c"], [6211, 0, "e"], [6212, 0, "s"], [6213, 0, "s"], [6214, 0, "i"], [6215, 0, "n"], [6216, 0, "g"], [6217, 0, " "], [6218, 0, "a"], [6219, 0, "l"], [6220, 0, "l"], [6221, 0, " "], [6222, 0, "o"], [6223, 0, "p"], [6224, 0, "e"], [6225, 0, "r"], [6226, 0, "a"], [6227, 0, "t"], [6228, 0, "i"], [6229, 0, "o"], [6230, 0, "n"], [6231, 0, "s"], [6231, 1], [6230, 1], [6229, 1], [6228, 1], [6227, 1], [6226, 1], [6225, 1], [6224, 1], [6223, 1], [6222, 1], [6221, 1], [6220, 1], [6219, 1], [6218, 1], [6217, 1], [6216, 1], [6215, 1], [6214, 1], [6213, 1], [6212, 1], [6211, 1], [6210, 1], [6209, 1], [6208, 1], [6207, 1], [6206, 1], [6205, 1], [6204, 1], [6203, 1], [6202, 1], [6201, 1], [6200, 1], [6217, 0, "W"], [6218, 0, "e"], [6219, 0, " "], [6220, 0, "c"], [6221, 0, "o"], [6222, 0, "n"], [6223, 0, "s"], [6224, 0, "i"], [6224, 1], [6223, 1], [6222, 1], [6221, 1], [6220, 1], [6219, 1], [6218, 1], [6217, 1], [6217, 0, "C"], [6218, 0, "o"], [6219, 0, "n"], [6220, 0, "s"], [6221, 0, "i"], [6222, 0, "d"], [6223, 0, "e"], [6224, 0, "r"], [6224, 1], [6223, 1], [6222, 1], [6221, 1], [6220, 1], [6219, 1], [6218, 1], [6217, 1], [6217, 0, "S"], [6218, 0, "i"], [6219, 0, "n"], [6220, 0, "c"], [6221, 0, "e"], [6222, 0, " "], [6223, 0, "e"], [6224, 0, "a"], [6225, 0, "c"], [6226, 0, "h"], [6227, 0, " "], [6228, 0, "p"], [6229, 0, "e"], [6230, 0, "e"], [6231, 0, "r"], [6232, 0, " "], [6233, 0, "p"], [6234, 0, "r"], [6235, 0, "o"], [6236, 0, "c"], [6237, 0, "e"], [6238, 0, "s"], [6239, 0, "s"], [6240, 0, "e"], [6241, 0, "s"], [6242, 0, " "], [6243, 0, "o"], [6244, 0, "p"], [6245, 0, "e"], [6246, 0, "r"], [6247, 0, "a"], [6248, 0, "t"], [6249, 0, "i"], [6250, 0, "o"], [6251, 0, "n"], [6252, 0, "s"], [6253, 0, " "], [6254, 0, "i"], [6255, 0, "n"], [6256, 0, " "], [6257, 0, "s"], [6258, 0, "o"], [6259, 0, "m"], [6260, 0, "e"], [6261, 0, " "], [6262, 0, "s"], [6263, 0, "e"], [6264, 0, "q"], [6265, 0, "u"], [6266, 0, "e"], [6267, 0, "n"], [6268, 0, "t"], [6269, 0, "i"], [6270, 0, "a"], [6271, 0, "l"], [6272, 0, " "], [6273, 0, "o"], [6274, 0, "r"], [6275, 0, "d"], [6276, 0, "e"], [6277, 0, "r"], [6278, 0, ","], [6279, 0, " "], [6280, 0, "a"], [6281, 0, "n"], [6282, 0, "d"], [6283, 0, " "], [6284, 0, "t"], [6285, 0, "h"], [6286, 0, "e"], [6287, 0, " "], [6288, 0, "s"], [6289, 0, "t"], [6290, 0, "a"], [6291, 0, "t"], [6292, 0, "e"], [6293, 0, " "], [6294, 0, "o"], [6295, 0, "f"], [6296, 0, " "], [6297, 0, "a"], [6298, 0, " "], [6299, 0, "p"], [6300, 0, "e"], [6301, 0, "e"], [6302, 0, "r"], [6303, 0, " "], [6304, 0, "i"], [6305, 0, "s"], [6306, 0, " "], [6307, 0, "m"], [6308, 0, "o"], [6309, 0, "d"], [6310, 0, "i"], [6311, 0, "f"], [6312, 0, "i"], [6313, 0, "e"], [6314, 0, "d"], [6315, 0, " "], [6316, 0, "o"], [6317, 0, "n"], [6318, 0, "l"], [6319, 0, "y"], [6320, 0, " "], [6321, 0, "b"], [6322, 0, "y"], [6323, 0, " "], [6324, 0, "o"], [6325, 0, "p"], [6326, 0, "e"], [6327, 0, "r"], [6328, 0, "a"], [6329, 0, "t"], [6330, 0, "i"], [6331, 0, "o"], [6332, 0, "n"], [6333, 0, "s"], [6334, 0, ","], [6335, 0, " "], [6336, 0, "w"], [6337, 0, "e"], [6338, 0, " "], [6339, 0, "c"], [6340, 0, "a"], [6341, 0, "n"], [6342, 0, " "], [6343, 0, "d"], [6344, 0, "e"], [6345, 0, "s"], [6346, 0, "c"], [6347, 0, "r"], [6348, 0, "i"], [6349, 0, "b"], [6350, 0, "e"], [6351, 0, " "], [6351, 1], [6350, 1], [6349, 1], [6348, 1], [6347, 1], [6346, 1], [6345, 1], [6345, 0, "r"], [6346, 0, "i"], [6347, 0, "v"], [6348, 0, "e"], [6349, 0, " "], [6350, 0, "t"], [6351, 0, "h"], [6352, 0, "e"], [6353, 0, " "], [6354, 0, "s"], [6355, 0, "t"], [6356, 0, "a"], [6357, 0, "t"], [6358, 0, "e"], [6359, 0, " "], [6360, 0, "o"], [6361, 0, "f"], [6362, 0, " "], [6363, 0, "a"], [6364, 0, " "], [6365, 0, "p"], [6366, 0, "e"], [6367, 0, "e"], [6368, 0, "r"], [6369, 0, " "], [6370, 0, "b"], [6371, 0, "y"], [6372, 0, " "], [6373, 0, "c"], [6374, 0, "o"], [6375, 0, "n"], [6376, 0, "s"], [6377, 0, "i"], [6378, 0, "d"], [6379, 0, "e"], [6380, 0, "r"], [6381, 0, "i"], [6382, 0, "n"], [6383, 0, "g"], [6384, 0, " "], [6385, 0, "t"], [6386, 0, "h"], [6387, 0, "e"], [6388, 0, " "], [6389, 0, "\\"], [6390, 0, "e"], [6391, 0, "m"], [6392, 0, "p"], [6393, 0, "h"], [6394, 0, "{"], [6395, 0, "h"], [6396, 0, "i"], [6397, 0, "s"], [6398, 0, "t"], [6399, 0, "o"], [6400, 0, "r"], [6401, 0, "y"], [6402, 0, "}"], [6403, 0, " "], [6404, 0, "o"], [6405, 0, "f"], [6406, 0, " "], [6407, 0, "o"], [6408, 0, "p"], [6050, 0, "a"], [6051, 0, "n"], [6052, 0, "y"], [6053, 0, " "], [6413, 0, "e"], [6414, 0, "r"], [6415, 0, "a"], [6416, 0, "t"], [6417, 0, "i"], [6418, 0, "o"], [6419, 0, "n"], [6420, 0, "s"], [6421, 0, " "], [6422, 0, "a"], [6423, 0, "t"], [6424, 0, " "], [6425, 0, "e"], [6426, 0, "a"], [6427, 0, "c"], [6428, 0, "h"], [6429, 0, " "], [6430, 0, "p"], [6431, 0, "e"], [6432, 0, "e"], [6433, 0, "r"], [6434, 0, " "], [6435, 0, "a"], [6436, 0, "n"], [6437, 0, "d"], [6438, 0, " "], [6439, 0, "a"], [6440, 0, "p"], [6441, 0, "p"], [6442, 0, "l"], [6443, 0, "y"], [6444, 0, "i"], [6445, 0, "n"], [6446, 0, "g"], [6447, 0, " "], [6448, 0, "t"], [6449, 0, "h"], [6450, 0, "e"], [6451, 0, " "], [6452, 0, "o"], [6453, 0, "p"], [6454, 0, "e"], [6455, 0, "r"], [6456, 0, "a"], [6457, 0, "t"], [6458, 0, "i"], [6459, 0, "o"], [6460, 0, "n"], [6461, 0, "s"], [6462, 0, " "], [6463, 0, "i"], [6464, 0, "n"], [6465, 0, " "], [6466, 0, "t"], [6467, 0, "h"], [6468, 0, "e"], [6469, 0, " "], [6470, 0, "o"], [6471, 0, "r"], [6472, 0, "d"], [6473, 0, "e"], [6474, 0, "r"], [6475, 0, " "], [6476, 0, "o"], [6477, 0, "f"], [6478, 0, " "], [6479, 0, "t"], [6480, 0, "h"], [6481, 0, "e"], [6482, 0, " "], [6483, 0, "h"], [6484, 0, "i"], [6485, 0, "s"], [6486, 0, "t"], [6487, 0, "o"], [6488, 0, "r"], [6489, 0, "y"], [6490, 0, "."], [6491, 0, "\n"], [6492, 0, "\n"], [6493, 0, "W"], [6493, 1], [6493, 0, "C"], [6493, 1], [6493, 0, "W"], [6494, 0, "e"], [6495, 0, " "], [6496, 0, "c"], [6497, 0, "a"], [6498, 0, "n"], [6499, 0, " "], [6500, 0, "p"], [6501, 0, "r"], [6502, 0, "o"], [6503, 0, "v"], [6504, 0, "e"], [6505, 0, " "], [6506, 0, "t"], [6507, 0, "h"], [6508, 0, "e"], [6509, 0, " "], [6510, 0, "t"], [6511, 0, "h"], [6512, 0, "e"], [6513, 0, "o"], [6514, 0, "r"], [6515, 0, "e"], [6516, 0, "m"], [6517, 0, " "], [6518, 0, "b"], [6519, 0, "y"], [6520, 0, " "], [6521, 0, "i"], [6522, 0, "n"], [6523, 0, "d"], [6524, 0, "u"], [6525, 0, "c"], [6526, 0, "t"], [6527, 0, "i"], [6528, 0, "o"], [6529, 0, "n"], [6493, 0, "C"], [6494, 0, "o"], [6495, 0, "n"], [6496, 0, "s"], [6497, 0, "i"], [6498, 0, "d"], [6499, 0, "e"], [6500, 0, "r"], [6501, 0, " "], [6502, 0, "t"], [6503, 0, "h"], [6504, 0, "e"], [6505, 0, " "], [6506, 0, "h"], [6507, 0, "i"], [6508, 0, "s"], [6509, 0, "t"], [6510, 0, "o"], [6511, 0, "r"], [6512, 0, "y"], [6513, 0, " "], [6514, 0, "o"], [6515, 0, "f"], [6516, 0, " "], [6517, 0, "o"], [6518, 0, "p"], [6519, 0, "e"], [6520, 0, "r"], [6521, 0, "a"], [6522, 0, "t"], [6523, 0, "i"], [6524, 0, "o"], [6525, 0, "n"], [6526, 0, "s"], [6527, 0, " "], [6528, 0, "a"], [6529, 0, "t"], [6530, 0, " "], [6530, 1], [6529, 1], [6528, 1], [6528, 0, "$"], [6529, 0, "H"], [6530, 0, "_"], [6531, 0, "p"], [6532, 0, "$"], [6533, 0, " "], [6534, 0, "a"], [6535, 0, "t"], [6536, 0, " "], [6537, 0, "p"], [6538, 0, "e"], [6539, 0, "e"], [6540, 0, "r"], [6541, 0, " "], [6542, 0, "$"], [6543, 0, "p"], [6544, 0, "$"], [6545, 0, ","], [6546, 0, " "], [6547, 0, "c"], [6548, 0, "o"], [6549, 0, "n"], [6550, 0, "s"], [6551, 0, "i"], [6552, 0, "s"], [6553, 0, "t"], [6554, 0, "i"], [6555, 0, "n"], [6556, 0, "g"], [6557, 0, " "], [6558, 0, "o"], [6559, 0, "f"], [6560, 0, " "], [6561, 0, "a"], [6562, 0, " "], [6563, 0, "s"], [6564, 0, "e"], [6565, 0, "q"], [6566, 0, "u"], [6567, 0, "e"], [6568, 0, "n"], [6569, 0, "c"], [6570, 0, "e"], [6571, 0, " "], [6572, 0, "o"], [6573, 0, "f"], [6574, 0, " "], [6575, 0, "o"], [6576, 0, "p"], [6577, 0, "e"], [6578, 0, "r"], [6579, 0, "a"], [6580, 0, "t"], [6581, 0, "i"], [6582, 0, "o"], [6583, 0, "n"], [6584, 0, "s"], [6585, 0, " "], [6586, 0, "$"], [6587, 0, "H"], [6588, 0, "_"], [6589, 0, "p"], [6590, 0, "="], [6591, 0, "o"], [6592, 0, "_"], [6593, 0, "1"], [6594, 0, " "], [6595, 0, "\\"], [6596, 0, "d"], [6597, 0, "o"], [6598, 0, "t"], [6599, 0, "s"], [6600, 0, " "], [6601, 0, "o"], [6602, 0, "_"], [6603, 0, "n"], [6604, 0, "$"], [6605, 0, "."], [6606, 0, " "], [6644, 0, " "], [6645, 0, "o"], [6646, 0, "v"], [6647, 0, "e"], [6648, 0, "r"], [6649, 0, " "], [6650, 0, "t"], [6651, 0, "h"], [6652, 0, "e"], [6653, 0, " "], [6654, 0, "l"], [6655, 0, "e"], [6656, 0, "n"], [6657, 0, "g"], [6658, 0, "t"], [6659, 0, "h"], [6660, 0, " "], [6661, 0, "o"], [6662, 0, "f"], [6663, 0, " "], [6664, 0, "t"], [6665, 0, "h"], [6666, 0, "e"], [6667, 0, " "], [6668, 0, "h"], [6669, 0, "i"], [6670, 0, "s"], [6671, 0, "t"], [6672, 0, "o"], [6673, 0, "r"], [6674, 0, "n"], [6675, 0, " "], [6676, 0, "$"], [6676, 1], [6675, 1], [6674, 1], [6674, 0, "y"], [6675, 0, " "], [6676, 0, "$"], [6677, 0, "n"], [6678, 0, "$"], [6679, 0, "."], [6680, 0, "\n"], [6681, 0, "\n"], [6682, 0, "B"], [6683, 0, "a"], [6684, 0, "s"], [6685, 0, "e"], [6686, 0, " "], [6687, 0, "c"], [6688, 0, "a"], [6689, 0, "s"], [6690, 0, "e"], [6691, 0, ":"], [6682, 0, "\\"], [6683, 0, "e"], [6684, 0, "m"], [6685, 0, "p"], [6686, 0, "h"], [6687, 0, "{"], [6698, 0, "}"], [6699, 0, " "], [6700, 0, "A"], [6701, 0, " "], [6702, 0, "h"], [6703, 0, "i"], [6704, 0, "s"], [6705, 0, "t"], [6706, 0, "o"], [6707, 0, "r"], [6708, 0, "y"], [6709, 0, " "], [6710, 0, "o"], [6711, 0, "f"], [6712, 0, " "], [6713, 0, "$"], [6714, 0, "n"], [6715, 0, "="], [6716, 0, "0"], [6717, 0, "$"], [6718, 0, " "], [6719, 0, "o"], [6720, 0, "p"], [6721, 0, "e"], [6722, 0, "r"], [6723, 0, "a"], [6724, 0, "t"], [6725, 0, "i"], [6726, 0, "o"], [6727, 0, "n"], [6728, 0, "s"], [6729, 0, " "], [6730, 0, "d"], [6731, 0, "e"], [6732, 0, "s"], [6733, 0, "c"], [6734, 0, "r"], [6735, 0, "i"], [6736, 0, "b"], [6737, 0, "e"], [6738, 0, "s"], [6739, 0, " "], [6740, 0, "a"], [6741, 0, "n"], [6742, 0, " "], [6743, 0, "e"], [6744, 0, "m"], [6745, 0, "p"], [6746, 0, "t"], [6747, 0, "y"], [6748, 0, " "], [6749, 0, "d"], [6750, 0, "o"], [6751, 0, "c"], [6752, 0, "u"], [6753, 0, "m"], [6754, 0, "e"], [6755, 0, "n"], [6756, 0, "t"], [6757, 0, "."], [6758, 0, " "], [6759, 0, "A"], [6760, 0, "n"], [6761, 0, " "], [6762, 0, "e"], [6763, 0, "m"], [6764, 0, "p"], [6765, 0, "t"], [6766, 0, "y"], [6767, 0, " "], [6768, 0, "d"], [6769, 0, "o"], [6770, 0, "c"], [6771, 0, "u"], [6772, 0, "m"], [6773, 0, "e"], [6774, 0, "n"], [6775, 0, "t"], [6776, 0, " "], [6777, 0, "i"], [6778, 0, "s"], [6779, 0, " "], [6780, 0, "d"], [6781, 0, "e"], [6782, 0, "t"], [6783, 0, "e"], [6784, 0, "r"], [6785, 0, "m"], [6786, 0, "i"], [6787, 0, "n"], [6788, 0, "i"], [6789, 0, "s"], [6790, 0, "t"], [6791, 0, "i"], [6792, 0, "c"], [6793, 0, "a"], [6794, 0, "l"], [6795, 0, "l"], [6796, 0, "y"], [6797, 0, " "], [6798, 0, "d"], [6799, 0, "e"], [6800, 0, "f"], [6801, 0, "i"], [6802, 0, "n"], [6803, 0, "e"], [6804, 0, "d"], [6805, 0, ","], [6806, 0, " "], [6807, 0, "s"], [6808, 0, "o"], [6809, 0, " "], [6810, 0, "a"], [6811, 0, "n"], [6812, 0, "y"], [6813, 0, " "], [6814, 0, "t"], [6815, 0, "w"], [6816, 0, "o"], [6817, 0, " "], [6818, 0, "p"], [6819, 0, "e"], [6820, 0, "e"], [6821, 0, "r"], [6822, 0, "s"], [6823, 0, " "], [6824, 0, "t"], [6825, 0, "h"], [6826, 0, "a"], [6827, 0, "t"], [6828, 0, " "], [6829, 0, "h"], [6830, 0, "a"], [6831, 0, "v"], [6832, 0, "e"], [6833, 0, " "], [6834, 0, "n"], [6835, 0, "o"], [6836, 0, "t"], [6837, 0, " "], [6838, 0, "e"], [6839, 0, "x"], [6840, 0, "e"], [6841, 0, "c"], [6842, 0, "u"], [6843, 0, "t"], [6844, 0, "e"], [6845, 0, "d"], [6846, 0, " "], [6847, 0, "a"], [6848, 0, "n"], [6849, 0, "y"], [6850, 0, " "], [6851, 0, "o"], [6852, 0, "p"], [6853, 0, "e"], [6854, 0, "r"], [6855, 0, "a"], [6856, 0, "t"], [6857, 0, "i"], [6858, 0, "o"], [6859, 0, "n"], [6860, 0, "s"], [6861, 0, " "], [6862, 0, "a"], [6863, 0, "r"], [6864, 0, "e"], [6865, 0, " "], [6866, 0, "b"], [6867, 0, "y"], [6868, 0, " "], [6869, 0, "d"], [6870, 0, "e"], [6871, 0, "f"], [6872, 0, "i"], [6873, 0, "n"], [6874, 0, "i"], [6875, 0, "t"], [6876, 0, "i"], [6877, 0, "o"], [6878, 0, "n"], [6879, 0, " "], [6880, 0, "i"], [6881, 0, "n"], [6882, 0, " "], [6883, 0, "t"], [6884, 0, "h"], [6885, 0, "e"], [6886, 0, " "], [6887, 0, "s"], [6888, 0, "a"], [6889, 0, "m"], [6890, 0, "e"], [6891, 0, " "], [6892, 0, "s"], [6893, 0, "t"], [6894, 0, "a"], [6895, 0, "t"], [6896, 0, "e"], [6897, 0, "."], [6898, 0, "\n"], [6899, 0, "\n"], [6900, 0, "\\"], [6901, 0, "e"], [6902, 0, "m"], [6903, 0, "p"], [6904, 0, "h"], [6905, 0, "{"], [6906, 0, "I"], [6907, 0, "n"], [6908, 0, "d"], [6909, 0, "u"], [6910, 0, "c"], [6911, 0, "t"], [6912, 0, "i"], [6913, 0, "o"], [6914, 0, "n"], [6915, 0, " "], [6916, 0, "s"], [6917, 0, "t"], [6918, 0, "e"], [6919, 0, "p"], [6920, 0, ":"], [6921, 0, "}"], [6922, 0, " "], [6923, 0, "G"], [6924, 0, "i"], [6925, 0, "v"], [6926, 0, "e"], [6927, 0, "n"], [6928, 0, " "], [6929, 0, "c"], [6930, 0, "a"], [6931, 0, "u"], [6932, 0, "s"], [6933, 0, "a"], [6934, 0, "l"], [6935, 0, " "], [6936, 0, "h"], [6937, 0, "i"], [6938, 0, "s"], [6939, 0, "t"], [6940, 0, "o"], [6941, 0, "r"], [6942, 0, "i"], [6943, 0, "e"], [6944, 0, "s"], [6945, 0, " "], [6946, 0, "H"], [6946, 1], [6946, 0, "$"], [6947, 0, "H"], [6948, 0, "_"], [6949, 0, "1"], [6950, 0, "$"], [6951, 0, " "], [6952, 0, "a"], [6953, 0, "n"], [6954, 0, "d"], [6955, 0, " "], [6956, 0, "$"], [6957, 0, "H"], [6958, 0, "_"], [6959, 0, "2"], [6960, 0, "$"], [6961, 0, ","], [6962, 0, " "], [6963, 0, "s"], [6964, 0, "u"], [6965, 0, "c"], [6966, 0, "h"], [6967, 0, " "], [6968, 0, "t"], [6969, 0, "h"], [6970, 0, "a"], [6971, 0, "t"], [6972, 0, " "], [6973, 0, "$"], [6974, 0, "H"], [6975, 0, "_"], [6976, 0, "1"], [6977, 0, "="], [6978, 0, "o"], [6979, 0, "_"], [6980, 0, "1"], [6981, 0, " "], [6982, 0, "\\"], [6983, 0, "d"], [6984, 0, "o"], [6985, 0, "t"], [6986, 0, "s"], [6987, 0, " "], [6988, 0, "o"], [6989, 0, "_"], [6990, 0, "n"], [6991, 0, "$"], [6992, 0, " "], [6993, 0, "a"], [6994, 0, "n"], [6995, 0, "d"], [6996, 0, " "], [6997, 0, "$"], [6998, 0, "H"], [6999, 0, "_"], [7000, 0, "2"], [7001, 0, "$"], [7002, 0, " "], [7003, 0, "i"], [7004, 0, "s"], [7005, 0, " "], [7006, 0, "a"], [7007, 0, " "], [7008, 0, "p"], [7009, 0, "e"], [7010, 0, "r"], [7011, 0, "m"], [7012, 0, "u"], [7013, 0, "t"], [7014, 0, "a"], [7015, 0, "t"], [7016, 0, "i"], [7017, 0, "o"], [7018, 0, "n"], [7019, 0, " "], [7020, 0, "o"], [7021, 0, "f"], [7022, 0, " "], [7023, 0, "$"], [7024, 0, "H"], [7025, 0, "1"], [7025, 1], [7025, 0, "_"], [7026, 0, "1"], [7027, 0, "$"], [7028, 0, ","], [7029, 0, " "], [7030, 0, "w"], [7030, 1], [7030, 0, "a"], [7031, 0, "n"], [7032, 0, "d"], [7033, 0, " "], [7034, 0, "s"], [7035, 0, "u"], [7036, 0, "c"], [7037, 0, "h"], [7038, 0, " "], [7039, 0, "t"], [7040, 0, "h"], [7041, 0, "a"], [7042, 0, "t"], [7043, 0, " "], [7044, 0, "a"], [7045, 0, "p"], [7046, 0, "p"], [7047, 0, "l"], [7048, 0, "y"], [7049, 0, "i"], [7050, 0, "n"], [7051, 0, "g"], [7052, 0, " "], [7053, 0, "$"], [7054, 0, "H"], [7055, 0, "_"], [7056, 0, "1"], [7057, 0, "$"], [7058, 0, " "], [7059, 0, "r"], [7060, 0, "e"], [7061, 0, "s"], [7062, 0, "u"], [7063, 0, "l"], [7064, 0, "t"], [7065, 0, "s"], [7066, 0, " "], [7067, 0, "i"], [7068, 0, "n"], [7069, 0, " "], [7070, 0, "t"], [7071, 0, "h"], [7072, 0, "e"], [7073, 0, " "], [7074, 0, "s"], [7075, 0, "a"], [7076, 0, "m"], [7077, 0, "e"], [7078, 0, " "], [7079, 0, "s"], [7080, 0, "t"], [7081, 0, "a"], [7082, 0, "t"], [7083, 0, "e"], [7084, 0, " "], [7085, 0, "a"], [7086, 0, "s"], [7087, 0, " "], [7088, 0, "a"], [7089, 0, "p"], [7090, 0, "p"], [7091, 0, "l"], [7092, 0, "y"], [7093, 0, "i"], [7094, 0, "n"], [7095, 0, "g"], [7096, 0, " "], [7097, 0, "$"], [7098, 0, "H"], [7099, 0, "_"], [7100, 0, "2"], [7101, 0, "$"], [6928, 0, " "], [6929, 0, "a"], [6930, 0, "m"], [6931, 0, "u"], [6931, 1], [6930, 1], [6930, 0, "n"], [6931, 0, "y"], [6932, 0, " "], [6932, 1], [6931, 1], [6930, 1], [6929, 1], [6928, 1], [7102, 0, ","], [7103, 0, " "], [7104, 0, "w"], [7105, 0, "e"], [7106, 0, " "], [7107, 0, "c"], [7108, 0, "a"], [7109, 0, "n"], [7110, 0, " "], [7111, 0, "e"], [7112, 0, "x"], [7113, 0, "t"], [7114, 0, "e"], [7115, 0, "n"], [7116, 0, "d"], [7117, 0, " "], [7118, 0, "t"], [7119, 0, "h"], [7120, 0, "e"], [7121, 0, " "], [7122, 0, "h"], [7123, 0, "i"], [7124, 0, "s"], [7125, 0, "t"], [7126, 0, "o"], [7127, 0, "r"], [7128, 0, "y"], [7129, 0, " "], [7130, 0, "b"], [7131, 0, "y"], [7132, 0, " "], [7132, 1], [7131, 1], [7130, 1], [7129, 1], [7128, 1], [7127, 1], [7126, 1], [7125, 1], [7124, 1], [7123, 1], [7122, 1], [7121, 1], [7120, 1], [7119, 1], [7118, 1], [7117, 1], [7116, 1], [7115, 1], [7114, 1], [7113, 1], [7112, 1], [7111, 1], [7111, 0, "c"], [7112, 0, "o"], [7113, 0, "n"], [7114, 0, "s"], [7115, 0, "t"], [7116, 0, "r"], [7117, 0, "u"], [7118, 0, "c"], [7119, 0, "t"], [7120, 0, " "], [7121, 0, "n"], [7122, 0, "e"], [7123, 0, "w"], [7124, 0, " "], [7125, 0, "h"], [7126, 0, "i"], [7127, 0, "s"], [7128, 0, "t"], [7129, 0, "o"], [7130, 0, "r"], [7131, 0, "i"], [7132, 0, "e"], [7133, 0, "s"], [7134, 0, " "], [7135, 0, "o"], [7136, 0, "f"], [7137, 0, " "], [7138, 0, "l"], [7139, 0, "e"], [7140, 0, "n"], [7141, 0, "g"], [7142, 0, "t"], [7143, 0, "h"], [7144, 0, " "], [7145, 0, "$"], [7146, 0, "n"], [7147, 0, "+"], [7148, 0, "1"], [7149, 0, "$"], [7150, 0, " "], [7151, 0, "b"], [7152, 0, "y"], [7153, 0, " "], [7154, 0, "i"], [7155, 0, "n"], [7156, 0, "s"], [7157, 0, "e"], [7158, 0, "r"], [7159, 0, "t"], [7160, 0, "i"], [7161, 0, "n"], [7162, 0, "g"], [7163, 0, " "], [7164, 0, "a"], [7165, 0, "n"], [7166, 0, " "], [7167, 0, "o"], [7168, 0, "p"], [7169, 0, "e"], [7170, 0, "r"], [7171, 0, "a"], [7172, 0, "t"], [7173, 0, "i"], [7174, 0, "o"], [7175, 0, "n"], [7176, 0, " "], [7177, 0, "$"], [7178, 0, "o"], [7179, 0, "_"], [7180, 0, "{"], [7181, 0, "n"], [7182, 0, "+"], [7183, 0, "1"], [7184, 0, "}"], [7185, 0, "$"], [7186, 0, " "], [7187, 0, "a"], [7188, 0, "t"], [7189, 0, " "], [7190, 0, "a"], [7191, 0, "n"], [7192, 0, "y"], [7193, 0, " "], [7194, 0, "c"], [7195, 0, "a"], [7196, 0, "u"], [7197, 0, "s"], [7198, 0, "a"], [7199, 0, "l"], [7200, 0, "l"], [7201, 0, "y"], [7202, 0, " "], [7203, 0, "r"], [7204, 0, "e"], [7205, 0, "a"], [7206, 0, "d"], [7207, 0, "y"], [7208, 0, " "], [6961, 0, " "], [6962, 0, "o"], [6963, 0, "f"], [6964, 0, " "], [6965, 0, "l"], [6966, 0, "e"], [6967, 0, "n"], [6968, 0, "g"], [6969, 0, "t"], [6970, 0, "h"], [6971, 0, " "], [6972, 0, "$"], [6973, 0, "n"], [6974, 0, "$"], [7223, 0, "p"], [7224, 0, "o"], [7225, 0, "s"], [7226, 0, "i"], [7227, 0, "t"], [7228, 0, "i"], [7229, 0, "o"], [7230, 0, "n"], [7231, 0, " "], [7232, 0, "i"], [7233, 0, "n"], [7234, 0, " "], [7235, 0, "e"], [7236, 0, "i"], [7237, 0, "t"], [7238, 0, "h"], [7239, 0, "e"], [7240, 0, "r"], [7241, 0, " "], [7242, 0, "h"], [7243, 0, "i"], [7244, 0, "s"], [7245, 0, "t"], [7246, 0, "o"], [7247, 0, "r"], [7248, 0, "y"], [7249, 0, "."], [7250, 0, " "], [7250, 1], [7249, 1], [7248, 1], [7247, 1], [7246, 1], [7245, 1], [7244, 1], [7243, 1], [7242, 1], [7242, 0, "$"], [7243, 0, "H"], [7244, 0, "_"], [7245, 0, "1"], [7246, 0, "$"], [7247, 0, " "], [7248, 0, "o"], [7249, 0, "r"], [7250, 0, " "], [7251, 0, "$"], [7252, 0, "H"], [7253, 0, "_"], [7254, 0, "2"], [7255, 0, "$"], [7256, 0, "."], [7257, 0, " "], [7258, 0, "W"], [7259, 0, "e"], [7260, 0, " "], [7261, 0, "m"], [7262, 0, "u"], [7263, 0, "s"], [7264, 0, "t"], [7265, 0, " "], [7266, 0, "t"], [7267, 0, "h"], [7268, 0, "e"], [7269, 0, "n"], [7270, 0, " "], [7271, 0, "s"], [7272, 0, "h"], [7273, 0, "o"], [7274, 0, "w"], [7275, 0, " "], [7276, 0, "t"], [7277, 0, "h"], [7278, 0, "a"], [7279, 0, "t"], [7280, 0, " "], [7281, 0, "a"], [7282, 0, "l"], [7283, 0, "l"], [7284, 0, " "], [7285, 0, "o"], [7286, 0, "f"], [7287, 0, " "], [7288, 0, "t"], [7289, 0, "h"], [7290, 0, "e"], [7291, 0, " "], [7292, 0, "h"], [7293, 0, "i"], [7294, 0, "s"], [7295, 0, "t"], [7296, 0, "o"], [7297, 0, "r"], [7298, 0, "i"], [7299, 0, "e"], [7300, 0, "s"], [7301, 0, " "], [7302, 0, "c"], [7303, 0, "o"], [7304, 0, "n"], [7305, 0, "s"], [7306, 0, "t"], [7307, 0, "r"], [7308, 0, "u"], [7309, 0, "c"], [7310, 0, "t"], [7311, 0, "e"], [7312, 0, "d"], [7313, 0, " "], [7314, 0, "t"], [7315, 0, "h"], [7316, 0, "i"], [7317, 0, "s"], [7318, 0, " "], [7319, 0, "w"], [7320, 0, "a"], [7321, 0, "y"], [7322, 0, " "], [7281, 0, "a"], [7282, 0, "p"], [7283, 0, "p"], [7284, 0, "l"], [7285, 0, "y"], [7286, 0, "i"], [7287, 0, "n"], [7288, 0, "g"], [7289, 0, " "], [7289, 1], [7288, 1], [7287, 1], [7286, 1], [7285, 1], [7284, 1], [7283, 1], [7282, 1], [7281, 1], [7281, 0, "f"], [7282, 0, "o"], [7283, 0, "r"], [7284, 0, " "], [7326, 1], [7326, 0, ","], [7327, 0, " "], [7328, 0, "a"], [7329, 0, "p"], [7330, 0, "p"], [7331, 0, "l"], [7332, 0, "y"], [7333, 0, "i"], [7334, 0, "n"], [7335, 0, "g"], [7336, 0, " "], [7337, 0, "t"], [7338, 0, "h"], [7339, 0, "e"], [7340, 0, " "], [7341, 0, "o"], [7342, 0, "p"], [7343, 0, "e"], [7344, 0, "r"], [7345, 0, "a"], [7346, 0, "t"], [7347, 0, "i"], [7348, 0, "o"], [7349, 0, "n"], [7350, 0, "s"], [7351, 0, " "], [7352, 0, "r"], [7353, 0, "e"], [7354, 0, "s"], [7355, 0, "u"], [7356, 0, "l"], [7357, 0, "t"], [7358, 0, "s"], [7359, 0, " "], [7360, 0, "i"], [7361, 0, "n"], [7362, 0, " "], [7363, 0, "t"], [7364, 0, "h"], [7365, 0, "e"], [7366, 0, " "], [7367, 0, "s"], [7368, 0, "a"], [7369, 0, "m"], [7370, 0, "e"], [7371, 0, " "], [7372, 0, "f"], [7373, 0, "i"], [7374, 0, "n"], [7375, 0, "a"], [7376, 0, "l"], [7377, 0, " "], [7378, 0, "s"], [7379, 0, "t"], [7380, 0, "a"], [7381, 0, "t"], [7382, 0, "e"], [7383, 0, "."], [6152, 0, " "], [6153, 0, "b"], [6154, 0, "u"], [6155, 0, "t"], [6155, 1], [6154, 1], [6153, 1], [6152, 1], [6151, 1], [6150, 1], [6149, 1], [6148, 1], [6147, 1], [6146, 1], [6145, 1], [6144, 1], [6143, 1], [6143, 0, "a"], [6144, 0, "n"], [6145, 0, "y"], [6172, 1], [6172, 0, " "], [6173, 0, "("], [6174, 0, "b"], [6175, 0, "u"], [6176, 0, "t"], [6177, 0, " "], [6178, 0, "n"], [6179, 0, "o"], [6180, 0, "t"], [6181, 0, " "], [6182, 0, "n"], [6183, 0, "e"], [6184, 0, "c"], [6185, 0, "e"], [6186, 0, "s"], [6187, 0, "s"], [6188, 0, "a"], [6189, 0, "r"], [6190, 0, "i"], [6191, 0, "l"], [6192, 0, "y"], [6193, 0, " "], [6194, 0, "t"], [6195, 0, "h"], [6196, 0, "e"], [6197, 0, " "], [6198, 0, "s"], [6199, 0, "a"], [6200, 0, "m"], [6201, 0, "e"], [6202, 0, " "], [6203, 0, "o"], [6204, 0, "r"], [6205, 0, "d"], [6206, 0, "e"], [6207, 0, "r"], [6208, 0, ")"], [6520, 1], [6520, 0, ":"], [6521, 0, "\n"], [6522, 0, "$"], [6523, 0, "$"], [6524, 0, " "], [6525, 0, "A"], [6526, 0, "_"], [6527, 0, "\\"], [6528, 0, "m"], [6529, 0, "a"], [6530, 0, "t"], [6531, 0, "h"], [6532, 0, "r"], [6533, 0, "m"], [6534, 0, "{"], [6535, 0, "f"], [6536, 0, "i"], [6537, 0, "n"], [6538, 0, "a"], [6539, 0, "l"], [6540, 0, "}"], [6541, 0, "}"], [6527, 0, "{"], [6543, 0, " "], [6544, 0, "="], [6545, 0, " "], [5212, 0, "A"], [5213, 0, ","], [5214, 0, " "], [6549, 0, "\\"], [6550, 0, "m"], [6551, 0, "a"], [6552, 0, "t"], [6553, 0, "h"], [6554, 0, "r"], [6555, 0, "m"], [6556, 0, "{"], [6557, 0, "a"], [6558, 0, "p"], [6559, 0, "p"], [6560, 0, "l"], [6561, 0, "y"], [6562, 0, "}"], [6563, 0, "("], [6564, 0, "\\"], [6565, 0, "m"], [6566, 0, "a"], [6567, 0, "t"], [6568, 0, "h"], [6569, 0, "r"], [6570, 0, "m"], [6571, 0, "{"], [6572, 0, "a"], [6573, 0, "p"], [6574, 0, "p"], [6575, 0, "l"], [6576, 0, "y"], [6577, 0, "}"], [6578, 0, "("], [6579, 0, "\\"], [6580, 0, "d"], [6581, 0, "o"], [6582, 0, "t"], [6583, 0, "s"], [6584, 0, " "], [6585, 0, "\\"], [6586, 0, "m"], [6587, 0, "a"], [6588, 0, "t"], [6589, 0, "h"], [6590, 0, "r"], [6591, 0, "m"], [6592, 0, "{"], [6593, 0, "a"], [6594, 0, "p"], [6595, 0, "p"], [6596, 0, "l"], [6597, 0, "y"], [6598, 0, "}"], [6599, 0, "("], [6600, 0, "A"], [6601, 0, "_"], [6602, 0, "\\"], [6603, 0, "e"], [6604, 0, "m"], [6605, 0, "p"], [6606, 0, "t"], [6607, 0, "y"], [6608, 0, "s"], [6609, 0, "e"], [6610, 0, "t"], [6611, 0, ","], [6612, 0, " "], [6613, 0, "o"], [6614, 0, "_"], [6615, 0, "1"], [6616, 0, ")"], [6617, 0, ","], [6618, 0, " "], [6619, 0, "\\"], [6620, 0, "d"], [6621, 0, "o"], [6622, 0, "t"], [6623, 0, "s"], [6624, 0, ","], [6625, 0, " "], [6626, 0, "o"], [6627, 0, "_"], [6628, 0, "{"], [6629, 0, "n"], [6630, 0, "-"], [6631, 0, "1"], [6632, 0, "}"], [6633, 0, ")"], [6634, 0, ","], [6635, 0, " "], [6636, 0, "o"], [6637, 0, "_"], [6638, 0, "n"], [6639, 0, ")"], [6640, 0, " "], [6641, 0, "$"], [6642, 0, "$"], [6260, 1], [6259, 1], [6258, 1], [6257, 1], [6256, 1], [6255, 1], [6254, 1], [6254, 0, "E"], [6367, 1], [6366, 1], [6365, 1], [6365, 0, "."], [6366, 0, " "], [6367, 0, "T"], [6368, 0, "h"], [6369, 0, "e"], [6370, 0, "r"], [6371, 0, "e"], [6372, 0, "f"], [6373, 0, "o"], [6374, 0, "r"], [6375, 0, "e"], [6376, 0, ","], [6377, 0, " "], [6378, 0, "w"], [6390, 1], [6390, 0, "e"], [6425, 1], [6424, 1], [6423, 1], [6422, 1], [6421, 1], [6420, 1], [6419, 1], [6418, 1], [6417, 1], [6416, 1], [6415, 1], [6414, 1], [6413, 1], [6412, 1], [6412, 0, "f"], [6413, 0, "r"], [6414, 0, "o"], [6415, 0, "m"], [6434, 1], [6426, 1], [6425, 1], [6424, 1], [6423, 1], [6422, 1], [6421, 1], [6442, 0, " "], [6405, 1], [6404, 1], [6409, 0, " "], [6410, 0, "$"], [6411, 0, "p"], [6412, 0, "$"], [6445, 0, "$"], [6446, 0, "H"], [6447, 0, "_"], [6448, 0, "p"], [6449, 0, "="], [6450, 0, "o"], [6451, 0, "_"], [6452, 0, "1"], [6453, 0, " "], [6454, 0, "\\"], [6455, 0, "d"], [6456, 0, "o"], [6457, 0, "t"], [6458, 0, "s"], [6459, 0, " "], [6460, 0, "o"], [6461, 0, "_"], [6462, 0, "n"], [6463, 0, "$"], [6464, 0, " "], [6465, 0, "a"], [6466, 0, "p"], [6467, 0, "p"], [6468, 0, "l"], [6469, 0, "i"], [6470, 0, "e"], [6471, 0, "d"], [6479, 1], [6478, 1], [6477, 1], [6476, 1], [6476, 0, "t"], [6477, 0, "h"], [6478, 0, "a"], [6479, 0, "t"], [6512, 1], [6511, 1], [6510, 1], [6509, 1], [6508, 1], [6507, 1], [6506, 1], [6505, 1], [6504, 1], [6503, 1], [6502, 1], [6501, 1], [6500, 1], [6499, 1], [6498, 1], [6497, 1], [6496, 1], [6495, 1], [6494, 1], [6493, 1], [6492, 1], [6491, 1], [6490, 1], [6489, 1], [6488, 1], [6487, 1], [6486, 1], [6485, 1], [6485, 0, ","], [6487, 0, "p"], [6488, 0, "r"], [6489, 0, "o"], [6490, 0, "c"], [6491, 0, "e"], [6492, 0, "s"], [6493, 0, "s"], [6494, 0, "e"], [6495, 0, "d"], [6496, 0, " "], [6641, 0, "."], [6760, 1], [6759, 1], [6758, 1], [6757, 1], [6756, 1], [6755, 1], [6754, 1], [6753, 1], [6752, 1], [6751, 1], [6750, 1], [6749, 1], [6748, 1], [6747, 1], [6746, 1], [6745, 1], [6744, 1], [6743, 1], [6742, 1], [6741, 1], [6740, 1], [6739, 1], [6738, 1], [6737, 1], [6736, 1], [6735, 1], [6734, 1], [6733, 1], [6732, 1], [6731, 1], [6730, 1], [6729, 1], [6728, 1], [6727, 1], [6726, 1], [6725, 1], [6724, 1], [6723, 1], [6722, 1], [6721, 1], [6720, 1], [6719, 1], [6718, 1], [6717, 1], [6716, 1], [6715, 1], [6714, 1], [6713, 1], [6712, 1], [6711, 1], [6710, 1], [6709, 1], [6708, 1], [6707, 1], [6706, 1], [6705, 1], [6704, 1], [6703, 1], [6702, 1], [6701, 1], [6700, 1], [6699, 1], [6698, 1], [6697, 1], [6696, 1], [6695, 1], [6694, 1], [6693, 1], [6692, 1], [6691, 1], [6690, 1], [6689, 1], [6688, 1], [6687, 1], [6686, 1], [6685, 1], [6684, 1], [6683, 1], [6682, 1], [6681, 1], [6680, 1], [6679, 1], [6678, 1], [6677, 1], [6676, 1], [6675, 1], [6674, 1], [6673, 1], [6672, 1], [6671, 1], [6670, 1], [6669, 1], [6668, 1], [6667, 1], [6666, 1], [6665, 1], [6664, 1], [6663, 1], [6662, 1], [6661, 1], [6660, 1], [6659, 1], [6658, 1], [6657, 1], [6656, 1], [6655, 1], [6654, 1], [6653, 1], [6652, 1], [6651, 1], [6650, 1], [6649, 1], [6648, 1], [6647, 1], [6545, 1], [6544, 1], [6543, 1], [6542, 1], [6541, 1], [6540, 1], [6539, 1], [6538, 1], [6537, 1], [6536, 1], [6535, 1], [6534, 1], [6533, 1], [6532, 1], [6532, 0, "H"], [6533, 0, "_"], [6534, 0, "p"], [6254, 0, "\\"], [6255, 0, "t"], [6256, 0, "e"], [6257, 0, "x"], [6258, 0, "t"], [6259, 0, "b"], [6260, 0, "f"], [6261, 0, "{"], [6262, 0, "P"], [6263, 0, "r"], [6264, 0, "o"], [6265, 0, "o"], [6266, 0, "f"], [6267, 0, "."], [6268, 0, " "], [6268, 1], [6268, 0, "}"], [6269, 0, " "], [7429, 0, "\n"], [7430, 0, "\n"], [7431, 0, "W"], [7432, 0, "e"], [7433, 0, " "], [7434, 0, "s"], [7435, 0, "h"], [7436, 0, "o"], [7437, 0, "w"], [7438, 0, " "], [7439, 0, "t"], [7440, 0, "h"], [7441, 0, "e"], [7442, 0, " "], [7443, 0, "i"], [7444, 0, "n"], [7445, 0, "d"], [7446, 0, "u"], [7447, 0, "c"], [7448, 0, "t"], [7449, 0, "i"], [7450, 0, "o"], [7451, 0, "n"], [7452, 0, " "], [7453, 0, "s"], [7454, 0, "t"], [7455, 0, "e"], [7456, 0, "p"], [7457, 0, " "], [7458, 0, "c"], [7459, 0, "a"], [7460, 0, "s"], [7461, 0, "e"], [7462, 0, " "], [7463, 0, "b"], [7464, 0, "y"], [7465, 0, " "], [7466, 0, "c"], [7467, 0, "a"], [7468, 0, "s"], [7469, 0, "e"], [7470, 0, ","], [7471, 0, " "], [7472, 0, "c"], [7473, 0, "o"], [7474, 0, "n"], [7475, 0, "s"], [7476, 0, "i"], [7477, 0, "d"], [7478, 0, "e"], [7479, 0, "r"], [7480, 0, "i"], [7481, 0, "n"], [7482, 0, "g"], [7483, 0, " "], [7484, 0, "e"], [7485, 0, "a"], [7486, 0, "c"], [7487, 0, "h"], [7488, 0, " "], [7489, 0, "t"], [7490, 0, "y"], [7491, 0, "p"], [7492, 0, "e"], [7493, 0, " "], [7494, 0, "o"], [7495, 0, "f"], [7496, 0, " "], [7497, 0, "o"], [7498, 0, "p"], [7499, 0, "e"], [7500, 0, "r"], [7501, 0, "a"], [7502, 0, "t"], [7503, 0, "i"], [7504, 0, "o"], [7505, 0, "n"], [7506, 0, " "], [7507, 0, "$"], [7508, 0, "P"], [7508, 1], [7508, 0, "o"], [7509, 0, "_"], [7510, 0, "{"], [7511, 0, "n"], [7512, 0, "+"], [7513, 0, "1"], [7514, 0, "}"], [7515, 0, "$"], [7516, 0, " "], [7517, 0, "t"], [7518, 0, "h"], [7519, 0, "a"], [7520, 0, "t"], [7521, 0, " "], [7522, 0, "m"], [7523, 0, "a"], [7524, 0, "y"], [7525, 0, " "], [7526, 0, "b"], [7527, 0, "e"], [7528, 0, " "], [7529, 0, "i"], [7530, 0, "n"], [7531, 0, "s"], [7532, 0, "e"], [7533, 0, "r"], [7534, 0, "t"], [7535, 0, "e"], [7536, 0, "d"], [7537, 0, "."], [7538, 0, " "], [7539, 0, "F"], [7540, 0, "i"], [7541, 0, "r"], [7542, 0, "s"], [7543, 0, "t"], [7544, 0, " "], [7545, 0, "c"], [7546, 0, "o"], [7547, 0, "n"], [7548, 0, "s"], [7549, 0, "i"], [7550, 0, "d"], [7551, 0, "e"], [7552, 0, "r"], [7553, 0, " "], [7554, 0, "t"], [7555, 0, "h"], [7556, 0, "e"], [7557, 0, " "], [7558, 0, "c"], [7559, 0, "a"], [7560, 0, "s"], [7561, 0, "e"], [7562, 0, " "], [7563, 0, "t"], [7564, 0, "h"], [7565, 0, "a"], [7566, 0, "t"], [7567, 0, " "], [7568, 0, "$"], [7569, 0, "o"], [7570, 0, "_"], [7538, 1], [7538, 0, "\n"], [7539, 0, "\n"], [7572, 0, "{"], [7573, 0, "n"], [7574, 0, "+"], [7575, 0, "1"], [7576, 0, "}"], [7577, 0, "="], [7578, 0, "\\"], [7579, 0, "m"], [7580, 0, "a"], [7581, 0, "t"], [7582, 0, "h"], [7583, 0, "s"], [7584, 0, "f"], [7585, 0, "{"], [7586, 0, "d"], [7587, 0, "e"], [7588, 0, "l"], [7589, 0, "e"], [7590, 0, "t"], [7591, 0, "e"], [7592, 0, "}"], [7593, 0, "("], [7594, 0, "\\"], [7595, 0, "m"], [7596, 0, "a"], [7597, 0, "t"], [7598, 0, "h"], [7599, 0, "i"], [7600, 0, "t"], [7601, 0, "{"], [7602, 0, "i"], [7603, 0, "d"], [7604, 0, "}"], [7605, 0, ")"], [7606, 0, "$"], [7607, 0, "."], [7608, 0, " "], [7609, 0, "B"], [7610, 0, "y"], [7611, 0, " "], [7612, 0, "c"], [7613, 0, "a"], [7614, 0, "u"], [7615, 0, "s"], [7616, 0, "a"], [7617, 0, "l"], [7618, 0, "i"], [7619, 0, "t"], [7620, 0, "y"], [7621, 0, ","], [7622, 0, " "], [7623, 0, "t"], [7624, 0, "h"], [7624, 1], [7623, 1], [7622, 1], [7621, 1], [7620, 1], [7619, 1], [7618, 1], [7617, 1], [7616, 1], [7615, 1], [7614, 1], [7613, 1], [7612, 1], [7611, 1], [7610, 1], [7609, 1], [7609, 0, "A"], [7610, 0, " "], [7611, 0, "l"], [7612, 0, "i"], [7613, 0, "s"], [7614, 0, "t"], [7615, 0, " "], [7616, 0, "e"], [7617, 0, "l"], [7618, 0, "e"], [7619, 0, "m"], [7620, 0, "e"], [7621, 0, "n"], [7622, 0, "t"], [7623, 0, " "], [7624, 0, "c"], [7625, 0, "a"], [7626, 0, "n"], [7627, 0, " "], [7628, 0, "o"], [7629, 0, "n"], [7630, 0, "l"], [7631, 0, "y"], [7632, 0, " "], [7633, 0, "b"], [7634, 0, "e"], [7635, 0, " "], [7636, 0, "d"], [7637, 0, "e"], [7638, 0, "l"], [7639, 0, "e"], [7640, 0, "t"], [7641, 0, "e"], [7642, 0, "d"], [7643, 0, " "], [7644, 0, "i"], [7645, 0, "f"], [7646, 0, " "], [7647, 0, "i"], [7648, 0, "t"], [7649, 0, " "], [7650, 0, "e"], [7651, 0, "x"], [7652, 0, "i"], [7653, 0, "s"], [7654, 0, "t"], [7655, 0, "s"], [7656, 0, " "], [7657, 0, "i"], [7658, 0, "n"], [7659, 0, " "], [7660, 0, "t"], [7661, 0, "h"], [7662, 0, "e"], [7663, 0, " "], [7664, 0, "l"], [7665, 0, "i"], [7666, 0, "s"], [7667, 0, "t"], [7668, 0, ","], [7669, 0, " "], [7670, 0, "s"], [7671, 0, "o"], [7672, 0, " "], [7673, 0, "b"], [7674, 0, "y"], [7675, 0, " "], [7676, 0, "c"], [7677, 0, "a"], [7678, 0, "u"], [7679, 0, "s"], [7680, 0, "a"], [7681, 0, "l"], [7682, 0, "i"], [7683, 0, "t"], [7684, 0, "y"], [7685, 0, ","], [7686, 0, " "], [7687, 0, "t"], [7688, 0, "h"], [7689, 0, "e"], [7690, 0, "r"], [7691, 0, "e"], [7692, 0, " "], [7693, 0, "m"], [7694, 0, "u"], [7695, 0, "s"], [7696, 0, "t"], [7697, 0, " "], [7698, 0, "b"], [7699, 0, "e"], [7700, 0, " "], [7701, 0, "a"], [7702, 0, " "], [7703, 0, "p"], [7704, 0, "r"], [7705, 0, "i"], [7706, 0, "o"], [7707, 0, "r"], [7708, 0, " "], [7708, 1], [7707, 1], [7706, 1], [7705, 1], [7704, 1], [7703, 1], [7702, 1], [7702, 0, "n"], [7703, 0, " "], [7704, 0, "o"], [7705, 0, "p"], [7706, 0, "e"], [7707, 0, "r"], [7708, 0, "a"], [7709, 0, "t"], [7710, 0, "i"], [7711, 0, "o"], [7712, 0, "n"], [7713, 0, " "], [7714, 0, "$"], [7715, 0, "o"], [7716, 0, "_"], [7717, 0, "i"], [7718, 0, "="], [7719, 0, "\\"], [7720, 0, "m"], [7721, 0, "a"], [7722, 0, "t"], [7723, 0, "h"], [7724, 0, "s"], [7725, 0, "f"], [7726, 0, "{"], [7727, 0, "i"], [7728, 0, "n"], [7729, 0, "s"], [7730, 0, "e"], [7731, 0, "r"], [7732, 0, "t"], [7733, 0, "}"], [7734, 0, "("], [7735, 0, "\\"], [7736, 0, "m"], [7737, 0, "a"], [7738, 0, "t"], [7739, 0, "h"], [7740, 0, "i"], [7741, 0, "t"], [7742, 0, "{"], [7743, 0, "i"], [7744, 0, "d"], [7745, 0, "}"], [7746, 0, ","], [7747, 0, " "], [7748, 0, "\\"], [7749, 0, "p"], [7750, 0, "l"], [7751, 0, "a"], [7752, 0, "c"], [7753, 0, "e"], [7754, 0, "h"], [7755, 0, "o"], [7756, 0, "l"], [7757, 0, "d"], [7758, 0, "e"], [7759, 0, "r"], [7760, 0, ","], [7761, 0, " "], [7762, 0, "\\"], [7763, 0, "p"], [7764, 0, "l"], [7765, 0, "a"], [7766, 0, "c"], [7767, 0, "e"], [7768, 0, "h"], [7769, 0, "o"], [7770, 0, "l"], [7771, 0, "d"], [7772, 0, "e"], [7773, 0, "r"], [7774, 0, ")"], [7775, 0, "$"], [7776, 0, " "], [7777, 0, "a"], [7778, 0, "t"], [7779, 0, " "], [7780, 0, "a"], [7781, 0, " "], [7782, 0, "p"], [7783, 0, "r"], [7784, 0, "i"], [7785, 0, "o"], [7786, 0, "r"], [7787, 0, " "], [7788, 0, "p"], [7789, 0, "o"], [7790, 0, "i"], [7791, 0, "n"], [7792, 0, "t"], [7793, 0, " "], [7794, 0, "i"], [7795, 0, "n"], [7796, 0, " "], [7797, 0, "t"], [7798, 0, "h"], [7799, 0, "e"], [7800, 0, " "], [7801, 0, "h"], [7802, 0, "i"], [7803, 0, "s"], [7804, 0, "t"], [7805, 0, "o"], [7806, 0, "r"], [7807, 0, "y"], [7808, 0, "."], [7809, 0, " "], [7810, 0, "M"], [7811, 0, "o"], [7812, 0, "r"], [7813, 0, "e"], [7814, 0, "o"], [7815, 0, "v"], [7816, 0, "e"], [7817, 0, "r"], [7818, 0, ","], [7819, 0, " "], [7820, 0, "L"], [7821, 0, "a"], [7822, 0, "m"], [7823, 0, "p"], [7824, 0, "o"], [7825, 0, "r"], [7826, 0, "t"], [7827, 0, " "], [7828, 0, "t"], [7829, 0, "i"], [7830, 0, "m"], [7831, 0, "e"], [7832, 0, "s"], [7833, 0, "t"], [7834, 0, "a"], [7835, 0, "m"], [7836, 0, "p"], [7837, 0, "s"], [7838, 0, " "], [7839, 0, "u"], [7840, 0, "s"], [7841, 0, "e"], [7842, 0, "d"], [7843, 0, " "], [7820, 0, "t"], [7821, 0, "h"], [7822, 0, "e"], [7823, 0, " "], [7841, 1], [7847, 0, "a"], [7848, 0, "s"], [7849, 0, " "], [7850, 0, "\\"], [7850, 1], [7850, 0, "$"], [7851, 0, "\\"], [7852, 0, "m"], [7853, 0, "a"], [7854, 0, "t"], [7855, 0, "h"], [7856, 0, "i"], [7857, 0, "d"], [7858, 0, "{"], [7858, 1], [7857, 1], [7857, 0, "t"], [7858, 0, "{"], [7859, 0, "i"], [7860, 0, "d"], [7861, 0, "}"], [7862, 0, "$"], [7863, 0, " "], [7864, 0, "i"], [7865, 0, "s"], [7866, 0, " "], [7867, 0, "u"], [7868, 0, "n"], [7869, 0, "i"], [7870, 0, "q"], [7871, 0, "u"], [7872, 0, "e"], [7873, 0, ","], [7874, 0, " "], [7875, 0, "s"], [7876, 0, "o"], [7877, 0, " "], [7878, 0, "t"], [7879, 0, "h"], [7880, 0, "e"], [7881, 0, "r"], [7882, 0, "e"], [7883, 0, " "], [7884, 0, "m"], [7885, 0, "u"], [7886, 0, "s"], [7887, 0, "t"], [7888, 0, " "], [7889, 0, "b"], [7890, 0, "e"], [7891, 0, " "], [7892, 0, "e"], [7893, 0, "x"], [7894, 0, "a"], [7895, 0, "c"], [7896, 0, "t"], [7897, 0, "l"], [7898, 0, "y"], [7899, 0, " "], [7900, 0, "o"], [7901, 0, "n"], [7902, 0, "e"], [7903, 0, " "], [7904, 0, "s"], [7905, 0, "u"], [7906, 0, "c"], [7907, 0, "h"], [7908, 0, " "], [7909, 0, "$"], [7910, 0, "\\"], [7911, 0, "m"], [7912, 0, "a"], [7913, 0, "t"], [7914, 0, "h"], [7915, 0, "s"], [7916, 0, "f"], [7917, 0, "{"], [7918, 0, "i"], [7919, 0, "n"], [7920, 0, "s"], [7921, 0, "e"], [7922, 0, "r"], [7923, 0, "t"], [7924, 0, "}"], [7925, 0, "$"], [7926, 0, " "], [7927, 0, "o"], [7928, 0, "p"], [7929, 0, "e"], [7930, 0, "r"], [7931, 0, "a"], [7932, 0, "t"], [7933, 0, "i"], [7934, 0, "o"], [7935, 0, "n"], [7936, 0, ","], [7937, 0, " "], [7938, 0, "a"], [7939, 0, "n"], [7940, 0, "d"], [7941, 0, " "], [7942, 0, "t"], [7943, 0, "h"], [7944, 0, "e"], [7945, 0, "r"], [7946, 0, "e"], [7947, 0, " "], [7948, 0, "c"], [7949, 0, "a"], [7950, 0, "n"], [7951, 0, "n"], [7952, 0, "o"], [7953, 0, "t"], [7954, 0, " "], [7955, 0, "b"], [7956, 0, "e"], [7957, 0, " "], [7958, 0, "a"], [7959, 0, "n"], [7960, 0, "y"], [7961, 0, " "], [7962, 0, "$"], [7963, 0, "\\"], [7964, 0, "m"], [7965, 0, "a"], [7966, 0, "t"], [7967, 0, "h"], [7968, 0, "s"], [7969, 0, "f"], [7970, 0, "{"], [7971, 0, "i"], [7972, 0, "s"], [7973, 0, "n"], [7974, 0, "e"], [7975, 0, "r"], [7976, 0, "t"], [7976, 1], [7975, 1], [7974, 1], [7973, 1], [7972, 1], [7972, 0, "n"], [7973, 0, "s"], [7974, 0, "e"], [7975, 0, "r"], [7976, 0, "t"], [7977, 0, "}"], [7978, 0, "$"], [7979, 0, " "], [7980, 0, "o"], [7981, 0, "p"], [7982, 0, "e"], [7983, 0, "r"], [7984, 0, "a"], [7985, 0, "t"], [7986, 0, "i"], [7987, 0, "o"], [7988, 0, "n"], [7989, 0, " "], [7990, 0, "f"], [7991, 0, "o"], [7992, 0, "r"], [7993, 0, " "], [7994, 0, "t"], [7995, 0, "h"], [7996, 0, "e"], [7997, 0, " "], [7998, 0, "s"], [7999, 0, "a"], [8000, 0, "m"], [8001, 0, "e"], [8002, 0, " "], [8003, 0, "$"], [8004, 0, "\\"], [8005, 0, "m"], [8006, 0, "a"], [8007, 0, "t"], [8008, 0, "h"], [8009, 0, "i"], [8010, 0, "t"], [8011, 0, "{"], [8012, 0, "i"], [8013, 0, "d"], [8014, 0, "}"], [8015, 0, "$"], [8016, 0, " "], [8017, 0, "a"], [8018, 0, "t"], [8019, 0, " "], [8020, 0, "a"], [8021, 0, " "], [8022, 0, "p"], [8023, 0, "o"], [8024, 0, "i"], [8025, 0, "n"], [8026, 0, "t"], [8027, 0, " "], [8028, 0, "a"], [8029, 0, "f"], [8030, 0, "t"], [8031, 0, "e"], [8032, 0, "r"], [8033, 0, " "], [8034, 0, "$"], [8035, 0, "o"], [8036, 0, "_"], [8037, 0, "{"], [8038, 0, "n"], [8039, 0, "+"], [8040, 0, "1"], [8041, 0, "}"], [8042, 0, "$"], [8043, 0, " "], [8044, 0, "i"], [8045, 0, "n"], [8046, 0, " "], [8047, 0, "t"], [8048, 0, "h"], [8049, 0, "e"], [8050, 0, " "], [8051, 0, "h"], [8052, 0, "i"], [8053, 0, "s"], [8054, 0, "t"], [8055, 0, "o"], [8056, 0, "r"], [8057, 0, "y"], [8058, 0, "."], [8059, 0, "\n"], [8060, 0, "\n"], [8061, 0, "T"], [8062, 0, "h"], [8063, 0, "u"], [8064, 0, "s"], [8065, 0, ","], [8066, 0, " "], [8067, 0, "t"], [8068, 0, "h"], [8069, 0, "e"], [8070, 0, " "], [8071, 0, "o"], [8072, 0, "n"], [8073, 0, "l"], [8074, 0, "y"], [8075, 0, " "], [8076, 0, "m"], [8076, 1], [8076, 0, "o"], [8077, 0, "p"], [8078, 0, "e"], [8079, 0, "r"], [8080, 0, "a"], [8081, 0, "t"], [8082, 0, "i"], [8083, 0, "o"], [8084, 0, "n"], [8085, 0, " "], [8086, 0, "t"], [8087, 0, "h"], [8088, 0, "a"], [8089, 0, "t"], [8090, 0, " "], [8091, 0, "c"], [8092, 0, "a"], [8093, 0, "n"], [8094, 0, " "], [8095, 0, "m"], [8096, 0, "o"], [8097, 0, "d"], [8098, 0, "i"], [8099, 0, "f"], [8100, 0, "y"], [8101, 0, " "], [8102, 0, "t"], [8103, 0, "h"], [8104, 0, "e"], [8105, 0, " "], [8106, 0, "m"], [8107, 0, "a"], [8108, 0, "p"], [8109, 0, "p"], [8110, 0, "i"], [8111, 0, "n"], [8112, 0, "g"], [8113, 0, " "], [8114, 0, "f"], [8115, 0, "o"], [8116, 0, "r"], [8117, 0, " "], [8118, 0, "t"], [8119, 0, "h"], [8120, 0, "e"], [8121, 0, " "], [8121, 1], [8120, 1], [8119, 1], [8118, 1], [8118, 0, "$"], [8119, 0, "A"], [8120, 0, "("], [8121, 0, "\\"], [8122, 0, "m"], [8123, 0, "a"], [8124, 0, "t"], [8125, 0, "h"], [8126, 0, "i"], [8127, 0, "t"], [8128, 0, "{"], [8129, 0, "i"], [8130, 0, "d"], [8131, 0, "}"], [8132, 0, "$"], [8132, 1], [8132, 0, ")"], [8133, 0, "$"], [8134, 0, " "], [8060, 0, "\n"], [8061, 0, "N"], [8062, 0, "o"], [8063, 0, "t"], [8064, 0, "e"], [8065, 0, " "], [8066, 0, "t"], [8067, 0, "h"], [8068, 0, "a"], [8069, 0, "t"], [8070, 0, " "], [8071, 0, "t"], [8072, 0, "h"], [8073, 0, "e"], [8074, 0, " "], [8074, 1], [8073, 1], [8072, 1], [8071, 1], [8071, 0, "a"], [8072, 0, "p"], [8073, 0, "p"], [8074, 0, "l"], [8075, 0, "y"], [8076, 0, "i"], [8077, 0, "n"], [8078, 0, "g"], [8079, 0, " "], [8080, 0, "$"], [8081, 0, "\\"], [8082, 0, "m"], [8083, 0, "a"], [8084, 0, "t"], [8085, 0, "h"], [8086, 0, "s"], [8087, 0, "f"], [8088, 0, "{"], [8089, 0, "d"], [8090, 0, "e"], [8091, 0, "l"], [8092, 0, "e"], [8093, 0, "t"], [8094, 0, "e"], [8095, 0, "}"], [8096, 0, "("], [8097, 0, "\\"], [8098, 0, "m"], [8099, 0, "a"], [8100, 0, "t"], [8101, 0, "h"], [8102, 0, "i"], [8103, 0, "t"], [8104, 0, "{"], [8105, 0, "i"], [8106, 0, "d"], [8107, 0, "}"], [8108, 0, ")"], [8109, 0, "$"], [8110, 0, " "], [8145, 1], [8144, 1], [8143, 1], [8142, 1], [8141, 1], [8140, 1], [8139, 1], [8138, 1], [8137, 1], [8136, 1], [8135, 1], [8134, 1], [8133, 1], [8132, 1], [8131, 1], [8130, 1], [8129, 1], [8128, 1], [8127, 1], [8126, 1], [8125, 1], [8124, 1], [8123, 1], [8122, 1], [8121, 1], [8120, 1], [8119, 1], [8118, 1], [8117, 1], [8116, 1], [8115, 1], [8114, 1], [8113, 1], [8112, 1], [8111, 1], [8116, 1], [8116, 0, "i"], [8117, 0, "e"], [8118, 0, "s"], [8119, 0, " "], [8120, 0, "o"], [8121, 0, "n"], [8122, 0, "l"], [8123, 0, "y"], [8158, 0, "i"], [8159, 0, "n"], [8160, 0, " "], [8161, 0, "t"], [8162, 0, "h"], [8163, 0, "e"], [8164, 0, " "], [8165, 0, "s"], [8166, 0, "t"], [8167, 0, "a"], [8168, 0, "t"], [8169, 0, "e"], [8170, 0, " "], [8157, 0, ","], [8160, 1], [8159, 1], [8159, 0, "a"], [8160, 0, "n"], [8161, 0, "d"], [8162, 0, " "], [8163, 0, "o"], [8164, 0, "t"], [8165, 0, "h"], [8166, 0, "e"], [8167, 0, "r"], [8168, 0, "w"], [8169, 0, "i"], [8170, 0, "s"], [8171, 0, "e"], [8172, 0, " "], [8173, 0, "l"], [8174, 0, "e"], [8175, 0, "a"], [8176, 0, "v"], [8177, 0, "e"], [8178, 0, "s"], [8190, 0, "$"], [8191, 0, "A"], [8192, 0, "$"], [8193, 0, " "], [8194, 0, "u"], [8195, 0, "n"], [8196, 0, "c"], [8197, 0, "h"], [8198, 0, "a"], [8199, 0, "n"], [8200, 0, "g"], [8201, 0, "e"], [8202, 0, "d"], [8203, 0, "."], [8204, 0, " "], [8205, 0, "T"], [8206, 0, "h"], [8207, 0, "e"], [8208, 0, " "], [8209, 0, "o"], [8210, 0, "p"], [8211, 0, "e"], [8212, 0, "r"], [8213, 0, "a"], [8214, 0, "t"], [8215, 0, "i"], [8216, 0, "o"], [8217, 0, "n"], [8218, 0, " "], [8219, 0, "c"], [8220, 0, "a"], [8221, 0, "n"], [8222, 0, " "], [8223, 0, "t"], [8224, 0, "h"], [8225, 0, "u"], [8226, 0, "s"], [8227, 0, " "], [8228, 0, "o"], [8229, 0, "n"], [8230, 0, "l"], [8231, 0, "y"], [8232, 0, " "], [8233, 0, "i"], [8234, 0, "n"], [8235, 0, "t"], [8236, 0, "e"], [8237, 0, "r"], [8238, 0, "a"], [8239, 0, "c"], [8240, 0, "t"], [8241, 0, " "], [8242, 0, "w"], [8243, 0, "i"], [8244, 0, "t"], [8245, 0, "h"], [8246, 0, " "], [8247, 0, "a"], [8248, 0, "n"], [8249, 0, "o"], [8250, 0, "t"], [8251, 0, "h"], [8252, 0, "e"], [8253, 0, "r"], [8254, 0, " "], [8255, 0, "o"], [8256, 0, "p"], [8257, 0, "e"], [8258, 0, "r"], [8259, 0, "a"], [8260, 0, "t"], [8261, 0, "i"], [8262, 0, "o"], [8263, 0, "n"], [8264, 0, " "], [8265, 0, "t"], [8266, 0, "h"], [8267, 0, "a"], [8268, 0, "t"], [8269, 0, " "], [8270, 0, "m"], [8271, 0, "o"], [8272, 0, "d"], [8273, 0, "i"], [8274, 0, "f"], [8275, 0, "i"], [8276, 0, "e"], [8277, 0, "s"], [8278, 0, " "], [8279, 0, "t"], [8280, 0, "h"], [8281, 0, "e"], [8282, 0, " "], [8283, 0, "m"], [8284, 0, "a"], [8285, 0, "p"], [8286, 0, "p"], [8287, 0, "i"], [8288, 0, "n"], [8289, 0, "g"], [8290, 0, " "], [8291, 0, "f"], [8292, 0, "o"], [8293, 0, "r"], [8294, 0, " "], [8295, 0, "$"], [8296, 0, "A"], [8297, 0, "("], [8298, 0, "\\"], [8299, 0, "m"], [8300, 0, "a"], [8301, 0, "t"], [8302, 0, "h"], [8303, 0, "i"], [8304, 0, "t"], [8305, 0, "{"], [8306, 0, "i"], [8307, 0, "d"], [8308, 0, "}"], [8309, 0, ")"], [8310, 0, "$"], [8311, 0, ";"], [8312, 0, " "], [8313, 0, "i"], [8314, 0, "t"], [8315, 0, " "], [8316, 0, "i"], [8317, 0, "s"], [8318, 0, " "], [8319, 0, "t"], [8320, 0, "r"], [8321, 0, "i"], [8322, 0, "v"], [8323, 0, "i"], [8324, 0, "a"], [8325, 0, "l"], [8326, 0, "l"], [8327, 0, "y"], [8328, 0, " "], [8311, 1], [8311, 0, ","], [8312, 0, " "], [8313, 0, "a"], [8314, 0, "n"], [8315, 0, "d"], [8333, 0, "c"], [8334, 0, "o"], [8335, 0, "m"], [8336, 0, "m"], [8337, 0, "u"], [8338, 0, "t"], [8339, 0, "a"], [8340, 0, "t"], [8341, 0, "i"], [8342, 0, "v"], [8343, 0, "e"], [8344, 0, " "], [8345, 0, "w"], [8346, 0, "i"], [8347, 0, "t"], [8348, 0, "h"], [8349, 0, " "], [8350, 0, "r"], [8351, 0, "e"], [8352, 0, "s"], [8353, 0, "p"], [8354, 0, "e"], [8355, 0, "c"], [8356, 0, "t"], [8357, 0, " "], [8358, 0, "t"], [8359, 0, "o"], [8360, 0, " "], [8361, 0, "a"], [8203, 0, ","], [8204, 0, " "], [8205, 0, "s"], [8206, 0, "o"], [8207, 0, " "], [8208, 0, "i"], [8209, 0, "t"], [8210, 0, " "], [8211, 0, "i"], [8212, 0, "s"], [8213, 0, " "], [8214, 0, "t"], [8215, 0, "r"], [8216, 0, "i"], [8217, 0, "v"], [8218, 0, "i"], [8219, 0, "a"], [8220, 0, "l"], [8221, 0, "l"], [8222, 0, "y"], [8223, 0, " "], [8224, 0, "c"], [8225, 0, "o"], [8226, 0, "m"], [8227, 0, "m"], [8228, 0, "u"], [8229, 0, "t"], [8230, 0, "a"], [8231, 0, "t"], [8232, 0, "i"], [8233, 0, "v"], [8234, 0, "e"], [8235, 0, " "], [8236, 0, "w"], [8237, 0, "i"], [8238, 0, "t"], [8239, 0, "h"], [8240, 0, " "], [8241, 0, "r"], [8242, 0, "e"], [8243, 0, "s"], [8244, 0, "p"], [8245, 0, "e"], [8246, 0, "c"], [8247, 0, "t"], [8248, 0, " "], [8249, 0, "t"], [8250, 0, "o"], [8251, 0, " "], [8252, 0, "a"], [8253, 0, "n"], [8254, 0, "y"], [8255, 0, " "], [8256, 0, "o"], [8257, 0, "p"], [8258, 0, "e"], [8259, 0, "r"], [8260, 0, "a"], [8261, 0, "t"], [8262, 0, "i"], [8263, 0, "o"], [8264, 0, "n"], [8265, 0, " "], [8266, 0, "t"], [8267, 0, "h"], [8268, 0, "a"], [8269, 0, "t"], [8270, 0, " "], [8271, 0, "d"], [8272, 0, "o"], [8273, 0, "e"], [8274, 0, "s"], [8275, 0, " "], [8276, 0, "n"], [8277, 0, "o"], [8278, 0, "t"], [8279, 0, " "], [8280, 0, "m"], [8281, 0, "o"], [8282, 0, "d"], [8283, 0, "i"], [8284, 0, "f"], [8285, 0, "y"], [8286, 0, " "], [8287, 0, "o"], [8288, 0, "r"], [8289, 0, " "], [8290, 0, "d"], [8291, 0, "e"], [8292, 0, "p"], [8293, 0, "e"], [8294, 0, "n"], [8295, 0, "d"], [8296, 0, " "], [8297, 0, "o"], [8298, 0, "n"], [8299, 0, " "], [8300, 0, "$"], [8301, 0, "A"], [8302, 0, "("], [8303, 0, "\\"], [8304, 0, "m"], [8305, 0, "a"], [8306, 0, "t"], [8307, 0, "h"], [8308, 0, "i"], [8309, 0, "t"], [8310, 0, "{"], [8311, 0, "i"], [8312, 0, "d"], [8313, 0, "}"], [8314, 0, ")"], [8315, 0, "$"], [8317, 0, "\n"], [8318, 0, "\n"], [7539, 0, "\n"], [7540, 0, "\\"], [7541, 0, "s"], [7542, 0, "u"], [7543, 0, "b"], [7544, 0, "s"], [7545, 0, "u"], [7546, 0, "b"], [7547, 0, "s"], [7548, 0, "e"], [7549, 0, "c"], [7550, 0, "t"], [7551, 0, "i"], [7552, 0, "o"], [7553, 0, "n"], [7554, 0, "{"], [7555, 0, "D"], [7556, 0, "e"], [7557, 0, "l"], [7558, 0, "e"], [7559, 0, "t"], [7560, 0, "i"], [7561, 0, "o"], [7562, 0, "n"], [7563, 0, "}"], [7564, 0, "\n"], [7555, 0, "C"], [7556, 0, "o"], [7557, 0, "m"], [7558, 0, "m"], [7559, 0, "u"], [7560, 0, "t"], [7561, 0, "a"], [7562, 0, "t"], [7563, 0, "i"], [7564, 0, "v"], [7565, 0, "i"], [7566, 0, "t"], [7567, 0, "y"], [7568, 0, " "], [7569, 0, "o"], [7570, 0, "f"], [7571, 0, " "], [7572, 1], [7572, 0, "d"], [8519, 1], [8518, 1], [8517, 1], [8516, 1], [8515, 1], [8514, 1], [8513, 1], [8512, 1], [8511, 1], [8510, 1], [8509, 1], [8508, 1], [8507, 1], [8506, 1], [8505, 1], [8504, 1], [8503, 1], [8502, 1], [8501, 1], [8500, 1], [8499, 1], [8498, 1], [8497, 1], [8496, 1], [8495, 1], [8494, 1], [8493, 1], [8492, 1], [8491, 1], [8490, 1], [8489, 1], [8488, 1], [8487, 1], [8486, 1], [8485, 1], [8484, 1], [8483, 1], [8482, 1], [8481, 1], [8480, 1], [8479, 1], [8478, 1], [8477, 1], [8476, 1], [8475, 1], [8474, 1], [8473, 1], [8472, 1], [8471, 1], [8470, 1], [8469, 1], [8468, 1], [8467, 1], [8466, 1], [8465, 1], [8464, 1], [8463, 1], [8462, 1], [8461, 1], [8460, 1], [8459, 1], [8458, 1], [8457, 1], [8456, 1], [8455, 1], [8454, 1], [8453, 1], [8452, 1], [8451, 1], [8450, 1], [8449, 1], [8448, 1], [8447, 1], [8446, 1], [8445, 1], [8444, 1], [8443, 1], [8442, 1], [8441, 1], [8440, 1], [8439, 1], [8438, 1], [8437, 1], [8436, 1], [8435, 1], [8434, 1], [8433, 1], [8432, 1], [8431, 1], [8430, 1], [8429, 1], [8428, 1], [8427, 1], [8426, 1], [8425, 1], [8424, 1], [8423, 1], [8422, 1], [8421, 1], [8420, 1], [8419, 1], [8418, 1], [8417, 1], [8416, 1], [8415, 1], [8414, 1], [8413, 1], [8412, 1], [8411, 1], [8410, 1], [8409, 1], [8408, 1], [8407, 1], [8406, 1], [8405, 1], [8404, 1], [8403, 1], [8402, 1], [8401, 1], [8400, 1], [8399, 1], [8398, 1], [8397, 1], [8396, 1], [8395, 1], [8394, 1], [8393, 1], [8392, 1], [8391, 1], [8390, 1], [8389, 1], [8388, 1], [8387, 1], [8386, 1], [8385, 1], [8384, 1], [8383, 1], [8382, 1], [8381, 1], [8380, 1], [8379, 1], [8378, 1], [8377, 1], [8376, 1], [8375, 1], [8374, 1], [8373, 1], [8372, 1], [8371, 1], [8370, 1], [8369, 1], [8368, 1], [8367, 1], [8366, 1], [8365, 1], [8364, 1], [8363, 1], [8362, 1], [7742, 1], [7741, 1], [7741, 0, "e"], [7742, 0, "x"], [7743, 0, "i"], [7744, 0, "s"], [7745, 0, "t"], [8365, 0, "T"], [8366, 0, "h"], [8367, 0, "e"], [8368, 0, " "], [8369, 0, "f"], [8370, 0, "i"], [8371, 0, "r"], [8372, 0, "s"], [8373, 0, "t"], [8374, 0, " "], [8375, 0, "k"], [8376, 0, "i"], [8377, 0, "n"], [8378, 0, "d"], [8379, 0, " "], [8380, 0, "o"], [8381, 0, "f"], [8382, 0, " "], [8383, 0, "o"], [8384, 0, "p"], [8385, 0, "e"], [8386, 0, "r"], [8387, 0, "a"], [8388, 0, "t"], [8389, 0, "i"], [8390, 0, "o"], [8391, 0, "n"], [8392, 0, " "], [8393, 0, "t"], [8394, 0, "h"], [8395, 0, "a"], [8396, 0, "t"], [8397, 0, " "], [8398, 0, "c"], [8399, 0, "a"], [8400, 0, "n"], [8401, 0, " "], [8402, 0, "a"], [8402, 1], [8402, 0, "m"], [8403, 0, "o"], [8404, 0, "d"], [8405, 0, "i"], [8406, 0, "f"], [8407, 0, "y"], [8408, 0, " "], [8409, 0, "t"], [8410, 0, "h"], [8411, 0, "e"], [8412, 0, " "], [8413, 0, "s"], [8414, 0, "a"], [8415, 0, "m"], [8416, 0, "e"], [8417, 0, " "], [8418, 0, "$"], [8419, 0, "A"], [8420, 0, "("], [8421, 0, "\\"], [8422, 0, "m"], [8423, 0, "a"], [8424, 0, "t"], [8425, 0, "h"], [8426, 0, "i"], [8427, 0, "t"], [8428, 0, "{"], [8429, 0, "i"], [8430, 0, "d"], [8431, 0, "}"], [8432, 0, ")"], [8433, 0, "$"], [8434, 0, " "], [8435, 0, "i"], [8436, 0, "s"], [8437, 0, " "], [8438, 0, "a"], [8439, 0, " "], [8440, 0, "$"], [8441, 0, "\\"], [8442, 0, "m"], [8443, 0, "a"], [8444, 0, "t"], [8445, 0, "h"], [8446, 0, "s"], [8447, 0, "f"], [8448, 0, "{"], [8449, 0, "d"], [8450, 0, "e"], [8451, 0, "l"], [8452, 0, "e"], [8453, 0, "t"], [8454, 0, "e"], [8455, 0, "}"], [8456, 0, "$"], [8457, 0, " "], [8458, 0, "o"], [8459, 0, "p"], [8460, 0, "e"], [8461, 0, "r"], [8462, 0, "a"], [8463, 0, "t"], [8464, 0, "i"], [8465, 0, "o"], [8466, 0, "n"], [8467, 0, " "], [8468, 0, "f"], [8469, 0, "o"], [8470, 0, "r"], [8471, 0, " "], [8472, 0, "t"], [8473, 0, "h"], [8474, 0, "e"], [8475, 0, " "], [8476, 0, "s"], [8477, 0, "a"], [8478, 0, "m"], [8479, 0, "e"], [8480, 0, " "], [8481, 0, "l"], [8482, 0, "i"], [8483, 0, "s"], [8484, 0, "t"], [8485, 0, " "], [8486, 0, "e"], [8487, 0, "l"], [8488, 0, "e"], [8489, 0, "m"], [8490, 0, "e"], [8491, 0, "n"], [8492, 0, "t"], [8493, 0, " "], [8494, 0, "$"], [8495, 0, "\\"], [8496, 0, "m"], [8497, 0, "a"], [8498, 0, "t"], [8499, 0, "h"], [8500, 0, "i"], [8501, 0, "t"], [8502, 0, "{"], [8503, 0, "i"], [8504, 0, "d"], [8505, 0, "}"], [8506, 0, "$"], [8507, 0, "."], [8508, 0, " "], [8509, 0, "A"], [8510, 0, "s"], [8511, 0, " "], [8512, 0, "t"], [8513, 0, "h"], [8514, 0, "e"], [8515, 0, " "], [8516, 0, "r"], [8517, 0, "u"], [8518, 0, "l"], [8519, 0, "e"], [8520, 0, " "], [8521, 0, "f"], [8522, 0, "o"], [8523, 0, "r"], [8524, 0, " "], [8525, 0, "a"], [8526, 0, "p"], [8527, 0, "p"], [8528, 0, "l"], [8529, 0, "y"], [8530, 0, "i"], [8531, 0, "n"], [8532, 0, "g"], [8533, 0, " "], [8534, 0, "t"], [8535, 0, "h"], [8536, 0, "i"], [8537, 0, "s"], [8538, 0, " "], [8539, 0, "o"], [8540, 0, "p"], [8541, 0, "e"], [8542, 0, "r"], [8543, 0, "a"], [8544, 0, "t"], [8545, 0, "i"], [8546, 0, "o"], [8547, 0, "n"], [8548, 0, " "], [8549, 0, "i"], [8550, 0, "s"], [8551, 0, " "], [8552, 0, "i"], [8553, 0, "d"], [8554, 0, "e"], [8555, 0, "m"], [8556, 0, "p"], [8557, 0, "o"], [8558, 0, "t"], [8559, 0, "e"], [8560, 0, "n"], [8561, 0, "t"], [8562, 0, ","], [8563, 0, " "], [8564, 0, "t"], [8565, 0, "h"], [8566, 0, "e"], [8567, 0, " "], [8568, 0, "p"], [8569, 0, "r"], [8570, 0, "e"], [8571, 0, "s"], [8572, 0, "e"], [8573, 0, "n"], [8574, 0, "c"], [8575, 0, "e"], [8576, 0, " "], [8577, 0, "o"], [8578, 0, "f"], [8579, 0, " "], [8580, 0, "a"], [8581, 0, "n"], [8582, 0, "y"], [8583, 0, " "], [8584, 0, "o"], [8585, 0, "t"], [8586, 0, "h"], [8587, 0, "e"], [8588, 0, "r"], [8589, 0, " "], [8590, 0, "$"], [8591, 0, "\\"], [8592, 0, "m"], [8593, 0, "a"], [8594, 0, "t"], [8595, 0, "h"], [8596, 0, "s"], [8597, 0, "f"], [8598, 0, "{"], [8599, 0, "d"], [8600, 0, "e"], [8601, 0, "l"], [8602, 0, "e"], [8603, 0, "t"], [8604, 0, "e"], [8605, 0, "}"], [8606, 0, "("], [8607, 0, "\\"], [8608, 0, "m"], [8609, 0, "a"], [8610, 0, "t"], [8611, 0, "h"], [8612, 0, "i"], [8613, 0, "t"], [8614, 0, "{"], [8615, 0, "i"], [8616, 0, "d"], [8617, 0, "}"], [8618, 0, ")"], [8619, 0, "$"], [8620, 0, " "], [8621, 0, "o"], [8622, 0, "p"], [8623, 0, "e"], [8624, 0, "r"], [8625, 0, "a"], [8626, 0, "t"], [8627, 0, "i"], [8628, 0, "o"], [8629, 0, "n"], [8630, 0, "s"], [8631, 0, " "], [8632, 0, "b"], [8633, 0, "e"], [8634, 0, "f"], [8635, 0, "o"], [8636, 0, "r"], [8637, 0, "e"], [8638, 0, " "], [8639, 0, "o"], [8640, 0, "r"], [8641, 0, " "], [8642, 0, "a"], [8643, 0, "f"], [8644, 0, "t"], [8645, 0, "e"], [8646, 0, "r"], [8647, 0, " "], [8648, 0, "$"], [8649, 0, "{"], [8649, 1], [8649, 0, "o"], [8650, 0, "_"], [8651, 0, "{"], [8652, 0, "n"], [8653, 0, "+"], [8654, 0, "1"], [8655, 0, "}"], [8656, 0, "$"], [8657, 0, " "], [8658, 0, "i"], [8659, 0, "n"], [8660, 0, " "], [8661, 0, "t"], [8662, 0, "h"], [8663, 0, "e"], [8664, 0, " "], [8665, 0, "h"], [8666, 0, "i"], [8667, 0, "s"], [8668, 0, "t"], [8669, 0, "o"], [8670, 0, "r"], [8671, 0, "y"], [8672, 0, " "], [8673, 0, "d"], [8674, 0, "o"], [8675, 0, "e"], [8676, 0, "s"], [8677, 0, " "], [8678, 0, "n"], [8679, 0, "o"], [8680, 0, "t"], [8681, 0, " "], [8682, 0, "h"], [8683, 0, "a"], [8684, 0, "v"], [8685, 0, "e"], [8686, 0, " "], [8687, 0, "a"], [8688, 0, "n"], [8689, 0, "y"], [8690, 0, " "], [8691, 0, "e"], [8692, 0, "f"], [8693, 0, "f"], [8694, 0, "e"], [8695, 0, "c"], [8696, 0, "t"], [8697, 0, " "], [8698, 0, "o"], [8699, 0, "n"], [8700, 0, " "], [8701, 0, "t"], [8702, 0, "h"], [8703, 0, "e"], [8704, 0, " "], [8705, 0, "f"], [8706, 0, "i"], [8707, 0, "n"], [8708, 0, "a"], [8709, 0, "l"], [8710, 0, " "], [8711, 0, "s"], [8712, 0, "t"], [8713, 0, "a"], [8714, 0, "t"], [8715, 0, "e"], [8716, 0, "."], [8717, 0, "\n"], [8718, 0, "\n"], [8719, 0, "T"], [8720, 0, "h"], [8721, 0, "e"], [8722, 0, " "], [8723, 0, "o"], [8724, 0, "n"], [8725, 0, "l"], [8726, 0, "y"], [8727, 0, " "], [8728, 0, "o"], [8729, 0, "t"], [8730, 0, "h"], [8731, 0, "e"], [8732, 0, "r"], [8733, 0, " "], [8734, 0, "k"], [8735, 0, "i"], [8736, 0, "n"], [8737, 0, "d"], [8738, 0, " "], [8739, 0, "o"], [8740, 0, "f"], [8741, 0, " "], [8742, 0, "o"], [8743, 0, "p"], [8744, 0, "e"], [8745, 0, "r"], [8746, 0, "a"], [8747, 0, "t"], [8748, 0, "i"], [8749, 0, "o"], [8750, 0, "n"], [8751, 0, " "], [8752, 0, "t"], [8753, 0, "h"], [8754, 0, "a"], [8755, 0, "t"], [8756, 0, " "], [8757, 0, "c"], [8758, 0, "a"], [8759, 0, "n"], [8760, 0, " "], [8761, 0, "d"], [8762, 0, "e"], [8763, 0, "p"], [8764, 0, "e"], [8765, 0, "n"], [8766, 0, "d"], [8767, 0, " "], [8768, 0, "o"], [8769, 0, "n"], [8770, 0, " "], [8771, 0, "o"], [8772, 0, "r"], [8773, 0, " "], [8774, 0, "m"], [8775, 0, "o"], [8776, 0, "d"], [8777, 0, "i"], [8778, 0, "f"], [8779, 0, "y"], [8780, 0, " "], [8781, 0, "$"], [8782, 0, "A"], [8783, 0, "("], [8784, 0, "\\"], [8785, 0, "m"], [8786, 0, "a"], [8787, 0, "t"], [8788, 0, "h"], [8789, 0, "i"], [8790, 0, "t"], [8791, 0, "{"], [8792, 0, "i"], [8793, 0, "d"], [8794, 0, "}"], [8795, 0, ")"], [8796, 0, "$"], [8797, 0, " "], [8798, 0, "i"], [8799, 0, "s"], [8800, 0, " "], [8801, 0, "a"], [8802, 0, "n"], [8803, 0, " "], [8804, 0, "\\"], [8804, 1], [8804, 0, "$"], [8805, 0, "\\"], [8806, 0, "m"], [8807, 0, "a"], [8808, 0, "t"], [8809, 0, "h"], [8810, 0, "s"], [8811, 0, "f"], [8812, 0, "{"], [8813, 0, "i"], [8814, 0, "n"], [8815, 0, "s"], [8816, 0, "e"], [8817, 0, "r"], [8818, 0, "t"], [8819, 0, "}"], [8820, 0, "$"], [8821, 0, " "], [8822, 0, "o"], [8823, 0, "p"], [8824, 0, "e"], [8825, 0, "r"], [8826, 0, "a"], [8827, 0, "t"], [8828, 0, "i"], [8829, 0, "o"], [8830, 0, "n"], [8831, 0, " "], [8832, 0, "i"], [8833, 0, "n"], [8834, 0, " "], [8835, 0, "w"], [8836, 0, "h"], [8837, 0, "i"], [8838, 0, "c"], [8839, 0, "h"], [8840, 0, " "], [8840, 1], [8839, 1], [8838, 1], [8837, 1], [8836, 1], [8835, 1], [8834, 1], [8833, 1], [8832, 1], [8831, 1], [8820, 0, "("], [8821, 0, "\\"], [8822, 0, "p"], [8823, 0, "l"], [8824, 0, "a"], [8825, 0, "c"], [8826, 0, "e"], [8827, 0, "h"], [8828, 0, "o"], [8829, 0, "l"], [8830, 0, "d"], [8831, 0, "e"], [8832, 0, "r"], [8833, 0, ","], [8834, 0, " "], [8835, 0, "\\"], [8836, 0, "m"], [8837, 0, "a"], [8838, 0, "t"], [8839, 0, "h"], [8840, 0, "i"], [8841, 0, "t"], [8842, 0, "{"], [8843, 0, "i"], [8844, 0, "d"], [8845, 0, "}"], [8846, 0, ","], [8847, 0, " "], [8848, 0, "\\"], [8849, 0, "p"], [8850, 0, "l"], [8851, 0, "a"], [8852, 0, "c"], [8853, 0, "e"], [8854, 0, "h"], [8855, 0, "o"], [8856, 0, "l"], [8857, 0, "d"], [8858, 0, "e"], [8859, 0, "r"], [8860, 0, ")"], [8872, 0, "."], [8719, 0, " "], [8719, 0, "W"], [8720, 0, "e"], [8721, 0, " "], [8722, 0, "s"], [8723, 0, "h"], [8724, 0, "o"], [8725, 0, "w"], [8726, 0, "e"], [8727, 0, "d"], [8728, 0, " "], [8729, 0, "t"], [8730, 0, "h"], [8731, 0, "a"], [8732, 0, "t"], [8733, 0, " "], [8734, 0, "a"], [8735, 0, "n"], [8736, 0, " "], [8737, 0, "$"], [8738, 0, "\\"], [8739, 0, "m"], [8740, 0, "a"], [8741, 0, "t"], [8742, 0, "h"], [8743, 0, "s"], [8744, 0, "f"], [8745, 0, "{"], [8746, 0, "i"], [8747, 0, "n"], [8748, 0, "s"], [8749, 0, "e"], [8750, 0, "r"], [8751, 0, "t"], [8752, 0, "}"], [8753, 0, "("], [8754, 0, "\\"], [8755, 0, "m"], [8756, 0, "a"], [8757, 0, "t"], [8758, 0, "h"], [8759, 0, "i"], [8760, 0, "t"], [8761, 0, "{"], [8762, 0, "i"], [8763, 0, "d"], [8764, 0, "}"], [8765, 0, ","], [8766, 0, " "], [8767, 0, "\\"], [8768, 0, "p"], [8769, 0, "l"], [8770, 0, "a"], [8771, 0, "c"], [8772, 0, "e"], [8773, 0, "h"], [8774, 0, "o"], [8775, 0, "l"], [8776, 0, "d"], [8777, 0, "e"], [8778, 0, "r"], [8779, 0, ","], [8780, 0, " "], [8781, 0, "\\"], [8782, 0, "p"], [8783, 0, "l"], [8784, 0, "a"], [8785, 0, "c"], [8786, 0, "e"], [8787, 0, "h"], [8788, 0, "o"], [8789, 0, "l"], [8790, 0, "d"], [8791, 0, "e"], [8792, 0, "r"], [8793, 0, ")"], [8794, 0, "$"], [8795, 0, " "], [8796, 0, "o"], [8797, 0, "p"], [8798, 0, "e"], [8799, 0, "r"], [8800, 0, "a"], [8801, 0, "t"], [8802, 0, "i"], [8803, 0, "o"], [8804, 0, "n"], [8805, 0, " "], [8806, 0, "c"], [8807, 0, "a"], [8808, 0, "n"], [8809, 0, " "], [8810, 0, "o"], [8811, 0, "n"], [8812, 0, "l"], [8813, 0, "y"], [8814, 0, " "], [8815, 0, "o"], [8816, 0, "c"], [8817, 0, "c"], [8818, 0, "u"], [8819, 0, "r"], [8820, 0, " "], [8821, 0, "p"], [8822, 0, "r"], [8823, 0, "i"], [8824, 0, "o"], [8825, 0, "r"], [8826, 0, " "], [8827, 0, "t"], [8828, 0, "o"], [8829, 0, " "], [8830, 0, "$"], [8831, 0, "\\"], [8832, 0, "m"], [8833, 0, "a"], [8834, 0, "t"], [8835, 0, "h"], [8836, 0, "s"], [8837, 0, "f"], [8838, 0, "{"], [8839, 0, "d"], [8840, 0, "e"], [8841, 0, "l"], [8842, 0, "e"], [8843, 0, "t"], [8844, 0, "e"], [8845, 0, "}"], [8846, 0, "("], [8847, 0, "\\"], [8848, 0, "m"], [8849, 0, "a"], [8850, 0, "t"], [8851, 0, "h"], [8852, 0, "i"], [8853, 0, "t"], [8854, 0, "{"], [8855, 0, "i"], [8856, 0, "d"], [8857, 0, "}"], [8858, 0, ")"], [8859, 0, "$"], [8860, 0, "."], [8861, 0, " "], [8862, 0, "T"], [8863, 0, "h"], [8864, 0, "u"], [8865, 0, "s"], [8866, 0, ","], [8868, 1], [8868, 0, "t"], [9021, 0, ","], [9022, 0, " "], [9023, 0, "o"], [9024, 0, "r"], [9025, 0, " "], [9026, 0, "a"], [9027, 0, " "], [9028, 0, "r"], [9029, 0, "e"], [9030, 0, "c"], [9031, 0, "u"], [9032, 0, "r"], [9033, 0, "s"], [9034, 0, "i"], [9035, 0, "v"], [9036, 0, "e"], [9037, 0, " "], [9038, 0, "c"], [9039, 0, "a"], [9040, 0, "l"], [9041, 0, "l"], [9042, 0, " "], [9043, 0, "t"], [9044, 0, "o"], [9045, 0, " "], [9046, 0, "t"], [9047, 0, "h"], [9048, 0, "e"], [9049, 0, " "], [9050, 0, "$"], [9051, 0, "\\"], [9052, 0, "m"], [9053, 0, "a"], [9054, 0, "t"], [9055, 0, "h"], [9056, 0, "r"], [9057, 0, "m"], [9058, 0, "{"], [9059, 0, "a"], [9060, 0, "p"], [9061, 0, "p"], [9062, 0, "l"], [9063, 0, "y"], [9064, 0, "}"], [9065, 0, "$"], [9066, 0, " "], [9067, 0, "f"], [9068, 0, "u"], [9069, 0, "n"], [9070, 0, "c"], [9071, 0, "t"], [9072, 0, "i"], [9073, 0, "o"], [9074, 0, "n"], [9075, 0, " "], [9076, 0, "t"], [9077, 0, "h"], [9078, 0, "a"], [9079, 0, "t"], [9080, 0, " "], [9081, 0, "u"], [9082, 0, "s"], [9083, 0, "e"], [9084, 0, "s"], [9085, 0, " "], [9086, 0, "s"], [9087, 0, "u"], [9088, 0, "c"], [9089, 0, "h"], [9090, 0, " "], [9091, 0, "a"], [9092, 0, "n"], [9093, 0, " "], [9094, 0, "o"], [9095, 0, "p"], [9096, 0, "e"], [9097, 0, "r"], [9098, 0, "a"], [9099, 0, "t"], [9100, 0, "i"], [9101, 0, "o"], [9102, 0, "n"], [9103, 0, " "], [9104, 0, "i"], [9105, 0, "n"], [9106, 0, "t"], [9107, 0, "e"], [9108, 0, "r"], [9109, 0, "n"], [9110, 0, "a"], [9111, 0, "l"], [9112, 0, "l"], [9113, 0, "y"], [9115, 0, " "], [9116, 0, "N"], [9117, 0, "o"], [9118, 0, "t"], [9119, 0, "e"], [9120, 0, " "], [9121, 0, "t"], [9122, 0, "h"], [9123, 0, "a"], [9124, 0, "t"], [9125, 0, " "], [9126, 0, "a"], [9127, 0, "l"], [9128, 0, "l"], [9129, 0, " "], [9130, 0, "l"], [9131, 0, "o"], [9132, 0, "o"], [9133, 0, "k"], [9134, 0, "u"], [9135, 0, "p"], [9136, 0, "s"], [9137, 0, " "], [9137, 1], [9136, 1], [9135, 1], [9134, 1], [9133, 1], [9132, 1], [9131, 1], [9130, 1], [9129, 1], [9128, 1], [9127, 1], [9126, 1], [9126, 0, "w"], [9127, 0, "h"], [9128, 0, "e"], [9129, 0, "n"], [9130, 0, " "], [9131, 0, "a"], [9132, 0, "p"], [9133, 0, "p"], [9134, 0, "l"], [9135, 0, "y"], [9136, 0, "i"], [9137, 0, "n"], [9138, 0, "g"], [9139, 0, " "], [9140, 0, "s"], [9141, 0, "u"], [9142, 0, "c"], [9143, 0, "h"], [9144, 0, " "], [9145, 0, "a"], [9146, 0, "n"], [9147, 0, " "], [9148, 0, "i"], [9149, 0, "n"], [9150, 0, "s"], [9151, 0, "e"], [9152, 0, "r"], [9152, 1], [9151, 1], [9150, 1], [9149, 1], [9148, 1], [9148, 0, "$"], [9149, 0, "\\"], [9150, 0, "m"], [9151, 0, "a"], [9152, 0, "t"], [9153, 0, "h"], [9154, 0, "s"], [9155, 0, "f"], [9156, 0, "{"], [9157, 0, "i"], [9158, 0, "n"], [9159, 0, "s"], [9160, 0, "e"], [9161, 0, "r"], [9162, 0, "t"], [9163, 0, "}"], [9164, 0, "$"], [9165, 0, " "], [9166, 0, "o"], [9167, 0, "p"], [9168, 0, "e"], [9169, 0, "r"], [9170, 0, "a"], [9171, 0, "t"], [9172, 0, "i"], [9173, 0, "o"], [9174, 0, "n"], [9175, 0, ","], [9176, 0, " "], [9177, 0, "t"], [9178, 0, "h"], [9179, 0, "e"], [9180, 0, " "], [9181, 0, "q"], [9182, 0, "u"], [9183, 0, "e"], [9184, 0, "r"], [9185, 0, "y"], [9186, 0, " "], [9187, 0, "f"], [9188, 0, "o"], [9189, 0, "r"], [9190, 0, " "], [9191, 0, "$"], [9192, 0, "A"], [9193, 0, "("], [9194, 0, "\\"], [9195, 0, "m"], [9196, 0, "a"], [9197, 0, "t"], [9198, 0, "h"], [9199, 0, "i"], [9200, 0, "t"], [9201, 0, "{"], [9202, 0, "p"], [9203, 0, "r"], [9204, 0, "e"], [9205, 0, "v"], [9206, 0, "}"], [9207, 0, ")"], [9208, 0, "$"], [9209, 0, " "], [9210, 0, "i"], [9211, 0, "g"], [9212, 0, "n"], [9213, 0, "o"], [9214, 0, "r"], [9215, 0, "e"], [9216, 0, "s"], [9217, 0, " "], [9218, 0, "t"], [9219, 0, "h"], [9220, 0, "e"], [9221, 0, " "], [9222, 0, "\\"], [9223, 0, "m"], [9224, 0, "a"], [9225, 0, "t"], [9226, 0, "h"], [9227, 0, "i"], [9228, 0, "t"], [9229, 0, "{"], [9230, 0, "v"], [9231, 0, "a"], [9232, 0, "l"], [9233, 0, "u"], [9234, 0, "e"], [9235, 0, "}"], [9222, 0, "$"], [9237, 0, "$"], [9238, 0, " "], [9239, 0, "e"], [9240, 0, "l"], [9241, 0, "e"], [9242, 0, "m"], [9243, 0, "e"], [9244, 0, "n"], [9245, 0, "t"], [9246, 0, " "], [9247, 0, "o"], [9248, 0, "f"], [9249, 0, " "], [9250, 0, "t"], [9251, 0, "h"], [9252, 0, "e"], [9253, 0, " "], [9185, 1], [9185, 0, "i"], [9186, 0, "e"], [9187, 0, "s"], [9218, 1], [9217, 1], [9216, 1], [9215, 1], [9214, 1], [9213, 1], [9212, 1], [9212, 0, "i"], [9213, 0, "g"], [9214, 0, "n"], [9215, 0, "o"], [9216, 0, "r"], [9217, 0, "e"], [9255, 0, "t"], [9256, 0, "u"], [9257, 0, "p"], [9258, 0, "l"], [9259, 0, "e"], [9260, 0, " "], [9261, 0, "a"], [9262, 0, "n"], [9263, 0, "d"], [9264, 0, " "], [9265, 0, "l"], [9266, 0, "e"], [9267, 0, "a"], [9268, 0, "v"], [9269, 0, "e"], [9270, 0, " "], [9271, 0, "i"], [9272, 0, "t"], [9273, 0, " "], [9274, 0, "u"], [9275, 0, "n"], [9276, 0, "a"], [9276, 1], [9276, 0, "c"], [9277, 0, "h"], [9278, 0, "a"], [9279, 0, "n"], [9280, 0, "g"], [9281, 0, "e"], [9282, 0, "d"], [9283, 0, ","], [9284, 0, " "], [9285, 0, "a"], [9286, 0, "n"], [9287, 0, "d"], [9288, 0, " "], [9289, 0, "o"], [9290, 0, "n"], [9291, 0, "l"], [9292, 0, "y"], [9293, 0, " "], [9294, 0, "e"], [9295, 0, "x"], [9296, 0, "a"], [9297, 0, "m"], [9298, 0, "i"], [9299, 0, "n"], [9300, 0, "e"], [9301, 0, " "], [9302, 0, "a"], [9303, 0, "n"], [9304, 0, "d"], [9305, 0, " "], [9306, 0, "m"], [9307, 0, "o"], [9308, 0, "d"], [9309, 0, "i"], [9310, 0, "f"], [9311, 0, "y"], [9312, 0, " "], [9313, 0, "t"], [9314, 0, "h"], [9315, 0, "e"], [9316, 0, " "], [9317, 0, "$"], [9318, 0, "\\"], [9319, 0, "m"], [9320, 0, "a"], [9321, 0, "t"], [9322, 0, "h"], [9323, 0, "i"], [9324, 0, "t"], [9325, 0, "{"], [9326, 0, "n"], [9327, 0, "e"], [9328, 0, "x"], [9329, 0, "t"], [9330, 0, "}"], [9331, 0, "$"], [9332, 0, " "], [9333, 0, "e"], [9334, 0, "l"], [9335, 0, "e"], [9336, 0, "m"], [9337, 0, "e"], [9338, 0, "n"], [9339, 0, "t"], [9340, 0, " "], [9341, 0, "o"], [9342, 0, "f"], [9343, 0, " "], [9344, 0, "t"], [9345, 0, "h"], [9346, 0, "e"], [9347, 0, " "], [9348, 0, "t"], [9349, 0, "u"], [9350, 0, "p"], [9351, 0, "l"], [9352, 0, "e"], [9353, 0, "."], [9354, 0, " "], [9355, 0, "B"], [9356, 0, "y"], [9357, 0, " "], [9358, 0, "c"], [9359, 0, "o"], [9360, 0, "n"], [9361, 0, "t"], [9362, 0, "r"], [9363, 0, "a"], [9364, 0, "s"], [9365, 0, "t"], [9366, 0, ","], [9367, 0, " "], [9368, 0, "$"], [9368, 1], [9368, 0, "a"], [9369, 0, "p"], [9370, 0, "p"], [9371, 0, "l"], [9372, 0, "y"], [9373, 0, "i"], [9374, 0, "n"], [9375, 0, "g"], [9376, 0, " "], [9377, 0, "$"], [9378, 0, "|"], [9378, 1], [9378, 0, "\\"], [9379, 0, "m"], [9380, 0, "a"], [9381, 0, "t"], [9382, 0, "h"], [9383, 0, "s"], [9384, 0, "f"], [9385, 0, "{"], [9386, 0, "d"], [9387, 0, "e"], [9388, 0, "l"], [9389, 0, "e"], [9390, 0, "t"], [9391, 0, "e"], [9392, 0, "}"], [9393, 0, "("], [9394, 0, "\\"], [9395, 0, "m"], [9396, 0, "a"], [9397, 0, "t"], [9398, 0, "h"], [9399, 0, "i"], [9400, 0, "t"], [9401, 0, "{"], [9402, 0, "i"], [9403, 0, "d"], [9404, 0, "}"], [9405, 0, ")"], [9406, 0, "$"], [9407, 0, " "], [9408, 0, "m"], [9409, 0, "o"], [9410, 0, "d"], [9411, 0, "i"], [9412, 0, "f"], [9413, 0, "i"], [9414, 0, "e"], [9415, 0, "s"], [9416, 0, " "], [9417, 0, "o"], [9418, 0, "n"], [9419, 0, "l"], [9420, 0, "y"], [9421, 0, " "], [9422, 0, "t"], [9423, 0, "h"], [9424, 0, "e"], [9425, 0, " "], [9426, 0, "$"], [9427, 0, "\\"], [9428, 0, "m"], [9429, 0, "a"], [9430, 0, "t"], [9431, 0, "h"], [9432, 0, "i"], [9433, 0, "t"], [9434, 0, "{"], [9435, 0, "v"], [9436, 0, "a"], [9437, 0, "l"], [9438, 0, "u"], [9439, 0, "e"], [9440, 0, "}"], [9441, 0, "$"], [9442, 0, " "], [9443, 0, "e"], [9444, 0, "l"], [9445, 0, "e"], [9446, 0, "m"], [9447, 0, "e"], [9448, 0, "n"], [9449, 0, "t"], [9450, 0, " "], [9451, 0, "o"], [9452, 0, "f"], [9453, 0, " "], [9454, 0, "$"], [9455, 0, "A"], [9456, 0, "("], [9457, 0, "\\"], [9458, 0, "m"], [9459, 0, "a"], [9460, 0, "t"], [9461, 0, "h"], [9462, 0, "i"], [9463, 0, "t"], [9464, 0, "{"], [9465, 0, "i"], [9466, 0, "d"], [9467, 0, "}"], [9468, 0, ")"], [9469, 0, "$"], [9470, 0, ","], [9471, 0, " "], [9472, 0, "a"], [9473, 0, "n"], [9474, 0, "d"], [9475, 0, " "], [9475, 1], [9474, 1], [9473, 1], [9472, 1], [9472, 0, "a"], [9473, 0, "n"], [9474, 0, "d"], [9475, 0, " "], [9476, 0, "l"], [9477, 0, "e"], [9478, 0, "a"], [9479, 0, "v"], [9480, 0, "e"], [9481, 0, "s"], [9482, 0, " "], [9483, 0, "t"], [9484, 0, "h"], [9485, 0, "e"], [9486, 0, " "], [9487, 0, "$"], [9488, 0, "\\"], [9489, 0, "m"], [9490, 0, "a"], [9491, 0, "t"], [9492, 0, "h"], [9493, 0, "i"], [9494, 0, "t"], [9495, 0, "{"], [9496, 0, "n"], [9497, 0, "e"], [9498, 0, "x"], [9499, 0, "t"], [9500, 0, "}"], [9501, 0, "$"], [9502, 0, " "], [9503, 0, "e"], [9504, 0, "l"], [9505, 0, "e"], [9506, 0, "m"], [9507, 0, "e"], [9508, 0, "n"], [9509, 0, "t"], [9510, 0, " "], [9511, 0, "u"], [9512, 0, "n"], [9513, 0, "c"], [9514, 0, "h"], [9515, 0, "a"], [9516, 0, "n"], [9517, 0, "g"], [9518, 0, "e"], [9519, 0, "d"], [9520, 0, "."], [9521, 0, " "], [9522, 0, "T"], [9523, 0, "h"], [9524, 0, "u"], [9525, 0, "s"], [9526, 0, ","], [9527, 0, " "], [9528, 0, "t"], [9529, 0, "h"], [9530, 0, "e"], [9531, 0, " "], [9531, 1], [9530, 1], [9529, 1], [9528, 1], [9527, 1], [9526, 1], [9525, 1], [9524, 1], [9523, 1], [9522, 1], [9521, 1], [9521, 0, "\n"], [9522, 0, "\n"], [9523, 0, "T"], [9524, 0, "h"], [9525, 0, "u"], [9526, 0, "s"], [9527, 0, ","], [9528, 0, " "], [9529, 0, "i"], [9530, 0, "n"], [9531, 0, "s"], [9532, 0, "e"], [9533, 0, "r"], [9534, 0, "t"], [9535, 0, "i"], [9536, 0, "n"], [9537, 0, "g"], [9538, 0, " "], [9539, 0, "$"], [9540, 0, "o"], [9541, 0, "_"], [9542, 0, "{"], [9543, 0, "n"], [9544, 0, "+"], [9545, 0, "1"], [9546, 0, "}"], [9547, 0, "="], [9548, 0, "\\"], [9549, 0, "m"], [9550, 0, "a"], [9551, 0, "t"], [9552, 0, "h"], [9553, 0, "s"], [9554, 0, "f"], [9555, 0, "{"], [9556, 0, "d"], [9557, 0, "e"], [9558, 0, "l"], [9559, 0, "e"], [9560, 0, "t"], [9561, 0, "e"], [9562, 0, "}"], [9563, 0, "("], [9564, 0, "\\"], [9565, 0, "m"], [9566, 0, "a"], [9567, 0, "t"], [9568, 0, "h"], [9569, 0, "i"], [9570, 0, "t"], [9571, 0, "{"], [9572, 0, "i"], [9573, 0, "d"], [9574, 0, "}"], [9575, 0, ")"], [9576, 0, "$"], [9577, 0, " "], [9578, 0, "a"], [9579, 0, "t"], [9580, 0, " "], [9581, 0, "a"], [9582, 0, "n"], [9583, 0, "y"], [9584, 0, " "], [9585, 0, "c"], [9586, 0, "a"], [9587, 0, "u"], [9588, 0, "s"], [9589, 0, "a"], [9590, 0, "l"], [9591, 0, "l"], [9592, 0, "y"], [9593, 0, " "], [9594, 0, "r"], [9595, 0, "e"], [9596, 0, "a"], [9597, 0, "d"], [9598, 0, "y"], [9599, 0, " "], [9600, 0, "p"], [9601, 0, "o"], [9602, 0, "i"], [9603, 0, "n"], [9604, 0, "t"], [9605, 0, " "], [9606, 0, "i"], [9607, 0, "n"], [9608, 0, " "], [9609, 0, "a"], [9610, 0, " "], [9611, 0, "h"], [9612, 0, "i"], [9613, 0, "s"], [9614, 0, "t"], [9615, 0, "o"], [9616, 0, "r"], [9617, 0, "y"], [9618, 0, " "], [9537, 1], [9536, 1], [9535, 1], [9534, 1], [9533, 1], [9532, 1], [9531, 1], [9530, 1], [9529, 1], [9529, 0, "i"], [9530, 0, "f"], [9571, 0, "i"], [9572, 0, "s"], [9573, 0, " "], [9574, 0, "i"], [9575, 0, "n"], [9576, 0, "s"], [9577, 0, "e"], [9578, 0, "r"], [9579, 0, "t"], [9580, 0, "e"], [9581, 0, "d"], [9582, 0, " "], [9623, 1], [9623, 0, ","], [9624, 0, " "], [9625, 0, "t"], [9626, 0, "h"], [9627, 0, "e"], [9628, 0, " "], [9629, 0, "f"], [9630, 0, "i"], [9631, 0, "n"], [9632, 0, "a"], [9633, 0, "l"], [9634, 0, " "], [9635, 0, "s"], [9636, 0, "t"], [9637, 0, "a"], [9638, 0, "t"], [9639, 0, "e"], [9640, 0, " "], [9641, 0, "d"], [9642, 0, "o"], [9643, 0, "e"], [9644, 0, "s"], [9645, 0, " "], [9646, 0, "n"], [9647, 0, "o"], [9648, 0, "t"], [9649, 0, " "], [9650, 0, "d"], [9651, 0, "e"], [9652, 0, "p"], [9653, 0, "e"], [9654, 0, "n"], [9655, 0, "d"], [9656, 0, " "], [9657, 0, "o"], [9658, 0, "n"], [9659, 0, " "], [9660, 0, "t"], [9661, 0, "h"], [9662, 0, "e"], [9663, 0, " "], [9664, 0, "i"], [9665, 0, "n"], [9666, 0, "s"], [9667, 0, "e"], [9668, 0, "r"], [9669, 0, "t"], [9670, 0, "i"], [9671, 0, "o"], [9672, 0, "n"], [9673, 0, " "], [9674, 0, "p"], [9675, 0, "o"], [9676, 0, "i"], [9677, 0, "n"], [9678, 0, "t"], [9679, 0, ","], [9680, 0, " "], [9681, 0, "b"], [9682, 0, "e"], [9683, 0, "c"], [9684, 0, "a"], [9685, 0, "u"], [9686, 0, "s"], [9687, 0, "e"], [9688, 0, " "], [9689, 0, "t"], [9690, 0, "h"], [9691, 0, "e"], [9692, 0, " "], [9693, 0, "i"], [9694, 0, "n"], [9695, 0, "s"], [9696, 0, "e"], [9697, 0, "r"], [9698, 0, "t"], [9699, 0, "e"], [9700, 0, "d"], [9701, 0, " "], [9702, 0, "o"], [9703, 0, "p"], [9704, 0, "e"], [9705, 0, "r"], [9706, 0, "a"], [9707, 0, "t"], [9708, 0, "i"], [9709, 0, "o"], [9710, 0, "n"], [9711, 0, " "], [9712, 0, "d"], [9713, 0, "o"], [9714, 0, "e"], [9715, 0, "s"], [9716, 0, " "], [9717, 0, "n"], [9718, 0, "o"], [9719, 0, "t"], [9720, 0, " "], [9721, 0, "i"], [9722, 0, "n"], [9723, 0, "t"], [9724, 0, "e"], [9725, 0, "r"], [9726, 0, "a"], [9727, 0, "c"], [9728, 0, "t"], [9729, 0, " "], [9730, 0, "w"], [9731, 0, "i"], [9732, 0, "t"], [9733, 0, "h"], [9734, 0, " "], [9735, 0, "a"], [9736, 0, "n"], [9737, 0, "y"], [9738, 0, " "], [9739, 0, "p"], [9740, 0, "r"], [9741, 0, "i"], [9742, 0, "o"], [9743, 0, "r"], [9744, 0, " "], [9745, 0, "o"], [9746, 0, "r"], [9747, 0, " "], [9748, 0, "f"], [9749, 0, "o"], [9750, 0, "l"], [9751, 0, "l"], [9752, 0, "o"], [9753, 0, "w"], [9754, 0, "i"], [9755, 0, "n"], [9756, 0, "g"], [9757, 0, " "], [9758, 0, "o"], [9759, 0, "p"], [9760, 0, "e"], [9761, 0, "r"], [9762, 0, "a"], [9763, 0, "t"], [9764, 0, "i"], [9765, 0, "o"], [9766, 0, "n"], [9767, 0, "s"], [9768, 0, "."], [9769, 0, "\n"], [9770, 0, "\n"], [9771, 0, "\\"], [9772, 0, "s"], [9773, 0, "u"], [9774, 0, "b"], [9775, 0, "s"], [9776, 0, "u"], [9777, 0, "b"], [9778, 0, "s"], [9779, 0, "e"], [9780, 0, "c"], [9781, 0, "t"], [9782, 0, "i"], [9783, 0, "o"], [9784, 0, "n"], [9785, 0, "{"], [9786, 0, "C"], [9787, 0, "o"], [9788, 0, "m"], [9789, 0, "m"], [9790, 0, "u"], [9791, 0, "t"], [9792, 0, "a"], [9793, 0, "t"], [9794, 0, "i"], [9795, 0, "v"], [9796, 0, "i"], [9797, 0, "t"], [9798, 0, "y"], [9799, 0, " "], [9800, 0, "o"], [9801, 0, "f"], [9802, 0, " "], [9803, 0, "i"], [9804, 0, "n"], [9805, 0, "s"], [9806, 0, "e"], [9807, 0, "r"], [9808, 0, "t"], [9809, 0, "i"], [9810, 0, "o"], [9811, 0, "n"], [9812, 0, "}"], [9813, 0, "\n"], [9814, 0, "\n"], [9815, 0, "N"], [9816, 0, "o"], [9817, 0, "w"], [9818, 0, " "], [9819, 0, "c"], [9820, 0, "o"], [9821, 0, "n"], [9822, 0, "s"], [9823, 0, "i"], [9824, 0, "d"], [9825, 0, "e"], [9826, 0, "r"], [9827, 0, " "], [9828, 0, "t"], [9829, 0, "h"], [9830, 0, "e"], [9831, 0, " "], [9832, 0, "c"], [9833, 0, "a"], [9834, 0, "s"], [9835, 0, "e"], [9836, 0, " "], [9837, 0, "t"], [9838, 0, "h"], [9839, 0, "a"], [9840, 0, "t"], [9841, 0, " "], [9842, 0, "$"], [9843, 0, "{"], [9843, 1], [9843, 0, "o"], [9844, 0, "_"], [9845, 0, "{"], [9846, 0, "n"], [9847, 0, "+"], [9848, 0, "1"], [9849, 0, "}"], [9850, 0, "="], [9851, 0, "\\"], [9852, 0, "m"], [9853, 0, "a"], [9854, 0, "t"], [9855, 0, "h"], [9856, 0, "s"], [9857, 0, "f"], [9858, 0, "{"], [9859, 0, "i"], [9860, 0, "n"], [9861, 0, "s"], [9862, 0, "e"], [9863, 0, "r"], [9864, 0, "t"], [9865, 0, "}"], [9866, 0, "("], [9867, 0, "\\"], [9868, 0, "m"], [9869, 0, "a"], [9870, 0, "t"], [9871, 0, "h"], [9872, 0, "i"], [9873, 0, "t"], [9874, 0, "{"], [9875, 0, "i"], [9876, 0, "d"], [9877, 0, "}"], [9878, 0, ","], [9879, 0, " "], [9880, 0, "\\"], [9881, 0, "m"], [9882, 0, "a"], [9883, 0, "t"], [9884, 0, "h"], [9885, 0, "i"], [9886, 0, "t"], [9887, 0, "{"], [9888, 0, "p"], [9889, 0, "r"], [9890, 0, "e"], [9891, 0, "v"], [9892, 0, "}"], [9893, 0, ","], [9894, 0, " "], [9895, 0, "v"], [9896, 0, ")"], [9897, 0, "$"], [9898, 0, "."], [9899, 0, " "], [9900, 0, "I"], [9901, 0, "n"], [9902, 0, " "], [9903, 0, "t"], [9904, 0, "h"], [9905, 0, "i"], [9906, 0, "s"], [9907, 0, " "], [9908, 0, "o"], [9909, 0, "p"], [9910, 0, "e"], [9911, 0, "r"], [9912, 0, "a"], [9913, 0, "t"], [9914, 0, "i"], [9915, 0, "o"], [9916, 0, "n"], [9917, 0, ","], [9918, 0, " "], [9919, 0, "$"], [9920, 0, "\\"], [9921, 0, "m"], [9922, 0, "a"], [9923, 0, "t"], [9924, 0, "h"], [9925, 0, "i"], [9926, 0, "t"], [9927, 0, "{"], [9928, 0, "i"], [9929, 0, "d"], [9930, 0, "}"], [9931, 0, "$"], [9932, 0, " "], [9933, 0, "i"], [9934, 0, "s"], [9935, 0, " "], [9936, 0, "a"], [9937, 0, " "], [9938, 0, "f"], [9939, 0, "r"], [9940, 0, "e"], [9941, 0, "s"], [9942, 0, "h"], [9943, 0, "l"], [9944, 0, "y"], [9945, 0, " "], [9946, 0, "g"], [9947, 0, "e"], [9948, 0, "n"], [9949, 0, "e"], [9950, 0, "r"], [9951, 0, "a"], [9952, 0, "t"], [9953, 0, "e"], [9954, 0, "d"], [9955, 0, " "], [9956, 0, "L"], [9957, 0, "a"], [9958, 0, "m"], [9959, 0, "p"], [9960, 0, "o"], [9961, 0, "r"], [9962, 0, "t"], [9963, 0, " "], [9964, 0, "t"], [9965, 0, "i"], [9966, 0, "m"], [9967, 0, "e"], [9968, 0, "s"], [9969, 0, "t"], [9970, 0, "a"], [9971, 0, "m"], [9972, 0, "p"], [9917, 1], [9916, 1], [9915, 1], [9914, 1], [9913, 1], [9912, 1], [9911, 1], [9910, 1], [9909, 1], [9908, 1], [9907, 1], [9906, 1], [9905, 1], [9904, 1], [9903, 1], [9902, 1], [9901, 1], [9900, 1], [9900, 0, "T"], [9901, 0, "h"], [9902, 0, "e"], [9903, 0, " "], [9904, 0, "L"], [9905, 0, "a"], [9906, 0, "m"], [9907, 0, "p"], [9908, 0, "o"], [9909, 0, "r"], [9910, 0, "t"], [9911, 0, " "], [9912, 0, "t"], [9913, 0, "i"], [9914, 0, "m"], [9915, 0, "e"], [9916, 0, "s"], [9917, 0, "t"], [9918, 0, "a"], [9919, 0, "m"], [9920, 0, "p"], [9939, 1], [9938, 1], [9957, 1], [9957, 1], [9957, 1], [9957, 1], [9957, 1], [9957, 1], [9957, 1], [9957, 1], [9957, 1], [9957, 1], [9957, 1], [9957, 1], [9957, 1], [9957, 1], [9957, 1], [9957, 1], [9957, 1], [9958, 0, "b"], [9959, 0, "y"], [9960, 0, " "], [9961, 0, "t"], [9961, 1], [9960, 1], [9959, 1], [9958, 1], [9957, 0, "b"], [9958, 0, "y"], [9959, 0, " "], [9960, 0, "t"], [9961, 0, "h"], [9962, 0, "e"], [9963, 0, " "], [9964, 0, "p"], [9965, 0, "e"], [9966, 0, "e"], [9967, 0, "r"], [9968, 0, " "], [9969, 0, "o"], [9970, 0, "n"], [9971, 0, " "], [9972, 0, "w"], [9973, 0, "h"], [9974, 0, "i"], [9975, 0, "c"], [9976, 0, "h"], [9977, 0, " "], [9978, 0, "t"], [9979, 0, "h"], [9980, 0, "e"], [9981, 0, " "], [9982, 0, "e"], [9983, 0, "d"], [9984, 0, "i"], [9985, 0, "t"], [9986, 0, " "], [9987, 0, "w"], [9988, 0, "a"], [9989, 0, "s"], [9990, 0, " "], [9991, 0, "p"], [9992, 0, "e"], [9993, 0, "r"], [9994, 0, "f"], [9995, 0, "o"], [9996, 0, "r"], [9997, 0, "m"], [9998, 0, "e"], [9999, 0, "d"], [10000, 0, "."], [10001, 0, " "], [10002, 0, "B"], [9900, 0, "\n"], [9901, 0, "\n"], [9900, 0, "L"], [9901, 0, "e"], [9902, 0, "t"], [9903, 0, " "], [9904, 0, "$"], [9905, 0, "A"], [9906, 0, "_"], [9907, 0, "o"], [9908, 0, "$"], [9909, 0, " "], [9910, 0, "b"], [9911, 0, "e"], [9912, 0, " "], [9913, 0, "t"], [9914, 0, "h"], [9915, 0, "e"], [9916, 0, " "], [9917, 0, "s"], [9918, 0, "t"], [9919, 0, "a"], [9920, 0, "t"], [9921, 0, "e"], [9922, 0, " "], [9923, 0, "o"], [9924, 0, "f"], [9925, 0, " "], [9926, 0, "t"], [9927, 0, "h"], [9928, 0, "e"], [9929, 0, " "], [9930, 0, "p"], [9931, 0, "e"], [9932, 0, "e"], [9933, 0, "r"], [9934, 0, " "], [9935, 0, "o"], [9936, 0, "n"], [9937, 0, " "], [9938, 0, "w"], [9939, 0, "h"], [9940, 0, "i"], [9941, 0, "c"], [9942, 0, "h"], [9943, 0, " "], [9944, 0, "$"], [9945, 0, "o"], [9946, 0, "_"], [9947, 0, "{"], [9948, 0, "n"], [9949, 0, "+"], [9950, 0, "1"], [9951, 0, "}"], [9952, 0, "$"], [9953, 0, " "], [9954, 0, "w"], [9955, 0, "a"], [9956, 0, "s"], [9957, 0, " "], [9958, 0, "g"], [9959, 0, "e"], [9960, 0, "n"], [9961, 0, "e"], [9962, 0, "r"], [9963, 0, "a"], [9964, 0, "t"], [9965, 0, "e"], [9966, 0, "d"], [9967, 0, ","], [9968, 0, " "], [9969, 0, "i"], [9970, 0, "m"], [9971, 0, "m"], [9972, 0, "e"], [9973, 0, "d"], [9974, 0, "i"], [9975, 0, "a"], [9976, 0, "t"], [9977, 0, "e"], [9978, 0, "l"], [9979, 0, "y"], [9980, 0, " "], [9981, 0, "a"], [9982, 0, "f"], [9983, 0, "t"], [9984, 0, "e"], [9985, 0, "r"], [9986, 0, " "], [9987, 0, "$"], [9988, 0, "o"], [9989, 0, "_"], [9990, 0, "{"], [9991, 0, "n"], [9992, 0, "+"], [9993, 0, "1"], [9994, 0, "}"], [9995, 0, "$"], [9996, 0, " "], [9997, 0, "w"], [9998, 0, "a"], [9999, 0, "s"], [10000, 0, " "], [10001, 0, "l"], [10002, 0, "o"], [10003, 0, "c"], [10004, 0, "a"], [10005, 0, "l"], [10006, 0, "l"], [10007, 0, "y"], [10008, 0, " "], [10009, 0, "a"], [10010, 0, "p"], [10011, 0, "p"], [10012, 0, "l"], [10013, 0, "i"], [10014, 0, "e"], [10015, 0, "d"], [10016, 0, "."], [10017, 0, " "], [10122, 1], [10122, 0, "L"], [10123, 0, "e"], [10124, 0, "t"], [10125, 0, " "], [10126, 0, "$"], [10127, 0, "A"], [10128, 0, "_"], [10129, 0, "o"], [10130, 0, "$"], [10131, 0, " "], [10132, 0, "b"], [10133, 0, "e"], [10134, 0, " "], [10135, 0, "t"], [10136, 0, "h"], [10137, 0, "e"], [10138, 0, " "], [10139, 0, "s"], [10140, 0, "t"], [10141, 0, "a"], [10142, 0, "t"], [10143, 0, "e"], [10144, 0, " "], [10145, 0, "o"], [10146, 0, "f"], [10147, 0, " "], [10148, 0, "t"], [10149, 0, "h"], [10150, 0, "e"], [10151, 0, " "], [10152, 0, "p"], [10153, 0, "e"], [10154, 0, "e"], [10155, 0, "r"], [10156, 0, " "], [10157, 0, "o"], [10158, 0, "n"], [10159, 0, " "], [10160, 0, "w"], [10161, 0, "h"], [10162, 0, "i"], [10163, 0, "c"], [10164, 0, "h"], [10165, 0, " "], [10166, 0, "$"], [10167, 0, "o"], [10168, 0, "_"], [10169, 0, "{"], [10170, 0, "n"], [10171, 0, "+"], [10172, 0, "1"], [10173, 0, "}"], [10174, 0, "$"], [10175, 0, " "], [10176, 0, "w"], [10177, 0, "a"], [10178, 0, "s"], [10179, 0, " "], [10180, 0, "g"], [10181, 0, "e"], [10182, 0, "n"], [10183, 0, "e"], [10184, 0, "r"], [10185, 0, "a"], [10186, 0, "t"], [10187, 0, "e"], [10188, 0, "d"], [10189, 0, ","], [10190, 0, " "], [10191, 0, "i"], [10192, 0, "m"], [10193, 0, "m"], [10194, 0, "e"], [10195, 0, "d"], [10196, 0, "i"], [10197, 0, "a"], [10198, 0, "t"], [10199, 0, "e"], [10200, 0, "l"], [10201, 0, "y"], [10202, 0, " "], [10203, 0, "a"], [10204, 0, "f"], [10205, 0, "t"], [10206, 0, "e"], [10207, 0, "r"], [10208, 0, " "], [10209, 0, "$"], [10210, 0, "#"], [10210, 1], [10210, 0, "o"], [10211, 0, "_"], [10212, 0, "{"], [10213, 0, "n"], [10214, 0, "+"], [10215, 0, "1"], [10216, 0, "}"], [10217, 0, "$"], [10218, 0, " "], [10219, 0, "w"], [10220, 0, "a"], [10221, 0, "s"], [10222, 0, " "], [10223, 0, "l"], [10224, 0, "o"], [10225, 0, "c"], [10226, 0, "a"], [10227, 0, "l"], [10228, 0, "l"], [10229, 0, "y"], [10230, 0, " "], [10231, 0, "a"], [10232, 0, "p"], [10233, 0, "p"], [10234, 0, "l"], [10235, 0, "i"], [10236, 0, "e"], [10237, 0, "d"], [10238, 0, "."], [10019, 1], [10018, 1], [10017, 1], [10016, 1], [10015, 1], [10014, 1], [10013, 1], [10012, 1], [10011, 1], [10010, 1], [10009, 1], [10008, 1], [10007, 1], [10006, 1], [10005, 1], [10004, 1], [10003, 1], [10002, 1], [10001, 1], [10000, 1], [9999, 1], [9998, 1], [9997, 1], [9996, 1], [9995, 1], [9994, 1], [9993, 1], [9992, 1], [9991, 1], [9990, 1], [9989, 1], [9988, 1], [9987, 1], [9986, 1], [9985, 1], [9984, 1], [9983, 1], [9982, 1], [9981, 1], [9980, 1], [9979, 1], [9978, 1], [9977, 1], [9976, 1], [9975, 1], [9974, 1], [9973, 1], [9972, 1], [9971, 1], [9970, 1], [9969, 1], [9968, 1], [9967, 1], [9966, 1], [9965, 1], [9964, 1], [9963, 1], [9962, 1], [9961, 1], [9960, 1], [9959, 1], [9958, 1], [9957, 1], [9956, 1], [9955, 1], [9954, 1], [9953, 1], [9952, 1], [9951, 1], [9950, 1], [9949, 1], [9948, 1], [9947, 1], [9946, 1], [9945, 1], [9944, 1], [9943, 1], [9942, 1], [9941, 1], [9940, 1], [9939, 1], [9938, 1], [9937, 1], [9936, 1], [9935, 1], [9934, 1], [9933, 1], [9932, 1], [9931, 1], [9930, 1], [9929, 1], [9928, 1], [9927, 1], [9926, 1], [9925, 1], [9924, 1], [9923, 1], [9922, 1], [9921, 1], [9920, 1], [9919, 1], [9918, 1], [9917, 1], [9916, 1], [9915, 1], [9914, 1], [9913, 1], [9912, 1], [9911, 1], [9910, 1], [9909, 1], [9908, 1], [9907, 1], [9906, 1], [9905, 1], [9904, 1], [9903, 1], [9902, 1], [9901, 1], [9900, 1], [10119, 0, " "], [10120, 0, "B"], [10121, 0, "y"], [10122, 0, " "], [10123, 0, "t"], [10124, 0, "h"], [10125, 0, "e"], [10126, 0, " "], [10127, 0, "d"], [10128, 0, "e"], [10129, 0, "f"], [10130, 0, "i"], [10131, 0, "n"], [10132, 0, "i"], [10133, 0, "t"], [10134, 0, "i"], [10135, 0, "o"], [10136, 0, "n"], [10137, 0, " "], [10138, 0, "o"], [10139, 0, "f"], [10140, 0, " "], [10141, 0, "L"], [10142, 0, "a"], [10143, 0, "m"], [10144, 0, "p"], [10145, 0, "o"], [10146, 0, "r"], [10147, 0, "t"], [10148, 0, " "], [10149, 0, "t"], [10150, 0, "i"], [10151, 0, "m"], [10152, 0, "e"], [10153, 0, "s"], [10154, 0, "t"], [10155, 0, "a"], [10156, 0, "m"], [10157, 0, "p"], [10158, 0, "s"], [10159, 0, ","], [10160, 0, " "], [10161, 0, "$"], [10162, 0, "\\"], [10163, 0, "m"], [10164, 0, "a"], [10165, 0, "t"], [10166, 0, "h"], [10167, 0, "i"], [10168, 0, "t"], [10169, 0, "{"], [10170, 0, "i"], [10171, 0, "d"], [10172, 0, "}"], [10173, 0, "$"], [10174, 0, " "], [10175, 0, "i"], [10176, 0, "s"], [10177, 0, " "], [10178, 0, "t"], [10179, 0, "h"], [10180, 0, "e"], [10181, 0, " "], [10182, 0, "g"], [10183, 0, "r"], [10184, 0, "e"], [10185, 0, "a"], [10186, 0, "t"], [10187, 0, "e"], [10188, 0, "s"], [10189, 0, "t"], [10190, 0, " "], [10191, 0, "t"], [10192, 0, "i"], [10193, 0, "m"], [10194, 0, "e"], [10195, 0, "s"], [10196, 0, "t"], [10197, 0, "a"], [10198, 0, "m"], [10199, 0, "p"], [10200, 0, " "], [10201, 0, "i"], [10202, 0, "n"], [10203, 0, " "], [10204, 0, "$"], [10205, 0, "A"], [10206, 0, "_"], [10207, 0, "o"], [10208, 0, "$"], [10209, 0, "."], [10210, 0, " "], [10211, 0, "T"], [10212, 0, "h"], [10213, 0, "e"], [10214, 0, "r"], [10215, 0, "e"], [10216, 0, "f"], [10217, 0, "o"], [10218, 0, "r"], [10219, 0, "e"], [10220, 0, ","], [10221, 0, " "], [10222, 0, "t"], [10223, 0, "h"], [10224, 0, "e"], [10225, 0, " "], [10226, 0, "$"], [10227, 0, "\\"], [10228, 0, "m"], [10229, 0, "a"], [10230, 0, "t"], [10231, 0, "h"], [10232, 0, "r"], [10233, 0, "m"], [10234, 0, "{"], [10235, 0, "a"], [10236, 0, "p"], [10237, 0, "p"], [10238, 0, "l"], [10239, 0, "y"], [10240, 0, "}"], [10241, 0, "$"], [10242, 0, " "], [10009, 1], [10009, 0, "p"], [10069, 1], [10086, 1], [10085, 1], [10084, 1], [10083, 1], [10082, 1], [10082, 0, "b"], [10083, 0, "e"], [10084, 0, "f"], [10085, 0, "o"], [10086, 0, "r"], [10087, 0, "e"], [10109, 1], [10108, 1], [10107, 1], [10106, 1], [10105, 1], [10104, 1], [10103, 1], [10102, 1], [10110, 0, ","], [10111, 0, " "], [10112, 0, "a"], [10113, 0, "n"], [10114, 0, "d"], [10115, 0, " "], [10116, 0, "l"], [10117, 0, "e"], [10118, 0, "t"], [10119, 0, " "], [10120, 0, "$"], [10121, 0, "A"], [10122, 0, "_"], [10123, 0, "p"], [10124, 0, "'"], [10125, 0, "$"], [10126, 0, " "], [10127, 0, "b"], [10128, 0, "e"], [10129, 0, " "], [10130, 0, "t"], [10131, 0, "h"], [10132, 0, "e"], [10133, 0, " "], [10134, 0, "s"], [10135, 0, "t"], [10136, 0, "a"], [10137, 0, "t"], [10138, 0, "e"], [10139, 0, " "], [10140, 0, "o"], [10141, 0, "f"], [10142, 0, " "], [10143, 0, "t"], [10144, 0, "h"], [10145, 0, "e"], [10146, 0, " "], [10147, 0, "s"], [10148, 0, "a"], [10149, 0, "m"], [10150, 0, "e"], [10151, 0, " "], [10152, 0, "p"], [10153, 0, "e"], [10154, 0, "e"], [10155, 0, "r"], [10156, 0, " "], [10157, 0, "i"], [10158, 0, "m"], [10159, 0, "m"], [10160, 0, "e"], [10161, 0, "d"], [10162, 0, "i"], [10163, 0, "a"], [10164, 0, "t"], [10165, 0, "e"], [10166, 0, "l"], [10167, 0, "y"], [10168, 0, " "], [10169, 0, "a"], [10170, 0, "f"], [10171, 0, "t"], [10172, 0, "e"], [10173, 0, "r"], [10174, 0, " "], [10175, 0, "$"], [10176, 0, "o"], [10177, 0, "{"], [10177, 1], [10177, 0, "_"], [10178, 0, "{"], [10179, 0, "n"], [10180, 0, "+"], [10181, 0, "1"], [10182, 0, "}"], [10183, 0, "$"], [10184, 0, " "], [10185, 0, "w"], [10186, 0, "a"], [10187, 0, "s"], [10188, 0, " "], [10189, 0, "a"], [10190, 0, "p"], [10191, 0, "p"], [10192, 0, "l"], [10193, 0, "i"], [10194, 0, "e"], [10195, 0, "d"], [10197, 1], [10197, 0, "\n"], [10198, 0, "\n"], [10287, 0, "'"], [10289, 0, ","], [10290, 0, " "], [10291, 0, "a"], [10292, 0, "n"], [10293, 0, "d"], [10294, 0, " "], [10295, 0, "g"], [10296, 0, "r"], [10297, 0, "e"], [10298, 0, "a"], [10299, 0, "t"], [10300, 0, "e"], [10301, 0, "r"], [10302, 0, " "], [10303, 0, "t"], [10304, 0, "h"], [10305, 0, "a"], [10306, 0, "n"], [10307, 0, " "], [10308, 0, "a"], [10309, 0, "n"], [10310, 0, "y"], [10311, 0, " "], [10312, 0, "t"], [10313, 0, "i"], [10314, 0, "m"], [10315, 0, "e"], [10316, 0, "s"], [10317, 0, "t"], [10318, 0, "a"], [10319, 0, "m"], [10320, 0, "p"], [10321, 0, " "], [10322, 0, "o"], [10323, 0, "c"], [10324, 0, "c"], [10325, 0, "u"], [10326, 0, "r"], [10327, 0, "r"], [10328, 0, "i"], [10329, 0, "n"], [10330, 0, "g"], [10331, 0, " "], [10332, 0, "i"], [10333, 0, "n"], [10334, 0, " "], [10335, 0, "$"], [10336, 0, "A"], [10337, 0, "_"], [10338, 0, "p"], [10339, 0, "$"], [10286, 1], [10286, 0, "p"], [10374, 0, "f"], [10375, 0, "u"], [10376, 0, "n"], [10377, 0, "c"], [10378, 0, "t"], [10379, 0, "i"], [10380, 0, "o"], [10381, 0, "n"], [10382, 0, " "], [10383, 0, "t"], [10384, 0, "h"], [10385, 0, "a"], [10386, 0, "t"], [10387, 0, " "], [10388, 0, "t"], [10389, 0, "r"], [10390, 0, "a"], [10391, 0, "n"], [10392, 0, "s"], [10393, 0, "f"], [10394, 0, "o"], [10395, 0, "r"], [10396, 0, "m"], [10397, 0, "e"], [10398, 0, "d"], [10399, 0, " "], [10400, 0, "$"], [10401, 0, "A"], [10402, 0, "_"], [10403, 0, "p"], [10404, 0, "$"], [10405, 0, " "], [10406, 0, "i"], [10407, 0, "n"], [10408, 0, "t"], [10409, 0, "o"], [10410, 0, " "], [10411, 0, "$"], [10412, 0, "A"], [10413, 0, "_"], [10414, 0, "p"], [10415, 0, "'"], [10416, 0, "$"], [10417, 0, " "], [10417, 1], [10416, 1], [10415, 1], [10414, 1], [10413, 1], [10412, 1], [10411, 1], [10410, 1], [10409, 1], [10408, 1], [10407, 1], [10406, 1], [10405, 1], [10404, 1], [10403, 1], [10402, 1], [10401, 1], [10400, 1], [10399, 1], [10398, 1], [10397, 1], [10396, 1], [10395, 1], [10394, 1], [10393, 1], [10392, 1], [10391, 1], [10390, 1], [10389, 1], [10388, 1], [10387, 1], [10386, 1], [10385, 1], [10384, 1], [10383, 1], [10382, 1], [10381, 1], [10380, 1], [10379, 1], [10378, 1], [10377, 1], [10376, 1], [10375, 1], [10374, 1], [10373, 1], [10372, 1], [10356, 0, " "], [10356, 1], [10353, 0, "i"], [10354, 0, "n"], [10355, 0, " "], [10359, 0, " "], [10360, 0, "s"], [10361, 0, "t"], [10362, 0, "a"], [10363, 0, "t"], [10364, 0, "e"], [10365, 0, " "], [10366, 0, "u"], [10367, 0, "p"], [10368, 0, "d"], [10369, 0, "a"], [10370, 0, "t"], [10371, 0, "e"], [10374, 0, "A"], [10375, 0, "P"], [10375, 1], [10375, 0, "_"], [10376, 0, "p"], [10377, 0, "'"], [10378, 0, " "], [10379, 0, "="], [10380, 0, " "], [10395, 0, "("], [10396, 0, "A"], [10397, 0, "_"], [10398, 0, "p"], [10399, 0, ","], [10400, 0, " "], [10401, 0, "\\"], [10402, 0, "m"], [10403, 0, "a"], [10404, 0, "t"], [10405, 0, "h"], [10406, 0, "s"], [10407, 0, "f"], [10408, 0, "{"], [10409, 0, "i"], [10410, 0, "n"], [10411, 0, "s"], [10412, 0, "e"], [10413, 0, "r"], [10414, 0, "t"], [10415, 0, "}"], [10416, 0, "("], [10417, 0, "\\"], [10418, 0, "m"], [10419, 0, "a"], [10420, 0, "t"], [10421, 0, "h"], [10422, 0, "i"], [10423, 0, "t"], [10424, 0, "{"], [10425, 0, "i"], [10426, 0, "d"], [10427, 0, "}"], [10428, 0, ","], [10429, 0, " "], [10430, 0, "\\"], [10431, 0, "m"], [10432, 0, "a"], [10433, 0, "t"], [10434, 0, "h"], [10435, 0, "i"], [10436, 0, "t"], [10437, 0, "{"], [10438, 0, "p"], [10439, 0, "r"], [10440, 0, "e"], [10441, 0, "v"], [10442, 0, "}"], [10443, 0, ","], [10444, 0, " "], [10445, 0, "v"], [10446, 0, ")"], [10447, 0, ")"], [10448, 0, "$"], [10449, 0, " "], [10450, 0, "t"], [10451, 0, "h"], [10452, 0, "e"], [10453, 0, " "], [10454, 0, "s"], [10455, 0, "e"], [10456, 0, "c"], [10456, 1], [10455, 1], [10454, 1], [10454, 0, "n"], [10455, 0, "o"], [10456, 0, "n"], [10457, 0, "-"], [10458, 0, "r"], [10459, 0, "e"], [10460, 0, "c"], [10461, 0, "u"], [10462, 0, "r"], [10463, 0, "s"], [10464, 0, "i"], [10465, 0, "v"], [10466, 0, "e"], [10467, 0, " "], [10468, 0, "c"], [10469, 0, "a"], [10470, 0, "s"], [10471, 0, "e"], [10472, 0, " "], [10473, 0, "("], [10474, 0, "$"], [10475, 0, "n"], [10476, 0, " "], [10477, 0, "<"], [10478, 0, " "], [10479, 0, "\\"], [10480, 0, "m"], [10481, 0, "a"], [10482, 0, "t"], [10483, 0, "h"], [10484, 0, "i"], [10485, 0, "t"], [10486, 0, "{"], [10487, 0, "i"], [10488, 0, "d"], [10489, 0, "}"], [10490, 0, "$"], [10491, 0, ")"], [10492, 0, " "], [10493, 0, "m"], [10494, 0, "u"], [10495, 0, "s"], [10496, 0, "t"], [10497, 0, " "], [10498, 0, "a"], [10499, 0, "p"], [10500, 0, "p"], [10501, 0, "l"], [10502, 0, "y"], [10005, 0, " "], [10006, 0, "$"], [10007, 0, "p"], [10008, 0, "$"], [10009, 0, " "], [10010, 0, "b"], [10011, 0, "y"], [10012, 0, " "], [10013, 0, "t"], [10014, 0, "h"], [10015, 0, "e"], [10016, 0, " "], [10017, 0, "p"], [10018, 0, "e"], [10019, 0, "e"], [10020, 0, "r"], [10021, 0, " "], [10022, 0, "o"], [10023, 0, "n"], [10024, 0, " "], [10025, 0, "w"], [10026, 0, "h"], [10027, 0, "i"], [10028, 0, "c"], [10029, 0, "h"], [10030, 0, " "], [10031, 0, "$"], [10032, 0, "{"], [10032, 1], [10032, 0, "o"], [10033, 0, "_"], [10034, 0, "{"], [10035, 0, "n"], [10036, 0, "+"], [10037, 0, "1"], [10038, 0, "}"], [10039, 0, "$"], [10040, 0, " "], [10041, 0, "w"], [10042, 0, "a"], [10043, 0, "s"], [10044, 0, " "], [10045, 0, "g"], [10046, 0, "e"], [10047, 0, "n"], [10048, 0, "e"], [10049, 0, "r"], [10050, 0, "a"], [10051, 0, "t"], [10052, 0, "e"], [10053, 0, "d"], [10054, 0, ","], [10055, 0, " "], [10056, 0, "l"], [10057, 0, "e"], [10058, 0, "t"], [10122, 1], [10121, 1], [10120, 1], [10119, 1], [10118, 1], [10117, 1], [10116, 1], [10115, 1], [10114, 1], [10113, 1], [10112, 1], [10111, 1], [10110, 1], [10109, 1], [10108, 1], [10107, 1], [10106, 1], [10105, 1], [10104, 1], [10103, 1], [10102, 1], [10101, 1], [10100, 1], [10099, 1], [10098, 1], [10097, 1], [10096, 1], [10095, 1], [10094, 1], [10093, 1], [10092, 1], [10091, 1], [10090, 1], [10089, 1], [10088, 1], [10087, 1], [10086, 1], [10085, 1], [10084, 1], [10083, 1], [10082, 1], [10082, 0, "$"], [10083, 0, "p"], [10084, 0, "$"], [10171, 1], [10170, 1], [10169, 1], [10168, 1], [10167, 1], [10166, 1], [10165, 1], [10164, 1], [10163, 1], [10162, 1], [10161, 1], [10160, 1], [10159, 1], [10159, 0, "$"], [10160, 0, "p"], [10161, 0, "$"], [10509, 0, "."], [309, 0, " "], [310, 0, "t"], [311, 0, "i"], [312, 0, "m"], [313, 0, "e"], [314, 0, "-"], [315, 0, "s"], [316, 0, "t"], [317, 0, "a"], [318, 0, "m"], [319, 0, "p"], [10466, 0, ","], [10466, 1], [10465, 0, ","], [10522, 0, " "], [10523, 0, "T"], [10524, 0, "h"], [10525, 0, "e"], [10526, 0, "r"], [10527, 0, "e"], [10528, 0, "f"], [10529, 0, "o"], [10530, 0, "r"], [10531, 0, "e"], [10532, 0, " "], [10533, 0, "w"], [10534, 0, "e"], [10535, 0, " "], [10536, 0, "h"], [10537, 0, "a"], [10538, 0, "v"], [10539, 0, "e"], [10540, 0, ":"], [10541, 0, "\n"], [10542, 0, "$"], [10543, 0, "$"], [10544, 0, " "], [10545, 0, "A"], [10546, 0, "_"], [10547, 0, "p"], [10548, 0, "'"], [10549, 0, " "], [10550, 0, "="], [10551, 0, " "], [10552, 0, "A"], [10553, 0, "["], [10554, 0, "\\"], [10555, 0, ","], [10556, 0, "\\"], [10557, 0, "m"], [10558, 0, "a"], [10559, 0, "t"], [10560, 0, "h"], [10561, 0, "i"], [10562, 0, "t"], [10563, 0, "{"], [10564, 0, "p"], [10565, 0, "r"], [10566, 0, "e"], [10567, 0, "v"], [10568, 0, "}"], [10569, 0, " "], [10570, 0, "\\"], [10571, 0, "m"], [10572, 0, "a"], [10573, 0, "p"], [10574, 0, "s"], [10575, 0, "t"], [10576, 0, "o"], [10553, 0, "_"], [10554, 0, "p"], [10579, 0, " "], [10580, 0, "("], [10581, 0, "v"], [10582, 0, "_"], [10583, 0, "p"], [10584, 0, ","], [10585, 0, " "], [10586, 0, "\\"], [10587, 0, "m"], [10588, 0, "a"], [10589, 0, "t"], [10590, 0, "h"], [10591, 0, "i"], [10592, 0, "t"], [10593, 0, "{"], [10594, 0, "i"], [10595, 0, "d"], [10596, 0, "}"], [10597, 0, ")"], [10598, 0, ","], [10599, 0, " "], [10600, 0, "\\"], [10601, 0, "m"], [10602, 0, "a"], [10603, 0, "t"], [10604, 0, "h"], [10599, 0, "\\"], [10600, 0, ";"], [10607, 0, "i"], [10608, 0, "t"], [10609, 0, "{"], [10610, 0, "i"], [10611, 0, "d"], [10612, 0, "}"], [10613, 0, " "], [10614, 0, "\\"], [10615, 0, "m"], [10616, 0, "a"], [10617, 0, "p"], [10618, 0, "s"], [10619, 0, "t"], [10620, 0, "o"], [10621, 0, " "], [10622, 0, "("], [10623, 0, "v"], [10624, 0, ","], [10625, 0, " "], [10626, 0, "n"], [10627, 0, ")"], [10628, 0, "\\"], [10629, 0, ","], [10630, 0, "]"], [10631, 0, "\n"], [10632, 0, "\\"], [10633, 0, "q"], [10634, 0, "u"], [10635, 0, "a"], [10636, 0, "d"], [10637, 0, "\\"], [10638, 0, "t"], [10639, 0, "e"], [10640, 0, "x"], [10641, 0, "t"], [10642, 0, "{"], [10643, 0, " "], [10644, 0, "w"], [10645, 0, "h"], [10646, 0, "e"], [10647, 0, "r"], [10648, 0, "e"], [10649, 0, " "], [10650, 0, "}"], [10651, 0, "\\"], [10652, 0, ";"], [10653, 0, " "], [10654, 0, "A"], [10655, 0, "("], [10656, 0, "\\"], [10657, 0, "m"], [10658, 0, "a"], [10659, 0, "t"], [10660, 0, "h"], [10661, 0, "i"], [10662, 0, "t"], [10663, 0, "{"], [10664, 0, "p"], [10665, 0, "r"], [10666, 0, "e"], [10667, 0, "v"], [10668, 0, "}"], [10669, 0, ")"], [10670, 0, " "], [10671, 0, "="], [10672, 0, " "], [10673, 0, "("], [10674, 0, "v"], [10675, 0, "_"], [10676, 0, "p"], [10677, 0, ","], [10678, 0, " "], [10679, 0, "n"], [10680, 0, ")"], [10681, 0, "."], [10682, 0, " "], [10683, 0, "$"], [10684, 0, "$"], [10643, 1], [10648, 1], [10650, 1], [10650, 0, "q"], [10651, 0, "u"], [10652, 0, "a"], [10653, 0, "d"], [10631, 0, " "], [10632, 0, "$"], [10633, 0, "$"], [10645, 1], [10644, 1], [10643, 1], [10642, 1], [10641, 1], [10640, 1], [10639, 1], [10638, 1], [10637, 1], [10636, 1], [10635, 1], [10645, 1], [10644, 1], [10643, 1], [10642, 1], [10641, 1], [10640, 1], [10640, 0, " "], [10641, 0, "$"], [10642, 1], [10672, 1], [10670, 1], [10643, 0, "_"], [10644, 0, "p"], [10669, 1], [10669, 0, "\\"], [10670, 0, "m"], [10671, 0, "a"], [10672, 0, "t"], [10673, 0, "h"], [10674, 0, "i"], [10675, 0, "t"], [10676, 0, "{"], [10677, 0, "n"], [10678, 0, "e"], [10679, 0, "x"], [10680, 0, "t"], [10681, 0, "}"], [10666, 0, "\\"], [10667, 0, "m"], [10668, 0, "a"], [10669, 0, "t"], [10670, 0, "h"], [10671, 0, "i"], [10672, 0, "t"], [10673, 0, "{"], [10672, 1], [10671, 1], [10671, 0, "r"], [10672, 0, "m"], [10675, 0, "r"], [10676, 0, "e"], [10677, 0, "v"], [10678, 0, "}"], [10583, 1], [10583, 0, "\\"], [10584, 0, "m"], [10585, 0, "a"], [10586, 0, "t"], [10587, 0, "h"], [10588, 0, "r"], [10589, 0, "m"], [10590, 0, "{"], [10591, 0, "p"], [10592, 0, "r"], [10593, 0, "e"], [10594, 0, "v"], [10595, 0, "}"], [10638, 1], [10638, 0, "\\"], [10639, 0, "m"], [10640, 0, "a"], [10641, 0, "t"], [10642, 0, "h"], [10643, 0, "i"], [10644, 0, "t"], [10645, 0, "{"], [10646, 0, "n"], [10647, 0, "e"], [10648, 0, "x"], [10649, 0, "t"], [10650, 0, "}"], [10589, 1], [10588, 1], [10588, 0, "i"], [10589, 0, "t"], [10696, 1], [10695, 1], [10695, 0, "i"], [10696, 0, "t"], [10719, 1], [10720, 0, " "], [10721, 0, "a"], [10722, 0, "n"], [10723, 0, "d"], [10724, 0, " "], [10725, 0, "$"], [10726, 0, "\\"], [10727, 0, "m"], [10728, 0, "a"], [10729, 0, "t"], [10730, 0, "h"], [10731, 0, "i"], [10732, 0, "t"], [10733, 0, "{"], [10734, 0, "p"], [10735, 0, "r"], [10736, 0, "e"], [10737, 0, "v"], [10738, 0, "}"], [10739, 0, " "], [10740, 0, "<"], [10741, 0, " "], [10742, 0, "\\"], [10743, 0, "m"], [10744, 0, "a"], [10745, 0, "t"], [10746, 0, "h"], [10747, 0, "i"], [10748, 0, "t"], [10749, 0, "{"], [10750, 0, "i"], [10751, 0, "d"], [10752, 0, "}"], [10753, 0, "$"], [10754, 0, " "], [10755, 0, "a"], [10756, 0, "n"], [10757, 0, "d"], [10758, 0, " "], [10759, 0, "$"], [10760, 0, "\\"], [10761, 0, "m"], [10762, 0, "a"], [10763, 0, "t"], [10764, 0, "h"], [10765, 0, "i"], [10766, 0, "t"], [10767, 0, "{"], [10768, 0, "n"], [10769, 0, "e"], [10770, 0, "x"], [10771, 0, "t"], [10772, 0, "}"], [10773, 0, " "], [10774, 0, "<"], [10775, 0, " "], [10776, 0, "\\"], [10777, 0, "m"], [10778, 0, "a"], [10779, 0, "t"], [10780, 0, "h"], [10781, 0, "i"], [10782, 0, "t"], [10783, 0, "{"], [10784, 0, "n"], [10784, 1], [10784, 0, "i"], [10785, 0, "d"], [10786, 0, "}"], [10787, 0, "$"], [10788, 0, "."], [10541, 0, "\n"], [10542, 0, "\\"], [10543, 0, "b"], [10544, 0, "e"], [10545, 0, "g"], [10546, 0, "i"], [10547, 0, "n"], [10548, 0, "{"], [10549, 0, "a"], [10550, 0, "l"], [10551, 0, "i"], [10552, 0, "g"], [10553, 0, "n"], [10554, 0, "*"], [10555, 0, "}"], [10559, 1], [10558, 1], [10557, 1], [10669, 1], [10668, 1], [10668, 0, "\\"], [10669, 0, "\\"], [10671, 0, "\\"], [10672, 0, "t"], [10673, 0, "e"], [10674, 0, "x"], [10675, 0, "t"], [10676, 0, "{"], [10682, 0, "}"], [10683, 0, "\\"], [10684, 0, "q"], [10685, 0, "u"], [10686, 0, "a"], [10687, 0, "d"], [10749, 1], [10748, 1], [10747, 1], [10746, 1], [10745, 1], [10744, 1], [10743, 1], [10743, 0, " "], [10744, 0, "\\"], [10745, 0, "\\"], [10746, 0, "\n"], [10774, 1], [10775, 0, "\\"], [10776, 0, "q"], [10777, 0, "u"], [10778, 0, "a"], [10779, 0, "d"], [10780, 0, "\\"], [10781, 0, "t"], [10782, 0, "e"], [10783, 0, "x"], [10784, 0, "t"], [10785, 0, "{"], [10789, 0, "}"], [10790, 0, "\\"], [10791, 0, "q"], [10792, 0, "u"], [10793, 0, "a"], [10794, 0, "d"], [10796, 1], [10823, 1], [10824, 0, "\n"], [10825, 0, "\\"], [10826, 0, "e"], [10827, 0, "n"], [10828, 0, "d"], [10829, 0, "{"], [10830, 0, "a"], [10831, 0, "l"], [10832, 0, "i"], [10833, 0, "g"], [10834, 0, "n"], [10835, 0, "*"], [10836, 0, "}"], [10689, 1], [10562, 0, "&"], [10709, 0, "&"], [10748, 0, "&"], [10749, 0, " "], [10690, 0, "&"], [10691, 0, " "], [10711, 1], [10564, 0, "&"], [10692, 0, "&"], [10689, 1], [10688, 1], [10687, 1], [10686, 1], [10685, 1], [10746, 0, "&"], [10746, 1], [10686, 1], [10685, 0, "\\"], [10686, 0, "q"], [10687, 0, "u"], [10688, 0, "a"], [10689, 0, "d"], [10564, 1], [10565, 0, "&"], [10566, 0, " "], [10562, 1], [10563, 0, "\\"], [10564, 0, ";"], [10845, 0, "\n"], [10846, 0, "\n"], [10846, 0, "T"], [10847, 0, "h"], [10848, 0, "e"], [10849, 0, " "], [10850, 0, "r"], [10851, 0, "u"], [10852, 0, "l"], [10853, 0, "e"], [10854, 0, "s"], [10855, 0, " "], [10856, 0, "t"], [10857, 0, "h"], [10858, 0, "a"], [10859, 0, "t"], [10860, 0, " "], [10861, 0, "m"], [10862, 0, "o"], [10863, 0, "d"], [10864, 0, "i"], [10865, 0, "f"], [10866, 0, "y"], [10867, 0, " "], [10868, 0, "a"], [10869, 0, " "], [10870, 0, "p"], [10871, 0, "p"], [10871, 1], [10871, 0, "e"], [10872, 0, "e"], [10873, 0, "r"], [10874, 0, "'"], [10875, 0, "s"], [10876, 0, " "], [10877, 0, "s"], [10878, 0, "t"], [10879, 0, "a"], [10880, 0, "t"], [10881, 0, "e"], [10882, 0, " "], [10883, 0, "n"], [10884, 0, "e"], [10885, 0, "v"], [10886, 0, "e"], [10887, 0, "r"], [10888, 0, " "], [10889, 0, "r"], [10890, 0, "e"], [10891, 0, "m"], [10892, 0, "o"], [10893, 0, "v"], [10894, 0, "e"], [10895, 0, " "], [10896, 0, "a"], [10897, 0, "n"], [10898, 0, " "], [10899, 0, "I"], [10900, 0, "D"], [10901, 0, " "], [10902, 0, "f"], [10903, 0, "r"], [10904, 0, "o"], [10905, 0, "m"], [10906, 0, " "], [10907, 0, "t"], [10908, 0, "h"], [10909, 0, "e"], [10910, 0, " "], [10911, 0, "s"], [10912, 0, "t"], [10913, 0, "a"], [10914, 0, "t"], [10915, 0, "e"], [10916, 0, " "], [10917, 0, "("], [10915, 1], [10914, 1], [10913, 1], [10912, 1], [10911, 1], [10910, 1], [10909, 1], [10908, 1], [10907, 1], [10906, 1], [10905, 1], [10904, 1], [10903, 1], [10902, 1], [10901, 1], [10903, 0, "i"], [10904, 0, "."], [10905, 0, "e"], [10906, 0, "."], [10907, 0, "\\"], [10908, 0, " "], [10909, 0, "t"], [10910, 0, "h"], [10911, 0, "e"], [10912, 0, " "], [10913, 0, "d"], [10914, 0, "o"], [10915, 0, "m"], [10916, 0, "a"], [10917, 0, "i"], [10918, 0, "n"], [10919, 0, " "], [10920, 0, "o"], [10921, 0, "f"], [10922, 0, " "], [10923, 0, "t"], [10924, 0, "h"], [10925, 0, "e"], [10926, 0, " "], [10927, 0, "p"], [10928, 0, "a"], [10929, 0, "r"], [10930, 0, "t"], [10931, 0, "i"], [10932, 0, "a"], [10933, 0, "l"], [10934, 0, " "], [10935, 0, "f"], [10936, 0, "u"], [10937, 0, "n"], [10938, 0, "c"], [10939, 0, "t"], [10940, 0, "i"], [10941, 0, "o"], [10942, 0, "n"], [10943, 0, " "], [10944, 0, "$"], [10945, 0, "A"], [10946, 0, "$"], [10947, 0, " "], [10948, 0, "m"], [10949, 0, "o"], [10950, 0, "n"], [10951, 0, "o"], [10952, 0, "t"], [10953, 0, "o"], [10954, 0, "n"], [10955, 0, "i"], [10956, 0, "c"], [10957, 0, "a"], [10958, 0, "l"], [10959, 0, "l"], [10960, 0, "y"], [10961, 0, " "], [10962, 0, "g"], [10963, 0, "r"], [10964, 0, "o"], [10965, 0, "w"], [10966, 0, "s"], [10967, 0, " "], [10968, 0, "a"], [10969, 0, "s"], [10970, 0, " "], [10971, 0, "o"], [10972, 0, "p"], [10973, 0, "e"], [10974, 0, "r"], [10975, 0, "a"], [10976, 0, "t"], [10977, 0, "i"], [10978, 0, "o"], [10979, 0, "n"], [10980, 0, "s"], [10981, 0, " "], [10982, 0, "a"], [10983, 0, "r"], [10984, 0, "e"], [10985, 0, " "], [10986, 0, "a"], [10987, 0, "p"], [10988, 0, "p"], [10989, 0, "l"], [10990, 0, "i"], [10991, 0, "e"], [10992, 0, "d"], [10993, 0, ")"], [10994, 0, "."], [10995, 0, " "], [10996, 0, "T"], [10997, 0, "h"], [10998, 0, "u"], [10999, 0, "s"], [11000, 0, ","], [11001, 0, " "], [11002, 0, "w"], [11003, 0, "h"], [11004, 0, "e"], [11005, 0, "n"], [11006, 0, " "], [11007, 0, "$"], [11008, 0, "o"], [11009, 0, "_"], [11010, 0, "{"], [11011, 0, "n"], [11012, 0, "+"], [11013, 0, "1"], [11014, 0, "}"], [11015, 0, "$"], [11016, 0, " "], [11017, 0, "i"], [11018, 0, "s"], [11019, 0, " "], [11020, 0, "a"], [11021, 0, "p"], [11022, 0, "p"], [11023, 0, "l"], [11024, 0, "i"], [11025, 0, "e"], [11026, 0, "d"], [11027, 0, " "], [11028, 0, "a"], [11029, 0, "t"], [11030, 0, " "], [11031, 0, "a"], [11032, 0, "n"], [11033, 0, "o"], [11034, 0, "t"], [11035, 0, "h"], [11036, 0, "e"], [11037, 0, "r"], [11038, 0, " "], [11039, 0, "p"], [11040, 0, "e"], [11041, 0, "e"], [11042, 0, "r"], [11043, 0, " "], [11044, 0, "$"], [11045, 0, "q"], [11046, 0, "$"], [11047, 0, " "], [11048, 0, "a"], [11049, 0, "t"], [11050, 0, " "], [11051, 0, "a"], [11052, 0, "n"], [11053, 0, "y"], [11054, 0, " "], [11055, 0, "c"], [11056, 0, "a"], [11057, 0, "u"], [11058, 0, "s"], [11059, 0, "a"], [11060, 0, "l"], [11061, 0, "l"], [11062, 0, "y"], [11063, 0, " "], [11064, 0, "r"], [11065, 0, "e"], [11066, 0, "a"], [11067, 0, "d"], [11068, 0, "y"], [11069, 0, " "], [11070, 0, "t"], [11071, 0, "i"], [11072, 0, "m"], [11073, 0, "e"], [11074, 0, " "], [11075, 0, "i"], [11076, 0, "n"], [11077, 0, " "], [11078, 0, "i"], [11079, 0, "t"], [11080, 0, "s"], [11081, 0, " "], [11082, 0, "h"], [11083, 0, "i"], [11084, 0, "s"], [11085, 0, "t"], [11086, 0, "o"], [11087, 0, "r"], [11088, 0, "y"], [11089, 0, ","], [11090, 0, " "], [11091, 0, "$"], [11092, 0, "\\"], [11093, 0, "m"], [11094, 0, "a"], [11095, 0, "t"], [11096, 0, "h"], [11097, 0, "i"], [11098, 0, "t"], [11099, 0, "{"], [11100, 0, "p"], [11101, 0, "r"], [11102, 0, "e"], [11103, 0, "v"], [11104, 0, "}"], [11105, 0, "$"], [11106, 0, " "], [11092, 0, "A"], [11093, 0, "_"], [11094, 0, "q"], [11095, 0, "("], [11109, 0, ")"], [11112, 0, "a"], [11113, 0, "n"], [11114, 0, "d"], [11115, 0, " "], [11116, 0, "$"], [11117, 0, "A"], [11118, 0, "_"], [11119, 0, "q"], [11120, 0, "("], [11121, 0, "\\"], [11122, 0, "m"], [11123, 0, "a"], [11124, 0, "t"], [11125, 0, "h"], [11126, 0, "i"], [11127, 0, "t"], [11128, 0, "{"], [11129, 0, "n"], [11130, 0, "e"], [11131, 0, "x"], [11132, 0, "t"], [11133, 0, "}"], [11134, 0, ")"], [11135, 0, "$"], [11136, 0, " "], [11137, 0, "m"], [11138, 0, "u"], [11139, 0, "s"], [11140, 0, "t"], [11141, 0, " "], [11142, 0, "b"], [11143, 0, "e"], [11144, 0, " "], [11145, 0, "d"], [11146, 0, "e"], [11147, 0, "f"], [11148, 0, "i"], [11149, 0, "n"], [11150, 0, "e"], [11151, 0, "d"], [11152, 0, " "], [11153, 0, "i"], [11154, 0, "n"], [11155, 0, " "], [11156, 0, "t"], [11157, 0, "h"], [11158, 0, "e"], [11159, 0, " "], [11160, 0, "s"], [11161, 0, "t"], [11162, 0, "a"], [11163, 0, "t"], [11164, 0, "e"], [11165, 0, " "], [11166, 0, "$"], [11167, 0, "A"], [11168, 0, "_"], [11169, 0, "q"], [11170, 0, "$"], [11171, 0, " "], [11172, 0, "o"], [11173, 0, "f"], [11174, 0, " "], [11175, 0, "$"], [11176, 0, "Q"], [11176, 1], [11176, 0, "q"], [11177, 0, "$"], [11178, 0, " "], [11179, 0, "a"], [11180, 0, "t"], [11181, 0, " "], [11182, 0, "t"], [11183, 0, "h"], [11184, 0, "e"], [11185, 0, " "], [11186, 0, "t"], [11187, 0, "i"], [11188, 0, "m"], [11189, 0, "e"], [11190, 0, " "], [11191, 0, "w"], [11192, 0, "h"], [11193, 0, "e"], [11194, 0, "n"], [11195, 0, " "], [11196, 0, "$"], [11197, 0, "O"], [11197, 1], [11197, 0, "o"], [11198, 0, "_"], [11199, 0, "{"], [11200, 0, "n"], [11201, 0, "+"], [11202, 0, "1"], [11203, 0, "}"], [11204, 0, "$"], [11205, 0, " "], [11206, 0, "i"], [11207, 0, "s"], [11208, 0, " "], [11209, 0, "a"], [11210, 0, "p"], [11211, 0, "p"], [11212, 0, "l"], [11213, 0, "i"], [11214, 0, "e"], [11215, 0, "d"], [11216, 0, "."], [11215, 1], [11214, 1], [11213, 1], [11212, 1], [11211, 1], [11210, 1], [11209, 1], [11208, 1], [11207, 1], [11206, 1], [11205, 1], [11204, 1], [11203, 1], [11202, 1], [11201, 1], [11200, 1], [11199, 1], [11198, 1], [11197, 1], [11196, 1], [11195, 1], [11194, 1], [11193, 1], [11192, 1], [11191, 1], [11190, 1], [11189, 1], [11188, 1], [11187, 1], [11186, 1], [11185, 1], [11184, 1], [11183, 1], [11182, 1], [11181, 1], [11180, 1], [11179, 1], [11178, 1], [11177, 1], [11177, 0, "$"], [11177, 1], [11176, 1], [11175, 1], [11174, 1], [11173, 1], [11172, 1], [11171, 1], [11172, 0, "\n"], [11173, 0, "\n"], [11174, 0, "N"], [11175, 0, "o"], [11176, 0, "t"], [11177, 0, "e"], [11178, 0, " "], [11179, 0, "t"], [11180, 0, "h"], [11181, 0, "s"], [11181, 1], [11181, 0, "a"], [11182, 0, "t"], [11183, 0, " "], [11184, 0, "t"], [11185, 0, "h"], [11186, 0, "e"], [11187, 0, " "], [11188, 0, "l"], [11189, 0, "i"], [11190, 0, "n"], [11191, 0, "k"], [11192, 0, "e"], [11193, 0, "d"], [11194, 0, " "], [11195, 0, "l"], [11196, 0, "i"], [11197, 0, "s"], [11198, 0, "t"], [11199, 0, " "], [11200, 0, "s"], [11201, 0, "t"], [11202, 0, "r"], [11203, 0, "u"], [11204, 0, "c"], [11205, 0, "t"], [11206, 0, "u"], [11207, 0, "r"], [11208, 0, "e"], [11209, 0, " "], [11210, 0, "i"], [11211, 0, "s"], [11212, 0, " "], [11213, 0, "o"], [11214, 0, "n"], [11215, 0, "l"], [11216, 0, "y"], [11217, 0, " "], [11218, 0, "m"], [11219, 0, "o"], [11220, 0, "d"], [11221, 0, "i"], [11222, 0, "f"], [11223, 0, "i"], [11224, 0, "e"], [11225, 0, "d"], [11226, 0, " "], [11227, 0, "b"], [11228, 0, "y"], [11229, 0, " "], [11230, 0, "a"], [11231, 0, "p"], [11232, 0, "p"], [11233, 0, "l"], [11234, 0, "y"], [11235, 0, "i"], [11236, 0, "n"], [11237, 0, "g"], [11238, 0, " "], [11239, 0, "$"], [11240, 0, "\\"], [11241, 0, "]"], [11241, 1], [11241, 0, "m"], [11242, 0, "a"], [11243, 0, "t"], [11244, 0, "h"], [11245, 0, "s"], [11246, 0, "f"], [11247, 0, "{"], [11248, 0, "i"], [11249, 0, "n"], [11250, 0, "s"], [11251, 0, "e"], [11252, 0, "r"], [11253, 0, "t"], [11254, 0, "}"], [11255, 0, "$"], [11256, 0, " "], [11257, 0, "o"], [11258, 0, "p"], [11259, 0, "e"], [11260, 0, "r"], [11261, 0, "a"], [11262, 0, "t"], [11263, 0, "i"], [11264, 0, "o"], [11265, 0, "n"], [11266, 0, "s"], [11267, 0, " "], [11268, 0, "("], [11269, 0, "$"], [11270, 0, "\\"], [11271, 0, "m"], [11272, 0, "a"], [11273, 0, "t"], [11274, 0, "h"], [11275, 0, "s"], [11276, 0, "f"], [11277, 0, "{"], [11278, 0, "d"], [11279, 0, "e"], [11280, 0, "l"], [11281, 0, "e"], [11282, 0, "t"], [11283, 0, "e"], [11284, 0, "}"], [11285, 0, " "], [11285, 1], [11285, 0, "$"], [11286, 0, " "], [11287, 0, "o"], [11288, 0, "p"], [11289, 0, "e"], [11290, 0, "r"], [11291, 0, "a"], [11292, 0, "t"], [11293, 0, "i"], [11294, 0, "o"], [11295, 0, "n"], [11296, 0, "s"], [11297, 0, " "], [11298, 0, "m"], [11299, 0, "o"], [11300, 0, "d"], [11301, 0, "i"], [11302, 0, "f"], [11303, 0, "y"], [11304, 0, " "], [11305, 0, "v"], [11306, 0, "a"], [11307, 0, "l"], [11308, 0, "u"], [11309, 0, "e"], [11310, 0, "s"], [11311, 0, ","], [11312, 0, " "], [11313, 0, "b"], [11314, 0, "u"], [11315, 0, "t"], [11316, 0, " "], [11317, 0, "t"], [11317, 1], [11317, 0, "n"], [11318, 0, "o"], [11319, 0, "t"], [11320, 0, " "], [11321, 0, "t"], [11322, 0, "h"], [11323, 0, "e"], [11324, 0, " "], [11325, 0, "o"], [11326, 0, "r"], [11327, 0, "d"], [11328, 0, "e"], [11329, 0, "r"], [11330, 0, " "], [11331, 0, "o"], [11332, 0, "f"], [11333, 0, " "], [11334, 0, "i"], [11335, 0, "t"], [11336, 0, "e"], [11337, 0, "m"], [11338, 0, "s"], [11339, 0, " "], [11340, 0, "i"], [11341, 0, "n"], [11342, 0, " "], [11343, 0, "t"], [11344, 0, "h"], [11345, 0, "e"], [11346, 0, " "], [11347, 0, "l"], [11348, 0, "i"], [11349, 0, "s"], [11350, 0, "t"], [11351, 0, ")"], [11352, 0, ","], [11353, 0, " "], [11354, 0, "a"], [11355, 0, "n"], [11356, 0, "d"], [11357, 0, " "], [11358, 0, "a"], [11359, 0, "p"], [11360, 0, "p"], [11361, 0, "l"], [11362, 0, "y"], [11363, 0, "i"], [11364, 0, "n"], [11365, 0, "g"], [11366, 0, " "], [11367, 0, "a"], [11368, 0, "n"], [11369, 0, " "], [11370, 0, "$"], [11371, 0, "\\"], [11372, 0, "m"], [11373, 0, "a"], [11374, 0, "t"], [11375, 0, "h"], [11376, 0, "s"], [11377, 0, "f"], [11378, 0, "{"], [11379, 0, "i"], [11380, 0, "n"], [11381, 0, "s"], [11382, 0, "e"], [11383, 0, "r"], [11384, 0, "t"], [11385, 0, "}"], [11386, 0, "$"], [11387, 0, " "], [11388, 0, "o"], [11389, 0, "p"], [11390, 0, "e"], [11391, 0, "r"], [11392, 0, "a"], [11393, 0, "t"], [11394, 0, "i"], [11395, 0, "o"], [11396, 0, "n"], [11397, 0, " "], [11398, 0, "a"], [11399, 0, "l"], [11400, 0, "w"], [11401, 0, "a"], [11402, 0, "y"], [11403, 0, "s"], [11404, 0, " "], [4621, 0, " "], [4622, 0, "a"], [4623, 0, "n"], [4624, 0, "d"], [4625, 0, " "], [4626, 0, "$"], [4627, 0, "\\"], [4628, 0, "m"], [4629, 0, "a"], [4630, 0, "t"], [4631, 0, "h"], [4632, 0, "s"], [4633, 0, "f"], [4634, 0, "{"], [4635, 0, "h"], [4636, 0, "e"], [4637, 0, "a"], [4638, 0, "d"], [4639, 0, "}"], [4640, 0, " "], [4641, 0, "<"], [4642, 0, " "], [4643, 0, "("], [4644, 0, "c"], [4645, 0, ","], [4646, 0, " "], [4647, 0, "p"], [4648, 0, ")"], [4649, 0, "$"], [11433, 1], [11432, 1], [11431, 1], [11430, 1], [11429, 1], [11428, 1], [11427, 1], [11426, 1], [11425, 1], [11424, 1], [11423, 1], [11422, 1], [11421, 1], [11420, 1], [11419, 1], [11418, 1], [11417, 1], [11416, 1], [11415, 1], [11414, 1], [11413, 1], [11412, 1], [11411, 1], [11410, 1], [11409, 1], [11408, 1], [11407, 1], [11406, 1], [11405, 1], [11404, 1], [11403, 1], [11402, 1], [11401, 1], [11400, 1], [11399, 1], [11398, 1], [11397, 1], [11396, 1], [11395, 1], [11394, 1], [11393, 1], [11392, 1], [11391, 1], [11390, 1], [11389, 1], [11388, 1], [11387, 1], [11386, 1], [11385, 1], [11384, 1], [11383, 1], [11382, 1], [11381, 1], [11381, 0, "."], [11381, 0, ","], [11382, 0, " "], [11383, 0, "s"], [11384, 0, "o"], [11385, 0, " "], [11386, 0, "$"], [11387, 0, "o"], [11388, 0, "_"], [11389, 0, "{"], [11390, 0, "n"], [11391, 0, "+"], [11392, 0, "1"], [11393, 0, "}"], [11394, 0, "$"], [11395, 0, " "], [11381, 1], [11381, 0, "."], [11382, 0, " "], [11383, 0, "C"], [11384, 0, "a"], [11385, 0, "u"], [11386, 0, "s"], [11387, 0, "a"], [11388, 0, "l"], [11389, 0, "l"], [11390, 0, "y"], [11391, 0, " "], [11392, 0, "o"], [11393, 0, "r"], [11394, 0, "d"], [11395, 0, "e"], [11396, 0, "r"], [11397, 0, "e"], [11398, 0, "d"], [11399, 0, " "], [11400, 0, "d"], [11401, 0, "e"], [11402, 0, "l"], [11403, 0, "i"], [11404, 0, "v"], [11405, 0, "e"], [11406, 0, "r"], [11407, 0, "y"], [11408, 0, " "], [11409, 0, "r"], [11410, 0, "e"], [11411, 0, "q"], [11412, 0, "u"], [11413, 0, "i"], [11414, 0, "r"], [11415, 0, "e"], [11416, 0, "s"], [11417, 0, " "], [11418, 0, "$"], [11419, 0, "o"], [11420, 0, "_"], [11421, 0, "{"], [11422, 0, "n"], [11423, 0, "+"], [11424, 0, "1"], [11425, 0, "}"], [11426, 0, "$"], [11427, 0, " "], [11428, 0, "t"], [11429, 0, "o"], [11430, 0, " "], [11431, 0, "b"], [11432, 0, "e"], [11433, 0, " "], [11434, 0, "d"], [11435, 0, "e"], [11436, 0, "l"], [11437, 0, "i"], [11438, 0, "v"], [11439, 0, "e"], [11440, 0, "r"], [11441, 0, "e"], [11442, 0, "d"], [11443, 0, " "], [11444, 0, "a"], [11445, 0, "f"], [11446, 0, "t"], [11446, 1], [11445, 1], [11444, 1], [11443, 1], [11442, 1], [11441, 1], [11440, 1], [11439, 1], [11438, 1], [11437, 1], [11436, 1], [11435, 1], [11434, 1], [11434, 0, "a"], [11435, 0, "p"], [11436, 0, "p"], [11437, 0, "l"], [11438, 0, "i"], [11439, 0, "e"], [11440, 0, "d"], [11441, 0, " "], [11407, 1], [11406, 1], [11405, 1], [11404, 1], [11403, 1], [11402, 1], [11401, 1], [11400, 1], [11399, 1], [11398, 1], [11397, 1], [11397, 0, "i"], [11398, 0, "n"], [11399, 0, "g"], [11434, 0, "a"], [11435, 0, "f"], [11436, 0, "t"], [11437, 0, "e"], [11438, 0, "r"], [11439, 0, " "], [11440, 0, "a"], [11441, 0, "n"], [11442, 0, "y"], [11443, 0, " "], [11444, 0, "o"], [11445, 0, "p"], [11446, 0, "e"], [11447, 0, "r"], [11448, 0, "a"], [11449, 0, "t"], [11450, 0, "i"], [11451, 0, "o"], [11452, 0, "n"], [11453, 0, " "], [11454, 0, "t"], [11455, 0, "h"], [11456, 0, "a"], [11457, 0, "t"], [11458, 0, " "], [11459, 0, "h"], [11460, 0, "a"], [11461, 0, "p"], [11462, 0, "p"], [11463, 0, "e"], [11464, 0, "n"], [11465, 0, "e"], [11466, 0, "d"], [11467, 0, " "], [11468, 0, "b"], [11469, 0, "e"], [11470, 0, "f"], [11471, 0, "o"], [11472, 0, "r"], [11473, 0, "e"], [11474, 0, " "], [11475, 0, "a"], [11476, 0, "n"], [11477, 0, "d"], [11478, 0, " "], [11479, 0, "b"], [11480, 0, "e"], [11481, 0, "f"], [11482, 0, "o"], [11483, 0, "r"], [11484, 0, "e"], [11485, 0, " "], [11486, 0, "a"], [11487, 0, "n"], [11488, 0, "y"], [11489, 0, " "], [11490, 0, "o"], [11491, 0, "p"], [11492, 0, "e"], [11493, 0, "r"], [11494, 0, "a"], [11495, 0, "t"], [11496, 0, "i"], [11497, 0, "o"], [11498, 0, "n"], [11499, 0, " "], [11500, 0, "t"], [11501, 0, "h"], [11502, 0, "a"], [11503, 0, "t"], [11504, 0, " "], [11505, 0, "h"], [11506, 0, "a"], [11507, 0, "p"], [11508, 0, "p"], [11509, 0, "e"], [11510, 0, "n"], [11511, 0, "e"], [11512, 0, "d"], [11513, 0, " "], [11514, 0, "c"], [11515, 0, "a"], [11516, 0, "u"], [11517, 0, "s"], [11518, 0, "a"], [11519, 0, "l"], [11520, 0, "l"], [11521, 0, "y"], [11522, 0, " "], [11523, 0, "l"], [11524, 0, "a"], [11525, 0, "t"], [11526, 0, "e"], [11527, 0, "r"], [11528, 0, ","], [11532, 0, " "], [11533, 0, "w"], [11534, 0, "e"], [11535, 0, " "], [11536, 0, "n"], [11537, 0, "e"], [11538, 0, "e"], [11539, 0, "d"], [11540, 0, " "], [11541, 0, "o"], [11542, 0, "n"], [11543, 0, "l"], [11544, 0, "y"], [11545, 0, " "], [11546, 0, "c"], [11547, 0, "o"], [11548, 0, "n"], [11549, 0, "s"], [11550, 0, "i"], [11551, 0, "d"], [11552, 0, "e"], [11553, 0, "r"], [11554, 0, " "], [11555, 0, "a"], [11556, 0, "l"], [11557, 0, "l"], [11558, 0, " "], [11559, 0, "p"], [11560, 0, "o"], [11561, 0, "s"], [11562, 0, "s"], [11563, 0, "i"], [11564, 0, "b"], [11565, 0, "l"], [11566, 0, "e"], [11567, 0, " "], [11568, 0, "o"], [11569, 0, "r"], [11570, 0, "d"], [11571, 0, "e"], [11572, 0, "r"], [11573, 0, "i"], [11574, 0, "n"], [11575, 0, "g"], [11576, 0, "s"], [11577, 0, " "], [11578, 0, "o"], [11579, 0, "f"], [11591, 0, "w"], [11592, 0, "i"], [11593, 0, "t"], [11594, 0, "h"], [11595, 0, " "], [11596, 0, "r"], [11597, 0, "e"], [11598, 0, "s"], [11599, 0, "p"], [11600, 0, "e"], [11601, 0, "c"], [11602, 0, "t"], [11603, 0, " "], [11604, 0, "t"], [11605, 0, "o"], [11606, 0, " "], [11607, 0, "o"], [11608, 0, "t"], [11609, 0, "h"], [11610, 0, "e"], [11611, 0, "r"], [11612, 0, " "], [11613, 0, "c"], [11614, 0, "o"], [11615, 0, "n"], [11616, 0, "c"], [11617, 0, "u"], [11618, 0, "r"], [11619, 0, "r"], [11620, 0, "e"], [11621, 0, "n"], [11622, 0, "t"], [11623, 0, " "], [11624, 0, "\\"], [11624, 1], [11624, 0, "$"], [11625, 0, "\\"], [11626, 0, "m"], [11627, 0, "a"], [11628, 0, "t"], [11629, 0, "h"], [11630, 0, "s"], [11631, 0, "f"], [11632, 0, "{"], [11633, 0, "i"], [11634, 0, "n"], [11635, 0, "s"], [11636, 0, "e"], [11637, 0, "r"], [11638, 0, "t"], [11639, 0, "}"], [11640, 0, "$"], [11641, 0, " "], [11642, 0, "o"], [11643, 0, "p"], [11644, 0, "e"], [11645, 0, "r"], [11646, 0, "a"], [11647, 0, "t"], [11648, 0, "i"], [11649, 0, "o"], [11650, 0, "n"], [11651, 0, "s"], [11390, 1], [11389, 1], [11652, 0, "\n"], [11653, 0, "\n"], [11653, 0, "M"], [11654, 0, "o"], [11655, 0, "r"], [11656, 0, "e"], [11657, 0, "o"], [11658, 0, "v"], [11659, 0, "e"], [11660, 0, "r"], [11661, 0, ","], [11662, 0, " "], [11663, 0, "t"], [11664, 0, "h"], [11665, 0, "e"], [11666, 0, " "], [11667, 0, "l"], [11668, 0, "i"], [11669, 0, "s"], [11670, 0, "t"], [11671, 0, " "], [11672, 0, "s"], [11673, 0, "t"], [11674, 0, "r"], [11675, 0, "u"], [11676, 0, "c"], [11677, 0, "t"], [11678, 0, "u"], [11679, 0, "r"], [11680, 0, "e"], [11681, 0, " "], [11682, 0, "i"], [11683, 0, "s"], [11684, 0, " "], [11685, 0, "o"], [11686, 0, "n"], [11687, 0, "l"], [11688, 0, "y"], [11689, 0, " "], [11690, 0, "m"], [11691, 0, "o"], [11692, 0, "d"], [11693, 0, "i"], [11694, 0, "f"], [11695, 0, "i"], [11696, 0, "e"], [11697, 0, "d"], [11698, 0, " "], [11699, 0, "b"], [11700, 0, "y"], [11701, 0, " "], [11702, 0, "i"], [11703, 0, "n"], [11704, 0, "s"], [11705, 0, "e"], [11706, 0, "r"], [11707, 0, "t"], [11708, 0, "i"], [11709, 0, "n"], [11710, 0, "g"], [11711, 0, " "], [11712, 0, "a"], [11713, 0, " "], [11714, 0, "n"], [11715, 0, "e"], [11716, 0, "w"], [11717, 0, " "], [11718, 0, "e"], [11719, 0, "l"], [11720, 0, "e"], [11721, 0, "m"], [11722, 0, "e"], [11723, 0, "n"], [11724, 0, "t"], [11725, 0, " "], [11726, 0, "b"], [11727, 0, "e"], [11728, 0, "t"], [11729, 0, "w"], [11730, 0, "e"], [11731, 0, "e"], [11732, 0, "n"], [11733, 0, " "], [11734, 0, "t"], [11735, 0, "w"], [11736, 0, "o"], [11737, 0, " "], [11738, 0, "e"], [11739, 0, "x"], [11740, 0, "i"], [11741, 0, "s"], [11742, 0, "t"], [11743, 0, "i"], [11744, 0, "n"], [11745, 0, "g"], [11746, 0, ","], [11747, 0, " "], [11748, 0, "a"], [11749, 0, "d"], [11750, 0, "j"], [11751, 0, "a"], [11752, 0, "c"], [11753, 0, "e"], [11754, 0, "n"], [11755, 0, "t"], [11756, 0, " "], [11757, 0, "e"], [11758, 0, "l"], [11759, 0, "e"], [11760, 0, "m"], [11761, 0, "e"], [11762, 0, "n"], [11763, 0, "t"], [11764, 0, "s"], [11765, 0, "."], [11766, 0, " "], [11767, 0, "W"], [11768, 0, "h"], [11769, 0, "e"], [11770, 0, "n"], [11771, 0, " "], [11772, 0, "$"], [11773, 0, "o"], [11774, 0, "{"], [11774, 1], [11774, 0, "_"], [11775, 0, "{"], [11776, 0, "n"], [11777, 0, "+"], [11778, 0, "1"], [11779, 0, "}"], [11780, 0, "$"], [11781, 0, " "], [11782, 0, "i"], [11783, 0, "s"], [11784, 0, " "], [11785, 0, "a"], [11786, 0, "p"], [11787, 0, "p"], [11788, 0, "l"], [11789, 0, "i"], [11790, 0, "e"], [11791, 0, "d"], [11792, 0, " "], [11793, 0, "a"], [11794, 0, "t"], [11795, 0, " "], [11796, 0, "p"], [11797, 0, "e"], [11798, 0, "e"], [11799, 0, "r"], [11800, 0, " "], [11801, 0, "$"], [11802, 0, "q"], [11803, 0, "$"], [11804, 0, ","], [11805, 0, " "], [11806, 0, "t"], [11807, 0, "h"], [11808, 0, "e"], [11809, 0, " "], [11810, 0, "e"], [11811, 0, "l"], [11812, 0, "e"], [11813, 0, "m"], [11814, 0, "e"], [11815, 0, "n"], [11816, 0, "t"], [11817, 0, "s"], [11818, 0, " "], [11819, 0, "$"], [11820, 0, "\\"], [11821, 0, "m"], [11822, 0, "a"], [11823, 0, "t"], [11824, 0, "h"], [11825, 0, "i"], [11826, 0, "t"], [11827, 0, "{"], [11828, 0, "p"], [11829, 0, "r"], [11830, 0, "e"], [11831, 0, "v"], [11832, 0, "}"], [11833, 0, "$"], [11834, 0, " "], [11835, 0, "a"], [11836, 0, "n"], [11837, 0, "d"], [11838, 0, " "], [11818, 0, " "], [11819, 0, "i"], [11820, 0, "d"], [11821, 0, "e"], [11822, 0, "n"], [11823, 0, "t"], [11824, 0, "i"], [11825, 0, "f"], [11826, 0, "i"], [11827, 0, "e"], [11828, 0, "d"], [11829, 0, " "], [11830, 0, "b"], [11831, 0, "y"], [11853, 0, "$"], [11854, 0, "\\"], [11855, 0, "m"], [11856, 0, "a"], [11857, 0, "t"], [11858, 0, "h"], [11859, 0, "i"], [11860, 0, "t"], [11861, 0, "{"], [11862, 0, "n"], [11863, 0, "e"], [11864, 0, "x"], [11865, 0, "t"], [11866, 0, "}"], [11867, 0, "$"], [11868, 0, " "], [11869, 0, "a"], [11870, 0, "r"], [11871, 0, "e"], [11872, 0, " "], [11873, 0, "n"], [11874, 0, "o"], [11875, 0, " "], [11876, 0, "l"], [11877, 0, "o"], [11878, 0, "n"], [11879, 0, "g"], [11880, 0, "e"], [11881, 0, "r"], [11882, 0, " "], [11883, 0, "n"], [11884, 0, "e"], [11885, 0, "c"], [11886, 0, "e"], [11887, 0, "s"], [11888, 0, "s"], [11889, 0, "a"], [11890, 0, "r"], [11891, 0, "i"], [11892, 0, "l"], [11893, 0, "y"], [11894, 0, " "], [11895, 0, "a"], [11896, 0, "d"], [11897, 0, "j"], [11898, 0, "a"], [11899, 0, "c"], [11900, 0, "e"], [11901, 0, "n"], [11902, 0, "t"], [11903, 0, " "], [11904, 0, "("], [11905, 0, "a"], [11906, 0, "s"], [11907, 0, " "], [11908, 0, "a"], [11908, 1], [11907, 1], [11906, 1], [11905, 1], [11904, 1], [11904, 0, "i"], [11905, 0, "n"], [11906, 0, " "], [11907, 0, "$"], [11908, 0, "A"], [11909, 0, "_"], [11910, 0, "q"], [11911, 0, "4"], [11911, 1], [11911, 0, "$"], [11912, 0, ","], [11913, 0, " "], [11914, 0, "B"], [11915, 0, "U"], [11916, 0, "T"], [11917, 0, " "], [11917, 1], [11916, 1], [11915, 1], [11914, 1], [11914, 0, "b"], [11915, 0, "u"], [11916, 0, "t"], [11917, 0, " "], [11918, 0, "w"], [11919, 0, "e"], [11920, 0, " "], [11921, 0, "k"], [11922, 0, "n"], [11923, 0, "o"], [11924, 0, "w"], [11925, 0, " "], [11926, 0, "f"], [11927, 0, "r"], [11928, 0, "o"], [11929, 0, "m"], [11930, 0, " "], [11930, 1], [11929, 1], [11928, 1], [11927, 1], [11926, 1], [11926, 0, "t"], [11927, 0, "h"], [11928, 0, "a"], [11929, 0, "t"], [11930, 0, " "], [11931, 0, "a"], [11932, 0, "n"], [11933, 0, "y"], [11934, 0, " "], [11935, 0, "o"], [11936, 0, "t"], [11937, 0, "h"], [11938, 0, "e"], [11939, 0, "r"], [11940, 0, " "], [11941, 0, "I"], [11942, 0, "D"], [11943, 0, " "], [11944, 0, "i"], [11945, 0, "n"], [11946, 0, "s"], [11947, 0, "e"], [11948, 0, "r"], [11949, 0, "t"], [11950, 0, "e"], [11951, 0, "d"], [11952, 0, " "], [11953, 0, "b"], [11954, 0, "e"], [11955, 0, "t"], [11956, 0, "w"], [11957, 0, "e"], [11958, 0, "e"], [11959, 0, "n"], [11960, 0, " "], [11961, 0, "t"], [11962, 0, "h"], [11963, 0, "o"], [11964, 0, "s"], [11965, 0, "e"], [11966, 0, " "], [11967, 0, "e"], [11968, 0, "l"], [11969, 0, "e"], [11970, 0, "m"], [11971, 0, "e"], [11972, 0, "n"], [11973, 0, "t"], [11974, 0, "s"], [11975, 0, " "], [11976, 0, "m"], [11977, 0, "u"], [11978, 0, "s"], [11979, 0, "t"], [11980, 0, " "], [11981, 0, "h"], [11982, 0, "a"], [11983, 0, "v"], [11984, 0, "e"], [11985, 0, " "], [11986, 0, "$"], [11987, 0, "\\"], [11988, 0, "m"], [11989, 0, "a"], [11990, 0, "t"], [11991, 0, "h"], [11992, 0, "i"], [11993, 0, "t"], [11994, 0, "{"], [11995, 0, "p"], [11996, 0, "r"], [11997, 0, "e"], [11998, 0, "v"], [11943, 0, " "], [11944, 0, "$"], [11945, 0, "\\"], [11946, 0, "m"], [11947, 0, "a"], [11948, 0, "t"], [11949, 0, "h"], [11950, 0, "i"], [11951, 0, "t"], [11952, 0, "{"], [11953, 0, "i"], [11954, 0, "d"], [11955, 0, "}"], [11956, 0, "'"], [11957, 0, "$"], [12014, 0, "}"], [12015, 0, " "], [12016, 0, "<"], [12017, 0, " "], [12018, 0, "\\"], [12019, 0, "m"], [12020, 0, "a"], [12021, 0, "t"], [12022, 0, "h"], [12023, 0, "i"], [12024, 0, "t"], [12025, 0, "{"], [12026, 0, "i"], [12027, 0, "d"], [12028, 0, "}"], [12029, 0, "'"], [12030, 0, "$"], [12031, 0, " "], [12032, 0, "a"], [12033, 0, "n"], [12034, 0, "d"], [12035, 0, " "], [12036, 0, "$"], [12037, 0, "\\"], [12038, 0, "m"], [12039, 0, "a"], [12040, 0, "t"], [12041, 0, "h"], [12042, 0, "i"], [12043, 0, "t"], [12044, 0, "{"], [12045, 0, "n"], [12046, 0, "e"], [12047, 0, "x"], [12048, 0, "t"], [12049, 0, "}"], [12050, 0, " "], [12051, 0, "<"], [12052, 0, " "], [12053, 0, "\\"], [12054, 0, "m"], [12055, 0, "a"], [12056, 0, "t"], [12057, 0, "h"], [12058, 0, "i"], [12059, 0, "t"], [12060, 0, "{"], [12061, 0, "i"], [12062, 0, "d"], [12063, 0, "}"], [12064, 0, "'"], [12065, 0, "$"], [12066, 0, " "], [12067, 0, "a"], [12068, 0, "c"], [12069, 0, "c"], [12070, 0, "o"], [12071, 0, "r"], [12072, 0, "d"], [12073, 0, "i"], [12074, 0, "n"], [12075, 0, "g"], [12076, 0, " "], [12077, 0, "t"], [12078, 0, "o"], [12079, 0, " "], [12080, 0, "t"], [12081, 0, "h"], [12082, 0, "e"], [12083, 0, " "], [12084, 0, "o"], [12085, 0, "b"], [12086, 0, "s"], [12087, 0, "e"], [12088, 0, "r"], [12089, 0, "v"], [12090, 0, "a"], [12091, 0, "t"], [12092, 0, "i"], [12093, 0, "o"], [12094, 0, "n"], [12095, 0, " "], [12096, 0, "a"], [12097, 0, "b"], [12098, 0, "o"], [12099, 0, "v"], [12100, 0, "e"], [12101, 0, "."], [11931, 0, "t"], [11932, 0, "h"], [11933, 0, "e"], [11934, 0, "y"], [11935, 0, " "], [11936, 0, "m"], [11937, 0, "u"], [11938, 0, "s"], [11939, 0, "t"], [11940, 0, " "], [11941, 0, "s"], [11942, 0, "t"], [11943, 0, "i"], [11944, 0, "l"], [11945, 0, "l"], [11946, 0, " "], [11947, 0, "b"], [11948, 0, "e"], [11949, 0, " "], [11950, 0, "i"], [11951, 0, "n"], [11952, 0, " "], [11953, 0, "t"], [11954, 0, "h"], [11955, 0, "e"], [11956, 0, " "], [11957, 0, "s"], [11958, 0, "a"], [11959, 0, "m"], [11960, 0, "e"], [11961, 0, " "], [11962, 0, "o"], [11963, 0, "r"], [11964, 0, "d"], [11965, 0, "e"], [11966, 0, "r"], [11967, 0, ","], [11968, 0, " "], [11969, 0, "a"], [11970, 0, "n"], [11971, 0, "d"], [11972, 0, " "], [11973, 0, "w"], [11974, 0, "e"], [11975, 0, " "], [11975, 1], [11974, 1], [11973, 1], [11972, 1], [11971, 1], [11970, 1], [11969, 1], [11968, 1], [11967, 1], [11967, 0, "."], [11968, 0, " "], [11969, 0, "A"], [11970, 0, "c"], [11971, 0, "c"], [11972, 0, "o"], [11973, 0, "r"], [11974, 0, "d"], [11975, 0, "i"], [11976, 0, "n"], [11977, 0, "g"], [11978, 0, " "], [11979, 0, "t"], [11980, 0, "o"], [11981, 0, " "], [11982, 0, "t"], [11983, 0, "h"], [11984, 0, "e"], [11985, 0, " "], [11986, 0, "o"], [11987, 0, "b"], [11988, 0, "s"], [11989, 0, "e"], [11990, 0, "r"], [11991, 0, "v"], [11992, 0, "a"], [11993, 0, "t"], [11994, 0, "i"], [11995, 0, "o"], [11996, 0, "n"], [11997, 0, " "], [11998, 0, "a"], [11999, 0, "b"], [12000, 0, "o"], [12001, 0, "v"], [12002, 0, "e"], [12003, 0, ","], [12004, 0, " "], [12005, 0, "w"], [12006, 0, "e"], [12007, 0, " "], [12008, 0, "a"], [12009, 0, "l"], [12010, 0, "s"], [12011, 0, "o"], [12012, 0, " "], [12013, 0, "k"], [12014, 0, "n"], [12015, 0, "o"], [12016, 0, "w"], [12017, 0, " "], [12018, 0, "t"], [12019, 0, "h"], [12020, 0, "a"], [12021, 0, "t"], [12022, 0, " "], [12192, 1], [12191, 1], [12190, 1], [12189, 1], [12188, 1], [12187, 1], [12186, 1], [12185, 1], [12184, 1], [12183, 1], [12182, 1], [12181, 1], [12180, 1], [12179, 1], [12178, 1], [12177, 1], [12176, 1], [12175, 1], [12174, 1], [12173, 1], [12172, 1], [12171, 1], [12170, 1], [12169, 1], [12168, 1], [12167, 1], [12166, 1], [12165, 1], [12164, 1], [12163, 1], [12162, 1], [12161, 1], [12160, 1], [12159, 1], [12158, 1], [11881, 1], [11880, 1], [11879, 1], [11878, 1], [11877, 1], [11876, 1], [11875, 1], [11875, 0, "t"], [11472, 0, ","], [12154, 0, "\n"], [12155, 0, "\n"], [11200, 0, ","], [11201, 0, " "], [11202, 0, "o"], [11203, 0, "r"], [11204, 0, " "], [11205, 0, "\\"], [11206, 0, "m"], [11207, 0, "a"], [11208, 0, "t"], [11205, 0, "$"], [11210, 0, "h"], [11211, 0, "i"], [11212, 0, "t"], [11213, 0, "{"], [11214, 0, "n"], [11215, 0, "e"], [11216, 0, "x"], [11217, 0, "t"], [11218, 0, "}"], [11219, 0, " "], [11220, 0, "="], [11221, 0, " "], [11222, 0, "\\"], [11223, 0, "m"], [11224, 0, "a"], [11225, 0, "t"], [11226, 0, "h"], [11227, 0, "s"], [11228, 0, "f"], [11229, 0, "{"], [11230, 0, "t"], [11231, 0, "a"], [11232, 0, "i"], [11233, 0, "l"], [11234, 0, "}"], [11235, 0, "$"], [12192, 0, "B"], [12193, 0, "y"], [12194, 0, " "], [12195, 0, "t"], [12196, 0, "h"], [12197, 0, "e"], [12198, 0, " "], [12199, 0, "i"], [12200, 0, "n"], [12201, 0, "d"], [12202, 0, "u"], [12203, 0, "c"], [12204, 0, "t"], [12205, 0, "i"], [12206, 0, "o"], [12207, 0, "n"], [12208, 0, " "], [12209, 0, "h"], [12210, 0, "y"], [12211, 0, "p"], [12212, 0, "o"], [12213, 0, "t"], [12214, 0, "h"], [12215, 0, "e"], [12216, 0, "s"], [12217, 0, "i"], [12218, 0, "s"], [12219, 0, " "], [12219, 1], [12219, 0, ","], [12220, 0, " "], [12221, 0, "a"], [12222, 0, "s"], [12223, 0, "s"], [12224, 0, "u"], [12225, 0, "m"], [12226, 0, "e"], [12227, 0, " "], [12228, 0, "a"], [12229, 0, " "], [12229, 1], [12228, 1], [12228, 0, "w"], [12229, 0, "e"], [12230, 0, " "], [12231, 0, "h"], [12232, 0, "a"], [12233, 0, "v"], [12234, 0, "e"], [12235, 0, " "], [12235, 1], [12234, 1], [12233, 1], [12232, 1], [12231, 1], [12230, 1], [12229, 1], [12228, 1], [12227, 1], [12226, 1], [12225, 1], [12224, 1], [12223, 1], [12222, 1], [12221, 1], [12221, 0, "l"], [12222, 0, "e"], [12223, 0, "t"], [12224, 0, " "], [12225, 0, "h"], [12226, 0, "i"], [12227, 0, "s"], [12228, 0, "t"], [12228, 1], [12227, 1], [12227, 0, "s"], [12228, 0, "t"], [12229, 0, "o"], [12230, 0, "r"], [12231, 0, "i"], [12232, 0, "e"], [12233, 0, "s"], [12234, 0, " "], [12235, 0, "H"], [12236, 0, "1"], [12236, 1], [12235, 1], [12235, 0, "$"], [12236, 0, "#"], [12236, 1], [12236, 0, "H"], [12237, 0, "_"], [12238, 0, "1"], [12239, 0, "$"], [12240, 0, " "], [12241, 0, "a"], [12242, 0, "n"], [12243, 0, "d"], [12244, 0, " "], [12245, 0, "$"], [12246, 0, "H"], [12247, 0, "J"], [12247, 1], [12247, 0, "_"], [12248, 0, "@"], [12248, 1], [12248, 0, "2"], [12249, 0, "$"], [12250, 0, " "], [12234, 1], [12233, 1], [12232, 1], [12231, 1], [12230, 1], [12229, 1], [12228, 1], [12227, 1], [12226, 1], [12225, 1], [12241, 0, "b"], [12242, 0, "e"], [12243, 0, " "], [12244, 0, "c"], [12245, 0, "a"], [12246, 0, "u"], [12247, 0, "s"], [12248, 0, "a"], [12249, 0, "l"], [12250, 0, " "], [12251, 0, "h"], [12252, 0, "i"], [12253, 0, "s"], [12254, 0, "t"], [12255, 0, "o"], [12256, 0, "r"], [12257, 0, "i"], [12258, 0, "e"], [12259, 0, "s"], [12260, 0, " "], [12261, 0, "o"], [12262, 0, "f"], [12263, 0, " "], [12264, 0, "o"], [12265, 0, "p"], [12266, 0, "e"], [12267, 0, "r"], [12268, 0, "a"], [12269, 0, "t"], [12270, 0, "i"], [12271, 0, "o"], [12272, 0, "n"], [12273, 0, "s"], [12274, 0, " "], [12275, 0, "$"], [12276, 0, "o"], [12277, 0, "_"], [12278, 0, "n"], [12279, 0, "1"], [12280, 0, " "], [12280, 1], [12279, 1], [12278, 1], [12278, 0, "1"], [12279, 0, " "], [12280, 0, "\\"], [12281, 0, "d"], [12282, 0, "o"], [12283, 0, "t"], [12284, 0, "s"], [12285, 0, " "], [12286, 0, "o"], [12287, 0, "_"], [12288, 0, "n"], [12289, 0, "$"], [12290, 0, " "], [12291, 0, "w"], [12292, 0, "h"], [12293, 0, "i"], [12294, 0, "c"], [12295, 0, "h"], [12296, 0, " "], [12297, 0, "r"], [12298, 0, "e"], [12299, 0, "s"], [12300, 0, "u"], [12301, 0, "l"], [12302, 0, "t"], [12303, 0, " "], [12304, 0, "i"], [12305, 0, "n"], [12306, 0, " "], [12307, 0, "t"], [12308, 0, "h"], [12309, 0, "e"], [12310, 0, " "], [12311, 0, "s"], [12312, 0, "a"], [12313, 0, "m"], [12314, 0, "e"], [12315, 0, " "], [12316, 0, "f"], [12317, 0, "i"], [12318, 0, "n"], [12319, 0, "a"], [12320, 0, "l"], [12321, 0, " "], [12322, 0, "s"], [12323, 0, "t"], [12324, 0, "a"], [12325, 0, "t"], [12326, 0, "e"], [12327, 0, " "], [12328, 0, "w"], [12329, 0, "h"], [12330, 0, "e"], [12331, 0, "n"], [12332, 0, " "], [12333, 0, "a"], [12334, 0, "p"], [12335, 0, "p"], [12336, 0, "l"], [12337, 0, "i"], [12338, 0, "e"], [12339, 0, "d"], [12340, 0, "."], [12341, 0, " "], [12342, 0, "W"], [12343, 0, "h"], [12344, 0, "e"], [12345, 0, "n"], [12346, 0, " "], [12347, 0, "$"], [12348, 0, "o"], [12349, 0, "_"], [12350, 0, "{"], [12351, 0, "n"], [12352, 0, "+"], [12353, 0, "1"], [12354, 0, "}"], [12355, 0, "$"], [12356, 0, " "], [12357, 0, "i"], [12358, 0, "s"], [12359, 0, " "], [12360, 0, "i"], [12361, 0, "n"], [12362, 0, "s"], [12363, 0, "e"], [12364, 0, "r"], [12365, 0, "t"], [12366, 0, "e"], [12367, 0, "d"], [12368, 0, " "], [12369, 0, "i"], [12370, 0, "n"], [12371, 0, "t"], [12372, 0, "o"], [12373, 0, " "], [12374, 0, "t"], [12375, 0, "i"], [12376, 0, "e"], [12377, 0, "h"], [12378, 0, "t"], [12378, 1], [12377, 1], [12376, 1], [12375, 1], [12374, 1], [12374, 0, "e"], [12375, 0, "i"], [12376, 0, "t"], [12377, 0, "h"], [12378, 0, "e"], [12379, 0, "r"], [12380, 0, " "], [12381, 0, "o"], [12382, 0, "f"], [12383, 0, " "], [12384, 0, "t"], [12385, 0, "h"], [12386, 0, "e"], [12387, 0, "s"], [12388, 0, "e"], [12389, 0, " "], [12390, 0, "h"], [12391, 0, "i"], [12392, 0, "s"], [12393, 0, "t"], [12394, 0, "o"], [12395, 0, "r"], [12396, 0, "i"], [12397, 0, "e"], [12398, 0, "s"], [12399, 0, ","], [12400, 0, " "], [12401, 0, "c"], [12402, 0, "a"], [12403, 0, "u"], [12404, 0, "s"], [12405, 0, "a"], [12406, 0, "l"], [12407, 0, "i"], [12408, 0, "t"], [12409, 0, "y"], [12410, 0, " "], [12411, 0, "d"], [12412, 0, "e"], [12413, 0, "m"], [12414, 0, "a"], [12415, 0, "n"], [12416, 0, "d"], [12417, 0, "s"], [12418, 0, " "], [12419, 0, "t"], [12420, 0, "h"], [12421, 0, "a"], [12422, 0, "t"], [12423, 0, " "], [12424, 0, "$"], [12425, 0, "\\"], [12426, 0, "m"], [12427, 0, "a"], [12428, 0, "t"], [12429, 0, "h"], [12430, 0, "i"], [12431, 0, "t"], [12432, 0, "{"], [12433, 0, "p"], [12434, 0, "r"], [12435, 0, "e"], [12436, 0, "v"], [12437, 0, "}"], [12438, 0, "$"], [12439, 0, " "], [12440, 0, "a"], [12441, 0, "n"], [12442, 0, "d"], [12443, 0, " "], [12444, 0, "$"], [12445, 0, "\\"], [12446, 0, "m"], [12447, 0, "a"], [12448, 0, "t"], [12449, 0, "h"], [12450, 0, "i"], [12451, 0, "t"], [12452, 0, "{"], [12453, 0, "n"], [12454, 0, "e"], [12455, 0, "x"], [12456, 0, "t"], [12457, 0, "}"], [12458, 0, "$"], [12424, 0, "l"], [12425, 0, "i"], [12426, 0, "s"], [12427, 0, "t"], [12428, 0, " "], [12429, 0, "e"], [12430, 0, "l"], [12431, 0, "e"], [12432, 0, "m"], [12433, 0, "e"], [12434, 0, "n"], [12435, 0, "t"], [12436, 0, "s"], [12437, 0, " "], [12473, 0, " "], [12474, 0, "a"], [12475, 0, "r"], [12476, 0, "e"], [12477, 0, " "], [12478, 0, "i"], [12479, 0, "n"], [12480, 0, "s"], [12481, 0, "e"], [12482, 0, "r"], [12483, 0, "t"], [12484, 0, "e"], [12485, 0, "d"], [12486, 0, " "], [12487, 0, "b"], [12487, 1], [12487, 0, "a"], [12488, 0, "t"], [12489, 0, " "], [12490, 0, "s"], [12491, 0, "o"], [12492, 0, "m"], [12493, 0, "e"], [12494, 0, " "], [12495, 0, "p"], [12496, 0, "o"], [12497, 0, "i"], [12498, 0, "n"], [12499, 0, "t"], [12500, 0, " "], [12501, 0, "p"], [12502, 0, "r"], [12503, 0, "i"], [12504, 0, "o"], [12505, 0, "r"], [12506, 0, " "], [12507, 0, "t"], [12508, 0, "o"], [12509, 0, " "], [12510, 0, "$"], [12511, 0, "o"], [12512, 0, "_"], [12513, 0, "{"], [12514, 0, "n"], [12515, 0, "+"], [12516, 0, "1"], [12517, 0, "}"], [12518, 0, "$"], [12519, 0, " "], [12520, 0, "i"], [12521, 0, "n"], [12522, 0, " "], [12523, 0, "t"], [12524, 0, "h"], [12525, 0, "e"], [12526, 0, " "], [12527, 0, "h"], [12528, 0, "i"], [12529, 0, "s"], [12530, 0, "t"], [12531, 0, "o"], [12532, 0, "r"], [12533, 0, "y"], [12534, 0, "."], [12535, 0, " "], [12536, 0, "W"], [12537, 0, "h"], [12538, 0, "e"], [12539, 0, "n"], [12540, 0, " "], [12541, 0, "$"], [12542, 0, "o"], [12543, 0, "_"], [12544, 0, "{"], [12545, 0, "n"], [12546, 0, "+"], [12547, 0, "1"], [12548, 0, "}"], [12549, 0, "$"], [12550, 0, " "], [12551, 0, "i"], [12552, 0, "s"], [12553, 0, " "], [12554, 0, "a"], [12555, 0, "p"], [12556, 0, "p"], [12557, 0, "l"], [12558, 0, "i"], [12559, 0, "e"], [12560, 0, "d"], [12561, 0, ","], [12562, 0, " "], [12563, 0, "t"], [12564, 0, "h"], [12565, 0, "e"], [12566, 0, " "], [12567, 0, "$"], [12568, 0, "\\"], [12569, 0, "m"], [12570, 0, "a"], [12571, 0, "t"], [12572, 0, "h"], [12573, 0, "r"], [12574, 0, "m"], [12575, 0, "{"], [12576, 0, "a"], [12577, 0, "p"], [12578, 0, "p"], [12579, 0, "l"], [12580, 0, "y"], [12581, 0, "}"], [12582, 0, "("], [12583, 0, "\\"], [12584, 0, "p"], [12585, 0, "l"], [12586, 0, "a"], [12587, 0, "c"], [12588, 0, "e"], [12589, 0, "h"], [12590, 0, "o"], [12591, 0, "l"], [12592, 0, "d"], [12593, 0, "e"], [12594, 0, "r"], [12595, 0, ","], [12596, 0, " "], [12597, 0, "\\"], [12598, 0, "m"], [12599, 0, "a"], [12600, 0, "t"], [12601, 0, "h"], [12602, 0, "s"], [12603, 0, "f"], [12604, 0, "{"], [12605, 0, "i"], [12606, 0, "n"], [12607, 0, "s"], [12608, 0, "e"], [12609, 0, "r"], [12610, 0, "t"], [12611, 0, "}"], [12612, 0, "("], [12613, 0, "\\"], [12614, 0, "m"], [12615, 0, "a"], [12616, 0, "t"], [12617, 0, "h"], [12618, 0, "i"], [12619, 0, "t"], [12620, 0, "{"], [12621, 0, "i"], [12622, 0, "d"], [12623, 0, "}"], [12624, 0, ","], [12625, 0, " "], [12626, 0, "\\"], [12627, 0, "m"], [12628, 0, "a"], [12629, 0, "t"], [12630, 0, "h"], [12631, 0, "i"], [12632, 0, "t"], [12633, 0, "{"], [12634, 0, "p"], [12635, 0, "r"], [12636, 0, "e"], [12637, 0, "v"], [12638, 0, "}"], [12639, 0, ","], [12640, 0, " "], [12641, 0, "v"], [12642, 0, ")"], [12643, 0, ")"], [12644, 0, "$"], [12645, 0, " "], [12646, 0, "r"], [12647, 0, "u"], [12648, 0, "l"], [12649, 0, "e"], [12650, 0, " "], [12651, 0, "s"], [12652, 0, "t"], [12653, 0, "a"], [12654, 0, "r"], [12655, 0, "t"], [12656, 0, "s"], [12657, 0, " "], [12658, 0, "i"], [12659, 0, "t"], [12660, 0, "e"], [12661, 0, "r"], [12662, 0, "a"], [12663, 0, "t"], [12664, 0, "i"], [12665, 0, "n"], [12666, 0, "g"], [12667, 0, " "], [12668, 0, "a"], [12669, 0, "t"], [12670, 0, " "], [12671, 0, "$"], [12672, 0, "\\"], [12673, 0, "m"], [12674, 0, "a"], [12675, 0, "t"], [12676, 0, "h"], [12677, 0, "i"], [12678, 0, "t"], [12679, 0, "{"], [12680, 0, "p"], [12681, 0, "r"], [12682, 0, "e"], [12683, 0, "v"], [12684, 0, "}"], [12685, 0, "$"], [12686, 0, " "], [12687, 0, "a"], [12688, 0, "n"], [12689, 0, "d"], [12690, 0, " "], [12691, 0, "s"], [12692, 0, "k"], [12693, 0, "i"], [12694, 0, "p"], [12695, 0, "s"], [12696, 0, " "], [12697, 0, "o"], [12698, 0, "v"], [12699, 0, "e"], [12700, 0, "r"], [12701, 0, " "], [12702, 0, "a"], [12703, 0, "n"], [12704, 0, "y"], [12705, 0, " "], [12706, 0, "e"], [12707, 0, "l"], [12708, 0, "e"], [12709, 0, "m"], [12710, 0, "e"], [12711, 0, "n"], [12712, 0, "t"], [12713, 0, "s"], [12714, 0, " "], [12715, 0, "w"], [12716, 0, "i"], [12717, 0, "t"], [12718, 0, "h"], [12719, 0, " "], [12720, 0, "a"], [12721, 0, "n"], [12722, 0, " "], [12723, 0, "I"], [12724, 0, "D"], [12725, 0, " "], [12726, 0, "g"], [12727, 0, "r"], [12728, 0, "e"], [12729, 0, "a"], [12730, 0, "t"], [12731, 0, "e"], [12732, 0, "r"], [12733, 0, " "], [12734, 0, "t"], [12735, 0, "h"], [12736, 0, "a"], [12737, 0, "n"], [12738, 0, " "], [12739, 0, "$"], [12740, 0, "\\"], [12741, 0, "m"], [12742, 0, "a"], [12743, 0, "t"], [12744, 0, "h"], [12745, 0, "i"], [12746, 0, "t"], [12747, 0, "{"], [12748, 0, "i"], [12749, 0, "d"], [12750, 0, "}"], [12751, 0, "$"], [12752, 0, "."], [12753, 0, " "], [12754, 0, "S"], [12755, 0, "i"], [12756, 0, "n"], [12757, 0, "c"], [12758, 0, "e"], [12759, 0, " "], [12760, 0, "$"], [12761, 0, "\\"], [12762, 0, "m"], [12763, 0, "a"], [12764, 0, "t"], [12765, 0, "h"], [12766, 0, "i"], [12767, 0, "d"], [12768, 0, "{"], [12769, 0, "n"], [12770, 0, "e"], [12771, 0, "x"], [12772, 0, "t"], [12773, 0, "}"], [12774, 0, " "], [12775, 0, "<"], [12776, 0, " "], [12777, 0, "\\"], [12778, 0, "m"], [12779, 0, "a"], [12780, 0, "t"], [12781, 0, "h"], [12782, 0, "i"], [12783, 0, "d"], [12784, 0, "{"], [12785, 0, "i"], [12786, 0, "d"], [12787, 0, "}"], [12783, 1], [12783, 0, "t"], [12788, 0, "$"], [12789, 0, ","], [12790, 0, " "], [12791, 0, "t"], [12792, 0, "h"], [12793, 0, "i"], [12794, 0, "s"], [12795, 0, " "], [12796, 0, "i"], [12797, 0, "t"], [12798, 0, "e"], [12799, 0, "r"], [12800, 0, "a"], [12801, 0, "t"], [12802, 0, "i"], [12803, 0, "o"], [12804, 0, "n"], [12805, 0, " "], [12805, 1], [12804, 1], [12803, 1], [12802, 1], [12801, 1], [12800, 1], [12799, 1], [12798, 1], [12797, 1], [12796, 1], [12795, 1], [12794, 1], [12793, 1], [12793, 0, "e"], [12794, 0, " "], [12795, 0, "r"], [12796, 0, "e"], [12797, 0, "c"], [12798, 0, "u"], [12799, 0, "r"], [12800, 0, "s"], [12801, 0, "i"], [12802, 0, "o"], [12803, 0, "n"], [12804, 0, " "], [12805, 0, "n"], [12806, 0, "e"], [12807, 0, "v"], [12808, 0, "e"], [12809, 0, "r"], [12810, 0, " "], [12811, 0, "c"], [12812, 0, "o"], [12813, 0, "n"], [12814, 0, "t"], [12815, 0, "i"], [12816, 0, "n"], [12817, 0, "u"], [12818, 0, "e"], [12819, 0, "s"], [12820, 0, " "], [12821, 0, "b"], [12822, 0, "e"], [12823, 0, "y"], [12824, 0, "o"], [12825, 0, "n"], [12826, 0, "d"], [12827, 0, " "], [12828, 0, "$"], [12829, 0, "\\"], [12830, 0, "m"], [12831, 0, "a"], [12832, 0, "t"], [12833, 0, "h"], [12834, 0, "i"], [12835, 0, "t"], [12836, 0, "{"], [12837, 0, "n"], [12838, 0, "e"], [12839, 0, "x"], [12840, 0, "t"], [12841, 0, "}"], [12842, 0, "$"], [12843, 0, "."], [12844, 0, " "], [12845, 0, "T"], [12846, 0, "h"], [12847, 0, "u"], [12848, 0, "s"], [12849, 0, ","], [12850, 0, " "], [12851, 0, "t"], [12852, 0, "h"], [12853, 0, "e"], [12854, 0, " "], [12855, 0, "$"], [12856, 0, "\\"], [12857, 0, "m"], [12858, 0, "a"], [12859, 0, "t"], [12860, 0, "h"], [12861, 0, "i"], [12862, 0, "t"], [12863, 0, "{"], [12864, 0, "a"], [12865, 0, "p"], [12866, 0, "p"], [12866, 1], [12865, 1], [12864, 1], [12863, 1], [12862, 1], [12861, 1], [12861, 0, "r"], [12862, 0, "m"], [12863, 0, "{"], [12864, 0, "a"], [12865, 0, "p"], [12866, 0, "p"], [12867, 0, "l"], [12868, 0, "y"], [12869, 0, "}"], [12870, 0, "$"], [12871, 0, " "], [12872, 0, "r"], [12873, 0, "u"], [12874, 0, "l"], [12875, 0, "e"], [12876, 0, " "], [12877, 0, "i"], [12878, 0, "s"], [12879, 0, " "], [12880, 0, "g"], [12881, 0, "u"], [12882, 0, "a"], [12883, 0, "r"], [12884, 0, "a"], [12885, 0, "n"], [12886, 0, "t"], [12887, 0, "e"], [12888, 0, "e"], [12889, 0, "d"], [12890, 0, " "], [12891, 0, "t"], [12892, 0, "o"], [12893, 0, " "], [12894, 0, "i"], [12895, 0, "n"], [12896, 0, "s"], [12897, 0, "e"], [12898, 0, "r"], [12899, 0, "t"], [12900, 0, " "], [12901, 0, "$"], [12902, 0, "\\"], [12903, 0, "m"], [12904, 0, "a"], [12905, 0, "t"], [12906, 0, "h"], [12907, 0, "i"], [12908, 0, "t"], [12909, 0, "{"], [12910, 0, "i"], [12911, 0, "d"], [12912, 0, "}"], [12913, 0, "$"], [12914, 0, " "], [12915, 0, "a"], [12916, 0, "t"], [12917, 0, " "], [12918, 0, "s"], [12919, 0, "o"], [12920, 0, "m"], [12921, 0, "e"], [12922, 0, " "], [12923, 0, "p"], [12924, 0, "o"], [12925, 0, "s"], [12926, 0, "i"], [12927, 0, "t"], [12928, 0, "i"], [12929, 0, "o"], [12930, 0, "n"], [12931, 0, " "], [12932, 0, "b"], [12933, 0, "e"], [12934, 0, "t"], [12935, 0, "w"], [12936, 0, "e"], [12937, 0, "e"], [12938, 0, "n"], [12939, 0, " "], [12940, 0, "$"], [12941, 0, "\\"], [12942, 0, "m"], [12943, 0, "a"], [12944, 0, "t"], [12945, 0, "h"], [12946, 0, "i"], [12947, 0, "t"], [12948, 0, "{"], [12949, 0, "p"], [12950, 0, "r"], [12951, 0, "e"], [12952, 0, "v"], [12953, 0, "}"], [12954, 0, "$"], [12955, 0, " "], [12956, 0, "a"], [12957, 0, "n"], [12958, 0, "d"], [12959, 0, " "], [12960, 0, "$"], [12961, 0, "\\"], [12962, 0, "m"], [12963, 0, "a"], [12964, 0, "t"], [12965, 0, "h"], [12966, 0, "i"], [12967, 0, "t"], [12968, 0, "{"], [12969, 0, "n"], [12970, 0, "e"], [12971, 0, "x"], [12972, 0, "t"], [12973, 0, "}"], [12974, 0, "$"], [12975, 0, "."], [12767, 1], [12767, 0, "t"], [12476, 1], [12475, 1], [12474, 1], [12474, 0, "w"], [12475, 0, "e"], [12476, 0, "r"], [12477, 0, "e"], [12478, 0, " "], [12479, 0, "a"], [12480, 0, "l"], [12481, 0, "r"], [12482, 0, "e"], [12483, 0, "a"], [12484, 0, "d"], [12485, 0, "y"], [12509, 0, " "], [12510, 0, "i"], [12511, 0, "n"], [12512, 0, " "], [12513, 0, "t"], [12514, 0, "h"], [12515, 0, "e"], [12516, 0, " "], [12517, 0, "h"], [12518, 0, "i"], [12519, 0, "s"], [12520, 0, "t"], [12521, 0, "o"], [12522, 0, "r"], [12523, 0, "y"], [12557, 1], [12556, 1], [12555, 1], [12554, 1], [12553, 1], [12552, 1], [12551, 1], [12550, 1], [12549, 1], [12548, 1], [12547, 1], [12546, 1], [12545, 1], [12544, 1], [12543, 1], [12985, 0, "\n"], [12986, 0, "\n"], [12987, 0, "T"], [12988, 0, "h"], [12989, 0, "u"], [12990, 0, "s"], [12991, 0, ","], [12992, 0, " "], [12993, 0, "w"], [12994, 0, "e"], [12995, 0, " "], [12995, 1], [12994, 1], [12993, 1], [12992, 1], [12991, 1], [12990, 1], [12989, 1], [12989, 0, "h"], [12990, 0, "e"], [12991, 0, "r"], [12991, 1], [12990, 1], [12989, 1], [12989, 0, "e"], [12990, 0, "r"], [12991, 0, "e"], [12992, 0, "f"], [12993, 0, "o"], [12994, 0, "r"], [12995, 0, "e"], [12996, 0, " "], [12996, 1], [12996, 0, ","], [12997, 0, " "], [12998, 0, "w"], [12999, 0, "e"], [13000, 0, " "], [13001, 0, "n"], [13002, 0, "e"], [13003, 0, "e"], [13004, 0, "d"], [13005, 0, " "], [13006, 0, "o"], [13007, 0, "n"], [13008, 0, "l"], [13009, 0, "y"], [13010, 0, " "], [13011, 0, "c"], [13012, 0, "o"], [13013, 0, "n"], [13014, 0, "s"], [13015, 0, "i"], [13016, 0, "d"], [13017, 0, "e"], [13018, 0, "r"], [13019, 0, " "], [13020, 0, "i"], [13021, 0, "n"], [13022, 0, "s"], [13023, 0, "e"], [13024, 0, "r"], [13025, 0, "t"], [13026, 0, "i"], [13027, 0, "o"], [13028, 0, "n"], [13029, 0, "s"], [13030, 0, " "], [13031, 0, "t"], [13032, 0, "h"], [13033, 0, "a"], [13034, 0, "t"], [13035, 0, " "], [13036, 0, "a"], [13037, 0, "r"], [13038, 0, "e"], [13039, 0, " "], [13040, 0, "c"], [13041, 0, "o"], [13042, 0, "n"], [13043, 0, "c"], [13044, 0, "u"], [13045, 0, "r"], [13046, 0, "r"], [13047, 0, "e"], [13048, 0, "n"], [13049, 0, "t"], [13050, 0, " "], [13051, 0, "t"], [13052, 0, "o"], [13053, 0, " "], [13054, 0, "$"], [13055, 0, "o"], [13056, 0, "_"], [13057, 0, "["], [13057, 1], [13057, 0, "{"], [13058, 0, "n"], [13059, 0, "+"], [13060, 0, "1"], [13061, 0, "}"], [13062, 0, "$"], [13063, 0, " "], [13064, 0, "a"], [13065, 0, "n"], [13066, 0, "d"], [13067, 0, " "], [13068, 0, "t"], [13069, 0, "h"], [13070, 0, "a"], [13071, 0, "t"], [13072, 0, " "], [13073, 0, "i"], [13074, 0, "n"], [13075, 0, "s"], [13076, 0, "e"], [13077, 0, "r"], [13078, 0, "t"], [13079, 0, " "], [13080, 0, "a"], [13081, 0, "t"], [13082, 0, " "], [13083, 0, "s"], [13084, 0, "o"], [13085, 0, "m"], [13086, 0, "e"], [13087, 0, " "], [13088, 0, "p"], [13089, 0, "o"], [13090, 0, "s"], [13091, 0, "i"], [13092, 0, "t"], [13093, 0, "i"], [13094, 0, "o"], [13095, 0, "n"], [13096, 0, " "], [13097, 0, "b"], [13098, 0, "e"], [13099, 0, "t"], [13100, 0, "w"], [13101, 0, "e"], [13102, 0, "e"], [13103, 0, "n"], [13104, 0, " "], [13105, 0, "$"], [13106, 0, "\\"], [13107, 0, "m"], [13108, 0, "a"], [13109, 0, "t"], [13110, 0, "h"], [13111, 0, "i"], [13112, 0, "t"], [13113, 0, "{"], [13114, 0, "p"], [13115, 0, "r"], [13116, 0, "e"], [13117, 0, "v"], [13118, 0, "}"], [13119, 0, "$"], [13120, 0, " "], [13121, 0, "a"], [13122, 0, "n"], [13123, 0, "d"], [13124, 0, " "], [13125, 0, "$"], [13126, 0, "\\"], [13127, 0, "m"], [13128, 0, "a"], [13129, 0, "t"], [13130, 0, "h"], [13131, 0, "i"], [13132, 0, "t"], [13133, 0, "{"], [13134, 0, "n"], [13135, 0, "e"], [13136, 0, "x"], [13137, 0, "t"], [13138, 0, "}"], [13139, 0, "$"], [13140, 0, "."], [13141, 0, " "], [13142, 0, "N"], [13143, 0, "o"], [13144, 0, "t"], [13145, 0, "e"], [13146, 0, " "], [13147, 0, "t"], [13148, 0, "h"], [13149, 0, "a"], [13150, 0, "t"], [13151, 0, " "], [13152, 0, "t"], [13153, 0, "h"], [13154, 0, "e"], [13155, 0, " "], [13156, 0, "$"], [13157, 0, "\\"], [13158, 0, "m"], [13159, 0, "a"], [13160, 0, "t"], [13161, 0, "h"], [13162, 0, "r"], [13163, 0, "m"], [13164, 0, "{"], [13165, 0, "a"], [13166, 0, "p"], [13167, 0, "p"], [13168, 0, "l"], [13169, 0, "y"], [13170, 0, "}"], [13171, 0, "$"], [13172, 0, " "], [13173, 0, "r"], [13174, 0, "u"], [13175, 0, "l"], [13176, 0, "e"], [13177, 0, " "], [13178, 0, "h"], [13179, 0, "a"], [13180, 0, "s"], [13180, 1], [13179, 1], [13178, 1], [13178, 0, "e"], [13179, 0, "n"], [13180, 0, "s"], [13181, 0, "u"], [13182, 0, "r"], [13183, 0, "e"], [13184, 0, "s"], [13185, 0, " "], [13186, 0, "t"], [13187, 0, "h"], [13188, 0, "a"], [13189, 0, "t"], [13190, 0, " "], [13191, 0, "a"], [13192, 0, "f"], [13193, 0, "t"], [13194, 0, "e"], [13195, 0, "r"], [13196, 0, " "], [13197, 0, "$"], [13198, 0, "\\"], [13199, 0, "m"], [13200, 0, "a"], [13201, 0, "t"], [13202, 0, "h"], [13203, 0, "i"], [13204, 0, "t"], [13205, 0, "{"], [13206, 0, "i"], [13207, 0, "d"], [13208, 0, "}"], [13209, 0, "$"], [13210, 0, " "], [13211, 0, "i"], [13212, 0, "s"], [13213, 0, " "], [13214, 0, "i"], [13215, 0, "n"], [13216, 0, "s"], [13217, 0, "e"], [13218, 0, "r"], [13219, 0, "t"], [13220, 0, "e"], [13221, 0, "d"], [13222, 0, ","], [13223, 0, " "], [13224, 0, "a"], [13225, 0, "l"], [13226, 0, "l"], [13227, 0, " "], [13228, 0, "l"], [13229, 0, "i"], [13230, 0, "s"], [13231, 0, "t"], [13232, 0, " "], [13233, 0, "e"], [13234, 0, "l"], [13235, 0, "e"], [13236, 0, "m"], [13237, 0, "e"], [13238, 0, "n"], [13239, 0, "t"], [13240, 0, "s"], [13241, 0, " "], [13242, 0, "b"], [13243, 0, "e"], [13244, 0, "t"], [13245, 0, "w"], [13246, 0, "e"], [13247, 0, "e"], [13248, 0, "n"], [13249, 0, " "], [13250, 0, "$"], [13251, 0, "\\"], [13252, 0, "m"], [13253, 0, "a"], [13254, 0, "t"], [13255, 0, "h"], [13256, 0, "i"], [13257, 0, "t"], [13258, 0, "{"], [13259, 0, "p"], [13260, 0, "r"], [13261, 0, "e"], [13262, 0, "v"], [13263, 0, "}"], [13264, 0, "$"], [13265, 0, " "], [13266, 0, "a"], [13267, 0, "n"], [13268, 0, "d"], [13269, 0, " "], [13270, 0, "$"], [13271, 0, "\\"], [13272, 0, "m"], [13273, 0, "a"], [13274, 0, "t"], [13275, 0, "h"], [13276, 0, "i"], [13277, 0, "t"], [13278, 0, "{"], [13279, 0, "i"], [13280, 0, "d"], [13281, 0, "}"], [13282, 0, "$"], [13283, 0, " "], [13284, 0, "a"], [13285, 0, "r"], [13286, 0, "e"], [13287, 0, " "], [13287, 1], [13286, 1], [13285, 1], [13284, 1], [13284, 0, "h"], [13285, 0, "a"], [13286, 0, "v"], [13287, 0, "e"], [13288, 0, " "], [13289, 0, "a"], [13290, 0, "n"], [13291, 0, " "], [13292, 0, "I"], [13293, 0, "D"], [13294, 0, " "], [13295, 0, "g"], [13296, 0, "r"], [13297, 0, "e"], [13298, 0, "a"], [13299, 0, "t"], [13300, 0, "e"], [13301, 0, "r"], [13302, 0, " "], [13303, 0, "t"], [13304, 0, "h"], [13305, 0, "a"], [13306, 0, "n"], [13307, 0, " "], [13308, 0, "$"], [13309, 0, "\\"], [13310, 0, "m"], [13311, 0, "a"], [13312, 0, "t"], [13313, 0, "h"], [13314, 0, "i"], [13315, 0, "t"], [13316, 0, "{"], [13317, 0, "i"], [13318, 0, "d"], [13319, 0, "}"], [13320, 0, "$"], [13321, 0, ","], [13322, 0, " "], [13323, 0, "a"], [13324, 0, "n"], [13325, 0, "d"], [13326, 0, " "], [13282, 1], [13281, 1], [13280, 1], [13279, 1], [13278, 1], [13277, 1], [13276, 1], [13275, 1], [13274, 1], [13273, 1], [13272, 1], [13271, 1], [13270, 1], [13270, 0, "t"], [13271, 0, "h"], [13272, 0, "e"], [13273, 0, " "], [13274, 0, "i"], [13275, 0, "n"], [13276, 0, "s"], [13277, 0, "e"], [13278, 0, "r"], [13279, 0, "t"], [13280, 0, "i"], [13281, 0, "o"], [13282, 0, "n"], [13283, 0, " "], [13284, 0, "p"], [13285, 0, "o"], [13286, 0, "i"], [13287, 0, "n"], [13288, 0, "t"], [13333, 0, "t"], [13334, 0, "h"], [13335, 0, "e"], [13336, 0, " "], [13337, 0, "l"], [13338, 0, "i"], [13339, 0, "s"], [13340, 0, "t"], [13341, 0, " "], [13342, 0, "e"], [13343, 0, "l"], [13344, 0, "e"], [13345, 0, "m"], [13346, 0, "e"], [13347, 0, "n"], [13348, 0, "t"], [13349, 0, " "], [13350, 0, "f"], [13351, 0, "o"], [13352, 0, "l"], [13353, 0, "l"], [13354, 0, "o"], [13355, 0, "w"], [13356, 0, "i"], [13357, 0, "n"], [13358, 0, "g"], [13359, 0, " "], [13360, 0, "t"], [13361, 0, "h"], [13362, 0, "e"], [13363, 0, " "], [13364, 0, "i"], [13365, 0, "n"], [13366, 0, "s"], [13367, 0, "e"], [13368, 0, "r"], [13369, 0, "t"], [13370, 0, "i"], [13371, 0, "o"], [13372, 0, "n"], [13373, 0, " "], [13374, 0, "p"], [13375, 0, "o"], [13376, 0, "i"], [13377, 0, "n"], [13378, 0, "t"], [13379, 0, " "], [13380, 0, "h"], [13381, 0, "a"], [13382, 0, "s"], [13383, 0, " "], [13384, 0, "a"], [13385, 0, "n"], [13386, 0, " "], [13387, 0, "I"], [13388, 0, "D"], [13389, 0, " "], [13390, 0, "l"], [13391, 0, "e"], [13392, 0, "s"], [13393, 0, "s"], [13394, 0, " "], [13395, 0, "t"], [13396, 0, "h"], [13397, 0, "a"], [13398, 0, "n"], [13399, 0, " "], [13400, 0, "$"], [13401, 0, "\\"], [13402, 0, "m"], [13403, 0, "a"], [13404, 0, "t"], [13405, 0, "h"], [13406, 0, "i"], [13407, 0, "t"], [13408, 0, "{"], [13409, 0, "i"], [13410, 0, "d"], [13411, 0, "}"], [13412, 0, "$"], [13413, 0, "."], [13414, 0, " "], [13415, 0, "W"], [13416, 0, "e"], [13417, 0, " "], [13418, 0, "u"], [13419, 0, "s"], [13420, 0, "e"], [13421, 0, " "], [13422, 0, "t"], [13423, 0, "h"], [13424, 0, "i"], [13425, 0, "s"], [13426, 0, " "], [13427, 0, "p"], [13428, 0, "o"], [13428, 1], [13428, 0, "r"], [13429, 0, "o"], [13430, 0, "p"], [13431, 0, "e"], [13432, 0, "r"], [13433, 0, "t"], [13434, 0, "y"], [13435, 0, " "], [13436, 0, "t"], [13437, 0, "o"], [13438, 0, " "], [13439, 0, "s"], [13440, 0, "h"], [13441, 0, "o"], [13442, 0, "w"], [13443, 0, " "], [13444, 0, "t"], [13445, 0, "h"], [13446, 0, "a"], [13447, 0, "t"], [13448, 0, " "], [13449, 0, "n"], [13450, 0, "o"], [13451, 0, " "], [13452, 0, "m"], [13453, 0, "a"], [13454, 0, "t"], [13455, 0, "t"], [13456, 0, "e"], [13457, 0, "r"], [13458, 0, " "], [13459, 0, "w"], [13460, 0, "h"], [13461, 0, "e"], [13462, 0, "r"], [13463, 0, "e"], [13464, 0, " "], [13465, 0, "$"], [13466, 0, "o"], [13467, 0, "{"], [13467, 1], [13467, 0, "_"], [13468, 0, "{"], [13469, 0, "n"], [13470, 0, "+"], [13471, 0, "1"], [13472, 0, "}"], [13473, 0, "$"], [13474, 0, " "], [13475, 0, "i"], [13476, 0, "s"], [13477, 0, " "], [13478, 0, "i"], [13479, 0, "n"], [13480, 0, "s"], [13481, 0, "e"], [13482, 0, "r"], [13483, 0, "t"], [13484, 0, "e"], [13485, 0, "d"], [13486, 0, " "], [13487, 0, "i"], [13488, 0, "n"], [13489, 0, " "], [13490, 0, "$"], [13491, 0, "H"], [13492, 0, "-"], [13492, 1], [13492, 0, "_"], [13493, 0, "1"], [13494, 0, "$"], [13495, 0, " "], [13496, 0, "a"], [13497, 0, "n"], [13498, 0, "d"], [13499, 0, " "], [13500, 0, "$"], [13501, 0, "H"], [13502, 0, "_"], [13503, 0, "2"], [13504, 0, "$"], [13505, 0, ","], [13506, 0, " "], [13507, 0, "t"], [13508, 0, "h"], [13509, 0, "e"], [13510, 0, " "], [13511, 0, "o"], [13512, 0, "u"], [13513, 0, "t"], [13514, 0, "c"], [13515, 0, "o"], [13516, 0, "m"], [13517, 0, "e"], [13518, 0, " "], [13519, 0, "i"], [13520, 0, "s"], [13521, 0, " "], [13522, 0, "t"], [13523, 0, "h"], [13524, 0, "e"], [13525, 0, " "], [13526, 0, "s"], [13527, 0, "a"], [13528, 0, "m"], [13529, 0, "e"], [13530, 0, " "], [13531, 0, "s"], [13532, 0, "e"], [13533, 0, "q"], [13534, 0, "u"], [13535, 0, "e"], [13536, 0, "n"], [13537, 0, "c"], [13538, 0, "e"], [13539, 0, " "], [13540, 0, "o"], [13541, 0, "f"], [13542, 0, " "], [13543, 0, "l"], [13544, 0, "i"], [13545, 0, "s"], [13546, 0, "t"], [13547, 0, " "], [13548, 0, "e"], [13549, 0, "l"], [13550, 0, "e"], [13551, 0, "m"], [13552, 0, "e"], [13553, 0, "n"], [13554, 0, "t"], [13555, 0, "s"], [13556, 0, "."], [13557, 0, "\n"], [13558, 0, "\n"], [13559, 0, "L"], [13560, 0, "e"], [13561, 0, "t"], [13562, 0, " "], [13563, 0, "$"], [13564, 0, "H"], [13565, 0, "_"], [13566, 0, "c"], [13567, 0, "$"], [13568, 0, " "], [13569, 0, "b"], [13570, 0, "e"], [13571, 0, " "], [13572, 0, "a"], [13573, 0, " "], [13574, 0, "h"], [13575, 0, "i"], [13576, 0, "s"], [13577, 0, "t"], [13578, 0, "o"], [13579, 0, "r"], [13580, 0, "y"], [13581, 0, " "], [13582, 0, "o"], [13583, 0, "f"], [13584, 0, " "], [13585, 0, "o"], [13586, 0, "p"], [13587, 0, "e"], [13588, 0, "r"], [13589, 0, "a"], [13590, 0, "t"], [13591, 0, "i"], [13592, 0, "o"], [13593, 0, "n"], [13594, 0, "s"], [13595, 0, " "], [13595, 1], [13595, 0, ","], [13596, 0, " "], [13597, 0, "d"], [13598, 0, "e"], [13599, 0, "r"], [13600, 0, "i"], [13601, 0, "v"], [13602, 0, "e"], [13603, 0, "d"], [13604, 0, " "], [13605, 0, "b"], [13605, 1], [13605, 0, "f"], [13606, 0, "r"], [13607, 0, "o"], [13608, 0, "m"], [13609, 0, " "], [13610, 0, "e"], [13611, 0, "i"], [13612, 0, "t"], [13613, 0, "h"], [13614, 0, "e"], [13615, 0, "r"], [13616, 0, " "], [13617, 0, "$"], [13618, 0, "H"], [13619, 0, "_"], [13620, 0, "1"], [13621, 0, "$"], [13622, 0, " "], [13623, 0, "o"], [13624, 0, "r"], [13625, 0, " "], [13626, 0, "$"], [13627, 0, "H"], [13628, 0, "_"], [13629, 0, "2"], [13630, 0, "$"], [13631, 0, " "], [13632, 0, "b"], [13633, 0, "y"], [13634, 0, " "], [13635, 0, "c"], [13636, 0, "o"], [13637, 0, "n"], [13638, 0, "d"], [13639, 0, "i"], [13640, 0, "d"], [13641, 0, "e"], [13642, 0, "r"], [13643, 0, "i"], [13644, 0, "n"], [13645, 0, "g"], [13646, 0, " "], [13647, 0, "o"], [13648, 0, "n"], [13649, 0, "l"], [13650, 0, "y"], [13651, 0, " "], [13652, 0, "i"], [13653, 0, "n"], [13654, 0, "s"], [13655, 0, "e"], [13656, 0, "r"], [13657, 0, "t"], [13658, 0, " "], [13659, 0, "o"], [13660, 0, "p"], [13652, 0, "$"], [13653, 0, "\\"], [13654, 0, "m"], [13655, 0, "a"], [13656, 0, "t"], [13657, 0, "h"], [13658, 0, "s"], [13659, 0, "f"], [13660, 0, "{"], [13667, 0, "}"], [13668, 0, "$"], [13672, 0, "e"], [13673, 0, "r"], [13674, 0, "a"], [13675, 0, "t"], [13676, 0, "i"], [13677, 0, "o"], [13678, 0, "n"], [13679, 0, "s"], [13680, 0, " "], [13681, 0, "t"], [13682, 0, "h"], [13683, 0, "a"], [13684, 0, "t"], [13685, 0, " "], [13686, 0, "a"], [13687, 0, "r"], [13688, 0, "e"], [13689, 0, " "], [13690, 0, "c"], [13691, 0, "o"], [13692, 0, "n"], [13693, 0, "c"], [13694, 0, "u"], [13695, 0, "r"], [13696, 0, "r"], [13697, 0, "e"], [13698, 0, "n"], [13699, 0, "t"], [13700, 0, " "], [13701, 0, "w"], [13702, 0, "i"], [13703, 0, "t"], [13704, 0, "h"], [13705, 0, " "], [13706, 0, "$"], [13707, 0, "o"], [13708, 0, "_"], [13709, 0, "{"], [13710, 0, "n"], [13711, 0, "+"], [13712, 0, "1"], [13713, 0, "}"], [13714, 0, "$"], [13645, 1], [13644, 1], [13643, 1], [13642, 1], [13641, 1], [13640, 1], [13639, 1], [13638, 1], [13637, 1], [13636, 1], [13635, 1], [13635, 0, "s"], [13636, 0, "e"], [13637, 0, "l"], [13638, 0, "e"], [13639, 0, "c"], [13640, 0, "t"], [13641, 0, "i"], [13642, 0, "n"], [13643, 0, "g"], [13713, 0, " "], [13714, 0, "a"], [13715, 0, "n"], [13716, 0, "d"], [13717, 0, " "], [13718, 0, "t"], [13719, 0, "h"], [13720, 0, "a"], [13721, 0, "t"], [13722, 0, " "], [13723, 0, "i"], [13724, 0, "n"], [13725, 0, "s"], [13726, 0, "e"], [13727, 0, "r"], [13728, 0, "t"], [13729, 0, " "], [13730, 0, "a"], [13731, 0, "t"], [13732, 0, " "], [13733, 0, "a"], [13734, 0, " "], [13735, 0, "p"], [13736, 0, "o"], [13737, 0, "s"], [13738, 0, "i"], [13739, 0, "t"], [13740, 0, "i"], [13741, 0, "o"], [13742, 0, "n"], [13743, 0, " "], [13744, 0, "b"], [13745, 0, "e"], [13746, 0, "t"], [13747, 0, "w"], [13748, 0, "e"], [13749, 0, "e"], [13750, 0, "n"], [13751, 0, " "], [13752, 0, "$"], [13753, 0, "\\"], [13754, 0, "m"], [13755, 0, "a"], [13756, 0, "t"], [13757, 0, "h"], [13758, 0, "i"], [13759, 0, "t"], [13760, 0, "{"], [13761, 0, "p"], [13762, 0, "r"], [13763, 0, "e"], [13764, 0, "v"], [13765, 0, "}"], [13766, 0, "$"], [13767, 0, " "], [13768, 0, "a"], [13769, 0, "n"], [13770, 0, "d"], [13771, 0, " "], [13772, 0, "$"], [13773, 0, "\\"], [13774, 0, "m"], [13775, 0, "a"], [13776, 0, "t"], [13777, 0, "h"], [13778, 0, "i"], [13779, 0, "t"], [13780, 0, "{"], [13781, 0, "n"], [13782, 0, "e"], [13783, 0, "x"], [13784, 0, "t"], [13785, 0, "}"], [13786, 0, "$"], [13787, 0, "."], [13788, 0, " "], [13789, 0, "A"], [13790, 0, "m"], [13791, 0, "o"], [13792, 0, "n"], [13793, 0, "g"], [13794, 0, " "], [13795, 0, "t"], [13796, 0, "h"], [13797, 0, "e"], [13798, 0, " "], [13799, 0, "o"], [13800, 0, "p"], [13801, 0, "e"], [13802, 0, "r"], [13803, 0, "a"], [13804, 0, "t"], [13805, 0, "i"], [13806, 0, "o"], [13807, 0, "n"], [13808, 0, "s"], [13809, 0, " "], [13810, 0, "i"], [13811, 0, "n"], [13812, 0, " "], [13813, 0, "$"], [13814, 0, "H"], [13815, 0, "_"], [13816, 0, "c"], [13817, 0, "$"], [13818, 0, " "], [13819, 0, "t"], [13820, 0, "h"], [13821, 0, "e"], [13822, 0, "r"], [13823, 0, "e"], [13824, 0, " "], [13825, 0, "i"], [13826, 0, "s"], [13827, 0, " "], [13828, 0, "a"], [13829, 0, " "], [13830, 0, "s"], [13831, 0, "u"], [13832, 0, "b"], [13833, 0, "s"], [13834, 0, "e"], [13835, 0, "t"], [13836, 0, " "], [13837, 0, "o"], [13838, 0, "f"], [13839, 0, " "], [13840, 0, "o"], [13841, 0, "p"], [13842, 0, "e"], [13843, 0, "r"], [13844, 0, "a"], [13845, 0, "t"], [13846, 0, "i"], [13847, 0, "o"], [13848, 0, "n"], [13849, 0, "s"], [13850, 0, " "], [13851, 0, "$"], [13852, 0, "H"], [13853, 0, "_"], [13854, 0, "s"], [13855, 0, "$"], [13856, 0, " "], [13857, 0, "t"], [13858, 0, "h"], [13859, 0, "a"], [13860, 0, "t"], [13861, 0, " "], [13862, 0, "a"], [13863, 0, "r"], [13864, 0, "e"], [13865, 0, " "], [13866, 0, "`"], [13867, 0, "`"], [13868, 0, "s"], [13869, 0, "t"], [13870, 0, "a"], [13871, 0, "r"], [13872, 0, "t"], [13873, 0, "i"], [13874, 0, "n"], [13875, 0, "g"], [13876, 0, " "], [13877, 0, "o"], [13878, 0, "p"], [13879, 0, "e"], [13880, 0, "r"], [13881, 0, "a"], [13882, 0, "t"], [13883, 0, "i"], [13884, 0, "o"], [13885, 0, "n"], [13886, 0, "s"], [13887, 0, "'"], [13888, 0, "'"], [13889, 0, ":"], [13890, 0, " "], [13891, 0, "t"], [13892, 0, "h"], [13893, 0, "e"], [13894, 0, "y"], [13895, 0, " "], [13896, 0, "d"], [13897, 0, "o"], [13898, 0, " "], [13899, 0, "n"], [13900, 0, "o"], [13901, 0, "t"], [13902, 0, " "], [13903, 0, "c"], [13904, 0, "u"], [13904, 1], [13904, 0, "a"], [13905, 0, "u"], [13906, 0, "s"], [13907, 0, "a"], [13908, 0, "l"], [13909, 0, "l"], [13910, 0, "y"], [13911, 0, " "], [13912, 0, "d"], [13913, 0, "e"], [13914, 0, "p"], [13915, 0, "e"], [13916, 0, "n"], [13917, 0, "d"], [13918, 0, " "], [13919, 0, "o"], [13920, 0, "n"], [13921, 0, " "], [13922, 0, "a"], [13923, 0, "n"], [13924, 0, "y"], [13925, 0, " "], [13926, 0, "o"], [13927, 0, "t"], [13928, 0, "h"], [13929, 0, "e"], [13930, 0, "r"], [13931, 0, " "], [13932, 0, "o"], [13933, 0, "p"], [13934, 0, "e"], [13935, 0, "r"], [13936, 0, "a"], [13937, 0, "t"], [13938, 0, "i"], [13939, 0, "o"], [13940, 0, "n"], [13941, 0, " "], [13942, 0, "i"], [13943, 0, "n"], [13944, 0, " "], [13945, 0, "$"], [13946, 0, "H"], [13947, 0, "_"], [13948, 0, "c"], [13949, 0, "$"], [13950, 0, "."], [13789, 0, "L"], [13790, 0, "e"], [13791, 0, "t"], [13792, 0, " "], [13793, 0, "$"], [13794, 0, "H"], [13795, 0, "-"], [13795, 1], [13795, 0, "_"], [13796, 0, "s"], [13797, 0, "$"], [13798, 0, " "], [13799, 0, "b"], [13800, 0, "e"], [13801, 0, " "], [13802, 0, "t"], [13803, 0, "h"], [13804, 0, "e"], [13805, 0, " "], [13814, 1], [13813, 1], [13812, 1], [13811, 1], [13810, 1], [13809, 1], [13808, 1], [13807, 1], [13806, 1], [13806, 0, "s"], [13807, 0, "u"], [13808, 0, "b"], [13809, 0, "s"], [13810, 0, "e"], [13811, 0, "t"], [13812, 0, " "], [13813, 0, "o"], [13814, 0, "f"], [13872, 1], [13871, 1], [13870, 1], [13869, 1], [13868, 1], [13867, 1], [13866, 1], [13865, 1], [13864, 1], [13863, 1], [13862, 1], [13861, 1], [13860, 1], [13859, 1], [13858, 1], [13857, 1], [13856, 1], [13855, 1], [13854, 1], [13853, 1], [13852, 1], [13851, 1], [13850, 1], [13849, 1], [13848, 1], [13847, 1], [13846, 1], [13845, 1], [13844, 1], [13843, 1], [13842, 1], [13841, 1], [13840, 1], [13839, 1], [13838, 1], [13837, 1], [13836, 1], [13835, 1], [13930, 0, " "], [13931, 0, "A"], [13932, 0, "f"], [13933, 0, "t"], [13934, 0, "e"], [13935, 0, "r"], [13936, 0, " "], [13937, 0, "a"], [13938, 0, "p"], [13939, 0, "p"], [13940, 0, "l"], [13941, 0, "y"], [13942, 0, "i"], [13943, 0, "n"], [13944, 0, "g"], [13945, 0, " "], [13946, 0, "$"], [13947, 0, "#"], [13947, 1], [13947, 0, "o"], [13948, 0, "_"], [13949, 0, "{"], [13950, 0, "n"], [13950, 1], [13949, 1], [13948, 1], [13947, 1], [13946, 1], [13945, 1], [13944, 1], [13943, 1], [13942, 1], [13941, 1], [13940, 1], [13939, 1], [13938, 1], [13937, 1], [13936, 1], [13935, 1], [13934, 1], [13933, 1], [13932, 1], [13931, 1], [13931, 0, "N"], [13932, 0, "o"], [13933, 0, "t"], [13934, 0, "e"], [13935, 0, " "], [13936, 0, "t"], [13937, 0, "h"], [13938, 0, "a"], [13939, 0, "t"], [13940, 0, " "], [13941, 0, "$"], [13942, 0, "o"], [13943, 0, "_"], [13944, 0, "{"], [13945, 0, "n"], [13946, 0, "+"], [13947, 0, "1"], [13948, 0, "}"], [13949, 0, "$"], [13950, 0, " "], [13951, 0, "i"], [13952, 0, "s"], [13953, 0, " "], [13954, 0, "a"], [13955, 0, "l"], [13956, 0, "s"], [13957, 0, "o"], [13958, 0, " "], [13959, 0, "a"], [13960, 0, " "], [13961, 0, "s"], [13962, 0, "t"], [13963, 0, "a"], [13964, 0, "r"], [13965, 0, "t"], [13966, 0, "i"], [13967, 0, "n"], [13968, 0, "g"], [13969, 0, " "], [13970, 0, "o"], [13971, 0, "p"], [13972, 0, "e"], [13973, 0, "r"], [13974, 0, "a"], [13975, 0, "t"], [13976, 0, "i"], [13977, 0, "o"], [13978, 0, "n"], [13979, 0, "."], [13979, 0, ","], [13980, 0, " "], [13981, 0, "s"], [13982, 0, "i"], [13983, 0, "n"], [13984, 0, "c"], [13985, 0, "e"], [13986, 0, " "], [13987, 0, "i"], [13988, 0, "t"], [13989, 0, " "], [13990, 0, "d"], [13991, 0, "o"], [13992, 0, "e"], [13993, 0, "s"], [13994, 0, " "], [13995, 0, "n"], [13996, 0, "o"], [13997, 0, "t"], [13998, 0, " "], [13999, 0, "h"], [14000, 0, "a"], [14001, 0, "v"], [14002, 0, "e"], [14003, 0, " "], [14004, 0, "a"], [14005, 0, "n"], [14006, 0, "y"], [14007, 0, " "], [14008, 0, "c"], [14009, 0, "a"], [14010, 0, "u"], [14011, 0, "s"], [14012, 0, "a"], [14013, 0, "l"], [14014, 0, " "], [14015, 0, "d"], [14016, 0, "e"], [14017, 0, "p"], [14018, 0, "e"], [14019, 0, "n"], [14020, 0, "d"], [14021, 0, "e"], [14022, 0, "n"], [14023, 0, "c"], [14024, 0, "i"], [14025, 0, "e"], [14026, 0, "s"], [14027, 0, " "], [14028, 0, "i"], [14029, 0, "n"], [14030, 0, " "], [14031, 0, "$"], [14032, 0, "H"], [14033, 0, "_"], [14034, 0, "c"], [14035, 0, "$"], [14037, 0, "\n"], [14038, 0, "\n"], [14039, 0, "L"], [14040, 0, "e"], [14041, 0, "t"], [14042, 0, " "], [14043, 0, "$"], [14044, 0, "O"], [14044, 1], [14044, 0, "o"], [14045, 0, "_"], [14046, 0, "i"], [14047, 0, "$"], [14048, 0, " "], [14049, 0, "b"], [14050, 0, "e"], [14051, 0, " "], [14052, 0, "a"], [14053, 0, " "], [14054, 0, "s"], [14055, 0, "t"], [14056, 0, "a"], [14057, 0, "r"], [14058, 0, "t"], [14059, 0, "i"], [14060, 0, "n"], [14061, 0, "g"], [14062, 0, " "], [14047, 0, " "], [14048, 0, "\\"], [14049, 0, "i"], [14050, 0, "n"], [14051, 0, " "], [14052, 0, "H"], [14053, 0, "_"], [14054, 0, "s"], [14071, 0, "o"], [14072, 0, "p"], [14073, 0, "e"], [14074, 0, "r"], [14075, 0, "a"], [14076, 0, "t"], [14077, 0, "i"], [14078, 0, "o"], [14079, 0, "n"], [14080, 0, "."], [14081, 0, " "], [14082, 0, "N"], [14083, 0, "o"], [14084, 0, "t"], [14085, 0, "e"], [14086, 0, " "], [14087, 0, "t"], [14088, 0, "h"], [14089, 0, "a"], [14090, 0, "t"], [14091, 0, " "], [14092, 0, "b"], [14093, 0, "y"], [14094, 0, " "], [14095, 0, "t"], [14096, 0, "h"], [14097, 0, "e"], [14098, 0, " "], [14099, 0, "d"], [14100, 0, "e"], [14101, 0, "f"], [14102, 0, "i"], [14103, 0, "n"], [14104, 0, "i"], [14105, 0, "t"], [14106, 0, "i"], [14107, 0, "o"], [14108, 0, "n"], [14109, 0, " "], [14110, 0, "o"], [14111, 0, "f"], [14112, 0, " "], [14113, 0, "L"], [14114, 0, "a"], [14115, 0, "m"], [14116, 0, "p"], [14117, 0, "o"], [14118, 0, "r"], [14119, 0, "t"], [14120, 0, " "], [14121, 0, "t"], [14122, 0, "i"], [14123, 0, "m"], [14124, 0, "e"], [14125, 0, "s"], [14126, 0, "t"], [14127, 0, "a"], [14128, 0, "m"], [14129, 0, "p"], [14130, 0, "s"], [14131, 0, ","], [14132, 0, " "], [14133, 0, "a"], [14134, 0, "n"], [14135, 0, "y"], [14136, 0, " "], [14137, 0, "o"], [14138, 0, "p"], [14139, 0, "e"], [14140, 0, "r"], [14141, 0, "a"], [14142, 0, "t"], [14143, 0, "i"], [14144, 0, "o"], [14145, 0, "n"], [14146, 0, " "], [14147, 0, "t"], [14148, 0, "h"], [14149, 0, "a"], [14150, 0, "t"], [14151, 0, " "], [14152, 0, "c"], [14153, 0, "a"], [14154, 0, "u"], [14155, 0, "s"], [14156, 0, "a"], [14157, 0, "l"], [14158, 0, "l"], [14159, 0, "y"], [14160, 0, " "], [14161, 0, "d"], [14162, 0, "e"], [14163, 0, "p"], [14164, 0, "e"], [14165, 0, "n"], [14166, 0, "d"], [14167, 0, "s"], [14168, 0, " "], [14169, 0, "o"], [14170, 0, "n"], [14171, 0, " "], [14172, 0, "$"], [14173, 0, "o"], [14174, 0, "_"], [14175, 0, "i"], [14176, 0, "$"], [14177, 0, " "], [14178, 0, "m"], [14179, 0, "u"], [14180, 0, "s"], [14181, 0, "t"], [14182, 0, " "], [14183, 0, "h"], [14184, 0, "a"], [14185, 0, "v"], [14186, 0, "e"], [14187, 0, " "], [14188, 0, "a"], [14189, 0, " "], [14190, 0, "g"], [14191, 0, "r"], [14192, 0, "e"], [14193, 0, "a"], [14194, 0, "t"], [14195, 0, "e"], [14196, 0, "r"], [14197, 0, " "], [14198, 0, "t"], [14199, 0, "i"], [14200, 0, "m"], [14201, 0, "e"], [14202, 0, "s"], [14203, 0, "t"], [14204, 0, "a"], [14205, 0, "m"], [14206, 0, "p"], [14207, 0, " "], [14208, 0, "t"], [14209, 0, "h"], [14210, 0, "a"], [14211, 0, "n"], [14212, 0, " "], [14213, 0, "$"], [14214, 0, "o"], [14215, 0, "_"], [14216, 0, "i"], [14217, 0, "$"], [14218, 0, "."], [14219, 0, " "], [14220, 0, "T"], [14221, 0, "h"], [14222, 0, "u"], [14223, 0, "s"], [14224, 0, ","], [14225, 0, " "], [14226, 0, "$"], [14226, 1], [14226, 0, "i"], [14227, 0, "f"], [14228, 0, " "], [14229, 0, "t"], [14230, 0, "h"], [14231, 0, "e"], [14232, 0, " "], [14233, 0, "$"], [14234, 0, "\\"], [14235, 0, "m"], [14236, 0, "a"], [14237, 0, "t"], [14238, 0, "h"], [14239, 0, "r"], [14240, 0, "m"], [14241, 0, "{"], [14242, 0, "a"], [14243, 0, "p"], [14244, 0, "p"], [14245, 0, "l"], [14246, 0, "y"], [14247, 0, "}"], [14248, 0, "$"], [14249, 0, " "], [14250, 0, "r"], [14251, 0, "u"], [14252, 0, "l"], [14253, 0, "e"], [14254, 0, " "], [14255, 0, "i"], [14256, 0, "n"], [14257, 0, "s"], [14258, 0, "e"], [14259, 0, "r"], [14260, 0, "t"], [14261, 0, "s"], [14262, 0, " "], [14263, 0, "$"], [14264, 0, "o"], [14265, 0, "_"], [14266, 0, "{"], [14267, 0, "n"], [14268, 0, "+"], [14269, 0, "1"], [14270, 0, "}"], [14271, 0, "$"], [14272, 0, " "], [14273, 0, "a"], [14274, 0, "f"], [14275, 0, "t"], [14276, 0, "e"], [14277, 0, "r"], [14278, 0, " "], [14279, 0, "$"], [14280, 0, "o"], [14281, 0, "_"], [14282, 0, "i"], [14283, 0, "$"], [14284, 0, ","], [14285, 0, " "], [14286, 0, "t"], [14287, 0, "h"], [14288, 0, "e"], [14289, 0, "n"], [14290, 0, " "], [14291, 0, "$"], [14292, 0, "o"], [14292, 1], [14291, 1], [14291, 0, "a"], [14292, 0, "l"], [14293, 0, "l"], [14294, 0, " "], [14295, 0, "o"], [14296, 0, "p"], [14297, 0, "e"], [14298, 0, "r"], [14299, 0, "a"], [14300, 0, "t"], [14301, 0, "i"], [14302, 0, "o"], [14303, 0, "n"], [14304, 0, "s"], [14305, 0, " "], [14306, 0, "t"], [14307, 0, "h"], [14308, 0, "a"], [14309, 0, "t"], [14310, 0, " "], [14311, 0, "c"], [14312, 0, "a"], [14313, 0, "u"], [14314, 0, "s"], [14315, 0, "a"], [14316, 0, "l"], [14317, 0, "l"], [14318, 0, "y"], [14319, 0, " "], [14320, 0, "d"], [14321, 0, "e"], [14322, 0, "p"], [14323, 0, "e"], [14324, 0, "n"], [14325, 0, "d"], [14326, 0, " "], [14327, 0, "o"], [14328, 0, "n"], [14329, 0, " "], [14330, 0, "$"], [14331, 0, "o"], [14332, 0, "_"], [14333, 0, "i"], [14334, 0, "$"], [14335, 0, " "], [14336, 0, "n"], [14337, 0, "e"], [14338, 0, "c"], [14339, 0, "e"], [14340, 0, "s"], [14341, 0, "s"], [14342, 0, "a"], [14343, 0, "r"], [14344, 0, "i"], [14345, 0, "l"], [14346, 0, "y"], [14347, 0, " "], [14348, 0, "a"], [14349, 0, "l"], [14350, 0, "s"], [14351, 0, "o"], [14352, 0, " "], [14353, 0, "a"], [14354, 0, "p"], [14355, 0, "p"], [14356, 0, "e"], [14357, 0, "a"], [14358, 0, "r"], [14359, 0, " "], [14360, 0, "b"], [14361, 0, "e"], [14362, 0, "f"], [14363, 0, "o"], [14364, 0, "r"], [14365, 0, "e"], [14366, 0, " "], [14367, 0, "$"], [14368, 0, "o"], [14369, 0, "_"], [14370, 0, "{"], [14371, 0, "n"], [14372, 0, "+"], [14373, 0, "1"], [14374, 0, "}"], [14375, 0, "$"], [14376, 0, " "], [14377, 0, "i"], [14378, 0, "n"], [14379, 0, " "], [14380, 0, "t"], [14381, 0, "h"], [14382, 0, "e"], [14383, 0, " "], [14384, 0, "f"], [14385, 0, "i"], [14386, 0, "n"], [14387, 0, "a"], [14388, 0, "l"], [14389, 0, " "], [14390, 0, "s"], [14391, 0, "t"], [14392, 0, "a"], [14393, 0, "t"], [14394, 0, "e"], [14395, 0, "."], [14396, 0, "\n"], [14397, 0, "\n"], [13142, 0, "\n"], [13143, 0, "\n"], [13142, 0, "L"], [13143, 0, "e"], [13144, 0, "t"], [13145, 0, " "], [13146, 0, "$"], [13147, 0, "H"], [13148, 0, "_"], [13149, 0, "c"], [13150, 0, "$"], [13151, 0, " "], [13152, 0, "b"], [13153, 0, "e"], [13154, 0, " "], [13155, 0, "a"], [13156, 0, " "], [13157, 0, "h"], [13158, 0, "i"], [13159, 0, "s"], [13160, 0, "t"], [13161, 0, "o"], [13162, 0, "r"], [13163, 0, "y"], [13164, 0, " "], [13165, 0, "o"], [13166, 0, "f"], [13167, 0, " "], [13168, 0, "o"], [13169, 0, "p"], [13170, 0, "e"], [13171, 0, "r"], [13172, 0, "a"], [13173, 0, "t"], [13174, 0, "i"], [13175, 0, "o"], [13176, 0, "n"], [13177, 0, "s"], [13178, 0, ","], [13179, 0, " "], [13180, 0, "d"], [13181, 0, "e"], [13182, 0, "r"], [13183, 0, "i"], [13184, 0, "v"], [13185, 0, "e"], [13186, 0, "d"], [13187, 0, " "], [13188, 0, "f"], [13189, 0, "r"], [13190, 0, "o"], [13191, 0, "m"], [13192, 0, " "], [13193, 0, "e"], [13194, 0, "i"], [13195, 0, "t"], [13196, 0, "h"], [13197, 0, "e"], [13198, 0, "r"], [13199, 0, " "], [13200, 0, "$"], [13201, 0, "H"], [13202, 0, "_"], [13203, 0, "1"], [13204, 0, "$"], [13205, 0, " "], [13206, 0, "o"], [13207, 0, "r"], [13208, 0, " "], [13209, 0, "$"], [13210, 0, "H"], [13211, 0, "_"], [13212, 0, "2"], [13213, 0, "$"], [13214, 0, " "], [13215, 0, "b"], [13216, 0, "y"], [13217, 0, " "], [13218, 0, "s"], [13219, 0, "e"], [13220, 0, "l"], [13221, 0, "e"], [13222, 0, "c"], [13223, 0, "t"], [13224, 0, "i"], [13225, 0, "n"], [13226, 0, "g"], [13227, 0, " "], [13228, 0, "o"], [13229, 0, "n"], [13230, 0, "l"], [13231, 0, "y"], [13232, 0, " "], [13233, 0, "$"], [13234, 0, "\\"], [13235, 0, "m"], [13236, 0, "a"], [13237, 0, "t"], [13238, 0, "h"], [13239, 0, "s"], [13240, 0, "f"], [13241, 0, "{"], [13242, 0, "i"], [13243, 0, "n"], [13244, 0, "s"], [13245, 0, "e"], [13246, 0, "r"], [13247, 0, "t"], [13248, 0, "}"], [13249, 0, "$"], [13250, 0, " "], [13251, 0, "o"], [13252, 0, "p"], [13253, 0, "e"], [13254, 0, "r"], [13255, 0, "a"], [13256, 0, "t"], [13257, 0, "i"], [13258, 0, "o"], [13259, 0, "n"], [13260, 0, "s"], [13261, 0, " "], [13262, 0, "t"], [13263, 0, "h"], [13264, 0, "a"], [13265, 0, "t"], [13266, 0, " "], [13267, 0, "a"], [13268, 0, "r"], [13269, 0, "e"], [13270, 0, " "], [13271, 0, "c"], [13272, 0, "o"], [13273, 0, "n"], [13274, 0, "c"], [13275, 0, "u"], [13276, 0, "r"], [13277, 0, "r"], [13278, 0, "e"], [13279, 0, "n"], [13280, 0, "t"], [13281, 0, " "], [13282, 0, "w"], [13283, 0, "i"], [13284, 0, "t"], [13285, 0, "h"], [13286, 0, " "], [13287, 0, "$"], [13288, 0, "{"], [13288, 1], [13288, 0, "o"], [13289, 0, "_"], [13290, 0, "{"], [13291, 0, "n"], [13292, 0, "+"], [13293, 0, "1"], [13294, 0, "}"], [13295, 0, "$"], [13296, 0, " "], [13297, 0, "a"], [13298, 0, "n"], [13299, 0, "d"], [13300, 0, " "], [13301, 0, "t"], [13302, 0, "h"], [13303, 0, "a"], [13304, 0, "t"], [13305, 0, " "], [13306, 0, "i"], [13307, 0, "n"], [13308, 0, "s"], [13309, 0, "e"], [13310, 0, "r"], [13311, 0, "t"], [13312, 0, " "], [13313, 0, "a"], [13314, 0, " "], [13314, 1], [13314, 0, "t"], [13315, 0, " "], [13316, 0, "a"], [13317, 0, " "], [13318, 0, "p"], [13319, 0, "o"], [13320, 0, "s"], [13321, 0, "i"], [13322, 0, "t"], [13323, 0, "i"], [13324, 0, "o"], [13325, 0, "n"], [13326, 0, " "], [13327, 0, "w"], [13328, 0, "i"], [13329, 0, "t"], [13330, 0, "h"], [13331, 0, "i"], [13332, 0, "n"], [13333, 0, " "], [13334, 0, "t"], [13335, 0, "h"], [13336, 0, "e"], [13337, 0, " "], [13338, 0, "i"], [13339, 0, "n"], [13340, 0, "t"], [13341, 0, "e"], [13342, 0, "r"], [13343, 0, "v"], [13344, 0, "a"], [13345, 0, "l"], [13346, 0, " "], [13347, 0, "f"], [13348, 0, "r"], [13349, 0, "o"], [13350, 0, "m"], [13351, 0, " "], [13352, 0, "$"], [13353, 0, "\\"], [13354, 0, "m"], [13355, 0, "a"], [13356, 0, "t"], [13357, 0, "h"], [13358, 0, "i"], [13359, 0, "t"], [13360, 0, "{"], [13361, 0, "p"], [13362, 0, "r"], [13363, 0, "e"], [13364, 0, "v"], [13365, 0, "}"], [13366, 0, "$"], [13367, 0, " "], [13368, 0, "t"], [13369, 0, "o"], [13370, 0, " "], [13371, 0, "$"], [13372, 0, "\\"], [13373, 0, "m"], [13374, 0, "a"], [13375, 0, "t"], [13376, 0, "h"], [13377, 0, "i"], [13378, 0, "t"], [13379, 0, "{"], [13380, 0, "n"], [13381, 0, "e"], [13382, 0, "x"], [13383, 0, "t"], [13384, 0, "}"], [13385, 0, "$"], [13386, 0, "."], [13387, 0, " "], [13388, 0, "T"], [13389, 0, "h"], [13390, 0, "e"], [13391, 0, " "], [13392, 0, "o"], [13393, 0, "p"], [13394, 0, "e"], [13395, 0, "r"], [13396, 0, "a"], [13397, 0, "t"], [13398, 0, "i"], [13399, 0, "o"], [13400, 0, "n"], [13401, 0, "s"], [13402, 0, " "], [13403, 0, "i"], [13404, 0, "n"], [13405, 0, " "], [13406, 0, "$"], [13407, 0, "H"], [13408, 0, "_"], [13409, 0, "c"], [13410, 0, "$"], [13411, 0, " "], [13412, 0, "d"], [13413, 0, "e"], [13414, 0, "t"], [13415, 0, "e"], [13416, 0, "r"], [13417, 0, "m"], [13418, 0, "i"], [13419, 0, "n"], [13420, 0, "e"], [13421, 0, " "], [13422, 0, "t"], [13423, 0, "h"], [13424, 0, "e"], [13425, 0, " "], [13426, 0, "f"], [13427, 0, "i"], [13428, 0, "n"], [13429, 0, "a"], [13430, 0, "l"], [13431, 0, " "], [13432, 0, "o"], [13433, 0, "r"], [13434, 0, "d"], [13435, 0, "e"], [13436, 0, "r"], [13437, 0, " "], [13438, 0, "o"], [13439, 0, "f"], [13440, 0, " "], [13441, 0, "l"], [13442, 0, "i"], [13443, 0, "s"], [13444, 0, "t"], [13445, 0, " "], [13446, 0, "e"], [13447, 0, "l"], [13448, 0, "e"], [13449, 0, "m"], [13450, 0, "t"], [13451, 0, "n"], [13452, 0, "s"], [13453, 0, " "], [13453, 1], [13452, 1], [13451, 1], [13450, 1], [13450, 0, "e"], [13451, 0, "m"], [13452, 0, "t"], [13452, 1], [13451, 1], [13451, 0, "n"], [13452, 0, "t"], [13453, 0, "s"], [13454, 0, " "], [13455, 0, "w"], [13456, 0, "i"], [13457, 0, "t"], [13458, 0, "h"], [13459, 0, "i"], [13460, 0, "n"], [13461, 0, " "], [13462, 0, "t"], [13463, 0, "h"], [13464, 0, "a"], [13465, 0, "t"], [13466, 0, " "], [13467, 0, "i"], [13468, 0, "n"], [13469, 0, "t"], [13470, 0, "e"], [13471, 0, "r"], [13472, 0, "v"], [13473, 0, "a"], [13474, 0, "l"], [13475, 0, ","], [13476, 0, " "], [13477, 0, "a"], [13478, 0, "n"], [13479, 0, "d"], [13480, 0, " "], [13481, 0, "d"], [13482, 0, "o"], [13483, 0, " "], [13484, 0, "n"], [13485, 0, "o"], [13486, 0, "t"], [13487, 0, " "], [13488, 0, "a"], [13489, 0, "f"], [13490, 0, "f"], [13491, 0, "e"], [13492, 0, "c"], [13493, 0, "t"], [13494, 0, " "], [13495, 0, "("], [13496, 0, "a"], [13497, 0, "n"], [13498, 0, "d"], [13499, 0, " "], [13500, 0, "a"], [13501, 0, "r"], [13502, 0, "e"], [13503, 0, " "], [13504, 0, "n"], [13505, 0, "o"], [13506, 0, "t"], [13507, 0, " "], [13508, 0, "a"], [13509, 0, "f"], [13510, 0, "f"], [13511, 0, "e"], [13512, 0, "c"], [13513, 0, "t"], [13514, 0, "e"], [13515, 0, "d"], [13516, 0, " "], [13517, 0, "b"], [13518, 0, "y"], [13519, 0, ")"], [13520, 0, " "], [13521, 0, "t"], [13522, 0, "h"], [13523, 0, "e"], [13524, 0, " "], [13525, 0, "o"], [13526, 0, "r"], [13527, 0, "d"], [13528, 0, "e"], [13529, 0, "r"], [13529, 1], [13528, 1], [13527, 1], [13526, 1], [13525, 1], [13525, 0, "l"], [13526, 0, "i"], [13527, 0, "s"], [13528, 0, "t"], [13529, 0, " "], [13530, 0, "o"], [13531, 0, "r"], [13532, 0, "d"], [13533, 0, "e"], [13534, 0, "r"], [13535, 0, " "], [13536, 0, "o"], [13537, 0, "u"], [13538, 0, "t"], [13539, 0, "s"], [13540, 0, "i"], [13541, 0, "d"], [13542, 0, "e"], [13543, 0, " "], [13544, 0, "o"], [13545, 0, "f"], [13546, 0, " "], [13547, 0, "t"], [13548, 0, "h"], [13549, 0, "a"], [13550, 0, "t"], [13551, 0, " "], [13552, 0, "i"], [13553, 0, "n"], [13554, 0, "t"], [13555, 0, "e"], [13556, 0, "r"], [13557, 0, "v"], [13558, 0, "a"], [13559, 0, "l"], [13560, 0, "."], [13561, 0, " "], [13562, 0, "B"], [13563, 0, "y"], [13564, 0, " "], [13565, 0, "t"], [13566, 0, "h"], [13567, 0, "e"], [13568, 0, " "], [13569, 0, "i"], [13570, 0, "n"], [13571, 0, "d"], [13572, 0, "u"], [13573, 0, "c"], [13574, 0, "t"], [13575, 0, "i"], [13576, 0, "o"], [13577, 0, "n"], [13578, 0, " "], [13579, 0, "h"], [13580, 0, "y"], [13581, 0, "p"], [13582, 0, "o"], [13583, 0, "t"], [13584, 0, "h"], [13585, 0, "e"], [13586, 0, "s"], [13587, 0, "i"], [13588, 0, "s"], [13589, 0, ","], [13590, 0, " "], [13591, 0, "t"], [13592, 0, "h"], [13593, 0, "e"], [13594, 0, " "], [13595, 0, "o"], [13596, 0, "p"], [13597, 0, "e"], [13598, 0, "r"], [13599, 0, "a"], [13600, 0, "t"], [13601, 0, "i"], [13602, 0, "o"], [13603, 0, "n"], [13604, 0, "s"], [13605, 0, " "], [13606, 0, "i"], [13607, 0, "n"], [13608, 0, " "], [13609, 0, "$"], [13610, 0, "H"], [13611, 0, "_"], [13612, 0, "c"], [13613, 0, "$"], [13614, 0, " "], [13607, 1], [13606, 1], [13605, 1], [13604, 1], [13603, 1], [13602, 1], [13601, 1], [13600, 1], [13599, 1], [13598, 1], [13597, 1], [13596, 1], [13595, 1], [13594, 1], [13593, 1], [13592, 1], [13591, 1], [13591, 0, "a"], [13592, 0, "l"], [13593, 0, "l"], [13594, 0, " "], [13595, 0, "p"], [13596, 0, "o"], [13597, 0, "s"], [13598, 0, "s"], [13599, 0, "i"], [13600, 0, "b"], [13601, 0, "l"], [13602, 0, "e"], [13603, 0, " "], [13604, 0, "c"], [13605, 0, "h"], [13606, 0, "o"], [13607, 0, "i"], [13608, 0, "c"], [13609, 0, "e"], [13610, 0, "s"], [13611, 0, " "], [13612, 0, "o"], [13613, 0, "f"], [13621, 0, "r"], [13622, 0, "e"], [13623, 0, "s"], [13624, 0, "u"], [13625, 0, "l"], [13626, 0, "t"], [13627, 0, " "], [13628, 0, "i"], [13629, 0, "n"], [13630, 0, " "], [13631, 0, "t"], [13632, 0, "h"], [13633, 0, "e"], [13634, 0, " "], [13635, 0, "s"], [13636, 0, "a"], [13637, 0, "m"], [13638, 0, "e"], [13639, 0, " "], [13640, 0, "f"], [13641, 0, "i"], [13642, 0, "n"], [13643, 0, "a"], [13644, 0, "l"], [13645, 0, " "], [13646, 0, "l"], [13647, 0, "i"], [13648, 0, "s"], [13649, 0, "t"], [13650, 0, " "], [13651, 0, "o"], [13652, 0, "r"], [13653, 0, "d"], [13654, 0, "e"], [13655, 0, "r"], [13656, 0, " "], [13657, 0, "w"], [13658, 0, "i"], [13659, 0, "t"], [13660, 0, "h"], [13661, 0, "i"], [13662, 0, "n"], [13663, 0, " "], [13387, 0, " "], [13388, 0, "B"], [13389, 0, "y"], [13390, 0, " "], [13391, 0, "t"], [13392, 0, "h"], [13393, 0, "e"], [13394, 0, " "], [13395, 0, "i"], [13396, 0, "n"], [13397, 0, "d"], [13398, 0, "u"], [13399, 0, "c"], [13400, 0, "t"], [13401, 0, "i"], [13402, 0, "o"], [13403, 0, "n"], [13404, 0, " "], [13405, 0, "h"], [13406, 0, "y"], [13407, 0, "p"], [13408, 0, "o"], [13409, 0, "t"], [13410, 0, "h"], [13411, 0, "e"], [13412, 0, "s"], [13413, 0, "i"], [13414, 0, "s"], [13415, 0, ","], [13433, 1], [13432, 1], [13431, 1], [13430, 1], [13429, 1], [13428, 1], [13427, 1], [13426, 1], [13425, 1], [13424, 1], [13423, 1], [13422, 1], [13421, 1], [13420, 1], [13419, 1], [13418, 1], [13417, 1], [13417, 0, "a"], [13418, 0, "l"], [13419, 0, "l"], [13420, 0, " "], [13421, 0, "p"], [13422, 0, "o"], [13423, 0, "s"], [13424, 0, "s"], [13425, 0, "i"], [13426, 0, "b"], [13427, 0, "l"], [13428, 0, "e"], [13429, 0, " "], [13430, 0, "s"], [13431, 0, "u"], [13432, 0, "b"], [13433, 0, "-"], [13434, 0, "h"], [13435, 0, "i"], [13436, 0, "s"], [13437, 0, "t"], [13438, 0, "o"], [13439, 0, "r"], [13440, 0, "i"], [13441, 0, "e"], [13442, 0, "s"], [13458, 1], [13457, 1], [13456, 1], [13455, 1], [13454, 1], [13453, 1], [13452, 1], [13451, 1], [13450, 1], [13450, 0, "r"], [13451, 0, "e"], [13452, 0, "s"], [13453, 0, "u"], [13454, 0, "l"], [13455, 0, "t"], [13456, 0, " "], [13457, 0, "i"], [13458, 0, "n"], [13459, 0, " "], [13460, 0, "t"], [13461, 0, "h"], [13461, 1], [13460, 1], [13459, 1], [13463, 0, " "], [13464, 0, "s"], [13465, 0, "a"], [13466, 0, "m"], [13467, 0, "e"], [13522, 1], [13521, 1], [13520, 1], [13519, 1], [13518, 1], [13518, 0, "."], [13519, 0, " "], [13520, 0, "T"], [13521, 0, "h"], [13522, 0, "e"], [13523, 0, " "], [13524, 0, "o"], [13525, 0, "p"], [13526, 0, "e"], [13527, 0, "r"], [13528, 0, "a"], [13529, 0, "t"], [13530, 0, "i"], [13531, 0, "o"], [13532, 0, "n"], [13533, 0, "s"], [13534, 0, " "], [13535, 0, "i"], [13536, 0, "n"], [13537, 0, " "], [13538, 0, "$"], [13539, 0, "H"], [13540, 0, "_"], [13541, 0, "c"], [13542, 0, "$"], [13726, 1], [13725, 1], [13724, 1], [13723, 1], [13722, 1], [13721, 1], [13720, 1], [13719, 1], [13718, 1], [13717, 1], [13716, 1], [13715, 1], [13714, 1], [13713, 1], [13712, 1], [13711, 1], [13710, 1], [13709, 1], [13708, 1], [13707, 1], [13706, 1], [13705, 1], [13704, 1], [13703, 1], [13702, 1], [13701, 1], [13700, 1], [13699, 1], [13698, 1], [13697, 1], [13696, 1], [13695, 1], [13694, 1], [13693, 1], [13692, 1], [13691, 1], [13690, 1], [13689, 1], [13688, 1], [13687, 1], [13686, 1], [13685, 1], [13684, 1], [13683, 1], [13682, 1], [13681, 1], [13680, 1], [13679, 1], [13678, 1], [13677, 1], [13676, 1], [13675, 1], [13674, 1], [13673, 1], [13672, 1], [13671, 1], [13670, 1], [13669, 1], [13668, 1], [13667, 1], [13666, 1], [13665, 1], [13664, 1], [13663, 1], [13662, 1], [13661, 1], [13660, 1], [13659, 1], [13658, 1], [13657, 1], [13656, 1], [13655, 1], [13654, 1], [13653, 1], [13652, 1], [13651, 1], [13650, 1], [13649, 1], [13648, 1], [13647, 1], [13646, 1], [13645, 1], [13644, 1], [13643, 1], [13642, 1], [13641, 1], [13640, 1], [13639, 1], [13638, 1], [13637, 1], [13636, 1], [13635, 1], [13634, 1], [13633, 1], [13632, 1], [13631, 1], [13630, 1], [13629, 1], [13628, 1], [13627, 1], [13626, 1], [13625, 1], [13624, 1], [13623, 1], [13623, 0, ","], [13624, 0, " "], [13625, 0, "s"], [13626, 0, "o"], [13627, 0, " "], [13628, 0, "w"], [13629, 0, "e"], [13630, 0, " "], [13631, 0, "c"], [13632, 0, "a"], [13633, 0, "n"], [13634, 0, " "], [13635, 0, "c"], [13636, 0, "o"], [13637, 0, "n"], [13638, 0, "s"], [13639, 0, "i"], [13640, 0, "d"], [13641, 0, "e"], [13642, 0, "r"], [13643, 0, " "], [13644, 0, "$"], [13645, 0, "H"], [13646, 0, "_"], [13647, 0, "c"], [13648, 0, "$"], [13649, 0, " "], [13650, 0, "i"], [13651, 0, "n"], [13652, 0, " "], [13653, 0, "i"], [13654, 0, "s"], [13655, 0, "o"], [13656, 0, "l"], [13657, 0, "a"], [13658, 0, "t"], [13659, 0, "i"], [13660, 0, "o"], [13661, 0, "n"], [13662, 0, "."], [14311, 1], [14310, 1], [14309, 1], [14308, 1], [14307, 1], [14306, 1], [14305, 1], [14304, 1], [14303, 1], [14302, 1], [14301, 1], [14300, 1], [14299, 1], [14298, 1], [14297, 1], [14296, 1], [14295, 1], [14294, 1], [14293, 1], [14292, 1], [14291, 1], [14290, 1], [14289, 1], [14288, 1], [14287, 1], [14286, 1], [14285, 1], [14284, 1], [14283, 1], [14282, 1], [14281, 1], [14280, 1], [14279, 1], [14278, 1], [14277, 1], [14276, 1], [14275, 1], [14274, 1], [14273, 1], [14272, 1], [14271, 1], [14270, 1], [14269, 1], [14268, 1], [14267, 1], [14266, 1], [14265, 1], [14264, 1], [14263, 1], [14262, 1], [14261, 1], [14260, 1], [14259, 1], [14258, 1], [14257, 1], [14256, 1], [14255, 1], [14254, 1], [14253, 1], [14252, 1], [14251, 1], [14250, 1], [14249, 1], [14248, 1], [14247, 1], [14246, 1], [14245, 1], [14244, 1], [14243, 1], [14242, 1], [14241, 1], [14240, 1], [14239, 1], [14238, 1], [14237, 1], [14236, 1], [14235, 1], [14234, 1], [14233, 1], [14232, 1], [14231, 1], [14230, 1], [14229, 1], [14228, 1], [14227, 1], [14226, 1], [14225, 1], [14224, 1], [14223, 1], [14222, 1], [14221, 1], [14220, 1], [14219, 1], [14218, 1], [14217, 1], [14216, 1], [14215, 1], [14214, 1], [14213, 1], [14212, 1], [14211, 1], [14210, 1], [14209, 1], [14208, 1], [14207, 1], [14206, 1], [14205, 1], [14204, 1], [14203, 1], [14202, 1], [14201, 1], [14200, 1], [14199, 1], [14198, 1], [14197, 1], [14196, 1], [14195, 1], [14194, 1], [14193, 1], [14192, 1], [14191, 1], [14190, 1], [14189, 1], [14188, 1], [14187, 1], [14186, 1], [14185, 1], [14184, 1], [14183, 1], [14182, 1], [14181, 1], [14180, 1], [14179, 1], [14178, 1], [14177, 1], [14176, 1], [14175, 1], [14174, 1], [14173, 1], [14172, 1], [14171, 1], [14170, 1], [14169, 1], [14168, 1], [14167, 1], [14166, 1], [14165, 1], [14164, 1], [14163, 1], [14162, 1], [14161, 1], [14160, 1], [14159, 1], [14158, 1], [14157, 1], [14156, 1], [14155, 1], [14154, 1], [14153, 1], [14152, 1], [14151, 1], [14150, 1], [14149, 1], [14148, 1], [14147, 1], [14146, 1], [14145, 1], [14144, 1], [14143, 1], [14142, 1], [14141, 1], [14140, 1], [14139, 1], [14138, 1], [14137, 1], [14136, 1], [14135, 1], [14134, 1], [14133, 1], [14132, 1], [14131, 1], [14130, 1], [14129, 1], [14128, 1], [14127, 1], [14126, 1], [14125, 1], [14124, 1], [14123, 1], [14122, 1], [14121, 1], [14120, 1], [14119, 1], [14118, 1], [14117, 1], [14116, 1], [14115, 1], [14114, 1], [14113, 1], [14112, 1], [14111, 1], [14110, 1], [14109, 1], [14108, 1], [14107, 1], [14106, 1], [14105, 1], [14104, 1], [14103, 1], [14102, 1], [14101, 1], [14100, 1], [14099, 1], [14098, 1], [14097, 1], [14096, 1], [14095, 1], [14094, 1], [14093, 1], [14092, 1], [14091, 1], [14090, 1], [14089, 1], [14088, 1], [14087, 1], [14086, 1], [14085, 1], [14084, 1], [14083, 1], [14082, 1], [13663, 0, "\n"], [13664, 0, "\n"], [13665, 0, "L"], [13666, 0, "e"], [13667, 0, "t"], [13668, 0, " "], [13669, 0, "$"], [13670, 0, "["], [13671, 0, "\\"], [13672, 0, "m"], [13673, 0, "a"], [13674, 0, "t"], [13675, 0, "h"], [13676, 0, "i"], [13677, 0, "t"], [13678, 0, "{"], [13679, 0, "i"], [13680, 0, "d"], [13681, 0, "}"], [13682, 0, "_"], [13683, 0, "1"], [13684, 0, ","], [13685, 0, " "], [13686, 0, "\\"], [13687, 0, "d"], [13688, 0, "o"], [13689, 0, "t"], [13690, 0, "s"], [13691, 0, ","], [13692, 0, " "], [13693, 0, "\\"], [13694, 0, "m"], [13695, 0, "a"], [13696, 0, "t"], [13697, 0, "h"], [13698, 0, "i"], [13699, 0, "t"], [13700, 0, "{"], [13701, 0, "i"], [13702, 0, "d"], [13703, 0, "}"], [13704, 0, "_"], [13705, 0, "k"], [13706, 0, "]"], [13707, 0, "$"], [13708, 0, " "], [13709, 0, "b"], [13710, 0, "e"], [13711, 0, " "], [13712, 0, "t"], [13713, 0, "h"], [13714, 0, "e"], [13715, 0, " "], [13716, 0, "o"], [13717, 0, "r"], [13718, 0, "d"], [13719, 0, "e"], [13720, 0, "r"], [13721, 0, " "], [13722, 0, "o"], [13723, 0, "f"], [13724, 0, " "], [13725, 0, "l"], [13726, 0, "i"], [13727, 0, "s"], [13728, 0, "t"], [13729, 0, " "], [13730, 0, "e"], [13731, 0, "l"], [13732, 0, "e"], [13733, 0, "m"], [13734, 0, "e"], [13735, 0, "n"], [13736, 0, "t"], [13737, 0, "s"], [13738, 0, " "], [13715, 0, " "], [13716, 0, "L"], [13717, 0, "a"], [13718, 0, "m"], [13719, 0, "p"], [13720, 0, "o"], [13721, 0, "r"], [13722, 0, "t"], [13723, 0, " "], [13724, 0, "t"], [13725, 0, "i"], [13726, 0, "m"], [13727, 0, "e"], [13728, 0, "s"], [13729, 0, "t"], [13730, 0, "a"], [13731, 0, "m"], [13732, 0, "p"], [13733, 0, "s"], [13734, 0, " "], [13735, 0, "o"], [13736, 0, "f"], [13745, 1], [13744, 1], [13743, 1], [13742, 1], [13741, 1], [13740, 1], [13739, 1], [13738, 1], [13738, 0, "t"], [13739, 0, "h"], [13740, 0, "e"], [13756, 0, "i"], [13757, 0, "n"], [13758, 0, "s"], [13759, 0, "e"], [13760, 0, "r"], [13761, 0, "t"], [13761, 1], [13760, 1], [13759, 1], [13758, 1], [13757, 1], [13756, 1], [13756, 0, "d"], [13757, 0, "e"], [13758, 0, "f"], [13759, 0, "i"], [13760, 0, "n"], [13761, 0, "e"], [13761, 1], [13760, 1], [13759, 1], [13758, 1], [13757, 1], [13756, 1], [13756, 0, "i"], [13757, 0, "n"], [13758, 0, " "], [13759, 0, "t"], [13760, 0, "h"], [13761, 0, "e"], [13762, 0, " "], [13763, 0, "i"], [13764, 0, "n"], [13765, 0, "t"], [13766, 0, "e"], [13767, 0, "r"], [13768, 0, "v"], [13769, 0, "a"], [13770, 0, "l"], [13771, 0, " "], [13772, 0, "b"], [13773, 0, "e"], [13774, 0, "t"], [13775, 0, "w"], [13776, 0, "e"], [13777, 0, "e"], [13778, 0, "n"], [13779, 0, " "], [13780, 0, "$"], [13781, 0, "\\"], [13782, 0, "m"], [13783, 0, "a"], [13784, 0, "t"], [13785, 0, "h"], [13786, 0, "i"], [13787, 0, "t"], [13788, 0, "{"], [13789, 0, "p"], [13790, 0, "r"], [13791, 0, "e"], [13792, 0, "v"], [13793, 0, "}"], [13794, 0, "$"], [13795, 0, " "], [13796, 0, "a"], [13797, 0, "n"], [13798, 0, "d"], [13799, 0, " "], [13800, 0, "$"], [13801, 0, "\\"], [13802, 0, "m"], [13803, 0, "a"], [13804, 0, "t"], [13805, 0, "h"], [13806, 0, "i"], [13807, 0, "t"], [13808, 0, "{"], [13809, 0, "n"], [13810, 0, "e"], [13811, 0, "x"], [13812, 0, "t"], [13813, 0, "}"], [13814, 0, "$"], [13815, 0, ","], [13816, 0, " "], [13817, 0, "i"], [13818, 0, "n"], [13819, 0, " "], [13820, 0, "t"], [13821, 0, "h"], [13822, 0, "e"], [13823, 0, " "], [13824, 0, "l"], [13825, 0, "i"], [13826, 0, "s"], [13827, 0, "t"], [13828, 0, " "], [13829, 0, "o"], [13830, 0, "r"], [13831, 0, "d"], [13832, 0, "e"], [13833, 0, "r"], [13834, 0, " "], [13835, 0, "u"], [13836, 0, "n"], [13837, 0, "a"], [13838, 0, "m"], [13839, 0, "b"], [13840, 0, "i"], [13841, 0, "g"], [13842, 0, "u"], [13843, 0, "o"], [13844, 0, "u"], [13845, 0, "s"], [13846, 0, "l"], [13847, 0, "y"], [13848, 0, " "], [13849, 0, "d"], [13850, 0, "e"], [13851, 0, "f"], [13852, 0, "i"], [13853, 0, "n"], [13854, 0, "e"], [13855, 0, "d"], [13856, 0, " "], [13857, 0, "b"], [13858, 0, "y"], [13859, 0, " "], [13860, 0, "$"], [13861, 0, "H"], [13862, 0, "_"], [13863, 0, "c"], [13864, 0, "$"], [13865, 0, "."], [13866, 0, " "], [13867, 0, "W"], [13868, 0, "e"], [13869, 0, " "], [13870, 0, "n"], [13871, 0, "e"], [13872, 0, "e"], [13873, 0, "d"], [13874, 0, " "], [13875, 0, "t"], [13876, 0, "o"], [13877, 0, " "], [13878, 0, "s"], [13879, 0, "h"], [13880, 0, "o"], [13881, 0, "w"], [13882, 0, " "], [13883, 0, "t"], [13884, 0, "h"], [13885, 0, "a"], [13886, 0, "t"], [13887, 0, " "], [13888, 0, "r"], [13889, 0, "e"], [13890, 0, "g"], [13891, 0, "a"], [13892, 0, "r"], [13893, 0, "d"], [13894, 0, "l"], [13895, 0, "e"], [13896, 0, "s"], [13897, 0, "s"], [13898, 0, " "], [13899, 0, "a"], [13900, 0, "t"], [13901, 0, " "], [13902, 0, "w"], [13903, 0, "h"], [13904, 0, "a"], [13905, 0, "t"], [13906, 0, " "], [13907, 0, "p"], [13908, 0, "o"], [13909, 0, "s"], [13910, 0, "i"], [13911, 0, "t"], [13912, 0, "i"], [13913, 0, "o"], [13914, 0, "n"], [13915, 0, " "], [13916, 0, "i"], [13917, 0, "n"], [13918, 0, " "], [13919, 0, "$"], [13920, 0, "H"], [13921, 0, "_"], [13922, 0, "c"], [13923, 0, "$"], [13924, 0, " "], [13925, 0, "w"], [13926, 0, "e"], [13927, 0, " "], [13928, 0, "i"], [13929, 0, "n"], [13930, 0, "s"], [13931, 0, "e"], [13932, 0, "r"], [13933, 0, "t"], [13934, 0, " "], [13935, 0, "t"], [13936, 0, "h"], [13937, 0, "e"], [13938, 0, " "], [13939, 0, "o"], [13940, 0, "p"], [13941, 0, "e"], [13942, 0, "r"], [13943, 0, "a"], [13944, 0, "t"], [13945, 0, "i"], [13946, 0, "o"], [13947, 0, "n"], [13948, 0, " "], [13949, 0, "$"], [13950, 0, "o"], [13951, 0, "_"], [13952, 0, "{"], [13953, 0, "n"], [13954, 0, "+"], [13955, 0, "1"], [13956, 0, "}"], [13957, 0, "$"], [13958, 0, ","], [13959, 0, " "], [13960, 0, "t"], [13961, 0, "h"], [13962, 0, "e"], [13963, 0, " "], [13964, 0, "o"], [13965, 0, "u"], [13966, 0, "t"], [13967, 0, "c"], [13968, 0, "o"], [13969, 0, "m"], [13970, 0, "e"], [13971, 0, " "], [13972, 0, "i"], [13973, 0, "s"], [13974, 0, " "], [13975, 0, "t"], [13976, 0, "h"], [13977, 0, "e"], [13978, 0, " "], [13979, 0, "s"], [13980, 0, "a"], [13981, 0, "m"], [13982, 0, "e"], [13983, 0, " "], [13984, 0, "s"], [13985, 0, "e"], [13986, 0, "q"], [13987, 0, "u"], [13988, 0, "e"], [13989, 0, "n"], [13990, 0, "c"], [13991, 0, "e"], [13992, 0, " "], [13993, 0, "o"], [13994, 0, "f"], [13995, 0, " "], [13996, 0, "l"], [13997, 0, "i"], [13998, 0, "s"], [13999, 0, "t"], [14000, 0, " "], [14001, 0, "e"], [14002, 0, "l"], [14003, 0, "e"], [14004, 0, "m"], [14005, 0, "e"], [14006, 0, "n"], [14007, 0, "t"], [14008, 0, "s"], [14009, 0, "."], [14010, 0, " "], [14011, 0, "E"], [14012, 0, "q"], [14013, 0, "u"], [14014, 0, "i"], [14015, 0, "v"], [14016, 0, "a"], [14017, 0, "l"], [14018, 0, "e"], [14019, 0, "n"], [14020, 0, "t"], [14021, 0, "l"], [14022, 0, "y"], [14023, 0, ","], [14024, 0, " "], [14025, 0, "w"], [14026, 0, "e"], [14027, 0, " "], [14028, 0, "c"], [14029, 0, "a"], [14030, 0, "n"], [14031, 0, " "], [14032, 0, "s"], [14033, 0, "h"], [14034, 0, "o"], [14035, 0, "w"], [14036, 0, " "], [14036, 1], [14035, 1], [14034, 1], [14033, 1], [14032, 1], [14031, 1], [14030, 1], [14029, 1], [14028, 1], [14027, 1], [14026, 1], [14025, 1], [14024, 1], [14023, 1], [14022, 1], [14021, 1], [14020, 1], [14019, 1], [14018, 1], [14017, 1], [14016, 1], [14015, 1], [14014, 1], [14013, 1], [14012, 1], [14011, 1], [14010, 1], [14009, 1], [14008, 1], [14008, 0, "s"], [14009, 0, " "], [14010, 0, "$"], [14011, 0, "["], [14012, 0, "\\"], [14013, 0, "m"], [14014, 0, "a"], [14015, 0, "t"], [14016, 0, "h"], [14017, 0, "i"], [14018, 0, "t"], [14019, 0, "{"], [14020, 0, "i"], [14021, 0, "d"], [14022, 0, "_"], [14023, 0, "1"], [14024, 0, ","], [14025, 0, " "], [14026, 0, "\\"], [14027, 0, "d"], [14028, 0, "o"], [14029, 0, "t"], [14030, 0, "s"], [14031, 0, ","], [14032, 0, " "], [14022, 0, "}"], [14034, 0, "\\"], [14035, 0, "m"], [14036, 0, "a"], [14037, 0, "t"], [14038, 0, "h"], [14039, 0, "i"], [14040, 0, "t"], [14041, 0, "{"], [14042, 0, "i"], [14043, 0, "d"], [14044, 0, "}"], [14045, 0, ","], [14046, 0, " "], [14047, 0, "\\"], [14048, 0, "d"], [14049, 0, "o"], [14050, 0, "t"], [14051, 0, "s"], [14052, 0, ","], [14053, 0, " "], [14054, 0, "\\"], [14055, 0, "m"], [14056, 0, "a"], [14057, 0, "t"], [14058, 0, "h"], [14059, 0, "i"], [14060, 0, "t"], [14061, 0, "{"], [14062, 0, "i"], [14063, 0, "d"], [14064, 0, "}"], [14065, 0, "_"], [14066, 0, "k"], [14067, 0, "]"], [14068, 0, "$"], [14069, 0, "."], [14070, 0, " "], [14070, 1], [14070, 0, "\n"], [14071, 0, "\n"], [14072, 0, "S"], [14073, 0, "i"], [14074, 0, "n"], [14075, 0, "c"], [14076, 0, "e"], [14077, 0, " "], [14078, 0, "i"], [14079, 0, "n"], [14079, 1], [14078, 1], [14078, 0, "$"], [14079, 0, "\\"], [14080, 0, "m"], [14081, 0, "a"], [14082, 0, "t"], [14083, 0, "h"], [14084, 0, "i"], [14085, 0, "t"], [14086, 0, "{"], [14086, 1], [14085, 1], [14084, 1], [14084, 0, "s"], [14085, 0, "f"], [14086, 0, "{"], [14087, 0, "i"], [14088, 0, "n"], [14089, 0, "s"], [14090, 0, "e"], [14091, 0, "r"], [14092, 0, "t"], [14093, 0, "}"], [14094, 0, "$"], [14095, 0, " "], [14096, 0, "o"], [14097, 0, "p"], [14098, 0, "e"], [14099, 0, "r"], [14100, 0, "a"], [14101, 0, "t"], [14102, 0, "i"], [14103, 0, "o"], [14104, 0, "n"], [14105, 0, "s"], [14106, 0, " "], [14107, 0, "o"], [14108, 0, "n"], [14109, 0, "l"], [14110, 0, "y"], [14111, 0, " "], [14112, 0, "a"], [14113, 0, "d"], [14114, 0, "d"], [14115, 0, " "], [14116, 0, "a"], [14117, 0, " "], [14118, 0, "n"], [14119, 0, "e"], [14120, 0, "w"], [14121, 0, " "], [14122, 0, "e"], [14123, 0, "l"], [14124, 0, "e"], [14125, 0, "m"], [14126, 0, "e"], [14127, 0, "n"], [14128, 0, "t"], [14129, 0, " "], [14130, 0, "b"], [14131, 0, "e"], [14132, 0, "t"], [14133, 0, "w"], [14134, 0, "e"], [14135, 0, "e"], [14136, 0, "n"], [14137, 0, " "], [14138, 0, "t"], [14139, 0, "w"], [14140, 0, "o"], [14141, 0, " "], [14142, 0, "a"], [14143, 0, "d"], [14143, 1], [14142, 1], [14142, 0, "e"], [14143, 0, "x"], [14144, 0, "i"], [14145, 0, "s"], [14146, 0, "t"], [14147, 0, "i"], [14148, 0, "n"], [14149, 0, "g"], [14150, 0, ","], [14151, 0, " "], [14152, 0, "a"], [14153, 0, "d"], [14154, 0, "j"], [14155, 0, "a"], [14156, 0, "c"], [14157, 0, "e"], [14158, 0, "n"], [14159, 0, "t"], [14160, 0, " "], [14161, 0, "e"], [14162, 0, "l"], [14163, 0, "e"], [14164, 0, "m"], [14165, 0, "e"], [14166, 0, "n"], [14167, 0, "t"], [14168, 0, "s"], [14169, 0, ","], [14170, 0, " "], [14171, 0, "i"], [14172, 0, "t"], [14173, 0, " "], [14174, 0, "i"], [14175, 0, "s"], [14176, 0, " "], [14177, 0, "e"], [14178, 0, "q"], [14179, 0, "u"], [14180, 0, "i"], [14181, 0, "v"], [14182, 0, "a"], [14183, 0, "l"], [14184, 0, "e"], [14185, 0, "n"], [14186, 0, "t"], [14187, 0, " "], [14188, 0, "t"], [14189, 0, "o"], [14190, 0, " "], [14191, 0, "s"], [14192, 0, "h"], [14193, 0, "o"], [14194, 0, "w"], [14195, 0, " "], [14196, 0, "t"], [14197, 0, "h"], [14198, 0, "a"], [14199, 0, "t"], [14200, 0, " "], [14201, 0, "r"], [14202, 0, "e"], [14203, 0, "g"], [14204, 0, "a"], [14205, 0, "r"], [14206, 0, "d"], [14207, 0, "l"], [14208, 0, "e"], [14209, 0, "s"], [14210, 0, "s"], [14211, 0, " "], [14212, 0, "w"], [14213, 0, "h"], [14214, 0, "e"], [14215, 0, "r"], [14216, 0, "e"], [14217, 0, " "], [14218, 0, "$"], [14219, 0, "o"], [14220, 0, "_"], [14221, 0, "{"], [14222, 0, "n"], [14223, 0, "+"], [14224, 0, "$"], [14224, 1], [14224, 0, "1"], [14225, 0, "}"], [14226, 0, "$"], [14227, 0, " "], [14228, 0, "i"], [14229, 0, "s"], [14230, 0, " "], [14231, 0, "a"], [14232, 0, "d"], [14233, 0, "d"], [14234, 0, "e"], [14234, 1], [14233, 1], [14232, 1], [14231, 1], [14231, 0, "i"], [14232, 0, "n"], [14233, 0, "s"], [14234, 0, "e"], [14235, 0, "r"], [14236, 0, "t"], [14237, 0, "e"], [14238, 0, "d"], [14239, 0, " "], [14240, 0, "t"], [14241, 0, "o"], [14242, 0, " "], [14243, 0, "$"], [14244, 0, "H"], [14245, 0, "_"], [14246, 0, "c"], [14247, 0, "$"], [14033, 0, " "], [14034, 0, "\\"], [14035, 0, "m"], [14036, 0, "a"], [14037, 0, "t"], [14038, 0, "h"], [14039, 0, "i"], [14040, 0, "t"], [14041, 0, "{"], [14042, 0, "i"], [14043, 0, "d"], [14044, 0, "}"], [14045, 0, "_"], [14046, 0, "m"], [14047, 0, ","], [14061, 0, " "], [14062, 0, "\\"], [14063, 0, "m"], [14064, 0, "a"], [14065, 0, "t"], [14066, 0, "h"], [14067, 0, "i"], [14068, 0, "t"], [14069, 0, "{"], [14070, 0, "i"], [14071, 0, "d"], [14072, 0, "}"], [14073, 0, "_"], [14074, 0, "{"], [14075, 0, "m"], [14076, 0, "+"], [14077, 0, "1"], [14078, 0, "}"], [14079, 0, ","], [14282, 0, ","], [14283, 0, " "], [14284, 0, "t"], [14285, 0, "h"], [14286, 0, "e"], [14287, 0, " "], [14288, 0, "s"], [14289, 0, "e"], [14290, 0, "t"], [14291, 0, " "], [14292, 0, "o"], [14293, 0, "f"], [14294, 0, " "], [14295, 0, "l"], [14296, 0, "i"], [14297, 0, "s"], [14298, 0, "t"], [14299, 0, " "], [14300, 0, "e"], [14301, 0, "l"], [14302, 0, "e"], [14303, 0, "m"], [14304, 0, "e"], [14305, 0, "n"], [14306, 0, "t"], [14307, 0, "s"], [14308, 0, " "], [14309, 0, "$"], [14310, 0, "\\"], [14311, 0, "m"], [14312, 0, "a"], [14313, 0, "t"], [14314, 0, "h"], [14315, 0, "i"], [14316, 0, "t"], [14317, 0, "{"], [14318, 0, "i"], [14319, 0, "d"], [14320, 0, "}"], [14321, 0, "_"], [14322, 0, "1"], [14310, 0, "{"], [14310, 0, "\\"], [14325, 0, ","], [14326, 0, " "], [14327, 0, "\\"], [14328, 0, "d"], [14329, 0, "o"], [14330, 0, "t"], [14331, 0, "s"], [14332, 0, ","], [14333, 0, " "], [14334, 0, "\\"], [14335, 0, "m"], [14336, 0, "a"], [14337, 0, "t"], [14338, 0, "h"], [14339, 0, "i"], [14340, 0, "t"], [14341, 0, "{"], [14342, 0, "i"], [14343, 0, "d"], [14344, 0, "}"], [14345, 0, "_"], [14346, 0, "m"], [14347, 0, "\\"], [14348, 0, "}"], [14349, 0, "$"], [14350, 0, " "], [14351, 0, "t"], [14352, 0, "h"], [14353, 0, "a"], [14354, 0, "t"], [14355, 0, " "], [14356, 0, "a"], [14357, 0, "p"], [14358, 0, "p"], [14359, 0, "e"], [14360, 0, "a"], [14361, 0, "r"], [14362, 0, " "], [14363, 0, "\\"], [14364, 0, "e"], [14365, 0, "m"], [14366, 0, "p"], [14367, 0, "h"], [14368, 0, "{"], [14369, 0, "b"], [14370, 0, "e"], [14371, 0, "f"], [14372, 0, "o"], [14373, 0, "r"], [14374, 0, "e"], [14375, 0, "}"], [14376, 0, " "], [14377, 0, "$"], [14377, 1], [14377, 0, "t"], [14378, 0, "h"], [14379, 0, "e"], [14380, 0, " "], [14381, 0, "l"], [14382, 0, "i"], [14383, 0, "s"], [14384, 0, "t"], [14385, 0, " "], [14386, 0, "e"], [14387, 0, "l"], [14388, 0, "e"], [14389, 0, "m"], [14390, 0, "e"], [14391, 0, "n"], [14392, 0, "t"], [14393, 0, " "], [14394, 0, "f"], [14395, 0, "o"], [14396, 0, "r"], [14397, 0, " "], [14398, 0, "$"], [14399, 0, "o"], [14400, 0, "_"], [14401, 0, "{"], [14402, 0, "n"], [14403, 0, "+"], [14404, 0, "1"], [14405, 0, "}"], [14406, 0, "$"], [14407, 0, " "], [14408, 0, "i"], [14409, 0, "s"], [14410, 0, " "], [14411, 0, "t"], [14412, 0, "h"], [14413, 0, "e"], [14414, 0, " "], [14415, 0, "s"], [14416, 0, "a"], [14417, 0, "m"], [14418, 0, "e"], [14419, 0, "."], [14420, 0, " "], [14421, 0, "B"], [14422, 0, "y"], [14423, 0, " "], [14220, 1], [14219, 1], [14218, 1], [14217, 1], [14216, 1], [14215, 1], [14214, 1], [14213, 1], [14212, 1], [14211, 1], [14211, 0, "s"], [14212, 0, "u"], [14213, 0, "f"], [14214, 0, "f"], [14215, 0, "i"], [14216, 0, "c"], [14217, 0, "i"], [14218, 0, "e"], [14219, 0, "n"], [14220, 0, "t"], [14423, 1], [14422, 1], [14421, 1], [14420, 1], [14694, 0, "\n"], [14695, 0, "\n"], [14694, 0, " "], [14695, 0, "F"], [14696, 0, "u"], [14697, 0, "r"], [14698, 0, "t"], [14699, 0, "h"], [14700, 0, "e"], [14701, 0, "r"], [14702, 0, " "], [14703, 0, "n"], [14704, 0, "o"], [14705, 0, "t"], [14706, 0, "e"], [14707, 0, " "], [14708, 0, "t"], [14709, 0, "h"], [14710, 0, "a"], [14711, 0, "t"], [14712, 0, " "], [14713, 0, "b"], [14714, 0, "y"], [14715, 0, " "], [14716, 0, "t"], [14717, 0, "h"], [14718, 0, "e"], [14719, 0, " "], [14720, 0, "d"], [14721, 0, "e"], [14722, 0, "f"], [14723, 0, "i"], [14724, 0, "n"], [14725, 0, "i"], [14726, 0, "t"], [14727, 0, "i"], [14728, 0, "o"], [14729, 0, "n"], [14730, 0, " "], [14731, 0, "o"], [14732, 0, "f"], [14733, 0, " "], [14734, 0, "L"], [14735, 0, "a"], [14736, 0, "m"], [14737, 0, "p"], [14738, 0, "o"], [14739, 0, "r"], [14740, 0, "t"], [14741, 0, " "], [14742, 0, "t"], [14743, 0, "i"], [14744, 0, "m"], [14745, 0, "e"], [14746, 0, "s"], [14747, 0, "t"], [14748, 0, "a"], [14749, 0, "m"], [14750, 0, "p"], [14751, 0, "s"], [14752, 0, ","], [14753, 0, " "], [14754, 0, "a"], [14755, 0, "n"], [14756, 0, "y"], [14757, 0, " "], [14758, 0, "o"], [14759, 0, "p"], [14760, 0, "e"], [14761, 0, "r"], [14762, 0, "a"], [14763, 0, "t"], [14764, 0, "i"], [14765, 0, "o"], [14766, 0, "n"], [14767, 0, " "], [14768, 0, "t"], [14769, 0, "h"], [14770, 0, "a"], [14771, 0, "t"], [14772, 0, " "], [14773, 0, "c"], [14774, 0, "a"], [14775, 0, "u"], [14776, 0, "s"], [14777, 0, "a"], [14778, 0, "l"], [14779, 0, "l"], [14780, 0, "y"], [14781, 0, " "], [14782, 0, "d"], [14783, 0, "e"], [14784, 0, "p"], [14785, 0, "e"], [14786, 0, "n"], [14787, 0, "d"], [14788, 0, "s"], [14789, 0, " "], [14790, 0, "o"], [14791, 0, "n"], [14792, 0, " "], [14793, 0, "a"], [14794, 0, "n"], [14795, 0, " "], [14796, 0, "o"], [14797, 0, "p"], [14798, 0, "e"], [14799, 0, "r"], [14800, 0, "a"], [14801, 0, "t"], [14802, 0, "i"], [14803, 0, "o"], [14804, 0, "n"], [14805, 0, " "], [14806, 0, "$"], [14807, 0, "O"], [14807, 1], [14807, 0, "o"], [14808, 0, "_"], [14809, 0, "i"], [14810, 0, "$"], [14811, 0, " "], [14812, 0, "m"], [14813, 0, "u"], [14814, 0, "s"], [14815, 0, "t"], [14816, 0, " "], [14817, 0, "h"], [14818, 0, "a"], [14819, 0, "v"], [14820, 0, "e"], [14821, 0, " "], [14822, 0, "a"], [14823, 0, " "], [14824, 0, "g"], [14825, 0, "r"], [14826, 0, "e"], [14827, 0, "a"], [14828, 0, "t"], [14829, 0, "e"], [14830, 0, "r"], [14831, 0, " "], [14832, 0, "I"], [14833, 0, "D"], [14834, 0, " "], [14835, 0, "t"], [14836, 0, "h"], [14837, 0, "a"], [14838, 0, "n"], [14839, 0, " "], [14840, 0, "$"], [14841, 0, "o"], [14842, 0, "_"], [14843, 0, "i"], [14844, 0, "$"], [14845, 0, "."], [14990, 1], [14989, 1], [14988, 1], [14987, 1], [14986, 1], [14985, 1], [14984, 1], [14983, 1], [14982, 1], [14981, 1], [14980, 1], [14979, 1], [14978, 1], [14977, 1], [14976, 1], [14975, 1], [14974, 1], [14973, 1], [14972, 1], [14971, 1], [14970, 1], [14969, 1], [14968, 1], [14967, 1], [14966, 1], [14965, 1], [14964, 1], [14963, 1], [14962, 1], [14961, 1], [14960, 1], [14959, 1], [14958, 1], [14957, 1], [14956, 1], [14955, 1], [14954, 1], [14953, 1], [14952, 1], [14951, 1], [14950, 1], [14949, 1], [14948, 1], [14947, 1], [14946, 1], [14945, 1], [14944, 1], [14943, 1], [14942, 1], [14941, 1], [14940, 1], [14939, 1], [14938, 1], [14937, 1], [14936, 1], [14935, 1], [14934, 1], [14933, 1], [14932, 1], [14931, 1], [14930, 1], [14929, 1], [14928, 1], [14927, 1], [14926, 1], [14925, 1], [14924, 1], [14923, 1], [14922, 1], [14921, 1], [14920, 1], [14919, 1], [14918, 1], [14917, 1], [14916, 1], [14915, 1], [14914, 1], [14913, 1], [14912, 1], [14911, 1], [14910, 1], [14909, 1], [14908, 1], [14907, 1], [14906, 1], [14905, 1], [14904, 1], [14903, 1], [14902, 1], [14901, 1], [14900, 1], [14899, 1], [14898, 1], [14897, 1], [14896, 1], [14895, 1], [14894, 1], [14893, 1], [14892, 1], [14891, 1], [14890, 1], [14889, 1], [14888, 1], [14887, 1], [14886, 1], [14885, 1], [14884, 1], [14883, 1], [14882, 1], [14881, 1], [14880, 1], [14879, 1], [14878, 1], [14877, 1], [14876, 1], [14875, 1], [14874, 1], [14873, 1], [14872, 1], [14871, 1], [14870, 1], [14869, 1], [14868, 1], [14867, 1], [14866, 1], [14865, 1], [14864, 1], [14863, 1], [14862, 1], [14861, 1], [14860, 1], [14859, 1], [14858, 1], [14857, 1], [14856, 1], [14855, 1], [14854, 1], [14853, 1], [14852, 1], [14851, 1], [14850, 1], [14849, 1], [14848, 1], [14103, 0, ","], [14104, 0, " "], [14105, 0, "w"], [14106, 0, "h"], [14107, 0, "e"], [14108, 0, "r"], [14109, 0, "e"], [14110, 0, " "], [14111, 0, "$"], [14112, 0, "\\"], [14113, 0, "m"], [14114, 0, "a"], [14115, 0, "t"], [14116, 0, "h"], [14117, 0, "i"], [14118, 0, "t"], [14119, 0, "{"], [14120, 0, "i"], [14121, 0, "d"], [14122, 0, "}"], [14123, 0, "$"], [14124, 0, " "], [14125, 0, "i"], [14126, 0, "s"], [14127, 0, " "], [14128, 0, "t"], [14129, 0, "h"], [14130, 0, "e"], [14131, 0, " "], [14132, 0, "L"], [14133, 0, "a"], [14134, 0, "m"], [14135, 0, "p"], [14136, 0, "o"], [14137, 0, "r"], [14138, 0, "t"], [14139, 0, " "], [14140, 0, "t"], [14141, 0, "i"], [14142, 0, "m"], [14143, 0, "e"], [14144, 0, "s"], [14145, 0, "t"], [14146, 0, "a"], [14147, 0, "m"], [14148, 0, "p"], [14149, 0, " "], [14150, 0, "o"], [14151, 0, "f"], [14152, 0, " "], [14153, 0, "$"], [14154, 0, "o"], [14155, 0, "_"], [14156, 0, "{"], [14157, 0, "n"], [14158, 0, "+"], [14159, 0, "1"], [14160, 0, "}"], [14161, 0, "$"], [14464, 1], [14463, 1], [14462, 1], [14461, 1], [14460, 1], [14459, 1], [14458, 1], [14458, 0, "\\"], [14459, 0, "m"], [14460, 0, "a"], [14461, 0, "t"], [14462, 0, "h"], [14463, 0, "i"], [14464, 0, "t"], [14465, 0, "{"], [14466, 0, "i"], [14467, 0, "d"], [14468, 0, "}"], [14456, 1], [14455, 1], [14454, 1], [14453, 1], [14452, 1], [14451, 1], [14450, 1], [14449, 1], [14448, 1], [14447, 1], [14446, 1], [14445, 1], [14444, 1], [14443, 1], [14442, 1], [14441, 1], [14440, 1], [14439, 1], [14438, 1], [14437, 1], [14436, 1], [14434, 1], [14427, 1], [14426, 1], [14425, 1], [14424, 1], [14423, 1], [14422, 1], [14442, 0, " "], [14443, 0, "i"], [14444, 0, "n"], [14445, 0, " "], [14446, 0, "t"], [14447, 0, "h"], [14448, 0, "e"], [14449, 0, " "], [14450, 0, "f"], [14451, 0, "i"], [14452, 0, "n"], [14453, 0, "a"], [14454, 0, "l"], [14455, 0, " "], [14456, 0, "o"], [14457, 0, "r"], [14458, 0, "d"], [14459, 0, "e"], [14460, 0, "r"], [14474, 0, " "], [14475, 0, "T"], [14476, 0, "h"], [14477, 0, "i"], [14478, 0, "s"], [14479, 0, " "], [14479, 1], [14478, 1], [14477, 1], [14476, 1], [14475, 1], [14474, 1], [14902, 0, "L"], [14903, 0, "e"], [14904, 0, "t"], [14905, 0, " "], [14906, 0, "$"], [14907, 0, "o"], [14908, 0, "_"], [14909, 0, "i"], [14910, 0, "$"], [14907, 1], [14907, 0, "\\"], [14908, 0, "m"], [14909, 0, "a"], [14910, 0, "t"], [14911, 0, "h"], [14912, 0, "i"], [14913, 0, "t"], [14914, 0, "{"], [14915, 0, "i"], [14916, 0, "d"], [14917, 0, "}"], [14920, 0, " "], [14921, 0, "\\"], [14922, 0, "i"], [14923, 0, "n"], [14924, 0, " "], [14925, 0, "{"], [14926, 0, "\\"], [14927, 0, "m"], [14928, 0, "a"], [14929, 0, "t"], [14930, 0, "h"], [14931, 0, "i"], [14932, 0, "t"], [14933, 0, "{"], [14934, 0, "i"], [14935, 0, "d"], [14936, 0, "_"], [14937, 0, "1"], [14938, 0, ","], [14939, 0, " "], [14936, 0, "}"], [14941, 0, "\\"], [14942, 0, "d"], [14943, 0, "o"], [14944, 0, "t"], [14945, 0, "s"], [14946, 0, ","], [14947, 0, " "], [14948, 0, "\\"], [14949, 0, "m"], [14950, 0, "a"], [14951, 0, "t"], [14952, 0, "h"], [14953, 0, "i"], [14954, 0, "t"], [14955, 0, "{"], [14956, 0, "i"], [14957, 0, "d"], [14958, 0, "}"], [14959, 0, "_"], [14960, 0, "m"], [14961, 0, "}"], [14961, 0, "\\"], [14925, 0, "\\"], [14965, 0, " "], [14966, 0, "b"], [14967, 0, "e"], [14968, 0, " "], [14969, 0, "t"], [14970, 0, "h"], [14971, 0, "e"], [14972, 0, " "], [14973, 0, "I"], [14974, 0, "D"], [14975, 0, " "], [14976, 0, "o"], [14977, 0, "f"], [14978, 0, " "], [14979, 0, "a"], [14980, 0, "n"], [14981, 0, "y"], [14982, 0, " "], [14983, 0, "l"], [14984, 0, "i"], [14985, 0, "s"], [14986, 0, "t"], [14987, 0, " "], [14988, 0, "e"], [14989, 0, "l"], [14990, 0, "e"], [14991, 0, "m"], [14992, 0, "e"], [14993, 0, "n"], [14994, 0, "t"], [14995, 0, " "], [14996, 0, "t"], [14997, 0, "h"], [14998, 0, "a"], [14999, 0, "t"], [15000, 0, " "], [15001, 0, "a"], [15002, 0, "p"], [15003, 0, "p"], [15004, 0, "e"], [15005, 0, "a"], [15006, 0, "r"], [15007, 0, "s"], [15008, 0, " "], [15009, 0, "b"], [15010, 0, "e"], [15011, 0, "f"], [15012, 0, "o"], [15013, 0, "r"], [15014, 0, "e"], [15015, 0, " "], [15016, 0, "$"], [15017, 0, "o"], [15018, 0, "_"], [15019, 0, "{"], [15020, 0, "n"], [15021, 0, "+"], [15022, 0, "1"], [15023, 0, "}"], [15024, 0, "$"], [15025, 0, " "], [15026, 0, "i"], [15027, 0, "n"], [15028, 0, " "], [15029, 0, "t"], [15030, 0, "h"], [15031, 0, "e"], [15032, 0, " "], [15033, 0, "f"], [15034, 0, "i"], [15035, 0, "n"], [15036, 0, "a"], [15037, 0, "l"], [15038, 0, " "], [15039, 0, "o"], [15040, 0, "r"], [15041, 0, "d"], [15042, 0, "e"], [15043, 0, "r"], [15044, 0, "."], [15045, 0, " "], [15046, 0, "T"], [15047, 0, "h"], [15048, 0, "e"], [15049, 0, " "], [15050, 0, "o"], [15051, 0, "p"], [15052, 0, "e"], [15053, 0, "r"], [15054, 0, "a"], [15055, 0, "t"], [15056, 0, "i"], [15057, 0, "o"], [15058, 0, "n"], [15059, 0, " "], [15060, 0, "$"], [15061, 0, "O"], [15061, 1], [15061, 0, "o"], [15062, 0, "_"], [15063, 0, "i"], [15064, 0, "#"], [15065, 0, "$"], [15065, 1], [15064, 1], [15064, 0, "$"], [15065, 0, " "], [15066, 0, "t"], [15067, 0, "h"], [15068, 0, "a"], [15069, 0, "t"], [15070, 0, " "], [15071, 0, "i"], [15072, 0, "n"], [15073, 0, "s"], [15074, 0, "e"], [15075, 0, "r"], [15076, 0, "t"], [15077, 0, "s"], [15078, 0, " "], [15079, 0, "$"], [15080, 0, "\\"], [15081, 0, "m"], [15082, 0, "a"], [15083, 0, "t"], [15084, 0, "h"], [15085, 0, "i"], [15086, 0, "t"], [15087, 0, "{"], [15088, 0, "i"], [15089, 0, "d"], [15090, 0, "}"], [15091, 0, "_"], [15092, 0, "i"], [15093, 0, "$"], [15094, 0, " "], [15095, 0, "o"], [15096, 0, "c"], [15097, 0, "c"], [15098, 0, "u"], [15099, 0, "r"], [15100, 0, "s"], [15101, 0, " "], [15102, 0, "e"], [15103, 0, "i"], [15104, 0, "t"], [15105, 0, "h"], [15106, 0, "e"], [15107, 0, "r"], [15108, 0, " "], [15109, 0, "b"], [15110, 0, "e"], [15111, 0, "f"], [15112, 0, "o"], [15113, 0, "r"], [15114, 0, "e"], [15115, 0, " "], [15116, 0, "o"], [15117, 0, "r"], [15118, 0, " "], [15119, 0, "a"], [15120, 0, "f"], [15121, 0, "t"], [15122, 0, "e"], [15123, 0, "r"], [15124, 0, " "], [15125, 0, "$"], [15126, 0, "o"], [15127, 0, "_"], [15128, 0, "{"], [15129, 0, "n"], [15130, 0, "+"], [15131, 0, "1"], [15132, 0, "}"], [15133, 0, "$"], [15134, 0, " "], [15135, 0, "i"], [15136, 0, "n"], [15137, 0, " "], [15138, 0, "$"], [15139, 0, "H"], [15140, 0, "_"], [15141, 0, "c"], [15142, 0, "$"], [15143, 0, "."], [15144, 0, " "], [15100, 1], [15099, 1], [15098, 1], [15097, 1], [15096, 1], [15095, 1], [15095, 0, "i"], [15096, 0, "s"], [15097, 0, " "], [15098, 0, "a"], [15099, 0, "p"], [15100, 0, "p"], [15101, 0, "l"], [15102, 0, "i"], [15103, 0, "e"], [15104, 0, "d"], [15149, 0, "I"], [15150, 0, "f"], [15151, 0, " "], [15152, 0, "$"], [15153, 0, "o"], [15154, 0, "_"], [15155, 0, "i"], [15156, 0, "$"], [15157, 0, " "], [15158, 0, "i"], [15159, 0, "s"], [15160, 0, " "], [15161, 0, "a"], [15162, 0, "p"], [15163, 0, "p"], [15164, 0, "l"], [15165, 0, "i"], [15166, 0, "e"], [15167, 0, "d"], [15168, 0, " "], [15169, 0, "b"], [15170, 0, "e"], [15171, 0, "f"], [15172, 0, "o"], [15173, 0, "r"], [15174, 0, "e"], [15175, 0, " "], [15176, 0, "$"], [15177, 0, "o"], [15178, 0, "_"], [15179, 0, "{"], [15180, 0, "n"], [15181, 0, "+"], [15182, 0, "1"], [15183, 0, "}"], [15184, 0, "$"], [15185, 0, ","], [15186, 0, " "], [15187, 0, "t"], [15188, 0, "h"], [15189, 0, "a"], [15190, 0, "t"], [15191, 0, " "], [15192, 0, "i"], [15193, 0, "m"], [15194, 0, "p"], [15195, 0, "l"], [15196, 0, "i"], [15197, 0, "e"], [15198, 0, "s"], [15199, 0, " "], [15200, 0, "$"], [15201, 0, "\\"], [15202, 0, "m"], [15203, 0, "a"], [15204, 0, "t"], [15205, 0, "h"], [15206, 0, "i"], [15207, 0, "t"], [15208, 0, "{"], [15209, 0, "i"], [15210, 0, "d"], [15211, 0, "}"], [15212, 0, "_"], [15213, 0, "i"], [15214, 0, " "], [15214, 1], [15214, 0, "$"], [15215, 0, "."], [15201, 0, "\\"], [15202, 0, "m"], [15203, 0, "a"], [15204, 0, "t"], [15205, 0, "h"], [15206, 0, "i"], [15207, 0, "t"], [15208, 0, "{"], [15209, 0, "i"], [15210, 0, "d"], [15211, 0, "}"], [15212, 0, " "], [15213, 0, "<"], [15214, 0, " "], [14900, 0, "\n"], [14901, 0, "\n"], [14902, 0, "L"], [14903, 0, "e"], [14904, 0, "t"], [14905, 0, " "], [14906, 0, "$"], [14907, 0, "O"], [14908, 0, "_"], [14909, 0, "{"], [14909, 1], [14909, 0, "\\"], [14910, 0, "m"], [14911, 0, "a"], [14912, 0, "t"], [14913, 0, "h"], [14914, 0, "i"], [14915, 0, "t"], [14916, 0, "{"], [14917, 0, "l"], [14918, 0, "e"], [14919, 0, "f"], [14920, 0, "t"], [14921, 0, "}"], [14922, 0, " "], [14923, 0, "="], [14924, 0, " "], [14907, 1], [14907, 0, "T"], [14925, 0, "\\"], [14926, 0, "{"], [14927, 0, "\\"], [14928, 0, "m"], [14929, 0, "a"], [14930, 0, "t"], [14931, 0, "h"], [14932, 0, "i"], [14933, 0, "t"], [14934, 0, "{"], [14935, 0, "i"], [14936, 0, "d"], [14937, 0, "}"], [14938, 0, "_"], [14939, 0, "i"], [14940, 0, " "], [14941, 0, "\\"], [14942, 0, "m"], [14943, 0, "i"], [14944, 0, "d"], [14945, 0, " "], [14946, 0, "\\"], [14947, 0, "m"], [14948, 0, "a"], [14949, 0, "t"], [14950, 0, "h"], [14951, 0, "s"], [14952, 0, "f"], [14953, 0, "{"], [14954, 0, "i"], [14955, 0, "n"], [14956, 0, "s"], [14957, 0, "e"], [14958, 0, "r"], [14959, 0, "t"], [14960, 0, "}"], [14961, 0, "("], [14962, 0, "\\"], [14963, 0, "m"], [14964, 0, "a"], [14965, 0, "t"], [14966, 0, "h"], [14967, 0, "i"], [14968, 0, "d"], [14969, 0, "{"], [14969, 1], [14968, 1], [14968, 0, "t"], [14969, 0, "{"], [14970, 0, "i"], [14971, 0, "d"], [14972, 0, "}"], [14973, 0, "_"], [14974, 0, "i"], [14975, 0, ","], [14976, 0, " "], [14977, 0, "\\"], [14978, 0, "m"], [14979, 0, "a"], [14980, 0, "t"], [14981, 0, "h"], [14982, 0, "i"], [14983, 0, "t"], [14984, 0, "{"], [14985, 0, "p"], [14986, 0, "r"], [14987, 0, "e"], [14988, 0, "v"], [14989, 0, "}"], [14990, 0, ","], [14991, 0, " "], [14992, 0, "\\"], [14993, 0, "p"], [14994, 0, "l"], [14995, 0, "a"], [14996, 0, "c"], [14997, 0, "e"], [14998, 0, "h"], [14999, 0, "o"], [15000, 0, "l"], [15001, 0, "d"], [15002, 0, "e"], [15003, 0, "r"], [15004, 0, ")"], [15005, 0, " "], [15006, 0, "\\"], [15007, 0, "i"], [15008, 0, "n"], [15009, 0, " "], [15010, 0, "H"], [15011, 0, "_"], [15012, 0, "c"], [15013, 0, "\\"], [15014, 0, "}"], [15015, 0, "$"], [15016, 0, " "], [15017, 0, "b"], [15018, 0, "e"], [15019, 0, " "], [15020, 0, "t"], [15021, 0, "h"], [15022, 0, "e"], [15023, 0, " "], [15024, 0, "I"], [15025, 0, "D"], [15026, 0, "s"], [15027, 0, " "], [15028, 0, "o"], [15029, 0, "f"], [15030, 0, " "], [15031, 0, "a"], [15032, 0, "l"], [15033, 0, "l"], [15034, 0, " "], [15035, 0, "o"], [15036, 0, "p"], [15037, 0, "e"], [15038, 0, "r"], [15039, 0, "a"], [15040, 0, "t"], [15041, 0, "i"], [15042, 0, "o"], [15043, 0, "n"], [15044, 0, "s"], [15045, 0, " "], [15046, 0, "i"], [15047, 0, "n"], [15048, 0, " "], [15049, 0, "$"], [15050, 0, "H"], [15051, 0, "_"], [15052, 0, "c"], [15053, 0, "$"], [15054, 0, " "], [15055, 0, "t"], [15056, 0, "h"], [15057, 0, "a"], [15058, 0, "t"], [15059, 0, " "], [15060, 0, "u"], [15061, 0, "s"], [15062, 0, "e"], [15063, 0, " "], [15064, 0, "$"], [15065, 0, "\\"], [15066, 0, "m"], [15067, 0, "a"], [15068, 0, "t"], [15069, 0, "h"], [15070, 0, "i"], [15071, 0, "t"], [15072, 0, "{"], [15073, 0, "p"], [15074, 0, "r"], [15075, 0, "e"], [15076, 0, "v"], [15077, 0, "}"], [15078, 0, "$"], [15079, 0, " "], [15080, 0, "a"], [15081, 0, "s"], [15082, 0, " "], [15083, 0, "t"], [15084, 0, "h"], [15085, 0, "e"], [15086, 0, "i"], [15087, 0, "r"], [15088, 0, " "], [15089, 0, "r"], [15090, 0, "e"], [15091, 0, "f"], [15092, 0, "e"], [15093, 0, "r"], [15094, 0, "e"], [15095, 0, "n"], [15096, 0, "c"], [15097, 0, "e"], [15098, 0, " "], [15099, 0, "p"], [15100, 0, "o"], [15101, 0, "s"], [15102, 0, "i"], [15103, 0, "t"], [15104, 0, "i"], [15105, 0, "o"], [15106, 0, "n"], [15107, 0, "."], [15015, 0, " "], [15016, 0, "\\"], [15017, 0, "c"], [15018, 0, "u"], [15019, 0, " "], [15020, 0, "p"], [15020, 1], [15019, 1], [15019, 0, "p"], [15020, 0, " "], [15021, 0, "\\"], [15022, 0, "m"], [15023, 0, "a"], [15024, 0, "t"], [15025, 0, "h"], [15026, 0, "i"], [15027, 0, "t"], [15021, 0, "\\"], [15022, 0, "{"], [15030, 0, "{"], [15031, 0, "i"], [15032, 0, "d"], [15033, 0, "}"], [15034, 0, "\\"], [15035, 0, "}"], [15075, 0, " "], [15076, 0, "a"], [15077, 0, "n"], [15078, 0, "d"], [15079, 0, " "], [15080, 0, "$"], [15080, 1], [15079, 1], [15078, 1], [15077, 1], [15076, 1], [15075, 1], [15035, 1], [15034, 1], [15033, 1], [15032, 1], [15031, 1], [15030, 1], [15029, 1], [15028, 1], [15027, 1], [15026, 1], [15025, 1], [15024, 1], [15023, 1], [15022, 1], [15021, 1], [15020, 1], [15019, 1], [15018, 1], [15017, 1], [15016, 1], [15015, 1], [14905, 0, " "], [14906, 0, "t"], [14907, 0, "h"], [14908, 0, "e"], [14909, 0, " "], [14910, 0, "s"], [14911, 0, "e"], [14912, 0, "t"], [15026, 1], [15025, 1], [15025, 0, "c"], [15026, 0, "o"], [15027, 0, "n"], [15028, 0, "t"], [15029, 0, "a"], [15030, 0, "i"], [15031, 0, "n"], [15121, 0, " "], [15122, 0, "A"], [15123, 0, "n"], [15124, 0, "y"], [15125, 0, " "], [15126, 0, "h"], [15127, 0, "i"], [15128, 0, "s"], [15129, 0, "t"], [15130, 0, "o"], [15131, 0, "r"], [15132, 0, "y"], [15133, 0, " "], [15134, 0, "c"], [15135, 0, "o"], [15136, 0, "n"], [15137, 0, "t"], [15138, 0, "a"], [15139, 0, "i"], [15140, 0, "n"], [15141, 0, "i"], [15142, 0, "n"], [15143, 0, "g"], [15144, 0, " "], [15145, 0, "t"], [15146, 0, "h"], [15147, 0, "e"], [15148, 0, "s"], [15149, 0, "e"], [15150, 0, " "], [15151, 0, "o"], [15152, 0, "p"], [15153, 0, "e"], [15154, 0, "r"], [15155, 0, "a"], [15156, 0, "t"], [15157, 0, "i"], [15158, 0, "o"], [15159, 0, "n"], [15160, 0, "s"], [15145, 0, "o"], [15146, 0, "n"], [15147, 0, "l"], [15148, 0, "y"], [15149, 0, " "], [15143, 1], [15142, 1], [15141, 1], [15140, 1], [15139, 1], [15138, 1], [15137, 1], [15137, 0, "s"], [15138, 0, "i"], [15139, 0, "s"], [15140, 0, "t"], [15141, 0, "i"], [15142, 0, "n"], [15143, 0, "g"], [15149, 0, " "], [15150, 0, "o"], [15151, 0, "f"], [15169, 0, " "], [15169, 1], [15169, 0, ","], [15170, 0, " "], [15171, 0, "i"], [15172, 0, "n"], [15173, 0, " "], [15174, 0, "a"], [15175, 0, "n"], [15176, 0, "y"], [15177, 0, " "], [15178, 0, "o"], [15179, 0, "r"], [15180, 0, "d"], [15181, 0, "e"], [15182, 0, "r"], [15183, 0, ","], [15184, 0, " "], [15185, 0, "r"], [15186, 0, "e"], [15187, 0, "s"], [15188, 0, "u"], [15189, 0, "l"], [15190, 0, "t"], [15191, 0, "s"], [15192, 0, " "], [15193, 0, "i"], [15194, 0, "n"], [15195, 0, " "], [15196, 0, "t"], [15197, 0, "h"], [15198, 0, "e"], [15199, 0, " "], [15200, 0, "s"], [15201, 0, "a"], [15202, 0, "m"], [15203, 0, "e"], [15204, 0, " "], [15205, 0, "f"], [15206, 0, "i"], [15207, 0, "n"], [15208, 0, "a"], [15209, 0, "l"], [15210, 0, " "], [15211, 0, "l"], [15212, 0, "i"], [15213, 0, "s"], [15214, 0, "t"], [15215, 0, " "], [15216, 0, "o"], [15217, 0, "r"], [15218, 0, "d"], [15219, 0, "e"], [15220, 0, "r"], [15221, 0, ","], [15222, 0, " "], [15223, 0, "n"], [15224, 0, "a"], [15225, 0, "m"], [15226, 0, "e"], [15227, 0, "l"], [15228, 0, "y"], [15229, 0, " "], [15230, 0, "i"], [15231, 0, "n"], [15232, 0, " "], [15233, 0, "o"], [15234, 0, "r"], [15235, 0, "d"], [15236, 0, "e"], [15237, 0, "r"], [15238, 0, " "], [15239, 0, "o"], [15240, 0, "f"], [15241, 0, " "], [15242, 0, "d"], [15243, 0, "e"], [15244, 0, "s"], [15245, 0, "c"], [15246, 0, "e"], [15247, 0, "n"], [15248, 0, "d"], [15249, 0, "i"], [15250, 0, "n"], [15251, 0, "g"], [15252, 0, " "], [15253, 0, "L"], [15254, 0, "a"], [15255, 0, "m"], [15256, 0, "p"], [15257, 0, "o"], [15258, 0, "r"], [15259, 0, "t"], [15260, 0, " "], [15261, 0, "t"], [15262, 0, "i"], [15263, 0, "m"], [15264, 0, "e"], [15265, 0, "s"], [15266, 0, "t"], [15267, 0, "a"], [15268, 0, "m"], [15269, 0, "p"], [15270, 0, "."], [15271, 0, " "], [15272, 0, "S"], [15273, 0, "i"], [15274, 0, "n"], [15275, 0, "c"], [15276, 0, "e"], [15277, 0, " "], [15278, 0, "L"], [15279, 0, "a"], [15280, 0, "m"], [15281, 0, "p"], [15282, 0, "o"], [15283, 0, "r"], [15284, 0, "t"], [15285, 0, " "], [15286, 0, "t"], [15287, 0, "i"], [15288, 0, "m"], [15289, 0, "e"], [15290, 0, "s"], [15291, 0, "t"], [15292, 0, "a"], [15293, 0, "m"], [15294, 0, "p"], [15295, 0, "s"], [15296, 0, " "], [15297, 0, "a"], [15298, 0, "r"], [15299, 0, "e"], [15300, 0, " "], [15301, 0, "t"], [15302, 0, "o"], [15303, 0, "t"], [15304, 0, "a"], [15305, 0, "l"], [15306, 0, "l"], [15307, 0, "y"], [15308, 0, " "], [15309, 0, "o"], [15310, 0, "r"], [15311, 0, "d"], [15312, 0, "e"], [15313, 0, "r"], [15314, 0, "e"], [15315, 0, "d"], [15316, 0, ","], [15317, 0, " "], [15318, 0, "t"], [15319, 0, "h"], [15320, 0, "i"], [15321, 0, "s"], [15322, 0, " "], [15323, 0, "l"], [15324, 0, "i"], [15325, 0, "s"], [15326, 0, "t"], [15327, 0, " "], [15328, 0, "o"], [15329, 0, "r"], [15330, 0, "d"], [15331, 0, "e"], [15332, 0, "r"], [15333, 0, " "], [15334, 0, "i"], [15335, 0, "s"], [15336, 0, " "], [15337, 0, "d"], [15338, 0, "e"], [15339, 0, "t"], [15340, 0, "e"], [15341, 0, "r"], [15342, 0, "m"], [15343, 0, "i"], [15344, 0, "n"], [15345, 0, "i"], [15346, 0, "s"], [15347, 0, "t"], [15348, 0, "i"], [15349, 0, "c"], [15350, 0, " "], [15351, 0, "a"], [15352, 0, "n"], [15353, 0, "d"], [15354, 0, " "], [15355, 0, "u"], [15356, 0, "n"], [15357, 0, "q"], [15358, 0, "i"], [15358, 1], [15357, 1], [15357, 0, "i"], [15358, 0, "q"], [15359, 0, "u"], [15360, 0, "e"], [15361, 0, "."], [15362, 0, "\n"], [15363, 0, "\n"], [15364, 0, "W"], [15365, 0, "h"], [15366, 0, "e"], [15367, 0, "n"], [15368, 0, " "], [15369, 0, "o"], [15370, 0, "p"], [15371, 0, "e"], [15372, 0, "r"], [15373, 0, "a"], [15374, 0, "t"], [15375, 0, "i"], [15376, 0, "o"], [15377, 0, "n"], [15378, 0, "s"], [15379, 0, " "], [15380, 0, "a"], [15381, 0, "r"], [15382, 0, "e"], [15383, 0, " "], [15384, 0, "a"], [15385, 0, "d"], [15386, 0, "d"], [15387, 0, "e"], [15388, 0, "d"], [15270, 0, " "], [15271, 0, "("], [15272, 0, "T"], [15273, 0, "O"], [15274, 0, "D"], [15275, 0, "O"], [15276, 0, " "], [15277, 0, "p"], [15278, 0, "r"], [15279, 0, "o"], [15280, 0, "v"], [15281, 0, "e"], [15282, 0, " "], [15283, 0, "t"], [15284, 0, "h"], [15285, 0, "i"], [15286, 0, "s"], [15287, 0, " "], [15288, 0, "i"], [15289, 0, "n"], [15290, 0, " "], [15291, 0, "a"], [15292, 0, " "], [15293, 0, "l"], [15294, 0, "e"], [15295, 0, "m"], [15296, 0, "m"], [15297, 0, "a"], [15298, 0, ")"], [15298, 0, ","], [15299, 0, " "], [15300, 0, "i"], [15301, 0, "t"], [15302, 0, " "], [15303, 0, "m"], [15304, 0, "i"], [15305, 0, "g"], [15306, 0, "h"], [15307, 0, "t"], [15308, 0, " "], [15309, 0, "n"], [15310, 0, "o"], [15311, 0, "t"], [15312, 0, " "], [15313, 0, "b"], [15314, 0, "e"], [15315, 0, " "], [15316, 0, "o"], [15317, 0, "b"], [15318, 0, "v"], [15319, 0, "i"], [15320, 0, "o"], [15321, 0, "u"], [15322, 0, "s"], [15433, 0, " "], [15421, 1], [15420, 1], [15419, 1], [15418, 1], [15418, 0, "A"], [15419, 0, "n"], [15420, 0, "y"], [15433, 0, "i"], [15434, 0, "n"], [15435, 0, " "], [15436, 0, "$"], [15437, 0, "H"], [15438, 0, "_"], [15439, 0, "c"], [15440, 0, "$"], [15441, 0, " "], [15416, 0, " "], [15417, 0, "$"], [15418, 0, "\\"], [15419, 0, "m"], [15420, 0, "a"], [15421, 0, "t"], [15422, 0, "h"], [15423, 0, "i"], [15424, 0, "t"], [15425, 0, "{"], [15426, 0, "i"], [15427, 0, "d"], [15428, 0, "}"], [15429, 0, "$"], [15430, 0, " "], [15431, 0, "h"], [15432, 0, "a"], [15433, 0, "s"], [15434, 0, " "], [15435, 0, "a"], [15436, 0, " "], [15437, 0, "d"], [15438, 0, "e"], [15439, 0, "t"], [15440, 0, "e"], [15441, 0, "r"], [15442, 0, "m"], [15443, 0, "i"], [15444, 0, "n"], [15445, 0, "i"], [15446, 0, "s"], [15447, 0, "t"], [15448, 0, "i"], [15449, 0, "c"], [15450, 0, " "], [15451, 0, "p"], [15452, 0, "o"], [15453, 0, "s"], [15454, 0, "i"], [15455, 0, "t"], [15456, 0, "i"], [15457, 0, "o"], [15458, 0, "n"], [15459, 0, " "], [15460, 0, "w"], [15461, 0, "i"], [15462, 0, "t"], [15463, 0, "h"], [15464, 0, "i"], [15465, 0, "n"], [15466, 0, " "], [15467, 0, "t"], [15468, 0, "h"], [15469, 0, "i"], [15470, 0, "s"], [15471, 0, " "], [15472, 0, "o"], [15473, 0, "r"], [15474, 0, "d"], [15475, 0, "e"], [15476, 0, "r"], [15477, 0, "."], [15513, 1], [15512, 1], [15511, 1], [15510, 1], [15509, 1], [15508, 1], [15507, 1], [15506, 1], [15505, 1], [15504, 1], [15504, 0, "t"], [15505, 0, "h"], [15506, 0, "a"], [15507, 0, "t"], [15508, 0, " "], [15509, 0, "u"], [15510, 0, "s"], [15511, 0, "e"], [15512, 0, " "], [15513, 0, "a"], [15514, 0, " "], [15515, 0, "d"], [15516, 0, "i"], [15517, 0, "f"], [15518, 0, "f"], [15519, 0, "e"], [15520, 0, "r"], [15521, 0, "e"], [15522, 0, "n"], [15523, 0, "t"], [15524, 0, " "], [15525, 0, "l"], [15526, 0, "i"], [15527, 0, "s"], [15528, 0, "t"], [15529, 0, " "], [15530, 0, "e"], [15531, 0, "l"], [15532, 0, "e"], [15533, 0, "m"], [15534, 0, "e"], [15535, 0, "n"], [15536, 0, "t"], [15537, 0, " "], [15538, 0, "("], [15539, 0, "n"], [15540, 0, "o"], [15541, 0, "t"], [15542, 0, " "], [15543, 0, "$"], [15544, 0, "\\"], [15545, 0, "m"], [15546, 0, "a"], [15547, 0, "t"], [15548, 0, "h"], [15549, 0, "i"], [15550, 0, "t"], [15551, 0, "{"], [15552, 0, "p"], [15553, 0, "r"], [15554, 0, "e"], [15555, 0, "v"], [15556, 0, "}"], [15557, 0, "$"], [15558, 0, " "], [15558, 1], [15558, 0, ")"], [15559, 0, " "], [15560, 0, "a"], [15561, 0, "s"], [15562, 0, " "], [15563, 0, "t"], [15564, 0, "h"], [15565, 0, "e"], [15566, 0, "i"], [15567, 0, "r"], [15568, 0, " "], [15569, 0, "r"], [15570, 0, "e"], [15571, 0, "f"], [15572, 0, "e"], [15573, 0, "r"], [15574, 0, "e"], [15575, 0, "n"], [15576, 0, "c"], [15577, 0, "e"], [15578, 0, " "], [15579, 0, "p"], [15580, 0, "o"], [15581, 0, "s"], [15582, 0, "i"], [15583, 0, "t"], [15584, 0, "i"], [15585, 0, "o"], [15586, 0, "n"], [15587, 0, " "], [15588, 0, "a"], [15589, 0, "p"], [15590, 0, "p"], [15591, 0, "e"], [15592, 0, "a"], [15593, 0, "r"], [15594, 0, " "], [15595, 0, "a"], [15595, 1], [15595, 0, "a"], [15596, 0, "t"], [15597, 0, " "], [15598, 0, "s"], [15599, 0, "o"], [15600, 0, "m"], [15601, 0, "e"], [15602, 0, " "], [15603, 0, "p"], [15604, 0, "o"], [15605, 0, "s"], [15606, 0, "i"], [15607, 0, "t"], [15608, 0, "i"], [15609, 0, "o"], [15610, 0, "n"], [15611, 0, " "], [15612, 0, "a"], [15613, 0, "f"], [15614, 0, "t"], [15615, 0, "e"], [15616, 0, "r"], [15617, 0, " "], [15618, 0, "t"], [15619, 0, "h"], [15620, 0, "e"], [15621, 0, "i"], [15622, 0, "r"], [15623, 0, " "], [15624, 0, "r"], [15625, 0, "e"], [15626, 0, "f"], [15627, 0, "e"], [15628, 0, "r"], [15629, 0, "e"], [15630, 0, "n"], [15631, 0, "c"], [15632, 0, "e"], [15633, 0, " "], [15634, 0, "e"], [15635, 0, "l"], [15636, 0, "e"], [15637, 0, "m"], [15638, 0, "e"], [15639, 0, "n"], [15640, 0, "t"], [15641, 0, " "], [15642, 0, "i"], [15643, 0, "n"], [15644, 0, " "], [15645, 0, "t"], [15646, 0, "h"], [15647, 0, "e"], [15648, 0, " "], [15649, 0, "f"], [15650, 0, "i"], [15651, 0, "n"], [15652, 0, "a"], [15653, 0, "l"], [15654, 0, " "], [15655, 0, "l"], [15656, 0, "i"], [15657, 0, "s"], [15658, 0, "t"], [15659, 0, " "], [15660, 0, "o"], [15661, 0, "r"], [15662, 0, "d"], [15663, 0, "e"], [15664, 0, "r"], [15665, 0, ","], [15666, 0, " "], [15667, 0, "a"], [15668, 0, "n"], [15669, 0, "d"], [15670, 0, " "], [15671, 0, "h"], [15672, 0, "a"], [15673, 0, "v"], [15674, 0, "e"], [15675, 0, " "], [15676, 0, "a"], [15677, 0, " "], [15678, 0, "L"], [15679, 0, "a"], [15680, 0, "m"], [15681, 0, "p"], [15682, 0, "o"], [15683, 0, "r"], [15684, 0, "t"], [15685, 0, " "], [15686, 0, "t"], [15687, 0, "i"], [15688, 0, "m"], [15689, 0, "e"], [15690, 0, "s"], [15691, 0, "t"], [15692, 0, "a"], [15693, 0, "m"], [15694, 0, "p"], [15695, 0, " "], [15696, 0, "g"], [15697, 0, "r"], [15698, 0, "e"], [15699, 0, "a"], [15700, 0, "t"], [15701, 0, "e"], [15702, 0, "r"], [15703, 0, " "], [15704, 0, "t"], [15705, 0, "h"], [15706, 0, "a"], [15707, 0, "n"], [15708, 0, " "], [15709, 0, "t"], [15710, 0, "h"], [15711, 0, "e"], [15712, 0, "i"], [15713, 0, "r"], [15714, 0, " "], [15715, 0, "r"], [15716, 0, "e"], [15717, 0, "f"], [15718, 0, "e"], [15719, 0, "r"], [15720, 0, "e"], [15721, 0, "n"], [15722, 0, "c"], [15723, 0, "e"], [15724, 0, " "], [15725, 0, "e"], [15726, 0, "l"], [15727, 0, "e"], [15728, 0, "m"], [15729, 0, "e"], [15730, 0, "n"], [15731, 0, "t"], [15732, 0, "."], [15733, 0, " "], [15734, 0, "I"], [15735, 0, "f"], [15736, 0, " "], [15737, 0, "t"], [15738, 0, "h"], [15739, 0, "e"], [15740, 0, " "], [15741, 0, "r"], [15742, 0, "e"], [15743, 0, "f"], [15744, 0, "e"], [15745, 0, "r"], [15746, 0, "e"], [15747, 0, "n"], [15748, 0, "c"], [15749, 0, "e"], [15750, 0, " "], [15751, 0, "e"], [15752, 0, "l"], [15753, 0, "e"], [15754, 0, "m"], [15755, 0, "e"], [15756, 0, "n"], [15757, 0, "t"], [15758, 0, " "], [15759, 0, "a"], [15760, 0, "p"], [15761, 0, "p"], [15762, 0, "e"], [15763, 0, "a"], [15764, 0, "r"], [15765, 0, "s"], [15766, 0, " "], [15767, 0, "b"], [15768, 0, "e"], [15769, 0, "f"], [15770, 0, "o"], [15771, 0, "r"], [15772, 0, "e"], [15773, 0, " "], [15774, 0, "$"], [15775, 0, "o"], [15776, 0, "_"], [15777, 0, "{"], [15778, 0, "n"], [15779, 0, "+"], [15780, 0, "1"], [15781, 0, "}"], [15782, 0, "$"], [15783, 0, " "], [15784, 0, "i"], [15785, 0, "n"], [15786, 0, " "], [15787, 0, "t"], [15788, 0, "h"], [15789, 0, "e"], [15790, 0, " "], [15791, 0, "f"], [15792, 0, "i"], [15793, 0, "n"], [15794, 0, "a"], [15795, 0, "l"], [15796, 0, " "], [15797, 0, "o"], [15798, 0, "r"], [15799, 0, "d"], [15800, 0, "e"], [15801, 0, "r"], [15802, 0, ","], [15803, 0, " "], [15804, 0, "a"], [15805, 0, "n"], [15806, 0, "d"], [15807, 0, " "], [15493, 1], [15493, 0, " "], [15494, 0, "$"], [15495, 0, "o"], [15496, 0, "_"], [15497, 0, "i"], [15498, 0, "$"], [15517, 0, "s"], [15573, 1], [15572, 1], [15571, 1], [15570, 1], [15569, 1], [15568, 1], [15568, 0, " "], [15569, 0, "i"], [15570, 0, "t"], [15571, 0, "s"], [15598, 0, "s"], [15627, 1], [15626, 1], [15625, 1], [15624, 1], [15623, 1], [15623, 0, "i"], [15624, 0, "t"], [15625, 0, "s"], [15677, 1], [15676, 1], [15676, 0, "s"], [15715, 1], [15714, 1], [15713, 1], [15712, 1], [15711, 1], [15711, 0, "i"], [15712, 0, "t"], [15713, 0, "s"], [15808, 0, "a"], [15809, 0, "n"], [15810, 0, "d"], [15811, 0, " "], [15812, 0, "$"], [15812, 1], [15811, 1], [15810, 1], [15809, 1], [15808, 1], [15808, 0, "$"], [15809, 0, "o"], [15810, 0, "_"], [15811, 0, "i"], [15812, 0, "$"], [15813, 0, " "], [15814, 0, "a"], [15815, 0, "p"], [15816, 0, "p"], [15817, 0, "e"], [15818, 0, "a"], [15819, 0, "r"], [15820, 0, "s"], [15821, 0, " "], [15822, 0, "b"], [15823, 0, "e"], [15824, 0, "f"], [15825, 0, "o"], [15826, 0, "r"], [15827, 0, "e"], [15828, 0, " "], [15829, 0, "$"], [15830, 0, "o"], [15831, 0, "_"], [15832, 0, "{"], [15833, 0, "n"], [15834, 0, "+"], [15835, 0, "1"], [15836, 0, "}"], [15837, 0, "$"], [15838, 0, " "], [15839, 0, "i"], [15840, 0, "n"], [15841, 0, " "], [15842, 0, "t"], [15843, 0, "h"], [15844, 0, "e"], [15845, 0, " "], [15846, 0, "h"], [15847, 0, "i"], [15848, 0, "s"], [15849, 0, "t"], [15850, 0, "o"], [15851, 0, "r"], [15852, 0, "y"], [15853, 0, ","], [15854, 0, " "], [15855, 0, "t"], [15856, 0, "h"], [15857, 0, "e"], [15858, 0, "n"], [15859, 0, " "], [15860, 0, "t"], [15861, 0, "h"], [15862, 0, "e"], [15863, 0, " "], [15864, 0, "a"], [15865, 0, "p"], [15866, 0, "p"], [15867, 0, "l"], [15868, 0, "y"], [15869, 0, " "], [15870, 0, "r"], [15871, 0, "u"], [15872, 0, "l"], [15873, 0, "e"], [15874, 0, " "], [15875, 0, "w"], [15876, 0, "i"], [15877, 0, "l"], [15878, 0, "l"], [15879, 0, " "], [15879, 1], [15878, 1], [15877, 1], [15876, 1], [15875, 1], [15875, 0, "f"], [15876, 0, "o"], [15877, 0, "r"], [15878, 0, " "], [15879, 0, "#"], [15879, 1], [15879, 0, "$"], [15880, 0, "o"], [15881, 0, "_"], [15882, 0, "{"], [15883, 0, "n"], [15884, 0, "+"], [15885, 0, "1"], [15886, 0, "}"], [15887, 0, "$"], [15888, 0, " "], [15889, 0, "s"], [15890, 0, "k"], [15891, 0, "i"], [15892, 0, "p"], [15893, 0, "s"], [15894, 0, " "], [15895, 0, "o"], [15896, 0, "v"], [15897, 0, "e"], [15898, 0, "r"], [15899, 0, " "], [15900, 0, "b"], [15901, 0, "o"], [15902, 0, "t"], [15903, 0, "h"], [15904, 0, " "], [15905, 0, "$"], [15906, 0, "o"], [15907, 0, "_"], [15908, 0, "i"], [15909, 0, "$"], [15910, 0, " "], [15911, 0, "a"], [15912, 0, "n"], [15913, 0, "d"], [15914, 0, " "], [15915, 0, "t"], [15916, 0, "h"], [15917, 0, "e"], [15918, 0, " "], [15919, 0, "r"], [15920, 0, "e"], [15921, 0, "f"], [15922, 0, "e"], [15923, 0, "r"], [15924, 0, "e"], [15925, 0, "n"], [15926, 0, "c"], [15927, 0, "e"], [15928, 0, " "], [15929, 0, "e"], [15930, 0, "l"], [15931, 0, "e"], [15932, 0, "m"], [15933, 0, "e"], [15934, 0, "n"], [15935, 0, "t"], [15936, 0, ","], [15937, 0, " "], [15938, 0, "s"], [15939, 0, "i"], [15940, 0, "n"], [15941, 0, "c"], [15942, 0, "e"], [15943, 0, " "], [15944, 0, "t"], [15945, 0, "h"], [15946, 0, "e"], [15947, 0, "y"], [15948, 0, " "], [15949, 0, "m"], [15950, 0, "u"], [15951, 0, "s"], [15952, 0, "t"], [15953, 0, " "], [15954, 0, "b"], [15955, 0, "o"], [15956, 0, "t"], [15957, 0, "h"], [15958, 0, " "], [15959, 0, "h"], [15960, 0, "a"], [15961, 0, "v"], [15962, 0, "e"], [15963, 0, " "], [15964, 0, "t"], [15965, 0, "i"], [15966, 0, "m"], [15967, 0, "e"], [15968, 0, "s"], [15969, 0, "t"], [15970, 0, "a"], [15971, 0, "m"], [15972, 0, "p"], [15973, 0, "s"], [15974, 0, " "], [15975, 0, "g"], [15976, 0, "r"], [15977, 0, "e"], [15978, 0, "a"], [15979, 0, "t"], [15980, 0, "h"], [15981, 0, "e"], [15982, 0, "r"], [15983, 0, " "], [15984, 0, "t"], [15985, 0, "h"], [15986, 0, "a"], [15986, 1], [15985, 1], [15984, 1], [15983, 1], [15982, 1], [15981, 1], [15980, 1], [15980, 0, "e"], [15981, 0, "r"], [15982, 0, " "], [15983, 0, "t"], [15984, 0, "h"], [15985, 0, "a"], [15986, 0, "n"], [15987, 0, " "], [15988, 0, "$"], [15989, 0, "\\"], [15990, 0, "m"], [15991, 0, "a"], [15992, 0, "t"], [15993, 0, "h"], [15994, 0, "i"], [15995, 0, "t"], [15996, 0, "{"], [15997, 0, "i"], [15998, 0, "d"], [15999, 0, "}"], [16000, 0, "$"], [16001, 0, "."], [16002, 0, " "], [16003, 0, "I"], [16004, 0, "f"], [16005, 0, " "], [16006, 0, "t"], [16007, 0, "h"], [16008, 0, "e"], [16009, 0, " "], [16010, 0, "r"], [16011, 0, "e"], [16012, 0, "f"], [16013, 0, "e"], [16014, 0, "r"], [16015, 0, "e"], [16016, 0, "n"], [16017, 0, "c"], [16018, 0, "e"], [16019, 0, " "], [16020, 0, "e"], [16021, 0, "l"], [16022, 0, "e"], [16023, 0, "m"], [16024, 0, "e"], [16025, 0, "n"], [16026, 0, "t"], [16027, 0, " "], [16028, 0, "a"], [16029, 0, "p"], [16030, 0, "p"], [16031, 0, "e"], [16032, 0, "a"], [16033, 0, "r"], [16034, 0, "s"], [16035, 0, " "], [16036, 0, "b"], [16037, 0, "e"], [16038, 0, "f"], [16039, 0, "o"], [16040, 0, "r"], [16041, 0, "e"], [16042, 0, " "], [16043, 0, "$"], [16044, 0, "o"], [16045, 0, "_"], [16046, 0, "{"], [16047, 0, "n"], [16048, 0, "+"], [16049, 0, "1"], [16050, 0, "}"], [16051, 0, "$"], [16052, 0, " "], [16053, 0, "i"], [16054, 0, "n"], [16055, 0, " "], [16056, 0, "t"], [16057, 0, "h"], [16058, 0, "e"], [16059, 0, " "], [16060, 0, "f"], [16061, 0, "i"], [16062, 0, "n"], [16063, 0, "a"], [16064, 0, "l"], [16065, 0, " "], [16066, 0, "o"], [16067, 0, "r"], [16068, 0, "d"], [16069, 0, "e"], [16070, 0, "r"], [16071, 0, ","], [16072, 0, " "], [16073, 0, "a"], [16074, 0, "n"], [16075, 0, "d"], [16076, 0, " "], [16077, 0, "$"], [16078, 0, "o"], [16079, 0, "_"], [16080, 0, "i"], [16081, 0, "$"], [16082, 0, " "], [16083, 0, "a"], [16084, 0, "p"], [16085, 0, "p"], [16086, 0, "e"], [16087, 0, "a"], [16088, 0, "r"], [16089, 0, "s"], [16090, 0, " "], [16091, 0, "a"], [16092, 0, "f"], [16093, 0, "t"], [16094, 0, "e"], [16095, 0, "r"], [16096, 0, " "], [16097, 0, "$"], [16098, 0, "#"], [16098, 1], [16098, 0, "o"], [16099, 0, "_"], [16100, 0, "{"], [16101, 0, "n"], [16102, 0, "+"], [16103, 0, "1"], [16104, 0, "}"], [16105, 0, "$"], [16106, 0, " "], [16107, 0, "i"], [16108, 0, "n"], [16109, 0, " "], [16110, 0, "t"], [16111, 0, "h"], [16112, 0, "e"], [16113, 0, "i"], [16113, 1], [16113, 0, " "], [16114, 0, "h"], [16115, 0, "i"], [16116, 0, "s"], [16117, 0, "t"], [16118, 0, "o"], [16119, 0, "r"], [16120, 0, "y"], [15803, 0, " "], [15804, 0, "t"], [15805, 0, "h"], [15806, 0, "a"], [15807, 0, "t"], [15808, 0, " "], [15809, 0, "m"], [15810, 0, "e"], [15811, 0, "a"], [15812, 0, "n"], [15813, 0, "s"], [15814, 0, " "], [15815, 0, "t"], [15816, 0, "h"], [15817, 0, "e"], [15818, 0, " "], [15819, 0, "t"], [15820, 0, "i"], [15821, 0, "m"], [15822, 0, "e"], [15823, 0, "s"], [15824, 0, "t"], [15825, 0, "a"], [15826, 0, "m"], [15827, 0, "p"], [15828, 0, " "], [15829, 0, "o"], [15830, 0, "f"], [15831, 0, " "], [15832, 0, "t"], [15833, 0, "h"], [15834, 0, "e"], [15835, 0, " "], [15836, 0, "r"], [15837, 0, "e"], [15838, 0, "f"], [15839, 0, "e"], [15840, 0, "r"], [15841, 0, "e"], [15842, 0, "n"], [15843, 0, "c"], [15844, 0, "e"], [15845, 0, " "], [15846, 0, "e"], [15847, 0, "l"], [15848, 0, "e"], [15849, 0, "m"], [15850, 0, "e"], [15851, 0, "n"], [15852, 0, "t"], [15853, 0, " "], [15854, 0, "i"], [15855, 0, "s"], [15856, 0, " "], [15857, 0, "g"], [15858, 0, "r"], [15859, 0, "e"], [15860, 0, "a"], [15861, 0, "t"], [15862, 0, "e"], [15863, 0, "r"], [15864, 0, " "], [15865, 0, "t"], [15866, 0, "h"], [15867, 0, "a"], [15868, 0, "n"], [15869, 0, " "], [15870, 0, "$"], [15871, 0, "\\"], [15872, 0, "m"], [15873, 0, "a"], [15874, 0, "t"], [15875, 0, "h"], [15876, 0, "i"], [15877, 0, "t"], [15878, 0, "{"], [15879, 0, "i"], [15880, 0, "d"], [15881, 0, "}"], [15882, 0, "$"], [15855, 1], [15854, 1], [15854, 0, "a"], [15855, 0, "n"], [15856, 0, "d"], [15857, 0, " "], [15857, 1], [15856, 1], [15855, 1], [15854, 1], [15854, 0, "i"], [15855, 0, "s"], [15883, 0, ","], [15888, 0, " "], [15889, 0, "s"], [15890, 0, "o"], [15891, 0, " "], [15892, 0, "t"], [15893, 0, "h"], [15894, 0, "e"], [15895, 0, " "], [15896, 0, "t"], [15897, 0, "i"], [15898, 0, "m"], [15899, 0, "e"], [15900, 0, "s"], [15901, 0, "t"], [15902, 0, "a"], [15903, 0, "m"], [15904, 0, "p"], [15905, 0, " "], [15906, 0, "o"], [15907, 0, "f"], [15908, 0, " "], [15908, 1], [15914, 0, " "], [15915, 0, "i"], [15916, 0, "s"], [15917, 0, " "], [15918, 0, "a"], [15919, 0, "l"], [15920, 0, "s"], [15921, 0, "o"], [15922, 0, " "], [15923, 0, "g"], [15924, 0, "r"], [15925, 0, "e"], [15926, 0, "a"], [15927, 0, "t"], [15928, 0, "e"], [15929, 0, "r"], [15930, 0, " "], [15931, 0, "t"], [15932, 0, "h"], [15933, 0, "a"], [15934, 0, "n"], [15935, 0, " "], [15936, 0, "$"], [15937, 0, "{"], [15937, 1], [15937, 0, "\n"], [15937, 1], [15937, 0, "\\"], [15938, 0, "m"], [15939, 0, "a"], [15940, 0, "t"], [15941, 0, "h"], [15942, 0, "i"], [15943, 0, "t"], [15944, 0, "{"], [15945, 0, "i"], [15946, 0, "d"], [15947, 0, "}"], [15948, 0, "$"], [15949, 0, "."], [15950, 0, " "], [15951, 0, "I"], [15952, 0, "f"], [15953, 0, " "], [15954, 0, "$"], [15955, 0, "o"], [15956, 0, "_"], [15957, 0, "{"], [15958, 0, "n"], [15959, 0, "+"], [15960, 0, "1"], [15961, 0, "}"], [15962, 0, "$"], [15987, 1], [15986, 1], [15985, 1], [15984, 1], [15983, 1], [15982, 1], [15981, 1], [15980, 1], [15979, 1], [15978, 1], [15977, 1], [15976, 1], [15975, 1], [15974, 1], [15973, 1], [15972, 1], [15972, 0, "a"], [15973, 0, "f"], [15974, 0, "t"], [15975, 0, "e"], [15976, 0, "r"], [15977, 0, " "], [15978, 0, "$"], [15979, 0, "o"], [15980, 0, "_"], [15981, 0, "i"], [15982, 0, "$"], [16145, 1], [16144, 1], [16143, 1], [16142, 1], [16141, 1], [16140, 1], [16139, 1], [16138, 1], [16137, 1], [16136, 1], [16135, 1], [16134, 1], [16133, 1], [16132, 1], [16131, 1], [16130, 1], [16129, 1], [16128, 1], [16127, 1], [16126, 1], [16125, 1], [16124, 1], [16123, 1], [16122, 1], [16121, 1], [16120, 1], [16119, 1], [16118, 1], [16117, 1], [16116, 1], [16115, 1], [16114, 1], [16113, 1], [16112, 1], [16111, 1], [16110, 1], [16109, 1], [16108, 1], [16107, 1], [16106, 1], [16105, 1], [16104, 1], [16103, 1], [16102, 1], [16101, 1], [16100, 1], [16099, 1], [16098, 1], [16097, 1], [16096, 1], [16095, 1], [16094, 1], [16093, 1], [16092, 1], [16091, 1], [16090, 1], [16089, 1], [16088, 1], [16087, 1], [16086, 1], [16085, 1], [16084, 1], [16083, 1], [16082, 1], [16081, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [16086, 1], [15733, 0, " "], [15734, 0, "i"], [15735, 0, "f"], [15736, 0, " "], [15736, 1], [15735, 1], [15734, 1], [15734, 0, "I"], [15735, 0, "f"], [15736, 0, " "], [15737, 0, "t"], [15738, 0, "h"], [15739, 0, "e"], [15740, 0, " "], [15741, 0, "r"], [15742, 0, "e"], [15743, 0, "f"], [15744, 0, "e"], [15745, 0, "r"], [15746, 0, "e"], [15747, 0, "n"], [15748, 0, "c"], [15749, 0, "e"], [15750, 0, " "], [15751, 0, "e"], [15752, 0, "l"], [15753, 0, "e"], [15754, 0, "m"], [15755, 0, "e"], [15756, 0, "n"], [15757, 0, "t"], [15758, 0, " "], [15759, 0, "a"], [15760, 0, "p"], [15761, 0, "p"], [15762, 0, "e"], [15763, 0, "a"], [15764, 0, "r"], [15765, 0, "s"], [15766, 0, " "], [15767, 0, "a"], [15768, 0, "f"], [15769, 0, "t"], [15770, 0, "e"], [15771, 0, "r"], [15772, 0, " "], [15773, 0, "$"], [15774, 0, "o"], [15775, 0, "_"], [15776, 0, "{"], [15777, 0, "n"], [15778, 0, "+"], [15779, 0, "1"], [15780, 0, "}"], [15781, 0, "$"], [15782, 0, " "], [15783, 0, "i"], [15784, 0, "n"], [15785, 0, " "], [15786, 0, "t"], [15787, 0, "h"], [15788, 0, "e"], [15789, 0, " "], [15790, 0, "f"], [15791, 0, "i"], [15792, 0, "n"], [15793, 0, "a"], [15794, 0, "l"], [15795, 0, " "], [15796, 0, "o"], [15797, 0, "r"], [15798, 0, "d"], [15799, 0, "e"], [15800, 0, "r"], [15801, 0, ","], [15802, 0, " "], [15803, 0, "$"], [15804, 0, "o"], [15805, 0, "_"], [15806, 0, "i"], [15807, 0, "$"], [15808, 0, " "], [15809, 0, "a"], [15810, 0, "l"], [15811, 0, "s"], [15812, 0, "o"], [15813, 0, " "], [15814, 0, "a"], [15815, 0, "p"], [15816, 0, "p"], [15817, 0, "e"], [15818, 0, "a"], [15819, 0, "r"], [15820, 0, "s"], [15821, 0, " "], [15822, 0, "a"], [15823, 0, "f"], [15824, 0, "t"], [15825, 0, "e"], [15826, 0, "r"], [15827, 0, " "], [15828, 0, "$"], [15829, 0, "o"], [15830, 0, "_"], [15831, 0, "{"], [15832, 0, "n"], [15833, 0, "+"], [15834, 0, "1"], [15835, 0, "}"], [15836, 0, "$"], [15837, 0, ","], [15838, 0, " "], [15839, 0, "r"], [15840, 0, "e"], [15841, 0, "g"], [15842, 0, "a"], [15843, 0, "r"], [15844, 0, "d"], [15845, 0, "l"], [15846, 0, "e"], [15847, 0, "s"], [15848, 0, "s"], [15849, 0, " "], [15850, 0, "o"], [15851, 0, "f"], [15852, 0, " "], [15853, 0, "t"], [15854, 0, "h"], [15855, 0, "e"], [15856, 0, " "], [15857, 0, "o"], [15858, 0, "r"], [15859, 0, "d"], [15860, 0, "e"], [15861, 0, "r"], [15862, 0, " "], [15863, 0, "o"], [15864, 0, "f"], [15865, 0, " "], [15865, 1], [15864, 1], [15863, 1], [15862, 1], [15862, 0, " "], [15863, 0, "i"], [15864, 0, "n"], [15865, 0, " "], [15866, 0, "w"], [15867, 0, "h"], [15868, 0, "i"], [15869, 0, "c"], [15870, 0, "h"], [15871, 0, " "], [15872, 0, "o"], [15873, 0, "p"], [15874, 0, "e"], [15875, 0, "r"], [15876, 0, "a"], [15877, 0, "t"], [15878, 0, "i"], [15879, 0, "o"], [15880, 0, "n"], [15881, 0, "s"], [15882, 0, " "], [15883, 0, "a"], [15884, 0, "r"], [15885, 0, "e"], [15886, 0, " "], [15887, 0, "a"], [15888, 0, "p"], [15889, 0, "p"], [15890, 0, "l"], [15891, 0, "i"], [15892, 0, "e"], [15893, 0, "d"], [15894, 0, "."], [15895, 1], [15895, 0, "\n"], [15896, 0, "\n"], [16293, 0, ","], [16294, 0, " "], [16295, 0, "t"], [16296, 0, "h"], [16297, 0, "e"], [16298, 0, " "], [16299, 0, "a"], [16300, 0, "p"], [16301, 0, "p"], [16302, 0, "l"], [16303, 0, "y"], [16304, 0, " "], [16305, 0, "r"], [16306, 0, "u"], [16307, 0, "l"], [16308, 0, "e"], [16309, 0, " "], [16310, 0, "f"], [16311, 0, "o"], [16312, 0, "r"], [16313, 0, " "], [16314, 0, "$"], [16315, 0, "o"], [16316, 0, "_"], [16317, 0, "i"], [16318, 0, "$"], [16319, 0, " "], [16320, 0, "d"], [16321, 0, "o"], [16322, 0, "e"], [16323, 0, "s"], [16324, 0, " "], [16325, 0, "n"], [16326, 0, "o"], [16327, 0, "t"], [16328, 0, " "], [16329, 0, "s"], [16330, 0, "k"], [16331, 0, "i"], [16332, 0, "p"], [16333, 0, " "], [16334, 0, "o"], [16335, 0, "v"], [16336, 0, "e"], [16337, 0, "r"], [16338, 0, " "], [16339, 0, "$"], [16340, 0, "o"], [16341, 0, "_"], [16342, 0, "{"], [16343, 0, "n"], [16344, 0, "+"], [16345, 0, "1"], [16346, 0, "}"], [16347, 0, "$"], [16338, 0, " "], [16339, 0, "t"], [16340, 0, "h"], [16341, 0, "e"], [16342, 0, " "], [16343, 0, "l"], [16344, 0, "i"], [16345, 0, "s"], [16346, 0, "t"], [16347, 0, " "], [16348, 0, "e"], [16349, 0, "l"], [16350, 0, "e"], [16351, 0, "m"], [16352, 0, "e"], [16353, 0, "n"], [16354, 0, "t"], [16355, 0, " "], [16356, 0, "f"], [16357, 0, "o"], [16358, 0, "r"], [16369, 0, ","], [16370, 0, " "], [16371, 0, "b"], [16372, 0, "e"], [16373, 0, "c"], [16374, 0, "a"], [16375, 0, "u"], [16376, 0, "s"], [16377, 0, "e"], [16378, 0, " "], [16371, 0, "a"], [16372, 0, "g"], [16373, 0, "a"], [16374, 0, "i"], [16375, 0, "n"], [16376, 0, " "], [16385, 0, "t"], [16386, 0, "h"], [16387, 0, "e"], [16388, 0, " "], [16389, 0, "t"], [16390, 0, "i"], [16391, 0, "m"], [16392, 0, "e"], [16393, 0, "s"], [16394, 0, "t"], [16395, 0, "a"], [16396, 0, "m"], [16397, 0, "p"], [16398, 0, " "], [16399, 0, "f"], [16400, 0, "o"], [16401, 0, "r"], [16402, 0, " "], [16403, 0, "$"], [16404, 0, "o"], [16405, 0, "_"], [16406, 0, "i"], [16407, 0, "$"], [16408, 0, " "], [16409, 0, "i"], [16410, 0, "s"], [16411, 0, " "], [16412, 0, "g"], [16413, 0, "r"], [16414, 0, "e"], [16415, 0, "a"], [16416, 0, "t"], [16417, 0, "h"], [16418, 0, "e"], [16419, 0, "r"], [16420, 0, " "], [16421, 0, "t"], [16422, 0, "h"], [16423, 0, "a"], [16424, 0, "n"], [16424, 1], [16423, 1], [16422, 1], [16421, 1], [16420, 1], [16419, 1], [16418, 1], [16417, 1], [16417, 0, "e"], [16418, 0, "r"], [16419, 0, " "], [16420, 0, "t"], [16421, 0, "h"], [16422, 0, "a"], [16423, 0, "n"], [16424, 0, " "], [16425, 0, "$"], [16426, 0, "\\"], [16427, 0, "m"], [16428, 0, "a"], [16429, 0, "t"], [16430, 0, "h"], [16431, 0, "i"], [16432, 0, "t"], [16433, 0, "{"], [16434, 0, "i"], [16435, 0, "d"], [16436, 0, "}"], [16437, 0, "$"], [16438, 0, "."], [16439, 0, " "], [16440, 0, "E"], [16441, 0, "i"], [16442, 0, "t"], [16443, 0, "h"], [16444, 0, "e"], [16445, 0, "r"], [16446, 0, " "], [16447, 0, "w"], [16448, 0, "a"], [16449, 0, "y"], [16450, 0, ","], [16451, 0, " "], [16452, 0, "b"], [16453, 0, "o"], [16454, 0, "t"], [16455, 0, "h"], [16456, 0, " "], [16456, 1], [16455, 1], [16454, 1], [16453, 1], [16452, 1], [16452, 0, "i"], [16453, 0, "f"], [16454, 0, " "], [16455, 0, "t"], [16456, 0, "h"], [16457, 0, "e"], [16458, 0, " "], [16459, 0, "r"], [16460, 0, "e"], [16461, 0, "f"], [16462, 0, "e"], [16463, 0, "r"], [16464, 0, "e"], [16465, 0, "n"], [16466, 0, "c"], [16467, 0, "e"], [16468, 0, " "], [16469, 0, "e"], [16470, 0, "l"], [16471, 0, "e"], [16472, 0, "m"], [16473, 0, "e"], [16474, 0, "n"], [16475, 0, "t"], [16476, 0, " "], [16477, 0, "a"], [16478, 0, "p"], [16479, 0, "p"], [16480, 0, "e"], [16481, 0, "a"], [16482, 0, "r"], [16483, 0, "s"], [16484, 0, " "], [16485, 0, "b"], [16486, 0, "e"], [16487, 0, "f"], [16488, 0, "o"], [16489, 0, "r"], [16490, 0, "e"], [16491, 0, " "], [16492, 0, "$"], [16493, 0, "o"], [16494, 0, "_"], [16495, 0, "["], [16495, 1], [16495, 0, "{"], [16496, 0, "n"], [16497, 0, "+"], [16498, 0, "1"], [16499, 0, "}"], [16500, 0, "$"], [16501, 0, " "], [16502, 0, "i"], [16503, 0, "n"], [16504, 0, " "], [16505, 0, "t"], [16506, 0, "h"], [16507, 0, "e"], [16508, 0, " "], [16509, 0, "f"], [16510, 0, "i"], [16511, 0, "n"], [16512, 0, "a"], [16513, 0, "l"], [16514, 0, " "], [16515, 0, "o"], [16516, 0, "r"], [16517, 0, "d"], [16518, 0, "e"], [16519, 0, "r"], [16520, 0, ","], [16521, 0, " "], [16522, 0, "s"], [16523, 0, "o"], [16524, 0, " "], [16525, 0, "d"], [16526, 0, "o"], [16527, 0, "e"], [16528, 0, "s"], [16529, 0, " "], [16530, 0, "$"], [16531, 0, "o"], [16532, 0, "_"], [16533, 0, "i"], [16534, 0, "$"], [16535, 0, ","], [16536, 0, " "], [16537, 0, "r"], [16538, 0, "e"], [16539, 0, "g"], [16540, 0, "a"], [16541, 0, "r"], [16542, 0, "d"], [16543, 0, "l"], [16544, 0, "e"], [16545, 0, "s"], [16546, 0, "s"], [16547, 0, " "], [16548, 0, "o"], [16549, 0, "f"], [16550, 0, " "], [16551, 0, "t"], [16552, 0, "h"], [16553, 0, "e"], [16554, 0, " "], [16555, 0, "o"], [16556, 0, "r"], [16557, 0, "d"], [16558, 0, "e"], [16559, 0, "r"], [16560, 0, " "], [16561, 0, "i"], [16562, 0, "n"], [16563, 0, " "], [16564, 0, "w"], [16565, 0, "h"], [16566, 0, "i"], [16567, 0, "c"], [16568, 0, "h"], [16569, 0, " "], [16570, 0, "a"], [16570, 1], [16570, 0, "o"], [16571, 0, "p"], [16572, 0, "e"], [16573, 0, "r"], [16574, 0, "a"], [16575, 0, "t"], [16576, 0, "i"], [16577, 0, "o"], [16578, 0, "n"], [16579, 0, "s"], [16580, 0, " "], [16581, 0, "a"], [16582, 0, "r"], [16583, 0, "e"], [16584, 0, " "], [16585, 0, "a"], [16586, 0, "p"], [16587, 0, "p"], [16588, 0, "l"], [16589, 0, "i"], [16590, 0, "e"], [16591, 0, "d"], [16592, 0, "."], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 1], [16595, 0, "T"], [16596, 0, "O"], [16597, 0, "D"], [16598, 0, "O"], [16599, 0, " "], [16600, 0, "t"], [16601, 0, "h"], [16602, 0, "a"], [16603, 0, "t"], [16604, 0, " "], [16605, 0, "l"], [16606, 0, "a"], [16607, 0, "s"], [16608, 0, "t"], [16609, 0, " "], [16610, 0, "b"], [16611, 0, "i"], [16612, 0, "t"], [16613, 0, " "], [16614, 0, "o"], [16615, 0, "f"], [16616, 0, " "], [16617, 0, "t"], [16618, 0, "h"], [16619, 0, "e"], [16620, 0, " "], [16621, 0, "a"], [16622, 0, "r"], [16623, 0, "g"], [16624, 0, "u"], [16625, 0, "m"], [16626, 0, "e"], [16627, 0, "n"], [16628, 0, "t"], [16629, 0, " "], [16630, 0, "i"], [16631, 0, "s"], [16632, 0, " "], [16633, 0, "a"], [16634, 0, " "], [16635, 0, "b"], [16636, 0, "i"], [16637, 0, "t"], [16638, 0, " "], [16639, 0, "h"], [16640, 0, "a"], [16641, 0, "n"], [16642, 0, "d"], [16643, 0, "-"], [16644, 0, "w"], [16645, 0, "a"], [16646, 0, "v"], [16647, 0, "y"], [16648, 0, ","], [16649, 0, " "], [16650, 0, "n"], [16651, 0, "e"], [16652, 0, "e"], [16653, 0, "d"], [16654, 0, " "], [16655, 0, "t"], [16656, 0, "o"], [16657, 0, " "], [16658, 0, "m"], [16659, 0, "a"], [16660, 0, "k"], [16661, 0, "e"], [16662, 0, " "], [16663, 0, "i"], [16664, 0, "t"], [16665, 0, " "], [16666, 0, "m"], [16667, 0, "o"], [16668, 0, "r"], [16669, 0, "e"], [16670, 0, " "], [16671, 0, "p"], [16672, 0, "r"], [16673, 0, "e"], [16674, 0, "c"], [16675, 0, "i"], [16676, 0, "s"], [16677, 0, "e"], [16678, 0, "."], [16679, 0, " "], [16680, 0, "B"], [16681, 0, "u"], [16682, 0, "t"], [16683, 0, " "], [16684, 0, "I"], [16685, 0, " "], [16686, 0, "t"], [16687, 0, "h"], [16688, 0, "i"], [16689, 0, "n"], [16690, 0, "k"], [16691, 0, " "], [16692, 0, "t"], [16693, 0, "h"], [16694, 0, "e"], [16695, 0, " "], [16696, 0, "g"], [16697, 0, "e"], [16698, 0, "n"], [16699, 0, "e"], [16700, 0, "r"], [16701, 0, "a"], [16702, 0, "l"], [16703, 0, " "], [16704, 0, "a"], [16705, 0, "p"], [16706, 0, "p"], [16707, 0, "r"], [16708, 0, "o"], [16709, 0, "a"], [16710, 0, "c"], [16711, 0, "h"], [16712, 0, " "], [16713, 0, "i"], [16714, 0, "s"], [16715, 0, " "], [16716, 0, "o"], [16717, 0, "k"], [16718, 0, "."], [16719, 0, " "], [16720, 0, "T"], [16721, 0, "h"], [16722, 0, "a"], [16723, 0, "t"], [16724, 0, " "], [16725, 0, "c"], [16726, 0, "o"], [16727, 0, "m"], [16728, 0, "p"], [16729, 0, "l"], [16730, 0, "e"], [16731, 0, "t"], [16732, 0, "e"], [16733, 0, "s"], [16734, 0, " "], [16735, 0, "t"], [16736, 0, "h"], [16737, 0, "e"], [16738, 0, " "], [16739, 0, "i"], [16740, 0, "n"], [16741, 0, "d"], [16742, 0, "u"], [16743, 0, "c"], [16744, 0, "t"], [16745, 0, "i"], [16746, 0, "o"], [16747, 0, "n"], [16748, 0, " "], [16749, 0, "s"], [16750, 0, "t"], [16751, 0, "e"], [16752, 0, "p"], [16753, 0, ","], [16754, 0, " "], [16755, 0, "a"], [16756, 0, "n"], [16757, 0, "d"], [16758, 0, " "], [16759, 0, "t"], [16760, 0, "h"], [16761, 0, "u"], [16762, 0, "s"], [16763, 0, " "], [16764, 0, "t"], [16765, 0, "h"], [16766, 0, "e"], [16767, 0, " "], [16768, 0, "p"], [16769, 0, "r"], [16770, 0, "o"], [16771, 0, "o"], [16772, 0, "f"], [16773, 0, "."], [16774, 1], [16774, 1], [3942, 0, "\n"], [3943, 0, "\n"], [3944, 0, "\\"], [3945, 0, "b"], [3946, 0, "e"], [3947, 0, "g"], [3948, 0, "i"], [3949, 0, "n"], [3950, 0, "{"], [3951, 0, "f"], [3952, 0, "i"], [3953, 0, "g"], [3954, 0, "u"], [3955, 0, "r"], [3956, 0, "e"], [3957, 0, "*"], [3958, 0, "}"], [3959, 0, "\n"], [3960, 0, "\\"], [3961, 0, "e"], [3962, 0, "n"], [3963, 0, "d"], [3964, 0, "{"], [3965, 0, "f"], [3966, 0, "i"], [3967, 0, "g"], [3968, 0, "u"], [3969, 0, "r"], [3970, 0, "e"], [3971, 0, "*"], [3972, 0, "}"], [3959, 0, "\n"], [3960, 0, "\\"], [3961, 0, "c"], [3962, 0, "a"], [3963, 0, "p"], [3964, 0, "t"], [3965, 0, "u"], [3965, 1], [3965, 0, "i"], [3966, 0, "o"], [3967, 0, "n"], [3968, 0, "{"], [3969, 0, "R"], [3970, 0, "u"], [3971, 0, "l"], [3972, 0, "e"], [3973, 0, "s"], [3974, 0, " "], [3975, 0, "f"], [3976, 0, "o"], [3977, 0, "r"], [3978, 0, " "], [3979, 0, "m"], [3980, 0, "u"], [3981, 0, "t"], [3982, 0, "a"], [3983, 0, "t"], [3984, 0, "i"], [3985, 0, "n"], [3986, 0, "g"], [3987, 0, " "], [3988, 0, "a"], [3989, 0, "n"], [3990, 0, " "], [3991, 0, "o"], [3992, 0, "r"], [3993, 0, "d"], [3994, 0, "e"], [3995, 0, "r"], [3996, 0, "e"], [3997, 0, "d"], [3998, 0, " "], [3999, 0, "l"], [4000, 0, "i"], [4001, 0, "s"], [4002, 0, "t"], [4003, 0, "}"], [4004, 0, "\n"], [4005, 0, "\\"], [4006, 0, "l"], [4007, 0, "a"], [4008, 0, "b"], [4009, 0, "e"], [4010, 0, "l"], [4011, 0, "{"], [4012, 0, "f"], [4013, 0, "i"], [4014, 0, "g"], [4015, 0, ":"], [4016, 0, "r"], [4017, 0, "g"], [4018, 0, "a"], [4019, 0, "-"], [4020, 0, "r"], [4021, 0, "u"], [4022, 0, "l"], [4023, 0, "e"], [4024, 0, "s"], [4025, 0, "}"], [168, 0, "\n"], [169, 0, "\\"], [170, 0, "u"], [171, 0, "s"], [172, 0, "e"], [173, 0, "p"], [174, 0, "a"], [175, 0, "c"], [176, 0, "k"], [177, 0, "a"], [178, 0, "g"], [179, 0, "e"], [180, 0, "{"], [181, 0, "p"], [182, 0, "a"], [182, 1], [181, 1], [181, 0, "m"], [182, 0, "a"], [183, 0, "t"], [184, 0, "h"], [185, 0, "p"], [186, 0, "a"], [187, 0, "r"], [188, 0, "t"], [189, 0, "i"], [190, 0, "r"], [191, 0, "}"], [192, 0, " "], [193, 0, "%"], [194, 0, " "], [195, 0, "i"], [196, 0, "n"], [197, 0, "f"], [198, 0, "e"], [199, 0, "r"], [200, 0, "e"], [201, 0, "n"], [202, 0, "c"], [203, 0, "e"], [204, 0, " "], [205, 0, "r"], [206, 0, "u"], [207, 0, "l"], [208, 0, "e"], [209, 0, "s"], [195, 0, "n"], [196, 0, "o"], [197, 0, "t"], [198, 0, "a"], [199, 0, "t"], [200, 0, "i"], [201, 0, "o"], [202, 0, "n"], [203, 0, " "], [204, 0, "f"], [205, 0, "o"], [206, 0, "r"], [207, 0, " "], [4014, 0, "\n"], [4015, 0, "\\"], [4016, 0, "i"], [4017, 0, "n"], [4018, 0, "f"], [4019, 0, "e"], [4020, 0, "r"], [4021, 0, "r"], [4022, 0, "u"], [4023, 0, "l"], [4024, 0, "e"], [4025, 0, "["], [4026, 0, "i"], [4027, 0, "n"], [4028, 0, "s"], [4029, 0, "e"], [4030, 0, "r"], [4031, 0, "t"], [4032, 0, "]"], [181, 1], [181, 1], [181, 1], [181, 1], [181, 1], [181, 1], [181, 1], [181, 1], [181, 1], [181, 1], [181, 0, "s"], [182, 0, "e"], [183, 0, "m"], [184, 0, "a"], [185, 0, "n"], [186, 0, "t"], [187, 0, "i"], [188, 0, "c"], [4031, 0, "\n"], [4032, 0, "\\"], [4033, 0, "i"], [4034, 0, "n"], [4035, 0, "f"], [4036, 0, "e"], [4037, 0, "r"], [4038, 0, "e"], [4039, 0, "n"], [4040, 0, "c"], [4041, 0, "e"], [4042, 0, "["], [4043, 0, "i"], [4044, 0, "n"], [4045, 0, "s"], [4046, 0, "e"], [4047, 0, "r"], [4048, 0, "t"], [4048, 1], [4047, 1], [4046, 1], [4045, 1], [4044, 1], [4043, 1], [4043, 0, "I"], [4044, 0, "n"], [4045, 0, "s"], [4046, 0, "e"], [4047, 0, "r"], [4048, 0, "t"], [4049, 0, "]"], [4030, 1], [4029, 1], [4028, 1], [4027, 1], [4026, 1], [4025, 1], [4024, 1], [4023, 1], [4022, 1], [4021, 1], [4020, 1], [4019, 1], [4018, 1], [4017, 1], [4016, 1], [4015, 1], [4014, 1], [4013, 1], [4012, 1], [4031, 0, "{"], [4032, 0, "\n"], [4033, 0, " "], [4034, 0, " "], [4035, 0, " "], [4036, 0, " "], [4037, 0, "\\"], [4038, 0, "e"], [4039, 0, "x"], [4040, 0, "i"], [4041, 0, "s"], [4042, 0, "t"], [4043, 0, "s"], [4044, 0, " "], [390, 0, "\n"], [391, 0, "\\"], [392, 0, "r"], [393, 0, "e"], [394, 0, "n"], [395, 0, "e"], [396, 0, "w"], [397, 0, "c"], [398, 0, "o"], [399, 0, "m"], [400, 0, "m"], [401, 0, "a"], [402, 0, "n"], [403, 0, "d"], [404, 0, "{"], [405, 0, "\\"], [406, 0, "p"], [407, 0, "r"], [408, 0, "e"], [409, 0, "d"], [410, 0, "i"], [411, 0, "a"], [412, 0, "t"], [413, 0, "e"], [414, 0, "}"], [415, 0, "["], [416, 0, "1"], [417, 0, "]"], [418, 0, "{"], [419, 0, "$"], [420, 0, " "], [421, 0, "#"], [422, 0, "1"], [423, 0, " "], [424, 0, "$"], [425, 0, "}"], [426, 0, "\n"], [390, 0, "\n"], [391, 0, "$"], [392, 0, " "], [392, 1], [391, 1], [391, 0, "%"], [392, 0, " "], [393, 0, "F"], [394, 0, "o"], [395, 0, "r"], [396, 0, " "], [397, 0, "s"], [398, 0, "e"], [399, 0, "m"], [400, 0, "a"], [401, 0, "n"], [402, 0, "t"], [403, 0, "i"], [404, 0, "c"], [405, 0, " "], [406, 0, "p"], [407, 0, "a"], [408, 0, "c"], [409, 0, "k"], [410, 0, "a"], [411, 0, "g"], [412, 0, "e"], [413, 0, ","], [414, 0, " "], [415, 0, "u"], [416, 0, "s"], [417, 0, "e"], [418, 0, " "], [419, 0, "m"], [420, 0, "a"], [421, 0, "t"], [422, 0, "h"], [423, 0, " "], [424, 0, "m"], [425, 0, "o"], [426, 0, "d"], [427, 0, "e"], [428, 0, " "], [429, 0, "f"], [430, 0, "o"], [431, 0, "r"], [432, 0, " "], [433, 0, "a"], [434, 0, "l"], [435, 0, "l"], [436, 0, " "], [437, 0, "p"], [438, 0, "r"], [439, 0, "e"], [440, 0, "m"], [441, 0, "i"], [442, 0, "s"], [443, 0, "e"], [444, 0, "s"], [445, 0, " "], [445, 1], [444, 1], [443, 1], [442, 1], [441, 1], [440, 1], [439, 1], [438, 1], [437, 1], [436, 1], [435, 1], [434, 1], [433, 1], [432, 1], [431, 1], [430, 1], [429, 1], [428, 1], [428, 0, " "], [429, 0, "w"], [430, 0, "i"], [431, 0, "t"], [432, 0, "h"], [433, 0, "i"], [434, 0, "n"], [435, 0, " "], [436, 0, "i"], [437, 0, "n"], [438, 0, "f"], [439, 0, "e"], [440, 0, "r"], [441, 0, "e"], [442, 0, "n"], [443, 0, "c"], [444, 0, "e"], [445, 0, " "], [446, 0, "r"], [447, 0, "u"], [448, 0, "l"], [449, 0, "e"], [450, 0, "s"], [472, 0, "c"], [4144, 0, "v"], [4145, 0, "P"], [4145, 1], [4145, 0, "_"], [4146, 0, "p"], [4147, 0, ","], [4148, 0, " "], [4149, 0, "\\"], [4150, 0, "m"], [4151, 0, "a"], [4152, 0, "t"], [4153, 0, "h"], [4154, 0, "i"], [4155, 0, "t"], [4156, 0, "{"], [4157, 0, "n"], [4158, 0, "e"], [4159, 0, "x"], [4160, 0, "t"], [4161, 0, "}"], [4162, 0, "."], [4163, 0, " "], [4164, 0, "A"], [4165, 0, "("], [4166, 0, "\\"], [4167, 0, "m"], [4168, 0, "a"], [4169, 0, "t"], [4170, 0, "h"], [4171, 0, "i"], [4172, 0, "t"], [4173, 0, "{"], [4174, 0, "p"], [4175, 0, "r"], [4176, 0, "e"], [4177, 0, "v"], [4178, 0, "}"], [4179, 0, ")"], [4180, 0, " "], [4181, 0, "="], [4182, 0, " "], [4183, 0, "("], [4184, 0, "v"], [4185, 0, "_"], [4186, 0, "p"], [4187, 0, ","], [4188, 0, " "], [4189, 0, "\\"], [4190, 0, "n"], [4190, 1], [4190, 0, "m"], [4191, 0, "a"], [4192, 0, "t"], [4193, 0, "h"], [4194, 0, "i"], [4195, 0, "t"], [4196, 0, "{"], [4197, 0, "n"], [4198, 0, "e"], [4199, 0, "x"], [4200, 0, "t"], [4201, 0, "}"], [4202, 0, ")"], [4203, 0, " "], [4204, 0, "&"], [4205, 0, " "], [4206, 0, "\\"], [4207, 0, "m"], [4208, 0, "a"], [4209, 0, "t"], [4210, 0, "h"], [4211, 0, "i"], [4212, 0, "t"], [4213, 0, "{"], [4214, 0, "i"], [4215, 0, "d"], [4216, 0, "}"], [4217, 0, " "], [4218, 0, "<"], [4219, 0, " "], [4220, 0, "\\"], [4221, 0, "m"], [4222, 0, "a"], [4223, 0, "t"], [4224, 0, "h"], [4225, 0, "i"], [4226, 0, "t"], [4227, 0, "{"], [4228, 0, "n"], [4229, 0, "e"], [4230, 0, "x"], [4231, 0, "t"], [4232, 0, "}"], [4233, 0, "\n"], [4234, 0, "}"], [4235, 0, "{"], [4236, 0, "\n"], [4237, 0, " "], [4238, 0, " "], [4239, 0, " "], [4240, 0, " "], [4241, 0, "A"], [4242, 0, ","], [4243, 0, " "], [4244, 0, "\\"], [4245, 0, "m"], [4246, 0, "a"], [4247, 0, "t"], [4248, 0, "h"], [4249, 0, "r"], [4250, 0, "m"], [4251, 0, "{"], [4252, 0, "a"], [4253, 0, "p"], [4254, 0, "p"], [4255, 0, "l"], [4256, 0, "y"], [4257, 0, "}"], [4258, 0, "("], [4258, 1], [4257, 1], [4256, 1], [4255, 1], [4254, 1], [4253, 1], [4252, 1], [4251, 1], [4250, 1], [4249, 1], [4248, 1], [4247, 1], [4246, 1], [4245, 1], [4244, 1], [4244, 0, "\\"], [4245, 0, "m"], [4246, 0, "a"], [4247, 0, "t"], [4248, 0, "h"], [4249, 0, "s"], [4250, 0, "f"], [4251, 0, "{"], [4252, 0, "i"], [4253, 0, "n"], [4254, 0, "s"], [4255, 0, "e"], [4256, 0, "r"], [4257, 0, "t"], [4258, 0, "}"], [4259, 0, "("], [4260, 0, "\\"], [4261, 0, "m"], [4262, 0, "a"], [4263, 0, "t"], [4264, 0, "h"], [4265, 0, "i"], [4266, 0, "t"], [4267, 0, "{"], [4268, 0, "i"], [4269, 0, "d"], [4270, 0, "}"], [4271, 0, ","], [4272, 0, " "], [4273, 0, "\\"], [4274, 0, "m"], [4275, 0, "a"], [4276, 0, "t"], [4277, 0, "h"], [4278, 0, "i"], [4279, 0, "t"], [4280, 0, "{"], [4281, 0, "p"], [4282, 0, "r"], [4283, 0, "e"], [4284, 0, "v"], [4285, 0, "}"], [4286, 0, ","], [4287, 0, " "], [4288, 0, "v"], [4289, 0, ")"], [4290, 0, " "], [4291, 0, "="], [4292, 0, "="], [4293, 0, ">"], [4294, 0, " "], [4295, 0, "A"], [4296, 0, "'"], [4233, 0, " "], [4234, 0, "&"], [4235, 0, "\n"], [4236, 0, " "], [4237, 0, " "], [4238, 0, " "], [4239, 0, " "], [4240, 0, "A"], [4241, 0, ","], [4242, 0, " "], [4243, 0, "\\"], [4244, 0, "m"], [4245, 0, "a"], [4246, 0, "t"], [4247, 0, "h"], [4248, 0, "s"], [4249, 0, "f"], [4250, 0, "{"], [4251, 0, "i"], [4252, 0, "n"], [4253, 0, "s"], [4254, 0, "e"], [4255, 0, "r"], [4256, 0, "t"], [4257, 0, "}"], [4258, 0, "("], [4259, 0, "\\"], [4260, 0, "m"], [4261, 0, "a"], [4262, 0, "t"], [4263, 0, "h"], [4264, 0, "i"], [4265, 0, "t"], [4266, 0, "{"], [4267, 0, "i"], [4268, 0, "d"], [4269, 0, "}"], [4270, 0, ","], [4271, 0, " "], [4272, 0, "\\"], [4273, 0, "m"], [4274, 0, "a"], [4275, 0, "t"], [4276, 0, "h"], [4277, 0, "i"], [4278, 0, "t"], [4279, 0, "{"], [4280, 0, "n"], [4281, 0, "e"], [4282, 0, "x"], [4283, 0, "t"], [4284, 0, "}"], [4285, 0, ","], [4286, 0, " "], [4287, 0, "v"], [4288, 0, ")"], [4289, 0, " "], [4290, 0, "="], [4291, 0, "="], [4292, 0, ">"], [4293, 0, " "], [4294, 0, "A"], [4295, 0, "'"], [4360, 0, "\n"], [4361, 0, "}"], [4163, 0, "\\"], [4164, 0, ";"], [4164, 1], [4163, 1], [4162, 1], [4162, 0, " "], [4163, 0, "\\"], [4164, 0, "m"], [4165, 0, "a"], [4166, 0, "t"], [4167, 0, "h"], [4168, 0, "b"], [4169, 0, "i"], [4170, 0, "n"], [4171, 0, "{"], [4172, 0, ":"], [4173, 0, "}"], [4303, 1], [4302, 1], [4301, 1], [4300, 1], [4300, 0, " "], [4301, 0, "\\"], [4302, 0, "e"], [4303, 0, "v"], [4304, 0, "a"], [4305, 0, "l"], [4306, 0, "t"], [4307, 0, "o"], [4371, 1], [4370, 1], [4369, 1], [4368, 1], [4368, 0, " "], [4369, 0, "\\"], [4370, 0, "e"], [4371, 0, "v"], [4372, 0, "a"], [4373, 0, "l"], [4374, 0, "t"], [4375, 0, "o"], [572, 0, "{"], [585, 0, "}"], [488, 0, "\n"], [489, 0, "\n"], [490, 0, "\\"], [491, 0, "n"], [492, 0, "e"], [493, 0, "w"], [494, 0, "c"], [495, 0, "o"], [496, 0, "m"], [497, 0, "m"], [498, 0, "a"], [499, 0, "n"], [500, 0, "d"], [501, 0, "{"], [502, 0, "\\"], [503, 0, "e"], [504, 0, "v"], [505, 0, "a"], [506, 0, "l"], [507, 0, "t"], [508, 0, "o"], [509, 0, "}"], [510, 0, "{"], [511, 0, "\\"], [512, 0, "q"], [513, 0, "u"], [514, 0, "a"], [515, 0, "d"], [516, 0, "\\"], [517, 0, "L"], [518, 0, "o"], [519, 0, "n"], [520, 0, "g"], [521, 0, "r"], [522, 0, "i"], [523, 0, "g"], [524, 0, "h"], [525, 0, "t"], [526, 0, "a"], [527, 0, "r"], [528, 0, "r"], [529, 0, "o"], [530, 0, "w"], [531, 0, "\\"], [532, 0, "q"], [533, 0, "u"], [534, 0, "a"], [535, 0, "d"], [536, 0, "}"], [515, 1], [514, 1], [513, 1], [512, 1], [512, 0, ";"], [529, 1], [529, 1], [529, 1], [529, 1], [529, 0, ";"], [452, 0, "%"], [488, 1], [487, 1], [486, 1], [485, 1], [484, 1], [483, 1], [482, 1], [481, 1], [480, 1], [479, 1], [478, 1], [477, 1], [476, 1], [475, 1], [474, 1], [473, 1], [472, 1], [471, 1], [470, 1], [469, 1], [468, 1], [467, 1], [466, 1], [465, 1], [464, 1], [463, 1], [462, 1], [461, 1], [460, 1], [459, 1], [458, 1], [457, 1], [456, 1], [455, 1], [454, 1], [453, 1], [452, 1], [451, 1], [450, 1], [449, 1], [448, 1], [447, 1], [446, 1], [445, 1], [444, 1], [443, 1], [442, 1], [441, 1], [440, 1], [439, 1], [438, 1], [437, 1], [436, 1], [435, 1], [434, 1], [433, 1], [432, 1], [431, 1], [430, 1], [429, 1], [428, 1], [427, 1], [426, 1], [425, 1], [424, 1], [423, 1], [422, 1], [421, 1], [420, 1], [419, 1], [418, 1], [417, 1], [416, 1], [415, 1], [414, 1], [413, 1], [412, 1], [411, 1], [410, 1], [409, 1], [408, 1], [407, 1], [406, 1], [405, 1], [404, 1], [403, 1], [402, 1], [401, 1], [400, 1], [399, 1], [398, 1], [397, 1], [396, 1], [395, 1], [394, 1], [393, 1], [392, 1], [391, 1], [390, 1], [389, 1], [181, 1], [181, 1], [181, 1], [181, 1], [181, 1], [181, 1], [181, 1], [181, 1], [181, 0, "m"], [182, 0, "a"], [183, 0, "t"], [184, 0, "h"], [185, 0, "p"], [186, 0, "a"], [187, 0, "r"], [188, 0, "t"], [189, 0, "i"], [190, 0, "t"], [190, 1], [190, 0, "r"], [4069, 1], [4068, 1], [4067, 1], [4066, 1], [4066, 0, "r"], [4067, 0, "u"], [4068, 0, "l"], [4069, 0, "e"], [4163, 1], [4163, 0, "\\"], [4164, 0, "\\"], [4165, 0, "\n"], [4166, 0, " "], [4167, 0, " "], [4168, 0, " "], [4169, 0, " "], [4169, 1], [4198, 1], [4198, 0, "\\"], [4199, 0, "\\"], [181, 1], [181, 1], [181, 1], [181, 1], [181, 1], [181, 1], [181, 1], [181, 1], [181, 1], [181, 1], [181, 0, "b"], [182, 0, "u"], [183, 0, "s"], [184, 0, "s"], [185, 0, "p"], [186, 0, "r"], [187, 0, "o"], [188, 0, "o"], [189, 0, "f"], [190, 0, "s"], [191, 0, "q"], [191, 1], [4044, 0, "\n"], [4044, 1], [4060, 0, "\n"], [4060, 0, "\\"], [4061, 0, "b"], [4062, 0, "e"], [4063, 0, "g"], [4064, 0, "i"], [4065, 0, "n"], [4066, 0, "{"], [4067, 0, "p"], [4068, 0, "r"], [4069, 0, "o"], [4070, 0, "o"], [4071, 0, "f"], [4072, 0, "t"], [4073, 0, "r"], [4074, 0, "e"], [4075, 0, "e"], [4076, 0, "}"], [4096, 1], [4095, 1], [4094, 1], [4093, 1], [4092, 1], [4091, 1], [4090, 1], [4089, 1], [4088, 1], [4087, 1], [4086, 1], [4085, 1], [4084, 1], [4083, 1], [4082, 1], [4081, 1], [4080, 1], [4079, 1], [4078, 1], [4078, 1], [4078, 1], [4078, 1], [4078, 1], [4078, 1], [4078, 0, " "], [4079, 0, " "], [4080, 0, " "], [4081, 0, " "], [4082, 0, "\\"], [4083, 0, "A"], [4084, 0, "x"], [4085, 0, "i"], [4086, 0, "o"], [4087, 0, "m"], [4088, 0, "C"], [4089, 0, "{"], [4090, 0, "$"], [4171, 1], [4170, 1], [4169, 1], [4169, 0, "}"], [4175, 0, "\\"], [4176, 0, "A"], [4177, 0, "x"], [4178, 0, "i"], [4179, 0, "o"], [4180, 0, "m"], [4181, 0, "C"], [4182, 0, "{"], [4212, 1], [4211, 1], [4210, 1], [4210, 0, "}"], [4216, 0, "\\"], [4217, 0, "A"], [4218, 0, "x"], [4219, 0, "i"], [4220, 0, "o"], [4221, 0, "m"], [4222, 0, "C"], [4223, 0, "{"], [4284, 0, "}"], [4284, 0, "$"], [4224, 0, "$"], [4183, 0, "$"], [4211, 0, "$"], [4291, 1], [4290, 1], [4290, 0, " "], [4291, 0, " "], [4292, 0, " "], [4293, 0, " "], [4294, 0, "\\"], [4295, 0, "T"], [4296, 0, "r"], [4297, 0, "i"], [4298, 0, "n"], [4299, 0, "a"], [4300, 0, "r"], [4301, 0, "y"], [4302, 0, "I"], [4303, 0, "n"], [4304, 0, "f"], [4305, 0, "C"], [4306, 0, "{"], [4307, 1], [4307, 1], [4307, 1], [4307, 1], [4307, 1], [4307, 0, "$"], [4368, 0, "$"], [4369, 0, "}"], [4371, 1], [4371, 0, "\\"], [4372, 0, "e"], [4373, 0, "n"], [4374, 0, "d"], [4375, 0, "{"], [4376, 0, "p"], [4377, 0, "r"], [4378, 0, "o"], [4379, 0, "o"], [4380, 0, "f"], [4381, 0, "t"], [4382, 0, "r"], [4383, 0, "e"], [4384, 0, "e"], [4385, 0, "}"], [4169, 0, "$"], [4128, 1], [4127, 1], [4126, 1], [4125, 1], [4124, 1], [4123, 1], [4122, 1], [4121, 1], [4120, 1], [4119, 1], [4118, 1], [4117, 1], [4117, 0, "."], [4118, 0, "\\"], [4119, 0, ";"], [4281, 0, "\n"], [4282, 0, " "], [4283, 0, " "], [4284, 0, " "], [4285, 0, " "], [4286, 0, "\\"], [4287, 0, "L"], [4288, 0, "e"], [4289, 0, "f"], [4290, 0, "t"], [4291, 0, "L"], [4292, 0, "a"], [4293, 0, "b"], [4294, 0, "e"], [4295, 0, "l"], [4296, 0, "{"], [4297, 0, "\\"], [4298, 0, "t"], [4299, 0, "e"], [4300, 0, "x"], [4301, 0, "t"], [4302, 0, "s"], [4303, 0, "c"], [4304, 0, "{"], [4305, 0, "I"], [4306, 0, "n"], [4307, 0, "s"], [4308, 0, "e"], [4309, 0, "r"], [4310, 0, "t"], [4311, 0, "}"], [4312, 0, "}"], [4059, 0, "\n"], [4060, 0, "\\"], [4061, 0, "b"], [4062, 0, "e"], [4063, 0, "g"], [4064, 0, "i"], [4065, 0, "n"], [4066, 0, "{"], [4067, 0, "p"], [4068, 0, "r"], [4069, 0, "o"], [4070, 0, "o"], [4071, 0, "f"], [4072, 0, "t"], [4073, 0, "r"], [4074, 0, "e"], [4075, 0, "e"], [4076, 0, "}"], [4077, 0, "\n"], [4078, 0, "}"], [4078, 1], [4078, 0, "\\"], [4079, 0, "e"], [4080, 0, "n"], [4081, 0, "d"], [4082, 0, "{"], [4083, 0, "p"], [4084, 0, "r"], [4085, 0, "o"], [4086, 0, "o"], [4087, 0, "f"], [4088, 0, "t"], [4089, 0, "r"], [4090, 0, "e"], [4091, 0, "e"], [4092, 0, "}"], [4093, 0, "\n"], [4077, 0, "\n"], [4078, 0, " "], [4079, 0, " "], [4080, 0, " "], [4081, 0, " "], [4082, 0, "\\"], [4083, 0, "A"], [4084, 0, "x"], [4085, 0, "i"], [4086, 0, "o"], [4087, 0, "m"], [4088, 0, "C"], [4089, 0, "{"], [4090, 0, "$"], [4091, 0, "\\"], [4092, 0, "e"], [4093, 0, "x"], [4094, 0, "i"], [4095, 0, "s"], [4096, 0, "t"], [4097, 0, "s"], [4098, 0, " "], [4099, 0, "v"], [4100, 0, "_"], [4101, 0, "p"], [4102, 0, ","], [4103, 0, " "], [4104, 0, "\\"], [4105, 0, "m"], [4106, 0, "a"], [4107, 0, "t"], [4108, 0, "h"], [4109, 0, "i"], [4110, 0, "t"], [4111, 0, "{"], [4112, 0, "n"], [4113, 0, "e"], [4114, 0, "x"], [4115, 0, "t"], [4116, 0, "}"], [4117, 0, "."], [4118, 0, "\\"], [4119, 0, ";"], [4120, 0, " "], [4121, 0, "A"], [4122, 0, "("], [4123, 0, "\\"], [4124, 0, "m"], [4125, 0, "a"], [4126, 0, "t"], [4127, 0, "h"], [4128, 0, "i"], [4129, 0, "t"], [4130, 0, "{"], [4131, 0, "p"], [4132, 0, "r"], [4133, 0, "e"], [4134, 0, "v"], [4135, 0, "}"], [4136, 0, ")"], [4137, 0, " "], [4138, 0, "="], [4139, 0, " "], [4140, 0, "("], [4141, 0, "v"], [4142, 0, "_"], [4143, 0, "p"], [4144, 0, ","], [4145, 0, " "], [4146, 0, "\\"], [4147, 0, "m"], [4148, 0, "a"], [4149, 0, "t"], [4150, 0, "h"], [4151, 0, "i"], [4152, 0, "t"], [4153, 0, "{"], [4154, 0, "n"], [4155, 0, "e"], [4156, 0, "x"], [4157, 0, "t"], [4158, 0, "}"], [4159, 0, ")"], [4160, 0, "$"], [4161, 0, "}"], [4162, 0, "\n"], [4163, 0, " "], [4164, 0, " "], [4165, 0, " "], [4166, 0, " "], [4167, 0, "\\"], [4168, 0, "A"], [4169, 0, "x"], [4170, 0, "i"], [4171, 0, "o"], [4172, 0, "m"], [4173, 0, "C"], [4174, 0, "{"], [4175, 0, "$"], [4176, 0, "\\"], [4177, 0, "m"], [4178, 0, "a"], [4179, 0, "t"], [4180, 0, "h"], [4181, 0, "i"], [4182, 0, "t"], [4183, 0, "{"], [4184, 0, "n"], [4185, 0, "e"], [4186, 0, "x"], [4187, 0, "t"], [4188, 0, "}"], [4189, 0, " "], [4190, 0, "<"], [4191, 0, " "], [4192, 0, "\\"], [4193, 0, "m"], [4194, 0, "a"], [4195, 0, "t"], [4196, 0, "h"], [4197, 0, "i"], [4198, 0, "t"], [4199, 0, "{"], [4200, 0, "i"], [4201, 0, "d"], [4202, 0, "}"], [4203, 0, "$"], [4204, 0, "}"], [4205, 0, "\n"], [4206, 0, " "], [4207, 0, " "], [4208, 0, " "], [4209, 0, " "], [4210, 0, "\\"], [4211, 0, "L"], [4212, 0, "e"], [4213, 0, "f"], [4214, 0, "t"], [4215, 0, "L"], [4216, 0, "a"], [4217, 0, "b"], [4218, 0, "e"], [4219, 0, "l"], [4220, 0, "{"], [4221, 0, "\\"], [4221, 0, "$"], [4223, 0, "m"], [4224, 0, "a"], [4225, 0, "t"], [4226, 0, "h"], [4227, 0, "s"], [4228, 0, "c"], [4229, 0, "{"], [4230, 0, "I"], [4231, 0, "n"], [4232, 0, "s"], [4233, 0, "}"], [4234, 0, "_"], [4235, 0, "1"], [4236, 0, "$"], [4237, 0, "}"], [4238, 0, "\n"], [4239, 0, " "], [4240, 0, " "], [4241, 0, " "], [4242, 0, " "], [4243, 0, "\\"], [4244, 0, "B"], [4245, 0, "i"], [4246, 0, "n"], [4247, 0, "a"], [4248, 0, "r"], [4249, 0, "y"], [4250, 0, "I"], [4251, 0, "n"], [4252, 0, "f"], [4253, 0, "C"], [4254, 0, "{"], [4255, 0, "$"], [4256, 0, "A"], [4257, 0, ","], [4258, 0, " "], [4259, 0, "\\"], [4260, 0, "m"], [4261, 0, "a"], [4262, 0, "t"], [4263, 0, "h"], [4264, 0, "s"], [4265, 0, "f"], [4266, 0, "{"], [4267, 0, "i"], [4268, 0, "n"], [4269, 0, "s"], [4270, 0, "e"], [4271, 0, "r"], [4272, 0, "t"], [4273, 0, "}"], [4274, 0, "("], [4275, 0, "\\"], [4276, 0, "m"], [4277, 0, "a"], [4278, 0, "t"], [4279, 0, "h"], [4280, 0, "i"], [4281, 0, "t"], [4282, 0, "{"], [4283, 0, "i"], [4284, 0, "d"], [4285, 0, "}"], [4286, 0, ","], [4287, 0, " "], [4288, 0, "\\"], [4289, 0, "m"], [4290, 0, "a"], [4291, 0, "t"], [4292, 0, "h"], [4293, 0, "i"], [4294, 0, "t"], [4295, 0, "{"], [4296, 0, "p"], [4297, 0, "r"], [4298, 0, "e"], [4299, 0, "v"], [4300, 0, "}"], [4301, 0, ","], [4302, 0, " "], [4303, 0, "v"], [4304, 0, ")"], [4305, 0, " "], [4306, 0, "\\"], [4307, 0, "e"], [4308, 0, "v"], [4309, 0, "a"], [4310, 0, "l"], [4311, 0, "t"], [4312, 0, "o"], [4313, 0, " "], [4313, 1], [4313, 0, "\n"], [4314, 0, " "], [4315, 0, " "], [4316, 0, " "], [4317, 0, " "], [4318, 0, " "], [4319, 0, " "], [4320, 0, " "], [4321, 0, " "], [4577, 0, "$"], [4582, 1], [4581, 1], [4580, 1], [4579, 1], [4579, 0, "m"], [4580, 0, "a"], [4581, 0, "t"], [4582, 0, "h"], [4591, 1], [4590, 1], [4589, 1], [4590, 0, "_"], [4591, 0, "2"], [4592, 0, "$"], [4322, 0, "A"], [4323, 0, "["], [4324, 0, "\\"], [4325, 0, ","], [4326, 0, "\\"], [4327, 0, "m"], [4328, 0, "a"], [4329, 0, "t"], [4330, 0, "h"], [4331, 0, "i"], [4332, 0, "t"], [4333, 0, "{"], [4334, 0, "p"], [4335, 0, "r"], [4336, 0, "e"], [4337, 0, "v"], [4338, 0, "}"], [4339, 0, " "], [4340, 0, "\\"], [4341, 0, "m"], [4342, 0, "a"], [4343, 0, "p"], [4344, 0, "s"], [4345, 0, "t"], [4346, 0, "o"], [4347, 0, " "], [4348, 0, "("], [4349, 0, "v"], [4350, 0, "_"], [4351, 0, "p"], [4352, 0, ","], [4353, 0, " "], [4354, 0, "\\"], [4355, 0, "m"], [4356, 0, "a"], [4357, 0, "t"], [4358, 0, "h"], [4359, 0, "i"], [4360, 0, "t"], [4361, 0, "{"], [4362, 0, "i"], [4363, 0, "d"], [4364, 0, "}"], [4365, 0, ")"], [4366, 0, ","], [4367, 0, "\\"], [4368, 0, ";"], [4369, 0, " "], [4370, 0, "\\"], [4371, 0, "m"], [4372, 0, "a"], [4373, 0, "t"], [4374, 0, "h"], [4375, 0, "i"], [4376, 0, "t"], [4377, 0, "{"], [4378, 0, "i"], [4379, 0, "d"], [4380, 0, "}"], [4381, 0, " "], [4382, 0, "\\"], [4383, 0, "m"], [4384, 0, "a"], [4385, 0, "p"], [4386, 0, "s"], [4387, 0, "t"], [4388, 0, "o"], [4389, 0, " "], [4390, 0, "("], [4391, 0, "v"], [4392, 0, ","], [4393, 0, " "], [4394, 0, "\\"], [4395, 0, "m"], [4396, 0, "a"], [4397, 0, "t"], [4398, 0, "h"], [4399, 0, "i"], [4400, 0, "t"], [4401, 0, "{"], [4402, 0, "n"], [4403, 0, "e"], [4404, 0, "x"], [4405, 0, "t"], [4406, 0, "}"], [4407, 0, ")"], [4408, 0, "\\"], [4409, 0, ","], [4410, 0, "]"], [4411, 0, "}"], [4226, 1], [4225, 1], [4224, 1], [4223, 1], [4223, 0, "t"], [4224, 0, "e"], [4225, 0, "x"], [4226, 0, "t"], [4672, 1], [4671, 1], [4670, 1], [4669, 1], [4669, 0, "t"], [4670, 0, "e"], [4671, 0, "x"], [4672, 0, "t"], [4411, 0, "$"], [4491, 1], [4490, 1], [4489, 1], [4488, 1], [4487, 1], [4486, 1], [4485, 1], [4484, 1], [4483, 1], [4482, 1], [4481, 1], [4480, 1], [4479, 1], [4478, 1], [4477, 1], [4476, 1], [4475, 1], [4474, 1], [4473, 1], [4472, 1], [4471, 1], [4470, 1], [4469, 1], [4468, 1], [4467, 1], [4466, 1], [4465, 1], [4464, 1], [4463, 1], [4462, 1], [4120, 1], [4119, 1], [4118, 1], [4117, 1], [4116, 1], [4115, 1], [4114, 1], [4113, 1], [4112, 1], [4111, 1], [4110, 1], [4109, 1], [4108, 1], [4107, 1], [4106, 1], [4105, 1], [4104, 1], [4103, 1], [4102, 1], [4101, 1], [4100, 1], [4099, 1], [4098, 1], [4097, 1], [4096, 1], [4095, 1], [4094, 1], [4093, 1], [4092, 1], [4091, 1], [4200, 0, "A"], [4201, 0, "p"], [4202, 0, "p"], [4203, 0, "l"], [4204, 0, "y"], [4205, 0, "-"], [4623, 0, "A"], [4624, 0, "p"], [4625, 0, "p"], [4626, 0, "l"], [4627, 0, "y"], [4628, 0, "-"], [4734, 0, "\n"], [4735, 0, "\n"], [4736, 0, "\\"], [4737, 0, "b"], [4738, 0, "e"], [4739, 0, "g"], [4740, 0, "i"], [4741, 0, "n"], [4742, 0, "{"], [4743, 0, "p"], [4744, 0, "r"], [4745, 0, "o"], [4746, 0, "o"], [4747, 0, "f"], [4748, 0, "t"], [4749, 0, "r"], [4750, 0, "e"], [4751, 0, "e"], [4752, 0, "}"], [4753, 0, "\n"], [4754, 0, "\\"], [4755, 0, "e"], [4756, 0, "n"], [4757, 0, "d"], [4758, 0, "{"], [4759, 0, "p"], [4760, 0, "r"], [4761, 0, "o"], [4762, 0, "o"], [4763, 0, "f"], [4764, 0, "t"], [4765, 0, "r"], [4766, 0, "e"], [4767, 0, "e"], [4768, 0, "}"], [4753, 0, "\n"], [4754, 0, " "], [4755, 0, " "], [4756, 0, " "], [4757, 0, " "], [4758, 0, "\\"], [4759, 0, "A"], [4760, 0, "x"], [4761, 0, "i"], [4762, 0, "o"], [4763, 0, "m"], [4764, 0, "C"], [4765, 0, "{"], [4766, 0, "$"], [4767, 0, "A"], [4768, 0, "("], [4769, 0, "\\"], [4770, 0, "m"], [4771, 0, "a"], [4772, 0, "t"], [4773, 0, "h"], [4774, 0, "i"], [4775, 0, "t"], [4776, 0, "{"], [4777, 0, "t"], [4778, 0, "a"], [4779, 0, "r"], [4780, 0, "g"], [4781, 0, "e"], [4782, 0, "t"], [4783, 0, "}"], [4784, 0, ")"], [4785, 0, " "], [4786, 0, "="], [4787, 0, " "], [4788, 0, "("], [4789, 0, "v"], [4790, 0, ","], [4791, 0, " "], [4792, 0, "\\"], [4793, 0, "m"], [4794, 0, "a"], [4795, 0, "t"], [4796, 0, "h"], [4797, 0, "i"], [4798, 0, "t"], [4799, 0, "{"], [4800, 0, "n"], [4801, 0, "e"], [4802, 0, "x"], [4803, 0, "t"], [4804, 0, "}"], [4805, 0, ")"], [4806, 0, "$"], [4807, 0, "}"], [4808, 0, "\n"], [4809, 0, " "], [4810, 0, " "], [4811, 0, " "], [4812, 0, " "], [4813, 0, "\\"], [4814, 0, "L"], [4815, 0, "e"], [4816, 0, "f"], [4817, 0, "t"], [4818, 0, "L"], [4819, 0, "a"], [4820, 0, "b"], [4821, 0, "e"], [4822, 0, "l"], [4823, 0, "{"], [4824, 0, "$"], [4825, 0, "\\"], [4826, 0, "t"], [4827, 0, "e"], [4828, 0, "x"], [4829, 0, "t"], [4830, 0, "s"], [4831, 0, "c"], [4832, 0, "{"], [4833, 0, "A"], [4834, 0, "p"], [4835, 0, "p"], [4836, 0, "l"], [4837, 0, "y"], [4838, 0, "-"], [4839, 0, "D"], [4840, 0, "e"], [4841, 0, "l"], [4842, 0, "}"], [4843, 0, "$"], [4843, 1], [4824, 1], [4842, 0, "}"], [4843, 0, "\n"], [4844, 0, " "], [4845, 0, " "], [4846, 0, " "], [4847, 0, " "], [4848, 0, "\\"], [4849, 0, "U"], [4850, 0, "n"], [4851, 0, "a"], [4852, 0, "r"], [4853, 0, "y"], [4854, 0, "I"], [4855, 0, "n"], [4856, 0, "f"], [4857, 0, "C"], [4858, 0, "{"], [4859, 0, "$"], [4860, 0, "A"], [4861, 0, ","], [4862, 0, " "], [4863, 0, "\\"], [4864, 0, "a"], [4865, 0, "m"], [4865, 1], [4864, 1], [4864, 0, "m"], [4865, 0, "a"], [4866, 0, "t"], [4867, 0, "h"], [4868, 0, "s"], [4869, 0, "f"], [4870, 0, "{"], [4871, 0, "d"], [4872, 0, "e"], [4873, 0, "l"], [4874, 0, "e"], [4875, 0, "t"], [4876, 0, "e"], [4877, 0, "}"], [4878, 0, "("], [4879, 0, "\\"], [4880, 0, "m"], [4881, 0, "a"], [4882, 0, "t"], [4883, 0, "h"], [4884, 0, "i"], [4885, 0, "d"], [4885, 1], [4885, 0, "t"], [4886, 0, "{"], [4887, 0, "i"], [4888, 0, "d"], [4889, 0, "}"], [4890, 0, ","], [4891, 0, " "], [4892, 0, "\\"], [4893, 0, "m"], [4894, 0, "a"], [4895, 0, "t"], [4896, 0, "h"], [4897, 0, "i"], [4898, 0, "t"], [4899, 0, "{"], [4900, 0, "t"], [4901, 0, "a"], [4902, 0, "r"], [4903, 0, "g"], [4904, 0, "e"], [4905, 0, "t"], [4906, 0, "}"], [4907, 0, ")"], [4908, 0, " "], [4909, 0, "\\"], [4910, 0, "e"], [4911, 0, "v"], [4912, 0, "a"], [4913, 0, "l"], [4914, 0, "t"], [4915, 0, "o"], [4916, 0, " "], [4916, 1], [4916, 0, "\n"], [4917, 0, " "], [4918, 0, " "], [4919, 0, " "], [4920, 0, " "], [4921, 0, " "], [4922, 0, " "], [4923, 0, " "], [4924, 0, " "], [4925, 0, "A"], [4926, 0, "["], [4927, 0, "\\"], [4928, 0, ","], [4929, 0, "\\"], [4930, 0, "m"], [4931, 0, "a"], [4932, 0, "t"], [4933, 0, "h"], [4934, 0, "i"], [4935, 0, "t"], [4936, 0, "{"], [4937, 0, "t"], [4938, 0, "a"], [4939, 0, "r"], [4940, 0, "g"], [4941, 0, "e"], [4942, 0, "t"], [4943, 0, "}"], [4944, 0, " "], [4945, 0, "\\"], [4946, 0, "m"], [4947, 0, "a"], [4948, 0, "p"], [4949, 0, "s"], [4950, 0, "t"], [4951, 0, "o"], [4952, 0, " "], [4953, 0, "("], [4954, 0, "\\"], [4955, 0, "b"], [4956, 0, "o"], [4957, 0, "t"], [4958, 0, ","], [4959, 0, " "], [4960, 0, "\\"], [4961, 0, "m"], [4962, 0, "a"], [4963, 0, "t"], [4964, 0, "h"], [4965, 0, "i"], [4966, 0, "t"], [4967, 0, "{"], [4968, 0, "n"], [4969, 0, "e"], [4970, 0, "x"], [4971, 0, "t"], [4972, 0, "}"], [4973, 0, ")"], [4974, 0, "\\"], [4975, 0, ","], [4976, 0, "]"], [4977, 0, "$"], [4978, 0, "}"], [4110, 0, "\\"], [4111, 0, "m"], [4112, 0, "a"], [4113, 0, "t"], [4114, 0, "h"], [4115, 0, "s"], [4116, 0, "f"], [4117, 0, "{"], [4118, 0, "l"], [4119, 0, "i"], [4120, 0, "s"], [4121, 0, "t"], [4122, 0, "E"], [4123, 0, "l"], [4124, 0, "}"], [4339, 0, "\\"], [4340, 0, "m"], [4341, 0, "a"], [4342, 0, "t"], [4343, 0, "h"], [4344, 0, "s"], [4345, 0, "f"], [4346, 0, "{"], [4347, 0, "l"], [4348, 0, "i"], [4349, 0, "s"], [4350, 0, "t"], [4351, 0, "E"], [4352, 0, "l"], [4353, 0, "}"], [4375, 1], [4375, 0, "\n"], [4376, 0, " "], [4377, 0, " "], [4378, 0, " "], [4379, 0, " "], [4380, 0, " "], [4381, 0, " "], [4382, 0, " "], [4383, 0, " "], [4404, 0, "\\"], [4405, 0, "m"], [4406, 0, "a"], [4407, 0, "t"], [4408, 0, "h"], [4409, 0, "s"], [4410, 0, "f"], [4411, 0, "{"], [4412, 0, "l"], [4413, 0, "i"], [4414, 0, "s"], [4415, 0, "t"], [4416, 0, "E"], [4417, 0, "l"], [4418, 0, "}"], [4510, 0, "\\"], [4511, 0, "m"], [4512, 0, "a"], [4513, 0, "t"], [4514, 0, "h"], [4515, 0, "s"], [4516, 0, "f"], [4517, 0, "{"], [4518, 0, "l"], [4519, 0, "i"], [4520, 0, "s"], [4521, 0, "t"], [4522, 0, "E"], [4523, 0, "l"], [4524, 0, "}"], [4856, 0, "\\"], [4857, 0, "m"], [4858, 0, "a"], [4859, 0, "t"], [4860, 0, "h"], [4861, 0, "s"], [4862, 0, "f"], [4863, 0, "{"], [4864, 0, "l"], [4865, 0, "i"], [4866, 0, "s"], [4867, 0, "t"], [4868, 0, "E"], [4869, 0, "l"], [4870, 0, "}"], [5036, 0, "\\"], [5037, 0, "m"], [5038, 0, "a"], [5039, 0, "t"], [5040, 0, "h"], [5041, 0, "s"], [5042, 0, "f"], [5043, 0, "{"], [5044, 0, "l"], [5045, 0, "i"], [5046, 0, "s"], [5047, 0, "t"], [5048, 0, "E"], [5049, 0, "l"], [5050, 0, "}"], [4059, 0, "\n"], [4060, 0, "\\"], [4061, 0, "b"], [4062, 0, "e"], [4063, 0, "g"], [4064, 0, "i"], [4065, 0, "n"], [4065, 1], [4064, 1], [4063, 1], [4062, 1], [4061, 1], [4060, 1], [4060, 0, "\\"], [4061, 0, "A"], [4062, 0, "x"], [4063, 0, "i"], [4064, 0, "o"], [4065, 0, "m"], [4066, 0, "C"], [4067, 0, "{"], [4068, 0, "$"], [4068, 1], [4067, 1], [4066, 1], [4065, 1], [4064, 1], [4063, 1], [4062, 1], [4061, 1], [4060, 1], [4059, 1], [4237, 1], [4236, 1], [4235, 1], [4235, 0, "T"], [4236, 0, "r"], [4237, 0, "i"], [4238, 0, "n"], [4077, 0, "\n"], [4078, 0, " "], [4079, 0, " "], [4080, 0, " "], [4081, 0, " "], [4082, 0, "\\"], [4083, 0, "A"], [4084, 0, "x"], [4085, 0, "i"], [4086, 0, "o"], [4087, 0, "m"], [4088, 0, "C"], [4089, 0, "{"], [4090, 0, "$"], [4091, 0, "\\"], [4092, 0, "m"], [4093, 0, "a"], [4094, 0, "t"], [4095, 0, "h"], [4096, 0, "i"], [4097, 0, "t"], [4098, 0, "{"], [4099, 0, "i"], [4100, 0, "d"], [4101, 0, "}"], [4102, 0, " "], [4103, 0, "\\"], [4104, 0, "n"], [4105, 0, "o"], [4106, 0, "t"], [4107, 0, "\\"], [4108, 0, "i"], [4109, 0, "n"], [4110, 0, " "], [4111, 0, "\\"], [4112, 0, "m"], [4113, 0, "a"], [4114, 0, "t"], [4115, 0, "h"], [4116, 0, "r"], [4117, 0, "m"], [4118, 0, "("], [4118, 1], [4118, 0, "{"], [4119, 0, "d"], [4120, 0, "o"], [4121, 0, "m"], [4122, 0, "}"], [4123, 0, "("], [4124, 0, "A"], [4125, 0, ")"], [4126, 0, "$"], [4127, 0, "}"], [4059, 0, "\n"], [4060, 0, "\\"], [4061, 0, "b"], [4062, 0, "e"], [4063, 0, "g"], [4064, 0, "i"], [4065, 0, "n"], [4066, 0, "{"], [4067, 0, "p"], [4068, 0, "r"], [4069, 0, "o"], [4070, 0, "o"], [4071, 0, "f"], [4072, 0, "t"], [4073, 0, "r"], [4074, 0, "e"], [4075, 0, "e"], [4076, 0, "}"], [4077, 0, "\n"], [4078, 0, "\\"], [4079, 0, "e"], [4080, 0, "n"], [4081, 0, "d"], [4082, 0, "{"], [4083, 0, "p"], [4084, 0, "r"], [4085, 0, "o"], [4086, 0, "o"], [4087, 0, "f"], [4088, 0, "t"], [4089, 0, "r"], [4090, 0, "e"], [4091, 0, "e"], [4092, 0, "}"], [4093, 0, "\n"], [4077, 0, "\n"], [4078, 0, " "], [4079, 0, " "], [4080, 0, " "], [4081, 0, " "], [4082, 0, "\\"], [4083, 0, "L"], [4084, 0, "e"], [4085, 0, "f"], [4086, 0, "t"], [4087, 0, "L"], [4088, 0, "a"], [4089, 0, "b"], [4090, 0, "e"], [4091, 0, "l"], [4092, 0, "{"], [4093, 0, "\\"], [4094, 0, "t"], [4095, 0, "e"], [4096, 0, "x"], [4097, 0, "t"], [4098, 0, "s"], [4099, 0, "c"], [4100, 0, "{"], [4101, 0, "A"], [4102, 0, "p"], [4103, 0, "p"], [4104, 0, "l"], [4105, 0, "y"], [4106, 0, "-"], [4107, 0, "T"], [4108, 0, "S"], [4109, 0, "}"], [4110, 0, "}"], [4111, 0, "\n"], [4112, 0, " "], [4113, 0, " "], [4114, 0, " "], [4115, 0, " "], [4116, 0, "\\"], [4117, 0, "U"], [4118, 0, "N"], [4119, 0, "a"], [4120, 0, "r"], [4077, 0, "\n"], [4078, 0, " "], [4079, 0, " "], [4080, 0, " "], [4081, 0, " "], [4082, 0, "\\"], [4083, 0, "A"], [4084, 0, "x"], [4085, 0, "i"], [4086, 0, "o"], [4087, 0, "m"], [4088, 0, "C"], [4089, 0, "{"], [4090, 0, "}"], [4134, 1], [4133, 1], [4132, 1], [4132, 0, "n"], [4133, 0, "a"], [4134, 0, "r"], [4135, 0, "y"], [4136, 0, "I"], [4137, 0, "n"], [4138, 0, "f"], [4139, 0, "C"], [4140, 0, "{"], [4141, 0, "$"], [4142, 0, "$"], [4143, 0, "}"], [4142, 0, "A"], [4143, 0, ","], [4144, 0, " "], [4145, 0, "\\"], [4146, 0, "m"], [4147, 0, "a"], [4148, 0, "t"], [4149, 0, "h"], [4150, 0, "s"], [4151, 0, "f"], [4152, 0, "{"], [4153, 0, "t"], [4154, 0, "s"], [4155, 0, "}"], [4156, 0, "("], [4157, 0, "\\"], [4158, 0, "m"], [4159, 0, "a"], [4160, 0, "t"], [4161, 0, "h"], [4162, 0, "i"], [4163, 0, "t"], [4164, 0, "{"], [4165, 0, "i"], [4166, 0, "d"], [4167, 0, "}"], [4168, 0, ")"], [4169, 0, " "], [4170, 0, "\\"], [4171, 0, "e"], [4172, 0, "v"], [4173, 0, "a"], [4174, 0, "l"], [4175, 0, "t"], [4176, 0, "o"], [4177, 0, " "], [4178, 0, "A"], [4179, 0, "["], [4180, 0, "\\"], [4181, 0, ","], [4182, 0, "\\"], [4183, 0, "m"], [4184, 0, "a"], [4185, 0, "t"], [4186, 0, "h"], [4187, 0, "i"], [4188, 0, "t"], [4188, 1], [4187, 1], [4187, 0, "s"], [4188, 0, "f"], [4189, 0, "{"], [4190, 0, "c"], [4191, 0, "t"], [4192, 0, "r"], [4193, 0, "}"], [4194, 0, " "], [4195, 0, "\\"], [4196, 0, "m"], [4197, 0, "a"], [4198, 0, "p"], [4199, 0, "s"], [4200, 0, "t"], [4201, 0, "o"], [4202, 0, " "], [4203, 0, "\\"], [4204, 0, "m"], [4205, 0, "a"], [4206, 0, "t"], [4207, 0, "h"], [4208, 0, "r"], [4209, 0, "m"], [4210, 0, "{"], [4177, 1], [4177, 0, "\n"], [4178, 0, " "], [4179, 0, " "], [4180, 0, " "], [4181, 0, " "], [4182, 0, " "], [4183, 0, " "], [4184, 0, " "], [4185, 0, " "], [4219, 0, "m"], [4220, 0, "a"], [4221, 0, "x"], [4222, 0, "}"], [4223, 0, "("], [4224, 0, "A"], [4225, 0, "("], [4226, 0, "\\"], [4227, 0, "m"], [4228, 0, "a"], [4229, 0, "t"], [4230, 0, "h"], [4231, 0, "s"], [4232, 0, "f"], [4233, 0, "{"], [4234, 0, "c"], [4235, 0, "t"], [4236, 0, "r"], [4237, 0, "}"], [4238, 0, ")"], [4239, 0, ","], [4240, 0, " "], [4241, 0, "c"], [4242, 0, ")"], [4243, 0, "\\"], [4244, 0, ","], [4245, 0, "]"], [4090, 0, "\\"], [4091, 0, "m"], [4092, 0, "a"], [4093, 0, "t"], [4094, 0, "h"], [4095, 0, "i"], [4096, 0, "t"], [4097, 0, "{"], [4098, 0, "i"], [4099, 0, "d"], [4090, 0, "$"], [4102, 0, " "], [4103, 0, "="], [4104, 0, " "], [4105, 0, "("], [4106, 0, "c"], [4107, 0, ","], [4108, 0, " "], [4109, 0, "p"], [4110, 0, ")"], [4111, 0, "$"], [4112, 0, "}"], [4469, 0, "\n"], [4470, 0, " "], [4471, 0, " "], [4472, 0, " "], [4473, 0, " "], [4474, 0, "\\"], [4475, 0, "A"], [4476, 0, "x"], [4477, 0, "i"], [4478, 0, "o"], [4479, 0, "m"], [4480, 0, "C"], [4481, 0, "{"], [4482, 0, "$"], [4483, 0, "A"], [4484, 0, ","], [4485, 0, " "], [4486, 0, "\\"], [4487, 0, "m"], [4488, 0, "a"], [4489, 0, "t"], [4490, 0, "h"], [4491, 0, "s"], [4492, 0, "f"], [4493, 0, "{"], [4494, 0, "t"], [4495, 0, "s"], [4496, 0, "}"], [4497, 0, "("], [4498, 0, "\\"], [4499, 0, "m"], [4500, 0, "a"], [4501, 0, "t"], [4502, 0, "h"], [4503, 0, "i"], [4504, 0, "t"], [4505, 0, "{"], [4506, 0, "i"], [4507, 0, "d"], [4508, 0, "}"], [4509, 0, ")"], [4510, 0, " "], [4511, 0, "\\"], [4512, 0, "e"], [4513, 0, "v"], [4514, 0, "a"], [4515, 0, "l"], [4516, 0, "t"], [4517, 0, "o"], [4518, 0, " "], [4519, 0, "A"], [4520, 0, "'"], [4521, 0, "$"], [4522, 0, "}"], [4570, 1], [4569, 1], [4568, 1], [4568, 0, "Q"], [4569, 0, "u"], [4570, 0, "a"], [4571, 0, "t"], [4572, 0, "e"], [4573, 0, "r"], [4651, 0, "'"], [5270, 1], [5270, 0, "B"], [5271, 0, "i"], [5229, 0, "\n"], [5230, 0, " "], [5231, 0, " "], [5232, 0, " "], [5233, 0, " "], [5234, 0, "\\"], [5235, 0, "A"], [5236, 0, "x"], [5237, 0, "i"], [5238, 0, "o"], [5239, 0, "m"], [5240, 0, "C"], [5241, 0, "{"], [5242, 0, "$"], [5243, 0, "A"], [5244, 0, ","], [5245, 0, " "], [5246, 0, "\\"], [5247, 0, "m"], [5248, 0, "a"], [5249, 0, "t"], [5250, 0, "h"], [5251, 0, "s"], [5252, 0, "f"], [5253, 0, "{"], [5254, 0, "t"], [5255, 0, "s"], [5256, 0, "}"], [5257, 0, "("], [5258, 0, "\\"], [5259, 0, "m"], [5260, 0, "a"], [5261, 0, "t"], [5262, 0, "h"], [5263, 0, "i"], [5264, 0, "t"], [5265, 0, "{"], [5266, 0, "i"], [5267, 0, "d"], [5268, 0, "}"], [5269, 0, ")"], [5270, 0, " "], [5271, 0, "\\"], [5272, 0, "e"], [5273, 0, "v"], [5274, 0, "a"], [5275, 0, "l"], [5276, 0, "t"], [5277, 0, "o"], [5278, 0, " "], [5279, 0, "A"], [5280, 0, "'"], [5281, 0, "$"], [5282, 0, "}"], [5402, 0, "'"], [4221, 0, "o"], [4222, 0, "u"], [4223, 0, "n"], [4225, 0, "e"], [4261, 0, "o"], [4262, 0, "u"], [4263, 0, "n"], [4265, 0, "e"], [4265, 1], [4263, 1], [4262, 1], [4261, 1], [4225, 1], [4223, 1], [4222, 1], [4221, 1], [4059, 0, "\n"], [4060, 0, "\\"], [4061, 0, "A"], [4062, 0, "x"], [4063, 0, "i"], [4064, 0, "o"], [4065, 0, "m"], [4066, 0, "C"], [4067, 0, "{"], [4068, 0, "$"], [4069, 0, "A"], [4070, 0, "("], [4071, 0, "\\"], [4072, 0, "m"], [4073, 0, "a"], [4074, 0, "t"], [4075, 0, "h"], [4076, 0, "s"], [4077, 0, "f"], [4078, 0, "{"], [4079, 0, "c"], [4080, 0, "t"], [4081, 0, "r"], [4082, 0, "}"], [4083, 0, ")"], [4084, 0, " "], [4085, 0, "="], [4086, 0, " "], [4087, 0, "c"], [4088, 0, "$"], [4089, 0, "}"], [4090, 0, "\n"], [4091, 0, "\\"], [4092, 0, "L"], [4093, 0, "e"], [4094, 0, "f"], [4095, 0, "t"], [4096, 0, "L"], [4097, 0, "a"], [4098, 0, "b"], [4099, 0, "e"], [4100, 0, "l"], [4101, 0, "{"], [4102, 0, "\\"], [4103, 0, "t"], [4104, 0, "e"], [4105, 0, "x"], [4106, 0, "t"], [4107, 0, "s"], [4108, 0, "c"], [4109, 0, "{"], [4110, 0, "G"], [4111, 0, "e"], [4112, 0, "n"], [4113, 0, "-"], [4114, 0, "T"], [4115, 0, "S"], [4116, 0, "}"], [4117, 0, "}"], [4118, 0, "\n"], [4119, 0, "\\"], [4120, 0, "U"], [4121, 0, "n"], [4122, 0, "a"], [4123, 0, "r"], [4124, 0, "y"], [4125, 0, "I"], [4126, 0, "n"], [4127, 0, "f"], [4128, 0, "C"], [4129, 0, "{"], [4130, 0, "$"], [4131, 0, "A"], [4132, 0, ","], [4133, 0, " "], [4134, 0, "\\"], [4135, 0, "m"], [4136, 0, "a"], [4137, 0, "t"], [4138, 0, "h"], [4139, 0, "S"], [4140, 0, "F"], [4140, 1], [4139, 1], [4139, 0, "s"], [4140, 0, "f"], [4141, 0, "{"], [4142, 0, "n"], [4143, 0, "e"], [4144, 0, "w"], [4145, 0, "I"], [4146, 0, "D"], [4147, 0, "}"], [4148, 0, " "], [4149, 0, "\\"], [4150, 0, "e"], [4151, 0, "v"], [4152, 0, "a"], [4153, 0, "l"], [4154, 0, "t"], [4155, 0, "o"], [4156, 0, " "], [4157, 0, "A"], [4158, 0, "["], [4159, 0, "\\"], [4160, 0, ","], [4161, 0, "\\"], [4162, 0, "m"], [4163, 0, "a"], [4090, 0, "\n"], [4091, 0, "\\"], [4092, 0, "A"], [4093, 0, "x"], [4094, 0, "i"], [4095, 0, "o"], [4096, 0, "m"], [4097, 0, "C"], [4098, 0, "{"], [4099, 0, "$"], [4100, 0, "p"], [4101, 0, " "], [4102, 0, "="], [4103, 0, " "], [4104, 0, "m"], [4105, 0, "a"], [4106, 0, "t"], [4107, 0, "h"], [4108, 0, "r"], [4104, 0, "\\"], [4110, 0, "m"], [4111, 0, "{"], [4112, 0, "m"], [4113, 0, "y"], [4114, 0, "P"], [4115, 0, "e"], [4116, 0, "e"], [4117, 0, "r"], [4118, 0, "I"], [4119, 0, "D"], [4120, 0, "("], [4121, 0, ")"], [4122, 0, "}"], [4123, 0, "$"], [4124, 0, "}"], [4155, 1], [4155, 0, "B"], [4156, 0, "i"], [4200, 0, "t"], [4201, 0, "h"], [4202, 0, "s"], [4203, 0, "f"], [4204, 0, "{"], [4205, 0, "c"], [4206, 0, "t"], [4207, 0, "r"], [4208, 0, "}"], [4209, 0, " "], [4210, 0, "\\"], [4211, 0, "m"], [4212, 0, "a"], [4213, 0, "p"], [4214, 0, "s"], [4215, 0, "t"], [4216, 0, "o"], [4217, 0, " "], [4218, 0, "c"], [4219, 0, "+"], [4220, 0, "1"], [4221, 0, "\\"], [4222, 0, ","], [4223, 0, "]"], [4224, 0, ","], [4225, 0, "\\"], [4226, 0, ";"], [4227, 0, "("], [4228, 0, "c"], [4229, 0, ","], [4227, 0, " "], [4231, 0, " "], [4232, 0, "p"], [4233, 0, ")"], [4234, 0, "$"], [4235, 0, "}"], [4236, 0, "\n"], [4237, 0, "\n"], [4237, 1], [4237, 0, "\\"], [4238, 0, "D"], [4239, 0, "i"], [4240, 0, "s"], [4241, 0, "p"], [4242, 0, "l"], [4243, 0, "a"], [4244, 0, "y"], [4245, 0, "P"], [4246, 0, "r"], [4247, 0, "o"], [4248, 0, "o"], [4249, 0, "f"], [4250, 0, "\n"], [4169, 0, "\\"], [4170, 0, ","], [4170, 1], [4170, 0, ";"], [4270, 1], [4269, 1], [4268, 1], [4267, 1], [4266, 1], [4265, 1], [4264, 1], [4263, 1], [4262, 1], [4261, 1], [4260, 1], [4259, 1], [4258, 1], [4257, 1], [4256, 1], [4255, 1], [4254, 1], [4253, 1], [4461, 1], [4460, 1], [4459, 1], [4458, 1], [4457, 1], [4456, 1], [4455, 1], [4454, 1], [4453, 1], [4452, 1], [4451, 1], [4450, 1], [4449, 1], [4448, 1], [4448, 0, "D"], [4449, 0, "i"], [4450, 0, "s"], [4451, 0, "p"], [4452, 0, "l"], [4453, 0, "a"], [4454, 0, "y"], [4455, 0, "P"], [4456, 0, "r"], [4457, 0, "o"], [4458, 0, "o"], [4459, 0, "f"], [4232, 0, "+"], [4233, 0, "1"], [4344, 0, "\\"], [4345, 0, ";"], [4663, 0, "\\"], [4664, 0, ";"], [4766, 0, "\\"], [4767, 0, ";"], [5126, 0, "\\"], [5127, 0, ";"], [5248, 0, "\\"], [5249, 0, ";"], [5431, 0, "\\"], [5432, 0, ";"], [5526, 0, "\\"], [5527, 0, ";"], [4184, 1], [4183, 1], [4182, 1], [4181, 1], [4180, 1], [4180, 0, "n"], [4181, 0, "e"], [4182, 0, "w"], [4183, 0, "I"], [4184, 0, "D"], [4254, 0, "\n"], [4255, 0, "\n"], [4256, 0, "h"], [4257, 0, "e"], [4258, 0, "l"], [4259, 0, "l"], [4260, 0, "o"], [4472, 0, "\n"], [4473, 0, "w"], [4474, 0, "o"], [4475, 0, "r"], [4476, 0, "l"], [4477, 0, "d"], [4478, 0, "\n"], [4262, 1], [4261, 1], [4260, 1], [4259, 1], [4258, 1], [4257, 1], [4256, 1], [4255, 1], [4255, 1], [4255, 1], [4255, 1], [4255, 1], [4287, 1], [4287, 1], [4287, 1], [4287, 1], [4317, 1], [4317, 1], [4317, 1], [4317, 1], [4367, 1], [4367, 1], [4367, 1], [4371, 1], [4254, 0, "\n"], [4255, 0, "%"], [4256, 0, "%"], [4256, 1], [4456, 1], [4455, 1], [4454, 1], [4453, 1], [4452, 1], [4451, 1], [4450, 1], [4059, 0, "\n"], [4060, 0, "\\"], [4061, 0, "c"], [4062, 0, "e"], [4063, 0, "n"], [4064, 0, "t"], [4065, 0, "e"], [4066, 0, "r"], [4067, 0, "i"], [4068, 0, "n"], [4069, 0, "g"], [4070, 0, "\n"], [4070, 1], [4265, 0, "\\"], [4266, 0, "h"], [4267, 0, "f"], [4268, 0, "i"], [4269, 0, "l"], [4270, 0, "l"], [4080, 0, "c"], [4081, 0, " "], [4082, 0, "="], [4083, 0, " "], [4102, 1], [4101, 1], [4100, 1], [4099, 1], [4466, 0, "\n"], [4467, 0, "\n"], [4085, 0, "_"], [4086, 0, "p"], [4181, 0, "_"], [4182, 0, "p"], [4211, 0, "_"], [4212, 0, "p"], [4308, 0, "_"], [4309, 0, "\\"], [4310, 0, "m"], [4311, 0, "a"], [4312, 0, "t"], [4313, 0, "h"], [4314, 0, "i"], [4315, 0, "t"], [4316, 0, "{"], [4317, 0, "i"], [4318, 0, "d"], [4319, 0, "}"], [4367, 0, "_"], [4368, 0, "p"], [4411, 0, "_"], [4412, 0, "p"], [4557, 0, "_"], [4558, 0, "p"], [4577, 0, "_"], [4578, 0, "p"], [4615, 1], [4615, 0, "\\"], [4616, 0, "m"], [4617, 0, "a"], [4618, 0, "t"], [4619, 0, "h"], [4620, 0, "i"], [4621, 0, "t"], [4622, 0, "{"], [4623, 0, "p"], [4624, 0, "r"], [4625, 0, "e"], [4626, 0, "v"], [4627, 0, "}"], [4704, 0, "_"], [4705, 0, "p"], [4809, 0, "_"], [4810, 0, "p"], [4744, 0, "_"], [4745, 0, "p"], [4881, 0, "_"], [4882, 0, "p"], [4927, 1], [4927, 0, "]"], [4927, 1], [4927, 0, "\\"], [4928, 0, "m"], [4929, 0, "a"], [4930, 0, "t"], [4931, 0, "h"], [4932, 0, "i"], [4933, 0, "t"], [4934, 0, "{"], [4935, 0, "p"], [4936, 0, "r"], [4937, 0, "e"], [4938, 0, "v"], [4939, 0, "}"], [5074, 0, "_"], [5075, 0, "p"], [5112, 1], [5112, 0, "\\"], [5113, 0, "m"], [5114, 0, "a"], [5115, 0, "t"], [5116, 0, "h"], [5117, 0, "i"], [5118, 0, "t"], [5119, 0, "{"], [5120, 0, "p"], [5121, 0, "r"], [5122, 0, "e"], [5123, 0, "v"], [5124, 0, "}"], [5261, 0, "_"], [5262, 0, "p"], [5201, 0, "_"], [5202, 0, "p"], [5327, 0, "_"], [5328, 0, "p"], [5389, 0, "_"], [5390, 0, "p"], [5444, 0, "_"], [5445, 0, "p"], [5516, 0, "_"], [5517, 0, "p"], [5556, 0, "_"], [5557, 0, "p"], [5615, 0, "_"], [5616, 0, "p"], [5684, 0, "_"], [5685, 0, "p"], [4490, 0, "\\"], [4491, 0, "b"], [4492, 0, "e"], [4493, 0, "g"], [4494, 0, "i"], [4495, 0, "n"], [4496, 0, "{"], [4497, 0, "p"], [4498, 0, "r"], [4499, 0, "o"], [4500, 0, "o"], [4501, 0, "f"], [4502, 0, "t"], [4503, 0, "r"], [4504, 0, "e"], [4505, 0, "e"], [4506, 0, "}"], [4507, 0, "\n"], [4508, 0, "\\"], [4509, 0, "e"], [4510, 0, "n"], [4511, 0, "d"], [4512, 0, "{"], [4513, 0, "p"], [4514, 0, "r"], [4514, 1], [4513, 1], [4512, 1], [4511, 1], [4510, 1], [4509, 1], [4508, 1], [4507, 1], [4506, 1], [4505, 1], [4504, 1], [4503, 1], [4502, 1], [4501, 1], [4500, 1], [4499, 1], [4498, 1], [4497, 1], [4496, 1], [4495, 1], [4494, 1], [4493, 1], [4492, 1], [4491, 1], [4491, 0, "A"], [4492, 0, "x"], [4493, 0, "i"], [4494, 0, "o"], [4495, 0, "m"], [4496, 0, "C"], [4497, 0, "{"], [4498, 0, "$"], [4499, 0, "q"], [4500, 0, " "], [4501, 0, "\\"], [4502, 0, "i"], [4503, 0, "n"], [4504, 0, " "], [4505, 0, "\\"], [4506, 0, "m"], [4507, 0, "a"], [4508, 0, "t"], [4509, 0, "h"], [4510, 0, "i"], [4511, 0, "t"], [4512, 0, "{"], [4513, 0, "p"], [4514, 0, "e"], [4515, 0, "e"], [4516, 0, "r"], [4517, 0, "s"], [4518, 0, "}"], [4519, 0, "$"], [4520, 0, "}"], [4521, 0, "\n"], [4522, 0, "\\"], [4523, 0, "L"], [4524, 0, "e"], [4525, 0, "f"], [4526, 0, "t"], [4527, 0, "L"], [4528, 0, "a"], [4529, 0, "b"], [4530, 0, "e"], [4531, 0, "l"], [4532, 0, "{"], [4533, 0, "\\"], [4534, 0, "t"], [4535, 0, "e"], [4536, 0, "x"], [4537, 0, "t"], [4538, 0, "s"], [4539, 0, "c"], [4540, 0, "{"], [4541, 0, "R"], [4542, 0, "e"], [4543, 0, "c"], [4544, 0, "v"], [4545, 0, "}"], [4546, 0, "}"], [4547, 0, "\n"], [4548, 0, "\\"], [4549, 0, "U"], [4550, 0, "n"], [4551, 0, "a"], [4552, 0, "r"], [4553, 0, "y"], [4554, 0, "I"], [4555, 0, "n"], [4556, 0, "f"], [4557, 0, "C"], [4558, 0, "{"], [4559, 0, "$"], [4560, 0, "A"], [4561, 0, "_"], [4562, 0, "p"], [4563, 0, ","], [4564, 0, "\\"], [4565, 0, ";"], [4566, 0, " "], [4567, 0, "\\"], [4568, 0, "m"], [4569, 0, "a"], [4570, 0, "t"], [4571, 0, "h"], [4572, 0, "s"], [4573, 0, "f"], [4574, 0, "{"], [4575, 0, "y"], [4576, 0, "i"], [4577, 0, "e"], [4578, 0, "l"], [4579, 0, "d"], [4580, 0, "|"], [4580, 1], [4580, 0, "}"], [4581, 0, " "], [4582, 0, "\\"], [4583, 0, "e"], [4584, 0, "v"], [4585, 0, "a"], [4586, 0, "l"], [4587, 0, "t"], [4588, 0, "o"], [4589, 0, " "], [4590, 0, "A"], [4591, 0, "_"], [4592, 0, "p"], [4593, 0, "["], [4594, 0, ","], [4594, 1], [4594, 0, "\\"], [4595, 0, ","], [4596, 0, "\\"], [4597, 0, "m"], [4598, 0, "a"], [4599, 0, "t"], [4600, 0, "h"], [4601, 0, "s"], [4602, 0, "f"], [4603, 0, "{"], [4604, 0, "r"], [4605, 0, "e"], [4606, 0, "c"], [4607, 0, "v"], [4608, 0, "}"], [4609, 0, " "], [4610, 0, "\\"], [4611, 0, "m"], [4612, 0, "a"], [4613, 0, "p"], [4614, 0, "s"], [4615, 0, "t"], [4616, 0, "o"], [4617, 0, " "], [4618, 0, "A"], [4619, 0, "_"], [4620, 0, "p"], [4621, 0, "("], [4622, 0, "\\"], [4623, 0, "m"], [4624, 0, "a"], [4625, 0, "t"], [4626, 0, "h"], [4627, 0, "s"], [4628, 0, "f"], [4629, 0, "{"], [4630, 0, "r"], [4631, 0, "e"], [4632, 0, "c"], [4633, 0, "v"], [4634, 0, "}"], [4635, 0, ")"], [4636, 0, " "], [4637, 0, "\\"], [4638, 0, "c"], [4639, 0, "u"], [4640, 0, "p"], [4641, 0, " "], [4642, 0, "A"], [4643, 0, "_"], [4644, 0, "q"], [4645, 0, "("], [4646, 0, "\\"], [4647, 0, "m"], [4648, 0, "a"], [4649, 0, "t"], [4650, 0, "h"], [4651, 0, "s"], [4652, 0, "f"], [4653, 0, "{"], [4654, 0, "s"], [4655, 0, "e"], [4656, 0, "n"], [4657, 0, "d"], [4658, 0, "}"], [4659, 0, ")"], [4660, 0, "\\"], [4661, 0, ","], [4662, 0, "]"], [4663, 0, "$"], [4664, 0, "}"], [4665, 0, "\n"], [4666, 0, "\\"], [4667, 0, "D"], [4668, 0, "i"], [4669, 0, "s"], [4670, 0, "p"], [4671, 0, "l"], [4672, 0, "a"], [4673, 0, "y"], [4674, 0, "P"], [4675, 0, "r"], [4676, 0, "o"], [4677, 0, "o"], [4678, 0, "f"], [4678, 1], [4677, 1], [4676, 1], [4675, 1], [4674, 1], [4673, 1], [4672, 1], [4671, 1], [4670, 1], [4669, 1], [4668, 1], [4667, 1], [4667, 0, "e"], [4668, 0, "n"], [4669, 0, "d"], [4670, 0, "{"], [4671, 0, "p"], [4672, 0, "r"], [4673, 0, "o"], [4674, 0, "o"], [4675, 0, "f"], [4676, 0, "t"], [4677, 0, "r"], [4678, 0, "e"], [4679, 0, "e"], [4680, 0, "}"], [4489, 0, "\n"], [4490, 0, "\\"], [4491, 0, "b"], [4492, 0, "e"], [4493, 0, "g"], [4494, 0, "i"], [4495, 0, "n"], [4496, 0, "{"], [4497, 0, "p"], [4498, 0, "r"], [4499, 0, "o"], [4500, 0, "o"], [4501, 0, "f"], [4502, 0, "t"], [4503, 0, "r"], [4504, 0, "e"], [4505, 0, "e"], [4506, 0, "}"], [4506, 1], [4505, 1], [4504, 1], [4503, 1], [4502, 1], [4501, 1], [4500, 1], [4499, 1], [4498, 1], [4497, 1], [4496, 1], [4495, 1], [4494, 1], [4493, 1], [4492, 1], [4491, 1], [4490, 1], [4490, 0, "\\"], [4491, 0, "p"], [4492, 0, "r"], [4493, 0, "o"], [4494, 0, "o"], [4495, 0, "f"], [4496, 0, "S"], [4497, 0, "k"], [4498, 0, "i"], [4499, 0, "p"], [4500, 0, "A"], [4501, 0, "m"], [4502, 0, "o"], [4503, 0, "u"], [4504, 0, "n"], [4505, 0, "t"], [4506, 0, " "], [4507, 0, "\\"], [4508, 0, "l"], [4509, 0, "e"], [4510, 0, "a"], [4511, 0, "v"], [4512, 0, "e"], [4513, 0, "v"], [4514, 0, "m"], [4515, 0, "o"], [4516, 0, "d"], [4517, 0, "e"], [4506, 1], [4708, 1], [4707, 1], [4706, 1], [4705, 1], [4704, 1], [4703, 1], [4702, 1], [4701, 1], [4700, 1], [4699, 1], [4698, 1], [4697, 1], [4696, 1], [4695, 1], [4695, 0, "p"], [4696, 0, "r"], [4697, 0, "o"], [4698, 0, "o"], [4699, 0, "f"], [4700, 0, "S"], [4701, 0, "k"], [4702, 0, "i"], [4703, 0, "p"], [4704, 0, "A"], [4705, 0, "m"], [4706, 0, "o"], [4707, 0, "u"], [4708, 0, "n"], [4709, 0, "t"], [4517, 0, "\n"], [4518, 0, "\\"], [4519, 0, "A"], [4520, 0, "x"], [4521, 0, "i"], [4522, 0, "o"], [4523, 0, "m"], [4524, 0, "C"], [4525, 0, "{"], [4526, 0, "}"], [4527, 0, "\n"], [4528, 0, "\\"], [4529, 0, "L"], [4530, 0, "e"], [4531, 0, "f"], [4532, 0, "t"], [4533, 0, "L"], [4534, 0, "a"], [4535, 0, "b"], [4536, 0, "e"], [4537, 0, "l"], [4538, 0, "{"], [4539, 0, "\\"], [4540, 0, "t"], [4541, 0, "e"], [4542, 0, "x"], [4543, 0, "t"], [4544, 0, "s"], [4545, 0, "c"], [4546, 0, "{"], [4547, 0, "S"], [4548, 0, "e"], [4549, 0, "n"], [4550, 0, "d"], [4551, 0, "}"], [4552, 0, "}"], [4553, 0, "\n"], [4554, 0, "\\"], [4555, 0, "U"], [4556, 0, "n"], [4557, 0, "a"], [4558, 0, "r"], [4559, 0, "y"], [4560, 0, "I"], [4561, 0, "n"], [4562, 0, "f"], [4563, 0, "C"], [4564, 0, "{"], [4565, 0, "$"], [4566, 0, "A"], [4567, 0, "_"], [4568, 0, "p"], [4569, 0, ","], [4570, 0, "\\"], [4571, 0, ";"], [4572, 0, " "], [4573, 0, "\\"], [4574, 0, "m"], [4575, 0, "a"], [4576, 0, "t"], [4577, 0, "h"], [4578, 0, "s"], [4579, 0, "f"], [4580, 0, "{"], [4581, 0, "y"], [4582, 0, "i"], [4583, 0, "e"], [4584, 0, "l"], [4585, 0, "d"], [4586, 0, "}"], [4587, 0, " "], [4588, 0, "\\"], [4589, 0, "e"], [4590, 0, "v"], [4591, 0, "a"], [4592, 0, "l"], [4593, 0, "t"], [4594, 0, "o"], [4595, 0, " "], [4596, 0, "A"], [4597, 0, "_"], [4598, 0, "p"], [4599, 0, "["], [4600, 0, "\\"], [4601, 0, ","], [4602, 0, "\\"], [4603, 0, "m"], [4604, 0, "a"], [4605, 0, "t"], [4606, 0, "h"], [4607, 0, "s"], [4608, 0, "f"], [4609, 0, "{"], [4610, 0, "s"], [4611, 0, "e"], [4612, 0, "n"], [4613, 0, "d"], [4614, 0, "}"], [4615, 0, " "], [4616, 0, "\\"], [4617, 0, "m"], [4618, 0, "a"], [4619, 0, "p"], [4620, 0, "s"], [4621, 0, "t"], [4622, 0, "o"], [4623, 0, " "], [4624, 0, "A"], [4625, 0, "_"], [4626, 0, "p"], [4627, 0, "("], [4628, 0, "\\"], [4629, 0, "m"], [4630, 0, "a"], [4631, 0, "t"], [4632, 0, "h"], [4633, 0, "s"], [4634, 0, "f"], [4635, 0, "{"], [4636, 0, "s"], [4637, 0, "e"], [4638, 0, "n"], [4639, 0, "d"], [4640, 0, "}"], [4641, 0, ")"], [4642, 0, " "], [4643, 0, "\\"], [4644, 0, "c"], [4645, 0, "u"], [4646, 0, "p"], [4647, 0, " "], [4648, 0, "A"], [4649, 0, "_"], [4650, 0, "p"], [4651, 0, "("], [4652, 0, "\\"], [4653, 0, "m"], [4654, 0, "a"], [4655, 0, "t"], [4656, 0, "h"], [4657, 0, "s"], [4658, 0, "f"], [4659, 0, "{"], [4660, 0, "n"], [4661, 0, "e"], [4662, 0, "w"], [4663, 0, "O"], [4664, 0, "p"], [4665, 0, "s"], [4666, 0, "}"], [4667, 0, ")"], [4668, 0, "\\"], [4669, 0, ","], [4670, 0, "]"], [4671, 0, "$"], [4672, 0, "}"], [4673, 0, "\n"], [4674, 0, "\\"], [4675, 0, "D"], [4676, 0, "i"], [4677, 0, "s"], [4678, 0, "p"], [4679, 0, "l"], [4680, 0, "a"], [4681, 0, "y"], [4682, 0, "P"], [4683, 0, "r"], [4684, 0, "o"], [4685, 0, "o"], [4686, 0, "f"], [4687, 0, "\\"], [4688, 0, "h"], [4689, 0, "f"], [4690, 0, "i"], [4691, 0, "l"], [4692, 0, "l"], [4693, 0, "\n"], [4694, 0, "%"], [4872, 0, "\\"], [4873, 0, "D"], [4874, 0, "i"], [4875, 0, "s"], [4876, 0, "p"], [4877, 0, "l"], [4878, 0, "a"], [4879, 0, "y"], [4880, 0, "P"], [4881, 0, "r"], [4882, 0, "o"], [4883, 0, "o"], [4884, 0, "f"], [4516, 1], [4515, 1], [4514, 1], [4513, 1], [4512, 1], [4511, 1], [4510, 1], [4509, 1], [4508, 1], [4507, 1], [4506, 1], [4505, 1], [4504, 1], [4503, 1], [4502, 1], [4501, 1], [4500, 1], [4499, 1], [4498, 1], [4497, 1], [4496, 1], [4495, 1], [4494, 1], [4493, 1], [4492, 1], [4491, 1], [4491, 0, "b"], [4492, 0, "e"], [4493, 0, "g"], [4494, 0, "i"], [4495, 0, "n"], [4496, 0, "{"], [4497, 0, "p"], [4498, 0, "r"], [4499, 0, "o"], [4500, 0, "o"], [4501, 0, "f"], [4502, 0, "t"], [4503, 0, "r"], [4504, 0, "e"], [4505, 0, "e"], [4506, 0, "}"], [4683, 0, "\n"], [4684, 0, "\\"], [4685, 0, "e"], [4686, 0, "n"], [4687, 0, "d"], [4688, 0, "{"], [4689, 0, "p"], [4690, 0, "r"], [4691, 0, "o"], [4692, 0, "o"], [4693, 0, "f"], [4694, 0, "t"], [4695, 0, "r"], [4696, 0, "e"], [4697, 0, "e"], [4698, 0, "}"], [4700, 1], [4700, 0, "\n"], [4701, 0, "\\"], [4702, 0, "b"], [4703, 0, "e"], [4704, 0, "g"], [4705, 0, "i"], [4706, 0, "n"], [4707, 0, "P"], [4707, 1], [4707, 0, "{"], [4708, 0, "p"], [4709, 0, "r"], [4710, 0, "o"], [4711, 0, "o"], [4712, 0, "f"], [4713, 0, "t"], [4714, 0, "r"], [4715, 0, "e"], [4716, 0, "e"], [4717, 0, "}"], [4923, 1], [4922, 1], [4921, 1], [4920, 1], [4919, 1], [4918, 1], [4917, 1], [4916, 1], [4915, 1], [4914, 1], [4913, 1], [4912, 1], [4911, 1], [4910, 1], [4909, 1], [4908, 1], [4907, 1], [4906, 1], [4905, 1], [4904, 1], [4903, 1], [4902, 1], [4901, 1], [4900, 1], [4899, 1], [4898, 1], [4897, 1], [4896, 1], [4896, 0, "e"], [4897, 0, "n"], [4898, 0, "d"], [4899, 0, "{"], [4900, 0, "p"], [4901, 0, "r"], [4902, 0, "o"], [4903, 0, "o"], [4904, 0, "f"], [4905, 0, "t"], [4906, 0, "r"], [4907, 0, "e"], [4908, 0, "e"], [4909, 0, "}"], [4682, 1], [4681, 1], [4680, 1], [4679, 1], [4678, 1], [4677, 1], [4676, 1], [4675, 1], [4674, 1], [4673, 1], [4672, 1], [4671, 1], [4670, 1], [4669, 1], [4668, 1], [4667, 1], [4666, 1], [4665, 1], [4664, 1], [4663, 1], [4890, 0, "\n"], [4891, 0, "\n"], [4892, 0, "\\"], [4893, 0, "b"], [4894, 0, "e"], [4895, 0, "g"], [4896, 0, "i"], [4897, 0, "n"], [4898, 0, "{"], [4899, 0, "p"], [4900, 0, "r"], [4901, 0, "o"], [4902, 0, "o"], [4903, 0, "f"], [4904, 0, "t"], [4905, 0, "r"], [4906, 0, "e"], [4907, 0, "e"], [4908, 0, "}"], [4909, 0, "\n"], [4910, 0, "\\"], [4911, 0, "e"], [4912, 0, "n"], [4913, 0, "d"], [4914, 0, "{"], [4915, 0, "p"], [4916, 0, "r"], [4917, 0, "o"], [4918, 0, "o"], [4919, 0, "f"], [4920, 0, "t"], [4921, 0, "r"], [4922, 0, "e"], [4923, 0, "e"], [4924, 0, "}"], [4909, 0, "\n"], [4910, 0, "\\"], [4911, 0, "A"], [4912, 0, "x"], [4913, 0, "i"], [4914, 0, "o"], [4915, 0, "m"], [4916, 0, "C"], [4917, 0, "{"], [4918, 0, "$"], [4919, 0, "("], [4920, 0, "\\"], [4921, 0, "m"], [4922, 0, "a"], [4923, 0, "t"], [4924, 0, "h"], [4925, 0, "s"], [4926, 0, "f"], [4927, 0, "{"], [4927, 1], [4926, 1], [4925, 1], [4925, 0, "i"], [4926, 0, "t"], [4927, 0, "{"], [4928, 0, "d"], [4929, 0, "e"], [4930, 0, "p"], [4931, 0, "s"], [4932, 0, "}"], [4933, 0, ","], [4934, 0, " "], [4935, 0, "\\"], [4936, 0, "m"], [4937, 0, "a"], [4938, 0, "t"], [4939, 0, "h"], [4940, 0, "i"], [4941, 0, "t"], [4942, 0, "{"], [4943, 0, "i"], [4944, 0, "p"], [4944, 1], [4943, 1], [4943, 0, "o"], [4944, 0, "p"], [4945, 0, "}"], [4946, 0, ")"], [4947, 0, " "], [4948, 0, "\\"], [4949, 0, "i"], [4950, 0, "n"], [4951, 0, " "], [4952, 0, "A"], [4953, 0, "_"], [4954, 0, "p"], [4955, 0, "("], [4956, 0, "\\"], [4957, 0, "m"], [4958, 0, "a"], [4959, 0, "t"], [4960, 0, "h"], [4961, 0, "s"], [4962, 0, "f"], [4963, 0, "{"], [4964, 0, "r"], [4965, 0, "e"], [4966, 0, "c"], [4967, 0, "v"], [4968, 0, "}"], [4969, 0, ")"], [4970, 0, "$"], [4971, 0, "}"], [4972, 0, "\n"], [4973, 0, "\\"], [4974, 0, "A"], [4975, 0, "x"], [4976, 0, "i"], [4977, 0, "o"], [4978, 0, "m"], [4979, 0, "C"], [4980, 0, "{"], [4981, 0, "$"], [4982, 0, " "], [4982, 1], [4982, 0, "\\"], [4983, 0, "m"], [4984, 0, "a"], [4985, 0, "t"], [4986, 0, "h"], [4987, 0, "i"], [4988, 0, "t"], [4989, 0, "{"], [4990, 0, "d"], [4991, 0, "e"], [4992, 0, "p"], [4993, 0, "s"], [4994, 0, "}"], [4995, 0, " "], [4996, 0, "\\"], [4997, 0, "s"], [4998, 0, "u"], [4999, 0, "b"], [5000, 0, "s"], [5001, 0, "e"], [5002, 0, "t"], [5003, 0, "e"], [5004, 0, "q"], [5005, 0, " "], [5006, 0, "A"], [5007, 0, "_"], [5008, 0, "p"], [5009, 0, "("], [5010, 0, "\\"], [5011, 0, "m"], [5012, 0, "a"], [5013, 0, "t"], [5014, 0, "h"], [5015, 0, "s"], [5016, 0, "f"], [5017, 0, "{"], [5018, 0, "o"], [5019, 0, "p"], [5020, 0, "s"], [5021, 0, "}"], [5022, 0, ")"], [5023, 0, "$"], [5024, 0, "}"], [5025, 0, "\n"], [5026, 0, "\\"], [5027, 0, "A"], [5028, 0, "x"], [5029, 0, "i"], [5030, 0, "o"], [5031, 0, "m"], [5032, 0, "C"], [5033, 0, "{"], [5034, 0, "$"], [5035, 0, "A"], [5036, 0, "_"], [5037, 0, "p"], [5038, 0, ","], [5039, 0, " "], [5040, 0, "\\"], [5041, 0, "m"], [5042, 0, "a"], [5043, 0, "t"], [5044, 0, "h"], [5045, 0, "i"], [5046, 0, "t"], [5047, 0, "{"], [5048, 0, "o"], [5049, 0, "p"], [5050, 0, "}"], [5051, 0, " "], [5052, 0, "\\"], [5053, 0, "e"], [5054, 0, "v"], [5055, 0, "a"], [5056, 0, "l"], [5057, 0, "t"], [5058, 0, "o"], [5059, 0, " "], [5060, 0, "A"], [5061, 0, "_"], [5062, 0, "p"], [5063, 0, "'"], [5064, 0, "$"], [5065, 0, "}"], [5066, 0, "\n"], [5067, 0, "\\"], [5068, 0, "L"], [5069, 0, "e"], [5070, 0, "f"], [5071, 0, "t"], [5072, 0, "L"], [5073, 0, "a"], [5074, 0, "b"], [5075, 0, "e"], [5076, 0, "l"], [5077, 0, "{"], [5078, 0, "\\"], [5079, 0, "t"], [5080, 0, "e"], [5081, 0, "x"], [5082, 0, "t"], [5083, 0, "s"], [5084, 0, "c"], [5085, 0, "{"], [5086, 0, "A"], [5087, 0, "p"], [5088, 0, "p"], [5089, 0, "l"], [5090, 0, "y"], [5091, 0, "}"], [5092, 0, "}"], [5093, 0, "\n"], [5094, 0, "\\"], [5095, 0, "T"], [5096, 0, "e"], [5097, 0, "r"], [5098, 0, "n"], [5099, 0, "a"], [5100, 0, "r"], [5101, 0, "y"], [5101, 1], [5100, 1], [5099, 1], [5098, 1], [5097, 1], [5096, 1], [5096, 0, "r"], [5097, 0, "i"], [5098, 0, "n"], [5099, 0, "a"], [5100, 0, "r"], [5101, 0, "y"], [5102, 0, "I"], [5103, 0, "n"], [5104, 0, "f"], [5105, 0, "C"], [5106, 0, "{"], [5107, 0, "$"], [5108, 0, "A"], [5109, 0, "_"], [5110, 0, "p"], [5111, 0, ","], [5112, 0, "\\"], [5113, 0, ";"], [5114, 0, " "], [5115, 0, "\\"], [5116, 0, "m"], [5117, 0, "a"], [5118, 0, "t"], [5119, 0, "h"], [5120, 0, "s"], [5121, 0, "f"], [5122, 0, "{"], [5123, 0, "y"], [5124, 0, "i"], [5125, 0, "e"], [5126, 0, "l"], [5127, 0, "d"], [5128, 0, "}"], [5129, 0, " "], [5130, 0, "\\"], [5131, 0, "e"], [5132, 0, "v"], [5133, 0, "a"], [5134, 0, "l"], [5135, 0, "t"], [5136, 0, "o"], [5137, 0, " "], [5138, 0, "A"], [5139, 0, "_"], [5140, 0, "p"], [5141, 0, "'"], [5142, 0, "["], [5143, 0, "\\"], [5144, 0, ","], [5145, 0, "\\"], [5146, 0, "m"], [5147, 0, "a"], [5148, 0, "t"], [5149, 0, "h"], [5150, 0, "s"], [5151, 0, "f"], [5152, 0, "{"], [5153, 0, "o"], [5154, 0, "p"], [5155, 0, "s"], [5156, 0, "}"], [5157, 0, " "], [5158, 0, "\\"], [5159, 0, "m"], [5160, 0, "a"], [5161, 0, "p"], [5162, 0, "s"], [5163, 0, "t"], [5164, 0, "o"], [5165, 0, " "], [5166, 0, "A"], [5167, 0, "_"], [5168, 0, "p"], [5169, 0, "'"], [5170, 0, "("], [5171, 0, "\\"], [5172, 0, "m"], [5173, 0, "a"], [5174, 0, "t"], [5175, 0, "h"], [5176, 0, "s"], [5177, 0, "f"], [5178, 0, "{"], [5179, 0, "o"], [5180, 0, "p"], [5181, 0, "s"], [5182, 0, "}"], [5183, 0, ")"], [5184, 0, " "], [5185, 0, "\\"], [5186, 0, "c"], [5187, 0, "u"], [5188, 0, "p"], [5189, 0, " "], [5190, 0, "\\"], [5191, 0, "{"], [5192, 0, "o"], [5193, 0, "p"], [5194, 0, "\\"], [5195, 0, "}"], [5196, 0, "\\"], [5197, 0, ","], [5198, 0, "]"], [5199, 0, "$"], [5200, 0, "}"], [5192, 0, "\\"], [5193, 0, "m"], [5194, 0, "a"], [5195, 0, "t"], [5196, 0, "h"], [5197, 0, "i"], [5198, 0, "t"], [5199, 0, "{"], [5202, 0, "}"], [5039, 0, "\\"], [5040, 0, ";"], [5228, 0, "\n"], [5229, 0, "\\"], [5230, 0, "c"], [5231, 0, "a"], [5232, 0, "p"], [5233, 0, "t"], [5234, 0, "i"], [5235, 0, "o"], [5236, 0, "n"], [5237, 0, "{"], [5238, 0, "R"], [5239, 0, "u"], [5240, 0, "l"], [5241, 0, "e"], [5242, 0, "s"], [5243, 0, " "], [5244, 0, "f"], [5245, 0, "o"], [5246, 0, "r"], [5247, 0, " "], [5248, 0, "m"], [5249, 0, "a"], [5250, 0, "i"], [5251, 0, "n"], [5252, 0, "t"], [5253, 0, "i"], [5253, 1], [5252, 1], [5251, 1], [5250, 1], [5249, 1], [5248, 1], [5248, 0, "L"], [5249, 0, "a"], [5250, 0, "m"], [5251, 0, "p"], [5252, 0, "o"], [5253, 0, "r"], [5254, 0, "t"], [5255, 0, " "], [5256, 0, "t"], [5257, 0, "i"], [5258, 0, "m"], [5259, 0, "e"], [5260, 0, "s"], [5261, 0, "t"], [5262, 0, "a"], [5263, 0, "m"], [5264, 0, "p"], [5265, 0, "s"], [5266, 0, ","], [5267, 0, " "], [5268, 0, "s"], [5269, 0, "e"], [5270, 0, "n"], [5271, 0, "d"], [5272, 0, "c"], [5273, 0, "i"], [5274, 0, "n"], [5274, 1], [5273, 1], [5272, 1], [5272, 0, "i"], [5273, 0, "n"], [5274, 0, "g"], [5275, 0, " "], [5276, 0, "a"], [5277, 0, "n"], [5278, 0, "d"], [5279, 0, " "], [5280, 0, "r"], [5281, 0, "e"], [5282, 0, "c"], [5283, 0, "e"], [5284, 0, "i"], [5285, 0, "v"], [5286, 0, "i"], [5287, 0, "n"], [5288, 0, "g"], [5289, 0, " "], [5290, 0, "o"], [5291, 0, "p"], [5292, 0, "e"], [5293, 0, "r"], [5294, 0, "a"], [5295, 0, "t"], [5296, 0, "i"], [5297, 0, "o"], [5298, 0, "n"], [5299, 0, "s"], [5300, 0, "}"], [5301, 0, "\n"], [5302, 0, "\\"], [5303, 0, "l"], [5304, 0, "a"], [5305, 0, "b"], [5306, 0, "e"], [5307, 0, "l"], [5308, 0, "{"], [5309, 0, "f"], [5310, 0, "i"], [5311, 0, "g"], [5312, 0, ":"], [5313, 0, "s"], [5314, 0, "e"], [5315, 0, "n"], [5316, 0, "d"], [5317, 0, "-"], [5318, 0, "r"], [5319, 0, "e"], [5320, 0, "c"], [5321, 0, "v"], [5322, 0, "}"], [5323, 0, "\n"], [5324, 0, "\\"], [5325, 0, "e"], [5326, 0, "n"], [5327, 0, "d"], [5328, 0, "{"], [5329, 0, "f"], [5330, 0, "i"], [5331, 0, "g"], [5332, 0, "u"], [5333, 0, "r"], [5334, 0, "e"], [5335, 0, "*"], [5336, 0, "}"], [5338, 0, "\n"], [5339, 0, "\\"], [5340, 0, "b"], [5341, 0, "e"], [5342, 0, "g"], [5343, 0, "i"], [5344, 0, "n"], [5345, 0, "{"], [5346, 0, "f"], [5347, 0, "i"], [5348, 0, "g"], [5349, 0, "u"], [5350, 0, "r"], [5351, 0, "e"], [5352, 0, "*"], [5353, 0, "}"], [4697, 1], [4696, 1], [4695, 1], [4694, 1], [4693, 1], [4692, 1], [4691, 1], [4690, 1], [4689, 1], [4688, 1], [4687, 1], [4686, 1], [4685, 1], [4684, 1], [4683, 1], [4682, 1], [4682, 0, "p"], [4683, 0, "r"], [4684, 0, "o"], [4685, 0, "o"], [4686, 0, "f"], [4687, 0, "S"], [4688, 0, "k"], [4689, 0, "i"], [4690, 0, "p"], [4691, 0, "A"], [4692, 0, "m"], [4693, 0, "o"], [4694, 0, "u"], [4695, 0, "n"], [4696, 0, "t"], [4697, 0, "'"], [4698, 0, "l"], [4699, 0, "e"], [4700, 0, "a"], [4701, 0, "v"], [4702, 0, "e"], [4703, 0, "v"], [4704, 0, "m"], [4705, 0, "o"], [4706, 0, "d"], [4707, 0, "e"], [4697, 1], [4697, 0, "\\"], [4899, 1], [4898, 1], [4897, 1], [4896, 1], [4895, 1], [4894, 1], [4893, 1], [4892, 1], [4891, 1], [4890, 1], [4889, 1], [4888, 1], [4887, 1], [4886, 1], [4886, 0, "D"], [4887, 0, "i"], [4888, 0, "s"], [4889, 0, "p"], [4890, 0, "l"], [4891, 0, "a"], [4892, 0, "y"], [4893, 0, "P"], [4894, 0, "r"], [4895, 0, "o"], [4896, 0, "o"], [4897, 0, "f"], [4898, 0, "\\"], [4898, 1], [4898, 0, "\n"], [4899, 0, "%"], [4900, 0, "\n"], [4901, 0, "\\"], [4902, 0, "D"], [4903, 0, "i"], [4904, 0, "s"], [4905, 0, "p"], [4906, 0, "l"], [4907, 0, "a"], [4908, 0, "y"], [4909, 0, "P"], [4910, 0, "r"], [4911, 0, "o"], [4912, 0, "o"], [4913, 0, "f"], [4914, 0, "\\"], [4915, 0, "p"], [4916, 0, "r"], [4917, 0, "o"], [4918, 0, "o"], [4919, 0, "f"], [4920, 0, "S"], [4921, 0, "k"], [4922, 0, "i"], [4923, 0, "p"], [4924, 0, "A"], [4925, 0, "m"], [4926, 0, "o"], [4927, 0, "u"], [4928, 0, "n"], [4929, 0, "t"], [4900, 0, "\n"], [4901, 0, "\\"], [4902, 0, "A"], [4903, 0, "x"], [4904, 0, "i"], [4905, 0, "o"], [4906, 0, "m"], [4907, 0, "C"], [4908, 0, "{"], [4909, 0, "}"], [4910, 0, "\n"], [4911, 0, "\\"], [4912, 0, "L"], [4913, 0, "e"], [4914, 0, "f"], [4915, 0, "t"], [4916, 0, "L"], [4917, 0, "a"], [4918, 0, "b"], [4919, 0, "e"], [4920, 0, "l"], [4921, 0, "{"], [4922, 0, "\\"], [4923, 0, "T"], [4924, 0, "e"], [4925, 0, "x"], [4926, 0, "t"], [4927, 0, "s"], [4928, 0, "c"], [4923, 1], [4923, 0, "t"], [4929, 0, "{"], [4930, 0, "Y"], [4931, 0, "i"], [4932, 0, "e"], [4933, 0, "l"], [4934, 0, "d"], [4935, 0, "-"], [4936, 0, "N"], [4937, 0, "O"], [4938, 0, "P"], [4939, 0, "}"], [4940, 0, "}"], [4941, 0, "\n"], [4942, 0, "\\"], [4943, 0, "U"], [4944, 0, "n"], [4945, 0, "a"], [4946, 0, "r"], [4947, 0, "y"], [4948, 0, "I"], [4949, 0, "n"], [4950, 0, "f"], [4951, 0, "C"], [4952, 0, "{"], [4953, 0, "$"], [4954, 0, "A"], [4955, 0, "_"], [4956, 0, "p"], [4957, 0, ","], [4958, 0, "\\"], [4959, 0, ";"], [4960, 0, " "], [4961, 0, "\\"], [4962, 0, "m"], [4963, 0, "a"], [4964, 0, "t"], [4965, 0, "h"], [4966, 0, "s"], [4967, 0, "f"], [4968, 0, "{"], [4969, 0, "y"], [4970, 0, "i"], [4971, 0, "e"], [4972, 0, "l"], [4973, 0, "d"], [4974, 0, "}"], [4975, 0, " "], [4976, 0, "\\"], [4977, 0, "e"], [4978, 0, "v"], [4979, 0, "a"], [4980, 0, "l"], [4981, 0, "t"], [4982, 0, "o"], [4983, 0, " "], [4984, 0, "A"], [4985, 0, "_"], [4986, 0, "p"], [4987, 0, "$"], [4988, 0, "}"], [4898, 0, "\\"], [4899, 0, "h"], [4900, 0, "s"], [4901, 0, "p"], [4902, 0, "a"], [4903, 0, "c"], [4904, 0, "e"], [4905, 0, "{"], [4906, 0, "3"], [4907, 0, "0"], [4908, 0, "p"], [4909, 0, "t"], [4910, 0, "}"], [4909, 1], [4908, 1], [4907, 1], [4907, 0, "e"], [4908, 0, "m"], [5495, 0, "\n"], [5496, 0, "\\"], [5497, 0, "b"], [5498, 0, "e"], [5499, 0, "g"], [5500, 0, "i"], [5501, 0, "n"], [5502, 0, "{"], [5503, 0, "p"], [5504, 0, "r"], [5505, 0, "o"], [5506, 0, "o"], [5507, 0, "f"], [5508, 0, "t"], [5509, 0, "r"], [5510, 0, "e"], [5511, 0, "e"], [5512, 0, "}"], [5513, 0, "\n"], [5514, 0, "\\"], [5515, 0, "e"], [5516, 0, "n"], [5517, 0, "d"], [5518, 0, "{"], [5519, 0, "P"], [5519, 1], [5519, 0, "p"], [5520, 0, "r"], [5521, 0, "o"], [5522, 0, "o"], [5523, 0, "f"], [5524, 0, "t"], [5525, 0, "r"], [5526, 0, "e"], [5527, 0, "e"], [5528, 0, "}"], [5529, 0, "\n"], [5513, 0, "\n"], [5514, 0, "\\"], [5515, 0, "L"], [5516, 0, "e"], [5517, 0, "f"], [5518, 0, "t"], [5519, 0, "L"], [5520, 0, "a"], [5521, 0, "b"], [5522, 0, "e"], [5523, 0, "l"], [5524, 0, "{"], [5525, 0, "\\"], [5526, 0, "t"], [5527, 0, "e"], [5528, 0, "x"], [5529, 0, "t"], [5530, 0, "s"], [5531, 0, "c"], [5532, 0, "{"], [5533, 0, "I"], [5534, 0, "n"], [5535, 0, "s"], [5536, 0, "e"], [5537, 0, "r"], [5538, 0, "t"], [5539, 0, "}"], [5540, 0, "}"], [5541, 0, "\n"], [5541, 1], [5513, 0, "\n"], [5514, 0, "\\"], [5515, 0, "A"], [5516, 0, "x"], [5517, 0, "i"], [5518, 0, "o"], [5519, 0, "m"], [5520, 0, "C"], [5521, 0, "{"], [5522, 0, "$"], [5523, 0, "$"], [5524, 0, "}"], [5523, 0, "A"], [5524, 0, "_"], [5525, 0, "p"], [5526, 0, ","], [5527, 0, ";"], [5527, 1], [5527, 0, "\\"], [5528, 0, ";"], [5529, 0, "\\"], [5530, 0, "m"], [5531, 0, "a"], [5532, 0, "t"], [5533, 0, "h"], [5534, 0, "s"], [5535, 0, "f"], [5536, 0, "{"], [5537, 0, "n"], [5538, 0, "e"], [5539, 0, "w"], [5540, 0, "I"], [5541, 0, "D"], [5542, 0, "}"], [5529, 0, " "], [5544, 0, " "], [5545, 0, "\\"], [5546, 0, "e"], [5547, 0, "v"], [5548, 0, "a"], [5549, 0, "l"], [5550, 0, "t"], [5551, 0, "o"], [5552, 0, " "], [5553, 0, "A"], [5554, 0, "_"], [5555, 0, "p"], [5556, 0, "'"], [5557, 0, ","], [5558, 0, "\\"], [5559, 0, ";"], [5560, 0, " "], [5561, 0, "\\"], [5562, 0, "m"], [5563, 0, "a"], [5564, 0, "t"], [5565, 0, "h"], [5566, 0, "i"], [5567, 0, "d"], [5568, 0, "{"], [5569, 0, "i"], [5570, 0, "d"], [5571, 0, "}"], [5567, 1], [5567, 0, "t"], [5602, 0, "\n"], [5603, 0, "\\"], [5604, 0, "T"], [5605, 0, "r"], [5606, 0, "i"], [5607, 0, "n"], [5608, 0, "a"], [5609, 0, "r"], [5610, 0, "y"], [5611, 0, "I"], [5612, 0, "n"], [5613, 0, "f"], [5614, 0, "C"], [5615, 0, "{"], [5616, 0, "$"], [5617, 0, "A"], [5618, 0, "_"], [5619, 0, "p"], [5620, 0, ","], [5621, 0, "\\"], [5622, 0, ";"], [5623, 0, " "], [5624, 0, "\\"], [5625, 0, "m"], [5626, 0, "a"], [5627, 0, "t"], [5628, 0, "h"], [5629, 0, "s"], [5630, 0, "f"], [5631, 0, "{"], [5632, 0, "i"], [5633, 0, "n"], [5634, 0, "s"], [5635, 0, "e"], [5636, 0, "r"], [5637, 0, "t"], [5638, 0, "L"], [5639, 0, "o"], [5640, 0, "c"], [5641, 0, "a"], [5642, 0, "l"], [5643, 0, "}"], [5644, 0, "("], [5645, 0, "\\"], [5646, 0, "m"], [5647, 0, "a"], [5648, 0, "t"], [5649, 0, "h"], [5650, 0, "i"], [5651, 0, "t"], [5652, 0, "{"], [5653, 0, "p"], [5654, 0, "r"], [5655, 0, "e"], [5656, 0, "v"], [5657, 0, "}"], [5658, 0, ")"], [5513, 0, "\n"], [5514, 0, "\\"], [5515, 0, "A"], [5516, 0, "x"], [5517, 0, "i"], [5518, 0, "o"], [5519, 0, "m"], [5520, 0, "C"], [5521, 0, "{"], [5522, 0, "$"], [5523, 0, "A"], [5523, 1], [5523, 0, "\\"], [5524, 0, "m"], [5525, 0, "a"], [5526, 0, "t"], [5527, 0, "h"], [5528, 0, "i"], [5529, 0, "t"], [5530, 0, "{"], [5531, 0, "p"], [5532, 0, "r"], [5533, 0, "e"], [5534, 0, "v"], [5535, 0, "}"], [5536, 0, " "], [5537, 0, "\\"], [5538, 0, "i"], [5539, 0, "n"], [5540, 0, " "], [5541, 0, "\\"], [5542, 0, "m"], [5543, 0, "a"], [5544, 0, "t"], [5545, 0, "h"], [5546, 0, "r"], [5547, 0, "m"], [5548, 0, "{"], [5549, 0, "d"], [5550, 0, "o"], [5551, 0, "m"], [5552, 0, "}"], [5553, 0, "("], [5554, 0, "A"], [5555, 0, "_"], [5556, 0, "p"], [5557, 0, ")"], [5558, 0, "$"], [5559, 0, "}"], [5705, 0, ","], [5706, 0, " "], [5707, 0, "v"], [5709, 0, " "], [5710, 0, "\\"], [5711, 0, "e"], [5712, 0, "v"], [5713, 0, "a"], [5714, 0, "l"], [5715, 0, "t"], [5716, 0, "o"], [5717, 0, " "], [5718, 0, "A"], [5719, 0, "_"], [5720, 0, "p"], [5721, 0, "'"], [5722, 0, "'"], [5723, 0, "$"], [5724, 0, "}"], [5621, 0, "\n"], [5622, 0, "\\"], [5623, 0, "A"], [5624, 0, "x"], [5625, 0, "i"], [5626, 0, "o"], [5627, 0, "m"], [5628, 0, "C"], [5629, 0, "{"], [5630, 0, "$"], [5631, 0, "A"], [5632, 0, "_"], [5633, 0, "p"], [5634, 0, "'"], [5635, 0, ","], [5636, 0, "\\"], [5637, 0, ";"], [5637, 1], [5636, 1], [5635, 1], [5634, 1], [5633, 1], [5632, 1], [5631, 1], [5631, 0, "\\"], [5632, 0, "m"], [5633, 0, "a"], [5634, 0, "t"], [5635, 0, "h"], [5636, 0, "i"], [5637, 0, "t"], [5638, 0, "{"], [5639, 0, "o"], [5640, 0, "p"], [5641, 0, "}"], [5738, 1], [5738, 0, "\n"], [5739, 0, " "], [5740, 0, " "], [5741, 0, " "], [5742, 0, " "], [5748, 0, "["], [5749, 0, "\\"], [5750, 0, ","], [5751, 0, "\\"], [5752, 0, "m"], [5753, 0, "a"], [5754, 0, "t"], [5755, 0, "h"], [5756, 0, "i"], [5757, 0, "t"], [5757, 1], [5756, 1], [5756, 0, "s"], [5757, 0, "f"], [5758, 0, "{"], [5759, 0, "n"], [5760, 0, "e"], [5761, 0, "w"], [5762, 0, "O"], [5763, 0, "p"], [5764, 0, "s"], [5765, 0, "}"], [5766, 0, " "], [5767, 0, "\\"], [5768, 0, "m"], [5769, 0, "a"], [5770, 0, "p"], [5771, 0, "s"], [5772, 0, "t"], [5773, 0, "o"], [5774, 0, " "], [5775, 0, "A"], [5776, 0, "_"], [5777, 0, "p"], [5778, 0, "'"], [5779, 0, "'"], [5780, 0, "("], [5781, 0, "\\"], [5782, 0, "m"], [5783, 0, "a"], [5784, 0, "t"], [5785, 0, "h"], [5786, 0, "s"], [5787, 0, "f"], [5788, 0, "{"], [5789, 0, "n"], [5790, 0, "e"], [5791, 0, "w"], [5792, 0, "O"], [5793, 0, "p"], [5794, 0, "s"], [5795, 0, "}"], [5796, 0, ")"], [5797, 0, " "], [5798, 0, "\\"], [5799, 0, "c"], [5800, 0, "u"], [5801, 0, "p"], [5802, 0, " "], [5803, 0, "\\"], [5804, 0, "{"], [5805, 0, "\\"], [5806, 0, "m"], [5807, 0, "a"], [5808, 0, "t"], [5809, 0, "h"], [5810, 0, "i"], [5811, 0, "t"], [5812, 0, "{"], [5813, 0, "o"], [5814, 0, "p"], [5815, 0, "}"], [5816, 0, "\\"], [5817, 0, "}"], [5818, 0, "\\"], [5819, 0, ","], [5820, 0, "]"], [5805, 0, "\\"], [5805, 1], [5805, 0, "("], [5806, 0, "A"], [5807, 0, "_"], [5808, 0, "p"], [5809, 0, "'"], [5810, 0, "'"], [5811, 0, "("], [5812, 0, "\\"], [5813, 0, "m"], [5814, 0, "a"], [5815, 0, "t"], [5816, 0, "h"], [5817, 0, "i"], [5818, 0, "t"], [5819, 0, "{"], [5819, 1], [5818, 1], [5817, 1], [5817, 0, "s"], [5818, 0, "f"], [5819, 0, "{"], [5820, 0, "o"], [5821, 0, "p"], [5822, 0, "s"], [5823, 0, "}"], [5824, 0, ")"], [5825, 0, ","], [5826, 0, " "], [5838, 0, ")"], [5642, 0, " "], [5643, 0, "="], [5644, 0, " "], [5645, 0, "\\"], [5646, 0, "m"], [5647, 0, "a"], [5648, 0, "t"], [5649, 0, "h"], [5650, 0, "s"], [5651, 0, "f"], [5652, 0, "{"], [5653, 0, "i"], [5654, 0, "n"], [5655, 0, "s"], [5656, 0, "e"], [5657, 0, "r"], [5658, 0, "t"], [5659, 0, "}"], [5660, 0, "("], [5661, 0, "\\"], [5662, 0, "m"], [5663, 0, "a"], [5664, 0, "t"], [5665, 0, "h"], [5666, 0, "i"], [5667, 0, "t"], [5668, 0, "{"], [5669, 0, "i"], [5670, 0, "d"], [5671, 0, "}"], [5672, 0, ","], [5673, 0, " "], [5674, 0, "\\"], [5675, 0, "m"], [5676, 0, "a"], [5677, 0, "t"], [5678, 0, "h"], [5679, 0, "i"], [5680, 0, "t"], [5681, 0, "{"], [5682, 0, "p"], [5683, 0, "r"], [5684, 0, "e"], [5685, 0, "v"], [5686, 0, "}"], [5687, 0, ","], [5688, 0, " "], [5689, 0, "v"], [5690, 0, ")"], [5691, 0, "$"], [5692, 0, "}"], [5693, 0, "\n"], [5694, 0, "\\"], [5695, 0, "A"], [5696, 0, "x"], [5697, 0, "c"], [5697, 1], [5697, 0, "i"], [5698, 0, "o"], [5699, 0, "m"], [5700, 0, "C"], [5701, 0, "{"], [5702, 0, "$"], [5703, 0, "$"], [5704, 0, "}"], [5703, 0, "A"], [5704, 0, "_"], [5705, 0, "p"], [5706, 0, "'"], [5707, 0, ","], [5708, 0, " "], [5709, 0, "\\"], [5710, 0, "m"], [5711, 0, "a"], [5712, 0, "t"], [5713, 0, "h"], [5714, 0, "i"], [5715, 0, "t"], [5716, 0, "{"], [5717, 0, "o"], [5718, 0, "p"], [5719, 0, "}"], [5720, 0, " "], [5721, 0, "\\"], [5722, 0, "e"], [5723, 0, "v"], [5724, 0, "a"], [5725, 0, "l"], [5726, 0, "t"], [5727, 0, "o"], [5728, 0, " "], [5729, 0, "A"], [5730, 0, "_"], [5731, 0, "p"], [5732, 0, "'"], [5733, 0, "'"], [5768, 1], [5767, 1], [5766, 1], [5766, 0, "Q"], [5767, 0, "u"], [5768, 0, "a"], [5769, 0, "t"], [5770, 0, "e"], [5771, 0, "r"], [5938, 0, ","], [5939, 0, "\\"], [5940, 0, ";"], [5941, 0, "\n"], [5942, 0, " "], [5943, 0, " "], [5944, 0, " "], [5945, 0, " "], [5946, 0, "\\"], [5947, 0, "m"], [5948, 0, "a"], [5949, 0, "t"], [5950, 0, "h"], [5951, 0, "s"], [5952, 0, "f"], [5953, 0, "{"], [5954, 0, "o"], [5955, 0, "p"], [5956, 0, "s"], [5957, 0, "}"], [5861, 1], [5860, 1], [5859, 1], [5858, 1], [5857, 1], [5856, 1], [5856, 0, "q"], [5857, 0, "u"], [5858, 0, "e"], [5859, 0, "u"], [5860, 0, "e"], [5890, 1], [5889, 1], [5888, 1], [5887, 1], [5886, 1], [5885, 1], [5885, 0, "q"], [5886, 0, "u"], [5887, 0, "e"], [5888, 0, "u"], [5889, 0, "e"], [4655, 1], [4654, 1], [4653, 1], [4652, 1], [4651, 1], [4650, 1], [4650, 0, "q"], [4651, 0, "u"], [4652, 0, "e"], [4653, 0, "u"], [4654, 0, "e"], [5000, 1], [4999, 1], [4998, 1], [4997, 1], [4996, 1], [4995, 1], [4994, 1], [4993, 1], [4992, 1], [4991, 1], [4990, 1], [4989, 1], [4988, 1], [4987, 1], [4986, 1], [4985, 1], [4984, 1], [4983, 1], [4982, 1], [4981, 1], [4980, 1], [4979, 1], [4978, 1], [4977, 1], [4976, 1], [4975, 1], [4974, 1], [4973, 1], [4972, 1], [4971, 1], [4970, 1], [4969, 1], [4968, 1], [4967, 1], [4966, 1], [4965, 1], [4964, 1], [4963, 1], [4962, 1], [4961, 1], [4960, 1], [4959, 1], [4958, 1], [4957, 1], [4956, 1], [4955, 1], [4954, 1], [4953, 1], [4952, 1], [4951, 1], [4950, 1], [4949, 1], [4948, 1], [4947, 1], [4946, 1], [4945, 1], [4944, 1], [4943, 1], [4942, 1], [4941, 1], [4940, 1], [4939, 1], [4938, 1], [4937, 1], [4936, 1], [4935, 1], [4934, 1], [4933, 1], [4932, 1], [4931, 1], [4930, 1], [4929, 1], [4928, 1], [4927, 1], [4926, 1], [4925, 1], [4924, 1], [4923, 1], [4922, 1], [4921, 1], [4920, 1], [4919, 1], [4918, 1], [4917, 1], [4916, 1], [4915, 1], [4914, 1], [4913, 1], [4912, 1], [4911, 1], [4910, 1], [4909, 1], [4908, 1], [4907, 1], [4906, 1], [4905, 1], [4904, 1], [4903, 1], [4902, 1], [4901, 1], [4900, 1], [4899, 1], [4898, 1], [4897, 1], [4896, 1], [4895, 1], [4894, 1], [4893, 1], [4892, 1], [4891, 1], [4890, 1], [4889, 1], [4888, 1], [4887, 1], [4886, 1], [4885, 1], [4884, 1], [4884, 1], [4884, 1], [4884, 1], [4884, 1], [4884, 1], [4884, 1], [4884, 1], [4884, 1], [4884, 1], [4884, 1], [4884, 1], [4884, 1], [4884, 1], [4884, 1], [4884, 1], [4884, 1], [4884, 1], [4884, 1], [4884, 1], [4884, 1], [4884, 1], [4884, 1], [4884, 1], [4884, 1], [4884, 1], [4884, 1], [4884, 1], [4884, 1], [4884, 1], [4884, 0, "\\"], [4885, 0, "e"], [4886, 0, "n"], [4887, 0, "d"], [4888, 0, "{"], [4889, 0, "p"], [4890, 0, "r"], [4891, 0, "o"], [4892, 0, "o"], [4893, 0, "f"], [4894, 0, "t"], [4895, 0, "r"], [4896, 0, "e"], [4897, 0, "e"], [4898, 0, "}"], [4680, 1], [4680, 1], [4680, 1], [4680, 1], [4680, 1], [4680, 1], [4680, 1], [4680, 1], [4680, 1], [4680, 1], [4680, 1], [4680, 1], [4680, 1], [4680, 1], [4680, 1], [4680, 1], [4680, 1], [4680, 1], [4680, 1], [4680, 1], [4680, 1], [4680, 1], [4680, 1], [4680, 1], [4680, 1], [4680, 1], [4680, 1], [4680, 0, "\\"], [4681, 0, "b"], [4682, 0, "e"], [4683, 0, "g"], [4684, 0, "i"], [4685, 0, "n"], [4686, 0, "{"], [4687, 0, "p"], [4688, 0, "r"], [4689, 0, "o"], [4690, 0, "o"], [4691, 0, "f"], [4692, 0, "t"], [4693, 0, "r"], [4694, 0, "e"], [4695, 0, "e"], [4696, 0, "}"], [5814, 0, " "], [5815, 0, "\\"], [5816, 0, "m"], [5817, 0, "a"], [5818, 0, "p"], [5819, 0, "s"], [5820, 0, "t"], [5821, 0, "o"], [5822, 0, " "], [5823, 0, "A"], [5824, 0, "_"], [5825, 0, "p"], [5826, 0, "'"], [5827, 0, "'"], [5828, 0, "("], [5829, 0, "\\"], [5830, 0, "m"], [5831, 0, "a"], [5832, 0, "t"], [5833, 0, "h"], [5834, 0, "s"], [5835, 0, "f"], [5836, 0, "{"], [5837, 0, "o"], [5838, 0, "p"], [5839, 0, "s"], [5840, 0, "}"], [5841, 0, " "], [5842, 0, "\\"], [5842, 1], [5841, 1], [5840, 1], [5840, 0, "}"], [5841, 0, ")"], [5842, 0, " "], [5843, 0, "\\"], [5844, 0, "c"], [5845, 0, "u"], [5846, 0, "p"], [5847, 0, " "], [5848, 0, "\\"], [5849, 0, "{"], [5850, 0, "\\"], [5851, 0, "m"], [5852, 0, "a"], [5853, 0, "t"], [5854, 0, "h"], [5855, 0, "i"], [5856, 0, "t"], [5857, 0, "{"], [5858, 0, "o"], [5859, 0, "p"], [5860, 0, "}"], [5861, 0, "\\"], [5862, 0, "}"], [5227, 0, "\n"], [5228, 0, "\n"], [5229, 0, "\\"], [5230, 0, "b"], [5231, 0, "e"], [5232, 0, "g"], [5233, 0, "i"], [5234, 0, "n"], [5235, 0, "{"], [5236, 0, "p"], [5237, 0, "r"], [5238, 0, "o"], [5239, 0, "o"], [5240, 0, "f"], [5241, 0, "t"], [5242, 0, "r"], [5243, 0, "e"], [5244, 0, "e"], [5245, 0, "}"], [5246, 0, "\n"], [5247, 0, "\\"], [5248, 0, "e"], [5249, 0, "n"], [5250, 0, "d"], [5251, 0, "{"], [5252, 0, "p"], [5253, 0, "r"], [5254, 0, "o"], [5255, 0, "o"], [5256, 0, "f"], [5257, 0, "t"], [5258, 0, "r"], [5259, 0, "e"], [5260, 0, "e"], [5261, 0, "}"], [5246, 0, "\n"], [5247, 0, "\\"], [5248, 0, "B"], [5249, 0, "i"], [5250, 0, "n"], [5251, 0, "a"], [5252, 0, "r"], [5253, 0, "y"], [5254, 0, "I"], [5255, 0, "n"], [5256, 0, "f"], [5257, 0, "C"], [5258, 0, "{"], [5259, 0, "$"], [5260, 0, "A"], [5261, 0, "_"], [5262, 0, "p"], [5263, 0, ","], [5264, 0, "\\"], [5265, 0, ";"], [5092, 0, "-"], [5093, 0, "R"], [5093, 1], [5092, 1], [5266, 0, " "], [5267, 0, "\\"], [5268, 0, "m"], [5269, 0, "a"], [5270, 0, "t"], [5271, 0, "h"], [5272, 0, "i"], [5273, 0, "t"], [5274, 0, "{"], [5275, 0, "c"], [5276, 0, "m"], [5277, 0, "d"], [5278, 0, "}"], [5279, 0, " "], [5280, 0, "\\"], [5281, 0, "e"], [5282, 0, "v"], [5283, 0, "a"], [5284, 0, "l"], [5285, 0, "t"], [5286, 0, "o"], [5287, 0, " "], [5288, 0, "A"], [5289, 0, "_"], [5290, 0, "p"], [5291, 0, "'"], [5292, 0, ","], [5293, 0, "\\"], [5294, 0, ";"], [5295, 0, " "], [5295, 1], [5294, 1], [5293, 1], [5292, 1], [5292, 0, "["], [5293, 0, "\\"], [5294, 0, ","], [5246, 0, "\n"], [5247, 0, "\\"], [5248, 0, "A"], [5249, 0, "x"], [5250, 0, "i"], [5251, 0, "o"], [5252, 0, "m"], [5253, 0, "C"], [5254, 0, "{"], [5255, 0, "$"], [5256, 0, "A"], [5257, 0, "_"], [5258, 0, "p"], [5259, 0, ","], [5260, 0, "\\"], [5261, 0, ";"], [5262, 0, " "], [5263, 0, "\\"], [5264, 0, "m"], [5265, 0, "a"], [5266, 0, "t"], [5267, 0, "h"], [5268, 0, "i"], [5269, 0, "t"], [5270, 0, "{"], [5271, 0, "c"], [5272, 0, "m"], [5273, 0, "d"], [5274, 0, "}"], [5275, 0, " "], [5276, 0, "\\"], [5277, 0, "e"], [5278, 0, "v"], [5279, 0, "a"], [5280, 0, "l"], [5281, 0, "t"], [5282, 0, "o"], [5283, 0, " "], [5284, 0, "A"], [5285, 0, "_"], [5286, 0, "p"], [5287, 0, "'"], [5288, 0, ","], [5289, 0, "\\"], [5290, 0, ";"], [5291, 0, "\\"], [5292, 0, "m"], [5293, 0, "a"], [5291, 0, " "], [5295, 0, "t"], [5296, 0, "h"], [5297, 0, "i"], [5298, 0, "t"], [5299, 0, "{"], [5300, 0, "o"], [5301, 0, "p"], [5302, 0, "}"], [5303, 0, "$"], [5304, 0, "}"], [5307, 1], [5307, 1], [5307, 0, "U"], [5305, 0, "\n"], [5306, 0, "\\"], [5307, 0, "L"], [5308, 0, "e"], [5309, 0, "f"], [5310, 0, "t"], [5311, 0, "L"], [5312, 0, "a"], [5313, 0, "b"], [5314, 0, "e"], [5315, 0, "l"], [5092, 0, "-"], [5093, 0, "R"], [5094, 0, "e"], [5095, 0, "m"], [5096, 0, "o"], [5097, 0, "t"], [5098, 0, "e"], [5323, 0, "{"], [5324, 0, "\\"], [5325, 0, "t"], [5326, 0, "e"], [5327, 0, "x"], [5328, 0, "t"], [5329, 0, "s"], [5330, 0, "c"], [5331, 0, "{"], [5332, 0, "A"], [5333, 0, "p"], [5334, 0, "p"], [5335, 0, "l"], [5336, 0, "y"], [5337, 0, "-"], [5338, 0, "L"], [5339, 0, "o"], [5340, 0, "c"], [5341, 0, "a"], [5342, 0, "l"], [5343, 0, "}"], [5344, 0, "}"], [5393, 0, "\n"], [5394, 0, " "], [5395, 0, " "], [5396, 0, " "], [5397, 0, " "], [5398, 0, "\\"], [5399, 0, "m"], [5400, 0, "a"], [5401, 0, "t"], [5402, 0, "h"], [5403, 0, "s"], [5404, 0, "f"], [5405, 0, "{"], [5406, 0, "q"], [5407, 0, "u"], [5408, 0, "e"], [5409, 0, "u"], [5410, 0, "e"], [5411, 0, "}"], [5412, 0, " "], [5413, 0, "\\"], [5414, 0, "m"], [5415, 0, "a"], [5416, 0, "p"], [5417, 0, "s"], [5418, 0, "t"], [5419, 0, "o"], [5420, 0, " "], [5421, 0, "\\"], [5421, 1], [5421, 0, "A"], [5422, 0, "_"], [5423, 0, "p"], [5424, 0, "'"], [5425, 0, "("], [5426, 0, "\\"], [5427, 0, "m"], [5428, 0, "a"], [5429, 0, "t"], [5430, 0, "h"], [5431, 0, "s"], [5432, 0, "f"], [5433, 0, "{"], [5434, 0, "q"], [5435, 0, "u"], [5436, 0, "e"], [5437, 0, "u"], [5438, 0, "e"], [5439, 0, "}"], [5440, 0, ")"], [5441, 0, " "], [5442, 0, "\\"], [5443, 0, "c"], [5444, 0, "u"], [5445, 0, "p"], [5446, 0, " "], [5447, 0, "\\"], [5448, 0, "{"], [5449, 0, "("], [5450, 0, "A"], [5451, 0, "_"], [5452, 0, "p"], [5453, 0, "'"], [5454, 0, "("], [5455, 0, "\\"], [5456, 0, "m"], [5457, 0, "a"], [5458, 0, "t"], [5459, 0, "h"], [5460, 0, "s"], [5461, 0, "f"], [5462, 0, "{"], [5463, 0, "o"], [5464, 0, "p"], [5465, 0, "s"], [5466, 0, "}"], [5467, 0, ")"], [5468, 0, ","], [5469, 0, " "], [5470, 0, "\\"], [5471, 0, "m"], [5472, 0, "a"], [5473, 0, "t"], [5474, 0, "h"], [5475, 0, "i"], [5476, 0, "t"], [5477, 0, "{"], [5478, 0, "o"], [5479, 0, "p"], [5480, 0, "}"], [5481, 0, ")"], [5482, 0, "\\"], [5483, 0, "}"], [5484, 0, ","], [5485, 0, "\\"], [5486, 0, ";"], [5487, 0, "\n"], [5488, 0, " "], [5489, 0, " "], [5490, 0, " "], [5491, 0, " "], [5492, 0, "\\"], [5493, 0, "m"], [5494, 0, "a"], [5495, 0, "t"], [5496, 0, "h"], [5497, 0, "s"], [5498, 0, "f"], [5499, 0, "{"], [5500, 0, "o"], [5501, 0, "p"], [5502, 0, "s"], [5503, 0, "}"], [5504, 0, " "], [5505, 0, "\\"], [5506, 0, "m"], [5507, 0, "a"], [5508, 0, "p"], [5509, 0, "s"], [5510, 0, "t"], [5511, 0, "o"], [5512, 0, " "], [5513, 0, "A"], [5514, 0, "_"], [5515, 0, "p"], [5516, 0, "'"], [5517, 0, "("], [5518, 0, "\\"], [5519, 0, "m"], [5520, 0, "a"], [5521, 0, "t"], [5522, 0, "h"], [5523, 0, "s"], [5524, 0, "f"], [5525, 0, "{"], [5526, 0, "o"], [5527, 0, "p"], [5528, 0, "s"], [5529, 0, "}"], [5530, 0, ")"], [5531, 0, " "], [5532, 0, "\\"], [5533, 0, "c"], [5534, 0, "u"], [5535, 0, "p"], [5536, 0, " "], [5537, 0, "\\"], [5538, 0, "{"], [5539, 0, "\\"], [5540, 0, "m"], [5541, 0, "a"], [5542, 0, "t"], [5543, 0, "h"], [5544, 0, "i"], [5545, 0, "t"], [5546, 0, "{"], [5547, 0, "o"], [5548, 0, "p"], [5549, 0, "}"], [5550, 0, "\\"], [5551, 0, "}"], [5552, 0, "\\"], [5553, 0, ","], [5554, 0, "]"], [5555, 0, "$"], [5556, 0, "}"], [4889, 0, "\n"], [4890, 0, "\n"], [4891, 0, "\\"], [4892, 0, "b"], [4893, 0, "e"], [4894, 0, "g"], [4895, 0, "i"], [4896, 0, "n"], [4897, 0, "{"], [4898, 0, "p"], [4899, 0, "r"], [4900, 0, "o"], [4901, 0, "o"], [4902, 0, "f"], [4903, 0, "t"], [4904, 0, "r"], [4905, 0, "e"], [4906, 0, "e"], [4907, 0, "}"], [4908, 0, "\n"], [4909, 0, "\\"], [4910, 0, "A"], [4911, 0, "x"], [4912, 0, "i"], [4913, 0, "o"], [4914, 0, "m"], [4915, 0, "C"], [4916, 0, "{"], [4917, 0, "$"], [4918, 0, "A"], [4919, 0, "_"], [4920, 0, "p"], [4921, 0, ","], [4922, 0, "\\"], [4923, 0, ";"], [4924, 0, " "], [4925, 0, "\\"], [4926, 0, "m"], [4927, 0, "a"], [4928, 0, "t"], [4929, 0, "h"], [4930, 0, "i"], [4931, 0, "t"], [4932, 0, "{"], [4933, 0, "c"], [4934, 0, "m"], [4935, 0, "d"], [4936, 0, "}"], [4937, 0, " "], [4938, 0, "\\"], [4939, 0, "e"], [4940, 0, "v"], [4941, 0, "a"], [4942, 0, "l"], [4943, 0, "t"], [4944, 0, "o"], [4945, 0, " "], [4946, 0, "A"], [4947, 0, "_"], [4948, 0, "p"], [4949, 0, "'"], [4950, 0, ","], [4951, 0, "\\"], [4952, 0, ";"], [4953, 0, " "], [4954, 0, "\\"], [4955, 0, "m"], [4956, 0, "a"], [4957, 0, "t"], [4958, 0, "h"], [4959, 0, "i"], [4960, 0, "t"], [4961, 0, "{"], [4962, 0, "o"], [4963, 0, "p"], [4964, 0, "}"], [4965, 0, "$"], [4966, 0, "}"], [4967, 0, "\n"], [4968, 0, "\\"], [4969, 0, "L"], [4970, 0, "e"], [4971, 0, "f"], [4972, 0, "t"], [4973, 0, "L"], [4974, 0, "a"], [4975, 0, "b"], [4976, 0, "e"], [4977, 0, "l"], [4978, 0, "{"], [4979, 0, "\\"], [4980, 0, "t"], [4981, 0, "e"], [4982, 0, "x"], [4983, 0, "t"], [4984, 0, "s"], [4985, 0, "c"], [4986, 0, "{"], [4987, 0, "A"], [4988, 0, "p"], [4989, 0, "p"], [4990, 0, "l"], [4991, 0, "y"], [4992, 0, "-"], [4993, 0, "L"], [4994, 0, "o"], [4995, 0, "c"], [4996, 0, "a"], [4997, 0, "l"], [4998, 0, "}"], [4999, 0, "}"], [5000, 0, "\n"], [5001, 0, "\\"], [5002, 0, "U"], [5003, 0, "n"], [5004, 0, "a"], [5005, 0, "r"], [5006, 0, "y"], [5007, 0, "I"], [5008, 0, "n"], [5009, 0, "f"], [5010, 0, "C"], [5011, 0, "{"], [5012, 0, "$"], [5013, 0, "A"], [5014, 0, "_"], [5015, 0, "p"], [5016, 0, ","], [5017, 0, "\\"], [5018, 0, ";"], [5019, 0, " "], [5020, 0, "\\"], [5021, 0, "m"], [5022, 0, "a"], [5023, 0, "t"], [5024, 0, "h"], [5025, 0, "i"], [5026, 0, "t"], [5027, 0, "{"], [5028, 0, "c"], [5029, 0, "m"], [5030, 0, "d"], [5031, 0, "}"], [5032, 0, " "], [5033, 0, "\\"], [5034, 0, "e"], [5035, 0, "v"], [5036, 0, "a"], [5037, 0, "l"], [5038, 0, "t"], [5039, 0, "o"], [5040, 0, " "], [5041, 0, "A"], [5042, 0, "_"], [5043, 0, "p"], [5044, 0, "'"], [5045, 0, ","], [5046, 0, "\\"], [5046, 1], [5045, 1], [5045, 0, "["], [5046, 0, "\\"], [5047, 0, ","], [5048, 0, "\n"], [5049, 0, " "], [5050, 0, " "], [5051, 0, " "], [5052, 0, " "], [5053, 0, "\\"], [5054, 0, "m"], [5055, 0, "a"], [5056, 0, "t"], [5057, 0, "h"], [5058, 0, "s"], [5059, 0, "f"], [5060, 0, "{"], [5061, 0, "q"], [5062, 0, "u"], [5063, 0, "e"], [5064, 0, "u"], [5065, 0, "e"], [5066, 0, "}"], [5067, 0, " "], [5068, 0, "\\"], [5069, 0, "m"], [5070, 0, "a"], [5071, 0, "p"], [5072, 0, "s"], [5073, 0, "t"], [5074, 0, "o"], [5075, 0, " "], [5076, 0, "A"], [5077, 0, "_"], [5078, 0, "p"], [5079, 0, "'"], [5080, 0, "("], [5081, 0, "\\"], [5082, 0, "m"], [5083, 0, "a"], [5084, 0, "t"], [5085, 0, "h"], [5086, 0, "s"], [5087, 0, "f"], [5088, 0, "{"], [5089, 0, "q"], [5090, 0, "u"], [5091, 0, "e"], [5092, 0, "u"], [5093, 0, "e"], [5094, 0, "}"], [5095, 0, ")"], [5096, 0, " "], [5097, 0, "\\"], [5098, 0, "c"], [5099, 0, "u"], [5100, 0, "p"], [5101, 0, " "], [5102, 0, "\\"], [5103, 0, "{"], [5104, 0, "("], [5105, 0, "A"], [5106, 0, "_"], [5107, 0, "p"], [5108, 0, "'"], [5109, 0, "("], [5110, 0, "\\"], [5111, 0, "m"], [5112, 0, "a"], [5113, 0, "t"], [5114, 0, "h"], [5115, 0, "s"], [5116, 0, "f"], [5117, 0, "{"], [5118, 0, "o"], [5119, 0, "p"], [5120, 0, "s"], [5121, 0, "}"], [5122, 0, ")"], [5123, 0, ","], [5124, 0, " "], [5125, 0, "\\"], [5126, 0, "m"], [5127, 0, "a"], [5128, 0, "t"], [5129, 0, "h"], [5130, 0, "i"], [5131, 0, "t"], [5132, 0, "{"], [5133, 0, "o"], [5134, 0, "p"], [5135, 0, "}"], [5136, 0, ")"], [5137, 0, "\\"], [5138, 0, "}"], [5139, 0, ","], [5140, 0, "\\"], [5141, 0, "'"], [5141, 1], [5141, 0, ";"], [5142, 0, "\n"], [5143, 0, " "], [5144, 0, " "], [5145, 0, " "], [5146, 0, " "], [5147, 0, "\\"], [5148, 0, "m"], [5149, 0, "a"], [5150, 0, "t"], [5151, 0, "h"], [5152, 0, "s"], [5153, 0, "f"], [5154, 0, "{"], [5155, 0, "o"], [5156, 0, "p"], [5157, 0, "s"], [5158, 0, "}"], [5159, 0, " "], [5160, 0, "\\"], [5161, 0, "m"], [5162, 0, "a"], [5163, 0, "p"], [5164, 0, "s"], [5165, 0, "t"], [5166, 0, "o"], [5167, 0, " "], [5168, 0, "\\"], [5169, 0, "A"], [5170, 0, "_"], [5171, 0, "p"], [5172, 0, "'"], [5173, 0, "("], [5174, 0, "\\"], [5175, 0, "m"], [5176, 0, "a"], [5177, 0, "t"], [5178, 0, "h"], [5179, 0, "s"], [5180, 0, "f"], [5181, 0, "{"], [5182, 0, "o"], [5183, 0, "p"], [5184, 0, "s"], [5185, 0, "}"], [5186, 0, ")"], [5187, 0, " "], [5188, 0, "\\"], [5189, 0, "c"], [5190, 0, "u"], [5191, 0, "p"], [5097, 0, "\\"], [5098, 0, ";"], [5103, 0, "\\"], [5104, 0, ";"], [5196, 0, " "], [5197, 0, "\\"], [5198, 0, "{"], [5199, 0, "\\"], [5200, 0, "m"], [5201, 0, "a"], [5202, 0, "t"], [5203, 0, "h"], [5204, 0, "i"], [5205, 0, "t"], [5206, 0, "{"], [5207, 0, "o"], [5208, 0, "p"], [5209, 0, "}"], [5210, 0, "\\"], [5211, 0, "}"], [5212, 0, "\\"], [5213, 0, ","], [5214, 0, "]"], [5215, 0, "$"], [5216, 0, "}"], [5217, 0, "\n"], [5218, 0, "\\"], [5219, 0, "e"], [5220, 0, "n"], [5221, 0, "d"], [5222, 0, "{"], [5223, 0, "p"], [5224, 0, "r"], [5225, 0, "o"], [5226, 0, "o"], [5227, 0, "f"], [5228, 0, "t"], [5229, 0, "r"], [5230, 0, "e"], [5231, 0, "e"], [5232, 0, "}"], [5916, 1], [5915, 1], [5914, 1], [5913, 1], [5912, 1], [5911, 1], [5910, 1], [5909, 1], [5908, 1], [5907, 1], [5906, 1], [5905, 1], [5904, 1], [5903, 1], [5902, 1], [5901, 1], [5900, 1], [5899, 1], [5898, 1], [5897, 1], [5896, 1], [5895, 1], [5894, 1], [5893, 1], [5892, 1], [5891, 1], [5890, 1], [5889, 1], [5888, 1], [5887, 1], [5886, 1], [5885, 1], [5884, 1], [5883, 1], [5882, 1], [5881, 1], [5880, 1], [5879, 1], [5878, 1], [5877, 1], [5876, 1], [5875, 1], [5874, 1], [5873, 1], [5872, 1], [5871, 1], [5870, 1], [5869, 1], [5868, 1], [5867, 1], [5866, 1], [5865, 1], [5864, 1], [5863, 1], [5862, 1], [5861, 1], [5860, 1], [5859, 1], [5858, 1], [5857, 1], [5856, 1], [5855, 1], [5854, 1], [5853, 1], [5852, 1], [5851, 1], [5850, 1], [5849, 1], [5848, 1], [5847, 1], [5846, 1], [5845, 1], [5844, 1], [5843, 1], [5842, 1], [5841, 1], [5840, 1], [5839, 1], [5838, 1], [5837, 1], [5836, 1], [5835, 1], [5834, 1], [5833, 1], [5832, 1], [5831, 1], [5830, 1], [5829, 1], [5828, 1], [5827, 1], [5826, 1], [5825, 1], [5824, 1], [5823, 1], [5822, 1], [5821, 1], [5820, 1], [5819, 1], [5818, 1], [5817, 1], [5816, 1], [5815, 1], [5814, 1], [5813, 1], [5812, 1], [5811, 1], [5810, 1], [5809, 1], [5808, 1], [5807, 1], [5806, 1], [5805, 1], [5804, 1], [5803, 1], [5802, 1], [5801, 1], [5800, 1], [5799, 1], [5798, 1], [5797, 1], [5796, 1], [5795, 1], [5794, 1], [5793, 1], [5792, 1], [5791, 1], [5790, 1], [5789, 1], [5788, 1], [5787, 1], [5786, 1], [5785, 1], [5784, 1], [5783, 1], [5782, 1], [5781, 1], [5780, 1], [5779, 1], [5778, 1], [5777, 1], [5776, 1], [5775, 1], [5774, 1], [5773, 1], [5772, 1], [5771, 1], [5770, 1], [5769, 1], [5768, 1], [5767, 1], [5766, 1], [5765, 1], [5764, 1], [5763, 1], [5762, 1], [5761, 1], [5760, 1], [5759, 1], [5758, 1], [5757, 1], [5756, 1], [5755, 1], [5754, 1], [5753, 1], [5752, 1], [5751, 1], [5750, 1], [5749, 1], [5748, 1], [5747, 1], [5746, 1], [5745, 1], [5744, 1], [5743, 1], [5742, 1], [5741, 1], [5740, 1], [5739, 1], [5738, 1], [5737, 1], [5736, 1], [5735, 1], [5734, 1], [5733, 1], [5732, 1], [5731, 1], [5730, 1], [5729, 1], [5728, 1], [5727, 1], [5726, 1], [5725, 1], [5724, 1], [5723, 1], [5722, 1], [5721, 1], [5720, 1], [5719, 1], [5718, 1], [5717, 1], [5716, 1], [5715, 1], [5714, 1], [5713, 1], [5712, 1], [5711, 1], [5710, 1], [5709, 1], [5708, 1], [5707, 1], [5706, 1], [5705, 1], [5704, 1], [5703, 1], [5702, 1], [5701, 1], [5700, 1], [5699, 1], [5698, 1], [5697, 1], [5696, 1], [5695, 1], [5694, 1], [5693, 1], [5692, 1], [5691, 1], [5690, 1], [5689, 1], [5688, 1], [5687, 1], [5686, 1], [5685, 1], [5684, 1], [5683, 1], [5682, 1], [5681, 1], [5680, 1], [5679, 1], [5678, 1], [5677, 1], [5676, 1], [5675, 1], [5674, 1], [5673, 1], [5672, 1], [5671, 1], [5670, 1], [5669, 1], [5668, 1], [5667, 1], [5666, 1], [5665, 1], [5664, 1], [5663, 1], [5662, 1], [5661, 1], [5660, 1], [5659, 1], [5658, 1], [5657, 1], [5656, 1], [5655, 1], [5654, 1], [5653, 1], [5652, 1], [5651, 1], [5650, 1], [5649, 1], [5648, 1], [5647, 1], [5646, 1], [5645, 1], [5644, 1], [5643, 1], [5642, 1], [5641, 1], [5640, 1], [5639, 1], [5638, 1], [5637, 1], [5636, 1], [5635, 1], [5634, 1], [5633, 1], [5632, 1], [5631, 1], [5630, 1], [5629, 1], [5628, 1], [5627, 1], [5626, 1], [5625, 1], [5624, 1], [5623, 1], [5622, 1], [5621, 1], [5620, 1], [5619, 1], [5618, 1], [5617, 1], [5616, 1], [5615, 1], [5614, 1], [5613, 1], [5612, 1], [5611, 1], [5610, 1], [5609, 1], [5608, 1], [5607, 1], [5606, 1], [5605, 1], [5604, 1], [5603, 1], [5602, 1], [5601, 1], [5600, 1], [5599, 1], [5598, 1], [5597, 1], [5596, 1], [5595, 1], [5594, 1], [5593, 1], [5592, 1], [5591, 1], [5590, 1], [5589, 1], [5588, 1], [5587, 1], [5586, 1], [5585, 1], [5584, 1], [5583, 1], [5582, 1], [5581, 1], [5580, 1], [5579, 1], [5578, 1], [5172, 1], [5191, 0, "\\"], [5192, 0, ";"], [5197, 0, "\\"], [5198, 0, ";"], [5540, 0, "'"], [5541, 0, ";"], [5541, 1], [5540, 1], [5540, 0, "\\"], [5541, 0, ";"], [5546, 0, "\\"], [5547, 0, ";"], [5492, 0, "\n"], [5493, 0, " "], [5494, 0, " "], [5495, 0, " "], [4797, 0, "\n"], [4798, 0, " "], [4799, 0, " "], [4800, 0, " "], [4853, 0, "\\"], [4854, 0, ";"], [4849, 0, "\\"], [4850, 0, ";"], [4585, 0, "\n"], [4586, 0, " "], [4587, 0, " "], [4588, 0, " "], [4641, 0, "\\"], [4642, 0, ";"], [4637, 0, "\\"], [4638, 0, ";"], [4638, 1], [4638, 0, ","], [4644, 1], [4644, 0, ","], [4864, 1], [4864, 0, ","], [4858, 1], [4858, 0, ","], [4830, 0, "\\"], [4831, 0, ","], [4839, 0, "\\"], [4840, 0, ","], [4610, 0, "\\"], [4611, 0, ","], [4619, 0, "\\"], [4620, 0, ","], [5092, 0, "\\"], [5093, 0, ","], [5101, 0, "\\"], [5102, 0, ","], [5192, 0, "\\"], [5193, 0, ","], [5201, 0, "\\"], [5202, 0, ","], [5230, 1], [5230, 0, ","], [5224, 1], [5224, 0, ","], [5132, 1], [5132, 0, ","], [5126, 1], [5126, 0, ","], [5577, 1], [5577, 0, ","], [5583, 1], [5583, 0, ","], [5549, 0, "\\"], [5550, 0, ","], [5558, 0, "\\"], [5559, 0, ","], [6100, 1], [6100, 0, ","], [6101, 0, "\\"], [6102, 0, ";"], [6103, 0, " "], [6104, 0, "\\"], [6105, 0, "m"], [6106, 0, "a"], [6107, 0, "t"], [6108, 0, "h"], [6109, 0, "s"], [6110, 0, "f"], [6111, 0, "{"], [6112, 0, "i"], [6113, 0, "n"], [6114, 0, "s"], [6115, 0, "e"], [6116, 0, "r"], [6117, 0, "t"], [6118, 0, "}"], [6119, 0, "("], [6120, 0, "\\"], [6121, 0, "m"], [6122, 0, "a"], [6123, 0, "t"], [6124, 0, "h"], [6125, 0, "i"], [6126, 0, "t"], [6127, 0, "{"], [6128, 0, "i"], [6129, 0, "d"], [6130, 0, "}"], [6131, 0, ","], [6132, 0, " "], [6133, 0, "\\"], [6134, 0, "m"], [6135, 0, "a"], [6136, 0, "t"], [6137, 0, "h"], [6138, 0, "i"], [6139, 0, "t"], [6140, 0, "{"], [6141, 0, "p"], [6142, 0, "r"], [6143, 0, "e"], [6144, 0, "v"], [6145, 0, "}"], [6146, 0, ","], [6147, 0, " "], [6148, 0, "v"], [6149, 0, ")"], [6150, 0, "$"], [6151, 0, "}"], [6152, 0, "\n"], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [6153, 1], [5991, 1], [5990, 1], [5989, 1], [5988, 1], [5987, 1], [5986, 1], [5985, 1], [5984, 1], [5983, 1], [5982, 1], [5981, 1], [5980, 1], [5979, 1], [5978, 1], [5977, 1], [5976, 1], [5975, 1], [5974, 1], [5973, 1], [5972, 1], [5971, 1], [5970, 1], [5969, 1], [5968, 1], [5967, 1], [5966, 1], [5965, 1], [5964, 1], [5963, 1], [5962, 1], [5961, 1], [5960, 1], [5959, 1], [5958, 1], [5957, 1], [5956, 1], [5955, 1], [5954, 1], [5953, 1], [5952, 1], [5951, 1], [5950, 1], [5949, 1], [5948, 1], [5947, 1], [5946, 1], [5945, 1], [5944, 1], [5943, 1], [5942, 1], [5941, 1], [5940, 1], [5939, 1], [5938, 1], [5937, 1], [5936, 1], [5935, 1], [5934, 1], [5933, 1], [5932, 1], [5931, 1], [5930, 1], [5929, 1], [5928, 1], [5927, 1], [5926, 1], [5925, 1], [5924, 1], [5923, 1], [5922, 1], [5921, 1], [5920, 1], [5919, 1], [5918, 1], [5917, 1], [5916, 1], [5915, 1], [5914, 1], [5913, 1], [5912, 1], [5911, 1], [5910, 1], [5909, 1], [5908, 1], [5907, 1], [5906, 1], [5905, 1], [5904, 1], [5903, 1], [5902, 1], [5901, 1], [5900, 1], [5899, 1], [5898, 1], [5897, 1], [5896, 1], [5895, 1], [5894, 1], [5893, 1], [5892, 1], [5891, 1], [5890, 1], [5889, 1], [5888, 1], [5887, 1], [5886, 1], [5885, 1], [5884, 1], [5883, 1], [5882, 1], [5881, 1], [5880, 1], [5879, 1], [5878, 1], [5877, 1], [5907, 1], [5907, 1], [5907, 1], [5907, 1], [5907, 1], [5907, 1], [5907, 0, "B"], [5908, 0, "i"], [4488, 0, "\\"], [4489, 0, "p"], [4490, 0, "r"], [4491, 0, "o"], [4492, 0, "o"], [4493, 0, "f"], [4494, 0, "S"], [4495, 0, "k"], [4496, 0, "i"], [4497, 0, "p"], [4498, 0, "A"], [4499, 0, "m"], [4500, 0, "o"], [4501, 0, "u"], [4502, 0, "n"], [4503, 0, "t"], [7250, 1], [7250, 1], [7250, 1], [7250, 1], [7172, 1], [7172, 1], [7172, 1], [7172, 1], [7137, 1], [7137, 1], [7137, 1], [7137, 1], [7077, 1], [7077, 1], [7077, 1], [7077, 1], [7005, 1], [7005, 1], [7005, 1], [7005, 1], [6883, 1], [6883, 1], [6883, 1], [6883, 1], [6844, 1], [6844, 1], [6844, 1], [6844, 1], [6762, 1], [6762, 1], [6762, 1], [6762, 1], [6719, 1], [6719, 1], [6719, 1], [6719, 1], [6635, 1], [6635, 1], [6635, 1], [6635, 1], [6533, 1], [6533, 1], [6533, 1], [6533, 1], [6447, 1], [6447, 1], [6447, 1], [6447, 1], [6364, 1], [6364, 1], [6364, 1], [6364, 1], [6325, 1], [6325, 1], [6325, 1], [6325, 1], [6265, 1], [6265, 1], [6265, 1], [6265, 1], [6222, 1], [6222, 1], [6222, 1], [6222, 1], [6138, 1], [6138, 1], [6138, 1], [6138, 1], [6085, 1], [6085, 1], [6085, 1], [6085, 1], [6065, 0, "\n"], [6066, 0, "\n"], [6067, 0, "\\"], [6068, 0, "b"], [6069, 0, "e"], [6070, 0, "g"], [6071, 0, "i"], [6072, 0, "n"], [6073, 0, "{"], [6074, 0, "p"], [6075, 0, "r"], [6076, 0, "o"], [6077, 0, "o"], [6078, 0, "f"], [6079, 0, "t"], [6080, 0, "r"], [6081, 0, "e"], [6082, 0, "e"], [6083, 0, "}"], [6084, 0, "\n"], [6085, 0, "\\"], [6086, 0, "e"], [6087, 0, "n"], [6088, 0, "d"], [6089, 0, "{"], [6090, 0, "p"], [6091, 0, "r"], [6092, 0, "o"], [6093, 0, "o"], [6094, 0, "f"], [6095, 0, "t"], [6096, 0, "r"], [6097, 0, "e"], [6098, 0, "e"], [6099, 0, "}"], [6084, 0, "\n"], [6085, 0, "\\"], [6086, 0, "A"], [6087, 0, "x"], [6088, 0, "i"], [6089, 0, "o"], [6090, 0, "m"], [6091, 0, "C"], [6092, 0, "{"], [6093, 0, "$"], [6094, 0, "\\"], [6095, 0, "m"], [6096, 0, "a"], [6097, 0, "t"], [6098, 0, "h"], [6099, 0, "i"], [6100, 0, "t"], [6101, 0, "{"], [6102, 0, "t"], [6103, 0, "a"], [6104, 0, "r"], [6105, 0, "g"], [6106, 0, "e"], [6107, 0, "t"], [6108, 0, "}"], [6109, 0, " "], [6110, 0, "\\"], [6111, 0, "i"], [6112, 0, "n"], [6113, 0, " "], [6114, 0, "\\"], [6115, 0, "m"], [6116, 0, "a"], [6117, 0, "t"], [6118, 0, "h"], [6119, 0, "r"], [6120, 0, "m"], [6121, 0, "{"], [6122, 0, "d"], [6123, 0, "o"], [6124, 0, "m"], [6125, 0, "}"], [6126, 0, "("], [6127, 0, "A"], [6128, 0, "_"], [6129, 0, "p"], [6130, 0, ")"], [6131, 0, "$"], [6132, 0, "}"], [6133, 0, "\n"], [6134, 0, "\\"], [6135, 0, "A"], [6136, 0, "x"], [6137, 0, "i"], [6138, 0, "o"], [6139, 0, "m"], [6140, 0, "C"], [6141, 0, "{"], [6142, 0, "$"], [6143, 0, "A"], [6144, 0, "_"], [6145, 0, "p"], [6146, 0, ","], [6147, 0, "\\"], [6148, 0, ";"], [6149, 0, " "], [6150, 0, "\\"], [6151, 0, "m"], [6152, 0, "a"], [6153, 0, "t"], [6154, 0, "h"], [6155, 0, "s"], [6156, 0, "f"], [6157, 0, "{"], [6158, 0, "n"], [6159, 0, "e"], [6160, 0, "w"], [6161, 0, "I"], [6162, 0, "D"], [6163, 0, "}"], [6164, 0, " "], [6165, 0, "\\"], [6166, 0, "e"], [6167, 0, "v"], [6168, 0, "a"], [6169, 0, "l"], [6170, 0, "t"], [6171, 0, "o"], [6172, 0, " "], [6173, 0, "A"], [6174, 0, "_"], [6175, 0, "p"], [6176, 0, "'"], [6177, 0, ","], [6178, 0, "\\"], [6179, 0, ";"], [6180, 0, " "], [6181, 0, "\\"], [6182, 0, "m"], [6183, 0, "a"], [6184, 0, "t"], [6185, 0, "h"], [6186, 0, "i"], [6187, 0, "t"], [6188, 0, "{"], [6189, 0, "i"], [6190, 0, "d"], [6191, 0, "}"], [6192, 0, "$"], [6193, 0, "}"], [6194, 0, "\n"], [6195, 0, "\\"], [6196, 0, "L"], [6197, 0, "e"], [6198, 0, "f"], [6199, 0, "t"], [6200, 0, "L"], [6201, 0, "a"], [6202, 0, "b"], [6203, 0, "e"], [6204, 0, "l"], [6205, 0, "{"], [6206, 0, "\\"], [6207, 0, "T"], [6208, 0, "e"], [6209, 0, "x"], [6210, 0, "t"], [6207, 1], [6207, 0, "t"], [6211, 0, "s"], [6212, 0, "c"], [6213, 0, "{"], [6214, 0, "D"], [6215, 0, "e"], [6216, 0, "l"], [6217, 0, "e"], [6218, 0, "t"], [6219, 0, "e"], [6220, 0, "}"], [6221, 0, "}"], [6222, 0, "\n"], [6223, 0, "\\"], [6224, 0, "B"], [6225, 0, "i"], [6226, 0, "n"], [6227, 0, "a"], [6228, 0, "r"], [6229, 0, "y"], [6230, 0, "I"], [6231, 0, "n"], [6232, 0, "f"], [6233, 0, "C"], [6234, 0, "{"], [6235, 0, "$"], [6236, 0, "A"], [6237, 0, "_"], [6238, 0, "p"], [6239, 0, ","], [6240, 0, "\\"], [6241, 0, ";"], [6242, 0, " "], [6243, 0, "\\"], [6244, 0, "m"], [6245, 0, "a"], [6246, 0, "t"], [6247, 0, "h"], [6248, 0, "s"], [6249, 0, "f"], [6250, 0, "{"], [6251, 0, "d"], [6252, 0, "e"], [6253, 0, "l"], [6254, 0, "e"], [6255, 0, "t"], [6256, 0, "e"], [6257, 0, "L"], [6258, 0, "o"], [6259, 0, "c"], [6260, 0, "a"], [6261, 0, "l"], [6262, 0, "}"], [6263, 0, "("], [6264, 0, "\\"], [6265, 0, "m"], [6266, 0, "a"], [6267, 0, "t"], [6268, 0, "h"], [6269, 0, "i"], [6270, 0, "t"], [6271, 0, "{"], [6272, 0, "t"], [6273, 0, "a"], [6274, 0, "r"], [6275, 0, "g"], [6276, 0, "e"], [6277, 0, "t"], [6278, 0, "}"], [6279, 0, ")"], [6280, 0, " "], [6281, 0, "\\"], [6282, 0, "e"], [6283, 0, "v"], [6284, 0, "a"], [6285, 0, "l"], [6286, 0, "t"], [6287, 0, "o"], [6288, 0, "\n"], [6289, 0, " "], [6290, 0, " "], [6291, 0, " "], [6292, 0, " "], [6293, 0, "A"], [6294, 0, "_"], [6295, 0, "p"], [6296, 0, "'"], [6297, 0, ","], [6298, 0, "\\"], [6299, 0, ";"], [6300, 0, " "], [6301, 0, "\\"], [6302, 0, "m"], [6303, 0, "a"], [6304, 0, "t"], [6305, 0, "h"], [6306, 0, "s"], [6307, 0, "f"], [6308, 0, "{"], [6309, 0, "d"], [6310, 0, "e"], [6311, 0, "l"], [6312, 0, "e"], [6313, 0, "t"], [6314, 0, "e"], [6315, 0, "}"], [6316, 0, "("], [6317, 0, "\\"], [6318, 0, "m"], [6319, 0, "a"], [6320, 0, "t"], [6321, 0, "h"], [6322, 0, "i"], [6323, 0, "t"], [6324, 0, "{"], [6325, 0, "i"], [6326, 0, "d"], [6327, 0, "}"], [6328, 0, ","], [6329, 0, " "], [6330, 0, "\\"], [6331, 0, "m"], [6332, 0, "a"], [6333, 0, "t"], [6334, 0, "h"], [6335, 0, "i"], [6336, 0, "t"], [6337, 0, "{"], [6338, 0, "t"], [6339, 0, "a"], [6340, 0, "r"], [6341, 0, "g"], [6342, 0, "e"], [6343, 0, "t"], [6344, 0, "}"], [6345, 0, ")"], [6346, 0, "$"], [6347, 0, "}"], [6747, 0, "\\"], [6748, 0, ","], [6756, 0, "\\"], [6757, 0, ","], [6824, 0, "\\"], [6825, 0, ","], [6833, 0, "\\"], [6834, 0, ","], [7516, 0, "\\"], [7517, 0, ","], [7525, 0, "\\"], [7526, 0, ","], [5042, 1], [5042, 0, "B"], [5043, 0, "i"], [5007, 0, "\n"], [5008, 0, "\\"], [5009, 0, "A"], [5010, 0, "x"], [5011, 0, "i"], [5012, 0, "o"], [5013, 0, "m"], [5014, 0, "C"], [5015, 0, "{"], [5016, 0, "$"], [5017, 0, "A"], [5018, 0, "_"], [5019, 0, "p"], [5020, 0, "'"], [5021, 0, ","], [5022, 0, "\\"], [5023, 0, ";"], [5024, 0, " "], [5025, 0, "\\"], [5026, 0, "m"], [5027, 0, "a"], [5028, 0, "t"], [5029, 0, "h"], [5030, 0, "i"], [5031, 0, "t"], [5032, 0, "{"], [5033, 0, "o"], [5034, 0, "p"], [5035, 0, "}"], [5036, 0, " "], [5037, 0, "\\"], [5038, 0, "e"], [5039, 0, "v"], [5040, 0, "a"], [5041, 0, "l"], [5042, 0, "t"], [5043, 0, "o"], [5044, 0, " "], [5045, 0, "A"], [5046, 0, "_"], [5047, 0, "p"], [5048, 0, "'"], [5049, 0, "'"], [5050, 0, "$"], [5051, 0, "}"], [5130, 0, "'"], [5170, 0, "'"], [5204, 0, "'"], [5272, 0, "'"], [6010, 1], [6009, 1], [6008, 1], [6007, 1], [6006, 1], [6006, 0, "C"], [6007, 0, "m"], [6008, 0, "d"], [6008, 1], [6007, 1], [6006, 1], [6006, 0, "L"], [6007, 0, "o"], [6008, 0, "c"], [6009, 0, "a"], [6010, 0, "l"], [6010, 1], [6009, 1], [6008, 1], [6007, 1], [6006, 1], [6006, 0, "C"], [6007, 0, "m"], [6008, 0, "d"], [6309, 1], [6308, 1], [6307, 1], [6306, 1], [6305, 1], [6304, 1], [6304, 0, "e"], [6305, 0, "C"], [6306, 0, "m"], [6307, 0, "d"], [5973, 1], [5973, 1], [5973, 0, "T"], [5974, 0, "r"], [5975, 0, "i"], [5943, 0, "\n"], [5944, 0, "\\"], [5945, 0, "A"], [5946, 0, "x"], [5947, 0, "i"], [5948, 0, "o"], [5949, 0, "m"], [5950, 0, "C"], [5951, 0, "{"], [5952, 0, "$"], [5953, 0, "A"], [5954, 0, "_"], [5955, 0, "p"], [5956, 0, "'"], [5957, 0, ","], [5958, 0, "\\"], [5959, 0, ";"], [5960, 0, " "], [5961, 0, "\\"], [5962, 0, "m"], [5963, 0, "a"], [5964, 0, "t"], [5965, 0, "h"], [5966, 0, "s"], [5967, 0, "f"], [5968, 0, "{"], [5969, 0, "a"], [5970, 0, "p"], [5971, 0, "p"], [5972, 0, "l"], [5973, 0, "y"], [5974, 0, "}"], [5975, 0, "("], [5976, 0, "\\"], [5977, 0, "m"], [5978, 0, "a"], [5979, 0, "t"], [5980, 0, "h"], [5981, 0, "s"], [5982, 0, "f"], [5983, 0, "{"], [5984, 0, "i"], [5985, 0, "n"], [5986, 0, "s"], [5987, 0, "e"], [5988, 0, "r"], [5989, 0, "t"], [5990, 0, "}"], [5991, 0, "("], [5992, 0, "\\"], [5993, 0, "m"], [5994, 0, "a"], [5995, 0, "t"], [5996, 0, "h"], [5997, 0, "i"], [5998, 0, "t"], [5999, 0, "{"], [6000, 0, "i"], [6001, 0, "d"], [6002, 0, "}"], [6003, 0, ","], [6004, 0, " "], [6005, 0, "\\"], [6006, 0, "m"], [6007, 0, "a"], [6008, 0, "t"], [6009, 0, "h"], [6010, 0, "i"], [6011, 0, "t"], [6012, 0, "{"], [6013, 0, "p"], [6014, 0, "r"], [6015, 0, "e"], [6016, 0, "v"], [6017, 0, "}"], [6018, 0, ","], [6019, 0, " "], [6020, 0, "v"], [6021, 0, ")"], [6022, 0, ")"], [6023, 0, " "], [6024, 0, "\\"], [6025, 0, "e"], [6026, 0, "v"], [6027, 0, "a"], [6028, 0, "l"], [6029, 0, "t"], [6030, 0, "o"], [6031, 0, " "], [6032, 0, "A"], [6033, 0, "_"], [6034, 0, "p"], [6035, 0, "'"], [6036, 0, "'"], [6037, 0, "$"], [6038, 0, "}"], [6133, 0, " "], [6134, 0, "A"], [6135, 0, "_"], [6136, 0, "p"], [6137, 0, "'"], [6138, 0, "'"], [6139, 0, ","], [6140, 0, "\\"], [6141, 0, ";"], [6142, 0, " "], [6143, 0, "\\"], [6144, 0, "m"], [6145, 0, "a"], [6146, 0, "t"], [6147, 0, "h"], [6148, 0, "i"], [6149, 0, "t"], [6150, 0, "{"], [6151, 0, "i"], [6152, 0, "d"], [6153, 0, "}"], [6154, 0, "$"], [6155, 0, "}"], [6216, 1], [6215, 1], [6214, 1], [6213, 1], [6212, 1], [6211, 1], [6210, 1], [6209, 1], [6208, 1], [6207, 1], [6206, 1], [6205, 1], [6204, 1], [6203, 1], [6202, 1], [6201, 1], [6200, 1], [6199, 1], [6198, 1], [6197, 1], [6196, 1], [6195, 1], [6194, 1], [6193, 1], [6192, 1], [6191, 1], [6190, 1], [6189, 1], [6188, 1], [6187, 1], [6186, 1], [6185, 1], [6184, 1], [6183, 1], [6182, 1], [6181, 1], [6180, 1], [6179, 1], [6178, 1], [6177, 1], [6176, 1], [6175, 1], [6174, 1], [6173, 1], [6172, 1], [6171, 1], [6170, 1], [6169, 1], [6168, 1], [6167, 1], [6166, 1], [6165, 1], [6164, 1], [6163, 1], [6162, 1], [6161, 1], [6160, 1], [6159, 1], [6158, 1], [6157, 1], [6156, 1], [6331, 1], [6331, 0, "T"], [6332, 0, "r"], [6301, 0, "\n"], [6302, 0, "\\"], [6303, 0, "A"], [6304, 0, "x"], [6305, 0, "i"], [6306, 0, "o"], [6307, 0, "m"], [6308, 0, "C"], [6309, 0, "{"], [6310, 0, "$"], [6311, 0, "A"], [6312, 0, "_"], [6313, 0, "p"], [6314, 0, "'"], [6315, 0, ","], [6316, 0, "\\"], [6317, 0, ";"], [6318, 0, " "], [6319, 0, "\\"], [6320, 0, "m"], [6321, 0, "a"], [6322, 0, "t"], [6323, 0, "h"], [6324, 0, "s"], [6325, 0, "f"], [6326, 0, "{"], [6327, 0, "a"], [6328, 0, "p"], [6329, 0, "p"], [6330, 0, "l"], [6331, 0, "y"], [6332, 0, "}"], [6333, 0, "("], [6334, 0, "\\"], [6335, 0, "m"], [6336, 0, "a"], [6337, 0, "t"], [6338, 0, "h"], [6339, 0, "s"], [6340, 0, "f"], [6341, 0, "{"], [6342, 0, "d"], [6343, 0, "e"], [6344, 0, "l"], [6345, 0, "e"], [6346, 0, "t"], [6347, 0, "e"], [6348, 0, "}"], [6349, 0, "("], [6350, 0, "\\"], [6351, 0, "m"], [6352, 0, "a"], [6353, 0, "t"], [6354, 0, "h"], [6355, 0, "i"], [6356, 0, "t"], [6357, 0, "{"], [6358, 0, "i"], [6359, 0, "d"], [6360, 0, "}"], [6361, 0, ","], [6362, 0, " "], [6363, 0, "\\"], [6364, 0, "m"], [6365, 0, "a"], [6366, 0, "t"], [6367, 0, "h"], [6368, 0, "i"], [6369, 0, "t"], [6370, 0, "{"], [6371, 0, "t"], [6372, 0, "a"], [6373, 0, "r"], [6374, 0, "g"], [6375, 0, "e"], [6376, 0, "t"], [6377, 0, "}"], [6378, 0, ")"], [6379, 0, ")"], [6380, 0, " "], [6381, 0, "\\"], [6382, 0, "e"], [6383, 0, "v"], [6384, 0, "a"], [6385, 0, "l"], [6386, 0, "t"], [6387, 0, "o"], [6388, 0, " "], [6389, 0, "A"], [6390, 0, "_"], [6391, 0, "p"], [6392, 0, "'"], [6393, 0, "'"], [6394, 0, "$"], [6395, 0, "}"], [6489, 0, " "], [6490, 0, "A"], [6491, 0, "_"], [6492, 0, "p"], [6493, 0, "'"], [6494, 0, "'"], [6495, 0, "$"], [6496, 0, "}"], [6556, 1], [6555, 1], [6554, 1], [6553, 1], [6552, 1], [6551, 1], [6550, 1], [6549, 1], [6548, 1], [6547, 1], [6546, 1], [6545, 1], [6544, 1], [6543, 1], [6542, 1], [6541, 1], [6540, 1], [6539, 1], [6538, 1], [6537, 1], [6536, 1], [6535, 1], [6534, 1], [6533, 1], [6532, 1], [6531, 1], [6530, 1], [6529, 1], [6528, 1], [6527, 1], [6526, 1], [6525, 1], [6524, 1], [6523, 1], [6522, 1], [6521, 1], [6520, 1], [6519, 1], [6518, 1], [6517, 1], [6516, 1], [6515, 1], [6514, 1], [6513, 1], [6512, 1], [6511, 1], [6510, 1], [6509, 1], [6508, 1], [6507, 1], [6506, 1], [6505, 1], [6504, 1], [6503, 1], [6502, 1], [6501, 1], [6500, 1], [6499, 1], [6498, 1], [6497, 1], [6495, 0, "\\"], [6496, 0, ";"], [6497, 0, " "], [6498, 0, "\\"], [6499, 0, "b"], [6500, 0, "o"], [6501, 0, "t"], [6495, 0, ","], [5116, 1], [5115, 1], [5114, 1], [5114, 0, "o"], [5115, 0, "p"], [5106, 0, "\n"], [5106, 1], [5106, 0, "\\"], [5107, 0, "m"], [5108, 0, "a"], [5109, 0, "t"], [5110, 0, "h"], [5111, 0, "s"], [5112, 0, "f"], [5113, 0, "{"], [5114, 0, "a"], [5115, 0, "p"], [5116, 0, "p"], [5117, 0, "l"], [5118, 0, "y"], [5119, 0, "}"], [5120, 0, "("], [5132, 0, ")"], [4975, 1], [4974, 1], [4973, 1], [4973, 0, "o"], [4974, 0, "p"], [5003, 1], [5002, 1], [5001, 1], [5000, 1], [4999, 1], [4998, 1], [4997, 1], [4996, 1], [4995, 1], [4994, 1], [4993, 1], [4992, 1], [4991, 1], [4990, 1], [4989, 1], [5035, 1], [5034, 1], [5033, 1], [5032, 1], [5031, 1], [5030, 1], [5029, 1], [5028, 1], [5027, 1], [5026, 1], [5025, 1], [5024, 1], [5023, 1], [5022, 1], [5021, 1], [5020, 1], [5019, 1], [5018, 1], [5017, 1], [5016, 1], [5015, 1], [5014, 1], [5013, 1], [5012, 1], [5011, 1], [5010, 1], [5009, 1], [5008, 1], [5007, 1], [5006, 1], [5005, 1], [5004, 1], [5003, 1], [5002, 1], [5001, 1], [5001, 0, "q"], [5002, 0, " "], [5003, 0, "="], [5004, 0, " "], [5005, 0, "A"], [5006, 0, "'"], [5006, 1], [5006, 0, "_"], [5007, 0, "p"], [5008, 0, "'"], [5009, 0, "("], [5010, 0, "\\"], [5011, 0, "m"], [5012, 0, "a"], [5013, 0, "t"], [5014, 0, "h"], [5015, 0, "s"], [5016, 0, "f"], [5017, 0, "{"], [5018, 0, "q"], [5019, 0, "u"], [5020, 0, "e"], [5021, 0, "u"], [5022, 0, "e"], [5023, 0, "}"], [5024, 0, ")"], [5025, 0, " "], [5026, 0, "\\"], [5027, 0, ","], [5028, 0, "\\"], [5029, 0, "c"], [5030, 0, "u"], [5031, 0, "p"], [5032, 0, "\\"], [5033, 0, ","], [5034, 0, " "], [5035, 0, "\\"], [5036, 0, "P"], [5037, 0, "{"], [5037, 1], [5036, 1], [5036, 0, "{"], [5037, 0, "("], [5038, 0, "A"], [5039, 0, "_"], [5040, 0, "p"], [5041, 0, "'"], [5042, 0, "("], [5043, 0, "\\"], [5044, 0, "m"], [5045, 0, "a"], [5046, 0, "t"], [5047, 0, "h"], [5048, 0, "s"], [5049, 0, "f"], [5050, 0, "{"], [5051, 0, "o"], [5052, 0, "p"], [5053, 0, "s"], [5054, 0, "}"], [5055, 0, ")"], [5056, 0, ","], [5057, 0, " "], [5058, 0, "\\"], [5059, 0, "m"], [5060, 0, "a"], [5061, 0, "t"], [5062, 0, "h"], [5063, 0, "i"], [5064, 0, "t"], [5065, 0, "{"], [5066, 0, "o"], [5067, 0, "p"], [5068, 0, "}"], [5069, 0, ")"], [5070, 0, "\\"], [5071, 0, "}"], [5072, 0, "$"], [5073, 0, "}"], [5167, 1], [5271, 1], [5270, 1], [5269, 1], [5268, 1], [5267, 1], [5266, 1], [5265, 1], [5264, 1], [5263, 1], [5262, 1], [5261, 1], [5260, 1], [5259, 1], [5258, 1], [5257, 1], [5256, 1], [5255, 1], [5254, 1], [5253, 1], [5252, 1], [5251, 1], [5250, 1], [5249, 1], [5248, 1], [5247, 1], [5246, 1], [5245, 1], [5244, 1], [5243, 1], [5242, 1], [5241, 1], [5240, 1], [5239, 1], [5238, 1], [5237, 1], [5236, 1], [5235, 1], [5234, 1], [5233, 1], [5232, 1], [5231, 1], [5230, 1], [5229, 1], [5228, 1], [5227, 1], [5226, 1], [5225, 1], [5224, 1], [5223, 1], [5222, 1], [5221, 1], [5220, 1], [5219, 1], [5218, 1], [5217, 1], [5216, 1], [5215, 1], [5214, 1], [5213, 1], [5212, 1], [5211, 1], [5210, 1], [5209, 1], [5208, 1], [5207, 1], [5206, 1], [5205, 1], [5204, 1], [5203, 1], [5203, 0, "q"], [5203, 0, "\\"], [5204, 0, "m"], [5205, 0, "a"], [5206, 0, "t"], [5207, 0, "h"], [5208, 0, "s"], [5209, 0, "f"], [5209, 1], [5208, 1], [5208, 0, "i"], [5209, 0, "t"], [5210, 0, "{"], [5212, 0, "u"], [5213, 0, "e"], [5214, 0, "u"], [5215, 0, "e"], [5216, 0, "}"], [5001, 1], [5001, 0, "\\"], [5002, 0, "m"], [5003, 0, "a"], [5004, 0, "t"], [5005, 0, "h"], [5006, 0, "i"], [5007, 0, "t"], [5008, 0, "{"], [5009, 0, "q"], [5010, 0, "u"], [5011, 0, "e"], [5012, 0, "u"], [5013, 0, "e"], [5014, 0, "}"], [5984, 0, "O"], [5985, 0, "p"], [6344, 0, "O"], [6345, 0, "p"], [6836, 0, "O"], [6837, 0, "p"], [7216, 0, "O"], [7217, 0, "p"], [7336, 0, "O"], [7337, 0, "p"], [7610, 0, "O"], [7611, 0, "p"], [5735, 1], [5734, 1], [5733, 1], [5732, 1], [5732, 0, ","], [5743, 0, ","], [5744, 0, " "], [5745, 0, "a"], [5746, 0, "n"], [5747, 0, "d"], [5748, 0, " "], [5749, 0, "a"], [5750, 0, "p"], [5751, 0, "p"], [5752, 0, "l"], [5753, 0, "y"], [5754, 0, "i"], [5755, 0, "n"], [5756, 0, "g"], [5822, 0, "\n"], [5823, 0, "\\"], [5824, 0, "b"], [5825, 0, "e"], [5826, 0, "g"], [5827, 0, "i"], [5828, 0, "n"], [5829, 0, "{"], [5830, 0, "p"], [5831, 0, "r"], [5832, 0, "o"], [5833, 0, "o"], [5834, 0, "f"], [5835, 0, "t"], [5836, 0, "r"], [5837, 0, "e"], [5838, 0, "e"], [5839, 0, "}"], [5840, 0, "\n"], [5841, 0, "\\"], [5842, 0, "e"], [5843, 0, "n"], [5844, 0, "d"], [5845, 0, "{"], [5846, 0, "p"], [5847, 0, "r"], [5848, 0, "o"], [5849, 0, "o"], [5850, 0, "f"], [5851, 0, "t"], [5852, 0, "r"], [5853, 0, "e"], [5854, 0, "e"], [5855, 0, "}"], [5856, 0, "\n"], [5840, 0, "\n"], [5841, 0, "\\"], [5842, 0, "A"], [5843, 0, "x"], [5844, 0, "i"], [5845, 0, "o"], [5846, 0, "m"], [5847, 0, "C"], [5848, 0, "{"], [5849, 0, "A"], [5850, 0, "_"], [5851, 0, "p"], [5852, 0, ","], [5853, 0, "\\"], [5854, 0, ";"], [5855, 0, "\\"], [5856, 0, "m"], [5857, 0, "a"], [5858, 0, "t"], [5859, 0, "h"], [5860, 0, "s"], [5861, 0, "f"], [5862, 0, "{"], [5863, 0, "n"], [5864, 0, "e"], [5865, 0, "w"], [5866, 0, "I"], [5867, 0, "D"], [5868, 0, "}"], [5869, 0, " "], [5870, 0, "\\"], [5871, 0, "e"], [5872, 0, "v"], [5873, 0, "a"], [5874, 0, "l"], [5875, 0, "t"], [5876, 0, "o"], [5877, 0, " "], [5878, 0, "A"], [5879, 0, "_"], [5880, 0, "p"], [5881, 0, "'"], [5882, 0, ","], [5883, 0, "\\"], [5884, 0, ";"], [5885, 0, " "], [5886, 0, "\\"], [5887, 0, "m"], [5888, 0, "a"], [5889, 0, "t"], [5890, 0, "h"], [5891, 0, "i"], [5892, 0, "t"], [5893, 0, "{"], [5894, 0, "i"], [5895, 0, "d"], [5896, 0, "}"], [5897, 0, "$"], [5898, 0, "}"], [5899, 0, "\n"], [5849, 0, "$"], [5901, 0, "\\"], [5902, 0, "A"], [5903, 0, "x"], [5904, 0, "i"], [5905, 0, "o"], [5906, 0, "m"], [5907, 0, "C"], [5908, 0, "{"], [5909, 0, "$"], [5910, 0, "A"], [5911, 0, "_"], [5912, 0, "p"], [5913, 0, "'"], [5914, 0, ","], [5915, 0, "\\"], [5916, 0, ";"], [5917, 0, " "], [5918, 0, "\\"], [5919, 0, "m"], [5920, 0, "a"], [5921, 0, "t"], [5922, 0, "h"], [5923, 0, "s"], [5924, 0, "f"], [5925, 0, "{"], [5926, 0, "a"], [5927, 0, "p"], [5928, 0, "p"], [5929, 0, "l"], [5930, 0, "y"], [5931, 0, "}"], [5932, 0, "("], [5933, 0, "\\"], [5934, 0, "m"], [5935, 0, "a"], [5936, 0, "t"], [5937, 0, "h"], [5938, 0, "s"], [5939, 0, "f"], [5940, 0, "{"], [5941, 0, "l"], [5942, 0, "i"], [5943, 0, "s"], [5944, 0, "t"], [5945, 0, "O"], [5946, 0, "p"], [5941, 1], [5941, 0, "l"], [5947, 0, "}"], [5948, 0, "("], [5949, 0, "\\"], [5950, 0, "m"], [5951, 0, "a"], [5952, 0, "t"], [5953, 0, "h"], [5954, 0, "i"], [5955, 0, "t"], [5956, 0, "{"], [5957, 0, "i"], [5958, 0, "d"], [5959, 0, "}"], [5960, 0, ")"], [5961, 0, ")"], [5962, 0, " "], [5963, 0, "\\"], [5964, 0, "e"], [5965, 0, "v"], [5966, 0, "a"], [5967, 0, "l"], [5968, 0, "t"], [5969, 0, "o"], [5970, 0, " "], [5971, 0, "A"], [5972, 0, "_"], [5973, 0, "p"], [5974, 0, "'"], [5975, 0, "'"], [5976, 0, "$"], [5977, 0, "}"], [5978, 0, "\n"], [5979, 0, "\\"], [5980, 0, "L"], [5981, 0, "e"], [5982, 0, "v"], [5983, 0, "e"], [5983, 1], [5982, 1], [5982, 0, "f"], [5983, 0, "t"], [5984, 0, "L"], [5985, 0, "a"], [5986, 0, "b"], [5987, 0, "e"], [5988, 0, "l"], [5989, 0, "{"], [5990, 0, "\\"], [5991, 0, "t"], [5992, 0, "e"], [5993, 0, "x"], [5994, 0, "t"], [5995, 0, "s"], [5996, 0, "c"], [5997, 0, "{"], [5998, 0, "A"], [5999, 0, "l"], [6000, 0, "l"], [6001, 0, "o"], [6002, 0, "c"], [6003, 0, "-"], [6004, 0, "L"], [6005, 0, "i"], [6006, 0, "s"], [6007, 0, "t"], [6008, 0, "}"], [6009, 0, "}"], [6010, 0, "\n"], [6011, 0, "\\"], [6012, 0, "B"], [6013, 0, "i"], [6014, 0, "n"], [6015, 0, "a"], [6016, 0, "r"], [6017, 0, "y"], [6018, 0, "I"], [6019, 0, "n"], [6020, 0, "f"], [6021, 0, "C"], [6022, 0, "{"], [6023, 0, "$"], [6024, 0, "A"], [6025, 0, "_"], [6026, 0, "p"], [6027, 0, ","], [6028, 0, "\\"], [6029, 0, ";"], [6030, 0, " "], [6031, 0, "\\"], [6032, 0, "m"], [6033, 0, "a"], [6034, 0, "t"], [6035, 0, "h"], [6036, 0, "s"], [6037, 0, "f"], [6038, 0, "{"], [6039, 0, "a"], [6039, 1], [6039, 0, "l"], [6040, 0, "i"], [6041, 0, "s"], [6042, 0, "t"], [6043, 0, "C"], [6044, 0, "m"], [6045, 0, "d"], [6046, 0, "}"], [6047, 0, "("], [6048, 0, "\\"], [6048, 1], [6047, 1], [6047, 0, " "], [6048, 0, "\\"], [6049, 0, "e"], [6050, 0, "v"], [6051, 0, "a"], [6052, 0, "l"], [6053, 0, "t"], [6054, 0, "o"], [6055, 0, " "], [6056, 0, "A"], [6057, 0, "_"], [6058, 0, "p"], [6059, 0, "'"], [6060, 0, "'"], [6061, 0, ","], [6062, 0, " "], [6062, 1], [6062, 0, "\\"], [6063, 0, ";"], [6064, 0, " "], [6065, 0, "\\"], [6066, 0, "m"], [6067, 0, "a"], [6068, 0, "t"], [6069, 0, "h"], [6070, 0, "i"], [6071, 0, "t"], [6072, 0, "{"], [6073, 0, "i"], [6074, 0, "d"], [6075, 0, "}"], [6076, 0, "$"], [6077, 0, "}"], [6803, 0, "\n"], [6804, 0, "\n"], [6805, 0, "\\"], [6806, 0, "b"], [6807, 0, "e"], [6808, 0, "g"], [6809, 0, "i"], [6810, 0, "n"], [6811, 0, "{"], [6812, 0, "p"], [6813, 0, "r"], [6814, 0, "o"], [6815, 0, "o"], [6816, 0, "f"], [6817, 0, "t"], [6818, 0, "r"], [6819, 0, "e"], [6820, 0, "e"], [6821, 0, "}"], [6822, 0, "\n"], [6823, 0, "\\"], [6824, 0, "e"], [6825, 0, "n"], [6826, 0, "d"], [6827, 0, "{"], [6828, 0, "p"], [6829, 0, "r"], [6830, 0, "o"], [6831, 0, "o"], [6832, 0, "f"], [6833, 0, "t"], [6834, 0, "r"], [6835, 0, "e"], [6836, 0, "e"], [6837, 0, "}"], [6822, 0, "\n"], [6823, 0, "\\"], [6824, 0, "L"], [6825, 0, "e"], [6826, 0, "f"], [6827, 0, "t"], [6828, 0, "L"], [6829, 0, "a"], [6830, 0, "b"], [6831, 0, "e"], [6832, 0, "l"], [6833, 0, "{"], [6834, 0, "\\"], [6835, 0, "t"], [6836, 0, "e"], [6837, 0, "x"], [6838, 0, "t"], [6839, 0, "s"], [6840, 0, "c"], [6841, 0, "{"], [6842, 0, "A"], [6843, 0, "p"], [6844, 0, "p"], [6845, 0, "l"], [6846, 0, "y"], [6847, 0, "-"], [6848, 0, "L"], [6849, 0, "i"], [6850, 0, "s"], [6851, 0, "t"], [6852, 0, "}"], [6853, 0, "}"], [6822, 0, "\n"], [6823, 0, "\\"], [6824, 0, "A"], [6825, 0, "x"], [6826, 0, "i"], [6827, 0, "o"], [6828, 0, "m"], [6829, 0, "C"], [6830, 0, "{"], [6831, 0, "$"], [6832, 0, "\\"], [6833, 0, "m"], [6834, 0, "a"], [6835, 0, "t"], [6836, 0, "h"], [6837, 0, "i"], [6838, 0, "t"], [6839, 0, "{"], [6840, 0, "i"], [6841, 0, "d"], [6842, 0, "}"], [6843, 0, " "], [6844, 0, "\\"], [6845, 0, "n"], [6846, 0, "o"], [6847, 0, "t"], [6848, 0, "\\"], [6849, 0, "i"], [6850, 0, "n"], [6851, 0, " "], [6852, 0, "\\"], [6853, 0, "m"], [6854, 0, "a"], [6855, 0, "t"], [6856, 0, "h"], [6857, 0, "r"], [6858, 0, "m"], [6859, 0, "{"], [6860, 0, "d"], [6861, 0, "o"], [6862, 0, "m"], [6863, 0, "}"], [6864, 0, "("], [6865, 0, "A"], [6866, 0, "_"], [6867, 0, "p"], [6868, 0, "}"], [6868, 1], [6868, 0, ")"], [6869, 0, "$"], [6870, 0, "}"], [6871, 0, "\n"], [6872, 0, "\\"], [6873, 0, "A"], [6874, 0, "x"], [6875, 0, "i"], [6876, 0, "o"], [6877, 0, "m"], [6878, 0, "C"], [6879, 0, "{"], [6880, 0, "$"], [6881, 0, "\\"], [6882, 0, "m"], [6883, 0, "a"], [6884, 0, "t"], [6885, 0, "h"], [6886, 0, "i"], [6887, 0, "t"], [6888, 0, "{"], [6889, 0, "i"], [6890, 0, "d"], [6891, 0, "}"], [6881, 0, "A"], [6882, 0, "_"], [6883, 0, "p"], [6884, 0, ","], [6885, 0, "\\"], [6886, 0, ";"], [6887, 0, " "], [6888, 0, "\\"], [6889, 0, "m"], [6890, 0, "a"], [6891, 0, "t"], [6892, 0, "h"], [6893, 0, "s"], [6894, 0, "f"], [6895, 0, "{"], [6896, 0, "t"], [6897, 0, "s"], [6898, 0, "}"], [6899, 0, "("], [6911, 0, ")"], [6912, 0, " "], [6913, 0, "\\"], [6914, 0, "e"], [6915, 0, "v"], [6916, 0, "a"], [6917, 0, "l"], [6918, 0, "t"], [6919, 0, "o"], [6920, 0, " "], [6921, 0, "A"], [6922, 0, "_"], [6923, 0, "p"], [6924, 0, "'"], [6925, 0, "$"], [6926, 0, "}"], [6959, 0, "\n"], [6960, 0, "\\"], [6961, 0, "B"], [6962, 0, "i"], [6963, 0, "n"], [6964, 0, "a"], [6965, 0, "r"], [6966, 0, "y"], [6967, 0, "I"], [6968, 0, "n"], [6969, 0, "f"], [6970, 0, "C"], [6971, 0, "{"], [6972, 0, "$"], [6973, 0, "$"], [6974, 0, "}"], [6973, 0, "A"], [6974, 0, "_"], [6975, 0, "p"], [6976, 0, ","], [6977, 0, "\\"], [6978, 0, ";"], [6979, 0, " "], [6980, 0, "\\"], [6981, 0, "m"], [6982, 0, "a"], [6983, 0, "t"], [6984, 0, "h"], [6985, 0, "s"], [6986, 0, "f"], [6987, 0, "{"], [6988, 0, "l"], [6989, 0, "i"], [6990, 0, "s"], [6991, 0, "t"], [6992, 0, "O"], [6993, 0, "p"], [6994, 0, "}"], [6995, 0, "("], [6996, 0, "\\"], [6997, 0, "m"], [6998, 0, "a"], [6999, 0, "t"], [7000, 0, "h"], [7001, 0, "i"], [7002, 0, "t"], [7003, 0, "{"], [7004, 0, "i"], [7005, 0, "d"], [7006, 0, "}"], [7007, 0, ")"], [7008, 0, " "], [7009, 0, "\\"], [7010, 0, "e"], [7011, 0, "v"], [7012, 0, "a"], [7013, 0, "l"], [7014, 0, "t"], [7015, 0, "o"], [7016, 0, " "], [7017, 0, "A"], [7018, 0, "_"], [7019, 0, "p"], [7016, 0, "\n"], [7017, 0, " "], [7018, 0, " "], [7019, 0, " "], [7024, 0, "'"], [7025, 0, "["], [7026, 0, "\\"], [7027, 0, ","], [7028, 0, "\\"], [7029, 0, "m"], [7030, 0, "a"], [7031, 0, "t"], [7032, 0, "h"], [7033, 0, "i"], [7034, 0, "t"], [7035, 0, "{"], [7036, 0, "i"], [7037, 0, "d"], [7038, 0, "}"], [7039, 0, " "], [7040, 0, "\\"], [7041, 0, "m"], [7042, 0, "a"], [7043, 0, "p"], [7044, 0, "s"], [7045, 0, "t"], [7046, 0, "o"], [7040, 0, "\\"], [7041, 0, ","], [7049, 0, "\\"], [7050, 0, ","], [7051, 0, " "], [7052, 0, "\\"], [7053, 0, "m"], [7054, 0, "a"], [7055, 0, "t"], [7056, 0, "h"], [7057, 0, "s"], [7058, 0, "f"], [7059, 0, "{"], [7060, 0, "l"], [7061, 0, "i"], [7062, 0, "s"], [7063, 0, "t"], [7064, 0, "E"], [7065, 0, "l"], [7066, 0, "}"], [7067, 0, "("], [7068, 0, "\\"], [7069, 0, "b"], [7070, 0, "o"], [7071, 0, "t"], [7072, 0, ","], [7073, 0, " "], [7074, 0, "\\"], [7075, 0, "m"], [7076, 0, "a"], [7077, 0, "t"], [7078, 0, "h"], [7079, 0, "s"], [7080, 0, "f"], [7081, 0, "{"], [7082, 0, "t"], [7083, 0, "a"], [7084, 0, "i"], [7085, 0, "l"], [7086, 0, "}"], [7087, 0, ")"], [7088, 0, "\\"], [7089, 0, ","], [7090, 0, "]"], [7267, 0, "\\"], [7268, 0, "m"], [7269, 0, "a"], [7270, 0, "t"], [7271, 0, "h"], [7272, 0, "i"], [7273, 0, "t"], [7274, 0, "{"], [7275, 0, "n"], [7276, 0, "e"], [7277, 0, "x"], [7278, 0, "t"], [7279, 0, "}"], [7280, 0, " "], [7281, 0, "="], [7282, 0, " "], [7283, 0, "\\"], [7284, 0, "m"], [7285, 0, "a"], [7286, 0, "t"], [7287, 0, "h"], [7288, 0, "s"], [7289, 0, "f"], [7290, 0, "{"], [7291, 0, "t"], [7292, 0, "a"], [7292, 1], [7291, 1], [7290, 1], [7289, 1], [7288, 1], [7287, 1], [7286, 1], [7285, 1], [7284, 1], [7283, 1], [7282, 1], [7281, 1], [7280, 1], [7279, 1], [7278, 1], [7277, 1], [7276, 1], [7275, 1], [7274, 1], [7273, 1], [7272, 1], [7271, 1], [7270, 1], [7269, 1], [7268, 1], [7267, 1], [7294, 0, " "], [7295, 0, "\\"], [7296, 0, "v"], [7297, 0, "e"], [7298, 0, "e"], [7299, 0, " "], [7300, 0, "\\"], [7301, 0, "m"], [7302, 0, "a"], [7303, 0, "t"], [7304, 0, "h"], [7305, 0, "i"], [7306, 0, "t"], [7307, 0, "{"], [7308, 0, "n"], [7309, 0, "e"], [7310, 0, "x"], [7311, 0, "t"], [7312, 0, "}"], [7313, 0, " "], [7314, 0, "="], [7315, 0, " "], [7316, 0, "\\"], [7317, 0, "m"], [7318, 0, "a"], [7319, 0, "t"], [7320, 0, "h"], [7321, 0, "s"], [7322, 0, "f"], [7323, 0, "{"], [7324, 0, "t"], [7325, 0, "a"], [7326, 0, "i"], [7327, 0, "l"], [7328, 0, "}"], [7295, 0, "\\"], [7296, 0, ","], [7301, 0, "\\"], [7302, 0, ","], [855, 0, "\n"], [856, 0, "\n"], [856, 0, "%"], [857, 0, " "], [858, 0, "T"], [859, 0, "O"], [860, 0, "D"], [861, 0, "O"], [862, 0, " "], [863, 0, "p"], [864, 0, "a"], [865, 0, "p"], [866, 0, "e"], [867, 0, "r"], [868, 0, "s"], [869, 0, " "], [870, 0, "o"], [871, 0, "n"], [872, 0, " "], [873, 0, "f"], [874, 0, "o"], [875, 0, "r"], [876, 0, "m"], [877, 0, "a"], [878, 0, "l"], [879, 0, " "], [880, 0, "v"], [881, 0, "e"], [882, 0, "r"], [883, 0, "i"], [884, 0, "f"], [885, 0, "i"], [886, 0, "c"], [887, 0, "a"], [888, 0, "t"], [889, 0, "i"], [890, 0, "o"], [891, 0, "n"], [892, 0, " "], [893, 0, "o"], [894, 0, "f"], [895, 0, " "], [896, 0, "C"], [897, 0, "R"], [898, 0, "D"], [899, 0, "T"], [900, 0, "s"], [901, 0, " "], [902, 0, "o"], [903, 0, "r"], [904, 0, " "], [905, 0, "s"], [906, 0, "i"], [907, 0, "m"], [908, 0, "i"], [909, 0, "l"], [910, 0, "a"], [911, 0, "r"], [912, 0, ":"], [913, 0, "\n"], [914, 0, "%"], [915, 0, " "], [916, 0, "G"], [917, 0, "o"], [918, 0, "t"], [919, 0, "s"], [920, 0, "m"], [921, 0, "a"], [922, 0, "n"], [923, 0, " "], [924, 0, "e"], [925, 0, "t"], [926, 0, " "], [927, 0, "a"], [928, 0, "l"], [929, 0, ","], [930, 0, " "], [931, 0, "\""], [932, 0, "c"], [933, 0, "a"], [934, 0, "u"], [935, 0, "s"], [936, 0, "e"], [937, 0, " "], [938, 0, "I"], [939, 0, "'"], [940, 0, "m"], [941, 0, " "], [942, 0, "s"], [943, 0, "t"], [944, 0, "r"], [945, 0, "o"], [946, 0, "n"], [947, 0, "g"], [948, 0, " "], [949, 0, "e"], [950, 0, "n"], [951, 0, "o"], [952, 0, "u"], [953, 0, "g"], [954, 0, "h"], [955, 0, "\""], [956, 0, ","], [957, 0, " "], [958, 0, "P"], [959, 0, "O"], [960, 0, "P"], [961, 0, "L"], [962, 0, " "], [963, 0, "2"], [964, 0, "0"], [965, 0, "1"], [966, 0, "6"], [967, 0, "\n"], [968, 0, "%"], [969, 0, " "], [970, 0, "v"], [971, 0, "a"], [972, 0, "r"], [973, 0, "i"], [974, 0, "o"], [975, 0, "u"], [976, 0, "s"], [977, 0, " "], [978, 0, "p"], [979, 0, "a"], [980, 0, "p"], [981, 0, "e"], [982, 0, "r"], [983, 0, "s"], [984, 0, " "], [985, 0, "b"], [986, 0, "y"], [987, 0, " "], [988, 0, "S"], [989, 0, "e"], [990, 0, "b"], [991, 0, "a"], [992, 0, "s"], [993, 0, "t"], [994, 0, "i"], [995, 0, "a"], [996, 0, "n"], [997, 0, " "], [998, 0, "B"], [999, 0, "u"], [1000, 0, "r"], [1001, 0, "c"], [1002, 0, "k"], [1003, 0, "h"], [1004, 0, "a"], [1005, 0, "r"], [1006, 0, "d"], [1007, 0, "t"], [1008, 0, "\n"], [1009, 0, "%"], [1010, 0, " "], [1011, 0, "R"], [1012, 0, "o"], [1013, 0, "h"], [1014, 0, " "], [1015, 0, "e"], [1016, 0, "t"], [1017, 0, " "], [1018, 0, "a"], [1019, 0, "l"], [1020, 0, "'"], [1021, 0, "s"], [1022, 0, " "], [1023, 0, "t"], [1024, 0, "e"], [1025, 0, "c"], [1026, 0, "h"], [1027, 0, " "], [1028, 0, "r"], [1029, 0, "e"], [1030, 0, "p"], [1031, 0, "o"], [1032, 0, "r"], [1033, 0, "t"], [1034, 0, " "], [1035, 0, "("], [1036, 0, "l"], [1037, 0, "e"], [1038, 0, "m"], [1039, 0, "m"], [1040, 0, "a"], [1041, 0, "s"], [1042, 0, " "], [1043, 0, "8"], [1044, 0, "-"], [1045, 0, "1"], [1046, 0, "3"], [1047, 0, ","], [1048, 0, " "], [1049, 0, "t"], [1050, 0, "h"], [1051, 0, "e"], [1052, 0, "o"], [1053, 0, "r"], [1054, 0, "e"], [1055, 0, "m"], [1056, 0, " "], [1057, 0, "4"], [1058, 0, ")"], [1059, 0, "\n"], [1060, 0, "%"], [1061, 0, " "], [1062, 0, "Z"], [1063, 0, "e"], [1064, 0, "l"], [1065, 0, "l"], [1066, 0, "e"], [1067, 0, "r"], [1068, 0, " "], [1069, 0, "&"], [1070, 0, " "], [1071, 0, "B"], [1072, 0, "i"], [1073, 0, "e"], [1074, 0, "n"], [1075, 0, "i"], [1076, 0, "u"], [1077, 0, "s"], [1078, 0, "a"], [4325, 1], [4324, 1], [4323, 1], [4322, 1], [4321, 1], [4320, 1], [4319, 1], [4318, 1], [4317, 1], [4316, 1], [4315, 1], [4314, 1], [4313, 1], [4312, 1], [4311, 1], [4310, 1], [4309, 1], [4308, 1], [4308, 0, " "], [4309, 0, "\\"], [4310, 0, "m"], [4311, 0, "a"], [4312, 0, "t"], [4313, 0, "h"], [4314, 0, "r"], [4315, 0, "m"], [4316, 0, "{"], [4317, 0, "m"], [4318, 0, "a"], [4319, 0, "x"], [4320, 0, "}"], [4321, 0, "("], [4322, 0, ")"], [4322, 0, "\\"], [4323, 0, "{"], [4324, 0, "\\"], [4325, 0, "}"], [4306, 0, "_"], [4307, 0, "\\"], [4308, 0, "m"], [4309, 0, "a"], [4310, 0, "t"], [4311, 0, "h"], [4312, 0, "i"], [4313, 0, "t"], [4314, 0, "{"], [4315, 0, "m"], [4316, 0, "a"], [4317, 0, "x"], [4318, 0, "}"], [4337, 0, "c"], [4338, 0, " "], [4339, 0, "\\"], [4340, 0, "m"], [4341, 0, "i"], [4342, 0, "d"], [4343, 0, " "], [4360, 0, "_"], [4361, 0, "\\"], [4362, 0, "m"], [4363, 0, "a"], [4364, 0, "t"], [4365, 0, "h"], [4366, 0, "i"], [4367, 0, "t"], [4368, 0, "{"], [4369, 0, "s"], [4370, 0, "e"], [4371, 0, "l"], [4372, 0, "f"], [4373, 0, "}"], [4343, 0, " "], [4344, 0, "\\"], [4345, 0, "e"], [4346, 0, "x"], [4347, 0, "i"], [4348, 0, "s"], [4349, 0, "t"], [4350, 0, "s"], [4351, 0, " "], [4352, 0, "p"], [4353, 0, "."], [4354, 0, " "], [4358, 1], [4357, 1], [4356, 1], [4355, 1], [4354, 1], [4353, 1], [4352, 1], [4351, 1], [4350, 1], [4349, 1], [4348, 1], [4347, 1], [4346, 1], [4345, 1], [4344, 1], [4343, 1], [4342, 1], [4341, 1], [4340, 1], [4339, 1], [4338, 1], [4337, 1], [4336, 1], [4335, 1], [4334, 1], [4333, 1], [4332, 1], [4331, 1], [4330, 1], [4329, 1], [4328, 1], [4327, 1], [4326, 1], [4325, 1], [4324, 1], [4323, 1], [4322, 1], [4321, 1], [4320, 1], [4319, 1], [4318, 1], [4317, 1], [4316, 1], [4315, 1], [4314, 1], [4313, 1], [4312, 1], [4311, 1], [4310, 1], [4309, 1], [4308, 1], [4307, 1], [4306, 1], [4306, 0, " "], [4307, 0, "="], [4308, 0, " "], [4309, 0, "A"], [4310, 0, "_"], [4311, 0, "p"], [4312, 0, "("], [4313, 0, "\\"], [4314, 0, "m"], [4315, 0, "a"], [4316, 0, "t"], [4317, 0, "h"], [4318, 0, "s"], [4319, 0, "f"], [4320, 0, "{"], [4321, 0, "c"], [4322, 0, "t"], [4323, 0, "r"], [4324, 0, "}"], [4325, 0, ")"], [4352, 1], [4351, 1], [4350, 1], [4349, 1], [4348, 1], [4347, 1], [4346, 1], [4345, 1], [4344, 1], [4343, 1], [4342, 1], [4341, 1], [4340, 1], [4339, 1], [4757, 0, "~"], [4757, 1], [8448, 1], [8448, 0, ","], [8357, 1], [8357, 0, ","], [8174, 1], [8174, 0, ","], [8054, 1], [8054, 0, ","], [7674, 1], [7674, 0, ","], [7575, 1], [7575, 0, ","], [7203, 1], [7203, 0, ","], [7111, 1], [7111, 0, ","], [6951, 1], [6951, 0, ","], [7004, 1], [7004, 0, ","], [6822, 1], [6822, 0, ","], [6760, 1], [6760, 0, ","], [6791, 1], [6791, 0, ","], [6646, 1], [6646, 0, ","], [6592, 1], [6592, 0, ","], [6462, 1], [6462, 0, ","], [6400, 1], [6400, 0, ","], [6431, 1], [6431, 0, ","], [6288, 1], [6288, 0, ","], [6254, 1], [6254, 0, ","], [6141, 1], [6141, 0, ","], [6080, 1], [6080, 0, ","], [6081, 0, " "], [6111, 1], [6111, 0, ","], [5785, 1], [5785, 0, ","], [5703, 1], [5703, 0, ","], [5364, 1], [5364, 0, ","], [5188, 1], [5188, 0, ","], [5026, 1], [5026, 0, ","], [4802, 1], [4802, 0, ","], [4596, 1], [4596, 0, ","], [4410, 1], [4410, 0, ","], [4470, 1], [4470, 0, ","], [8603, 0, "\n"], [8604, 0, "\n"], [8604, 1], [8603, 1], [1079, 0, "\n"], [1080, 0, "%"], [1081, 0, "\n"], [1082, 0, "%"], [1083, 0, " "], [1084, 0, "L"], [1085, 0, "o"], [1086, 0, "o"], [1087, 0, "k"], [1088, 0, " "], [1089, 0, "a"], [1090, 0, "t"], [1091, 0, " "], [1092, 0, "K"], [1093, 0, "C"], [1094, 0, "'"], [1095, 0, "s"], [1096, 0, " "], [1097, 0, "Q"], [1098, 0, "u"], [1099, 0, "e"], [1100, 0, "l"], [1101, 0, "e"], [1102, 0, "a"], [1103, 0, " "], [1104, 0, "("], [1105, 0, "a"], [1106, 0, "l"], [1107, 0, "s"], [1108, 0, "o"], [1109, 0, " "], [1110, 0, "i"], [1111, 0, "n"], [1112, 0, " "], [1113, 0, "D"], [1114, 0, "E"], [1115, 0, "B"], [1116, 0, "u"], [1117, 0, "l"], [1118, 0, "l"], [1119, 0, " "], [1120, 0, "M"], [1121, 0, "a"], [1122, 0, "r"], [1123, 0, "c"], [1124, 0, "h"], [1125, 0, ")"], [1125, 0, " "], [1126, 0, "i"], [1127, 0, "s"], [1128, 0, "s"], [1129, 0, "u"], [1130, 0, "e"], [1166, 0, "\n"], [1167, 0, "\\"], [1168, 0, "s"], [1169, 0, "u"], [1170, 0, "b"], [1171, 0, "s"], [1172, 0, "e"], [1173, 0, "c"], [1174, 0, "t"], [1175, 0, "i"], [1176, 0, "o"], [1177, 0, "n"], [1178, 0, "{"], [1179, 0, "L"], [1180, 0, "a"], [1181, 0, "m"], [1182, 0, "p"], [1183, 0, "o"], [1184, 0, "r"], [1185, 0, "t"], [1186, 0, " "], [1187, 0, "t"], [1188, 0, "i"], [1189, 0, "m"], [1190, 0, "e"], [1191, 0, "s"], [1192, 0, "t"], [1193, 0, "a"], [1194, 0, "m"], [1195, 0, "p"], [1196, 0, "s"], [1197, 0, "}"], [1198, 0, "\n"], [1165, 0, "\n"], [1166, 0, "\n"], [1167, 0, "W"], [1168, 0, "e"], [1169, 0, " "], [1170, 0, "g"], [1171, 0, "o"], [1172, 0, " "], [1173, 0, "a"], [1174, 0, "b"], [1175, 0, "o"], [1176, 0, "u"], [1177, 0, "t"], [1178, 0, " "], [1179, 0, "d"], [1180, 0, "e"], [1181, 0, "f"], [1182, 0, "i"], [1183, 0, "n"], [1184, 0, "i"], [1185, 0, "n"], [1186, 0, "g"], [1187, 0, " "], [1188, 0, "t"], [1189, 0, "h"], [1190, 0, "e"], [1191, 0, " "], [1192, 0, "s"], [1193, 0, "e"], [1194, 0, "m"], [1195, 0, "a"], [1196, 0, "n"], [1197, 0, "t"], [1198, 0, "i"], [1199, 0, "c"], [1200, 0, "s"], [1201, 0, " "], [1202, 0, "f"], [1203, 0, "o"], [1204, 0, "r"], [1205, 0, " "], [1206, 0, "c"], [1207, 0, "o"], [1208, 0, "l"], [1209, 0, "l"], [1210, 0, "a"], [1211, 0, "b"], [1212, 0, "o"], [1213, 0, "r"], [1214, 0, "a"], [1215, 0, "t"], [1216, 0, "i"], [1217, 0, "v"], [1218, 0, "e"], [1219, 0, "l"], [1220, 0, "y"], [1221, 0, " "], [1222, 0, "e"], [1223, 0, "d"], [1224, 0, "i"], [1225, 0, "t"], [1226, 0, "a"], [1227, 0, "b"], [1228, 0, "l"], [1229, 0, "e"], [1230, 0, " "], [1231, 0, "d"], [1232, 0, "a"], [1233, 0, "t"], [1234, 0, "a"], [1235, 0, " "], [1236, 0, "s"], [1237, 0, "t"], [1238, 0, "r"], [1239, 0, "u"], [1240, 0, "c"], [1241, 0, "t"], [1242, 0, "u"], [1243, 0, "r"], [1244, 0, "e"], [1245, 0, "s"], [1246, 0, " "], [1247, 0, "a"], [1248, 0, "s"], [1249, 0, " "], [1250, 0, "f"], [1251, 0, "o"], [1252, 0, "l"], [1253, 0, "l"], [1254, 0, "w"], [1255, 0, "0"], [1255, 1], [1254, 1], [1254, 0, "o"], [1255, 0, "w"], [1256, 0, "s"], [1257, 0, "."], [1258, 0, " "], [1259, 0, "F"], [1260, 0, "i"], [1261, 0, "r"], [1262, 0, "s"], [1263, 0, "t"], [1264, 0, "l"], [1265, 0, "y"], [1266, 0, ","], [1267, 0, " "], [1268, 0, "w"], [1269, 0, "e"], [1270, 0, " "], [1271, 0, "d"], [1272, 0, "e"], [1273, 0, "f"], [1274, 0, "i"], [1275, 0, "n"], [1276, 0, "e"], [1277, 0, " "], [1278, 0, "a"], [1279, 0, " "], [1280, 0, "s"], [1281, 0, "i"], [1282, 0, "m"], [1283, 0, "p"], [1284, 0, "l"], [1285, 0, "e"], [1286, 0, " "], [1287, 0, "c"], [1288, 0, "o"], [1289, 0, "m"], [1290, 0, "m"], [1291, 0, "a"], [1292, 0, "n"], [1293, 0, "d"], [1294, 0, " "], [1295, 0, "l"], [1296, 0, "a"], [1297, 0, "n"], [1298, 0, "g"], [1299, 0, "u"], [1300, 0, "a"], [1301, 0, "g"], [1302, 0, "e"], [1303, 0, " "], [1304, 0, "t"], [1305, 0, "h"], [1306, 0, "a"], [1307, 0, "t"], [1308, 0, " "], [1309, 0, "i"], [1310, 0, "s"], [1311, 0, " "], [1312, 0, "e"], [1313, 0, "x"], [1314, 0, "e"], [1315, 0, "c"], [1316, 0, "u"], [1317, 0, "t"], [1318, 0, "e"], [1319, 0, "d"], [1320, 0, " "], [1321, 0, "l"], [1322, 0, "o"], [1323, 0, "c"], [1324, 0, "a"], [1325, 0, "l"], [1326, 0, "l"], [1327, 0, "y"], [1328, 0, " "], [1329, 0, "o"], [1330, 0, "n"], [1331, 0, " "], [1332, 0, "o"], [1333, 0, "n"], [1334, 0, "e"], [1335, 0, " "], [1336, 0, "o"], [1336, 1], [1335, 1], [1334, 1], [1333, 1], [1332, 1], [1331, 1], [1330, 1], [1329, 1], [1329, 0, "a"], [1330, 0, "t"], [1331, 0, " "], [1332, 0, "a"], [1333, 0, "n"], [1334, 0, "y"], [1335, 0, " "], [1336, 0, "o"], [1337, 0, "f"], [1338, 0, " "], [1339, 0, "t"], [1340, 0, "h"], [1341, 0, "e"], [1342, 0, " "], [1343, 0, "p"], [1344, 0, "e"], [1345, 0, "e"], [1346, 0, "r"], [1347, 0, "s"], [1348, 0, ","], [1349, 0, " "], [1350, 0, "a"], [1351, 0, "n"], [1352, 0, "d"], [1353, 0, " "], [1354, 0, "w"], [1355, 0, "h"], [1356, 0, "i"], [1357, 0, "c"], [1358, 0, "h"], [1359, 0, " "], [1360, 0, "a"], [1361, 0, "l"], [1362, 0, "l"], [1363, 0, "o"], [1364, 0, "w"], [1365, 0, "s"], [1366, 0, " "], [1367, 0, "t"], [1368, 0, "h"], [1369, 0, "e"], [1370, 0, " "], [1371, 0, "l"], [1372, 0, "o"], [1373, 0, "c"], [1374, 0, "a"], [1375, 0, "l"], [1376, 0, " "], [1377, 0, "s"], [1378, 0, "t"], [1379, 0, "a"], [1380, 0, "t"], [1381, 0, "e"], [1382, 0, " "], [1383, 0, "o"], [1384, 0, "f"], [1385, 0, " "], [1386, 0, "t"], [1387, 0, "h"], [1388, 0, "a"], [1389, 0, "t"], [1390, 0, " "], [1391, 0, "p"], [1392, 0, "e"], [1393, 0, "e"], [1394, 0, "r"], [1395, 0, "'"], [1396, 0, "s"], [1397, 0, " "], [1398, 0, "c"], [1399, 0, "o"], [1400, 0, "p"], [1401, 0, "y"], [1402, 0, " "], [1403, 0, "o"], [1404, 0, "f"], [1405, 0, " "], [1406, 0, "t"], [1407, 0, "h"], [1408, 0, "e"], [1409, 0, " "], [1410, 0, "d"], [1411, 0, "o"], [1412, 0, "c"], [1413, 0, "u"], [1414, 0, "m"], [1415, 0, "e"], [1416, 0, "n"], [1417, 0, "t"], [1418, 0, " "], [1419, 0, "t"], [1420, 0, "o"], [1421, 0, " "], [1422, 0, "b"], [1423, 0, "e"], [1424, 0, " "], [1425, 0, "q"], [1426, 0, "u"], [1427, 0, "e"], [1428, 0, "r"], [1429, 0, "i"], [1430, 0, "e"], [1431, 0, "d"], [1432, 0, " "], [1433, 0, "a"], [1434, 0, "n"], [1435, 0, "d"], [1436, 0, " "], [1437, 0, "m"], [1438, 0, "o"], [1439, 0, "d"], [1440, 0, "i"], [1441, 0, "f"], [1442, 0, "i"], [1443, 0, "e"], [1444, 0, "d"], [1445, 0, "."], [1446, 0, " "], [1447, 0, "P"], [1448, 0, "e"], [1449, 0, "r"], [1450, 0, "f"], [1451, 0, "o"], [1452, 0, "r"], [1453, 0, "m"], [1454, 0, "i"], [1455, 0, "n"], [1456, 0, "g"], [1457, 0, " "], [1458, 0, "q"], [1459, 0, "u"], [1460, 0, "e"], [1461, 0, "r"], [1462, 0, "i"], [1463, 0, "e"], [1464, 0, "s"], [1465, 0, " "], [1465, 1], [1464, 1], [1463, 1], [1462, 1], [1461, 1], [1460, 1], [1459, 1], [1458, 1], [1458, 0, "r"], [1459, 0, "e"], [1460, 0, "a"], [1461, 0, "d"], [1462, 0, "-"], [1463, 0, "o"], [1464, 0, "n"], [1465, 0, "l"], [1466, 0, "y"], [1467, 0, " "], [1468, 0, "q"], [1469, 0, "u"], [1470, 0, "e"], [1471, 0, "r"], [1472, 0, "i"], [1473, 0, "e"], [1474, 0, "s"], [1475, 0, " "], [1476, 0, "h"], [1477, 0, "a"], [1478, 0, "s"], [1479, 0, " "], [1480, 0, "n"], [1481, 0, "o"], [1482, 0, " "], [1483, 0, "s"], [1484, 0, "i"], [1485, 0, "d"], [1486, 0, "e"], [1487, 0, "-"], [1488, 0, "e"], [1489, 0, "f"], [1490, 0, "f"], [1491, 0, "e"], [1492, 0, "c"], [1493, 0, "t"], [1494, 0, "s"], [1495, 0, ","], [1496, 0, " "], [1497, 0, "b"], [1498, 0, "u"], [1499, 0, "t"], [1500, 0, " "], [1501, 0, "p"], [1502, 0, "e"], [1503, 0, "r"], [1503, 1], [1502, 1], [1501, 1], [1501, 0, "m"], [1502, 0, "o"], [1503, 0, "d"], [1504, 0, "i"], [1505, 0, "f"], [1506, 0, "y"], [1507, 0, "i"], [1508, 0, "n"], [1509, 0, "g"], [1510, 0, " "], [1511, 0, "t"], [1512, 0, "h"], [1513, 0, "e"], [1514, 0, " "], [1515, 0, "d"], [1516, 0, "o"], [1517, 0, "c"], [1518, 0, "u"], [1519, 0, "m"], [1520, 0, "e"], [1521, 0, "n"], [1522, 0, "t"], [1523, 0, " "], [1524, 0, "h"], [1525, 0, "a"], [1526, 0, "s"], [1527, 0, " "], [1528, 0, "t"], [1529, 0, "h"], [1530, 0, "e"], [1531, 0, " "], [1532, 0, "e"], [1533, 0, "f"], [1534, 0, "f"], [1535, 0, "e"], [1536, 0, "c"], [1537, 0, "t"], [1538, 0, " "], [1539, 0, "o"], [1540, 0, "f"], [1541, 0, " "], [1542, 0, "p"], [1543, 0, "r"], [1544, 0, "o"], [1545, 0, "d"], [1546, 0, "u"], [1547, 0, "c"], [1548, 0, "i"], [1549, 0, "n"], [1550, 0, "g"], [1551, 0, " "], [1552, 0, "\\"], [1553, 0, "e"], [1554, 0, "m"], [1555, 0, "p"], [1556, 0, "h"], [1557, 0, "{"], [1558, 0, "o"], [1559, 0, "p"], [1560, 0, "e"], [1561, 0, "r"], [1562, 0, "a"], [1563, 0, "t"], [1564, 0, "i"], [1565, 0, "o"], [1566, 0, "n"], [1567, 0, "s"], [1568, 0, "}"], [1569, 0, " "], [1570, 0, "d"], [1571, 0, "e"], [1572, 0, "s"], [1573, 0, "c"], [1574, 0, "r"], [1575, 0, "i"], [1576, 0, "b"], [1577, 0, "i"], [1578, 0, "n"], [1579, 0, "g"], [1580, 0, " "], [1581, 0, "t"], [1582, 0, "h"], [1583, 0, "e"], [1584, 0, " "], [1585, 0, "m"], [1586, 0, "u"], [1587, 0, "t"], [1588, 0, "a"], [1589, 0, "t"], [1590, 0, "i"], [1591, 0, "o"], [1592, 0, "n"], [1593, 0, "."], [1594, 0, " "], [1595, 0, "T"], [1596, 0, "h"], [1597, 0, "o"], [1598, 0, "s"], [1599, 0, "e"], [1600, 0, " "], [1601, 0, "o"], [1602, 0, "p"], [1603, 0, "e"], [1604, 0, "r"], [1605, 0, "a"], [1606, 0, "t"], [1607, 0, "i"], [1608, 0, "o"], [1609, 0, "n"], [1610, 0, "s"], [1611, 0, " "], [1612, 0, "a"], [1613, 0, "r"], [1614, 0, "e"], [1615, 0, " "], [1616, 0, "a"], [1617, 0, "p"], [1618, 0, "p"], [1619, 0, "l"], [1620, 0, "i"], [1621, 0, "e"], [1622, 0, "d"], [1623, 0, " "], [1624, 0, "t"], [1625, 0, "o"], [1626, 0, " "], [1627, 0, "t"], [1628, 0, "h"], [1629, 0, "e"], [1630, 0, " "], [1631, 0, "l"], [1632, 0, "o"], [1633, 0, "c"], [1634, 0, "a"], [1635, 0, "l"], [1636, 0, " "], [1637, 0, "c"], [1638, 0, "o"], [1639, 0, "p"], [1640, 0, "y"], [1641, 0, " "], [1642, 0, "o"], [1643, 0, "f"], [1644, 0, " "], [1645, 0, "t"], [1646, 0, "h"], [1647, 0, "e"], [1648, 0, " "], [1649, 0, "d"], [1650, 0, "o"], [1651, 0, "c"], [1652, 0, "u"], [1653, 0, "m"], [1654, 0, "e"], [1655, 0, "n"], [1656, 0, "t"], [1657, 0, " "], [1657, 1], [1657, 0, ","], [1658, 0, " "], [1659, 0, "a"], [1660, 0, "n"], [1661, 0, "d"], [1662, 0, " "], [1663, 0, "a"], [1664, 0, "l"], [1665, 0, "s"], [1666, 0, "o"], [1667, 0, " "], [1668, 0, "e"], [1669, 0, "n"], [1670, 0, "q"], [1671, 0, "u"], [1672, 0, "e"], [1673, 0, "u"], [1674, 0, "e"], [1675, 0, "d"], [1676, 0, " "], [1677, 0, "f"], [1678, 0, "o"], [1679, 0, "r"], [1680, 0, " "], [1681, 0, "b"], [1682, 0, "r"], [1683, 0, "o"], [1684, 0, "a"], [1685, 0, "d"], [1686, 0, "c"], [1687, 0, "a"], [1688, 0, "s"], [1689, 0, "t"], [1690, 0, "i"], [1691, 0, "n"], [1692, 0, "g"], [1693, 0, " "], [1694, 0, "t"], [1695, 0, "o"], [1696, 0, " "], [1697, 0, "o"], [1698, 0, "t"], [1699, 0, "h"], [1700, 0, "e"], [1701, 0, "r"], [1702, 0, " "], [1703, 0, "p"], [1704, 0, "e"], [1705, 0, "e"], [1706, 0, "r"], [1707, 0, "s"], [1708, 0, "."], [1709, 0, " "], [1710, 0, "\n"], [1711, 0, "\n"], [1712, 0, "\\"], [1713, 0, "b"], [1714, 0, "e"], [1715, 0, "g"], [1716, 0, "i"], [1717, 0, "n"], [1718, 0, "{"], [1719, 0, "f"], [1720, 0, "i"], [1721, 0, "g"], [1722, 0, "u"], [1723, 0, "r"], [1724, 0, "e"], [1725, 0, "}"], [1726, 0, "\n"], [1727, 0, "\\"], [1728, 0, "e"], [1729, 0, "n"], [1730, 0, "d"], [1731, 0, "{"], [1732, 0, "f"], [1733, 0, "i"], [1734, 0, "g"], [1735, 0, "u"], [1736, 0, "r"], [1737, 0, "e"], [1738, 0, "}"], [1726, 0, "\n"], [1727, 0, "\\"], [1728, 0, "c"], [1729, 0, "a"], [1730, 0, "p"], [1731, 0, "t"], [1732, 0, "i"], [1733, 0, "o"], [1734, 0, "n"], [1735, 0, "{"], [1736, 0, "S"], [1737, 0, "y"], [1738, 0, "n"], [1739, 0, "t"], [1740, 0, "a"], [1741, 0, "x"], [1742, 0, " "], [1743, 0, "o"], [1744, 0, "f"], [1745, 0, " "], [1746, 0, "c"], [1747, 0, "o"], [1748, 0, "m"], [1749, 0, "m"], [1750, 0, "a"], [1751, 0, "n"], [1752, 0, "d"], [1753, 0, " "], [1754, 0, "l"], [1755, 0, "a"], [1756, 0, "n"], [1757, 0, "g"], [1758, 0, "u"], [1759, 0, "a"], [1760, 0, "g"], [1761, 0, "e"], [1762, 0, " "], [1763, 0, "f"], [1764, 0, "o"], [1765, 0, "r"], [1766, 0, " "], [1767, 0, "l"], [1768, 0, "o"], [1769, 0, "c"], [1770, 0, "a"], [1771, 0, "l"], [1772, 0, "l"], [1773, 0, "y"], [1774, 0, " "], [1774, 1], [1773, 1], [1772, 1], [1771, 1], [1770, 1], [1769, 1], [1768, 1], [1767, 1], [1767, 0, "q"], [1768, 0, "u"], [1769, 0, "e"], [1770, 0, "r"], [1771, 0, "y"], [1772, 0, "i"], [1773, 0, "n"], [1774, 0, "g"], [1775, 0, " "], [1776, 0, "a"], [1777, 0, "n"], [1778, 0, "d"], [1779, 0, " "], [1780, 0, "m"], [1781, 0, "o"], [1782, 0, "d"], [1783, 0, "i"], [1784, 0, "f"], [1785, 0, "y"], [1786, 0, "i"], [1787, 0, "n"], [1788, 0, "g"], [1789, 0, " "], [1790, 0, "a"], [1791, 0, " "], [1792, 0, "d"], [1793, 0, "o"], [1794, 0, "c"], [1795, 0, "u"], [1796, 0, "m"], [1797, 0, "e"], [1798, 0, "n"], [1799, 0, "t"], [1800, 0, "}"], [1801, 0, "\\"], [1802, 0, "l"], [1803, 0, "a"], [1804, 0, "b"], [1805, 0, "e"], [1806, 0, "l"], [1807, 0, "{"], [1808, 0, "f"], [1809, 0, "i"], [1810, 0, "g"], [1811, 0, ":"], [1812, 0, "l"], [1813, 0, "o"], [1814, 0, "c"], [1815, 0, "a"], [1816, 0, "l"], [1817, 0, "-"], [1818, 0, "s"], [1819, 0, "y"], [1820, 0, "n"], [1821, 0, "t"], [1822, 0, "a"], [1823, 0, "x"], [1824, 0, "}"], [1726, 0, "\n"], [1727, 0, "\\"], [1728, 0, "b"], [1729, 0, "e"], [1730, 0, "g"], [1731, 0, "i"], [1732, 0, "n"], [1733, 0, "{"], [1734, 0, "t"], [1735, 0, "a"], [1736, 0, "b"], [1737, 0, "u"], [1738, 0, "l"], [1739, 0, "a"], [1740, 0, "r"], [1741, 0, "}"], [1742, 0, "\n"], [1743, 0, "\\"], [1744, 0, "e"], [1745, 0, "n"], [1746, 0, "d"], [1747, 0, "{"], [1748, 0, "t"], [1749, 0, "a"], [1750, 0, "b"], [1751, 0, "u"], [1752, 0, "l"], [1753, 0, "a"], [1754, 0, "r"], [1755, 0, "}"], [1742, 0, "\n"], [1743, 0, "C"], [1744, 0, "M"], [1745, 0, "D"], [1746, 0, " "], [1747, 0, "&"], [1748, 0, " "], [1749, 0, ":"], [1750, 0, ":"], [1751, 0, "="], [1752, 0, " "], [1753, 0, "&"], [1754, 0, " "], [1755, 0, "l"], [1755, 1], [1755, 0, "\\"], [1756, 0, "m"], [1757, 0, "a"], [1757, 1], [1756, 1], [1756, 0, "t"], [1757, 0, "e"], [1758, 0, "x"], [1759, 0, "t"], [1760, 0, "s"], [1761, 0, "f"], [1762, 0, "{"], [1763, 0, "l"], [1764, 0, "e"], [1765, 0, "t"], [1766, 0, "}"], [1767, 0, " "], [1768, 0, "$"], [1769, 0, "x"], [1770, 0, "$"], [1771, 0, " "], [1772, 0, "="], [1773, 0, " "], [1774, 0, "E"], [1775, 0, "X"], [1776, 0, "P"], [1777, 0, "R"], [1778, 0, " "], [1779, 0, "&"], [1780, 0, " "], [1781, 0, "$"], [1782, 0, "x"], [1783, 0, " "], [1784, 0, "\\"], [1785, 0, "i"], [1786, 0, "n"], [1787, 0, " "], [1788, 0, "\\"], [1789, 0, "m"], [1790, 0, "a"], [1791, 0, "t"], [1792, 0, "h"], [1793, 0, "r"], [1794, 0, "m"], [1795, 0, "{"], [1796, 0, "V"], [1797, 0, "A"], [1798, 0, "R"], [1799, 0, "}"], [1800, 0, "$"], [1742, 0, "{"], [1743, 0, "r"], [1744, 0, "c"], [1745, 0, "l"], [1746, 0, "l"], [1747, 0, "}"], [1807, 0, " "], [1808, 0, "\\"], [1809, 0, "\\"], [1810, 0, "\n"], [1811, 0, "&"], [1812, 0, " "], [1813, 0, "|"], [1814, 0, " "], [1815, 0, "&"], [1816, 0, " "], [1817, 0, "E"], [1818, 0, "X"], [1819, 0, "P"], [1820, 0, "R"], [1821, 0, " "], [1822, 0, "="], [1823, 0, " "], [1824, 0, "$"], [1825, 0, "v"], [1826, 0, "$"], [1827, 0, " "], [1828, 0, "&"], [1829, 0, " "], [1830, 0, "$"], [1831, 0, "v"], [1832, 0, " "], [1833, 0, "\\"], [1834, 0, "i"], [1835, 0, "n"], [1836, 0, " "], [1837, 0, "V"], [1838, 0, "A"], [1839, 0, "L"], [1837, 0, "\\"], [1838, 0, "m"], [1839, 0, "a"], [1840, 0, "t"], [1841, 0, "h"], [1842, 0, "r"], [1843, 0, "m"], [1844, 0, "{"], [1848, 0, "}"], [1849, 0, "$"], [1850, 0, " "], [1851, 0, "\\"], [1852, 0, "\\"], [1813, 0, "|"], [1813, 1], [1813, 0, "\\"], [1813, 1], [1813, 0, "$"], [1815, 0, "$"], [1855, 0, "\n"], [1856, 0, "^"], [1856, 1], [1856, 0, "&"], [1857, 0, " "], [1858, 0, "$"], [1859, 0, "|"], [1860, 0, "$"], [1861, 0, " "], [1862, 0, "&"], [1863, 0, " "], [1864, 0, "C"], [1865, 0, "M"], [1866, 0, "D"], [1867, 0, ";"], [1868, 0, " "], [1869, 0, "C"], [1870, 0, "M"], [1871, 0, "D"], [1872, 0, " "], [1873, 0, "\\"], [1874, 0, "\\"], [1875, 0, "\n"], [1876, 0, "E"], [1877, 0, "X"], [1878, 0, "P"], [1879, 0, "R"], [1880, 0, " "], [1881, 0, "&"], [1882, 0, " "], [1883, 0, ":"], [1884, 0, ":"], [1885, 0, "="], [1886, 0, " "], [1887, 0, "&"], [1888, 0, " "], [1889, 0, "\\"], [1890, 0, "t"], [1891, 0, "e"], [1892, 0, "x"], [1893, 0, "t"], [1894, 0, "s"], [1895, 0, "f"], [1896, 0, "{"], [1897, 0, "d"], [1898, 0, "o"], [1899, 0, "c"], [1900, 0, "}"], [1901, 0, " "], [1902, 0, "\\"], [1903, 0, "\\"], [1904, 0, "\n"], [1905, 0, "&"], [1906, 0, " "], [1907, 0, "$"], [1908, 0, "|"], [1909, 0, "$"], [1910, 0, " "], [1911, 0, "E"], [1912, 0, "X"], [1913, 0, "P"], [1914, 0, "R"], [1915, 0, "."], [1916, 0, "\\"], [1917, 0, "m"], [1918, 0, "a"], [1919, 0, "t"], [1920, 0, "h"], [1921, 0, "s"], [1922, 0, "f"], [1923, 0, "{"], [1924, 0, "g"], [1925, 0, "e"], [1926, 0, "t"], [1927, 0, "}"], [1928, 0, "("], [1920, 1], [1919, 1], [1918, 1], [1917, 1], [1917, 0, "t"], [1918, 0, "e"], [1919, 0, "x"], [1920, 0, "t"], [1929, 0, "\\"], [1930, 0, "t"], [1931, 0, "e"], [1932, 0, "x"], [1933, 0, "t"], [1934, 0, "i"], [1935, 0, "t"], [1936, 0, "{"], [1937, 0, "k"], [1938, 0, "e"], [1939, 0, "y"], [1940, 0, "}"], [1941, 0, ")"], [1942, 0, " "], [1943, 0, "&"], [1944, 0, " "], [1945, 0, "\\"], [1946, 0, "\\"], [1946, 1], [1945, 1], [1945, 0, "$"], [1946, 0, "\\"], [1947, 0, "m"], [1948, 0, "a"], [1949, 0, "t"], [1950, 0, "h"], [1951, 0, "i"], [1952, 0, "t"], [1953, 0, "{"], [1954, 0, "k"], [1955, 0, "e"], [1956, 0, "y"], [1957, 0, "}"], [1958, 0, " "], [1959, 0, "\\"], [1960, 0, "i"], [1961, 0, "n"], [1962, 0, " "], [1963, 0, "\\"], [1964, 0, "m"], [1965, 0, "a"], [1966, 0, "t"], [1967, 0, "h"], [1968, 0, "r"], [1969, 0, "m"], [1970, 0, " "], [1970, 1], [1970, 0, "{"], [1971, 0, "V"], [1972, 0, "A"], [1973, 0, "L"], [1974, 0, "}"], [1975, 0, "$"], [1976, 0, " "], [1977, 0, "\\"], [1978, 0, "\\"], [1979, 0, "\n"], [1980, 0, "&"], [1981, 0, " "], [1982, 0, "$"], [1983, 0, "|"], [1984, 0, "$"], [1985, 0, " "], [1986, 0, "E"], [1987, 0, "X"], [1988, 0, "P"], [1989, 0, "R"], [1990, 0, "."], [1991, 0, "\\"], [1992, 0, "t"], [1993, 0, "e"], [1994, 0, "x"], [1995, 0, "t"], [1996, 0, "s"], [1997, 0, "f"], [1998, 0, "{"], [1999, 0, "n"], [2000, 0, "e"], [2001, 0, "x"], [2002, 0, "t"], [2003, 0, "}"], [2004, 0, " "], [2005, 0, "\\"], [2006, 0, "\\"], [2007, 0, "\n"], [2008, 0, "&"], [2009, 0, " "], [2010, 0, "$"], [2011, 0, "|"], [2012, 0, "$"], [2013, 0, " "], [2014, 0, "E"], [2015, 0, "X"], [2016, 0, "P"], [2017, 0, "R"], [2018, 0, "."], [2019, 0, "\\"], [2019, 1], [2019, 0, "\\"], [2020, 0, "t"], [2021, 0, "e"], [2022, 0, "x"], [2023, 0, "t"], [2024, 0, "s"], [2025, 0, "f"], [2026, 0, "{"], [2027, 0, "v"], [2028, 0, "a"], [2029, 0, "l"], [2030, 0, "u"], [2031, 0, "e"], [2032, 0, "s"], [2033, 0, "}"], [2034, 0, "\n"], [2034, 1], [1855, 0, "\n"], [1856, 0, "^"], [1857, 0, " "], [1857, 1], [1856, 1], [1856, 0, "&"], [1857, 0, " "], [1858, 0, "$"], [1859, 0, "|"], [1860, 0, "$"], [1861, 0, " "], [1862, 0, "&"], [1863, 0, " "], [1864, 0, "\\"], [1865, 0, "m"], [1866, 0, "a"], [1867, 0, "t"], [1868, 0, "h"], [1869, 0, "s"], [1870, 0, "f"], [1871, 0, "{"], [1872, 0, "y"], [1873, 0, "i"], [1874, 0, "e"], [1875, 0, "l"], [1876, 0, "d"], [1877, 0, "}"], [1878, 0, " "], [1879, 0, "\\"], [1880, 0, "\\"], [1868, 1], [1867, 1], [1866, 1], [1865, 1], [1865, 0, "t"], [1866, 0, "e"], [1867, 0, "x"], [1868, 0, "t"], [1937, 0, "&"], [1938, 0, " "], [2014, 0, "&"], [2015, 0, " "], [2044, 0, "&"], [2045, 0, " "], [1901, 0, "\\"], [1902, 0, "v"], [1903, 0, "s"], [1904, 0, "p"], [1905, 0, "a"], [1906, 0, "c"], [1907, 0, "e"], [1908, 0, "{"], [1909, 0, "1"], [1910, 0, "0"], [1911, 0, "p"], [1912, 0, "t"], [1913, 0, "}"], [1912, 1], [1911, 1], [1910, 1], [1910, 0, "e"], [1911, 0, "m"], [1913, 0, "\\"], [1914, 0, "\\"], [1900, 1], [1899, 1], [2019, 0, "\n"], [2020, 0, "&"], [2021, 0, " "], [2022, 0, "$"], [2023, 0, "|"], [2024, 0, "$"], [2025, 0, " "], [2026, 0, "&"], [2027, 0, " "], [2028, 0, "E"], [2029, 0, "X"], [2030, 0, "P"], [2031, 0, "R"], [2032, 0, "."], [2033, 0, "\\"], [2034, 0, "t"], [2035, 0, "e"], [2036, 0, "x"], [2037, 0, "t"], [2038, 0, "s"], [2039, 0, "f"], [2040, 0, "{"], [2041, 0, "d"], [2042, 0, "e"], [2043, 0, "l"], [2044, 0, "K"], [2045, 0, "e"], [2046, 0, "y"], [2047, 0, "}"], [2048, 0, " "], [2049, 0, "\\"], [2050, 0, "\\"], [2081, 0, "\n"], [2082, 0, "&"], [2083, 0, " "], [2084, 0, "$"], [2085, 0, "|"], [2086, 0, "$"], [2087, 0, " "], [2088, 0, "&"], [2089, 0, " "], [2090, 0, "E"], [2091, 0, "X"], [2092, 0, "P"], [2093, 0, "R"], [2094, 0, "."], [2095, 0, "\\"], [2096, 0, "t"], [2097, 0, "e"], [2098, 0, "x"], [2099, 0, "t"], [2100, 0, "s"], [2101, 0, "f"], [2102, 0, "{"], [2103, 0, "d"], [2104, 0, "e"], [2105, 0, "l"], [2043, 1], [2042, 1], [2041, 1], [2041, 0, "r"], [2042, 0, "m"], [2104, 1], [2103, 1], [2102, 1], [2102, 0, "r"], [2103, 0, "m"], [2104, 0, "E"], [2105, 0, "l"], [2106, 0, "e"], [2107, 0, "m"], [2108, 0, "}"], [2109, 0, " "], [2110, 0, "\\"], [2111, 0, "\\"], [2141, 0, " "], [2142, 0, "\\"], [2143, 0, "\\"], [2144, 0, "\n"], [2145, 0, "&"], [2146, 0, " "], [2147, 0, "$"], [2148, 0, "|"], [2149, 0, "$"], [2150, 0, " "], [2151, 0, "&"], [2152, 0, " "], [2153, 0, "$"], [2154, 0, "x"], [2155, 0, "$"], [2156, 0, " "], [2157, 0, "&"], [2158, 0, " "], [2159, 0, "$"], [2160, 0, "x"], [2161, 0, " "], [2162, 0, "\\"], [2163, 0, "i"], [2164, 0, "n"], [2165, 0, " "], [2166, 0, "\\"], [2167, 0, "m"], [2168, 0, "a"], [2169, 0, "t"], [2170, 0, "h"], [2171, 0, "r"], [2172, 0, "m"], [2173, 0, "{"], [2174, 0, "V"], [2175, 0, "A"], [2176, 0, "R"], [2177, 0, "}"], [2178, 0, "$"], [2179, 0, " "], [2180, 0, "\\"], [2181, 0, "v"], [2182, 0, "s"], [2183, 0, "p"], [2184, 0, "a"], [2185, 0, "c"], [2186, 0, "e"], [2187, 0, "{"], [2188, 0, "1"], [2189, 0, "e"], [2190, 0, "m"], [2191, 0, "}"], [2192, 0, "\\"], [2193, 0, "\\"], [2194, 0, "\n"], [2195, 0, "V"], [2196, 0, "A"], [2197, 0, "R"], [2198, 0, " "], [2199, 0, "&"], [2200, 0, " "], [2201, 0, ":"], [2202, 0, ":"], [2203, 0, "="], [2204, 0, " "], [2205, 0, "&"], [2206, 0, " "], [2207, 0, "$"], [2208, 0, "{"], [2209, 0, "x"], [2210, 0, "_"], [2211, 0, "1"], [2212, 0, ","], [2213, 0, " "], [2214, 0, "x"], [2215, 0, "_"], [2216, 0, "2"], [2217, 0, ","], [2218, 0, " "], [2219, 0, "\\"], [2220, 0, "d"], [2221, 0, "o"], [2222, 0, "t"], [2223, 0, "s"], [2224, 0, "}"], [2225, 0, "$"], [2226, 0, "\n"], [2227, 0, "V"], [2228, 0, "A"], [2229, 0, "L"], [2230, 0, " "], [2231, 0, "&"], [2232, 0, " "], [2233, 0, ":"], [2234, 0, ":"], [2235, 0, "="], [2236, 0, " "], [2237, 0, "&"], [2238, 0, " "], [2239, 0, "\\"], [2240, 0, "m"], [2241, 0, "a"], [2242, 0, "t"], [2243, 0, "h"], [2244, 0, "b"], [2245, 0, "b"], [2239, 0, "$"], [2247, 0, "{"], [2248, 0, "N"], [2249, 0, "}"], [2250, 0, " "], [2251, 0, "\\"], [2252, 0, "c"], [2253, 0, "u"], [2254, 0, "p"], [2255, 0, " "], [2256, 0, "\\"], [2257, 0, "m"], [2258, 0, "a"], [2259, 0, "t"], [2260, 0, "h"], [2261, 0, "r"], [2262, 0, "m"], [2263, 0, "{"], [2264, 0, "S"], [2265, 0, "t"], [2266, 0, "r"], [2267, 0, "i"], [2268, 0, "n"], [2269, 0, "g"], [2270, 0, "}"], [2271, 0, "$"], [2226, 0, " "], [2227, 0, "\\"], [2228, 0, "\\"], [116, 0, "\n"], [117, 0, "\\"], [118, 0, "u"], [119, 0, "s"], [120, 0, "e"], [121, 0, "p"], [122, 0, "a"], [123, 0, "c"], [124, 0, "k"], [125, 0, "a"], [126, 0, "g"], [127, 0, "e"], [128, 0, "{"], [129, 0, "a"], [130, 0, "m"], [131, 0, "s"], [132, 0, "s"], [133, 0, "y"], [134, 0, "m"], [135, 0, "b"], [136, 0, "}"], [137, 0, " "], [138, 0, "%"], [139, 0, " "], [140, 0, "m"], [141, 0, "a"], [142, 0, "t"], [143, 0, "h"], [144, 0, "b"], [145, 0, "b"], [2257, 0, "\\"], [2258, 0, "v"], [2259, 0, "s"], [2260, 0, "p"], [2261, 0, "a"], [2262, 0, "c"], [2263, 0, "e"], [2264, 0, "{"], [2265, 0, "0"], [2266, 0, "."], [2267, 0, "5"], [2268, 0, "e"], [2269, 0, "m"], [2270, 0, "}"], [2218, 1], [2218, 0, "0"], [2219, 0, "."], [2220, 0, "5"], [1937, 1], [1937, 0, "0"], [1938, 0, "."], [1939, 0, "5"], [2302, 0, "\\"], [2303, 0, ";"], [2308, 0, "\\"], [2309, 0, ";"], [1885, 0, "\n"], [1886, 0, "&"], [1887, 0, " "], [1888, 0, "$"], [1889, 0, "|"], [1890, 0, "$"], [1891, 0, " "], [1892, 0, "&"], [1893, 0, " "], [1894, 0, "E"], [1895, 0, "X"], [1896, 0, "P"], [1897, 0, "R"], [1898, 0, "."], [1899, 0, "\\"], [1900, 0, "m"], [1901, 0, "a"], [1901, 1], [1900, 1], [1900, 0, "t"], [1901, 0, "e"], [1902, 0, "x"], [1903, 0, "t"], [1904, 0, "s"], [1905, 0, "f"], [1906, 0, "{"], [1907, 0, "i"], [1908, 0, "n"], [1909, 0, "s"], [1910, 0, "e"], [1911, 0, "r"], [1912, 0, "t"], [1913, 0, "A"], [1914, 0, "f"], [1915, 0, "t"], [1916, 0, "e"], [1917, 0, "r"], [1918, 0, "}"], [1919, 0, "("], [1917, 1], [1916, 1], [1915, 1], [1914, 1], [1913, 1], [1894, 0, "$"], [1895, 0, "\\"], [1896, 0, "m"], [1897, 0, "a"], [1898, 0, "t"], [1899, 0, "h"], [1900, 0, "r"], [1901, 0, "m"], [1902, 0, "{"], [1907, 0, "}"], [1910, 1], [1910, 1], [1910, 1], [1910, 1], [1910, 0, "m"], [1911, 0, "a"], [1912, 0, "t"], [1913, 0, "h"], [1925, 0, "v"], [1926, 0, ")"], [1927, 0, "$"], [1928, 0, " "], [1929, 0, "&"], [1930, 0, " "], [1931, 0, "$"], [1932, 0, "v"], [1933, 0, " "], [1934, 0, "\\"], [1935, 0, "i"], [1936, 0, "n"], [1937, 0, " "], [1938, 0, "\\"], [1939, 0, "m"], [1940, 0, "a"], [1941, 0, "t"], [1942, 0, "h"], [1943, 0, "r"], [1944, 0, "m"], [1945, 0, "{"], [1946, 0, "V"], [1947, 0, "A"], [1948, 0, "L"], [1949, 0, "}"], [1950, 0, "$"], [1951, 0, " "], [1952, 0, "\\"], [1953, 0, "\\"], [1954, 0, "\n"], [1955, 0, "&"], [1956, 0, " "], [1957, 0, "$"], [1957, 1], [1957, 0, "$"], [1958, 0, "|"], [1959, 0, "$"], [1960, 0, " "], [1961, 0, "&"], [1962, 0, " "], [1963, 0, "\\"], [1964, 0, "m"], [1965, 0, "a"], [1966, 0, "t"], [1967, 0, "h"], [1968, 0, "r"], [1969, 0, "m"], [1963, 0, "%"], [1963, 1], [1963, 0, "$"], [1849, 0, "$"], [1850, 0, "\\"], [1851, 0, "m"], [1852, 0, "a"], [1853, 0, "t"], [1854, 0, "h"], [1855, 0, "r"], [1856, 0, "m"], [1857, 0, "{"], [1862, 0, "}"], [1866, 1], [1980, 0, "{"], [1981, 0, "E"], [1982, 0, "X"], [1983, 0, "P"], [1984, 0, "R"], [1985, 0, "}"], [1986, 0, "."], [1987, 0, "\\"], [1988, 0, "m"], [1989, 0, "a"], [1990, 0, "t"], [1991, 0, "h"], [1992, 0, "s"], [1993, 0, "f"], [1994, 0, "{"], [1995, 0, "r"], [1996, 0, "m"], [1997, 0, "K"], [1998, 0, "e"], [1999, 0, "y"], [1999, 1], [1998, 1], [1997, 1], [1996, 1], [1995, 1], [1995, 0, "d"], [1996, 0, "e"], [1997, 0, "l"], [1998, 0, "e"], [1999, 0, "t"], [2000, 0, "e"], [2001, 0, "}"], [2002, 0, " "], [2003, 0, "\\"], [2004, 0, "\\"], [2002, 0, "$"], [2202, 1], [2201, 1], [2200, 1], [2199, 1], [2198, 1], [2197, 1], [2196, 1], [2195, 1], [2194, 1], [2193, 1], [2192, 1], [2191, 1], [2190, 1], [2189, 1], [2188, 1], [2187, 1], [2186, 1], [2185, 1], [2184, 1], [2183, 1], [2182, 1], [2181, 1], [2180, 1], [2179, 1], [2178, 1], [2177, 1], [2176, 1], [2175, 1], [2174, 1], [2173, 1], [2172, 1], [2171, 1], [2171, 0, "\\"], [2233, 1], [2232, 1], [2231, 1], [2230, 1], [2229, 1], [2228, 1], [2227, 1], [2226, 1], [2225, 1], [2224, 1], [2223, 1], [2222, 1], [2221, 1], [2220, 1], [2219, 1], [2218, 1], [2217, 1], [2216, 1], [2215, 1], [2214, 1], [2213, 1], [2212, 1], [2211, 1], [2210, 1], [2209, 1], [2208, 1], [2207, 1], [2206, 1], [2205, 1], [2204, 1], [2203, 1], [2202, 1], [2095, 0, "\n"], [2096, 0, "&"], [2097, 0, " "], [2098, 0, "$"], [2099, 0, "|"], [2100, 0, "$"], [2101, 0, " "], [2102, 0, "&"], [2103, 0, " "], [2104, 0, "$"], [2105, 0, "x"], [2106, 0, "$"], [2107, 0, " "], [2108, 0, "&"], [2109, 0, " "], [2110, 0, "$"], [2111, 0, "x"], [2112, 0, " "], [2113, 0, "\\"], [2114, 0, "i"], [2115, 0, "n"], [2116, 0, " "], [2117, 0, "\\"], [2118, 0, "m"], [2119, 0, "a"], [2120, 0, "t"], [2121, 0, "h"], [2122, 0, "r"], [2123, 0, "m"], [2124, 0, "{"], [2125, 0, "V"], [2126, 0, "A"], [2127, 0, "R"], [2128, 0, "}"], [2129, 0, " "], [2130, 0, "$"], [2130, 1], [2129, 1], [2129, 0, "$"], [2130, 0, " "], [2131, 0, "\\"], [2132, 0, "\\"], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2273, 1], [2270, 0, "\\"], [2271, 0, "v"], [2272, 0, "s"], [2273, 0, "p"], [2274, 0, "a"], [2275, 0, "c"], [2276, 0, "e"], [2277, 0, "{"], [2278, 0, "0"], [2279, 0, "."], [2280, 0, "5"], [2281, 0, "e"], [2282, 0, "m"], [2283, 0, "}"], [2204, 1], [2203, 1], [2202, 1], [2202, 0, "S"], [2203, 0, "t"], [2204, 0, "r"], [2205, 0, "i"], [2206, 0, "n"], [2207, 0, "g"], [2006, 0, "\n"], [2007, 0, "&"], [2008, 0, " "], [2009, 0, "$"], [2010, 0, "|"], [2011, 0, "$"], [2012, 0, " "], [2013, 0, "&"], [2014, 0, " "], [2015, 0, "$"], [2016, 0, "\\"], [2017, 0, "m"], [2018, 0, "a"], [2019, 0, "t"], [2020, 0, "h"], [2021, 0, "r"], [2022, 0, "m"], [2023, 0, "{"], [2024, 0, "E"], [2025, 0, "X"], [2026, 0, "P"], [2027, 0, "R"], [2028, 0, "}"], [2029, 0, "."], [2030, 0, "\\"], [2031, 0, "m"], [2032, 0, "a"], [2033, 0, "t"], [2034, 0, "h"], [2035, 0, "s"], [2036, 0, "f"], [2037, 0, "{"], [2038, 0, "i"], [2039, 0, "n"], [2040, 0, "c"], [2041, 0, "r"], [2042, 0, "}"], [2043, 0, "("], [2044, 0, "n"], [2045, 0, ")"], [2046, 0, "$"], [2047, 0, " "], [2048, 0, "&"], [2049, 0, " "], [2050, 0, "$"], [2051, 0, "n"], [2052, 0, " "], [2053, 0, "\\"], [2054, 0, "i"], [2055, 0, "n"], [2056, 0, " "], [2057, 0, "\\"], [2058, 0, "m"], [2059, 0, "a"], [2060, 0, "t"], [2061, 0, "h"], [2062, 0, "b"], [2063, 0, "b"], [2064, 0, "{"], [2065, 0, "N"], [2066, 0, "}"], [2067, 0, "$"], [2068, 0, " "], [2069, 0, "\\"], [2070, 0, "\\"], [2415, 0, " "], [2416, 0, "n"], [2417, 0, " "], [2418, 0, "&"], [2421, 0, "n"], [2422, 0, " "], [2423, 0, "\\"], [2424, 0, " "], [2424, 1], [2424, 0, "i"], [2425, 0, "n"], [2426, 0, " "], [2461, 1], [2460, 1], [2459, 1], [2458, 1], [2457, 1], [2456, 1], [2455, 1], [2454, 1], [2453, 1], [2452, 1], [2451, 1], [2450, 1], [2449, 1], [2448, 1], [2447, 1], [2446, 1], [2445, 1], [2444, 1], [2443, 1], [2442, 1], [2441, 1], [2440, 1], [2439, 1], [2438, 1], [2437, 1], [2438, 0, "\n"], [2439, 0, "&"], [2440, 0, " "], [2441, 0, "|"], [2441, 1], [2441, 0, "$"], [2442, 0, "|"], [2443, 0, "$"], [2444, 0, " "], [2445, 0, "&"], [2446, 0, " "], [2447, 0, "s"], [2416, 0, "$"], [2418, 0, "$"], [2449, 0, "$"], [2451, 0, "$"], [2452, 0, " "], [2453, 0, "&"], [2454, 0, " "], [2455, 0, "$"], [2456, 0, "s"], [2457, 0, " "], [2458, 0, "\\"], [2459, 0, "i"], [2460, 0, "n"], [2461, 0, " "], [2462, 0, "\\"], [2463, 0, "m"], [2464, 0, "a"], [2465, 0, "t"], [2466, 0, "h"], [2467, 0, "r"], [2468, 0, "m"], [2469, 0, "{"], [2470, 0, "S"], [2471, 0, "t"], [2472, 0, "r"], [2473, 0, "i"], [2474, 0, "n"], [2475, 0, "g"], [2476, 0, "}"], [2477, 0, "$"], [2440, 0, " "], [2441, 0, "\\"], [2442, 0, "\\"], [2481, 0, " "], [2482, 0, "\\"], [2483, 0, "\\"], [2484, 0, "\n"], [2485, 0, "&"], [2486, 0, " "], [2487, 0, "$"], [2488, 0, "|"], [2489, 0, "$"], [2490, 0, " "], [2491, 0, "&"], [2492, 0, " "], [2493, 0, "\\"], [2494, 0, "m"], [2495, 0, "a"], [2495, 1], [2494, 1], [2494, 0, "t"], [2495, 0, "e"], [2496, 0, "x"], [2497, 0, "t"], [2498, 0, "s"], [2499, 0, "f"], [2500, 0, "{"], [2501, 0, "\\"], [2502, 0, "{"], [2503, 0, "\\"], [2504, 0, "}"], [2505, 0, "}"], [2506, 0, " "], [2507, 0, "\\"], [2508, 0, "\\"], [2509, 0, "\n"], [2510, 0, "&"], [2511, 0, " "], [2512, 0, "|"], [2512, 1], [2512, 0, "$"], [2513, 0, "|"], [2514, 0, "$"], [2515, 0, " "], [2516, 0, "&"], [2517, 0, " "], [2518, 0, "\\"], [2519, 0, "t"], [2520, 0, "e"], [2521, 0, "x"], [2522, 0, "t"], [2523, 0, "s"], [2524, 0, "f"], [2525, 0, "{"], [2526, 0, "\\"], [2527, 0, "["], [2528, 0, "\\"], [2529, 0, "]"], [2530, 0, "}"], [2526, 1], [2529, 1], [2528, 1], [2527, 1], [2526, 1], [2525, 1], [2524, 1], [2523, 1], [2522, 1], [2521, 1], [2520, 1], [2519, 1], [2518, 1], [2518, 0, "$"], [2519, 0, "\\"], [2520, 0, "m"], [2521, 0, "a"], [2522, 0, "t"], [2523, 0, "h"], [2524, 0, "s"], [2525, 0, "f"], [2526, 0, "{"], [2527, 0, "["], [2528, 0, "]"], [2529, 0, "}"], [2530, 0, "$"], [2528, 0, "\\"], [2529, 0, ","], [2499, 1], [2498, 1], [2498, 0, "t"], [2499, 0, "t"], [2525, 1], [2524, 1], [2524, 0, "t"], [2525, 0, "t"], [2505, 1], [2504, 1], [2503, 1], [2502, 1], [2501, 1], [2500, 1], [2499, 1], [2498, 1], [2497, 1], [2496, 1], [2495, 1], [2494, 1], [2494, 0, "v"], [2495, 0, "e"], [2496, 0, "r"], [2497, 0, "b"], [2498, 0, "|"], [2499, 0, "{"], [2500, 0, "}"], [2501, 0, "|"], [2528, 1], [2527, 1], [2526, 1], [2525, 1], [2524, 1], [2523, 1], [2522, 1], [2521, 1], [2520, 1], [2519, 1], [2518, 1], [2517, 1], [2516, 1], [2515, 1], [2514, 1], [2513, 1], [2513, 0, " "], [2514, 0, "\n"], [2515, 0, "v"], [2516, 0, "e"], [2517, 0, "r"], [2517, 1], [2516, 1], [2515, 1], [2514, 1], [2514, 0, "\\"], [2515, 0, "v"], [2516, 0, "e"], [2517, 0, "r"], [2518, 0, "b"], [2519, 0, "|"], [2520, 0, "["], [2521, 0, "]"], [2522, 0, "|"], [2452, 0, "\\"], [2453, 0, "v"], [2454, 0, "e"], [2455, 0, "r"], [2456, 0, "b"], [2457, 0, "|"], [2458, 0, "\""], [2459, 0, "|"], [2460, 0, " "], [2464, 0, " "], [2465, 0, "\\"], [2466, 0, "v"], [2467, 0, "e"], [2468, 0, "r"], [2469, 0, "b"], [2470, 0, "|"], [2471, 0, "\""], [2472, 0, "|"], [2459, 0, "s"], [2460, 0, "t"], [2461, 0, "r"], [2462, 0, "|"], [2462, 1], [2462, 0, "\""], [2465, 1], [2465, 1], [2465, 1], [2465, 1], [2465, 1], [2465, 1], [2465, 1], [2465, 1], [2465, 1], [2465, 1], [2465, 1], [2465, 1], [2465, 1], [2468, 0, "\\"], [2469, 0, "m"], [2470, 0, "a"], [2471, 0, "t"], [2472, 0, "h"], [2473, 0, "t"], [2474, 0, "t"], [2475, 0, "{"], [2477, 0, "t"], [2478, 0, "r"], [2479, 0, "}"], [2669, 0, "\n"], [2670, 0, "\n"], [2671, 0, "\\"], [2672, 0, "s"], [2673, 0, "u"], [2674, 0, "b"], [2675, 0, "s"], [2676, 0, "e"], [2677, 0, "c"], [2678, 0, "t"], [2679, 0, "i"], [2680, 0, "o"], [2681, 0, "n"], [2682, 0, "{"], [2683, 0, "C"], [2684, 0, "o"], [2685, 0, "m"], [2686, 0, "m"], [2687, 0, "a"], [2688, 0, "n"], [2689, 0, "d"], [2690, 0, " "], [2691, 0, "l"], [2692, 0, "a"], [2693, 0, "n"], [2694, 0, "g"], [2695, 0, "u"], [2696, 0, "a"], [2697, 0, "g"], [2698, 0, "e"], [2699, 0, "}"], [2700, 0, "\n"], [2701, 0, "\n"], [2702, 0, "T"], [2703, 0, "R"], [2703, 1], [2703, 0, "h"], [2704, 0, "e"], [2705, 0, " "], [2706, 0, "s"], [2707, 0, "y"], [2708, 0, "n"], [2709, 0, "t"], [2710, 0, "a"], [2711, 0, "x"], [2712, 0, " "], [2713, 0, "o"], [2714, 0, "f"], [2715, 0, " "], [2716, 0, "t"], [2717, 0, "h"], [2718, 0, "e"], [2719, 0, " "], [2720, 0, "c"], [2721, 0, "o"], [2722, 0, "m"], [2723, 0, "m"], [2724, 0, "a"], [2725, 0, "n"], [2726, 0, "d"], [2727, 0, " "], [2728, 0, "l"], [2729, 0, "a"], [2730, 0, "n"], [2731, 0, "g"], [2732, 0, "u"], [2733, 0, "a"], [2734, 0, "g"], [2735, 0, "e"], [2736, 0, " "], [2737, 0, "i"], [2738, 0, "s"], [2739, 0, " "], [2740, 0, "g"], [2741, 0, "i"], [2742, 0, "v"], [2743, 0, "e"], [2744, 0, "n"], [2745, 0, " "], [2746, 0, "i"], [2747, 0, "n"], [2748, 0, " "], [2749, 0, "F"], [2750, 0, "i"], [2751, 0, "g"], [2752, 0, "u"], [2753, 0, "r"], [2754, 0, "e"], [2755, 0, "~"], [2756, 0, "\\"], [2757, 0, "r"], [2758, 0, "e"], [2759, 0, "f"], [2760, 0, "{"], [2761, 0, "f"], [2762, 0, "i"], [2763, 0, "g"], [2764, 0, ":"], [2765, 0, "l"], [2766, 0, "o"], [2767, 0, "c"], [2768, 0, "a"], [2769, 0, "l"], [2770, 0, "-"], [2771, 0, "s"], [2772, 0, "y"], [2773, 0, "n"], [2774, 0, "t"], [2775, 0, "a"], [2776, 0, "x"], [2777, 0, "}"], [2778, 0, "."], [2779, 0, " "], [2780, 0, "A"], [2781, 0, " "], [2782, 0, "p"], [2783, 0, "r"], [2784, 0, "o"], [2785, 0, "g"], [2786, 0, "r"], [2787, 0, "a"], [2788, 0, "m"], [2789, 0, " "], [2790, 0, "i"], [2791, 0, "s"], [2792, 0, " "], [2793, 0, "a"], [2794, 0, "s"], [2795, 0, "s"], [2796, 0, "u"], [2797, 0, "m"], [2798, 0, "e"], [2799, 0, "d"], [2800, 0, " "], [2801, 0, "t"], [2802, 0, "o"], [2803, 0, " "], [2804, 0, "b"], [2805, 0, "e"], [2806, 0, " "], [2807, 0, "a"], [2808, 0, " "], [2809, 0, "l"], [2810, 0, "i"], [2811, 0, "n"], [2812, 0, "e"], [2813, 0, "a"], [2814, 0, "r"], [2815, 0, ","], [2816, 0, " "], [2817, 0, "p"], [2818, 0, "o"], [2819, 0, "s"], [2820, 0, "s"], [2821, 0, "i"], [2822, 0, "b"], [2823, 0, "l"], [2824, 0, "y"], [2825, 0, " "], [2826, 0, "i"], [2827, 0, "n"], [2828, 0, "f"], [2829, 0, "i"], [2830, 0, "n"], [2831, 0, "i"], [2832, 0, "t"], [2833, 0, "e"], [2834, 0, ","], [2835, 0, " "], [2836, 0, "s"], [2837, 0, "e"], [2838, 0, "q"], [2839, 0, "u"], [2840, 0, "e"], [2841, 0, "n"], [2842, 0, "c"], [2843, 0, "e"], [2844, 0, " "], [2845, 0, "o"], [2846, 0, "f"], [2847, 0, " "], [2848, 0, "c"], [2849, 0, "o"], [2850, 0, "m"], [2851, 0, "m"], [2852, 0, "a"], [2853, 0, "n"], [2854, 0, "d"], [2855, 0, "s"], [2856, 0, "."], [2857, 0, " "], [2858, 0, "T"], [2859, 0, "h"], [2860, 0, "e"], [2861, 0, " "], [2862, 0, "l"], [2863, 0, "a"], [2864, 0, "n"], [2865, 0, "g"], [2866, 0, "u"], [2867, 0, "a"], [2868, 0, "g"], [2869, 0, "e"], [2870, 0, " "], [2871, 0, "o"], [2872, 0, "f"], [2873, 0, " "], [2874, 0, "F"], [2875, 0, "i"], [2876, 0, "g"], [2877, 0, "u"], [2878, 0, "r"], [2879, 0, "e"], [2880, 0, "`"], [2881, 0, "\\"], [2882, 0, "r"], [2883, 0, "e"], [2883, 1], [2882, 1], [2881, 1], [2880, 1], [2880, 0, "~"], [2881, 0, "\\"], [2882, 0, "r"], [2883, 0, "e"], [2884, 0, "f"], [2885, 0, "{"], [2886, 0, "f"], [2887, 0, "i"], [2888, 0, "g"], [2889, 0, ":"], [2890, 0, "l"], [2891, 0, "o"], [2892, 0, "c"], [2893, 0, "a"], [2894, 0, "l"], [2895, 0, "-"], [2896, 0, "s"], [2897, 0, "y"], [2898, 0, "n"], [2899, 0, "t"], [2900, 0, "a"], [2901, 0, "x"], [2902, 0, "}"], [2903, 0, " "], [2904, 0, "d"], [2905, 0, "o"], [2906, 0, "e"], [2907, 0, "s"], [2908, 0, " "], [2909, 0, "n"], [2910, 0, "o"], [2911, 0, "t"], [2912, 0, " "], [2913, 0, "p"], [2914, 0, "r"], [2915, 0, "o"], [2916, 0, "v"], [2917, 0, "i"], [2918, 0, "d"], [2919, 0, "e"], [2920, 0, " "], [2921, 0, "l"], [2922, 0, "o"], [2923, 0, "o"], [2924, 0, "p"], [2925, 0, "s"], [2926, 0, ","], [2927, 0, " "], [2928, 0, "c"], [2929, 0, "o"], [2930, 0, "n"], [2931, 0, "d"], [2932, 0, "i"], [2933, 0, "t"], [2933, 1], [2932, 1], [2931, 1], [2930, 1], [2929, 1], [2928, 1], [2927, 1], [2926, 1], [2925, 1], [2924, 1], [2923, 1], [2922, 1], [2921, 1], [2860, 1], [2859, 1], [2858, 1], [2858, 0, "F"], [2859, 0, "o"], [2860, 0, "r"], [2861, 0, " "], [2862, 0, "b"], [2863, 0, "r"], [2864, 0, "e"], [2865, 0, "v"], [2866, 0, "i"], [2867, 0, "t"], [2868, 0, "y"], [2869, 0, ","], [2870, 0, " "], [2871, 0, "t"], [2872, 0, "h"], [2873, 0, "e"], [2934, 0, "t"], [2935, 0, "h"], [2936, 0, "e"], [2937, 0, " "], [2938, 0, "u"], [2939, 0, "s"], [2940, 0, "u"], [2941, 0, "a"], [2942, 0, "l"], [2943, 0, " "], [2944, 0, "c"], [2945, 0, "o"], [2946, 0, "n"], [2947, 0, "s"], [2948, 0, "t"], [2948, 1], [2947, 1], [2946, 1], [2946, 0, "n"], [2947, 0, "t"], [2948, 0, "r"], [2949, 0, "o"], [2950, 0, "l"], [2951, 0, " "], [2952, 0, "s"], [2953, 0, "t"], [2954, 0, "r"], [2955, 0, "u"], [2956, 0, "c"], [2957, 0, "t"], [2958, 0, "u"], [2959, 0, "r"], [2960, 0, "e"], [2961, 0, "s"], [2962, 0, " "], [2963, 0, "s"], [2964, 0, "u"], [2965, 0, "c"], [2966, 0, "h"], [2967, 0, " "], [2968, 0, "a"], [2969, 0, "s"], [2970, 0, " "], [2971, 0, "c"], [2972, 0, "o"], [2973, 0, "n"], [2974, 0, "d"], [2975, 0, "i"], [2976, 0, "t"], [2977, 0, "i"], [2978, 0, "o"], [2979, 0, "n"], [2980, 0, "a"], [2981, 0, "l"], [2982, 0, "s"], [2983, 0, ","], [2984, 0, " "], [2985, 0, "l"], [2986, 0, "o"], [2987, 0, "o"], [2988, 0, "p"], [2989, 0, "s"], [2990, 0, ","], [2991, 0, " "], [2992, 0, "f"], [2993, 0, "u"], [2994, 0, "n"], [2995, 0, "c"], [2996, 0, "t"], [2997, 0, "i"], [2998, 0, "o"], [2999, 0, "n"], [2991, 0, " "], [2992, 0, "o"], [2993, 0, "r"], [3003, 0, "s"], [3004, 0, ","], [3005, 0, " "], [3006, 0, "b"], [3007, 0, "u"], [3008, 0, "t"], [3009, 0, " "], [3010, 0, "s"], [3011, 0, "u"], [3012, 0, "c"], [3013, 0, "h"], [3014, 0, " "], [3015, 0, "f"], [3016, 0, "a"], [3017, 0, "c"], [3018, 0, "i"], [3019, 0, "l"], [3020, 0, "i"], [3021, 0, "t"], [3022, 0, "i"], [3023, 0, "e"], [3024, 0, "s"], [3025, 0, " "], [3026, 0, "c"], [3027, 0, "a"], [3028, 0, "n"], [3029, 0, " "], [3030, 0, "e"], [3031, 0, "a"], [3032, 0, "s"], [3033, 0, "i"], [3034, 0, "l"], [3035, 0, "y"], [3036, 0, " "], [3037, 0, "b"], [3038, 0, "e"], [3039, 0, " "], [3040, 0, "p"], [3041, 0, "r"], [3042, 0, "o"], [3043, 0, "v"], [3044, 0, "i"], [3045, 0, "d"], [3045, 1], [3044, 1], [3043, 1], [3042, 1], [3041, 1], [3040, 1], [3040, 0, "i"], [3041, 0, "m"], [3042, 0, "p"], [3043, 0, "l"], [3044, 0, "e"], [3045, 0, "m"], [3046, 0, "e"], [3047, 0, "n"], [3048, 0, "t"], [3049, 0, "e"], [3050, 0, "d"], [3051, 0, " "], [3052, 0, "b"], [3053, 0, "y"], [3054, 0, " "], [3055, 0, "e"], [3056, 0, "m"], [3057, 0, "b"], [3058, 0, "e"], [3059, 0, "d"], [3060, 0, "d"], [3061, 0, "i"], [3062, 0, "n"], [3063, 0, "g"], [3064, 0, " "], [3065, 0, "t"], [3066, 0, "h"], [3067, 0, "i"], [3068, 0, "s"], [3069, 0, " "], [3070, 0, "c"], [3071, 0, "o"], [3072, 0, "m"], [3073, 0, "m"], [3074, 0, "a"], [3075, 0, "n"], [3076, 0, "d"], [3077, 0, " "], [3078, 0, "l"], [3079, 0, "a"], [3080, 0, "n"], [3081, 0, "g"], [3082, 0, "u"], [3083, 0, "a"], [3084, 0, "g"], [3085, 0, "e"], [3086, 0, " "], [3087, 0, "i"], [3088, 0, "n"], [3089, 0, " "], [3090, 0, "a"], [3091, 0, " "], [3092, 0, "g"], [3093, 0, "e"], [3094, 0, "n"], [3095, 0, "e"], [3096, 0, "r"], [3097, 0, "a"], [3098, 0, "l"], [3099, 0, "-"], [3100, 0, "p"], [3101, 0, "u"], [3102, 0, "r"], [3103, 0, "p"], [3104, 0, "o"], [3105, 0, "s"], [3106, 0, "e"], [3107, 0, " "], [3108, 0, "p"], [3109, 0, "r"], [3110, 0, "o"], [3111, 0, "g"], [3112, 0, "r"], [3113, 0, "a"], [3114, 0, "m"], [3115, 0, "m"], [3116, 0, "i"], [3117, 0, "n"], [3118, 0, "g"], [3119, 0, " "], [3120, 0, "l"], [3121, 0, "a"], [3122, 0, "n"], [3123, 0, "g"], [3124, 0, "u"], [3125, 0, "a"], [3126, 0, "g"], [3127, 0, "e"], [3128, 0, "."], [3129, 0, "\n"], [3130, 0, "\n"], [3131, 0, "T"], [3132, 0, "h"], [3133, 0, "e"], [3134, 0, " "], [3135, 0, "c"], [3136, 0, "o"], [3137, 0, "m"], [3138, 0, "m"], [3139, 0, "a"], [3140, 0, "n"], [3141, 0, "d"], [3142, 0, " "], [3143, 0, "l"], [3144, 0, "a"], [3145, 0, "n"], [3146, 0, "g"], [3147, 0, "u"], [3148, 0, "a"], [3149, 0, "g"], [3150, 0, "e"], [3151, 0, " "], [3152, 0, "h"], [3153, 0, "a"], [3154, 0, "s"], [3155, 0, " "], [3156, 0, "t"], [3157, 0, "w"], [3158, 0, "o"], [3159, 0, " "], [3160, 0, "m"], [3161, 0, "a"], [3162, 0, "i"], [3163, 0, "n"], [3164, 0, "s"], [3165, 0, " "], [3166, 0, "k"], [3166, 1], [3165, 1], [3164, 1], [3163, 1], [3163, 0, " "], [3163, 1], [3163, 0, "n"], [3164, 0, " "], [3165, 0, "k"], [3166, 0, "i"], [3167, 0, "n"], [3168, 0, "d"], [3169, 0, "s"], [3170, 0, " "], [3171, 0, "o"], [3172, 0, "f"], [3173, 0, " "], [3174, 0, "c"], [3175, 0, "o"], [3176, 0, "n"], [3177, 0, "s"], [3178, 0, "t"], [3179, 0, "r"], [3180, 0, "u"], [3181, 0, "c"], [3182, 0, "t"], [3183, 0, ":"], [3184, 0, " "], [3185, 0, "a"], [3186, 0, "n"], [3187, 0, " "], [3188, 0, "e"], [3189, 0, "x"], [3190, 0, "p"], [3191, 0, "r"], [3192, 0, "e"], [3193, 0, "s"], [3194, 0, "s"], [3195, 0, "i"], [3196, 0, "o"], [3197, 0, "n"], [3198, 0, " "], [3199, 0, "E"], [3200, 0, "X"], [3201, 0, "P"], [3202, 0, "R"], [3203, 0, ","], [3204, 0, " "], [3205, 0, "w"], [3206, 0, "h"], [3207, 0, "i"], [3208, 0, "c"], [3209, 0, "h"], [3210, 0, " "], [3211, 0, "q"], [3212, 0, "u"], [3213, 0, "e"], [3214, 0, "r"], [3215, 0, "i"], [3216, 0, "e"], [3217, 0, "s"], [3218, 0, " "], [3219, 0, "t"], [3220, 0, "h"], [3221, 0, "e"], [3222, 0, " "], [3223, 0, "s"], [3224, 0, "t"], [3225, 0, "a"], [3226, 0, "t"], [3227, 0, "e"], [3228, 0, " "], [3229, 0, "o"], [3230, 0, "f"], [3231, 0, " "], [3232, 0, "a"], [3233, 0, " "], [3234, 0, "d"], [3235, 0, "o"], [3236, 0, "c"], [3237, 0, "u"], [3238, 0, "m"], [3239, 0, "e"], [3240, 0, "n"], [3241, 0, "t"], [3242, 0, " "], [3243, 0, "a"], [3244, 0, "n"], [3245, 0, "d"], [3246, 0, " "], [3247, 0, "i"], [3248, 0, "d"], [3249, 0, "e"], [3250, 0, "n"], [3251, 0, "t"], [3252, 0, "i"], [3253, 0, "f"], [3254, 0, "i"], [3255, 0, "e"], [3256, 0, "s"], [3257, 0, " "], [3258, 0, "a"], [3259, 0, " "], [3260, 0, "p"], [3261, 0, "o"], [3262, 0, "s"], [3263, 0, "i"], [3264, 0, "t"], [3265, 0, "i"], [3266, 0, "o"], [3267, 0, "n"], [3268, 0, " "], [3269, 0, "w"], [3270, 0, "i"], [3271, 0, "t"], [3272, 0, "h"], [3273, 0, "i"], [3274, 0, "n"], [3275, 0, " "], [3276, 0, "a"], [3277, 0, " "], [3278, 0, "d"], [3279, 0, "o"], [3280, 0, "c"], [3281, 0, "u"], [3282, 0, "m"], [3283, 0, "e"], [3284, 0, "n"], [3285, 0, "t"], [3286, 0, ","], [3287, 0, " "], [3288, 0, "a"], [3289, 0, "n"], [3290, 0, "d"], [3291, 0, " "], [3292, 0, "a"], [3293, 0, " "], [3294, 0, "c"], [3295, 0, "o"], [3296, 0, "m"], [3297, 0, "m"], [3187, 1], [3186, 1], [3185, 1], [3184, 1], [3184, 0, " "], [3195, 0, "s"], [3215, 1], [3214, 1], [3213, 1], [3213, 0, "y"], [3252, 1], [3251, 1], [3250, 1], [3249, 1], [3249, 0, "f"], [3250, 0, "y"], [3183, 1], [3182, 1], [3181, 1], [3180, 1], [3179, 1], [3178, 1], [3177, 1], [3176, 1], [3175, 1], [3174, 1], [3173, 1], [3172, 1], [3171, 1], [3170, 1], [3169, 1], [3168, 1], [3167, 1], [3166, 1], [3165, 1], [3164, 1], [3163, 1], [3162, 1], [3161, 1], [3160, 1], [3159, 1], [3158, 1], [3157, 1], [3156, 1], [3155, 1], [3154, 1], [3153, 1], [3152, 1], [3151, 1], [3150, 1], [3149, 1], [3148, 1], [3147, 1], [3146, 1], [3145, 1], [3144, 1], [3143, 1], [3142, 1], [3141, 1], [3140, 1], [3139, 1], [3138, 1], [3137, 1], [3136, 1], [3135, 1], [3134, 1], [3145, 1], [3145, 0, " "], [3146, 0, "c"], [3147, 0, "o"], [3148, 0, "n"], [3149, 0, "s"], [3150, 0, "t"], [3151, 0, "r"], [3152, 0, "u"], [3153, 0, "c"], [3154, 0, "t"], [3166, 1], [3165, 1], [3164, 1], [3163, 1], [3162, 1], [3161, 1], [3160, 1], [3160, 0, " "], [3161, 0, "i"], [3162, 0, "s"], [3163, 0, " "], [3164, 0, "u"], [3165, 0, "s"], [3166, 0, "e"], [3167, 0, "d"], [3168, 0, " "], [3169, 0, "t"], [3170, 0, "o"], [3201, 0, "."], [3202, 0, " "], [3203, 0, "A"], [3204, 0, "n"], [3205, 0, " "], [3206, 0, "e"], [3207, 0, "x"], [3208, 0, "p"], [3209, 0, "r"], [3210, 0, "e"], [3211, 0, "s"], [3212, 0, "s"], [3213, 0, "i"], [3214, 0, "o"], [3215, 0, "n"], [3216, 0, " "], [3217, 0, "s"], [3218, 0, "t"], [3219, 0, "a"], [3220, 0, "r"], [3221, 0, "t"], [3222, 0, "s"], [3223, 0, " "], [3224, 0, "w"], [3225, 0, "i"], [3226, 0, "t"], [3227, 0, "h"], [3228, 0, " "], [3229, 0, "e"], [3230, 0, "i"], [3231, 0, "t"], [3232, 0, "h"], [3233, 0, "e"], [3234, 0, "r"], [3235, 0, " "], [3236, 0, "t"], [3237, 0, "h"], [3238, 0, "e"], [3239, 0, " "], [3240, 0, "s"], [3241, 0, "p"], [3242, 0, "e"], [3243, 0, "c"], [3244, 0, "i"], [3245, 0, "a"], [3246, 0, "l"], [3247, 0, " "], [3248, 0, "t"], [3249, 0, "o"], [3250, 0, "k"], [3251, 0, "e"], [3252, 0, "n"], [3253, 0, " "], [3254, 0, "\\"], [3255, 0, "t"], [3256, 0, "e"], [3257, 0, "x"], [3258, 0, "t"], [3259, 0, "s"], [3260, 0, "f"], [3261, 0, "{"], [3262, 0, "d"], [3263, 0, "o"], [3264, 0, "c"], [3265, 0, "}"], [3266, 0, ","], [3267, 0, " "], [3268, 0, "i"], [3269, 0, "d"], [3270, 0, "e"], [3271, 0, "n"], [3272, 0, "t"], [3273, 0, "i"], [3274, 0, "f"], [3275, 0, "y"], [3276, 0, "i"], [3277, 0, "n"], [3278, 0, "g"], [3279, 0, " "], [3280, 0, "t"], [3281, 0, "h"], [3282, 0, "e"], [3283, 0, " "], [3284, 0, "r"], [3285, 0, "o"], [3286, 0, "o"], [3287, 0, "t"], [3288, 0, " "], [3289, 0, "o"], [3290, 0, "f"], [3291, 0, " "], [3292, 0, "t"], [3293, 0, "h"], [3294, 0, "e"], [3295, 0, " "], [3296, 0, "J"], [3297, 0, "S"], [3298, 0, "O"], [3299, 0, "N"], [3300, 0, " "], [3301, 0, "d"], [3302, 0, "o"], [3303, 0, "c"], [3304, 0, "u"], [3305, 0, "m"], [3306, 0, "e"], [3307, 0, "n"], [3308, 0, "t"], [3309, 0, " "], [3310, 0, "t"], [3311, 0, "r"], [3312, 0, "e"], [3313, 0, "e"], [3314, 0, ","], [3315, 0, " "], [3316, 0, "o"], [3317, 0, "r"], [3318, 0, " "], [3319, 0, "a"], [3320, 0, " "], [3321, 0, "v"], [3322, 0, "a"], [3323, 0, "r"], [3324, 0, "i"], [3325, 0, "a"], [3326, 0, "b"], [3327, 0, "l"], [3328, 0, "e"], [3329, 0, " "], [3330, 0, "$"], [3331, 0, "x"], [3332, 0, "$"], [3333, 0, " "], [3334, 0, "t"], [3335, 0, "h"], [3336, 0, "a"], [3337, 0, "t"], [3338, 0, " "], [3339, 0, "w"], [3340, 0, "a"], [3341, 0, "s"], [3342, 0, " "], [3343, 0, "p"], [3344, 0, "r"], [3345, 0, "e"], [3346, 0, "v"], [3347, 0, "i"], [3348, 0, "o"], [3349, 0, "u"], [3350, 0, "s"], [3351, 0, "l"], [3352, 0, "y"], [3353, 0, " "], [3354, 0, "d"], [3355, 0, "e"], [3356, 0, "f"], [3357, 0, "i"], [3358, 0, "n"], [3359, 0, "e"], [3360, 0, "d"], [3361, 0, " "], [3362, 0, "i"], [3363, 0, "n"], [3364, 0, " "], [3365, 0, "a"], [3366, 0, " "], [3367, 0, "]"], [3367, 1], [3367, 0, "\\"], [3368, 0, "t"], [3369, 0, "e"], [3370, 0, "x"], [3371, 0, "t"], [3372, 0, "s"], [3373, 0, "f"], [3374, 0, "{"], [3375, 0, "l"], [3376, 0, "e"], [3377, 0, "t"], [3378, 0, "}"], [3379, 0, " "], [3380, 0, "e"], [3381, 0, "x"], [3382, 0, "p"], [3383, 0, "r"], [3384, 0, "e"], [3385, 0, "s"], [3385, 1], [3384, 1], [3383, 1], [3382, 1], [3381, 1], [3380, 1], [3380, 0, "c"], [3381, 0, "o"], [3382, 0, "m"], [3383, 0, "m"], [3384, 0, "a"], [3385, 0, "n"], [3386, 0, "d"], [3387, 0, "."], [3388, 0, " "], [3389, 0, "T"], [3390, 0, "h"], [3391, 0, "e"], [3392, 0, " "], [3393, 0, "e"], [3394, 0, "x"], [3395, 0, "p"], [3396, 0, "r"], [3397, 0, "e"], [3398, 0, "s"], [3399, 0, "s"], [3400, 0, "i"], [3401, 0, "o"], [3402, 0, "n"], [3403, 0, " "], [3404, 0, "t"], [3405, 0, "h"], [3406, 0, "e"], [3407, 0, "n"], [3408, 0, " "], [3409, 0, "c"], [3410, 0, "o"], [3411, 0, "n"], [3412, 0, "t"], [3413, 0, "i"], [3414, 0, "n"], [3415, 0, "u"], [3416, 0, "e"], [3417, 0, "s"], [3418, 0, " "], [3419, 0, "w"], [3420, 0, "i"], [3421, 0, "t"], [3422, 0, "h"], [3423, 0, " "], [3424, 0, "a"], [3425, 0, " "], [3426, 0, "s"], [3427, 0, "e"], [3428, 0, "q"], [3429, 0, "u"], [3430, 0, "e"], [3431, 0, "n"], [3432, 0, "c"], [3433, 0, "e"], [3434, 0, " "], [3435, 0, "o"], [3436, 0, "f"], [3437, 0, " "], [3438, 0, "f"], [3439, 0, "u"], [3440, 0, "n"], [3441, 0, "c"], [3442, 0, "t"], [3443, 0, "i"], [3444, 0, "o"], [3445, 0, "n"], [3446, 0, " "], [3446, 1], [3445, 1], [3444, 1], [3443, 1], [3442, 1], [3441, 1], [3440, 1], [3439, 1], [3438, 1], [3438, 0, "m"], [3439, 0, "e"], [3440, 0, "t"], [3441, 0, "h"], [3442, 0, "o"], [3443, 0, "d"], [3444, 0, " "], [3445, 0, "c"], [3446, 0, "a"], [3447, 0, "l"], [3448, 0, "l"], [3449, 0, "s"], [3450, 0, ":"], [3451, 0, " "], [3452, 0, "$"], [3453, 0, "\\"], [3454, 0, "m"], [3455, 0, "a"], [3456, 0, "t"], [3457, 0, "h"], [3458, 0, "s"], [3459, 0, "f"], [3460, 0, "{"], [3461, 0, "g"], [3462, 0, "e"], [3463, 0, "t"], [3464, 0, "}"], [3465, 0, "("], [3466, 0, "\\"], [3467, 0, "m"], [3468, 0, "a"], [3469, 0, "t"], [3470, 0, "h"], [3471, 0, "i"], [3472, 0, "t"], [3473, 0, "{"], [3474, 0, "k"], [3475, 0, "e"], [3476, 0, "y"], [3477, 0, "}"], [3478, 0, "_"], [3478, 1], [3478, 0, ")"], [3479, 0, "$"], [3480, 0, " "], [3481, 0, "s"], [3482, 0, "e"], [3483, 0, "l"], [3484, 0, "e"], [3485, 0, "c"], [3486, 0, "t"], [3487, 0, "s"], [3488, 0, " "], [3489, 0, "a"], [3490, 0, " "], [3491, 0, "k"], [3492, 0, "e"], [3493, 0, "y"], [3494, 0, " "], [3495, 0, "w"], [3496, 0, "i"], [3497, 0, "t"], [3498, 0, "h"], [3499, 0, "i"], [3500, 0, "n"], [3501, 0, " "], [3502, 0, "a"], [3503, 0, " "], [3504, 0, "m"], [3505, 0, "a"], [3506, 0, "p"], [3507, 0, " "], [3508, 0, "("], [3509, 0, "a"], [3510, 0, " "], [3511, 0, "J"], [3512, 0, "S"], [3513, 0, "O"], [3514, 0, "N"], [3515, 0, " "], [3516, 0, "o"], [3517, 0, "b"], [3518, 0, "j"], [3519, 0, "e"], [3520, 0, "c"], [3521, 0, "t"], [3522, 0, ")"], [3523, 0, ","], [3524, 0, " "], [3525, 0, "$"], [3525, 1], [3525, 0, "\\"], [3526, 0, "t"], [3527, 0, "e"], [3528, 0, "x"], [3529, 0, "t"], [3530, 0, "s"], [3531, 0, "f"], [3532, 0, "{"], [3533, 0, "n"], [3534, 0, "e"], [3535, 0, "x"], [3536, 0, "t"], [3537, 0, "}"], [3538, 0, " "], [3539, 0, "m"], [3540, 0, "o"], [3541, 0, "v"], [3542, 0, "e"], [3543, 0, "s"], [3544, 0, " "], [3545, 0, "t"], [3546, 0, "o"], [3547, 0, " "], [3548, 0, "t"], [3549, 0, "h"], [3550, 0, "e"], [3551, 0, " "], [3552, 0, "n"], [3553, 0, "e"], [3554, 0, "x"], [3555, 0, "t"], [3556, 0, " "], [3557, 0, "e"], [3558, 0, "l"], [3559, 0, "e"], [3560, 0, "m"], [3561, 0, "e"], [3562, 0, "n"], [3563, 0, "t"], [3564, 0, " "], [3565, 0, "o"], [3566, 0, "f"], [3567, 0, " "], [3568, 0, "a"], [3569, 0, "n"], [3570, 0, " "], [3571, 0, "o"], [3572, 0, "r"], [3573, 0, "d"], [3574, 0, "e"], [3575, 0, "r"], [3576, 0, "e"], [3577, 0, "d"], [3578, 0, " "], [3579, 0, "l"], [3580, 0, "i"], [3581, 0, "s"], [3582, 0, "t"], [3583, 0, ","], [3584, 0, " "], [3585, 0, "a"], [3586, 0, "n"], [3587, 0, "d"], [3588, 0, " "], [3589, 0, "\\"], [3590, 0, "t"], [3591, 0, "e"], [3592, 0, "x"], [3593, 0, "t"], [3594, 0, "s"], [3595, 0, "f"], [3596, 0, "{"], [3597, 0, "v"], [3598, 0, "a"], [3599, 0, "l"], [3600, 0, "u"], [3601, 0, "e"], [3602, 0, "s"], [3603, 0, "}"], [3604, 0, " "], [3619, 1], [3618, 1], [3617, 1], [3616, 1], [3615, 1], [3614, 1], [3613, 1], [3612, 1], [3611, 1], [3610, 1], [3609, 1], [3608, 1], [3607, 1], [3606, 1], [3605, 1], [3605, 0, "r"], [3606, 0, "e"], [3607, 0, "t"], [3608, 0, "u"], [3609, 0, "r"], [3610, 0, "n"], [3611, 0, "s"], [3612, 0, " "], [3613, 0, "t"], [3614, 0, "h"], [3615, 0, "e"], [3616, 0, " "], [3617, 0, "v"], [3618, 0, "a"], [3619, 0, "l"], [3620, 0, "u"], [3621, 0, "e"], [3622, 0, " "], [3623, 0, "a"], [3624, 0, "t"], [3625, 0, " "], [3626, 0, "t"], [3627, 0, "h"], [3628, 0, "e"], [3629, 0, " "], [3630, 0, "c"], [3631, 0, "u"], [3632, 0, "r"], [3633, 0, "r"], [3634, 0, "e"], [3635, 0, "n"], [3636, 0, "t"], [3654, 1], [3654, 0, "t"], [3655, 0, "h"], [3656, 0, "e"], [3677, 1], [3676, 1], [3675, 1], [3674, 1], [3673, 1], [3672, 1], [3671, 1], [3670, 1], [3669, 1], [3668, 1], [3667, 1], [3666, 1], [3666, 0, "."], [3131, 0, " "], [3131, 0, "W"], [3132, 0, "e"], [3133, 0, " "], [3134, 0, "f"], [3135, 0, "i"], [3136, 0, "r"], [3137, 0, "s"], [3138, 0, "t"], [3139, 0, " "], [3140, 0, "e"], [3141, 0, "x"], [3142, 0, "p"], [3143, 0, "l"], [3144, 0, "a"], [3145, 0, "i"], [3146, 0, "n"], [3147, 0, " "], [3148, 0, "t"], [3149, 0, "h"], [3150, 0, "e"], [3151, 0, " "], [3152, 0, "l"], [3153, 0, "a"], [3154, 0, "n"], [3155, 0, "g"], [3156, 0, "u"], [3157, 0, "a"], [3158, 0, "g"], [3159, 0, "e"], [3160, 0, " "], [3161, 0, "i"], [3162, 0, "n"], [3163, 0, "f"], [3164, 0, "o"], [3165, 0, "r"], [3166, 0, "m"], [3167, 0, "a"], [3168, 0, "l"], [3169, 0, "l"], [3170, 0, "y"], [3171, 0, ","], [3172, 0, " "], [3173, 0, "b"], [3174, 0, "e"], [3175, 0, "f"], [3176, 0, "o"], [3177, 0, "r"], [3178, 0, "e"], [3179, 0, " "], [3180, 0, "g"], [3181, 0, "i"], [3182, 0, "v"], [3183, 0, "i"], [3184, 0, "n"], [3185, 0, "g"], [3186, 0, " "], [3187, 0, "i"], [3188, 0, "t"], [3189, 0, "s"], [3190, 0, " "], [3191, 0, "f"], [3192, 0, "o"], [3193, 0, "r"], [3194, 0, "m"], [3195, 0, "a"], [3196, 0, "l"], [3197, 0, " "], [3198, 0, "s"], [3199, 0, "e"], [3200, 0, "m"], [3201, 0, "a"], [3202, 0, "n"], [3203, 0, "t"], [3204, 0, "i"], [3205, 0, "c"], [3206, 0, "s"], [3207, 0, "."], [3745, 0, "\n"], [3746, 0, "\n"], [2669, 0, "\n"], [2670, 0, "\n"], [2671, 0, "\\"], [2672, 0, "b"], [2673, 0, "e"], [2674, 0, "g"], [2675, 0, "i"], [2676, 0, "n"], [2677, 0, "{"], [2678, 0, "f"], [2679, 0, "i"], [2680, 0, "g"], [2681, 0, "u"], [2682, 0, "r"], [2683, 0, "e"], [2684, 0, "}"], [2685, 0, "\n"], [2686, 0, "\\"], [2687, 0, "c"], [2688, 0, "e"], [2689, 0, "n"], [2690, 0, "t"], [2691, 0, "e"], [2692, 0, "r"], [2693, 0, "i"], [2694, 0, "n"], [2695, 0, "g"], [2696, 0, "\n"], [2697, 0, "\\"], [2698, 0, "c"], [2699, 0, "a"], [2700, 0, "p"], [2701, 0, "t"], [2702, 0, "i"], [2703, 0, "o"], [2704, 0, "n"], [2705, 0, "{"], [1756, 0, "\n"], [1757, 0, "\\"], [1758, 0, "c"], [1759, 0, "e"], [1760, 0, "n"], [1761, 0, "t"], [1762, 0, "e"], [1763, 0, "r"], [1764, 0, "i"], [1765, 0, "n"], [1766, 0, "g"], [2717, 0, "E"], [2718, 0, "x"], [2719, 0, "a"], [2720, 0, "m"], [2721, 0, "p"], [2722, 0, "l"], [2723, 0, "e"], [2724, 0, " "], [2725, 0, "o"], [2726, 0, "f"], [2727, 0, " "], [2728, 0, "p"], [2729, 0, "r"], [2730, 0, "o"], [2731, 0, "g"], [2732, 0, "r"], [2733, 0, "a"], [2734, 0, "m"], [2735, 0, "m"], [2736, 0, "a"], [2737, 0, "t"], [2738, 0, "i"], [2739, 0, "c"], [2740, 0, "a"], [2741, 0, "l"], [2742, 0, "l"], [2743, 0, "y"], [2744, 0, " "], [2745, 0, "c"], [2746, 0, "o"], [2747, 0, "n"], [2748, 0, "s"], [2749, 0, "t"], [2750, 0, "r"], [2751, 0, "u"], [2752, 0, "c"], [2753, 0, "t"], [2754, 0, "i"], [2755, 0, "n"], [2756, 0, "g"], [2757, 0, " "], [2758, 0, "a"], [2759, 0, " "], [2760, 0, "J"], [2761, 0, "S"], [2762, 0, "O"], [2763, 0, "N"], [2764, 0, " "], [2765, 0, "d"], [2766, 0, "o"], [2767, 0, "c"], [2768, 0, "u"], [2769, 0, "m"], [2770, 0, "e"], [2771, 0, "n"], [2772, 0, "t"], [2773, 0, "}"], [2774, 0, "\\"], [2775, 0, "l"], [2776, 0, "a"], [2777, 0, "b"], [2778, 0, "e"], [2779, 0, "l"], [2780, 0, "{"], [2781, 0, "f"], [2782, 0, "i"], [2783, 0, "g"], [2784, 0, ":"], [2785, 0, "m"], [2786, 0, "a"], [2787, 0, "k"], [2788, 0, "e"], [2789, 0, "-"], [2790, 0, "d"], [2791, 0, "o"], [2792, 0, "c"], [2793, 0, "}"], [2794, 0, "\n"], [2795, 0, "\\"], [2796, 0, "e"], [2797, 0, "n"], [2798, 0, "d"], [2799, 0, "{"], [2800, 0, "f"], [2801, 0, "i"], [2802, 0, "g"], [2803, 0, "u"], [2804, 0, "r"], [2805, 0, "e"], [2806, 0, "}"], [2707, 0, "\n"], [2708, 0, "\\"], [2709, 0, "b"], [2710, 0, "e"], [2711, 0, "g"], [2712, 0, "i"], [2713, 0, "n"], [2714, 0, "{"], [2715, 0, "t"], [2716, 0, "a"], [2717, 0, "b"], [2718, 0, "u"], [2719, 0, "l"], [2720, 0, "a"], [2721, 0, "r"], [2722, 0, "}"], [2723, 0, "{"], [2724, 0, "l"], [2725, 0, "}"], [2726, 0, "\n"], [2727, 0, "\\"], [2728, 0, "e"], [2729, 0, "n"], [2730, 0, "d"], [2731, 0, "{"], [2732, 0, "t"], [2733, 0, "a"], [2734, 0, "b"], [2735, 0, "u"], [2736, 0, "l"], [2737, 0, "a"], [2738, 0, "r"], [2739, 0, "}"], [2726, 0, "\n"], [2727, 0, "\\"], [2728, 0, "t"], [2729, 0, "e"], [2730, 0, "x"], [2731, 0, "t"], [2732, 0, "s"], [2733, 0, "f"], [2734, 0, "{"], [2735, 0, "d"], [2736, 0, "o"], [2737, 0, "c"], [2738, 0, "}"], [2739, 0, " "], [2740, 0, "="], [2741, 0, " "], [2742, 0, "\\"], [2743, 0, "v"], [2744, 0, "e"], [2745, 0, "r"], [2746, 0, "b"], [2747, 0, "|"], [2748, 0, "{"], [2749, 0, "}"], [2750, 0, "|"], [2751, 0, ";"], [2752, 0, "\\"], [2753, 0, "\\"], [2754, 0, "\n"], [2755, 0, "\\"], [2756, 0, "t"], [2757, 0, "e"], [2758, 0, "x"], [2759, 0, "t"], [2760, 0, "s"], [2761, 0, "f"], [2762, 0, "{"], [2763, 0, "d"], [2764, 0, "o"], [2765, 0, "c"], [2766, 0, "}"], [2766, 0, "."], [2767, 0, "g"], [2768, 0, "e"], [2769, 0, "t"], [2771, 0, "("], [2772, 0, "\\"], [2773, 0, "m"], [2774, 0, "a"], [2775, 0, "t"], [2776, 0, "h"], [2776, 1], [2775, 1], [2774, 1], [2773, 1], [2773, 0, "t"], [2774, 0, "e"], [2775, 0, "x"], [2776, 0, "t"], [2776, 1], [2775, 1], [2774, 1], [2773, 1], [2772, 1], [2772, 0, "\\"], [2773, 0, "v"], [2774, 0, "e"], [2775, 0, "r"], [2776, 0, "b"], [2777, 0, "|"], [2778, 0, "\""], [2779, 0, "s"], [2780, 0, "h"], [2781, 0, "o"], [2782, 0, "p"], [2783, 0, "p"], [2784, 0, "i"], [2785, 0, "n"], [2786, 0, "g"], [2787, 0, "|"], [2787, 1], [2787, 0, "\""], [2788, 0, "|"], [2789, 0, ")"], [2790, 0, " "], [2791, 0, "="], [2792, 0, " "], [2793, 0, "\\"], [2794, 0, "v"], [2795, 0, "e"], [2796, 0, "r"], [2797, 0, "b"], [2798, 0, "|"], [2799, 0, "["], [2800, 0, "]"], [2801, 0, "|"], [2802, 0, ";"], [2803, 0, "\\"], [2804, 0, "\\"], [2805, 0, "\n"], [2806, 0, "\\"], [2807, 0, "t"], [2808, 0, "e"], [2809, 0, "x"], [2810, 0, "t"], [2811, 0, "s"], [2812, 0, "f"], [2813, 0, "{"], [2814, 0, "d"], [2815, 0, "o"], [2816, 0, "c"], [2817, 0, "."], [2818, 0, "g"], [2819, 0, "e"], [2820, 0, "t"], [2821, 0, "}"], [2822, 0, "("], [2823, 0, "\\"], [2824, 0, "v"], [2825, 0, "e"], [2826, 0, "r"], [2827, 0, "b"], [2828, 0, "\""], [2828, 1], [2828, 0, "|"], [2829, 0, "\""], [2830, 0, "s"], [2831, 0, "h"], [2832, 0, "o"], [2833, 0, "p"], [2834, 0, "p"], [2835, 0, "i"], [2836, 0, "n"], [2837, 0, "g"], [2838, 0, "\""], [2839, 0, "|"], [2840, 0, ")"], [2841, 0, "."], [2806, 0, "\\"], [2807, 0, "t"], [2808, 0, "e"], [2809, 0, "x"], [2810, 0, "t"], [2811, 0, "s"], [2812, 0, "f"], [2813, 0, " "], [2813, 1], [2813, 0, "{"], [2814, 0, "l"], [2815, 0, "e"], [2816, 0, "t"], [2817, 0, "}"], [2818, 0, " "], [2819, 0, "\\"], [2820, 0, "t"], [2821, 0, "e"], [2822, 0, "x"], [2823, 0, "t"], [2824, 0, "i"], [2825, 0, "t"], [2826, 0, "{"], [2827, 0, "s"], [2828, 0, "h"], [2829, 0, "o"], [2830, 0, "p"], [2831, 0, "p"], [2831, 1], [2830, 1], [2829, 1], [2828, 1], [2827, 1], [2827, 0, "l"], [2828, 0, "i"], [2829, 0, "s"], [2830, 0, "t"], [2831, 0, "}"], [2832, 0, " "], [2833, 0, "="], [2834, 0, " "], [2870, 1], [2870, 0, ";"], [2871, 0, "\\"], [2872, 0, "\\"], [2871, 0, " "], [2803, 0, " "], [2752, 0, " "], [2876, 0, "\n"], [2877, 0, "\\"], [2878, 0, "t"], [2879, 0, "e"], [2880, 0, "x"], [2881, 0, "t"], [2882, 0, "i"], [2883, 0, "t"], [2884, 0, "{"], [2885, 0, "l"], [2886, 0, "i"], [2887, 0, "s"], [2888, 0, "t"], [2889, 0, "}"], [2890, 0, "."], [2891, 0, "\\"], [2892, 0, "t"], [2893, 0, "e"], [2894, 0, "x"], [2895, 0, "t"], [2896, 0, "s"], [2897, 0, "f"], [2898, 0, "{"], [2899, 0, "i"], [2900, 0, "n"], [2901, 0, "s"], [2902, 0, "e"], [2903, 0, "r"], [2904, 0, "t"], [2905, 0, "}"], [2906, 0, "("], [2907, 0, "\\"], [2908, 0, "v"], [2909, 0, "e"], [2910, 0, "r"], [2911, 0, "b"], [2912, 0, "\\"], [2913, 0, "\""], [2913, 1], [2913, 0, "|"], [2914, 0, "e"], [2915, 0, "g"], [2916, 0, "g"], [2917, 0, "s"], [2918, 0, "\\"], [2919, 0, "\""], [2919, 1], [2918, 1], [2914, 0, "\""], [2919, 0, "\""], [2920, 0, "|"], [2912, 1], [2920, 0, ")"], [2921, 0, ";"], [2922, 0, " "], [2923, 0, "\\"], [2924, 0, "\\"], [2925, 0, "\n"], [2926, 0, "\\"], [2927, 0, "t"], [2928, 0, "e"], [2929, 0, "x"], [2930, 0, "t"], [2931, 0, "i"], [2932, 0, "t"], [2933, 0, "{"], [2934, 0, "l"], [2935, 0, "i"], [2936, 0, "s"], [2937, 0, "t"], [2938, 0, "}"], [2939, 0, "."], [2940, 0, "\\"], [2941, 0, "t"], [2942, 0, "e"], [2943, 0, "x"], [2944, 0, "t"], [2945, 0, "s"], [2946, 0, "f"], [2947, 0, "{"], [2948, 0, "i"], [2949, 0, "n"], [2950, 0, "s"], [2951, 0, "e"], [2952, 0, "r"], [2953, 0, "t"], [2954, 0, "}"], [2955, 0, "("], [2956, 0, "\\"], [2957, 0, "v"], [2958, 0, "e"], [2959, 0, "r"], [2960, 0, "b"], [2961, 0, "|"], [2962, 0, "\""], [2963, 0, "m"], [2964, 0, "i"], [2965, 0, "l"], [2966, 0, "k"], [2967, 0, "\""], [2968, 0, "|"], [2969, 0, "}"], [2970, 0, ")"], [2970, 1], [2969, 1], [2969, 0, ")"], [2970, 0, ";"], [2985, 0, "\n"], [2986, 0, "F"], [2987, 0, "i"], [2988, 0, "n"], [2989, 0, "a"], [2990, 0, "l"], [2991, 0, " "], [2992, 0, "s"], [2993, 0, "t"], [2994, 0, "a"], [2995, 0, "t"], [2996, 0, "e"], [2997, 0, ":"], [2998, 0, "\n"], [2999, 0, "\n"], [2999, 1], [2999, 0, "\\"], [3000, 0, "b"], [3001, 0, "e"], [3002, 0, "g"], [3003, 0, "i"], [3004, 0, "n"], [3005, 0, "{"], [3006, 0, "v"], [3007, 0, "e"], [3008, 0, "r"], [3009, 0, "b"], [3010, 0, "a"], [3011, 0, "t"], [3012, 0, "i"], [3013, 0, "m"], [3014, 0, "}"], [3015, 0, "\n"], [3016, 0, "\\"], [3017, 0, "e"], [3018, 0, "n"], [3019, 0, "d"], [3020, 0, "{"], [3021, 0, "v"], [3022, 0, "e"], [3023, 0, "r"], [3024, 0, "b"], [3025, 0, "a"], [3026, 0, "t"], [3027, 0, "i"], [3028, 0, "m"], [3029, 0, "}"], [3015, 0, "\n"], [3016, 0, "{"], [3017, 0, "\""], [3018, 0, "s"], [3019, 0, "h"], [3020, 0, "o"], [3021, 0, "p"], [3022, 0, "p"], [3023, 0, "i"], [3024, 0, "n"], [3025, 0, "g"], [3026, 0, "\""], [3027, 0, ":"], [3028, 0, " "], [3029, 0, "["], [3030, 0, "\""], [3031, 0, "e"], [3032, 0, "g"], [3033, 0, "g"], [3034, 0, "s"], [3035, 0, "\""], [3036, 0, ","], [2877, 0, "\\"], [2878, 0, "t"], [2879, 0, "e"], [2880, 0, "x"], [2881, 0, "t"], [2882, 0, "s"], [2883, 0, "f"], [2884, 0, "{"], [2885, 0, "l"], [2886, 0, "e"], [2887, 0, "t"], [2888, 0, "}"], [2889, 0, " "], [2901, 1], [2900, 1], [2899, 1], [2898, 1], [2898, 0, "e"], [2899, 0, "g"], [2900, 0, "g"], [2901, 0, "s"], [2903, 0, " "], [2904, 0, "="], [2905, 0, " "], [2906, 0, "\\"], [2907, 0, "t"], [2908, 0, "e"], [2909, 0, "x"], [2910, 0, "t"], [2911, 0, "s"], [2912, 0, "f"], [2913, 0, "{"], [2914, 0, "d"], [2915, 0, "o"], [2916, 0, "c"], [2917, 0, "."], [2918, 0, "g"], [2919, 0, "e"], [2920, 0, "t"], [2921, 0, ")"], [2922, 0, "("], [2922, 1], [2921, 1], [2921, 0, "}"], [2922, 0, "("], [2923, 0, "\\"], [2924, 0, "v"], [2925, 0, "e"], [2926, 0, "r"], [2927, 0, "b"], [2928, 0, "\""], [2928, 1], [2928, 0, "|"], [2929, 0, "\""], [2930, 0, "s"], [2931, 0, "h"], [2932, 0, "o"], [2933, 0, "p"], [2934, 0, "p"], [2935, 0, "i"], [2936, 0, "n"], [2937, 0, "g"], [2938, 0, "\""], [2939, 0, "|"], [2940, 0, ")"], [2875, 1], [2874, 1], [2873, 1], [2872, 1], [2871, 1], [2870, 1], [2869, 1], [2868, 1], [2867, 1], [2866, 1], [2865, 1], [2864, 1], [2863, 1], [2862, 1], [2861, 1], [2860, 1], [2859, 1], [2858, 1], [2857, 1], [2856, 1], [2855, 1], [2854, 1], [2853, 1], [2852, 1], [2851, 1], [2850, 1], [2849, 1], [2848, 1], [2847, 1], [2846, 1], [2845, 1], [2844, 1], [2843, 1], [2842, 1], [2841, 1], [2840, 1], [2839, 1], [2838, 1], [2837, 1], [2836, 1], [2835, 1], [2834, 1], [2833, 1], [2832, 1], [2831, 1], [2830, 1], [2829, 1], [2828, 1], [2827, 1], [2826, 1], [2825, 1], [2824, 1], [2823, 1], [2822, 1], [2821, 1], [2820, 1], [2819, 1], [2818, 1], [2817, 1], [2816, 1], [2815, 1], [2814, 1], [2813, 1], [2812, 1], [2811, 1], [2810, 1], [2809, 1], [2808, 1], [2807, 1], [2919, 1], [2918, 1], [2917, 1], [2916, 1], [2916, 0, "e"], [2917, 0, "g"], [2918, 0, "g"], [2919, 0, "s"], [3019, 0, " "], [3020, 0, "\""], [3021, 0, "m"], [3022, 0, "i"], [3023, 0, "l"], [3024, 0, "k"], [3025, 0, "\""], [3026, 0, "]"], [3027, 0, "}"], [2997, 0, "\n"], [2998, 0, "d"], [2999, 0, "o"], [3000, 0, "c"], [3001, 0, " "], [3002, 0, "="], [3003, 0, " "], [3004, 0, "{"], [3005, 0, "}"], [3006, 0, ";"], [3007, 0, "\n"], [3008, 0, "d"], [3009, 0, "o"], [3010, 0, "c"], [3011, 0, "."], [3012, 0, "g"], [3013, 0, "e"], [3014, 0, "t"], [3015, 0, "("], [3016, 0, "\""], [3017, 0, "s"], [3018, 0, "h"], [3019, 0, "o"], [3020, 0, "p"], [3021, 0, "p"], [3022, 0, "i"], [3023, 0, "n"], [3024, 0, "g"], [3025, 0, "\""], [3026, 0, "}"], [3026, 1], [3026, 0, ")"], [3027, 0, " "], [3028, 0, "="], [3029, 0, " "], [3030, 0, "["], [3031, 0, "]"], [3032, 0, ";"], [3033, 0, "\n"], [3034, 0, "l"], [3035, 0, "e"], [3036, 0, "t"], [3037, 0, " "], [3038, 0, "e"], [3039, 0, "g"], [3040, 0, "g"], [3041, 0, "s"], [3042, 0, " "], [3043, 0, "="], [3044, 0, " "], [3045, 0, "d"], [3046, 0, "o"], [3047, 0, "c"], [3048, 0, "."], [3049, 0, "g"], [3050, 0, "e"], [3051, 0, "t"], [3052, 0, "("], [3053, 0, "\""], [3054, 0, "s"], [3055, 0, "h"], [3056, 0, "o"], [3057, 0, "p"], [3058, 0, "p"], [3059, 0, "i"], [3060, 0, "n"], [3061, 0, "g"], [3062, 0, "\""], [3063, 0, ")"], [3064, 0, "."], [3065, 0, "i"], [3066, 0, "n"], [3067, 0, "s"], [3068, 0, "e"], [3069, 0, "r"], [3070, 0, "t"], [3071, 0, "("], [3072, 0, "\""], [3073, 0, "e"], [3074, 0, "g"], [3075, 0, "g"], [3076, 0, "s"], [3077, 0, "\""], [3078, 0, ")"], [3079, 0, ";"], [3080, 0, "\n"], [3081, 0, "e"], [3082, 0, "g"], [3083, 0, "g"], [3084, 0, "s"], [3085, 0, "."], [3086, 0, "i"], [3087, 0, "n"], [3088, 0, "s"], [3089, 0, "e"], [3090, 0, "r"], [3091, 0, "t"], [3092, 0, "("], [3093, 0, "\""], [3094, 0, "m"], [3095, 0, "i"], [3096, 0, "l"], [3097, 0, "k"], [3098, 0, "\""], [3099, 0, ")"], [3100, 0, ";"], [3101, 0, "\n"], [3102, 0, "\n"], [3103, 0, "/"], [3104, 0, "/"], [3105, 0, " "], [3106, 0, "F"], [3107, 0, "i"], [3108, 0, "n"], [3109, 0, "a"], [3110, 0, "l"], [3111, 0, " "], [3112, 0, "s"], [3113, 0, "t"], [3114, 0, "a"], [3115, 0, "t"], [3116, 0, "e"], [3117, 0, ":"], [2979, 1], [2978, 1], [2977, 1], [2976, 1], [2975, 1], [2974, 1], [2973, 1], [2972, 1], [2971, 1], [2970, 1], [2969, 1], [2968, 1], [2967, 1], [2966, 1], [2965, 1], [2964, 1], [2963, 1], [2962, 1], [2961, 1], [2960, 1], [2959, 1], [2958, 1], [2957, 1], [2956, 1], [2955, 1], [2954, 1], [2953, 1], [2952, 1], [2951, 1], [2950, 1], [2949, 1], [2948, 1], [2947, 1], [2946, 1], [2945, 1], [2944, 1], [2943, 1], [2942, 1], [2941, 1], [2940, 1], [2939, 1], [2938, 1], [2937, 1], [2936, 1], [2935, 1], [2934, 1], [2933, 1], [2932, 1], [2931, 1], [2930, 1], [2929, 1], [2928, 1], [2927, 1], [2926, 1], [2925, 1], [2924, 1], [2923, 1], [2922, 1], [2921, 1], [2920, 1], [2919, 1], [2918, 1], [2917, 1], [2916, 1], [2915, 1], [2914, 1], [2913, 1], [2912, 1], [2911, 1], [2910, 1], [2909, 1], [2908, 1], [2907, 1], [2906, 1], [2905, 1], [2904, 1], [2903, 1], [2902, 1], [2901, 1], [2900, 1], [2899, 1], [2898, 1], [2897, 1], [2896, 1], [2895, 1], [2894, 1], [2893, 1], [2892, 1], [2891, 1], [2890, 1], [2889, 1], [2888, 1], [2887, 1], [2886, 1], [2885, 1], [2884, 1], [2883, 1], [2882, 1], [2881, 1], [2880, 1], [2879, 1], [2878, 1], [2877, 1], [2876, 1], [2875, 1], [2874, 1], [2873, 1], [2872, 1], [2871, 1], [2870, 1], [2869, 1], [2868, 1], [2867, 1], [2866, 1], [2865, 1], [2864, 1], [2863, 1], [2862, 1], [2861, 1], [2860, 1], [2859, 1], [2858, 1], [2857, 1], [2856, 1], [2855, 1], [2854, 1], [2853, 1], [2852, 1], [2851, 1], [2850, 1], [2849, 1], [2848, 1], [2847, 1], [2846, 1], [2845, 1], [2844, 1], [2843, 1], [2842, 1], [2841, 1], [2840, 1], [2839, 1], [2838, 1], [2837, 1], [2836, 1], [2835, 1], [2834, 1], [2833, 1], [2832, 1], [2831, 1], [2830, 1], [2829, 1], [2828, 1], [2827, 1], [2826, 1], [2825, 1], [2824, 1], [2823, 1], [2822, 1], [2821, 1], [2820, 1], [2819, 1], [2818, 1], [2817, 1], [2816, 1], [2815, 1], [2814, 1], [2813, 1], [2812, 1], [2811, 1], [2810, 1], [2809, 1], [2808, 1], [2807, 1], [2806, 1], [2805, 1], [2804, 1], [2803, 1], [2802, 1], [2801, 1], [2800, 1], [2799, 1], [2798, 1], [2797, 1], [2796, 1], [2795, 1], [2794, 1], [2793, 1], [2792, 1], [2791, 1], [2790, 1], [2789, 1], [2788, 1], [2787, 1], [2786, 1], [2785, 1], [2784, 1], [2783, 1], [2782, 1], [2781, 1], [2780, 1], [2779, 1], [2778, 1], [2777, 1], [2776, 1], [2775, 1], [2774, 1], [2773, 1], [2772, 1], [2771, 1], [2770, 1], [2769, 1], [2768, 1], [2767, 1], [2766, 1], [2765, 1], [2764, 1], [2763, 1], [2762, 1], [2761, 1], [2760, 1], [2759, 1], [2758, 1], [2757, 1], [2756, 1], [2755, 1], [2754, 1], [2753, 1], [2752, 1], [2751, 1], [2750, 1], [2749, 1], [2748, 1], [2747, 1], [2746, 1], [2745, 1], [2744, 1], [2743, 1], [2742, 1], [2741, 1], [2740, 1], [2739, 1], [2738, 1], [2737, 1], [2736, 1], [2735, 1], [2734, 1], [2733, 1], [2732, 1], [2731, 1], [2730, 1], [2729, 1], [2728, 1], [2727, 1], [2726, 1], [2725, 1], [2724, 1], [2723, 1], [2722, 1], [2721, 1], [2720, 1], [2719, 1], [2718, 1], [2717, 1], [2716, 1], [2715, 1], [2714, 1], [2713, 1], [2712, 1], [2711, 1], [2710, 1], [2709, 1], [2708, 1], [2707, 1], [2735, 0, "l"], [2736, 0, "e"], [2737, 0, "t"], [2738, 0, " "], [2739, 0, "l"], [2740, 0, "i"], [2741, 0, "s"], [2742, 0, "t"], [2743, 0, " "], [2744, 0, "="], [2745, 0, " "], [2765, 0, "\n"], [2766, 0, "l"], [2767, 0, "i"], [2768, 0, "s"], [2769, 0, "t"], [2781, 0, "f"], [2781, 1], [2806, 1], [2805, 1], [2804, 1], [2803, 1], [2802, 1], [2801, 1], [2800, 1], [2799, 1], [2798, 1], [2797, 1], [2796, 1], [2795, 1], [2794, 1], [2793, 1], [2792, 1], [2791, 1], [2790, 1], [2789, 1], [2788, 1], [2788, 0, "l"], [2789, 0, "i"], [2790, 0, "s"], [2791, 0, "t"], [1875, 0, ":"], [2730, 0, ":"], [2773, 0, ":"], [2767, 0, ";"], [4074, 0, "A"], [4075, 0, " "], [4076, 0, "c"], [4077, 0, "o"], [4078, 0, "m"], [4079, 0, "m"], [4080, 0, "a"], [4081, 0, "n"], [4082, 0, "d"], [4083, 0, " "], [4084, 0, "C"], [4085, 0, "M"], [4086, 0, "D"], [4087, 0, " "], [4088, 0, "e"], [4089, 0, "i"], [4090, 0, "t"], [4091, 0, "h"], [4092, 0, "e"], [4093, 0, "r"], [4094, 0, " "], [4095, 0, "s"], [4096, 0, "e"], [4097, 0, "t"], [4098, 0, "s"], [4099, 0, " "], [4100, 0, "t"], [4101, 0, "h"], [4102, 0, "e"], [4103, 0, " "], [4104, 0, "v"], [4105, 0, "a"], [4106, 0, "l"], [4107, 0, "u"], [4108, 0, "e"], [4109, 0, " "], [4110, 0, "o"], [4111, 0, "f"], [4112, 0, " "], [4113, 0, "a"], [4114, 0, " "], [4115, 0, "l"], [4116, 0, "o"], [4117, 0, "c"], [4118, 0, "a"], [4119, 0, "l"], [4120, 0, " "], [4121, 0, "v"], [4122, 0, "a"], [4123, 0, "r"], [4124, 0, "i"], [4125, 0, "a"], [4126, 0, "b"], [4127, 0, "l"], [4128, 0, "e"], [4129, 0, " "], [4130, 0, "("], [4131, 0, "\\"], [4132, 0, "m"], [4132, 1], [4132, 0, "t"], [4133, 0, "e"], [4134, 0, "x"], [4135, 0, "t"], [4136, 0, "s"], [4137, 0, "f"], [4138, 0, "{"], [4139, 0, "l"], [4140, 0, "e"], [4141, 0, "t"], [4142, 0, "}"], [4143, 0, ")"], [4144, 0, ","], [4145, 0, " "], [4146, 0, "p"], [4147, 0, "e"], [4148, 0, "r"], [4149, 0, "f"], [4150, 0, "o"], [4151, 0, "r"], [4152, 0, "m"], [4153, 0, "s"], [4154, 0, " "], [4155, 0, "n"], [4156, 0, "e"], [4157, 0, "t"], [4158, 0, "w"], [4159, 0, "o"], [4160, 0, "r"], [4161, 0, "k"], [4162, 0, " "], [4163, 0, "c"], [4164, 0, "o"], [4165, 0, "m"], [4166, 0, "m"], [4167, 0, "u"], [4168, 0, "n"], [4169, 0, "i"], [4170, 0, "c"], [4171, 0, "a"], [4172, 0, "t"], [4173, 0, "i"], [4174, 0, "o"], [4175, 0, "n"], [4176, 0, " "], [4177, 0, "("], [4178, 0, "\\"], [4179, 0, "t"], [4180, 0, "e"], [4181, 0, "x"], [4182, 0, "t"], [4183, 0, "s"], [4184, 0, "f"], [4185, 0, "{"], [4186, 0, "y"], [4187, 0, "i"], [4188, 0, "e"], [4189, 0, "l"], [4190, 0, "d"], [4191, 0, "}"], [4192, 0, ")"], [4193, 0, ","], [4194, 0, " "], [4195, 0, "o"], [4196, 0, "r"], [4197, 0, " "], [4198, 0, "m"], [4199, 0, "o"], [4200, 0, "d"], [4201, 0, "i"], [4202, 0, "f"], [4203, 0, "i"], [4204, 0, "e"], [4205, 0, "s"], [4206, 0, " "], [4207, 0, "t"], [4208, 0, "h"], [4209, 0, "e"], [4210, 0, " "], [4211, 0, "d"], [4212, 0, "o"], [4213, 0, "c"], [4214, 0, "u"], [4215, 0, "m"], [4216, 0, "e"], [4217, 0, "n"], [4218, 0, "t"], [4219, 0, " "], [4220, 0, "("], [4221, 0, "\\"], [4221, 1], [4221, 0, ":"], [4222, 0, "="], [4223, 0, ","], [4224, 0, " "], [4225, 0, "\\"], [4226, 0, "t"], [4227, 0, "e"], [4228, 0, "x"], [4228, 1], [4227, 1], [4226, 1], [4225, 1], [4224, 1], [4223, 1], [4222, 1], [4221, 1], [4220, 1], [4219, 1], [4218, 1], [4217, 1], [4217, 0, "n"], [4218, 0, "t"], [4219, 0, "."], [4220, 0, " "], [4221, 0, "A"], [4222, 0, " "], [4223, 0, "d"], [4224, 0, "o"], [4225, 0, "c"], [4226, 0, "u"], [4227, 0, "m"], [4228, 0, "e"], [4229, 0, "n"], [4230, 0, "t"], [4231, 0, " "], [4232, 0, "c"], [4233, 0, "a"], [4234, 0, "n"], [4235, 0, " "], [4236, 0, "b"], [4237, 0, "e"], [4238, 0, " "], [4239, 0, "m"], [4240, 0, "o"], [4241, 0, "d"], [4242, 0, "i"], [4243, 0, "f"], [4244, 0, "i"], [4245, 0, "e"], [4246, 0, "d"], [4247, 0, " "], [4248, 0, "b"], [4249, 0, "y"], [4250, 0, " "], [4251, 0, "a"], [4252, 0, "s"], [4253, 0, "s"], [4254, 0, "i"], [4255, 0, "g"], [4256, 0, "n"], [4257, 0, "i"], [4258, 0, "n"], [4259, 0, "g"], [4260, 0, " "], [4261, 0, "t"], [4262, 0, "h"], [4263, 0, "e"], [4264, 0, " "], [4265, 0, "v"], [4266, 0, "a"], [4267, 0, "l"], [4268, 0, "u"], [4269, 0, "e"], [4270, 0, " "], [4271, 0, "o"], [4272, 0, "f"], [4273, 0, " "], [4274, 0, "s"], [4275, 0, "o"], [4276, 0, "m"], [4277, 0, "e"], [4278, 0, " "], [4279, 0, "f"], [4280, 0, "i"], [4281, 0, "e"], [4282, 0, "l"], [4283, 0, "d"], [4284, 0, " "], [4285, 0, "("], [4286, 0, "u"], [4287, 0, "s"], [4288, 0, "i"], [4289, 0, "n"], [4290, 0, "g"], [4291, 0, " "], [2833, 0, "\n"], [2834, 0, "l"], [2835, 0, "i"], [2836, 0, "s"], [2837, 0, "t"], [2838, 0, "."], [2839, 0, "i"], [2840, 0, "n"], [2841, 0, "s"], [2842, 0, "e"], [2843, 0, "r"], [2844, 0, "t"], [2845, 0, "("], [2846, 0, "\""], [2847, 0, "c"], [2848, 0, "h"], [2849, 0, "e"], [2850, 0, "e"], [2851, 0, "s"], [2852, 0, "e"], [2853, 0, "\""], [2854, 0, ")"], [2855, 0, ";"], [2888, 0, "\""], [2889, 0, "c"], [2890, 0, "h"], [2891, 0, "e"], [2892, 0, "e"], [2893, 0, "s"], [2894, 0, "e"], [2895, 0, "\""], [2896, 0, ","], [2897, 0, " "], [4325, 0, "t"], [4326, 0, "h"], [4327, 0, "e"], [4328, 0, " "], [4329, 0, "a"], [4330, 0, "s"], [4331, 0, "s"], [4332, 0, "i"], [4333, 0, "g"], [4334, 0, "n"], [4335, 0, "m"], [4336, 0, "e"], [4337, 0, "n"], [4338, 0, "t"], [4339, 0, " "], [4340, 0, "o"], [4341, 0, "p"], [4342, 0, "e"], [4343, 0, "r"], [4344, 0, "a"], [4345, 0, "t"], [4346, 0, "o"], [4347, 0, "r"], [4348, 0, " "], [4349, 0, ":"], [4350, 0, "="], [4351, 0, ")"], [4352, 0, ","], [4353, 0, " "], [4354, 0, "b"], [4355, 0, "y"], [4356, 0, " "], [4357, 0, "i"], [4358, 0, "n"], [4359, 0, "s"], [4360, 0, "e"], [4361, 0, "r"], [4362, 0, "t"], [4363, 0, "i"], [4364, 0, "n"], [4365, 0, "g"], [4316, 1], [4315, 1], [4314, 1], [4313, 1], [4312, 1], [4311, 1], [4311, 0, " "], [4312, 0, "o"], [4313, 0, "b"], [4314, 0, "j"], [4315, 0, "e"], [4316, 0, "c"], [4317, 0, "t"], [4317, 1], [4316, 1], [4315, 1], [4314, 1], [4313, 1], [4312, 1], [4312, 0, "f"], [4313, 0, "i"], [4314, 0, "e"], [4315, 0, "l"], [4316, 0, "d"], [4366, 0, " "], [4367, 0, "a"], [4368, 0, "n"], [4369, 0, " "], [4370, 0, "e"], [4371, 0, "l"], [4372, 0, "e"], [4373, 0, "m"], [4374, 0, "e"], [4375, 0, "n"], [4376, 0, "t"], [4377, 0, " "], [4378, 0, "i"], [4379, 0, "n"], [4380, 0, "t"], [4381, 0, "o"], [4382, 0, " "], [4383, 0, "a"], [4384, 0, " "], [4385, 0, "l"], [4386, 0, "i"], [4387, 0, "s"], [4388, 0, "t"], [4389, 0, " "], [4390, 0, "("], [4391, 0, "\\"], [4392, 0, "t"], [4393, 0, "e"], [4394, 0, "x"], [4395, 0, "t"], [4396, 0, "s"], [4397, 0, "f"], [4398, 0, "{"], [4399, 0, "i"], [4400, 0, "s"], [4401, 0, "n"], [4402, 0, "e"], [4403, 0, "r"], [4404, 0, "t"], [4405, 0, "}"], [4406, 0, ")"], [4400, 1], [4401, 0, "s"], [4407, 0, ","], [4408, 0, " "], [4409, 0, "b"], [4410, 0, "y"], [4411, 0, " "], [4412, 0, "d"], [4413, 0, "e"], [4414, 0, "l"], [4415, 0, "e"], [4416, 0, "t"], [4417, 0, "i"], [4418, 0, "n"], [4419, 0, "g"], [4420, 0, " "], [4421, 0, "a"], [4422, 0, "n"], [4423, 0, " "], [4424, 0, "e"], [4425, 0, "l"], [4426, 0, "e"], [4427, 0, "m"], [4428, 0, "e"], [4429, 0, "n"], [4430, 0, "t"], [4431, 0, " "], [4432, 0, "f"], [4433, 0, "r"], [4434, 0, "o"], [4435, 0, "m"], [4436, 0, " "], [4437, 0, "a"], [4438, 0, " "], [4439, 0, "l"], [4440, 0, "i"], [4441, 0, "s"], [4442, 0, "t"], [4443, 0, " "], [4444, 0, "o"], [4445, 0, "r"], [4446, 0, " "], [4447, 0, "a"], [4448, 0, " "], [4449, 0, "m"], [4450, 0, "a"], [4451, 0, "p"], [4452, 0, " "], [4453, 0, "("], [4454, 0, "\\"], [4455, 0, "t"], [4456, 0, "e"], [4457, 0, "x"], [4458, 0, "t"], [4459, 0, "f"], [4459, 1], [4459, 0, "s"], [4460, 0, "f"], [4461, 0, "{"], [4462, 0, "d"], [4463, 0, "e"], [4464, 0, "l"], [4465, 0, "e"], [4466, 0, "t"], [4467, 0, "e"], [4468, 0, "}"], [4469, 0, ")"], [4470, 0, ","], [4471, 0, " "], [4472, 0, "o"], [4473, 0, "r"], [4474, 0, " "], [4475, 0, "b"], [4476, 0, "y"], [4477, 0, " "], [4478, 0, "i"], [4479, 0, "n"], [4480, 0, "c"], [4481, 0, "r"], [4482, 0, "e"], [4483, 0, "m"], [4484, 0, "e"], [4485, 0, "n"], [4486, 0, "t"], [4487, 0, "i"], [4488, 0, "n"], [4489, 0, "g"], [4490, 0, " "], [4491, 0, "a"], [4492, 0, " "], [4493, 0, "c"], [4494, 0, "o"], [4495, 0, "u"], [4496, 0, "n"], [4497, 0, "t"], [4498, 0, "e"], [4499, 0, "r"], [4500, 0, " "], [4501, 0, "("], [4502, 0, "\\"], [4503, 0, "t"], [4504, 0, "e"], [4505, 0, "x"], [4506, 0, "t"], [4507, 0, "s"], [4508, 0, "f"], [4509, 0, "{"], [4510, 0, "i"], [4511, 0, "n"], [4512, 0, "c"], [4513, 0, "r"], [4514, 0, "}"], [4515, 0, ")"], [4516, 0, "."], [4517, 0, " "], [4518, 0, "T"], [4519, 0, "h"], [4520, 0, "e"], [4521, 0, " "], [4522, 0, "p"], [4523, 0, "a"], [4524, 0, "r"], [4525, 0, "t"], [4526, 0, " "], [4526, 1], [4525, 1], [4524, 1], [4523, 1], [4522, 1], [4521, 1], [4520, 1], [4519, 1], [4518, 1], [4517, 1], [4517, 0, "\n"], [4518, 0, "\n"], [4519, 0, "T"], [4520, 0, "h"], [4521, 0, "e"], [4522, 0, " "], [4517, 0, " "], [4518, 0, "T"], [4519, 0, "h"], [4520, 0, "e"], [4521, 0, " "], [4522, 0, "p"], [4523, 0, "a"], [4524, 0, "r"], [4525, 0, "t"], [4526, 0, " "], [4527, 0, "o"], [4528, 0, "f"], [4529, 0, " "], [4530, 0, "t"], [4531, 0, "h"], [4532, 0, "e"], [4533, 0, " "], [4534, 0, "d"], [4535, 0, "o"], [4536, 0, "c"], [4537, 0, "u"], [4538, 0, "m"], [4539, 0, "e"], [4540, 0, "n"], [4541, 0, "t"], [4542, 0, " "], [4543, 0, "b"], [4544, 0, "e"], [4545, 0, "i"], [4546, 0, "n"], [4547, 0, "g"], [4548, 0, " "], [4549, 0, "m"], [4550, 0, "o"], [4551, 0, "d"], [4552, 0, "i"], [4553, 0, "f"], [4554, 0, "i"], [4555, 0, "e"], [4556, 0, "d"], [4557, 0, " "], [4558, 0, "i"], [4559, 0, "s"], [4560, 0, " "], [4561, 0, "d"], [4561, 1], [4560, 1], [4559, 1], [4558, 1], [4557, 1], [4556, 1], [4555, 1], [4554, 1], [4553, 1], [4552, 1], [4551, 1], [4550, 1], [4549, 1], [4548, 1], [4547, 1], [4546, 1], [4545, 1], [4544, 1], [4543, 1], [4542, 1], [4541, 1], [4540, 1], [4539, 1], [4538, 1], [4537, 1], [4536, 1], [4535, 1], [4534, 1], [4533, 1], [4532, 1], [4531, 1], [4530, 1], [4529, 1], [4528, 1], [4527, 1], [4526, 1], [4525, 1], [4524, 1], [4523, 1], [4522, 1], [4521, 1], [4521, 0, " "], [4522, 0, "p"], [4523, 0, "r"], [4524, 0, "e"], [4525, 0, "c"], [4526, 0, "e"], [4527, 0, "d"], [4528, 0, "i"], [4529, 0, "n"], [4530, 0, "g"], [4531, 0, " "], [4532, 0, "e"], [4533, 0, "x"], [4534, 0, "p"], [4535, 0, "r"], [4536, 0, "e"], [4537, 0, "s"], [4538, 0, "s"], [4539, 0, "i"], [4540, 0, "o"], [4541, 0, "n"], [4542, 0, " "], [4543, 0, "E"], [4544, 0, "X"], [4545, 0, "P"], [4546, 0, "R"], [4547, 0, " "], [4548, 0, "i"], [4549, 0, "d"], [4550, 0, "e"], [4551, 0, "n"], [4552, 0, "t"], [4553, 0, "i"], [4554, 0, "f"], [4555, 0, "i"], [4556, 0, "e"], [4557, 0, "s"], [4558, 0, " "], [4559, 0, "t"], [4560, 0, "h"], [4561, 0, "e"], [4562, 0, " "], [4563, 0, "p"], [4564, 0, "a"], [4565, 0, "r"], [4566, 0, "t"], [4567, 0, " "], [4568, 0, "o"], [4569, 0, "f"], [4570, 0, " "], [4571, 0, "t"], [4572, 0, "h"], [4573, 0, "e"], [4574, 0, " "], [4575, 0, "d"], [4576, 0, "o"], [4577, 0, "c"], [4578, 0, "u"], [4579, 0, "m"], [4580, 0, "e"], [4581, 0, "n"], [4582, 0, "t"], [4583, 0, " "], [4584, 0, "b"], [4585, 0, "e"], [4586, 0, "i"], [4587, 0, "n"], [4588, 0, "g"], [4589, 0, " "], [4590, 0, "m"], [4591, 0, "o"], [4592, 0, "d"], [4593, 0, "i"], [4594, 0, "f"], [4595, 0, "i"], [4596, 0, "e"], [4597, 0, "d"], [4598, 0, "."], [4604, 1], [4603, 1], [4602, 1], [4601, 1], [4601, 0, "F"], [4602, 0, "i"], [4603, 0, "g"], [4604, 0, "u"], [4605, 0, "r"], [4606, 0, "e"], [4607, 0, "~"], [4608, 0, "\\"], [4609, 0, "r"], [4610, 0, "e"], [4611, 0, "f"], [4612, 0, "{"], [4613, 0, "f"], [4614, 0, "i"], [4615, 0, "g"], [4616, 0, ":"], [4617, 0, "m"], [4618, 0, "a"], [4619, 0, "k"], [4620, 0, "e"], [4621, 0, "-"], [4622, 0, "d"], [4623, 0, "o"], [4624, 0, "c"], [4625, 0, "}"], [4626, 0, " "], [4627, 0, "s"], [4628, 0, "h"], [4629, 0, "o"], [4630, 0, "w"], [4631, 0, "s"], [4632, 0, " "], [4633, 0, "a"], [4634, 0, "n"], [4635, 0, " "], [4636, 0, "e"], [4637, 0, "x"], [4638, 0, "a"], [4639, 0, "m"], [4640, 0, "p"], [4641, 0, "l"], [4642, 0, "e"], [4643, 0, " "], [4644, 0, "o"], [4645, 0, "f"], [4646, 0, " "], [4647, 0, "a"], [4648, 0, " "], [4649, 0, "s"], [4650, 0, "e"], [4651, 0, "q"], [4652, 0, "u"], [4653, 0, "e"], [4654, 0, "n"], [4655, 0, "c"], [4656, 0, "e"], [4657, 0, " "], [4658, 0, "o"], [4659, 0, "f"], [4660, 0, " "], [4661, 0, "c"], [4662, 0, "o"], [4663, 0, "m"], [4664, 0, "m"], [4665, 0, "a"], [4666, 0, "n"], [4667, 0, "d"], [4668, 0, "s"], [4669, 0, " "], [4670, 0, "c"], [4671, 0, "o"], [4672, 0, "n"], [4673, 0, "s"], [4674, 0, "t"], [4675, 0, "r"], [4676, 0, "u"], [4677, 0, "c"], [4678, 0, "t"], [4679, 0, "i"], [4680, 0, "n"], [4681, 0, "g"], [4682, 0, " "], [4683, 0, "a"], [4684, 0, " "], [4685, 0, "n"], [4686, 0, "e"], [4687, 0, "w"], [4688, 0, " "], [4689, 0, "d"], [4690, 0, "o"], [4691, 0, "c"], [4692, 0, "u"], [4693, 0, "m"], [4694, 0, "e"], [4695, 0, "n"], [4696, 0, "t"], [4697, 0, " "], [4698, 0, "r"], [4699, 0, "e"], [4700, 0, "p"], [4701, 0, "r"], [4702, 0, "e"], [4703, 0, "s"], [4704, 0, "e"], [4705, 0, "n"], [4706, 0, "t"], [4707, 0, "i"], [4708, 0, "n"], [4709, 0, "g"], [4710, 0, "a"], [4711, 0, " "], [4711, 1], [4710, 1], [4710, 0, " "], [4711, 0, "a"], [4712, 0, " "], [4713, 0, "s"], [4714, 0, "h"], [4715, 0, "o"], [4716, 0, "p"], [4717, 0, "p"], [4718, 0, "i"], [4719, 0, "n"], [4720, 0, "g"], [4721, 0, " "], [4722, 0, "l"], [4723, 0, "i"], [4724, 0, "s"], [4725, 0, "t"], [4726, 0, "."], [4727, 0, " "], [4728, 0, "F"], [4729, 0, "i"], [4730, 0, "r"], [4731, 0, "s"], [4732, 0, "t"], [4733, 0, " "], [4734, 0, "\\"], [4735, 0, "t"], [4736, 0, "e"], [4737, 0, "x"], [4738, 0, "t"], [4739, 0, "s"], [4740, 0, "f"], [4741, 0, "{"], [4742, 0, "d"], [4743, 0, "o"], [4744, 0, "c"], [4745, 0, "}"], [4746, 0, " "], [4747, 0, "i"], [4748, 0, "s"], [4749, 0, " "], [4750, 0, "a"], [4751, 0, "s"], [4752, 0, "s"], [4752, 1], [4751, 1], [4750, 1], [4750, 0, "s"], [4751, 0, "e"], [4752, 0, "t"], [4753, 0, " "], [4754, 0, "t"], [4755, 0, "o"], [4756, 0, " "], [4757, 0, "\\"], [4758, 0, "v"], [4759, 0, "e"], [4760, 0, "r"], [4761, 0, "b"], [4762, 0, "|"], [4763, 0, "{"], [4764, 0, "}"], [4765, 0, "|"], [4766, 0, ","], [4767, 0, " "], [4768, 0, "t"], [4769, 0, "h"], [4770, 0, "e"], [4771, 0, " "], [4772, 0, "e"], [4773, 0, "m"], [4774, 0, "p"], [4775, 0, "t"], [4776, 0, "y"], [4777, 0, " "], [4778, 0, "m"], [4779, 0, "a"], [4780, 0, "p"], [4781, 0, " "], [4782, 0, "l"], [4783, 0, "i"], [4784, 0, "t"], [4785, 0, "e"], [4786, 0, "r"], [4787, 0, "a"], [4788, 0, "l"], [4789, 0, "."], [4790, 0, " "], [4791, 0, "W"], [4792, 0, "i"], [4793, 0, "t"], [4794, 0, "h"], [4795, 0, "i"], [4796, 0, "n"], [4797, 0, " "], [4798, 0, "t"], [4799, 0, "h"], [4800, 0, "a"], [4801, 0, "t"], [4802, 0, " "], [4803, 0, "m"], [4804, 0, "a"], [4805, 0, "p"], [4806, 0, ","], [4807, 0, " "], [4808, 0, "t"], [4809, 0, "h"], [4810, 0, "e"], [4811, 0, " "], [4812, 0, "k"], [4813, 0, "e"], [4814, 0, "y"], [4815, 0, " "], [4816, 0, "\\"], [4817, 0, "\""], [4817, 1], [4816, 1], [4816, 0, "\\"], [4817, 0, "v"], [4818, 0, "e"], [4819, 0, "r"], [4820, 0, "b"], [4821, 0, "|"], [4822, 0, "\""], [4823, 0, "s"], [4824, 0, "h"], [4825, 0, "o"], [4826, 0, "p"], [4827, 0, "p"], [4828, 0, "i"], [4829, 0, "n"], [4830, 0, "g"], [4831, 0, "\""], [4832, 0, "|"], [4833, 0, " "], [4834, 0, "i"], [4835, 0, "s"], [4836, 0, " "], [4837, 0, "s"], [4838, 0, "e"], [4839, 0, "t"], [4840, 0, " "], [4841, 0, "t"], [4842, 0, "o"], [4843, 0, " "], [4844, 0, "t"], [4845, 0, "h"], [4846, 0, "e"], [4847, 0, " "], [4848, 0, "e"], [4849, 0, "m"], [4850, 0, "p"], [4851, 0, "t"], [4852, 0, "y"], [4853, 0, " "], [4854, 0, "l"], [4855, 0, "i"], [4856, 0, "s"], [4857, 0, "t"], [4858, 0, " "], [4859, 0, "\\"], [4860, 0, "v"], [4861, 0, "e"], [4862, 0, "r"], [4863, 0, "b"], [4864, 0, "|"], [4865, 0, "["], [4866, 0, "]"], [4867, 0, "|"], [4868, 0, ","], [4869, 0, " "], [4870, 0, "a"], [4871, 0, "n"], [4872, 0, "d"], [4873, 0, " "], [4874, 0, "t"], [4875, 0, "h"], [4876, 0, "e"], [4877, 0, "n"], [4878, 0, " "], [4879, 0, "t"], [4880, 0, "h"], [4881, 0, "r"], [4882, 0, "e"], [4883, 0, "e"], [4884, 0, " "], [4885, 0, "i"], [4886, 0, "t"], [4887, 0, "e"], [4888, 0, "m"], [4889, 0, "s"], [4890, 0, " "], [4891, 0, "a"], [4892, 0, "r"], [4893, 0, "e"], [4894, 0, " "], [4895, 0, "i"], [4896, 0, "n"], [4897, 0, "s"], [4898, 0, "e"], [4899, 0, "r"], [4900, 0, "t"], [4901, 0, "e"], [4902, 0, "d"], [4903, 0, " "], [4904, 0, "i"], [4905, 0, "n"], [4906, 0, "t"], [4907, 0, "o"], [4908, 0, " "], [4909, 0, "t"], [4910, 0, "h"], [4911, 0, "e"], [4912, 0, " "], [4913, 0, "l"], [4914, 0, "i"], [4915, 0, "s"], [4916, 0, "t"], [4917, 0, "."], [4918, 0, " "], [4919, 0, "T"], [4920, 0, "h"], [4921, 0, "e"], [4922, 0, " "], [4923, 0, "\\"], [4924, 0, "t"], [4925, 0, "e"], [4926, 0, "x"], [4927, 0, "t"], [4928, 0, "s"], [4929, 0, "f"], [4930, 0, "{"], [4931, 0, "i"], [4932, 0, "n"], [4933, 0, "s"], [4934, 0, "e"], [4935, 0, "r"], [4936, 0, "t"], [4937, 0, "}"], [4938, 0, " "], [4939, 0, "c"], [4940, 0, "o"], [4941, 0, "m"], [4942, 0, "m"], [4943, 0, "a"], [4944, 0, "n"], [4945, 0, "d"], [4946, 0, " "], [4547, 0, " "], [4548, 0, "a"], [4549, 0, "c"], [4550, 0, "t"], [4551, 0, "s"], [4552, 0, " "], [4553, 0, "a"], [4554, 0, "s"], [4555, 0, " "], [4556, 0, "a"], [4557, 0, " "], [4558, 0, "c"], [4559, 0, "u"], [4560, 0, "r"], [4561, 0, "s"], [4562, 0, "o"], [4563, 0, "r"], [4564, 0, ","], [4575, 1], [4574, 1], [4573, 1], [4573, 0, "y"], [4574, 0, "i"], [4575, 0, "n"], [4576, 0, "g"], [4966, 0, "a"], [4967, 0, "d"], [4968, 0, "d"], [4969, 0, "s"], [4970, 0, " "], [4971, 0, "a"], [4972, 0, "n"], [4973, 0, " "], [4973, 1], [4972, 1], [4972, 0, " "], [4973, 0, "n"], [4974, 0, "e"], [4975, 0, "w"], [4976, 0, " "], [4977, 0, "l"], [4978, 0, "i"], [4979, 0, "s"], [4980, 0, "t"], [4981, 0, " "], [4982, 0, "a"], [4982, 1], [4982, 0, "e"], [4983, 0, "l"], [4984, 0, "e"], [4985, 0, "m"], [4986, 0, "e"], [4987, 0, "n"], [4988, 0, "t"], [4989, 0, " "], [4990, 0, "\\"], [4991, 0, "e"], [4992, 0, "m"], [4993, 0, "p"], [4994, 0, "h"], [4995, 0, "{"], [4996, 0, "a"], [4997, 0, "f"], [4998, 0, "t"], [4999, 0, "e"], [5000, 0, "r"], [5001, 0, "}"], [5002, 0, " "], [5003, 0, "t"], [5004, 0, "h"], [5005, 0, "e"], [5006, 0, " "], [5007, 0, "c"], [5008, 0, "u"], [5009, 0, "r"], [5010, 0, "r"], [5011, 0, "e"], [5012, 0, "n"], [5013, 0, "t"], [5014, 0, " "], [5015, 0, "c"], [5016, 0, "u"], [5017, 0, "r"], [5018, 0, "s"], [5019, 0, "o"], [5020, 0, "r"], [5021, 0, " "], [5022, 0, "p"], [5023, 0, "o"], [5024, 0, "s"], [5025, 0, "i"], [5026, 0, "t"], [5027, 0, "i"], [5028, 0, "o"], [5029, 0, "n"], [5030, 0, ","], [5031, 0, " "], [5032, 0, "a"], [5033, 0, "n"], [5034, 0, "d"], [5035, 0, " "], [5036, 0, "r"], [5037, 0, "e"], [5038, 0, "t"], [5039, 0, "u"], [5040, 0, "r"], [5041, 0, "n"], [5042, 0, "s"], [5043, 0, " "], [5044, 0, "t"], [5045, 0, "h"], [5046, 0, "e"], [5047, 0, " "], [5048, 0, "c"], [5049, 0, "u"], [5050, 0, "r"], [5051, 0, "s"], [5052, 0, "o"], [5053, 0, "r"], [5054, 0, " "], [5055, 0, "p"], [5056, 0, "o"], [5057, 0, "s"], [5058, 0, "i"], [5059, 0, "t"], [5060, 0, "i"], [5061, 0, "o"], [5062, 0, "n"], [5063, 0, " "], [5064, 0, "o"], [5065, 0, "f"], [5066, 0, " "], [5067, 0, "t"], [5068, 0, "h"], [5069, 0, "e"], [5070, 0, " "], [5071, 0, "n"], [5072, 0, "e"], [5073, 0, "w"], [5074, 0, " "], [5074, 1], [5074, 0, "l"], [5075, 0, "y"], [5076, 0, " "], [5077, 0, "i"], [5078, 0, "n"], [5079, 0, "s"], [5080, 0, "e"], [5081, 0, "r"], [5082, 0, "t"], [5083, 0, "e"], [5084, 0, "d"], [5085, 0, " "], [5086, 0, "e"], [5087, 0, "l"], [5088, 0, "e"], [5089, 0, "m"], [5090, 0, "e"], [5091, 0, "n"], [5092, 0, "t"], [5093, 0, "."], [5094, 0, " "], [5095, 0, "T"], [5096, 0, "h"], [5097, 0, "u"], [5098, 0, "s"], [5099, 0, ","], [5100, 0, " "], [5101, 0, "\\"], [5101, 1], [5101, 0, "m"], [5102, 0, "i"], [5103, 0, "l"], [5104, 0, "k"], [5105, 0, " "], [5106, 0, "i"], [5107, 0, "s"], [5108, 0, " "], [5109, 0, "i"], [5110, 0, "n"], [5111, 0, "s"], [5112, 0, "e"], [5113, 0, "r"], [5114, 0, "t"], [5115, 0, "e"], [5116, 0, "d"], [5117, 0, " "], [5118, 0, "a"], [5119, 0, "f"], [5120, 0, "t"], [5121, 0, "e"], [5122, 0, "r"], [5123, 0, " "], [5124, 0, "e"], [5125, 0, "g"], [5126, 0, "g"], [5127, 0, "s"], [5128, 0, ","], [5129, 0, " "], [5130, 0, "b"], [5131, 0, "u"], [5132, 0, "t"], [5133, 0, " "], [5134, 0, "c"], [5135, 0, "h"], [5136, 0, "e"], [5137, 0, "e"], [5138, 0, "s"], [5139, 0, "e"], [5140, 0, " "], [5141, 0, "i"], [5142, 0, "n"], [5143, 0, "s"], [5143, 1], [5142, 1], [5142, 0, "s"], [5143, 0, " "], [5144, 0, "i"], [5145, 0, "n"], [5146, 0, "s"], [5147, 0, "e"], [5148, 0, "r"], [5149, 0, "t"], [5150, 0, "e"], [5151, 0, "d"], [5152, 0, " "], [5153, 0, "a"], [5154, 0, "t"], [5155, 0, " "], [5094, 0, " "], [5095, 0, "I"], [5096, 0, "f"], [5097, 0, " "], [5098, 0, "t"], [5099, 0, "h"], [5100, 0, "e"], [5101, 0, " "], [5102, 0, "c"], [5103, 0, "u"], [5104, 0, "r"], [5105, 0, "s"], [5106, 0, "o"], [5107, 0, "r"], [5108, 0, " "], [5109, 0, "r"], [5110, 0, "e"], [5111, 0, "f"], [5112, 0, "e"], [5113, 0, "r"], [5114, 0, "s"], [5115, 0, " "], [5116, 0, "t"], [5117, 0, "o"], [5118, 0, " "], [5119, 0, "t"], [5120, 0, "h"], [5121, 0, "e"], [5122, 0, " "], [5123, 0, "l"], [5124, 0, "i"], [5125, 0, "s"], [5126, 0, "t"], [5127, 0, " "], [5128, 0, "a"], [5129, 0, "s"], [5130, 0, " "], [5131, 0, "a"], [5132, 0, " "], [5133, 0, "w"], [5134, 0, "h"], [5135, 0, "o"], [5136, 0, "l"], [5137, 0, "e"], [5138, 0, ","], [5139, 0, " "], [5140, 0, "i"], [5141, 0, "n"], [5142, 0, "s"], [5143, 0, "e"], [5144, 0, "r"], [5145, 0, "t"], [5146, 0, "i"], [5147, 0, "o"], [5148, 0, "n"], [5149, 0, " "], [5150, 0, "h"], [5151, 0, "a"], [5152, 0, "p"], [5153, 0, "p"], [5154, 0, "e"], [5155, 0, "n"], [5156, 0, "s"], [5157, 0, " "], [5158, 0, "a"], [5159, 0, "t"], [5160, 0, " "], [5161, 0, "t"], [5162, 0, "h"], [5163, 0, "e"], [5164, 0, " "], [5165, 0, "h"], [5166, 0, "e"], [5167, 0, "a"], [5168, 0, "d"], [5169, 0, " "], [5170, 0, "o"], [5171, 0, "f"], [5172, 0, " "], [5173, 0, "t"], [5174, 0, "h"], [5175, 0, "e"], [5176, 0, " "], [5177, 0, "l"], [5178, 0, "i"], [5179, 0, "s"], [5180, 0, "t"], [5181, 0, "."], [2767, 0, "."], [2768, 0, "n"], [2769, 0, "e"], [2770, 0, "x"], [2771, 0, "t"], [2784, 1], [2783, 1], [2782, 1], [2781, 1], [2780, 1], [2779, 1], [2778, 1], [2777, 1], [2776, 1], [2775, 1], [2774, 1], [2773, 1], [4818, 1], [4817, 1], [4816, 1], [4815, 1], [4814, 1], [4813, 1], [4812, 1], [4811, 1], [4810, 1], [4809, 1], [4808, 1], [4807, 1], [4806, 1], [4805, 1], [4804, 1], [4803, 1], [4803, 0, "T"], [4804, 0, "h"], [4805, 0, "e"], [4806, 0, " "], [4807, 0, "s"], [4808, 0, "e"], [4809, 0, "c"], [4810, 0, "o"], [4811, 0, "n"], [4812, 0, "d"], [4813, 0, " "], [4814, 0, "l"], [4815, 0, "i"], [4816, 0, "n"], [4817, 0, "e"], [4818, 0, " "], [4819, 0, "n"], [4820, 0, "a"], [4821, 0, "v"], [4822, 0, "i"], [4823, 0, "g"], [4824, 0, "a"], [4825, 0, "t"], [4826, 0, "e"], [4827, 0, "s"], [4828, 0, " "], [4829, 0, "t"], [4830, 0, "o"], [4858, 0, "("], [4859, 0, "w"], [4860, 0, "h"], [4861, 0, "i"], [4862, 0, "c"], [4863, 0, "h"], [4864, 0, " "], [4865, 0, "i"], [4866, 0, "s"], [4867, 0, " "], [4868, 0, "i"], [4869, 0, "m"], [4870, 0, "p"], [4871, 0, "l"], [4872, 0, "i"], [4873, 0, "c"], [4874, 0, "i"], [4875, 0, "t"], [4876, 0, "l"], [4877, 0, "y"], [4878, 0, " "], [4879, 0, "c"], [4880, 0, "r"], [4881, 0, "e"], [4882, 0, "a"], [4883, 0, "t"], [4884, 0, "e"], [4885, 0, "d"], [4886, 0, " "], [4887, 0, "i"], [4888, 0, "f"], [4889, 0, " "], [4890, 0, "i"], [4891, 0, "t"], [4892, 0, " "], [4893, 0, "d"], [4894, 0, "o"], [4895, 0, "e"], [4896, 0, "s"], [4897, 0, " "], [4898, 0, "n"], [4899, 0, "o"], [4900, 0, "t"], [4901, 0, " "], [4902, 0, "e"], [4903, 0, "x"], [4904, 0, "i"], [4905, 0, "s"], [4906, 0, "t"], [4907, 0, ")"], [4908, 0, ","], [4909, 0, " "], [4910, 0, "a"], [4911, 0, "n"], [4912, 0, "d"], [4913, 0, " "], [4914, 0, "c"], [4915, 0, "a"], [4916, 0, "l"], [4917, 0, "l"], [4918, 0, "s"], [4919, 0, " "], [4920, 0, "\\"], [4921, 0, "t"], [4922, 0, "e"], [4923, 0, "x"], [4924, 0, "t"], [4925, 0, "s"], [4926, 0, "f"], [4927, 0, "{"], [4928, 0, "n"], [4929, 0, "e"], [4930, 0, "x"], [4931, 0, "t"], [4932, 0, "}"], [4933, 0, ","], [4934, 0, " "], [4935, 0, "w"], [4936, 0, "h"], [4937, 0, "i"], [4938, 0, "c"], [4939, 0, "h"], [4940, 0, " "], [4941, 0, "m"], [4942, 0, "o"], [4943, 0, "v"], [4944, 0, "e"], [4945, 0, "s"], [4946, 0, " "], [4947, 0, "t"], [4948, 0, "o"], [4949, 0, " "], [4950, 0, "t"], [4951, 0, "h"], [4952, 0, "e"], [4953, 0, " "], [4953, 1], [4952, 1], [4951, 1], [4950, 1], [4949, 1], [4948, 1], [4947, 1], [4946, 1], [4945, 1], [4944, 1], [4943, 1], [4942, 1], [4941, 1], [4941, 0, "t"], [4942, 0, "r"], [4943, 0, "e"], [4944, 0, "a"], [4945, 0, "t"], [4946, 0, "s"], [4947, 0, " "], [4948, 0, "t"], [4949, 0, "h"], [4950, 0, "e"], [4951, 0, " "], [4952, 0, "v"], [4953, 0, "a"], [4954, 0, "l"], [4955, 0, "u"], [4956, 0, "e"], [4957, 0, " "], [4958, 0, "a"], [4959, 0, "t"], [4960, 0, " "], [4961, 0, "t"], [4962, 0, "h"], [4963, 0, "a"], [4964, 0, "t"], [4965, 0, " "], [4966, 0, "k"], [4967, 0, "e"], [4968, 0, "y"], [4969, 0, " "], [4970, 0, "a"], [4971, 0, "s"], [4972, 0, " "], [4973, 0, "a"], [4974, 0, " "], [4975, 0, "l"], [4976, 0, "i"], [4977, 0, "s"], [4978, 0, "t"], [4979, 0, " "], [4980, 0, "a"], [4981, 0, "n"], [4982, 0, "d"], [4983, 0, " "], [4984, 0, "s"], [4985, 0, "e"], [4986, 0, "l"], [4987, 0, "e"], [4988, 0, "c"], [4989, 0, "t"], [4990, 0, "s"], [4991, 0, " "], [4992, 0, "t"], [4993, 0, "h"], [4994, 0, "e"], [4995, 0, " "], [4996, 0, "h"], [4997, 0, "e"], [4998, 0, "a"], [4999, 0, "d"], [5000, 0, " "], [5001, 0, "o"], [5002, 0, "f"], [5003, 0, " "], [5004, 0, "t"], [5005, 0, "h"], [5006, 0, "e"], [5007, 0, " "], [5008, 0, "l"], [5009, 0, "i"], [5010, 0, "s"], [5011, 0, "t"], [5012, 0, "."], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 1], [5013, 0, " "], [5014, 0, "F"], [5015, 0, "i"], [5016, 0, "n"], [5017, 0, "a"], [5018, 0, "l"], [5019, 0, "l"], [5020, 0, "y"], [5021, 0, ","], [5307, 1], [5306, 1], [5305, 1], [5304, 1], [5303, 1], [5302, 1], [5301, 1], [5300, 1], [5299, 1], [5298, 1], [5297, 1], [5296, 1], [5295, 1], [5294, 1], [5293, 1], [5292, 1], [5291, 1], [5290, 1], [5289, 1], [5288, 1], [5287, 1], [5286, 1], [5285, 1], [5284, 1], [5283, 1], [5282, 1], [5281, 1], [5280, 1], [5279, 1], [5278, 1], [5277, 1], [5276, 1], [5275, 1], [5274, 1], [5273, 1], [5272, 1], [5271, 1], [5270, 1], [5269, 1], [5268, 1], [5267, 1], [5266, 1], [5265, 1], [5264, 1], [5263, 1], [5262, 1], [5261, 1], [5260, 1], [5259, 1], [5258, 1], [5257, 1], [5256, 1], [5255, 1], [5254, 1], [5253, 1], [5252, 1], [5251, 1], [5250, 1], [5249, 1], [5248, 1], [5247, 1], [5246, 1], [5245, 1], [5244, 1], [5243, 1], [5242, 1], [5241, 1], [5240, 1], [5239, 1], [5238, 1], [5237, 1], [5236, 1], [5235, 1], [5234, 1], [5233, 1], [5232, 1], [5231, 1], [5230, 1], [5229, 1], [5228, 1], [5227, 1], [5226, 1], [5225, 1], [5224, 1], [5223, 1], [5222, 1], [5221, 1], [5220, 1], [5281, 0, "t"], [5282, 0, "h"], [5283, 0, "e"], [5284, 0, " "], [5285, 0, "h"], [5286, 0, "e"], [5287, 0, "a"], [5288, 0, "d"], [5289, 0, " "], [5290, 0, "o"], [5291, 0, "f"], [5292, 0, " "], [5293, 0, "t"], [5294, 0, "h"], [5295, 0, "e"], [5296, 0, " "], [5297, 0, "l"], [5298, 0, "i"], [5299, 0, "s"], [5300, 0, "t"], [5301, 0, ","], [5302, 0, " "], [5303, 0, "b"], [5304, 0, "e"], [5305, 0, "c"], [5306, 0, "a"], [5307, 0, "u"], [5308, 0, "s"], [5309, 0, "e"], [5310, 0, " "], [5311, 0, "t"], [5312, 0, "h"], [5313, 0, "e"], [5314, 0, " "], [5315, 0, "v"], [5316, 0, "a"], [5317, 0, "r"], [5318, 0, "i"], [5319, 0, "a"], [5320, 0, "b"], [5321, 0, "l"], [5322, 0, "e"], [5323, 0, " "], [5324, 0, "\\"], [5325, 0, "v"], [5326, 0, "e"], [5327, 0, "r"], [5328, 0, "b"], [5329, 0, "|"], [5330, 0, "l"], [5331, 0, "i"], [5332, 0, "s"], [5333, 0, "t"], [5334, 0, "|"], [5335, 0, " "], [5336, 0, "c"], [5337, 0, "o"], [5338, 0, "n"], [5339, 0, "t"], [5340, 0, "i"], [5341, 0, "n"], [5342, 0, "u"], [5343, 0, "e"], [5344, 0, "s"], [5345, 0, " "], [5346, 0, "t"], [5347, 0, "o"], [5348, 0, " "], [5349, 0, "r"], [5350, 0, "e"], [5351, 0, "f"], [5352, 0, "e"], [5353, 0, "r"], [5354, 0, " "], [5355, 0, "t"], [5356, 0, "o"], [5357, 0, " "], [5358, 0, "t"], [5359, 0, "h"], [5360, 0, "e"], [5361, 0, " "], [5362, 0, "h"], [5363, 0, "e"], [5364, 0, "a"], [5365, 0, "d"], [5366, 0, "."], [5367, 0, "\n"], [5368, 0, "\n"], [5369, 0, "A"], [5370, 0, " "], [5371, 0, "f"], [5372, 0, "e"], [5373, 0, "w"], [5374, 0, " "], [5375, 0, "f"], [5376, 0, "e"], [5377, 0, "a"], [5378, 0, "t"], [5379, 0, "u"], [5380, 0, "r"], [5381, 0, "e"], [5382, 0, "s"], [5383, 0, " "], [5384, 0, "o"], [5385, 0, "f"], [5386, 0, " "], [5387, 0, "t"], [5388, 0, "h"], [5389, 0, "i"], [5390, 0, "s"], [5391, 0, " "], [5392, 0, "l"], [5393, 0, "a"], [5394, 0, "n"], [5395, 0, "g"], [5396, 0, "u"], [5397, 0, "a"], [5398, 0, "g"], [5399, 0, "e"], [5400, 0, " "], [5401, 0, "d"], [5402, 0, "e"], [5403, 0, "l"], [5404, 0, "i"], [5405, 0, "b"], [5406, 0, "e"], [5407, 0, "r"], [5408, 0, "a"], [5409, 0, "t"], [5410, 0, "e"], [5411, 0, "l"], [5412, 0, "y"], [5413, 0, " "], [5414, 0, "d"], [5415, 0, "i"], [5416, 0, "f"], [5417, 0, "f"], [5418, 0, "e"], [5419, 0, "r"], [5420, 0, " "], [5421, 0, "f"], [5422, 0, "r"], [5423, 0, "o"], [5424, 0, "m"], [5425, 0, " "], [5426, 0, "m"], [5427, 0, "o"], [5428, 0, "s"], [5429, 0, "t"], [5430, 0, " "], [5431, 0, "m"], [5432, 0, "a"], [5433, 0, "i"], [5434, 0, "n"], [5435, 0, "s"], [5436, 0, "t"], [5437, 0, "e"], [5437, 1], [5437, 0, "r"], [5438, 0, "e"], [5439, 0, "a"], [5440, 0, "m"], [5441, 0, " "], [5442, 0, "p"], [5443, 0, "r"], [5444, 0, "o"], [5445, 0, "g"], [5446, 0, "r"], [5447, 0, "a"], [5448, 0, "m"], [5449, 0, "m"], [5450, 0, "i"], [5451, 0, "n"], [5452, 0, "g"], [5453, 0, " "], [5454, 0, "l"], [5455, 0, "a"], [5456, 0, "n"], [5457, 0, "g"], [5458, 0, "u"], [5459, 0, "a"], [5460, 0, "g"], [5461, 0, "e"], [5462, 0, "s"], [5463, 0, ":"], [5464, 0, " "], [5465, 0, "t"], [5466, 0, "h"], [5466, 1], [5465, 1], [5465, 0, "k"], [5466, 0, "e"], [5467, 0, "y"], [5468, 0, "s"], [5469, 0, " "], [5470, 0, "i"], [5471, 0, "n"], [5472, 0, " "], [5473, 0, "m"], [5474, 0, "a"], [5475, 0, "p"], [5476, 0, "s"], [5477, 0, " "], [5478, 0, "a"], [5479, 0, "r"], [5480, 0, "e"], [5481, 0, " "], [5482, 0, "i"], [5483, 0, "m"], [5484, 0, "p"], [5485, 0, "l"], [5486, 0, "i"], [5487, 0, "c"], [5488, 0, "i"], [5489, 0, "t"], [5490, 0, "l"], [5491, 0, "y"], [5492, 0, " "], [5493, 0, "c"], [5494, 0, "r"], [5495, 0, "e"], [5496, 0, "a"], [5497, 0, "t"], [5498, 0, "e"], [5499, 0, "d"], [5500, 0, " "], [5501, 0, "w"], [5502, 0, "h"], [5503, 0, "e"], [5504, 0, "n"], [5505, 0, " "], [5506, 0, "t"], [5507, 0, "h"], [5508, 0, "e"], [5509, 0, "y"], [5510, 0, " "], [5511, 0, "a"], [5512, 0, "r"], [5513, 0, "e"], [5514, 0, " "], [5515, 0, "f"], [5516, 0, "i"], [5517, 0, "r"], [5518, 0, "s"], [5519, 0, "t"], [5520, 0, " "], [5521, 0, "a"], [5522, 0, "c"], [5523, 0, "c"], [5524, 0, "e"], [5525, 0, "s"], [5526, 0, "s"], [5527, 0, "e"], [5528, 0, "d"], [5529, 0, ";"], [5530, 0, " "], [5531, 0, "l"], [5532, 0, "i"], [5533, 0, "s"], [5534, 0, "t"], [5535, 0, "s"], [5536, 0, " "], [5537, 0, "c"], [5538, 0, "a"], [5539, 0, "n"], [5540, 0, " "], [5541, 0, "o"], [5542, 0, "n"], [5543, 0, "l"], [5544, 0, "y"], [5545, 0, " "], [5546, 0, "n"], [5546, 1], [5546, 0, "b"], [5547, 0, "e"], [5548, 0, " "], [5549, 0, "n"], [5550, 0, "a"], [5551, 0, "v"], [5552, 0, "i"], [5553, 0, "g"], [5554, 0, "a"], [5555, 0, "t"], [5556, 0, "e"], [5557, 0, "d"], [5558, 0, " "], [5559, 0, "b"], [5560, 0, "y"], [5561, 0, " "], [5562, 0, "i"], [5563, 0, "t"], [5564, 0, "e"], [5565, 0, "r"], [5566, 0, "a"], [5567, 0, "t"], [5568, 0, "i"], [5569, 0, "o"], [5570, 0, "n"], [5571, 0, " "], [5572, 0, "("], [5573, 0, "\\"], [5574, 0, "t"], [5575, 0, "e"], [5576, 0, "x"], [5577, 0, "t"], [5578, 0, "s"], [5579, 0, "f"], [5580, 0, "{"], [5581, 0, "n"], [5582, 0, "e"], [5583, 0, "x"], [5584, 0, "t"], [5585, 0, "}"], [5586, 0, ")"], [5587, 0, " "], [5588, 0, "b"], [5589, 0, "u"], [5590, 0, "t"], [5591, 0, " "], [5592, 0, "n"], [5593, 0, "o"], [5594, 0, "t"], [5595, 0, " "], [5596, 0, "b"], [5597, 0, "y"], [5598, 0, " "], [5599, 0, "i"], [5600, 0, "n"], [5601, 0, "d"], [5602, 0, "e"], [5603, 0, "x"], [5604, 0, ";"], [5605, 0, " "], [5606, 0, "a"], [5607, 0, "n"], [5608, 0, "d"], [5609, 0, " "], [5610, 0, "t"], [5611, 0, "h"], [5612, 0, "e"], [5613, 0, " "], [5614, 0, "l"], [5615, 0, "a"], [5616, 0, "n"], [5617, 0, "g"], [5618, 0, "u"], [5619, 0, "a"], [5620, 0, "g"], [5621, 0, "e"], [5622, 0, " "], [5623, 0, "h"], [5624, 0, "a"], [5625, 0, "s"], [5626, 0, " "], [5627, 0, "l"], [5628, 0, "i"], [5629, 0, "t"], [5630, 0, "e"], [5631, 0, "r"], [5632, 0, "a"], [5633, 0, "l"], [5634, 0, "s"], [5635, 0, " "], [5636, 0, "f"], [5637, 0, "o"], [5638, 0, "r"], [5639, 0, " "], [5640, 0, "e"], [5641, 0, "m"], [5642, 0, "p"], [5643, 0, "t"], [5644, 0, "y"], [5645, 0, " "], [5646, 0, "m"], [5647, 0, "a"], [5648, 0, "p"], [5649, 0, "s"], [5650, 0, " "], [5651, 0, "a"], [5652, 0, "n"], [5653, 0, "d"], [5654, 0, " "], [5655, 0, "l"], [5656, 0, "i"], [5657, 0, "s"], [5658, 0, "t"], [5659, 0, "s"], [5660, 0, ","], [5661, 0, " "], [5662, 0, "b"], [5663, 0, "u"], [5664, 0, "t"], [5665, 0, " "], [5666, 0, "n"], [5667, 0, "o"], [5668, 0, "t"], [5669, 0, " "], [5670, 0, "f"], [5671, 0, "o"], [5672, 0, "r"], [5673, 0, " "], [5674, 0, "m"], [5675, 0, "a"], [5676, 0, "p"], [5677, 0, "s"], [5678, 0, " "], [5678, 1], [5678, 0, " "], [5679, 0, "a"], [5680, 0, "n"], [5681, 0, "d"], [5682, 0, " "], [5683, 0, "l"], [5684, 0, "i"], [5685, 0, "s"], [5686, 0, "t"], [5687, 0, "s"], [5688, 0, " "], [5689, 0, "c"], [5689, 1], [5688, 1], [5687, 1], [5686, 1], [5685, 1], [5684, 1], [5683, 1], [5682, 1], [5681, 1], [5680, 1], [5679, 1], [5678, 1], [5677, 1], [5676, 1], [5675, 1], [5674, 1], [5673, 1], [5672, 1], [5671, 1], [5670, 1], [5669, 1], [5668, 1], [5667, 1], [5666, 1], [5665, 1], [5664, 1], [5663, 1], [5662, 1], [5661, 1], [5660, 1], [5646, 0, "b"], [5646, 1], [5660, 0, ","], [5661, 0, " "], [5662, 0, "b"], [5663, 0, "u"], [5664, 0, "t"], [5665, 0, " "], [5666, 0, "n"], [5667, 0, "o"], [5668, 0, "t"], [5669, 0, " "], [5670, 0, "f"], [5671, 0, "o"], [5672, 0, "r"], [5673, 0, " "], [5674, 0, "n"], [5675, 0, "o"], [5676, 0, "n"], [5677, 0, "-"], [5678, 0, "e"], [5679, 0, "m"], [5680, 0, "p"], [5681, 0, "t"], [5682, 0, "y"], [5683, 0, " "], [5684, 0, "c"], [5685, 0, "o"], [5686, 0, "l"], [5687, 0, "l"], [5688, 0, "e"], [5689, 0, "c"], [5690, 0, "t"], [5691, 0, "i"], [5692, 0, "o"], [5693, 0, "n"], [5694, 0, "s"], [5695, 0, "."], [5696, 0, " "], [5697, 0, "A"], [5698, 0, "s"], [5699, 0, " "], [5700, 0, "w"], [5701, 0, "e"], [5702, 0, " "], [5703, 0, "s"], [5704, 0, "h"], [5705, 0, "a"], [5706, 0, "l"], [5707, 0, "l"], [5708, 0, " "], [5709, 0, "s"], [5710, 0, "e"], [5711, 0, "e"], [5712, 0, " "], [5713, 0, "l"], [5714, 0, "a"], [5715, 0, "t"], [5716, 0, "e"], [5717, 0, "r"], [5718, 0, ","], [5719, 0, " "], [5720, 0, "t"], [5721, 0, "h"], [5722, 0, "e"], [5723, 0, "s"], [5724, 0, "e"], [5725, 0, " "], [5726, 0, "f"], [5727, 0, "e"], [5728, 0, "a"], [5729, 0, "t"], [5730, 0, "u"], [5731, 0, "r"], [5732, 0, "e"], [5733, 0, "s"], [5734, 0, " "], [5735, 0, "a"], [5736, 0, "r"], [5737, 0, "e"], [5738, 0, " "], [5739, 0, "h"], [5740, 0, "e"], [5741, 0, "l"], [5742, 0, "p"], [5743, 0, "f"], [5744, 0, "u"], [5745, 0, "l"], [5746, 0, " "], [5747, 0, "f"], [5748, 0, "o"], [5749, 0, "r"], [5750, 0, " "], [5750, 1], [5749, 1], [5748, 1], [5747, 1], [5746, 1], [5745, 1], [5744, 1], [5743, 1], [5742, 1], [5741, 1], [5740, 1], [5739, 1], [5738, 1], [5737, 1], [5736, 1], [5736, 0, "r"], [5737, 0, "e"], [5738, 0, " "], [5739, 0, "h"], [5740, 0, "e"], [5741, 0, "l"], [5742, 0, "p"], [5743, 0, "f"], [5744, 0, "u"], [5745, 0, "l"], [5746, 0, " "], [5747, 0, "f"], [5748, 0, "o"], [5749, 0, "r"], [5750, 0, " "], [5751, 0, "d"], [5752, 0, "e"], [5752, 1], [5751, 1], [5751, 0, "a"], [5752, 0, "c"], [5753, 0, "h"], [5754, 0, "i"], [5755, 0, "e"], [5756, 0, "v"], [5757, 0, "i"], [5758, 0, "n"], [5759, 0, "g"], [5760, 0, " "], [5761, 0, "d"], [5762, 0, "e"], [5763, 0, "s"], [5764, 0, "i"], [5765, 0, "r"], [5766, 0, "a"], [5767, 0, "b"], [5768, 0, "l"], [5769, 0, "e"], [5770, 0, " "], [5771, 0, "s"], [5772, 0, "e"], [5773, 0, "m"], [5774, 0, "a"], [5775, 0, "n"], [5776, 0, "t"], [5777, 0, "i"], [5778, 0, "c"], [5779, 0, "s"], [5780, 0, " "], [5781, 0, "i"], [5782, 0, "n"], [5783, 0, " "], [5784, 0, "t"], [5785, 0, "h"], [5786, 0, "e"], [5787, 0, " "], [5788, 0, "p"], [5789, 0, "r"], [5790, 0, "e"], [5791, 0, "s"], [5792, 0, "e"], [5793, 0, "n"], [5794, 0, "c"], [5795, 0, "e"], [5796, 0, " "], [5797, 0, "o"], [5798, 0, "f"], [5799, 0, " "], [5800, 0, "c"], [5801, 0, "o"], [5802, 0, "n"], [5803, 0, "c"], [5804, 0, "u"], [5805, 0, "r"], [5806, 0, "r"], [5807, 0, "e"], [5808, 0, "n"], [5809, 0, "t"], [5810, 0, " "], [5811, 0, "m"], [5812, 0, "o"], [5813, 0, "d"], [5814, 0, "i"], [5815, 0, "f"], [5816, 0, "i"], [5817, 0, "c"], [5818, 0, "a"], [5819, 0, "t"], [5820, 0, "i"], [5821, 0, "o"], [5822, 0, "n"], [5823, 0, "s"], [5824, 0, "."], [5639, 0, " "], [5640, 0, "c"], [5641, 0, "r"], [5642, 0, "e"], [5643, 0, "a"], [5644, 0, "t"], [5645, 0, "i"], [5646, 0, "n"], [5647, 0, "g"], [5834, 0, "\n"], [5835, 0, "\n"], [5836, 0, "\\"], [5837, 0, "s"], [5838, 0, "u"], [5839, 0, "b"], [5840, 0, "s"], [5841, 0, "u"], [5842, 0, "b"], [5843, 0, "s"], [5844, 0, "e"], [5845, 0, "c"], [5846, 0, "t"], [5847, 0, "i"], [5848, 0, "o"], [5849, 0, "n"], [5850, 0, "{"], [5851, 0, "O"], [5852, 0, "p"], [5853, 0, "e"], [5854, 0, "r"], [5855, 0, "a"], [5856, 0, "t"], [5857, 0, "i"], [5858, 0, "o"], [5859, 0, "n"], [5860, 0, "a"], [5861, 0, "l"], [5862, 0, " "], [5863, 0, "s"], [5864, 0, "e"], [5865, 0, "m"], [5866, 0, "a"], [5867, 0, "n"], [5868, 0, "t"], [5869, 0, "i"], [5870, 0, "c"], [5871, 0, "s"], [5872, 0, " "], [5873, 0, "o"], [5874, 0, "f"], [5875, 0, " "], [5876, 0, "c"], [5877, 0, "o"], [5878, 0, "m"], [5879, 0, "m"], [5880, 0, "a"], [5881, 0, "n"], [5882, 0, "d"], [5883, 0, " "], [5884, 0, "l"], [5885, 0, "a"], [5886, 0, "n"], [5887, 0, "g"], [5888, 0, "u"], [5889, 0, "a"], [5890, 0, "g"], [5891, 0, "e"], [5892, 0, "}"], [2771, 1], [2770, 1], [2769, 1], [2768, 1], [2768, 0, "i"], [2769, 0, "t"], [2770, 0, "e"], [2771, 0, "r"], [2290, 0, "\n"], [2291, 0, "&"], [2292, 0, " "], [2293, 0, "$"], [2294, 0, "|"], [2295, 0, "$"], [2296, 0, " "], [2297, 0, "&"], [2298, 0, " "], [2299, 0, "E"], [2300, 0, "X"], [2301, 0, "P"], [2302, 0, "R"], [2303, 0, "."], [2304, 0, "\\"], [2305, 0, "t"], [2306, 0, "e"], [2307, 0, "x"], [2308, 0, "t"], [2309, 0, "s"], [2310, 0, "f"], [2311, 0, "{"], [2312, 0, "i"], [2313, 0, "t"], [2314, 0, "e"], [2315, 0, "r"], [2316, 0, "}"], [2317, 0, " "], [2318, 0, "\\"], [2319, 0, "\\"], [3986, 0, "\\"], [3987, 0, "t"], [3988, 0, "e"], [3989, 0, "x"], [3990, 0, "t"], [3991, 0, "s"], [3992, 0, "f"], [3993, 0, "{"], [3994, 0, "i"], [3995, 0, "t"], [3996, 0, "e"], [3997, 0, "r"], [3998, 0, "}"], [3999, 0, " "], [4000, 0, "s"], [4001, 0, "t"], [4002, 0, "a"], [4003, 0, "r"], [4004, 0, "t"], [4005, 0, "s"], [4006, 0, " "], [4007, 0, "i"], [4008, 0, "t"], [4009, 0, "e"], [4010, 0, "r"], [4011, 0, "a"], [4012, 0, "t"], [4013, 0, "i"], [4014, 0, "n"], [4015, 0, "g"], [4016, 0, " "], [4017, 0, "o"], [4018, 0, "v"], [4019, 0, "e"], [4020, 0, "r"], [4021, 0, " "], [4022, 0, "a"], [4023, 0, "n"], [4024, 0, " "], [4025, 0, "o"], [4026, 0, "r"], [4027, 0, "d"], [4028, 0, "e"], [4029, 0, "r"], [4030, 0, "e"], [4031, 0, "d"], [4032, 0, " "], [4033, 0, "l"], [4034, 0, "i"], [4035, 0, "s"], [4036, 0, "t"], [4037, 0, ","], [4038, 0, " "], [5014, 1], [5013, 1], [5012, 1], [5011, 1], [5011, 0, "i"], [5012, 0, "t"], [5013, 0, "e"], [5014, 0, "r"], [5977, 0, "\n"], [5978, 0, "\n"], [5978, 0, "\\"], [5979, 0, "b"], [5980, 0, "e"], [5981, 0, "g"], [5982, 0, "i"], [5983, 0, "n"], [5984, 0, "{"], [5985, 0, "f"], [5986, 0, "i"], [5987, 0, "g"], [5988, 0, "u"], [5989, 0, "r"], [5990, 0, "e"], [5991, 0, "*"], [5992, 0, "}"], [5993, 0, "\n"], [5994, 0, "\\"], [5995, 0, "e"], [5996, 0, "n"], [5997, 0, "d"], [5998, 0, "{"], [5999, 0, "f"], [6000, 0, "i"], [6001, 0, "g"], [6002, 0, "u"], [6003, 0, "r"], [6004, 0, "e"], [6005, 0, "*"], [6006, 0, "}"], [5993, 0, "\n"], [5994, 0, "\\"], [5995, 0, "c"], [5996, 0, "e"], [5997, 0, "n"], [5998, 0, "t"], [5999, 0, "e"], [6000, 0, "r"], [6001, 0, "i"], [6002, 0, "n"], [6003, 0, "g"], [6004, 0, "\n"], [6005, 0, "\\"], [6006, 0, "c"], [6007, 0, "a"], [6008, 0, "p"], [6009, 0, "t"], [6010, 0, "i"], [6011, 0, "o"], [6012, 0, "n"], [6013, 0, "{"], [6014, 0, "R"], [6015, 0, "u"], [6016, 0, "l"], [6017, 0, "e"], [6018, 0, "s"], [6019, 0, " "], [6020, 0, "f"], [6021, 0, "o"], [6022, 0, "r"], [6023, 0, " "], [6024, 0, "e"], [6025, 0, "v"], [6026, 0, "a"], [6027, 0, "l"], [6028, 0, "u"], [6029, 0, "a"], [6030, 0, "t"], [6031, 0, "i"], [6032, 0, "n"], [6033, 0, "g"], [6034, 0, " "], [6035, 0, "a"], [6036, 0, "n"], [6037, 0, " "], [6038, 0, "e"], [6039, 0, "x"], [6040, 0, "p"], [6041, 0, "r"], [6042, 0, "e"], [6043, 0, "s"], [6044, 0, "s"], [6045, 0, "i"], [6046, 0, "o"], [6047, 0, "n"], [6048, 0, " "], [6049, 0, "t"], [6050, 0, "o"], [6051, 0, " "], [6052, 0, "o"], [6053, 0, "b"], [6054, 0, "t"], [6055, 0, "a"], [6056, 0, "i"], [6057, 0, "n"], [6058, 0, " "], [6059, 0, "a"], [6060, 0, " "], [6061, 0, "c"], [6062, 0, "u"], [6063, 0, "r"], [6064, 0, "s"], [6065, 0, "o"], [6066, 0, "r"], [6067, 0, "}"], [6068, 0, "\\"], [6069, 0, "l"], [6070, 0, "a"], [6071, 0, "b"], [6072, 0, "e"], [6073, 0, "l"], [6074, 0, "{"], [6075, 0, "f"], [6076, 0, "i"], [6077, 0, "g"], [6078, 0, ":"], [6079, 0, "c"], [6079, 1], [6079, 0, "e"], [6080, 0, "x"], [6081, 0, "p"], [6082, 0, "r"], [6083, 0, "-"], [6084, 0, "r"], [6085, 0, "u"], [6086, 0, "l"], [6087, 0, "e"], [6088, 0, "s"], [6089, 0, "}"], [6004, 0, "\n"], [6005, 0, "\\"], [6006, 0, "A"], [6007, 0, "x"], [6008, 0, "i"], [6009, 0, "o"], [6010, 0, "m"], [6011, 0, "C"], [6012, 0, "{"], [6013, 0, "$"], [6014, 0, "\\"], [6015, 0, "a"], [6015, 1], [6015, 0, "m"], [6016, 0, "a"], [6017, 0, "t"], [6018, 0, "h"], [6019, 0, "i"], [6020, 0, "t"], [6021, 0, "{"], [6022, 0, "c"], [6023, 0, "m"], [6024, 0, "d"], [6025, 0, "}"], [6026, 0, "_"], [6027, 0, "1"], [6028, 0, " "], [6029, 0, "\\"], [6030, 0, "m"], [6031, 0, "a"], [6032, 0, "t"], [6033, 0, "h"], [6034, 0, "b"], [6035, 0, "i"], [6036, 0, "n"], [6037, 0, "{"], [6038, 0, ":"], [6039, 0, "}"], [6040, 0, " "], [6041, 0, "\\"], [6042, 0, "m"], [6043, 0, "a"], [6044, 0, "t"], [6045, 0, "h"], [6046, 0, "r"], [6047, 0, "m"], [6048, 0, "{"], [6049, 0, "C"], [6050, 0, "M"], [6051, 0, "D"], [6052, 0, "}"], [6053, 0, "$"], [6054, 0, "}"], [6055, 0, "\n"], [6056, 0, "\\"], [6057, 0, "A"], [6058, 0, "x"], [6059, 0, "i"], [6060, 0, "o"], [6061, 0, "m"], [6062, 0, "C"], [6063, 0, "{"], [6064, 0, "$"], [6065, 0, "A"], [6066, 0, "_"], [6067, 0, "p"], [6068, 0, ","], [6069, 0, "\\"], [6070, 0, ","], [6071, 0, " "], [6072, 0, "\\"], [6073, 0, "m"], [6074, 0, "a"], [6075, 0, "t"], [6076, 0, "h"], [6077, 0, "i"], [6078, 0, "t"], [6079, 0, "{"], [6080, 0, "c"], [6081, 0, "m"], [6082, 0, "d"], [6083, 0, "}"], [6084, 0, "_"], [6085, 0, "1"], [6072, 0, "<"], [6072, 1], [6072, 0, "\\"], [6073, 0, "l"], [6074, 0, "a"], [6075, 0, "n"], [6076, 0, "g"], [6077, 0, "l"], [6078, 0, "e"], [6093, 0, " "], [6094, 0, "\\"], [6095, 0, "m"], [6096, 0, "a"], [6097, 0, "t"], [6098, 0, "h"], [6099, 0, "b"], [6100, 0, "i"], [6101, 0, "n"], [6102, 0, "{"], [6103, 0, ";"], [6104, 0, "}"], [6105, 0, " "], [6106, 0, "\\"], [6107, 0, "m"], [6108, 0, "a"], [6109, 0, "t"], [6110, 0, "h"], [6111, 0, "i"], [6112, 0, "t"], [6079, 0, " "], [6114, 0, "{"], [6115, 0, "c"], [6116, 0, "m"], [6117, 0, "d"], [6118, 0, "}"], [6119, 0, "_"], [6120, 0, "2"], [6121, 0, " "], [6122, 0, "\\"], [6123, 0, "m"], [6124, 0, "a"], [6125, 0, "t"], [6126, 0, "h"], [6127, 0, "b"], [6128, 0, "i"], [6129, 0, "n"], [6130, 0, "{"], [6131, 0, ";"], [6132, 0, "}"], [6133, 0, " "], [6134, 0, "\\"], [6135, 0, "d"], [6136, 0, "o"], [6137, 0, "t"], [6138, 0, "s"], [6139, 0, " "], [6140, 0, "\\"], [6141, 0, "r"], [6142, 0, "a"], [6143, 0, "n"], [6144, 0, "g"], [6145, 0, "l"], [6146, 0, "e"], [6062, 1], [6061, 1], [6060, 1], [6059, 1], [6058, 1], [6057, 1], [6057, 0, "B"], [6058, 0, "i"], [6059, 0, "n"], [6060, 0, "a"], [6061, 0, "r"], [6062, 0, "y"], [6063, 0, "I"], [6064, 0, "n"], [6065, 0, "f"], [6066, 0, "C"], [6055, 0, "\n"], [6056, 0, "\\"], [6057, 0, "L"], [6058, 0, "e"], [6059, 0, "f"], [6060, 0, "t"], [6061, 0, "L"], [6062, 0, "a"], [6063, 0, "b"], [6064, 0, "e"], [6065, 0, "l"], [6066, 0, "{"], [6067, 0, "\\"], [6068, 0, "t"], [6069, 0, "e"], [6070, 0, "x"], [6071, 0, "t"], [6072, 0, "s"], [6073, 0, "c"], [6074, 0, "{"], [6075, 0, "E"], [6076, 0, "x"], [6077, 0, "e"], [6078, 0, "c"], [6079, 0, "}"], [6080, 0, "}"], [6055, 0, "\n"], [6056, 0, "\\"], [6057, 0, "E"], [6057, 1], [6057, 0, "A"], [6058, 0, "x"], [6059, 0, "i"], [6060, 0, "o"], [6061, 0, "m"], [6062, 0, "C"], [6063, 0, "{"], [6064, 0, "$"], [6065, 0, "A"], [6066, 0, "_"], [6067, 0, "p"], [6068, 0, ","], [6069, 0, "\\"], [6070, 0, ","], [6071, 0, " "], [6072, 0, "\\"], [6073, 0, "m"], [6074, 0, "a"], [6075, 0, "t"], [6076, 0, "h"], [6077, 0, "i"], [6078, 0, "t"], [6079, 0, "{"], [6080, 0, "c"], [6081, 0, "m"], [6082, 0, "d"], [6083, 0, "}"], [6084, 0, "_"], [6085, 0, "1"], [6086, 0, " "], [6087, 0, "\\"], [6088, 0, "e"], [6089, 0, "v"], [6090, 0, "a"], [6091, 0, "l"], [6092, 0, "t"], [6093, 0, "o"], [6094, 0, " "], [6095, 0, "A"], [6096, 0, "_"], [6097, 0, "p"], [6098, 0, "'"], [6099, 0, "$"], [6100, 0, "}"], [6223, 0, "\n"], [6224, 0, " "], [6225, 0, " "], [6226, 0, " "], [6227, 0, " "], [6228, 0, "\\"], [6229, 0, "e"], [6230, 0, "v"], [6231, 0, "a"], [6232, 0, "l"], [6233, 0, "t"], [6234, 0, "o"], [6235, 0, " "], [6236, 0, "A"], [6237, 0, "_"], [6238, 0, "p"], [6239, 0, "'"], [6240, 0, ","], [6241, 0, " "], [6241, 1], [6241, 0, "\\"], [6242, 0, ","], [6243, 0, " "], [6244, 0, "\\"], [6245, 0, "l"], [6246, 0, "a"], [6247, 0, "n"], [6248, 0, "g"], [6249, 0, "l"], [6250, 0, "e"], [6251, 0, " "], [6252, 0, "\\"], [6253, 0, "m"], [6254, 0, "a"], [6255, 0, "t"], [6256, 0, "h"], [6257, 0, "i"], [6258, 0, "t"], [6259, 0, "{"], [6260, 0, "c"], [6261, 0, "m"], [6262, 0, "d"], [6263, 0, "}"], [6264, 0, "_"], [6265, 0, "2"], [6266, 0, " "], [6267, 0, "\\"], [6268, 0, "m"], [6269, 0, "a"], [6270, 0, "t"], [6271, 0, "h"], [6272, 0, "b"], [6273, 0, "i"], [6274, 0, "n"], [6275, 0, "{"], [6276, 0, ";"], [6277, 0, "}"], [6278, 0, " "], [6279, 0, "\\"], [6280, 0, "d"], [6281, 0, "o"], [6282, 0, "t"], [6283, 0, "s"], [6284, 0, " "], [6285, 0, "\\"], [6286, 0, "r"], [6287, 0, "a"], [6288, 0, "n"], [6289, 0, "g"], [6290, 0, "l"], [6291, 0, "e"], [6292, 0, "$"], [6293, 0, "}"], [6294, 0, "\n"], [6295, 0, "\\"], [6296, 0, "D"], [6297, 0, "i"], [6298, 0, "s"], [6299, 0, "p"], [6300, 0, "l"], [6301, 0, "a"], [6302, 0, "y"], [6303, 0, "P"], [6304, 0, "r"], [6305, 0, "o"], [6306, 0, "o"], [6307, 0, "f"], [6308, 0, "\\"], [6309, 0, "h"], [6310, 0, "f"], [6311, 0, "i"], [6312, 0, "l"], [6313, 0, "l"], [6314, 0, "\n"], [6315, 0, "%"], [6316, 0, "\n"], [6317, 0, "\\"], [6318, 0, "A"], [6319, 0, "x"], [6320, 0, "i"], [6321, 0, "o"], [6322, 0, "m"], [6323, 0, "C"], [6324, 0, "{"], [6325, 0, "}"], [6326, 0, "\n"], [6327, 0, "\\"], [6328, 0, "L"], [6329, 0, "e"], [6330, 0, "f"], [6331, 0, "t"], [6332, 0, "L"], [6333, 0, "a"], [6334, 0, "b"], [6335, 0, "e"], [6336, 0, "l"], [6337, 0, "{"], [6338, 0, "\\"], [6339, 0, "t"], [6340, 0, "e"], [6341, 0, "x"], [6342, 0, "t"], [6343, 0, "s"], [6344, 0, "c"], [6345, 0, "{"], [6346, 0, "D"], [6347, 0, "o"], [6348, 0, "c"], [6349, 0, "}"], [6350, 0, "}"], [6351, 0, "\n"], [6352, 0, "\\"], [6353, 0, "U"], [6354, 0, "n"], [6355, 0, "a"], [6356, 0, "r"], [6357, 0, "y"], [6358, 0, "I"], [6359, 0, "n"], [6360, 0, "f"], [6361, 0, "C"], [6362, 0, "{"], [6363, 0, "$"], [6364, 0, "A"], [6365, 0, "_"], [6366, 0, "p"], [6367, 0, ","], [6368, 0, "\\"], [6369, 0, ","], [6370, 0, " "], [6371, 0, "\\"], [6372, 0, "m"], [6373, 0, "a"], [6374, 0, "t"], [6375, 0, "h"], [6376, 0, "s"], [6377, 0, "f"], [6378, 0, "{"], [6379, 0, "d"], [6380, 0, "o"], [6381, 0, "c"], [6382, 0, "}"], [6383, 0, " "], [6384, 0, "\\"], [6385, 0, "e"], [6386, 0, "v"], [6387, 0, "a"], [6388, 0, "l"], [6389, 0, "t"], [6390, 0, "o"], [6391, 0, " "], [6392, 0, "\\"], [6393, 0, "m"], [6394, 0, "a"], [6395, 0, "t"], [6396, 0, "h"], [6397, 0, "s"], [6398, 0, "f"], [6399, 0, "{"], [6400, 0, "c"], [6401, 0, "u"], [6402, 0, "r"], [6403, 0, "s"], [6404, 0, "o"], [6405, 0, "r"], [6406, 0, "}"], [6407, 0, "("], [6408, 0, "\\"], [6409, 0, "l"], [6410, 0, "a"], [6411, 0, "n"], [6412, 0, "g"], [6413, 0, "l"], [6414, 0, "e"], [6415, 0, "\\"], [6416, 0, "r"], [6417, 0, "a"], [6418, 0, "n"], [6419, 0, "g"], [6420, 0, "l"], [6421, 0, "e"], [6422, 0, ","], [6423, 0, " "], [6424, 0, "\\"], [6425, 0, "m"], [6426, 0, "a"], [6427, 0, "t"], [6428, 0, "h"], [6429, 0, "s"], [6430, 0, "f"], [6431, 0, "{"], [6432, 0, "d"], [6433, 0, "o"], [6434, 0, "c"], [6435, 0, "}"], [6436, 0, ")"], [6437, 0, "$"], [6438, 0, "}"], [6439, 0, "\n"], [6440, 0, "D"], [6441, 0, "i"], [6441, 1], [6440, 1], [6440, 0, "\\"], [6441, 0, "D"], [6442, 0, "i"], [6443, 0, "s"], [6444, 0, "p"], [6445, 0, "l"], [6446, 0, "a"], [6447, 0, "y"], [6448, 0, "P"], [6449, 0, "r"], [6450, 0, "o"], [6451, 0, "o"], [6452, 0, "f"], [6453, 0, "\\"], [6454, 0, "p"], [6455, 0, "r"], [6456, 0, "o"], [6457, 0, "o"], [6458, 0, "f"], [6459, 0, "S"], [6460, 0, "k"], [6461, 0, "i"], [6462, 0, "p"], [6463, 0, "A"], [6464, 0, "m"], [6465, 0, "o"], [6466, 0, "u"], [6467, 0, "n"], [6468, 0, "t"], [6469, 0, "\n"], [6470, 0, "\n"], [6471, 0, "\\"], [6472, 0, "A"], [6473, 0, "x"], [6474, 0, "i"], [6475, 0, "o"], [6476, 0, "m"], [6477, 0, "C"], [6478, 0, "{"], [6479, 0, "$"], [6480, 0, "\\"], [6480, 1], [6480, 0, "A"], [6481, 0, "_"], [6482, 0, "p"], [6483, 0, ","], [6484, 0, "\\"], [6485, 0, ","], [6486, 0, " "], [6487, 0, "\\"], [6488, 0, "m"], [6489, 0, "a"], [6490, 0, "t"], [6491, 0, "h"], [6492, 0, "i"], [6493, 0, "t"], [6494, 0, "{"], [6495, 0, "e"], [6496, 0, "x"], [6497, 0, "p"], [6498, 0, "r"], [6499, 0, "}"], [6500, 0, " "], [6501, 0, "\\"], [6502, 0, "e"], [6503, 0, "v"], [6504, 0, "a"], [6505, 0, "l"], [6506, 0, "t"], [6507, 0, "o"], [6508, 0, " "], [6509, 0, "\\"], [6510, 0, "m"], [6511, 0, "a"], [6512, 0, "t"], [6513, 0, "h"], [6514, 0, "i"], [6515, 0, "t"], [6516, 0, "{"], [6517, 0, "c"], [6518, 0, "u"], [6519, 0, "r"], [6520, 0, "}"], [6521, 0, "$"], [6522, 0, "}"], [6523, 0, "\n"], [6524, 0, "\\"], [6525, 0, "L"], [6526, 0, "e"], [6527, 0, "f"], [6528, 0, "t"], [6529, 0, "L"], [6530, 0, "a"], [6531, 0, "b"], [6532, 0, "e"], [6533, 0, "l"], [6534, 0, "{"], [6535, 0, "\\"], [6536, 0, "t"], [6537, 0, "e"], [6538, 0, "x"], [6539, 0, "t"], [6540, 0, "s"], [6541, 0, "c"], [6542, 0, "{"], [6543, 0, "L"], [6544, 0, "e"], [6545, 0, "t"], [6546, 0, "}"], [6547, 0, "}"], [6548, 0, "\n"], [6549, 0, "\\"], [6550, 0, "U"], [6551, 0, "n"], [6552, 0, "a"], [6553, 0, "r"], [6554, 0, "y"], [6555, 0, "I"], [6556, 0, "n"], [6557, 0, "f"], [6558, 0, "C"], [6559, 0, "{"], [6560, 0, "$"], [6561, 0, "A"], [6562, 0, "_"], [6563, 0, "p"], [6564, 0, ","], [6565, 0, "\\"], [6566, 0, ","], [6567, 0, " "], [6568, 0, "\\"], [6569, 0, "m"], [6570, 0, "a"], [6571, 0, "t"], [6572, 0, "h"], [6573, 0, "s"], [6574, 0, "f"], [6575, 0, "{"], [6576, 0, "l"], [6577, 0, "e"], [6578, 0, "t"], [6579, 0, "}"], [6580, 0, " "], [6581, 0, "x"], [6582, 0, " "], [6583, 0, "="], [6584, 0, " "], [6585, 0, "\\"], [6586, 0, "m"], [6587, 0, "a"], [6588, 0, "t"], [6589, 0, "h"], [6590, 0, "i"], [6591, 0, "t"], [6592, 0, "{"], [6593, 0, "e"], [6594, 0, "x"], [6595, 0, "p"], [6596, 0, "r"], [6597, 0, "}"], [6598, 0, " "], [6599, 0, "\\"], [6600, 0, "e"], [6601, 0, "v"], [6602, 0, "a"], [6603, 0, "l"], [6604, 0, "t"], [6605, 0, "o"], [6606, 0, " "], [6607, 0, "A"], [6608, 0, "_"], [6609, 0, "p"], [6610, 0, "["], [6611, 0, "\\"], [6612, 0, ","], [6613, 0, "x"], [6614, 0, " "], [6615, 0, "\\"], [6616, 0, "m"], [6617, 0, "a"], [6618, 0, "p"], [6619, 0, "s"], [6620, 0, "t"], [6621, 0, "o"], [6622, 0, " "], [6615, 0, "\\"], [6616, 0, ","], [6624, 1], [6624, 0, "\\"], [6625, 0, ","], [6626, 0, " "], [6627, 0, "\\"], [6628, 0, "m"], [6629, 0, "a"], [6630, 0, "t"], [6631, 0, "h"], [6632, 0, "i"], [6633, 0, "t"], [6634, 0, "{"], [6635, 0, "c"], [6636, 0, "u"], [6637, 0, "r"], [6638, 0, "}"], [6639, 0, "\\"], [6640, 0, ","], [6641, 0, "]"], [6642, 0, "$"], [6643, 0, "}"], [6644, 0, "\n"], [6645, 0, "\\"], [6646, 0, "D"], [6647, 0, "i"], [6648, 0, "s"], [6649, 0, "p"], [6650, 0, "l"], [6651, 0, "a"], [6652, 0, "y"], [6653, 0, "P"], [6654, 0, "r"], [6655, 0, "o"], [6656, 0, "o"], [6657, 0, "f"], [6658, 0, "\\"], [6659, 0, "h"], [6660, 0, "f"], [6661, 0, "i"], [6662, 0, "l"], [6663, 0, "l"], [6664, 0, "\n"], [6665, 0, "%"], [6666, 0, "\n"], [6667, 0, "\\"], [6668, 0, "A"], [6669, 0, "x"], [6670, 0, "i"], [6671, 0, "o"], [6672, 0, "m"], [6673, 0, "C"], [6674, 0, "{"], [6675, 0, "$"], [6676, 0, "x"], [6677, 0, " "], [6678, 0, "\\"], [6679, 0, "i"], [6680, 0, "n"], [6681, 0, " "], [6682, 0, "\\"], [6683, 0, "m"], [6684, 0, "a"], [6685, 0, "t"], [6686, 0, "h"], [6687, 0, "r"], [6688, 0, "m"], [6689, 0, "{"], [6690, 0, "d"], [6691, 0, "o"], [6692, 0, "m"], [6693, 0, "}"], [6694, 0, "("], [6695, 0, "A"], [6696, 0, "_"], [6697, 0, "p"], [6698, 0, ")"], [6699, 0, "$"], [6700, 0, "}"], [6701, 0, "\n"], [6702, 0, "\\"], [6703, 0, "A"], [6704, 0, "x"], [6705, 0, "i"], [6706, 0, "o"], [6707, 0, "m"], [6708, 0, "C"], [6709, 0, "{"], [6710, 0, "$"], [6711, 0, "%"], [6711, 1], [6710, 1], [6709, 1], [6708, 1], [6707, 1], [6706, 1], [6705, 1], [6704, 1], [6703, 1], [6703, 0, "L"], [6704, 0, "e"], [6705, 0, "f"], [6706, 0, "t"], [6707, 0, "L"], [6708, 0, "a"], [6709, 0, "b"], [6710, 0, "e"], [6711, 0, "l"], [6712, 0, "{"], [6713, 0, "|"], [6714, 0, "t"], [6715, 0, "e"], [6715, 1], [6714, 1], [6713, 1], [6713, 0, "\\"], [6714, 0, "t"], [6715, 0, "e"], [6716, 0, "x"], [6717, 0, "t"], [6718, 0, "s"], [6719, 0, "c"], [6720, 0, "{"], [6721, 0, "V"], [6722, 0, "a"], [6723, 0, "r"], [6724, 0, "}"], [6725, 0, "}"], [6726, 0, "\n"], [6727, 0, "\\"], [6728, 0, "U"], [6729, 0, "n"], [6730, 0, "a"], [6731, 0, "r"], [6732, 0, "y"], [6733, 0, "I"], [6734, 0, "n"], [6735, 0, "f"], [6736, 0, "C"], [6737, 0, "{"], [6738, 0, "$"], [6739, 0, "A"], [6740, 0, "_"], [6741, 0, "p"], [6742, 0, ","], [6743, 0, "\\"], [6744, 0, ","], [6745, 0, " "], [6746, 0, "x"], [6747, 0, " "], [6748, 0, "\\"], [6749, 0, "e"], [6750, 0, "v"], [6751, 0, "a"], [6752, 0, "l"], [6753, 0, "t"], [6754, 0, "o"], [6755, 0, " "], [6756, 0, "A"], [6757, 0, "_"], [6758, 0, "p"], [6759, 0, "("], [6760, 0, "x"], [6761, 0, ")"], [6762, 0, "$"], [6763, 0, "}"], [6764, 0, "\n"], [6765, 0, "\\"], [6766, 0, "D"], [6767, 0, "I"], [6768, 0, "S"], [6769, 0, "P"], [6770, 0, "L"], [6771, 0, "A"], [6772, 0, "Y"], [6773, 0, "P"], [6774, 0, "R"], [6775, 0, "O"], [6776, 0, "O"], [6777, 0, "F"], [6777, 1], [6776, 1], [6775, 1], [6774, 1], [6773, 1], [6772, 1], [6771, 1], [6770, 1], [6769, 1], [6768, 1], [6767, 1], [6767, 0, "i"], [6768, 0, "s"], [6769, 0, "p"], [6770, 0, "l"], [6771, 0, "a"], [6772, 0, "y"], [6773, 0, "P"], [6774, 0, "r"], [6775, 0, "o"], [6776, 0, "o"], [6777, 0, "f"], [6778, 0, "\\"], [6779, 0, "h"], [6779, 1], [6779, 0, "p"], [6780, 0, "r"], [6781, 0, "o"], [6782, 0, "o"], [6783, 0, "f"], [6784, 0, "S"], [6785, 0, "k"], [6786, 0, "i"], [6787, 0, "p"], [6788, 0, "A"], [6789, 0, "M"], [6790, 0, "o"], [6791, 0, "u"], [6792, 0, "n"], [6793, 0, "t"], [6793, 1], [6792, 1], [6791, 1], [6790, 1], [6789, 1], [6789, 0, "m"], [6790, 0, "o"], [6791, 0, "u"], [6792, 0, "n"], [6793, 0, "t"], [6313, 1], [6312, 1], [6311, 1], [6310, 1], [6310, 0, "s"], [6311, 0, "p"], [6312, 0, "a"], [6313, 0, "c"], [6314, 0, "e"], [6315, 0, "{"], [6316, 0, "6"], [6317, 0, "e"], [6318, 0, "m"], [6319, 0, "}"], [6669, 1], [6668, 1], [6667, 1], [6666, 1], [6666, 0, "s"], [6667, 0, "p"], [6668, 0, "a"], [6669, 0, "c"], [6670, 0, "e"], [6671, 0, "{"], [6672, 0, "6"], [6673, 0, "e"], [6674, 0, "m"], [6675, 0, "}"], [6477, 0, "\\"], [6478, 0, "p"], [6479, 0, "r"], [6480, 0, "o"], [6481, 0, "o"], [6482, 0, "f"], [6483, 0, "S"], [6484, 0, "k"], [6485, 0, "i"], [6486, 0, "p"], [6487, 0, "A"], [6488, 0, "m"], [6489, 0, "o"], [6490, 0, "u"], [6491, 0, "n"], [6492, 0, "t"], [6602, 0, "\\"], [6603, 0, ";"], [6429, 0, "\\"], [6430, 0, ","], [6316, 1], [6316, 0, "4"], [6692, 1], [6692, 0, "3"], [6826, 0, "\n"], [6827, 0, "\n"], [6828, 0, "\\"], [6829, 0, "b"], [6830, 0, "e"], [6831, 0, "g"], [6832, 0, "i"], [6833, 0, "n"], [6834, 0, "{"], [6835, 0, "r"], [6835, 1], [6835, 0, "p"], [6836, 0, "r"], [6837, 0, "o"], [6838, 0, "o"], [6839, 0, "f"], [6840, 0, "t"], [6841, 0, "r"], [6842, 0, "e"], [6843, 0, "e"], [6844, 0, "}"], [6845, 0, "\n"], [6846, 0, "\\"], [6847, 0, "e"], [6848, 0, "n"], [6849, 0, "d"], [6850, 0, "{"], [6851, 0, "p"], [6852, 0, "r"], [6853, 0, "o"], [6854, 0, "o"], [6855, 0, "f"], [6856, 0, "t"], [6857, 0, "r"], [6858, 0, "e"], [6859, 0, "e"], [6860, 0, "}"], [6860, 1], [6859, 1], [6858, 1], [6857, 1], [6856, 1], [6855, 1], [6854, 1], [6853, 1], [6852, 1], [6851, 1], [6850, 1], [6849, 1], [6848, 1], [6847, 1], [6846, 1], [6845, 1], [6844, 1], [6843, 1], [6842, 1], [6841, 1], [6840, 1], [6839, 1], [6838, 1], [6837, 1], [6836, 1], [6835, 1], [6834, 1], [6833, 1], [6832, 1], [6831, 1], [6830, 1], [6829, 1], [6828, 1], [6479, 1], [6479, 1], [6479, 1], [6479, 1], [6479, 1], [6479, 1], [6479, 1], [6479, 1], [6479, 1], [6479, 1], [6479, 1], [6479, 1], [6479, 1], [6479, 1], [6479, 1], [6479, 1], [6812, 0, "\\"], [6813, 0, "A"], [6814, 0, "x"], [6815, 0, "i"], [6816, 0, "o"], [6817, 0, "m"], [6818, 0, "C"], [6819, 0, "{"], [6820, 0, "$"], [6821, 0, "A"], [6822, 0, "_"], [6823, 0, "p"], [6824, 0, ","], [6825, 0, "\\"], [6826, 0, ","], [6827, 0, " "], [6828, 0, "\\"], [6829, 0, "m"], [6830, 0, "a"], [6831, 0, "t"], [6832, 0, "h"], [6833, 0, "i"], [6834, 0, "t"], [6835, 0, "{"], [6836, 0, "e"], [6837, 0, "x"], [6838, 0, "p"], [6839, 0, "r"], [6840, 0, "}"], [6841, 0, "."], [6842, 0, "\\"], [6843, 0, "m"], [6844, 0, "a"], [6845, 0, "t"], [6846, 0, "h"], [6847, 0, "s"], [6848, 0, "f"], [6849, 0, "{"], [6850, 0, "g"], [6851, 0, "e"], [6852, 0, "t"], [6853, 0, "}"], [6854, 0, "("], [6855, 0, "\\"], [6856, 0, "m"], [6857, 0, "a"], [6858, 0, "t"], [6859, 0, "h"], [6860, 0, "i"], [6861, 0, "t"], [6862, 0, "{"], [6863, 0, "k"], [6864, 0, "e"], [6865, 0, "y"], [6866, 0, "}"], [6867, 0, ")"], [6868, 0, " "], [6869, 0, "\\"], [6870, 0, "e"], [6871, 0, "v"], [6872, 0, "a"], [6873, 0, "l"], [6874, 0, "t"], [6875, 0, "o"], [6820, 0, "\n"], [6821, 0, "\\"], [6822, 0, "U"], [6823, 0, "n"], [6824, 0, "a"], [6825, 0, "r"], [6826, 0, "y"], [6827, 0, "I"], [6828, 0, "n"], [6829, 0, "f"], [6830, 0, "C"], [6831, 0, "{"], [6820, 0, "$"], [6821, 0, "A"], [6822, 0, "_"], [6823, 0, "p"], [6824, 0, ","], [6825, 0, "\\"], [6826, 0, ","], [6827, 0, " "], [6828, 0, "\\"], [6829, 0, "m"], [6830, 0, "a"], [6831, 0, "t"], [6832, 0, "h"], [6833, 0, "i"], [6834, 0, "t"], [6835, 0, "{"], [6836, 0, "e"], [6837, 0, "x"], [6838, 0, "p"], [6839, 0, "r"], [6840, 0, "}"], [6841, 0, " "], [6842, 0, "\\"], [6843, 0, "e"], [6844, 0, "v"], [6845, 0, "a"], [6846, 0, "l"], [6847, 0, "t"], [6848, 0, "o"], [6849, 0, " "], [6850, 0, "\\"], [6851, 0, "m"], [6852, 0, "a"], [6853, 0, "t"], [6854, 0, "h"], [6855, 0, "i"], [6856, 0, "t"], [6857, 0, "{"], [6857, 1], [6856, 1], [6855, 1], [6855, 0, "s"], [6856, 0, "f"], [6857, 0, "{"], [6858, 0, "c"], [6859, 0, "u"], [6860, 0, "r"], [6861, 0, "s"], [6862, 0, "o"], [6863, 0, "r"], [6864, 0, "}"], [6865, 0, "("], [6866, 0, "\\"], [6867, 0, "l"], [6868, 0, "a"], [6869, 0, "n"], [6870, 0, "g"], [6871, 0, "l"], [6872, 0, "e"], [6873, 0, " "], [6874, 0, "k"], [6875, 0, "_"], [6876, 0, "1"], [6877, 0, ","], [6878, 0, " "], [6879, 0, "\\"], [6880, 0, "d"], [6881, 0, "o"], [6882, 0, "t"], [6883, 0, "s"], [6884, 0, ","], [6885, 0, " "], [6886, 0, "\\"], [6886, 1], [6886, 0, "k"], [6887, 0, "_"], [6888, 0, "{"], [6889, 0, "n"], [6890, 0, "-"], [6891, 0, "1"], [6892, 0, "}"], [6893, 0, " "], [6894, 0, "\\"], [6895, 0, "r"], [6896, 0, "a"], [6897, 0, "n"], [6898, 0, "g"], [6899, 0, "l"], [6900, 0, "e"], [6901, 0, ","], [6902, 0, " "], [6902, 1], [6902, 0, "\\"], [6903, 0, ","], [6904, 0, " "], [6905, 0, "k"], [6906, 0, "_"], [6907, 0, "n"], [6908, 0, ")"], [6909, 0, "$"], [6910, 0, "}"], [6911, 0, "\n"], [6912, 0, "\\"], [6913, 0, "L"], [6914, 0, "e"], [6915, 0, "f"], [6916, 0, "t"], [6917, 0, "L"], [6918, 0, "a"], [6919, 0, "b"], [6920, 0, "e"], [6921, 0, "l"], [6922, 0, "{"], [6923, 0, "\\"], [6924, 0, "t"], [6925, 0, "e"], [6926, 0, "x"], [6927, 0, "t"], [6928, 0, "s"], [6929, 0, "c"], [6930, 0, "{"], [6931, 0, "G"], [6932, 0, "e"], [6933, 0, "t"], [6934, 0, "}"], [6935, 0, "}"], [7004, 0, "\n"], [7005, 0, " "], [7006, 0, " "], [7007, 0, " "], [7008, 0, " "], [7009, 0, "\\"], [7010, 0, "m"], [7011, 0, "a"], [7012, 0, "t"], [7013, 0, "h"], [7014, 0, "s"], [7015, 0, "f"], [7016, 0, "{"], [7017, 0, "c"], [7018, 0, "u"], [7019, 0, "r"], [7020, 0, "s"], [7021, 0, "o"], [7022, 0, "r"], [7023, 0, "}"], [7024, 0, "("], [7025, 0, "\\"], [7026, 0, "l"], [7027, 0, "a"], [7028, 0, "n"], [7029, 0, "g"], [7030, 0, "l"], [7031, 0, "e"], [7032, 0, " "], [7033, 0, "k"], [7034, 0, "_"], [7035, 0, "1"], [7036, 0, ","], [7037, 0, " "], [7038, 0, "\\"], [7039, 0, "d"], [7040, 0, "o"], [7041, 0, "t"], [7042, 0, "s"], [7043, 0, ","], [7044, 0, " "], [7045, 0, "k"], [7046, 0, "_"], [7047, 0, "{"], [7048, 0, "n"], [7049, 0, "-"], [7050, 0, "1"], [7051, 0, "}"], [7052, 0, ","], [7053, 0, " "], [7054, 0, "\\"], [7055, 0, "m"], [7056, 0, "a"], [7057, 0, "t"], [7058, 0, "h"], [7059, 0, "s"], [7060, 0, "f"], [7061, 0, "{"], [7062, 0, "m"], [7063, 0, "a"], [7064, 0, "p"], [7065, 0, "T"], [7066, 0, "}"], [7067, 0, "("], [7068, 0, "k"], [7069, 0, "_"], [7070, 0, "n"], [7071, 0, ")"], [7072, 0, " "], [7073, 0, "\\"], [7074, 0, "r"], [7075, 0, "a"], [7076, 0, "n"], [7077, 0, "g"], [7078, 0, "l"], [7079, 0, "e"], [7080, 0, ","], [7081, 0, " "], [7082, 0, "\\"], [7083, 0, "m"], [7084, 0, "a"], [7085, 0, "t"], [7086, 0, "h"], [7087, 0, "i"], [7088, 0, "t"], [7089, 0, "{"], [7090, 0, "k"], [7091, 0, "e"], [7092, 0, "y"], [7093, 0, "}"], [7094, 0, ")"], [7095, 0, "$"], [7096, 0, "}"], [7097, 0, "\n"], [7098, 0, "\\"], [7099, 0, "D"], [7100, 0, "i"], [7101, 0, "s"], [7102, 0, "p"], [7103, 0, "l"], [7104, 0, "a"], [7105, 0, "y"], [7106, 0, "P"], [7107, 0, "r"], [7108, 0, "o"], [7109, 0, "o"], [7110, 0, "f"], [7111, 0, "\\"], [7112, 0, "h"], [7113, 0, "s"], [7114, 0, "p"], [7115, 0, "a"], [7116, 0, "c"], [7117, 0, "e"], [7118, 0, "{"], [7119, 0, "4"], [7120, 0, "e"], [7121, 0, "m"], [7122, 0, "}"], [7123, 0, "\n"], [7124, 0, "%"], [7125, 0, "\n"], [7126, 0, "\\"], [7127, 0, "A"], [7128, 0, "x"], [7129, 0, "i"], [7130, 0, "o"], [7131, 0, "m"], [7132, 0, "C"], [7133, 0, "{"], [7134, 0, "$"], [7135, 0, "A"], [7136, 0, "_"], [7137, 0, "p"], [7138, 0, ","], [7139, 0, "\\"], [7140, 0, ","], [7141, 0, " "], [7142, 0, "\\"], [7143, 0, "m"], [7144, 0, "a"], [7145, 0, "t"], [7146, 0, "h"], [7147, 0, "i"], [7148, 0, "t"], [7149, 0, "{"], [7150, 0, "e"], [7151, 0, "x"], [7152, 0, "p"], [7153, 0, "r"], [7154, 0, "}"], [7155, 0, " "], [7156, 0, "\\"], [7157, 0, "e"], [7158, 0, "v"], [7159, 0, "a"], [7160, 0, "l"], [7161, 0, "t"], [7162, 0, "o"], [7163, 0, " "], [7164, 0, "\\"], [7165, 0, "m"], [7166, 0, "a"], [7167, 0, "t"], [7168, 0, "h"], [7169, 0, "s"], [7170, 0, "f"], [7171, 0, "{"], [7172, 0, "c"], [7173, 0, "u"], [7174, 0, "r"], [7175, 0, "s"], [7176, 0, "o"], [7177, 0, "r"], [7178, 0, "}"], [7179, 0, " "], [7179, 1], [7179, 0, "("], [7180, 0, "\\"], [7181, 0, "l"], [7182, 0, "a"], [7183, 0, "n"], [7184, 0, "g"], [7185, 0, "l"], [7186, 0, "e"], [7187, 0, " "], [7188, 0, "k"], [7189, 0, "_"], [7190, 0, "1"], [7191, 0, ","], [7192, 0, " "], [7193, 0, "\\"], [7194, 0, "d"], [7195, 0, "o"], [7196, 0, "t"], [7197, 0, "s"], [7198, 0, ","], [7199, 0, " "], [7200, 0, "\\"], [7200, 1], [7200, 0, "k"], [7201, 0, "_"], [7202, 0, "{"], [7203, 0, "n"], [7204, 0, "-"], [7205, 0, "1"], [7206, 0, "}"], [7207, 0, " "], [7208, 0, "\\"], [7209, 0, "r"], [7210, 0, "a"], [7211, 0, "n"], [7212, 0, "g"], [7213, 0, "l"], [7214, 0, "e"], [7215, 0, ","], [7216, 0, "\\"], [7217, 0, ","], [7218, 0, " "], [7219, 0, "k"], [7220, 0, "_"], [7221, 0, "n"], [7222, 0, ")"], [7223, 0, "$"], [7224, 0, "%"], [7225, 0, "}"], [7225, 1], [7224, 1], [7224, 0, "}"], [7225, 0, "\n"], [7226, 0, "\\"], [7227, 0, "L"], [7228, 0, "e"], [7229, 0, "f"], [7230, 0, "t"], [7231, 0, "L"], [7232, 0, "a"], [7233, 0, "b"], [7234, 0, "e"], [7235, 0, "l"], [7236, 0, "{"], [7237, 0, "\\"], [7238, 0, "t"], [7239, 0, "e"], [7240, 0, "x"], [7241, 0, "t"], [7242, 0, "s"], [7243, 0, "c"], [7244, 0, "{"], [7245, 0, "I"], [7246, 0, "t"], [7247, 0, "e"], [7248, 0, "r"], [7249, 0, "}"], [7250, 0, "}"], [7251, 0, "\n"], [7252, 0, "\\"], [7253, 0, "U"], [7254, 0, "n"], [7255, 0, "a"], [7256, 0, "r"], [7257, 0, "y"], [7258, 0, "I"], [7259, 0, "n"], [7260, 0, "f"], [7261, 0, "C"], [7262, 0, "{"], [7263, 0, "$"], [7264, 0, "A"], [7265, 0, "_"], [7266, 0, "p"], [7267, 0, ","], [7268, 0, "\\"], [7269, 0, ","], [7270, 0, " "], [7271, 0, "\\"], [7272, 0, "m"], [7273, 0, "a"], [7274, 0, "t"], [7275, 0, "h"], [7276, 0, "i"], [7277, 0, "t"], [7278, 0, "{"], [7279, 0, "e"], [7280, 0, "x"], [7281, 0, "p"], [7282, 0, "r"], [7283, 0, "}"], [7284, 0, "."], [7285, 0, "\\"], [7286, 0, "m"], [7287, 0, "a"], [7288, 0, "t"], [7289, 0, "h"], [7290, 0, "s"], [7291, 0, "f"], [7292, 0, "{"], [7293, 0, "i"], [7294, 0, "t"], [7295, 0, "e"], [7296, 0, "r"], [7297, 0, "}"], [7298, 0, " "], [7299, 0, "\\"], [7300, 0, "e"], [7301, 0, "v"], [7302, 0, "a"], [7303, 0, "l"], [7304, 0, "t"], [7305, 0, "o"], [7306, 0, " "], [7306, 1], [7306, 0, "\n"], [7307, 0, " "], [7308, 0, " "], [7309, 0, " "], [7310, 0, " "], [7311, 0, "\\"], [7312, 0, "m"], [7313, 0, "a"], [7314, 0, "t"], [7315, 0, "h"], [7316, 0, "s"], [7317, 0, "f"], [7318, 0, "{"], [7319, 0, "c"], [7320, 0, "u"], [7321, 0, "r"], [7322, 0, "s"], [7323, 0, "o"], [7324, 0, "r"], [7325, 0, "}"], [7326, 0, "("], [7327, 0, "\\"], [7328, 0, "l"], [7329, 0, "a"], [7330, 0, "n"], [7331, 0, "g"], [7332, 0, "l"], [7333, 0, "e"], [7334, 0, " "], [7335, 0, "k"], [7336, 0, "_"], [7337, 0, "1"], [7338, 0, ","], [7339, 0, " "], [7340, 0, "\\"], [7341, 0, "d"], [7342, 0, "o"], [7343, 0, "t"], [7344, 0, "s"], [7345, 0, ","], [7346, 0, " "], [7347, 0, "k"], [7348, 0, "_"], [7349, 0, "{"], [7350, 0, "n"], [7351, 0, "-"], [7352, 0, "1"], [7353, 0, "}"], [7354, 0, ","], [7355, 0, " "], [7356, 0, "\\"], [7357, 0, "m"], [7358, 0, "a"], [7359, 0, "t"], [7360, 0, "h"], [7361, 0, "s"], [7362, 0, "f"], [7363, 0, "{"], [7364, 0, "l"], [7365, 0, "i"], [7366, 0, "s"], [7367, 0, "t"], [7368, 0, "T"], [7369, 0, "}"], [7370, 0, "("], [7371, 0, "k"], [7372, 0, "_"], [7373, 0, "n"], [7374, 0, ")"], [7375, 0, " "], [7376, 0, "\\"], [7377, 0, "r"], [7378, 0, "a"], [7379, 0, "n"], [7380, 0, "g"], [7381, 0, "l"], [7382, 0, "e"], [7383, 0, ","], [7384, 0, "\\"], [7385, 0, ","], [7081, 0, "\\"], [7082, 0, ","], [7388, 0, " "], [7389, 0, "\\"], [7390, 0, "m"], [7391, 0, "a"], [7392, 0, "t"], [7393, 0, "h"], [7394, 0, "s"], [7395, 0, "f"], [7396, 0, "{"], [7397, 0, "h"], [7398, 0, "e"], [7399, 0, "a"], [7400, 0, "d"], [7401, 0, "}"], [7402, 0, ")"], [7403, 0, "$"], [7404, 0, "}"], [7405, 0, "\n"], [7406, 0, "\\"], [7407, 0, "D"], [7408, 0, "i"], [7409, 0, "s"], [7410, 0, "p"], [7411, 0, "l"], [7412, 0, "a"], [7413, 0, "y"], [7414, 0, "P"], [7415, 0, "r"], [7416, 0, "o"], [7417, 0, "o"], [7418, 0, "f"], [7419, 0, "\\"], [7420, 0, "p"], [7421, 0, "r"], [7422, 0, "o"], [7423, 0, "o"], [7424, 0, "f"], [7425, 0, "S"], [7426, 0, "k"], [7427, 0, "i"], [7428, 0, "p"], [7429, 0, "A"], [7430, 0, "m"], [7431, 0, "o"], [7432, 0, "u"], [7433, 0, "n"], [7434, 0, "t"], [7121, 1], [7121, 0, "0"], [6811, 0, "\n"], [6812, 0, "\\"], [6813, 0, "b"], [6814, 0, "e"], [6815, 0, "g"], [6816, 0, "i"], [6817, 0, "n"], [6818, 0, "{"], [6819, 0, "p"], [6820, 0, "r"], [6821, 0, "o"], [6822, 0, "o"], [6823, 0, "f"], [6824, 0, "t"], [6825, 0, "r"], [6826, 0, "e"], [6827, 0, "e"], [6828, 0, "}"], [7144, 1], [7143, 1], [7142, 1], [7141, 1], [7140, 1], [7139, 1], [7138, 1], [7137, 1], [7136, 1], [7135, 1], [7134, 1], [7133, 1], [7132, 1], [7131, 1], [7130, 1], [7129, 1], [7128, 1], [7127, 1], [7126, 1], [7125, 1], [7124, 1], [7123, 1], [7122, 1], [7121, 1], [7120, 1], [7119, 1], [7119, 0, "e"], [7120, 0, "n"], [7121, 0, "d"], [7122, 0, "{"], [7123, 0, "p"], [7124, 0, "r"], [7125, 0, "o"], [7126, 0, "o"], [7127, 0, "f"], [7128, 0, "t"], [7129, 0, "r"], [7130, 0, "e"], [7131, 0, "e"], [7132, 0, "}"], [7133, 0, "\n"], [7134, 0, "\n"], [7135, 0, "\\"], [7136, 0, "b"], [7137, 0, "e"], [7138, 0, "g"], [7139, 0, "i"], [7140, 0, "n"], [7141, 0, "{"], [7142, 0, "P"], [7142, 1], [7142, 0, "p"], [7143, 0, "r"], [7144, 0, "o"], [7145, 0, "o"], [7146, 0, "f"], [7147, 0, "t"], [7148, 0, "r"], [7149, 0, "e"], [7150, 0, "e"], [7151, 0, "}"], [7459, 1], [7458, 1], [7457, 1], [7456, 1], [7455, 1], [7454, 1], [7453, 1], [7452, 1], [7451, 1], [7450, 1], [7449, 1], [7448, 1], [7447, 1], [7446, 1], [7445, 1], [7444, 1], [7443, 1], [7442, 1], [7441, 1], [7440, 1], [7439, 1], [7438, 1], [7437, 1], [7436, 1], [7435, 1], [7434, 1], [7433, 1], [7432, 1], [7432, 0, "e"], [7433, 0, "n"], [7434, 0, "d"], [7435, 0, "{"], [7436, 0, "p"], [7437, 0, "r"], [7438, 0, "o"], [7439, 0, "o"], [7440, 0, "f"], [7441, 0, "t"], [7442, 0, "r"], [7443, 0, "e"], [7444, 0, "e"], [7445, 0, "}"], [6003, 1], [6002, 1], [6001, 1], [6000, 1], [5999, 1], [5998, 1], [5997, 1], [5996, 1], [5995, 1], [5995, 0, "b"], [5996, 0, "e"], [5997, 0, "g"], [5998, 0, "i"], [5999, 0, "n"], [6000, 0, "{"], [6001, 0, "c"], [6002, 0, "e"], [6003, 0, "n"], [6004, 0, "t"], [6005, 0, "e"], [6006, 0, "r"], [6007, 0, "}"], [6481, 0, "\n"], [6482, 0, "\\"], [6483, 0, "e"], [6484, 0, "n"], [6485, 0, "d"], [6486, 0, "{"], [6487, 0, "c"], [6488, 0, "e"], [6489, 0, "n"], [6490, 0, "t"], [6491, 0, "e"], [6492, 0, "r"], [6493, 0, "}"], [6495, 0, "\n"], [6496, 0, "\\"], [6497, 0, "b"], [6498, 0, "e"], [6499, 0, "g"], [6500, 0, "i"], [6501, 0, "n"], [6502, 0, "{"], [6503, 0, "c"], [6504, 0, "e"], [6505, 0, "n"], [6506, 0, "t"], [6507, 0, "e"], [6508, 0, "r"], [6509, 0, "}"], [6842, 0, "\n"], [6843, 0, "\\"], [6844, 0, "e"], [6845, 0, "n"], [6846, 0, "d"], [6847, 0, "{"], [6848, 0, "c"], [6849, 0, "e"], [6850, 0, "n"], [6851, 0, "t"], [6852, 0, "e"], [6853, 0, "r"], [6854, 0, "}"], [7491, 0, "\n"], [7492, 0, "\n"], [7493, 0, "\\"], [7494, 0, "b"], [7495, 0, "e"], [7496, 0, "g"], [7497, 0, "i"], [7498, 0, "n"], [7499, 0, "{"], [7500, 0, "p"], [7501, 0, "r"], [7502, 0, "o"], [7503, 0, "o"], [7504, 0, "f"], [7505, 0, "t"], [7506, 0, "r"], [7507, 0, "e"], [7508, 0, "e"], [7509, 0, "}"], [7510, 0, "\n"], [7511, 0, "\\"], [7512, 0, "e"], [7513, 0, "n"], [7514, 0, "d"], [7515, 0, "{"], [7516, 0, "["], [7517, 0, "r"], [7518, 0, "o"], [7519, 0, "p"], [7520, 0, "o"], [7521, 0, "f"], [7521, 1], [7520, 1], [7519, 1], [7518, 1], [7517, 1], [7516, 1], [7516, 0, "p"], [7517, 0, "r"], [7518, 0, "o"], [7519, 0, "o"], [7520, 0, "f"], [7521, 0, "t"], [7522, 0, "r"], [7523, 0, "e"], [7524, 0, "e"], [7525, 0, "}"], [7510, 0, "\n"], [7511, 0, "\\"], [7512, 0, "A"], [7513, 0, "x"], [7514, 0, "i"], [7515, 0, "o"], [7516, 0, "m"], [7517, 0, "C"], [7518, 0, "{"], [7519, 0, "$"], [7520, 0, "A"], [7521, 0, "_"], [7522, 0, "p"], [7523, 0, ","], [7524, 0, "\\"], [7525, 0, ","], [7526, 0, " "], [7527, 0, "\\"], [7528, 0, "m"], [7529, 0, "a"], [7530, 0, "t"], [7531, 0, "h"], [7532, 0, "i"], [7533, 0, "t"], [7534, 0, "{"], [7535, 0, "e"], [7536, 0, "x"], [7537, 0, "p"], [7538, 0, "r"], [7539, 0, "}"], [7540, 0, " "], [7541, 0, "\\"], [7542, 0, "e"], [7543, 0, "v"], [7544, 0, "a"], [7545, 0, "l"], [7546, 0, "t"], [7547, 0, "o"], [7548, 0, " "], [7549, 0, "\\"], [7550, 0, "m"], [7551, 0, "a"], [7552, 0, "t"], [7553, 0, "h"], [7554, 0, "i"], [7555, 0, "t"], [7556, 0, "{"], [7557, 0, "c"], [7558, 0, "u"], [7559, 0, "r"], [7560, 0, "}"], [7561, 0, "$"], [7562, 0, "}"], [7563, 0, "\n"], [7564, 0, "\\"], [7565, 0, "A"], [7566, 0, "x"], [7567, 0, "i"], [7568, 0, "o"], [7569, 0, "m"], [7570, 0, "C"], [7571, 0, "{"], [7572, 0, "$"], [7573, 0, "A"], [7574, 0, "_"], [7575, 0, "p"], [7576, 0, ","], [7577, 0, "\\"], [7578, 0, ","], [7579, 0, " "], [7580, 0, "\\"], [7581, 0, "m"], [7582, 0, "a"], [7583, 0, "t"], [7584, 0, "h"], [7585, 0, "i"], [7586, 0, "t"], [7587, 0, "{"], [7588, 0, "c"], [7589, 0, "u"], [7590, 0, "r"], [7591, 0, "}"], [7592, 0, "."], [7593, 0, "\\"], [7594, 0, "m"], [7595, 0, "a"], [7596, 0, "t"], [7597, 0, "h"], [7598, 0, "s"], [7599, 0, "f"], [7600, 0, "{"], [7601, 0, "n"], [7602, 0, "e"], [7603, 0, "x"], [7604, 0, "t"], [7605, 0, "}"], [7606, 0, " "], [7607, 0, "\\"], [7608, 0, "e"], [7609, 0, "v"], [7610, 0, "a"], [7611, 0, "l"], [7612, 0, "t"], [7613, 0, "o"], [7614, 0, " "], [7615, 0, "\\"], [7616, 0, "m"], [7617, 0, "a"], [7618, 0, "t"], [7619, 0, "h"], [7620, 0, "i"], [7621, 0, "t"], [7622, 0, "{"], [7623, 0, "c"], [7624, 0, "u"], [7625, 0, "r"], [7626, 0, "}"], [7627, 0, "'"], [7628, 0, "$"], [7629, 0, "}"], [7630, 0, "\n"], [7631, 0, "\\"], [7632, 0, "L"], [7633, 0, "e"], [7634, 0, "f"], [7635, 0, "t"], [7636, 0, "L"], [7637, 0, "a"], [7638, 0, "b"], [7639, 0, "e"], [7640, 0, "l"], [7641, 0, "{"], [7642, 0, "$"], [7643, 0, "\\"], [7644, 0, "m"], [7645, 0, "a"], [7645, 1], [7644, 1], [7644, 0, "t"], [7645, 0, "e"], [7646, 0, "s"], [7646, 1], [7646, 0, "x"], [7647, 0, "t"], [7648, 0, "s"], [7649, 0, "c"], [7650, 0, "{"], [7651, 0, "N"], [7652, 0, "e"], [7653, 0, "x"], [7654, 0, "t"], [7655, 0, "}"], [7656, 0, "_"], [7657, 0, "1"], [7658, 0, "$"], [7659, 0, "}"], [7660, 0, "\n"], [7661, 0, "A"], [7661, 1], [7661, 0, "\\"], [7662, 0, "B"], [7663, 0, "i"], [7664, 0, "n"], [7665, 0, "a"], [7666, 0, "r"], [7667, 0, "e"], [7668, 0, "y"], [7668, 1], [7667, 1], [7667, 0, "y"], [7668, 0, "I"], [7669, 0, "n"], [7670, 0, "f"], [7671, 0, "C"], [7672, 0, "{"], [7673, 0, "$"], [7674, 0, "A"], [7675, 0, "_"], [7676, 0, "p"], [7677, 0, ","], [7678, 0, "\\"], [7679, 0, ","], [7680, 0, " "], [7681, 0, "\\"], [7682, 0, "m"], [7683, 0, "a"], [7684, 0, "t"], [7685, 0, "h"], [7686, 0, "i"], [7687, 0, "t"], [7688, 0, "{"], [7689, 0, "e"], [7690, 0, "x"], [7691, 0, "p"], [7692, 0, "r"], [7693, 0, "}"], [7694, 0, "."], [7695, 0, "\\"], [7696, 0, "m"], [7697, 0, "a"], [7698, 0, "t"], [7699, 0, "h"], [7700, 0, "s"], [7701, 0, "f"], [7702, 0, "{"], [7703, 0, "n"], [7704, 0, " "], [7705, 0, "e"], [7706, 0, "x"], [7706, 1], [7705, 1], [7704, 1], [7704, 0, "e"], [7705, 0, "x"], [7706, 0, "t"], [7707, 0, "}"], [7708, 0, " "], [7709, 0, "\\"], [7710, 0, "e"], [7711, 0, "v"], [7712, 0, "a"], [7713, 0, "l"], [7714, 0, "t"], [7715, 0, "o"], [7716, 0, " "], [7717, 0, "\\"], [7718, 0, "m"], [7719, 0, "a"], [7720, 0, "t"], [7721, 0, "h"], [7722, 0, "i"], [7723, 0, "t"], [7724, 0, "{"], [7725, 0, "c"], [7726, 0, "u"], [7727, 0, "r"], [7728, 0, "}"], [7729, 0, "'"], [7730, 0, "$"], [7731, 0, "}"], [7748, 0, "\n"], [7749, 0, "\n"], [7750, 0, "\\"], [7751, 0, "b"], [7752, 0, "e"], [7753, 0, "g"], [7754, 0, "i"], [7755, 0, "n"], [7756, 0, "{"], [7757, 0, "p"], [7758, 0, "r"], [7759, 0, "o"], [7760, 0, "o"], [7761, 0, "f"], [7762, 0, "t"], [7763, 0, "r"], [7764, 0, "e"], [7765, 0, "e"], [7766, 0, "}"], [7767, 0, "\n"], [7768, 0, "\\"], [7769, 0, "e"], [7770, 0, "n"], [7771, 0, "d"], [7772, 0, "P"], [7772, 1], [7772, 0, "{"], [7773, 0, "p"], [7774, 0, "r"], [7775, 0, "o"], [7776, 0, "o"], [7777, 0, "f"], [7778, 0, "t"], [7779, 0, "r"], [7780, 0, "e"], [7781, 0, "e"], [7782, 0, "}"], [7767, 0, "\n"], [7768, 0, "A"], [7769, 0, "x"], [7770, 0, "i"], [7771, 0, "o"], [7772, 0, "m"], [7773, 0, "C"], [7768, 0, "\\"], [7775, 0, "{"], [7776, 0, "$"], [7777, 0, "\\"], [7778, 0, "m"], [7779, 0, "a"], [7780, 0, "t"], [7781, 0, "h"], [7782, 0, "s"], [7783, 0, "f"], [7784, 0, "{"], [7785, 0, "n"], [7786, 0, "e"], [7787, 0, "x"], [7788, 0, "t"], [7789, 0, "}"], [7790, 0, "("], [7791, 0, "k"], [7792, 0, ")"], [7793, 0, " "], [7794, 0, "\\"], [7795, 0, "i"], [7796, 0, "n"], [7797, 0, " "], [7798, 0, "\\"], [7799, 0, "m"], [7800, 0, "a"], [7801, 0, "t"], [7802, 0, "h"], [7803, 0, "r"], [7804, 0, "m"], [7805, 0, "{"], [7806, 0, "d"], [7807, 0, "o"], [7808, 0, "m"], [7809, 0, "}"], [7810, 0, "("], [7811, 0, "\\"], [7812, 0, "m"], [7813, 0, "a"], [7814, 0, "t"], [7815, 0, "h"], [7816, 0, "i"], [7817, 0, "t"], [7818, 0, "{"], [7819, 0, "c"], [7820, 0, "t"], [7821, 0, "x"], [7822, 0, "}"], [7823, 0, ")"], [7824, 0, "$"], [7825, 0, "}"], [7826, 0, "\n"], [7827, 0, "\\"], [7828, 0, "A"], [7829, 0, "x"], [7830, 0, "i"], [7831, 0, "o"], [7832, 0, "m"], [7833, 0, "C"], [7834, 0, "{"], [7835, 0, "$"], [7836, 0, "\\"], [7837, 0, "m"], [7838, 0, "a"], [7839, 0, "t"], [7840, 0, "h"], [7841, 0, "i"], [7842, 0, "t"], [7843, 0, "{"], [7844, 0, "c"], [7845, 0, "t"], [7846, 0, "x"], [7847, 0, "}"], [7848, 0, "("], [7849, 0, "\\"], [7850, 0, "m"], [7851, 0, "a"], [7852, 0, "t"], [7853, 0, "h"], [7854, 0, "s"], [7855, 0, "f"], [7856, 0, "{"], [7857, 0, "n"], [7858, 0, "e"], [7859, 0, "x"], [7860, 0, "t"], [7861, 0, "}"], [7862, 0, "("], [7863, 0, "k"], [7864, 0, ")"], [7865, 0, ")"], [7866, 0, " "], [7867, 0, "="], [7868, 0, " "], [7869, 0, "k"], [7870, 0, "'"], [7871, 0, "$"], [7872, 0, "}"], [7873, 0, "\n"], [7874, 0, "\\"], [7875, 0, "L"], [7876, 0, "e"], [7877, 0, "f"], [7878, 0, "t"], [7879, 0, "L"], [7880, 0, "a"], [7881, 0, "b"], [7882, 0, "e"], [7883, 0, "l"], [7884, 0, "{"], [7885, 0, "$"], [7886, 0, "\\"], [7887, 0, "t"], [7888, 0, "e"], [7889, 0, "x"], [7890, 0, "t"], [7891, 0, "s"], [7892, 0, "c"], [7893, 0, "{"], [7894, 0, "N"], [7895, 0, "e"], [7896, 0, "x"], [7897, 0, "t"], [7898, 0, "}"], [7899, 0, "_"], [7900, 0, "2"], [7901, 0, "$"], [7902, 0, "}"], [7903, 0, "\n"], [7904, 0, "\\"], [7905, 0, "B"], [7906, 0, "i"], [7907, 0, "n"], [7908, 0, "a"], [7909, 0, "r"], [7910, 0, "y"], [7911, 0, "I"], [7912, 0, "n"], [7913, 0, "f"], [7914, 0, "C"], [7915, 0, "{"], [7916, 0, "$"], [7917, 0, "\\"], [7918, 0, "m"], [7919, 0, "a"], [7920, 0, "t"], [7921, 0, "h"], [7922, 0, "i"], [7923, 0, "t"], [7924, 0, "{"], [7925, 0, "c"], [7926, 0, "t"], [7927, 0, "x"], [7928, 0, "}"], [7929, 0, ","], [7930, 0, "\\"], [7931, 0, ","], [7932, 0, " "], [7933, 0, "\\"], [7934, 0, "m"], [7935, 0, "a"], [7936, 0, "t"], [7937, 0, "h"], [7938, 0, "s"], [7939, 0, "f"], [7940, 0, "{"], [7941, 0, "c"], [7942, 0, "u"], [7943, 0, "r"], [7944, 0, "s"], [7945, 0, "o"], [7946, 0, "r"], [7947, 0, "}"], [7948, 0, "("], [7949, 0, "\\"], [7950, 0, "l"], [7951, 0, "a"], [7952, 0, "n"], [7953, 0, "g"], [7954, 0, "l"], [7955, 0, "e"], [7956, 0, "\\"], [7957, 0, "r"], [7958, 0, "a"], [7959, 0, "n"], [7960, 0, "g"], [7961, 0, "l"], [7962, 0, "e"], [7963, 0, ","], [7964, 0, "\\"], [7965, 0, ","], [7966, 0, " "], [7967, 0, "k"], [7968, 0, ")"], [7969, 0, "."], [7970, 0, "\\"], [7971, 0, "m"], [7972, 0, "a"], [7973, 0, "t"], [7974, 0, "h"], [7975, 0, "s"], [7976, 0, "f"], [7977, 0, "{"], [7978, 0, "n"], [7979, 0, "e"], [7980, 0, "x"], [7981, 0, "t"], [7982, 0, "}"], [7983, 0, " "], [7984, 0, "\\"], [7985, 0, "e"], [7986, 0, "v"], [7987, 0, "a"], [7988, 0, "l"], [7989, 0, "t"], [7990, 0, "o"], [7991, 0, " "], [7991, 1], [7991, 0, "\n"], [7992, 0, " "], [7993, 0, " "], [7994, 0, " "], [7995, 0, " "], [7996, 0, "\\"], [7997, 0, "m"], [7998, 0, "a"], [7999, 0, "t"], [8000, 0, "h"], [8001, 0, "s"], [8002, 0, "f"], [8003, 0, "{"], [8004, 0, "c"], [8005, 0, "u"], [8006, 0, "r"], [8007, 0, "s"], [8008, 0, "o"], [8009, 0, "r"], [8010, 0, "}"], [8011, 0, "("], [8012, 0, "\\"], [8013, 0, "l"], [8014, 0, "a"], [8015, 0, "n"], [8016, 0, "g"], [8017, 0, "l"], [8018, 0, "e"], [8019, 0, "\\"], [8020, 0, "r"], [8021, 0, "a"], [8022, 0, "n"], [8023, 0, "g"], [8024, 0, "l"], [8025, 0, "e"], [8026, 0, ","], [8027, 0, "\\"], [8028, 0, ","], [8029, 0, " "], [8030, 0, "k"], [8031, 0, "'"], [8032, 0, ")"], [8033, 0, "$"], [8034, 0, "}"], [8051, 0, "\n"], [8052, 0, "\n"], [8053, 0, "\\"], [8054, 0, "b"], [8055, 0, "e"], [8056, 0, "g"], [8057, 0, "i"], [8058, 0, "n"], [8059, 0, "{"], [8060, 0, "p"], [8061, 0, "r"], [8062, 0, "o"], [8063, 0, "o"], [8064, 0, "f"], [8065, 0, "t"], [8066, 0, "r"], [8067, 0, "e"], [8068, 0, "e"], [8069, 0, "}"], [8070, 0, "\n"], [8071, 0, "\\"], [8072, 0, "e"], [8073, 0, "n"], [8074, 0, "d"], [8075, 0, "{"], [8076, 0, "p"], [8077, 0, "r"], [8078, 0, "o"], [8079, 0, "o"], [8080, 0, "f"], [8081, 0, "t"], [8082, 0, "r"], [8083, 0, "e"], [8084, 0, "e"], [8085, 0, "}"], [8070, 0, "\n"], [8071, 0, "\\"], [8072, 0, "A"], [8073, 0, "x"], [8074, 0, "i"], [8075, 0, "o"], [8076, 0, "m"], [8077, 0, "C"], [8078, 0, "{"], [8079, 0, "$"], [8080, 0, "k"], [8081, 0, "_"], [8082, 0, "1"], [8083, 0, " "], [8084, 0, "\\"], [8085, 0, "i"], [8086, 0, "n"], [8087, 0, " "], [8088, 0, "\\"], [8089, 0, "m"], [8090, 0, "a"], [8091, 0, "t"], [8092, 0, "h"], [8093, 0, "r"], [8094, 0, "m"], [8095, 0, "{"], [8096, 0, "d"], [8097, 0, "o"], [8098, 0, "m"], [8099, 0, "}"], [8100, 0, "("], [8101, 0, "\\"], [8102, 0, "m"], [8103, 0, "a"], [8104, 0, "t"], [8105, 0, "h"], [8106, 0, "i"], [8107, 0, "t"], [8108, 0, "{"], [8109, 0, "c"], [8110, 0, "t"], [8111, 0, "x"], [8112, 0, "}"], [8113, 0, ")"], [8114, 0, "$"], [8115, 0, "}"], [8116, 0, "\n"], [8117, 0, "\\"], [8118, 0, "A"], [8119, 0, "x"], [8120, 0, "i"], [8121, 0, "o"], [8122, 0, "m"], [8123, 0, "C"], [8124, 0, "{"], [8125, 0, "$"], [8126, 0, "\\"], [8127, 0, "m"], [8128, 0, "a"], [8129, 0, "t"], [8130, 0, "h"], [8131, 0, "i"], [8132, 0, "t"], [8133, 0, "{"], [8134, 0, "c"], [8135, 0, "t"], [8136, 0, "x"], [8137, 0, "}"], [8138, 0, "("], [8139, 0, "k"], [8140, 0, "_"], [8141, 0, "1"], [8142, 0, ")"], [8143, 0, ","], [8144, 0, "\\"], [8145, 0, ","], [8146, 0, " "], [8147, 0, "\\"], [8148, 0, "m"], [8149, 0, "a"], [8150, 0, "t"], [8151, 0, "h"], [8152, 0, "s"], [8153, 0, "f"], [8154, 0, "{"], [8155, 0, "}"], [8155, 0, "c"], [8156, 0, "u"], [8157, 0, "r"], [8158, 0, "s"], [8159, 0, "o"], [8160, 0, "r"], [8162, 0, "("], [8163, 0, "\\"], [8164, 0, "l"], [8165, 0, "a"], [8166, 0, "n"], [8167, 0, "g"], [8168, 0, "l"], [8169, 0, "e"], [8170, 0, " "], [8171, 0, "k"], [8172, 0, "_"], [8173, 0, "2"], [8174, 0, ","], [8175, 0, " "], [8176, 0, "\\"], [8177, 0, "d"], [8178, 0, "o"], [8179, 0, "t"], [8180, 0, "s"], [8181, 0, ","], [8182, 0, " "], [8183, 0, "k"], [8184, 0, "_"], [8185, 0, "{"], [8186, 0, "n"], [8187, 0, "-"], [8188, 0, "1"], [8189, 0, "}"], [8190, 0, " "], [8191, 0, "\\"], [8192, 0, "r"], [8193, 0, "a"], [8194, 0, "n"], [8195, 0, "g"], [8196, 0, "l"], [8197, 0, "e"], [8198, 0, ","], [8199, 0, "\\"], [8200, 0, ","], [8201, 0, " "], [8202, 0, "k"], [8203, 0, "_"], [8204, 0, "n"], [8205, 0, ")"], [8206, 0, "."], [8207, 0, "\\"], [8208, 0, "m"], [8209, 0, "a"], [8210, 0, "t"], [8211, 0, "h"], [8212, 0, "s"], [8213, 0, "f"], [8214, 0, "{"], [8215, 0, "n"], [8216, 0, "e"], [8217, 0, "x"], [8218, 0, "t"], [8219, 0, "}"], [8220, 0, " "], [8221, 0, "\\"], [8222, 0, "e"], [8223, 0, "v"], [8224, 0, "a"], [8224, 1], [8223, 1], [8222, 1], [8221, 1], [8220, 1], [8220, 0, "\n"], [8221, 0, " "], [8222, 0, " "], [8223, 0, " "], [8224, 0, " "], [8225, 0, "'"], [8226, 0, "e"], [8226, 1], [8225, 1], [8225, 0, "\\"], [8226, 0, "e"], [8227, 0, "v"], [8228, 0, "a"], [8229, 0, "l"], [8230, 0, "t"], [8231, 0, "o"], [8232, 0, " "], [8233, 0, "\\"], [8234, 0, "m"], [8235, 0, "a"], [8236, 0, "t"], [8237, 0, "h"], [8238, 0, "s"], [8239, 0, "f"], [8240, 0, "{"], [8241, 0, "c"], [8242, 0, "u"], [8243, 0, "r"], [8244, 0, "s"], [8245, 0, "o"], [8246, 0, "r"], [8247, 0, "}"], [8248, 0, "("], [8249, 0, "\\"], [8250, 0, "l"], [8251, 0, "a"], [8252, 0, "n"], [8253, 0, "g"], [8254, 0, "l"], [8255, 0, "e"], [8256, 0, " "], [8257, 0, "k"], [8258, 0, "_"], [8259, 0, "2"], [8260, 0, ","], [8261, 0, " "], [8262, 0, "\\"], [8263, 0, "d"], [8264, 0, "o"], [8265, 0, "t"], [8266, 0, "s"], [8267, 0, ","], [8268, 0, " "], [8269, 0, "k"], [8270, 0, "_"], [8271, 0, "{"], [8272, 0, "n"], [8273, 0, "-"], [8274, 0, "1"], [8275, 0, "}"], [8276, 0, " "], [8277, 0, "\\"], [8278, 0, "r"], [8279, 0, "a"], [8280, 0, "n"], [8281, 0, "g"], [8282, 0, "l"], [8283, 0, "e"], [8284, 0, ","], [8285, 0, "\\"], [8286, 0, ","], [8287, 0, " "], [8288, 0, "k"], [8289, 0, "_"], [8290, 0, "n"], [8291, 0, "'"], [8292, 0, ")"], [8293, 0, "$"], [8294, 0, "}"], [8295, 0, "\n"], [8296, 0, "\\"], [8297, 0, "L"], [8298, 0, "e"], [8299, 0, "f"], [8300, 0, "t"], [8301, 0, "L"], [8302, 0, "a"], [8303, 0, "b"], [8304, 0, "e"], [8305, 0, "l"], [8306, 0, "{"], [8307, 0, "$"], [8308, 0, "\\"], [8309, 0, "t"], [8310, 0, "e"], [8311, 0, "x"], [8312, 0, "t"], [8313, 0, "s"], [8314, 0, "c"], [8315, 0, "{"], [8316, 0, "N"], [8317, 0, "e"], [8318, 0, "x"], [8319, 0, "t"], [8320, 0, "}"], [8321, 0, "_"], [8322, 0, "3"], [8323, 0, "$"], [8324, 0, "}"], [8325, 0, "\n"], [8326, 0, "\\"], [8327, 0, "B"], [8328, 0, "i"], [8329, 0, "n"], [8330, 0, "a"], [8331, 0, "r"], [8332, 0, "y"], [8333, 0, "I"], [8334, 0, "n"], [8335, 0, "f"], [8336, 0, "C"], [8337, 0, "{"], [8338, 0, "%"], [8339, 0, "$"], [8339, 1], [8338, 1], [8338, 0, "%"], [8338, 1], [8338, 0, "$"], [8339, 0, "\\"], [8340, 0, "m"], [8341, 0, "a"], [8342, 0, "t"], [8343, 0, "h"], [8344, 0, "i"], [8345, 0, "t"], [8346, 0, "{"], [8347, 0, "c"], [8348, 0, "t"], [8349, 0, "x"], [8350, 0, "}"], [8351, 0, ","], [8352, 0, "\\"], [8353, 0, ","], [8354, 0, " "], [8355, 0, "\\"], [8356, 0, "m"], [8357, 0, "a"], [8358, 0, "t"], [8359, 0, "h"], [8360, 0, "s"], [8361, 0, "f"], [8362, 0, "{"], [8363, 0, "c"], [8364, 0, "u"], [8365, 0, "r"], [8366, 0, "s"], [8367, 0, "o"], [8368, 0, "r"], [8369, 0, "}"], [8370, 0, "("], [8371, 0, "\\"], [8372, 0, "l"], [8373, 0, "a"], [8374, 0, "n"], [8375, 0, "g"], [8376, 0, "l"], [8377, 0, "e"], [8378, 0, " "], [8379, 0, "k"], [8380, 0, "_"], [8381, 0, "1"], [8382, 0, ","], [8383, 0, " "], [8384, 0, "k"], [8385, 0, "_"], [8386, 0, "2"], [8387, 0, ","], [8388, 0, " "], [8389, 0, "\\"], [8390, 0, "d"], [8391, 0, "o"], [8392, 0, "t"], [8393, 0, "s"], [8394, 0, ","], [8395, 0, " "], [8396, 0, "k"], [8397, 0, "{"], [8397, 1], [8397, 0, "_"], [8398, 0, "{"], [8399, 0, "n"], [8400, 0, "-"], [8401, 0, "1"], [8402, 0, "}"], [8403, 0, " "], [8404, 0, "\\"], [8405, 0, "r"], [8406, 0, "a"], [8407, 0, "n"], [8408, 0, "g"], [8409, 0, "l"], [8410, 0, "e"], [8411, 0, ","], [8412, 0, "\\"], [8413, 0, ","], [8414, 0, " "], [8415, 0, "k"], [8416, 0, "_"], [8417, 0, "n"], [8418, 0, ")"], [8419, 0, "\\"], [8420, 0, "."], [8420, 1], [8419, 1], [8419, 0, "."], [8420, 0, "\\"], [8421, 0, "m"], [8422, 0, "a"], [8423, 0, "t"], [8424, 0, "h"], [8425, 0, "s"], [8426, 0, "f"], [8427, 0, "{"], [8428, 0, "n"], [8429, 0, "e"], [8430, 0, "x"], [8431, 0, "t"], [8432, 0, "}"], [8433, 0, "\n"], [8434, 0, " "], [8435, 0, " "], [8436, 0, " "], [8437, 0, " "], [8438, 0, "\\"], [8439, 0, "e"], [8440, 0, "v"], [8441, 0, "a"], [8442, 0, "l"], [8443, 0, "t"], [8444, 0, "o"], [8445, 0, " "], [8446, 0, "\\"], [8447, 0, "m"], [8448, 0, "a"], [8449, 0, "t"], [8450, 0, "h"], [8451, 0, "s"], [8452, 0, "f"], [8453, 0, "{"], [8454, 0, "c"], [8455, 0, "u"], [8456, 0, "r"], [8457, 0, "s"], [8458, 0, "o"], [8459, 0, "r"], [8460, 0, "}"], [8461, 0, "("], [8462, 0, "\\"], [8463, 0, "l"], [8464, 0, "a"], [8465, 0, "n"], [8466, 0, "g"], [8467, 0, "l"], [8468, 0, "e"], [8469, 0, " "], [8470, 0, "k"], [8471, 0, "_"], [8472, 0, "1"], [8473, 0, ","], [8474, 0, " "], [8475, 0, "k"], [8476, 0, "_"], [8477, 0, "2"], [8478, 0, ","], [8479, 0, " "], [8480, 0, "\\"], [8481, 0, "d"], [8482, 0, "o"], [8483, 0, "t"], [8484, 0, "s"], [8485, 0, ","], [8486, 0, " "], [8487, 0, "k"], [8488, 0, "_"], [8489, 0, "{"], [8490, 0, "n"], [8491, 0, "-"], [8492, 0, "1"], [8493, 0, "}"], [8494, 0, " "], [8495, 0, "\\"], [8496, 0, "r"], [8497, 0, "a"], [8498, 0, "n"], [8499, 0, "g"], [8500, 0, "l"], [8501, 0, "e"], [8502, 0, ","], [8503, 0, "\\"], [8504, 0, ","], [8505, 0, " "], [8506, 0, "k"], [8507, 0, "_"], [8508, 0, "n"], [8509, 0, "'"], [8510, 0, ")"], [8511, 0, "$"], [8512, 0, "}"], [7508, 1], [7507, 1], [7506, 1], [7505, 1], [7504, 1], [7503, 1], [7502, 1], [7501, 1], [7500, 1], [7500, 0, "c"], [7501, 0, "e"], [7502, 0, "n"], [7503, 0, "t"], [7504, 0, "e"], [7505, 0, "r"], [7730, 0, "%"], [7747, 0, "%"], [7749, 0, "%"], [8050, 1], [8049, 1], [8048, 1], [8047, 1], [8046, 1], [8045, 1], [8044, 1], [8043, 1], [8042, 1], [8041, 1], [8041, 0, "c"], [8042, 0, "e"], [8043, 0, "n"], [8044, 0, "t"], [8045, 0, "e"], [8046, 0, "r"], [8047, 0, "}"], [8035, 0, "\n"], [8036, 0, "\\"], [8037, 0, "D"], [8038, 0, "i"], [8039, 0, "s"], [8040, 0, "p"], [8041, 0, "l"], [8042, 0, "a"], [8043, 0, "y"], [8044, 0, "P"], [8045, 0, "r"], [8046, 0, "o"], [8047, 0, "o"], [8048, 0, "f"], [8049, 0, "\\"], [8050, 0, "p"], [8051, 0, "r"], [8052, 0, "o"], [8053, 0, "o"], [8054, 0, "f"], [8055, 0, "S"], [8056, 0, "k"], [8057, 0, "i"], [8058, 0, "p"], [8059, 0, "A"], [8060, 0, "m"], [8061, 0, "o"], [8062, 0, "u"], [8063, 0, "n"], [8064, 0, "t"], [7729, 0, "\n"], [7730, 0, "\\"], [7731, 0, "D"], [7732, 0, "i"], [7733, 0, "s"], [7734, 0, "p"], [7735, 0, "l"], [7736, 0, "a"], [7737, 0, "y"], [7738, 0, "P"], [7739, 0, "r"], [7740, 0, "o"], [7741, 0, "o"], [7742, 0, "f"], [7743, 0, "\\"], [7744, 0, "q"], [7745, 0, "u"], [7746, 0, "a"], [7747, 0, "d"], [7747, 1], [7746, 1], [7745, 1], [7744, 1], [7744, 0, "h"], [7745, 0, "s"], [7746, 0, "p"], [7747, 0, "a"], [7748, 0, "c"], [7749, 0, "e"], [7750, 0, "{"], [7751, 0, "2"], [7752, 0, "e"], [7753, 0, "m"], [7754, 0, "}"], [7751, 1], [7751, 0, "1"], [7754, 1], [7753, 1], [7752, 1], [7751, 1], [7750, 1], [7749, 1], [7748, 1], [7747, 1], [7746, 1], [7745, 1], [7745, 0, "f"], [7746, 0, "i"], [7747, 0, "l"], [7748, 0, "l"], [7765, 1], [7764, 1], [7763, 1], [7762, 1], [7761, 1], [7760, 1], [7759, 1], [7758, 1], [7757, 1], [7756, 1], [7755, 1], [7754, 1], [7753, 1], [7752, 1], [7751, 1], [7750, 1], [7749, 1], [7769, 1], [7768, 1], [7767, 1], [7766, 1], [7765, 1], [7764, 1], [7763, 1], [7762, 1], [7761, 1], [7760, 1], [7759, 1], [7758, 1], [7757, 1], [7756, 1], [7755, 1], [7754, 1], [7753, 1], [7752, 1], [7751, 1], [5977, 0, "\n"], [5978, 0, "\\"], [5979, 0, "b"], [5980, 0, "e"], [5981, 0, "g"], [5982, 0, "i"], [5983, 0, "n"], [5984, 0, "{"], [5985, 0, "f"], [5986, 0, "i"], [5987, 0, "g"], [5988, 0, "u"], [5989, 0, "r"], [5990, 0, "e"], [5991, 0, "}"], [5992, 0, "\n"], [5993, 0, "\\"], [5994, 0, "e"], [5995, 0, "n"], [5996, 0, "d"], [5997, 0, "{"], [5998, 0, "f"], [5999, 0, "i"], [6000, 0, "g"], [6001, 0, "u"], [6002, 0, "r"], [6003, 0, "e"], [6004, 0, "}"], [6005, 0, "\n"], [5992, 0, "\n"], [5993, 0, "\\"], [5994, 0, "c"], [5995, 0, "e"], [5996, 0, "n"], [5997, 0, "t"], [5998, 0, "e"], [5999, 0, "r"], [6000, 0, "i"], [6001, 0, "n"], [6002, 0, "g"], [6003, 0, "\n"], [6004, 0, "\\"], [6005, 0, "b"], [6006, 0, "e"], [6007, 0, "g"], [6008, 0, "i"], [6009, 0, "n"], [6010, 0, "{"], [6011, 0, "t"], [6012, 0, "a"], [6013, 0, "b"], [6014, 0, "u"], [6015, 0, "l"], [6016, 0, "a"], [6017, 0, "r"], [6018, 0, "}"], [6019, 0, "{"], [6020, 0, "l"], [6021, 0, "l"], [6022, 0, "}"], [6023, 0, "\n"], [6024, 0, "\\"], [6025, 0, "e"], [6026, 0, "n"], [6027, 0, "d"], [6028, 0, "{"], [6029, 0, "t"], [6030, 0, "a"], [6031, 0, "b"], [6032, 0, "u"], [6033, 0, "l"], [6034, 0, "a"], [6035, 0, "r"], [6036, 0, "}"], [6037, 0, "\n"], [6038, 0, "\\"], [6039, 0, "c"], [6040, 0, "a"], [6041, 0, "p"], [6042, 0, "t"], [6043, 0, "i"], [6044, 0, "o"], [6045, 0, "n"], [6046, 0, "{"], [6047, 0, "I"], [6048, 0, "n"], [6049, 0, "t"], [6050, 0, "e"], [6051, 0, "r"], [6052, 0, "n"], [6053, 0, "a"], [6054, 0, "l"], [6055, 0, " "], [6056, 0, "r"], [6057, 0, "e"], [6058, 0, "p"], [6059, 0, "r"], [6060, 0, "e"], [6061, 0, "s"], [6062, 0, "e"], [6063, 0, "n"], [6064, 0, "t"], [6065, 0, "a"], [6066, 0, "t"], [6067, 0, "i"], [6068, 0, "o"], [6069, 0, "n"], [6070, 0, " "], [6071, 0, "o"], [6072, 0, "f"], [6073, 0, " "], [6074, 0, "t"], [6075, 0, "h"], [6076, 0, "e"], [6077, 0, " "], [6078, 0, "e"], [6079, 0, "x"], [6080, 0, "a"], [6081, 0, "m"], [6082, 0, "p"], [6083, 0, "l"], [6084, 0, "e"], [6085, 0, " "], [6086, 0, "o"], [6087, 0, "f"], [6088, 0, " "], [6089, 0, "F"], [6090, 0, "i"], [6091, 0, "g"], [6092, 0, "u"], [6093, 0, "r"], [6094, 0, "e"], [6095, 0, "~"], [6096, 0, "\\"], [6097, 0, "r"], [6098, 0, "e"], [6099, 0, "f"], [6100, 0, "{"], [6101, 0, "f"], [6102, 0, "i"], [6103, 0, "g"], [6104, 0, ":"], [6105, 0, "m"], [6106, 0, "a"], [6107, 0, "k"], [6108, 0, "e"], [6109, 0, "-"], [6110, 0, "d"], [6111, 0, "o"], [6112, 0, "c"], [6113, 0, "}"], [6114, 0, "."], [6115, 0, "}"], [6116, 0, "\\"], [6117, 0, "l"], [6118, 0, "a"], [6119, 0, "b"], [6120, 0, "e"], [6121, 0, "l"], [6122, 0, "{"], [6123, 0, "f"], [6124, 0, "i"], [6125, 0, "g"], [6126, 0, ":"], [6127, 0, "s"], [6128, 0, "t"], [6129, 0, "a"], [6130, 0, "t"], [6131, 0, "e"], [6132, 0, "-"], [6133, 0, "e"], [6134, 0, "x"], [6135, 0, "a"], [6136, 0, "m"], [6137, 0, "p"], [6138, 0, "l"], [6139, 0, "e"], [6140, 0, "}"], [6023, 0, "\n"], [6003, 0, "\n"], [6003, 1], [6003, 0, " "], [6004, 0, "\\"], [6005, 0, "["], [6020, 1], [6019, 1], [6018, 1], [6017, 1], [6016, 1], [6015, 1], [6014, 1], [6014, 0, "a"], [6015, 0, "r"], [6016, 0, "r"], [6017, 0, "a"], [6018, 0, "y"], [6037, 1], [6036, 1], [6035, 1], [6034, 1], [6033, 1], [6032, 1], [6031, 1], [6031, 0, "a"], [6032, 0, "r"], [6033, 0, "r"], [6034, 0, "a"], [6035, 0, "y"], [6037, 0, " "], [6038, 0, "\\"], [6039, 0, "]"], [6025, 0, "A"], [6026, 0, "_"], [6027, 0, "p"], [6028, 0, " "], [6029, 0, "="], [6030, 0, " "], [6031, 0, "{"], [6032, 0, "\\"], [6033, 0, ";"], [6034, 0, " "], [6035, 0, "&"], [6036, 0, " "], [6037, 0, "\\"], [6038, 0, "m"], [6039, 0, "a"], [6040, 0, "t"], [6041, 0, "h"], [6042, 0, "s"], [6043, 0, "f"], [6044, 0, "{"], [6045, 0, "d"], [6046, 0, "o"], [6046, 1], [6045, 1], [6045, 0, "m"], [6046, 0, "a"], [6047, 0, "p"], [6048, 0, "T"], [6049, 0, "}"], [6050, 0, "("], [6051, 0, "\\"], [6052, 0, "m"], [6053, 0, "a"], [6054, 0, "t"], [6055, 0, "h"], [6056, 0, "s"], [6057, 0, "f"], [6058, 0, "{"], [6059, 0, "d"], [6060, 0, "o"], [6061, 0, "c"], [6062, 0, "}"], [6063, 0, ")"], [6064, 0, " "], [6065, 0, "\\"], [6066, 0, "m"], [6067, 0, "a"], [6068, 0, "p"], [6069, 0, "s"], [6070, 0, "t"], [6071, 0, "o"], [6072, 0, " "], [6073, 0, "{"], [6031, 0, "\\"], [6074, 0, "\\"], [6141, 1], [6140, 1], [6140, 0, "d"], [6141, 0, "o"], [6142, 0, "c"], [6143, 0, "u"], [6144, 0, "m"], [6145, 0, "e"], [6146, 0, "n"], [6147, 0, "t"], [6148, 0, " "], [6149, 0, "i"], [6150, 0, "n"], [6150, 1], [6149, 1], [6149, 0, "f"], [6150, 0, "r"], [6151, 0, "o"], [6152, 0, "m"], [6076, 0, " "], [6077, 0, "\\"], [6078, 0, "m"], [6079, 0, "a"], [6080, 0, "t"], [6081, 0, "h"], [6082, 0, "s"], [6083, 0, "f"], [6084, 0, "{"], [6085, 0, "l"], [6086, 0, "i"], [6087, 0, "s"], [6088, 0, "t"], [6089, 0, "T"], [6090, 0, "}"], [6091, 0, "("], [6092, 0, "\\"], [6093, 0, "v"], [6094, 0, "e"], [6095, 0, "r"], [6096, 0, "b"], [6097, 0, "\""], [6097, 1], [6097, 0, "|"], [6098, 0, "\""], [6099, 0, "s"], [6100, 0, "h"], [6101, 0, "o"], [6102, 0, "p"], [6103, 0, "p"], [6104, 0, "i"], [6105, 0, "n"], [6106, 0, "g"], [6107, 0, "\""], [6108, 0, "|"], [6109, 0, ")"], [6110, 0, " "], [6111, 0, "\\"], [6112, 0, "m"], [6113, 0, "a"], [6114, 0, "p"], [6115, 0, "s"], [6116, 0, "t"], [6117, 0, "o"], [6118, 0, " "], [6119, 0, "\\"], [6120, 0, "{"], [6121, 0, "\\"], [6122, 0, "\\"], [6121, 0, " "], [6076, 0, "\\"], [6077, 0, ";"], [6023, 1], [6022, 1], [6021, 1], [6020, 1], [6019, 1], [6018, 1], [6017, 1], [6016, 1], [6015, 1], [6014, 1], [6013, 1], [6012, 1], [6011, 1], [6010, 1], [6009, 1], [6008, 1], [6007, 1], [6006, 1], [6119, 1], [6118, 1], [6117, 1], [6116, 1], [6115, 1], [6114, 1], [6113, 1], [6112, 1], [6111, 1], [6110, 1], [6109, 1], [6109, 0, "\\"], [6110, 0, "m"], [6111, 0, "a"], [6112, 0, "t"], [6113, 0, "h"], [6114, 0, "s"], [6115, 0, "f"], [6116, 0, "{"], [6117, 0, "n"], [6118, 0, "e"], [6119, 0, "x"], [6120, 0, "t"], [6121, 0, "}"], [6122, 0, "("], [6123, 0, "\\"], [6124, 0, "m"], [6125, 0, "a"], [6126, 0, "t"], [6127, 0, "h"], [6128, 0, "i"], [6129, 0, "t"], [6130, 0, "{"], [6131, 0, "i"], [6132, 0, "d"], [6133, 0, "}"], [6134, 0, "-"], [6134, 1], [6134, 0, "_"], [6135, 0, "3"], [6136, 0, ")"], [6137, 0, " "], [6138, 0, "\\"], [6139, 0, "m"], [6140, 0, "a"], [6141, 0, "p"], [6142, 0, "s"], [6143, 0, "t"], [6144, 0, "o"], [6145, 0, " "], [6123, 0, "\\"], [6124, 0, "m"], [6125, 0, "a"], [6126, 0, "t"], [6127, 0, "h"], [6128, 0, "s"], [6129, 0, "f"], [6130, 0, "{"], [6131, 0, "h"], [6132, 0, "e"], [6133, 0, "a"], [6134, 0, "d"], [6135, 0, "}"], [6136, 0, ")"], [6137, 0, " "], [6138, 0, "\\"], [6139, 0, "m"], [6140, 0, "a"], [6141, 0, "p"], [6142, 0, "s"], [6143, 0, "t"], [6144, 0, "o"], [6145, 0, " "], [6168, 1], [6167, 1], [6166, 1], [6165, 1], [6164, 1], [6163, 1], [6162, 1], [6161, 1], [6160, 1], [6159, 1], [6158, 1], [6158, 0, "3"], [6159, 0, " "], [6160, 0, "\\"], [6161, 0, "\\"], [6162, 0, "\n"], [6163, 0, "\\"], [6164, 0, "m"], [6165, 0, "a"], [6166, 0, "t"], [6167, 0, "h"], [6168, 0, "s"], [6169, 0, "f"], [6170, 0, "{"], [6171, 0, "n"], [6172, 0, "e"], [6173, 0, "x"], [6174, 0, "t"], [6175, 0, "}"], [6176, 0, "("], [6177, 0, "\\"], [6178, 0, "m"], [6179, 0, "a"], [6180, 0, "t"], [6181, 0, "h"], [6182, 0, "i"], [6183, 0, "t"], [6184, 0, "{"], [6185, 0, "i"], [6186, 0, "d"], [6187, 0, "}"], [6188, 0, "_"], [6189, 0, "2"], [6190, 0, "3"], [6190, 1], [6189, 1], [6189, 0, "3"], [6190, 0, ")"], [6191, 0, " "], [6192, 0, "\\"], [6193, 0, "m"], [6194, 0, "a"], [6195, 0, "p"], [6196, 0, "s"], [6197, 0, "t"], [6198, 0, "o"], [6199, 0, " "], [6200, 0, "\\"], [6201, 0, "m"], [6202, 0, "a"], [6203, 0, "t"], [6204, 0, "h"], [6205, 0, "i"], [6206, 0, "t"], [6207, 0, "{"], [6208, 0, "i"], [6209, 0, "d"], [6210, 0, "_"], [6211, 0, "1"], [6212, 0, "}"], [6213, 0, " "], [6214, 0, "\\"], [6215, 0, "\\"], [6216, 0, "\n"], [6217, 0, "\\"], [6218, 0, "m"], [6219, 0, "a"], [6220, 0, "t"], [6221, 0, "h"], [6222, 0, "s"], [6223, 0, "f"], [6224, 0, "{"], [6225, 0, "n"], [6226, 0, "e"], [6227, 0, "x"], [6228, 0, "t"], [6229, 0, "}"], [6230, 0, "("], [6231, 0, "m"], [6231, 1], [6231, 0, "\\"], [6232, 0, "m"], [6233, 0, "a"], [6234, 0, "t"], [6235, 0, "h"], [6236, 0, "i"], [6237, 0, "t"], [6238, 0, "{"], [6239, 0, "i"], [6240, 0, "d"], [6241, 0, "_"], [6242, 0, "1"], [6243, 0, "}"], [6243, 1], [6241, 0, "}"], [6244, 0, ")"], [6245, 0, " "], [6246, 0, "\\"], [6247, 0, "m"], [6248, 0, "a"], [6249, 0, "p"], [6250, 0, "s"], [6251, 0, "t"], [6252, 0, "o"], [6253, 0, " "], [6254, 0, "\\"], [6255, 0, "m"], [6256, 0, "n"], [6257, 0, "a"], [6257, 1], [6256, 1], [6256, 0, "a"], [6257, 0, "t"], [6258, 0, "h"], [6259, 0, "i"], [6260, 0, "t"], [6261, 0, "{"], [6262, 0, "i"], [6263, 0, "d"], [6264, 0, "_"], [6265, 0, "2"], [6266, 0, "}"], [6267, 0, " "], [6268, 0, "\\"], [6269, 0, "\\"], [6270, 0, "\n"], [6271, 0, "\\"], [6272, 0, "m"], [6273, 0, "a"], [6274, 0, "t"], [6275, 0, "h"], [6276, 0, "s"], [6277, 0, "f"], [6278, 0, "{"], [6279, 0, "n"], [6280, 0, "e"], [6281, 0, "x"], [6282, 0, "t"], [6283, 0, "}"], [6284, 0, "("], [6285, 0, "\\"], [6286, 0, "m"], [6287, 0, "a"], [6288, 0, "t"], [6289, 0, "h"], [6290, 0, "i"], [6291, 0, "t"], [6292, 0, "{"], [6293, 0, "i"], [6294, 0, "d"], [6295, 0, "}"], [6296, 0, "_"], [6297, 0, "2"], [6298, 0, ")"], [6299, 0, " "], [6300, 0, "\\"], [6301, 0, "m"], [6302, 0, "a"], [6303, 0, "p"], [6304, 0, "s"], [6305, 0, "t"], [6306, 0, "o"], [6307, 0, " "], [6308, 0, "\\"], [6309, 0, "m"], [6310, 0, "a"], [6311, 0, "t"], [6312, 0, "h"], [6313, 0, "s"], [6314, 0, "f"], [6315, 0, "{"], [6316, 0, "t"], [6317, 0, "a"], [6318, 0, "i"], [6319, 0, "l"], [6320, 0, "}"], [6019, 1], [6018, 1], [6006, 0, " "], [6007, 0, "\\"], [6008, 0, "b"], [6009, 0, "e"], [6010, 0, "g"], [6011, 0, "i"], [6012, 0, "n"], [6013, 0, "{"], [6014, 0, "a"], [6015, 0, "l"], [6016, 0, "i"], [6017, 0, "g"], [6018, 0, "n"], [6019, 0, "a"], [6020, 0, "t"], [6021, 0, "*"], [6022, 0, "}"], [6023, 0, "{"], [6024, 0, "2"], [6025, 0, "}"], [6066, 0, "&"], [6067, 0, " "], [6129, 0, "&"], [6130, 0, " "], [6185, 0, "&"], [6186, 0, " "], [6241, 0, "&"], [6242, 0, " "], [6297, 0, "&"], [6298, 0, " "], [6349, 0, " "], [6350, 0, "\\"], [6351, 0, "e"], [6352, 0, "n"], [6353, 0, "d"], [6354, 0, "{"], [6355, 0, "a"], [6356, 0, "l"], [6357, 0, "i"], [6358, 0, "g"], [6359, 0, "n"], [6360, 0, "a"], [6361, 0, "t"], [6362, 0, "*"], [6363, 0, "}"], [6349, 1], [6349, 0, "\n"], [6366, 1], [6365, 1], [6364, 1], [6006, 1], [6005, 1], [6004, 1], [6030, 0, "&"], [6031, 0, " "], [6128, 0, "&"], [6185, 0, "&"], [6242, 0, "&"], [6299, 0, "&"], [6367, 0, " "], [6368, 0, "\\"], [6369, 0, "]"], [6003, 0, " "], [6004, 0, "\\"], [6005, 0, "["], [6030, 0, " "], [6031, 0, "&"], [6035, 1], [6035, 1], [6005, 1], [6005, 0, "b"], [6006, 0, "e"], [6007, 0, "g"], [6008, 0, "i"], [6009, 0, "n"], [6010, 0, "{"], [6011, 0, "e"], [6012, 0, "q"], [6013, 0, "u"], [6014, 0, "a"], [6015, 0, "t"], [6016, 0, "i"], [6017, 0, "o"], [6018, 0, "n"], [6019, 0, "*"], [6020, 0, "}"], [6021, 1], [6386, 1], [6385, 1], [6384, 1], [6383, 1], [6383, 0, "\\"], [6384, 0, "e"], [6385, 0, "n"], [6386, 0, "d"], [6387, 0, "{"], [6388, 0, "e"], [6389, 0, "q"], [6390, 0, "u"], [6391, 0, "a"], [6392, 0, "t"], [6393, 0, "i"], [6394, 0, "o"], [6395, 0, "n"], [6396, 0, "*"], [6397, 0, "}"], [6383, 0, "}"], [6083, 0, "&"], [6146, 0, "&"], [6204, 0, "&"], [6262, 0, "&"], [6320, 0, "&"], [6146, 0, "%"], [6205, 0, "%"], [6264, 0, "%"], [6323, 0, "%"], [6041, 0, "%"], [6020, 1], [6019, 1], [6018, 1], [6017, 1], [6016, 1], [6015, 1], [6014, 1], [6013, 1], [6012, 1], [6011, 1], [6010, 1], [6009, 1], [6008, 1], [6007, 1], [6006, 1], [6005, 1], [6004, 1], [6391, 1], [6390, 1], [6389, 1], [6388, 1], [6387, 1], [6386, 1], [6385, 1], [6384, 1], [6383, 1], [6382, 1], [6381, 1], [6380, 1], [6379, 1], [6378, 1], [6377, 1], [6024, 1], [6129, 1], [6187, 1], [6245, 1], [6303, 1], [6081, 0, "%"], [6081, 0, "\\"], [6082, 0, "\\"], [6067, 1], [6066, 1], [6065, 1], [6050, 0, "&"], [6051, 0, "&"], [6064, 0, "f"], [6065, 0, "f"], [6066, 0, "f"], [6067, 0, "f"], [6068, 0, "f"], [6068, 1], [6067, 1], [6066, 1], [6065, 1], [6064, 1], [6082, 1], [6081, 1], [6080, 1], [6079, 1], [6079, 0, " "], [6101, 1], [6100, 1], [6099, 1], [6098, 1], [6097, 1], [6096, 1], [6096, 0, "m"], [6097, 0, "a"], [6098, 0, "t"], [6099, 0, "h"], [6100, 0, "s"], [6101, 0, "f"], [6102, 0, "{"], [6103, 0, "`"], [6104, 0, "`"], [6114, 1], [6113, 1], [6113, 0, "'"], [6114, 0, "'"], [6115, 0, "}"], [6101, 1], [6100, 1], [6099, 1], [6098, 1], [6097, 1], [6096, 1], [6096, 0, "t"], [6097, 0, "e"], [6098, 0, "x"], [6099, 0, "t"], [6184, 0, ","], [6243, 0, ","], [6302, 0, ","], [6163, 0, "&"], [6164, 0, " "], [6224, 0, "&"], [6225, 0, " "], [6285, 0, "&"], [6286, 0, " "], [6346, 0, "&"], [6347, 0, " "], [6313, 1], [6252, 1], [6191, 1], [6130, 1], [6051, 1], [6050, 1], [6065, 0, "&"], [6066, 0, "&"], [6067, 0, " "], [6366, 0, " "], [6367, 0, "\\"], [6368, 0, "\\"], [6369, 0, "\n"], [6370, 0, "&"], [6371, 0, " "], [6372, 0, "\\"], [6373, 0, "}"], [6374, 0, "\\"], [6375, 0, ","], [6375, 1], [6375, 0, ";"], [6376, 0, "\\"], [6377, 0, "}"], [6378, 0, "\\"], [6379, 0, ";"], [6380, 0, "\\"], [6381, 0, "}"], [6036, 0, " "], [6037, 0, "&"], [6067, 1], [6028, 1], [6028, 1], [6029, 0, " "], [6030, 0, "&"], [6038, 1], [6037, 1], [6050, 0, "&"], [6067, 1], [6066, 1], [6093, 0, "&"], [6029, 0, "\\"], [6030, 0, "l"], [6031, 0, ";"], [6030, 1], [6065, 0, "f"], [6066, 0, "f"], [6067, 0, "f"], [6068, 0, "f"], [6069, 0, "f"], [6069, 1], [6068, 1], [6067, 1], [6066, 1], [6065, 1], [6081, 0, "&"], [6096, 1], [6191, 0, "\n"], [6192, 0, "&"], [6193, 0, "&"], [6194, 0, " "], [6195, 0, "\\"], [6196, 0, "m"], [6197, 0, "a"], [6198, 0, "t"], [6199, 0, "h"], [6200, 0, "s"], [6201, 0, "f"], [6202, 0, "{"], [6203, 0, "r"], [6204, 0, "e"], [6205, 0, "g"], [6206, 0, "T"], [6207, 0, "}"], [6208, 0, "("], [6209, 0, "\\"], [6210, 0, "m"], [6211, 0, "a"], [6212, 0, "t"], [6213, 0, "h"], [6214, 0, "i"], [6215, 0, "t"], [6216, 0, "{"], [6217, 0, "i"], [6218, 0, "d"], [6219, 0, "}"], [6220, 0, "_"], [6221, 0, "3"], [6222, 0, ")"], [6223, 0, " "], [6224, 0, "&"], [6225, 0, " "], [6226, 0, "\\"], [6227, 0, "m"], [6228, 0, "a"], [6229, 0, "p"], [6230, 0, "s"], [6231, 0, "t"], [6232, 0, "o"], [6233, 0, " "], [6234, 0, "\\"], [6235, 0, "{"], [6236, 0, "\\"], [6237, 0, ","], [6238, 0, "\\"], [6239, 0, "m"], [6240, 0, "a"], [6241, 0, "t"], [6242, 0, "h"], [6243, 0, "s"], [6244, 0, "f"], [6245, 0, "{"], [6246, 0, "o"], [6247, 0, "p"], [6248, 0, "}"], [6249, 0, "("], [6250, 0, "\\"], [6251, 0, "m"], [6252, 0, "a"], [6253, 0, "t"], [6254, 0, "h"], [6255, 0, "i"], [6256, 0, "t"], [6256, 1], [6255, 1], [6255, 0, "s"], [6256, 0, "f"], [6257, 0, "{"], [6258, 0, "i"], [6259, 0, "d"], [6260, 0, "}"], [6261, 0, ":"], [6262, 0, " "], [6263, 0, "\\"], [6264, 0, "m"], [6265, 0, "a"], [6266, 0, "t"], [6267, 0, "h"], [6268, 0, "i"], [6269, 0, "t"], [6270, 0, "{"], [6271, 0, "i"], [6272, 0, "d"], [6273, 0, "}"], [6274, 0, "_"], [6275, 0, "3"], [6276, 0, ","], [6277, 0, " "], [6278, 0, "\\"], [6279, 0, "m"], [6280, 0, "a"], [6281, 0, "t"], [6282, 0, "h"], [6283, 0, "s"], [6284, 0, "f"], [6285, 0, "{"], [6286, 0, "v"], [6287, 0, "a"], [6288, 0, "l"], [6289, 0, "u"], [6290, 0, "e"], [6291, 0, "}"], [6292, 0, ":"], [6293, 0, " "], [6294, 0, "\\"], [6295, 0, "t"], [6296, 0, "e"], [6297, 0, "x"], [6298, 0, "t"], [6299, 0, "{"], [6300, 0, "`"], [6301, 0, "`"], [6302, 0, "c"], [6303, 0, "h"], [6304, 0, "e"], [6305, 0, "e"], [6306, 0, "s"], [6307, 0, "e"], [6308, 0, "'"], [6309, 0, "'"], [6310, 0, "}"], [6311, 0, ")"], [6312, 0, "\\"], [6313, 0, ","], [6314, 0, "\\"], [6315, 0, "}"], [6233, 0, "\n"], [6234, 0, " "], [6235, 0, " "], [6236, 0, " "], [6320, 0, " "], [6321, 0, "\\"], [6322, 0, "\\"], [6081, 1], [6067, 0, " "], [6068, 0, "&"], [6052, 1], [6032, 0, "&"], [6504, 1], [6504, 1], [6504, 0, "&"], [6505, 0, "&"], [6506, 0, " "], [6506, 1], [6505, 1], [6504, 1], [6282, 0, "\\"], [6283, 0, ","], [6386, 0, "\n"], [6387, 0, "&"], [6388, 0, "&"], [6389, 0, " "], [6390, 0, "\\"], [6391, 0, "m"], [6392, 0, "a"], [6393, 0, "t"], [6394, 0, "h"], [6395, 0, "s"], [6396, 0, "f"], [6397, 0, "{"], [6398, 0, "r"], [6399, 0, "e"], [6400, 0, "g"], [6401, 0, "T"], [6402, 0, "}"], [6403, 0, "("], [6404, 0, "\\"], [6405, 0, "m"], [6406, 0, "a"], [6407, 0, "t"], [6408, 0, "h"], [6409, 0, "i"], [6410, 0, "t"], [6411, 0, "{"], [6412, 0, "i"], [6413, 0, "d"], [6414, 0, "}"], [6415, 0, "_"], [6416, 0, "1"], [6417, 0, ")"], [6418, 0, " "], [6419, 0, "&"], [6420, 0, " "], [6421, 0, "\\"], [6422, 0, "m"], [6423, 0, "a"], [6424, 0, "p"], [6425, 0, "s"], [6426, 0, "t"], [6427, 0, "o"], [6428, 0, " "], [6428, 1], [6428, 0, "\n"], [6429, 0, " "], [6430, 0, " "], [6431, 0, " "], [6432, 0, " "], [6433, 0, "\\"], [6434, 0, "{"], [6435, 0, "\\"], [6436, 0, ","], [6437, 0, "\\"], [6438, 0, "m"], [6439, 0, "a"], [6440, 0, "t"], [6441, 0, "h"], [6442, 0, "s"], [6443, 0, "f"], [6444, 0, "{"], [6445, 0, "o"], [6446, 0, "p"], [6447, 0, "}"], [6448, 0, "("], [6449, 0, "\\"], [6450, 0, "m"], [6451, 0, "a"], [6452, 0, "t"], [6453, 0, "h"], [6454, 0, "s"], [6455, 0, "f"], [6456, 0, "{"], [6457, 0, "i"], [6458, 0, "d"], [6459, 0, "}"], [6460, 0, ":"], [6461, 0, " "], [6462, 0, "\\"], [6463, 0, "m"], [6464, 0, "a"], [6465, 0, "t"], [6466, 0, "h"], [6467, 0, "i"], [6468, 0, "t"], [6469, 0, "{"], [6470, 0, "i"], [6471, 0, "d"], [6472, 0, "}"], [6473, 0, "_"], [6474, 0, "1"], [6475, 0, ","], [6476, 0, "\\"], [6477, 0, ","], [6478, 0, " "], [6479, 0, "\\"], [6480, 0, "m"], [6481, 0, "a"], [6482, 0, "t"], [6483, 0, "h"], [6484, 0, "s"], [6485, 0, "f"], [6486, 0, "{"], [6487, 0, "v"], [6488, 0, "a"], [6489, 0, "l"], [6490, 0, "u"], [6491, 0, "e"], [6492, 0, "}"], [6493, 0, ":"], [6494, 0, " "], [6495, 0, "\\"], [6496, 0, "t"], [6497, 0, "e"], [6498, 0, "x"], [6499, 0, "t"], [6500, 0, "{"], [6501, 0, "`"], [6502, 0, "`"], [6503, 0, "e"], [6504, 0, "g"], [6505, 0, "g"], [6506, 0, "s"], [6507, 0, "'"], [6508, 0, "'"], [6509, 0, "}"], [6510, 0, ")"], [6511, 0, ","], [6512, 0, "\\"], [6513, 0, ","], [6514, 0, "\\"], [6515, 0, "}"], [6516, 0, " "], [6517, 0, "\\"], [6518, 0, "\\"], [6579, 0, "\n"], [6580, 0, "&"], [6581, 0, "&"], [6582, 0, " "], [6583, 0, "\\"], [6584, 0, "m"], [6585, 0, "a"], [6586, 0, "t"], [6587, 0, "h"], [6588, 0, "s"], [6589, 0, "f"], [6590, 0, "{"], [6591, 0, "r"], [6592, 0, "e"], [6593, 0, "g"], [6594, 0, "T"], [6595, 0, "}"], [6596, 0, "("], [6597, 0, "\\"], [6598, 0, "m"], [6599, 0, "a"], [6600, 0, "t"], [6601, 0, "h"], [6602, 0, "i"], [6603, 0, "t"], [6604, 0, "{"], [6605, 0, "i"], [6606, 0, "d"], [6607, 0, "_"], [6607, 1], [6607, 0, "}"], [6608, 0, "_"], [6609, 0, "2"], [6610, 0, ")"], [6611, 0, " "], [6612, 0, "&"], [6613, 0, " "], [6614, 0, "\\"], [6615, 0, "m"], [6616, 0, "a"], [6617, 0, "p"], [6618, 0, "s"], [6619, 0, "t"], [6620, 0, "o"], [6621, 0, " "], [6622, 0, "'"], [6622, 1], [6621, 1], [6621, 0, "\n"], [6622, 0, " "], [6623, 0, " "], [6624, 0, " "], [6625, 0, " "], [6626, 0, "\\"], [6627, 0, "{"], [6628, 0, "\\"], [6629, 0, ","], [6630, 0, "\\"], [6631, 0, "m"], [6632, 0, "a"], [6633, 0, "t"], [6634, 0, "h"], [6635, 0, "s"], [6636, 0, "f"], [6637, 0, "{"], [6638, 0, "o"], [6639, 0, "p"], [6640, 0, "}"], [6641, 0, "("], [6642, 0, "\\"], [6643, 0, "m"], [6644, 0, "a"], [6645, 0, "t"], [6646, 0, "h"], [6647, 0, "s"], [6648, 0, "f"], [6649, 0, "{"], [6650, 0, "i"], [6651, 0, "d"], [6652, 0, "}"], [6653, 0, ":"], [6654, 0, " "], [6655, 0, "\\"], [6656, 0, "m"], [6657, 0, "n"], [6658, 0, "a"], [6658, 1], [6657, 1], [6657, 0, "a"], [6658, 0, "t"], [6659, 0, "h"], [6660, 0, "i"], [6661, 0, "t"], [6662, 0, "{"], [6663, 0, "i"], [6664, 0, "d"], [6665, 0, "}"], [6666, 0, "_"], [6667, 0, "2"], [6668, 0, ","], [6669, 0, "\\"], [6670, 0, ","], [6671, 0, " "], [6672, 0, "\\"], [6673, 0, "m"], [6674, 0, "a"], [6675, 0, "t"], [6676, 0, "h"], [6677, 0, "s"], [6678, 0, "f"], [6679, 0, "{"], [6680, 0, "v"], [6681, 0, "a"], [6682, 0, "l"], [6683, 0, "u"], [6684, 0, "e"], [6685, 0, "}"], [6686, 0, ":"], [6687, 0, " "], [6688, 0, "\\"], [6689, 0, "t"], [6690, 0, "e"], [6691, 0, "x"], [6692, 0, "t"], [6693, 0, "{"], [6694, 0, "`"], [6695, 0, "`"], [6696, 0, "m"], [6697, 0, "i"], [6698, 0, "l"], [6699, 0, "k"], [6700, 0, "'"], [6701, 0, "'"], [6702, 0, "}"], [6703, 0, ")"], [6511, 1], [6703, 0, "\\"], [6704, 0, ","], [6705, 0, "\\"], [6706, 0, "}"], [6707, 0, " "], [6708, 0, "\\"], [6709, 0, "\\"], [6707, 0, ","], [6515, 0, ","], [6323, 0, ","], [9590, 0, "\n"], [9591, 0, "\n"], [9592, 0, "T"], [9593, 0, "h"], [9594, 0, "e"], [9595, 0, " "], [9596, 0, "s"], [9597, 0, "t"], [9598, 0, "a"], [9599, 0, "t"], [9600, 0, "e"], [9601, 0, " "], [9602, 0, "o"], [9603, 0, "f"], [9604, 0, " "], [9605, 0, "p"], [9606, 0, "e"], [9607, 0, "e"], [9608, 0, "r"], [9609, 0, " "], [9610, 0, "$"], [9611, 0, "p"], [9612, 0, "$"], [9613, 0, " "], [9614, 0, "i"], [9615, 0, "s"], [9616, 0, " "], [9617, 0, "d"], [9618, 0, "e"], [9619, 0, "s"], [9620, 0, "c"], [9621, 0, "r"], [9622, 0, "i"], [9623, 0, "b"], [9624, 0, "e"], [9625, 0, "d"], [9626, 0, " "], [9627, 0, "w"], [9628, 0, "i"], [9629, 0, "t"], [9630, 0, "h"], [9631, 0, " "], [9632, 0, "$"], [9633, 0, "A"], [9634, 0, "_"], [9635, 0, "p"], [9636, 0, "$"], [9637, 0, ","], [9638, 0, " "], [9639, 0, "a"], [9640, 0, " "], [9641, 0, "f"], [9642, 0, "i"], [9643, 0, "n"], [9644, 0, "i"], [9645, 0, "t"], [9646, 0, "e"], [9647, 0, " "], [9648, 0, "p"], [9649, 0, "a"], [9650, 0, "r"], [9651, 0, "t"], [9652, 0, "i"], [9653, 0, "a"], [9654, 0, "l"], [9655, 0, " "], [9656, 0, "f"], [9657, 0, "u"], [9658, 0, "n"], [9659, 0, "c"], [9660, 0, "t"], [9661, 0, "i"], [9662, 0, "o"], [9663, 0, "n"], [9664, 0, "."], [9630, 1], [9629, 1], [9628, 1], [9627, 1], [9627, 0, "b"], [9628, 0, "y"], [9663, 0, " "], [9664, 0, "E"], [9664, 1], [9664, 0, "T"], [9665, 0, "h"], [9666, 0, "e"], [9667, 0, " "], [9668, 0, "s"], [9669, 0, "e"], [9670, 0, "m"], [9671, 0, "e"], [9671, 1], [9671, 0, "a"], [9672, 0, "n"], [9673, 0, "t"], [9674, 0, "i"], [9675, 0, "c"], [9676, 0, "s"], [9677, 0, " "], [9678, 0, "o"], [9679, 0, "f"], [9680, 0, " "], [9681, 0, "t"], [9682, 0, "h"], [9683, 0, "e"], [9684, 0, " "], [9685, 0, "c"], [9686, 0, "o"], [9687, 0, "m"], [9688, 0, "m"], [9689, 0, "a"], [9690, 0, "n"], [9691, 0, "d"], [9692, 0, " "], [9693, 0, "l"], [9694, 0, "a"], [9695, 0, "n"], [9696, 0, "g"], [9697, 0, "u"], [9698, 0, "a"], [9699, 0, "g"], [9700, 0, "e"], [9701, 0, " "], [9702, 0, "a"], [9703, 0, "r"], [9704, 0, "e"], [9705, 0, " "], [9706, 0, "d"], [9707, 0, "e"], [9708, 0, "f"], [9709, 0, "i"], [9710, 0, "n"], [9711, 0, "e"], [9712, 0, "d"], [9713, 0, " "], [9714, 0, "b"], [9715, 0, "y"], [9716, 0, " "], [9717, 0, "r"], [9718, 0, "u"], [9719, 0, "l"], [9720, 0, "e"], [9721, 0, "s"], [9722, 0, " "], [9723, 0, "t"], [9724, 0, "h"], [9725, 0, "a"], [9726, 0, "t"], [9727, 0, " "], [9728, 0, "i"], [9729, 0, "n"], [9730, 0, "s"], [9731, 0, "p"], [9732, 0, "e"], [9733, 0, "c"], [9734, 0, "t"], [9735, 0, " "], [9736, 0, "a"], [9737, 0, "n"], [9738, 0, "d"], [9739, 0, " "], [9740, 0, "m"], [9741, 0, "o"], [9742, 0, "d"], [9743, 0, "i"], [9744, 0, "f"], [9745, 0, "y"], [9746, 0, " "], [9747, 0, "t"], [9748, 0, "h"], [9749, 0, "i"], [9750, 0, "s"], [9751, 0, " "], [9752, 0, "l"], [9753, 0, "o"], [9754, 0, "c"], [9755, 0, "a"], [9756, 0, "l"], [9757, 0, " "], [9758, 0, "s"], [9759, 0, "t"], [9760, 0, "a"], [9761, 0, "t"], [9762, 0, "e"], [9763, 0, " "], [9764, 0, "$"], [9765, 0, "A"], [9766, 0, "-"], [9767, 0, "P"], [9767, 1], [9766, 1], [9765, 1], [9765, 0, "A"], [9766, 0, "_"], [9767, 0, "p"], [9768, 0, "$"], [9769, 0, ","], [9770, 0, " "], [9771, 0, "a"], [9772, 0, "n"], [9773, 0, "d"], [9774, 0, " "], [9775, 0, "w"], [9776, 0, "h"], [9777, 0, "i"], [9778, 0, "c"], [9779, 0, "h"], [9780, 0, " "], [9781, 0, "a"], [9782, 0, "r"], [9783, 0, "e"], [9784, 0, " "], [9785, 0, "i"], [9786, 0, "n"], [9787, 0, "d"], [9788, 0, "e"], [9789, 0, "p"], [9790, 0, "e"], [9791, 0, "n"], [9792, 0, "t"], [9792, 1], [9792, 0, "d"], [9793, 0, "e"], [9794, 0, "n"], [9795, 0, "t"], [9796, 0, " "], [9797, 0, "o"], [9798, 0, "f"], [9799, 0, " "], [9800, 0, "t"], [9801, 0, "h"], [9802, 0, "e"], [9803, 0, " "], [9804, 0, "s"], [9805, 0, "t"], [9806, 0, "a"], [9807, 0, "t"], [9808, 0, "e"], [9809, 0, " "], [9810, 0, "o"], [9811, 0, "f"], [9812, 0, " "], [9812, 1], [9811, 1], [9810, 1], [9810, 0, "$"], [9811, 0, "A"], [9812, 0, "_"], [9813, 0, "{"], [9814, 0, "p"], [9815, 0, "'"], [9816, 0, "}"], [9817, 0, "$"], [9818, 0, " "], [9819, 0, "o"], [9820, 0, "f"], [9821, 0, " "], [9822, 0, "a"], [9823, 0, "n"], [9824, 0, "y"], [9825, 0, " "], [9826, 0, "o"], [9827, 0, "t"], [9828, 0, "h"], [9829, 0, "e"], [9830, 0, "r"], [9831, 0, " "], [9832, 0, "p"], [9833, 0, "e"], [9834, 0, "e"], [9835, 0, "r"], [9836, 0, " "], [9837, 0, "$"], [9838, 0, "p"], [9839, 0, "'"], [9840, 0, "$"], [9841, 0, "."], [9842, 0, " "], [9843, 0, "T"], [9844, 0, "h"], [9845, 0, "e"], [9846, 0, " "], [9847, 0, "o"], [9848, 0, "n"], [9849, 0, "l"], [9850, 0, "y"], [9851, 0, " "], [9852, 0, "c"], [9853, 0, "o"], [9854, 0, "m"], [9855, 0, "m"], [9856, 0, "u"], [9857, 0, "n"], [9858, 0, "i"], [9859, 0, "c"], [9860, 0, "a"], [9861, 0, "t"], [9862, 0, "i"], [9863, 0, "o"], [9864, 0, "n"], [9865, 0, " "], [9866, 0, "p"], [9867, 0, "e"], [9867, 1], [9866, 1], [9866, 0, "b"], [9867, 0, "e"], [9868, 0, "t"], [9869, 0, "w"], [9870, 0, "e"], [9871, 0, "e"], [9872, 0, "n"], [9873, 0, " "], [9874, 0, "p"], [9875, 0, "e"], [9876, 0, "e"], [9877, 0, "r"], [9878, 0, "s"], [9879, 0, " "], [9880, 0, "o"], [9881, 0, "c"], [9882, 0, "c"], [9883, 0, "u"], [9884, 0, "r"], [9885, 0, "s"], [9886, 0, " "], [9887, 0, "i"], [9888, 0, "n"], [9889, 0, " "], [9890, 0, "t"], [9891, 0, "h"], [9892, 0, "e"], [9893, 0, " "], [9894, 0, "e"], [9895, 0, "v"], [9896, 0, "a"], [9897, 0, "l"], [9898, 0, "u"], [9899, 0, "a"], [9900, 0, "t"], [9901, 0, "i"], [9902, 0, "o"], [9903, 0, "n"], [9904, 0, " "], [9905, 0, "o"], [9906, 0, "f"], [9907, 0, " "], [9908, 0, "t"], [9909, 0, "h"], [9910, 0, "e"], [9911, 0, " "], [9912, 0, "\\"], [9913, 0, "t"], [9914, 0, "e"], [9915, 0, "x"], [9916, 0, "t"], [9917, 0, "s"], [9918, 0, "f"], [9919, 0, "{"], [9920, 0, "y"], [9921, 0, "i"], [9922, 0, "e"], [9923, 0, "l"], [9924, 0, "d"], [9925, 0, "}"], [9926, 0, " "], [9927, 0, "c"], [9928, 0, "o"], [9929, 0, "m"], [9930, 0, "m"], [9931, 0, "a"], [9932, 0, "n"], [9933, 0, "d"], [9934, 0, ","], [9935, 0, " "], [9936, 0, "w"], [9937, 0, "h"], [9938, 0, "i"], [9939, 0, "c"], [9940, 0, "h"], [9941, 0, " "], [9942, 0, "w"], [9943, 0, "e"], [9944, 0, " "], [9945, 0, "d"], [9946, 0, "i"], [9947, 0, "s"], [9948, 0, "c"], [9949, 0, "u"], [9950, 0, "s"], [9951, 0, "s"], [9952, 0, " "], [9953, 0, "l"], [9954, 0, "a"], [9955, 0, "t"], [9956, 0, "e"], [9957, 0, "r"], [9958, 0, "."], [9959, 0, " "], [9960, 0, "F"], [9961, 0, "o"], [9962, 0, "r"], [9963, 0, " "], [9964, 0, "n"], [9965, 0, "o"], [9966, 0, "w"], [9967, 0, " "], [9967, 1], [9967, 0, ","], [9968, 0, " "], [9969, 0, "w"], [9970, 0, "e"], [9971, 0, " "], [9972, 0, "c"], [9973, 0, "o"], [9974, 0, "n"], [9975, 0, "c"], [9976, 0, "e"], [9977, 0, "n"], [9978, 0, "t"], [9979, 0, "r"], [9980, 0, "a"], [9981, 0, "t"], [9982, 0, "e"], [9983, 0, " "], [9984, 0, "o"], [9985, 0, "n"], [9986, 0, " "], [9987, 0, "t"], [9988, 0, "h"], [9989, 0, "e"], [9990, 0, " "], [9991, 0, "e"], [9992, 0, "x"], [9993, 0, "e"], [9994, 0, "c"], [9995, 0, "u"], [9996, 0, "t"], [9997, 0, "i"], [9998, 0, "o"], [9999, 0, "n"], [10000, 0, " "], [10001, 0, "o"], [10002, 0, "f"], [10003, 0, " "], [10004, 0, "c"], [10005, 0, "o"], [10006, 0, "m"], [10007, 0, "m"], [10008, 0, "a"], [10009, 0, "n"], [10010, 0, "d"], [10011, 0, "s"], [10012, 0, " "], [10013, 0, "a"], [10014, 0, "t"], [10015, 0, " "], [10016, 0, "a"], [10017, 0, " "], [10018, 0, "s"], [10019, 0, "i"], [10020, 0, "n"], [10021, 0, "g"], [10022, 0, "l"], [10023, 0, "e"], [10024, 0, " "], [10025, 0, "p"], [10026, 0, "e"], [10027, 0, "e"], [10028, 0, "r"], [10029, 0, " "], [10030, 0, "$"], [10031, 0, "p"], [10032, 0, "$"], [10033, 0, "."], [10034, 0, "\n"], [10035, 0, "\n"], [10036, 0, "A"], [10037, 0, "n"], [10038, 0, " "], [10039, 0, "i"], [10040, 0, "l"], [10041, 0, "l"], [10042, 0, "u"], [10043, 0, "s"], [10044, 0, "t"], [10045, 0, "r"], [10046, 0, "a"], [10047, 0, "t"], [10048, 0, "i"], [10049, 0, "v"], [10050, 0, "e"], [10051, 0, " "], [10052, 0, "e"], [10053, 0, "x"], [10054, 0, "a"], [10055, 0, "m"], [10056, 0, "p"], [10057, 0, "l"], [10058, 0, "e"], [10059, 0, " "], [10060, 0, "o"], [10061, 0, "f"], [10062, 0, " "], [10063, 0, "t"], [10064, 0, "h"], [10065, 0, "e"], [10066, 0, " "], [10067, 0, "p"], [10068, 0, "e"], [10069, 0, "e"], [10070, 0, "r"], [10071, 0, " "], [10072, 0, "s"], [10073, 0, "t"], [10074, 0, "a"], [10075, 0, "t"], [10076, 0, "e"], [10077, 0, " "], [10078, 0, "$"], [10079, 0, "A"], [10080, 0, "_"], [10081, 0, "p"], [10082, 0, "$"], [10083, 0, " "], [10084, 0, "i"], [10085, 0, "s"], [10086, 0, " "], [10087, 0, "g"], [10088, 0, "i"], [10089, 0, "v"], [10090, 0, "e"], [10091, 0, "n"], [10092, 0, " "], [10093, 0, "i"], [10094, 0, "n"], [10095, 0, " "], [10096, 0, "F"], [10097, 0, "i"], [10098, 0, "g"], [10099, 0, "u"], [10100, 0, "r"], [10101, 0, "e"], [10102, 0, "~"], [10103, 0, "\\"], [10104, 0, "r"], [10105, 0, "e"], [10106, 0, "f"], [10107, 0, "{"], [10108, 0, "f"], [10109, 0, "i"], [10110, 0, "g"], [10111, 0, ":"], [10112, 0, "s"], [10113, 0, "t"], [10114, 0, "a"], [10115, 0, "t"], [10116, 0, "e"], [10117, 0, "-"], [10118, 0, "e"], [10119, 0, "x"], [10120, 0, "a"], [10121, 0, "m"], [10122, 0, "p"], [10123, 0, "l"], [10124, 0, "e"], [10125, 0, "}"], [10126, 0, ","], [10127, 0, " "], [10128, 0, "w"], [10129, 0, "h"], [10130, 0, "i"], [10131, 0, "c"], [10132, 0, "h"], [10133, 0, " "], [10134, 0, "c"], [10135, 0, "o"], [10136, 0, "r"], [10137, 0, "r"], [10138, 0, "e"], [10139, 0, "s"], [10140, 0, "p"], [10141, 0, "o"], [10142, 0, "n"], [10143, 0, "d"], [10144, 0, "s"], [10145, 0, " "], [10146, 0, "t"], [10147, 0, "o"], [10148, 0, " "], [10149, 0, "t"], [10150, 0, "h"], [10151, 0, "e"], [10152, 0, " "], [10153, 0, "s"], [10154, 0, "h"], [10155, 0, "o"], [10156, 0, "p"], [10157, 0, "p"], [10158, 0, "i"], [10159, 0, "n"], [10160, 0, "g"], [10161, 0, " "], [10162, 0, "l"], [10163, 0, "i"], [10164, 0, "s"], [10165, 0, "t"], [10166, 0, " "], [10167, 0, "e"], [10168, 0, "x"], [10169, 0, "a"], [10170, 0, "m"], [10171, 0, "p"], [10172, 0, "l"], [10173, 0, "e"], [10174, 0, " "], [10175, 0, "o"], [10176, 0, "f"], [10177, 0, " "], [10178, 0, "F"], [10179, 0, "i"], [10180, 0, "g"], [10181, 0, "u"], [10182, 0, "r"], [10183, 0, "e"], [10184, 0, "~"], [10185, 0, "\\"], [10186, 0, "r"], [10187, 0, "e"], [10188, 0, "f"], [10189, 0, "{"], [10190, 0, "f"], [10191, 0, "i"], [10192, 0, "g"], [10193, 0, ":"], [10194, 0, "m"], [10195, 0, "a"], [10196, 0, "k"], [10197, 0, "e"], [10198, 0, "-"], [10199, 0, "d"], [10200, 0, "o"], [10201, 0, "c"], [10202, 0, "}"], [10203, 0, "."], [10204, 0, " "], [10205, 0, "I"], [10206, 0, "n"], [10207, 0, " "], [10208, 0, "F"], [10209, 0, "i"], [10210, 0, "g"], [10211, 0, "u"], [10212, 0, "r"], [10213, 0, "e"], [10214, 0, "~"], [10215, 0, "\\"], [10216, 0, "r"], [10217, 0, "e"], [10218, 0, "f"], [10219, 0, "{"], [10220, 0, "s"], [10220, 1], [10220, 0, "f"], [10221, 0, "i"], [10222, 0, "g"], [10223, 0, ":"], [10224, 0, "s"], [10225, 0, "t"], [10226, 0, "a"], [10227, 0, "t"], [10228, 0, "e"], [10229, 0, "-"], [10230, 0, "e"], [10231, 0, "x"], [10232, 0, "a"], [10233, 0, "m"], [10234, 0, "p"], [10235, 0, "l"], [10236, 0, "e"], [10237, 0, "}"], [10238, 0, ","], [10239, 0, " "], [10240, 0, "$"], [10241, 0, "A"], [10242, 0, "_"], [10243, 0, "p"], [10244, 0, "$"], [10245, 0, " "], [10246, 0, "i"], [10247, 0, "s"], [10248, 0, " "], [10249, 0, "a"], [10250, 0, " "], [10251, 0, "p"], [10252, 0, "a"], [10253, 0, "r"], [10254, 0, "t"], [10255, 0, "i"], [10256, 0, "a"], [10257, 0, "l"], [10258, 0, " "], [10259, 0, "f"], [10260, 0, "u"], [10261, 0, "n"], [10262, 0, "c"], [10263, 0, "t"], [10264, 0, "i"], [10265, 0, "o"], [10266, 0, "n"], [10267, 0, " "], [10268, 0, "w"], [10269, 0, "h"], [10270, 0, "o"], [10271, 0, "s"], [10272, 0, "e"], [10273, 0, " "], [10274, 0, "d"], [10275, 0, "o"], [10276, 0, "m"], [10277, 0, "a"], [10278, 0, "i"], [10279, 0, "n"], [10280, 0, " "], [10281, 0, "i"], [10282, 0, "s"], [10283, 0, " "], [10284, 0, "t"], [10285, 0, "h"], [10286, 0, "e"], [10287, 0, " "], [10288, 0, "s"], [10289, 0, "i"], [10290, 0, "n"], [10291, 0, "g"], [10292, 0, "l"], [10293, 0, "e"], [10294, 0, " "], [10295, 0, "a"], [10296, 0, "t"], [10297, 0, "o"], [10298, 0, "m"], [10299, 0, " "], [10300, 0, "$"], [10301, 0, "\\"], [10301, 1], [10300, 1], [10300, 0, "\\"], [10301, 0, "m"], [10301, 1], [10301, 0, "t"], [10302, 0, "e"], [10303, 0, "x"], [10304, 0, "t"], [10305, 0, "s"], [10306, 0, "f"], [10307, 0, "{"], [10308, 0, "m"], [10309, 0, "a"], [10310, 0, "p"], [10311, 0, "T"], [10312, 0, "("], [10313, 0, "d"], [10314, 0, "o"], [10315, 0, "c"], [10316, 0, ")"], [10317, 0, "}"], [10318, 0, ","], [10319, 0, " "], [10320, 0, "w"], [10321, 0, "h"], [10322, 0, "i"], [10323, 0, "c"], [10324, 0, "h"], [10325, 0, " "], [10326, 0, "d"], [10327, 0, "e"], [10328, 0, "n"], [10329, 0, "o"], [10330, 0, "t"], [10331, 0, "e"], [10332, 0, "s"], [10333, 0, " "], [10334, 0, "t"], [10335, 0, "h"], [10336, 0, "a"], [10337, 0, "t"], [10338, 0, " "], [10339, 0, "t"], [10340, 0, "h"], [10341, 0, "e"], [10342, 0, " "], [10343, 0, "d"], [10344, 0, "o"], [10345, 0, "c"], [10346, 0, "u"], [10347, 0, "m"], [10348, 0, "e"], [10349, 0, "n"], [10350, 0, "t"], [10351, 0, " "], [10352, 0, "\\"], [10353, 0, "m"], [10353, 1], [10353, 0, "t"], [10354, 0, "e"], [10355, 0, "x"], [10356, 0, "t"], [10357, 0, "s"], [10358, 0, "f"], [10359, 0, "{"], [10360, 0, "d"], [10361, 0, "o"], [10362, 0, "c"], [10363, 0, "}"], [10364, 0, " "], [10365, 0, "i"], [10366, 0, "s"], [10367, 0, " "], [10368, 0, "o"], [10369, 0, "f"], [10369, 1], [10368, 1], [10368, 0, "o"], [10369, 0, "f"], [10370, 0, " "], [10371, 0, "a"], [10372, 0, " "], [10373, 0, "m"], [10374, 0, "a"], [10375, 0, "p"], [10376, 0, " "], [10377, 0, "t"], [10378, 0, "y"], [10379, 0, "p"], [10380, 0, "e"], [10380, 1], [10379, 1], [10378, 1], [10377, 1], [10376, 1], [10375, 1], [10374, 1], [10373, 1], [10372, 1], [10371, 1], [10371, 0, "t"], [10372, 0, "y"], [10373, 0, "p"], [10374, 0, "e"], [10375, 0, " "], [10376, 0, "m"], [10377, 0, "a"], [10378, 0, "p"], [10379, 0, "."], [10380, 0, " "], [10381, 0, "\\"], [10382, 0, "t"], [10383, 0, "e"], [10384, 0, "x"], [10385, 0, "t"], [10386, 0, "s"], [10387, 0, "f"], [10388, 0, "{"], [10389, 0, "m"], [10390, 0, "a"], [10391, 0, "p"], [10392, 0, "T"], [10393, 0, "("], [10394, 0, "d"], [10395, 0, "o"], [10396, 0, "c"], [10397, 0, "}"], [10398, 0, " "], [10398, 1], [10397, 1], [10397, 0, ")"], [10398, 0, "}"], [10399, 0, " "], [10400, 0, "m"], [10401, 0, "a"], [10402, 0, "p"], [10403, 0, "s"], [10404, 0, " "], [10405, 0, "t"], [10406, 0, "o"], [10407, 0, " "], [10408, 0, "a"], [10409, 0, " "], [10409, 1], [10409, 0, "n"], [10410, 0, "o"], [10411, 0, "t"], [10412, 0, "h"], [10413, 0, "e"], [10414, 0, "r"], [10415, 0, " "], [10416, 0, "p"], [10417, 0, "a"], [10418, 0, "r"], [10419, 0, "t"], [10420, 0, "i"], [10421, 0, "a"], [10422, 0, "l"], [10423, 0, " "], [10424, 0, "f"], [10425, 0, "u"], [10426, 0, "n"], [10427, 0, "c"], [10428, 0, "t"], [10429, 0, "i"], [10430, 0, "o"], [10431, 0, "n"], [10432, 0, " "], [10433, 0, "c"], [10434, 0, "o"], [10435, 0, "n"], [10436, 0, "t"], [10437, 0, "a"], [10438, 0, "i"], [10439, 0, "n"], [10440, 0, "i"], [10441, 0, "n"], [10442, 0, "g"], [10443, 0, " "], [10444, 0, "t"], [10445, 0, "h"], [10446, 0, "e"], [10447, 0, " "], [10448, 0, "k"], [10449, 0, "e"], [10450, 0, "y"], [10451, 0, "-"], [10452, 0, "v"], [10453, 0, "a"], [10454, 0, "l"], [10455, 0, "u"], [10456, 0, "e"], [10457, 0, " "], [10458, 0, "p"], [10459, 0, "a"], [10460, 0, "i"], [10461, 0, "r"], [10462, 0, "s"], [10463, 0, " "], [10464, 0, "o"], [10465, 0, "f"], [10466, 0, " "], [10467, 0, "t"], [10468, 0, "h"], [10469, 0, "e"], [10470, 0, " "], [10471, 0, "m"], [10472, 0, "a"], [10473, 0, "p"], [10474, 0, ";"], [10475, 0, " "], [10476, 0, "i"], [10477, 0, "n"], [10478, 0, " "], [10479, 0, "t"], [10479, 1], [10478, 1], [10477, 1], [10476, 1], [10476, 0, "h"], [10477, 0, "e"], [10478, 0, "r"], [10479, 0, "e"], [10480, 0, ","], [10481, 0, " "], [10482, 0, "t"], [10483, 0, "h"], [10484, 0, "e"], [10485, 0, " "], [10486, 0, "o"], [10487, 0, "n"], [10488, 0, "l"], [10489, 0, "y"], [10490, 0, " "], [10491, 0, "e"], [10492, 0, "n"], [10493, 0, "t"], [10494, 0, "r"], [10495, 0, "y"], [10496, 0, " "], [10497, 0, "i"], [10498, 0, "s"], [10499, 0, " "], [10500, 0, "t"], [10501, 0, "h"], [10502, 0, "e"], [10503, 0, " "], [10504, 0, "k"], [10505, 0, "e"], [10506, 0, "y"], [10507, 0, " "], [10508, 0, "`"], [10509, 0, "`"], [10510, 0, "s"], [10511, 0, "h"], [10512, 0, "o"], [10513, 0, "p"], [10514, 0, "p"], [10515, 0, "i"], [10516, 0, "n"], [10517, 0, "g"], [10518, 0, "'"], [10519, 0, "'"], [10520, 0, " "], [10521, 0, "o"], [10522, 0, "f"], [10523, 0, " "], [10524, 0, "t"], [10525, 0, "y"], [10526, 0, "p"], [10527, 0, "e"], [10528, 0, " "], [10529, 0, "\\"], [10530, 0, "t"], [10531, 0, "e"], [10532, 0, "x"], [10533, 0, "t"], [10534, 0, "s"], [10535, 0, "f"], [10536, 0, "{"], [10537, 0, "l"], [10538, 0, "i"], [10539, 0, "s"], [10540, 0, "t"], [10541, 0, "T"], [10542, 0, "}"], [10543, 0, "."], [10544, 0, " "], [10545, 0, "T"], [10546, 0, "h"], [10547, 0, "e"], [10548, 0, " "], [10549, 0, "l"], [10550, 0, "i"], [10551, 0, "s"], [10552, 0, "t"], [10553, 0, " "], [10554, 0, "i"], [10555, 0, "s"], [10556, 0, " "], [10557, 0, "r"], [10558, 0, "e"], [10559, 0, "p"], [10560, 0, "r"], [10561, 0, "e"], [10562, 0, "s"], [10563, 0, "e"], [10564, 0, "n"], [10565, 0, "t"], [10566, 0, "e"], [10567, 0, "d"], [10568, 0, " "], [10569, 0, "i"], [10570, 0, "n"], [10571, 0, " "], [10572, 0, "a"], [10573, 0, " "], [10574, 0, "m"], [10575, 0, "a"], [10576, 0, "n"], [10577, 0, "n"], [10578, 0, "e"], [10579, 0, "r"], [10580, 0, " "], [10581, 0, "r"], [10582, 0, "e"], [10583, 0, "s"], [10584, 0, "e"], [10585, 0, "m"], [10586, 0, "b"], [10587, 0, "l"], [10588, 0, "i"], [10589, 0, "n"], [10590, 0, "g"], [10591, 0, " "], [10592, 0, "a"], [10593, 0, " "], [10594, 0, "l"], [10595, 0, "i"], [10596, 0, "n"], [10597, 0, "k"], [10598, 0, "e"], [10599, 0, "d"], [10600, 0, " "], [10601, 0, "l"], [10602, 0, "i"], [10603, 0, "s"], [10604, 0, "t"], [10605, 0, ","], [10606, 0, " "], [10607, 0, "w"], [10608, 0, "i"], [10609, 0, "t"], [10610, 0, "h"], [10611, 0, " "], [10612, 0, "e"], [10613, 0, "a"], [10614, 0, "c"], [10615, 0, "h"], [10616, 0, " "], [10617, 0, "l"], [10618, 0, "i"], [10619, 0, "s"], [10620, 0, "t"], [10621, 0, " "], [10622, 0, "e"], [10623, 0, "l"], [10624, 0, "e"], [10625, 0, "m"], [10626, 0, "e"], [10627, 0, "n"], [10628, 0, "t"], [10629, 0, " "], [10630, 0, "a"], [10631, 0, "s"], [10632, 0, "s"], [10633, 0, "i"], [10634, 0, "g"], [10635, 0, "n"], [10636, 0, "e"], [10637, 0, "d"], [10638, 0, " "], [10639, 0, "a"], [10640, 0, " "], [10641, 0, "u"], [10642, 0, "n"], [10643, 0, "i"], [10644, 0, "q"], [10645, 0, "u"], [10646, 0, "e"], [10647, 0, " "], [10648, 0, "i"], [10649, 0, "d"], [10650, 0, "e"], [10651, 0, "n"], [10652, 0, "t"], [10653, 0, "i"], [10654, 0, "f"], [10655, 0, "i"], [10656, 0, "e"], [10657, 0, "r"], [10658, 0, " "], [10659, 0, "("], [10660, 0, "$"], [10661, 0, "\\"], [10662, 0, "m"], [10663, 0, "a"], [10664, 0, "t"], [10665, 0, "h"], [10666, 0, "i"], [10667, 0, "t"], [10668, 0, "{"], [10669, 0, "i"], [10670, 0, "d"], [10671, 0, "}"], [10672, 0, "_"], [10673, 0, "1"], [10674, 0, ","], [10675, 0, " "], [10676, 0, "\\"], [10677, 0, "m"], [10678, 0, "a"], [10679, 0, "t"], [10680, 0, "h"], [10681, 0, "i"], [10682, 0, "t"], [10683, 0, "{"], [10684, 0, "i"], [10685, 0, "d"], [10686, 0, "}"], [10687, 0, "_"], [10688, 0, "2"], [10689, 0, ","], [10690, 0, " "], [10691, 0, "\\"], [10692, 0, "m"], [10693, 0, "a"], [10694, 0, "t"], [10695, 0, "h"], [10696, 0, "i"], [10697, 0, "t"], [10698, 0, "{"], [10699, 0, "3"], [10699, 1], [10699, 0, "i"], [10700, 0, "d"], [10701, 0, "}"], [10702, 0, "_"], [10703, 0, "3"], [10704, 0, "$"], [10705, 0, ")"], [10706, 0, " "], [10706, 1], [10706, 0, ","], [10707, 0, " "], [10708, 0, "a"], [10709, 0, "n"], [10710, 0, "d"], [10711, 0, " "], [10712, 0, "s"], [10713, 0, "p"], [10714, 0, "e"], [10715, 0, "c"], [10716, 0, "i"], [10717, 0, "a"], [10718, 0, "l"], [10719, 0, " "], [10720, 0, "\\"], [10721, 0, "t"], [10722, 0, "e"], [10723, 0, "x"], [10724, 0, "t"], [10725, 0, "s"], [10726, 0, "f"], [10727, 0, "{"], [10728, 0, "h"], [10729, 0, "e"], [10730, 0, "a"], [10731, 0, "d"], [10732, 0, "}"], [10733, 0, " "], [10734, 0, "a"], [10735, 0, "n"], [10736, 0, "d"], [10737, 0, " "], [10738, 0, "\\"], [10739, 0, "t"], [10740, 0, "e"], [10741, 0, "x"], [10742, 0, "t"], [10743, 0, "s"], [10744, 0, "f"], [10745, 0, "{"], [10746, 0, "t"], [10747, 0, "a"], [10748, 0, "i"], [10749, 0, "l"], [10750, 0, "}"], [10751, 0, " "], [10752, 0, "a"], [10753, 0, "t"], [10754, 0, "o"], [10755, 0, "m"], [10756, 0, "s"], [10757, 0, " "], [10758, 0, "d"], [10759, 0, "e"], [10760, 0, "n"], [10761, 0, "o"], [10762, 0, "t"], [10763, 0, "i"], [10764, 0, "n"], [10765, 0, "g"], [10766, 0, " "], [10767, 0, "t"], [10768, 0, "h"], [10769, 0, "e"], [10770, 0, " "], [10771, 0, "b"], [10772, 0, "e"], [10773, 0, "g"], [10774, 0, "i"], [10775, 0, "n"], [10776, 0, "n"], [10777, 0, "i"], [10778, 0, "n"], [10779, 0, "g"], [10780, 0, " "], [10781, 0, "a"], [10782, 0, "n"], [10783, 0, "d"], [10784, 0, " "], [10785, 0, "e"], [10786, 0, "n"], [10787, 0, "d"], [10788, 0, " "], [10789, 0, "o"], [10790, 0, "f"], [10791, 0, " "], [10792, 0, "t"], [10793, 0, "h"], [10794, 0, "e"], [10795, 0, " "], [10796, 0, "l"], [10797, 0, "i"], [10798, 0, "s"], [10799, 0, "t"], [10800, 0, "."], [10801, 0, "\n"], [10802, 0, "\n"], [10803, 0, "T"], [10804, 0, "h"], [10805, 0, "e"], [10806, 0, " "], [10807, 0, "r"], [10808, 0, "u"], [10809, 0, "l"], [10810, 0, "e"], [10811, 0, "s"], [10812, 0, " "], [10813, 0, "f"], [10814, 0, "o"], [10815, 0, "r"], [10816, 0, " "], [10817, 0, "e"], [10818, 0, "v"], [10819, 0, "a"], [10820, 0, "l"], [10821, 0, "u"], [10822, 0, "a"], [10823, 0, "t"], [10824, 0, "i"], [10825, 0, "n"], [10826, 0, "g"], [10827, 0, " "], [10828, 0, "E"], [10829, 0, "X"], [10830, 0, "P"], [10831, 0, "R"], [10832, 0, " "], [10833, 0, "e"], [10834, 0, "x"], [10835, 0, "p"], [10836, 0, "r"], [10837, 0, "e"], [10838, 0, "s"], [10839, 0, "s"], [10840, 0, "i"], [10841, 0, "o"], [10842, 0, "n"], [10843, 0, "s"], [10844, 0, " "], [10845, 0, "i"], [10846, 0, "n"], [10847, 0, " "], [10848, 0, "t"], [10849, 0, "h"], [10850, 0, "e"], [10851, 0, " "], [10852, 0, "c"], [10853, 0, "o"], [10854, 0, "m"], [10855, 0, "m"], [10856, 0, "a"], [10857, 0, "n"], [10858, 0, "d"], [10859, 0, " "], [10860, 0, "l"], [10861, 0, "a"], [10862, 0, "n"], [10863, 0, "g"], [10864, 0, "u"], [10865, 0, "a"], [10866, 0, "g"], [10867, 0, "e"], [10803, 0, "F"], [10804, 0, "i"], [10805, 0, "g"], [10806, 0, "u"], [10807, 0, "r"], [10808, 0, "e"], [10809, 0, "~"], [10810, 0, "\\"], [10811, 0, "r"], [10812, 0, "e"], [10813, 0, "f"], [10814, 0, "{"], [10815, 0, "r"], [10815, 1], [10815, 0, "f"], [10816, 0, "i"], [10817, 0, "g"], [10818, 0, ":"], [10819, 0, "e"], [10820, 0, "x"], [10821, 0, "p"], [10822, 0, "r"], [10823, 0, "-"], [10824, 0, "r"], [10825, 0, "u"], [10826, 0, "l"], [10827, 0, "e"], [10828, 0, "s"], [10829, 0, "}"], [10830, 0, " "], [10831, 0, "g"], [10832, 0, "i"], [10833, 0, "v"], [10834, 0, "e"], [10835, 0, "s"], [10836, 0, " "], [10837, 1], [10837, 0, "t"], [10902, 0, ","], [10903, 0, " "], [10904, 0, "w"], [10905, 0, "h"], [10906, 0, "i"], [10907, 0, "c"], [10908, 0, "h"], [10909, 0, " "], [10910, 0, "a"], [10911, 0, "r"], [10912, 0, "e"], [10913, 0, " "], [10914, 0, "a"], [10915, 0, "p"], [10916, 0, "p"], [10917, 0, "l"], [10918, 0, "i"], [10919, 0, "e"], [10920, 0, "d"], [10921, 0, " "], [10922, 0, "i"], [10923, 0, "n"], [10924, 0, " "], [10925, 0, "t"], [10926, 0, "h"], [10927, 0, "e"], [10928, 0, " "], [10929, 0, "c"], [10930, 0, "o"], [10931, 0, "n"], [10932, 0, "t"], [10933, 0, "e"], [10934, 0, "x"], [10935, 0, "t"], [10936, 0, " "], [10937, 0, "o"], [10938, 0, "f"], [10939, 0, " "], [10940, 0, "t"], [10941, 0, "h"], [10942, 0, "e"], [10943, 0, " "], [10944, 0, "l"], [10945, 0, "o"], [10946, 0, "c"], [10947, 0, "a"], [10948, 0, "l"], [10949, 0, " "], [10950, 0, "p"], [10951, 0, "e"], [10952, 0, "e"], [10953, 0, "r"], [10954, 0, " "], [10955, 0, "s"], [10956, 0, "t"], [10957, 0, "a"], [10958, 0, "t"], [10959, 0, "e"], [10960, 0, " "], [10961, 0, "$"], [10962, 0, "A"], [10963, 0, "_"], [10964, 0, "p"], [10965, 0, "$"], [10966, 0, "."], [10920, 1], [10919, 1], [10918, 1], [10917, 1], [10916, 1], [10915, 1], [10914, 1], [10914, 0, "e"], [10915, 0, "v"], [10916, 0, "a"], [10917, 0, "l"], [10918, 0, "u"], [10919, 0, "a"], [10920, 0, "t"], [10921, 0, "e"], [10922, 0, "d"], [10969, 0, " "], [10970, 0, "T"], [10971, 0, "h"], [10972, 0, "e"], [10973, 0, " "], [10974, 0, "\\"], [10975, 0, "t"], [10976, 0, "e"], [10977, 0, "x"], [10978, 0, "t"], [10979, 0, "s"], [10980, 0, "c"], [10981, 0, "{"], [10982, 0, "E"], [10983, 0, "x"], [10984, 0, "e"], [10985, 0, "c"], [10986, 0, "}"], [10987, 0, " "], [10988, 0, "r"], [10989, 0, "u"], [10990, 0, "l"], [10991, 0, "e"], [10992, 0, " "], [10993, 0, "d"], [10994, 0, "e"], [10995, 0, "f"], [10996, 0, "i"], [10997, 0, "n"], [10998, 0, "e"], [10999, 0, "s"], [11000, 0, " "], [11001, 0, "t"], [11002, 0, "h"], [11003, 0, "a"], [11004, 0, "t"], [11005, 0, " "], [11006, 0, "c"], [11007, 0, "o"], [11008, 0, "m"], [11009, 0, "m"], [11010, 0, "a"], [11011, 0, "n"], [11012, 0, "d"], [11013, 0, "s"], [11014, 0, " "], [11015, 0, "a"], [11016, 0, "r"], [11017, 0, "e"], [11018, 0, " "], [11019, 0, "e"], [11020, 0, "x"], [11021, 0, "e"], [11022, 0, "c"], [11023, 0, "u"], [11024, 0, "t"], [11025, 0, "e"], [11026, 0, "d"], [11027, 0, " "], [11028, 0, "s"], [11029, 0, "e"], [11030, 0, "q"], [11031, 0, "u"], [11032, 0, "e"], [11033, 0, "n"], [11034, 0, "t"], [11035, 0, "i"], [11036, 0, "a"], [11037, 0, "l"], [11038, 0, "l"], [11039, 0, "y"], [11040, 0, "."], [11041, 0, " "], [11042, 0, "T"], [11043, 0, "h"], [11044, 0, "e"], [11045, 0, " "], [11046, 0, "\\"], [11047, 0, "t"], [11048, 0, "e"], [11049, 0, "x"], [11050, 0, "t"], [11051, 0, "s"], [11052, 0, "c"], [11053, 0, "{"], [11054, 0, "L"], [11055, 0, "e"], [11056, 0, "t"], [11057, 0, "}"], [11058, 0, " "], [11059, 0, "r"], [11060, 0, "u"], [11061, 0, "l"], [11062, 0, "e"], [11063, 0, " "], [11064, 0, "a"], [11065, 0, "l"], [11066, 0, "l"], [11067, 0, "o"], [11068, 0, "w"], [11069, 0, "s"], [11070, 0, " "], [11071, 0, "t"], [11072, 0, "h"], [11073, 0, "e"], [11074, 0, " "], [11075, 0, "p"], [11076, 0, "r"], [11077, 0, "o"], [11078, 0, "g"], [11079, 0, "r"], [11080, 0, "a"], [11081, 0, "m"], [11082, 0, " "], [11083, 0, "t"], [11084, 0, "o"], [11085, 0, " "], [11086, 0, "d"], [11087, 0, "e"], [11088, 0, "f"], [11089, 0, "i"], [11090, 0, "n"], [11091, 0, "e"], [11092, 0, " "], [11093, 0, "a"], [11094, 0, " "], [11095, 0, "l"], [11096, 0, "o"], [11097, 0, "c"], [11098, 0, "a"], [11099, 0, "l"], [11100, 0, " "], [11101, 0, "v"], [11102, 0, "a"], [11103, 0, "r"], [11104, 0, "i"], [11105, 0, "a"], [11106, 0, "b"], [11107, 0, "l"], [11108, 0, "e"], [11109, 0, ","], [11110, 0, " "], [11111, 0, "w"], [11112, 0, "h"], [11113, 0, "i"], [11114, 0, "c"], [11115, 0, "h"], [11116, 0, " "], [11117, 0, "i"], [11118, 0, "s"], [11119, 0, " "], [11120, 0, "a"], [11121, 0, "d"], [11122, 0, "d"], [11123, 0, "e"], [11124, 0, "d"], [11125, 0, " "], [11126, 0, "t"], [11127, 0, "o"], [11128, 0, " "], [11129, 0, "t"], [11130, 0, "h"], [11131, 0, "e"], [11132, 0, " "], [11133, 0, "l"], [11134, 0, "o"], [11135, 0, "c"], [11136, 0, "a"], [11137, 0, "l"], [11138, 0, " "], [11139, 0, "s"], [11140, 0, "t"], [11141, 0, "a"], [11142, 0, "t"], [11143, 0, "e"], [11144, 0, ","], [11145, 0, " "], [11146, 0, "a"], [11147, 0, "n"], [11148, 0, "d"], [11149, 0, " "], [11150, 0, "t"], [11151, 0, "h"], [11152, 0, "e"], [11153, 0, " "], [11154, 0, "c"], [11155, 0, "o"], [11156, 0, "r"], [11157, 0, "r"], [11158, 0, "e"], [11159, 0, "s"], [11160, 0, "p"], [11161, 0, "o"], [11162, 0, "n"], [11163, 0, "d"], [11164, 0, "i"], [11165, 0, "n"], [11166, 0, "g"], [11167, 0, " "], [11168, 0, "\\"], [11169, 0, "t"], [11170, 0, "e"], [11171, 0, "x"], [11172, 0, "t"], [11173, 0, "s"], [11174, 0, "c"], [11175, 0, "{"], [11176, 0, "V"], [11177, 0, "a"], [11178, 0, "r"], [11179, 0, "}"], [11180, 0, " "], [11181, 0, "r"], [11182, 0, "u"], [11183, 0, "l"], [11184, 0, "e"], [11185, 0, " "], [11186, 0, "a"], [11187, 0, "l"], [11188, 0, "l"], [11189, 0, "o"], [11190, 0, "w"], [11191, 0, "s"], [11192, 0, " "], [11193, 0, "t"], [11194, 0, "h"], [11195, 0, "e"], [11196, 0, " "], [11197, 0, "p"], [11198, 0, "r"], [11199, 0, "o"], [11200, 0, "g"], [11201, 0, "r"], [11202, 0, "a"], [11203, 0, "m"], [11204, 0, " "], [11205, 0, "t"], [11206, 0, "o"], [11207, 0, " "], [11208, 0, "r"], [11209, 0, "e"], [11210, 0, "t"], [11211, 0, "r"], [11212, 0, "i"], [11213, 0, "e"], [11214, 0, "v"], [11215, 0, "e"], [11216, 0, " "], [11217, 0, "t"], [11218, 0, "h"], [11219, 0, "e"], [11220, 0, " "], [11221, 0, "v"], [11222, 0, "a"], [11223, 0, "l"], [11224, 0, "u"], [11225, 0, "e"], [11226, 0, " "], [11227, 0, "o"], [11228, 0, "f"], [11229, 0, " "], [11230, 0, "a"], [11231, 0, " "], [11232, 0, "p"], [11233, 0, "r"], [11234, 0, "e"], [11235, 0, "v"], [11236, 0, "i"], [11237, 0, "o"], [11238, 0, "u"], [11239, 0, "s"], [11240, 0, "l"], [11241, 0, "y"], [11242, 0, " "], [11243, 0, "d"], [11244, 0, "e"], [11245, 0, "f"], [11246, 0, "i"], [11247, 0, "n"], [11248, 0, "e"], [11249, 0, "d"], [11250, 0, " "], [11251, 0, "v"], [11252, 0, "a"], [11253, 0, "r"], [11254, 0, "i"], [11255, 0, "a"], [11256, 0, "b"], [11257, 0, "l"], [11258, 0, "e"], [11259, 0, "."], [11260, 0, "\n"], [11261, 0, "\n"], [11262, 0, "T"], [11263, 0, "h"], [11264, 0, "e"], [11265, 0, " "], [11266, 0, "o"], [11267, 0, "t"], [11268, 0, "h"], [11269, 0, "e"], [11270, 0, "r"], [11270, 1], [11269, 1], [11268, 1], [11267, 1], [11266, 1], [11266, 0, "r"], [11267, 0, "e"], [11268, 0, "m"], [11269, 0, "a"], [11270, 0, "i"], [11271, 0, "n"], [11272, 0, "i"], [11273, 0, "n"], [11274, 0, "g"], [11275, 0, " "], [11276, 0, "r"], [11277, 0, "u"], [11278, 0, "l"], [11279, 0, "e"], [11280, 0, "s"], [11281, 0, " "], [11282, 0, "i"], [11283, 0, "n"], [11284, 0, " "], [11285, 0, "f"], [11285, 1], [11285, 0, "F"], [11286, 0, "i"], [11287, 0, "g"], [11288, 0, "u"], [11289, 0, "r"], [11290, 0, "e"], [11291, 0, "~"], [11292, 0, "\\"], [11293, 0, "r"], [11294, 0, "e"], [11295, 0, "f"], [11296, 0, "{"], [11297, 0, "f"], [11298, 0, "i"], [11299, 0, "g"], [11300, 0, ":"], [11301, 0, "e"], [11302, 0, "x"], [11303, 0, "p"], [11304, 0, "r"], [11305, 0, "-"], [11306, 0, "r"], [11307, 0, "u"], [11308, 0, "l"], [11309, 0, "e"], [11310, 0, "s"], [11311, 0, "}"], [11312, 0, " "], [11313, 0, "o"], [11314, 0, "p"], [11315, 0, "e"], [11316, 0, "r"], [11317, 0, "a"], [11318, 0, "t"], [11319, 0, "o"], [11320, 0, "r"], [11320, 1], [11319, 1], [11319, 0, "e"], [11320, 0, " "], [11320, 1], [11319, 1], [11318, 1], [11317, 1], [11316, 1], [11315, 1], [11314, 1], [11313, 1], [11313, 0, "e"], [11314, 0, "v"], [11315, 0, "a"], [11316, 0, "l"], [11317, 0, "u"], [11318, 0, "a"], [11319, 0, "t"], [11320, 0, "e"], [11321, 0, " "], [11322, 0, "t"], [11323, 0, "o"], [11324, 0, " "], [11325, 0, "a"], [11326, 0, " "], [11327, 0, "\\"], [11328, 0, "e"], [11329, 0, "m"], [11330, 0, "p"], [11331, 0, "h"], [11332, 0, "{"], [11333, 0, "c"], [11334, 0, "u"], [11335, 0, "r"], [11336, 0, "s"], [11337, 0, "o"], [11338, 0, "r"], [11339, 0, "}"], [11340, 0, " "], [11341, 0, "a"], [11342, 0, "t"], [11343, 0, "o"], [11344, 0, "m"], [11345, 0, ","], [11346, 0, " "], [11274, 1], [11273, 1], [11272, 1], [11271, 1], [11270, 1], [11269, 1], [11268, 1], [11267, 1], [11266, 1], [11265, 1], [11281, 0, "f"], [11281, 1], [11302, 0, " "], [11303, 0, "s"], [11304, 0, "h"], [11305, 0, "o"], [11306, 0, "w"], [11307, 0, " "], [11308, 0, "h"], [11309, 0, "o"], [11310, 0, "w"], [11311, 0, " "], [11312, 0, "a"], [11313, 0, "n"], [11314, 0, " "], [11315, 0, "e"], [11316, 0, "x"], [11317, 0, "p"], [11318, 0, "r"], [11319, 0, "e"], [11320, 0, "s"], [11321, 0, "s"], [11322, 0, "i"], [11323, 0, "o"], [11324, 0, "n"], [11325, 0, " "], [11326, 0, "i"], [11327, 0, "s"], [11337, 0, "d"], [11363, 1], [11362, 1], [11362, 0, "."], [11363, 0, " "], [11363, 1], [11362, 1], [11362, 0, ","], [11363, 0, " "], [11364, 0, "w"], [11365, 0, "h"], [11366, 0, "i"], [11367, 0, "c"], [11368, 0, "h"], [11369, 0, " "], [11370, 0, "i"], [11371, 0, "s"], [11372, 0, " "], [11372, 1], [11371, 1], [11370, 1], [11369, 1], [11368, 1], [11367, 1], [11366, 1], [11365, 1], [11364, 1], [11363, 1], [11362, 1], [11362, 0, "."], [11363, 0, " "], [11364, 0, "A"], [11365, 0, " "], [11366, 0, "c"], [11367, 0, "u"], [11368, 0, "r"], [11369, 0, "s"], [11370, 0, "o"], [11371, 0, "r"], [11372, 0, " "], [11373, 0, "i"], [11374, 0, "d"], [11375, 0, "e"], [11376, 0, "n"], [11377, 0, "t"], [11378, 0, "i"], [11379, 0, "f"], [11380, 0, "i"], [11381, 0, "e"], [11382, 0, "s"], [11383, 0, " "], [11384, 0, "a"], [11385, 0, " "], [11373, 0, "u"], [11374, 0, "n"], [11375, 0, "a"], [11376, 0, "m"], [11377, 0, "b"], [11378, 0, "i"], [11379, 0, "g"], [11380, 0, "u"], [11381, 0, "o"], [11382, 0, "u"], [11383, 0, "s"], [11384, 0, "l"], [11385, 0, "y"], [11386, 0, " "], [11400, 0, "p"], [11401, 0, "a"], [11402, 0, "r"], [11403, 0, "t"], [11404, 0, "i"], [11405, 0, "c"], [11406, 0, "u"], [11407, 0, "l"], [11408, 0, "a"], [11409, 0, "r"], [11410, 0, " "], [11411, 0, "p"], [11412, 0, "o"], [11413, 0, "s"], [11414, 0, "i"], [11415, 0, "t"], [11416, 0, "i"], [11417, 0, "o"], [11418, 0, "n"], [11419, 0, " "], [11420, 0, "i"], [11421, 0, "n"], [11422, 0, " "], [11423, 0, "a"], [11424, 0, " "], [11425, 0, "J"], [11426, 0, "S"], [11427, 0, "O"], [11428, 0, "N"], [11429, 0, " "], [11430, 0, "d"], [11431, 0, "o"], [11432, 0, "c"], [11433, 0, "u"], [11434, 0, "m"], [11435, 0, "e"], [11436, 0, "n"], [11437, 0, "t"], [11438, 0, " "], [11439, 0, "b"], [11440, 0, "y"], [11441, 0, " "], [11442, 0, "d"], [11443, 0, "e"], [11444, 0, "s"], [11445, 0, "c"], [11446, 0, "r"], [11447, 0, "i"], [11448, 0, "b"], [11449, 0, "i"], [11450, 0, "n"], [11451, 0, "g"], [11452, 0, " "], [11453, 0, "a"], [11454, 0, " "], [11455, 0, "p"], [11456, 0, "a"], [11457, 0, "t"], [11458, 0, "h"], [11459, 0, " "], [11460, 0, "f"], [11461, 0, "r"], [11462, 0, "o"], [11463, 0, "m"], [11464, 0, " "], [11465, 0, "t"], [11466, 0, "h"], [11467, 0, "e"], [11468, 0, " "], [11469, 0, "r"], [11470, 0, "o"], [11471, 0, "o"], [11472, 0, "t"], [11473, 0, " "], [11474, 0, "o"], [11475, 0, "f"], [11476, 0, " "], [11477, 0, "t"], [11478, 0, "h"], [11479, 0, "e"], [11480, 0, " "], [11481, 0, "d"], [11482, 0, "o"], [11483, 0, "c"], [11484, 0, "u"], [11485, 0, "m"], [11486, 0, "e"], [11487, 0, "n"], [11488, 0, "t"], [11489, 0, " "], [11490, 0, "t"], [11491, 0, "r"], [11492, 0, "e"], [11493, 0, "e"], [11494, 0, " "], [11495, 0, "t"], [11496, 0, "o"], [11497, 0, " "], [11498, 0, "s"], [11499, 0, "o"], [11500, 0, "m"], [11501, 0, "e"], [11502, 0, " "], [11503, 0, "b"], [11504, 0, "r"], [11505, 0, "a"], [11506, 0, "n"], [11507, 0, "c"], [11508, 0, "h"], [11509, 0, " "], [11510, 0, "o"], [11511, 0, "r"], [11512, 0, " "], [11513, 0, "l"], [11514, 0, "e"], [11515, 0, "a"], [11516, 0, "f"], [11517, 0, " "], [11518, 0, "n"], [11519, 0, "o"], [11520, 0, "d"], [11521, 0, "e"], [11522, 0, "."], [11523, 0, " "], [11524, 0, "S"], [11524, 1], [11524, 0, "A"], [11525, 0, " "], [11526, 0, "c"], [11527, 0, "u"], [11528, 0, "r"], [11529, 0, "s"], [11530, 0, "o"], [11531, 0, "r"], [11532, 0, " "], [11533, 0, "c"], [11534, 0, "o"], [11535, 0, "n"], [11536, 0, "s"], [11537, 0, "i"], [11538, 0, "s"], [11539, 0, "t"], [11540, 0, "s"], [11541, 0, " "], [11542, 0, "o"], [11543, 0, "n"], [11544, 0, "l"], [11545, 0, "y"], [11546, 0, " "], [11547, 0, "o"], [11548, 0, "f"], [11549, 0, " "], [11550, 0, "i"], [11551, 0, "m"], [11552, 0, "m"], [11553, 0, "u"], [11554, 0, "t"], [11555, 0, "a"], [11556, 0, "b"], [11557, 0, "l"], [11558, 0, "e"], [11559, 0, " "], [11560, 0, "k"], [11561, 0, "e"], [11562, 0, "y"], [11563, 0, "s"], [11564, 0, " "], [11565, 0, "a"], [11566, 0, "n"], [11567, 0, "d"], [11568, 0, " "], [11569, 0, "i"], [11570, 0, "d"], [11571, 0, "e"], [11572, 0, "n"], [11573, 0, "t"], [11574, 0, "i"], [11575, 0, "f"], [11576, 0, "i"], [11577, 0, "e"], [11578, 0, "r"], [11579, 0, "s"], [11580, 0, ","], [11581, 0, " "], [11582, 0, "s"], [11583, 0, "o"], [11584, 0, " "], [11585, 0, "i"], [11586, 0, "t"], [11587, 0, " "], [11588, 0, "c"], [11589, 0, "a"], [11590, 0, "n"], [11591, 0, " "], [11592, 0, "b"], [11593, 0, "e"], [11594, 0, " "], [11595, 0, "s"], [11596, 0, "e"], [11597, 0, "n"], [11598, 0, "t"], [11599, 0, " "], [11600, 0, "o"], [11601, 0, "v"], [11602, 0, "e"], [11603, 0, "r"], [11604, 0, " "], [11605, 0, "t"], [11606, 0, "h"], [11607, 0, "e"], [11608, 0, " "], [11609, 0, "n"], [11610, 0, "e"], [11611, 0, "t"], [11612, 0, "w"], [11613, 0, "o"], [11614, 0, "r"], [11615, 0, "k"], [11616, 0, " "], [11617, 0, "t"], [11618, 0, "o"], [11619, 0, " "], [11620, 0, "a"], [11621, 0, "n"], [11622, 0, "o"], [11623, 0, "t"], [11624, 0, "h"], [11625, 0, "e"], [11626, 0, "r"], [11627, 0, " "], [11628, 0, "p"], [11629, 0, "e"], [11630, 0, "e"], [11631, 0, "r"], [11632, 0, ","], [11633, 0, " "], [11634, 0, "w"], [11635, 0, "h"], [11636, 0, "e"], [11637, 0, "r"], [11638, 0, "e"], [11639, 0, " "], [11640, 0, "i"], [11641, 0, "t"], [11642, 0, " "], [11643, 0, "c"], [11644, 0, "a"], [11645, 0, "n"], [11646, 0, " "], [11647, 0, "b"], [11648, 0, "e"], [11649, 0, " "], [11650, 0, "u"], [11651, 0, "s"], [11652, 0, "e"], [11653, 0, "d"], [11654, 0, " "], [11655, 0, "t"], [11656, 0, "o"], [11657, 0, " "], [11658, 0, "l"], [11659, 0, "o"], [11660, 0, "c"], [11661, 0, "a"], [11662, 0, "t"], [11663, 0, "e"], [11664, 0, " "], [11665, 0, "t"], [11666, 0, "h"], [11667, 0, "e"], [11668, 0, " "], [11669, 0, "s"], [11670, 0, "a"], [11671, 0, "m"], [11672, 0, "e"], [11673, 0, " "], [11674, 0, "p"], [11675, 0, "o"], [11676, 0, "s"], [11677, 0, "i"], [11678, 0, "t"], [11679, 0, "i"], [11680, 0, "o"], [11681, 0, "n"], [11682, 0, " "], [11683, 0, "i"], [11684, 0, "n"], [11685, 0, " "], [11686, 0, "t"], [11687, 0, "h"], [11688, 0, "e"], [11689, 0, " "], [11690, 0, "d"], [11691, 0, "o"], [11692, 0, "c"], [11693, 0, "u"], [11694, 0, "m"], [11695, 0, "e"], [11696, 0, "n"], [11697, 0, "t"], [11698, 0, "."], [11699, 0, "\n"], [11700, 0, "\n"], [11701, 0, "F"], [11702, 0, "o"], [11703, 0, "r"], [11704, 0, " "], [11705, 0, "e"], [11706, 0, "x"], [11707, 0, "a"], [11708, 0, "m"], [11709, 0, "p"], [11710, 0, "l"], [11711, 0, "e"], [11712, 0, ","], [11713, 0, " "], [11714, 0, "$"], [11715, 0, "\\"], [11716, 0, "m"], [11717, 0, "a"], [11718, 0, "t"], [11719, 0, "h"], [11720, 0, "s"], [11721, 0, "f"], [11722, 0, "{"], [11723, 0, "c"], [11724, 0, "u"], [11725, 0, "r"], [11726, 0, "s"], [11727, 0, "o"], [11728, 0, "r"], [11729, 0, "}"], [11730, 0, "("], [11731, 0, "\\"], [11732, 0, "l"], [11733, 0, "a"], [11734, 0, "n"], [11735, 0, "g"], [11736, 0, "l"], [11737, 0, "e"], [11738, 0, " "], [11739, 0, "\\"], [11740, 0, "m"], [11741, 0, "a"], [11742, 0, "t"], [11743, 0, "h"], [11744, 0, "s"], [11745, 0, "f"], [11746, 0, "{"], [11747, 0, "m"], [11748, 0, "a"], [11749, 0, "p"], [11750, 0, "T"], [11751, 0, "}"], [11752, 0, "("], [11753, 0, "\\"], [11754, 0, "m"], [11755, 0, "a"], [11756, 0, "t"], [11757, 0, "h"], [11758, 0, "s"], [11759, 0, "f"], [11760, 0, "{"], [11761, 0, "d"], [11762, 0, "o"], [11763, 0, "c"], [11764, 0, "}"], [11765, 0, ")"], [11766, 0, ","], [11767, 0, " "], [11768, 0, "\\"], [11769, 0, "m"], [11770, 0, "a"], [11771, 0, "t"], [11772, 0, "h"], [11773, 0, "s"], [11774, 0, "f"], [11775, 0, "{"], [11776, 0, "l"], [11777, 0, "i"], [11778, 0, "s"], [11779, 0, "t"], [11780, 0, "T"], [11781, 0, "}"], [11782, 0, "("], [11783, 0, "\\"], [11784, 0, "t"], [11785, 0, "e"], [11786, 0, "x"], [11787, 0, "t"], [11788, 0, "{"], [11789, 0, "`"], [11790, 0, "`"], [11791, 0, "s"], [11792, 0, "h"], [11793, 0, "o"], [11794, 0, "p"], [11795, 0, "p"], [11796, 0, "i"], [11797, 0, "n"], [11798, 0, "g"], [11799, 0, "'"], [11800, 0, "'"], [11801, 0, "}"], [11802, 0, ")"], [11803, 0, " "], [11804, 0, "\\"], [11805, 0, "r"], [11806, 0, "a"], [11807, 0, "n"], [11808, 0, "g"], [11809, 0, "l"], [11810, 0, "e"], [11811, 0, ","], [11812, 0, "\\"], [11813, 0, ","], [11814, 0, " "], [11815, 0, "\\"], [11816, 0, "m"], [11817, 0, "a"], [11818, 0, "t"], [11819, 0, "h"], [11820, 0, "i"], [11821, 0, "t"], [11822, 0, "{"], [11823, 0, "i"], [11824, 0, "d"], [11825, 0, "}"], [11826, 0, "_"], [11827, 0, "1"], [11828, 0, ")"], [11829, 0, "$"], [11830, 0, " "], [11831, 0, "i"], [11832, 0, "s"], [11833, 0, " "], [11834, 0, "a"], [11835, 0, " "], [11836, 0, "c"], [11837, 0, "u"], [11838, 0, "r"], [11839, 0, "s"], [11840, 0, "o"], [11841, 0, "r"], [11842, 0, " "], [11843, 0, "r"], [11844, 0, "e"], [11845, 0, "p"], [11846, 0, "r"], [11847, 0, "e"], [11848, 0, "s"], [11849, 0, "e"], [11850, 0, "n"], [11851, 0, "t"], [11852, 0, "i"], [11853, 0, "n"], [11854, 0, "g"], [11855, 0, " "], [11856, 0, "t"], [11857, 0, "h"], [11858, 0, "e"], [11859, 0, " "], [11860, 0, "l"], [11861, 0, "i"], [11862, 0, "s"], [11863, 0, "t"], [11864, 0, " "], [11865, 0, "e"], [11866, 0, "l"], [11867, 0, "e"], [11868, 0, "m"], [11869, 0, "e"], [11870, 0, "n"], [11871, 0, "t"], [11872, 0, " "], [11873, 0, "\\"], [11874, 0, "v"], [11875, 0, "e"], [11876, 0, "r"], [11877, 0, "b"], [11878, 0, "|"], [11879, 0, "\""], [11880, 0, "e"], [11881, 0, "g"], [11882, 0, "g"], [11883, 0, "s"], [11884, 0, "\""], [11885, 0, "|"], [11886, 0, " "], [11887, 0, "i"], [11888, 0, "n"], [11889, 0, " "], [11890, 0, "F"], [11891, 0, "i"], [11892, 0, "g"], [11893, 0, "u"], [11894, 0, "r"], [11895, 0, "e"], [11896, 0, "~"], [11897, 0, "\\"], [11898, 0, "r"], [11899, 0, "e"], [11900, 0, "f"], [11901, 0, "{"], [11902, 0, "f"], [11903, 0, "i"], [11904, 0, "g"], [11905, 0, ":"], [11906, 0, "m"], [11907, 0, "a"], [11908, 0, "k"], [11909, 0, "e"], [11910, 0, "-"], [11911, 0, "d"], [11912, 0, "o"], [11913, 0, "c"], [11914, 0, "}"], [11915, 0, "."], [11916, 0, " "], [11917, 0, "T"], [11918, 0, "h"], [11919, 0, "e"], [11920, 0, " "], [11921, 0, "c"], [11922, 0, "u"], [11923, 0, "r"], [11923, 1], [11922, 1], [11921, 1], [11920, 1], [11919, 1], [11918, 1], [11917, 1], [11917, 0, "I"], [11918, 0, "t"], [11919, 0, " "], [11920, 0, "c"], [11921, 0, "a"], [11922, 0, "n"], [11923, 0, " "], [11924, 0, "b"], [11925, 0, "e"], [11926, 0, " "], [11927, 0, "i"], [11928, 0, "n"], [11929, 0, "t"], [11930, 0, "e"], [11931, 0, "r"], [11932, 0, "p"], [11933, 0, "r"], [11934, 0, "e"], [11935, 0, "t"], [11936, 0, "e"], [11937, 0, "d"], [11938, 0, " "], [11939, 0, "a"], [11940, 0, "s"], [11941, 0, " "], [11942, 0, "a"], [11943, 0, " "], [11944, 0, "p"], [11945, 0, "a"], [11946, 0, "t"], [11947, 0, "h"], [11948, 0, ","], [11949, 0, " "], [11950, 0, "r"], [11951, 0, "e"], [11952, 0, "a"], [11953, 0, "d"], [11954, 0, " "], [11955, 0, "f"], [11956, 0, "r"], [11957, 0, "o"], [11958, 0, "m"], [11959, 0, " "], [11960, 0, "l"], [11961, 0, "e"], [11962, 0, "f"], [11963, 0, "t"], [11964, 0, " "], [11965, 0, "t"], [11966, 0, "o"], [11967, 0, " "], [11968, 0, "r"], [11969, 0, "i"], [11970, 0, "g"], [11971, 0, "h"], [11972, 0, "t"], [11973, 0, ":"], [11974, 0, " "], [11948, 0, " "], [11949, 0, "t"], [11950, 0, "h"], [11951, 0, "r"], [11952, 0, "o"], [11953, 0, "u"], [11954, 0, "g"], [11955, 0, "h"], [11956, 0, " "], [11957, 0, "t"], [11958, 0, "h"], [11959, 0, "e"], [11960, 0, " "], [11961, 0, "s"], [11962, 0, "t"], [11963, 0, "r"], [11964, 0, "u"], [11965, 0, "c"], [11966, 0, "t"], [11967, 0, "u"], [11968, 0, "r"], [11969, 0, "e"], [11970, 0, " "], [11971, 0, "i"], [11972, 0, "n"], [11973, 0, " "], [11974, 0, "F"], [11975, 0, "i"], [11976, 0, "g"], [11977, 0, "u"], [11978, 0, "r"], [11979, 0, "e"], [11980, 0, "~"], [11981, 0, "\\"], [11982, 0, "r"], [11983, 0, "e"], [11984, 0, "f"], [11985, 0, "{"], [11986, 0, "f"], [11987, 0, "i"], [11988, 0, "g"], [11989, 0, ":"], [11990, 0, "s"], [11991, 0, "t"], [11992, 0, "a"], [11993, 0, "t"], [11994, 0, "e"], [11995, 0, "-"], [11996, 0, "e"], [11997, 0, "x"], [11998, 0, "a"], [11999, 0, "m"], [12000, 0, "p"], [12001, 0, "l"], [12002, 0, "e"], [12003, 0, "}"], [12031, 0, "s"], [12032, 0, "t"], [12033, 0, "a"], [12034, 0, "r"], [12035, 0, "t"], [12036, 0, "i"], [12037, 0, "n"], [12038, 0, "g"], [12039, 0, " "], [12040, 0, "f"], [12041, 0, "r"], [12042, 0, "o"], [12043, 0, "m"], [12044, 0, " "], [12045, 0, "t"], [12046, 0, "h"], [12047, 0, "e"], [12048, 0, " "], [12049, 0, "\\"], [12050, 0, "m"], [12051, 0, "a"], [12051, 1], [12050, 1], [12050, 0, "t"], [12051, 0, "e"], [12052, 0, "x"], [12053, 0, "t"], [12054, 0, "s"], [12055, 0, "f"], [12056, 0, "{"], [12057, 0, "d"], [12058, 0, "o"], [12059, 0, "c"], [12060, 0, "}"], [12061, 0, " "], [12062, 0, "m"], [12063, 0, "a"], [12064, 0, "p"], [12065, 0, " "], [12066, 0, "a"], [12067, 0, "t"], [12068, 0, " "], [12069, 0, "t"], [12070, 0, "h"], [12071, 0, "e"], [12072, 0, " "], [12073, 0, "r"], [12074, 0, "o"], [12075, 0, "o"], [12076, 0, "t"], [12077, 0, ","], [12078, 0, " "], [12079, 0, "i"], [12080, 0, "t"], [12081, 0, " "], [12082, 0, "t"], [12083, 0, "r"], [12084, 0, "a"], [12085, 0, "v"], [12086, 0, "e"], [12087, 0, "r"], [12088, 0, "s"], [12089, 0, "e"], [12090, 0, "s"], [12091, 0, " "], [12092, 0, "t"], [12093, 0, "h"], [12094, 0, "r"], [12095, 0, "o"], [12096, 0, "u"], [12097, 0, "g"], [12098, 0, "h"], [12099, 0, " "], [12100, 0, "t"], [12101, 0, "h"], [12102, 0, "e"], [12103, 0, " "], [12104, 0, "m"], [12105, 0, "a"], [12106, 0, "p"], [12107, 0, " "], [12108, 0, "k"], [12109, 0, "e"], [12110, 0, "y"], [12111, 0, " "], [12112, 0, "`"], [12113, 0, "`"], [12114, 0, "s"], [12115, 0, "h"], [12116, 0, "o"], [12117, 0, "p"], [12118, 0, "p"], [12119, 0, "i"], [12120, 0, "n"], [12121, 0, "g"], [12122, 0, "'"], [12123, 0, "'"], [12124, 0, " "], [12125, 0, "o"], [12126, 0, "f"], [12127, 0, " "], [12128, 0, "t"], [12129, 0, "y"], [12130, 0, "p"], [12131, 0, "e"], [12132, 0, " "], [12133, 0, "l"], [12134, 0, "i"], [12135, 0, "s"], [12136, 0, "t"], [12110, 1], [12109, 1], [12108, 1], [12108, 0, "e"], [12109, 0, "n"], [12110, 0, "t"], [12111, 0, "r"], [12112, 0, "y"], [12135, 0, "\\"], [12136, 0, "m"], [12137, 0, "a"], [12138, 0, "t"], [12139, 0, "h"], [12140, 0, "s"], [12141, 0, "f"], [12142, 0, "{"], [12147, 0, "T"], [12148, 0, "}"], [12149, 0, ","], [12150, 0, " "], [12151, 0, "a"], [12152, 0, "n"], [12153, 0, "d"], [12154, 0, " "], [12155, 0, "e"], [12156, 0, "n"], [12157, 0, "d"], [12158, 0, "s"], [12159, 0, " "], [12160, 0, "w"], [12161, 0, "i"], [12162, 0, "t"], [12163, 0, "h"], [12164, 0, " "], [12165, 0, "t"], [12166, 0, "h"], [12167, 0, "e"], [12168, 0, " "], [12169, 0, "l"], [12170, 0, "i"], [12171, 0, "s"], [12172, 0, "t"], [12173, 0, " "], [12174, 0, "e"], [12175, 0, "l"], [12176, 0, "e"], [12177, 0, "m"], [12178, 0, "e"], [12179, 0, "n"], [12180, 0, "t"], [12181, 0, " "], [12182, 0, "w"], [12183, 0, "i"], [12184, 0, "t"], [12185, 0, "h"], [12186, 0, " "], [12187, 0, "i"], [12188, 0, "d"], [12189, 0, "e"], [12190, 0, "n"], [12191, 0, "t"], [12192, 0, "i"], [12193, 0, "f"], [12194, 0, "i"], [12195, 0, "e"], [12196, 0, "r"], [12197, 0, " "], [12198, 0, "$"], [12199, 0, "\\"], [12200, 0, "m"], [12201, 0, "a"], [12202, 0, "t"], [12203, 0, "h"], [12204, 0, "i"], [12205, 0, "t"], [12206, 0, "{"], [12207, 0, "i"], [12208, 0, "d"], [12209, 0, "}"], [12210, 0, "_"], [12211, 0, "1"], [12212, 0, "$"], [12213, 0, "."], [12139, 1], [12138, 1], [12137, 1], [12136, 1], [12136, 0, "t"], [12137, 0, "e"], [12138, 0, "x"], [12139, 0, "t"], [11713, 1], [11712, 1], [11711, 1], [11710, 1], [11709, 1], [11708, 1], [11707, 1], [11707, 0, "a"], [11708, 0, "m"], [11709, 0, "p"], [11710, 0, "k"], [11711, 0, "e"], [11711, 1], [11710, 1], [11709, 1], [11709, 0, "p"], [11710, 0, "l"], [11711, 0, "e"], [11712, 0, ","], [11713, 0, " "], [11713, 1], [11713, 0, "\n"], [11714, 0, "$"], [11831, 0, "$"], [11832, 0, "\n"], [11833, 1], [10800, 0, ","], [10801, 0, " "], [10802, 0, "r"], [10803, 0, "e"], [10804, 0, "s"], [10805, 0, "p"], [10806, 0, "e"], [10807, 0, "c"], [10808, 0, "t"], [10809, 0, "i"], [10810, 0, "v"], [10811, 0, "e"], [10812, 0, "l"], [10813, 0, "y"], [12174, 1], [12173, 1], [12172, 1], [12171, 1], [12171, 0, "f"], [12172, 0, "i"], [12173, 0, "n"], [12174, 0, "i"], [12175, 0, "s"], [12176, 0, "h"], [12177, 0, "e"], [12178, 0, "s"], [12234, 0, "\n"], [12235, 0, "\n"], [12236, 0, "I"], [12237, 0, "n"], [12238, 0, " "], [12239, 0, "g"], [12240, 0, "e"], [12241, 0, "n"], [12242, 0, "e"], [12243, 0, "r"], [12244, 0, "a"], [12245, 0, "l"], [12246, 0, ","], [12247, 0, " "], [12248, 0, "a"], [12249, 0, " "], [12250, 0, "c"], [12251, 0, "u"], [12252, 0, "r"], [12253, 0, "s"], [12254, 0, "o"], [12255, 0, "r"], [12256, 0, " "], [12257, 0, "c"], [12258, 0, "o"], [12259, 0, "n"], [12260, 0, "t"], [12261, 0, "a"], [12262, 0, "i"], [12263, 0, "n"], [12264, 0, "s"], [12264, 1], [12263, 1], [12262, 1], [12261, 1], [12260, 1], [12260, 0, "s"], [12261, 0, "i"], [12262, 0, "s"], [12263, 0, "t"], [12264, 0, "s"], [12265, 0, " "], [12266, 0, "o"], [12267, 0, "f"], [12268, 0, " "], [12268, 1], [12267, 1], [12266, 1], [12265, 1], [12264, 1], [12263, 1], [12262, 1], [12261, 1], [12260, 1], [12259, 1], [12258, 1], [12257, 1], [12256, 1], [12255, 1], [12254, 1], [12253, 1], [12252, 1], [12251, 1], [12250, 1], [12249, 1], [12248, 1], [12248, 0, "$"], [12249, 0, "\\"], [12250, 0, "m"], [12251, 0, "a"], [12252, 0, "t"], [12253, 0, "h"], [12254, 0, "s"], [12255, 0, "f"], [12256, 0, "{"], [12257, 0, "c"], [12258, 0, "u"], [12259, 0, "r"], [12260, 0, "s"], [12261, 0, "o"], [12262, 0, "r"], [12263, 0, "}"], [12264, 0, "("], [12265, 0, "\\"], [12266, 0, "l"], [12267, 0, "a"], [12268, 0, "n"], [12269, 0, "g"], [12270, 0, "l"], [12271, 0, "e"], [12272, 0, " "], [12273, 0, "k"], [12274, 0, "_"], [12275, 0, "1"], [12276, 0, ","], [12277, 0, " "], [12278, 0, "\\"], [12279, 0, "d"], [12280, 0, "o"], [12281, 0, "t"], [12282, 0, "s"], [12283, 0, ","], [12284, 0, " "], [12285, 0, "\\"], [12286, 0, "k"], [12286, 1], [12285, 1], [12285, 0, "k"], [12286, 0, "_"], [12287, 0, "{"], [12288, 0, "n"], [12289, 0, "-"], [12290, 0, "1"], [12291, 0, "}"], [12292, 0, " "], [12293, 0, "\\"], [12294, 0, "r"], [12295, 0, "a"], [12296, 0, "n"], [12297, 0, "g"], [12298, 0, "l"], [12299, 0, "e"], [12300, 0, ","], [12301, 0, "\\"], [12302, 0, ","], [12303, 0, " "], [12304, 0, "k"], [12305, 0, "_"], [12306, 0, "n"], [12307, 0, ")"], [12308, 0, "$"], [12309, 0, " "], [12310, 0, "c"], [12311, 0, "o"], [12312, 0, "n"], [12313, 0, "s"], [12314, 0, "i"], [12315, 0, "s"], [12316, 0, "t"], [12317, 0, "s"], [12318, 0, " "], [12319, 0, "o"], [12320, 0, "f"], [12321, 0, " "], [12322, 0, "a"], [12323, 0, " "], [12324, 0, "v"], [12325, 0, "e"], [12326, 0, "c"], [12327, 0, "t"], [12328, 0, "o"], [12329, 0, "r"], [12330, 0, " "], [12331, 0, "o"], [12332, 0, "f"], [12333, 0, " "], [12334, 0, "k"], [12335, 0, "e"], [12336, 0, "y"], [12337, 0, "s"], [12338, 0, " "], [12339, 0, "$"], [12340, 0, "\\"], [12341, 0, "l"], [12342, 0, "a"], [12343, 0, "n"], [12344, 0, "g"], [12345, 0, "l"], [12346, 0, "e"], [12347, 0, " "], [12348, 0, "k"], [12349, 0, "_"], [12350, 0, "1"], [12351, 0, ","], [12352, 0, " "], [12353, 0, "\\"], [12354, 0, "d"], [12355, 0, "o"], [12356, 0, "t"], [12357, 0, "s"], [12323, 0, " "], [12324, 0, "("], [12325, 0, "p"], [12326, 0, "o"], [12327, 0, "s"], [12328, 0, "s"], [12329, 0, "i"], [12330, 0, "b"], [12331, 0, "l"], [12332, 0, "y"], [12333, 0, " "], [12334, 0, "e"], [12335, 0, "m"], [12336, 0, "p"], [12337, 0, "t"], [12338, 0, "y"], [12339, 0, ")"], [12375, 0, ","], [12376, 0, " "], [12377, 0, "k"], [12378, 0, "_"], [12379, 0, "{"], [12380, 0, "n"], [12381, 0, "-"], [12382, 0, "1"], [12383, 0, "}"], [12384, 0, " "], [12385, 0, "\\"], [12386, 0, "r"], [12387, 0, "a"], [12388, 0, "n"], [12389, 0, "g"], [12390, 0, "l"], [12391, 0, "e"], [12392, 0, "$"], [12393, 0, ","], [12394, 0, " "], [12395, 0, "a"], [12396, 0, "n"], [12397, 0, "d"], [12398, 0, " "], [12399, 0, "a"], [12400, 0, " "], [12401, 0, "f"], [12402, 0, "i"], [12403, 0, "n"], [12404, 0, "a"], [12405, 0, "l"], [12406, 0, " "], [12407, 0, "k"], [12408, 0, "e"], [12409, 0, "y"], [12410, 0, " "], [12411, 0, "$"], [12412, 0, "k"], [12413, 0, "_"], [12414, 0, "n"], [12415, 0, "$"], [12416, 0, " "], [12417, 0, "("], [12418, 0, "w"], [12419, 0, "h"], [12420, 0, "i"], [12421, 0, "c"], [12422, 0, "h"], [12423, 0, " "], [12424, 0, "i"], [12425, 0, "s"], [12426, 0, " "], [12427, 0, "a"], [12428, 0, "l"], [12429, 0, "w"], [12430, 0, "a"], [12431, 0, "y"], [12432, 0, "s"], [12433, 0, " "], [12434, 0, "p"], [12435, 0, "r"], [12436, 0, "e"], [12437, 0, "s"], [12438, 0, "e"], [12439, 0, "n"], [12440, 0, "t"], [12441, 0, ")"], [12442, 0, "."], [12443, 0, " "], [12444, 0, "$"], [12445, 0, "k"], [12446, 0, "_"], [12447, 0, "n"], [12448, 0, "$"], [12449, 0, " "], [12450, 0, "c"], [12451, 0, "a"], [12452, 0, "n"], [12453, 0, " "], [12454, 0, "b"], [12455, 0, "e"], [12456, 0, " "], [12457, 0, "t"], [12458, 0, "h"], [12459, 0, "o"], [12460, 0, "u"], [12461, 0, "g"], [12462, 0, "h"], [12463, 0, "t"], [12464, 0, " "], [12465, 0, "o"], [12466, 0, "f"], [12467, 0, " "], [12468, 0, "a"], [12469, 0, "s"], [12470, 0, " "], [12471, 0, "t"], [12472, 0, "h"], [12473, 0, "e"], [12474, 0, " "], [12475, 0, "f"], [12476, 0, "i"], [12477, 0, "n"], [12478, 0, "a"], [12479, 0, "l"], [12480, 0, " "], [12481, 0, "e"], [12482, 0, "l"], [12483, 0, "e"], [12484, 0, "m"], [12485, 0, "e"], [12486, 0, "n"], [12487, 0, "t"], [12488, 0, " "], [12489, 0, "o"], [12490, 0, "f"], [12491, 0, " "], [12492, 0, "t"], [12493, 0, "h"], [12494, 0, "e"], [12495, 0, " "], [12496, 0, "v"], [12497, 0, "e"], [12498, 0, "c"], [12499, 0, "t"], [12500, 0, "o"], [12501, 0, "r"], [12502, 0, ","], [12503, 0, " "], [12504, 0, "w"], [12505, 0, "i"], [12506, 0, "t"], [12507, 0, "h"], [12508, 0, " "], [12509, 0, "t"], [12510, 0, "h"], [12511, 0, "e"], [12512, 0, " "], [12513, 0, "d"], [12514, 0, "i"], [12515, 0, "s"], [12516, 0, "t"], [12517, 0, "i"], [12518, 0, "n"], [12519, 0, "c"], [12520, 0, "t"], [12521, 0, "i"], [12522, 0, "o"], [12523, 0, "n"], [12524, 0, " "], [12525, 0, "t"], [12526, 0, "h"], [12527, 0, "a"], [12528, 0, "t"], [12529, 0, " "], [12530, 0, "i"], [12531, 0, "s"], [12531, 1], [12531, 0, "t"], [12532, 0, " "], [12533, 0, "i"], [12534, 0, "s"], [12535, 0, " "], [12536, 0, "n"], [12537, 0, "o"], [12538, 0, "t"], [12539, 0, " "], [12540, 0, "t"], [12541, 0, "a"], [12542, 0, "g"], [12543, 0, "g"], [12544, 0, "e"], [12545, 0, "d"], [12546, 0, " "], [12547, 0, "w"], [12548, 0, "i"], [12549, 0, "t"], [12550, 0, "h"], [12551, 0, " "], [12552, 0, "a"], [12553, 0, " "], [12554, 0, "d"], [12555, 0, "a"], [12556, 0, "t"], [12557, 0, "a"], [12558, 0, "t"], [12559, 0, "y"], [12560, 0, "p"], [12561, 0, "e"], [12562, 0, ","], [12563, 0, " "], [12564, 0, "w"], [12565, 0, "h"], [12566, 0, "e"], [12567, 0, "r"], [12568, 0, "e"], [12569, 0, "a"], [12570, 0, "s"], [12571, 0, " "], [12572, 0, "t"], [12573, 0, "h"], [12574, 0, "e"], [12575, 0, " "], [12576, 0, "e"], [12577, 0, "l"], [12578, 0, "e"], [12579, 0, "m"], [12580, 0, "e"], [12581, 0, "n"], [12582, 0, "t"], [12583, 0, "s"], [12584, 0, " "], [12585, 0, "o"], [12586, 0, "f"], [12587, 0, " "], [12588, 0, "t"], [12589, 0, "h"], [12590, 0, "e"], [12591, 0, " "], [12592, 0, "v"], [12593, 0, "e"], [12594, 0, "c"], [12595, 0, "t"], [12596, 0, "o"], [12597, 0, "r"], [12598, 0, " "], [12599, 0, "h"], [12600, 0, "a"], [12601, 0, "v"], [12602, 0, "e"], [12603, 0, " "], [12604, 0, "a"], [12605, 0, " "], [12606, 0, "d"], [12607, 0, "a"], [12608, 0, "t"], [12609, 0, "a"], [12610, 0, "t"], [12611, 0, "y"], [12612, 0, "p"], [12613, 0, "e"], [12614, 0, " "], [12615, 0, "a"], [12616, 0, "n"], [12617, 0, "n"], [12617, 1], [12616, 1], [12615, 1], [12615, 0, "a"], [12616, 0, "t"], [12617, 0, "o"], [12618, 0, "m"], [12619, 0, " "], [12620, 0, "s"], [12621, 0, "u"], [12622, 0, "c"], [12623, 0, "h"], [12624, 0, " "], [12625, 0, "a"], [12626, 0, "s"], [12627, 0, " "], [12628, 0, "$"], [12629, 0, "\\"], [12629, 1], [12628, 1], [12628, 0, "\\"], [12629, 0, "t"], [12630, 0, "e"], [12631, 0, "x"], [12632, 0, "t"], [12633, 0, "s"], [12634, 0, "f"], [12635, 0, "{"], [12636, 0, "m"], [12637, 0, "a"], [12638, 0, "p"], [12639, 0, "T"], [12640, 0, "}"], [12641, 0, " "], [12642, 0, "o"], [12643, 0, "r"], [12644, 0, " "], [12645, 0, "\\"], [12646, 0, "t"], [12647, 0, "e"], [12648, 0, "x"], [12649, 0, "t"], [12650, 0, "s"], [12651, 0, "f"], [12652, 0, "{"], [12653, 0, "l"], [12654, 0, "i"], [12655, 0, "s"], [12656, 0, "t"], [12657, 0, "T"], [12658, 0, "}"], [12659, 0, "."], [12660, 0, "\n"], [12661, 0, "\n"], [12662, 0, "T"], [12663, 0, "h"], [12664, 0, "e"], [12665, 0, " "], [12666, 0, "\\"], [12667, 0, "m"], [12668, 0, "a"], [12669, 0, "t"], [12669, 1], [12668, 1], [12667, 1], [12667, 0, "t"], [12668, 0, "e"], [12669, 0, "x"], [12670, 0, "t"], [12671, 0, "s"], [12672, 0, "c"], [12673, 0, "{"], [12674, 0, "D"], [12675, 0, "o"], [12676, 0, "c"], [12677, 0, "}"], [12678, 0, " "], [12679, 0, "r"], [12680, 0, "u"], [12681, 0, "l"], [12682, 0, "e"], [12683, 0, " "], [12684, 0, "i"], [12685, 0, "n"], [12686, 0, " "], [12687, 0, "F"], [12688, 0, "i"], [12689, 0, "g"], [12690, 0, "u"], [12691, 0, "r"], [12692, 0, "e"], [12693, 0, "~"], [12694, 0, "\\"], [12695, 0, "r"], [12696, 0, "e"], [12697, 0, "f"], [12698, 0, "{"], [12699, 0, "f"], [12700, 0, "i"], [12701, 0, "g"], [12702, 0, ":"], [12703, 0, "e"], [12704, 0, "x"], [12705, 0, "p"], [12706, 0, "r"], [12707, 0, "-"], [12708, 0, "r"], [12709, 0, "u"], [12710, 0, "l"], [12711, 0, "e"], [12712, 0, "s"], [12713, 0, "}"], [12714, 0, " "], [12715, 0, "d"], [12716, 0, "e"], [12717, 0, "f"], [12718, 0, "i"], [12719, 0, "n"], [12720, 0, "e"], [12721, 0, "s"], [12722, 0, " "], [12723, 0, "t"], [12724, 0, "h"], [12725, 0, "e"], [12726, 0, " "], [12727, 0, "s"], [12728, 0, "i"], [12729, 0, "m"], [12730, 0, "p"], [12731, 0, "l"], [12732, 0, "e"], [12733, 0, "s"], [12734, 0, "t"], [12735, 0, " "], [12736, 0, "c"], [12737, 0, "u"], [12738, 0, "r"], [12739, 0, "s"], [12740, 0, "o"], [12741, 0, "r"], [12742, 0, ","], [12743, 0, " "], [12744, 0, "r"], [12745, 0, "e"], [12746, 0, "f"], [12747, 0, "e"], [12748, 0, "r"], [12749, 0, "e"], [12750, 0, "n"], [12751, 0, "c"], [12752, 0, "i"], [12753, 0, "n"], [12754, 0, "g"], [12755, 0, " "], [12756, 0, "t"], [12757, 0, "h"], [12758, 0, "e"], [12759, 0, " "], [12760, 0, "r"], [12761, 0, "o"], [12762, 0, "o"], [12763, 0, "t"], [12764, 0, " "], [12765, 0, "o"], [12766, 0, "f"], [12767, 0, " "], [12768, 0, "t"], [12769, 0, "h"], [12770, 0, "e"], [12771, 0, " "], [12772, 0, "d"], [12773, 0, "o"], [12774, 0, "c"], [12775, 0, "u"], [12776, 0, "m"], [12777, 0, "e"], [12778, 0, "n"], [12779, 0, "t"], [12780, 0, " "], [12781, 0, "u"], [12782, 0, "s"], [12783, 0, "i"], [12784, 0, "n"], [12785, 0, "g"], [12786, 0, " "], [12787, 0, "t"], [12788, 0, "h"], [12789, 0, "e"], [12790, 0, " "], [12791, 0, "s"], [12792, 0, "p"], [12793, 0, "e"], [12794, 0, "c"], [12795, 0, "i"], [12796, 0, "a"], [12797, 0, "l"], [12798, 0, " "], [12799, 0, "a"], [12800, 0, "t"], [12801, 0, "o"], [12802, 0, "m"], [12803, 0, " "], [12804, 0, "\\"], [12805, 0, "m"], [12806, 0, "a"], [12806, 1], [12805, 1], [12805, 0, "t"], [12806, 0, "e"], [12807, 0, "x"], [12808, 0, "t"], [12809, 0, "s"], [12810, 0, "f"], [12811, 0, "{"], [12812, 0, "d"], [12813, 0, "o"], [12814, 0, "c"], [12815, 0, "}"], [12816, 0, "."], [12817, 0, " "], [12818, 0, "I"], [12819, 0, "f"], [12820, 0, " "], [12821, 0, "t"], [12822, 0, "h"], [12823, 0, "e"], [12824, 0, " "], [12825, 0, "r"], [12826, 0, "o"], [12827, 0, "o"], [12828, 0, "t"], [12829, 0, " "], [12830, 0, "i"], [12831, 0, "s"], [12832, 0, " "], [12833, 0, "a"], [12834, 0, " "], [12835, 0, "m"], [12836, 0, "a"], [12837, 0, "p"], [12838, 0, " "], [12839, 0, "("], [12840, 0, "a"], [12841, 0, "s"], [12842, 0, " "], [12843, 0, "i"], [12844, 0, "n"], [12845, 0, " "], [12846, 0, "t"], [12847, 0, "h"], [12848, 0, "e"], [12849, 0, " "], [12850, 0, "e"], [12851, 0, "x"], [12852, 0, "a"], [12853, 0, "m"], [12854, 0, "p"], [12855, 0, "l"], [12856, 0, "e"], [12857, 0, " "], [12858, 0, "o"], [12859, 0, "f"], [12860, 0, " "], [12860, 1], [12859, 1], [12858, 1], [12857, 1], [12856, 1], [12855, 1], [12854, 1], [12853, 1], [12852, 1], [12851, 1], [12850, 1], [12849, 1], [12848, 1], [12847, 1], [12846, 1], [12845, 1], [12844, 1], [12843, 1], [12842, 1], [12841, 1], [12840, 1], [12839, 1], [12838, 1], [12837, 1], [12836, 1], [12835, 1], [12834, 1], [12833, 1], [12832, 1], [12831, 1], [12830, 1], [12829, 1], [12828, 1], [12827, 1], [12826, 1], [12825, 1], [12824, 1], [12823, 1], [12822, 1], [12821, 1], [12820, 1], [12819, 1], [12818, 1], [12818, 0, "T"], [12819, 0, "h"], [12820, 0, "e"], [12821, 0, " "], [12822, 0, "\\"], [12823, 0, "t"], [12824, 0, "e"], [12825, 0, "x"], [12826, 0, "t"], [12827, 0, "s"], [12828, 0, "c"], [12829, 0, "{"], [12830, 0, "G"], [12831, 0, "e"], [12832, 0, "t"], [12833, 0, "}"], [12834, 0, " "], [12835, 0, "r"], [12836, 0, "u"], [12837, 0, "l"], [12838, 0, "e"], [12839, 0, " "], [12840, 0, "n"], [12841, 0, "a"], [12842, 0, "v"], [12843, 0, "i"], [12844, 0, "g"], [12845, 0, "a"], [12846, 0, "t"], [12847, 0, "e"], [12848, 0, "s"], [12849, 0, " "], [12850, 0, "a"], [12851, 0, " "], [12852, 0, "c"], [12853, 0, "u"], [12854, 0, "r"], [12855, 0, "s"], [12856, 0, "o"], [12857, 0, "r"], [12858, 0, " "], [12742, 0, " "], [12743, 0, "$"], [12744, 0, "\\"], [12745, 0, "m"], [12746, 0, "a"], [12747, 0, "t"], [12748, 0, "h"], [12749, 0, "s"], [12750, 0, "f"], [12751, 0, "{"], [12752, 0, "c"], [12753, 0, "u"], [12754, 0, "r"], [12755, 0, "s"], [12756, 0, "o"], [12757, 0, "r"], [12758, 0, "}"], [12759, 0, "("], [12760, 0, "\\"], [12761, 0, "l"], [12762, 0, "a"], [12763, 0, "n"], [12764, 0, "g"], [12765, 0, "l"], [12766, 0, "e"], [12767, 0, "\\"], [12768, 0, "r"], [12769, 0, "a"], [12770, 0, "n"], [12771, 0, "g"], [12772, 0, "l"], [12773, 0, "e"], [12774, 0, ","], [12775, 0, "\\"], [12776, 0, ","], [12777, 0, " "], [12778, 0, "\\"], [12779, 0, "m"], [12780, 0, "a"], [12781, 0, "t"], [12782, 0, "h"], [12783, 0, "s"], [12784, 0, "f"], [12785, 0, "{"], [12786, 0, "d"], [12787, 0, "o"], [12788, 0, "c"], [12789, 0, "}"], [12790, 0, ")"], [12791, 0, "$"], [12909, 0, "t"], [12910, 0, "o"], [12911, 0, " "], [12912, 0, "a"], [12913, 0, " "], [12914, 0, "p"], [12915, 0, "a"], [12916, 0, "r"], [12917, 0, "t"], [12918, 0, "i"], [12919, 0, "c"], [12920, 0, "u"], [12921, 0, "l"], [12922, 0, "a"], [12923, 0, "r"], [12924, 0, " "], [12925, 0, "k"], [12926, 0, "e"], [12927, 0, "y"], [12928, 0, " "], [12929, 0, "w"], [12930, 0, "i"], [12931, 0, "t"], [12932, 0, "h"], [12933, 0, "i"], [12934, 0, "n"], [12935, 0, " "], [12936, 0, "a"], [12937, 0, " "], [12938, 0, "m"], [12939, 0, "a"], [12940, 0, "p"], [12941, 0, ","], [12942, 0, " "], [12943, 0, "s"], [12944, 0, "o"], [12945, 0, " "], [12946, 0, "t"], [12947, 0, "h"], [12948, 0, "e"], [12949, 0, " "], [12950, 0, "k"], [12951, 0, "e"], [12952, 0, "y"], [12953, 0, " "], [12954, 0, "`"], [12955, 0, "`"], [12956, 0, "w"], [12957, 0, "h"], [12957, 1], [12956, 1], [12956, 0, "s"], [12957, 0, "h"], [12958, 0, "o"], [12959, 0, "p"], [12960, 0, "p"], [12961, 0, "i"], [12962, 0, "n"], [12963, 0, "g"], [12964, 0, "'"], [12965, 0, "'"], [12966, 0, " "], [12967, 0, "i"], [12968, 0, "n"], [12969, 0, " "], [12970, 0, "t"], [12971, 0, "h"], [12972, 0, "e"], [12973, 0, " "], [12974, 0, "r"], [12975, 0, "o"], [12976, 0, "o"], [12977, 0, "t"], [12978, 0, " "], [12979, 0, "d"], [12980, 0, "o"], [12981, 0, "c"], [12982, 0, "u"], [12983, 0, "m"], [12984, 0, "e"], [12985, 0, "n"], [12986, 0, "t"], [12987, 0, " "], [12988, 0, "i"], [12989, 0, "s"], [12990, 0, " "], [12991, 0, "r"], [12992, 0, "e"], [12993, 0, "p"], [12994, 0, "r"], [12995, 0, "e"], [12996, 0, "s"], [12997, 0, "e"], [12998, 0, "n"], [12999, 0, "t"], [13000, 0, "e"], [13001, 0, "d"], [13002, 0, " "], [13002, 1], [13001, 1], [13000, 1], [12999, 1], [12998, 1], [12997, 1], [12996, 1], [12995, 1], [12994, 1], [12993, 1], [12992, 1], [12991, 1], [12990, 1], [12989, 1], [12988, 1], [12987, 1], [12986, 1], [12985, 1], [12984, 1], [12983, 1], [12982, 1], [12981, 1], [12980, 1], [12979, 1], [12978, 1], [12977, 1], [12976, 1], [12975, 1], [12974, 1], [12973, 1], [12972, 1], [12971, 1], [12970, 1], [12969, 1], [12968, 1], [12967, 1], [12966, 1], [12965, 1], [12964, 1], [12963, 1], [12962, 1], [12961, 1], [12960, 1], [12959, 1], [12958, 1], [12957, 1], [12956, 1], [12955, 1], [12954, 1], [12953, 1], [12952, 1], [12951, 1], [12950, 1], [12949, 1], [12948, 1], [12947, 1], [12946, 1], [12945, 1], [12944, 1], [12943, 1], [12942, 1], [12941, 1], [12940, 1], [12939, 1], [12938, 1], [12938, 0, "m"], [12939, 0, "a"], [12940, 0, "p"], [12941, 0, "."], [12942, 0, " "], [12943, 0, "F"], [12944, 0, "o"], [12945, 0, "r"], [12946, 0, " "], [12947, 0, "e"], [12948, 0, "x"], [12949, 0, "a"], [12950, 0, "m"], [12951, 0, "p"], [12952, 0, "l"], [12953, 0, "e"], [12954, 0, ","], [12955, 0, " "], [12956, 0, "t"], [12957, 0, "h"], [12958, 0, "e"], [12959, 0, " "], [12960, 0, "e"], [12961, 0, "x"], [12962, 0, "p"], [12963, 0, "r"], [12964, 0, "e"], [12965, 0, "s"], [12966, 0, "s"], [12967, 0, "i"], [12968, 0, "o"], [12969, 0, "n"], [12970, 0, " "], [12971, 0, "$"], [12972, 0, "\\"], [12972, 1], [12971, 1], [12971, 0, "\\"], [12972, 0, "v"], [12973, 0, "e"], [12974, 0, "r"], [12975, 0, "b"], [12976, 0, "|"], [12977, 0, "d"], [12978, 0, "o"], [12979, 0, "c"], [12980, 0, "."], [12981, 0, "g"], [12982, 0, "e"], [12983, 0, "t"], [12984, 0, "("], [12985, 0, "\""], [12986, 0, "s"], [12987, 0, "h"], [12988, 0, "o"], [12989, 0, "p"], [12990, 0, "p"], [12991, 0, "i"], [12992, 0, "n"], [12993, 0, "g"], [12994, 0, "\""], [12995, 0, ")"], [12996, 0, "|"], [12997, 0, " "], [12998, 0, "e"], [12999, 0, "v"], [13000, 0, "a"], [13001, 0, "l"], [13002, 0, "u"], [13003, 0, "a"], [13004, 0, "t"], [13005, 0, "e"], [13006, 0, "s"], [13007, 0, " "], [13008, 0, "t"], [13009, 0, "o"], [13010, 0, " "], [13011, 0, "t"], [13012, 0, "h"], [13013, 0, "e"], [13014, 0, " "], [13015, 0, "c"], [13016, 0, "u"], [13017, 0, "r"], [13018, 0, "s"], [13019, 0, "o"], [13020, 0, "r"], [13021, 0, " "], [13022, 0, "$"], [13022, 1], [13021, 1], [13020, 1], [13019, 1], [13018, 1], [13017, 1], [13016, 1], [13015, 1], [13014, 1], [13013, 1], [13012, 1], [13011, 1], [13011, 0, "$"], [13012, 0, "\\"], [13013, 0, "m"], [13014, 0, "a"], [13015, 0, "t"], [13016, 0, "h"], [13017, 0, "s"], [13018, 0, "f"], [13019, 0, "{"], [13020, 0, "c"], [13021, 0, "u"], [13022, 0, "r"], [13023, 0, "s"], [13024, 0, "o"], [13025, 0, "r"], [13026, 0, "}"], [13027, 0, "("], [13028, 0, "\\"], [13029, 0, "l"], [13030, 0, "a"], [13031, 0, "n"], [13032, 0, "g"], [13033, 0, "l"], [13034, 0, "e"], [13035, 0, " "], [13036, 0, "\\"], [13037, 0, "m"], [13038, 0, "a"], [13039, 0, "t"], [13040, 0, "h"], [13041, 0, "s"], [13042, 0, "f"], [13043, 0, "{"], [13044, 0, "m"], [13045, 0, "a"], [13046, 0, "p"], [13047, 0, "T"], [13048, 0, "}"], [13049, 0, "("], [13050, 0, "\\"], [13051, 0, "m"], [13052, 0, "a"], [13053, 0, "t"], [13054, 0, "h"], [13055, 0, "s"], [13056, 0, "f"], [13057, 0, "{"], [13058, 0, "d"], [13059, 0, "o"], [13060, 0, "c"], [13061, 0, "}"], [13062, 0, ")"], [13063, 0, " "], [13064, 0, "\\"], [13065, 0, "r"], [13066, 0, "a"], [13067, 0, "n"], [13068, 0, "g"], [13069, 0, "l"], [13070, 0, "e"], [13071, 0, ","], [13072, 0, "\\"], [13073, 0, ","], [13074, 0, " "], [13075, 0, "\\"], [13076, 0, "t"], [13077, 0, "e"], [13078, 0, "x"], [13079, 0, "t"], [13080, 0, "{"], [13081, 0, "`"], [13082, 0, "`"], [13083, 0, "s"], [13084, 0, "h"], [13085, 0, "o"], [13086, 0, "p"], [13087, 0, "p"], [13088, 0, "i"], [13089, 0, "n"], [13090, 0, "g"], [13091, 0, "'"], [13092, 0, "'"], [13093, 0, "}"], [13094, 0, ")"], [13095, 0, "$"], [13096, 0, " "], [13097, 0, "b"], [13098, 0, "y"], [13099, 0, " "], [13100, 0, "a"], [13101, 0, "p"], [13102, 0, "p"], [13103, 0, "l"], [13104, 0, "y"], [13105, 0, "i"], [13106, 0, "n"], [13107, 0, "g"], [13108, 0, " "], [13109, 0, "t"], [13110, 0, "h"], [13111, 0, "e"], [13112, 0, " "], [13113, 0, "\\"], [13114, 0, "t"], [13115, 0, "e"], [13116, 0, "x"], [13117, 0, "t"], [13118, 0, "s"], [13119, 0, "c"], [13120, 0, "{"], [13121, 0, "D"], [13122, 0, "o"], [13123, 0, "c"], [13124, 0, "}"], [13125, 0, " "], [13126, 0, "a"], [13127, 0, "n"], [13128, 0, "d"], [13129, 0, " "], [13130, 0, "\\"], [13131, 0, "t"], [13132, 0, "e"], [13133, 0, "x"], [13134, 0, "t"], [13135, 0, "s"], [13136, 0, "c"], [13137, 0, "{"], [13138, 0, "G"], [13139, 0, "e"], [13140, 0, "t"], [13141, 0, "}"], [13142, 0, " "], [13143, 0, "r"], [13144, 0, "u"], [13145, 0, "l"], [13146, 0, "e"], [13147, 0, "s"], [13148, 0, "."], [13149, 0, "\n"], [13150, 0, "\n"], [13151, 0, "T"], [13152, 0, "h"], [13153, 0, "e"], [13154, 0, " "], [13155, 0, "\\"], [13156, 0, "t"], [13157, 0, "e"], [13158, 0, "x"], [13159, 0, "t"], [13160, 0, "s"], [13161, 0, "c"], [13162, 0, "{"], [13163, 0, "I"], [13164, 0, "t"], [13165, 0, "e"], [13166, 0, "r"], [13167, 0, "}"], [13168, 0, " "], [13169, 0, "r"], [13170, 0, "u"], [13171, 0, "l"], [13172, 0, "e"], [13173, 0, " "], [13174, 0, "s"], [13175, 0, "h"], [13176, 0, "u"], [13176, 1], [13176, 0, "i"], [13177, 0, "f"], [13178, 0, "t"], [13179, 0, "s"], [13180, 0, " "], [13181, 0, "t"], [13182, 0, "h"], [13183, 0, "e"], [13184, 0, " "], [13185, 0, "c"], [13186, 0, "u"], [13187, 0, "r"], [13188, 0, "s"], [13189, 0, "o"], [13190, 0, "r"], [13191, 0, " "], [13192, 0, "i"], [13193, 0, "n"], [13194, 0, "t"], [13195, 0, "o"], [13196, 0, " "], [13197, 0, "a"], [13198, 0, " "], [13199, 0, "l"], [13200, 0, "i"], [13201, 0, "s"], [13202, 0, "t"], [13203, 0, " "], [13204, 0, "v"], [13205, 0, "a"], [13206, 0, "l"], [13206, 1], [13205, 1], [13204, 1], [13203, 1], [13203, 0, " "], [13204, 0, "a"], [13205, 0, "n"], [13206, 0, "d"], [13207, 0, " "], [13208, 0, "p"], [13209, 0, "o"], [13210, 0, "s"], [13211, 0, "i"], [13212, 0, "t"], [13213, 0, "i"], [13214, 0, "o"], [13215, 0, "n"], [13216, 0, "s"], [13217, 0, " "], [13218, 0, "t"], [13219, 0, "h"], [13220, 0, "e"], [13221, 0, " "], [13221, 1], [13220, 1], [13219, 1], [13218, 1], [13218, 0, "i"], [13219, 0, "t"], [13220, 0, " "], [13221, 0, "a"], [13222, 0, "t"], [13223, 0, " "], [13224, 0, "t"], [13225, 0, "h"], [13226, 0, "e"], [13227, 0, " "], [13228, 0, "\\"], [13229, 0, "m"], [13230, 0, "a"], [13230, 1], [13229, 1], [13229, 0, "t"], [13230, 0, "e"], [13231, 0, "x"], [13232, 0, "t"], [13233, 0, "s"], [13234, 0, "f"], [13235, 0, "{"], [13236, 0, "h"], [13237, 0, "e"], [13238, 0, "a"], [13239, 0, "d"], [13240, 0, "}"], [13241, 0, " "], [13242, 0, "o"], [13243, 0, "f"], [13244, 0, " "], [13245, 0, "t"], [13246, 0, "h"], [13247, 0, "e"], [13248, 0, " "], [13249, 0, "l"], [13250, 0, "i"], [13251, 0, "s"], [13252, 0, "t"], [13253, 0, "."], [13254, 0, " "], [13255, 0, "T"], [13256, 0, "h"], [13257, 0, "i"], [13258, 0, "s"], [13259, 0, " "], [13260, 0, "r"], [13261, 0, "u"], [13262, 0, "l"], [13263, 0, "e"], [13264, 0, " "], [13265, 0, "a"], [13266, 0, "p"], [13267, 0, "p"], [13268, 0, "l"], [13269, 0, "i"], [13270, 0, "e"], [13271, 0, "s"], [13272, 0, " "], [13273, 0, "e"], [13274, 0, "v"], [13275, 0, "e"], [13276, 0, "n"], [13277, 0, " "], [13278, 0, "i"], [13279, 0, "f"], [13280, 0, " "], [13281, 0, "$"], [13281, 1], [13281, 0, "t"], [13282, 0, "h"], [13283, 0, "e"], [13284, 0, " "], [13285, 0, "l"], [13286, 0, "i"], [13287, 0, "s"], [13288, 0, "t"], [13289, 0, " "], [13290, 0, "i"], [13291, 0, "s"], [13292, 0, " "], [13293, 0, "e"], [13294, 0, "m"], [13295, 0, "p"], [13296, 0, "t"], [13297, 0, "y"], [13298, 0, " "], [13299, 0, "o"], [13300, 0, "r"], [13301, 0, " "], [13302, 0, "n"], [13303, 0, "o"], [13304, 0, "n"], [13305, 0, "e"], [13306, 0, "x"], [13307, 0, "i"], [13308, 0, "s"], [13309, 0, "t"], [13310, 0, "e"], [13311, 0, "n"], [13312, 0, "t"], [13313, 0, " "], [13314, 0, "i"], [13315, 0, "n"], [13316, 0, " "], [13317, 0, "$"], [13318, 0, "A"], [13319, 0, "_"], [13320, 0, "p"], [13321, 0, "$"], [13322, 0, "."], [13323, 0, " "], [13324, 0, "T"], [13325, 0, "h"], [13326, 0, "e"], [13327, 0, " "], [13328, 0, "t"], [13329, 0, "h"], [13330, 0, "r"], [13331, 0, "e"], [13332, 0, "e"], [13333, 0, " "], [13334, 0, "r"], [13335, 0, "u"], [13336, 0, "l"], [13337, 0, "e"], [13338, 0, "s"], [13339, 0, " "], [13340, 0, "$"], [13341, 0, "\\"], [13342, 0, "t"], [13343, 0, "e"], [13344, 0, "x"], [13345, 0, "t"], [13346, 0, "s"], [13347, 0, "c"], [13348, 0, "{"], [13349, 0, "N"], [13350, 0, "e"], [13351, 0, "x"], [13352, 0, "t"], [13353, 0, "}"], [13354, 0, "_"], [13355, 0, "1"], [13356, 0, "$"], [13357, 0, ","], [13358, 0, " "], [13359, 0, "$"], [13360, 0, "\\"], [13361, 0, "t"], [13362, 0, "e"], [13363, 0, "x"], [13364, 0, "t"], [13365, 0, "s"], [13366, 0, "c"], [13367, 0, "{"], [13368, 0, "N"], [13369, 0, "e"], [13370, 0, "x"], [13371, 0, "t"], [13372, 0, "}"], [13373, 0, "_"], [13374, 0, "2"], [13375, 0, "$"], [13376, 0, " "], [13377, 0, "a"], [13378, 0, "n"], [13379, 0, "d"], [13380, 0, " "], [13381, 0, "$"], [13382, 0, "\\"], [13383, 0, "t"], [13384, 0, "e"], [13385, 0, "x"], [13386, 0, "t"], [13387, 0, "s"], [13388, 0, "c"], [13389, 0, "{"], [13390, 0, "N"], [13391, 0, "e"], [13392, 0, "x"], [13393, 0, "t"], [13394, 0, "}"], [13395, 0, "$"], [13396, 0, " "], [13397, 0, "h"], [13398, 0, "a"], [13399, 0, "n"], [13400, 0, "d"], [13401, 0, "l"], [13402, 0, "e"], [13403, 0, " "], [13404, 0, "i"], [13405, 0, "t"], [13406, 0, "e"], [13407, 0, "r"], [13408, 0, "a"], [13409, 0, "t"], [13410, 0, "i"], [13411, 0, "o"], [13412, 0, "n"], [13413, 0, " "], [13414, 0, "t"], [13415, 0, "h"], [13416, 0, "r"], [13417, 0, "o"], [13418, 0, "u"], [13419, 0, "g"], [13420, 0, "h"], [13421, 0, " "], [13422, 0, "a"], [13423, 0, " "], [13424, 0, "l"], [13425, 0, "i"], [13426, 0, "n"], [13427, 0, "k"], [13428, 0, "e"], [13429, 0, "d"], [13430, 0, " "], [13431, 0, "l"], [13432, 0, "i"], [13433, 0, "s"], [13434, 0, "t"], [13435, 0, " "], [13436, 0, "b"], [13437, 0, "y"], [13438, 0, " "], [13439, 0, "s"], [13440, 0, "e"], [13441, 0, "t"], [13442, 0, "t"], [13443, 0, "i"], [13444, 0, "n"], [13445, 0, "g"], [13446, 0, " "], [13447, 0, "t"], [13448, 0, "h"], [13449, 0, "e"], [13450, 0, " "], [13451, 0, "f"], [13452, 0, "i"], [13453, 0, "n"], [13454, 0, "a"], [13455, 0, "l"], [13456, 0, " "], [13457, 0, "k"], [13458, 0, "e"], [13459, 0, "y"], [13460, 0, " "], [13461, 0, "i"], [13462, 0, "n"], [13463, 0, " "], [13464, 0, "t"], [13465, 0, "h"], [13466, 0, "e"], [13467, 0, " "], [13468, 0, "c"], [13469, 0, "u"], [13470, 0, "r"], [13471, 0, "s"], [13472, 0, "o"], [13473, 0, "r"], [13474, 0, " "], [13475, 0, "t"], [13476, 0, "o"], [13477, 0, " "], [13478, 0, "t"], [13479, 0, "h"], [13480, 0, "e"], [13481, 0, " "], [13355, 0, "{"], [13357, 0, ","], [13358, 0, "2"], [13359, 0, ","], [13360, 0, "3"], [13361, 0, "}"], [13400, 1], [13399, 1], [13398, 1], [13397, 1], [13396, 1], [13395, 1], [13394, 1], [13393, 1], [13392, 1], [13391, 1], [13390, 1], [13389, 1], [13388, 1], [13387, 1], [13386, 1], [13385, 1], [13384, 1], [13383, 1], [13382, 1], [13381, 1], [13380, 1], [13379, 1], [13378, 1], [13377, 1], [13376, 1], [13375, 1], [13374, 1], [13373, 1], [13372, 1], [13371, 1], [13370, 1], [13369, 1], [13368, 1], [13367, 1], [13366, 1], [13365, 1], [13364, 1], [13363, 1], [13362, 1], [13449, 0, "i"], [13450, 0, "d"], [13451, 0, "e"], [13452, 0, "n"], [13453, 0, "t"], [13454, 0, "i"], [13455, 0, "f"], [13456, 0, "i"], [13457, 0, "e"], [13458, 0, "r"], [13459, 0, " "], [13460, 0, "o"], [13461, 0, "f"], [13462, 0, " "], [13463, 0, "t"], [13464, 0, "h"], [13465, 0, "e"], [13466, 0, " "], [13467, 0, "n"], [13468, 0, "e"], [13469, 0, "x"], [13470, 0, "t"], [13471, 0, " "], [13472, 0, "l"], [13473, 0, "i"], [13474, 0, "s"], [13475, 0, "t"], [13476, 0, " "], [13477, 0, "e"], [13478, 0, "l"], [13479, 0, "e"], [13480, 0, "m"], [13481, 0, "e"], [13482, 0, "n"], [13483, 0, "t"], [13484, 0, "."], [13485, 0, " "], [13486, 0, "T"], [13487, 0, "h"], [13488, 0, "e"], [13489, 0, " "], [13490, 0, "\\"], [13491, 0, "t"], [13492, 0, "e"], [13493, 0, "x"], [13494, 0, "t"], [13495, 0, "s"], [13496, 0, "c"], [13497, 0, "{"], [13498, 0, "N"], [13499, 0, "e"], [13500, 0, "x"], [13501, 0, "t"], [13502, 0, "}"], [13503, 0, " "], [13504, 0, "r"], [13505, 0, "u"], [13506, 0, "l"], [13507, 0, "e"], [13508, 0, "s"], [13509, 0, " "], [13510, 0, "a"], [13511, 0, "p"], [13512, 0, "p"], [13513, 0, "l"], [13514, 0, "y"], [13515, 0, " "], [13516, 0, "o"], [13517, 0, "n"], [13518, 0, "l"], [13519, 0, "y"], [13520, 0, " "], [13521, 0, "i"], [13522, 0, "f"], [13523, 0, " "], [13524, 0, "t"], [13525, 0, "h"], [13526, 0, "e"], [13527, 0, " "], [13528, 0, "l"], [13529, 0, "i"], [13530, 0, "s"], [13531, 0, "t"], [13532, 0, " "], [13533, 0, "e"], [13534, 0, "x"], [13535, 0, "i"], [13536, 0, "s"], [13537, 0, "t"], [13538, 0, "s"], [13539, 0, " "], [13540, 0, "i"], [13541, 0, "n"], [13542, 0, " "], [13543, 0, "$"], [13544, 0, "A"], [13545, 0, "_"], [13546, 0, "p"], [13547, 0, "$"], [13548, 0, ","], [13549, 0, " "], [13550, 0, "a"], [13551, 0, "n"], [13552, 0, "d"], [13553, 0, " "], [13554, 0, "t"], [13555, 0, "h"], [13556, 0, "e"], [13557, 0, " "], [13558, 0, "\\"], [13559, 0, "t"], [13560, 0, "e"], [13561, 0, "x"], [13562, 0, "t"], [13563, 0, "s"], [13564, 0, "c"], [13565, 0, "{"], [13566, 0, "N"], [13567, 0, "e"], [13568, 0, "x"], [13569, 0, "t"], [13570, 0, "}"], [13571, 0, "+"], [13572, 0, "_"], [13573, 0, "3"], [13571, 1], [13558, 0, "$"], [13574, 0, "$"], [13575, 0, " "], [13576, 0, "r"], [13577, 0, "e"], [13578, 0, "c"], [13579, 0, "u"], [13580, 0, "r"], [13581, 0, "s"], [13582, 0, "i"], [13583, 0, "v"], [13584, 0, "e"], [13585, 0, "l"], [13586, 0, "y"], [13587, 0, " "], [13588, 0, "d"], [13589, 0, "e"], [13590, 0, "s"], [13591, 0, "c"], [13592, 0, "e"], [13593, 0, "n"], [13594, 0, "d"], [13595, 0, "s"], [13596, 0, " "], [13597, 0, "t"], [13598, 0, "h"], [13599, 0, "e"], [13600, 0, " "], [13601, 0, "l"], [13602, 0, "o"], [13603, 0, "c"], [13604, 0, "a"], [13605, 0, "l"], [13606, 0, " "], [13607, 0, "s"], [13608, 0, "t"], [13609, 0, "a"], [13610, 0, "t"], [13611, 0, "e"], [13612, 0, " "], [13613, 0, "a"], [13614, 0, "c"], [13615, 0, "c"], [13616, 0, "o"], [13617, 0, "r"], [13618, 0, "d"], [13619, 0, "i"], [13620, 0, "n"], [13621, 0, "g"], [13622, 0, " "], [13623, 0, "t"], [13624, 0, "o"], [13625, 0, " "], [13626, 0, "t"], [13627, 0, "h"], [13628, 0, "e"], [13629, 0, " "], [13630, 0, "v"], [13631, 0, "e"], [13632, 0, "c"], [13633, 0, "t"], [13634, 0, "o"], [13635, 0, "r"], [13636, 0, " "], [13637, 0, "o"], [13638, 0, "f"], [13639, 0, " "], [13640, 0, "k"], [13641, 0, "e"], [13642, 0, "y"], [13643, 0, "s"], [13644, 0, " "], [13645, 0, "i"], [13646, 0, "n"], [13647, 0, " "], [13648, 0, "t"], [13649, 0, "h"], [13650, 0, "e"], [13651, 0, " "], [13652, 0, "c"], [13653, 0, "u"], [13654, 0, "r"], [13655, 0, "s"], [13656, 0, "o"], [13657, 0, "r"], [13658, 0, "."], [6685, 1], [6684, 1], [6491, 1], [6491, 1], [6296, 1], [6296, 1], [9484, 0, "\n"], [9485, 0, "\n"], [9486, 0, "\\"], [9487, 0, "b"], [9488, 0, "e"], [9489, 0, "g"], [9490, 0, "i"], [9491, 0, "n"], [9492, 0, "{"], [9493, 0, "p"], [9494, 0, "r"], [9495, 0, "o"], [9496, 0, "o"], [9497, 0, "f"], [9498, 0, "t"], [9499, 0, "r"], [9500, 0, "e"], [9501, 0, "e"], [9502, 0, "}"], [9503, 0, "\n"], [9504, 0, "\\"], [9505, 0, "e"], [9506, 0, "n"], [9507, 0, "d"], [9508, 0, "{"], [9509, 0, "p"], [9510, 0, "r"], [9511, 0, "o"], [9512, 0, "o"], [9513, 0, "f"], [9514, 0, "t"], [9515, 0, "r"], [9516, 0, "e"], [9517, 0, "e"], [9518, 0, "}"], [9503, 0, "\n"], [9504, 0, "\\"], [9505, 0, "A"], [9506, 0, "x"], [9507, 0, "i"], [9508, 0, "o"], [9509, 0, "m"], [9510, 0, "C"], [9511, 0, "{"], [9512, 0, "$"], [9513, 0, "A"], [9514, 0, "_"], [9515, 0, "p"], [9516, 0, ","], [9517, 0, "\\"], [9518, 0, ","], [9519, 0, " "], [9520, 0, "\\"], [9521, 0, "m"], [9522, 0, "a"], [9523, 0, "t"], [9524, 0, "h"], [9525, 0, "i"], [9526, 0, "t"], [9527, 0, "{"], [9528, 0, "e"], [9529, 0, "x"], [9530, 0, "p"], [9531, 0, "r"], [9532, 0, "}"], [9533, 0, " "], [9534, 0, "\\"], [9535, 0, "e"], [9536, 0, "v"], [9537, 0, "a"], [9538, 0, "l"], [9539, 0, "t"], [9540, 0, "o"], [9541, 0, " "], [9542, 0, "\\"], [9543, 0, "m"], [9544, 0, "a"], [9545, 0, "t"], [9546, 0, "h"], [9547, 0, "i"], [9548, 0, "t"], [9549, 0, "{"], [9550, 0, "v"], [9551, 0, "a"], [9552, 0, "l"], [9553, 0, "}"], [9554, 0, "$"], [9555, 0, "}"], [9556, 0, "\n"], [9557, 0, "\\"], [9558, 0, "A"], [9559, 0, "x"], [9560, 0, "i"], [9561, 0, "o"], [9562, 0, "m"], [9563, 0, "C"], [9564, 0, "{"], [9565, 0, "$"], [9566, 0, "A"], [9567, 0, "_"], [9568, 0, "p"], [9569, 0, ","], [9570, 0, "\\"], [9571, 0, ","], [9572, 0, " "], [9573, 0, "\\"], [9574, 0, "m"], [9575, 0, "a"], [9576, 0, "t"], [9577, 0, "h"], [9578, 0, "i"], [9579, 0, "t"], [9580, 0, "{"], [9550, 1], [9550, 1], [9550, 1], [9550, 0, "c"], [9551, 0, "u"], [9552, 0, "r"], [9581, 0, "c"], [9582, 0, "u"], [9583, 0, "r"], [9584, 0, "}"], [9585, 0, "."], [9586, 0, "\\"], [9587, 0, "m"], [9588, 0, "a"], [9589, 0, "t"], [9590, 0, "h"], [9591, 0, "s"], [9592, 0, "f"], [9593, 0, "{"], [9594, 0, "v"], [9595, 0, "a"], [9596, 0, "l"], [9597, 0, "u"], [9598, 0, "e"], [9599, 0, "s"], [9600, 0, "}"], [9601, 0, " "], [9602, 0, "\\"], [9603, 0, "e"], [9604, 0, "v"], [9605, 0, "a"], [9606, 0, "l"], [9607, 0, "t"], [9608, 0, "o"], [9609, 0, " "], [9610, 0, "\\"], [9611, 0, "m"], [9612, 0, "a"], [9613, 0, "t"], [9614, 0, "h"], [9615, 0, "i"], [9616, 0, "t"], [9617, 0, "{"], [9618, 0, "c"], [9618, 1], [9618, 0, "v"], [9619, 0, "a"], [9620, 0, "l"], [9621, 0, "}"], [9622, 0, "$"], [9623, 0, "}"], [9624, 0, "\n"], [9625, 0, "\\"], [9626, 0, "L"], [9627, 0, "e"], [9628, 0, "f"], [9629, 0, "t"], [9630, 0, "L"], [9631, 0, "a"], [9632, 0, "b"], [9633, 0, "e"], [9634, 0, "l"], [9635, 0, "{"], [9636, 0, "$"], [9637, 0, "\\"], [9638, 0, "t"], [9639, 0, "e"], [9640, 0, "x"], [9641, 0, "t"], [9642, 0, "s"], [9643, 0, "c"], [9644, 0, "{"], [9645, 0, "V"], [9646, 0, "a"], [9647, 0, "l"], [9648, 0, "}"], [9649, 0, "_"], [9650, 0, "1"], [9651, 0, "$"], [9652, 0, "}"], [9653, 0, "\n"], [9654, 0, "\\"], [9655, 0, "B"], [9656, 0, "i"], [9657, 0, "n"], [9658, 0, "a"], [9659, 0, "r"], [9660, 0, "y"], [9661, 0, "I"], [9662, 0, "n"], [9663, 0, "f"], [9664, 0, "C"], [9665, 0, "{"], [9666, 0, "$"], [9667, 0, "A"], [9668, 0, "_"], [9669, 0, "p"], [9670, 0, ","], [9671, 0, "\\"], [9672, 0, ","], [9673, 0, " "], [9674, 0, "\\"], [9675, 0, "m"], [9676, 0, "a"], [9677, 0, "t"], [9678, 0, "h"], [9679, 0, "i"], [9680, 0, "t"], [9681, 0, "{"], [9682, 0, "e"], [9683, 0, "x"], [9684, 0, "p"], [9685, 0, "r"], [9686, 0, "}"], [9687, 0, "."], [9688, 0, "\\"], [9689, 0, "m"], [9690, 0, "a"], [9691, 0, "t"], [9692, 0, "h"], [9693, 0, "s"], [9694, 0, "f"], [9695, 0, "{"], [9696, 0, "v"], [9697, 0, "a"], [9698, 0, "l"], [9699, 0, "u"], [9700, 0, "e"], [9701, 0, "s"], [9702, 0, "}"], [9703, 0, " "], [9704, 0, "\\"], [9705, 0, "e"], [9706, 0, "v"], [9707, 0, "a"], [9708, 0, "l"], [9709, 0, "t"], [9710, 0, "o"], [9711, 0, " "], [9712, 0, "\\"], [9713, 0, "m"], [9714, 0, "a"], [9715, 0, "t"], [9716, 0, "h"], [9717, 0, "i"], [9718, 0, "t"], [9719, 0, "{"], [9720, 0, "v"], [9721, 0, "a"], [9722, 0, "l"], [9723, 0, "}"], [9724, 0, "$"], [9725, 0, "}"], [9742, 0, "\n"], [9743, 0, "\n"], [9744, 0, "\\"], [9745, 0, "b"], [9746, 0, "e"], [9747, 0, "g"], [9748, 0, "i"], [9749, 0, "n"], [9750, 0, "{"], [9751, 0, "p"], [9752, 0, "r"], [9753, 0, "o"], [9754, 0, "o"], [9755, 0, "f"], [9756, 0, "t"], [9757, 0, "r"], [9758, 0, "e"], [9759, 0, "e"], [9760, 0, "}"], [9761, 0, "\n"], [9762, 0, "\\"], [9763, 0, "A"], [9764, 0, "x"], [9765, 0, "i"], [9766, 0, "o"], [9767, 0, "m"], [9768, 0, "C"], [9769, 0, "{"], [9770, 0, "$"], [9771, 0, "\\"], [9772, 0, "m"], [9773, 0, "a"], [9774, 0, "t"], [9775, 0, "h"], [9776, 0, "s"], [9777, 0, "f"], [9778, 0, "{"], [9779, 0, "r"], [9780, 0, "e"], [9781, 0, "g"], [9782, 0, "T"], [9783, 0, "}"], [9784, 0, "("], [9785, 0, "k"], [9786, 0, ")"], [9787, 0, " "], [9788, 0, "\\"], [9789, 0, "i"], [9790, 0, "n"], [9791, 0, " "], [9792, 0, "\\"], [9793, 0, "m"], [9794, 0, "a"], [9795, 0, "t"], [9796, 0, "h"], [9797, 0, "r"], [9798, 0, "m"], [9799, 0, "{"], [9800, 0, "d"], [9801, 0, "o"], [9802, 0, "m"], [9803, 0, "}"], [9804, 0, "("], [9805, 0, "\\"], [9806, 0, "m"], [9807, 0, "a"], [9808, 0, "t"], [9809, 0, "h"], [9810, 0, "i"], [9811, 0, "t"], [9812, 0, "{"], [9813, 0, "c"], [9814, 0, "t"], [9815, 0, "x"], [9816, 0, "}"], [9817, 0, ")"], [9818, 0, "$"], [9819, 0, "}"], [9820, 0, "\n"], [9821, 0, "\\"], [9822, 0, "A"], [9823, 0, "x"], [9824, 0, "i"], [9825, 0, "o"], [9826, 0, "m"], [9827, 0, "C"], [9828, 0, "{"], [9829, 0, "$"], [9830, 0, "\\"], [9831, 0, "m"], [9832, 0, "a"], [9833, 0, "t"], [9834, 0, "h"], [9835, 0, "i"], [9836, 0, "t"], [9837, 0, "{"], [9838, 0, "v"], [9839, 0, "a"], [9840, 0, "l"], [9841, 0, "}"], [9842, 0, " "], [9843, 0, "="], [9844, 0, " "], [9845, 0, "\\"], [9846, 0, "{"], [9847, 0, "\\"], [9848, 0, ","], [9849, 0, " "], [9850, 0, "\\"], [9851, 0, "m"], [9852, 0, "a"], [9853, 0, "t"], [9854, 0, "h"], [9855, 0, "i"], [9856, 0, "t"], [9857, 0, "{"], [9858, 0, "o"], [9859, 0, "p"], [9860, 0, "}"], [9861, 0, "."], [9862, 0, "\\"], [9863, 0, "m"], [9864, 0, "a"], [9865, 0, "t"], [9866, 0, "h"], [9867, 0, "s"], [9868, 0, "f"], [9869, 0, "{"], [9870, 0, "v"], [9871, 0, "a"], [9872, 0, "l"], [9873, 0, "}"], [9874, 0, " "], [9875, 0, "\\"], [9876, 0, "m"], [9877, 0, "i"], [9878, 0, "d"], [9879, 0, " "], [9880, 0, "\\"], [9881, 0, "m"], [9882, 0, "a"], [9883, 0, "t"], [9884, 0, "h"], [9885, 0, "i"], [9886, 0, "t"], [9887, 0, "{"], [9888, 0, "o"], [9889, 0, "p"], [9890, 0, "}"], [9891, 0, " "], [9892, 0, "\\"], [9893, 0, "i"], [9894, 0, "n"], [9895, 0, " "], [9896, 0, "\\"], [9897, 0, "m"], [9898, 0, "a"], [9899, 0, "t"], [9900, 0, "h"], [9901, 0, "i"], [9902, 0, "t"], [9903, 0, "{"], [9904, 0, "c"], [9905, 0, "t"], [9906, 0, "x"], [9907, 0, "}"], [9908, 0, "("], [9909, 0, "\\"], [9910, 0, "m"], [9911, 0, "a"], [9912, 0, "t"], [9913, 0, "h"], [9914, 0, "s"], [9915, 0, "f"], [9916, 0, "{"], [9917, 0, "r"], [9918, 0, "e"], [9919, 0, "g"], [9920, 0, "T"], [9921, 0, "}"], [9922, 0, "("], [9923, 0, "k"], [9924, 0, ")"], [9925, 0, ")"], [9926, 0, " "], [9927, 0, "\\"], [9928, 0, ","], [9929, 0, "\\"], [9930, 0, "}"], [9931, 0, "$"], [9932, 0, "}"], [9933, 0, "\n"], [9934, 0, "\\"], [9935, 0, "L"], [9936, 0, "e"], [9937, 0, "f"], [9938, 0, "t"], [9939, 0, "L"], [9940, 0, "a"], [9941, 0, "b"], [9942, 0, "e"], [9943, 0, "l"], [9944, 0, "{"], [9945, 0, "$"], [9946, 0, "\\"], [9947, 0, "t"], [9948, 0, "e"], [9949, 0, "x"], [9950, 0, "t"], [9951, 0, "s"], [9952, 0, "c"], [9953, 0, "{"], [9954, 0, "V"], [9955, 0, "a"], [9956, 0, "l"], [9957, 0, "}"], [9958, 0, "_"], [9959, 0, "2"], [9960, 0, "$"], [9961, 0, "}"], [9962, 0, "\n"], [9963, 0, "'"], [9963, 1], [9963, 0, "\\"], [9964, 0, "B"], [9965, 0, "i"], [9966, 0, "n"], [9967, 0, "a"], [9968, 0, "r"], [9969, 0, "y"], [9970, 0, "I"], [9971, 0, "n"], [9972, 0, "f"], [9973, 0, "C"], [9974, 0, "{"], [9975, 0, "$"], [9976, 0, "A"], [9977, 0, "_"], [9978, 0, "p"], [9979, 0, ","], [9980, 0, "\\"], [9981, 0, ","], [9982, 0, " "], [9982, 1], [9981, 1], [9980, 1], [9979, 1], [9978, 1], [9977, 1], [9976, 1], [9976, 0, "\\"], [9977, 0, "m"], [9978, 0, "a"], [9979, 0, "t"], [9980, 0, "h"], [9981, 0, "i"], [9982, 0, "t"], [9983, 0, "{"], [9984, 0, "c"], [9985, 0, "t"], [9986, 0, "x"], [9987, 0, "}"], [9988, 0, ","], [9989, 0, "\\"], [9990, 0, ","], [9991, 0, " "], [9992, 0, "\\"], [9993, 0, "m"], [9994, 0, "a"], [9995, 0, "t"], [9996, 0, "h"], [9997, 0, "s"], [9998, 0, "f"], [9999, 0, "{"], [10000, 0, "c"], [10001, 0, "u"], [10002, 0, "r"], [10003, 0, "s"], [10004, 0, "o"], [10005, 0, "r"], [10006, 0, "}"], [10007, 0, "("], [10008, 0, "\\"], [10009, 0, "l"], [10010, 0, "a"], [10011, 0, "n"], [10012, 0, "g"], [10013, 0, "l"], [10014, 0, "e"], [10015, 0, "\\"], [10016, 0, "r"], [10017, 0, "a"], [10018, 0, "n"], [10019, 0, "g"], [10020, 0, "l"], [10021, 0, "e"], [10022, 0, ","], [10023, 0, "\\"], [10024, 0, ","], [10025, 0, " "], [10026, 0, "k"], [10027, 0, ")"], [10028, 0, "."], [10029, 0, "\\"], [10030, 0, "m"], [10031, 0, "a"], [10032, 0, "t"], [10033, 0, "h"], [10034, 0, "s"], [10035, 0, "f"], [10036, 0, "{"], [10037, 0, "v"], [10038, 0, "a"], [10039, 0, "l"], [10040, 0, "u"], [10041, 0, "e"], [10042, 0, "s"], [10043, 0, "}"], [10044, 0, " "], [10045, 0, "\\"], [10046, 0, "e"], [10047, 0, "v"], [10048, 0, "a"], [10049, 0, "l"], [10050, 0, "t"], [10051, 0, "o"], [10052, 0, " "], [10053, 0, "\\"], [10054, 0, "m"], [10055, 0, "a"], [10056, 0, "t"], [10057, 0, "h"], [10058, 0, "i"], [10059, 0, "t"], [10060, 0, "{"], [10061, 0, "v"], [10062, 0, "a"], [10063, 0, "l"], [10064, 0, "}"], [10065, 0, "$"], [10066, 0, "}"], [10067, 0, "\n"], [10068, 0, "\\"], [10069, 0, "e"], [10070, 0, "n"], [10071, 0, "d"], [10072, 0, "{"], [10073, 0, "p"], [10074, 0, "r"], [10075, 0, "o"], [10076, 0, "o"], [10077, 0, "f"], [10078, 0, "t"], [10079, 0, "r"], [10080, 0, "e"], [10081, 0, "e"], [10082, 0, "}"], [10083, 0, "\n"], [10084, 0, "\n"], [10085, 0, "\\"], [10086, 0, "b"], [10087, 0, "e"], [10088, 0, "g"], [10089, 0, "i"], [10090, 0, "n"], [10091, 0, "{"], [10092, 0, "p"], [10093, 0, "r"], [10094, 0, "o"], [10095, 0, "o"], [10096, 0, "f"], [10097, 0, "t"], [10098, 0, "r"], [10099, 0, "e"], [10100, 0, "e"], [10101, 0, "}"], [10102, 0, "\n"], [10103, 0, "\\"], [10104, 0, "e"], [10105, 0, "n"], [10106, 0, "d"], [10107, 0, "{"], [10108, 0, "p"], [10109, 0, "r"], [10110, 0, "o"], [10111, 0, "o"], [10112, 0, "f"], [10113, 0, "t"], [10114, 0, "r"], [10115, 0, "e"], [10116, 0, "e"], [10117, 0, "}"], [10102, 0, "\n"], [10103, 0, "\\"], [10104, 0, "A"], [10105, 0, "x"], [10106, 0, "i"], [10107, 0, "o"], [10108, 0, "m"], [10109, 0, "C"], [10110, 0, "{"], [10111, 0, "$"], [10112, 0, "k"], [10113, 0, "_"], [10114, 0, "1"], [10115, 0, " "], [10116, 0, "\\"], [10117, 0, "i"], [10118, 0, "n"], [10119, 0, " "], [10120, 0, "\\"], [10121, 0, "m"], [10122, 0, "a"], [10123, 0, "t"], [10124, 0, "h"], [10125, 0, "r"], [10126, 0, "m"], [10127, 0, "{"], [10128, 0, "d"], [10129, 0, "o"], [10130, 0, "m"], [10131, 0, "}"], [10132, 0, "("], [10133, 0, "\\"], [10134, 0, "m"], [10135, 0, "a"], [10136, 0, "t"], [10137, 0, "h"], [10138, 0, "i"], [10139, 0, "t"], [10140, 0, "{"], [10141, 0, "c"], [10142, 0, "t"], [10143, 0, "x"], [10144, 0, "}"], [10145, 0, ")"], [10146, 0, "$"], [10147, 0, "}"], [10148, 0, "\n"], [10149, 0, "\\"], [10150, 0, "A"], [10151, 0, "x"], [10152, 0, "i"], [10153, 0, "o"], [10154, 0, "m"], [10155, 0, "C"], [10156, 0, "{"], [10157, 0, "$"], [10158, 0, "\\"], [10159, 0, "m"], [10160, 0, "a"], [10161, 0, "t"], [10162, 0, "h"], [10163, 0, "i"], [10164, 0, "t"], [10165, 0, "{"], [10166, 0, "c"], [10167, 0, "t"], [10168, 0, "x"], [10169, 0, "}"], [10170, 0, "("], [10171, 0, "k"], [10172, 0, "_"], [10173, 0, "1"], [10174, 0, "}"], [10174, 1], [10174, 0, ")"], [10175, 0, ","], [10176, 0, "\\"], [10177, 0, ","], [10178, 0, " "], [10179, 0, "\\"], [10180, 0, "m"], [10181, 0, "a"], [10182, 0, "t"], [10183, 0, "h"], [10184, 0, "s"], [10185, 0, "f"], [10186, 0, "{"], [10187, 0, "c"], [10188, 0, "u"], [10189, 0, "r"], [10190, 0, "s"], [10191, 0, "o"], [10192, 0, "r"], [10193, 0, "("], [10193, 0, "}"], [10195, 0, "\\"], [10196, 0, "l"], [10197, 0, "a"], [10198, 0, "n"], [10199, 0, "g"], [10200, 0, "l"], [10201, 0, "e"], [10202, 0, " "], [10203, 0, "k"], [10204, 0, "_"], [10205, 0, "2"], [10206, 0, ","], [10207, 0, " "], [10208, 0, "\\"], [10209, 0, "d"], [10210, 0, "o"], [10211, 0, "t"], [10212, 0, "s"], [10213, 0, ","], [10214, 0, " "], [10215, 0, "k"], [10216, 0, "{"], [10216, 1], [10216, 0, "_"], [10217, 0, "{"], [10218, 0, "n"], [10219, 0, "-"], [10220, 0, "1"], [10221, 0, "}"], [10222, 0, " "], [10223, 0, "\\"], [10224, 0, "r"], [10225, 0, "a"], [10226, 0, "n"], [10227, 0, "g"], [10228, 0, "l"], [10229, 0, "e"], [10230, 0, ","], [10231, 0, "\\"], [10232, 0, ","], [10233, 0, " "], [10234, 0, "k"], [10235, 0, "_"], [10236, 0, "n"], [10237, 0, ")"], [10238, 0, "."], [10239, 0, "\\"], [10240, 0, "m"], [10241, 0, "a"], [10242, 0, "t"], [10243, 0, "h"], [10244, 0, "s"], [10245, 0, "f"], [10246, 0, "{"], [10247, 0, "v"], [10248, 0, "a"], [10249, 0, "l"], [10250, 0, "u"], [10251, 0, "e"], [10252, 0, "s"], [10253, 0, "}"], [10254, 0, "\n"], [10255, 0, " "], [10256, 0, " "], [10257, 0, " "], [10258, 0, " "], [10259, 0, "\\"], [10260, 0, "e"], [10261, 0, "v"], [10262, 0, "a"], [10263, 0, "l"], [10264, 0, "t"], [10265, 0, "o"], [10266, 0, " "], [10267, 0, "\\"], [10268, 0, "m"], [10269, 0, "a"], [10270, 0, "t"], [10271, 0, "h"], [10272, 0, "i"], [10273, 0, "t"], [10274, 0, "{"], [10275, 0, "v"], [10276, 0, "a"], [10277, 0, "l"], [10278, 0, "}"], [10279, 0, "$"], [10280, 0, "}"], [10281, 0, "\n"], [10282, 0, "\\"], [10283, 0, "L"], [10284, 0, "e"], [10285, 0, "f"], [10286, 0, "t"], [10287, 0, "L"], [10288, 0, "a"], [10289, 0, "b"], [10290, 0, "e"], [10291, 0, "l"], [10292, 0, "{"], [10293, 0, "$"], [10294, 0, "\\"], [10295, 0, "t"], [10296, 0, "e"], [10297, 0, "x"], [10298, 0, "t"], [10299, 0, "s"], [10300, 0, "c"], [10301, 0, "{"], [10302, 0, "V"], [10303, 0, "a"], [10304, 0, "l"], [10305, 0, "}"], [10306, 0, "_"], [10307, 0, "3"], [10308, 0, "$"], [10309, 0, "}"], [10310, 0, "\n"], [10311, 0, "\\"], [10312, 0, "B"], [10313, 0, "i"], [10314, 0, "n"], [10315, 0, "a"], [10316, 0, "r"], [10317, 0, "y"], [10318, 0, "I"], [10319, 0, "n"], [10320, 0, "f"], [10321, 0, "C"], [10322, 0, "{"], [10323, 0, "$"], [10324, 0, "\\"], [10325, 0, "m"], [10326, 0, "a"], [10327, 0, "t"], [10328, 0, "h"], [10329, 0, "i"], [10330, 0, "t"], [10331, 0, "{"], [10332, 0, "c"], [10333, 0, "t"], [10334, 0, "x"], [10335, 0, "}"], [10336, 0, ","], [10337, 0, "\\"], [10338, 0, ","], [10339, 0, " "], [10340, 0, "\\"], [10341, 0, "m"], [10342, 0, "a"], [10343, 0, "t"], [10344, 0, "h"], [10345, 0, "s"], [10346, 0, "f"], [10347, 0, "{"], [10348, 0, "c"], [10349, 0, "u"], [10350, 0, "r"], [10351, 0, "s"], [10352, 0, "o"], [10353, 0, "r"], [10354, 0, "}"], [10355, 0, "("], [10356, 0, "\\"], [10357, 0, "l"], [10358, 0, "a"], [10359, 0, "n"], [10360, 0, "g"], [10361, 0, "l"], [10362, 0, "e"], [10363, 0, " "], [10364, 0, "k"], [10365, 0, "_"], [10366, 0, "1"], [10367, 0, ","], [10368, 0, " "], [10369, 0, "k"], [10370, 0, "_"], [10371, 0, "2"], [10372, 0, ","], [10373, 0, " "], [10374, 0, "\\"], [10375, 0, "d"], [10376, 0, "o"], [10377, 0, "t"], [10378, 0, "s"], [10379, 0, ","], [10380, 0, " "], [10381, 0, "k"], [10382, 0, "_"], [10383, 0, "{"], [10384, 0, "n"], [10385, 0, "-"], [10386, 0, "1"], [10387, 0, "}"], [10388, 0, " "], [10389, 0, "\\"], [10390, 0, "r"], [10391, 0, "a"], [10392, 0, "n"], [10393, 0, "g"], [10394, 0, "l"], [10395, 0, "e"], [10396, 0, ","], [10397, 0, "\\"], [10398, 0, ","], [10399, 0, " "], [10400, 0, "k"], [10401, 0, "_"], [10402, 0, "n"], [10403, 0, ")"], [10404, 0, "."], [10405, 0, "\\"], [10406, 0, "m"], [10407, 0, "a"], [10408, 0, "t"], [10409, 0, "h"], [10410, 0, "s"], [10411, 0, "f"], [10412, 0, "{"], [10413, 0, "v"], [10414, 0, "a"], [10415, 0, "l"], [10416, 0, "u"], [10417, 0, "e"], [10418, 0, "s"], [10419, 0, "}"], [10420, 0, "\n"], [10421, 0, " "], [10422, 0, " "], [10423, 0, " "], [10424, 0, " "], [10425, 0, "\\"], [10426, 0, "e"], [10427, 0, "v"], [10428, 0, "a"], [10429, 0, "l"], [10430, 0, "t"], [10431, 0, "o"], [10432, 0, " "], [10433, 0, "\\"], [10434, 0, "m"], [10435, 0, "a"], [10436, 0, "t"], [10437, 0, "h"], [10438, 0, "i"], [10439, 0, "t"], [10440, 0, "{"], [10441, 0, "v"], [10442, 0, "a"], [10443, 0, "l"], [10444, 0, "}"], [10445, 0, "$"], [10446, 0, "}"], [14122, 0, " "], [14123, 0, "N"], [14124, 0, "o"], [14125, 0, "t"], [14126, 0, "e"], [14127, 0, " "], [14128, 0, "t"], [14129, 0, "h"], [14130, 0, "a"], [14131, 0, "t"], [14132, 0, " "], [14133, 0, "t"], [14134, 0, "h"], [14135, 0, "e"], [14136, 0, " "], [14136, 1], [14135, 1], [14134, 1], [14133, 1], [14133, 0, "t"], [14134, 0, "h"], [14135, 0, "e"], [14136, 0, " "], [14137, 0, "e"], [14138, 0, "x"], [14139, 0, "p"], [14140, 0, "r"], [14141, 0, "e"], [14142, 0, "s"], [14143, 0, "s"], [14144, 0, "i"], [14145, 0, "o"], [14146, 0, "n"], [14147, 0, " "], [14148, 0, "\\"], [14149, 0, "v"], [14150, 0, "e"], [14151, 0, "r"], [14152, 0, "b"], [14153, 0, "\""], [14153, 1], [14153, 0, "|"], [14154, 0, "d"], [14155, 0, "o"], [14156, 0, "c"], [14157, 0, "."], [14158, 0, "g"], [14159, 0, "e"], [14160, 0, "t"], [14161, 0, "|"], [14162, 0, " "], [14163, 0, "i"], [14164, 0, "m"], [14165, 0, "p"], [14166, 0, "l"], [14167, 0, "i"], [14168, 0, "c"], [14169, 0, "i"], [14170, 0, "t"], [14171, 0, "l"], [14172, 0, "y"], [14173, 0, " "], [14174, 0, "a"], [14175, 0, "s"], [14176, 0, "s"], [14177, 0, "e"], [14178, 0, "r"], [14179, 0, "t"], [14180, 0, "s"], [14181, 0, " "], [14182, 0, "t"], [14183, 0, "h"], [14184, 0, "a"], [14185, 0, "t"], [14186, 0, " "], [14187, 0, "\\"], [14188, 0, "m"], [14189, 0, "a"], [14190, 0, "t"], [14191, 0, "h"], [14192, 0, "s"], [14193, 0, "f"], [14194, 0, "{"], [14195, 0, "d"], [14196, 0, "o"], [14197, 0, "c"], [14198, 0, "}"], [14199, 0, " "], [14200, 0, "i"], [14201, 0, "s"], [14202, 0, " "], [14203, 0, "o"], [14204, 0, "f"], [14205, 0, " "], [14206, 0, "t"], [14207, 0, "y"], [14208, 0, "p"], [14209, 0, "e"], [14210, 0, " "], [14211, 0, "\\"], [14212, 0, "m"], [14213, 0, "a"], [14214, 0, "p"], [14214, 1], [14213, 1], [14212, 1], [14188, 1], [14188, 1], [14188, 1], [14188, 1], [14188, 0, "t"], [14189, 0, "e"], [14190, 0, "x"], [14191, 0, "t"], [14212, 0, "t"], [14213, 0, "e"], [14214, 0, "x"], [14215, 0, "t"], [14216, 0, "s"], [14217, 0, "f"], [14218, 0, "{"], [14219, 0, "m"], [14220, 0, "a"], [14221, 0, "p"], [14222, 0, "T"], [14223, 0, "}"], [14224, 0, ","], [14225, 0, " "], [14226, 0, "a"], [14227, 0, "n"], [14228, 0, "d"], [14229, 0, " "], [14230, 0, "t"], [14231, 0, "h"], [14232, 0, "i"], [14233, 0, "s"], [14234, 0, " "], [14235, 0, "a"], [14236, 0, "s"], [14237, 0, "s"], [14238, 0, "e"], [14239, 0, "r"], [14240, 0, "t"], [14241, 0, "i"], [14242, 0, "o"], [14243, 0, "n"], [14244, 0, " "], [14245, 0, "i"], [14246, 0, "s"], [14247, 0, " "], [14248, 0, "e"], [14249, 0, "n"], [14250, 0, "c"], [14251, 0, "o"], [14252, 0, "d"], [14253, 0, "e"], [14254, 0, "d"], [14255, 0, " "], [14256, 0, "i"], [14257, 0, "n"], [14258, 0, " "], [14259, 0, "t"], [14260, 0, "h"], [14261, 0, "e"], [14262, 0, " "], [14263, 0, "c"], [14264, 0, "u"], [14265, 0, "r"], [14266, 0, "s"], [14267, 0, "o"], [14268, 0, "r"], [14269, 0, "."], [14780, 0, "\n"], [14781, 0, "\n"], [14782, 0, "F"], [14783, 0, "i"], [14784, 0, "n"], [14785, 0, "a"], [14786, 0, "l"], [14787, 0, "l"], [14788, 0, "y"], [14789, 0, ","], [14790, 0, " "], [14791, 0, "t"], [14792, 0, "h"], [14793, 0, "e"], [14794, 0, " "], [14795, 0, "$"], [14796, 0, "\\"], [14797, 0, "t"], [14798, 0, "e"], [14799, 0, "x"], [14800, 0, "t"], [14801, 0, "s"], [14802, 0, "c"], [14803, 0, "{"], [14804, 0, "V"], [14805, 0, "a"], [14806, 0, "l"], [14807, 0, "}"], [14808, 0, "_"], [14809, 0, "{"], [14810, 0, "1"], [14811, 0, ","], [14812, 0, "2"], [14813, 0, ","], [14814, 0, "3"], [14815, 0, "}"], [14816, 0, "$"], [14817, 0, " "], [14818, 0, "r"], [14819, 0, "u"], [14820, 0, "l"], [14821, 0, "e"], [14822, 0, "s"], [14823, 0, " "], [14824, 0, "d"], [14824, 1], [14824, 0, "a"], [14825, 0, "l"], [14826, 0, "l"], [14827, 0, "o"], [14828, 0, "w"], [14829, 0, " "], [14830, 0, "a"], [14831, 0, " "], [14832, 0, "p"], [14833, 0, "r"], [14834, 0, "o"], [14835, 0, "g"], [14836, 0, "r"], [14837, 0, "a"], [14838, 0, "m"], [14839, 0, " "], [14840, 0, "t"], [14841, 0, "o"], [14842, 0, " "], [14843, 0, "r"], [14844, 0, "e"], [14845, 0, "a"], [14846, 0, "d"], [14847, 0, " "], [14848, 0, "t"], [14849, 0, "h"], [14850, 0, "e"], [14851, 0, " "], [14852, 0, "v"], [14853, 0, "a"], [14854, 0, "l"], [14855, 0, "u"], [14856, 0, "e"], [14857, 0, " "], [14857, 1], [14856, 1], [14855, 1], [14854, 1], [14853, 1], [14852, 1], [14852, 0, "c"], [14853, 0, "o"], [14854, 0, "n"], [14855, 0, "t"], [14856, 0, "e"], [14857, 0, "n"], [14858, 0, "t"], [14859, 0, "s"], [14860, 0, " "], [14861, 0, "o"], [14862, 0, "f"], [14863, 0, " "], [14864, 0, "t"], [14865, 0, "h"], [14866, 0, "e"], [14867, 0, " "], [14868, 0, "d"], [14869, 0, "o"], [14870, 0, "c"], [14871, 0, "u"], [14872, 0, "m"], [14873, 0, "e"], [14874, 0, "n"], [14875, 0, "t"], [14876, 0, " "], [14877, 0, "a"], [14878, 0, "t"], [14879, 0, " "], [14880, 0, "a"], [14881, 0, " "], [14882, 0, "p"], [14883, 0, "a"], [14884, 0, "r"], [14885, 0, "t"], [14886, 0, "i"], [14887, 0, "c"], [14888, 0, "u"], [14889, 0, "l"], [14890, 0, "a"], [14891, 0, "r"], [14892, 0, " "], [14893, 0, "c"], [14894, 0, "u"], [14895, 0, "r"], [14896, 0, "s"], [14897, 0, "o"], [14898, 0, "r"], [14899, 0, " "], [14900, 0, "p"], [14901, 0, "o"], [14902, 0, "s"], [14903, 0, "i"], [14904, 0, "t"], [14905, 0, "i"], [14906, 0, "o"], [14907, 0, "n"], [14908, 0, "."], [14909, 0, " "], [14910, 0, "T"], [14911, 0, "h"], [14912, 0, "e"], [14913, 0, " "], [14914, 0, "l"], [14915, 0, "e"], [14916, 0, "a"], [14917, 0, "v"], [14918, 0, "e"], [14919, 0, "s"], [14920, 0, " "], [14921, 0, "o"], [14922, 0, "f"], [14923, 0, " "], [14924, 0, "t"], [14925, 0, "h"], [14926, 0, "e"], [14927, 0, " "], [14928, 0, "d"], [14929, 0, "o"], [14930, 0, "c"], [14931, 0, "u"], [14932, 0, "m"], [14933, 0, "e"], [14934, 0, "n"], [14935, 0, "t"], [14936, 0, " "], [14937, 0, "t"], [14938, 0, "r"], [14939, 0, "e"], [14940, 0, "e"], [14941, 0, " "], [14942, 0, "a"], [14943, 0, "r"], [14944, 0, "e"], [14945, 0, " "], [14946, 0, "a"], [14947, 0, "l"], [14948, 0, "w"], [14949, 0, "a"], [14950, 0, "y"], [14951, 0, "s"], [14952, 0, " "], [14953, 0, "\\"], [14954, 0, "e"], [14955, 0, "m"], [14956, 0, "p"], [14957, 0, "h"], [14958, 0, "{"], [14959, 0, "r"], [14960, 0, "e"], [14961, 0, "g"], [14962, 0, "i"], [14963, 0, "s"], [14964, 0, "t"], [14965, 0, "e"], [14966, 0, "r"], [14967, 0, "s"], [14968, 0, "}"], [14969, 0, " "], [14970, 0, "e"], [14971, 0, "x"], [14972, 0, "p"], [14969, 0, ","], [14974, 0, "p"], [14975, 0, "r"], [14976, 0, "e"], [14977, 0, "s"], [14978, 0, "s"], [14974, 1], [14978, 0, "e"], [14979, 0, "d"], [14980, 0, " "], [14981, 0, "u"], [14982, 0, "s"], [14983, 0, "i"], [14984, 0, "n"], [14985, 0, "g"], [14986, 0, " "], [14987, 0, "t"], [14988, 0, "h"], [14989, 0, "e"], [14990, 0, " "], [14991, 0, "$"], [14992, 0, "\\"], [14992, 1], [14991, 1], [14991, 0, "\\"], [14992, 0, "t"], [14993, 0, "e"], [14994, 0, "x"], [14995, 0, "t"], [14996, 0, "s"], [14997, 0, "f"], [14998, 0, "{"], [14999, 0, "r"], [15000, 0, "e"], [15001, 0, "g"], [15002, 0, "T"], [15003, 0, "}"], [15004, 0, " "], [15005, 0, "t"], [15006, 0, "y"], [15007, 0, "p"], [15008, 0, "e"], [15009, 0, " "], [15010, 0, "a"], [15011, 0, "n"], [15012, 0, "n"], [15013, 0, "o"], [15014, 0, "t"], [15015, 0, "a"], [15016, 0, "t"], [15017, 0, "i"], [15018, 0, "o"], [15019, 0, "n"], [15020, 0, " "], [15021, 0, "i"], [15022, 0, "n"], [15023, 0, " "], [15024, 0, "t"], [15025, 0, "h"], [15026, 0, "e"], [15027, 0, " "], [15028, 0, "l"], [15029, 0, "o"], [15030, 0, "c"], [15031, 0, "a"], [15032, 0, "l"], [15033, 0, " "], [15034, 0, "s"], [15035, 0, "t"], [15036, 0, "a"], [15037, 0, "t"], [15038, 0, "e"], [15039, 0, "."], [15040, 0, " "], [15041, 0, "A"], [15042, 0, " "], [15043, 0, "r"], [15044, 0, "e"], [15045, 0, "g"], [15046, 0, "u"], [15046, 1], [15046, 0, "i"], [15047, 0, "s"], [15048, 0, "t"], [15049, 0, "e"], [15050, 0, "r"], [15051, 0, " "], [15052, 0, "m"], [15053, 0, "a"], [15054, 0, "y"], [15055, 0, " "], [15056, 0, "h"], [15057, 0, "a"], [15058, 0, "v"], [15059, 0, "e"], [15060, 0, " "], [15061, 0, "m"], [15062, 0, "u"], [15062, 1], [15061, 1], [15060, 1], [15059, 1], [15058, 1], [15057, 1], [15056, 1], [15055, 1], [15054, 1], [15053, 1], [15052, 1], [15051, 1], [15050, 1], [15049, 1], [15048, 1], [15047, 1], [15046, 1], [15045, 1], [15044, 1], [15043, 1], [15042, 1], [15042, 0, "l"], [15043, 0, "t"], [15044, 0, "h"], [15045, 0, "o"], [15046, 0, "u"], [15047, 0, "g"], [15048, 0, "h"], [15049, 0, " "], [15050, 0, "a"], [15051, 0, " "], [15052, 0, "s"], [15053, 0, "i"], [15054, 0, "n"], [15055, 0, "g"], [15056, 0, "l"], [15056, 1], [15056, 0, "l"], [15057, 0, "e"], [15058, 0, " "], [15059, 0, "p"], [15060, 0, "e"], [15061, 0, "e"], [15062, 0, "r"], [15063, 0, " "], [15064, 0, "c"], [15065, 0, "a"], [15066, 0, "n"], [15067, 0, " "], [15068, 0, "o"], [15069, 0, "n"], [15070, 0, "l"], [15071, 0, "y"], [15072, 0, " "], [15073, 0, "a"], [15058, 1], [15057, 1], [15056, 1], [15055, 1], [15054, 1], [15053, 1], [15052, 1], [15067, 0, "s"], [15068, 0, "s"], [15069, 0, "i"], [15070, 0, "g"], [15071, 0, "n"], [15072, 0, " "], [15073, 0, "a"], [15074, 0, " "], [15075, 0, "s"], [15076, 0, "i"], [15077, 0, "n"], [15078, 0, "g"], [15079, 0, "l"], [15080, 0, "e"], [15081, 0, " "], [15082, 0, "v"], [15083, 0, "a"], [15084, 0, "l"], [15085, 0, "u"], [15086, 0, "e"], [15087, 0, " "], [15088, 0, "t"], [15089, 0, "o"], [15090, 0, " "], [15091, 0, "a"], [15092, 0, " "], [15093, 0, "r"], [15094, 0, "e"], [15095, 0, "g"], [15096, 0, "i"], [15097, 0, "s"], [15098, 0, "t"], [15099, 0, "e"], [15100, 0, "r"], [15101, 0, ","], [15102, 0, " "], [15103, 0, "a"], [15104, 0, " "], [15105, 0, "r"], [15106, 0, "e"], [15107, 0, "g"], [15108, 0, "i"], [15109, 0, "s"], [15110, 0, "t"], [15111, 0, "e"], [15112, 0, "r"], [15113, 0, " "], [15114, 0, "c"], [15115, 0, "a"], [15116, 0, "n"], [15117, 0, " "], [15118, 0, "n"], [15119, 0, "e"], [15120, 0, "v"], [15121, 0, "e"], [15122, 0, "r"], [15123, 0, "t"], [15124, 0, "h"], [15125, 0, "e"], [15126, 0, "l"], [15127, 0, "e"], [15128, 0, "s"], [15129, 0, "s"], [15130, 0, " "], [15131, 0, "c"], [15132, 0, "o"], [15133, 0, "n"], [15134, 0, "t"], [15135, 0, "a"], [15136, 0, "i"], [15137, 0, "n"], [15138, 0, " "], [15139, 0, "m"], [15140, 0, "u"], [15141, 0, "l"], [15142, 0, "t"], [15143, 0, "i"], [15144, 0, "p"], [15145, 0, "l"], [15146, 0, "e"], [15147, 0, " "], [15148, 0, "v"], [15149, 0, "a"], [15150, 0, "l"], [15151, 0, "u"], [15152, 0, "e"], [15153, 0, "s"], [15154, 0, " "], [15155, 0, "i"], [15156, 0, "f"], [15157, 0, " "], [15158, 0, "m"], [15159, 0, "u"], [15160, 0, "l"], [15161, 0, "t"], [15162, 0, "i"], [15163, 0, "l"], [15163, 1], [15163, 0, "p"], [15164, 0, "l"], [15165, 0, "e"], [15166, 0, " "], [15167, 0, "p"], [15168, 0, "e"], [15169, 0, "e"], [15170, 0, "r"], [15171, 0, "s"], [15172, 0, " "], [15173, 0, "c"], [15174, 0, "o"], [15175, 0, "n"], [15176, 0, "c"], [15177, 0, "u"], [15178, 0, "r"], [15179, 0, "r"], [15180, 0, "e"], [15181, 0, "n"], [15182, 0, "t"], [15183, 0, "l"], [15184, 0, "y"], [15185, 0, " "], [15186, 0, "a"], [15187, 0, "s"], [15188, 0, "s"], [15189, 0, "i"], [15190, 0, "g"], [15191, 0, "n"], [15192, 0, " "], [15193, 0, "v"], [15194, 0, "a"], [15195, 0, "l"], [15196, 0, "u"], [15197, 0, "e"], [15198, 0, "s"], [15199, 0, " "], [15200, 0, "t"], [15201, 0, "o"], [15202, 0, " "], [15203, 0, "i"], [15204, 0, "t"], [15205, 0, ","], [15206, 0, " "], [15207, 0, "a"], [15208, 0, "n"], [15209, 0, " "], [15210, 0, "i"], [15211, 0, "s"], [15212, 0, "s"], [15213, 0, "u"], [15214, 0, "e"], [15215, 0, " "], [15216, 0, "w"], [15217, 0, "e"], [15218, 0, " "], [15219, 0, "w"], [15220, 0, "i"], [15221, 0, "l"], [15222, 0, "l"], [15223, 0, " "], [15224, 0, "e"], [15225, 0, "x"], [15226, 0, "p"], [15227, 0, "o"], [15227, 1], [15227, 0, "l"], [15228, 0, ";"], [15229, 0, "o"], [15229, 1], [15228, 1], [15228, 0, "o"], [15229, 0, "r"], [15230, 0, "e"], [15231, 0, " "], [15232, 0, "i"], [15233, 0, "n"], [15234, 0, " "], [15235, 0, "g"], [15236, 0, "r"], [15237, 0, "e"], [15238, 0, "a"], [15239, 0, "t"], [15240, 0, "e"], [15241, 0, "r"], [15242, 0, " "], [15243, 0, "d"], [15244, 0, "e"], [15245, 0, "p"], [15246, 0, "t"], [15247, 0, "h"], [15248, 0, " "], [15249, 0, "l"], [15250, 0, "a"], [15251, 0, "t"], [15252, 0, "e"], [15253, 0, "r"], [15254, 0, "."], [14908, 0, ","], [14909, 0, " "], [14910, 0, "u"], [14911, 0, "s"], [14912, 0, "i"], [14913, 0, "n"], [14914, 0, "g"], [14915, 0, " "], [14916, 0, "a"], [14917, 0, " "], [14918, 0, "s"], [14919, 0, "i"], [14920, 0, "m"], [14921, 0, "i"], [14922, 0, "l"], [14923, 0, "a"], [14924, 0, "r"], [14925, 0, " "], [14926, 0, "r"], [14927, 0, "e"], [14928, 0, "c"], [14929, 0, "u"], [14930, 0, "r"], [14931, 0, "s"], [14932, 0, "i"], [14933, 0, "v"], [14934, 0, "e"], [14935, 0, " "], [14936, 0, "r"], [14937, 0, "u"], [14938, 0, "l"], [14939, 0, "e"], [14940, 0, " "], [14941, 0, "s"], [14942, 0, "t"], [14943, 0, "r"], [14944, 0, "u"], [14945, 0, "c"], [14946, 0, "t"], [14947, 0, "u"], [14948, 0, "r"], [14949, 0, "e"], [14950, 0, " "], [14951, 0, "a"], [14952, 0, "s"], [14953, 0, " "], [14954, 0, "t"], [14955, 0, "h"], [14956, 0, "e"], [14957, 0, " "], [14958, 0, "\\"], [14959, 0, "t"], [14960, 0, "e"], [14961, 0, "x"], [14962, 0, "t"], [14963, 0, "s"], [14964, 0, "c"], [14965, 0, "{"], [14966, 0, "N"], [14967, 0, "e"], [14968, 0, "x"], [14969, 0, "t"], [14970, 0, "}"], [14971, 0, " "], [14972, 0, "r"], [14973, 0, "u"], [14974, 0, "l"], [14975, 0, "e"], [14976, 0, "s"], [15324, 0, "\n"], [15325, 0, "\n"], [15326, 0, "\\"], [15327, 0, "s"], [15328, 0, "u"], [15329, 0, "b"], [15330, 0, "s"], [15331, 0, "u"], [15332, 0, "b"], [15333, 0, "s"], [15334, 0, "e"], [15335, 0, "c"], [15336, 0, "t"], [15337, 0, "i"], [15338, 0, "o"], [15339, 0, "n"], [15340, 0, "{"], [15341, 0, "O"], [15342, 0, "p"], [15343, 0, "e"], [15344, 0, "r"], [15345, 0, "a"], [15346, 0, "t"], [15347, 0, "i"], [15348, 0, "o"], [15349, 0, "n"], [15350, 0, "a"], [15351, 0, "l"], [15352, 0, " "], [15352, 1], [15351, 1], [15350, 1], [15349, 1], [15348, 1], [15347, 1], [15346, 1], [15345, 1], [15344, 1], [15343, 1], [15342, 1], [15341, 1], [15341, 0, "S"], [15342, 0, "e"], [15343, 0, "m"], [15344, 0, "a"], [15345, 0, "n"], [15346, 0, "t"], [15347, 0, "i"], [15348, 0, "c"], [15349, 0, "s"], [15350, 0, " "], [15351, 0, "o"], [15352, 0, "f"], [15353, 0, " "], [15354, 0, "l"], [15355, 0, "o"], [15356, 0, "c"], [15357, 0, "a"], [15358, 0, "l"], [15359, 0, " "], [15360, 0, "m"], [15361, 0, "u"], [15362, 0, "t"], [15363, 0, "a"], [15364, 0, "t"], [15365, 0, "i"], [15366, 0, "o"], [15367, 0, "n"], [15368, 0, "s"], [15369, 0, "}"], [5974, 1], [5973, 1], [5972, 1], [5971, 1], [5970, 1], [5969, 1], [5968, 1], [5967, 1], [5966, 1], [5965, 1], [5964, 1], [5963, 1], [5962, 1], [5961, 1], [5960, 1], [5959, 1], [5959, 0, "e"], [5960, 0, "x"], [5961, 0, "p"], [5962, 0, "r"], [5963, 0, "e"], [5964, 0, "s"], [5965, 0, "s"], [5966, 0, "i"], [5967, 0, "o"], [5968, 0, "n"], [5969, 0, " "], [5970, 0, "e"], [5971, 0, "v"], [5972, 0, "a"], [5973, 0, "l"], [5974, 0, "u"], [5975, 0, "a"], [5976, 0, "t"], [5977, 0, "i"], [5978, 0, "o"], [5979, 0, "n"], [5946, 1], [5945, 1], [5944, 1], [5943, 1], [5942, 1], [5941, 1], [5940, 1], [5939, 1], [5938, 1], [5937, 1], [5936, 1], [5935, 1], [5934, 1], [5934, 0, "S"], [2937, 0, "\n"], [2938, 0, "\n"], [2939, 0, "e"], [2940, 0, "g"], [2941, 0, "g"], [2942, 0, "s"], [2943, 0, "."], [2944, 0, "v"], [2945, 0, "a"], [2946, 0, "l"], [2947, 0, "u"], [2948, 0, "e"], [2949, 0, "s"], [2950, 0, " "], [2951, 0, "/"], [2952, 0, "/"], [2953, 0, " "], [2954, 0, "e"], [2955, 0, "v"], [2956, 0, "a"], [2957, 0, "l"], [2958, 0, "u"], [2959, 0, "a"], [2960, 0, "t"], [2961, 0, "e"], [2962, 0, "s"], [2963, 0, " "], [2964, 0, "t"], [2965, 0, "o"], [2966, 0, " "], [2967, 0, "{"], [2968, 0, "\""], [2969, 0, "e"], [2970, 0, "g"], [2971, 0, "g"], [2972, 0, "s"], [2973, 0, "\""], [2974, 0, "}"], [2975, 0, "\n"], [2976, 0, "e"], [2977, 0, "g"], [2978, 0, "g"], [2979, 0, "s"], [2980, 0, "."], [2981, 0, "n"], [2982, 0, "e"], [2983, 0, "x"], [2984, 0, "t"], [2985, 0, "."], [2986, 0, "v"], [2987, 0, "a"], [2988, 0, "l"], [2989, 0, "u"], [2990, 0, "e"], [2991, 0, "s"], [2992, 0, " "], [2993, 0, "/"], [2994, 0, "/"], [2995, 0, " "], [2996, 0, "e"], [2997, 0, "v"], [2998, 0, "a"], [2999, 0, "l"], [3000, 0, "u"], [3001, 0, "a"], [3002, 0, "t"], [3003, 0, "e"], [3004, 0, "s"], [3005, 0, " "], [3006, 0, "t"], [3007, 0, "o"], [3008, 0, " "], [3009, 0, "{"], [3010, 0, "\""], [3011, 0, "m"], [3012, 0, "i"], [3013, 0, "l"], [3014, 0, "k"], [3015, 0, "}"], [3015, 1], [3015, 0, "\""], [3016, 0, "}"], [6883, 0, "f"], [6884, 0, "f"], [6885, 0, "f"], [6886, 0, "f"], [6887, 0, "f"], [6887, 1], [6886, 1], [6885, 1], [6884, 1], [6883, 1], [6912, 1], [6911, 1], [6910, 1], [6909, 1], [6908, 1], [6907, 1], [6906, 1], [6905, 1], [6914, 0, " "], [6915, 0, "r"], [6916, 0, "e"], [6917, 0, "s"], [6918, 0, "u"], [6919, 0, "l"], [6920, 0, "t"], [6921, 0, "i"], [6922, 0, "n"], [6923, 0, "g"], [6929, 0, " "], [6930, 0, "t"], [6931, 0, "h"], [6932, 0, "e"], [6933, 0, " "], [6934, 0, "e"], [6935, 0, "x"], [6936, 0, "e"], [6937, 0, "c"], [6938, 0, "u"], [6939, 0, "t"], [6940, 0, "i"], [6941, 0, "o"], [6942, 0, "n"], [6943, 0, " "], [6944, 0, "o"], [6945, 0, "f"], [6946, 0, " "], [6947, 0, "t"], [6948, 0, "h"], [6949, 0, "e"], [6950, 0, " "], [6951, 0, "c"], [6952, 0, "o"], [6953, 0, "m"], [6954, 0, "m"], [6955, 0, "a"], [6956, 0, "n"], [6957, 0, "d"], [6958, 0, "s"], [6959, 0, " "], [6960, 0, "i"], [6961, 0, "n"], [6340, 1], [6339, 1], [6338, 1], [6337, 1], [6336, 1], [6335, 1], [6334, 1], [6333, 1], [6332, 1], [6331, 1], [6330, 1], [6329, 1], [6328, 1], [6327, 1], [6326, 1], [6325, 1], [6324, 1], [6323, 1], [6322, 1], [6321, 1], [6320, 1], [6319, 1], [6318, 1], [6317, 1], [6316, 1], [6331, 1], [6330, 1], [6329, 1], [6329, 0, " "], [6330, 0, "\\"], [6331, 0, "m"], [6332, 0, "a"], [6333, 0, "p"], [6334, 0, "s"], [6335, 0, "t"], [6336, 0, "o"], [6338, 1], [6338, 1], [6338, 1], [6338, 1], [6338, 1], [6338, 1], [6338, 1], [6338, 1], [6338, 1], [6338, 1], [6338, 1], [6338, 1], [6338, 1], [6338, 1], [6308, 1], [6308, 1], [6308, 1], [6307, 1], [6462, 1], [6462, 1], [6462, 1], [6462, 1], [6467, 1], [6467, 1], [6467, 1], [6467, 1], [6467, 1], [6467, 1], [6467, 1], [6467, 1], [6467, 1], [6467, 1], [6467, 1], [6467, 1], [6467, 1], [6467, 1], [6467, 1], [6467, 1], [6467, 1], [6467, 1], [6467, 1], [6467, 1], [6467, 1], [6467, 1], [6467, 1], [6467, 1], [6467, 1], [6480, 1], [6480, 1], [6480, 1], [6480, 1], [6480, 1], [6480, 1], [6480, 1], [6480, 1], [6480, 1], [6480, 1], [6480, 1], [6480, 1], [6480, 1], [6480, 1], [6480, 1], [6480, 1], [6480, 1], [6480, 0, " "], [6481, 0, "\\"], [6482, 0, "m"], [6483, 0, "a"], [6484, 0, "p"], [6485, 0, "s"], [6486, 0, "t"], [6487, 0, "o"], [6615, 1], [6615, 1], [6615, 1], [6615, 1], [6620, 1], [6620, 1], [6620, 1], [6620, 1], [6620, 1], [6620, 1], [6620, 1], [6620, 1], [6620, 1], [6620, 1], [6620, 1], [6620, 1], [6620, 1], [6620, 1], [6620, 1], [6620, 1], [6620, 1], [6620, 1], [6620, 1], [6620, 1], [6620, 1], [6620, 1], [6620, 1], [6620, 1], [6620, 1], [6633, 1], [6633, 1], [6633, 1], [6633, 1], [6633, 1], [6633, 1], [6633, 1], [6633, 1], [6633, 1], [6633, 1], [6633, 1], [6633, 1], [6633, 1], [6633, 1], [6633, 1], [6633, 1], [6633, 1], [6633, 0, " "], [6634, 0, "\\"], [6635, 0, "m"], [6636, 0, "a"], [6637, 0, "p"], [6638, 0, "s"], [6639, 0, "t"], [6640, 0, "o"], [6814, 1], [6813, 1], [6812, 1], [6811, 1], [6810, 1], [6809, 1], [6808, 1], [6807, 1], [6806, 1], [6805, 1], [6804, 1], [6803, 1], [6802, 1], [6801, 1], [6800, 1], [6799, 1], [6798, 1], [6797, 1], [6796, 1], [6795, 1], [6794, 1], [6793, 1], [6792, 1], [6791, 1], [6790, 1], [6789, 1], [6788, 1], [6787, 1], [6786, 1], [6785, 1], [6784, 1], [6783, 1], [6782, 1], [6781, 1], [6780, 1], [6779, 1], [6778, 1], [6777, 1], [6776, 1], [6775, 1], [6774, 1], [6773, 1], [6772, 1], [6771, 1], [6770, 1], [6770, 0, "s"], [6771, 0, "t"], [6772, 0, "a"], [6773, 0, "t"], [6774, 0, "e"], [6775, 0, " "], [6776, 0, "$"], [6777, 0, "A"], [6778, 0, "_"], [6779, 0, "p"], [6780, 0, "$"], [6781, 0, " "], [6782, 0, "o"], [6783, 0, "f"], [6784, 0, " "], [6785, 0, "p"], [6786, 0, "e"], [6787, 0, "e"], [6788, 0, "r"], [6789, 0, " "], [6790, 0, "$"], [6791, 0, "p"], [6792, 0, "$"], [6793, 0, " "], [6794, 0, "a"], [6795, 0, "f"], [6796, 0, "t"], [6797, 0, "e"], [6798, 0, "r"], [6736, 0, " "], [6737, 0, "\\"], [6738, 0, "\\"], [6739, 0, "\n"], [6740, 0, "\\"], [6741, 0, "m"], [6742, 0, "a"], [6743, 0, "t"], [6744, 0, "h"], [6745, 0, "s"], [6746, 0, "f"], [6747, 0, "{"], [6748, 0, "l"], [6749, 0, "i"], [6750, 0, "s"], [6751, 0, "t"], [6752, 0, "}"], [6753, 0, " "], [6754, 0, " "], [6754, 1], [6740, 0, "&"], [6741, 0, "&"], [6742, 0, " "], [6757, 0, "&"], [6758, 0, " "], [6759, 0, "\\"], [6760, 0, "m"], [6761, 0, "a"], [6762, 0, "p"], [6763, 0, "s"], [6764, 0, "t"], [6765, 0, "o"], [6766, 0, " "], [6767, 0, "\\"], [6768, 0, "m"], [6769, 0, "a"], [6770, 0, "t"], [6771, 0, "h"], [6772, 0, "s"], [6773, 0, "f"], [6774, 0, "{"], [6775, 0, "c"], [6776, 0, "u"], [6777, 0, "r"], [6778, 0, "s"], [6779, 0, "o"], [6780, 0, "r"], [6781, 0, "}"], [6782, 0, "("], [6783, 0, "\\"], [6784, 0, "l"], [6785, 0, "a"], [6786, 0, "n"], [6787, 0, "g"], [6788, 0, "l"], [6789, 0, "e"], [6790, 0, " "], [6791, 0, "\\"], [6792, 0, "m"], [6793, 0, "a"], [6794, 0, "t"], [6795, 0, "h"], [6796, 0, "s"], [6797, 0, "f"], [6798, 0, "{"], [6799, 0, "m"], [6800, 0, "a"], [6801, 0, "p"], [6802, 0, "T"], [6803, 0, "}"], [6804, 0, "("], [6805, 0, "\\"], [6806, 0, "m"], [6807, 0, "a"], [6808, 0, "t"], [6809, 0, "h"], [6810, 0, "s"], [6811, 0, "f"], [6812, 0, "{"], [6813, 0, "d"], [6814, 0, "o"], [6815, 0, "c"], [6816, 0, "}"], [6817, 0, ")"], [6818, 0, ","], [6819, 0, " "], [6820, 0, "\\"], [6821, 0, "m"], [6822, 0, "a"], [6823, 0, "t"], [6824, 0, "h"], [6825, 0, "s"], [6826, 0, "f"], [6827, 0, "{"], [6828, 0, "l"], [6829, 0, "i"], [6830, 0, "s"], [6831, 0, "t"], [6832, 0, "T"], [6833, 0, "}"], [6834, 0, "("], [6835, 0, "\\"], [6836, 0, "t"], [6837, 0, "e"], [6838, 0, "x"], [6839, 0, "t"], [6840, 0, "{"], [6841, 0, "`"], [6842, 0, "`"], [6843, 0, "s"], [6844, 0, "h"], [6845, 0, "o"], [6846, 0, "p"], [6847, 0, "p"], [6848, 0, "i"], [6849, 0, "n"], [6850, 0, "g"], [6851, 0, "'"], [6852, 0, "'"], [6853, 0, "}"], [6854, 0, ")"], [6855, 0, "\\"], [6856, 0, "r"], [6857, 0, "a"], [6858, 0, "n"], [6859, 0, "g"], [6860, 0, "l"], [6861, 0, "e"], [6862, 0, ","], [6863, 0, "\\"], [6864, 0, ","], [6819, 0, "\n"], [6820, 0, " "], [6821, 0, " "], [6822, 0, " "], [6869, 0, " "], [6870, 0, "\\"], [6871, 0, "m"], [6872, 0, "a"], [6873, 0, "t"], [6874, 0, "h"], [6875, 0, "s"], [6876, 0, "f"], [6877, 0, "{"], [6878, 0, "h"], [6879, 0, "e"], [6880, 0, "a"], [6881, 0, "d"], [6882, 0, "}"], [6883, 0, ")"], [6884, 0, ","], [6885, 0, " "], [6886, 0, "\\"], [6887, 0, "\\"], [6888, 0, "\n"], [6889, 0, "&"], [6890, 0, "&"], [6891, 0, " "], [6892, 0, "\\"], [6893, 0, "m"], [6894, 0, "a"], [6895, 0, "t"], [6896, 0, "h"], [6897, 0, "s"], [6898, 0, "f"], [6899, 0, "{"], [6900, 0, "e"], [6901, 0, "g"], [6902, 0, "g"], [6903, 0, "s"], [6904, 0, "}"], [6905, 0, " "], [6906, 0, "&"], [6907, 0, " "], [6908, 0, "\\"], [6909, 0, "m"], [6910, 0, "a"], [6911, 0, "p"], [6912, 0, "s"], [6913, 0, "t"], [6914, 0, "o"], [6915, 0, " "], [6916, 0, "\\"], [6917, 0, "m"], [6918, 0, "a"], [6919, 0, "t"], [6920, 0, "h"], [6921, 0, "s"], [6922, 0, "f"], [6923, 0, "{"], [6924, 0, "c"], [6925, 0, "u"], [6926, 0, "r"], [6927, 0, "s"], [6928, 0, "o"], [6929, 0, "r"], [6930, 0, "}"], [6931, 0, "("], [6932, 0, "\\"], [6933, 0, "l"], [6934, 0, "a"], [6935, 0, "n"], [6936, 0, "g"], [6937, 0, "l"], [6938, 0, "e"], [6939, 0, " "], [6940, 0, "\\"], [6941, 0, "m"], [6942, 0, "a"], [6943, 0, "t"], [6944, 0, "h"], [6945, 0, "s"], [6946, 0, "f"], [6947, 0, "{"], [6948, 0, "m"], [6949, 0, "a"], [6950, 0, "p"], [6951, 0, "T"], [6952, 0, "}"], [6953, 0, "("], [6954, 0, "\\"], [6955, 0, "m"], [6956, 0, "a"], [6957, 0, "t"], [6958, 0, "h"], [6959, 0, "s"], [6960, 0, "f"], [6961, 0, "{"], [6962, 0, "d"], [6963, 0, "o"], [6964, 0, "c"], [6965, 0, "}"], [6966, 0, ")"], [6967, 0, ","], [6968, 0, "\n"], [6969, 0, " "], [6970, 0, " "], [6971, 0, " "], [6972, 0, " "], [6973, 0, "\\"], [6974, 0, "m"], [6975, 0, "a"], [6976, 0, "t"], [6977, 0, "h"], [6978, 0, "s"], [6979, 0, "f"], [6980, 0, "{"], [6981, 0, "l"], [6982, 0, "i"], [6983, 0, "s"], [6984, 0, "t"], [6985, 0, "T"], [6986, 0, "}"], [6987, 0, "("], [6988, 0, "\\"], [6989, 0, "t"], [6990, 0, "e"], [6991, 0, "x"], [6992, 0, "t"], [6993, 0, "{"], [6994, 0, "`"], [6995, 0, "`"], [6996, 0, "s"], [6997, 0, "h"], [6998, 0, "o"], [6999, 0, "p"], [7000, 0, "p"], [7001, 0, "i"], [7002, 0, "n"], [7003, 0, "g"], [7004, 0, "'"], [7005, 0, "'"], [7006, 0, "}"], [7007, 0, ")"], [7008, 0, "\\"], [7009, 0, "r"], [7010, 0, "a"], [7011, 0, "n"], [7012, 0, "g"], [7013, 0, "l"], [7014, 0, "e"], [7015, 0, ","], [7016, 0, "\\"], [7017, 0, ","], [7018, 0, " "], [7019, 0, "\\"], [7020, 0, "m"], [7021, 0, "a"], [7022, 0, "t"], [7023, 0, "h"], [7024, 0, "i"], [7025, 0, "t"], [7026, 0, "{"], [7027, 0, "i"], [7028, 0, "d"], [7029, 0, "}"], [7030, 0, "_"], [7031, 0, "1"], [7032, 0, ")"], [7033, 0, " "], [7034, 0, "\\"], [7035, 0, "\\"], [7036, 0, "\n"], [7037, 0, "\\"], [7038, 0, "}"], [6726, 1], [6726, 1], [6726, 1], [6726, 1], [6732, 0, ","], [6105, 1], [6097, 0, "&"], [6098, 0, " "], [7035, 0, "&"], [7036, 0, " "], [6094, 1], [6094, 0, "3"], [6157, 0, "&"], [6157, 1], [6172, 0, "&"], [6173, 0, "&"], [6209, 0, "&"], [6210, 0, "&"], [6271, 0, "&"], [6272, 0, "&"], [6368, 0, "&"], [6369, 0, "&"], [6430, 0, "&"], [6431, 0, "&"], [6525, 0, "&"], [6526, 0, "&"], [6587, 0, "&"], [6588, 0, "&"], [6682, 0, "&"], [6683, 0, "&"], [6743, 0, "&"], [6744, 0, "&"], [6745, 0, " "], [6776, 0, "\\"], [6777, 0, "m"], [6778, 0, "u"], [6779, 0, "l"], [6780, 0, "t"], [6781, 0, "i"], [6782, 0, "c"], [6783, 0, "o"], [6784, 0, "l"], [6785, 0, "u"], [6786, 0, "m"], [6787, 0, "n"], [6788, 0, "{"], [6789, 0, "2"], [6790, 0, "}"], [6791, 0, "{"], [6792, 0, "l"], [6793, 0, "}"], [6794, 0, "{"], [6921, 0, "}"], [6970, 0, "b"], [6971, 0, "b"], [6972, 0, "b"], [6973, 0, "b"], [6974, 0, "b"], [6975, 0, "b"], [6976, 0, "b"], [6977, 0, "b"], [6970, 1], [6970, 1], [6970, 1], [6970, 1], [6970, 1], [6970, 1], [6970, 1], [6970, 1], [6945, 0, "\\"], [6946, 0, "m"], [6947, 0, "u"], [6948, 0, "l"], [6949, 0, "t"], [6950, 0, "i"], [6951, 0, "c"], [6952, 0, "o"], [6953, 0, "l"], [6954, 0, "u"], [6955, 0, "m"], [6956, 0, "n"], [6957, 0, "{"], [6958, 0, "2"], [6959, 0, "}"], [6960, 0, "{"], [6961, 0, "l"], [6962, 0, "}"], [6963, 0, "{"], [7089, 0, "}"], [7089, 1], [6963, 1], [6962, 1], [6961, 1], [6960, 1], [6959, 1], [6958, 1], [6957, 1], [6956, 1], [6955, 1], [6954, 1], [6953, 1], [6952, 1], [6951, 1], [6951, 0, "s"], [6952, 0, "p"], [6953, 0, "a"], [6954, 0, "n"], [6955, 0, "{"], [6956, 0, "2"], [6957, 0, "}"], [6958, 0, " "], [6794, 1], [6793, 1], [6792, 1], [6791, 1], [6790, 1], [6789, 1], [6788, 1], [6787, 1], [6786, 1], [6785, 1], [6784, 1], [6783, 1], [6782, 1], [6782, 0, "s"], [6783, 0, "p"], [6784, 0, "a"], [6785, 0, "n"], [6786, 0, "{"], [6787, 0, "2"], [6788, 0, "}"], [6789, 0, " "], [6916, 1], [6951, 1], [6950, 1], [6949, 1], [6948, 1], [6947, 1], [6946, 1], [6945, 1], [6944, 1], [6943, 1], [6942, 1], [6941, 1], [6940, 1], [6939, 1], [6938, 1], [6776, 1], [6776, 1], [6776, 1], [6776, 1], [6776, 1], [6776, 1], [6776, 1], [6776, 1], [6776, 1], [6776, 1], [6776, 1], [6776, 1], [6776, 1], [6776, 1], [6784, 0, "\\"], [6785, 0, "m"], [6786, 0, "u"], [6787, 0, "l"], [6788, 0, "t"], [6789, 0, "i"], [6790, 0, "c"], [6791, 0, "o"], [6792, 0, "l"], [6793, 0, "u"], [6794, 0, "m"], [6795, 0, "n"], [6796, 0, "{"], [6796, 1], [6795, 1], [6794, 1], [6793, 1], [6792, 1], [6791, 1], [6790, 1], [6789, 1], [6788, 1], [6787, 1], [6786, 1], [6785, 1], [6784, 1], [6776, 0, "\\"], [6777, 0, "m"], [6778, 0, "u"], [6779, 0, "l"], [6780, 0, "t"], [6781, 0, "i"], [6782, 0, "c"], [6783, 0, "o"], [6784, 0, "l"], [6785, 0, "u"], [6786, 0, "m"], [6787, 0, "n"], [6788, 0, "{"], [6789, 0, "2"], [6790, 0, "}"], [6791, 0, "{"], [6792, 0, "c"], [6793, 0, "}"], [6794, 0, "{"], [6855, 0, "%"], [6922, 0, "}"], [6922, 1], [6794, 1], [6793, 1], [6792, 1], [6791, 1], [6790, 1], [6789, 1], [6788, 1], [6787, 1], [6786, 1], [6785, 1], [6784, 1], [6783, 1], [6782, 1], [6781, 1], [6780, 1], [6779, 1], [6778, 1], [6777, 1], [6777, 0, "h"], [6778, 0, "d"], [6779, 0, "o"], [6780, 0, "t"], [6781, 0, "s"], [6782, 0, "f"], [6783, 0, "o"], [6784, 0, "r"], [6785, 0, "{"], [6786, 0, "1"], [6787, 0, "}"], [6788, 0, " "], [7072, 0, " "], [7073, 0, "\\"], [7074, 0, "m"], [7075, 0, "u"], [7076, 0, "l"], [7077, 0, "t"], [7078, 0, "i"], [7079, 0, "s"], [7080, 0, "p"], [7081, 0, "a"], [7082, 0, "n"], [7083, 0, "{"], [7084, 0, "3"], [7085, 0, "}"], [6776, 1], [6776, 1], [6776, 1], [6776, 1], [6776, 1], [6776, 1], [6776, 1], [6776, 1], [6776, 1], [6776, 1], [6776, 1], [6776, 1], [6776, 1], [6776, 0, "\\"], [6777, 0, "m"], [6778, 0, "u"], [6779, 0, "l"], [6780, 0, "t"], [6781, 0, "i"], [6782, 0, "a"], [6783, 0, "l"], [6784, 0, "i"], [6785, 0, "g"], [6786, 0, "n"], [6787, 0, "{"], [6788, 0, "3"], [6789, 0, "}"], [6790, 0, "{"], [6791, 0, "["], [6792, 0, "]"], [6793, 0, "["], [6793, 1], [6792, 1], [6791, 1], [6791, 0, "["], [6792, 0, "]"], [6793, 0, "["], [6793, 1], [6792, 1], [6791, 1], [6791, 0, "{"], [6792, 0, "}"], [6793, 0, "{"], [6794, 0, "="], [6794, 1], [6793, 1], [6793, 0, "="], [6921, 0, "}"], [6786, 1], [6785, 1], [6784, 1], [6783, 1], [6782, 1], [6782, 0, "s"], [6783, 0, "p"], [6784, 0, "a"], [6785, 0, "n"], [6789, 1], [6789, 1], [6789, 1], [6789, 1], [6789, 0, "\\"], [6790, 0, "m"], [6791, 0, "b"], [6792, 0, "o"], [6793, 0, "x"], [6794, 0, "{"], [6795, 0, "$"], [6923, 0, "$"], [6923, 1], [6793, 1], [6792, 1], [6791, 1], [6790, 1], [6789, 1], [6785, 1], [6784, 1], [6783, 1], [6782, 1], [6782, 0, "a"], [6783, 0, "l"], [6784, 0, "i"], [6785, 0, "g"], [6786, 0, "n"], [6791, 1], [6791, 0, "{"], [6792, 0, "}"], [6793, 0, "="], [6050, 0, "\n"], [6051, 0, "\\"], [6052, 0, "n"], [6053, 0, "e"], [6054, 0, "w"], [6055, 0, "c"], [6056, 0, "o"], [6057, 0, "m"], [6058, 0, "m"], [6059, 0, "a"], [6060, 0, "n"], [6061, 0, "d"], [6062, 0, "{"], [6063, 0, "\\"], [6064, 0, "m"], [6065, 0, "u"], [6066, 0, "l"], [6067, 0, "t"], [6068, 0, "i"], [6069, 0, "a"], [6070, 0, "l"], [6071, 0, "i"], [6072, 0, "g"], [6073, 0, "n"], [6074, 0, "}"], [6075, 0, "["], [6076, 0, "2"], [6077, 0, "]"], [6078, 0, "{"], [6079, 0, "%"], [6080, 0, "\n"], [6081, 0, " "], [6082, 0, " "], [6083, 0, "\\"], [6084, 0, "m"], [6085, 0, "u"], [6086, 0, "l"], [6087, 0, "t"], [6088, 0, "i"], [6089, 0, "s"], [6090, 0, "p"], [6091, 0, "a"], [6092, 0, "n"], [6093, 0, "{"], [6094, 0, "#"], [6095, 0, "1"], [6096, 0, "}"], [6097, 0, "\\"], [6098, 0, "m"], [6099, 0, "b"], [6100, 0, "o"], [6101, 0, "x"], [6102, 0, "{"], [6103, 0, "$"], [6104, 0, "\\"], [6105, 0, "d"], [6106, 0, "i"], [6107, 0, "s"], [6108, 0, "p"], [6109, 0, "l"], [6110, 0, "a"], [6111, 0, "y"], [6112, 0, "s"], [6113, 0, "t"], [6114, 0, "y"], [6115, 0, "l"], [6116, 0, "e"], [6117, 0, "#"], [6118, 0, "2"], [6119, 0, "$"], [6120, 0, "}"], [6121, 0, "%"], [6122, 0, "\n"], [6123, 0, "}"], [7165, 1], [7164, 1], [7163, 1], [7162, 1], [7161, 1], [7160, 1], [7159, 1], [7158, 1], [7157, 1], [7156, 1], [7155, 1], [7154, 1], [7153, 1], [7152, 1], [6867, 1], [7018, 0, "\\"], [7019, 0, "m"], [7020, 0, "u"], [7021, 0, "l"], [7022, 0, "t"], [7023, 0, "i"], [7024, 0, "a"], [7025, 0, "l"], [7026, 0, "i"], [7027, 0, "g"], [7028, 0, "n"], [7029, 0, "{"], [7030, 0, "3"], [7031, 0, "}"], [7032, 0, "{"], [7033, 0, "{"], [7034, 0, "}"], [7095, 0, "%"], [7161, 0, "}"], [7034, 1], [7033, 1], [7033, 0, "{"], [7034, 0, "}"], [7034, 1], [7033, 1], [6117, 0, "{"], [6118, 0, "}"], [6868, 1], [6867, 1], [6173, 1], [6173, 1], [6831, 1], [6996, 1], [7160, 1], [7160, 1], [7160, 0, "&"], [7161, 0, " "], [6173, 0, "&"], [6174, 0, " "], [6834, 0, "&"], [6999, 0, "&"], [6184, 0, "&"], [6219, 1], [6219, 1], [6818, 0, "&"], [6175, 0, "\\"], [6176, 0, "m"], [6177, 0, "u"], [6178, 0, "l"], [6179, 0, "t"], [6180, 0, "i"], [6181, 0, "a"], [6182, 0, "l"], [6183, 0, "i"], [6184, 0, "g"], [6185, 0, "n"], [6186, 0, "{"], [6187, 0, "3"], [6188, 0, "}"], [6189, 0, "{"], [6198, 1], [6198, 1], [6198, 1], [6196, 1], [6195, 1], [6290, 0, "}"], [6290, 0, " "], [6173, 0, "%"], [6173, 1], [6257, 1], [6257, 1], [6241, 0, "}"], [6242, 0, " "], [6243, 0, "&"], [6244, 0, "&"], [6293, 1], [6293, 1], [6245, 1], [6244, 1], [6243, 1], [6242, 1], [6242, 0, "\n"], [6243, 0, " "], [6244, 0, " "], [6245, 0, " "], [6246, 0, " "], [6294, 0, "}"], [6295, 0, " "], [6241, 1], [6187, 1], [6187, 0, "5"], [6174, 0, " "], [6175, 0, "_"], [6175, 1], [6175, 0, "A"], [6176, 0, "_"], [6177, 0, "p"], [6178, 0, " "], [6179, 0, "="], [6180, 0, " "], [6181, 0, "\\"], [6182, 0, "{"], [6183, 0, " "], [6184, 0, "\\"], [6185, 0, "\\"], [6186, 0, "\n"], [6249, 1], [6249, 0, "\n"], [6187, 1], [6187, 1], [6187, 1], [6187, 1], [6187, 1], [6187, 1], [6187, 1], [6187, 1], [6187, 1], [6187, 1], [6187, 1], [6187, 1], [6187, 1], [6187, 1], [6187, 1], [6187, 1], [6187, 1], [6187, 1], [6187, 1], [6187, 1], [6187, 1], [6187, 1], [6187, 1], [6187, 1], [6187, 1], [6187, 1], [6187, 0, "&"], [6188, 0, "&"], [6225, 0, " "], [6226, 0, "\\"], [6226, 1], [6226, 0, "&"], [6227, 0, " "], [6227, 1], [6226, 1], [6225, 1], [6218, 0, "&"], [6219, 0, " "], [6220, 0, "\\"], [6221, 0, "m"], [6222, 0, "u"], [6223, 0, "l"], [6224, 0, "t"], [6225, 0, "i"], [6226, 0, "a"], [6227, 0, "l"], [6228, 0, "i"], [6229, 0, "g"], [6230, 0, "n"], [6231, 0, "{"], [6232, 0, "3"], [6233, 0, "4"], [6233, 1], [6233, 0, "}"], [6234, 0, "{"], [6242, 1], [6242, 0, " "], [6247, 1], [6247, 1], [6247, 1], [6247, 1], [6175, 0, "\\"], [6176, 0, "m"], [6177, 0, "u"], [6178, 0, "l"], [6179, 0, "t"], [6180, 0, "i"], [6181, 0, "a"], [6182, 0, "l"], [6183, 0, "i"], [6184, 0, "g"], [6185, 0, "n"], [6186, 0, "{"], [6187, 0, "3"], [6188, 0, "}"], [6189, 0, "{"], [6198, 0, "}"], [6234, 1], [6233, 1], [6234, 1], [6234, 1], [6234, 1], [6234, 1], [6234, 1], [6234, 1], [6234, 1], [6234, 1], [6234, 1], [6234, 1], [6234, 1], [6234, 1], [6234, 1], [6234, 1], [6234, 1], [6204, 1], [6203, 1], [6202, 1], [6201, 1], [6200, 1], [6199, 1], [6198, 1], [6187, 1], [6187, 0, "5"], [6198, 0, "\\"], [6199, 0, ";"], [6241, 0, "\n"], [6242, 0, " "], [6243, 0, " "], [6244, 0, " "], [10319, 1], [10318, 1], [10317, 1], [10316, 1], [10315, 1], [10314, 1], [10313, 1], [10312, 1], [10311, 1], [10310, 1], [10309, 1], [10308, 1], [10307, 1], [10306, 1], [10305, 1], [10304, 1], [10303, 1], [10302, 1], [10301, 1], [10300, 1], [10299, 1], [10298, 1], [10297, 1], [10296, 1], [10295, 1], [10294, 1], [10293, 1], [10292, 1], [10291, 1], [10290, 1], [10289, 1], [10288, 1], [10287, 1], [10286, 1], [10285, 1], [10284, 1], [10283, 1], [10282, 1], [10281, 1], [10280, 1], [10279, 1], [10278, 1], [10277, 1], [10276, 1], [10275, 1], [10274, 1], [10273, 1], [10272, 1], [10271, 1], [10270, 1], [10270, 0, "m"], [10271, 0, "a"], [10272, 0, "t"], [10273, 0, "h"], [10274, 0, "r"], [10275, 0, "m"], [10276, 0, "{"], [10277, 0, "r"], [10278, 0, "a"], [10279, 0, "n"], [10280, 0, "}"], [10281, 0, "("], [10312, 0, ")"], [10313, 1], [10313, 1], [10313, 1], [10313, 1], [10313, 1], [10280, 0, "g"], [10281, 0, "e"], [3242, 0, " "], [3243, 0, "I"], [3244, 0, "t"], [3245, 0, " "], [3246, 0, "i"], [3247, 0, "s"], [3248, 0, " "], [3249, 0, "n"], [3250, 0, "o"], [3251, 0, "t"], [3252, 0, " "], [3253, 0, "a"], [3254, 0, " "], [3255, 0, "f"], [3256, 0, "u"], [3257, 0, "l"], [3258, 0, "l"], [3259, 0, " "], [3260, 0, "p"], [3261, 0, "r"], [3262, 0, "o"], [3263, 0, "g"], [3263, 1], [3262, 1], [3262, 0, "="], [3262, 1], [3261, 1], [3261, 0, "r"], [3262, 0, "o"], [3263, 0, "g"], [3264, 0, "r"], [3265, 0, "a"], [3266, 0, "m"], [3267, 0, "m"], [3268, 0, "i"], [3269, 0, "n"], [3270, 0, "g"], [3271, 0, " "], [3272, 0, "l"], [3273, 0, "a"], [3274, 0, "n"], [3275, 0, "g"], [3276, 0, "u"], [3277, 0, "a"], [3278, 0, "g"], [3279, 0, "e"], [3280, 0, ","], [3281, 0, " "], [3282, 0, "b"], [3283, 0, "u"], [3284, 0, "t"], [3285, 0, " "], [3286, 0, "r"], [3287, 0, "a"], [3288, 0, "t"], [3289, 0, "h"], [3290, 0, "e"], [3291, 0, "r"], [3292, 0, " "], [3293, 0, "a"], [3294, 0, "n"], [3295, 0, " "], [3296, 0, "A"], [3297, 0, "P"], [3298, 0, "I"], [3299, 0, " "], [3300, 0, "t"], [3301, 0, "h"], [3302, 0, "r"], [3303, 0, "o"], [3304, 0, "u"], [3305, 0, "g"], [3306, 0, "h"], [3307, 0, " "], [3308, 0, "w"], [3309, 0, "h"], [3310, 0, "i"], [3311, 0, "c"], [3312, 0, "h"], [3313, 0, " "], [3314, 0, "t"], [3315, 0, "h"], [3316, 0, "e"], [3317, 0, " "], [3318, 0, "d"], [3319, 0, "o"], [3320, 0, "c"], [3321, 0, "u"], [3322, 0, "m"], [3323, 0, "e"], [3324, 0, "n"], [3325, 0, "t"], [3326, 0, " "], [3327, 0, "s"], [3328, 0, "t"], [3329, 0, "a"], [3330, 0, "t"], [3331, 0, "e"], [3332, 0, " "], [3333, 0, "i"], [3334, 0, "s"], [3335, 0, " "], [3336, 0, "q"], [3337, 0, "u"], [3338, 0, "e"], [3339, 0, "r"], [3340, 0, "i"], [3341, 0, "e"], [3342, 0, "d"], [3343, 0, " "], [3344, 0, "a"], [3345, 0, "n"], [3346, 0, "d"], [3347, 0, " "], [3348, 0, "m"], [3349, 0, "o"], [3350, 0, "d"], [3351, 0, "i"], [3352, 0, "f"], [3353, 0, "i"], [3354, 0, "e"], [3355, 0, "d"], [3356, 0, "."], [3357, 0, " "], [3358, 0, "W"], [3359, 0, "e"], [3360, 0, " "], [3361, 0, "a"], [3362, 0, "s"], [3363, 0, "s"], [3364, 0, "u"], [3365, 0, "m"], [3366, 0, "e"], [3367, 0, " "], [3368, 0, "t"], [3369, 0, "h"], [3370, 0, "a"], [3371, 0, "t"], [3372, 0, " "], [3373, 0, "t"], [3374, 0, "h"], [3375, 0, "e"], [3376, 0, " "], [3377, 0, "u"], [3378, 0, "s"], [3379, 0, "e"], [3380, 0, "r"], [3381, 0, " "], [3382, 0, "p"], [3383, 0, "r"], [3384, 0, "o"], [3385, 0, "g"], [3386, 0, "r"], [3387, 0, "a"], [3388, 0, "m"], [3389, 0, " "], [3390, 0, "i"], [3391, 0, "s"], [3392, 0, "s"], [3393, 0, "u"], [3394, 0, "e"], [3395, 0, "s"], [3396, 0, " "], [3397, 0, "a"], [3397, 1], [3397, 0, "a"], [3398, 0, " "], [3399, 0, "("], [3400, 0, "p"], [3401, 0, "o"], [3402, 0, "s"], [3403, 0, "s"], [3404, 0, "i"], [3405, 0, "b"], [3406, 0, "l"], [3407, 0, "y"], [3408, 0, " "], [3409, 0, "i"], [3410, 0, "n"], [3411, 0, "f"], [3412, 0, "i"], [3413, 0, "n"], [3414, 0, "i"], [3415, 0, "t"], [3416, 0, "e"], [3417, 0, ")"], [3418, 0, " "], [3419, 0, "s"], [3420, 0, "e"], [3421, 0, "q"], [3422, 0, "u"], [3423, 0, "e"], [3424, 0, "n"], [3425, 0, "c"], [3426, 0, "e"], [3427, 0, " "], [3428, 0, "o"], [3429, 0, "f"], [3430, 0, " "], [3431, 0, "c"], [3432, 0, "o"], [3433, 0, "m"], [3434, 0, "m"], [3435, 0, "a"], [3436, 0, "n"], [3437, 0, "d"], [3438, 0, "s"], [3439, 0, ","], [3440, 0, " "], [3440, 1], [3439, 1], [3381, 1], [3380, 1], [3379, 1], [3378, 1], [3377, 1], [3384, 0, " "], [3385, 0, "a"], [3386, 0, "c"], [3387, 0, "c"], [3388, 0, "e"], [3389, 0, "p"], [3390, 0, "t"], [3391, 0, "s"], [3392, 0, " "], [3393, 0, "u"], [3394, 0, "s"], [3395, 0, "e"], [3396, 0, "r"], [3397, 0, " "], [3398, 0, "i"], [3399, 0, "n"], [3400, 0, "p"], [3401, 0, "u"], [3402, 0, "t"], [3403, 0, " "], [3404, 0, "a"], [3405, 0, "n"], [3406, 0, "d"], [3457, 0, " "], [3458, 0, "t"], [3459, 0, "o"], [3460, 0, " "], [3461, 0, "t"], [3462, 0, "h"], [3463, 0, "e"], [3464, 0, " "], [3465, 0, "A"], [3466, 0, "P"], [3467, 0, "I"], [3468, 0, "."], [3469, 0, " "], [3470, 0, "W"], [3471, 0, "e"], [3472, 0, " "], [3473, 0, "m"], [3474, 0, "o"], [3475, 0, "d"], [3476, 0, "e"], [3477, 0, "l"], [3478, 0, " "], [3479, 0, "o"], [3480, 0, "n"], [3481, 0, "l"], [3482, 0, "y"], [3483, 0, " "], [3484, 0, "t"], [3485, 0, "h"], [3486, 0, "e"], [3487, 0, " "], [3488, 0, "s"], [3489, 0, "e"], [3490, 0, "m"], [3491, 0, "a"], [3492, 0, "n"], [3493, 0, "t"], [3494, 0, "i"], [3495, 0, "c"], [3496, 0, "s"], [3497, 0, " "], [3498, 0, "o"], [3499, 0, "f"], [3500, 0, " "], [3501, 0, "t"], [3502, 0, "h"], [3503, 0, "o"], [3504, 0, "s"], [3505, 0, "e"], [3506, 0, " "], [3507, 0, "c"], [3508, 0, "o"], [3509, 0, "m"], [3510, 0, "m"], [3511, 0, "a"], [3512, 0, "n"], [3513, 0, "d"], [3514, 0, "s"], [3515, 0, ","], [3516, 0, " "], [3517, 0, "a"], [3518, 0, "n"], [3519, 0, "d"], [3520, 0, " "], [3521, 0, "a"], [3522, 0, "s"], [3523, 0, "s"], [3524, 0, "u"], [3525, 0, "m"], [3526, 0, "e"], [3527, 0, " "], [3528, 0, "t"], [3529, 0, "h"], [3530, 0, "a"], [3531, 0, "t"], [3532, 0, " "], [3521, 0, "d"], [3522, 0, "o"], [3523, 0, " "], [3524, 0, "n"], [3525, 0, "o"], [3526, 0, "t"], [3527, 0, " "], [3538, 1], [3537, 1], [3536, 1], [3535, 1], [3535, 0, "a"], [3536, 0, "n"], [3537, 0, "y"], [3538, 0, "t"], [3539, 0, "h"], [3540, 0, "i"], [3541, 0, "n"], [3542, 0, "g"], [3543, 0, " "], [3544, 0, "a"], [3545, 0, "b"], [3546, 0, "o"], [3547, 0, "u"], [3548, 0, "t"], [3549, 0, " "], [3550, 0, "t"], [3551, 0, "h"], [3552, 0, "e"], [3553, 0, " "], [3554, 0, "p"], [3555, 0, "r"], [3556, 0, "o"], [3557, 0, "g"], [3558, 0, "r"], [3559, 0, "a"], [3560, 0, "m"], [3561, 0, " "], [3562, 0, "i"], [3563, 0, "n"], [3564, 0, " "], [3565, 0, "w"], [3566, 0, "h"], [3567, 0, "i"], [3568, 0, "c"], [3569, 0, "h"], [3570, 0, " "], [3571, 0, "t"], [3572, 0, "h"], [3573, 0, "e"], [3574, 0, " "], [3575, 0, "c"], [3576, 0, "o"], [3577, 0, "m"], [3578, 0, "m"], [3579, 0, "a"], [3580, 0, "n"], [3581, 0, "d"], [3582, 0, " "], [3583, 0, "l"], [3584, 0, "a"], [3585, 0, "n"], [3586, 0, "g"], [3587, 0, "u"], [3588, 0, "a"], [3589, 0, "g"], [3590, 0, "e"], [3591, 0, " "], [3592, 0, "i"], [3593, 0, "s"], [3594, 0, " "], [3595, 0, "e"], [3596, 0, "m"], [3597, 0, "b"], [3598, 0, "e"], [3599, 0, "d"], [3600, 0, "d"], [3601, 0, "e"], [3602, 0, "d"], [3603, 0, "."], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [3604, 1], [1740, 0, "\n"], [1741, 0, "\n"], [1739, 1], [1741, 0, "\\"], [1742, 0, "s"], [1743, 0, "u"], [1744, 0, "b"], [1745, 0, "s"], [1746, 0, "e"], [1747, 0, "c"], [1748, 0, "t"], [1749, 0, "i"], [1750, 0, "o"], [1751, 0, "n"], [1752, 0, "{"], [1753, 0, "D"], [1754, 0, "a"], [1755, 0, "t"], [1756, 0, "a"], [1757, 0, " "], [1758, 0, "m"], [1759, 0, "o"], [1760, 0, "d"], [1761, 0, "e"], [1762, 0, "l"], [1763, 0, "}"], [1764, 0, "\n"], [1765, 0, "\n"], [1766, 0, "W"], [1767, 0, "e"], [1768, 0, " "], [714, 0, "A"], [715, 0, " "], [716, 0, "c"], [717, 0, "o"], [718, 0, "m"], [719, 0, "="], [719, 1], [718, 1], [717, 1], [716, 1], [716, 0, "C"], [717, 0, "o"], [718, 0, "n"], [719, 0, "f"], [720, 0, "l"], [721, 0, "i"], [722, 0, "c"], [723, 0, "t"], [724, 0, "-"], [725, 0, "F"], [726, 0, "r"], [727, 0, "e"], [728, 0, "e"], [729, 0, " "], [730, 0, "R"], [731, 0, "e"], [732, 0, "p"], [733, 0, "l"], [734, 0, "i"], [735, 0, "c"], [736, 0, "a"], [737, 0, "t"], [738, 0, "e"], [739, 0, "d"], [740, 0, " "], [741, 0, "J"], [742, 0, "S"], [743, 0, "O"], [744, 0, "N"], [745, 0, " "], [746, 0, "D"], [747, 0, "a"], [748, 0, "t"], [749, 0, "a"], [750, 0, "t"], [751, 0, "y"], [752, 0, "p"], [753, 0, "e"], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [754, 1], [1748, 1], [1747, 1], [1746, 1], [1746, 0, "W"], [1747, 0, "e"], [1748, 0, " "], [1748, 1], [1747, 1], [1746, 1], [1746, 0, "O"], [1747, 0, "u"], [1748, 0, "r"], [1749, 0, " "], [1750, 0, "d"], [1751, 0, "a"], [1752, 0, "t"], [1753, 0, "a"], [1754, 0, " "], [1755, 0, "m"], [1756, 0, "o"], [1757, 0, "d"], [1758, 0, "e"], [1759, 0, "l"], [1760, 0, " "], [1761, 0, "f"], [1762, 0, "o"], [1763, 0, "r"], [1764, 0, " "], [1765, 0, "a"], [1766, 0, " "], [1767, 0, "d"], [1768, 0, "o"], [1769, 0, "c"], [1770, 0, "u"], [1771, 0, "m"], [1772, 0, "e"], [1773, 0, "n"], [1774, 0, "t"], [1775, 0, " "], [1776, 0, "i"], [1777, 0, "s"], [1778, 0, " "], [1779, 0, "b"], [1780, 0, "a"], [1781, 0, "s"], [1782, 0, "e"], [1783, 0, "d"], [1784, 0, " "], [1785, 0, "o"], [1786, 0, "n"], [1787, 0, " "], [1788, 0, "J"], [1789, 0, "S"], [1790, 0, "O"], [1791, 0, "N"], [1792, 0, "."], [1793, 0, " "], [1793, 1], [1792, 1], [1792, 0, "."], [1793, 0, " "], [1794, 0, "I"], [1795, 0, "t"], [1796, 0, " "], [1797, 0, "c"], [1798, 0, "o"], [1799, 0, "n"], [1800, 0, "s"], [1801, 0, "i"], [1802, 0, "s"], [1803, 0, "t"], [1804, 0, "s"], [1805, 0, " "], [1806, 0, "o"], [1807, 0, "f"], [1808, 0, " "], [1809, 0, "a"], [1810, 0, " "], [1811, 0, "t"], [1812, 0, "r"], [1813, 0, "e"], [1814, 0, "e"], [1815, 0, " "], [1816, 0, "w"], [1817, 0, "i"], [1818, 0, "t"], [1819, 0, "h"], [1820, 0, " "], [1821, 0, "t"], [1822, 0, "h"], [1823, 0, "e"], [1824, 0, " "], [1825, 0, "f"], [1826, 0, "o"], [1827, 0, "l"], [1828, 0, "l"], [1829, 0, "o"], [1830, 0, "w"], [1831, 0, "i"], [1832, 0, "n"], [1833, 0, "g"], [1834, 0, " "], [1835, 0, "t"], [1836, 0, "y"], [1837, 0, "p"], [1838, 0, "e"], [1839, 0, "s"], [1840, 0, " "], [1841, 0, "n"], [1842, 0, "o"], [1842, 1], [1841, 1], [1841, 0, "o"], [1842, 0, "f"], [1843, 0, " "], [1844, 0, "n"], [1845, 0, "o"], [1846, 0, "d"], [1847, 0, "e"], [1848, 0, ":"], [1849, 0, "\n"], [1850, 0, "\n"], [1851, 0, "\\"], [1852, 0, "b"], [1853, 0, "e"], [1854, 0, "g"], [1855, 0, "i"], [1856, 0, "n"], [1857, 0, "{"], [1858, 0, "e"], [1859, 0, "n"], [1860, 0, "u"], [1861, 0, "m"], [1862, 0, "e"], [1863, 0, "r"], [1864, 0, "a"], [1865, 0, "t"], [1866, 0, "e"], [1867, 0, "}"], [1868, 0, "\n"], [1869, 0, "\\"], [1870, 0, "e"], [1871, 0, "n"], [1872, 0, "d"], [1873, 0, "{"], [1874, 0, "e"], [1875, 0, "n"], [1876, 0, "u"], [1877, 0, "m"], [1878, 0, "e"], [1879, 0, "r"], [1880, 0, "a"], [1881, 0, "t"], [1882, 0, "e"], [1883, 0, "}"], [1868, 0, "\n"], [1869, 0, "\\"], [1870, 0, "i"], [1871, 0, "t"], [1872, 0, "e"], [1873, 0, "m"], [1874, 0, " "], [1866, 1], [1865, 1], [1864, 1], [1863, 1], [1862, 1], [1861, 1], [1860, 1], [1859, 1], [1858, 1], [1858, 0, "d"], [1859, 0, "e"], [1860, 0, "s"], [1861, 0, "c"], [1862, 0, "r"], [1863, 0, "i"], [1864, 0, "p"], [1865, 0, "t"], [1866, 0, "i"], [1867, 0, "o"], [1868, 0, "n"], [1891, 1], [1890, 1], [1889, 1], [1888, 1], [1887, 1], [1886, 1], [1885, 1], [1884, 1], [1883, 1], [1883, 0, "d"], [1884, 0, "e"], [1885, 0, "s"], [1886, 0, "c"], [1887, 0, "r"], [1888, 0, "i"], [1889, 0, "p"], [1890, 0, "t"], [1891, 0, "i"], [1892, 0, "o"], [1893, 0, "n"], [1876, 1], [1876, 0, "["], [1877, 0, "M"], [1878, 0, "A"], [1879, 0, "P"], [1879, 1], [1878, 1], [1878, 0, "a"], [1879, 0, "p"], [1880, 0, "."], [1881, 0, "]"], [1882, 0, " "], [1880, 1], [1880, 0, ":"], [1883, 0, "A"], [1884, 0, " "], [1885, 0, "b"], [1886, 0, "r"], [1887, 0, "a"], [1888, 0, "n"], [1889, 0, "c"], [1890, 0, "h"], [1891, 0, " "], [1892, 0, "n"], [1893, 0, "o"], [1894, 0, "d"], [1895, 0, "e"], [1896, 0, " "], [1897, 0, "w"], [1898, 0, "h"], [1899, 0, "o"], [1900, 0, "s"], [1901, 0, "e"], [1902, 0, " "], [1903, 0, "c"], [1904, 0, "h"], [1905, 0, "i"], [1906, 0, "l"], [1907, 0, "d"], [1908, 0, "r"], [1909, 0, "e"], [1910, 0, "n"], [1911, 0, " "], [1912, 0, "a"], [1913, 0, "r"], [1914, 0, "e"], [1915, 0, " "], [1916, 0, "n"], [1917, 0, "o"], [1918, 0, "t"], [1919, 0, " "], [1920, 0, "o"], [1921, 0, "r"], [1922, 0, "d"], [1923, 0, "e"], [1924, 0, "r"], [1925, 0, "e"], [1926, 0, "d"], [1927, 0, ","], [1928, 0, " "], [1929, 0, "a"], [1930, 0, "n"], [1931, 0, "d"], [1932, 0, " "], [1933, 0, "w"], [1934, 0, "h"], [1935, 0, "e"], [1936, 0, "r"], [1937, 0, "e"], [1938, 0, " "], [1939, 0, "e"], [1940, 0, "a"], [1941, 0, "c"], [1942, 0, "h"], [1943, 0, " "], [1944, 0, "c"], [1945, 0, "h"], [1946, 0, "i"], [1947, 0, "l"], [1948, 0, "d"], [1949, 0, "r"], [1950, 0, "e"], [1951, 0, "n"], [1952, 0, " "], [1953, 0, "i"], [1954, 0, "s"], [1955, 0, " "], [1955, 1], [1954, 1], [1953, 1], [1952, 1], [1951, 1], [1950, 1], [1949, 1], [1949, 0, " "], [1950, 0, "i"], [1951, 0, "s"], [1952, 0, " "], [1953, 0, "l"], [1954, 0, "a"], [1955, 0, "b"], [1956, 0, "e"], [1957, 0, "l"], [1958, 0, "l"], [1959, 0, "e"], [1960, 0, "d"], [1961, 0, " "], [1962, 0, "w"], [1963, 0, "i"], [1964, 0, "t"], [1965, 0, "h"], [1966, 0, " "], [1967, 0, "a"], [1968, 0, " "], [1969, 0, "s"], [1970, 0, "t"], [1971, 0, "r"], [1972, 0, "i"], [1973, 0, "n"], [1974, 0, "g"], [1975, 0, " "], [1976, 0, "\\"], [1977, 0, "e"], [1978, 0, "m"], [1979, 0, "p"], [1980, 0, "h"], [1981, 0, "{"], [1982, 0, "k"], [1983, 0, "e"], [1984, 0, "y"], [1985, 0, "}"], [1986, 0, "."], [1987, 0, " "], [1988, 0, "A"], [1989, 0, " "], [1990, 0, "k"], [1991, 0, "e"], [1992, 0, "y"], [1993, 0, " "], [1994, 0, "u"], [1995, 0, "n"], [1996, 0, "i"], [1997, 0, "q"], [1998, 0, "u"], [1999, 0, "e"], [2000, 0, "l"], [2001, 0, "y"], [2002, 0, " "], [2003, 0, "i"], [2004, 0, "d"], [2005, 0, "e"], [2006, 0, "n"], [2007, 0, "t"], [2008, 0, "i"], [2009, 0, "f"], [2010, 0, "i"], [2011, 0, "e"], [2012, 0, "s"], [2013, 0, " "], [2014, 0, "o"], [2015, 0, "n"], [2016, 0, "e"], [2017, 0, " "], [2018, 0, "o"], [2019, 0, "f"], [2020, 0, " "], [2021, 0, "t"], [2022, 0, "h"], [2023, 0, "e"], [2024, 0, " "], [2025, 0, "c"], [2026, 0, "h"], [2027, 0, "i"], [2028, 0, "l"], [2029, 0, "d"], [2030, 0, "r"], [2031, 0, "e"], [2032, 0, "n"], [2033, 0, "."], [2034, 0, "\n"], [2035, 0, "\\"], [2036, 0, "i"], [2037, 0, "t"], [2038, 0, "e"], [2039, 0, "m"], [2040, 0, "["], [2041, 0, "L"], [2042, 0, "i"], [2043, 0, "s"], [2044, 0, "t"], [2045, 0, ":"], [2046, 0, "}"], [2046, 1], [2046, 0, "]"], [2047, 0, " "], [2048, 0, "A"], [2049, 0, " "], [2050, 0, "b"], [2051, 0, "r"], [2052, 0, "a"], [2053, 0, "n"], [2054, 0, "c"], [2055, 0, "h"], [2056, 0, " "], [2057, 0, "n"], [2058, 0, "o"], [2059, 0, "d"], [2060, 0, "e"], [2061, 0, " "], [2062, 0, "w"], [2063, 0, "h"], [2064, 0, "o"], [2065, 0, "s"], [2066, 0, "e"], [2067, 0, " "], [2068, 0, "c"], [2069, 0, "h"], [2070, 0, "i"], [2071, 0, "l"], [2072, 0, "d"], [2073, 0, "r"], [2074, 0, "e"], [2075, 0, "n"], [2076, 0, " "], [2077, 0, "h"], [2078, 0, "a"], [2079, 0, "v"], [2080, 0, "e"], [2081, 0, " "], [2082, 0, "a"], [2083, 0, "n"], [2084, 0, " "], [2085, 0, "o"], [2086, 0, "r"], [2087, 0, "d"], [2088, 0, "e"], [2089, 0, "r"], [2090, 0, " "], [2091, 0, "d"], [2092, 0, "e"], [2093, 0, "f"], [2094, 0, "i"], [2095, 0, "n"], [2096, 0, "e"], [2097, 0, "d"], [2098, 0, " "], [2099, 0, "b"], [2100, 0, "y"], [2101, 0, " "], [2102, 0, "t"], [2103, 0, "h"], [2104, 0, "e"], [2105, 0, " "], [2106, 0, "a"], [2107, 0, "p"], [2108, 0, "p"], [2109, 0, "l"], [2110, 0, "i"], [2111, 0, "c"], [2112, 0, "a"], [2113, 0, "t"], [2114, 0, "i"], [2115, 0, "o"], [2116, 0, "n"], [2117, 0, "."], [2118, 0, "\n"], [2119, 0, "\\"], [2120, 0, "i"], [2121, 0, "t"], [2122, 0, "e"], [2123, 0, "m"], [2124, 0, "["], [2125, 0, "R"], [2126, 0, "e"], [2127, 0, "g"], [2128, 0, "i"], [2129, 0, "s"], [2130, 0, "t"], [2131, 0, "e"], [2132, 0, "r"], [2133, 0, ":"], [2134, 0, "]"], [2135, 0, " "], [2136, 0, "A"], [2137, 0, " "], [2138, 0, "l"], [2139, 0, "e"], [2140, 0, "a"], [2141, 0, "f"], [2142, 0, " "], [2143, 0, "n"], [2144, 0, "o"], [2145, 0, "d"], [2146, 0, "e"], [2147, 0, " "], [2034, 0, " "], [2035, 0, "A"], [2036, 0, " "], [2037, 0, "J"], [2038, 0, "S"], [2039, 0, "O"], [2040, 0, "N"], [2041, 0, " "], [2042, 0, "m"], [2043, 0, "a"], [2044, 0, "p"], [2045, 0, " "], [2046, 0, "i"], [2047, 0, "s"], [2048, 0, " "], [2049, 0, "a"], [2050, 0, "l"], [2051, 0, "s"], [2052, 0, "o"], [2053, 0, " "], [2054, 0, "k"], [2055, 0, "n"], [2056, 0, "o"], [2057, 0, "w"], [2058, 0, "n"], [2059, 0, " "], [2060, 0, "a"], [2061, 0, "s"], [2062, 0, " "], [2063, 0, "a"], [2064, 0, "n"], [2065, 0, " "], [2066, 0, "\\"], [2067, 0, "e"], [2068, 0, "m"], [2069, 0, "p"], [2070, 0, "h"], [2071, 0, "{"], [2072, 0, "o"], [2073, 0, "b"], [2074, 0, "j"], [2075, 0, "e"], [2076, 0, "c"], [2077, 0, "t"], [2078, 0, "}"], [2079, 0, "."], [2164, 0, " "], [2165, 0, "A"], [2166, 0, " "], [2167, 0, "J"], [2168, 0, "S"], [2169, 0, "O"], [2170, 0, "N"], [2171, 0, " "], [2172, 0, "l"], [2173, 0, "i"], [2174, 0, "s"], [2175, 0, "t"], [2176, 0, " "], [2177, 0, "i"], [2178, 0, "s"], [2179, 0, " "], [2180, 0, "a"], [2181, 0, "l"], [2182, 0, "s"], [2183, 0, "o"], [2184, 0, " "], [2185, 0, "k"], [2186, 0, "n"], [2187, 0, "o"], [2188, 0, "w"], [2189, 0, "n"], [2190, 0, " "], [2191, 0, "a"], [2192, 0, "s"], [2193, 0, " "], [2194, 0, "a"], [2195, 0, "n"], [2196, 0, " "], [2197, 0, "\\"], [2198, 0, "e"], [2199, 0, "m"], [2200, 0, "p"], [2201, 0, "h"], [2202, 0, "{"], [2203, 0, "a"], [2204, 0, "r"], [2205, 0, "r"], [2206, 0, "a"], [2207, 0, "y"], [2208, 0, "}"], [2209, 0, "."], [2033, 0, ","], [2034, 0, " "], [2035, 0, "a"], [2036, 0, "n"], [2037, 0, "d"], [2038, 0, " "], [2039, 0, "k"], [2040, 0, "e"], [2041, 0, "y"], [2042, 0, "s"], [2043, 0, " "], [2044, 0, "a"], [2045, 0, "r"], [2046, 0, "e"], [2047, 0, " "], [2048, 0, "i"], [2049, 0, "m"], [2050, 0, "m"], [2051, 0, "u"], [2052, 0, "t"], [2053, 0, "a"], [2054, 0, "b"], [2055, 0, "l"], [2056, 0, "e"], [2057, 0, " "], [2058, 0, "("], [2058, 1], [2057, 1], [2039, 1], [2038, 1], [2037, 1], [2036, 1], [2035, 1], [2034, 1], [2033, 1], [2033, 0, "."], [2034, 0, " "], [2035, 0, "K"], [2053, 0, ","], [2054, 0, " "], [2055, 0, "b"], [2056, 0, "u"], [2057, 0, "t"], [2058, 0, " "], [2059, 0, "v"], [2060, 0, "a"], [2061, 0, "l"], [2062, 0, "u"], [2063, 0, "e"], [2064, 0, "s"], [2065, 0, " "], [2066, 0, "a"], [2067, 0, "r"], [2068, 0, "e"], [2069, 0, " "], [2070, 0, "m"], [2071, 0, "u"], [2072, 0, "t"], [2073, 0, "a"], [2074, 0, "b"], [2075, 0, "l"], [2076, 0, "e"], [2077, 0, ","], [2078, 0, " "], [2079, 0, "a"], [2080, 0, "n"], [2081, 0, "d"], [2082, 0, " "], [2083, 0, "k"], [2084, 0, "e"], [2085, 0, "y"], [2086, 0, "-"], [2087, 0, "v"], [2088, 0, "a"], [2089, 0, "l"], [2090, 0, "u"], [2091, 0, "e"], [2092, 0, " "], [2093, 0, "m"], [2094, 0, "a"], [2095, 0, "p"], [2096, 0, "p"], [2097, 0, "i"], [2098, 0, "n"], [2099, 0, "g"], [2100, 0, "s"], [2101, 0, " "], [2102, 0, "c"], [2103, 0, "a"], [2104, 0, "n"], [2105, 0, " "], [2106, 0, "b"], [2107, 0, "e"], [2108, 0, " "], [2109, 0, "a"], [2110, 0, "d"], [2111, 0, "d"], [2112, 0, "e"], [2113, 0, "d"], [2114, 0, " "], [2115, 0, "a"], [2116, 0, "n"], [2117, 0, "d"], [2118, 0, " "], [2119, 0, "r"], [2120, 0, "e"], [2121, 0, "m"], [2122, 0, "o"], [2123, 0, "v"], [2124, 0, "e"], [2125, 0, "d"], [2126, 0, " "], [2127, 0, "f"], [2128, 0, "r"], [2129, 0, "o"], [2130, 0, "m"], [2131, 0, " "], [2132, 0, "t"], [2133, 0, "h"], [2134, 0, "e"], [2135, 0, " "], [2136, 0, "m"], [2137, 0, "a"], [2138, 0, "p"], [2270, 0, " "], [2271, 0, "T"], [2272, 0, "h"], [2273, 0, "e"], [2274, 0, " "], [2275, 0, "l"], [2276, 0, "i"], [2277, 0, "s"], [2278, 0, "t"], [2279, 0, " "], [2280, 0, "c"], [2281, 0, "a"], [2282, 0, "n"], [2283, 0, " "], [2284, 0, "b"], [2285, 0, "e"], [2286, 0, " "], [2287, 0, "m"], [2288, 0, "u"], [2289, 0, "t"], [2290, 0, "a"], [2291, 0, "t"], [2292, 0, "e"], [2293, 0, "d"], [2294, 0, " "], [2295, 0, "b"], [2296, 0, "y"], [2297, 0, " "], [2298, 0, "i"], [2299, 0, "n"], [2300, 0, "s"], [2301, 0, "e"], [2302, 0, "r"], [2303, 0, "t"], [2304, 0, "i"], [2305, 0, "n"], [2306, 0, "g"], [2307, 0, " "], [2308, 0, "o"], [2309, 0, "r"], [2310, 0, " "], [2311, 0, "d"], [2312, 0, "e"], [2313, 0, "l"], [2314, 0, "e"], [2315, 0, "t"], [2316, 0, "i"], [2317, 0, "n"], [2318, 0, "g"], [2319, 0, " "], [2320, 0, "l"], [2321, 0, "i"], [2322, 0, "s"], [2323, 0, "t"], [2324, 0, " "], [2325, 0, "e"], [2326, 0, "l"], [2327, 0, "e"], [2328, 0, "m"], [2329, 0, "e"], [2330, 0, "n"], [2331, 0, "t"], [2332, 0, "s"], [2333, 0, "."], [2410, 0, "c"], [2411, 0, "o"], [2412, 0, "n"], [2413, 0, "t"], [2414, 0, "a"], [2415, 0, "i"], [2416, 0, "n"], [2417, 0, "i"], [2418, 0, "n"], [2419, 0, "g"], [2420, 0, " "], [2421, 0, "a"], [2422, 0, " "], [2423, 0, "p"], [2424, 0, "r"], [2425, 0, "i"], [2426, 0, "m"], [2427, 0, "i"], [2428, 0, "t"], [2429, 0, "i"], [2430, 0, "v"], [2431, 0, "e"], [2432, 0, " "], [2433, 0, "v"], [2434, 0, "a"], [2435, 0, "l"], [2436, 0, "u"], [2437, 0, "e"], [2438, 0, " "], [2439, 0, "("], [2440, 0, "s"], [2441, 0, "t"], [2442, 0, "r"], [2443, 0, "i"], [2444, 0, "n"], [2445, 0, "g"], [2446, 0, ","], [2447, 0, " "], [2448, 0, "n"], [2449, 0, "u"], [2450, 0, "m"], [2451, 0, "b"], [2452, 0, "e"], [2453, 0, "r"], [2454, 0, " "], [2454, 1], [2454, 0, ","], [2455, 0, " "], [2456, 0, "b"], [2457, 0, "o"], [2458, 0, "o"], [2459, 0, "l"], [2460, 0, "e"], [2461, 0, "a"], [2462, 0, "n"], [2463, 0, " "], [2464, 0, "o"], [2465, 0, "r"], [2466, 0, " "], [2467, 0, "n"], [2468, 0, "u"], [2469, 0, "l"], [2470, 0, "l"], [2471, 0, ")"], [2472, 0, "."], [2473, 0, " "], [2474, 0, "A"], [2475, 0, "l"], [2476, 0, "t"], [2477, 0, "h"], [2478, 0, "o"], [2479, 0, "u"], [2480, 0, "g"], [2481, 0, "h"], [2482, 0, " "], [2483, 0, "p"], [2484, 0, "r"], [2485, 0, "i"], [2486, 0, "m"], [2487, 0, "i"], [2488, 0, "t"], [2489, 0, "i"], [2490, 0, "v"], [2491, 0, "e"], [2492, 0, "s"], [2493, 0, " "], [2494, 0, "a"], [2495, 0, "r"], [2496, 0, "e"], [2497, 0, " "], [2498, 0, "t"], [2499, 0, "h"], [2500, 0, "e"], [2501, 0, "m"], [2502, 0, "s"], [2503, 0, "e"], [2504, 0, "l"], [2505, 0, "v"], [2506, 0, "e"], [2507, 0, "s"], [2508, 0, " "], [2509, 0, "i"], [2510, 0, "m"], [2511, 0, "m"], [2512, 0, "u"], [2513, 0, "t"], [2514, 0, "a"], [2515, 0, "b"], [2516, 0, "l"], [2517, 0, "e"], [2518, 0, ","], [2519, 0, " "], [2520, 0, "t"], [2521, 0, "h"], [2522, 0, "e"], [2523, 0, " "], [2524, 0, "v"], [2525, 0, "a"], [2526, 0, "l"], [2527, 0, "u"], [2528, 0, "e"], [2529, 0, " "], [2530, 0, "o"], [2531, 0, "f"], [2532, 0, " "], [2533, 0, "a"], [2534, 0, " "], [2535, 0, "r"], [2536, 0, "e"], [2537, 0, "g"], [2538, 0, "i"], [2539, 0, "s"], [2540, 0, "t"], [2541, 0, "e"], [2542, 0, "r"], [2543, 0, " "], [2544, 0, "c"], [2545, 0, "a"], [2546, 0, "n"], [2547, 0, " "], [2548, 0, "b"], [2549, 0, "e"], [2550, 0, " "], [2551, 0, "m"], [2552, 0, "u"], [2553, 0, "t"], [2554, 0, "a"], [2555, 0, "t"], [2556, 0, "e"], [2557, 0, "d"], [2558, 0, " "], [2559, 0, "b"], [2560, 0, "y"], [2561, 0, " "], [2562, 0, "s"], [2563, 0, "e"], [2564, 0, "t"], [2565, 0, "t"], [2566, 0, "i"], [2567, 0, "n"], [2568, 0, "g"], [2569, 0, " "], [2532, 1], [2531, 1], [2530, 1], [2529, 1], [2528, 1], [2527, 1], [2526, 1], [2525, 1], [2524, 1], [2523, 1], [2522, 1], [2521, 1], [2520, 1], [2557, 0, "i"], [2558, 0, "t"], [2559, 0, " "], [2560, 0, "t"], [2561, 0, "o"], [2562, 0, " "], [2562, 1], [2561, 1], [2560, 1], [2559, 1], [2558, 1], [2557, 1], [2556, 1], [2555, 1], [2554, 1], [2553, 1], [2552, 1], [2551, 1], [2550, 1], [2549, 1], [2549, 0, "a"], [2550, 0, "s"], [2551, 0, "s"], [2552, 0, "i"], [2553, 0, "g"], [2554, 0, "n"], [2555, 0, "i"], [2556, 0, "n"], [2557, 0, "g"], [2558, 0, " "], [2559, 0, "a"], [2560, 0, " "], [2561, 0, "n"], [2562, 0, "e"], [2563, 0, "w"], [2564, 0, " "], [2565, 0, "v"], [2566, 0, "a"], [2567, 0, "l"], [2568, 0, "u"], [2569, 0, "e"], [2570, 0, " "], [2571, 0, "t"], [2572, 0, "o"], [2573, 0, " "], [2574, 0, "i"], [2575, 0, "t"], [2576, 0, "."], [2577, 0, "\n"], [2578, 0, "\\"], [2579, 0, "i"], [2580, 0, "t"], [2581, 0, "e"], [2582, 0, "m"], [2583, 0, "["], [2584, 0, "C"], [2585, 0, "o"], [2586, 0, "u"], [2587, 0, "n"], [2588, 0, "t"], [2589, 0, "e"], [2590, 0, "r"], [2591, 0, ":"], [2592, 0, "]"], [2593, 0, " "], [2594, 0, "A"], [2595, 0, " "], [2596, 0, "l"], [2597, 0, "e"], [2598, 0, "a"], [2599, 0, "f"], [2600, 0, " "], [2601, 0, "n"], [2602, 0, "o"], [2603, 0, "d"], [2604, 0, "e"], [2605, 0, " "], [2606, 0, "c"], [2607, 0, "o"], [2608, 0, "n"], [2609, 0, "t"], [2610, 0, "a"], [2611, 0, "i"], [2612, 0, "n"], [2613, 0, "i"], [2614, 0, "n"], [2615, 0, "g"], [2616, 0, " "], [2617, 0, "a"], [2618, 0, "n"], [2619, 0, " "], [2619, 1], [2618, 1], [2618, 0, " "], [2619, 0, "n"], [2620, 0, "u"], [2621, 0, "m"], [2622, 0, "b"], [2623, 0, "e"], [2624, 0, "r"], [2625, 0, "."], [2626, 0, " "], [2627, 0, "S"], [2627, 1], [2627, 0, "I"], [2628, 0, "t"], [2629, 0, " "], [2630, 0, "i"], [2631, 0, "s"], [2632, 0, " "], [2633, 0, "s"], [2634, 0, "i"], [2635, 0, "m"], [2636, 0, "i"], [2637, 0, "l"], [2638, 0, "a"], [2639, 0, "r"], [2640, 0, " "], [2641, 0, "t"], [2642, 0, "o"], [2643, 0, " "], [2644, 0, "a"], [2645, 0, " "], [2646, 0, "r"], [2647, 0, "e"], [2648, 0, "g"], [2649, 0, "i"], [2650, 0, "s"], [2651, 0, "t"], [2652, 0, "e"], [2653, 0, "r"], [2654, 0, ","], [2655, 0, " "], [2656, 0, "b"], [2657, 0, "u"], [2658, 0, "t"], [2659, 0, " "], [2660, 0, "h"], [2661, 0, "a"], [2662, 0, "s"], [2663, 0, " "], [2664, 0, "d"], [2665, 0, "i"], [2666, 0, "f"], [2667, 0, "f"], [2668, 0, "e"], [2669, 0, "r"], [2670, 0, "e"], [2671, 0, "n"], [2672, 0, "t"], [2673, 0, " "], [2674, 0, "s"], [2675, 0, "e"], [2676, 0, "m"], [2677, 0, "a"], [2678, 0, "n"], [2679, 0, "t"], [2680, 0, "i"], [2681, 0, "c"], [2682, 0, "s"], [2683, 0, " "], [2684, 0, "u"], [2685, 0, "n"], [2686, 0, "d"], [2687, 0, "e"], [2688, 0, "r"], [2689, 0, " "], [2690, 0, "c"], [2691, 0, "o"], [2692, 0, "n"], [2693, 0, "c"], [2694, 0, "u"], [2695, 0, "r"], [2696, 0, "r"], [2697, 0, "e"], [2698, 0, "n"], [2699, 0, "t"], [2700, 0, " "], [2701, 0, "m"], [2702, 0, "o"], [2703, 0, "d"], [2704, 0, "i"], [2705, 0, "f"], [2706, 0, "i"], [2707, 0, "c"], [2708, 0, "a"], [2709, 0, "t"], [2710, 0, "i"], [2711, 0, "o"], [2712, 0, "n"], [2713, 0, ","], [2714, 0, " "], [2715, 0, "a"], [2716, 0, "s"], [2717, 0, " "], [2718, 0, "d"], [2719, 0, "e"], [2720, 0, "s"], [2721, 0, "c"], [2722, 0, "r"], [2723, 0, "i"], [2724, 0, "b"], [2725, 0, "e"], [2726, 0, "d"], [2727, 0, " "], [2728, 0, "b"], [2729, 0, "e"], [2730, 0, "l"], [2731, 0, "o"], [2732, 0, "w"], [2733, 0, "."], [2752, 0, "\n"], [2753, 0, "\n"], [2754, 0, "T"], [2755, 0, "h"], [2756, 0, "u"], [2757, 0, "s"], [2758, 0, ","], [2759, 0, " "], [2760, 0, "i"], [2761, 0, "n"], [2762, 0, " "], [2763, 0, "t"], [2764, 0, "h"], [2765, 0, "e"], [2766, 0, " "], [2767, 0, "t"], [2768, 0, "r"], [2769, 0, "e"], [2770, 0, "e"], [2771, 0, " "], [2772, 0, "o"], [2773, 0, "f"], [2774, 0, " "], [2775, 0, "a"], [2776, 0, " "], [2777, 0, "J"], [2778, 0, "S"], [2779, 0, "O"], [2780, 0, "N"], [2781, 0, " "], [2782, 0, "d"], [2783, 0, "o"], [2784, 0, "c"], [2785, 0, "u"], [2786, 0, "m"], [2787, 0, "e"], [2788, 0, "n"], [2789, 0, "t"], [2790, 0, ","], [2791, 0, " "], [2792, 0, "a"], [2793, 0, "l"], [2794, 0, "l"], [2795, 0, " "], [2796, 0, "t"], [2797, 0, "h"], [2798, 0, "e"], [2799, 0, " "], [2800, 0, "i"], [2801, 0, "n"], [2802, 0, "t"], [2803, 0, "e"], [2804, 0, "r"], [2805, 0, "i"], [2806, 0, "o"], [2807, 0, "r"], [2808, 0, " "], [2809, 0, "b"], [2810, 0, "r"], [2811, 0, "a"], [2812, 0, "n"], [2813, 0, "c"], [2814, 0, "h"], [2815, 0, " "], [2816, 0, "n"], [2817, 0, "o"], [2818, 0, "d"], [2819, 0, "e"], [2820, 0, "s"], [2821, 0, " "], [2822, 0, "a"], [2823, 0, "r"], [2824, 0, "e"], [2825, 0, " "], [2826, 0, "e"], [2827, 0, "i"], [2828, 0, "t"], [2829, 0, "h"], [2830, 0, "e"], [2831, 0, "r"], [2832, 0, " "], [2833, 0, "m"], [2834, 0, "a"], [2835, 0, "p"], [2836, 0, "s"], [2837, 0, " "], [2838, 0, "o"], [2839, 0, "r"], [2840, 0, " "], [2841, 0, "l"], [2842, 0, "i"], [2843, 0, "s"], [2844, 0, "t"], [2845, 0, "s"], [2846, 0, ","], [2847, 0, " "], [2848, 0, "a"], [2849, 0, "n"], [2850, 0, "d"], [2851, 0, " "], [2852, 0, "a"], [2853, 0, "l"], [2854, 0, "l"], [2855, 0, " "], [2856, 0, "t"], [2857, 0, "h"], [2858, 0, "e"], [2859, 0, " "], [2860, 0, "l"], [2861, 0, "e"], [2862, 0, "a"], [2863, 0, "f"], [2864, 0, " "], [2865, 0, "n"], [2866, 0, "o"], [2867, 0, "d"], [2868, 0, "e"], [2869, 0, "s"], [2870, 0, " "], [2871, 0, "a"], [2872, 0, "r"], [2873, 0, "e"], [2874, 0, " "], [2875, 0, "e"], [2876, 0, "i"], [2877, 0, "t"], [2878, 0, "h"], [2879, 0, "e"], [2880, 0, "r"], [2881, 0, " "], [2882, 0, "r"], [2883, 0, "e"], [2884, 0, "g"], [2885, 0, "i"], [2886, 0, "s"], [2887, 0, "t"], [2888, 0, "e"], [2889, 0, "r"], [2890, 0, "s"], [2891, 0, " "], [2892, 0, "o"], [2893, 0, "r"], [2894, 0, " "], [2895, 0, "c"], [2896, 0, "o"], [2897, 0, "u"], [2898, 0, "n"], [2899, 0, "t"], [2900, 0, "e"], [2901, 0, "r"], [2902, 0, "s"], [2903, 0, "."], [2904, 0, " "], [2905, 0, "M"], [2906, 0, "a"], [2907, 0, "p"], [2908, 0, "s"], [2909, 0, " "], [2910, 0, "a"], [2911, 0, "n"], [2912, 0, "d"], [2913, 0, " "], [2914, 0, "l"], [2915, 0, "i"], [2916, 0, "s"], [2917, 0, "t"], [2918, 0, "s"], [2919, 0, " "], [2920, 0, "m"], [2921, 0, "a"], [2922, 0, "y"], [2923, 0, " "], [2924, 0, "b"], [2925, 0, "e"], [2926, 0, " "], [2927, 0, "n"], [2928, 0, "e"], [2929, 0, "s"], [2930, 0, "t"], [2931, 0, "e"], [2932, 0, "d"], [2933, 0, " "], [2934, 0, "w"], [2935, 0, "i"], [2936, 0, "t"], [2937, 0, "h"], [2938, 0, "i"], [2939, 0, "n"], [2940, 0, " "], [2941, 0, "e"], [2942, 0, "a"], [2943, 0, "c"], [2944, 0, "h"], [2945, 0, " "], [2946, 0, "o"], [2947, 0, "t"], [2948, 0, "h"], [2949, 0, "e"], [2950, 0, "r"], [2951, 0, " "], [2952, 0, "a"], [2953, 0, "r"], [2954, 0, "b"], [2955, 0, "i"], [2956, 0, "t"], [2957, 0, "r"], [2958, 0, "a"], [2959, 0, "r"], [2960, 0, "i"], [2961, 0, "l"], [2962, 0, "y"], [2963, 0, "."], [2964, 0, " "], [2965, 0, "W"], [2965, 1], [2965, 0, "F"], [2966, 0, "o"], [2967, 0, "r"], [2968, 0, " "], [2969, 0, "s"], [2970, 0, "i"], [2971, 0, "m"], [2972, 0, "p"], [2973, 0, "l"], [2974, 0, "i"], [2975, 0, "c"], [2976, 0, "i"], [2977, 0, "t"], [2978, 0, "y"], [2979, 0, " "], [2980, 0, "w"], [2981, 0, "e"], [2982, 0, " "], [2983, 0, "d"], [2984, 0, "o"], [2985, 0, " "], [2986, 0, "n"], [2987, 0, "o"], [2988, 0, "t"], [2989, 0, " "], [2990, 0, "d"], [2991, 0, "e"], [2992, 0, "f"], [2993, 0, "i"], [2994, 0, "n"], [2995, 0, "e"], [2996, 0, " "], [2997, 0, "a"], [2998, 0, " "], [2999, 0, "s"], [3000, 0, "c"], [3001, 0, "h"], [3002, 0, "e"], [3003, 0, "m"], [3004, 0, "a"], [3005, 0, " "], [3006, 0, "l"], [3007, 0, "a"], [3008, 0, "n"], [3009, 0, "g"], [3010, 0, "u"], [3011, 0, "a"], [3012, 0, "g"], [3013, 0, "e"], [3014, 0, " "], [3015, 0, "o"], [3016, 0, "r"], [3017, 0, " "], [3018, 0, "s"], [3019, 0, "t"], [3020, 0, "a"], [3021, 0, "t"], [3022, 0, "i"], [3023, 0, "c"], [3024, 0, " "], [3025, 0, "t"], [3026, 0, "y"], [3027, 0, "p"], [3028, 0, "e"], [3029, 0, "-"], [3030, 0, "c"], [3031, 0, "h"], [3032, 0, "e"], [3033, 0, "c"], [3034, 0, "k"], [3035, 0, "i"], [3036, 0, "n"], [3037, 0, "g"], [3038, 0, " "], [3039, 0, "r"], [3040, 0, "u"], [3041, 0, "l"], [3042, 0, "e"], [3043, 0, "s"], [3044, 0, ","], [3045, 0, " "], [3046, 0, "b"], [3047, 0, "u"], [3048, 0, "t"], [3049, 0, " "], [3050, 0, "s"], [3051, 0, "u"], [3052, 0, "c"], [3053, 0, "h"], [3054, 0, " "], [3055, 0, "r"], [3056, 0, "e"], [3057, 0, "s"], [3058, 0, "t"], [3059, 0, "r"], [3060, 0, "i"], [3061, 0, "c"], [3062, 0, "t"], [3063, 0, "i"], [3064, 0, "o"], [3065, 0, "n"], [3066, 0, "s"], [3067, 0, " "], [3068, 0, "c"], [3069, 0, "o"], [3070, 0, "u"], [3071, 0, "l"], [3072, 0, "d"], [3073, 0, " "], [3074, 0, "b"], [3075, 0, "e"], [3076, 0, " "], [3077, 0, "a"], [3078, 0, "d"], [3079, 0, "d"], [3080, 0, "e"], [3081, 0, "d"], [3082, 0, " "], [3083, 0, "e"], [3084, 0, "a"], [3085, 0, "s"], [3086, 0, "i"], [3087, 0, "l"], [3088, 0, "y"], [3089, 0, "."], [5425, 1], [5424, 1], [5423, 1], [5422, 1], [5421, 1], [5420, 1], [5419, 1], [5418, 1], [5417, 1], [5416, 1], [5415, 1], [5414, 1], [5413, 1], [5412, 1], [5411, 1], [5410, 1], [5449, 1], [5449, 0, "n"], [5563, 0, "o"], [5564, 0, "f"], [5565, 0, " "], [5566, 0, "t"], [5567, 0, "h"], [5568, 0, "e"], [5569, 0, " "], [5570, 0, "r"], [5571, 0, "e"], [5572, 0, "g"], [5573, 0, "i"], [5574, 0, "s"], [5575, 0, "t"], [5576, 0, "e"], [5577, 0, "r"], [5578, 0, " "], [5579, 0, "o"], [5580, 0, "r"], [5581, 0, " "], [5582, 0, "c"], [5583, 0, "o"], [5584, 0, "u"], [5585, 0, "n"], [5586, 0, "t"], [5587, 0, "e"], [5588, 0, "r"], [5589, 0, " "], [5634, 0, " "], [5635, 0, "("], [5636, 0, "\\"], [5637, 0, "m"], [5638, 0, "a"], [5639, 0, "t"], [5640, 0, "h"], [5641, 0, "s"], [5642, 0, "f"], [5643, 0, "{"], [5644, 0, "v"], [5645, 0, "a"], [5646, 0, "l"], [5647, 0, "u"], [5648, 0, "e"], [5649, 0, "s"], [5650, 0, "}"], [5651, 0, " "], [5652, 0, "i"], [5653, 0, "s"], [5654, 0, " "], [5655, 0, "n"], [5656, 0, "o"], [5657, 0, "t"], [5658, 0, " "], [5659, 0, "d"], [5660, 0, "e"], [5661, 0, "f"], [5662, 0, "i"], [5663, 0, "n"], [5664, 0, "e"], [5665, 0, "d"], [5666, 0, " "], [5667, 0, "f"], [5668, 0, "o"], [5669, 0, "r"], [5670, 0, " "], [5671, 0, "m"], [5672, 0, "a"], [5673, 0, "p"], [5674, 0, " "], [5675, 0, "o"], [5676, 0, "r"], [5677, 0, " "], [5678, 0, "l"], [5679, 0, "i"], [5680, 0, "s"], [5681, 0, "t"], [5682, 0, " "], [5683, 0, "n"], [5684, 0, "o"], [5685, 0, "d"], [5686, 0, "e"], [5687, 0, "s"], [5688, 0, "."], [5689, 0, ")"], [5637, 1], [5637, 1], [5637, 1], [5637, 1], [5637, 0, "t"], [5638, 0, "e"], [5639, 0, "x"], [5640, 0, "t"], [3067, 0, " "], [3068, 0, "o"], [3069, 0, "f"], [3070, 0, " "], [3071, 0, "t"], [3072, 0, "h"], [3073, 0, "e"], [3074, 0, " "], [3075, 0, "d"], [3076, 0, "o"], [3077, 0, "c"], [3078, 0, "u"], [3079, 0, "m"], [3080, 0, "e"], [3081, 0, "n"], [3082, 0, "t"], [3083, 0, " "], [3084, 0, "s"], [3085, 0, "t"], [3086, 0, "r"], [3087, 0, "u"], [3088, 0, "c"], [3089, 0, "t"], [3090, 0, "u"], [3091, 0, "r"], [3092, 0, "e"], [5927, 1], [5926, 1], [5925, 1], [5924, 1], [5923, 1], [5922, 1], [5921, 1], [5920, 1], [5919, 1], [5918, 1], [5918, 0, "a"], [5919, 0, " "], [5920, 0, "r"], [5921, 0, "e"], [5922, 0, "g"], [5923, 0, "i"], [5924, 0, "s"], [5925, 0, "t"], [5926, 0, "e"], [5927, 0, "r"], [6631, 0, " "], [6632, 0, "I"], [6633, 0, "f"], [6634, 0, " "], [6635, 0, "t"], [6636, 0, "h"], [6637, 0, "e"], [6638, 0, " "], [6639, 0, "k"], [6640, 0, "e"], [6641, 0, "y"], [6642, 0, " "], [6643, 0, "d"], [6644, 0, "o"], [6645, 0, "e"], [6646, 0, "s"], [6647, 0, " "], [6648, 0, "n"], [6649, 0, "o"], [6650, 0, "t"], [6651, 0, " "], [6652, 0, "e"], [6653, 0, "x"], [6654, 0, "i"], [6655, 0, "s"], [6656, 0, "t"], [6657, 0, ","], [6658, 0, " "], [6659, 0, "i"], [6660, 0, "t"], [6661, 0, " "], [6662, 0, "i"], [6663, 0, "s"], [6664, 0, " "], [6665, 0, "i"], [6666, 0, "m"], [6667, 0, "p"], [6668, 0, "l"], [6669, 0, "i"], [6670, 0, "c"], [6671, 0, "i"], [6672, 0, "t"], [6673, 0, "l"], [6674, 0, "y"], [6675, 0, " "], [6676, 0, "c"], [6677, 0, "r"], [6678, 0, "e"], [6679, 0, "a"], [6680, 0, "t"], [6681, 0, "e"], [6682, 0, "d"], [6683, 0, " "], [6684, 0, "a"], [6685, 0, "n"], [6686, 0, "d"], [6687, 0, " "], [6688, 0, "s"], [6689, 0, "e"], [6690, 0, "t"], [6691, 0, " "], [6692, 0, "t"], [6693, 0, "o"], [6694, 0, " "], [6695, 0, "t"], [6696, 0, "h"], [6697, 0, "e"], [6698, 0, " "], [6699, 0, "e"], [6700, 0, "m"], [6701, 0, "p"], [6702, 0, "t"], [6703, 0, "y"], [6704, 0, " "], [6705, 0, "l"], [6706, 0, "i"], [6707, 0, "s"], [6708, 0, "t"], [6709, 0, "."], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [6476, 1], [7150, 0, "f"], [7151, 0, "f"], [7152, 0, "f"], [7152, 1], [7151, 1], [7150, 1], [7149, 1], [7149, 0, "n"], [7174, 0, ","], [7175, 0, " "], [7176, 0, "s"], [7177, 0, "o"], [7178, 0, " "], [7179, 0, "t"], [7180, 0, "h"], [7181, 0, "e"], [7182, 0, "r"], [7183, 0, "e"], [7184, 0, " "], [7185, 0, "i"], [7186, 0, "s"], [7187, 0, " "], [7188, 0, "n"], [7189, 0, "o"], [7190, 0, " "], [7191, 0, "n"], [7192, 0, "e"], [7193, 0, "e"], [7194, 0, "d"], [7195, 0, " "], [7196, 0, "f"], [7197, 0, "o"], [7198, 0, "r"], [7199, 0, " "], [7200, 0, "a"], [7201, 0, " "], [7202, 0, "c"], [7203, 0, "o"], [7204, 0, "m"], [7205, 0, "m"], [7206, 0, "a"], [7207, 0, "n"], [7208, 0, "d"], [7209, 0, " "], [7210, 0, "t"], [7211, 0, "o"], [7212, 0, " "], [7213, 0, "i"], [7214, 0, "n"], [7215, 0, "s"], [7216, 0, "e"], [7217, 0, "r"], [7218, 0, "t"], [7219, 0, " "], [7220, 0, "a"], [7221, 0, " "], [7222, 0, "n"], [7223, 0, "e"], [7224, 0, "w"], [7225, 0, " "], [7226, 0, "k"], [7227, 0, "e"], [7228, 0, "y"], [7229, 0, " "], [7230, 0, "i"], [7231, 0, "n"], [7232, 0, "t"], [7233, 0, "o"], [7234, 0, " "], [7235, 0, "a"], [7236, 0, " "], [7237, 0, "m"], [7238, 0, "a"], [7239, 0, "p"], [13150, 0, " "], [13151, 0, "c"], [13152, 0, "o"], [13153, 0, "n"], [13154, 0, "t"], [13155, 0, "a"], [13156, 0, "i"], [13157, 0, "n"], [13158, 0, "s"], [13159, 0, " "], [13160, 0, "t"], [13161, 0, "h"], [13162, 0, "e"], [13163, 0, " "], [13164, 0, "l"], [13165, 0, "o"], [13166, 0, "c"], [13167, 0, "a"], [13168, 0, "l"], [13169, 0, " "], [13170, 0, "v"], [13171, 0, "a"], [13172, 0, "r"], [13173, 0, "i"], [13174, 0, "a"], [13175, 0, "b"], [13176, 0, "l"], [13177, 0, "e"], [13178, 0, "s"], [13179, 0, " "], [13180, 0, "d"], [13181, 0, "e"], [13182, 0, "f"], [13183, 0, "i"], [13184, 0, "n"], [13185, 0, "e"], [13186, 0, "d"], [13187, 0, " "], [13188, 0, "w"], [13189, 0, "i"], [13190, 0, "t"], [13191, 0, "h"], [13192, 0, " "], [13193, 0, "\\"], [13194, 0, "t"], [13195, 0, "e"], [13196, 0, "x"], [13197, 0, "t"], [13198, 0, "s"], [13199, 0, "f"], [13200, 0, "{"], [13201, 0, "l"], [13202, 0, "e"], [13203, 0, "t"], [13204, 0, "}"], [13205, 0, " "], [13206, 0, "c"], [13207, 0, "o"], [13208, 0, "m"], [13209, 0, "m"], [13210, 0, "a"], [13211, 0, "n"], [13212, 0, "d"], [13213, 0, "s"], [13162, 1], [13161, 1], [13160, 1], [13159, 1], [13158, 1], [13157, 1], [13156, 1], [13155, 1], [13154, 1], [13153, 1], [13152, 1], [13151, 1], [13150, 1], [13149, 1], [13148, 1], [13147, 1], [13146, 1], [13145, 1], [13144, 1], [13143, 1], [13142, 1], [13141, 1], [13140, 1], [13139, 1], [13138, 1], [13137, 1], [13136, 1], [13135, 1], [13134, 1], [13133, 1], [13132, 1], [13131, 1], [13130, 1], [13129, 1], [13128, 1], [13127, 1], [13126, 1], [13125, 1], [13124, 1], [13123, 1], [13122, 1], [13121, 1], [13120, 1], [13119, 1], [13118, 1], [13117, 1], [13116, 1], [13115, 1], [13114, 1], [13113, 1], [13112, 1], [13111, 1], [13110, 1], [13110, 0, "F"], [13111, 0, "o"], [13112, 0, "r"], [13113, 0, " "], [13114, 0, "e"], [13115, 0, "a"], [13116, 0, "c"], [13117, 0, "h"], [13133, 1], [13146, 0, " "], [13147, 0, "a"], [13169, 1], [13169, 0, ","], [13170, 0, " "], [13171, 0, "$"], [13172, 0, "A"], [13173, 0, "-"], [13174, 0, "p"], [13174, 1], [13173, 1], [13173, 0, "_"], [13174, 0, "p"], [13175, 0, "$"], [13176, 0, " "], [13177, 0, "m"], [13178, 0, "a"], [13179, 0, "p"], [13180, 0, "s"], [13181, 0, " "], [13182, 0, "t"], [13183, 0, "h"], [13184, 0, "e"], [13185, 0, " "], [13186, 0, "v"], [13187, 0, "a"], [13188, 0, "r"], [13189, 0, "i"], [13190, 0, "a"], [13191, 0, "b"], [13192, 0, "l"], [13193, 0, "e"], [13194, 0, " "], [13195, 0, "n"], [13196, 0, "a"], [13197, 0, "m"], [13198, 0, "e"], [13199, 0, " "], [13200, 0, "t"], [13201, 0, "o"], [13202, 0, " "], [13203, 0, "a"], [13204, 0, " "], [13205, 0, "\\"], [13206, 0, "e"], [13207, 0, "m"], [13208, 0, "p"], [13209, 0, "h"], [13210, 0, "{"], [13211, 0, "c"], [13212, 0, "u"], [13213, 0, "r"], [13214, 0, "s"], [13215, 0, "o"], [13216, 0, "r"], [13217, 0, "}"], [13218, 0, ","], [13219, 0, " "], [13220, 0, "w"], [13221, 0, "h"], [13222, 0, "i"], [13223, 0, "c"], [13224, 0, "h"], [13225, 0, " "], [13226, 0, "i"], [13227, 0, "d"], [13228, 0, "e"], [13229, 0, "n"], [13230, 0, "t"], [13231, 0, "i"], [13232, 0, "f"], [13233, 0, "i"], [13234, 0, "e"], [13235, 0, "s"], [13236, 0, " "], [13237, 0, "a"], [13238, 0, " "], [13239, 0, "p"], [13240, 0, "o"], [13241, 0, "s"], [13242, 0, "i"], [13243, 0, "t"], [13244, 0, "i"], [13245, 0, "o"], [13246, 0, "n"], [13247, 0, " "], [13248, 0, "i"], [13249, 0, "n"], [13250, 0, " "], [13251, 0, "t"], [13252, 0, "h"], [13253, 0, "e"], [13254, 0, " "], [13255, 0, "d"], [13256, 0, "o"], [13257, 0, "c"], [13258, 0, "u"], [13259, 0, "m"], [13260, 0, "e"], [13261, 0, "n"], [13262, 0, "t"], [13263, 0, " "], [13264, 0, "a"], [13265, 0, "s"], [13266, 0, " "], [13267, 0, "d"], [13268, 0, "e"], [13269, 0, "s"], [13270, 0, "c"], [13271, 0, "r"], [13272, 0, "i"], [13273, 0, "b"], [13274, 0, "e"], [13275, 0, "d"], [13276, 0, " "], [13277, 0, "b"], [13278, 0, "e"], [13279, 0, "l"], [13280, 0, "o"], [13281, 0, "w"], [13282, 0, "."], [13283, 0, " "], [13284, 0, "I"], [13285, 0, "n"], [13286, 0, " "], [13287, 0, "a"], [13288, 0, "d"], [13289, 0, "d"], [13290, 0, "i"], [13291, 0, "t"], [13292, 0, "i"], [13293, 0, "o"], [13294, 0, "n"], [13295, 0, ","], [13296, 0, " "], [13297, 0, "$"], [13298, 0, "A"], [13299, 0, "_"], [13300, 0, "p"], [13301, 0, "$"], [13302, 0, " "], [13303, 0, "m"], [13304, 0, "a"], [13305, 0, "p"], [13306, 0, "s"], [13307, 0, " "], [13308, 0, "t"], [13309, 0, "h"], [13310, 0, "e"], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13312, 1], [13342, 0, " "], [13343, 0, "t"], [13344, 0, "o"], [13345, 0, " "], [13346, 0, "a"], [13347, 0, " "], [13348, 0, "n"], [13349, 0, "e"], [13350, 0, "s"], [13351, 0, "t"], [13352, 0, "e"], [13353, 0, "d"], [13354, 0, " "], [13355, 0, "p"], [13356, 0, "a"], [13357, 0, "r"], [13358, 0, "t"], [13359, 0, "i"], [13360, 0, "a"], [13361, 0, "l"], [13362, 0, " "], [13363, 0, "f"], [13364, 0, "u"], [13365, 0, "n"], [13366, 0, "c"], [13367, 0, "t"], [13368, 0, "i"], [13369, 0, "o"], [13370, 0, "n"], [13371, 0, " "], [13372, 0, "r"], [13373, 0, "e"], [13374, 0, "p"], [13375, 0, "r"], [13376, 0, "e"], [13377, 0, "s"], [13378, 0, "e"], [13379, 0, "n"], [13380, 0, "t"], [13381, 0, "i"], [13382, 0, "n"], [13383, 0, "g"], [13384, 0, " "], [13385, 0, "t"], [13386, 0, "h"], [13387, 0, "e"], [13388, 0, " "], [13389, 0, "c"], [13390, 0, "o"], [13391, 0, "n"], [13392, 0, "t"], [13393, 0, "e"], [13394, 0, "n"], [13395, 0, "t"], [13396, 0, "s"], [13397, 0, " "], [13398, 0, "o"], [13399, 0, "f"], [13400, 0, " "], [13401, 0, "t"], [13402, 0, "h"], [13403, 0, "e"], [13404, 0, " "], [13405, 0, "d"], [13406, 0, "o"], [13407, 0, "c"], [13408, 0, "u"], [13409, 0, "m"], [13410, 0, "e"], [13411, 0, "n"], [13412, 0, "t"], [13413, 0, "."], [13414, 0, " "], [13415, 0, "\\"], [13416, 0, "t"], [13417, 0, "e"], [13418, 0, "x"], [13419, 0, "t"], [13420, 0, "s"], [13421, 0, "f"], [13422, 0, "{"], [13423, 0, "m"], [13424, 0, "a"], [13425, 0, "p"], [13426, 0, "T"], [13427, 0, "}"], [13428, 1], [13428, 1], [13428, 1], [13428, 1], [13428, 1], [13428, 1], [13428, 1], [13585, 1], [13584, 1], [13583, 1], [13582, 1], [13581, 1], [13580, 1], [13579, 1], [13578, 1], [13577, 1], [13576, 1], [13575, 1], [13574, 1], [13573, 1], [13572, 1], [13571, 1], [13570, 1], [13569, 1], [13568, 1], [13567, 1], [13566, 1], [13565, 1], [13564, 1], [13563, 1], [13562, 1], [13561, 1], [13560, 1], [13559, 1], [13558, 1], [13557, 1], [13556, 1], [13555, 1], [13554, 1], [13553, 1], [13552, 1], [13551, 1], [13550, 1], [13549, 1], [13548, 1], [13547, 1], [13546, 1], [13545, 1], [13544, 1], [13543, 1], [13542, 1], [13541, 1], [13540, 1], [13539, 1], [13538, 1], [13537, 1], [13536, 1], [13535, 1], [13534, 1], [13533, 1], [13532, 1], [13531, 1], [13530, 1], [13529, 1], [13528, 1], [13527, 1], [13526, 1], [13525, 1], [13524, 1], [13523, 1], [13522, 1], [13521, 1], [13520, 1], [13519, 1], [13518, 1], [13517, 1], [13516, 1], [13515, 1], [13514, 1], [13513, 1], [13512, 1], [13511, 1], [13510, 1], [13509, 1], [13508, 1], [13507, 1], [13506, 1], [13505, 1], [13504, 1], [13503, 1], [13502, 1], [13501, 1], [13500, 1], [13499, 1], [13498, 1], [13497, 1], [13496, 1], [13495, 1], [13494, 1], [13493, 1], [13492, 1], [13491, 1], [13490, 1], [13489, 1], [13488, 1], [13487, 1], [13486, 1], [13485, 1], [13484, 1], [13484, 0, "T"], [13492, 0, " "], [13493, 0, "m"], [13494, 0, "a"], [13495, 0, "p"], [14734, 1], [14734, 1], [14734, 0, "\\"], [14735, 0, "["], [14736, 0, " "], [14852, 1], [14851, 1], [14851, 0, " "], [14852, 0, "\\"], [14853, 0, "]"], [14019, 1], [14018, 1], [14017, 1], [14016, 1], [14015, 1], [14014, 1], [14013, 1], [14013, 0, "f"], [14014, 0, "o"], [14015, 0, "r"], [14016, 0, "m"], [14017, 0, "a"], [14018, 0, "l"], [14019, 0, "i"], [14020, 0, "z"], [14021, 0, "e"], [14022, 0, "s"], [14023, 0, " "], [14024, 0, "t"], [14025, 0, "h"], [14026, 0, "e"], [14027, 0, " "], [14028, 0, "a"], [14029, 0, "s"], [14030, 0, "s"], [14031, 0, "u"], [14032, 0, "m"], [14033, 0, "p"], [14034, 0, "t"], [14035, 0, "i"], [14036, 0, "o"], [14037, 0, "n"], [15652, 1], [15651, 1], [15650, 1], [15649, 1], [15648, 1], [15647, 1], [15646, 1], [15645, 1], [15644, 1], [15643, 1], [15642, 1], [15641, 1], [15640, 1], [15639, 1], [15638, 1], [15637, 1], [15636, 1], [15635, 1], [15634, 1], [15633, 1], [15632, 1], [15631, 1], [15630, 1], [15629, 1], [15628, 1], [15627, 1], [15626, 1], [15625, 1], [15625, 0, "a"], [15626, 0, "r"], [15627, 0, "e"], [15628, 0, " "], [15629, 0, "t"], [15630, 0, "a"], [15631, 0, "g"], [15632, 0, "g"], [15633, 0, "e"], [15634, 0, "d"], [15635, 0, " "], [15636, 0, "w"], [15637, 0, "i"], [15638, 0, "t"], [15639, 0, "h"], [15640, 0, " "], [15641, 0, "t"], [15642, 0, "h"], [15643, 0, "e"], [15644, 0, " "], [15645, 0, "d"], [15646, 0, "a"], [15647, 0, "t"], [15648, 0, "a"], [15649, 0, "t"], [15650, 0, "y"], [15651, 0, "p"], [15652, 0, "e"], [15653, 0, " "], [15654, 0, "o"], [15655, 0, "f"], [15656, 0, " "], [15657, 0, "t"], [15658, 0, "h"], [15659, 0, "e"], [15660, 0, " "], [15661, 0, "b"], [15662, 0, "r"], [15663, 0, "a"], [15664, 0, "n"], [15665, 0, "c"], [15666, 0, "h"], [15667, 0, " "], [15668, 0, "n"], [15669, 0, "o"], [15670, 0, "d"], [15671, 0, "e"], [15672, 0, ","], [15673, 0, " "], [15674, 0, "e"], [15675, 0, "i"], [15676, 0, "t"], [15677, 0, "h"], [15678, 0, "e"], [15679, 0, "r"], [16958, 1], [16957, 1], [16956, 1], [16955, 1], [16954, 1], [16953, 1], [16952, 1], [16951, 1], [16950, 1], [16949, 1], [16948, 1], [16947, 1], [16946, 1], [16945, 1], [16944, 1], [16944, 0, "a"], [16945, 0, " "], [16946, 0, "r"], [16947, 0, "e"], [16948, 0, "g"], [16949, 0, "i"], [16950, 0, "s"], [16951, 0, "t"], [16952, 0, "e"], [16953, 0, "r"], [16954, 0, " "], [16955, 0, "a"], [16956, 0, "t"], [17116, 1], [17115, 1], [17114, 1], [17113, 1], [17113, 0, "r"], [17114, 0, " "], [17115, 0, "i"], [17116, 0, "s"], [17105, 1], [17104, 1], [17103, 1], [17102, 1], [17101, 1], [17100, 1], [17099, 1], [17098, 1], [17097, 1], [17096, 1], [17095, 1], [17094, 1], [17093, 1], [17092, 1], [17091, 1], [17090, 1], [17089, 1], [17088, 1], [17087, 1], [17086, 1], [17085, 1], [17084, 1], [17083, 1], [17082, 1], [17081, 1], [17080, 1], [17079, 1], [17078, 1], [17077, 1], [17076, 1], [17075, 1], [17074, 1], [17073, 1], [17072, 1], [17071, 1], [17070, 1], [17069, 1], [17068, 1], [17067, 1], [17066, 1], [17065, 1], [17064, 1], [17063, 1], [17062, 1], [17061, 1], [17060, 1], [17059, 1], [17058, 1], [17057, 1], [17057, 0, "A"], [17058, 0, " "], [17139, 0, ","], [17140, 0, " "], [17141, 0, "a"], [17142, 0, "n"], [17143, 0, "d"], [17144, 0, " "], [17145, 0, "t"], [17146, 0, "h"], [17147, 0, "e"], [17148, 0, " "], [17149, 0, "\\"], [17150, 0, "t"], [17151, 0, "e"], [17152, 0, "x"], [17153, 0, "t"], [17154, 0, "s"], [17155, 0, "c"], [17156, 0, "{"], [17157, 0, "V"], [17158, 0, "a"], [17159, 0, "l"], [17160, 0, "}"], [17161, 0, " "], [17162, 0, "r"], [17163, 0, "u"], [17164, 0, "l"], [17165, 0, "e"], [17166, 0, "s"], [17167, 0, " "], [17168, 0, "o"], [17169, 0, "n"], [17170, 0, "l"], [17171, 0, "y"], [17172, 0, " "], [17173, 0, "a"], [17174, 0, "p"], [17175, 0, "p"], [17176, 0, "l"], [17177, 0, "y"], [17178, 0, " "], [17179, 0, "i"], [17180, 0, "f"], [17181, 0, " "], [17182, 0, "t"], [17183, 0, "h"], [17184, 0, "e"], [17185, 0, " "], [17186, 0, "r"], [17187, 0, "e"], [17188, 0, "g"], [17189, 0, "i"], [17190, 0, "s"], [17191, 0, "t"], [17192, 0, "e"], [17193, 0, "r"], [17194, 0, " "], [17195, 0, "e"], [17196, 0, "x"], [17197, 0, "i"], [17198, 0, "s"], [17199, 0, "t"], [17200, 0, "s"], [17201, 0, " "], [17202, 0, "i"], [17203, 0, "n"], [17204, 0, " "], [17205, 0, "$"], [17206, 0, "A"], [17207, 0, "_"], [17208, 0, "p"], [17209, 0, "$"], [17194, 0, " "], [17195, 0, "i"], [17196, 0, "d"], [17197, 0, "e"], [17198, 0, "n"], [17199, 0, "t"], [17200, 0, "i"], [17201, 0, "f"], [17202, 0, "i"], [17203, 0, "e"], [17204, 0, "d"], [17205, 0, " "], [17206, 0, "b"], [17207, 0, "y"], [17208, 0, " "], [17209, 0, "t"], [17210, 0, "h"], [17211, 0, "e"], [17212, 0, " "], [17213, 0, "c"], [17214, 0, "u"], [17215, 0, "r"], [17216, 0, "s"], [17217, 0, "o"], [17218, 0, "r"], [17401, 1], [17401, 0, " "], [17402, 0, "-"], [17403, 0, "-"], [20686, 1], [20685, 1], [20684, 1], [20683, 1], [20682, 1], [20681, 1], [20680, 1], [20679, 1], [20678, 1], [20677, 1], [20676, 1], [20675, 1], [20674, 1], [20673, 1], [20672, 1], [20671, 1], [20670, 1], [20669, 1], [20668, 1], [20667, 1], [20666, 1], [20665, 1], [20664, 1], [20663, 1], [20662, 1], [20661, 1], [20660, 1], [20659, 1], [20658, 1], [20657, 1], [20656, 1], [20655, 1], [20654, 1], [20653, 1], [20652, 1], [20651, 1], [20650, 1], [20649, 1], [20648, 1], [20647, 1], [20646, 1], [20645, 1], [20644, 1], [20643, 1], [20642, 1], [20641, 1], [20640, 1], [20639, 1], [20638, 1], [20637, 1], [20636, 1], [20635, 1], [20634, 1], [20633, 1], [20632, 1], [20631, 1], [20630, 1], [20629, 1], [20628, 1], [20627, 1], [20626, 1], [20625, 1], [20624, 1], [20623, 1], [20622, 1], [20621, 1], [20620, 1], [20619, 1], [20618, 1], [20617, 1], [20616, 1], [20615, 1], [20614, 1], [20613, 1], [20612, 1], [20611, 1], [20610, 1], [20609, 1], [20608, 1], [20607, 1], [20606, 1], [20605, 1], [20604, 1], [20603, 1], [20602, 1], [20601, 1], [20600, 1], [20599, 1], [20598, 1], [20597, 1], [20596, 1], [20595, 1], [20594, 1], [20593, 1], [20592, 1], [20591, 1], [20590, 1], [20589, 1], [20588, 1], [20587, 1], [20586, 1], [20585, 1], [20584, 1], [20583, 1], [20582, 1], [20581, 1], [20580, 1], [20579, 1], [20578, 1], [20577, 1], [20576, 1], [20575, 1], [20574, 1], [20573, 1], [20572, 1], [20571, 1], [20570, 1], [20569, 1], [20568, 1], [20567, 1], [20566, 1], [20565, 1], [20564, 1], [20563, 1], [20562, 1], [20561, 1], [20560, 1], [20559, 1], [20558, 1], [20557, 1], [20556, 1], [20555, 1], [20554, 1], [20553, 1], [20552, 1], [20551, 1], [20550, 1], [20549, 1], [20548, 1], [20547, 1], [20546, 1], [20545, 1], [20544, 1], [20543, 1], [20542, 1], [20541, 1], [20540, 1], [20539, 1], [20538, 1], [20537, 1], [20536, 1], [20535, 1], [20534, 1], [20533, 1], [20532, 1], [20531, 1], [20530, 1], [20529, 1], [20528, 1], [20527, 1], [20526, 1], [20525, 1], [20524, 1], [20523, 1], [20522, 1], [20521, 1], [20520, 1], [20519, 1], [20518, 1], [20517, 1], [20516, 1], [20515, 1], [20514, 1], [20513, 1], [20512, 1], [20511, 1], [20510, 1], [20509, 1], [20508, 1], [20507, 1], [20506, 1], [20505, 1], [20504, 1], [20503, 1], [20502, 1], [20501, 1], [20500, 1], [20499, 1], [20498, 1], [20497, 1], [20496, 1], [20495, 1], [20494, 1], [20493, 1], [20492, 1], [20491, 1], [20490, 1], [20489, 1], [20488, 1], [20487, 1], [20486, 1], [20485, 1], [20484, 1], [20483, 1], [20482, 1], [20481, 1], [20480, 1], [20479, 1], [20478, 1], [20477, 1], [20476, 1], [20475, 1], [20474, 1], [20473, 1], [20472, 1], [20471, 1], [20470, 1], [20469, 1], [20468, 1], [20467, 1], [20466, 1], [20465, 1], [20464, 1], [20463, 1], [20462, 1], [20461, 1], [20460, 1], [20459, 1], [20458, 1], [20457, 1], [20456, 1], [20455, 1], [20454, 1], [20453, 1], [20452, 1], [20451, 1], [20450, 1], [20449, 1], [20448, 1], [20447, 1], [20446, 1], [20445, 1], [20444, 1], [20443, 1], [20442, 1], [20441, 1], [20440, 1], [20439, 1], [20438, 1], [20437, 1], [20436, 1], [20435, 1], [20434, 1], [20433, 1], [20432, 1], [20431, 1], [20430, 1], [20429, 1], [20428, 1], [20427, 1], [20426, 1], [20425, 1], [20424, 1], [20423, 1], [20422, 1], [20421, 1], [20420, 1], [20419, 1], [20418, 1], [20417, 1], [20416, 1], [20415, 1], [20414, 1], [20413, 1], [20412, 1], [20411, 1], [20410, 1], [20409, 1], [20408, 1], [20407, 1], [20406, 1], [20405, 1], [20404, 1], [20403, 1], [20402, 1], [20401, 1], [20400, 1], [20399, 1], [20398, 1], [20397, 1], [20396, 1], [20395, 1], [20394, 1], [20393, 1], [20392, 1], [20391, 1], [20390, 1], [20389, 1], [20388, 1], [20387, 1], [20386, 1], [20385, 1], [20384, 1], [20383, 1], [20382, 1], [20381, 1], [20380, 1], [20379, 1], [20378, 1], [20377, 1], [20376, 1], [20375, 1], [20374, 1], [20373, 1], [20372, 1], [20371, 1], [20370, 1], [20369, 1], [20368, 1], [20367, 1], [20366, 1], [20365, 1], [20364, 1], [20363, 1], [20362, 1], [20361, 1], [20360, 1], [20359, 1], [20358, 1], [20357, 1], [20356, 1], [20355, 1], [20354, 1], [20353, 1], [20352, 1], [20351, 1], [20350, 1], [20349, 1], [20348, 1], [20347, 1], [20346, 1], [20345, 1], [20344, 1], [20343, 1], [20342, 1], [20341, 1], [20340, 1], [20339, 1], [20338, 1], [20337, 1], [20336, 1], [20335, 1], [20334, 1], [20333, 1], [20332, 1], [20331, 1], [20330, 1], [20329, 1], [20328, 1], [20327, 1], [20326, 1], [20325, 1], [20324, 1], [20323, 1], [20322, 1], [20321, 1], [20320, 1], [20319, 1], [20318, 1], [20317, 1], [20316, 1], [20315, 1], [20314, 1], [20313, 1], [20312, 1], [20311, 1], [20310, 1], [20309, 1], [20308, 1], [20307, 1], [20306, 1], [20305, 1], [20304, 1], [20303, 1], [20302, 1], [20301, 1], [20300, 1], [20299, 1], [20298, 1], [20297, 1], [20296, 1], [20295, 1], [20294, 1], [20293, 1], [20292, 1], [20291, 1], [20290, 1], [20289, 1], [20288, 1], [20287, 1], [20286, 1], [20285, 1], [20284, 1], [20283, 1], [20282, 1], [20281, 1], [20280, 1], [20279, 1], [20278, 1], [20277, 1], [20276, 1], [20275, 1], [20274, 1], [20273, 1], [20272, 1], [20271, 1], [20270, 1], [20269, 1], [20268, 1], [20267, 1], [20266, 1], [20265, 1], [20264, 1], [20263, 1], [20262, 1], [20261, 1], [20260, 1], [20259, 1], [20258, 1], [20257, 1], [20256, 1], [20255, 1], [20254, 1], [20253, 1], [20252, 1], [20251, 1], [20250, 1], [20249, 1], [20248, 1], [20247, 1], [20246, 1], [20245, 1], [20244, 1], [20243, 1], [20242, 1], [20241, 1], [20240, 1], [20239, 1], [20238, 1], [20237, 1], [20236, 1], [20235, 1], [20234, 1], [20233, 1], [20232, 1], [20231, 1], [20230, 1], [20229, 1], [20228, 1], [20227, 1], [20226, 1], [20225, 1], [20224, 1], [20223, 1], [20222, 1], [20221, 1], [20220, 1], [20219, 1], [20218, 1], [20217, 1], [20216, 1], [20215, 1], [20214, 1], [20213, 1], [20212, 1], [20211, 1], [20210, 1], [20209, 1], [20208, 1], [20207, 1], [20206, 1], [20205, 1], [20204, 1], [20203, 1], [20202, 1], [20201, 1], [20200, 1], [20199, 1], [20198, 1], [20197, 1], [20196, 1], [20195, 1], [20194, 1], [20193, 1], [20192, 1], [20191, 1], [20190, 1], [20189, 1], [20188, 1], [20187, 1], [20186, 1], [20185, 1], [20184, 1], [20183, 1], [20182, 1], [20181, 1], [20180, 1], [20179, 1], [20178, 1], [20177, 1], [20176, 1], [20175, 1], [20174, 1], [20173, 1], [20172, 1], [20171, 1], [20170, 1], [20169, 1], [20168, 1], [20167, 1], [20166, 1], [20165, 1], [20164, 1], [20163, 1], [20162, 1], [20161, 1], [20160, 1], [20159, 1], [20158, 1], [20157, 1], [20156, 1], [20155, 1], [20154, 1], [20153, 1], [20152, 1], [20151, 1], [20150, 1], [20149, 1], [20148, 1], [20147, 1], [20146, 1], [20145, 1], [20144, 1], [20143, 1], [20142, 1], [20141, 1], [20140, 1], [20139, 1], [20138, 1], [20137, 1], [20136, 1], [20135, 1], [20134, 1], [20133, 1], [20132, 1], [20131, 1], [20130, 1], [20129, 1], [20128, 1], [20127, 1], [20126, 1], [20125, 1], [20124, 1], [20123, 1], [20122, 1], [20121, 1], [20120, 1], [20119, 1], [20118, 1], [20117, 1], [20116, 1], [20115, 1], [20114, 1], [20113, 1], [20112, 1], [20111, 1], [20110, 1], [20109, 1], [20108, 1], [20107, 1], [20106, 1], [20105, 1], [20104, 1], [20103, 1], [20102, 1], [20101, 1], [20100, 1], [20099, 1], [20098, 1], [20097, 1], [20096, 1], [20095, 1], [20094, 1], [20093, 1], [20092, 1], [20091, 1], [20090, 1], [20089, 1], [20088, 1], [20087, 1], [20086, 1], [20085, 1], [20084, 1], [20083, 1], [20082, 1], [20081, 1], [20080, 1], [20079, 1], [20078, 1], [20077, 1], [20076, 1], [20075, 1], [20074, 1], [20073, 1], [20072, 1], [20071, 1], [20070, 1], [20069, 1], [20068, 1], [20067, 1], [20066, 1], [20065, 1], [20064, 1], [20063, 1], [20062, 1], [20061, 1], [20060, 1], [20059, 1], [20058, 1], [20057, 1], [20056, 1], [20055, 1], [20054, 1], [20053, 1], [20052, 1], [20051, 1], [20050, 1], [20049, 1], [20048, 1], [20047, 1], [20046, 1], [20045, 1], [20044, 1], [20043, 1], [20042, 1], [20041, 1], [20040, 1], [20039, 1], [20038, 1], [20037, 1], [20036, 1], [20035, 1], [20034, 1], [20033, 1], [20032, 1], [20031, 1], [20030, 1], [20029, 1], [20028, 1], [20027, 1], [20026, 1], [20025, 1], [20024, 1], [20023, 1], [20022, 1], [20021, 1], [20020, 1], [20019, 1], [20018, 1], [20017, 1], [20016, 1], [20015, 1], [20014, 1], [20013, 1], [20012, 1], [20011, 1], [20010, 1], [20009, 1], [20008, 1], [20007, 1], [20006, 1], [20005, 1], [20004, 1], [20003, 1], [20002, 1], [20001, 1], [20000, 1], [19999, 1], [19998, 1], [19997, 1], [19996, 1], [19995, 1], [19994, 1], [19993, 1], [19992, 1], [19991, 1], [19990, 1], [19989, 1], [19988, 1], [19987, 1], [19986, 1], [19985, 1], [19984, 1], [19983, 1], [19982, 1], [19981, 1], [19980, 1], [19979, 1], [19978, 1], [19977, 1], [19976, 1], [19975, 1], [19974, 1], [19973, 1], [19972, 1], [19971, 1], [19970, 1], [19969, 1], [19968, 1], [19967, 1], [19966, 1], [19965, 1], [19964, 1], [19963, 1], [19962, 1], [19961, 1], [19960, 1], [19959, 1], [19958, 1], [19957, 1], [19956, 1], [19955, 1], [19954, 1], [19953, 1], [19952, 1], [19951, 1], [19950, 1], [19949, 1], [19948, 1], [19947, 1], [19946, 1], [19945, 1], [19944, 1], [19943, 1], [19942, 1], [19941, 1], [19940, 1], [19939, 1], [19938, 1], [19937, 1], [19936, 1], [19935, 1], [19934, 1], [19933, 1], [19932, 1], [19931, 1], [19930, 1], [19929, 1], [19928, 1], [19927, 1], [19926, 1], [19925, 1], [19924, 1], [19923, 1], [19922, 1], [19921, 1], [19920, 1], [19919, 1], [19918, 1], [19917, 1], [19916, 1], [19915, 1], [19914, 1], [19913, 1], [19912, 1], [19911, 1], [19910, 1], [19909, 1], [19908, 1], [19907, 1], [19906, 1], [19905, 1], [19904, 1], [19903, 1], [19902, 1], [19901, 1], [19900, 1], [19899, 1], [19898, 1], [19897, 1], [19896, 1], [19895, 1], [19894, 1], [19893, 1], [19892, 1], [19891, 1], [19890, 1], [19889, 1], [19888, 1], [19887, 1], [19886, 1], [19885, 1], [19884, 1], [19883, 1], [19882, 1], [19881, 1], [19880, 1], [19879, 1], [19878, 1], [19877, 1], [19876, 1], [19875, 1], [19874, 1], [19873, 1], [19872, 1], [19871, 1], [19870, 1], [19869, 1], [19868, 1], [19867, 1], [19866, 1], [19865, 1], [19864, 1], [19863, 1], [19862, 1], [19861, 1], [19860, 1], [19859, 1], [19858, 1], [19857, 1], [19856, 1], [19855, 1], [19854, 1], [19853, 1], [19852, 1], [19851, 1], [19850, 1], [19849, 1], [19848, 1], [19847, 1], [19846, 1], [19845, 1], [19844, 1], [19843, 1], [19842, 1], [19841, 1], [19840, 1], [19839, 1], [19838, 1], [19837, 1], [19836, 1], [19835, 1], [19834, 1], [19833, 1], [19832, 1], [19831, 1], [19830, 1], [19829, 1], [19828, 1], [19827, 1], [19826, 1], [19825, 1], [19824, 1], [19823, 1], [19822, 1], [19821, 1], [19820, 1], [19819, 1], [19818, 1], [19817, 1], [19816, 1], [19815, 1], [19814, 1], [19813, 1], [19812, 1], [19811, 1], [19810, 1], [19809, 1], [19808, 1], [19807, 1], [19806, 1], [19805, 1], [19804, 1], [19803, 1], [19802, 1], [19801, 1], [19800, 1], [19799, 1], [19798, 1], [19797, 1], [19796, 1], [19795, 1], [19794, 1], [19793, 1], [19792, 1], [19791, 1], [19790, 1], [19789, 1], [19788, 1], [19787, 1], [19786, 1], [19785, 1], [19784, 1], [19783, 1], [19782, 1], [19781, 1], [19780, 1], [19779, 1], [19778, 1], [19777, 1], [19776, 1], [19775, 1], [19774, 1], [19773, 1], [19772, 1], [19771, 1], [19770, 1], [19769, 1], [19768, 1], [19767, 1], [19766, 1], [19765, 1], [19764, 1], [19763, 1], [19762, 1], [19761, 1], [19760, 1], [19759, 1], [19758, 1], [19757, 1], [19756, 1], [19755, 1], [19754, 1], [19753, 1], [19752, 1], [19751, 1], [19750, 1], [19749, 1], [19748, 1], [19747, 1], [19746, 1], [19745, 1], [19744, 1], [19743, 1], [19742, 1], [19741, 1], [19740, 1], [19739, 1], [19738, 1], [19737, 1], [19736, 1], [19735, 1], [19734, 1], [19733, 1], [19732, 1], [19731, 1], [19730, 1], [19729, 1], [19728, 1], [19727, 1], [19726, 1], [19725, 1], [19724, 1], [19723, 1], [19722, 1], [19721, 1], [19720, 1], [19719, 1], [19718, 1], [19717, 1], [19716, 1], [19715, 1], [19714, 1], [19713, 1], [19712, 1], [19711, 1], [19710, 1], [19709, 1], [19708, 1], [19707, 1], [19706, 1], [19705, 1], [19704, 1], [19703, 1], [19702, 1], [19701, 1], [19700, 1], [19699, 1], [19698, 1], [19697, 1], [19696, 1], [19695, 1], [19694, 1], [19693, 1], [19692, 1], [19691, 1], [19690, 1], [19689, 1], [19688, 1], [19687, 1], [19686, 1], [19685, 1], [19684, 1], [19683, 1], [19682, 1], [19681, 1], [19680, 1], [19679, 1], [19678, 1], [19677, 1], [19676, 1], [19675, 1], [19674, 1], [19673, 1], [19672, 1], [19671, 1], [19670, 1], [19669, 1], [19668, 1], [19667, 1], [19666, 1], [19665, 1], [19664, 1], [19663, 1], [19662, 1], [19661, 1], [19660, 1], [19659, 1], [19658, 1], [19657, 1], [19656, 1], [19655, 1], [19654, 1], [19653, 1], [19652, 1], [19651, 1], [19650, 1], [19649, 1], [19648, 1], [19647, 1], [19646, 1], [19645, 1], [19644, 1], [19643, 1], [19642, 1], [19641, 1], [19640, 1], [19639, 1], [19638, 1], [19637, 1], [19636, 1], [19635, 1], [19634, 1], [19633, 1], [19632, 1], [19631, 1], [19630, 1], [19629, 1], [19628, 1], [19627, 1], [19626, 1], [19625, 1], [19624, 1], [19623, 1], [19622, 1], [19621, 1], [19620, 1], [19619, 1], [19618, 1], [19617, 1], [19616, 1], [19615, 1], [19614, 1], [19613, 1], [19612, 1], [19611, 1], [19610, 1], [19609, 1], [19608, 1], [19607, 1], [19606, 1], [19605, 1], [19604, 1], [19603, 1], [19602, 1], [19601, 1], [19600, 1], [19599, 1], [19598, 1], [19597, 1], [19596, 1], [19595, 1], [19594, 1], [19593, 1], [19592, 1], [19591, 1], [19590, 1], [19589, 1], [19588, 1], [19587, 1], [19586, 1], [19585, 1], [19584, 1], [19583, 1], [19582, 1], [19581, 1], [19580, 1], [19579, 1], [19578, 1], [19577, 1], [19576, 1], [19575, 1], [19574, 1], [19573, 1], [19572, 1], [19571, 1], [19570, 1], [19569, 1], [19568, 1], [19567, 1], [19566, 1], [19565, 1], [19564, 1], [19563, 1], [19562, 1], [19561, 1], [19560, 1], [19559, 1], [19558, 1], [19557, 1], [19556, 1], [19555, 1], [19554, 1], [19553, 1], [19552, 1], [19551, 1], [19550, 1], [19549, 1], [19548, 1], [19547, 1], [19546, 1], [19545, 1], [19544, 1], [19543, 1], [19542, 1], [19541, 1], [19540, 1], [19539, 1], [19538, 1], [19537, 1], [19536, 1], [19535, 1], [19534, 1], [19533, 1], [19532, 1], [19531, 1], [19530, 1], [19529, 1], [19528, 1], [19527, 1], [19526, 1], [19525, 1], [19524, 1], [19523, 1], [19522, 1], [19521, 1], [19520, 1], [19519, 1], [19518, 1], [19517, 1], [19516, 1], [19515, 1], [19514, 1], [19513, 1], [19512, 1], [19511, 1], [19510, 1], [19509, 1], [19508, 1], [19507, 1], [19506, 1], [19505, 1], [19504, 1], [19503, 1], [19502, 1], [19501, 1], [19500, 1], [19499, 1], [19498, 1], [19497, 1], [19496, 1], [19495, 1], [19494, 1], [19493, 1], [19492, 1], [19491, 1], [19490, 1], [19489, 1], [19488, 1], [19487, 1], [19486, 1], [19485, 1], [19484, 1], [19483, 1], [19482, 1], [19481, 1], [19480, 1], [19479, 1], [19478, 1], [19477, 1], [19476, 1], [19475, 1], [19474, 1], [19473, 1], [19472, 1], [19471, 1], [19470, 1], [19469, 1], [19468, 1], [19467, 1], [19466, 1], [19465, 1], [19464, 1], [19463, 1], [19462, 1], [19461, 1], [19460, 1], [19459, 1], [19458, 1], [19457, 1], [19456, 1], [19455, 1], [19454, 1], [19453, 1], [19452, 1], [19451, 1], [19450, 1], [19449, 1], [19448, 1], [19447, 1], [19446, 1], [19445, 1], [19444, 1], [19443, 1], [19442, 1], [19441, 1], [19440, 1], [19439, 1], [19438, 1], [19437, 1], [19436, 1], [19435, 1], [19434, 1], [19433, 1], [19432, 1], [19431, 1], [19430, 1], [19429, 1], [19428, 1], [19427, 1], [19426, 1], [19425, 1], [19424, 1], [19423, 1], [19422, 1], [19421, 1], [19420, 1], [19419, 1], [19418, 1], [19417, 1], [19416, 1], [19415, 1], [19414, 1], [19413, 1], [19412, 1], [19411, 1], [19410, 1], [19409, 1], [19408, 1], [19407, 1], [19406, 1], [19405, 1], [19404, 1], [19403, 1], [19402, 1], [19401, 1], [19400, 1], [19399, 1], [19398, 1], [19397, 1], [19396, 1], [19395, 1], [19394, 1], [19393, 1], [19392, 1], [19391, 1], [19390, 1], [19389, 1], [19388, 1], [19387, 1], [19386, 1], [19385, 1], [19384, 1], [19383, 1], [19382, 1], [19381, 1], [19380, 1], [19379, 1], [19378, 1], [19377, 1], [19376, 1], [19375, 1], [19374, 1], [19373, 1], [19372, 1], [19371, 1], [19370, 1], [19369, 1], [19368, 1], [19367, 1], [19366, 1], [19365, 1], [19364, 1], [19363, 1], [19362, 1], [19361, 1], [19360, 1], [19359, 1], [19358, 1], [19357, 1], [19356, 1], [19355, 1], [19354, 1], [19353, 1], [19352, 1], [19351, 1], [19350, 1], [19349, 1], [19348, 1], [19347, 1], [19346, 1], [19345, 1], [19344, 1], [19343, 1], [19342, 1], [19341, 1], [19340, 1], [19339, 1], [19338, 1], [19337, 1], [19336, 1], [19335, 1], [19334, 1], [19333, 1], [19332, 1], [19331, 1], [19330, 1], [19329, 1], [19328, 1], [19327, 1], [19326, 1], [19325, 1], [19324, 1], [19323, 1], [19322, 1], [19321, 1], [19320, 1], [19319, 1], [19318, 1], [19317, 1], [19316, 1], [19315, 1], [19314, 1], [19313, 1], [19312, 1], [19311, 1], [19310, 1], [19309, 1], [19308, 1], [19307, 1], [19306, 1], [19305, 1], [19304, 1], [19303, 1], [19302, 1], [19301, 1], [19300, 1], [19299, 1], [19298, 1], [19297, 1], [19296, 1], [19295, 1], [19294, 1], [19293, 1], [19292, 1], [19291, 1], [19290, 1], [19289, 1], [19288, 1], [19287, 1], [19286, 1], [19285, 1], [19284, 1], [19283, 1], [19282, 1], [19281, 1], [19280, 1], [19279, 1], [19278, 1], [19277, 1], [19276, 1], [19275, 1], [19274, 1], [19273, 1], [19272, 1], [19271, 1], [19270, 1], [19269, 1], [19268, 1], [19267, 1], [19266, 1], [19265, 1], [19264, 1], [19263, 1], [19262, 1], [19261, 1], [19260, 1], [19259, 1], [19258, 1], [19257, 1], [19256, 1], [19255, 1], [19254, 1], [19253, 1], [19252, 1], [19251, 1], [19250, 1], [19249, 1], [19248, 1], [19247, 1], [19246, 1], [19245, 1], [19244, 1], [19243, 1], [19242, 1], [19241, 1], [19240, 1], [19239, 1], [19238, 1], [19237, 1], [19236, 1], [19235, 1], [19234, 1], [19233, 1], [19232, 1], [19231, 1], [19230, 1], [19229, 1], [19228, 1], [19227, 1], [19226, 1], [19225, 1], [19224, 1], [19223, 1], [19222, 1], [19221, 1], [19220, 1], [19219, 1], [19218, 1], [19217, 1], [19216, 1], [19215, 1], [19214, 1], [19213, 1], [19212, 1], [19211, 1], [19210, 1], [19209, 1], [19208, 1], [19207, 1], [19206, 1], [19205, 1], [19204, 1], [19203, 1], [19202, 1], [19201, 1], [19200, 1], [19199, 1], [19198, 1], [19197, 1], [19196, 1], [19195, 1], [19194, 1], [19193, 1], [19192, 1], [19191, 1], [19190, 1], [19189, 1], [19188, 1], [19187, 1], [19186, 1], [19185, 1], [19184, 1], [19183, 1], [19182, 1], [19181, 1], [19180, 1], [19179, 1], [19178, 1], [19177, 1], [19176, 1], [19175, 1], [19174, 1], [19173, 1], [19172, 1], [19171, 1], [19170, 1], [19169, 1], [19168, 1], [19167, 1], [19166, 1], [19165, 1], [19164, 1], [19163, 1], [19162, 1], [19161, 1], [19160, 1], [19159, 1], [19158, 1], [19157, 1], [19156, 1], [19155, 1], [19154, 1], [19153, 1], [19152, 1], [19151, 1], [19150, 1], [19149, 1], [19148, 1], [19147, 1], [19146, 1], [19145, 1], [19144, 1], [19143, 1], [19142, 1], [19141, 1], [19140, 1], [19139, 1], [19138, 1], [19137, 1], [19136, 1], [19135, 1], [19134, 1], [19133, 1], [19132, 1], [19131, 1], [19130, 1], [19129, 1], [19128, 1], [19127, 1], [19126, 1], [19125, 1], [19124, 1], [19123, 1], [19122, 1], [19121, 1], [19120, 1], [19119, 1], [19118, 1], [19117, 1], [19116, 1], [19115, 1], [19114, 1], [19113, 1], [19112, 1], [19111, 1], [19110, 1], [19109, 1], [19108, 1], [19107, 1], [19106, 1], [19105, 1], [19104, 1], [19103, 1], [19102, 1], [19101, 1], [19100, 1], [19099, 1], [19098, 1], [19097, 1], [19096, 1], [19095, 1], [19094, 1], [19093, 1], [19092, 1], [19091, 1], [19090, 1], [19089, 1], [19088, 1], [19087, 1], [19086, 1], [19085, 1], [19084, 1], [19083, 1], [19082, 1], [19081, 1], [19080, 1], [19079, 1], [19078, 1], [19077, 1], [19076, 1], [19075, 1], [19074, 1], [19073, 1], [19072, 1], [19071, 1], [19070, 1], [19069, 1], [19068, 1], [19067, 1], [19066, 1], [19065, 1], [19064, 1], [19063, 1], [19062, 1], [19061, 1], [19060, 1], [19059, 1], [19058, 1], [19057, 1], [19056, 1], [19055, 1], [19054, 1], [19053, 1], [19052, 1], [19051, 1], [19050, 1], [19049, 1], [19048, 1], [19047, 1], [19046, 1], [19045, 1], [19044, 1], [19043, 1], [19042, 1], [19041, 1], [19040, 1], [19039, 1], [19038, 1], [19037, 1], [19036, 1], [19035, 1], [19034, 1], [19033, 1], [19032, 1], [19031, 1], [19030, 1], [19029, 1], [19028, 1], [19027, 1], [19026, 1], [19025, 1], [19024, 1], [19023, 1], [19022, 1], [19021, 1], [19020, 1], [19019, 1], [19018, 1], [19017, 1], [19016, 1], [19015, 1], [19014, 1], [19013, 1], [19012, 1], [19011, 1], [19010, 1], [19009, 1], [19008, 1], [19007, 1], [19006, 1], [19005, 1], [19004, 1], [19003, 1], [19002, 1], [19001, 1], [19000, 1], [18999, 1], [18998, 1], [18997, 1], [18996, 1], [18995, 1], [18994, 1], [18993, 1], [18992, 1], [18991, 1], [18990, 1], [18989, 1], [18988, 1], [18987, 1], [18986, 1], [18985, 1], [18984, 1], [18983, 1], [18982, 1], [18981, 1], [18980, 1], [18979, 1], [18978, 1], [18977, 1], [18976, 1], [18975, 1], [18974, 1], [18973, 1], [18972, 1], [18971, 1], [18970, 1], [18969, 1], [18968, 1], [18967, 1], [18966, 1], [18965, 1], [18964, 1], [18963, 1], [18962, 1], [18961, 1], [18960, 1], [18959, 1], [18958, 1], [18957, 1], [18956, 1], [18955, 1], [18954, 1], [17502, 0, "s"], [17503, 0, "u"], [17504, 0, "b"], [17458, 1], [17457, 1], [17456, 1], [17455, 1], [17455, 0, "\\"], [17467, 1], [17467, 1], [17467, 1], [17467, 1], [17467, 1], [17467, 1], [17467, 1], [17467, 1], [17467, 1], [17467, 1], [17467, 1], [17467, 1], [17467, 1], [17467, 1], [17467, 1], [17467, 1], [17467, 1], [17467, 1], [17467, 1], [17467, 1], [17467, 1], [17467, 1], [17467, 1], [17467, 1], [17467, 1], [17467, 1], [17467, 1], [17467, 1], [17467, 0, "G"], [17468, 0, "e"], [17469, 0, "n"], [17470, 0, "e"], [17471, 0, "r"], [17472, 0, "a"], [17473, 0, "t"], [17474, 0, "i"], [17475, 0, "n"], [17476, 0, "g"], [17477, 0, " "], [17478, 0, "o"], [17479, 0, "p"], [17480, 0, "e"], [17481, 0, "r"], [17482, 0, "a"], [17483, 0, "t"], [17484, 0, "i"], [17485, 0, "o"], [17486, 0, "n"], [17487, 0, "s"], [17489, 0, "\n"], [17490, 0, "\n"], [17491, 0, "B"], [17492, 0, "e"], [17493, 0, "f"], [17494, 0, "o"], [17495, 0, "r"], [17496, 0, "e"], [17497, 0, " "], [17497, 1], [17496, 1], [17495, 1], [17494, 1], [17493, 1], [17492, 1], [17491, 1], [17491, 0, "W"], [17492, 0, "e"], [17493, 0, " "], [17494, 0, "n"], [17495, 0, "o"], [17496, 0, "w"], [17497, 0, " "], [17498, 0, "t"], [17499, 0, "u"], [17500, 0, "r"], [17501, 0, "n"], [17502, 0, " "], [17503, 0, "t"], [17504, 0, "o"], [17505, 0, " "], [17506, 0, "t"], [17507, 0, "h"], [17508, 0, "e"], [17509, 0, " "], [17510, 0, "c"], [17511, 0, "o"], [17512, 0, "m"], [17513, 0, "m"], [17514, 0, "a"], [17515, 0, "n"], [17516, 0, "d"], [17517, 0, "s"], [17518, 0, " "], [17519, 0, "f"], [17520, 0, "o"], [17521, 0, "r"], [17522, 0, " "], [17523, 0, "m"], [17524, 0, "u"], [17525, 0, "t"], [17526, 0, "a"], [17527, 0, "t"], [17528, 0, "i"], [17529, 0, "n"], [17530, 0, "g"], [17531, 0, " "], [17532, 0, "t"], [17533, 0, "h"], [17534, 0, "e"], [17535, 0, " "], [17536, 0, "s"], [17537, 0, "t"], [17538, 0, "a"], [17539, 0, "t"], [17540, 0, "e"], [17541, 0, " "], [17542, 0, "o"], [17543, 0, "f"], [17544, 0, " "], [17545, 0, "t"], [17546, 0, "h"], [17547, 0, "e"], [17548, 0, " "], [17549, 0, "d"], [17550, 0, "o"], [17551, 0, "c"], [17552, 0, "u"], [17553, 0, "m"], [17554, 0, "e"], [17555, 0, "n"], [17556, 0, "t"], [17557, 0, "."], [17508, 1], [17507, 1], [17506, 1], [17505, 1], [17504, 1], [17503, 1], [17502, 1], [17501, 1], [17500, 1], [17499, 1], [17498, 1], [17497, 1], [17496, 1], [17495, 1], [17494, 1], [17493, 1], [17492, 1], [17491, 1], [17491, 0, "B"], [17492, 0, "e"], [17493, 0, "f"], [17494, 0, "o"], [17495, 0, "r"], [17496, 0, "e"], [17497, 0, " "], [17498, 0, "w"], [17499, 0, "e"], [17500, 0, " "], [17501, 0, "c"], [17502, 0, "a"], [17503, 0, "n"], [17504, 0, " "], [17505, 0, "d"], [17506, 0, "e"], [17507, 0, "f"], [17508, 0, "i"], [17509, 0, "n"], [17510, 0, "e"], [17511, 0, " "], [17512, 0, "t"], [17513, 0, "h"], [17514, 0, "e"], [17515, 0, " "], [17516, 0, "f"], [17517, 0, "o"], [17518, 0, "r"], [17519, 0, "m"], [17520, 0, "a"], [17521, 0, "l"], [17522, 0, " "], [17523, 0, "s"], [17524, 0, "e"], [17525, 0, "m"], [17526, 0, "a"], [17527, 0, "n"], [17528, 0, "t"], [17529, 0, "i"], [17530, 0, "c"], [17531, 0, "s"], [17532, 0, " "], [17533, 0, "o"], [17534, 0, "f"], [17535, 0, " "], [17536, 0, "t"], [17537, 0, "h"], [17538, 0, "e"], [17551, 1], [17550, 1], [17549, 1], [17549, 0, "t"], [17550, 0, "h"], [17551, 0, "a"], [17552, 0, "t"], [17561, 1], [17560, 1], [17559, 1], [17559, 0, "e"], [17586, 0, " "], [17586, 1], [17586, 0, ","], [17587, 0, " "], [17588, 0, "w"], [17589, 0, "e"], [17590, 0, " "], [17591, 0, "m"], [17592, 0, "u"], [17593, 0, "s"], [17594, 0, "t"], [17595, 0, " "], [17553, 1], [17552, 1], [17551, 1], [17550, 1], [17549, 1], [17538, 1], [17537, 1], [17536, 1], [17535, 1], [17534, 1], [17533, 1], [17532, 1], [17531, 1], [17530, 1], [17529, 1], [17528, 1], [17527, 1], [17526, 1], [17525, 1], [17524, 1], [17523, 1], [17522, 1], [17521, 1], [17520, 1], [17519, 1], [17518, 1], [17517, 1], [17516, 1], [17515, 1], [17514, 1], [17513, 1], [17512, 1], [17511, 1], [17510, 1], [17509, 1], [17508, 1], [17507, 1], [17506, 1], [17505, 1], [17504, 1], [17503, 1], [17502, 1], [17501, 1], [17500, 1], [17499, 1], [17498, 1], [17497, 1], [17496, 1], [17495, 1], [17494, 1], [17493, 1], [17492, 1], [17491, 1], [17491, 0, "W"], [17492, 0, "h"], [17493, 0, "e"], [17494, 0, "n"], [17546, 1], [17545, 1], [17544, 1], [17543, 1], [17542, 1], [17541, 1], [17540, 1], [17539, 1], [17539, 0, "t"], [17540, 0, "h"], [17541, 0, "e"], [17542, 0, "y"], [17543, 0, " "], [17544, 0, "g"], [17545, 0, "e"], [17546, 0, "n"], [17547, 0, "e"], [17548, 0, "r"], [17549, 0, "a"], [17550, 0, "t"], [17551, 0, "e"], [17552, 0, " "], [17553, 0, "\\"], [17554, 0, "e"], [17555, 0, "m"], [17556, 0, "p"], [17557, 0, "h"], [17558, 0, "{"], [17559, 0, "o"], [17560, 0, "p"], [17561, 0, "e"], [17562, 0, "r"], [17563, 0, "a"], [17564, 0, "t"], [17565, 0, "i"], [17566, 0, "o"], [17567, 0, "n"], [17568, 0, "s"], [17569, 0, "}"], [17570, 0, " "], [17571, 0, "t"], [17572, 0, "h"], [17573, 0, "a"], [17574, 0, "t"], [17575, 0, " "], [17576, 0, "d"], [17577, 0, "e"], [17578, 0, "s"], [17579, 0, "c"], [17580, 0, "r"], [17581, 0, "i"], [17582, 0, "b"], [17583, 0, "e"], [17584, 0, " "], [17585, 0, "t"], [17586, 0, "h"], [17587, 0, "e"], [17588, 0, " "], [17589, 0, "m"], [17590, 0, "u"], [17591, 0, "t"], [17592, 0, "a"], [17593, 0, "t"], [17594, 0, "i"], [17595, 0, "o"], [17596, 0, "n"], [17598, 0, " "], [17599, 0, "I"], [17600, 0, "n"], [17601, 0, " "], [17602, 0, "o"], [17603, 0, "u"], [17604, 0, "r"], [17605, 0, " "], [17606, 0, "s"], [17607, 0, "e"], [17608, 0, "m"], [17609, 0, "a"], [17610, 0, "n"], [17611, 0, "t"], [17612, 0, "i"], [17613, 0, "c"], [17614, 0, "s"], [17615, 0, ","], [17616, 0, " "], [17617, 0, "c"], [17618, 0, "o"], [17619, 0, "m"], [17620, 0, "m"], [17621, 0, "a"], [17622, 0, "n"], [17623, 0, "d"], [17624, 0, "s"], [17625, 0, " "], [17626, 0, "n"], [17627, 0, "e"], [17628, 0, "v"], [17629, 0, "e"], [17630, 0, "r"], [17631, 0, " "], [17632, 0, "d"], [17633, 0, "i"], [17634, 0, "r"], [17635, 0, "e"], [17636, 0, "c"], [17637, 0, "t"], [17638, 0, "l"], [17639, 0, "y"], [17640, 0, " "], [17641, 0, "m"], [17642, 0, "o"], [17643, 0, "d"], [17644, 0, "i"], [17645, 0, "f"], [17646, 0, "y"], [17647, 0, " "], [17648, 0, "t"], [17649, 0, "h"], [17650, 0, "e"], [17651, 0, " "], [17652, 0, "t"], [17653, 0, "h"], [17654, 0, "e"], [17655, 0, " "], [17655, 1], [17654, 1], [17653, 1], [17652, 1], [17652, 0, "l"], [17653, 0, "o"], [17654, 0, "c"], [17655, 0, "a"], [17656, 0, "l"], [17657, 0, " "], [17658, 0, "p"], [17659, 0, "e"], [17660, 0, "e"], [17661, 0, "r"], [17662, 0, " "], [17663, 0, "s"], [17664, 0, "t"], [17665, 0, "a"], [17666, 0, "t"], [17667, 0, "e"], [17668, 0, " "], [17669, 0, "$"], [17670, 0, "A"], [17671, 0, "_"], [17672, 0, "p"], [17673, 0, "$"], [17674, 0, ","], [17675, 0, " "], [17676, 0, "b"], [17677, 0, "u"], [17678, 0, "t"], [17679, 0, " "], [17680, 0, "o"], [17681, 0, "n"], [17682, 0, "l"], [17683, 0, "y"], [17684, 0, " "], [17685, 0, "g"], [17686, 0, "e"], [17687, 0, "n"], [17688, 0, "e"], [17689, 0, "r"], [17690, 0, "a"], [17691, 0, "t"], [17692, 0, "e"], [17693, 0, " "], [17694, 0, "a"], [17695, 0, "n"], [17696, 0, " "], [17697, 0, "o"], [17698, 0, "p"], [17699, 0, "e"], [17700, 0, "r"], [17701, 0, "a"], [17702, 0, "t"], [17703, 0, "i"], [17704, 0, "o"], [17705, 0, "n"], [17706, 0, "."], [17617, 0, "a"], [17618, 0, " "], [17626, 1], [17647, 1], [17647, 0, "i"], [17648, 0, "e"], [17649, 0, "s"], [17696, 0, "s"], [17711, 0, " "], [17712, 0, "T"], [17713, 0, "h"], [17714, 0, "a"], [17715, 0, "t"], [17716, 0, " "], [17717, 0, "o"], [17718, 0, "p"], [17719, 0, "e"], [17720, 0, "r"], [17721, 0, "a"], [17722, 0, "t"], [17723, 0, "i"], [17724, 0, "o"], [17725, 0, "n"], [17726, 0, " "], [17727, 0, "i"], [17728, 0, "s"], [17729, 0, " "], [17730, 0, "t"], [17731, 0, "h"], [17732, 0, "a"], [17733, 0, "t"], [17734, 0, " "], [17734, 1], [17733, 1], [17732, 1], [17732, 0, "e"], [17733, 0, "n"], [17734, 0, " "], [17735, 0, "a"], [17736, 0, "p"], [17737, 0, "p"], [17738, 0, "l"], [17739, 0, "i"], [17740, 0, "e"], [17741, 0, "d"], [17742, 0, " "], [17743, 0, "t"], [17744, 0, "o"], [17745, 0, " "], [17746, 0, "$"], [17747, 0, "A"], [17748, 0, "_"], [17749, 0, "p"], [17750, 0, "$"], [17751, 0, " "], [17752, 0, "i"], [17753, 0, "n"], [17754, 0, " "], [17755, 0, "o"], [17756, 0, "r"], [17757, 0, "d"], [17758, 0, "e"], [17759, 0, "r"], [17760, 0, " "], [17761, 0, "t"], [17762, 0, "o"], [17763, 0, " "], [17735, 0, "i"], [17736, 0, "m"], [17737, 0, "m"], [17738, 0, "e"], [17739, 0, "d"], [17740, 0, "i"], [17741, 0, "a"], [17742, 0, "t"], [17743, 0, "e"], [17744, 0, "l"], [17745, 0, "y"], [17746, 0, " "], [17775, 1], [17774, 1], [17773, 1], [17772, 1], [17771, 1], [17770, 1], [17769, 1], [17768, 1], [17767, 1], [17766, 1], [17765, 1], [17764, 1], [17764, 0, "s"], [17765, 0, "o"], [17766, 0, " "], [17767, 0, "t"], [17768, 0, "h"], [17769, 0, "a"], [17770, 0, "t"], [17771, 0, " "], [17772, 0, "i"], [17773, 0, "t"], [17774, 0, " "], [17775, 0, "t"], [17776, 0, "a"], [17777, 0, "k"], [17778, 0, "e"], [17779, 0, "s"], [17780, 0, " "], [17781, 0, "e"], [17782, 0, "f"], [17783, 0, "f"], [17784, 0, "e"], [17785, 0, "c"], [17786, 0, "t"], [17787, 0, " "], [17788, 0, "l"], [17789, 0, "o"], [17790, 0, "c"], [17791, 0, "a"], [17792, 0, "l"], [17793, 0, "l"], [17794, 0, "y"], [17795, 0, ","], [17796, 0, " "], [17797, 0, "a"], [17798, 0, "n"], [17799, 0, "d"], [17800, 0, " "], [17801, 0, "a"], [17802, 0, "s"], [17803, 0, "y"], [17804, 0, "n"], [17805, 0, "c"], [17806, 0, "h"], [17807, 0, "r"], [17808, 0, "o"], [17809, 0, "n"], [17810, 0, "o"], [17811, 0, "u"], [17812, 0, "s"], [17813, 0, "l"], [17814, 0, "y"], [17815, 0, " "], [17801, 0, "t"], [17802, 0, "h"], [17803, 0, "e"], [17804, 0, " "], [17805, 0, "o"], [17806, 0, "p"], [17807, 0, "e"], [17808, 0, "r"], [17809, 0, "a"], [17810, 0, "t"], [17811, 0, "i"], [17812, 0, "o"], [17813, 0, "n"], [17814, 0, " "], [17815, 0, "i"], [17816, 0, "s"], [17817, 0, " "], [17818, 0, "a"], [17819, 0, "l"], [17820, 0, "s"], [17821, 0, "o"], [17822, 0, " "], [17838, 0, "b"], [17839, 0, "r"], [17840, 0, "o"], [17841, 0, "a"], [17842, 0, "d"], [17843, 0, "c"], [17844, 0, "a"], [17845, 0, "s"], [17846, 0, "t"], [17847, 0, " "], [17848, 0, "t"], [17849, 0, "o"], [17850, 0, " "], [17851, 0, "t"], [17852, 0, "h"], [17853, 0, "e"], [17854, 0, " "], [17855, 0, "o"], [17856, 0, "t"], [17857, 0, "h"], [17858, 0, "e"], [17859, 0, "r"], [17860, 0, " "], [17861, 0, "p"], [17862, 0, "e"], [17863, 0, "e"], [17864, 0, "r"], [17865, 0, "s"], [17866, 0, "."], [17867, 0, " "], [17868, 0, "A"], [17869, 0, " "], [17870, 0, "p"], [17871, 0, "e"], [17872, 0, "e"], [17873, 0, "r"], [17874, 0, " "], [17875, 0, "a"], [17876, 0, "p"], [17877, 0, "p"], [17878, 0, "l"], [17879, 0, "i"], [17880, 0, "e"], [17881, 0, "s"], [17882, 0, " "], [17882, 1], [17881, 1], [17881, 0, "s"], [17882, 0, " "], [17883, 0, "o"], [17884, 0, "p"], [17885, 0, "e"], [17886, 0, "r"], [17887, 0, "a"], [17888, 0, "t"], [17889, 0, "i"], [17890, 0, "o"], [17891, 0, "n"], [17892, 0, "s"], [17893, 0, " "], [17894, 0, "r"], [17895, 0, "e"], [17896, 0, "c"], [17897, 0, "e"], [17898, 0, "i"], [17899, 0, "v"], [17900, 0, "e"], [17901, 0, "d"], [17902, 0, " "], [17903, 0, "f"], [17904, 0, "r"], [17905, 0, "o"], [17906, 0, "m"], [17907, 0, " "], [17908, 0, "r"], [17909, 0, "e"], [17910, 0, "m"], [17911, 0, "o"], [17912, 0, "t"], [17913, 0, "e"], [17914, 0, " "], [17915, 0, "n"], [17916, 0, "o"], [17917, 0, "d"], [17918, 0, "e"], [17919, 0, "s"], [17920, 0, " "], [17921, 0, "w"], [17922, 0, "h"], [17923, 0, "e"], [17924, 0, "n"], [17925, 0, " "], [17926, 0, "i"], [17927, 0, "t"], [17928, 0, "s"], [17929, 0, " "], [17930, 0, "c"], [17931, 0, "a"], [17932, 0, "u"], [17933, 0, "s"], [17934, 0, "a"], [17935, 0, "l"], [17936, 0, " "], [17937, 0, "d"], [17938, 0, "e"], [17939, 0, "p"], [17940, 0, "e"], [17941, 0, "n"], [17942, 0, "d"], [17943, 0, "e"], [17944, 0, "n"], [17945, 0, "c"], [17946, 0, "i"], [17947, 0, "e"], [17948, 0, "s"], [17949, 0, " "], [17950, 0, "a"], [17951, 0, "r"], [17952, 0, "e"], [17953, 0, " "], [17954, 0, "s"], [17955, 0, "a"], [17956, 0, "t"], [17957, 0, "i"], [17958, 0, "s"], [17959, 0, "f"], [17960, 0, "i"], [17961, 0, "e"], [17962, 0, "d"], [17963, 0, ","], [17964, 0, " "], [17965, 0, "a"], [17966, 0, "s"], [17967, 0, " "], [17968, 0, "d"], [17969, 0, "e"], [17970, 0, "t"], [17971, 0, "a"], [17972, 0, "i"], [17973, 0, "l"], [17974, 0, "e"], [17975, 0, "d"], [17976, 0, " "], [17977, 0, "b"], [17978, 0, "e"], [17979, 0, "l"], [17980, 0, "o"], [17981, 0, "w"], [17982, 0, "."], [17983, 0, "\n"], [17984, 0, "\n"], [17985, 1], [17985, 1], [18020, 0, "\n"], [18020, 0, "\n"], [18021, 0, "E"], [18022, 0, "v"], [18023, 0, "e"], [18024, 0, "r"], [18025, 0, "y"], [18026, 0, " "], [18027, 0, "o"], [18028, 0, "p"], [18029, 0, "e"], [18030, 0, "r"], [18031, 0, "a"], [18032, 0, "t"], [18033, 0, "i"], [18034, 0, "o"], [18035, 0, "n"], [18036, 0, " "], [18037, 0, "i"], [18038, 0, "n"], [18039, 0, " "], [18040, 0, "o"], [18041, 0, "u"], [18042, 0, "r"], [18043, 0, " "], [18044, 0, "m"], [18045, 0, "o"], [18046, 0, "d"], [18047, 0, "e"], [18048, 0, "l"], [18049, 0, " "], [18050, 0, "i"], [18051, 0, "s"], [18052, 0, " "], [18053, 0, "g"], [18054, 0, "i"], [18055, 0, "v"], [18056, 0, "e"], [18057, 0, "n"], [18058, 0, " "], [18059, 0, "a"], [18060, 0, " "], [18061, 0, "u"], [18062, 0, "n"], [18063, 0, "i"], [18064, 0, "q"], [18065, 0, "u"], [18066, 0, "e"], [18067, 0, " "], [18068, 0, "i"], [18069, 0, "d"], [18070, 0, "e"], [18071, 0, "n"], [18072, 0, "t"], [18073, 0, "i"], [18074, 0, "f"], [18075, 0, "i"], [18076, 0, "e"], [18077, 0, "r"], [18078, 0, ","], [18079, 0, " "], [18080, 0, "w"], [18081, 0, "h"], [18082, 0, "i"], [18083, 0, "c"], [18084, 0, "h"], [18085, 0, " "], [18086, 0, "i"], [18087, 0, "s"], [18088, 0, " "], [18089, 0, "u"], [18090, 0, "s"], [18091, 0, "e"], [18092, 0, "d"], [18093, 0, " "], [18094, 0, "a"], [18095, 0, "s"], [18096, 0, " "], [18097, 0, "p"], [18098, 0, "a"], [18099, 0, "r"], [18100, 0, "t"], [18101, 0, " "], [18102, 0, "o"], [18103, 0, "f"], [18104, 0, " "], [18105, 0, "t"], [18106, 0, "h"], [18107, 0, "e"], [18108, 0, " "], [18109, 0, "l"], [18110, 0, "o"], [18111, 0, "c"], [18112, 0, "a"], [18113, 0, "l"], [18114, 0, " "], [18115, 0, "s"], [18116, 0, "t"], [18117, 0, "a"], [18118, 0, "t"], [18119, 0, "e"], [18120, 0, " "], [18121, 0, "a"], [18122, 0, "n"], [18123, 0, "d"], [18124, 0, " "], [18125, 0, "o"], [18126, 0, "f"], [18127, 0, " "], [18128, 0, "c"], [18129, 0, "u"], [18130, 0, "r"], [18131, 0, "s"], [18132, 0, "o"], [18133, 0, "r"], [18134, 0, "s"], [18135, 0, "."], [18103, 1], [18102, 1], [18101, 1], [18100, 1], [18099, 1], [18098, 1], [18097, 1], [18096, 1], [18095, 1], [18094, 1], [18094, 0, "i"], [18095, 0, "n"], [18118, 1], [18117, 1], [18117, 0, "i"], [18118, 0, "n"], [18128, 0, " "], [18129, 0, "F"], [18130, 0, "o"], [18131, 0, "r"], [18132, 0, " "], [18133, 0, "e"], [18134, 0, "x"], [18135, 0, "a"], [18136, 0, "m"], [18137, 0, "p"], [18138, 0, "l"], [18139, 0, "e"], [18140, 0, ","], [18141, 0, " "], [18142, 0, "i"], [18143, 0, "n"], [18144, 0, " "], [18145, 0, "F"], [18146, 0, "i"], [18147, 0, "g"], [18148, 0, "u"], [18149, 0, "r"], [18150, 0, "e"], [18151, 0, "~"], [18152, 0, "\\"], [18153, 0, "r"], [18154, 0, "e"], [18155, 0, "f"], [18156, 0, "{"], [18157, 0, "f"], [18158, 0, "i"], [18159, 0, "g"], [18160, 0, ":"], [18161, 0, "s"], [18162, 0, "t"], [18163, 0, "a"], [18164, 0, "t"], [18165, 0, "e"], [18166, 0, "-"], [18167, 0, "e"], [18168, 0, "x"], [18169, 0, "a"], [18170, 0, "m"], [18171, 0, "p"], [18172, 0, "l"], [18173, 0, "e"], [18174, 0, "}"], [18175, 0, ","], [18176, 0, " "], [18177, 0, "$"], [18178, 0, "\\"], [18179, 0, "m"], [18180, 0, "a"], [18181, 0, "t"], [18182, 0, "h"], [18183, 0, "i"], [18184, 0, "t"], [18185, 0, "{"], [18186, 0, "i"], [18187, 0, "d"], [18188, 0, "}"], [18189, 0, "_"], [18190, 0, "{"], [18191, 0, "1"], [18192, 0, ","], [18193, 0, "2"], [18194, 0, ","], [18195, 0, "3"], [18196, 0, "}"], [18197, 0, "$"], [18198, 0, " "], [18199, 0, "a"], [18200, 0, "r"], [18201, 0, "e"], [18202, 0, " "], [18203, 0, "u"], [18204, 0, "s"], [18205, 0, "e"], [18206, 0, "d"], [18207, 0, " "], [18208, 0, "t"], [18209, 0, "o"], [18210, 0, " "], [18211, 0, "i"], [18212, 0, "d"], [18213, 0, "e"], [18214, 0, "n"], [18215, 0, "t"], [18216, 0, "i"], [18217, 0, "f"], [18218, 0, "y"], [18219, 0, " "], [18220, 0, "l"], [18221, 0, "i"], [18222, 0, "s"], [18223, 0, "t"], [18224, 0, " "], [18225, 0, "e"], [18226, 0, "l"], [18227, 0, "e"], [18228, 0, "m"], [18229, 0, "e"], [18230, 0, "n"], [18231, 0, "t"], [18232, 0, "s"], [18233, 0, " "], [18234, 0, "a"], [18235, 0, "n"], [18236, 0, "d"], [18237, 0, " "], [18238, 0, "a"], [18239, 0, "l"], [18240, 0, "s"], [18241, 0, "o"], [18242, 0, " "], [18243, 0, "t"], [18244, 0, "h"], [18245, 0, "e"], [18246, 0, " "], [18247, 0, "v"], [18248, 0, "a"], [18249, 0, "l"], [18250, 0, "u"], [18251, 0, "e"], [18252, 0, "s"], [18253, 0, " "], [18254, 0, "o"], [18255, 0, "f"], [18256, 0, " "], [18257, 0, "r"], [18258, 0, "e"], [18259, 0, "g"], [18260, 0, "i"], [18261, 0, "s"], [18262, 0, "t"], [18263, 0, "e"], [18264, 0, "r"], [18265, 0, "s"], [18266, 0, "."], [18267, 0, " "], [18268, 0, "T"], [18269, 0, "h"], [18270, 0, "o"], [18271, 0, "s"], [18272, 0, "e"], [18273, 0, " "], [18274, 0, "i"], [18275, 0, "d"], [18276, 0, "e"], [18277, 0, "n"], [18278, 0, "t"], [18279, 0, "i"], [18280, 0, "f"], [18281, 0, "i"], [18282, 0, "e"], [18283, 0, "r"], [18284, 0, "s"], [18285, 0, " "], [18286, 0, "$"], [18287, 0, "\\"], [18288, 0, "m"], [18289, 0, "a"], [18290, 0, "t"], [18291, 0, "h"], [18292, 0, "i"], [18293, 0, "t"], [18294, 0, "{"], [18295, 0, "i"], [18296, 0, "d"], [18297, 0, "}"], [18298, 0, "_"], [18299, 0, "{"], [18300, 0, "1"], [18301, 0, ","], [18302, 0, "2"], [18303, 0, ","], [18304, 0, "3"], [18305, 0, ","], [18306, 0, "}"], [18307, 0, "$"], [18308, 0, " "], [18305, 1], [18308, 0, "a"], [18309, 0, "r"], [18310, 0, "e"], [18311, 0, " "], [18312, 0, "i"], [18313, 0, "n"], [18314, 0, "f"], [18315, 0, "a"], [18316, 0, "c"], [18317, 0, "t"], [18318, 0, " "], [18319, 0, "t"], [18320, 0, "h"], [18321, 0, "e"], [18322, 0, " "], [18323, 0, "i"], [18324, 0, "d"], [18325, 0, "e"], [18326, 0, "n"], [18327, 0, "t"], [18328, 0, "i"], [18329, 0, "f"], [18330, 0, "i"], [18331, 0, "e"], [18332, 0, "r"], [18333, 0, "s"], [18334, 0, " "], [18314, 0, " "], [18336, 0, "o"], [18337, 0, "f"], [18338, 0, " "], [18339, 0, "t"], [18340, 0, "h"], [18341, 0, "e"], [18342, 0, " "], [18343, 0, "o"], [18344, 0, "p"], [18345, 0, "e"], [18346, 0, "r"], [18347, 0, "a"], [18348, 0, "t"], [18349, 0, "i"], [18350, 0, "o"], [18351, 0, "n"], [18352, 0, "s"], [18353, 0, " "], [18354, 0, "t"], [18355, 0, "h"], [18356, 0, "a"], [18357, 0, "t"], [18358, 0, " "], [18359, 0, "i"], [18360, 0, "n"], [18361, 0, "s"], [18362, 0, "e"], [18363, 0, "r"], [18364, 0, "t"], [18365, 0, "e"], [18366, 0, "d"], [18367, 0, " "], [18368, 0, "t"], [18369, 0, "h"], [18370, 0, "e"], [18371, 0, " "], [18372, 0, "l"], [18373, 0, "i"], [18374, 0, "s"], [18375, 0, "t"], [18376, 0, " "], [18377, 0, "e"], [18378, 0, "l"], [18379, 0, "e"], [18380, 0, "m"], [18381, 0, "e"], [18382, 0, "n"], [18383, 0, "t"], [18384, 0, "s"], [18385, 0, "."], [18386, 0, "\n"], [18387, 0, "\n"], [18388, 0, "I"], [18389, 0, "n"], [18390, 0, " "], [18390, 1], [18389, 1], [18388, 1], [18388, 0, "W"], [18389, 0, "e"], [18390, 0, " "], [18391, 0, "u"], [18392, 0, "s"], [18393, 0, "e"], [18394, 0, " "], [18395, 0, "L"], [18396, 0, "a"], [18397, 0, "m"], [18398, 0, "p"], [18399, 0, "o"], [18400, 0, "r"], [18401, 0, "t"], [18402, 0, " "], [18403, 0, "t"], [18404, 0, "i"], [18405, 0, "m"], [18406, 0, "e"], [18407, 0, "s"], [18408, 0, "t"], [18409, 0, "a"], [18410, 0, "m"], [18411, 0, "p"], [18412, 0, "s"], [18413, 0, "~"], [18414, 0, "\\"], [18415, 0, "c"], [18416, 0, "i"], [18417, 0, "t"], [18418, 0, "e"], [18419, 0, "{"], [18420, 0, "L"], [18421, 0, "a"], [18422, 0, "m"], [18423, 0, "p"], [18424, 0, "o"], [18425, 0, "r"], [18426, 0, "t"], [18427, 0, ":"], [18428, 0, "1"], [18429, 0, "9"], [18430, 0, "7"], [18431, 0, "8"], [18432, 0, "j"], [18433, 0, "q"], [18434, 0, "}"], [18435, 0, " "], [18436, 0, "t"], [18437, 0, "o"], [18438, 0, " "], [18439, 0, "g"], [18440, 0, "e"], [18441, 0, "n"], [18442, 0, "e"], [18443, 0, "r"], [18444, 0, "a"], [18445, 0, "t"], [18446, 0, "e"], [18447, 0, " "], [18448, 0, "t"], [18449, 0, "h"], [18449, 1], [18448, 1], [18447, 1], [18446, 1], [18445, 1], [18444, 1], [18443, 1], [18442, 1], [18441, 1], [18440, 1], [18439, 1], [18438, 1], [18437, 1], [18436, 1], [18436, 0, "a"], [18437, 0, "s"], [18438, 0, " "], [18439, 0, "o"], [18440, 0, "p"], [18441, 0, "e"], [18442, 0, "r"], [18443, 0, "a"], [18444, 0, "t"], [18445, 0, "i"], [18446, 0, "o"], [18447, 0, "n"], [18448, 0, " "], [18449, 0, "i"], [18450, 0, "d"], [18451, 0, "e"], [18452, 0, "n"], [18453, 0, "t"], [18454, 0, "i"], [18455, 0, "f"], [18456, 0, "i"], [18457, 0, "e"], [18458, 0, "r"], [18459, 0, "s"], [18460, 0, ","], [18461, 0, " "], [18388, 0, " "], [18388, 0, "I"], [18389, 0, "n"], [18390, 0, " "], [18391, 0, "o"], [18392, 0, "r"], [18393, 0, "d"], [18394, 0, "e"], [18395, 0, "r"], [18396, 0, " "], [18397, 0, "t"], [18398, 0, "o"], [18399, 0, " "], [18400, 0, "g"], [18401, 0, "e"], [18402, 0, "n"], [18403, 0, "e"], [18404, 0, "r"], [18405, 0, "q"], [18405, 1], [18405, 0, "a"], [18406, 0, "t"], [18407, 0, "e"], [18408, 0, " "], [18409, 0, "g"], [18410, 0, "l"], [18411, 0, "o"], [18412, 0, "b"], [18413, 0, "a"], [18414, 0, "l"], [18415, 0, "l"], [18416, 0, "y"], [18417, 0, " "], [18418, 0, "u"], [18419, 0, "n"], [18420, 0, "i"], [18421, 0, "q"], [18422, 0, "u"], [18423, 0, "e"], [18424, 0, " "], [18425, 0, "o"], [18426, 0, "p"], [18427, 0, "e"], [18428, 0, "r"], [18429, 0, "a"], [18430, 0, "t"], [18431, 0, "i"], [18432, 0, "o"], [18433, 0, "n"], [18434, 0, " "], [18435, 0, "i"], [18436, 0, "d"], [18437, 0, "e"], [18438, 0, "n"], [18439, 0, "t"], [18440, 0, "i"], [18441, 0, "f"], [18442, 0, "i"], [18443, 0, "e"], [18444, 0, "r"], [18445, 0, "s"], [18446, 0, " "], [18447, 0, "w"], [18448, 0, "i"], [18449, 0, "t"], [18450, 0, "h"], [18451, 0, "o"], [18452, 0, "u"], [18453, 0, "t"], [18454, 0, " "], [18455, 0, "s"], [18456, 0, "y"], [18457, 0, "n"], [18458, 0, "c"], [18459, 0, "h"], [18460, 0, "r"], [18461, 0, "o"], [18462, 0, "n"], [18463, 0, "i"], [18464, 0, "z"], [18465, 0, "a"], [18466, 0, "t"], [18467, 0, "i"], [18468, 0, "o"], [18469, 0, "n"], [18470, 0, " "], [18471, 0, "b"], [18472, 0, "e"], [18473, 0, "t"], [18474, 0, "w"], [18475, 0, "e"], [18476, 0, "e"], [18477, 0, "n"], [18478, 0, " "], [18479, 0, "p"], [18480, 0, "e"], [18481, 0, "e"], [18482, 0, "r"], [18483, 0, "s"], [18484, 0, ","], [18469, 1], [18468, 1], [18467, 1], [18466, 1], [18465, 1], [18464, 1], [18463, 1], [18462, 1], [18462, 0, "n"], [18463, 0, "o"], [18464, 0, "u"], [18465, 0, "s"], [18466, 0, " "], [18467, 0, "c"], [18468, 0, "o"], [18469, 0, "o"], [18470, 0, "r"], [18471, 0, "d"], [18472, 0, "i"], [18473, 0, "n"], [18474, 0, "a"], [18475, 0, "t"], [18476, 0, "i"], [18477, 0, "o"], [18478, 0, "n"], [18455, 0, "r"], [18456, 0, "e"], [18457, 0, "q"], [18458, 0, "u"], [18459, 0, "i"], [18460, 0, "r"], [18461, 0, "i"], [18462, 0, "n"], [18463, 0, "g"], [18464, 0, " "], [18503, 1], [18504, 1], [18504, 0, "w"], [18577, 1], [18576, 1], [18575, 1], [18574, 1], [18573, 1], [18572, 1], [18571, 1], [18570, 1], [18569, 1], [18568, 1], [18567, 1], [18566, 1], [18565, 1], [18564, 1], [18563, 1], [18562, 1], [18561, 1], [18560, 1], [18559, 1], [18558, 1], [18557, 1], [18556, 1], [18555, 1], [18554, 1], [18553, 1], [18552, 1], [18551, 1], [18550, 1], [18550, 0, "}"], [18551, 0, "."], [18922, 0, " "], [18923, 0, "("], [18924, 0, "f"], [18925, 0, "o"], [18926, 0, "r"], [18927, 0, " "], [18928, 0, "e"], [18929, 0, "x"], [18930, 0, "a"], [18931, 0, "m"], [18932, 0, "p"], [18933, 0, "l"], [18934, 0, "e"], [18935, 0, ","], [18936, 0, " "], [18937, 0, "t"], [18938, 0, "h"], [18939, 0, "e"], [18940, 0, " "], [18941, 0, "h"], [18942, 0, "a"], [18943, 0, "s"], [18944, 0, "h"], [18945, 0, " "], [18946, 0, "o"], [18947, 0, "f"], [18948, 0, " "], [18949, 0, "i"], [18950, 0, "t"], [18951, 0, "s"], [18952, 0, " "], [18953, 0, "p"], [18954, 0, "u"], [18955, 0, "b"], [18956, 0, "l"], [18957, 0, "i"], [18958, 0, "c"], [18959, 0, " "], [18960, 0, "k"], [18961, 0, "e"], [18962, 0, "y"], [18963, 0, ")"], [18939, 1], [18938, 1], [18937, 1], [18936, 1], [18936, 0, " "], [18937, 0, "a"], [18938, 0, " "], [18939, 0, "c"], [18940, 0, "r"], [18941, 0, "y"], [18942, 0, "p"], [18943, 0, "t"], [18944, 0, "o"], [18945, 0, "g"], [18946, 0, "r"], [18947, 0, "a"], [18948, 0, "p"], [18949, 0, "h"], [18950, 0, "i"], [18951, 0, "c"], [18810, 1], [18809, 1], [18808, 1], [18807, 1], [18806, 1], [18805, 1], [18804, 1], [18803, 1], [18802, 1], [18801, 1], [18800, 1], [18799, 1], [18798, 1], [18797, 1], [18796, 1], [18795, 1], [18794, 1], [18793, 1], [18792, 1], [18791, 1], [18790, 1], [18789, 1], [18788, 1], [18787, 1], [18786, 1], [18785, 1], [18784, 1], [18783, 1], [18782, 1], [18781, 1], [18780, 1], [18779, 1], [18778, 1], [18777, 1], [18776, 1], [18775, 1], [18774, 1], [18773, 1], [18772, 1], [18771, 1], [18770, 1], [18769, 1], [18768, 1], [18767, 1], [18766, 1], [18765, 1], [18764, 1], [18763, 1], [18762, 1], [18761, 1], [18760, 1], [18759, 1], [18758, 1], [18757, 1], [18756, 1], [18755, 1], [18754, 1], [18753, 1], [18752, 1], [18751, 1], [18750, 1], [18749, 1], [18748, 1], [18747, 1], [18746, 1], [18745, 1], [18744, 1], [18743, 1], [18742, 1], [18741, 1], [18740, 1], [18739, 1], [18738, 1], [18737, 1], [18736, 1], [18735, 1], [18734, 1], [18733, 1], [18732, 1], [18731, 1], [18730, 1], [18729, 1], [18728, 1], [18727, 1], [18726, 1], [18725, 1], [18724, 1], [18723, 1], [18722, 1], [18721, 1], [18720, 1], [18719, 1], [18718, 1], [18717, 1], [18716, 1], [18715, 1], [18714, 1], [18713, 1], [18712, 1], [18711, 1], [18710, 1], [18709, 1], [18708, 1], [18707, 1], [18706, 1], [18705, 1], [18704, 1], [18703, 1], [18702, 1], [18701, 1], [18700, 1], [18699, 1], [18698, 1], [18697, 1], [18696, 1], [18695, 1], [18694, 1], [18693, 1], [18692, 1], [18691, 1], [18690, 1], [18689, 1], [18688, 1], [18687, 1], [18686, 1], [18685, 1], [18684, 1], [18683, 1], [18682, 1], [18681, 1], [18680, 1], [18679, 1], [18678, 1], [18677, 1], [18676, 1], [18675, 1], [18674, 1], [18673, 1], [18672, 1], [18671, 1], [18670, 1], [18669, 1], [18668, 1], [18667, 1], [18666, 1], [18665, 1], [18664, 1], [18663, 1], [18662, 1], [18661, 1], [18660, 1], [18659, 1], [18658, 1], [18657, 1], [18656, 1], [18655, 1], [18654, 1], [18653, 1], [18652, 1], [18651, 1], [18650, 1], [18649, 1], [18648, 1], [18647, 1], [18646, 1], [18645, 1], [18644, 1], [18643, 1], [18642, 1], [18641, 1], [18640, 1], [18639, 1], [18638, 1], [18637, 1], [18636, 1], [18635, 1], [18634, 1], [18633, 1], [18632, 1], [18631, 1], [18630, 1], [18629, 1], [18628, 1], [18627, 1], [18626, 1], [18625, 1], [18624, 1], [18623, 1], [18622, 1], [18621, 1], [18620, 1], [18619, 1], [18618, 1], [18617, 1], [18616, 1], [18615, 1], [18614, 1], [18613, 1], [18612, 1], [18611, 1], [18610, 1], [18609, 1], [18608, 1], [18607, 1], [18606, 1], [18605, 1], [18604, 1], [18603, 1], [18602, 1], [18601, 1], [18600, 1], [18599, 1], [18598, 1], [18597, 1], [18596, 1], [18595, 1], [18594, 1], [18593, 1], [18592, 1], [18591, 1], [18590, 1], [18589, 1], [18588, 1], [18587, 1], [18586, 1], [18585, 1], [18584, 1], [18583, 1], [18582, 1], [18581, 1], [18580, 1], [18579, 1], [18578, 1], [18577, 1], [18576, 1], [18575, 1], [18574, 1], [18573, 1], [18572, 1], [18571, 1], [18570, 1], [18569, 1], [18568, 1], [18567, 1], [18566, 1], [18565, 1], [18564, 1], [18563, 1], [18562, 1], [18561, 1], [18560, 1], [18559, 1], [18558, 1], [18557, 1], [18556, 1], [18555, 1], [18554, 1], [18553, 1], [18552, 1], [18552, 0, " "], [18718, 1], [18718, 0, ","], [18719, 0, " "], [18720, 0, "a"], [18721, 0, "n"], [18722, 0, "d"], [18928, 1], [18927, 1], [18926, 1], [18925, 1], [18924, 1], [18923, 1], [18922, 1], [18921, 1], [18920, 1], [18919, 1], [18918, 1], [18917, 1], [18916, 1], [18915, 1], [18914, 1], [18913, 1], [18912, 1], [18911, 1], [18910, 1], [18909, 1], [18908, 1], [18907, 1], [18906, 1], [18905, 1], [18904, 1], [18903, 1], [18902, 1], [18901, 1], [18900, 1], [18899, 1], [18898, 1], [18897, 1], [18896, 1], [18895, 1], [18894, 1], [18893, 1], [18892, 1], [18891, 1], [18890, 1], [18889, 1], [18888, 1], [18887, 1], [18886, 1], [18885, 1], [18884, 1], [18883, 1], [18882, 1], [18881, 1], [18880, 1], [18879, 1], [18878, 1], [18877, 1], [18876, 1], [18875, 1], [18874, 1], [18873, 1], [18872, 1], [18871, 1], [18870, 1], [18869, 1], [18868, 1], [18867, 1], [18866, 1], [18865, 1], [18864, 1], [18863, 1], [18862, 1], [18861, 1], [18860, 1], [18859, 1], [18858, 1], [18857, 1], [18856, 1], [18855, 1], [18854, 1], [18853, 1], [18852, 1], [18851, 1], [18850, 1], [18849, 1], [18848, 1], [18847, 1], [18846, 1], [18845, 1], [18844, 1], [18843, 1], [18842, 1], [18841, 1], [18840, 1], [18839, 1], [18838, 1], [18837, 1], [18836, 1], [18835, 1], [18834, 1], [18833, 1], [18832, 1], [18831, 1], [18830, 1], [18829, 1], [18828, 1], [18827, 1], [18826, 1], [18825, 1], [18824, 1], [18823, 1], [18822, 1], [18821, 1], [18820, 1], [18819, 1], [18818, 1], [18817, 1], [18816, 1], [18815, 1], [18814, 1], [18813, 1], [18812, 1], [18811, 1], [18810, 1], [18809, 1], [18808, 1], [18807, 1], [18806, 1], [18806, 0, "S"], [18807, 0, "i"], [18808, 0, "n"], [18809, 0, "c"], [18810, 0, "e"], [18811, 0, " "], [18812, 0, "e"], [18813, 0, "a"], [18814, 0, "c"], [18815, 0, "h"], [18816, 0, " "], [18817, 0, "p"], [18818, 0, "e"], [18819, 0, "e"], [18820, 0, "r"], [18821, 0, " "], [18822, 0, "g"], [18823, 0, "e"], [18824, 0, "n"], [18825, 0, "e"], [18826, 0, "r"], [18827, 0, "a"], [18828, 0, "t"], [18829, 0, "e"], [18830, 0, "s"], [18831, 0, " "], [18832, 0, "a"], [18833, 0, " "], [18834, 0, "s"], [18835, 0, "t"], [18836, 0, "r"], [18837, 0, "i"], [18838, 0, "c"], [18839, 0, "t"], [18840, 0, "l"], [18841, 0, "y"], [18842, 0, " "], [18843, 0, "m"], [18844, 0, "o"], [18845, 0, "n"], [18846, 0, "o"], [18847, 0, "t"], [18848, 0, "o"], [18849, 0, "n"], [18850, 0, "i"], [18851, 0, "c"], [18852, 0, "a"], [18853, 0, "l"], [18854, 0, "l"], [18855, 0, "y"], [18856, 0, " "], [18857, 0, "i"], [18858, 0, "n"], [18859, 0, "c"], [18860, 0, "r"], [18861, 0, "e"], [18862, 0, "a"], [18863, 0, "s"], [18864, 0, "i"], [18865, 0, "n"], [18866, 0, "g"], [18867, 0, " "], [18868, 0, "s"], [18869, 0, "e"], [18870, 0, "q"], [18871, 0, "u"], [18872, 0, "e"], [18873, 0, "n"], [18874, 0, "c"], [18875, 0, "e"], [18876, 0, " "], [18877, 0, "o"], [18878, 0, "f"], [18879, 0, " "], [18880, 0, "c"], [18881, 0, "o"], [18882, 0, "u"], [18883, 0, "n"], [18884, 0, "t"], [18885, 0, "e"], [18886, 0, "r"], [18887, 0, " "], [18888, 0, "v"], [18889, 0, "a"], [18890, 0, "l"], [18891, 0, "u"], [18892, 0, "e"], [18893, 0, "s"], [18894, 0, " "], [18895, 0, "$"], [18896, 0, "c"], [18897, 0, "$"], [18898, 0, ","], [18899, 0, " "], [18900, 0, "t"], [18901, 0, "h"], [18902, 0, "e"], [18903, 0, " "], [18904, 0, "p"], [18905, 0, "a"], [18906, 0, "i"], [18907, 0, "r"], [18908, 0, " "], [18909, 0, "$"], [18910, 0, "("], [18911, 0, "c"], [18912, 0, ","], [18913, 0, " "], [18914, 0, "p"], [18915, 0, ")"], [18916, 0, "$"], [18917, 0, " "], [18918, 0, "i"], [18919, 0, "s"], [18920, 0, " "], [18921, 0, "u"], [18922, 0, "n"], [18923, 0, "i"], [18924, 0, "q"], [18925, 0, "u"], [18926, 0, "e"], [18927, 0, "."], [19452, 1], [19452, 1], [19452, 0, "\\"], [19453, 0, "["], [19454, 0, " "], [19543, 1], [19542, 1], [19542, 0, " "], [19543, 0, "\\"], [19544, 0, "]"], [19773, 0, " "], [19774, 0, "T"], [19775, 0, "h"], [19776, 0, "i"], [19777, 0, "s"], [19778, 0, " "], [19779, 0, "o"], [19780, 0, "r"], [19781, 0, "d"], [19782, 0, "e"], [19783, 0, "r"], [19784, 0, "i"], [19785, 0, "n"], [19786, 0, "g"], [19787, 0, " "], [19788, 0, "p"], [19789, 0, "r"], [19790, 0, "o"], [19791, 0, "p"], [19792, 0, "e"], [19793, 0, "r"], [19794, 0, "t"], [19795, 0, "y"], [19796, 0, " "], [19797, 0, "i"], [19798, 0, "s"], [19799, 0, " "], [19800, 0, "i"], [19801, 0, "m"], [19802, 0, "p"], [19803, 0, "o"], [19804, 0, "r"], [19805, 0, "t"], [19806, 0, "a"], [19807, 0, "n"], [19808, 0, "t"], [19809, 0, " "], [19810, 0, "f"], [19811, 0, "o"], [19812, 0, "r"], [19813, 0, " "], [19814, 0, "o"], [19815, 0, "u"], [19816, 0, "r"], [19817, 0, " "], [19818, 0, "d"], [19819, 0, "e"], [19820, 0, "f"], [19821, 0, "i"], [19822, 0, "n"], [19823, 0, "i"], [19824, 0, "t"], [19825, 0, "i"], [19826, 0, "o"], [19827, 0, "n"], [19828, 0, " "], [19829, 0, "o"], [19830, 0, "f"], [19831, 0, " "], [19832, 0, "t"], [19833, 0, "h"], [19834, 0, "e"], [19835, 0, " "], [19836, 0, "s"], [19837, 0, "e"], [19838, 0, "m"], [19839, 0, "a"], [19840, 0, "n"], [19841, 0, "t"], [19842, 0, "i"], [19843, 0, "c"], [19844, 0, "s"], [19845, 0, " "], [19846, 0, "o"], [19847, 0, "f"], [19848, 0, " "], [19849, 0, "o"], [19850, 0, "r"], [19851, 0, "d"], [19852, 0, "e"], [19853, 0, "r"], [19854, 0, "e"], [19855, 0, "d"], [19856, 0, " "], [19857, 0, "l"], [19858, 0, "i"], [19859, 0, "s"], [19860, 0, "t"], [19861, 0, "s"], [19862, 0, "."], [17919, 1], [17918, 1], [17917, 1], [17916, 1], [17915, 1], [17915, 0, "p"], [17916, 0, "e"], [17917, 0, "e"], [17918, 0, "r"], [17919, 0, "s"], [24283, 0, "\n"], [24284, 0, "\\"], [24285, 0, "i"], [24286, 0, "f"], [24287, 0, "p"], [24288, 0, "r"], [24289, 0, "o"], [24290, 0, "o"], [24291, 0, "f"], [24292, 0, "d"], [24293, 0, "r"], [24294, 0, "a"], [24295, 0, "f"], [24296, 0, "t"], [24297, 0, "\n"], [24283, 0, "\n"], [24284, 0, "\n"], [37132, 0, "\n"], [37133, 0, "\\"], [37134, 0, "f"], [37135, 0, "i"], [37136, 0, " "], [37137, 0, "%"], [37138, 0, " "], [37139, 0, "p"], [37140, 0, "r"], [37141, 0, "o"], [37142, 0, "o"], [37143, 0, "f"], [37144, 0, "d"], [37145, 0, "r"], [37146, 0, "a"], [37147, 0, "f"], [37148, 0, "t"], [37149, 0, "\n"], [422, 0, "\n"], [423, 0, "\n"], [423, 0, "\\"], [424, 0, "n"], [425, 0, "e"], [426, 0, "w"], [427, 0, "i"], [428, 0, "f"], [429, 0, "\\"], [430, 0, "i"], [431, 0, "f"], [432, 0, "p"], [433, 0, "r"], [434, 0, "o"], [435, 0, "o"], [436, 0, "f"], [437, 0, "d"], [438, 0, "r"], [439, 0, "a"], [440, 0, "f"], [441, 0, "t"], [442, 0, "\n"], [443, 0, "\\"], [444, 0, "p"], [445, 0, "r"], [446, 0, "o"], [447, 0, "o"], [448, 0, "f"], [449, 0, "d"], [450, 0, "r"], [451, 0, "a"], [452, 0, "f"], [453, 0, "t"], [454, 0, "f"], [455, 0, "a"], [456, 0, "l"], [457, 0, "s"], [458, 0, "e"], [718, 0, "\n"], [719, 0, "\n"], [720, 0, "\\"], [721, 0, "n"], [722, 0, "e"], [723, 0, "w"], [724, 0, "c"], [725, 0, "o"], [726, 0, "m"], [727, 0, "m"], [728, 0, "a"], [729, 0, "n"], [730, 0, "d"], [731, 0, "{"], [732, 0, "\\"], [733, 0, "m"], [734, 0, "u"], [735, 0, "l"], [736, 0, "t"], [737, 0, "i"], [738, 0, "a"], [739, 0, "l"], [740, 0, "i"], [741, 0, "g"], [742, 0, "n"], [743, 0, "}"], [744, 0, "["], [745, 0, "2"], [746, 0, "]"], [747, 0, "{"], [748, 0, "%"], [749, 0, "\n"], [750, 0, " "], [751, 0, " "], [752, 0, "\\"], [753, 0, "m"], [754, 0, "u"], [755, 0, "l"], [756, 0, "t"], [757, 0, "i"], [758, 0, "s"], [759, 0, "p"], [760, 0, "a"], [761, 0, "n"], [762, 0, "{"], [763, 0, "#"], [764, 0, "1"], [765, 0, "}"], [766, 0, "\\"], [767, 0, "m"], [768, 0, "b"], [769, 0, "o"], [770, 0, "x"], [771, 0, "{"], [772, 0, "$"], [773, 0, "\\"], [774, 0, "d"], [775, 0, "i"], [776, 0, "s"], [777, 0, "p"], [778, 0, "l"], [779, 0, "a"], [780, 0, "y"], [781, 0, "s"], [782, 0, "t"], [783, 0, "y"], [784, 0, "l"], [785, 0, "e"], [786, 0, "{"], [787, 0, "}"], [788, 0, "#"], [789, 0, "2"], [790, 0, "$"], [791, 0, "}"], [792, 0, "%"], [793, 0, "\n"], [794, 0, "}"], [7788, 1], [7787, 1], [7786, 1], [7785, 1], [7784, 1], [7783, 1], [7782, 1], [7781, 1], [7780, 1], [7779, 1], [7778, 1], [7777, 1], [7776, 1], [7775, 1], [7774, 1], [7773, 1], [7772, 1], [7771, 1], [7770, 1], [7769, 1], [7768, 1], [7767, 1], [7766, 1], [7765, 1], [7764, 1], [7763, 1], [7762, 1], [7761, 1], [7760, 1], [7759, 1], [7758, 1], [7757, 1], [7756, 1], [7755, 1], [7754, 1], [7753, 1], [7752, 1], [7751, 1], [7750, 1], [7749, 1], [7748, 1], [7747, 1], [7746, 1], [7745, 1], [7744, 1], [7743, 1], [7742, 1], [7741, 1], [7740, 1], [7739, 1], [7738, 1], [7737, 1], [7736, 1], [7735, 1], [7734, 1], [7733, 1], [7732, 1], [7731, 1], [7730, 1], [7729, 1], [7728, 1], [7727, 1], [7726, 1], [7725, 1], [7724, 1], [7723, 1], [7722, 1], [7721, 1], [7720, 1], [7719, 1], [7718, 1], [7717, 1], [7716, 1], [7715, 1], [7714, 1], [7713, 1], [4295, 1], [4295, 1], [4295, 1], [4295, 1], [4295, 1], [4295, 1], [4295, 1], [4295, 1], [4295, 1], [4295, 1], [4295, 1], [4316, 0, "\n"], [4316, 0, "l"], [4317, 0, "e"], [4318, 0, "t"], [4319, 0, " "], [4320, 0, "e"], [4321, 0, "g"], [4322, 0, "g"], [4323, 0, "s"], [4324, 0, " "], [4325, 0, "="], [4326, 0, " "], [4327, 0, "l"], [4328, 0, "i"], [4329, 0, "s"], [4330, 0, "t"], [4331, 0, "."], [4332, 0, "n"], [4333, 0, "e"], [4334, 0, "x"], [4335, 0, "t"], [4336, 0, ";"], [6399, 1], [6399, 1], [6399, 1], [6399, 1], [6399, 1], [6420, 0, " "], [6421, 0, "t"], [6422, 0, "h"], [6423, 0, "a"], [6424, 0, "t"], [6437, 1], [6436, 1], [6435, 1], [6435, 0, "s"], [6924, 0, "."], [6925, 0, " "], [6925, 1], [6924, 1], [6925, 0, " "], [6926, 0, "o"], [6927, 0, "r"], [6928, 0, " "], [6929, 0, "a"], [6930, 0, "t"], [6931, 0, " "], [6932, 0, "t"], [6933, 0, "h"], [6934, 0, "e"], [6935, 0, " "], [6936, 0, "h"], [6937, 0, "e"], [6938, 0, "a"], [6939, 0, "d"], [6940, 0, " "], [6941, 0, "i"], [6942, 0, "f"], [6943, 0, " "], [6944, 0, "t"], [6945, 0, "h"], [6946, 0, "e"], [6947, 0, " "], [6948, 0, "c"], [6949, 0, "u"], [6950, 0, "r"], [6951, 0, "s"], [6952, 0, "o"], [6953, 0, "r"], [6954, 0, " "], [6955, 0, "i"], [6956, 0, "s"], [6957, 0, " "], [6958, 0, "a"], [6959, 0, "t"], [6960, 0, " "], [6961, 0, "t"], [6962, 0, "h"], [6963, 0, "e"], [6964, 0, " "], [6965, 0, "h"], [6966, 0, "e"], [6967, 0, "a"], [6968, 0, "d"], [6969, 0, " "], [6970, 0, "o"], [6971, 0, "f"], [6972, 0, " "], [6973, 0, "t"], [6974, 0, "h"], [6975, 0, "e"], [6976, 0, " "], [6977, 0, "l"], [6978, 0, "i"], [6979, 0, "s"], [6980, 0, "t"], [6981, 0, "."], [6982, 0, " "], [6983, 0, "T"], [6984, 0, "h"], [6985, 0, "e"], [6986, 0, " "], [6987, 0, "v"], [6988, 0, "a"], [6989, 0, "r"], [6990, 0, "i"], [6991, 0, "a"], [6992, 0, "b"], [6993, 0, "l"], [6994, 0, "e"], [6995, 0, " "], [6996, 0, "\\"], [6997, 0, "v"], [6998, 0, "e"], [6999, 0, "r"], [7000, 0, "b"], [7001, 0, "\""], [7001, 1], [7001, 0, "|"], [7002, 0, "l"], [7003, 0, "i"], [7004, 0, "s"], [7005, 0, "t"], [7006, 0, "|"], [7007, 0, " "], [7008, 0, "r"], [7009, 0, "e"], [7010, 0, "f"], [7011, 0, "e"], [7012, 0, "r"], [7013, 0, "s"], [7014, 0, " "], [7015, 0, "t"], [7016, 0, "o"], [7017, 0, " "], [7018, 0, "t"], [7019, 0, "h"], [7020, 0, "e"], [7021, 0, " "], [7022, 0, "h"], [7023, 0, "e"], [7024, 0, "a"], [7025, 0, "d"], [7026, 0, ","], [7027, 0, " "], [7028, 0, "s"], [7029, 0, "o"], [7030, 0, " "], [7031, 0, "c"], [7032, 0, "h"], [7033, 0, "e"], [7034, 0, "e"], [7035, 0, "s"], [7036, 0, "e"], [7037, 0, " "], [7038, 0, "i"], [7039, 0, "s"], [7040, 0, " "], [7041, 0, "i"], [7042, 0, "n"], [7043, 0, "s"], [7044, 0, "e"], [7045, 0, "r"], [7046, 0, "t"], [7047, 0, "e"], [7048, 0, "d"], [7049, 0, " "], [7050, 0, "a"], [7051, 0, "h"], [7052, 0, "e"], [7053, 0, "a"], [7054, 0, "d"], [7055, 0, " "], [7056, 0, "o"], [7057, 0, "f"], [7058, 0, " "], [7059, 0, "e"], [7060, 0, "g"], [7061, 0, "g"], [7062, 0, "s"], [7063, 0, ","], [7064, 0, " "], [7065, 0, "b"], [7066, 0, "u"], [7067, 0, "t"], [7068, 0, " "], [7069, 0, "t"], [7070, 0, "h"], [7071, 0, "e"], [7072, 0, " "], [7073, 0, "v"], [7074, 0, "a"], [7075, 0, "r"], [7076, 0, "i"], [7077, 0, "a"], [7078, 0, "b"], [7079, 0, "l"], [7080, 0, "e"], [7081, 0, " "], [7082, 0, "\\"], [7083, 0, "v"], [7084, 0, "e"], [7085, 0, "r"], [7086, 0, "b"], [7087, 0, "|"], [7088, 0, "e"], [7089, 0, "g"], [7090, 0, "g"], [7091, 0, "s"], [7092, 0, "|"], [7093, 0, " "], [7094, 0, "r"], [7095, 0, "e"], [7096, 0, "f"], [7097, 0, "e"], [7098, 0, "r"], [7099, 0, "s"], [7100, 0, " "], [7101, 0, "t"], [7102, 0, "o"], [7103, 0, " "], [7104, 0, "t"], [7105, 0, "h"], [7106, 0, "e"], [7107, 0, " "], [7108, 0, "l"], [7109, 0, "i"], [7110, 0, "s"], [7111, 0, "t"], [7112, 0, " "], [7113, 0, "e"], [7114, 0, "l"], [7115, 0, "e"], [7116, 0, "m"], [7117, 0, "e"], [7118, 0, "n"], [7119, 0, "t"], [7120, 0, " "], [7121, 0, "`"], [7122, 0, "`"], [7123, 0, "e"], [7124, 0, "g"], [7125, 0, "g"], [7126, 0, "s"], [7127, 0, "'"], [7128, 0, "'"], [7129, 0, ","], [7130, 0, " "], [7131, 0, "s"], [7132, 0, "o"], [7133, 0, " "], [7134, 0, "m"], [7135, 0, "i"], [7136, 0, "l"], [7137, 0, "k"], [7138, 0, " "], [7139, 0, "i"], [7140, 0, "s"], [7141, 0, " "], [7142, 0, "i"], [7143, 0, "n"], [7144, 0, "s"], [7145, 0, "e"], [7146, 0, "r"], [7147, 0, "t"], [7148, 0, "e"], [7149, 0, "d"], [7150, 0, " "], [7151, 0, "a"], [7152, 0, "f"], [7153, 0, "t"], [7154, 0, "e"], [7155, 0, "r"], [7156, 0, " "], [7157, 0, "e"], [7158, 0, "g"], [7159, 0, "g"], [7160, 0, "s"], [7161, 0, "."], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7162, 1], [7050, 1], [7050, 1], [7050, 1], [7050, 1], [7050, 1], [7050, 1], [7050, 1], [7050, 1], [7050, 0, "b"], [7051, 0, "e"], [7052, 0, "f"], [7053, 0, "o"], [7054, 0, "r"], [7055, 0, "e"], [3573, 1], [3572, 1], [3571, 1], [3570, 1], [3569, 1], [3568, 1], [3567, 1], [3566, 1], [3565, 1], [3564, 1], [3563, 1], [3562, 1], [3561, 1], [3560, 1], [3559, 1], [3558, 1], [3557, 1], [3556, 1], [3555, 1], [3554, 1], [3553, 1], [3552, 1], [3551, 1], [3550, 1], [3549, 1], [3548, 1], [3547, 1], [3546, 1], [3545, 1], [3544, 1], [3543, 1], [3542, 1], [3541, 1], [3540, 1], [3539, 1], [3538, 1], [3537, 1], [3536, 1], [3535, 1], [3534, 1], [3533, 1], [3532, 1], [3531, 1], [3530, 1], [3529, 1], [3528, 1], [3527, 1], [3526, 1], [3525, 1], [3524, 1], [3523, 1], [3522, 1], [3521, 1], [3520, 1], [3519, 1], [3518, 1], [3517, 1], [3516, 1], [3515, 1], [3514, 1], [3513, 1], [3512, 1], [3511, 1], [3510, 1], [3509, 1], [2848, 1], [2847, 1], [2846, 1], [2845, 1], [2844, 1], [2843, 1], [2842, 1], [2841, 1], [2840, 1], [2839, 1], [2838, 1], [2837, 1], [2836, 1], [2835, 1], [2834, 1], [2833, 1], [2832, 1], [2831, 1], [2830, 1], [2829, 1], [2828, 1], [2827, 1], [2826, 1], [2825, 1], [2824, 1], [2823, 1], [2822, 1], [2821, 1], [2820, 1], [2819, 1], [2818, 1], [2817, 1], [2816, 1], [2815, 1], [2814, 1], [2813, 1], [2812, 1], [2811, 1], [2810, 1], [2809, 1], [2808, 1], [2807, 1], [2806, 1], [2805, 1], [2804, 1], [2803, 1], [2802, 1], [2801, 1], [2800, 1], [2799, 1], [2798, 1], [2797, 1], [2796, 1], [2795, 1], [2794, 1], [2793, 1], [2792, 1], [2791, 1], [2790, 1], [2789, 1], [2788, 1], [2787, 1], [2786, 1], [2785, 1], [2784, 1], [2783, 1], [2782, 1], [2781, 1], [2780, 1], [2779, 1], [2778, 1], [2777, 1], [2776, 1], [2775, 1], [2774, 1], [2773, 1], [2772, 1], [2771, 1], [2770, 1], [2769, 1], [2768, 1], [2767, 1], [2766, 1], [2765, 1], [2764, 1], [2763, 1], [2762, 1], [2761, 1], [2760, 1], [2759, 1], [2758, 1], [2757, 1], [2756, 1], [2755, 1], [2754, 1], [2753, 1], [2752, 1], [2751, 1], [2750, 1], [2749, 1], [2748, 1], [2747, 1], [2746, 1], [2745, 1], [2744, 1], [2743, 1], [2742, 1], [2741, 1], [2740, 1], [2739, 1], [2738, 1], [2737, 1], [2736, 1], [2735, 1], [2734, 1], [2733, 1], [2732, 1], [2731, 1], [2730, 1], [2729, 1], [2728, 1], [2727, 1], [2726, 1], [2725, 1], [2724, 1], [2723, 1], [2722, 1], [2721, 1], [2720, 1], [2719, 1], [2718, 1], [2717, 1], [2716, 1], [2715, 1], [2714, 1], [2713, 1], [2712, 1], [2711, 1], [2710, 1], [2709, 1], [2708, 1], [2707, 1], [2706, 1], [2705, 1], [2704, 1], [2703, 1], [2702, 1], [2701, 1], [2700, 1], [2699, 1], [2698, 1], [2697, 1], [2696, 1], [2695, 1], [2694, 1], [2693, 1], [2692, 1], [2833, 1], [2833, 1], [2833, 1], [2833, 1], [2833, 1], [2833, 1], [2833, 1], [2842, 1], [2842, 1], [2842, 1], [2842, 1], [2842, 1], [2842, 1], [2842, 1], [2842, 1], [2842, 1], [2842, 1], [2842, 1], [2842, 1], [3055, 0, " "], [3056, 0, "O"], [3057, 0, "t"], [3058, 0, "h"], [3059, 0, "e"], [3060, 0, "r"], [3061, 0, " "], [3062, 0, "r"], [3063, 0, "e"], [3064, 0, "p"], [3065, 0, "l"], [3066, 0, "i"], [3067, 0, "c"], [3068, 0, "a"], [3069, 0, "t"], [3070, 0, "e"], [3071, 0, "d"], [3072, 0, " "], [3073, 0, "d"], [3074, 0, "a"], [3075, 0, "t"], [3076, 0, "a"], [3077, 0, "t"], [3078, 0, "y"], [3079, 0, "p"], [3080, 0, "e"], [3081, 0, "s"], [3082, 0, " "], [3083, 0, "s"], [3084, 0, "u"], [3085, 0, "c"], [3086, 0, "h"], [3087, 0, " "], [3088, 0, "a"], [3089, 0, "s"], [3090, 0, " "], [3091, 0, "c"], [3092, 0, "o"], [3093, 0, "u"], [3094, 0, "n"], [3095, 0, "t"], [3096, 0, "e"], [3097, 0, "r"], [3098, 0, "s"], [3099, 0, " "], [3100, 0, "o"], [3101, 0, "r"], [3102, 0, " "], [3103, 0, "s"], [3104, 0, "e"], [3105, 0, "t"], [3106, 0, "s"], [3107, 0, " "], [3056, 0, "O"], [3057, 0, "u"], [3058, 0, "r"], [3059, 0, " "], [3060, 0, "a"], [3061, 0, "p"], [3062, 0, "p"], [3063, 0, "r"], [3064, 0, "o"], [3065, 0, "a"], [3066, 0, "c"], [3067, 0, "h"], [3068, 0, " "], [3069, 0, "a"], [3070, 0, "l"], [3071, 0, "s"], [3072, 0, "o"], [3073, 0, " "], [3074, 0, "g"], [3075, 0, "e"], [3076, 0, "n"], [3077, 0, "e"], [3078, 0, "r"], [3079, 0, "a"], [3080, 0, "l"], [3081, 0, "i"], [3082, 0, "z"], [3083, 0, "e"], [3084, 0, "s"], [3085, 0, " "], [3086, 0, "t"], [3087, 0, "o"], [3088, 0, " "], [3089, 1], [3089, 0, "o"], [3073, 0, " "], [3074, 0, "e"], [3075, 0, "a"], [3076, 0, "s"], [3077, 0, "i"], [3078, 0, "l"], [3079, 0, "y"], [3147, 1], [3147, 0, ","], [3148, 0, " "], [3149, 0, "w"], [3150, 0, "h"], [3151, 0, "i"], [3152, 0, "c"], [3153, 0, "h"], [3154, 0, " "], [3155, 0, "w"], [3156, 0, "e"], [3157, 0, " "], [3158, 0, "d"], [3159, 0, "o"], [3160, 0, " "], [3161, 0, "n"], [3162, 0, "o"], [3163, 0, "t"], [3164, 0, " "], [3165, 0, "s"], [3166, 0, "p"], [3167, 0, "e"], [3168, 0, "l"], [3169, 0, "l"], [3170, 0, " "], [3171, 0, "o"], [3172, 0, "u"], [3173, 0, "t"], [3174, 0, " "], [3175, 0, "i"], [3176, 0, "n"], [3177, 0, " "], [3178, 0, "d"], [3179, 0, "e"], [3180, 0, "t"], [3181, 0, "a"], [3182, 0, "i"], [3183, 0, "l"], [3184, 0, " "], [3185, 0, "i"], [3186, 0, "n"], [3187, 0, " "], [3188, 0, "t"], [3189, 0, "h"], [3190, 0, "e"], [3191, 0, " "], [3192, 0, "i"], [3193, 0, "n"], [3194, 0, "t"], [3195, 0, "e"], [3196, 0, "r"], [3197, 0, "e"], [3198, 0, "s"], [3199, 0, "t"], [3200, 0, "s"], [3201, 0, " "], [3202, 0, "o"], [3203, 0, "f"], [3204, 0, " "], [3205, 0, "b"], [3206, 0, "r"], [3207, 0, "e"], [3208, 0, "v"], [3209, 0, "i"], [3210, 0, "t"], [3211, 0, "y"], [3212, 0, "."], [3200, 1], [5647, 1], [5647, 1], [5647, 1], [5647, 1], [5647, 1], [5647, 1], [5647, 1], [5647, 1], [5647, 1], [5647, 1], [5647, 1], [6051, 0, "o"], [6052, 0, "r"], [6053, 0, " "], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [6115, 1], [3884, 1], [3883, 1], [3883, 0, "r"], [3884, 0, "m"], [3886, 1], [3886, 0, "N"], [3887, 0, "u"], [3888, 0, "m"], [3889, 0, "b"], [3890, 0, "e"], [3891, 0, "r"], [3958, 0, "\n"], [3959, 0, "&"], [3960, 0, " "], [3961, 0, "$"], [3962, 0, "|"], [3963, 0, "$"], [3964, 0, " "], [3965, 0, "&"], [3966, 0, " "], [3967, 0, "\\"], [3968, 0, "v"], [3969, 0, "e"], [3970, 0, "r"], [3971, 0, "b"], [3972, 0, "|"], [3973, 0, "t"], [3974, 0, "r"], [3975, 0, "u"], [3976, 0, "e"], [3977, 0, "|"], [3978, 0, " "], [3979, 0, "$"], [3980, 0, "|"], [3981, 0, "$"], [3982, 0, " "], [3983, 0, "\\"], [3984, 0, "v"], [3985, 0, "e"], [3986, 0, "r"], [3987, 0, "b"], [3988, 0, "|"], [3989, 0, "f"], [3990, 0, "a"], [3991, 0, "l"], [3992, 0, "s"], [3993, 0, "e"], [3994, 0, " "], [3995, 0, "$"], [3996, 0, "|"], [3997, 0, "$"], [3994, 0, "|"], [3999, 0, " "], [4000, 0, "\\"], [4001, 0, "v"], [4002, 0, "e"], [4003, 0, "r"], [4004, 0, "b"], [4005, 0, "|"], [4006, 0, "n"], [4007, 0, "u"], [4008, 0, "l"], [4009, 0, "l"], [4010, 0, " "], [4011, 0, "\\"], [4012, 0, "\\"], [4010, 0, "|"], [4042, 1], [4041, 1], [4036, 1], [4035, 1], [4034, 1], [4033, 1], [4032, 1], [7282, 1], [7281, 1], [7280, 1], [7279, 1], [7278, 1], [7277, 1], [7277, 0, "p"], [7278, 0, "u"], [7279, 0, "t"], [7290, 0, "-"], [7291, 0, "v"], [7292, 0, "a"], [7293, 0, "l"], [7294, 0, "u"], [7295, 0, "e"], [7296, 0, " "], [7297, 0, "p"], [7298, 0, "a"], [7299, 0, "i"], [7300, 0, "r"], [20322, 1], [20321, 1], [20320, 1], [20319, 1], [20318, 1], [20317, 1], [20316, 1], [20315, 1], [20314, 1], [20313, 1], [20312, 1], [20311, 1], [20310, 1], [20309, 1], [20308, 1], [20307, 1], [20306, 1], [20305, 1], [20304, 1], [20303, 1], [20302, 1], [20301, 1], [20300, 1], [20299, 1], [20298, 1], [20297, 1], [20296, 1], [20295, 1], [20294, 1], [20293, 1], [20292, 1], [20291, 1], [20290, 1], [20289, 1], [20288, 1], [20287, 1], [20286, 1], [20285, 1], [20284, 1], [20283, 1], [20282, 1], [20281, 1], [20280, 1], [20279, 1], [20278, 1], [20277, 1], [20276, 1], [20275, 1], [20274, 1], [20273, 1], [20272, 1], [20271, 1], [20270, 1], [20269, 1], [20268, 1], [20267, 1], [20266, 1], [20265, 1], [20264, 1], [20263, 1], [20262, 1], [20261, 1], [20260, 1], [20259, 1], [20258, 1], [20257, 1], [20256, 1], [20255, 1], [20254, 1], [20253, 1], [20252, 1], [20251, 1], [20250, 1], [20249, 1], [20248, 1], [20247, 1], [20246, 1], [20245, 1], [20244, 1], [20243, 1], [20242, 1], [20241, 1], [20240, 1], [20239, 1], [20238, 1], [20237, 1], [20236, 1], [20235, 1], [20234, 1], [20233, 1], [20232, 1], [20231, 1], [20230, 1], [20229, 1], [20228, 1], [20227, 1], [20226, 1], [20225, 1], [20224, 1], [20223, 1], [20222, 1], [20221, 1], [20220, 1], [20219, 1], [20218, 1], [20217, 1], [20216, 1], [20215, 1], [20214, 1], [20213, 1], [20212, 1], [20211, 1], [20210, 1], [20209, 1], [20208, 1], [20207, 1], [20206, 1], [20205, 1], [20204, 1], [20203, 1], [20202, 1], [20201, 1], [20200, 1], [20199, 1], [20198, 1], [20197, 1], [20196, 1], [20195, 1], [20194, 1], [20193, 1], [20192, 1], [20191, 1], [20190, 1], [20189, 1], [20188, 1], [20187, 1], [20186, 1], [20185, 1], [20184, 1], [20183, 1], [20182, 1], [20181, 1], [20180, 1], [20179, 1], [20178, 1], [20177, 1], [20176, 1], [20175, 1], [20174, 1], [20173, 1], [20172, 1], [20171, 1], [20170, 1], [20169, 1], [20168, 1], [20167, 1], [20166, 1], [20165, 1], [20164, 1], [20163, 1], [20162, 1], [20161, 1], [20160, 1], [20159, 1], [20158, 1], [20157, 1], [20156, 1], [20155, 1], [20154, 1], [20153, 1], [20152, 1], [20151, 1], [20150, 1], [20149, 1], [20148, 1], [20147, 1], [20146, 1], [20145, 1], [20144, 1], [20143, 1], [20142, 1], [20141, 1], [20140, 1], [20139, 1], [20138, 1], [20137, 1], [20136, 1], [20135, 1], [20134, 1], [20133, 1], [20132, 1], [20131, 1], [20130, 1], [20129, 1], [20128, 1], [20127, 1], [20126, 1], [20125, 1], [20124, 1], [20123, 1], [20122, 1], [20121, 1], [20120, 1], [20119, 1], [20118, 1], [20117, 1], [20116, 1], [20115, 1], [20114, 1], [20113, 1], [20112, 1], [20111, 1], [20110, 1], [20109, 1], [20108, 1], [20107, 1], [20106, 1], [20105, 1], [20104, 1], [20103, 1], [20102, 1], [20101, 1], [20100, 1], [20099, 1], [20098, 1], [20097, 1], [20096, 1], [20095, 1], [20094, 1], [20093, 1], [20092, 1], [20091, 1], [20090, 1], [20089, 1], [20088, 1], [20087, 1], [20086, 1], [20085, 1], [20084, 1], [20083, 1], [20082, 1], [20081, 1], [20080, 1], [20079, 1], [20078, 1], [20077, 1], [20076, 1], [20075, 1], [20074, 1], [20073, 1], [20072, 1], [20071, 1], [20070, 1], [20069, 1], [20068, 1], [20067, 1], [20066, 1], [20065, 1], [20064, 1], [20063, 1], [20062, 1], [20061, 1], [20060, 1], [20059, 1], [20058, 1], [20057, 1], [20056, 1], [20055, 1], [20054, 1], [20053, 1], [20052, 1], [20051, 1], [20050, 1], [20049, 1], [20048, 1], [20047, 1], [20046, 1], [20045, 1], [20044, 1], [20043, 1], [20042, 1], [20041, 1], [20040, 1], [20039, 1], [20038, 1], [20037, 1], [20036, 1], [20035, 1], [20034, 1], [20033, 1], [20032, 1], [20031, 1], [20030, 1], [20029, 1], [20028, 1], [20027, 1], [20026, 1], [20025, 1], [20024, 1], [20023, 1], [20022, 1], [20021, 1], [20020, 1], [20019, 1], [20018, 1], [20017, 1], [20016, 1], [20015, 1], [20014, 1], [20013, 1], [20012, 1], [20011, 1], [20010, 1], [20009, 1], [20008, 1], [20007, 1], [20006, 1], [20005, 1], [20004, 1], [20003, 1], [20002, 1], [20001, 1], [20000, 1], [19999, 1], [19998, 1], [19997, 1], [19996, 1], [19995, 1], [19994, 1], [19993, 1], [19992, 1], [19991, 1], [19990, 1], [19989, 1], [19988, 1], [19987, 1], [19986, 1], [19985, 1], [19984, 1], [19983, 1], [19982, 1], [19981, 1], [19980, 1], [19979, 1], [19978, 1], [19977, 1], [19976, 1], [19975, 1], [19974, 1], [19973, 1], [19972, 1], [19971, 1], [19970, 1], [19969, 1], [19968, 1], [19967, 1], [19966, 1], [19965, 1], [19964, 1], [19963, 1], [19962, 1], [19961, 1], [19960, 1], [19959, 1], [19958, 1], [19957, 1], [19956, 1], [19955, 1], [19954, 1], [19953, 1], [19952, 1], [19951, 1], [19950, 1], [19949, 1], [19948, 1], [19947, 1], [19946, 1], [19945, 1], [19944, 1], [19943, 1], [19942, 1], [19941, 1], [19940, 1], [19939, 1], [19938, 1], [19937, 1], [19936, 1], [19935, 1], [19934, 1], [19933, 1], [19932, 1], [19931, 1], [19930, 1], [19929, 1], [19928, 1], [19927, 1], [19926, 1], [19925, 1], [19924, 1], [19923, 1], [19922, 1], [19921, 1], [19920, 1], [19919, 1], [19918, 1], [19917, 1], [19916, 1], [19915, 1], [19914, 1], [19913, 1], [19912, 1], [19911, 1], [19910, 1], [19909, 1], [19908, 1], [19907, 1], [19906, 1], [19905, 1], [19904, 1], [19903, 1], [19902, 1], [19901, 1], [19900, 1], [19899, 1], [19898, 1], [19897, 1], [19896, 1], [19895, 1], [19894, 1], [19893, 1], [19892, 1], [19891, 1], [19891, 0, "b"], [19892, 0, "e"], [19893, 0, "g"], [19894, 0, "i"], [19895, 0, "n"], [19896, 0, "{"], [19897, 0, "p"], [19898, 0, "r"], [19899, 0, "o"], [19900, 0, "o"], [19901, 0, "f"], [19902, 0, "t"], [19903, 0, "r"], [19904, 0, "e"], [19905, 0, "e"], [19906, 0, "}"], [19907, 0, "\n"], [19908, 0, "\\"], [19909, 0, "e"], [19910, 0, "n"], [19911, 0, "d"], [19912, 0, "{"], [19913, 0, "p"], [19914, 0, "r"], [19915, 0, "o"], [19916, 0, "o"], [19917, 0, "f"], [19918, 0, "t"], [19919, 0, "r"], [19920, 0, "e"], [19921, 0, "e"], [19922, 0, "}"], [19861, 0, "\\"], [19862, 0, "s"], [19863, 0, "u"], [19864, 0, "b"], [19865, 0, "s"], [19866, 0, "u"], [19867, 0, "b"], [19868, 0, "s"], [19869, 0, "e"], [19870, 0, "c"], [19871, 0, "t"], [19872, 0, "i"], [19873, 0, "o"], [19874, 0, "n"], [19875, 0, "{"], [19876, 0, "O"], [19877, 0, "p"], [19878, 0, "e"], [19879, 0, "r"], [19880, 0, "a"], [19881, 0, "t"], [19882, 0, "i"], [19883, 0, "o"], [19884, 0, "n"], [19885, 0, " "], [19886, 0, "s"], [19887, 0, "t"], [19888, 0, "r"], [19889, 0, "u"], [19890, 0, "c"], [19891, 0, "t"], [19892, 0, "u"], [19893, 0, "r"], [19894, 0, "e"], [19895, 0, "}"], [19896, 0, "\n"], [19897, 0, "\n"], [19898, 0, "A"], [19899, 0, "n"], [19900, 0, " "], [19901, 0, "o"], [19902, 0, "p"], [19903, 0, "e"], [19904, 0, "r"], [19905, 0, "a"], [19906, 0, "t"], [19907, 0, "i"], [19908, 0, "o"], [19909, 0, "n"], [19910, 0, " "], [19911, 0, "i"], [19912, 0, "s"], [19913, 0, " "], [19914, 0, "a"], [19915, 0, " "], [19916, 0, "t"], [19917, 0, "y"], [19918, 0, "p"], [19918, 1], [19917, 1], [19917, 0, "u"], [19918, 0, "p"], [19919, 0, "l"], [19920, 0, "e"], [19921, 0, " "], [19922, 0, "o"], [19923, 0, "f"], [19924, 0, " "], [19925, 0, "t"], [19926, 0, "h"], [19927, 0, "e"], [19928, 0, " "], [19929, 0, "f"], [19930, 0, "o"], [19931, 0, "r"], [19932, 0, "m"], [19933, 0, "\n"], [19934, 0, "\\"], [19935, 0, "["], [19936, 0, " "], [19937, 0, "\\"], [19938, 0, "m"], [19939, 0, "a"], [19940, 0, "t"], [19941, 0, "h"], [19942, 0, "s"], [19943, 0, "f"], [19944, 0, "{"], [19945, 0, "o"], [19946, 0, "p"], [19947, 0, "}"], [19948, 0, "("], [19949, 0, "\\"], [19950, 0, "m"], [19951, 0, "a"], [19952, 0, "t"], [19953, 0, "h"], [19954, 0, "i"], [19955, 0, "t"], [19956, 0, "{"], [19957, 0, "i"], [19958, 0, "d"], [19959, 0, "}"], [19960, 0, ":"], [19961, 0, " "], [19962, 0, "\\"], [19963, 0, "m"], [19964, 0, "a"], [19965, 0, "t"], [19966, 0, "h"], [19967, 0, "r"], [19968, 0, "m"], [19969, 0, "{"], [19969, 1], [19968, 1], [19967, 1], [19966, 1], [19965, 1], [19964, 1], [19963, 1], [19962, 1], [19962, 0, "\\"], [19963, 0, "m"], [19964, 0, "a"], [19965, 0, "t"], [19966, 0, "h"], [19967, 0, "b"], [19968, 0, "b"], [19969, 0, "{"], [19970, 0, "N"], [19971, 0, "}"], [19972, 0, " "], [19973, 0, "\\"], [19974, 0, "t"], [19975, 0, "i"], [19976, 0, "m"], [19977, 0, "e"], [19978, 0, "s"], [19979, 0, " "], [19980, 0, "\\"], [19981, 0, "m"], [19982, 0, "a"], [19983, 0, "t"], [19984, 0, "h"], [19985, 0, "r"], [19986, 0, "m"], [19987, 0, "{"], [19988, 0, "P"], [19989, 0, "e"], [19990, 0, "e"], [19991, 0, "r"], [19992, 0, "I"], [19993, 0, "D"], [19994, 0, "}"], [19949, 0, "\n"], [19950, 0, " "], [19951, 0, " "], [19952, 0, " "], [19953, 0, " "], [20000, 0, ","], [20001, 0, "\n"], [20002, 0, " "], [20003, 0, " "], [20004, 0, " "], [20005, 0, " "], [20006, 0, "\\"], [20007, 0, "m"], [20008, 0, "a"], [20009, 0, "t"], [20010, 0, "h"], [20011, 0, "i"], [20012, 0, "t"], [20013, 0, "{"], [20014, 0, "d"], [20015, 0, "e"], [20016, 0, "p"], [20017, 0, "s"], [20018, 0, "}"], [20019, 0, ":"], [20020, 0, " "], [20021, 0, "\\"], [20022, 0, "m"], [20023, 0, "a"], [20024, 0, "t"], [20025, 0, "h"], [20026, 0, "c"], [20027, 0, "a"], [20028, 0, "l"], [20029, 0, "{"], [20030, 0, "P"], [20031, 0, "}"], [20032, 0, "("], [20033, 0, " "], [20033, 1], [20033, 0, "\\"], [20034, 0, "m"], [20035, 0, "a"], [20036, 0, "t"], [20037, 0, "h"], [20038, 0, "b"], [20039, 0, "b"], [20040, 0, "{"], [20041, 0, "N"], [20042, 0, "}"], [20043, 0, " "], [20044, 0, "\\"], [20045, 0, "t"], [20046, 0, "i"], [20047, 0, "m"], [20048, 0, "e"], [20049, 0, "s"], [20050, 0, " "], [20051, 0, "\\"], [20052, 0, "m"], [20053, 0, "a"], [20054, 0, "t"], [20055, 0, "h"], [20056, 0, "r"], [20057, 0, "m"], [20058, 0, "{"], [20059, 0, "P"], [20060, 0, "e"], [20061, 0, "e"], [20062, 0, "r"], [20063, 0, "I"], [20064, 0, "D"], [20065, 0, "}"], [20066, 0, ")"], [20067, 0, ","], [20068, 0, "\n"], [20069, 0, " "], [20070, 0, " "], [20071, 0, " "], [20072, 0, " "], [20073, 0, "\\"], [20074, 0, "m"], [20075, 0, "a"], [20076, 0, "t"], [20077, 0, "h"], [20078, 0, "i"], [20079, 0, "t"], [20080, 0, "{"], [20081, 0, "c"], [20082, 0, "u"], [20083, 0, "r"], [20084, 0, "}"], [20085, 0, ":"], [20086, 0, " "], [20087, 0, "\\"], [20088, 0, "m"], [20089, 0, "a"], [20090, 0, "t"], [20091, 0, "h"], [20092, 0, "s"], [20093, 0, "f"], [20094, 0, "{"], [20095, 0, "c"], [20096, 0, "u"], [20097, 0, "r"], [20098, 0, "s"], [20099, 0, "o"], [20100, 0, "r"], [20101, 0, "}"], [20102, 0, "("], [20103, 0, "\\"], [20104, 0, "l"], [20105, 0, "a"], [20106, 0, "n"], [20107, 0, "g"], [20108, 0, "l"], [20109, 0, "e"], [20110, 0, " "], [20111, 0, "k"], [20112, 0, "_"], [20113, 0, "1"], [20114, 0, ","], [20115, 0, " "], [20116, 0, "\\"], [20117, 0, "d"], [20118, 0, "o"], [20119, 0, "t"], [20120, 0, "s"], [20121, 0, ","], [20122, 0, " "], [20123, 0, "k"], [20124, 0, "_"], [20125, 0, "{"], [20126, 0, "n"], [20127, 0, "-"], [20128, 0, "1"], [20129, 0, "}"], [20130, 0, " "], [20131, 0, "\\"], [20132, 0, "r"], [20133, 0, "a"], [20134, 0, "n"], [20135, 0, "g"], [20136, 0, "l"], [20137, 0, "e"], [20138, 0, ","], [20139, 0, "\\"], [20140, 0, ","], [20141, 0, " "], [20142, 0, "k"], [20143, 0, "_"], [20144, 0, "n"], [20145, 0, ")"], [20146, 0, ","], [20147, 0, "\n"], [20148, 0, " "], [20149, 0, " "], [20150, 0, " "], [20151, 0, " "], [20152, 0, "\\"], [20153, 0, "m"], [20154, 0, "a"], [20155, 0, "t"], [20156, 0, "h"], [20157, 0, "i"], [20158, 0, "t"], [20159, 0, "{"], [20160, 0, "m"], [20161, 0, "u"], [20162, 0, "t"], [20163, 0, "}"], [19933, 0, "\n"], [19934, 0, "\\"], [19935, 0, "b"], [19936, 0, "e"], [19937, 0, "g"], [19938, 0, "i"], [19939, 0, "n"], [19940, 0, "{"], [19941, 0, "a"], [19942, 0, "l"], [19943, 0, "i"], [19944, 0, "g"], [19945, 0, "n"], [19946, 0, "a"], [19947, 0, "t"], [19948, 0, "*"], [19949, 0, "}"], [19950, 0, "{"], [19951, 0, "2"], [19952, 0, "}"], [19954, 1], [19954, 1], [19954, 0, "&"], [20184, 0, "&"], [20185, 0, " "], [20186, 0, ")"], [20187, 0, "\n"], [20188, 0, "\\"], [20189, 0, "e"], [20190, 0, "n"], [20191, 0, "d"], [20192, 0, "{"], [20193, 0, "a"], [20194, 0, "l"], [20195, 0, "i"], [20196, 0, "g"], [20197, 0, "n"], [20198, 0, "a"], [20199, 0, "t"], [20200, 0, "*"], [20201, 0, "}"], [20202, 0, "\n"], [19968, 0, " "], [19969, 0, "\\"], [19970, 0, "\\"], [19972, 1], [19972, 1], [19972, 1], [19972, 0, "&"], [19973, 0, "&"], [20023, 1], [20023, 1], [20023, 1], [20023, 0, "&"], [20024, 0, "&"], [20089, 1], [20089, 1], [20089, 1], [20089, 0, "&"], [20090, 0, "&"], [20167, 1], [20167, 1], [20167, 1], [20167, 0, "&"], [20168, 0, "&"], [19986, 0, " "], [19987, 0, "&"], [20041, 0, " "], [20042, 0, "&"], [20108, 0, " "], [20109, 0, "&"], [20188, 0, " "], [20189, 0, "&"], [20190, 0, ":"], [20191, 0, " "], [20192, 0, "\\"], [20193, 0, "m"], [20194, 0, "a"], [20195, 0, "t"], [20196, 0, "h"], [20197, 0, "s"], [20198, 0, "f"], [20199, 0, "{"], [20200, 0, "i"], [20201, 0, "n"], [20202, 0, "s"], [20203, 0, "e"], [20204, 0, "r"], [20205, 0, "t"], [20206, 0, "}"], [20207, 0, "("], [20208, 0, "v"], [20209, 0, ")"], [20210, 0, " "], [20211, 0, "\\"], [20212, 0, "m"], [20213, 0, "i"], [20214, 0, "d"], [20215, 0, " "], [20216, 0, "\\"], [20217, 0, "m"], [20218, 0, "a"], [20219, 0, "t"], [20220, 0, "h"], [20221, 0, "s"], [20222, 0, "f"], [20223, 0, "{"], [20224, 0, "d"], [20225, 0, "e"], [20226, 0, "l"], [20227, 0, "e"], [20228, 0, "t"], [20229, 0, "e"], [20230, 0, "}"], [20231, 0, " "], [20232, 0, "\\"], [20233, 0, " "], [20233, 1], [20233, 0, "m"], [20234, 0, "i"], [20235, 0, "d"], [20236, 0, " "], [20237, 0, "\\"], [20238, 0, "m"], [20239, 0, "a"], [20240, 0, "t"], [20241, 0, "h"], [20242, 0, "s"], [20243, 0, "f"], [20244, 0, "{"], [20245, 0, "a"], [20246, 0, "s"], [20247, 0, "s"], [20248, 0, "i"], [20249, 0, "g"], [20250, 0, "n"], [20251, 0, "}"], [20252, 0, "("], [20253, 0, "v"], [20254, 0, ")"], [20255, 0, " "], [20256, 0, "\\"], [20257, 0, "\\"], [20172, 0, " "], [20173, 0, "\\"], [20174, 0, "\\"], [20092, 0, " "], [20093, 0, "\\"], [20094, 0, "\\"], [20024, 0, " "], [20025, 0, "\\"], [20026, 0, "\\"], [20315, 0, "%"], [20334, 0, "%"], [20286, 0, "\n"], [20287, 0, "w"], [20288, 0, "h"], [20289, 0, "e"], [20290, 0, "r"], [20291, 0, "e"], [20292, 0, " "], [20293, 0, "\\"], [20294, 0, "t"], [20294, 1], [20293, 1], [20293, 0, "$"], [20294, 0, "\\"], [20295, 0, "m"], [20296, 0, "a"], [20297, 0, "t"], [20298, 0, "h"], [20299, 0, "i"], [20300, 0, "t"], [20301, 0, "{"], [20302, 0, "i"], [20303, 0, "d"], [20304, 0, "}"], [20305, 0, "$"], [20306, 0, " "], [20307, 0, "i"], [20308, 0, "s"], [20309, 0, " "], [20310, 0, "t"], [20311, 0, "h"], [20312, 0, "e"], [20313, 0, " "], [20314, 0, "L"], [20315, 0, "a"], [20316, 0, "m"], [20317, 0, "p"], [20318, 0, "o"], [20319, 0, "r"], [20320, 0, "t"], [20321, 0, " "], [20322, 0, "t"], [20323, 0, "i"], [20324, 0, "m"], [20325, 0, "e"], [20326, 0, "s"], [20327, 0, "t"], [20328, 0, "a"], [20329, 0, "m"], [20330, 0, "p"], [20331, 0, " "], [20332, 0, "t"], [20333, 0, "h"], [20334, 0, "a"], [20335, 0, "t"], [20336, 0, " "], [20337, 0, "u"], [20338, 0, "n"], [20339, 0, "i"], [20340, 0, "q"], [20341, 0, "u"], [20342, 0, "e"], [20343, 0, "l"], [20344, 0, "y"], [20345, 0, " "], [20346, 0, "i"], [20347, 0, "d"], [20348, 0, "e"], [20349, 0, "n"], [20350, 0, "t"], [20351, 0, "i"], [20352, 0, "f"], [20353, 0, "i"], [20354, 0, "e"], [20355, 0, "s"], [20356, 0, " "], [20357, 0, "t"], [20358, 0, "h"], [20359, 0, "e"], [20360, 0, " "], [20361, 0, "o"], [20362, 0, "p"], [20363, 0, "e"], [20364, 0, "r"], [20365, 0, "a"], [20366, 0, "t"], [20367, 0, "i"], [20368, 0, "o"], [20369, 0, "n"], [20370, 0, ","], [20371, 0, " "], [20372, 0, "$"], [20373, 0, "\\"], [20374, 0, "m"], [20375, 0, "a"], [20376, 0, "t"], [20377, 0, "h"], [20378, 0, "i"], [20379, 0, "t"], [20380, 0, "{"], [20381, 0, "c"], [20382, 0, "u"], [20383, 0, "r"], [20384, 0, "}"], [20385, 0, "$"], [20386, 0, " "], [20387, 0, "i"], [20388, 0, "s"], [20389, 0, " "], [20390, 0, "t"], [20391, 0, "h"], [20392, 0, "e"], [20393, 0, " "], [20394, 0, "c"], [20395, 0, "u"], [20396, 0, "r"], [20397, 0, "s"], [20398, 0, "o"], [20399, 0, "r"], [20400, 0, " "], [20401, 0, "d"], [20402, 0, "e"], [20403, 0, "s"], [20404, 0, "c"], [20405, 0, "r"], [20406, 0, "i"], [20407, 0, "b"], [20408, 0, "i"], [20409, 0, "n"], [20410, 0, "g"], [20411, 0, " "], [20412, 0, "t"], [20413, 0, "h"], [20414, 0, "e"], [20415, 0, " "], [20416, 0, "p"], [20417, 0, "o"], [20418, 0, "s"], [20419, 0, "i"], [20420, 0, "t"], [20421, 0, "i"], [20422, 0, "o"], [20423, 0, "n"], [20424, 0, " "], [20425, 0, "i"], [20426, 0, "n"], [20427, 0, " "], [20428, 0, "t"], [20429, 0, "h"], [20430, 0, "e"], [20431, 0, " "], [20432, 0, "d"], [20433, 0, "o"], [20434, 0, "c"], [20435, 0, "u"], [20436, 0, "m"], [20437, 0, "e"], [20438, 0, "n"], [20439, 0, "t"], [20440, 0, " "], [20441, 0, "b"], [20442, 0, "e"], [20443, 0, "i"], [20444, 0, "n"], [20445, 0, "g"], [20446, 0, " "], [20447, 0, "m"], [20448, 0, "o"], [20449, 0, "d"], [20450, 0, "i"], [20451, 0, "f"], [20452, 0, "i"], [20453, 0, "e"], [20454, 0, "d"], [20455, 0, ","], [20456, 0, " "], [20457, 0, "a"], [20458, 0, "n"], [20459, 0, "d"], [20460, 0, " "], [20461, 0, "$"], [20462, 0, "\\"], [20463, 0, "m"], [20464, 0, "a"], [20465, 0, "t"], [20466, 0, "h"], [20467, 0, "i"], [20468, 0, "t"], [20469, 0, "{"], [20470, 0, "m"], [20471, 0, "u"], [20472, 0, "t"], [20473, 0, "}"], [20474, 0, "$"], [20475, 0, " "], [20476, 0, "i"], [20477, 0, "s"], [20478, 0, " "], [20479, 0, "t"], [20480, 0, "h"], [20481, 0, "e"], [20482, 0, " "], [20483, 0, "m"], [20484, 0, "u"], [20485, 0, "t"], [20486, 0, "a"], [20487, 0, "t"], [20488, 0, "i"], [20489, 0, "o"], [20490, 0, "n"], [20491, 0, " "], [20492, 0, "t"], [20493, 0, "h"], [20494, 0, "a"], [20495, 0, "t"], [20496, 0, " "], [20497, 0, "s"], [20498, 0, "h"], [20499, 0, "o"], [20500, 0, "u"], [20501, 0, "l"], [20502, 0, "d"], [20503, 0, " "], [20504, 0, "o"], [20505, 0, "c"], [20506, 0, "c"], [20507, 0, "u"], [20508, 0, "r"], [20509, 0, " "], [20509, 1], [20508, 1], [20507, 1], [20506, 1], [20505, 1], [20504, 1], [20503, 1], [20502, 1], [20501, 1], [20500, 1], [20499, 1], [20498, 1], [20497, 1], [20497, 0, "w"], [20498, 0, "a"], [20499, 0, "s"], [20500, 0, " "], [20501, 0, "r"], [20502, 0, "e"], [20503, 0, "q"], [20504, 0, "u"], [20505, 0, "e"], [20506, 0, "s"], [20507, 0, "t"], [20508, 0, "e"], [20509, 0, "d"], [20510, 0, " "], [20511, 0, "a"], [20512, 0, "t"], [20513, 0, " "], [20514, 0, "t"], [20515, 0, "h"], [20516, 0, "e"], [20517, 0, " "], [20518, 0, "s"], [20519, 0, "p"], [20520, 0, "e"], [20521, 0, "c"], [20522, 0, "i"], [20523, 0, "f"], [20524, 0, "i"], [20525, 0, "e"], [20526, 0, "d"], [20527, 0, " "], [20528, 0, "p"], [20529, 0, "o"], [20530, 0, "s"], [20531, 0, "i"], [20532, 0, "t"], [20533, 0, "i"], [20534, 0, "o"], [20535, 0, "n"], [20536, 0, "."], [20537, 0, "\n"], [20538, 0, "\n"], [20539, 0, "$"], [20540, 0, "\\"], [20541, 0, "m"], [20542, 0, "a"], [20543, 0, "t"], [20544, 0, "h"], [20545, 0, "i"], [20546, 0, "t"], [20547, 0, "{"], [20548, 0, "d"], [20549, 0, "e"], [20550, 0, "p"], [20551, 0, "s"], [20552, 0, "}"], [20553, 0, "$"], [20554, 0, " "], [20555, 0, "i"], [20556, 0, "s"], [20557, 0, " "], [20558, 0, "t"], [20559, 0, "h"], [20560, 0, "e"], [20561, 0, " "], [20562, 0, "s"], [20563, 0, "e"], [20564, 0, "t"], [20565, 0, " "], [20566, 0, "o"], [20567, 0, "f"], [20568, 0, " "], [20569, 0, "c"], [20570, 0, "a"], [20571, 0, "u"], [20572, 0, "s"], [20573, 0, "a"], [20574, 0, "l"], [20575, 0, " "], [20576, 0, "d"], [20577, 0, "e"], [20578, 0, "p"], [20579, 0, "e"], [20580, 0, "n"], [20581, 0, "d"], [20582, 0, "e"], [20583, 0, "n"], [20584, 0, "c"], [20585, 0, "i"], [20586, 0, "e"], [20587, 0, "s"], [20588, 0, " "], [20589, 0, "o"], [20590, 0, "f"], [20591, 0, " "], [20592, 0, "t"], [20593, 0, "h"], [20594, 0, "e"], [20595, 0, " "], [20596, 0, "o"], [20597, 0, "p"], [20598, 0, "e"], [20599, 0, "r"], [20600, 0, "a"], [20601, 0, "t"], [20602, 0, "i"], [20603, 0, "o"], [20604, 0, "n"], [20605, 0, ","], [20606, 0, " "], [20607, 0, "g"], [20608, 0, "i"], [20609, 0, "v"], [20610, 0, "e"], [20611, 0, "n"], [20612, 0, " "], [20613, 0, "a"], [20614, 0, "s"], [20615, 0, " "], [20616, 0, "a"], [20617, 0, " "], [20618, 0, "s"], [20619, 0, "e"], [20620, 0, "t"], [20621, 0, " "], [20622, 0, "o"], [20623, 0, "f"], [20624, 0, " "], [20625, 0, "L"], [20626, 0, "a"], [20627, 0, "m"], [20628, 0, "p"], [20629, 0, "o"], [20630, 0, "r"], [20631, 0, "t"], [20632, 0, " "], [20633, 0, "t"], [20634, 0, "i"], [20635, 0, "m"], [20636, 0, "e"], [20637, 0, "s"], [20638, 0, "t"], [20639, 0, "a"], [20640, 0, "m"], [20641, 0, "p"], [20642, 0, "s"], [20643, 0, "."], [20644, 0, " "], [20645, 0, "T"], [20646, 0, "h"], [20647, 0, "e"], [20648, 0, " "], [20649, 0, "s"], [20650, 0, "e"], [20651, 0, "m"], [20652, 0, "a"], [20653, 0, "n"], [20654, 0, "t"], [20655, 0, "i"], [20656, 0, "c"], [20657, 0, "s"], [20658, 0, " "], [20659, 0, "b"], [20660, 0, "e"], [20661, 0, "l"], [20662, 0, "o"], [20663, 0, "w"], [20664, 0, " "], [20665, 0, "d"], [20666, 0, "e"], [20667, 0, "f"], [20668, 0, "i"], [20669, 0, "n"], [20670, 0, "e"], [20671, 0, " "], [20672, 0, "t"], [20673, 0, "h"], [20674, 0, "i"], [20675, 0, "s"], [20676, 0, " "], [20677, 0, "="], [20677, 1], [20676, 1], [20675, 1], [20674, 1], [20673, 1], [20672, 1], [20672, 0, "$"], [20673, 0, "\\"], [20674, 0, "m"], [20675, 0, "a"], [20676, 0, "t"], [20677, 0, "h"], [20678, 0, "i"], [20679, 0, "t"], [20680, 0, "{"], [20681, 0, "d"], [20682, 0, "e"], [20683, 0, "p"], [20684, 0, "s"], [20685, 0, "}"], [20686, 0, "$"], [20687, 0, " "], [20688, 0, "t"], [20689, 0, "o"], [20690, 0, " "], [20691, 0, "b"], [20692, 0, "e"], [20693, 0, " "], [20694, 0, "t"], [20695, 0, "h"], [20696, 0, "e"], [20697, 0, " "], [20698, 0, "s"], [20699, 0, "e"], [20700, 0, "t"], [20701, 0, " "], [20702, 0, "o"], [20703, 0, "f"], [20704, 0, " "], [20705, 0, "o"], [20706, 0, "p"], [20707, 0, "e"], [20708, 0, "r"], [20709, 0, "a"], [20710, 0, "t"], [20711, 0, "i"], [20712, 0, "o"], [20713, 0, "n"], [20714, 0, " "], [20715, 0, "I"], [20716, 0, "D"], [20717, 0, "s"], [20718, 0, " "], [20704, 0, " "], [20705, 0, "a"], [20706, 0, "l"], [20707, 0, "l"], [20723, 0, "t"], [20724, 0, "h"], [20725, 0, "a"], [20726, 0, "t"], [20727, 0, " "], [20728, 0, "h"], [20729, 0, "a"], [20730, 0, "d"], [20731, 0, " "], [20732, 0, "b"], [20733, 0, "e"], [20734, 0, "e"], [20735, 0, "n"], [20736, 0, " "], [20737, 0, "a"], [20738, 0, "p"], [20739, 0, "p"], [20740, 0, "l"], [20741, 0, "i"], [20742, 0, "e"], [20743, 0, "d"], [20744, 0, " "], [20745, 0, "t"], [20746, 0, "o"], [20747, 0, " "], [20748, 0, "t"], [20749, 0, "h"], [20750, 0, "e"], [20751, 0, " "], [20752, 0, "d"], [20753, 0, "o"], [20754, 0, "c"], [20755, 0, "u"], [20756, 0, "m"], [20757, 0, "e"], [20758, 0, "n"], [20759, 0, "t"], [20760, 0, " "], [20761, 0, "a"], [20762, 0, "t"], [20763, 0, " "], [20764, 0, "t"], [20765, 0, "h"], [20766, 0, "e"], [20767, 0, " "], [20768, 0, "t"], [20769, 0, "i"], [20770, 0, "m"], [20771, 0, "e"], [20772, 0, " "], [20773, 0, "w"], [20774, 0, "h"], [20775, 0, "e"], [20776, 0, "n"], [20777, 0, " "], [20778, 0, "t"], [20779, 0, "h"], [20780, 0, "e"], [20781, 0, " "], [20782, 0, "o"], [20783, 0, "p"], [20784, 0, "e"], [20785, 0, "r"], [20786, 0, "a"], [20787, 0, "t"], [20788, 0, "i"], [20789, 0, "o"], [20790, 0, "n"], [20791, 0, " "], [20792, 0, "w"], [20793, 0, "a"], [20794, 0, "s"], [20795, 0, " "], [20796, 0, "g"], [20797, 0, "e"], [20798, 0, "n"], [20799, 0, "e"], [20800, 0, "r"], [20801, 0, "a"], [20802, 0, "t"], [20803, 0, "e"], [20804, 0, "d"], [20805, 0, "."], [20806, 0, " "], [20807, 0, "I"], [20808, 0, "n"], [20809, 0, " "], [20810, 0, "a"], [20811, 0, " "], [20812, 0, "r"], [20813, 0, "e"], [20814, 0, "a"], [20815, 0, "l"], [20816, 0, " "], [20817, 0, "i"], [20818, 0, "m"], [20819, 0, "p"], [20820, 0, "l"], [20821, 0, "e"], [20822, 0, "m"], [20823, 0, "e"], [20824, 0, "n"], [20825, 0, "t"], [20826, 0, "a"], [20827, 0, "t"], [20828, 0, "i"], [20829, 0, "o"], [20830, 0, "n"], [20831, 0, ","], [20832, 0, " "], [20833, 0, "t"], [20834, 0, "h"], [20835, 0, "i"], [20836, 0, "s"], [20837, 0, " "], [20838, 0, "s"], [20839, 0, "e"], [20840, 0, "t"], [20841, 0, " "], [20842, 0, "w"], [20843, 0, "o"], [20844, 0, "u"], [20845, 0, "l"], [20846, 0, "d"], [20847, 0, " "], [20848, 0, "b"], [20849, 0, "e"], [20850, 0, "c"], [20851, 0, "o"], [20852, 0, "m"], [20853, 0, "e"], [20854, 0, " "], [20855, 0, "i"], [20856, 0, "m"], [20857, 0, "p"], [20858, 0, "r"], [20859, 0, "a"], [20860, 0, "c"], [20861, 0, "t"], [20862, 0, "i"], [20863, 0, "c"], [20864, 0, "a"], [20865, 0, "b"], [20866, 0, "l"], [20867, 0, "y"], [20868, 0, " "], [20869, 0, "l"], [20870, 0, "a"], [20871, 0, "r"], [20872, 0, "g"], [20873, 0, "e"], [20874, 0, ","], [20875, 0, " "], [20876, 0, "s"], [20877, 0, "o"], [20878, 0, " "], [20879, 0, "a"], [20880, 0, " "], [20881, 0, "c"], [20882, 0, "o"], [20883, 0, "m"], [20884, 0, "p"], [20885, 0, "a"], [20886, 0, "c"], [20887, 0, "t"], [20888, 0, " "], [20889, 0, "r"], [20890, 0, "e"], [20891, 0, "p"], [20892, 0, "r"], [20893, 0, "e"], [20894, 0, "s"], [20895, 0, "e"], [20896, 0, "n"], [20897, 0, "t"], [20898, 0, "a"], [20899, 0, "t"], [20900, 0, "i"], [20901, 0, "o"], [20902, 0, "n"], [20903, 0, " "], [20904, 0, "o"], [20905, 0, "f"], [20906, 0, " "], [20907, 0, "c"], [20908, 0, "a"], [20909, 0, "u"], [20910, 0, "s"], [20911, 0, "a"], [20912, 0, "l"], [20913, 0, " "], [20914, 0, "h"], [20915, 0, "i"], [20916, 0, "s"], [20917, 0, "t"], [20918, 0, "o"], [20919, 0, "r"], [20920, 0, "y"], [20921, 0, " "], [20922, 0, "s"], [20923, 0, "u"], [20924, 0, "c"], [20925, 0, "h"], [20926, 0, " "], [20926, 1], [20925, 1], [20924, 1], [20923, 1], [20922, 1], [20922, 0, "w"], [20923, 0, "o"], [20924, 0, "u"], [20925, 0, "l"], [20926, 0, "d"], [20927, 0, " "], [20928, 0, "b"], [20929, 0, "e"], [20930, 0, " "], [20931, 0, "u"], [20932, 0, "s"], [20933, 0, "e"], [20934, 0, "d"], [20935, 0, " "], [20936, 0, "i"], [20937, 0, "n"], [20938, 0, "s"], [20939, 0, "t"], [20940, 0, "e"], [20941, 0, "a"], [20942, 0, "d"], [20943, 0, " "], [20944, 0, "-"], [20945, 0, "-"], [20946, 0, " "], [20947, 0, "f"], [20948, 0, "o"], [20949, 0, "r"], [20950, 0, " "], [20951, 0, "e"], [20952, 0, "x"], [20953, 0, "a"], [20954, 0, "m"], [20955, 0, "p"], [20956, 0, "l"], [20957, 0, "e"], [20958, 0, ","], [20959, 0, " "], [20960, 0, "v"], [20961, 0, "e"], [20962, 0, "r"], [20963, 0, "s"], [20964, 0, "i"], [20965, 0, "o"], [20966, 0, "n"], [20967, 0, " "], [20968, 0, "v"], [20969, 0, "e"], [20970, 0, "c"], [20971, 0, "t"], [20972, 0, "o"], [20973, 0, "r"], [20974, 0, "s"], [20975, 0, " "], [20976, 0, "o"], [20977, 0, "r"], [20978, 0, " "], [20979, 0, "d"], [20980, 0, "o"], [20981, 0, "t"], [20982, 0, "t"], [20983, 0, "e"], [20984, 0, "d"], [20985, 0, " "], [20986, 0, "v"], [20987, 0, "e"], [20988, 0, "r"], [20989, 0, "s"], [20990, 0, "i"], [20991, 0, "o"], [20992, 0, "n"], [20993, 0, " "], [20994, 0, "v"], [20995, 0, "e"], [20996, 0, "c"], [20997, 0, "t"], [20998, 0, "o"], [20999, 0, "r"], [21000, 0, "s"], [21001, 0, " "], [21002, 0, "("], [21003, 0, "T"], [21004, 0, "O"], [21005, 0, "D"], [21006, 0, "O"], [21007, 0, " "], [21008, 0, "i"], [21008, 1], [21008, 0, "c"], [21009, 0, "i"], [21010, 0, "t"], [21011, 0, "a"], [21012, 0, "t"], [21013, 0, "i"], [21014, 0, "o"], [21015, 0, "n"], [21016, 0, "s"], [21017, 0, ")"], [21018, 0, "."], [21019, 0, " "], [21020, 0, "H"], [21021, 0, "o"], [21022, 0, "w"], [21023, 0, "e"], [21024, 0, "v"], [21025, 0, "e"], [21026, 0, "r"], [21027, 0, ","], [21028, 0, " "], [21029, 0, "i"], [21030, 0, "n"], [21031, 0, " "], [21032, 0, "o"], [21033, 0, "u"], [21034, 0, "r"], [21035, 0, " "], [21036, 0, "a"], [21037, 0, "b"], [21038, 0, "s"], [21039, 0, "t"], [21040, 0, "r"], [21041, 0, "a"], [21042, 0, "c"], [21043, 0, "t"], [21044, 0, " "], [21045, 0, "p"], [21046, 0, "r"], [21047, 0, "e"], [21048, 0, "s"], [21049, 0, "e"], [21050, 0, "n"], [21051, 0, "t"], [21052, 0, "a"], [21053, 0, "t"], [21054, 0, "i"], [21055, 0, "o"], [21056, 0, "n"], [21057, 0, " "], [21058, 0, "o"], [21059, 0, "f"], [21060, 0, " "], [21061, 0, "t"], [21062, 0, "h"], [21063, 0, "e"], [21064, 0, " "], [21065, 0, "s"], [21066, 0, "e"], [21067, 0, "m"], [21068, 0, "a"], [21069, 0, "n"], [21070, 0, "t"], [21071, 0, "i"], [21072, 0, "c"], [21073, 0, "s"], [21074, 0, " "], [21075, 0, "w"], [21076, 0, "e"], [21077, 0, " "], [21078, 0, "g"], [21079, 0, "i"], [21080, 0, "v"], [21081, 0, "e"], [21082, 0, " "], [21083, 0, "t"], [21084, 0, "h"], [21085, 0, "e"], [21086, 0, " "], [21087, 0, "d"], [21088, 0, "e"], [21089, 0, "p"], [21090, 0, "e"], [21091, 0, "n"], [21092, 0, "d"], [21093, 0, "e"], [21094, 0, "n"], [21095, 0, "c"], [21096, 0, "i"], [21097, 0, "e"], [21098, 0, "s"], [21099, 0, " "], [21100, 0, "a"], [21101, 0, "s"], [21102, 0, " "], [21103, 0, "a"], [21104, 0, " "], [21105, 0, "s"], [21106, 0, "e"], [21107, 0, "t"], [21108, 0, " "], [21109, 0, "o"], [21110, 0, "f"], [21111, 0, " "], [21112, 0, "o"], [21113, 0, "p"], [21114, 0, "e"], [21115, 0, "r"], [21116, 0, "a"], [21117, 0, "t"], [21118, 0, "i"], [21119, 0, "o"], [21120, 0, "n"], [21121, 0, " "], [21122, 0, "I"], [21123, 0, "D"], [21124, 0, "s"], [21125, 0, " "], [21126, 0, "s"], [21127, 0, "i"], [21128, 0, "n"], [21129, 0, "c"], [21130, 0, " "], [21131, 0, "e"], [21131, 1], [21130, 1], [21130, 0, "e"], [21131, 0, "."], [21131, 1], [21130, 1], [21129, 1], [21128, 1], [21127, 1], [21126, 1], [21125, 1], [21124, 1], [21124, 0, "s"], [21125, 0, "."], [21026, 1], [21025, 1], [21024, 1], [21023, 1], [21022, 1], [21021, 1], [21020, 1], [21020, 1], [21020, 0, "T"], [21021, 0, "o"], [21022, 0, " "], [21023, 0, "a"], [21024, 0, "v"], [21025, 0, "o"], [21026, 0, "i"], [21027, 0, "d"], [21028, 0, " "], [21029, 0, "a"], [21030, 0, "m"], [21031, 0, "b"], [21032, 0, "i"], [21033, 0, "g"], [21034, 0, "u"], [21035, 0, "i"], [21036, 0, "t"], [21037, 0, "y"], [21046, 1], [21046, 1], [21046, 1], [21046, 1], [21046, 1], [21046, 1], [21046, 1], [21046, 1], [21046, 1], [21046, 1], [21046, 1], [21046, 1], [21046, 1], [21046, 1], [21046, 1], [21046, 1], [21046, 1], [21046, 1], [21046, 1], [21046, 1], [21046, 1], [21046, 1], [21046, 1], [21046, 1], [21046, 1], [21020, 0, "H"], [21021, 0, "o"], [21022, 0, "w"], [21023, 0, "e"], [21024, 0, "v"], [21025, 0, "e"], [21026, 0, "r"], [21027, 0, ","], [21028, 0, " "], [21029, 1], [21029, 0, "t"], [21055, 1], [21055, 1], [21055, 1], [21055, 1], [21094, 0, " "], [21095, 0, "s"], [21096, 0, "i"], [21097, 0, "m"], [21098, 0, "p"], [21099, 0, "l"], [21100, 0, "e"], [21123, 0, "\n"], [21124, 0, "\n"], [21125, 0, "T"], [21126, 0, "h"], [21127, 0, "e"], [21128, 0, " "], [21129, 0, "p"], [21130, 0, "u"], [21131, 0, "r"], [21132, 0, "p"], [21133, 0, "o"], [21134, 0, "s"], [21135, 0, "e"], [21136, 0, " "], [21137, 0, "o"], [21138, 0, "f"], [21139, 0, " "], [21140, 0, "t"], [21141, 0, "h"], [21142, 0, "e"], [21143, 0, " "], [21144, 0, "c"], [21145, 0, "a"], [21146, 0, "u"], [21147, 0, "s"], [21148, 0, "a"], [21149, 0, "l"], [21150, 0, " "], [21151, 0, "d"], [21152, 0, "e"], [21153, 0, "p"], [21154, 0, "e"], [21155, 0, "n"], [21156, 0, "d"], [21157, 0, "e"], [21158, 0, "n"], [21159, 0, "c"], [21160, 0, "i"], [21161, 0, "e"], [21162, 0, "s"], [21163, 0, " "], [21164, 0, "$"], [21165, 0, "\\"], [21166, 0, "m"], [21167, 0, "a"], [21168, 0, "t"], [21169, 0, "h"], [21170, 0, "i"], [21171, 0, "t"], [21172, 0, "{"], [21173, 0, "d"], [21174, 0, "e"], [21175, 0, "p"], [21176, 0, "s"], [21177, 0, "}"], [21178, 0, "$"], [21179, 0, " "], [21180, 0, "i"], [21181, 0, "s"], [21182, 0, " "], [21183, 0, "t"], [21184, 0, "o"], [21185, 0, " "], [21186, 0, "i"], [21187, 0, "m"], [21188, 0, "p"], [21189, 0, "o"], [21190, 0, "s"], [21191, 0, "e"], [21192, 0, " "], [21193, 0, "a"], [21194, 0, " "], [21195, 0, "p"], [21196, 0, "a"], [21197, 0, "r"], [21198, 0, "t"], [21199, 0, "i"], [21200, 0, "a"], [21201, 0, "l"], [21202, 0, " "], [21203, 0, "o"], [21204, 0, "r"], [21205, 0, "d"], [21206, 0, "e"], [21207, 0, "r"], [21208, 0, "i"], [21209, 0, "n"], [21210, 0, "g"], [21211, 0, " "], [21212, 0, "o"], [21213, 0, "n"], [21214, 0, " "], [21215, 0, "o"], [21216, 0, "p"], [21217, 0, "e"], [21218, 0, "r"], [21219, 0, "a"], [21220, 0, "t"], [21221, 0, "i"], [21222, 0, "o"], [21223, 0, "n"], [21224, 0, "s"], [21225, 0, ":"], [21226, 0, " "], [21227, 0, "a"], [21228, 0, "n"], [21229, 0, " "], [21230, 0, "o"], [21231, 0, "p"], [21232, 0, "e"], [21233, 0, "r"], [21234, 0, "a"], [21235, 0, "t"], [21236, 0, "i"], [21237, 0, "o"], [21238, 0, "n"], [21239, 0, " "], [21240, 0, "c"], [21241, 0, "a"], [21242, 0, "n"], [21243, 0, " "], [21244, 0, "o"], [21245, 0, "n"], [21246, 0, "l"], [21247, 0, "y"], [21248, 0, " "], [21249, 0, "b"], [21250, 0, "e"], [21251, 0, " "], [21252, 0, "a"], [21253, 0, "p"], [21254, 0, "p"], [21255, 0, "l"], [21256, 0, "i"], [21257, 0, "e"], [21258, 0, "d"], [21259, 0, " "], [21260, 0, "a"], [21261, 0, "f"], [21262, 0, "t"], [21263, 0, "e"], [21264, 0, "r"], [21265, 0, " "], [21266, 0, "a"], [21267, 0, "l"], [21268, 0, "l"], [21269, 0, " "], [21270, 0, "o"], [21271, 0, "p"], [21272, 0, "e"], [21273, 0, "r"], [21274, 0, "a"], [21275, 0, "t"], [21276, 0, "i"], [21277, 0, "o"], [21278, 0, "n"], [21279, 0, "s"], [21280, 0, " "], [21281, 0, "t"], [21282, 0, "h"], [21283, 0, "a"], [21284, 0, "t"], [21285, 0, " "], [21286, 0, "`"], [21287, 0, "`"], [21288, 0, "h"], [21289, 0, "a"], [21290, 0, "p"], [21291, 0, "p"], [21292, 0, "e"], [21293, 0, "n"], [21294, 0, "e"], [21295, 0, "d"], [21296, 0, " "], [21297, 0, "b"], [21298, 0, "e"], [21299, 0, "f"], [21300, 0, "o"], [21301, 0, "r"], [21302, 0, "e"], [21303, 0, "'"], [21304, 0, "'"], [21305, 0, " "], [21306, 0, "i"], [21307, 0, "t"], [21308, 0, " "], [21309, 0, "h"], [21310, 0, "a"], [21311, 0, "v"], [21312, 0, "e"], [21313, 0, " "], [21314, 0, "b"], [21315, 0, "e"], [21316, 0, "e"], [21317, 0, "n"], [21318, 0, " "], [21319, 0, "a"], [21320, 0, "p"], [21321, 0, "p"], [21322, 0, "l"], [21323, 0, "i"], [21324, 0, "e"], [21325, 0, "d"], [21326, 0, "."], [21327, 0, " "], [21328, 0, "I"], [21329, 0, "n"], [21330, 0, " "], [21331, 0, "p"], [21332, 0, "a"], [21333, 0, "r"], [21334, 0, "t"], [21335, 0, "i"], [21336, 0, "c"], [21337, 0, "u"], [21338, 0, "l"], [21339, 0, "a"], [21340, 0, "r"], [21341, 0, ","], [21342, 0, " "], [21343, 0, "t"], [21344, 0, "h"], [21345, 0, "i"], [21346, 0, "s"], [21347, 0, " "], [21348, 0, "m"], [21349, 0, "e"], [21350, 0, "a"], [21351, 0, "n"], [21352, 0, "s"], [21353, 0, " "], [21354, 0, "t"], [21355, 0, "h"], [21356, 0, "a"], [21357, 0, "t"], [21358, 0, " "], [21359, 0, "t"], [21360, 0, "h"], [21361, 0, "e"], [21362, 0, " "], [21363, 0, "s"], [21364, 0, "e"], [21365, 0, "q"], [21366, 0, "u"], [21367, 0, "e"], [21368, 0, "n"], [21369, 0, "c"], [21370, 0, "e"], [21371, 0, " "], [21372, 0, "o"], [21373, 0, "f"], [21374, 0, " "], [21375, 0, "o"], [21376, 0, "p"], [21377, 0, "e"], [21378, 0, "r"], [21379, 0, "a"], [21380, 0, "t"], [21381, 0, "i"], [21382, 0, "o"], [21383, 0, "n"], [21384, 0, "s"], [21385, 0, " "], [21386, 0, "g"], [21387, 0, "e"], [21388, 0, "n"], [21389, 0, "e"], [21390, 0, "r"], [21391, 0, "a"], [21392, 0, "t"], [21393, 0, "e"], [21394, 0, "d"], [21395, 0, " "], [21396, 0, "a"], [21397, 0, "t"], [21398, 0, " "], [21399, 0, "o"], [21400, 0, "n"], [21401, 0, "e"], [21402, 0, " "], [21403, 0, "p"], [21404, 0, "a"], [21405, 0, "r"], [21406, 0, "t"], [21407, 0, "i"], [21408, 0, "c"], [21409, 0, "u"], [21410, 0, "l"], [21411, 0, "a"], [21412, 0, "r"], [21413, 0, " "], [21414, 0, "p"], [21415, 0, "e"], [21416, 0, "e"], [21417, 0, "r"], [21418, 0, " "], [21419, 0, "w"], [21420, 0, "i"], [21421, 0, "l"], [21422, 0, "l"], [21423, 0, " "], [21424, 0, "b"], [21425, 0, "e"], [21426, 0, " "], [21427, 0, "a"], [21428, 0, "p"], [21429, 0, "p"], [21430, 0, "l"], [21431, 0, "i"], [21432, 0, "e"], [21433, 0, "d"], [21434, 0, " "], [21435, 0, "i"], [21436, 0, "n"], [21437, 0, " "], [21438, 0, "t"], [21439, 0, "h"], [21440, 0, "e"], [21441, 0, " "], [21442, 0, "s"], [21443, 0, "a"], [21444, 0, "m"], [21445, 0, "e"], [21446, 0, " "], [21447, 0, "o"], [21448, 0, "r"], [21449, 0, "d"], [21450, 0, "e"], [21451, 0, "r"], [21452, 0, " "], [21453, 0, "a"], [21454, 0, "t"], [21455, 0, " "], [21456, 0, "e"], [21457, 0, "v"], [21458, 0, "e"], [21459, 0, "r"], [21460, 0, "y"], [21461, 0, " "], [21462, 0, "o"], [21463, 0, "t"], [21464, 0, "h"], [21465, 0, "e"], [21466, 0, "r"], [21467, 0, " "], [21468, 0, "p"], [21469, 0, "e"], [21470, 0, "e"], [21471, 0, "r"], [21472, 0, "."], [21473, 0, " "], [21474, 0, "O"], [21475, 0, "p"], [21476, 0, "e"], [21477, 0, "r"], [21478, 0, "a"], [21479, 0, "t"], [21480, 0, "i"], [21481, 0, "o"], [21482, 0, "n"], [21483, 0, "s"], [21484, 0, " "], [21485, 0, "t"], [21486, 0, "h"], [21487, 0, "a"], [21488, 0, "t"], [21489, 0, " "], [21490, 0, "a"], [21491, 0, "r"], [21492, 0, "e"], [21493, 0, " "], [21494, 0, "c"], [21495, 0, "o"], [21496, 0, "n"], [21497, 0, "c"], [21498, 0, "u"], [21499, 0, "r"], [21500, 0, "r"], [21501, 0, "e"], [21502, 0, "n"], [21503, 0, "t"], [21504, 0, " "], [21504, 1], [21504, 0, ","], [21505, 0, " "], [21506, 0, "i"], [21507, 0, "."], [21508, 0, "e"], [21509, 0, "."], [21510, 0, " "], [21511, 0, "w"], [21512, 0, "h"], [21513, 0, "e"], [21514, 0, "r"], [21515, 0, "e"], [21516, 0, " "], [21517, 0, "t"], [21518, 0, "h"], [21519, 0, "e"], [21520, 0, "r"], [21521, 0, "e"], [21522, 0, " "], [21523, 0, "i"], [21524, 0, "s"], [21525, 0, " "], [21526, 0, "n"], [21527, 0, "o"], [21528, 0, " "], [21529, 0, "c"], [21530, 0, "a"], [21531, 0, "u"], [21532, 0, "s"], [21533, 0, "a"], [21534, 0, "l"], [21535, 0, " "], [21536, 0, "d"], [21537, 0, "e"], [21538, 0, "p"], [21539, 0, "e"], [21540, 0, "n"], [21541, 0, "d"], [21542, 0, "e"], [21543, 0, "n"], [21544, 0, "c"], [21545, 0, "y"], [21546, 0, ","], [21547, 0, " "], [21548, 0, "c"], [21549, 0, "a"], [21550, 0, "n"], [21551, 0, " "], [21552, 0, "b"], [21553, 0, "e"], [21554, 0, " "], [21555, 0, "a"], [21556, 0, "p"], [21557, 0, "p"], [21558, 0, "l"], [21559, 0, "i"], [21560, 0, "e"], [21561, 0, "d"], [21562, 0, " "], [21563, 0, "i"], [21564, 0, "n"], [21565, 0, " "], [21566, 0, "a"], [21567, 0, "n"], [21568, 0, "y"], [21569, 0, " "], [21570, 0, "o"], [21571, 0, "r"], [21572, 0, "d"], [21573, 0, "e"], [21574, 0, "r"], [21575, 0, "."], [21576, 0, "\n"], [21577, 0, "\n"], [21578, 0, "\\"], [21579, 0, "s"], [21580, 0, "u"], [21581, 0, "b"], [21582, 0, "s"], [21583, 0, "u"], [21584, 0, "b"], [21585, 0, "s"], [21586, 0, "e"], [21587, 0, "c"], [21588, 0, "t"], [21589, 0, "i"], [21590, 0, "o"], [21591, 0, "n"], [21592, 0, "{"], [21593, 0, "S"], [21594, 0, "e"], [21595, 0, "m"], [21596, 0, "a"], [21597, 0, "n"], [21598, 0, "t"], [21599, 0, "i"], [21600, 0, "c"], [21601, 0, "s"], [21602, 0, " "], [21603, 0, "o"], [21604, 0, "f"], [21605, 0, " "], [21606, 0, "g"], [21607, 0, "e"], [21608, 0, "n"], [21609, 0, "e"], [21610, 0, "r"], [21611, 0, "a"], [21612, 0, "t"], [21613, 0, "i"], [21614, 0, "n"], [21615, 0, "g"], [21616, 0, " "], [21617, 0, "o"], [21618, 0, "p"], [21619, 0, "e"], [21620, 0, "r"], [21621, 0, "a"], [21622, 0, "t"], [21623, 0, "i"], [21624, 0, "o"], [21625, 0, "n"], [21626, 0, "s"], [21627, 0, "}"], [22993, 0, "\n"], [22994, 0, "\n"], [22995, 0, "T"], [22996, 0, "h"], [22997, 0, "e"], [22998, 0, " "], [22999, 0, "f"], [23000, 0, "o"], [23001, 0, "r"], [23002, 0, "m"], [23003, 0, "a"], [23004, 0, "l"], [23005, 0, " "], [23006, 0, "e"], [23007, 0, "v"], [23008, 0, "a"], [23009, 0, "l"], [23010, 0, "u"], [23011, 0, "a"], [23012, 0, "t"], [23013, 0, "i"], [23014, 0, "o"], [23015, 0, "n"], [23016, 0, " "], [23017, 0, "r"], [23018, 0, "u"], [23019, 0, "l"], [23020, 0, "e"], [23021, 0, "s"], [23022, 0, " "], [23023, 0, "f"], [23024, 0, "o"], [23025, 0, "r"], [23026, 0, " "], [23027, 0, "c"], [23028, 0, "o"], [23029, 0, "m"], [23030, 0, "m"], [23031, 0, "a"], [23032, 0, "n"], [23033, 0, "d"], [23034, 0, "s"], [23035, 0, " "], [23036, 0, "a"], [23037, 0, "r"], [23038, 0, "e"], [23039, 0, " "], [23040, 0, "g"], [23041, 0, "i"], [23042, 0, "v"], [23043, 0, "e"], [23044, 0, "n"], [23045, 0, " "], [23046, 0, "i"], [23047, 0, "n"], [23048, 0, " "], [23049, 0, "F"], [23050, 0, "i"], [23051, 0, "g"], [23052, 0, "u"], [23053, 0, "r"], [23054, 0, "e"], [23055, 0, "~"], [23056, 0, "\\"], [23057, 0, "r"], [23058, 0, "e"], [23059, 0, "f"], [23060, 0, "{"], [23061, 0, "f"], [23062, 0, "i"], [23063, 0, "g"], [23064, 0, ":"], [23065, 0, "s"], [23066, 0, "e"], [23067, 0, "n"], [23068, 0, "d"], [23069, 0, "-"], [23070, 0, "r"], [23071, 0, "e"], [23072, 0, "c"], [23073, 0, "v"], [23074, 0, "}"], [23075, 0, "."], [20671, 0, "s"], [21658, 1], [21676, 1], [21675, 0, "\n"], [21676, 0, "|"], [21676, 1], [21676, 0, "\\"], [21677, 0, "A"], [21678, 0, "x"], [21679, 0, "i"], [21680, 0, "o"], [21681, 0, "m"], [21682, 0, "C"], [21683, 0, "{"], [21684, 0, "A"], [21685, 0, "_"], [21686, 0, "p"], [21687, 0, ","], [21688, 0, "\\"], [21689, 0, ","], [21690, 0, " "], [21691, 0, "\\"], [21692, 0, "m"], [21693, 0, "a"], [21694, 0, "t"], [21695, 0, "h"], [21696, 0, "i"], [21697, 0, "t"], [21698, 0, "{"], [21699, 0, "e"], [21700, 0, "x"], [21701, 0, "p"], [21702, 0, "r"], [21703, 0, "}"], [21704, 0, " "], [21705, 0, "\\"], [21706, 0, "e"], [21707, 0, "v"], [21708, 0, "a"], [21709, 0, "l"], [21710, 0, "t"], [21711, 0, "o"], [21712, 0, " "], [21713, 0, "\\"], [21714, 0, "m"], [21715, 0, "a"], [21716, 0, "t"], [21717, 0, "h"], [21718, 0, "i"], [21719, 0, "t"], [21720, 0, "{"], [21721, 0, "c"], [21722, 0, "u"], [21723, 0, "r"], [21724, 0, "}"], [21725, 0, "}"], [21725, 0, "$"], [21684, 0, "$"], [21728, 0, "\n"], [21729, 0, "\\"], [21730, 0, "A"], [21731, 0, "x"], [21732, 0, "i"], [21733, 0, "o"], [21734, 0, "m"], [21735, 0, "C"], [21736, 0, "{"], [21737, 0, "$"], [21738, 0, "\\"], [21739, 0, "m"], [21740, 0, "a"], [21741, 0, "t"], [21742, 0, "h"], [21743, 0, "i"], [21744, 0, "t"], [21745, 0, "{"], [21746, 0, "v"], [21747, 0, "a"], [21748, 0, "l"], [21749, 0, "}"], [21750, 0, ":"], [21751, 0, " "], [21752, 0, "\\"], [21753, 0, "m"], [21754, 0, "a"], [21755, 0, "t"], [21756, 0, "h"], [21757, 0, "r"], [21758, 0, "m"], [21759, 0, "{"], [21760, 0, "V"], [21761, 0, "A"], [21762, 0, "L"], [21763, 0, "}"], [21764, 0, " "], [21765, 0, "\\"], [21766, 0, "w"], [21767, 0, "e"], [21768, 0, "d"], [21769, 0, "g"], [21770, 0, "e"], [21771, 0, " "], [21772, 0, "\\"], [21773, 0, "m"], [21774, 0, "a"], [21775, 0, "t"], [21776, 0, "h"], [21777, 0, "i"], [21778, 0, "t"], [21779, 0, " "], [21780, 0, "\\"], [21781, 0, "n"], [21782, 0, "o"], [21783, 0, "t"], [21784, 0, "="], [21785, 0, " "], [21786, 0, "\\"], [21787, 0, "v"], [21788, 0, "e"], [21789, 0, "r"], [21790, 0, "b"], [21791, 0, "|"], [21792, 0, "["], [21793, 0, "]"], [21794, 0, "|"], [21795, 0, "$"], [21796, 0, "}"], [21797, 0, "\n"], [21798, 0, "\\"], [21799, 0, "B"], [21800, 0, "i"], [21801, 0, "n"], [21802, 0, "a"], [21803, 0, "r"], [21804, 0, "y"], [21805, 0, "I"], [21806, 0, "n"], [21807, 0, "f"], [21808, 0, "C"], [21809, 0, "{"], [21810, 0, "$"], [21810, 1], [21810, 0, "o"], [21811, 0, "k"], [21812, 0, "}"], [21794, 1], [21794, 0, "}"], [21791, 1], [21790, 1], [21789, 1], [21788, 1], [21787, 1], [21787, 0, "m"], [21788, 0, "a"], [21789, 0, "t"], [21790, 0, "h"], [21791, 0, "t"], [21792, 0, "t"], [21793, 0, "{"], [21797, 0, " "], [21798, 0, "\\"], [21799, 0, "w"], [21800, 0, "e"], [21801, 0, "d"], [21802, 0, "g"], [21803, 0, "e"], [21804, 0, " "], [21805, 0, "\\"], [21779, 0, "{"], [21780, 0, "v"], [21781, 0, "a"], [21782, 0, "l"], [21783, 0, "}"], [21810, 1], [21801, 1], [21801, 0, "|"], [21798, 1], [21797, 1], [21796, 1], [21795, 1], [21794, 1], [21793, 1], [21792, 1], [21792, 0, "v"], [21793, 0, "e"], [21794, 0, "r"], [21795, 0, "b"], [21796, 0, "|"], [21791, 0, "\\"], [21792, 0, "m"], [21793, 0, "b"], [21794, 0, "o"], [21795, 0, "x"], [21796, 0, "{"], [21806, 0, "}"], [21806, 1], [21805, 1], [21804, 1], [21803, 1], [21802, 1], [21801, 1], [21800, 1], [21799, 1], [21798, 1], [21797, 1], [21796, 1], [21795, 1], [21794, 1], [21793, 1], [21793, 0, "a"], [21794, 0, "t"], [21795, 0, "h"], [21796, 0, "t"], [21797, 0, "t"], [21798, 0, "{"], [21799, 0, "\\"], [21800, 0, "l"], [21801, 0, "b"], [21802, 0, "r"], [21803, 0, "a"], [21804, 0, "c"], [21805, 0, "k"], [21806, 0, "\\"], [21807, 0, "r"], [21808, 0, "b"], [21809, 0, "r"], [21810, 0, "a"], [21811, 0, "c"], [21812, 0, "k"], [21813, 0, "}"], [21812, 1], [21811, 1], [21810, 1], [21809, 1], [21808, 1], [21807, 1], [21806, 1], [21805, 1], [21804, 1], [21803, 1], [21802, 1], [21801, 1], [21800, 1], [21799, 1], [21799, 0, "["], [21800, 0, "]"], [21795, 1], [21794, 1], [21793, 1], [21792, 1], [21792, 0, "t"], [21793, 0, "e"], [21794, 0, "x"], [21795, 0, "t"], [21765, 0, "\\"], [21766, 0, ","], [21773, 0, "\\"], [21774, 0, ","], [21807, 0, "\\"], [21808, 0, ","], [21815, 0, "\\"], [21816, 0, ","], [21817, 0, " "], [21818, 0, "\\"], [21819, 0, "m"], [21820, 0, "a"], [21821, 0, "t"], [21822, 0, "h"], [21823, 0, "i"], [21824, 0, "t"], [21825, 0, "{"], [21826, 0, "v"], [21827, 0, "a"], [21828, 0, "l"], [21829, 0, "}"], [21830, 0, " "], [21831, 0, "\\"], [21832, 0, "n"], [21833, 0, "o"], [21834, 0, "t"], [21835, 0, "="], [21836, 0, " "], [21837, 0, "\\"], [21838, 0, "t"], [21839, 0, "e"], [21840, 0, "x"], [21841, 0, "t"], [21842, 0, "t"], [21843, 0, "{"], [21844, 0, "\\"], [21845, 0, "{"], [21846, 0, "\\"], [21847, 0, "}"], [21848, 0, "}"], [21806, 0, "\n"], [21807, 0, " "], [21808, 0, " "], [21809, 0, " "], [21847, 0, "t"], [21850, 0, "s"], [21851, 0, "t"], [21852, 0, "r"], [21853, 0, "i"], [21854, 0, "n"], [21855, 0, "g"], [21858, 0, "s"], [21859, 0, "t"], [21860, 0, "r"], [21861, 0, "i"], [21862, 0, "n"], [21863, 0, "g"], [21869, 0, "\n"], [21870, 0, "\\"], [21871, 0, "A"], [21872, 0, "x"], [21873, 0, "i"], [21874, 0, "o"], [21875, 0, "m"], [21876, 0, "C"], [21877, 0, "{"], [21878, 0, "$"], [21879, 0, "A"], [21880, 0, "_"], [21881, 0, "p"], [21882, 0, ","], [21883, 0, "\\"], [21884, 0, ","], [21885, 0, " "], [21886, 0, "\\"], [21887, 0, "m"], [21888, 0, "a"], [21889, 0, "t"], [21890, 0, "h"], [21891, 0, "s"], [21892, 0, "f"], [21893, 0, "{"], [21894, 0, "m"], [21895, 0, "a"], [21896, 0, "k"], [21897, 0, "e"], [21898, 0, "O"], [21899, 0, "p"], [21900, 0, "}"], [21901, 0, "("], [21902, 0, "\\"], [21903, 0, "m"], [21904, 0, "a"], [21905, 0, "t"], [21906, 0, "h"], [21907, 0, "i"], [21908, 0, "t"], [21909, 0, "{"], [21910, 0, "c"], [21911, 0, "u"], [21912, 0, "r"], [21913, 0, "}"], [21914, 0, " "], [21914, 1], [21914, 0, ","], [21915, 0, " "], [21916, 0, "\\"], [21917, 0, "m"], [21918, 0, "a"], [21919, 0, "t"], [21920, 0, "h"], [21921, 0, "s"], [21922, 0, "f"], [21923, 0, "{"], [21924, 0, "a"], [21925, 0, "s"], [21926, 0, "s"], [21927, 0, "i"], [21928, 0, "g"], [21929, 0, "n"], [21930, 0, "}"], [21931, 0, "("], [21932, 0, "\\"], [21933, 0, "m"], [21934, 0, "a"], [21935, 0, "t"], [21936, 0, "h"], [21937, 0, "i"], [21938, 0, "t"], [21939, 0, "{"], [21940, 0, "v"], [21941, 0, "a"], [21942, 0, "l"], [21943, 0, "}"], [21944, 0, ")"], [21945, 0, ")"], [21946, 0, " "], [21947, 0, "\\"], [21948, 0, "e"], [21949, 0, "v"], [21950, 0, "a"], [21951, 0, "l"], [21952, 0, "t"], [21953, 0, "o"], [21954, 0, " "], [21955, 0, "A"], [21956, 0, "_"], [21957, 0, "p"], [21958, 0, "'"], [21959, 0, "$"], [21960, 0, "}"], [21963, 1], [21963, 0, "T"], [21964, 0, "r"], [21976, 1], [21975, 1], [21975, 0, "$"], [21976, 0, "A"], [21977, 0, "_"], [21978, 0, "p"], [21979, 0, ","], [21980, 0, "\\"], [21981, 0, ","], [21982, 0, " "], [21983, 0, "\\"], [21984, 0, "m"], [21985, 0, "a"], [21986, 0, "t"], [21987, 0, "h"], [21988, 0, "i"], [21989, 0, "t"], [21990, 0, "{"], [21991, 0, "e"], [21992, 0, "x"], [21993, 0, "p"], [21994, 0, "r"], [21995, 0, "}"], [21996, 0, " "], [21997, 0, "\\"], [21998, 0, "e"], [21998, 1], [21997, 1], [21997, 0, "\\"], [21998, 0, "t"], [21999, 0, "e"], [22000, 0, "x"], [22001, 0, "t"], [22002, 0, "{"], [22003, 0, ":"], [22003, 1], [22002, 1], [22001, 1], [22000, 1], [21999, 1], [21998, 1], [21998, 0, "m"], [21999, 0, "a"], [22000, 0, "t"], [22001, 0, "h"], [22002, 0, "b"], [22003, 0, "i"], [22004, 0, "n"], [22005, 0, "("], [22006, 0, ":"], [22006, 1], [22005, 1], [22005, 0, "{"], [22006, 0, ":"], [22007, 0, "="], [22008, 0, "}"], [22006, 0, "\\"], [22007, 0, "t"], [22008, 0, "e"], [22009, 0, "x"], [22010, 0, "t"], [22011, 0, "{"], [22014, 0, "}"], [22016, 0, " "], [22017, 0, "\\"], [22018, 0, "m"], [22019, 0, "a"], [22020, 0, "t"], [22021, 0, "h"], [22022, 0, "i"], [22023, 0, "t"], [22024, 0, "{"], [22025, 0, "v"], [22026, 0, "a"], [22027, 0, "l"], [22028, 0, "}"], [22029, 0, " "], [22030, 0, "\\"], [22031, 0, "e"], [22032, 0, "v"], [22033, 0, "a"], [22034, 0, "l"], [22035, 0, "t"], [22036, 0, "o"], [22037, 0, " "], [22038, 0, "A"], [22039, 0, "_"], [22040, 0, "p"], [22041, 0, "'"], [22042, 0, "$"], [21961, 0, "\n"], [21962, 0, "\\"], [21963, 0, "L"], [21964, 0, "e"], [21965, 0, "f"], [21966, 0, "t"], [21967, 0, "L"], [21968, 0, "a"], [21969, 0, "b"], [21970, 0, "e"], [21971, 0, "l"], [21972, 0, "{"], [21973, 0, "\\"], [21974, 0, "t"], [21975, 0, "e"], [21976, 0, "x"], [21977, 0, "t"], [21978, 0, "s"], [21979, 0, "c"], [21980, 0, "{"], [21981, 0, "A"], [21982, 0, "s"], [21983, 0, "s"], [21984, 0, "i"], [21985, 0, "g"], [21986, 0, "n"], [21987, 0, "}"], [21988, 0, "}"], [22033, 1], [22032, 1], [22031, 1], [22030, 1], [22029, 1], [22028, 1], [22027, 1], [22026, 1], [22025, 1], [22031, 0, " "], [22034, 0, " "], [22035, 1], [22036, 0, "\\"], [22037, 0, ","], [22025, 0, "\\"], [22026, 0, ","], [22084, 0, "\n"], [22085, 0, "\n"], [22086, 0, "\\"], [22087, 0, "b"], [22088, 0, "e"], [22089, 0, "g"], [22090, 0, "i"], [22091, 0, "n"], [22092, 0, "{"], [22093, 0, "p"], [22094, 0, "r"], [22095, 0, "o"], [22096, 0, "o"], [22097, 0, "f"], [22098, 0, "t"], [22099, 0, "r"], [22100, 0, "e"], [22101, 0, "e"], [22102, 0, "}"], [22103, 0, "\n"], [22104, 0, "\\"], [22105, 0, "e"], [22106, 0, "n"], [22107, 0, "d"], [22108, 0, "{"], [22109, 0, "p"], [22110, 0, "r"], [22111, 0, "o"], [22112, 0, "o"], [22113, 0, "f"], [22114, 0, "t"], [22115, 0, "r"], [22116, 0, "e"], [22117, 0, "e"], [22118, 0, "}"], [22103, 0, "\n"], [22104, 0, "\\"], [22105, 0, "A"], [22106, 0, "x"], [22107, 0, "i"], [22108, 0, "o"], [22109, 0, "m"], [22110, 0, "C"], [22111, 0, "{"], [22112, 0, "$"], [22113, 0, "A"], [22114, 0, "_"], [22115, 0, "p"], [22116, 0, ","], [22117, 0, "\\"], [22118, 0, ","], [22119, 0, " "], [22120, 0, "\\"], [22121, 0, "m"], [22122, 0, "a"], [22123, 0, "t"], [22124, 0, "h"], [22125, 0, "i"], [22126, 0, "t"], [22127, 0, "{"], [22128, 0, "e"], [22129, 0, "x"], [22130, 0, "p"], [22131, 0, "r"], [22132, 0, "}"], [22133, 0, " "], [22134, 0, "\\"], [22135, 0, "e"], [22136, 0, "v"], [22137, 0, "a"], [22138, 0, "l"], [22139, 0, "t"], [22140, 0, "o"], [22141, 0, " "], [22142, 0, "\\"], [22143, 0, "m"], [22144, 0, "a"], [22145, 0, "t"], [22146, 0, "h"], [22147, 0, "i"], [22148, 0, "t"], [22149, 0, "{"], [22150, 0, "c"], [22151, 0, "u"], [22152, 0, "r"], [22153, 0, "}"], [22154, 0, "$"], [22155, 0, "}"], [22156, 0, "\n"], [22157, 0, "\\"], [22158, 0, "A"], [22159, 0, "x"], [22160, 0, "i"], [22161, 0, "o"], [22162, 0, "m"], [22163, 0, "C"], [22164, 0, "{"], [22165, 0, "$"], [22166, 0, "\\"], [22167, 0, "m"], [22168, 0, "a"], [22169, 0, "t"], [22170, 0, "h"], [22171, 0, "i"], [22172, 0, "t"], [22173, 0, "{"], [22174, 0, "v"], [22175, 0, "a"], [22176, 0, "l"], [22177, 0, "}"], [22178, 0, ":"], [22179, 0, " "], [22180, 0, "\\"], [22181, 0, "m"], [22182, 0, "a"], [22183, 0, "t"], [22184, 0, "h"], [22185, 0, "r"], [22186, 0, "m"], [22187, 0, "{"], [22188, 0, "V"], [22189, 0, "A"], [22190, 0, "L"], [22191, 0, "}"], [22192, 0, "$"], [22193, 0, "}"], [22194, 0, "\n"], [22195, 0, "\\"], [22196, 0, "A"], [22197, 0, "x"], [22198, 0, "i"], [22199, 0, "o"], [22200, 0, "m"], [22201, 0, "C"], [22202, 0, "{"], [22203, 0, "$"], [22204, 0, "A"], [22205, 0, "_"], [22206, 0, "p"], [22207, 0, ","], [22208, 0, "\\"], [22209, 0, ","], [22210, 0, " "], [22211, 0, "\\"], [22212, 0, "m"], [22213, 0, "a"], [22214, 0, "t"], [22215, 0, "h"], [22216, 0, "s"], [22217, 0, "f"], [22218, 0, "{"], [22219, 0, "m"], [22220, 0, "a"], [22221, 0, "k"], [22222, 0, "e"], [22223, 0, "O"], [22224, 0, "p"], [22225, 0, "}"], [22226, 0, "("], [22227, 0, "\\"], [22228, 0, "m"], [22229, 0, "a"], [22230, 0, "t"], [22231, 0, "h"], [22232, 0, "i"], [22233, 0, "t"], [22234, 0, "{"], [22235, 0, "c"], [22236, 0, "u"], [22237, 0, "r"], [22238, 0, "}"], [22239, 0, ","], [22240, 0, " "], [22241, 0, "\\"], [22242, 0, "m"], [22243, 0, "a"], [22244, 0, "t"], [22245, 0, "h"], [22246, 0, "s"], [22247, 0, "f"], [22248, 0, "{"], [22249, 0, "i"], [22250, 0, "n"], [22251, 0, "s"], [22252, 0, "e"], [22253, 0, "r"], [22254, 0, "t"], [22255, 0, "}"], [22256, 0, "("], [22257, 0, "\\"], [22258, 0, "m"], [22259, 0, "a"], [22260, 0, "t"], [22261, 0, "h"], [22262, 0, "i"], [22263, 0, "t"], [22264, 0, "{"], [22265, 0, "v"], [22266, 0, "a"], [22267, 0, "l"], [22268, 0, "}"], [22269, 0, ")"], [22270, 0, ")"], [22271, 0, " "], [22272, 0, "\\"], [22273, 0, "e"], [22274, 0, "v"], [22275, 0, "a"], [22276, 0, "l"], [22277, 0, "t"], [22278, 0, "o"], [22279, 0, " "], [22280, 0, "\\"], [22281, 0, "A"], [22282, 0, "-"], [22282, 1], [22282, 0, "_"], [22283, 0, "p"], [22284, 0, "'"], [22285, 0, "$"], [22286, 0, "}"], [22280, 1], [22286, 0, "\n"], [22287, 0, "\\"], [22288, 0, "L"], [22289, 0, "e"], [22290, 0, "f"], [22291, 0, "t"], [22292, 0, "L"], [22293, 0, "a"], [22294, 0, "b"], [22295, 0, "e"], [22296, 0, "l"], [22297, 0, "{"], [22298, 0, "\\"], [22299, 0, "t"], [22300, 0, "e"], [22301, 0, "x"], [22302, 0, "t"], [22303, 0, "s"], [22304, 0, "c"], [22305, 0, "{"], [22306, 0, "I"], [22307, 0, "n"], [22308, 0, "s"], [22309, 0, "e"], [22310, 0, "r"], [22311, 0, "t"], [22312, 0, "}"], [22313, 0, "}"], [22314, 0, "\n"], [22315, 0, "\\"], [22316, 0, "T"], [22317, 0, "r"], [22318, 0, "i"], [22319, 0, "n"], [22320, 0, "a"], [22321, 0, "r"], [22322, 0, "y"], [22323, 0, "I"], [22324, 0, "n"], [22325, 0, "f"], [22326, 0, "C"], [22327, 0, "{"], [22328, 0, "$"], [22329, 0, "A"], [22330, 0, "-"], [22330, 1], [22330, 0, "_"], [22331, 0, "p"], [22332, 0, ","], [22333, 0, "\\"], [22334, 0, ","], [22335, 0, " "], [22336, 0, "\\"], [22337, 0, "m"], [22338, 0, "a"], [22339, 0, "t"], [22340, 0, "h"], [22341, 0, "i"], [22342, 0, "t"], [22343, 0, "{"], [22344, 0, "e"], [22345, 0, "x"], [22346, 0, "p"], [22347, 0, "r"], [22348, 0, "}"], [22349, 0, "."], [22350, 0, "\\"], [22351, 0, "m"], [22352, 0, "a"], [22353, 0, "t"], [22354, 0, "h"], [22355, 0, "s"], [22356, 0, "f"], [22357, 0, "{"], [22358, 0, "i"], [22359, 0, "n"], [22360, 0, "s"], [22361, 0, "e"], [22362, 0, "r"], [22363, 0, "t"], [22364, 0, "}"], [22365, 0, "("], [22366, 0, "\\"], [22367, 0, "m"], [22368, 0, "a"], [22369, 0, "t"], [22370, 0, "h"], [22371, 0, "i"], [22372, 0, "t"], [22373, 0, "{"], [22374, 0, "v"], [22375, 0, "a"], [22376, 0, "l"], [22377, 0, "}"], [22378, 0, ")"], [22379, 0, " "], [22380, 0, "\\"], [22381, 0, "e"], [22382, 0, "v"], [22383, 0, "a"], [22384, 0, "l"], [22385, 0, "t"], [22386, 0, "o"], [22387, 0, " "], [22388, 0, "A"], [22389, 0, "_"], [22390, 0, "p"], [22391, 0, "'"], [22392, 0, "$"], [22393, 0, "}"], [22410, 0, "\n"], [22411, 0, "\n"], [22412, 0, "\\"], [22413, 0, "b"], [22414, 0, "e"], [22415, 0, "g"], [22416, 0, "i"], [22417, 0, "n"], [22418, 0, "{"], [22419, 0, "p"], [22420, 0, "r"], [22421, 0, "o"], [22422, 0, "o"], [22423, 0, "f"], [22424, 0, "t"], [22425, 0, "r"], [22426, 0, "e"], [22427, 0, "e"], [22428, 0, "}"], [22429, 0, "\n"], [22430, 0, "\\"], [22431, 0, "A"], [22432, 0, "x"], [22433, 0, "i"], [22434, 0, "o"], [22435, 0, "m"], [22436, 0, "C"], [22437, 0, "{"], [22438, 0, "$"], [22439, 0, "A"], [22440, 0, "_"], [22441, 0, "p"], [22442, 0, ","], [22443, 0, "\\"], [22444, 0, ","], [22445, 0, " "], [22446, 0, "\\"], [22447, 0, "m"], [22448, 0, "a"], [22449, 0, "t"], [22450, 0, "h"], [22451, 0, "i"], [22452, 0, "t"], [22453, 0, "{"], [22454, 0, "e"], [22455, 0, "x"], [22456, 0, "p"], [22457, 0, "r"], [22458, 0, "}"], [22459, 0, " "], [22460, 0, "\\"], [22461, 0, "e"], [22462, 0, "v"], [22463, 0, "a"], [22464, 0, "l"], [22465, 0, "t"], [22466, 0, "o"], [22467, 0, " "], [22468, 0, "\\"], [22469, 0, "m"], [22470, 0, "a"], [22471, 0, "t"], [22472, 0, "h"], [22473, 0, "i"], [22474, 0, "t"], [22475, 0, "{"], [22476, 0, "c"], [22477, 0, "u"], [22478, 0, "r"], [22479, 0, "}"], [22480, 0, "$"], [22481, 0, "}"], [22482, 0, "\n"], [22483, 0, "\\"], [22484, 0, "A"], [22485, 0, "x"], [22486, 0, "i"], [22487, 0, "o"], [22488, 0, "m"], [22489, 0, "C"], [22490, 0, "{"], [22491, 0, "$"], [22492, 0, "A"], [22493, 0, "_"], [22494, 0, "p"], [22495, 0, ","], [22496, 0, "\\"], [22497, 0, ","], [22498, 0, " "], [22499, 0, "\\"], [22500, 0, "m"], [22501, 0, "a"], [22502, 0, "t"], [22503, 0, "h"], [22504, 0, "s"], [22505, 0, "f"], [22506, 0, "{"], [22507, 0, "m"], [22508, 0, "a"], [22509, 0, "k"], [22510, 0, "e"], [22511, 0, "O"], [22512, 0, "p"], [22513, 0, "}"], [22514, 0, "("], [22515, 0, "\\"], [22516, 0, "m"], [22517, 0, "a"], [22518, 0, "t"], [22519, 0, "h"], [22520, 0, "i"], [22521, 0, "t"], [22522, 0, "{"], [22523, 0, "c"], [22524, 0, "u"], [22525, 0, "r"], [22526, 0, "}"], [22527, 0, ","], [22528, 0, " "], [22529, 0, "\\"], [22530, 0, "m"], [22531, 0, "a"], [22532, 0, "t"], [22533, 0, "h"], [22534, 0, "s"], [22535, 0, "f"], [22536, 0, "{"], [22537, 0, "d"], [22538, 0, "e"], [22539, 0, "l"], [22540, 0, "e"], [22541, 0, "t"], [22542, 0, "e"], [22543, 0, "}"], [22544, 0, ")"], [22545, 0, " "], [22546, 0, "\\"], [22547, 0, "e"], [22548, 0, "v"], [22549, 0, "a"], [22550, 0, "l"], [22551, 0, "t"], [22552, 0, "o"], [22553, 0, " "], [22554, 0, "A"], [22555, 0, "_"], [22556, 0, "p"], [22557, 0, "'"], [22558, 0, "$"], [22559, 0, "}"], [22560, 0, "\n"], [22561, 0, "\\"], [22562, 0, "L"], [22563, 0, "e"], [22564, 0, "f"], [22565, 0, "t"], [22566, 0, "L"], [22567, 0, "a"], [22568, 0, "b"], [22569, 0, "e"], [22570, 0, "l"], [22571, 0, "{"], [22572, 0, "\\"], [22573, 0, "t"], [22574, 0, "e"], [22575, 0, "x"], [22576, 0, "t"], [22577, 0, "s"], [22578, 0, "c"], [22579, 0, "{"], [22580, 0, "D"], [22581, 0, "e"], [22582, 0, "l"], [22583, 0, "e"], [22584, 0, "t"], [22585, 0, "e"], [22586, 0, "}"], [22587, 0, "}"], [22588, 0, "\n"], [22589, 0, "\\"], [22590, 0, "B"], [22591, 0, "i"], [22592, 0, "n"], [22593, 0, "a"], [22594, 0, "r"], [22595, 0, "y"], [22596, 0, "I"], [22597, 0, "n"], [22598, 0, "f"], [22599, 0, "C"], [22600, 0, "{"], [22601, 0, "$"], [22602, 0, "A"], [22603, 0, "_"], [22604, 0, "p"], [22605, 0, ","], [22606, 0, "\\"], [22607, 0, ","], [22608, 0, " "], [22609, 0, "\\"], [22610, 0, "m"], [22611, 0, "a"], [22612, 0, "t"], [22613, 0, "h"], [22614, 0, "i"], [22615, 0, "t"], [22616, 0, "{"], [22617, 0, "e"], [22618, 0, "x"], [22619, 0, "p"], [22620, 0, "r"], [22621, 0, "}"], [22622, 0, "."], [22623, 0, "\\"], [22624, 0, "m"], [22625, 0, "a"], [22626, 0, "t"], [22627, 0, "h"], [22628, 0, "s"], [22629, 0, "f"], [22630, 0, "{"], [22631, 0, "d"], [22632, 0, "e"], [22633, 0, "l"], [22634, 0, "e"], [22635, 0, "t"], [22636, 0, "e"], [22637, 0, " "], [22637, 1], [22637, 0, "}"], [22638, 0, " "], [22639, 0, "\\"], [22640, 0, "e"], [22641, 0, "v"], [22642, 0, "a"], [22643, 0, "l"], [22644, 0, "t"], [22645, 0, "o"], [22646, 0, " "], [22647, 0, "A"], [22648, 0, "_"], [22649, 0, "p"], [22650, 0, "'"], [22651, 0, "$"], [22652, 0, "}"], [22653, 0, "\n"], [22654, 0, "\\"], [22655, 0, "e"], [22656, 0, "n"], [22657, 0, "d"], [22658, 0, "{"], [22659, 0, "p"], [22660, 0, "r"], [22661, 0, "o"], [22662, 0, "o"], [22663, 0, "f"], [22664, 0, "t"], [22665, 0, "r"], [22666, 0, "e"], [22667, 0, "e"], [22668, 0, "}"], [22669, 0, "\n"], [22670, 0, "\n"], [22671, 0, "\\"], [22672, 0, "b"], [22673, 0, "e"], [22674, 0, "g"], [22675, 0, "i"], [22676, 0, "n"], [22677, 0, "{"], [22678, 0, "p"], [22679, 0, "r"], [22680, 0, "o"], [22681, 0, "o"], [22682, 0, "f"], [22683, 0, "t"], [22684, 0, "r"], [22685, 0, "e"], [22686, 0, "e"], [22687, 0, "}"], [22688, 0, "\n"], [22689, 0, "\\"], [22690, 0, "e"], [22691, 0, "n"], [22692, 0, "d"], [22693, 0, "{"], [22694, 0, "p"], [22695, 0, "r"], [22696, 0, "o"], [22697, 0, "o"], [22698, 0, "f"], [22699, 0, "t"], [22700, 0, "r"], [22701, 0, "e"], [22702, 0, "e"], [22703, 0, "}"], [22688, 0, "\n"], [22689, 0, "\\"], [22690, 0, "A"], [22691, 0, "x"], [22692, 0, "i"], [22693, 0, "o"], [22694, 0, "m"], [22695, 0, "C"], [22696, 0, "{"], [22697, 0, "$"], [22698, 0, "\\"], [22699, 0, "m"], [22700, 0, "a"], [22701, 0, "t"], [22702, 0, "h"], [22703, 0, "i"], [22704, 0, "t"], [22705, 0, "{"], [22706, 0, "c"], [22707, 0, "t"], [22708, 0, "r"], [22709, 0, "}"], [22710, 0, " "], [22711, 0, "="], [22712, 0, " "], [22713, 0, "\\"], [22714, 0, "m"], [22715, 0, "a"], [22716, 0, "t"], [22717, 0, "h"], [22718, 0, "r"], [22719, 0, "m"], [22720, 0, "{"], [22721, 0, "m"], [22722, 0, "a"], [22723, 0, "x"], [22724, 0, "}"], [22725, 0, "("], [22726, 0, "\\"], [22727, 0, "{"], [22728, 0, "0"], [22729, 0, "\\"], [22730, 0, "}"], [22731, 0, " "], [22732, 0, "\\"], [22733, 0, ","], [22734, 0, "\\"], [22735, 0, "c"], [22736, 0, "u"], [22737, 0, "p"], [22738, 0, "\\"], [22739, 0, ","], [22740, 0, " "], [22741, 0, "\\"], [22742, 0, "{"], [22743, 0, " "], [22744, 0, "c"], [22745, 0, "_"], [22746, 0, "i"], [22747, 0, " "], [22748, 0, "\\"], [22749, 0, "m"], [22750, 0, "i"], [22751, 0, "d"], [22752, 0, " "], [22753, 0, "("], [22754, 0, "c"], [22755, 0, "_"], [22756, 0, "i"], [22757, 0, ","], [22758, 0, " "], [22759, 0, "p"], [22760, 0, "_"], [22761, 0, "i"], [22762, 0, ")"], [22763, 0, " "], [22764, 0, "\\"], [22765, 0, "i"], [22766, 0, "n"], [22767, 0, " "], [22768, 0, "A"], [22769, 0, "_"], [22770, 0, "p"], [22771, 0, "("], [22772, 0, "\\"], [22773, 0, "m"], [22774, 0, "a"], [22775, 0, "t"], [22776, 0, "h"], [22777, 0, "s"], [22778, 0, "f"], [22779, 0, "{"], [22780, 0, "o"], [22781, 0, "p"], [22782, 0, "s"], [22783, 0, "}"], [22784, 0, ")"], [22785, 0, " "], [22786, 0, "\\"], [22787, 0, "}"], [22788, 0, "#"], [22789, 0, "}"], [22789, 1], [22788, 1], [22788, 0, "$"], [22789, 0, "}"], [22790, 0, "\n"], [22791, 0, "\\"], [22792, 0, "A"], [22793, 0, "x"], [22794, 0, "i"], [22795, 0, "o"], [22796, 0, "m"], [22797, 0, "C"], [22798, 0, "{"], [22799, 0, "$"], [22800, 0, "\\"], [22801, 0, "m"], [22802, 0, "a"], [22803, 0, "t"], [22804, 0, "h"], [22805, 0, "i"], [22806, 0, "t"], [22807, 0, "{"], [22808, 0, "i"], [22809, 0, "d"], [22810, 0, "}"], [22811, 0, " "], [22812, 0, "="], [22813, 0, " "], [22814, 0, "("], [22815, 0, "\\"], [22816, 0, "m"], [22817, 0, "a"], [22818, 0, "t"], [22819, 0, "h"], [22820, 0, "i"], [22821, 0, "t"], [22822, 0, "{"], [22823, 0, "c"], [22824, 0, "t"], [22825, 0, "r"], [22826, 0, "}"], [22827, 0, ","], [22828, 0, " "], [22829, 0, "p"], [22830, 0, ")"], [22827, 0, " "], [22828, 0, "+"], [22829, 0, " "], [22830, 0, "1"], [22835, 0, "$"], [22836, 0, "}"], [22837, 0, "\n"], [22838, 0, "\\"], [22839, 0, "A"], [22840, 0, "x"], [22841, 0, "i"], [22842, 0, "o"], [22843, 0, "m"], [22844, 0, "C"], [22845, 0, "{"], [22846, 0, "$"], [22847, 0, "A"], [22848, 0, "_"], [22849, 0, "p"], [22850, 0, ","], [22851, 0, "\\"], [22852, 0, ","], [22853, 0, " "], [22854, 0, "\\"], [22855, 0, "m"], [22856, 0, "a"], [22857, 0, "t"], [22858, 0, "h"], [22859, 0, "i"], [22860, 0, "t"], [22861, 0, "{"], [22862, 0, "a"], [22863, 0, "p"], [22864, 0, "p"], [22864, 1], [22863, 1], [22862, 1], [22861, 1], [22860, 1], [22859, 1], [22859, 0, "s"], [22860, 0, "f"], [22861, 0, "{"], [22862, 0, "a"], [22863, 0, "p"], [22864, 0, "p"], [22865, 0, "l"], [22866, 0, "y"], [22867, 0, "}"], [22868, 0, "("], [22869, 0, "\\"], [22870, 0, "m"], [22871, 0, "a"], [22872, 0, "t"], [22873, 0, "h"], [22874, 0, "s"], [22875, 0, "f"], [22876, 0, "{"], [22877, 0, "o"], [22878, 0, "p"], [22879, 0, "}"], [22880, 0, "("], [22881, 0, "\\"], [22882, 0, "m"], [22883, 0, "a"], [22884, 0, "t"], [22885, 0, "h"], [22886, 0, "i"], [22887, 0, "t"], [22888, 0, "{"], [22889, 0, "i"], [22890, 0, "d"], [22891, 0, "}"], [22892, 0, ","], [22893, 0, " "], [22894, 0, "A"], [22895, 0, "_"], [22896, 0, "p"], [22897, 0, "("], [22898, 0, "\\"], [22899, 0, "m"], [22900, 0, "a"], [22901, 0, "t"], [22902, 0, "h"], [22903, 0, "s"], [22904, 0, "f"], [22905, 0, "{"], [22906, 0, "o"], [22907, 0, "p"], [22908, 0, "s"], [22909, 0, "}"], [22910, 0, ")"], [22911, 0, ","], [22912, 0, " "], [22913, 0, "\\"], [22914, 0, "m"], [22915, 0, "a"], [22916, 0, "t"], [22917, 0, "h"], [22918, 0, "i"], [22919, 0, "t"], [22920, 0, "{"], [22921, 0, "c"], [22922, 0, "u"], [22923, 0, "r"], [22924, 0, "}"], [22925, 0, ","], [22926, 0, " "], [22927, 0, "\\"], [22928, 0, "m"], [22929, 0, "a"], [22930, 0, "t"], [22931, 0, "h"], [22932, 0, "i"], [22933, 0, "t"], [22934, 0, "{"], [22935, 0, "m"], [22936, 0, "u"], [22937, 0, "t"], [22938, 0, "}"], [22939, 0, ")"], [22940, 0, " "], [22941, 0, "\\"], [22942, 0, "e"], [22943, 0, "v"], [22944, 0, "a"], [22945, 0, "l"], [22946, 0, "t"], [22947, 0, "o"], [22948, 0, " "], [22949, 0, "A"], [22950, 0, "_"], [22951, 0, "p"], [22952, 0, "'"], [22953, 0, "$"], [22954, 0, "}"], [22955, 0, "\n"], [22956, 0, "\\"], [22957, 0, "L"], [22958, 0, "e"], [22959, 0, "f"], [22960, 0, "t"], [22961, 0, "L"], [22962, 0, "a"], [22963, 0, "b"], [22964, 0, "e"], [22965, 0, "l"], [22966, 0, "{"], [22967, 0, "\\"], [22968, 0, "t"], [22969, 0, "e"], [22970, 0, "x"], [22971, 0, "t"], [22972, 0, "s"], [22973, 0, "c"], [22974, 0, "{"], [22975, 0, "M"], [22976, 0, "a"], [22977, 0, "k"], [22978, 0, "e"], [22979, 0, "-"], [22980, 0, "O"], [22981, 0, "p"], [22982, 0, "}"], [22983, 0, "}"], [22984, 0, "\n"], [22985, 0, "\\"], [22986, 0, "T"], [22987, 0, "r"], [22988, 0, "i"], [22989, 0, "n"], [22990, 0, "a"], [22991, 0, "r"], [22992, 0, "y"], [22993, 0, "I"], [22994, 0, "n"], [22995, 0, "f"], [22996, 0, "C"], [22997, 0, "{"], [22998, 0, "$"], [22999, 0, "A"], [23000, 0, "_"], [23001, 0, "p"], [23002, 0, ","], [23003, 0, "\\"], [23004, 0, ","], [23005, 0, " "], [23006, 0, "\\"], [23007, 0, "m"], [23008, 0, "a"], [23009, 0, "t"], [23010, 0, "h"], [23011, 0, "s"], [23012, 0, "f"], [23013, 0, "{"], [23014, 0, "m"], [23015, 0, "a"], [23016, 0, "k"], [23017, 0, "e"], [23018, 0, "O"], [23019, 0, "p"], [23020, 0, "}"], [23021, 0, "("], [23022, 0, "\\"], [23023, 0, "m"], [23024, 0, "a"], [23025, 0, "t"], [23026, 0, "h"], [23027, 0, "i"], [23028, 0, "t"], [23029, 0, "{"], [23030, 0, "c"], [23031, 0, "u"], [23032, 0, "r"], [23033, 0, "}"], [23034, 0, ","], [23035, 0, " "], [23036, 0, "\\"], [23037, 0, "m"], [23038, 0, "a"], [23039, 0, "t"], [23040, 0, "h"], [23041, 0, "i"], [23042, 0, "t"], [23043, 0, "{"], [23044, 0, "m"], [23045, 0, "u"], [23046, 0, "t"], [23047, 0, "}"], [23048, 0, ")"], [23049, 0, " "], [23050, 0, "\\"], [23051, 0, "e"], [23052, 0, "v"], [23053, 0, "a"], [23054, 0, "l"], [23055, 0, "t"], [23056, 0, "o"], [23057, 0, " "], [23058, 0, "\\"], [23059, 0, "A"], [23060, 0, "_"], [23061, 0, "p"], [23062, 0, "'"], [23063, 0, "$"], [23064, 0, "}"], [23058, 1], [22899, 0, "b"], [22899, 1], [22890, 1], [22889, 1], [22889, 0, "c"], [22890, 0, "t"], [22891, 0, "r"], [22893, 0, " "], [22894, 0, "+"], [22895, 0, " "], [22896, 0, "1"], [22897, 0, ","], [22898, 0, " "], [22899, 0, "p"], [22900, 0, ")"], [22881, 0, "("], [22922, 0, "\n"], [22923, 0, " "], [22924, 0, " "], [22925, 0, " "], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22791, 1], [22953, 1], [22953, 1], [22953, 0, "B"], [23281, 1], [23280, 1], [23279, 1], [23278, 1], [23278, 0, ":"], [23286, 1], [23285, 1], [23285, 0, "r"], [23286, 0, "m"], [23288, 1], [23288, 0, "P"], [23292, 1], [23292, 0, "I"], [23293, 0, "D"], [22906, 0, ")"], [23807, 1], [23845, 0, "."], [23846, 0, "\\"], [23847, 0, "m"], [23848, 0, "a"], [23849, 0, "t"], [23850, 0, "h"], [23851, 0, "s"], [23852, 0, "f"], [23853, 0, "{"], [23854, 0, "i"], [23855, 0, "d"], [23856, 0, "}"], [23856, 1], [23855, 1], [23854, 1], [23853, 1], [23852, 1], [23851, 1], [23850, 1], [23849, 1], [23848, 1], [23847, 1], [23846, 1], [23845, 1], [23844, 0, "."], [23845, 0, "i"], [23846, 0, "d"], [23763, 1], [23762, 1], [23762, 0, "s"], [23763, 0, "f"], [23757, 0, "A"], [23758, 0, "_"], [23759, 0, "p"], [23760, 0, "'"], [23761, 0, "("], [23776, 0, ")"], [23777, 0, " "], [23778, 0, "\\"], [23779, 0, ","], [23780, 0, "\\"], [23781, 0, "c"], [23782, 0, "u"], [23783, 0, "p"], [23784, 0, "\\"], [23785, 0, ","], [23786, 0, " "], [23787, 0, "\\"], [23788, 0, "{"], [23789, 0, "\\"], [23790, 0, "m"], [23791, 0, "a"], [23792, 0, "t"], [23793, 0, "h"], [23794, 0, "i"], [23795, 0, "t"], [23796, 0, "{"], [23797, 0, "o"], [23798, 0, "p"], [23799, 0, "}"], [23800, 0, "\\"], [23801, 0, "}"], [23663, 1], [23663, 1], [23663, 0, "U"], [23664, 0, "n"], [23627, 1], [23626, 1], [23625, 1], [23624, 1], [23623, 1], [23622, 1], [23621, 1], [23620, 1], [23619, 1], [23618, 1], [23617, 1], [23616, 1], [23615, 1], [23614, 1], [23613, 1], [23612, 1], [23611, 1], [23610, 1], [23609, 1], [23608, 1], [23607, 1], [23606, 1], [23605, 1], [23604, 1], [23603, 1], [23602, 1], [23601, 1], [23600, 1], [23599, 1], [23598, 1], [23597, 1], [23596, 1], [23595, 1], [23594, 1], [23593, 1], [23592, 1], [23591, 1], [23590, 1], [23589, 1], [23588, 1], [23587, 1], [23586, 1], [23585, 1], [23584, 1], [23583, 1], [23582, 1], [23581, 1], [23580, 1], [23579, 1], [23578, 1], [23577, 1], [23576, 1], [23575, 1], [23574, 1], [23573, 1], [23572, 1], [23571, 1], [23570, 1], [23569, 1], [23568, 1], [23567, 1], [23566, 1], [23565, 1], [23564, 1], [23563, 1], [23562, 1], [23561, 1], [23560, 1], [23559, 1], [23558, 1], [23557, 1], [23556, 1], [23555, 1], [23554, 1], [23553, 1], [23552, 1], [23551, 1], [23550, 1], [23549, 1], [23548, 1], [23547, 1], [23546, 1], [23545, 1], [23544, 1], [23543, 1], [23542, 1], [23541, 1], [23540, 1], [23539, 1], [23538, 1], [23537, 1], [23536, 1], [23535, 1], [23534, 1], [23533, 1], [23532, 1], [23862, 1], [23850, 1], [23849, 1], [23848, 1], [23847, 1], [23846, 1], [23845, 1], [23844, 1], [23843, 1], [23842, 1], [23841, 1], [23840, 1], [23839, 1], [23838, 1], [23837, 1], [23836, 1], [23835, 1], [23889, 0, "o"], [23890, 0, "p"], [23891, 0, "."], [23871, 0, "\n"], [23872, 0, "\\"], [23873, 0, "A"], [23874, 0, "x"], [23875, 0, "i"], [23876, 0, "o"], [23877, 0, "m"], [23878, 0, "C"], [23879, 0, "{"], [23880, 0, "$"], [23881, 0, "\\"], [23882, 0, "m"], [23883, 0, "a"], [23884, 0, "t"], [23885, 0, "h"], [23886, 0, "i"], [23887, 0, "t"], [23888, 0, "{"], [23889, 0, "o"], [23890, 0, "p"], [23891, 0, "."], [23892, 0, "i"], [23893, 0, "d"], [23894, 0, "}"], [23895, 0, " "], [23896, 0, "\\"], [23897, 0, "n"], [23898, 0, "o"], [23899, 0, "t"], [23900, 0, "\\"], [23901, 0, "i"], [23902, 0, "n"], [23903, 0, " "], [23900, 1], [23903, 0, "A"], [23904, 0, "_"], [23905, 0, "p"], [23906, 0, "\\"], [23906, 1], [23906, 0, "("], [23907, 0, "\\"], [23908, 0, "m"], [23909, 0, "a"], [23910, 0, "t"], [23911, 0, "h"], [23912, 0, "s"], [23913, 0, "f"], [23914, 0, "{"], [23915, 0, "o"], [23916, 0, "p"], [23917, 0, "s"], [23918, 0, "}"], [23919, 0, ")"], [23920, 0, "$"], [23921, 0, "}"], [24057, 1], [24057, 1], [24057, 1], [24057, 0, "Q"], [24058, 0, "u"], [24059, 0, "a"], [24060, 0, "t"], [24061, 0, "e"], [24062, 0, "r"], [24179, 0, "."], [24180, 0, "i"], [24181, 0, "d"], [23568, 1], [24205, 0, "\n"], [24206, 0, "\n"], [24207, 0, "\\"], [24208, 0, "b"], [24209, 0, "e"], [24210, 0, "g"], [24211, 0, "i"], [24212, 0, "n"], [24213, 0, "{"], [24214, 0, "p"], [24215, 0, "r"], [24216, 0, "o"], [24217, 0, "o"], [24218, 0, "f"], [24219, 0, "t"], [24220, 0, "r"], [24221, 0, "e"], [24222, 0, "e"], [24223, 0, "}"], [24224, 0, "\n"], [24225, 0, "\\"], [24226, 0, "A"], [24227, 0, "x"], [24228, 0, "i"], [24229, 0, "o"], [24230, 0, "m"], [24231, 0, "C"], [24232, 0, "{"], [24233, 0, "}"], [24234, 0, "\n"], [24235, 0, "\\"], [24236, 0, "L"], [24237, 0, "e"], [24238, 0, "f"], [24239, 0, "t"], [24240, 0, "L"], [24241, 0, "a"], [24242, 0, "b"], [24243, 0, "e"], [24244, 0, "l"], [24245, 0, "{"], [24246, 0, "\\"], [24247, 0, "t"], [24248, 0, "e"], [24249, 0, "x"], [24250, 0, "t"], [24251, 0, "s"], [24252, 0, "c"], [24253, 0, "{"], [24254, 0, "S"], [24255, 0, "e"], [24256, 0, "n"], [24257, 0, "d"], [24258, 0, "}"], [24259, 0, "}"], [24260, 0, "\n"], [24261, 0, "\\"], [24262, 0, "U"], [24263, 0, "n"], [24264, 0, "a"], [24265, 0, "r"], [24266, 0, "y"], [24267, 0, "I"], [24268, 0, "n"], [24269, 0, "f"], [24270, 0, "C"], [24271, 0, "{"], [24272, 0, "$"], [24273, 0, "A"], [24274, 0, "_"], [24275, 0, "p"], [24276, 0, ","], [24277, 0, "\\"], [24278, 0, ","], [24279, 0, " "], [24280, 0, "\\"], [24281, 0, "m"], [24282, 0, "a"], [24283, 0, "t"], [24284, 0, "h"], [24285, 0, "s"], [24286, 0, "f"], [24287, 0, "{"], [24288, 0, "y"], [24289, 0, "i"], [24290, 0, "e"], [24291, 0, "l"], [24292, 0, "d"], [24293, 0, "}"], [24294, 0, " "], [24295, 0, "\\"], [24296, 0, "e"], [24297, 0, "v"], [24298, 0, "a"], [24299, 0, "l"], [24300, 0, "t"], [24301, 0, "o"], [24302, 0, "\n"], [24303, 0, " "], [24304, 0, " "], [24305, 0, " "], [24306, 0, " "], [24307, 0, "A"], [24308, 0, "_"], [24309, 0, "p"], [24310, 0, "["], [24311, 0, "\\"], [24312, 0, ","], [24313, 0, "\\"], [24314, 0, "m"], [24315, 0, "a"], [24316, 0, "t"], [24317, 0, "h"], [24318, 0, "s"], [24319, 0, "f"], [24320, 0, "{"], [24321, 0, "s"], [24322, 0, "e"], [24323, 0, "n"], [24324, 0, "d"], [24325, 0, "}"], [24326, 0, " "], [24327, 0, "\\"], [24328, 0, ","], [24329, 0, "\\"], [24330, 0, "m"], [24331, 0, "a"], [24332, 0, "p"], [24333, 0, "s"], [24334, 0, "t"], [24335, 0, "o"], [24336, 0, "\\"], [24337, 0, ","], [24338, 0, " "], [24339, 0, "A"], [24340, 0, "_"], [24341, 0, "p"], [24342, 0, "("], [24343, 0, "\\"], [24344, 0, "m"], [24345, 0, "a"], [24346, 0, "t"], [24347, 0, "h"], [24348, 0, "s"], [24349, 0, "f"], [24350, 0, "{"], [24351, 0, "s"], [24352, 0, "e"], [24353, 0, "n"], [24354, 0, "d"], [24355, 0, "}"], [24356, 0, ")"], [24357, 0, " "], [24358, 0, "\\"], [24359, 0, ","], [24360, 0, "\\"], [24361, 0, "c"], [24362, 0, "u"], [24363, 0, "p"], [24364, 0, "\\"], [24365, 0, ","], [24366, 0, " "], [24367, 0, "\\"], [24367, 1], [24367, 0, "A"], [24368, 0, "_"], [24369, 0, "p"], [24370, 0, "("], [24371, 0, "\\"], [24372, 0, "m"], [24373, 0, "a"], [24374, 0, "t"], [24375, 0, "h"], [24376, 0, "s"], [24377, 0, "f"], [24378, 0, "{"], [24379, 0, "q"], [24380, 0, "u"], [24381, 0, "e"], [24382, 0, "u"], [24383, 0, "e"], [24384, 0, "}"], [24385, 0, ")"], [24386, 0, "\\"], [24387, 0, ","], [24388, 0, "]"], [24389, 0, "$"], [24390, 0, "}"], [24391, 0, "\n"], [24392, 0, "\\"], [24393, 0, "e"], [24394, 0, "n"], [24395, 0, "d"], [24396, 0, "{"], [24397, 0, "p"], [24398, 0, "r"], [24399, 0, "o"], [24400, 0, "o"], [24401, 0, "f"], [24402, 0, "t"], [24403, 0, "r"], [24404, 0, "e"], [24405, 0, "e"], [24406, 0, "}"], [24407, 0, "\n"], [24408, 0, "\n"], [24409, 0, "\\"], [24410, 0, "b"], [24411, 0, "e"], [24412, 0, "g"], [24413, 0, "i"], [24414, 0, "n"], [24415, 0, "{"], [24416, 0, "p"], [24417, 0, "r"], [24418, 0, "o"], [24419, 0, "o"], [24420, 0, "f"], [24421, 0, "t"], [24422, 0, "r"], [24423, 0, "e"], [24424, 0, "e"], [24425, 0, "}"], [24426, 0, "\n"], [24427, 0, "\\"], [24428, 0, "A"], [24429, 0, "x"], [24430, 0, "i"], [24431, 0, "o"], [24432, 0, "m"], [24433, 0, "C"], [24434, 0, "{"], [24435, 0, "$"], [24436, 0, "a"], [24437, 0, ":"], [24438, 0, " "], [24438, 1], [24437, 1], [24436, 1], [24436, 0, "q"], [24437, 0, ":"], [24438, 0, " "], [24439, 0, "\\"], [24440, 0, "m"], [24441, 0, "a"], [24442, 0, "t"], [24443, 0, "h"], [24444, 0, "r"], [24445, 0, "m"], [24446, 0, "{"], [24447, 0, "P"], [24448, 0, "e"], [24449, 0, "e"], [24450, 0, "r"], [24451, 0, "I"], [24452, 0, "D"], [24453, 0, "}"], [24454, 0, "$"], [24455, 0, "}"], [24456, 0, "\n"], [24457, 0, "\\"], [24458, 0, "L"], [24459, 0, "e"], [24460, 0, "f"], [24461, 0, "t"], [24462, 0, "L"], [24463, 0, "a"], [24464, 0, "b"], [24465, 0, "e"], [24466, 0, "l"], [24467, 0, "{"], [24468, 0, "\\"], [24469, 0, "t"], [24470, 0, "e"], [24471, 0, "x"], [24472, 0, "t"], [24473, 0, "s"], [24474, 0, "c"], [24475, 0, "{"], [24476, 0, "R"], [24477, 0, "e"], [24478, 0, "c"], [24479, 0, "v"], [24480, 0, "}"], [24481, 0, "}"], [24482, 0, "\n"], [24483, 0, "\\"], [24484, 0, "U"], [24485, 0, "n"], [24486, 0, "a"], [24487, 0, "r"], [24488, 0, "y"], [24489, 0, "I"], [24490, 0, "n"], [24491, 0, "f"], [24492, 0, "C"], [24493, 0, "{"], [24494, 0, "$"], [24495, 0, "A"], [24496, 0, "_"], [24497, 0, "p"], [24498, 0, ","], [24499, 0, "\\"], [24500, 0, ","], [24501, 0, " "], [24502, 0, "\\"], [24503, 0, "m"], [24504, 0, "a"], [24505, 0, "t"], [24506, 0, "h"], [24507, 0, "s"], [24508, 0, "f"], [24509, 0, "{"], [24510, 0, "y"], [24511, 0, "i"], [24512, 0, "e"], [24513, 0, "l"], [24514, 0, "d"], [24515, 0, "}"], [24516, 0, " "], [24517, 0, "\\"], [24518, 0, "e"], [24519, 0, "v"], [24520, 0, "a"], [24521, 0, "l"], [24522, 0, "t"], [24523, 0, "o"], [24524, 0, "\n"], [24525, 0, " "], [24526, 0, " "], [24527, 0, " "], [24528, 0, " "], [24529, 0, "A"], [24530, 0, "_"], [24531, 0, "p"], [24532, 0, "["], [24533, 0, "\\"], [24534, 0, ","], [24535, 0, "\\"], [24536, 0, "m"], [24537, 0, "a"], [24538, 0, "t"], [24539, 0, "h"], [24540, 0, "s"], [24541, 0, "f"], [24542, 0, "{"], [24543, 0, "r"], [24544, 0, "e"], [24545, 0, "c"], [24546, 0, "v"], [24547, 0, "}"], [24548, 0, " "], [24549, 0, "\\"], [24550, 0, ","], [24551, 0, "\\"], [24552, 0, "m"], [24553, 0, "a"], [24554, 0, "p"], [24555, 0, "s"], [24556, 0, "t"], [24557, 0, "o"], [24558, 0, "\\"], [24559, 0, ","], [24560, 0, " "], [24561, 0, "A"], [24562, 0, "_"], [24563, 0, "p"], [24564, 0, "("], [24565, 0, "\\"], [24566, 0, "m"], [24567, 0, "a"], [24568, 0, "t"], [24569, 0, "h"], [24570, 0, "s"], [24571, 0, "f"], [24572, 0, "{"], [24573, 0, "r"], [24574, 0, "e"], [24575, 0, "c"], [24576, 0, "v"], [24577, 0, "}"], [24578, 0, ")"], [24579, 0, " "], [24580, 0, "\\"], [24581, 0, ","], [24582, 0, "\\"], [24583, 0, "c"], [24584, 0, "u"], [24585, 0, "p"], [24586, 0, "\\"], [24587, 0, ","], [24588, 0, " "], [24589, 0, "A"], [24590, 0, "_"], [24591, 0, "q"], [24592, 0, "("], [24593, 0, "\\"], [24594, 0, "m"], [24595, 0, "a"], [24596, 0, "t"], [24597, 0, "h"], [24598, 0, "s"], [24599, 0, "f"], [24600, 0, "{"], [24601, 0, "s"], [24602, 0, "e"], [24603, 0, "n"], [24604, 0, "d"], [24605, 0, "}"], [24606, 0, ")"], [24607, 0, "\\"], [24608, 0, ","], [24609, 0, "]"], [24610, 0, "$"], [24611, 0, "}"], [24612, 0, "\n"], [24613, 0, "\\"], [24614, 0, "p"], [24615, 0, "r"], [24616, 0, "o"], [24617, 0, "o"], [24618, 0, "f"], [24618, 1], [24617, 1], [24616, 1], [24615, 1], [24614, 1], [24614, 0, "e"], [24615, 0, "n"], [24616, 0, "d"], [24617, 0, "{"], [24618, 0, "p"], [24619, 0, "r"], [24620, 0, "o"], [24621, 0, "o"], [24622, 0, "f"], [24623, 0, "t"], [24624, 0, "r"], [24625, 0, "e"], [24626, 0, "e"], [24627, 0, "}"], [23470, 1], [23469, 1], [23468, 1], [23467, 1], [23466, 1], [23465, 1], [23464, 1], [23463, 1], [23462, 1], [23461, 1], [23460, 1], [23459, 1], [23458, 1], [23457, 1], [23456, 1], [23455, 1], [23454, 1], [23453, 1], [23452, 1], [23451, 1], [23450, 1], [23449, 1], [23448, 1], [23447, 1], [23446, 1], [23445, 1], [23444, 1], [23443, 1], [23442, 1], [23441, 1], [23440, 1], [23439, 1], [23438, 1], [23437, 1], [23436, 1], [23435, 1], [23434, 1], [23433, 1], [23432, 1], [23431, 1], [23430, 1], [23429, 1], [23428, 1], [23427, 1], [23426, 1], [23425, 1], [23424, 1], [23423, 1], [23422, 1], [23421, 1], [23420, 1], [23419, 1], [23418, 1], [23417, 1], [23416, 1], [23415, 1], [23414, 1], [23413, 1], [23412, 1], [23411, 1], [23410, 1], [23409, 1], [23408, 1], [23407, 1], [23406, 1], [23405, 1], [23404, 1], [23403, 1], [23402, 1], [23401, 1], [23400, 1], [23399, 1], [23398, 1], [23397, 1], [23396, 1], [23395, 1], [23394, 1], [23393, 1], [23392, 1], [23391, 1], [23390, 1], [23389, 1], [23388, 1], [23387, 1], [23386, 1], [23385, 1], [23384, 1], [23383, 1], [23382, 1], [23381, 1], [23380, 1], [23379, 1], [23378, 1], [23377, 1], [23376, 1], [23375, 1], [23374, 1], [23373, 1], [23372, 1], [23371, 1], [23370, 1], [23369, 1], [23368, 1], [23367, 1], [23366, 1], [23365, 1], [23364, 1], [23363, 1], [23362, 1], [23361, 1], [23360, 1], [23359, 1], [23358, 1], [23357, 1], [23356, 1], [23355, 1], [23354, 1], [23353, 1], [23352, 1], [23351, 1], [23350, 1], [23349, 1], [23348, 1], [23347, 1], [23346, 1], [23345, 1], [23344, 1], [23343, 1], [23342, 1], [23341, 1], [23340, 1], [23339, 1], [23338, 1], [23337, 1], [23336, 1], [23335, 1], [23334, 1], [23333, 1], [23332, 1], [23331, 1], [23330, 1], [23329, 1], [23328, 1], [23327, 1], [23326, 1], [23325, 1], [23324, 1], [23323, 1], [23322, 1], [23321, 1], [23320, 1], [23319, 1], [23318, 1], [23317, 1], [23316, 1], [23315, 1], [23314, 1], [23313, 1], [23312, 1], [23311, 1], [23310, 1], [23309, 1], [23308, 1], [23307, 1], [23306, 1], [23305, 1], [23304, 1], [23303, 1], [23302, 1], [23301, 1], [23300, 1], [23299, 1], [23298, 1], [23297, 1], [23296, 1], [23295, 1], [23294, 1], [23293, 1], [23292, 1], [23291, 1], [23290, 1], [23289, 1], [23288, 1], [23287, 1], [23286, 1], [23285, 1], [23284, 1], [23283, 1], [23282, 1], [23281, 1], [23280, 1], [23279, 1], [23278, 1], [23277, 1], [23276, 1], [23275, 1], [23274, 1], [23273, 1], [23272, 1], [23271, 1], [23270, 1], [23269, 1], [23268, 1], [23267, 1], [23266, 1], [23265, 1], [23264, 1], [23263, 1], [23262, 1], [23261, 1], [23260, 1], [23259, 1], [23258, 1], [23257, 1], [23256, 1], [23255, 1], [23254, 1], [23253, 1], [23252, 1], [23251, 1], [23250, 1], [23249, 1], [23248, 1], [23247, 1], [23246, 1], [23245, 1], [23244, 1], [23243, 1], [23242, 1], [23241, 1], [23240, 1], [23239, 1], [23238, 1], [23237, 1], [23236, 1], [23235, 1], [23234, 1], [23233, 1], [23232, 1], [23231, 1], [23230, 1], [23229, 1], [23228, 1], [23227, 1], [23226, 1], [23225, 1], [23224, 1], [23223, 1], [23222, 1], [23221, 1], [23220, 1], [23219, 1], [23218, 1], [23217, 1], [23216, 1], [23215, 1], [23214, 1], [23213, 1], [23212, 1], [23211, 1], [23210, 1], [23209, 1], [23208, 1], [23207, 1], [23206, 1], [23205, 1], [23204, 1], [23203, 1], [23202, 1], [23201, 1], [23200, 1], [23199, 1], [23198, 1], [23197, 1], [23196, 1], [23195, 1], [23194, 1], [23193, 1], [23192, 1], [23191, 1], [23190, 1], [23189, 1], [23188, 1], [23187, 1], [23186, 1], [23185, 1], [23184, 1], [23183, 1], [23182, 1], [23181, 1], [23180, 1], [23179, 1], [23178, 1], [23177, 1], [23176, 1], [23175, 1], [23174, 1], [23173, 1], [23172, 1], [23171, 1], [23170, 1], [23169, 1], [23168, 1], [23167, 1], [23166, 1], [23165, 1], [23164, 1], [23163, 1], [23162, 1], [23161, 1], [23160, 1], [23159, 1], [23158, 1], [23157, 1], [23156, 1], [23155, 1], [23154, 1], [23153, 1], [23152, 1], [23151, 1], [23150, 1], [23149, 1], [23148, 1], [23147, 1], [23146, 1], [23145, 1], [23144, 1], [23143, 1], [23142, 1], [23141, 1], [23140, 1], [23139, 1], [23138, 1], [23137, 1], [23136, 1], [23135, 1], [23134, 1], [23133, 1], [23132, 1], [23131, 1], [23130, 1], [23129, 1], [23128, 1], [23127, 1], [23126, 1], [23125, 1], [23124, 1], [23123, 1], [23122, 1], [23121, 1], [23120, 1], [23119, 1], [23118, 1], [23117, 1], [23116, 1], [23115, 1], [23114, 1], [23113, 1], [23112, 1], [23111, 1], [23110, 1], [23109, 1], [23108, 1], [23107, 1], [23106, 1], [23105, 1], [23104, 1], [23103, 1], [23102, 1], [23101, 1], [23100, 1], [23099, 1], [23098, 1], [23097, 1], [23096, 1], [23095, 1], [23094, 1], [23093, 1], [23092, 1], [23091, 1], [23090, 1], [23089, 1], [23088, 1], [23087, 1], [23086, 1], [23085, 1], [23084, 1], [23083, 1], [23082, 1], [23081, 1], [23080, 1], [23079, 1], [23078, 1], [23077, 1], [23076, 1], [23075, 1], [23074, 1], [23073, 1], [23072, 1], [23071, 1], [23070, 1], [23069, 1], [23068, 1], [23067, 1], [23066, 1], [23065, 1], [23064, 1], [23063, 1], [23062, 1], [23061, 1], [23060, 1], [23059, 1], [23058, 1], [23057, 1], [23056, 1], [23055, 1], [23054, 1], [23053, 1], [23052, 1], [23051, 1], [23050, 1], [23049, 1], [23048, 1], [24276, 1], [24275, 1], [24274, 1], [24273, 1], [24272, 1], [24271, 1], [24270, 1], [24269, 1], [24268, 1], [24267, 1], [24266, 1], [24265, 1], [24264, 1], [24263, 1], [24242, 1], [24241, 1], [24240, 1], [24239, 1], [24238, 1], [24237, 1], [24236, 1], [24235, 1], [24234, 1], [24233, 1], [24232, 1], [24231, 1], [24230, 1], [24229, 1], [24228, 1], [24227, 1], [24226, 1], [24225, 1], [24225, 0, "g"], [24226, 0, "e"], [24227, 0, "n"], [24228, 0, "e"], [24229, 0, "r"], [24230, 0, "a"], [24231, 0, "t"], [24232, 0, "i"], [24233, 0, "n"], [24234, 0, "g"], [24246, 0, "a"], [24247, 0, "n"], [24248, 0, "d"], [24249, 0, " "], [24205, 0, "\n"], [24206, 0, "\n"], [24207, 0, "\\"], [24208, 0, "b"], [24209, 0, "e"], [24210, 0, "g"], [24211, 0, "i"], [24212, 0, "n"], [24213, 0, "{"], [24214, 0, "p"], [24215, 0, "r"], [24216, 0, "o"], [24217, 0, "o"], [24218, 0, "f"], [24219, 0, "t"], [24220, 0, "r"], [24221, 0, "e"], [24222, 0, "e"], [24223, 0, "}"], [24224, 0, "\n"], [24225, 0, "\\"], [24226, 0, "A"], [24227, 0, "x"], [24228, 0, "i"], [24229, 0, "o"], [24230, 0, "m"], [24231, 0, "C"], [24232, 0, "{"], [24233, 0, "$"], [24234, 0, "A"], [24235, 0, "_"], [24236, 0, "p"], [24237, 0, ","], [24238, 0, "\\"], [24239, 0, ","], [24240, 0, " "], [24241, 0, "\\"], [24242, 0, "m"], [24243, 0, "a"], [24244, 0, "t"], [24245, 0, "h"], [24246, 0, "s"], [24247, 0, "f"], [24248, 0, "{"], [24249, 0, "y"], [24250, 0, "i"], [24251, 0, "e"], [24252, 0, "l"], [24253, 0, "d"], [24254, 0, "}"], [24255, 0, " "], [24256, 0, "\\"], [24257, 0, "e"], [24258, 0, "v"], [24259, 0, "a"], [24260, 0, "l"], [24261, 0, "t"], [24262, 0, "o"], [24263, 0, " "], [24264, 0, "A"], [24265, 0, "_"], [24266, 0, "p"], [24267, 0, "'"], [24268, 0, "$"], [24269, 0, "}"], [24270, 0, "\n"], [24271, 0, "\\"], [24272, 0, "A"], [24273, 0, "x"], [24274, 0, "i"], [24275, 0, "o"], [24276, 0, "m"], [24277, 0, "C"], [24278, 0, "{"], [24279, 0, "$"], [24280, 0, "A"], [24281, 0, "_"], [24282, 0, "p"], [24283, 0, ","], [24284, 0, "\\"], [24285, 0, ","], [24286, 0, " "], [24287, 0, "\\"], [24283, 0, "'"], [24289, 0, "m"], [24290, 0, "a"], [24291, 0, "t"], [24292, 0, "h"], [24293, 0, "s"], [24294, 0, "f"], [24295, 0, "{"], [24296, 0, "y"], [24297, 0, "i"], [24298, 0, "e"], [24299, 0, "l"], [24300, 0, "d"], [24301, 0, "}"], [24302, 0, " "], [24303, 0, "\\"], [24304, 0, "e"], [24305, 0, "v"], [24306, 0, "a"], [24307, 0, "l"], [24308, 0, "t"], [24309, 0, "o"], [24310, 0, " "], [24311, 0, "A"], [24312, 0, "_"], [24313, 0, "p"], [24314, 0, "'"], [24315, 0, "'"], [24316, 0, "$"], [24317, 0, "}"], [24318, 0, "\n"], [24319, 0, "\\"], [24320, 0, "L"], [24321, 0, "e"], [24322, 0, "f"], [24323, 0, "t"], [24324, 0, "L"], [24325, 0, "a"], [24326, 0, "b"], [24327, 0, "e"], [24328, 0, "l"], [24329, 0, "{"], [24330, 0, "\\"], [24331, 0, "t"], [24332, 0, "e"], [24333, 0, "x"], [24334, 0, "t"], [24335, 0, "s"], [24336, 0, "c"], [24337, 0, "{"], [24338, 0, "Y"], [24339, 0, "i"], [24340, 0, "e"], [24341, 0, "l"], [24342, 0, "d"], [24343, 0, "}"], [24344, 0, "}"], [24345, 0, "\n"], [24346, 0, "\\"], [24347, 0, "B"], [24348, 0, "i"], [24349, 0, "n"], [24350, 0, "a"], [24351, 0, "r"], [24352, 0, "y"], [24353, 0, "I"], [24354, 0, "n"], [24355, 0, "f"], [24356, 0, "C"], [24357, 0, "{"], [24358, 0, "$"], [24359, 0, "A"], [24360, 0, "_"], [24361, 0, "p"], [24362, 0, ","], [24363, 0, "\\"], [24364, 0, ","], [24365, 0, " "], [24366, 0, "\\"], [24367, 0, "m"], [24368, 0, "a"], [24369, 0, "t"], [24370, 0, "h"], [24371, 0, "s"], [24372, 0, "f"], [24373, 0, "{"], [24374, 0, "y"], [24375, 0, "i"], [24376, 0, "e"], [24377, 0, "l"], [24378, 0, "d"], [24379, 0, "}"], [24380, 0, " "], [24381, 0, "\\"], [24382, 0, "e"], [24383, 0, "v"], [24384, 0, "a"], [24385, 0, "l"], [24386, 0, "t"], [24387, 0, "o"], [24388, 0, " "], [24389, 0, "A"], [24390, 0, "_"], [24391, 0, "p"], [24392, 0, "'"], [24393, 0, "'"], [24394, 0, "$"], [24395, 0, "}"], [24396, 0, "\n"], [24397, 0, "\\"], [24398, 0, "e"], [24399, 0, "n"], [24400, 0, "d"], [24401, 0, "{"], [24402, 0, "p"], [24403, 0, "r"], [24404, 0, "o"], [24405, 0, "o"], [24406, 0, "f"], [24407, 0, "t"], [24408, 0, "r"], [24409, 0, "e"], [24410, 0, "e"], [24411, 0, "}"], [24597, 0, " "], [24598, 0, "T"], [24599, 0, "h"], [24600, 0, "e"], [24601, 0, " "], [24602, 0, "\\"], [24603, 0, "t"], [24604, 0, "e"], [24605, 0, "x"], [24606, 0, "t"], [24607, 0, "s"], [24608, 0, "c"], [24609, 0, "{"], [24610, 0, "A"], [24611, 0, "s"], [24612, 0, "s"], [24613, 0, "i"], [24614, 0, "g"], [24615, 0, "n"], [24616, 0, "}"], [24617, 0, ","], [24618, 0, " "], [24619, 0, "\\"], [24620, 0, "t"], [24621, 0, "e"], [24622, 0, "x"], [24623, 0, "t"], [24624, 0, "s"], [24625, 0, "c"], [24626, 0, "{"], [24627, 0, "I"], [24628, 0, "n"], [24629, 0, "s"], [24630, 0, "e"], [24631, 0, "r"], [24632, 0, "t"], [24633, 0, "}"], [24634, 0, " "], [24635, 0, "a"], [24636, 0, "n"], [24637, 0, "d"], [24638, 0, " "], [24639, 0, "\\"], [24640, 0, "t"], [24641, 0, "e"], [24642, 0, "x"], [24643, 0, "t"], [24644, 0, "s"], [24645, 0, "c"], [24646, 0, "{"], [24647, 0, "D"], [24648, 0, "e"], [24649, 0, "l"], [24650, 0, "e"], [24651, 0, "t"], [24652, 0, "e"], [24653, 0, "}"], [24654, 0, " "], [24655, 0, "r"], [24656, 0, "u"], [24657, 0, "l"], [24658, 0, "e"], [24659, 0, "s"], [24660, 0, " "], [24661, 0, "s"], [24662, 0, "h"], [24663, 0, "o"], [24664, 0, "w"], [24665, 0, " "], [24665, 1], [24664, 1], [24663, 1], [24662, 1], [24661, 1], [24661, 0, "d"], [24662, 0, "e"], [24663, 0, "f"], [24664, 0, "i"], [24665, 0, "n"], [24666, 0, "e"], [24667, 0, " "], [24668, 0, "h"], [24669, 0, "o"], [24670, 0, "w"], [24671, 0, " "], [24672, 0, "t"], [24673, 0, "h"], [24674, 0, "e"], [24675, 0, "s"], [24676, 0, "e"], [24677, 0, " "], [24678, 0, "r"], [24679, 0, "e"], [24680, 0, "s"], [24681, 0, "p"], [24682, 0, "e"], [24683, 0, "c"], [24684, 0, "t"], [24685, 0, "i"], [24686, 0, "v"], [24687, 0, "e"], [24688, 0, " "], [24689, 0, "c"], [24690, 0, "o"], [24691, 0, "m"], [24692, 0, "m"], [24693, 0, "a"], [24694, 0, "n"], [24695, 0, "d"], [24696, 0, "s"], [24697, 0, " "], [24698, 0, "m"], [24699, 0, "u"], [24700, 0, "t"], [24701, 0, "a"], [24702, 0, "t"], [24703, 0, "e"], [24704, 0, " "], [24705, 0, "t"], [24706, 0, "h"], [24707, 0, "e"], [24708, 0, " "], [24709, 0, "d"], [24710, 0, "o"], [24711, 0, "c"], [24712, 0, "u"], [24713, 0, "m"], [24714, 0, "e"], [24715, 0, "n"], [24716, 0, "t"], [24717, 0, ":"], [24718, 0, " "], [24719, 0, "a"], [24720, 0, "l"], [24721, 0, "l"], [24722, 0, " "], [24723, 0, "t"], [24724, 0, "h"], [24725, 0, "r"], [24726, 0, "e"], [24727, 0, "e"], [24728, 0, " "], [24729, 0, "d"], [24730, 0, "e"], [24731, 0, "l"], [24732, 0, "e"], [24733, 0, "g"], [24734, 0, "a"], [24735, 0, "t"], [24736, 0, "e"], [24737, 0, " "], [24738, 0, "t"], [24739, 0, "h"], [24740, 0, "e"], [24741, 0, " "], [24741, 1], [24740, 1], [24739, 1], [24738, 1], [24738, 0, "t"], [24739, 0, "o"], [24740, 0, " "], [24741, 0, "t"], [24742, 0, "h"], [24743, 0, "e"], [24744, 0, " "], [24745, 0, "\\"], [24746, 0, "t"], [24747, 0, "e"], [24748, 0, "x"], [24749, 0, "t"], [24750, 0, "s"], [24751, 0, "c"], [24752, 0, "{"], [24753, 0, "M"], [24754, 0, "a"], [24755, 0, "k"], [24756, 0, "e"], [24757, 0, "-"], [24758, 0, "O"], [24759, 0, "p"], [24760, 0, "}"], [24761, 0, " "], [24762, 0, "r"], [24763, 0, "u"], [24764, 0, "l"], [24765, 0, "e"], [24766, 0, " "], [24767, 0, "f"], [24768, 0, "o"], [24769, 0, "r"], [24770, 0, " "], [24771, 0, "g"], [24772, 0, "e"], [24773, 0, "n"], [24774, 0, "e"], [24775, 0, "r"], [24776, 0, "a"], [24777, 0, "t"], [24778, 0, "i"], [24779, 0, "n"], [24780, 0, "g"], [24781, 0, " "], [24769, 1], [24768, 1], [24767, 1], [24767, 0, "t"], [24768, 0, "o"], [24780, 1], [24779, 1], [24778, 1], [24777, 1], [24777, 0, "e"], [24778, 0, " "], [24779, 0, "a"], [24780, 0, "n"], [24781, 0, "d"], [24782, 0, " "], [24783, 0, "a"], [24784, 0, "p"], [24785, 0, "p"], [24786, 0, "l"], [24787, 0, "y"], [24788, 0, " "], [24789, 0, "t"], [24790, 0, "h"], [24791, 0, "e"], [24792, 0, " "], [24793, 0, "o"], [24794, 0, "p"], [24795, 0, "e"], [24796, 0, "r"], [24797, 0, "a"], [24798, 0, "t"], [24799, 0, "i"], [24800, 0, "o"], [24801, 0, "n"], [24802, 0, "."], [24803, 0, " "], [24804, 0, "\\"], [24805, 0, "t"], [24806, 0, "e"], [24807, 0, "x"], [24808, 0, "t"], [24809, 0, "s"], [24810, 0, "c"], [24811, 0, "{"], [24812, 0, "M"], [24813, 0, "a"], [24814, 0, "k"], [24815, 0, "e"], [24816, 0, "-"], [24817, 0, "O"], [24818, 0, "p"], [24819, 0, "}"], [24820, 0, " "], [24821, 0, "e"], [24822, 0, "n"], [24823, 0, "c"], [24824, 0, "a"], [24825, 0, "p"], [24826, 0, "s"], [24827, 0, "u"], [24828, 0, "l"], [24829, 0, "a"], [24830, 0, "t"], [24831, 0, "e"], [24832, 0, "s"], [24832, 1], [24831, 1], [24830, 1], [24829, 1], [24828, 1], [24827, 1], [24826, 1], [24825, 1], [24824, 1], [24823, 1], [24822, 1], [24821, 1], [24821, 0, "g"], [24822, 0, "e"], [24823, 0, "n"], [24824, 0, "e"], [24825, 0, "r"], [24826, 0, "a"], [24827, 0, "t"], [24828, 0, "e"], [24829, 0, "s"], [24830, 0, " "], [24831, 0, "a"], [24832, 0, " "], [24833, 0, "n"], [24834, 0, "e"], [24835, 0, "w"], [24836, 0, " "], [24837, 0, "L"], [24838, 0, "a"], [24839, 0, "m"], [24840, 0, "p"], [24841, 0, "o"], [24842, 0, "r"], [24843, 0, "t"], [24844, 0, " "], [24845, 0, "t"], [24846, 0, "i"], [24847, 0, "m"], [24848, 0, "e"], [24849, 0, "s"], [24850, 0, "t"], [24851, 0, "a"], [24852, 0, "m"], [24853, 0, "p"], [24854, 0, " "], [24855, 0, "b"], [24856, 0, "y"], [24857, 0, " "], [24858, 0, "c"], [24859, 0, "h"], [24860, 0, "o"], [24861, 0, "o"], [24862, 0, "s"], [24863, 0, "i"], [24864, 0, "n"], [24865, 0, "g"], [24866, 0, " "], [24867, 0, "a"], [24868, 0, " "], [24869, 0, "c"], [24870, 0, "o"], [24871, 0, "u"], [24872, 0, "n"], [24873, 0, "t"], [24874, 0, "e"], [24875, 0, "r"], [24876, 0, " "], [24877, 0, "v"], [24878, 0, "a"], [24879, 0, "l"], [24880, 0, "u"], [24881, 0, "e"], [24882, 0, " "], [24883, 0, "t"], [24884, 0, "h"], [24885, 0, "a"], [24886, 0, "t"], [24887, 0, " "], [24888, 0, "i"], [24889, 0, "s"], [24890, 0, " "], [24891, 0, "1"], [24892, 0, " "], [24893, 0, "g"], [24894, 0, "r"], [24895, 0, "e"], [24896, 0, "a"], [24897, 0, "t"], [24898, 0, "e"], [24899, 0, "r"], [24900, 0, " "], [24901, 0, "t"], [24902, 0, "h"], [24903, 0, "a"], [24904, 0, "n"], [24905, 0, " "], [24906, 0, "a"], [24907, 0, "n"], [24908, 0, "y"], [24909, 0, " "], [24910, 0, "e"], [24911, 0, "x"], [24912, 0, "i"], [24913, 0, "s"], [24914, 0, "t"], [24915, 0, "i"], [24916, 0, "n"], [24917, 0, "g"], [24918, 0, " "], [24919, 0, "c"], [24920, 0, "o"], [24921, 0, "u"], [24922, 0, "n"], [24923, 0, "t"], [24924, 0, "e"], [24925, 0, "r"], [24926, 0, " "], [24927, 0, "i"], [24928, 0, "n"], [24929, 0, " "], [24930, 0, "$"], [24931, 0, "A"], [24932, 0, "_"], [24933, 0, "p"], [24934, 0, "("], [24935, 0, "\\"], [24936, 0, "m"], [24937, 0, "a"], [24938, 0, "t"], [24939, 0, "h"], [24940, 0, "s"], [24941, 0, "f"], [24942, 0, "{"], [24943, 0, "o"], [24944, 0, "p"], [24945, 0, "s"], [24946, 0, "}"], [24947, 0, ")"], [24948, 0, "$"], [24949, 0, " "], [24950, 0, "t"], [24951, 0, "h"], [24952, 0, "e"], [24953, 0, " "], [24949, 0, ","], [24955, 0, "s"], [24956, 0, "e"], [24957, 0, "t"], [24958, 0, " "], [24959, 0, "o"], [24960, 0, "f"], [24961, 0, " "], [24962, 0, "a"], [24963, 0, "l"], [24964, 0, "l"], [24965, 0, " "], [24966, 0, "o"], [24967, 0, "p"], [24968, 0, "e"], [24969, 0, "r"], [24970, 0, "a"], [24971, 0, "t"], [24972, 0, "i"], [24973, 0, "o"], [24974, 0, "n"], [24975, 0, " "], [24976, 0, "I"], [24977, 0, "D"], [24978, 0, "s"], [24979, 0, " "], [24980, 0, "t"], [24981, 0, "h"], [24982, 0, "a"], [24983, 0, "t"], [24984, 0, " "], [24985, 0, "h"], [24986, 0, "a"], [24987, 0, "v"], [24988, 0, "e"], [24989, 0, " "], [24990, 0, "b"], [24991, 0, "e"], [24992, 0, "e"], [24993, 0, "n"], [24994, 0, " "], [24995, 0, "a"], [24996, 0, "p"], [24997, 0, "p"], [24998, 0, "l"], [24999, 0, "i"], [25000, 0, "e"], [25001, 0, "d"], [25002, 0, " "], [25003, 0, "t"], [25004, 0, "o"], [25005, 0, " "], [25006, 0, "t"], [25007, 0, "h"], [25008, 0, "e"], [25009, 0, " "], [25010, 0, "d"], [25011, 0, "o"], [25012, 0, "c"], [25013, 0, "u"], [25014, 0, "m"], [25015, 0, "e"], [25016, 0, "n"], [25017, 0, "t"], [25018, 0, "."], [25019, 0, "\n"], [25020, 0, "\n"], [25021, 0, "\\"], [25022, 0, "t"], [25023, 0, "e"], [25024, 0, "x"], [25025, 0, "t"], [25026, 0, "s"], [25027, 0, "c"], [25028, 0, "{"], [25029, 0, "M"], [25030, 0, "a"], [25031, 0, "k"], [25032, 0, "e"], [25033, 0, "-"], [25034, 0, "O"], [25035, 0, "p"], [25036, 0, "}"], [25037, 0, " "], [25038, 0, "c"], [25039, 0, "o"], [25040, 0, "n"], [25041, 0, "s"], [25042, 0, "t"], [25043, 0, "r"], [25044, 0, "u"], [25045, 0, "c"], [25046, 0, "t"], [25047, 0, "s"], [25048, 0, " "], [25049, 0, "a"], [25050, 0, "n"], [25051, 0, " "], [25052, 0, "\\"], [25053, 0, "t"], [25054, 0, "e"], [25055, 0, "x"], [25056, 0, "t"], [25057, 0, "s"], [25058, 0, "f"], [25059, 0, "{"], [25060, 0, "o"], [25061, 0, "p"], [25062, 0, "}"], [25063, 0, " "], [25062, 0, "("], [25063, 0, ")"], [25066, 0, "t"], [25067, 0, "u"], [25068, 0, "p"], [25069, 0, "l"], [25070, 0, "e"], [25071, 0, " "], [25072, 0, "o"], [25073, 0, "f"], [25074, 0, " "], [25075, 0, "t"], [25076, 0, "h"], [25077, 0, "e"], [25078, 0, " "], [25079, 0, "f"], [25080, 0, "o"], [25081, 0, "r"], [25082, 0, "m"], [25083, 0, " "], [25084, 0, "d"], [25085, 0, "e"], [25086, 0, "s"], [25087, 0, "c"], [25088, 0, "r"], [25089, 0, "i"], [25090, 0, "b"], [25091, 0, "e"], [25092, 0, "d"], [25093, 0, " "], [25094, 0, "a"], [25095, 0, "b"], [25096, 0, "o"], [25097, 0, "v"], [25098, 0, "e"], [25099, 0, ","], [25100, 0, " "], [25101, 0, "a"], [25102, 0, "n"], [25103, 0, "d"], [25104, 0, " "], [25105, 0, "d"], [25106, 0, "e"], [25107, 0, "l"], [25108, 0, "e"], [25109, 0, "g"], [25110, 0, "a"], [25111, 0, "t"], [25112, 0, "e"], [25113, 0, "s"], [25114, 0, " "], [25115, 0, "t"], [25116, 0, "o"], [25117, 0, " "], [25118, 0, "t"], [25119, 0, "h"], [25120, 0, "e"], [25121, 0, " "], [25122, 0, "\\"], [25123, 0, "t"], [25124, 0, "e"], [25125, 0, "x"], [25126, 0, "t"], [25127, 0, "s"], [25128, 0, "c"], [25129, 0, "{"], [25130, 0, "A"], [25131, 0, "p"], [25132, 0, "p"], [25133, 0, "l"], [25134, 0, "y"], [25135, 0, "-"], [25136, 0, "L"], [25137, 0, "o"], [25138, 0, "c"], [25139, 0, "a"], [25140, 0, "l"], [25141, 0, "}"], [25142, 0, " "], [25143, 0, "r"], [25144, 0, "u"], [25145, 0, "l"], [25146, 0, "e"], [25147, 0, " "], [25148, 0, "t"], [25149, 0, "o"], [25150, 0, " "], [25151, 0, "p"], [25152, 0, "r"], [25153, 0, "o"], [25154, 0, "c"], [25155, 0, "e"], [25156, 0, "s"], [25157, 0, "s"], [25158, 0, " "], [25159, 0, "t"], [25160, 0, "h"], [25161, 0, "e"], [25162, 0, " "], [25163, 0, "o"], [25164, 0, "p"], [25165, 0, "e"], [25166, 0, "r"], [25167, 0, "a"], [25168, 0, "t"], [25169, 0, "i"], [25170, 0, "o"], [25171, 0, "n"], [25172, 0, "."], [25173, 0, " "], [25174, 0, "\\"], [25175, 0, "t"], [25176, 0, "e"], [25177, 0, "x"], [25178, 0, "t"], [25179, 0, "s"], [25180, 0, "c"], [25181, 0, "{"], [25182, 0, "A"], [25183, 0, "p"], [25184, 0, "p"], [25185, 0, "l"], [25186, 0, "y"], [25187, 0, "-"], [25188, 0, "L"], [25189, 0, "o"], [25190, 0, "c"], [25191, 0, "a"], [25192, 0, "l"], [25193, 0, "}"], [25194, 0, " "], [25195, 0, "d"], [25196, 0, "o"], [25197, 0, "e"], [25198, 0, "s"], [25199, 0, " "], [25200, 0, "t"], [25201, 0, "h"], [25202, 0, "r"], [25203, 0, "e"], [25204, 0, "e"], [25205, 0, " "], [25206, 0, "t"], [25207, 0, "h"], [25208, 0, "i"], [25209, 0, "n"], [25210, 0, "g"], [25211, 0, "s"], [25212, 0, ":"], [25213, 0, " "], [25214, 0, "i"], [25215, 0, "t"], [25216, 0, " "], [25217, 0, "e"], [25218, 0, "v"], [25219, 0, "a"], [25220, 0, "l"], [25221, 0, "u"], [25222, 0, "a"], [25223, 0, "t"], [25224, 0, "e"], [25225, 0, "s"], [25226, 0, " "], [25227, 0, "t"], [25228, 0, "h"], [25229, 0, "e"], [25230, 0, " "], [25231, 0, "o"], [25232, 0, "p"], [25233, 0, "e"], [25234, 0, "r"], [25235, 0, "a"], [25236, 0, "t"], [25237, 0, "i"], [25238, 0, "o"], [25239, 0, "n"], [25240, 0, " "], [25241, 0, "t"], [25242, 0, "o"], [25243, 0, " "], [25244, 0, "p"], [25245, 0, "r"], [25246, 0, "o"], [25247, 0, "d"], [25248, 0, "u"], [25249, 0, "c"], [25250, 0, "e"], [25251, 0, " "], [25252, 0, "a"], [25253, 0, " "], [25254, 0, "m"], [25255, 0, "o"], [25256, 0, "d"], [25257, 0, "i"], [25258, 0, "f"], [25259, 0, "i"], [25260, 0, "e"], [25261, 0, "d"], [25262, 0, " "], [25263, 0, "l"], [25264, 0, "o"], [25265, 0, "c"], [25266, 0, "a"], [25267, 0, "l"], [25268, 0, " "], [25269, 0, "s"], [25270, 0, "t"], [25271, 0, "a"], [25272, 0, "t"], [25273, 0, "e"], [25274, 0, " "], [25275, 0, "$"], [25276, 0, "A"], [25277, 0, "_"], [25278, 0, "p"], [25279, 0, "'"], [25280, 0, "$"], [25281, 0, ","], [25282, 0, " "], [25283, 0, "i"], [25284, 0, "t"], [25285, 0, " "], [25286, 0, "a"], [25287, 0, "d"], [25288, 0, "d"], [25289, 0, "s"], [25290, 0, " "], [25291, 0, "t"], [25292, 0, "h"], [25293, 0, "e"], [25294, 0, " "], [25295, 0, "o"], [25296, 0, "p"], [25297, 0, "e"], [25298, 0, "r"], [25299, 0, "a"], [25300, 0, "t"], [25301, 0, "i"], [25302, 0, "o"], [25303, 0, "n"], [25304, 0, " "], [25305, 0, "t"], [25306, 0, "o"], [25307, 0, " "], [25308, 0, "t"], [25309, 0, "h"], [25310, 0, "e"], [25311, 0, " "], [25312, 0, "q"], [25313, 0, "u"], [25314, 0, "e"], [25315, 0, "u"], [25316, 0, "e"], [25317, 0, " "], [25318, 0, "o"], [25319, 0, "f"], [25320, 0, " "], [25321, 0, "o"], [25322, 0, "u"], [25323, 0, "t"], [25324, 0, "b"], [25324, 1], [25323, 1], [25322, 1], [25321, 1], [25321, 0, "g"], [25322, 0, "e"], [25323, 0, "n"], [25324, 0, "e"], [25325, 0, "r"], [25326, 0, "a"], [25327, 0, "t"], [25328, 0, "e"], [25329, 0, "d"], [25330, 0, " "], [25331, 0, "o"], [25332, 0, "p"], [25333, 0, "e"], [25334, 0, "r"], [25335, 0, "a"], [25336, 0, "t"], [25337, 0, "i"], [25338, 0, "o"], [25339, 0, "n"], [25340, 0, "s"], [25341, 0, " "], [25342, 0, "$"], [25343, 0, "A"], [25344, 0, "_"], [25345, 0, "p"], [25346, 0, "("], [25347, 0, "\\"], [25348, 0, "m"], [25349, 0, "a"], [25350, 0, "t"], [25351, 0, "h"], [25352, 0, "s"], [25353, 0, "f"], [25354, 0, "{"], [25355, 0, "q"], [25356, 0, "u"], [25357, 0, "e"], [25358, 0, "u"], [25359, 0, "e"], [25360, 0, "}"], [25361, 0, ")"], [25362, 0, "$"], [25363, 0, ","], [25364, 0, " "], [25365, 0, "a"], [25366, 0, "n"], [25367, 0, "d"], [25368, 0, " "], [25369, 0, "i"], [25370, 0, "t"], [25371, 0, " "], [25372, 0, "a"], [25373, 0, "d"], [25374, 0, "d"], [25375, 0, "s"], [25376, 0, " "], [25377, 0, "t"], [25378, 0, "h"], [25379, 0, "e"], [25380, 0, " "], [25381, 0, "o"], [25382, 0, "p"], [25383, 0, "e"], [25384, 0, "r"], [25385, 0, "a"], [25386, 0, "t"], [25387, 0, "i"], [25388, 0, "o"], [25389, 0, "n"], [25390, 0, " "], [25391, 0, "I"], [25392, 0, "D"], [25393, 0, " "], [25394, 0, "t"], [25395, 0, "o"], [25396, 0, " "], [25397, 0, "t"], [25398, 0, "h"], [25399, 0, "e"], [25400, 0, " "], [25401, 0, "s"], [25402, 0, "e"], [25403, 0, "t"], [25404, 0, " "], [25405, 0, "o"], [25406, 0, "f"], [25407, 0, " "], [25408, 0, "p"], [25409, 0, "r"], [25410, 0, "o"], [25411, 0, "c"], [25412, 0, "e"], [25413, 0, "s"], [25414, 0, "s"], [25415, 0, "e"], [25416, 0, "d"], [25417, 0, " "], [25418, 0, "o"], [25419, 0, "p"], [25420, 0, "e"], [25421, 0, "r"], [25422, 0, "a"], [25423, 0, "t"], [25424, 0, "i"], [25425, 0, "o"], [25426, 0, "n"], [25427, 0, "s"], [25428, 0, " "], [25429, 0, "$"], [25430, 0, "A"], [25431, 0, "_"], [25432, 0, "p"], [25433, 0, "("], [25434, 0, "\\"], [25435, 0, "m"], [25436, 0, "a"], [25437, 0, "t"], [25438, 0, "h"], [25439, 0, "s"], [25440, 0, "f"], [25441, 0, "{"], [25442, 0, "o"], [25443, 0, "p"], [25444, 0, "s"], [25445, 0, "}"], [25446, 0, ")"], [25447, 0, "$"], [25448, 0, "."], [25449, 0, "\n"], [25450, 0, "\n"], [25451, 0, "T"], [25452, 0, "h"], [25453, 0, "e"], [25454, 0, " "], [25455, 0, "r"], [25456, 0, "e"], [25457, 0, "m"], [25458, 0, "a"], [25459, 0, "i"], [25460, 0, "n"], [25461, 0, "i"], [25462, 0, "n"], [25463, 0, "g"], [25464, 0, " "], [25465, 0, "r"], [25466, 0, "u"], [25467, 0, "l"], [25468, 0, "e"], [25469, 0, "s"], [25470, 0, " "], [25471, 0, "i"], [25472, 0, "n"], [25473, 0, " "], [25474, 0, "F"], [25475, 0, "i"], [25476, 0, "g"], [25477, 0, "u"], [25478, 0, "r"], [25479, 0, "e"], [25480, 0, "~"], [25481, 0, "\\"], [25482, 0, "r"], [25483, 0, "e"], [25484, 0, "f"], [25485, 0, "{"], [25486, 0, "f"], [25487, 0, "i"], [25488, 0, "g"], [25489, 0, ":"], [25490, 0, "s"], [25491, 0, "e"], [25492, 0, "n"], [25493, 0, "d"], [25494, 0, "-"], [25495, 0, "r"], [25496, 0, "e"], [25497, 0, "c"], [25498, 0, "v"], [25499, 0, "}"], [25500, 0, " "], [25500, 1], [25500, 0, ","], [25501, 0, " "], [25502, 0, "\\"], [25503, 0, "t"], [25504, 0, "e"], [25505, 0, "x"], [25506, 0, "t"], [25507, 0, "s"], [25508, 0, "c"], [25509, 0, "{"], [25510, 0, "A"], [25511, 0, "p"], [25512, 0, "p"], [25513, 0, "l"], [25514, 0, "y"], [25515, 0, "-"], [25516, 0, "R"], [25517, 0, "e"], [25518, 0, "m"], [25519, 0, "o"], [25520, 0, "t"], [25521, 0, "e"], [25522, 0, "}"], [25523, 0, ","], [25524, 0, " "], [25525, 0, "\\"], [25526, 0, "t"], [25527, 0, "e"], [25528, 0, "x"], [25529, 0, "t"], [25530, 0, "s"], [25531, 0, "c"], [25532, 0, "{"], [25533, 0, "S"], [25534, 0, "e"], [25535, 0, "n"], [25536, 0, "d"], [25537, 0, "}"], [25538, 0, ","], [25539, 0, " "], [25540, 0, "\\"], [25541, 0, "t"], [25542, 0, "e"], [25543, 0, "x"], [25544, 0, "t"], [25545, 0, "s"], [25546, 0, "c"], [25547, 0, "{"], [25548, 0, "R"], [25549, 0, "e"], [25550, 0, "c"], [25551, 0, "v"], [25552, 0, "}"], [25553, 0, " "], [25554, 0, "a"], [25555, 0, "n"], [25556, 0, "d"], [25557, 0, " "], [25558, 0, "\\"], [25559, 0, "t"], [25560, 0, "e"], [25561, 0, "x"], [25562, 0, "t"], [25563, 0, "s"], [25564, 0, "c"], [25565, 0, "{"], [25566, 0, "Y"], [25567, 0, "i"], [25568, 0, "e"], [25569, 0, "l"], [25570, 0, "d"], [25571, 0, "}"], [25572, 0, " "], [25573, 0, "d"], [25574, 0, "e"], [25575, 0, "f"], [25576, 0, "i"], [25577, 0, "n"], [25578, 0, "e"], [25579, 0, " "], [25580, 0, "t"], [25581, 0, "h"], [25582, 0, "e"], [25583, 0, " "], [25584, 0, "s"], [25585, 0, "e"], [25586, 0, "m"], [25587, 0, "a"], [25588, 0, "n"], [25589, 0, "t"], [25590, 0, "i"], [25591, 0, "c"], [25592, 0, "s"], [25593, 0, " "], [25594, 0, "o"], [25595, 0, "f"], [25596, 0, " "], [25597, 0, "t"], [25598, 0, "h"], [25599, 0, "e"], [25600, 0, " "], [25601, 0, "\\"], [25602, 0, "t"], [25603, 0, "e"], [25604, 0, "x"], [25605, 0, "t"], [25606, 0, "s"], [25607, 0, "f"], [25608, 0, "{"], [25609, 0, "y"], [25610, 0, "i"], [25611, 0, "e"], [25612, 0, "l"], [25613, 0, "d"], [25614, 0, "}"], [25615, 0, " "], [25616, 0, "c"], [25617, 0, "o"], [25618, 0, "m"], [25619, 0, "m"], [25620, 0, "a"], [25621, 0, "n"], [25622, 0, "d"], [25623, 0, "."], [25624, 0, " "], [25625, 0, "T"], [25626, 0, "h"], [25627, 0, "e"], [25628, 0, "s"], [25629, 0, "e"], [25630, 0, " "], [25630, 1], [25629, 1], [25628, 1], [25627, 1], [25627, 0, "i"], [25628, 0, "s"], [25629, 0, " "], [25630, 0, "s"], [25631, 0, "e"], [25632, 0, "m"], [25633, 0, "a"], [25634, 0, "n"], [25634, 1], [25633, 1], [25632, 1], [25631, 1], [25630, 1], [25629, 1], [25628, 1], [25627, 1], [25626, 1], [25625, 1], [25625, 0, "S"], [25626, 0, "i"], [25627, 0, "n"], [25628, 0, "c"], [25629, 0, "e"], [25630, 0, " "], [25631, 0, "a"], [25632, 0, "n"], [25633, 0, "y"], [25634, 0, " "], [25635, 0, "o"], [25636, 0, "f"], [25637, 0, " "], [25638, 0, "t"], [25639, 0, "h"], [25640, 0, "e"], [25641, 0, "s"], [25642, 0, "e"], [25643, 0, " "], [25644, 0, "r"], [25645, 0, "u"], [25646, 0, "l"], [25647, 0, "e"], [25648, 0, "s"], [25649, 0, " "], [25650, 0, "c"], [25651, 0, "a"], [25652, 0, "n"], [25653, 0, " "], [25654, 0, "b"], [25655, 0, "e"], [25656, 0, " "], [25657, 0, "u"], [25658, 0, "s"], [25659, 0, "e"], [25660, 0, "d"], [25661, 0, " "], [25662, 0, "t"], [25663, 0, "o"], [25664, 0, " "], [25665, 0, "e"], [25666, 0, "v"], [25667, 0, "a"], [25668, 0, "l"], [25669, 0, "u"], [25670, 0, "a"], [25671, 0, "t"], [25672, 0, "e"], [25673, 0, " "], [25674, 0, "\\"], [25675, 0, "t"], [25676, 0, "e"], [25677, 0, "x"], [25678, 0, "t"], [25679, 0, "s"], [25680, 0, "f"], [25681, 0, "{"], [25682, 0, "y"], [25683, 0, "i"], [25684, 0, "e"], [25685, 0, "l"], [25686, 0, "d"], [25687, 0, "}"], [25688, 0, ","], [25689, 0, " "], [25690, 0, "t"], [25691, 0, "h"], [25692, 0, "e"], [25693, 0, " "], [25694, 0, "s"], [25695, 0, "e"], [25696, 0, "m"], [25697, 0, "a"], [25698, 0, "n"], [25699, 0, "t"], [25700, 0, "i"], [25701, 0, "c"], [25702, 0, "s"], [25703, 0, " "], [25704, 0, "i"], [25705, 0, "s"], [25706, 0, " "], [25707, 0, "n"], [25708, 0, "o"], [25709, 0, "n"], [25710, 0, "d"], [25711, 0, "e"], [25712, 0, "t"], [25713, 0, "e"], [25714, 0, "r"], [25715, 0, "m"], [25716, 0, "i"], [25717, 0, "n"], [25718, 0, "i"], [25719, 0, "s"], [25720, 0, "t"], [25721, 0, "i"], [25722, 0, "c"], [25723, 0, ","], [25724, 0, " "], [25725, 0, "w"], [25726, 0, "h"], [25727, 0, "i"], [25728, 0, "c"], [25729, 0, "h"], [25730, 0, " "], [25731, 0, "m"], [25732, 0, "o"], [25733, 0, "d"], [25734, 0, "e"], [25735, 0, "l"], [25736, 0, "s"], [25737, 0, " "], [25738, 0, "t"], [25739, 0, "h"], [25740, 0, "e"], [25741, 0, " "], [25742, 0, "a"], [25743, 0, "s"], [25744, 0, "y"], [25745, 0, "n"], [25746, 0, "c"], [25747, 0, "h"], [25748, 0, "r"], [25749, 0, "o"], [25750, 0, "n"], [25751, 0, "i"], [25752, 0, "c"], [25753, 0, "i"], [25754, 0, "t"], [25755, 0, "y"], [25756, 0, " "], [25757, 0, "o"], [25758, 0, "f"], [25759, 0, " "], [25760, 0, "n"], [25760, 1], [25760, 0, "t"], [25761, 0, "h"], [25762, 0, "e"], [25763, 0, " "], [25764, 0, "n"], [25765, 0, "e"], [25766, 0, "t"], [25767, 0, "w"], [25768, 0, "o"], [25769, 0, "r"], [25770, 0, "k"], [25771, 0, " "], [25772, 0, "b"], [25773, 0, "e"], [25774, 0, "t"], [25775, 0, "w"], [25776, 0, "e"], [25777, 0, "e"], [25778, 0, "n"], [25779, 0, " "], [25780, 0, "p"], [25781, 0, "e"], [25782, 0, "e"], [25783, 0, "r"], [25784, 0, "s"], [25785, 0, ":"], [25786, 0, " "], [25787, 0, "a"], [25788, 0, " "], [25789, 0, ","], [25790, 0, "e"], [25791, 0, "s"], [25792, 0, "s"], [25793, 0, "a"], [25794, 0, "g"], [25789, 1], [25789, 0, "m"], [25795, 0, "e"], [25796, 0, " "], [25797, 0, "s"], [25798, 0, "e"], [25799, 0, "n"], [25800, 0, "t"], [25801, 0, " "], [25802, 0, "b"], [25803, 0, "y"], [25804, 0, " "], [25805, 0, "o"], [25806, 0, "n"], [25807, 0, "e"], [25808, 0, " "], [25809, 0, "p"], [25810, 0, "e"], [25811, 0, "e"], [25812, 0, "r"], [25813, 0, " "], [25814, 0, "a"], [25815, 0, "r"], [25816, 0, "r"], [25817, 0, "i"], [25818, 0, "v"], [25819, 0, "e"], [25820, 0, "s"], [25821, 0, " "], [25822, 0, "a"], [25823, 0, "t"], [25824, 0, " "], [25825, 0, "a"], [25826, 0, "n"], [25827, 0, "o"], [25828, 0, "t"], [25829, 0, "h"], [25830, 0, "e"], [25831, 0, "r"], [25832, 0, " "], [25833, 0, "p"], [25834, 0, "e"], [25835, 0, "e"], [25836, 0, "r"], [25837, 0, " "], [25838, 0, "s"], [25839, 0, "o"], [25840, 0, "m"], [25841, 0, "e"], [25842, 0, " "], [25842, 1], [25841, 1], [25840, 1], [25839, 1], [25838, 1], [25838, 0, "s"], [25839, 0, "o"], [25840, 0, "m"], [25841, 0, "e"], [25842, 0, " "], [25842, 1], [25841, 1], [25840, 1], [25839, 1], [25838, 1], [25838, 0, "a"], [25839, 0, "t"], [25840, 0, " "], [25841, 0, "s"], [25842, 0, "o"], [25843, 0, "m"], [25844, 0, "e"], [25845, 0, " "], [25846, 0, "a"], [25847, 0, "r"], [25848, 0, "b"], [25849, 0, "i"], [25850, 0, "t"], [25851, 0, "r"], [25852, 0, "a"], [25853, 0, "r"], [25854, 0, "i"], [25855, 0, "l"], [25856, 0, "y"], [25857, 0, " "], [25858, 0, "l"], [25859, 0, "a"], [25860, 0, "t"], [25861, 0, "e"], [25862, 0, "r"], [25863, 0, " "], [25864, 0, "p"], [25865, 0, "o"], [25866, 0, "i"], [25867, 0, "n"], [25868, 0, "t"], [25869, 0, " "], [25870, 0, "i"], [25871, 0, "n"], [25872, 0, " "], [25873, 0, "t"], [25874, 0, "i"], [25875, 0, "m"], [25876, 0, "e"], [25877, 0, "."], [25877, 0, ","], [25878, 0, " "], [25879, 0, "a"], [25880, 0, "n"], [25881, 0, "d"], [25882, 0, " "], [25883, 0, "t"], [25884, 0, "h"], [25885, 0, "e"], [25886, 0, "r"], [25887, 0, "e"], [25888, 0, " "], [25889, 0, "i"], [25890, 0, "s"], [25891, 0, " "], [25892, 0, "n"], [25893, 0, "o"], [25894, 0, " "], [25895, 0, "o"], [25896, 0, "r"], [25897, 0, "d"], [25898, 0, "e"], [25899, 0, "r"], [25900, 0, "i"], [25901, 0, "n"], [25902, 0, "g"], [25903, 0, " "], [25904, 0, "g"], [25905, 0, "u"], [25906, 0, "a"], [25907, 0, "r"], [25908, 0, "a"], [25909, 0, "n"], [25910, 0, "t"], [25911, 0, "e"], [25912, 0, "e"], [25913, 0, " "], [25914, 0, "i"], [25915, 0, "n"], [25916, 0, " "], [25917, 0, "t"], [25918, 0, "h"], [25919, 0, "e"], [25920, 0, " "], [25921, 0, "n"], [25922, 0, "e"], [25923, 0, "t"], [25924, 0, "w"], [25925, 0, "o"], [25926, 0, "r"], [25927, 0, "k"], [25895, 0, "m"], [25896, 0, "e"], [25897, 0, "s"], [25898, 0, "a"], [25899, 0, "g"], [25900, 0, "e"], [25901, 0, " "], [25936, 0, "\n"], [25937, 0, "\n"], [25938, 0, "\\"], [25939, 0, "t"], [25940, 0, "e"], [25941, 0, "x"], [25942, 0, "t"], [25943, 0, "s"], [25944, 0, "c"], [25945, 0, "{"], [25946, 0, "S"], [25947, 0, "e"], [25948, 0, "n"], [25949, 0, "d"], [25950, 0, "}"], [25951, 0, " "], [25938, 0, "T"], [25939, 0, "h"], [25940, 0, "e"], [25941, 0, " "], [25956, 0, "r"], [25957, 0, "u"], [25958, 0, "l"], [25959, 0, "e"], [25960, 0, " "], [25961, 0, "t"], [25962, 0, "a"], [25963, 0, "k"], [25964, 0, "e"], [25965, 0, "s"], [25966, 0, " "], [25967, 0, "a"], [25968, 0, "n"], [25969, 0, "y"], [25970, 0, " "], [25971, 0, "o"], [25972, 0, "p"], [25973, 0, "e"], [25974, 0, "r"], [25975, 0, "a"], [25976, 0, "t"], [25977, 0, "i"], [25978, 0, "o"], [25979, 0, "n"], [25980, 0, "s"], [25981, 0, " "], [25982, 0, "t"], [25983, 0, "h"], [25984, 0, "a"], [25985, 0, "t"], [25986, 0, " "], [25987, 0, "w"], [25988, 0, "e"], [25989, 0, "r"], [25990, 0, "e"], [25991, 0, " "], [25992, 0, "p"], [25993, 0, "l"], [25994, 0, "a"], [25995, 0, "c"], [25996, 0, "e"], [25997, 0, "d"], [25998, 0, " "], [25999, 0, "i"], [26000, 0, "n"], [26001, 0, " "], [26002, 0, "t"], [26003, 0, "h"], [26003, 1], [26002, 1], [26001, 1], [26001, 0, " "], [26002, 0, "$"], [26003, 0, "A"], [26004, 0, "_"], [26005, 0, "p"], [26006, 0, "("], [26007, 0, "\\"], [26008, 0, "m"], [26009, 0, "a"], [26010, 0, "t"], [26011, 0, "h"], [26012, 0, "s"], [26013, 0, "f"], [26014, 0, "{"], [26015, 0, "q"], [26016, 0, "u"], [26017, 0, "e"], [26018, 0, "u"], [26019, 0, "e"], [26020, 0, "}"], [26021, 0, ")"], [26022, 0, "$"], [26023, 0, " "], [26024, 0, "b"], [26025, 0, "y"], [26026, 0, " "], [26027, 0, "\\"], [26028, 0, "t"], [26029, 0, "e"], [26030, 0, "x"], [26031, 0, "t"], [26032, 0, "s"], [26033, 0, "c"], [26034, 0, "{"], [26035, 0, "A"], [26036, 0, "p"], [26037, 0, "p"], [26038, 0, "l"], [26039, 0, "y"], [26040, 0, "-"], [26041, 0, "L"], [26042, 0, "o"], [26043, 0, "c"], [26044, 0, "a"], [26045, 0, "l"], [26046, 0, "}"], [26047, 0, " "], [26048, 0, "a"], [26049, 0, "n"], [26050, 0, "d"], [26051, 0, " "], [26052, 0, "a"], [26053, 0, "d"], [26054, 0, "d"], [26055, 0, "s"], [26056, 0, " "], [26057, 0, "t"], [26058, 0, "h"], [26059, 0, "e"], [26060, 0, "m"], [26061, 0, " "], [26062, 0, "t"], [26063, 0, "o"], [26064, 0, " "], [26065, 0, "a"], [26066, 0, " "], [26067, 0, "s"], [26068, 0, "e"], [26069, 0, "n"], [26070, 0, "d"], [26071, 0, " "], [26072, 0, "b"], [26073, 0, "u"], [26074, 0, "f"], [26075, 0, "f"], [26076, 0, "e"], [26077, 0, "r"], [26078, 0, " "], [26079, 0, "$"], [26080, 0, "A"], [26081, 0, "_"], [26082, 0, "p"], [26083, 0, "("], [26084, 0, "\\"], [26085, 0, "m"], [26086, 0, "a"], [26087, 0, "t"], [26088, 0, "h"], [26089, 0, "s"], [26090, 0, "f"], [26091, 0, "{"], [26092, 0, "s"], [26093, 0, "e"], [26094, 0, "n"], [26095, 0, "d"], [26096, 0, "}"], [26097, 0, ")"], [26098, 0, "$"], [26099, 0, "."], [26100, 0, " "], [26101, 0, "C"], [26102, 0, "o"], [26103, 0, "r"], [26104, 0, "r"], [26105, 0, "e"], [26106, 0, "s"], [26107, 0, "p"], [26108, 0, "o"], [26109, 0, "n"], [26110, 0, "d"], [26111, 0, "i"], [26112, 0, "n"], [26113, 0, "g"], [26114, 0, "l"], [26115, 0, "y"], [26116, 0, ","], [26117, 0, " "], [26118, 0, "t"], [26119, 0, "h"], [26120, 0, "e"], [26121, 0, " "], [26122, 0, "\\"], [26123, 0, "t"], [26124, 0, "e"], [26125, 0, "x"], [26126, 0, "t"], [26127, 0, "s"], [26128, 0, "c"], [26129, 0, "{"], [26130, 0, "R"], [26131, 0, "e"], [26132, 0, "c"], [26133, 0, "v"], [26134, 0, "}"], [26135, 0, " "], [26136, 0, "r"], [26137, 0, "u"], [26138, 0, "l"], [26139, 0, "e"], [26140, 0, " "], [26141, 0, "t"], [26142, 0, "a"], [26143, 0, "k"], [26144, 0, "e"], [26145, 0, "s"], [26146, 0, " "], [26147, 0, "o"], [26148, 0, "p"], [26149, 0, "e"], [26150, 0, "r"], [26151, 0, "a"], [26152, 0, "t"], [26153, 0, "i"], [26154, 0, "o"], [26155, 0, "n"], [26156, 0, "s"], [26157, 0, " "], [26158, 0, "i"], [26159, 0, "n"], [26160, 0, " "], [26161, 0, "t"], [26162, 0, "h"], [26163, 0, "e"], [26164, 0, " "], [26165, 0, "s"], [26166, 0, "e"], [26167, 0, "n"], [26168, 0, "d"], [26169, 0, " "], [26170, 0, "b"], [26171, 0, "u"], [26172, 0, "f"], [26173, 0, "f"], [26174, 0, "e"], [26175, 0, "r"], [26176, 0, " "], [26177, 0, "o"], [26178, 0, "f"], [26179, 0, " "], [26180, 0, "p"], [26181, 0, "e"], [26182, 0, "e"], [26183, 0, "r"], [26184, 0, " "], [26185, 0, "$"], [26186, 0, "q"], [26187, 0, "$"], [26188, 0, " "], [26189, 0, "a"], [26190, 0, "n"], [26191, 0, "d"], [26192, 0, " "], [26193, 0, "a"], [26194, 0, "d"], [26195, 0, "d"], [26196, 0, "s"], [26197, 0, " "], [26198, 0, "t"], [26199, 0, "h"], [26200, 0, "e"], [26201, 0, "m"], [26202, 0, " "], [26203, 0, "t"], [26204, 0, "o"], [26205, 0, " "], [26206, 0, "t"], [26207, 0, "h"], [26208, 0, "e"], [26209, 0, " "], [26210, 0, "r"], [26211, 0, "e"], [26212, 0, "c"], [26213, 0, "e"], [26214, 0, "i"], [26215, 0, "v"], [26216, 0, "e"], [26217, 0, " "], [26218, 0, "b"], [26219, 0, "u"], [26220, 0, "f"], [26221, 0, "f"], [26222, 0, "e"], [26223, 0, "r"], [26224, 0, " "], [26225, 0, "o"], [26225, 1], [26225, 0, "$"], [26226, 0, "A"], [26227, 0, "_"], [26228, 0, "p"], [26229, 0, "("], [26230, 0, "\\"], [26231, 0, "t"], [26232, 0, "e"], [26233, 0, "x"], [26234, 0, "t"], [26235, 0, "s"], [26236, 0, "f"], [26237, 0, "{"], [26238, 0, "r"], [26239, 0, "e"], [26240, 0, "c"], [26241, 0, "v"], [26242, 0, "}"], [26243, 0, ")"], [26244, 0, "$"], [26245, 0, " "], [26246, 0, "o"], [26247, 0, "f"], [26248, 0, " "], [26249, 0, "p"], [26250, 0, "e"], [26251, 0, "e"], [26252, 0, "r"], [26253, 0, " "], [26254, 0, "$"], [26255, 0, "p"], [26256, 0, "$"], [26257, 0, "."], [26258, 0, " "], [26259, 0, "T"], [26260, 0, "h"], [26261, 0, "i"], [26262, 0, "s"], [26263, 0, " "], [26264, 0, "i"], [26265, 0, "s"], [26266, 0, " "], [26267, 0, "t"], [26268, 0, "h"], [26269, 0, "e"], [26270, 0, " "], [26271, 0, "o"], [26272, 0, "n"], [26273, 0, "l"], [26274, 0, "y"], [26275, 0, " "], [26276, 0, "r"], [26277, 0, "u"], [26278, 0, "l"], [26279, 0, "e"], [26280, 0, " "], [26281, 0, "t"], [26282, 0, "h"], [26283, 0, "a"], [26284, 0, "t"], [26285, 0, " "], [26286, 0, "i"], [26287, 0, "n"], [26288, 0, "v"], [26289, 0, "o"], [26290, 0, "l"], [26291, 0, "v"], [26292, 0, "e"], [26293, 0, "s"], [26294, 0, " "], [26295, 0, "m"], [26296, 0, "o"], [26297, 0, "r"], [26298, 0, "e"], [26299, 0, " "], [26300, 0, "t"], [26301, 0, "h"], [26302, 0, "a"], [26303, 0, "n"], [26304, 0, " "], [26305, 0, "o"], [26306, 0, "n"], [26307, 0, "e"], [26308, 0, " "], [26309, 0, "p"], [26310, 0, "e"], [26311, 0, "e"], [26312, 0, "r"], [26313, 0, ","], [26314, 0, " "], [26315, 0, "a"], [26316, 0, "n"], [26317, 0, "d"], [26318, 0, " "], [26319, 0, "i"], [26320, 0, "t"], [26321, 0, " "], [26322, 0, "m"], [26323, 0, "o"], [26324, 0, "d"], [26325, 0, "e"], [26326, 0, "l"], [26327, 0, "s"], [26328, 0, " "], [26329, 0, "a"], [26330, 0, "l"], [26331, 0, "l"], [26332, 0, " "], [26333, 0, "n"], [26334, 0, "e"], [26335, 0, "t"], [26336, 0, "w"], [26337, 0, "o"], [26338, 0, "r"], [26339, 0, "k"], [26340, 0, " "], [26341, 0, "c"], [26342, 0, "o"], [26343, 0, "m"], [26344, 0, "m"], [26345, 0, "u"], [26346, 0, "n"], [26347, 0, "i"], [26348, 0, "c"], [26349, 0, "a"], [26350, 0, "t"], [26351, 0, "i"], [26352, 0, "o"], [26353, 0, "n"], [26354, 0, "."], [26355, 0, "\n"], [26356, 0, "\n"], [26357, 0, "O"], [26358, 0, "n"], [26359, 0, "c"], [26360, 0, "e"], [26361, 0, " "], [26362, 0, "a"], [26363, 0, "n"], [26364, 0, " "], [26365, 0, "o"], [26366, 0, "p"], [26367, 0, "e"], [26368, 0, "r"], [26369, 0, "a"], [26370, 0, "t"], [26371, 0, "i"], [26372, 0, "o"], [26373, 0, "n"], [26374, 0, " "], [26375, 0, "h"], [26375, 1], [26375, 0, "a"], [26376, 0, "p"], [26377, 0, "p"], [26378, 0, "e"], [26379, 0, "a"], [26380, 0, "r"], [26381, 0, "s"], [26382, 0, " "], [26383, 0, "i"], [26384, 0, "n"], [26385, 0, " "], [26386, 0, "t"], [26387, 0, "h"], [26388, 0, "e"], [26389, 0, " "], [26390, 0, "r"], [26391, 0, "e"], [26392, 0, "c"], [26393, 0, "e"], [26394, 0, "i"], [26395, 0, "v"], [26396, 0, "e"], [26397, 0, " "], [26398, 0, "b"], [26399, 0, "u"], [26400, 0, "f"], [26401, 0, "f"], [26402, 0, "e"], [26403, 0, "r"], [26404, 0, " "], [26405, 0, "$"], [26406, 0, "A"], [26407, 0, "_"], [26408, 0, "p"], [26409, 0, "("], [26410, 0, "\\"], [26411, 0, "t"], [26412, 0, "e"], [26413, 0, "x"], [26414, 0, "t"], [26415, 0, "s"], [26416, 0, "f"], [26234, 1], [26233, 1], [26232, 1], [26231, 1], [26231, 0, "m"], [26232, 0, "a"], [26233, 0, "t"], [26234, 0, "h"], [26414, 1], [26413, 1], [26412, 1], [26411, 1], [26411, 0, "m"], [26412, 0, "a"], [26413, 0, "t"], [26414, 0, "h"], [26415, 0, "s"], [26415, 1], [26417, 0, "{"], [26418, 0, "r"], [26419, 0, "e"], [26420, 0, "c"], [26421, 0, "v"], [26422, 0, "}"], [26423, 0, ")"], [26424, 0, "$"], [26425, 0, ","], [26426, 0, " "], [26427, 0, "t"], [26428, 0, "h"], [26429, 0, "e"], [26430, 0, " "], [26431, 0, "r"], [26432, 0, "u"], [26433, 0, "l"], [26434, 0, "e"], [26435, 0, " "], [26436, 0, "\\"], [26437, 0, "t"], [26438, 0, "e"], [26439, 0, "x"], [26440, 0, "t"], [26441, 0, "s"], [26442, 0, "c"], [26443, 0, "{"], [26444, 0, "A"], [26445, 0, "p"], [26446, 0, "p"], [26447, 0, "l"], [26448, 0, "y"], [26449, 0, "-"], [26450, 0, "R"], [26451, 0, "e"], [26452, 0, "m"], [26453, 0, "o"], [26454, 0, "t"], [26455, 0, "e"], [26456, 0, "}"], [26457, 0, " "], [26458, 0, "m"], [26459, 0, "a"], [26460, 0, "y"], [26461, 0, " "], [26462, 0, "a"], [26463, 0, "p"], [26464, 0, "p"], [26465, 0, "l"], [26466, 0, "y"], [26467, 0, "."], [26468, 0, " "], [26469, 0, "U"], [26470, 0, "n"], [26471, 0, "d"], [26472, 0, "e"], [26473, 0, "r"], [26474, 0, " "], [26475, 0, "t"], [26476, 0, "h"], [26477, 0, "e"], [26478, 0, " "], [26479, 0, "p"], [26480, 0, "r"], [26481, 0, "e"], [26482, 0, "c"], [26483, 0, "o"], [26484, 0, "n"], [26485, 0, "d"], [26486, 0, "i"], [26487, 0, "t"], [26488, 0, "i"], [26489, 0, "o"], [26490, 0, "n"], [26491, 0, " "], [26492, 0, "t"], [26493, 0, "h"], [26494, 0, "a"], [26495, 0, "t"], [26496, 0, " "], [26497, 0, "t"], [26498, 0, "h"], [26499, 0, "e"], [26500, 0, " "], [26501, 0, "o"], [26502, 0, "p"], [26503, 0, "e"], [26504, 0, "r"], [26505, 0, "a"], [26506, 0, "t"], [26507, 0, "i"], [26508, 0, "o"], [26509, 0, "n"], [26510, 0, " "], [26511, 0, "h"], [26512, 0, "a"], [26513, 0, "s"], [26514, 0, " "], [26515, 0, "n"], [26516, 0, "o"], [26517, 0, "t"], [26518, 0, " "], [26519, 0, "a"], [26520, 0, "l"], [26521, 0, "r"], [26522, 0, "e"], [26523, 0, "a"], [26524, 0, "d"], [26525, 0, "y"], [26526, 0, " "], [26527, 0, "b"], [26528, 0, "e"], [26529, 0, "e"], [26530, 0, "n"], [26531, 0, " "], [26532, 0, "p"], [26533, 0, "r"], [26534, 0, "o"], [26535, 0, "c"], [26536, 0, "e"], [26537, 0, "s"], [26538, 0, "s"], [26539, 0, "e"], [26540, 0, "d"], [26491, 0, "s"], [26542, 0, " "], [26543, 0, "a"], [26544, 0, "n"], [26545, 0, "d"], [26546, 0, " "], [26547, 0, "t"], [26548, 0, "h"], [26549, 0, "a"], [26550, 0, "t"], [26551, 0, " "], [26552, 0, "i"], [26553, 0, "t"], [26554, 0, "s"], [26555, 0, " "], [26556, 0, "c"], [26557, 0, "a"], [26558, 0, "u"], [26559, 0, "s"], [26560, 0, "a"], [26561, 0, "l"], [26562, 0, " "], [26563, 0, "d"], [26564, 0, "e"], [26565, 0, "p"], [26566, 0, "e"], [26567, 0, "n"], [26568, 0, "d"], [26569, 0, "e"], [26570, 0, "n"], [26571, 0, "c"], [26572, 0, "i"], [26573, 0, "e"], [26574, 0, "s"], [26575, 0, " "], [26576, 0, "h"], [26577, 0, "a"], [26578, 0, "v"], [26578, 1], [26577, 1], [26576, 1], [26576, 0, "a"], [26577, 0, "r"], [26578, 0, "e"], [26579, 0, " "], [26580, 0, "s"], [26581, 0, "a"], [26582, 0, "t"], [26583, 0, "i"], [26584, 0, "s"], [26585, 0, "i"], [26586, 0, "f"], [26587, 0, "i"], [26588, 0, "e"], [26589, 0, "d"], [26590, 0, ","], [26591, 0, " "], [26592, 0, "\\"], [26593, 0, "t"], [26594, 0, "e"], [26595, 0, "x"], [26596, 0, "t"], [26597, 0, "s"], [26598, 0, "c"], [26599, 0, "{"], [26600, 0, "A"], [26601, 0, "p"], [26602, 0, "p"], [26603, 0, "l"], [26604, 0, "y"], [26605, 0, "-"], [26606, 0, "R"], [26607, 0, "e"], [26608, 0, "m"], [26609, 0, "o"], [26610, 0, "t"], [26611, 0, "e"], [26612, 0, "}"], [26613, 0, " "], [26614, 0, "e"], [26615, 0, "v"], [26616, 0, "a"], [26617, 0, "l"], [26618, 0, "u"], [26619, 0, "a"], [26620, 0, "t"], [26621, 0, "e"], [26622, 0, "s"], [26623, 0, " "], [26624, 0, "t"], [26625, 0, "h"], [26626, 0, "e"], [26627, 0, " "], [26628, 0, "o"], [26629, 0, "p"], [26630, 0, "e"], [26631, 0, "r"], [26632, 0, "a"], [26633, 0, "t"], [26634, 0, "i"], [26635, 0, "o"], [26636, 0, "n"], [26637, 0, " "], [26638, 0, "i"], [26639, 0, "n"], [26640, 0, " "], [26641, 0, "t"], [26642, 0, "h"], [26643, 0, "e"], [26644, 0, " "], [26645, 0, "s"], [26646, 0, "a"], [26647, 0, "m"], [26648, 0, "e"], [26649, 0, " "], [26650, 0, "s"], [26650, 1], [26650, 0, "w"], [26651, 0, "a"], [26652, 0, "y"], [26653, 0, " "], [26654, 0, "a"], [26655, 0, "s"], [26656, 0, " "], [26657, 0, "\\"], [26658, 0, "t"], [26659, 0, "e"], [26660, 0, "x"], [26661, 0, "t"], [26662, 0, "s"], [26663, 0, "c"], [26664, 0, "{"], [26665, 0, "A"], [26666, 0, "p"], [26667, 0, "p"], [26668, 0, "l"], [26669, 0, "y"], [26670, 0, "-"], [26671, 0, "L"], [26672, 0, "o"], [26673, 0, "c"], [26674, 0, "a"], [26675, 0, "l"], [26676, 0, "}"], [26677, 0, ","], [26678, 0, " "], [26679, 0, "a"], [26680, 0, "n"], [26681, 0, "d"], [26682, 0, " "], [26683, 0, "a"], [26684, 0, "d"], [26685, 0, "d"], [26686, 0, "s"], [26687, 0, " "], [26688, 0, "t"], [26689, 0, "h"], [26690, 0, "e"], [26691, 0, " "], [26692, 0, "o"], [26693, 0, "p"], [26694, 0, "e"], [26695, 0, "r"], [26696, 0, "a"], [26697, 0, "t"], [26698, 0, "i"], [26699, 0, "o"], [26700, 0, "n"], [26701, 0, " "], [26702, 0, "I"], [26703, 0, "D"], [26704, 0, " "], [26705, 0, "t"], [26706, 0, "o"], [26707, 0, " "], [26708, 0, "t"], [26709, 0, "h"], [26710, 0, "e"], [26711, 0, " "], [26712, 0, "s"], [26713, 0, "e"], [26714, 0, "t"], [26715, 0, " "], [26716, 0, "o"], [26717, 0, "f"], [26718, 0, " "], [26719, 0, "p"], [26720, 0, "r"], [26721, 0, "o"], [26722, 0, "c"], [26723, 0, "e"], [26724, 0, "s"], [26725, 0, "s"], [26726, 0, "e"], [26727, 0, "d"], [26728, 0, " "], [26729, 0, "o"], [26730, 0, "p"], [26731, 0, "e"], [26732, 0, "r"], [26733, 0, "a"], [26734, 0, "t"], [26735, 0, "i"], [26736, 0, "o"], [26737, 0, "n"], [26738, 0, "s"], [26739, 0, " "], [26740, 0, "$"], [26741, 0, "A"], [26742, 0, "_"], [26743, 0, "p"], [26744, 0, "("], [26745, 0, "\\"], [26746, 0, "m"], [26747, 0, "a"], [26748, 0, "t"], [26749, 0, "h"], [26750, 0, "s"], [26751, 0, "f"], [26752, 0, "{"], [26753, 0, "o"], [26754, 0, "p"], [26755, 0, "s"], [26756, 0, "}"], [26757, 0, ")"], [26758, 0, "$"], [26759, 0, "."], [26760, 0, "\n"], [26761, 0, "\n"], [26762, 0, "T"], [26763, 0, "h"], [26764, 0, "e"], [26765, 0, " "], [26766, 0, "a"], [26767, 0, "c"], [26768, 0, "t"], [26769, 0, "u"], [26770, 0, "a"], [26771, 0, "l"], [26772, 0, " "], [26773, 0, "d"], [26774, 0, "o"], [26775, 0, "c"], [26776, 0, "u"], [26777, 0, "m"], [26778, 0, "e"], [26779, 0, "n"], [26780, 0, "t"], [26781, 0, " "], [26782, 0, "m"], [26783, 0, "o"], [26784, 0, "d"], [26785, 0, "i"], [26786, 0, "f"], [26787, 0, "i"], [26788, 0, "c"], [26789, 0, "a"], [26790, 0, "t"], [26791, 0, "i"], [26792, 0, "o"], [26793, 0, "n"], [26794, 0, "s"], [26795, 0, " "], [26796, 0, "a"], [26797, 0, "r"], [26798, 0, "e"], [26799, 0, " "], [26800, 0, "p"], [26801, 0, "e"], [26802, 0, "r"], [26803, 0, "f"], [26804, 0, "o"], [26805, 0, "r"], [26806, 0, "m"], [26807, 0, "e"], [26808, 0, "d"], [26809, 0, " "], [26810, 0, "b"], [26811, 0, "y"], [26812, 0, " "], [26813, 0, "e"], [26814, 0, "v"], [26815, 0, "a"], [26816, 0, "l"], [26817, 0, "u"], [26818, 0, "a"], [26819, 0, "t"], [26820, 0, "i"], [26821, 0, "o"], [26822, 0, "n"], [26823, 0, "g"], [26823, 1], [26822, 1], [26821, 1], [26821, 0, "n"], [26822, 0, "g"], [26823, 0, " "], [26824, 0, "t"], [26825, 0, "h"], [26826, 0, "e"], [26827, 0, " "], [26828, 0, "o"], [26829, 0, "p"], [26830, 0, "e"], [26831, 0, "r"], [26832, 0, "a"], [26833, 0, "t"], [26834, 0, "i"], [26835, 0, "o"], [26836, 0, "n"], [26837, 0, "s"], [26838, 0, ","], [26839, 0, " "], [26840, 0, "w"], [26841, 0, "h"], [26842, 0, "i"], [26843, 0, "c"], [26844, 0, "h"], [26845, 0, " "], [26846, 0, "w"], [26847, 0, "e"], [26848, 0, " "], [26849, 0, "d"], [26850, 0, "i"], [26851, 0, "s"], [26852, 0, "c"], [26853, 0, "u"], [26854, 0, "s"], [26855, 0, "s"], [26856, 0, " "], [26857, 0, "i"], [26858, 0, "n"], [26859, 0, " "], [26860, 0, "t"], [26861, 0, "h"], [26862, 0, "e"], [26863, 0, " "], [26864, 0, "n"], [26865, 0, "e"], [26866, 0, "t"], [26867, 0, " "], [26868, 0, "s"], [26869, 0, "e"], [26870, 0, "c"], [26871, 0, "t"], [26872, 0, "i"], [26873, 0, "o"], [26874, 0, "n"], [26875, 0, "."], [26866, 0, "x"], [26877, 0, "\n"], [26878, 0, "\n"], [26879, 0, "\\"], [26880, 0, "s"], [26881, 0, "u"], [26882, 0, "b"], [26883, 0, "s"], [26884, 0, "e"], [26885, 0, "c"], [26886, 0, "t"], [26887, 0, "i"], [26888, 0, "o"], [26889, 0, "n"], [26890, 0, "{"], [26891, 0, "A"], [26892, 0, "p"], [26893, 0, "p"], [26894, 0, "l"], [26895, 0, "y"], [26896, 0, "i"], [26897, 0, "n"], [26898, 0, "g"], [26899, 0, " "], [26900, 0, "o"], [26901, 0, "p"], [26902, 0, "e"], [26903, 0, "r"], [26904, 0, "a"], [26905, 0, "t"], [26906, 0, "i"], [26907, 0, "o"], [26908, 0, "n"], [26909, 0, "s"], [26910, 0, "}"], [26911, 0, "%"], [26912, 0, " "], [26913, 0, "T"], [26913, 1], [26912, 1], [26911, 1], [26911, 0, "\n"], [26912, 0, "\n"], [26913, 0, "%"], [26914, 0, " "], [26915, 0, "T"], [26916, 0, "O"], [26917, 0, "D"], [26918, 0, "O"], [26919, 0, "\n"], [26920, 0, "\n"], [26921, 0, "\\"], [26922, 0, "b"], [26923, 0, "e"], [26924, 0, "g"], [26925, 0, "i"], [26926, 0, "n"], [26927, 0, "{"], [26928, 0, "f"], [26929, 0, "i"], [26930, 0, "g"], [26931, 0, "u"], [26932, 0, "r"], [26933, 0, "e"], [26934, 0, "*"], [26935, 0, "}"], [26936, 0, "\n"], [26937, 0, "\\"], [26938, 0, "e"], [26939, 0, "n"], [26940, 0, "d"], [26941, 0, "{"], [26942, 0, "f"], [26943, 0, "i"], [26944, 0, "g"], [26945, 0, "u"], [26946, 0, "r"], [26947, 0, "e"], [26948, 0, "*"], [26949, 0, "}"], [26936, 0, "\n"], [26937, 0, "\\"], [26938, 0, "c"], [26939, 0, "a"], [26940, 0, "p"], [26941, 0, "t"], [26942, 0, "i"], [26943, 0, "o"], [26944, 0, "n"], [26945, 0, "{"], [26946, 0, "R"], [26947, 0, "u"], [26948, 0, "l"], [26949, 0, "e"], [26950, 0, "s"], [26951, 0, " "], [26952, 0, "f"], [26953, 0, "o"], [26954, 0, "r"], [26955, 0, " "], [26956, 0, "e"], [26957, 0, "v"], [26958, 0, "a"], [26959, 0, "l"], [26960, 0, "u"], [26961, 0, "a"], [26962, 0, "t"], [26963, 0, "i"], [26964, 0, "o"], [26965, 0, "n"], [26966, 0, "g"], [26967, 0, " "], [26967, 1], [26966, 1], [26965, 1], [26964, 1], [26963, 1], [26963, 0, "i"], [26964, 0, "n"], [26965, 0, "g"], [26966, 0, " "], [26967, 0, "o"], [26968, 0, "p"], [26969, 0, "e"], [26970, 0, "r"], [26971, 0, "a"], [26972, 0, "t"], [26973, 0, "i"], [26974, 0, "o"], [26975, 0, "n"], [26976, 0, "s"], [26977, 0, " "], [26978, 0, "a"], [26979, 0, "n"], [26980, 0, "d"], [26981, 0, " "], [26982, 0, "m"], [26983, 0, "o"], [26984, 0, "d"], [26985, 0, "i"], [26986, 0, "f"], [26987, 0, "y"], [26988, 0, "i"], [26989, 0, "n"], [26990, 0, "g"], [26991, 0, " "], [26992, 0, "d"], [26993, 0, "o"], [26994, 0, "c"], [26995, 0, "u"], [26996, 0, "m"], [26997, 0, "e"], [26998, 0, "n"], [26999, 0, "t"], [27000, 0, " "], [27001, 0, "s"], [27002, 0, "t"], [27003, 0, "a"], [27004, 0, "t"], [27005, 0, "e"], [27006, 0, "}"], [27007, 0, "\\"], [27008, 0, "f"], [27009, 0, "i"], [27010, 0, "g"], [27010, 1], [27009, 1], [27008, 1], [27008, 0, "l"], [27009, 0, "a"], [27010, 0, "b"], [27011, 0, "e"], [27012, 0, "l"], [27013, 0, "{"], [27014, 0, "f"], [27015, 0, "i"], [27016, 0, "g"], [27017, 0, ":"], [27018, 0, "o"], [27019, 0, "p"], [27020, 0, "e"], [27021, 0, "r"], [27022, 0, "a"], [27023, 0, "t"], [27024, 0, "i"], [27025, 0, "o"], [27026, 0, "n"], [27027, 0, "-"], [27028, 0, "r"], [27029, 0, "u"], [27030, 0, "l"], [27031, 0, "e"], [27032, 0, "s"], [27033, 0, "}"], [26936, 0, "\n"], [26937, 0, "\\"], [26938, 0, "b"], [26939, 0, "e"], [26940, 0, "g"], [26941, 0, "i"], [26942, 0, "n"], [26943, 0, "{"], [26944, 0, "p"], [26945, 0, "r"], [26946, 0, "o"], [26947, 0, "o"], [26948, 0, "f"], [26949, 0, "t"], [26950, 0, "r"], [26951, 0, "e"], [26952, 0, "e"], [26953, 0, "}"], [26954, 0, "\n"], [26955, 0, "\\"], [26956, 0, "e"], [26957, 0, "n"], [26958, 0, "d"], [26959, 0, "{"], [26960, 0, "p"], [26961, 0, "r"], [26962, 0, "o"], [26963, 0, "o"], [26964, 0, "f"], [26965, 0, "t"], [26966, 0, "r"], [26967, 0, "e"], [26968, 0, "e"], [26969, 0, "}"], [26954, 0, "\n"], [26955, 0, "\\"], [26956, 0, "A"], [26957, 0, "x"], [26958, 0, "i"], [26959, 0, "o"], [26960, 0, "m"], [26961, 0, "C"], [26962, 0, "{"], [26963, 0, "$"], [26964, 0, "K"], [26964, 1], [26964, 0, "k"], [26965, 0, "_"], [26966, 0, "1"], [26967, 0, " "], [26968, 0, "\\"], [26969, 0, "i"], [26970, 0, "n"], [26971, 0, " "], [26972, 0, "\\"], [26973, 0, "m"], [26974, 0, "a"], [26975, 0, "t"], [26976, 0, "h"], [26977, 0, "r"], [26978, 0, "m"], [26979, 0, "{"], [26980, 0, "d"], [26981, 0, "o"], [26982, 0, "m"], [26983, 0, "}"], [26984, 0, "("], [26985, 0, "\\"], [26986, 0, "m"], [26987, 0, "a"], [26988, 0, "t"], [26989, 0, "h"], [26990, 0, "i"], [26991, 0, "t"], [26992, 0, "{"], [26993, 0, "c"], [26994, 0, "t"], [26995, 0, "x"], [26996, 0, "}"], [26997, 0, ")"], [26998, 0, "$"], [26999, 0, "}"], [27000, 0, "\n"], [27001, 0, "\\"], [27002, 0, "A"], [27003, 0, "x"], [27004, 0, "i"], [27005, 0, "o"], [27006, 0, "m"], [27007, 0, "C"], [27008, 0, "{"], [27009, 0, "$"], [27010, 0, "\\"], [27011, 0, "m"], [27012, 0, "a"], [27013, 0, "t"], [27014, 0, "h"], [27015, 0, "i"], [27016, 0, "t"], [27017, 0, "{"], [27018, 0, "c"], [27019, 0, "t"], [27020, 0, "x"], [27021, 0, "}"], [27022, 0, "("], [27023, 0, "k"], [27024, 0, "_"], [27025, 0, "1"], [27026, 0, ")"], [27027, 0, ","], [27028, 0, "\\"], [27029, 0, ","], [27030, 0, " "], [27031, 0, "\\"], [27032, 0, "m"], [27033, 0, "a"], [27034, 0, "t"], [27035, 0, "h"], [27036, 0, "s"], [27037, 0, "f"], [27038, 0, "{"], [27039, 0, "o"], [27040, 0, "p"], [27041, 0, "}"], [27042, 0, "("], [27043, 0, "\\"], [27044, 0, "m"], [27045, 0, "a"], [27046, 0, "t"], [27047, 0, "h"], [27048, 0, "i"], [27049, 0, "t"], [27050, 0, "{"], [27051, 0, "i"], [27052, 0, "d"], [27053, 0, "}"], [27054, 0, ","], [27055, 0, " "], [27056, 0, "\\"], [27057, 0, "m"], [27058, 0, "a"], [27059, 0, "t"], [27060, 0, "h"], [27061, 0, "i"], [27062, 0, "t"], [27063, 0, "{"], [27064, 0, "d"], [27065, 0, "e"], [27066, 0, "p"], [27067, 0, "s"], [27068, 0, "}"], [27069, 0, ","], [27070, 0, " "], [27070, 1], [27070, 0, "\n"], [27071, 0, " "], [27072, 0, " "], [27073, 0, " "], [27074, 0, " "], [27075, 0, "\\"], [27076, 0, "m"], [27077, 0, "a"], [27078, 0, "t"], [27079, 0, "h"], [27080, 0, "s"], [27081, 0, "f"], [27082, 0, "{"], [27083, 0, "c"], [27084, 0, "u"], [27085, 0, "r"], [27086, 0, "s"], [27087, 0, "o"], [27088, 0, "r"], [27089, 0, "}"], [27090, 0, "("], [27091, 0, "\\"], [27092, 0, "l"], [27093, 0, "a"], [27094, 0, "n"], [27095, 0, "g"], [27096, 0, "l"], [27097, 0, "e"], [27098, 0, " "], [27099, 0, "k"], [27100, 0, "_"], [27101, 0, "2"], [27102, 0, ","], [27103, 0, " "], [27104, 0, "\\"], [27105, 0, "d"], [27106, 0, "o"], [27107, 0, "t"], [27108, 0, "s"], [27109, 0, ","], [27110, 0, " "], [27111, 0, "k"], [27112, 0, "_"], [27113, 0, "{"], [27114, 0, "n"], [27115, 0, "-"], [27116, 0, "1"], [27117, 0, "}"], [27118, 0, " "], [27119, 0, "\\"], [27120, 0, "r"], [27121, 0, "a"], [27122, 0, "n"], [27123, 0, "g"], [27124, 0, "l"], [27125, 0, "e"], [27126, 0, ","], [27127, 0, "\\"], [27128, 0, ","], [27129, 0, " "], [27130, 0, "k"], [27131, 0, "_"], [27132, 0, "n"], [27133, 0, ")"], [27134, 0, ","], [27135, 0, " "], [27136, 0, "\\"], [27137, 0, "m"], [27138, 0, "a"], [27139, 0, "t"], [27140, 0, "h"], [27141, 0, "i"], [27142, 0, "t"], [27143, 0, "{"], [27144, 0, "m"], [27145, 0, "u"], [27146, 0, "t"], [27147, 0, "}"], [27148, 0, ")"], [27149, 0, " "], [27150, 0, "\\"], [27151, 0, "e"], [27152, 0, "v"], [27153, 0, "a"], [27154, 0, "l"], [27155, 0, "t"], [27156, 0, "o"], [27157, 0, " "], [27158, 0, "\\"], [27159, 0, "m"], [27160, 0, "a"], [27161, 0, "t"], [27162, 0, "h"], [27163, 0, "i"], [27164, 0, "t"], [27165, 0, "{"], [27166, 0, "s"], [27167, 0, "t"], [27168, 0, "a"], [27169, 0, "t"], [27170, 0, "e"], [27171, 0, "}"], [27172, 0, "$"], [27173, 0, "}"], [27174, 0, "\n"], [27175, 0, "\\"], [27176, 0, "L"], [27177, 0, "e"], [27178, 0, "f"], [27179, 0, "t"], [27180, 0, "L"], [27181, 0, "a"], [27182, 0, "b"], [27183, 0, "e"], [27184, 0, "l"], [27185, 0, "{"], [27186, 0, "\\"], [27187, 0, "t"], [27188, 0, "e"], [27189, 0, "x"], [27190, 0, "t"], [27191, 0, "s"], [27192, 0, "c"], [27193, 0, "{"], [27194, 0, "D"], [27195, 0, "e"], [27196, 0, "s"], [27197, 0, "c"], [27198, 0, "e"], [27199, 0, "n"], [27200, 0, "d"], [27201, 0, "}"], [27202, 0, "}"], [27203, 0, "\n"], [27204, 0, "\\"], [27205, 0, "B"], [27206, 0, "i"], [27207, 0, "n"], [27208, 0, "a"], [27209, 0, "r"], [27210, 0, "y"], [27211, 0, "I"], [27212, 0, "n"], [27213, 0, "f"], [27214, 0, "C"], [27215, 0, "{"], [27216, 0, "$"], [27217, 0, "$"], [27218, 0, "}"], [27217, 0, "\\"], [27218, 0, "m"], [27219, 0, "a"], [27220, 0, "t"], [27221, 0, "h"], [27222, 0, "i"], [27223, 0, "t"], [27224, 0, "{"], [27225, 0, "c"], [27226, 0, "t"], [27227, 0, "x"], [27228, 0, "}"], [27229, 0, ","], [27230, 0, "\\"], [27231, 0, ","], [27232, 0, " "], [27233, 0, "\\"], [27234, 0, "m"], [27235, 0, "a"], [27236, 0, "t"], [27237, 0, "h"], [27238, 0, "s"], [27239, 0, "f"], [27240, 0, "{"], [27241, 0, "o"], [27242, 0, "p"], [27243, 0, "}"], [27244, 0, "("], [27245, 0, "\\"], [27246, 0, "m"], [27247, 0, "a"], [27248, 0, "t"], [27249, 0, "h"], [27250, 0, "i"], [27251, 0, "t"], [27252, 0, "{"], [27253, 0, "i"], [27254, 0, "d"], [27255, 0, "}"], [27256, 0, ","], [27257, 0, " "], [27258, 0, "\\"], [27259, 0, "m"], [27260, 0, "a"], [27261, 0, "t"], [27262, 0, "h"], [27263, 0, "i"], [27264, 0, "t"], [27265, 0, "{"], [27266, 0, "d"], [27267, 0, "e"], [27268, 0, "p"], [27269, 0, "s"], [27270, 0, "}"], [27271, 0, ","], [27272, 0, "\n"], [27273, 0, " "], [27274, 0, " "], [27275, 0, " "], [27276, 0, " "], [27277, 0, "\\"], [27278, 0, "m"], [27279, 0, "a"], [27280, 0, "t"], [27281, 0, "h"], [27282, 0, "s"], [27283, 0, "f"], [27284, 0, "{"], [27285, 0, "c"], [27286, 0, "u"], [27287, 0, "r"], [27288, 0, "s"], [27289, 0, "o"], [27290, 0, "r"], [27291, 0, "}"], [27292, 0, "("], [27293, 0, "\\"], [27294, 0, "l"], [27295, 0, "a"], [27296, 0, "n"], [27297, 0, "g"], [27298, 0, "l"], [27299, 0, "e"], [27300, 0, " "], [27301, 0, "k"], [27302, 0, "_"], [27303, 0, "1"], [27304, 0, ","], [27305, 0, " "], [27306, 0, "k"], [27307, 0, "_"], [27308, 0, "2"], [27309, 0, ","], [27310, 0, " "], [27311, 0, "\\"], [27312, 0, "d"], [27313, 0, "o"], [27314, 0, "t"], [27315, 0, "s"], [27316, 0, ","], [27317, 0, " "], [27318, 0, "k"], [27319, 0, "_"], [27320, 0, "{"], [27321, 0, "n"], [27322, 0, "-"], [27323, 0, "1"], [27324, 0, "}"], [27325, 0, " "], [27326, 0, "\\"], [27327, 0, "r"], [27328, 0, "a"], [27329, 0, "n"], [27330, 0, "g"], [27331, 0, "l"], [27332, 0, "e"], [27333, 0, ","], [27334, 0, "\\"], [27335, 0, ","], [27336, 0, " "], [27337, 0, "k"], [27338, 0, "_"], [27339, 0, "n"], [27340, 0, ")"], [27341, 0, ","], [27342, 0, " "], [27343, 0, "\\"], [27344, 0, "m"], [27345, 0, "a"], [27346, 0, "t"], [27347, 0, "h"], [27348, 0, "i"], [27349, 0, "t"], [27350, 0, "{"], [27351, 0, "m"], [27352, 0, "u"], [27353, 0, "t"], [27354, 0, "}"], [27355, 0, ")"], [27356, 0, " "], [27357, 0, "\\"], [27358, 0, "e"], [27359, 0, "v"], [27360, 0, "a"], [27361, 0, "l"], [27362, 0, "t"], [27363, 0, "o"], [27364, 0, "\n"], [27365, 0, " "], [27366, 0, " "], [27367, 0, " "], [27368, 0, " "], [27369, 0, "\\"], [27370, 0, "m"], [27371, 0, "a"], [27372, 0, "t"], [27373, 0, "h"], [27374, 0, "i"], [27375, 0, "t"], [27376, 0, "{"], [27377, 0, "c"], [27378, 0, "t"], [27379, 0, "x"], [27380, 0, "}"], [27381, 0, "["], [27382, 0, "\\"], [27383, 0, ","], [27384, 0, " "], [27385, 0, "k"], [27386, 0, "_"], [27387, 0, "1"], [27388, 0, " "], [27389, 0, "\\"], [27390, 0, "m"], [27391, 0, "a"], [27392, 0, "p"], [27393, 0, "s"], [27394, 0, "t"], [27395, 0, "o"], [27396, 0, " "], [27397, 0, "\\"], [27398, 0, "m"], [27399, 0, "a"], [27400, 0, "t"], [27401, 0, "h"], [27402, 0, "i"], [27403, 0, "t"], [27404, 0, "{"], [27405, 0, "s"], [27406, 0, "t"], [27407, 0, "a"], [27408, 0, "t"], [27409, 0, "e"], [27410, 0, "}"], [27411, 0, " "], [27412, 0, "\\"], [27413, 0, ","], [27414, 0, "]"], [27389, 0, ","], [27389, 0, "\\"], [27398, 0, "\\"], [27399, 0, ","], [27437, 0, "\n"], [27438, 0, "\n"], [27439, 0, "\\"], [27440, 0, "b"], [27441, 0, "e"], [27442, 0, "g"], [27443, 0, "i"], [27444, 0, "n"], [27445, 0, "{"], [27446, 0, "p"], [27447, 0, "r"], [27448, 0, "o"], [27449, 0, "o"], [27450, 0, "f"], [27451, 0, "t"], [27452, 0, "r"], [27453, 0, "e"], [27454, 0, "e"], [27455, 0, "}"], [27456, 0, "\n"], [27457, 0, "\\"], [27458, 0, "e"], [27459, 0, "n"], [27460, 0, "d"], [27461, 0, "{"], [27462, 0, "p"], [27463, 0, "r"], [27464, 0, "o"], [27465, 0, "o"], [27466, 0, "f"], [27467, 0, "t"], [27468, 0, "r"], [27469, 0, "e"], [27470, 0, "e"], [27471, 0, "}"], [27456, 0, "\n"], [27457, 0, "\\"], [27458, 0, "A"], [27459, 0, "x"], [27460, 0, "i"], [27461, 0, "o"], [27462, 0, "m"], [27463, 0, "C"], [27464, 0, "{"], [27465, 0, "$"], [27466, 0, "k"], [27467, 0, "_"], [27468, 0, "1"], [27469, 0, " "], [27470, 0, "\\"], [27471, 0, "n"], [27472, 0, "o"], [27473, 0, "t"], [27474, 0, "i"], [27475, 0, "n"], [27476, 0, " "], [27477, 0, "\\"], [27478, 0, "m"], [27479, 0, "a"], [27480, 0, "t"], [27481, 0, "h"], [27482, 0, "r"], [27483, 0, "m"], [27484, 0, "{"], [27485, 0, "d"], [27486, 0, "o"], [27487, 0, "m"], [27488, 0, "}"], [27489, 0, "("], [27490, 0, "\\"], [27491, 0, "m"], [27492, 0, "a"], [27493, 0, "t"], [27494, 0, "h"], [27495, 0, "i"], [27496, 0, "t"], [27497, 0, "{"], [27498, 0, "c"], [27499, 0, "t"], [27500, 0, "x"], [27501, 0, "}"], [27502, 0, ")"], [27503, 0, "$"], [27504, 0, "}"], [27505, 0, "\n"], [27506, 0, "\\"], [27507, 0, "A"], [27508, 0, "x"], [27509, 0, "i"], [27510, 0, "o"], [27511, 0, "m"], [27512, 0, "C"], [27513, 0, "{"], [27514, 0, "$"], [27515, 0, "k"], [27516, 0, "_"], [27517, 0, "1"], [27518, 0, " "], [27519, 0, "="], [27520, 0, " "], [27521, 0, "\\"], [27522, 0, "m"], [27523, 0, "a"], [27524, 0, "t"], [27525, 0, "h"], [27526, 0, "s"], [27527, 0, "f"], [27528, 0, "{"], [27529, 0, "m"], [27530, 0, "a"], [27531, 0, "p"], [27532, 0, "T"], [27533, 0, "}"], [27534, 0, "("], [27535, 0, "k"], [27536, 0, "_"], [27537, 0, "\\"], [27538, 0, "m"], [27539, 0, "a"], [27540, 0, "t"], [27541, 0, "h"], [27542, 0, "i"], [27543, 0, "t"], [27544, 0, "{"], [27545, 0, "n"], [27546, 0, "e"], [27547, 0, "w"], [27548, 0, "}"], [27549, 0, ")"], [27550, 0, "$"], [27551, 0, "}"], [27552, 0, "\n"], [27553, 0, "\\"], [27554, 0, "L"], [27555, 0, "e"], [27556, 0, "f"], [27556, 1], [27555, 1], [27554, 1], [27554, 0, "A"], [27555, 0, "x"], [27556, 0, "i"], [27557, 0, "o"], [27558, 0, "m"], [27559, 0, "C"], [27560, 0, "{"], [27561, 0, "$"], [27562, 0, "\\"], [27563, 0, "{"], [27564, 0, "\\"], [27565, 0, "}"], [27566, 0, ","], [27567, 0, "\\"], [27568, 0, ","], [27569, 0, " "], [27570, 0, "\\"], [27571, 0, "m"], [27572, 0, "a"], [27573, 0, "t"], [27574, 0, "h"], [27575, 0, "s"], [27576, 0, "f"], [27577, 0, "{"], [27578, 0, "o"], [27579, 0, "p"], [27580, 0, "}"], [27581, 0, "{"], [27582, 0, "\\"], [27583, 0, "m"], [27584, 0, "a"], [27585, 0, "t"], [27586, 0, "h"], [27587, 0, "i"], [27588, 0, "t"], [27589, 0, "{"], [27590, 0, "i"], [27591, 0, "d"], [27592, 0, "}"], [27593, 0, ","], [27594, 0, " "], [27595, 0, "\\"], [27596, 0, "m"], [27597, 0, "a"], [27598, 0, "t"], [27599, 0, "h"], [27600, 0, "i"], [27601, 0, "t"], [27602, 0, "{"], [27603, 0, "d"], [27604, 0, "e"], [27605, 0, "p"], [27606, 0, "s"], [27607, 0, "}"], [27608, 0, ","], [27609, 0, "\n"], [27610, 0, " "], [27611, 0, " "], [27612, 0, " "], [27613, 0, " "], [27614, 0, "\\"], [27615, 0, "m"], [27616, 0, "a"], [27617, 0, "t"], [27618, 0, "h"], [27619, 0, "s"], [27620, 0, "f"], [27621, 0, "{"], [27622, 0, "c"], [27623, 0, "u"], [27624, 0, "r"], [27625, 0, "s"], [27626, 0, "o"], [27627, 0, "r"], [27628, 0, "}"], [27629, 0, "("], [27630, 0, "\\"], [27631, 0, "l"], [27632, 0, "a"], [27633, 0, "n"], [27634, 0, "g"], [27635, 0, "l"], [27636, 0, "e"], [27637, 0, " "], [27638, 0, "k"], [27639, 0, "_"], [27640, 0, "2"], [27641, 0, ","], [27642, 0, " "], [27643, 0, "\\"], [27644, 0, "d"], [27645, 0, "o"], [27646, 0, "t"], [27647, 0, "s"], [27648, 0, ","], [27649, 0, " "], [27650, 0, "k"], [27651, 0, "_"], [27652, 0, "{"], [27653, 0, "n"], [27654, 0, "-"], [27655, 0, "1"], [27656, 0, "}"], [27657, 0, " "], [27658, 0, "\\"], [27659, 0, "r"], [27660, 0, "a"], [27661, 0, "n"], [27662, 0, "g"], [27663, 0, "l"], [27664, 0, "e"], [27665, 0, ","], [27666, 0, "\\"], [27667, 0, ","], [27668, 0, " "], [27669, 0, "k"], [27670, 0, "_"], [27671, 0, "n"], [27672, 0, ")"], [27673, 0, ","], [27674, 0, " "], [27675, 0, "\\"], [27676, 0, "m"], [27677, 0, "a"], [27678, 0, "t"], [27679, 0, "h"], [27680, 0, "i"], [27681, 0, "t"], [27682, 0, "{"], [27683, 0, "m"], [27684, 0, "u"], [27685, 0, "t"], [27686, 0, "}"], [27687, 0, ")"], [27688, 0, " "], [27689, 0, "\\"], [27690, 0, "e"], [27691, 0, "v"], [27692, 0, "a"], [27693, 0, "l"], [27694, 0, "t"], [27695, 0, "o"], [27696, 0, " "], [27697, 0, "\\"], [27698, 0, "m"], [27699, 0, "a"], [27700, 0, "t"], [27701, 0, "h"], [27702, 0, "i"], [27703, 0, "t"], [27704, 0, "{"], [27705, 0, "s"], [27706, 0, "t"], [27707, 0, "a"], [27708, 0, "t"], [27709, 0, "e"], [27710, 0, "}"], [27711, 0, "$"], [27712, 0, "}"], [27713, 0, "\n"], [27714, 0, "\\"], [27715, 0, "L"], [27716, 0, "e"], [27717, 0, "f"], [27718, 0, "t"], [27719, 0, "L"], [27720, 0, "a"], [27721, 0, "b"], [27722, 0, "e"], [27723, 0, "l"], [27724, 0, "{"], [27725, 0, "\\"], [27726, 0, "t"], [27727, 0, "e"], [27728, 0, "x"], [27729, 0, "t"], [27730, 0, "s"], [27731, 0, "c"], [27732, 0, "{"], [27733, 0, "D"], [27734, 0, "e"], [27735, 0, "f"], [27736, 0, "-"], [27737, 0, "M"], [27738, 0, "a"], [27739, 0, "p"], [27740, 0, "}"], [27741, 0, "}"], [27742, 0, "\n"], [27743, 0, "\\"], [27744, 0, "T"], [27745, 0, "r"], [27746, 0, "i"], [27747, 0, "n"], [27748, 0, "a"], [27749, 0, "r"], [27750, 0, "y"], [27751, 0, "I"], [27752, 0, "n"], [27753, 0, "f"], [27754, 0, "C"], [27755, 0, "{"], [27756, 0, "$"], [27757, 0, "\\"], [27758, 0, "m"], [27759, 0, "a"], [27760, 0, "t"], [27761, 0, "h"], [27762, 0, "i"], [27763, 0, "t"], [27764, 0, "{"], [27765, 0, "c"], [27766, 0, "t"], [27767, 0, "x"], [27768, 0, "}"], [27769, 0, ","], [27770, 0, "\\"], [27771, 0, ","], [27772, 0, " "], [27773, 0, "\\"], [27774, 0, "m"], [27775, 0, "a"], [27776, 0, "t"], [27777, 0, "h"], [27778, 0, "i"], [27778, 1], [27778, 0, "s"], [27779, 0, "f"], [27780, 0, "{"], [27781, 0, "o"], [27782, 0, "p"], [27783, 0, "}"], [27784, 0, "("], [27785, 0, "\\"], [27786, 0, "m"], [27787, 0, "a"], [27788, 0, "t"], [27789, 0, "h"], [27790, 0, "i"], [27791, 0, "t"], [27792, 0, "{"], [27793, 0, "i"], [27794, 0, "d"], [27795, 0, "}"], [27796, 0, ","], [27797, 0, " "], [27798, 0, "\\"], [27799, 0, "m"], [27800, 0, "a"], [27801, 0, "t"], [27802, 0, "h"], [27803, 0, "i"], [27804, 0, "t"], [27805, 0, "{"], [27806, 0, "d"], [27807, 0, "e"], [27808, 0, "p"], [27809, 0, "s"], [27810, 0, "}"], [27811, 0, ","], [27812, 0, "\n"], [27813, 0, " "], [27814, 0, " "], [27815, 0, "\\"], [27816, 0, "m"], [27817, 0, "a"], [27818, 0, "t"], [27819, 0, "h"], [27820, 0, "s"], [27821, 0, "f"], [27813, 0, " "], [27814, 0, " "], [27824, 0, "{"], [27825, 0, "c"], [27826, 0, "u"], [27827, 0, "r"], [27828, 0, "s"], [27829, 0, "o"], [27830, 0, "r"], [27831, 0, "}"], [27832, 0, "("], [27833, 0, "\\"], [27834, 0, "l"], [27835, 0, "a"], [27836, 0, "n"], [27837, 0, "g"], [27838, 0, "l"], [27839, 0, "e"], [27840, 0, " "], [27841, 0, "k"], [27842, 0, "_"], [27843, 0, "1"], [27844, 0, ","], [27845, 0, " "], [27846, 0, "k"], [27847, 0, "_"], [27848, 0, "2"], [27849, 0, ","], [27850, 0, " "], [27851, 0, "\\"], [27852, 0, "d"], [27853, 0, "o"], [27854, 0, "t"], [27855, 0, "s"], [27856, 0, ","], [27857, 0, " "], [27858, 0, "k"], [27859, 0, "_"], [27860, 0, "{"], [27861, 0, "n"], [27862, 0, "-"], [27863, 0, "1"], [27864, 0, "}"], [27865, 0, " "], [27866, 0, "\\"], [27867, 0, "r"], [27868, 0, "a"], [27869, 0, "n"], [27870, 0, "g"], [27871, 0, "l"], [27872, 0, "e"], [27873, 0, ","], [27874, 0, "\\"], [27875, 0, ","], [27876, 0, " "], [27877, 0, "k"], [27878, 0, "_"], [27879, 0, "n"], [27880, 0, ")"], [27881, 0, ","], [27882, 0, " "], [27883, 0, "\\"], [27884, 0, "m"], [27885, 0, "a"], [27886, 0, "t"], [27887, 0, "h"], [27888, 0, "i"], [27889, 0, "t"], [27890, 0, "{"], [27891, 0, "m"], [27892, 0, "u"], [27893, 0, "t"], [27894, 0, "}"], [27895, 0, ")"], [27896, 0, " "], [27897, 0, "\\"], [27898, 0, "e"], [27899, 0, "v"], [27900, 0, "a"], [27901, 0, "l"], [27902, 0, "t"], [27903, 0, "o"], [27904, 0, "\n"], [27905, 0, " "], [27906, 0, " "], [27907, 0, " "], [27908, 0, " "], [27909, 0, "\\"], [27910, 0, "m"], [27911, 0, "a"], [27912, 0, "t"], [27913, 0, "h"], [27914, 0, "i"], [27915, 0, "t"], [27916, 0, "{"], [27917, 0, "c"], [27918, 0, "t"], [27919, 0, "x"], [27920, 0, "}"], [27921, 0, "["], [27922, 0, "\\"], [27923, 0, ","], [27924, 0, " "], [27925, 0, "k"], [27926, 0, "_"], [27927, 0, "1"], [27928, 0, " "], [27929, 0, "\\"], [27930, 0, ","], [27931, 0, "\\"], [27932, 0, "m"], [27933, 0, "a"], [27934, 0, "p"], [27935, 0, "s"], [27936, 0, "t"], [27937, 0, "o"], [27938, 0, " "], [27938, 1], [27938, 0, "\\"], [27939, 0, ","], [27940, 0, " "], [27941, 0, "\\"], [27942, 0, "m"], [27943, 0, "a"], [27944, 0, "t"], [27945, 0, "h"], [27946, 0, "i"], [27947, 0, "t"], [27948, 0, "{"], [27949, 0, "s"], [27950, 0, "t"], [27951, 0, "a"], [27952, 0, "t"], [27953, 0, "e"], [27954, 0, "}"], [27955, 0, " "], [27956, 0, "\\"], [27957, 0, ","], [27958, 0, "]"], [27959, 0, "$"], [27960, 0, "}"], [27581, 1], [27581, 0, "("], [27977, 0, "\n"], [27978, 0, "\n"], [27979, 0, "\\"], [27980, 0, "b"], [27981, 0, "e"], [27982, 0, "g"], [27983, 0, "i"], [27984, 0, "n"], [27985, 0, "{"], [27986, 0, "p"], [27987, 0, "r"], [27988, 0, "o"], [27989, 0, "o"], [27990, 0, "f"], [27991, 0, "t"], [27992, 0, "r"], [27993, 0, "e"], [27994, 0, "e"], [27995, 0, "}"], [27996, 0, "\n"], [27997, 0, "\\"], [27998, 0, "A"], [27999, 0, "x"], [28000, 0, "i"], [28001, 0, "o"], [28002, 0, "m"], [28003, 0, "C"], [28004, 0, "{"], [28005, 0, "$"], [28006, 0, "k"], [28007, 0, "_"], [28008, 0, "1"], [28009, 0, " "], [28010, 0, "\\"], [28011, 0, "n"], [28012, 0, "o"], [28013, 0, "t"], [28014, 0, "i"], [28015, 0, "n"], [28016, 0, " "], [28017, 0, "\\"], [28018, 0, "m"], [28019, 0, "a"], [28020, 0, "t"], [28021, 0, "h"], [28022, 0, "r"], [28023, 0, "m"], [28024, 0, "{"], [28025, 0, "d"], [28026, 0, "o"], [28027, 0, "m"], [28028, 0, "}"], [28029, 0, "("], [28030, 0, "\\"], [28031, 0, "m"], [28032, 0, "a"], [28033, 0, "t"], [28034, 0, "h"], [28035, 0, "i"], [28036, 0, "t"], [28037, 0, "{"], [28038, 0, "c"], [28039, 0, "t"], [28040, 0, "x"], [28041, 0, "}"], [28042, 0, ")"], [28043, 0, "$"], [28044, 0, "}"], [28045, 0, "\n"], [28046, 0, "\\"], [28047, 0, "A"], [28048, 0, "x"], [28049, 0, "i"], [28050, 0, "o"], [28051, 0, "m"], [28052, 0, "C"], [28053, 0, "{"], [28054, 0, "$"], [28055, 0, "k"], [28056, 0, "_"], [28057, 0, "1"], [28058, 0, " "], [28059, 0, "="], [28060, 0, " "], [28061, 0, "\\"], [28062, 0, "m"], [28063, 0, "a"], [28064, 0, "t"], [28065, 0, "h"], [28066, 0, "s"], [28067, 0, "f"], [28068, 0, "{"], [28069, 0, "l"], [28070, 0, "i"], [28071, 0, "s"], [28072, 0, "t"], [28073, 0, "T"], [28074, 0, "}"], [28075, 0, "("], [28076, 0, "k"], [28077, 0, "_"], [28078, 0, "\\"], [28079, 0, "m"], [28080, 0, "a"], [28081, 0, "t"], [28082, 0, "h"], [28083, 0, "i"], [28084, 0, "t"], [28085, 0, "{"], [28086, 0, "n"], [28087, 0, "e"], [28088, 0, "w"], [28089, 0, "}"], [28090, 0, ")"], [28091, 0, "$"], [28092, 0, "}"], [28093, 0, "\n"], [28094, 0, "\\"], [28095, 0, "A"], [28096, 0, "x"], [28097, 0, "i"], [28098, 0, "o"], [28099, 0, "m"], [28100, 0, "C"], [28101, 0, "{"], [28102, 0, "$"], [28103, 0, "\\"], [28104, 0, "{"], [28105, 0, " "], [28106, 0, "\\"], [28107, 0, "m"], [28108, 0, "a"], [28108, 1], [28107, 1], [28106, 1], [28105, 1], [28105, 0, "\\"], [28106, 0, "m"], [28107, 0, "a"], [28108, 0, "t"], [28109, 0, "h"], [28110, 0, "s"], [28111, 0, "f"], [28112, 0, "{"], [28113, 0, "n"], [28114, 0, "e"], [28115, 0, "x"], [28116, 0, "t"], [28117, 0, "}"], [28118, 0, "("], [28119, 0, "\\"], [28120, 0, "m"], [28121, 0, "a"], [28122, 0, "t"], [28123, 0, "h"], [28124, 0, "s"], [28125, 0, "f"], [28126, 0, "{"], [28127, 0, "h"], [28128, 0, "e"], [28129, 0, "a"], [28130, 0, "d"], [28131, 0, "}"], [28132, 0, ")"], [28133, 0, " "], [28134, 0, "\\"], [28135, 0, "m"], [28136, 0, "a"], [28137, 0, "p"], [28138, 0, "s"], [28139, 0, "t"], [28140, 0, "o"], [28141, 0, " "], [28142, 0, "\\"], [28143, 0, "m"], [28144, 0, "a"], [28145, 0, "t"], [28146, 0, "h"], [28147, 0, "s"], [28148, 0, "f"], [28149, 0, "{"], [28150, 0, "t"], [28151, 0, "a"], [28152, 0, "i"], [28153, 0, "l"], [28154, 0, "}"], [28155, 0, "\\"], [28156, 0, "}"], [28157, 0, ","], [28158, 0, " "], [28159, 0, "\\"], [28160, 0, "m"], [28161, 0, "a"], [28162, 0, "t"], [28163, 0, "h"], [28164, 0, "s"], [28165, 0, "f"], [28166, 0, "{"], [28167, 0, "o"], [28168, 0, "p"], [28169, 0, "}"], [28170, 0, "("], [28171, 0, "\\"], [28172, 0, "m"], [28173, 0, "a"], [28174, 0, "t"], [28175, 0, "h"], [28176, 0, "i"], [28177, 0, "t"], [28178, 0, "{"], [28179, 0, "i"], [28180, 0, "d"], [28181, 0, "}"], [28182, 0, ","], [28183, 0, " "], [28184, 0, "\\"], [28185, 0, "m"], [28186, 0, "a"], [28187, 0, "t"], [28188, 0, "h"], [28189, 0, "i"], [28190, 0, "t"], [28191, 0, "{"], [28192, 0, "d"], [28193, 0, "e"], [28194, 0, "p"], [28195, 0, "s"], [28196, 0, "}"], [28197, 0, ","], [28198, 0, "\n"], [28199, 0, " "], [28200, 0, " "], [28201, 0, " "], [28202, 0, " "], [28203, 0, "\\"], [28204, 0, "m"], [28205, 0, "a"], [28206, 0, "t"], [28207, 0, "h"], [28208, 0, "s"], [28209, 0, "f"], [28210, 0, "{"], [28211, 0, "c"], [28212, 0, "u"], [28213, 0, "r"], [28214, 0, "s"], [28215, 0, "o"], [28216, 0, "r"], [28217, 0, "}"], [28218, 0, "("], [28219, 0, "\\"], [28220, 0, "l"], [28221, 0, "a"], [28222, 0, "n"], [28223, 0, "g"], [28224, 0, "l"], [28225, 0, "e"], [28226, 0, " "], [28227, 0, "k"], [28228, 0, "_"], [28229, 0, "2"], [28230, 0, ","], [28231, 0, " "], [28232, 0, "\\"], [28233, 0, "d"], [28234, 0, "o"], [28235, 0, "t"], [28236, 0, "s"], [28237, 0, ","], [28238, 0, " "], [28239, 0, "k"], [28240, 0, "_"], [28241, 0, "{"], [28242, 0, "n"], [28243, 0, "-"], [28244, 0, "1"], [28245, 0, "}"], [28246, 0, " "], [28247, 0, "\\"], [28248, 0, "r"], [28249, 0, "a"], [28250, 0, "n"], [28251, 0, "g"], [28252, 0, "l"], [28253, 0, "e"], [28254, 0, ","], [28255, 0, "\\"], [28256, 0, ","], [28257, 0, " "], [28258, 0, "k"], [28259, 0, "_"], [28260, 0, "n"], [28261, 0, ")"], [28262, 0, ","], [28263, 0, " "], [28264, 0, "\\"], [28265, 0, "m"], [28266, 0, "a"], [28267, 0, "t"], [28268, 0, "h"], [28269, 0, "i"], [28270, 0, "t"], [28271, 0, "{"], [28272, 0, "m"], [28273, 0, "u"], [28274, 0, "t"], [28275, 0, "}"], [28276, 0, ")"], [28277, 0, " "], [28278, 0, "\\"], [28279, 0, "e"], [28280, 0, "v"], [28281, 0, "a"], [28282, 0, "l"], [28283, 0, "t"], [28284, 0, "o"], [28285, 0, " "], [28286, 0, "\\"], [28287, 0, "m"], [28288, 0, "a"], [28289, 0, "t"], [28290, 0, "h"], [28291, 0, "i"], [28292, 0, "t"], [28293, 0, "{"], [28294, 0, "s"], [28295, 0, "t"], [28296, 0, "a"], [28297, 0, "t"], [28298, 0, "e"], [28299, 0, "}"], [28300, 0, "$"], [28301, 0, "}"], [28302, 0, "\n"], [28303, 0, "\\"], [28304, 0, "L"], [28305, 0, "e"], [28306, 0, "f"], [28307, 0, "t"], [28308, 0, "L"], [28309, 0, "a"], [28310, 0, "b"], [28311, 0, "e"], [28312, 0, "l"], [28313, 0, "{"], [28314, 0, "\\"], [28315, 0, "t"], [28316, 0, "e"], [28317, 0, "x"], [28318, 0, "t"], [28319, 0, "s"], [28320, 0, "c"], [28321, 0, "{"], [28322, 0, "D"], [28323, 0, "e"], [28324, 0, "f"], [28325, 0, "-"], [28326, 0, "L"], [28327, 0, "i"], [28328, 0, "s"], [28329, 0, "t"], [28330, 0, "}"], [28331, 0, "}"], [28332, 0, "\n"], [28333, 0, "\\"], [28334, 0, "T"], [28335, 0, "r"], [28336, 0, "i"], [28337, 0, "n"], [28338, 0, "a"], [28339, 0, "r"], [28340, 0, "y"], [28341, 0, "I"], [28342, 0, "n"], [28343, 0, "f"], [28344, 0, "C"], [28345, 0, "{"], [28346, 0, "$"], [28347, 0, "\\"], [28348, 0, "m"], [28349, 0, "a"], [28350, 0, "t"], [28351, 0, "h"], [28352, 0, "i"], [28353, 0, "t"], [28354, 0, "{"], [28355, 0, "c"], [28356, 0, "t"], [28357, 0, "x"], [28358, 0, "}"], [28359, 0, ","], [28360, 0, "\\"], [28361, 0, ","], [28362, 0, " "], [28363, 0, "\\"], [28364, 0, "m"], [28365, 0, "a"], [28366, 0, "t"], [28367, 0, "h"], [28368, 0, "s"], [28369, 0, "f"], [28370, 0, "{"], [28371, 0, "o"], [28372, 0, "p"], [28373, 0, "}"], [28374, 0, "("], [28375, 0, "\\"], [28376, 0, "m"], [28377, 0, "a"], [28378, 0, "t"], [28379, 0, "h"], [28380, 0, "i"], [28381, 0, "t"], [28382, 0, "{"], [28383, 0, "i"], [28384, 0, "d"], [28385, 0, "}"], [28386, 0, ","], [28387, 0, " "], [28388, 0, "\\"], [28389, 0, "m"], [28390, 0, "a"], [28391, 0, "t"], [28392, 0, "h"], [28393, 0, "i"], [28394, 0, "t"], [28395, 0, "{"], [28396, 0, "d"], [28397, 0, "e"], [28398, 0, "p"], [28399, 0, "s"], [28400, 0, "}"], [28401, 0, ","], [28402, 0, "\n"], [28403, 0, " "], [28404, 0, " "], [28405, 0, " "], [28406, 0, " "], [28407, 0, "\\"], [28408, 0, "m"], [28409, 0, "a"], [28410, 0, "t"], [28411, 0, "h"], [28412, 0, "s"], [28413, 0, "f"], [28414, 0, "{"], [28415, 0, "c"], [28416, 0, "u"], [28417, 0, "r"], [28418, 0, "s"], [28419, 0, "o"], [28420, 0, "r"], [28421, 0, "}"], [28422, 0, "("], [28423, 0, "\\"], [28424, 0, "l"], [28425, 0, "a"], [28426, 0, "n"], [28427, 0, "g"], [28428, 0, "l"], [28429, 0, "e"], [28430, 0, " "], [28431, 0, "k"], [28432, 0, "_"], [28433, 0, "1"], [28434, 0, ","], [28435, 0, " "], [28436, 0, "\\"], [28437, 0, "k"], [28438, 0, "_"], [28439, 0, "2"], [28440, 0, ","], [28441, 0, " "], [28442, 0, "\\"], [28443, 0, "d"], [28444, 0, "o"], [28445, 0, "t"], [28446, 0, "s"], [28436, 1], [28446, 0, ","], [28447, 0, " "], [28448, 0, "k"], [28449, 0, "_"], [28450, 0, "{"], [28451, 0, "n"], [28452, 0, "-"], [28453, 0, "1"], [28454, 0, "}"], [28455, 0, " "], [28456, 0, "\\"], [28457, 0, "r"], [28458, 0, "a"], [28459, 0, "n"], [28460, 0, "g"], [28461, 0, "l"], [28462, 0, "e"], [28463, 0, ","], [28464, 0, "\\"], [28465, 0, ","], [28466, 0, " "], [28467, 0, "k"], [28468, 0, "_"], [28469, 0, "n"], [28470, 0, ")"], [28471, 0, ","], [28472, 0, " "], [28473, 0, "\\"], [28474, 0, "m"], [28475, 0, "a"], [28476, 0, "t"], [28477, 0, "h"], [28478, 0, "i"], [28479, 0, "t"], [28480, 0, "{"], [28481, 0, "m"], [28482, 0, "u"], [28483, 0, "t"], [28484, 0, "}"], [28485, 0, ")"], [28486, 0, " "], [28487, 0, "\\"], [28488, 0, "e"], [28489, 0, "v"], [28490, 0, "a"], [28491, 0, "l"], [28492, 0, "t"], [28493, 0, "o"], [28494, 0, "\n"], [28495, 0, " "], [28496, 0, " "], [28497, 0, " "], [28498, 0, " "], [28499, 0, "\\"], [28500, 0, "m"], [28501, 0, "a"], [28502, 0, "t"], [28503, 0, "h"], [28504, 0, "s"], [28505, 0, "f"], [28506, 0, "{"], [28507, 0, "c"], [28508, 0, "t"], [28509, 0, "x"], [28510, 0, "}"], [28511, 0, "["], [28512, 0, "\\"], [28513, 0, ","], [28514, 0, " "], [28515, 0, "k"], [28516, 0, "_"], [28517, 0, "1"], [28518, 0, " "], [28519, 0, "\\"], [28520, 0, ","], [28521, 0, "\\"], [28522, 0, "m"], [28523, 0, "a"], [28524, 0, "p"], [28525, 0, "s"], [28526, 0, "t"], [28527, 0, "o"], [28528, 0, " "], [28528, 1], [28528, 0, "\\"], [28529, 0, ","], [28530, 0, " "], [28531, 0, "\\"], [28532, 0, "m"], [28533, 0, "a"], [28534, 0, "t"], [28535, 0, "h"], [28536, 0, "i"], [28537, 0, "t"], [28538, 0, "{"], [28539, 0, "s"], [28540, 0, "t"], [28541, 0, "a"], [28542, 0, "t"], [28543, 0, "e"], [28544, 0, "}"], [28545, 0, " "], [28546, 0, "\\"], [28547, 0, ","], [28548, 0, "]"], [28549, 0, "$"], [28550, 0, "}"], [28551, 0, "\n"], [28552, 0, "\\"], [28553, 0, "e"], [28554, 0, "n"], [28555, 0, "d"], [28556, 0, "{"], [28557, 0, "p"], [28558, 0, "r"], [28559, 0, "o"], [28560, 0, "o"], [28561, 0, "f"], [28562, 0, "t"], [28563, 0, "r"], [28564, 0, "e"], [28565, 0, "e"], [28566, 0, "}"], [28103, 0, "\\"], [28104, 0, "b"], [28105, 0, "e"], [28106, 0, "g"], [28107, 0, "i"], [28108, 0, "n"], [28109, 0, "{"], [28110, 0, "m"], [28111, 0, "a"], [28112, 0, "t"], [28113, 0, "r"], [28114, 0, "i"], [28115, 0, "x"], [28116, 0, "}"], [28117, 0, "\n"], [28118, 0, " "], [28119, 0, " "], [28120, 0, " "], [28121, 0, " "], [28217, 0, " "], [28218, 0, "\\"], [28219, 0, "\\"], [28322, 0, "\n"], [28323, 0, " "], [28324, 0, " "], [28325, 0, " "], [28326, 0, " "], [28327, 0, "\\"], [28328, 0, "e"], [28329, 0, "n"], [28330, 0, "d"], [28331, 0, "{"], [28332, 0, "m"], [28333, 0, "a"], [28334, 0, "t"], [28335, 0, "r"], [28336, 0, "i"], [28337, 0, "x"], [28338, 0, "}"], [28339, 0, " "], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [28737, 1], [30046, 1], [30045, 1], [30044, 1], [30043, 1], [30042, 1], [30041, 1], [30040, 1], [30039, 1], [30038, 1], [30037, 1], [30036, 1], [30035, 1], [30034, 1], [30033, 1], [30032, 1], [30031, 1], [30030, 1], [30029, 1], [30028, 1], [30027, 1], [30026, 1], [30025, 1], [30024, 1], [30023, 1], [30023, 0, "e"], [30024, 0, "v"], [30025, 0, "a"], [30026, 0, "l"], [30027, 0, "u"], [30028, 0, "a"], [30029, 0, "t"], [30030, 0, "i"], [30031, 0, "n"], [30032, 0, "g"], [30033, 0, " "], [30034, 0, "o"], [30035, 0, "p"], [30036, 0, "e"], [30037, 0, "r"], [30038, 0, "a"], [30039, 0, "t"], [30040, 0, "i"], [30041, 0, "o"], [30042, 0, "n"], [30043, 0, "s"], [30044, 0, " "], [30045, 0, "a"], [30046, 0, "n"], [30047, 0, "d"], [30048, 0, " "], [30049, 0, "m"], [30050, 0, "o"], [30051, 0, "d"], [30052, 0, "i"], [30053, 0, "f"], [30054, 0, "y"], [30055, 0, "i"], [30056, 0, "n"], [30057, 0, "g"], [30058, 0, " "], [30059, 0, "d"], [30060, 0, "o"], [30061, 0, "c"], [30062, 0, "u"], [30063, 0, "m"], [30064, 0, "e"], [30065, 0, "n"], [30066, 0, "t"], [30067, 0, " "], [30068, 0, "s"], [30069, 0, "t"], [30070, 0, "a"], [30071, 0, "t"], [30072, 0, "e"], [30074, 0, "\\"], [30075, 0, "l"], [30076, 0, "a"], [30077, 0, "b"], [30078, 0, "e"], [30079, 0, "l"], [30080, 0, "{"], [30081, 0, "f"], [30082, 0, "i"], [30083, 0, "g"], [30084, 0, ":"], [30085, 0, "o"], [30086, 0, "p"], [30087, 0, "e"], [30088, 0, "r"], [30089, 0, "a"], [30090, 0, "t"], [30091, 0, "i"], [30092, 0, "o"], [30093, 0, "n"], [30094, 0, "-"], [30095, 0, "r"], [30096, 0, "u"], [30097, 0, "l"], [30098, 0, "e"], [30099, 0, "s"], [30100, 0, "}"], [30122, 1], [30121, 1], [30120, 1], [30119, 1], [30118, 1], [30117, 1], [30116, 1], [30115, 1], [30114, 1], [30113, 1], [30112, 1], [30111, 1], [30110, 1], [30109, 1], [30108, 1], [30107, 1], [30106, 1], [30105, 1], [30104, 1], [30103, 1], [30102, 1], [30101, 1], [28721, 1], [28721, 1], [28721, 1], [28721, 1], [28721, 1], [28721, 1], [28721, 1], [28721, 1], [28721, 1], [28721, 1], [28721, 1], [28721, 1], [28721, 1], [28721, 1], [28721, 1], [28721, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 1], [28608, 0, "\n"], [28609, 0, "\\"], [28610, 0, "b"], [28611, 0, "e"], [28612, 0, "g"], [28613, 0, "i"], [28614, 0, "n"], [28615, 0, "{"], [28616, 0, "p"], [28617, 0, "r"], [28618, 0, "o"], [28619, 0, "o"], [28620, 0, "f"], [28621, 0, "t"], [28622, 0, "r"], [28623, 0, "e"], [28624, 0, "e"], [28625, 0, "}"], [28626, 0, "\n"], [28627, 0, "\\"], [28628, 0, "e"], [28629, 0, "n"], [28630, 0, "d"], [28631, 0, "{"], [28632, 0, "p"], [28633, 0, "r"], [28634, 0, "o"], [28635, 0, "o"], [28636, 0, "f"], [28637, 0, "t"], [28638, 0, "r"], [28639, 0, "e"], [28640, 0, "e"], [28641, 0, "}"], [28626, 0, "\n"], [28627, 0, "\\"], [28628, 0, "A"], [28629, 0, "x"], [28630, 0, "i"], [28631, 0, "o"], [28632, 0, "m"], [28633, 0, "C"], [28634, 0, "{"], [28635, 0, "$"], [28636, 0, "\\"], [28637, 0, "m"], [28638, 0, "a"], [28639, 0, "t"], [28640, 0, "h"], [28641, 0, "i"], [28642, 0, "t"], [28643, 0, "{"], [28644, 0, "v"], [28645, 0, "a"], [28646, 0, "l"], [28647, 0, "}"], [28648, 0, " "], [28649, 0, "\\"], [28650, 0, "n"], [28651, 0, "o"], [28652, 0, "t"], [28653, 0, "="], [28654, 0, " "], [28655, 0, "\\"], [28656, 0, "t"], [28657, 0, "e"], [28658, 0, "x"], [28659, 0, "t"], [28660, 0, "t"], [28661, 0, "t"], [28662, 0, "{"], [28663, 0, "["], [28664, 0, "]"], [28665, 0, "}"], [28666, 0, " "], [28667, 0, "\\"], [28668, 0, ","], [28669, 0, "\\"], [28670, 0, "w"], [28671, 0, "e"], [28672, 0, "d"], [28673, 0, "g"], [28674, 0, "e"], [28675, 0, "\\"], [28676, 0, ","], [28677, 0, " "], [28678, 0, "\\"], [28679, 0, "m"], [28680, 0, "a"], [28681, 0, "t"], [28682, 0, "h"], [28683, 0, "i"], [28684, 0, "t"], [28685, 0, "{"], [28686, 0, "v"], [28687, 0, "a"], [28688, 0, "l"], [28689, 0, "}"], [28690, 0, " "], [28691, 0, "\\"], [28692, 0, "n"], [28693, 0, "o"], [28694, 0, "t"], [28695, 0, "="], [28696, 0, " "], [28697, 0, "\\"], [28698, 0, "t"], [28699, 0, "e"], [28700, 0, "x"], [28701, 0, "t"], [28702, 0, "t"], [28703, 0, "t"], [28704, 0, "{"], [28705, 0, "\\"], [28706, 0, "s"], [28707, 0, "t"], [28708, 0, "r"], [28709, 0, "i"], [28710, 0, "n"], [28711, 0, "g"], [28712, 0, "\\"], [28712, 1], [28712, 0, "{"], [28713, 0, "\\"], [28714, 0, "s"], [28715, 0, "t"], [28716, 0, "r"], [28717, 0, "i"], [28718, 0, "n"], [28719, 0, "g"], [28720, 0, "}"], [28721, 0, "}"], [28722, 0, " "], [28722, 1], [28722, 0, "$"], [28723, 0, "}"], [28724, 0, "\n"], [28725, 0, "\\"], [28726, 0, "A"], [28727, 0, "x"], [28728, 0, "i"], [28729, 0, "o"], [28730, 0, "m"], [28731, 0, "C"], [28732, 0, "{"], [28733, 0, "$"], [28734, 0, "\\"], [28735, 0, "m"], [28736, 0, "a"], [28737, 0, "t"], [28738, 0, "h"], [28739, 0, "s"], [28740, 0, "f"], [28741, 0, "{"], [28742, 0, "r"], [28743, 0, "e"], [28744, 0, "g"], [28745, 0, "T"], [28746, 0, "}"], [28747, 0, "("], [28748, 0, "k"], [28749, 0, ")"], [28750, 0, " "], [28751, 0, "\\"], [28752, 0, "i"], [28753, 0, "n"], [28754, 0, " "], [28755, 0, "\\"], [28756, 0, "m"], [28757, 0, "a"], [28758, 0, "t"], [28759, 0, "h"], [28760, 0, "r"], [28761, 0, "m"], [28762, 0, "{"], [28763, 0, "d"], [28764, 0, "o"], [28765, 0, "m"], [28766, 0, "}"], [28767, 0, "("], [28768, 0, "\\"], [28769, 0, "m"], [28770, 0, "a"], [28771, 0, "t"], [28772, 0, "h"], [28773, 0, "i"], [28774, 0, "t"], [28775, 0, "{"], [28776, 0, "c"], [28777, 0, "t"], [28778, 0, "x"], [28779, 0, "}"], [28780, 0, ")"], [28781, 0, "$"], [28782, 0, "}"], [28783, 0, "\n"], [28784, 0, "\\"], [28785, 0, "m"], [28785, 1], [28785, 0, "A"], [28786, 0, "x"], [28787, 0, "i"], [28788, 0, "o"], [28789, 0, "m"], [28790, 0, "C"], [28791, 0, "{"], [28792, 0, "$"], [28793, 0, "\\"], [28794, 0, "m"], [28795, 0, "a"], [28796, 0, "t"], [28797, 0, "h"], [28798, 0, "i"], [28799, 0, "t"], [28800, 0, "{"], [28801, 0, "c"], [28802, 0, "o"], [28803, 0, "n"], [28804, 0, "c"], [28805, 0, "}"], [28806, 0, " "], [28807, 0, "="], [28808, 0, " "], [28809, 0, "{"], [28810, 0, " "], [28810, 1], [28809, 1], [28809, 0, "\\"], [28810, 0, "{"], [28811, 0, " "], [28812, 0, "\\"], [28813, 0, "m"], [28814, 0, "a"], [28815, 0, "t"], [28816, 0, "h"], [28817, 0, "i"], [28818, 0, "t"], [28819, 0, "{"], [28820, 0, "i"], [28821, 0, "d"], [28822, 0, "}"], [28823, 0, "_"], [28824, 0, "i"], [28825, 0, " "], [28826, 0, "\\"], [28827, 0, "m"], [28828, 0, "a"], [28829, 0, "p"], [28830, 0, "s"], [28831, 0, "t"], [28832, 0, "o"], [28833, 0, " "], [28834, 0, "\\"], [28835, 0, "m"], [28836, 0, "a"], [28837, 0, "t"], [28838, 0, "h"], [28839, 0, "i"], [28840, 0, "t"], [28840, 1], [28839, 1], [28838, 1], [28837, 1], [28836, 1], [28835, 1], [28834, 1], [28834, 0, "v"], [28835, 0, "_"], [28836, 0, "i"], [28837, 0, " "], [28838, 0, "\\"], [28839, 0, "m"], [28840, 0, "i"], [28841, 0, "d"], [28793, 0, "\\"], [28794, 0, "b"], [28795, 0, "e"], [28796, 0, "g"], [28797, 0, "i"], [28798, 0, "n"], [28799, 0, "{"], [28800, 0, "m"], [28801, 0, "a"], [28802, 0, "t"], [28803, 0, "r"], [28804, 0, "i"], [28805, 0, "x"], [28806, 0, "}"], [28807, 0, "\n"], [28808, 0, " "], [28809, 0, " "], [28810, 0, " "], [28811, 0, " "], [28861, 0, " "], [28862, 0, "("], [28863, 0, "\\"], [28864, 0, "m"], [28865, 0, "a"], [28866, 0, "t"], [28867, 0, "h"], [28868, 0, "i"], [28869, 0, "t"], [28870, 0, "{"], [28871, 0, "i"], [28872, 0, "d"], [28873, 0, "}"], [28874, 0, "_"], [28875, 0, "i"], [28876, 0, " "], [28877, 0, "\\"], [28878, 0, "m"], [28879, 0, "a"], [28880, 0, "p"], [28881, 0, "s"], [28882, 0, "t"], [28883, 0, "o"], [28884, 0, " "], [28885, 0, "v"], [28886, 0, "_"], [28887, 0, "i"], [28888, 0, ")"], [28889, 0, " "], [28890, 0, "\\"], [28891, 0, "i"], [28892, 0, "n"], [28893, 0, " "], [28894, 0, "\\"], [28895, 0, "m"], [28896, 0, "a"], [28897, 0, "t"], [28898, 0, "h"], [28899, 0, "i"], [28900, 0, "t"], [28901, 0, "{"], [28902, 0, "c"], [28903, 0, "t"], [28904, 0, "x"], [28905, 0, "}"], [28906, 0, "("], [28907, 0, "\\"], [28908, 0, "m"], [28909, 0, "a"], [28910, 0, "t"], [28911, 0, "h"], [28912, 0, "s"], [28913, 0, "f"], [28914, 0, "{"], [28915, 0, "r"], [28916, 0, "e"], [28917, 0, "g"], [28918, 0, "T"], [28919, 0, "}"], [28920, 0, "("], [28921, 0, "k"], [28922, 0, ")"], [28923, 0, ")"], [28924, 0, " "], [28925, 0, "\\"], [28926, 0, "\\"], [28927, 0, "\n"], [28928, 0, " "], [28929, 0, " "], [28930, 0, " "], [28931, 0, " "], [28932, 0, "\\"], [28933, 0, "w"], [28934, 0, "e"], [28935, 0, "d"], [28936, 0, "g"], [28937, 0, "e"], [28938, 0, " "], [28932, 0, "\\"], [28933, 0, ","], [28940, 1], [28940, 0, "\\"], [28941, 0, ","], [28942, 0, " "], [28943, 0, "\\"], [28944, 0, "m"], [28945, 0, "a"], [28946, 0, "t"], [28947, 0, "h"], [28948, 0, "i"], [28949, 0, "t"], [28950, 0, "{"], [28951, 0, "i"], [28952, 0, "d"], [28953, 0, "}"], [28954, 0, "_"], [28955, 0, "i"], [28956, 0, " "], [28957, 0, "\\"], [28958, 0, "n"], [28959, 0, "o"], [28960, 0, "t"], [28961, 0, "i"], [28962, 0, "n"], [28963, 0, " "], [28964, 0, "\\"], [28965, 0, "m"], [28966, 0, "a"], [28967, 0, "t"], [28968, 0, "h"], [28969, 0, "i"], [28970, 0, "t"], [28971, 0, "{"], [28972, 0, "d"], [28973, 0, "e"], [28974, 0, "p"], [28975, 0, "s"], [28976, 0, "}"], [28977, 0, " "], [28978, 0, "\\"], [28979, 0, "}"], [28980, 0, "\n"], [28981, 0, " "], [28982, 0, " "], [28983, 0, " "], [28984, 0, " "], [28985, 0, "\\"], [28986, 0, "e"], [28987, 0, "n"], [28988, 0, "d"], [28989, 0, "{"], [28990, 0, "m"], [28991, 0, "a"], [28992, 0, "t"], [28993, 0, "r"], [28994, 0, "i"], [28995, 0, "x"], [28996, 0, "}"], [28997, 0, " "], [28998, 0, "$"], [28999, 0, "}"], [29000, 0, "\n"], [29001, 0, "\\"], [29002, 0, "L"], [29003, 0, "e"], [29004, 0, "f"], [29005, 0, "t"], [29006, 0, "L"], [29007, 0, "a"], [29008, 0, "b"], [29009, 0, "e"], [29010, 0, "l"], [29011, 0, "{"], [29012, 0, "$"], [29013, 0, "\\"], [29014, 0, "m"], [29015, 0, "a"], [29016, 0, "t"], [29017, 0, "h"], [29018, 0, "s"], [29018, 1], [29017, 1], [29016, 1], [29015, 1], [29014, 1], [29014, 0, "t"], [29015, 0, "e"], [29016, 0, "s"], [29017, 0, "c"], [29018, 0, "s"], [29019, 0, "c"], [29020, 0, "{"], [29021, 0, "A"], [29017, 1], [29016, 1], [29016, 0, "x"], [29017, 0, "t"], [29022, 0, "s"], [29023, 0, "s"], [29024, 0, "i"], [29025, 0, "g"], [29026, 0, "n"], [29027, 0, "}"], [29028, 0, "_"], [29029, 0, "1"], [29030, 0, "$"], [29031, 0, "}"], [29032, 0, "\n"], [29033, 0, "\\"], [29034, 0, "T"], [29035, 0, "r"], [29036, 0, "i"], [29037, 0, "n"], [29038, 0, "a"], [29039, 0, "r"], [29040, 0, "y"], [29041, 0, "I"], [29042, 0, "n"], [29043, 0, "f"], [29044, 0, "C"], [29045, 0, "{"], [29046, 0, "$"], [29047, 0, "\\"], [29048, 0, "m"], [29049, 0, "a"], [29050, 0, "t"], [29051, 0, "h"], [29052, 0, "i"], [29053, 0, "t"], [29054, 0, "{"], [29055, 0, "c"], [29056, 0, "t"], [29057, 0, "x"], [29058, 0, "}"], [29059, 0, ","], [29060, 0, "\\"], [29061, 0, ","], [29062, 0, " "], [29063, 0, "\\"], [29064, 0, "m"], [29065, 0, "a"], [29066, 0, "t"], [29067, 0, "h"], [29068, 0, "s"], [29069, 0, "f"], [29070, 0, "{"], [29071, 0, "o"], [29072, 0, "p"], [29073, 0, "}"], [29074, 0, "("], [29075, 0, "\\"], [29076, 0, "m"], [29077, 0, "a"], [29078, 0, "t"], [29079, 0, "h"], [29080, 0, "i"], [29081, 0, "t"], [29082, 0, "{"], [29083, 0, "i"], [29084, 0, "d"], [29085, 0, "}"], [29086, 0, ","], [29087, 0, " "], [29088, 0, "\\"], [29089, 0, "m"], [29090, 0, "a"], [29091, 0, "t"], [29092, 0, "h"], [29093, 0, "i"], [29094, 0, "t"], [29095, 0, "["], [29095, 1], [29095, 0, "{"], [29096, 0, "D"], [29097, 0, "E"], [29098, 0, "P"], [29099, 0, "S"], [29099, 1], [29098, 1], [29097, 1], [29096, 1], [29096, 0, "d"], [29097, 0, "e"], [29098, 0, "p"], [29099, 0, "s"], [29100, 0, "}"], [29101, 0, ","], [29102, 0, "\n"], [29103, 0, " "], [29104, 0, " "], [29105, 0, " "], [29106, 0, " "], [29107, 0, "\\"], [29108, 0, "m"], [29109, 0, "a"], [29110, 0, "t"], [29111, 0, "h"], [29112, 0, "s"], [29113, 0, "f"], [29114, 0, "{"], [29115, 0, "c"], [29116, 0, "u"], [29117, 0, "r"], [29118, 0, "s"], [29119, 0, "o"], [29120, 0, "r"], [29121, 0, "}"], [29122, 0, "("], [29123, 0, "\\"], [29124, 0, "l"], [29125, 0, "a"], [29126, 0, "n"], [29127, 0, "g"], [29128, 0, "l"], [29129, 0, "e"], [29130, 0, " "], [29130, 1], [29130, 0, "\\"], [29131, 0, "r"], [29132, 0, "a"], [29133, 0, "n"], [29134, 0, "g"], [29135, 0, "l"], [29136, 0, "e"], [29137, 0, ","], [29138, 0, "\\"], [29139, 0, ","], [29140, 0, " "], [29141, 0, "k"], [29142, 0, ")"], [29143, 0, ","], [29144, 0, " "], [29145, 0, "\\"], [29146, 0, "m"], [29147, 0, "a"], [29148, 0, "t"], [29149, 0, "h"], [29150, 0, "s"], [29151, 0, "f"], [29152, 0, "{"], [29153, 0, "a"], [29154, 0, "s"], [29155, 0, "s"], [29156, 0, "i"], [29157, 0, "g"], [29158, 0, "n"], [29159, 0, "}"], [29160, 0, "("], [29161, 0, "\\"], [29162, 0, "m"], [29163, 0, "a"], [29164, 0, "t"], [29165, 0, "h"], [29166, 0, "i"], [29167, 0, "t"], [29168, 0, "{"], [29169, 0, "v"], [29170, 0, "a"], [29171, 0, "l"], [29172, 0, "}"], [29173, 0, ")"], [29174, 0, " "], [29175, 0, "\\"], [29176, 0, "e"], [29177, 0, "v"], [29178, 0, "a"], [29179, 0, "l"], [29180, 0, "t"], [29181, 0, "o"], [29182, 0, "\n"], [29183, 0, " "], [29184, 0, " "], [29185, 0, " "], [29186, 0, " "], [29187, 0, "\\"], [29188, 0, "m"], [29189, 0, "a"], [29190, 0, "t"], [29191, 0, "h"], [29192, 0, "s"], [29193, 0, "f"], [29194, 0, "{"], [29195, 0, "c"], [29196, 0, "t"], [29197, 0, "x"], [29198, 0, "}"], [29199, 0, "["], [29200, 0, "\\"], [29201, 0, ","], [29202, 0, " "], [29203, 0, "\\"], [29204, 0, "m"], [29205, 0, "a"], [29206, 0, "t"], [29207, 0, "h"], [29208, 0, "s"], [29209, 0, "f"], [29210, 0, "{"], [29211, 0, "r"], [29212, 0, "e"], [29213, 0, "g"], [29214, 0, "T"], [29215, 0, "}"], [29216, 0, "("], [29217, 0, "k"], [29218, 0, ")"], [29219, 0, " "], [29220, 0, "\\"], [29221, 0, ","], [29222, 0, "m"], [29222, 1], [29222, 0, "\\"], [29223, 0, "m"], [29224, 0, "a"], [29225, 0, "p"], [29226, 0, "s"], [29227, 0, "t"], [29228, 0, "o"], [29229, 0, "\\"], [29230, 0, ","], [29231, 0, " "], [29232, 0, "\\"], [29233, 0, "m"], [29234, 0, "a"], [29235, 0, "t"], [29236, 0, "h"], [29237, 0, "i"], [29238, 0, "t"], [29239, 0, "{"], [29240, 0, "c"], [29241, 0, "o"], [29242, 0, "n"], [29243, 0, "c"], [29244, 0, "}"], [29245, 0, "["], [29246, 0, "\\"], [29247, 0, ","], [29248, 0, " "], [29249, 0, "\\"], [29250, 0, "m"], [29251, 0, "a"], [29252, 0, "t"], [29253, 0, "h"], [29254, 0, "i"], [29255, 0, "t"], [29256, 0, "{"], [29257, 0, "i"], [29258, 0, "d"], [29259, 0, "}"], [29260, 0, " "], [29261, 0, "\\"], [29262, 0, ","], [29263, 0, "\\"], [29264, 0, "m"], [29265, 0, "a"], [29266, 0, "p"], [29267, 0, "s"], [29268, 0, "t"], [29269, 0, "o"], [29270, 0, "\\"], [29271, 0, ","], [29272, 0, " "], [29273, 0, "\\"], [29274, 0, "m"], [29275, 0, "a"], [29276, 0, "t"], [29277, 0, "h"], [29278, 0, "i"], [29279, 0, "t"], [29280, 0, "{"], [29281, 0, "v"], [29282, 0, "a"], [29283, 0, "l"], [29284, 0, "}"], [29285, 0, " "], [29286, 0, "\\"], [29287, 0, ","], [29288, 0, "]"], [29289, 0, "\\"], [29290, 0, ","], [29291, 0, "]"], [29292, 0, "$"], [29293, 0, "}"], [28933, 1], [28932, 1], [28824, 0, "u"], [28825, 0, "r"], [28826, 0, "r"], [28827, 0, "e"], [28828, 0, "n"], [28829, 0, "t"], [28867, 0, "\n"], [28868, 0, " "], [28869, 0, " "], [28870, 0, " "], [29239, 0, "\n"], [29240, 0, " "], [29241, 0, " "], [29242, 0, " "], [29256, 0, "u"], [29257, 0, "r"], [29258, 0, "r"], [29259, 0, "e"], [29260, 0, "n"], [29261, 0, "t"], [29328, 0, "\n"], [29329, 0, "\n"], [29330, 0, "\\"], [29331, 0, "b"], [29332, 0, "e"], [29333, 0, "g"], [29334, 0, "i"], [29335, 0, "n"], [29336, 0, "{"], [29337, 0, "p"], [29338, 0, "r"], [29339, 0, "o"], [29340, 0, "o"], [29341, 0, "f"], [29342, 0, "t"], [29343, 0, "r"], [29344, 0, "e"], [29345, 0, "e"], [29346, 0, "}"], [29347, 0, "\n"], [29348, 0, "\\"], [29349, 0, "e"], [29350, 0, "n"], [29351, 0, "d"], [29352, 0, "{"], [29353, 0, "p"], [29354, 0, "r"], [29355, 0, "o"], [29356, 0, "o"], [29357, 0, "f"], [29358, 0, "t"], [29359, 0, "r"], [29360, 0, "e"], [29361, 0, "e"], [29362, 0, "}"], [29347, 0, "\n"], [29348, 0, "\\"], [29349, 0, "A"], [29350, 0, "x"], [29351, 0, "i"], [29352, 0, "o"], [29353, 0, "m"], [29354, 0, "C"], [29355, 0, "{"], [29356, 0, "$"], [29357, 0, "\\"], [29358, 0, "m"], [29359, 0, "a"], [29360, 0, "t"], [29361, 0, "h"], [29362, 0, "i"], [29363, 0, "t"], [29364, 0, "{"], [29365, 0, "v"], [29366, 0, "a"], [29367, 0, "l"], [29368, 0, "}"], [29369, 0, " "], [29370, 0, "\\"], [29371, 0, "n"], [29372, 0, "o"], [29373, 0, "t"], [29374, 0, "="], [29375, 0, " "], [29376, 0, "\\"], [29377, 0, "t"], [29378, 0, "e"], [29379, 0, "x"], [29380, 0, "t"], [29381, 0, "t"], [29382, 0, "t"], [29383, 0, "{"], [29384, 0, "["], [29385, 0, "]"], [29386, 0, "}"], [29387, 0, " "], [29388, 0, "\\"], [29389, 0, ","], [29390, 0, "\\"], [29391, 0, "w"], [29392, 0, "e"], [29393, 0, "d"], [29394, 0, "g"], [29395, 0, "e"], [29396, 0, "\\"], [29397, 0, ","], [29398, 0, " "], [29399, 0, "\\"], [29400, 0, "m"], [29401, 0, "a"], [29402, 0, "t"], [29403, 0, "h"], [29404, 0, "i"], [29405, 0, "t"], [29406, 0, "{"], [29407, 0, "v"], [29408, 0, "a"], [29409, 0, "l"], [29410, 0, "}"], [29411, 0, " "], [29412, 0, "\\"], [29413, 0, "n"], [29414, 0, "o"], [29415, 0, "t"], [29416, 0, "="], [29417, 0, " "], [29418, 0, "\\"], [29419, 0, "t"], [29420, 0, "e"], [29421, 0, "x"], [29422, 0, "t"], [29423, 0, "t"], [29424, 0, "t"], [29425, 0, "{"], [29426, 0, "\\"], [29427, 0, "s"], [29428, 0, "t"], [29429, 0, "r"], [29430, 0, "i"], [29431, 0, "n"], [29432, 0, "g"], [29433, 0, "{"], [29434, 0, "\\"], [29435, 0, "s"], [29436, 0, "t"], [29437, 0, "r"], [29438, 0, "i"], [29439, 0, "n"], [29440, 0, "g"], [29441, 0, "}"], [29442, 0, "}"], [29443, 0, "$"], [29444, 0, "}"], [29445, 0, "\n"], [29446, 0, "\\"], [29447, 0, "A"], [29448, 0, "x"], [29449, 0, "i"], [29450, 0, "o"], [29451, 0, "m"], [29452, 0, "C"], [29453, 0, "{"], [29454, 0, "$"], [29455, 0, "\\"], [29456, 0, "m"], [29457, 0, "a"], [29458, 0, "t"], [29459, 0, "h"], [29460, 0, "s"], [29461, 0, "f"], [29462, 0, "{"], [29463, 0, "r"], [29464, 0, "e"], [29465, 0, "g"], [29466, 0, "T"], [29467, 0, "}"], [29468, 0, "("], [29469, 0, "k"], [29470, 0, ")"], [29471, 0, " "], [29472, 0, "\\"], [29473, 0, "n"], [29474, 0, "o"], [29475, 0, "t"], [29476, 0, "i"], [29477, 0, "n"], [29478, 0, " "], [29479, 0, "\\"], [29480, 0, "m"], [29481, 0, "a"], [29482, 0, "t"], [29483, 0, "h"], [29484, 0, "r"], [29485, 0, "m"], [29486, 0, "{"], [29487, 0, "d"], [29488, 0, "o"], [29489, 0, "m"], [29490, 0, "}"], [29491, 0, "("], [29492, 0, "\\"], [29493, 0, "m"], [29494, 0, "a"], [29495, 0, "t"], [29496, 0, "h"], [29497, 0, "i"], [29498, 0, "t"], [29499, 0, "{"], [29500, 0, "c"], [29501, 0, "t"], [29502, 0, "x"], [29503, 0, "}"], [29504, 0, ")"], [29505, 0, "$"], [29506, 0, "}"], [29507, 0, "\n"], [29508, 0, "\\"], [29509, 0, "L"], [29510, 0, "e"], [29511, 0, "f"], [29512, 0, "t"], [29513, 0, "L"], [29514, 0, "a"], [29515, 0, "b"], [29516, 0, "e"], [29517, 0, "l"], [29518, 0, "{"], [29519, 0, "$"], [29520, 0, "\\"], [29521, 0, "t"], [29522, 0, "e"], [29523, 0, "x"], [29524, 0, "t"], [29525, 0, "s"], [29526, 0, "c"], [29527, 0, "{"], [29528, 0, "A"], [29529, 0, "s"], [29530, 0, "s"], [29531, 0, "i"], [29532, 0, "g"], [29533, 0, "n"], [29534, 0, "}"], [29535, 0, "_"], [29536, 0, "2"], [29537, 0, "$"], [29538, 0, "}"], [29539, 0, "\n"], [29540, 0, "\\"], [29541, 0, "B"], [29542, 0, "i"], [29543, 0, "n"], [29544, 0, "a"], [29545, 0, "r"], [29546, 0, "y"], [29547, 0, "I"], [29548, 0, "n"], [29549, 0, "f"], [29550, 0, "C"], [29551, 0, "{"], [29552, 0, "$"], [29553, 0, "\\"], [29554, 0, "m"], [29555, 0, "a"], [29556, 0, "t"], [29557, 0, "h"], [29558, 0, "i"], [29559, 0, "t"], [29560, 0, "{"], [29561, 0, "c"], [29562, 0, "t"], [29563, 0, "x"], [29564, 0, "}"], [29565, 0, ","], [29566, 0, "\\"], [29567, 0, ","], [29568, 0, " "], [29569, 0, "\\"], [29570, 0, "m"], [29571, 0, "a"], [29572, 0, "t"], [29573, 0, "h"], [29574, 0, "s"], [29575, 0, "f"], [29576, 0, "{"], [29577, 0, "o"], [29578, 0, "p"], [29579, 0, "}"], [29580, 0, "\\"], [29580, 1], [29580, 0, "("], [29581, 0, "\\"], [29582, 0, "m"], [29583, 0, "a"], [29584, 0, "t"], [29585, 0, "h"], [29586, 0, "i"], [29587, 0, "t"], [29588, 0, "{"], [29589, 0, "i"], [29590, 0, "d"], [29591, 0, "}"], [29592, 0, ","], [29593, 0, " "], [29594, 0, "\\"], [29595, 0, "m"], [29596, 0, "a"], [29597, 0, "t"], [29598, 0, "h"], [29599, 0, "i"], [29600, 0, "t"], [29601, 0, "{"], [29602, 0, "d"], [29603, 0, "e"], [29604, 0, "p"], [29605, 0, "s"], [29606, 0, "}"], [29607, 0, ","], [29608, 0, "\n"], [29609, 0, " "], [29610, 0, " "], [29611, 0, " "], [29612, 0, " "], [29613, 0, "\\"], [29614, 0, "m"], [29615, 0, "a"], [29616, 0, "t"], [29617, 0, "h"], [29618, 0, "s"], [29619, 0, "f"], [29620, 0, "{"], [29621, 0, "c"], [29622, 0, "u"], [29623, 0, "r"], [29624, 0, "s"], [29625, 0, "o"], [29626, 0, "r"], [29627, 0, "}"], [29628, 0, "("], [29629, 0, "\\"], [29630, 0, "l"], [29631, 0, "a"], [29632, 0, "n"], [29633, 0, "g"], [29634, 0, "l"], [29635, 0, "e"], [29636, 0, "\\"], [29637, 0, "r"], [29638, 0, "a"], [29639, 0, "n"], [29640, 0, "g"], [29641, 0, "l"], [29642, 0, "e"], [29643, 0, ","], [29644, 0, "\\"], [29645, 0, ","], [29646, 0, " "], [29647, 0, "k"], [29648, 0, ")"], [29649, 0, ","], [29650, 0, " "], [29651, 0, "\\"], [29652, 0, "m"], [29653, 0, "a"], [29654, 0, "t"], [29655, 0, "h"], [29656, 0, "s"], [29657, 0, "f"], [29658, 0, "{"], [29659, 0, "a"], [29660, 0, "s"], [29661, 0, "s"], [29662, 0, "i"], [29663, 0, "g"], [29664, 0, "n"], [29665, 0, "}"], [29666, 0, "("], [29667, 0, "\\"], [29668, 0, "m"], [29669, 0, "a"], [29670, 0, "t"], [29671, 0, "h"], [29672, 0, "i"], [29673, 0, "t"], [29674, 0, "{"], [29675, 0, "v"], [29676, 0, "a"], [29677, 0, "l"], [29678, 0, "}"], [29679, 0, ")"], [29680, 0, " "], [29681, 0, "\\"], [29682, 0, "e"], [29683, 0, "v"], [29684, 0, "a"], [29685, 0, "l"], [29686, 0, "t"], [29687, 0, "o"], [29688, 0, "\n"], [29689, 0, " "], [29690, 0, " "], [29691, 0, " "], [29692, 0, " "], [29693, 0, "\\"], [29694, 0, "m"], [29695, 0, "a"], [29696, 0, "t"], [29697, 0, "h"], [29698, 0, "s"], [29699, 0, "f"], [29700, 0, "{"], [29701, 0, "c"], [29702, 0, "t"], [29703, 0, "x"], [29704, 0, "}"], [29705, 0, "["], [29706, 0, "\\"], [29707, 0, ","], [29708, 0, " "], [29709, 0, "\\"], [29710, 0, "m"], [29711, 0, "a"], [29712, 0, "t"], [29713, 0, "h"], [29714, 0, "s"], [29715, 0, "f"], [29716, 0, "{"], [29717, 0, "r"], [29718, 0, "e"], [29719, 0, "g"], [29720, 0, "T"], [29721, 0, "}"], [29722, 0, "("], [29723, 0, "k"], [29724, 0, ")"], [29725, 0, " "], [29726, 0, "\\"], [29727, 0, ","], [29728, 0, "\\"], [29729, 0, "m"], [29730, 0, "a"], [29731, 0, "p"], [29732, 0, "s"], [29733, 0, "t"], [29734, 0, "o"], [29735, 0, "\\"], [29736, 0, ","], [29737, 0, " "], [29738, 0, "\\"], [29739, 0, "{"], [29740, 0, "\\"], [29741, 0, ","], [29742, 0, " "], [29743, 0, "\\"], [29744, 0, "m"], [29745, 0, "a"], [29746, 0, "t"], [29747, 0, "h"], [29748, 0, "i"], [29749, 0, "t"], [29750, 0, "{"], [29751, 0, "i"], [29752, 0, "d"], [29753, 0, "}"], [29754, 0, " "], [29755, 0, "\\"], [29756, 0, ","], [29757, 0, "\\"], [29758, 0, "m"], [29759, 0, "a"], [29760, 0, "p"], [29761, 0, "s"], [29762, 0, "t"], [29763, 0, "o"], [29764, 0, "\\"], [29765, 0, ","], [29766, 0, " "], [29767, 0, "\\"], [29768, 0, "m"], [29769, 0, "a"], [29770, 0, "t"], [29771, 0, "h"], [29772, 0, "i"], [29773, 0, "t"], [29774, 0, "{"], [29775, 0, "v"], [29776, 0, "a"], [29777, 0, "l"], [29778, 0, "}"], [29779, 0, " "], [29780, 0, "\\"], [29781, 0, ","], [29782, 0, "\\"], [29783, 0, "}"], [29784, 0, "\\"], [29785, 0, ","], [29786, 0, "]"], [29787, 0, "$"], [29788, 0, "}"], [29872, 1], [29871, 1], [29870, 1], [29869, 1], [29868, 1], [29867, 1], [29866, 1], [29865, 1], [29864, 1], [29863, 1], [29862, 1], [29861, 1], [29860, 1], [29859, 1], [29858, 1], [29857, 1], [29856, 1], [29855, 1], [29854, 1], [29853, 1], [29852, 1], [29851, 1], [29850, 1], [29849, 1], [29848, 1], [29847, 1], [29846, 1], [29845, 1], [29844, 1], [29843, 1], [29842, 1], [29841, 1], [29840, 1], [29839, 1], [29838, 1], [29837, 1], [29836, 1], [29835, 1], [29834, 1], [29833, 1], [29832, 1], [29831, 1], [29830, 1], [29829, 1], [29828, 1], [29827, 1], [29826, 1], [29825, 1], [29824, 1], [29836, 1], [29835, 1], [29834, 1], [29834, 0, "\\"], [29835, 0, "m"], [29836, 0, "a"], [29837, 0, "t"], [29838, 0, "h"], [29839, 0, "i"], [29840, 0, "t"], [29841, 0, "{"], [29842, 0, "c"], [29843, 0, "t"], [29844, 0, "x"], [29845, 0, "}"], [29847, 0, "\\"], [29848, 0, "m"], [29849, 0, "a"], [29850, 0, "t"], [29851, 0, "h"], [29852, 0, "s"], [29853, 0, "f"], [29854, 0, "{"], [29855, 0, "n"], [29856, 0, "e"], [29857, 0, "x"], [29858, 0, "t"], [29859, 0, "}"], [29860, 0, "("], [29874, 0, ")"], [29879, 1], [29879, 1], [29879, 1], [29879, 1], [29879, 1], [29879, 1], [29879, 1], [29879, 1], [29879, 1], [29879, 1], [29879, 1], [29879, 1], [29879, 1], [29879, 1], [29879, 1], [29879, 1], [29879, 1], [29879, 1], [29879, 1], [29879, 1], [29879, 1], [29879, 1], [29879, 1], [29879, 1], [29879, 1], [29879, 1], [29879, 1], [29879, 1], [29879, 1], [29879, 1], [29879, 1], [29879, 1], [29879, 1], [29892, 1], [30025, 1], [30024, 1], [30023, 1], [30022, 1], [30021, 1], [30020, 1], [30019, 1], [30018, 1], [30017, 1], [30016, 1], [30015, 1], [30014, 1], [30013, 1], [30012, 1], [30011, 1], [30010, 1], [30009, 1], [30008, 1], [30007, 1], [30006, 1], [30005, 1], [30004, 1], [30003, 1], [30002, 1], [30001, 1], [30000, 1], [29999, 1], [29998, 1], [29997, 1], [29996, 1], [29995, 1], [29994, 1], [29993, 1], [29992, 1], [29991, 1], [29990, 1], [29989, 1], [29988, 1], [29987, 1], [29986, 1], [29985, 1], [29984, 1], [29983, 1], [29982, 1], [29982, 0, "\\"], [29983, 0, "m"], [29984, 0, "a"], [29985, 0, "t"], [29986, 0, "h"], [29987, 0, "i"], [29988, 0, "t"], [29989, 0, "{"], [29990, 0, "c"], [29991, 0, "t"], [29992, 0, "x"], [29993, 0, "}"], [29994, 0, ","], [29995, 0, "\\"], [29996, 0, ","], [29997, 0, " "], [29998, 0, "\\"], [29999, 0, "m"], [30000, 0, "a"], [30001, 0, "t"], [30002, 0, "h"], [30003, 0, "i"], [30004, 0, "t"], [30005, 0, "{"], [30006, 0, "o"], [30007, 0, "p"], [30008, 0, "}"], [30009, 0, "("], [30010, 0, "\\"], [30011, 0, "m"], [30012, 0, "a"], [30013, 0, "t"], [30014, 0, "h"], [30015, 0, "i"], [30016, 0, "t"], [30017, 0, "{"], [30018, 0, "i"], [30019, 0, "d"], [30020, 0, "}"], [30021, 0, ","], [30022, 0, " "], [30023, 0, "\\"], [30024, 0, "m"], [30025, 0, "a"], [30026, 0, "t"], [30027, 0, "h"], [30028, 0, "i"], [30029, 0, "t"], [30030, 0, "{"], [30031, 0, "d"], [30032, 0, "e"], [30033, 0, "p"], [30034, 0, "s"], [30035, 0, "}"], [30036, 0, ","], [29679, 0, ")"], [29182, 0, ")"], [30039, 0, "\n"], [30040, 0, " "], [30041, 0, " "], [30042, 0, " "], [30043, 0, " "], [30044, 0, "\\"], [30045, 0, "m"], [30046, 0, "a"], [30047, 0, "t"], [30048, 0, "h"], [30049, 0, "s"], [30050, 0, "f"], [30051, 0, "{"], [30052, 0, "c"], [30053, 0, "u"], [30054, 0, "r"], [30055, 0, "s"], [30056, 0, "o"], [30057, 0, "r"], [30058, 0, "}"], [30059, 0, "("], [30060, 0, "\\"], [30061, 0, "l"], [30062, 0, "a"], [30063, 0, "n"], [30064, 0, "g"], [30065, 0, "l"], [30066, 0, "e"], [30067, 0, "\\"], [30068, 0, "r"], [30069, 0, "a"], [30070, 0, "n"], [30071, 0, "g"], [30072, 0, "l"], [30073, 0, "e"], [30074, 0, ","], [30075, 0, "\\"], [30076, 0, ","], [30077, 0, " "], [30078, 0, "\\"], [30079, 0, "m"], [30080, 0, "a"], [30081, 0, "t"], [30082, 0, "h"], [30083, 0, "i"], [30084, 0, "t"], [30085, 0, "{"], [30086, 0, "i"], [30087, 0, "d"], [30088, 0, "}"], [30089, 0, ")"], [30090, 0, ","], [30091, 0, " "], [30092, 0, "\\"], [30093, 0, "m"], [30094, 0, "a"], [30095, 0, "t"], [30096, 0, "h"], [30097, 0, "s"], [30098, 0, "f"], [30099, 0, "{"], [30100, 0, "a"], [30101, 0, "s"], [30102, 0, "s"], [30103, 0, "i"], [30104, 0, "g"], [30105, 0, "n"], [30106, 0, "}"], [30107, 0, "("], [30108, 0, "\\"], [30109, 0, "m"], [30110, 0, "a"], [30111, 0, "t"], [30112, 0, "h"], [30113, 0, "i"], [30114, 0, "t"], [30115, 0, "{"], [30116, 0, "v"], [30117, 0, "a"], [30118, 0, "l"], [30119, 0, "}"], [30120, 0, ")"], [30121, 0, ")"], [30122, 0, " "], [30123, 0, "\\"], [30124, 0, "e"], [30125, 0, "v"], [30126, 0, "a"], [30127, 0, "l"], [30128, 0, "t"], [30129, 0, "o"], [30130, 0, " "], [30131, 0, "\\"], [30132, 0, "m"], [30133, 0, "a"], [30134, 0, "t"], [30135, 0, "h"], [30136, 0, "i"], [30137, 0, "t"], [30138, 0, "{"], [30139, 0, "c"], [30140, 0, "t"], [30141, 0, "x"], [30142, 0, "}"], [30143, 0, "'"], [30176, 0, "e"], [30177, 0, "r"], [30178, 0, "t"], [30172, 1], [30171, 1], [30170, 1], [30169, 1], [30168, 1], [30167, 1], [30180, 1], [30180, 1], [30180, 1], [30180, 1], [30180, 1], [30180, 1], [30180, 0, "T"], [30181, 0, "r"], [30182, 0, "i"], [30195, 1], [30194, 1], [30193, 1], [30193, 0, "\\"], [30194, 0, "m"], [30195, 0, "a"], [30196, 0, "t"], [30197, 0, "h"], [30198, 0, "i"], [30199, 0, "t"], [30200, 0, "{"], [30201, 0, "c"], [30202, 0, "t"], [30203, 0, "x"], [30204, 0, "}"], [30217, 1], [30217, 1], [30217, 1], [30217, 1], [30217, 1], [30217, 1], [30217, 1], [30217, 0, "o"], [30233, 0, " "], [30234, 0, "\\"], [30235, 0, "m"], [30236, 0, "a"], [30237, 0, "t"], [30238, 0, "h"], [30239, 0, "i"], [30240, 0, "t"], [30241, 0, "{"], [30242, 0, "d"], [30243, 0, "e"], [30244, 0, "p"], [30245, 0, "s"], [30246, 0, "}"], [30247, 0, ","], [30248, 0, "\n"], [30249, 0, " "], [30250, 0, " "], [30251, 0, " "], [30252, 0, " "], [30253, 0, "\\"], [30254, 0, "m"], [30255, 0, "a"], [30256, 0, "t"], [30257, 0, "h"], [30258, 0, "s"], [30259, 0, "f"], [30260, 0, "{"], [30261, 0, "c"], [30262, 0, "u"], [30263, 0, "r"], [30264, 0, "s"], [30265, 0, "o"], [30266, 0, "r"], [30267, 0, "}"], [30268, 0, "("], [30269, 0, "\\"], [30270, 0, "l"], [30271, 0, "a"], [30272, 0, "n"], [30273, 0, "g"], [30274, 0, "l"], [30275, 0, "e"], [30276, 0, "\\"], [30277, 0, "r"], [30278, 0, "a"], [30279, 0, "n"], [30280, 0, "g"], [30281, 0, "l"], [30282, 0, "e"], [30283, 0, ","], [30284, 0, "\\"], [30285, 0, ","], [30300, 0, ")"], [30303, 1], [30303, 0, "\\"], [30304, 0, "m"], [30305, 0, "a"], [30306, 0, "t"], [30307, 0, "h"], [30308, 0, "s"], [30309, 0, "f"], [30310, 0, "{"], [30311, 0, "i"], [30312, 0, "n"], [30313, 0, "s"], [30314, 0, "e"], [30315, 0, "r"], [30316, 0, "t"], [30317, 0, "}"], [30318, 0, "("], [30319, 0, "\\"], [30320, 0, "m"], [30321, 0, "a"], [30322, 0, "t"], [30323, 0, "h"], [30324, 0, "i"], [30325, 0, "t"], [30326, 0, "{"], [30327, 0, "v"], [30328, 0, "a"], [30329, 0, "l"], [30330, 0, "}"], [30331, 0, ")"], [30348, 1], [30347, 1], [30346, 1], [30346, 0, "\\"], [30347, 0, "m"], [30348, 0, "a"], [30349, 0, "t"], [30350, 0, "h"], [30351, 0, "i"], [30352, 0, "t"], [30353, 0, "{"], [30354, 0, "c"], [30355, 0, "t"], [30356, 0, "x"], [30357, 0, "}"], [30362, 0, "\\"], [30363, 0, "m"], [30364, 0, "a"], [30365, 0, "t"], [30366, 0, "h"], [30367, 0, "s"], [30368, 0, "f"], [30369, 0, "{"], [30370, 0, "n"], [30371, 0, "e"], [30372, 0, "x"], [30373, 0, "t"], [30374, 0, "}"], [30375, 0, "("], [30389, 0, ")"], [30403, 1], [30403, 1], [30403, 1], [30403, 1], [30403, 1], [30403, 1], [30403, 1], [30403, 1], [30403, 1], [30403, 1], [30403, 1], [30403, 1], [30403, 1], [30403, 1], [30403, 1], [30403, 1], [30403, 1], [30403, 1], [30403, 1], [30403, 1], [30403, 1], [30403, 1], [30403, 1], [30403, 1], [30403, 1], [30403, 1], [30403, 1], [30403, 1], [30403, 1], [30403, 1], [30403, 1], [30403, 1], [30403, 1], [30423, 0, "\\"], [30424, 0, "m"], [30425, 0, "a"], [30426, 0, "t"], [30427, 0, "h"], [30428, 0, "s"], [30429, 0, "f"], [30430, 0, "{"], [30431, 0, "n"], [30432, 0, "e"], [30433, 0, "x"], [30434, 0, "t"], [30435, 0, "}"], [30436, 0, "("], [30448, 0, ")"], [30480, 1], [30479, 1], [30478, 1], [30477, 1], [30476, 1], [30475, 1], [30474, 1], [30473, 1], [30472, 1], [30471, 1], [30470, 1], [30469, 1], [30468, 1], [30467, 1], [30466, 1], [30465, 1], [30464, 1], [30463, 1], [30462, 1], [30475, 1], [30006, 1], [30005, 1], [30005, 0, "s"], [30006, 0, "f"], [30414, 1], [30496, 0, "\n"], [30497, 0, "%"], [30498, 0, " "], [30499, 0, "T"], [30500, 0, "O"], [30501, 0, "D"], [30502, 0, "O"], [30503, 0, " "], [30504, 0, "n"], [30505, 0, "e"], [30506, 0, "e"], [30507, 0, "d"], [30508, 0, " "], [30509, 0, "t"], [30510, 0, "o"], [30511, 0, " "], [30512, 0, "u"], [30513, 0, "p"], [30514, 0, "d"], [30515, 0, "a"], [30516, 0, "t"], [30517, 0, "e"], [30518, 0, " "], [30519, 0, "t"], [30520, 0, "h"], [30521, 0, "e"], [30522, 0, " "], [30523, 0, "n"], [30524, 0, "e"], [30525, 0, "x"], [30526, 0, "t"], [30527, 0, " "], [30528, 0, "t"], [30529, 0, "w"], [30530, 0, "o"], [30531, 0, " "], [30532, 0, "r"], [30533, 0, "u"], [30534, 0, "l"], [30535, 0, "e"], [30536, 0, "s"], [30537, 0, "\n"], [30566, 1], [30566, 1], [30566, 1], [30566, 0, "\\"], [30567, 0, "m"], [30568, 0, "a"], [30569, 0, "t"], [30570, 0, "h"], [30571, 0, "i"], [30572, 0, "t"], [30573, 0, "{"], [30574, 0, "c"], [30575, 0, "t"], [30576, 0, "x"], [30577, 0, "}"], [30578, 0, "("], [30578, 1], [30579, 0, "\\"], [30580, 0, "m"], [30581, 0, "a"], [30582, 0, "t"], [30583, 0, "h"], [30584, 0, "s"], [30585, 0, "f"], [30586, 0, "{"], [30587, 0, "n"], [30588, 0, "e"], [30589, 0, "x"], [30590, 0, "t"], [30591, 0, "}"], [30592, 0, "("], [30606, 0, ")"], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 1], [30611, 0, "\\"], [30624, 1], [30677, 1], [30676, 1], [30675, 1], [30675, 0, "c"], [30676, 0, "t"], [30677, 0, "x"], [30696, 1], [30695, 1], [30694, 1], [30693, 1], [30692, 1], [30691, 1], [30690, 1], [30690, 0, "o"], [30706, 0, " "], [30707, 0, "\\"], [30708, 0, "m"], [30709, 0, "a"], [30710, 0, "t"], [30711, 0, "h"], [30712, 0, "i"], [30713, 0, "t"], [30714, 0, "{"], [30715, 0, "d"], [30716, 0, "e"], [30717, 0, "p"], [30718, 0, "s"], [30719, 0, "}"], [30720, 0, ","], [30721, 0, "\n"], [30722, 0, " "], [30723, 0, " "], [30724, 0, " "], [30726, 0, "\\"], [30727, 0, "m"], [30728, 0, "a"], [30729, 0, "t"], [30730, 0, "h"], [30731, 0, "s"], [30732, 0, "f"], [30733, 0, "{"], [30734, 0, "c"], [30735, 0, "u"], [30736, 0, "r"], [30737, 0, "s"], [30738, 0, "o"], [30739, 0, "r"], [30740, 0, "}"], [30741, 0, "("], [30742, 0, "\\"], [30743, 0, "l"], [30744, 0, "a"], [30745, 0, "n"], [30746, 0, "g"], [30747, 0, "l"], [30748, 0, "e"], [30749, 0, "\\"], [30750, 0, "r"], [30751, 0, "a"], [30752, 0, "n"], [30753, 0, "g"], [30754, 0, "l"], [30755, 0, "e"], [30756, 0, ","], [30757, 0, "\\"], [30758, 0, ","], [30759, 0, " "], [30773, 0, ")"], [30776, 0, "\\"], [30777, 0, "m"], [30778, 0, "a"], [30779, 0, "t"], [30780, 0, "h"], [30781, 0, "s"], [30782, 0, "f"], [30783, 0, "{"], [30784, 0, "a"], [30785, 0, "s"], [30786, 0, "s"], [30787, 0, "i"], [30788, 0, "g"], [30789, 0, "n"], [30790, 0, "}"], [30791, 0, "("], [30792, 0, "\\"], [30793, 0, "m"], [30794, 0, "a"], [30795, 0, "t"], [30796, 0, "h"], [30797, 0, "i"], [30798, 0, "t"], [30799, 0, "{"], [30801, 0, "a"], [30802, 0, "l"], [30803, 0, "}"], [30804, 0, ")"], [30815, 1], [30815, 1], [30815, 1], [30815, 0, "\\"], [30816, 0, "m"], [30817, 0, "a"], [30818, 0, "t"], [30819, 0, "h"], [30820, 0, "i"], [30821, 0, "t"], [30822, 0, "{"], [30823, 0, "c"], [30824, 0, "t"], [30825, 0, "x"], [30826, 0, "}"], [30860, 0, "e"], [30861, 0, "r"], [30862, 0, "t"], [30856, 1], [30855, 1], [30854, 1], [30853, 1], [30852, 1], [30851, 1], [30877, 1], [30877, 1], [30877, 1], [30877, 0, "\\"], [30878, 0, "m"], [30879, 0, "a"], [30880, 0, "t"], [30881, 0, "h"], [30882, 0, "i"], [30883, 0, "t"], [30884, 0, "{"], [30885, 0, "c"], [30886, 0, "t"], [30887, 0, "x"], [30888, 0, "}"], [30907, 1], [30906, 1], [30905, 1], [30904, 1], [30903, 1], [30902, 1], [30901, 1], [30901, 0, "o"], [30917, 0, " "], [30918, 0, "\\"], [30919, 0, "m"], [30920, 0, "a"], [30921, 0, "t"], [30922, 0, "h"], [30923, 0, "i"], [30924, 0, "t"], [30925, 0, "{"], [30926, 0, "d"], [30927, 0, "e"], [30928, 0, "p"], [30929, 0, "s"], [30930, 0, "}"], [30931, 0, ","], [30932, 0, "\n"], [30933, 0, " "], [30934, 0, " "], [30935, 0, " "], [30937, 0, "\\"], [30938, 0, "m"], [30939, 0, "a"], [30940, 0, "t"], [30941, 0, "h"], [30942, 0, "s"], [30943, 0, "f"], [30944, 0, "{"], [30945, 0, "c"], [30946, 0, "u"], [30947, 0, "r"], [30948, 0, "s"], [30949, 0, "o"], [30950, 0, "r"], [30951, 0, "}"], [30952, 0, "("], [30953, 0, "\\"], [30954, 0, "l"], [30955, 0, "a"], [30956, 0, "n"], [30957, 0, "g"], [30958, 0, "l"], [30959, 0, "e"], [30960, 0, "\\"], [30961, 0, "r"], [30962, 0, "a"], [30963, 0, "n"], [30964, 0, "g"], [30965, 0, "l"], [30966, 0, "e"], [30967, 0, ","], [30968, 0, "\\"], [30969, 0, ","], [30970, 0, " "], [30984, 0, ")"], [30987, 0, "\\"], [30988, 0, "m"], [30989, 0, "a"], [30990, 0, "t"], [30991, 0, "h"], [30992, 0, "s"], [30993, 0, "f"], [30994, 0, "{"], [30995, 0, "i"], [30996, 0, "n"], [30997, 0, "s"], [30998, 0, "e"], [30999, 0, "r"], [31000, 0, "t"], [31001, 0, "}"], [31002, 0, "("], [31003, 0, "\\"], [31004, 0, "m"], [31005, 0, "a"], [31006, 0, "t"], [31007, 0, "h"], [31008, 0, "i"], [31009, 0, "t"], [31010, 0, "{"], [31012, 0, "a"], [31013, 0, "l"], [31014, 0, "}"], [31015, 0, ")"], [31016, 0, ")"], [31017, 1], [31026, 1], [31026, 1], [31026, 1], [31026, 0, "\\"], [31027, 0, "m"], [31028, 0, "a"], [31029, 0, "t"], [31030, 0, "h"], [31031, 0, "i"], [31032, 0, "t"], [31033, 0, "{"], [31034, 0, "c"], [31035, 0, "t"], [31036, 0, "x"], [31037, 0, "}"], [30536, 1], [30535, 1], [30534, 1], [30533, 1], [30532, 1], [30531, 1], [30530, 1], [30529, 1], [30528, 1], [30527, 1], [30526, 1], [30525, 1], [30524, 1], [30523, 1], [30522, 1], [30521, 1], [30520, 1], [30519, 1], [30518, 1], [30517, 1], [30516, 1], [30515, 1], [30514, 1], [30513, 1], [30512, 1], [30511, 1], [30510, 1], [30509, 1], [30508, 1], [30507, 1], [30506, 1], [30505, 1], [30504, 1], [30503, 1], [30502, 1], [30501, 1], [30500, 1], [30499, 1], [30498, 1], [30497, 1], [30496, 1], [30495, 1], [31178, 1], [31178, 1], [31178, 1], [31178, 1], [31178, 1], [31178, 0, "L"], [31179, 0, "i"], [31180, 0, "t"], [31180, 1], [31180, 0, "s"], [31181, 0, "t"], [31061, 1], [31060, 1], [31059, 1], [31058, 1], [31057, 1], [31056, 1], [31056, 0, "c"], [31057, 0, "t"], [31058, 0, "x"], [31060, 1], [31047, 1], [31046, 1], [31045, 1], [31044, 1], [31056, 0, "("], [31057, 0, "k"], [31058, 0, ")"], [31058, 1], [31057, 1], [31056, 1], [31044, 0, "\\"], [31045, 0, "m"], [31046, 0, "a"], [31047, 0, "t"], [31048, 0, "h"], [31049, 0, "s"], [31050, 0, "f"], [31051, 0, "{"], [31052, 0, "n"], [31053, 0, "e"], [31054, 0, "x"], [31055, 0, "t"], [31056, 0, "}"], [31057, 0, "("], [31058, 0, "\\"], [31059, 0, "m"], [31060, 0, "a"], [31061, 0, "t"], [31062, 0, "h"], [31063, 0, "i"], [31064, 0, "t"], [31065, 0, "{"], [31066, 0, "t"], [31067, 0, "a"], [31068, 0, "r"], [31069, 0, "g"], [31070, 0, "e"], [31071, 0, "t"], [31072, 0, "}"], [31073, 0, ")"], [31074, 0, " "], [31074, 1], [31074, 0, " "], [31075, 0, "\\"], [31076, 0, "i"], [31077, 0, "n"], [31078, 0, " "], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31091, 1], [31148, 1], [31147, 1], [31146, 1], [31145, 1], [31144, 1], [31143, 1], [31142, 1], [31141, 1], [31140, 1], [31139, 1], [31138, 1], [31137, 1], [31136, 1], [31135, 1], [31134, 1], [31133, 1], [31132, 1], [31131, 1], [31130, 1], [31129, 1], [31128, 1], [31127, 1], [31126, 1], [31125, 1], [31124, 1], [31123, 1], [31122, 1], [31121, 1], [31120, 1], [31119, 1], [31118, 1], [31117, 1], [31116, 1], [31115, 1], [31114, 1], [31113, 1], [31112, 1], [31111, 1], [31110, 1], [31109, 1], [31108, 1], [31107, 1], [31106, 1], [31105, 1], [31104, 1], [31103, 1], [31102, 1], [31101, 1], [31100, 1], [31099, 1], [31098, 1], [31097, 1], [31096, 1], [31095, 1], [31094, 1], [31093, 1], [31139, 1], [31138, 1], [31137, 1], [31137, 0, "\\"], [31138, 0, "m"], [31139, 0, "a"], [31140, 0, "t"], [31141, 0, "h"], [31142, 0, "i"], [31143, 0, "t"], [31144, 0, "{"], [31145, 0, "c"], [31146, 0, "t"], [31147, 0, "x"], [31148, 0, "}"], [31168, 1], [31167, 1], [31166, 1], [31165, 1], [31164, 1], [31163, 1], [31162, 1], [31161, 1], [31161, 0, "o"], [31162, 0, "p"], [31178, 0, "\\"], [31179, 0, "m"], [31180, 0, "a"], [31181, 0, "t"], [31182, 0, "h"], [31183, 0, "i"], [31184, 0, "t"], [31185, 0, "{"], [31186, 0, "d"], [31187, 0, "e"], [31188, 0, "p"], [31189, 0, "s"], [31190, 0, "}"], [31191, 0, ","], [31192, 0, "\n"], [31193, 0, " "], [31194, 0, " "], [31195, 0, " "], [31196, 0, " "], [31197, 0, "\\"], [31198, 0, "m"], [31199, 0, "a"], [31200, 0, "t"], [31201, 0, "h"], [31202, 0, "s"], [31203, 0, "f"], [31204, 0, "{"], [31205, 0, "c"], [31206, 0, "u"], [31207, 0, "r"], [31208, 0, "s"], [31209, 0, "o"], [31210, 0, "r"], [31211, 0, "}"], [31212, 0, "("], [31213, 0, "\\"], [31214, 0, "l"], [31215, 0, "a"], [31216, 0, "n"], [31217, 0, "g"], [31218, 0, "l"], [31219, 0, "e"], [31220, 0, "\\"], [31221, 0, "r"], [31222, 0, "a"], [31223, 0, "n"], [31224, 0, "g"], [31225, 0, "l"], [31226, 0, "e"], [31227, 0, ","], [31228, 0, "\\"], [31229, 0, ","], [31230, 0, " "], [31247, 0, ","], [31248, 0, " "], [31249, 0, "\\"], [31250, 0, "m"], [31251, 0, "a"], [31252, 0, "t"], [31253, 0, "h"], [31254, 0, "s"], [31255, 0, "f"], [31256, 0, "{"], [31257, 0, "l"], [31258, 0, "i"], [31259, 0, "s"], [31260, 0, "t"], [31261, 0, "D"], [31262, 0, "e"], [31263, 0, "l"], [31264, 0, "}"], [31265, 0, ")"], [31282, 1], [31281, 1], [31280, 1], [31279, 1], [31279, 0, "\\"], [31280, 0, "m"], [31281, 0, "a"], [31282, 0, "t"], [31283, 0, "h"], [31284, 0, "i"], [31285, 0, "t"], [31286, 0, "{"], [31287, 0, "c"], [31288, 0, "t"], [31289, 0, "x"], [31290, 0, "}"], [31294, 0, "\\"], [31295, 0, "m"], [31296, 0, "a"], [31297, 0, "t"], [31298, 0, "h"], [31299, 0, "s"], [31300, 0, "f"], [31301, 0, "{"], [31302, 0, "d"], [31303, 0, "e"], [31304, 0, "l"], [31305, 0, "e"], [31306, 0, "t"], [31307, 0, "e"], [31308, 0, "d"], [31309, 0, "}"], [31310, 0, "("], [31326, 0, ")"], [31348, 1], [31348, 1], [31348, 1], [31348, 1], [31348, 1], [31348, 1], [31348, 0, "t"], [31349, 0, "r"], [31350, 0, "u"], [31351, 0, "e"], [31353, 1], [31353, 1], [31353, 1], [31353, 1], [31353, 1], [31353, 1], [31353, 1], [31353, 1], [31353, 1], [31353, 1], [31353, 1], [31353, 1], [31353, 1], [31353, 1], [31353, 1], [31353, 1], [31353, 1], [31353, 1], [31353, 1], [31353, 1], [31353, 1], [31125, 1], [31125, 1], [31125, 0, "U"], [31079, 0, "\\"], [31080, 0, "m"], [31081, 0, "a"], [31082, 0, "t"], [31083, 0, "h"], [31084, 0, "r"], [31085, 0, "m"], [31086, 0, "{"], [31087, 0, "d"], [31088, 0, "o"], [31089, 0, "m"], [31090, 0, "}"], [31091, 0, "("], [31104, 0, ")"], [31501, 0, "T"], [31502, 0, "O"], [31503, 0, "D"], [31504, 0, "O"], [31505, 0, " "], [31506, 0, "k"], [31507, 0, "n"], [31508, 0, "o"], [31509, 0, "w"], [31510, 0, "n"], [31511, 0, " "], [31512, 0, "p"], [31513, 0, "r"], [31514, 0, "o"], [31515, 0, "b"], [31516, 0, "l"], [31517, 0, "e"], [31518, 0, "m"], [31519, 0, "s"], [31520, 0, ":"], [31521, 0, "\n"], [31522, 0, "\n"], [31523, 0, "\\"], [31524, 0, "b"], [31525, 0, "e"], [31526, 0, "g"], [31527, 0, "i"], [31528, 0, "n"], [31529, 0, "{"], [31530, 0, "e"], [31531, 0, "n"], [31532, 0, "u"], [31533, 0, "m"], [31534, 0, "e"], [31535, 0, "r"], [31536, 0, "a"], [31537, 0, "t"], [31538, 0, "e"], [31539, 0, "}"], [31540, 0, "\n"], [31541, 0, "\\"], [31542, 0, "e"], [31543, 0, "n"], [31544, 0, "d"], [31545, 0, "{"], [31546, 0, "e"], [31547, 0, "n"], [31548, 0, "u"], [31549, 0, "m"], [31550, 0, "e"], [31551, 0, "r"], [31552, 0, "a"], [31553, 0, "t"], [31554, 0, "e"], [31555, 0, "}"], [31540, 0, "\n"], [31541, 0, "\\"], [31542, 0, "i"], [31543, 0, "t"], [31544, 0, "e"], [31545, 0, "m"], [31546, 0, " "], [31547, 0, "A"], [31548, 0, "s"], [31549, 0, "s"], [31550, 0, "i"], [31551, 0, "g"], [31552, 0, "n"], [31553, 0, "m"], [31554, 0, "e"], [31555, 0, "n"], [31556, 0, "t"], [31557, 0, " "], [31558, 0, "o"], [31559, 0, "f"], [31560, 0, " "], [31561, 0, "e"], [31562, 0, "m"], [31563, 0, "p"], [31564, 0, "t"], [31565, 0, "y"], [31566, 0, " "], [31567, 0, "l"], [31568, 0, "i"], [31569, 0, "s"], [31570, 0, "t"], [31571, 0, " "], [31572, 0, "a"], [31573, 0, "n"], [31574, 0, "d"], [31575, 0, " "], [31576, 0, "e"], [31577, 0, "m"], [31578, 0, "p"], [31579, 0, "t"], [31580, 0, "y"], [31581, 0, " "], [31582, 0, "a"], [31583, 0, "r"], [31584, 0, "r"], [31585, 0, "a"], [31586, 0, "y"], [31587, 0, " "], [31588, 0, "i"], [31589, 0, "s"], [31590, 0, " "], [31591, 0, "n"], [31592, 0, "o"], [31593, 0, "t"], [31594, 0, " "], [31595, 0, "d"], [31596, 0, "e"], [31597, 0, "f"], [31598, 0, "i"], [31599, 0, "n"], [31600, 0, "e"], [31601, 0, "d"], [31602, 0, " "], [31603, 0, "("], [31604, 0, "n"], [31605, 0, "e"], [31606, 0, "e"], [31607, 0, "d"], [31608, 0, " "], [31609, 0, "t"], [31610, 0, "o"], [31611, 0, " "], [31612, 0, "r"], [31613, 0, "e"], [31614, 0, "s"], [31615, 0, "e"], [31616, 0, "t"], [31617, 0, " "], [31618, 0, "v"], [31619, 0, "a"], [31620, 0, "l"], [31621, 0, "u"], [31622, 0, "e"], [31623, 0, " "], [31624, 0, "b"], [31625, 0, "u"], [31626, 0, "t"], [31627, 0, " "], [31628, 0, "p"], [31629, 0, "r"], [31630, 0, "e"], [31631, 0, "s"], [31632, 0, "e"], [31633, 0, "r"], [31634, 0, "v"], [31635, 0, "e"], [31636, 0, " "], [31637, 0, "i"], [31638, 0, "t"], [31639, 0, "s"], [31640, 0, " "], [31641, 0, "e"], [31642, 0, "x"], [31643, 0, "i"], [31644, 0, "s"], [31645, 0, "t"], [31646, 0, "e"], [31647, 0, "n"], [31648, 0, "c"], [31649, 0, "e"], [31650, 0, ")"], [31650, 0, "/"], [31651, 0, "d"], [31652, 0, "a"], [31653, 0, "t"], [31654, 0, "a"], [31655, 0, "t"], [31656, 0, "y"], [31657, 0, "p"], [31658, 0, "e"], [31540, 0, "\n"], [31541, 0, "\\"], [31542, 0, "i"], [31543, 0, "t"], [31544, 0, "e"], [31545, 0, "m"], [31546, 0, " "], [31547, 0, "D"], [31548, 0, "e"], [31549, 0, "l"], [31550, 0, "e"], [31551, 0, "t"], [31552, 0, "i"], [31553, 0, "n"], [31554, 0, "g"], [31555, 0, " "], [31556, 0, "e"], [31557, 0, "l"], [31558, 0, "e"], [31559, 0, "m"], [31560, 0, "e"], [31561, 0, "n"], [31562, 0, "t"], [31563, 0, " "], [31564, 0, "f"], [31565, 0, "r"], [31566, 0, "o"], [31567, 0, "m"], [31568, 0, " "], [31569, 0, "m"], [31570, 0, "a"], [31571, 0, "p"], [31692, 0, "\n"], [31693, 0, "\\"], [31694, 0, "i"], [31695, 0, "t"], [31696, 0, "e"], [31697, 0, "m"], [31698, 0, " "], [31699, 0, "\\"], [31700, 0, "t"], [31701, 0, "e"], [31702, 0, "x"], [31703, 0, "t"], [31704, 0, "s"], [31705, 0, "f"], [31706, 0, "{"], [31707, 0, "."], [31708, 0, "n"], [31709, 0, "e"], [31710, 0, "x"], [31711, 0, "t"], [31712, 0, "}"], [31713, 0, " "], [31714, 0, "s"], [31715, 0, "h"], [31716, 0, "o"], [31717, 0, "u"], [31718, 0, "l"], [31719, 0, "d"], [31720, 0, " "], [31721, 0, "s"], [31722, 0, "k"], [31723, 0, "i"], [31724, 0, "p"], [31725, 0, " "], [31726, 0, "o"], [31727, 0, "v"], [31728, 0, "e"], [31729, 0, "r"], [31730, 0, " "], [31731, 0, "t"], [31732, 0, "o"], [31733, 0, "m"], [31734, 0, "b"], [31735, 0, "s"], [31736, 0, "t"], [31737, 0, "o"], [31738, 0, "n"], [31739, 0, "e"], [31740, 0, "s"], [31682, 1], [31682, 0, " "], [31683, 0, "a"], [31684, 0, "n"], [31685, 0, "d"], [31686, 0, " "], [31655, 0, ","], [31571, 1], [31570, 1], [31569, 1], [31568, 1], [31567, 1], [31566, 1], [31565, 1], [31564, 1], [31563, 1], [31562, 1], [31561, 1], [31560, 1], [31559, 1], [31558, 1], [31557, 1], [31556, 1], [31555, 1], [31554, 1], [31553, 1], [31552, 1], [31551, 1], [31550, 1], [31549, 1], [31548, 1], [31548, 0, "i"], [31549, 0, "s"], [31550, 0, "t"], [31551, 0, "i"], [31552, 0, "n"], [31553, 0, "c"], [31554, 0, "t"], [31555, 0, "i"], [31556, 0, "o"], [31557, 0, "n"], [31558, 0, " "], [31559, 0, "b"], [31560, 0, "e"], [31561, 0, "t"], [31562, 0, "w"], [31563, 0, "e"], [31564, 0, "e"], [31565, 0, "n"], [31566, 0, " "], [31567, 0, "\\"], [31568, 0, "t"], [31569, 0, "e"], [31570, 0, "x"], [31571, 0, "t"], [31572, 0, "s"], [31573, 0, "f"], [31574, 0, "{"], [31575, 0, "l"], [31576, 0, "i"], [31577, 0, "s"], [31578, 0, "t"], [31579, 0, "D"], [31580, 0, "e"], [31581, 0, "l"], [31582, 0, "}"], [31583, 0, " "], [31584, 0, "a"], [31585, 0, "n"], [31586, 0, "d"], [31587, 0, " "], [31588, 0, "\\"], [31589, 0, "t"], [31590, 0, "e"], [31591, 0, "x"], [31592, 0, "t"], [31593, 0, "s"], [31594, 0, "f"], [31595, 0, "{"], [31596, 0, "m"], [31597, 0, "a"], [31598, 0, "p"], [31599, 0, "D"], [31600, 0, "e"], [31601, 0, "l"], [31602, 0, "}"], [31728, 0, " "], [31729, 0, "-"], [31730, 0, "-"], [31731, 0, " "], [31732, 0, "a"], [31733, 0, "l"], [31734, 0, "s"], [31735, 0, "o"], [31736, 0, " "], [31737, 0, "n"], [31738, 0, "e"], [31739, 0, "e"], [31740, 0, "d"], [31741, 0, "e"], [31742, 0, "d"], [31743, 0, " "], [31744, 0, "f"], [31745, 0, "o"], [31746, 0, "r"], [31747, 0, " "], [31748, 0, "c"], [31749, 0, "r"], [31750, 0, "e"], [31751, 0, "a"], [31752, 0, "t"], [31753, 0, "i"], [31754, 0, "n"], [31755, 0, "g"], [31756, 0, " "], [31757, 0, "n"], [31758, 0, "e"], [31759, 0, "s"], [31760, 0, "t"], [31761, 0, "e"], [31762, 0, "d"], [31763, 0, " "], [31764, 0, "l"], [31765, 0, "i"], [31766, 0, "s"], [31767, 0, "t"], [31768, 0, "s"], [31769, 0, " "], [31770, 0, "9"], [31771, 0, "2"], [31771, 1], [31770, 1], [31770, 0, "("], [31771, 0, "2"], [31772, 0, "D"], [31773, 0, " "], [31774, 0, "a"], [31775, 0, "r"], [31776, 0, "r"], [31777, 0, "a"], [31778, 0, "y"], [31779, 0, "s"], [31780, 0, ")"], [31830, 0, "\n"], [31831, 0, "\\"], [31832, 0, "i"], [31833, 0, "t"], [31834, 0, "e"], [31835, 0, "m"], [31836, 0, " "], [31837, 0, "A"], [31838, 0, "s"], [31839, 0, "s"], [31840, 0, "i"], [31841, 0, "g"], [31842, 0, "n"], [31843, 0, "m"], [31844, 0, "e"], [31845, 0, "n"], [31846, 0, "t"], [31847, 0, " "], [31837, 1], [31837, 0, "R"], [31838, 0, "e"], [31839, 0, "g"], [31840, 0, "i"], [31841, 0, "s"], [31842, 0, "t"], [31843, 0, "e"], [31844, 0, "r"], [31845, 0, " "], [31846, 0, "a"], [31856, 1], [31856, 0, ":"], [31857, 0, " "], [31858, 0, "s"], [31859, 0, "e"], [31860, 0, "t"], [31861, 0, " "], [31862, 0, "o"], [31863, 0, "f"], [31864, 0, " "], [31865, 0, "c"], [31866, 0, "o"], [31867, 0, "n"], [31868, 0, "c"], [31869, 0, "u"], [31870, 0, "r"], [31871, 0, "r"], [31872, 0, "e"], [31873, 0, "n"], [31874, 0, "t"], [31875, 0, " "], [31876, 0, "v"], [31877, 0, "a"], [31878, 0, "l"], [31879, 0, "u"], [31880, 0, "e"], [31881, 0, "s"], [31882, 0, " "], [31883, 0, "s"], [31884, 0, "h"], [31885, 0, "o"], [31886, 0, "u"], [31887, 0, "l"], [31888, 0, "d"], [31889, 0, " "], [31890, 0, "d"], [31891, 0, "e"], [31892, 0, "f"], [31893, 0, "a"], [31894, 0, "u"], [31895, 0, "l"], [31896, 0, "t"], [31897, 0, " "], [31898, 0, "t"], [31899, 0, "o"], [31900, 0, " "], [31901, 0, "e"], [31902, 0, "m"], [31903, 0, "p"], [31904, 0, "t"], [31905, 0, "y"], [31906, 0, " "], [31907, 0, "s"], [31908, 0, "e"], [31909, 0, "t"], [31910, 0, " "], [31911, 0, "i"], [31912, 0, "f"], [31913, 0, " "], [31914, 0, "r"], [31915, 0, "e"], [31916, 0, "g"], [31917, 0, "i"], [31918, 0, "s"], [31919, 0, "t"], [31920, 0, "e"], [31921, 0, "r"], [31922, 0, " "], [31923, 0, "i"], [31924, 0, "s"], [31925, 0, " "], [31926, 0, "n"], [31927, 0, "o"], [31928, 0, "d"], [31928, 1], [31928, 0, "t"], [31929, 0, " "], [31930, 0, "d"], [31931, 0, "e"], [31932, 0, "f"], [31933, 0, "i"], [31934, 0, "n"], [31935, 0, "e"], [31936, 0, "d"], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31831, 1], [31387, 0, "\n"], [31388, 0, "\n"], [31389, 0, "\\"], [31390, 0, "b"], [31391, 0, "e"], [31392, 0, "g"], [31393, 0, "i"], [31394, 0, "n"], [31395, 0, "{"], [31396, 0, "p"], [31397, 0, "r"], [31398, 0, "o"], [31399, 0, "o"], [31400, 0, "f"], [31401, 0, "t"], [31402, 0, "r"], [31403, 0, "e"], [31404, 0, "e"], [31405, 0, "}"], [31406, 0, "\n"], [31407, 0, "\\"], [31408, 0, "A"], [31409, 0, "x"], [31410, 0, "i"], [31411, 0, "o"], [31412, 0, "m"], [31413, 0, "C"], [31414, 0, "{"], [31415, 0, "$"], [31416, 0, "\\"], [31417, 0, "m"], [31418, 0, "a"], [31419, 0, "t"], [31420, 0, "h"], [31421, 0, "s"], [31422, 0, "f"], [31423, 0, "+"], [31423, 1], [31423, 0, "{"], [31424, 0, "r"], [31425, 0, "e"], [31426, 0, "g"], [31427, 0, "T"], [31428, 0, "}"], [31429, 0, "("], [31430, 0, "k"], [31431, 0, ")"], [31432, 0, " "], [31433, 0, "\\"], [31434, 0, "i"], [31435, 0, "n"], [31436, 0, " "], [31437, 0, "\\"], [31438, 0, "m"], [31439, 0, "a"], [31440, 0, "t"], [31441, 0, "h"], [31442, 0, "r"], [31443, 0, "m"], [31444, 0, " "], [31444, 1], [31444, 0, "{"], [31445, 0, "d"], [31446, 0, "o"], [31447, 0, "m"], [31448, 0, "}"], [31449, 0, "("], [31450, 0, "\\"], [31451, 0, "m"], [31452, 0, "a"], [31453, 0, "t"], [31454, 0, "h"], [31455, 0, "i"], [31456, 0, "t"], [31457, 0, "{"], [31458, 0, "c"], [31459, 0, "t"], [31460, 0, "x"], [31461, 0, "}"], [31462, 0, ")"], [31463, 0, "$"], [31464, 0, "}"], [31465, 0, "\n"], [31466, 0, "\\"], [31467, 0, "e"], [31468, 0, "n"], [31469, 0, "d"], [31470, 0, "{"], [31471, 0, "p"], [31472, 0, "r"], [31473, 0, "o"], [31474, 0, "o"], [31475, 0, "f"], [31476, 0, "t"], [31477, 0, "r"], [31478, 0, "e"], [31479, 0, "e"], [31480, 0, "}"], [31465, 0, "\n"], [31466, 0, "\\"], [31467, 0, "A"], [31468, 0, "x"], [31469, 0, "i"], [31470, 0, "o"], [31471, 0, "m"], [31472, 0, "C"], [31473, 0, "{"], [31474, 0, "$"], [31475, 0, "\\"], [31476, 0, "m"], [31477, 0, "a"], [31478, 0, "t"], [31479, 0, "h"], [31480, 0, "i"], [31481, 0, "t"], [31482, 0, "{"], [31483, 0, "c"], [31484, 0, "o"], [31485, 0, "n"], [31486, 0, "c"], [31487, 0, "u"], [31488, 0, "r"], [31489, 0, "r"], [31490, 0, "e"], [31491, 0, "n"], [31492, 0, "t"], [31493, 0, "}"], [31494, 0, " "], [31495, 0, "="], [31496, 0, " "], [31497, 0, "\\"], [31498, 0, "{"], [31499, 0, " "], [31500, 0, "\\"], [31501, 0, "m"], [31502, 0, "a"], [31503, 0, "t"], [31504, 0, "h"], [31505, 0, "i"], [31506, 0, "t"], [31507, 0, "{"], [31508, 0, "i"], [31509, 0, "d"], [31510, 0, "}"], [31511, 0, "i"], [31512, 0, " "], [31513, 0, "\\"], [31514, 0, "m"], [31515, 0, "a"], [31516, 0, "p"], [31517, 0, "s"], [31518, 0, "o"], [31519, 0, "t"], [31519, 1], [31518, 1], [31518, 0, "t"], [31519, 0, "o"], [31520, 0, " "], [31521, 0, "v"], [31522, 0, "_"], [31523, 0, "i"], [31524, 0, " "], [31525, 0, "\\"], [31526, 0, "m"], [31527, 0, "i"], [31528, 0, "d"], [31529, 0, "\n"], [31530, 0, " "], [31531, 0, " "], [31532, 0, " "], [31533, 0, " "], [31534, 0, "("], [31535, 0, "\\"], [31536, 0, "m"], [31537, 0, "a"], [31538, 0, "t"], [31539, 0, "h"], [31540, 0, "i"], [31541, 0, "t"], [31542, 0, "{"], [31543, 0, "i"], [31544, 0, "d"], [31545, 0, "}"], [31546, 0, "_"], [31547, 0, "i"], [31548, 0, " "], [31549, 0, "\\"], [31550, 0, "m"], [31551, 0, "a"], [31552, 0, "p"], [31553, 0, "s"], [31554, 0, "t"], [31555, 0, "o"], [31556, 0, " "], [31557, 0, "v"], [31558, 0, "_"], [31559, 0, "i"], [31560, 0, ")"], [31561, 0, " "], [31562, 0, "\\"], [31563, 0, "i"], [31564, 0, "n"], [31565, 0, " "], [31566, 0, "\\"], [31567, 0, "m"], [31568, 0, "a"], [31569, 0, "t"], [31570, 0, "h"], [31571, 0, "i"], [31572, 0, "t"], [31573, 0, "{"], [31574, 0, "c"], [31575, 0, "t"], [31576, 0, "x"], [31577, 0, "}"], [31578, 0, "("], [31579, 0, "\\"], [31580, 0, "m"], [31581, 0, "a"], [31582, 0, "t"], [31583, 0, "h"], [31584, 0, "s"], [31585, 0, "f"], [31586, 0, "{"], [31587, 0, "r"], [31588, 0, "e"], [31589, 0, "g"], [31590, 0, "T"], [31591, 0, "}"], [31592, 0, "("], [31593, 0, "k"], [31594, 0, ")"], [31595, 0, ")"], [31596, 0, " "], [31597, 0, "\\"], [31597, 1], [31596, 1], [31596, 0, "\n"], [31597, 0, " "], [31598, 0, " "], [31599, 0, " "], [31600, 0, " "], [31601, 0, "\\"], [31602, 0, ","], [31603, 0, "\\"], [31604, 0, "w"], [31605, 0, "e"], [31606, 0, "d"], [31607, 0, "g"], [31608, 0, "e"], [31609, 0, "\\"], [31610, 0, ","], [31611, 0, " "], [31612, 0, "\\"], [31613, 0, "m"], [31614, 0, "a"], [31615, 0, "t"], [31616, 0, "h"], [31617, 0, "i"], [31618, 0, "t"], [31619, 0, "{"], [31620, 0, "i"], [31621, 0, "d"], [31622, 0, "}"], [31623, 0, "_"], [31624, 0, "i"], [31625, 0, " "], [31626, 0, "\\"], [31627, 0, "n"], [31628, 0, "o"], [31629, 0, "t"], [31630, 0, "i"], [31631, 0, "n"], [31632, 0, " "], [31633, 0, "\\"], [31634, 0, "m"], [31635, 0, "a"], [31636, 0, "t"], [31637, 0, "h"], [31638, 0, "i"], [31639, 0, "t"], [31640, 0, "{"], [31641, 0, "d"], [31642, 0, "e"], [31643, 0, "p"], [31644, 0, "s"], [31645, 0, "}"], [31646, 0, " "], [31647, 0, "\\"], [31648, 0, "}"], [31649, 0, "$"], [31650, 0, "}"], [31651, 0, "\n"], [31652, 0, "\\"], [31653, 0, "L"], [31654, 0, "e"], [31655, 0, "f"], [31656, 0, "t"], [31657, 0, "L"], [31658, 0, "a"], [31659, 0, "b"], [31660, 0, "e"], [31661, 0, "l"], [31662, 0, "{"], [31663, 0, "\\"], [31664, 0, "t"], [31665, 0, "e"], [31666, 0, "x"], [31667, 0, "t"], [31668, 0, "s"], [31669, 0, "c"], [31670, 0, "{"], [31671, 0, "C"], [31672, 0, "l"], [31673, 0, "e"], [31674, 0, "a"], [31675, 0, "r"], [31676, 0, "-"], [31677, 0, "R"], [31678, 0, "e"], [31679, 0, "g"], [31680, 0, "}"], [31681, 0, "}"], [31682, 0, "\n"], [31683, 0, "\\"], [31684, 0, "B"], [31685, 0, "i"], [31686, 0, "n"], [31687, 0, "a"], [31688, 0, "r"], [31689, 0, "y"], [31690, 0, "I"], [31691, 0, "n"], [31692, 0, "f"], [31693, 0, "C"], [31694, 0, "{"], [31695, 0, "$"], [31696, 0, "$"], [31697, 0, "}"], [31696, 0, "\\"], [31697, 0, "m"], [31698, 0, "a"], [31699, 0, "t"], [31700, 0, "h"], [31701, 0, "i"], [31702, 0, "t"], [31703, 0, "{"], [31704, 0, "c"], [31705, 0, "t"], [31706, 0, "x"], [31707, 0, "}"], [31708, 0, ","], [31709, 0, "\\"], [31710, 0, ","], [31711, 0, " "], [31712, 0, "\\"], [31713, 0, "m"], [31714, 0, "a"], [31715, 0, "t"], [31716, 0, "h"], [31717, 0, "s"], [31718, 0, "f"], [31719, 0, "{"], [31720, 0, "o"], [31721, 0, "p"], [31722, 0, "}"], [31723, 0, "("], [31724, 0, "\\"], [31725, 0, "m"], [31726, 0, "a"], [31727, 0, "t"], [31728, 0, "h"], [31729, 0, "i"], [31730, 0, "t"], [31731, 0, "{"], [31732, 0, "i"], [31733, 0, "d"], [31734, 0, "}"], [31735, 0, ","], [31736, 0, " "], [31737, 0, "\\"], [31738, 0, "m"], [31739, 0, "a"], [31740, 0, "t"], [31741, 0, "h"], [31742, 0, "i"], [31743, 0, "t"], [31744, 0, "{"], [31745, 0, "d"], [31746, 0, "e"], [31747, 0, "p"], [31748, 0, "s"], [31749, 0, "}"], [31750, 0, ","], [31751, 0, "\n"], [31752, 0, " "], [31753, 0, " "], [31754, 0, " "], [31755, 0, " "], [31756, 0, "\\"], [31757, 0, "m"], [31758, 0, "a"], [31759, 0, "t"], [31760, 0, "h"], [31761, 0, "s"], [31762, 0, "f"], [31763, 0, "{"], [31764, 0, "c"], [31765, 0, "u"], [31766, 0, "r"], [31767, 0, "s"], [31768, 0, "o"], [31769, 0, "r"], [31770, 0, "}"], [31771, 0, "("], [31772, 0, "\\"], [31773, 0, "l"], [31774, 0, "a"], [31775, 0, "n"], [31776, 0, "g"], [31777, 0, "l"], [31778, 0, "e"], [31779, 0, "\\"], [31780, 0, "r"], [31781, 0, "a"], [31782, 0, "n"], [31783, 0, "g"], [31784, 0, "l"], [31785, 0, "e"], [31786, 0, ","], [31787, 0, "\\"], [31788, 0, ","], [31789, 0, " "], [31790, 0, "k"], [31791, 0, ")"], [31792, 0, ","], [31793, 0, " "], [31794, 0, "\\"], [31795, 0, "m"], [31796, 0, "a"], [31797, 0, "t"], [31798, 0, "h"], [31799, 0, "s"], [31800, 0, "f"], [31801, 0, "{"], [31802, 0, "c"], [31803, 0, "l"], [31804, 0, "e"], [31805, 0, "a"], [31806, 0, "r"], [31807, 0, "R"], [31808, 0, "e"], [31809, 0, "g"], [31810, 0, ")"], [31810, 1], [31810, 0, "}"], [31811, 0, ")"], [31812, 0, " "], [31813, 0, "\\"], [31814, 0, "e"], [31815, 0, "v"], [31816, 0, "a"], [31817, 0, "l"], [31818, 0, "t"], [31819, 0, "o"], [31820, 0, "\n"], [31821, 0, " "], [31822, 0, " "], [31823, 0, " "], [31824, 0, " "], [31825, 0, "\\"], [31826, 0, "m"], [31827, 0, "a"], [31828, 0, "t"], [31829, 0, "h"], [31830, 0, "s"], [31831, 0, "f"], [31831, 1], [31830, 1], [31830, 0, "i"], [31831, 0, "t"], [31832, 0, "{"], [31833, 0, "c"], [31834, 0, "t"], [31835, 0, "x"], [31836, 0, "}"], [31837, 0, "["], [29701, 1], [29700, 1], [29700, 0, "i"], [29701, 0, "t"], [29202, 1], [29201, 1], [29201, 0, "i"], [29202, 0, "t"], [31838, 0, "\\"], [31839, 0, ","], [31840, 0, "\\"], [31841, 0, "m"], [31842, 0, "a"], [31843, 0, "t"], [31844, 0, "h"], [31845, 0, "s"], [31846, 0, "f"], [31847, 0, "{"], [31848, 0, "r"], [31849, 0, "e"], [31850, 0, "g"], [31851, 0, "T"], [31852, 0, "}"], [31853, 0, "("], [31854, 0, "k"], [31855, 0, ")"], [31856, 0, " "], [31857, 0, "\\"], [31858, 0, ","], [31859, 0, "\\"], [31860, 0, "m"], [31861, 0, "a"], [31862, 0, "p"], [31863, 0, "s"], [31864, 0, "t"], [31865, 0, "o"], [31866, 0, " "], [31866, 1], [31866, 0, "\\"], [31867, 0, ","], [31868, 0, " "], [31869, 0, "\\"], [31870, 0, "m"], [31871, 0, "a"], [31872, 0, "t"], [31873, 0, "h"], [31874, 0, "i"], [31875, 0, "t"], [31876, 0, "{"], [31877, 0, "c"], [31878, 0, "o"], [31879, 0, "n"], [31880, 0, "c"], [31881, 0, "u"], [31882, 0, "r"], [31883, 0, "r"], [31884, 0, "e"], [31885, 0, "n"], [31886, 0, "t"], [31887, 0, "}"], [31888, 0, " "], [31889, 0, "\\"], [31890, 0, ","], [31891, 0, "]"], [31840, 0, " "], [31511, 0, "_"], [31912, 0, "\n"], [31913, 0, "\n"], [31914, 0, "\\"], [31915, 0, "b"], [31916, 0, "e"], [31917, 0, "g"], [31918, 0, "i"], [31919, 0, "n"], [31920, 0, "{"], [31921, 0, "p"], [31922, 0, "r"], [31923, 0, "o"], [31924, 0, "o"], [31925, 0, "f"], [31926, 0, "t"], [31927, 0, "r"], [31928, 0, "e"], [31929, 0, "e"], [31930, 0, "}"], [31931, 0, "\n"], [31932, 0, "\\"], [31933, 0, "A"], [31934, 0, "x"], [31935, 0, "i"], [31936, 0, "o"], [31937, 0, "m"], [31938, 0, "C"], [31939, 0, "{"], [31940, 0, "$"], [31941, 0, "\\"], [31942, 0, "m"], [31943, 0, "a"], [31944, 0, "t"], [31945, 0, "h"], [31946, 0, "s"], [31947, 0, "f"], [31948, 0, "{"], [31949, 0, "l"], [31950, 0, "i"], [31951, 0, "s"], [31952, 0, "t"], [31953, 0, "T"], [31954, 0, "}"], [31955, 0, "("], [31956, 0, "k"], [31957, 0, ")"], [31958, 0, " "], [31959, 0, "\\"], [31960, 0, "i"], [31961, 0, "n"], [31962, 0, " "], [31963, 0, "\\"], [31964, 0, "m"], [31965, 0, "a"], [31966, 0, "t"], [31967, 0, "h"], [31968, 0, "r"], [31969, 0, "m"], [31970, 0, "{"], [31971, 0, "d"], [31972, 0, "o"], [31973, 0, "m"], [31974, 0, "}"], [31975, 0, "("], [31976, 0, "\\"], [31977, 0, "m"], [31978, 0, "a"], [31979, 0, "t"], [31980, 0, "h"], [31981, 0, "i"], [31982, 0, "t"], [31983, 0, "{"], [31984, 0, "c"], [31985, 0, "t"], [31986, 0, "x"], [31987, 0, "}"], [31988, 0, ")"], [31989, 0, "$"], [31990, 0, "}"], [31991, 0, "\n"], [31992, 0, "\\"], [31993, 0, "A"], [31994, 0, "x"], [31995, 0, "i"], [31996, 0, "o"], [31997, 0, "m"], [31998, 0, "C"], [31999, 0, "{"], [32000, 0, "$"], [32001, 0, "\\"], [32002, 0, "m"], [32003, 0, "a"], [32004, 0, "t"], [32005, 0, "h"], [32006, 0, "i"], [32007, 0, "t"], [32008, 0, "{"], [32009, 0, "c"], [32010, 0, "t"], [32011, 0, "x"], [32012, 0, "}"], [32013, 0, "("], [32014, 0, "\\"], [32015, 0, "m"], [32016, 0, "a"], [32017, 0, "t"], [32018, 0, "h"], [32019, 0, "s"], [32020, 0, "f"], [32021, 0, "{"], [32022, 0, "l"], [32023, 0, "i"], [32024, 0, "s"], [32025, 0, "t"], [32026, 0, "T"], [32027, 0, "}"], [32028, 0, "("], [32029, 0, "k"], [32030, 0, ")"], [32031, 0, ")"], [32032, 0, ","], [32033, 0, "\\"], [32034, 0, ","], [32035, 0, " "], [32036, 0, "\\"], [32037, 0, "m"], [32038, 0, "a"], [32039, 0, "t"], [32040, 0, "h"], [32041, 0, "s"], [32042, 0, "f"], [32043, 0, "{"], [32044, 0, "o"], [32045, 0, "p"], [32046, 0, "}"], [32047, 0, "("], [32048, 0, "\\"], [32049, 0, "m"], [32050, 0, "a"], [32051, 0, "t"], [32052, 0, "h"], [32053, 0, "i"], [32054, 0, "t"], [32055, 0, "{"], [32056, 0, "i"], [32057, 0, "d"], [32058, 0, "}"], [32059, 0, ","], [32060, 0, " "], [32061, 0, "\\"], [32062, 0, "m"], [32063, 0, "a"], [32064, 0, "t"], [32065, 0, "h"], [32066, 0, "s"], [32066, 1], [32066, 0, "i"], [32067, 0, "t"], [32068, 0, "{"], [32069, 0, "d"], [32070, 0, "e"], [32071, 0, "p"], [32072, 0, "s"], [32073, 0, "}"], [32074, 0, ","], [32075, 0, "\n"], [32076, 0, " "], [32077, 0, " "], [32078, 0, " "], [32079, 0, " "], [32080, 0, "\\"], [32081, 0, "m"], [32082, 0, "a"], [32083, 0, "t"], [32084, 0, "h"], [32085, 0, "s"], [32086, 0, "f"], [32087, 0, "{"], [32088, 0, "c"], [32089, 0, "u"], [32090, 0, "r"], [32091, 0, "s"], [32092, 0, "o"], [32093, 0, "r"], [32094, 0, "}"], [32095, 0, "("], [32096, 0, "\\"], [32097, 0, "l"], [32098, 0, "a"], [32099, 0, "n"], [32100, 0, "g"], [32101, 0, "l"], [32102, 0, "e"], [32103, 0, "\\"], [32104, 0, "r"], [32105, 0, "a"], [32106, 0, "n"], [32107, 0, "g"], [32108, 0, "l"], [32109, 0, "e"], [32110, 0, ","], [32111, 0, "\\"], [32112, 0, ","], [32113, 0, " "], [32114, 0, "\\"], [32115, 0, "m"], [32116, 0, "a"], [32117, 0, "t"], [32118, 0, "h"], [32119, 0, "s"], [32120, 0, "f"], [32121, 0, "{"], [32122, 0, "h"], [32123, 0, "e"], [32124, 0, "a"], [32125, 0, "d"], [32126, 0, "}"], [32127, 0, ")"], [32128, 0, ","], [32129, 0, " "], [32130, 0, "\\"], [32131, 0, "m"], [32132, 0, "a"], [32133, 0, "t"], [32134, 0, "h"], [32135, 0, "s"], [32136, 0, "f"], [32137, 0, "{"], [32138, 0, "c"], [32139, 0, "l"], [32140, 0, "e"], [32141, 0, "a"], [32142, 0, "r"], [32143, 0, "E"], [32144, 0, "l"], [32145, 0, "e"], [32146, 0, "m"], [32147, 0, "e"], [32147, 1], [32147, 0, "s"], [32148, 0, "}"], [32149, 0, ")"], [32150, 0, " "], [32151, 0, "\\"], [32152, 0, "e"], [32153, 0, "v"], [32154, 0, "a"], [32155, 0, "l"], [32156, 0, "t"], [32157, 0, "o"], [32158, 0, " "], [32159, 0, "\\"], [32160, 0, "m"], [32161, 0, "a"], [32162, 0, "t"], [32163, 0, "h"], [32164, 0, "i"], [32165, 0, "t"], [32166, 0, "{"], [32167, 0, "c"], [32168, 0, "l"], [32169, 0, "e"], [32170, 0, "a"], [32171, 0, "r"], [32172, 0, "e"], [32173, 0, "d"], [32174, 0, "}"], [32175, 0, "$"], [32176, 0, "}"], [32177, 0, "\n"], [32178, 0, "\\"], [32179, 0, "L"], [32180, 0, "e"], [32181, 0, "f"], [32182, 0, "t"], [32183, 0, "L"], [32184, 0, "a"], [32185, 0, "b"], [32186, 0, "e"], [32187, 0, "l"], [32188, 0, "{"], [32189, 0, "\\"], [32190, 0, "t"], [32191, 0, "e"], [32192, 0, "x"], [32193, 0, "t"], [32194, 0, "s"], [32195, 0, "c"], [32196, 0, "{"], [32197, 0, "C"], [32198, 0, "l"], [32199, 0, "e"], [32200, 0, "a"], [32201, 0, "r"], [32202, 0, "-"], [32203, 0, "L"], [32204, 0, "i"], [32205, 0, "s"], [32206, 0, "t"], [32207, 0, "}"], [32208, 0, "}"], [32209, 0, "\n"], [32210, 0, "\\"], [32211, 0, "B"], [32212, 0, "i"], [32213, 0, "n"], [32214, 0, "a"], [32215, 0, "r"], [32216, 0, "y"], [32217, 0, "I"], [32218, 0, "n"], [32219, 0, "f"], [32220, 0, "C"], [32221, 0, "{"], [32222, 0, "$"], [32223, 0, "\\"], [32224, 0, "m"], [32225, 0, "a"], [32226, 0, "t"], [32227, 0, "h"], [32228, 0, "i"], [32229, 0, "t"], [32230, 0, "{"], [32231, 0, "c"], [32232, 0, "t"], [32233, 0, "x"], [32234, 0, "}"], [32235, 0, ","], [32236, 0, "\\"], [32237, 0, ","], [32238, 0, " "], [32239, 0, "\\"], [32240, 0, "m"], [32241, 0, "a"], [32242, 0, "t"], [32243, 0, "h"], [32244, 0, "s"], [32245, 0, "f"], [32246, 0, "{"], [32247, 0, "o"], [32248, 0, "p"], [32249, 0, "}"], [32250, 0, "("], [32251, 0, "\\"], [32252, 0, "m"], [32253, 0, "a"], [32254, 0, "t"], [32255, 0, "h"], [32256, 0, "i"], [32257, 0, "t"], [32258, 0, "{"], [32259, 0, "i"], [32260, 0, "d"], [32261, 0, "}"], [32262, 0, ","], [32263, 0, " "], [32264, 0, "\\"], [32265, 0, "m"], [32266, 0, "a"], [32267, 0, "t"], [32268, 0, "h"], [32269, 0, "i"], [32270, 0, "t"], [32271, 0, "{"], [32272, 0, "d"], [32273, 0, "e"], [32274, 0, "p"], [32275, 0, "s"], [32276, 0, "}"], [32277, 0, ","], [32278, 0, "\n"], [32279, 0, " "], [32280, 0, " "], [32281, 0, " "], [32282, 0, " "], [32283, 0, "\\"], [32284, 0, "m"], [32285, 0, "a"], [32286, 0, "t"], [32287, 0, "h"], [32288, 0, "s"], [32289, 0, "f"], [32290, 0, "{"], [32291, 0, "c"], [32292, 0, "u"], [32293, 0, "r"], [32294, 0, "s"], [32295, 0, "o"], [32296, 0, "r"], [32297, 0, "}"], [32298, 0, "("], [32299, 0, "\\"], [32300, 0, "l"], [32301, 0, "a"], [32302, 0, "n"], [32303, 0, "g"], [32304, 0, "l"], [32305, 0, "e"], [32306, 0, "\\"], [32307, 0, "r"], [32308, 0, "a"], [32309, 0, "n"], [32310, 0, "g"], [32311, 0, "l"], [32312, 0, "e"], [32313, 0, ","], [32314, 0, "\\"], [32315, 0, ","], [32316, 0, " "], [32317, 0, "k"], [32318, 0, ")"], [32319, 0, ","], [32320, 0, " "], [32321, 0, "\\"], [32322, 0, "m"], [32323, 0, "a"], [32324, 0, "t"], [32325, 0, "h"], [32326, 0, "s"], [32327, 0, "f"], [32328, 0, "{"], [32329, 0, "c"], [32330, 0, "l"], [32331, 0, "e"], [32332, 0, "a"], [32333, 0, "r"], [32334, 0, "L"], [32335, 0, "i"], [32336, 0, "s"], [32337, 0, "t"], [32338, 0, "}"], [32339, 0, ")"], [32340, 0, " "], [32341, 0, "\\"], [32342, 0, "e"], [32343, 0, "v"], [32344, 0, "a"], [32345, 0, "l"], [32346, 0, "t"], [32347, 0, "o"], [32348, 0, "\n"], [32349, 0, " "], [32350, 0, " "], [32351, 0, " "], [32352, 0, " "], [32353, 0, "\\"], [32354, 0, "m"], [32355, 0, "a"], [32356, 0, "t"], [32357, 0, "h"], [32358, 0, "i"], [32359, 0, "t"], [32360, 0, "{"], [32361, 0, "c"], [32362, 0, "t"], [32363, 0, "x"], [32364, 0, "}"], [32365, 0, "["], [32366, 0, "\\"], [32367, 0, ","], [32368, 0, " "], [32369, 0, "\\"], [32370, 0, "m"], [32371, 0, "a"], [32372, 0, "t"], [32373, 0, "h"], [32374, 0, "s"], [32375, 0, "f"], [32376, 0, "{"], [32377, 0, "l"], [32378, 0, "i"], [32379, 0, "s"], [32380, 0, "t"], [32381, 0, "T"], [32382, 0, "}"], [32383, 0, "("], [32384, 0, "k"], [32385, 0, ")"], [32386, 0, " "], [32387, 0, "\\"], [32388, 0, ","], [32389, 0, "\\"], [32390, 0, "m"], [32391, 0, "a"], [32392, 0, "p"], [32393, 0, "s"], [32394, 0, "t"], [32395, 0, "o"], [32396, 0, "\\"], [32397, 0, ","], [32398, 0, " "], [32399, 0, "\\"], [32400, 0, "m"], [32401, 0, "a"], [32402, 0, "t"], [32403, 0, "h"], [32404, 0, "i"], [32405, 0, "t"], [32406, 0, "{"], [32407, 0, "c"], [32408, 0, "l"], [32409, 0, "e"], [32410, 0, "a"], [32411, 0, "r"], [32412, 0, "e"], [32413, 0, "d"], [32414, 0, "}"], [32415, 0, " "], [32416, 0, "\\"], [32417, 0, ","], [32418, 0, "]"], [32419, 0, "$"], [32420, 0, "}"], [32421, 0, "\n"], [32422, 0, "\\"], [32423, 0, "e"], [32424, 0, "n"], [32425, 0, "d"], [32426, 0, "{"], [32427, 0, "p"], [32428, 0, "r"], [32429, 0, "o"], [32430, 0, "o"], [32431, 0, "f"], [32432, 0, "t"], [32433, 0, "r"], [32434, 0, "e"], [32435, 0, "e"], [32436, 0, "}"], [32437, 0, "\n"], [32438, 0, "\n"], [32439, 0, "\\"], [32440, 0, "b"], [32441, 0, "e"], [32442, 0, "g"], [32443, 0, "i"], [32444, 0, "n"], [32445, 0, "{"], [32446, 0, "p"], [32447, 0, "r"], [32448, 0, "o"], [32449, 0, "o"], [32450, 0, "f"], [32451, 0, "t"], [32452, 0, "r"], [32453, 0, "e"], [32454, 0, "e"], [32455, 0, "\\"], [32455, 1], [32455, 0, "}"], [32456, 0, "\n"], [32457, 0, "\\"], [32458, 0, "A"], [32459, 0, "x"], [32460, 0, "i"], [32461, 0, "o"], [32462, 0, "m"], [32463, 0, "C"], [32464, 0, "{"], [32465, 0, "$"], [32466, 0, "\\"], [32467, 0, "m"], [32468, 0, "a"], [32469, 0, "t"], [32470, 0, "h"], [32470, 1], [32469, 1], [32468, 1], [32467, 1], [32466, 1], [32466, 0, "k"], [32467, 0, " "], [32468, 0, "\\"], [32469, 0, "n"], [32470, 0, "o"], [32471, 0, "t"], [32472, 0, "="], [32473, 0, " "], [32474, 0, "\\"], [32475, 0, "m"], [32476, 0, "a"], [32477, 0, "t"], [32478, 0, "h"], [32479, 0, "s"], [32480, 0, "f"], [32481, 0, "{"], [32482, 0, "t"], [32483, 0, "a"], [32484, 0, "i"], [32485, 0, "l"], [32486, 0, "}"], [32487, 0, "$"], [32488, 0, "}"], [32489, 0, "\n"], [32490, 0, "\\"], [32491, 0, "A"], [32492, 0, "x"], [32493, 0, "i"], [32494, 0, "o"], [32495, 0, "m"], [32496, 0, "C"], [32497, 0, "{"], [32498, 0, "$"], [32499, 0, "\\"], [32500, 0, "m"], [32501, 0, "a"], [32502, 0, "t"], [32503, 0, "h"], [32504, 0, "i"], [32505, 0, "t"], [32506, 0, "{"], [32507, 0, "c"], [32508, 0, "t"], [32509, 0, "x"], [32510, 0, "}"], [32511, 0, "("], [32512, 0, "\\"], [32513, 0, "m"], [32514, 0, "a"], [32515, 0, "t"], [32516, 0, "h"], [32517, 0, "s"], [32518, 0, "f"], [32519, 0, "{"], [32520, 0, "n"], [32521, 0, "e"], [32522, 0, "x"], [32523, 0, "t"], [32524, 0, "}"], [32525, 0, "("], [32526, 0, "k"], [32527, 0, ")"], [32528, 0, ")"], [32529, 0, " "], [32530, 0, "="], [32531, 0, " "], [32532, 0, "\\"], [32533, 0, "m"], [32534, 0, "a"], [32535, 0, "t"], [32536, 0, "h"], [32537, 0, "i"], [32538, 0, "t"], [32539, 0, "{"], [32540, 0, "n"], [32541, 0, "e"], [32542, 0, "x"], [32543, 0, "t"], [32544, 0, "}"], [32545, 0, "$"], [32546, 0, "}"], [32547, 0, "\n"], [32548, 0, "\\"], [32549, 0, "A"], [32550, 0, "x"], [32551, 0, "i"], [32552, 0, "o"], [32553, 0, "m"], [32554, 0, "C"], [32555, 0, "{"], [32556, 0, "$"], [32489, 0, "\n"], [32490, 0, "\\"], [32491, 0, "A"], [32492, 0, "x"], [32493, 0, "i"], [32494, 0, "o"], [32495, 0, "m"], [32496, 0, "C"], [32497, 0, "{"], [32498, 0, "$"], [32499, 0, "k"], [32500, 0, " "], [32501, 0, "\\"], [32502, 0, "i"], [32503, 0, "n"], [32504, 0, " "], [32505, 0, "\\"], [32506, 0, "m"], [32507, 0, "a"], [32508, 0, "t"], [32509, 0, "h"], [32510, 0, "i"], [32511, 0, "t"], [32512, 0, "{"], [32513, 0, "d"], [32514, 0, "e"], [32515, 0, "p"], [32516, 0, "s"], [32517, 0, "}"], [32518, 0, "$"], [32519, 0, "}"], [32588, 0, "\\"], [32589, 0, "m"], [32590, 0, "a"], [32591, 0, "t"], [32592, 0, "h"], [32593, 0, "i"], [32594, 0, "t"], [32595, 0, "{"], [32596, 0, "c"], [32597, 0, "t"], [32598, 0, "x"], [32599, 0, "}"], [32600, 0, ","], [32601, 0, "\\"], [32602, 0, ","], [32603, 0, " "], [32604, 0, "\\"], [32605, 0, "m"], [32606, 0, "a"], [32607, 0, "t"], [32608, 0, "h"], [32609, 0, "s"], [32610, 0, "f"], [32611, 0, "{"], [32612, 0, "o"], [32613, 0, "p"], [32614, 0, "}"], [32615, 0, "("], [32616, 0, "\\"], [32617, 0, "m"], [32618, 0, "a"], [32619, 0, "t"], [32620, 0, "h"], [32621, 0, "i"], [32622, 0, "t"], [32623, 0, "{"], [32624, 0, "i"], [32625, 0, "d"], [32626, 0, "}"], [32627, 0, ","], [32628, 0, " "], [32629, 0, "\\"], [32630, 0, "m"], [32631, 0, "a"], [32632, 0, "t"], [32633, 0, "h"], [32634, 0, "i"], [32635, 0, "t"], [32636, 0, "{"], [32637, 0, "d"], [32638, 0, "e"], [32639, 0, "p"], [32640, 0, "s"], [32641, 0, "}"], [32642, 0, ","], [32643, 0, "\n"], [32644, 0, " "], [32645, 0, " "], [32646, 0, " "], [32647, 0, " "], [32648, 0, "\\"], [32649, 0, "m"], [32650, 0, "a"], [32651, 0, "t"], [32652, 0, "h"], [32653, 0, "s"], [32654, 0, "f"], [32655, 0, "{"], [32656, 0, "c"], [32657, 0, "u"], [32658, 0, "r"], [32659, 0, "s"], [32660, 0, "o"], [32661, 0, "r"], [32662, 0, "}"], [32663, 0, "("], [32664, 0, "\\"], [32665, 0, "l"], [32666, 0, "a"], [32667, 0, "n"], [32668, 0, "g"], [32669, 0, "l"], [32670, 0, "e"], [32671, 0, "\\"], [32672, 0, "r"], [32673, 0, "a"], [32674, 0, "n"], [32675, 0, "g"], [32676, 0, "l"], [32677, 0, "e"], [32678, 0, ","], [32679, 0, "\\"], [32680, 0, ","], [32681, 0, " "], [32682, 0, "k"], [32683, 0, ")"], [32684, 0, ","], [32685, 0, " "], [32686, 0, "\\"], [32687, 0, "m"], [32688, 0, "a"], [32689, 0, "t"], [32690, 0, "h"], [32691, 0, "s"], [32692, 0, "f"], [32693, 0, "{"], [32694, 0, "c"], [32695, 0, "l"], [32696, 0, "e"], [32697, 0, "a"], [32698, 0, "r"], [32699, 0, "E"], [32700, 0, "l"], [32701, 0, "e"], [32702, 0, "m"], [32703, 0, "e"], [32703, 1], [32703, 0, "s"], [32704, 0, "}"], [32705, 0, ")"], [32706, 0, " "], [32707, 0, "\\"], [32708, 0, "e"], [32709, 0, "v"], [32710, 0, "a"], [32711, 0, "l"], [32712, 0, "t"], [32713, 0, "o"], [32714, 0, " "], [32715, 0, "\\"], [32716, 0, "m"], [32717, 0, "a"], [32718, 0, "t"], [32719, 0, "h"], [32720, 0, "i"], [32721, 0, "t"], [32722, 0, "{"], [32723, 0, "c"], [32724, 0, "t"], [32725, 0, "x"], [32726, 0, "}"], [32727, 0, "'"], [32728, 0, "$"], [32729, 0, "}"], [32730, 0, "\n"], [32731, 0, "\\"], [32732, 0, "L"], [32733, 0, "e"], [32734, 0, "f"], [32735, 0, "t"], [32736, 0, "L"], [32737, 0, "a"], [32738, 0, "b"], [32739, 0, "e"], [32740, 0, "l"], [32741, 0, "{"], [32742, 0, "\\"], [32743, 0, "t"], [32744, 0, "e"], [32745, 0, "x"], [32746, 0, "t"], [32747, 0, "s"], [32748, 0, "c"], [32749, 0, "{"], [32750, 0, "C"], [32751, 0, "l"], [32752, 0, "e"], [32752, 1], [32751, 1], [32742, 0, "$"], [32752, 0, "l"], [32753, 0, "e"], [32754, 0, "a"], [32755, 0, "r"], [32756, 0, "-"], [32757, 0, "E"], [32758, 0, "l"], [32759, 0, "e"], [32760, 0, "m"], [32761, 0, "s"], [32762, 0, "}"], [32763, 0, "_"], [32764, 0, "1"], [32765, 0, "$"], [32766, 0, "}"], [32767, 0, "\n"], [32768, 0, "\\"], [32769, 0, "Q"], [32770, 0, "u"], [32771, 0, "a"], [32772, 0, "t"], [32773, 0, "e"], [32774, 0, "r"], [32775, 0, "n"], [32776, 0, "a"], [32777, 0, "r"], [32778, 0, "y"], [32779, 0, "I"], [32780, 0, "n"], [32781, 0, "f"], [32782, 0, "C"], [32783, 0, "{"], [32784, 0, "$"], [32785, 0, "\\"], [32786, 0, "m"], [32787, 0, "a"], [32788, 0, "t"], [32789, 0, "h"], [32790, 0, "i"], [32791, 0, "t"], [32792, 0, "{"], [32793, 0, "c"], [32794, 0, "t"], [32795, 0, "x"], [32796, 0, "}"], [32797, 0, ","], [32798, 0, "\\"], [32799, 0, ","], [32800, 0, " "], [32801, 0, "\\"], [32802, 0, "m"], [32803, 0, "a"], [32804, 0, "t"], [32805, 0, "h"], [32806, 0, "s"], [32807, 0, "f"], [32808, 0, "{"], [32809, 0, "o"], [32810, 0, "p"], [32811, 0, "}"], [32812, 0, "("], [32813, 0, "\\"], [32814, 0, "m"], [32815, 0, "a"], [32816, 0, "t"], [32817, 0, "h"], [32818, 0, "i"], [32819, 0, "t"], [32820, 0, "{"], [32821, 0, "i"], [32822, 0, "d"], [32823, 0, "}"], [32824, 0, ","], [32825, 0, " "], [32826, 0, "\\"], [32827, 0, "m"], [32828, 0, "a"], [32829, 0, "t"], [32830, 0, "h"], [32831, 0, "i"], [32832, 0, "t"], [32833, 0, "{"], [32834, 0, "d"], [32835, 0, "e"], [32836, 0, "p"], [32837, 0, "s"], [32838, 0, "}"], [32839, 0, ","], [32840, 0, "\n"], [32841, 0, " "], [32842, 0, " "], [32843, 0, " "], [32844, 0, " "], [32845, 0, "\\"], [32846, 0, "m"], [32847, 0, "a"], [32848, 0, "t"], [32849, 0, "h"], [32850, 0, "s"], [32851, 0, "f"], [32852, 0, "{"], [32853, 0, "c"], [32854, 0, "u"], [32855, 0, "r"], [32856, 0, "s"], [32857, 0, "o"], [32858, 0, "r"], [32859, 0, "}"], [32860, 0, "("], [32861, 0, "\\"], [32862, 0, "l"], [32863, 0, "a"], [32864, 0, "n"], [32865, 0, "g"], [32866, 0, "l"], [32867, 0, "e"], [32868, 0, ","], [32868, 1], [32868, 0, "\\"], [32869, 0, "r"], [32870, 0, "a"], [32871, 0, "n"], [32872, 0, "g"], [32873, 0, "l"], [32874, 0, "e"], [32875, 0, ","], [32876, 0, "\\"], [32877, 0, ","], [32878, 0, " "], [32879, 0, "k"], [32880, 0, ")"], [32881, 0, ","], [32882, 0, " "], [32883, 0, "\\"], [32884, 0, "m"], [32885, 0, "a"], [32886, 0, "t"], [32887, 0, "h"], [32888, 0, "s"], [32889, 0, "f"], [32890, 0, "{"], [32891, 0, "c"], [32892, 0, "l"], [32893, 0, "e"], [32894, 0, "a"], [32895, 0, "r"], [32896, 0, "E"], [32897, 0, "l"], [32898, 0, "e"], [32899, 0, "m"], [32900, 0, "s"], [32682, 1], [32682, 0, "\\"], [32683, 0, "m"], [32684, 0, "a"], [32685, 0, "t"], [32686, 0, "h"], [32687, 0, "i"], [32688, 0, "t"], [32689, 0, "{"], [32690, 0, "n"], [32691, 0, "e"], [32692, 0, "x"], [32693, 0, "t"], [32694, 0, "}"], [32913, 0, "}"], [32914, 0, ")"], [32915, 0, " "], [32916, 0, "\\"], [32917, 0, "e"], [32918, 0, "v"], [32919, 0, "a"], [32920, 0, "l"], [32921, 0, "t"], [32922, 0, "o"], [32923, 0, " "], [32923, 1], [32923, 0, "\n"], [32924, 0, " "], [32925, 0, " "], [32926, 0, " "], [32927, 0, " "], [32928, 0, "\\"], [32929, 0, "m"], [32930, 0, "a"], [32931, 0, "t"], [32932, 0, "h"], [32933, 0, "i"], [32934, 0, "t"], [32935, 0, "{"], [32936, 0, "c"], [32937, 0, "t"], [32938, 0, "x"], [32939, 0, "}"], [32940, 0, "'"], [32941, 0, "["], [32942, 0, "\\"], [32943, 0, ","], [32944, 0, " "], [32945, 0, "\\"], [32946, 0, "m"], [32947, 0, "a"], [32948, 0, "t"], [32949, 0, "h"], [32944, 1], [32949, 0, "s"], [32950, 0, "f"], [32951, 0, "{"], [32952, 0, "d"], [32953, 0, "e"], [32954, 0, "l"], [32955, 0, "e"], [32956, 0, "t"], [32957, 0, "e"], [32958, 0, "d"], [32959, 0, "}"], [32960, 0, "("], [32961, 0, "\\"], [32962, 0, "m"], [32963, 0, "a"], [32964, 0, "t"], [32965, 0, "h"], [32966, 0, "i"], [32967, 0, "t"], [32968, 0, "("], [32969, 0, "k"], [32969, 1], [32968, 1], [32968, 0, "{"], [32968, 1], [32967, 1], [32966, 1], [32965, 1], [32964, 1], [32963, 1], [32962, 1], [32961, 1], [32961, 0, "k"], [32962, 0, ")"], [32963, 0, " "], [32964, 0, "\\"], [32965, 0, ","], [32966, 0, "\\"], [32967, 0, "m"], [32968, 0, "a"], [32969, 0, "p"], [32970, 0, "s"], [32971, 0, "t"], [32972, 0, "o"], [32973, 0, "\\"], [32974, 0, ","], [32975, 0, " "], [32976, 0, "\\"], [32977, 0, "m"], [32978, 0, "a"], [32979, 0, "t"], [32980, 0, "h"], [32981, 0, "s"], [32982, 0, "f"], [32983, 0, "{"], [32984, 0, "t"], [32985, 0, "r"], [32986, 0, "u"], [32987, 0, "e"], [32988, 0, "}"], [32989, 0, "\\"], [32990, 0, ","], [32991, 0, "]"], [32992, 0, "$"], [32993, 0, "}"], [32994, 0, "\n"], [32995, 0, "\\"], [32996, 0, "e"], [32997, 0, "n"], [32998, 0, "d"], [32999, 0, "{"], [33000, 0, "p"], [33001, 0, "r"], [33002, 0, "o"], [33003, 0, "o"], [33004, 0, "f"], [33005, 0, "t"], [33006, 0, "r"], [33007, 0, "e"], [33008, 0, "e"], [33009, 0, "}"], [32781, 1], [32781, 1], [32781, 1], [32781, 1], [32781, 1], [32781, 1], [32781, 0, "T"], [32782, 0, "r"], [32783, 0, "i"], [32498, 1], [32497, 1], [32496, 1], [32495, 1], [32494, 1], [32493, 1], [32492, 1], [32491, 1], [32490, 1], [32489, 1], [32488, 1], [32487, 1], [32487, 0, " "], [32488, 0, "\\"], [32489, 0, ","], [32490, 0, "\\"], [32491, 0, "w"], [32492, 0, "e"], [32493, 0, "d"], [32494, 0, "g"], [32495, 0, "e"], [32496, 0, "\\"], [32497, 0, ","], [32498, 0, " "], [33007, 0, "\n"], [33008, 0, "\n"], [33009, 0, "\\"], [33010, 0, "b"], [33011, 0, "e"], [33012, 0, "g"], [33013, 0, "i"], [33014, 0, "n"], [33015, 0, "{"], [33016, 0, "p"], [33017, 0, "r"], [33018, 0, "o"], [33019, 0, "o"], [33020, 0, "f"], [33021, 0, "t"], [33022, 0, "r"], [33023, 0, "e"], [33024, 0, "e"], [33025, 0, "}"], [33026, 0, "\n"], [33027, 0, "\\"], [33028, 0, "A"], [33029, 0, "x"], [33030, 0, "i"], [33031, 0, "o"], [33032, 0, "m"], [33033, 0, "C"], [33034, 0, "{"], [33035, 0, "$"], [33036, 0, "k"], [33037, 0, " "], [33038, 0, "\\"], [33039, 0, "n"], [33040, 0, "o"], [33041, 0, "t"], [33042, 0, "="], [33043, 0, " "], [33044, 0, "\\"], [33045, 0, "m"], [33046, 0, "a"], [33047, 0, "t"], [33048, 0, "h"], [33049, 0, "s"], [33050, 0, "f"], [33051, 0, "{"], [33052, 0, "t"], [33053, 0, "a"], [33054, 0, "i"], [33055, 0, "l"], [33056, 0, "}"], [33057, 0, " "], [33058, 0, "\\"], [33059, 0, ","], [33060, 0, "\\"], [33061, 0, "w"], [33062, 0, "e"], [33063, 0, "d"], [33064, 0, "g"], [33065, 0, "e"], [33066, 0, "\\"], [33067, 0, ","], [33068, 0, " "], [33069, 0, "k"], [33070, 0, " "], [33071, 0, "\\"], [33072, 0, "n"], [33073, 0, "o"], [33074, 0, "t"], [33075, 0, "i"], [33076, 0, "n"], [33077, 0, " "], [33078, 0, "\\"], [33079, 0, "m"], [33080, 0, "a"], [33081, 0, "t"], [33082, 0, "h"], [33083, 0, "i"], [33084, 0, "t"], [33085, 0, "{"], [33086, 0, "d"], [33087, 0, "e"], [33088, 0, "p"], [33089, 0, "s"], [33090, 0, "}"], [33091, 0, "$"], [33092, 0, "}"], [33093, 0, "\n"], [33094, 0, "\\"], [33095, 0, "A"], [33096, 0, "x"], [33097, 0, "i"], [33098, 0, "o"], [33099, 0, "m"], [33100, 0, "C"], [33101, 0, "{"], [33102, 0, "$"], [33103, 0, "\\"], [33104, 0, "m"], [33105, 0, "a"], [33106, 0, "t"], [33107, 0, "h"], [33108, 0, "i"], [33109, 0, "t"], [33110, 0, "{"], [33111, 0, "c"], [33112, 0, "t"], [33113, 0, "x"], [33114, 0, "}"], [33115, 0, "("], [33116, 0, "\\"], [33117, 0, "m"], [33118, 0, "a"], [33119, 0, "t"], [33120, 0, "h"], [33121, 0, "s"], [33122, 0, "f"], [33123, 0, "{"], [33124, 0, "n"], [33125, 0, "e"], [33126, 0, "x"], [33127, 0, "t"], [33128, 0, ")"], [33128, 1], [33128, 0, "}"], [33129, 0, "("], [33130, 0, "k"], [33131, 0, ")"], [33132, 0, ")"], [33133, 0, " "], [33134, 0, "="], [33135, 0, " "], [33136, 0, "\\"], [33137, 0, "m"], [33138, 0, "a"], [33139, 0, "t"], [33140, 0, "h"], [33141, 0, "i"], [33142, 0, "t"], [33143, 0, "{"], [33144, 0, "n"], [33145, 0, "e"], [33146, 0, "x"], [33147, 0, "t"], [33148, 0, "}"], [33149, 0, "$"], [33150, 0, "}"], [33151, 0, "\n"], [33152, 0, "\\"], [33153, 0, "A"], [33154, 0, "x"], [33155, 0, "i"], [33156, 0, "o"], [33157, 0, "m"], [33158, 0, "C"], [33159, 0, "$"], [33159, 1], [33159, 0, "{"], [33160, 0, "$"], [33161, 0, "\\"], [33162, 0, "m"], [33163, 0, "a"], [33164, 0, "t"], [33165, 0, "h"], [33166, 0, "i"], [33167, 0, "t"], [33168, 0, "{"], [33169, 0, "c"], [33170, 0, "t"], [33171, 0, "x"], [33172, 0, "}"], [33173, 0, ","], [33174, 0, "\\"], [33175, 0, ","], [33176, 0, " "], [33177, 0, "\\"], [33178, 0, "m"], [33179, 0, "a"], [33180, 0, "t"], [33181, 0, "h"], [33182, 0, "s"], [33183, 0, "f"], [33184, 0, "{"], [33185, 0, "o"], [33186, 0, "p"], [33187, 0, "}"], [33188, 0, "("], [33189, 0, "\\"], [33190, 0, "m"], [33191, 0, "a"], [33192, 0, "t"], [33193, 0, "h"], [33194, 0, "i"], [33195, 0, "t"], [33196, 0, "{"], [33197, 0, "i"], [33198, 0, "d"], [33199, 0, "}"], [33200, 0, ","], [33201, 0, " "], [33202, 0, "\\"], [33203, 0, "m"], [33204, 0, "a"], [33205, 0, "t"], [33206, 0, "h"], [33207, 0, "i"], [33208, 0, "t"], [33209, 0, "{"], [33210, 0, "d"], [33211, 0, "e"], [33212, 0, "p"], [33213, 0, "s"], [33214, 0, "}"], [33215, 0, ","], [33216, 0, "\n"], [33217, 0, " "], [33218, 0, " "], [33219, 0, " "], [33220, 0, " "], [33221, 0, "\\"], [33222, 0, "m"], [33223, 0, "a"], [33224, 0, "t"], [33225, 0, "h"], [33226, 0, "s"], [33227, 0, "f"], [33228, 0, "{"], [33229, 0, "c"], [33230, 0, "u"], [33231, 0, "r"], [33232, 0, "s"], [33233, 0, "o"], [33234, 0, "r"], [33235, 0, "}"], [33236, 0, "("], [33237, 0, "\\"], [33238, 0, "l"], [33239, 0, "a"], [33240, 0, "n"], [33241, 0, "g"], [33242, 0, "l"], [33243, 0, "e"], [33244, 0, "\\"], [33245, 0, "r"], [33246, 0, "a"], [33247, 0, "n"], [33248, 0, "g"], [33249, 0, "l"], [33250, 0, "e"], [33251, 0, ","], [33252, 0, "\\"], [33253, 0, ","], [33254, 0, " "], [33255, 0, "\\"], [33256, 0, "m"], [33257, 0, "a"], [33258, 0, "t"], [33259, 0, "h"], [33260, 0, "i"], [33261, 0, "t"], [33262, 0, "{"], [33263, 0, "n"], [33264, 0, "e"], [33265, 0, "x"], [33266, 0, "t"], [33267, 0, "}"], [33268, 0, ")"], [33269, 0, ","], [33270, 0, " "], [33271, 0, "\\"], [33272, 0, "m"], [33273, 0, "a"], [33274, 0, "t"], [33275, 0, "h"], [33276, 0, "s"], [33277, 0, "f"], [33278, 0, "{"], [33279, 0, "c"], [33280, 0, "l"], [33281, 0, "e"], [33282, 0, "a"], [33283, 0, "r"], [33284, 0, "E"], [33285, 0, "l"], [33286, 0, "e"], [33287, 0, "m"], [33288, 0, "s"], [33289, 0, "}"], [33290, 0, ")"], [33291, 0, " "], [33292, 0, "\\"], [33293, 0, "e"], [33294, 0, "v"], [33295, 0, "a"], [33296, 0, "l"], [33297, 0, "t"], [33298, 0, "o"], [33299, 0, " "], [33300, 0, "\\"], [33301, 0, "m"], [33302, 0, "a"], [33303, 0, "t"], [33304, 0, "h"], [33305, 0, "i"], [33306, 0, "t"], [33307, 0, "{"], [33308, 0, "c"], [33309, 0, "t"], [33310, 0, "x"], [33311, 0, "}"], [33312, 0, "'"], [33313, 0, "$"], [33314, 0, "}"], [33315, 0, "\n"], [33316, 0, "\\"], [33317, 0, "L"], [33318, 0, "e"], [33319, 0, "f"], [33320, 0, "t"], [33321, 0, "L"], [33322, 0, "a"], [33323, 0, "b"], [33324, 0, "e"], [33325, 0, "l"], [33326, 0, "{"], [33327, 0, "$"], [33328, 0, "\\"], [33329, 0, "t"], [33330, 0, "e"], [33331, 0, "x"], [33332, 0, "t"], [33333, 0, "s"], [33334, 0, "c"], [33335, 0, "{"], [33336, 0, "C"], [33337, 0, "l"], [33338, 0, "e"], [33339, 0, "a"], [33340, 0, "r"], [33341, 0, "-"], [33342, 0, "E"], [33343, 0, "l"], [33344, 0, "e"], [33345, 0, "m"], [33346, 0, "s"], [33347, 0, "}"], [33348, 0, "_"], [33349, 0, "2"], [33350, 0, "$"], [33351, 0, "}"], [33352, 0, "\n"], [33353, 0, "\\"], [33354, 0, "T"], [33355, 0, "r"], [33356, 0, "i"], [33357, 0, "n"], [33358, 0, "a"], [33359, 0, "r"], [33360, 0, "y"], [33361, 0, "I"], [33362, 0, "n"], [33363, 0, "f"], [33364, 0, "C"], [33365, 0, "{"], [33366, 0, "$"], [33367, 0, "\\"], [33368, 0, "m"], [33369, 0, "a"], [33370, 0, "t"], [33371, 0, "h"], [33372, 0, "i"], [33373, 0, "t"], [33374, 0, "{"], [33375, 0, "c"], [33376, 0, "t"], [33377, 0, "x"], [33378, 0, "}"], [33379, 0, ","], [33380, 0, "\\"], [33381, 0, ","], [33382, 0, " "], [33383, 0, "\\"], [33384, 0, "m"], [33385, 0, "a"], [33386, 0, "t"], [33387, 0, "h"], [33388, 0, "s"], [33389, 0, "f"], [33390, 0, "{"], [33391, 0, "o"], [33392, 0, "p"], [33393, 0, "}"], [33394, 0, "("], [33395, 0, "\\"], [33396, 0, "m"], [33397, 0, "a"], [33398, 0, "t"], [33399, 0, "h"], [33400, 0, "i"], [33401, 0, "t"], [33402, 0, "{"], [33403, 0, "i"], [33404, 0, "d"], [33405, 0, "}"], [33406, 0, ","], [33407, 0, " "], [33408, 0, "\\"], [33409, 0, "m"], [33410, 0, "a"], [33411, 0, "t"], [33412, 0, "h"], [33413, 0, "i"], [33414, 0, "t"], [33415, 0, "{"], [33416, 0, "d"], [33417, 0, "e"], [33418, 0, "p"], [33419, 0, "s"], [33420, 0, "}"], [33421, 0, ","], [33422, 0, "\n"], [33423, 0, " "], [33424, 0, " "], [33425, 0, " "], [33426, 0, " "], [33427, 0, "\\"], [33428, 0, "m"], [33429, 0, "a"], [33430, 0, "t"], [33431, 0, "h"], [33432, 0, "s"], [33433, 0, "f"], [33434, 0, "{"], [33435, 0, "c"], [33436, 0, "u"], [33437, 0, "r"], [33438, 0, "s"], [33439, 0, "o"], [33440, 0, "r"], [33441, 0, "}"], [33442, 0, "("], [33443, 0, "\\"], [33444, 0, "l"], [33445, 0, "a"], [33446, 0, "n"], [33447, 0, "g"], [33448, 0, "l"], [33449, 0, "e"], [33450, 0, "\\"], [33451, 0, "r"], [33452, 0, "a"], [33453, 0, "n"], [33454, 0, "g"], [33455, 0, "l"], [33456, 0, "e"], [33457, 0, ","], [33458, 0, "\\"], [33459, 0, ","], [33460, 0, " "], [33461, 0, "k"], [33462, 0, ")"], [33463, 0, ","], [33464, 0, " "], [33465, 0, "\\"], [33466, 0, "m"], [33467, 0, "a"], [33468, 0, "t"], [33469, 0, "h"], [33470, 0, "s"], [33471, 0, "f"], [33472, 0, "{"], [33473, 0, "c"], [33474, 0, "l"], [33475, 0, "e"], [33476, 0, "a"], [33477, 0, "r"], [33478, 0, "E"], [33479, 0, "l"], [33480, 0, "e"], [33481, 0, "m"], [33482, 0, "e"], [33483, 0, "s"], [33483, 1], [33482, 1], [33482, 0, "s"], [33483, 0, "}"], [33484, 0, ")"], [33485, 0, " "], [33486, 0, "\\"], [33487, 0, "e"], [33488, 0, "v"], [33489, 0, "a"], [33490, 0, "l"], [33491, 0, "t"], [33492, 0, "o"], [33493, 0, "\n"], [33493, 1], [33493, 0, " "], [33494, 0, "\\"], [33495, 0, "m"], [33496, 0, "a"], [33497, 0, "t"], [33498, 0, "h"], [33499, 0, "i"], [33500, 0, "t"], [33501, 0, "{"], [33502, 0, "c"], [33503, 0, "t"], [33504, 0, "x"], [33505, 0, "}"], [33506, 0, "'"], [33507, 0, "$"], [33508, 0, "}"], [33509, 0, "\n"], [33510, 0, "\\"], [33511, 0, "e"], [33512, 0, "n"], [33513, 0, "d"], [33514, 0, "{"], [33515, 0, "["], [33515, 1], [33515, 0, "p"], [33516, 0, "r"], [33517, 0, "o"], [33518, 0, "o"], [33519, 0, "f"], [33520, 0, "t"], [33521, 0, "r"], [33522, 0, "e"], [33523, 0, "e"], [33524, 0, "}"], [33525, 0, "\n"], [33526, 0, "\n"], [33527, 0, "\\"], [33528, 0, "b"], [33529, 0, "e"], [33530, 0, "g"], [33531, 0, "i"], [33532, 0, "n"], [33533, 0, "{"], [33534, 0, "p"], [33535, 0, "r"], [33536, 0, "o"], [33537, 0, "o"], [33538, 0, "f"], [33539, 0, "t"], [33540, 0, "r"], [33541, 0, "e"], [33542, 0, "e"], [33543, 0, "}"], [33544, 0, "\n"], [33545, 0, "\\"], [33546, 0, "e"], [33547, 0, "n"], [33548, 0, "d"], [33549, 0, "{"], [33550, 0, "p"], [33551, 0, "r"], [33552, 0, "o"], [33553, 0, "o"], [33554, 0, "f"], [33555, 0, "t"], [33556, 0, "r"], [33557, 0, "e"], [33558, 0, "e"], [33559, 0, "}"], [33544, 0, "\n"], [33545, 0, "\\"], [33546, 0, "A"], [33547, 0, "x"], [33548, 0, "i"], [33549, 0, "o"], [33550, 0, "m"], [33551, 0, "C"], [33552, 0, "{"], [33553, 0, "$"], [33554, 0, "k"], [33555, 0, " "], [33556, 0, "="], [33557, 0, " "], [33558, 0, "\\"], [33559, 0, "m"], [33560, 0, "a"], [33561, 0, "t"], [33562, 0, "h"], [33563, 0, "s"], [33564, 0, "f"], [33564, 1], [33563, 1], [33563, 0, "s"], [33564, 0, "f"], [33565, 0, "{"], [33566, 0, "t"], [33567, 0, "a"], [33568, 0, "i"], [33569, 0, "l"], [33570, 0, "}"], [33571, 0, "$"], [33572, 0, "}"], [33573, 0, "\n"], [33574, 0, "\\"], [33575, 0, "L"], [33576, 0, "e"], [33577, 0, "f"], [33578, 0, "t"], [33579, 0, "L"], [33580, 0, "a"], [33581, 0, "b"], [33582, 0, "e"], [33583, 0, "l"], [33584, 0, "{"], [33585, 0, "$"], [33586, 0, "\\"], [33587, 0, "t"], [33588, 0, "e"], [33589, 0, "x"], [33590, 0, "t"], [33591, 0, "s"], [33592, 0, "c"], [33593, 0, "{"], [33594, 0, "C"], [33595, 0, "l"], [33596, 0, "e"], [33597, 0, "a"], [33598, 0, "r"], [33599, 0, "-"], [33600, 0, "E"], [33601, 0, "l"], [33602, 0, "e"], [33603, 0, "m"], [33604, 0, "s"], [33605, 0, "}"], [33606, 0, "_"], [33607, 0, "3"], [33608, 0, "$"], [33609, 0, "}"], [33610, 0, "\n"], [33611, 0, "\\"], [33612, 0, "U"], [33613, 0, "n"], [33614, 0, "a"], [33615, 0, "r"], [33616, 0, "y"], [33617, 0, "I"], [33618, 0, "n"], [33619, 0, "f"], [33620, 0, "C"], [33621, 0, "{"], [33622, 0, "$"], [33623, 0, "\\"], [33624, 0, "m"], [33625, 0, "a"], [33626, 0, "t"], [33627, 0, "h"], [33628, 0, "i"], [33629, 0, "t"], [33630, 0, "{"], [33631, 0, "c"], [33632, 0, "t"], [33633, 0, "x"], [33634, 0, "}"], [33635, 0, ","], [33636, 0, "\\"], [33637, 0, ","], [33638, 0, " "], [33639, 0, "\\"], [33640, 0, "m"], [33641, 0, "a"], [33642, 0, "t"], [33643, 0, "h"], [33644, 0, "s"], [33645, 0, "f"], [33646, 0, "{"], [33647, 0, "o"], [33648, 0, "p"], [33649, 0, "}"], [33650, 0, "("], [33651, 0, "\\"], [33652, 0, "m"], [33653, 0, "a"], [33654, 0, "t"], [33655, 0, "h"], [33656, 0, "i"], [33657, 0, "t"], [33658, 0, "{"], [33659, 0, "i"], [33660, 0, "d"], [33661, 0, "}"], [33662, 0, ","], [33663, 0, " "], [33664, 0, "\\"], [33665, 0, "m"], [33666, 0, "a"], [33667, 0, "t"], [33668, 0, "h"], [33669, 0, "i"], [33670, 0, "t"], [33671, 0, "{"], [33672, 0, "d"], [33673, 0, "e"], [33674, 0, "p"], [33675, 0, "s"], [33676, 0, "}"], [33677, 0, ","], [33678, 0, "\n"], [33679, 0, " "], [33680, 0, " "], [33681, 0, " "], [33682, 0, " "], [33683, 0, "\\"], [33684, 0, "m"], [33685, 0, "a"], [33686, 0, "t"], [33687, 0, "h"], [33688, 0, "s"], [33689, 0, "f"], [33690, 0, "{"], [33691, 0, "c"], [33692, 0, "u"], [33693, 0, "r"], [33694, 0, "s"], [33695, 0, "o"], [33696, 0, "r"], [33697, 0, "}"], [33698, 0, "("], [33699, 0, "\\"], [33700, 0, "l"], [33701, 0, "a"], [33702, 0, "n"], [33703, 0, "g"], [33704, 0, "l"], [33705, 0, "e"], [33706, 0, "\\"], [33707, 0, "r"], [33708, 0, "a"], [33709, 0, "n"], [33710, 0, "g"], [33711, 0, "l"], [33712, 0, "e"], [33713, 0, ","], [33714, 0, "\\"], [33715, 0, ","], [33716, 0, " "], [33717, 0, "k"], [33718, 0, ")"], [33719, 0, ","], [33720, 0, " "], [33721, 0, "\\"], [33722, 0, "m"], [33723, 0, "a"], [33724, 0, "t"], [33725, 0, "h"], [33726, 0, "s"], [33727, 0, "f"], [33728, 0, "{"], [33729, 0, "c"], [33730, 0, "l"], [33731, 0, "e"], [33732, 0, "a"], [33733, 0, "r"], [33734, 0, "E"], [33735, 0, "l"], [33736, 0, "e"], [33737, 0, "m"], [33738, 0, "s"], [33739, 0, "}"], [33740, 0, ")"], [33741, 0, " "], [33742, 0, "\\"], [33743, 0, "e"], [33744, 0, "v"], [33745, 0, "a"], [33746, 0, "l"], [33747, 0, "t"], [33748, 0, "o"], [33749, 0, " "], [33750, 0, "\\"], [33751, 0, "m"], [33752, 0, "a"], [33753, 0, "t"], [33754, 0, "h"], [33755, 0, "i"], [33756, 0, "t"], [33757, 0, "{"], [33758, 0, "c"], [33759, 0, "t"], [33760, 0, "x"], [33761, 0, "}"], [33762, 0, "$"], [33763, 0, "}"], [33764, 0, "\n"], [33765, 0, "\\"], [33766, 0, "e"], [33767, 0, "n"], [33768, 0, "d"], [33769, 0, "{"], [33770, 0, "p"], [33771, 0, "r"], [33772, 0, "o"], [33773, 0, "o"], [33774, 0, "f"], [33775, 0, "t"], [33776, 0, "r"], [33777, 0, "e"], [33778, 0, "e"], [33779, 0, "}"], [33795, 1], [33794, 1], [33793, 1], [33792, 1], [33791, 1], [33790, 1], [33789, 1], [33788, 1], [33787, 1], [33786, 1], [33785, 1], [33784, 1], [33783, 1], [33782, 1], [33781, 1], [33780, 1], [34174, 0, "\n"], [34175, 0, "\\"], [34176, 0, "i"], [34177, 0, "t"], [34178, 0, "e"], [34179, 0, "m"], [34180, 0, " "], [34181, 0, "C"], [34181, 1], [34181, 0, "C"], [34182, 0, "l"], [34183, 0, "e"], [34184, 0, "a"], [34185, 0, "r"], [34186, 0, "i"], [34187, 0, "n"], [34188, 0, "g"], [34189, 0, " "], [34190, 0, "a"], [34191, 0, " "], [34192, 0, "s"], [34193, 0, "t"], [34194, 0, "r"], [34195, 0, "u"], [34196, 0, "c"], [34197, 0, "t"], [34198, 0, "u"], [34199, 0, "r"], [34200, 0, "e"], [34201, 0, " "], [34202, 0, "s"], [34203, 0, "h"], [34204, 0, "o"], [34205, 0, "u"], [34206, 0, "l"], [34207, 0, "d"], [34208, 0, " "], [34209, 0, "r"], [34210, 0, "e"], [34211, 0, "m"], [34212, 0, "o"], [34213, 0, "v"], [34214, 0, "e"], [34215, 0, " "], [34216, 0, "i"], [34217, 0, "t"], [34218, 0, " "], [34219, 0, "i"], [34220, 0, "f"], [34221, 0, " "], [34222, 0, "t"], [34223, 0, "h"], [34224, 0, "e"], [34225, 0, "r"], [34226, 0, "e"], [34227, 0, " "], [34228, 0, "a"], [34229, 0, "r"], [34230, 0, "e"], [34231, 0, " "], [34232, 0, "n"], [34233, 0, "o"], [34234, 0, " "], [34235, 0, "c"], [34236, 0, "o"], [34237, 0, "n"], [34238, 0, "c"], [34239, 0, "u"], [34240, 0, "r"], [34241, 0, "r"], [34242, 0, "e"], [34243, 0, "n"], [34244, 0, "t"], [34245, 0, " "], [34246, 0, "m"], [34247, 0, "u"], [34248, 0, "t"], [34249, 0, "a"], [34250, 0, "t"], [34251, 0, "i"], [34252, 0, "o"], [34253, 0, "n"], [34254, 0, "s"], [34255, 0, " "], [34256, 0, "t"], [34257, 0, "o"], [34258, 0, " "], [34259, 0, "t"], [34260, 0, "h"], [34261, 0, "e"], [34262, 0, " "], [34263, 0, "s"], [34264, 0, "t"], [34265, 0, "r"], [34266, 0, "u"], [34267, 0, "c"], [34268, 0, "t"], [34269, 0, "u"], [34270, 0, "r"], [34271, 0, "e"], [30747, 1], [30746, 1], [30745, 1], [30744, 1], [30743, 1], [30742, 1], [30742, 0, "i"], [30743, 0, "n"], [30744, 0, "s"], [30745, 0, "e"], [30746, 0, "r"], [30747, 0, "t"], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 1], [27979, 0, "\\"], [27980, 0, "b"], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [27439, 1], [26984, 1], [26983, 1], [26982, 1], [26981, 1], [26980, 1], [26979, 1], [26978, 1], [26977, 1], [26976, 1], [26975, 1], [26974, 1], [26973, 1], [26972, 1], [26971, 1], [26970, 1], [26969, 1], [26968, 1], [26967, 1], [26966, 1], [26965, 1], [26964, 1], [26976, 1], [26976, 0, ","], [26977, 0, "\\"], [26978, 0, ","], [26979, 0, " "], [26980, 0, "k"], [26981, 0, "_"], [26982, 0, "1"], [26983, 0, " "], [26984, 0, "e"], [26984, 1], [26984, 0, "\\"], [26985, 0, "e"], [26986, 0, "v"], [26987, 0, "a"], [26988, 0, "l"], [26989, 0, "t"], [26990, 0, "o"], [26991, 0, " "], [26992, 0, "\\"], [26993, 0, "m"], [26994, 0, "a"], [26995, 0, "t"], [26996, 0, "h"], [26997, 0, "i"], [26998, 0, "t"], [26999, 0, "{"], [27000, 0, "c"], [27001, 0, "h"], [27002, 0, "i"], [27003, 0, "l"], [27004, 0, "d"], [27005, 0, "}"], [27030, 1], [27030, 1], [27030, 1], [27030, 1], [27030, 1], [27028, 1], [27027, 1], [27027, 0, "h"], [27028, 0, "i"], [27029, 0, "l"], [27030, 0, "d"], [27018, 0, "\\"], [27019, 0, "b"], [27020, 0, "e"], [27021, 0, "g"], [27022, 0, "i"], [27023, 0, "n"], [27024, 0, "{"], [27025, 0, "m"], [27026, 0, "a"], [27027, 0, "t"], [27028, 0, "r"], [27029, 0, "i"], [27030, 0, "x"], [27031, 0, "}"], [27032, 0, "\n"], [27033, 0, " "], [27034, 0, " "], [27035, 0, " "], [27036, 0, " "], [27094, 0, " "], [27095, 0, "\\"], [27096, 0, "\\"], [27197, 1], [27196, 1], [27195, 1], [27194, 1], [27193, 1], [27193, 0, "c"], [27194, 0, "h"], [27195, 0, "i"], [27196, 0, "l"], [27197, 0, "d"], [27199, 0, "'"], [27200, 0, "\n"], [27201, 0, " "], [27202, 0, " "], [27203, 0, " "], [27204, 0, " "], [27205, 0, "\\"], [27206, 0, "e"], [27207, 0, "n"], [27208, 0, "d"], [27209, 0, "{"], [27210, 0, "m"], [27211, 0, "a"], [27212, 0, "t"], [27213, 0, "r"], [27214, 0, "i"], [27215, 0, "x"], [27216, 0, "}"], [27217, 0, " "], [27177, 0, "\\"], [27178, 0, "\\"], [27179, 0, "\n"], [27180, 0, " "], [27181, 0, " "], [27182, 0, " "], [27183, 0, " "], [27183, 1], [27182, 1], [27181, 1], [27180, 1], [27179, 1], [27178, 1], [27177, 1], [27220, 0, "\n"], [27221, 0, "\\"], [27222, 0, "A"], [27223, 0, "x"], [27224, 0, "i"], [27225, 0, "o"], [27226, 0, "m"], [27227, 0, "C"], [27228, 0, "{"], [27229, 0, "$"], [27230, 0, "\\"], [27231, 0, "m"], [27232, 0, "a"], [27233, 0, "t"], [27234, 0, "h"], [27235, 0, "i"], [27236, 0, "t"], [27237, 0, "{"], [27238, 0, "c"], [27239, 0, "t"], [27240, 0, "x"], [27241, 0, "}"], [27242, 0, ","], [27243, 0, "\\"], [27244, 0, ","], [27245, 0, " "], [27246, 0, "\\"], [27247, 0, "m"], [27248, 0, "a"], [27249, 0, "t"], [27250, 0, "h"], [27251, 0, "s"], [27252, 0, "f"], [27253, 0, "{"], [27254, 0, "a"], [27255, 0, "d"], [27256, 0, "d"], [27257, 0, "I"], [27258, 0, "d"], [27259, 0, "}"], [27260, 0, "("], [27261, 0, "k"], [27262, 0, "_"], [27263, 0, "1"], [27264, 0, ","], [27265, 0, " "], [27266, 0, "\\"], [27267, 0, "m"], [27268, 0, "a"], [27269, 0, "t"], [27270, 0, "h"], [27271, 0, "i"], [27272, 0, "t"], [27273, 0, "{"], [27274, 0, "i"], [27275, 0, "d"], [27276, 0, "}"], [27277, 0, ")"], [27278, 0, " "], [27279, 0, "\\"], [27280, 0, "e"], [27281, 0, "v"], [27282, 0, "a"], [27283, 0, "l"], [27284, 0, "t"], [27285, 0, "o"], [27286, 0, " "], [27287, 0, "\\"], [27288, 0, "m"], [27289, 0, "a"], [27290, 0, "t"], [27291, 0, "h"], [27292, 0, "i"], [27293, 0, "t"], [27294, 0, "{"], [27295, 0, "c"], [27296, 0, "t"], [27297, 0, "x"], [27298, 0, "}"], [27299, 0, "'"], [27300, 0, "$"], [27301, 0, "}"], [27333, 1], [27333, 0, "T"], [27334, 0, "r"], [27510, 0, "'"], [27543, 1], [27542, 1], [27541, 1], [27540, 1], [27539, 1], [27539, 0, "c"], [27540, 0, "h"], [27541, 0, "i"], [27542, 0, "l"], [27543, 0, "d"], [27545, 0, "'"], [27511, 0, " "], [27571, 0, "\\"], [27572, 0, "b"], [27573, 0, "e"], [27574, 0, "g"], [27575, 0, "i"], [27576, 0, "n"], [27577, 0, "{"], [27578, 0, "c"], [27579, 0, "e"], [27580, 0, "n"], [27581, 0, "t"], [27582, 0, "e"], [27583, 0, "r"], [27584, 0, "}"], [27585, 0, "\n"], [27586, 0, "\\"], [27587, 0, "e"], [27588, 0, "n"], [27589, 0, "d"], [27590, 0, "{"], [27591, 0, "c"], [27592, 0, "e"], [27593, 0, "n"], [27594, 0, "t"], [27595, 0, "e"], [27596, 0, "r"], [27597, 0, "}"], [27585, 0, "\n"], [27586, 0, "\\"], [27587, 0, "A"], [27588, 0, "x"], [27589, 0, "i"], [27590, 0, "o"], [27591, 0, "m"], [27592, 0, "C"], [27593, 0, "{"], [27594, 0, "$"], [27595, 0, "k"], [27596, 0, " "], [27597, 0, "\\"], [27598, 0, "i"], [27599, 0, "n"], [27600, 0, " "], [27601, 0, "\\"], [27602, 0, "m"], [27603, 0, "a"], [27604, 0, "t"], [27605, 0, "h"], [27606, 0, "r"], [27607, 0, "m"], [27608, 0, "{"], [27609, 0, "d"], [27610, 0, "o"], [27611, 0, "m"], [27612, 0, "}"], [27613, 0, "("], [27614, 0, "\\"], [27615, 0, "m"], [27616, 0, "a"], [27617, 0, "t"], [27618, 0, "h"], [27619, 0, "i"], [27620, 0, "t"], [27621, 0, "{"], [27622, 0, "c"], [27623, 0, "t"], [27624, 0, "x"], [27625, 0, "}"], [27626, 0, ")"], [27627, 0, "$"], [27628, 0, "}"], [27629, 0, "\n"], [27630, 0, "\\"], [27631, 0, "L"], [27632, 0, "e"], [27633, 0, "f"], [27634, 0, "t"], [27635, 0, "L"], [27636, 0, "a"], [27637, 0, "b"], [27638, 0, "e"], [27639, 0, "l"], [27640, 0, "{"], [27641, 0, "\\"], [27642, 0, "t"], [27643, 0, "e"], [27643, 1], [27642, 1], [27641, 1], [27641, 0, "$"], [27642, 0, "\\"], [27643, 0, "t"], [27644, 0, "e"], [27645, 0, "x"], [27646, 0, "t"], [27647, 0, "s"], [27648, 0, "c"], [27649, 0, "{"], [27650, 0, "C"], [27651, 0, "h"], [27652, 0, "i"], [27653, 0, "l"], [27654, 0, "d"], [27655, 0, "}"], [27656, 0, "_"], [27657, 0, "1"], [27658, 0, "$"], [27659, 0, "}"], [27660, 0, "\n"], [27661, 0, "\\"], [27662, 0, "U"], [27663, 0, "n"], [27664, 0, "a"], [27665, 0, "r"], [27666, 0, "y"], [27667, 0, "I"], [27668, 0, "n"], [27669, 0, "f"], [27670, 0, "C"], [27671, 0, "{"], [27672, 0, "$"], [27673, 0, "\\"], [27674, 0, "m"], [27675, 0, "a"], [27676, 0, "t"], [27677, 0, "h"], [27678, 0, "i"], [27679, 0, "t"], [27680, 0, "{"], [27681, 0, "c"], [27682, 0, "t"], [27683, 0, "x"], [27684, 0, "}"], [27685, 0, ","], [27686, 0, "\\"], [27687, 0, ","], [27688, 0, " "], [27689, 0, "\\"], [27689, 1], [27689, 0, "k"], [27690, 0, " "], [27691, 0, "\\"], [27692, 0, "e"], [27693, 0, "v"], [27694, 0, "a"], [27695, 0, "l"], [27696, 0, "t"], [27697, 0, "o"], [27698, 0, " "], [27699, 0, "\\"], [27700, 0, "m"], [27701, 0, "a"], [27702, 0, "t"], [27703, 0, "h"], [27704, 0, "i"], [27705, 0, "t"], [27706, 0, "{"], [27707, 0, "c"], [27708, 0, "t"], [27709, 0, "x"], [27710, 0, "}"], [27711, 0, "("], [27712, 0, "k"], [27713, 0, ")"], [27714, 0, "$"], [27715, 0, "}"], [27716, 0, "\n"], [27717, 0, "\\"], [27718, 0, "D"], [27719, 0, "i"], [27720, 0, "s"], [27721, 0, "p"], [27722, 0, "l"], [27723, 0, "a"], [27724, 0, "y"], [27725, 0, "P"], [27726, 0, "r"], [27727, 0, "o"], [27728, 0, "o"], [27729, 0, "f"], [27730, 0, "\\"], [27731, 0, "h"], [27732, 0, "f"], [27733, 0, "i"], [27734, 0, "l"], [27735, 0, "l"], [27735, 1], [27734, 1], [27733, 1], [27732, 1], [27732, 0, "s"], [27733, 0, "p"], [27734, 0, "a"], [27735, 0, "c"], [27736, 0, "e"], [27737, 0, "{"], [27738, 0, "3"], [27739, 0, "e"], [27740, 0, "m"], [27741, 0, "}"], [27742, 0, "\n"], [27743, 0, "%"], [27744, 0, "\n"], [27745, 0, "\\"], [27746, 0, "A"], [27747, 0, "x"], [27748, 0, "i"], [27749, 0, "o"], [27750, 0, "m"], [27751, 0, "C"], [27752, 0, "{"], [27753, 0, "$"], [27754, 0, "\\"], [27755, 0, "m"], [27756, 0, "a"], [27757, 0, "t"], [27758, 0, "h"], [27759, 0, "s"], [27760, 0, "f"], [27761, 0, "{"], [27762, 0, "m"], [27763, 0, "a"], [27764, 0, "p"], [27765, 0, "T"], [27766, 0, "}"], [27767, 0, "("], [27768, 0, "k"], [27769, 0, ")"], [27770, 0, " "], [27771, 0, "\\"], [27772, 0, "n"], [27773, 0, "o"], [27774, 0, "t"], [27775, 0, "i"], [27776, 0, "n"], [27777, 0, " "], [27778, 0, "\\"], [27779, 0, "m"], [27780, 0, "a"], [27781, 0, "t"], [27782, 0, "h"], [27783, 0, "i"], [27783, 1], [27783, 0, "r"], [27784, 0, "m"], [27785, 0, "{"], [27786, 0, "d"], [27787, 0, "o"], [27788, 0, "m"], [27789, 0, "}"], [27790, 0, "("], [27791, 0, "\\"], [27792, 0, "m"], [27793, 0, "a"], [27794, 0, "t"], [27795, 0, "h"], [27796, 0, "i"], [27797, 0, "t"], [27798, 0, "{"], [27799, 0, "c"], [27800, 0, "t"], [27801, 0, "x"], [27802, 0, "}"], [27803, 0, ")"], [27804, 0, "$"], [27805, 0, "}"], [27806, 0, "\n"], [27807, 0, "\\"], [27808, 0, "L"], [27809, 0, "e"], [27810, 0, "f"], [27811, 0, "t"], [27812, 0, "L"], [27813, 0, "a"], [27814, 0, "b"], [27815, 0, "e"], [27816, 0, "l"], [27817, 0, "{"], [27818, 0, "$"], [27819, 0, "\\"], [27820, 0, "t"], [27821, 0, "e"], [27822, 0, "x"], [27823, 0, "t"], [27824, 0, "s"], [27825, 0, "c"], [27826, 0, "{"], [27827, 0, "C"], [27828, 0, "h"], [27829, 0, "i"], [27830, 0, "l"], [27831, 0, "d"], [27832, 0, "_"], [27832, 1], [27832, 0, "}"], [27833, 0, "_"], [27834, 0, "2"], [27835, 0, "$"], [27836, 0, "}"], [27837, 0, "\n"], [27838, 0, "\\"], [27839, 0, "U"], [27840, 0, "n"], [27841, 0, "a"], [27842, 0, "r"], [27843, 0, "y"], [27844, 0, "I"], [27845, 0, "n"], [27846, 0, "f"], [27847, 0, "C"], [27848, 0, "{"], [27849, 0, "$"], [27850, 0, "\\"], [27851, 0, "m"], [27852, 0, "a"], [27853, 0, "t"], [27854, 0, "h"], [27855, 0, "i"], [27856, 0, "t"], [27857, 0, "{"], [27858, 0, "c"], [27859, 0, "t"], [27860, 0, "x"], [27861, 0, "}"], [27862, 0, ","], [27863, 0, "\\"], [27864, 0, ","], [27865, 0, " "], [27866, 0, "\\"], [27867, 0, "m"], [27868, 0, "a"], [27869, 0, "t"], [27870, 0, "h"], [27871, 0, "s"], [27872, 0, "f"], [27873, 0, "{"], [27874, 0, "m"], [27875, 0, "a"], [27876, 0, "p"], [27877, 0, "T"], [27878, 0, "}"], [27879, 0, "("], [27880, 0, "k"], [27881, 0, ")"], [27882, 0, " "], [27883, 0, "e"], [27883, 1], [27883, 0, "\\"], [27884, 0, "e"], [27885, 0, "v"], [27886, 0, "a"], [27887, 0, "l"], [27888, 0, "t"], [27889, 0, "o"], [27890, 0, " "], [27891, 0, "\\"], [27892, 0, "{"], [27893, 0, "\\"], [27894, 0, "}"], [27895, 0, "$"], [27896, 0, "}"], [27897, 0, "\n"], [27898, 0, "\\"], [27899, 0, "D"], [27900, 0, "i"], [27901, 0, "s"], [27902, 0, "p"], [27903, 0, "l"], [27904, 0, "a"], [27905, 0, "y"], [27906, 0, "P"], [27907, 0, "r"], [27908, 0, "o"], [27909, 0, "o"], [27910, 0, "f"], [27911, 0, "\\"], [27912, 0, "p"], [27913, 0, "r"], [27914, 0, "o"], [27915, 0, "o"], [27916, 0, "f"], [27917, 0, "S"], [27918, 0, "k"], [27919, 0, "i"], [27920, 0, "p"], [27921, 0, "A"], [27922, 0, "m"], [27923, 0, "o"], [27924, 0, "u"], [27925, 0, "b"], [27926, 0, "n"], [27927, 0, "t"], [27927, 1], [27926, 1], [27925, 1], [27925, 0, "n"], [27926, 0, "t"], [27940, 0, "\n"], [27941, 0, "\n"], [27942, 0, "\\"], [27943, 0, "b"], [27944, 0, "e"], [27945, 0, "g"], [27946, 0, "i"], [27947, 0, "n"], [27948, 0, "{"], [27949, 0, "c"], [27950, 0, "e"], [27951, 0, "n"], [27952, 0, "t"], [27953, 0, "e"], [27954, 0, "r"], [27955, 0, "}"], [27956, 0, "\n"], [27957, 0, "\\"], [27958, 0, "A"], [27959, 0, "x"], [27960, 0, "i"], [27961, 0, "o"], [27962, 0, "m"], [27963, 0, "C"], [27964, 0, "{"], [27965, 0, "$"], [27966, 0, "k"], [27967, 0, " "], [27968, 0, "\\"], [27969, 0, "n"], [27970, 0, "o"], [27971, 0, "t"], [27972, 0, "i"], [27973, 0, "n"], [27974, 0, " "], [27975, 0, "\\"], [27976, 0, "m"], [27977, 0, "a"], [27978, 0, "t"], [27979, 0, "h"], [27980, 0, "r"], [27981, 0, "m"], [27982, 0, "{"], [27983, 0, "d"], [27984, 0, "o"], [27985, 0, "m"], [27986, 0, "}"], [27987, 0, "("], [27988, 0, "\\"], [27989, 0, "m"], [27990, 0, "a"], [27991, 0, "t"], [27992, 0, "h"], [27993, 0, "i"], [27994, 0, "t"], [27995, 0, "{"], [27996, 0, "c"], [27997, 0, "t"], [27998, 0, "x"], [27999, 0, "}"], [28000, 0, ")"], [28001, 0, "$"], [28002, 0, "}"], [28003, 0, "\n"], [28004, 0, "\\"], [28005, 0, "L"], [28006, 0, "e"], [28007, 0, "f"], [28008, 0, "t"], [28009, 0, "L"], [28010, 0, "a"], [28011, 0, "b"], [28012, 0, "e"], [28013, 0, "l"], [28014, 0, "{"], [28015, 0, "$"], [28016, 0, "\\"], [28017, 0, "t"], [28018, 0, "e"], [28019, 0, "x"], [28020, 0, "t"], [28021, 0, "s"], [28022, 0, "c"], [28023, 0, "{"], [28024, 0, "C"], [28025, 0, "h"], [28026, 0, "i"], [28027, 0, "l"], [28028, 0, "d"], [28029, 0, "}"], [28030, 0, "_"], [28031, 0, "3"], [28032, 0, "$"], [28033, 0, "}"], [28034, 0, "\n"], [28035, 0, "\\"], [28036, 0, "U"], [28037, 0, "n"], [28038, 0, "a"], [28039, 0, "r"], [28040, 0, "y"], [28041, 0, "I"], [28042, 0, "n"], [28043, 0, "f"], [28044, 0, "C"], [28045, 0, "{"], [28046, 0, "$"], [28047, 0, "\\"], [28048, 0, "m"], [28049, 0, "a"], [28050, 0, "t"], [28051, 0, "h"], [28052, 0, "i"], [28053, 0, "t"], [28054, 0, "{"], [28055, 0, "c"], [28056, 0, "t"], [28057, 0, "x"], [28058, 0, "}"], [28059, 0, ","], [28060, 0, "\\"], [28061, 0, ","], [28062, 0, " "], [28063, 0, "\\"], [28064, 0, "m"], [28065, 0, "a"], [28066, 0, "t"], [28067, 0, "h"], [28068, 0, "s"], [28069, 0, "f"], [28070, 0, "{"], [28071, 0, "l"], [28072, 0, "i"], [28073, 0, "s"], [28074, 0, "t"], [28075, 0, "T"], [28076, 0, "}"], [28077, 0, "("], [28078, 0, "k"], [28079, 0, ")"], [28080, 0, " "], [28081, 0, "\\"], [28082, 0, "e"], [28083, 0, "v"], [28084, 0, "a"], [28085, 0, "l"], [28086, 0, "t"], [28087, 0, "o"], [28088, 0, " "], [28089, 0, "\\"], [28090, 0, "{"], [28091, 0, "\\"], [28092, 0, ","], [28093, 0, "\\"], [28094, 0, "m"], [28095, 0, "a"], [28096, 0, "t"], [28097, 0, "h"], [28098, 0, "s"], [28099, 0, "f"], [28100, 0, "{"], [28101, 0, "n"], [28102, 0, "e"], [28103, 0, "x"], [28104, 0, "t"], [28105, 0, "}"], [28106, 0, "("], [28107, 0, "\\"], [28108, 0, "m"], [28109, 0, "a"], [28110, 0, "t"], [28111, 0, "h"], [28112, 0, "s"], [28113, 0, "f"], [28114, 0, "{"], [28115, 0, "h"], [28116, 0, "e"], [28117, 0, "a"], [28118, 0, "d"], [28119, 0, "}"], [28120, 0, ")"], [28121, 0, " "], [28122, 0, "\\"], [28123, 0, "m"], [28124, 0, "a"], [28125, 0, "p"], [28126, 0, "s"], [28127, 0, "t"], [28128, 0, "o"], [28129, 0, " "], [28122, 0, "\\"], [28123, 0, ","], [28131, 0, "\\"], [28132, 0, ","], [28088, 0, "\n"], [28089, 0, " "], [28090, 0, " "], [28091, 0, " "], [28138, 0, "\\"], [28139, 0, "m"], [28140, 0, "a"], [28141, 0, "t"], [28142, 0, "h"], [28143, 0, "s"], [28144, 0, "f"], [28145, 0, "{"], [28146, 0, "t"], [28147, 0, "a"], [28148, 0, "i"], [28149, 0, "l"], [28150, 0, "}"], [28151, 0, " "], [28152, 0, "\\"], [28153, 0, ","], [28154, 0, "\\"], [28155, 0, "}"], [28156, 0, "$"], [28157, 0, "}"], [28158, 0, "\n"], [28159, 0, "\\"], [28160, 0, "D"], [28161, 0, "i"], [28162, 0, "s"], [28163, 0, "p"], [28164, 0, "l"], [28165, 0, "a"], [28166, 0, "y"], [28167, 0, "P"], [28168, 0, "r"], [28169, 0, "o"], [28170, 0, "o"], [28171, 0, "f"], [28172, 0, "\\"], [28173, 0, "h"], [28174, 0, "s"], [28175, 0, "p"], [28176, 0, "a"], [28177, 0, "c"], [28178, 0, "e"], [28179, 0, "{"], [28180, 0, "3"], [28181, 0, "e"], [28182, 0, "m"], [28183, 0, "}"], [28184, 0, "\n"], [28185, 0, "%"], [28186, 0, "$"], [28186, 1], [28186, 0, "\n"], [28187, 0, "\\"], [28188, 0, "A"], [28189, 0, "x"], [28190, 0, "i"], [28191, 0, "o"], [28192, 0, "m"], [28193, 0, "C"], [28194, 0, "{"], [28195, 0, "$"], [28196, 0, "\\"], [28197, 0, "m"], [28198, 0, "a"], [28199, 0, "t"], [28200, 0, "h"], [27966, 0, "\\"], [27967, 0, "m"], [27968, 0, "a"], [27969, 0, "t"], [27970, 0, "h"], [27971, 0, "s"], [27972, 0, "f"], [27973, 0, "{"], [27974, 0, "l"], [27975, 0, "i"], [27976, 0, "s"], [27977, 0, "t"], [27978, 0, "T"], [27979, 0, "}"], [27980, 0, "("], [27982, 0, ")"], [28202, 0, "\n"], [28203, 0, "\\"], [28204, 0, "A"], [28205, 0, "x"], [28206, 0, "i"], [28207, 0, "o"], [28208, 0, "m"], [28209, 0, "C"], [28210, 0, "{"], [28211, 0, "$"], [28212, 0, "\\"], [28213, 0, "m"], [28214, 0, "a"], [28215, 0, "t"], [28216, 0, "h"], [28217, 0, "s"], [28218, 0, "f"], [28219, 0, "{"], [28220, 0, "r"], [28221, 0, "e"], [28222, 0, "g"], [28223, 0, "T"], [28224, 0, "}"], [28225, 0, "("], [28226, 0, "k"], [28227, 0, ")"], [28228, 0, " "], [28229, 0, "\\"], [28230, 0, "n"], [28231, 0, "o"], [28232, 0, "t"], [28233, 0, "i"], [28234, 0, "n"], [28235, 0, " "], [28236, 0, "\\"], [28237, 0, "m"], [28238, 0, "a"], [28239, 0, "t"], [28240, 0, "h"], [28241, 0, "r"], [28242, 0, "m"], [28243, 0, "{"], [28244, 0, "d"], [28245, 0, "o"], [28246, 0, "m"], [28247, 0, "}"], [28248, 0, "("], [28249, 0, "\\"], [28250, 0, "m"], [28251, 0, "a"], [28252, 0, "t"], [28253, 0, "h"], [28254, 0, "i"], [28255, 0, "t"], [28256, 0, "{"], [28257, 0, "c"], [28258, 0, "t"], [28259, 0, "x"], [28260, 0, "}"], [28261, 0, ")"], [28262, 0, "$"], [28263, 0, "}"], [28264, 0, "\n"], [28265, 0, "\\"], [28266, 0, "L"], [28267, 0, "e"], [28268, 0, "f"], [28269, 0, "t"], [28270, 0, "L"], [28271, 0, "a"], [28272, 0, "b"], [28273, 0, "e"], [28274, 0, "l"], [28275, 0, "{"], [28276, 0, "\\"], [28276, 1], [28276, 0, "$"], [27657, 1], [27656, 1], [27656, 1], [27641, 1], [27654, 0, "-"], [27655, 0, "G"], [27656, 0, "e"], [27657, 0, "t"], [27835, 1], [27834, 1], [27833, 1], [27832, 0, "-"], [27833, 0, "M"], [27834, 0, "a"], [27835, 0, "p"], [27818, 1], [28031, 1], [28044, 0, "-"], [28045, 0, "L"], [28046, 0, "i"], [28047, 0, "s"], [28048, 0, "t"], [28050, 1], [28050, 1], [28050, 1], [28277, 1], [28277, 0, "\\"], [28278, 0, "t"], [28279, 0, "e"], [28280, 0, "x"], [28281, 0, "t"], [28282, 0, "s"], [28283, 0, "c"], [28284, 0, "{"], [28285, 0, "C"], [28286, 0, "h"], [28287, 0, "i"], [28288, 0, "l"], [28289, 0, "d"], [28290, 0, "-"], [28291, 0, "R"], [28292, 0, "e"], [28293, 0, "g"], [28294, 0, "}"], [28295, 0, "}"], [28296, 0, "\n"], [28297, 0, "\\"], [28298, 0, "U"], [28299, 0, "n"], [28300, 0, "a"], [28301, 0, "r"], [28302, 0, "y"], [28303, 0, "I"], [28304, 0, "n"], [28305, 0, "f"], [28306, 0, "C"], [28307, 0, "{"], [28308, 0, "$"], [28309, 0, "\\"], [28310, 0, "m"], [28311, 0, "a"], [28312, 0, "t"], [28313, 0, "h"], [28314, 0, "i"], [28315, 0, "t"], [28316, 0, "{"], [28317, 0, "c"], [28318, 0, "t"], [28319, 0, "x"], [28320, 0, "}"], [28321, 0, ","], [28322, 0, "\\"], [28323, 0, ","], [28324, 0, " "], [28325, 0, "\\"], [28326, 0, "m"], [28327, 0, "a"], [28328, 0, "t"], [28329, 0, "h"], [28330, 0, "s"], [28331, 0, "f"], [28332, 0, "{"], [28333, 0, "r"], [28334, 0, "e"], [28335, 0, "g"], [28336, 0, "T"], [28337, 0, "}"], [28338, 0, "("], [28339, 0, "k"], [28340, 0, ")"], [28341, 0, " "], [28342, 0, "\\"], [28343, 0, "e"], [28344, 0, "v"], [28345, 0, "a"], [28346, 0, "l"], [28347, 0, "t"], [28348, 0, "o"], [28349, 0, " "], [28350, 0, "\\"], [28351, 0, "{"], [28352, 0, "\\"], [28353, 0, "}"], [28354, 0, "$"], [28355, 0, "}"], [28356, 0, "\n"], [28357, 0, "\\"], [28358, 0, "D"], [28359, 0, "i"], [28360, 0, "s"], [28361, 0, "p"], [28362, 0, "l"], [28363, 0, "a"], [28364, 0, "y"], [28365, 0, "P"], [28366, 0, "r"], [28367, 0, "o"], [28368, 0, "o"], [28369, 0, "f"], [28370, 0, "\\"], [28371, 0, "p"], [28372, 0, "r"], [28373, 0, "o"], [28374, 0, "o"], [28375, 0, "f"], [28376, 0, "S"], [28377, 0, "k"], [28378, 0, "i"], [28379, 0, "p"], [28380, 0, "A"], [28381, 0, "m"], [28382, 0, "o"], [28383, 0, "u"], [28384, 0, "n"], [28385, 0, "t"], [28400, 1], [28399, 1], [28398, 1], [28397, 1], [28396, 1], [28395, 1], [28394, 1], [28393, 1], [28392, 1], [28391, 1], [28390, 1], [28389, 1], [28388, 1], [28388, 0, "e"], [28389, 0, "n"], [28390, 0, "d"], [28391, 0, "{"], [28392, 0, "c"], [28393, 0, "e"], [28394, 0, "n"], [28395, 0, "t"], [28396, 0, "e"], [28397, 0, "r"], [28398, 0, "}"], [28399, 0, "\n"], [28400, 0, "\n"], [28401, 0, "\\"], [28402, 0, "b"], [28403, 0, "e"], [28404, 0, "g"], [28405, 0, "i"], [28406, 0, "n"], [28407, 0, "{"], [28408, 0, "p"], [28409, 0, "r"], [28410, 0, "o"], [28411, 0, "o"], [28412, 0, "f"], [28413, 0, "t"], [28414, 0, "r"], [28415, 0, "e"], [28416, 0, "e"], [28417, 0, "}"], [28418, 0, "\n"], [28419, 0, "\\"], [28420, 0, "e"], [28421, 0, "n"], [28422, 0, "d"], [28423, 0, "{"], [28424, 0, "p"], [28425, 0, "r"], [28426, 0, "o"], [28427, 0, "o"], [28428, 0, "f"], [28429, 0, "t"], [28430, 0, "r"], [28431, 0, "e"], [28432, 0, "e"], [28433, 0, "}"], [28418, 0, "\n"], [28419, 0, "\\"], [28420, 0, "A"], [28421, 0, "x"], [28422, 0, "i"], [28423, 0, "o"], [28424, 0, "m"], [28425, 0, "C"], [28426, 0, "{"], [28427, 0, "$"], [28428, 0, "k"], [28429, 0, "_"], [28430, 0, "\\"], [28431, 0, "m"], [28432, 0, "a"], [28433, 0, "t"], [28434, 0, "h"], [28435, 0, "i"], [28436, 0, "t"], [28437, 0, "{"], [28438, 0, "t"], [28439, 0, "a"], [28440, 0, "g"], [28441, 0, "}"], [28442, 0, " "], [28443, 0, "\\"], [28444, 0, "i"], [28445, 0, "n"], [28446, 0, " "], [28447, 0, "\\"], [28448, 0, "{"], [28449, 0, "\\"], [28450, 0, "m"], [28451, 0, "a"], [28452, 0, "t"], [28453, 0, "h"], [28454, 0, "s"], [28455, 0, "f"], [28456, 0, "{"], [28457, 0, "m"], [28458, 0, "a"], [28459, 0, "p"], [28460, 0, "T"], [28461, 0, "}"], [28462, 0, "("], [28463, 0, "k"], [28464, 0, ")"], [28465, 0, ","], [28466, 0, " "], [28467, 0, "\\"], [28468, 0, "m"], [28469, 0, "a"], [28470, 0, "t"], [28471, 0, "h"], [28472, 0, "s"], [28473, 0, "f"], [28474, 0, "{"], [28475, 0, "l"], [28476, 0, "i"], [28477, 0, "s"], [28478, 0, "t"], [28479, 0, "T"], [28480, 0, "}"], [28481, 0, "("], [28482, 0, "k"], [28483, 0, ")"], [28484, 0, ","], [28485, 0, " "], [28486, 0, "\\"], [28487, 0, "m"], [28488, 0, "a"], [28489, 0, "t"], [28490, 0, "h"], [28491, 0, "s"], [28492, 0, "f"], [28493, 0, "("], [28493, 1], [28493, 0, "{"], [28494, 0, "r"], [28495, 0, "e"], [28496, 0, "g"], [28497, 0, "T"], [28498, 0, "}"], [28499, 0, "("], [28500, 0, "k"], [28501, 0, ")"], [28502, 0, "\\"], [28503, 0, "}"], [28504, 0, "$"], [28505, 0, "}"], [28506, 0, "\n"], [28507, 0, "\\"], [28508, 0, "A"], [28509, 0, "x"], [28510, 0, "i"], [28511, 0, "o"], [28512, 0, "m"], [28513, 0, "C"], [28514, 0, "{"], [28515, 0, "$"], [28516, 0, "\\"], [28517, 0, "m"], [28518, 0, "a"], [28519, 0, "t"], [28520, 0, "h"], [28521, 0, "s"], [28522, 0, "f"], [28523, 0, "{"], [28524, 0, "p"], [28525, 0, "r"], [28526, 0, "e"], [28527, 0, "s"], [28528, 0, "}"], [28529, 0, "("], [28530, 0, "k"], [28531, 0, ")"], [28532, 0, " "], [28533, 0, "\\"], [28534, 0, "n"], [28535, 0, "o"], [28536, 0, "t"], [28537, 0, "i"], [28538, 0, "n"], [28539, 0, " "], [28540, 0, "\\"], [28541, 0, "m"], [28542, 0, "a"], [28543, 0, "t"], [28544, 0, "h"], [28545, 0, "r"], [28546, 0, "m"], [28547, 0, "{"], [28548, 0, "d"], [28549, 0, "o"], [28550, 0, "m"], [28551, 0, "}"], [28552, 0, "{"], [28552, 1], [28552, 0, "("], [28553, 0, "\\"], [28554, 0, "m"], [28555, 0, "a"], [28556, 0, "t"], [28557, 0, "h"], [28558, 0, "i"], [28559, 0, "t"], [28560, 0, "{"], [28561, 0, "c"], [28562, 0, "t"], [28563, 0, "x"], [28564, 0, "}"], [28565, 0, ")"], [28566, 0, "$"], [28567, 0, "}"], [28568, 0, "\n"], [28569, 0, "\\"], [28570, 0, "L"], [28571, 0, "e"], [28572, 0, "f"], [28573, 0, "t"], [28574, 0, "L"], [28575, 0, "a"], [28576, 0, "b"], [28577, 0, "e"], [28578, 0, "l"], [28579, 0, "{"], [28580, 0, "$"], [28581, 0, "\\"], [28582, 0, "t"], [28583, 0, "e"], [28584, 0, "x"], [28585, 0, "t"], [28586, 0, "s"], [28587, 0, "c"], [28588, 0, "{"], [28589, 0, "A"], [28590, 0, "d"], [28591, 0, "d"], [28592, 0, "-"], [28593, 0, "I"], [28594, 0, "D"], [28595, 0, "-"], [28595, 1], [28595, 0, "}"], [28596, 0, "_"], [28597, 0, "1"], [28598, 0, "$"], [28599, 0, "}"], [28600, 0, "\n"], [28601, 0, "\\"], [28602, 0, "B"], [28603, 0, "i"], [28604, 0, "n"], [28605, 0, "a"], [28606, 0, "r"], [28607, 0, "y"], [28608, 0, "I"], [28609, 0, "n"], [28610, 0, "f"], [28611, 0, "C"], [28612, 0, "{"], [28613, 0, "$"], [28614, 0, "\\"], [28615, 0, "m"], [28616, 0, "a"], [28617, 0, "t"], [28618, 0, "h"], [28619, 0, "i"], [28620, 0, "t"], [28621, 0, "{"], [28622, 0, "c"], [28623, 0, "t"], [28624, 0, "x"], [28625, 0, "}"], [28626, 0, ","], [28627, 0, "\\"], [28628, 0, ","], [28629, 0, " "], [28630, 0, "\\"], [28631, 0, "m"], [28632, 0, "a"], [28633, 0, "t"], [28634, 0, "h"], [28635, 0, "s"], [28636, 0, "f"], [28637, 0, "{"], [28638, 0, "a"], [28639, 0, "d"], [28640, 0, "d"], [28641, 0, "I"], [28642, 0, "d"], [28643, 0, "}"], [28644, 0, "("], [28645, 0, "k"], [28646, 0, "_"], [28647, 0, "\\"], [28648, 0, "m"], [28649, 0, "a"], [28650, 0, "t"], [28651, 0, "h"], [28652, 0, "i"], [28653, 0, "t"], [28654, 0, "{"], [28655, 0, "t"], [28656, 0, "a"], [28657, 0, "g"], [28658, 0, "}"], [28659, 0, ","], [28660, 0, " "], [28661, 0, "\\"], [28662, 0, "m"], [28663, 0, "a"], [28664, 0, "t"], [28665, 0, "h"], [28666, 0, "i"], [28667, 0, "t"], [28668, 0, "{"], [28669, 0, "i"], [28670, 0, "d"], [28671, 0, "}"], [28672, 0, ")"], [28673, 0, " "], [28674, 0, "\\"], [28675, 0, "e"], [28676, 0, "v"], [28677, 0, "a"], [28678, 0, "l"], [28679, 0, "t"], [28680, 0, "o"], [28681, 0, "\n"], [28682, 0, " "], [28683, 0, " "], [28684, 0, " "], [28685, 0, " "], [28686, 0, "\\"], [28687, 0, "m"], [28688, 0, "a"], [28689, 0, "t"], [28690, 0, "h"], [28691, 0, "i"], [28692, 0, "t"], [28693, 0, "{"], [28694, 0, "c"], [28695, 0, "t"], [28696, 0, "x"], [28697, 0, "}"], [28698, 0, "["], [28699, 0, "\\"], [28700, 0, ","], [28701, 0, " "], [28702, 0, "\\"], [28703, 0, "m"], [28704, 0, "a"], [28705, 0, "t"], [28706, 0, "h"], [28707, 0, "s"], [28708, 0, "f"], [28709, 0, "{"], [28710, 0, "p"], [28711, 0, "r"], [28712, 0, "e"], [28713, 0, "s"], [28714, 0, "}"], [28715, 0, "("], [28716, 0, "k"], [28717, 0, ")"], [28718, 0, " "], [28719, 0, "\\"], [28720, 0, ","], [28721, 0, "\\"], [28722, 0, "m"], [28723, 0, "a"], [28724, 0, "p"], [28725, 0, "s"], [28726, 0, "t"], [28727, 0, "o"], [28728, 0, "\\"], [28729, 0, ","], [28730, 0, " "], [28731, 0, "\\"], [28732, 0, "{"], [28733, 0, "\\"], [28734, 0, "m"], [28735, 0, "a"], [28736, 0, "t"], [28737, 0, "h"], [28738, 0, "i"], [28739, 0, "t"], [28740, 0, "{"], [28741, 0, "i"], [28742, 0, "d"], [28743, 0, "}"], [28744, 0, "\\"], [28745, 0, "}"], [28746, 0, " "], [28747, 0, "\\"], [28748, 0, ","], [28749, 0, "]"], [28750, 0, "$"], [28751, 0, "}"], [28768, 0, "\n"], [28769, 0, "\n"], [28770, 0, "\\"], [28771, 0, "b"], [28772, 0, "e"], [28773, 0, "g"], [28774, 0, "i"], [28775, 0, "n"], [28776, 0, "{"], [28777, 0, "p"], [28778, 0, "r"], [28779, 0, "o"], [28780, 0, "o"], [28781, 0, "f"], [28782, 0, "t"], [28783, 0, "r"], [28784, 0, "e"], [28785, 0, "e"], [28786, 0, "}"], [28787, 0, "\n"], [28788, 0, "\\"], [28789, 0, "e"], [28790, 0, "n"], [28791, 0, "d"], [28792, 0, "{"], [28793, 0, "p"], [28794, 0, "r"], [28795, 0, "o"], [28796, 0, "o"], [28797, 0, "f"], [28798, 0, "t"], [28799, 0, "r"], [28800, 0, "e"], [28801, 0, "e"], [28802, 0, "}"], [28787, 0, "\n"], [28788, 0, "\\"], [28789, 0, "A"], [28790, 0, "x"], [28791, 0, "i"], [28792, 0, "o"], [28793, 0, "m"], [28794, 0, "C"], [28795, 0, "{"], [28796, 0, "$"], [28797, 0, "k"], [28798, 0, "_"], [28799, 0, "\\"], [28800, 0, "m"], [28801, 0, "a"], [28802, 0, "t"], [28803, 0, "h"], [28804, 0, "i"], [28805, 0, "t"], [28806, 0, "{"], [28807, 0, "t"], [28808, 0, "a"], [28809, 0, "g"], [28810, 0, "}"], [28811, 0, " "], [28812, 0, "\\"], [28813, 0, "i"], [28814, 0, "n"], [28815, 0, " "], [28816, 0, "\\"], [28817, 0, "{"], [28818, 0, "m"], [28818, 1], [28818, 0, "\\"], [28819, 0, "m"], [28820, 0, "a"], [28821, 0, "t"], [28822, 0, "h"], [28823, 0, "s"], [28824, 0, "f"], [28825, 0, "{"], [28826, 0, "m"], [28827, 0, "a"], [28828, 0, "p"], [28829, 0, "T"], [28830, 0, "}"], [28831, 0, "("], [28832, 0, "k"], [28833, 0, ")"], [28834, 0, ","], [28835, 0, " "], [28836, 0, "\\"], [28837, 0, "m"], [28838, 0, "a"], [28839, 0, "t"], [28840, 0, "h"], [28841, 0, "s"], [28842, 0, "f"], [28843, 0, "{"], [28844, 0, "l"], [28845, 0, "i"], [28846, 0, "s"], [28847, 0, "t"], [28848, 0, "T"], [28849, 0, "}"], [28850, 0, "("], [28851, 0, "k"], [28852, 0, ")"], [28853, 0, ","], [28854, 0, " "], [28855, 0, "\\"], [28856, 0, "m"], [28857, 0, "a"], [28858, 0, "t"], [28859, 0, "h"], [28860, 0, "s"], [28861, 0, "f"], [28862, 0, "{"], [28863, 0, "r"], [28864, 0, "e"], [28865, 0, "g"], [28866, 0, "T"], [28867, 0, "}"], [28868, 0, "("], [28869, 0, "k"], [28870, 0, ")"], [28871, 0, "\\"], [28872, 0, "}"], [28873, 0, "$"], [28874, 0, "}"], [28875, 0, "\n"], [28876, 0, "\\"], [28877, 0, "A"], [28878, 0, "x"], [28879, 0, "i"], [28880, 0, "o"], [28881, 0, "m"], [28882, 0, "C"], [28883, 0, "{"], [28884, 0, "$"], [28885, 0, "\\"], [28886, 0, "m"], [28887, 0, "a"], [28888, 0, "t"], [28889, 0, "h"], [28890, 0, "s"], [28891, 0, "f"], [28892, 0, "{"], [28893, 0, "p"], [28894, 0, "r"], [28895, 0, "e"], [28896, 0, "s"], [28897, 0, "}"], [28898, 0, "("], [28899, 0, "k"], [28900, 0, ")"], [28901, 0, " "], [28902, 0, "\\"], [28903, 0, "i"], [28904, 0, "n"], [28905, 0, " "], [28906, 0, "\\"], [28907, 0, "m"], [28908, 0, "a"], [28909, 0, "t"], [28910, 0, "h"], [28911, 0, "r"], [28912, 0, "m"], [28913, 0, "{"], [28914, 0, "d"], [28915, 0, "o"], [28916, 0, "m"], [28917, 0, "}"], [28918, 0, "("], [28919, 0, "\\"], [28920, 0, "m"], [28921, 0, "a"], [28922, 0, "t"], [28923, 0, "h"], [28924, 0, "i"], [28925, 0, "t"], [28926, 0, "{"], [28927, 0, "c"], [28928, 0, "t"], [28929, 0, "x"], [28930, 0, "}"], [28931, 0, "("], [28931, 1], [28931, 0, ")"], [28932, 0, "$"], [28933, 0, "}"], [28934, 0, "\n"], [28935, 0, "\\"], [28936, 0, "L"], [28937, 0, "e"], [28938, 0, "f"], [28939, 0, "t"], [28940, 0, "L"], [28941, 0, "a"], [28942, 0, "b"], [28943, 0, "e"], [28944, 0, "l"], [28945, 0, "{"], [28946, 0, "$"], [28947, 0, "\\"], [28948, 0, "t"], [28949, 0, "e"], [28950, 0, "x"], [28951, 0, "t"], [28952, 0, "s"], [28953, 0, "c"], [28954, 0, "{"], [28955, 0, "A"], [28956, 0, "d"], [28957, 0, "d"], [28958, 0, "-"], [28959, 0, "I"], [28960, 0, "D"], [28961, 0, "}"], [28962, 0, "_"], [28963, 0, "2"], [28964, 0, "$"], [28965, 0, "}"], [28966, 0, "\n"], [28967, 0, "\\"], [28968, 0, "B"], [28969, 0, "i"], [28970, 0, "n"], [28971, 0, "a"], [28972, 0, "r"], [28973, 0, "y"], [28974, 0, "I"], [28975, 0, "n"], [28976, 0, "f"], [28977, 0, "C"], [28978, 0, "{"], [28979, 0, "$"], [28980, 0, "\\"], [28981, 0, "m"], [28982, 0, "a"], [28983, 0, "t"], [28984, 0, "h"], [28985, 0, "i"], [28986, 0, "t"], [28987, 0, "{"], [28988, 0, "c"], [28989, 0, "t"], [28990, 0, "x"], [28991, 0, ","], [28991, 1], [28991, 0, "}"], [28992, 0, ","], [28993, 0, "\\"], [28994, 0, ","], [28995, 0, " "], [28996, 0, "\\"], [28997, 0, "m"], [28998, 0, "a"], [28999, 0, "t"], [29000, 0, "h"], [29001, 0, "i"], [29001, 1], [29001, 0, "s"], [29002, 0, "f"], [29003, 0, "{"], [29004, 0, "a"], [29005, 0, "d"], [29006, 0, "d"], [29007, 0, "I"], [29008, 0, "d"], [29009, 0, "}"], [29010, 0, "("], [29011, 0, "k"], [29012, 0, "_"], [29013, 0, "\\"], [29014, 0, "m"], [29015, 0, "a"], [29016, 0, "t"], [29017, 0, "h"], [29018, 0, "i"], [29019, 0, "t"], [29020, 0, "{"], [29021, 0, "t"], [29022, 0, "a"], [29023, 0, "g"], [29024, 0, "}"], [29025, 0, ","], [29026, 0, " "], [29027, 0, "\\"], [29028, 0, "m"], [29029, 0, "a"], [29030, 0, "t"], [29031, 0, "h"], [29032, 0, "i"], [29033, 0, "t"], [29034, 0, "{"], [29035, 0, "i"], [29036, 0, "d"], [29037, 0, "}"], [29038, 0, ")"], [29039, 0, " "], [29040, 0, "\\"], [29041, 0, "e"], [29042, 0, "v"], [29043, 0, "a"], [29044, 0, "l"], [29045, 0, "t"], [29046, 0, "o"], [29047, 0, "\n"], [29048, 0, " "], [29049, 0, " "], [29050, 0, " "], [29051, 0, " "], [29052, 0, "\\"], [29053, 0, "m"], [29054, 0, "a"], [29055, 0, "t"], [29056, 0, "h"], [29057, 0, "i"], [29058, 0, "t"], [29059, 0, "{"], [29060, 0, "c"], [29061, 0, "t"], [29062, 0, "x"], [29063, 0, "}"], [29064, 0, "["], [29065, 0, "\\"], [29066, 0, ","], [29067, 0, " "], [29068, 0, "\\"], [29069, 0, "m"], [29070, 0, "a"], [29071, 0, "t"], [29072, 0, "h"], [29073, 0, "s"], [29074, 0, "f"], [29075, 0, "{"], [29076, 0, "p"], [29077, 0, "r"], [29078, 0, "e"], [29079, 0, "s"], [29080, 0, "}"], [29081, 0, "("], [29082, 0, "k"], [29083, 0, ")"], [29084, 0, " "], [29085, 0, "\\"], [29086, 0, ","], [29087, 0, "\\"], [29088, 0, "m"], [29089, 0, "a"], [29090, 0, "p"], [29091, 0, "s"], [29092, 0, "t"], [29093, 0, "o"], [29094, 0, "\\"], [29095, 0, ","], [29096, 0, " "], [29097, 0, "\\"], [29098, 0, "m"], [29099, 0, "a"], [29100, 0, "t"], [29101, 0, "h"], [29102, 0, "i"], [29103, 0, "t"], [29104, 0, "{"], [29105, 0, "c"], [29106, 0, "t"], [29107, 0, "x"], [29108, 0, "}"], [29109, 0, "("], [29110, 0, "\\"], [29111, 0, "m"], [29112, 0, "a"], [29113, 0, "t"], [29114, 0, "h"], [29115, 0, "s"], [29116, 0, "f"], [29117, 0, "{"], [29118, 0, "p"], [29119, 0, "r"], [29120, 0, "e"], [29121, 0, "s"], [29122, 0, "}"], [29123, 0, "("], [29124, 0, "k"], [29125, 0, ")"], [29126, 0, ")"], [29127, 0, " "], [29128, 0, "\\"], [29129, 0, "c"], [29130, 0, "u"], [29131, 0, "p"], [29132, 0, " "], [29133, 0, "\\"], [29134, 0, "{"], [29135, 0, "\\"], [29136, 0, "m"], [29137, 0, "a"], [29138, 0, "t"], [29139, 0, "h"], [29140, 0, "i"], [29141, 0, "t"], [29142, 0, "{"], [29143, 0, "i"], [29144, 0, "d"], [29145, 0, "}"], [29146, 0, "\\"], [29147, 0, "}"], [29148, 0, " "], [29149, 0, "\\"], [29150, 0, ","], [29151, 0, "]"], [29152, 0, "$"], [29153, 0, "}"], [29128, 0, "\\"], [29129, 0, ","], [29134, 0, "\\"], [29135, 0, ","], [29347, 1], [29334, 1], [29333, 1], [29332, 1], [29331, 1], [29330, 1], [29329, 1], [29328, 1], [29327, 1], [29326, 1], [29325, 1], [29324, 1], [29323, 1], [29322, 1], [29321, 1], [29320, 1], [29319, 1], [29318, 1], [29317, 1], [29316, 1], [29315, 1], [29314, 1], [29313, 1], [29312, 1], [29311, 1], [29310, 1], [29309, 1], [29308, 1], [29307, 1], [29306, 1], [29305, 1], [29304, 1], [29303, 1], [29302, 1], [29301, 1], [29313, 0, "\\"], [29314, 0, ","], [29314, 1], [29313, 1], [29313, 0, ","], [29314, 0, "\\"], [29315, 0, ","], [29316, 0, " "], [29317, 0, "\\"], [29318, 0, "m"], [29319, 0, "a"], [29320, 0, "t"], [29321, 0, "h"], [29322, 0, "s"], [29323, 0, "f"], [29324, 0, "{"], [29325, 0, "c"], [29326, 0, "l"], [29327, 0, "e"], [29328, 0, "a"], [29329, 0, "r"], [29330, 0, "}"], [29331, 0, "("], [29332, 0, "\\"], [29333, 0, "m"], [29334, 0, "a"], [29335, 0, "t"], [29336, 0, "h"], [29337, 0, "i"], [29338, 0, "t"], [29339, 0, "{"], [29340, 0, "d"], [29341, 0, "e"], [29342, 0, "p"], [29343, 0, "s"], [29344, 0, "}"], [29345, 0, ","], [29346, 0, " "], [29347, 0, "\\"], [29348, 0, "m"], [29349, 0, "a"], [29350, 0, "t"], [29351, 0, "h"], [29352, 0, "s"], [29353, 0, "f"], [29354, 0, "{"], [29355, 0, "r"], [29356, 0, "e"], [29357, 0, "g"], [29358, 0, "T"], [29359, 0, "}"], [29360, 0, "("], [29361, 0, "k"], [29362, 0, ")"], [29363, 0, ")"], [29364, 0, " "], [29365, 0, "\\"], [29366, 0, "e"], [29367, 0, "v"], [29368, 0, "a"], [29369, 0, "l"], [29370, 0, "t"], [29371, 0, "o"], [29372, 0, " "], [29373, 0, "\\"], [29374, 0, "m"], [29375, 0, "a"], [29376, 0, "t"], [29377, 0, "h"], [29378, 0, "i"], [29379, 0, "t"], [29380, 0, "{"], [29381, 0, "c"], [29382, 0, "t"], [29383, 0, "x"], [29384, 0, "}"], [29385, 0, "'"], [29386, 0, ","], [29387, 0, "\\"], [29388, 0, ","], [29389, 0, " "], [29390, 0, "\\"], [29391, 0, "m"], [29392, 0, "a"], [29393, 0, "t"], [29394, 0, "h"], [29395, 0, "i"], [29396, 0, "t"], [29397, 0, "{"], [29398, 0, "p"], [29399, 0, "r"], [29400, 0, "e"], [29401, 0, "s"], [29402, 0, "}"], [29626, 1], [29625, 1], [29624, 1], [29623, 1], [29622, 1], [29621, 1], [29620, 1], [29619, 1], [29618, 1], [29617, 1], [29616, 1], [29615, 1], [29614, 1], [29613, 1], [29612, 1], [29611, 1], [29610, 1], [29609, 1], [29608, 1], [29607, 1], [29606, 1], [29605, 1], [29604, 1], [29603, 1], [29602, 1], [29601, 1], [29600, 1], [29599, 1], [29598, 1], [29597, 1], [29596, 1], [29595, 1], [29594, 1], [29593, 1], [29592, 1], [29591, 1], [29590, 1], [29589, 1], [29588, 1], [29587, 1], [29586, 1], [29585, 1], [29584, 1], [29583, 1], [29582, 1], [29581, 1], [29580, 1], [29579, 1], [29578, 1], [29577, 1], [29576, 1], [29575, 1], [29574, 1], [29573, 1], [29572, 1], [29571, 1], [29570, 1], [29569, 1], [29568, 1], [29567, 1], [29566, 1], [29565, 1], [29564, 1], [29563, 1], [29562, 1], [29561, 1], [29560, 1], [29559, 1], [29558, 1], [29557, 1], [29556, 1], [29555, 1], [29554, 1], [29553, 1], [29552, 1], [29551, 1], [29550, 1], [29549, 1], [29548, 1], [29547, 1], [29546, 1], [29545, 1], [29544, 1], [29543, 1], [29542, 1], [29541, 1], [29540, 1], [29539, 1], [29538, 1], [29537, 1], [29536, 1], [29535, 1], [29534, 1], [29533, 1], [29532, 1], [29531, 1], [29530, 1], [29529, 1], [29528, 1], [29527, 1], [29526, 1], [29525, 1], [29524, 1], [29523, 1], [29522, 1], [29521, 1], [29520, 1], [29519, 1], [29518, 1], [29517, 1], [29516, 1], [29515, 1], [29514, 1], [29513, 1], [29512, 1], [29511, 1], [29510, 1], [29509, 1], [29508, 1], [29507, 1], [29506, 1], [29505, 1], [29504, 1], [29503, 1], [29502, 1], [29501, 1], [29500, 1], [29499, 1], [29498, 1], [29497, 1], [29496, 1], [29495, 1], [29494, 1], [29493, 1], [29492, 1], [29491, 1], [29490, 1], [29489, 1], [29488, 1], [29487, 1], [29486, 1], [29485, 1], [29484, 1], [29483, 1], [29482, 1], [29481, 1], [29480, 1], [29479, 1], [29478, 1], [29477, 1], [29476, 1], [29475, 1], [29474, 1], [29473, 1], [29472, 1], [29471, 1], [29470, 1], [29469, 1], [29468, 1], [29467, 1], [29466, 1], [29465, 1], [29464, 1], [29463, 1], [29462, 1], [29461, 1], [29460, 1], [29459, 1], [29458, 1], [29457, 1], [29456, 1], [29455, 1], [29454, 1], [29453, 1], [29452, 1], [29451, 1], [29450, 1], [29449, 1], [29448, 1], [29447, 1], [29446, 1], [29445, 1], [29444, 1], [29443, 1], [29442, 1], [29441, 1], [29440, 1], [29439, 1], [29438, 1], [29437, 1], [29436, 1], [29435, 1], [29434, 1], [29433, 1], [29432, 1], [29431, 1], [29430, 1], [29429, 1], [29428, 1], [29427, 1], [29426, 1], [29425, 1], [29424, 1], [29423, 1], [29422, 1], [29421, 1], [29420, 1], [29419, 1], [29418, 1], [29417, 1], [29416, 1], [29415, 1], [29415, 1], [29415, 0, "\\"], [29416, 0, "m"], [29417, 0, "a"], [29418, 0, "t"], [29419, 0, "h"], [29420, 0, "i"], [29421, 0, "t"], [29422, 0, "{"], [29423, 0, "c"], [29424, 0, "t"], [29425, 0, "x"], [29426, 0, "}"], [29427, 0, "'"], [29428, 0, ","], [29429, 0, " "], [29430, 0, "\\"], [29431, 0, "m"], [29432, 0, "a"], [29433, 0, "t"], [29434, 0, "h"], [29435, 0, "s"], [29436, 0, "f"], [29437, 0, "{"], [29438, 0, "a"], [29439, 0, "d"], [29440, 0, "d"], [29441, 0, "I"], [29442, 0, "d"], [29443, 0, "}"], [29444, 0, "("], [29445, 0, "\\"], [29446, 0, "m"], [29447, 0, "a"], [29448, 0, "t"], [29449, 0, "h"], [29450, 0, "s"], [29451, 0, "f"], [29452, 0, "{"], [29453, 0, "r"], [29454, 0, "e"], [29455, 0, "g"], [29456, 0, "T"], [29457, 0, "}"], [29458, 0, "("], [29459, 0, "k"], [29460, 0, ")"], [29461, 0, ","], [29462, 0, " "], [29463, 0, "\\"], [29464, 0, "m"], [29465, 0, "a"], [29466, 0, "t"], [29467, 0, "h"], [29468, 0, "i"], [29469, 0, "t"], [29470, 0, "{"], [29471, 0, "i"], [29472, 0, "d"], [29473, 0, "}"], [29474, 0, ")"], [29475, 0, " "], [29476, 0, "\\"], [29477, 0, "e"], [29478, 0, "v"], [29479, 0, "a"], [29480, 0, "l"], [29481, 0, "t"], [29482, 0, "o"], [29483, 0, " "], [29484, 0, "\\"], [29485, 0, "m"], [29486, 0, "a"], [29487, 0, "t"], [29488, 0, "h"], [29489, 0, "i"], [29490, 0, "t"], [29491, 0, "{"], [29492, 0, "c"], [29493, 0, "t"], [29494, 0, "x"], [29495, 0, "}"], [29496, 0, "'"], [29497, 0, "'"], [29500, 0, "\n"], [29501, 0, "\\"], [29502, 0, "A"], [29503, 0, "x"], [29504, 0, "i"], [29505, 0, "o"], [29506, 0, "m"], [29507, 0, "C"], [29508, 0, "{"], [29509, 0, "$"], [29510, 0, "\\"], [29511, 0, "m"], [29512, 0, "a"], [29513, 0, "t"], [29514, 0, "h"], [29515, 0, "i"], [29516, 0, "t"], [29517, 0, "{"], [29518, 0, "c"], [29519, 0, "t"], [29520, 0, "x"], [29521, 0, "}"], [29522, 0, "'"], [29523, 0, "'"], [29524, 0, ","], [29525, 0, " "], [29526, 0, "\\"], [29527, 0, "m"], [29528, 0, "a"], [29529, 0, "t"], [29530, 0, "h"], [29531, 0, "s"], [29532, 0, "f"], [29533, 0, "{"], [29534, 0, "r"], [29535, 0, "e"], [29536, 0, "g"], [29537, 0, "T"], [29538, 0, "}"], [29539, 0, "("], [29540, 0, "k"], [29541, 0, ")"], [29542, 0, " "], [29543, 0, "\\"], [29544, 0, "e"], [29545, 0, "v"], [29546, 0, "a"], [29547, 0, "l"], [29548, 0, "t"], [29549, 0, "o"], [29550, 0, " "], [29551, 0, "\\"], [29552, 0, "m"], [29553, 0, "a"], [29554, 0, "t"], [29555, 0, "h"], [29556, 0, "i"], [29557, 0, "t"], [29558, 0, "{"], [29559, 0, "c"], [29560, 0, "h"], [29561, 0, "i"], [29562, 0, "l"], [29563, 0, "d"], [29564, 0, "}"], [29565, 0, "$"], [29566, 0, "}"], [29597, 1], [29596, 1], [29595, 1], [29579, 1], [29763, 0, "'"], [29764, 0, "'"], [29819, 1], [29818, 1], [29817, 1], [29816, 1], [29815, 1], [29814, 1], [29813, 1], [29812, 1], [29811, 1], [29811, 0, "h"], [29812, 0, "i"], [29813, 0, "l"], [29814, 0, "d"], [29597, 1], [29597, 1], [29597, 1], [29597, 0, "Q"], [29598, 0, "u"], [29599, 0, "a"], [29600, 0, "t"], [29601, 0, "e"], [29602, 0, "r"], [34445, 1], [34439, 0, "s"], [34440, 0, "i"], [34441, 0, "d"], [34442, 0, "e"], [34443, 0, "w"], [34444, 0, "a"], [34445, 0, "y"], [34446, 0, "s"], [26928, 0, "s"], [26929, 0, "i"], [26930, 0, "d"], [26931, 0, "e"], [26932, 0, "w"], [26933, 0, "a"], [26934, 0, "y"], [26935, 0, "s"], [26942, 1], [253, 0, "\n"], [254, 0, "\\"], [255, 0, "u"], [256, 0, "s"], [257, 0, "e"], [258, 0, "p"], [259, 0, "a"], [260, 0, "c"], [261, 0, "k"], [262, 0, "a"], [263, 0, "g"], [264, 0, "e"], [265, 0, "{"], [266, 0, "r"], [267, 0, "o"], [268, 0, "t"], [269, 0, "a"], [270, 0, "t"], [271, 0, "i"], [272, 0, "n"], [273, 0, "g"], [274, 0, "}"], [275, 0, " "], [276, 0, "$"], [276, 1], [276, 0, "%"], [277, 0, " "], [278, 0, "s"], [279, 0, "i"], [280, 0, "d"], [281, 0, "e"], [282, 0, "w"], [283, 0, "a"], [284, 0, "y"], [285, 0, "s"], [286, 0, "f"], [287, 0, "i"], [288, 0, "g"], [289, 0, "u"], [290, 0, "r"], [291, 0, "e"], [292, 0, " "], [292, 1], [497, 1], [496, 1], [495, 1], [494, 1], [493, 1], [493, 0, "t"], [494, 0, "r"], [495, 0, "u"], [496, 0, "e"], [496, 1], [495, 1], [494, 1], [493, 1], [493, 0, "f"], [494, 0, "a"], [495, 0, "l"], [496, 0, "s"], [497, 0, "e"], [20303, 0, " "], [20304, 0, "&"], [20305, 0, "&"], [20306, 0, " "], [20307, 0, "v"], [20308, 0, ":"], [20309, 0, " "], [20310, 0, "\\"], [20311, 0, "m"], [20312, 0, "a"], [20313, 0, "t"], [20314, 0, "h"], [20315, 0, "r"], [20316, 0, "m"], [20317, 0, "{"], [20318, 0, "V"], [20319, 0, "A"], [20320, 0, "R"], [20321, 0, "}"], [19990, 1], [19990, 0, "3"], [20320, 1], [20320, 0, "L"], [20307, 0, "\\"], [20308, 0, "u"], [20309, 0, "q"], [20310, 0, "d"], [20311, 0, " "], [20310, 1], [20309, 1], [20308, 1], [20308, 0, "q"], [20309, 0, "u"], [20310, 0, "a"], [20311, 0, "d"], [18635, 0, " "], [18636, 0, "\\"], [18637, 0, "i"], [18638, 0, "n"], [18639, 0, " "], [18640, 0, "\\"], [18641, 0, "m"], [18642, 0, "a"], [18643, 0, "t"], [18644, 0, "h"], [18645, 0, "r"], [18646, 0, "m"], [18647, 0, "{"], [18648, 0, "P"], [18649, 0, "e"], [18650, 0, "e"], [18651, 0, "r"], [18652, 0, "I"], [18653, 0, "D"], [18654, 0, "}"], [18781, 0, " "], [18782, 0, "\\"], [18783, 0, "i"], [18784, 0, "n"], [18785, 0, " "], [18786, 0, "\\"], [18787, 0, "m"], [18788, 0, "a"], [18789, 0, "t"], [18790, 0, "h"], [18791, 0, "B"], [18792, 0, "B"], [18793, 0, "{"], [18794, 0, "N"], [18795, 0, "}"], [18792, 1], [18791, 1], [18791, 0, "b"], [18792, 0, "b"], [27041, 0, "*"], [34560, 0, "*"], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 1], [34462, 0, "c"], [34463, 0, "l"], [34464, 0, "e"], [34465, 0, "a"], [34466, 0, "r"], [34467, 0, "i"], [34468, 0, "n"], [34469, 0, "g"], [34470, 0, "}"], [34471, 0, "\\"], [34472, 0, "l"], [34482, 1], [34482, 1], [34482, 1], [34482, 1], [34482, 1], [34482, 1], [34482, 1], [34482, 1], [34482, 1], [34482, 0, "c"], [34483, 0, "l"], [34484, 0, "e"], [34485, 0, "a"], [34486, 0, "r"], [34514, 1], [31677, 0, "\n"], [31678, 0, "\\"], [31679, 0, "c"], [31680, 0, "a"], [31681, 0, "p"], [31682, 0, "t"], [31683, 0, "i"], [31684, 0, "o"], [31685, 0, "n"], [31686, 0, "{"], [31687, 0, "R"], [31688, 0, "u"], [31689, 0, "l"], [31690, 0, "e"], [31691, 0, "s"], [31692, 0, " "], [31693, 0, "f"], [31694, 0, "o"], [31695, 0, "r"], [31696, 0, " "], [31697, 0, "e"], [31698, 0, "v"], [31699, 0, "a"], [31700, 0, "l"], [31701, 0, "u"], [31702, 0, "a"], [31703, 0, "t"], [31704, 0, "i"], [31705, 0, "n"], [31706, 0, "g"], [31707, 0, " "], [31708, 0, "o"], [31709, 0, "p"], [31710, 0, "e"], [31711, 0, "r"], [31712, 0, "a"], [31713, 0, "t"], [31714, 0, "i"], [31715, 0, "o"], [31716, 0, "n"], [31717, 0, "s"], [31718, 0, " "], [31719, 0, "a"], [31720, 0, "n"], [31721, 0, "d"], [31722, 0, " "], [31723, 0, "m"], [31724, 0, "o"], [31725, 0, "d"], [31726, 0, "i"], [31727, 0, "f"], [31728, 0, "y"], [31729, 0, "i"], [31730, 0, "n"], [31731, 0, "g"], [31732, 0, " "], [31733, 0, "d"], [31734, 0, "o"], [31735, 0, "c"], [31736, 0, "u"], [31737, 0, "m"], [31738, 0, "e"], [31739, 0, "n"], [31740, 0, "t"], [31741, 0, " "], [31742, 0, "s"], [31743, 0, "t"], [31744, 0, "a"], [31745, 0, "t"], [31746, 0, "e"], [31747, 0, "}"], [31748, 0, "\\"], [31749, 0, "l"], [31750, 0, "a"], [31751, 0, "b"], [31752, 0, "e"], [31753, 0, "l"], [31754, 0, "{"], [31755, 0, "f"], [31756, 0, "i"], [31757, 0, "g"], [31758, 0, ":"], [31759, 0, "o"], [31760, 0, "p"], [31761, 0, "e"], [31762, 0, "r"], [31763, 0, "a"], [31764, 0, "t"], [31765, 0, "i"], [31766, 0, "o"], [31767, 0, "n"], [31768, 0, "-"], [31769, 0, "r"], [31770, 0, "u"], [31771, 0, "l"], [31772, 0, "e"], [31773, 0, "s"], [31774, 0, "}"], [31775, 0, "\n"], [31776, 0, "\\"], [31777, 0, "e"], [31778, 0, "n"], [31779, 0, "d"], [31780, 0, "{"], [31781, 0, "s"], [31782, 0, "i"], [31783, 0, "d"], [31784, 0, "e"], [31785, 0, "w"], [31786, 0, "a"], [31787, 0, "y"], [31788, 0, "s"], [31789, 0, "f"], [31790, 0, "i"], [31791, 0, "g"], [31792, 0, "u"], [31793, 0, "r"], [31794, 0, "e"], [31795, 0, "*"], [31796, 0, "}"], [31798, 0, "\n"], [31799, 0, "\\"], [31800, 0, "b"], [31801, 0, "e"], [31802, 0, "g"], [31803, 0, "i"], [31804, 0, "n"], [31805, 0, "{"], [31806, 0, "f"], [31807, 0, "i"], [31808, 0, "g"], [31809, 0, "u"], [31810, 0, "r"], [31811, 0, "e"], [31812, 0, "*"], [31813, 0, "}"], [34643, 1], [34642, 1], [34641, 1], [34640, 1], [34639, 1], [34638, 1], [34637, 1], [34636, 1], [34642, 0, "*"], [27125, 1], [27125, 1], [27125, 1], [27125, 1], [27125, 1], [27125, 1], [27125, 1], [27125, 1], [27125, 1], [27125, 1], [27125, 1], [27125, 1], [27125, 1], [27125, 1], [27125, 1], [27125, 1], [27125, 1], [27125, 1], [27125, 1], [27184, 1], [27183, 1], [27182, 1], [27285, 0, "$"], [27286, 0, "}"], [27306, 1], [27305, 1], [27304, 1], [27303, 1], [27302, 1], [27301, 1], [27300, 1], [27299, 1], [27298, 1], [27297, 1], [27296, 1], [27295, 1], [27294, 1], [27293, 1], [27292, 1], [27291, 1], [27290, 1], [27289, 1], [27288, 1], [27287, 1], [27993, 1], [27992, 1], [27991, 1], [27990, 1], [27989, 1], [27988, 1], [27987, 1], [27986, 1], [27985, 1], [27984, 1], [27983, 1], [27982, 1], [27981, 1], [27980, 1], [27979, 1], [27979, 0, "h"], [27980, 0, "s"], [27981, 0, "p"], [27982, 0, "a"], [27983, 0, "c"], [27984, 0, "e"], [27985, 0, "{"], [27986, 0, "3"], [27987, 0, "e"], [27988, 0, "m"], [27989, 0, "}"], [28002, 1], [28001, 1], [28000, 1], [27999, 1], [27998, 1], [27997, 1], [27996, 1], [27995, 1], [27994, 1], [27993, 1], [27992, 1], [27991, 1], [27990, 1], [27991, 0, "%"], [27993, 1], [27993, 1], [27993, 1], [27993, 1], [27993, 1], [27993, 1], [27993, 1], [27993, 1], [27993, 1], [27993, 1], [27993, 1], [27993, 1], [27993, 1], [27993, 1], [27993, 1], [27993, 0, "\n"], [27993, 0, "\\"], [27994, 0, "b"], [27995, 0, "e"], [27996, 0, "g"], [27997, 0, "i"], [27998, 0, "n"], [27999, 0, "{"], [28000, 0, "c"], [28001, 0, "e"], [28002, 0, "n"], [28003, 0, "t"], [28004, 0, "e"], [28005, 0, "r"], [28006, 0, "}"], [27991, 1], [27989, 1], [27988, 1], [27987, 1], [27986, 1], [27985, 1], [27984, 1], [27983, 1], [27982, 1], [27981, 1], [27980, 1], [27979, 1], [27979, 0, "p"], [27980, 0, "r"], [27981, 0, "o"], [27982, 0, "o"], [27983, 0, "f"], [27984, 0, "S"], [27985, 0, "k"], [27986, 0, "i"], [27987, 0, "p"], [27988, 0, "A"], [27989, 0, "m"], [27990, 0, "o"], [27991, 0, "u"], [27992, 0, "n"], [27993, 0, "t"], [27994, 0, "\n"], [27995, 0, "\\"], [27996, 0, "e"], [27997, 0, "n"], [27998, 0, "d"], [27999, 0, "{"], [28000, 0, "c"], [28001, 0, "e"], [28002, 0, "n"], [28003, 0, "t"], [28004, 0, "e"], [28005, 0, "r"], [28006, 0, "}"], [28483, 1], [28482, 1], [28481, 1], [28480, 1], [28479, 1], [28478, 1], [28477, 1], [28476, 1], [28475, 1], [28475, 0, "c"], [28476, 0, "e"], [28477, 0, "n"], [28478, 0, "t"], [28479, 0, "e"], [28480, 0, "r"], [28831, 1], [28830, 1], [28829, 1], [28828, 1], [28827, 1], [28826, 1], [28825, 1], [28824, 1], [28823, 1], [28822, 1], [28821, 1], [28820, 1], [28819, 1], [28818, 1], [28818, 0, "D"], [28819, 0, "i"], [28820, 0, "s"], [28821, 0, "p"], [28822, 0, "l"], [28823, 0, "a"], [28824, 0, "y"], [28825, 0, "P"], [28826, 0, "r"], [28827, 0, "o"], [28828, 0, "o"], [28829, 0, "f"], [28830, 0, "\\"], [28831, 0, "h"], [28832, 0, "s"], [28833, 0, "p"], [28834, 0, "a"], [28835, 0, "c"], [28836, 0, "e"], [28837, 0, "{"], [28838, 0, "3"], [28839, 0, "e"], [28840, 0, "m"], [28841, 0, "}"], [28843, 0, "%"], [28861, 1], [28860, 1], [28859, 1], [28858, 1], [28857, 1], [28856, 1], [28855, 1], [28854, 1], [28853, 1], [28852, 1], [28851, 1], [28850, 1], [28849, 1], [28848, 1], [28847, 1], [28846, 1], [28845, 1], [28844, 1], [29229, 1], [29228, 1], [29227, 1], [29226, 1], [29225, 1], [29224, 1], [29223, 1], [29222, 1], [29221, 1], [29221, 0, "c"], [29222, 0, "e"], [29223, 0, "n"], [29224, 0, "t"], [29225, 0, "e"], [29226, 0, "r"], [29215, 0, "\n"], [29216, 0, "\\"], [29217, 0, "D"], [29218, 0, "i"], [29219, 0, "s"], [29220, 0, "p"], [29221, 0, "l"], [29222, 0, "a"], [29223, 0, "y"], [29224, 0, "P"], [29225, 0, "r"], [29226, 0, "o"], [29227, 0, "o"], [29228, 0, "f"], [29229, 0, "\\"], [29230, 0, "p"], [29231, 0, "r"], [29232, 0, "o"], [29233, 0, "o"], [29234, 0, "f"], [29235, 0, "S"], [29236, 0, "k"], [29237, 0, "i"], [29238, 0, "p"], [29239, 0, "A"], [29240, 0, "m"], [29241, 0, "o"], [29242, 0, "u"], [29243, 0, "n"], [29244, 0, "t"], [28841, 1], [28840, 1], [28839, 1], [28838, 1], [28837, 1], [28836, 1], [28835, 1], [28834, 1], [28833, 1], [28832, 1], [28832, 0, "f"], [28833, 0, "i"], [28834, 0, "l"], [28835, 0, "l"], [29657, 0, "$"], [29673, 0, "_"], [29674, 0, "1"], [29675, 0, "$"], [29675, 1], [29674, 1], [29673, 1], [29657, 1], [30301, 1], [30301, 1], [30301, 1], [30301, 1], [30301, 1], [30301, 1], [30301, 1], [30301, 1], [30301, 1], [30301, 1], [30301, 1], [30301, 1], [30301, 0, "\\"], [30302, 0, "s"], [30303, 0, "t"], [30304, 0, "r"], [30305, 0, "i"], [30306, 0, "n"], [30307, 0, "g"], [30308, 0, "{"], [30309, 0, "\\"], [30310, 0, "s"], [30311, 0, "t"], [30312, 0, "r"], [30313, 0, "i"], [30314, 0, "n"], [30315, 0, "g"], [30316, 0, "}"], [30317, 0, "}"], [30301, 0, "\\"], [30302, 0, "t"], [30303, 0, "e"], [30304, 0, "x"], [30305, 0, "t"], [30306, 0, "t"], [30307, 0, "t"], [30308, 0, "{"], [30171, 1], [30170, 1], [30169, 1], [30167, 1], [30166, 1], [30165, 1], [30164, 1], [30163, 1], [30162, 1], [30162, 0, "E"], [30163, 0, "m"], [30164, 0, "p"], [30165, 0, "t"], [30166, 0, "y"], [30167, 0, "-"], [30168, 0, "M"], [30169, 0, "a"], [30170, 0, "p"], [30153, 1], [30433, 1], [30432, 1], [30431, 1], [30430, 1], [30429, 1], [30428, 1], [30427, 1], [30426, 1], [30425, 1], [30424, 1], [30423, 1], [30422, 1], [30421, 1], [30420, 1], [30419, 1], [30418, 1], [30417, 1], [30416, 1], [30415, 1], [30414, 1], [30413, 1], [30412, 1], [30411, 1], [30410, 1], [30409, 1], [30408, 1], [30407, 1], [30406, 1], [30405, 1], [30404, 1], [30403, 1], [30402, 1], [30401, 1], [30400, 1], [30399, 1], [30398, 1], [30397, 1], [30396, 1], [30395, 1], [30394, 1], [30393, 1], [30392, 1], [30391, 1], [30390, 1], [30389, 1], [30388, 1], [30387, 1], [30386, 1], [30385, 1], [30384, 1], [30383, 1], [30382, 1], [30381, 1], [30380, 1], [30379, 1], [30378, 1], [30378, 0, "p"], [30379, 0, "s"], [30380, 0, "t"], [30381, 0, "o"], [30382, 0, "\\"], [30383, 0, ","], [30384, 0, " "], [30367, 1], [30366, 1], [30365, 1], [30364, 1], [30364, 0, "m"], [30365, 0, "a"], [30366, 0, "p"], [30367, 0, "T"], [30385, 0, "\\"], [30386, 0, "m"], [30387, 0, "a"], [30388, 0, "t"], [30389, 0, "h"], [30390, 0, "i"], [30391, 0, "t"], [30392, 0, "{"], [30393, 0, "c"], [30394, 0, "h"], [30395, 0, "i"], [30396, 0, "l"], [30397, 0, "d"], [30398, 0, "}"], [30399, 0, " "], [30400, 0, "\\"], [30401, 0, ","], [30402, 0, "]"], [30352, 0, "'"], [30353, 0, "'"], [30032, 1], [30031, 1], [30030, 1], [30029, 1], [30028, 1], [30027, 1], [30026, 1], [30025, 1], [30024, 1], [30023, 1], [30022, 1], [30021, 1], [30020, 1], [30019, 1], [30018, 1], [30017, 1], [30016, 1], [30015, 1], [30014, 1], [30013, 1], [30012, 1], [30011, 1], [30010, 1], [30009, 1], [30008, 1], [30007, 1], [30006, 1], [30005, 1], [30004, 1], [30003, 1], [30002, 1], [30001, 1], [30000, 1], [29999, 1], [29998, 1], [29997, 1], [29996, 1], [29995, 1], [29994, 1], [29993, 1], [29992, 1], [29991, 1], [30007, 1], [30006, 1], [30005, 1], [30004, 1], [30255, 1], [30255, 1], [30255, 1], [30255, 1], [30255, 1], [30255, 1], [30255, 1], [30255, 1], [30255, 1], [30255, 1], [30255, 1], [30255, 1], [30255, 1], [30255, 1], [30255, 1], [30255, 1], [30255, 1], [30255, 1], [30255, 1], [30255, 1], [30255, 1], [30255, 1], [30255, 1], [30255, 0, "\\"], [30256, 0, "m"], [30257, 0, "a"], [30258, 0, "t"], [30259, 0, "h"], [30260, 0, "i"], [30261, 0, "t"], [30262, 0, "{"], [30263, 0, "v"], [30264, 0, "a"], [30265, 0, "l"], [30255, 1], [30092, 1], [30079, 1], [30078, 1], [30077, 1], [30076, 1], [30075, 1], [30074, 1], [30073, 1], [30072, 1], [30071, 1], [30070, 1], [30069, 1], [30068, 1], [30067, 1], [30066, 1], [30065, 1], [30064, 1], [30063, 1], [30062, 1], [30061, 1], [30060, 1], [30059, 1], [30058, 1], [30057, 1], [30056, 1], [30055, 1], [30054, 1], [30053, 1], [30052, 1], [30051, 1], [30050, 1], [30049, 1], [30048, 1], [30047, 1], [30046, 1], [30045, 1], [30044, 1], [30043, 1], [30055, 0, ","], [30056, 0, "\\"], [30057, 0, ","], [30058, 0, " "], [30059, 0, "\\"], [30060, 0, "m"], [30061, 0, "a"], [30062, 0, "t"], [30063, 0, "h"], [30064, 0, "s"], [30065, 0, "f"], [30066, 0, "{"], [30067, 0, "c"], [30068, 0, "l"], [30069, 0, "e"], [30070, 0, "a"], [30071, 0, "r"], [30072, 0, "E"], [30073, 0, "l"], [30074, 0, "e"], [30075, 0, "m"], [30076, 0, "}"], [30077, 0, "("], [30078, 0, "\\"], [30079, 0, "m"], [30080, 0, "a"], [30081, 0, "t"], [30082, 0, "h"], [30083, 0, "i"], [30084, 0, "t"], [30085, 0, "{"], [30086, 0, "d"], [30087, 0, "e"], [30088, 0, "p"], [30089, 0, "s"], [30090, 0, "}"], [30091, 0, ","], [30092, 0, " "], [30093, 0, "\\"], [30094, 0, "m"], [30095, 0, "a"], [30096, 0, "t"], [30096, 1], [30095, 1], [30094, 1], [30093, 1], [30092, 1], [30092, 0, " "], [30093, 0, "k"], [30094, 0, ")"], [30095, 0, " "], [30096, 0, "\\"], [30097, 0, "e"], [30098, 0, "v"], [30099, 0, "a"], [30100, 0, "l"], [30101, 0, "t"], [30102, 0, "o"], [30103, 0, " "], [30104, 0, "\\"], [30105, 0, "m"], [30106, 0, "a"], [30107, 0, "t"], [30108, 0, "h"], [30109, 0, "i"], [30110, 0, "t"], [30111, 0, "{"], [30112, 0, "c"], [30113, 0, "t"], [30114, 0, "x"], [30115, 0, "}"], [30116, 0, "'"], [30117, 0, ","], [30118, 0, "\\"], [30119, 0, ","], [30120, 0, " "], [30121, 0, "\\"], [30122, 0, "m"], [30123, 0, "a"], [30124, 0, "t"], [30125, 0, "h"], [30126, 0, "i"], [30127, 0, "t"], [30128, 0, "{"], [30129, 0, "p"], [30130, 0, "r"], [30131, 0, "e"], [30132, 0, "s"], [30133, 0, "}"], [30136, 0, "\n"], [30137, 0, "\\"], [30138, 0, "A"], [30139, 0, "x"], [30140, 0, "i"], [30141, 0, "o"], [30142, 0, "m"], [30143, 0, "C"], [30144, 0, "{"], [30145, 0, "$"], [30146, 0, "\\"], [30147, 0, "m"], [30148, 0, "a"], [30149, 0, "t"], [30150, 0, "h"], [30151, 0, "i"], [30152, 0, "t"], [30153, 0, "{"], [30154, 0, "c"], [30155, 0, "t"], [30156, 0, "x"], [30157, 0, "}"], [30158, 0, "'"], [30159, 0, ","], [30160, 0, "\\"], [30161, 0, ","], [30162, 0, " "], [29603, 0, "\\"], [29604, 0, ","], [29507, 0, "\\"], [29508, 0, ","], [30167, 0, "\\"], [30168, 0, "m"], [30169, 0, "a"], [30170, 0, "t"], [30171, 0, "h"], [30172, 0, "s"], [30173, 0, "f"], [30174, 0, "{"], [30175, 0, "a"], [30176, 0, "d"], [30177, 0, "d"], [30178, 0, "I"], [30179, 0, "d"], [30180, 0, "}"], [30181, 0, "("], [30182, 0, "\\"], [30183, 0, "m"], [30184, 0, "a"], [30185, 0, "t"], [30186, 0, "h"], [30187, 0, "s"], [30188, 0, "f"], [30189, 0, "{"], [30190, 0, "r"], [30191, 0, "e"], [30192, 0, "g"], [30192, 1], [30191, 1], [30190, 1], [30190, 0, "m"], [30191, 0, "a"], [30192, 0, "p"], [30193, 0, "T"], [30194, 0, "}"], [30195, 0, "("], [30196, 0, "k"], [30197, 0, ")"], [30198, 0, ","], [30199, 0, " "], [30200, 0, "\\"], [30201, 0, "m"], [30202, 0, "a"], [30203, 0, "t"], [30204, 0, "h"], [30205, 0, "i"], [30206, 0, "t"], [30207, 0, "{"], [30208, 0, "i"], [30209, 0, "d"], [30210, 0, "}"], [30211, 0, ")"], [30212, 0, " "], [30213, 0, "\\"], [30214, 0, "e"], [30215, 0, "v"], [30216, 0, "a"], [30217, 0, "l"], [30218, 0, "t"], [30219, 0, "o"], [30220, 0, " "], [30221, 0, "\\"], [30222, 0, "m"], [30223, 0, "a"], [30224, 0, "t"], [30225, 0, "h"], [30226, 0, "i"], [30227, 0, "t"], [30228, 0, "{"], [30229, 0, "c"], [30230, 0, "t"], [30231, 0, "x"], [30232, 0, "}"], [30233, 0, "'"], [30234, 0, "'"], [30235, 0, "$"], [30236, 0, "}"], [30237, 0, "\n"], [30238, 0, "\\"], [30239, 0, "A"], [30240, 0, "x"], [30241, 0, "i"], [30242, 0, "o"], [30243, 0, "m"], [30244, 0, "C"], [30245, 0, "{"], [30246, 0, "$"], [30247, 0, "\\"], [30248, 0, "m"], [30249, 0, "a"], [30250, 0, "t"], [30251, 0, "h"], [30252, 0, "i"], [30253, 0, "t"], [30254, 0, "{"], [30255, 0, "c"], [30256, 0, "t"], [30257, 0, "x"], [30258, 0, "}"], [30259, 0, "'"], [30260, 0, "'"], [30261, 0, ","], [30262, 0, "\\"], [30263, 0, ","], [30264, 0, " "], [30265, 0, "\\"], [30266, 0, "m"], [30267, 0, "a"], [30268, 0, "t"], [30269, 0, "h"], [30270, 0, "s"], [30271, 0, "f"], [30272, 0, "{"], [30273, 0, "m"], [30274, 0, "a"], [30275, 0, "p"], [30276, 0, "T"], [30277, 0, "}"], [30278, 0, "("], [30279, 0, "k"], [30280, 0, ")"], [30281, 0, " "], [30282, 0, "\\"], [30283, 0, "3"], [30284, 0, "e"], [30284, 1], [30283, 1], [30283, 0, "e"], [30284, 0, "v"], [30285, 0, "a"], [30286, 0, "l"], [30287, 0, "t"], [30288, 0, "o"], [30289, 0, " "], [30290, 0, "\\"], [30291, 0, "m"], [30292, 0, "a"], [30293, 0, "t"], [30294, 0, "h"], [30295, 0, "i"], [30296, 0, "t"], [30297, 0, "{"], [30298, 0, "c"], [30299, 0, "h"], [30300, 0, "i"], [30301, 0, "l"], [30302, 0, "d"], [30303, 0, "}"], [30304, 0, "$"], [30305, 0, "}"], [30339, 1], [30339, 1], [30339, 0, "Q"], [30340, 0, "u"], [30341, 0, "a"], [30342, 0, "t"], [30343, 0, "e"], [30344, 0, "r"], [30579, 0, "\n"], [30580, 0, "\n"], [30581, 0, "%"], [30582, 0, " "], [30583, 0, "T"], [30584, 0, "O"], [30585, 0, "D"], [30586, 0, "O"], [30587, 0, " "], [30588, 0, "E"], [30589, 0, "M"], [30590, 0, "p"], [30591, 0, "t"], [30592, 0, "y"], [30593, 0, "-"], [30594, 0, "L"], [30595, 0, "i"], [30596, 0, "s"], [30597, 0, "t"], [30598, 0, " "], [30599, 0, "i"], [30600, 0, "s"], [30601, 0, " "], [30602, 0, "i"], [30603, 0, "m"], [30604, 0, "s"], [30605, 0, "i"], [30606, 0, "l"], [30607, 0, "a"], [30608, 0, "r"], [30608, 1], [30607, 1], [30606, 1], [30605, 1], [30604, 1], [30603, 1], [30602, 1], [30602, 0, "s"], [30603, 0, "i"], [30604, 0, "m"], [30605, 0, "i"], [30606, 0, "l"], [30607, 0, "a"], [30608, 0, "r"], [30589, 1], [30589, 0, "m"], [30608, 1], [30607, 1], [30606, 1], [30605, 1], [30604, 1], [30603, 1], [30602, 1], [30601, 1], [30600, 1], [30599, 1], [30598, 1], [30597, 1], [30596, 1], [30595, 1], [30594, 1], [30593, 1], [30592, 1], [30591, 1], [30590, 1], [30589, 1], [30588, 1], [30587, 1], [30586, 1], [30585, 1], [30584, 1], [30583, 1], [30582, 1], [30581, 1], [30581, 0, "\\"], [30582, 0, "b"], [30583, 0, "e"], [30584, 0, "g"], [30585, 0, "i"], [30586, 0, "n"], [30587, 0, "{"], [30588, 0, "p"], [30589, 0, "r"], [30590, 0, "o"], [30591, 0, "o"], [30592, 0, "f"], [30593, 0, "t"], [30594, 0, "r"], [30595, 0, "e"], [30596, 0, "e"], [30597, 0, "}"], [30598, 0, "\n"], [30599, 0, "\\"], [30600, 0, "e"], [30601, 0, "n"], [30602, 0, "d"], [30603, 0, "{"], [30604, 0, "p"], [30605, 0, "r"], [30606, 0, "o"], [30607, 0, "o"], [30608, 0, "f"], [30609, 0, "t"], [30610, 0, "r"], [30611, 0, "e"], [30612, 0, "e"], [30613, 0, "}"], [30598, 0, "\n"], [30599, 0, "\\"], [30600, 0, "A"], [30601, 0, "x"], [30602, 0, "i"], [30603, 0, "o"], [30604, 0, "m"], [30605, 0, "C"], [30606, 0, "{"], [30607, 0, "$"], [30608, 0, "\\"], [30609, 0, "m"], [30610, 0, "a"], [30611, 0, "t"], [30612, 0, "h"], [30613, 0, "i"], [30614, 0, "t"], [30615, 0, "{"], [30616, 0, "v"], [30617, 0, "a"], [30618, 0, "l"], [30619, 0, "}"], [30620, 0, " "], [30621, 0, "="], [30622, 0, " "], [30623, 0, "\\"], [30624, 0, "t"], [30625, 0, "e"], [30626, 0, "x"], [30627, 0, "t"], [30628, 0, "t"], [30629, 0, "t"], [30630, 0, "{"], [30631, 0, "["], [30632, 0, "]"], [30633, 0, "}"], [30634, 0, "$"], [30635, 0, "}"], [30636, 0, "\n"], [30637, 0, "\\"], [30638, 0, "A"], [30639, 0, "x"], [30640, 0, "i"], [30641, 0, "o"], [30642, 0, "m"], [30643, 0, "C"], [30644, 0, "{"], [30645, 0, "$"], [30646, 0, "\\"], [30647, 0, "m"], [30648, 0, "a"], [30649, 0, "t"], [30650, 0, "h"], [30651, 0, "i"], [30652, 0, "t"], [30653, 0, "{"], [30654, 0, "c"], [30655, 0, "t"], [30656, 0, "x"], [30657, 0, "}"], [30658, 0, ","], [30659, 0, "\\"], [30660, 0, ","], [30661, 0, " "], [30662, 0, "\\"], [30663, 0, "m"], [30664, 0, "a"], [30665, 0, "t"], [30666, 0, "h"], [30667, 0, "s"], [30668, 0, "f"], [30669, 0, "{"], [30670, 0, "c"], [30671, 0, "l"], [30672, 0, "e"], [30673, 0, "a"], [30674, 0, "r"], [30675, 0, "E"], [30676, 0, "l"], [30677, 0, "e"], [30678, 0, "m"], [30679, 0, "}"], [30680, 0, "("], [30681, 0, "\\"], [30682, 0, "m"], [30683, 0, "a"], [30684, 0, "t"], [30685, 0, "h"], [30686, 0, "i"], [30687, 0, "t"], [30688, 0, "{"], [30689, 0, "d"], [30690, 0, "e"], [30691, 0, "p"], [30692, 0, "s"], [30693, 0, "}"], [30694, 0, ","], [30695, 0, " "], [30696, 0, "k"], [30697, 0, ")"], [30698, 0, " "], [30699, 0, "\\"], [30700, 0, "e"], [30701, 0, "v"], [30702, 0, "a"], [30703, 0, "l"], [30704, 0, "t"], [30705, 0, "o"], [30706, 0, " "], [30707, 0, "\\"], [30708, 0, "m"], [30709, 0, "a"], [30710, 0, "t"], [30711, 0, "h"], [30712, 0, "i"], [30713, 0, "t"], [30714, 0, "{"], [30715, 0, "c"], [30716, 0, "t"], [30717, 0, "x"], [30718, 0, "}"], [30719, 0, "'"], [30720, 0, ","], [30721, 0, "\\"], [30722, 0, ","], [30723, 0, " "], [30724, 0, "\\"], [30725, 0, "m"], [30726, 0, "a"], [30727, 0, "t"], [30728, 0, "h"], [30729, 0, "i"], [30730, 0, "t"], [30731, 0, "{"], [30732, 0, "p"], [30733, 0, "r"], [30734, 0, "e"], [30735, 0, "s"], [30736, 0, "}"], [30737, 0, "$"], [30738, 0, "}"], [30739, 0, "\n"], [30740, 0, "\\"], [30741, 0, "m"], [30741, 1], [30741, 0, "A"], [30742, 0, "x"], [30743, 0, "i"], [30744, 0, "o"], [30745, 0, "m"], [30746, 0, "C"], [30747, 0, "{"], [30748, 0, "$"], [30749, 0, "\\"], [30750, 0, "m"], [30751, 0, "a"], [30752, 0, "t"], [30753, 0, "h"], [30754, 0, "i"], [30755, 0, "t"], [30756, 0, "{"], [30757, 0, "c"], [30758, 0, "t"], [30759, 0, "x"], [30760, 0, "}"], [30761, 0, "'"], [30762, 0, ","], [30763, 0, "\\"], [30764, 0, ","], [30765, 0, " "], [30766, 0, "\\"], [30767, 0, "m"], [30768, 0, "a"], [30769, 0, "t"], [30770, 0, "h"], [30771, 0, "s"], [30772, 0, "f"], [30773, 0, "{"], [30774, 0, "a"], [30775, 0, "d"], [30776, 0, "d"], [30777, 0, "I"], [30778, 0, "d"], [30779, 0, "}"], [30780, 0, "("], [30781, 0, "\\"], [30782, 0, "m"], [30783, 0, "a"], [30784, 0, "t"], [30785, 0, "h"], [30786, 0, "s"], [30787, 0, "f"], [30788, 0, "{"], [30789, 0, "l"], [30790, 0, "i"], [30791, 0, "s"], [30792, 0, "t"], [30793, 0, "T"], [30794, 0, "}"], [30795, 0, "("], [30796, 0, "k"], [30797, 0, ")"], [30798, 0, ","], [30799, 0, " "], [30800, 0, "\\"], [30801, 0, "m"], [30802, 0, "a"], [30803, 0, "t"], [30804, 0, "h"], [30805, 0, "i"], [30806, 0, "t"], [30807, 0, "{"], [30808, 0, "i"], [30809, 0, "d"], [30810, 0, "}"], [30811, 0, ")"], [30812, 0, " "], [30813, 0, "\\"], [30814, 0, "e"], [30815, 0, "v"], [30816, 0, "a"], [30817, 0, "l"], [30818, 0, "t"], [30819, 0, "o"], [30820, 0, " "], [30821, 0, "\\"], [30822, 0, "m"], [30823, 0, "a"], [30824, 0, "t"], [30825, 0, "h"], [30826, 0, "i"], [30827, 0, "t"], [30828, 0, "{"], [30829, 0, "c"], [30830, 0, "t"], [30831, 0, "x"], [30832, 0, "}"], [30833, 0, "'"], [30834, 0, "'"], [30835, 0, "$"], [30836, 0, "}"], [30837, 0, "\n"], [30838, 0, "\\"], [30839, 0, "A"], [30840, 0, "x"], [30841, 0, "i"], [30842, 0, "o"], [30843, 0, "m"], [30844, 0, "C"], [30845, 0, "{"], [30846, 0, "$"], [30847, 0, "\\"], [30848, 0, "m"], [30849, 0, "a"], [30850, 0, "t"], [30851, 0, "h"], [30852, 0, "i"], [30853, 0, "t"], [30854, 0, "{"], [30855, 0, "c"], [30856, 0, "t"], [30857, 0, "x"], [30858, 0, "}"], [30859, 0, "'"], [30860, 0, "'"], [30861, 0, ","], [30862, 0, "\\"], [30863, 0, ","], [30864, 0, " "], [30865, 0, "\\"], [30866, 0, "m"], [30867, 0, "a"], [30868, 0, "t"], [30869, 0, "h"], [30870, 0, "s"], [30871, 0, "f"], [30872, 0, "{"], [30873, 0, "l"], [30874, 0, "i"], [30875, 0, "s"], [30876, 0, "t"], [30877, 0, "T"], [30878, 0, "}"], [30879, 0, "("], [30880, 0, "k"], [30881, 0, ")"], [30882, 0, " "], [30883, 0, "\\"], [30884, 0, "e"], [30885, 0, "v"], [30886, 0, "a"], [30887, 0, "l"], [30888, 0, "t"], [30889, 0, "o"], [30890, 0, " "], [30891, 0, "\\"], [30892, 0, "m"], [30893, 0, "a"], [30894, 0, "t"], [30895, 0, "h"], [30896, 0, "i"], [30897, 0, "t"], [30898, 0, "{"], [30899, 0, "c"], [30900, 0, "h"], [30901, 0, "i"], [30902, 0, "l"], [30903, 0, "d"], [30904, 0, "}"], [30905, 0, "$"], [30906, 0, "}"], [30907, 0, "\n"], [30908, 0, "\\"], [30909, 0, "L"], [30910, 0, "e"], [30911, 0, "f"], [30912, 0, "t"], [30913, 0, "L"], [30914, 0, "a"], [30915, 0, "b"], [30916, 0, "e"], [30917, 0, "l"], [30918, 0, "{"], [30919, 0, "\\"], [30920, 0, "t"], [30921, 0, "e"], [30922, 0, "x"], [30923, 0, "t"], [30924, 0, "s"], [30925, 0, "c"], [30926, 0, "{"], [30927, 0, "E"], [30928, 0, "m"], [30929, 0, "p"], [30930, 0, "t"], [30931, 0, "y"], [30932, 0, "-"], [30933, 0, "L"], [30934, 0, "i"], [30935, 0, "s"], [30936, 0, "t"], [30937, 0, "}"], [30938, 0, "}"], [30939, 0, "\n"], [30940, 0, "\\"], [30941, 0, "Q"], [30942, 0, "u"], [30943, 0, "a"], [30944, 0, "t"], [30945, 0, "e"], [30946, 0, "r"], [30947, 0, "n"], [30948, 0, "a"], [30949, 0, "r"], [30950, 0, "y"], [30951, 0, "I"], [30952, 0, "n"], [30953, 0, "f"], [30954, 0, "C"], [30955, 0, "{"], [30956, 0, "$"], [30957, 0, "\\"], [30958, 0, "m"], [30959, 0, "a"], [30960, 0, "t"], [30961, 0, "h"], [30962, 0, "i"], [30963, 0, "t"], [30964, 0, "{"], [30965, 0, "c"], [30966, 0, "t"], [30967, 0, "x"], [30968, 0, "}"], [30969, 0, ","], [30970, 0, "\\"], [30971, 0, ","], [30972, 0, " "], [30973, 0, "\\"], [30974, 0, "m"], [30975, 0, "a"], [30976, 0, "t"], [30977, 0, "h"], [30978, 0, "s"], [30979, 0, "f"], [30980, 0, "{"], [30981, 0, "o"], [30982, 0, "p"], [30983, 0, "}"], [30984, 0, "("], [30985, 0, "\\"], [30986, 0, "m"], [30987, 0, "a"], [30988, 0, "t"], [30989, 0, "h"], [30990, 0, "i"], [30991, 0, "t"], [30992, 0, "{"], [30993, 0, "i"], [30994, 0, "d"], [30995, 0, "}"], [30996, 0, ","], [30997, 0, " "], [30998, 0, "\\"], [30999, 0, "m"], [31000, 0, "a"], [31001, 0, "t"], [31002, 0, "h"], [31003, 0, "i"], [31004, 0, "t"], [31005, 0, "{"], [31006, 0, "d"], [31007, 0, "e"], [31008, 0, "p"], [31009, 0, "s"], [31010, 0, "}"], [31011, 0, ","], [31012, 0, "\n"], [31013, 0, " "], [31014, 0, " "], [31015, 0, " "], [31016, 0, " "], [31017, 0, "\\"], [31018, 0, "m"], [31019, 0, "a"], [31020, 0, "t"], [31021, 0, "h"], [31022, 0, "s"], [31023, 0, "f"], [31024, 0, "{"], [31025, 0, "c"], [31026, 0, "u"], [31027, 0, "r"], [31028, 0, "s"], [31029, 0, "o"], [31030, 0, "r"], [31031, 0, "}"], [31032, 0, "("], [31033, 0, "\\"], [31034, 0, "l"], [31035, 0, "a"], [31036, 0, "n"], [31037, 0, "g"], [31038, 0, "l"], [31039, 0, "e"], [31040, 0, "\\"], [31041, 0, "r"], [31042, 0, "a"], [31043, 0, "n"], [31044, 0, "g"], [31045, 0, "l"], [31046, 0, "e"], [31047, 0, ","], [31048, 0, "\\"], [31049, 0, ","], [31050, 0, " "], [31051, 0, "k"], [31052, 0, ")"], [31053, 0, ","], [31054, 0, " "], [31055, 0, "\\"], [31056, 0, "m"], [31057, 0, "a"], [31058, 0, "t"], [31059, 0, "h"], [31060, 0, "s"], [31061, 0, "f"], [31062, 0, "{"], [31063, 0, "a"], [31064, 0, "s"], [31065, 0, "s"], [31066, 0, "i"], [31067, 0, "g"], [31068, 0, "n"], [31069, 0, "}"], [31070, 0, "("], [31071, 0, "\\"], [31072, 0, "m"], [31073, 0, "a"], [31074, 0, "t"], [31075, 0, "h"], [31076, 0, "i"], [31077, 0, "t"], [31078, 0, "{"], [31079, 0, "v"], [31080, 0, "a"], [31081, 0, "l"], [31082, 0, "}"], [31083, 0, ")"], [31084, 0, ")"], [31085, 0, " "], [31086, 0, "\\"], [31087, 0, "e"], [31088, 0, "v"], [31089, 0, "a"], [31090, 0, "l"], [31091, 0, "t"], [31092, 0, "o"], [31093, 0, "\n"], [31094, 0, " "], [31095, 0, " "], [31096, 0, " "], [31097, 0, " "], [31098, 0, "\\"], [31099, 0, "m"], [31100, 0, "a"], [31101, 0, "t"], [31102, 0, "h"], [31103, 0, "i"], [31104, 0, "t"], [31105, 0, "{"], [31106, 0, "c"], [31107, 0, "t"], [31108, 0, "x"], [31109, 0, "}"], [31110, 0, "'"], [31111, 0, "'"], [31112, 0, "["], [31113, 0, "\\"], [31114, 0, ","], [31115, 0, " "], [31116, 0, "\\"], [31117, 0, "m"], [31118, 0, "a"], [31119, 0, "t"], [31120, 0, "h"], [31121, 0, "s"], [31122, 0, "f"], [31123, 0, "{"], [31124, 0, "l"], [31125, 0, "i"], [31126, 0, "s"], [31127, 0, "t"], [31128, 0, "T"], [31129, 0, "}"], [31130, 0, "("], [31131, 0, "k"], [31132, 0, ")"], [31133, 0, " "], [31134, 0, "\\"], [31135, 0, ","], [31136, 0, "\\"], [31137, 0, "m"], [31138, 0, "a"], [31139, 0, "p"], [31140, 0, "s"], [31141, 0, "t"], [31142, 0, "o"], [31143, 0, " "], [31143, 1], [31143, 0, "\\"], [31144, 0, ","], [31145, 0, " "], [31146, 0, "\\"], [31147, 0, "m"], [31148, 0, "a"], [31149, 0, "t"], [31150, 0, "h"], [31151, 0, "i"], [31152, 0, "t"], [31153, 0, "{"], [31154, 0, "c"], [31155, 0, "h"], [31156, 0, "i"], [31157, 0, "l"], [31158, 0, "d"], [31159, 0, "}"], [31160, 0, " "], [31161, 0, "\\"], [31162, 0, ","], [31163, 0, "]"], [31164, 0, "$"], [31165, 0, "}"], [32744, 0, "f"], [32745, 0, "f"], [32745, 1], [32744, 1], [32755, 1], [32755, 1], [32755, 1], [32755, 1], [32755, 1], [32755, 1], [32755, 1], [32755, 1], [32755, 1], [32755, 1], [32755, 1], [32755, 1], [32755, 1], [32755, 1], [32755, 1], [32755, 0, "k"], [32773, 1], [32772, 1], [32771, 1], [32770, 1], [32769, 1], [32768, 1], [32767, 1], [32767, 0, "d"], [32768, 0, "e"], [32769, 0, "l"], [32770, 0, "e"], [32771, 0, "t"], [32772, 0, "e"], [32864, 1], [32863, 1], [32862, 1], [32861, 1], [32860, 1], [32859, 1], [32858, 1], [32857, 1], [32856, 1], [32855, 1], [32854, 1], [32853, 1], [32852, 1], [32851, 1], [32850, 1], [32849, 1], [32848, 1], [32847, 1], [32846, 1], [32845, 1], [32844, 1], [32843, 1], [32842, 1], [32841, 1], [32840, 1], [32839, 1], [32838, 1], [32837, 1], [32836, 1], [32835, 1], [32834, 1], [32833, 1], [32832, 1], [32831, 1], [32830, 1], [32829, 1], [32828, 1], [32827, 1], [32826, 1], [32825, 1], [32824, 1], [32823, 1], [32822, 1], [32821, 1], [32820, 1], [32819, 1], [32818, 1], [32817, 1], [32816, 1], [32815, 1], [32814, 1], [32813, 1], [32812, 1], [32811, 1], [32810, 1], [32809, 1], [32808, 1], [32807, 1], [32806, 1], [32805, 1], [32804, 1], [32803, 1], [32802, 1], [32801, 1], [32800, 1], [32800, 0, "'"], [32787, 1], [32786, 1], [32785, 1], [32784, 1], [32783, 1], [32783, 0, " "], [32642, 1], [32641, 1], [32640, 1], [32639, 1], [32638, 1], [32641, 0, "e"], [32642, 0, "t"], [32643, 0, "e"], [32615, 1], [32602, 1], [32601, 1], [32600, 1], [32599, 1], [32598, 1], [32597, 1], [32596, 1], [32595, 1], [32594, 1], [32593, 1], [32592, 1], [32591, 1], [32590, 1], [32589, 1], [32588, 1], [32587, 1], [32586, 1], [32585, 1], [32584, 1], [32583, 1], [32582, 1], [32581, 1], [32580, 1], [32579, 1], [32578, 1], [32577, 1], [32576, 1], [32575, 1], [32574, 1], [32573, 1], [32572, 1], [32571, 1], [32570, 1], [32569, 1], [32568, 1], [32567, 1], [32566, 1], [32565, 1], [32564, 1], [32563, 1], [32562, 1], [32561, 1], [32560, 1], [32559, 1], [32558, 1], [32557, 1], [32556, 1], [32555, 1], [32567, 0, " "], [32567, 1], [32567, 0, ","], [32568, 0, "\\"], [32569, 0, ","], [32570, 0, " "], [32571, 0, "\\"], [32572, 0, "m"], [32573, 0, "a"], [32574, 0, "t"], [32575, 0, "h"], [32576, 0, "s"], [32577, 0, "f"], [32578, 0, "{"], [32579, 0, "c"], [32580, 0, "l"], [32581, 0, "e"], [32582, 0, "a"], [32583, 0, "r"], [32584, 0, "E"], [32585, 0, "l"], [32586, 0, "e"], [32587, 0, "m"], [32588, 0, "}"], [32589, 0, "("], [32590, 0, "\\"], [32591, 0, "m"], [32592, 0, "a"], [32593, 0, "t"], [32594, 0, "h"], [32595, 0, "i"], [32596, 0, "t"], [32597, 0, "{"], [32598, 0, "d"], [32599, 0, "e"], [32600, 0, "p"], [32601, 0, "s"], [32602, 0, "}"], [32603, 0, ","], [32604, 0, " "], [32605, 0, "k"], [32606, 0, ")"], [32607, 0, " "], [32608, 0, "\\"], [32609, 0, "e"], [32610, 0, "v"], [32611, 0, "a"], [32612, 0, "l"], [32613, 0, "t"], [32614, 0, "o"], [32615, 0, " "], [32616, 0, "\\"], [32617, 0, "m"], [32618, 0, "a"], [32619, 0, "t"], [32620, 0, "h"], [32621, 0, "i"], [32622, 0, "t"], [32623, 0, "{"], [32624, 0, "c"], [32625, 0, "t"], [32626, 0, "x"], [32627, 0, "}"], [32628, 0, "'"], [32629, 0, ","], [32630, 0, " "], [32630, 1], [32630, 0, "\\"], [32631, 0, ","], [32632, 0, " "], [32633, 0, "\\"], [32634, 0, "m"], [32635, 0, "a"], [32636, 0, "t"], [32637, 0, "h"], [32638, 0, "i"], [32639, 0, "t"], [32640, 0, "{"], [32641, 0, "p"], [32642, 0, "r"], [32643, 0, "e"], [32644, 0, "s"], [32645, 0, "}"], [32843, 0, "\n"], [32844, 0, "\n"], [32845, 0, "\\"], [32846, 0, "b"], [32847, 0, "e"], [32848, 0, "g"], [32849, 0, "i"], [32850, 0, "n"], [32851, 0, "{"], [32852, 0, "p"], [32853, 0, "r"], [32854, 0, "o"], [32855, 0, "o"], [32856, 0, "f"], [32857, 0, "t"], [32858, 0, "r"], [32859, 0, "e"], [32860, 0, "e"], [32861, 0, "}"], [32862, 0, "\n"], [32863, 0, "\\"], [32864, 0, "e"], [32865, 0, "n"], [32866, 0, "d"], [32867, 0, "{"], [32868, 0, "p"], [32869, 0, "r"], [32870, 0, "o"], [32871, 0, "o"], [32872, 0, "f"], [32873, 0, "t"], [32874, 0, "r"], [32875, 0, "e"], [32876, 0, "e"], [32877, 0, "}"], [32862, 0, "\n"], [32863, 0, "\\"], [32864, 0, "A"], [32865, 0, "x"], [32866, 0, "i"], [32867, 0, "o"], [32868, 0, "m"], [32869, 0, "C"], [32870, 0, "{"], [32871, 0, "$"], [32872, 0, "\\"], [32873, 0, "m"], [32874, 0, "a"], [32875, 0, "t"], [32876, 0, "h"], [32877, 0, "i"], [32878, 0, "t"], [32879, 0, "{"], [32880, 0, "c"], [32881, 0, "t"], [32882, 0, "x"], [32883, 0, "}"], [32884, 0, ","], [32885, 0, "\\"], [32886, 0, ","], [32887, 0, " "], [32888, 0, "\\"], [32889, 0, "m"], [32890, 0, "a"], [32891, 0, "t"], [32892, 0, "h"], [32893, 0, "s"], [32894, 0, "f"], [32895, 0, "{"], [32896, 0, "c"], [32897, 0, "l"], [32898, 0, "e"], [32899, 0, "a"], [32900, 0, "r"], [32901, 0, "A"], [32902, 0, "n"], [32903, 0, "y"], [32904, 0, "}"], [32905, 0, "("], [32906, 0, "\\"], [32907, 0, "m"], [32908, 0, "a"], [32909, 0, "t"], [32910, 0, "h"], [32911, 0, "i"], [32912, 0, "t"], [32913, 0, "{"], [32914, 0, "d"], [32915, 0, "e"], [32916, 0, "p"], [32917, 0, "s"], [32918, 0, "}"], [32919, 0, ","], [32920, 0, " "], [32921, 0, "k"], [32922, 0, ")"], [32923, 0, " "], [32924, 0, "\\"], [32925, 0, "e"], [32926, 0, "v"], [32927, 0, "a"], [32928, 0, "l"], [32929, 0, "t"], [32930, 0, "o"], [32931, 0, " "], [32932, 0, "\\"], [32933, 0, "m"], [32934, 0, "a"], [32935, 0, "t"], [32936, 0, "h"], [32937, 0, "i"], [32938, 0, "t"], [32939, 0, "{"], [32940, 0, "c"], [32941, 0, "t"], [32942, 0, "x"], [32943, 0, "}"], [32944, 0, "'"], [32945, 0, ","], [32946, 0, " "], [32947, 0, "\\"], [32948, 0, "m"], [32949, 0, "a"], [32950, 0, "t"], [32951, 0, "h"], [32952, 0, "i"], [32953, 0, "t"], [32954, 0, "{"], [32955, 0, "p"], [32956, 0, "r"], [32957, 0, "e"], [32958, 0, "s"], [32959, 0, "}"], [32960, 0, "$"], [32961, 0, "}"], [32962, 0, "\n"], [32963, 0, "\\"], [32964, 0, "A"], [32965, 0, "x"], [32966, 0, "i"], [32967, 0, "o"], [32968, 0, "m"], [32969, 0, "C"], [32970, 0, "{"], [32971, 0, "$"], [32972, 0, "\\"], [32973, 0, "m"], [32974, 0, "a"], [32975, 0, "t"], [32976, 0, "h"], [32977, 0, "i"], [32978, 0, "t"], [32979, 0, "{"], [32980, 0, "p"], [32981, 0, "r"], [32982, 0, "e"], [32983, 0, "s"], [32984, 0, "}"], [32985, 0, "'"], [32986, 0, " "], [32987, 0, "="], [32988, 0, " "], [32989, 0, "\\"], [32990, 0, "m"], [32991, 0, "a"], [32992, 0, "t"], [32993, 0, "h"], [32994, 0, "i"], [32995, 0, "t"], [32996, 0, "{"], [32997, 0, "p"], [32998, 0, "r"], [32999, 0, "e"], [33000, 0, "s"], [33001, 0, "}"], [33002, 0, " "], [33003, 0, "\\"], [33004, 0, ","], [33005, 0, "\\"], [33006, 0, "c"], [33007, 0, "u"], [33008, 0, "p"], [33009, 0, "\\"], [33010, 0, ","], [33011, 0, " "], [33012, 0, "$"], [33013, 0, "}"], [28022, 1], [28021, 1], [28020, 1], [28019, 1], [28018, 1], [28017, 1], [28016, 1], [28015, 1], [28014, 1], [28013, 1], [28012, 1], [28011, 1], [28010, 1], [28009, 1], [28008, 1], [28008, 0, "%"], [28006, 1], [28005, 1], [28004, 1], [28003, 1], [28002, 1], [28001, 1], [28000, 1], [27999, 1], [27998, 1], [27997, 1], [27996, 1], [27995, 1], [27994, 1], [27993, 1], [27992, 1], [27991, 1], [27990, 1], [27989, 1], [27988, 1], [27987, 1], [27986, 1], [27985, 1], [27984, 1], [27983, 1], [27982, 1], [27981, 1], [27980, 1], [27979, 1], [27979, 0, "h"], [27980, 0, "s"], [27981, 0, "p"], [27982, 0, "a"], [27983, 0, "c"], [27984, 0, "e"], [27985, 0, "{"], [27986, 0, "3"], [27987, 0, "e"], [27988, 0, "m"], [27989, 0, "}"], [28236, 1], [28235, 1], [28234, 1], [28233, 1], [28232, 1], [28231, 1], [28230, 1], [28229, 1], [28228, 1], [28227, 1], [28226, 1], [28226, 0, "p"], [28227, 0, "r"], [28228, 0, "o"], [28229, 0, "o"], [28230, 0, "f"], [28231, 0, "S"], [28232, 0, "k"], [28233, 0, "i"], [28234, 0, "p"], [28235, 0, "A"], [28236, 0, "m"], [28237, 0, "o"], [28238, 0, "u"], [28239, 0, "n"], [28240, 0, "t"], [28241, 0, "\n"], [28242, 0, "\\"], [28243, 0, "e"], [28244, 0, "n"], [28245, 0, "d"], [28246, 0, "{"], [28247, 0, "c"], [28248, 0, "e"], [28249, 0, "n"], [28250, 0, "t"], [28251, 0, "e"], [28252, 0, "r"], [28253, 0, "}"], [28254, 0, "\n"], [28256, 1], [28256, 0, "\\"], [28257, 0, "b"], [28258, 0, "e"], [28259, 0, "g"], [28260, 0, "i"], [28261, 0, "n"], [28262, 0, "{"], [28263, 0, "c"], [28264, 0, "e"], [28265, 0, "n"], [28266, 0, "t"], [28267, 0, "e"], [28268, 0, "r"], [28269, 0, "}"], [32845, 0, "%"], [32864, 0, "%"], [32965, 0, "%"], [33018, 0, "%"], [28452, 1], [28451, 1], [28450, 1], [28449, 1], [28448, 1], [28447, 1], [28446, 1], [28445, 1], [28444, 1], [28443, 1], [28442, 1], [28441, 1], [28440, 1], [28439, 1], [28438, 1], [28438, 0, "h"], [28439, 0, "s"], [28440, 0, "p"], [28441, 0, "a"], [28442, 0, "c"], [28443, 0, "e"], [28444, 0, "{"], [28445, 0, "3"], [28446, 0, "e"], [28447, 0, "m"], [28448, 0, "}"], [28449, 0, "\n"], [28450, 0, "%"], [28451, 0, "\n"], [28452, 0, "A"], [28453, 0, "x"], [28454, 0, "i"], [28455, 0, "o"], [28456, 0, "m"], [28457, 0, "C"], [28458, 0, "{"], [28459, 0, "$"], [28460, 0, "\\"], [28461, 0, "m"], [28462, 0, "a"], [28463, 0, "t"], [28464, 0, "h"], [28465, 0, "s"], [28466, 0, "f"], [28467, 0, "{"], [28468, 0, "p"], [28469, 0, "r"], [28470, 0, "e"], [28471, 0, "s"], [28472, 0, "}"], [28473, 0, "("], [28474, 0, "k"], [28475, 0, ")"], [28476, 0, " "], [28477, 0, "\\"], [28478, 0, "i"], [28479, 0, "n"], [28480, 0, " "], [28481, 0, "\\"], [28482, 0, "m"], [28483, 0, "a"], [28484, 0, "t"], [28485, 0, "h"], [28486, 0, "r"], [28487, 0, "m"], [28488, 0, "{"], [28489, 0, "d"], [28490, 0, "o"], [28491, 0, "m"], [28492, 0, "}"], [28493, 0, "("], [28494, 0, "\\"], [28495, 0, "m"], [28496, 0, "a"], [28497, 0, "t"], [28498, 0, "h"], [28499, 0, "i"], [28500, 0, "t"], [28501, 0, "{"], [28502, 0, "c"], [28503, 0, "t"], [28504, 0, "x"], [28505, 0, "}"], [28506, 0, ")"], [28507, 0, "$"], [28508, 0, "}"], [28509, 0, "\n"], [28452, 0, "\\"], [28511, 0, "\\"], [28512, 0, "L"], [28513, 0, "e"], [28514, 0, "f"], [28515, 0, "t"], [28516, 0, "L"], [28517, 0, "a"], [28518, 0, "b"], [28519, 0, "e"], [28520, 0, "l"], [28521, 0, "{"], [28522, 0, "\\"], [28523, 0, "t"], [28524, 0, "e"], [28525, 0, "x"], [28526, 0, "t"], [28527, 0, "s"], [28528, 0, "c"], [28529, 0, "{"], [28530, 0, "P"], [28531, 0, "r"], [28532, 0, "e"], [28533, 0, "s"], [28534, 0, "e"], [28535, 0, "n"], [28536, 0, "c"], [28537, 0, "e"], [28522, 0, "$"], [28539, 0, "\n"], [28539, 1], [28539, 0, "}"], [28540, 0, "_"], [28541, 0, "1"], [28542, 0, "$"], [28543, 0, "}"], [28544, 0, "\n"], [28545, 0, "\\"], [28546, 0, "U"], [28547, 0, "n"], [28548, 0, "a"], [28549, 0, "r"], [28550, 0, "y"], [28551, 0, "I"], [28552, 0, "n"], [28553, 0, "f"], [28554, 0, "C"], [28555, 0, "{"], [28556, 0, "$"], [28557, 0, "\\"], [28558, 0, "m"], [28559, 0, "a"], [28560, 0, "t"], [28561, 0, "h"], [28562, 0, "i"], [28563, 0, "t"], [28564, 0, "{"], [28565, 0, "c"], [28566, 0, "t"], [28567, 0, "x"], [28568, 0, "}"], [28569, 0, ","], [28570, 0, "\\"], [28571, 0, ","], [28572, 0, " "], [28573, 0, "\\"], [28574, 0, "m"], [28575, 0, "a"], [28576, 0, "t"], [28577, 0, "h"], [28578, 0, "s"], [28579, 0, "f"], [28580, 0, "{"], [28581, 0, "p"], [28582, 0, "r"], [28583, 0, "e"], [28584, 0, "s"], [28585, 0, "}"], [28586, 0, "("], [28587, 0, "k"], [28588, 0, ")"], [28589, 0, " "], [28590, 0, "\\"], [28591, 0, "e"], [28592, 0, "v"], [28593, 0, "a"], [28594, 0, "l"], [28595, 0, "t"], [28596, 0, "o"], [28597, 0, " "], [28598, 0, "\\"], [28599, 0, "m"], [28600, 0, "a"], [28601, 0, "t"], [28602, 0, "h"], [28603, 0, "i"], [28604, 0, "t"], [28605, 0, "{"], [28606, 0, "c"], [28607, 0, "t"], [28608, 0, "x"], [28609, 0, "}"], [28610, 0, "("], [28611, 0, "\\"], [28612, 0, "m"], [28613, 0, "a"], [28614, 0, "t"], [28615, 0, "h"], [28616, 0, "s"], [28617, 0, "f"], [28618, 0, "{"], [28619, 0, "p"], [28620, 0, "r"], [28621, 0, "e"], [28622, 0, "s"], [28623, 0, "}"], [28624, 0, "("], [28625, 0, "k"], [28626, 0, ")"], [28627, 0, ")"], [28628, 0, "$"], [28629, 0, "}"], [28630, 0, "\n"], [28631, 0, "\\"], [28632, 0, "D"], [28633, 0, "i"], [28634, 0, "s"], [28635, 0, "p"], [28636, 0, "l"], [28637, 0, "a"], [28638, 0, "y"], [28639, 0, "P"], [28640, 0, "r"], [28641, 0, "o"], [28642, 0, "o"], [28643, 0, "f"], [28644, 0, "\\"], [28645, 0, "h"], [28646, 0, "s"], [28647, 0, "p"], [28648, 0, "a"], [28649, 0, "c"], [28650, 0, "e"], [28651, 0, "{"], [28652, 0, "3"], [28653, 0, "e"], [28654, 0, "m"], [28655, 0, "}"], [28656, 0, "\n"], [28657, 0, "%"], [28658, 0, "\n"], [28659, 0, "\\"], [28660, 0, "A"], [28661, 0, "x"], [28662, 0, "i"], [28663, 0, "o"], [28664, 0, "m"], [28665, 0, "C"], [28666, 0, "{"], [28667, 0, "$"], [28668, 0, "\\"], [28669, 0, "m"], [28670, 0, "a"], [28671, 0, "t"], [28672, 0, "h"], [28673, 0, "s"], [28674, 0, "f"], [28675, 0, "{"], [28676, 0, "p"], [28677, 0, "r"], [28678, 0, "e"], [28679, 0, "s"], [28680, 0, "}"], [28681, 0, "("], [28682, 0, "k"], [28683, 0, ")"], [28684, 0, " "], [28685, 0, "\\"], [28686, 0, "n"], [28687, 0, "o"], [28688, 0, "t"], [28689, 0, "i"], [28690, 0, "n"], [28691, 0, " "], [28692, 0, "\\"], [28693, 0, "m"], [28694, 0, "a"], [28695, 0, "t"], [28696, 0, "h"], [28697, 0, "r"], [28698, 0, "m"], [28699, 0, "{"], [28700, 0, "d"], [28701, 0, "o"], [28702, 0, "m"], [28703, 0, "}"], [28704, 0, "("], [28705, 0, "\\"], [28706, 0, "m"], [28707, 0, "a"], [28708, 0, "t"], [28709, 0, "h"], [28710, 0, "i"], [28711, 0, "t"], [28712, 0, "{"], [28713, 0, "c"], [28714, 0, "t"], [28715, 0, "x"], [28716, 0, "}"], [28717, 0, ")"], [28718, 0, "$"], [28719, 0, "}"], [28720, 0, "\n"], [28721, 0, "\\"], [28722, 0, "L"], [28723, 0, "e"], [28724, 0, "f"], [28725, 0, "t"], [28726, 0, "L"], [28727, 0, "a"], [28728, 0, "b"], [28729, 0, "e"], [28730, 0, "l"], [28731, 0, "{"], [28732, 0, "$"], [28733, 0, "\\"], [28734, 0, "t"], [28735, 0, "e"], [28736, 0, "x"], [28737, 0, "t"], [28738, 0, "s"], [28739, 0, "c"], [28740, 0, "{"], [28741, 0, "P"], [28742, 0, "r"], [28743, 0, "e"], [28744, 0, "s"], [28745, 0, "e"], [28746, 0, "n"], [28747, 0, "c"], [28748, 0, "e"], [28749, 0, "}"], [28750, 0, "_"], [28751, 0, "2"], [28752, 0, "$"], [28753, 0, "}"], [28754, 0, "\n"], [28755, 0, "\\"], [28756, 0, "U"], [28757, 0, "n"], [28758, 0, "a"], [28759, 0, "r"], [28760, 0, "y"], [28761, 0, "I"], [28762, 0, "n"], [28763, 0, "f"], [28764, 0, "C"], [28765, 0, "{"], [28766, 0, "$"], [28767, 0, "\\"], [28768, 0, "m"], [28769, 0, "a"], [28770, 0, "t"], [28771, 0, "h"], [28772, 0, "i"], [28773, 0, "t"], [28774, 0, "{"], [28775, 0, "c"], [28776, 0, "t"], [28777, 0, "x"], [28778, 0, "}"], [28779, 0, ","], [28780, 0, "\\"], [28781, 0, ","], [28782, 0, " "], [28783, 0, "\\"], [28784, 0, "m"], [28785, 0, "a"], [28786, 0, "t"], [28787, 0, "h"], [28788, 0, "s"], [28789, 0, "f"], [28790, 0, "{"], [28791, 0, "p"], [28792, 0, "r"], [28793, 0, "e"], [28794, 0, "s"], [28795, 0, "}"], [28796, 0, "("], [28797, 0, "k"], [28798, 0, ")"], [28799, 0, " "], [28800, 0, "\\"], [28801, 0, "e"], [28802, 0, "v"], [28803, 0, "a"], [28804, 0, "l"], [28805, 0, "t"], [28806, 0, "o"], [28807, 0, " "], [28808, 0, "\\"], [28809, 0, "m"], [28809, 1], [28808, 1], [28808, 0, "\\"], [28809, 0, "{"], [28810, 0, "\\"], [28811, 0, "}"], [28812, 0, "$"], [28813, 0, "}"], [28814, 0, "\n"], [28815, 0, "\\"], [28816, 0, "D"], [28817, 0, "i"], [28818, 0, "s"], [28819, 0, "p"], [28820, 0, "l"], [28821, 0, "a"], [28822, 0, "y"], [28823, 0, "P"], [28824, 0, "r"], [28825, 0, "o"], [28826, 0, "o"], [28827, 0, "f"], [28828, 0, "\\"], [28829, 0, "p"], [28830, 0, "r"], [28831, 0, "o"], [28832, 0, "o"], [28833, 0, "f"], [28834, 0, "S"], [28835, 0, "k"], [28836, 0, "i"], [28837, 0, "p"], [28838, 0, "A"], [28839, 0, "m"], [28840, 0, "o"], [28841, 0, "u"], [28842, 0, "n"], [28843, 0, "t"], [28871, 1], [28870, 1], [28869, 1], [28868, 1], [28867, 1], [28866, 1], [28866, 0, "p"], [28867, 0, "r"], [28868, 0, "o"], [28869, 0, "o"], [28870, 0, "f"], [28871, 0, "t"], [28872, 0, "r"], [28873, 0, "e"], [28874, 0, "e"], [29644, 1], [29643, 1], [29642, 1], [29641, 1], [29640, 1], [29639, 1], [29639, 0, "p"], [29640, 0, "r"], [29641, 0, "o"], [29642, 0, "o"], [29643, 0, "f"], [29644, 0, "t"], [29645, 0, "r"], [29646, 0, "e"], [29647, 0, "e"], [28974, 0, "\\"], [28975, 0, "m"], [28976, 0, "a"], [28977, 0, "t"], [28978, 0, "h"], [28979, 0, "i"], [28980, 0, "t"], [28981, 0, "{"], [28982, 0, "c"], [28983, 0, "t"], [28984, 0, "x"], [28985, 0, "}"], [28986, 0, ","], [28987, 0, "\\"], [28988, 0, ","], [28989, 0, " "], [29012, 1], [29011, 1], [29010, 1], [29009, 1], [29008, 1], [29008, 0, "e"], [29009, 0, "v"], [29010, 0, "a"], [29011, 0, "l"], [29012, 0, "t"], [29013, 0, "o"], [29020, 1], [29020, 1], [29020, 0, "i"], [29021, 0, "t"], [29023, 1], [29023, 1], [29023, 1], [29023, 0, "p"], [29024, 0, "r"], [29025, 0, "e"], [29026, 0, "s"], [29028, 1], [29028, 1], [29028, 1], [29028, 1], [29028, 1], [29028, 1], [29028, 1], [29028, 1], [29028, 1], [29028, 1], [29028, 1], [29028, 1], [29028, 1], [29028, 1], [29060, 1], [29059, 1], [29058, 1], [29042, 1], [29410, 1], [29409, 1], [29408, 1], [29407, 1], [29406, 1], [29405, 1], [29404, 1], [29403, 1], [29402, 1], [29401, 1], [29400, 1], [29399, 1], [29398, 1], [29397, 1], [29396, 1], [29395, 1], [29394, 1], [29393, 1], [29392, 1], [29391, 1], [29390, 1], [29389, 1], [29388, 1], [29387, 1], [29386, 1], [29385, 1], [29384, 1], [29383, 1], [29382, 1], [29381, 1], [29380, 1], [29379, 1], [29378, 1], [29377, 1], [29376, 1], [29375, 1], [29374, 1], [29373, 1], [29372, 1], [29371, 1], [29370, 1], [29369, 1], [29368, 1], [29367, 1], [29366, 1], [29365, 1], [29364, 1], [29363, 1], [29362, 1], [29361, 1], [29360, 1], [29359, 1], [29358, 1], [29357, 1], [29356, 1], [29355, 1], [29354, 1], [29353, 1], [29352, 1], [29351, 1], [29350, 1], [29349, 1], [29348, 1], [29347, 1], [29346, 1], [29345, 1], [29344, 1], [29343, 1], [29342, 1], [29341, 1], [29340, 1], [29339, 1], [29338, 1], [29337, 1], [29336, 1], [29335, 1], [29334, 1], [29333, 1], [29332, 1], [29331, 1], [29330, 1], [29329, 1], [29328, 1], [29327, 1], [29326, 1], [29325, 1], [29324, 1], [29323, 1], [29322, 1], [29321, 1], [29320, 1], [29319, 1], [29318, 1], [29317, 1], [29316, 1], [29315, 1], [29314, 1], [29313, 1], [29312, 1], [29311, 1], [29310, 1], [29309, 1], [29308, 1], [29307, 1], [29306, 1], [29305, 1], [29304, 1], [29303, 1], [29302, 1], [29301, 1], [29300, 1], [29299, 1], [29298, 1], [29297, 1], [29296, 1], [29295, 1], [29294, 1], [29293, 1], [29292, 1], [29291, 1], [29290, 1], [29289, 1], [29288, 1], [29287, 1], [29286, 1], [29285, 1], [29284, 1], [29283, 1], [29282, 1], [29281, 1], [29280, 1], [29279, 1], [29278, 1], [29277, 1], [29276, 1], [29275, 1], [29274, 1], [29273, 1], [29272, 1], [29271, 1], [29270, 1], [29269, 1], [29268, 1], [29267, 1], [29266, 1], [29265, 1], [29264, 1], [29263, 1], [29262, 1], [29261, 1], [29260, 1], [29259, 1], [29258, 1], [29257, 1], [29256, 1], [29255, 1], [29254, 1], [29253, 1], [29252, 1], [29251, 1], [29250, 1], [29249, 1], [29248, 1], [29247, 1], [29246, 1], [29245, 1], [29244, 1], [29243, 1], [29242, 1], [29241, 1], [29240, 1], [29239, 1], [29238, 1], [29237, 1], [29236, 1], [29235, 1], [29234, 1], [29233, 1], [29232, 1], [29231, 1], [29230, 1], [29229, 1], [29228, 1], [29227, 1], [29226, 1], [29225, 1], [29224, 1], [29223, 1], [29222, 1], [29221, 1], [29220, 1], [29219, 1], [29218, 1], [29217, 1], [29216, 1], [29215, 1], [29214, 1], [29213, 1], [29212, 1], [29211, 1], [29210, 1], [29209, 1], [29208, 1], [29207, 1], [29206, 1], [29205, 1], [29204, 1], [29203, 1], [29202, 1], [29201, 1], [29200, 1], [29199, 1], [29198, 1], [29197, 1], [29196, 1], [29195, 1], [29194, 1], [29193, 1], [29192, 1], [29191, 1], [29190, 1], [29189, 1], [29188, 1], [29187, 1], [29186, 1], [29185, 1], [29184, 1], [29183, 1], [29182, 1], [29181, 1], [29180, 1], [29179, 1], [29178, 1], [29177, 1], [29176, 1], [29175, 1], [29174, 1], [29173, 1], [29172, 1], [29171, 1], [29170, 1], [29169, 1], [29168, 1], [29167, 1], [29166, 1], [29165, 1], [29164, 1], [29163, 1], [29162, 1], [29161, 1], [29160, 1], [29159, 1], [29158, 1], [29157, 1], [29156, 1], [29155, 1], [29154, 1], [29153, 1], [29152, 1], [29151, 1], [29150, 1], [29149, 1], [29148, 1], [29147, 1], [29146, 1], [29145, 1], [29144, 1], [29143, 1], [29142, 1], [29141, 1], [29140, 1], [29139, 1], [29138, 1], [29137, 1], [29136, 1], [29135, 1], [29134, 1], [29133, 1], [29132, 1], [29131, 1], [29130, 1], [29129, 1], [29128, 1], [29127, 1], [29126, 1], [29125, 1], [29124, 1], [29123, 1], [29122, 1], [29121, 1], [29120, 1], [29119, 1], [29118, 1], [29117, 1], [29116, 1], [29115, 1], [29114, 1], [29113, 1], [29112, 1], [29111, 1], [29110, 1], [29109, 1], [29108, 1], [29107, 1], [29106, 1], [29105, 1], [29104, 1], [29103, 1], [29102, 1], [29101, 1], [29100, 1], [29099, 1], [29098, 1], [29097, 1], [29096, 1], [29095, 1], [29094, 1], [29093, 1], [29092, 1], [29091, 1], [29090, 1], [29089, 1], [29088, 1], [29087, 1], [29086, 1], [29085, 1], [29084, 1], [29083, 1], [29082, 1], [29081, 1], [29080, 1], [29079, 1], [29078, 1], [29077, 1], [29076, 1], [29075, 1], [29074, 1], [29073, 1], [29072, 1], [29071, 1], [29070, 1], [29069, 1], [29068, 1], [29067, 1], [29066, 1], [29065, 1], [29064, 1], [29063, 1], [29062, 1], [29061, 1], [29060, 1], [29059, 1], [29058, 1], [29279, 1], [29278, 1], [29277, 1], [29276, 1], [29275, 1], [29274, 1], [29273, 1], [29272, 1], [29271, 1], [29270, 1], [29269, 1], [29268, 1], [29267, 1], [29266, 1], [29265, 1], [29264, 1], [29263, 1], [29262, 1], [29261, 1], [29260, 1], [29259, 1], [29258, 1], [29257, 1], [29256, 1], [29255, 1], [29254, 1], [29253, 1], [29252, 1], [29251, 1], [29250, 1], [29218, 1], [29217, 1], [29216, 1], [29215, 1], [29208, 1], [29207, 1], [29207, 0, "i"], [29208, 0, "t"], [29201, 1], [29200, 1], [29199, 1], [29198, 1], [29197, 1], [29196, 1], [29195, 1], [29194, 1], [29193, 1], [29192, 1], [29191, 1], [29190, 1], [29189, 1], [32842, 1], [32860, 1], [32960, 1], [33012, 1], [32959, 0, "\n"], [32960, 0, "\\"], [32961, 0, "A"], [32962, 0, "x"], [32963, 0, "i"], [32964, 0, "o"], [32965, 0, "m"], [32966, 0, "C"], [32967, 0, "{"], [32968, 0, "$"], [32969, 0, "\\"], [32970, 0, "m"], [32971, 0, "a"], [32972, 0, "t"], [32973, 0, "h"], [32974, 0, "i"], [32975, 0, "t"], [32976, 0, "{"], [32977, 0, "c"], [32978, 0, "t"], [32979, 0, "x"], [32980, 0, "}"], [32981, 0, "'"], [32982, 0, ","], [32983, 0, "\\"], [32984, 0, ","], [32985, 0, " "], [32986, 0, "\\"], [32987, 0, "m"], [32988, 0, "a"], [32989, 0, "t"], [32990, 0, "h"], [32991, 0, "s"], [32992, 0, "f"], [32993, 0, "{"], [32994, 0, "p"], [32995, 0, "r"], [32996, 0, "e"], [32997, 0, "s"], [32998, 0, "}"], [32999, 0, "("], [33000, 0, "k"], [33001, 0, ")"], [32957, 0, "\\"], [32957, 1], [32957, 0, "_"], [32958, 0, "\\"], [32959, 0, "m"], [32960, 0, "a"], [32961, 0, "t"], [32962, 0, "h"], [32963, 0, "i"], [32964, 0, "t"], [32965, 0, "{"], [32966, 0, "c"], [32967, 0, "h"], [32968, 0, "i"], [32969, 0, "l"], [32970, 0, "d"], [32971, 0, "}"], [33017, 0, " "], [33018, 0, "="], [33018, 1], [33018, 0, "\\"], [33019, 0, "e"], [33020, 0, "v"], [33021, 0, "a"], [33022, 0, "l"], [33023, 0, "t"], [33024, 0, "o"], [33025, 0, " "], [33026, 0, "\\"], [33027, 0, "m"], [33028, 0, "a"], [33029, 0, "t"], [33030, 0, "h"], [33031, 0, "i"], [33032, 0, "t"], [33033, 0, "{"], [33034, 0, "p"], [33035, 0, "r"], [33036, 0, "e"], [33037, 0, "s"], [33038, 0, "}"], [33039, 0, "_"], [33040, 0, "\\"], [33041, 0, "m"], [33042, 0, "a"], [33043, 0, "t"], [33044, 0, "h"], [33045, 0, "i"], [33046, 0, "t"], [33047, 0, "{"], [33048, 0, "e"], [33049, 0, "l"], [33050, 0, "e"], [33051, 0, "m"], [33052, 0, "}"], [33053, 0, "$"], [33054, 0, "}"], [33095, 0, "_"], [33096, 0, "\\"], [33097, 0, "m"], [33098, 0, "a"], [33099, 0, "t"], [33100, 0, "h"], [33101, 0, "i"], [33102, 0, "t"], [33103, 0, "{"], [33104, 0, "c"], [33105, 0, "h"], [33106, 0, "i"], [33107, 0, "l"], [33108, 0, "d"], [33109, 0, "}"], [33120, 0, "\\"], [33121, 0, "m"], [33122, 0, "a"], [33123, 0, "t"], [33124, 0, "h"], [33125, 0, "i"], [33126, 0, "t"], [33127, 0, "{"], [33128, 0, "p"], [33129, 0, "r"], [33130, 0, "e"], [33131, 0, "s"], [33132, 0, "}"], [33133, 0, "_"], [33134, 0, "\\"], [33135, 0, "m"], [33136, 0, "a"], [33137, 0, "t"], [33138, 0, "h"], [33139, 0, "i"], [33140, 0, "t"], [33141, 0, "{"], [33142, 0, "e"], [33143, 0, "l"], [33144, 0, "e"], [33145, 0, "m"], [33146, 0, "}"], [33149, 0, "\n"], [33150, 0, "\\"], [33151, 0, "L"], [33152, 0, "e"], [33153, 0, "f"], [33154, 0, "t"], [33155, 0, "L"], [33156, 0, "a"], [33157, 0, "b"], [33158, 0, "e"], [33159, 0, "l"], [33160, 0, "{"], [33161, 0, "\\"], [33162, 0, "t"], [33163, 0, "e"], [33164, 0, "x"], [33165, 0, "t"], [33166, 0, "s"], [33167, 0, "c"], [33168, 0, "{"], [33169, 0, "C"], [33170, 0, "l"], [33171, 0, "e"], [33172, 0, "a"], [33173, 0, "r"], [33174, 0, "_"], [33174, 1], [33174, 0, "-"], [33175, 0, "E"], [33176, 0, "l"], [33177, 0, "e"], [33178, 0, "m"], [33179, 0, "}"], [33180, 0, "}"], [33181, 0, "\n"], [33182, 0, "\\"], [33183, 0, "T"], [33184, 0, "r"], [33185, 0, "i"], [33186, 0, "n"], [33187, 0, "a"], [33188, 0, "r"], [33189, 0, "y"], [33190, 0, "I"], [33191, 0, "n"], [33192, 0, "f"], [33193, 0, "C"], [33194, 0, "{"], [33195, 0, "$"], [33196, 0, "\\"], [33197, 0, "m"], [33198, 0, "a"], [33199, 0, "t"], [33200, 0, "h"], [33201, 0, "i"], [33202, 0, "t"], [33203, 0, "{"], [33204, 0, "c"], [33205, 0, "t"], [33206, 0, "x"], [33207, 0, "}"], [33208, 0, ","], [33209, 0, "\\"], [33210, 0, ","], [33211, 0, " "], [33212, 0, "\\"], [33213, 0, "m"], [33214, 0, "a"], [33215, 0, "t"], [33216, 0, "h"], [33217, 0, "s"], [33218, 0, "f"], [33219, 0, "{"], [33220, 0, "c"], [33221, 0, "l"], [33222, 0, "e"], [33223, 0, "a"], [33224, 0, "r"], [33225, 0, "E"], [33226, 0, "l"], [33227, 0, "e"], [33228, 0, "m"], [33229, 0, "}"], [33230, 0, "("], [33231, 0, "\\"], [33232, 0, "m"], [33233, 0, "a"], [33234, 0, "t"], [33235, 0, "h"], [33236, 0, "i"], [33237, 0, "t"], [33238, 0, "{"], [33239, 0, "d"], [33240, 0, "e"], [33241, 0, "p"], [33242, 0, "s"], [33243, 0, "}"], [33244, 0, ","], [33245, 0, " "], [33246, 0, "k"], [33247, 0, "}"], [33247, 1], [33247, 0, ")"], [33248, 0, " "], [33249, 0, "\\"], [33250, 0, "e"], [33251, 0, "v"], [33252, 0, "a"], [33253, 0, "l"], [33254, 0, "t"], [33255, 0, "o"], [33256, 0, " "], [33257, 0, "\\"], [33258, 0, "m"], [33259, 0, "a"], [33260, 0, "t"], [33261, 0, "h"], [33262, 0, "i"], [33263, 0, "t"], [33264, 0, "{"], [33265, 0, "c"], [33266, 0, "t"], [33267, 0, "x"], [33268, 0, "}"], [33269, 0, "'"], [33256, 0, "\n"], [33257, 0, " "], [33258, 0, " "], [33259, 0, " "], [33274, 0, " "], [33275, 0, "["], [33276, 0, "\\"], [33277, 0, ","], [33278, 0, " "], [33279, 0, "\\"], [33280, 0, "m"], [33281, 0, "a"], [33282, 0, "t"], [33283, 0, "h"], [33284, 0, "s"], [33285, 0, "f"], [33286, 0, "{"], [33287, 0, "p"], [33288, 0, "r"], [33289, 0, "e"], [33290, 0, "s"], [33291, 0, "}"], [33292, 0, "("], [33293, 0, "k"], [33294, 0, ")"], [33295, 0, " "], [33296, 0, "\\"], [33297, 0, ","], [33298, 0, "\\"], [33299, 0, "m"], [33300, 0, "a"], [33301, 0, "p"], [33302, 0, "s"], [33303, 0, "t"], [33304, 0, "o"], [33305, 0, "\\"], [33306, 0, ","], [33307, 0, " "], [33308, 0, "\\"], [33309, 0, "m"], [33310, 0, "a"], [33311, 0, "t"], [33312, 0, "h"], [33313, 0, "i"], [33314, 0, "t"], [33315, 0, "{"], [33316, 0, "p"], [33317, 0, "r"], [33318, 0, "e"], [33319, 0, "s"], [33320, 0, "}"], [33321, 0, "'"], [33322, 0, " "], [33323, 0, "\\"], [33324, 0, ","], [33325, 0, "]"], [33326, 0, ","], [33327, 0, "\\"], [33328, 0, ","], [33329, 0, " "], [33330, 0, "\\"], [33331, 0, "m"], [33332, 0, "a"], [33333, 0, "t"], [33334, 0, "h"], [33335, 0, "i"], [33336, 0, "t"], [33337, 0, "{"], [33338, 0, "p"], [33339, 0, "r"], [33340, 0, "e"], [33341, 0, "s"], [33342, 0, "}"], [33343, 0, "'"], [33344, 0, "$"], [33345, 0, "}"], [32958, 0, "1"], [32959, 1], [32959, 1], [32959, 1], [32959, 1], [32959, 1], [32959, 1], [32959, 1], [32959, 1], [32959, 1], [32959, 1], [32959, 1], [32959, 1], [32959, 1], [32959, 1], [33039, 1], [33038, 1], [33037, 1], [33036, 1], [33035, 1], [33034, 1], [33033, 1], [33032, 1], [33031, 1], [33030, 1], [33029, 1], [33028, 1], [33027, 1], [33027, 0, "2"], [33109, 1], [33109, 1], [33109, 1], [33109, 1], [33109, 1], [33109, 1], [33109, 1], [33109, 1], [33109, 1], [33109, 1], [33109, 1], [33109, 1], [33109, 1], [33109, 0, "2"], [33084, 1], [33083, 1], [33082, 1], [33081, 1], [33080, 1], [33079, 1], [33078, 1], [33077, 1], [33076, 1], [33075, 1], [33074, 1], [33073, 1], [33072, 1], [33071, 1], [33071, 0, "1"], [33053, 1], [33053, 0, "+"], [33053, 1], [33053, 0, "_"], [33054, 0, "3"], [33272, 1], [33272, 0, "_"], [33273, 0, "3"], [33295, 1], [33295, 0, "_"], [33296, 0, "3"], [33315, 0, "\n"], [33316, 0, "\n"], [33317, 0, "\\"], [33318, 0, "b"], [33319, 0, "e"], [33320, 0, "g"], [33321, 0, "i"], [33322, 0, "n"], [33323, 0, "{"], [33324, 0, "p"], [33325, 0, "r"], [33326, 0, "o"], [33327, 0, "o"], [33328, 0, "f"], [33329, 0, "t"], [33330, 0, "r"], [33331, 0, "e"], [33332, 0, "e"], [33333, 0, "}"], [33334, 0, "\n"], [33335, 0, "\\"], [33336, 0, "e"], [33337, 0, "n"], [33338, 0, "d"], [33339, 0, "{"], [33340, 0, "p"], [33341, 0, "r"], [33342, 0, "o"], [33343, 0, "o"], [33344, 0, "f"], [33345, 0, "t"], [33346, 0, "r"], [33347, 0, "e"], [33348, 0, "e"], [33349, 0, "}"], [33334, 0, "\n"], [33335, 0, "\\"], [33336, 0, "A"], [33337, 0, "x"], [33338, 0, "i"], [33339, 0, "o"], [33340, 0, "m"], [33341, 0, "C"], [33342, 0, "{"], [33343, 0, "$"], [33344, 0, "\\"], [33345, 0, "b"], [33346, 0, "e"], [33347, 0, "g"], [33348, 0, "i"], [33349, 0, "n"], [33350, 0, "{"], [33351, 0, "m"], [33352, 0, "a"], [33353, 0, "t"], [33354, 0, "r"], [33355, 0, "i"], [33356, 0, "x"], [33357, 0, "}"], [33358, 0, "\n"], [33359, 0, " "], [33360, 0, " "], [33361, 0, " "], [33362, 0, " "], [33363, 0, "\\"], [33364, 0, "m"], [33365, 0, "a"], [33366, 0, "t"], [33367, 0, "h"], [33368, 0, "i"], [33369, 0, "t"], [33370, 0, "{"], [33371, 0, "c"], [33372, 0, "t"], [33373, 0, "x"], [33374, 0, "}"], [33375, 0, ","], [33376, 0, "\\"], [33377, 0, ","], [33378, 0, " "], [33379, 0, "\\"], [33380, 0, "m"], [33381, 0, "a"], [33382, 0, "t"], [33383, 0, "h"], [33384, 0, "s"], [33385, 0, "f"], [33386, 0, "{"], [33387, 0, "c"], [33388, 0, "l"], [33389, 0, "e"], [33390, 0, "a"], [33391, 0, "r"], [33392, 0, "}"], [33393, 0, "("], [33394, 0, "\\"], [33395, 0, "m"], [33396, 0, "a"], [33397, 0, "t"], [33398, 0, "h"], [33399, 0, "i"], [33400, 0, "t"], [33401, 0, "{"], [33402, 0, "d"], [33403, 0, "e"], [33404, 0, "p"], [33405, 0, "s"], [33406, 0, "}"], [33407, 0, ","], [33408, 0, " "], [33409, 0, "\\"], [33410, 0, "m"], [33411, 0, "a"], [33412, 0, "t"], [33413, 0, "h"], [33414, 0, "s"], [33415, 0, "f"], [33416, 0, "{"], [33417, 0, "m"], [33418, 0, "a"], [33419, 0, "p"], [33420, 0, "T"], [33421, 0, "}"], [33422, 0, "("], [33423, 0, "k"], [33424, 0, ")"], [33425, 0, ")"], [33426, 0, " "], [33427, 0, "\\"], [33428, 0, "\\"], [33429, 0, "\n"], [33430, 0, " "], [33431, 0, " "], [33432, 0, " "], [33433, 0, " "], [33434, 0, "\\"], [33435, 0, "e"], [33436, 0, "v"], [33437, 0, "a"], [33438, 0, "l"], [33439, 0, "t"], [33440, 0, "o"], [33441, 0, " "], [33442, 0, "\\"], [33443, 0, "m"], [33444, 0, "a"], [33445, 0, "t"], [33446, 0, "h"], [33447, 0, "i"], [33448, 0, "t"], [33449, 0, "{"], [33450, 0, "c"], [33451, 0, "t"], [33452, 0, "x"], [33453, 0, "_"], [33453, 1], [33453, 0, "}"], [33454, 0, "_"], [33455, 0, "1"], [33456, 0, ","], [33457, 0, "\\"], [33458, 0, ","], [33459, 0, " "], [33460, 0, "\\"], [33461, 0, "m"], [33462, 0, "a"], [33463, 0, "t"], [33464, 0, "h"], [33465, 0, "i"], [33466, 0, "t"], [33467, 0, "{"], [33468, 0, "p"], [33469, 0, "r"], [33470, 0, "e"], [33471, 0, "s"], [33472, 0, "}"], [33473, 0, "_"], [33474, 0, "1"], [33475, 0, " "], [33476, 0, "\\"], [33477, 0, "e"], [33478, 0, "n"], [33479, 0, "d"], [33480, 0, "{"], [33481, 0, "m"], [33482, 0, "a"], [33483, 0, "t"], [33484, 0, "r"], [33485, 0, "i"], [33486, 0, "x"], [33487, 0, "}"], [33488, 0, "$"], [33489, 0, "}"], [33490, 0, "\n"], [33491, 0, "\\"], [33492, 0, "A"], [33493, 0, "x"], [33494, 0, "i"], [33495, 0, "o"], [33496, 0, "m"], [33497, 0, "C"], [33498, 0, "{"], [33499, 0, "$"], [33500, 0, "\\"], [33501, 0, "b"], [33502, 0, "e"], [33503, 0, "g"], [33504, 0, "i"], [33505, 0, "n"], [33506, 0, "{"], [33507, 0, "m"], [33508, 0, "a"], [33509, 0, "t"], [33510, 0, "r"], [33511, 0, "i"], [33512, 0, "x"], [33513, 0, "}"], [33514, 0, "\n"], [33515, 0, " "], [33516, 0, " "], [33517, 0, " "], [33518, 0, " "], [33519, 0, "\\"], [33520, 0, "m"], [33521, 0, "a"], [33522, 0, "t"], [33523, 0, "h"], [33524, 0, "i"], [33525, 0, "t"], [33526, 0, "{"], [33527, 0, "c"], [33528, 0, "t"], [33529, 0, "x"], [33530, 0, "}"], [33531, 0, "_"], [33532, 0, "1"], [33533, 0, ","], [33534, 0, "\\"], [33535, 0, ","], [33536, 0, " "], [33537, 0, "\\"], [33538, 0, "m"], [33539, 0, "a"], [33540, 0, "t"], [33541, 0, "h"], [33542, 0, "s"], [33543, 0, "f"], [33544, 0, "{"], [33545, 0, "c"], [33546, 0, "l"], [33547, 0, "e"], [33548, 0, "a"], [33549, 0, "r"], [33550, 0, "}"], [33551, 0, "("], [33552, 0, "\\"], [33553, 0, "m"], [33554, 0, "a"], [33555, 0, "t"], [33556, 0, "h"], [33557, 0, "i"], [33558, 0, "t"], [33559, 0, "{"], [33560, 0, "d"], [33561, 0, "e"], [33562, 0, "p"], [33563, 0, "s"], [33564, 0, "}"], [33565, 0, ","], [33566, 0, " "], [33567, 0, "\\"], [33568, 0, "m"], [33569, 0, "a"], [33570, 0, "t"], [33571, 0, "h"], [33572, 0, "s"], [33573, 0, "f"], [33574, 0, "{"], [33575, 0, "l"], [33576, 0, "i"], [33577, 0, "s"], [33578, 0, "t"], [33579, 0, "T"], [33580, 0, "}"], [33581, 0, "("], [33582, 0, "k"], [33583, 0, ")"], [33584, 0, ")"], [33585, 0, " "], [33586, 0, "\\"], [33587, 0, "\\"], [33588, 0, "\n"], [33589, 0, " "], [33590, 0, " "], [33591, 0, " "], [33592, 0, " "], [33593, 0, "\\"], [33594, 0, "e"], [33595, 0, "v"], [33596, 0, "a"], [33597, 0, "l"], [33598, 0, "t"], [33599, 0, "o"], [33600, 0, " "], [33601, 0, "\\"], [33602, 0, "m"], [33603, 0, "a"], [33604, 0, "t"], [33605, 0, "h"], [33606, 0, "i"], [33607, 0, "t"], [33608, 0, "{"], [33609, 0, "c"], [33610, 0, "t"], [33611, 0, "x"], [33612, 0, "_"], [33612, 1], [33612, 0, "}"], [33613, 0, "_"], [33614, 0, "2"], [33615, 0, ","], [33616, 0, "\\"], [33617, 0, ","], [33618, 0, " "], [33619, 0, "\\"], [33620, 0, "m"], [33621, 0, "a"], [33622, 0, "t"], [33623, 0, "h"], [33624, 0, "i"], [33625, 0, "t"], [33626, 0, "{"], [33627, 0, "p"], [33628, 0, "r"], [33629, 0, "e"], [33630, 0, "s"], [33631, 0, "}"], [33632, 0, "_"], [33633, 0, "2"], [33634, 0, " "], [33635, 0, "\\"], [33636, 0, "e"], [33637, 0, "n"], [33638, 0, "d"], [33639, 0, "{"], [33640, 0, "m"], [33641, 0, "a"], [33642, 0, "t"], [33643, 0, "r"], [33644, 0, "i"], [33645, 0, "x"], [33646, 0, "}"], [33647, 0, "$"], [33648, 0, "}"], [33649, 0, "\n"], [33650, 0, "\\"], [33651, 0, "A"], [33652, 0, "x"], [33653, 0, "i"], [33654, 0, "o"], [33655, 0, "m"], [33656, 0, "C"], [33657, 0, "{"], [33658, 0, "$"], [33659, 0, "\\"], [33660, 0, "b"], [33661, 0, "e"], [33662, 0, "g"], [33663, 0, "i"], [33664, 0, "n"], [33665, 0, "{"], [33666, 0, "m"], [33667, 0, "a"], [33668, 0, "t"], [33669, 0, "r"], [33670, 0, "i"], [33671, 0, "x"], [33672, 0, "}"], [33673, 0, "\n"], [33674, 0, " "], [33675, 0, " "], [33676, 0, " "], [33677, 0, " "], [33678, 0, "\\"], [33679, 0, "m"], [33680, 0, "a"], [33681, 0, "t"], [33682, 0, "h"], [33683, 0, "i"], [33684, 0, "t"], [33685, 0, "{"], [33686, 0, "c"], [33687, 0, "t"], [33688, 0, "x"], [33689, 0, "}"], [33690, 0, "_"], [33691, 0, "2"], [33692, 0, ","], [33693, 0, "\\"], [33694, 0, ","], [33695, 0, " "], [33696, 0, "\\"], [33697, 0, "m"], [33698, 0, "a"], [33699, 0, "t"], [33700, 0, "h"], [33701, 0, "s"], [33702, 0, "f"], [33703, 0, "{"], [33704, 0, "c"], [33705, 0, "l"], [33706, 0, "e"], [33707, 0, "a"], [33708, 0, "r"], [33709, 0, "}"], [33710, 0, "("], [33711, 0, "\\"], [33712, 0, "m"], [33713, 0, "a"], [33714, 0, "t"], [33715, 0, "h"], [33716, 0, "i"], [33717, 0, "t"], [33718, 0, "{"], [33719, 0, "d"], [33720, 0, "e"], [33721, 0, "p"], [33722, 0, "s"], [33723, 0, "}"], [33724, 0, ","], [33725, 0, " "], [33726, 0, "\\"], [33727, 0, "m"], [33728, 0, "a"], [33729, 0, "t"], [33730, 0, "h"], [33731, 0, "s"], [33732, 0, "f"], [33733, 0, "{"], [33734, 0, "r"], [33735, 0, "e"], [33736, 0, "g"], [33737, 0, "T"], [33738, 0, "}"], [33739, 0, "("], [33740, 0, "k"], [33741, 0, ")"], [33742, 0, ")"], [33743, 0, " "], [33744, 0, "\\"], [33745, 0, "\\"], [33746, 0, "\n"], [33747, 0, " "], [33748, 0, " "], [33749, 0, " "], [33750, 0, " "], [33751, 0, "\\"], [33752, 0, "e"], [33753, 0, "v"], [33754, 0, "a"], [33755, 0, "l"], [33756, 0, "t"], [33757, 0, "o"], [33758, 0, " "], [33759, 0, "\\"], [33760, 0, "m"], [33761, 0, "a"], [33762, 0, "t"], [33763, 0, "h"], [33764, 0, "i"], [33765, 0, "t"], [33766, 0, "{"], [33767, 0, "c"], [33768, 0, "t"], [33769, 0, "x"], [33770, 0, "}"], [33771, 0, "_"], [33772, 0, "3"], [33773, 0, ","], [33774, 0, "\\"], [33775, 0, ","], [33776, 0, " "], [33777, 0, "\\"], [33778, 0, "m"], [33779, 0, "a"], [33780, 0, "t"], [33781, 0, "h"], [33782, 0, "i"], [33783, 0, "t"], [33784, 0, "{"], [33785, 0, "p"], [33786, 0, "r"], [33787, 0, "e"], [33788, 0, "s"], [33789, 0, "}"], [33790, 0, "_"], [33791, 0, "3"], [33792, 0, "}"], [33793, 0, " "], [33793, 1], [33792, 1], [33792, 0, " "], [33793, 0, "\\"], [33794, 0, "e"], [33795, 0, "n"], [33796, 0, "d"], [33797, 0, "{"], [33798, 0, "m"], [33799, 0, "a"], [33800, 0, "t"], [33801, 0, "r"], [33802, 0, "i"], [33803, 0, "x"], [33804, 0, "}"], [33805, 0, "$"], [33806, 0, "}"], [33807, 0, "\n"], [33808, 0, "\\"], [33809, 0, "L"], [33810, 0, "e"], [33811, 0, "f"], [33812, 0, "t"], [33813, 0, "L"], [33814, 0, "a"], [33815, 0, "b"], [33816, 0, "e"], [33817, 0, "l"], [33818, 0, "{"], [33819, 0, "\\"], [33820, 0, "t"], [33821, 0, "e"], [33822, 0, "x"], [33823, 0, "t"], [33824, 0, "s"], [33825, 0, "c"], [33826, 0, "{"], [33827, 0, "C"], [33828, 0, "l"], [33829, 0, "e"], [33830, 0, "a"], [33831, 0, "r"], [33832, 0, "-"], [33833, 0, "A"], [33834, 0, "n"], [33835, 0, "y"], [33836, 0, "}"], [33837, 0, "}"], [33838, 0, "\n"], [33839, 0, "\\"], [33840, 0, "T"], [33841, 0, "r"], [33842, 0, "i"], [33843, 0, "n"], [33844, 0, "a"], [33845, 0, "r"], [33846, 0, "y"], [33847, 0, "I"], [33848, 0, "n"], [33849, 0, "f"], [33850, 0, "C"], [33851, 0, "{"], [33852, 0, "$"], [33853, 0, "\\"], [33854, 0, "m"], [33855, 0, "a"], [33856, 0, "t"], [33857, 0, "h"], [33858, 0, "i"], [33859, 0, "t"], [33860, 0, "{"], [33861, 0, "c"], [33862, 0, "t"], [33863, 0, "x"], [33864, 0, "}"], [33865, 0, ","], [33866, 0, "\\"], [33867, 0, ","], [33868, 0, " "], [33869, 0, "\\"], [33870, 0, "m"], [33871, 0, "a"], [33872, 0, "t"], [33873, 0, "h"], [33874, 0, "s"], [33875, 0, "f"], [33876, 0, "{"], [33877, 0, "c"], [33878, 0, "l"], [33879, 0, "e"], [33880, 0, "a"], [33881, 0, "r"], [33882, 0, "E"], [33883, 0, "l"], [33884, 0, "e"], [33885, 0, "m"], [33885, 1], [33884, 1], [33883, 1], [33882, 1], [33882, 0, "A"], [33883, 0, "n"], [33884, 0, "y"], [33885, 0, "}"], [33886, 0, "("], [33887, 0, "\\"], [33888, 0, "m"], [33889, 0, "a"], [33890, 0, "t"], [33891, 0, "h"], [33892, 0, "i"], [33893, 0, "t"], [33894, 0, "{"], [33895, 0, "d"], [33896, 0, "e"], [33897, 0, "p"], [33898, 0, "s"], [33899, 0, "}"], [33900, 0, ","], [33901, 0, " "], [33902, 0, "k"], [33903, 0, ")"], [33904, 0, " "], [33905, 0, "\\"], [33906, 0, "e"], [33907, 0, "v"], [33908, 0, "a"], [33909, 0, "l"], [33910, 0, "t"], [33911, 0, "o"], [33912, 0, "\n"], [33913, 0, " "], [33914, 0, " "], [33915, 0, " "], [33916, 0, " "], [33917, 0, "\\"], [33918, 0, "m"], [33919, 0, "a"], [33920, 0, "t"], [33921, 0, "h"], [33922, 0, "i"], [33923, 0, "t"], [33924, 0, "{"], [33925, 0, "c"], [33926, 0, "t"], [33927, 0, "x"], [33928, 0, "}"], [33929, 0, "-"], [33929, 1], [33929, 0, "_"], [33930, 0, "3"], [33931, 0, ","], [33932, 0, "\\"], [33933, 0, ","], [33934, 0, " "], [33935, 0, "\\"], [33936, 0, "m"], [33937, 0, "a"], [33938, 0, "t"], [33939, 0, "h"], [33940, 0, "t"], [33940, 1], [33940, 0, "i"], [33941, 0, "t"], [33942, 0, "{"], [33943, 0, "p"], [33944, 0, "r"], [33945, 0, "e"], [33946, 0, "s"], [33947, 0, "}"], [33948, 0, "_"], [33949, 0, "1"], [33950, 0, " "], [33951, 0, "\\"], [33952, 0, ","], [33953, 0, "\\"], [33954, 0, "c"], [33955, 0, "u"], [33956, 0, "p"], [33957, 0, "\\"], [33958, 0, ","], [33959, 0, " "], [33960, 0, "\\"], [33961, 0, "m"], [33962, 0, "a"], [33963, 0, "t"], [33964, 0, "h"], [33965, 0, "i"], [33966, 0, "t"], [33967, 0, "{"], [33968, 0, "p"], [33969, 0, "r"], [33970, 0, "e"], [33971, 0, "s"], [33972, 0, "}"], [33973, 0, "_"], [33974, 0, "2"], [33975, 0, " "], [33976, 0, "\\"], [33977, 0, "c"], [33978, 0, "\\"], [33978, 1], [33977, 1], [33977, 0, ","], [33978, 0, "\\"], [33979, 0, "c"], [33980, 0, "u"], [33981, 0, "p"], [33982, 0, "\\"], [33983, 0, ","], [33984, 0, " "], [33985, 0, "\\"], [33986, 0, "m"], [33987, 0, "a"], [33988, 0, "t"], [33989, 0, "h"], [33990, 0, "i"], [33991, 0, "t"], [33992, 0, "{"], [33993, 0, "p"], [33994, 0, "r"], [33995, 0, "e"], [33996, 0, "s"], [33997, 0, "}"], [33998, 0, "_"], [33999, 0, "3"], [34000, 0, " "], [34000, 1], [34000, 0, "$"], [34001, 0, "}"], [34018, 0, "\n"], [34019, 0, "\n"], [34020, 0, "\\"], [34021, 0, "b"], [34022, 0, "e"], [34023, 0, "g"], [34024, 0, "i"], [34025, 0, "n"], [34026, 0, "{"], [34027, 0, "p"], [34028, 0, "r"], [34029, 0, "o"], [34030, 0, "o"], [34031, 0, "f"], [34032, 0, "t"], [34033, 0, "r"], [34034, 0, "e"], [34035, 0, "e"], [34036, 0, "}"], [34037, 0, "\n"], [34038, 0, "\\"], [34039, 0, "e"], [34040, 0, "n"], [34041, 0, "d"], [34042, 0, "{"], [34043, 0, "p"], [34044, 0, "r"], [34045, 0, "o"], [34046, 0, "o"], [34047, 0, "f"], [34048, 0, "t"], [34049, 0, "r"], [34050, 0, "e"], [34051, 0, "e"], [34052, 0, "}"], [34037, 0, "\n"], [34038, 0, "\\"], [34039, 0, "A"], [34040, 0, "x"], [34041, 0, "i"], [34042, 0, "o"], [34043, 0, "m"], [34044, 0, "C"], [34045, 0, "{"], [34046, 0, "$"], [34047, 0, "k"], [34048, 0, " "], [34049, 0, "\\"], [34050, 0, "n"], [34051, 0, "o"], [34052, 0, "t"], [34053, 0, "i"], [34054, 0, "n"], [34055, 0, " "], [34056, 0, "\\"], [34057, 0, "m"], [34058, 0, "a"], [34059, 0, "t"], [34060, 0, "h"], [34061, 0, "r"], [34062, 0, "m"], [34063, 0, "{"], [34064, 0, "d"], [34065, 0, "o"], [34066, 0, "m"], [34067, 0, "}"], [34068, 0, "("], [34069, 0, "\\"], [34070, 0, "m"], [34071, 0, "a"], [34072, 0, "t"], [34073, 0, "h"], [34074, 0, "i"], [34075, 0, "t"], [34076, 0, "{"], [34077, 0, "c"], [34078, 0, "t"], [34079, 0, "x"], [34080, 0, "}"], [34081, 0, ")"], [34082, 0, "$"], [34083, 0, "}"], [34084, 0, "\n"], [34085, 0, "\\"], [34086, 0, "L"], [34087, 0, "e"], [34088, 0, "f"], [34089, 0, "t"], [34090, 0, "L"], [34091, 0, "a"], [34092, 0, "b"], [34093, 0, "e"], [34094, 0, "l"], [34095, 0, "{"], [34096, 0, "\\"], [34097, 0, "t"], [34098, 0, "e"], [34099, 0, "x"], [34100, 0, "t"], [34101, 0, "s"], [34102, 0, "c"], [34103, 0, "{"], [34104, 0, "C"], [34105, 0, "l"], [34106, 0, "e"], [34107, 0, "a"], [34108, 0, "r"], [34109, 0, "-"], [34110, 0, "N"], [34111, 0, "o"], [34112, 0, "n"], [34113, 0, "e"], [34114, 0, "}"], [34115, 0, "}"], [34116, 0, "\n"], [34117, 0, "\\"], [34118, 0, "U"], [34119, 0, "n"], [34120, 0, "a"], [34121, 0, "r"], [34122, 0, "y"], [34123, 0, "I"], [34124, 0, "n"], [34125, 0, "f"], [34126, 0, "C"], [34127, 0, "{"], [34128, 0, "$"], [34129, 0, "\\"], [34130, 0, "m"], [34131, 0, "a"], [34132, 0, "t"], [34133, 0, "h"], [34134, 0, "i"], [34135, 0, "t"], [34136, 0, "{"], [34137, 0, "c"], [34138, 0, "t"], [34139, 0, "x"], [34140, 0, "}"], [34141, 0, ","], [34142, 0, "\\"], [34143, 0, ","], [34144, 0, " "], [34145, 0, "\\"], [34146, 0, "m"], [34147, 0, "a"], [34148, 0, "t"], [34149, 0, "h"], [34150, 0, "s"], [34151, 0, "f"], [34152, 0, "{"], [34153, 0, "c"], [34154, 0, "l"], [34155, 0, "e"], [34156, 0, "a"], [34157, 0, "r"], [34158, 0, "}"], [34159, 0, "("], [34160, 0, "\\"], [34161, 0, "m"], [34162, 0, "a"], [34163, 0, "t"], [34164, 0, "h"], [34165, 0, "i"], [34166, 0, "t"], [34167, 0, "{"], [34168, 0, "d"], [34169, 0, "e"], [34170, 0, "p"], [34171, 0, "s"], [34172, 0, "}"], [34173, 0, ","], [34174, 0, " "], [34175, 0, "k"], [34176, 0, ")"], [34177, 0, " "], [34178, 0, "\\"], [34179, 0, "e"], [34180, 0, "v"], [34181, 0, "a"], [34182, 0, "l"], [34183, 0, "t"], [34184, 0, "o"], [34185, 0, " "], [34186, 0, "\\"], [34187, 0, "m"], [34188, 0, "a"], [34189, 0, "t"], [34190, 0, "h"], [34191, 0, "i"], [34192, 0, "o"], [34193, 0, "t"], [34193, 1], [34192, 1], [34192, 0, "t"], [34193, 0, "{"], [34194, 0, "c"], [34195, 0, "t"], [34196, 0, "x"], [34197, 0, "}"], [34198, 0, ","], [34199, 0, "\\"], [34200, 0, ","], [34201, 0, " "], [34202, 0, "\\"], [34203, 0, "{"], [34204, 0, "\\"], [34205, 0, "}"], [34206, 0, "$"], [34207, 0, "}"], [34559, 1], [34558, 1], [34558, 0, "c"], [34559, 0, "l"], [34560, 0, "e"], [34561, 0, "a"], [34562, 0, "r"], [34565, 1], [34565, 1], [34565, 1], [34565, 1], [34565, 1], [34565, 1], [34565, 1], [34565, 1], [34565, 1], [34565, 1], [34565, 1], [34565, 1], [34565, 1], [34579, 0, " "], [34580, 0, "\\"], [34581, 0, "m"], [34582, 0, "a"], [34583, 0, "t"], [34584, 0, "h"], [34585, 0, "s"], [34586, 0, "f"], [34587, 0, "{"], [34588, 0, "r"], [34589, 0, "e"], [34590, 0, "g"], [34591, 0, "T"], [34592, 0, "}"], [34593, 0, "("], [34594, 0, "k"], [34595, 0, ")"], [34596, 0, ")"], [34597, 0, " "], [34598, 0, "\\"], [34599, 0, "e"], [34600, 0, "v"], [34601, 0, "a"], [34602, 0, "l"], [34603, 0, "t"], [34604, 0, "o"], [34673, 1], [34672, 1], [34671, 1], [34670, 1], [34669, 1], [34668, 1], [34667, 1], [34666, 1], [34665, 1], [34664, 1], [34663, 1], [34662, 1], [34661, 1], [34660, 1], [34659, 1], [34658, 1], [34657, 1], [34656, 1], [34655, 1], [34654, 1], [34653, 1], [34652, 1], [34651, 1], [34650, 1], [34649, 1], [34648, 1], [34647, 1], [34646, 1], [34645, 1], [34644, 1], [34643, 1], [34642, 1], [34641, 1], [34640, 1], [34639, 1], [34638, 1], [34637, 1], [34636, 1], [34635, 1], [34634, 1], [34633, 1], [34632, 1], [34631, 1], [34630, 1], [34629, 1], [34628, 1], [34627, 1], [34626, 1], [34625, 1], [34624, 1], [34623, 1], [34622, 1], [34621, 1], [34620, 1], [34619, 1], [34618, 1], [34617, 1], [34616, 1], [34615, 1], [34614, 1], [34613, 1], [34612, 1], [34611, 1], [34610, 1], [34609, 1], [34608, 1], [34607, 1], [34606, 1], [34605, 1], [34678, 0, ","], [34679, 0, "\\"], [34680, 0, ","], [34681, 0, " "], [34682, 0, "\\"], [34683, 0, "m"], [34684, 0, "a"], [34685, 0, "t"], [34686, 0, "h"], [34687, 0, "i"], [34688, 0, "t"], [34689, 0, "{"], [34689, 1], [34688, 1], [34687, 1], [34687, 0, "r"], [34688, 0, "m"], [34689, 0, "{"], [34690, 0, "d"], [34691, 0, "o"], [34692, 0, "m"], [34693, 0, "}"], [34694, 0, "("], [34695, 0, "\\"], [34696, 0, "m"], [34697, 0, "a"], [34698, 0, "t"], [34699, 0, "h"], [34700, 0, "i"], [34701, 0, "t"], [34702, 0, "{"], [34703, 0, "c"], [34704, 0, "o"], [34705, 0, "n"], [34706, 0, "c"], [34707, 0, "u"], [34708, 0, "r"], [34709, 0, "r"], [34710, 0, "e"], [34711, 0, "n"], [34712, 0, "t"], [34713, 0, "}"], [34714, 0, ")"], [34360, 1], [34360, 1], [34349, 1], [34348, 1], [34393, 1], [34392, 1], [34381, 1], [34380, 1], [34453, 1], [34453, 1], [34723, 0, "\n"], [34724, 0, "\n"], [34725, 0, "\\"], [34726, 0, "b"], [34727, 0, "e"], [34728, 0, "g"], [34729, 0, "i"], [34730, 0, "n"], [34731, 0, "{"], [34732, 0, "p"], [34733, 0, "r"], [34734, 0, "o"], [34735, 0, "o"], [34736, 0, "f"], [34737, 0, "t"], [34738, 0, "r"], [34739, 0, "e"], [34740, 0, "e"], [34741, 0, "}"], [34742, 0, "\n"], [34743, 0, "\\"], [34744, 0, "e"], [34745, 0, "n"], [34746, 0, "d"], [34747, 0, "{"], [34748, 0, "p"], [34749, 0, "r"], [34750, 0, "o"], [34751, 0, "o"], [34752, 0, "f"], [34753, 0, "t"], [34754, 0, "r"], [34755, 0, "e"], [34756, 0, "e"], [34757, 0, "}"], [34742, 0, "\n"], [34743, 0, "\\"], [34744, 0, "A"], [34745, 0, "x"], [34746, 0, "i"], [34747, 0, "o"], [34748, 0, "m"], [34749, 0, "C"], [34750, 0, "{"], [34751, 0, "$"], [34752, 0, "\\"], [34753, 0, "m"], [34754, 0, "a"], [34755, 0, "t"], [34756, 0, "h"], [34757, 0, "s"], [34758, 0, "f"], [34759, 0, "{"], [34760, 0, "m"], [34761, 0, "a"], [34762, 0, "p"], [34763, 0, "T"], [34764, 0, "}"], [34765, 0, "("], [34766, 0, "k"], [34767, 0, ")"], [34768, 0, " "], [34769, 0, "\\"], [34770, 0, "i"], [34771, 0, "n"], [34772, 0, " "], [34773, 0, "\\"], [34774, 0, "m"], [34775, 0, "a"], [34776, 0, "t"], [34777, 0, "h"], [34778, 0, "r"], [34779, 0, "m"], [34780, 0, "{"], [34781, 0, "d"], [34782, 0, "o"], [34783, 0, "m"], [34784, 0, "}"], [34785, 0, "("], [34786, 0, "\\"], [34787, 0, "m"], [34788, 0, "a"], [34789, 0, "t"], [34790, 0, "h"], [34791, 0, "i"], [34792, 0, "t"], [34793, 0, "{"], [34794, 0, "c"], [34795, 0, "t"], [34796, 0, "x"], [34797, 0, "}"], [34798, 0, ")"], [34799, 0, "$"], [34800, 0, "}"], [34801, 0, "\n"], [34802, 0, "\\"], [34803, 0, "L"], [34804, 0, "e"], [34805, 0, "f"], [34806, 0, "t"], [34807, 0, "L"], [34808, 0, "a"], [34809, 0, "b"], [34810, 0, "e"], [34811, 0, "l"], [34812, 0, "{"], [34813, 0, "\\"], [34814, 0, "t"], [34815, 0, "e"], [34816, 0, "x"], [34817, 0, "t"], [34818, 0, "s"], [34819, 0, "c"], [34820, 0, "{"], [34821, 0, "C"], [34822, 0, "l"], [34823, 0, "e"], [34824, 0, "a"], [34825, 0, "r"], [34826, 0, "-"], [34827, 0, "M"], [34828, 0, "a"], [34829, 0, "p"], [34830, 0, "}"], [34831, 0, "}"], [34832, 0, "\n"], [34833, 0, "\\"], [34813, 0, "$"], [34832, 0, "_"], [34833, 0, "1"], [34834, 0, "$"], [34837, 1], [34836, 1], [34801, 0, "\n"], [34802, 0, "\\"], [34803, 0, "A"], [34804, 0, "x"], [34805, 0, "i"], [34806, 0, "o"], [34807, 0, "m"], [34808, 0, "C"], [34809, 0, "{"], [34810, 0, "$"], [34811, 0, "\\"], [34812, 0, "m"], [34813, 0, "a"], [34814, 0, "t"], [34815, 0, "h"], [34816, 0, "i"], [34817, 0, "t"], [34818, 0, "{"], [34819, 0, "c"], [34820, 0, "t"], [34821, 0, "x"], [34822, 0, "}"], [34823, 0, ","], [34824, 0, "\\"], [34824, 1], [34823, 1], [34823, 0, "("], [34824, 0, "\\"], [34825, 0, "m"], [34826, 0, "a"], [34827, 0, "t"], [34828, 0, "h"], [34829, 0, "s"], [34830, 0, "f"], [34831, 0, "{"], [34832, 0, "m"], [34833, 0, "a"], [34834, 0, "p"], [34835, 0, "T"], [34836, 0, "}"], [34837, 0, "("], [34838, 0, "k"], [34839, 0, ")"], [34840, 0, ")"], [34841, 0, "\\"], [34841, 1], [34841, 0, ","], [34842, 0, "\\"], [34843, 0, ","], [34844, 0, " "], [34845, 0, "\\"], [34846, 0, "m"], [34847, 0, "a"], [34848, 0, "t"], [34849, 0, "h"], [34850, 0, "s"], [34851, 0, "f"], [34852, 0, "{"], [34853, 0, "c"], [34854, 0, "l"], [34855, 0, "e"], [34856, 0, "a"], [34857, 0, "r"], [34858, 0, "M"], [34859, 0, "a"], [34860, 0, "p"], [34861, 0, "}"], [34862, 0, "("], [34863, 0, "\\"], [34864, 0, "m"], [34865, 0, "a"], [34866, 0, "t"], [34867, 0, "h"], [34868, 0, "i"], [34869, 0, "t"], [34870, 0, "{"], [34871, 0, "d"], [34872, 0, "e"], [34873, 0, "p"], [34874, 0, "s"], [34875, 0, "}"], [34876, 0, ","], [34877, 0, " "], [34878, 0, "\\"], [34879, 0, "{"], [34880, 0, "\\"], [34881, 0, "}"], [34882, 0, ")"], [34883, 0, " "], [34884, 0, "\\"], [34885, 0, "e"], [34886, 0, "v"], [34887, 0, "a"], [34888, 0, "l"], [34889, 0, "t"], [34890, 0, "o"], [34891, 0, " "], [34892, 0, "\\"], [34893, 0, "m"], [34894, 0, "a"], [34895, 0, "t"], [34896, 0, "h"], [34891, 0, "\n"], [34892, 0, " "], [34893, 0, " "], [34894, 0, " "], [34901, 0, "i"], [34902, 0, "t"], [34903, 0, "{"], [34904, 0, "c"], [34905, 0, "l"], [34906, 0, "e"], [34907, 0, "a"], [34908, 0, "r"], [34909, 0, "e"], [34910, 0, "d"], [34911, 0, "}"], [34912, 0, ","], [34913, 0, "\\"], [34914, 0, ","], [34915, 0, " "], [34916, 0, "\\"], [34917, 0, "m"], [34918, 0, "a"], [34919, 0, "t"], [34920, 0, "h"], [34921, 0, "i"], [34922, 0, "t"], [34923, 0, "{"], [34924, 0, "p"], [34925, 0, "r"], [34926, 0, "e"], [34927, 0, "s"], [34928, 0, "}"], [34929, 0, "$"], [34930, 0, "}"], [34931, 0, "\n"], [34932, 0, "\\"], [34933, 0, "L"], [34934, 0, "e"], [34935, 0, "f"], [34936, 0, "t"], [34936, 1], [34935, 1], [34934, 1], [34933, 1], [34932, 1], [34931, 1], [34966, 0, "\n"], [34967, 0, "\\"], [34968, 0, "B"], [34969, 0, "i"], [34970, 0, "n"], [34971, 0, "a"], [34972, 0, "r"], [34973, 0, "y"], [34974, 0, "I"], [34975, 0, "n"], [34976, 0, "f"], [34977, 0, "C"], [34978, 0, "{"], [34979, 0, "$"], [34980, 0, "\\"], [34981, 0, "m"], [34982, 0, "a"], [34983, 0, "t"], [34984, 0, "h"], [34985, 0, "i"], [34986, 0, "t"], [34987, 0, "{"], [34988, 0, "c"], [34989, 0, "t"], [34990, 0, "x"], [34991, 0, "}"], [34992, 0, ","], [34993, 0, "\\"], [34994, 0, ","], [34995, 0, " "], [34996, 0, "\\"], [34997, 0, "m"], [34998, 0, "a"], [34999, 0, "t"], [35000, 0, "h"], [35001, 0, "s"], [35002, 0, "f"], [35003, 0, "{"], [35004, 0, "c"], [35005, 0, "l"], [35006, 0, "e"], [35007, 0, "a"], [35008, 0, "r"], [35009, 0, "("], [35009, 1], [35009, 0, "}"], [35010, 0, "("], [35011, 0, "\\"], [35012, 0, "m"], [35013, 0, "a"], [35014, 0, "t"], [35015, 0, "h"], [35016, 0, "i"], [35017, 0, "t"], [35018, 0, "{"], [35019, 0, "d"], [35020, 0, "e"], [35021, 0, "p"], [35022, 0, "s"], [35023, 0, "}"], [35024, 0, ","], [35025, 0, " "], [35026, 0, "\\"], [35027, 0, "m"], [35028, 0, "a"], [35029, 0, "t"], [35030, 0, "h"], [35031, 0, "s"], [35032, 0, "f"], [35033, 0, "{"], [35034, 0, "m"], [35035, 0, "a"], [35036, 0, "p"], [35037, 0, "T"], [35038, 0, "}"], [35039, 0, "("], [35040, 0, "k"], [35041, 0, ")"], [35042, 0, ")"], [35043, 0, " "], [35044, 0, "\\"], [35045, 0, "e"], [35046, 0, "v"], [35047, 0, "a"], [35048, 0, "l"], [35049, 0, "t"], [35050, 0, "o"], [35051, 0, "\n"], [35052, 0, " "], [35053, 0, " "], [35054, 0, " "], [35055, 0, " "], [35056, 0, "\\"], [35057, 0, "m"], [35058, 0, "a"], [35059, 0, "t"], [35060, 0, "h"], [35061, 0, "i"], [35062, 0, "t"], [35063, 0, "{"], [35064, 0, "c"], [35065, 0, "t"], [35066, 0, "x"], [35067, 0, "}"], [35068, 0, " "], [35069, 0, "["], [35070, 0, "\\"], [35071, 0, ","], [35072, 0, " "], [35073, 0, "\\"], [35074, 0, "m"], [35075, 0, "a"], [35076, 0, "t"], [35077, 0, "h"], [35078, 0, "s"], [35079, 0, "f"], [35080, 0, "{"], [35081, 0, "m"], [35082, 0, "a"], [35083, 0, "p"], [35084, 0, "T"], [35085, 0, "}"], [35086, 0, "("], [35087, 0, "k"], [35088, 0, ")"], [35089, 0, " "], [35090, 0, "\\"], [35091, 0, ","], [35092, 0, "\\"], [35093, 0, "m"], [35094, 0, "a"], [35095, 0, "p"], [35096, 0, "s"], [35097, 0, "t"], [35098, 0, "o"], [35099, 0, "\\"], [35100, 0, ","], [35101, 0, " "], [35102, 0, "\\"], [35103, 0, "m"], [35104, 0, "a"], [35105, 0, "t"], [35106, 0, "h"], [35107, 0, "i"], [35108, 0, "t"], [35109, 0, "{"], [35110, 0, "c"], [35111, 0, "l"], [35112, 0, "e"], [35113, 0, "a"], [35114, 0, "r"], [35115, 0, "e"], [35116, 0, "d"], [35117, 0, "}"], [35118, 0, " "], [35119, 0, "\\"], [35120, 0, ","], [35121, 0, "]"], [35122, 0, ","], [35123, 0, "\\"], [35124, 0, ","], [35125, 0, " "], [35126, 0, "\\"], [35127, 0, "m"], [35128, 0, "a"], [35129, 0, "t"], [35130, 0, "h"], [35131, 0, "i"], [35132, 0, "t"], [35133, 0, "{"], [35134, 0, "p"], [35135, 0, "r"], [35136, 0, "e"], [35137, 0, "s"], [35138, 0, "}"], [35139, 0, "$"], [35140, 0, "}"], [35157, 0, "\n"], [35158, 0, "\n"], [35159, 0, "\\"], [35160, 0, "b"], [35161, 0, "e"], [35162, 0, "g"], [35163, 0, "i"], [35164, 0, "n"], [35165, 0, "{"], [35166, 0, "p"], [35167, 0, "r"], [35168, 0, "o"], [35169, 0, "o"], [35170, 0, "f"], [35171, 0, "t"], [35172, 0, "r"], [35173, 0, "e"], [35174, 0, "e"], [35175, 0, "}"], [35176, 0, "\n"], [35177, 0, "\\"], [35178, 0, "n"], [35179, 0, "e"], [35179, 1], [35178, 1], [35178, 0, "e"], [35179, 0, "n"], [35180, 0, "d"], [35181, 0, "{"], [35182, 0, "p"], [35183, 0, "r"], [35184, 0, "o"], [35185, 0, "o"], [35186, 0, "f"], [35187, 0, "t"], [35188, 0, "r"], [35189, 0, "e"], [35190, 0, "e"], [35191, 0, "}"], [35176, 0, "\n"], [35177, 0, "\\"], [35178, 0, "A"], [35179, 0, "x"], [35180, 0, "i"], [35181, 0, "o"], [35182, 0, "m"], [35183, 0, "C"], [35184, 0, "{"], [35185, 0, "$"], [35186, 0, "k"], [35187, 0, " "], [35188, 0, "\\"], [35189, 0, "i"], [35190, 0, "n"], [35191, 0, " "], [35192, 0, "\\"], [35193, 0, "m"], [35194, 0, "a"], [35195, 0, "t"], [35196, 0, "h"], [35197, 0, "r"], [35198, 0, "m"], [35199, 0, "{"], [35200, 0, "k"], [35201, 0, "e"], [35202, 0, "y"], [35203, 0, "s"], [35204, 0, "}"], [35205, 0, "("], [35206, 0, "\\"], [35207, 0, "m"], [35208, 0, "a"], [35209, 0, "t"], [35210, 0, "h"], [35211, 0, "i"], [35212, 0, "t"], [35213, 0, "{"], [35214, 0, "c"], [35215, 0, "t"], [35216, 0, "x"], [35217, 0, "}"], [35218, 0, ")"], [35219, 0, " "], [35220, 0, "\\"], [35221, 0, ","], [35222, 0, "\\"], [35223, 0, "w"], [35224, 0, "e"], [35225, 0, "d"], [35226, 0, "g"], [35227, 0, "e"], [35228, 0, "\\"], [35229, 0, ","], [35230, 0, " "], [35231, 0, "k"], [35232, 0, " "], [35233, 0, "\\"], [35234, 0, "n"], [35235, 0, "o"], [35236, 0, "t"], [35237, 0, "i"], [35238, 0, "n"], [35239, 0, " "], [35240, 0, "\\"], [35241, 0, "m"], [35242, 0, "a"], [35243, 0, "t"], [35244, 0, "h"], [35245, 0, "i"], [35246, 0, "t"], [35247, 0, "{"], [35248, 0, "d"], [35249, 0, "o"], [35250, 0, "n"], [35251, 0, "e"], [35252, 0, "}"], [35253, 0, "$"], [35254, 0, "}"], [35255, 0, "\n"], [35256, 0, "\\"], [35257, 0, "A"], [35258, 0, "x"], [35259, 0, "i"], [35260, 0, "o"], [35261, 0, "m"], [35262, 0, "C"], [35263, 0, "{"], [35264, 0, "$"], [35265, 0, "\\"], [35266, 0, "m"], [35267, 0, "a"], [35268, 0, "t"], [35269, 0, "h"], [35270, 0, "i"], [35271, 0, "t"], [35272, 0, "{"], [35273, 0, "c"], [35274, 0, "t"], [35275, 0, "x"], [35276, 0, "}"], [35277, 0, ","], [35278, 0, "\\"], [35279, 0, ","], [35280, 0, " "], [35281, 0, "\\"], [35282, 0, "m"], [35283, 0, "a"], [35284, 0, "t"], [35285, 0, "h"], [35286, 0, "s"], [35287, 0, "f"], [35288, 0, "{"], [35289, 0, "c"], [35290, 0, "l"], [35291, 0, "e"], [35292, 0, "a"], [35293, 0, "r"], [35294, 0, "E"], [35295, 0, "l"], [35296, 0, "e"], [35297, 0, "m"], [35298, 0, "}"], [35299, 0, "("], [35300, 0, "\\"], [35301, 0, "m"], [35302, 0, "a"], [35303, 0, "t"], [35304, 0, "h"], [35305, 0, "i"], [35306, 0, "t"], [35307, 0, "{"], [35308, 0, "d"], [35309, 0, "e"], [35310, 0, "p"], [35311, 0, "s"], [35312, 0, "}"], [35313, 0, ","], [35314, 0, " "], [35315, 0, "k"], [35316, 0, ")"], [35317, 0, " "], [35318, 0, "\\"], [35319, 0, "e"], [35320, 0, "v"], [35321, 0, "a"], [35322, 0, "l"], [35323, 0, "t"], [35324, 0, "o"], [35325, 0, " "], [35326, 0, "\\"], [35327, 0, "m"], [35328, 0, "a"], [35329, 0, "t"], [35330, 0, "h"], [35331, 0, "i"], [35332, 0, "t"], [35333, 0, "{"], [35334, 0, "c"], [35335, 0, "t"], [35336, 0, "x"], [35337, 0, "}"], [35338, 0, "'"], [35339, 0, ","], [35340, 0, " "], [35341, 0, "\\"], [35342, 0, "m"], [35343, 0, "a"], [35344, 0, "t"], [35345, 0, "h"], [35346, 0, "i"], [35347, 0, "t"], [35348, 0, "{"], [35349, 0, "p"], [35350, 0, "r"], [35351, 0, "e"], [35352, 0, "s"], [35353, 0, "}"], [35354, 0, "_"], [35355, 0, "1"], [35356, 0, "$"], [35357, 0, "}"], [35358, 0, "\n"], [35359, 0, "\\"], [35360, 0, "A"], [35361, 0, "x"], [35362, 0, "i"], [35363, 0, "o"], [35364, 0, "m"], [35365, 0, "C"], [35366, 0, "{"], [35367, 0, "$"], [35368, 0, "\\"], [35369, 0, "m"], [35370, 0, "a"], [35371, 0, "t"], [35372, 0, "h"], [35373, 0, "i"], [35374, 0, "t"], [35375, 0, "{"], [35376, 0, "c"], [35377, 0, "t"], [35378, 0, "x"], [35379, 0, "}"], [35380, 0, "'"], [35381, 0, ","], [35382, 0, "'"], [35383, 0, ","], [35383, 1], [35382, 1], [35381, 1], [35381, 0, ","], [35382, 0, "\\"], [35383, 0, ","], [35384, 0, " "], [35385, 0, "\\"], [35386, 0, "m"], [35387, 0, "a"], [35388, 0, "t"], [35389, 0, "h"], [35390, 0, "s"], [35391, 0, "f"], [35392, 0, "{"], [35393, 0, "c"], [35394, 0, "l"], [35395, 0, "e"], [35396, 0, "a"], [35397, 0, "r"], [35398, 0, "M"], [35399, 0, "a"], [35400, 0, "p"], [35401, 0, "}"], [35402, 0, "{"], [35402, 1], [35402, 0, "("], [35403, 0, "\\"], [35404, 0, "m"], [35405, 0, "a"], [35406, 0, "t"], [35407, 0, "h"], [35408, 0, "i"], [35409, 0, "t"], [35410, 0, "{"], [35411, 0, "d"], [35412, 0, "e"], [35413, 0, "p"], [35414, 0, "s"], [35415, 0, "}"], [35416, 0, ","], [35417, 0, " "], [35418, 0, "\\"], [35419, 0, "m"], [35420, 0, "a"], [35421, 0, "t"], [35422, 0, "h"], [35423, 0, "i"], [35424, 0, "t"], [35425, 0, "{"], [35426, 0, "d"], [35427, 0, "o"], [35428, 0, "n"], [35429, 0, "e"], [35430, 0, "}"], [35431, 0, " "], [35432, 0, "\\"], [35433, 0, "c"], [35434, 0, "u"], [35435, 0, "p"], [35436, 0, " "], [35437, 0, "\\"], [35438, 0, "{"], [35439, 0, "k"], [35440, 0, "\\"], [35441, 0, "}"], [35442, 0, ")"], [35443, 0, "\n"], [35444, 0, " "], [35445, 0, " "], [35446, 0, " "], [35447, 0, " "], [35448, 0, "\\"], [35449, 0, "e"], [35450, 0, "v"], [35451, 0, "a"], [35452, 0, "l"], [35453, 0, "t"], [35454, 0, "o"], [35455, 0, " "], [35456, 0, "\\"], [35457, 0, "m"], [35458, 0, "a"], [35459, 0, "t"], [35460, 0, "h"], [35461, 0, "i"], [35462, 0, "t"], [35463, 0, "{"], [35464, 0, "c"], [35465, 0, "t"], [35466, 0, "x"], [35467, 0, "}"], [35468, 0, "'"], [35469, 0, "'"], [35470, 0, ","], [35471, 0, "\\"], [35472, 0, ","], [35473, 0, " "], [35474, 0, "\\"], [35475, 0, "m"], [35476, 0, "a"], [35477, 0, "t"], [35478, 0, "h"], [35479, 0, "i"], [35480, 0, "t"], [35481, 0, "{"], [35482, 0, "p"], [35483, 0, "r"], [35484, 0, "e"], [35485, 0, "s"], [35486, 0, "}"], [35487, 0, "_"], [35488, 0, "2"], [35489, 0, "$"], [35490, 0, "}"], [35491, 0, "\n"], [35492, 0, "\\"], [35493, 0, "L"], [35494, 0, "e"], [35495, 0, "f"], [35496, 0, "t"], [35497, 0, "L"], [35498, 0, "a"], [35499, 0, "b"], [35500, 0, "e"], [35501, 0, "l"], [35502, 0, "{"], [35503, 0, "$"], [35504, 0, "\\"], [35505, 0, "t"], [35506, 0, "e"], [35507, 0, "x"], [35508, 0, "t"], [35509, 0, "s"], [35510, 0, "c"], [35511, 0, "{"], [35512, 0, "C"], [35513, 0, "l"], [35514, 0, "e"], [35515, 0, "a"], [35516, 0, "r"], [35517, 0, "-"], [35518, 0, "M"], [35519, 0, "a"], [35520, 0, "p"], [35521, 0, "}"], [35522, 0, "_"], [35523, 0, "2"], [35524, 0, "$"], [35525, 0, "}"], [35526, 0, "\n"], [35527, 0, "\\"], [35528, 0, "T"], [35529, 0, "r"], [35530, 0, "i"], [35531, 0, "n"], [35532, 0, "a"], [35533, 0, "r"], [35534, 0, "y"], [35535, 0, "I"], [35536, 0, "n"], [35537, 0, "f"], [35538, 0, "C"], [35539, 0, "{"], [35540, 0, "$"], [35541, 0, "\\"], [35542, 0, "m"], [35543, 0, "a"], [35544, 0, "t"], [35545, 0, "h"], [35546, 0, "i"], [35547, 0, "t"], [35548, 0, "{"], [35549, 0, "c"], [35550, 0, "t"], [35551, 0, "x"], [35552, 0, "}"], [35553, 0, ","], [35554, 0, "\\"], [35555, 0, ","], [35556, 0, " "], [35557, 0, "\\"], [35558, 0, "m"], [35559, 0, "a"], [35560, 0, "t"], [35561, 0, "h"], [35562, 0, "s"], [35563, 0, "f"], [35564, 0, "{"], [35565, 0, "c"], [35566, 0, "l"], [35567, 0, "e"], [35568, 0, "a"], [35569, 0, "r"], [35570, 0, "M"], [35571, 0, "a"], [35572, 0, "p"], [35573, 0, "}"], [35574, 0, "("], [35575, 0, "\\"], [35576, 0, "m"], [35577, 0, "a"], [35578, 0, "t"], [35579, 0, "h"], [35580, 0, "i"], [35581, 0, "t"], [35582, 0, "{"], [35583, 0, "d"], [35584, 0, "e"], [35585, 0, "p"], [35586, 0, "s"], [35587, 0, "}"], [35588, 0, ","], [35589, 0, " "], [35590, 0, "\\"], [35591, 0, "m"], [35592, 0, "a"], [35593, 0, "t"], [35594, 0, "h"], [35595, 0, "i"], [35596, 0, "t"], [35597, 0, "{"], [35598, 0, "d"], [35599, 0, "o"], [35600, 0, "n"], [35601, 0, "e"], [35602, 0, "}"], [35603, 0, ")"], [35604, 0, " "], [35605, 0, "\\"], [35606, 0, "e"], [35607, 0, "v"], [35608, 0, "a"], [35609, 0, "l"], [35610, 0, "t"], [35611, 0, "o"], [35612, 0, "\n"], [35613, 0, " "], [35614, 0, " "], [35615, 0, " "], [35616, 0, " "], [35617, 0, "\\"], [35618, 0, "m"], [35619, 0, "a"], [35620, 0, "t"], [35621, 0, "h"], [35617, 0, "\\"], [35618, 0, "e"], [35619, 0, "v"], [35620, 0, "a"], [35621, 0, "l"], [35622, 0, "t"], [35623, 0, "o"], [35624, 0, " "], [35611, 1], [35610, 1], [35609, 1], [35608, 1], [35607, 1], [35606, 1], [35605, 1], [35604, 1], [35622, 0, "i"], [35623, 0, "t"], [35624, 0, "{"], [35625, 0, "c"], [35626, 0, "t"], [35627, 0, "x"], [35628, 0, "}"], [35629, 0, "'"], [35630, 0, "'"], [35631, 0, ","], [35632, 0, "\\"], [35633, 0, ","], [35634, 0, " "], [35635, 0, "\\"], [35636, 0, "m"], [35637, 0, "a"], [35638, 0, "t"], [35639, 0, "h"], [35640, 0, "i"], [35641, 0, "t"], [35642, 0, "{"], [35643, 0, "p"], [35644, 0, "r"], [35645, 0, "e"], [35646, 0, "s"], [35647, 0, "}"], [35648, 0, "_"], [35649, 0, "1"], [35650, 0, " "], [35651, 0, "\\"], [35652, 0, "c"], [35653, 0, "u"], [35654, 0, "p"], [35655, 0, " "], [35656, 0, "\\"], [35657, 0, "m"], [35658, 0, "a"], [35659, 0, "t"], [35660, 0, "h"], [35661, 0, "i"], [35662, 0, "t"], [35663, 0, "{"], [35664, 0, "p"], [35665, 0, "r"], [35666, 0, "e"], [35667, 0, "s"], [35668, 0, "{"], [35668, 1], [35668, 0, "}"], [35669, 0, "_"], [35670, 0, "2"], [35671, 0, "$"], [35672, 0, "}"], [35186, 0, "\\"], [35187, 0, "b"], [35188, 0, "e"], [35189, 0, "g"], [35190, 0, "i"], [35191, 0, "n"], [35192, 0, "{"], [35193, 0, "m"], [35194, 0, "a"], [35195, 0, "t"], [35196, 0, "r"], [35197, 0, "i"], [35198, 0, "x"], [35199, 0, "}"], [35200, 0, " "], [35200, 0, "\n"], [35201, 0, " "], [35202, 0, " "], [35203, 0, " "], [35240, 1], [35240, 0, "\\"], [35241, 0, "\n"], [35242, 0, " "], [35243, 0, " "], [35244, 0, " "], [35245, 0, " "], [35277, 0, " "], [35278, 0, "\\"], [35279, 0, "e"], [35280, 0, "n"], [35281, 0, "d"], [35282, 0, "{"], [35283, 0, "m"], [35284, 0, "a"], [35285, 0, "t"], [35286, 0, "r"], [35287, 0, "i"], [35288, 0, "x"], [35289, 0, "}"], [35302, 0, "\\"], [35303, 0, "b"], [35304, 0, "e"], [35305, 0, "g"], [35306, 0, "i"], [35307, 0, "n"], [35308, 0, "{"], [35309, 0, "m"], [35310, 0, "a"], [35311, 0, "t"], [35312, 0, "r"], [35313, 0, "i"], [35314, 0, "x"], [35315, 0, "}"], [35316, 0, "\n"], [35317, 0, " "], [35318, 0, " "], [35319, 0, " "], [35320, 0, " "], [35373, 0, "\\"], [35373, 1], [35373, 0, " "], [35374, 0, "\\"], [35375, 0, "\\"], [35376, 0, "\n"], [35377, 0, " "], [35378, 0, " "], [35379, 0, " "], [35419, 0, " "], [35420, 0, "\\"], [35421, 0, "e"], [35422, 0, "n"], [35423, 0, "d"], [35424, 0, "{"], [35425, 0, "m"], [35426, 0, "a"], [35427, 0, "t"], [35428, 0, "r"], [35429, 0, "i"], [35430, 0, "x"], [35431, 0, "}"], [35444, 0, "\\"], [35445, 0, "b"], [35446, 0, "e"], [35447, 0, "g"], [35448, 0, "i"], [35449, 0, "n"], [35450, 0, "{"], [35451, 0, "m"], [35452, 0, "a"], [35453, 0, "t"], [35454, 0, "r"], [35455, 0, "i"], [35456, 0, "x"], [35457, 0, "}"], [35458, 0, "\n"], [35459, 0, " "], [35460, 0, " "], [35461, 0, " "], [35462, 0, " "], [35463, 0, " "], [35463, 1], [35538, 0, " "], [35539, 0, "\\"], [35540, 0, "\\"], [35587, 0, " "], [35588, 0, "\\"], [35589, 0, "e"], [35590, 0, "n"], [35591, 0, "d"], [35592, 0, "{"], [35593, 0, "m"], [35594, 0, "a"], [35595, 0, "t"], [35596, 0, "r"], [35597, 0, "i"], [35598, 0, "x"], [35599, 0, "}"], [35800, 0, "\n"], [35801, 0, "\n"], [35802, 0, "\\"], [35803, 0, "b"], [35804, 0, "e"], [35805, 0, "g"], [35806, 0, "i"], [35807, 0, "n"], [35808, 0, "{"], [35809, 0, "p"], [35810, 0, "r"], [35811, 0, "o"], [35812, 0, "o"], [35813, 0, "f"], [35814, 0, "t"], [35815, 0, "r"], [35816, 0, "e"], [35817, 0, "e"], [35818, 0, "}"], [35819, 0, "\n"], [35820, 0, "\\"], [35821, 0, "e"], [35822, 0, "n"], [35823, 0, "d"], [35824, 0, "{"], [35825, 0, "p"], [35826, 0, "r"], [35827, 0, "o"], [35828, 0, "o"], [35829, 0, "f"], [35830, 0, "t"], [35831, 0, "r"], [35832, 0, "e"], [35833, 0, "e"], [35834, 0, "}"], [35819, 0, "\n"], [35820, 0, "\\"], [35821, 0, "A"], [35822, 0, "x"], [35823, 0, "i"], [35824, 0, "o"], [35825, 0, "m"], [35826, 0, "C"], [35827, 0, "{"], [35828, 0, "$"], [35829, 0, "\\"], [35830, 0, "m"], [35831, 0, "a"], [35832, 0, "t"], [35833, 0, "h"], [35834, 0, "i"], [35835, 0, "t"], [35836, 0, "{"], [35837, 0, "d"], [35838, 0, "o"], [35839, 0, "n"], [35840, 0, "e"], [35841, 0, "}"], [35842, 0, " "], [35843, 0, "="], [35844, 0, " "], [35845, 0, "\\"], [35846, 0, "m"], [35847, 0, "a"], [35848, 0, "t"], [35849, 0, "h"], [35850, 0, "r"], [35851, 0, "m"], [35852, 0, "{"], [35853, 0, "k"], [35854, 0, "e"], [35855, 0, "y"], [35856, 0, "s"], [35857, 0, "}"], [35858, 0, "("], [35859, 0, "\\"], [35860, 0, "m"], [35861, 0, "a"], [35862, 0, "t"], [35863, 0, "h"], [35864, 0, "i"], [35865, 0, "t"], [35866, 0, "{"], [35867, 0, "c"], [35868, 0, "t"], [35869, 0, "x"], [35870, 0, "}"], [35871, 0, ")"], [35872, 0, "$"], [35873, 0, "}"], [35874, 0, "\n"], [35875, 0, "\\"], [35876, 0, "L"], [35877, 0, "e"], [35878, 0, "f"], [35879, 0, "t"], [35880, 0, "L"], [35881, 0, "a"], [35882, 0, "b"], [35883, 0, "e"], [35884, 0, "l"], [35885, 0, "{"], [35886, 0, "$"], [35887, 0, "\\"], [35888, 0, "t"], [35889, 0, "e"], [35890, 0, "x"], [35891, 0, "t"], [35892, 0, "s"], [35893, 0, "c"], [35894, 0, "{"], [35895, 0, "C"], [35896, 0, "l"], [35897, 0, "e"], [35898, 0, "a"], [35899, 0, "r"], [35900, 0, "-"], [35901, 0, "M"], [35902, 0, "a"], [35903, 0, "p"], [35904, 0, "}"], [35905, 0, "_"], [35906, 0, "3"], [35907, 0, "$"], [35908, 0, "}"], [35909, 0, "\n"], [35910, 0, "\\"], [35911, 0, "U"], [35912, 0, "n"], [35913, 0, "a"], [35914, 0, "r"], [35915, 0, "y"], [35916, 0, "I"], [35917, 0, "n"], [35918, 0, "f"], [35919, 0, "C"], [35920, 0, "{"], [35921, 0, "$"], [35922, 0, "\\"], [35923, 0, "m"], [35924, 0, "a"], [35925, 0, "t"], [35926, 0, "h"], [35927, 0, "i"], [35928, 0, "t"], [35929, 0, "{"], [35930, 0, "c"], [35931, 0, "t"], [35932, 0, "x"], [35933, 0, "}"], [35934, 0, ","], [35935, 0, "\\"], [35936, 0, ","], [35937, 0, " "], [35938, 0, "\\"], [35939, 0, "m"], [35940, 0, "a"], [35941, 0, "t"], [35942, 0, "h"], [35943, 0, "s"], [35944, 0, "f"], [35945, 0, "{"], [35946, 0, "c"], [35947, 0, "l"], [35948, 0, "e"], [35949, 0, "a"], [35950, 0, "r"], [35951, 0, "M"], [35952, 0, "a"], [35953, 0, "p"], [35954, 0, "}"], [35955, 0, "("], [35956, 0, "\\"], [35957, 0, "m"], [35958, 0, "a"], [35959, 0, "t"], [35960, 0, "h"], [35961, 0, "i"], [35962, 0, "t"], [35963, 0, "{"], [35964, 0, "d"], [35965, 0, "e"], [35966, 0, "p"], [35967, 0, "s"], [35968, 0, "}"], [35969, 0, ","], [35970, 0, " "], [35971, 0, "\\"], [35972, 0, "m"], [35973, 0, "a"], [35974, 0, "t"], [35975, 0, "h"], [35976, 0, "i"], [35977, 0, "t"], [35978, 0, "{"], [35979, 0, "d"], [35980, 0, "o"], [35981, 0, "n"], [35982, 0, "e"], [35983, 0, "}"], [35984, 0, ")"], [35985, 0, "\n"], [35986, 0, " "], [35987, 0, " "], [35988, 0, " "], [35989, 0, " "], [35990, 0, "\\"], [35991, 0, "e"], [35992, 0, "v"], [35993, 0, "a"], [35994, 0, "l"], [35995, 0, "t"], [35996, 0, "o"], [35997, 0, " "], [35998, 0, "\\"], [35999, 0, "m"], [36000, 0, "a"], [36001, 0, "t"], [36002, 0, "h"], [36003, 0, "i"], [36004, 0, "t"], [36005, 0, "{"], [36006, 0, "c"], [36007, 0, "t"], [36008, 0, "x"], [36009, 0, "}"], [36010, 0, ","], [36011, 0, " "], [36012, 0, "\\"], [36013, 0, "{"], [36014, 0, "\\"], [36015, 0, "}"], [36016, 0, "$"], [36017, 0, "}"], [36011, 0, "\\"], [36012, 0, ","], [35989, 1], [35988, 1], [35987, 1], [35986, 1], [35985, 1], [35985, 0, " "], [36368, 1], [36367, 1], [36367, 0, "c"], [36368, 0, "l"], [36369, 0, "e"], [36370, 0, "a"], [36371, 0, "r"], [36374, 1], [36374, 1], [36374, 1], [36374, 1], [36374, 1], [36374, 1], [36374, 1], [36374, 1], [36374, 1], [36374, 1], [36374, 1], [36374, 1], [36374, 1], [36388, 0, " "], [36389, 0, "\\"], [36390, 0, "m"], [36391, 0, "a"], [36392, 0, "t"], [36393, 0, "h"], [36394, 0, "s"], [36395, 0, "f"], [36396, 0, "{"], [36397, 0, "l"], [36398, 0, "i"], [36399, 0, "s"], [36400, 0, "t"], [36401, 0, "T"], [36402, 0, "}"], [36403, 0, "("], [36404, 0, "k"], [36405, 0, ")"], [36406, 0, ")"], [36407, 0, " "], [36408, 0, "\\"], [36409, 0, "e"], [36410, 0, "v"], [36411, 0, "a"], [36412, 0, "l"], [36413, 0, "t"], [36414, 0, "o"], [36484, 1], [36483, 1], [36482, 1], [36481, 1], [36480, 1], [36479, 1], [36478, 1], [36477, 1], [36476, 1], [36475, 1], [36474, 1], [36473, 1], [36472, 1], [36471, 1], [36470, 1], [36469, 1], [36468, 1], [36467, 1], [36466, 1], [36465, 1], [36464, 1], [36463, 1], [36462, 1], [36461, 1], [36460, 1], [36459, 1], [36458, 1], [36457, 1], [36456, 1], [36455, 1], [36454, 1], [36453, 1], [36452, 1], [36451, 1], [36450, 1], [36449, 1], [36448, 1], [36447, 1], [36446, 1], [36445, 1], [36444, 1], [36443, 1], [36442, 1], [36441, 1], [36440, 1], [36439, 1], [36438, 1], [36437, 1], [36436, 1], [36435, 1], [36434, 1], [36433, 1], [36432, 1], [36431, 1], [36430, 1], [36429, 1], [36428, 1], [36427, 1], [36426, 1], [36425, 1], [36424, 1], [36423, 1], [36422, 1], [36421, 1], [36420, 1], [36419, 1], [36418, 1], [36417, 1], [36416, 1], [36415, 1], [36164, 1], [36164, 1], [36164, 0, "c"], [36165, 0, "l"], [36166, 0, "e"], [36167, 0, "a"], [36168, 0, "r"], [36169, 0, "L"], [36170, 0, "i"], [36171, 0, "s"], [36172, 0, "t"], [36175, 1], [36175, 1], [36175, 1], [36175, 1], [36175, 1], [36175, 1], [36175, 1], [36175, 1], [36175, 1], [36175, 1], [36175, 1], [36175, 1], [36175, 1], [36189, 0, " "], [36190, 0, "\\"], [36191, 0, "m"], [36192, 0, "a"], [36193, 0, "t"], [36194, 0, "h"], [36195, 0, "s"], [36196, 0, "f"], [36197, 0, "{"], [36198, 0, "h"], [36199, 0, "e"], [36200, 0, "a"], [36201, 0, "d"], [36202, 0, "}"], [36203, 0, ")"], [36279, 1], [36278, 1], [36277, 1], [36276, 1], [36275, 1], [36274, 1], [36273, 1], [36272, 1], [36271, 1], [36270, 1], [36269, 1], [36268, 1], [36267, 1], [36266, 1], [36265, 1], [36264, 1], [36263, 1], [36262, 1], [36261, 1], [36260, 1], [36259, 1], [36258, 1], [36257, 1], [36256, 1], [36255, 1], [36254, 1], [36253, 1], [36252, 1], [36251, 1], [36250, 1], [36249, 1], [36248, 1], [36247, 1], [36246, 1], [36245, 1], [36244, 1], [36243, 1], [36242, 1], [36241, 1], [36240, 1], [36239, 1], [36238, 1], [36237, 1], [36236, 1], [36235, 1], [36234, 1], [36233, 1], [36232, 1], [36231, 1], [36230, 1], [36229, 1], [36228, 1], [36227, 1], [36226, 1], [36225, 1], [36224, 1], [36223, 1], [36222, 1], [36221, 1], [36220, 1], [36219, 1], [36218, 1], [36217, 1], [36216, 1], [36215, 1], [36214, 1], [36213, 1], [36212, 1], [36211, 1], [36210, 1], [36209, 1], [36233, 0, ","], [36234, 0, "\\"], [36235, 0, ","], [36236, 0, " "], [36237, 0, "\\"], [36238, 0, "m"], [36239, 0, "a"], [36240, 0, "t"], [36241, 0, "h"], [36242, 0, "i"], [36243, 0, "t"], [36244, 0, "{"], [36245, 0, "p"], [36246, 0, "r"], [36247, 0, "e"], [36248, 0, "s"], [36249, 0, "}"], [36283, 0, "_"], [36284, 0, "1"], [36285, 0, "$"], [36264, 0, "$"], [36445, 0, ","], [36446, 0, "\\"], [36447, 0, ","], [36448, 0, " "], [36449, 0, "\\"], [36450, 0, "m"], [36451, 0, "a"], [36452, 0, "t"], [36453, 0, "h"], [36454, 0, "i"], [36455, 0, "t"], [36456, 0, "{"], [36457, 0, "p"], [36458, 0, "r"], [36459, 0, "e"], [36460, 0, "s"], [36461, 0, "}"], [36819, 1], [36819, 0, "2"], [36816, 1], [36815, 1], [36814, 1], [36813, 1], [36812, 1], [36812, 0, "L"], [36813, 0, "i"], [36814, 0, "s"], [36815, 0, "t"], [36860, 1], [36860, 1], [36860, 0, "c"], [36861, 0, "l"], [36862, 0, "e"], [36863, 0, "a"], [36864, 0, "r"], [36865, 0, "L"], [36866, 0, "i"], [36867, 0, "s"], [36868, 0, "t"], [36871, 1], [36871, 1], [36871, 1], [36871, 1], [36871, 1], [36871, 1], [36871, 1], [36871, 1], [36871, 1], [36871, 1], [36871, 1], [36871, 1], [36871, 1], [36885, 0, " "], [36886, 0, "k"], [36887, 0, ")"], [36888, 0, " "], [36889, 0, "\\"], [36890, 0, "e"], [36891, 0, "v"], [36892, 0, "a"], [36893, 0, "l"], [36894, 0, "t"], [36895, 0, "o"], [36966, 1], [36965, 1], [36964, 1], [36963, 1], [36962, 1], [36961, 1], [36960, 1], [36959, 1], [36958, 1], [36957, 1], [36956, 1], [36955, 1], [36954, 1], [36953, 1], [36952, 1], [36951, 1], [36950, 1], [36949, 1], [36948, 1], [36947, 1], [36946, 1], [36945, 1], [36944, 1], [36943, 1], [36942, 1], [36941, 1], [36940, 1], [36939, 1], [36938, 1], [36937, 1], [36936, 1], [36935, 1], [36934, 1], [36933, 1], [36932, 1], [36931, 1], [36930, 1], [36929, 1], [36928, 1], [36927, 1], [36926, 1], [36925, 1], [36924, 1], [36923, 1], [36922, 1], [36921, 1], [36920, 1], [36919, 1], [36918, 1], [36917, 1], [36916, 1], [36915, 1], [36914, 1], [36913, 1], [36912, 1], [36911, 1], [36910, 1], [36909, 1], [36908, 1], [36907, 1], [36906, 1], [36905, 1], [36904, 1], [36903, 1], [36902, 1], [36901, 1], [36900, 1], [36899, 1], [36898, 1], [36897, 1], [36896, 1], [36964, 1], [36963, 1], [36962, 1], [36961, 1], [36960, 1], [36959, 1], [36958, 1], [36957, 1], [36956, 1], [36955, 1], [36954, 1], [36953, 1], [36952, 1], [36951, 1], [36950, 1], [36949, 1], [36948, 1], [36947, 1], [36946, 1], [36945, 1], [36944, 1], [36943, 1], [36942, 1], [36941, 1], [36940, 1], [36939, 1], [36938, 1], [36937, 1], [36936, 1], [36935, 1], [36934, 1], [36933, 1], [36932, 1], [36931, 1], [36930, 1], [36929, 1], [36928, 1], [36927, 1], [36926, 1], [36925, 1], [36924, 1], [36923, 1], [36922, 1], [36921, 1], [36920, 1], [36919, 1], [36918, 1], [36917, 1], [36916, 1], [36915, 1], [36914, 1], [36914, 0, "'"], [36915, 0, ","], [36916, 0, " "], [36917, 0, "\\"], [36918, 0, "m"], [36919, 0, "a"], [36920, 0, "t"], [36921, 0, "h"], [36922, 0, "i"], [36923, 0, "t"], [36924, 0, "{"], [36925, 0, "p"], [36926, 0, "r"], [36927, 0, "e"], [36928, 0, "s"], [36929, 0, "}"], [36930, 0, "_"], [36931, 0, "1"], [36932, 0, " "], [36933, 0, "\\"], [36934, 0, ","], [36935, 0, "\\"], [36936, 0, "c"], [36937, 0, "u"], [36938, 0, "p"], [36939, 0, "\\"], [36940, 0, ","], [36941, 0, " "], [36942, 0, "\\"], [36943, 0, "m"], [36944, 0, "a"], [36945, 0, "t"], [36946, 0, "h"], [36947, 0, "i"], [36948, 0, "t"], [36949, 0, "{"], [36950, 0, "p"], [36951, 0, "r"], [36952, 0, "e"], [36953, 0, "s"], [36954, 0, "}"], [36955, 0, "_"], [36956, 0, "2"], [35762, 0, "\\"], [35763, 0, ","], [35768, 0, "\\"], [35769, 0, ","], [36513, 0, "\\"], [36514, 0, "b"], [36515, 0, "e"], [36516, 0, "g"], [36517, 0, "i"], [36518, 0, "n"], [36519, 0, "{"], [36520, 0, "m"], [36521, 0, "a"], [36522, 0, "t"], [36523, 0, "r"], [36524, 0, "i"], [36525, 0, "x"], [36526, 0, "}"], [36527, 0, "\n"], [36528, 0, " "], [36529, 0, " "], [36530, 0, " "], [36531, 0, " "], [36553, 0, " "], [36554, 0, "\\"], [36555, 0, "\\"], [36556, 0, "\n"], [36557, 0, " "], [36558, 0, " "], [36559, 0, " "], [36561, 1], [36561, 1], [36560, 1], [36559, 1], [36558, 1], [36557, 1], [36556, 1], [36555, 1], [36555, 0, ","], [36563, 1], [36563, 0, "\\"], [36564, 1], [36564, 1], [36564, 1], [36564, 1], [36564, 1], [36564, 1], [36564, 1], [36564, 1], [36564, 1], [36564, 1], [36564, 1], [36564, 1], [36564, 1], [36564, 1], [36564, 1], [36564, 1], [36564, 1], [36564, 1], [36564, 1], [36564, 1], [36564, 1], [36564, 1], [36565, 1], [36565, 1], [36565, 1], [36565, 1], [36565, 1], [36565, 1], [36565, 1], [36565, 1], [36565, 1], [36565, 0, " "], [36566, 0, " "], [36567, 0, " "], [36568, 0, " "], [36615, 0, "\n"], [36616, 0, " "], [36617, 0, " "], [36618, 0, " "], [36619, 0, " "], [36620, 0, "\\"], [36621, 0, "e"], [36622, 0, "n"], [36623, 0, "d"], [36624, 0, "{"], [36625, 0, "m"], [36626, 0, "a"], [36627, 0, "t"], [36628, 0, "r"], [36629, 0, "i"], [36630, 0, "x"], [36631, 0, "}"], [36632, 0, " "], [36632, 1], [36619, 1], [36618, 1], [36617, 1], [36616, 1], [36615, 1], [36615, 0, " "], [36640, 0, "\\"], [36641, 0, "b"], [36642, 0, "e"], [36643, 0, "g"], [36644, 0, "i"], [36645, 0, "n"], [36646, 0, "{"], [36647, 0, "m"], [36648, 0, "a"], [36649, 0, "t"], [36650, 0, "r"], [36651, 0, "i"], [36652, 0, "x"], [36653, 0, "}"], [36654, 0, "\n"], [36655, 0, " "], [36656, 0, " "], [36657, 0, " "], [36658, 0, " "], [36684, 1], [36683, 1], [36683, 0, "c"], [36684, 0, "l"], [36685, 0, "e"], [36686, 0, "a"], [36687, 0, "r"], [36688, 0, "L"], [36688, 1], [36688, 0, "E"], [36689, 0, "l"], [36690, 0, "e"], [36691, 0, "m"], [36694, 1], [36694, 1], [36694, 1], [36694, 1], [36694, 1], [36694, 1], [36694, 1], [36694, 1], [36694, 1], [36694, 1], [36694, 1], [36694, 1], [36694, 1], [36708, 0, " "], [36709, 0, "k"], [36710, 0, ")"], [36711, 0, " "], [36712, 0, "\\"], [36713, 0, "\\"], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36719, 1], [36740, 0, ","], [36741, 0, " "], [36742, 0, "\\"], [36743, 0, "m"], [36744, 0, "a"], [36745, 0, "t"], [36746, 0, "h"], [36747, 0, "i"], [36748, 0, "t"], [36749, 0, "{"], [36750, 0, "p"], [36751, 0, "r"], [36752, 0, "e"], [36753, 0, "s"], [36754, 0, "}"], [36755, 0, "_"], [36756, 0, "1"], [36757, 0, " "], [36758, 0, " "], [36758, 1], [36758, 0, "\\"], [36759, 0, "e"], [36760, 0, "n"], [36761, 0, "d"], [36762, 0, "{"], [36763, 0, "m"], [36764, 0, "a"], [36765, 0, "t"], [36766, 0, "r"], [36767, 0, "i"], [36768, 0, "x"], [36769, 0, "}"], [36772, 0, "\n"], [36773, 0, "\\"], [36774, 0, "A"], [36775, 0, "x"], [36776, 0, "i"], [36777, 0, "o"], [36778, 0, "m"], [36779, 0, "C"], [36780, 0, "{"], [36781, 0, "$"], [36782, 0, "\\"], [36783, 0, "b"], [36784, 0, "e"], [36785, 0, "g"], [36786, 0, "i"], [36787, 0, "n"], [36788, 0, "{"], [36789, 0, "m"], [36790, 0, "a"], [36791, 0, "t"], [36792, 0, "r"], [36793, 0, "i"], [36794, 0, "x"], [36795, 0, "}"], [36796, 0, "\n"], [36797, 0, " "], [36798, 0, " "], [36799, 0, " "], [36800, 0, " "], [36801, 0, "\\"], [36802, 0, "a"], [36803, 0, "t"], [36803, 1], [36802, 1], [36802, 0, "m"], [36803, 0, "a"], [36804, 0, "t"], [36805, 0, "h"], [36806, 0, "i"], [36807, 0, "t"], [36808, 0, "{"], [36809, 0, "c"], [36810, 0, "t"], [36811, 0, "x"], [36812, 0, "}"], [36813, 0, "'"], [36814, 0, ","], [36815, 0, "\\"], [36816, 0, ","], [36817, 0, " "], [36818, 0, "\\"], [36819, 0, "m"], [36820, 0, "a"], [36821, 0, "t"], [36822, 0, "h"], [36823, 0, "s"], [36824, 0, "f"], [36825, 0, "{"], [36826, 0, "c"], [36827, 0, "l"], [36828, 0, "e"], [36829, 0, "a"], [36830, 0, "r"], [36831, 0, "L"], [36832, 0, "i"], [36833, 0, "s"], [36834, 0, "t"], [36835, 0, "}"], [36836, 0, "("], [36837, 0, "\\"], [36838, 0, "m"], [36839, 0, "a"], [36840, 0, "t"], [36841, 0, "h"], [36842, 0, "i"], [36843, 0, "t"], [36844, 0, "{"], [36845, 0, "d"], [36846, 0, "e"], [36847, 0, "p"], [36848, 0, "s"], [36849, 0, "}"], [36850, 0, ","], [36851, 0, " "], [36852, 0, "\\"], [36853, 0, "m"], [36854, 0, "a"], [36855, 0, "t"], [36856, 0, "h"], [36857, 0, "i"], [36858, 0, "t"], [36859, 0, "{"], [36860, 0, "n"], [36861, 0, "e"], [36862, 0, "x"], [36863, 0, "t"], [36864, 0, "}"], [36865, 0, ")"], [36866, 0, " "], [36867, 0, "\\"], [36868, 0, "\\"], [36869, 0, "\n"], [36870, 0, " "], [36871, 0, " "], [36872, 0, " "], [36873, 0, " "], [36874, 0, "\\"], [36875, 0, "e"], [36876, 0, "v"], [36877, 0, "a"], [36878, 0, "l"], [36879, 0, "t"], [36880, 0, "o"], [36881, 0, " "], [36882, 0, "\\"], [36883, 0, "m"], [36884, 0, "a"], [36885, 0, "t"], [36886, 0, "h"], [36887, 0, "i"], [36888, 0, "t"], [36889, 0, "{"], [36890, 0, "c"], [36891, 0, "t"], [36892, 0, "x"], [36893, 0, "}"], [36894, 0, "'"], [36895, 0, "'"], [36896, 0, ","], [36897, 0, " "], [36898, 0, "\\"], [36899, 0, "m"], [36900, 0, "a"], [36901, 0, "t"], [36902, 0, "h"], [36903, 0, "i"], [36904, 0, "t"], [36905, 0, "{"], [36906, 0, "p"], [36907, 0, "r"], [36908, 0, "e"], [36909, 0, "s"], [36910, 0, "}"], [36911, 0, "_"], [36912, 0, "2"], [36913, 0, " "], [36914, 0, "\\"], [36915, 0, "e"], [36916, 0, "n"], [36917, 0, "d"], [36918, 0, "{"], [36919, 0, "m"], [36920, 0, "a"], [36921, 0, "t"], [36922, 0, "r"], [36923, 0, "i"], [36924, 0, "x"], [36925, 0, "}"], [36926, 0, "$"], [36927, 0, "}"], [37059, 0, "\\"], [37060, 0, ","], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37122, 1], [37195, 1], [37195, 1], [37195, 1], [37195, 1], [37195, 1], [37195, 0, "L"], [37196, 0, "i"], [37197, 0, "s"], [37198, 0, "t"], [37242, 1], [37241, 1], [37241, 0, "c"], [37242, 0, "l"], [37243, 0, "e"], [37244, 0, "a"], [37245, 0, "r"], [37246, 0, "L"], [37247, 0, "i"], [37248, 0, "s"], [37249, 0, "t"], [37252, 1], [37252, 1], [37252, 1], [37252, 1], [37252, 1], [37252, 1], [37252, 1], [37252, 1], [37252, 1], [37252, 1], [37252, 1], [37252, 1], [37252, 1], [37266, 0, " "], [37267, 0, "k"], [37268, 0, ")"], [37269, 0, " "], [37270, 0, "\\"], [37271, 0, "e"], [37272, 0, "v"], [37273, 0, "a"], [37274, 0, "l"], [37275, 0, "t"], [37276, 0, "o"], [37277, 0, " "], [37278, 0, "\\"], [37279, 0, "m"], [37280, 0, "a"], [37281, 0, "t"], [37282, 0, "h"], [37283, 0, "i"], [37284, 0, "t"], [37285, 0, "{"], [37286, 0, "c"], [37287, 0, "t"], [37288, 0, "x"], [37289, 0, "}"], [37290, 0, ","], [37291, 0, "\\"], [37292, 0, ","], [37293, 0, " "], [37294, 0, "\\"], [37295, 0, "{"], [37296, 0, "\\"], [37297, 0, "}"], [37298, 0, "$"], [37299, 0, "}"], [37385, 1], [37384, 1], [37383, 1], [37382, 1], [37381, 1], [37380, 1], [37379, 1], [37378, 1], [37377, 1], [37376, 1], [37375, 1], [37374, 1], [37373, 1], [37372, 1], [37371, 1], [37370, 1], [37369, 1], [37368, 1], [37367, 1], [37366, 1], [37365, 1], [37364, 1], [37363, 1], [37362, 1], [37361, 1], [37360, 1], [37359, 1], [37358, 1], [37357, 1], [37356, 1], [37355, 1], [37354, 1], [37353, 1], [37352, 1], [37351, 1], [37350, 1], [37349, 1], [37348, 1], [37347, 1], [37346, 1], [37345, 1], [37344, 1], [37343, 1], [37342, 1], [37341, 1], [37340, 1], [37339, 1], [37338, 1], [37337, 1], [37336, 1], [37335, 1], [37334, 1], [37333, 1], [37332, 1], [37331, 1], [37330, 1], [37329, 1], [37328, 1], [37327, 1], [37326, 1], [37325, 1], [37324, 1], [37323, 1], [37322, 1], [37321, 1], [37320, 1], [37319, 1], [37318, 1], [37317, 1], [37316, 1], [37315, 1], [37314, 1], [37313, 1], [37312, 1], [37311, 1], [37310, 1], [37309, 1], [37308, 1], [37307, 1], [37306, 1], [37305, 1], [37304, 1], [37303, 1], [37302, 1], [37301, 1], [37300, 1], [37336, 0, "d"], [37337, 0, "e"], [37338, 0, "l"], [37339, 0, "e"], [37340, 0, "t"], [37341, 0, "i"], [37342, 0, "n"], [37343, 0, "g"], [37344, 0, " "], [37345, 0, "a"], [37346, 0, "n"], [37347, 0, "d"], [37348, 0, " "], [37357, 0, " "], [37358, 0, "s"], [37359, 0, "t"], [37360, 0, "a"], [37361, 0, "t"], [37362, 0, "e"], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [37403, 1], [24709, 0, "M"], [24710, 0, "a"], [24711, 0, "k"], [24712, 0, "e"], [24713, 0, "-"], [24731, 0, "M"], [24732, 0, "a"], [24733, 0, "k"], [24734, 0, "e"], [24735, 0, "-"], [24756, 0, "M"], [24757, 0, "a"], [24758, 0, "k"], [24759, 0, "e"], [24760, 0, "-"], [22679, 0, "M"], [22680, 0, "a"], [22681, 0, "k"], [22682, 0, "e"], [22683, 0, "-"], [22405, 0, "M"], [22406, 0, "a"], [22407, 0, "k"], [22408, 0, "e"], [22409, 0, "-"], [22080, 0, "M"], [22081, 0, "a"], [22082, 0, "k"], [22083, 0, "e"], [22084, 0, "-"], [21964, 1], [21963, 1], [21962, 1], [21961, 1], [21960, 1], [21959, 1], [21958, 1], [21957, 1], [21956, 1], [21955, 1], [21954, 1], [21953, 1], [21952, 1], [21951, 1], [21950, 1], [21949, 1], [21948, 1], [21947, 1], [21946, 1], [21945, 1], [21944, 1], [21943, 1], [21942, 1], [21941, 1], [21940, 1], [21939, 1], [21938, 1], [21937, 1], [21936, 1], [21935, 1], [21934, 1], [21933, 1], [21932, 1], [21931, 1], [21930, 1], [21929, 1], [21928, 1], [21927, 1], [21926, 1], [21925, 1], [21924, 1], [21923, 1], [21922, 1], [21921, 1], [21920, 1], [21919, 1], [21918, 1], [21917, 1], [21916, 1], [21915, 1], [21914, 1], [21913, 1], [21912, 1], [21911, 1], [21910, 1], [21909, 1], [21908, 1], [21907, 1], [21906, 1], [21905, 1], [21904, 1], [21903, 1], [21902, 1], [21901, 1], [21900, 1], [21899, 1], [21898, 1], [21897, 1], [21896, 1], [21895, 1], [21894, 1], [21893, 1], [21892, 1], [21891, 1], [21890, 1], [21889, 1], [21888, 1], [21887, 1], [21886, 1], [21885, 1], [21884, 1], [21883, 1], [21882, 1], [21881, 1], [21880, 1], [21879, 1], [21878, 1], [21877, 1], [21876, 1], [21875, 1], [21874, 1], [21873, 1], [21872, 1], [21871, 1], [21870, 1], [21869, 1], [21868, 1], [21867, 1], [21866, 1], [21865, 1], [21864, 1], [21863, 1], [21863, 1], [3797, 0, "\n"], [3797, 0, "&"], [3798, 0, " "], [3799, 0, "$"], [3800, 0, "|"], [3801, 0, "$"], [3802, 0, " "], [3803, 0, "&"], [3804, 0, " "], [3805, 0, "E"], [3806, 0, "X"], [3807, 0, "P"], [3808, 0, "R"], [3809, 0, "."], [3810, 0, "\\"], [3811, 0, "t"], [3812, 0, "e"], [3813, 0, "x"], [3814, 0, "t"], [3815, 0, "s"], [3816, 0, "f"], [3817, 0, "{"], [3818, 0, "k"], [3819, 0, "e"], [3820, 0, "y"], [3821, 0, "s"], [3822, 0, "}"], [3823, 0, " "], [3824, 0, "\\"], [3825, 0, "\\"], [3682, 1], [3681, 1], [3680, 1], [3679, 1], [3678, 1], [3677, 1], [3676, 1], [3675, 1], [3674, 1], [3673, 1], [3672, 1], [3671, 1], [3670, 1], [3669, 1], [3669, 0, "["], [3682, 1], [3682, 0, "]"], [4302, 1], [4301, 1], [4300, 1], [4299, 1], [4298, 1], [4298, 0, "["], [4309, 1], [4309, 0, "]"], [3681, 1], [3680, 1], [3679, 1], [3678, 1], [3677, 1], [3676, 1], [3675, 1], [3674, 1], [3673, 1], [3672, 1], [3671, 1], [3671, 0, "v"], [3672, 0, "e"], [3673, 0, "r"], [3674, 0, "b"], [3675, 0, "|"], [3676, 0, "\""], [3677, 0, "s"], [3678, 0, "t"], [3679, 0, "r"], [3680, 0, "\""], [3681, 0, "|"], [3693, 1], [3692, 1], [3692, 0, "t"], [3693, 0, "t"], [3677, 1], [3677, 1], [3677, 1], [3677, 0, "k"], [3678, 0, "e"], [3679, 0, "y"], [5698, 0, " "], [5699, 0, "\\"], [5700, 0, "t"], [5701, 0, "e"], [5702, 0, "x"], [5703, 0, "t"], [5704, 0, "s"], [5705, 0, "f"], [5706, 0, "{"], [5707, 0, "k"], [5708, 0, "e"], [5709, 0, "y"], [5710, 0, "s"], [5711, 0, "}"], [5712, 0, " "], [5713, 0, "r"], [5714, 0, "e"], [5715, 0, "t"], [5716, 0, "u"], [5717, 0, "r"], [5718, 0, "n"], [5719, 0, "s"], [5720, 0, " "], [5721, 0, "t"], [5722, 0, "h"], [5723, 0, "e"], [5724, 0, " "], [5725, 0, "s"], [5726, 0, "e"], [5727, 0, "t"], [5728, 0, " "], [5729, 0, "o"], [5730, 0, "f"], [5731, 0, " "], [5732, 0, "k"], [5733, 0, "e"], [5734, 0, "y"], [5735, 0, "s"], [5736, 0, " "], [5737, 0, "i"], [5738, 0, "n"], [5739, 0, " "], [5740, 0, "a"], [5741, 0, " "], [5742, 0, "m"], [5743, 0, "a"], [5744, 0, "p"], [5745, 0, ","], [10517, 1], [10516, 1], [10515, 1], [10514, 1], [10513, 1], [10512, 1], [10512, 0, "p"], [10513, 0, "r"], [10514, 0, "o"], [10515, 0, "o"], [10516, 0, "f"], [10517, 0, "t"], [10518, 0, "r"], [10519, 0, "e"], [10520, 0, "e"], [10763, 1], [10762, 1], [10761, 1], [10760, 1], [10759, 1], [10758, 1], [10757, 1], [10756, 1], [10755, 1], [10754, 1], [10753, 1], [10752, 1], [10751, 1], [10750, 1], [10749, 1], [10748, 1], [10747, 1], [10746, 1], [10746, 0, "e"], [10747, 0, "n"], [10748, 0, "d"], [10749, 0, "{"], [10750, 0, "p"], [10751, 0, "r"], [10752, 0, "o"], [10753, 0, "o"], [10754, 0, "f"], [10755, 0, "t"], [10756, 0, "r"], [10757, 0, "e"], [10758, 0, "e"], [10759, 0, "}"], [10761, 1], [10761, 0, "\n"], [10762, 0, "\\"], [10763, 0, "b"], [10764, 0, "e"], [10765, 0, "g"], [10766, 0, "i"], [10767, 0, "n"], [10768, 0, "{"], [10769, 0, "p"], [10770, 0, "r"], [10771, 0, "o"], [10772, 0, "o"], [10773, 0, "f"], [10774, 0, "t"], [10775, 0, "r"], [10776, 0, "e"], [10777, 0, "e"], [10778, 0, "}"], [11076, 1], [11075, 1], [11074, 1], [11073, 1], [11072, 1], [11071, 1], [11070, 1], [11069, 1], [11068, 1], [11067, 1], [11066, 1], [11065, 1], [11064, 1], [11063, 1], [11062, 1], [11061, 1], [11060, 1], [11059, 1], [11058, 1], [11057, 1], [11056, 1], [11055, 1], [11054, 1], [11053, 1], [11052, 1], [11051, 1], [11050, 1], [11049, 1], [11048, 1], [11047, 1], [10883, 0, " "], [10884, 0, "\\"], [10885, 0, ","], [10886, 0, "\\"], [10887, 0, "w"], [10888, 0, "e"], [10889, 0, "d"], [10890, 0, "g"], [10891, 0, "e"], [10892, 0, "\\"], [10893, 0, ","], [10894, 0, " "], [10895, 0, "k"], [10896, 0, "'"], [10897, 0, " "], [10898, 0, "\\"], [10899, 0, "n"], [10900, 0, "o"], [10901, 0, "t"], [10902, 0, "="], [10903, 0, " "], [10904, 0, "\\"], [10905, 0, "m"], [10906, 0, "a"], [10907, 0, "t"], [10908, 0, "h"], [10909, 0, "s"], [10910, 0, "f"], [10911, 0, "{"], [10912, 0, "t"], [10913, 0, "a"], [10914, 0, "i"], [10915, 0, "l"], [10916, 0, "}"], [10919, 0, "\n"], [10920, 0, "\\"], [10921, 0, "A"], [10922, 0, "x"], [10923, 0, "o"], [10923, 1], [10923, 0, "i"], [10924, 0, "o"], [10925, 0, "m"], [10926, 0, "C"], [10927, 0, "{"], [10928, 0, "$"], [10929, 0, "\\"], [10930, 0, "m"], [10931, 0, "a"], [10932, 0, "t"], [10933, 0, "h"], [10934, 0, "i"], [10935, 0, "t"], [10936, 0, "{"], [10937, 0, "c"], [10938, 0, "t"], [10939, 0, "x"], [10940, 0, "}"], [10941, 0, "("], [10942, 0, "\\"], [10943, 0, "m"], [10944, 0, "a"], [10945, 0, "t"], [10946, 0, "h"], [10947, 0, "s"], [10948, 0, "f"], [10949, 0, "{"], [10950, 0, "p"], [10951, 0, "r"], [10952, 0, "e"], [10953, 0, "s"], [10954, 0, "}"], [10955, 0, "("], [10956, 0, "k"], [10957, 0, ")"], [10958, 0, ")"], [10959, 0, " "], [10960, 0, "\\"], [10961, 0, "n"], [10962, 0, "o"], [10963, 0, "t"], [10964, 0, "="], [10965, 0, " "], [10966, 0, "\\"], [10967, 0, "{"], [10968, 0, "\\"], [10969, 0, "}"], [10970, 0, "$"], [10971, 0, "}"], [11004, 1], [11004, 0, "T"], [11005, 0, "r"], [11146, 1], [11145, 1], [11144, 1], [11143, 1], [11142, 1], [11141, 1], [11141, 0, "p"], [11142, 0, "r"], [11143, 0, "o"], [11144, 0, "o"], [11145, 0, "f"], [11146, 0, "t"], [11147, 0, "r"], [11148, 0, "e"], [11149, 0, "e"], [10837, 1], [10836, 1], [10835, 1], [10834, 1], [10833, 1], [10832, 1], [10831, 1], [10830, 1], [10829, 1], [10828, 1], [10827, 1], [10826, 1], [10825, 1], [10824, 1], [10823, 1], [10822, 1], [10821, 1], [10820, 1], [10819, 1], [10818, 1], [10817, 1], [10816, 1], [10815, 1], [10814, 1], [10813, 1], [10812, 1], [10811, 1], [10810, 1], [10809, 1], [10808, 1], [10807, 1], [10806, 1], [10805, 1], [10804, 1], [10803, 1], [10802, 1], [10801, 1], [10800, 1], [10799, 1], [10798, 1], [10797, 1], [10796, 1], [10795, 1], [10794, 1], [10793, 1], [10792, 1], [10791, 1], [10790, 1], [10789, 1], [10788, 1], [10787, 1], [10786, 1], [10785, 1], [10784, 1], [10783, 1], [10782, 1], [10781, 1], [10780, 1], [10779, 1], [10945, 1], [10945, 1], [10945, 0, "B"], [11091, 0, "\n"], [11092, 0, "\n"], [11093, 0, "\\"], [11094, 0, "b"], [11095, 0, "e"], [11096, 0, "g"], [11097, 0, "i"], [11098, 0, "n"], [11099, 0, "{"], [11100, 0, "p"], [11101, 0, "r"], [11102, 0, "o"], [11103, 0, "o"], [11104, 0, "f"], [11105, 0, "t"], [11106, 0, "r"], [11107, 0, "e"], [11108, 0, "e"], [11109, 0, "\\"], [11109, 1], [11109, 0, "}"], [11110, 0, "\n"], [11111, 0, "\\"], [11112, 0, "e"], [11113, 0, "n"], [11114, 0, "d"], [11115, 0, "{"], [11116, 0, "p"], [11117, 0, "r"], [11118, 0, "o"], [11119, 0, "o"], [11120, 0, "f"], [11121, 0, "t"], [11122, 0, "r"], [11123, 0, "e"], [11124, 0, "e"], [11125, 0, "}"], [11110, 0, "\n"], [11111, 0, "\\"], [11112, 0, "A"], [11113, 0, "x"], [11114, 0, "i"], [11115, 0, "o"], [11116, 0, "m"], [11117, 0, "C"], [11118, 0, "{"], [11119, 0, "$"], [11120, 0, "\\"], [11121, 0, "m"], [11122, 0, "a"], [11123, 0, "t"], [11124, 0, "h"], [11125, 0, "i"], [11126, 0, "t"], [11127, 0, "{"], [11128, 0, "c"], [11129, 0, "t"], [11130, 0, "x"], [11131, 0, "}"], [11132, 0, "("], [11133, 0, "\\"], [11134, 0, "m"], [11135, 0, "a"], [11136, 0, "t"], [11137, 0, "h"], [11138, 0, "s"], [11139, 0, "f"], [11140, 0, "{"], [11141, 0, "n"], [11142, 0, "e"], [11143, 0, "x"], [11144, 0, "t"], [11145, 0, "}"], [11146, 0, "("], [11147, 0, "k"], [11148, 0, ")"], [11149, 0, ")"], [11150, 0, " "], [11151, 0, "="], [11152, 0, " "], [11153, 0, "k"], [11154, 0, "'"], [11155, 0, " "], [11156, 0, "\\"], [11157, 0, ","], [11158, 0, "\\"], [11159, 0, "w"], [11160, 0, "e"], [11161, 0, "d"], [11162, 0, "g"], [11163, 0, "e"], [11164, 0, "\\"], [11165, 0, ","], [11166, 0, " "], [11167, 0, "k"], [11168, 0, "'"], [11169, 0, " "], [11170, 0, "\\"], [11171, 0, "n"], [11172, 0, "o"], [11173, 0, "t"], [11174, 0, "="], [11175, 0, " "], [11176, 0, "\\"], [11177, 0, "m"], [11178, 0, "a"], [11179, 0, "t"], [11180, 0, "h"], [11181, 0, "s"], [11182, 0, "f"], [11183, 0, "{"], [11184, 0, "t"], [11185, 0, "a"], [11186, 0, "i"], [11187, 0, "l"], [11188, 0, "}"], [11189, 0, "$"], [11190, 0, "}"], [11191, 0, "\n"], [11192, 0, "\\"], [11193, 0, "A"], [11194, 0, "x"], [11195, 0, "i"], [11196, 0, "o"], [11197, 0, "m"], [11198, 0, "C"], [11199, 0, "{"], [11200, 0, "$"], [11201, 0, "\\"], [11202, 0, "m"], [11203, 0, "a"], [11204, 0, "t"], [11205, 0, "h"], [11206, 0, "i"], [11207, 0, "t"], [11208, 0, "{"], [11209, 0, "c"], [11210, 0, "t"], [11211, 0, "x"], [11212, 0, "}"], [11213, 0, "("], [11214, 0, "\\"], [11215, 0, "m"], [11216, 0, "a"], [11217, 0, "t"], [11218, 0, "h"], [11219, 0, "s"], [11220, 0, "f"], [11221, 0, "{"], [11222, 0, "p"], [11223, 0, "r"], [11224, 0, "e"], [11225, 0, "s"], [11226, 0, "}"], [11227, 0, "("], [11228, 0, "k"], [11229, 0, ")"], [11230, 0, ")"], [11231, 0, " "], [11232, 0, "="], [11233, 0, " "], [11234, 0, "\\"], [11235, 0, "{"], [11236, 0, "\\"], [11237, 0, "}"], [11238, 0, "$"], [11239, 0, "}"], [11240, 0, "\n"], [11241, 0, "\\"], [11242, 0, "L"], [11243, 0, "e"], [11244, 0, "f"], [11245, 0, "t"], [11246, 0, "L"], [11247, 0, "a"], [11248, 0, "b"], [11249, 0, "e"], [11250, 0, "l"], [11251, 0, "{"], [11252, 0, "$"], [11253, 0, "\\"], [11254, 0, "t"], [11255, 0, "e"], [11256, 0, "x"], [11257, 0, "t"], [11258, 0, "s"], [11259, 0, "c"], [11260, 0, "{"], [11261, 0, "N"], [11262, 0, "e"], [11263, 0, "x"], [11264, 0, "t"], [11265, 0, "}"], [11266, 0, "_"], [11267, 0, "3"], [11268, 0, "#"], [11268, 1], [11268, 0, "$"], [11269, 0, "}"], [11270, 0, "\n"], [11240, 0, "\n"], [11241, 0, "\\"], [11242, 0, "A"], [11243, 0, "x"], [11244, 0, "i"], [11245, 0, "o"], [11246, 0, "m"], [11247, 0, "C"], [11248, 0, "{"], [11249, 0, "$"], [11250, 0, "\\"], [11251, 0, "m"], [11252, 0, "a"], [11253, 0, "t"], [11254, 0, "h"], [11255, 0, "i"], [11256, 0, "t"], [11257, 0, "{"], [11258, 0, "c"], [11259, 0, "t"], [11260, 0, "x"], [11261, 0, "}"], [11262, 0, ","], [11263, 0, "\\"], [11264, 0, ","], [11265, 0, " "], [11266, 0, "\\"], [11267, 0, "m"], [11268, 0, "a"], [11269, 0, "t"], [11270, 0, "h"], [11271, 0, "s"], [11272, 0, "f"], [11273, 0, "{"], [11274, 0, "c"], [11275, 0, "u"], [11276, 0, "r"], [11277, 0, "s"], [11278, 0, "o"], [11279, 0, "r"], [11280, 0, "}"], [11281, 0, "("], [11282, 0, "\\"], [11283, 0, "l"], [11284, 0, "a"], [11285, 0, "n"], [11286, 0, "g"], [11287, 0, "l"], [11288, 0, "e"], [11289, 0, "\\"], [11290, 0, "r"], [11291, 0, "a"], [11292, 0, "n"], [11293, 0, "g"], [11294, 0, "l"], [11295, 0, "e"], [11296, 0, ","], [11297, 0, "\\"], [11298, 0, ","], [11299, 0, " "], [11300, 0, "k"], [11301, 0, "'"], [11302, 0, ")"], [11303, 0, "."], [11304, 0, "\\"], [11305, 0, "m"], [11306, 0, "a"], [11307, 0, "t"], [11308, 0, "h"], [11309, 0, "s"], [11310, 0, "f"], [11311, 0, "{"], [11312, 0, "n"], [11313, 0, "e"], [11314, 0, "x"], [11315, 0, "t"], [11316, 0, "}"], [11317, 0, " "], [11318, 0, "\\"], [11319, 0, "e"], [11320, 0, "v"], [11321, 0, "a"], [11322, 0, "l"], [11323, 0, "t"], [11324, 0, "o"], [11325, 0, " "], [11326, 0, "\\"], [11327, 0, "m"], [11328, 0, "a"], [11329, 0, "t"], [11330, 0, "h"], [11331, 0, "i"], [11332, 0, "t"], [11333, 0, "{"], [11334, 0, "c"], [11335, 0, "u"], [11336, 0, "r"], [11337, 0, "}"], [11338, 0, "'"], [11339, 0, "$"], [11340, 0, "}"], [11372, 0, "\\"], [11373, 0, "T"], [11374, 0, "r"], [11375, 0, "i"], [11376, 0, "n"], [11377, 0, "a"], [11378, 0, "r"], [11379, 0, "y"], [11380, 0, "I"], [11381, 0, "n"], [11382, 0, "f"], [11383, 0, "C"], [11384, 0, "{"], [11385, 0, "$"], [11386, 0, "\\"], [11387, 0, "m"], [11388, 0, "a"], [11389, 0, "t"], [11390, 0, "h"], [11391, 0, "i"], [11392, 0, "t"], [11393, 0, "{"], [11394, 0, "c"], [11395, 0, "t"], [11396, 0, "x"], [11397, 0, "}"], [11398, 0, ","], [11399, 0, "\\"], [11400, 0, ","], [11401, 0, " "], [11402, 0, "\\"], [11403, 0, "m"], [11404, 0, "a"], [11405, 0, "t"], [11406, 0, "h"], [11407, 0, "s"], [11408, 0, "f"], [11409, 0, "{"], [11410, 0, "c"], [11411, 0, "u"], [11412, 0, "r"], [11413, 0, "s"], [11414, 0, "o"], [11415, 0, "r"], [11416, 0, "}"], [11417, 0, "("], [11418, 0, "\\"], [11419, 0, "l"], [11420, 0, "a"], [11421, 0, "n"], [11422, 0, "g"], [11423, 0, "l"], [11424, 0, "e"], [11425, 0, "\\"], [11426, 0, "r"], [11427, 0, "a"], [11428, 0, "n"], [11429, 0, "g"], [11430, 0, "l"], [11431, 0, "e"], [11432, 0, ","], [11433, 0, "\\"], [11434, 0, ","], [11435, 0, " "], [11436, 0, "k"], [11437, 0, ")"], [11438, 0, "."], [11439, 0, "\\"], [11440, 0, "m"], [11441, 0, "a"], [11442, 0, "t"], [11443, 0, "h"], [11444, 0, "s"], [11445, 0, "f"], [11446, 0, "{"], [11447, 0, "n"], [11448, 0, "e"], [11449, 0, "x"], [11450, 0, "t"], [11451, 0, "}"], [11452, 0, " "], [11453, 0, "\\"], [11454, 0, "e"], [11455, 0, "v"], [11456, 0, "a"], [11457, 0, "l"], [11458, 0, "t"], [11459, 0, "o"], [11460, 0, " "], [11461, 0, "\\"], [11462, 0, "m"], [11463, 0, "a"], [11464, 0, "t"], [11465, 0, "h"], [11466, 0, "i"], [11467, 0, "t"], [11468, 0, "{"], [11469, 0, "c"], [11470, 0, "u"], [11471, 0, "r"], [11472, 0, "}"], [11473, 0, "\""], [11473, 1], [11473, 0, "'"], [11474, 0, "$"], [11475, 0, "}"], [11763, 1], [11763, 0, "4"], [11229, 0, "'"], [10898, 0, "'"], [11972, 0, "\n"], [11973, 0, "\n"], [11974, 0, "\\"], [11975, 0, "["], [11976, 0, " "], [11977, 0, "\\"], [11978, 0, "m"], [11979, 0, "a"], [11980, 0, "t"], [11981, 0, "h"], [11982, 0, "r"], [11983, 0, "m"], [11984, 0, "{"], [11985, 0, "k"], [11986, 0, "e"], [11987, 0, "y"], [11988, 0, "s"], [11989, 0, "}"], [11990, 0, "("], [11991, 0, "\\"], [11992, 0, "m"], [11993, 0, "a"], [11994, 0, "t"], [11995, 0, "h"], [11996, 0, "i"], [11997, 0, "t"], [11998, 0, "{"], [11999, 0, "c"], [12000, 0, "t"], [12001, 0, "x"], [12002, 0, "}"], [12003, 0, ")"], [12004, 0, " "], [12005, 0, "="], [12006, 0, " "], [12007, 0, "\\"], [12008, 0, "{"], [12009, 0, "\\"], [12010, 0, ";"], [12011, 0, "\n"], [12012, 0, "\\"], [12013, 0, ";"], [12014, 0, "\\"], [12015, 0, "}"], [12016, 0, " "], [12017, 0, "\\"], [12018, 0, "]"], [12011, 0, "\n"], [12012, 0, " "], [12013, 0, " "], [12014, 0, " "], [12015, 0, " "], [12016, 0, "k"], [12017, 0, " "], [12018, 0, "\\"], [12019, 0, "m"], [12020, 0, "i"], [12021, 0, "d"], [12022, 0, " "], [12023, 0, "\\"], [12024, 0, "m"], [12025, 0, "a"], [12026, 0, "t"], [12027, 0, "h"], [12028, 0, "s"], [12029, 0, "f"], [12030, 0, "{"], [12031, 0, "l"], [12032, 0, "i"], [12032, 1], [12031, 1], [12030, 1], [12030, 0, "m"], [12030, 1], [12030, 0, "{"], [12031, 0, "m"], [12032, 0, "a"], [12033, 0, "p"], [12034, 0, "T"], [12035, 0, "}"], [12036, 0, "("], [12037, 0, "k"], [12038, 0, ")"], [12039, 0, " "], [12040, 0, "\\"], [12041, 0, "i"], [12042, 0, "n"], [12043, 0, " "], [12044, 0, "\\"], [12045, 0, "m"], [12046, 0, "a"], [12047, 0, "t"], [12048, 0, "h"], [12049, 0, "r"], [12050, 0, "m"], [12051, 0, "{"], [12052, 0, "d"], [12053, 0, "o"], [12054, 0, "m"], [12055, 0, "}"], [12056, 0, "("], [12057, 0, "c"], [12058, 0, "t"], [12059, 0, "x"], [12060, 0, ")"], [12061, 0, " "], [12062, 0, "\\"], [12063, 0, ","], [12064, 0, "\\"], [12065, 0, "v"], [12066, 0, "e"], [12067, 0, "e"], [12068, 0, "\\"], [12069, 0, ","], [12070, 0, " "], [12070, 1], [12015, 1], [12014, 1], [12013, 1], [12012, 1], [12011, 1], [12011, 0, " "], [12018, 0, "\n"], [12019, 0, " "], [12020, 0, " "], [12021, 0, " "], [12070, 0, "\n"], [12071, 0, " "], [12072, 0, " "], [12073, 0, " "], [12074, 0, " "], [12075, 0, "\\"], [12076, 0, "m"], [12077, 0, "a"], [12078, 0, "t"], [12079, 0, "h"], [12080, 0, "s"], [12081, 0, "f"], [12082, 0, "{"], [12083, 0, "l"], [12084, 0, "i"], [12085, 0, "s"], [12086, 0, "t"], [12087, 0, "T"], [12088, 0, "}"], [12089, 0, "("], [12090, 0, "k"], [12091, 0, ")"], [12092, 0, " "], [12093, 0, "\\"], [12094, 0, "i"], [12095, 0, "n"], [12096, 0, " "], [12097, 0, "\\"], [12098, 0, "m"], [12099, 0, "a"], [12100, 0, "t"], [12101, 0, "h"], [12102, 0, "r"], [12103, 0, "m"], [12104, 0, "{"], [12105, 0, "d"], [12106, 0, "o"], [12107, 0, "m"], [12108, 0, "}"], [12109, 0, "("], [12110, 0, "c"], [12111, 0, "t"], [12112, 0, "x"], [12113, 0, ")"], [12114, 0, " "], [12115, 0, "\\"], [12116, 0, ","], [12117, 0, "\\"], [12118, 0, "v"], [12119, 0, "e"], [12120, 0, "e"], [12121, 0, "\\"], [12122, 0, ","], [12123, 0, "\n"], [12124, 0, " "], [12125, 0, " "], [12126, 0, " "], [12127, 0, " "], [12128, 0, "\\"], [12129, 0, "m"], [12130, 0, "a"], [12131, 0, "t"], [12132, 0, "h"], [12133, 0, "s"], [12134, 0, "f"], [12135, 0, "{"], [12136, 0, "r"], [12137, 0, "e"], [12138, 0, "g"], [12139, 0, "T"], [12140, 0, "}"], [12141, 0, "("], [12142, 0, "k"], [12143, 0, ")"], [12144, 0, " "], [12145, 0, "\\"], [12146, 0, "i"], [12147, 0, "n"], [12148, 0, " "], [12149, 0, "\\"], [12150, 0, "m"], [12151, 0, "a"], [12152, 0, "t"], [12153, 0, "h"], [12154, 0, "r"], [12155, 0, "m"], [12156, 0, "{"], [12157, 0, "d"], [12158, 0, "o"], [12159, 0, "m"], [12160, 0, "}"], [12161, 0, "("], [12162, 0, "c"], [12163, 0, "t"], [12164, 0, "x"], [12165, 0, ")"], [12174, 0, "\n"], [12175, 0, "\n"], [12176, 0, "\\"], [12177, 0, "m"], [12178, 0, "a"], [12179, 0, "t"], [12180, 0, "h"], [12181, 0, "s"], [12182, 0, "f"], [12183, 0, "{"], [12184, 0, "o"], [12185, 0, "r"], [12185, 1], [12184, 1], [12183, 1], [12182, 1], [12181, 1], [12180, 1], [12179, 1], [12178, 1], [12177, 1], [12177, 0, "b"], [12178, 0, "e"], [12179, 0, "g"], [12180, 0, "i"], [12181, 0, "n"], [12182, 0, "{"], [12183, 0, "p"], [12184, 0, "r"], [12185, 0, "o"], [12186, 0, "o"], [12187, 0, "f"], [12188, 0, "t"], [12189, 0, "r"], [12190, 0, "e"], [12191, 0, "e"], [12192, 0, "\\"], [12193, 0, "="], [12193, 1], [12192, 1], [12192, 0, "}"], [12193, 0, "\n"], [12194, 0, "\\"], [12195, 0, "A"], [12196, 0, "x"], [12197, 0, "i"], [12198, 0, "o"], [12199, 0, "m"], [12200, 0, "C"], [12201, 0, "{"], [12202, 0, "$"], [12203, 0, "A"], [12204, 0, "_"], [12205, 0, "p"], [12206, 0, ","], [12207, 0, "\\"], [12208, 0, ","], [12209, 0, " "], [12210, 0, "\\"], [12211, 0, "m"], [12212, 0, "a"], [12213, 0, "t"], [12214, 0, "h"], [12215, 0, "i"], [12216, 0, "t"], [12217, 0, "{"], [12218, 0, "e"], [12219, 0, "x"], [12220, 0, "p"], [12221, 0, "r"], [12222, 0, "}"], [12223, 0, " "], [12224, 0, "\\"], [12225, 0, "e"], [12226, 0, "v"], [12227, 0, "a"], [12228, 0, "l"], [12229, 0, "t"], [12230, 0, "o"], [12231, 0, " "], [12232, 0, "\\"], [12233, 0, "m"], [12234, 0, "a"], [12235, 0, "t"], [12236, 0, "h"], [12237, 0, "i"], [12238, 0, "t"], [12239, 0, "{"], [12240, 0, "c"], [12241, 0, "u"], [12242, 0, "r"], [12243, 0, "}"], [12244, 0, "$"], [12245, 0, "}"], [12246, 0, "\n"], [12247, 0, "\\"], [12248, 0, "A"], [12249, 0, "x"], [12250, 0, "i"], [12251, 0, "o"], [12252, 0, "m"], [12253, 0, "C"], [12254, 0, "{"], [12255, 0, "$"], [12256, 0, "A"], [12257, 0, "_"], [12258, 0, "p"], [12259, 0, ","], [12260, 0, "\\"], [12261, 0, ","], [12262, 0, " "], [12263, 0, "\\"], [12264, 0, "m"], [12265, 0, "a"], [12266, 0, "t"], [12267, 0, "h"], [12268, 0, "i"], [12269, 0, "t"], [12270, 0, "{"], [12271, 0, "c"], [12272, 0, "u"], [12273, 0, "r"], [12274, 0, "}"], [12275, 0, "."], [12276, 0, "\\"], [12277, 0, "m"], [12278, 0, "a"], [12279, 0, "t"], [12280, 0, "h"], [12281, 0, "s"], [12282, 0, "f"], [12283, 0, "{"], [12284, 0, "k"], [12285, 0, "e"], [12286, 0, "y"], [12287, 0, "s"], [12288, 0, "}"], [12289, 0, "$"], [12290, 0, "}"], [12289, 0, " "], [12290, 0, "\\"], [12291, 0, "e"], [12292, 0, "v"], [12293, 0, "a"], [12294, 0, "l"], [12295, 0, "t"], [12296, 0, "o"], [12297, 0, " "], [12298, 0, "\\"], [12299, 0, "m"], [12300, 0, "a"], [12301, 0, "t"], [12302, 0, "h"], [12303, 0, "i"], [12304, 0, "t"], [12305, 0, "{"], [12306, 0, "v"], [12307, 0, "a"], [12308, 0, "l"], [12308, 1], [12307, 1], [12306, 1], [12306, 0, "k"], [12307, 0, "e"], [12308, 0, "y"], [12309, 0, "s"], [12310, 0, "}"], [12313, 0, "\n"], [12314, 0, "\\"], [12315, 0, "L"], [12316, 0, "e"], [12317, 0, "f"], [12318, 0, "t"], [12319, 0, "L"], [12320, 0, "a"], [12321, 0, "b"], [12322, 0, "e"], [12323, 0, "l"], [12324, 0, "{"], [12325, 0, "$"], [12326, 0, "\\"], [12327, 0, "t"], [12328, 0, "e"], [12329, 0, "x"], [12330, 0, "t"], [12331, 0, "s"], [12332, 0, "c"], [12333, 0, "{"], [12334, 0, "K"], [12335, 0, "e"], [12336, 0, "y"], [12337, 0, "s"], [12338, 0, "}"], [12339, 0, "_"], [12340, 0, "1"], [12341, 0, "$"], [12342, 0, "}"], [12343, 0, "\n"], [12344, 0, "\\"], [12345, 0, "B"], [12346, 0, "i"], [12347, 0, "n"], [12348, 0, "a"], [12349, 0, "r"], [12350, 0, "y"], [12351, 0, "I"], [12352, 0, "n"], [12353, 0, "f"], [12354, 0, "C"], [12355, 0, "{"], [12356, 0, "$"], [12357, 0, "A"], [12358, 0, "_"], [12359, 0, "p"], [12360, 0, ","], [12361, 0, "\\"], [12362, 0, ","], [12363, 0, " "], [12364, 0, "\\"], [12365, 0, "m"], [12366, 0, "a"], [12367, 0, "t"], [12368, 0, "h"], [12369, 0, "i"], [12370, 0, "t"], [12371, 0, "{"], [12372, 0, "e"], [12373, 0, "x"], [12374, 0, "p"], [12375, 0, "r"], [12376, 0, "}"], [12377, 0, "."], [12378, 0, "\\"], [12379, 0, "m"], [12380, 0, "a"], [12381, 0, "t"], [12382, 0, "h"], [12383, 0, "s"], [12384, 0, "f"], [12385, 0, "{"], [12386, 0, "k"], [12387, 0, "e"], [12388, 0, "y"], [12389, 0, "s"], [12390, 0, "}"], [12391, 0, " "], [12392, 0, "\\"], [12393, 0, "e"], [12394, 0, "v"], [12395, 0, "a"], [12396, 0, "l"], [12397, 0, "t"], [12398, 0, "o"], [12399, 0, " "], [12400, 0, "\\"], [12401, 0, "m"], [12402, 0, "a"], [12403, 0, "t"], [12404, 0, "h"], [12405, 0, "i"], [12406, 0, "t"], [12407, 0, "{"], [12408, 0, "k"], [12409, 0, "e"], [12410, 0, "y"], [12411, 0, "s"], [12412, 0, "}"], [12413, 0, "$"], [12414, 0, "}"], [12415, 0, "\n"], [12416, 0, "\\"], [12417, 0, "e"], [12418, 0, "n"], [12419, 0, "d"], [12420, 0, "{"], [12421, 0, "P"], [12421, 1], [12421, 0, "p"], [12422, 0, "r"], [12423, 0, "o"], [12424, 0, "o"], [12425, 0, "f"], [12426, 0, "t"], [12427, 0, "r"], [12428, 0, "e"], [12429, 0, "e"], [12430, 0, "}"], [12057, 0, "\\"], [12058, 0, "m"], [12059, 0, "a"], [12060, 0, "t"], [12061, 0, "h"], [12062, 0, "i"], [12063, 0, "t"], [12064, 0, "{"], [12068, 0, "}"], [12119, 0, "\\"], [12120, 0, "m"], [12121, 0, "a"], [12122, 0, "t"], [12123, 0, "h"], [12124, 0, "i"], [12125, 0, "t"], [12126, 0, "{"], [12130, 0, "}"], [12180, 0, "\\"], [12181, 0, "m"], [12182, 0, "a"], [12183, 0, "t"], [12184, 0, "h"], [12185, 0, "i"], [12186, 0, "t"], [12187, 0, "{"], [12191, 0, "}"], [12163, 0, " "], [12040, 0, " "], [12460, 0, "\n"], [12461, 0, "\n"], [12462, 0, "\\"], [12463, 0, "b"], [12464, 0, "e"], [12465, 0, "g"], [12466, 0, "i"], [12467, 0, "n"], [12468, 0, "{"], [12469, 0, "p"], [12470, 0, "r"], [12471, 0, "o"], [12472, 0, "o"], [12473, 0, "f"], [12474, 0, "t"], [12475, 0, "r"], [12476, 0, "e"], [12477, 0, "e"], [12478, 0, "}"], [12479, 0, "\n"], [12480, 0, "\\"], [12481, 0, "e"], [12482, 0, "n"], [12483, 0, "d"], [12484, 0, "{"], [12485, 0, "p"], [12486, 0, "r"], [12487, 0, "o"], [12488, 0, "o"], [12489, 0, "f"], [12490, 0, "t"], [12491, 0, "r"], [12492, 0, "e"], [12493, 0, "e"], [12494, 0, "}"], [12479, 0, "\n"], [12480, 0, "\\"], [12481, 0, "A"], [12482, 0, "x"], [12483, 0, "i"], [12484, 0, "o"], [12485, 0, "m"], [12486, 0, "C"], [12487, 0, "{"], [12488, 0, "$"], [12489, 0, "\\"], [12490, 0, "m"], [12491, 0, "a"], [12492, 0, "t"], [12493, 0, "h"], [12494, 0, "i"], [12495, 0, "t"], [12496, 0, "{"], [12497, 0, "c"], [12498, 0, "t"], [12499, 0, "x"], [12500, 0, "}"], [12501, 0, "("], [12502, 0, "\\"], [12503, 0, "m"], [12504, 0, "a"], [12505, 0, "t"], [12506, 0, "h"], [12507, 0, "s"], [12508, 0, "f"], [12509, 0, "{"], [12510, 0, "m"], [12511, 0, "a"], [12512, 0, "p"], [12513, 0, "T"], [12514, 0, "}"], [12515, 0, "("], [12516, 0, "k"], [12517, 0, ")"], [12518, 0, ")"], [12489, 0, "\\"], [12490, 0, "m"], [12491, 0, "a"], [12492, 0, "t"], [12493, 0, "h"], [12494, 0, "r"], [12495, 0, "m"], [12496, 0, "{"], [12497, 0, "k"], [12498, 0, "e"], [12499, 0, "y"], [12500, 0, "s"], [12501, 0, "}"], [12502, 0, "("], [12533, 0, ")"], [12495, 1], [12494, 1], [12494, 0, "i"], [12495, 0, "t"], [12497, 1], [12497, 1], [12497, 1], [12497, 1], [12497, 0, "m"], [12498, 0, "a"], [12499, 0, "p"], [12501, 0, " "], [12502, 0, "="], [12503, 0, " "], [12504, 1], [12534, 1], [12534, 0, "$"], [12535, 0, "}"], [12536, 0, "\n"], [12537, 0, "\\"], [12538, 0, "A"], [12539, 0, "x"], [12540, 0, "i"], [12541, 0, "o"], [12542, 0, "m"], [12543, 0, "C"], [12544, 0, "{"], [12545, 0, "$"], [12546, 0, "\\"], [12547, 0, "m"], [12548, 0, "a"], [12549, 0, "t"], [12550, 0, "h"], [12551, 0, "i"], [12552, 0, "t"], [12553, 0, "{"], [12554, 0, "k"], [12555, 0, "e"], [12556, 0, "y"], [12557, 0, "s"], [12558, 0, "}"], [12559, 0, " "], [12560, 0, "="], [12561, 0, " "], [12562, 0, "\\"], [12563, 0, "{"], [12564, 0, "\\"], [12565, 0, ";"], [12566, 0, " "], [12567, 0, "k"], [12568, 0, " "], [12569, 0, "\\"], [12570, 0, "m"], [12571, 0, "i"], [12572, 0, "d"], [12573, 0, " "], [12574, 0, "k"], [12575, 0, " "], [12576, 0, "\\"], [12577, 0, "i"], [12578, 0, "n"], [12579, 0, " "], [12580, 0, "\\"], [12581, 0, "m"], [12582, 0, "a"], [12583, 0, "t"], [12584, 0, "h"], [12585, 0, "r"], [12586, 0, "m"], [12587, 0, "{"], [12588, 0, "k"], [12589, 0, "e"], [12590, 0, "y"], [12591, 0, "s"], [12592, 0, "}"], [12593, 0, "("], [12594, 0, "\\"], [12595, 0, "m"], [12596, 0, "a"], [12597, 0, "t"], [12598, 0, "h"], [12599, 0, "i"], [12600, 0, "t"], [12601, 0, "{"], [12602, 0, "m"], [12603, 0, "a"], [12604, 0, "p"], [12605, 0, "}"], [12606, 0, ")"], [12607, 0, " "], [12608, 0, "\\"], [12609, 0, ","], [12610, 0, "\\"], [12611, 0, "w"], [12612, 0, "e"], [12613, 0, "d"], [12614, 0, "g"], [12615, 0, "e"], [12616, 0, "\\"], [12617, 0, ","], [12618, 0, "\n"], [12619, 0, " "], [12620, 0, " "], [12621, 0, " "], [12622, 0, " "], [12623, 0, "\\"], [12624, 0, "m"], [12625, 0, "a"], [12626, 0, "t"], [12627, 0, "h"], [12628, 0, "i"], [12629, 0, "t"], [12630, 0, "{"], [12631, 0, "m"], [12632, 0, "a"], [12633, 0, "p"], [12634, 0, "}"], [12635, 0, "("], [12636, 0, "\\"], [12637, 0, "m"], [12638, 0, "a"], [12639, 0, "t"], [12640, 0, "h"], [12641, 0, "s"], [12642, 0, "f"], [12643, 0, "{"], [12644, 0, "p"], [12645, 0, "r"], [12646, 0, "e"], [12647, 0, "s"], [12648, 0, "}"], [12649, 0, "("], [12650, 0, "k"], [12651, 0, ")"], [12652, 0, ")"], [12653, 0, " "], [12654, 0, "\\"], [12655, 0, "n"], [12656, 0, "o"], [12657, 0, "t"], [12658, 0, "="], [12659, 0, " "], [12660, 0, "\\"], [12661, 0, "{"], [12662, 0, "\\"], [12663, 0, "}"], [12664, 0, " "], [12665, 0, "\\"], [12666, 0, ";"], [12667, 0, "\\"], [12668, 0, "}"], [12669, 0, "$"], [12670, 0, "}"], [12671, 0, "\n"], [12672, 0, "\\"], [12673, 0, "L"], [12674, 0, "e"], [12675, 0, "f"], [12676, 0, "t"], [12677, 0, "L"], [12678, 0, "a"], [12679, 0, "b"], [12680, 0, "e"], [12681, 0, "l"], [12682, 0, "{"], [12683, 0, "$"], [12684, 0, "\\"], [12685, 0, "t"], [12686, 0, "e"], [12687, 0, "x"], [12688, 0, "t"], [12689, 0, "s"], [12690, 0, "c"], [12691, 0, "{"], [12692, 0, "K"], [12693, 0, "e"], [12694, 0, "y"], [12695, 0, "s"], [12696, 0, "}"], [12697, 0, "_"], [12698, 0, "2"], [12699, 0, "$"], [12700, 0, "}"], [12701, 0, "\n"], [12702, 0, "\\"], [12703, 0, "B"], [12704, 0, "i"], [12705, 0, "n"], [12706, 0, "a"], [12707, 0, "r"], [12708, 0, "y"], [12709, 0, "I"], [12710, 0, "n"], [12711, 0, "f"], [12712, 0, "C"], [12713, 0, "{"], [12714, 0, "$"], [12715, 0, "A"], [12716, 0, "_"], [12717, 0, "p"], [12718, 0, ","], [12719, 0, "\\"], [12720, 0, ","], [12721, 0, " "], [12722, 0, "\\"], [12723, 0, "m"], [12724, 0, "a"], [12725, 0, "t"], [12726, 0, "h"], [12726, 1], [12725, 1], [12724, 1], [12723, 1], [12723, 0, "m"], [12724, 0, "a"], [12725, 0, "t"], [12726, 0, "h"], [12727, 0, "s"], [12728, 0, "f"], [12729, 0, "{"], [12730, 0, "c"], [12731, 0, "u"], [12732, 0, "r"], [12733, 0, "s"], [12734, 0, "o"], [12735, 0, "r"], [12736, 0, "}"], [12737, 0, "("], [12738, 0, "\\"], [12739, 0, "l"], [12740, 0, "a"], [12741, 0, "n"], [12742, 0, "g"], [12743, 0, "l"], [12744, 0, "e"], [12745, 0, "\\"], [12746, 0, "r"], [12747, 0, "a"], [12748, 0, "n"], [12749, 0, "g"], [12750, 0, "l"], [12751, 0, "e"], [12752, 0, ","], [12753, 0, "\\"], [12754, 0, ","], [12755, 0, " "], [12756, 0, "k"], [12757, 0, ")"], [12758, 0, "."], [12759, 0, "\\"], [12760, 0, "m"], [12761, 0, "a"], [12762, 0, "t"], [12763, 0, "h"], [12764, 0, "s"], [12765, 0, "f"], [12766, 0, "{"], [12767, 0, "k"], [12768, 0, "e"], [12769, 0, "y"], [12770, 0, "s"], [12771, 0, "}"], [12772, 0, " "], [12773, 0, "\\"], [12774, 0, "e"], [12775, 0, "v"], [12776, 0, "a"], [12777, 0, "l"], [12778, 0, "t"], [12779, 0, "o"], [12780, 0, " "], [12781, 0, "\\"], [12782, 0, "m"], [12783, 0, "a"], [12784, 0, "t"], [12785, 0, "h"], [12786, 0, "i"], [12787, 0, "t"], [12788, 0, "{"], [12789, 0, "k"], [12790, 0, "e"], [12791, 0, "y"], [12792, 0, "s"], [12793, 0, "}"], [12794, 0, "$"], [12795, 0, "}"], [12812, 0, "\n"], [12813, 0, "\n"], [12814, 0, "\\"], [12815, 0, "b"], [12816, 0, "e"], [12817, 0, "g"], [12818, 0, "i"], [12819, 0, "n"], [12820, 0, "{"], [12821, 0, "p"], [12822, 0, "r"], [12823, 0, "o"], [12824, 0, "o"], [12825, 0, "f"], [12826, 0, "t"], [12827, 0, "r"], [12828, 0, "e"], [12829, 0, "e"], [12830, 0, "}"], [12831, 0, "\n"], [12832, 0, "\\"], [12833, 0, "e"], [12834, 0, "n"], [12835, 0, "d"], [12836, 0, "{"], [12837, 0, "p"], [12838, 0, "r"], [12839, 0, "o"], [12840, 0, "o"], [12841, 0, "f"], [12842, 0, "t"], [12843, 0, "r"], [12844, 0, "e"], [12845, 0, "e"], [12846, 0, "}"], [12831, 0, "\n"], [12832, 0, "\\"], [12833, 0, "A"], [12834, 0, "x"], [12835, 0, "i"], [12836, 0, "o"], [12837, 0, "m"], [12838, 0, "C"], [12839, 0, "{"], [12840, 0, "$"], [12841, 0, "k"], [12842, 0, "_"], [12843, 0, "1"], [12844, 0, " "], [12845, 0, "\\"], [12846, 0, "i"], [12847, 0, "n"], [12848, 0, " "], [12849, 0, "\\"], [12850, 0, "m"], [12851, 0, "a"], [12852, 0, "t"], [12853, 0, "h"], [12854, 0, "r"], [12855, 0, "m"], [12856, 0, "{"], [12857, 0, "d"], [12858, 0, "o"], [12859, 0, "m"], [12860, 0, "}"], [12861, 0, "("], [12862, 0, "\\"], [12863, 0, "m"], [12864, 0, "a"], [12865, 0, "t"], [12866, 0, "h"], [12867, 0, "i"], [12868, 0, "t"], [12869, 0, "{"], [12870, 0, "c"], [12871, 0, "t"], [12872, 0, "x"], [12873, 0, "}"], [12874, 0, ")"], [12875, 0, "$"], [12876, 0, "}"], [12877, 0, "\n"], [12878, 0, "\\"], [12879, 0, "A"], [12880, 0, "x"], [12881, 0, "i"], [12882, 0, "o"], [12883, 0, "m"], [12884, 0, "C"], [12885, 0, "{"], [12886, 0, "$"], [12887, 0, "\\"], [12888, 0, "m"], [12889, 0, "a"], [12890, 0, "t"], [12891, 0, "h"], [12892, 0, "i"], [12893, 0, "t"], [12894, 0, "{"], [12895, 0, "c"], [12896, 0, "t"], [12897, 0, "x"], [12898, 0, "}"], [12899, 0, "("], [12900, 0, "k"], [12901, 0, "_"], [12902, 0, "1"], [12903, 0, ")"], [12904, 0, ","], [12905, 0, "\\"], [12906, 0, ","], [12907, 0, " "], [12908, 0, "\\"], [12909, 0, "m"], [12910, 0, "a"], [12911, 0, "t"], [12912, 0, "h"], [12913, 0, "s"], [12914, 0, "f"], [12915, 0, "{"], [12916, 0, "c"], [12917, 0, "u"], [12918, 0, "r"], [12919, 0, "s"], [12920, 0, "o"], [12921, 0, "r"], [12922, 0, "("], [12923, 0, "\\"], [12924, 0, "l"], [12925, 0, "a"], [12926, 0, "n"], [12927, 0, "g"], [12928, 0, "l"], [12929, 0, "e"], [12930, 0, " "], [12931, 0, "k"], [12932, 0, "_"], [12933, 0, "2"], [12934, 0, ","], [12935, 0, " "], [12936, 0, "\\"], [12937, 0, "d"], [12938, 0, "o"], [12939, 0, "t"], [12940, 0, "s"], [12941, 0, ","], [12942, 0, " "], [12943, 0, "k"], [12944, 0, "_"], [12945, 0, "{"], [12946, 0, "n"], [12947, 0, "-"], [12948, 0, "1"], [12949, 0, "}"], [12950, 0, " "], [12951, 0, "\\"], [12952, 0, "r"], [12953, 0, "a"], [12954, 0, "n"], [12955, 0, "g"], [12956, 0, "l"], [12957, 0, "e"], [12958, 0, ","], [12959, 0, "\\"], [12960, 0, ","], [12961, 0, " "], [12962, 0, "k"], [12963, 0, "_"], [12964, 0, "n"], [12965, 0, ")"], [12966, 0, "."], [12967, 0, "\\"], [12968, 0, "m"], [12969, 0, "a"], [12970, 0, "t"], [12971, 0, "h"], [12972, 0, "s"], [12973, 0, "f"], [12974, 0, "{"], [12975, 0, "k"], [12976, 0, "e"], [12977, 0, "y"], [12978, 0, "s"], [12979, 0, "}"], [12980, 0, "\n"], [12981, 0, " "], [12982, 0, " "], [12983, 0, " "], [12984, 0, " "], [12985, 0, "\\"], [12986, 0, "e"], [12987, 0, "v"], [12988, 0, "a"], [12989, 0, "l"], [12990, 0, "t"], [12991, 0, "o"], [12992, 0, " "], [12993, 0, "\\"], [12994, 0, "m"], [12995, 0, "a"], [12996, 0, "t"], [12997, 0, "h"], [12998, 0, "i"], [12999, 0, "t"], [13000, 0, "{"], [13001, 0, "k"], [13002, 0, "e"], [13003, 0, "y"], [13004, 0, "s"], [13005, 0, "}"], [13006, 0, "$"], [13007, 0, "}"], [13008, 0, "\n"], [13009, 0, "\\"], [13010, 0, "L"], [13011, 0, "e"], [13012, 0, "f"], [13013, 0, "t"], [13014, 0, "L"], [13015, 0, "a"], [13016, 0, "b"], [13017, 0, "e"], [13018, 0, "l"], [13019, 0, "{"], [13020, 0, "$"], [13021, 0, "\\"], [13022, 0, "t"], [13023, 0, "e"], [13024, 0, "x"], [13025, 0, "t"], [13026, 0, "s"], [13027, 0, "c"], [13028, 0, "{"], [13029, 0, "K"], [13030, 0, "e"], [13031, 0, "y"], [13032, 0, "s"], [13033, 0, "}"], [13034, 0, "_"], [13035, 0, "3"], [13036, 0, "#"], [13037, 0, "}"], [13037, 1], [13036, 1], [13036, 0, "$"], [13037, 0, "}"], [13038, 0, "\n"], [13039, 0, "\\"], [13040, 0, "B"], [13041, 0, "i"], [13042, 0, "n"], [13043, 0, "a"], [13044, 0, "r"], [13045, 0, "y"], [13046, 0, "I"], [13047, 0, "n"], [13048, 0, "f"], [13049, 0, "C"], [13050, 0, "{"], [13051, 0, "$"], [13052, 0, "\\"], [13053, 0, "m"], [13054, 0, "a"], [13055, 0, "t"], [13056, 0, "h"], [13057, 0, "i"], [13058, 0, "t"], [13059, 0, "{"], [13060, 0, "c"], [13061, 0, "t"], [13062, 0, "x"], [13063, 0, "}"], [13064, 0, ","], [13065, 0, "\\"], [13066, 0, ","], [13067, 0, " "], [13068, 0, "\\"], [13069, 0, "m"], [13070, 0, "a"], [13071, 0, "t"], [13072, 0, "h"], [13073, 0, "s"], [13074, 0, "f"], [13075, 0, "{"], [13076, 0, "c"], [13077, 0, "u"], [13078, 0, "r"], [13079, 0, "s"], [13080, 0, "o"], [13081, 0, "r"], [13082, 0, "}"], [13083, 0, "("], [13084, 0, "\\"], [13085, 0, "l"], [13086, 0, "a"], [13087, 0, "n"], [13088, 0, "g"], [13089, 0, "l"], [13090, 0, "e"], [13091, 0, " "], [13092, 0, "k"], [13093, 0, "_"], [13094, 0, "1"], [13095, 0, ","], [13096, 0, " "], [13097, 0, "k"], [13098, 0, "_"], [13099, 0, "2"], [13100, 0, ","], [13101, 0, " "], [13102, 0, "\\"], [13103, 0, "d"], [13104, 0, "o"], [13105, 0, "t"], [13106, 0, "s"], [13107, 0, ","], [13108, 0, " "], [13109, 0, "k"], [13110, 0, "_"], [13111, 0, "{"], [13112, 0, "n"], [13113, 0, "-"], [13114, 0, "1"], [13115, 0, "]"], [13115, 1], [13115, 0, "}"], [13116, 0, " "], [13117, 0, "\\"], [13118, 0, "r"], [13119, 0, "a"], [13120, 0, "n"], [13121, 0, "g"], [13122, 0, "l"], [13123, 0, "e"], [13124, 0, "\\"], [13124, 1], [13124, 0, ","], [13125, 0, "\\"], [13126, 0, ","], [13127, 0, " "], [13128, 0, "k"], [13129, 0, "_"], [13130, 0, "n"], [13131, 0, ")"], [13132, 0, "."], [13133, 0, "\\"], [13134, 0, "m"], [13135, 0, "a"], [13136, 0, "t"], [13137, 0, "h"], [13138, 0, "s"], [13139, 0, "f"], [13140, 0, "{"], [13141, 0, "k"], [13142, 0, "e"], [13143, 0, "y"], [13144, 0, "s"], [13145, 0, "}"], [13146, 0, "\n"], [13147, 0, " "], [13148, 0, " "], [13149, 0, " "], [13150, 0, " "], [13151, 0, "\\"], [13152, 0, "e"], [13153, 0, "v"], [13154, 0, "a"], [13155, 0, "l"], [13156, 0, "t"], [13157, 0, "o"], [13158, 0, " "], [13159, 0, "\\"], [13160, 0, "m"], [13161, 0, "a"], [13162, 0, "t"], [13163, 0, "h"], [13164, 0, "i"], [13165, 0, "t"], [13166, 0, "{"], [13167, 0, "k"], [13168, 0, "e"], [13169, 0, "y"], [13170, 0, "s"], [13171, 0, "}"], [13172, 0, "$"], [13173, 0, "}"], [12922, 0, "}"], [4881, 0, " "], [4881, 1], [5128, 0, " "], [5129, 0, "T"], [5130, 0, "h"], [5131, 0, "e"], [5132, 0, " "], [5133, 0, "f"], [5134, 0, "e"], [5135, 0, "a"], [5136, 0, "t"], [5137, 0, "u"], [5138, 0, "r"], [5139, 0, "e"], [5140, 0, "s"], [5141, 0, " "], [5142, 0, "o"], [5143, 0, "f"], [5144, 0, " "], [5145, 0, "t"], [5146, 0, "h"], [5147, 0, "e"], [5148, 0, " "], [5149, 0, "A"], [5150, 0, "P"], [5151, 0, "I"], [5152, 0, " "], [5152, 1], [5151, 1], [5150, 1], [5149, 1], [5148, 1], [5147, 1], [5146, 1], [5145, 1], [5144, 1], [5143, 1], [5142, 1], [5141, 1], [5140, 1], [5139, 1], [5138, 1], [5137, 1], [5136, 1], [5135, 1], [5134, 1], [5133, 1], [5133, 0, "A"], [5134, 0, "P"], [5135, 0, "I"], [5136, 0, " "], [5137, 0, "d"], [5138, 0, "i"], [5139, 0, "f"], [5140, 0, "f"], [5141, 0, "e"], [5142, 0, "r"], [5143, 0, "s"], [5144, 0, " "], [5145, 0, "s"], [5146, 0, "l"], [5147, 0, "i"], [5148, 0, "g"], [5149, 0, "h"], [5150, 0, "t"], [5151, 0, "l"], [5152, 0, "y"], [5153, 0, " "], [5154, 0, "f"], [5155, 0, "r"], [5156, 0, "o"], [5157, 0, "m"], [5158, 0, " "], [5159, 0, "t"], [5160, 0, "h"], [5161, 0, "e"], [5162, 0, " "], [5163, 0, "J"], [5164, 0, "S"], [5165, 0, "O"], [5166, 0, "N"], [5167, 0, " "], [5168, 0, "l"], [5169, 0, "i"], [5170, 0, "b"], [5171, 0, "r"], [5172, 0, "i"], [5173, 0, "a"], [5174, 0, "r"], [5175, 0, "i"], [5176, 0, "e"], [5177, 0, "s"], [5178, 0, " "], [5172, 1], [5178, 0, "f"], [5179, 0, "o"], [5180, 0, "u"], [5181, 0, "n"], [5182, 0, "d"], [5183, 0, " "], [5184, 0, "i"], [5185, 0, "n"], [5186, 0, " "], [5187, 0, "m"], [5188, 0, "a"], [5189, 0, "n"], [5190, 0, "y"], [5191, 0, " "], [5192, 0, "p"], [5193, 0, "r"], [5194, 0, "o"], [5195, 0, "g"], [5196, 0, "r"], [5197, 0, "a"], [5198, 0, "m"], [5199, 0, "m"], [5200, 0, "i"], [5201, 0, "n"], [5202, 0, "g"], [5203, 0, " "], [5204, 0, "l"], [5205, 0, "a"], [5206, 0, "n"], [5207, 0, "g"], [5208, 0, "u"], [5209, 0, "a"], [5210, 0, "g"], [5211, 0, "e"], [5212, 0, "s"], [5213, 0, ","], [5214, 0, " "], [5215, 0, "i"], [5216, 0, "n"], [5217, 0, " "], [5218, 0, "o"], [5219, 0, "r"], [5220, 0, "d"], [5221, 0, "e"], [5222, 0, "r"], [5223, 0, " "], [5224, 0, "t"], [5225, 0, "o"], [5226, 0, " "], [5227, 0, "a"], [5228, 0, "l"], [5229, 0, "l"], [5230, 0, "o"], [5231, 0, "w"], [5232, 0, " "], [5233, 0, "u"], [5234, 0, "s"], [5235, 0, " "], [5236, 0, "t"], [5237, 0, "o"], [5238, 0, " "], [5239, 0, "d"], [5240, 0, "e"], [5241, 0, "f"], [5242, 0, "i"], [5243, 0, "n"], [5244, 0, "e"], [5245, 0, " "], [5246, 0, "c"], [5247, 0, "o"], [5248, 0, "n"], [5249, 0, "s"], [5250, 0, "i"], [5251, 0, "s"], [5252, 0, "t"], [5253, 0, "e"], [5254, 0, "n"], [5255, 0, "t"], [5256, 0, " "], [5257, 0, "m"], [5258, 0, "e"], [5259, 0, "r"], [5260, 0, "g"], [5261, 0, "e"], [5262, 0, " "], [5263, 0, "s"], [5264, 0, "e"], [5265, 0, "m"], [5266, 0, "a"], [5267, 0, "n"], [5268, 0, "t"], [5269, 0, "i"], [5270, 0, "c"], [5271, 0, "s"], [5272, 0, "."], [5423, 0, ","], [5424, 0, " "], [5425, 0, "a"], [5426, 0, "n"], [5427, 0, "d"], [5428, 0, " "], [5429, 0, "t"], [5430, 0, "o"], [5431, 0, " "], [5432, 0, "c"], [5433, 0, "o"], [5434, 0, "n"], [5435, 0, "s"], [5436, 0, "t"], [5437, 0, "r"], [5438, 0, "u"], [5439, 0, "c"], [5440, 0, "t"], [5441, 0, " "], [5442, 0, "a"], [5443, 0, " "], [5444, 0, "\\"], [5445, 0, "e"], [5446, 0, "m"], [5447, 0, "p"], [5448, 0, "h"], [5449, 0, "{"], [5450, 0, "c"], [5451, 0, "u"], [5452, 0, "r"], [5453, 0, "s"], [5454, 0, "o"], [5455, 0, "r"], [5456, 0, "}"], [5457, 0, " "], [5458, 0, "w"], [5459, 0, "h"], [5460, 0, "i"], [5461, 0, "c"], [5462, 0, "h"], [5463, 0, " "], [5464, 0, "i"], [5465, 0, "d"], [5466, 0, "e"], [5467, 0, "n"], [5468, 0, "t"], [5469, 0, "i"], [5470, 0, "f"], [5471, 0, "i"], [5472, 0, "e"], [5473, 0, "s"], [5474, 0, " "], [5475, 0, "a"], [5476, 0, " "], [5477, 0, "p"], [5478, 0, "o"], [5479, 0, "s"], [5480, 0, "i"], [5481, 0, "t"], [5482, 0, "i"], [5483, 0, "o"], [5484, 0, "n"], [5485, 0, " "], [5486, 0, "i"], [5487, 0, "n"], [5488, 0, " "], [5489, 0, "t"], [5490, 0, "h"], [5491, 0, "e"], [5492, 0, " "], [5493, 0, "d"], [5494, 0, "o"], [5495, 0, "c"], [5496, 0, "u"], [5497, 0, "m"], [5498, 0, "e"], [5499, 0, "n"], [5500, 0, "t"], [5749, 1], [5748, 1], [5747, 1], [5746, 1], [5745, 1], [5744, 1], [5743, 1], [5742, 1], [5741, 1], [5740, 1], [5739, 1], [5738, 1], [5737, 1], [5736, 1], [5735, 1], [5734, 1], [5733, 1], [5732, 1], [5731, 1], [5730, 1], [5729, 1], [5728, 1], [5727, 1], [5726, 1], [5725, 1], [5724, 1], [5723, 1], [5722, 1], [5721, 1], [5720, 1], [5719, 1], [5718, 1], [5717, 1], [5716, 1], [5715, 1], [5714, 1], [5713, 1], [5712, 1], [5711, 1], [5710, 1], [5709, 1], [5708, 1], [5707, 1], [5706, 1], [5705, 1], [5704, 1], [5691, 1], [5690, 1], [5689, 1], [5689, 0, "M"], [5690, 0, "o"], [5691, 0, "v"], [5692, 0, "i"], [5693, 0, "n"], [5694, 0, "g"], [5695, 0, " "], [5696, 0, "l"], [5697, 0, "e"], [5698, 0, "f"], [5699, 0, "t"], [5700, 0, " "], [5701, 0, "t"], [5702, 0, "o"], [5703, 0, " "], [5704, 0, "r"], [5705, 0, "i"], [5706, 0, "g"], [5707, 0, "h"], [5708, 0, "t"], [5709, 0, " "], [5710, 0, "t"], [5711, 0, "h"], [5712, 0, "r"], [5713, 0, "o"], [5714, 0, "u"], [5715, 0, "g"], [5716, 0, "h"], [5717, 0, " "], [5718, 0, "t"], [5719, 0, "h"], [5720, 0, "e"], [5732, 0, ","], [5733, 0, " "], [5734, 1], [5734, 0, "t"], [5735, 0, "h"], [5736, 0, "e"], [5737, 0, " "], [5738, 0, "c"], [5739, 0, "u"], [5740, 0, "r"], [5741, 0, "s"], [5742, 0, "o"], [5743, 0, "r"], [5744, 0, " "], [5745, 0, "i"], [5746, 0, "s"], [5747, 0, " "], [5748, 0, "n"], [5749, 0, "a"], [5750, 0, "v"], [5751, 0, "i"], [5752, 0, "g"], [5753, 0, "a"], [5754, 0, "t"], [5755, 0, "e"], [5756, 0, "d"], [5757, 0, " "], [5758, 0, "t"], [5759, 0, "h"], [5760, 0, "r"], [5761, 0, "o"], [5762, 0, "u"], [5763, 0, "g"], [5764, 0, "h"], [5765, 0, " "], [5766, 0, "t"], [5767, 0, "h"], [5768, 0, "e"], [5769, 0, " "], [5770, 0, "t"], [5771, 0, "r"], [5772, 0, "e"], [5773, 0, "e"], [5776, 0, "t"], [5777, 0, "h"], [5778, 0, "e"], [5779, 0, " "], [5780, 0, "s"], [5781, 0, "u"], [5782, 0, "b"], [5783, 0, "s"], [5784, 0, "c"], [5785, 0, "r"], [5786, 0, "i"], [5787, 0, "p"], [5788, 0, "t"], [5789, 0, " "], [5790, 0, "o"], [5791, 0, "p"], [5792, 0, "e"], [5793, 0, "r"], [5794, 0, "a"], [5795, 0, "t"], [5796, 0, "o"], [5797, 0, "r"], [5798, 0, " "], [5799, 0, "\\"], [5800, 0, "v"], [5801, 0, "e"], [5802, 0, "r"], [5803, 0, "b"], [5804, 0, "|"], [5805, 0, "["], [5806, 0, "\""], [5807, 0, "k"], [5808, 0, "e"], [5809, 0, "y"], [5810, 0, "\""], [5811, 0, "]"], [5812, 0, "|"], [5813, 1], [5813, 1], [5813, 1], [5813, 1], [5813, 1], [5813, 1], [5813, 1], [5813, 1], [5813, 1], [5813, 1], [5813, 1], [5813, 1], [5813, 1], [5813, 1], [5813, 1], [5813, 1], [5813, 1], [5813, 1], [5813, 1], [5813, 1], [5813, 1], [5813, 1], [5813, 1], [5813, 1], [5813, 1], [5813, 1], [5813, 1], [5813, 1], [5893, 1], [5893, 0, " "], [5894, 0, "a"], [5895, 0, "n"], [5896, 0, "d"], [5956, 1], [5956, 0, "."], [5957, 0, "\n"], [5958, 0, "\n"], [5959, 0, "T"], [5960, 0, "h"], [5961, 0, "e"], [5962, 0, " "], [5963, 0, "e"], [5964, 0, "x"], [5965, 0, "p"], [5966, 0, "r"], [5967, 0, "e"], [5968, 0, "s"], [5969, 0, "s"], [5970, 0, "i"], [5971, 0, "o"], [5972, 0, "n"], [5973, 0, " "], [5974, 0, "c"], [5975, 0, "o"], [5976, 0, "n"], [5977, 0, "s"], [5978, 0, "t"], [5979, 0, "r"], [5980, 0, "u"], [5981, 0, "c"], [5982, 0, "t"], [5983, 0, " "], [5984, 0, "E"], [5985, 0, "X"], [5986, 0, "P"], [5987, 0, "R"], [5988, 0, " "], [5989, 0, "c"], [5990, 0, "a"], [5991, 0, "n"], [5992, 0, " "], [5993, 0, "a"], [5994, 0, "l"], [5995, 0, "s"], [5996, 0, "o"], [5997, 0, " "], [5998, 0, "q"], [5999, 0, "u"], [6000, 0, "e"], [6001, 0, "r"], [6002, 0, "y"], [6003, 0, " "], [6004, 0, "t"], [6005, 0, "h"], [6006, 0, "e"], [6007, 0, " "], [6008, 0, "s"], [6009, 0, "t"], [6010, 0, "a"], [6011, 0, "t"], [6012, 0, "e"], [6013, 0, " "], [6014, 0, "o"], [6015, 0, "f"], [6016, 0, " "], [6017, 0, "t"], [6018, 0, "h"], [6019, 0, "e"], [6020, 0, " "], [6021, 0, "d"], [6022, 0, "o"], [6023, 0, "c"], [6024, 0, "u"], [6025, 0, "m"], [6026, 0, "e"], [6027, 0, "n"], [6028, 0, "t"], [6029, 0, ":"], [6072, 1], [6072, 0, "t"], [6073, 0, "h"], [6074, 0, "e"], [6079, 0, " "], [6080, 0, "a"], [6081, 0, "t"], [6082, 0, " "], [6083, 0, "t"], [6084, 0, "h"], [6085, 0, "e"], [6086, 0, " "], [6087, 0, "c"], [6088, 0, "u"], [6089, 0, "r"], [6090, 0, "r"], [6091, 0, "e"], [6092, 0, "n"], [6093, 0, "t"], [6094, 0, " "], [6095, 0, "c"], [6096, 0, "u"], [6097, 0, "r"], [6098, 0, "s"], [6099, 0, "o"], [6100, 0, "r"], [6171, 0, " "], [6172, 0, "c"], [6173, 0, "u"], [6174, 0, "r"], [6175, 0, "s"], [6176, 0, "o"], [6177, 0, "r"], [6178, 1], [6178, 1], [6178, 1], [6178, 1], [6178, 1], [6178, 1], [6178, 1], [6178, 1], [6178, 1], [6178, 1], [6178, 1], [6178, 1], [6178, 1], [6178, 1], [6178, 1], [6178, 1], [6178, 1], [6178, 1], [6178, 1], [6178, 1], [6178, 1], [6178, 1], [6178, 1], [6178, 1], [6178, 1], [6178, 1], [6178, 1], [6178, 1], [6178, 1], [6214, 1], [6213, 1], [6212, 1], [6212, 0, "i"], [6213, 0, "f"], [6214, 0, " "], [6215, 0, "t"], [6216, 0, "h"], [6217, 0, "e"], [6218, 0, " "], [6219, 0, "c"], [6220, 0, "u"], [6221, 0, "r"], [6222, 0, "s"], [6223, 0, "o"], [6224, 0, "r"], [6225, 0, " "], [6226, 0, "r"], [6227, 0, "e"], [6228, 0, "f"], [6229, 0, "e"], [6230, 0, "r"], [6231, 0, "s"], [6232, 0, " "], [6233, 0, "t"], [6234, 0, "o"], [6235, 0, " "], [6236, 0, "a"], [6237, 0, " "], [6237, 1], [6249, 1], [6249, 1], [6249, 1], [6249, 1], [6249, 1], [6249, 1], [5430, 1], [5429, 1], [5428, 1], [5427, 1], [5426, 1], [5425, 1], [5424, 1], [5423, 1], [5422, 1], [5421, 1], [5420, 1], [5419, 1], [5418, 1], [5417, 1], [5416, 1], [5415, 1], [5414, 1], [5413, 1], [5412, 1], [5411, 1], [5410, 1], [5409, 1], [5408, 1], [5407, 1], [5406, 1], [5405, 1], [5404, 1], [5403, 1], [5402, 1], [5401, 1], [5400, 1], [5399, 1], [5398, 1], [5397, 1], [5396, 1], [5395, 1], [5394, 1], [5393, 1], [6586, 0, " "], [6587, 0, "p"], [6588, 0, "a"], [6589, 0, "r"], [6590, 0, "t"], [6591, 0, " "], [6592, 0, "o"], [6593, 0, "f"], [6594, 0, " "], [6595, 0, "t"], [6596, 0, "h"], [6597, 0, "e"], [6598, 0, " "], [6599, 0, "d"], [6600, 0, "o"], [6601, 0, "c"], [6602, 0, "u"], [6603, 0, "m"], [6604, 0, "e"], [6605, 0, "n"], [6606, 0, "t"], [6607, 0, " "], [6608, 0, "b"], [6609, 0, "e"], [6610, 0, "i"], [6611, 0, "n"], [6612, 0, "g"], [6613, 0, " "], [6614, 0, "m"], [6615, 0, "o"], [6616, 0, "d"], [6617, 0, "i"], [6618, 0, "f"], [6619, 0, "i"], [6620, 0, "e"], [6621, 0, "d"], [6622, 0, " "], [6623, 0, "i"], [6624, 0, "s"], [6625, 0, " "], [6626, 0, "i"], [6627, 0, "d"], [6628, 0, "e"], [6629, 0, "n"], [6630, 0, "t"], [6631, 0, "i"], [6632, 0, "f"], [6633, 0, "i"], [6634, 0, "e"], [6635, 0, "d"], [6636, 0, " "], [6637, 0, "b"], [6638, 0, "y"], [6639, 0, " "], [6639, 1], [6638, 1], [6637, 1], [6636, 1], [6635, 1], [6634, 1], [6633, 1], [6632, 1], [6631, 1], [6630, 1], [6629, 1], [6628, 1], [6627, 1], [6626, 1], [6625, 1], [6624, 1], [6623, 1], [6622, 1], [6621, 1], [6620, 1], [6619, 1], [6618, 1], [6617, 1], [6616, 1], [6615, 1], [6614, 1], [6613, 1], [6612, 1], [6611, 1], [6610, 1], [6609, 1], [6608, 1], [6607, 1], [6606, 1], [6605, 1], [6604, 1], [6603, 1], [6602, 1], [6601, 1], [6600, 1], [6599, 1], [6598, 1], [6597, 1], [6596, 1], [6595, 1], [6594, 1], [6593, 1], [6592, 1], [6591, 1], [6590, 1], [6589, 1], [6588, 1], [6587, 1], [6586, 1], [6621, 1], [6620, 1], [6619, 1], [6618, 1], [6617, 1], [6616, 1], [6615, 1], [6614, 1], [6613, 1], [6613, 0, "d"], [6614, 0, "e"], [6615, 0, "f"], [6616, 0, "i"], [6617, 0, "n"], [6618, 0, "e"], [6619, 0, "s"], [6620, 0, " "], [6621, 0, "t"], [6622, 0, "h"], [6623, 0, "e"], [6631, 1], [6631, 0, " "], [6632, 0, "t"], [6633, 0, "h"], [6634, 0, "a"], [6635, 0, "t"], [6647, 1], [6646, 1], [6645, 1], [6644, 1], [6644, 0, "i"], [6645, 0, "e"], [6646, 0, "s"], [4686, 0, " "], [4687, 0, "i"], [4688, 0, "n"], [4689, 0, "t"], [4690, 0, "r"], [4691, 0, "o"], [4692, 0, "d"], [4693, 0, "u"], [4694, 0, "c"], [4695, 0, "t"], [4696, 0, "i"], [4697, 0, "o"], [4698, 0, "n"], [8050, 1], [8050, 1], [8050, 1], [8072, 1], [8071, 1], [8070, 1], [8069, 1], [8068, 1], [8067, 1], [8066, 1], [8065, 1], [8064, 1], [8063, 1], [8062, 1], [8061, 1], [8060, 1], [8060, 0, "L"], [8060, 1], [8060, 0, "{"], [8061, 0, "L"], [8062, 0, "o"], [8063, 0, "c"], [8064, 0, "a"], [8065, 0, "l"], [8479, 0, " "], [8480, 0, "\\"], [8481, 0, "m"], [8482, 0, "a"], [8483, 0, "t"], [8484, 0, "h"], [8485, 0, "s"], [8486, 0, "f"], [8487, 0, "{"], [8488, 0, "p"], [8489, 0, "r"], [8490, 0, "e"], [8491, 0, "s"], [8492, 0, "}"], [8493, 0, "("], [8494, 0, "\\"], [8495, 0, "m"], [8496, 0, "a"], [8497, 0, "t"], [8498, 0, "h"], [8499, 0, "i"], [8500, 0, "t"], [8501, 0, "{"], [8502, 0, "i"], [8503, 0, "d"], [8504, 0, "}"], [8505, 0, "_"], [8506, 0, "3"], [8507, 0, "}"], [8508, 0, " "], [8509, 0, "\\"], [8510, 0, "m"], [8511, 0, "a"], [8512, 0, "p"], [8513, 0, "s"], [8514, 0, "t"], [8515, 0, "o"], [8516, 0, " "], [8517, 0, "\\"], [8518, 0, "{"], [8519, 0, "\\"], [8520, 0, "m"], [8521, 0, "a"], [8522, 0, "t"], [8523, 0, "h"], [8524, 0, "i"], [8525, 0, "t"], [8526, 0, "{"], [8527, 0, "i"], [8528, 0, "d"], [8529, 0, "}"], [8530, 0, "_"], [8531, 0, "3"], [8532, 0, "\\"], [8533, 0, "}"], [8534, 0, ","], [8507, 1], [8507, 0, ")"], [8479, 0, "\\"], [8480, 0, ";"], [8694, 0, "\\"], [8695, 0, ";"], [8696, 0, " "], [8697, 0, "\\"], [8698, 0, "m"], [8699, 0, "a"], [8700, 0, "t"], [8701, 0, "h"], [8702, 0, "s"], [8703, 0, "f"], [8704, 0, "{"], [8705, 0, "p"], [8706, 0, "r"], [8707, 0, "e"], [8708, 0, "s"], [8709, 0, "}"], [8710, 0, "("], [8711, 0, "\\"], [8712, 0, "m"], [8713, 0, "a"], [8714, 0, "t"], [8715, 0, "h"], [8716, 0, "i"], [8717, 0, "t"], [8718, 0, "{"], [8719, 0, "i"], [8720, 0, "d"], [8721, 0, "_"], [8721, 1], [8721, 0, "}"], [8722, 0, "_"], [8723, 0, "1"], [8724, 0, ")"], [8725, 0, " "], [8726, 0, "\\"], [8727, 0, "m"], [8728, 0, "a"], [8729, 0, "p"], [8730, 0, "s"], [8731, 0, "t"], [8732, 0, "o"], [8733, 0, " "], [8734, 0, "\\"], [8735, 0, "{"], [8736, 0, "\\"], [8737, 0, "m"], [8738, 0, "a"], [8739, 0, "t"], [8740, 0, "h"], [8741, 0, "i"], [8742, 0, "t"], [8743, 0, "{"], [8744, 0, "i"], [8745, 0, "d"], [8746, 0, "}"], [8747, 0, "_"], [8748, 0, "1"], [8749, 0, "\\"], [8750, 0, "}"], [8751, 0, ","], [8908, 0, ","], [8909, 0, "\\"], [8910, 0, ";"], [8911, 0, " "], [8912, 0, "\\"], [8913, 0, "m"], [8914, 0, "a"], [8915, 0, "t"], [8916, 0, "h"], [8917, 0, "s"], [8918, 0, "f"], [8919, 0, "{"], [8920, 0, "p"], [8921, 0, "r"], [8922, 0, "e"], [8923, 0, "s"], [8924, 0, "}"], [8925, 0, "("], [8926, 0, "\\"], [8927, 0, "m"], [8928, 0, "a"], [8929, 0, "t"], [8930, 0, "h"], [8931, 0, "i"], [8932, 0, "t"], [8933, 0, "{"], [8934, 0, "i"], [8935, 0, "d"], [8936, 0, "}"], [8937, 0, "_"], [8938, 0, "2"], [8939, 0, ")"], [8940, 0, " "], [8941, 0, "\\"], [8942, 0, "m"], [8943, 0, "a"], [8944, 0, "p"], [8945, 0, "s"], [8946, 0, "t"], [8947, 0, "o"], [8948, 0, " "], [8949, 0, "\\"], [8950, 0, "{"], [8951, 0, "\\"], [8952, 0, "m"], [8953, 0, "a"], [8954, 0, "t"], [8955, 0, "h"], [8956, 0, "i"], [8957, 0, "t"], [8958, 0, "{"], [8959, 0, "i"], [8960, 0, "d"], [8961, 0, "}"], [8962, 0, "_"], [8963, 0, "2"], [8964, 0, "\\"], [8965, 0, "}"], [8976, 0, ","], [8979, 0, " "], [8980, 0, "\\"], [8981, 0, "m"], [8982, 0, "a"], [8983, 0, "t"], [8984, 0, "h"], [8985, 0, "s"], [8986, 0, "f"], [8987, 0, "{"], [8988, 0, "p"], [8989, 0, "r"], [8990, 0, "e"], [8991, 0, "s"], [8992, 0, "}"], [8993, 0, "("], [8994, 0, "\\"], [8995, 0, "m"], [8996, 0, "a"], [8997, 0, "t"], [8998, 0, "h"], [8998, 1], [8997, 1], [8996, 1], [8995, 1], [8994, 1], [8994, 0, "\\"], [8995, 0, "t"], [8996, 0, "e"], [8997, 0, "x"], [8998, 0, "t"], [8999, 0, "{"], [9000, 0, "`"], [9001, 0, "`"], [9002, 0, "s"], [9003, 0, "h"], [9004, 0, "o"], [9005, 0, "p"], [9006, 0, "p"], [9007, 0, "i"], [9008, 0, "n"], [9009, 0, "g"], [9010, 0, "'"], [9011, 0, "'"], [9012, 0, "}"], [9013, 0, ")"], [9014, 0, " "], [9015, 0, "\\"], [9016, 0, "m"], [9017, 0, "a"], [9018, 0, "p"], [9019, 0, "s"], [9020, 0, "t"], [9021, 0, "o"], [9022, 0, " "], [9023, 0, "\\"], [9024, 0, "{"], [9025, 0, "\\"], [9026, 0, "m"], [9027, 0, "a"], [9028, 0, "t"], [9029, 0, "h"], [9030, 0, "i"], [9031, 0, "t"], [9032, 0, "{"], [9033, 0, "i"], [9034, 0, "d"], [9035, 0, "}"], [9036, 0, "_"], [9037, 0, "1"], [9038, 0, ","], [9039, 0, " "], [9040, 0, "\\"], [9041, 0, "m"], [9042, 0, "a"], [9043, 0, "t"], [9044, 0, "h"], [9045, 0, "i"], [9046, 0, "t"], [9047, 0, "{"], [9048, 0, "i"], [9049, 0, "d"], [9050, 0, "}"], [9051, 0, "+"], [9051, 1], [9051, 0, "_"], [9052, 0, "2"], [9053, 0, ","], [9054, 0, " "], [9055, 0, "\\"], [9056, 0, "m"], [9057, 0, "a"], [9058, 0, "t"], [9059, 0, "h"], [9060, 0, "i"], [9061, 0, "t"], [9062, 0, "{"], [9063, 0, "i"], [9064, 0, "d"], [9065, 0, "}"], [9066, 0, "_"], [9067, 0, "3"], [9068, 0, "\\"], [9069, 0, ";"], [9068, 0, " "], [8974, 0, "\\"], [8975, 0, "m"], [8976, 0, "u"], [8977, 0, "l"], [8978, 0, "t"], [8979, 0, "i"], [8980, 0, "a"], [8981, 0, "l"], [8982, 0, "i"], [8983, 0, "g"], [8984, 0, "n"], [8985, 0, "{"], [8986, 0, "3"], [8987, 0, "}"], [8988, 0, "{"], [8994, 0, "\n"], [8995, 0, " "], [8996, 0, " "], [8997, 0, " "], [9093, 0, "}"], [9087, 0, "\\"], [9088, 0, "}"], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15561, 1], [15554, 1], [15553, 1], [15552, 1], [15551, 1], [15550, 1], [15549, 1], [15595, 1], [15594, 1], [15593, 1], [15592, 1], [15591, 1], [15590, 1], [15589, 1], [15588, 1], [15587, 1], [15586, 1], [15585, 1], [15584, 1], [15583, 1], [15582, 1], [15581, 1], [15580, 1], [16639, 1], [16639, 1], [16639, 1], [16639, 1], [16639, 1], [16639, 1], [16645, 1], [16645, 1], [16645, 1], [16645, 1], [16645, 1], [16645, 1], [16645, 1], [16645, 1], [16645, 1], [16645, 1], [16645, 1], [16645, 1], [16645, 1], [16645, 1], [16645, 1], [16645, 1], [16645, 0, ","], [16646, 0, " "], [16647, 0, "w"], [16648, 0, "h"], [16649, 0, "i"], [16650, 0, "c"], [16651, 0, "h"], [10660, 1], [10659, 1], [10659, 0, "t"], [10660, 0, "t"], [10664, 1], [10663, 1], [10662, 1], [10662, 0, "["], [10664, 1], [10676, 1], [10676, 0, "\\"], [10677, 0, "m"], [10678, 0, "a"], [10679, 0, "t"], [10680, 0, "h"], [10681, 0, "t"], [10682, 0, "t"], [10683, 0, "{"], [10684, 0, "]"], [10685, 0, "}"], [10680, 1], [10679, 1], [10678, 1], [10677, 1], [10677, 0, "t"], [10678, 0, "e"], [10679, 0, "x"], [10680, 0, "t"], [10658, 1], [10657, 1], [10656, 1], [10655, 1], [10655, 0, "t"], [10656, 0, "e"], [10657, 0, "x"], [10658, 0, "t"], [18285, 1], [18284, 1], [18283, 1], [18282, 1], [18281, 1], [18281, 0, "["], [18292, 1], [18292, 0, "]"], [18484, 1], [18483, 1], [18482, 1], [18481, 1], [18481, 0, "["], [18482, 0, "."], [18483, 0, "."], [18484, 0, "."], [18485, 0, "]"], [18774, 1], [18774, 1], [18774, 1], [18774, 1], [18774, 1], [18774, 0, "f"], [18775, 0, "o"], [18776, 0, "u"], [18777, 0, "r"], [18805, 1], [18804, 1], [18803, 1], [18803, 0, "\\"], [18804, 0, "d"], [18805, 0, "o"], [18806, 0, "t"], [18807, 0, "s"], [18808, 0, ","], [18809, 0, "4"], [19022, 1], [19022, 0, "4"], [19108, 0, " "], [19109, 0, "$"], [19110, 0, "\\"], [19111, 0, "t"], [19112, 0, "e"], [19113, 0, "x"], [19114, 0, "t"], [19115, 0, "s"], [19116, 0, "c"], [19117, 0, "{"], [19118, 0, "N"], [19119, 0, "e"], [19120, 0, "x"], [19121, 0, "t"], [19122, 0, "}"], [19123, 0, "_"], [19124, 0, "{"], [19125, 0, "2"], [19126, 0, ","], [19127, 0, "3"], [19128, 0, "}"], [19129, 0, "$"], [19130, 0, " "], [19131, 0, "i"], [19132, 0, "n"], [19133, 0, "s"], [19134, 0, "p"], [19135, 0, "e"], [19136, 0, "c"], [19137, 0, "t"], [19138, 0, " "], [19138, 1], [19137, 1], [19136, 1], [19135, 1], [19134, 1], [19133, 1], [19132, 1], [19131, 1], [19131, 0, "a"], [19132, 0, "r"], [19133, 0, "e"], [19134, 0, " "], [19135, 0, "c"], [19136, 0, "o"], [19137, 0, "n"], [19138, 0, "d"], [19139, 0, "i"], [19140, 0, "t"], [19141, 0, "i"], [19142, 0, "o"], [19143, 0, "n"], [19144, 0, "a"], [19145, 0, "l"], [19146, 0, " "], [19147, 0, "o"], [19148, 0, "n"], [19149, 0, " "], [19150, 0, "a"], [19151, 0, "n"], [19152, 0, " "], [19153, 0, "e"], [19154, 0, "n"], [19155, 0, "t"], [19156, 0, "r"], [19157, 0, "y"], [19158, 0, " "], [19159, 0, "$"], [19160, 0, "\\"], [19161, 0, "m"], [19162, 0, "a"], [19163, 0, "t"], [19164, 0, "h"], [19165, 0, "s"], [19166, 0, "f"], [19167, 0, "{"], [19168, 0, "p"], [19169, 0, "r"], [19170, 0, "e"], [19171, 0, "s"], [19172, 0, "}"], [19173, 0, "("], [19174, 0, "k"], [19175, 0, "'"], [19176, 0, ")"], [19177, 0, "$"], [19178, 0, " "], [19179, 0, "i"], [19180, 0, "n"], [19181, 0, " "], [19182, 0, "$"], [19183, 0, "A"], [19184, 0, "_"], [19185, 0, "p"], [19186, 0, "$"], [19187, 0, ","], [19188, 0, " "], [19189, 0, "w"], [19190, 0, "h"], [19191, 0, "i"], [19192, 0, "c"], [19193, 0, "h"], [19194, 0, " "], [19195, 0, "e"], [19196, 0, "n"], [19197, 0, "c"], [19198, 0, "o"], [19199, 0, "d"], [19200, 0, "e"], [19201, 0, "s"], [19202, 0, " "], [19203, 0, "t"], [19204, 0, "h"], [19205, 0, "e"], [19206, 0, " "], [19207, 0, "\\"], [19208, 0, "e"], [19209, 0, "m"], [19210, 0, "p"], [19211, 0, "h"], [19212, 0, "{"], [19213, 0, "p"], [19214, 0, "r"], [19215, 0, "e"], [19216, 0, "s"], [19217, 0, "e"], [19218, 0, "n"], [19219, 0, "c"], [19220, 0, "e"], [19221, 0, "}"], [19222, 0, " "], [19223, 0, "o"], [19224, 0, "f"], [19225, 0, " "], [19226, 0, "a"], [19227, 0, "n"], [19228, 0, " "], [19229, 0, "e"], [19230, 0, "l"], [19231, 0, "e"], [19232, 0, "m"], [19233, 0, "e"], [19234, 0, "n"], [19235, 0, "t"], [19236, 0, " "], [19237, 0, "i"], [19238, 0, "n"], [19239, 0, " "], [19240, 0, "t"], [19241, 0, "h"], [19242, 0, "e"], [19243, 0, " "], [19244, 0, "l"], [19245, 0, "i"], [19246, 0, "s"], [19247, 0, "t"], [19248, 0, ":"], [19249, 0, " "], [19250, 0, "i"], [19251, 0, "f"], [19252, 0, " "], [19253, 0, "t"], [19254, 0, "h"], [19255, 0, "e"], [19256, 0, " "], [19257, 0, "p"], [19258, 0, "r"], [19259, 0, "e"], [19260, 0, "s"], [19261, 0, "e"], [19262, 0, "n"], [19263, 0, "c"], [19264, 0, "e"], [19265, 0, " "], [19266, 0, "s"], [19267, 0, "e"], [19268, 0, "t"], [19269, 0, " "], [19270, 0, "i"], [19271, 0, "s"], [19272, 0, " "], [19273, 0, "e"], [19274, 0, "m"], [19275, 0, "p"], [19276, 0, "t"], [19277, 0, "y"], [19278, 0, ","], [19279, 0, " "], [19280, 0, "t"], [19281, 0, "h"], [19282, 0, "a"], [19283, 0, "t"], [19284, 0, " "], [19285, 0, "m"], [19286, 0, "e"], [19287, 0, "a"], [19288, 0, "n"], [19289, 0, "s"], [19290, 0, " "], [19291, 0, "t"], [19292, 0, "h"], [19293, 0, "e"], [19294, 0, " "], [19295, 0, "l"], [19296, 0, "i"], [19297, 0, "s"], [19298, 0, "t"], [19299, 0, " "], [19300, 0, "e"], [19301, 0, "l"], [19302, 0, "e"], [19303, 0, "m"], [19304, 0, "e"], [19305, 0, "n"], [19306, 0, "t"], [19307, 0, " "], [19308, 0, "w"], [19309, 0, "a"], [19310, 0, "s"], [19311, 0, " "], [19312, 0, "d"], [19313, 0, "e"], [19314, 0, "l"], [19315, 0, "e"], [19316, 0, "t"], [19317, 0, "e"], [19318, 0, "d"], [19319, 0, ","], [19320, 0, " "], [19321, 0, "a"], [19322, 0, "n"], [19323, 0, "d"], [19324, 0, " "], [19325, 0, "s"], [19326, 0, "o"], [19327, 0, " "], [19328, 0, "$"], [19329, 0, "\\"], [19330, 0, "t"], [19331, 0, "e"], [19332, 0, "x"], [19333, 0, "t"], [19334, 0, "s"], [19335, 0, "c"], [19336, 0, "{"], [19337, 0, "N"], [19338, 0, "e"], [19339, 0, "x"], [19340, 0, "t"], [19341, 0, "}"], [19342, 0, "_"], [19343, 0, "3"], [19344, 0, "$"], [19345, 0, " "], [19346, 0, "s"], [19347, 0, "k"], [19348, 0, "i"], [19349, 0, "p"], [19350, 0, "s"], [19351, 0, " "], [19352, 0, "o"], [19353, 0, "v"], [19354, 0, "e"], [19355, 0, "r"], [19356, 0, " "], [19357, 0, "t"], [19358, 0, "h"], [19359, 0, "e"], [19360, 0, " "], [19361, 0, "e"], [19362, 0, "l"], [19363, 0, "e"], [19364, 0, "m"], [19365, 0, "e"], [19366, 0, "n"], [19367, 0, "t"], [19368, 0, "."], [19369, 0, " "], [19370, 0, "I"], [19371, 0, "f"], [19372, 0, " "], [19373, 0, "t"], [19374, 0, "h"], [19375, 0, "e"], [19376, 0, " "], [19377, 0, "p"], [19378, 0, "r"], [19379, 0, "e"], [19380, 0, "s"], [19381, 0, "e"], [19382, 0, "n"], [19383, 0, "c"], [19384, 0, "e"], [19385, 0, " "], [19386, 0, "s"], [19387, 0, "e"], [19388, 0, "t"], [19389, 0, " "], [19390, 0, "i"], [19391, 0, "s"], [19392, 0, " "], [19393, 0, "n"], [19394, 0, "o"], [19395, 0, "n"], [19396, 0, "="], [19397, 0, "-"], [19397, 1], [19396, 1], [19396, 0, "-"], [19396, 1], [19396, 0, "e"], [19397, 0, "m"], [19398, 0, "p"], [19399, 0, "t"], [19400, 0, "y"], [19401, 0, " "], [19401, 1], [19401, 0, ","], [19402, 0, " "], [19403, 0, "$"], [19404, 0, "\\"], [19405, 0, "t"], [19406, 0, "e"], [19407, 0, "x"], [19408, 0, "t"], [19409, 0, "s"], [19410, 0, "c"], [19411, 0, "{"], [19412, 0, "N"], [19413, 0, "e"], [19414, 0, "x"], [19415, 0, "t"], [19416, 0, "}"], [19417, 0, "_"], [19418, 0, "2"], [19419, 0, "$"], [19420, 0, " "], [19421, 0, "a"], [19422, 0, "p"], [19423, 0, "p"], [19424, 0, "l"], [19425, 0, "i"], [19426, 0, "e"], [19427, 0, "s"], [19428, 0, "."], [19429, 0, "\n"], [19430, 0, "\n"], [19431, 0, "T"], [19432, 0, "h"], [19433, 0, "e"], [19434, 0, " "], [19435, 0, "$"], [19436, 0, "\\"], [19437, 0, "t"], [19438, 0, "e"], [19439, 0, "x"], [19440, 0, "t"], [19441, 0, "s"], [19442, 0, "c"], [19443, 0, "{"], [19444, 0, "K"], [19445, 0, "e"], [19446, 0, "y"], [19447, 0, "s"], [19448, 0, "}"], [19449, 0, "_"], [19450, 0, "{"], [19451, 0, "1"], [19452, 0, ","], [19453, 0, "2"], [19454, 0, ","], [19455, 0, "3"], [19456, 0, "}"], [19457, 0, "$"], [19458, 0, " "], [19459, 0, "r"], [19460, 0, "u"], [19461, 0, "l"], [19462, 0, "e"], [19463, 0, "s"], [19464, 0, " "], [19465, 0, "a"], [19466, 0, "l"], [19467, 0, "l"], [19468, 0, "o"], [19469, 0, "w"], [19470, 0, " "], [19471, 0, "t"], [19472, 0, "h"], [19473, 0, "e"], [19474, 0, " "], [19475, 0, "a"], [19476, 0, "p"], [19477, 0, "p"], [19478, 0, "l"], [19479, 0, "i"], [19480, 0, "c"], [19481, 0, "a"], [19482, 0, "t"], [19483, 0, "i"], [19484, 0, "o"], [19485, 0, "n"], [19486, 0, " "], [19487, 0, "t"], [19488, 0, "o"], [19489, 0, " "], [19490, 0, "i"], [19491, 0, "n"], [19492, 0, "s"], [19493, 0, "p"], [19494, 0, "e"], [19495, 0, "c"], [19496, 0, "t"], [19497, 0, " "], [19498, 0, "t"], [19499, 0, "h"], [19500, 0, "e"], [19501, 0, " "], [19502, 0, "s"], [19503, 0, "e"], [19504, 0, "t"], [19505, 0, " "], [19506, 0, "o"], [19507, 0, "f"], [19508, 0, " "], [19509, 0, "k"], [19510, 0, "e"], [19511, 0, "y"], [19512, 0, "s"], [19513, 0, " "], [19514, 0, "t"], [19515, 0, "h"], [19516, 0, "a"], [19517, 0, "t"], [19518, 0, " "], [19519, 0, "a"], [19520, 0, "r"], [19521, 0, "e"], [19522, 0, " "], [19523, 0, "d"], [19524, 0, "e"], [19525, 0, "f"], [19526, 0, "i"], [19527, 0, "n"], [19528, 0, "e"], [19529, 0, "d"], [19530, 0, " "], [19531, 0, "i"], [19532, 0, "n"], [19533, 0, " "], [19534, 0, "a"], [19535, 0, " "], [19536, 0, "m"], [19537, 0, "a"], [19538, 0, "p"], [19539, 0, "."], [19540, 0, " "], [19541, 0, "T"], [19542, 0, "h"], [19543, 0, "i"], [19544, 0, "s"], [19545, 0, " "], [19546, 0, "s"], [19547, 0, "e"], [19548, 0, "t"], [19549, 0, " "], [19550, 0, "i"], [19551, 0, "s"], [19552, 0, " "], [19553, 0, "d"], [19554, 0, "e"], [19555, 0, "t"], [19556, 0, "e"], [19557, 0, "r"], [19558, 0, "m"], [19559, 0, "i"], [19560, 0, "n"], [19561, 0, "e"], [19562, 0, "d"], [19563, 0, " "], [19564, 0, "b"], [19565, 0, "y"], [19566, 0, " "], [19567, 0, "e"], [19568, 0, "x"], [19569, 0, "a"], [19570, 0, "m"], [19571, 0, "i"], [19572, 0, "n"], [19573, 0, "i"], [19574, 0, "n"], [19575, 0, "g"], [19576, 0, " "], [19577, 0, "t"], [19578, 0, "h"], [19579, 0, "e"], [19580, 0, " "], [19581, 0, "l"], [19582, 0, "o"], [19583, 0, "c"], [19584, 0, "a"], [19585, 0, "l"], [19586, 0, " "], [19587, 0, "s"], [19588, 0, "t"], [19589, 0, "a"], [19590, 0, "t"], [19591, 0, "e"], [19592, 0, ","], [19593, 0, " "], [19594, 0, "a"], [19595, 0, "n"], [19596, 0, "d"], [19597, 0, " "], [19598, 0, "e"], [19599, 0, "x"], [19600, 0, "c"], [19601, 0, "l"], [19602, 0, "u"], [19603, 0, "d"], [19604, 0, "i"], [19605, 0, "n"], [19606, 0, "g"], [19607, 0, " "], [19608, 0, "a"], [19609, 0, "n"], [19610, 0, "y"], [19611, 0, " "], [19612, 0, "k"], [19613, 0, "e"], [19614, 0, "y"], [19615, 0, "s"], [19616, 0, " "], [19617, 0, "f"], [19618, 0, "o"], [19619, 0, "r"], [19620, 0, " "], [19621, 0, "w"], [19622, 0, "h"], [19623, 0, "i"], [19624, 0, "c"], [19625, 0, "h"], [19626, 0, " "], [19627, 0, "t"], [19628, 0, "h"], [19629, 0, "e"], [19630, 0, " "], [19631, 0, "p"], [19632, 0, "r"], [19633, 0, "e"], [19634, 0, "s"], [19635, 0, "e"], [19636, 0, "n"], [19637, 0, "c"], [19638, 0, "e"], [19639, 0, " "], [19640, 0, "s"], [19641, 0, "e"], [19642, 0, "t"], [19643, 0, " "], [19644, 0, "i"], [19645, 0, "s"], [19646, 0, " "], [19647, 0, "e"], [19648, 0, "m"], [19649, 0, "p"], [19650, 0, "t"], [19651, 0, "y"], [19652, 0, " "], [19653, 0, "("], [19654, 0, "i"], [19655, 0, "n"], [19656, 0, "d"], [19657, 0, "i"], [19658, 0, "c"], [19659, 0, "a"], [19660, 0, "t"], [19661, 0, "i"], [19662, 0, "n"], [19663, 0, "g"], [19664, 0, " "], [19665, 0, "t"], [19666, 0, "h"], [19667, 0, "a"], [19668, 0, "t"], [19669, 0, " "], [19670, 0, "t"], [19671, 0, "h"], [19672, 0, "e"], [19673, 0, " "], [19674, 0, "k"], [19675, 0, "e"], [19676, 0, "y"], [19677, 0, " "], [19678, 0, "h"], [19679, 0, "a"], [19680, 0, "s"], [19681, 0, " "], [19682, 0, "b"], [19683, 0, "e"], [19684, 0, "e"], [19685, 0, "n"], [19686, 0, " "], [19687, 0, "d"], [19688, 0, "e"], [19689, 0, "l"], [19690, 0, "e"], [19691, 0, "t"], [19692, 0, "e"], [19693, 0, "d"], [19694, 0, ")"], [19695, 0, "."], [19746, 1], [19746, 1], [19746, 1], [19746, 1], [19746, 1], [19746, 1], [19746, 1], [19746, 1], [19746, 1], [19746, 0, "t"], [19747, 0, "h"], [19748, 0, "e"], [19749, 0, " "], [19750, 0, "a"], [19751, 0, "p"], [19752, 0, "p"], [19753, 0, "l"], [19754, 0, "i"], [19755, 0, "c"], [19756, 0, "a"], [19757, 0, "t"], [19758, 0, "i"], [19759, 0, "o"], [19760, 0, "n"], [18807, 1], [18806, 1], [18805, 1], [18804, 1], [18803, 1], [18803, 0, "2"], [18804, 0, ","], [18805, 0, "3"], [19004, 1], [19003, 1], [19002, 1], [19001, 1], [21537, 1], [21537, 1], [21537, 1], [21537, 1], [21537, 1], [21537, 1], [21537, 1], [21537, 1], [21537, 1], [21537, 1], [21537, 1], [21537, 1], [21537, 1], [21537, 1], [29726, 1], [29726, 1], [29726, 1], [29726, 1], [29726, 1], [29726, 1], [29726, 1], [29726, 1], [35213, 0, "\n"], [35214, 0, "\n"], [35215, 0, "F"], [35216, 0, "i"], [35217, 0, "g"], [35218, 0, "u"], [35219, 0, "r"], [35220, 0, "e"], [35221, 0, "~"], [35222, 0, "\\"], [35223, 0, "r"], [35224, 0, "e"], [35225, 0, "f"], [35226, 0, "{"], [35227, 0, "f"], [35228, 0, "i"], [35229, 0, "g"], [35230, 0, ":"], [35231, 0, "o"], [35232, 0, "p"], [35233, 0, "e"], [35234, 0, "r"], [35235, 0, "a"], [35236, 0, "t"], [35237, 0, "i"], [35238, 0, "o"], [35239, 0, "n"], [35240, 0, "-"], [35241, 0, "r"], [35242, 0, "u"], [35243, 0, "l"], [35244, 0, "e"], [35245, 0, "s"], [35246, 0, "}"], [35247, 0, " "], [35248, 0, "g"], [35249, 0, "i"], [35250, 0, "v"], [35251, 0, "e"], [35252, 0, "s"], [35253, 0, " "], [35254, 0, "t"], [35255, 0, "h"], [35256, 0, "e"], [35257, 0, " "], [35258, 0, "r"], [35259, 0, "u"], [35260, 0, "l"], [35261, 0, "e"], [35262, 0, "s"], [35263, 0, " "], [35264, 0, "t"], [35265, 0, "h"], [35266, 0, "a"], [35267, 0, "t"], [35268, 0, " "], [35269, 0, "e"], [35270, 0, "v"], [35271, 0, "a"], [35272, 0, "l"], [35273, 0, "u"], [35274, 0, "a"], [35275, 0, "t"], [35276, 0, "e"], [35277, 0, " "], [35278, 0, "a"], [35279, 0, "n"], [35280, 0, " "], [35281, 0, "o"], [35282, 0, "p"], [35283, 0, "e"], [35284, 0, "r"], [35285, 0, "a"], [35286, 0, "t"], [35287, 0, "i"], [35288, 0, "o"], [35289, 0, "n"], [35290, 0, " "], [35291, 0, "$"], [35292, 0, "\\"], [35293, 0, "m"], [35294, 0, "a"], [35295, 0, "t"], [35296, 0, "h"], [35297, 0, "s"], [35298, 0, "f"], [35299, 0, "{"], [35300, 0, "o"], [35301, 0, "p"], [35302, 0, "}"], [35303, 0, "$"], [35304, 0, " "], [35305, 0, "w"], [35306, 0, "i"], [35307, 0, "t"], [35308, 0, "h"], [35309, 0, "i"], [35310, 0, "n"], [35311, 0, " "], [35312, 0, "a"], [35313, 0, " "], [35314, 0, "c"], [35315, 0, "o"], [35316, 0, "n"], [35317, 0, "t"], [35318, 0, "e"], [35319, 0, "x"], [35320, 0, "t"], [35321, 0, " "], [35322, 0, "$"], [35323, 0, "\\"], [35324, 0, "m"], [35325, 0, "a"], [35326, 0, "t"], [35327, 0, "h"], [35328, 0, "i"], [35329, 0, "t"], [35330, 0, "{"], [35331, 0, "c"], [35332, 0, "t"], [35333, 0, "x"], [35334, 0, "}"], [35335, 0, "$"], [35336, 0, ","], [35337, 0, " "], [35338, 0, "a"], [35339, 0, "n"], [35340, 0, "d"], [35341, 0, " "], [35342, 0, "p"], [35343, 0, "r"], [35344, 0, "o"], [35345, 0, "d"], [35346, 0, "u"], [35347, 0, "c"], [35348, 0, "e"], [35349, 0, " "], [35350, 0, "a"], [35351, 0, " "], [35352, 0, "n"], [35353, 0, "e"], [35354, 0, "w"], [35355, 0, " "], [35355, 1], [35354, 1], [35353, 1], [35352, 1], [35351, 1], [35351, 0, "n"], [35352, 0, " "], [35353, 0, "u"], [35354, 0, "p"], [35355, 0, "d"], [35356, 0, "a"], [35357, 0, "t"], [35358, 0, "e"], [35359, 0, "d"], [35360, 0, " "], [35361, 0, "c"], [35362, 0, "o"], [35363, 0, "n"], [35364, 0, "t"], [35365, 0, "e"], [35366, 0, "x"], [35367, 0, "t"], [35368, 0, " "], [35369, 0, "$"], [35370, 0, "\\"], [35371, 0, "m"], [35372, 0, "a"], [35373, 0, "t"], [35374, 0, "h"], [35375, 0, "i"], [35376, 0, "t"], [35377, 0, "{"], [35378, 0, "c"], [35379, 0, "t"], [35380, 0, "x"], [35381, 0, "}"], [35382, 0, "'"], [35383, 0, "$"], [35384, 0, "."], [35385, 0, " "], [35386, 0, "T"], [35387, 0, "h"], [35388, 0, "e"], [35389, 0, "s"], [35390, 0, "e"], [35391, 0, " "], [35392, 0, "r"], [35393, 0, "u"], [35394, 0, "l"], [35395, 0, "e"], [35396, 0, "s"], [35397, 0, " "], [35398, 0, "a"], [35399, 0, "r"], [35400, 0, "e"], [35401, 0, " "], [35402, 0, "u"], [35403, 0, "s"], [35404, 0, "e"], [35405, 0, "d"], [35406, 0, " "], [35407, 0, "b"], [35408, 0, "y"], [35409, 0, " "], [35410, 0, "\\"], [35411, 0, "t"], [35412, 0, "e"], [35413, 0, "x"], [35414, 0, "t"], [35415, 0, "s"], [35416, 0, "c"], [35417, 0, "{"], [35418, 0, "A"], [35419, 0, "p"], [35420, 0, "p"], [35421, 0, "l"], [35422, 0, "y"], [35423, 0, "-"], [35424, 0, "L"], [35425, 0, "o"], [35426, 0, "c"], [35427, 0, "a"], [35428, 0, "l"], [35429, 0, "}"], [35430, 0, " "], [35431, 0, "a"], [35432, 0, "n"], [35433, 0, "d"], [35434, 0, " "], [35435, 0, "\\"], [35436, 0, "t"], [35437, 0, "e"], [35438, 0, "x"], [35439, 0, "t"], [35440, 0, "s"], [35441, 0, "c"], [35442, 0, "{"], [35443, 0, "A"], [35444, 0, "p"], [35445, 0, "p"], [35446, 0, "l"], [35447, 0, "y"], [35448, 0, "-"], [35449, 0, "R"], [35450, 0, "e"], [35451, 0, "m"], [35452, 0, "o"], [35453, 0, "t"], [35454, 0, "e"], [35455, 0, "}"], [35456, 0, " "], [35457, 0, "t"], [35458, 0, "o"], [35459, 0, " "], [35460, 0, "p"], [35461, 0, "e"], [35462, 0, "r"], [35463, 0, "f"], [35464, 0, "o"], [35465, 0, "r"], [35466, 0, "m"], [35467, 0, " "], [35468, 0, "t"], [35469, 0, "h"], [35470, 0, "e"], [35471, 0, " "], [35472, 0, "s"], [35473, 0, "t"], [35474, 0, "a"], [35475, 0, "t"], [35476, 0, "e"], [35477, 0, " "], [35478, 0, "u"], [35479, 0, "p"], [35480, 0, "d"], [35481, 0, "a"], [35482, 0, "t"], [35483, 0, "e"], [35484, 0, "s"], [35485, 0, " "], [35486, 0, "o"], [35487, 0, "n"], [35488, 0, " "], [35489, 0, "a"], [35490, 0, " "], [35491, 0, "d"], [35492, 0, "o"], [35493, 0, "c"], [35494, 0, "u"], [35495, 0, "m"], [35496, 0, "e"], [35497, 0, "n"], [35498, 0, "t"], [35499, 0, "."], [35500, 0, "\n"], [35501, 0, "\n"], [35502, 0, "W"], [35503, 0, "h"], [35504, 0, "e"], [35505, 0, "n"], [35506, 0, " "], [35507, 0, "t"], [35508, 0, "h"], [35509, 0, "e"], [35510, 0, " "], [35511, 0, "c"], [35512, 0, "u"], [35513, 0, "r"], [35514, 0, "s"], [35515, 0, "o"], [35516, 0, "r"], [35517, 0, " "], [35511, 0, "o"], [35512, 0, "p"], [35513, 0, "e"], [35514, 0, "r"], [35515, 0, "a"], [35516, 0, "t"], [35517, 0, "i"], [35518, 0, "o"], [35519, 0, "n"], [35520, 0, "'"], [35521, 0, "s"], [35522, 0, " "], [35530, 0, "r"], [35531, 0, "e"], [35532, 0, "f"], [35533, 0, "e"], [35534, 0, "r"], [35535, 0, "s"], [35536, 0, " "], [35537, 0, "t"], [35538, 0, "o"], [35539, 0, " "], [35540, 0, "a"], [35541, 0, " "], [35542, 0, "t"], [35543, 0, "r"], [35544, 0, "e"], [35545, 0, "e"], [35546, 0, " "], [35547, 0, "n"], [35548, 0, "o"], [35549, 0, "d"], [35550, 0, "e"], [35551, 0, " "], [35552, 0, "t"], [35553, 0, "h"], [35554, 0, "a"], [35555, 0, "t"], [35556, 0, " "], [35557, 0, "i"], [35558, 0, "s"], [35559, 0, " "], [35560, 0, "n"], [35561, 0, "o"], [35562, 0, "t"], [35563, 0, " "], [35564, 0, "t"], [35565, 0, "h"], [35566, 0, "e"], [35567, 0, " "], [35568, 0, "d"], [35569, 0, "o"], [35570, 0, "c"], [35571, 0, "u"], [35572, 0, "m"], [35573, 0, "e"], [35574, 0, "n"], [35575, 0, "t"], [35576, 0, " "], [35577, 0, "r"], [35578, 0, "o"], [35579, 0, "o"], [35580, 0, "t"], [35581, 0, " "], [35582, 0, "\\"], [35582, 1], [35582, 0, "$"], [35583, 0, "\\"], [35584, 0, "m"], [35585, 0, "a"], [35586, 0, "t"], [35587, 0, "h"], [35588, 0, "s"], [35589, 0, "f"], [35590, 0, "{"], [35591, 0, "d"], [35592, 0, "o"], [35593, 0, "c"], [35594, 0, "}"], [35595, 0, "$"], [35596, 0, ","], [35597, 0, " "], [35598, 0, "t"], [35599, 0, "h"], [35600, 0, "e"], [35601, 0, " "], [35602, 0, "\\"], [35603, 0, "t"], [35604, 0, "e"], [35605, 0, "x"], [35606, 0, "t"], [35607, 0, "s"], [35608, 0, "c"], [35609, 0, "{"], [35610, 0, "D"], [35611, 0, "e"], [35612, 0, "s"], [35613, 0, "c"], [35614, 0, "e"], [35615, 0, "n"], [35616, 0, "d"], [35617, 0, "}"], [35618, 0, " "], [35619, 0, "r"], [35620, 0, "u"], [35621, 0, "l"], [35622, 0, "e"], [35623, 0, " "], [35624, 0, "f"], [35625, 0, "i"], [35626, 0, "r"], [35627, 0, "s"], [35628, 0, "t"], [35629, 0, " "], [35630, 0, "a"], [35631, 0, "p"], [35632, 0, "p"], [35633, 0, "l"], [35634, 0, "i"], [35635, 0, "e"], [35636, 0, "s"], [35637, 0, "."], [35638, 0, " "], [35639, 0, "I"], [35640, 0, "t"], [35641, 0, " "], [35642, 0, "d"], [35642, 1], [35642, 0, "r"], [35643, 0, "e"], [35644, 0, "c"], [35645, 0, "u"], [35646, 0, "r"], [35647, 0, "s"], [35648, 0, "i"], [35649, 0, "v"], [35650, 0, "e"], [35651, 0, "l"], [35652, 0, "y"], [35653, 0, " "], [35654, 0, "d"], [35655, 0, "e"], [35656, 0, "s"], [35657, 0, "c"], [35658, 0, "e"], [35659, 0, "n"], [35660, 0, "d"], [35661, 0, "s"], [35662, 0, " "], [35663, 0, "t"], [35664, 0, "h"], [35665, 0, "e"], [35666, 0, " "], [35667, 0, "d"], [35668, 0, "o"], [35669, 0, "c"], [35670, 0, "u"], [35671, 0, "m"], [35672, 0, "e"], [35673, 0, "n"], [35674, 0, "t"], [35675, 0, " "], [35676, 0, "t"], [35677, 0, "r"], [35678, 0, "e"], [35679, 0, "e"], [35680, 0, " "], [35681, 0, "a"], [35682, 0, "c"], [35683, 0, "c"], [35684, 0, "o"], [35685, 0, "r"], [35686, 0, "d"], [35687, 0, "i"], [35688, 0, "n"], [35689, 0, "g"], [35690, 0, " "], [35691, 0, "t"], [35692, 0, "o"], [35693, 0, " "], [35694, 0, "t"], [35695, 0, "h"], [35696, 0, "e"], [35697, 0, " "], [35698, 0, "v"], [35699, 0, "e"], [35700, 0, "c"], [35701, 0, "t"], [35702, 0, "o"], [35703, 0, "r"], [35704, 0, " "], [35705, 0, "o"], [35706, 0, "f"], [35707, 0, " "], [35708, 0, "k"], [35709, 0, "e"], [35710, 0, "y"], [35711, 0, "s"], [35712, 0, " "], [35713, 0, "g"], [35714, 0, "i"], [35715, 0, "v"], [35716, 0, "e"], [35717, 0, "n"], [35718, 0, " "], [35719, 0, "i"], [35720, 0, "n"], [35721, 0, " "], [35722, 0, "t"], [35723, 0, "h"], [35724, 0, "e"], [35725, 0, " "], [35726, 0, "c"], [35727, 0, "u"], [35728, 0, "r"], [35729, 0, "s"], [35730, 0, "o"], [35731, 0, "r"], [35732, 0, "."], [35733, 0, " "], [35734, 0, "I"], [35735, 0, "f"], [35736, 0, " "], [35737, 0, "t"], [35738, 0, "h"], [35739, 0, "e"], [35740, 0, " "], [35741, 0, "t"], [35742, 0, "r"], [35743, 0, "e"], [35744, 0, "e"], [35745, 0, " "], [35746, 0, "n"], [35747, 0, "o"], [35748, 0, "d"], [35749, 0, "e"], [35750, 0, " "], [35751, 0, "a"], [35752, 0, "l"], [35753, 0, "r"], [35754, 0, "e"], [35755, 0, "a"], [35756, 0, "d"], [35757, 0, "y"], [35758, 0, " "], [35759, 0, "e"], [35760, 0, "x"], [35761, 0, "i"], [35762, 0, "s"], [35763, 0, "t"], [35764, 0, "s"], [35765, 0, ","], [35766, 0, " "], [35767, 0, "\\"], [35768, 0, "t"], [35769, 0, "e"], [35770, 0, "x"], [35771, 0, "t"], [35772, 0, "s"], [35773, 0, "c"], [35774, 0, "{"], [35775, 0, "C"], [35776, 0, "h"], [35777, 0, "i"], [35778, 0, "l"], [35779, 0, "d"], [35780, 0, "-"], [35781, 0, "G"], [35782, 0, "e"], [35783, 0, "t"], [35784, 0, "}"], [35785, 0, " "], [35765, 0, " "], [35766, 0, "i"], [35767, 0, "n"], [35768, 0, " "], [35769, 0, "t"], [35770, 0, "h"], [35771, 0, "e"], [35772, 0, " "], [35773, 0, "l"], [35774, 0, "o"], [35775, 0, "c"], [35776, 0, "a"], [35777, 0, "l"], [35778, 0, " "], [35779, 0, "p"], [35780, 0, "e"], [35781, 0, "e"], [35782, 0, "r"], [35783, 0, " "], [35784, 0, "s"], [35785, 0, "t"], [35786, 0, "a"], [35787, 0, "t"], [35788, 0, "e"], [35810, 0, "f"], [35811, 0, "i"], [35812, 0, "n"], [35813, 0, "d"], [35814, 0, "s"], [35815, 0, " "], [35816, 0, "i"], [35817, 0, "t"], [35818, 0, ","], [35819, 0, " "], [35820, 0, "o"], [35821, 0, "t"], [35822, 0, "h"], [35823, 0, "e"], [35824, 0, "r"], [35825, 0, "w"], [35826, 0, "i"], [35827, 0, "s"], [35828, 0, "e"], [35829, 0, " "], [35830, 0, "\\"], [35831, 0, "t"], [35832, 0, "e"], [35833, 0, "x"], [35834, 0, "t"], [35835, 0, "s"], [35836, 0, "c"], [35837, 0, "{"], [35838, 0, "C"], [35839, 0, "h"], [35840, 0, "i"], [35841, 0, "l"], [35842, 0, "d"], [35843, 0, "-"], [35844, 0, "M"], [35845, 0, "a"], [35846, 0, "p"], [35847, 0, "}"], [35848, 0, " "], [35849, 0, "a"], [35850, 0, "n"], [35851, 0, "d"], [35852, 0, " "], [35853, 0, "\\"], [35854, 0, "t"], [35855, 0, "e"], [35856, 0, "x"], [35857, 0, "t"], [35858, 0, "s"], [35859, 0, "c"], [35860, 0, "{"], [35861, 0, "C"], [35862, 0, "h"], [35863, 0, "i"], [35864, 0, "l"], [35865, 0, "d"], [35866, 0, "-"], [35867, 0, "L"], [35868, 0, "i"], [35869, 0, "s"], [35870, 0, "t"], [35871, 0, "}"], [35872, 0, " "], [35873, 0, "c"], [35873, 1], [35873, 0, "c"], [35874, 0, "r"], [35875, 0, "e"], [35876, 0, "a"], [35877, 0, "t"], [35878, 0, "e"], [35879, 0, " "], [35880, 0, "a"], [35881, 0, "n"], [35882, 0, " "], [35883, 0, "e"], [35884, 0, "m"], [35885, 0, "p"], [35886, 0, "t"], [35887, 0, "y"], [35888, 0, " "], [35889, 0, "m"], [35890, 0, "a"], [35891, 0, "p"], [35892, 0, " "], [35893, 0, "o"], [35894, 0, "r"], [35895, 0, " "], [35896, 0, "l"], [35897, 0, "i"], [35898, 0, "s"], [35899, 0, "t"], [35900, 0, " "], [35901, 0, "r"], [35902, 0, "e"], [35903, 0, "s"], [35904, 0, "p"], [35905, 0, "e"], [35906, 0, "c"], [35907, 0, "t"], [35908, 0, "i"], [35909, 0, "v"], [35910, 0, "e"], [35911, 0, "l"], [35912, 0, "y"], [35913, 0, "."], [35914, 0, " "], [35914, 1], [35914, 0, "\n"], [35915, 0, "\n"], [35916, 0, "\\"], [35916, 1], [35916, 0, "T"], [35917, 0, "h"], [35918, 0, "e"], [35919, 0, " "], [35920, 0, "\\"], [35921, 0, "t"], [35922, 0, "e"], [35923, 0, "x"], [35924, 0, "t"], [35925, 0, "s"], [35926, 0, "c"], [35927, 0, "{"], [35928, 0, "D"], [35929, 0, "e"], [35930, 0, "s"], [35931, 0, "c"], [35932, 0, "e"], [35933, 0, "n"], [35934, 0, "d"], [35935, 0, "}"], [35936, 0, " "], [35937, 0, "r"], [35938, 0, "u"], [35939, 0, "l"], [35940, 0, "e"], [35941, 0, " "], [35942, 0, "a"], [35943, 0, "l"], [35944, 0, "s"], [35945, 0, "o"], [35946, 0, " "], [35947, 0, "i"], [35948, 0, "n"], [35949, 0, "v"], [35950, 0, "o"], [35951, 0, "k"], [35952, 0, "e"], [35953, 0, "s"], [35954, 0, " "], [35955, 0, "\\"], [35956, 0, "t"], [35957, 0, "e"], [35958, 0, "x"], [35959, 0, "t"], [35960, 0, "s"], [35961, 0, "c"], [35962, 0, "{"], [35963, 0, "A"], [35964, 0, "d"], [35965, 0, "d"], [35966, 0, "_"], [35966, 1], [35966, 0, "-"], [35967, 0, "I"], [35968, 0, "D"], [35969, 0, "}"], [35970, 0, " "], [35971, 0, "a"], [35972, 0, "t"], [35973, 0, " "], [35974, 0, "e"], [35975, 0, "a"], [35976, 0, "c"], [35977, 0, "h"], [35978, 0, " "], [35979, 0, "t"], [35980, 0, "r"], [35981, 0, "e"], [35982, 0, "e"], [35983, 0, " "], [35984, 0, "n"], [35985, 0, "o"], [35986, 0, "d"], [35987, 0, "e"], [35988, 0, " "], [35989, 0, "a"], [35990, 0, "l"], [35991, 0, "o"], [35992, 0, "n"], [35993, 0, "g"], [35994, 0, " "], [35995, 0, "t"], [35996, 0, "h"], [35997, 0, "e"], [35998, 0, " "], [35999, 0, "p"], [36000, 0, "a"], [36001, 0, "t"], [36002, 0, "h"], [36003, 0, " "], [36004, 0, "d"], [36005, 0, "e"], [36006, 0, "s"], [36007, 0, "c"], [36008, 0, "r"], [36009, 0, "i"], [36010, 0, "b"], [36011, 0, "e"], [36012, 0, "d"], [36013, 0, " "], [36014, 0, "b"], [36015, 0, "y"], [36016, 0, " "], [36017, 0, "t"], [36018, 0, "h"], [36019, 0, "e"], [36020, 0, " "], [36021, 0, "c"], [36022, 0, "u"], [36023, 0, "r"], [36024, 0, "s"], [36025, 0, "o"], [36026, 0, "r"], [36027, 0, ","], [36028, 0, " "], [36029, 0, "a"], [36030, 0, "d"], [36031, 0, "d"], [36032, 0, "i"], [36033, 0, "n"], [36034, 0, "g"], [36035, 0, " "], [36036, 0, "t"], [36037, 0, "h"], [36038, 0, "e"], [36039, 0, " "], [36040, 0, "o"], [36041, 0, "p"], [36042, 0, "e"], [36043, 0, "r"], [36044, 0, "a"], [36045, 0, "t"], [36046, 0, "i"], [36047, 0, "o"], [36048, 0, "n"], [36049, 0, " "], [36050, 0, "I"], [36051, 0, "D"], [36052, 0, " "], [36053, 0, "t"], [36054, 0, "o"], [36055, 0, " "], [36056, 0, "t"], [36057, 0, "h"], [36058, 0, "e"], [36059, 0, " "], [36060, 0, "p"], [36061, 0, "r"], [36062, 0, "e"], [36063, 0, "s"], [36064, 0, "e"], [36065, 0, "n"], [36066, 0, "c"], [36067, 0, "e"], [36068, 0, " "], [36069, 0, "s"], [36070, 0, "e"], [36071, 0, "t"], [36072, 0, " "], [36073, 0, "$"], [36074, 0, "\\"], [36075, 0, "m"], [36076, 0, "a"], [36077, 0, "t"], [36078, 0, "h"], [36079, 0, "s"], [36080, 0, "f"], [36081, 0, "{"], [36082, 0, "p"], [36083, 0, "r"], [36084, 0, "e"], [36085, 0, "s"], [36086, 0, "}"], [36087, 0, "("], [36088, 0, "k"], [36089, 0, ")"], [36090, 0, "$"], [36091, 0, " "], [36092, 0, "t"], [36093, 0, "o"], [36094, 0, " "], [36095, 0, "i"], [36096, 0, "n"], [36097, 0, "d"], [36098, 0, "i"], [36099, 0, "c"], [36100, 0, "a"], [36101, 0, "t"], [36102, 0, "e"], [36103, 0, " "], [36104, 0, "t"], [36105, 0, "h"], [36106, 0, "a"], [36107, 0, "t"], [36108, 0, " "], [36109, 0, "t"], [36110, 0, "h"], [36111, 0, "e"], [36112, 0, " "], [36113, 0, "s"], [36114, 0, "u"], [36115, 0, "b"], [36116, 0, "t"], [36117, 0, "r"], [36118, 0, "e"], [36119, 0, "e"], [36120, 0, " "], [36121, 0, "i"], [36122, 0, "n"], [36123, 0, "c"], [36124, 0, "l"], [36125, 0, "u"], [36126, 0, "d"], [36127, 0, "e"], [36128, 0, "s"], [36129, 0, " "], [36130, 0, "m"], [36131, 0, "u"], [36132, 0, "t"], [36132, 1], [36131, 1], [36130, 1], [36130, 0, "a"], [36131, 0, " "], [36132, 0, "m"], [36133, 0, "u"], [36134, 0, "t"], [36135, 0, "a"], [36136, 0, "t"], [36137, 0, "i"], [36138, 0, "o"], [36139, 0, "n"], [36140, 0, " "], [36141, 0, "m"], [36142, 0, "a"], [36143, 0, "d"], [36144, 0, "e"], [36145, 0, " "], [36146, 0, "b"], [36147, 0, "y"], [36148, 0, " "], [36149, 0, "t"], [36150, 0, "h"], [36151, 0, "i"], [36152, 0, "s"], [36153, 0, " "], [36154, 0, "o"], [36155, 0, "p"], [36156, 0, "e"], [36157, 0, "r"], [36158, 0, "a"], [36159, 0, "t"], [36160, 0, "i"], [36161, 0, "o"], [36162, 0, "n"], [36163, 0, "."], [36164, 0, "\n"], [36165, 0, "\n"], [36166, 0, "T"], [36167, 0, "h"], [36168, 0, "e"], [36169, 0, " "], [36170, 0, "r"], [36171, 0, "e"], [36172, 0, "m"], [36173, 0, "a"], [36174, 0, "i"], [36175, 0, "n"], [36176, 0, "i"], [36177, 0, "n"], [36178, 0, "g"], [36179, 0, " "], [36180, 0, "r"], [36181, 0, "u"], [36182, 0, "l"], [36183, 0, "e"], [36184, 0, "s"], [36185, 0, " "], [36186, 0, "i"], [36187, 0, "n"], [36188, 0, " "], [36189, 0, "F"], [36190, 0, "i"], [36191, 0, "g"], [36192, 0, "u"], [36193, 0, "r"], [36194, 0, "e"], [36195, 0, "~"], [36196, 0, "\\"], [36197, 0, "r"], [36198, 0, "e"], [36199, 0, "f"], [36200, 0, "{"], [36201, 0, "f"], [36202, 0, "i"], [36203, 0, "g"], [36204, 0, ":"], [36205, 0, "o"], [36206, 0, "p"], [36207, 0, "e"], [36208, 0, "r"], [36209, 0, "a"], [36210, 0, "t"], [36211, 0, "i"], [36212, 0, "o"], [36213, 0, "n"], [36214, 0, "-"], [36215, 0, "r"], [36216, 0, "u"], [36217, 0, "l"], [36218, 0, "e"], [36219, 0, "s"], [36220, 0, "}"], [36221, 0, " "], [36222, 0, "a"], [36223, 0, "p"], [36224, 0, "p"], [36225, 0, "l"], [36226, 0, "y"], [36227, 0, " "], [36228, 0, "w"], [36229, 0, "h"], [36230, 0, "e"], [36231, 0, "n"], [36232, 0, " "], [36233, 0, "t"], [36234, 0, "h"], [36235, 0, "e"], [36236, 0, " "], [36237, 0, "v"], [36238, 0, "e"], [36239, 0, "c"], [36240, 0, "t"], [36241, 0, "o"], [36242, 0, "r"], [36243, 0, " "], [36244, 0, "o"], [36245, 0, "f"], [36246, 0, " "], [36247, 0, "k"], [36248, 0, "e"], [36249, 0, "y"], [36250, 0, "s"], [36251, 0, " "], [36252, 0, "i"], [36253, 0, "n"], [36254, 0, " "], [36255, 0, "t"], [36256, 0, "h"], [36257, 0, "e"], [36258, 0, " "], [36259, 0, "c"], [36260, 0, "u"], [36261, 0, "r"], [36262, 0, "s"], [36263, 0, "o"], [36264, 0, "r"], [36265, 0, " "], [36266, 0, "i"], [36267, 0, "s"], [36268, 0, " "], [36269, 0, "e"], [36270, 0, "m"], [36271, 0, "p"], [36272, 0, "t"], [36273, 0, "y"], [36274, 0, ","], [36275, 0, " "], [36276, 0, "i"], [36277, 0, "."], [36278, 0, "e"], [36279, 0, "."], [36280, 0, " "], [36281, 0, "w"], [36282, 0, "h"], [36283, 0, "e"], [36284, 0, "n"], [36285, 0, " "], [36286, 0, "d"], [36287, 0, "e"], [36288, 0, "s"], [36289, 0, "c"], [36290, 0, "e"], [36291, 0, "n"], [36292, 0, "d"], [36293, 0, "e"], [36294, 0, "d"], [36295, 0, " "], [36296, 0, "t"], [36297, 0, "o"], [36298, 0, " "], [36299, 0, "t"], [36300, 0, "h"], [36301, 0, "e"], [36302, 0, " "], [36303, 0, "c"], [36304, 0, "o"], [36305, 0, "n"], [36306, 0, "t"], [36307, 0, "e"], [36308, 0, "x"], [36309, 0, "t"], [36310, 0, " "], [36311, 0, "o"], [36312, 0, "f"], [36313, 0, " "], [36314, 0, "t"], [36315, 0, "h"], [36316, 0, "e"], [36317, 0, " "], [36318, 0, "t"], [36319, 0, "r"], [36320, 0, "e"], [36321, 0, "e"], [36322, 0, " "], [36323, 0, "n"], [36324, 0, "o"], [36325, 0, "d"], [36326, 0, "e"], [36327, 0, " "], [36328, 0, "t"], [36329, 0, "o"], [36330, 0, " "], [36331, 0, "w"], [36332, 0, "h"], [36333, 0, "i"], [36334, 0, "c"], [36335, 0, "h"], [36336, 0, " "], [36337, 0, "t"], [36338, 0, "h"], [36339, 0, "e"], [36340, 0, " "], [36341, 0, "m"], [36342, 0, "u"], [36343, 0, "t"], [36344, 0, "a"], [36345, 0, "t"], [36346, 0, "i"], [36347, 0, "o"], [36348, 0, "n"], [36349, 0, " "], [36350, 0, "a"], [36351, 0, "p"], [36352, 0, "p"], [36353, 0, "l"], [36354, 0, "i"], [36355, 0, "e"], [36356, 0, "s"], [36357, 0, "."], [36358, 0, " "], [36359, 0, "\\"], [36359, 1], [36359, 0, "T"], [36360, 0, "h"], [36361, 0, "e"], [36362, 0, " "], [36363, 0, "\\"], [36364, 0, "t"], [36365, 0, "e"], [36366, 0, "x"], [36367, 0, "t"], [36368, 0, "s"], [36369, 0, "c"], [36370, 0, "{"], [36371, 0, "A"], [36372, 0, "s"], [36373, 0, "s"], [36374, 0, "i"], [36375, 0, "g"], [36376, 0, "n"], [36377, 0, "}"], [36378, 0, ","], [36379, 0, " "], [36380, 0, "\\"], [36381, 0, "t"], [36382, 0, "e"], [36383, 0, "x"], [36384, 0, "t"], [36385, 0, "s"], [36386, 0, "c"], [36387, 0, "{"], [36388, 0, "E"], [36389, 0, "m"], [36390, 0, "p"], [36391, 0, "t"], [36392, 0, "y"], [36393, 0, "-"], [36394, 0, "M"], [36395, 0, "a"], [36396, 0, "p"], [36397, 0, "}"], [36398, 0, " "], [36399, 0, "a"], [36400, 0, "n"], [36401, 0, "d"], [36402, 0, " "], [36403, 0, "\\"], [36404, 0, "t"], [36405, 0, "e"], [36406, 0, "x"], [36407, 0, "t"], [36408, 0, "s"], [36409, 0, "c"], [36410, 0, "{"], [36411, 0, "E"], [36412, 0, "m"], [36413, 0, "p"], [36414, 0, "t"], [36415, 0, "y"], [36416, 0, "-"], [36417, 0, "L"], [36418, 0, "i"], [36419, 0, "s"], [36420, 0, "t"], [36421, 0, "}"], [36422, 0, " "], [36423, 0, "r"], [36424, 0, "u"], [36425, 0, "l"], [36426, 0, "e"], [36427, 0, "s"], [36428, 0, " "], [36429, 0, "h"], [36430, 0, "a"], [36431, 0, "n"], [36432, 0, "d"], [36433, 0, "l"], [36434, 0, "e"], [36435, 0, " "], [36436, 0, "e"], [36437, 0, "v"], [36438, 0, "a"], [36439, 0, "l"], [36440, 0, "u"], [36441, 0, "a"], [36442, 0, "t"], [36443, 0, "i"], [36444, 0, "o"], [36445, 0, "n"], [36446, 0, " "], [36447, 0, "o"], [36448, 0, "f"], [36449, 0, " "], [36450, 0, "t"], [36451, 0, "h"], [36452, 0, "e"], [36453, 0, " "], [36454, 0, "\\"], [36454, 1], [36454, 0, "$"], [36455, 0, "\\"], [36456, 0, "t"], [36457, 0, "e"], [36458, 0, "x"], [36458, 1], [36457, 1], [36456, 1], [36456, 0, "m"], [36457, 0, "a"], [36458, 0, "t"], [36459, 0, "h"], [36460, 0, "s"], [36461, 0, "f"], [36462, 0, "{"], [36463, 0, "a"], [36464, 0, "s"], [36465, 0, "s"], [36466, 0, "i"], [36467, 0, "g"], [36468, 0, "n"], [36469, 0, "}"], [36470, 0, "$"], [36471, 0, " "], [36378, 1], [36378, 0, " "], [36379, 0, "r"], [36380, 0, "u"], [36381, 0, "l"], [36382, 0, "e"], [36383, 0, " "], [36384, 0, "h"], [36385, 0, "a"], [36386, 0, "n"], [36387, 0, "d"], [36388, 0, "l"], [36389, 0, "e"], [36390, 0, "s"], [36391, 0, " "], [36392, 0, "a"], [36393, 0, "s"], [36394, 0, "s"], [36395, 0, "i"], [36396, 0, "g"], [36397, 0, "n"], [36398, 0, "m"], [36399, 0, "e"], [36400, 0, "n"], [36401, 0, "t"], [36402, 0, " "], [36403, 0, "o"], [36404, 0, "f"], [36405, 0, " "], [36406, 0, "a"], [36407, 0, " "], [36408, 0, "r"], [36409, 0, "e"], [36410, 0, "g"], [36411, 0, "i"], [36412, 0, "s"], [36413, 0, "t"], [36414, 0, "e"], [36415, 0, "r"], [36416, 0, ","], [36436, 0, " "], [36437, 0, "h"], [36438, 0, "a"], [36439, 0, "n"], [36440, 0, "d"], [36441, 0, "l"], [36442, 0, "e"], [36443, 0, "s"], [36444, 0, " "], [36445, 0, "a"], [36446, 0, "s"], [36447, 0, "s"], [36448, 0, "i"], [36449, 0, "g"], [36450, 0, "n"], [36451, 0, "m"], [36452, 0, "e"], [36453, 0, "n"], [36454, 0, "t"], [36455, 0, " "], [36456, 0, "w"], [36457, 0, "h"], [36458, 0, "e"], [36459, 0, "r"], [36460, 0, "e"], [36461, 0, " "], [36462, 0, "t"], [36463, 0, "h"], [36464, 0, "e"], [36465, 0, " "], [36466, 0, "v"], [36467, 0, "a"], [36468, 0, "l"], [36469, 0, "u"], [36470, 0, "e"], [36471, 0, " "], [36472, 0, "i"], [36473, 0, "s"], [36474, 0, " "], [36475, 0, "t"], [36476, 0, "h"], [36477, 0, "e"], [36478, 0, " "], [36479, 0, "e"], [36480, 0, "m"], [36481, 0, "p"], [36482, 0, "t"], [36483, 0, "y"], [36484, 0, " "], [36485, 0, "m"], [36486, 0, "a"], [36487, 0, "p"], [36488, 0, " "], [36489, 0, "l"], [36490, 0, "i"], [36491, 0, "t"], [36492, 0, "e"], [36493, 0, "r"], [36494, 0, "a"], [36495, 0, "l"], [36496, 0, " "], [36497, 0, "\\"], [36498, 0, "v"], [36499, 0, "e"], [36500, 0, "r"], [36501, 0, "b"], [36502, 0, "|"], [36503, 0, "{"], [36504, 0, "}"], [36505, 0, "|"], [36506, 0, ","], [36536, 1], [36535, 1], [36534, 1], [36533, 1], [36532, 1], [36531, 1], [36538, 0, "s"], [36575, 1], [36574, 1], [36573, 1], [36566, 1], [36565, 1], [36564, 1], [36563, 1], [36562, 1], [36561, 1], [36560, 1], [36559, 1], [36558, 1], [36557, 1], [36556, 1], [36555, 1], [36554, 1], [36553, 1], [36552, 1], [36551, 1], [36550, 1], [36549, 1], [36548, 1], [36547, 1], [36546, 1], [36545, 1], [36544, 1], [36543, 1], [36542, 1], [36541, 1], [36540, 1], [36546, 0, "m"], [36547, 0, "e"], [36548, 0, "n"], [36549, 0, "t"], [36550, 0, " "], [36551, 0, "o"], [36552, 0, "f"], [36553, 0, " "], [36554, 0, "t"], [36555, 0, "h"], [36556, 0, "e"], [36557, 0, " "], [36558, 0, "e"], [36559, 0, "m"], [36560, 0, "p"], [36561, 0, "t"], [36562, 0, "y"], [36563, 0, " "], [36564, 0, "l"], [36565, 0, "i"], [36566, 0, "s"], [36567, 0, "t"], [36568, 0, " "], [36569, 0, "\\"], [36570, 0, "v"], [36571, 0, "e"], [36572, 0, "r"], [36573, 0, "b"], [36574, 0, "|"], [36575, 0, "["], [36576, 0, "]"], [36577, 0, "|"], [36578, 0, "."], [36579, 0, " "], [36580, 0, "T"], [36581, 0, "h"], [36582, 0, "e"], [36583, 0, "s"], [36584, 0, "e"], [36585, 0, " "], [36586, 0, "a"], [36587, 0, "s"], [36588, 0, "s"], [36589, 0, "i"], [36590, 0, "g"], [36591, 0, "n"], [36592, 0, "m"], [36593, 0, "e"], [36594, 0, "n"], [36595, 0, "t"], [36596, 0, " "], [36597, 0, "r"], [36598, 0, "u"], [36599, 0, "l"], [36600, 0, "e"], [36601, 0, "s"], [36602, 0, " "], [36586, 0, "t"], [36587, 0, "h"], [36588, 0, "r"], [36589, 0, "e"], [36590, 0, "e"], [36591, 0, " "], [36592, 1], [36592, 1], [36592, 1], [36592, 1], [36592, 1], [36592, 1], [36592, 1], [36592, 1], [36592, 1], [36592, 1], [36592, 1], [36598, 0, "f"], [36599, 0, "o"], [36600, 0, "r"], [36601, 0, " "], [36602, 0, "\\"], [36603, 0, "t"], [36604, 0, "e"], [36605, 0, "x"], [36606, 0, "t"], [36607, 0, "s"], [36608, 0, "f"], [36609, 0, "{"], [36610, 0, "a"], [36611, 0, "s"], [36612, 0, "s"], [36613, 0, "i"], [36614, 0, "g"], [36615, 0, "n"], [36616, 0, "}"], [36617, 0, " "], [36618, 0, "h"], [36619, 0, "a"], [36620, 0, "v"], [36621, 0, "e"], [36622, 0, " "], [36623, 0, "a"], [36624, 0, " "], [36625, 0, "s"], [36626, 0, "i"], [36627, 0, "m"], [36628, 0, "i"], [36629, 0, "l"], [36630, 0, "a"], [36631, 0, "r"], [36632, 0, " "], [36633, 0, "s"], [36634, 0, "t"], [36635, 0, "r"], [36636, 0, "u"], [36637, 0, "c"], [36638, 0, "t"], [36639, 0, "u"], [36640, 0, "r"], [36641, 0, "e"], [36642, 0, ":"], [36643, 0, " "], [36644, 0, "f"], [36645, 0, "i"], [36646, 0, "r"], [36647, 0, "s"], [36648, 0, "t"], [36649, 0, " "], [36650, 0, "c"], [36651, 0, "l"], [36652, 0, "e"], [36653, 0, "a"], [36654, 0, "r"], [36655, 0, "i"], [36656, 0, "n"], [36657, 0, "g"], [36658, 0, " "], [36659, 0, "t"], [36660, 0, "h"], [36661, 0, "e"], [36662, 0, " "], [36663, 0, "p"], [36664, 0, "r"], [36665, 0, "i"], [36666, 0, "o"], [36667, 0, "r"], [36668, 0, " "], [36669, 0, "v"], [36670, 0, "a"], [36671, 0, "l"], [36672, 0, "u"], [36673, 0, "e"], [36674, 0, " "], [36675, 0, "a"], [36676, 0, "t"], [36677, 0, " "], [36678, 0, "t"], [36679, 0, "h"], [36680, 0, "e"], [36681, 0, " "], [36682, 0, "c"], [36683, 0, "u"], [36684, 0, "r"], [36685, 0, "s"], [36686, 0, "o"], [36687, 0, "r"], [36688, 0, " "], [36689, 0, "("], [36690, 0, "a"], [36691, 0, "s"], [36692, 0, " "], [36693, 0, "d"], [36694, 0, "i"], [36695, 0, "s"], [36696, 0, "c"], [36697, 0, "u"], [36698, 0, "s"], [36699, 0, "s"], [36700, 0, "e"], [36701, 0, "d"], [36702, 0, " "], [36703, 0, "i"], [36704, 0, "n"], [36705, 0, " "], [36706, 0, "t"], [36707, 0, "h"], [36708, 0, "e"], [36709, 0, " "], [36710, 0, "n"], [36711, 0, "e"], [36712, 0, "x"], [36713, 0, "t"], [36714, 0, " "], [36715, 0, "s"], [36716, 0, "e"], [36717, 0, "c"], [36718, 0, "t"], [36719, 0, "i"], [36720, 0, "o"], [36721, 0, "n"], [36722, 0, ")"], [36723, 0, ","], [36724, 0, " "], [36725, 0, "t"], [36726, 0, "h"], [36727, 0, "e"], [36728, 0, "n"], [36729, 0, " "], [36730, 0, "a"], [36731, 0, "d"], [36732, 0, "d"], [36733, 0, "i"], [36734, 0, "n"], [36735, 0, "g"], [36736, 0, " "], [36737, 0, "t"], [36738, 0, "h"], [36739, 0, "e"], [36740, 0, " "], [36741, 0, "o"], [36742, 0, "p"], [36743, 0, "e"], [36744, 0, "r"], [36745, 0, "a"], [36746, 0, "t"], [36747, 0, "i"], [36748, 0, "o"], [36749, 0, "n"], [36750, 0, " "], [36751, 0, "I"], [36752, 0, "D"], [36753, 0, " "], [36754, 0, "t"], [36755, 0, "o"], [36756, 0, " "], [36757, 0, "t"], [36758, 0, "h"], [36759, 0, "e"], [36760, 0, " "], [36761, 0, "p"], [36762, 0, "r"], [36763, 0, "e"], [36764, 0, "s"], [36765, 0, "e"], [36766, 0, "n"], [36767, 0, "c"], [36768, 0, "e"], [36769, 0, " "], [36770, 0, "s"], [36771, 0, "e"], [36772, 0, "t"], [36773, 0, ","], [36774, 0, " "], [36775, 0, "a"], [36776, 0, "n"], [36777, 0, "d"], [36778, 0, " "], [36779, 0, "f"], [36780, 0, "i"], [36781, 0, "n"], [36782, 0, "a"], [36783, 0, "l"], [36784, 0, "l"], [36785, 0, "y"], [36786, 0, " "], [36787, 0, "i"], [36788, 0, "n"], [36789, 0, "c"], [36790, 0, "o"], [36791, 0, "r"], [36792, 0, "p"], [36793, 0, "o"], [36794, 0, "r"], [36795, 0, "a"], [36796, 0, "t"], [36797, 0, "i"], [36798, 0, "n"], [36799, 0, "g"], [36800, 0, " "], [36801, 0, "t"], [36802, 0, "h"], [36803, 0, "e"], [36804, 0, " "], [36805, 0, "n"], [36806, 0, "e"], [36807, 0, "w"], [36808, 0, " "], [36809, 0, "v"], [36810, 0, "a"], [36811, 0, "l"], [36812, 0, "u"], [36813, 0, "e"], [36814, 0, " "], [36815, 0, "i"], [36816, 0, "n"], [36817, 0, "t"], [36818, 0, "o"], [36819, 0, " "], [36820, 0, "t"], [36821, 0, "h"], [36822, 0, "e"], [36823, 0, " "], [36824, 0, "t"], [36825, 0, "r"], [36826, 0, "e"], [36827, 0, "e"], [36828, 0, " "], [36829, 0, "o"], [36830, 0, "f"], [36831, 0, " "], [36832, 0, "l"], [36833, 0, "o"], [36834, 0, "c"], [36835, 0, "a"], [36836, 0, "l"], [36837, 0, " "], [36838, 0, "s"], [36839, 0, "t"], [36840, 0, "a"], [36841, 0, "t"], [36842, 0, "e"], [36843, 0, "."], [36845, 0, "\n"], [36846, 0, "\n"], [36846, 0, "T"], [36847, 0, "h"], [36848, 0, "e"], [36849, 0, " "], [36850, 0, "$"], [36851, 0, "\\"], [36852, 0, "t"], [36853, 0, "e"], [36854, 0, "x"], [36855, 0, "t"], [36856, 0, "s"], [36857, 0, "c"], [36858, 0, "{"], [36859, 0, "I"], [36860, 0, "n"], [36861, 0, "s"], [36862, 0, "e"], [36863, 0, "r"], [36864, 0, "t"], [36865, 0, "}"], [36866, 0, "_"], [36867, 0, "{"], [36868, 0, "1"], [36869, 0, ","], [36870, 0, "2"], [36871, 0, "}"], [36872, 0, "$"], [36873, 0, " "], [36874, 0, "r"], [36875, 0, "u"], [36876, 0, "l"], [36877, 0, "e"], [36878, 0, "s"], [36879, 0, " "], [36880, 0, "h"], [36881, 0, "a"], [36882, 0, "n"], [36883, 0, "d"], [36884, 0, "l"], [36885, 0, "e"], [36886, 0, " "], [36887, 0, "i"], [36888, 0, "n"], [36889, 0, "s"], [36890, 0, "e"], [36891, 0, "r"], [36892, 0, "t"], [36893, 0, "i"], [36894, 0, "o"], [36895, 0, "n"], [36896, 0, " "], [36897, 0, "o"], [36898, 0, "f"], [36899, 0, " "], [36900, 0, "a"], [36901, 0, " "], [36902, 0, "n"], [36903, 0, "e"], [36904, 0, "w"], [36905, 0, " "], [36906, 0, "e"], [36907, 0, "l"], [36908, 0, "e"], [36909, 0, "m"], [36910, 0, "e"], [36911, 0, "n"], [36912, 0, "t"], [36913, 0, " "], [36914, 0, "i"], [36915, 0, "n"], [36916, 0, "t"], [36917, 0, "o"], [36918, 0, " "], [36919, 0, "a"], [36920, 0, "n"], [36921, 0, " "], [36922, 0, "o"], [36923, 0, "r"], [36924, 0, "d"], [36925, 0, "e"], [36926, 0, "r"], [36927, 0, "e"], [36928, 0, "d"], [36929, 0, " "], [36930, 0, "l"], [36931, 0, "i"], [36932, 0, "s"], [36933, 0, "t"], [36934, 0, "."], [36935, 0, " "], [36936, 0, "I"], [36937, 0, "n"], [36938, 0, " "], [36939, 0, "t"], [36940, 0, "h"], [36941, 0, "i"], [36942, 0, "s"], [36943, 0, " "], [36944, 0, "c"], [36945, 0, "a"], [36946, 0, "s"], [36947, 0, "e"], [36948, 0, ","], [36949, 0, " "], [36950, 0, "t"], [36951, 0, "h"], [36952, 0, "e"], [36953, 0, " "], [36954, 0, "c"], [36955, 0, "u"], [36956, 0, "r"], [36957, 0, "s"], [36958, 0, "o"], [36959, 0, "r"], [36960, 0, " "], [36961, 0, "r"], [36962, 0, "e"], [36963, 0, "v"], [36963, 1], [36963, 0, "f"], [36964, 0, "e"], [36965, 0, "r"], [36966, 0, "s"], [36967, 0, " "], [36968, 0, "t"], [36969, 0, "o"], [36970, 0, " "], [36971, 0, "t"], [36972, 0, "h"], [36973, 0, "e"], [36974, 0, " "], [36975, 0, "l"], [36976, 0, "i"], [36977, 0, "s"], [36978, 0, "t"], [36979, 0, " "], [36980, 0, "e"], [36981, 0, "l"], [36982, 0, "e"], [36983, 0, "m"], [36984, 0, "e"], [36985, 0, "n"], [36986, 0, "t"], [36987, 0, " "], [36988, 0, "$"], [36989, 0, "\\"], [36990, 0, "m"], [36991, 0, "a"], [36992, 0, "t"], [36993, 0, "h"], [36994, 0, "i"], [36995, 0, "t"], [36996, 0, "{"], [36997, 0, "p"], [36998, 0, "r"], [36999, 0, "e"], [37000, 0, "v"], [37001, 0, "}"], [37002, 0, "$"], [37003, 0, ","], [37004, 0, " "], [37005, 0, "a"], [37006, 0, "n"], [37007, 0, "d"], [37008, 0, " "], [37009, 0, "t"], [37010, 0, "h"], [37011, 0, "e"], [37012, 0, " "], [37013, 0, "n"], [37014, 0, "e"], [37015, 0, "w"], [37016, 0, " "], [37017, 0, "e"], [37018, 0, "l"], [37019, 0, "e"], [37020, 0, "m"], [37021, 0, "e"], [37022, 0, "n"], [37023, 0, "t"], [37024, 0, " "], [37025, 0, "i"], [37026, 0, "s"], [37027, 0, " "], [37028, 0, "i"], [37029, 0, "n"], [37030, 0, "s"], [37031, 0, "e"], [37032, 0, "r"], [37033, 0, "t"], [37034, 0, "e"], [37035, 0, "d"], [37036, 0, " "], [37037, 0, "a"], [37038, 0, "f"], [37039, 0, "t"], [37040, 0, "e"], [37041, 0, "r"], [37042, 0, " "], [37043, 0, "t"], [37044, 0, "h"], [37045, 0, "a"], [37046, 0, "t"], [37047, 0, " "], [37048, 0, "p"], [37049, 0, "o"], [37050, 0, "s"], [37051, 0, "i"], [37052, 0, "t"], [37053, 0, "i"], [37054, 0, "o"], [37055, 0, "n"], [37056, 0, " "], [37057, 0, "i"], [37058, 0, "n"], [37059, 0, " "], [37060, 0, "t"], [37061, 0, "h"], [37062, 0, "e"], [37063, 0, " "], [37064, 0, "l"], [37065, 0, "i"], [37066, 0, "s"], [37067, 0, "t"], [37068, 0, "."], [37069, 0, " "], [37070, 0, "T"], [37071, 0, "h"], [37072, 0, "e"], [37073, 0, " "], [37073, 1], [37072, 1], [37071, 1], [37070, 1], [37070, 0, "$"], [37071, 0, "\\"], [37072, 0, "t"], [37073, 0, "e"], [37074, 0, "x"], [37075, 0, "t"], [37076, 0, "s"], [37077, 0, "c"], [37078, 0, "{"], [37079, 0, "I"], [37080, 0, "n"], [37081, 0, "s"], [37082, 0, "e"], [37083, 0, "r"], [37084, 0, "t"], [37085, 0, "}"], [37086, 0, "_"], [37087, 0, "1"], [37088, 0, "$"], [37089, 0, " "], [37090, 0, "p"], [37091, 0, "e"], [37092, 0, "r"], [37093, 0, "f"], [37094, 0, "o"], [37095, 0, "r"], [37096, 0, "m"], [37097, 0, "s"], [37098, 0, " "], [37099, 0, "t"], [37100, 0, "h"], [37101, 0, "e"], [37102, 0, " "], [37103, 0, "i"], [37104, 0, "n"], [37105, 0, "s"], [37106, 0, "e"], [37107, 0, "r"], [37108, 0, "t"], [37109, 0, "i"], [37110, 0, "o"], [37111, 0, "n"], [37112, 0, " "], [37113, 0, "b"], [37114, 0, "y"], [37115, 0, " "], [37116, 0, "m"], [37117, 0, "a"], [37118, 0, "n"], [37119, 0, "i"], [37120, 0, "p"], [37121, 0, "u"], [37122, 0, "l"], [37123, 0, "a"], [37124, 0, "t"], [37125, 0, "i"], [37126, 0, "n"], [37127, 0, "g"], [37128, 0, " "], [37129, 0, "t"], [37130, 0, "h"], [37131, 0, "e"], [37132, 0, " "], [37133, 0, "l"], [37134, 0, "i"], [37135, 0, "n"], [37136, 0, "k"], [37137, 0, "e"], [37138, 0, "d"], [37139, 0, " "], [37140, 0, "l"], [37141, 0, "i"], [37142, 0, "s"], [37143, 0, "t"], [37144, 0, " "], [37145, 0, "s"], [37146, 0, "t"], [37147, 0, "r"], [37148, 0, "u"], [37149, 0, "c"], [37150, 0, "t"], [37151, 0, "u"], [37152, 0, "r"], [37153, 0, "e"], [37154, 0, ","], [37155, 0, " "], [37156, 0, "a"], [37157, 0, "n"], [37157, 1], [37156, 1], [37155, 1], [37154, 1], [37154, 0, "."], [37155, 0, " "], [37156, 0, "$"], [37157, 0, "\\"], [37158, 0, "t"], [37159, 0, "e"], [37160, 0, "x"], [37161, 0, "t"], [37162, 0, "s"], [37163, 0, "c"], [37164, 0, "{"], [37165, 0, "I"], [37166, 0, "n"], [37167, 0, "s"], [37168, 0, "e"], [37169, 0, "r"], [37170, 0, "t"], [37171, 0, "}"], [37172, 0, "_"], [37173, 0, "2"], [37174, 0, "$"], [37175, 0, " "], [37176, 0, "h"], [37177, 0, "a"], [37178, 0, "n"], [37179, 0, "d"], [37180, 0, "l"], [37181, 0, "e"], [37182, 0, "s"], [37183, 0, " "], [37184, 0, "t"], [37185, 0, "h"], [37186, 0, "e"], [37187, 0, " "], [37188, 0, "c"], [37189, 0, "a"], [37190, 0, "s"], [37191, 0, "e"], [37192, 0, " "], [37193, 0, "o"], [37194, 0, "f"], [37195, 0, " "], [37196, 0, "m"], [37197, 0, "u"], [37198, 0, "l"], [37199, 0, "t"], [37200, 0, "i"], [37201, 0, "p"], [37202, 0, "l"], [37203, 0, "e"], [37204, 0, " "], [37205, 0, "p"], [37206, 0, "e"], [37207, 0, "e"], [37208, 0, "r"], [37209, 0, "s"], [37210, 0, " "], [37211, 0, "c"], [37212, 0, "o"], [37213, 0, "n"], [37214, 0, "c"], [37215, 0, "u"], [37216, 0, "r"], [37217, 0, "r"], [37218, 0, "e"], [37219, 0, "n"], [37220, 0, "t"], [37221, 0, "l"], [37222, 0, "y"], [37223, 0, " "], [37224, 0, "i"], [37225, 0, "n"], [37226, 0, "s"], [37227, 0, "e"], [37228, 0, "r"], [37229, 0, "t"], [37230, 0, "i"], [37231, 0, "n"], [37232, 0, "g"], [37233, 0, " "], [37234, 0, "l"], [37235, 0, "i"], [37236, 0, "s"], [37237, 0, "t"], [37238, 0, " "], [37239, 0, "e"], [37240, 0, "l"], [37241, 0, "e"], [37242, 0, "m"], [37243, 0, "e"], [37244, 0, "n"], [37245, 0, "t"], [37246, 0, "s"], [37247, 0, " "], [37248, 0, "a"], [37249, 0, "t"], [37250, 0, " "], [37251, 0, "t"], [37252, 0, "h"], [37253, 0, "e"], [37254, 0, " "], [37255, 0, "s"], [37256, 0, "a"], [37257, 0, "m"], [37258, 0, "e"], [37259, 0, " "], [37260, 0, "p"], [37261, 0, "o"], [37262, 0, "s"], [37263, 0, "i"], [37264, 0, "t"], [37265, 0, "i"], [37266, 0, "o"], [37267, 0, "n"], [37268, 0, ","], [37269, 0, " "], [37270, 0, "a"], [37271, 0, "n"], [37272, 0, "d"], [37273, 0, " "], [37274, 0, "e"], [37275, 0, "n"], [37276, 0, "s"], [37277, 0, "u"], [37278, 0, "r"], [37279, 0, "e"], [37280, 0, "s"], [37281, 0, " "], [37282, 0, "a"], [37283, 0, " "], [37284, 0, "c"], [37285, 0, "o"], [37286, 0, "n"], [37287, 0, "s"], [37288, 0, "i"], [37289, 0, "s"], [37290, 0, "t"], [37291, 0, "e"], [37292, 0, "n"], [37293, 0, "t"], [37294, 0, " "], [37295, 0, "o"], [37296, 0, "r"], [37297, 0, "d"], [37298, 0, "e"], [37299, 0, "r"], [37300, 0, " "], [37301, 0, "b"], [37302, 0, "y"], [37303, 0, " "], [37304, 0, "o"], [37304, 1], [37304, 0, "l"], [37305, 0, "o"], [37306, 0, "c"], [37307, 0, "a"], [37308, 0, "t"], [37309, 0, "i"], [37310, 0, "n"], [37311, 0, "g"], [37312, 0, " "], [37312, 1], [37311, 1], [37310, 1], [37309, 1], [37308, 1], [37307, 1], [37306, 1], [37305, 1], [37304, 1], [37303, 1], [37302, 1], [37301, 1], [37300, 1], [37299, 1], [37298, 1], [37297, 1], [37296, 1], [37295, 1], [37294, 1], [37293, 1], [37292, 1], [37291, 1], [37290, 1], [37289, 1], [37288, 1], [37287, 1], [37286, 1], [37285, 1], [37284, 1], [37283, 1], [37282, 1], [37281, 1], [37280, 1], [37279, 1], [37278, 1], [37277, 1], [37276, 1], [37275, 1], [37274, 1], [37274, 0, "u"], [37275, 0, "s"], [37276, 0, "e"], [37277, 0, "s"], [37278, 0, " "], [37279, 0, "t"], [37280, 0, "h"], [37281, 0, "e"], [37282, 0, " "], [37283, 0, "o"], [37284, 0, "r"], [37285, 0, "d"], [37286, 0, "e"], [37287, 0, "r"], [37288, 0, "i"], [37289, 0, "n"], [37290, 0, "g"], [37291, 0, " "], [37292, 0, "r"], [37293, 0, "e"], [37294, 0, "l"], [37295, 0, "a"], [37296, 0, "t"], [37297, 0, "i"], [37298, 0, "o"], [37299, 0, "n"], [37300, 0, " "], [37301, 0, "$"], [37302, 0, "<"], [37303, 0, "$"], [37304, 0, " "], [37305, 0, "o"], [37306, 0, "n"], [37307, 0, " "], [37308, 0, "L"], [37309, 0, "a"], [37310, 0, "m"], [37311, 0, "p"], [37312, 0, "o"], [37313, 0, "r"], [37314, 0, "t"], [37315, 0, " "], [37316, 0, "t"], [37317, 0, "i"], [37318, 0, "m"], [37319, 0, "e"], [37320, 0, "s"], [37321, 0, "t"], [37322, 0, "a"], [37323, 0, "m"], [37324, 0, "p"], [37325, 0, "s"], [37326, 0, " "], [37327, 0, "t"], [37328, 0, "o"], [37329, 0, " "], [37330, 0, "d"], [37331, 0, "e"], [37332, 0, "t"], [37333, 0, "e"], [37334, 0, "r"], [37335, 0, "m"], [37336, 0, "i"], [37337, 0, "n"], [37338, 0, "e"], [37339, 0, " "], [37340, 0, "t"], [37341, 0, "h"], [37342, 0, "e"], [37343, 0, " "], [37344, 0, "i"], [37345, 0, "n"], [37346, 0, "s"], [37347, 0, "e"], [37348, 0, "r"], [37349, 0, "t"], [37350, 0, "i"], [37351, 0, "o"], [37352, 0, "n"], [37353, 0, " "], [37354, 0, "p"], [37355, 0, "o"], [37356, 0, "i"], [37357, 0, "n"], [37358, 0, "t"], [37359, 0, "."], [37359, 0, " "], [37359, 1], [37330, 0, "c"], [37331, 0, "o"], [37332, 0, "n"], [37333, 0, "s"], [37334, 0, "i"], [37335, 0, "s"], [37336, 0, "t"], [37337, 0, "e"], [37338, 0, "n"], [37339, 0, "t"], [37340, 0, "l"], [37341, 0, "y"], [37342, 0, " "], [37373, 0, " "], [37374, 0, "W"], [37375, 0, "e"], [37376, 0, " "], [37377, 0, "s"], [37378, 0, "h"], [37379, 0, "o"], [37380, 0, "w"], [37381, 0, " "], [37382, 0, "l"], [37383, 0, "a"], [37384, 0, "t"], [37385, 0, "e"], [37386, 0, "r"], [37387, 0, " "], [37388, 0, "t"], [37389, 0, "h"], [37390, 0, "a"], [37391, 0, "t"], [37392, 0, " "], [37393, 0, "t"], [37394, 0, "h"], [37395, 0, "e"], [37396, 0, "s"], [37397, 0, "e"], [37398, 0, " "], [37399, 0, "r"], [37400, 0, "u"], [37401, 0, "l"], [37402, 0, "e"], [37403, 0, "s"], [37404, 0, " "], [37405, 0, "e"], [37406, 0, "n"], [37407, 0, "s"], [37408, 0, "u"], [37409, 0, "r"], [37410, 0, "e"], [37411, 0, " "], [37412, 0, "a"], [37413, 0, "l"], [37414, 0, "l"], [37415, 0, " "], [37416, 0, "p"], [37417, 0, "e"], [37418, 0, "e"], [37419, 0, "r"], [37420, 0, "s"], [37421, 0, " "], [37422, 0, "c"], [37423, 0, "o"], [37424, 0, "n"], [37425, 0, "v"], [37426, 0, "e"], [37427, 0, "r"], [37428, 0, "g"], [37429, 0, "e"], [37430, 0, " "], [37431, 0, "t"], [37432, 0, "o"], [37433, 0, "w"], [37434, 0, "a"], [37435, 0, "r"], [37436, 0, "d"], [37437, 0, "s"], [37438, 0, " "], [37439, 0, "t"], [37440, 0, "h"], [37441, 0, "e"], [37442, 0, " "], [37443, 0, "s"], [37444, 0, "a"], [37445, 0, "m"], [37446, 0, "e"], [37447, 0, " "], [37448, 0, "s"], [37449, 0, "t"], [37450, 0, "a"], [37451, 0, "t"], [37452, 0, "e"], [37453, 0, "."], [37455, 0, "\n"], [37455, 0, "\n"], [37456, 0, "\\"], [37457, 0, "s"], [37458, 0, "u"], [37459, 0, "b"], [37460, 0, "s"], [37461, 0, "u"], [37462, 0, "b"], [37463, 0, "s"], [37464, 0, "e"], [37465, 0, "c"], [37466, 0, "t"], [37467, 0, "i"], [37468, 0, "o"], [37469, 0, "n"], [37470, 0, "{"], [37471, 0, "C"], [37472, 0, "l"], [37473, 0, "e"], [37474, 0, "a"], [37475, 0, "r"], [37476, 0, "i"], [37477, 0, "n"], [37478, 0, "g"], [37479, 0, " "], [37480, 0, "p"], [37481, 0, "r"], [37482, 0, "i"], [37483, 0, "o"], [37484, 0, "r"], [37485, 0, " "], [37486, 0, "s"], [37487, 0, "t"], [37488, 0, "a"], [37489, 0, "t"], [37490, 0, "e"], [37491, 0, "}"], [42388, 0, "A"], [42389, 0, "s"], [42390, 0, "s"], [42391, 0, "i"], [42392, 0, "g"], [42393, 0, "n"], [42394, 0, "m"], [42395, 0, "e"], [42396, 0, "n"], [42397, 0, "t"], [42398, 0, " "], [42399, 0, "a"], [42400, 0, "n"], [42401, 0, "d"], [42402, 0, " "], [42403, 0, "d"], [42404, 0, "e"], [42405, 0, "l"], [42406, 0, "e"], [42407, 0, "t"], [42408, 0, "i"], [42409, 0, "o"], [42410, 0, "n"], [42411, 0, " "], [42412, 0, "o"], [42413, 0, "p"], [42414, 0, "e"], [42415, 0, "r"], [42416, 0, "a"], [42417, 0, "t"], [42418, 0, "i"], [42419, 0, "o"], [42420, 0, "n"], [42421, 0, "s"], [42422, 0, " "], [42423, 0, "r"], [42424, 0, "e"], [42425, 0, "q"], [42426, 0, "u"], [42427, 0, "i"], [42428, 0, "r"], [42429, 0, "e"], [42430, 0, " "], [42431, 0, "t"], [42432, 0, "h"], [42433, 0, "a"], [42434, 0, "t"], [42435, 0, " "], [42436, 0, "p"], [42437, 0, "r"], [42438, 0, "i"], [42439, 0, "o"], [42440, 0, "r"], [42441, 0, " "], [42442, 0, "s"], [42443, 0, "t"], [42444, 0, "a"], [42445, 0, "t"], [42446, 0, "e"], [42447, 0, " "], [42448, 0, "("], [42449, 0, "t"], [42450, 0, "h"], [42451, 0, "e"], [42452, 0, " "], [42453, 0, "v"], [42454, 0, "a"], [42455, 0, "l"], [42456, 0, "u"], [42457, 0, "e"], [42458, 0, " "], [42459, 0, "b"], [42460, 0, "e"], [42461, 0, "i"], [42462, 0, "n"], [42463, 0, "g"], [42464, 0, " "], [42465, 0, "o"], [42466, 0, "v"], [42467, 0, "e"], [42468, 0, "r"], [42469, 0, "w"], [42470, 0, "r"], [42471, 0, "i"], [42472, 0, "t"], [42473, 0, "t"], [42474, 0, "e"], [42475, 0, "n"], [42476, 0, " "], [42477, 0, "o"], [42478, 0, "r"], [42479, 0, " "], [42480, 0, "d"], [42481, 0, "e"], [42482, 0, "l"], [42483, 0, "e"], [42484, 0, "t"], [42485, 0, "e"], [42486, 0, "d"], [42487, 0, ")"], [42488, 0, " "], [42489, 0, "i"], [42490, 0, "s"], [42491, 0, " "], [42492, 0, "c"], [42493, 0, "l"], [42494, 0, "e"], [42495, 0, "a"], [42496, 0, "r"], [42497, 0, "e"], [42498, 0, "d"], [42499, 0, " "], [42499, 1], [42499, 0, ","], [42500, 0, " "], [42501, 0, "w"], [42502, 0, "h"], [42503, 0, "i"], [42504, 0, "l"], [42505, 0, "e"], [42506, 0, " "], [42507, 0, "a"], [42508, 0, "l"], [42509, 0, "s"], [42510, 0, "o"], [42511, 0, " "], [42512, 0, "e"], [42513, 0, "n"], [42514, 0, "s"], [42515, 0, "u"], [42516, 0, "r"], [42517, 0, "i"], [42518, 0, "n"], [42519, 0, "g"], [42520, 0, " "], [42521, 0, "t"], [42522, 0, "h"], [42523, 0, "a"], [42524, 0, "t"], [42525, 0, " "], [42526, 0, "c"], [42527, 0, "o"], [42528, 0, "n"], [42529, 0, "c"], [42530, 0, "u"], [42531, 0, "r"], [42532, 0, "r"], [42533, 0, "e"], [42534, 0, "m"], [42534, 1], [42534, 0, "n"], [42535, 0, "t"], [42536, 0, " "], [42537, 0, "m"], [42538, 0, "o"], [42539, 0, "d"], [42540, 0, "i"], [42541, 0, "f"], [42542, 0, "i"], [42543, 0, "c"], [42544, 0, "a"], [42545, 0, "t"], [42546, 0, "i"], [42547, 0, "o"], [42548, 0, "n"], [42549, 0, "s"], [42550, 0, " "], [42551, 0, "a"], [42552, 0, "r"], [42553, 0, "e"], [42554, 0, " "], [42555, 0, "n"], [42556, 0, "o"], [42557, 0, "t"], [42558, 0, " "], [42559, 0, "l"], [42560, 0, "o"], [42561, 0, "s"], [42562, 0, "t"], [42563, 0, "."], [42564, 0, " "], [42565, 0, "T"], [42566, 0, "h"], [42567, 0, "e"], [42568, 0, " "], [42569, 0, "r"], [42570, 0, "u"], [42571, 0, "l"], [42572, 0, "e"], [42573, 0, "s"], [42574, 0, " "], [42575, 0, "t"], [42576, 0, "o"], [42577, 0, " "], [42578, 0, "h"], [42579, 0, "a"], [42580, 0, "n"], [42581, 0, "d"], [42582, 0, "l"], [42583, 0, "e"], [42584, 0, " "], [42585, 0, "t"], [42586, 0, "h"], [42587, 0, "i"], [42588, 0, "s"], [42589, 0, " "], [42590, 0, "c"], [42591, 0, "l"], [42592, 0, "e"], [42593, 0, "a"], [42594, 0, "r"], [42595, 0, "i"], [42596, 0, "n"], [42597, 0, "g"], [42598, 0, " "], [42599, 0, "p"], [42600, 0, "r"], [42601, 0, "o"], [42602, 0, "c"], [42603, 0, "e"], [42604, 0, "s"], [42605, 0, "s"], [42606, 0, " "], [42607, 0, "a"], [42608, 0, "r"], [42609, 0, "e"], [42610, 0, " "], [42611, 0, "g"], [42612, 0, "i"], [42613, 0, "v"], [42614, 0, "e"], [42615, 0, "n"], [42616, 0, " "], [42617, 0, "i"], [42618, 0, "n"], [42619, 0, " "], [42620, 0, "F"], [42621, 0, "i"], [42622, 0, "g"], [42623, 0, "u"], [42624, 0, "r"], [42625, 0, "e"], [42626, 0, "~"], [42627, 0, "\\"], [42628, 0, "r"], [42629, 0, "e"], [42630, 0, "f"], [42631, 0, "{"], [42632, 0, "f"], [42633, 0, "i"], [42634, 0, "g"], [42635, 0, ":"], [42636, 0, "c"], [42637, 0, "l"], [42638, 0, "e"], [42639, 0, "a"], [42640, 0, "r"], [42641, 0, "-"], [42642, 0, "r"], [42643, 0, "u"], [42644, 0, "l"], [42645, 0, "e"], [42646, 0, "s"], [42647, 0, "}"], [42648, 0, "."], [42649, 0, " "], [42650, 0, "I"], [42651, 0, "n"], [42652, 0, "t"], [42653, 0, "u"], [42654, 0, "i"], [42655, 0, "t"], [42656, 0, "i"], [42657, 0, "v"], [42658, 0, "e"], [42659, 0, "l"], [42660, 0, "y"], [42661, 0, ","], [42662, 0, " "], [42663, 0, "t"], [42664, 0, "h"], [42665, 0, "e"], [42666, 0, " "], [42667, 0, "e"], [42668, 0, "f"], [42669, 0, "f"], [42670, 0, "e"], [42671, 0, "c"], [42672, 0, "t"], [42673, 0, " "], [42674, 0, "o"], [42675, 0, "f"], [42676, 0, " "], [42677, 0, "c"], [42678, 0, "l"], [42679, 0, "e"], [42680, 0, "a"], [42681, 0, "r"], [42682, 0, "i"], [42683, 0, "n"], [42684, 0, "g"], [42685, 0, " "], [42686, 0, "s"], [42687, 0, "o"], [42688, 0, "m"], [42689, 0, "e"], [42690, 0, "t"], [42691, 0, "h"], [42692, 0, "i"], [42693, 0, "n"], [42694, 0, "g"], [42695, 0, " "], [42696, 0, "i"], [42697, 0, "s"], [42698, 0, " "], [42699, 0, "t"], [42700, 0, "o"], [42701, 0, " "], [42702, 0, "r"], [42703, 0, "e"], [42704, 0, "s"], [42705, 0, "e"], [42706, 0, "t"], [42707, 0, " "], [42708, 0, "i"], [42709, 0, "t"], [42710, 0, " "], [42711, 0, "t"], [42712, 0, "o"], [42713, 0, " "], [42714, 0, "i"], [42715, 0, "t"], [42716, 0, "s"], [42717, 0, " "], [42718, 0, "e"], [42719, 0, "m"], [42720, 0, "p"], [42721, 0, "t"], [42722, 0, "y"], [42723, 0, " "], [42724, 0, "s"], [42725, 0, "t"], [42726, 0, "a"], [42727, 0, "t"], [42728, 0, "e"], [42729, 0, " "], [42730, 0, "b"], [42731, 0, "y"], [42732, 0, " "], [42733, 0, "u"], [42734, 0, "n"], [42735, 0, "d"], [42736, 0, "o"], [42737, 0, "i"], [42738, 0, "n"], [42739, 0, "g"], [42740, 0, " "], [42741, 0, "a"], [42742, 0, "n"], [42743, 0, "y"], [42744, 0, " "], [42745, 0, "o"], [42746, 0, "p"], [42747, 0, "e"], [42748, 0, "r"], [42749, 0, "a"], [42750, 0, "t"], [42751, 0, "i"], [42752, 0, "o"], [42753, 0, "n"], [42754, 0, "s"], [42755, 0, " "], [42756, 0, "t"], [42757, 0, "h"], [42758, 0, "a"], [42759, 0, "t"], [42760, 0, " "], [42761, 0, "c"], [42762, 0, "a"], [42763, 0, "u"], [42764, 0, "s"], [42765, 0, "a"], [42766, 0, "l"], [42767, 0, "l"], [42768, 0, "y"], [42769, 0, " "], [42770, 0, "p"], [42771, 0, "r"], [42772, 0, "e"], [42773, 0, "d"], [42773, 1], [42773, 0, "c"], [42774, 0, "e"], [42775, 0, "d"], [42776, 0, "e"], [42777, 0, " "], [42778, 0, "t"], [42779, 0, "h"], [42780, 0, "e"], [42781, 0, " "], [42782, 0, "c"], [42783, 0, "u"], [42784, 0, "r"], [42785, 0, "r"], [42786, 0, "e"], [42787, 0, "n"], [42788, 0, "t"], [42789, 0, " "], [42790, 0, "o"], [42791, 0, "p"], [42792, 0, "e"], [42793, 0, "r"], [42794, 0, "a"], [42795, 0, "t"], [42796, 0, "i"], [42797, 0, "o"], [42798, 0, "n"], [42799, 0, ","], [42800, 0, " "], [42801, 0, "w"], [42802, 0, "h"], [42803, 0, "i"], [42804, 0, "l"], [42805, 0, "e"], [42806, 0, " "], [42807, 0, "l"], [42808, 0, "e"], [42809, 0, "a"], [42810, 0, "v"], [42811, 0, "i"], [42812, 0, "n"], [42813, 0, "g"], [42814, 0, " "], [42815, 0, "a"], [42816, 0, "n"], [42817, 0, "y"], [42818, 0, " "], [42819, 0, "c"], [42820, 0, "o"], [42821, 0, "n"], [42822, 0, "c"], [42823, 0, "u"], [42824, 0, "r"], [42825, 0, "r"], [42826, 0, "e"], [42827, 0, "n"], [42828, 0, "t"], [42829, 0, " "], [42830, 0, "o"], [42831, 0, "p"], [42832, 0, "e"], [42833, 0, "r"], [42834, 0, "a"], [42835, 0, "t"], [42836, 0, "i"], [42837, 0, "o"], [42838, 0, "n"], [42839, 0, "s"], [42815, 0, "t"], [42816, 0, "h"], [42817, 0, "e"], [42818, 0, " "], [42819, 0, "e"], [42820, 0, "f"], [42821, 0, "f"], [42822, 0, "e"], [42823, 0, "c"], [42824, 0, "t"], [42825, 0, " "], [42826, 0, "o"], [42827, 0, "f"], [42828, 0, " "], [42854, 0, " "], [42855, 0, "u"], [42856, 0, "n"], [42857, 0, "t"], [42858, 0, "o"], [42859, 0, "u"], [42860, 0, "c"], [42861, 0, "h"], [42862, 0, "e"], [42863, 0, "d"], [42864, 0, "."], [42865, 0, "\n"], [42866, 0, "\n"], [42867, 0, "T"], [42868, 0, "h"], [42869, 0, "e"], [42870, 0, " "], [42871, 0, "\\"], [42872, 0, "t"], [42873, 0, "e"], [42874, 0, "x"], [42875, 0, "t"], [42876, 0, "s"], [42877, 0, "c"], [42878, 0, "{"], [42879, 0, "D"], [42880, 0, "e"], [42881, 0, "l"], [42882, 0, "e"], [42883, 0, "t"], [42884, 0, "e"], [42885, 0, "}"], [42886, 0, " "], [42887, 0, "r"], [42888, 0, "u"], [42889, 0, "l"], [42890, 0, "e"], [42891, 0, " "], [42892, 0, "s"], [42893, 0, "h"], [42894, 0, "o"], [42895, 0, "w"], [42896, 0, "s"], [42897, 0, " "], [42898, 0, "h"], [42899, 0, "o"], [42900, 0, "w"], [42901, 0, " "], [42902, 0, "t"], [42903, 0, "h"], [42904, 0, "e"], [42905, 0, " "], [42906, 0, "\\"], [42907, 0, "t"], [42908, 0, "e"], [42909, 0, "x"], [42910, 0, "t"], [42911, 0, "s"], [42912, 0, "f"], [42913, 0, "{"], [42914, 0, "d"], [42915, 0, "e"], [42916, 0, "l"], [42917, 0, "e"], [42918, 0, "t"], [42919, 0, "e"], [42920, 0, "}"], [42905, 1], [42904, 1], [42903, 1], [42902, 1], [42917, 0, " "], [42918, 0, "o"], [42919, 0, "p"], [42920, 0, "e"], [42921, 0, "r"], [42922, 0, "a"], [42923, 0, "t"], [42924, 0, "i"], [42925, 0, "o"], [42926, 0, "n"], [42927, 0, "s"], [42928, 0, " "], [42929, 0, "("], [42930, 0, "w"], [42931, 0, "h"], [42932, 0, "i"], [42933, 0, "c"], [42934, 0, "h"], [42935, 0, " "], [42936, 0, "c"], [42937, 0, "a"], [42938, 0, "n"], [42939, 0, " "], [42940, 0, "b"], [42941, 0, "e"], [42942, 0, " "], [42943, 0, "u"], [42944, 0, "s"], [42945, 0, "e"], [42946, 0, "d"], [42947, 0, " "], [42948, 0, "t"], [42949, 0, "o"], [42950, 0, " "], [42951, 0, "d"], [42952, 0, "e"], [42953, 0, "l"], [42954, 0, "e"], [42955, 0, "t"], [42956, 0, "e"], [42957, 0, " "], [42958, 0, "e"], [42959, 0, "i"], [42960, 0, "t"], [42961, 0, "h"], [42962, 0, "e"], [42963, 0, "r"], [42964, 0, " "], [42935, 1], [42934, 1], [42933, 1], [42932, 1], [42931, 1], [42930, 1], [42929, 1], [42901, 1], [42900, 1], [42899, 1], [42898, 1], [42897, 1], [42896, 1], [42895, 1], [42894, 1], [42893, 1], [42892, 1], [42891, 1], [42890, 1], [42889, 1], [42888, 1], [42887, 1], [42886, 1], [42885, 1], [42884, 1], [42883, 1], [42882, 1], [42881, 1], [42880, 1], [42879, 1], [42878, 1], [42877, 1], [42876, 1], [42875, 1], [42874, 1], [42873, 1], [42872, 1], [42871, 1], [42870, 1], [42869, 1], [42868, 1], [42867, 1], [42867, 0, "A"], [42868, 0, " "], [42894, 1], [42924, 0, "a"], [42925, 0, "n"], [42926, 0, " "], [42927, 0, "e"], [42928, 0, "l"], [42929, 0, "e"], [42930, 0, "m"], [42931, 0, "e"], [42932, 0, "n"], [42933, 0, "t"], [42934, 0, " "], [42935, 0, "f"], [42936, 0, "r"], [42937, 0, "o"], [42938, 0, "m"], [42939, 0, " "], [42940, 0, "a"], [42941, 0, "n"], [42942, 0, " "], [42943, 0, "o"], [42944, 0, "r"], [42945, 0, "d"], [42946, 0, "e"], [42947, 0, "r"], [42948, 0, "e"], [42949, 0, "d"], [42950, 0, " "], [42951, 0, "l"], [42952, 0, "i"], [42953, 0, "s"], [42954, 0, "t"], [42955, 0, " "], [42956, 0, "o"], [42957, 0, "r"], [42958, 0, " "], [42959, 0, "a"], [42960, 0, " "], [42961, 0, "k"], [42962, 0, "e"], [42963, 0, "y"], [42964, 0, " "], [42965, 0, "f"], [42966, 0, "r"], [42967, 0, "o"], [42968, 0, "m"], [42969, 0, " "], [42970, 0, "a"], [42971, 0, " "], [42972, 0, "m"], [42973, 0, "a"], [42974, 0, "p"], [42975, 0, ","], [42976, 0, " "], [42977, 0, "d"], [42978, 0, "e"], [42979, 0, "p"], [42980, 0, "e"], [42981, 0, "n"], [42982, 0, "d"], [42983, 0, "i"], [42984, 0, "n"], [42985, 0, "g"], [42986, 0, " "], [42987, 0, "o"], [42988, 0, "n"], [42989, 0, " "], [42990, 0, "w"], [42991, 0, "h"], [42992, 0, "a"], [42993, 0, "t"], [42994, 0, " "], [42995, 0, "t"], [42996, 0, "h"], [42997, 0, "e"], [42998, 0, " "], [42999, 0, "c"], [43000, 0, "u"], [43001, 0, "r"], [43002, 0, "s"], [43003, 0, "o"], [43004, 0, "r"], [43005, 0, " "], [43006, 0, "r"], [43007, 0, "e"], [43008, 0, "f"], [43009, 0, "e"], [43010, 0, "r"], [43011, 0, "s"], [43012, 0, " "], [43013, 0, "t"], [43014, 0, "o"], [43015, 0, "."], [43016, 0, " "], [43017, 0, "T"], [43018, 0, "h"], [43019, 0, "e"], [43020, 0, " "], [43021, 0, "\\"], [43022, 0, "t"], [43023, 0, "e"], [43024, 0, "x"], [43025, 0, "t"], [43026, 0, "s"], [43027, 0, "c"], [43028, 0, "{"], [43029, 0, "D"], [43030, 0, "e"], [43031, 0, "l"], [43032, 0, "e"], [43033, 0, "t"], [43034, 0, "e"], [43035, 0, "}"], [43036, 0, " "], [43037, 0, "r"], [43038, 0, "u"], [43039, 0, "l"], [43040, 0, "e"], [43041, 0, " "], [43042, 0, "s"], [43043, 0, "h"], [43044, 0, "o"], [43045, 0, "w"], [43046, 0, "s"], [43047, 0, " "], [43048, 0, "h"], [43049, 0, "o"], [43050, 0, "w"], [43051, 0, " "], [43052, 0, "t"], [43053, 0, "h"], [43054, 0, "i"], [43055, 0, "s"], [43056, 0, " "], [43057, 0, "o"], [43058, 0, "p"], [43059, 0, "e"], [43060, 0, "r"], [43061, 0, "a"], [43062, 0, "t"], [43063, 0, "i"], [43064, 0, "o"], [43065, 0, "n"], [43066, 0, " "], [43067, 0, "i"], [43068, 0, "s"], [43069, 0, " "], [43070, 0, "e"], [43071, 0, "v"], [43072, 0, "a"], [43073, 0, "l"], [43074, 0, "u"], [43075, 0, "a"], [43076, 0, "t"], [43077, 0, "e"], [43078, 0, "d"], [43079, 0, ","], [43080, 0, " "], [43081, 0, "b"], [43082, 0, "y"], [43083, 0, " "], [43084, 0, "d"], [43085, 0, "e"], [43086, 0, "l"], [43087, 0, "e"], [43088, 0, "g"], [43089, 0, "a"], [43090, 0, "t"], [43091, 0, "i"], [43092, 0, "n"], [43093, 0, "g"], [43094, 0, " "], [43095, 0, "t"], [43096, 0, "o"], [43097, 0, " "], [43098, 0, "\\"], [43099, 0, "t"], [43100, 0, "e"], [43101, 0, "x"], [43102, 0, "t"], [43103, 0, "s"], [43104, 0, "f"], [43105, 0, "{"], [43106, 0, "c"], [43107, 0, "l"], [43108, 0, "e"], [43109, 0, "a"], [43110, 0, "r"], [43111, 0, "E"], [43112, 0, "l"], [43113, 0, "e"], [43114, 0, "m"], [43115, 0, "}"], [43116, 0, "."], [43117, 0, " "], [43118, 0, "\\"], [43119, 0, "t"], [43120, 0, "e"], [43121, 0, "x"], [43122, 0, "t"], [43123, 0, "s"], [43124, 0, "c"], [43125, 0, "{"], [43126, 0, "C"], [43127, 0, "l"], [43128, 0, "e"], [43129, 0, "a"], [43130, 0, "r"], [43131, 0, "-"], [43132, 0, "E"], [43133, 0, "l"], [43134, 0, "e"], [43135, 0, "m"], [43136, 0, "}"], [43137, 0, " "], [43138, 0, "u"], [43139, 0, "s"], [43140, 0, "e"], [43141, 0, "s"], [43142, 0, " "], [43143, 0, "\\"], [43144, 0, "t"], [43145, 0, "e"], [43146, 0, "x"], [43147, 0, "t"], [43148, 0, "s"], [43149, 0, "c"], [43150, 0, "{"], [43151, 0, "C"], [43152, 0, "l"], [43153, 0, "e"], [43154, 0, "a"], [43155, 0, "r"], [43156, 0, "-"], [43157, 0, "A"], [43158, 0, "n"], [43159, 0, "y"], [43160, 0, "}"], [43161, 0, " "], [43162, 0, "t"], [43163, 0, "o"], [43164, 0, " "], [43165, 0, "r"], [43166, 0, "e"], [43167, 0, "c"], [43168, 0, "u"], [43169, 0, "r"], [43170, 0, "s"], [43171, 0, "i"], [43172, 0, "v"], [43173, 0, "e"], [43174, 0, "l"], [43175, 0, "y"], [43176, 0, " "], [43177, 0, "c"], [43178, 0, "l"], [43178, 1], [43177, 1], [43176, 1], [43175, 1], [43174, 1], [43173, 1], [43172, 1], [43171, 1], [43170, 1], [43169, 1], [43168, 1], [43167, 1], [43166, 1], [43165, 1], [43165, 0, "c"], [43166, 0, "l"], [43167, 0, "e"], [43168, 0, "a"], [43169, 0, "r"], [43170, 0, " "], [43171, 0, "o"], [43172, 0, "u"], [43173, 0, "t"], [43174, 0, " "], [43175, 0, "a"], [43176, 0, "n"], [43177, 0, "y"], [43178, 0, " "], [43179, 0, "d"], [43180, 0, "a"], [43181, 0, "t"], [43182, 0, "a"], [43183, 0, " "], [43184, 0, "w"], [43185, 0, "i"], [43186, 0, "t"], [43187, 0, "h"], [43188, 0, " "], [43189, 0, "a"], [43190, 0, " "], [43191, 0, "g"], [43192, 0, "i"], [43193, 0, "v"], [43194, 0, "e"], [43195, 0, "n"], [43196, 0, " "], [43197, 0, "k"], [43198, 0, "e"], [43199, 0, "y"], [43200, 0, " "], [43200, 1], [43200, 0, ","], [43201, 0, " "], [43202, 0, "r"], [43203, 0, "e"], [43204, 0, "g"], [43205, 0, "a"], [43206, 0, "r"], [43207, 0, "d"], [43208, 0, "l"], [43209, 0, "e"], [43210, 0, "s"], [43211, 0, "s"], [43212, 0, " "], [43213, 0, "o"], [43214, 0, "f"], [43215, 0, " "], [43216, 0, "w"], [43217, 0, "h"], [43218, 0, "e"], [43219, 0, "t"], [43220, 0, "h"], [43221, 0, "e"], [43222, 0, "r"], [43223, 0, " "], [43224, 0, "i"], [43225, 0, "t"], [43226, 0, " "], [43227, 0, "i"], [43228, 0, "s"], [43229, 0, " "], [43230, 0, "o"], [43231, 0, "f"], [43232, 0, " "], [43233, 0, "t"], [43234, 0, "y"], [43235, 0, "p"], [43236, 0, "e"], [43237, 0, " "], [43238, 0, "\\"], [43239, 0, "t"], [43240, 0, "e"], [43241, 0, "x"], [43242, 0, "t"], [43243, 0, "s"], [43244, 0, "f"], [43245, 0, "{"], [43246, 0, "m"], [43247, 0, "a"], [43248, 0, "p"], [43249, 0, "T"], [43250, 0, "}"], [43251, 0, ","], [43252, 0, " "], [43253, 0, "\\"], [43254, 0, "t"], [43255, 0, "e"], [43256, 0, "x"], [43257, 0, "t"], [43258, 0, "s"], [43259, 0, "f"], [43260, 0, "{"], [43261, 0, "l"], [43262, 0, "i"], [43263, 0, "s"], [43264, 0, "t"], [43265, 0, "T"], [43266, 0, "}"], [43267, 0, " "], [43268, 0, "o"], [43269, 0, "r"], [43270, 0, " "], [43271, 0, "\\"], [43272, 0, "t"], [43273, 0, "e"], [43274, 0, "x"], [43275, 0, "t"], [43276, 0, "s"], [43277, 0, "f"], [43278, 0, "{"], [43279, 0, "r"], [43280, 0, "e"], [43281, 0, "g"], [43282, 0, "T"], [43283, 0, "}"], [43284, 0, ","], [43285, 0, " "], [43286, 0, "a"], [43287, 0, "n"], [43288, 0, "d"], [43289, 0, " "], [43290, 0, "a"], [43291, 0, "l"], [43292, 0, "s"], [43293, 0, "o"], [43294, 0, " "], [43295, 0, "u"], [43296, 0, "p"], [43297, 0, "d"], [43298, 0, "a"], [43299, 0, "t"], [43300, 0, "e"], [43301, 0, "s"], [43302, 0, " "], [43303, 0, "t"], [43304, 0, "h"], [43305, 0, "e"], [43306, 0, " "], [43307, 0, "p"], [43308, 0, "r"], [43309, 0, "e"], [43310, 0, "s"], [43311, 0, "e"], [43312, 0, "n"], [43313, 0, "c"], [43314, 0, "e"], [43315, 0, " "], [43316, 0, "s"], [43317, 0, "e"], [43318, 0, "t"], [43319, 0, " "], [43320, 0, "t"], [43321, 0, "o"], [43322, 0, " "], [43323, 0, "i"], [43324, 0, "n"], [43325, 0, "c"], [43326, 0, "l"], [43327, 0, "u"], [43328, 0, "d"], [43329, 0, "e"], [43330, 0, " "], [43331, 0, "a"], [43332, 0, "n"], [43333, 0, "y"], [43334, 0, " "], [43335, 0, "n"], [43336, 0, "e"], [43337, 0, "s"], [43338, 0, "t"], [43339, 0, "e"], [43340, 0, "d"], [43341, 0, " "], [43342, 0, "o"], [43343, 0, "p"], [43344, 0, "e"], [43345, 0, "r"], [43346, 0, "a"], [43347, 0, "t"], [43348, 0, "i"], [43349, 0, "o"], [43350, 0, "n"], [43351, 0, " "], [43352, 0, "I"], [43353, 0, "D"], [43354, 0, "s"], [43355, 0, ","], [43356, 0, " "], [43357, 0, "b"], [43358, 0, "u"], [43359, 0, "t"], [43360, 0, " "], [43361, 0, "e"], [43362, 0, "x"], [43363, 0, "c"], [43364, 0, "l"], [43365, 0, "u"], [43366, 0, "d"], [43367, 0, "e"], [43368, 0, " "], [43369, 0, "a"], [43370, 0, "n"], [43371, 0, "y"], [43372, 0, " "], [43373, 0, "o"], [43374, 0, "p"], [43375, 0, "e"], [43376, 0, "r"], [43377, 0, "a"], [43378, 0, "t"], [43379, 0, "i"], [43380, 0, "o"], [43381, 0, "n"], [43382, 0, "s"], [43383, 0, " "], [43384, 0, "i"], [43385, 0, "n"], [43386, 0, " "], [43387, 0, "$"], [43388, 0, "\\"], [43389, 0, "t"], [43390, 0, "e"], [43391, 0, "x"], [43392, 0, "t"], [43393, 0, "i"], [43394, 0, "t"], [43395, 0, "{"], [43396, 0, "d"], [43397, 0, "e"], [43398, 0, "p"], [43399, 0, "s"], [43400, 0, "}"], [43401, 0, "$"], [43402, 0, "."], [43389, 1], [43389, 1], [43389, 1], [43389, 1], [43389, 0, "m"], [43390, 0, "a"], [43391, 0, "t"], [43392, 0, "h"], [38083, 0, " "], [38084, 0, "\\"], [38085, 0, "s"], [38086, 0, "e"], [38087, 0, "t"], [38088, 0, "m"], [38089, 0, "i"], [38090, 0, "n"], [38091, 0, "u"], [38092, 0, "s"], [38093, 0, " "], [38094, 0, "\\"], [38095, 0, "m"], [38096, 0, "a"], [38097, 0, "t"], [38098, 0, "h"], [38099, 0, "i"], [38100, 0, "t"], [38101, 0, "{"], [38102, 0, "d"], [38103, 0, "e"], [38104, 0, "p"], [38105, 0, "s"], [38106, 0, "}"], [43128, 1], [43127, 1], [43127, 0, "s"], [43128, 0, "c"], [43103, 1], [43129, 1], [43129, 0, "C"], [43134, 0, "-"], [43141, 0, " "], [43142, 0, "I"], [43143, 0, "n"], [43144, 0, " "], [43145, 0, "t"], [43146, 0, "u"], [43147, 0, "r"], [43148, 0, "n"], [43149, 0, ","], [43437, 0, "\n"], [43438, 0, "\n"], [43438, 0, "T"], [43439, 0, "h"], [43440, 0, "e"], [43441, 0, " "], [43442, 0, "p"], [43443, 0, "r"], [43444, 0, "e"], [43445, 0, "m"], [43446, 0, "i"], [43447, 0, "s"], [43448, 0, "e"], [43449, 0, "s"], [43450, 0, " "], [43451, 0, "o"], [43452, 0, "f"], [43453, 0, " "], [43454, 0, "\\"], [43455, 0, "t"], [43456, 0, "e"], [43457, 0, "x"], [43458, 0, "t"], [43459, 0, "s"], [43460, 0, "c"], [43461, 0, "{"], [43462, 0, "C"], [43463, 0, "l"], [43464, 0, "e"], [43465, 0, "a"], [43466, 0, "r"], [43467, 0, "-"], [43468, 0, "A"], [43469, 0, "n"], [43470, 0, "y"], [43471, 0, "}"], [43472, 0, " "], [43473, 0, "a"], [43474, 0, "r"], [43475, 0, "e"], [43476, 0, " "], [43477, 0, "s"], [43478, 0, "a"], [43479, 0, "t"], [43480, 0, "i"], [43481, 0, "s"], [43482, 0, "f"], [43483, 0, "i"], [43484, 0, "e"], [43485, 0, "d"], [43486, 0, " "], [43487, 0, "b"], [43488, 0, "y"], [43489, 0, " "], [43490, 0, "$"], [43491, 0, "\\"], [43492, 0, "t"], [43493, 0, "e"], [43494, 0, "x"], [43495, 0, "t"], [43496, 0, "s"], [43497, 0, "c"], [43498, 0, "{"], [43499, 0, "C"], [43500, 0, "l"], [43501, 0, "e"], [43502, 0, "a"], [43503, 0, "r"], [43504, 0, "-"], [43505, 0, "M"], [43506, 0, "a"], [43507, 0, "p"], [43508, 0, "}"], [43509, 0, "_"], [43510, 0, "1"], [43511, 0, "$"], [43512, 0, ","], [43513, 0, " "], [43514, 0, "$"], [43515, 0, "\\"], [43516, 0, "t"], [43517, 0, "e"], [43518, 0, "x"], [43519, 0, "t"], [43520, 0, "s"], [43521, 0, "c"], [43522, 0, "{"], [43523, 0, "C"], [43524, 0, "l"], [43525, 0, "e"], [43526, 0, "a"], [43527, 0, "r"], [43528, 0, "-"], [43529, 0, "L"], [43530, 0, "i"], [43531, 0, "s"], [43532, 0, "t"], [43533, 0, "}"], [43534, 0, "_"], [43535, 0, "1"], [43536, 0, "$"], [43537, 0, " "], [43538, 0, "a"], [43539, 0, "n"], [43540, 0, "d"], [43541, 0, " "], [43542, 0, "\\"], [43543, 0, "t"], [43544, 0, "e"], [43545, 0, "x"], [43546, 0, "t"], [43547, 0, "s"], [43548, 0, "c"], [43549, 0, "{"], [43550, 0, "C"], [43551, 0, "l"], [43552, 0, "e"], [43553, 0, "a"], [43554, 0, "r"], [43555, 0, "-"], [43556, 0, "R"], [43557, 0, "e"], [43558, 0, "g"], [43559, 0, "}"], [43560, 0, " "], [43561, 0, "i"], [43562, 0, "f"], [43563, 0, " "], [43564, 0, "t"], [43565, 0, "h"], [43566, 0, "e"], [43567, 0, " "], [43568, 0, "r"], [43569, 0, "e"], [43570, 0, "s"], [43571, 0, "p"], [43572, 0, "e"], [43573, 0, "c"], [43574, 0, "t"], [43575, 0, "i"], [43576, 0, "v"], [43577, 0, "e"], [43578, 0, " "], [43579, 0, "k"], [43580, 0, "e"], [43581, 0, "y"], [43582, 0, " "], [43583, 0, "a"], [43584, 0, "p"], [43585, 0, "p"], [43586, 0, "e"], [43587, 0, "a"], [43588, 0, "r"], [43589, 0, "s"], [43590, 0, " "], [43591, 0, "i"], [43592, 0, "n"], [43593, 0, " "], [43594, 0, "$"], [43595, 0, "\\"], [43596, 0, "m"], [43597, 0, "a"], [43598, 0, "t"], [43599, 0, "h"], [43600, 0, "i"], [43601, 0, "t"], [43602, 0, "{"], [43603, 0, "c"], [43604, 0, "t"], [43605, 0, "x"], [43606, 0, "}"], [43607, 0, "$"], [43608, 0, ","], [43609, 0, " "], [43610, 0, "o"], [43611, 0, "r"], [43612, 0, " "], [43613, 0, "b"], [43614, 0, "y"], [43615, 0, " "], [43616, 0, "\\"], [43617, 0, "t"], [43618, 0, "e"], [43619, 0, "x"], [43620, 0, "t"], [43621, 0, "s"], [43622, 0, "c"], [43623, 0, "{"], [43624, 0, "C"], [43625, 0, "l"], [43626, 0, "e"], [43627, 0, "a"], [43628, 0, "r"], [43629, 0, "-"], [43630, 0, "N"], [43631, 0, "o"], [43632, 0, "n"], [43633, 0, "e"], [43634, 0, "}"], [43635, 0, " "], [43636, 0, "("], [43637, 0, "w"], [43638, 0, "h"], [43639, 0, "i"], [43640, 0, "c"], [43641, 0, "h"], [43642, 0, " "], [43643, 0, "d"], [43644, 0, "o"], [43645, 0, "e"], [43646, 0, "s"], [43647, 0, " "], [43648, 0, "n"], [43649, 0, "o"], [43650, 0, "t"], [43651, 0, "h"], [43652, 0, "i"], [43653, 0, "n"], [43654, 0, "g"], [43655, 0, ")"], [43656, 0, " "], [43657, 0, "i"], [43658, 0, "f"], [43659, 0, " "], [43660, 0, "t"], [43661, 0, "h"], [43662, 0, "e"], [43663, 0, " "], [43664, 0, "k"], [43665, 0, "e"], [43666, 0, "y"], [43667, 0, " "], [43668, 0, "i"], [43669, 0, "s"], [43670, 0, " "], [43671, 0, "a"], [43672, 0, "b"], [43673, 0, "s"], [43674, 0, "e"], [43675, 0, "n"], [43676, 0, "t"], [43677, 0, "."], [43678, 0, "\n"], [43679, 0, "\n"], [43680, 0, "\\"], [43681, 0, "t"], [43682, 0, "e"], [43683, 0, "x"], [43684, 0, "t"], [43685, 0, "s"], [43686, 0, "c"], [43687, 0, "{"], [43688, 0, "C"], [43689, 0, "l"], [43690, 0, "e"], [43691, 0, "a"], [43692, 0, "r"], [43693, 0, "-"], [43694, 0, "R"], [43695, 0, "e"], [43696, 0, "g"], [43697, 0, "}"], [43698, 0, " "], [43699, 0, "r"], [43700, 0, "e"], [43701, 0, "m"], [43702, 0, "o"], [43703, 0, "v"], [43704, 0, "e"], [43705, 0, "s"], [43706, 0, " "], [43680, 0, " "], [43680, 0, "A"], [43681, 0, "s"], [43682, 0, " "], [43683, 0, "d"], [43684, 0, "e"], [43685, 0, "f"], [43686, 0, "i"], [43687, 0, "n"], [43688, 0, "e"], [43689, 0, "d"], [43690, 0, " "], [43691, 0, "b"], [43692, 0, "y"], [43693, 0, " "], [43694, 0, "t"], [43695, 0, "h"], [43696, 0, "e"], [43697, 0, " "], [43698, 0, "\\"], [43699, 0, "t"], [43700, 0, "e"], [43701, 0, "x"], [43702, 0, "t"], [43703, 0, "s"], [43704, 0, "c"], [43705, 0, "{"], [43706, 0, "A"], [43707, 0, "s"], [43708, 0, "s"], [43709, 0, "i"], [43710, 0, "g"], [43711, 0, "n"], [43712, 0, "}"], [43713, 0, " "], [43714, 0, "r"], [43715, 0, "u"], [43716, 0, "l"], [43717, 0, "e"], [43718, 0, ","], [43719, 0, " "], [43720, 0, "a"], [43721, 0, " "], [43722, 0, "r"], [43723, 0, "e"], [43724, 0, "g"], [43725, 0, "i"], [43726, 0, "s"], [43727, 0, "t"], [43728, 0, "e"], [43729, 0, "r"], [43730, 0, " "], [43731, 0, "m"], [43732, 0, "a"], [43733, 0, "i"], [43734, 0, "n"], [43735, 0, "t"], [43736, 0, "a"], [43737, 0, "i"], [43738, 0, "n"], [43739, 0, "s"], [43740, 0, " "], [43741, 0, "a"], [43742, 0, " "], [43743, 0, "m"], [43744, 0, "a"], [43745, 0, "p"], [43746, 0, "p"], [43747, 0, "i"], [43748, 0, "n"], [43749, 0, "g"], [43750, 0, " "], [43751, 0, "f"], [43752, 0, "r"], [43753, 0, "o"], [43754, 0, "m"], [43755, 0, " "], [43756, 0, "o"], [43757, 0, "p"], [43758, 0, "e"], [43759, 0, "r"], [43760, 0, "a"], [43761, 0, "t"], [43762, 0, "i"], [43763, 0, "o"], [43764, 0, "n"], [43765, 0, " "], [43766, 0, "I"], [43767, 0, "D"], [43768, 0, "s"], [43769, 0, " "], [43770, 0, "t"], [43771, 0, "o"], [43772, 0, " "], [43773, 0, "v"], [43774, 0, "a"], [43775, 0, "l"], [43776, 0, "u"], [43777, 0, "e"], [43778, 0, "s"], [43779, 0, "."], [43800, 0, "u"], [43801, 0, "p"], [43802, 0, "d"], [43803, 0, "a"], [43804, 0, "t"], [43805, 0, "e"], [43806, 0, "s"], [43807, 0, " "], [43808, 0, "a"], [43809, 0, " "], [43810, 0, "r"], [43811, 0, "e"], [43812, 0, "g"], [43813, 0, "i"], [43814, 0, "s"], [43815, 0, "t"], [43816, 0, "e"], [43817, 0, "r"], [43818, 0, " "], [43819, 0, "b"], [43820, 0, "y"], [43821, 0, " "], [43829, 1], [43828, 1], [43827, 1], [43827, 0, "i"], [43828, 0, "n"], [43829, 0, "g"], [43830, 0, " "], [43831, 0, "a"], [43832, 0, "l"], [43833, 0, "l"], [43834, 0, " "], [43835, 0, "o"], [43836, 0, "p"], [43837, 0, "e"], [43838, 0, "r"], [43839, 0, "a"], [43840, 0, "t"], [43841, 0, "i"], [43842, 0, "o"], [43843, 0, "n"], [43844, 0, " "], [43845, 0, "I"], [43846, 0, "D"], [43847, 0, "s"], [43848, 0, " "], [43849, 0, "t"], [43850, 0, "h"], [43851, 0, "a"], [43852, 0, "t"], [43853, 0, " "], [43854, 0, "a"], [43855, 0, "p"], [43856, 0, "p"], [43857, 0, "e"], [43858, 0, "a"], [43859, 0, "r"], [43860, 0, " "], [43861, 0, "i"], [43862, 0, "n"], [43863, 0, " "], [43864, 0, "$"], [43865, 0, "\\"], [43866, 0, "t"], [43867, 0, "e"], [43868, 0, "x"], [43869, 0, "t"], [43870, 0, "i"], [43871, 0, "t"], [43872, 0, "{"], [43873, 0, "d"], [43874, 0, "e"], [43875, 0, "p"], [43876, 0, "s"], [43877, 0, "}"], [43878, 0, "$"], [43879, 0, ","], [43880, 0, " "], [43881, 0, "i"], [43882, 0, "."], [43883, 0, "e"], [43884, 0, "."], [43885, 0, " "], [43886, 0, "w"], [43887, 0, "h"], [43888, 0, "i"], [43889, 0, "c"], [43890, 0, "h"], [43891, 0, " "], [43892, 0, "a"], [43893, 0, "r"], [43894, 0, "e"], [43895, 0, " "], [43896, 0, "c"], [43897, 0, "a"], [43898, 0, "u"], [43899, 0, "s"], [43900, 0, "a"], [43901, 0, "l"], [43902, 0, "l"], [43903, 0, "y"], [43904, 0, " "], [43905, 0, "p"], [43895, 1], [43894, 1], [43893, 1], [43892, 1], [43902, 0, "r"], [43903, 0, "e"], [43904, 0, "c"], [43905, 0, "e"], [43906, 0, "d"], [43907, 0, "e"], [43908, 0, " "], [43909, 0, "t"], [43910, 0, "h"], [43911, 0, "e"], [43912, 0, " "], [43913, 0, "c"], [43914, 0, "l"], [43915, 0, "e"], [43916, 0, "a"], [43917, 0, "r"], [43918, 0, "i"], [43919, 0, "n"], [43920, 0, "g"], [43921, 0, " "], [43922, 0, "o"], [43923, 0, "p"], [43924, 0, "e"], [43925, 0, "r"], [43926, 0, "a"], [43927, 0, "t"], [43928, 0, "i"], [43929, 0, "o"], [43930, 0, "n"], [43931, 0, ","], [43932, 0, " "], [43933, 0, "b"], [43934, 0, "u"], [43935, 0, "t"], [43936, 0, " "], [43937, 0, "r"], [43938, 0, "e"], [43939, 0, "t"], [43940, 0, "a"], [43941, 0, "i"], [43942, 0, "n"], [43943, 0, "i"], [43944, 0, "n"], [43945, 0, "g"], [43946, 0, " "], [43947, 0, "a"], [43948, 0, "l"], [43949, 0, "l"], [43950, 0, " "], [43951, 0, "o"], [43952, 0, "p"], [43953, 0, "e"], [43954, 0, "r"], [43955, 0, "a"], [43956, 0, "t"], [43957, 0, "i"], [43958, 0, "o"], [43959, 0, "n"], [43960, 0, " "], [43961, 0, "I"], [43962, 0, "D"], [43963, 0, "s"], [43964, 0, " "], [43879, 1], [43880, 0, "("], [43931, 0, ")"], [43966, 0, "t"], [43967, 0, "h"], [43968, 0, "a"], [43969, 0, "t"], [43970, 0, " "], [43971, 0, "d"], [43972, 0, "o"], [43973, 0, " "], [43974, 0, "n"], [43975, 0, "o"], [43976, 0, "t"], [43977, 0, " "], [43978, 0, "a"], [43979, 0, "p"], [43980, 0, "p"], [43981, 0, "e"], [43982, 0, "a"], [43983, 0, "r"], [43984, 0, " "], [43985, 0, "i"], [43986, 0, "n"], [43987, 0, " "], [43988, 0, "$"], [43989, 0, "\\"], [43990, 0, "t"], [43991, 0, "e"], [43992, 0, "x"], [43993, 0, "t"], [43993, 1], [43992, 1], [43991, 1], [43990, 1], [43990, 0, "m"], [43991, 0, "a"], [43992, 0, "t"], [43993, 0, "h"], [43994, 0, "i"], [43995, 0, "t"], [43996, 0, "{"], [43997, 0, "d"], [43998, 0, "e"], [43999, 0, "p"], [44000, 0, "s"], [44001, 0, "}"], [44002, 0, "$"], [43869, 1], [43868, 1], [43867, 1], [43866, 1], [43866, 0, "m"], [43867, 0, "a"], [43868, 0, "t"], [43869, 0, "h"], [44003, 0, " "], [44004, 0, "("], [44005, 0, "f"], [44006, 0, "r"], [44007, 0, "o"], [44008, 0, "m"], [44009, 0, " "], [44010, 0, "a"], [44011, 0, "s"], [44012, 0, "s"], [44013, 0, "i"], [44014, 0, "g"], [44015, 0, "n"], [44016, 0, "m"], [44017, 0, "e"], [44018, 0, "n"], [44019, 0, "t"], [44020, 0, " "], [44021, 0, "o"], [44022, 0, "p"], [44023, 0, "e"], [44024, 0, "r"], [44025, 0, "a"], [44026, 0, "t"], [44027, 0, "i"], [44028, 0, "o"], [44029, 0, "n"], [44030, 0, "s"], [44031, 0, " "], [44032, 0, "t"], [44033, 0, "h"], [44034, 0, "a"], [44035, 0, "t"], [44036, 0, " "], [44037, 0, "a"], [44038, 0, "r"], [44039, 0, "e"], [44040, 0, " "], [44041, 0, "c"], [44042, 0, "o"], [44043, 0, "n"], [44044, 0, "c"], [44045, 0, "u"], [44046, 0, "r"], [44047, 0, "r"], [44048, 0, "e"], [44049, 0, "n"], [44050, 0, "t"], [44051, 0, " "], [44052, 0, "w"], [44053, 0, "i"], [44054, 0, "t"], [44055, 0, "h"], [44056, 0, " "], [44057, 0, "t"], [44058, 0, "h"], [44059, 0, "e"], [44060, 0, " "], [44061, 0, "c"], [44062, 0, "l"], [44063, 0, "e"], [44064, 0, "a"], [44065, 0, "r"], [44066, 0, "i"], [44067, 0, "n"], [44068, 0, "g"], [44069, 0, " "], [44070, 0, "o"], [44071, 0, "p"], [44072, 0, "e"], [44073, 0, "r"], [44074, 0, "a"], [44075, 0, "t"], [44076, 0, "i"], [44077, 0, "o"], [44078, 0, "n"], [44079, 0, ")"], [44080, 0, "."], [44081, 0, "\n"], [44082, 0, "\n"], [44083, 0, "C"], [44084, 0, "l"], [44085, 0, "e"], [44086, 0, "a"], [44087, 0, "r"], [44088, 0, "i"], [44089, 0, "n"], [44090, 0, "g"], [44091, 0, " "], [44092, 0, "m"], [44093, 0, "a"], [44094, 0, "p"], [44095, 0, "s"], [44096, 0, " "], [44097, 0, "a"], [44098, 0, "n"], [44099, 0, "d"], [44100, 0, " "], [44101, 0, "l"], [44102, 0, "i"], [44103, 0, "s"], [44104, 0, "t"], [44105, 0, "s"], [44106, 0, " "], [44107, 0, "t"], [44108, 0, "a"], [44109, 0, "k"], [44110, 0, "e"], [44111, 0, "s"], [44112, 0, " "], [44113, 0, "a"], [44114, 0, " "], [44115, 0, "s"], [44116, 0, "i"], [44117, 0, "m"], [44118, 0, "i"], [44119, 0, "l"], [44120, 0, "a"], [44121, 0, "r"], [44122, 0, " "], [44123, 0, "a"], [44124, 0, "p"], [44125, 0, "p"], [44126, 0, "r"], [44127, 0, "o"], [44128, 0, "a"], [44129, 0, "c"], [44130, 0, "h"], [44131, 0, ":"], [44132, 0, " "], [44133, 0, "e"], [44134, 0, "a"], [44135, 0, "c"], [44136, 0, "h"], [44137, 0, " "], [44138, 0, "e"], [44139, 0, "l"], [44140, 0, "e"], [44141, 0, "m"], [44142, 0, "e"], [44143, 0, "n"], [44144, 0, "t"], [44145, 0, " "], [44146, 0, "o"], [44147, 0, "f"], [44148, 0, " "], [44149, 0, "t"], [44150, 0, "h"], [44151, 0, "e"], [44152, 0, " "], [44153, 0, "m"], [44154, 0, "a"], [44155, 0, "p"], [44156, 0, " "], [44157, 0, "o"], [44158, 0, "r"], [44159, 0, " "], [44160, 0, "l"], [44161, 0, "i"], [44162, 0, "s"], [44163, 0, "t"], [44164, 0, " "], [44165, 0, "i"], [44166, 0, "s"], [44167, 0, " "], [44168, 0, "r"], [44169, 0, "e"], [44170, 0, "c"], [44171, 0, "u"], [44172, 0, "r"], [44173, 0, "s"], [44174, 0, "i"], [44175, 0, "v"], [44176, 0, "e"], [44177, 0, "l"], [44178, 0, "y"], [44179, 0, " "], [44180, 0, "c"], [44181, 0, "l"], [44182, 0, "e"], [44183, 0, "a"], [44184, 0, "r"], [44185, 0, "e"], [44186, 0, "d"], [44187, 0, " "], [44188, 0, "u"], [44189, 0, "s"], [44190, 0, "i"], [44191, 0, "n"], [44192, 0, "g"], [44193, 0, " "], [44194, 0, "$"], [44194, 1], [44194, 0, "\\"], [44195, 0, "t"], [44196, 0, "e"], [44197, 0, "x"], [44198, 0, "t"], [44199, 0, "s"], [44200, 0, "f"], [44201, 0, "{"], [44202, 0, "c"], [44203, 0, "l"], [44204, 0, "e"], [44205, 0, "a"], [44206, 0, "r"], [44207, 0, "E"], [44208, 0, "l"], [44209, 0, "e"], [44210, 0, "m"], [44211, 0, "}"], [44212, 0, ","], [44213, 0, " "], [44214, 0, "a"], [44215, 0, "n"], [44216, 0, "d"], [44217, 0, " "], [44218, 0, "p"], [44219, 0, "r"], [44220, 0, "e"], [44221, 0, "s"], [44222, 0, "e"], [44223, 0, "n"], [44224, 0, "c"], [44225, 0, "e"], [44226, 0, " "], [44227, 0, "s"], [44228, 0, "e"], [44229, 0, "t"], [44230, 0, "s"], [44231, 0, " "], [44232, 0, "a"], [44233, 0, "r"], [44234, 0, "e"], [44235, 0, " "], [44236, 0, "u"], [44237, 0, "p"], [44238, 0, "d"], [44239, 0, "a"], [44240, 0, "t"], [44241, 0, "e"], [44242, 0, "d"], [44243, 0, " "], [44244, 0, "t"], [44245, 0, "o"], [44246, 0, " "], [44247, 0, "e"], [44248, 0, "x"], [44249, 0, "c"], [44250, 0, "l"], [44251, 0, "u"], [44252, 0, "d"], [44253, 0, "e"], [44254, 0, " "], [44255, 0, "$"], [44256, 0, "\\"], [44257, 0, "m"], [44258, 0, "a"], [44259, 0, "t"], [44260, 0, "h"], [44261, 0, "i"], [44262, 0, "t"], [44263, 0, "{"], [44264, 0, "d"], [44265, 0, "e"], [44266, 0, "p"], [44267, 0, "s"], [44268, 0, "}"], [44269, 0, "$"], [44270, 0, "."], [44271, 0, " "], [44272, 0, "T"], [44273, 0, "h"], [44274, 0, "u"], [44275, 0, "s"], [44276, 0, ","], [44277, 0, " "], [44278, 0, "a"], [44279, 0, "n"], [44280, 0, "y"], [44281, 0, " "], [44282, 0, "l"], [44283, 0, "i"], [44284, 0, "s"], [44285, 0, "t"], [44286, 0, " "], [44287, 0, "e"], [44288, 0, "l"], [44289, 0, "e"], [44290, 0, "m"], [44291, 0, "e"], [44292, 0, "n"], [44293, 0, "t"], [44294, 0, "s"], [44295, 0, " "], [44296, 0, "o"], [44297, 0, "r"], [44298, 0, " "], [44299, 0, "m"], [44300, 0, "a"], [44301, 0, "p"], [44302, 0, " "], [44303, 0, "e"], [44304, 0, "n"], [44305, 0, "t"], [44306, 0, "r"], [44307, 0, "i"], [44308, 0, "e"], [44309, 0, "s"], [44310, 0, " "], [44311, 0, "w"], [44312, 0, "h"], [44313, 0, "o"], [44314, 0, "s"], [44315, 0, "e"], [44316, 0, " "], [44317, 0, "m"], [44318, 0, "o"], [44319, 0, "d"], [44320, 0, "i"], [44321, 0, "f"], [44322, 0, "i"], [44323, 0, "c"], [44324, 0, "a"], [44325, 0, "t"], [44326, 0, "i"], [44327, 0, "o"], [44328, 0, "n"], [44329, 0, "s"], [44330, 0, " "], [44331, 0, "c"], [44332, 0, "a"], [44333, 0, "u"], [44334, 0, "s"], [44335, 0, "a"], [44336, 0, "l"], [44337, 0, "l"], [44338, 0, "y"], [44339, 0, " "], [44340, 0, "p"], [44341, 0, "r"], [44342, 0, "e"], [44343, 0, "c"], [44344, 0, "e"], [44345, 0, "d"], [44346, 0, "e"], [44347, 0, " "], [44348, 0, "t"], [44349, 0, "h"], [44350, 0, "e"], [44351, 0, " "], [44352, 0, "c"], [44353, 0, "l"], [44354, 0, "e"], [44355, 0, "a"], [44356, 0, "r"], [44357, 0, "i"], [44358, 0, "n"], [44359, 0, "g"], [44360, 0, " "], [44361, 0, "o"], [44362, 0, "p"], [44363, 0, "e"], [44364, 0, "r"], [44365, 0, "a"], [44366, 0, "t"], [44367, 0, "i"], [44368, 0, "o"], [44369, 0, "n"], [44370, 0, " "], [44371, 0, "w"], [44372, 0, "i"], [44373, 0, "l"], [44374, 0, "l"], [44375, 0, " "], [44376, 0, "e"], [44377, 0, "n"], [44378, 0, "d"], [44379, 0, " "], [44380, 0, "u"], [44381, 0, "p"], [44382, 0, " "], [44383, 0, "w"], [44384, 0, "i"], [44385, 0, "t"], [44386, 0, "h"], [44387, 0, " "], [44388, 0, "e"], [44389, 0, "m"], [44390, 0, "p"], [44391, 0, "t"], [44392, 0, "y"], [44393, 0, " "], [44394, 0, "p"], [44395, 0, "r"], [44396, 0, "e"], [44397, 0, "s"], [44398, 0, "e"], [44399, 0, "n"], [44400, 0, "c"], [44401, 0, "e"], [44402, 0, " "], [44403, 0, "s"], [44404, 0, "e"], [44405, 0, "t"], [44406, 0, "s"], [44407, 0, ","], [44408, 0, " "], [44409, 0, "a"], [44410, 0, "n"], [44411, 0, "d"], [44412, 0, " "], [44413, 0, "t"], [44414, 0, "h"], [44415, 0, "u"], [44416, 0, "s"], [44417, 0, " "], [44418, 0, "b"], [44419, 0, "e"], [44420, 0, " "], [44421, 0, "c"], [44422, 0, "o"], [44423, 0, "n"], [44424, 0, "s"], [44425, 0, "i"], [44426, 0, "d"], [44427, 0, "e"], [44428, 0, "r"], [44429, 0, "e"], [44430, 0, "d"], [44431, 0, " "], [44432, 0, "d"], [44433, 0, "e"], [44434, 0, "l"], [44435, 0, "e"], [44436, 0, "t"], [44437, 0, "e"], [44438, 0, "d"], [44439, 0, "."], [44440, 0, " "], [44441, 0, "A"], [44442, 0, "n"], [44443, 0, "y"], [44444, 0, " "], [44445, 0, "m"], [44446, 0, "a"], [44447, 0, "p"], [44448, 0, " "], [44449, 0, "o"], [44450, 0, "r"], [44451, 0, " "], [44452, 0, "l"], [44453, 0, "i"], [44454, 0, "s"], [44455, 0, "t"], [44456, 0, " "], [44457, 0, "e"], [44458, 0, "l"], [44459, 0, "e"], [44460, 0, "m"], [44461, 0, "e"], [44462, 0, "n"], [44463, 0, "t"], [44464, 0, "s"], [44465, 0, " "], [44466, 0, "c"], [44467, 0, "o"], [44468, 0, "n"], [44469, 0, "t"], [44470, 0, "a"], [44471, 0, "i"], [44472, 0, "n"], [44473, 0, "i"], [44474, 0, "n"], [44475, 0, "g"], [44476, 0, " "], [44477, 0, "o"], [44478, 0, "p"], [44479, 0, "e"], [44480, 0, "r"], [44481, 0, "a"], [44482, 0, "t"], [44483, 0, "i"], [44484, 0, "o"], [44485, 0, "n"], [44486, 0, "s"], [44487, 0, " "], [44488, 0, "t"], [44489, 0, "h"], [44490, 0, "a"], [44491, 0, "t"], [44492, 0, " "], [44493, 0, "a"], [44494, 0, "r"], [44495, 0, "e"], [44496, 0, " "], [44497, 0, "c"], [44498, 0, "o"], [44499, 0, "n"], [44500, 0, "c"], [44501, 0, "u"], [44502, 0, "r"], [44503, 0, "r"], [44504, 0, "e"], [44505, 0, "n"], [44506, 0, "t"], [44507, 0, " "], [44508, 0, "w"], [44509, 0, "i"], [44510, 0, "t"], [44511, 0, "h"], [44512, 0, " "], [44513, 0, "t"], [44514, 0, "h"], [44515, 0, "e"], [44516, 0, " "], [44517, 0, "c"], [44518, 0, "l"], [44519, 0, "e"], [44520, 0, "a"], [44521, 0, "r"], [44522, 0, "i"], [44523, 0, "n"], [44524, 0, "g"], [44525, 0, " "], [44526, 0, "o"], [44527, 0, "p"], [44528, 0, "e"], [44529, 0, "r"], [44530, 0, "a"], [44531, 0, "t"], [44532, 0, "i"], [44533, 0, "o"], [44534, 0, "n"], [44535, 0, " "], [44536, 0, "w"], [44537, 0, "i"], [44538, 0, "l"], [44539, 0, "l"], [44540, 0, " "], [44541, 0, "p"], [44542, 0, "r"], [44543, 0, "e"], [44544, 0, "s"], [44545, 0, "e"], [44546, 0, "r"], [44547, 0, "v"], [44548, 0, "e"], [44549, 0, " "], [44550, 0, "t"], [44551, 0, "h"], [44552, 0, "e"], [44553, 0, "i"], [44554, 0, "r"], [44555, 0, " "], [44556, 0, "n"], [44557, 0, "o"], [44558, 0, "n"], [44558, 1], [44557, 1], [44556, 1], [44555, 1], [44554, 1], [44553, 1], [44552, 1], [44551, 1], [44550, 1], [44549, 1], [44549, 0, "d"], [44550, 0, "."], [44539, 1], [44538, 1], [44537, 1], [44536, 1], [44536, 0, "a"], [44537, 0, "r"], [44538, 0, "e"], [16085, 0, "\n"], [16086, 0, "\\"], [16087, 0, "s"], [16088, 0, "u"], [16089, 0, "b"], [16090, 0, "s"], [16091, 0, "e"], [16092, 0, "c"], [16093, 0, "t"], [16094, 0, "i"], [16095, 0, "o"], [16096, 0, "n"], [16097, 0, "{"], [16098, 0, "E"], [16099, 0, "x"], [16100, 0, "p"], [16101, 0, "r"], [16102, 0, "e"], [16103, 0, "s"], [16104, 0, "s"], [16105, 0, "i"], [16106, 0, "o"], [16107, 0, "n"], [16108, 0, " "], [16109, 0, "e"], [16110, 0, "v"], [16111, 0, "a"], [16112, 0, "l"], [16113, 0, "u"], [16114, 0, "a"], [16115, 0, "t"], [16116, 0, "i"], [16117, 0, "o"], [16118, 0, "n"], [16119, 0, "}"], [16120, 0, "\n"], [8050, 1], [8050, 1], [8050, 1], [8058, 1], [8058, 1], [8058, 1], [8058, 1], [8058, 1], [8058, 1], [8058, 1], [8058, 1], [8058, 1], [8058, 1], [8058, 1], [8058, 1], [8058, 1], [8058, 1], [8058, 1], [8058, 1], [8058, 1], [8058, 1], [8058, 1], [8058, 1], [8058, 1], [8058, 1], [8058, 1], [8058, 1], [8058, 1], [8058, 1], [8058, 1], [8058, 0, "F"], [8059, 0, "o"], [8060, 0, "r"], [8061, 0, "m"], [8062, 0, "a"], [8063, 0, "l"], [8064, 0, " "], [8065, 0, "s"], [8066, 0, "e"], [8067, 0, "m"], [8068, 0, "a"], [8069, 0, "n"], [8070, 0, "t"], [8071, 0, "i"], [8072, 0, "c"], [8073, 0, "s"], [3669, 1], [3675, 0, "["], [3681, 0, "]"], [3683, 1], [4698, 1], [4697, 1], [4696, 1], [4695, 1], [4694, 1], [4693, 1], [4692, 1], [4691, 1], [4690, 1], [4689, 1], [4688, 1], [4687, 1], [4686, 1], [4685, 1], [4684, 1], [4683, 1], [4682, 1], [4681, 1], [4680, 1], [4679, 1], [4678, 1], [4677, 1], [4676, 1], [4675, 1], [4674, 1], [4673, 1], [4672, 1], [4671, 1], [4670, 1], [4670, 0, "D"], [4671, 0, "o"], [4672, 0, "c"], [4673, 0, "u"], [4674, 0, "m"], [4675, 0, "e"], [4676, 0, "n"], [4677, 0, "t"], [4678, 0, " "], [4679, 0, "e"], [4680, 0, "d"], [4681, 0, "i"], [4682, 0, "t"], [4683, 0, "i"], [4684, 0, "n"], [4685, 0, "g"], [4686, 0, " "], [4687, 0, "A"], [4688, 0, "P"], [4689, 0, "I"], [4691, 0, "\n"], [4692, 0, "\n"], [4693, 0, "T"], [4694, 0, "o"], [4695, 0, " "], [4696, 0, "d"], [4697, 0, "e"], [4698, 0, "f"], [4699, 0, "i"], [4700, 0, "n"], [4701, 0, "e"], [4702, 0, " "], [4703, 0, "t"], [4704, 0, "h"], [4705, 0, "e"], [4706, 0, " "], [4707, 0, "s"], [4708, 0, "e"], [4709, 0, "m"], [4710, 0, "a"], [4711, 0, "n"], [4712, 0, "t"], [4713, 0, "i"], [4714, 0, "c"], [4715, 0, "s"], [4716, 0, " "], [4717, 0, "f"], [4718, 0, "o"], [4719, 0, "r"], [4720, 0, " "], [4721, 0, "c"], [4722, 0, "o"], [4723, 0, "l"], [4724, 0, "l"], [4725, 0, "a"], [4726, 0, "b"], [4727, 0, "o"], [4728, 0, "r"], [4729, 0, "a"], [4730, 0, "t"], [4731, 0, "i"], [4732, 0, "v"], [4733, 0, "e"], [4734, 0, "l"], [4735, 0, "y"], [4736, 0, " "], [4737, 0, "e"], [4738, 0, "d"], [4739, 0, "i"], [4740, 0, "t"], [4741, 0, "a"], [4742, 0, "b"], [4743, 0, "l"], [4744, 0, "e"], [4745, 0, " "], [4746, 0, "d"], [4747, 0, "a"], [4748, 0, "t"], [4749, 0, "a"], [4750, 0, " "], [4751, 0, "s"], [4752, 0, "t"], [4753, 0, "r"], [4754, 0, "u"], [4755, 0, "c"], [4756, 0, "t"], [4757, 0, "u"], [4758, 0, "r"], [4759, 0, "e"], [4760, 0, "s"], [4761, 0, ","], [4762, 0, " "], [4763, 0, "w"], [4764, 0, "e"], [4765, 0, " "], [4766, 0, "f"], [4767, 0, "i"], [4768, 0, "r"], [4769, 0, "s"], [4770, 0, "t"], [4771, 0, " "], [4772, 0, "d"], [4773, 0, "e"], [4774, 0, "f"], [4775, 0, "i"], [4776, 0, "n"], [4777, 0, "e"], [4778, 0, " "], [4779, 0, "a"], [4780, 0, " "], [4781, 0, "s"], [4782, 0, "i"], [4783, 0, "m"], [4784, 0, "p"], [4785, 0, "l"], [4786, 0, "e"], [4787, 0, " "], [4788, 0, "c"], [4789, 0, "o"], [4790, 0, "m"], [4791, 0, "m"], [4792, 0, "a"], [4793, 0, "n"], [4794, 0, "d"], [4795, 0, " "], [4796, 0, "l"], [4797, 0, "a"], [4798, 0, "n"], [4799, 0, "g"], [4800, 0, "u"], [4801, 0, "a"], [4802, 0, "g"], [4803, 0, "e"], [4804, 0, " "], [4805, 0, "t"], [4806, 0, "h"], [4807, 0, "a"], [4808, 0, "t"], [4809, 0, " "], [4810, 0, "i"], [4811, 0, "s"], [4812, 0, " "], [4813, 0, "e"], [4814, 0, "x"], [4815, 0, "e"], [4816, 0, "c"], [4817, 0, "u"], [4818, 0, "t"], [4819, 0, "e"], [4820, 0, "d"], [4821, 0, " "], [4822, 0, "l"], [4823, 0, "o"], [4824, 0, "c"], [4825, 0, "a"], [4826, 0, "l"], [4827, 0, "l"], [4828, 0, "y"], [4829, 0, " "], [4830, 0, "a"], [4831, 0, "t"], [4832, 0, " "], [4833, 0, "a"], [4834, 0, "n"], [4835, 0, "y"], [4836, 0, " "], [4837, 0, "o"], [4838, 0, "f"], [4839, 0, " "], [4840, 0, "t"], [4841, 0, "h"], [4842, 0, "e"], [4843, 0, " "], [4844, 0, "p"], [4845, 0, "e"], [4846, 0, "e"], [4847, 0, "r"], [4848, 0, "s"], [4849, 0, ","], [4850, 0, " "], [4851, 0, "a"], [4852, 0, "n"], [4853, 0, "d"], [4854, 0, " "], [4855, 0, "w"], [4856, 0, "h"], [4857, 0, "i"], [4858, 0, "c"], [4859, 0, "h"], [4860, 0, " "], [4861, 0, "a"], [4862, 0, "l"], [4863, 0, "l"], [4864, 0, "o"], [4865, 0, "w"], [4866, 0, "s"], [4867, 0, " "], [4868, 0, "t"], [4869, 0, "h"], [4870, 0, "e"], [4871, 0, " "], [4872, 0, "l"], [4873, 0, "o"], [4874, 0, "c"], [4875, 0, "a"], [4876, 0, "l"], [4877, 0, " "], [4878, 0, "s"], [4879, 0, "t"], [4880, 0, "a"], [4881, 0, "t"], [4882, 0, "e"], [4883, 0, " "], [4884, 0, "o"], [4885, 0, "f"], [4886, 0, " "], [4887, 0, "t"], [4888, 0, "h"], [4889, 0, "a"], [4890, 0, "t"], [4891, 0, " "], [4891, 1], [4890, 1], [4889, 1], [4888, 1], [4887, 1], [4886, 1], [4885, 1], [4884, 1], [4883, 1], [4882, 1], [4881, 1], [4880, 1], [4879, 1], [4878, 1], [4877, 1], [4876, 1], [4875, 1], [4874, 1], [4873, 1], [4872, 1], [4871, 1], [4870, 1], [4870, 0, "a"], [4871, 0, "t"], [4872, 0, " "], [4873, 0, "p"], [4874, 0, "e"], [4875, 0, "e"], [4876, 0, "r"], [4877, 0, "'"], [4878, 0, "s"], [4879, 0, " "], [4880, 0, "l"], [4881, 0, "o"], [4882, 0, "c"], [4883, 0, "a"], [4884, 0, "l"], [4885, 0, " "], [4886, 0, "c"], [4887, 0, "o"], [4888, 0, "p"], [4889, 0, "y"], [4890, 0, " "], [4891, 0, "o"], [4892, 0, "f"], [4893, 0, " "], [4894, 0, "t"], [4895, 0, "h"], [4896, 0, "e"], [4897, 0, " "], [4898, 0, "d"], [4899, 0, "o"], [4900, 0, "c"], [4901, 0, "u"], [4902, 0, "m"], [4903, 0, "e"], [4904, 0, "n"], [4905, 0, "t"], [4906, 0, " "], [4907, 0, "t"], [4908, 0, "o"], [4909, 0, " "], [4910, 0, "b"], [4911, 0, "e"], [4912, 0, " "], [4913, 0, "q"], [4914, 0, "u"], [4915, 0, "e"], [4916, 0, "r"], [4917, 0, "i"], [4918, 0, "e"], [4919, 0, "d"], [4920, 0, " "], [4921, 0, "a"], [4922, 0, "n"], [4923, 0, "d"], [4924, 0, " "], [4925, 0, "m"], [4926, 0, "o"], [4927, 0, "t"], [4927, 1], [4927, 0, "d"], [4928, 0, "i"], [4929, 0, "f"], [4930, 0, "i"], [4931, 0, "e"], [4932, 0, "d"], [4933, 0, "."], [4934, 0, " "], [4935, 0, "P"], [4936, 0, "e"], [4937, 0, "r"], [4938, 0, "f"], [4939, 0, "o"], [4940, 0, "r"], [4941, 0, "m"], [4942, 0, "i"], [4943, 0, "n"], [4944, 0, "g"], [4945, 0, " "], [4946, 0, "r"], [4947, 0, "e"], [4948, 0, "a"], [4949, 0, "d"], [4950, 0, "-"], [4951, 0, "o"], [4952, 0, "n"], [4953, 0, "l"], [4954, 0, "y"], [4955, 0, " "], [4956, 0, "q"], [4957, 0, "u"], [4958, 0, "e"], [4959, 0, "r"], [4960, 0, "i"], [4961, 0, "e"], [4962, 0, "s"], [4963, 0, " "], [4964, 0, "h"], [4965, 0, "a"], [4966, 0, "s"], [4967, 0, " "], [4968, 0, "n"], [4969, 0, "o"], [4970, 0, " "], [4971, 0, "s"], [4972, 0, "i"], [4973, 0, "d"], [4974, 0, "e"], [4975, 0, "-"], [4976, 0, "e"], [4977, 0, "f"], [4978, 0, "f"], [4979, 0, "e"], [4980, 0, "c"], [4981, 0, "t"], [4982, 0, "s"], [4983, 0, ","], [4984, 0, " "], [4985, 0, "b"], [4986, 0, "u"], [4987, 0, "t"], [4988, 0, " "], [4989, 0, "m"], [4990, 0, "o"], [4991, 0, "d"], [4992, 0, "i"], [4993, 0, "f"], [4994, 0, "y"], [4995, 0, "i"], [4996, 0, "n"], [4997, 0, "g"], [4998, 0, " "], [4999, 0, "t"], [5000, 0, "h"], [5001, 0, "e"], [5002, 0, " "], [5003, 0, "d"], [5004, 0, "o"], [5005, 0, "c"], [5006, 0, "u"], [5007, 0, "m"], [5008, 0, "e"], [5009, 0, "n"], [5010, 0, "t"], [5011, 0, " "], [5012, 0, "h"], [5013, 0, "a"], [5014, 0, "s"], [5015, 0, " "], [5016, 0, "t"], [5017, 0, "h"], [5018, 0, "e"], [5019, 0, " "], [5020, 0, "e"], [5021, 0, "f"], [5022, 0, "f"], [5023, 0, "e"], [5024, 0, "c"], [5025, 0, "t"], [5026, 0, " "], [5027, 0, "o"], [5028, 0, "f"], [5029, 0, " "], [5030, 0, "p"], [5031, 0, "r"], [5032, 0, "o"], [5033, 0, "d"], [5034, 0, "u"], [5035, 0, "c"], [5036, 0, "i"], [5037, 0, "n"], [5038, 0, "g"], [5039, 0, " "], [5040, 0, "\\"], [5041, 0, "e"], [5042, 0, "m"], [5043, 0, "p"], [5044, 0, "h"], [5045, 0, "{"], [5046, 0, "o"], [5047, 0, "p"], [5048, 0, "e"], [5049, 0, "r"], [5050, 0, "a"], [5051, 0, "t"], [5052, 0, "i"], [5053, 0, "o"], [5054, 0, "n"], [5055, 0, "s"], [5056, 0, "}"], [5057, 0, " "], [5058, 0, "d"], [5059, 0, "e"], [5060, 0, "s"], [5061, 0, "c"], [5062, 0, "r"], [5063, 0, "i"], [5064, 0, "b"], [5065, 0, "i"], [5066, 0, "n"], [5067, 0, "g"], [5068, 0, " "], [5069, 0, "t"], [5070, 0, "h"], [5071, 0, "e"], [5072, 0, " "], [5073, 0, "m"], [5074, 0, "u"], [5075, 0, "t"], [5076, 0, "a"], [5077, 0, "t"], [5078, 0, "i"], [5079, 0, "o"], [5080, 0, "n"], [5081, 0, "."], [5082, 0, " "], [5083, 0, "T"], [5084, 0, "h"], [5085, 0, "o"], [5086, 0, "s"], [5087, 0, "e"], [5088, 0, " "], [5089, 0, "o"], [5090, 0, "p"], [5091, 0, "e"], [5092, 0, "r"], [5093, 0, "a"], [5094, 0, "t"], [5095, 0, "i"], [5096, 0, "o"], [5097, 0, "n"], [5098, 0, "s"], [5099, 0, " "], [5100, 0, "a"], [5101, 0, "r"], [5102, 0, "e"], [5103, 0, " "], [5104, 0, "a"], [5105, 0, "p"], [5106, 0, "p"], [5107, 0, "l"], [5108, 0, "i"], [5109, 0, "e"], [5110, 0, "d"], [5111, 0, " "], [5112, 0, "t"], [5113, 0, "o"], [5114, 0, " "], [5115, 0, "t"], [5116, 0, "h"], [5117, 0, "e"], [5118, 0, " "], [5119, 0, "l"], [5120, 0, "o"], [5121, 0, "c"], [5122, 0, "a"], [5123, 0, "l"], [5124, 0, " "], [5125, 0, "c"], [5126, 0, "o"], [5127, 0, "p"], [5128, 0, "y"], [5129, 0, " "], [5130, 0, "o"], [5131, 0, "f"], [5132, 0, " "], [5133, 0, "t"], [5134, 0, "h"], [5135, 0, "e"], [5136, 0, " "], [5137, 0, "d"], [5138, 0, "o"], [5139, 0, "c"], [5140, 0, "u"], [5141, 0, "m"], [5142, 0, "e"], [5143, 0, "n"], [5144, 0, "t"], [5145, 0, ","], [5146, 0, " "], [5147, 0, "a"], [5148, 0, "n"], [5149, 0, "d"], [5150, 0, " "], [5151, 0, "a"], [5152, 0, "l"], [5153, 0, "s"], [5154, 0, "o"], [5155, 0, " "], [5156, 0, "e"], [5157, 0, "n"], [5158, 0, "q"], [5159, 0, "u"], [5160, 0, "e"], [5161, 0, "u"], [5162, 0, "e"], [5163, 0, "d"], [5164, 0, " "], [5165, 0, "f"], [5166, 0, "o"], [5167, 0, "r"], [5168, 0, " "], [5169, 0, "b"], [5170, 0, "r"], [5171, 0, "o"], [5172, 0, "a"], [5173, 0, "d"], [5174, 0, "c"], [5175, 0, "a"], [5176, 0, "s"], [5177, 0, "t"], [5178, 0, "i"], [5179, 0, "n"], [5180, 0, "g"], [5181, 0, " "], [5182, 0, "t"], [5183, 0, "o"], [5184, 0, " "], [5185, 0, "o"], [5186, 0, "t"], [5187, 0, "h"], [5188, 0, "e"], [5189, 0, "r"], [5190, 0, " "], [5191, 0, "p"], [5192, 0, "e"], [5193, 0, "e"], [5194, 0, "r"], [5195, 0, "s"], [5196, 0, "."], [1327, 1], [1326, 1], [1325, 1], [1324, 1], [1323, 1], [1322, 1], [1321, 1], [1320, 1], [1319, 1], [1318, 1], [1317, 1], [1316, 1], [1315, 1], [1314, 1], [1313, 1], [1312, 1], [1311, 1], [1310, 1], [1309, 1], [1308, 1], [1307, 1], [1307, 0, "T"], [1307, 1], [1307, 0, "C"], [1308, 0, "o"], [1309, 0, "m"], [1310, 0, "p"], [1311, 0, "o"], [1312, 0, "s"], [1313, 0, "i"], [1314, 0, "n"], [1315, 0, "g"], [1316, 0, " "], [1317, 0, "c"], [1318, 0, "o"], [1319, 0, "l"], [1320, 0, "l"], [1321, 0, "a"], [1322, 0, "b"], [1323, 0, "o"], [1324, 0, "r"], [1325, 0, "a"], [1326, 0, "t"], [1327, 0, "i"], [1328, 0, "v"], [1329, 0, "e"], [1330, 0, " "], [1331, 0, "d"], [1332, 0, "a"], [1333, 0, "t"], [1334, 0, "a"], [1335, 0, " "], [1336, 0, "s"], [1337, 0, "t"], [1338, 0, "r"], [1339, 0, "u"], [1340, 0, "c"], [1341, 0, "t"], [1342, 0, "u"], [1343, 0, "r"], [1344, 0, "e"], [1345, 0, "s"], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1349, 1], [1330, 1], [1329, 1], [1328, 1], [1327, 1], [1326, 1], [1325, 1], [1324, 1], [1323, 1], [1322, 1], [1321, 1], [1320, 1], [1319, 1], [1318, 1], [1317, 1], [1335, 0, "I"], [1336, 0, "n"], [1337, 0, " "], [1338, 0, "t"], [1339, 0, "h"], [1340, 0, "i"], [1341, 0, "s"], [1342, 0, " "], [1343, 0, "s"], [1344, 0, "e"], [1345, 0, "c"], [1346, 0, "t"], [1347, 0, "i"], [1348, 0, "o"], [1349, 0, "n"], [1350, 0, " "], [1351, 0, "w"], [1352, 0, "e"], [1353, 0, " "], [1354, 0, "o"], [1355, 0, "u"], [1356, 0, "t"], [1357, 0, "l"], [1358, 0, "i"], [1359, 0, "n"], [1360, 0, "e"], [1361, 0, " "], [1362, 0, "o"], [1363, 0, "u"], [1364, 0, "r"], [1365, 0, " "], [1366, 0, "a"], [1367, 0, "p"], [1368, 0, "p"], [1369, 0, "r"], [1370, 0, "o"], [1371, 0, "a"], [1372, 0, "c"], [1373, 0, "h"], [1374, 0, " "], [1375, 0, "b"], [1376, 0, "y"], [1377, 0, " "], [1378, 0, "e"], [1379, 0, "x"], [1380, 0, "a"], [1381, 0, "m"], [1382, 0, "p"], [1383, 0, "l"], [1384, 0, "e"], [1385, 0, ","], [1386, 0, " "], [1387, 0, "a"], [1388, 0, "n"], [1389, 0, "d"], [1390, 0, " "], [1391, 0, "d"], [1392, 0, "e"], [1393, 0, "m"], [1394, 0, "o"], [1395, 0, "n"], [1396, 0, "s"], [1397, 0, "t"], [1398, 0, "r"], [1399, 0, "a"], [1400, 0, "t"], [1401, 0, "e"], [1402, 0, " "], [1403, 0, "s"], [1404, 0, "o"], [1405, 0, "m"], [1406, 0, "e"], [1407, 0, " "], [1408, 0, "o"], [1409, 0, "f"], [1410, 0, " "], [1411, 0, "t"], [1412, 0, "h"], [1413, 0, "e"], [1414, 0, " "], [1415, 0, "p"], [1416, 0, "r"], [1417, 0, "o"], [1418, 0, "b"], [1419, 0, "l"], [1420, 0, "e"], [1421, 0, "m"], [1422, 0, " "], [1423, 0, "t"], [1424, 0, "h"], [1425, 0, "a"], [1426, 0, "t"], [1427, 0, " "], [1428, 0, "o"], [1429, 0, "c"], [1430, 0, "c"], [1431, 0, "u"], [1432, 0, "r"], [1433, 0, " "], [1434, 0, "w"], [1435, 0, "h"], [1436, 0, "e"], [1437, 0, "n"], [1438, 0, " "], [1439, 0, "n"], [1440, 0, "e"], [1441, 0, "s"], [1442, 0, "t"], [1443, 0, "e"], [1444, 0, "d"], [1445, 0, " "], [1446, 0, "d"], [1447, 0, "a"], [1448, 0, "t"], [1449, 0, "a"], [1450, 0, " "], [1451, 0, "s"], [1452, 0, "t"], [1453, 0, "r"], [1454, 0, "u"], [1455, 0, "c"], [1456, 0, "t"], [1457, 0, "u"], [1458, 0, "r"], [1459, 0, "e"], [1460, 0, "s"], [1461, 0, " "], [1462, 0, "a"], [1463, 0, "r"], [1464, 0, "e"], [1465, 0, " "], [1466, 0, "m"], [1467, 0, "a"], [1468, 0, "d"], [1469, 0, "e"], [1470, 0, " "], [1471, 0, "c"], [1472, 0, "o"], [1473, 0, "l"], [1474, 0, "l"], [1475, 0, "a"], [1476, 0, "b"], [1477, 0, "o"], [1478, 0, "r"], [1479, 0, "a"], [1480, 0, "t"], [1481, 0, "i"], [1482, 0, "v"], [1483, 0, "e"], [1484, 0, "l"], [1485, 0, "y"], [1486, 0, " "], [1487, 0, "e"], [1488, 0, "d"], [1489, 0, "i"], [1490, 0, "t"], [1491, 0, "a"], [1492, 0, "b"], [1493, 0, "l"], [1494, 0, "e"], [1495, 0, "."], [1422, 0, "s"], [1497, 0, " "], [1498, 0, "I"], [1499, 0, "n"], [1500, 0, " "], [1501, 0, "t"], [1502, 0, "h"], [1503, 0, "e"], [1504, 0, " "], [1505, 0, "n"], [1506, 0, "e"], [1507, 0, "x"], [1508, 0, "t"], [1509, 0, " "], [1510, 0, "s"], [1511, 0, "e"], [1512, 0, "c"], [1513, 0, "t"], [1514, 0, "i"], [1515, 0, "o"], [1516, 0, "n"], [1517, 0, " "], [1518, 0, "w"], [1519, 0, "e"], [1520, 0, " "], [1521, 0, "p"], [1522, 0, "r"], [1523, 0, "o"], [1524, 0, "v"], [1525, 0, "i"], [1526, 0, "d"], [1527, 0, "e"], [1528, 0, " "], [1529, 0, "f"], [1530, 0, "o"], [1531, 0, "r"], [1532, 0, "m"], [1533, 0, "a"], [1534, 0, "l"], [1535, 0, " "], [1536, 0, "s"], [1537, 0, "e"], [1538, 0, "m"], [1539, 0, "a"], [1540, 0, "n"], [1541, 0, "t"], [1542, 0, "i"], [1543, 0, "c"], [1544, 0, "s"], [1545, 0, " "], [1546, 0, "o"], [1547, 0, "f"], [1548, 0, " "], [1549, 0, "o"], [1550, 0, "u"], [1551, 0, "r"], [1552, 0, " "], [1553, 0, "c"], [1554, 0, "o"], [1555, 0, "l"], [1556, 0, "l"], [1557, 0, "a"], [1558, 0, "b"], [1559, 0, "o"], [1560, 0, "r"], [1561, 0, "e"], [1562, 0, "a"], [1562, 1], [1561, 1], [1561, 0, "a"], [1562, 0, "t"], [1563, 0, "i"], [1564, 0, "v"], [1565, 0, "e"], [1566, 0, "l"], [1567, 0, "y"], [1568, 0, " "], [1569, 0, "e"], [1570, 0, "d"], [1571, 0, "i"], [1572, 0, "t"], [1573, 0, "a"], [1574, 0, "b"], [1575, 0, "l"], [1576, 0, "e"], [1577, 0, " "], [1505, 1], [1505, 1], [1505, 1], [1505, 1], [1505, 0, "f"], [1506, 0, "o"], [1507, 0, "l"], [1508, 0, "l"], [1509, 0, "o"], [1510, 0, "w"], [1511, 0, "i"], [1512, 0, "n"], [1513, 0, "g"], [1583, 0, "d"], [1584, 0, "a"], [1585, 0, "t"], [1586, 0, "a"], [1587, 0, "t"], [1588, 0, "y"], [1589, 0, "p"], [1590, 0, "e"], [1591, 0, " "], [1592, 0, "a"], [1593, 0, "n"], [1594, 0, "d"], [1595, 0, " "], [1596, 0, "p"], [1597, 0, "r"], [1598, 0, "o"], [1599, 0, "v"], [1600, 0, "e"], [1601, 0, " "], [1602, 0, "i"], [1603, 0, "t"], [1604, 0, "s"], [1605, 0, " "], [1606, 0, "c"], [1607, 0, "o"], [1608, 0, "r"], [1609, 0, "r"], [1610, 0, "e"], [1611, 0, "c"], [1612, 0, "t"], [1613, 0, "n"], [1614, 0, "e"], [1615, 0, "s"], [1616, 0, "s"], [1617, 0, "."], [758, 0, "\n"], [759, 0, "%"], [760, 0, " "], [761, 0, "S"], [762, 0, "p"], [763, 0, "a"], [764, 0, "n"], [765, 0, " "], [766, 0, "m"], [767, 0, "u"], [768, 0, "l"], [769, 0, "t"], [770, 0, "i"], [771, 0, "p"], [772, 0, "l"], [773, 0, "e"], [774, 0, " "], [775, 0, "c"], [776, 0, "o"], [777, 0, "l"], [778, 0, "u"], [779, 0, "m"], [780, 0, "n"], [781, 0, "s"], [782, 0, " "], [783, 0, "w"], [784, 0, "i"], [785, 0, "t"], [786, 0, "h"], [787, 0, "i"], [788, 0, "n"], [789, 0, " "], [790, 0, "a"], [791, 0, "n"], [792, 0, " "], [793, 0, "a"], [794, 0, "l"], [795, 0, "i"], [796, 0, "g"], [797, 0, "n"], [798, 0, "a"], [799, 0, "t"], [800, 0, " "], [801, 0, "m"], [802, 0, "a"], [803, 0, "t"], [804, 0, "h"], [805, 0, " "], [806, 0, "e"], [807, 0, "n"], [808, 0, "v"], [809, 0, "i"], [810, 0, "r"], [811, 0, "o"], [812, 0, "n"], [813, 0, "m"], [814, 0, "e"], [815, 0, "n"], [816, 0, "t"], [292, 0, "\n"], [293, 0, "\\"], [294, 0, "u"], [295, 0, "s"], [296, 0, "e"], [297, 0, "p"], [298, 0, "a"], [299, 0, "c"], [300, 0, "k"], [301, 0, "a"], [302, 0, "g"], [303, 0, "e"], [304, 0, "{"], [305, 0, "t"], [306, 0, "i"], [307, 0, "k"], [308, 0, "z"], [309, 0, "}"], [3073, 0, "\n"], [3074, 0, "\n"], [3075, 0, "\\"], [3076, 0, "s"], [3077, 0, "u"], [3078, 0, "b"], [3079, 0, "s"], [3080, 0, "e"], [3081, 0, "c"], [3082, 0, "t"], [3083, 0, "i"], [3084, 0, "o"], [3085, 0, "n"], [3086, 0, "{"], [3087, 0, "C"], [3088, 0, "o"], [3089, 0, "n"], [3090, 0, "c"], [3091, 0, "u"], [3092, 0, "r"], [3093, 0, "r"], [3094, 0, "e"], [3095, 0, "n"], [3096, 0, "t"], [3097, 0, " "], [3098, 0, "e"], [3099, 0, "d"], [3100, 0, "i"], [3101, 0, "t"], [3102, 0, "i"], [3103, 0, "n"], [3104, 0, "g"], [3105, 0, " "], [3106, 0, "e"], [3107, 0, "x"], [3108, 0, "a"], [3109, 0, "m"], [3110, 0, "p"], [3111, 0, "l"], [3112, 0, "e"], [3113, 0, "s"], [3114, 0, "}"], [3115, 0, "\n"], [3116, 0, "\n"], [3117, 0, "\\"], [3118, 0, "b"], [3119, 0, "e"], [3120, 0, "g"], [3121, 0, "i"], [3122, 0, "n"], [3123, 0, "{"], [3124, 0, "f"], [3125, 0, "i"], [3126, 0, "g"], [3127, 0, "u"], [3128, 0, "r"], [3129, 0, "e"], [3130, 0, "*"], [3131, 0, "}"], [3132, 0, "\n"], [3133, 0, "\\"], [3134, 0, "e"], [3135, 0, "n"], [3136, 0, "d"], [3137, 0, "{"], [3138, 0, "f"], [3139, 0, "i"], [3140, 0, "g"], [3141, 0, "u"], [3142, 0, "r"], [3143, 0, "e"], [3144, 0, "*"], [3145, 0, "}"], [3144, 1], [3130, 1], [3131, 0, "\n"], [3132, 0, "\\"], [3133, 0, "b"], [3134, 0, "e"], [3135, 0, "g"], [3136, 0, "i"], [3137, 0, "n"], [3138, 0, "{"], [3139, 0, "t"], [3140, 0, "i"], [3141, 0, "k"], [3142, 0, "z"], [3143, 0, "p"], [3144, 0, "i"], [3145, 0, "c"], [3146, 0, "t"], [3147, 0, "u"], [3148, 0, "r"], [3149, 0, "e"], [3150, 0, "}"], [3151, 0, "\n"], [3152, 0, "\\"], [3153, 0, "e"], [3154, 0, "n"], [3155, 0, "d"], [3156, 0, "{"], [3157, 0, "t"], [3158, 0, "i"], [3159, 0, "k"], [3160, 0, "z"], [3161, 0, "p"], [3162, 0, "i"], [3163, 0, "c"], [3164, 0, "t"], [3165, 0, "u"], [3166, 0, "r"], [3167, 0, "e"], [3168, 0, "}"], [3169, 0, " "], [3169, 1], [3169, 0, "\n"], [3170, 0, "\\"], [3171, 0, "c"], [3172, 0, "a"], [3173, 0, "p"], [3174, 0, "t"], [3175, 0, "i"], [3176, 0, "o"], [3177, 0, "n"], [3178, 0, "{"], [3179, 0, "C"], [3180, 0, "o"], [3181, 0, "n"], [3182, 0, "c"], [3183, 0, "u"], [3184, 0, "r"], [3185, 0, "r"], [3186, 0, "e"], [3187, 0, "n"], [3188, 0, "t"], [3189, 0, " "], [3190, 0, "a"], [3191, 0, "s"], [3192, 0, "s"], [3193, 0, "i"], [3194, 0, "g"], [3195, 0, "n"], [3196, 0, "m"], [3197, 0, "e"], [3198, 0, "n"], [3199, 0, "t"], [3200, 0, " "], [3201, 0, "t"], [3202, 0, "o"], [3203, 0, " "], [3204, 0, "a"], [3205, 0, " "], [3206, 0, "r"], [3207, 0, "e"], [3208, 0, "g"], [3209, 0, "i"], [3210, 0, "s"], [3211, 0, "t"], [3212, 0, "e"], [3213, 0, "r"], [3214, 0, "}"], [3215, 0, "\\"], [3216, 0, "l"], [3217, 0, "a"], [3218, 0, "b"], [3219, 0, "e"], [3220, 0, "l"], [3221, 0, "["], [3221, 1], [3221, 0, "{"], [3222, 0, "f"], [3223, 0, "i"], [3224, 0, "g"], [3225, 0, ":"], [3226, 0, "r"], [3227, 0, "e"], [3228, 0, "g"], [3229, 0, "i"], [3230, 0, "s"], [3231, 0, "t"], [3232, 0, "e"], [3233, 0, "r"], [3234, 0, "-"], [3235, 0, "a"], [3236, 0, "s"], [3237, 0, "s"], [3238, 0, "i"], [3239, 0, "g"], [3240, 0, "n"], [3241, 0, "}"], [3151, 0, "\n"], [3152, 0, "\\"], [3153, 0, "d"], [3154, 0, "r"], [3155, 0, "a"], [3156, 0, "w"], [3157, 0, "("], [3158, 0, "2"], [3159, 0, ","], [3160, 0, "0"], [3161, 0, ")"], [3162, 0, " "], [3163, 0, "n"], [3164, 0, "o"], [3165, 0, "d"], [3166, 0, "e"], [3167, 0, " "], [3168, 0, "{"], [3169, 0, "H"], [3170, 0, "e"], [3171, 0, "l"], [3172, 0, "l"], [3173, 0, "o"], [3174, 0, "}"], [3175, 0, " "], [3176, 0, "-"], [3177, 0, "-"], [3178, 0, " "], [3179, 0, "("], [3157, 0, " "], [3181, 0, "0"], [3182, 0, ","], [3183, 0, " "], [3184, 0, "2"], [3183, 1], [3184, 0, ")"], [3185, 0, " "], [3186, 0, "n"], [3187, 0, "o"], [3188, 0, "d"], [3189, 0, "e"], [3190, 0, " "], [3191, 0, "{"], [3192, 0, "W"], [3193, 0, "o"], [3194, 0, "r"], [3195, 0, "l"], [3196, 0, "d"], [3197, 0, "}"], [3198, 0, ";"], [3131, 0, "\n"], [3132, 0, "\\"], [3133, 0, "c"], [3134, 0, "e"], [3135, 0, "n"], [3136, 0, "t"], [3137, 0, "e"], [3138, 0, "r"], [3139, 0, "i"], [3140, 0, "n"], [3141, 0, "g"], [3172, 1], [3172, 0, "2"], [3194, 1], [3194, 0, "0"], [3185, 1], [3184, 1], [3183, 1], [3182, 1], [3181, 1], [3181, 0, "v"], [3181, 1], [3181, 0, "\\"], [3182, 0, "v"], [3183, 0, "e"], [3184, 0, "r"], [3185, 0, "b"], [3186, 0, "|"], [3187, 0, "{"], [3188, 0, "\""], [3189, 0, "t"], [3190, 0, "i"], [3191, 0, "t"], [3192, 0, "l"], [3193, 0, "e"], [3194, 0, "\""], [3195, 0, ":"], [3196, 0, " "], [3197, 0, "\""], [3198, 0, "A"], [3199, 0, "\""], [3200, 0, "}"], [3201, 0, "|"], [3203, 0, "\n"], [3204, 0, " "], [3205, 0, " "], [3226, 1], [3225, 1], [3224, 1], [3223, 1], [3222, 1], [3222, 0, "\\"], [3223, 0, "v"], [3224, 0, "e"], [3225, 0, "r"], [3226, 0, "b"], [3227, 0, "|"], [3228, 0, "{"], [3229, 0, "\""], [3230, 0, "t"], [3231, 0, "i"], [3232, 0, "t"], [3233, 0, "l"], [3234, 0, "e"], [3235, 0, "\""], [3236, 0, ":"], [3237, 0, " "], [3238, 0, ":"], [3238, 1], [3238, 0, "\""], [3239, 0, "B"], [3240, 0, "\""], [3241, 0, "}"], [3242, 0, "|"], [3213, 1], [3213, 0, "1"], [3214, 0, " "], [3214, 1], [293, 1], [293, 1], [293, 1], [293, 1], [293, 1], [293, 1], [293, 1], [293, 1], [293, 1], [293, 1], [293, 1], [293, 1], [293, 1], [293, 1], [293, 1], [293, 1], [293, 1], [293, 1], [391, 0, "\n"], [392, 0, "\n"], [393, 0, "%"], [394, 0, " "], [395, 0, "D"], [396, 0, "i"], [397, 0, "a"], [398, 0, "g"], [399, 0, "r"], [400, 0, "a"], [401, 0, "m"], [402, 0, "s"], [403, 0, "\n"], [404, 0, "\\"], [405, 0, "u"], [406, 0, "s"], [407, 0, "e"], [408, 0, "p"], [409, 0, "a"], [410, 0, "c"], [411, 0, "k"], [412, 0, "a"], [413, 0, "g"], [414, 0, "e"], [415, 0, "{"], [416, 0, "t"], [417, 0, "i"], [418, 0, "k"], [419, 0, "z"], [420, 0, "}"], [421, 0, "\n"], [422, 0, "\\"], [423, 0, "u"], [424, 0, "s"], [425, 0, "e"], [426, 0, "t"], [427, 0, "i"], [428, 0, "k"], [429, 0, "z"], [430, 0, "l"], [431, 0, "i"], [432, 0, "b"], [433, 0, "r"], [434, 0, "a"], [435, 0, "r"], [436, 0, "y"], [437, 0, "{"], [438, 0, "a"], [439, 0, "r"], [440, 0, "r"], [441, 0, "o"], [442, 0, "w"], [443, 0, "s"], [444, 0, "}"], [445, 0, "\n"], [3199, 0, "\n"], [3200, 0, "\\"], [3201, 0, "n"], [3202, 0, "o"], [3203, 0, "d"], [3204, 0, "e"], [3205, 0, "["], [3206, 0, "s"], [3207, 0, "t"], [3208, 0, "a"], [3209, 0, "r"], [3210, 0, "t"], [3211, 0, "]"], [3211, 1], [3210, 1], [3209, 1], [3208, 1], [3207, 1], [3206, 1], [3205, 1], [3205, 0, " "], [3206, 0, "("], [3207, 0, "s"], [3208, 0, "t"], [3209, 0, "a"], [3210, 0, "r"], [3211, 0, "t"], [3212, 0, ")"], [3213, 0, " "], [3214, 0, "a"], [3215, 0, "t"], [3216, 0, " "], [3217, 0, "("], [3218, 0, "2"], [3219, 0, ","], [3220, 0, "2"], [3221, 0, ")"], [3222, 1], [3222, 1], [3222, 1], [3222, 1], [3222, 1], [3222, 1], [3222, 1], [3222, 1], [3222, 1], [3222, 1], [3222, 1], [3222, 1], [3222, 1], [3222, 1], [3222, 1], [3222, 1], [3222, 1], [3247, 0, "\\"], [3248, 0, "n"], [3249, 0, "o"], [3250, 0, "d"], [3251, 0, "e"], [3252, 0, " "], [3253, 0, "("], [3254, 0, "l"], [3255, 0, "e"], [3256, 0, "f"], [3257, 0, "t"], [3258, 0, ")"], [3261, 1], [3261, 1], [3261, 1], [3261, 0, "a"], [3262, 0, "t"], [3270, 1], [3270, 1], [3270, 1], [3270, 1], [3270, 1], [3246, 0, ";"], [3295, 0, "\n"], [3296, 0, "\\"], [3297, 0, "d"], [3298, 0, "r"], [3299, 0, "a"], [3300, 0, "w"], [3301, 0, " "], [3302, 0, "["], [3303, 0, "-"], [3304, 0, ">"], [3305, 0, "]"], [3306, 0, " "], [3307, 0, "("], [3308, 0, "s"], [3309, 0, "t"], [3310, 0, "a"], [3311, 0, "r"], [3312, 0, "t"], [3313, 0, ")"], [3314, 0, " "], [3315, 0, "-"], [3316, 0, "-"], [3317, 0, " "], [3318, 0, "("], [3319, 0, "e"], [3320, 0, "n"], [3321, 0, "t"], [3322, 0, "e"], [3323, 0, "r"], [3324, 0, " "], [3325, 0, "l"], [3326, 0, "e"], [3327, 0, "f"], [3328, 0, "t"], [3329, 0, ")"], [3330, 0, ";"], [3324, 1], [3323, 1], [3322, 1], [3321, 1], [3320, 1], [3319, 1], [3295, 0, "\n"], [3296, 0, "\\"], [3297, 0, "n"], [3298, 0, "o"], [3299, 0, "d"], [3300, 0, "e"], [3301, 0, " "], [3302, 0, "("], [3303, 0, "r"], [3304, 0, "i"], [3305, 0, "g"], [3306, 0, "h"], [3307, 0, "t"], [3308, 0, ")"], [3309, 0, " "], [3310, 0, "a"], [3311, 0, "t"], [3312, 0, " "], [3313, 0, "("], [3314, 0, "4"], [3315, 0, ","], [3316, 0, "1"], [3317, 0, ")"], [3318, 0, " "], [3319, 0, "{"], [3320, 0, "\\"], [3321, 0, "v"], [3322, 0, "e"], [3323, 0, "r"], [3324, 0, "b"], [3325, 0, "|"], [3326, 0, "{"], [3327, 0, "\""], [3328, 0, "t"], [3329, 0, "i"], [3330, 0, "t"], [3331, 0, "l"], [3332, 0, "e"], [3333, 0, "\""], [3334, 0, ":"], [3335, 0, " "], [3336, 0, "\""], [3337, 0, "C"], [3338, 0, "\""], [3339, 0, "}"], [3340, 0, "|"], [3341, 0, "}"], [3342, 0, ";"], [3373, 0, "\n"], [3374, 0, "\\"], [3375, 0, "d"], [3376, 0, "r"], [3377, 0, "a"], [3378, 0, "w"], [3379, 0, " "], [3380, 0, "["], [3381, 0, "-"], [3382, 0, ">"], [3383, 0, "]"], [3384, 0, " "], [3385, 0, "("], [3386, 0, "s"], [3387, 0, "t"], [3388, 0, "a"], [3389, 0, "r"], [3390, 0, "t"], [3391, 0, ")"], [3392, 0, " "], [3393, 0, "-"], [3394, 0, "-"], [3395, 0, " "], [3396, 0, "("], [3397, 0, "r"], [3398, 0, "i"], [3399, 0, "g"], [3400, 0, "h"], [3401, 0, "t"], [3402, 0, ")"], [3403, 0, ";"], [3259, 0, "1"], [3309, 0, "1"], [3213, 0, " "], [3221, 1], [3221, 0, "4"], [3270, 1], [3270, 0, "2"], [3319, 1], [3319, 0, "2"], [3346, 0, "\n"], [3347, 0, "\\"], [3348, 0, "n"], [3349, 0, "o"], [3350, 0, "d"], [3351, 0, "e"], [3352, 0, " "], [3353, 0, "("], [3354, 0, "l"], [3355, 0, "e"], [3356, 0, "f"], [3357, 0, "t"], [3358, 0, "2"], [3359, 0, ")"], [3360, 0, " "], [3361, 0, " "], [3362, 0, "a"], [3363, 0, "t"], [3364, 0, " "], [3365, 0, "("], [3366, 0, "0"], [3367, 0, ","], [3368, 0, " "], [3369, 0, "0"], [3369, 1], [3368, 1], [3368, 0, ")"], [3368, 1], [3368, 0, "0"], [3369, 0, ")"], [3370, 0, " "], [3371, 0, "{"], [3372, 0, "\\"], [3373, 0, "v"], [3374, 0, "e"], [3375, 0, "r"], [3376, 0, "b"], [3377, 0, "|"], [3378, 0, "{"], [3379, 0, "\""], [3380, 0, "t"], [3381, 0, "i"], [3382, 0, "t"], [3383, 0, "l"], [3384, 0, "e"], [3385, 0, "\""], [3386, 0, ":"], [3387, 0, ":"], [3388, 0, " "], [3389, 0, "{"], [3389, 1], [3388, 1], [3387, 1], [3387, 0, " "], [3388, 0, "{"], [3389, 0, "\""], [3390, 0, "B"], [3391, 0, "\""], [3392, 0, ","], [3393, 0, "\""], [3394, 0, "C"], [3395, 0, "\""], [3396, 0, "}"], [3397, 0, "}"], [3398, 0, "|"], [3399, 0, "}"], [3400, 0, ";"], [3401, 0, "\n"], [3402, 0, "\\"], [3403, 0, "n"], [3404, 0, "o"], [3405, 0, "d"], [3406, 0, "e"], [3407, 0, " "], [3408, 0, "("], [3409, 0, "r"], [3410, 0, "i"], [3411, 0, "g"], [3412, 0, "h"], [3413, 0, "t"], [3414, 0, "2"], [3415, 0, ")"], [3416, 0, " "], [3417, 0, "a"], [3418, 0, "t"], [3419, 0, " "], [3420, 0, "("], [3421, 0, "4"], [3422, 0, ","], [3423, 0, "0"], [3424, 0, ")"], [3425, 0, " "], [3426, 0, "{"], [3427, 0, "\\"], [3428, 0, "v"], [3429, 0, "e"], [3430, 0, "r"], [3431, 0, "b"], [3432, 0, "|"], [3433, 0, "{"], [3434, 0, "\""], [3435, 0, "t"], [3436, 0, "i"], [3437, 0, "t"], [3438, 0, "l"], [3439, 0, "e"], [3440, 0, "\""], [3441, 0, ":"], [3442, 0, " "], [3443, 0, "{"], [3444, 0, "\""], [3445, 0, "B"], [3446, 0, "\""], [3447, 0, ","], [3448, 0, "\""], [3449, 0, "C"], [3450, 0, "\""], [3451, 0, "}"], [3452, 0, "}"], [3453, 0, "|"], [3454, 0, "}"], [3455, 0, ";"], [3517, 0, "\n"], [3518, 0, "\\"], [3519, 0, "d"], [3520, 0, "r"], [3521, 0, "a"], [3522, 0, "w"], [3523, 0, " "], [3524, 0, "["], [3525, 0, "-"], [3526, 0, ">"], [3527, 0, "]"], [3528, 0, " "], [3529, 0, "("], [3484, 0, "1"], [3516, 0, "1"], [3532, 0, "l"], [3533, 0, "e"], [3534, 0, "f"], [3535, 0, "t"], [3536, 0, "1"], [3537, 0, ")"], [3538, 0, " "], [3539, 0, "-"], [3540, 0, "-"], [3541, 0, " "], [3542, 0, "("], [3543, 0, "l"], [3544, 0, "e"], [3545, 0, "f"], [3546, 0, "t"], [3547, 0, "2"], [3548, 0, ")"], [3549, 0, ";"], [3550, 0, "\n"], [3551, 0, "\\"], [3552, 0, "d"], [3553, 0, "r"], [3554, 0, "a"], [3555, 0, "w"], [3556, 0, " "], [3557, 0, "["], [3558, 0, "p"], [3558, 1], [3558, 0, "-"], [3559, 0, ">"], [3560, 0, "]"], [3561, 0, " "], [3562, 0, "("], [3563, 0, "l"], [3564, 0, "e"], [3565, 0, "f"], [3566, 0, "t"], [3567, 0, "1"], [3568, 0, ")"], [3569, 0, " "], [3570, 0, "-"], [3571, 0, "-"], [3572, 0, " "], [3573, 0, "("], [3573, 1], [3573, 0, "("], [3574, 0, "r"], [3575, 0, "i"], [3576, 0, "g"], [3577, 0, "h"], [3578, 0, "t"], [3579, 0, "y"], [3580, 0, "2"], [3580, 1], [3579, 1], [3579, 0, "2"], [3580, 0, ")"], [3581, 0, ";"], [3582, 0, "\n"], [3583, 0, "\\"], [3584, 0, "d"], [3585, 0, "r"], [3586, 0, "a"], [3587, 0, "w"], [3588, 0, " "], [3589, 0, "["], [3590, 0, "-"], [3591, 0, ">"], [3592, 0, "]"], [3593, 0, " "], [3594, 0, "("], [3595, 0, "r"], [3596, 0, "i"], [3597, 0, "g"], [3598, 0, "h"], [3599, 0, "t"], [3600, 0, "1"], [3601, 0, ")"], [3602, 0, " "], [3603, 0, "-"], [3604, 0, "-"], [3605, 0, " "], [3606, 0, "("], [3607, 0, "l"], [3608, 0, "e"], [3609, 0, "f"], [3610, 0, "t"], [3611, 0, "2"], [3612, 0, ")"], [3613, 0, ";"], [3614, 0, "\n"], [3615, 0, "\\"], [3616, 0, "d"], [3617, 0, "r"], [3618, 0, "a"], [3619, 0, "w"], [3620, 0, " "], [3621, 0, "["], [3622, 0, "-"], [3623, 0, ">"], [3624, 0, "]"], [3625, 0, " "], [3626, 0, "("], [3627, 0, "r"], [3628, 0, "i"], [3629, 0, "g"], [3630, 0, "h"], [3631, 0, "t"], [3632, 0, "2"], [3632, 1], [3632, 0, "1"], [3633, 0, ")"], [3634, 0, " "], [3635, 0, "-"], [3636, 0, "-"], [3637, 0, " "], [3638, 0, "("], [3639, 0, "r"], [3640, 0, "i"], [3641, 0, "g"], [3642, 0, "h"], [3643, 0, "t"], [3644, 0, "2"], [3645, 0, ")"], [3646, 0, ";"], [3233, 1], [3233, 1], [3233, 1], [3233, 1], [3233, 1], [3233, 0, "k"], [3234, 0, "e"], [3235, 0, "y"], [3280, 1], [3280, 1], [3280, 1], [3280, 1], [3280, 1], [3280, 0, "k"], [3281, 0, "e"], [3282, 0, "y"], [3327, 1], [3327, 1], [3327, 1], [3327, 1], [3327, 1], [3327, 0, "k"], [3328, 0, "e"], [3329, 0, "y"], [3374, 1], [3374, 1], [3374, 1], [3374, 1], [3374, 1], [3374, 0, "k"], [3375, 0, "e"], [3376, 0, "y"], [3427, 1], [3427, 1], [3427, 1], [3427, 1], [3427, 1], [3427, 0, "k"], [3428, 0, "e"], [3429, 0, "y"], [3432, 1], [3379, 1], [3332, 1], [3285, 1], [3238, 1], [3471, 1], [3481, 1], [3480, 1], [3479, 1], [3478, 1], [3477, 1], [3476, 1], [3475, 1], [3474, 1], [3473, 1], [3472, 1], [3472, 0, "["], [3473, 0, "-"], [3474, 0, ">"], [3475, 0, "]"], [3471, 0, ";"], [3473, 0, "\\"], [3474, 0, "d"], [3475, 0, "r"], [3476, 0, "a"], [3477, 0, "w"], [3478, 0, " "], [3462, 1], [3461, 1], [3461, 0, "t"], [3462, 0, "o"], [3493, 1], [3492, 1], [3492, 0, "t"], [3493, 0, "o"], [3463, 0, " "], [3464, 0, "n"], [3465, 0, "o"], [3466, 0, "d"], [3467, 0, "e"], [3468, 0, " "], [3469, 0, "{"], [3470, 0, "x"], [3471, 0, "}"], [3472, 0, " "], [3473, 0, "n"], [3474, 0, "o"], [3475, 0, "d"], [3476, 0, "e"], [3476, 1], [3475, 1], [3474, 1], [3473, 1], [3472, 1], [3471, 1], [3470, 1], [3469, 1], [3468, 1], [3467, 1], [3466, 1], [3465, 1], [3464, 1], [3463, 1], [3462, 1], [3461, 1], [3461, 0, "e"], [3462, 0, "d"], [3463, 0, "g"], [3464, 0, "e"], [3465, 0, " "], [3466, 0, "{"], [3467, 0, "x"], [3468, 0, "}"], [3464, 1], [3463, 1], [3462, 1], [3461, 1], [3460, 1], [3460, 0, " "], [3461, 0, "e"], [3462, 0, "d"], [3463, 0, "g"], [3464, 0, "e"], [3465, 0, " "], [3466, 0, "n"], [3467, 0, "o"], [3468, 0, "d"], [3469, 0, "e"], [3199, 0, "["], [3200, 0, "a"], [3201, 0, "u"], [3202, 0, "d"], [3202, 1], [3202, 0, "t"], [3203, 0, "o"], [3204, 0, "]"], [3478, 1], [3478, 0, "\\"], [3479, 0, "t"], [3480, 0, "e"], [3481, 0, "x"], [3482, 0, "t"], [3483, 0, "s"], [3484, 0, "f"], [3485, 0, "{"], [3486, 0, "d"], [3487, 0, "o"], [3488, 0, "c"], [3489, 0, "["], [3490, 0, "`"], [3491, 0, "`"], [3492, 0, "k"], [3493, 0, "e"], [3494, 0, "y"], [3495, 0, "'"], [3496, 0, "'"], [3497, 0, "]"], [3498, 0, " "], [3499, 0, ":"], [3500, 0, "="], [3501, 0, " "], [3502, 0, "`"], [3503, 0, "`"], [3504, 0, "B"], [3505, 0, "'"], [3506, 0, "'"], [3507, 0, ";"], [3489, 0, "\\"], [3498, 0, "\\"], [3511, 0, "}"], [3478, 0, "$"], [3480, 1], [3480, 1], [3480, 1], [3480, 1], [3480, 0, "m"], [3481, 0, "a"], [3482, 0, "t"], [3483, 0, "h"], [3490, 0, "}"], [3491, 1], [3492, 0, "\\"], [3493, 0, "t"], [3494, 0, "e"], [3495, 0, "x"], [3496, 0, "t"], [3497, 0, "{"], [3505, 1], [3505, 0, "}"], [3517, 1], [3517, 0, "$"], [3511, 0, "\\"], [3512, 0, "t"], [3513, 0, "e"], [3514, 0, "x"], [3515, 0, "t"], [3516, 0, "{"], [3523, 0, "}"], [3485, 1], [3484, 1], [3483, 1], [3482, 1], [3481, 1], [3480, 1], [3480, 0, "t"], [3481, 0, "e"], [3482, 0, "x"], [3483, 0, "t"], [3554, 1], [3553, 1], [3553, 0, "e"], [3554, 0, "d"], [3555, 0, "g"], [3556, 0, "e"], [3557, 0, " "], [3558, 0, "n"], [3559, 0, "o"], [3560, 0, "d"], [3561, 0, "e"], [3562, 0, " "], [3563, 0, "{"], [3564, 0, "$"], [3565, 0, "\\"], [3566, 0, "t"], [3567, 0, "e"], [3568, 0, "x"], [3569, 0, "t"], [3570, 0, "{"], [3571, 0, "d"], [3572, 0, "o"], [3573, 0, "c"], [3574, 0, "}"], [3575, 0, "["], [3576, 0, "\\"], [3577, 0, "t"], [3578, 0, "e"], [3579, 0, "x"], [3580, 0, "t"], [3581, 0, "{"], [3582, 0, "`"], [3583, 0, "`"], [3584, 0, "k"], [3585, 0, "e"], [3586, 0, "y"], [3587, 0, "'"], [3588, 0, "'"], [3589, 0, "}"], [3590, 0, "]"], [3591, 0, " "], [3592, 0, ":"], [3593, 0, "="], [3594, 0, " "], [3595, 0, "\\"], [3596, 0, "t"], [3597, 0, "e"], [3598, 0, "x"], [3599, 0, "t"], [3600, 0, "{"], [3601, 0, "`"], [3602, 0, "`"], [3603, 0, "C"], [3604, 0, "'"], [3605, 0, "'"], [3606, 0, ";"], [3607, 0, "}"], [3608, 0, "$"], [3609, 0, "}"], [3556, 1], [3555, 1], [3554, 1], [3553, 1], [3553, 0, "t"], [3554, 0, "o"], [3467, 1], [3467, 1], [3467, 1], [3467, 1], [3467, 0, "t"], [3468, 0, "o"], [3474, 0, " "], [3475, 0, "["], [3476, 0, "a"], [3477, 0, "b"], [3478, 0, "o"], [3479, 0, "v"], [3480, 0, "e"], [3481, 0, "]"], [3566, 0, " "], [3567, 0, "["], [3568, 0, "a"], [3569, 0, "b"], [3570, 0, "o"], [3571, 0, "v"], [3572, 0, "e"], [3573, 0, "]"], [3481, 0, ","], [3482, 0, "s"], [3483, 0, "l"], [3484, 0, "o"], [3485, 0, "p"], [3486, 0, "e"], [3487, 0, "d"], [3580, 0, ","], [3581, 0, "s"], [3582, 0, "l"], [3583, 0, "o"], [3584, 0, "p"], [3585, 0, "e"], [3586, 0, "d"], [3227, 1], [3227, 0, "5"], [3491, 0, "\\"], [3492, 0, "f"], [3493, 0, "o"], [3494, 0, "o"], [3495, 0, "t"], [3496, 0, "n"], [3497, 0, "o"], [3498, 0, "t"], [3499, 0, "e"], [3500, 0, "s"], [3501, 0, "i"], [3502, 0, "z"], [3503, 0, "e"], [3504, 0, " "], [3604, 0, "\\"], [3605, 0, "f"], [3606, 0, "o"], [3607, 0, "o"], [3608, 0, "t"], [3609, 0, "n"], [3610, 0, "o"], [3611, 0, "t"], [3612, 0, "e"], [3613, 0, "s"], [3614, 0, "i"], [3615, 0, "z"], [3616, 0, "e"], [3617, 0, " "], [3694, 1], [3694, 1], [3694, 0, "t"], [3695, 0, "o"], [3696, 0, " "], [3697, 0, "n"], [3698, 0, "o"], [3699, 0, "d"], [3700, 0, "e"], [3701, 0, " "], [3702, 0, "["], [3703, 0, "l"], [3704, 0, "e"], [3705, 0, "f"], [3706, 0, "t"], [3707, 0, "]"], [3708, 0, " "], [3709, 0, "{"], [3710, 0, "\\"], [3711, 0, "f"], [3712, 0, "o"], [3713, 0, "o"], [3714, 0, "t"], [3715, 0, "n"], [3716, 0, "o"], [3717, 0, "t"], [3718, 0, "e"], [3719, 0, "s"], [3720, 0, "i"], [3721, 0, "z"], [3722, 0, "e"], [3723, 0, " "], [3724, 0, "y"], [3725, 0, "i"], [3726, 0, "e"], [3727, 0, "l"], [3728, 0, "d"], [3729, 0, ";"], [3730, 0, "}"], [3761, 1], [3760, 1], [3760, 0, "t"], [3761, 0, "o"], [3794, 1], [3793, 1], [3793, 0, "t"], [3794, 0, "o"], [3795, 0, " "], [3796, 0, "n"], [3797, 0, "o"], [3798, 0, "d"], [3799, 0, "e"], [3800, 0, " "], [3801, 0, "["], [3802, 0, "r"], [3803, 0, "i"], [3804, 0, "g"], [3805, 0, "h"], [3806, 0, "t"], [3807, 0, "]"], [3808, 0, " "], [3809, 0, "{"], [3810, 0, "\\"], [3811, 0, "f"], [3812, 0, "o"], [3813, 0, "o"], [3814, 0, "t"], [3815, 0, "n"], [3816, 0, "o"], [3817, 0, "t"], [3818, 0, "e"], [3819, 0, "s"], [3820, 0, "i"], [3821, 0, "z"], [3822, 0, "e"], [3823, 0, " "], [3824, 0, "y"], [3825, 0, "i"], [3826, 0, "e"], [3827, 0, "l"], [3828, 0, "d"], [3829, 0, ";"], [3830, 0, "}"], [3862, 1], [3861, 1], [3861, 0, "t"], [3862, 0, "o"], [3863, 0, " "], [3864, 0, "n"], [3865, 0, "o"], [3866, 0, "d"], [3867, 0, "e"], [3868, 0, " "], [3869, 0, "["], [3870, 0, "r"], [3871, 0, "i"], [3872, 0, "g"], [3873, 0, "h"], [3874, 0, "t"], [3875, 0, "]"], [3876, 0, " "], [3877, 0, "{"], [3878, 0, "\\"], [3879, 0, "f"], [3880, 0, "o"], [3881, 0, "o"], [3882, 0, "t"], [3883, 0, "n"], [3884, 0, "o"], [3885, 0, "t"], [3886, 0, "e"], [3887, 0, "s"], [3888, 0, "i"], [3889, 0, "z"], [3890, 0, "e"], [3891, 0, " "], [3892, 0, "y"], [3893, 0, "i"], [3894, 0, "e"], [3895, 0, "l"], [3896, 0, "d"], [3897, 0, ";"], [3898, 0, "}"], [3830, 1], [3829, 1], [3828, 1], [3827, 1], [3826, 1], [3825, 1], [3824, 1], [3823, 1], [3822, 1], [3821, 1], [3820, 1], [3819, 1], [3818, 1], [3817, 1], [3816, 1], [3815, 1], [3814, 1], [3813, 1], [3812, 1], [3811, 1], [3810, 1], [3809, 1], [3808, 1], [3807, 1], [3806, 1], [3805, 1], [3804, 1], [3803, 1], [3802, 1], [3801, 1], [3800, 1], [3799, 1], [3798, 1], [3797, 1], [3796, 1], [3795, 1], [3273, 1], [3273, 0, "1"], [3319, 1], [3319, 0, "1"], [3227, 1], [3227, 0, "4"], [3274, 0, "."], [3275, 0, "3"], [3275, 1], [3274, 1], [3274, 0, "."], [3275, 0, "5"], [3322, 0, "."], [3323, 0, "5"], [3459, 0, "t"], [3460, 0, "i"], [3461, 0, "c"], [3461, 1], [3460, 1], [3459, 1], [3459, 0, "h"], [3459, 1], [3459, 0, "t"], [3460, 0, "h"], [3461, 0, "i"], [3462, 0, "c"], [3463, 0, "k"], [3464, 0, ","], [3578, 0, "t"], [3579, 0, "h"], [3580, 0, "i"], [3581, 0, "c"], [3582, 0, "k"], [3583, 0, ","], [3698, 0, "t"], [3699, 0, "h"], [3700, 0, "i"], [3701, 0, "c"], [3702, 0, "k"], [3703, 0, ","], [3770, 0, "t"], [3771, 0, "h"], [3772, 0, "i"], [3773, 0, "c"], [3774, 0, "k"], [3775, 0, ","], [3808, 0, "t"], [3809, 0, "h"], [3810, 0, "i"], [3811, 0, "c"], [3812, 0, "k"], [3813, 0, ","], [3846, 0, "t"], [3847, 0, "h"], [3848, 0, "i"], [3849, 0, "c"], [3850, 0, "k"], [3851, 0, ","], [1411, 0, "\n"], [1412, 0, "\n"], [1412, 0, "O"], [1413, 0, "u"], [1414, 0, "r"], [1415, 0, " "], [1416, 0, "d"], [1417, 0, "e"], [1418, 0, "s"], [1419, 0, "i"], [1420, 0, "g"], [1421, 0, "n"], [1422, 0, " "], [1423, 0, "i"], [1424, 0, "s"], [1425, 0, " "], [1426, 0, "b"], [1427, 0, "a"], [1428, 0, "s"], [1429, 0, "e"], [1430, 0, "d"], [1431, 0, " "], [1432, 0, "o"], [1433, 0, "n"], [1434, 0, " "], [1435, 0, "t"], [1436, 0, "w"], [1437, 0, "o"], [1438, 0, " "], [1439, 0, "s"], [1440, 0, "i"], [1441, 0, "m"], [1442, 0, "p"], [1443, 0, "l"], [1444, 0, "e"], [1445, 0, " "], [1446, 0, "p"], [1447, 0, "r"], [1448, 0, "i"], [1449, 0, "n"], [1450, 0, "c"], [1451, 0, "i"], [1452, 0, "p"], [1453, 0, "l"], [1454, 0, "e"], [1455, 0, "s"], [1456, 0, ":"], [1457, 0, " "], [1457, 1], [1457, 0, "\n"], [1458, 0, "\\"], [1459, 0, "b"], [1460, 0, "e"], [1461, 0, "g"], [1462, 0, "i"], [1463, 0, "n"], [1464, 0, "{"], [1465, 0, "e"], [1466, 0, "n"], [1467, 0, "u"], [1468, 0, "m"], [1469, 0, "e"], [1470, 0, "r"], [1471, 0, "a"], [1472, 0, "t"], [1473, 0, "e"], [1474, 0, "}"], [1475, 0, "\n"], [1476, 0, "\\"], [1477, 0, "i"], [1478, 0, "t"], [1479, 0, "e"], [1480, 0, "m"], [1481, 0, " "], [1482, 0, "A"], [1483, 0, "l"], [1484, 0, "l"], [1485, 0, " "], [1486, 0, "r"], [1487, 0, "e"], [1488, 0, "p"], [1489, 0, "l"], [1490, 0, "i"], [1491, 0, "c"], [1492, 0, "a"], [1493, 0, "s"], [1494, 0, " "], [1495, 0, "o"], [1496, 0, "f"], [1497, 0, " "], [1498, 0, "t"], [1499, 0, "h"], [1500, 0, "e"], [1501, 0, " "], [1502, 0, "d"], [1503, 0, "a"], [1504, 0, "t"], [1505, 0, "a"], [1506, 0, " "], [1507, 0, "s"], [1508, 0, "t"], [1509, 0, "r"], [1510, 0, "u"], [1511, 0, "c"], [1512, 0, "t"], [1513, 0, "u"], [1514, 0, "r"], [1515, 0, "e"], [1516, 0, " "], [1517, 0, "s"], [1518, 0, "h"], [1519, 0, "o"], [1520, 0, "u"], [1521, 0, "l"], [1522, 0, "d"], [1523, 0, " "], [1524, 0, "c"], [1525, 0, "o"], [1526, 0, "n"], [1527, 0, "v"], [1528, 0, "e"], [1529, 0, "r"], [1530, 0, "g"], [1531, 0, "e"], [1532, 0, " "], [1533, 0, "t"], [1534, 0, "o"], [1535, 0, "w"], [1536, 0, "a"], [1537, 0, "r"], [1538, 0, "d"], [1539, 0, "s"], [1540, 0, " "], [1541, 0, "t"], [1542, 0, "h"], [1543, 0, "e"], [1544, 0, " "], [1545, 0, "s"], [1546, 0, "a"], [1547, 0, "m"], [1548, 0, "e"], [1549, 0, " "], [1550, 0, "s"], [1551, 0, "a"], [1551, 1], [1551, 0, "t"], [1552, 0, "a"], [1553, 0, "t"], [1554, 0, "e"], [1555, 0, "."], [1556, 0, "\n"], [1557, 0, "\\"], [1558, 0, "i"], [1559, 0, "t"], [1560, 0, "e"], [1561, 0, "m"], [1562, 0, " "], [1563, 0, "N"], [1564, 0, "o"], [1565, 0, " "], [1566, 0, "u"], [1567, 0, "s"], [1568, 0, "e"], [1569, 0, "r"], [1570, 0, " "], [1571, 0, "i"], [1572, 0, "n"], [1573, 0, "p"], [1574, 0, "u"], [1575, 0, "t"], [1576, 0, " "], [1577, 0, "s"], [1578, 0, "h"], [1579, 0, "o"], [1580, 0, "u"], [1581, 0, "l"], [1582, 0, "d"], [1583, 0, " "], [1584, 0, "b"], [1585, 0, "e"], [1586, 0, " "], [1587, 0, "l"], [1588, 0, "o"], [1589, 0, "s"], [1590, 0, "t"], [1591, 0, " "], [1592, 0, "d"], [1593, 0, "u"], [1594, 0, "e"], [1595, 0, " "], [1596, 0, "t"], [1597, 0, "o"], [1598, 0, " "], [1599, 0, "c"], [1600, 0, "o"], [1601, 0, "n"], [1602, 0, "c"], [1603, 0, "u"], [1604, 0, "r"], [1605, 0, "r"], [1606, 0, "e"], [1607, 0, "n"], [1608, 0, "t"], [1609, 0, " "], [1610, 0, "m"], [1611, 0, "o"], [1612, 0, "d"], [1613, 0, "i"], [1614, 0, "f"], [1615, 0, "i"], [1616, 0, "c"], [1617, 0, "a"], [1618, 0, "t"], [1619, 0, "i"], [1620, 0, "o"], [1621, 0, "n"], [1622, 0, "s"], [1623, 0, "."], [1437, 1], [1436, 1], [1435, 1], [1434, 1], [1552, 0, "\n"], [1553, 0, "\\"], [1554, 0, "i"], [1555, 0, "t"], [1556, 0, "e"], [1557, 0, "m"], [1558, 0, " "], [1559, 0, "W"], [1560, 0, "I"], [1561, 0, "n"], [1561, 1], [1560, 1], [1559, 1], [1559, 0, "U"], [1559, 1], [1559, 0, "I"], [1560, 0, "n"], [1561, 0, " "], [1562, 0, "t"], [1563, 0, "h"], [1564, 0, "e"], [1565, 0, " "], [1566, 0, "a"], [1567, 0, "b"], [1568, 0, "s"], [1569, 0, "e"], [1570, 0, "n"], [1571, 0, "c"], [1572, 0, "e"], [1573, 0, " "], [1574, 0, "o"], [1575, 0, "f"], [1576, 0, " "], [1577, 0, "c"], [1578, 0, "o"], [1579, 0, "n"], [1580, 0, "c"], [1581, 0, "u"], [1582, 0, "r"], [1583, 0, "r"], [1584, 0, "e"], [1585, 0, "n"], [1586, 0, "c"], [1587, 0, "y"], [1587, 1], [1586, 1], [1585, 1], [1585, 0, "n"], [1586, 0, "t"], [1587, 0, " "], [1588, 0, "m"], [1589, 0, "o"], [1590, 0, "d"], [1591, 0, "i"], [1592, 0, "f"], [1593, 0, "i"], [1594, 0, "c"], [1595, 0, "a"], [1596, 0, "t"], [1597, 0, "i"], [1598, 0, "o"], [1599, 0, "n"], [1600, 0, "s"], [1601, 0, ","], [1602, 0, " "], [1603, 0, "t"], [1604, 0, "h"], [1605, 0, "e"], [1606, 0, " "], [1607, 0, "d"], [1608, 0, "a"], [1609, 0, "t"], [1610, 0, "a"], [1611, 0, " "], [1612, 0, "s"], [1613, 0, "t"], [1614, 0, "r"], [1615, 0, "u"], [1616, 0, "c"], [1617, 0, "t"], [1618, 0, "u"], [1619, 0, "r"], [1620, 0, "e"], [1621, 0, " "], [1622, 0, "s"], [1623, 0, "h"], [1624, 0, "o"], [1625, 0, "u"], [1626, 0, "l"], [1627, 0, "d"], [1628, 0, " "], [1629, 0, "b"], [1630, 0, "e"], [1631, 0, "h"], [1632, 0, "a"], [1633, 0, "v"], [1634, 0, "e"], [1635, 0, " "], [1636, 0, "l"], [1637, 0, "i"], [1638, 0, "k"], [1639, 0, "e"], [1640, 0, " "], [1641, 0, "i"], [1642, 0, "t"], [1643, 0, "s"], [1644, 0, " "], [1645, 0, "f"], [1646, 0, "a"], [1647, 0, "m"], [1648, 0, "i"], [1649, 0, "l"], [1650, 0, "i"], [1651, 0, "a"], [1652, 0, "r"], [1653, 0, ","], [1654, 0, " "], [1655, 0, "n"], [1656, 0, "o"], [1657, 0, "n"], [1658, 0, "-"], [1659, 0, "r"], [1660, 0, "e"], [1661, 0, "p"], [1662, 0, "l"], [1663, 0, "i"], [1664, 0, "c"], [1665, 0, "a"], [1666, 0, "t"], [1667, 0, "e"], [1668, 0, "d"], [1669, 0, " "], [1670, 0, "v"], [1671, 0, "e"], [1672, 0, "r"], [1673, 0, "s"], [1674, 0, "i"], [1675, 0, "o"], [1676, 0, "n"], [1677, 0, "."], [1747, 0, "\\"], [1748, 0, "e"], [1749, 0, "n"], [1750, 0, "d"], [1751, 0, "{"], [1752, 0, "e"], [1753, 0, "n"], [1754, 0, "u"], [1755, 0, "m"], [1756, 0, "e"], [1757, 0, "r"], [1758, 0, "a"], [1759, 0, "t"], [1760, 0, "e"], [1761, 0, "}"], [1762, 0, "\n"], [1763, 0, "\n"], [1763, 0, "\n"], [1764, 0, "I"], [1765, 0, "f"], [1766, 0, " "], [1767, 0, "t"], [1768, 0, "h"], [1769, 0, "e"], [1770, 0, " "], [1771, 0, "t"], [1772, 0, "h"], [1773, 0, "i"], [1774, 0, "r"], [1775, 0, "d"], [1776, 0, " "], [1777, 0, "c"], [1777, 1], [1776, 1], [1776, 0, " "], [1676, 1], [1675, 1], [1674, 1], [1673, 1], [1672, 1], [1671, 1], [1670, 1], [1670, 0, "c"], [1671, 0, "o"], [1672, 0, "u"], [1673, 0, "n"], [1674, 0, "t"], [1675, 0, "e"], [1676, 0, "r"], [1677, 0, "p"], [1678, 0, "a"], [1679, 0, "r"], [1680, 0, "t"], [1681, 1], [1680, 1], [1679, 1], [1678, 1], [1677, 1], [1676, 1], [1675, 1], [1674, 1], [1673, 1], [1672, 1], [1671, 1], [1670, 1], [1669, 1], [1668, 1], [1667, 1], [1666, 1], [1665, 1], [1664, 1], [1663, 1], [1662, 1], [1661, 1], [1660, 1], [1659, 1], [1658, 1], [1657, 1], [1656, 1], [1655, 1], [1654, 1], [1653, 1], [1652, 1], [1651, 1], [1650, 1], [1649, 1], [1648, 1], [1647, 1], [1646, 1], [1645, 1], [1644, 1], [1643, 1], [1642, 1], [1641, 1], [1640, 1], [1639, 1], [1638, 1], [1637, 1], [1636, 1], [1635, 1], [1634, 1], [1633, 1], [1632, 1], [1631, 1], [1630, 1], [1629, 1], [1628, 1], [1627, 1], [1626, 1], [1625, 1], [1624, 1], [1623, 1], [1622, 1], [1621, 1], [1620, 1], [1619, 1], [1618, 1], [1617, 1], [1616, 1], [1615, 1], [1614, 1], [1613, 1], [1612, 1], [1611, 1], [1610, 1], [1609, 1], [1608, 1], [1607, 1], [1606, 1], [1605, 1], [1604, 1], [1603, 1], [1602, 1], [1601, 1], [1600, 1], [1599, 1], [1598, 1], [1597, 1], [1596, 1], [1595, 1], [1594, 1], [1593, 1], [1592, 1], [1591, 1], [1590, 1], [1589, 1], [1588, 1], [1587, 1], [1586, 1], [1585, 1], [1584, 1], [1583, 1], [1582, 1], [1581, 1], [1580, 1], [1579, 1], [1578, 1], [1577, 1], [1576, 1], [1575, 1], [1574, 1], [1573, 1], [1572, 1], [1571, 1], [1570, 1], [1569, 1], [1568, 1], [1567, 1], [1566, 1], [1565, 1], [1564, 1], [1563, 1], [1562, 1], [1561, 1], [1560, 1], [1559, 1], [1558, 1], [1557, 1], [1556, 1], [1555, 1], [1554, 1], [1553, 1], [1552, 1], [1435, 0, "t"], [1436, 0, "w"], [1437, 0, "o"], [1438, 0, " "], [1654, 1], [1653, 1], [1652, 1], [1651, 1], [1650, 1], [1649, 1], [1649, 0, "s"], [1650, 0, "e"], [1651, 0, "c"], [1652, 0, "o"], [1653, 0, "n"], [1654, 0, "d"], [1655, 0, " "], [1656, 0, "p"], [1657, 0, "r"], [1658, 0, "i"], [1659, 0, "n"], [1660, 0, "c"], [1661, 0, "i"], [1662, 0, "p"], [1663, 0, "l"], [1664, 0, "e"], [1665, 0, " "], [1666, 0, "i"], [1667, 0, "s"], [1668, 0, " "], [1669, 0, "o"], [1670, 0, "m"], [1671, 0, "i"], [1672, 0, "t"], [1673, 0, "t"], [1674, 0, "e"], [1675, 0, "d"], [1676, 0, ","], [1677, 0, " "], [1678, 0, "a"], [1679, 0, " "], [1680, 0, "s"], [1681, 0, "i"], [1682, 0, "m"], [1683, 0, "p"], [1684, 0, "l"], [1685, 0, "e"], [1686, 0, " "], [1687, 0, "c"], [1688, 0, "o"], [1689, 0, "n"], [1690, 0, "f"], [1691, 0, "l"], [1692, 0, "i"], [1693, 0, "c"], [1694, 0, "t"], [1695, 0, " "], [1696, 0, "r"], [1697, 0, "e"], [1698, 0, "s"], [1699, 0, "o"], [1700, 0, "l"], [1701, 0, "u"], [1702, 0, "t"], [1703, 0, "i"], [1704, 0, "o"], [1705, 0, "n"], [1706, 0, " "], [1707, 0, "p"], [1708, 0, "o"], [1709, 0, "l"], [1710, 0, "i"], [1711, 0, "c"], [1712, 0, "y"], [1713, 0, " "], [1687, 0, "`"], [1688, 0, "`"], [1689, 0, "l"], [1690, 0, "a"], [1691, 0, "s"], [1692, 0, "t"], [1693, 0, " "], [1694, 0, "w"], [1695, 0, "r"], [1696, 0, "i"], [1697, 0, "t"], [1698, 0, "e"], [1699, 0, "r"], [1700, 0, " "], [1701, 0, "w"], [1702, 0, "i"], [1703, 0, "n"], [1704, 0, "s"], [1705, 0, "'"], [1706, 0, "'"], [1707, 0, " "], [1735, 0, "i"], [1736, 0, "s"], [1737, 0, " "], [1738, 0, "s"], [1739, 0, "u"], [1740, 0, "f"], [1741, 0, "f"], [1742, 0, "i"], [1743, 0, "c"], [1744, 0, "i"], [1745, 0, "e"], [1746, 0, "n"], [1747, 0, "t"], [1748, 0, ","], [1749, 0, " "], [1750, 0, "i"], [1751, 0, "n"], [1752, 0, " "], [1753, 0, "w"], [1754, 0, "h"], [1755, 0, "i"], [1756, 0, "c"], [1757, 0, "h"], [1758, 0, " "], [1759, 0, "o"], [1760, 0, "n"], [1761, 0, "e"], [1762, 0, " "], [1763, 0, "u"], [1764, 0, "p"], [1765, 0, "d"], [1766, 0, "a"], [1767, 0, "t"], [1768, 0, "e"], [1769, 0, " "], [1769, 1], [1768, 1], [1767, 1], [1766, 1], [1765, 1], [1764, 1], [1763, 1], [1763, 0, "v"], [1764, 0, "e"], [1765, 0, "r"], [1766, 0, "s"], [1767, 0, "i"], [1768, 0, "o"], [1769, 0, "n"], [1770, 0, " "], [1771, 0, "i"], [1772, 0, "s"], [1773, 0, " "], [1774, 0, "c"], [1775, 0, "h"], [1776, 0, "o"], [1777, 0, "s"], [1778, 0, "e"], [1779, 0, "n"], [1780, 0, " "], [1781, 0, "f"], [1782, 0, "r"], [1783, 0, "o"], [1784, 0, "m"], [1785, 0, " "], [1786, 0, "a"], [1787, 0, " "], [1788, 0, "s"], [1789, 0, "e"], [1790, 0, "t"], [1791, 0, " "], [1792, 0, "o"], [1793, 0, "f"], [1794, 0, " "], [1795, 0, "c"], [1796, 0, "o"], [1797, 0, "n"], [1798, 0, "c"], [1799, 0, "u"], [1800, 0, "r"], [1801, 0, "r"], [1802, 0, "e"], [1803, 0, "n"], [1804, 0, "t"], [1805, 0, " "], [1806, 0, "m"], [1807, 0, "o"], [1808, 0, "d"], [1809, 0, "i"], [1810, 0, "f"], [1811, 0, "i"], [1812, 0, "c"], [1813, 0, "a"], [1814, 0, "t"], [1815, 0, "i"], [1816, 0, "o"], [1817, 0, "n"], [1524, 0, "a"], [1525, 0, "u"], [1526, 0, "t"], [1527, 0, "o"], [1528, 0, "m"], [1528, 1], [1527, 1], [1526, 1], [1525, 1], [1524, 1], [1624, 0, "\n"], [1625, 0, "\\"], [1626, 0, "i"], [1627, 0, "t"], [1628, 0, "e"], [1629, 0, "m"], [1630, 0, " "], [1631, 0, "N"], [1632, 0, "o"], [1633, 0, " "], [1634, 0, "a"], [1635, 0, "p"], [1636, 0, "p"], [1637, 0, "l"], [1638, 0, "i"], [1639, 0, "c"], [1640, 0, "a"], [1641, 0, "t"], [1642, 0, "i"], [1643, 0, "o"], [1644, 0, "n"], [1645, 0, " "], [1645, 1], [1644, 1], [1643, 1], [1642, 1], [1641, 1], [1640, 1], [1639, 1], [1638, 1], [1637, 1], [1636, 1], [1635, 1], [1634, 1], [1633, 1], [1632, 1], [1631, 1], [1630, 1], [1629, 1], [1628, 1], [1627, 1], [1626, 1], [1625, 1], [1624, 1], [1524, 0, "a"], [1525, 0, "u"], [1526, 0, "t"], [1527, 0, "o"], [1528, 0, "m"], [1529, 0, "a"], [1530, 0, "t"], [1531, 0, "i"], [1532, 0, "c"], [1533, 0, "a"], [1534, 0, "l"], [1535, 0, "l"], [1536, 0, "y"], [1537, 0, " "], [1832, 0, "s"], [1833, 0, ","], [1834, 0, " "], [1835, 0, "a"], [1836, 0, "n"], [1837, 0, "d"], [1838, 0, " "], [1807, 1], [1806, 1], [1805, 1], [1804, 1], [1803, 1], [1802, 1], [1801, 1], [1800, 1], [1799, 1], [1798, 1], [1797, 1], [1796, 1], [1795, 1], [1794, 1], [1784, 0, " "], [1785, 0, "o"], [1786, 0, "f"], [1787, 0, " "], [1788, 0, "a"], [1789, 0, " "], [1790, 0, "d"], [1791, 0, "o"], [1792, 0, "c"], [1793, 0, "u"], [1794, 0, "m"], [1795, 0, "e"], [1796, 0, "n"], [1797, 0, "t"], [1808, 0, " "], [1809, 0, "a"], [1810, 0, "r"], [1811, 0, "b"], [1812, 0, "i"], [1813, 0, "t"], [1814, 0, "r"], [1815, 0, "a"], [1816, 0, "r"], [1817, 0, "i"], [1818, 0, "l"], [1819, 0, "y"], [1820, 0, ","], [1821, 0, " "], [1822, 0, "a"], [1823, 0, "n"], [1824, 0, "d"], [1825, 0, " "], [1826, 0, "a"], [1827, 0, "n"], [1828, 0, "y"], [1859, 1], [1858, 1], [1857, 1], [1856, 1], [1855, 1], [1854, 1], [1854, 0, " "], [1855, 0, "a"], [1856, 0, "r"], [1857, 0, "e"], [1858, 0, " "], [1859, 0, "d"], [1860, 0, "i"], [1861, 0, "s"], [1862, 0, "c"], [1863, 0, "a"], [1864, 0, "r"], [1865, 0, "d"], [1866, 0, "e"], [1867, 0, "d"], [1868, 0, "."], [1869, 0, " "], [1870, 0, "H"], [1871, 0, "o"], [1872, 0, "w"], [1873, 0, "e"], [1874, 0, "v"], [1875, 0, "e"], [1876, 0, "r"], [1877, 0, ","], [1878, 0, " "], [1879, 0, "t"], [1880, 0, "h"], [1881, 0, "e"], [1882, 0, " "], [1883, 0, "r"], [1884, 0, "e"], [1885, 0, "q"], [1886, 0, "u"], [1887, 0, "i"], [1888, 0, "r"], [1889, 0, "e"], [1890, 0, "m"], [1891, 0, "e"], [1892, 0, "n"], [1893, 0, "t"], [1894, 0, " "], [1895, 0, "t"], [1896, 0, "o"], [1897, 0, " "], [1898, 0, "p"], [1899, 0, "r"], [1900, 0, "e"], [1901, 0, "s"], [1902, 0, "e"], [1903, 0, "r"], [1904, 0, "v"], [1905, 0, "e"], [1906, 0, " "], [1907, 0, "u"], [1908, 0, "s"], [1909, 0, "e"], [1910, 0, "r"], [1911, 0, " "], [1912, 0, "i"], [1913, 0, "n"], [1914, 0, "p"], [1915, 0, "u"], [1916, 0, "t"], [1917, 0, " "], [1918, 0, "r"], [1919, 0, "e"], [1920, 0, "q"], [1921, 0, "u"], [1922, 0, "i"], [1923, 0, "r"], [1924, 0, "e"], [1925, 0, "s"], [1926, 0, " "], [1927, 0, "a"], [1928, 0, " "], [1929, 0, "m"], [1930, 0, "o"], [1931, 0, "r"], [1932, 0, "e"], [1933, 0, " "], [1934, 0, "c"], [1935, 0, "a"], [1936, 0, "r"], [1937, 0, "e"], [1938, 0, "f"], [1939, 0, "u"], [1940, 0, "l"], [1941, 0, " "], [1942, 0, "a"], [1943, 0, "p"], [1944, 0, "p"], [1945, 0, "r"], [1946, 0, "o"], [1947, 0, "a"], [1948, 0, "c"], [1949, 0, "h"], [1950, 0, "."], [4558, 0, "\n"], [4559, 0, "\n"], [4560, 0, "I"], [4561, 0, "n"], [4562, 0, " "], [4563, 0, "t"], [4564, 0, "h"], [4565, 0, "i"], [4566, 0, "s"], [4567, 0, " "], [4568, 0, "s"], [4569, 0, "e"], [4570, 0, "c"], [4571, 0, "t"], [4572, 0, "i"], [4573, 0, "o"], [4574, 0, "n"], [4575, 0, " "], [4576, 0, "w"], [4577, 0, "e"], [4578, 0, " "], [4579, 0, "w"], [4580, 0, "i"], [4581, 0, "l"], [4582, 0, "l"], [4583, 0, " "], [4584, 0, "e"], [4585, 0, "x"], [4586, 0, "a"], [4587, 0, "m"], [4588, 0, "i"], [4589, 0, "n"], [4590, 0, "e"], [4591, 0, " "], [4592, 0, "s"], [4593, 0, "o"], [4594, 0, "m"], [4595, 0, "e"], [4596, 0, " "], [4597, 0, "e"], [4598, 0, "x"], [4599, 0, "a"], [4600, 0, "m"], [4601, 0, "p"], [4602, 0, "l"], [4603, 0, "e"], [4604, 0, "s"], [4605, 0, " "], [4606, 0, "o"], [4607, 0, "f"], [4608, 0, " "], [4609, 0, "c"], [4610, 0, "o"], [4611, 0, "n"], [4612, 0, "c"], [4613, 0, "u"], [4614, 0, "r"], [4615, 0, "r"], [4616, 0, "e"], [4617, 0, "n"], [4618, 0, "t"], [4619, 0, " "], [4620, 0, "e"], [4621, 0, "d"], [4622, 0, "i"], [4623, 0, "t"], [4624, 0, "s"], [4625, 0, " "], [4626, 0, "t"], [4627, 0, "h"], [4628, 0, "a"], [4629, 0, "t"], [4630, 0, " "], [4631, 0, "m"], [4632, 0, "a"], [4633, 0, "y"], [4634, 0, " "], [4635, 0, "o"], [4636, 0, "c"], [4637, 0, "c"], [4638, 0, "u"], [4639, 0, "r"], [4640, 0, " "], [4641, 0, "i"], [4642, 0, "n"], [4643, 0, " "], [4644, 0, "a"], [4645, 0, " "], [4646, 0, "J"], [4647, 0, "S"], [4648, 0, "O"], [4649, 0, "N"], [4650, 0, " "], [4651, 0, "d"], [4652, 0, "o"], [4653, 0, "c"], [4654, 0, "u"], [4655, 0, "m"], [4656, 0, "e"], [4657, 0, "n"], [4658, 0, "t"], [4659, 0, " "], [4659, 1], [4659, 0, ","], [4660, 0, " "], [4661, 0, "i"], [4662, 0, "n"], [4663, 0, " "], [4664, 0, "o"], [4665, 0, "r"], [4666, 0, "d"], [4667, 0, "e"], [4668, 0, "r"], [4669, 0, " "], [4670, 0, "t"], [4671, 0, "o"], [4672, 0, " "], [4673, 0, "i"], [4674, 0, "l"], [4675, 0, "l"], [4676, 0, "u"], [4677, 0, "s"], [4678, 0, "t"], [4679, 0, "r"], [4680, 0, "a"], [4681, 0, "t"], [4682, 0, "e"], [4683, 0, " "], [4684, 0, "s"], [4685, 0, "o"], [4686, 0, "m"], [4687, 0, "e"], [4688, 0, " "], [4689, 0, "o"], [4690, 0, "f"], [4691, 0, " "], [4692, 0, "t"], [4693, 0, "h"], [4694, 0, "e"], [4695, 0, " "], [4696, 0, "s"], [4697, 0, "u"], [4698, 0, "b"], [4699, 0, "t"], [4700, 0, "l"], [4701, 0, "e"], [4702, 0, "t"], [4703, 0, "i"], [4704, 0, "e"], [4705, 0, "s"], [4706, 0, " "], [4707, 0, "t"], [4708, 0, "h"], [4709, 0, "a"], [4710, 0, "t"], [4711, 0, " "], [4712, 0, "a"], [4713, 0, "r"], [4714, 0, "i"], [4715, 0, "s"], [4716, 0, "e"], [4717, 0, "."], [4718, 0, "\n"], [4719, 0, "\n"], [4720, 0, "O"], [4721, 0, "u"], [4722, 0, "r"], [4723, 0, " "], [4724, 0, "f"], [4725, 0, "i"], [4726, 0, "r"], [4727, 0, "s"], [4728, 0, "t"], [4729, 0, " "], [4730, 0, "e"], [4731, 0, "x"], [4732, 0, "a"], [4733, 0, "m"], [4734, 0, "p"], [4735, 0, "l"], [4736, 0, "e"], [4737, 0, " "], [4738, 0, "i"], [4739, 0, "s"], [4740, 0, " "], [4741, 0, "s"], [4742, 0, "h"], [4743, 0, "o"], [4744, 0, "w"], [4745, 0, "n"], [4746, 0, " "], [4747, 0, "i"], [4748, 0, "n"], [4749, 0, " "], [4750, 0, "F"], [4751, 0, "i"], [4752, 0, "g"], [4753, 0, "u"], [4754, 0, "r"], [4755, 0, "e"], [4756, 0, "~"], [4757, 0, "\\"], [4758, 0, "r"], [4759, 0, "e"], [4760, 0, "f"], [4761, 0, "{"], [4762, 0, "f"], [4763, 0, "i"], [4764, 0, "g"], [4765, 0, ":"], [4766, 0, "r"], [4767, 0, "e"], [4768, 0, "g"], [4769, 0, "i"], [4770, 0, "s"], [4771, 0, "t"], [4772, 0, "e"], [4773, 0, "r"], [4774, 0, "-"], [4775, 0, "a"], [4776, 0, "s"], [4777, 0, "s"], [4778, 0, "i"], [4779, 0, "g"], [4780, 0, "n"], [4781, 0, "}"], [4782, 0, "."], [4783, 0, " "], [4784, 0, "A"], [4785, 0, " "], [4786, 0, "d"], [4787, 0, "o"], [4788, 0, "c"], [4789, 0, "u"], [4790, 0, "m"], [4791, 0, "e"], [4792, 0, "n"], [4793, 0, "t"], [4794, 0, " "], [4795, 0, "t"], [4796, 0, "h"], [4797, 0, "a"], [4798, 0, "t"], [4799, 0, " "], [4800, 0, "m"], [4801, 0, "a"], [4802, 0, "p"], [4803, 0, "s"], [4804, 0, " "], [4784, 1], [4784, 0, "I"], [4785, 0, "n"], [4786, 0, " "], [4787, 0, "a"], [4808, 0, "`"], [4809, 0, "`"], [4810, 0, "k"], [4811, 0, "e"], [4812, 0, "y"], [4813, 0, "'"], [4814, 0, "'"], [4815, 0, " "], [4816, 0, "t"], [4817, 0, "o"], [4818, 0, " "], [4819, 0, "`"], [4820, 0, "`"], [4821, 0, "A"], [4822, 0, "'"], [4823, 0, "'"], [4824, 0, ","], [4825, 0, " "], [4826, 0, "o"], [4827, 0, "n"], [4828, 0, "e"], [4829, 0, " "], [4830, 0, "r"], [4831, 0, "e"], [4832, 0, "p"], [4833, 0, "l"], [4834, 0, "i"], [4835, 0, "c"], [4836, 0, "a"], [4837, 0, " "], [4838, 0, "s"], [4839, 0, "e"], [4840, 0, "t"], [4841, 0, "s"], [4842, 0, " "], [4843, 0, "t"], [4844, 0, "h"], [4845, 0, "e"], [4846, 0, " "], [4847, 0, "v"], [4848, 0, "a"], [4849, 0, "l"], [4850, 0, "u"], [4851, 0, "e"], [4852, 0, " "], [4853, 0, "o"], [4854, 0, "f"], [4855, 0, " "], [4856, 0, "t"], [4857, 0, "h"], [4858, 0, "e"], [4859, 0, " "], [4860, 0, "k"], [4861, 0, "e"], [4862, 0, "y"], [4863, 0, " "], [4864, 0, "t"], [4865, 0, "o"], [4866, 0, " "], [4867, 0, "`"], [4868, 0, "`"], [4869, 0, "B"], [4870, 0, "'"], [4871, 0, "'"], [4872, 0, ","], [4873, 0, " "], [4874, 0, "w"], [4875, 0, "h"], [4876, 0, "i"], [4877, 0, "l"], [4878, 0, "e"], [4879, 0, " "], [4880, 0, "a"], [4881, 0, "n"], [4882, 0, "o"], [4883, 0, "t"], [4884, 0, "h"], [4885, 0, "e"], [4886, 0, "r"], [4887, 0, " "], [4888, 0, "c"], [4889, 0, "o"], [4890, 0, "n"], [4891, 0, "c"], [4892, 0, "u"], [4893, 0, "r"], [4894, 0, "r"], [4895, 0, "e"], [4896, 0, "n"], [4897, 0, "t"], [4898, 0, "l"], [4899, 0, "y"], [4900, 0, " "], [4901, 0, "s"], [4902, 0, "e"], [4903, 0, "t"], [4904, 0, "s"], [4905, 0, " "], [4906, 0, "i"], [4907, 0, "t"], [4908, 0, " "], [4909, 0, "t"], [4910, 0, "o"], [4911, 0, " "], [4912, 0, "`"], [4913, 0, "`"], [4914, 0, "C"], [4915, 0, "'"], [4916, 0, "'"], [4917, 0, "."], [4918, 0, " "], [4919, 0, "A"], [4920, 0, "s"], [4921, 0, " "], [4922, 0, "t"], [4923, 0, "h"], [4924, 0, "e"], [4925, 0, " "], [4926, 0, "r"], [4927, 0, "e"], [4928, 0, "p"], [4929, 0, "l"], [4930, 0, "i"], [4931, 0, "c"], [4932, 0, "a"], [4933, 0, "s"], [4934, 0, " "], [4935, 0, "s"], [4936, 0, "u"], [4937, 0, "b"], [4938, 0, "s"], [4939, 0, "e"], [4940, 0, "q"], [4941, 0, "u"], [4942, 0, "e"], [4943, 0, "n"], [4944, 0, "t"], [4945, 0, "l"], [4946, 0, "y"], [4947, 0, " "], [4948, 0, "e"], [4949, 0, "x"], [4950, 0, "c"], [4951, 0, "h"], [4952, 0, "a"], [4953, 0, "n"], [4954, 0, "g"], [4955, 0, "e"], [4956, 0, " "], [4957, 0, "e"], [4958, 0, "d"], [4959, 0, "i"], [4960, 0, "t"], [4961, 0, "s"], [4962, 0, ","], [4963, 0, " "], [4964, 0, "t"], [4965, 0, "h"], [4966, 0, "e"], [4967, 0, "y"], [4968, 0, " "], [4862, 1], [4861, 1], [4860, 1], [4860, 0, "r"], [4861, 0, "e"], [4862, 0, "g"], [4863, 0, "i"], [4864, 0, "s"], [4865, 0, "t"], [4866, 0, "e"], [4867, 0, "r"], [4974, 0, "d"], [4975, 0, "e"], [4976, 0, "t"], [4977, 0, "e"], [4978, 0, "c"], [4979, 0, "t"], [4980, 0, " "], [4981, 0, "t"], [4982, 0, "h"], [4983, 0, "e"], [4984, 0, " "], [4985, 0, "c"], [4986, 0, "o"], [4987, 0, "n"], [4988, 0, "f"], [4989, 0, "l"], [4990, 0, "i"], [4991, 0, "c"], [4992, 0, "t"], [4993, 0, "."], [4994, 0, " "], [4995, 0, "S"], [4996, 0, "i"], [4997, 0, "n"], [4998, 0, "c"], [4999, 0, "e"], [5000, 0, " "], [5001, 0, "w"], [5002, 0, "e"], [5003, 0, " "], [5004, 0, "r"], [5005, 0, "u"], [5006, 0, "l"], [5007, 0, "e"], [5008, 0, " "], [5009, 0, "o"], [5010, 0, "u"], [5011, 0, "t"], [5012, 0, " "], [5013, 0, "t"], [5014, 0, "h"], [5015, 0, "e"], [5016, 0, " "], [5016, 1], [5015, 1], [5014, 1], [5013, 1], [5012, 1], [5011, 1], [5010, 1], [5009, 1], [5008, 1], [5007, 1], [5006, 1], [5005, 1], [5004, 1], [5004, 0, "d"], [5005, 0, "o"], [5006, 0, " "], [5007, 0, "n"], [5008, 0, "o"], [5009, 0, "t"], [5010, 0, " "], [5011, 0, "w"], [5012, 0, "a"], [5013, 0, "n"], [5014, 0, "t"], [5015, 0, " "], [5016, 0, "t"], [5017, 0, "o"], [5018, 0, " "], [5019, 0, "s"], [5020, 0, "i"], [5021, 0, "m"], [5022, 0, "p"], [5023, 0, "l"], [5024, 0, "y"], [5025, 0, " "], [5026, 0, "d"], [5027, 0, "i"], [5028, 0, "s"], [5029, 0, "c"], [5030, 0, "a"], [5031, 0, "r"], [5032, 0, "d"], [5033, 0, " "], [5034, 0, "o"], [5035, 0, "n"], [5036, 0, "e"], [5037, 0, " "], [5038, 0, "o"], [5039, 0, "f"], [5040, 0, " "], [5041, 0, "t"], [5042, 0, "h"], [5043, 0, "e"], [5044, 0, " "], [5045, 0, "e"], [5046, 0, "d"], [5047, 0, "i"], [5048, 0, "t"], [5049, 0, "s"], [5050, 0, ","], [5051, 0, " "], [5052, 0, "a"], [5053, 0, "n"], [5054, 0, "d"], [5055, 0, " "], [5056, 0, "t"], [5057, 0, "h"], [5058, 0, "e"], [5059, 0, " "], [5060, 0, "s"], [5061, 0, "t"], [5062, 0, "r"], [5063, 0, "i"], [5064, 0, "n"], [5065, 0, "g"], [5066, 0, "s"], [5067, 0, " "], [5068, 0, "`"], [5069, 0, "`"], [5070, 0, "B"], [5071, 0, "'"], [5072, 0, "'"], [5073, 0, " "], [5074, 0, "a"], [5075, 0, "n"], [5076, 0, "d"], [5077, 0, " "], [5078, 0, "`"], [5079, 0, "`"], [5080, 0, "C"], [5081, 0, "'"], [5082, 0, "'"], [5083, 0, " "], [5084, 0, "c"], [5085, 0, "a"], [5086, 0, "n"], [5087, 0, "n"], [5088, 0, "o"], [5089, 0, "t"], [5090, 0, " "], [5091, 0, "m"], [5092, 0, "e"], [5093, 0, "a"], [5094, 0, "n"], [5095, 0, "i"], [5096, 0, "n"], [5097, 0, "g"], [5098, 0, "f"], [5099, 0, "u"], [5100, 0, "l"], [5101, 0, "l"], [5102, 0, "y"], [5103, 0, " "], [5104, 0, "b"], [5105, 0, "e"], [5106, 0, " "], [5107, 0, "m"], [5108, 0, "e"], [5109, 0, "r"], [5110, 0, "g"], [5111, 0, "e"], [5112, 0, "d"], [5113, 0, ","], [5114, 0, " "], [5115, 0, "t"], [5116, 0, "h"], [5117, 0, "e"], [5118, 0, " "], [5119, 0, "s"], [5120, 0, "y"], [5121, 0, "s"], [5122, 0, "t"], [5123, 0, "e"], [5124, 0, "m"], [5125, 0, " "], [5126, 0, "m"], [5127, 0, "u"], [5128, 0, "s"], [5129, 0, "t"], [5130, 0, " "], [5131, 0, "p"], [5132, 0, "r"], [5133, 0, "e"], [5134, 0, "s"], [5135, 0, "e"], [5136, 0, "r"], [5137, 0, "v"], [5138, 0, "e"], [5139, 0, " "], [5140, 0, "b"], [5141, 0, "o"], [5142, 0, "t"], [5143, 0, "h"], [5144, 0, " "], [5145, 0, "c"], [5146, 0, "o"], [5147, 0, "n"], [5148, 0, "c"], [5149, 0, "u"], [5150, 0, "r"], [5151, 0, "r"], [5152, 0, "e"], [5153, 0, "n"], [5154, 0, "t"], [5155, 0, " "], [5156, 0, "u"], [5157, 0, "p"], [5158, 0, "d"], [5159, 0, "a"], [5160, 0, "t"], [5161, 0, "e"], [5162, 0, "s"], [5163, 0, "."], [5164, 0, " "], [5165, 0, "T"], [5166, 0, "h"], [5167, 0, "i"], [5168, 0, "s"], [5169, 0, " "], [5170, 0, "d"], [5171, 0, "a"], [5172, 0, "t"], [5173, 0, "a"], [5174, 0, "t"], [5175, 0, "y"], [5176, 0, "p"], [5177, 0, "e"], [5178, 0, "s"], [5178, 1], [5178, 0, " "], [5179, 0, "i"], [5180, 0, "s"], [5181, 0, " "], [5182, 0, "k"], [5183, 0, "n"], [5184, 0, "o"], [5185, 0, "w"], [5186, 0, "n"], [5187, 0, " "], [5188, 0, "a"], [5189, 0, "s"], [5190, 0, " "], [5191, 0, "a"], [5192, 0, " "], [5193, 0, "\\"], [5194, 0, "e"], [5195, 0, "m"], [5196, 0, "p"], [5197, 0, "h"], [5198, 0, "{"], [5199, 0, "m"], [5200, 0, "u"], [5201, 0, "l"], [5202, 0, "t"], [5203, 0, "i"], [5204, 0, "-"], [5205, 0, "v"], [5206, 0, "a"], [5207, 0, "l"], [5208, 0, "u"], [5209, 0, "e"], [5210, 0, " "], [5211, 0, "r"], [5212, 0, "e"], [5213, 0, "g"], [5214, 0, "i"], [5215, 0, "s"], [5216, 0, "t"], [5217, 0, "e"], [5218, 0, "r"], [5219, 0, "}"], [5220, 0, ":"], [5221, 0, " "], [5222, 0, "a"], [5223, 0, "l"], [5224, 0, "t"], [5225, 0, "h"], [5226, 0, "o"], [5227, 0, "u"], [5228, 0, "g"], [5229, 0, "h"], [5230, 0, " "], [5231, 0, "a"], [5232, 0, " "], [5233, 0, "r"], [5234, 0, "e"], [5235, 0, "p"], [5236, 0, "l"], [5237, 0, "i"], [5238, 0, "c"], [5239, 0, "a"], [5240, 0, " "], [5241, 0, "c"], [5242, 0, "a"], [5243, 0, "n"], [5244, 0, " "], [5245, 0, "o"], [5246, 0, "n"], [5247, 0, "l"], [5248, 0, "y"], [5249, 0, " "], [5250, 0, "a"], [5251, 0, "s"], [5252, 0, "s"], [5253, 0, "i"], [5254, 0, "g"], [5255, 0, "n"], [5256, 0, " "], [5257, 0, "a"], [5258, 0, "s"], [5258, 1], [5258, 0, " "], [5259, 0, "s"], [5260, 0, "i"], [5261, 0, "n"], [5262, 0, "g"], [5263, 0, "l"], [5264, 0, "e"], [5265, 0, " "], [5266, 0, "v"], [5267, 0, "a"], [5268, 0, "l"], [5269, 0, "u"], [5270, 0, "e"], [5271, 0, " "], [5272, 0, "t"], [5273, 0, "o"], [5274, 0, " "], [5275, 0, "t"], [5276, 0, "h"], [5277, 0, "e"], [5278, 0, " "], [5279, 0, "r"], [5280, 0, "e"], [5281, 0, "g"], [5282, 0, "i"], [5283, 0, "s"], [5284, 0, "t"], [5285, 0, "e"], [5286, 0, "r"], [5287, 0, ","], [5288, 0, " "], [5289, 0, "i"], [5290, 0, "t"], [5291, 0, " "], [5292, 0, "m"], [5293, 0, "a"], [5294, 0, "y"], [5295, 0, " "], [5296, 0, "h"], [5297, 0, "a"], [5298, 0, "v"], [5299, 0, "e"], [5300, 0, " "], [5300, 1], [5299, 1], [5298, 1], [5297, 1], [5296, 1], [5295, 1], [5294, 1], [5293, 1], [5292, 1], [5291, 1], [5290, 1], [5289, 1], [5289, 0, "r"], [5290, 0, "e"], [5291, 0, "a"], [5292, 0, "d"], [5293, 0, "i"], [5294, 0, "n"], [5295, 0, "g"], [5296, 0, " "], [5297, 0, "t"], [5298, 0, "h"], [5299, 0, "e"], [5300, 0, " "], [5301, 0, "r"], [5302, 0, "e"], [5303, 0, "g"], [5304, 0, "i"], [5305, 0, "s"], [5306, 0, "t"], [5307, 0, "e"], [5308, 0, "r"], [5309, 0, " "], [5310, 0, "m"], [5311, 0, "a"], [5312, 0, "y"], [5313, 0, " "], [5314, 0, "r"], [5315, 0, "e"], [5316, 0, "t"], [5317, 0, "u"], [5318, 0, "r"], [5319, 0, "n"], [5320, 0, " "], [5321, 0, "a"], [5322, 0, " "], [5323, 0, "s"], [5324, 0, "e"], [5325, 0, "t"], [5326, 0, " "], [5327, 0, "o"], [5328, 0, "f"], [5329, 0, " "], [5330, 0, "c"], [5331, 0, "o"], [5332, 0, "n"], [5333, 0, "c"], [5334, 0, "u"], [5335, 0, "r"], [5336, 0, "r"], [5337, 0, "e"], [5338, 0, "n"], [5339, 0, "t"], [5340, 0, "l"], [5341, 0, "y"], [5342, 0, " "], [5343, 0, "w"], [5344, 0, "r"], [5345, 0, "i"], [5346, 0, "t"], [5347, 0, "t"], [5348, 0, "e"], [5349, 0, "n"], [5350, 0, " "], [5351, 0, "v"], [5352, 0, "a"], [5353, 0, "l"], [5354, 0, "u"], [5355, 0, "e"], [5356, 0, "s"], [5357, 0, "."], [4818, 0, " "], [4819, 0, "a"], [4820, 0, " "], [4821, 0, "r"], [4822, 0, "e"], [4823, 0, "g"], [4824, 0, "i"], [4825, 0, "s"], [4826, 0, "t"], [4827, 0, "e"], [4828, 0, "r"], [4829, 0, " "], [4830, 0, "w"], [4831, 0, "i"], [4832, 0, "t"], [4833, 0, "h"], [4834, 0, " "], [4835, 0, "v"], [4836, 0, "a"], [4837, 0, "l"], [4838, 0, "u"], [4839, 0, "e"], [5380, 0, "\n"], [5381, 0, "\n"], [5382, 0, "'"], [5382, 1], [5382, 0, "\\"], [5383, 0, "b"], [5384, 0, "e"], [5385, 0, "g"], [5386, 0, "i"], [5387, 0, "n"], [5388, 0, "{"], [5389, 0, "f"], [5390, 0, "i"], [5391, 0, "g"], [5392, 0, "u"], [5393, 0, "r"], [5394, 0, "e"], [5395, 0, "*"], [5396, 0, "}"], [5397, 0, "\n"], [5398, 0, "\\"], [5399, 0, "e"], [5400, 0, "n"], [5401, 0, "d"], [5402, 0, "{"], [5403, 0, "f"], [5404, 0, "i"], [5405, 0, "g"], [5406, 0, "u"], [5407, 0, "r"], [5408, 0, "e"], [5409, 0, "*"], [5410, 0, "}"], [5397, 0, "\n"], [5398, 0, "\\"], [5399, 0, "c"], [5400, 0, "e"], [5401, 0, "n"], [5402, 0, "t"], [5403, 0, "e"], [5404, 0, "r"], [5405, 0, "i"], [5406, 0, "n"], [5407, 0, "g"], [5408, 0, "\n"], [5409, 0, "\\"], [5410, 0, "b"], [5411, 0, "e"], [5412, 0, "g"], [5413, 0, "i"], [5414, 0, "n"], [5415, 0, "{"], [5416, 0, "t"], [5417, 0, "i"], [5418, 0, "k"], [5419, 0, "z"], [5420, 0, "p"], [5421, 0, "i"], [5422, 0, "c"], [5423, 0, "t"], [5424, 0, "u"], [5425, 0, "r"], [5426, 0, "e"], [5427, 0, "}"], [5428, 0, "["], [5429, 0, "a"], [5430, 0, "u"], [5431, 0, "t"], [5432, 0, "o"], [5433, 0, "]"], [5434, 0, "\n"], [5435, 0, "\\"], [5436, 0, "e"], [5437, 0, "n"], [5438, 0, "d"], [5439, 0, "{"], [5440, 0, "t"], [5441, 0, "i"], [5442, 0, "k"], [5443, 0, "z"], [5444, 0, "p"], [5445, 0, "i"], [5446, 0, "c"], [5447, 0, "t"], [5448, 0, "u"], [5449, 0, "r"], [5450, 0, "e"], [5451, 0, "}"], [5452, 0, "\n"], [5453, 0, "\\"], [5454, 0, "c"], [5455, 0, "a"], [5456, 0, "p"], [5457, 0, "t"], [5458, 0, "i"], [5459, 0, "o"], [5460, 0, "n"], [5461, 0, "{"], [5462, 0, "C"], [5463, 0, "o"], [5464, 0, "n"], [5465, 0, "c"], [5466, 0, "u"], [5467, 0, "r"], [5468, 0, "r"], [5469, 0, "e"], [5470, 0, "n"], [5471, 0, "t"], [5472, 0, " "], [5473, 0, "m"], [5474, 0, "o"], [5474, 1], [5473, 1], [5472, 1], [5471, 1], [5470, 1], [5469, 1], [5468, 1], [5467, 1], [5466, 1], [5465, 1], [5464, 1], [5463, 1], [5462, 1], [5462, 0, "M"], [5463, 0, "o"], [5464, 0, "d"], [5465, 0, "i"], [5466, 0, "f"], [5467, 0, "y"], [5468, 0, "i"], [5469, 0, "n"], [5470, 0, "g"], [5471, 0, " "], [5472, 0, "t"], [5473, 0, "h"], [5474, 0, "e"], [5475, 0, " "], [5476, 0, "c"], [5477, 0, "o"], [5478, 0, "n"], [5479, 0, "t"], [5480, 0, "e"], [5481, 0, "n"], [5482, 0, "t"], [5483, 0, "s"], [5484, 0, " "], [5485, 0, "o"], [5486, 0, "f"], [5487, 0, " "], [5488, 0, "a"], [5489, 0, " "], [5490, 0, "n"], [5491, 0, "e"], [5492, 0, "s"], [5493, 0, "t"], [5494, 0, "e"], [5495, 0, "d"], [5496, 0, " "], [5497, 0, "m"], [5498, 0, "a"], [5499, 0, "p"], [5500, 0, " "], [5501, 0, "w"], [5502, 0, "h"], [5503, 0, "i"], [5504, 0, "l"], [5505, 0, "e"], [5506, 0, " "], [5507, 0, "c"], [5508, 0, "o"], [5509, 0, "n"], [5510, 0, "c"], [5511, 0, "u"], [5512, 0, "r"], [5513, 0, "r"], [5514, 0, "e"], [5515, 0, "n"], [5516, 0, "t"], [5517, 0, "l"], [5518, 0, "y"], [5519, 0, " "], [5520, 0, "t"], [5521, 0, "h"], [5522, 0, "e"], [5523, 0, " "], [5524, 0, "e"], [5525, 0, "n"], [5526, 0, "t"], [5527, 0, "i"], [5528, 0, "r"], [5529, 0, "e"], [5530, 0, " "], [5531, 0, "m"], [5532, 0, "a"], [5533, 0, "p"], [5534, 0, " "], [5535, 0, "i"], [5536, 0, "s"], [5537, 0, " "], [5538, 0, "r"], [5539, 0, "e"], [5540, 0, "m"], [5541, 0, "o"], [5542, 0, "v"], [5543, 0, "e"], [5544, 0, "d"], [5545, 0, "}"], [5546, 0, "\\"], [5547, 0, "l"], [5548, 0, "a"], [5549, 0, "b"], [5550, 0, "e"], [5551, 0, "l"], [5552, 0, "{"], [5553, 0, "f"], [5554, 0, "i"], [5555, 0, "g"], [5556, 0, ":"], [5557, 0, "m"], [5558, 0, "a"], [5559, 0, "p"], [5560, 0, "-"], [5561, 0, "r"], [5562, 0, "e"], [5563, 0, "m"], [5564, 0, "o"], [5565, 0, "v"], [5566, 0, "e"], [5567, 0, "}"], [5434, 0, "\n"], [5435, 0, "\\"], [5436, 0, "n"], [5437, 0, "o"], [5438, 0, "d"], [5439, 0, "e"], [5440, 0, " "], [5441, 0, "("], [5442, 0, "s"], [5443, 0, "t"], [5444, 0, "a"], [5445, 0, "r"], [5446, 0, "t"], [5447, 0, ")"], [5448, 0, " "], [5449, 0, "a"], [5450, 0, "t"], [5451, 0, " "], [5452, 0, "("], [5453, 0, "5"], [5454, 0, ","], [5455, 0, "4"], [5456, 0, ")"], [5457, 0, " "], [5458, 0, "{"], [5459, 0, "\\"], [5460, 0, "v"], [5461, 0, "e"], [5462, 0, "r"], [5463, 0, "b"], [5464, 0, "|"], [5465, 0, "{"], [5466, 0, "\""], [5467, 0, "c"], [5468, 0, "o"], [5469, 0, "l"], [5470, 0, "o"], [5471, 0, "r"], [5472, 0, "s"], [5473, 0, "\""], [5474, 0, ":"], [5475, 0, " "], [5476, 0, "{"], [5477, 0, "\""], [5478, 0, "b"], [5479, 0, "l"], [5480, 0, "u"], [5481, 0, "e"], [5482, 0, "\""], [5483, 0, ":"], [5484, 0, " "], [5485, 0, "\""], [5486, 0, "#"], [5487, 0, "0"], [5488, 0, "0"], [5489, 0, "0"], [5490, 0, "0"], [5491, 0, "f"], [5492, 0, "f"], [5493, 0, "\""], [5494, 0, "}"], [5495, 0, "}"], [5496, 0, "|"], [5497, 0, "}"], [5498, 0, ";"], [5499, 0, "\n"], [5500, 0, "\\"], [5501, 0, "n"], [5502, 0, "o"], [5503, 0, "d"], [5504, 0, "e"], [5505, 0, " "], [5506, 0, "("], [5507, 0, "l"], [5508, 0, "e"], [5509, 0, "f"], [5510, 0, "t"], [5511, 0, "1"], [5512, 0, ")"], [5513, 0, " "], [5514, 0, " "], [5449, 0, " "], [5516, 0, "a"], [5517, 0, "t"], [5518, 0, " "], [5519, 0, "("], [5520, 0, "0"], [5521, 0, ","], [5522, 0, "2"], [5523, 0, ")"], [5524, 0, " "], [5525, 0, "{"], [5526, 0, "\\"], [5527, 0, "v"], [5528, 0, "e"], [5529, 0, "r"], [5530, 0, "b"], [5531, 0, "|"], [5532, 0, "{"], [5533, 0, "\""], [5534, 0, "c"], [5535, 0, "o"], [5536, 0, "l"], [5537, 0, "o"], [5538, 0, "r"], [5539, 0, "s"], [5540, 0, "\""], [5541, 0, ":"], [5542, 0, " "], [5543, 0, "{"], [5544, 0, "\""], [5545, 0, "b"], [5546, 0, "l"], [5547, 0, "u"], [5548, 0, "e"], [5549, 0, "\""], [5550, 0, ":"], [5551, 0, " "], [5552, 0, "\""], [5553, 0, "#"], [5554, 0, "0"], [5555, 0, "0"], [5556, 0, "0"], [5557, 0, "0"], [5558, 0, "f"], [5559, 0, "f"], [5560, 0, "\""], [5561, 0, "|"], [5562, 0, "}"], [5563, 0, ";"], [5561, 0, ","], [5563, 0, " "], [5564, 0, "\\"], [5565, 0, "\\"], [5566, 0, " "], [5567, 0, "\\"], [5568, 0, "v"], [5569, 0, "e"], [5570, 0, "r"], [5571, 0, "b"], [5572, 0, "{"], [5573, 0, "\""], [5574, 0, "r"], [5575, 0, "e"], [5576, 0, "d"], [5577, 0, "\""], [5578, 0, ":"], [5579, 0, " "], [5580, 0, "\""], [5581, 0, "#"], [5582, 0, "f"], [5583, 0, "f"], [5584, 0, "0"], [5585, 0, "0"], [5586, 0, "0"], [5587, 0, "0"], [5588, 0, "\""], [5572, 1], [5572, 0, "|"], [5589, 0, "}"], [5590, 0, "}"], [5591, 0, "|"], [5592, 0, "}"], [5526, 0, "\\"], [5527, 0, "m"], [5528, 0, "b"], [5529, 0, "o"], [5530, 0, "x"], [5531, 0, "{"], [5531, 1], [5530, 1], [5529, 1], [5528, 1], [5527, 1], [5526, 1], [5506, 0, " "], [5507, 0, "["], [5508, 0, "m"], [5509, 0, "a"], [5510, 0, "t"], [5511, 0, "r"], [5512, 0, "i"], [5513, 0, "x"], [5514, 0, "]"], [5523, 1], [5449, 1], [5599, 0, " "], [5600, 0, "\\"], [5601, 0, "\\"], [5602, 0, " "], [5603, 1], [5533, 0, "\\"], [5534, 0, "n"], [5535, 0, "o"], [5536, 0, "d"], [5537, 0, "e"], [5538, 0, " "], [5539, 0, "{"], [5577, 0, "}"], [5582, 0, "\\"], [5583, 0, "n"], [5584, 0, "o"], [5585, 0, "d"], [5586, 0, "e"], [5587, 0, "{"], [5613, 0, "}"], [5533, 0, "\n"], [5534, 0, " "], [5535, 0, " "], [5536, 0, " "], [5537, 0, " "], [5586, 0, "\n"], [5587, 0, " "], [5588, 0, " "], [5589, 0, " "], [5596, 0, " "], [5627, 1], [5627, 0, "\n"], [5545, 0, "a"], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5546, 1], [5562, 1], [5562, 1], [5562, 1], [5562, 1], [5562, 1], [5562, 1], [5562, 1], [5562, 1], [5562, 1], [5562, 1], [5562, 1], [5562, 1], [5562, 1], [5562, 1], [5562, 1], [5562, 1], [5562, 1], [5562, 1], [5562, 1], [5562, 1], [5562, 1], [5562, 1], [5562, 1], [5562, 1], [5562, 1], [5562, 0, "b"], [5547, 0, ";"], [5565, 0, ";"], [5545, 1], [5545, 0, "\\"], [5546, 0, "v"], [5547, 0, "e"], [5548, 0, "r"], [5549, 0, "b"], [5550, 0, "|"], [5551, 0, "{"], [5552, 0, "\""], [5553, 0, "c"], [5554, 0, "o"], [5555, 0, "l"], [5556, 0, "o"], [5557, 0, "r"], [5558, 0, "s"], [5559, 0, "\""], [5560, 0, ":"], [5561, 0, " "], [5562, 0, "{"], [5563, 0, "\""], [5564, 0, "r"], [5565, 0, "e"], [5566, 0, "d"], [5566, 1], [5565, 1], [5564, 1], [5564, 0, "b"], [5565, 0, "l"], [5566, 0, "u"], [5567, 0, "e"], [5568, 0, "\""], [5569, 0, ":"], [5570, 0, " "], [5571, 0, "\""], [5572, 0, "#"], [5573, 0, "0"], [5574, 0, "0"], [5575, 0, "0"], [5576, 0, "0"], [5577, 0, "f"], [5578, 0, "f"], [5579, 0, "\""], [5580, 0, ","], [5581, 0, "|"], [5599, 1], [5599, 0, "\\"], [5600, 0, "v"], [5601, 0, "e"], [5602, 0, "r"], [5603, 0, "b"], [5604, 0, "|"], [5605, 0, "{"], [5605, 1], [5605, 0, "\""], [5606, 0, "r"], [5607, 0, "e"], [5608, 0, "d"], [5609, 0, ":"], [5609, 1], [5609, 0, "\""], [5610, 0, ":"], [5611, 0, " "], [5612, 0, "\""], [5613, 0, "#"], [5614, 0, "f"], [5615, 0, "f"], [5616, 0, "0"], [5617, 0, "0"], [5618, 0, "0"], [5619, 0, "0"], [5620, 0, "\""], [5621, 0, "}"], [5622, 0, "}"], [5623, 0, "|"], [5632, 0, "\n"], [5633, 0, "\\"], [5634, 0, "n"], [5635, 0, "o"], [5636, 0, "d"], [5637, 0, "e"], [5638, 0, " "], [5639, 0, "("], [5640, 0, "r"], [5641, 0, "i"], [5642, 0, "g"], [5643, 0, "h"], [5644, 0, "t"], [5645, 0, "1"], [5646, 0, ")"], [5647, 0, " "], [5648, 0, "a"], [5649, 0, "t"], [5650, 0, " "], [5651, 0, "("], [5652, 0, "1"], [5653, 0, "0"], [5654, 0, ","], [5655, 0, "2"], [5655, 1], [5655, 0, "3"], [5656, 0, ")"], [5657, 0, " "], [5658, 0, "{"], [5659, 0, "\\"], [5660, 0, "v"], [5661, 0, "e"], [5662, 0, "r"], [5663, 0, "b"], [5664, 0, "|"], [5665, 0, "{"], [5666, 0, "}"], [5667, 0, "|"], [5668, 0, "}"], [5669, 0, ";"], [5670, 0, "\n"], [5671, 0, "\\"], [5672, 0, "n"], [5673, 0, "o"], [5674, 0, "d"], [5675, 0, "e"], [5676, 0, " "], [5677, 0, "("], [5678, 0, "r"], [5679, 0, "i"], [5680, 0, "g"], [5681, 0, "h"], [5682, 0, "t"], [5683, 0, "2"], [5684, 0, ")"], [5685, 0, " "], [5686, 0, "a"], [5687, 0, "t"], [5688, 0, " "], [5689, 0, "("], [5690, 0, "1"], [5691, 0, "0"], [5692, 0, ","], [5693, 0, "2"], [5694, 0, ")"], [5695, 0, " "], [5696, 0, "{"], [5697, 0, "\\"], [5698, 0, "v"], [5699, 0, "e"], [5700, 0, "r"], [5701, 0, "b"], [5702, 0, "|"], [5703, 0, "{"], [5704, 0, "\""], [5705, 0, "c"], [5706, 0, "o"], [5707, 0, "l"], [5708, 0, "o"], [5709, 0, "r"], [5710, 0, "s"], [5711, 0, "\""], [5712, 0, ":"], [5713, 0, " "], [5714, 0, "\""], [5715, 0, "#"], [5715, 1], [5714, 1], [5714, 0, "{"], [5715, 0, "\""], [5716, 0, "g"], [5717, 0, "r"], [5718, 0, "e"], [5719, 0, "e"], [5720, 0, "n"], [5721, 0, "\""], [5722, 0, ":"], [5723, 0, " "], [5724, 0, "\""], [5725, 0, "#"], [5726, 0, "0"], [5727, 0, "0"], [5728, 0, "f"], [5729, 0, "f"], [5730, 0, "0"], [5731, 0, "0"], [5732, 0, "\""], [5733, 0, "}"], [5734, 0, "}"], [5735, 0, "|"], [5736, 0, "}"], [5737, 0, ";"], [5453, 1], [5453, 0, "4"], [5652, 1], [5652, 1], [5652, 0, "8"], [5689, 1], [5689, 1], [5689, 0, "8"], [5736, 0, "\n"], [5737, 0, "\\"], [5738, 0, "n"], [5739, 0, "o"], [5740, 0, "d"], [5741, 0, "e"], [5742, 0, " "], [5743, 0, "("], [5744, 0, "l"], [5745, 0, "e"], [5746, 0, "f"], [5747, 0, "t"], [5748, 0, "2"], [5749, 0, ")"], [5750, 0, " "], [5751, 0, "a"], [5752, 0, "t"], [5753, 0, " "], [5754, 0, "("], [5755, 0, "0"], [5756, 0, ","], [5757, 0, "0"], [5758, 0, ")"], [5759, 0, " "], [5760, 0, "{"], [5761, 0, "\\"], [5762, 0, "v"], [5763, 0, "e"], [5764, 0, "r"], [5765, 0, "b"], [5766, 0, "|"], [5767, 0, "{"], [5768, 0, "\""], [5769, 0, "c"], [5770, 0, "o"], [5771, 0, "l"], [5772, 0, "o"], [5773, 0, "r"], [5774, 0, "s"], [5775, 0, "\""], [5776, 0, ":"], [5777, 0, " "], [5778, 0, "{"], [5779, 0, "\""], [5780, 0, "r"], [5781, 0, "e"], [5782, 0, "d"], [5783, 0, "\""], [5784, 0, ":"], [5785, 0, " "], [5786, 0, "\""], [5787, 0, "#"], [5788, 0, "f"], [5789, 0, "f"], [5790, 0, "0"], [5791, 0, "0"], [5792, 0, "0"], [5793, 0, "0"], [5794, 0, "\""], [5795, 0, ","], [5796, 0, " "], [5797, 0, "\""], [5798, 0, "g"], [5799, 0, "r"], [5800, 0, "e"], [5801, 0, "e"], [5802, 0, "n"], [5803, 0, "\""], [5804, 0, ":"], [5805, 0, " "], [5806, 0, "\""], [5807, 0, "#"], [5808, 0, "0"], [5809, 0, "0"], [5810, 0, "f"], [5811, 0, "f"], [5812, 0, "0"], [5813, 0, "0"], [5814, 0, "\""], [5815, 0, "}"], [5816, 0, "}"], [5817, 0, "|"], [5818, 0, "}"], [5819, 0, ";"], [5742, 0, " "], [5743, 0, "["], [5744, 0, "m"], [5745, 0, "a"], [5746, 0, "t"], [5747, 0, "r"], [5748, 0, "i"], [5749, 0, "x"], [5750, 0, "]"], [5770, 0, "\n"], [5771, 0, " "], [5772, 0, " "], [5773, 0, " "], [5774, 0, " "], [5775, 0, "\\"], [5776, 0, "n"], [5777, 0, "o"], [5778, 0, "d"], [5779, 0, "e"], [5780, 0, " "], [5781, 0, "{"], [5817, 0, "|"], [5818, 0, "}"], [5819, 0, ";"], [5820, 0, "\n"], [5821, 0, " "], [5822, 0, " "], [5823, 0, " "], [5824, 0, " "], [5825, 0, "\\"], [5826, 0, "n"], [5827, 0, "o"], [5828, 0, "d"], [5829, 0, "e"], [5831, 0, "{"], [5832, 0, "\\"], [5833, 0, "v"], [5834, 0, "e"], [5835, 0, "r"], [5836, 0, "b"], [5837, 0, "|"], [5861, 0, "\n"], [5862, 0, "}"], [5863, 0, ";"], [5864, 0, "\n"], [5865, 0, "\\"], [5866, 0, "n"], [5867, 0, "o"], [5868, 0, "d"], [5869, 0, "e"], [5870, 0, " "], [5871, 0, "["], [5872, 0, "m"], [5873, 0, "a"], [5874, 0, "t"], [5875, 0, "r"], [5876, 0, "i"], [5877, 0, "x"], [5878, 0, "]"], [5879, 0, " "], [5880, 0, "("], [5881, 0, "r"], [5882, 0, "i"], [5883, 0, "g"], [5884, 0, "h"], [5885, 0, "t"], [5886, 0, "3"], [5887, 0, ")"], [5888, 0, " "], [5889, 0, "a"], [5890, 0, "t"], [5891, 0, " "], [5892, 0, "("], [5893, 0, "8"], [5894, 0, ","], [5895, 0, " "], [5895, 1], [5895, 0, "0"], [5896, 0, ")"], [5897, 0, " "], [5898, 0, "{"], [5899, 0, "\n"], [5900, 0, " "], [5901, 0, " "], [5902, 0, " "], [5903, 0, " "], [5904, 0, "\\"], [5905, 0, "n"], [5906, 0, "o"], [5907, 0, "d"], [5908, 0, "e"], [5909, 0, " "], [5910, 0, "{"], [5911, 0, "\\"], [5912, 0, "v"], [5913, 0, "e"], [5914, 0, "r"], [5915, 0, "b"], [5916, 0, "|"], [5917, 0, "{"], [5918, 0, "\""], [5919, 0, "c"], [5920, 0, "o"], [5921, 0, "l"], [5922, 0, "o"], [5923, 0, "r"], [5924, 0, "s"], [5925, 0, "\""], [5926, 0, ":"], [5927, 0, " "], [5928, 0, "{"], [5929, 0, "\""], [5930, 0, "r"], [5931, 0, "e"], [5932, 0, "d"], [5933, 0, "\""], [5934, 0, ":"], [5935, 0, " "], [5936, 0, "\""], [5937, 0, "#"], [5938, 0, "f"], [5939, 0, "f"], [5940, 0, "0"], [5941, 0, "0"], [5942, 0, "0"], [5943, 0, "0"], [5944, 0, "\""], [5945, 0, ","], [5946, 0, "}"], [5946, 1], [5946, 0, "|"], [5947, 0, "}"], [5948, 0, ";"], [5949, 0, "\n"], [5950, 0, " "], [5951, 0, " "], [5952, 0, " "], [5953, 0, " "], [5954, 0, "\\"], [5955, 0, "n"], [5956, 0, "o"], [5957, 0, "d"], [5958, 0, "e"], [5959, 0, " "], [5960, 0, "{"], [5961, 0, "\\"], [5962, 0, "v"], [5963, 0, "e"], [5964, 0, "r"], [5965, 0, "b"], [5966, 0, "|"], [5967, 0, "\""], [5968, 0, "g"], [5969, 0, "r"], [5970, 0, "e"], [5971, 0, "e"], [5972, 0, "n"], [5973, 0, "\""], [5974, 0, ":"], [5975, 0, " "], [5976, 0, "\""], [5977, 0, "#"], [5978, 0, "0"], [5979, 0, "0"], [5980, 0, "f"], [5981, 0, "f"], [5982, 0, "0"], [5983, 0, "0"], [5984, 0, "\""], [5985, 0, "}"], [5986, 0, "}"], [5987, 0, "|"], [5988, 0, "}"], [5989, 0, ";"], [5990, 0, "\n"], [5991, 0, "}"], [5992, 0, ";"], [5994, 0, "\n"], [5994, 1], [5991, 0, "%"], [5950, 0, "%"], [5900, 0, "%"], [5865, 0, "%"], [5820, 0, " "], [5821, 0, "\\"], [5822, 0, "\\"], [5864, 0, " "], [5865, 0, "\\"], [5866, 0, "\\"], [5871, 1], [5906, 1], [5956, 1], [5997, 1], [5996, 0, " "], [5997, 0, "'"], [5998, 0, "\\"], [5998, 1], [5997, 1], [5997, 0, "\\"], [5998, 0, "\\"], [5955, 0, " "], [5956, 0, "\\"], [5957, 0, "\\"], [6005, 0, "\n"], [6006, 0, "\\"], [6007, 0, "d"], [6008, 0, "r"], [6009, 0, "a"], [6010, 0, "w"], [6011, 0, " "], [6012, 0, "["], [6013, 0, "t"], [6014, 0, "h"], [6015, 0, "i"], [6016, 0, "c"], [6017, 0, "k"], [6018, 0, ","], [6019, 0, "-"], [6020, 0, ">"], [6021, 0, "]"], [6022, 0, " "], [6023, 0, "("], [6024, 0, "s"], [6025, 0, "t"], [6026, 0, "a"], [6027, 0, "r"], [6028, 0, "t"], [6029, 0, ")"], [6030, 0, " "], [6031, 0, "t"], [6032, 0, "o"], [6033, 0, " "], [6034, 0, "n"], [6035, 0, "o"], [6036, 0, "d"], [6037, 0, "e"], [6038, 0, " "], [6039, 0, "["], [6040, 0, "a"], [6041, 0, "b"], [6042, 0, "o"], [6043, 0, "v"], [6044, 0, "e"], [6045, 0, ","], [6046, 0, "s"], [6047, 0, "l"], [6048, 0, "o"], [6049, 0, "p"], [6050, 0, "e"], [6051, 0, "d"], [6052, 0, "]"], [6053, 0, " "], [6054, 0, "{"], [6055, 0, "\\"], [6056, 0, "f"], [6057, 0, "o"], [6058, 0, "o"], [6059, 0, "t"], [6060, 0, "n"], [6061, 0, "o"], [6062, 0, "t"], [6063, 0, "e"], [6064, 0, "s"], [6065, 0, "i"], [6066, 0, "z"], [6067, 0, "e"], [6068, 0, " "], [6069, 0, "$"], [6070, 0, "\\"], [6071, 0, "t"], [6072, 0, "e"], [6073, 0, "x"], [6074, 0, "t"], [6075, 0, "{"], [6076, 0, "d"], [6077, 0, "o"], [6078, 0, "c"], [6079, 0, "}"], [6080, 0, "["], [6080, 1], [6079, 1], [6078, 1], [6077, 1], [6076, 1], [6075, 1], [6074, 1], [6073, 1], [6072, 1], [6071, 1], [6070, 1], [6069, 1], [6069, 0, "d"], [6070, 0, "o"], [6071, 0, "c"], [6072, 0, "["], [6073, 0, "`"], [6074, 0, "`"], [6075, 0, "c"], [6076, 0, "o"], [6077, 0, "l"], [6078, 0, "o"], [6079, 0, "r"], [6080, 0, "s"], [6081, 0, "'"], [6082, 0, "'"], [6083, 0, "]"], [6084, 0, "}"], [6085, 0, " "], [6086, 0, "("], [6087, 0, "l"], [6088, 0, "e"], [6089, 0, "f"], [6090, 0, "t"], [6091, 0, "1"], [6092, 0, ")"], [6093, 0, ";"], [6051, 1], [6050, 1], [6049, 1], [6048, 1], [6047, 1], [6046, 1], [6045, 1], [6044, 1], [6043, 1], [6042, 1], [6041, 1], [6040, 1], [6040, 0, "l"], [6041, 0, "e"], [6042, 0, "f"], [6043, 0, "t"], [6076, 0, "["], [6077, 0, "`"], [6078, 0, "`"], [6079, 0, "r"], [6080, 0, "e"], [6081, 0, "d"], [6082, 0, "'"], [6083, 0, "'"], [6084, 0, "]"], [6085, 0, " "], [6086, 0, ":"], [6087, 0, "="], [6088, 0, " "], [6089, 0, "`"], [6090, 0, "`"], [6091, 0, "\\"], [6092, 0, "#"], [6093, 0, "f"], [6094, 0, "f"], [6095, 0, "0"], [6096, 0, "0"], [6097, 0, "0"], [6098, 0, "0"], [6099, 0, "'"], [6100, 0, "'"], [6101, 0, ";"], [6102, 0, "\\"], [6102, 1], [6102, 0, "~"], [6103, 0, "~"], [6103, 1], [6102, 1], [6102, 0, "\\"], [6103, 0, "h"], [6104, 0, "s"], [6105, 0, "p"], [6106, 0, "a"], [6107, 0, "c"], [6108, 0, "e"], [6109, 0, "{"], [6110, 0, "1"], [6111, 0, "e"], [6112, 0, "m"], [6113, 0, "}"], [6113, 1], [6112, 1], [6111, 1], [6110, 1], [6109, 1], [6108, 1], [6107, 1], [6106, 1], [6105, 1], [6104, 1], [6103, 1], [6103, 0, "q"], [6104, 0, "u"], [6105, 0, "a"], [6106, 0, "d"], [6106, 1], [6105, 1], [6104, 1], [6103, 1], [6103, 0, "h"], [6104, 0, "s"], [6105, 0, "p"], [6106, 0, "a"], [6107, 0, "c"], [6108, 0, "e"], [6109, 0, "{"], [6110, 0, "1"], [6111, 0, "e"], [6112, 0, "m"], [6113, 0, "}"], [6113, 1], [6112, 1], [6111, 1], [6110, 1], [6109, 1], [6108, 1], [6107, 1], [6106, 1], [6105, 1], [6104, 1], [6103, 1], [6102, 1], [4027, 1], [4027, 1], [4027, 1], [4027, 1], [4027, 1], [4027, 1], [4027, 1], [4027, 1], [4027, 1], [4027, 1], [4027, 1], [4027, 1], [4027, 0, "l"], [4028, 0, "e"], [4029, 0, "f"], [4030, 0, "t"], [4138, 1], [4138, 1], [4138, 1], [4138, 1], [4138, 1], [4138, 1], [4138, 1], [4138, 1], [4138, 1], [4138, 1], [4138, 1], [4138, 1], [4138, 0, "r"], [4139, 0, "i"], [4140, 0, "g"], [4141, 0, "h"], [4142, 0, "t"], [3768, 1], [3768, 0, "3"], [4031, 0, ","], [4032, 0, " "], [4033, 0, "i"], [4034, 0, "n"], [4034, 1], [4033, 1], [4032, 1], [4031, 1], [4031, 0, ","], [4032, 0, "i"], [4033, 0, "n"], [4034, 0, "n"], [4035, 0, "e"], [4036, 0, "r"], [4037, 0, " "], [4038, 0, "s"], [4039, 0, "e"], [4040, 0, "p"], [4041, 0, "="], [4042, 0, "5"], [4043, 0, "p"], [4044, 0, "t"], [4157, 0, ","], [4158, 0, "i"], [4159, 0, "n"], [4160, 0, "n"], [4161, 0, "e"], [4162, 0, "r"], [4163, 0, " "], [4164, 0, "s"], [4165, 0, "e"], [4166, 0, "p"], [4167, 0, "="], [4168, 0, "5"], [4169, 0, "p"], [4170, 0, "t"], [4170, 1], [4169, 1], [4168, 1], [4168, 0, "1"], [4169, 0, "e"], [4170, 0, "m"], [4044, 1], [4043, 1], [4042, 1], [4042, 0, "1"], [4043, 0, "e"], [4044, 0, "m"], [4044, 1], [4043, 1], [4042, 1], [4042, 0, "8"], [4043, 0, "p"], [4044, 0, "t"], [4170, 1], [4169, 1], [4168, 1], [4168, 0, "8"], [4169, 0, "p"], [4170, 0, "t"], [6057, 0, ","], [6058, 0, "i"], [6059, 0, "n"], [6060, 0, "n"], [6061, 0, "e"], [6062, 0, "r"], [6063, 0, " "], [6064, 0, "s"], [6065, 0, "e"], [6066, 0, "p"], [6067, 0, "="], [6068, 0, "8"], [6069, 0, "p"], [6070, 0, "t"], [6068, 1], [6068, 0, "1"], [6069, 0, "2"], [6131, 0, "\n"], [6132, 0, "\\"], [6133, 0, "d"], [6133, 1], [6132, 1], [6131, 1], [6140, 0, "\n"], [6141, 0, "\\"], [6142, 0, "d"], [6143, 0, "r"], [6144, 0, "a"], [6145, 0, "w"], [6146, 0, " "], [6147, 0, "["], [6148, 0, "t"], [6149, 0, "h"], [6150, 0, "i"], [6151, 0, "c"], [6152, 0, "k"], [6153, 0, ","], [6154, 0, "-"], [6155, 0, "."], [6155, 1], [6155, 0, ">"], [6156, 0, "]"], [6157, 0, " "], [6158, 0, "("], [6159, 0, "s"], [6160, 0, "t"], [6161, 0, "a"], [6162, 0, "r"], [6163, 0, "t"], [6164, 0, ")"], [6165, 0, " "], [6166, 0, "t"], [6167, 0, "o"], [6168, 0, " "], [6169, 0, "n"], [6170, 0, "o"], [6171, 0, "d"], [6172, 0, "e"], [6173, 0, " "], [6174, 0, "["], [6175, 0, "r"], [6176, 0, "i"], [6177, 0, "g"], [6178, 0, "h"], [6179, 0, "t"], [6180, 0, ","], [6181, 0, "i"], [6182, 0, "n"], [6183, 0, "n"], [6184, 0, "e"], [6185, 0, "r"], [6186, 0, " "], [6187, 0, "s"], [6188, 0, "e"], [6189, 0, "p"], [6190, 0, "="], [6191, 0, "1"], [6192, 0, "2"], [6193, 0, "p"], [6194, 0, "t"], [6195, 0, "]"], [6196, 0, " "], [6197, 0, "{"], [6198, 0, "\\"], [6199, 0, "f"], [6200, 0, "o"], [6201, 0, "o"], [6202, 0, "t"], [6203, 0, "n"], [6204, 0, "o"], [6205, 0, "t"], [6206, 0, "e"], [6207, 0, "s"], [6208, 0, "i"], [6209, 0, "z"], [6210, 0, "e"], [6211, 0, " "], [6212, 0, "d"], [6213, 0, "o"], [6214, 0, "c"], [6215, 0, "["], [6216, 0, "`"], [6217, 0, "`"], [6218, 0, "c"], [6219, 0, "o"], [6220, 0, "l"], [6221, 0, "o"], [6222, 0, "r"], [6223, 0, "s"], [6224, 0, "'"], [6225, 0, "'"], [6226, 0, "]"], [6227, 0, "."], [6228, 0, "d"], [6229, 0, "e"], [6230, 0, "l"], [6231, 0, "e"], [6232, 0, "t"], [6233, 0, "e"], [6234, 0, ";"], [6235, 0, "}"], [6236, 0, " "], [6237, 0, "("], [6238, 0, "r"], [6239, 0, "i"], [6240, 0, "g"], [6241, 0, "h"], [6242, 0, "t"], [6243, 0, "1"], [6244, 0, ")"], [6245, 0, ";"], [6246, 0, "\n"], [6247, 0, "\\"], [6248, 0, "d"], [6249, 0, "r"], [6250, 0, "a"], [6251, 0, "w"], [6252, 0, " "], [6253, 0, "["], [6254, 0, "t"], [6255, 0, "h"], [6256, 0, "i"], [6257, 0, "c"], [6258, 0, "k"], [6259, 0, ","], [6260, 0, "-"], [6261, 0, ">"], [6262, 0, "]"], [6263, 0, " "], [6264, 0, "("], [6265, 0, "l"], [6266, 0, "e"], [6267, 0, "f"], [6268, 0, "t"], [6269, 0, "1"], [6270, 0, ")"], [6271, 0, " "], [6272, 0, "t"], [6273, 0, "o"], [6274, 0, " "], [6275, 0, "n"], [6276, 0, "o"], [6277, 0, "d"], [6278, 0, "e"], [6279, 0, " "], [6280, 0, "["], [6281, 0, "r"], [6282, 0, "i"], [6283, 0, "g"], [6284, 0, "h"], [6285, 0, "t"], [6286, 0, "]"], [6287, 0, " "], [6288, 0, "{"], [6289, 0, "\\"], [6290, 0, "f"], [6291, 0, "o"], [6292, 0, "o"], [6293, 0, "t"], [6294, 0, "n"], [6295, 0, "o"], [6296, 0, "t"], [6297, 0, "e"], [6298, 0, "s"], [6299, 0, "i"], [6300, 0, "z"], [6301, 0, "e"], [6302, 0, " "], [6303, 0, "d"], [6304, 0, "o"], [6305, 0, "c"], [6306, 0, "["], [6307, 0, "`"], [6308, 0, "`"], [6309, 0, "c"], [6310, 0, "o"], [6311, 0, "l"], [6312, 0, "o"], [6313, 0, "r"], [6314, 0, "s"], [6315, 0, "'"], [6316, 0, "'"], [6317, 0, "]"], [6318, 0, "."], [6318, 1], [6318, 0, "["], [6319, 0, "`"], [6320, 0, "`"], [6321, 0, "g"], [6322, 0, "r"], [6323, 0, "e"], [6324, 0, "e"], [6325, 0, "n"], [6326, 0, "'"], [6327, 0, "'"], [6328, 0, "]"], [6329, 0, " "], [6330, 0, "="], [6331, 0, " "], [6331, 1], [6330, 1], [6330, 0, ":"], [6331, 0, "="], [6332, 0, " "], [6333, 0, "`"], [6334, 0, "`"], [6335, 0, "\\"], [6335, 1], [6335, 0, "\\"], [6336, 0, "#"], [6337, 0, "0"], [6338, 0, "0"], [6339, 0, "f"], [6340, 0, "f"], [6341, 0, "0"], [6342, 0, "0"], [6343, 0, "'"], [6344, 0, "'"], [6345, 0, ";"], [6346, 0, "}"], [6347, 0, " "], [6348, 0, "("], [6349, 0, "r"], [6350, 0, "i"], [6351, 0, "g"], [6352, 0, "h"], [6353, 0, "t"], [6354, 0, "2"], [6355, 0, ")"], [6356, 0, ";"], [6268, 1], [6267, 1], [6266, 1], [6265, 1], [6265, 0, "r"], [6266, 0, "i"], [6267, 0, "g"], [6268, 0, "h"], [6269, 0, "t"], [4188, 1], [4188, 1], [4188, 1], [4188, 1], [4188, 1], [4188, 1], [4188, 1], [4191, 1], [4192, 1], [4192, 1], [4192, 1], [4192, 1], [4192, 1], [4192, 1], [4199, 1], [4209, 1], [4208, 1], [4207, 1], [4206, 1], [4205, 1], [4204, 1], [4210, 1], [4087, 1], [4092, 1], [4092, 1], [4092, 1], [4092, 1], [4092, 1], [4092, 1], [4098, 1], [4098, 1], [4201, 1], [4079, 1], [4078, 1], [4077, 1], [4076, 1], [4075, 1], [4074, 1], [4072, 1], [4068, 1], [4067, 1], [4066, 1], [4065, 1], [4064, 1], [4063, 1], [4062, 1], [5621, 1], [5621, 0, "2"], [5622, 0, "."], [5623, 0, "5"], [5660, 1], [5660, 0, "1"], [5661, 0, "."], [5662, 0, "5"], [5623, 1], [5622, 1], [5621, 1], [5621, 0, "3"], [5422, 1], [5422, 0, "5"], [6314, 0, "\n"], [6315, 0, "\\"], [6316, 0, "d"], [6317, 0, "r"], [6318, 0, "a"], [6319, 0, "w"], [6320, 0, " "], [6321, 0, "["], [6322, 0, "t"], [6323, 0, "h"], [6324, 0, "i"], [6325, 0, "c"], [6326, 0, "k"], [6327, 0, ","], [6328, 0, "-"], [6329, 0, ">"], [6330, 0, "]"], [6331, 0, " "], [6332, 0, "("], [6333, 0, "l"], [6334, 0, "e"], [6335, 0, "f"], [6336, 0, "t"], [6337, 0, "1"], [6338, 0, ")"], [6339, 0, " "], [6340, 0, "t"], [6341, 0, "o"], [6342, 0, " "], [6343, 0, "n"], [6344, 0, "o"], [6345, 0, "d"], [6346, 0, "e"], [6347, 0, " "], [6348, 0, "["], [6349, 0, "e"], [6350, 0, "f"], [6350, 1], [6349, 1], [6349, 0, "l"], [6350, 0, "e"], [6351, 0, "f"], [6352, 0, "t"], [6353, 0, "]"], [6354, 0, " "], [6355, 0, "{"], [6356, 0, "\\"], [6357, 0, "f"], [6358, 0, "o"], [6359, 0, "o"], [6360, 0, "t"], [6361, 0, "n"], [6362, 0, "o"], [6363, 0, "t"], [6364, 0, "e"], [6365, 0, "s"], [6366, 0, "i"], [6367, 0, "z"], [6368, 0, "e"], [6369, 0, " "], [6370, 0, "y"], [6371, 0, "i"], [6372, 0, "e"], [6373, 0, "l"], [6374, 0, "d"], [6375, 0, ";"], [6376, 0, "]"], [6376, 1], [6376, 0, "}"], [6377, 0, " "], [6378, 0, "("], [6379, 0, "l"], [6380, 0, "e"], [6381, 0, "f"], [6382, 0, "t"], [6383, 0, "2"], [6384, 0, ")"], [6385, 0, ";"], [6386, 0, "\n"], [6387, 0, "\\"], [6388, 0, "d"], [6389, 0, "r"], [6390, 0, "a"], [6391, 0, "w"], [6392, 0, " "], [6393, 0, "["], [6394, 0, "t"], [6395, 0, "h"], [6396, 0, "i"], [6397, 0, "c"], [6398, 0, "k"], [6399, 0, ","], [6400, 0, "-"], [6401, 0, ">"], [6402, 0, "]"], [6403, 0, " "], [6404, 0, "("], [6405, 0, "r"], [6406, 0, "i"], [6407, 0, "g"], [6408, 0, "h"], [6409, 0, "t"], [6410, 0, "1"], [6410, 1], [6410, 0, "2"], [6411, 0, ")"], [6412, 0, " "], [6413, 0, "t"], [6414, 0, "o"], [6415, 0, " "], [6416, 0, "n"], [6417, 0, "o"], [6418, 0, "d"], [6419, 0, "e"], [6420, 0, " "], [6421, 0, "["], [6422, 0, "r"], [6423, 0, "i"], [6424, 0, "g"], [6425, 0, "h"], [6426, 0, "t"], [6427, 0, "]"], [6428, 0, " "], [6429, 0, "{"], [6430, 0, "\\"], [6431, 0, "f"], [6432, 0, "o"], [6433, 0, "o"], [6434, 0, "t"], [6435, 0, "n"], [6436, 0, "o"], [6437, 0, "t"], [6438, 0, "e"], [6439, 0, "s"], [6440, 0, "i"], [6441, 0, "z"], [6442, 0, "e"], [6443, 0, " "], [6444, 0, "y"], [6445, 0, "i"], [6446, 0, "e"], [6447, 0, "l"], [6448, 0, "d"], [6449, 0, ";"], [6450, 0, "]"], [6450, 1], [6450, 0, "\n"], [6450, 1], [6450, 0, "}"], [6451, 0, " "], [6452, 0, "("], [6453, 0, "r"], [6454, 0, "i"], [6455, 0, "g"], [6456, 0, "h"], [6457, 0, "t"], [6458, 0, "3"], [6459, 0, ")"], [6460, 0, ";"], [6461, 0, "\n"], [6462, 0, "\\"], [6463, 0, "d"], [6464, 0, "r"], [6465, 0, "a"], [6466, 0, "w"], [6467, 0, " "], [6468, 0, "["], [6469, 0, "t"], [6470, 0, "h"], [6471, 0, "i"], [6472, 0, "c"], [6473, 0, "k"], [6474, 0, ","], [6475, 0, "-"], [6476, 0, ">"], [6477, 0, "]"], [6478, 0, " "], [6479, 0, "("], [6480, 0, "l"], [6481, 0, "e"], [6482, 0, "f"], [6483, 0, "t"], [6484, 0, "1"], [6485, 0, ")"], [6486, 0, " "], [6487, 0, "t"], [6488, 0, "o"], [6489, 0, " "], [6490, 0, "("], [6491, 0, "r"], [6492, 0, "i"], [6493, 0, "g"], [6494, 0, "h"], [6495, 0, "t"], [6496, 0, "3"], [6497, 0, ")"], [6498, 0, ";"], [6499, 0, "\n"], [6500, 0, "\\"], [6501, 0, "d"], [6502, 0, "r"], [6503, 0, "a"], [6504, 0, "w"], [6505, 0, " "], [6506, 0, "["], [6507, 0, "t"], [6508, 0, "h"], [6509, 0, "i"], [6510, 0, "c"], [6511, 0, "k"], [6512, 0, ","], [6513, 0, "-"], [6514, 0, ">"], [6515, 0, "]"], [6516, 0, " "], [6517, 0, "("], [6518, 0, "r"], [6519, 0, "i"], [6520, 0, "g"], [6521, 0, "h"], [6522, 0, "t"], [6523, 0, "2"], [6524, 0, ")"], [6525, 0, " "], [6526, 0, "t"], [6527, 0, "o"], [6528, 0, " "], [6529, 0, "("], [6530, 0, "A"], [6531, 0, "l"], [6532, 0, "e"], [6533, 0, "f"], [6533, 1], [6532, 1], [6531, 1], [6530, 1], [6530, 0, "l"], [6531, 0, "e"], [6532, 0, "f"], [6533, 0, "t"], [6534, 0, "2"], [6535, 0, ")"], [6536, 0, ";"], [5422, 1], [5422, 0, "4"], [6148, 1], [6148, 0, "8"], [6189, 1], [6188, 1], [6187, 1], [6186, 1], [6185, 1], [6184, 1], [6183, 1], [6183, 0, " "], [6184, 0, "="], [6185, 0, " "], [6186, 0, "\\"], [6187, 0, "{"], [6188, 0, "\\"], [6189, 0, "}"], [5632, 0, "\""], [5633, 0, "c"], [5634, 0, "o"], [5635, 0, "l"], [5636, 0, "o"], [5637, 0, "r"], [5638, 0, "s"], [5639, 0, "\""], [5640, 0, ":"], [5641, 0, " "], [5642, 0, "{"], [5643, 0, "}"], [6659, 1], [6658, 1], [6657, 1], [6656, 1], [6655, 1], [6654, 1], [6653, 1], [6653, 0, "o"], [6654, 0, "v"], [6655, 0, "e"], [6656, 0, "r"], [6657, 0, "w"], [6658, 0, "r"], [6659, 0, "i"], [6660, 0, "t"], [6661, 0, "t"], [6662, 0, "e"], [6663, 0, "n"], [6701, 0, "\n"], [6702, 0, "\n"], [6703, 0, "A"], [6704, 0, "n"], [6705, 0, "o"], [6706, 0, "t"], [6707, 0, "h"], [6708, 0, "e"], [6709, 0, "r"], [6710, 0, " "], [6711, 0, "e"], [6712, 0, "x"], [6713, 0, "a"], [6714, 0, "m"], [6715, 0, "p"], [6716, 0, "l"], [6717, 0, "e"], [6718, 0, " "], [6719, 0, "i"], [6720, 0, "s"], [6721, 0, " "], [6722, 0, "g"], [6723, 0, "i"], [6724, 0, "v"], [6725, 0, "e"], [6726, 0, "n"], [6727, 0, " "], [6728, 0, "i"], [6729, 0, "n"], [6730, 0, " "], [6731, 0, "F"], [6732, 0, "i"], [6733, 0, "g"], [6734, 0, "u"], [6735, 0, "r"], [6736, 0, "e"], [6737, 0, "~"], [6738, 0, "\\"], [6739, 0, "r"], [6740, 0, "e"], [6741, 0, "f"], [6742, 0, "{"], [6743, 0, "f"], [6744, 0, "i"], [6745, 0, "g"], [6746, 0, ":"], [6747, 0, "m"], [6748, 0, "a"], [6749, 0, "p"], [6750, 0, "-"], [6751, 0, "r"], [6752, 0, "e"], [6753, 0, "m"], [6754, 0, "o"], [6755, 0, "v"], [6756, 0, "e"], [6757, 0, "}"], [6758, 0, "."], [6759, 0, " "], [6760, 0, "H"], [6761, 0, "e"], [6762, 0, "r"], [6763, 0, "e"], [6764, 0, ","], [6765, 0, " "], [6766, 0, "o"], [6767, 0, "n"], [6768, 0, "e"], [6769, 0, " "], [6770, 0, "r"], [6771, 0, "e"], [6772, 0, "p"], [6773, 0, "l"], [6774, 0, "i"], [6775, 0, "c"], [6776, 0, "a"], [6777, 0, " "], [6778, 0, "a"], [6779, 0, "d"], [6780, 0, "d"], [6781, 0, "s"], [6782, 0, " "], [6783, 0, "`"], [6784, 0, "`"], [6785, 0, "r"], [6786, 0, "e"], [6787, 0, "d"], [6788, 0, "'"], [6789, 0, "'"], [6790, 0, " "], [6791, 0, "t"], [6792, 0, "o"], [6793, 0, " "], [6794, 0, "a"], [6795, 0, " "], [6796, 0, "m"], [6797, 0, "a"], [6798, 0, "p"], [6799, 0, " "], [6800, 0, "o"], [6801, 0, "f"], [6802, 0, " "], [6803, 0, "c"], [6804, 0, "o"], [6805, 0, "l"], [6806, 0, "o"], [6807, 0, "r"], [6808, 0, "s"], [6809, 0, ","], [6810, 0, " "], [6811, 0, "w"], [6812, 0, "h"], [6813, 0, "i"], [6814, 0, "l"], [6815, 0, "e"], [6816, 0, " "], [6817, 0, "c"], [6818, 0, "o"], [6819, 0, "n"], [6820, 0, "c"], [6821, 0, "u"], [6822, 0, "r"], [6823, 0, "r"], [6824, 0, "e"], [6825, 0, "n"], [6826, 0, "t"], [6827, 0, "l"], [6828, 0, "y"], [6829, 0, " "], [6830, 0, "a"], [6831, 0, "n"], [6832, 0, "o"], [6833, 0, "t"], [6834, 0, "h"], [6835, 0, "e"], [6836, 0, "r"], [6837, 0, " "], [6838, 0, "c"], [6839, 0, "l"], [6840, 0, "i"], [6841, 0, "e"], [6842, 0, "n"], [6843, 0, "t"], [6844, 0, " "], [6845, 0, "f"], [6846, 0, "i"], [6847, 0, "r"], [6848, 0, "s"], [6849, 0, "t"], [6850, 0, " "], [6851, 0, "b"], [6852, 0, "l"], [6853, 0, "a"], [6854, 0, "n"], [6855, 0, "k"], [6856, 0, "s"], [6857, 0, " "], [6858, 0, "o"], [6859, 0, "u"], [6860, 0, "t"], [6861, 0, " "], [6862, 0, "t"], [6863, 0, "h"], [6864, 0, "e"], [6865, 0, " "], [6866, 0, "e"], [6867, 0, "n"], [6868, 0, "t"], [6869, 0, "i"], [6870, 0, "r"], [6871, 0, "e"], [6872, 0, " "], [6873, 0, "m"], [6874, 0, "a"], [6875, 0, "p"], [6876, 0, " "], [6877, 0, "o"], [6878, 0, "f"], [6879, 0, " "], [6880, 0, "c"], [6881, 0, "o"], [6882, 0, "l"], [6883, 0, "o"], [6884, 0, "r"], [6885, 0, "s"], [6886, 0, " "], [6886, 1], [6886, 0, ","], [6887, 0, " "], [6888, 0, "a"], [6889, 0, "n"], [6890, 0, "d"], [6891, 0, " "], [6892, 0, "t"], [6893, 0, "h"], [6894, 0, "e"], [6895, 0, "n"], [6896, 0, " "], [6897, 0, "a"], [6898, 0, "d"], [6899, 0, "d"], [6900, 0, "s"], [6901, 0, " "], [6902, 0, "`"], [6903, 0, "`"], [6904, 0, "g"], [6905, 0, "r"], [6906, 0, "e"], [6907, 0, "e"], [6908, 0, "n"], [6909, 0, "'"], [6910, 0, "'"], [6911, 0, "."], [6912, 0, " "], [6913, 0, "A"], [6914, 0, "s"], [6915, 0, " "], [6916, 0, "t"], [6917, 0, "h"], [6918, 0, "e"], [6919, 0, " "], [6920, 0, "r"], [6921, 0, "e"], [6922, 0, "p"], [6923, 0, "l"], [6924, 0, "i"], [6925, 0, "c"], [6926, 0, "a"], [6927, 0, "s"], [6928, 0, " "], [6929, 0, "m"], [6930, 0, "e"], [6931, 0, "r"], [6932, 0, "g"], [6933, 0, "e"], [6934, 0, " "], [6935, 0, "t"], [6936, 0, "h"], [6937, 0, "e"], [6938, 0, "i"], [6939, 0, "r"], [6940, 0, " "], [6941, 0, "e"], [6942, 0, "d"], [6943, 0, "i"], [6944, 0, "t"], [6945, 0, "s"], [6946, 0, ","], [6947, 0, " "], [6948, 0, "a"], [6949, 0, "l"], [6950, 0, "l"], [6951, 0, " "], [6952, 0, "c"], [6953, 0, "h"], [6954, 0, "a"], [6955, 0, "n"], [6956, 0, "g"], [6957, 0, "e"], [6958, 0, "s"], [6959, 0, " "], [6960, 0, "m"], [6961, 0, "u"], [6962, 0, "s"], [6963, 0, "t"], [6964, 0, " "], [6965, 0, "b"], [6966, 0, "e"], [6967, 0, " "], [6968, 0, "p"], [6969, 0, "r"], [6970, 0, "e"], [6971, 0, "s"], [6972, 0, "e"], [6973, 0, "r"], [6974, 0, "v"], [6975, 0, "e"], [6976, 0, "d"], [6977, 0, ":"], [6978, 0, " "], [6979, 0, "`"], [6980, 0, "`"], [6981, 0, "b"], [6982, 0, "l"], [6983, 0, "u"], [6984, 0, "e"], [6985, 0, "'"], [6986, 0, "'"], [6987, 0, " "], [6988, 0, "m"], [6989, 0, "u"], [6990, 0, "s"], [6991, 0, "t"], [6992, 0, " "], [6993, 0, "b"], [6994, 0, "e"], [6995, 0, " "], [6996, 0, "a"], [6997, 0, "b"], [6998, 0, "s"], [6999, 0, "e"], [7000, 0, "n"], [7001, 0, "t"], [7002, 0, " "], [7003, 0, "f"], [7004, 0, "r"], [7005, 0, "o"], [7006, 0, "m"], [7007, 0, " "], [7008, 0, "t"], [7009, 0, "h"], [7010, 0, "e"], [7011, 0, " "], [7012, 0, "f"], [7013, 0, "i"], [7014, 0, "n"], [7015, 0, "a"], [7016, 0, "l"], [7017, 0, " "], [7018, 0, "m"], [7019, 0, "a"], [7020, 0, "p"], [7021, 0, ","], [7022, 0, " "], [7023, 0, "s"], [7024, 0, "i"], [7025, 0, "n"], [7026, 0, "c"], [7027, 0, "e"], [7028, 0, " "], [7029, 0, "i"], [7030, 0, "t"], [7031, 0, " "], [7032, 0, "w"], [7033, 0, "a"], [7034, 0, "s"], [7035, 0, " "], [7036, 0, "r"], [7037, 0, "e"], [7038, 0, "m"], [7039, 0, "o"], [7040, 0, "v"], [7041, 0, "e"], [7042, 0, "d"], [7043, 0, " "], [7044, 0, "b"], [7045, 0, "y"], [7046, 0, " "], [7047, 0, "b"], [7048, 0, "l"], [7049, 0, "a"], [7050, 0, "n"], [7051, 0, "k"], [7052, 0, "i"], [7053, 0, "n"], [7054, 0, "g"], [7055, 0, " "], [7056, 0, "o"], [7057, 0, "u"], [7058, 0, "t"], [7059, 0, " "], [7060, 0, "t"], [7061, 0, "h"], [7062, 0, "e"], [7063, 0, " "], [7064, 0, "m"], [7065, 0, "a"], [7066, 0, "p"], [7067, 0, ","], [7068, 0, " "], [7069, 0, "w"], [7070, 0, "h"], [7071, 0, "i"], [7072, 0, "l"], [7073, 0, "e"], [7074, 0, " "], [7075, 0, "`"], [7076, 0, "`"], [7077, 0, "r"], [7078, 0, "e"], [7079, 0, "d"], [7080, 0, "`"], [7081, 0, "`"], [7081, 1], [7080, 1], [7080, 0, "'"], [7081, 0, "'"], [7082, 0, " "], [7083, 0, "a"], [7084, 0, "n"], [7085, 0, "d"], [7086, 0, " "], [7087, 0, "`"], [7088, 0, "`"], [7089, 0, "g"], [7090, 0, "r"], [7091, 0, "e"], [7092, 0, "e"], [7093, 0, "n"], [7094, 0, "'"], [7095, 0, "'"], [7096, 0, " "], [7097, 0, "m"], [7098, 0, "u"], [7099, 0, "s"], [7100, 0, "t"], [7101, 0, " "], [7102, 0, "b"], [7103, 0, "e"], [7104, 0, " "], [7105, 0, "p"], [7106, 0, "r"], [7107, 0, "e"], [7108, 0, "s"], [7109, 0, "e"], [7110, 0, "n"], [7111, 0, "t"], [7112, 0, ","], [7113, 0, " "], [7114, 0, "s"], [7115, 0, "i"], [7116, 0, "n"], [7117, 0, "c"], [7118, 0, "e"], [7119, 0, " "], [7120, 0, "t"], [7121, 0, "h"], [7122, 0, "e"], [7123, 0, "y"], [7124, 0, " "], [7125, 0, "w"], [7126, 0, "e"], [7127, 0, "r"], [7128, 0, "e"], [7129, 0, " "], [7130, 0, "e"], [7131, 0, "x"], [7132, 0, "p"], [7133, 0, "l"], [7134, 0, "i"], [7135, 0, "c"], [7136, 0, "i"], [7137, 0, "t"], [7138, 0, "l"], [7139, 0, "y"], [7140, 0, " "], [7141, 0, "a"], [7142, 0, "d"], [7143, 0, "d"], [7144, 0, "e"], [7145, 0, "d"], [7146, 0, "."], [7147, 0, "\n"], [7148, 0, "\n"], [7149, 0, "A"], [7150, 0, " "], [7151, 0, "n"], [7152, 0, "a"], [7153, 0, "i"], [7154, 0, "v"], [7155, 0, "e"], [7156, 0, " "], [7157, 0, "i"], [7158, 0, "m"], [7159, 0, "p"], [7160, 0, "l"], [7161, 0, "e"], [7162, 0, "m"], [7163, 0, "e"], [7164, 0, "n"], [7165, 0, "t"], [7166, 0, "a"], [7167, 0, "t"], [7168, 0, "i"], [7169, 0, "o"], [7170, 0, "n"], [7171, 0, " "], [7171, 1], [7170, 1], [7169, 1], [7168, 1], [7167, 1], [7166, 1], [7165, 1], [7164, 1], [7163, 1], [7162, 1], [7161, 1], [7160, 1], [7159, 1], [7158, 1], [7157, 1], [7156, 1], [7155, 1], [7154, 1], [7153, 1], [7152, 1], [7151, 1], [7150, 1], [7149, 1], [7148, 1], [7147, 1], [5345, 1], [5344, 1], [5343, 1], [5342, 1], [5341, 1], [5340, 1], [5339, 1], [5319, 0, "m"], [5320, 0, "u"], [5321, 0, "l"], [5322, 0, "t"], [5323, 0, "i"], [5324, 0, "p"], [5325, 0, "l"], [5326, 0, "e"], [5327, 0, " "], [5328, 0, "v"], [5329, 0, "a"], [5330, 0, "l"], [5331, 0, "u"], [5332, 0, "e"], [5333, 0, "s"], [5334, 0, " "], [5335, 0, "t"], [5336, 0, "h"], [5337, 0, "a"], [5338, 0, "t"], [5339, 0, " "], [5340, 0, "w"], [5341, 0, "e"], [5342, 0, "r"], [5343, 0, "e"], [5344, 0, " "], [7167, 0, "\n"], [7168, 0, "\n"], [7168, 0, "\\"], [7169, 0, "b"], [7170, 0, "e"], [7171, 0, "g"], [7172, 0, "i"], [7173, 0, "n"], [7174, 0, "{"], [7175, 0, "f"], [7176, 0, "i"], [7177, 0, "g"], [7178, 0, "u"], [7179, 0, "r"], [7180, 0, "e"], [7181, 0, "*"], [7182, 0, "}"], [7183, 0, "\n"], [7184, 0, "\\"], [7185, 0, "c"], [7186, 0, "e"], [7187, 0, "n"], [7188, 0, "t"], [7189, 0, "e"], [7190, 0, "r"], [7191, 0, "i"], [7192, 0, "n"], [7193, 0, "g"], [7194, 0, "\n"], [7195, 0, "\\"], [7196, 0, "b"], [7197, 0, "e"], [7198, 0, "g"], [7199, 0, "i"], [7200, 0, "n"], [7201, 0, "{"], [7202, 0, "t"], [7203, 0, "i"], [7204, 0, "k"], [7205, 0, "z"], [7206, 0, "p"], [7207, 0, "i"], [7208, 0, "c"], [7209, 0, "t"], [7210, 0, "u"], [7211, 0, "r"], [7212, 0, "e"], [7213, 0, "}"], [7214, 0, "["], [7215, 0, "a"], [7216, 0, "u"], [7217, 0, "t"], [7218, 0, "o"], [7219, 0, "]"], [7220, 0, "\n"], [7221, 0, "\\"], [7222, 0, "e"], [7223, 0, "n"], [7224, 0, "d"], [7225, 0, "{"], [7226, 0, "t"], [7227, 0, "i"], [7228, 0, "k"], [7229, 0, "z"], [7230, 0, "p"], [7231, 0, "i"], [7232, 0, "c"], [7233, 0, "t"], [7234, 0, "u"], [7235, 0, "r"], [7236, 0, "e"], [7237, 0, "}"], [7238, 0, "\n"], [7239, 0, "\\"], [7240, 0, "c"], [7241, 0, "a"], [7242, 0, "p"], [7243, 0, "t"], [7244, 0, "i"], [7245, 0, "o"], [7246, 0, "n"], [7247, 0, "{"], [7248, 0, "T"], [7249, 0, "w"], [7250, 0, "o"], [7251, 0, " "], [7252, 0, "r"], [7253, 0, "e"], [7254, 0, "p"], [7255, 0, "l"], [7256, 0, "i"], [7257, 0, "c"], [7258, 0, "a"], [7259, 0, "s"], [7260, 0, " "], [7261, 0, "c"], [7262, 0, "o"], [7263, 0, "n"], [7264, 0, "c"], [7265, 0, "u"], [7266, 0, "r"], [7267, 0, "r"], [7268, 0, "e"], [7269, 0, "n"], [7270, 0, "t"], [7271, 0, "l"], [7272, 0, "y"], [7273, 0, " "], [7274, 0, "c"], [7275, 0, "r"], [7276, 0, "e"], [7277, 0, "a"], [7278, 0, "t"], [7279, 0, "e"], [7280, 0, " "], [7281, 0, "a"], [7282, 0, "n"], [7283, 0, " "], [7283, 1], [7282, 1], [7281, 1], [7281, 0, "o"], [7282, 0, "r"], [7283, 0, "d"], [7284, 0, "e"], [7285, 0, "r"], [7286, 0, "e"], [7287, 0, "d"], [7288, 0, " "], [7289, 0, "l"], [7290, 0, "i"], [7291, 0, "s"], [7292, 0, "t"], [7293, 0, "s"], [7294, 0, " "], [7295, 0, "u"], [7296, 0, "n"], [7297, 0, "d"], [7298, 0, "e"], [7299, 0, "r"], [7300, 0, " "], [7301, 0, "t"], [7302, 0, "h"], [7303, 0, "e"], [7304, 0, " "], [7305, 0, "s"], [7306, 0, "a"], [7307, 0, "m"], [7308, 0, "e"], [7309, 0, " "], [7310, 0, "m"], [7311, 0, "a"], [7312, 0, "p"], [7313, 0, " "], [7314, 0, "k"], [7315, 0, "e"], [7316, 0, "y"], [7317, 0, "}"], [7318, 0, "\\"], [7319, 0, "l"], [7320, 0, "a"], [7321, 0, "b"], [7322, 0, "e"], [7323, 0, "l"], [7324, 0, "{"], [7325, 0, "f"], [7326, 0, "i"], [7327, 0, "g"], [7328, 0, ":"], [7329, 0, "t"], [7330, 0, "w"], [7331, 0, "o"], [7332, 0, "-"], [7333, 0, "l"], [7334, 0, "i"], [7335, 0, "s"], [7336, 0, "t"], [7337, 0, "s"], [7338, 0, "}"], [7339, 0, "\n"], [7340, 0, "\\"], [7341, 0, "e"], [7342, 0, "n"], [7343, 0, "d"], [7344, 0, "{"], [7345, 0, "f"], [7346, 0, "i"], [7347, 0, "g"], [7348, 0, "u"], [7349, 0, "r"], [7350, 0, "e"], [7351, 0, "*"], [7352, 0, "}"], [7220, 0, "\n"], [7221, 0, "\\"], [7222, 0, "n"], [7223, 0, "o"], [7224, 0, "d"], [7225, 0, "e"], [7226, 0, " "], [7227, 0, "("], [7228, 0, "s"], [7229, 0, "t"], [7230, 0, "a"], [7231, 0, "r"], [7232, 0, "t"], [7233, 0, ")"], [7234, 0, " "], [7235, 0, "a"], [7236, 0, "t"], [7237, 0, " "], [7238, 0, "("], [7239, 0, "4"], [7240, 0, ","], [7241, 0, "4"], [7242, 0, ")"], [7243, 0, " "], [7244, 0, "{"], [7245, 0, "\\"], [7246, 0, "v"], [7247, 0, "e"], [7248, 0, "r"], [7249, 0, "b"], [7250, 0, "|"], [7251, 0, "{"], [7252, 0, "}"], [7253, 0, "|"], [7254, 0, "}"], [7255, 0, ";"], [7256, 0, "\n"], [7257, 0, "\\"], [7258, 0, "n"], [7259, 0, "o"], [7260, 0, "d"], [7261, 0, "e"], [7262, 0, " "], [7263, 0, "("], [7264, 0, "l"], [7265, 0, "e"], [7266, 0, "f"], [7267, 0, "t"], [7268, 0, "1"], [7269, 0, ")"], [7270, 0, " "], [7271, 0, "a"], [7272, 0, "t"], [7273, 0, " "], [7274, 0, "("], [7275, 0, "0"], [7276, 0, ","], [7277, 0, "3"], [7278, 0, ")"], [7279, 0, " "], [7280, 0, "{"], [7281, 0, "\\"], [7282, 0, "v"], [7283, 0, "e"], [7284, 0, "r"], [7285, 0, "b"], [7286, 0, "|"], [7287, 0, "{"], [7288, 0, "\""], [7289, 0, "f"], [7290, 0, "o"], [7291, 0, "o"], [7292, 0, "d"], [7293, 0, "\""], [7294, 0, ":"], [7295, 0, "["], [7296, 0, "]"], [7297, 0, "}"], [7298, 0, "\""], [7298, 1], [7298, 0, "|"], [7299, 0, "}"], [7300, 0, ";"], [7301, 0, "\n"], [7302, 0, "\\"], [7303, 0, "n"], [7304, 0, "o"], [7305, 0, "d"], [7306, 0, "e"], [7307, 0, " "], [7308, 0, "("], [7309, 0, "r"], [7310, 0, "i"], [7311, 0, "g"], [7312, 0, "h"], [7313, 0, "t"], [7314, 0, "1"], [7315, 0, ")"], [7271, 0, " "], [7235, 0, " "], [7318, 0, " "], [7319, 0, "a"], [7320, 0, "t"], [7321, 0, " "], [7322, 0, "("], [7323, 0, "8"], [7324, 0, ","], [7325, 0, "3"], [7326, 0, ")"], [7327, 0, " "], [7328, 0, "{"], [7329, 0, "\\"], [7330, 0, "v"], [7331, 0, "e"], [7332, 0, "r"], [7333, 0, "b"], [7334, 0, "|"], [7335, 0, "{"], [7336, 0, "\""], [7337, 0, "f"], [7338, 0, "o"], [7339, 0, "o"], [7340, 0, "d"], [7341, 0, "\""], [7342, 0, ":"], [7343, 0, "p"], [7343, 1], [7343, 0, "["], [7344, 0, "]"], [7345, 0, "}"], [7346, 0, "|"], [7347, 0, "}"], [7348, 0, ";"], [7349, 0, "\n"], [7350, 0, "\\"], [7351, 0, "n"], [7352, 0, "o"], [7353, 0, "d"], [7354, 0, "e"], [7355, 0, " "], [7356, 0, "("], [7357, 0, "l"], [7358, 0, "e"], [7359, 0, "f"], [7360, 0, "t"], [7361, 0, "2"], [7362, 0, ")"], [7363, 0, " "], [7364, 0, " "], [7365, 0, "a"], [7366, 0, "t"], [7367, 0, " "], [7368, 0, "("], [7369, 0, "0"], [7370, 0, ","], [7371, 0, "2"], [7372, 0, ")"], [7373, 0, " "], [7374, 0, "{"], [7375, 0, "\\"], [7376, 0, "v"], [7377, 0, "e"], [7378, 0, "r"], [7379, 0, "b"], [7380, 0, "|"], [7381, 0, "{"], [7382, 0, "\""], [7383, 0, "f"], [7384, 0, "o"], [7385, 0, "o"], [7386, 0, "d"], [7387, 0, "\""], [7388, 0, ":"], [7389, 0, "["], [7390, 0, "\""], [7391, 0, "e"], [7392, 0, "g"], [7393, 0, "g"], [7394, 0, "s"], [7395, 0, "\""], [7396, 0, "]"], [7397, 0, "}"], [7398, 0, "|"], [7399, 0, "}"], [7400, 0, ";"], [7401, 0, "\n"], [7402, 0, "\\"], [7403, 0, "n"], [7404, 0, "o"], [7405, 0, "d"], [7406, 0, "e"], [7407, 0, " "], [7408, 0, "("], [7409, 0, "l"], [7410, 0, "e"], [7411, 0, "f"], [7412, 0, "t"], [7413, 0, "3"], [7414, 0, ")"], [7415, 0, " "], [7416, 0, " "], [7417, 0, "a"], [7418, 0, "t"], [7419, 0, " "], [7420, 0, "("], [7421, 0, "0"], [7422, 0, ","], [7423, 0, "1"], [7424, 0, ")"], [7425, 0, " "], [7426, 0, "{"], [7427, 0, "\\"], [7428, 0, "v"], [7429, 0, "e"], [7430, 0, "r"], [7431, 0, "b"], [7432, 0, "|"], [7433, 0, "{"], [7434, 0, "\""], [7435, 0, "f"], [7436, 0, "o"], [7437, 0, "o"], [7438, 0, "d"], [7439, 0, "\""], [7440, 0, ":"], [7441, 0, "["], [7442, 0, "\""], [7443, 0, "e"], [7444, 0, "g"], [7445, 0, "g"], [7446, 0, "s"], [7447, 0, "\""], [7448, 0, ","], [7449, 0, "\""], [7450, 0, "m"], [7451, 0, "i"], [7452, 0, "l"], [7453, 0, "k"], [7454, 0, "\""], [7455, 0, "]"], [7456, 0, "}"], [7457, 0, "|"], [7458, 0, "}"], [7459, 0, ";"], [7291, 1], [7291, 1], [7291, 1], [7291, 1], [7291, 0, "b"], [7292, 0, "u"], [7293, 0, "y"], [7339, 1], [7338, 1], [7337, 1], [7336, 1], [7336, 0, "b"], [7337, 0, "u"], [7338, 0, "y"], [7384, 1], [7383, 1], [7382, 1], [7381, 1], [7381, 0, "b"], [7382, 0, "u"], [7383, 0, "y"], [7435, 1], [7434, 1], [7433, 1], [7432, 1], [7432, 0, "b"], [7433, 0, "u"], [7434, 0, "y"], [7456, 0, "\n"], [7457, 0, "\\"], [7458, 0, "n"], [7459, 0, "o"], [7460, 0, "d"], [7461, 0, "e"], [7462, 0, " "], [7463, 0, "("], [7464, 0, "r"], [7465, 0, "i"], [7466, 0, "g"], [7467, 0, "h"], [7468, 0, "t"], [7469, 0, "2"], [7470, 0, ")"], [7471, 0, " "], [7472, 0, "a"], [7473, 0, "t"], [7474, 0, " "], [7475, 0, "8"], [7476, 0, ","], [7477, 0, "2"], [7478, 0, ")"], [7475, 0, "("], [7480, 0, " "], [7481, 0, "{"], [7482, 0, "\\"], [7483, 0, "v"], [7484, 0, "e"], [7485, 0, "r"], [7486, 0, "b"], [7487, 0, "|"], [7488, 0, "{"], [7489, 0, "\""], [7490, 0, "b"], [7491, 0, "u"], [7492, 0, "y"], [7493, 0, "\""], [7494, 0, ":"], [7495, 0, "["], [7496, 0, "\""], [7497, 0, "h"], [7498, 0, "a"], [7499, 0, "m"], [7500, 0, "\""], [7501, 0, "]"], [7502, 0, "}"], [7446, 1], [7446, 1], [7446, 1], [7446, 1], [7446, 0, "h"], [7447, 0, "a"], [7448, 0, "m"], [7498, 1], [7497, 1], [7496, 1], [7496, 0, "m"], [7497, 0, "i"], [7498, 0, "l"], [7499, 0, "k"], [7503, 0, "|"], [7504, 0, "}"], [7505, 0, ";"], [7506, 0, "\n"], [7507, 0, "\\"], [7508, 0, "n"], [7509, 0, "o"], [7510, 0, "d"], [7511, 0, "e"], [7512, 0, " "], [7513, 0, "("], [7514, 0, "r"], [7515, 0, "i"], [7516, 0, "g"], [7517, 0, "h"], [7518, 0, "t"], [7519, 0, "3"], [7520, 0, ")"], [7521, 0, " "], [7522, 0, "a"], [7523, 0, "t"], [7524, 0, " "], [7525, 0, "("], [7526, 0, "8"], [7527, 0, ","], [7528, 0, "1"], [7529, 0, ")"], [7530, 0, " "], [7531, 0, "{"], [7532, 0, "\\"], [7533, 0, "v"], [7534, 0, "e"], [7535, 0, "r"], [7536, 0, "b"], [7537, 0, "|"], [7538, 0, "{"], [7539, 0, "\""], [7540, 0, "b"], [7541, 0, "u"], [7542, 0, "y"], [7543, 0, "\""], [7544, 0, ":"], [7545, 0, "["], [7546, 0, "\""], [7547, 0, "m"], [7548, 0, "i"], [7549, 0, "l"], [7550, 0, "k"], [7551, 0, "\""], [7552, 0, ","], [7553, 0, "\""], [7554, 0, "f"], [7555, 0, "l"], [7556, 0, "o"], [7557, 0, "u"], [7558, 0, "r"], [7559, 0, "\""], [7560, 0, "]"], [7561, 0, "}"], [7562, 0, "|"], [7563, 0, "}"], [7564, 0, ";"], [7565, 0, "\n"], [7566, 0, "\\"], [7567, 0, "n"], [7568, 0, "o"], [7569, 0, "d"], [7570, 0, "e"], [7571, 0, " "], [7572, 0, "["], [7573, 0, "m"], [7574, 0, "a"], [7575, 0, "t"], [7576, 0, "r"], [7577, 0, "x"], [7577, 1], [7577, 0, "i"], [7578, 0, "x"], [7579, 0, "]"], [7580, 0, " "], [7581, 0, "("], [7582, 0, "l"], [7583, 0, "e"], [7584, 0, "f"], [7585, 0, "t"], [7586, 0, "4"], [7587, 0, ")"], [7588, 0, " "], [7589, 0, "a"], [7590, 0, "t"], [7591, 0, " "], [7592, 0, "("], [7593, 0, "0"], [7594, 0, ","], [7595, 0, "0"], [7596, 0, ")"], [7597, 0, " "], [7598, 0, "{"], [7599, 0, "\n"], [7600, 0, " "], [7601, 0, " "], [7602, 0, " "], [7603, 0, " "], [7604, 0, "\\"], [7605, 0, "n"], [7606, 0, "o"], [7607, 0, "d"], [7608, 0, "e"], [7609, 0, " "], [7609, 1], [7608, 1], [7607, 1], [7606, 1], [7605, 1], [7604, 1], [7603, 1], [7602, 1], [7601, 1], [7600, 1], [7599, 1], [7598, 1], [7580, 1], [7579, 1], [7578, 1], [7577, 1], [7576, 1], [7575, 1], [7574, 1], [7573, 1], [7572, 1], [7589, 0, " "], [7589, 1], [7589, 0, "{"], [7590, 0, "\\"], [7591, 0, "v"], [7592, 0, "e"], [7593, 0, "r"], [7594, 0, "b"], [7595, 0, "|"], [7596, 0, "{"], [7597, 0, "\""], [7598, 0, "b"], [7599, 0, "u"], [7600, 0, "y"], [7601, 0, "\""], [7602, 0, ":"], [7603, 0, "["], [7604, 0, "\""], [7605, 0, "e"], [7606, 0, "g"], [7607, 0, "g"], [7608, 0, "s"], [7609, 0, "\""], [7610, 0, ","], [7611, 0, "\""], [7612, 0, "h"], [7613, 0, "a"], [7614, 0, "m"], [7615, 0, "\""], [7616, 0, ","], [7617, 0, "\""], [7618, 0, "m"], [7619, 0, "i"], [7620, 0, "l"], [7621, 0, "k"], [7622, 0, "\""], [7623, 0, ","], [7624, 0, "\""], [7625, 0, "f"], [7626, 0, "l"], [7627, 0, "o"], [7628, 0, "u"], [7629, 0, "r"], [7630, 0, "\""], [7631, 0, "]"], [7632, 0, "}"], [7633, 0, "|"], [7634, 0, "}"], [7635, 0, ";"], [7636, 0, "\n"], [7637, 0, "\\"], [7638, 0, "n"], [7639, 0, "o"], [7640, 0, "d"], [7641, 0, "e"], [7642, 0, " "], [7643, 0, "("], [7644, 0, "r"], [7645, 0, "i"], [7646, 0, "g"], [7647, 0, "h"], [7648, 0, "t"], [7649, 0, "4"], [7650, 0, ")"], [7651, 0, " "], [7652, 0, "a"], [7653, 0, "t"], [7654, 0, " "], [7655, 0, "("], [7656, 0, "8"], [7657, 0, ","], [7658, 0, "0"], [7659, 0, ")"], [7660, 0, " "], [7661, 0, "{"], [7662, 0, "\\"], [7663, 0, "v"], [7664, 0, "e"], [7665, 0, "r"], [7666, 0, "b"], [7667, 0, "|"], [7668, 0, "{"], [7669, 0, "\""], [7670, 0, "b"], [7671, 0, "u"], [7672, 0, "y"], [7673, 0, "\""], [7674, 0, ":"], [7675, 0, "["], [7676, 0, "\""], [7677, 0, "e"], [7678, 0, "g"], [7679, 0, "g"], [7680, 0, "s"], [7681, 0, "\""], [7682, 0, ","], [7683, 0, "\""], [7684, 0, "h"], [7685, 0, "a"], [7686, 0, "m"], [7687, 0, "\""], [7688, 0, ","], [7689, 0, "\""], [7690, 0, "m"], [7691, 0, "i"], [7692, 0, "l"], [7693, 0, "k"], [7694, 0, "\""], [7695, 0, ","], [7696, 0, "\""], [7697, 0, "f"], [7698, 0, "l"], [7699, 0, "o"], [7700, 0, "u"], [7701, 0, "r"], [7702, 0, "\""], [7703, 0, "]"], [7704, 0, "}"], [7705, 0, "|"], [7706, 0, "}"], [7707, 0, ";"], [7708, 0, "\n"], [7709, 0, "\\"], [7710, 0, "d"], [7711, 0, "r"], [7712, 0, "a"], [7713, 0, "w"], [7714, 0, " "], [7715, 0, "["], [7716, 0, "t"], [7717, 0, "h"], [7718, 0, "i"], [7719, 0, "c"], [7720, 0, "k"], [7721, 0, ","], [7722, 0, "-"], [7723, 0, ">"], [7724, 0, "]"], [7725, 0, " "], [7726, 0, "("], [7727, 0, "s"], [7728, 0, "t"], [7729, 0, "a"], [7730, 0, "r"], [7731, 0, "t"], [7732, 0, ")"], [7733, 0, " "], [7734, 0, "t"], [7735, 0, "o"], [7736, 0, " "], [7737, 0, "n"], [7738, 0, "o"], [7739, 0, "d"], [7740, 0, "e"], [7741, 0, " "], [7742, 0, "["], [7743, 0, "l"], [7744, 0, "e"], [7745, 0, "f"], [7746, 0, "t"], [7747, 0, ","], [7748, 0, "i"], [7749, 0, "n"], [7750, 0, "n"], [7751, 0, "e"], [7752, 0, "r"], [7753, 0, " "], [7754, 0, "s"], [7755, 0, "e"], [7756, 0, "p"], [7757, 0, "="], [7758, 0, "1"], [7759, 0, "2"], [7760, 0, "p"], [7761, 0, "t"], [7762, 0, "]"], [7763, 0, " "], [7764, 0, "{"], [7765, 0, "\\"], [7766, 0, "f"], [7767, 0, "o"], [7768, 0, "o"], [7769, 0, "t"], [7770, 0, "n"], [7771, 0, "o"], [7772, 0, "t"], [7773, 0, "e"], [7774, 0, "s"], [7775, 0, "i"], [7776, 0, "z"], [7777, 0, "e"], [7778, 0, " "], [7779, 0, "d"], [7780, 0, "o"], [7781, 0, "c"], [7782, 0, "["], [7783, 0, "`"], [7784, 0, "`"], [7785, 0, "b"], [7786, 0, "u"], [7787, 0, "y"], [7788, 0, "'"], [7789, 0, "'"], [7790, 0, "]"], [7791, 0, " "], [7792, 0, ":"], [7793, 0, "="], [7794, 0, " "], [7795, 0, "["], [7796, 0, "]"], [7797, 0, ";"], [7798, 0, "}"], [7799, 0, " "], [7800, 0, "("], [7801, 0, "l"], [7802, 0, "e"], [7803, 0, "f"], [7804, 0, "t"], [7805, 0, "1"], [7806, 0, ")"], [7807, 0, ";"], [7808, 0, "\n"], [7809, 0, "\\"], [7810, 0, "d"], [7811, 0, "r"], [7812, 0, "a"], [7813, 0, "w"], [7814, 0, " "], [7815, 0, "["], [7816, 0, "t"], [7817, 0, "h"], [7818, 0, "i"], [7819, 0, "c"], [7820, 0, "k"], [7821, 0, ","], [7822, 0, "-"], [7823, 0, ">"], [7824, 0, "]"], [7825, 0, " "], [7826, 0, "("], [7827, 0, "s"], [7828, 0, "t"], [7829, 0, "a"], [7830, 0, "r"], [7831, 0, "t"], [7832, 0, ")"], [7833, 0, " "], [7834, 0, "t"], [7835, 0, "o"], [7836, 0, " "], [7837, 0, "n"], [7838, 0, "o"], [7839, 0, "d"], [7840, 0, "e"], [7841, 0, " "], [7842, 0, "["], [7843, 0, "r"], [7844, 0, "i"], [7845, 0, "g"], [7846, 0, "h"], [7847, 0, "t"], [7848, 0, ","], [7849, 0, " "], [7849, 1], [7849, 0, "i"], [7850, 0, "n"], [7851, 0, "n"], [7852, 0, "e"], [7853, 0, "r"], [7854, 0, " "], [7855, 0, "s"], [7856, 0, "e"], [7857, 0, "p"], [7858, 0, "="], [7859, 0, "1"], [7860, 0, "2"], [7861, 0, "p"], [7862, 0, "t"], [7863, 0, "]"], [7864, 0, " "], [7865, 0, "{"], [7866, 0, "\\"], [7867, 0, "f"], [7868, 0, "o"], [7869, 0, "o"], [7870, 0, "t"], [7871, 0, "n"], [7872, 0, "o"], [7873, 0, "t"], [7874, 0, "e"], [7875, 0, "s"], [7876, 0, "i"], [7877, 0, "z"], [7878, 0, "e"], [7879, 0, " "], [7880, 0, "d"], [7881, 0, "o"], [7882, 0, "c"], [7883, 0, "["], [7884, 0, "`"], [7885, 0, "`"], [7886, 0, "b"], [7887, 0, "u"], [7888, 0, "y"], [7889, 0, "'"], [7890, 0, "'"], [7891, 0, "]"], [7892, 0, " "], [7893, 0, ":"], [7894, 0, "="], [7895, 0, " "], [7896, 0, "["], [7897, 0, "]"], [7898, 0, ";"], [7899, 0, "}"], [7900, 0, " "], [7901, 0, "("], [7902, 0, "r"], [7903, 0, "i"], [7904, 0, "g"], [7905, 0, "h"], [7906, 0, "t"], [7907, 0, "1"], [7908, 0, ")"], [7909, 0, ";"], [7855, 0, "x"], [7754, 0, "x"], [6174, 0, "x"], [6051, 0, "x"], [7762, 1], [7762, 0, "8"], [7864, 1], [7864, 0, "8"], [7914, 0, "\n"], [7915, 0, "\\"], [7916, 0, "d"], [7917, 0, "r"], [7918, 0, "a"], [7919, 0, "w"], [7920, 0, " "], [7921, 0, "["], [7922, 0, "t"], [7923, 0, "h"], [7924, 0, "i"], [7925, 0, "c"], [7926, 0, "k"], [7927, 0, ","], [7928, 0, "-"], [7929, 0, ">"], [7930, 0, " "], [7930, 1], [7930, 0, "]"], [7931, 0, " "], [7932, 0, "("], [7933, 0, "l"], [7934, 0, "e"], [7935, 0, "f"], [7936, 0, "t"], [7937, 0, "1"], [7938, 0, ")"], [7939, 0, " "], [7940, 0, "t"], [7941, 0, "o"], [7942, 0, " "], [7943, 0, "n"], [7944, 0, "o"], [7945, 0, "d"], [7946, 0, "e"], [7947, 0, " "], [7948, 0, "["], [7949, 0, "l"], [7950, 0, "e"], [7951, 0, "f"], [7952, 0, "t"], [7953, 0, "]"], [7954, 0, " "], [7955, 0, "{"], [7956, 0, "\\"], [7957, 0, "f"], [7958, 0, "o"], [7959, 0, "o"], [7960, 0, "t"], [7961, 0, "n"], [7962, 0, "o"], [7963, 0, "t"], [7964, 0, "e"], [7965, 0, "s"], [7966, 0, "i"], [7967, 0, "z"], [7968, 0, "e"], [7969, 0, " "], [7970, 0, "d"], [7971, 0, "o"], [7972, 0, "c"], [7973, 0, "["], [7974, 0, "`"], [7975, 0, "`"], [7976, 0, "b"], [7977, 0, "u"], [7978, 0, "y"], [7979, 0, "'"], [7980, 0, "'"], [7981, 0, "]"], [7982, 0, "."], [7983, 0, "i"], [7984, 0, "t"], [7985, 0, "e"], [7986, 0, "r"], [7987, 0, "."], [7988, 0, "i"], [7989, 0, "n"], [7990, 0, "s"], [7991, 0, "e"], [7992, 0, "r"], [7993, 0, "t"], [7994, 0, "("], [7995, 0, "`"], [7996, 0, "`"], [7997, 0, "e"], [7998, 0, "g"], [7999, 0, "g"], [8000, 0, "s"], [8001, 0, "'"], [8002, 0, "'"], [8003, 0, ")"], [8004, 0, ";"], [8005, 0, "}"], [8006, 0, " "], [8007, 0, "("], [8008, 0, "l"], [8009, 0, "e"], [8010, 0, "f"], [8011, 0, "t"], [8012, 0, "2"], [8013, 0, ")"], [8014, 0, ";"], [8015, 0, "\n"], [8016, 0, "\\"], [8017, 0, "d"], [8018, 0, "r"], [8019, 0, "a"], [8020, 0, "w"], [8021, 0, " "], [8022, 0, "["], [8023, 0, "t"], [8024, 0, "h"], [8025, 0, "i"], [8026, 0, "c"], [8027, 0, "k"], [8028, 0, ","], [8029, 0, "-"], [8030, 0, ">"], [8031, 0, "]"], [8032, 0, " "], [8033, 0, "("], [8034, 0, "r"], [8035, 0, "i"], [8036, 0, "g"], [8037, 0, "h"], [8038, 0, "t"], [8039, 0, "1"], [8040, 0, ")"], [8041, 0, " "], [8042, 0, "t"], [8043, 0, "o"], [8044, 0, " "], [8045, 0, "n"], [8046, 0, "o"], [8047, 0, "d"], [8048, 0, "e"], [8049, 0, " "], [8050, 0, "["], [8051, 0, "r"], [8052, 0, "i"], [8053, 0, "g"], [8054, 0, "h"], [8055, 0, "t"], [8056, 0, "]"], [8057, 0, " "], [8058, 0, "{"], [8059, 0, "\\"], [8060, 0, "f"], [8061, 0, "o"], [8062, 0, "o"], [8063, 0, "t"], [8064, 0, "n"], [8065, 0, "o"], [8066, 0, "t"], [8067, 0, "e"], [8068, 0, "s"], [8069, 0, "i"], [8070, 0, "z"], [8071, 0, "e"], [8072, 0, " "], [8073, 0, "d"], [8074, 0, "o"], [8075, 0, "c"], [8076, 0, "["], [8077, 0, "`"], [8078, 0, "`"], [8079, 0, "b"], [8080, 0, "u"], [8081, 0, "y"], [8082, 0, "'"], [8083, 0, "'"], [8084, 0, "]"], [8085, 0, "."], [8086, 0, "i"], [8087, 0, "t"], [8088, 0, "e"], [8089, 0, "r"], [8090, 0, "."], [8091, 0, "i"], [8092, 0, "n"], [8093, 0, "s"], [8094, 0, "e"], [8095, 0, "r"], [8096, 0, "t"], [8097, 0, "("], [8098, 0, "`"], [8099, 0, "`"], [8100, 0, "m"], [8101, 0, "i"], [8102, 0, "l"], [8103, 0, "k"], [8104, 0, "'"], [8105, 0, "'"], [8106, 0, ")"], [8107, 0, ";"], [8108, 0, "}"], [8109, 0, " "], [8110, 0, "("], [8111, 0, "r"], [8112, 0, "i"], [8113, 0, "g"], [8114, 0, "h"], [8115, 0, "t"], [8116, 0, "2"], [8117, 0, ")"], [8118, 0, ";"], [8119, 0, "\n"], [8120, 0, "\\"], [8121, 0, "d"], [8122, 0, "r"], [8123, 0, "a"], [8124, 0, "w"], [8125, 0, " "], [8126, 0, "["], [8127, 0, "t"], [8128, 0, "h"], [8129, 0, "i"], [8130, 0, "c"], [8131, 0, "k"], [8132, 0, ","], [8133, 0, "-"], [8134, 0, ">"], [8135, 0, "]"], [8136, 0, " "], [8137, 0, "("], [8138, 0, "l"], [8139, 0, "e"], [8140, 0, "f"], [8141, 0, "t"], [8142, 0, "2"], [8143, 0, ")"], [8144, 0, " "], [8145, 0, "t"], [8146, 0, "o"], [8147, 0, " "], [8148, 0, "n"], [8149, 0, "o"], [8150, 0, "d"], [8151, 0, "e"], [8152, 0, " "], [8153, 0, "["], [8154, 0, "l"], [8155, 0, "e"], [8156, 0, "f"], [8157, 0, "t"], [8158, 0, "]"], [8159, 0, " "], [8160, 0, "{"], [8161, 0, "\\"], [8162, 0, "f"], [8163, 0, "o"], [8164, 0, "o"], [8165, 0, "t"], [8166, 0, "n"], [8167, 0, "o"], [8168, 0, "t"], [8169, 0, "e"], [8170, 0, "s"], [8171, 0, "i"], [8172, 0, "z"], [8173, 0, "e"], [8174, 0, " "], [8175, 0, "e"], [8176, 0, "g"], [8177, 0, "g"], [8178, 0, "s"], [8179, 0, "."], [8180, 0, "i"], [8181, 0, "n"], [8182, 0, "s"], [8183, 0, "e"], [8184, 0, "r"], [8185, 0, "t"], [8186, 0, "("], [8187, 0, "`"], [8188, 0, "`"], [8189, 0, "h"], [8190, 0, "a"], [8191, 0, "m"], [8192, 0, "'"], [8193, 0, "'"], [8194, 0, ")"], [8195, 0, ";"], [8196, 0, "}"], [8197, 0, " "], [8198, 0, "("], [8199, 0, "l"], [8200, 0, "e"], [8201, 0, "f"], [8202, 0, "t"], [8203, 0, "3"], [8204, 0, ")"], [8205, 0, ";"], [8206, 0, "\n"], [8207, 0, "\\"], [8208, 0, "d"], [8209, 0, "r"], [8210, 0, "a"], [8211, 0, "w"], [8212, 0, " "], [8213, 0, "["], [8214, 0, "t"], [8215, 0, "h"], [8216, 0, "i"], [8217, 0, "c"], [8218, 0, "k"], [8219, 0, ","], [8220, 0, "-"], [8221, 0, ">"], [8222, 0, "]"], [8223, 0, " "], [8224, 0, "("], [8225, 0, "r"], [8226, 0, "i"], [8227, 0, "g"], [8228, 0, "h"], [8229, 0, "t"], [8230, 0, "2"], [8231, 0, ")"], [8232, 0, " "], [8233, 0, "t"], [8234, 0, "o"], [8235, 0, " "], [8236, 0, "n"], [8237, 0, "o"], [8238, 0, "d"], [8239, 0, "e"], [8240, 0, " "], [8241, 0, "["], [8242, 0, "r"], [8243, 0, "i"], [8244, 0, "g"], [8245, 0, "h"], [8246, 0, "t"], [8247, 0, "]"], [8248, 0, " "], [8249, 0, "{"], [8250, 0, "\\"], [8251, 0, "f"], [8252, 0, "o"], [8253, 0, "o"], [8254, 0, "t"], [8255, 0, "n"], [8256, 0, "o"], [8257, 0, "t"], [8258, 0, "e"], [8259, 0, "s"], [8260, 0, "i"], [8261, 0, "z"], [8262, 0, "e"], [8263, 0, " "], [8264, 0, "m"], [8265, 0, "i"], [8266, 0, "l"], [8267, 0, "k"], [8268, 0, "."], [8269, 0, "i"], [8270, 0, "n"], [8271, 0, "s"], [8272, 0, "e"], [8273, 0, "r"], [8274, 0, "t"], [8275, 0, "("], [8276, 0, "`"], [8277, 0, "`"], [8278, 0, "f"], [8279, 0, "l"], [8280, 0, "o"], [8281, 0, "u"], [8282, 0, "r"], [8283, 0, "'"], [8284, 0, "'"], [8285, 0, ")"], [8286, 0, ";"], [8287, 0, "}"], [8288, 0, " "], [8289, 0, "("], [8290, 0, "r"], [8291, 0, "i"], [8292, 0, "g"], [8293, 0, "h"], [8294, 0, "t"], [8295, 0, "3"], [8296, 0, ")"], [8297, 0, ";"], [8298, 0, "\n"], [8299, 0, "\\"], [8300, 0, "d"], [8301, 0, "r"], [8302, 0, "a"], [8303, 0, "w"], [8304, 0, " "], [8305, 0, "["], [8306, 0, "t"], [8307, 0, "h"], [8308, 0, "i"], [8309, 0, "c"], [8310, 0, "k"], [8311, 0, ","], [8312, 0, "-"], [8313, 0, ">"], [8314, 0, "]"], [8315, 0, " "], [8316, 0, "("], [8317, 0, "l"], [8318, 0, "e"], [8319, 0, "f"], [8320, 0, "t"], [8321, 0, "3"], [8322, 0, ")"], [8323, 0, " "], [8324, 0, "t"], [8325, 0, "o"], [8326, 0, " "], [8327, 0, "n"], [8328, 0, "o"], [8329, 0, "d"], [8330, 0, "e"], [8331, 0, " "], [8332, 0, "["], [8333, 0, "l"], [8334, 0, "e"], [8335, 0, "f"], [8336, 0, "t"], [8337, 0, "]"], [8338, 0, " "], [8339, 0, "{"], [8340, 0, "\\"], [8341, 0, "f"], [8342, 0, "o"], [8343, 0, "o"], [8344, 0, "t"], [8345, 0, "n"], [8346, 0, "o"], [8347, 0, "t"], [8348, 0, "e"], [8349, 0, "s"], [8350, 0, "i"], [8351, 0, "z"], [8352, 0, "e"], [8353, 0, " "], [8354, 0, "y"], [8355, 0, "i"], [8356, 0, "e"], [8357, 0, "l"], [8358, 0, "d"], [8359, 0, ";"], [8360, 0, "]"], [8360, 1], [8360, 0, "}"], [8361, 0, " "], [8362, 0, "("], [8363, 0, "l"], [8364, 0, "e"], [8365, 0, "f"], [8366, 0, "t"], [8367, 0, "5"], [8367, 1], [8367, 0, "4"], [8368, 0, ")"], [8369, 0, ";"], [8370, 0, "\n"], [8371, 0, "\\"], [8372, 0, "d"], [8373, 0, "r"], [8374, 0, "a"], [8375, 0, "w"], [8376, 0, " "], [8377, 0, "["], [8378, 0, "t"], [8379, 0, "h"], [8380, 0, "i"], [8381, 0, "c"], [8382, 0, "k"], [8383, 0, ","], [8384, 0, "-"], [8385, 0, ">"], [8386, 0, "]"], [8387, 0, " "], [8388, 0, "("], [8389, 0, "r"], [8390, 0, "i"], [8391, 0, "g"], [8392, 0, "h"], [8393, 0, "t"], [8394, 0, "3"], [8395, 0, ")"], [8396, 0, " "], [8397, 0, "t"], [8398, 0, "o"], [8399, 0, " "], [8400, 0, "n"], [8401, 0, "o"], [8402, 0, "d"], [8403, 0, "e"], [8404, 0, " "], [8405, 0, "["], [8406, 0, "r"], [8407, 0, "i"], [8408, 0, "g"], [8409, 0, "h"], [8410, 0, "t"], [8411, 0, "]"], [8412, 0, " "], [8413, 0, "{"], [8414, 0, "\\"], [8415, 0, "f"], [8416, 0, "o"], [8417, 0, "o"], [8418, 0, "t"], [8419, 0, "n"], [8420, 0, "o"], [8421, 0, "t"], [8422, 0, "e"], [8423, 0, "s"], [8424, 0, "i"], [8425, 0, "z"], [8426, 0, "e"], [8427, 0, " "], [8428, 0, "y"], [8429, 0, "i"], [8430, 0, "e"], [8431, 0, "l"], [8432, 0, "d"], [8433, 0, ";"], [8434, 0, "}"], [8435, 0, " "], [8436, 0, "("], [8437, 0, "r"], [8438, 0, "i"], [8439, 0, "g"], [8440, 0, "h"], [8441, 0, "t"], [8442, 0, "4"], [8443, 0, ")"], [8444, 0, ";"], [8445, 0, "\n"], [8446, 0, "\\"], [8447, 0, "d"], [8448, 0, "r"], [8449, 0, "a"], [8450, 0, "w"], [8451, 0, " "], [8452, 0, "["], [8453, 0, "t"], [8454, 0, "h"], [8455, 0, "i"], [8456, 0, "c"], [8457, 0, "k"], [8458, 0, ","], [8459, 0, "-"], [8460, 0, ">"], [8461, 0, "]"], [8462, 0, " "], [8463, 0, "("], [8464, 0, "l"], [8465, 0, "e"], [8466, 0, "f"], [8467, 0, "t"], [8468, 0, "3"], [8469, 0, ")"], [8470, 0, " "], [8471, 0, "t"], [8472, 0, "o"], [8473, 0, " "], [8474, 0, "("], [8475, 0, "r"], [8476, 0, "i"], [8477, 0, "g"], [8478, 0, "h"], [8479, 0, "t"], [8480, 0, "5"], [8480, 1], [8480, 0, "4"], [8481, 0, ")"], [8482, 0, ";"], [8483, 0, "\n"], [8484, 0, "\\"], [8485, 0, "d"], [8486, 0, "r"], [8487, 0, "a"], [8488, 0, "w"], [8489, 0, " "], [8490, 0, "["], [8491, 0, "t"], [8492, 0, "h"], [8493, 0, "i"], [8494, 0, "c"], [8495, 0, "k"], [8496, 0, ","], [8497, 0, "-"], [8498, 0, ">"], [8499, 0, " "], [8499, 1], [8499, 0, "]"], [8500, 0, " "], [8501, 0, "("], [8502, 0, "r"], [8503, 0, "i"], [8504, 0, "g"], [8505, 0, "h"], [8506, 0, "t"], [8507, 0, "3"], [8508, 0, " "], [8508, 1], [8508, 0, ")"], [8509, 0, " "], [8510, 0, "t"], [8511, 0, "o"], [8512, 0, " "], [8513, 0, "("], [8514, 0, "l"], [8515, 0, "e"], [8516, 0, "f"], [8517, 0, "t"], [8518, 0, "3"], [8519, 0, "4"], [8519, 1], [8518, 1], [8518, 0, "4"], [8519, 0, ")"], [8520, 0, ";"], [7582, 0, " "], [7737, 0, " "], [7839, 0, " "], [7943, 0, " "], [8149, 0, " "], [8329, 0, " "], [8477, 0, " "], [8345, 0, " "], [8165, 0, " "], [7959, 0, " "], [7752, 0, " "], [7531, 0, "."], [7532, 0, "5"], [7592, 0, "."], [7593, 0, "0"], [7666, 0, "."], [7667, 0, "0"], [7479, 1], [7479, 0, "3"], [7480, 0, "."], [7481, 0, "0"], [7423, 0, "."], [7424, 0, "5"], [7371, 1], [7371, 0, "3"], [7372, 0, "."], [7373, 0, "0"], [7326, 1], [7326, 0, "4"], [7327, 0, "."], [7328, 0, "5"], [7281, 1], [7281, 0, "4"], [7282, 0, "."], [7283, 0, "5"], [7244, 1], [7244, 0, "6"], [7245, 0, "."], [7246, 0, "0"], [6520, 0, " "], [6373, 0, " "], [6154, 0, " "], [6031, 0, " "], [6046, 0, " "], [6392, 0, " "], [8689, 0, "\n"], [8690, 0, "\n"], [8691, 0, "\\"], [8692, 0, "b"], [8693, 0, "e"], [8694, 0, "g"], [8695, 0, "i"], [8696, 0, "n"], [8697, 0, "{"], [8698, 0, "f"], [8699, 0, "i"], [8700, 0, "g"], [8701, 0, "u"], [8702, 0, "r"], [8703, 0, "e"], [8704, 0, "*"], [8705, 0, "}"], [8706, 0, "\n"], [8707, 0, "\\"], [8708, 0, "e"], [8709, 0, "n"], [8710, 0, "d"], [8711, 0, "{"], [8712, 0, "f"], [8713, 0, "i"], [8714, 0, "g"], [8715, 0, "u"], [8716, 0, "r"], [8717, 0, "e"], [8718, 0, "*"], [8719, 0, "]"], [8719, 1], [8719, 0, "}"], [8706, 0, "\n"], [8707, 0, "\\"], [8708, 0, "c"], [8709, 0, "e"], [8710, 0, "n"], [8711, 0, "t"], [8712, 0, "e"], [8713, 0, "r"], [8714, 0, "i"], [8715, 0, "n"], [8716, 0, "g"], [8717, 0, "\n"], [8718, 0, "\\"], [8719, 0, "b"], [8720, 0, "e"], [8721, 0, "g"], [8722, 0, "i"], [8723, 0, "n"], [8724, 0, "{"], [8725, 0, "t"], [8726, 0, "i"], [8727, 0, "k"], [8728, 0, "z"], [8729, 0, "p"], [8730, 0, "i"], [8731, 0, "c"], [8732, 0, "t"], [8733, 0, "u"], [8734, 0, "r"], [8735, 0, "e"], [8736, 0, "}"], [8737, 0, "["], [8738, 0, "a"], [8739, 0, "u"], [8740, 0, "t"], [8741, 0, "o"], [8742, 0, "]"], [8743, 0, "\n"], [8744, 0, "\\"], [8745, 0, "e"], [8746, 0, "n"], [8747, 0, "d"], [8748, 0, "{"], [8749, 0, "t"], [8750, 0, "i"], [8751, 0, "k"], [8752, 0, "z"], [8753, 0, "p"], [8754, 0, "i"], [8755, 0, "c"], [8756, 0, "t"], [8757, 0, "u"], [8758, 0, "r"], [8759, 0, "e"], [8760, 0, "}"], [8761, 0, "\n"], [8762, 0, "\\"], [8763, 0, "c"], [8764, 0, "a"], [8765, 0, "p"], [8766, 0, "t"], [8767, 0, "u"], [8767, 1], [8767, 0, "i"], [8768, 0, "o"], [8769, 0, "n"], [8770, 0, "{"], [8771, 0, "O"], [8772, 0, "n"], [8773, 0, "e"], [8774, 0, " "], [8775, 0, "r"], [8776, 0, "e"], [8777, 0, "p"], [8778, 0, "l"], [8779, 0, "i"], [8780, 0, "c"], [8781, 0, "a"], [8782, 0, " "], [8783, 0, "r"], [8784, 0, "e"], [8785, 0, "m"], [8786, 0, "o"], [8787, 0, "v"], [8788, 0, "e"], [8789, 0, "s"], [8790, 0, " "], [8791, 0, "a"], [8792, 0, " "], [8793, 0, "l"], [8794, 0, "i"], [8795, 0, "s"], [8796, 0, "t"], [8797, 0, " "], [8798, 0, "e"], [8799, 0, "l"], [8800, 0, "e"], [8801, 0, "m"], [8802, 0, "e"], [8803, 0, "n"], [8804, 0, "t"], [8805, 0, ","], [8806, 0, " "], [8807, 0, "w"], [8808, 0, "h"], [8809, 0, "i"], [8810, 0, "l"], [8811, 0, "e"], [8812, 0, " "], [8813, 0, "a"], [8814, 0, "n"], [8815, 0, "o"], [8816, 0, "t"], [8817, 0, "h"], [8818, 0, "e"], [8819, 0, "r"], [8820, 0, " "], [8821, 0, "c"], [8822, 0, "o"], [8823, 0, "n"], [8824, 0, "c"], [8825, 0, "u"], [8826, 0, "r"], [8827, 0, "r"], [8828, 0, "e"], [8829, 0, "n"], [8830, 0, "t"], [8831, 0, "l"], [8832, 0, "y"], [8833, 0, " "], [8834, 0, "u"], [8835, 0, "p"], [8836, 0, "d"], [8837, 0, "a"], [8838, 0, "t"], [8839, 0, "e"], [8840, 0, "s"], [8841, 0, " "], [8842, 0, "i"], [8843, 0, "t"], [8844, 0, "s"], [8845, 0, " "], [8846, 0, "c"], [8847, 0, "o"], [8848, 0, "n"], [8849, 0, "t"], [8850, 0, "e"], [8851, 0, "n"], [8852, 0, "t"], [8853, 0, "s"], [8854, 0, "}"], [8855, 0, "\\"], [8856, 0, "l"], [8857, 0, "a"], [8858, 0, "b"], [8859, 0, "e"], [8860, 0, "l"], [8861, 0, "{"], [8862, 0, "f"], [8863, 0, "i"], [8864, 0, "g"], [8865, 0, ":"], [8866, 0, "t"], [8867, 0, "o"], [8868, 0, "d"], [8869, 0, "o"], [8870, 0, "-"], [8871, 0, "i"], [8872, 0, "t"], [8873, 0, "e"], [8874, 0, "m"], [8875, 0, "}"], [8743, 0, "\n"], [8744, 0, "\\"], [8745, 0, "n"], [8746, 0, "o"], [8747, 0, "d"], [8748, 0, "e"], [8749, 0, " "], [8750, 0, "("], [8751, 0, "s"], [8752, 0, "t"], [8753, 0, "a"], [8754, 0, "r"], [8755, 0, "t"], [8756, 0, ")"], [8757, 0, " "], [8758, 0, " "], [8759, 0, "a"], [8760, 0, "t"], [8761, 0, " "], [8762, 0, "("], [8763, 0, "4"], [8764, 0, ","], [8765, 0, "5"], [8766, 0, ")"], [8767, 0, " "], [8768, 0, "{"], [8769, 0, "\\"], [8770, 0, "v"], [8771, 0, "e"], [8772, 0, "r"], [8773, 0, "b"], [8774, 0, "|"], [8775, 0, "|"], [8776, 0, "}"], [8777, 0, ";"], [8775, 0, "{"], [8776, 0, "\""], [8777, 0, "t"], [8778, 0, "o"], [8779, 0, "d"], [8780, 0, "o"], [8781, 0, "\""], [8782, 0, ":"], [8783, 0, "["], [8784, 0, "{"], [8785, 0, "\""], [8786, 0, "t"], [8787, 0, "e"], [8788, 0, "x"], [8789, 0, "t"], [8789, 1], [8788, 1], [8787, 1], [8787, 0, "i"], [8788, 0, "t"], [8789, 0, "l"], [8790, 0, "e"], [8791, 0, "\""], [8792, 0, ":"], [8793, 0, "\""], [8794, 0, "b"], [8795, 0, "u"], [8796, 0, "y"], [8797, 0, " "], [8798, 0, "m"], [8799, 0, "i"], [8800, 0, "l"], [8801, 0, "k"], [8802, 0, "\""], [8803, 0, ","], [8804, 0, " "], [8805, 0, "\""], [8806, 0, "d"], [8807, 0, "o"], [8808, 0, "n"], [8809, 0, "e"], [8810, 0, ":"], [8810, 1], [8810, 0, "\""], [8811, 0, ":"], [8812, 0, " "], [8813, 0, "f"], [8814, 0, "a"], [8815, 0, "l"], [8816, 0, "s"], [8817, 0, "e"], [8818, 0, "}"], [8819, 0, "]"], [8820, 0, "}"], [8793, 0, " "], [8783, 0, " "], [8765, 1], [8765, 0, "4"], [8826, 0, "\n"], [8827, 0, "\\"], [8828, 0, "n"], [8829, 0, "o"], [8830, 0, "d"], [8831, 0, "e"], [8832, 0, " "], [8833, 0, "("], [8834, 0, "l"], [8835, 0, "e"], [8836, 0, "f"], [8837, 0, "t"], [8838, 0, "1"], [8839, 0, ")"], [8840, 0, " "], [8841, 0, " "], [8842, 0, "a"], [8843, 0, "t"], [8844, 0, " "], [8845, 0, "("], [8846, 0, "0"], [8847, 0, ","], [8848, 0, "2"], [8849, 0, ")"], [8850, 0, " "], [8851, 0, "{"], [8852, 0, "\\"], [8853, 0, "v"], [8854, 0, "e"], [8855, 0, "r"], [8856, 0, "b"], [8857, 0, "|"], [8858, 0, "{"], [8859, 0, "\""], [8860, 0, "t"], [8861, 0, "o"], [8862, 0, "d"], [8863, 0, "o"], [8864, 0, "\""], [8865, 0, ":"], [8866, 0, " "], [8867, 0, "["], [8868, 0, "]"], [8869, 0, "}"], [8870, 0, "|"], [8871, 0, "}"], [8872, 0, ";"], [8873, 0, "\n"], [8874, 0, "\\"], [8875, 0, "n"], [8876, 0, "o"], [8877, 0, "d"], [8878, 0, "e"], [8879, 0, " "], [8880, 0, "("], [8881, 0, "r"], [8882, 0, "i"], [8883, 0, "g"], [8884, 0, "h"], [8885, 0, "t"], [8886, 0, "1"], [8887, 0, ")"], [8888, 0, " "], [8889, 0, "a"], [8890, 0, "t"], [8891, 0, " "], [8892, 0, "("], [8893, 0, "8"], [8894, 0, ","], [8895, 0, "2"], [8896, 0, ")"], [8897, 0, " "], [8898, 0, "{"], [8899, 0, "\\"], [8900, 0, "v"], [8901, 0, "e"], [8902, 0, "r"], [8903, 0, "b"], [8904, 0, "|"], [8905, 0, "{"], [8906, 0, "\""], [8907, 0, "t"], [8908, 0, "o"], [8909, 0, "d"], [8910, 0, "o"], [8911, 0, "\""], [8912, 0, ":"], [8913, 0, " "], [8914, 0, "["], [8915, 0, "{"], [8916, 0, "\""], [8917, 0, "t"], [8918, 0, "i"], [8919, 0, "t"], [8920, 0, "l"], [8921, 0, "e"], [8922, 0, "\""], [8923, 0, ":"], [8924, 0, " "], [8925, 0, "\""], [8926, 0, "b"], [8927, 0, "u"], [8928, 0, "y"], [8929, 0, " "], [8930, 0, "m"], [8931, 0, "i"], [8932, 0, "l"], [8933, 0, "k"], [8934, 0, "\""], [8935, 0, ","], [8936, 0, " "], [8937, 0, "\""], [8938, 0, "d"], [8939, 0, "o"], [8940, 0, "n"], [8941, 0, "e"], [8942, 0, "\""], [8943, 0, ":"], [8944, 0, " "], [8945, 0, "t"], [8946, 0, "r"], [8947, 0, "u"], [8948, 0, "e"], [8949, 0, "}"], [8950, 0, "]"], [8951, 0, "}"], [8952, 0, "|"], [8953, 0, "}"], [8954, 0, ";"], [8955, 0, "\n"], [8956, 0, "\\"], [8957, 0, "n"], [8958, 0, "o"], [8959, 0, "d"], [8960, 0, "e"], [8961, 0, " "], [8962, 0, "("], [8963, 0, "l"], [8964, 0, "e"], [8965, 0, "f"], [8966, 0, "t"], [8967, 0, "2"], [8968, 0, ")"], [8969, 0, " "], [8970, 0, " "], [8971, 0, "a"], [8972, 0, "t"], [8973, 0, " "], [8974, 0, "("], [8975, 0, "0"], [8976, 0, ","], [8977, 0, "0"], [8978, 0, ")"], [8979, 0, " "], [8980, 0, "{"], [8981, 0, "\\"], [8982, 0, "v"], [8983, 0, "e"], [8984, 0, "r"], [8985, 0, "b"], [8986, 0, "|"], [8987, 0, "["], [8988, 0, "\""], [8988, 1], [8987, 1], [8987, 0, "{"], [8988, 0, "\""], [8989, 0, "t"], [8990, 0, "o"], [8991, 0, "d"], [8992, 0, "o"], [8993, 0, "\""], [8994, 0, ":"], [8995, 0, " "], [8996, 0, "["], [8997, 0, "{"], [8998, 0, "\""], [8999, 0, "d"], [9000, 0, "o"], [9001, 0, "n"], [9002, 0, "e"], [9003, 0, "\""], [9004, 0, ":"], [9005, 0, " "], [9006, 0, "t"], [9007, 0, "r"], [9008, 0, "u"], [9009, 0, "e"], [9010, 0, "}"], [9011, 0, "]"], [9012, 0, "}"], [9013, 0, "|"], [9014, 0, "}"], [9015, 0, ";"], [9016, 0, "\n"], [9017, 0, "\\"], [9018, 0, "n"], [9019, 0, "o"], [9020, 0, "d"], [9021, 0, "e"], [9022, 0, " "], [9023, 0, "("], [9024, 0, "r"], [9025, 0, "i"], [9026, 0, "g"], [9027, 0, "h"], [9028, 0, "t"], [9029, 0, "2"], [9030, 0, ")"], [9031, 0, " "], [9032, 0, "a"], [9033, 0, "t"], [9034, 0, " "], [9035, 0, "("], [9036, 0, "8"], [9037, 0, ","], [9038, 0, "0"], [9039, 0, ")"], [9040, 0, " "], [9041, 0, "{"], [9042, 0, "\\"], [9043, 0, "v"], [9044, 0, "e"], [9045, 0, "r"], [9046, 0, "b"], [9047, 0, "|"], [9048, 0, "{"], [9049, 0, "\""], [9050, 0, "t"], [9051, 0, "o"], [9052, 0, "d"], [9053, 0, "o"], [9054, 0, "\""], [9055, 0, ":"], [9056, 0, " "], [9057, 0, "["], [9058, 0, "\""], [9058, 1], [9058, 0, "{"], [9059, 0, "\""], [9060, 0, "d"], [9061, 0, "o"], [9062, 0, "n"], [9063, 0, "e"], [9064, 0, "\""], [9065, 0, ":"], [9066, 0, " "], [9067, 0, "t"], [9068, 0, "r"], [9069, 0, "u"], [9070, 0, "e"], [9071, 0, "}"], [9072, 0, "]"], [9073, 0, "}"], [9074, 0, "|"], [9075, 0, "}"], [9076, 0, ";"], [8895, 1], [8895, 0, "1"], [8896, 0, "."], [8897, 0, "5"], [8848, 1], [8848, 0, "1"], [8849, 0, "."], [8850, 0, "5"], [8765, 1], [8765, 0, "3"], [8766, 0, "."], [8767, 0, "0"], [8984, 0, "."], [8985, 0, "0"], [9047, 0, "."], [9048, 0, "0"], [9087, 0, "\n"], [9088, 0, "\\"], [9089, 0, "d"], [9090, 0, "r"], [9091, 0, "a"], [9092, 0, "w"], [9093, 0, " "], [9094, 0, "["], [9095, 0, "t"], [9096, 0, "h"], [9097, 0, "i"], [9098, 0, "c"], [9099, 0, "k"], [9100, 0, ","], [9101, 0, "-"], [9102, 0, ">"], [9103, 0, "]"], [9104, 0, " "], [9105, 0, "("], [9106, 0, "s"], [9107, 0, "t"], [9108, 0, "a"], [9109, 0, "r"], [9110, 0, "t"], [9111, 0, ")"], [9112, 0, " "], [9113, 0, " "], [9114, 0, "t"], [9115, 0, "o"], [9116, 0, " "], [9117, 0, "n"], [9118, 0, "o"], [9119, 0, "d"], [9120, 0, "e"], [9121, 0, " "], [9122, 0, "["], [9123, 0, "l"], [9124, 0, "e"], [9125, 0, "f"], [9126, 0, "t"], [9127, 0, ","], [9128, 0, " "], [9129, 0, "i"], [9130, 0, "n"], [9131, 0, "n"], [9132, 0, "e"], [9133, 0, "r"], [9134, 0, " "], [9135, 0, "x"], [9136, 0, "s"], [9137, 0, "e"], [9138, 0, "p"], [9139, 0, "="], [9140, 0, "1"], [9141, 0, "2"], [9142, 0, "p"], [9143, 0, "t"], [9144, 0, "]"], [9145, 0, " "], [9146, 0, "{"], [9147, 0, "\\"], [9148, 0, "f"], [9149, 0, "o"], [9150, 0, "o"], [9151, 0, "t"], [9152, 0, "n"], [9153, 0, "o"], [9154, 0, "t"], [9155, 0, "e"], [9156, 0, "s"], [9157, 0, "i"], [9158, 0, "z"], [9159, 0, "e"], [9160, 0, " "], [9161, 0, "d"], [9162, 0, "o"], [9163, 0, "c"], [9164, 0, "["], [9165, 0, "`"], [9166, 0, "`"], [9167, 0, "t"], [9168, 0, "o"], [9169, 0, "d"], [9170, 0, "o"], [9171, 0, "'"], [9172, 0, "'"], [9173, 0, "]"], [9174, 0, "."], [9175, 0, "i"], [9176, 0, "t"], [9177, 0, "e"], [9178, 0, "r"], [9179, 0, "."], [9180, 0, "n"], [9181, 0, "e"], [9182, 0, "x"], [9183, 0, "t"], [9184, 0, "."], [9185, 0, "d"], [9186, 0, "e"], [9187, 0, "l"], [9188, 0, "e"], [9189, 0, "t"], [9190, 0, "e"], [9191, 0, ";"], [9192, 0, "}"], [9193, 0, " "], [9194, 0, "("], [9195, 0, "l"], [9196, 0, "e"], [9197, 0, "f"], [9198, 0, "t"], [9199, 0, "1"], [9200, 0, ")"], [9201, 0, ";"], [9202, 0, "\n"], [9203, 0, "\\"], [9204, 0, "d"], [9205, 0, "r"], [9206, 0, "a"], [9207, 0, "w"], [9208, 0, " "], [9209, 0, "["], [9210, 0, "t"], [9211, 0, "h"], [9212, 0, "i"], [9213, 0, "c"], [9214, 0, "k"], [9215, 0, ","], [9216, 0, "-"], [9217, 0, ">"], [9218, 0, "]"], [9219, 0, " "], [9220, 0, "("], [9221, 0, "s"], [9222, 0, "t"], [9223, 0, "a"], [9224, 0, "r"], [9225, 0, "t"], [9226, 0, ")"], [9227, 0, " "], [9228, 0, " "], [9229, 0, "t"], [9230, 0, "o"], [9231, 0, " "], [9232, 0, "n"], [9233, 0, "o"], [9234, 0, "d"], [9235, 0, "e"], [9236, 0, " "], [9237, 0, "["], [9238, 0, "r"], [9239, 0, "i"], [9240, 0, "g"], [9241, 0, "h"], [9242, 0, "t"], [9243, 0, ","], [9244, 0, "i"], [9245, 0, "n"], [9246, 0, "n"], [9247, 0, "e"], [9248, 0, "r"], [9249, 0, " "], [9250, 0, "x"], [9251, 0, "s"], [9252, 0, "e"], [9253, 0, "p"], [9254, 0, "="], [9255, 0, "1"], [9256, 0, "2"], [9257, 0, "p"], [9258, 0, "t"], [9259, 0, "]"], [9260, 0, " "], [9261, 0, "{"], [9262, 0, "\\"], [9263, 0, "f"], [9264, 0, "o"], [9265, 0, "o"], [9266, 0, "t"], [9267, 0, "n"], [9268, 0, "o"], [9269, 0, "t"], [9270, 0, "e"], [9271, 0, "s"], [9272, 0, "i"], [9273, 0, "z"], [9274, 0, "e"], [9275, 0, " "], [9276, 0, "d"], [9277, 0, "o"], [9278, 0, "c"], [9279, 0, "["], [9280, 0, "`"], [9281, 0, "`"], [9282, 0, "t"], [9283, 0, "o"], [9284, 0, "d"], [9285, 0, "o"], [9286, 0, "'"], [9287, 0, "'"], [9288, 0, "]"], [9289, 0, "]"], [9289, 1], [9289, 0, "."], [9290, 0, "i"], [9291, 0, "t"], [9292, 0, "e"], [9293, 0, "r"], [9294, 0, "."], [9295, 0, "n"], [9296, 0, "e"], [9297, 0, "x"], [9298, 0, "t"], [9299, 0, "["], [9300, 0, "`"], [9301, 0, "`"], [9302, 0, "d"], [9303, 0, "o"], [9304, 0, "n"], [9305, 0, "e"], [9306, 0, "'"], [9307, 0, "'"], [9308, 0, "]"], [9309, 0, " "], [9310, 0, ":"], [9311, 0, "="], [9312, 0, " "], [9313, 0, "t"], [9314, 0, "r"], [9315, 0, "u"], [9316, 0, "e"], [9317, 0, ";"], [9318, 0, "}"], [9319, 0, " "], [9320, 0, "("], [9321, 0, "r"], [9322, 0, "i"], [9323, 0, "g"], [9324, 0, "h"], [9325, 0, "t"], [9326, 0, "2"], [9326, 1], [9326, 0, "1"], [9327, 0, ")"], [9328, 0, ";"], [9329, 0, "\n"], [9330, 0, "\\"], [9331, 0, "d"], [9332, 0, "r"], [9333, 0, "a"], [9334, 0, "w"], [9335, 0, " "], [9336, 0, "["], [9337, 0, "t"], [9338, 0, "h"], [9339, 0, "i"], [9340, 0, "c"], [9341, 0, "k"], [9342, 0, ","], [9343, 0, "-"], [9344, 0, ">"], [9345, 0, "]"], [9346, 0, " "], [9347, 0, "("], [9348, 0, "l"], [9349, 0, "e"], [9350, 0, "f"], [9351, 0, "t"], [9352, 0, "1"], [9353, 0, ")"], [9354, 0, " "], [9355, 0, " "], [9356, 0, "t"], [9357, 0, "o"], [9358, 0, " "], [9359, 0, "n"], [9360, 0, "o"], [9361, 0, "d"], [9362, 0, "e"], [9363, 0, " "], [9364, 0, "["], [9365, 0, "l"], [9366, 0, "e"], [9367, 0, "f"], [9368, 0, "t"], [9369, 0, "]"], [9370, 0, " "], [9371, 0, " "], [9372, 0, "{"], [9373, 0, "\\"], [9374, 0, "f"], [9375, 0, "o"], [9376, 0, "o"], [9377, 0, "t"], [9378, 0, "n"], [9379, 0, "o"], [9380, 0, "t"], [9381, 0, "e"], [9382, 0, "s"], [9383, 0, "i"], [9384, 0, "z"], [9385, 0, "e"], [9386, 0, " "], [9387, 0, "y"], [9388, 0, "i"], [9389, 0, "e"], [9390, 0, "l"], [9391, 0, "d"], [9392, 0, ";"], [9393, 0, "}"], [9394, 0, " "], [9395, 0, "["], [9395, 1], [9395, 0, "("], [9396, 0, "l"], [9397, 0, "e"], [9398, 0, "f"], [9399, 0, "t"], [9400, 0, "2"], [9401, 0, ")"], [9402, 0, ";"], [9403, 0, "\n"], [9404, 0, "\\"], [9405, 0, "d"], [9406, 0, "r"], [9407, 0, "a"], [9408, 0, "w"], [9409, 0, " "], [9410, 0, "["], [9411, 0, "t"], [9412, 0, "h"], [9413, 0, "i"], [9414, 0, "c"], [9415, 0, "k"], [9416, 0, ","], [9417, 0, "-"], [9418, 0, ">"], [9419, 0, "]"], [9420, 0, " "], [9421, 0, "("], [9422, 0, "r"], [9423, 0, "i"], [9424, 0, "g"], [9425, 0, "h"], [9426, 0, "t"], [9427, 0, "1"], [9428, 0, ")"], [9429, 0, " "], [9430, 0, "t"], [9431, 0, "o"], [9432, 0, " "], [9433, 0, "n"], [9434, 0, "o"], [9435, 0, "d"], [9436, 0, "e"], [9437, 0, " "], [9438, 0, "["], [9439, 0, "r"], [9440, 0, "i"], [9441, 0, "g"], [9442, 0, "h"], [9443, 0, "t"], [9444, 0, "]"], [9445, 0, " "], [9446, 0, "{"], [9447, 0, "\\"], [9448, 0, "f"], [9449, 0, "o"], [9450, 0, "o"], [9451, 0, "t"], [9452, 0, "n"], [9453, 0, "o"], [9454, 0, "t"], [9455, 0, "e"], [9456, 0, "s"], [9457, 0, "i"], [9458, 0, "z"], [9459, 0, "e"], [9460, 0, " "], [9461, 0, "y"], [9462, 0, "i"], [9463, 0, "e"], [9464, 0, "l"], [9465, 0, "d"], [9466, 0, ";"], [9467, 0, "}"], [9468, 0, " "], [9469, 0, "("], [9470, 0, "r"], [9471, 0, "i"], [9472, 0, "g"], [9473, 0, "h"], [9474, 0, "t"], [9475, 0, "2"], [9476, 0, ")"], [9477, 0, ";"], [9478, 0, "\n"], [9479, 0, "\\"], [9480, 0, "d"], [9481, 0, "r"], [9482, 0, "a"], [9483, 0, "w"], [9484, 0, " "], [9485, 0, "["], [9486, 0, "t"], [9487, 0, "h"], [9488, 0, "i"], [9489, 0, "c"], [9490, 0, "k"], [9491, 0, ","], [9492, 0, "-"], [9493, 0, ">"], [9494, 0, "]"], [9495, 0, " "], [9496, 0, "("], [9497, 0, "l"], [9498, 0, "e"], [9499, 0, "f"], [9500, 0, "t"], [9501, 0, "1"], [9502, 0, ")"], [9503, 0, " "], [9504, 0, " "], [9505, 0, "t"], [9506, 0, "o"], [9507, 0, " "], [9508, 0, "("], [9509, 0, "r"], [9510, 0, "i"], [9511, 0, "g"], [9512, 0, "h"], [9513, 0, "t"], [9514, 0, "2"], [9515, 0, ")"], [9516, 0, ";"], [9517, 0, "\n"], [9518, 0, "\\"], [9519, 0, "d"], [9520, 0, "r"], [9521, 0, "a"], [9522, 0, "w"], [9523, 0, " "], [9524, 0, "["], [9525, 0, "t"], [9526, 0, "h"], [9527, 0, "i"], [9528, 0, "c"], [9529, 0, "k"], [9530, 0, ","], [9531, 0, "-"], [9532, 0, ">"], [9533, 0, "]"], [9534, 0, " "], [9535, 0, "("], [9536, 0, "r"], [9537, 0, "i"], [9538, 0, "g"], [9539, 0, "h"], [9540, 0, "t"], [9541, 0, "1"], [9542, 0, ")"], [9543, 0, " "], [9544, 0, "t"], [9545, 0, "o"], [9546, 0, " "], [9547, 0, "("], [9548, 0, "l"], [9549, 0, "e"], [9550, 0, "f"], [9551, 0, "t"], [9552, 0, "2"], [9553, 0, ")"], [9554, 0, ";"], [8689, 0, "\n"], [8690, 0, "\n"], [8691, 0, "T"], [8692, 0, "h"], [8693, 0, "e"], [8694, 0, " "], [8695, 0, "e"], [8696, 0, "x"], [8697, 0, "a"], [8698, 0, "m"], [8699, 0, "p"], [8700, 0, "l"], [8701, 0, "e"], [8702, 0, " "], [8703, 0, "i"], [8704, 0, "n"], [8705, 0, " "], [8706, 0, "F"], [8707, 0, "i"], [8708, 0, "g"], [8709, 0, "u"], [8710, 0, "r"], [8711, 0, "e"], [8712, 0, "~"], [8713, 0, "\\"], [8714, 0, "r"], [8715, 0, "e"], [8716, 0, "f"], [8717, 0, "{"], [8718, 0, "f"], [8719, 0, "i"], [8720, 0, "g"], [8721, 0, ":"], [8722, 0, "t"], [8723, 0, "w"], [8724, 0, "o"], [8725, 0, "-"], [8726, 0, "l"], [8727, 0, "i"], [8728, 0, "s"], [8729, 0, "t"], [8730, 0, "s"], [8731, 0, "}"], [8732, 0, " "], [8733, 0, "s"], [8734, 0, "h"], [8735, 0, "o"], [8736, 0, "w"], [8737, 0, "s"], [8738, 0, " "], [8739, 0, "t"], [8740, 0, "w"], [8741, 0, "o"], [8742, 0, " "], [8743, 0, "r"], [8744, 0, "e"], [8745, 0, "p"], [8746, 0, "l"], [8747, 0, "i"], [8748, 0, "c"], [8749, 0, "a"], [8750, 0, "s"], [8751, 0, " "], [8752, 0, "c"], [8753, 0, "o"], [8754, 0, "n"], [8755, 0, "c"], [8756, 0, "u"], [8757, 0, "r"], [8758, 0, "r"], [8759, 0, "e"], [8760, 0, "n"], [8761, 0, "t"], [8762, 0, "l"], [8763, 0, "y"], [8764, 0, " "], [8765, 0, "c"], [8766, 0, "r"], [8767, 0, "e"], [8768, 0, "a"], [8769, 0, "t"], [8770, 0, "i"], [8771, 0, "n"], [8772, 0, "g"], [8773, 0, " "], [8774, 0, "a"], [8775, 0, " "], [8776, 0, "n"], [8777, 0, "e"], [8778, 0, "w"], [8779, 0, " "], [8780, 0, "l"], [8781, 0, "i"], [8782, 0, "s"], [8783, 0, "t"], [8784, 0, " "], [8785, 0, "u"], [8786, 0, "n"], [8787, 0, "d"], [8788, 0, "e"], [8789, 0, "r"], [8790, 0, " "], [8791, 0, "t"], [8792, 0, "h"], [8793, 0, "e"], [8794, 0, " "], [8795, 0, "s"], [8796, 0, "a"], [8797, 0, "m"], [8798, 0, "e"], [8799, 0, " "], [8800, 0, "m"], [8801, 0, "a"], [8802, 0, "p"], [8803, 0, " "], [8780, 0, "o"], [8781, 0, "r"], [8782, 0, "d"], [8783, 0, "e"], [8784, 0, "r"], [8785, 0, "e"], [8786, 0, "d"], [8787, 0, " "], [8786, 1], [8785, 1], [8784, 1], [8783, 1], [8782, 1], [8781, 1], [8780, 1], [8780, 0, "s"], [8781, 0, "h"], [8782, 0, "o"], [8783, 0, "p"], [8784, 0, "p"], [8785, 0, "i"], [8786, 0, "n"], [8787, 0, "g"], [8813, 0, "k"], [8814, 0, "e"], [8815, 0, "y"], [8816, 0, " "], [8817, 0, "`"], [8818, 0, "`"], [8819, 0, "b"], [8820, 0, "u"], [8821, 0, "y"], [8822, 0, "'"], [8823, 0, "'"], [8824, 0, ","], [8825, 0, " "], [8826, 0, "a"], [8827, 0, "n"], [8828, 0, "d"], [8829, 0, " "], [8830, 0, "a"], [8831, 0, "d"], [8832, 0, "d"], [8833, 0, "i"], [8834, 0, "n"], [8835, 0, "g"], [8836, 0, " "], [8837, 0, "i"], [8838, 0, "t"], [8839, 0, "e"], [8840, 0, "m"], [8841, 0, "s"], [8842, 0, " "], [8843, 0, "t"], [8844, 0, "o"], [8845, 0, " "], [8846, 0, "t"], [8847, 0, "h"], [8848, 0, "e"], [8849, 0, " "], [8850, 0, "l"], [8851, 0, "i"], [8852, 0, "s"], [8853, 0, "t"], [8854, 0, "."], [8855, 0, " "], [8856, 0, "W"], [8857, 0, "h"], [8858, 0, "e"], [8859, 0, "n"], [8860, 0, " "], [8861, 0, "t"], [8862, 0, "h"], [8863, 0, "e"], [8864, 0, " "], [8865, 0, "r"], [8866, 0, "e"], [8867, 0, "p"], [8868, 0, "l"], [8869, 0, "i"], [8870, 0, "c"], [8871, 0, "a"], [8872, 0, "s"], [8873, 0, " "], [8874, 0, "a"], [8875, 0, "r"], [8876, 0, "e"], [8877, 0, " "], [8878, 0, "m"], [8879, 0, "e"], [8880, 0, "r"], [8881, 0, "g"], [8882, 0, "e"], [8883, 0, "d"], [8884, 0, ","], [8885, 0, " "], [8886, 0, "t"], [8887, 0, "h"], [8888, 0, "e"], [8889, 0, " "], [8890, 0, "l"], [8891, 0, "i"], [8892, 0, "s"], [8893, 0, "t"], [8894, 0, "s"], [8895, 0, " "], [8896, 0, "n"], [8897, 0, "e"], [8898, 0, "e"], [8899, 0, "d"], [8900, 0, " "], [8901, 0, "t"], [8902, 0, "o"], [8903, 0, " "], [8904, 0, "b"], [8905, 0, "e"], [8906, 0, " "], [8907, 0, "m"], [8908, 0, "e"], [8909, 0, "r"], [8910, 0, "g"], [8911, 0, "e"], [8912, 0, "d"], [8913, 0, " "], [8913, 1], [8913, 0, " "], [8914, 0, "a"], [8915, 0, "l"], [8916, 0, "s"], [8917, 0, "o"], [8918, 0, "."], [8919, 0, " "], [8920, 0, "W"], [8921, 0, "e"], [8922, 0, " "], [8923, 0, "p"], [8924, 0, "r"], [8925, 0, "e"], [8926, 0, "s"], [8927, 0, "e"], [8928, 0, "r"], [8929, 0, "v"], [8930, 0, "e"], [8931, 0, " "], [8932, 0, "t"], [8933, 0, "h"], [8934, 0, "e"], [8935, 0, " "], [8936, 0, "o"], [8937, 0, "r"], [8938, 0, "d"], [8939, 0, "e"], [8940, 0, "r"], [8941, 0, "i"], [8942, 0, "n"], [8943, 0, "g"], [8944, 0, " "], [8945, 0, "o"], [8946, 0, "f"], [8947, 0, " "], [8948, 0, "a"], [8949, 0, "d"], [8950, 0, "j"], [8951, 0, "a"], [8951, 1], [8950, 1], [8949, 1], [8948, 1], [8947, 1], [8946, 1], [8945, 1], [8945, 0, "a"], [8946, 0, "n"], [8947, 0, "d"], [8948, 0, " "], [8949, 0, "a"], [8950, 0, "d"], [8951, 0, "j"], [8952, 0, "a"], [8953, 0, "c"], [8954, 0, "e"], [8955, 0, "n"], [8956, 0, "c"], [8957, 0, "y"], [8958, 0, " "], [8959, 0, "o"], [8960, 0, "f"], [8961, 0, " "], [8962, 0, "i"], [8963, 0, "t"], [8964, 0, "e"], [8965, 0, "m"], [8966, 0, "s"], [8967, 0, " "], [8968, 0, "i"], [8969, 0, "n"], [8970, 0, "s"], [8971, 0, "e"], [8972, 0, "r"], [8973, 0, "t"], [8974, 0, "e"], [8975, 0, "d"], [8976, 0, " "], [8977, 0, "a"], [8978, 0, "t"], [8979, 0, " "], [8980, 0, "e"], [8981, 0, "a"], [8982, 0, "c"], [8983, 0, "h"], [8984, 0, " "], [8985, 0, "r"], [8986, 0, "e"], [8987, 0, "p"], [8988, 0, "l"], [8989, 0, "i"], [8990, 0, "c"], [8991, 0, "a"], [8992, 0, ","], [8993, 0, " "], [8994, 0, "s"], [8995, 0, "o"], [8996, 0, " "], [8997, 0, "`"], [8998, 0, "`"], [8999, 0, "h"], [9000, 0, "a"], [9001, 0, "m"], [9002, 0, " "], [9002, 1], [9002, 0, "'"], [9003, 0, "'"], [9004, 0, " "], [9005, 0, "a"], [9006, 0, "p"], [9007, 0, "p"], [9008, 0, "e"], [9009, 0, "a"], [9010, 0, "r"], [9011, 0, "s"], [9012, 0, " "], [9013, 0, "a"], [9014, 0, "f"], [9015, 0, "t"], [9016, 0, "e"], [9017, 0, "r"], [9018, 0, " "], [9019, 0, "`"], [9020, 0, "`"], [9021, 0, "e"], [9022, 0, "g"], [9023, 0, "g"], [9024, 0, "s"], [9025, 0, "'"], [9026, 0, "'"], [9027, 0, ","], [9028, 0, " "], [9029, 0, "a"], [9030, 0, "n"], [9031, 0, "d"], [9032, 0, " "], [9033, 0, "`"], [9034, 0, "`"], [9035, 0, "f"], [9036, 0, "l"], [9037, 0, "o"], [9038, 0, "u"], [9039, 0, "r"], [9040, 0, "`"], [9040, 1], [9040, 0, "'"], [9041, 0, "'"], [9042, 0, " "], [9043, 0, "a"], [9044, 0, "p"], [9045, 0, "p"], [9046, 0, "e"], [9047, 0, "a"], [9048, 0, "r"], [9049, 0, "s"], [9050, 0, " "], [9051, 0, "a"], [9052, 0, "f"], [9053, 0, "t"], [9054, 0, "e"], [9055, 0, "r"], [9056, 0, " "], [9057, 0, "`"], [9058, 0, "`"], [9059, 0, "m"], [9060, 0, "i"], [9061, 0, "l"], [9062, 0, "k"], [9063, 0, "'"], [9064, 0, "'"], [9065, 0, " "], [9066, 0, "i"], [9067, 0, "n"], [9068, 0, " "], [9069, 0, "t"], [9070, 0, "h"], [9071, 0, "e"], [9072, 0, " "], [9073, 0, "m"], [9074, 0, "e"], [9075, 0, "r"], [9076, 0, "g"], [9077, 0, "e"], [9078, 0, "d"], [9079, 0, " "], [9080, 0, "r"], [9081, 0, "e"], [9082, 0, "s"], [9083, 0, "u"], [9084, 0, "l"], [9085, 0, "t"], [9086, 0, "."], [9087, 0, " "], [9088, 0, "W"], [9089, 0, "h"], [9090, 0, "e"], [9091, 0, "t"], [9092, 0, "h"], [9093, 0, "e"], [9094, 0, "r"], [9095, 0, " "], [9095, 1], [9094, 1], [9093, 1], [9092, 1], [9091, 1], [9090, 1], [9089, 1], [9088, 1], [9088, 0, "T"], [9089, 0, "h"], [9090, 0, "e"], [9091, 0, "r"], [9092, 0, "e"], [9093, 0, " "], [9094, 0, "i"], [9095, 0, "s"], [9096, 0, " "], [9097, 0, "n"], [9098, 0, "o"], [9099, 0, " "], [9100, 0, "i"], [9101, 0, "n"], [9102, 0, "f"], [9103, 0, "o"], [9104, 0, "r"], [9105, 0, "m"], [9106, 0, "a"], [9107, 0, "t"], [9108, 0, "i"], [9109, 0, "o"], [9110, 0, "n"], [9111, 0, " "], [9112, 0, "o"], [9113, 0, "n"], [9114, 0, " "], [9115, 0, "w"], [9116, 0, "h"], [9117, 0, "e"], [9118, 0, "t"], [9119, 0, "h"], [9120, 0, "e"], [9121, 0, "r"], [9122, 0, " "], [9122, 1], [9121, 1], [9120, 1], [9119, 1], [9118, 1], [9117, 1], [9116, 1], [9116, 0, "i"], [9116, 1], [9116, 0, "h"], [9117, 0, "i"], [9118, 0, "c"], [9119, 0, "h"], [9120, 0, " "], [9121, 0, "r"], [9122, 0, "e"], [9123, 0, "p"], [9124, 0, "l"], [9125, 0, "i"], [9126, 0, "c"], [9127, 0, "a"], [9128, 0, "'"], [9129, 0, "s"], [9130, 0, " "], [9131, 0, "i"], [9132, 0, "t"], [9133, 0, "e"], [9134, 0, "m"], [9135, 0, "s"], [9136, 0, " "], [9137, 0, "s"], [9138, 0, "h"], [9139, 0, "o"], [9140, 0, "u"], [9141, 0, "l"], [9142, 0, "d"], [9143, 0, " "], [9144, 0, "a"], [9145, 0, "p"], [9146, 0, "p"], [9147, 0, "e"], [9148, 0, "a"], [9149, 0, "r"], [9150, 0, " "], [9151, 0, "f"], [9152, 0, "i"], [9153, 0, "r"], [9154, 0, "s"], [9155, 0, "t"], [9156, 0, " "], [9157, 0, "i"], [9158, 0, "n"], [9159, 0, " "], [9160, 0, "t"], [9161, 0, "h"], [9162, 0, "e"], [9163, 0, " "], [9164, 0, "m"], [9165, 0, "e"], [9166, 0, "r"], [9167, 0, "g"], [9168, 0, "e"], [9169, 0, "d"], [9170, 0, " "], [9171, 0, "r"], [9172, 0, "e"], [9173, 0, "s"], [9174, 0, "u"], [9175, 0, "l"], [9176, 0, "t"], [9177, 0, ","], [9178, 0, " "], [9179, 0, "s"], [9180, 0, "o"], [9181, 0, " "], [9182, 0, "t"], [9183, 0, "h"], [9184, 0, "e"], [9185, 0, "r"], [9186, 0, "e"], [9187, 0, " "], [9187, 1], [9186, 1], [9185, 1], [9185, 0, " "], [9186, 0, "a"], [9187, 0, "l"], [9188, 0, "g"], [9189, 0, "o"], [9190, 0, "r"], [9191, 0, "i"], [9192, 0, "t"], [9193, 0, "h"], [9194, 0, "m"], [9195, 0, " "], [9196, 0, "c"], [9197, 0, "a"], [9198, 0, "n"], [9199, 0, " "], [9200, 0, "m"], [9201, 0, "a"], [9202, 0, "k"], [9203, 0, "e"], [9204, 0, " "], [9205, 0, "a"], [9206, 0, "n"], [9207, 0, " "], [9208, 0, "a"], [9209, 0, "r"], [9210, 0, "b"], [9211, 0, "i"], [9212, 0, "t"], [9213, 0, "r"], [9214, 0, "a"], [9215, 0, "r"], [9216, 0, "y"], [9217, 0, " "], [9218, 0, "n"], [9219, 0, "o"], [9219, 1], [9218, 1], [9218, 0, "c"], [9219, 0, "h"], [9220, 0, "o"], [9221, 0, "i"], [9222, 0, "c"], [9223, 0, "e"], [9224, 0, " "], [9225, 0, "b"], [9226, 0, "e"], [9227, 0, "t"], [9228, 0, "w"], [9229, 0, "e"], [9230, 0, "e"], [9231, 0, "n"], [9232, 0, " "], [9233, 0, "`"], [9234, 0, "`"], [9235, 0, "e"], [9236, 0, "g"], [9237, 0, "g"], [9238, 0, "s"], [9239, 0, ","], [9240, 0, " "], [9241, 0, "h"], [9242, 0, "j"], [9243, 0, "a"], [9243, 1], [9242, 1], [9242, 0, "a"], [9243, 0, "m"], [9244, 0, ","], [9245, 0, " "], [9246, 0, "m"], [9247, 0, "i"], [9248, 0, "l"], [9249, 0, "k"], [9250, 0, ","], [9251, 0, " "], [9252, 0, "f"], [9253, 0, "l"], [9254, 0, "o"], [9255, 0, "u"], [9256, 0, "r"], [9257, 0, "'"], [9258, 0, "'"], [9259, 0, " "], [9260, 0, "a"], [9261, 0, "n"], [9262, 0, "d"], [9263, 0, " "], [9264, 0, "`"], [9265, 0, "`"], [9266, 0, "m"], [9267, 0, "i"], [9268, 0, "l"], [9269, 0, "k"], [9270, 0, ","], [9271, 0, " "], [9272, 0, "f"], [9273, 0, "l"], [9274, 0, "o"], [9275, 0, "u"], [9276, 0, "r"], [9277, 0, ","], [9278, 0, " "], [9279, 0, "e"], [9280, 0, "g"], [9281, 0, "g"], [9282, 0, "s"], [9283, 0, ","], [9284, 0, " "], [9285, 0, "h"], [9286, 0, "a"], [9287, 0, "m"], [9288, 0, "'"], [9289, 0, "'"], [9290, 0, ","], [9291, 0, " "], [9292, 0, "p"], [9293, 0, "r"], [9294, 0, "o"], [9295, 0, "v"], [9296, 0, "i"], [9297, 0, "d"], [9298, 0, "e"], [9299, 0, "d"], [9300, 0, " "], [9301, 0, "t"], [9302, 0, "h"], [9303, 0, "a"], [9304, 0, "t"], [9305, 0, " "], [9306, 0, "a"], [9307, 0, "l"], [9308, 0, "l"], [9309, 0, " "], [9310, 0, "r"], [9311, 0, "e"], [9312, 0, "p"], [9313, 0, "l"], [9314, 0, "i"], [9315, 0, "c"], [9316, 0, "a"], [9317, 0, "s"], [9318, 0, " "], [9319, 0, "c"], [9320, 0, "o"], [9321, 0, "n"], [9322, 0, "v"], [9322, 1], [9321, 1], [9320, 1], [9319, 1], [9319, 0, "e"], [9320, 0, "n"], [9321, 0, "d"], [9322, 0, " "], [9323, 0, "u"], [9324, 0, "p"], [9325, 0, " "], [9326, 0, "w"], [9327, 0, "i"], [9328, 0, "t"], [9329, 0, "h"], [9330, 0, " "], [9331, 0, "t"], [9332, 0, "h"], [9333, 0, "e"], [9334, 0, " "], [9335, 0, "s"], [9336, 0, "a"], [9337, 0, "m"], [9338, 0, "e"], [9339, 0, " "], [9340, 0, "o"], [9341, 0, "r"], [9342, 0, "d"], [9343, 0, "e"], [9344, 0, "r"], [9345, 0, "."], [10359, 0, "\n"], [10360, 0, "\n"], [10361, 0, "O"], [10362, 0, "u"], [10363, 0, "r"], [10364, 0, " "], [10365, 0, "f"], [10366, 0, "i"], [10367, 0, "n"], [10368, 0, "a"], [10369, 0, "l"], [10370, 0, " "], [10371, 0, "e"], [10372, 0, "x"], [10373, 0, "a"], [10374, 0, "m"], [10375, 0, "p"], [10376, 0, "l"], [10377, 0, "e"], [10378, 0, " "], [10379, 0, "i"], [10380, 0, "n"], [10381, 0, " "], [10382, 0, "F"], [10383, 0, "i"], [10384, 0, "g"], [10385, 0, "u"], [10386, 0, "r"], [10387, 0, "e"], [10388, 0, "~"], [10389, 0, "\\"], [10390, 0, "r"], [10391, 0, "e"], [10392, 0, "f"], [10393, 0, "{"], [10394, 0, "f"], [10395, 0, "i"], [10396, 0, "g"], [10397, 0, ":"], [10398, 0, "t"], [10399, 0, "o"], [10400, 0, "d"], [10401, 0, "o"], [10402, 0, "-"], [10403, 0, "i"], [10404, 0, "t"], [10405, 0, "e"], [10406, 0, "m"], [10407, 0, "}"], [10408, 0, " "], [10409, 0, "s"], [10410, 0, "h"], [10411, 0, "o"], [10412, 0, "w"], [10413, 0, "s"], [10414, 0, " "], [10415, 0, "a"], [10416, 0, " "], [10417, 0, "l"], [10418, 0, "i"], [10419, 0, "m"], [10420, 0, "i"], [10421, 0, "t"], [10422, 0, "a"], [10423, 0, "t"], [10424, 0, "i"], [10425, 0, "o"], [10426, 0, "n"], [10427, 0, " "], [10428, 0, "o"], [10429, 0, "f"], [10430, 0, " "], [10431, 0, "t"], [10432, 0, "h"], [10433, 0, "e"], [10434, 0, " "], [10435, 0, "p"], [10436, 0, "r"], [10437, 0, "i"], [10438, 0, "n"], [10439, 0, "c"], [10440, 0, "i"], [10441, 0, "p"], [10442, 0, "l"], [10443, 0, "e"], [10444, 0, " "], [10445, 0, "o"], [10446, 0, "f"], [10447, 0, " "], [10448, 0, "p"], [10449, 0, "r"], [10450, 0, "e"], [10451, 0, "s"], [10452, 0, "e"], [10453, 0, "r"], [10454, 0, "v"], [10455, 0, "i"], [10456, 0, "n"], [10457, 0, "g"], [10458, 0, " "], [10459, 0, "a"], [10460, 0, "l"], [10461, 0, "l"], [10462, 0, " "], [10463, 0, "u"], [10464, 0, "s"], [10465, 0, "e"], [10466, 0, "r"], [10467, 0, " "], [10468, 0, "i"], [10469, 0, "n"], [10470, 0, "p"], [10471, 0, "u"], [10472, 0, "t"], [10473, 0, "."], [10474, 0, " "], [10475, 0, "I"], [10476, 0, "n"], [10477, 0, " "], [10478, 0, "a"], [10479, 0, " "], [10480, 0, "T"], [10481, 0, "o"], [10482, 0, " "], [10482, 1], [10481, 1], [10480, 1], [10479, 1], [10479, 0, "t"], [10480, 0, "o"], [10481, 0, " "], [10481, 1], [10480, 1], [10479, 1], [10478, 1], [10478, 0, "a"], [10479, 0, " "], [10480, 0, "t"], [10481, 0, "o"], [10482, 0, "-"], [10483, 0, "d"], [10484, 0, "o"], [10485, 0, " "], [10486, 0, "l"], [10487, 0, "i"], [10488, 0, "s"], [10489, 0, "t"], [10490, 0, " "], [10491, 0, "a"], [10492, 0, "p"], [10493, 0, "p"], [10494, 0, "l"], [10495, 0, "i"], [10496, 0, "c"], [10497, 0, "a"], [10498, 0, "t"], [10499, 0, "i"], [10500, 0, "o"], [10501, 0, "n"], [10502, 0, ","], [10503, 0, " "], [10504, 0, "o"], [10505, 0, "n"], [10506, 0, "e"], [10507, 0, " "], [10508, 0, "r"], [10509, 0, "e"], [10510, 0, "p"], [10511, 0, "l"], [10512, 0, "i"], [10513, 0, "c"], [10514, 0, "a"], [10515, 0, " "], [10516, 0, "r"], [10517, 0, "e"], [10518, 0, "m"], [10519, 0, "o"], [10520, 0, "v"], [10521, 0, "e"], [10522, 0, "s"], [10523, 0, " "], [10524, 0, "a"], [10525, 0, " "], [10526, 0, "t"], [10527, 0, "o"], [10528, 0, "-"], [10529, 0, "d"], [10530, 0, "o"], [10531, 0, " "], [10532, 0, "i"], [10533, 0, "t"], [10534, 0, "e"], [10535, 0, "m"], [10536, 0, " "], [10537, 0, "f"], [10538, 0, "r"], [10539, 0, "o"], [10540, 0, "m"], [10541, 0, " "], [10542, 0, "t"], [10543, 0, "h"], [10544, 0, "e"], [10545, 0, " "], [10546, 0, "l"], [10547, 0, "i"], [10548, 0, "s"], [10549, 0, "t"], [10550, 0, ","], [10551, 0, " "], [10552, 0, "w"], [10553, 0, "h"], [10554, 0, "i"], [10555, 0, "l"], [10556, 0, "e"], [10557, 0, " "], [10558, 0, "a"], [10559, 0, "n"], [10560, 0, "o"], [10561, 0, "t"], [10562, 0, "h"], [10563, 0, "e"], [10564, 0, "r"], [10565, 0, " "], [10566, 0, "r"], [10567, 0, "e"], [10568, 0, "p"], [10569, 0, "l"], [10570, 0, "i"], [10571, 0, "c"], [10572, 0, "a"], [10573, 0, " "], [10574, 0, "c"], [10575, 0, "o"], [10576, 0, "n"], [10577, 0, "c"], [10578, 0, "u"], [10579, 0, "r"], [10580, 0, "r"], [10581, 0, "e"], [10582, 0, "n"], [10583, 0, "t"], [10584, 0, "l"], [10585, 0, "y"], [10586, 0, " "], [10587, 0, "m"], [10588, 0, "a"], [10589, 0, "r"], [10590, 0, "k"], [10591, 0, "s"], [10592, 0, " "], [10593, 0, "t"], [10594, 0, "h"], [10595, 0, "e"], [10596, 0, " "], [10597, 0, "s"], [10598, 0, "a"], [10599, 0, "m"], [10600, 0, "e"], [10601, 0, " "], [10602, 0, "i"], [10603, 0, "t"], [10604, 0, "e"], [10605, 0, "m"], [10606, 0, " "], [10607, 0, "a"], [10608, 0, "s"], [10609, 0, " "], [10610, 0, "d"], [10611, 0, "o"], [10612, 0, "n"], [10613, 0, "e"], [10614, 0, "."], [10615, 0, " "], [10616, 0, "A"], [10617, 0, "s"], [10618, 0, " "], [10619, 0, "t"], [10620, 0, "h"], [10621, 0, "e"], [10622, 0, " "], [10623, 0, "c"], [10624, 0, "h"], [10625, 0, "a"], [10626, 0, "n"], [10627, 0, "g"], [10628, 0, "e"], [10629, 0, "s"], [10630, 0, " "], [10631, 0, "a"], [10632, 0, "r"], [10633, 0, "e"], [10634, 0, " "], [10635, 0, "m"], [10636, 0, "e"], [10637, 0, "r"], [10638, 0, "g"], [10639, 0, "e"], [10640, 0, "d"], [10641, 0, ","], [10642, 0, " "], [10643, 0, "t"], [10644, 0, "h"], [10645, 0, "e"], [10646, 0, " "], [10647, 0, "u"], [10648, 0, "p"], [10649, 0, "d"], [10650, 0, "a"], [10651, 0, "t"], [10652, 0, "e"], [10653, 0, " "], [10654, 0, "o"], [10655, 0, "f"], [10656, 0, " "], [10657, 0, "t"], [10658, 0, "h"], [10659, 0, "e"], [10660, 0, " "], [10661, 0, "m"], [10662, 0, "a"], [10663, 0, "p"], [10664, 0, " "], [10665, 0, "k"], [10666, 0, "e"], [10667, 0, "y"], [10668, 0, " "], [10669, 0, "`"], [10670, 0, "`"], [10671, 0, "d"], [10672, 0, "o"], [10673, 0, "n"], [10674, 0, "e"], [10675, 0, "'"], [10676, 0, "'"], [10677, 0, " "], [10678, 0, "e"], [10679, 0, "f"], [10680, 0, "f"], [10681, 0, "e"], [10682, 0, "c"], [10683, 0, "t"], [10684, 0, "i"], [10685, 0, "v"], [10686, 0, "e"], [10687, 0, "l"], [10688, 0, "y"], [10689, 0, " "], [10690, 0, "c"], [10691, 0, "a"], [10692, 0, "u"], [10693, 0, "s"], [10694, 0, "e"], [10695, 0, "s"], [10696, 0, " "], [10697, 0, "t"], [10698, 0, "h"], [10699, 0, "e"], [10700, 0, " "], [10701, 0, "l"], [10702, 0, "i"], [10703, 0, "s"], [10704, 0, "t"], [10705, 0, " "], [10706, 0, "i"], [10707, 0, "t"], [10708, 0, "e"], [10709, 0, "m"], [10710, 0, " "], [10711, 0, "t"], [10712, 0, "o"], [10713, 0, " "], [10714, 0, "b"], [10715, 0, "e"], [10716, 0, " "], [10717, 0, "r"], [10718, 0, "e"], [10719, 0, "s"], [10720, 0, "u"], [10721, 0, "r"], [10722, 0, "r"], [10723, 0, "e"], [10724, 0, "c"], [10725, 0, "t"], [10726, 0, "e"], [10727, 0, "d"], [10728, 0, " "], [10729, 0, "o"], [10730, 0, "n"], [10731, 0, " "], [10732, 0, "t"], [10733, 0, "h"], [10734, 0, "e"], [10735, 0, " "], [10736, 0, "l"], [10737, 0, "e"], [10738, 0, "f"], [10739, 0, "t"], [10740, 0, " "], [10741, 0, "r"], [10742, 0, "e"], [10743, 0, "p"], [10744, 0, "l"], [10745, 0, "i"], [10746, 0, "c"], [10747, 0, "a"], [10748, 0, "."], [10749, 0, " "], [10749, 1], [10748, 1], [10748, 0, ","], [10749, 0, " "], [10750, 0, "l"], [10751, 0, "e"], [10752, 0, "a"], [10753, 0, "d"], [10754, 0, "i"], [10755, 0, "n"], [10756, 0, "g"], [10757, 0, " "], [10758, 0, "t"], [10759, 0, "o"], [10760, 0, " "], [10761, 0, "a"], [10762, 0, " "], [10763, 0, "t"], [10764, 0, "o"], [10765, 0, "-"], [10766, 0, "d"], [10767, 0, "o"], [10768, 0, "-"], [10768, 1], [10768, 0, " "], [10769, 0, "i"], [10770, 0, "t"], [10771, 0, "e"], [10772, 0, "m"], [10773, 0, " "], [10774, 0, "w"], [10775, 0, "i"], [10776, 0, "t"], [10777, 0, "h"], [10778, 0, "o"], [10779, 0, "u"], [10780, 0, "t"], [10781, 0, " "], [10782, 0, "a"], [10783, 0, " "], [10784, 0, "t"], [10785, 0, "i"], [10786, 0, "t"], [10787, 0, "l"], [10788, 0, "e"], [10789, 0, " "], [10790, 0, "("], [10791, 0, "s"], [10792, 0, "i"], [10793, 0, "n"], [10794, 0, "c"], [10795, 0, "e"], [10796, 0, " "], [10797, 0, "t"], [10798, 0, "h"], [10799, 0, "e"], [10800, 0, " "], [10801, 0, "t"], [10802, 0, "i"], [10803, 0, "t"], [10804, 0, "l"], [10805, 0, "e"], [10806, 0, " "], [10807, 0, "w"], [10808, 0, "a"], [10809, 0, "s"], [10810, 0, " "], [10811, 0, "d"], [10812, 0, "e"], [10813, 0, "l"], [10814, 0, "e"], [10815, 0, "t"], [10816, 0, "e"], [10817, 0, "d"], [10818, 0, " "], [10819, 0, "a"], [10820, 0, "s"], [10821, 0, " "], [10822, 0, "p"], [10823, 0, "a"], [10824, 0, "r"], [10825, 0, "t"], [10826, 0, " "], [10827, 0, "o"], [10828, 0, "f"], [10829, 0, " "], [10830, 0, "d"], [10831, 0, "e"], [10832, 0, "l"], [10833, 0, "e"], [10834, 0, "t"], [10835, 0, "i"], [10836, 0, "n"], [10837, 0, "g"], [10838, 0, " "], [10839, 0, "t"], [10840, 0, "h"], [10841, 0, "e"], [10842, 0, " "], [10843, 0, "l"], [10844, 0, "i"], [10845, 0, "s"], [10846, 0, "t"], [10847, 0, " "], [10848, 0, "i"], [10849, 0, "t"], [10850, 0, "e"], [10851, 0, "m"], [10852, 0, ")"], [10853, 0, "."], [10854, 0, " "], [10855, 0, "T"], [10856, 0, "h"], [10857, 0, "i"], [10858, 0, "s"], [10859, 0, " "], [10860, 0, "b"], [10861, 0, "e"], [10862, 0, "h"], [10863, 0, "a"], [10864, 0, "v"], [10865, 0, "i"], [10866, 0, "o"], [10867, 0, "r"], [10868, 0, " "], [10869, 0, "i"], [10870, 0, "s"], [10871, 0, " "], [10872, 0, "c"], [10873, 0, "o"], [10874, 0, "n"], [10875, 0, "s"], [10876, 0, "i"], [10877, 0, "s"], [10878, 0, "t"], [10879, 0, "e"], [10880, 0, "n"], [10881, 0, "t"], [10882, 0, " "], [10883, 0, "w"], [10884, 0, "i"], [10885, 0, "t"], [10886, 0, "h"], [10887, 0, " "], [10888, 0, "t"], [10889, 0, "h"], [10890, 0, "e"], [10891, 0, " "], [10892, 0, "e"], [10893, 0, "x"], [10894, 0, "a"], [10895, 0, "m"], [10896, 0, "p"], [10897, 0, "l"], [10898, 0, "e"], [10899, 0, " "], [10900, 0, "i"], [10901, 0, "n"], [10902, 0, " "], [10903, 0, "F"], [10904, 0, "i"], [10905, 0, "g"], [10906, 0, "u"], [10907, 0, "r"], [10908, 0, "e"], [10909, 0, "~"], [10910, 0, "\\"], [10911, 0, "l"], [10911, 1], [10911, 0, "r"], [10912, 0, "e"], [10913, 0, "f"], [10914, 0, "{"], [10915, 0, "f"], [10916, 0, "i"], [10917, 0, "g"], [10918, 0, ":"], [10919, 0, "m"], [10920, 0, "a"], [10921, 0, "p"], [10922, 0, "-"], [10923, 0, "r"], [10924, 0, "e"], [10925, 0, "m"], [10926, 0, "o"], [10927, 0, "v"], [10928, 0, "e"], [10929, 0, "}"], [10930, 0, ","], [10931, 0, " "], [10932, 0, "b"], [10933, 0, "u"], [10934, 0, "t"], [10935, 0, " "], [10936, 0, "i"], [10937, 0, "t"], [10938, 0, " "], [10939, 0, "i"], [10940, 0, "s"], [10941, 0, " "], [10942, 0, "p"], [10943, 0, "e"], [10944, 0, "r"], [10945, 0, "h"], [10946, 0, "a"], [10947, 0, "p"], [10948, 0, "s"], [10949, 0, " "], [10950, 0, "s"], [10951, 0, "u"], [10952, 0, "r"], [10953, 0, "p"], [10954, 0, "r"], [10955, 0, "i"], [10956, 0, "s"], [10957, 0, "i"], [10958, 0, "n"], [10959, 0, "g"], [10960, 0, " "], [10961, 0, "t"], [10962, 0, "o"], [10963, 0, " "], [10964, 0, "u"], [10965, 0, "s"], [10966, 0, "e"], [10967, 0, "r"], [10968, 0, "s"], [10969, 0, "."], [10970, 0, " "], [10971, 0, "I"], [10972, 0, "n"], [10973, 0, " "], [10974, 0, "t"], [10975, 0, "h"], [10976, 0, "i"], [10977, 0, "s"], [10978, 0, " "], [10979, 0, "e"], [10980, 0, "x"], [10981, 0, "a"], [10982, 0, "m"], [10983, 0, "p"], [10984, 0, "l"], [10985, 0, "e"], [10986, 0, " "], [10987, 0, "i"], [10988, 0, "t"], [10989, 0, " "], [10990, 0, "m"], [10991, 0, "a"], [10992, 0, "y"], [10993, 0, " "], [10994, 0, "b"], [10995, 0, "e"], [10996, 0, " "], [10997, 0, "m"], [10998, 0, "o"], [10999, 0, "r"], [11000, 0, "e"], [11001, 0, " "], [11002, 0, "d"], [11003, 0, "e"], [11004, 0, "s"], [11005, 0, "i"], [11006, 0, "r"], [11007, 0, "a"], [11008, 0, "b"], [11009, 0, "l"], [11010, 0, "e"], [11011, 0, " "], [11012, 0, "t"], [11013, 0, "o"], [11014, 0, " "], [11015, 0, "d"], [11016, 0, "i"], [11017, 0, "s"], [11018, 0, "c"], [11019, 0, "a"], [11020, 0, "r"], [11021, 0, "d"], [11022, 0, " "], [11023, 0, "o"], [11024, 0, "n"], [11025, 0, "e"], [11026, 0, " "], [11027, 0, "o"], [11028, 0, "f"], [11029, 0, " "], [11030, 0, "t"], [11031, 0, "h"], [11032, 0, "e"], [11033, 0, " "], [11034, 0, "c"], [11035, 0, "o"], [11036, 0, "n"], [11037, 0, "c"], [11038, 0, "u"], [11039, 0, "r"], [11040, 0, "r"], [11041, 0, "e"], [11042, 0, "n"], [11043, 0, "t"], [11044, 0, " "], [11045, 0, "u"], [11046, 0, "p"], [11047, 0, "d"], [11048, 0, "a"], [11049, 0, "t"], [11050, 0, "e"], [11051, 0, "s"], [11052, 0, ","], [11053, 0, " "], [11054, 0, "a"], [11055, 0, "n"], [11056, 0, "d"], [11057, 0, " "], [11058, 0, "t"], [11059, 0, "h"], [11060, 0, "u"], [11061, 0, "s"], [11062, 0, " "], [11063, 0, "p"], [11064, 0, "r"], [11065, 0, "e"], [11066, 0, "s"], [11067, 0, "e"], [11068, 0, "r"], [11069, 0, "v"], [11070, 0, "e"], [11071, 0, " "], [11072, 0, "t"], [11073, 0, "h"], [11074, 0, "e"], [11075, 0, " "], [11076, 0, "i"], [11077, 0, "m"], [11078, 0, "p"], [11079, 0, "l"], [11080, 0, "i"], [11081, 0, "c"], [11082, 0, "i"], [11083, 0, "t"], [11084, 0, " "], [11085, 0, "s"], [11086, 0, "c"], [11087, 0, "h"], [11088, 0, "e"], [11089, 0, "m"], [11090, 0, "a"], [11091, 0, " "], [11092, 0, "t"], [11093, 0, "h"], [11094, 0, "a"], [11095, 0, "t"], [11096, 0, " "], [11097, 0, "a"], [11098, 0, " "], [11099, 0, "t"], [11100, 0, "o"], [11101, 0, "-"], [11102, 0, "d"], [11103, 0, "o"], [11104, 0, " "], [11105, 0, "i"], [11106, 0, "t"], [11107, 0, "e"], [11108, 0, "m"], [11109, 0, " "], [11110, 0, "h"], [11111, 0, "a"], [11112, 0, "s"], [11113, 0, " "], [11114, 0, "b"], [11115, 0, "o"], [11116, 0, "t"], [11117, 0, "h"], [11118, 0, " "], [11119, 0, "a"], [11120, 0, " "], [11121, 0, "`"], [11122, 0, "`"], [11123, 0, "t"], [11124, 0, "i"], [11125, 0, "t"], [11126, 0, "l"], [11127, 0, "e"], [11128, 0, "'"], [11129, 0, "'"], [11130, 0, " "], [11131, 0, "a"], [11132, 0, "n"], [11133, 0, "d"], [11134, 0, " "], [11135, 0, "a"], [11136, 0, " "], [11137, 0, "`"], [11138, 0, "`"], [11139, 0, "d"], [11140, 0, "o"], [11141, 0, "n"], [11142, 0, "e"], [11143, 0, "'"], [11144, 0, "'"], [11145, 0, " "], [11146, 0, "f"], [11147, 0, "i"], [11148, 0, "e"], [11149, 0, "l"], [11150, 0, "d"], [11151, 0, "."], [11152, 0, "\n"], [11153, 0, "\n"], [11154, 0, "S"], [11154, 1], [11154, 0, "T"], [11155, 0, "h"], [11156, 0, "e"], [11157, 0, " "], [11158, 0, "a"], [11159, 0, "l"], [11160, 0, "g"], [11161, 0, "o"], [11162, 0, "r"], [11163, 0, "i"], [11164, 0, "t"], [11165, 0, "h"], [11166, 0, "m"], [11167, 0, " "], [11168, 0, "i"], [11169, 0, "n"], [11170, 0, " "], [11171, 0, "t"], [11172, 0, "h"], [11173, 0, "i"], [11174, 0, "s"], [11175, 0, " "], [11176, 0, "p"], [11177, 0, "a"], [11178, 0, "p"], [11179, 0, "e"], [11180, 0, "r"], [11181, 0, " "], [11182, 0, "p"], [11183, 0, "r"], [11184, 0, "e"], [11185, 0, "s"], [11186, 0, "e"], [11187, 0, "r"], [11188, 0, "v"], [11189, 0, "e"], [11190, 0, "s"], [11191, 0, " "], [11192, 0, "a"], [11193, 0, "l"], [11194, 0, "l"], [11195, 0, " "], [11196, 0, "o"], [11196, 1], [11196, 0, "u"], [11197, 0, "s"], [11198, 0, "e"], [11199, 0, "r"], [11200, 0, " "], [11201, 0, "i"], [11202, 0, "n"], [11203, 0, "p"], [11204, 0, "u"], [11205, 0, "t"], [11206, 0, ","], [11207, 0, " "], [11208, 0, "a"], [11209, 0, "n"], [11210, 0, "d"], [11211, 0, " "], [11212, 0, "s"], [11213, 0, "o"], [11214, 0, " "], [11215, 0, "i"], [11216, 0, "t"], [11217, 0, " "], [11218, 0, "e"], [11219, 0, "x"], [11220, 0, "h"], [11221, 0, "i"], [11222, 0, "b"], [11223, 0, "i"], [11224, 0, "t"], [11225, 0, "s"], [11226, 0, " "], [11227, 0, "t"], [11228, 0, "h"], [11229, 0, "e"], [11230, 0, " "], [11231, 0, "b"], [11232, 0, "e"], [11233, 0, "h"], [11234, 0, "a"], [11235, 0, "v"], [11236, 0, "i"], [11237, 0, "o"], [11238, 0, "r"], [11239, 0, " "], [11240, 0, "i"], [11241, 0, "n"], [11242, 0, " "], [11242, 1], [11241, 1], [11240, 1], [11240, 0, "s"], [11241, 0, "h"], [11242, 0, "o"], [11243, 0, "w"], [11244, 0, "n"], [11245, 0, " "], [11246, 0, "i"], [11247, 0, "n"], [11248, 0, " "], [11249, 0, "F"], [11250, 0, "i"], [11251, 0, "g"], [11252, 0, "u"], [11253, 0, "r"], [11254, 0, "e"], [11255, 0, "~"], [11256, 0, "\\"], [11257, 0, "r"], [11258, 0, "e"], [11259, 0, "f"], [11260, 0, "{"], [11261, 0, "f"], [11262, 0, "i"], [11263, 0, "g"], [11264, 0, ":"], [11265, 0, "t"], [11266, 0, "o"], [11267, 0, "d"], [11268, 0, "o"], [11269, 0, "-"], [11270, 0, "i"], [11271, 0, "t"], [11272, 0, "e"], [11273, 0, "m"], [11274, 0, "}"], [11275, 0, "."], [11276, 0, " "], [11277, 0, "F"], [11278, 0, "u"], [11279, 0, "r"], [11280, 0, "t"], [11281, 0, "h"], [11282, 0, "e"], [11283, 0, "r"], [11284, 0, " "], [11285, 0, "s"], [11286, 0, "t"], [11287, 0, "u"], [11288, 0, "d"], [11289, 0, "y"], [11290, 0, " "], [11291, 0, "w"], [11292, 0, "i"], [11293, 0, "l"], [11294, 0, "l"], [11295, 0, " "], [11296, 0, "b"], [11297, 0, "e"], [11298, 0, " "], [11299, 0, "r"], [11300, 0, "e"], [11301, 0, "q"], [11302, 0, "u"], [11303, 0, "i"], [11304, 0, "r"], [11305, 0, "e"], [11306, 0, "d"], [11307, 0, " "], [11308, 0, "t"], [11309, 0, "o"], [11310, 0, " "], [11311, 0, "d"], [11312, 0, "e"], [11313, 0, "t"], [11314, 0, "e"], [11315, 0, "r"], [11316, 0, "m"], [11317, 0, "i"], [11318, 0, "n"], [11319, 0, "e"], [11320, 0, " "], [11321, 0, "t"], [11322, 0, "o"], [11323, 0, " "], [11324, 0, "w"], [11325, 0, "h"], [11326, 0, "a"], [11327, 0, "t"], [11328, 0, " "], [11329, 0, "d"], [11330, 0, "e"], [11331, 0, "g"], [11332, 0, "r"], [11333, 0, "e"], [11334, 0, "e"], [11335, 0, " "], [11336, 0, "t"], [11337, 0, "h"], [11338, 0, "i"], [11339, 0, "s"], [11340, 0, " "], [11341, 0, "b"], [11342, 0, "e"], [11343, 0, "h"], [11344, 0, "a"], [11345, 0, "v"], [11346, 0, "i"], [11347, 0, "o"], [11348, 0, "r"], [11349, 0, " "], [11350, 0, "m"], [11351, 0, "a"], [11352, 0, "t"], [11353, 0, "c"], [11354, 0, "h"], [11355, 0, "e"], [11356, 0, "s"], [11357, 0, " "], [11358, 0, "t"], [11359, 0, "h"], [11360, 0, "e"], [11361, 0, " "], [11362, 0, "e"], [11363, 0, "x"], [11364, 0, "p"], [11365, 0, "e"], [11366, 0, "c"], [11367, 0, "t"], [11368, 0, "a"], [11369, 0, "t"], [11370, 0, "i"], [11371, 0, "o"], [11372, 0, "n"], [11373, 0, "s"], [11374, 0, " "], [11375, 0, "o"], [11376, 0, "f"], [11377, 0, " "], [11378, 0, "a"], [11379, 0, "p"], [11380, 0, "p"], [11381, 0, "l"], [11382, 0, "i"], [11383, 0, "c"], [11384, 0, "a"], [11385, 0, "t"], [11386, 0, "i"], [11387, 0, "o"], [11388, 0, "n"], [11389, 0, " "], [11390, 0, "d"], [11391, 0, "e"], [11392, 0, "v"], [11393, 0, "e"], [11394, 0, "l"], [11395, 0, "o"], [11396, 0, "p"], [11397, 0, "e"], [11398, 0, "r"], [11399, 0, "s"], [11400, 0, " "], [11401, 0, "a"], [11402, 0, "n"], [11403, 0, "d"], [11404, 0, " "], [11405, 0, "u"], [11406, 0, "s"], [11407, 0, "e"], [11408, 0, "r"], [11409, 0, "s"], [11410, 0, "."], [5366, 0, " "], [5367, 0, "A"], [5368, 0, "n"], [5369, 0, " "], [5370, 0, "i"], [5371, 0, "m"], [5372, 0, "p"], [5373, 0, "l"], [5374, 0, "e"], [5375, 0, "m"], [5376, 0, "e"], [5377, 0, "n"], [5378, 0, "t"], [5379, 0, "a"], [5380, 0, "t"], [5381, 0, "i"], [5382, 0, "o"], [5383, 0, "n"], [5384, 0, " "], [5385, 0, "m"], [5386, 0, "a"], [5387, 0, "y"], [5388, 0, " "], [5389, 0, "k"], [5390, 0, "e"], [5391, 0, "e"], [5392, 0, "p"], [5393, 0, " "], [5394, 0, "m"], [5395, 0, "e"], [5396, 0, "t"], [5397, 0, "a"], [5398, 0, "d"], [5399, 0, "a"], [5400, 0, "t"], [5401, 0, "a"], [5402, 0, " "], [5403, 0, "a"], [5404, 0, "b"], [5405, 0, "o"], [5406, 0, "u"], [5407, 0, "t"], [5408, 0, " "], [5409, 0, "t"], [5410, 0, "h"], [5411, 0, "e"], [5412, 0, " "], [5413, 0, "p"], [5414, 0, "r"], [5415, 0, "o"], [5416, 0, "v"], [5417, 0, "e"], [5418, 0, "n"], [5419, 0, "a"], [5420, 0, "n"], [5421, 0, "c"], [5422, 0, "e"], [5423, 0, " "], [5424, 0, "o"], [5425, 0, "f"], [5426, 0, " "], [5427, 0, "e"], [5428, 0, "a"], [5429, 0, "c"], [5430, 0, "h"], [5431, 0, " "], [5432, 0, "v"], [5433, 0, "a"], [5434, 0, "l"], [5435, 0, "u"], [5436, 0, "e"], [5437, 0, " "], [5438, 0, "("], [5439, 0, "w"], [5440, 0, "h"], [5441, 0, "o"], [5442, 0, " "], [5443, 0, "m"], [5444, 0, "a"], [5445, 0, "d"], [5446, 0, "e"], [5447, 0, " "], [5448, 0, "t"], [5449, 0, "h"], [5450, 0, "e"], [5451, 0, " "], [5452, 0, "c"], [5453, 0, "h"], [5454, 0, "a"], [5455, 0, "n"], [5456, 0, "g"], [5457, 0, "e"], [5458, 0, ","], [5459, 0, " "], [5460, 0, "o"], [5461, 0, "n"], [5462, 0, " "], [5463, 0, "w"], [5464, 0, "h"], [5465, 0, "i"], [5466, 0, "c"], [5467, 0, "h"], [5468, 0, " "], [5469, 0, "d"], [5470, 0, "e"], [5471, 0, "v"], [5472, 0, "i"], [5473, 0, "c"], [5474, 0, "e"], [5475, 0, " "], [5476, 0, "a"], [5477, 0, "t"], [5478, 0, " "], [5479, 0, "w"], [5480, 0, "h"], [5481, 0, "a"], [5482, 0, "t"], [5483, 0, " "], [5484, 0, "t"], [5485, 0, "i"], [5486, 0, "m"], [5487, 0, "e"], [5488, 0, ")"], [5475, 0, ","], [5490, 0, " "], [5491, 0, "t"], [5492, 0, "o"], [5493, 0, " "], [5494, 0, "a"], [5495, 0, "s"], [5496, 0, "s"], [5497, 0, "i"], [5498, 0, "s"], [5499, 0, "t"], [5500, 0, " "], [5501, 0, "u"], [5502, 0, "s"], [5503, 0, "e"], [5504, 0, "r"], [5505, 0, "s"], [5506, 0, " "], [5507, 0, "w"], [5508, 0, "i"], [5509, 0, "t"], [5510, 0, "h"], [5511, 0, " "], [5512, 0, "r"], [5513, 0, "e"], [5514, 0, "s"], [5515, 0, "o"], [5516, 0, "l"], [5517, 0, "v"], [5518, 0, "i"], [5519, 0, "n"], [5520, 0, "g"], [5521, 0, " "], [5522, 0, "t"], [5523, 0, "h"], [5524, 0, "e"], [5525, 0, " "], [5526, 0, "c"], [5527, 0, "o"], [5528, 0, "n"], [5529, 0, "f"], [5530, 0, "l"], [5531, 0, "i"], [5532, 0, "c"], [5533, 0, "t"], [5534, 0, "."], [5512, 0, "m"], [5513, 0, "a"], [5514, 0, "n"], [5515, 0, "u"], [5516, 0, "a"], [5517, 0, "l"], [5518, 0, "l"], [5519, 0, "y"], [5520, 0, " "], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [12996, 1], [11590, 0, "\n"], [11591, 0, "\n"], [11592, 0, "\\"], [11593, 0, "s"], [11594, 0, "u"], [11595, 0, "b"], [11596, 0, "s"], [11597, 0, "e"], [11598, 0, "c"], [11599, 0, "t"], [11600, 0, "i"], [11601, 0, "o"], [11602, 0, "n"], [11603, 0, "{"], [11604, 0, "D"], [11605, 0, "o"], [11606, 0, "c"], [11607, 0, "u"], [11608, 0, "m"], [11609, 0, "e"], [11610, 0, "n"], [11611, 0, "t"], [11612, 0, " "], [11613, 0, "e"], [11614, 0, "d"], [11615, 0, "i"], [11616, 0, "t"], [11617, 0, "i"], [11618, 0, "n"], [11619, 0, "g"], [11620, 0, " "], [11621, 0, "A"], [11622, 0, "P"], [11623, 0, "I"], [11624, 0, "}"], [11625, 0, "\n"], [11590, 0, "\n"], [11591, 0, "\\"], [11592, 0, "s"], [11593, 0, "u"], [11594, 0, "b"], [11595, 0, "s"], [11596, 0, "e"], [11597, 0, "c"], [11598, 0, "t"], [11599, 0, "i"], [11600, 0, "o"], [11601, 0, "n"], [11602, 0, "{"], [11603, 0, "J"], [11604, 0, "S"], [11605, 0, "O"], [11606, 0, "N"], [11607, 0, " "], [11608, 0, "v"], [11609, 0, "e"], [11610, 0, "r"], [11611, 0, "s"], [11612, 0, "u"], [11613, 0, "s"], [11614, 0, " "], [11615, 0, "o"], [11616, 0, "t"], [11617, 0, "h"], [11618, 0, "e"], [11619, 0, "r"], [11620, 0, " "], [11621, 0, "m"], [11622, 0, "o"], [11623, 0, "d"], [11624, 0, "e"], [11625, 0, "l"], [11626, 0, "s"], [11627, 0, "}"], [11628, 0, "\n"], [11629, 0, "\n"], [11630, 0, "T"], [11631, 0, "h"], [11632, 0, "e"], [11633, 0, " "], [11634, 0, "m"], [11635, 0, "o"], [11636, 0, "s"], [11637, 0, "t"], [11638, 0, " "], [11639, 0, "c"], [11640, 0, "o"], [11641, 0, "m"], [11642, 0, "m"], [11643, 0, "o"], [11644, 0, "n"], [11645, 0, " "], [11646, 0, "a"], [11647, 0, "l"], [11648, 0, "t"], [11649, 0, "e"], [11650, 0, "r"], [11651, 0, "n"], [11652, 0, "a"], [11653, 0, "t"], [11654, 0, "i"], [11655, 0, "v"], [11656, 0, "e"], [11657, 0, " "], [11658, 0, "t"], [11659, 0, "o"], [11660, 0, " "], [11661, 0, "J"], [11662, 0, "S"], [11663, 0, "O"], [11664, 0, "N"], [11665, 0, " "], [11666, 0, "i"], [11667, 0, "s"], [11668, 0, " "], [11669, 0, "X"], [11670, 0, "M"], [11671, 0, "L"], [11672, 0, ","], [11673, 0, " "], [11674, 0, "a"], [11675, 0, "n"], [11676, 0, "d"], [11677, 0, " "], [11678, 0, "c"], [11679, 0, "o"], [11680, 0, "l"], [11681, 0, "l"], [11682, 0, "a"], [11683, 0, "b"], [11684, 0, "o"], [11685, 0, "r"], [11686, 0, "a"], [11687, 0, "t"], [11688, 0, "i"], [11689, 0, "v"], [11690, 0, "e"], [11691, 0, " "], [11692, 0, "e"], [11693, 0, "d"], [11694, 0, "i"], [11695, 0, "t"], [11696, 0, "i"], [11697, 0, "n"], [11698, 0, "g"], [11699, 0, " "], [11700, 0, "o"], [11701, 0, "f"], [11702, 0, " "], [11703, 0, "X"], [11704, 0, "M"], [11705, 0, "L"], [11706, 0, " "], [11707, 0, "d"], [11708, 0, "o"], [11709, 0, "c"], [11710, 0, "u"], [11711, 0, "m"], [11712, 0, "e"], [11713, 0, "n"], [11714, 0, "t"], [11715, 0, "s"], [11716, 0, " "], [11717, 0, "h"], [11718, 0, "a"], [11719, 0, "s"], [11720, 0, " "], [11721, 0, "b"], [11722, 0, "e"], [11723, 0, "e"], [11724, 0, "n"], [11725, 0, " "], [11726, 0, "e"], [11727, 0, "x"], [11728, 0, "t"], [11729, 0, "e"], [11730, 0, "n"], [11731, 0, "s"], [11732, 0, "i"], [11733, 0, "v"], [11734, 0, "e"], [11735, 0, "l"], [11736, 0, "y"], [11737, 0, " "], [11738, 0, "s"], [11739, 0, "t"], [11740, 0, "u"], [11741, 0, "d"], [11742, 0, "i"], [11743, 0, "e"], [11744, 0, "d"], [11745, 0, "."], [11746, 0, " "], [11746, 1], [11745, 1], [11745, 0, " "], [11746, 0, "("], [11747, 0, "I"], [11748, 0, "g"], [11749, 0, "n"], [11750, 0, "a"], [11751, 0, "t"], [11752, 0, " "], [11753, 0, "a"], [11754, 0, "n"], [11755, 0, "d"], [11756, 0, " "], [11757, 0, "N"], [11758, 0, "o"], [11759, 0, "r"], [11760, 0, "r"], [11761, 0, "i"], [11762, 0, "e"], [11763, 0, ","], [11764, 0, " "], [11765, 0, "2"], [11766, 0, "0"], [11767, 0, "3"], [11768, 0, ")"], [11769, 0, "."], [11767, 0, "0"], [11736, 1], [11735, 1], [11734, 1], [11733, 1], [11732, 1], [11731, 1], [11730, 1], [11729, 1], [11728, 1], [11727, 1], [11726, 1], [11726, 0, "p"], [11727, 0, "r"], [11728, 0, "e"], [11729, 0, "v"], [11730, 0, "i"], [11731, 0, "o"], [11732, 0, "u"], [11733, 0, "s"], [11734, 0, "l"], [11735, 0, "y"], [11770, 0, " "], [11615, 0, "X"], [11616, 0, "M"], [11617, 0, "L"], [11618, 1], [11618, 1], [11618, 1], [11618, 1], [11618, 1], [11618, 1], [11618, 1], [11618, 1], [11618, 1], [11618, 1], [11618, 1], [11618, 1], [11762, 0, "A"], [11763, 0, "l"], [11764, 0, "t"], [11765, 0, "h"], [11766, 0, "o"], [11767, 0, "u"], [11768, 0, "g"], [11769, 0, "h"], [11770, 0, " "], [11771, 0, "t"], [11772, 0, "h"], [11773, 0, "e"], [11774, 0, " "], [11775, 0, "t"], [11776, 0, "r"], [11777, 0, "e"], [11778, 0, "e"], [11779, 0, " "], [11780, 0, "s"], [11781, 0, "t"], [11782, 0, "r"], [11783, 0, "u"], [11784, 0, "c"], [11785, 0, "t"], [11786, 0, "u"], [11787, 0, "r"], [11788, 0, "e"], [11762, 0, "B"], [11763, 0, "e"], [11764, 0, "s"], [11765, 0, "i"], [11766, 0, "d"], [11767, 0, "e"], [11768, 0, "s"], [11769, 0, " "], [11770, 0, "t"], [11771, 0, "h"], [11772, 0, "e"], [11773, 0, " "], [11774, 0, "s"], [11775, 0, "u"], [11776, 0, "p"], [11777, 0, "e"], [11778, 0, "r"], [11779, 0, "f"], [11780, 0, "i"], [11781, 0, "c"], [11782, 0, "i"], [11783, 0, "a"], [11784, 0, "l"], [11785, 0, " "], [11786, 0, "s"], [11787, 0, "y"], [11788, 0, "n"], [11789, 0, "t"], [11790, 0, "a"], [11791, 0, "t"], [11791, 1], [11791, 0, "c"], [11792, 0, "t"], [11793, 0, "i"], [11794, 0, "c"], [11795, 0, "a"], [11796, 0, "l"], [11797, 0, " "], [11798, 0, "d"], [11799, 0, "i"], [11800, 0, "f"], [11801, 0, "f"], [11802, 0, "e"], [11803, 0, "r"], [11804, 0, "e"], [11805, 0, "n"], [11806, 0, "c"], [11807, 0, "e"], [11808, 0, "s"], [11809, 0, ","], [11810, 0, " "], [11811, 1], [11811, 1], [11811, 1], [11811, 1], [11811, 1], [11811, 1], [11811, 1], [11811, 1], [11811, 1], [11829, 0, " "], [11830, 0, "o"], [11831, 0, "f"], [11832, 0, " "], [11833, 0, "X"], [11834, 0, "M"], [11835, 0, "L"], [11836, 0, " "], [11837, 0, "a"], [11838, 0, "n"], [11839, 0, "d"], [11840, 0, " "], [11841, 0, "J"], [11842, 0, "S"], [11843, 0, "O"], [11844, 0, "N"], [11845, 0, " "], [11846, 0, "a"], [11847, 0, "p"], [11848, 0, "p"], [11849, 0, "e"], [11850, 0, "a"], [11851, 0, "r"], [11852, 0, "s"], [11853, 0, " "], [11854, 0, "q"], [11855, 0, "u"], [11856, 0, "i"], [11857, 0, "t"], [11858, 0, "e"], [11859, 0, " "], [11860, 0, "s"], [11861, 0, "i"], [11862, 0, "m"], [11863, 0, "i"], [11864, 0, "l"], [11865, 0, "a"], [11866, 0, "r"], [11867, 0, "."], [11868, 0, " "], [11869, 0, "H"], [11870, 0, "o"], [11871, 0, "w"], [11872, 0, "e"], [11873, 0, "v"], [11874, 0, "e"], [11875, 0, "r"], [11876, 0, ","], [11877, 0, " "], [11878, 0, "t"], [11879, 0, "h"], [11880, 0, "e"], [11881, 0, "r"], [11882, 0, "e"], [11883, 0, " "], [11884, 0, "i"], [11885, 0, "s"], [11886, 0, " "], [11887, 0, "a"], [11888, 0, "n"], [11889, 0, " "], [11890, 0, "i"], [11891, 0, "m"], [11892, 0, "p"], [11893, 0, "o"], [11894, 0, "r"], [11895, 0, "t"], [11896, 0, "a"], [11897, 0, "n"], [11898, 0, "t"], [11899, 0, " "], [11900, 0, "d"], [11901, 0, "i"], [11902, 0, "f"], [11903, 0, "f"], [11904, 0, "e"], [11905, 0, "r"], [11906, 0, "e"], [11907, 0, "n"], [11908, 0, "c"], [11909, 0, "e"], [11910, 0, " "], [11911, 0, "t"], [11912, 0, "h"], [11913, 0, "a"], [11914, 0, "t"], [11915, 0, " "], [11916, 0, "w"], [11917, 0, "e"], [11918, 0, " "], [11919, 0, "s"], [11920, 0, "h"], [11921, 0, "o"], [11922, 0, "u"], [11923, 0, "l"], [11924, 0, "d"], [11925, 0, " "], [11926, 0, "h"], [11927, 0, "i"], [11928, 0, "g"], [11929, 0, "h"], [11930, 0, "l"], [11931, 0, "i"], [11932, 0, "g"], [11933, 0, "h"], [11934, 0, "t"], [11935, 0, "."], [11936, 0, "\n"], [11937, 0, "\n"], [11938, 0, "J"], [11939, 0, "S"], [11940, 0, "O"], [11941, 0, "N"], [11942, 0, " "], [11943, 0, "h"], [11944, 0, "a"], [11945, 0, "s"], [11946, 0, " "], [11947, 0, "t"], [11948, 0, "w"], [11949, 0, "o"], [11950, 0, " "], [11951, 0, "c"], [11952, 0, "o"], [11953, 0, "l"], [11954, 0, "l"], [11955, 0, "e"], [11956, 0, "c"], [11957, 0, "t"], [11958, 0, "i"], [11959, 0, "o"], [11960, 0, "n"], [11961, 0, " "], [11962, 0, "c"], [11963, 0, "o"], [11964, 0, "n"], [11965, 0, "s"], [11966, 0, "t"], [11967, 0, "r"], [11968, 0, "u"], [11969, 0, "c"], [11970, 0, "t"], [11971, 0, "s"], [11972, 0, ":"], [11973, 0, " "], [11974, 0, "m"], [11975, 0, "a"], [11976, 0, "p"], [11977, 0, "s"], [11978, 0, " "], [11979, 0, "f"], [11980, 0, "o"], [11981, 0, "r"], [11982, 0, " "], [11983, 0, "u"], [11984, 0, "n"], [11985, 0, "o"], [11986, 0, "r"], [11987, 0, "d"], [11988, 0, "e"], [11989, 0, "r"], [11990, 0, "e"], [11991, 0, "d"], [11992, 0, " "], [11993, 0, "k"], [11994, 0, "e"], [11995, 0, "y"], [11996, 0, "-"], [11997, 0, "v"], [11998, 0, "a"], [11999, 0, "l"], [12000, 0, "u"], [12001, 0, "e"], [12002, 0, " "], [12003, 0, "p"], [12004, 0, "a"], [12005, 0, "i"], [12006, 0, "r"], [12007, 0, "s"], [12008, 0, ","], [12009, 0, " "], [12010, 0, "a"], [12011, 0, "n"], [12012, 0, "d"], [12013, 0, " "], [12014, 0, "l"], [12015, 0, "i"], [12016, 0, "s"], [12017, 0, "t"], [12018, 0, "s"], [12019, 0, " "], [12020, 0, "f"], [12021, 0, "o"], [12022, 0, "r"], [12023, 0, " "], [12024, 0, "o"], [12025, 0, "r"], [12026, 0, "d"], [12027, 0, "e"], [12028, 0, "r"], [12029, 0, "e"], [12030, 0, "d"], [12031, 0, " "], [12032, 0, "s"], [12033, 0, "e"], [12034, 0, "q"], [12035, 0, "u"], [12036, 0, "e"], [12037, 0, "n"], [12038, 0, "c"], [12039, 0, "e"], [12040, 0, "s"], [12041, 0, "."], [12042, 0, " "], [11972, 0, " "], [11973, 0, "t"], [11974, 0, "h"], [11975, 0, "a"], [11976, 0, "t"], [11977, 0, " "], [11978, 0, "c"], [11979, 0, "a"], [11980, 0, "n"], [11981, 0, " "], [11982, 0, "b"], [11983, 0, "e"], [11984, 0, " "], [11985, 0, "a"], [11986, 0, "r"], [11987, 0, "b"], [11988, 0, "i"], [11989, 0, "t"], [11990, 0, "r"], [11991, 0, "a"], [11992, 0, "r"], [11993, 0, "i"], [11994, 0, "l"], [11995, 0, "y"], [11996, 0, " "], [11997, 0, "n"], [11998, 0, "e"], [11999, 0, "s"], [12000, 0, "t"], [12001, 0, "e"], [12002, 0, "d"], [12074, 0, "X"], [12075, 0, "M"], [12076, 0, "L"], [12077, 0, " "], [12078, 0, "i"], [12079, 0, "s"], [12080, 0, " "], [12081, 0, "m"], [12082, 0, "o"], [12083, 0, "r"], [12084, 0, "e"], [12085, 0, " "], [12086, 0, "r"], [12087, 0, "e"], [12088, 0, "s"], [12089, 0, "t"], [12090, 0, "r"], [12091, 0, "i"], [12092, 0, "c"], [12093, 0, "t"], [12094, 0, "e"], [12095, 0, "d"], [12096, 0, " "], [12097, 0, "i"], [12098, 0, "n"], [12099, 0, " "], [12100, 0, "t"], [12101, 0, "h"], [12102, 0, "i"], [12103, 0, "s"], [12104, 0, " "], [12105, 0, "r"], [12106, 0, "e"], [12107, 0, "g"], [12108, 0, "a"], [12109, 0, "r"], [12110, 0, "d"], [12111, 0, ":"], [12112, 0, " "], [12113, 0, "t"], [12114, 0, "h"], [12115, 0, "e"], [12116, 0, " "], [12117, 0, "c"], [12118, 0, "h"], [12119, 0, "i"], [12120, 0, "l"], [12121, 0, "d"], [12122, 0, "r"], [12123, 0, "e"], [12124, 0, "n"], [12125, 0, " "], [12126, 0, "o"], [12127, 0, "f"], [12128, 0, " "], [12129, 0, "a"], [12130, 0, "n"], [12131, 0, " "], [12132, 0, "e"], [12133, 0, "l"], [12134, 0, "e"], [12135, 0, "m"], [12136, 0, "e"], [12137, 0, "n"], [12138, 0, "t"], [12139, 0, " "], [12140, 0, "a"], [12141, 0, "r"], [12142, 0, "e"], [12143, 0, " "], [12144, 0, "a"], [12144, 1], [12143, 1], [12142, 1], [12141, 1], [12140, 1], [12140, 0, "f"], [12141, 0, "o"], [12142, 0, "r"], [12143, 0, "m"], [12144, 0, " "], [12145, 0, "a"], [12146, 0, "n"], [12147, 0, " "], [12148, 0, "o"], [12149, 0, "r"], [12150, 0, "d"], [12151, 0, "e"], [12152, 0, "r"], [12153, 0, "e"], [12154, 0, "d"], [12155, 0, " "], [12156, 0, "s"], [12157, 0, "e"], [12158, 0, "q"], [12159, 0, "u"], [12160, 0, "e"], [12161, 0, "n"], [12162, 0, "c"], [12163, 0, "e"], [12148, 0, "b"], [12149, 0, "b"], [12150, 0, "b"], [12151, 0, "b"], [12152, 0, "b"], [12153, 0, "b"], [12153, 1], [12152, 1], [12151, 1], [12150, 1], [12149, 1], [12148, 1], [12111, 1], [12110, 1], [12109, 1], [12108, 1], [12107, 1], [12106, 1], [12105, 1], [12104, 1], [12103, 1], [12102, 1], [12101, 1], [12100, 1], [12099, 1], [12098, 1], [12097, 1], [12096, 1], [12095, 1], [12094, 1], [12093, 1], [12092, 1], [12091, 1], [12090, 1], [12089, 1], [12088, 1], [12087, 1], [12086, 1], [12085, 1], [12084, 1], [12083, 1], [12082, 1], [12081, 1], [12080, 1], [12079, 1], [12078, 1], [12077, 1], [12076, 1], [12076, 0, "L"], [12077, 0, ","], [12074, 0, "I"], [12075, 0, "n"], [12076, 0, " "], [12133, 0, ","], [12134, 0, " "], [12135, 0, "w"], [12136, 0, "h"], [12137, 0, "i"], [12138, 0, "l"], [12139, 0, "e"], [12140, 0, " "], [12141, 0, "t"], [12142, 0, "h"], [12143, 0, "e"], [12144, 0, " "], [12145, 0, "a"], [12146, 0, "t"], [12147, 0, "t"], [12148, 0, "r"], [12149, 0, "i"], [12150, 0, "b"], [12151, 0, "u"], [12152, 0, "t"], [12153, 0, "e"], [12154, 0, "s"], [12155, 0, " "], [12156, 0, "o"], [12157, 0, "f"], [12158, 0, " "], [12159, 0, "a"], [12160, 0, "n"], [12161, 0, " "], [12162, 0, "e"], [12163, 0, "l"], [12164, 0, "e"], [12165, 0, "m"], [12166, 0, "e"], [12167, 0, "n"], [12168, 0, "t"], [12169, 0, " "], [12170, 0, "a"], [12171, 0, "r"], [12172, 0, "e"], [12173, 0, " "], [12174, 0, "u"], [12175, 0, "n"], [12176, 0, "o"], [12177, 0, "r"], [12178, 0, "d"], [12179, 0, "e"], [12180, 0, "r"], [12181, 0, "e"], [12182, 0, "d"], [12183, 0, " "], [12184, 0, "k"], [12185, 0, "e"], [12186, 0, "y"], [12187, 0, "-"], [12188, 0, "v"], [12189, 0, "a"], [12190, 0, "l"], [12191, 0, "u"], [12192, 0, "e"], [12193, 0, " "], [12194, 0, "p"], [12195, 0, "a"], [12196, 0, "i"], [12197, 0, "r"], [12198, 0, "s"], [12199, 0, "."], [12200, 0, " "], [12201, 0, "H"], [12202, 0, "o"], [12203, 0, "w"], [12204, 0, "e"], [12205, 0, "v"], [12206, 0, "e"], [12207, 0, "r"], [12208, 0, ","], [12209, 0, " "], [12210, 0, "i"], [12211, 0, "n"], [12212, 0, " "], [12213, 0, "X"], [12214, 0, "M"], [12215, 0, "L"], [12215, 1], [12214, 1], [12213, 1], [12212, 1], [12211, 1], [12210, 1], [12210, 0, "X"], [12211, 0, "M"], [12212, 0, "L"], [12213, 0, " "], [12214, 0, "d"], [12215, 0, "o"], [12216, 0, "e"], [12217, 0, "s"], [12218, 0, " "], [12219, 0, "n"], [12220, 0, "o"], [12221, 0, "t"], [12222, 0, " "], [12223, 0, "a"], [12224, 0, "l"], [12225, 0, "l"], [12226, 0, "o"], [12227, 0, "w"], [12228, 0, " "], [12229, 0, "n"], [12230, 0, "e"], [12231, 0, "s"], [12232, 0, "t"], [12233, 0, "e"], [12234, 0, "d"], [12235, 0, " "], [12236, 0, "c"], [12237, 0, "h"], [12237, 1], [12236, 1], [12236, 0, "e"], [12237, 0, "l"], [12238, 0, "e"], [12239, 0, "m"], [12240, 0, "e"], [12241, 0, "n"], [12242, 0, "t"], [12243, 0, "s"], [12244, 0, " "], [12245, 0, "i"], [12246, 0, "n"], [12247, 0, "s"], [12248, 0, "i"], [12249, 0, "d"], [12250, 0, "e"], [12251, 0, " "], [12252, 0, "a"], [12253, 0, "t"], [12254, 0, "t"], [12255, 0, "r"], [12256, 0, "i"], [12257, 0, "b"], [12258, 0, "u"], [12259, 0, "t"], [12260, 0, "e"], [12261, 0, "s"], [12262, 0, " "], [12263, 0, "-"], [12264, 0, "-"], [12265, 0, " "], [12266, 0, "t"], [12267, 0, "h"], [12268, 0, "e"], [12269, 0, " "], [12270, 0, "v"], [12271, 0, "a"], [12272, 0, "l"], [12273, 0, "u"], [12274, 0, "e"], [12275, 0, " "], [12276, 0, "o"], [12277, 0, "f"], [12278, 0, " "], [12279, 0, "a"], [12280, 0, "n"], [12281, 0, " "], [12282, 0, "a"], [12283, 0, "t"], [12284, 0, "t"], [12285, 0, "r"], [12286, 0, "i"], [12287, 0, "b"], [12288, 0, "u"], [12289, 0, "t"], [12290, 0, "e"], [12291, 0, " "], [12292, 0, "c"], [12293, 0, "a"], [12294, 0, "n"], [12295, 0, " "], [12296, 0, "o"], [12297, 0, "n"], [12298, 0, "l"], [12299, 0, "y"], [12300, 0, " "], [12301, 0, "b"], [12302, 0, "e"], [12303, 0, " "], [12304, 0, "a"], [12305, 0, " "], [12306, 0, "p"], [12307, 0, "r"], [12308, 0, "i"], [12309, 0, "m"], [12310, 0, "i"], [12311, 0, "t"], [12312, 0, "i"], [12313, 0, "v"], [12314, 0, "e"], [12315, 0, " "], [12316, 0, "d"], [12317, 0, "a"], [12318, 0, "t"], [12319, 0, "a"], [12320, 0, "t"], [12321, 0, "y"], [12322, 0, "p"], [12323, 0, "e"], [12324, 0, "."], [12325, 0, " "], [12326, 0, "T"], [12327, 0, "h"], [12328, 0, "u"], [12329, 0, "s"], [12330, 0, ","], [12331, 0, " "], [12332, 0, "X"], [12333, 0, "M"], [12334, 0, "l"], [12335, 0, " "], [12336, 0, "s"], [12337, 0, "u"], [12338, 0, "p"], [12339, 0, "p"], [12340, 0, "o"], [12341, 0, "r"], [12342, 0, "t"], [12343, 0, "s"], [12344, 0, " "], [12334, 1], [12334, 0, "L"], [12345, 0, "m"], [12346, 0, "a"], [12347, 0, "p"], [12348, 0, "s"], [12349, 0, " "], [12350, 0, "w"], [12351, 0, "i"], [12352, 0, "t"], [12353, 0, "h"], [12354, 0, "i"], [12355, 0, "n"], [12356, 0, " "], [12357, 0, "l"], [12358, 0, "i"], [12359, 0, "s"], [12360, 0, "t"], [12361, 0, "s"], [12362, 0, ","], [12363, 0, " "], [12364, 0, "b"], [12365, 0, "u"], [12366, 0, "t"], [12367, 0, " "], [12368, 0, "n"], [12369, 0, "o"], [12370, 0, "t"], [12371, 0, " "], [12372, 0, "l"], [12373, 0, "i"], [12374, 0, "s"], [12375, 0, "t"], [12376, 0, "s"], [12377, 0, " "], [12378, 0, "w"], [12379, 0, "i"], [12380, 0, "t"], [12381, 0, "h"], [12382, 0, "i"], [12383, 0, "n"], [12384, 0, " "], [12385, 0, "m"], [12386, 0, "a"], [12387, 0, "p"], [12388, 0, "s"], [12389, 0, "."], [12390, 0, "\n"], [12391, 0, "\n"], [12392, 0, "S"], [12377, 0, " "], [12378, 0, "o"], [12379, 0, "r"], [12380, 0, " "], [12381, 0, "m"], [12382, 0, "a"], [12383, 0, "p"], [12384, 0, "s"], [12392, 0, " "], [12393, 0, "o"], [12394, 0, "t"], [12395, 0, "h"], [12396, 0, "e"], [12397, 0, "r"], [12404, 0, " "], [12405, 0, "T"], [12406, 0, "h"], [12407, 0, "e"], [12408, 0, " "], [12409, 0, "e"], [12410, 0, "x"], [12411, 0, "a"], [12412, 0, "m"], [12413, 0, "p"], [12414, 0, "l"], [12415, 0, "e"], [12416, 0, " "], [12417, 0, "i"], [12418, 0, "n"], [12419, 0, " "], [12420, 0, "F"], [12421, 0, "i"], [12422, 0, "g"], [12423, 0, "u"], [12424, 0, "r"], [12425, 0, "e"], [12426, 0, "~"], [12427, 0, "\\"], [12428, 0, "r"], [12429, 0, "e"], [12430, 0, "f"], [12431, 0, "{"], [12432, 0, "f"], [12433, 0, "i"], [12434, 0, "g"], [12435, 0, ":"], [12436, 0, "t"], [12437, 0, "w"], [12438, 0, "o"], [12439, 0, "-"], [12440, 0, "l"], [12441, 0, "i"], [12442, 0, "s"], [12443, 0, "t"], [12444, 0, "s"], [12445, 0, "}"], [12446, 0, " "], [12447, 0, "c"], [12448, 0, "a"], [12449, 0, "n"], [12450, 0, "n"], [12451, 0, "o"], [12452, 0, "t"], [12453, 0, " "], [12454, 0, "o"], [12455, 0, "c"], [12456, 0, "c"], [12457, 0, "u"], [12458, 0, "r"], [12459, 0, " "], [12460, 0, "i"], [12461, 0, "n"], [12462, 0, " "], [12463, 0, "X"], [12464, 0, "M"], [12465, 0, "L"], [12466, 0, " "], [12467, 0, "f"], [12468, 0, "o"], [12469, 0, "r"], [12470, 0, " "], [12471, 0, "t"], [12472, 0, "h"], [12473, 0, "i"], [12474, 0, "s"], [12475, 0, " "], [12476, 0, "r"], [12477, 0, "e"], [12478, 0, "a"], [12479, 0, "s"], [12480, 0, "o"], [12481, 0, "n"], [12405, 0, "T"], [12406, 0, "h"], [12407, 0, "i"], [12408, 0, "s"], [12409, 0, " "], [12409, 1], [12408, 1], [12407, 1], [12406, 1], [12405, 1], [12404, 1], [12404, 0, " "], [12405, 0, "I"], [12406, 0, "n"], [12407, 0, " "], [12408, 0, "t"], [12409, 0, "h"], [12410, 0, "i"], [12411, 0, "s"], [12412, 0, " "], [12413, 0, "r"], [12414, 0, "e"], [12415, 0, "g"], [12416, 0, "a"], [12417, 0, "r"], [12418, 0, "d"], [12419, 0, ","], [12420, 0, " "], [12421, 0, "X"], [12422, 0, "M"], [12423, 0, "L"], [12424, 0, " "], [12425, 0, "i"], [12426, 0, "s"], [12427, 0, " "], [12428, 0, "m"], [12429, 0, "o"], [12430, 0, "r"], [12431, 0, "e"], [12432, 0, " "], [12433, 0, "r"], [12434, 0, "e"], [12435, 0, "s"], [12436, 0, "t"], [12437, 0, "r"], [12438, 0, "i"], [12438, 1], [12437, 1], [12436, 1], [12435, 1], [12434, 1], [12433, 1], [12432, 1], [12431, 1], [12430, 1], [12429, 1], [12428, 1], [12428, 0, "l"], [12429, 0, "e"], [12430, 0, "s"], [12431, 0, "s"], [12432, 0, " "], [12433, 0, "e"], [12434, 0, "x"], [12435, 0, "p"], [12436, 0, "r"], [12437, 0, "e"], [12438, 0, "s"], [12439, 0, "s"], [12440, 0, "i"], [12441, 0, "v"], [12442, 0, "e"], [12443, 0, " "], [12444, 0, "t"], [12445, 0, "h"], [12446, 0, "a"], [12447, 0, "n"], [12448, 0, " "], [12449, 0, "J"], [12450, 0, "S"], [12451, 0, "O"], [12452, 0, "N"], [12453, 0, ":"], [12454, 0, " "], [12455, 1], [12455, 0, "t"], [12516, 0, "."], [12517, 1], [12517, 1], [12517, 1], [12517, 1], [12517, 1], [12517, 1], [12517, 1], [12517, 1], [12517, 1], [12517, 1], [12517, 1], [12517, 1], [12517, 1], [12517, 1], [12517, 1], [12517, 1], [12520, 0, "o"], [12521, 0, "m"], [12522, 0, "e"], [12523, 0, " "], [12524, 0, "a"], [12525, 0, "p"], [12526, 0, "p"], [12527, 0, "l"], [12528, 0, "i"], [12529, 0, "c"], [12530, 0, "a"], [12531, 0, "t"], [12532, 0, "i"], [12533, 0, "o"], [12534, 0, "n"], [12535, 0, "s"], [12536, 0, " "], [12537, 0, "m"], [12538, 0, "a"], [12539, 0, "y"], [12540, 0, " "], [12541, 0, "a"], [12542, 0, "t"], [12543, 0, "t"], [12544, 0, "a"], [12545, 0, "c"], [12546, 0, "h"], [12547, 0, " "], [12548, 0, "m"], [12549, 0, "a"], [12550, 0, "p"], [12551, 0, "-"], [12552, 0, "l"], [12553, 0, "i"], [12554, 0, "k"], [12555, 0, "e"], [12556, 0, " "], [12557, 0, "s"], [12558, 0, "e"], [12559, 0, "m"], [12560, 0, "a"], [12561, 0, "n"], [12562, 0, "t"], [12563, 0, "i"], [12564, 0, "c"], [12565, 0, "s"], [12566, 0, " "], [12567, 0, "t"], [12568, 0, "o"], [12569, 0, " "], [12570, 0, "t"], [12571, 0, "h"], [12572, 0, "e"], [12573, 0, " "], [12574, 0, "c"], [12575, 0, "h"], [12576, 0, "i"], [12577, 0, "l"], [12578, 0, "d"], [12579, 0, "r"], [12580, 0, "e"], [12581, 0, "n"], [12582, 0, " "], [12583, 0, "o"], [12584, 0, "f"], [12585, 0, " "], [12586, 0, "a"], [12587, 0, "n"], [12588, 0, " "], [12589, 0, "X"], [12590, 0, "M"], [12591, 0, "L"], [12592, 0, " "], [12593, 0, "d"], [12594, 0, "o"], [12595, 0, "c"], [12596, 0, "u"], [12597, 0, "m"], [12598, 0, "e"], [12599, 0, "n"], [12600, 0, "t"], [12516, 0, ","], [12517, 0, " "], [12518, 0, "a"], [12519, 0, "s"], [12520, 0, " "], [12521, 0, "i"], [12522, 0, "t"], [12523, 0, " "], [12524, 0, "w"], [12525, 0, "o"], [12526, 0, "u"], [12527, 0, "l"], [12528, 0, "d"], [12529, 0, " "], [12530, 0, "r"], [12531, 0, "e"], [12532, 0, "s"], [12533, 0, "u"], [12534, 0, "l"], [12535, 0, "t"], [12536, 0, " "], [12537, 0, "i"], [12538, 0, "n"], [12539, 0, " "], [12540, 0, "t"], [12541, 0, "w"], [12542, 0, "o"], [12543, 0, " "], [12544, 0, "s"], [12545, 0, "e"], [12546, 0, "p"], [12547, 0, "a"], [12548, 0, "r"], [12549, 0, "a"], [12550, 0, "t"], [12551, 0, "e"], [12552, 0, " "], [12553, 0, "l"], [12554, 0, "i"], [12555, 0, "s"], [12556, 0, "t"], [12557, 0, "s"], [12558, 0, " "], [12559, 0, "r"], [12560, 0, "a"], [12561, 0, "t"], [12562, 0, "h"], [12563, 0, "e"], [12564, 0, "r"], [12565, 0, " "], [12566, 0, "t"], [12567, 0, "h"], [12568, 0, "a"], [12569, 0, "n"], [12570, 0, " "], [12571, 0, "o"], [12572, 0, "n"], [12573, 0, "e"], [12574, 0, " "], [12575, 0, "m"], [12576, 0, "e"], [12577, 0, "r"], [12578, 0, "g"], [12579, 0, "e"], [12580, 0, "d"], [12581, 0, " "], [12582, 0, "l"], [12583, 0, "i"], [12584, 0, "s"], [12585, 0, "t"], [12398, 1], [12397, 1], [12396, 1], [12395, 1], [12394, 1], [12393, 1], [12385, 1], [12384, 1], [12383, 1], [12382, 1], [12381, 1], [12380, 1], [12379, 1], [12378, 1], [12657, 0, ","], [12658, 0, " "], [12659, 0, "f"], [12660, 0, "o"], [12661, 0, "r"], [12662, 0, " "], [12663, 0, "e"], [12664, 0, "x"], [12665, 0, "a"], [12666, 0, "m"], [12667, 0, "p"], [12668, 0, "l"], [12669, 0, "e"], [12670, 0, " "], [12671, 0, "b"], [12672, 0, "y"], [12673, 0, " "], [12674, 0, "u"], [12675, 0, "s"], [12676, 0, "i"], [12677, 0, "n"], [12678, 0, "g"], [12679, 0, " "], [12680, 0, "t"], [12681, 0, "h"], [12682, 0, "e"], [12683, 0, " "], [12684, 0, "e"], [12685, 0, "l"], [12686, 0, "e"], [12687, 0, "m"], [12688, 0, "e"], [12689, 0, "n"], [12690, 0, "t"], [12691, 0, " "], [12692, 0, "n"], [12693, 0, "a"], [12694, 0, "m"], [12695, 0, "e"], [12696, 0, " "], [12697, 0, "o"], [12698, 0, "r"], [12699, 0, " "], [12700, 0, "a"], [12701, 0, "n"], [12702, 0, " "], [12703, 0, "a"], [12704, 0, "t"], [12705, 0, "t"], [12706, 0, "r"], [12707, 0, "i"], [12708, 0, "b"], [12709, 0, "u"], [12710, 0, "t"], [12711, 0, "e"], [12684, 0, "c"], [12685, 0, "h"], [12686, 0, "i"], [12687, 0, "l"], [12688, 0, "d"], [12689, 0, " "], [12678, 1], [12677, 1], [12676, 1], [12675, 1], [12674, 1], [12674, 0, "i"], [12675, 0, "n"], [12676, 0, "t"], [12677, 0, "e"], [12678, 0, "r"], [12679, 0, "p"], [12680, 0, "r"], [12681, 0, "e"], [12682, 0, "t"], [12683, 0, "i"], [12684, 0, "n"], [12685, 0, "g"], [12725, 0, " "], [12725, 1], [12724, 1], [12723, 1], [12722, 1], [12721, 1], [12720, 1], [12719, 1], [12718, 1], [12717, 1], [12716, 1], [12715, 1], [12714, 1], [12713, 1], [12712, 1], [12711, 1], [12710, 1], [12710, 0, "a"], [12711, 0, "s"], [12712, 0, " "], [12713, 0, "k"], [12714, 0, "e"], [12715, 0, "y"], [12716, 0, "."], [12717, 0, " "], [12718, 0, "H"], [12719, 0, "o"], [12720, 0, "w"], [12721, 0, "e"], [12722, 0, "v"], [12723, 0, "e"], [12724, 0, "r"], [12725, 0, ","], [12726, 0, " "], [12727, 0, "t"], [12728, 0, "h"], [12729, 0, "e"], [12730, 0, "s"], [12731, 0, "e"], [12732, 0, " "], [12733, 0, "s"], [12734, 0, "e"], [12735, 0, "m"], [12736, 0, "a"], [12737, 0, "n"], [12738, 0, "t"], [12739, 0, "i"], [12740, 0, "c"], [12741, 0, "s"], [12742, 0, " "], [12743, 0, "a"], [12744, 0, "r"], [12745, 0, "e"], [12746, 0, " "], [12747, 0, "n"], [12748, 0, "o"], [12749, 0, "t"], [12750, 0, " "], [12751, 0, "p"], [12752, 0, "a"], [12753, 0, "r"], [12754, 0, "t"], [12755, 0, " "], [12756, 0, "o"], [12757, 0, "f"], [12758, 0, " "], [12759, 0, "X"], [12760, 0, "M"], [12761, 0, "L"], [12762, 0, " "], [12763, 0, "i"], [12764, 0, "t"], [12765, 0, "s"], [12766, 0, "e"], [12767, 0, "l"], [12768, 0, "f"], [12769, 0, " "], [12770, 0, "a"], [12771, 0, "n"], [12772, 0, "d"], [12773, 0, " "], [12774, 0, "w"], [12775, 0, "o"], [12776, 0, "u"], [12777, 0, "l"], [12778, 0, "d"], [12779, 0, " "], [12780, 0, "n"], [12781, 0, "o"], [12782, 0, "t"], [12783, 0, " "], [12784, 0, "b"], [12785, 0, "e"], [12786, 0, " "], [12787, 0, "e"], [12788, 0, "n"], [12789, 0, "f"], [12790, 0, "o"], [12791, 0, "r"], [12792, 0, "c"], [12793, 0, "e"], [12794, 0, "d"], [12795, 0, " "], [12796, 0, "b"], [12797, 0, "y"], [12798, 0, " "], [12799, 0, "a"], [12800, 0, " "], [12801, 0, "c"], [12802, 0, "o"], [12803, 0, "l"], [12804, 0, "l"], [12805, 0, "a"], [12806, 0, "b"], [12807, 0, "o"], [12808, 0, "r"], [12809, 0, "a"], [12810, 0, "t"], [12811, 0, "i"], [12812, 0, "v"], [12813, 0, "e"], [12814, 0, " "], [12815, 0, "X"], [12816, 0, "M"], [12817, 0, "L"], [12818, 0, " "], [12819, 0, "e"], [12820, 0, "d"], [12821, 0, "i"], [12822, 0, "t"], [12823, 0, "o"], [12824, 0, "r"], [12825, 0, " "], [12825, 1], [12824, 1], [12823, 1], [12822, 1], [12821, 1], [12820, 1], [12819, 1], [12818, 1], [12817, 1], [12816, 1], [12815, 1], [12814, 1], [12813, 1], [12812, 1], [12811, 1], [12810, 1], [12809, 1], [12808, 1], [12807, 1], [12806, 1], [12805, 1], [12804, 1], [12803, 1], [12802, 1], [12801, 1], [12800, 1], [12799, 1], [12798, 1], [12797, 1], [12796, 1], [12795, 1], [12795, 0, ":"], [12796, 0, " "], [12797, 0, "a"], [12798, 0, " "], [12799, 0, "c"], [12800, 0, "o"], [12800, 1], [12799, 1], [12798, 1], [12797, 1], [12797, 0, "e"], [12798, 0, "x"], [12799, 0, "i"], [12800, 0, "s"], [12801, 0, "t"], [12802, 0, "i"], [12803, 0, "n"], [12804, 0, "g"], [12805, 0, " "], [12806, 0, "c"], [12807, 0, "o"], [12808, 0, "l"], [12809, 0, "l"], [12810, 0, "a"], [12811, 0, "b"], [12812, 0, "o"], [12813, 0, "r"], [12814, 0, "a"], [12815, 0, "t"], [12816, 0, "i"], [12817, 0, "v"], [12818, 0, "e"], [12819, 0, " "], [12820, 0, "e"], [12821, 0, "d"], [12822, 0, "i"], [12823, 0, "t"], [12824, 0, "i"], [12825, 0, "n"], [12826, 0, "g"], [12827, 0, " "], [12828, 0, "a"], [12829, 0, "l"], [12830, 0, "g"], [12831, 0, "o"], [12832, 0, "r"], [12833, 0, "i"], [12834, 0, "t"], [12835, 0, "h"], [12836, 0, "m"], [12837, 0, "s"], [12838, 0, " "], [12839, 0, "f"], [12840, 0, "o"], [12841, 0, "r"], [12842, 0, " "], [12843, 0, "X"], [12844, 0, "M"], [12845, 0, "L"], [12846, 0, " "], [12847, 0, "w"], [12848, 0, "o"], [12849, 0, "u"], [12850, 0, "l"], [12851, 0, "d"], [12852, 0, " "], [12853, 0, "c"], [12854, 0, "r"], [12855, 0, "e"], [12856, 0, "a"], [12857, 0, "t"], [12858, 0, "e"], [12859, 0, " "], [12860, 0, "d"], [12861, 0, "u"], [12862, 0, "p"], [12863, 0, "l"], [12864, 0, "i"], [12865, 0, "c"], [12866, 0, "a"], [12867, 0, "t"], [12868, 0, "e"], [12869, 0, " "], [12870, 0, "w"], [12871, 0, "h"], [12872, 0, "i"], [12873, 0, "l"], [12874, 0, "d"], [12875, 0, "r"], [12876, 0, "e"], [12877, 0, "n"], [12878, 0, " "], [12879, 0, "w"], [12880, 0, "i"], [12881, 0, "t"], [12882, 0, "h"], [12883, 0, " "], [12884, 0, "t"], [12885, 0, "h"], [12886, 0, "e"], [12887, 0, " "], [12888, 0, "s"], [12889, 0, "a"], [12890, 0, "m"], [12891, 0, "e"], [12892, 0, " "], [12893, 0, "k"], [12894, 0, "e"], [12895, 0, "y"], [12896, 0, " "], [12897, 0, "r"], [12898, 0, "a"], [12899, 0, "t"], [12900, 0, "h"], [12901, 0, "e"], [12902, 0, "r"], [12903, 0, " "], [12904, 0, "t"], [12905, 0, "h"], [12906, 0, "a"], [12907, 0, "n"], [12908, 0, " "], [12909, 0, "m"], [12796, 0, " "], [12797, 0, "i"], [12798, 0, "f"], [12799, 0, " "], [12800, 0, "m"], [12801, 0, "u"], [12802, 0, "l"], [12803, 0, "t"], [12804, 0, "i"], [12805, 0, "p"], [12806, 0, "l"], [12807, 0, "e"], [12808, 0, " "], [12809, 0, "n"], [12810, 0, "o"], [12810, 1], [12809, 1], [12808, 1], [12807, 1], [12806, 1], [12805, 1], [12804, 1], [12803, 1], [12802, 1], [12801, 1], [12800, 1], [12800, 0, "n"], [12801, 0, "e"], [12795, 0, " "], [12796, 0, "b"], [12797, 0, "y"], [12798, 0, " "], [12799, 0, "e"], [12800, 0, "x"], [12801, 0, "i"], [12802, 0, "s"], [12803, 0, "t"], [12804, 0, "i"], [12805, 0, "n"], [12806, 0, "g"], [12807, 0, " "], [12808, 0, "c"], [12809, 0, "o"], [12810, 0, "l"], [12811, 0, "l"], [12812, 0, "a"], [12813, 0, "b"], [12814, 0, "o"], [12815, 0, "r"], [12816, 0, "a"], [12817, 0, "t"], [12818, 0, "i"], [12819, 0, "v"], [12820, 0, "e"], [12821, 0, " "], [12822, 0, "e"], [12823, 0, "d"], [12824, 0, "i"], [12825, 0, "t"], [12826, 0, "i"], [12827, 0, "n"], [12828, 0, "g"], [12829, 0, " "], [12830, 0, "a"], [12831, 0, "l"], [12832, 0, "g"], [12833, 0, "o"], [12834, 0, "r"], [12835, 0, "i"], [12836, 0, "t"], [12837, 0, "h"], [12838, 0, "m"], [12839, 0, "s"], [12840, 0, " "], [12841, 0, "f"], [12842, 0, "o"], [12843, 0, "r"], [12844, 0, " "], [12845, 0, "X"], [12846, 0, "M"], [12847, 0, "L"], [12848, 0, "."], [12849, 1], [12850, 1], [12850, 0, "I"], [12854, 1], [12853, 1], [12853, 0, "m"], [12854, 0, "u"], [12855, 0, "l"], [12856, 0, "t"], [12857, 0, "i"], [12858, 0, "p"], [12859, 0, "l"], [12860, 0, "e"], [12861, 0, " "], [12862, 0, "c"], [12863, 0, "h"], [12864, 0, "i"], [12865, 0, "l"], [12866, 0, "d"], [12867, 0, "r"], [12868, 0, "e"], [12869, 0, "n"], [12870, 0, " "], [12871, 0, "w"], [12872, 0, "i"], [12873, 0, "t"], [12874, 0, "h"], [12875, 0, " "], [12876, 0, "t"], [12877, 0, "h"], [12878, 0, "e"], [12879, 0, " "], [12880, 0, "s"], [12881, 0, "a"], [12882, 0, "m"], [12883, 0, "e"], [12884, 0, " "], [12885, 0, "k"], [12886, 0, "e"], [12887, 0, "y"], [12888, 0, " "], [12889, 0, "a"], [12890, 0, "r"], [12891, 0, "e"], [12892, 0, " "], [12893, 0, "c"], [12894, 0, "o"], [12895, 0, "n"], [12896, 0, "c"], [12897, 0, "u"], [12898, 0, "r"], [12899, 0, "r"], [12900, 0, "e"], [12901, 0, "n"], [12902, 0, "t"], [12903, 0, "l"], [12904, 0, "y"], [12905, 0, " "], [12906, 0, "c"], [12907, 0, "r"], [12908, 0, "e"], [12909, 0, "a"], [12910, 0, "t"], [12911, 0, "e"], [12912, 0, "d"], [12913, 0, ","], [12914, 0, " "], [12915, 0, "e"], [12916, 0, "x"], [12917, 0, "i"], [12918, 0, "s"], [12919, 0, "t"], [12920, 0, "i"], [12921, 0, "n"], [12922, 0, "g"], [12923, 0, " "], [12924, 0, "a"], [12925, 0, "l"], [12926, 0, "g"], [12927, 0, "o"], [12928, 0, "r"], [12929, 0, "i"], [12930, 0, "t"], [12931, 0, "h"], [12932, 0, "s"], [12932, 1], [12932, 0, "m"], [12933, 0, "s"], [12934, 0, " "], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12935, 1], [12958, 1], [12958, 0, "c"], [12571, 1], [12570, 1], [12569, 1], [12568, 1], [12567, 1], [12566, 1], [12565, 1], [12564, 1], [12563, 1], [12562, 1], [12561, 1], [12560, 1], [12559, 1], [12558, 1], [12557, 1], [12556, 1], [12555, 1], [12554, 1], [12553, 1], [12552, 1], [12551, 1], [12550, 1], [12549, 1], [12548, 1], [12547, 1], [12546, 1], [12545, 1], [12544, 1], [12543, 1], [12542, 1], [12541, 1], [12540, 1], [12539, 1], [12538, 1], [12537, 1], [12536, 1], [12535, 1], [12534, 1], [12533, 1], [12532, 1], [12531, 1], [12530, 1], [12529, 1], [12528, 1], [12527, 1], [12526, 1], [12525, 1], [12524, 1], [12523, 1], [12522, 1], [12521, 1], [12520, 1], [12519, 1], [12518, 1], [12517, 1], [12516, 1], [12515, 1], [12514, 1], [12513, 1], [12512, 1], [12511, 1], [12510, 1], [12509, 1], [12508, 1], [12507, 1], [12506, 1], [12505, 1], [12504, 1], [12503, 1], [12502, 1], [12928, 0, "e"], [12929, 0, "r"], [12930, 0, "g"], [12931, 0, "i"], [12932, 0, "n"], [12933, 0, "g"], [12934, 0, " "], [12935, 0, "t"], [12936, 0, "h"], [12937, 0, "e"], [12938, 0, "m"], [12939, 0, " "], [12940, 0, "l"], [12941, 0, "i"], [12942, 0, "k"], [12943, 0, "e"], [12944, 0, " "], [12945, 0, "i"], [12946, 0, "n"], [12947, 0, " "], [12948, 0, "F"], [12949, 0, "i"], [12950, 0, "g"], [12951, 0, "u"], [12952, 0, "r"], [12953, 0, "e"], [12954, 0, "~"], [12955, 0, "\\"], [12956, 0, "r"], [12957, 0, "e"], [12958, 0, "f"], [12959, 0, "{"], [12960, 0, "f"], [12961, 0, "i"], [12962, 0, "g"], [12963, 0, ":"], [12964, 0, "t"], [12965, 0, "w"], [12966, 0, "o"], [12967, 0, "-"], [12968, 0, "l"], [12969, 0, "i"], [12970, 0, "s"], [12971, 0, "t"], [12972, 0, "s"], [12973, 0, "}"], [12974, 0, "."], [34107, 1], [34106, 1], [34105, 1], [34105, 0, ","], [34106, 0, " "], [34107, 0, "s"], [34108, 0, "t"], [34109, 0, "a"], [34110, 0, "t"], [34111, 0, "e"], [34112, 0, " "], [34113, 0, "v"], [34114, 0, "e"], [34115, 0, "c"], [34116, 0, "t"], [34117, 0, "o"], [34118, 0, "r"], [34119, 0, "s"], [34120, 0, "~"], [34121, 0, "\\"], [34122, 0, "c"], [34123, 0, "i"], [34124, 0, "t"], [34125, 0, "e"], [34126, 0, "{"], [34127, 0, "E"], [34128, 0, "l"], [34129, 0, "l"], [34130, 0, "i"], [34131, 0, "s"], [34132, 0, ":"], [34133, 0, "1"], [34134, 0, "9"], [34135, 0, "8"], [34136, 0, "9"], [34137, 0, "u"], [34138, 0, "e"], [34139, 0, "}"], [34140, 0, ","], [34141, 0, " "], [34142, 0, "o"], [34143, 0, "r"], [34105, 0, "~"], [34106, 0, "\\"], [34107, 0, "c"], [34108, 0, "i"], [34109, 0, "t"], [34110, 0, "e"], [34111, 0, "{"], [34112, 0, "P"], [34113, 0, "a"], [34114, 0, "r"], [34115, 0, "k"], [34116, 0, "e"], [34117, 0, "r"], [34118, 0, "J"], [34119, 0, "R"], [34120, 0, ":"], [34120, 1], [34119, 1], [34119, 0, "r"], [34120, 0, ":"], [34121, 0, "1"], [34122, 0, "9"], [34123, 0, "8"], [34124, 0, "3"], [34125, 0, "j"], [34126, 0, "b"], [34127, 0, "}"], [34206, 1], [34205, 1], [34204, 1], [34203, 1], [34202, 1], [34201, 1], [34200, 1], [34199, 1], [34198, 1], [34197, 1], [34196, 1], [34195, 1], [34194, 1], [34193, 1], [34192, 1], [34191, 1], [34190, 1], [34190, 0, "~"], [34191, 0, "\\"], [34192, 0, "c"], [34193, 0, "i"], [34194, 0, "t"], [34195, 0, "e"], [34196, 0, "{"], [34197, 0, "P"], [34198, 0, "r"], [34199, 0, "e"], [34200, 0, "g"], [34201, 0, "u"], [34202, 0, "i"], [34203, 0, "c"], [34204, 0, "a"], [34205, 0, ":"], [34206, 0, "2"], [34207, 0, "0"], [34208, 0, "1"], [34209, 0, "2"], [34210, 0, "f"], [34211, 0, "x"], [34212, 0, "}"], [67723, 0, "\n"], [67724, 0, "\n"], [67725, 0, "\\"], [67726, 0, "s"], [67727, 0, "e"], [67728, 0, "c"], [67729, 0, "t"], [67730, 0, "i"], [67731, 0, "o"], [67732, 0, "n"], [67733, 0, "{"], [67734, 0, "R"], [67735, 0, "e"], [67736, 0, "l"], [67737, 0, "a"], [67738, 0, "t"], [67739, 0, "e"], [67740, 0, "d"], [67741, 0, " "], [67742, 0, "W"], [67742, 1], [67742, 0, "w"], [67743, 0, "o"], [67744, 0, "r"], [67745, 0, "k"], [67746, 0, "}"], [67747, 0, "\n"], [67748, 0, "\n"], [67749, 0, "A"], [67750, 0, "l"], [67751, 0, "g"], [67752, 0, "o"], [67753, 0, "r"], [67754, 0, "i"], [67755, 0, "t"], [67756, 0, "h"], [67757, 0, "m"], [67758, 0, "s"], [67759, 0, " "], [67760, 0, "b"], [67761, 0, "a"], [67762, 0, "s"], [67763, 0, "e"], [67764, 0, "d"], [67765, 0, " "], [67766, 0, "o"], [67767, 0, "n"], [67768, 0, " "], [67769, 0, "_"], [67769, 1], [67769, 0, "\\"], [67770, 0, "e"], [67771, 0, "m"], [67772, 0, "p"], [67773, 0, "h"], [67774, 0, "{"], [67775, 0, "o"], [67776, 0, "p"], [67777, 0, "e"], [67778, 0, "r"], [67779, 0, "a"], [67780, 0, "t"], [67781, 0, "i"], [67782, 0, "o"], [67783, 0, "n"], [67784, 0, "a"], [67785, 0, "l"], [67786, 0, " "], [67787, 0, "t"], [67788, 0, "r"], [67789, 0, "a"], [67790, 0, "n"], [67791, 0, "s"], [67792, 0, "f"], [67793, 0, "o"], [67794, 0, "r"], [67795, 0, "m"], [67796, 0, "a"], [67797, 0, "t"], [67798, 0, "i"], [67799, 0, "o"], [67800, 0, "n"], [67801, 0, "}"], [67802, 0, " "], [67803, 0, "("], [67804, 0, "O"], [67805, 0, "T"], [67806, 0, ")"], [67807, 0, " "], [67808, 0, "h"], [67809, 0, "a"], [67810, 0, "v"], [67811, 0, "e"], [67812, 0, " "], [67813, 0, "l"], [67814, 0, "o"], [67815, 0, "n"], [67816, 0, "g"], [67817, 0, " "], [67818, 0, "b"], [67819, 0, "e"], [67820, 0, "e"], [67821, 0, "n"], [67822, 0, " "], [67823, 0, "u"], [67824, 0, "s"], [67825, 0, "e"], [67826, 0, "d"], [67827, 0, " "], [67828, 0, "f"], [67829, 0, "o"], [67830, 0, "r"], [67831, 0, " "], [67832, 0, "c"], [67833, 0, "o"], [67834, 0, "l"], [67835, 0, "l"], [67836, 0, "a"], [67837, 0, "b"], [67838, 0, "o"], [67839, 0, "r"], [67840, 0, "a"], [67841, 0, "t"], [67842, 0, "i"], [67843, 0, "v"], [67844, 0, "e"], [67845, 0, " "], [67846, 0, "e"], [67847, 0, "d"], [67848, 0, "i"], [67849, 0, "t"], [67850, 0, "i"], [67851, 0, "n"], [67852, 0, "g"], [67853, 0, " "], [67854, 0, "a"], [67855, 0, "p"], [67856, 0, "p"], [67857, 0, "l"], [67858, 0, "i"], [67859, 0, "c"], [67860, 0, "a"], [67861, 0, "t"], [67862, 0, "i"], [67863, 0, "o"], [67864, 0, "n"], [67865, 0, "s"], [67866, 0, "~"], [67867, 0, "\\"], [67868, 0, "c"], [67869, 0, "i"], [67870, 0, "t"], [67871, 0, "e"], [67872, 0, "{"], [67873, 0, "E"], [67874, 0, "l"], [67875, 0, "l"], [67876, 0, "i"], [67877, 0, "s"], [67878, 0, ":"], [67879, 0, "1"], [67880, 0, "9"], [67881, 0, "8"], [67882, 0, "9"], [67883, 0, "u"], [67884, 0, "e"], [67885, 0, ","], [67886, 0, "R"], [67887, 0, "e"], [67888, 0, "s"], [67889, 0, "s"], [67890, 0, "e"], [67891, 0, "l"], [67892, 0, ":"], [67893, 0, "1"], [67894, 0, "9"], [67895, 0, "9"], [67896, 0, "6"], [67897, 0, "w"], [67898, 0, "x"], [67899, 0, ","], [67900, 0, "S"], [67901, 0, "u"], [67902, 0, "n"], [67903, 0, ":"], [67904, 0, "1"], [67905, 0, "9"], [67906, 0, "9"], [67907, 0, "8"], [67908, 0, "v"], [67909, 0, "f"], [67910, 0, ","], [67911, 0, "N"], [67912, 0, "i"], [67913, 0, "c"], [67914, 0, "h"], [67915, 0, "o"], [67916, 0, "l"], [67917, 0, "s"], [67918, 0, ":"], [67919, 0, "1"], [67920, 0, "9"], [67921, 0, "9"], [67922, 0, "5"], [67923, 0, "f"], [67924, 0, "d"], [67925, 0, "}"], [67926, 0, "."], [67927, 0, " "], [67928, 0, "M"], [67929, 0, "o"], [67930, 0, "s"], [67931, 0, "t"], [67932, 0, " "], [67933, 0, "o"], [67934, 0, "f"], [67935, 0, " "], [67936, 0, "t"], [67937, 0, "h"], [67938, 0, "e"], [67939, 0, "m"], [67940, 0, " "], [67941, 0, "t"], [67942, 0, "r"], [67943, 0, "e"], [67944, 0, "a"], [67945, 0, "t"], [67946, 0, " "], [67947, 0, "a"], [67948, 0, " "], [67949, 0, "d"], [67950, 0, "o"], [67951, 0, "c"], [67952, 0, "u"], [67953, 0, "m"], [67954, 0, "e"], [67955, 0, "n"], [67956, 0, "t"], [67957, 0, " "], [67958, 0, "a"], [67959, 0, "s"], [67960, 0, " "], [67961, 0, "a"], [67962, 0, " "], [67963, 0, "f"], [67964, 0, "l"], [67965, 0, "a"], [67966, 0, "t"], [67967, 0, " "], [67968, 0, "s"], [67969, 0, "e"], [67970, 0, "q"], [67971, 0, "u"], [67972, 0, "e"], [67973, 0, "n"], [67974, 0, "c"], [67975, 0, "e"], [67976, 0, " "], [67977, 0, "("], [67978, 0, "o"], [67979, 0, "f"], [67980, 0, " "], [67981, 0, "c"], [67982, 0, "h"], [67983, 0, "a"], [67984, 0, "r"], [67985, 0, "a"], [67986, 0, "c"], [67987, 0, "t"], [67988, 0, "e"], [67989, 0, "r"], [67990, 0, "s"], [67991, 0, ","], [67992, 0, " "], [67993, 0, "f"], [67994, 0, "o"], [67995, 0, "r"], [67996, 0, " "], [67997, 0, "e"], [67998, 0, "x"], [67999, 0, "a"], [68000, 0, "m"], [68001, 0, "p"], [68002, 0, "l"], [68003, 0, "e"], [68004, 0, ")"], [68005, 0, " "], [68006, 0, "a"], [68007, 0, "n"], [68008, 0, "d"], [68009, 0, " "], [68010, 0, "d"], [68011, 0, "o"], [68012, 0, " "], [68013, 0, "n"], [68014, 0, "o"], [68015, 0, "t"], [68016, 0, " "], [68017, 0, "s"], [68018, 0, "u"], [68019, 0, "p"], [68020, 0, "p"], [68021, 0, "o"], [68022, 0, "r"], [68023, 0, "t"], [68024, 0, " "], [68025, 0, "t"], [68026, 0, "h"], [68027, 0, "e"], [68028, 0, " "], [68029, 0, "n"], [68030, 0, "e"], [68031, 0, "s"], [68032, 0, "t"], [68033, 0, "e"], [68034, 0, "d"], [68035, 0, " "], [68036, 0, "t"], [68037, 0, "r"], [68038, 0, "e"], [68039, 0, "e"], [68040, 0, " "], [68041, 0, "s"], [68042, 0, "t"], [68043, 0, "r"], [68044, 0, "u"], [68045, 0, "c"], [68046, 0, "t"], [68047, 0, "u"], [68048, 0, "r"], [68049, 0, "e"], [68050, 0, "s"], [68051, 0, " "], [68052, 0, "t"], [68053, 0, "h"], [68054, 0, "a"], [68055, 0, "t"], [68056, 0, " "], [68057, 0, "a"], [68058, 0, "r"], [68059, 0, "e"], [68060, 0, " "], [68061, 0, "r"], [68062, 0, "e"], [68063, 0, "q"], [68064, 0, "u"], [68065, 0, "i"], [68066, 0, "r"], [68067, 0, "e"], [68068, 0, "d"], [68069, 0, " "], [67975, 1], [67974, 1], [67973, 1], [67972, 1], [67971, 1], [67970, 1], [67969, 1], [67968, 1], [67967, 1], [67966, 1], [67965, 1], [67964, 1], [67963, 1], [67962, 1], [67962, 0, "s"], [67963, 0, "i"], [67964, 0, "n"], [67965, 0, "g"], [67966, 0, "l"], [67962, 0, " "], [67968, 0, "e"], [67969, 0, " "], [67970, 0, "o"], [67971, 0, "r"], [67972, 0, "d"], [67973, 0, "e"], [67974, 0, "r"], [67975, 0, "e"], [67976, 0, "d"], [67977, 0, " "], [67978, 0, "l"], [67979, 0, "i"], [67980, 0, "s"], [67981, 0, "t"], [68076, 0, "f"], [68077, 0, "o"], [68078, 0, "r"], [68079, 0, " "], [68080, 0, "m"], [68081, 0, "a"], [68082, 0, "n"], [68083, 0, "y"], [68084, 0, " "], [68085, 0, "a"], [68086, 0, "p"], [68087, 0, "p"], [68088, 0, "l"], [68089, 0, "i"], [68090, 0, "c"], [68091, 0, "a"], [68092, 0, "t"], [68093, 0, "i"], [68094, 0, "o"], [68095, 0, "n"], [68096, 0, "s"], [68097, 0, "."], [68098, 0, " "], [68099, 0, "S"], [68100, 0, "o"], [68101, 0, "m"], [68102, 0, "e"], [68103, 0, " "], [68104, 0, "a"], [68105, 0, "l"], [68106, 0, "g"], [68107, 0, "o"], [68108, 0, "r"], [68109, 0, "i"], [68110, 0, "t"], [68111, 0, "h"], [68112, 0, "m"], [68113, 0, "s"], [68114, 0, " "], [68115, 0, "g"], [68116, 0, "e"], [68117, 0, "n"], [68118, 0, "e"], [68119, 0, "r"], [68120, 0, "a"], [68121, 0, "l"], [68122, 0, "i"], [68123, 0, "z"], [68124, 0, "e"], [68125, 0, " "], [68126, 0, "O"], [68127, 0, "T"], [68128, 0, " "], [68129, 0, "t"], [68130, 0, "o"], [68131, 0, " "], [68132, 0, "e"], [68133, 0, "d"], [68134, 0, "i"], [68135, 0, "t"], [68136, 0, "i"], [68137, 0, "n"], [68138, 0, "g"], [68139, 0, " "], [68140, 0, "X"], [68141, 0, "M"], [68142, 0, "L"], [68143, 0, " "], [68144, 0, "d"], [68145, 0, "o"], [68146, 0, "c"], [68147, 0, "u"], [68148, 0, "m"], [68149, 0, "e"], [68150, 0, "n"], [68151, 0, "t"], [68152, 0, "s"], [68153, 0, "~"], [68154, 0, "\\"], [68155, 0, "c"], [68156, 0, "i"], [68157, 0, "t"], [68158, 0, "e"], [68159, 0, "{"], [68160, 0, "D"], [68161, 0, "a"], [68162, 0, "v"], [68163, 0, "i"], [68164, 0, "s"], [68165, 0, ":"], [68166, 0, "2"], [68167, 0, "0"], [68168, 0, "0"], [68169, 0, "2"], [68170, 0, "i"], [68171, 0, "v"], [68172, 0, ","], [68173, 0, "I"], [68174, 0, "g"], [68175, 0, "n"], [68176, 0, "a"], [68177, 0, "t"], [68178, 0, ":"], [68179, 0, "2"], [68180, 0, "0"], [68181, 0, "0"], [68182, 0, "3"], [68183, 0, "j"], [68184, 0, "y"], [68185, 0, ","], [68185, 0, "}"], [68187, 0, " "], [68185, 0, ","], [68186, 0, "W"], [68187, 0, "a"], [68188, 0, "n"], [68189, 0, "g"], [68190, 0, ":"], [68191, 0, "2"], [68192, 0, "0"], [68193, 0, "1"], [68194, 0, "5"], [68195, 0, "v"], [68196, 0, "o"], [68200, 0, "w"], [68201, 0, "h"], [68202, 0, "i"], [68203, 0, "c"], [68204, 0, "h"], [68205, 0, " "], [68206, 0, "p"], [68207, 0, "r"], [68208, 0, "o"], [68209, 0, "v"], [68210, 0, "i"], [68211, 0, "d"], [68212, 0, "e"], [68213, 0, "s"], [68214, 0, " "], [68215, 0, "n"], [68216, 0, "e"], [68217, 0, "s"], [68218, 0, "t"], [68219, 0, "i"], [68220, 0, "n"], [68221, 0, "g"], [68222, 0, " "], [68223, 0, "o"], [68224, 0, "f"], [68225, 0, " "], [68226, 0, "o"], [68227, 0, "r"], [68228, 0, "d"], [68229, 0, "e"], [68230, 0, "r"], [68231, 0, "e"], [68232, 0, "d"], [68233, 0, " "], [68234, 0, "l"], [68235, 0, "i"], [68236, 0, "s"], [68237, 0, "t"], [68238, 0, "s"], [68239, 0, ","], [68240, 0, " "], [68241, 0, "b"], [68242, 0, "u"], [68243, 0, "t"], [68244, 0, " "], [68245, 0, "t"], [68246, 0, "h"], [68247, 0, "e"], [68248, 0, "s"], [68249, 0, "e"], [68250, 0, " "], [68251, 0, "a"], [68252, 0, "l"], [68253, 0, "g"], [68254, 0, "o"], [68255, 0, "r"], [68256, 0, "i"], [68257, 0, "t"], [68258, 0, "h"], [68259, 0, "m"], [68260, 0, "s"], [68261, 0, " "], [68262, 0, "d"], [68263, 0, "o"], [68264, 0, " "], [68265, 0, "n"], [68266, 0, "o"], [68267, 0, "t"], [68268, 0, " "], [68269, 0, "s"], [68270, 0, "u"], [68271, 0, "p"], [68272, 0, "p"], [68273, 0, "o"], [68274, 0, "r"], [68275, 0, "t"], [68276, 0, " "], [68277, 0, "k"], [68278, 0, "e"], [68279, 0, "y"], [68280, 0, "-"], [68281, 0, "v"], [68282, 0, "a"], [68283, 0, "l"], [68284, 0, "u"], [68285, 0, "e"], [68286, 0, " "], [68287, 0, "m"], [68288, 0, "a"], [68289, 0, "p"], [68290, 0, "s"], [68291, 0, " "], [68292, 0, "a"], [68293, 0, "s"], [68294, 0, " "], [68295, 0, "d"], [68296, 0, "e"], [68297, 0, "f"], [68298, 0, "i"], [68299, 0, "n"], [68300, 0, "e"], [68301, 0, "d"], [68302, 0, " "], [68303, 0, "i"], [68304, 0, "n"], [68305, 0, " "], [68306, 0, "t"], [68307, 0, "h"], [68308, 0, "i"], [68309, 0, "s"], [68310, 0, " "], [68311, 0, "p"], [68312, 0, "a"], [68313, 0, "p"], [68314, 0, "e"], [68315, 0, "r"], [68316, 0, "."], [68317, 0, "\n"], [68318, 0, "\n"], [68319, 0, "M"], [68320, 0, "o"], [68321, 0, "s"], [68322, 0, "t"], [68323, 0, " "], [68324, 0, "d"], [68325, 0, "e"], [68326, 0, "p"], [68327, 0, "l"], [68328, 0, "o"], [68329, 0, "y"], [68330, 0, "e"], [68331, 0, "d"], [68332, 0, " "], [68333, 0, "O"], [68334, 0, "T"], [68335, 0, " "], [68336, 0, "s"], [68337, 0, "y"], [68338, 0, "s"], [68339, 0, "t"], [68340, 0, "e"], [68341, 0, "m"], [68342, 0, "s"], [68343, 0, ","], [68344, 0, " "], [68345, 0, "i"], [68346, 0, "n"], [68347, 0, "c"], [68348, 0, "l"], [68349, 0, "u"], [68350, 0, "d"], [68351, 0, "i"], [68352, 0, "n"], [68353, 0, "g"], [68354, 0, " "], [68355, 0, "\\"], [68355, 1], [68355, 0, "G"], [68356, 0, "o"], [68357, 0, "o"], [68358, 0, "g"], [68359, 0, "l"], [68360, 0, "e"], [68361, 0, " "], [68362, 0, "D"], [68363, 0, "o"], [68364, 0, "c"], [68365, 0, "s"], [68366, 0, "~"], [68367, 0, "\\"], [68368, 0, "c"], [68369, 0, "i"], [68370, 0, "t"], [68371, 0, "e"], [68372, 0, "{"], [68373, 0, "D"], [68374, 0, "a"], [68375, 0, "y"], [68376, 0, "R"], [68377, 0, "i"], [68378, 0, "c"], [68379, 0, "h"], [68380, 0, "t"], [68381, 0, "e"], [68382, 0, "r"], [68383, 0, ":"], [68384, 0, "2"], [68385, 0, "0"], [68386, 0, "1"], [68387, 0, "0"], [68388, 0, "t"], [68389, 0, "t"], [68390, 0, "}"], [68391, 0, ","], [68392, 0, " "], [68393, 0, "E"], [68394, 0, "t"], [68395, 0, "h"], [68396, 0, "e"], [68397, 0, "r"], [68398, 0, "p"], [68399, 0, "a"], [68400, 0, "d"], [68401, 0, "~"], [68402, 0, "\\"], [68403, 0, "c"], [68404, 0, "i"], [68405, 0, "t"], [68406, 0, "e"], [68407, 0, "{"], [68408, 0, "E"], [68409, 0, "t"], [68410, 0, "h"], [68411, 0, "e"], [68412, 0, "r"], [68413, 0, "p"], [68414, 0, "a"], [68415, 0, "d"], [68416, 0, ":"], [68417, 0, "2"], [68418, 0, "0"], [68419, 0, "1"], [68420, 0, "1"], [68421, 0, "u"], [68422, 0, "m"], [68423, 0, "}"], [68424, 0, ","], [68425, 0, " "], [68426, 0, "N"], [68427, 0, "o"], [68428, 0, "v"], [68429, 0, "e"], [68430, 0, "l"], [68431, 0, "l"], [68432, 0, " "], [68433, 0, "V"], [68434, 0, "i"], [68435, 0, "b"], [68436, 0, "e"], [68437, 0, "~"], [68438, 0, "\\"], [68439, 0, "c"], [68440, 0, "i"], [68441, 0, "t"], [68442, 0, "e"], [68443, 0, "{"], [68444, 0, "S"], [68445, 0, "p"], [68446, 0, "i"], [68447, 0, "e"], [68448, 0, "w"], [68449, 0, "a"], [68450, 0, "k"], [68451, 0, ":"], [68452, 0, "2"], [68453, 0, "0"], [68454, 0, "1"], [68455, 0, "0"], [68456, 0, "v"], [68457, 0, "w"], [68458, 0, "}"], [68459, 0, " "], [68460, 0, "a"], [68461, 0, "n"], [68462, 0, "d"], [68463, 0, " "], [68464, 0, "A"], [68465, 0, "p"], [68466, 0, "a"], [68467, 0, "c"], [68468, 0, "h"], [68469, 0, "e"], [68470, 0, " "], [68471, 0, "W"], [68472, 0, "a"], [68473, 0, "v"], [68474, 0, "e"], [68475, 0, " "], [68476, 0, "("], [68477, 0, "f"], [68478, 0, "o"], [68479, 0, "r"], [68480, 0, "m"], [68481, 0, "e"], [68482, 0, "r"], [68483, 0, "l"], [68484, 0, "y"], [68485, 0, " "], [68486, 0, "G"], [68487, 0, "o"], [68488, 0, "o"], [68489, 0, "g"], [68490, 0, "l"], [68491, 0, "e"], [68492, 0, " "], [68493, 0, "W"], [68494, 0, "a"], [68495, 0, "v"], [68496, 0, "e"], [68497, 0, "~"], [68498, 0, "\\"], [68499, 0, "c"], [68500, 0, "i"], [68501, 0, "t"], [68502, 0, "e"], [68503, 0, "{"], [68504, 0, "W"], [68505, 0, "a"], [68506, 0, "n"], [68507, 0, "g"], [68508, 0, ":"], [68509, 0, "2"], [68510, 0, "0"], [68511, 0, "1"], [68512, 0, "5"], [68513, 0, "v"], [68514, 0, "o"], [68515, 0, "}"], [68516, 0, ")"], [68517, 0, ","], [68518, 0, " "], [68519, 0, "r"], [68520, 0, "e"], [68521, 0, "l"], [68522, 0, "y"], [68523, 0, " "], [68524, 0, "o"], [68525, 0, "n"], [68526, 0, " "], [68527, 0, "a"], [68528, 0, " "], [68335, 0, " "], [68336, 0, "c"], [68337, 0, "o"], [68338, 0, "l"], [68339, 0, "l"], [68340, 0, "a"], [68341, 0, "b"], [68342, 0, "o"], [68343, 0, "r"], [68344, 0, "a"], [68345, 0, "t"], [68346, 0, "i"], [68347, 0, "o"], [68348, 0, "n"], [68543, 0, "s"], [68544, 0, "i"], [68545, 0, "n"], [68546, 0, "g"], [68547, 0, "l"], [68548, 0, "e"], [68549, 0, " "], [68550, 0, "s"], [68551, 0, "e"], [68552, 0, "r"], [68553, 0, "v"], [68554, 0, "e"], [68555, 0, "r"], [68556, 0, " "], [68557, 0, "t"], [68558, 0, "o"], [68559, 0, " "], [68560, 0, "d"], [68561, 0, "e"], [68562, 0, "c"], [68563, 0, "i"], [68564, 0, "d"], [68565, 0, "e"], [68566, 0, " "], [68567, 0, "o"], [68568, 0, "n"], [68569, 0, " "], [68570, 0, "a"], [68571, 0, " "], [68572, 0, "t"], [68573, 0, "o"], [68574, 0, "t"], [68575, 0, "a"], [68576, 0, "l"], [68577, 0, " "], [68578, 0, "o"], [68579, 0, "r"], [68580, 0, "d"], [68581, 0, "e"], [68582, 0, "r"], [68583, 0, "i"], [68584, 0, "n"], [68585, 0, "g"], [68586, 0, " "], [68587, 0, "o"], [68588, 0, "f"], [68589, 0, " "], [68590, 0, "o"], [68591, 0, "p"], [68592, 0, "e"], [68593, 0, "r"], [68594, 0, "a"], [68595, 0, "t"], [68596, 0, "i"], [68597, 0, "o"], [68598, 0, "n"], [68599, 0, "s"], [68600, 0, "."], [68601, 0, " "], [68602, 0, "T"], [68603, 0, "h"], [68604, 0, "i"], [68605, 0, "s"], [68606, 0, " "], [68607, 0, "h"], [68608, 0, "a"], [68609, 0, "s"], [68610, 0, " "], [68611, 0, "t"], [68612, 0, "h"], [68613, 0, "e"], [68614, 0, " "], [68615, 0, "a"], [68616, 0, "d"], [68617, 0, "v"], [68618, 0, "a"], [68619, 0, "n"], [68620, 0, "t"], [68621, 0, "a"], [68622, 0, "g"], [68623, 0, "e"], [68624, 0, " "], [68625, 0, "o"], [68626, 0, "f"], [68627, 0, " "], [68628, 0, "s"], [68629, 0, "i"], [68630, 0, "m"], [68631, 0, "p"], [68632, 0, "l"], [68633, 0, "i"], [68634, 0, "f"], [68635, 0, "y"], [68636, 0, "i"], [68637, 0, "n"], [68638, 0, "g"], [68639, 0, " "], [68640, 0, "t"], [68641, 0, "h"], [68642, 0, "e"], [68643, 0, " "], [68644, 0, "t"], [68645, 0, "r"], [68646, 0, "a"], [68647, 0, "n"], [68648, 0, "s"], [68649, 0, "f"], [68650, 0, "o"], [68651, 0, "r"], [68652, 0, "m"], [68653, 0, "a"], [68654, 0, "t"], [68655, 0, "i"], [68656, 0, "o"], [68657, 0, "n"], [68658, 0, " "], [68638, 1], [68637, 1], [68636, 1], [68635, 1], [68634, 1], [68633, 1], [68632, 1], [68631, 1], [68630, 1], [68629, 1], [68628, 1], [68627, 1], [68627, 0, " "], [68628, 0, "m"], [68629, 0, "a"], [68630, 0, "k"], [68631, 0, "i"], [68632, 0, "n"], [68633, 0, "g"], [68654, 0, "f"], [68655, 0, "u"], [68656, 0, "n"], [68657, 0, "c"], [68658, 0, "t"], [68659, 0, "i"], [68660, 0, "o"], [68661, 0, "n"], [68662, 0, "s"], [68663, 0, " "], [68664, 0, "s"], [68665, 0, "i"], [68666, 0, "m"], [68667, 0, "p"], [68668, 0, "l"], [68669, 0, "e"], [68670, 0, "r"], [68671, 0, " "], [68672, 0, "a"], [68673, 0, "n"], [68674, 0, "d"], [68675, 0, " "], [68676, 0, "l"], [68677, 0, "e"], [68678, 0, "s"], [68679, 0, "s"], [68680, 0, " "], [68681, 0, "e"], [68682, 0, "r"], [68683, 0, "r"], [68684, 0, "o"], [68685, 0, "r"], [68686, 0, "-"], [68687, 0, "p"], [68688, 0, "r"], [68689, 0, "o"], [68690, 0, "n"], [68691, 0, "e"], [68692, 0, "~"], [68693, 0, "\\"], [68694, 0, "c"], [68695, 0, "i"], [68696, 0, "t"], [68697, 0, "e"], [68698, 0, "{"], [68699, 0, "I"], [68700, 0, "m"], [68701, 0, "i"], [68702, 0, "n"], [68703, 0, "e"], [68704, 0, ":"], [68705, 0, "2"], [68706, 0, "0"], [68707, 0, "0"], [68708, 0, "3"], [68709, 0, "k"], [68710, 0, "s"], [68711, 0, "}"], [68712, 0, ","], [68713, 0, " "], [68714, 0, "b"], [68715, 0, "u"], [68716, 0, "t"], [68717, 0, " "], [68718, 0, "i"], [68719, 0, "t"], [68720, 0, " "], [68721, 0, "i"], [68722, 0, "s"], [68723, 0, " "], [68724, 0, "n"], [68725, 0, "o"], [68726, 0, "t"], [68727, 0, " "], [68728, 0, "a"], [68729, 0, "c"], [68730, 0, "c"], [68731, 0, "e"], [68732, 0, "p"], [68733, 0, "t"], [68734, 0, "a"], [68735, 0, "b"], [68736, 0, "l"], [68737, 0, "e"], [68738, 0, " "], [68600, 0, ","], [68601, 0, " "], [68602, 0, "a"], [68603, 0, " "], [68604, 0, "d"], [68605, 0, "e"], [68606, 0, "s"], [68607, 0, "i"], [68608, 0, "g"], [68609, 0, "n"], [68610, 0, " "], [68611, 0, "d"], [68612, 0, "e"], [68613, 0, "c"], [68614, 0, "i"], [68615, 0, "s"], [68616, 0, "i"], [68617, 0, "o"], [68618, 0, "n"], [68619, 0, " "], [68620, 0, "i"], [68621, 0, "n"], [68622, 0, "h"], [68623, 0, "e"], [68624, 0, "r"], [68625, 0, "i"], [68626, 0, "t"], [68627, 0, "e"], [68628, 0, "d"], [68629, 0, " "], [68630, 0, "f"], [68631, 0, "r"], [68632, 0, "o"], [68633, 0, "m"], [68634, 0, " "], [68635, 0, "t"], [68636, 0, "h"], [68637, 0, "e"], [68638, 0, " "], [68639, 0, "J"], [68640, 0, "u"], [68641, 0, "p"], [68642, 0, "i"], [68643, 0, "t"], [68644, 0, "e"], [68645, 0, "r"], [68646, 0, " "], [68647, 0, "s"], [68648, 0, "y"], [68649, 0, "s"], [68650, 0, "t"], [68651, 0, "e"], [68652, 0, "m"], [68653, 0, "~"], [68654, 0, "\\"], [68655, 0, "c"], [68656, 0, "i"], [68657, 0, "t"], [68658, 0, "e"], [68659, 0, "{"], [68660, 0, "N"], [68661, 0, "i"], [68662, 0, "c"], [68663, 0, "h"], [68664, 0, "o"], [68665, 0, "l"], [68666, 0, "s"], [68667, 0, ":"], [68668, 0, "1"], [68669, 0, "9"], [68670, 0, "9"], [68671, 0, "5"], [68672, 0, "f"], [68673, 0, "d"], [68674, 0, "}"], [68813, 1], [68812, 1], [68811, 1], [68810, 1], [68809, 1], [68808, 1], [68807, 1], [68806, 1], [68805, 1], [68804, 1], [68803, 1], [68802, 1], [68801, 1], [68800, 1], [68799, 1], [68798, 1], [68797, 1], [68796, 1], [68795, 1], [68794, 1], [68793, 1], [68682, 0, "a"], [68683, 0, "p"], [68684, 0, "p"], [68685, 0, "r"], [68686, 0, "o"], [68687, 0, "a"], [68688, 0, "c"], [68689, 0, "h"], [68690, 0, " "], [68802, 0, "i"], [68803, 0, "t"], [68804, 0, " "], [68805, 0, "d"], [68806, 0, "o"], [68807, 0, "e"], [68808, 0, "s"], [68809, 0, " "], [68810, 0, "n"], [68811, 0, "o"], [68812, 0, "t"], [68813, 0, " "], [68814, 0, "m"], [68815, 0, "e"], [68816, 0, "e"], [68817, 0, "t"], [68818, 0, " "], [68819, 0, "o"], [68820, 0, "u"], [68821, 0, "r"], [68822, 0, " "], [68823, 0, "r"], [68824, 0, "e"], [68825, 0, "q"], [68826, 0, "u"], [68827, 0, "i"], [68828, 0, "r"], [68829, 0, "e"], [68830, 0, "m"], [68831, 0, "e"], [68832, 0, "n"], [68833, 0, "t"], [68834, 0, "s"], [68835, 0, " "], [68835, 1], [68835, 0, ","], [68836, 0, " "], [68837, 0, "s"], [68838, 0, "i"], [68839, 0, "n"], [68840, 0, "c"], [68841, 0, "e"], [68842, 0, " "], [68843, 0, "w"], [68844, 0, "e"], [68845, 0, " "], [68846, 0, "w"], [68847, 0, "a"], [68848, 0, "n"], [68849, 0, "t"], [68850, 0, " "], [68851, 0, "t"], [68852, 0, "o"], [68853, 0, " "], [68854, 0, "s"], [68855, 0, "u"], [68856, 0, "p"], [68857, 0, "p"], [68858, 0, "o"], [68859, 0, "r"], [68860, 0, "t"], [68861, 0, " "], [68862, 0, "c"], [68863, 0, "o"], [68864, 0, "l"], [68865, 0, "l"], [68866, 0, "a"], [68867, 0, "b"], [68868, 0, "o"], [68869, 0, "r"], [68870, 0, "a"], [68871, 0, "t"], [68872, 0, "i"], [68873, 0, "o"], [68874, 0, "n"], [68875, 0, " "], [68876, 0, "w"], [68877, 0, "i"], [68878, 0, "t"], [68879, 0, "h"], [68880, 0, "o"], [68881, 0, "u"], [68882, 0, "t"], [68883, 0, " "], [68861, 0, " "], [68862, 0, "p"], [68863, 0, "e"], [68864, 0, "e"], [68865, 0, "r"], [68866, 0, "-"], [68867, 0, "t"], [68868, 0, "o"], [68869, 0, "-"], [68870, 0, "p"], [68871, 0, "e"], [68872, 0, "e"], [68873, 0, "r"], [68897, 0, "r"], [68898, 0, "e"], [68899, 0, "l"], [68900, 0, "y"], [68901, 0, "i"], [68902, 0, "n"], [68903, 0, "g"], [68904, 0, " "], [68904, 1], [68903, 1], [68902, 1], [68901, 1], [68900, 1], [68899, 1], [68899, 0, "q"], [68900, 0, "u"], [68901, 0, "i"], [68902, 0, "r"], [68903, 0, "i"], [68904, 0, "n"], [68905, 0, "g"], [68906, 0, " "], [68907, 0, "a"], [68908, 0, " "], [68909, 0, "s"], [68910, 0, "i"], [68911, 0, "n"], [68912, 0, "g"], [68913, 0, "l"], [68914, 0, "e"], [68915, 0, " "], [68916, 0, "s"], [68917, 0, "e"], [68918, 0, "r"], [68919, 0, "v"], [68920, 0, "e"], [68921, 0, "r"], [68922, 0, "."], [68923, 0, " "], [68924, 0, "D"], [68925, 0, "e"], [68926, 0, "c"], [68927, 0, "i"], [68928, 0, "d"], [68929, 0, "i"], [68930, 0, "n"], [68931, 0, "g"], [68932, 0, " "], [68933, 0, "o"], [68934, 0, "n"], [68935, 0, " "], [68924, 1], [68924, 0, "A"], [68925, 0, "l"], [68926, 0, "t"], [68927, 0, "h"], [68928, 0, "o"], [68929, 0, "u"], [68930, 0, "g"], [68931, 0, "h"], [68932, 0, " "], [68933, 0, "i"], [68934, 0, "t"], [68935, 0, " "], [68936, 0, "p"], [68936, 1], [68936, 0, "i"], [68937, 0, "s"], [68938, 0, " "], [68939, 0, "p"], [68940, 0, "o"], [68941, 0, "s"], [68942, 0, "s"], [68943, 0, "i"], [68944, 0, "b"], [68945, 0, "l"], [68946, 0, "e"], [68947, 0, " "], [68948, 0, "t"], [68949, 0, "o"], [68950, 0, " "], [68951, 0, "d"], [68958, 1], [68957, 1], [68956, 1], [68956, 0, "e"], [68961, 0, "a"], [68962, 0, " "], [68963, 0, "t"], [68964, 0, "o"], [68965, 0, "t"], [68966, 0, "a"], [68967, 0, "l"], [68968, 0, " "], [68969, 0, "o"], [68970, 0, "r"], [68971, 0, "d"], [68972, 0, "e"], [68973, 0, "r"], [68974, 0, "i"], [68975, 0, "n"], [68976, 0, "g"], [68977, 0, " "], [68978, 0, "o"], [68979, 0, "f"], [68980, 0, " "], [68981, 0, "o"], [68982, 0, "p"], [68983, 0, "e"], [68984, 0, "r"], [68985, 0, "a"], [68986, 0, "t"], [68987, 0, "i"], [68988, 0, "o"], [68989, 0, "n"], [68990, 0, "s"], [68991, 0, " "], [68992, 0, "b"], [68993, 0, "y"], [68994, 0, " "], [68995, 0, "u"], [68996, 0, "s"], [68997, 0, "i"], [68998, 0, "n"], [68999, 0, "g"], [69000, 0, " "], [69001, 0, "a"], [69002, 0, "n"], [69003, 0, " "], [69004, 0, "a"], [69005, 0, "t"], [69006, 0, "o"], [69007, 0, "m"], [69008, 0, "i"], [69009, 0, "c"], [69010, 0, " "], [69011, 0, "b"], [69012, 0, "r"], [69013, 0, "o"], [69014, 0, "a"], [69015, 0, "d"], [69016, 0, "c"], [69017, 0, "a"], [69018, 0, "s"], [69019, 0, "t"], [69020, 0, " "], [69021, 0, "p"], [69022, 0, "r"], [69023, 0, "o"], [69024, 0, "t"], [69025, 0, "o"], [69026, 0, "c"], [69027, 0, "o"], [69028, 0, "l"], [69029, 0, "~"], [69030, 0, "\\"], [69031, 0, "c"], [69032, 0, "i"], [69033, 0, "t"], [69034, 0, "e"], [69035, 0, "{"], [69036, 0, "D"], [69037, 0, "e"], [69038, 0, "f"], [69039, 0, "a"], [69040, 0, "g"], [69041, 0, "o"], [69042, 0, ":"], [69043, 0, "2"], [69044, 0, "0"], [69045, 0, "0"], [69046, 0, "4"], [69047, 0, "j"], [69048, 0, "i"], [69049, 0, "}"], [69050, 0, ","], [69051, 0, " "], [69052, 0, "s"], [69053, 0, "u"], [69054, 0, "c"], [69055, 0, "h"], [69056, 0, " "], [69057, 0, "p"], [69058, 0, "r"], [69059, 0, "o"], [69060, 0, "t"], [69061, 0, "o"], [69062, 0, "c"], [69063, 0, "o"], [69064, 0, "l"], [69065, 0, "s"], [69066, 0, " "], [69067, 0, "a"], [69068, 0, "r"], [69069, 0, "e"], [69070, 0, " "], [69071, 0, "e"], [69072, 0, "q"], [69073, 0, "u"], [69074, 0, "i"], [69075, 0, "v"], [69076, 0, "a"], [69077, 0, "l"], [69078, 0, "e"], [69079, 0, "n"], [69080, 0, "t"], [69081, 0, " "], [69082, 0, "t"], [69083, 0, "o"], [69084, 0, " "], [69085, 0, "c"], [69086, 0, "o"], [69087, 0, "n"], [69088, 0, "s"], [69089, 0, "e"], [69090, 0, "n"], [69091, 0, "s"], [69092, 0, "u"], [69093, 0, "s"], [69094, 0, "~"], [69095, 0, "\\"], [69096, 0, "c"], [69097, 0, "i"], [69098, 0, "t"], [69099, 0, "e"], [69100, 0, "{"], [69101, 0, "C"], [69102, 0, "h"], [69103, 0, "a"], [69104, 0, "n"], [69105, 0, "d"], [69106, 0, "r"], [69107, 0, "a"], [69108, 0, ":"], [69109, 0, "1"], [69110, 0, "9"], [69111, 0, "9"], [69112, 0, "6"], [69113, 0, "c"], [69114, 0, "p"], [69115, 0, "}"], [69116, 0, ","], [69117, 0, " "], [69118, 0, "s"], [69119, 0, "o"], [69120, 0, " "], [69121, 0, "t"], [69122, 0, "h"], [69123, 0, "e"], [69124, 0, "y"], [69125, 0, " "], [69126, 0, "c"], [69127, 0, "a"], [69128, 0, "n"], [69129, 0, " "], [69130, 0, "o"], [69131, 0, "n"], [69132, 0, "l"], [69133, 0, "y"], [69134, 0, " "], [69135, 0, "m"], [69136, 0, "a"], [69137, 0, "k"], [69138, 0, "e"], [69139, 0, " "], [69140, 0, "p"], [69141, 0, "r"], [69142, 0, "o"], [69143, 0, "g"], [69144, 0, "r"], [69145, 0, "e"], [69146, 0, "s"], [69147, 0, "s"], [69135, 0, "s"], [69136, 0, "a"], [69137, 0, "f"], [69138, 0, "e"], [69139, 0, "l"], [69140, 0, "y"], [69141, 0, " "], [69155, 0, " "], [69156, 0, "i"], [69157, 0, "f"], [69158, 0, " "], [69159, 0, "a"], [69160, 0, " "], [69161, 0, "m"], [69162, 0, "a"], [69163, 0, "j"], [69164, 0, "o"], [69165, 0, "r"], [69166, 0, "i"], [69167, 0, "t"], [69168, 0, "y"], [69169, 0, " "], [69170, 0, "o"], [69171, 0, "f"], [69172, 0, " "], [69173, 0, "p"], [69174, 0, "a"], [69175, 0, "r"], [69176, 0, "t"], [69177, 0, "i"], [69178, 0, "c"], [69179, 0, "i"], [69180, 0, "p"], [69181, 0, "a"], [69182, 0, "n"], [69183, 0, "t"], [69184, 0, "s"], [69185, 0, " "], [69186, 0, "a"], [69187, 0, "r"], [69188, 0, "e"], [69189, 0, " "], [69190, 0, "o"], [69191, 0, "n"], [69192, 0, "l"], [69193, 0, "i"], [69194, 0, "n"], [69195, 0, "e"], [69196, 0, " "], [69197, 0, "a"], [69198, 0, "n"], [69199, 0, "d"], [69200, 0, " "], [69201, 0, "r"], [69202, 0, "e"], [69203, 0, "a"], [69204, 0, "c"], [69205, 0, "h"], [69206, 0, "a"], [69207, 0, "b"], [69208, 0, "l"], [69209, 0, "e"], [69210, 0, "."], [69211, 0, " "], [69212, 0, "W"], [69213, 0, "e"], [69214, 0, " "], [69215, 0, "e"], [69216, 0, "x"], [69217, 0, "p"], [69218, 0, "e"], [69219, 0, "c"], [69220, 0, "t"], [69221, 0, " "], [69222, 0, "t"], [69223, 0, "h"], [69224, 0, "a"], [69225, 0, "t"], [69226, 0, " "], [69227, 0, "i"], [69228, 0, "n"], [69229, 0, " "], [69230, 0, "p"], [69231, 0, "e"], [69232, 0, "e"], [69233, 0, "r"], [69234, 0, "-"], [69235, 0, "t"], [69236, 0, "o"], [69237, 0, "-"], [69238, 0, "p"], [69239, 0, "e"], [69240, 0, "e"], [69241, 0, "r"], [69242, 0, " "], [69243, 0, "s"], [69244, 0, "y"], [69245, 0, "s"], [69246, 0, "t"], [69247, 0, "e"], [69248, 0, "m"], [69249, 0, "s"], [69250, 0, " "], [69251, 0, "w"], [69252, 0, "i"], [69253, 0, "t"], [69254, 0, "h"], [69051, 0, " "], [69052, 0, "w"], [69053, 0, "h"], [69054, 0, "i"], [69055, 0, "c"], [69056, 0, "h"], [69057, 0, " "], [69058, 0, "a"], [69059, 0, "v"], [69060, 0, "o"], [69061, 0, "i"], [69062, 0, "d"], [69063, 0, "s"], [69064, 0, " "], [69065, 0, "r"], [69066, 0, "e"], [69067, 0, "l"], [69068, 0, "y"], [69069, 0, "i"], [69070, 0, "n"], [69071, 0, "g"], [69072, 0, " "], [69073, 0, "o"], [69074, 0, "n"], [69075, 0, " "], [69076, 0, "a"], [69077, 0, " "], [69078, 0, "s"], [69079, 0, "i"], [69080, 0, "n"], [69081, 0, "g"], [69082, 0, "l"], [69083, 0, "e"], [69084, 0, " "], [69085, 0, "s"], [69086, 0, "e"], [69087, 0, "r"], [69088, 0, "v"], [69089, 0, "e"], [69090, 0, "r"], [69091, 0, ","], [68923, 1], [68923, 0, "\n"], [68924, 0, "\n"], [69296, 1], [69295, 1], [69294, 1], [69293, 1], [69293, 0, "o"], [69294, 0, "f"], [69295, 0, " "], [69296, 0, "m"], [69297, 0, "o"], [69298, 0, "b"], [69299, 0, "i"], [69300, 0, "l"], [69301, 0, "e"], [69302, 0, " "], [69303, 0, "d"], [69304, 0, "e"], [69305, 0, "v"], [69306, 0, "i"], [69307, 0, "c"], [69308, 0, "e"], [69309, 0, "s"], [69310, 0, " "], [69311, 0, "i"], [69312, 0, "t"], [69313, 0, " "], [69314, 0, "w"], [69315, 0, "i"], [69316, 0, "l"], [69317, 0, "l"], [69318, 0, " "], [69319, 0, "f"], [69320, 0, "r"], [69321, 0, "e"], [69322, 0, "q"], [69323, 0, "u"], [69324, 0, "e"], [69325, 0, "n"], [69326, 0, "t"], [69327, 0, "l"], [69328, 0, "y"], [69329, 0, " "], [69330, 0, "b"], [69331, 0, "e"], [69332, 0, " "], [69333, 0, "t"], [69334, 0, "h"], [69335, 0, "e"], [69336, 0, " "], [69337, 0, "c"], [69338, 0, "a"], [69339, 0, "s"], [69340, 0, "e"], [69341, 0, " "], [69342, 0, "t"], [69343, 0, "h"], [69344, 0, "a"], [69345, 0, "t"], [69346, 0, " "], [69347, 0, "o"], [69348, 0, "n"], [69349, 0, "l"], [69350, 0, "y"], [69351, 0, " "], [69352, 0, "a"], [69353, 0, " "], [69354, 0, "m"], [69355, 0, "i"], [69356, 0, "n"], [69357, 0, "o"], [69358, 0, "r"], [69359, 0, "i"], [69360, 0, "t"], [69361, 0, "y"], [69362, 0, " "], [69363, 0, "o"], [69364, 0, "f"], [69365, 0, " "], [69366, 0, "p"], [69367, 0, "a"], [69368, 0, "r"], [69369, 0, "t"], [69370, 0, "i"], [69371, 0, "c"], [69372, 0, "i"], [69373, 0, "p"], [69374, 0, "a"], [69375, 0, "n"], [69376, 0, "t"], [69377, 0, "s"], [69378, 0, " "], [69379, 0, "a"], [69380, 0, "r"], [69381, 0, "e"], [69382, 0, " "], [69383, 0, "o"], [69384, 0, "n"], [69385, 0, "l"], [69386, 0, "i"], [69387, 0, "n"], [69388, 0, "e"], [69389, 0, " "], [69390, 0, "a"], [69391, 0, "t"], [69392, 0, " "], [69393, 0, "t"], [69394, 0, "h"], [69395, 0, "e"], [69396, 0, " "], [69397, 0, "s"], [69398, 0, "a"], [69399, 0, "m"], [69400, 0, "e"], [69401, 0, " "], [69402, 0, "t"], [69403, 0, "i"], [69404, 0, "m"], [69405, 0, "e"], [69406, 0, ","], [69407, 0, " "], [69408, 0, "a"], [69409, 0, "n"], [69410, 0, "d"], [69411, 0, " "], [69412, 0, "s"], [69413, 0, "o"], [69414, 0, " "], [69415, 0, "a"], [69416, 0, "n"], [69417, 0, "y"], [69418, 0, " "], [69419, 0, "a"], [69420, 0, "l"], [69421, 0, "g"], [69422, 0, "o"], [69423, 0, "r"], [69424, 0, "i"], [69425, 0, "t"], [69426, 0, "h"], [69427, 0, "m"], [69428, 0, " "], [69429, 0, "t"], [69430, 0, "h"], [69431, 0, "a"], [69432, 0, "t"], [69433, 0, " "], [69434, 0, "r"], [69435, 0, "e"], [69436, 0, "l"], [69437, 0, "i"], [69438, 0, "e"], [69439, 0, "s"], [69440, 0, " "], [69440, 1], [69439, 1], [69438, 1], [69437, 1], [69436, 1], [69435, 1], [69434, 1], [69433, 1], [69432, 1], [69431, 1], [69430, 1], [69429, 1], [69428, 1], [69427, 1], [69426, 1], [69425, 1], [69424, 1], [69423, 1], [69422, 1], [69421, 1], [69420, 1], [69419, 1], [69418, 1], [69417, 1], [69416, 1], [69415, 1], [69414, 1], [69414, 0, " "], [69415, 0, "t"], [69416, 0, "h"], [69417, 0, "e"], [69418, 0, " "], [69419, 0, "s"], [69420, 0, "y"], [69421, 0, "s"], [69422, 0, "t"], [69423, 0, "e"], [69424, 0, "m"], [69425, 0, " "], [69426, 0, "w"], [69427, 0, "i"], [69428, 0, "l"], [69429, 0, "l"], [69430, 0, " "], [69431, 0, "n"], [69432, 0, "o"], [69433, 0, "t"], [69434, 0, " "], [69435, 0, "b"], [69436, 0, "e"], [69437, 0, " "], [69438, 0, "a"], [69439, 0, "b"], [69440, 0, "l"], [69441, 0, "e"], [69442, 0, " "], [69442, 1], [69441, 1], [69440, 1], [69439, 1], [69438, 1], [69437, 1], [69436, 1], [69435, 1], [69434, 1], [69433, 1], [69432, 1], [69431, 1], [69430, 1], [69429, 1], [69428, 1], [69427, 1], [69426, 1], [69425, 1], [69424, 1], [69423, 1], [69422, 1], [69421, 1], [69420, 1], [69419, 1], [69418, 1], [69417, 1], [69416, 1], [69415, 1], [69415, 0, "a"], [69416, 0, "n"], [69417, 0, "y"], [69418, 0, " "], [69419, 0, "a"], [69420, 0, "l"], [69421, 0, "g"], [69422, 0, "o"], [69423, 0, "r"], [69424, 0, "i"], [69425, 0, "t"], [69426, 0, "h"], [69427, 0, "m"], [69428, 0, " "], [69429, 0, "r"], [69430, 0, "e"], [69431, 0, "q"], [69432, 0, "u"], [69433, 0, "i"], [69434, 0, "r"], [69435, 0, "i"], [69436, 0, "n"], [69437, 0, "g"], [69438, 0, " "], [69439, 0, "a"], [69440, 0, "t"], [69441, 0, "o"], [69442, 0, "m"], [69443, 0, "i"], [69444, 0, "c"], [69445, 0, " "], [69446, 0, "b"], [69447, 0, "r"], [69448, 0, "o"], [69449, 0, "a"], [69450, 0, "d"], [69451, 0, "c"], [69452, 0, "a"], [69453, 0, "s"], [69454, 0, "t"], [69455, 0, " "], [69456, 0, "w"], [69457, 0, "o"], [69458, 0, "u"], [69459, 0, "l"], [69460, 0, "d"], [69461, 0, " "], [69462, 0, "b"], [69463, 0, "e"], [69464, 0, "c"], [69465, 0, "o"], [69466, 0, "m"], [69467, 0, "e"], [69468, 0, " "], [69469, 0, "u"], [69470, 0, "n"], [69471, 0, "a"], [69472, 0, "v"], [69473, 0, "a"], [69474, 0, "i"], [69475, 0, "l"], [69476, 0, "a"], [69477, 0, "b"], [69478, 0, "l"], [69479, 0, "e"], [69480, 0, "."], [69481, 0, " "], [69482, 0, "T"], [69483, 0, "h"], [69484, 0, "e"], [69485, 0, " "], [69486, 0, "s"], [69487, 0, "t"], [69488, 0, "r"], [69489, 0, "o"], [69490, 0, "n"], [69491, 0, "g"], [69492, 0, "e"], [69493, 0, "s"], [69494, 0, "t"], [69495, 0, " "], [69496, 0, "g"], [69497, 0, "u"], [69498, 0, "a"], [69499, 0, "r"], [69500, 0, "a"], [69501, 0, "r"], [69502, 0, "a"], [69503, 0, "n"], [69504, 0, "t"], [69505, 0, "e"], [69506, 0, "e"], [69507, 0, " "], [69508, 0, "s"], [69509, 0, "u"], [69510, 0, "c"], [69511, 0, "h"], [69512, 0, " "], [69513, 0, "a"], [69514, 0, " "], [69515, 0, "s"], [69516, 0, "y"], [69517, 0, "s"], [69518, 0, "t"], [69519, 0, "e"], [69520, 0, "m"], [69521, 0, " "], [69522, 0, "c"], [69523, 0, "a"], [69524, 0, "n"], [69525, 0, " "], [69526, 0, "g"], [69527, 0, "i"], [69528, 0, "v"], [69529, 0, "e"], [69530, 0, " "], [69531, 0, "i"], [69532, 0, "s"], [69533, 0, " "], [69534, 0, "c"], [69535, 0, "a"], [69536, 0, "u"], [69537, 0, "s"], [69538, 0, "a"], [69539, 0, "l"], [69540, 0, " "], [69541, 0, "o"], [69542, 0, "r"], [69543, 0, "d"], [69544, 0, "e"], [69545, 0, "r"], [69546, 0, "i"], [69547, 0, "n"], [69548, 0, "g"], [69549, 0, "~"], [69550, 0, "\\"], [69551, 0, "c"], [69552, 0, "i"], [69553, 0, "t"], [69554, 0, "e"], [69555, 0, "{"], [69556, 0, "A"], [69557, 0, "t"], [69558, 0, "t"], [69559, 0, "i"], [69560, 0, "y"], [69561, 0, "a"], [69562, 0, ":"], [69563, 0, "2"], [69564, 0, "0"], [69565, 0, "1"], [69566, 0, "5"], [69567, 0, "d"], [69568, 0, "m"], [69569, 0, "}"], [69570, 0, "."], [69571, 0, "\n"], [69572, 0, "\n"], [69573, 0, "T"], [69574, 0, "h"], [69575, 0, "e"], [69576, 0, " "], [69577, 0, "C"], [69578, 0, "R"], [69579, 0, "D"], [69580, 0, "T"], [69581, 0, " "], [69582, 0, "f"], [69583, 0, "a"], [69584, 0, "m"], [69585, 0, "i"], [69586, 0, "l"], [69587, 0, "y"], [69588, 0, " "], [69589, 0, "o"], [69590, 0, "f"], [69591, 0, " "], [69592, 0, "d"], [69593, 0, "a"], [69594, 0, "t"], [69595, 0, "a"], [69596, 0, " "], [69597, 0, "s"], [69598, 0, "t"], [69599, 0, "r"], [69600, 0, "u"], [69601, 0, "c"], [69602, 0, "t"], [69603, 0, "u"], [69604, 0, "r"], [69605, 0, "e"], [69606, 0, "s"], [69607, 0, " "], [69573, 0, "F"], [69574, 0, "o"], [69575, 0, "r"], [69576, 0, " "], [69577, 1], [69577, 0, "t"], [69611, 1], [69611, 0, ","], [69612, 0, " "], [69613, 0, "c"], [69614, 0, "a"], [69615, 0, "u"], [69616, 0, "s"], [69617, 0, "a"], [69618, 0, "l"], [69619, 0, " "], [69620, 0, "o"], [69621, 0, "r"], [69622, 0, "d"], [69623, 0, "e"], [69624, 0, "r"], [69625, 0, "i"], [69626, 0, "n"], [69627, 0, "g"], [69628, 0, " "], [69629, 0, "i"], [69630, 0, "s"], [69631, 0, " "], [69632, 0, "s"], [69633, 0, "u"], [69634, 0, "f"], [69635, 0, "f"], [69636, 0, "i"], [69637, 0, "c"], [69638, 0, "i"], [69639, 0, "e"], [69640, 0, "n"], [69641, 0, "t"], [69642, 0, " "], [69643, 0, "t"], [69644, 0, "o"], [69645, 0, " "], [69646, 0, "a"], [69647, 0, "c"], [69648, 0, "h"], [69649, 0, "i"], [69650, 0, "e"], [69651, 0, "v"], [69652, 0, "e"], [69653, 0, " "], [69654, 0, "c"], [69655, 0, "o"], [69656, 0, "n"], [69657, 0, "v"], [69658, 0, "e"], [69659, 0, "r"], [69660, 0, "g"], [69661, 0, "e"], [69662, 0, "n"], [69663, 0, "c"], [69664, 0, "e"], [69665, 0, "."], [69572, 1], [69571, 1], [69570, 1], [69570, 0, ","], [69571, 0, " "], [69572, 0, "a"], [69573, 0, "n"], [69574, 0, "d"], [69575, 0, " "], [69576, 1], [69576, 0, "f"], [68925, 0, " "], [68925, 0, "M"], [68926, 0, "a"], [68927, 0, "n"], [68928, 0, "y"], [68929, 0, " "], [68930, 0, "s"], [68931, 0, "e"], [68932, 0, "c"], [68933, 0, "u"], [68934, 0, "r"], [68935, 0, "e"], [68936, 0, " "], [68937, 0, "m"], [68938, 0, "e"], [68939, 0, "s"], [68940, 0, "s"], [68941, 0, "a"], [68942, 0, "g"], [68943, 0, "i"], [68944, 0, "n"], [68945, 0, "g"], [68946, 0, " "], [68947, 0, "p"], [68948, 0, "r"], [68949, 0, "o"], [68950, 0, "t"], [68951, 0, "o"], [68952, 0, "c"], [68953, 0, "o"], [68954, 0, "l"], [68955, 0, "s"], [68956, 0, ","], [68957, 0, " "], [68958, 0, "w"], [68959, 0, "h"], [68960, 0, "i"], [68961, 0, "c"], [68962, 0, "h"], [68963, 0, " "], [68964, 0, "w"], [68965, 0, "e"], [68966, 0, " "], [68967, 0, "p"], [68968, 0, "l"], [68969, 0, "a"], [68970, 0, "n"], [68971, 0, " "], [68972, 0, "t"], [68973, 0, "o"], [68974, 0, " "], [68975, 0, "u"], [68976, 0, "s"], [68977, 0, "e"], [68978, 0, " "], [68979, 0, "f"], [68980, 0, "o"], [68981, 0, "r"], [68982, 0, " "], [68983, 0, "e"], [68984, 0, "n"], [68985, 0, "c"], [68986, 0, "r"], [68987, 0, "y"], [68988, 0, "p"], [68989, 0, "t"], [68990, 0, "e"], [68991, 0, "d"], [68992, 0, " "], [68993, 0, "d"], [68993, 1], [68993, 0, "c"], [68994, 0, "o"], [68995, 0, "l"], [68996, 0, "l"], [68997, 0, "a"], [68998, 0, "b"], [68999, 0, "o"], [69000, 0, "r"], [69001, 0, "a"], [69002, 0, "t"], [69003, 0, "i"], [69004, 0, "o"], [69005, 0, "n"], [69006, 0, ","], [69007, 0, " "], [69008, 0, "d"], [69009, 0, "o"], [69010, 0, " "], [69011, 0, "n"], [69012, 0, "o"], [69013, 0, "t"], [69014, 0, " "], [69015, 0, "g"], [69016, 0, "u"], [69017, 0, "a"], [69018, 0, "r"], [69019, 0, "a"], [69020, 0, "n"], [69021, 0, "t"], [69022, 0, "e"], [69023, 0, "e"], [69024, 0, " "], [69025, 0, "t"], [69026, 0, "h"], [69027, 0, "a"], [69028, 0, "t"], [69029, 0, " "], [69030, 0, "d"], [69031, 0, "i"], [69032, 0, "f"], [69033, 0, "f"], [69034, 0, "e"], [69035, 0, "r"], [69036, 0, "e"], [69037, 0, "n"], [69038, 0, "t"], [69039, 0, " "], [69040, 0, "r"], [69041, 0, "e"], [69042, 0, "c"], [69043, 0, "i"], [69044, 0, "p"], [69045, 0, "i"], [69046, 0, "e"], [69047, 0, "n"], [69048, 0, "t"], [69049, 0, "s"], [69050, 0, " "], [69051, 0, "w"], [69052, 0, "i"], [69053, 0, "l"], [69054, 0, "l"], [69055, 0, " "], [69056, 0, "s"], [69057, 0, "e"], [69058, 0, "e"], [69059, 0, " "], [69060, 0, "m"], [69061, 0, "e"], [69062, 0, "s"], [69063, 0, "s"], [69064, 0, "a"], [69065, 0, "g"], [69066, 0, "e"], [69067, 0, "s"], [69068, 0, " "], [69068, 1], [69067, 1], [69066, 1], [69065, 1], [69065, 0, "g"], [69066, 0, "e"], [69067, 0, "s"], [69068, 0, " "], [69069, 0, "i"], [69070, 0, "n"], [69071, 0, " "], [69072, 0, "t"], [69073, 0, "h"], [69074, 0, "e"], [69075, 0, " "], [69076, 0, "s"], [69077, 0, "a"], [69078, 0, "m"], [69079, 0, "e"], [69080, 0, " "], [69081, 0, "o"], [69082, 0, "r"], [69083, 0, "d"], [69084, 0, "e"], [69085, 0, "r"], [69086, 0, "~"], [69087, 0, "\\"], [69088, 0, "c"], [69089, 0, "i"], [69090, 0, "t"], [69091, 0, "e"], [69092, 0, "{"], [69093, 0, "U"], [69094, 0, "n"], [69095, 0, "g"], [69096, 0, "e"], [69097, 0, "r"], [69098, 0, ":"], [69099, 0, "2"], [69100, 0, "0"], [69101, 0, "1"], [69102, 0, "5"], [69103, 0, "k"], [69104, 0, "g"], [69105, 0, "}"], [69106, 0, "."], [67748, 0, "\n"], [67749, 0, "\\"], [67750, 0, "s"], [67751, 0, "u"], [67752, 0, "b"], [67753, 0, "s"], [67754, 0, "e"], [67755, 0, "c"], [67756, 0, "t"], [67757, 0, "i"], [67758, 0, "o"], [67759, 0, "n"], [67760, 0, "{"], [67761, 0, "O"], [67762, 0, "p"], [67763, 0, "e"], [67764, 0, "r"], [67765, 0, "a"], [67766, 0, "t"], [67767, 0, "i"], [67768, 0, "o"], [67769, 0, "n"], [67770, 0, "a"], [67771, 0, "l"], [67772, 0, " "], [67773, 0, "t"], [67774, 0, "r"], [67775, 0, "a"], [67776, 0, "n"], [67777, 0, "s"], [67778, 0, "f"], [67779, 0, "o"], [67780, 0, "r"], [67781, 0, "m"], [67782, 0, "a"], [67783, 0, "t"], [67784, 0, "i"], [67785, 0, "o"], [67786, 0, "n"], [67787, 0, "}"], [67788, 0, "\n"], [69893, 0, "\n"], [69894, 0, "\n"], [69895, 0, "\\"], [69896, 0, "s"], [69897, 0, "u"], [69898, 0, "b"], [69899, 0, "s"], [69900, 0, "e"], [69901, 0, "c"], [69902, 0, "t"], [69903, 0, "i"], [69904, 0, "o"], [69905, 0, "n"], [69906, 0, "{"], [69907, 0, "C"], [69908, 0, "R"], [69909, 0, "D"], [69910, 0, "T"], [69911, 0, "s"], [69912, 0, "}"], [69891, 1], [69890, 1], [69889, 1], [69888, 1], [69887, 1], [69886, 1], [69885, 1], [69884, 1], [69883, 1], [69882, 1], [69881, 1], [69880, 1], [69879, 1], [69878, 1], [69877, 1], [69876, 1], [69875, 1], [69874, 1], [69873, 1], [69872, 1], [69871, 1], [69870, 1], [69869, 1], [69868, 1], [69867, 1], [69866, 1], [69865, 1], [69864, 1], [69863, 1], [69862, 1], [69861, 1], [69860, 1], [69859, 1], [69858, 1], [69857, 1], [69856, 1], [69855, 1], [69854, 1], [69853, 1], [69852, 1], [69851, 1], [69850, 1], [69849, 1], [69848, 1], [69847, 1], [69846, 1], [69845, 1], [69844, 1], [69843, 1], [69842, 1], [69841, 1], [69840, 1], [69839, 1], [69838, 1], [69837, 1], [69836, 1], [69835, 1], [69834, 1], [69833, 1], [69832, 1], [69831, 1], [69830, 1], [69829, 1], [69828, 1], [69827, 1], [69826, 1], [69825, 1], [69824, 1], [69823, 1], [69822, 1], [69821, 1], [69820, 1], [69819, 1], [69818, 1], [69817, 1], [69816, 1], [69815, 1], [69814, 1], [69813, 1], [69812, 1], [69811, 1], [69810, 1], [69809, 1], [69808, 1], [69807, 1], [69806, 1], [69805, 1], [69804, 1], [69803, 1], [69802, 1], [69801, 1], [69800, 1], [69799, 1], [69798, 1], [69797, 1], [69796, 1], [69795, 1], [69794, 1], [69795, 0, "\n"], [69796, 0, "\n"], [69797, 0, "T"], [69798, 0, "h"], [69799, 0, "e"], [69800, 0, " "], [69801, 0, "G"], [69802, 0, "o"], [69803, 0, "o"], [69804, 0, "g"], [69805, 0, "l"], [69806, 0, "e"], [69807, 0, " "], [69808, 0, "R"], [69809, 0, "e"], [69810, 0, "a"], [69811, 0, "l"], [69812, 0, "t"], [69813, 0, "i"], [69814, 0, "m"], [69815, 0, "e"], [69816, 0, " "], [69817, 0, "A"], [69818, 0, "P"], [69819, 0, "I"], [69820, 0, "~"], [69821, 0, "\\"], [69822, 0, "c"], [69823, 0, "i"], [69824, 0, "t"], [69825, 0, "e"], [69826, 0, "{"], [69827, 0, "G"], [69828, 0, "o"], [69829, 0, "o"], [69830, 0, "g"], [69831, 0, "l"], [69832, 0, "e"], [69833, 0, ":"], [69834, 0, "2"], [69835, 0, "0"], [69836, 0, "1"], [69837, 0, "5"], [69838, 0, "v"], [69839, 0, "k"], [69840, 0, "}"], [69841, 0, " "], [69842, 0, "i"], [69843, 0, "s"], [69844, 0, " "], [69845, 0, "t"], [69846, 0, "h"], [69847, 0, "e"], [69848, 0, " "], [69849, 0, "o"], [69850, 0, "n"], [69851, 0, "l"], [69852, 0, "y"], [69853, 0, " "], [69854, 0, "i"], [69855, 0, "m"], [69856, 0, "p"], [69857, 0, "l"], [69858, 0, "e"], [69859, 0, "m"], [69860, 0, "e"], [69861, 0, "n"], [69862, 0, "t"], [69863, 0, "a"], [69864, 0, "t"], [69865, 0, "i"], [69866, 0, "o"], [69867, 0, "n"], [69868, 0, " "], [69869, 0, "o"], [69870, 0, "f"], [69871, 0, " "], [69872, 0, "O"], [69873, 0, "T"], [69874, 0, " "], [69875, 0, "o"], [69876, 0, "f"], [69877, 0, " "], [69878, 0, "w"], [69879, 0, "h"], [69880, 0, "i"], [69881, 0, "c"], [69882, 0, "h"], [69883, 0, " "], [69884, 0, "w"], [69885, 0, "e"], [69886, 0, " "], [69887, 0, "a"], [69888, 0, "w"], [69889, 0, "a"], [69890, 0, "r"], [69891, 0, "e"], [69892, 0, " "], [69893, 0, "t"], [69894, 0, "h"], [69895, 0, "a"], [69896, 0, "t"], [69897, 0, " "], [69898, 0, "s"], [69899, 0, "u"], [69900, 0, "p"], [69901, 0, "p"], [69902, 0, "o"], [69903, 0, "r"], [69904, 0, "t"], [69905, 0, "s"], [69906, 0, " "], [69907, 0, "a"], [69908, 0, "r"], [69909, 0, "b"], [69910, 0, "i"], [69911, 0, "t"], [69912, 0, "r"], [69913, 0, "a"], [69914, 0, "r"], [69915, 0, "y"], [69916, 0, " "], [69917, 0, "n"], [69918, 0, "e"], [69919, 0, "s"], [69920, 0, "t"], [69921, 0, "i"], [69922, 0, "n"], [69923, 0, "g"], [69924, 0, " "], [69925, 0, "o"], [69926, 0, "f"], [69927, 0, " "], [69928, 0, "l"], [69929, 0, "i"], [69930, 0, "s"], [69931, 0, "t"], [69932, 0, "s"], [69933, 0, " "], [69934, 0, "a"], [69935, 0, "n"], [69936, 0, "d"], [69937, 0, " "], [69938, 0, "m"], [69939, 0, "a"], [69940, 0, "p"], [69941, 0, "s"], [69942, 0, "."], [69943, 0, " "], [69944, 0, "H"], [69945, 0, "o"], [69946, 0, "w"], [69947, 0, "e"], [69948, 0, "v"], [69949, 0, "e"], [69950, 0, "r"], [69951, 0, ","], [69952, 0, " "], [69953, 0, "i"], [69954, 0, "t"], [69955, 0, " "], [69956, 0, "i"], [69957, 0, "s"], [69958, 0, " "], [69958, 1], [69957, 1], [69956, 1], [69956, 0, "a"], [69957, 0, "l"], [69958, 0, "s"], [69959, 0, "o"], [69960, 0, " "], [69960, 1], [69959, 1], [69958, 1], [69957, 1], [69956, 1], [69955, 1], [69954, 1], [69953, 1], [69952, 1], [69951, 1], [69950, 1], [69949, 1], [69948, 1], [69947, 1], [69946, 1], [69945, 1], [69944, 1], [69944, 0, "L"], [69945, 0, "i"], [69946, 0, "k"], [69947, 0, "e"], [69948, 0, " "], [69949, 0, "G"], [69950, 0, "o"], [69951, 0, "o"], [69952, 0, "g"], [69953, 0, "l"], [69954, 0, "e"], [69955, 0, " "], [69956, 0, "D"], [69957, 0, "o"], [69958, 0, "c"], [69959, 0, "s"], [69960, 0, ","], [69961, 0, " "], [69962, 0, "i"], [69963, 0, "t"], [69964, 0, " "], [69965, 0, "a"], [69966, 0, "p"], [69967, 0, "p"], [69968, 0, "e"], [69969, 0, "a"], [69970, 0, "r"], [69971, 0, "s"], [69972, 0, " "], [69973, 0, "t"], [69974, 0, "o"], [69975, 0, " "], [68641, 0, "~"], [68642, 0, "\\"], [68643, 0, "c"], [68644, 0, "i"], [68645, 0, "t"], [68646, 0, "e"], [68647, 0, "{"], [68648, 0, "L"], [68649, 0, "e"], [68650, 0, "m"], [68651, 0, "o"], [68652, 0, "n"], [68653, 0, "i"], [68654, 0, "k"], [68655, 0, ":"], [68656, 0, "2"], [68657, 0, "0"], [68658, 0, "1"], [68659, 0, "6"], [68660, 0, "w"], [68661, 0, "h"], [68662, 0, "}"], [69997, 1], [69996, 1], [69995, 1], [69994, 1], [69993, 1], [69992, 1], [69991, 1], [69990, 1], [69989, 1], [69988, 1], [69987, 1], [69987, 0, "r"], [69988, 0, "e"], [69989, 0, "l"], [69990, 0, "i"], [69991, 0, "e"], [69992, 0, "s"], [69993, 0, " "], [69994, 0, "o"], [69995, 0, "n"], [69996, 0, " "], [69997, 0, "a"], [69998, 0, " "], [69999, 0, "s"], [70000, 0, "i"], [70001, 0, "n"], [70002, 0, "g"], [70003, 0, "l"], [70004, 0, "e"], [70005, 0, " "], [70006, 0, "s"], [70007, 0, "e"], [70008, 0, "r"], [70009, 0, "v"], [70010, 0, "e"], [70011, 0, "r"], [70012, 0, "~"], [70013, 0, "\\"], [70014, 0, "c"], [70015, 0, "i"], [70016, 0, "t"], [70017, 0, "e"], [70018, 0, "{"], [70019, 0, "L"], [70020, 0, "e"], [70021, 0, "m"], [70022, 0, "o"], [70023, 0, "n"], [70024, 0, "i"], [70025, 0, "k"], [70026, 0, ":"], [70027, 0, "2"], [70028, 0, "0"], [70029, 0, "1"], [70030, 0, "6"], [70031, 0, "w"], [70032, 0, "h"], [70033, 0, "}"], [70034, 0, "."], [70035, 0, " "], [70036, 0, "A"], [70037, 0, "s"], [70038, 0, " "], [70039, 0, "a"], [70040, 0, " "], [70041, 0, "p"], [70042, 0, "r"], [70043, 0, "o"], [70044, 0, "p"], [70045, 0, "r"], [70046, 0, "i"], [70047, 0, "e"], [70048, 0, "t"], [70049, 0, "a"], [70050, 0, "r"], [70051, 0, "y"], [70052, 0, " "], [70053, 0, "p"], [70054, 0, "r"], [70055, 0, "o"], [70056, 0, "d"], [70057, 0, "u"], [70058, 0, "c"], [70059, 0, "t"], [70060, 0, ","], [70061, 0, " "], [70062, 0, "d"], [70063, 0, "e"], [70064, 0, "t"], [70065, 0, "a"], [70066, 0, "i"], [70067, 0, "l"], [70068, 0, "s"], [70069, 0, " "], [70070, 0, "o"], [70071, 0, "f"], [70072, 0, " "], [70073, 0, "i"], [70074, 0, "t"], [70075, 0, "s"], [70076, 0, " "], [70077, 0, "a"], [70078, 0, "l"], [70079, 0, "g"], [70080, 0, "o"], [70081, 0, "r"], [70082, 0, "i"], [70083, 0, "t"], [70084, 0, "h"], [70085, 0, "m"], [70086, 0, "s"], [70087, 0, " "], [70088, 0, "h"], [70089, 0, "a"], [70090, 0, "v"], [70091, 0, "e"], [70092, 0, " "], [70093, 0, "n"], [70094, 0, "o"], [70095, 0, "t"], [70096, 0, " "], [70097, 0, "b"], [70098, 0, "e"], [70099, 0, "e"], [70100, 0, "n"], [70101, 0, " "], [70102, 0, "p"], [70103, 0, "u"], [70104, 0, "b"], [70105, 0, "l"], [70106, 0, "s"], [70107, 0, "i"], [70107, 1], [70106, 1], [70106, 0, "i"], [70107, 0, "s"], [70108, 0, "h"], [70109, 0, "e"], [70110, 0, "d"], [70111, 0, "."], [70132, 0, "\n"], [70133, 0, "\n"], [70134, 0, "C"], [70135, 0, "R"], [70136, 0, "D"], [70137, 0, "T"], [70138, 0, "s"], [70139, 0, " "], [70140, 0, "f"], [70141, 0, "o"], [70142, 0, "r"], [70143, 0, " "], [70144, 0, "r"], [70145, 0, "e"], [70146, 0, "g"], [70147, 0, "i"], [70148, 0, "s"], [70149, 0, "t"], [70150, 0, "e"], [70151, 0, "r"], [70152, 0, "s"], [70153, 0, ","], [70154, 0, " "], [70155, 0, "m"], [70155, 1], [70155, 0, "c"], [70156, 0, "o"], [70157, 0, "u"], [70158, 0, "n"], [70159, 0, "t"], [70160, 0, "e"], [70161, 0, "r"], [70162, 0, "s"], [70163, 0, ","], [70164, 0, " "], [70165, 0, "m"], [70166, 0, "a"], [70167, 0, "p"], [70168, 0, "s"], [70169, 0, " "], [70170, 0, "a"], [70171, 0, "n"], [70172, 0, "d"], [70173, 0, " "], [70174, 0, "s"], [70175, 0, "e"], [70176, 0, "t"], [70177, 0, "s"], [70178, 0, " "], [70179, 0, "a"], [70180, 0, "r"], [70181, 0, "e"], [70182, 0, " "], [70183, 0, "w"], [70184, 0, "i"], [70185, 0, "d"], [70186, 0, "e"], [70187, 0, "l"], [70188, 0, "y"], [70189, 0, " "], [70190, 0, "k"], [70191, 0, "n"], [70192, 0, "o"], [70193, 0, "w"], [70194, 0, "n"], [70195, 0, ","], [70196, 0, " "], [70197, 0, "a"], [70198, 0, "n"], [70199, 0, "d"], [70200, 0, " "], [70201, 0, "t"], [70202, 0, "h"], [70203, 0, "e"], [70204, 0, "y"], [70205, 0, " "], [70206, 0, "a"], [70207, 0, "r"], [70208, 0, "e"], [70209, 0, " "], [70210, 0, "q"], [70211, 0, "u"], [70212, 0, "i"], [70213, 0, "t"], [70214, 0, "e"], [70215, 0, " "], [70215, 1], [70214, 1], [70213, 1], [70212, 1], [70211, 1], [70210, 1], [70209, 1], [70208, 1], [70207, 1], [70206, 1], [70205, 1], [70204, 1], [70203, 1], [70202, 1], [70201, 1], [70200, 1], [70199, 1], [70198, 1], [70197, 1], [70196, 1], [70195, 1], [70195, 0, "~"], [70196, 0, "\\"], [70197, 0, "c"], [70198, 0, "i"], [70199, 0, "t"], [70200, 0, "e"], [70201, 0, "{"], [70202, 0, "S"], [70203, 0, "h"], [70204, 0, "a"], [70205, 0, "p"], [70206, 0, "i"], [70207, 0, "r"], [70208, 0, "o"], [70209, 0, ":"], [70210, 0, "2"], [70211, 0, "0"], [70212, 0, "1"], [70213, 0, "1"], [70214, 0, "w"], [70215, 0, "y"], [70216, 0, "}"], [70217, 0, ","], [70218, 0, " "], [70219, 0, "a"], [70220, 0, "n"], [70221, 0, "d"], [70222, 0, " "], [70223, 0, "h"], [70224, 0, "a"], [70225, 0, "v"], [70226, 0, "e"], [70227, 0, " "], [70228, 0, "b"], [70229, 0, "e"], [70230, 0, "e"], [70231, 0, "n"], [70232, 0, " "], [70233, 0, "i"], [70234, 0, "m"], [70235, 0, "p"], [70236, 0, "l"], [70237, 0, "e"], [70238, 0, "m"], [70239, 0, "e"], [70240, 0, "n"], [70241, 0, "t"], [70242, 0, "e"], [70243, 0, "d"], [70244, 0, " "], [70245, 0, "i"], [70246, 0, "n"], [70247, 0, " "], [70248, 0, "v"], [70249, 0, "a"], [70250, 0, "r"], [70251, 0, "i"], [70252, 0, "o"], [70253, 0, "u"], [70254, 0, "s"], [70255, 0, " "], [70256, 0, "d"], [70257, 0, "e"], [70258, 0, "p"], [70259, 0, "l"], [70260, 0, "o"], [70261, 0, "y"], [70262, 0, "e"], [70263, 0, "d"], [70264, 0, " "], [70265, 0, "s"], [70266, 0, "y"], [70267, 0, "s"], [70268, 0, "t"], [70269, 0, "e"], [70270, 0, "m"], [70271, 0, "s"], [70272, 0, " "], [70273, 0, "s"], [70274, 0, "u"], [70275, 0, "c"], [70276, 0, "h"], [70277, 0, " "], [70278, 0, "a"], [70279, 0, "s"], [70280, 0, " "], [70281, 0, "R"], [70282, 0, "i"], [70283, 0, "a"], [70284, 0, "k"], [70285, 0, "."], [70286, 0, " "], [70287, 0, "F"], [70288, 0, "o"], [70289, 0, "r"], [70290, 0, " "], [70291, 0, "o"], [70292, 0, "r"], [70293, 0, "d"], [70294, 0, "e"], [70295, 0, "r"], [70296, 0, "e"], [70297, 0, "d"], [70298, 0, " "], [70299, 0, "l"], [70300, 0, "i"], [70301, 0, "s"], [70302, 0, "t"], [70303, 0, "s"], [70304, 0, ","], [70305, 0, " "], [70306, 0, "v"], [70307, 0, "a"], [70308, 0, "r"], [70309, 0, "i"], [70310, 0, "o"], [70311, 0, "u"], [70312, 0, "s"], [70313, 0, " "], [70314, 0, "a"], [70315, 0, "l"], [70316, 0, "g"], [70317, 0, "o"], [70318, 0, "r"], [70319, 0, "i"], [70320, 0, "t"], [70321, 0, "h"], [70322, 0, "m"], [70323, 0, "s"], [70324, 0, " "], [70325, 0, "h"], [70326, 0, "a"], [70327, 0, "v"], [70328, 0, "e"], [70329, 0, " "], [70330, 0, "b"], [70331, 0, "e"], [70332, 0, "e"], [70333, 0, "n"], [70334, 0, " "], [70335, 0, "p"], [70336, 0, "r"], [70337, 0, "o"], [70338, 0, "p"], [70339, 0, "o"], [70340, 0, "s"], [70341, 0, "e"], [70342, 0, "d"], [70343, 0, ","], [70344, 0, " "], [70345, 0, "i"], [70346, 0, "n"], [70347, 0, "c"], [70348, 0, "l"], [70349, 0, "u"], [70350, 0, "d"], [70351, 0, "i"], [70352, 0, "n"], [70353, 0, "g"], [70354, 0, " "], [70355, 0, "W"], [70356, 0, "O"], [70357, 0, "O"], [70358, 0, "T"], [70359, 0, "~"], [70360, 0, "\\"], [70361, 0, "c"], [70362, 0, "i"], [70363, 0, "t"], [70364, 0, "e"], [70365, 0, "{"], [70366, 0, "o"], [70366, 1], [70366, 0, "O"], [70367, 0, "s"], [70368, 0, "t"], [70369, 0, "e"], [70370, 0, "r"], [70371, 0, ":"], [70372, 0, "2"], [70373, 0, "0"], [70374, 0, "0"], [70375, 0, "6"], [70376, 0, "w"], [70377, 0, "j"], [70378, 0, "}"], [70379, 0, ","], [70380, 0, " "], [70381, 0, "R"], [70382, 0, "G"], [70383, 0, "A"], [70384, 0, "~"], [70385, 0, "\\"], [70386, 0, "c"], [70387, 0, "i"], [70388, 0, "t"], [70389, 0, "e"], [70390, 0, "{"], [70391, 0, "R"], [70392, 0, "o"], [70393, 0, "h"], [70394, 0, ":"], [70395, 0, "2"], [70396, 0, "0"], [70397, 0, "1"], [70398, 0, "1"], [70399, 0, "d"], [70400, 0, "w"], [70401, 0, "}"], [70402, 0, ","], [70403, 0, " "], [70404, 0, "L"], [70405, 0, "o"], [70406, 0, "g"], [70407, 0, "o"], [70408, 0, "o"], [70409, 0, "t"], [70409, 1], [70408, 1], [70407, 1], [70406, 1], [70405, 1], [70404, 1], [70404, 0, "T"], [70405, 0, "r"], [70406, 0, "e"], [70407, 0, "e"], [70408, 0, "d"], [70409, 0, "o"], [70410, 0, "c"], [70411, 0, "~"], [70412, 0, "\\"], [70413, 0, "c"], [70414, 0, "i"], [70415, 0, "t"], [70416, 0, "e"], [70417, 0, "{"], [70418, 0, "P"], [70419, 0, "r"], [70420, 0, "e"], [70421, 0, "g"], [70422, 0, "u"], [70423, 0, "i"], [70424, 0, "c"], [70425, 0, "a"], [70426, 0, ":"], [70427, 0, "2"], [70428, 0, "0"], [70429, 0, "0"], [70430, 0, "9"], [70431, 0, "f"], [70432, 0, "z"], [70433, 0, "}"], [70434, 0, ","], [70435, 0, " "], [70436, 0, "L"], [70437, 0, "o"], [70438, 0, "g"], [70439, 0, "o"], [70440, 0, "o"], [70441, 0, "t"], [70442, 0, "~"], [70443, 0, "\\"], [70444, 0, "c"], [70445, 0, "i"], [70446, 0, "t"], [70447, 0, "e"], [70448, 0, "{"], [70449, 0, "W"], [70450, 0, "e"], [70451, 0, "i"], [70452, 0, "s"], [70453, 0, "s"], [70454, 0, ":"], [70455, 0, "2"], [70456, 0, "0"], [70457, 0, "1"], [70458, 0, "0"], [70459, 0, "h"], [70460, 0, "x"], [70461, 0, "}"], [70462, 0, " "], [70463, 0, "a"], [70464, 0, "n"], [70465, 0, "d"], [70466, 0, " "], [70467, 0, "L"], [70468, 0, "S"], [70469, 0, "E"], [70470, 0, "Q"], [70471, 0, "~"], [70472, 0, "\\"], [70473, 0, "c"], [70474, 0, "i"], [70475, 0, "t"], [70476, 0, "e"], [70477, 0, "{"], [70478, 0, "N"], [70479, 0, "e"], [70480, 0, "d"], [70481, 0, "e"], [70482, 0, "l"], [70483, 0, "e"], [70484, 0, "c"], [70485, 0, ":"], [70486, 0, "2"], [70487, 0, "0"], [70488, 0, "1"], [70489, 0, "3"], [70490, 0, "k"], [70491, 0, "y"], [70492, 0, "}"], [70493, 0, "."], [70494, 0, " "], [70495, 0, "H"], [70496, 0, "o"], [70497, 0, "w"], [70498, 0, "e"], [70499, 0, "v"], [70500, 0, "e"], [70501, 0, "r"], [70502, 0, ","], [70503, 0, " "], [70504, 0, "n"], [70505, 0, "o"], [70506, 0, "n"], [70507, 0, "e"], [70508, 0, " "], [70509, 0, "o"], [70510, 0, "f"], [70511, 0, " "], [70512, 0, "t"], [70513, 0, "h"], [70514, 0, "e"], [70515, 0, "m"], [70516, 0, " "], [70517, 0, "s"], [70518, 0, "u"], [70519, 0, "p"], [70520, 0, "p"], [70521, 0, "o"], [70522, 0, "r"], [70523, 0, "t"], [70524, 0, " "], [70525, 0, "n"], [70526, 0, "e"], [70527, 0, "s"], [70528, 0, "t"], [70529, 0, "i"], [70530, 0, "n"], [70531, 0, "g"], [70532, 0, ":"], [70533, 0, " "], [70534, 0, "t"], [70535, 0, "h"], [70536, 0, "e"], [70537, 0, " "], [70538, 0, "e"], [70539, 0, "l"], [70540, 0, "e"], [70541, 0, "m"], [70542, 0, "e"], [70543, 0, "n"], [70544, 0, "t"], [70545, 0, "s"], [70546, 0, " "], [70537, 0, "y"], [70538, 0, " "], [70539, 0, "a"], [70540, 0, "s"], [70541, 0, "s"], [70542, 0, "u"], [70543, 0, "m"], [70544, 0, "e"], [70545, 0, " "], [70546, 0, "t"], [70547, 0, "h"], [70548, 0, "a"], [70549, 0, "t"], [70550, 0, " "], [70551, 0, "t"], [70552, 0, "h"], [70553, 0, "e"], [70564, 0, "o"], [70565, 0, "f"], [70566, 0, " "], [70567, 0, "t"], [70568, 0, "h"], [70569, 0, "e"], [70570, 0, " "], [70571, 0, "C"], [70572, 0, "R"], [70573, 0, "D"], [70574, 0, "T"], [70575, 0, " "], [70576, 0, "m"], [70577, 0, "a"], [70578, 0, "p"], [70579, 0, " "], [70580, 0, "o"], [70581, 0, "r"], [70582, 0, " "], [70583, 0, "l"], [70584, 0, "i"], [70585, 0, "s"], [70586, 0, "t"], [70587, 0, " "], [70588, 0, "a"], [70589, 0, "r"], [70590, 0, "e"], [70591, 0, " "], [70592, 0, "a"], [70593, 0, "t"], [70594, 0, "o"], [70595, 0, "m"], [70596, 0, "i"], [70597, 0, "c"], [70598, 0, " "], [70599, 0, "v"], [70600, 0, "a"], [70601, 0, "l"], [70602, 0, "u"], [70603, 0, "e"], [70604, 0, "s"], [70598, 0, ","], [70599, 0, " "], [70600, 0, "i"], [70601, 0, "m"], [70602, 0, "m"], [70603, 0, "u"], [70604, 0, "t"], [70605, 0, "a"], [70606, 0, "b"], [70607, 0, "l"], [70608, 0, "e"], [70608, 1], [70607, 1], [70606, 1], [70605, 1], [70604, 1], [70603, 1], [70602, 1], [70601, 1], [70600, 1], [70599, 1], [70598, 1], [70605, 0, "."], [70605, 0, ","], [70606, 0, " "], [70607, 0, "n"], [70608, 0, "o"], [70609, 0, "t"], [70610, 0, " "], [70611, 0, "a"], [70612, 0, "n"], [70613, 0, "o"], [70614, 0, "t"], [70615, 0, "h"], [70616, 0, "e"], [70617, 0, "r"], [70618, 0, " "], [70619, 0, "C"], [70620, 0, "R"], [70621, 0, "D"], [70622, 0, "T"], [70624, 0, "\n"], [70625, 0, "\n"], [70626, 0, "T"], [70627, 0, "h"], [70628, 0, "e"], [70629, 0, " "], [70630, 0, "p"], [70631, 0, "r"], [70632, 0, "o"], [70633, 0, "b"], [70634, 0, "l"], [70635, 0, "e"], [70636, 0, "m"], [70637, 0, " "], [70638, 0, "o"], [70639, 0, "f"], [70640, 0, " "], [70641, 0, "n"], [70642, 0, "e"], [70643, 0, "s"], [70644, 0, "t"], [70645, 0, "i"], [70646, 0, "n"], [70647, 0, "g"], [70648, 0, " "], [70649, 0, "o"], [70650, 0, "n"], [70651, 0, "e"], [70652, 0, " "], [70653, 0, "C"], [70654, 0, "R"], [70655, 0, "D"], [70656, 0, "T"], [70657, 0, " "], [70658, 0, "i"], [70659, 0, "n"], [70660, 0, "s"], [70661, 0, "i"], [70662, 0, "d"], [70663, 0, "e"], [70664, 0, " "], [70665, 0, "a"], [70666, 0, "n"], [70667, 0, "o"], [70668, 0, "t"], [70669, 0, "h"], [70670, 0, "e"], [70671, 0, "r"], [70672, 0, " "], [70673, 0, "("], [70674, 0, "a"], [70675, 0, "l"], [70676, 0, "s"], [70677, 0, "o"], [70678, 0, " "], [70679, 0, "k"], [70680, 0, "n"], [70681, 0, "o"], [70682, 0, "w"], [70683, 0, "n"], [70684, 0, " "], [70685, 0, "a"], [70686, 0, "s"], [70687, 0, " "], [70688, 0, "\\"], [70689, 0, "e"], [70690, 0, "m"], [70691, 0, "p"], [70692, 0, "h"], [70693, 0, "{"], [70694, 0, "e"], [70695, 0, "m"], [70696, 0, "b"], [70697, 0, "e"], [70698, 0, "d"], [70699, 0, "d"], [70700, 0, "i"], [70701, 0, "n"], [70702, 0, "g"], [70703, 0, "}"], [70704, 0, ")"], [70705, 0, " "], [70706, 0, "h"], [70707, 0, "a"], [70708, 0, "s"], [70709, 0, " "], [70710, 0, "o"], [70711, 0, "n"], [70712, 0, "l"], [70713, 0, "y"], [70714, 0, " "], [70715, 0, "b"], [70716, 0, "e"], [70717, 0, "e"], [70718, 0, "n"], [70719, 0, " "], [70720, 0, "s"], [70721, 0, "t"], [70722, 0, "u"], [70723, 0, "d"], [70724, 0, "i"], [70725, 0, "e"], [70726, 0, "d"], [70727, 0, " "], [70728, 0, "m"], [70729, 0, "o"], [70730, 0, "r"], [70731, 0, "e"], [70732, 0, " "], [70733, 0, "r"], [70734, 0, "e"], [70735, 0, "c"], [70736, 0, "e"], [70737, 0, "n"], [70738, 0, "t"], [70739, 0, "l"], [70740, 0, "y"], [70741, 0, "."], [70202, 0, "S"], [70203, 0, "h"], [70204, 0, "a"], [70205, 0, "p"], [70206, 0, "i"], [70207, 0, "r"], [70208, 0, "o"], [70209, 0, ":"], [70210, 0, "2"], [70211, 0, "0"], [70212, 0, "1"], [70213, 0, "1"], [70214, 0, "u"], [70215, 0, "n"], [70216, 0, ","], [70300, 0, "~"], [70301, 0, "\\"], [70302, 0, "c"], [70303, 0, "i"], [70304, 0, "t"], [70305, 0, "e"], [70306, 0, "{"], [70307, 0, "B"], [70308, 0, "r"], [70309, 0, "o"], [70310, 0, "w"], [70311, 0, "n"], [70312, 0, ":"], [70313, 0, "2"], [70314, 0, "0"], [70315, 0, "1"], [70316, 0, "4"], [70317, 0, "h"], [70318, 0, "s"], [70319, 0, "}"], [70778, 0, "\n"], [70779, 0, "\n"], [70779, 0, "\\"], [70780, 0, "s"], [70781, 0, "u"], [70782, 0, "b"], [70783, 0, "s"], [70784, 0, "e"], [70785, 0, "c"], [70786, 0, "t"], [70787, 0, "i"], [70788, 0, "o"], [70789, 0, "n"], [70790, 0, "{"], [70791, 0, "O"], [70792, 0, "t"], [70793, 0, "h"], [70794, 0, "e"], [70795, 0, "r"], [70796, 0, " "], [70797, 0, "a"], [70798, 0, "p"], [70799, 0, "p"], [70800, 0, "r"], [70801, 0, "o"], [70802, 0, "a"], [70803, 0, "c"], [70804, 0, "h"], [70805, 0, "e"], [70806, 0, "s"], [70807, 0, "}"], [70808, 0, "\n"], [70809, 0, "\n"], [70810, 0, "M"], [70811, 0, "a"], [70812, 0, "n"], [70813, 0, "y"], [70814, 0, " "], [70815, 0, "r"], [70816, 0, "e"], [70817, 0, "p"], [70818, 0, "l"], [70819, 0, "i"], [70820, 0, "c"], [70821, 0, "a"], [70822, 0, "t"], [70823, 0, "e"], [70824, 0, "d"], [70825, 0, " "], [70826, 0, "d"], [70827, 0, "a"], [70828, 0, "t"], [70829, 0, "a"], [70830, 0, " "], [70831, 0, "s"], [70832, 0, "y"], [70833, 0, "s"], [70834, 0, "t"], [70835, 0, "e"], [70836, 0, "m"], [70837, 0, "s"], [70838, 0, " "], [70839, 0, "n"], [70840, 0, "e"], [70841, 0, "e"], [70842, 0, "d"], [70843, 0, " "], [70844, 0, "t"], [70845, 0, "o"], [70846, 0, " "], [70847, 0, "d"], [70848, 0, "e"], [70849, 0, "a"], [70850, 0, "l"], [70851, 0, " "], [70852, 0, "w"], [70853, 0, "i"], [70854, 0, "t"], [70855, 0, "h"], [70856, 0, " "], [70857, 0, "t"], [70858, 0, "h"], [70859, 0, "e"], [70860, 0, " "], [70861, 0, "p"], [70862, 0, "r"], [70863, 0, "o"], [70864, 0, "b"], [70865, 0, "l"], [70866, 0, "e"], [70867, 0, "m"], [70868, 0, " "], [70869, 0, "o"], [70870, 0, "f"], [70871, 0, " "], [70872, 0, "c"], [70873, 0, "o"], [70874, 0, "n"], [70875, 0, "c"], [70876, 0, "u"], [70877, 0, "r"], [70878, 0, "r"], [70879, 0, "e"], [70880, 0, "n"], [70881, 0, "t"], [70882, 0, ","], [70883, 0, " "], [70884, 0, "c"], [70885, 0, "o"], [70886, 0, "n"], [70887, 0, "f"], [70888, 0, "l"], [70889, 0, "i"], [70890, 0, "c"], [70891, 0, "t"], [70892, 0, "i"], [70893, 0, "n"], [70894, 0, "g"], [70895, 0, " "], [70896, 0, "m"], [70897, 0, "o"], [70898, 0, "o"], [70899, 0, "d"], [70900, 0, "i"], [70901, 0, "f"], [70902, 0, "i"], [70903, 0, "c"], [70904, 0, "a"], [70905, 0, "t"], [70906, 0, "i"], [70907, 0, "o"], [70908, 0, "n"], [70909, 0, "s"], [70898, 1], [70909, 0, ","], [70910, 0, " "], [70911, 0, "b"], [70912, 0, "u"], [70913, 0, "t"], [70914, 0, " "], [70915, 0, "t"], [70916, 0, "h"], [70917, 0, "e"], [70918, 0, " "], [70919, 0, "s"], [70920, 0, "o"], [70921, 0, "l"], [70922, 0, "u"], [70923, 0, "t"], [70924, 0, "i"], [70925, 0, "o"], [70926, 0, "n"], [70927, 0, "s"], [70928, 0, " "], [70929, 0, "a"], [70930, 0, "r"], [70931, 0, "e"], [70932, 0, " "], [70933, 0, "o"], [70934, 0, "f"], [70935, 0, "t"], [70936, 0, "e"], [70937, 0, "n"], [70938, 0, " "], [70939, 0, "a"], [70940, 0, "d"], [70941, 0, "-"], [70942, 0, "h"], [70943, 0, "o"], [70944, 0, "c"], [70945, 0, " "], [70946, 0, "a"], [70947, 0, "n"], [70948, 0, "d"], [70949, 0, " "], [70949, 1], [70948, 1], [70947, 1], [70946, 1], [70945, 1], [70945, 0, "."], [70946, 0, " "], [70947, 0, "I"], [70948, 0, "n"], [70949, 0, " "], [70950, 0, "D"], [70951, 0, "y"], [70952, 0, "n"], [70953, 0, "a"], [70954, 0, "m"], [70955, 0, "o"], [70956, 0, "~"], [70957, 0, "\\"], [70958, 0, "c"], [70959, 0, "i"], [70960, 0, "t"], [70961, 0, "4"], [70962, 0, "e"], [70963, 0, "{"], [70963, 1], [70962, 1], [70961, 1], [70961, 0, "e"], [70962, 0, "{"], [70963, 0, "D"], [70964, 0, "e"], [70965, 0, "C"], [70966, 0, "a"], [70967, 0, "n"], [70968, 0, "d"], [70969, 0, "i"], [70970, 0, "a"], [70971, 0, ":"], [70972, 0, "2"], [70973, 0, "0"], [70974, 0, "0"], [70975, 0, "7"], [70976, 0, "u"], [70977, 0, "i"], [70978, 0, "}"], [70979, 0, " "], [70980, 0, "a"], [70981, 0, "n"], [70982, 0, "d"], [70983, 0, " "], [70984, 0, "p"], [70984, 1], [70984, 0, "l"], [70984, 1], [70984, 0, "p"], [70985, 0, "r"], [70986, 0, "o"], [70987, 0, "j"], [70988, 0, "e"], [70989, 0, "c"], [70990, 0, "t"], [70991, 0, "s"], [70992, 0, " "], [70993, 0, "i"], [70994, 0, "t"], [70995, 0, " "], [70996, 0, "i"], [70997, 0, "n"], [70998, 0, "s"], [70999, 0, "p"], [71000, 0, "i"], [71001, 0, "r"], [71002, 0, "e"], [71003, 0, "d"], [70984, 0, "r"], [70985, 0, "e"], [70986, 0, "l"], [70987, 0, "a"], [70988, 0, "t"], [70989, 0, "e"], [70990, 0, "d"], [70991, 0, " "], [71011, 1], [71010, 1], [71009, 1], [71008, 1], [71007, 1], [71006, 1], [71005, 1], [71004, 1], [71003, 1], [71002, 1], [71001, 1], [71000, 1], [71000, 0, ","], [71001, 0, " "], [71002, 0, "t"], [71003, 0, "h"], [71004, 0, "e"], [71005, 0, " "], [71006, 0, "d"], [71007, 0, "a"], [71008, 0, "t"], [71009, 0, "a"], [71010, 0, "b"], [71011, 0, "a"], [71012, 0, "s"], [71013, 0, "e"], [71014, 0, " "], [70947, 0, "F"], [70948, 0, "o"], [70949, 0, "r"], [70950, 0, " "], [70951, 0, "e"], [70952, 0, "x"], [70953, 0, "a"], [70954, 0, "m"], [70955, 0, "p"], [70956, 0, "l"], [70957, 0, "e"], [70958, 0, ","], [70959, 0, " "], [70960, 1], [70960, 0, "i"], [70992, 1], [70992, 1], [70992, 1], [70992, 1], [70992, 1], [70992, 1], [70992, 1], [70992, 1], [70992, 1], [70992, 1], [70992, 1], [70992, 1], [70992, 1], [70992, 1], [70992, 1], [70992, 1], [70992, 1], [70992, 1], [70992, 1], [70992, 1], [70992, 1], [71006, 1], [71005, 1], [71004, 1], [71003, 1], [71002, 1], [71001, 1], [71000, 1], [70999, 1], [70998, 1], [70997, 1], [70996, 1], [70995, 1], [70994, 1], [70994, 0, "c"], [70995, 0, "o"], [70996, 0, "n"], [70997, 0, "c"], [70998, 0, "u"], [70998, 1], [70997, 1], [70996, 1], [70995, 1], [70994, 1], [70994, 0, "i"], [70995, 0, "f"], [70996, 0, " "], [70997, 0, "s"], [70998, 0, "e"], [70999, 0, "v"], [71000, 0, "e"], [71001, 0, "r"], [71002, 0, "a"], [71003, 0, "l"], [71004, 0, " "], [71005, 0, "v"], [71006, 0, "a"], [71007, 0, "l"], [71008, 0, "u"], [71009, 0, "e"], [71010, 0, "s"], [71011, 0, " "], [71012, 0, "a"], [71013, 0, "r"], [71014, 0, "e"], [71015, 0, " "], [71016, 0, "c"], [71017, 0, "o"], [71018, 0, "n"], [71019, 0, "c"], [71020, 0, "u"], [71021, 0, "r"], [71022, 0, "r"], [71023, 0, "e"], [71024, 0, "n"], [71025, 0, "t"], [71026, 0, "l"], [71027, 0, "y"], [71028, 0, " "], [71029, 0, "w"], [71030, 0, "r"], [71031, 0, "i"], [71032, 0, "t"], [71033, 0, "t"], [71034, 0, "e"], [71035, 0, "n"], [71036, 0, " "], [71037, 0, "t"], [71038, 0, "o"], [71039, 0, " "], [71040, 0, "t"], [71041, 0, "h"], [71042, 0, "e"], [71043, 0, " "], [71044, 0, "s"], [71045, 0, "a"], [71046, 0, "m"], [71047, 0, "e"], [71048, 0, " "], [71049, 0, "k"], [71050, 0, "e"], [71051, 0, "y"], [71052, 0, ","], [71053, 0, " "], [71054, 0, "t"], [71055, 0, "h"], [71056, 0, "e"], [71057, 0, " "], [71058, 0, "d"], [71059, 0, "a"], [71060, 0, "t"], [71061, 0, "a"], [71062, 0, "b"], [71063, 0, "a"], [71064, 0, "s"], [71065, 0, "e"], [71066, 0, " "], [71067, 0, "p"], [71068, 0, "r"], [71069, 0, "e"], [71070, 0, "s"], [71071, 0, "e"], [71072, 0, "r"], [71073, 0, "v"], [71074, 0, "e"], [71075, 0, "s"], [71076, 0, " "], [71077, 0, "t"], [71078, 0, "h"], [71079, 0, "o"], [71080, 0, "s"], [71081, 0, "e"], [71082, 0, " "], [71083, 0, "v"], [71084, 0, "a"], [71085, 0, "l"], [71086, 0, "u"], [71087, 0, "e"], [71088, 0, "s"], [71089, 0, " "], [71090, 0, "a"], [71091, 0, "n"], [71092, 0, "d"], [71093, 0, " "], [71094, 0, "p"], [71095, 0, "r"], [71096, 0, "e"], [71097, 0, "s"], [71098, 0, "e"], [71099, 0, "n"], [71100, 0, "t"], [71101, 0, "s"], [71102, 0, " "], [71079, 1], [71079, 0, "e"], [71077, 0, "a"], [71078, 0, "l"], [71079, 0, "l"], [71080, 0, " "], [71081, 0, "o"], [71082, 0, "f"], [71083, 0, " "], [71109, 1], [71108, 1], [71107, 1], [71106, 1], [71105, 1], [71104, 1], [71103, 1], [71102, 1], [71101, 1], [71101, 0, "r"], [71102, 0, "e"], [71103, 0, "q"], [71104, 0, "u"], [71105, 0, "i"], [71106, 0, "r"], [71107, 0, "e"], [71108, 0, "s"], [71109, 0, " "], [71110, 0, "a"], [71111, 0, "p"], [71112, 0, "p"], [71113, 0, "l"], [71114, 0, "i"], [71115, 0, "c"], [71116, 0, "a"], [71117, 0, "t"], [71118, 0, "i"], [71119, 0, "o"], [71120, 0, "n"], [71121, 0, " "], [71122, 0, "c"], [71123, 0, "o"], [71124, 0, "d"], [71125, 0, "e"], [71126, 0, " "], [71127, 0, "t"], [71128, 0, "o"], [71129, 0, " "], [71130, 0, "r"], [71131, 0, "e"], [71132, 0, "s"], [71133, 0, "o"], [71134, 0, "l"], [71135, 0, "v"], [71136, 0, "e"], [71137, 0, " "], [71138, 0, "t"], [71139, 0, "h"], [71140, 0, "e"], [71141, 0, " "], [71142, 0, "c"], [71143, 0, "o"], [71144, 0, "n"], [71145, 0, "f"], [71146, 0, "l"], [71147, 0, "i"], [71148, 0, "c"], [71149, 0, "t"], [71150, 0, "."], [71096, 0, ","], [71101, 0, " "], [71102, 0, "l"], [71103, 0, "e"], [71104, 0, "a"], [71105, 0, "v"], [71106, 0, "e"], [71107, 0, "s"], [71108, 0, " "], [71109, 0, "c"], [71110, 0, "o"], [71111, 0, "n"], [71112, 0, "f"], [71113, 0, "l"], [71114, 0, "i"], [71115, 0, "c"], [71116, 0, "t"], [71117, 0, " "], [71118, 0, "r"], [71119, 0, "e"], [71120, 0, "s"], [71121, 0, "o"], [71122, 0, "l"], [71123, 0, "u"], [71124, 0, "t"], [71125, 0, "i"], [71126, 0, "o"], [71127, 0, "n"], [71128, 0, " "], [71129, 0, "t"], [71130, 0, "o"], [71131, 1], [71131, 1], [71131, 1], [71131, 1], [71131, 1], [71131, 1], [71131, 1], [71131, 1], [71131, 1], [71171, 1], [71170, 1], [71169, 1], [71168, 1], [71167, 1], [71166, 1], [71165, 1], [71164, 1], [71163, 1], [71162, 1], [71161, 1], [71160, 1], [71159, 1], [71158, 1], [71157, 1], [71156, 1], [71155, 1], [71154, 1], [71153, 1], [71152, 1], [71151, 1], [71150, 1], [71149, 1], [71148, 1], [71149, 0, " "], [71150, 0, "S"], [71151, 0, "i"], [71152, 0, "m"], [71153, 0, "p"], [71153, 1], [71152, 1], [71151, 1], [71150, 1], [71150, 0, "N"], [71151, 0, "a"], [71152, 0, "i"], [71153, 0, "v"], [71154, 0, "e"], [71155, 0, "l"], [71156, 0, "y"], [71157, 0, " "], [71158, 0, "c"], [71159, 0, "h"], [71160, 0, "o"], [71161, 0, "s"], [71162, 0, "e"], [71163, 0, "n"], [71164, 0, " "], [71165, 0, "m"], [71166, 0, "e"], [71167, 0, "r"], [71168, 0, "g"], [71169, 0, "e"], [71170, 0, " "], [71171, 0, "f"], [71172, 0, "u"], [71173, 0, "n"], [71174, 0, "c"], [71175, 0, "t"], [71176, 0, "i"], [71177, 0, "o"], [71178, 0, "n"], [71179, 0, "s"], [71180, 0, " "], [71181, 0, "o"], [71182, 0, "f"], [71183, 0, "t"], [71184, 0, "e"], [71185, 0, "n"], [71186, 0, " "], [71187, 0, "e"], [71188, 0, "x"], [71189, 0, "h"], [71190, 0, "i"], [71191, 0, "b"], [71192, 0, "i"], [71193, 0, "t"], [71194, 0, " "], [71195, 0, "a"], [71196, 0, "n"], [71197, 0, "o"], [71198, 0, "m"], [71199, 0, "a"], [71200, 0, "l"], [71201, 0, "i"], [71202, 0, "e"], [71203, 0, "s"], [71204, 0, ","], [71205, 0, " "], [71206, 0, "s"], [71207, 0, "u"], [71208, 0, "c"], [71209, 0, "h"], [71210, 0, " "], [71211, 0, "a"], [71212, 0, "s"], [71213, 0, " "], [71214, 0, "d"], [71215, 0, "e"], [71216, 0, "l"], [71217, 0, "e"], [71218, 0, "t"], [71219, 0, "e"], [71220, 0, "d"], [71221, 0, " "], [71222, 0, "i"], [71223, 0, "t"], [71224, 0, "e"], [71225, 0, "m"], [71226, 0, "s"], [71227, 0, " "], [71228, 0, "r"], [71229, 0, "e"], [71230, 0, "a"], [71231, 0, "p"], [71232, 0, "p"], [71233, 0, "e"], [71234, 0, "a"], [71235, 0, "r"], [71236, 0, "i"], [71237, 0, "n"], [71238, 0, "g"], [71239, 0, "~"], [71240, 0, "\\"], [71241, 0, "c"], [71242, 0, "i"], [71243, 0, "t"], [71244, 0, "e"], [71245, 0, "{"], [71246, 0, "D"], [71247, 0, "e"], [71248, 0, "C"], [71249, 0, "a"], [71250, 0, "n"], [71251, 0, "d"], [71252, 0, "i"], [71253, 0, "a"], [71254, 0, ":"], [71255, 0, "2"], [71256, 0, "0"], [71257, 0, "0"], [71258, 0, "7"], [71259, 0, "u"], [71260, 0, "i"], [71261, 0, "}"], [71262, 0, "."], [71263, 0, "\n"], [71264, 0, "\n"], [71265, 0, "A"], [71266, 0, "n"], [71267, 0, "o"], [71268, 0, "t"], [71269, 0, "h"], [71270, 0, "e"], [71271, 0, "r"], [71272, 0, " "], [71273, 0, "f"], [71274, 0, "r"], [71275, 0, "e"], [71276, 0, "q"], [71277, 0, "u"], [71278, 0, "e"], [71279, 0, "n"], [71280, 0, "t"], [71281, 0, "l"], [71282, 0, "y"], [71283, 0, "-"], [71284, 0, "u"], [71285, 0, "s"], [71286, 0, "e"], [71287, 0, "d"], [71288, 0, " "], [71289, 0, "a"], [71290, 0, "p"], [71291, 0, "p"], [71292, 0, "r"], [71293, 0, "o"], [71294, 0, "a"], [71295, 0, "c"], [71296, 0, "h"], [71297, 0, " "], [71298, 0, "t"], [71299, 0, "o"], [71300, 0, " "], [71301, 0, "c"], [71302, 0, "o"], [71303, 0, "n"], [71304, 0, "f"], [71305, 0, "l"], [71306, 0, "i"], [71307, 0, "c"], [71308, 0, "t"], [71309, 0, " "], [71310, 0, "r"], [71311, 0, "e"], [71312, 0, "s"], [71313, 0, "o"], [71314, 0, "l"], [71315, 0, "u"], [71316, 0, "t"], [71317, 0, "i"], [71318, 0, "o"], [71319, 0, "n"], [71320, 0, " "], [71321, 0, "i"], [71322, 0, "s"], [71323, 0, " "], [71324, 0, "\\"], [71325, 0, "e"], [71326, 0, "m"], [71327, 0, "p"], [71328, 0, "h"], [71329, 0, "{"], [71330, 0, "l"], [71331, 0, "a"], [71332, 0, "s"], [71333, 0, "t"], [71334, 0, " "], [71335, 0, "w"], [71336, 0, "r"], [71337, 0, "i"], [71338, 0, "t"], [71339, 0, "e"], [71340, 0, "r"], [71341, 0, " "], [71342, 0, "w"], [71343, 0, "i"], [71344, 0, "n"], [71345, 0, "s"], [71346, 0, "}"], [71347, 0, ","], [71348, 0, " "], [71349, 0, "w"], [71350, 0, "h"], [71351, 0, "i"], [71352, 0, "c"], [71353, 0, "h"], [71354, 0, " "], [71355, 0, "a"], [71356, 0, "r"], [71357, 0, "b"], [71358, 0, "i"], [71359, 0, "t"], [71360, 0, "r"], [71361, 0, "a"], [71362, 0, "r"], [71363, 0, "i"], [71364, 0, "l"], [71365, 0, "y"], [71366, 0, " "], [71367, 0, "c"], [71368, 0, "h"], [71369, 0, "o"], [71370, 0, "o"], [71371, 0, "s"], [71372, 0, "e"], [71373, 0, "s"], [71374, 0, " "], [71375, 0, "o"], [71376, 0, "n"], [71377, 0, "e"], [71378, 0, " "], [71379, 0, "a"], [71380, 0, "m"], [71381, 0, "o"], [71382, 0, "n"], [71383, 0, "g"], [71384, 0, " "], [71385, 0, "s"], [71386, 0, "e"], [71387, 0, "v"], [71388, 0, "e"], [71389, 0, "r"], [71390, 0, "a"], [71391, 0, "l"], [71392, 0, " "], [71393, 0, "c"], [71394, 0, "o"], [71395, 0, "n"], [71396, 0, "c"], [71397, 0, "u"], [71398, 0, "r"], [71399, 0, "r"], [71400, 0, "e"], [71401, 0, "n"], [71402, 0, "t"], [71403, 0, " "], [71404, 0, "w"], [71405, 0, "r"], [71406, 0, "i"], [71407, 0, "t"], [71408, 0, "e"], [71409, 0, "s"], [71410, 0, " "], [71411, 0, "a"], [71412, 0, "s"], [71413, 0, " "], [71414, 0, "`"], [71415, 0, "`"], [71416, 0, "w"], [71417, 0, "i"], [71418, 0, "n"], [71419, 0, "n"], [71420, 0, "e"], [71421, 0, "r"], [71422, 0, "'"], [71423, 0, "'"], [71424, 0, " "], [71425, 0, "a"], [71426, 0, "n"], [71427, 0, "d"], [71428, 0, " "], [71429, 0, "d"], [71430, 0, "i"], [71431, 0, "s"], [71432, 0, "c"], [71433, 0, "a"], [71434, 0, "r"], [71435, 0, "d"], [71436, 0, "s"], [71437, 0, " "], [71438, 0, "t"], [71439, 0, "h"], [71440, 0, "e"], [71441, 0, " "], [71442, 0, "o"], [71443, 0, "t"], [71444, 0, "h"], [71445, 0, "e"], [71446, 0, "r"], [71447, 0, "s"], [71448, 0, "."], [71449, 0, " "], [71450, 0, "p"], [71450, 1], [71450, 0, "T"], [71451, 0, "h"], [71452, 0, "i"], [71453, 0, "s"], [71454, 0, " "], [71454, 1], [71453, 1], [71452, 1], [71452, 0, "e"], [71453, 0, " "], [71454, 0, "l"], [71347, 0, " "], [71348, 0, "("], [71349, 0, "L"], [71350, 0, "W"], [71351, 0, "W"], [71352, 0, ")"], [71460, 1], [71459, 1], [71458, 1], [71457, 1], [71456, 1], [71456, 0, "L"], [71457, 0, "W"], [71458, 0, "W"], [71459, 0, " "], [71460, 0, "d"], [71461, 0, "o"], [71462, 0, "e"], [71463, 0, "s"], [71464, 0, " "], [71465, 0, "n"], [71466, 0, "o"], [71467, 0, "t"], [71468, 0, " "], [71469, 0, "m"], [71470, 0, "e"], [71471, 0, "e"], [71472, 0, "t"], [71473, 0, " "], [71474, 0, "o"], [71475, 0, "u"], [71476, 0, "r"], [71477, 0, " "], [71478, 0, "r"], [71479, 0, "e"], [71480, 0, "q"], [71481, 0, "u"], [71482, 0, "i"], [71483, 0, "r"], [71484, 0, "e"], [71485, 0, "m"], [71486, 0, "e"], [71487, 0, "n"], [71488, 0, "t"], [71489, 0, "s"], [71490, 0, ","], [71491, 0, " "], [71492, 0, "s"], [71493, 0, "i"], [71494, 0, "n"], [71495, 0, "c"], [71496, 0, "e"], [71497, 0, " "], [71498, 0, "w"], [71499, 0, "e"], [71500, 0, " "], [71501, 0, "w"], [71502, 0, "a"], [71503, 0, "n"], [71504, 0, "t"], [71505, 0, " "], [71506, 0, "n"], [71507, 0, "o"], [71508, 0, " "], [71509, 0, "u"], [71510, 0, "s"], [71511, 0, "e"], [71512, 0, "r"], [71513, 0, " "], [71514, 0, "i"], [71515, 0, "n"], [71516, 0, "p"], [71517, 0, "u"], [71518, 0, "t"], [71519, 0, " "], [71520, 0, "t"], [71521, 0, "o"], [71522, 0, " "], [71523, 0, "b"], [71524, 0, "e"], [71525, 0, " "], [71526, 0, "l"], [71527, 0, "o"], [71528, 0, "s"], [71529, 0, "t"], [71530, 0, " "], [71531, 0, "d"], [71532, 0, "u"], [71533, 0, "e"], [71534, 0, " "], [71535, 0, "t"], [71536, 0, "o"], [71537, 0, " "], [71538, 0, "c"], [71539, 0, "o"], [71540, 0, "n"], [71541, 0, "c"], [71542, 0, "u"], [71543, 0, "r"], [71544, 0, "r"], [71545, 0, "e"], [71546, 0, "n"], [71547, 0, "t"], [71548, 0, " "], [71549, 0, "m"], [71550, 0, "o"], [71551, 0, "d"], [71552, 0, "i"], [71553, 0, "f"], [71554, 0, "i"], [71555, 0, "c"], [71556, 0, "a"], [71557, 0, "t"], [71558, 0, "i"], [71559, 0, "o"], [71560, 0, "n"], [71561, 0, "s"], [71562, 0, "."], [71455, 0, " "], [71456, 0, "T"], [71457, 0, "h"], [71458, 0, "i"], [71459, 0, "s"], [71460, 0, " "], [71461, 0, "a"], [71462, 0, "p"], [71463, 0, "p"], [71464, 0, "r"], [71465, 0, "o"], [71466, 0, "a"], [71467, 0, "c"], [71468, 0, "h"], [71469, 0, " "], [71470, 0, "i"], [71471, 0, "s"], [71472, 0, " "], [71473, 0, "u"], [71474, 0, "s"], [71475, 0, "e"], [71476, 0, "d"], [71477, 0, " "], [71478, 0, "i"], [71479, 0, "n"], [71480, 0, " "], [71481, 0, "A"], [71482, 0, "p"], [71483, 0, "a"], [71484, 0, "c"], [71485, 0, "h"], [71486, 0, "e"], [71487, 0, " "], [71488, 0, "C"], [71489, 0, "a"], [71490, 0, "s"], [71491, 0, "s"], [71492, 0, "a"], [71493, 0, "n"], [71494, 0, "d"], [71495, 0, "r"], [71496, 0, "a"], [71497, 0, ","], [71498, 0, " "], [71499, 0, "a"], [71500, 0, "n"], [71501, 0, "d"], [71502, 0, " "], [71503, 0, "i"], [71504, 0, "t"], [71505, 0, " "], [71506, 0, "i"], [71507, 0, "s"], [71508, 0, " "], [71509, 0, "a"], [71510, 0, " "], [71510, 1], [71510, 0, "n"], [71511, 0, " "], [71512, 0, "o"], [71513, 0, "p"], [71514, 0, "t"], [71515, 0, "i"], [71516, 0, "o"], [71517, 0, "n"], [71518, 0, " "], [71519, 0, "i"], [71520, 0, "n"], [71521, 0, " "], [71522, 0, "m"], [71523, 0, "a"], [71524, 0, "n"], [71525, 0, "y"], [71526, 0, " "], [71527, 0, "o"], [71528, 0, "t"], [71529, 0, "h"], [71530, 0, "e"], [71531, 0, "r"], [71532, 0, " "], [71533, 0, "s"], [71534, 0, "y"], [71535, 0, "s"], [71536, 0, "t"], [71537, 0, "e"], [71538, 0, "m"], [71539, 0, "s"], [71540, 0, " "], [71541, 0, "i"], [71542, 0, "n"], [71543, 0, "c"], [71544, 0, "l"], [71545, 0, "u"], [71546, 0, "d"], [71547, 0, "i"], [71548, 0, "n"], [71549, 0, "g"], [71550, 0, " "], [71551, 0, "R"], [71552, 0, "i"], [71553, 0, "a"], [71554, 0, "k"], [71555, 0, ","], [71556, 0, " "], [71556, 1], [71555, 1], [71555, 0, " "], [71556, 0, "a"], [71557, 0, "n"], [71558, 0, "d"], [71559, 0, " "], [71560, 0, "C"], [71561, 0, "o"], [71562, 0, "u"], [71563, 0, "c"], [71564, 0, "h"], [71565, 0, "D"], [71566, 0, "B"], [71567, 0, "."], [70808, 0, "\\"], [70809, 0, "l"], [70810, 0, "a"], [70811, 0, "b"], [70812, 0, "e"], [70813, 0, "l"], [70814, 0, "{"], [70815, 0, "s"], [70816, 0, "e"], [70817, 0, "c"], [70818, 0, ":"], [70819, 0, "r"], [70820, 0, "e"], [70821, 0, "l"], [70822, 0, "a"], [70823, 0, "t"], [70824, 0, "e"], [70825, 0, "d"], [70826, 0, "-"], [70827, 0, "o"], [70828, 0, "t"], [70829, 0, "h"], [70830, 0, "e"], [70831, 0, "r"], [70832, 0, "}"], [70132, 0, "\\"], [70133, 0, "l"], [70134, 0, "a"], [70135, 0, "b"], [70136, 0, "e"], [70137, 0, "l"], [70138, 0, "{"], [70139, 0, "s"], [70140, 0, "e"], [70141, 0, "c"], [70142, 0, ":"], [70143, 0, "r"], [70144, 0, "e"], [70145, 0, "l"], [70146, 0, "a"], [70147, 0, "t"], [70148, 0, "e"], [70149, 0, "d"], [70150, 0, "-"], [70151, 0, "c"], [70152, 0, "r"], [70153, 0, "d"], [70154, 0, "t"], [70155, 0, "s"], [70156, 0, "}"], [67788, 0, "\\"], [67789, 0, "l"], [67790, 0, "a"], [67791, 0, "b"], [67792, 0, "e"], [67793, 0, "l"], [67794, 0, "{"], [67795, 0, "s"], [67796, 0, "e"], [67797, 0, "c"], [67798, 0, ":"], [67799, 0, "r"], [67800, 0, "e"], [67801, 0, "l"], [67802, 0, "a"], [67803, 0, "t"], [67804, 0, "e"], [67805, 0, "d"], [67806, 0, "-"], [67807, 0, "o"], [67808, 0, "t"], [67809, 0, "}"], [71748, 0, "\n"], [71749, 0, "\n"], [71750, 0, "F"], [71751, 0, "i"], [71752, 0, "n"], [71753, 0, "a"], [71754, 0, "l"], [71755, 0, "l"], [71756, 0, "y"], [71757, 0, ","], [71758, 0, " "], [71759, 0, "m"], [71760, 0, "a"], [71761, 0, "n"], [71762, 0, "y"], [71763, 0, " "], [71764, 0, "s"], [71765, 0, "y"], [71766, 0, "s"], [71767, 0, "t"], [71768, 0, "e"], [71769, 0, "m"], [71770, 0, "s"], [71771, 0, " "], [71762, 1], [71761, 1], [71760, 1], [71759, 1], [71758, 1], [71767, 0, "s"], [71768, 0, "u"], [71769, 0, "c"], [71770, 0, "h"], [71771, 0, " "], [71772, 0, "a"], [71773, 0, "s"], [71774, 0, " "], [71775, 0, "B"], [71776, 0, "a"], [71777, 0, "y"], [71778, 0, "o"], [71779, 0, "u"], [71780, 0, "~"], [71781, 0, "\\"], [71782, 0, "c"], [71783, 0, "i"], [71784, 0, "t"], [71785, 0, "e"], [71786, 0, "{"], [71787, 0, "T"], [71788, 0, "e"], [71789, 0, "r"], [71790, 0, "r"], [71791, 0, "y"], [71792, 0, ":"], [71793, 0, "1"], [71794, 0, "9"], [71795, 0, "9"], [71796, 0, "5"], [71797, 0, "d"], [71798, 0, "n"], [71799, 0, "}"], [71800, 0, " "], [71801, 0, "a"], [71802, 0, "l"], [71803, 0, "l"], [71804, 0, "o"], [71805, 0, "w"], [71806, 0, " "], [71807, 0, "o"], [71808, 0, "f"], [71809, 0, "f"], [71810, 0, "l"], [71811, 0, "i"], [71812, 0, "n"], [71813, 0, "e"], [71814, 0, " "], [71815, 0, "n"], [71816, 0, "o"], [71817, 0, "d"], [71818, 0, "e"], [71819, 0, "s"], [71820, 0, " "], [71821, 0, "t"], [71822, 0, "o"], [71823, 0, " "], [71824, 0, "e"], [71825, 0, "x"], [71826, 0, "e"], [71827, 0, "c"], [71828, 0, "u"], [71829, 0, "t"], [71830, 0, "e"], [71831, 0, " "], [71832, 0, "t"], [71833, 0, "r"], [71834, 0, "a"], [71835, 0, "n"], [71836, 0, "s"], [71837, 0, "a"], [71838, 0, "c"], [71839, 0, "t"], [71840, 0, "i"], [71841, 0, "o"], [71842, 0, "n"], [71843, 0, "s"], [71844, 0, " "], [71845, 0, "t"], [71846, 0, "e"], [71847, 0, "n"], [71848, 0, "t"], [71849, 0, "a"], [71850, 0, "t"], [71851, 0, "i"], [71852, 0, "v"], [71853, 0, "e"], [71854, 0, "l"], [71855, 0, "y"], [71856, 0, ","], [71857, 0, " "], [71858, 0, "a"], [71859, 0, "n"], [71860, 0, "d"], [71861, 0, " "], [71862, 0, "c"], [71863, 0, "o"], [71864, 0, "n"], [71865, 0, "f"], [71866, 0, "i"], [71867, 0, "r"], [71868, 0, "m"], [71869, 0, " "], [71870, 0, "t"], [71871, 0, "h"], [71872, 0, "e"], [71873, 0, "m"], [71874, 0, " "], [71875, 0, "w"], [71876, 0, "h"], [71877, 0, "e"], [71878, 0, "n"], [71879, 0, " "], [71880, 0, "t"], [71881, 0, "h"], [71882, 0, "e"], [71883, 0, "y"], [71884, 0, " "], [71885, 0, "a"], [71886, 0, "r"], [71887, 0, "e"], [71888, 0, " "], [71889, 0, "n"], [71890, 0, "e"], [71891, 0, "x"], [71892, 0, "t"], [71893, 0, " "], [71894, 0, "o"], [71895, 0, "n"], [71896, 0, "l"], [71897, 0, "i"], [71898, 0, "n"], [71899, 0, "e"], [71900, 0, "."], [71901, 0, " "], [71902, 0, "T"], [71902, 1], [71902, 0, "A"], [71903, 0, "s"], [71904, 0, " "], [71905, 0, "d"], [71906, 0, "i"], [71907, 0, "s"], [71908, 0, "c"], [71909, 0, "u"], [71910, 0, "s"], [71911, 0, "s"], [71912, 0, "e"], [71913, 0, "d"], [71914, 0, " "], [71915, 0, "i"], [71916, 0, "n"], [71917, 0, " "], [71918, 0, "s"], [71919, 0, "e"], [71920, 0, "c"], [71921, 0, "t"], [71922, 0, "i"], [71923, 0, "o"], [71924, 0, "n"], [71925, 0, "~"], [71926, 0, "\\"], [71927, 0, "r"], [71928, 0, "e"], [71929, 0, "f"], [71930, 0, "{"], [71931, 0, "s"], [71932, 0, "e"], [71933, 0, "c"], [71934, 0, ":"], [71935, 0, "r"], [71936, 0, "e"], [71937, 0, "l"], [71938, 0, "a"], [71939, 0, "t"], [71940, 0, "e"], [71941, 0, "d"], [71942, 0, "-"], [71943, 0, "o"], [71944, 0, "t"], [71945, 0, "}"], [71946, 0, ","], [71947, 0, " "], [71948, 0, "s"], [71949, 0, "u"], [71950, 0, "c"], [71951, 0, "h"], [71952, 0, " "], [71953, 0, "t"], [71954, 0, "o"], [71955, 0, "t"], [71956, 0, "a"], [71957, 0, "l"], [71958, 0, " "], [71959, 0, "o"], [71960, 0, "r"], [71961, 0, "d"], [71962, 0, "e"], [71963, 0, "r"], [71964, 0, " "], [71965, 0, "r"], [71966, 0, "e"], [71967, 0, "q"], [71968, 0, "u"], [71969, 0, "i"], [71970, 0, "r"], [71971, 0, "e"], [71972, 0, "m"], [71973, 0, "e"], [71974, 0, "n"], [71975, 0, "t"], [71976, 0, "s"], [71977, 0, " "], [71978, 0, "a"], [71979, 0, "r"], [71980, 0, "e"], [71981, 0, " "], [71982, 0, "p"], [71983, 0, "r"], [71984, 0, "o"], [71985, 0, "h"], [71986, 0, "i"], [71987, 0, "b"], [71988, 0, "i"], [71989, 0, "t"], [71990, 0, "i"], [71991, 0, "v"], [71992, 0, "e"], [71993, 0, " "], [71994, 0, "i"], [71995, 0, "n"], [71996, 0, " "], [71997, 0, "a"], [71998, 0, " "], [71999, 0, "p"], [72000, 0, "e"], [72001, 0, "e"], [72002, 0, "r"], [72003, 0, "-"], [72004, 0, "t"], [72005, 0, "o"], [72006, 0, "-"], [72007, 0, "p"], [72008, 0, "e"], [72009, 0, "e"], [72010, 0, "r"], [72011, 0, " "], [72012, 0, "s"], [72013, 0, "y"], [72014, 0, "s"], [72015, 0, "t"], [72016, 0, "e"], [72017, 0, "m"], [72018, 0, " "], [72019, 0, "o"], [72020, 0, "f"], [72021, 0, " "], [72022, 0, "m"], [72023, 0, "o"], [72024, 0, "b"], [72025, 0, "i"], [72026, 0, "l"], [72027, 0, "e"], [72028, 0, " "], [72029, 0, "d"], [72030, 0, "e"], [72031, 0, "v"], [72032, 0, "i"], [72033, 0, "c"], [72034, 0, "e"], [72035, 0, "s"], [72036, 0, "."], [71964, 0, "i"], [71965, 0, "n"], [71966, 0, "g"], [71901, 0, " "], [71902, 0, "T"], [71903, 0, "h"], [71904, 0, "i"], [71905, 0, "s"], [71906, 0, " "], [71907, 0, "a"], [71908, 0, "p"], [71909, 0, "p"], [71910, 0, "r"], [71911, 0, "o"], [71912, 0, "a"], [71913, 0, "c"], [71914, 0, "h"], [71915, 0, " "], [71916, 0, "r"], [71917, 0, "e"], [71918, 0, "l"], [71919, 0, "i"], [71920, 0, "e"], [71921, 0, "s"], [71922, 0, " "], [71923, 0, "o"], [71924, 0, "n"], [71925, 0, " "], [71926, 0, "a"], [71927, 0, " "], [71928, 0, "c"], [71929, 0, "e"], [71930, 0, "n"], [71931, 0, "t"], [71932, 0, "r"], [71933, 0, "a"], [71934, 0, "l"], [71935, 0, " "], [71936, 0, "s"], [71937, 0, "e"], [71938, 0, "r"], [71939, 0, "v"], [71940, 0, "e"], [71941, 0, "r"], [71942, 0, " "], [71943, 0, "t"], [71944, 0, "o"], [71945, 0, " "], [71946, 0, "e"], [71947, 0, "x"], [71948, 0, "e"], [71949, 0, "c"], [71950, 0, "u"], [71951, 0, "t"], [71952, 0, "e"], [71953, 0, " "], [71954, 0, "t"], [71955, 0, "r"], [71956, 0, "a"], [71957, 0, "n"], [71958, 0, "s"], [71959, 0, "a"], [71960, 0, "c"], [71961, 0, "t"], [71962, 0, "i"], [71963, 0, "o"], [71964, 0, "n"], [71965, 0, "s"], [71966, 0, " "], [71967, 0, "i"], [71968, 0, "n"], [71969, 0, " "], [71970, 0, "a"], [71971, 0, " "], [71972, 0, "t"], [71973, 0, "o"], [71974, 0, "t"], [71975, 0, "a"], [71976, 0, "l"], [71977, 0, " "], [71978, 0, "o"], [71979, 0, "r"], [71980, 0, "d"], [71981, 0, "e"], [71982, 0, "r"], [71976, 1], [71975, 1], [71974, 1], [71973, 1], [71972, 1], [71972, 0, "s"], [71973, 0, "e"], [71974, 0, "r"], [71975, 0, "i"], [71976, 0, "a"], [71977, 0, "l"], [72085, 0, "b"], [72086, 0, "b"], [72087, 0, "b"], [72087, 1], [72086, 1], [72085, 1], [72040, 1], [72039, 1], [72038, 1], [72037, 1], [72036, 1], [72036, 0, "s"], [72037, 0, "e"], [72038, 0, "r"], [72039, 0, "i"], [72040, 0, "a"], [72041, 0, "l"], [71984, 0, ","], [71985, 0, " "], [71986, 0, "a"], [71987, 0, "n"], [71988, 0, "d"], [71989, 0, " "], [71990, 0, "d"], [71991, 0, "e"], [71992, 0, "c"], [71993, 0, "i"], [71994, 0, "d"], [71995, 0, "e"], [71996, 0, " "], [71997, 0, "w"], [71998, 0, "h"], [71999, 0, "e"], [72000, 0, "t"], [72001, 0, "h"], [72002, 0, "e"], [72003, 0, "r"], [72004, 0, " "], [72005, 0, "a"], [72006, 0, " "], [72007, 0, "t"], [72008, 0, "r"], [72009, 0, "a"], [72010, 0, "n"], [72011, 0, "s"], [72012, 0, "a"], [72013, 0, "c"], [72014, 0, "t"], [72015, 0, "i"], [72016, 0, "o"], [72017, 0, "n"], [72018, 0, " "], [72019, 0, "w"], [72020, 0, "a"], [72021, 0, "s"], [72022, 0, " "], [72023, 0, "s"], [72024, 0, "u"], [72025, 0, "c"], [72026, 0, "c"], [72027, 0, "e"], [72028, 0, "s"], [72029, 0, "s"], [72030, 0, "f"], [72031, 0, "u"], [72032, 0, "l"], [72033, 0, " "], [72034, 0, "d"], [72035, 0, "e"], [72036, 0, "p"], [72037, 0, "e"], [72038, 0, "n"], [72039, 0, "d"], [72040, 0, "i"], [72041, 0, "n"], [72042, 0, "g"], [72043, 0, " "], [72044, 0, "o"], [72045, 0, "n"], [72046, 0, " "], [72047, 0, "i"], [72048, 0, "t"], [72049, 0, "s"], [72050, 0, " "], [72051, 0, "p"], [72052, 0, "r"], [72053, 0, "e"], [72054, 0, "d"], [72054, 1], [72054, 0, "c"], [72055, 0, "o"], [72056, 0, "n"], [72057, 0, "d"], [72058, 0, "i"], [72059, 0, "t"], [72060, 0, "i"], [72061, 0, "o"], [72062, 0, "n"], [72063, 0, "s"], [72064, 0, "."], [71335, 0, " "], [71336, 0, "A"], [71337, 0, "s"], [71338, 0, " "], [71339, 0, "t"], [71340, 0, "h"], [71341, 0, "e"], [71342, 0, " "], [71343, 0, "c"], [71344, 0, "o"], [71345, 0, "m"], [71346, 0, "p"], [71347, 0, "l"], [71348, 0, "e"], [71349, 0, "x"], [71350, 0, "i"], [71351, 0, "t"], [71352, 0, "y"], [71353, 0, " "], [71354, 0, "o"], [71355, 0, "f"], [71356, 0, " "], [71357, 0, "t"], [71358, 0, "h"], [71359, 0, "i"], [71360, 0, "s"], [71361, 0, " "], [71362, 0, "p"], [71363, 0, "a"], [71364, 0, "p"], [71365, 0, "e"], [71366, 0, "r"], [71367, 0, " "], [71368, 0, "d"], [71369, 0, "e"], [71370, 0, "m"], [71371, 0, "o"], [71372, 0, "n"], [71373, 0, "s"], [71374, 0, "t"], [71375, 0, "r"], [71376, 0, "a"], [71377, 0, "t"], [71378, 0, "e"], [71379, 0, "s"], [71380, 0, ","], [71381, 0, " "], [71382, 0, "c"], [71382, 1], [71382, 0, "i"], [71383, 0, "t"], [71384, 0, "s"], [71385, 0, " "], [71385, 1], [71384, 1], [71383, 1], [71382, 1], [71382, 0, "c"], [71383, 0, "o"], [71384, 0, "n"], [71385, 0, "f"], [71386, 0, "l"], [71387, 0, "i"], [71388, 0, "c"], [71389, 0, "t"], [71390, 0, " "], [71391, 0, "r"], [71392, 0, "e"], [71393, 0, "s"], [71394, 0, "o"], [71395, 0, "l"], [71396, 0, "u"], [71397, 0, "t"], [71398, 0, "i"], [71399, 0, "o"], [71400, 0, "n"], [71401, 0, " "], [71402, 0, "i"], [71403, 0, "s"], [71404, 0, " "], [71405, 0, "n"], [71406, 0, "o"], [71407, 0, "t"], [71408, 0, " "], [71409, 0, "a"], [71410, 0, " "], [71411, 0, "s"], [71412, 0, "i"], [71413, 0, "m"], [71414, 0, "p"], [71415, 0, "l"], [71416, 0, "e"], [71417, 0, " "], [71418, 0, "m"], [71419, 0, "a"], [71420, 0, "t"], [71421, 0, "t"], [71422, 0, "e"], [71423, 0, "r"], [71424, 0, " "], [71425, 0, "t"], [71426, 0, "h"], [71427, 0, "a"], [71428, 0, "t"], [71429, 0, " "], [71430, 0, "s"], [71431, 0, "h"], [71432, 0, "o"], [71433, 0, "u"], [71434, 0, "l"], [71435, 0, "d"], [71436, 0, " "], [71437, 0, "b"], [71438, 0, "e"], [71439, 0, " "], [71440, 0, "l"], [71441, 0, "e"], [71442, 0, "f"], [71443, 0, "t"], [71444, 0, " "], [71445, 0, "t"], [71446, 0, "o"], [71447, 0, " "], [71448, 0, "a"], [71449, 0, "p"], [71450, 0, "p"], [71451, 0, "l"], [71452, 0, "i"], [71453, 0, "c"], [71454, 0, "a"], [71455, 0, "t"], [71456, 0, "i"], [71457, 0, "o"], [71458, 0, "n"], [71459, 0, " "], [71460, 0, "p"], [71461, 0, "r"], [71462, 0, "o"], [71463, 0, "g"], [71464, 0, "r"], [71465, 0, "a"], [71466, 0, "m"], [71467, 0, "m"], [71468, 0, "e"], [71469, 0, "r"], [71470, 0, "s"], [71471, 0, "."], [71435, 1], [71434, 1], [71433, 1], [71432, 1], [71431, 1], [71430, 1], [71430, 0, "c"], [71431, 0, "a"], [71432, 0, "n"], [71433, 0, " "], [71434, 0, "r"], [71435, 0, "e"], [71436, 0, "a"], [71437, 0, "s"], [71438, 0, "o"], [71439, 0, "n"], [71440, 0, "a"], [71441, 0, "b"], [71442, 0, "l"], [71443, 0, "y"], [72097, 1], [72097, 0, "i"], [72098, 0, "n"], [72099, 0, "g"], [72089, 1], [72088, 1], [72087, 1], [72087, 0, "s"], [72079, 1], [72078, 1], [72077, 1], [72076, 1], [72075, 1], [72074, 1], [72073, 1], [72072, 1], [72072, 0, "l"], [72073, 0, "l"], [72109, 1], [72109, 0, "t"], [72110, 0, "h"], [72111, 0, "e"], [72112, 0, " "], [72113, 0, "s"], [72114, 0, "a"], [72115, 0, "m"], [72116, 0, "e"], [72141, 1], [72141, 0, "i"], [72142, 0, "n"], [72143, 0, "g"], [70366, 0, ","], [70367, 0, "B"], [70368, 0, "r"], [70369, 0, "o"], [70370, 0, "w"], [70371, 0, "n"], [70372, 0, ":"], [70373, 0, "2"], [70374, 0, "0"], [70375, 0, "1"], [70376, 0, "3"], [70377, 0, "w"], [70378, 0, "y"], [70782, 0, " "], [70783, 0, "\\"], [70784, 0, "e"], [70785, 0, "m"], [70786, 0, "p"], [70787, 0, "h"], [70788, 0, "{"], [70789, 0, "c"], [70790, 0, "o"], [70791, 0, "m"], [70792, 0, "p"], [70793, 0, "o"], [70794, 0, "s"], [70795, 0, "i"], [70796, 0, "t"], [70797, 0, "i"], [70798, 0, "o"], [70799, 0, "n"], [70800, 0, "}"], [70801, 0, " "], [70802, 0, "o"], [70803, 0, "r"], [70859, 0, " "], [70860, 0, "B"], [70861, 0, "a"], [70862, 0, "q"], [70863, 0, "u"], [70864, 0, "e"], [70865, 0, "r"], [70866, 0, "o"], [70867, 0, " "], [70868, 0, "e"], [70869, 0, "t"], [70870, 0, " "], [70871, 0, "a"], [70872, 0, "l"], [70873, 0, "."], [70874, 0, "~"], [70875, 0, "\\"], [70876, 0, "c"], [70877, 0, "i"], [70878, 0, "t"], [70879, 0, "e"], [70880, 0, "{"], [70881, 0, "B"], [70882, 0, "a"], [70883, 0, "q"], [70884, 0, "u"], [70885, 0, "e"], [70886, 0, "r"], [70887, 0, "o"], [70888, 0, ":"], [70889, 0, "2"], [70890, 0, "0"], [70891, 0, "1"], [70892, 0, "5"], [70893, 0, "t"], [70894, 0, "m"], [70895, 0, "}"], [70896, 0, " "], [70897, 0, "p"], [70898, 0, "r"], [70899, 0, "e"], [70900, 0, "s"], [70901, 0, "e"], [70902, 0, "n"], [70903, 0, "t"], [70904, 0, " "], [70904, 1], [70903, 1], [70902, 1], [70901, 1], [70900, 1], [70899, 1], [70898, 1], [70897, 1], [70897, 0, "="], [70897, 1], [70897, 0, "d"], [70898, 0, "e"], [70899, 0, "f"], [70900, 0, "i"], [70901, 0, "n"], [70902, 0, "e"], [70903, 0, " "], [70904, 0, "a"], [70905, 0, " "], [70906, 0, "t"], [70907, 0, "h"], [70908, 0, "e"], [70909, 0, "o"], [70910, 0, "r"], [70911, 0, "e"], [70912, 0, "t"], [70913, 0, "i"], [70914, 0, "c"], [70915, 0, "a"], [70916, 0, "l"], [70917, 0, " "], [70918, 0, "b"], [70919, 0, "a"], [70920, 0, "s"], [70921, 0, "i"], [70922, 0, "s"], [70923, 0, " "], [70924, 0, "f"], [70925, 0, "o"], [70926, 0, "r"], [70927, 0, " "], [70928, 0, "C"], [70928, 1], [70928, 0, "c"], [70929, 0, "o"], [70930, 0, "m"], [70931, 0, "p"], [70932, 0, "o"], [70933, 0, "s"], [70934, 0, "i"], [70935, 0, "t"], [70936, 0, "i"], [70937, 0, "o"], [70938, 0, "n"], [70939, 0, " "], [70940, 0, "o"], [70941, 0, "f"], [70942, 0, " "], [70943, 0, "s"], [70944, 0, "t"], [70945, 0, "a"], [70946, 0, "t"], [70947, 0, "e"], [70948, 0, "-"], [70949, 0, "b"], [70950, 0, "a"], [70951, 0, "s"], [70952, 0, "e"], [70953, 0, "d"], [70954, 0, " "], [70955, 0, "C"], [70956, 0, "R"], [70957, 0, "D"], [70958, 0, "T"], [70959, 0, "s"], [70960, 0, ","], [70961, 0, " "], [70962, 0, "b"], [70963, 0, "a"], [70964, 0, "s"], [70965, 0, "e"], [70966, 0, "d"], [70967, 0, " "], [70968, 0, "o"], [70969, 0, "n"], [70970, 0, " "], [70971, 0, "l"], [70972, 0, "a"], [70973, 0, "t"], [70974, 0, "t"], [70975, 0, "i"], [70976, 0, "c"], [70977, 0, "e"], [70978, 0, "s"], [70979, 0, "."], [70859, 0, " "], [70860, 0, "R"], [70861, 0, "i"], [70862, 0, "a"], [70863, 0, "k"], [70864, 0, " "], [70865, 0, "a"], [70866, 0, "l"], [70867, 0, "l"], [70868, 0, "o"], [70869, 0, "w"], [70870, 0, "s"], [70871, 0, " "], [70872, 0, "m"], [70873, 0, "u"], [70874, 0, "l"], [70875, 0, "t"], [70876, 0, "i"], [70877, 0, "p"], [70878, 0, "l"], [70879, 0, "e"], [70880, 0, " "], [70881, 0, "l"], [70882, 0, "e"], [70883, 0, "v"], [70884, 0, "e"], [70885, 0, "l"], [70886, 0, "s"], [70887, 0, " "], [70888, 0, "o"], [70889, 0, "f"], [70890, 0, " "], [70890, 1], [70889, 1], [70888, 1], [70887, 1], [70886, 1], [70885, 1], [70884, 1], [70883, 1], [70882, 1], [70881, 1], [70880, 1], [70879, 1], [70878, 1], [70877, 1], [70876, 1], [70875, 1], [70874, 1], [70873, 1], [70872, 1], [70872, 0, "n"], [70873, 0, "e"], [70874, 0, "s"], [70875, 0, "t"], [70876, 0, "i"], [70877, 0, "n"], [70878, 0, "g"], [70879, 0, " "], [70880, 0, "o"], [70881, 0, "f"], [70882, 0, " "], [70883, 0, "c"], [70884, 0, "o"], [70885, 0, "u"], [70886, 0, "n"], [70887, 0, "t"], [70888, 0, "e"], [70889, 0, "r"], [70890, 0, "s"], [70891, 0, " "], [70892, 0, "a"], [70893, 0, "n"], [70894, 0, "d"], [70895, 0, " "], [70896, 0, "r"], [70897, 0, "e"], [70898, 0, "g"], [70899, 0, "i"], [70900, 0, "s"], [70901, 0, "t"], [70902, 0, "e"], [70903, 0, "r"], [70904, 0, "s"], [70905, 0, " "], [70906, 0, "i"], [70907, 0, "n"], [70908, 0, "s"], [70909, 0, "i"], [70910, 0, "d"], [70911, 0, "e"], [70912, 0, " "], [70913, 0, "m"], [70914, 0, "a"], [70915, 0, "p"], [70916, 0, "s"], [70917, 0, ","], [70918, 0, " "], [70919, 0, "a"], [70920, 0, "n"], [70921, 0, "d"], [70922, 0, " "], [70923, 0, "o"], [70924, 0, "f"], [70925, 0, " "], [70926, 0, "m"], [70927, 0, "a"], [70928, 0, "p"], [70929, 0, "s"], [70930, 0, " "], [70931, 0, "w"], [70932, 0, "i"], [70933, 0, "t"], [70934, 0, "h"], [70935, 0, "i"], [70936, 0, "n"], [70937, 0, " "], [70938, 0, "o"], [70939, 0, "t"], [70940, 0, "h"], [70941, 0, "e"], [70942, 0, "r"], [70943, 0, " "], [70944, 0, "m"], [70945, 0, "a"], [70946, 0, "p"], [70947, 0, "s"], [70948, 0, ","], [70949, 0, " "], [70950, 0, "b"], [70951, 0, "u"], [70952, 0, "t"], [70953, 0, " "], [70954, 0, "d"], [70955, 0, "o"], [70956, 0, "e"], [70957, 0, "s"], [70958, 0, " "], [70959, 0, "n"], [70960, 0, "o"], [70961, 0, "t"], [70962, 0, " "], [70963, 0, "s"], [70964, 0, "u"], [70965, 0, "p"], [70966, 0, "p"], [70967, 0, "o"], [70968, 0, "r"], [70969, 0, "t"], [70970, 0, " "], [70971, 0, "o"], [70972, 0, "r"], [70973, 0, "d"], [70974, 0, "e"], [70975, 0, "r"], [70976, 0, "e"], [70977, 0, "d"], [70978, 0, " "], [70979, 0, "l"], [70980, 0, "i"], [70981, 0, "s"], [70982, 0, "t"], [70983, 0, "s"], [70984, 0, "~"], [70985, 0, "\\"], [70986, 0, "c"], [70987, 0, "i"], [70988, 0, "t"], [70989, 0, "e"], [70990, 0, "{"], [70991, 0, "B"], [70992, 0, "r"], [70993, 0, "o"], [70994, 0, "w"], [70995, 0, "n"], [70996, 0, ":"], [70997, 0, "2"], [70998, 0, "0"], [70999, 0, "1"], [71000, 0, "4"], [71001, 0, "h"], [71002, 0, "s"], [71003, 0, ","], [71004, 0, "B"], [71005, 0, "r"], [71006, 0, "o"], [71007, 0, "w"], [71008, 0, "n"], [71009, 0, ":"], [71010, 0, "2"], [71011, 0, "0"], [71012, 0, "1"], [71013, 0, "3"], [71014, 0, "w"], [71015, 0, "y"], [71016, 0, "}"], [71017, 0, "."], [71018, 0, " "], [71019, 0, "E"], [71020, 0, "m"], [71021, 0, "b"], [71022, 0, "e"], [71023, 0, "d"], [71024, 0, "d"], [71025, 0, "i"], [71026, 0, "n"], [71027, 0, "g"], [71028, 0, " "], [71029, 0, "c"], [71030, 0, "o"], [71031, 0, "u"], [71032, 0, "n"], [71033, 0, "t"], [71034, 0, "e"], [71035, 0, "r"], [71036, 0, "s"], [71037, 0, " "], [71038, 0, "i"], [71039, 0, "n"], [71040, 0, "s"], [71041, 0, "i"], [71042, 0, "d"], [71043, 0, "e"], [71044, 0, " "], [71045, 0, "m"], [71046, 0, "a"], [71047, 0, "p"], [71048, 0, "s"], [71049, 0, " "], [71050, 0, "r"], [71051, 0, "a"], [71052, 0, "i"], [71053, 0, "s"], [71054, 0, "e"], [71055, 0, "s"], [71056, 0, " "], [71057, 0, "d"], [71058, 0, "i"], [71058, 1], [71057, 1], [71057, 0, "q"], [71058, 0, "u"], [71059, 0, "e"], [71060, 0, "s"], [71061, 0, "t"], [71062, 0, "i"], [71063, 0, "o"], [71064, 0, "n"], [71065, 0, "s"], [71066, 0, " "], [71067, 0, "o"], [71068, 0, "f"], [71069, 0, " "], [71070, 0, "s"], [71071, 0, "e"], [71072, 0, "m"], [71073, 0, "a"], [71074, 0, "n"], [71075, 0, "t"], [71076, 0, "i"], [71077, 0, "c"], [71078, 0, "s"], [71079, 0, ","], [71080, 0, " "], [71081, 0, "w"], [71082, 0, "h"], [71083, 0, "i"], [71084, 0, "c"], [71085, 0, "h"], [71086, 0, " "], [71087, 0, "h"], [71088, 0, "a"], [71089, 0, "v"], [71090, 0, "e"], [71091, 0, " "], [71092, 0, "b"], [71093, 0, "e"], [71094, 0, "e"], [71095, 0, "n"], [71096, 0, " "], [71097, 0, "s"], [71098, 0, "t"], [71099, 0, "u"], [71100, 0, "d"], [71101, 0, "i"], [71102, 0, "e"], [71103, 0, "d"], [71104, 0, " "], [71105, 0, "b"], [71106, 0, "y"], [71107, 0, " "], [71108, 0, "A"], [71108, 1], [71108, 0, "B"], [71109, 0, "a"], [71110, 0, "q"], [71111, 0, "u"], [71112, 0, "e"], [71113, 0, "r"], [71114, 0, "o"], [71115, 0, ","], [71116, 0, " "], [71117, 0, "A"], [71118, 0, "l"], [71119, 0, "m"], [71120, 0, "e"], [71121, 0, "i"], [71122, 0, "d"], [71123, 0, "a"], [71124, 0, " "], [71125, 0, "a"], [71126, 0, "n"], [71127, 0, "d"], [71128, 0, " "], [71129, 0, "L"], [71130, 0, "e"], [71131, 0, "r"], [71132, 0, "c"], [71133, 0, "h"], [71134, 0, "e"], [71135, 0, "~"], [71136, 0, "\\"], [71137, 0, "c"], [71138, 0, "i"], [71139, 0, "t"], [71140, 0, "e"], [71141, 0, "{"], [71142, 0, "B"], [71143, 0, "a"], [71144, 0, "q"], [71145, 0, "u"], [71146, 0, "e"], [71147, 0, "r"], [71148, 0, "o"], [71149, 0, ":"], [71150, 0, "2"], [71151, 0, "0"], [71152, 0, "1"], [71153, 0, "6"], [71154, 0, "i"], [71155, 0, "v"], [71156, 0, "}"], [71157, 0, "."], [71195, 0, " "], [71196, 0, "a"], [71197, 0, "l"], [71198, 0, "s"], [71199, 0, "o"], [71226, 1], [71225, 1], [71224, 1], [71223, 1], [71222, 1], [71222, 0, "f"], [71223, 0, "r"], [71224, 0, "a"], [71225, 0, "m"], [71226, 0, "e"], [71227, 0, "w"], [71228, 0, "o"], [71229, 0, "r"], [71230, 0, "k"], [71289, 0, "\n"], [71290, 0, "\n"], [71290, 0, "B"], [71291, 0, "u"], [71292, 0, "r"], [71293, 0, "c"], [71294, 0, "k"], [71295, 0, "h"], [71296, 0, "a"], [71297, 0, "r"], [71298, 0, "d"], [71299, 0, "t"], [71300, 0, " "], [71301, 0, "e"], [71302, 0, "t"], [71303, 0, " "], [71304, 0, "a"], [71305, 0, "l"], [71306, 0, "."], [71307, 0, "~"], [71308, 0, "\\"], [71309, 0, "c"], [71310, 0, "i"], [71311, 0, "t"], [71312, 0, "e"], [71313, 0, "{"], [71314, 0, "B"], [71315, 0, "u"], [71316, 0, "r"], [71317, 0, "c"], [71318, 0, "k"], [71319, 0, "h"], [71320, 0, "a"], [71321, 0, "r"], [71322, 0, "d"], [71323, 0, "t"], [71324, 0, ":"], [71325, 0, "2"], [71326, 0, "0"], [71327, 0, "1"], [71328, 0, "2"], [71329, 0, "j"], [71330, 0, "y"], [71331, 0, "}"], [71332, 0, " "], [71333, 0, "d"], [71334, 0, "e"], [71335, 0, "f"], [71336, 0, "i"], [71337, 0, "n"], [71338, 0, "e"], [71339, 0, " "], [71340, 0, "\\"], [71341, 0, "e"], [71342, 0, "m"], [71343, 0, "p"], [71344, 0, "h"], [71345, 0, "{"], [71346, 0, "c"], [71347, 0, "l"], [71348, 0, "o"], [71349, 0, "u"], [71350, 0, "d"], [71351, 0, " "], [71352, 0, "t"], [71353, 0, "y"], [71354, 0, "p"], [71355, 0, "e"], [71356, 0, "s"], [71357, 0, "}"], [71358, 0, ","], [71359, 0, " "], [71360, 0, "w"], [71361, 0, "h"], [71362, 0, "i"], [71363, 0, "c"], [71364, 0, "h"], [71365, 0, " "], [71366, 0, "a"], [71367, 0, "r"], [71368, 0, "e"], [71369, 0, " "], [71370, 0, "s"], [71371, 0, "i"], [71372, 0, "m"], [71373, 0, "i"], [71374, 0, "l"], [71375, 0, "a"], [71376, 0, "r"], [71377, 0, " "], [71378, 0, "t"], [71379, 0, "o"], [71380, 0, " "], [71381, 0, "C"], [71382, 0, "R"], [71383, 0, "D"], [71384, 0, "T"], [71385, 0, " "], [71386, 0, "b"], [71387, 0, "u"], [71388, 0, "t"], [71389, 0, " "], [71389, 1], [71388, 1], [71387, 1], [71386, 1], [71385, 1], [71385, 0, "s"], [71386, 0, " "], [71387, 0, "a"], [71388, 0, "n"], [71389, 0, "d"], [71390, 0, " "], [71391, 0, "c"], [71392, 0, "a"], [71393, 0, "n"], [71394, 0, " "], [71395, 0, "b"], [71396, 0, "e"], [71397, 0, " "], [71398, 0, "c"], [71399, 0, "o"], [71400, 0, "m"], [71401, 0, "p"], [71402, 0, "o"], [71403, 0, "s"], [71404, 0, "e"], [71405, 0, "d"], [71406, 0, "."], [71407, 0, " "], [71408, 0, "O"], [71409, 0, "u"], [71410, 0, "r"], [71411, 0, " "], [71412, 0, "\\"], [71413, 0, "t"], [71414, 0, "e"], [71415, 0, "x"], [71416, 0, "t"], [71417, 0, "s"], [71418, 0, "f"], [71419, 0, "{"], [71420, 0, "y"], [71421, 0, "i"], [71422, 0, "e"], [71423, 0, "l"], [71424, 0, "d"], [71425, 0, "}"], [71426, 0, " "], [71427, 0, "s"], [71428, 0, "t"], [71429, 0, "a"], [71430, 0, "t"], [71431, 0, "e"], [71432, 0, "m"], [71433, 0, "e"], [71434, 0, "n"], [71435, 0, "t"], [71436, 0, " "], [71437, 0, "i"], [71438, 0, "s"], [71439, 0, " "], [71440, 0, "i"], [71441, 0, "n"], [71442, 0, "s"], [71443, 0, "p"], [71444, 0, "i"], [71445, 0, "r"], [71446, 0, "e"], [71447, 0, "d"], [71448, 0, " "], [71449, 0, "b"], [71450, 0, "y"], [71451, 0, " "], [71452, 0, "B"], [71453, 0, "u"], [71454, 0, "r"], [71455, 0, "c"], [71456, 0, "k"], [71457, 0, "h"], [71458, 0, "a"], [71459, 0, "r"], [71460, 0, "d"], [71461, 0, "t"], [71462, 0, " "], [71463, 0, "e"], [71464, 0, "t"], [71465, 0, " "], [71466, 0, "a"], [71467, 0, "l"], [71468, 0, "."], [71407, 0, " "], [71408, 0, "T"], [71409, 0, "h"], [71410, 0, "e"], [71411, 0, " "], [71412, 0, "o"], [71413, 0, "n"], [71414, 0, "l"], [71415, 0, "y"], [71416, 0, " "], [71417, 0, "d"], [71418, 0, "e"], [71419, 0, "f"], [71420, 0, "i"], [71421, 0, "n"], [71422, 0, "e"], [71423, 0, "d"], [71424, 0, " "], [71425, 0, "c"], [71426, 0, "o"], [71427, 0, "l"], [71428, 0, "l"], [71429, 0, "e"], [71430, 0, "c"], [71431, 0, "t"], [71432, 0, "i"], [71433, 0, "o"], [71434, 0, "n"], [71435, 0, " "], [71436, 0, "t"], [71437, 0, "y"], [71438, 0, "p"], [71439, 0, "e"], [71440, 0, " "], [71441, 0, "i"], [71442, 0, "s"], [71443, 0, " "], [71444, 0, "t"], [71445, 0, "h"], [71446, 0, "e"], [71447, 0, " "], [71448, 0, "\\"], [71449, 0, "e"], [71450, 0, "m"], [71451, 0, "p"], [71452, 0, "h"], [71453, 0, "{"], [71454, 0, "c"], [71455, 0, "l"], [71456, 0, "o"], [71457, 0, "u"], [71458, 0, "d"], [71459, 0, " "], [71460, 0, "a"], [71461, 0, "r"], [71462, 0, "r"], [71463, 0, "a"], [71464, 0, "y"], [71465, 0, "}"], [71466, 0, ","], [71467, 0, " "], [71468, 0, "w"], [71469, 0, "h"], [71470, 0, "i"], [71471, 0, "c"], [71472, 0, "h"], [71473, 0, " "], [71474, 0, "i"], [71475, 0, "s"], [71476, 0, " "], [71477, 0, "s"], [71478, 0, "i"], [71479, 0, "m"], [71480, 0, "i"], [71481, 0, "l"], [71482, 0, "a"], [71483, 0, "r"], [71484, 0, " "], [71485, 0, "t"], [71486, 0, "o"], [71487, 0, " "], [71488, 0, "o"], [71489, 0, "u"], [71490, 0, "r"], [71491, 0, " "], [71492, 0, "m"], [71493, 0, "a"], [71494, 0, "p"], [71495, 0, " "], [71496, 0, "d"], [71497, 0, "a"], [71498, 0, "t"], [71499, 0, "a"], [71500, 0, "t"], [71501, 0, "y"], [71502, 0, "p"], [71503, 0, "e"], [71504, 0, ";"], [71505, 0, " "], [71506, 0, "o"], [71507, 0, "r"], [71508, 0, "d"], [71509, 0, "e"], [71510, 0, "r"], [71511, 0, "e"], [71512, 0, "d"], [71513, 0, " "], [71514, 0, "l"], [71515, 0, "i"], [71516, 0, "s"], [71517, 0, "t"], [71518, 0, "s"], [71519, 0, " "], [71520, 0, "a"], [71521, 0, "r"], [71522, 0, "e"], [71523, 0, " "], [71524, 0, "n"], [71525, 0, "o"], [71526, 0, "t"], [71527, 0, " "], [71528, 0, "s"], [71529, 0, "u"], [71530, 0, "p"], [71531, 0, "p"], [71532, 0, "o"], [71533, 0, "r"], [71534, 0, "t"], [71535, 0, "e"], [71536, 0, "d"], [71537, 0, "."], [71600, 0, "\n"], [71601, 0, "\n"], [71602, 0, "I"], [71603, 0, "n"], [71604, 0, " "], [71605, 0, "g"], [71606, 0, "e"], [71607, 0, "n"], [71608, 0, "e"], [71609, 0, "r"], [71610, 0, "a"], [71611, 0, "l"], [71612, 0, ","], [71613, 0, " "], [71614, 0, "w"], [71615, 0, "e"], [71616, 0, " "], [71617, 0, "a"], [71618, 0, "r"], [71619, 0, "e"], [71620, 0, " "], [71621, 0, "n"], [71622, 0, "o"], [71623, 0, "t"], [71624, 0, " "], [71625, 0, "a"], [71626, 0, "w"], [71627, 0, "a"], [71628, 0, "r"], [71629, 0, "e"], [71630, 0, " "], [71631, 0, "o"], [71632, 0, "f"], [71633, 0, " "], [71634, 0, "a"], [71635, 0, "n"], [71636, 0, "y"], [71637, 0, " "], [71611, 1], [71610, 1], [71609, 1], [71608, 1], [71607, 1], [71606, 1], [71605, 1], [71604, 1], [71603, 1], [71602, 1], [71602, 0, "A"], [71603, 0, "l"], [71604, 0, "t"], [71605, 0, "h"], [71606, 0, "o"], [71607, 0, "u"], [71608, 0, "g"], [71609, 0, "h"], [71610, 0, " "], [71611, 0, "l"], [71612, 0, "i"], [71612, 1], [71611, 1], [71611, 0, "C"], [71612, 0, "R"], [71613, 0, "D"], [71614, 0, "T"], [71615, 0, "s"], [71616, 0, " "], [71617, 0, "f"], [71618, 0, "o"], [71619, 0, "r"], [71620, 0, " "], [71621, 0, "r"], [71622, 0, "e"], [71623, 0, "g"], [71624, 0, "i"], [71625, 0, "s"], [71626, 0, "t"], [71627, 0, "e"], [71628, 0, "r"], [71629, 0, "s"], [71630, 0, ","], [71631, 0, " "], [71632, 0, "m"], [71633, 0, "a"], [71634, 0, "p"], [71635, 0, "s"], [71636, 0, " "], [71637, 0, "a"], [71638, 0, "n"], [71639, 0, "d"], [71640, 0, " "], [71641, 0, "o"], [71642, 0, "r"], [71643, 0, "d"], [71644, 0, "e"], [71645, 0, "r"], [71646, 0, "e"], [71647, 0, "d"], [71648, 0, " "], [71649, 0, "l"], [71650, 0, "i"], [71651, 0, "s"], [71652, 0, "t"], [71653, 0, "s"], [71654, 0, " "], [71655, 0, "h"], [71656, 0, "a"], [71657, 0, "v"], [71658, 0, "e"], [71659, 0, " "], [71660, 0, "e"], [71661, 0, "x"], [71662, 0, "i"], [71663, 0, "s"], [71664, 0, "t"], [71665, 0, "e"], [71666, 0, "d"], [71667, 0, " "], [71668, 0, "i"], [71669, 0, "n"], [71670, 0, " "], [71671, 0, "i"], [71672, 0, "s"], [71673, 0, "o"], [71674, 0, "l"], [71675, 0, "a"], [71676, 0, "t"], [71677, 0, "i"], [71678, 0, "o"], [71679, 0, "n"], [71680, 0, " "], [71681, 0, "f"], [71682, 0, "o"], [71683, 0, "r"], [71684, 0, " "], [71685, 0, "y"], [71686, 0, "e"], [71687, 0, "a"], [71688, 0, "r"], [71689, 0, "s"], [71716, 0, "p"], [71717, 0, "r"], [71718, 0, "i"], [71719, 0, "o"], [71720, 0, "r"], [71721, 0, " "], [71722, 0, "w"], [71723, 0, "o"], [71724, 0, "r"], [71725, 0, "k"], [71726, 0, " "], [71727, 0, "t"], [71728, 0, "h"], [71729, 0, "a"], [71730, 0, "t"], [71731, 0, " "], [71732, 0, "a"], [71733, 0, "l"], [71734, 0, "l"], [71735, 0, "o"], [71736, 0, "w"], [71737, 0, "s"], [71738, 0, " "], [71739, 0, "t"], [71740, 0, "h"], [71741, 0, "e"], [71742, 0, "m"], [71743, 0, " "], [71744, 0, "t"], [71745, 0, "o"], [71746, 0, " "], [71747, 0, "b"], [71748, 0, "e"], [71749, 0, " "], [71750, 0, "c"], [71751, 0, "o"], [71752, 0, "m"], [71753, 0, "p"], [71754, 0, "o"], [71755, 0, "s"], [71756, 0, "e"], [71757, 0, "d"], [71758, 0, " "], [71759, 0, "i"], [71760, 0, "n"], [71761, 0, "t"], [71762, 0, "o"], [71763, 0, " "], [71764, 0, "a"], [71765, 0, " "], [71766, 0, "c"], [71767, 0, "o"], [71768, 0, "m"], [71769, 0, "p"], [71770, 0, "o"], [71771, 0, "u"], [71772, 0, "n"], [71773, 0, "d"], [71774, 0, " "], [71775, 0, "C"], [71776, 0, "R"], [71777, 0, "D"], [71778, 0, "T"], [71779, 0, " "], [71780, 0, "w"], [71781, 0, "i"], [71782, 0, "t"], [71783, 0, "h"], [71784, 0, " "], [71785, 0, "a"], [71786, 0, " "], [71787, 0, "J"], [71788, 0, "S"], [71789, 0, "O"], [71790, 0, "N"], [71791, 0, "-"], [71792, 0, "l"], [71793, 0, "i"], [71794, 0, "k"], [71795, 0, "e"], [71796, 0, " "], [71797, 0, "s"], [71798, 0, "t"], [71799, 0, "r"], [71800, 0, "u"], [71801, 0, "c"], [71802, 0, "t"], [71803, 0, "u"], [71804, 0, "r"], [71805, 0, "e"], [71806, 0, "."], [71773, 1], [71772, 1], [71771, 1], [71770, 1], [71769, 1], [71768, 1], [71767, 1], [71766, 1], [71765, 1], [71765, 0, "n"], [71766, 0, " "], [71767, 0, "a"], [71768, 0, "r"], [71769, 0, "b"], [71770, 0, "i"], [71771, 0, "t"], [71772, 0, "r"], [71773, 0, "a"], [71774, 0, "r"], [71775, 0, "i"], [71776, 0, "l"], [71777, 0, "y"], [71667, 0, " "], [71668, 0, "f"], [71669, 0, "o"], [71670, 0, "r"], [71671, 0, " "], [71672, 0, "y"], [71673, 0, "e"], [71674, 0, "a"], [71675, 0, "r"], [71676, 0, "s"], [71677, 0, "f"], [71676, 1], [71676, 1], [71676, 0, "s"], [71690, 1], [71690, 1], [71690, 1], [71690, 1], [71690, 1], [71690, 1], [71690, 1], [71690, 1], [71690, 1], [71690, 1], [71743, 0, " "], [71744, 0, "a"], [71745, 0, "l"], [71746, 0, "l"], [71782, 0, " "], [71783, 0, "n"], [71784, 0, "e"], [71785, 0, "s"], [71786, 0, "t"], [71787, 0, "e"], [71788, 0, "d"], [71447, 1], [71446, 1], [71445, 1], [71444, 1], [71443, 1], [71442, 1], [71441, 1], [71440, 1], [71439, 1], [71438, 1], [71437, 1], [71436, 1], [71435, 1], [71434, 1], [71433, 1], [71432, 1], [71431, 1], [71430, 1], [71429, 1], [71428, 1], [71427, 1], [71426, 1], [71425, 1], [71424, 1], [71423, 1], [71422, 1], [71421, 1], [71420, 1], [71419, 1], [71418, 1], [71417, 1], [71416, 1], [71415, 1], [71414, 1], [71413, 1], [71412, 1], [71411, 1], [71410, 1], [71409, 1], [71408, 1], [71408, 0, "A"], [71409, 0, " "], [71434, 1], [71433, 1], [71432, 1], [71431, 1], [71430, 1], [71429, 1], [71428, 1], [71408, 1], [71408, 0, "T"], [71409, 0, "h"], [71410, 0, "i"], [71411, 0, "s"], [71412, 0, " "], [71413, 0, "m"], [71414, 0, "o"], [71415, 0, "d"], [71416, 0, "e"], [71417, 0, "l"], [71418, 0, " "], [71419, 0, "d"], [71420, 0, "e"], [71421, 0, "f"], [71422, 0, "i"], [71423, 0, "n"], [71424, 0, "e"], [71425, 0, "s"], [71444, 0, "s"], [71448, 1], [71447, 1], [71446, 1], [71445, 1], [71445, 0, "}"], [71446, 0, ","], [71447, 0, " "], [71448, 0, "w"], [71449, 0, "h"], [71450, 0, "i"], [71451, 0, "c"], [71452, 0, "h"], [71481, 0, ","], [71482, 0, " "], [71483, 0, "a"], [71484, 0, "n"], [71485, 0, "d"], [71486, 0, " "], [71487, 0, "\\"], [71488, 0, "e"], [71489, 0, "m"], [71490, 0, "p"], [71491, 0, "h"], [71492, 0, "{"], [71493, 0, "e"], [71494, 0, "n"], [71495, 0, "t"], [71496, 0, "i"], [71497, 0, "t"], [71498, 0, "y"], [71498, 1], [71498, 0, "i"], [71499, 0, "e"], [71500, 0, "s"], [71501, 0, "}"], [71502, 0, ","], [71503, 0, " "], [71504, 0, "w"], [71505, 0, "h"], [71506, 0, "i"], [71507, 0, "c"], [71508, 0, "h"], [71509, 0, " "], [71510, 0, "a"], [71511, 0, "r"], [71512, 0, "e"], [71513, 0, " "], [71514, 0, "l"], [71515, 0, "i"], [71516, 0, "k"], [71517, 0, "e"], [71518, 0, " "], [71519, 0, "t"], [71520, 0, "u"], [71521, 0, "p"], [71522, 0, "l"], [71523, 0, "e"], [71524, 0, "s"], [71525, 0, " "], [71526, 0, "i"], [71527, 0, "n"], [71528, 0, " "], [71529, 0, "t"], [71530, 0, "h"], [71531, 0, "e"], [71532, 0, " "], [71533, 0, "r"], [71534, 0, "e"], [71535, 0, "l"], [71536, 0, "a"], [71537, 0, "t"], [71538, 0, "i"], [71539, 0, "o"], [71540, 0, "n"], [71541, 0, "a"], [71542, 0, "l"], [71543, 0, " "], [71544, 0, "m"], [71545, 0, "o"], [71546, 0, "d"], [71547, 0, "e"], [71548, 0, "l"], [71549, 0, "."], [71550, 1], [71551, 1], [71551, 0, "O"], [71581, 1], [71580, 1], [71579, 1], [71578, 1], [71577, 1], [71576, 1], [71575, 1], [71574, 1], [71573, 1], [71573, 0, "d"], [71574, 0, "e"], [71575, 0, "f"], [71576, 0, "i"], [71577, 0, "n"], [71578, 0, "e"], [71579, 0, "d"], [71580, 0, " "], [71581, 0, "i"], [71582, 0, "n"], [71583, 0, " "], [71584, 0, "t"], [71585, 0, "h"], [71586, 0, "i"], [71587, 0, "s"], [71588, 0, " "], [71589, 0, "f"], [71590, 0, "r"], [71591, 0, "a"], [71592, 0, "m"], [71593, 0, "e"], [71594, 0, "w"], [71595, 0, "o"], [71596, 0, "r"], [71597, 0, "k"], [71446, 0, " "], [71447, 0, "a"], [71448, 0, "n"], [71449, 0, "d"], [71450, 0, " "], [71451, 0, "\\"], [71452, 0, "e"], [71453, 0, "m"], [71454, 0, "p"], [71455, 0, "h"], [71456, 0, "{"], [71457, 0, "e"], [71458, 0, "n"], [71459, 0, "t"], [71460, 0, "i"], [71461, 0, "t"], [71462, 0, "i"], [71463, 0, "e"], [71464, 0, "s"], [71465, 0, "}"], [71473, 0, " "], [71474, 0, "b"], [71475, 0, "e"], [71476, 0, "h"], [71477, 0, "a"], [71478, 0, "v"], [71479, 0, "e"], [71488, 0, "l"], [71489, 0, "y"], [71577, 1], [71576, 1], [71575, 1], [71574, 1], [71573, 1], [71572, 1], [71571, 1], [71570, 1], [71569, 1], [71568, 1], [71567, 1], [71566, 1], [71565, 1], [71564, 1], [71563, 1], [71562, 1], [71561, 1], [71560, 1], [71559, 1], [71558, 1], [71557, 1], [71556, 1], [71555, 1], [71554, 1], [71553, 1], [71552, 1], [71551, 1], [71550, 1], [71549, 1], [71548, 1], [71547, 1], [71546, 1], [71545, 1], [71544, 1], [71543, 1], [71542, 1], [71541, 1], [71540, 1], [71539, 1], [71538, 1], [71537, 1], [71536, 1], [71535, 1], [71534, 1], [71533, 1], [71532, 1], [71531, 1], [71530, 1], [71529, 1], [71528, 1], [71527, 1], [71526, 1], [71525, 1], [71524, 1], [71523, 1], [71522, 1], [71521, 1], [71520, 1], [71519, 1], [71518, 1], [71517, 1], [71516, 1], [71515, 1], [71514, 1], [71513, 1], [71512, 1], [71511, 1], [71510, 1], [71510, 0, ";"], [71511, 1], [71512, 1], [71512, 0, "o"], [71408, 1], [71408, 1], [71408, 1], [71408, 1], [71408, 1], [71408, 1], [71408, 1], [71408, 1], [71408, 1], [71408, 1], [71408, 0, "T"], [71409, 0, "h"], [71410, 0, "e"], [71411, 0, "y"], [71419, 1], [71458, 1], [71457, 1], [71456, 1], [71455, 1], [71454, 1], [71453, 1], [71452, 1], [71451, 1], [71450, 1], [71449, 1], [71448, 1], [71447, 1], [71446, 1], [71445, 1], [71444, 1], [71443, 1], [71442, 1], [71441, 1], [71440, 1], [71439, 1], [71483, 0, ","], [71484, 0, " "], [71485, 0, "a"], [71486, 0, "n"], [71487, 0, "d"], [71488, 0, " "], [71489, 0, "\\"], [71490, 0, "e"], [71491, 0, "m"], [71492, 0, "p"], [71493, 0, "h"], [71494, 0, "{"], [71495, 0, "e"], [71496, 0, "n"], [71497, 0, "t"], [71498, 0, "i"], [71499, 0, "t"], [71500, 0, "i"], [71501, 0, "e"], [71502, 0, "s"], [71503, 0, "}"], [71504, 0, ","], [71505, 0, " "], [71506, 0, "w"], [71507, 0, "h"], [71508, 0, "i"], [71509, 0, "c"], [71510, 0, "h"], [71511, 0, " "], [71512, 0, "a"], [71513, 0, "r"], [71514, 0, "e"], [71515, 0, " "], [71516, 0, "l"], [71517, 0, "i"], [71518, 0, "k"], [71519, 0, "e"], [71520, 0, " "], [71521, 0, "u"], [71522, 0, "n"], [71523, 0, "o"], [71524, 0, "r"], [71525, 0, "d"], [71526, 0, "e"], [71527, 0, "r"], [71528, 0, "e"], [71529, 0, "d"], [71530, 0, " "], [71531, 0, "s"], [71532, 0, "e"], [71533, 0, "t"], [71534, 0, "s"], [71535, 0, " "], [71536, 0, "o"], [71537, 0, "r"], [71538, 0, " "], [71539, 0, "r"], [71540, 0, "e"], [71541, 0, "l"], [71542, 0, "a"], [71543, 0, "t"], [71544, 0, "i"], [71545, 0, "o"], [71546, 0, "n"], [71547, 0, "s"], [71157, 0, ","], [71158, 0, " "], [71158, 1], [71157, 1], [71158, 0, " "], [71159, 0, "A"], [71160, 0, "l"], [71161, 0, "m"], [71162, 0, "e"], [71163, 0, "i"], [71164, 0, "d"], [71165, 0, "a"], [71166, 0, " "], [71167, 0, "e"], [71168, 0, "t"], [71169, 0, " "], [71170, 0, "a"], [71171, 0, "l"], [71172, 0, "."], [71173, 0, "~"], [71174, 0, "\\"], [71175, 0, "c"], [71176, 0, "i"], [71177, 0, "t"], [71178, 0, "e"], [71179, 0, "{"], [71180, 0, "A"], [71181, 0, "l"], [71182, 0, "m"], [71183, 0, "e"], [71184, 0, "i"], [71185, 0, "d"], [71186, 0, "a"], [71187, 0, ":"], [71188, 0, "2"], [71189, 0, "0"], [71190, 0, "1"], [71191, 0, "6"], [71192, 0, "t"], [71193, 0, "k"], [71194, 0, "}"], [71195, 0, " "], [71196, 0, "a"], [71197, 0, "l"], [71198, 0, "s"], [71199, 0, "o"], [71200, 0, " "], [71201, 0, "d"], [71202, 0, "e"], [71203, 0, "f"], [71204, 0, "i"], [71205, 0, "n"], [71206, 0, "e"], [71207, 0, " "], [71208, 0, "d"], [71209, 0, "e"], [71210, 0, "l"], [71211, 0, "t"], [71212, 0, "a"], [71213, 0, " "], [71214, 0, "m"], [71215, 0, "u"], [71216, 0, "t"], [71217, 0, "a"], [71218, 0, "t"], [71219, 0, "i"], [71220, 0, "o"], [71221, 0, "n"], [71222, 0, " "], [71222, 1], [71222, 0, "s"], [71223, 0, " "], [71224, 0, "f"], [71225, 0, "o"], [71226, 0, "r"], [71227, 0, " "], [71228, 0, "n"], [71229, 0, "e"], [71230, 0, "s"], [71231, 0, "t"], [71232, 0, "e"], [71233, 0, "d"], [71234, 0, " "], [71235, 0, "m"], [71236, 0, "a"], [71237, 0, "p"], [71238, 0, "s"], [71239, 0, ","], [71240, 0, " "], [71241, 0, "a"], [71242, 0, "n"], [71243, 0, "d"], [71285, 1], [71284, 1], [71283, 1], [71282, 1], [71281, 1], [71369, 0, " "], [71370, 0, "A"], [71371, 0, "l"], [71372, 0, "t"], [71373, 0, "h"], [71374, 0, "o"], [71375, 0, "u"], [71376, 0, "g"], [71377, 0, "h"], [71378, 0, " "], [70983, 1], [70982, 1], [70981, 1], [70980, 1], [70979, 1], [70978, 1], [70977, 1], [70976, 1], [70975, 1], [70974, 1], [70973, 1], [70972, 1], [70971, 1], [70970, 1], [70969, 1], [70968, 1], [70967, 1], [70966, 1], [70965, 1], [70964, 1], [70963, 1], [70962, 1], [70961, 1], [70960, 1], [70959, 1], [70958, 1], [70957, 1], [70956, 1], [70955, 1], [70954, 1], [70953, 1], [70952, 1], [70951, 1], [70950, 1], [70949, 1], [70948, 1], [71342, 1], [71341, 1], [71340, 1], [71339, 1], [71338, 1], [71337, 1], [71336, 1], [71335, 1], [71334, 1], [71334, 0, "N"], [71335, 0, "o"], [71336, 0, "n"], [71337, 0, "e"], [71338, 0, " "], [71339, 0, "o"], [71340, 0, "f"], [71341, 0, " "], [71342, 0, "t"], [71343, 0, "h"], [71344, 0, "i"], [71345, 0, "s"], [71346, 0, " "], [71347, 0, "w"], [71348, 0, "o"], [71349, 0, "r"], [71350, 0, "k"], [71351, 0, " "], [71352, 0, "i"], [71353, 0, "n"], [71354, 0, "t"], [71355, 0, "e"], [71356, 0, "g"], [71357, 0, "r"], [71358, 0, "a"], [71359, 0, "t"], [71360, 0, "e"], [71361, 0, "s"], [71362, 0, " "], [71363, 0, "C"], [71364, 0, "R"], [71365, 0, "D"], [71366, 0, "T"], [71367, 0, "s"], [71368, 0, " "], [71369, 0, "f"], [71370, 0, "o"], [71371, 0, "r"], [71372, 0, " "], [71373, 0, "o"], [71374, 0, "r"], [71375, 0, "d"], [71376, 0, "e"], [71377, 0, "r"], [71378, 0, "e"], [71379, 0, "d"], [71380, 0, " "], [71381, 0, "l"], [71382, 0, "i"], [71383, 0, "s"], [71384, 0, "t"], [71385, 0, "s"], [71386, 0, ","], [71387, 0, " "], [71388, 0, "b"], [71389, 0, "u"], [71390, 0, "t"], [71391, 0, " "], [71392, 0, "t"], [71393, 0, "h"], [71394, 0, "e"], [71395, 0, " "], [71396, 0, "t"], [71397, 0, "r"], [71398, 0, "e"], [71399, 0, "a"], [71400, 0, "t"], [71401, 0, "m"], [71402, 0, "e"], [71403, 0, "n"], [71404, 0, "t"], [71405, 0, " "], [71406, 0, "o"], [71407, 0, "f"], [71408, 0, " "], [71409, 0, "c"], [71410, 0, "a"], [71411, 0, "u"], [71412, 0, "s"], [71413, 0, "a"], [71414, 0, "l"], [71415, 0, "i"], [71416, 0, "t"], [71417, 0, "y"], [71418, 0, " "], [71419, 0, "i"], [71420, 0, "n"], [71421, 0, " "], [71422, 0, "t"], [71423, 0, "h"], [71424, 0, "e"], [71425, 0, "s"], [71426, 0, "e"], [71427, 0, " "], [71428, 0, "d"], [71429, 0, "a"], [71430, 0, "t"], [71431, 0, "a"], [71432, 0, "t"], [71433, 0, "y"], [71434, 0, "p"], [71435, 0, "e"], [71436, 0, "s"], [71437, 0, " "], [71438, 0, "i"], [71439, 0, "s"], [71440, 0, " "], [71441, 0, "t"], [71442, 0, "h"], [71443, 0, "e"], [71444, 0, " "], [71444, 1], [71443, 1], [71442, 1], [71441, 1], [71441, 0, "a"], [71442, 0, " "], [71443, 0, "b"], [71444, 0, "a"], [71445, 0, "s"], [71446, 0, "i"], [71447, 0, "s"], [71448, 0, " "], [71449, 0, "f"], [71450, 0, "o"], [71451, 0, "r"], [71452, 0, " "], [71453, 0, "t"], [71454, 0, "h"], [71455, 0, "e"], [71456, 0, " "], [71457, 0, "s"], [71458, 0, "e"], [71459, 0, "m"], [71460, 0, "a"], [71461, 0, "n"], [71462, 0, "t"], [71463, 0, "i"], [71464, 0, "c"], [71465, 0, "s"], [71466, 0, " "], [71467, 0, "i"], [71468, 0, "n"], [71469, 0, " "], [71470, 0, "t"], [71471, 0, "h"], [71472, 0, "s"], [71473, 0, "i"], [71473, 1], [71472, 1], [71472, 0, "i"], [71473, 0, "s"], [71474, 0, " "], [71475, 0, "a"], [71476, 0, "p"], [71476, 1], [71475, 1], [71475, 0, "p"], [71476, 0, "a"], [71477, 0, "p"], [71478, 0, "e"], [71479, 0, "r"], [71480, 0, "."], [71438, 1], [71438, 1], [71438, 0, "f"], [71439, 0, "o"], [71440, 0, "r"], [71441, 0, "m"], [71442, 0, "s"], [71469, 0, " "], [71470, 0, "d"], [71471, 0, "e"], [71472, 0, "v"], [71473, 0, "e"], [71474, 0, "l"], [71475, 0, "o"], [71476, 0, "p"], [71477, 0, "e"], [71478, 0, "d"], [73619, 1], [73619, 1], [73619, 1], [73619, 1], [73619, 1], [73619, 1], [73619, 1], [73619, 1], [73619, 1], [73619, 1], [73619, 1], [73619, 1], [73619, 1], [73619, 1], [73619, 1], [73675, 1], [73645, 1], [73644, 1], [73643, 1], [73642, 1], [73641, 1], [73640, 1], [73639, 1], [73638, 1], [73638, 0, "I"], [73639, 0, "E"], [73640, 0, "E"], [73641, 0, "E"], [73642, 0, "t"], [73643, 0, "r"], [73644, 0, "a"], [73645, 0, "n"], [11736, 1], [11736, 1], [11736, 1], [11736, 1], [11736, 1], [11736, 1], [11736, 1], [11736, 1], [11736, 1], [11736, 1], [11736, 1], [11736, 1], [11736, 1], [11736, 1], [11736, 1], [11736, 1], [11736, 1], [11736, 1], [11736, 1], [11736, 1], [11736, 1], [11736, 1], [11736, 1], [11736, 1], [11735, 1], [11735, 0, "~"], [11736, 0, "\\"], [11737, 0, "c"], [11738, 0, "i"], [11739, 0, "t"], [11740, 0, "e"], [11741, 0, "{"], [11742, 0, "D"], [11743, 0, "a"], [11744, 0, "v"], [11745, 0, "i"], [11746, 0, "s"], [11747, 0, ":"], [11748, 0, "2"], [11749, 0, "0"], [11750, 0, "0"], [11751, 0, "2"], [11752, 0, "i"], [11753, 0, "v"], [11754, 0, ","], [11755, 0, "I"], [11756, 0, "g"], [11757, 0, "n"], [11758, 0, "a"], [11759, 0, "t"], [11760, 0, ":"], [11761, 0, "2"], [11762, 0, "0"], [11763, 0, "0"], [11764, 0, "3"], [11765, 0, "j"], [11766, 0, "y"], [11767, 0, ","], [11768, 0, "W"], [11769, 0, "a"], [11770, 0, "n"], [11771, 0, "g"], [11772, 0, ":"], [11773, 0, "2"], [11774, 0, "0"], [11775, 0, "1"], [11776, 0, "5"], [11777, 0, "v"], [11778, 0, "a"], [11779, 0, "}"], [12995, 0, "\n"], [12996, 0, "\n"], [12997, 0, "W"], [12998, 0, "e"], [12999, 0, " "], [13000, 0, "d"], [13001, 0, "i"], [13002, 0, "s"], [13003, 0, "c"], [13004, 0, "u"], [13005, 0, "s"], [13006, 0, "s"], [13007, 0, " "], [13008, 0, "r"], [13009, 0, "e"], [13010, 0, "l"], [13011, 0, "a"], [13012, 0, "t"], [13013, 0, "e"], [13014, 0, "d"], [13015, 0, " "], [13016, 0, "w"], [13017, 0, "o"], [13018, 0, "r"], [13019, 0, "k"], [13020, 0, " "], [13020, 1], [13019, 1], [13018, 1], [13017, 1], [13016, 1], [13015, 1], [13014, 1], [13013, 1], [13012, 1], [13011, 1], [13010, 1], [13009, 1], [13008, 1], [13008, 0, "e"], [13009, 0, "x"], [13010, 0, "i"], [13011, 0, "s"], [13012, 0, "t"], [13013, 0, "i"], [13014, 0, "n"], [13015, 0, "g"], [13016, 0, " "], [13017, 0, "a"], [13018, 0, "l"], [13019, 0, "g"], [13020, 0, "o"], [13021, 0, "r"], [13022, 0, "i"], [13023, 0, "t"], [13024, 0, "h"], [13025, 0, "m"], [13026, 0, "s"], [13027, 0, " "], [13028, 0, "f"], [13029, 0, "o"], [13030, 0, "r"], [13031, 0, " "], [13032, 0, "c"], [13033, 0, "o"], [13034, 0, "l"], [13035, 0, "l"], [13036, 0, "a"], [13037, 0, "b"], [13038, 0, "o"], [13039, 0, "r"], [13040, 0, "a"], [13041, 0, "t"], [13042, 0, "i"], [13043, 0, "v"], [13044, 0, "e"], [13045, 0, " "], [13046, 0, "e"], [13047, 0, "d"], [13048, 0, "i"], [13049, 0, "t"], [13050, 0, "i"], [13051, 0, "n"], [13052, 0, "g"], [13053, 0, " "], [13054, 0, "i"], [13055, 0, "n"], [13056, 0, " "], [13057, 0, "s"], [13058, 0, "e"], [13059, 0, "c"], [13060, 0, "t"], [13061, 0, "i"], [13062, 0, "o"], [13063, 0, "n"], [13064, 0, "~"], [13065, 0, "\\"], [13066, 0, "r"], [13067, 0, "e"], [13068, 0, "f"], [13069, 0, "{"], [13070, 0, "s"], [13071, 0, "e"], [13072, 0, "c"], [13073, 0, ":"], [13074, 0, "r"], [13075, 0, "e"], [13076, 0, "l"], [13077, 0, "a"], [13078, 0, "t"], [13079, 0, "e"], [13080, 0, "d"], [13081, 0, "-"], [13082, 0, "o"], [13083, 0, "t"], [13084, 0, "}"], [13085, 0, "."], [11778, 1], [11778, 0, "o"], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1094, 1], [1070, 0, "\\"], [1071, 0, "I"], [1072, 0, "E"], [1073, 0, "E"], [1074, 0, "E"], [1075, 0, "r"], [1076, 0, "a"], [1077, 0, "i"], [1078, 0, "s"], [1079, 0, "e"], [1080, 0, "s"], [1081, 0, "e"], [1082, 0, "c"], [1083, 0, "t"], [1084, 0, "i"], [1085, 0, "o"], [1086, 0, "n"], [1087, 0, "h"], [1088, 0, "e"], [1089, 0, "a"], [1090, 0, "d"], [1091, 0, "i"], [1092, 0, "n"], [1093, 0, "g"], [1094, 0, "{"], [1117, 0, "\\"], [1118, 0, "l"], [1119, 0, "a"], [1120, 0, "b"], [1121, 0, "e"], [1122, 0, "l"], [1123, 0, "{"], [1124, 0, "s"], [1125, 0, "e"], [1126, 0, "c"], [1127, 0, ":"], [1128, 0, "i"], [1129, 0, "n"], [1130, 0, "t"], [1131, 0, "r"], [1132, 0, "o"], [1133, 0, "d"], [1134, 0, "u"], [1135, 0, "c"], [1136, 0, "t"], [1137, 0, "i"], [1138, 0, "o"], [1139, 0, "n"], [1140, 0, "}"], [1141, 0, "}"], [1143, 0, "\n"], [1144, 0, "\\"], [1145, 0, "I"], [1146, 0, "E"], [1147, 0, "E"], [1148, 0, "E"], [1149, 0, "P"], [1150, 0, "A"], [1151, 0, "R"], [1152, 0, "s"], [1153, 0, "t"], [1154, 0, "a"], [1155, 0, "r"], [1156, 0, "t"], [1157, 0, "{"], [1158, 0, "T"], [1159, 0, "}"], [1160, 0, "{"], [1161, 0, "t"], [1162, 0, "h"], [1163, 0, "i"], [1164, 0, "s"], [1165, 0, "}"], [1166, 0, " "], [1167, 0, "i"], [1168, 0, "s"], [1169, 0, " "], [1170, 0, "w"], [1171, 0, "h"], [1172, 0, "e"], [1173, 0, "r"], [1174, 0, "e"], [1175, 0, " "], [1176, 0, "t"], [1177, 0, "h"], [1178, 0, "e"], [1179, 0, " "], [1180, 0, "i"], [1181, 0, "n"], [1182, 0, "t"], [1183, 0, "r"], [1184, 0, "o"], [1185, 0, "d"], [1186, 0, "u"], [1187, 0, "c"], [1188, 0, "t"], [1189, 0, "i"], [1190, 0, "o"], [1191, 0, "n"], [1192, 0, " "], [1193, 0, "s"], [1194, 0, "h"], [1195, 0, "o"], [1196, 0, "u"], [1197, 0, "l"], [1198, 0, "d"], [1199, 0, " "], [1200, 0, "g"], [1201, 0, "o"], [1202, 0, " "], [1203, 0, "("], [1204, 0, "T"], [1205, 0, "O"], [1206, 0, "D"], [1207, 0, "O"], [1208, 0, ")"], [1209, 0, "."], [1210, 0, " "], [1211, 0, "L"], [1212, 0, "o"], [1213, 0, "r"], [1214, 0, "e"], [1215, 0, "m"], [1216, 0, " "], [1217, 0, "i"], [1218, 0, "p"], [1219, 0, "s"], [1220, 0, "u"], [1221, 0, "m"], [1222, 0, " "], [1223, 0, "d"], [1224, 0, "o"], [1225, 0, "l"], [1226, 0, "o"], [1227, 0, "r"], [1228, 0, " "], [1229, 0, "s"], [1230, 0, "i"], [1231, 0, "t"], [1232, 0, " "], [1233, 0, "a"], [1234, 0, "m"], [1235, 0, "e"], [1236, 0, "t"], [1237, 0, ","], [1238, 0, " "], [1239, 0, "c"], [1240, 0, "o"], [1241, 0, "n"], [1242, 0, "s"], [1243, 0, "e"], [1244, 0, "c"], [1245, 0, "t"], [1246, 0, "e"], [1247, 0, "t"], [1248, 0, "u"], [1249, 0, "r"], [1250, 0, " "], [1251, 0, "a"], [1252, 0, "d"], [1253, 0, "i"], [1254, 0, "p"], [1255, 0, "i"], [1256, 0, "s"], [1257, 0, "c"], [1258, 0, "i"], [1259, 0, "n"], [1260, 0, "g"], [1261, 0, " "], [1262, 0, "e"], [1263, 0, "l"], [1264, 0, "i"], [1265, 0, "t"], [1266, 0, "."], [1267, 0, " "], [1268, 0, "S"], [1269, 0, "u"], [1270, 0, "s"], [1271, 0, "p"], [1272, 0, "e"], [1273, 0, "n"], [1274, 0, "d"], [1275, 0, "i"], [1276, 0, "s"], [1277, 0, "s"], [1278, 0, "e"], [1279, 0, " "], [1280, 0, "m"], [1281, 0, "a"], [1282, 0, "t"], [1283, 0, "t"], [1284, 0, "i"], [1285, 0, "s"], [1286, 0, " "], [1287, 0, "l"], [1288, 0, "e"], [1289, 0, "o"], [1290, 0, " "], [1291, 0, "c"], [1292, 0, "u"], [1293, 0, "r"], [1294, 0, "s"], [1295, 0, "u"], [1296, 0, "s"], [1297, 0, " "], [1298, 0, "t"], [1299, 0, "o"], [1300, 0, "r"], [1301, 0, "t"], [1302, 0, "o"], [1303, 0, "r"], [1304, 0, " "], [1305, 0, "m"], [1306, 0, "a"], [1307, 0, "t"], [1308, 0, "t"], [1309, 0, "i"], [1310, 0, "s"], [1311, 0, " "], [1312, 0, "t"], [1313, 0, "i"], [1314, 0, "n"], [1315, 0, "c"], [1316, 0, "i"], [1317, 0, "d"], [1318, 0, "u"], [1319, 0, "n"], [1320, 0, "t"], [1321, 0, "."], [1322, 0, " "], [1323, 0, "D"], [1324, 0, "o"], [1325, 0, "n"], [1326, 0, "e"], [1327, 0, "c"], [1328, 0, " "], [1329, 0, "s"], [1330, 0, "e"], [1331, 0, "d"], [1332, 0, " "], [1333, 0, "b"], [1334, 0, "i"], [1335, 0, "b"], [1336, 0, "e"], [1337, 0, "n"], [1338, 0, "d"], [1339, 0, "u"], [1340, 0, "m"], [1341, 0, " "], [1342, 0, "p"], [1343, 0, "u"], [1344, 0, "r"], [1345, 0, "u"], [1346, 0, "s"], [1347, 0, ","], [1348, 0, " "], [1349, 0, "v"], [1350, 0, "e"], [1351, 0, "l"], [1352, 0, " "], [1353, 0, "b"], [1354, 0, "l"], [1355, 0, "a"], [1356, 0, "n"], [1357, 0, "d"], [1358, 0, "i"], [1359, 0, "t"], [1360, 0, " "], [1361, 0, "e"], [1362, 0, "r"], [1363, 0, "a"], [1364, 0, "t"], [1365, 0, "."], [1046, 1], [1046, 1], [1046, 1], [1046, 1], [1046, 1], [1046, 1], [1046, 1], [1046, 1], [1046, 1], [1046, 1], [1046, 1], [1046, 1], [1046, 1], [1046, 1], [1046, 1], [1046, 1], [1046, 1], [1046, 1], [1046, 1], [1046, 1], [1046, 1], [1046, 1], [1046, 1], [1046, 1], [1033, 0, "\n"], [1034, 0, "\n"], [1035, 0, "\\"], [1036, 0, "I"], [1037, 0, "E"], [1038, 0, "E"], [1039, 0, "E"], [1040, 0, "t"], [1041, 0, "i"], [1042, 0, "t"], [1043, 0, "l"], [1044, 0, "e"], [1045, 0, "a"], [1046, 0, "b"], [1047, 0, "s"], [1048, 0, "t"], [1049, 0, "r"], [1050, 0, "a"], [1051, 0, "c"], [1052, 0, "t"], [1053, 0, "i"], [1054, 0, "n"], [1055, 0, "d"], [1056, 0, "e"], [1057, 0, "x"], [1058, 0, "t"], [1059, 0, "e"], [1060, 0, "x"], [1061, 0, "t"], [1062, 0, "{"], [1063, 0, "%"], [1064, 0, "\n"], [1065, 0, "\\"], [1066, 0, "b"], [1067, 0, "e"], [1068, 0, "g"], [1069, 0, "i"], [1070, 0, "n"], [1071, 0, "{"], [1072, 0, "a"], [1073, 0, "b"], [1074, 0, "s"], [1075, 0, "t"], [1076, 0, "r"], [1077, 0, "a"], [1078, 0, "c"], [1079, 0, "t"], [1080, 0, "}"], [1081, 0, "\n"], [1082, 0, "T"], [1083, 0, "O"], [1084, 0, "D"], [1085, 0, "\\"], [1086, 0, "e"], [1087, 0, "n"], [1088, 0, "d"], [1089, 0, "{"], [1090, 0, "a"], [1091, 0, "b"], [1092, 0, "s"], [1093, 0, "t"], [1094, 0, "r"], [1095, 0, "a"], [1096, 0, "c"], [1097, 0, "t"], [1098, 0, "}"], [1085, 0, "O"], [1086, 0, "\n"], [1101, 0, "\n"], [1102, 0, "\n"], [1103, 0, "\\"], [1104, 0, "b"], [1105, 0, "e"], [1106, 0, "g"], [1107, 0, "i"], [1108, 0, "n"], [1109, 0, "{"], [1110, 0, "I"], [1111, 0, "E"], [1112, 0, "E"], [1113, 0, "E"], [1114, 0, "k"], [1115, 0, "e"], [1116, 0, "y"], [1117, 0, "w"], [1118, 0, "o"], [1119, 0, "r"], [1120, 0, "d"], [1121, 0, "s"], [1122, 0, "}"], [1123, 0, "\n"], [1124, 0, "C"], [1125, 0, "R"], [1126, 0, "D"], [1127, 0, "T"], [1128, 0, "s"], [1129, 0, ","], [1130, 0, " "], [1131, 0, "C"], [1132, 0, "o"], [1133, 0, "l"], [1134, 0, "l"], [1135, 0, "a"], [1136, 0, "b"], [1137, 0, "o"], [1138, 0, "r"], [1139, 0, "a"], [1140, 0, "t"], [1141, 0, "i"], [1142, 0, "v"], [1143, 0, "e"], [1144, 0, " "], [1145, 0, "E"], [1146, 0, "d"], [1147, 0, "i"], [1148, 0, "t"], [1149, 0, "i"], [1150, 0, "n"], [1151, 0, "g"], [1152, 0, ","], [1153, 0, " "], [1154, 0, "P"], [1155, 0, "2"], [1156, 0, "P"], [1157, 0, ","], [1158, 0, " "], [1159, 0, "J"], [1160, 0, "S"], [1161, 0, "O"], [1162, 0, "N"], [1163, 0, ","], [1164, 0, " "], [1165, 0, "O"], [1166, 0, "p"], [1167, 0, "t"], [1168, 0, "i"], [1169, 0, "m"], [1170, 0, "i"], [1171, 0, "s"], [1172, 0, "t"], [1173, 0, "i"], [1174, 0, "c"], [1175, 0, " "], [1176, 0, "R"], [1177, 0, "e"], [1178, 0, "p"], [1179, 0, "l"], [1180, 0, "i"], [1181, 0, "c"], [1182, 0, "a"], [1183, 0, "t"], [1184, 0, "i"], [1185, 0, "o"], [1186, 0, "n"], [1187, 0, ","], [1188, 0, " "], [1189, 0, "S"], [1190, 0, "e"], [1191, 0, "m"], [1192, 0, "a"], [1193, 0, "n"], [1194, 0, "t"], [1195, 0, "i"], [1196, 0, "c"], [1197, 0, "s"], [1198, 0, ","], [1199, 0, " "], [1200, 0, "E"], [1201, 0, "v"], [1202, 0, "e"], [1203, 0, "n"], [1204, 0, "t"], [1205, 0, "u"], [1206, 0, "a"], [1207, 0, "l"], [1208, 0, " "], [1209, 0, "C"], [1210, 0, "o"], [1211, 0, "n"], [1212, 0, "s"], [1213, 0, "i"], [1214, 0, "s"], [1215, 0, "t"], [1216, 0, "e"], [1217, 0, "n"], [1218, 0, "c"], [1219, 0, "y"], [1220, 0, "."], [1221, 0, "\n"], [1222, 0, "\\"], [1223, 0, "e"], [1224, 0, "n"], [1225, 0, "d"], [1226, 0, "{"], [1227, 0, "I"], [1228, 0, "E"], [1229, 0, "E"], [1230, 0, "E"], [1231, 0, "k"], [1232, 0, "e"], [1233, 0, "y"], [1234, 0, "w"], [1235, 0, "o"], [1236, 0, "r"], [1237, 0, "d"], [1238, 0, "s"], [1239, 0, "}"], [1240, 0, "}"], [15, 1], [15, 1], [15, 1], [15, 1], [15, 1], [15, 1], [15, 1], [15, 1], [15, 1], [15, 1], [15, 1], [15, 1], [15, 1], [15, 1], [15, 1], [15, 1], [15, 1], [15, 1], [19, 0, ","], [20, 0, "j"], [21, 0, "o"], [22, 0, "u"], [23, 0, "r"], [24, 0, "n"], [25, 0, "a"], [26, 0, "l"], [27, 0, ","], [28, 0, "c"], [29, 0, "o"], [30, 0, "m"], [31, 0, "p"], [32, 0, "s"], [33, 0, "o"], [34, 0, "c"], [37, 1], [37, 1], [37, 1], [37, 1], [37, 1], [37, 1], [37, 1], [37, 0, "I"], [38, 0, "E"], [39, 0, "E"], [40, 0, "E"], [41, 0, "t"], [42, 0, "r"], [43, 0, "a"], [44, 0, "n"], [388, 1], [387, 1], [386, 1], [385, 1], [384, 1], [383, 1], [383, 0, "c"], [384, 0, "i"], [385, 0, "t"], [386, 0, "e"], [380, 1], [379, 1], [378, 1], [377, 1], [376, 1], [375, 1], [374, 1], [373, 1], [372, 1], [371, 1], [370, 1], [370, 0, "o"], [371, 0, "c"], [372, 0, "o"], [373, 0, "m"], [374, 0, "p"], [375, 0, "r"], [376, 0, "e"], [377, 0, "s"], [378, 0, "s"], [333, 1], [332, 1], [331, 1], [330, 1], [329, 1], [328, 1], [327, 1], [326, 1], [325, 1], [324, 1], [323, 1], [322, 1], [321, 1], [320, 1], [319, 1], [318, 1], [317, 1], [146, 0, "%"], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [146, 1], [266, 0, "%"], [266, 1], [415, 0, "n"], [416, 0, "e"], [417, 0, "t"], [418, 0, "-"], [419, 0, "w"], [420, 0, "o"], [421, 0, "r"], [422, 0, "k"], [423, 0, "s"], [424, 0, " "], [437, 1], [437, 1], [437, 1], [437, 1], [437, 1], [437, 1], [437, 1], [437, 1], [437, 1], [437, 1], [437, 1], [437, 1], [437, 1], [437, 1], [437, 1], [953, 0, "A"], [954, 0, "u"], [955, 0, "t"], [956, 0, "h"], [957, 0, "o"], [958, 0, "r"], [959, 0, " "], [960, 0, "1"], [961, 0, " "], [962, 0, "a"], [963, 0, "n"], [964, 0, "d"], [965, 0, " "], [966, 0, "A"], [967, 0, "u"], [968, 0, "t"], [969, 0, "h"], [970, 0, "o"], [971, 0, "r"], [972, 0, " "], [973, 0, "2"], [974, 0, "\n"], [975, 0, "\\"], [976, 0, "I"], [977, 0, "E"], [978, 0, "E"], [979, 0, "E"], [980, 0, "c"], [981, 0, "o"], [982, 0, "m"], [983, 0, "p"], [984, 0, "s"], [985, 0, "o"], [986, 0, "c"], [987, 0, "i"], [987, 1], [986, 1], [985, 1], [984, 1], [983, 1], [982, 1], [981, 1], [980, 1], [979, 1], [978, 1], [977, 1], [976, 1], [976, 0, "t"], [977, 0, "h"], [978, 0, "a"], [979, 0, "n"], [980, 0, "k"], [981, 0, "s"], [982, 0, "{"], [983, 0, "A"], [984, 0, "u"], [985, 0, "t"], [986, 0, "h"], [987, 0, "o"], [988, 0, "r"], [989, 0, " "], [990, 0, "a"], [991, 0, "f"], [992, 0, "f"], [993, 0, "i"], [994, 0, "l"], [995, 0, "i"], [996, 0, "a"], [997, 0, "t"], [998, 0, "i"], [999, 0, "o"], [1000, 0, "n"], [1001, 0, " "], [1002, 0, "g"], [1003, 0, "o"], [1004, 0, "e"], [1005, 0, "s"], [1006, 0, " "], [1007, 0, "h"], [1008, 0, "e"], [1009, 0, "r"], [1010, 0, "e"], [1011, 0, "."], [1012, 0, "}"], [473, 1], [472, 1], [471, 1], [470, 1], [469, 1], [469, 0, "t"], [470, 0, "r"], [471, 0, "u"], [472, 0, "e"], [1322, 1], [1322, 0, "U"], [1328, 1], [1327, 1], [1326, 1], [1325, 1], [1325, 0, "s"], [1326, 0, "e"], [1327, 0, "r"], [1328, 0, "s"], [1331, 0, "o"], [1332, 0, "f"], [1333, 0, " "], [1334, 0, "a"], [1335, 0, "p"], [1336, 0, "p"], [1337, 0, "l"], [1338, 0, "i"], [1339, 0, "c"], [1340, 0, "a"], [1341, 0, "t"], [1342, 0, "i"], [1343, 0, "o"], [1344, 0, "n"], [1345, 0, "s"], [1346, 0, " "], [1347, 0, "o"], [1348, 0, "n"], [1349, 0, " "], [1350, 0, "m"], [1351, 0, "o"], [1352, 0, "b"], [1353, 0, "i"], [1354, 0, "l"], [1355, 0, "e"], [1356, 0, " "], [1357, 0, "d"], [1358, 0, "e"], [1359, 0, "v"], [1360, 0, "i"], [1361, 0, "c"], [1362, 0, "e"], [1363, 0, "s"], [1364, 0, " "], [1365, 0, "e"], [1366, 0, "x"], [1367, 0, "p"], [1368, 0, "e"], [1369, 0, "c"], [1370, 0, "t"], [1371, 0, " "], [1372, 0, "t"], [1373, 0, "h"], [1374, 0, "e"], [1375, 0, " "], [1376, 0, "a"], [1377, 0, "p"], [1378, 0, "p"], [1379, 0, "l"], [1380, 0, "i"], [1381, 0, "c"], [1382, 0, "a"], [1383, 0, "t"], [1384, 0, "i"], [1385, 0, "o"], [1386, 0, "n"], [1387, 0, "s"], [1388, 0, " "], [1389, 0, "s"], [1390, 0, "t"], [1391, 0, "i"], [1392, 0, "l"], [1393, 0, "l"], [1394, 0, " "], [1395, 0, "t"], [1396, 0, "o"], [1397, 0, " "], [1398, 0, "w"], [1399, 0, "o"], [1400, 0, "r"], [1401, 0, "k"], [1402, 0, " "], [1403, 0, "w"], [1404, 0, "h"], [1405, 0, "i"], [1406, 0, "l"], [1407, 0, "e"], [1408, 0, " "], [1409, 0, "t"], [1410, 0, "h"], [1411, 0, "e"], [1412, 0, " "], [1413, 0, "d"], [1414, 0, "e"], [1415, 0, "v"], [1416, 0, "i"], [1417, 0, "c"], [1418, 0, "e"], [1419, 0, " "], [1420, 0, "i"], [1421, 0, "s"], [1422, 0, " "], [1423, 0, "o"], [1424, 0, "f"], [1425, 0, "f"], [1426, 0, "l"], [1427, 0, "i"], [1428, 0, "n"], [1429, 0, "e"], [1430, 0, " "], [1431, 0, "o"], [1432, 0, "r"], [1433, 0, " "], [1434, 0, "h"], [1435, 0, "a"], [1436, 0, "s"], [1437, 0, " "], [1438, 0, "p"], [1439, 0, "o"], [1440, 0, "o"], [1441, 0, "r"], [1442, 0, " "], [1443, 0, "n"], [1444, 0, "e"], [1445, 0, "t"], [1446, 0, "w"], [1447, 0, "o"], [1448, 0, "r"], [1449, 0, "k"], [1450, 0, " "], [1451, 0, "c"], [1452, 0, "o"], [1453, 0, "n"], [1454, 0, "n"], [1455, 0, "e"], [1456, 0, "c"], [1457, 0, "t"], [1458, 0, "i"], [1459, 0, "v"], [1460, 0, "i"], [1461, 0, "t"], [1462, 0, "y"], [1463, 0, "."], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1464, 1], [1463, 0, ","], [1464, 0, " "], [1465, 0, "a"], [1466, 0, "n"], [1467, 0, "d"], [1468, 0, " "], [1469, 0, "t"], [1470, 0, "o"], [1471, 0, " "], [1472, 0, "s"], [1473, 0, "y"], [1474, 0, "n"], [1475, 0, "c"], [1476, 0, "h"], [1477, 0, "r"], [1478, 0, "o"], [1479, 0, "n"], [1480, 0, "i"], [1481, 0, "z"], [1482, 0, "e"], [1483, 0, " "], [1484, 0, "i"], [1485, 0, "t"], [1486, 0, "s"], [1487, 0, " "], [1488, 0, "s"], [1489, 0, "t"], [1490, 0, "a"], [1491, 0, "t"], [1492, 0, "e"], [1493, 0, " "], [1494, 0, "w"], [1495, 0, "i"], [1496, 0, "t"], [1497, 0, "h"], [1498, 0, " "], [1499, 0, "o"], [1500, 0, "t"], [1501, 0, "h"], [1502, 0, "e"], [1503, 0, "r"], [1504, 0, " "], [1505, 0, "d"], [1506, 0, "e"], [1507, 0, "v"], [1508, 0, "i"], [1509, 0, "c"], [1510, 0, "e"], [1511, 0, "s"], [1512, 0, " "], [1513, 0, "w"], [1514, 0, "h"], [1515, 0, "e"], [1516, 0, "n"], [1517, 0, " "], [1518, 0, "t"], [1519, 0, "h"], [1520, 0, "e"], [1521, 0, " "], [1522, 0, "n"], [1523, 0, "e"], [1524, 0, "t"], [1525, 0, "w"], [1526, 0, "o"], [1527, 0, "r"], [1528, 0, "k"], [1529, 0, " "], [1530, 0, "i"], [1531, 0, "s"], [1532, 0, " "], [1533, 0, "a"], [1534, 0, "v"], [1535, 0, "a"], [1536, 0, "i"], [1537, 0, "l"], [1538, 0, "a"], [1539, 0, "b"], [1540, 0, "l"], [1541, 0, "e"], [1543, 0, " "], [1544, 0, "E"], [1545, 0, "x"], [1546, 0, "a"], [1547, 0, "m"], [1548, 0, "p"], [1549, 0, "l"], [1550, 0, "e"], [1551, 0, "s"], [1552, 0, " "], [1553, 0, "o"], [1554, 0, "f"], [1555, 0, " "], [1556, 0, "s"], [1557, 0, "u"], [1558, 0, "c"], [1559, 0, "h"], [1560, 0, " "], [1561, 0, "a"], [1562, 0, "p"], [1563, 0, "p"], [1564, 0, "l"], [1565, 0, "i"], [1566, 0, "c"], [1567, 0, "a"], [1568, 0, "t"], [1569, 0, "i"], [1570, 0, "o"], [1571, 0, "n"], [1572, 0, "s"], [1573, 0, " "], [1574, 0, "i"], [1575, 0, "n"], [1576, 0, "c"], [1577, 0, "l"], [1578, 0, "u"], [1579, 0, "d"], [1580, 0, "e"], [1581, 0, " "], [1582, 0, "a"], [1583, 0, "d"], [1584, 0, "d"], [1585, 0, "r"], [1586, 0, "e"], [1587, 0, "s"], [1588, 0, "s"], [1589, 0, " "], [1590, 0, "b"], [1591, 0, "o"], [1592, 0, "o"], [1593, 0, "k"], [1594, 0, "s"], [1595, 0, ","], [1596, 0, " "], [1597, 0, "c"], [1598, 0, "a"], [1582, 0, "c"], [1583, 0, "a"], [1584, 0, "l"], [1585, 0, "e"], [1586, 0, "n"], [1587, 0, "d"], [1588, 0, "a"], [1589, 0, "r"], [1590, 0, "i"], [1591, 0, "n"], [1592, 0, "g"], [1593, 0, ","], [1594, 0, " "], [1592, 1], [1591, 1], [1590, 1], [1590, 0, "s"], [1609, 1], [1608, 1], [1608, 0, "n"], [1609, 0, "o"], [1610, 0, "t"], [1611, 0, "e"], [1612, 0, "-"], [1613, 0, "t"], [1614, 0, "a"], [1615, 0, "k"], [1616, 0, "i"], [1617, 0, "n"], [1618, 0, "g"], [1619, 0, ","], [1620, 0, " "], [1621, 0, "p"], [1622, 0, "a"], [1623, 0, "s"], [1624, 0, "s"], [1625, 0, "w"], [1626, 0, "o"], [1627, 0, "r"], [1628, 0, "d"], [1629, 0, " "], [1630, 0, "m"], [1631, 0, "a"], [1632, 0, "n"], [1633, 0, "a"], [1634, 0, "g"], [1635, 0, "e"], [1636, 0, "r"], [1637, 0, "s"], [1499, 0, "t"], [1500, 0, "h"], [1501, 0, "e"], [1502, 0, " "], [1503, 0, "u"], [1504, 0, "s"], [1505, 0, "e"], [1506, 0, "r"], [1507, 0, "'"], [1508, 0, "s"], [1509, 0, " "], [1631, 0, " "], [1632, 0, "a"], [1633, 0, "n"], [1634, 0, "d"], [1653, 0, "."], [1654, 0, " "], [1655, 0, "M"], [1656, 0, "o"], [1657, 0, "r"], [1658, 0, "e"], [1659, 0, "o"], [1660, 0, "v"], [1661, 0, "e"], [1662, 0, "r"], [1663, 0, ","], [1664, 0, " "], [1665, 0, "m"], [1666, 0, "\n"], [1667, 0, "\n"], [1668, 0, "T"], [1669, 0, "O"], [1670, 0, "D"], [1671, 0, "O"], [1672, 0, " "], [1673, 0, "m"], [1674, 0, "o"], [1675, 0, "r"], [1676, 0, "e"], [1677, 0, " "], [1678, 0, "i"], [1679, 0, "n"], [1680, 0, "t"], [1681, 0, "r"], [1682, 0, "u"], [1683, 0, "d"], [1684, 0, "o"], [1684, 1], [1683, 1], [1682, 1], [1682, 0, "o"], [1683, 0, "d"], [1684, 0, "u"], [1685, 0, "c"], [1686, 0, "t"], [1687, 0, "i"], [1688, 0, "o"], [1689, 0, "n"], [1690, 0, "."], [1666, 0, "a"], [1667, 0, "n"], [1668, 0, "y"], [1669, 0, " "], [1670, 0, "p"], [1671, 0, "e"], [1672, 0, "o"], [1673, 0, "p"], [1674, 0, "l"], [1675, 0, "e"], [1676, 0, " "], [1677, 0, "w"], [1678, 0, "a"], [1679, 0, "n"], [1680, 0, "t"], [1681, 0, " "], [1682, 0, "t"], [1683, 0, "o"], [1684, 0, " "], [1685, 0, "c"], [1686, 0, "o"], [1687, 0, "l"], [1688, 0, "l"], [1689, 0, "a"], [1690, 0, "b"], [1691, 0, "o"], [1692, 0, "r"], [1693, 0, "a"], [1694, 0, "t"], [1695, 0, "e"], [1696, 0, " "], [1697, 0, "w"], [1698, 0, "i"], [1699, 0, "t"], [1700, 0, "h"], [1701, 0, " "], [1702, 0, "o"], [1703, 0, "t"], [1704, 0, "h"], [1705, 0, "e"], [1706, 0, "r"], [1707, 0, "s"], [1708, 0, " "], [1709, 0, "o"], [1710, 0, "n"], [1711, 0, " "], [1712, 0, "d"], [1713, 0, "o"], [1714, 0, "c"], [1715, 0, "u"], [1716, 0, "m"], [1717, 0, "e"], [1718, 0, "n"], [1719, 0, "t"], [1720, 0, "s"], [1721, 0, " "], [1712, 0, "t"], [1713, 0, "e"], [1714, 0, "x"], [1715, 0, "t"], [1716, 0, " "], [1726, 1], [1726, 0, " "], [1726, 1], [1726, 0, ","], [1727, 0, " "], [1728, 0, "s"], [1729, 0, "p"], [1730, 0, "r"], [1731, 0, "e"], [1732, 0, "a"], [1733, 0, "d"], [1734, 0, "s"], [1735, 0, "h"], [1736, 0, "e"], [1737, 0, "e"], [1738, 0, "t"], [1739, 0, "s"], [1740, 0, ","], [1741, 0, " "], [1742, 0, "p"], [1743, 0, "r"], [1744, 0, "e"], [1745, 0, "s"], [1746, 0, "e"], [1747, 0, "n"], [1748, 0, "t"], [1749, 0, "a"], [1750, 0, "t"], [1751, 0, "i"], [1752, 0, "o"], [1753, 0, "n"], [1754, 0, "s"], [1755, 0, ","], [1756, 0, " "], [1757, 0, "g"], [1758, 0, "r"], [1759, 0, "a"], [1760, 0, "p"], [1761, 0, "h"], [1762, 0, "i"], [1763, 0, "c"], [1764, 0, "s"], [1765, 0, ","], [1766, 0, " "], [1767, 0, "a"], [1768, 0, "n"], [1769, 0, "d"], [1770, 0, " "], [1771, 0, "s"], [1772, 0, "i"], [1773, 0, "m"], [1774, 0, "i"], [1775, 0, "l"], [1776, 0, "a"], [1777, 0, "r"], [1778, 0, " "], [1779, 0, "d"], [1780, 0, "o"], [1781, 0, "c"], [1782, 0, "u"], [1783, 0, "m"], [1784, 0, "e"], [1785, 0, "n"], [1786, 0, "t"], [1787, 0, "s"], [1788, 0, "."], [1777, 1], [1776, 1], [1775, 1], [1774, 1], [1773, 1], [1772, 1], [1771, 1], [1771, 0, "o"], [1772, 0, "t"], [1773, 0, "h"], [1774, 0, "e"], [1775, 0, "r"], [1776, 0, " "], [1777, 0, "k"], [1778, 0, "i"], [1779, 0, "n"], [1780, 0, "d"], [1781, 0, "s"], [1782, 0, " "], [1783, 0, "o"], [1784, 0, "f"], [1794, 1], [1795, 0, "\n"], [1796, 0, "\n"], [1797, 0, "W"], [1798, 0, "h"], [1799, 0, "a"], [1800, 0, "t"], [1801, 0, " "], [1802, 0, "t"], [1803, 0, "h"], [1804, 0, "e"], [1805, 0, "s"], [1806, 0, "e"], [1807, 0, " "], [1808, 0, "d"], [1808, 1], [1808, 0, "a"], [1809, 0, "p"], [1810, 0, "p"], [1811, 0, "l"], [1812, 0, "i"], [1813, 0, "c"], [1814, 0, "a"], [1815, 0, "t"], [1816, 0, "i"], [1817, 0, "o"], [1818, 0, "n"], [1819, 0, "s"], [1820, 0, " "], [1821, 0, "h"], [1822, 0, "a"], [1823, 0, "v"], [1824, 0, "e"], [1825, 0, " "], [1826, 0, "i"], [1827, 0, "n"], [1828, 0, " "], [1829, 0, "c"], [1830, 0, "o"], [1831, 0, "m"], [1832, 0, "m"], [1833, 0, "o"], [1834, 0, "n"], [1835, 0, " "], [1836, 0, "i"], [1837, 0, "s"], [1838, 0, " "], [1839, 0, "t"], [1840, 0, "h"], [1841, 0, "a"], [1842, 0, "t"], [1843, 0, " "], [1844, 0, "t"], [1845, 0, "h"], [1846, 0, "e"], [1847, 0, " "], [1848, 0, "s"], [1849, 0, "a"], [1850, 0, "m"], [1851, 0, "e"], [1852, 0, " "], [1853, 0, "a"], [1854, 0, "p"], [1855, 0, "p"], [1856, 0, "l"], [1857, 0, "i"], [1858, 0, "c"], [1859, 0, "a"], [1860, 0, "t"], [1861, 0, "i"], [1862, 0, "o"], [1863, 0, "n"], [1864, 0, " "], [1865, 0, "s"], [1866, 0, "t"], [1867, 0, "a"], [1868, 0, "t"], [1869, 0, "e"], [1870, 0, " "], [1871, 0, "n"], [1872, 0, "e"], [1873, 0, "e"], [1874, 0, "d"], [1875, 0, "s"], [1876, 0, " "], [1877, 0, "t"], [1878, 0, "o"], [1879, 0, " "], [1880, 0, "b"], [1881, 0, "e"], [1882, 0, " "], [1883, 0, "r"], [1884, 0, "e"], [1885, 0, "p"], [1886, 0, "l"], [1887, 0, "i"], [1888, 0, "c"], [1889, 0, "a"], [1890, 0, "t"], [1891, 0, "e"], [1892, 0, "d"], [1893, 0, " "], [1894, 0, "t"], [1895, 0, "o"], [1896, 0, " "], [1897, 0, "s"], [1898, 0, "e"], [1899, 0, "v"], [1900, 0, "e"], [1901, 0, "r"], [1902, 0, "a"], [1903, 0, "l"], [1904, 0, " "], [1905, 0, "d"], [1906, 0, "e"], [1907, 0, "v"], [1908, 0, "i"], [1909, 0, "c"], [1910, 0, "e"], [1911, 0, "s"], [1912, 0, ","], [1913, 0, " "], [1914, 0, "e"], [1915, 0, "a"], [1916, 0, "c"], [1917, 0, "h"], [1918, 0, " "], [1919, 0, "o"], [1920, 0, "f"], [1921, 0, " "], [1922, 0, "w"], [1923, 0, "h"], [1924, 0, "i"], [1925, 0, "c"], [1926, 0, "h"], [1927, 0, " "], [1928, 0, "m"], [1929, 0, "a"], [1930, 0, "y"], [1931, 0, " "], [1932, 0, "m"], [1933, 0, "o"], [1934, 0, "d"], [1935, 0, "i"], [1936, 0, "f"], [1937, 0, "y"], [1938, 0, " "], [1939, 0, "t"], [1940, 0, "h"], [1941, 0, "e"], [1942, 0, " "], [1943, 0, "s"], [1944, 0, "t"], [1945, 0, "a"], [1946, 0, "t"], [1947, 0, "e"], [1948, 0, " "], [1949, 0, "l"], [1950, 0, "o"], [1951, 0, "c"], [1952, 0, "a"], [1953, 0, "l"], [1954, 0, "l"], [1955, 0, "y"], [1956, 0, "."], [1957, 0, " "], [1958, 0, "S"], [1959, 0, "t"], [1959, 1], [1958, 1], [1958, 0, "M"], [1959, 0, "o"], [1960, 0, "d"], [1961, 0, "i"], [1962, 0, "f"], [1963, 0, "i"], [1964, 0, "c"], [1965, 0, "a"], [1966, 0, "t"], [1967, 0, "i"], [1968, 0, "o"], [1969, 0, "n"], [1970, 0, "s"], [1971, 0, " "], [1972, 0, "m"], [1973, 0, "a"], [1974, 0, "y"], [1975, 0, " "], [1976, 0, "h"], [1977, 0, "a"], [1978, 0, "p"], [1979, 0, "p"], [1980, 0, "e"], [1981, 0, "n"], [1982, 0, " "], [1983, 0, "c"], [1984, 0, "o"], [1985, 0, "n"], [1986, 0, "c"], [1987, 0, "u"], [1988, 0, "r"], [1989, 0, "r"], [1990, 0, "e"], [1991, 0, "n"], [1992, 0, "t"], [1993, 0, "l"], [1994, 0, "y"], [1995, 0, ","], [1996, 0, " "], [1997, 0, "a"], [1998, 0, "n"], [1999, 0, "d"], [2000, 0, " "], [2001, 0, "t"], [2002, 0, "r"], [2003, 0, "a"], [2004, 0, "d"], [2005, 0, "i"], [2006, 0, "t"], [2007, 0, "i"], [2008, 0, "o"], [2009, 0, "n"], [2010, 0, "a"], [2011, 0, "l"], [2012, 0, " "], [2013, 0, "c"], [2014, 0, "o"], [2015, 0, "n"], [2016, 0, "c"], [2017, 0, "u"], [2018, 0, "r"], [2019, 0, "r"], [2020, 0, "e"], [2021, 0, "n"], [2022, 0, "c"], [2023, 0, "y"], [2024, 0, " "], [2025, 0, "c"], [2026, 0, "o"], [2027, 0, "n"], [2028, 0, "t"], [2029, 0, "r"], [2030, 0, "o"], [2031, 0, "l"], [2032, 0, " "], [2033, 0, "m"], [2034, 0, "e"], [2035, 0, "t"], [2036, 0, "h"], [2037, 0, "o"], [2038, 0, "d"], [2039, 0, "s"], [2040, 0, " "], [2041, 0, "s"], [2041, 1], [2040, 1], [2039, 1], [2038, 1], [2037, 1], [2036, 1], [2035, 1], [2034, 1], [2033, 1], [2033, 0, "a"], [2034, 0, "p"], [2035, 0, "p"], [2036, 0, "r"], [2037, 0, "o"], [2038, 0, "a"], [2039, 0, "c"], [2040, 0, "h"], [2041, 0, "e"], [2042, 0, "s"], [2043, 0, " "], [2044, 0, "s"], [2045, 0, "u"], [2046, 0, "c"], [2047, 0, "h"], [2048, 0, " "], [2049, 0, "a"], [2050, 0, "s"], [2051, 0, " "], [2052, 0, "s"], [2053, 0, "e"], [2054, 0, "r"], [2055, 0, "i"], [2056, 0, "a"], [2057, 0, "l"], [2058, 0, "i"], [2059, 0, "z"], [2060, 0, "a"], [2061, 0, "b"], [2062, 0, "i"], [2063, 0, "l"], [2064, 0, "i"], [2065, 0, "t"], [2066, 0, "y"], [2067, 0, " "], [2001, 1], [2000, 1], [1999, 1], [1998, 1], [1997, 1], [1996, 1], [1995, 1], [1994, 1], [1993, 1], [1992, 1], [1991, 1], [1990, 1], [1989, 1], [1988, 1], [1987, 1], [1986, 1], [1985, 1], [1984, 1], [1983, 1], [1982, 1], [1981, 1], [1980, 1], [1979, 1], [1978, 1], [1977, 1], [1976, 1], [1975, 1], [1974, 1], [1973, 1], [1972, 1], [1971, 1], [1970, 1], [1969, 1], [1968, 1], [1967, 1], [1966, 1], [1965, 1], [1964, 1], [1963, 1], [1962, 1], [1961, 1], [1960, 1], [1959, 1], [1958, 1], [1958, 0, "T"], [2025, 0, "w"], [2026, 0, "o"], [2027, 0, "u"], [2028, 0, "l"], [2029, 0, "d"], [2030, 0, " "], [2031, 0, "c"], [2032, 0, "a"], [2033, 0, "u"], [2034, 0, "s"], [2035, 0, "e"], [2036, 0, " "], [2037, 0, "t"], [2038, 0, "h"], [2039, 0, "e"], [2040, 0, " "], [2041, 0, "a"], [2042, 0, "p"], [2043, 0, "p"], [2044, 0, "l"], [2045, 0, "i"], [2046, 0, "c"], [2047, 0, "a"], [2048, 0, "t"], [2049, 0, "i"], [2050, 0, "o"], [2051, 0, "n"], [2052, 0, " "], [2053, 0, "t"], [2054, 0, "o"], [2055, 0, " "], [2056, 0, "b"], [2057, 0, "e"], [2058, 0, "c"], [2059, 0, "o"], [2060, 0, "m"], [2061, 0, "e"], [2062, 0, " "], [2063, 0, "u"], [2064, 0, "n"], [2065, 0, "u"], [2066, 0, "s"], [2067, 0, "a"], [2068, 0, "b"], [2069, 0, "l"], [2070, 0, "e"], [2071, 0, " "], [2072, 0, "a"], [2073, 0, "t"], [2074, 0, " "], [2075, 0, "t"], [2076, 0, "i"], [2077, 0, "m"], [2078, 0, "e"], [2079, 0, "s"], [2080, 0, " "], [2081, 0, "o"], [2082, 0, "f"], [2083, 0, " "], [2084, 0, "p"], [2085, 0, "o"], [2086, 0, "o"], [2087, 0, "r"], [2088, 0, " "], [2089, 0, "n"], [2090, 0, "e"], [2091, 0, "t"], [2092, 0, "w"], [2093, 0, "o"], [2094, 0, "r"], [2095, 0, "k"], [2096, 0, " "], [2097, 0, "c"], [2098, 0, "o"], [2099, 0, "n"], [2100, 0, "n"], [2101, 0, "e"], [2102, 0, "c"], [2103, 0, "t"], [2104, 0, "i"], [2105, 0, "v"], [2106, 0, "i"], [2107, 0, "t"], [2108, 0, "y"], [2109, 0, ","], [2110, 0, " "], [2111, 0, "s"], [2112, 0, "o"], [2113, 0, " "], [2114, 0, "w"], [2115, 0, "e"], [2116, 0, " "], [2117, 0, "m"], [2118, 0, "u"], [2119, 0, "s"], [2120, 0, "t"], [2121, 0, " "], [2122, 0, "a"], [2123, 0, "s"], [2124, 0, "s"], [2125, 0, "u"], [2126, 0, "m"], [2127, 0, "e"], [2128, 0, " "], [2129, 0, "t"], [2130, 0, "h"], [2131, 0, "a"], [2132, 0, "t"], [2133, 0, " "], [2134, 0, "u"], [2135, 0, "s"], [2136, 0, "e"], [2137, 0, "r"], [2138, 0, "s"], [2139, 0, " "], [2140, 0, "c"], [2141, 0, "a"], [2142, 0, "n"], [2143, 0, " "], [2144, 0, "m"], [2145, 0, "a"], [2146, 0, "k"], [2147, 0, "e"], [2148, 0, " "], [2149, 0, "a"], [2150, 0, "r"], [2151, 0, "b"], [2152, 0, "i"], [2153, 0, "t"], [2154, 0, "r"], [2155, 0, "a"], [2156, 0, "r"], [2157, 0, "y"], [2158, 0, " "], [2159, 0, "m"], [2160, 0, "o"], [2161, 0, "d"], [2162, 0, "i"], [2163, 0, "f"], [2164, 0, "i"], [2165, 0, "c"], [2166, 0, "a"], [2167, 0, "t"], [2168, 0, "i"], [2169, 0, "o"], [2170, 0, "n"], [2171, 0, "s"], [2172, 0, " "], [2173, 0, "c"], [2174, 0, "o"], [2175, 0, "n"], [2176, 0, "c"], [2177, 0, "u"], [2178, 0, "r"], [2179, 0, "r"], [2180, 0, "e"], [2181, 0, "n"], [2182, 0, "t"], [2183, 0, "l"], [2184, 0, "y"], [2185, 0, " "], [2186, 0, "o"], [2187, 0, "n"], [2188, 0, " "], [2189, 0, "d"], [2190, 0, "i"], [2191, 0, "f"], [2192, 0, "f"], [2193, 0, "e"], [2194, 0, "r"], [2195, 0, "e"], [2196, 0, "n"], [2197, 0, "t"], [2198, 0, " "], [2199, 0, "d"], [2200, 0, "e"], [2201, 0, "v"], [2202, 0, "i"], [2203, 0, "c"], [2204, 0, "e"], [2205, 0, "s"], [2206, 0, ","], [2207, 0, " "], [2208, 0, "a"], [2209, 0, "n"], [2210, 0, "d"], [2211, 0, " "], [2212, 0, "a"], [2213, 0, "n"], [2214, 0, "y"], [2215, 0, " "], [2216, 0, "r"], [2217, 0, "e"], [2218, 0, "s"], [2219, 0, "u"], [2220, 0, "l"], [2221, 0, "t"], [2222, 0, "i"], [2223, 0, "n"], [2224, 0, "g"], [2225, 0, " "], [2226, 0, "c"], [2227, 0, "o"], [2228, 0, "n"], [2229, 0, "f"], [2230, 0, "l"], [2231, 0, "i"], [2232, 0, "c"], [2233, 0, "t"], [2234, 0, "s"], [2235, 0, " "], [2236, 0, "m"], [2237, 0, "u"], [2238, 0, "s"], [2239, 0, "t"], [2240, 0, " "], [2241, 0, "b"], [2242, 0, "e"], [2243, 0, " "], [2244, 0, "r"], [2245, 0, "e"], [2246, 0, "s"], [2247, 0, "o"], [2248, 0, "l"], [2249, 0, "v"], [2250, 0, "e"], [2251, 0, "d"], [2252, 0, "."], [2253, 0, "\n"], [2254, 0, "\n"], [2255, 0, "T"], [2256, 0, "h"], [2257, 0, "e"], [2258, 0, " "], [2259, 0, "s"], [2260, 0, "i"], [2261, 0, "m"], [2262, 0, "p"], [2263, 0, "l"], [2264, 0, "e"], [2265, 0, "s"], [2266, 0, "t"], [2267, 0, " "], [2268, 0, "w"], [2269, 0, "a"], [2270, 0, "y"], [2271, 0, " "], [2272, 0, "o"], [2273, 0, "f"], [2274, 0, " "], [2275, 0, "r"], [2276, 0, "e"], [2277, 0, "s"], [2278, 0, "e"], [2279, 0, "o"], [2280, 0, "l"], [2281, 0, "v"], [2281, 1], [2280, 1], [2279, 1], [2278, 1], [2278, 0, "o"], [2279, 0, "l"], [2280, 0, "v"], [2281, 0, "i"], [2282, 0, "n"], [2283, 0, "g"], [2284, 0, " "], [2285, 0, "c"], [2286, 0, "o"], [2287, 0, "n"], [2288, 0, "f"], [2289, 0, "l"], [2290, 0, "c"], [2291, 0, "i"], [2292, 0, "t"], [2293, 0, "s"], [2293, 1], [2292, 1], [2291, 1], [2290, 1], [2290, 0, "i"], [2291, 0, "c"], [2292, 0, "t"], [2293, 0, "s"], [2294, 0, " "], [2295, 0, "i"], [2296, 0, "s"], [2297, 0, " "], [2298, 0, "t"], [2299, 0, "o"], [2300, 0, " "], [2301, 0, "d"], [2302, 0, "i"], [2303, 0, "s"], [2304, 0, "c"], [2305, 0, "a"], [2306, 0, "r"], [2307, 0, "d"], [2308, 0, " "], [2309, 0, "s"], [2310, 0, "o"], [2311, 0, "m"], [2312, 0, "e"], [2313, 0, " "], [2314, 0, "d"], [2315, 0, "o"], [2316, 0, "c"], [2317, 0, "u"], [2318, 0, "m"], [2319, 0, "e"], [2320, 0, "n"], [2321, 0, "t"], [2322, 0, " "], [2323, 0, "m"], [2324, 0, "o"], [2325, 0, "d"], [2326, 0, "i"], [2327, 0, "f"], [2328, 0, "i"], [2329, 0, "c"], [2330, 0, "a"], [2331, 0, "t"], [2332, 0, "i"], [2333, 0, "o"], [2334, 0, "n"], [2335, 0, "s"], [2336, 0, " "], [2337, 0, "i"], [2338, 0, "f"], [2339, 0, " "], [2340, 0, "c"], [2341, 0, "o"], [2342, 0, "n"], [2343, 0, "c"], [2344, 0, "u"], [2345, 0, "r"], [2346, 0, "r"], [2347, 0, "e"], [2348, 0, "n"], [2349, 0, "t"], [2350, 0, ","], [2351, 0, " "], [2352, 0, "c"], [2353, 0, "o"], [2354, 0, "n"], [2355, 0, "f"], [2356, 0, "l"], [2356, 1], [2355, 1], [2354, 1], [2353, 1], [2352, 1], [2351, 1], [2350, 1], [2349, 1], [2348, 1], [2347, 1], [2346, 1], [2345, 1], [2344, 1], [2343, 1], [2342, 1], [2341, 1], [2340, 1], [2340, 0, "c"], [2341, 0, "o"], [2342, 0, "n"], [2343, 0, "f"], [2344, 0, "l"], [2345, 0, "i"], [2346, 0, "c"], [2347, 0, "t"], [2348, 0, "s"], [2349, 0, " "], [2350, 0, "o"], [2351, 0, "c"], [2352, 0, "c"], [2353, 0, "u"], [2354, 0, "r"], [2355, 0, "r"], [2356, 0, "e"], [2357, 0, "d"], [2358, 0, ","], [2359, 0, " "], [2360, 0, "a"], [2361, 0, " "], [2362, 0, "p"], [2363, 0, "o"], [2364, 0, "l"], [2365, 0, "i"], [2366, 0, "c"], [2367, 0, "y"], [2368, 0, " "], [2369, 0, "s"], [2370, 0, "o"], [2371, 0, "m"], [2372, 0, "e"], [2373, 0, "t"], [2374, 0, "i"], [2375, 0, "m"], [2376, 0, "e"], [2377, 0, "s"], [2378, 0, " "], [2379, 0, "k"], [2380, 0, "n"], [2381, 0, "o"], [2382, 0, "w"], [2383, 0, "n"], [2384, 0, " "], [2385, 0, "a"], [2386, 0, "s"], [2387, 0, " "], [2388, 0, "`"], [2389, 0, "`"], [2390, 0, "l"], [2391, 0, "a"], [2392, 0, "s"], [2393, 0, "t"], [2394, 0, " "], [2395, 0, "w"], [2396, 0, "r"], [2397, 0, "i"], [2398, 0, "t"], [2399, 0, "e"], [2400, 0, "r"], [2401, 0, " "], [2402, 0, "w"], [2403, 0, "i"], [2404, 0, "n"], [2405, 0, "s"], [2406, 0, "'"], [2407, 0, "'"], [2408, 0, "."], [2340, 0, "a"], [2341, 0, " "], [2350, 1], [2387, 1], [2386, 1], [2385, 1], [2384, 1], [2383, 1], [2382, 1], [2381, 1], [2380, 1], [2379, 1], [2378, 1], [2377, 1], [2376, 1], [2375, 1], [2374, 1], [2373, 1], [2372, 1], [2371, 1], [2370, 1], [2369, 1], [2368, 1], [2367, 1], [2366, 1], [2365, 1], [2364, 1], [2363, 1], [2362, 1], [2361, 1], [2361, 0, "f"], [2362, 0, "o"], [2363, 0, "r"], [2364, 0, " "], [2365, 0, "e"], [2366, 0, "x"], [2367, 0, "a"], [2368, 0, "m"], [2369, 0, "p"], [2370, 0, "l"], [2371, 0, "e"], [2372, 0, " "], [2373, 0, "u"], [2374, 0, "s"], [2375, 0, "i"], [2376, 0, "n"], [2377, 0, "g"], [2378, 0, " "], [2379, 0, "a"], [2401, 0, " "], [2402, 0, "p"], [2403, 0, "o"], [2404, 0, "l"], [2405, 0, "i"], [2406, 0, "c"], [2407, 0, "y"], [2409, 0, " "], [2410, 0, "H"], [2411, 0, "o"], [2412, 0, "w"], [2413, 0, "e"], [2414, 0, "v"], [2415, 0, "e"], [2416, 0, "r"], [2417, 0, ","], [2418, 0, " "], [2419, 0, "t"], [2420, 0, "h"], [2421, 0, "i"], [2422, 0, "s"], [2423, 0, " "], [2424, 0, "a"], [2425, 0, "p"], [2426, 0, "p"], [2427, 0, "r"], [2428, 0, "o"], [2429, 0, "a"], [2430, 0, "c"], [2431, 0, "h"], [2432, 0, " "], [2433, 0, "i"], [2434, 0, "s"], [2435, 0, " "], [2436, 0, "u"], [2437, 0, "n"], [2438, 0, "d"], [2439, 0, "e"], [2440, 0, "r"], [2440, 1], [2440, 0, "s"], [2441, 0, "i"], [2442, 0, "r"], [2443, 0, "a"], [2444, 0, "b"], [2445, 0, "l"], [2446, 0, "e"], [2447, 0, " "], [2448, 0, "a"], [2449, 0, "s"], [2450, 0, " "], [2451, 0, "i"], [2452, 0, "t"], [2453, 0, " "], [2454, 0, "i"], [2455, 0, "n"], [2456, 0, "c"], [2457, 0, "u"], [2458, 0, "r"], [2459, 0, "s"], [2460, 0, " "], [2461, 0, "d"], [2462, 0, "a"], [2463, 0, "t"], [2464, 0, "a"], [2465, 0, " "], [2466, 0, "l"], [2467, 0, "o"], [2468, 0, "s"], [2469, 0, "s"], [2470, 0, "."], [2471, 0, " "], [2472, 0, "A"], [2473, 0, "n"], [2474, 0, " "], [2475, 0, "a"], [2476, 0, "l"], [2477, 0, "t"], [2478, 0, "e"], [2479, 0, "r"], [2480, 0, "n"], [2481, 0, "a"], [2482, 0, "t"], [2483, 0, "i"], [2484, 0, "v"], [2485, 0, "e"], [2486, 0, " "], [2487, 0, "i"], [2488, 0, "s"], [2489, 0, " "], [2490, 0, "t"], [2491, 0, "o"], [2492, 0, " "], [2493, 0, "l"], [2494, 0, "e"], [2495, 0, "t"], [2496, 0, " "], [2497, 0, "t"], [2498, 0, "h"], [2499, 0, "e"], [2500, 0, " "], [2501, 0, "u"], [2502, 0, "s"], [2503, 0, "e"], [2504, 0, "r"], [2505, 0, " "], [2506, 0, "m"], [2507, 0, "a"], [2508, 0, "n"], [2509, 0, "u"], [2510, 0, "a"], [2511, 0, "l"], [2512, 0, "l"], [2513, 0, "y"], [2514, 0, " "], [2515, 0, "r"], [2516, 0, "e"], [2517, 0, "s"], [2518, 0, "o"], [2519, 0, "l"], [2520, 0, "v"], [2521, 0, "e"], [2522, 0, " "], [2523, 0, "t"], [2524, 0, "h"], [2525, 0, "e"], [2526, 0, " "], [2527, 0, "c"], [2528, 0, "o"], [2529, 0, "n"], [2530, 0, "f"], [2531, 0, "l"], [2532, 0, "i"], [2533, 0, "c"], [2534, 0, "t"], [2535, 0, ","], [2536, 0, " "], [2537, 0, "w"], [2538, 0, "h"], [2539, 0, "i"], [2540, 0, "c"], [2541, 0, "h"], [2542, 0, " "], [2543, 0, "i"], [2544, 0, "s"], [2545, 0, " "], [2546, 0, "t"], [2547, 0, "e"], [2548, 0, "d"], [2549, 0, "i"], [2550, 0, "o"], [2551, 0, "u"], [2552, 0, "s"], [2553, 0, " "], [2554, 0, "i"], [2555, 0, "n"], [2556, 0, " "], [2557, 0, "c"], [2558, 0, "a"], [2559, 0, "s"], [2560, 0, "e"], [2561, 0, " "], [2562, 0, "o"], [2563, 0, "f"], [2564, 0, " "], [2565, 0, "m"], [2566, 0, "o"], [2567, 0, "d"], [2568, 0, "i"], [2569, 0, "f"], [2570, 0, "i"], [2571, 0, "c"], [2572, 0, "a"], [2573, 0, "t"], [2574, 0, "i"], [2575, 0, "o"], [2576, 0, "n"], [2577, 0, "s"], [2578, 0, " "], [2579, 0, "t"], [2580, 0, "h"], [2581, 0, "a"], [2582, 0, "t"], [2583, 0, " "], [2584, 0, "c"], [2585, 0, "o"], [2586, 0, "u"], [2587, 0, "l"], [2588, 0, "d"], [2589, 0, " "], [2590, 0, "b"], [2591, 0, "e"], [2592, 0, " "], [2593, 0, "m"], [2594, 0, "e"], [2595, 0, "r"], [2596, 0, "g"], [2597, 0, "e"], [2598, 0, "d"], [2599, 0, " "], [2600, 0, "a"], [2601, 0, "u"], [2602, 0, "t"], [2603, 0, "o"], [2604, 0, "m"], [2605, 0, "a"], [2606, 0, "t"], [2607, 0, "i"], [2608, 0, "c"], [2609, 0, "a"], [2610, 0, "l"], [2611, 0, "l"], [2612, 0, "y"], [2613, 0, "."], [75236, 0, "i"], [75237, 0, "\n"], [75238, 0, "\n"], [75236, 1], [75236, 0, "\n"], [75237, 0, "\\"], [75238, 0, "s"], [75239, 0, "e"], [75240, 0, "c"], [75241, 0, "t"], [75242, 0, "i"], [75243, 0, "o"], [75244, 0, "n"], [75245, 0, "*"], [75246, 0, "{"], [75247, 0, "A"], [75248, 0, "c"], [75249, 0, "k"], [75250, 0, "n"], [75251, 0, "o"], [75252, 0, "w"], [75253, 0, "l"], [75254, 0, "e"], [75255, 0, "d"], [75256, 0, "g"], [75257, 0, "e"], [75258, 0, "m"], [75259, 0, "e"], [75260, 0, "n"], [75261, 0, "t"], [75262, 0, "s"], [75263, 0, "}"], [75264, 0, "\n"], [75265, 0, "\n"], [75266, 0, "i"], [75266, 1], [75266, 0, "T"], [75267, 0, "h"], [75268, 0, "i"], [75269, 0, "s"], [75270, 0, " "], [75271, 0, "r"], [75272, 0, "e"], [75273, 0, "s"], [75274, 0, "e"], [75275, 0, "a"], [75276, 0, "r"], [75277, 0, "c"], [75278, 0, "h"], [75279, 0, " "], [75280, 0, "w"], [75281, 0, "a"], [75282, 0, "s"], [75283, 0, " "], [75284, 0, "s"], [75285, 0, "u"], [75286, 0, "p"], [75287, 0, "p"], [75288, 0, "o"], [75289, 0, "r"], [75290, 0, "t"], [75291, 0, "e"], [75292, 0, "d"], [75293, 0, " "], [75294, 0, "b"], [75295, 0, "y"], [75296, 0, " "], [75297, 0, "a"], [75298, 0, " "], [75299, 0, "g"], [75300, 0, "r"], [75301, 0, "a"], [75302, 0, "n"], [75303, 0, "t"], [75304, 0, " "], [75305, 0, "f"], [75306, 0, "r"], [75307, 0, "o"], [75308, 0, "m"], [75309, 0, " "], [75310, 0, "T"], [75311, 0, "h"], [75312, 0, "e"], [75313, 0, " "], [75314, 0, "B"], [75315, 0, "o"], [75316, 0, "e"], [75317, 0, "i"], [75318, 0, "n"], [75319, 0, "g"], [75320, 0, " "], [75321, 0, "C"], [75322, 0, "o"], [75323, 0, "m"], [75324, 0, "p"], [75325, 0, "a"], [75326, 0, "n"], [75327, 0, "y"], [75328, 0, "."], [75329, 0, ":"], [75330, 0, "w"], [75331, 0, "q"], [75331, 1], [75330, 1], [75329, 1], [3459, 0, "\n"], [3460, 0, "\n"], [3460, 0, "\\"], [3461, 0, "s"], [3462, 0, "e"], [3463, 0, "c"], [3464, 0, "t"], [3465, 0, "i"], [3466, 0, "o"], [3467, 0, "n"], [3468, 0, "{"], [3469, 0, "R"], [3470, 0, "e"], [3471, 0, "l"], [3472, 0, "a"], [3473, 0, "t"], [3474, 0, "e"], [3475, 0, "d"], [3476, 0, "i"], [3477, 0, "o"], [3478, 0, "n"], [3479, 0, "{"], [3480, 0, "O"], [3481, 0, "p"], [3482, 0, "e"], [3483, 0, "r"], [3484, 0, "a"], [3485, 0, "t"], [3486, 0, "i"], [3487, 0, "o"], [3488, 0, "n"], [3489, 0, "a"], [3490, 0, "l"], [3491, 0, " "], [3492, 0, "t"], [3493, 0, "r"], [3494, 0, "a"], [3495, 0, "n"], [3496, 0, "s"], [3497, 0, "f"], [3498, 0, "o"], [3499, 0, "r"], [3500, 0, "m"], [3501, 0, "a"], [3502, 0, "t"], [3503, 0, "i"], [3504, 0, "o"], [3505, 0, "n"], [3506, 0, "}"], [3507, 0, "\\"], [3508, 0, "s"], [3509, 0, " "], [3510, 0, "b"], [3511, 0, "a"], [3512, 0, "s"], [3513, 0, "e"], [3514, 0, "d"], [3515, 0, " "], [3516, 0, "o"], [3517, 0, "n"], [3518, 0, " "], [3519, 0, "\\"], [3520, 0, "e"], [3521, 0, "m"], [3522, 0, "p"], [3523, 0, "h"], [3524, 0, "{"], [3525, 0, "o"], [3526, 0, "p"], [3527, 0, "e"], [3528, 0, "r"], [3529, 0, "a"], [3530, 0, "t"], [3531, 0, "i"], [3532, 0, "o"], [3533, 0, "n"], [3534, 0, "a"], [3535, 0, "l"], [3536, 0, " "], [3537, 0, "t"], [3538, 0, "r"], [3539, 0, "a"], [3540, 0, "n"], [3541, 0, "s"], [3542, 0, "f"], [3543, 0, "o"], [3544, 0, "r"], [3545, 0, "m"], [3546, 0, "a"], [3547, 0, "t"], [3548, 0, "i"], [3549, 0, "o"], [3550, 0, "n"], [3551, 0, "}"], [3552, 0, " "], [3553, 0, "("], [3554, 0, "O"], [3555, 0, "T"], [3556, 0, ")"], [3557, 0, " "], [3558, 0, "h"], [3559, 0, "a"], [3560, 0, "v"], [3561, 0, "e"], [3562, 0, " "], [3563, 0, "l"], [3564, 0, "o"], [3565, 0, "n"], [3566, 0, "g"], [3567, 0, " "], [3568, 0, "b"], [3569, 0, "e"], [3570, 0, "e"], [3571, 0, "n"], [3572, 0, "i"], [3573, 0, "t"], [3574, 0, "e"], [3575, 0, "{"], [3576, 0, "E"], [3577, 0, "l"], [3578, 0, "l"], [3579, 0, "i"], [3580, 0, "s"], [3581, 0, ":"], [3582, 0, "1"], [3583, 0, "9"], [3584, 0, "8"], [3585, 0, "9"], [3586, 0, "u"], [3587, 0, "e"], [3588, 0, ","], [3589, 0, "R"], [3590, 0, "e"], [3591, 0, "s"], [3592, 0, "s"], [3593, 0, "e"], [3594, 0, "l"], [3595, 0, ":"], [3596, 0, "1"], [3597, 0, "9"], [3598, 0, "9"], [3599, 0, "6"], [3600, 0, "w"], [3601, 0, "x"], [3602, 0, ","], [3603, 0, "S"], [3604, 0, "u"], [3605, 0, "n"], [3606, 0, ":"], [3607, 0, "1"], [3608, 0, "9"], [3609, 0, "9"], [3610, 0, "8"], [3611, 0, "v"], [3612, 0, "f"], [3613, 0, ","], [3614, 0, "N"], [3615, 0, "i"], [3616, 0, "c"], [3617, 0, "h"], [3618, 0, "o"], [3619, 0, "l"], [3620, 0, "s"], [3621, 0, ":"], [3622, 0, "1"], [3623, 0, "9"], [3624, 0, "9"], [3625, 0, "5"], [3626, 0, "f"], [3627, 0, "d"], [3628, 0, "}"], [3629, 0, "."], [3630, 0, " "], [3631, 0, "M"], [3632, 0, "o"], [3633, 0, "s"], [3634, 0, "t"], [3635, 0, " "], [3636, 0, "o"], [3637, 0, "f"], [3638, 0, " "], [3639, 0, "t"], [3640, 0, "h"], [3641, 0, "e"], [3642, 0, "m"], [3643, 0, " "], [3644, 0, "t"], [3645, 0, "r"], [3646, 0, "e"], [3647, 0, "a"], [3648, 0, "t"], [3649, 0, " "], [3650, 0, "a"], [3651, 0, " "], [3652, 0, "d"], [3653, 0, "o"], [3654, 0, "c"], [3655, 0, "u"], [3656, 0, "m"], [3657, 0, "e"], [3658, 0, "n"], [3659, 0, "t"], [3660, 0, " "], [3661, 0, "a"], [3662, 0, "s"], [3663, 0, " "], [3664, 0, "a"], [3665, 0, " "], [3666, 0, "s"], [3667, 0, "i"], [3668, 0, "n"], [3669, 0, "g"], [3670, 0, "l"], [3671, 0, "e"], [3672, 0, " "], [3673, 0, "o"], [3674, 0, "r"], [3675, 0, "d"], [3676, 0, "e"], [3677, 0, "r"], [3678, 0, "e"], [3679, 0, "d"], [3680, 0, " "], [3681, 0, "l"], [3682, 0, "i"], [3683, 0, "s"], [3684, 0, "a"], [3685, 0, "t"], [3686, 0, " "], [3687, 0, "a"], [3688, 0, "r"], [3689, 0, "e"], [3690, 0, " "], [3691, 0, "r"], [3692, 0, "e"], [3693, 0, "q"], [3694, 0, "u"], [3695, 0, "i"], [3696, 0, "r"], [3697, 0, "e"], [3698, 0, "d"], [3699, 0, " "], [3700, 0, "f"], [3701, 0, "o"], [3702, 0, "r"], [3703, 0, " "], [3704, 0, "m"], [3705, 0, "a"], [3706, 0, "n"], [3707, 0, "y"], [3708, 0, " "], [3709, 0, "a"], [3710, 0, "p"], [3711, 0, "p"], [3712, 0, "l"], [3713, 0, "i"], [3714, 0, "c"], [3715, 0, "a"], [3716, 0, "z"], [3717, 0, "e"], [3718, 0, " "], [3719, 0, "O"], [3720, 0, "T"], [3721, 0, " "], [3722, 0, "t"], [3723, 0, "o"], [3724, 0, " "], [3725, 0, "e"], [3726, 0, "d"], [3727, 0, "i"], [3728, 0, "t"], [3729, 0, "i"], [3730, 0, "n"], [3731, 0, "g"], [3732, 0, " "], [3733, 0, "X"], [3734, 0, "M"], [3735, 0, "L"], [3736, 0, " "], [3737, 0, "d"], [3738, 0, "o"], [3739, 0, "c"], [3740, 0, "u"], [3741, 0, "m"], [3742, 0, "e"], [3743, 0, "n"], [3744, 0, "t"], [3745, 0, "s"], [3746, 0, "~"], [3747, 0, "\\"], [3748, 0, "c"], [3749, 0, "i"], [3750, 0, "t"], [3751, 0, "e"], [3752, 0, "{"], [3753, 0, "D"], [3754, 0, "a"], [3755, 0, "v"], [3756, 0, "i"], [3757, 0, "s"], [3758, 0, ":"], [3759, 0, "2"], [3760, 0, "0"], [3761, 0, "0"], [3762, 0, "2"], [3763, 0, "i"], [3764, 0, "v"], [3765, 0, ","], [3766, 0, "I"], [3767, 0, "g"], [3768, 0, "n"], [3769, 0, "a"], [3770, 0, "t"], [3771, 0, ":"], [3772, 0, "2"], [3773, 0, "0"], [3774, 0, "0"], [3775, 0, "3"], [3776, 0, "j"], [3777, 0, "y"], [3778, 0, ","], [3779, 0, "W"], [3780, 0, "l"], [3781, 0, "i"], [3782, 0, "s"], [3783, 0, "t"], [3784, 0, "s"], [3785, 0, ","], [3786, 0, " "], [3787, 0, "b"], [3788, 0, "u"], [3789, 0, "t"], [3790, 0, " "], [3791, 0, "t"], [3792, 0, "h"], [3793, 0, "e"], [3794, 0, "s"], [3795, 0, "e"], [3796, 0, " "], [3797, 0, "a"], [3798, 0, "l"], [3799, 0, "g"], [3800, 0, "o"], [3801, 0, "r"], [3802, 0, "i"], [3803, 0, "t"], [3804, 0, "h"], [3805, 0, "m"], [3806, 0, "s"], [3807, 0, " "], [3808, 0, "d"], [3809, 0, "o"], [3810, 0, " "], [3811, 0, "n"], [3812, 0, "o"], [3813, 0, "t"], [3814, 0, " "], [3815, 0, "s"], [3816, 0, "u"], [3817, 0, "p"], [3818, 0, "p"], [3819, 0, "o"], [3820, 0, "r"], [3821, 0, "t"], [3822, 0, " "], [3823, 0, "k"], [3824, 0, "e"], [3825, 0, "y"], [3826, 0, "-"], [3827, 0, "v"], [3828, 0, "e"], [3829, 0, "d"], [3830, 0, " "], [3831, 0, "O"], [3832, 0, "T"], [3833, 0, " "], [3834, 0, "c"], [3835, 0, "o"], [3836, 0, "l"], [3837, 0, "l"], [3838, 0, "a"], [3839, 0, "b"], [3840, 0, "o"], [3841, 0, "r"], [3842, 0, "a"], [3843, 0, "t"], [3844, 0, "i"], [3845, 0, "o"], [3846, 0, "n"], [3847, 0, " "], [3848, 0, "s"], [3849, 0, "y"], [3850, 0, "s"], [3851, 0, "t"], [3852, 0, "e"], [3853, 0, "m"], [3854, 0, "s"], [3855, 0, ","], [3856, 0, " "], [3857, 0, "i"], [3858, 0, "n"], [3859, 0, "c"], [3860, 0, "l"], [3861, 0, "u"], [3862, 0, "d"], [3863, 0, "i"], [3864, 0, "n"], [3865, 0, "g"], [3866, 0, " "], [3867, 0, "G"], [3868, 0, "o"], [3869, 0, "o"], [3870, 0, "g"], [3871, 0, "l"], [3872, 0, "e"], [3873, 0, " "], [3874, 0, "D"], [3875, 0, "o"], [3876, 0, "c"], [3877, 0, "s"], [3878, 0, "~"], [3879, 0, "\\"], [3880, 0, "c"], [3881, 0, "i"], [3882, 0, "t"], [3883, 0, "e"], [3884, 0, "{"], [3885, 0, "D"], [3886, 0, "a"], [3887, 0, "y"], [3888, 0, "R"], [3889, 0, "i"], [3890, 0, "c"], [3891, 0, "h"], [3892, 0, "{"], [3893, 0, "S"], [3894, 0, "p"], [3895, 0, "i"], [3896, 0, "e"], [3897, 0, "w"], [3898, 0, "a"], [3899, 0, "k"], [3900, 0, ":"], [3901, 0, "2"], [3902, 0, "0"], [3903, 0, "1"], [3904, 0, "0"], [3905, 0, "v"], [3906, 0, "w"], [3907, 0, "}"], [3908, 0, " "], [3909, 0, "a"], [3910, 0, "n"], [3911, 0, "d"], [3912, 0, " "], [3913, 0, "A"], [3914, 0, "p"], [3915, 0, "a"], [3916, 0, "c"], [3917, 0, "h"], [3918, 0, "e"], [3919, 0, " "], [3920, 0, "W"], [3921, 0, "a"], [3922, 0, "v"], [3923, 0, "e"], [3924, 0, " "], [3925, 0, "("], [3926, 0, "f"], [3927, 0, "o"], [3928, 0, "r"], [3929, 0, "m"], [3930, 0, "e"], [3931, 0, "r"], [3932, 0, "l"], [3933, 0, "y"], [3934, 0, " "], [3935, 0, "G"], [3936, 0, "o"], [3937, 0, "o"], [3938, 0, "g"], [3939, 0, "l"], [3940, 0, "e"], [3941, 0, " "], [3942, 0, "W"], [3943, 0, "a"], [3944, 0, "v"], [3945, 0, "e"], [3946, 0, "~"], [3947, 0, "\\"], [3948, 0, "c"], [3949, 0, "i"], [3950, 0, "t"], [3951, 0, "e"], [3952, 0, "{"], [3953, 0, "W"], [3954, 0, "a"], [3955, 0, "n"], [3956, 0, "n"], [3957, 0, "g"], [3958, 0, " "], [3959, 0, "o"], [3960, 0, "f"], [3961, 0, " "], [3962, 0, "o"], [3963, 0, "p"], [3964, 0, "e"], [3965, 0, "r"], [3966, 0, "a"], [3967, 0, "t"], [3968, 0, "i"], [3969, 0, "o"], [3970, 0, "n"], [3971, 0, "s"], [3972, 0, "~"], [3973, 0, "\\"], [3974, 0, "c"], [3975, 0, "i"], [3976, 0, "t"], [3977, 0, "e"], [3978, 0, "{"], [3979, 0, "L"], [3980, 0, "e"], [3981, 0, "m"], [3982, 0, "o"], [3983, 0, "n"], [3984, 0, "i"], [3985, 0, "k"], [3986, 0, ":"], [3987, 0, "2"], [3988, 0, "0"], [3989, 0, "1"], [3990, 0, "6"], [3991, 0, "w"], [3992, 0, "h"], [3993, 0, "}"], [3994, 0, ","], [3995, 0, " "], [3996, 0, "a"], [3997, 0, " "], [3998, 0, "d"], [3999, 0, "e"], [4000, 0, "s"], [4001, 0, "i"], [4002, 0, "g"], [4003, 0, "n"], [4004, 0, " "], [4005, 0, "d"], [4006, 0, "e"], [4007, 0, "c"], [4008, 0, "i"], [4009, 0, "s"], [4010, 0, "i"], [4011, 0, "o"], [4012, 0, "n"], [4013, 0, " "], [4014, 0, "i"], [4015, 0, "n"], [4016, 0, "h"], [4017, 0, "e"], [4018, 0, "r"], [4019, 0, "i"], [4020, 0, "h"], [4021, 0, " "], [4022, 0, "h"], [4023, 0, "a"], [4024, 0, "s"], [4025, 0, " "], [4026, 0, "t"], [4027, 0, "h"], [4028, 0, "e"], [4029, 0, " "], [4030, 0, "a"], [4031, 0, "d"], [4032, 0, "v"], [4033, 0, "a"], [4034, 0, "n"], [4035, 0, "t"], [4036, 0, "a"], [4037, 0, "g"], [4038, 0, "e"], [4039, 0, " "], [4040, 0, "o"], [4041, 0, "f"], [4042, 0, " "], [4043, 0, "m"], [4044, 0, "a"], [4045, 0, "k"], [4046, 0, "i"], [4047, 0, "n"], [4048, 0, "g"], [4049, 0, " "], [4050, 0, "t"], [4051, 0, "h"], [4052, 0, "e"], [4053, 0, " "], [4054, 0, "t"], [4055, 0, "r"], [4056, 0, "a"], [4057, 0, "n"], [4058, 0, "s"], [4059, 0, "f"], [4060, 0, "o"], [4061, 0, "r"], [4062, 0, "m"], [4063, 0, "a"], [4064, 0, "t"], [4065, 0, "i"], [4066, 0, "o"], [4067, 0, "n"], [4068, 0, " "], [4069, 0, "f"], [4070, 0, "u"], [4071, 0, "n"], [4072, 0, "c"], [4073, 0, "t"], [4074, 0, "i"], [4075, 0, "o"], [4076, 0, "n"], [4077, 0, "s"], [4078, 0, " "], [4079, 0, "s"], [4080, 0, "i"], [4081, 0, "m"], [4082, 0, "p"], [4083, 0, "l"], [4084, 0, "e"], [4085, 0, "t"], [4086, 0, " "], [4087, 0, "o"], [4088, 0, "u"], [4089, 0, "r"], [4090, 0, " "], [4091, 0, "r"], [4092, 0, "e"], [4093, 0, "q"], [4094, 0, "u"], [4095, 0, "i"], [4096, 0, "r"], [4097, 0, "e"], [4098, 0, "m"], [4099, 0, "e"], [4100, 0, "n"], [4101, 0, "t"], [4102, 0, "s"], [4103, 0, ","], [4104, 0, " "], [4105, 0, "s"], [4106, 0, "i"], [4107, 0, "n"], [4108, 0, "c"], [4109, 0, "e"], [4110, 0, " "], [4111, 0, "w"], [4112, 0, "e"], [4113, 0, " "], [4114, 0, "w"], [4115, 0, "a"], [4116, 0, "n"], [4117, 0, "t"], [4118, 0, " "], [4119, 0, "t"], [4120, 0, "o"], [4121, 0, " "], [4122, 0, "s"], [4123, 0, "u"], [4124, 0, "p"], [4125, 0, "p"], [4126, 0, "o"], [4127, 0, "r"], [4128, 0, "t"], [4129, 0, " "], [4130, 0, "p"], [4131, 0, "e"], [4132, 0, "e"], [4133, 0, "r"], [4134, 0, "-"], [4135, 0, "t"], [4136, 0, "o"], [4137, 0, "-"], [4138, 0, "p"], [4139, 0, "e"], [4140, 0, "e"], [4141, 0, "r"], [4142, 0, " "], [4143, 0, "c"], [4144, 0, "o"], [4145, 0, "l"], [4146, 0, "l"], [4147, 0, "a"], [4148, 0, "n"], [4149, 0, "g"], [4150, 0, " "], [4151, 0, "p"], [4152, 0, "r"], [4153, 0, "o"], [4154, 0, "t"], [4155, 0, "o"], [4156, 0, "c"], [4157, 0, "o"], [4158, 0, "l"], [4159, 0, "s"], [4160, 0, ","], [4161, 0, " "], [4162, 0, "w"], [4163, 0, "h"], [4164, 0, "i"], [4165, 0, "c"], [4166, 0, "h"], [4167, 0, " "], [4168, 0, "w"], [4169, 0, "e"], [4170, 0, " "], [4171, 0, "p"], [4172, 0, "l"], [4173, 0, "a"], [4174, 0, "n"], [4175, 0, " "], [4176, 0, "t"], [4177, 0, "o"], [4178, 0, " "], [4179, 0, "u"], [4180, 0, "s"], [4181, 0, "e"], [4182, 0, " "], [4183, 0, "f"], [4184, 0, "o"], [4185, 0, "r"], [4186, 0, " "], [4187, 0, "e"], [4188, 0, "n"], [4189, 0, "c"], [4190, 0, "r"], [4191, 0, "y"], [4192, 0, "p"], [4193, 0, "t"], [4194, 0, "e"], [4195, 0, "d"], [4196, 0, " "], [4197, 0, "c"], [4198, 0, "o"], [4199, 0, "l"], [4200, 0, "l"], [4201, 0, "a"], [4202, 0, "b"], [4203, 0, "o"], [4204, 0, "r"], [4205, 0, "a"], [4206, 0, "t"], [4207, 0, "i"], [4208, 0, "o"], [4209, 0, "n"], [4210, 0, ","], [4211, 0, " "], [4212, 0, "d"], [4213, 0, "o"], [4214, 0, " "], [4215, 0, "n"], [4216, 0, "o"], [4217, 0, "t"], [4218, 0, " "], [4219, 0, "g"], [4220, 0, "u"], [4221, 0, "a"], [4222, 0, "r"], [4223, 0, "a"], [4224, 0, "n"], [4225, 0, "t"], [4226, 0, "e"], [4227, 0, "e"], [4228, 0, " "], [4229, 0, "t"], [4230, 0, "h"], [4231, 0, "e"], [4232, 0, " "], [4233, 0, "s"], [4234, 0, "a"], [4235, 0, "m"], [4236, 0, "e"], [4237, 0, " "], [4238, 0, "o"], [4239, 0, "r"], [4240, 0, "d"], [4241, 0, "e"], [4242, 0, "r"], [4243, 0, "~"], [4244, 0, "\\"], [4245, 0, "c"], [4246, 0, "i"], [4247, 0, "t"], [4248, 0, "e"], [4249, 0, "{"], [4250, 0, "U"], [4251, 0, "n"], [4252, 0, "g"], [4253, 0, "e"], [4254, 0, "r"], [4255, 0, ":"], [4256, 0, "2"], [4257, 0, "0"], [4258, 0, "1"], [4259, 0, "5"], [4260, 0, "k"], [4261, 0, "g"], [4262, 0, "}"], [4263, 0, "."], [4264, 0, " "], [4265, 0, "A"], [4266, 0, "l"], [4267, 0, "t"], [4268, 0, "h"], [4269, 0, "o"], [4270, 0, "u"], [4271, 0, "g"], [4272, 0, "h"], [4273, 0, " "], [4274, 0, "i"], [4275, 0, "t"], [4276, 0, " "], [4277, 0, "i"], [4278, 0, "s"], [4279, 0, " "], [4280, 0, "p"], [4281, 0, "o"], [4282, 0, "s"], [4283, 0, "s"], [4284, 0, "i"], [4285, 0, "b"], [4286, 0, "l"], [4287, 0, "e"], [4288, 0, " "], [4289, 0, "t"], [4290, 0, "o"], [4291, 0, " "], [4292, 0, "d"], [4293, 0, "c"], [4294, 0, "a"], [4295, 0, "s"], [4296, 0, "t"], [4297, 0, " "], [4298, 0, "p"], [4299, 0, "r"], [4300, 0, "o"], [4301, 0, "t"], [4302, 0, "o"], [4303, 0, "c"], [4304, 0, "o"], [4305, 0, "l"], [4306, 0, "~"], [4307, 0, "\\"], [4308, 0, "c"], [4309, 0, "i"], [4310, 0, "t"], [4311, 0, "e"], [4312, 0, "{"], [4313, 0, "D"], [4314, 0, "e"], [4315, 0, "f"], [4316, 0, "a"], [4317, 0, "g"], [4318, 0, "o"], [4319, 0, ":"], [4320, 0, "2"], [4321, 0, "0"], [4322, 0, "0"], [4323, 0, "4"], [4324, 0, "j"], [4325, 0, "i"], [4326, 0, "}"], [4327, 0, ","], [4328, 0, " "], [4329, 0, "w"], [4330, 0, "h"], [4331, 0, "i"], [4332, 0, "c"], [4333, 0, "h"], [4334, 0, " "], [4335, 0, "a"], [4336, 0, "v"], [4337, 0, "o"], [4338, 0, "i"], [4339, 0, "d"], [4340, 0, "s"], [4341, 0, " "], [4342, 0, "r"], [4343, 0, "e"], [4344, 0, "l"], [4345, 0, "y"], [4346, 0, "i"], [4347, 0, "n"], [4348, 0, "g"], [4349, 0, " "], [4350, 0, "o"], [4351, 0, "n"], [4352, 0, " "], [4353, 0, "a"], [4354, 0, " "], [4355, 0, "s"], [4356, 0, "C"], [4357, 0, "h"], [4358, 0, "a"], [4359, 0, "n"], [4360, 0, "d"], [4361, 0, "r"], [4362, 0, "a"], [4363, 0, ":"], [4364, 0, "1"], [4365, 0, "9"], [4366, 0, "9"], [4367, 0, "6"], [4368, 0, "c"], [4369, 0, "p"], [4370, 0, "}"], [4371, 0, ","], [4372, 0, " "], [4373, 0, "s"], [4374, 0, "o"], [4375, 0, " "], [4376, 0, "t"], [4377, 0, "h"], [4378, 0, "e"], [4379, 0, "y"], [4380, 0, " "], [4381, 0, "c"], [4382, 0, "a"], [4383, 0, "n"], [4384, 0, " "], [4385, 0, "o"], [4386, 0, "n"], [4387, 0, "l"], [4388, 0, "y"], [4389, 0, " "], [4390, 0, "s"], [4391, 0, "a"], [4392, 0, "f"], [4393, 0, "e"], [4394, 0, "l"], [4395, 0, "y"], [4396, 0, " "], [4397, 0, "m"], [4398, 0, "a"], [4399, 0, "k"], [4400, 0, "e"], [4401, 0, " "], [4402, 0, "p"], [4403, 0, "r"], [4404, 0, "o"], [4405, 0, "g"], [4406, 0, "r"], [4407, 0, "e"], [4408, 0, "s"], [4409, 0, "s"], [4410, 0, " "], [4411, 0, "i"], [4412, 0, "f"], [4413, 0, " "], [4414, 0, "a"], [4415, 0, " "], [4416, 0, "m"], [4417, 0, "a"], [4418, 0, "j"], [4419, 0, "o"], [4420, 0, "n"], [4421, 0, " "], [4422, 0, "p"], [4423, 0, "e"], [4424, 0, "e"], [4425, 0, "r"], [4426, 0, "-"], [4427, 0, "t"], [4428, 0, "o"], [4429, 0, "-"], [4430, 0, "p"], [4431, 0, "e"], [4432, 0, "e"], [4433, 0, "r"], [4434, 0, " "], [4435, 0, "s"], [4436, 0, "y"], [4437, 0, "s"], [4438, 0, "t"], [4439, 0, "e"], [4440, 0, "m"], [4441, 0, "s"], [4442, 0, " "], [4443, 0, "o"], [4444, 0, "f"], [4445, 0, " "], [4446, 0, "m"], [4447, 0, "o"], [4448, 0, "b"], [4449, 0, "i"], [4450, 0, "l"], [4451, 0, "e"], [4452, 0, " "], [4453, 0, "d"], [4454, 0, "e"], [4455, 0, "v"], [4456, 0, "i"], [4457, 0, "c"], [4458, 0, "e"], [4459, 0, "s"], [4460, 0, " "], [4461, 0, "i"], [4462, 0, "t"], [4463, 0, " "], [4464, 0, "w"], [4465, 0, "i"], [4466, 0, "l"], [4467, 0, "l"], [4468, 0, " "], [4469, 0, "f"], [4470, 0, "r"], [4471, 0, "e"], [4472, 0, "q"], [4473, 0, "u"], [4474, 0, "e"], [4475, 0, "n"], [4476, 0, "t"], [4477, 0, "l"], [4478, 0, "y"], [4479, 0, " "], [4480, 0, "b"], [4481, 0, "e"], [4482, 0, " "], [4483, 0, "t"], [4484, 0, "a"], [4485, 0, "m"], [4486, 0, "e"], [4487, 0, " "], [4488, 0, "t"], [4489, 0, "i"], [4490, 0, "m"], [4491, 0, "e"], [4492, 0, ","], [4493, 0, " "], [4494, 0, "a"], [4495, 0, "n"], [4496, 0, "d"], [4497, 0, " "], [4498, 0, "s"], [4499, 0, "o"], [4500, 0, " "], [4501, 0, "a"], [4502, 0, "n"], [4503, 0, "y"], [4504, 0, " "], [4505, 0, "a"], [4506, 0, "l"], [4507, 0, "g"], [4508, 0, "o"], [4509, 0, "r"], [4510, 0, "i"], [4511, 0, "t"], [4512, 0, "h"], [4513, 0, "m"], [4514, 0, " "], [4515, 0, "r"], [4516, 0, "b"], [4517, 0, "e"], [4518, 0, "c"], [4519, 0, "o"], [4520, 0, "m"], [4521, 0, "e"], [4522, 0, " "], [4523, 0, "u"], [4524, 0, "n"], [4525, 0, "a"], [4526, 0, "v"], [4527, 0, "a"], [4528, 0, "i"], [4529, 0, "l"], [4530, 0, "a"], [4531, 0, "b"], [4532, 0, "l"], [4533, 0, "e"], [4534, 0, "."], [4535, 0, " "], [4536, 0, "T"], [4537, 0, "h"], [4538, 0, "e"], [4539, 0, " "], [4540, 0, "s"], [4541, 0, "t"], [4542, 0, "r"], [4543, 0, "o"], [4544, 0, "n"], [4545, 0, "g"], [4546, 0, "e"], [4547, 0, "s"], [4548, 0, "t"], [4549, 0, " "], [4550, 0, "g"], [4551, 0, "u"], [4552, 0, "a"], [4553, 0, "r"], [4554, 0, "a"], [4555, 0, "r"], [4556, 0, "a"], [4557, 0, "n"], [4558, 0, "t"], [4559, 0, "e"], [4560, 0, "e"], [4561, 0, " "], [4562, 0, "s"], [4563, 0, "u"], [4564, 0, "c"], [4565, 0, "h"], [4566, 0, " "], [4567, 0, "a"], [4568, 0, " "], [4569, 0, "s"], [4570, 0, "y"], [4571, 0, "s"], [4572, 0, "t"], [4573, 0, "e"], [4574, 0, "m"], [4575, 0, " "], [4576, 0, "c"], [4577, 0, "a"], [4578, 0, "n"], [4579, 0, " "], [4580, 0, "m"], [4581, 0, "e"], [4582, 0, " "], [4583, 0, "A"], [4584, 0, "P"], [4585, 0, "I"], [4586, 0, "~"], [4587, 0, "\\"], [4588, 0, "c"], [4589, 0, "i"], [4590, 0, "t"], [4591, 0, "e"], [4592, 0, "{"], [4593, 0, "G"], [4594, 0, "o"], [4595, 0, "o"], [4596, 0, "g"], [4597, 0, "l"], [4598, 0, "e"], [4599, 0, ":"], [4600, 0, "2"], [4601, 0, "0"], [4602, 0, "1"], [4603, 0, "5"], [4604, 0, "v"], [4605, 0, "k"], [4606, 0, "}"], [4607, 0, " "], [4608, 0, "i"], [4609, 0, "s"], [4610, 0, " "], [4611, 0, "t"], [4612, 0, "h"], [4613, 0, "e"], [4614, 0, " "], [4615, 0, "o"], [4616, 0, "n"], [4617, 0, "l"], [4618, 0, "y"], [4619, 0, " "], [4620, 0, "i"], [4621, 0, "m"], [4622, 0, "p"], [4623, 0, "l"], [4624, 0, "e"], [4625, 0, "m"], [4626, 0, "e"], [4627, 0, "n"], [4628, 0, "t"], [4629, 0, "a"], [4630, 0, "t"], [4631, 0, "i"], [4632, 0, "o"], [4633, 0, "n"], [4634, 0, " "], [4635, 0, "o"], [4636, 0, "f"], [4637, 0, " "], [4638, 0, "O"], [4639, 0, "T"], [4640, 0, " "], [4641, 0, "o"], [4642, 0, "f"], [4643, 0, " "], [4644, 0, "w"], [4645, 0, "h"], [4646, 0, "i"], [4647, 0, "c"], [4648, 0, "h"], [4649, 0, " "], [4650, 0, "w"], [4651, 0, "e"], [4652, 0, " "], [4653, 0, "a"], [4654, 0, "w"], [4655, 0, "a"], [4656, 0, "r"], [4657, 0, "e"], [4658, 0, " "], [4659, 0, "t"], [4660, 0, "h"], [4661, 0, "a"], [4662, 0, "t"], [4663, 0, " "], [4664, 0, "s"], [4665, 0, "u"], [4666, 0, "p"], [4667, 0, "p"], [4668, 0, "o"], [4669, 0, "r"], [4670, 0, "t"], [4671, 0, "s"], [4672, 0, " "], [4673, 0, "a"], [4674, 0, "r"], [4675, 0, "b"], [4676, 0, "i"], [4677, 0, "t"], [4678, 0, "r"], [4679, 0, "a"], [4680, 0, "r"], [4681, 0, "y"], [4682, 0, " "], [4683, 0, "n"], [4684, 0, "e"], [4685, 0, "s"], [4686, 0, "t"], [4687, 0, "i"], [4688, 0, "n"], [4689, 0, "g"], [4690, 0, " "], [4691, 0, "o"], [4692, 0, "f"], [4693, 0, " "], [4694, 0, "l"], [4695, 0, "i"], [4696, 0, "s"], [4697, 0, "t"], [4698, 0, "s"], [4699, 0, " "], [4700, 0, "a"], [4701, 0, "n"], [4702, 0, "d"], [4703, 0, " "], [4704, 0, "m"], [4705, 0, "a"], [4706, 0, "p"], [4707, 0, "s"], [4708, 0, "."], [4709, 0, " "], [4710, 0, "L"], [4711, 0, "i"], [4712, 0, "k"], [4713, 0, "e"], [4714, 0, " "], [4715, 0, "G"], [4716, 0, "o"], [4717, 0, "o"], [4718, 0, "g"], [4719, 0, "l"], [4720, 0, "e"], [4721, 0, " "], [4722, 0, "D"], [4723, 0, "o"], [4724, 0, "c"], [4725, 0, "s"], [4726, 0, ","], [4727, 0, " "], [4728, 0, "i"], [4729, 0, "t"], [4730, 0, " "], [4731, 0, "r"], [4732, 0, "e"], [4733, 0, "l"], [4734, 0, "i"], [4735, 0, "e"], [4736, 0, "s"], [4737, 0, " "], [4738, 0, "o"], [4739, 0, "n"], [4740, 0, " "], [4741, 0, "a"], [4742, 0, " "], [4743, 0, "s"], [4744, 0, "i"], [4745, 0, "n"], [4746, 0, "g"], [4747, 0, "l"], [4748, 0, "e"], [4749, 0, " "], [4750, 0, "s"], [4751, 0, "e"], [4752, 0, "r"], [4753, 0, "v"], [4754, 0, "e"], [4755, 0, "r"], [4756, 0, "~"], [4757, 0, "\\"], [4758, 0, "c"], [4759, 0, "i"], [4760, 0, "t"], [4761, 0, "e"], [4762, 0, "{"], [4763, 0, "L"], [4764, 0, "e"], [4765, 0, "m"], [4766, 0, "o"], [4767, 0, "n"], [4768, 0, "i"], [4769, 0, "k"], [4770, 0, ":"], [4771, 0, "2"], [4772, 0, "0"], [4773, 0, "1"], [4774, 0, "6"], [4775, 0, "w"], [4776, 0, "h"], [4777, 0, "}"], [4778, 0, "."], [4779, 0, " "], [4780, 0, "A"], [4781, 0, "s"], [4782, 0, " "], [4783, 0, "a"], [4784, 0, " "], [4785, 0, "p"], [4786, 0, "r"], [4787, 0, "o"], [4788, 0, "p"], [4789, 0, "r"], [4790, 0, "i"], [4791, 0, "e"], [4792, 0, "t"], [4793, 0, "a"], [4794, 0, "r"], [4795, 0, "y"], [4796, 0, " "], [4797, 0, "p"], [4798, 0, "r"], [4799, 0, "o"], [4800, 0, "d"], [4801, 0, "u"], [4802, 0, "c"], [4803, 0, "t"], [4804, 0, ","], [4805, 0, " "], [4806, 0, "d"], [4807, 0, "e"], [4808, 0, "t"], [4809, 0, "a"], [4810, 0, "i"], [4811, 0, "l"], [4812, 0, "s"], [4813, 0, " "], [4814, 0, "o"], [4815, 0, "f"], [4816, 0, " "], [4817, 0, "i"], [4818, 0, "t"], [4819, 0, "s"], [4820, 0, " "], [4821, 0, "a"], [4822, 0, "l"], [4823, 0, "g"], [4824, 0, "o"], [4825, 0, "r"], [4826, 0, "i"], [4827, 0, "t"], [4828, 0, "h"], [4829, 0, "m"], [4830, 0, "s"], [4831, 0, " "], [4832, 0, "h"], [4833, 0, "a"], [4834, 0, "v"], [4835, 0, "e"], [4836, 0, " "], [4837, 0, "n"], [4838, 0, "o"], [4839, 0, "t"], [4840, 0, " "], [4841, 0, "b"], [4842, 0, "e"], [4843, 0, "e"], [4844, 0, "n"], [4845, 0, " "], [4846, 0, "p"], [4847, 0, "u"], [4848, 0, "b"], [4849, 0, "l"], [4850, 0, "i"], [4851, 0, "s"], [4852, 0, "h"], [4853, 0, "e"], [4854, 0, "d"], [4855, 0, "."], [4855, 1], [4854, 1], [4853, 1], [4852, 1], [4851, 1], [4850, 1], [4849, 1], [4848, 1], [4847, 1], [4846, 1], [4845, 1], [4844, 1], [4843, 1], [4842, 1], [4841, 1], [4840, 1], [4839, 1], [4838, 1], [4837, 1], [4836, 1], [4835, 1], [4834, 1], [4833, 1], [4832, 1], [4831, 1], [4830, 1], [4829, 1], [4828, 1], [4827, 1], [4826, 1], [4825, 1], [4824, 1], [4823, 1], [4822, 1], [4821, 1], [4820, 1], [4819, 1], [4818, 1], [4817, 1], [4816, 1], [4815, 1], [4814, 1], [4813, 1], [4812, 1], [4811, 1], [4810, 1], [4809, 1], [4808, 1], [4807, 1], [4806, 1], [4805, 1], [4804, 1], [4803, 1], [4802, 1], [4801, 1], [4800, 1], [4799, 1], [4798, 1], [4797, 1], [4796, 1], [4795, 1], [4794, 1], [4793, 1], [4792, 1], [4791, 1], [4790, 1], [4789, 1], [4788, 1], [4787, 1], [4786, 1], [4785, 1], [4784, 1], [4783, 1], [4782, 1], [4781, 1], [4780, 1], [4779, 1], [4778, 1], [4777, 1], [4776, 1], [4775, 1], [4774, 1], [4773, 1], [4772, 1], [4771, 1], [4770, 1], [4769, 1], [4768, 1], [4767, 1], [4766, 1], [4765, 1], [4764, 1], [4763, 1], [4762, 1], [4761, 1], [4760, 1], [4759, 1], [4758, 1], [4757, 1], [4756, 1], [4755, 1], [4754, 1], [4753, 1], [4752, 1], [4751, 1], [4750, 1], [4749, 1], [4748, 1], [4747, 1], [4746, 1], [4745, 1], [4744, 1], [4743, 1], [4742, 1], [4741, 1], [4740, 1], [4739, 1], [4738, 1], [4737, 1], [4736, 1], [4735, 1], [4734, 1], [4733, 1], [4732, 1], [4731, 1], [4730, 1], [4729, 1], [4728, 1], [4727, 1], [4726, 1], [4725, 1], [4724, 1], [4723, 1], [4722, 1], [4721, 1], [4720, 1], [4719, 1], [4718, 1], [4717, 1], [4716, 1], [4715, 1], [4714, 1], [4713, 1], [4712, 1], [4711, 1], [4710, 1], [4709, 1], [4708, 1], [4707, 1], [4706, 1], [4705, 1], [4704, 1], [4703, 1], [4702, 1], [4701, 1], [4700, 1], [4699, 1], [4698, 1], [4697, 1], [4696, 1], [4695, 1], [4694, 1], [4693, 1], [4692, 1], [4691, 1], [4690, 1], [4689, 1], [4688, 1], [4687, 1], [4686, 1], [4685, 1], [4684, 1], [4683, 1], [4682, 1], [4681, 1], [4680, 1], [4679, 1], [4678, 1], [4677, 1], [4676, 1], [4675, 1], [4674, 1], [4673, 1], [4672, 1], [4671, 1], [4670, 1], [4669, 1], [4668, 1], [4667, 1], [4666, 1], [4665, 1], [4664, 1], [4663, 1], [4662, 1], [4661, 1], [4660, 1], [4659, 1], [4658, 1], [4657, 1], [4656, 1], [4655, 1], [4654, 1], [4653, 1], [4652, 1], [4651, 1], [4650, 1], [4649, 1], [4648, 1], [4647, 1], [4646, 1], [4645, 1], [4644, 1], [4643, 1], [4642, 1], [4641, 1], [4640, 1], [4639, 1], [4638, 1], [4637, 1], [4636, 1], [4635, 1], [4634, 1], [4633, 1], [4632, 1], [4631, 1], [4630, 1], [4629, 1], [4628, 1], [4627, 1], [4626, 1], [4625, 1], [4624, 1], [4623, 1], [4622, 1], [4621, 1], [4620, 1], [4619, 1], [4618, 1], [4617, 1], [4616, 1], [4615, 1], [4614, 1], [4613, 1], [4612, 1], [4611, 1], [4610, 1], [4609, 1], [4608, 1], [4607, 1], [4606, 1], [4605, 1], [4604, 1], [4603, 1], [4602, 1], [4601, 1], [4600, 1], [4599, 1], [4598, 1], [4597, 1], [4596, 1], [4595, 1], [4594, 1], [4593, 1], [4592, 1], [4591, 1], [4590, 1], [4589, 1], [4588, 1], [4587, 1], [4586, 1], [4585, 1], [4584, 1], [4583, 1], [4582, 1], [4581, 1], [4580, 1], [4579, 1], [4578, 1], [4577, 1], [4576, 1], [4575, 1], [4574, 1], [4573, 1], [4572, 1], [4571, 1], [4570, 1], [4569, 1], [4568, 1], [4567, 1], [4566, 1], [4565, 1], [4564, 1], [4563, 1], [4562, 1], [4561, 1], [4560, 1], [4559, 1], [4558, 1], [4557, 1], [4556, 1], [4555, 1], [4554, 1], [4553, 1], [4552, 1], [4551, 1], [4550, 1], [4549, 1], [4548, 1], [4547, 1], [4546, 1], [4545, 1], [4544, 1], [4543, 1], [4542, 1], [4541, 1], [4540, 1], [4539, 1], [4538, 1], [4537, 1], [4536, 1], [4535, 1], [4534, 1], [4533, 1], [4532, 1], [4531, 1], [4530, 1], [4529, 1], [4528, 1], [4527, 1], [4526, 1], [4525, 1], [4524, 1], [4523, 1], [4522, 1], [4521, 1], [4520, 1], [4519, 1], [4518, 1], [4517, 1], [4516, 1], [4515, 1], [4514, 1], [4513, 1], [4512, 1], [4511, 1], [4510, 1], [4509, 1], [4508, 1], [4507, 1], [4506, 1], [4505, 1], [4504, 1], [4503, 1], [4502, 1], [4501, 1], [4500, 1], [4499, 1], [4498, 1], [4497, 1], [4496, 1], [4495, 1], [4494, 1], [4493, 1], [4492, 1], [4491, 1], [4490, 1], [4489, 1], [4488, 1], [4487, 1], [4486, 1], [4485, 1], [4484, 1], [4483, 1], [4482, 1], [4481, 1], [4480, 1], [4479, 1], [4478, 1], [4477, 1], [4476, 1], [4475, 1], [4474, 1], [4473, 1], [4472, 1], [4471, 1], [4470, 1], [4469, 1], [4468, 1], [4467, 1], [4466, 1], [4465, 1], [4464, 1], [4463, 1], [4462, 1], [4461, 1], [4460, 1], [4459, 1], [4458, 1], [4457, 1], [4456, 1], [4455, 1], [4454, 1], [4453, 1], [4452, 1], [4451, 1], [4450, 1], [4449, 1], [4448, 1], [4447, 1], [4446, 1], [4445, 1], [4444, 1], [4443, 1], [4442, 1], [4441, 1], [4440, 1], [4439, 1], [4438, 1], [4437, 1], [4436, 1], [4435, 1], [4434, 1], [4433, 1], [4432, 1], [4431, 1], [4430, 1], [4429, 1], [4428, 1], [4427, 1], [4426, 1], [4425, 1], [4424, 1], [4423, 1], [4422, 1], [4421, 1], [4420, 1], [4419, 1], [4418, 1], [4417, 1], [4416, 1], [4415, 1], [4414, 1], [4413, 1], [4412, 1], [4411, 1], [4410, 1], [4409, 1], [4408, 1], [4407, 1], [4406, 1], [4405, 1], [4404, 1], [4403, 1], [4402, 1], [4401, 1], [4400, 1], [4399, 1], [4398, 1], [4397, 1], [4396, 1], [4395, 1], [4394, 1], [4393, 1], [4392, 1], [4391, 1], [4390, 1], [4389, 1], [4388, 1], [4387, 1], [4386, 1], [4385, 1], [4384, 1], [4383, 1], [4382, 1], [4381, 1], [4380, 1], [4379, 1], [4378, 1], [4377, 1], [4376, 1], [4375, 1], [4374, 1], [4373, 1], [4372, 1], [4371, 1], [4370, 1], [4369, 1], [4368, 1], [4367, 1], [4366, 1], [4365, 1], [4364, 1], [4363, 1], [4362, 1], [4361, 1], [4360, 1], [4359, 1], [4358, 1], [4357, 1], [4356, 1], [4355, 1], [4354, 1], [4353, 1], [4352, 1], [4351, 1], [4350, 1], [4349, 1], [4348, 1], [4347, 1], [4346, 1], [4345, 1], [4344, 1], [4343, 1], [4342, 1], [4341, 1], [4340, 1], [4339, 1], [4338, 1], [4337, 1], [4336, 1], [4335, 1], [4334, 1], [4333, 1], [4332, 1], [4331, 1], [4330, 1], [4329, 1], [4328, 1], [4327, 1], [4326, 1], [4325, 1], [4324, 1], [4323, 1], [4322, 1], [4321, 1], [4320, 1], [4319, 1], [4318, 1], [4317, 1], [4316, 1], [4315, 1], [4314, 1], [4313, 1], [4312, 1], [4311, 1], [4310, 1], [4309, 1], [4308, 1], [4307, 1], [4306, 1], [4305, 1], [4304, 1], [4303, 1], [4302, 1], [4301, 1], [4300, 1], [4299, 1], [4298, 1], [4297, 1], [4296, 1], [4295, 1], [4294, 1], [4293, 1], [4292, 1], [4291, 1], [4290, 1], [4289, 1], [4288, 1], [4287, 1], [4286, 1], [4285, 1], [4284, 1], [4283, 1], [4282, 1], [4281, 1], [4280, 1], [4279, 1], [4278, 1], [4277, 1], [4276, 1], [4275, 1], [4274, 1], [4273, 1], [4272, 1], [4271, 1], [4270, 1], [4269, 1], [4268, 1], [4267, 1], [4266, 1], [4265, 1], [4264, 1], [4263, 1], [4262, 1], [4261, 1], [4260, 1], [4259, 1], [4258, 1], [4257, 1], [4256, 1], [4255, 1], [4254, 1], [4253, 1], [4252, 1], [4251, 1], [4250, 1], [4249, 1], [4248, 1], [4247, 1], [4246, 1], [4245, 1], [4244, 1], [4243, 1], [4242, 1], [4241, 1], [4240, 1], [4239, 1], [4238, 1], [4237, 1], [4236, 1], [4235, 1], [4234, 1], [4233, 1], [4232, 1], [4231, 1], [4230, 1], [4229, 1], [4228, 1], [4227, 1], [4226, 1], [4225, 1], [4224, 1], [4223, 1], [4222, 1], [4221, 1], [4220, 1], [4219, 1], [4218, 1], [4217, 1], [4216, 1], [4215, 1], [4214, 1], [4213, 1], [4212, 1], [4211, 1], [4210, 1], [4209, 1], [4208, 1], [4207, 1], [4206, 1], [4205, 1], [4204, 1], [4203, 1], [4202, 1], [4201, 1], [4200, 1], [4199, 1], [4198, 1], [4197, 1], [4196, 1], [4195, 1], [4194, 1], [4193, 1], [4192, 1], [4191, 1], [4190, 1], [4189, 1], [4188, 1], [4187, 1], [4186, 1], [4185, 1], [4184, 1], [4183, 1], [4182, 1], [4181, 1], [4180, 1], [4179, 1], [4178, 1], [4177, 1], [4176, 1], [4175, 1], [4174, 1], [4173, 1], [4172, 1], [4171, 1], [4170, 1], [4169, 1], [4168, 1], [4167, 1], [4166, 1], [4165, 1], [4164, 1], [4163, 1], [4162, 1], [4161, 1], [4160, 1], [4159, 1], [4158, 1], [4157, 1], [4156, 1], [4155, 1], [4154, 1], [4153, 1], [4152, 1], [4151, 1], [4150, 1], [4149, 1], [4148, 1], [4147, 1], [4146, 1], [4145, 1], [4144, 1], [4143, 1], [4142, 1], [4141, 1], [4140, 1], [4139, 1], [4138, 1], [4137, 1], [4136, 1], [4135, 1], [4134, 1], [4133, 1], [4132, 1], [4131, 1], [4130, 1], [4129, 1], [4128, 1], [4127, 1], [4126, 1], [4125, 1], [4124, 1], [4123, 1], [4122, 1], [4121, 1], [4120, 1], [4119, 1], [4118, 1], [4117, 1], [4116, 1], [4115, 1], [4114, 1], [4113, 1], [4112, 1], [4111, 1], [4110, 1], [4109, 1], [4108, 1], [4107, 1], [4106, 1], [4105, 1], [4104, 1], [4103, 1], [4102, 1], [4101, 1], [4100, 1], [4099, 1], [4098, 1], [4097, 1], [4096, 1], [4095, 1], [4094, 1], [4093, 1], [4092, 1], [4091, 1], [4090, 1], [4089, 1], [4088, 1], [4087, 1], [4086, 1], [4085, 1], [4084, 1], [4083, 1], [4082, 1], [4081, 1], [4080, 1], [4079, 1], [4078, 1], [4077, 1], [4076, 1], [4075, 1], [4074, 1], [4073, 1], [4072, 1], [4071, 1], [4070, 1], [4069, 1], [4068, 1], [4067, 1], [4066, 1], [4065, 1], [4064, 1], [4063, 1], [4062, 1], [4061, 1], [4060, 1], [4059, 1], [4058, 1], [4057, 1], [4056, 1], [4055, 1], [4054, 1], [4053, 1], [4052, 1], [4051, 1], [4050, 1], [4049, 1], [4048, 1], [4047, 1], [4046, 1], [4045, 1], [4044, 1], [4043, 1], [4042, 1], [4041, 1], [4040, 1], [4039, 1], [4038, 1], [4037, 1], [4036, 1], [4035, 1], [4034, 1], [4033, 1], [4032, 1], [4031, 1], [4030, 1], [4029, 1], [4028, 1], [4027, 1], [4026, 1], [4025, 1], [4024, 1], [4023, 1], [4022, 1], [4021, 1], [4020, 1], [4019, 1], [4018, 1], [4017, 1], [4016, 1], [4015, 1], [4014, 1], [4013, 1], [4012, 1], [4011, 1], [4010, 1], [4009, 1], [4008, 1], [4007, 1], [4006, 1], [4005, 1], [4004, 1], [4003, 1], [4002, 1], [4001, 1], [4000, 1], [3999, 1], [3998, 1], [3997, 1], [3996, 1], [3995, 1], [3994, 1], [3993, 1], [3992, 1], [3991, 1], [3990, 1], [3989, 1], [3988, 1], [3987, 1], [3986, 1], [3985, 1], [3984, 1], [3983, 1], [3982, 1], [3981, 1], [3980, 1], [3979, 1], [3978, 1], [3977, 1], [3976, 1], [3975, 1], [3974, 1], [3973, 1], [3972, 1], [3971, 1], [3970, 1], [3969, 1], [3968, 1], [3967, 1], [3966, 1], [3965, 1], [3964, 1], [3963, 1], [3962, 1], [3961, 1], [3960, 1], [3959, 1], [3958, 1], [3957, 1], [3956, 1], [3955, 1], [3954, 1], [3953, 1], [3952, 1], [3951, 1], [3950, 1], [3949, 1], [3948, 1], [3947, 1], [3946, 1], [3945, 1], [3944, 1], [3943, 1], [3942, 1], [3941, 1], [3940, 1], [3939, 1], [3938, 1], [3937, 1], [3936, 1], [3935, 1], [3934, 1], [3933, 1], [3932, 1], [3931, 1], [3930, 1], [3929, 1], [3928, 1], [3927, 1], [3926, 1], [3925, 1], [3924, 1], [3923, 1], [3922, 1], [3921, 1], [3920, 1], [3919, 1], [3918, 1], [3917, 1], [3916, 1], [3915, 1], [3914, 1], [3913, 1], [3912, 1], [3911, 1], [3910, 1], [3909, 1], [3908, 1], [3907, 1], [3906, 1], [3905, 1], [3904, 1], [3903, 1], [3902, 1], [3901, 1], [3900, 1], [3899, 1], [3898, 1], [3897, 1], [3896, 1], [3895, 1], [3894, 1], [3893, 1], [3892, 1], [3891, 1], [3890, 1], [3889, 1], [3888, 1], [3887, 1], [3886, 1], [3885, 1], [3884, 1], [3883, 1], [3882, 1], [3881, 1], [3880, 1], [3879, 1], [3878, 1], [3877, 1], [3876, 1], [3875, 1], [3874, 1], [3873, 1], [3872, 1], [3871, 1], [3870, 1], [3869, 1], [3868, 1], [3867, 1], [3866, 1], [3865, 1], [3864, 1], [3863, 1], [3862, 1], [3861, 1], [3860, 1], [3859, 1], [3858, 1], [3857, 1], [3856, 1], [3855, 1], [3854, 1], [3853, 1], [3852, 1], [3851, 1], [3850, 1], [3849, 1], [3848, 1], [3847, 1], [3846, 1], [3845, 1], [3844, 1], [3843, 1], [3842, 1], [3841, 1], [3840, 1], [3839, 1], [3838, 1], [3837, 1], [3836, 1], [3835, 1], [3834, 1], [3833, 1], [3832, 1], [3831, 1], [3830, 1], [3829, 1], [3828, 1], [3827, 1], [3826, 1], [3825, 1], [3824, 1], [3823, 1], [3822, 1], [3821, 1], [3820, 1], [3819, 1], [3818, 1], [3817, 1], [3816, 1], [3815, 1], [3814, 1], [3813, 1], [3812, 1], [3811, 1], [3810, 1], [3809, 1], [3808, 1], [3807, 1], [3806, 1], [3805, 1], [3804, 1], [3803, 1], [3802, 1], [3801, 1], [3800, 1], [3799, 1], [3798, 1], [3797, 1], [3796, 1], [3795, 1], [3794, 1], [3793, 1], [3792, 1], [3791, 1], [3790, 1], [3789, 1], [3788, 1], [3787, 1], [3786, 1], [3785, 1], [3784, 1], [3783, 1], [3782, 1], [3781, 1], [3780, 1], [3779, 1], [3778, 1], [3777, 1], [3776, 1], [3775, 1], [3774, 1], [3773, 1], [3772, 1], [3771, 1], [3770, 1], [3769, 1], [3768, 1], [3767, 1], [3766, 1], [3765, 1], [3764, 1], [3763, 1], [3762, 1], [3761, 1], [3760, 1], [3759, 1], [3758, 1], [3757, 1], [3756, 1], [3755, 1], [3754, 1], [3753, 1], [3752, 1], [3751, 1], [3750, 1], [3749, 1], [3748, 1], [3747, 1], [3746, 1], [3745, 1], [3744, 1], [3743, 1], [3742, 1], [3741, 1], [3740, 1], [3739, 1], [3738, 1], [3737, 1], [3736, 1], [3735, 1], [3734, 1], [3733, 1], [3732, 1], [3731, 1], [3730, 1], [3729, 1], [3728, 1], [3727, 1], [3726, 1], [3725, 1], [3724, 1], [3723, 1], [3722, 1], [3721, 1], [3720, 1], [3719, 1], [3718, 1], [3717, 1], [3716, 1], [3715, 1], [3714, 1], [3713, 1], [3712, 1], [3711, 1], [3710, 1], [3709, 1], [3708, 1], [3707, 1], [3706, 1], [3705, 1], [3704, 1], [3703, 1], [3702, 1], [3701, 1], [3700, 1], [3699, 1], [3698, 1], [3697, 1], [3696, 1], [3695, 1], [3694, 1], [3693, 1], [3692, 1], [3691, 1], [3690, 1], [3689, 1], [3688, 1], [3687, 1], [3686, 1], [3685, 1], [3684, 1], [3683, 1], [3682, 1], [3681, 1], [3680, 1], [3679, 1], [3678, 1], [3677, 1], [3676, 1], [3675, 1], [3674, 1], [3673, 1], [3672, 1], [3671, 1], [3670, 1], [3669, 1], [3668, 1], [3667, 1], [3666, 1], [3665, 1], [3664, 1], [3663, 1], [3662, 1], [3661, 1], [3660, 1], [3659, 1], [3658, 1], [3657, 1], [3656, 1], [3655, 1], [3654, 1], [3653, 1], [3652, 1], [3651, 1], [3650, 1], [3649, 1], [3648, 1], [3647, 1], [3646, 1], [3645, 1], [3644, 1], [3643, 1], [3642, 1], [3641, 1], [3640, 1], [3639, 1], [3638, 1], [3637, 1], [3636, 1], [3635, 1], [3634, 1], [3633, 1], [3632, 1], [3631, 1], [3630, 1], [3629, 1], [3628, 1], [3627, 1], [3626, 1], [3625, 1], [3624, 1], [3623, 1], [3622, 1], [3621, 1], [3620, 1], [3619, 1], [3618, 1], [3617, 1], [3616, 1], [3615, 1], [3614, 1], [3613, 1], [3612, 1], [3611, 1], [3610, 1], [3609, 1], [3608, 1], [3607, 1], [3606, 1], [3605, 1], [3604, 1], [3603, 1], [3602, 1], [3601, 1], [3600, 1], [3599, 1], [3598, 1], [3597, 1], [3596, 1], [3595, 1], [3594, 1], [3593, 1], [3592, 1], [3591, 1], [3590, 1], [3589, 1], [3588, 1], [3587, 1], [3586, 1], [3585, 1], [3584, 1], [3583, 1], [3582, 1], [3581, 1], [3580, 1], [3579, 1], [3578, 1], [3577, 1], [3576, 1], [3575, 1], [3574, 1], [3573, 1], [3572, 1], [3571, 1], [3570, 1], [3569, 1], [3568, 1], [3567, 1], [3566, 1], [3565, 1], [3564, 1], [3563, 1], [3562, 1], [3561, 1], [3560, 1], [3559, 1], [3558, 1], [3557, 1], [3556, 1], [3555, 1], [3554, 1], [3553, 1], [3552, 1], [3551, 1], [3550, 1], [3549, 1], [3548, 1], [3547, 1], [3546, 1], [3545, 1], [3544, 1], [3543, 1], [3542, 1], [3541, 1], [3540, 1], [3539, 1], [3538, 1], [3537, 1], [3536, 1], [3535, 1], [3534, 1], [3533, 1], [3532, 1], [3531, 1], [3530, 1], [3529, 1], [3528, 1], [3527, 1], [3526, 1], [3525, 1], [3524, 1], [3523, 1], [3522, 1], [3521, 1], [3520, 1], [3519, 1], [3518, 1], [3517, 1], [3516, 1], [3515, 1], [3514, 1], [3513, 1], [3512, 1], [3511, 1], [3510, 1], [3509, 1], [3508, 1], [3507, 1], [3506, 1], [3505, 1], [3504, 1], [3503, 1], [3502, 1], [3501, 1], [3500, 1], [3499, 1], [3498, 1], [3497, 1], [3496, 1], [3495, 1], [3494, 1], [3493, 1], [3492, 1], [3491, 1], [3490, 1], [3489, 1], [3488, 1], [3487, 1], [3486, 1], [3485, 1], [3484, 1], [3483, 1], [3482, 1], [3481, 1], [3480, 1], [3479, 1], [3478, 1], [3477, 1], [3476, 1], [3475, 1], [3474, 1], [3473, 1], [3472, 1], [3471, 1], [3470, 1], [3469, 1], [3468, 1], [3467, 1], [3466, 1], [3465, 1], [3464, 1], [3463, 1], [3462, 1], [3461, 1], [3460, 1], [3460, 0, "\\"], [3461, 0, "s"], [3462, 0, "e"], [3463, 0, "c"], [3464, 0, "t"], [3465, 0, "i"], [3466, 0, "o"], [3467, 0, "n"], [3468, 0, "{"], [3469, 0, "R"], [3470, 0, "e"], [3471, 0, "l"], [3472, 0, "a"], [3473, 0, "t"], [3474, 0, "e"], [3475, 0, "d"], [3476, 0, "i"], [3477, 0, "o"], [3478, 0, "n"], [3479, 0, "{"], [3480, 0, "O"], [3481, 0, "p"], [3482, 0, "e"], [3483, 0, "r"], [3484, 0, "a"], [3485, 0, "t"], [3486, 0, "i"], [3487, 0, "o"], [3488, 0, "n"], [3489, 0, "a"], [3490, 0, "l"], [3491, 0, " "], [3492, 0, "t"], [3493, 0, "r"], [3494, 0, "a"], [3495, 0, "n"], [3496, 0, "s"], [3497, 0, "f"], [3498, 0, "o"], [3499, 0, "r"], [3500, 0, "m"], [3501, 0, "a"], [3502, 0, "t"], [3503, 0, "i"], [3504, 0, "o"], [3505, 0, "n"], [3506, 0, "}"], [3507, 0, "\\"], [3508, 0, "s"], [3509, 0, " "], [3510, 0, "b"], [3511, 0, "a"], [3512, 0, "s"], [3513, 0, "e"], [3514, 0, "d"], [3515, 0, " "], [3516, 0, "o"], [3517, 0, "n"], [3518, 0, " "], [3519, 0, "\\"], [3520, 0, "e"], [3521, 0, "m"], [3522, 0, "p"], [3523, 0, "h"], [3524, 0, "{"], [3525, 0, "o"], [3526, 0, "p"], [3527, 0, "e"], [3528, 0, "r"], [3529, 0, "a"], [3530, 0, "t"], [3531, 0, "i"], [3532, 0, "o"], [3533, 0, "n"], [3534, 0, "a"], [3535, 0, "l"], [3536, 0, " "], [3537, 0, "t"], [3538, 0, "r"], [3539, 0, "a"], [3540, 0, "n"], [3541, 0, "s"], [3542, 0, "f"], [3543, 0, "o"], [3544, 0, "r"], [3545, 0, "m"], [3546, 0, "a"], [3547, 0, "t"], [3548, 0, "i"], [3549, 0, "o"], [3550, 0, "n"], [3551, 0, "}"], [3552, 0, " "], [3553, 0, "("], [3554, 0, "O"], [3555, 0, "T"], [3556, 0, ")"], [3557, 0, " "], [3558, 0, "h"], [3559, 0, "a"], [3560, 0, "v"], [3561, 0, "e"], [3562, 0, " "], [3563, 0, "l"], [3564, 0, "o"], [3565, 0, "n"], [3566, 0, "g"], [3567, 0, " "], [3568, 0, "b"], [3569, 0, "e"], [3570, 0, "e"], [3571, 0, "n"], [3572, 0, " "], [3573, 0, "u"], [3574, 0, "s"], [3575, 0, "e"], [3576, 0, "d"], [3577, 0, " "], [3578, 0, "f"], [3579, 0, "o"], [3580, 0, "r"], [3581, 0, " "], [3582, 0, "c"], [3583, 0, "o"], [3584, 0, "l"], [3585, 0, "l"], [3586, 0, "a"], [3587, 0, "b"], [3588, 0, "o"], [3589, 0, "r"], [3590, 0, "a"], [3591, 0, "t"], [3592, 0, "i"], [3593, 0, "v"], [3594, 0, "e"], [3595, 0, " "], [3596, 0, "e"], [3597, 0, "d"], [3598, 0, "i"], [3599, 0, "t"], [3600, 0, "i"], [3601, 0, "n"], [3602, 0, "g"], [3603, 0, " "], [3604, 0, "d"], [3605, 0, "o"], [3606, 0, "c"], [3607, 0, "u"], [3608, 0, "m"], [3609, 0, "e"], [3610, 0, "n"], [3611, 0, "t"], [3612, 0, " "], [3613, 0, "a"], [3614, 0, "s"], [3615, 0, " "], [3616, 0, "a"], [3617, 0, " "], [3618, 0, "s"], [3619, 0, "i"], [3620, 0, "s"], [3621, 0, ","], [3622, 0, " "], [3623, 0, "f"], [3624, 0, "o"], [3625, 0, "r"], [3626, 0, " "], [3627, 0, "e"], [3628, 0, "x"], [3629, 0, "a"], [3630, 0, "m"], [3631, 0, "p"], [3632, 0, "l"], [3633, 0, "e"], [3634, 0, ")"], [3635, 0, " "], [3636, 0, "a"], [3637, 0, "n"], [3638, 0, "d"], [3639, 0, " "], [3640, 0, "d"], [3641, 0, "o"], [3642, 0, " "], [3643, 0, "n"], [3644, 0, "o"], [3645, 0, "t"], [3646, 0, " "], [3647, 0, "s"], [3648, 0, "u"], [3649, 0, "p"], [3650, 0, "p"], [3651, 0, "o"], [3652, 0, "r"], [3653, 0, "t"], [3654, 0, " "], [3655, 0, "t"], [3656, 0, "h"], [3657, 0, "e"], [3658, 0, " "], [3659, 0, "n"], [3660, 0, "e"], [3661, 0, "s"], [3662, 0, "t"], [3663, 0, "e"], [3664, 0, "d"], [3665, 0, " "], [3666, 0, "t"], [3667, 0, "r"], [3668, 0, "e"], [3669, 0, "e"], [3670, 0, " "], [3671, 0, "s"], [3672, 0, "t"], [3673, 0, "r"], [3674, 0, "u"], [3675, 0, "c"], [3676, 0, "t"], [3677, 0, "u"], [3678, 0, "r"], [3679, 0, "e"], [3680, 0, "s"], [3681, 0, " "], [3682, 0, "t"], [3683, 0, "h"], [3684, 0, "a"], [3685, 0, "t"], [3686, 0, " "], [3687, 0, "a"], [3688, 0, "r"], [3689, 0, "e"], [3690, 0, " "], [3691, 0, "r"], [3692, 0, "e"], [3693, 0, "q"], [3694, 0, "u"], [3695, 0, "i"], [3696, 0, "r"], [3697, 0, "e"], [3698, 0, "d"], [3699, 0, " "], [3700, 0, "c"], [3701, 0, "i"], [3702, 0, "t"], [3703, 0, "e"], [3704, 0, "{"], [3705, 0, "D"], [3706, 0, "a"], [3707, 0, "v"], [3708, 0, "i"], [3709, 0, "s"], [3710, 0, ":"], [3711, 0, "2"], [3712, 0, "0"], [3713, 0, "0"], [3714, 0, "2"], [3715, 0, "i"], [3716, 0, "v"], [3717, 0, ","], [3718, 0, "I"], [3719, 0, "g"], [3720, 0, "n"], [3721, 0, "a"], [3722, 0, "t"], [3723, 0, ":"], [3724, 0, "2"], [3725, 0, "0"], [3726, 0, "0"], [3727, 0, "3"], [3728, 0, "j"], [3729, 0, "y"], [3730, 0, ","], [3731, 0, "W"], [3732, 0, "a"], [3733, 0, "n"], [3734, 0, "g"], [3735, 0, ":"], [3736, 0, "2"], [3737, 0, "0"], [3738, 0, "1"], [3739, 0, "5"], [3740, 0, "v"], [3741, 0, "o"], [3742, 0, "}"], [3743, 0, ","], [3744, 0, " "], [3745, 0, "w"], [3746, 0, "h"], [3747, 0, "i"], [3748, 0, " "], [3749, 0, "a"], [3750, 0, "l"], [3751, 0, "g"], [3752, 0, "o"], [3753, 0, "r"], [3754, 0, "i"], [3755, 0, "t"], [3756, 0, "h"], [3757, 0, "m"], [3758, 0, "s"], [3759, 0, " "], [3760, 0, "d"], [3761, 0, "o"], [3762, 0, " "], [3763, 0, "n"], [3764, 0, "o"], [3765, 0, "t"], [3766, 0, " "], [3767, 0, "s"], [3768, 0, "u"], [3769, 0, "p"], [3770, 0, "p"], [3771, 0, "o"], [3772, 0, "r"], [3773, 0, "t"], [3774, 0, " "], [3775, 0, "k"], [3776, 0, "e"], [3777, 0, "y"], [3778, 0, "-"], [3779, 0, "v"], [3780, 0, "a"], [3781, 0, "l"], [3782, 0, "u"], [3783, 0, "e"], [3784, 0, " "], [3785, 0, "m"], [3786, 0, "a"], [3787, 0, "p"], [3788, 0, "s"], [3789, 0, " "], [3790, 0, "a"], [3791, 0, "s"], [3792, 0, " "], [3793, 0, "d"], [3794, 0, "e"], [3795, 0, "f"], [3796, 0, "i"], [3797, 0, "n"], [3798, 0, "e"], [3799, 0, "d"], [3800, 0, " "], [3801, 0, "i"], [3802, 0, "n"], [3803, 0, " "], [3804, 0, "t"], [3805, 0, "h"], [3806, 0, "i"], [3807, 0, "s"], [3808, 0, " "], [3809, 0, "p"], [3810, 0, "a"], [3811, 0, "p"], [3812, 0, "e"], [3813, 0, "r"], [3814, 0, "."], [3815, 0, "\n"], [3816, 0, "\n"], [3817, 0, "\\"], [3818, 0, "s"], [3819, 0, "e"], [3820, 0, "c"], [3821, 0, "t"], [3822, 0, "i"], [3823, 0, "o"], [3824, 0, "n"], [3825, 0, "{"], [3826, 0, "R"], [3827, 0, "e"], [3828, 0, "l"], [3829, 0, "a"], [3830, 0, "t"], [3831, 0, "e"], [3832, 0, "d"], [3833, 0, "i"], [3834, 0, "o"], [3835, 0, "n"], [3836, 0, "{"], [3837, 0, "O"], [3838, 0, "p"], [3839, 0, "e"], [3840, 0, "r"], [3841, 0, "a"], [3842, 0, "t"], [3843, 0, "i"], [3844, 0, "o"], [3845, 0, "n"], [3846, 0, "a"], [3847, 0, "l"], [3848, 0, " "], [3849, 0, "t"], [3850, 0, "r"], [3851, 0, "a"], [3852, 0, "n"], [3853, 0, "s"], [3854, 0, "f"], [3855, 0, "o"], [3856, 0, "r"], [3857, 0, "m"], [3858, 0, "a"], [3859, 0, "t"], [3860, 0, "i"], [3861, 0, "o"], [3862, 0, "n"], [3863, 0, "}"], [3864, 0, "\\"], [3865, 0, "l"], [3866, 0, "a"], [3867, 0, "b"], [3868, 0, "e"], [3869, 0, "l"], [3870, 0, "{"], [3871, 0, "s"], [3872, 0, "e"], [3873, 0, "c"], [3874, 0, ":"], [3875, 0, "r"], [3876, 0, "e"], [3877, 0, "l"], [3878, 0, "a"], [3879, 0, "t"], [3880, 0, "e"], [3881, 0, ")"], [3882, 0, " "], [3883, 0, "h"], [3884, 0, "a"], [3885, 0, "v"], [3886, 0, "e"], [3887, 0, " "], [3888, 0, "l"], [3889, 0, "o"], [3890, 0, "n"], [3891, 0, "g"], [3892, 0, " "], [3893, 0, "b"], [3894, 0, "e"], [3895, 0, "e"], [3896, 0, "n"], [3897, 0, " "], [3898, 0, "u"], [3899, 0, "s"], [3900, 0, "e"], [3901, 0, "d"], [3902, 0, " "], [3903, 0, "f"], [3904, 0, "o"], [3905, 0, "r"], [3906, 0, " "], [3907, 0, "c"], [3908, 0, "o"], [3909, 0, "l"], [3910, 0, "l"], [3911, 0, "a"], [3912, 0, "b"], [3913, 0, "o"], [3914, 0, "r"], [3915, 0, "a"], [3916, 0, "t"], [3917, 0, "i"], [3918, 0, "v"], [3919, 0, "e"], [3920, 0, " "], [3921, 0, "e"], [3922, 0, "d"], [3923, 0, "i"], [3924, 0, "t"], [3925, 0, "i"], [3926, 0, "n"], [3927, 0, "g"], [3928, 0, " "], [3929, 0, "s"], [3930, 0, ":"], [3931, 0, "1"], [3932, 0, "9"], [3933, 0, "9"], [3934, 0, "5"], [3935, 0, "f"], [3936, 0, "d"], [3937, 0, "}"], [3938, 0, "."], [3939, 0, " "], [3940, 0, "M"], [3941, 0, "o"], [3942, 0, "s"], [3943, 0, "t"], [3944, 0, " "], [3945, 0, "o"], [3946, 0, "f"], [3947, 0, " "], [3948, 0, "t"], [3949, 0, "h"], [3950, 0, "e"], [3951, 0, "m"], [3952, 0, " "], [3953, 0, "t"], [3954, 0, "r"], [3955, 0, "e"], [3956, 0, "a"], [3957, 0, "t"], [3958, 0, " "], [3959, 0, "a"], [3960, 0, " "], [3961, 0, "d"], [3962, 0, "o"], [3963, 0, "c"], [3964, 0, "u"], [3965, 0, "m"], [3966, 0, "e"], [3967, 0, "n"], [3968, 0, "t"], [3969, 0, " "], [3970, 0, "a"], [3971, 0, "s"], [3972, 0, " "], [3973, 0, "a"], [3974, 0, " "], [3975, 0, "s"], [3976, 0, "i"], [3977, 0, "a"], [3978, 0, "n"], [3979, 0, "d"], [3980, 0, " "], [3981, 0, "d"], [3982, 0, "o"], [3983, 0, " "], [3984, 0, "n"], [3985, 0, "o"], [3986, 0, "t"], [3987, 0, " "], [3988, 0, "s"], [3989, 0, "u"], [3990, 0, "p"], [3991, 0, "p"], [3992, 0, "o"], [3993, 0, "r"], [3994, 0, "t"], [3995, 0, " "], [3996, 0, "t"], [3997, 0, "h"], [3998, 0, "e"], [3999, 0, " "], [4000, 0, "n"], [4001, 0, "e"], [4002, 0, "s"], [4003, 0, "t"], [4004, 0, "e"], [4005, 0, "d"], [4006, 0, " "], [4007, 0, "t"], [4008, 0, "r"], [4009, 0, "e"], [4010, 0, "e"], [4011, 0, " "], [4012, 0, "s"], [4013, 0, "t"], [4014, 0, "r"], [4015, 0, "u"], [4016, 0, "c"], [4017, 0, "t"], [4018, 0, "u"], [4019, 0, "r"], [4020, 0, "e"], [4021, 0, "s"], [4022, 0, " "], [4023, 0, "t"], [4024, 0, "h"], [4025, 0, "a"], [4026, 0, "t"], [4027, 0, " "], [4028, 0, "a"], [4029, 0, "r"], [4030, 0, "e"], [4031, 0, " "], [4032, 0, "r"], [4033, 0, "e"], [4034, 0, "q"], [4035, 0, "u"], [4036, 0, "i"], [4037, 0, "r"], [4038, 0, "e"], [4039, 0, "d"], [4040, 0, " "], [4041, 0, "f"], [4042, 0, "o"], [4043, 0, "r"], [4044, 0, " "], [4045, 0, "m"], [4046, 0, "a"], [4047, 0, "n"], [4048, 0, "y"], [4049, 0, " "], [4050, 0, "a"], [4051, 0, "p"], [4052, 0, "p"], [4053, 0, "l"], [4054, 0, "i"], [4055, 0, "c"], [4056, 0, "a"], [4057, 0, "t"], [4058, 0, "i"], [4059, 0, "o"], [4060, 0, "n"], [4061, 0, "s"], [4062, 0, "."], [4063, 0, " "], [4064, 0, "S"], [4065, 0, "o"], [4066, 0, "m"], [4067, 0, "e"], [4068, 0, " "], [4069, 0, "a"], [4070, 0, "l"], [4071, 0, "g"], [4072, 0, "o"], [4073, 0, "r"], [4074, 0, "\n"], [4075, 0, "i"], [4076, 0, "t"], [4077, 0, "h"], [4078, 0, "m"], [4079, 0, "s"], [4080, 0, " "], [4081, 0, "g"], [4082, 0, "e"], [4083, 0, "n"], [4084, 0, "e"], [4085, 0, "r"], [4086, 0, "a"], [4087, 0, "l"], [4088, 0, "i"], [4089, 0, "z"], [4090, 0, "e"], [4091, 0, " "], [4092, 0, "O"], [4093, 0, "T"], [4094, 0, " "], [4095, 0, "t"], [4096, 0, "o"], [4097, 0, " "], [4098, 0, "e"], [4099, 0, "d"], [4100, 0, "i"], [4101, 0, "t"], [4102, 0, "i"], [4103, 0, "n"], [4104, 0, "g"], [4105, 0, " "], [4106, 0, "X"], [4107, 0, "M"], [4108, 0, "L"], [4109, 0, " "], [4110, 0, "d"], [4111, 0, "o"], [4112, 0, "c"], [4113, 0, "u"], [4114, 0, "m"], [4115, 0, "e"], [4116, 0, "n"], [4117, 0, "t"], [4118, 0, "s"], [4119, 0, "~"], [4120, 0, "\\"], [4121, 0, "c"], [4122, 0, "i"], [4123, 0, "t"], [4124, 0, "e"], [4125, 0, "{"], [4126, 0, "D"], [4127, 0, "a"], [4128, 0, "v"], [4129, 0, "i"], [4130, 0, "s"], [4131, 0, ":"], [4132, 0, "2"], [4133, 0, "0"], [4134, 0, "0"], [4135, 0, "2"], [4136, 0, "i"], [4137, 0, "v"], [4138, 0, ","], [4139, 0, "I"], [4140, 0, "g"], [4141, 0, "n"], [4142, 0, "a"], [4143, 0, "t"], [4144, 0, ":"], [4145, 0, "2"], [4146, 0, "0"], [4147, 0, "0"], [4148, 0, "3"], [4149, 0, "j"], [4150, 0, "y"], [4151, 0, ","], [4152, 0, "W"], [4153, 0, "a"], [4154, 0, "n"], [4155, 0, "g"], [4156, 0, ":"], [4157, 0, "2"], [4158, 0, "0"], [4159, 0, "1"], [4160, 0, "5"], [4161, 0, "v"], [4162, 0, "o"], [4163, 0, "}"], [4164, 0, ","], [4165, 0, " "], [4166, 0, "w"], [4167, 0, "h"], [4168, 0, "i"], [4169, 0, "c"], [4170, 0, "h"], [4171, 0, " "], [4172, 0, "p"], [4173, 0, "r"], [4174, 0, "o"], [4175, 0, "v"], [4176, 0, "i"], [4177, 0, "d"], [4178, 0, "e"], [4179, 0, "s"], [4180, 0, " "], [4181, 0, "n"], [4182, 0, "e"], [4183, 0, "s"], [4184, 0, "t"], [4185, 0, "i"], [4186, 0, "n"], [4187, 0, "g"], [4188, 0, " "], [4189, 0, "o"], [4190, 0, "f"], [4191, 0, " "], [4192, 0, "o"], [4193, 0, "r"], [4194, 0, "d"], [4195, 0, "\n"], [4196, 0, "e"], [4197, 0, "r"], [4198, 0, "e"], [4199, 0, "d"], [4200, 0, " "], [4201, 0, "l"], [4202, 0, "i"], [4203, 0, "s"], [4204, 0, "t"], [4205, 0, "s"], [4206, 0, ","], [4207, 0, " "], [4208, 0, "b"], [4209, 0, "u"], [4210, 0, "t"], [4211, 0, " "], [4212, 0, "t"], [4213, 0, "h"], [4214, 0, "e"], [4215, 0, "s"], [4216, 0, "e"], [4217, 0, " "], [4218, 0, "a"], [4219, 0, "l"], [4220, 0, "g"], [4221, 0, "o"], [4222, 0, "r"], [4223, 0, "i"], [4224, 0, "t"], [4225, 0, "h"], [4226, 0, "m"], [4227, 0, "s"], [4228, 0, " "], [4229, 0, "d"], [4230, 0, "o"], [4231, 0, " "], [4232, 0, "n"], [4233, 0, "o"], [4234, 0, "t"], [4235, 0, " "], [4236, 0, "s"], [4237, 0, "u"], [4238, 0, "p"], [4239, 0, "p"], [4240, 0, "o"], [4241, 0, "r"], [4242, 0, "t"], [4243, 0, " "], [4244, 0, "k"], [4245, 0, "e"], [4246, 0, "y"], [4247, 0, "-"], [4248, 0, "v"], [4249, 0, "a"], [4250, 0, "l"], [4251, 0, "u"], [4252, 0, "e"], [4253, 0, " "], [4254, 0, "m"], [4255, 0, "a"], [4256, 0, "p"], [4257, 0, "s"], [4258, 0, " "], [4259, 0, "a"], [4260, 0, "s"], [4261, 0, " "], [4262, 0, "d"], [4263, 0, "e"], [4264, 0, "f"], [4265, 0, "i"], [4266, 0, "n"], [4267, 0, "e"], [4268, 0, "d"], [4269, 0, " "], [4270, 0, "i"], [4271, 0, "n"], [4272, 0, " "], [4273, 0, "t"], [4274, 0, "h"], [4275, 0, "i"], [4276, 0, "s"], [4277, 0, " "], [4278, 0, "p"], [4279, 0, "a"], [4280, 0, "p"], [4281, 0, "e"], [4282, 0, "r"], [4283, 0, "."], [3814, 1], [3813, 1], [3812, 1], [3811, 1], [3810, 1], [3809, 1], [3808, 1], [3807, 1], [3806, 1], [3805, 1], [3804, 1], [3803, 1], [3802, 1], [3801, 1], [3800, 1], [3799, 1], [3798, 1], [3797, 1], [3796, 1], [3795, 1], [3794, 1], [3793, 1], [3792, 1], [3791, 1], [3790, 1], [3789, 1], [3788, 1], [3787, 1], [3786, 1], [3785, 1], [3784, 1], [3783, 1], [3782, 1], [3781, 1], [3780, 1], [3779, 1], [3778, 1], [3777, 1], [3776, 1], [3775, 1], [3774, 1], [3773, 1], [3772, 1], [3771, 1], [3770, 1], [3769, 1], [3768, 1], [3767, 1], [3766, 1], [3765, 1], [3764, 1], [3763, 1], [3762, 1], [3761, 1], [3760, 1], [3759, 1], [3758, 1], [3757, 1], [3756, 1], [3755, 1], [3754, 1], [3753, 1], [3752, 1], [3751, 1], [3750, 1], [3749, 1], [3748, 1], [3747, 1], [3746, 1], [3745, 1], [3744, 1], [3743, 1], [3742, 1], [3741, 1], [3740, 1], [3739, 1], [3738, 1], [3737, 1], [3736, 1], [3735, 1], [3734, 1], [3733, 1], [3732, 1], [3731, 1], [3730, 1], [3729, 1], [3728, 1], [3727, 1], [3726, 1], [3725, 1], [3724, 1], [3723, 1], [3722, 1], [3721, 1], [3720, 1], [3719, 1], [3718, 1], [3717, 1], [3716, 1], [3715, 1], [3714, 1], [3713, 1], [3712, 1], [3711, 1], [3710, 1], [3709, 1], [3708, 1], [3707, 1], [3706, 1], [3705, 1], [3704, 1], [3703, 1], [3702, 1], [3701, 1], [3700, 1], [3699, 1], [3698, 1], [3697, 1], [3696, 1], [3695, 1], [3694, 1], [3693, 1], [3692, 1], [3691, 1], [3690, 1], [3689, 1], [3688, 1], [3687, 1], [3686, 1], [3685, 1], [3684, 1], [3683, 1], [3682, 1], [3681, 1], [3680, 1], [3679, 1], [3678, 1], [3677, 1], [3676, 1], [3675, 1], [3674, 1], [3673, 1], [3672, 1], [3671, 1], [3670, 1], [3669, 1], [3668, 1], [3667, 1], [3666, 1], [3665, 1], [3664, 1], [3663, 1], [3662, 1], [3661, 1], [3660, 1], [3659, 1], [3658, 1], [3657, 1], [3656, 1], [3655, 1], [3654, 1], [3653, 1], [3652, 1], [3651, 1], [3650, 1], [3649, 1], [3648, 1], [3647, 1], [3646, 1], [3645, 1], [3644, 1], [3643, 1], [3642, 1], [3641, 1], [3640, 1], [3639, 1], [3638, 1], [3637, 1], [3636, 1], [3635, 1], [3634, 1], [3633, 1], [3632, 1], [3631, 1], [3630, 1], [3629, 1], [3628, 1], [3627, 1], [3626, 1], [3625, 1], [3624, 1], [3623, 1], [3622, 1], [3621, 1], [3620, 1], [3619, 1], [3618, 1], [3617, 1], [3616, 1], [3615, 1], [3614, 1], [3613, 1], [3612, 1], [3611, 1], [3610, 1], [3609, 1], [3608, 1], [3607, 1], [3606, 1], [3605, 1], [3604, 1], [3603, 1], [3602, 1], [3601, 1], [3600, 1], [3599, 1], [3598, 1], [3597, 1], [3596, 1], [3595, 1], [3594, 1], [3593, 1], [3592, 1], [3591, 1], [3590, 1], [3589, 1], [3588, 1], [3587, 1], [3586, 1], [3585, 1], [3584, 1], [3583, 1], [3582, 1], [3581, 1], [3580, 1], [3579, 1], [3578, 1], [3577, 1], [3576, 1], [3575, 1], [3574, 1], [3573, 1], [3572, 1], [3571, 1], [3570, 1], [3569, 1], [3568, 1], [3567, 1], [3566, 1], [3565, 1], [3564, 1], [3563, 1], [3562, 1], [3561, 1], [3560, 1], [3559, 1], [3558, 1], [3557, 1], [3556, 1], [3555, 1], [3554, 1], [3553, 1], [3552, 1], [3551, 1], [3550, 1], [3549, 1], [3548, 1], [3547, 1], [3546, 1], [3545, 1], [3544, 1], [3543, 1], [3542, 1], [3541, 1], [3540, 1], [3539, 1], [3538, 1], [3537, 1], [3536, 1], [3535, 1], [3534, 1], [3533, 1], [3532, 1], [3531, 1], [3530, 1], [3529, 1], [3528, 1], [3527, 1], [3526, 1], [3525, 1], [3524, 1], [3523, 1], [3522, 1], [3521, 1], [3520, 1], [3519, 1], [3518, 1], [3517, 1], [3516, 1], [3515, 1], [3514, 1], [3513, 1], [3512, 1], [3511, 1], [3510, 1], [3509, 1], [3508, 1], [3507, 1], [3506, 1], [3505, 1], [3504, 1], [3503, 1], [3502, 1], [3501, 1], [3500, 1], [3499, 1], [3498, 1], [3497, 1], [3496, 1], [3495, 1], [3494, 1], [3493, 1], [3492, 1], [3491, 1], [3490, 1], [3489, 1], [3488, 1], [3487, 1], [3486, 1], [3485, 1], [3484, 1], [3483, 1], [3482, 1], [3481, 1], [3480, 1], [3479, 1], [3478, 1], [3477, 1], [3476, 1], [3475, 1], [3474, 1], [3473, 1], [3472, 1], [3471, 1], [3470, 1], [3469, 1], [3468, 1], [3467, 1], [3466, 1], [3465, 1], [3464, 1], [3463, 1], [3462, 1], [3461, 1], [3460, 1], [3459, 1], [3477, 0, " "], [3478, 0, "w"], [3479, 0, "o"], [3480, 0, "r"], [3481, 0, "k"], [3482, 0, "}"], [3483, 0, "\n"], [3484, 0, "\n"], [3485, 0, "\\"], [3486, 0, "s"], [3487, 0, "u"], [3488, 0, "b"], [3489, 0, "s"], [3490, 0, "e"], [3491, 0, "c"], [3492, 0, "t"], [3541, 0, "d"], [3542, 0, "-"], [3543, 0, "o"], [3544, 0, "t"], [3545, 0, "}"], [3546, 0, "\n"], [3547, 0, "\n"], [3548, 0, "A"], [3549, 0, "l"], [3550, 0, "g"], [3551, 0, "o"], [3552, 0, "r"], [3553, 0, "i"], [3554, 0, "t"], [3555, 0, "h"], [3556, 0, "m"], [3557, 0, "s"], [3558, 0, " "], [3559, 0, "b"], [3560, 0, "a"], [3561, 0, "s"], [3562, 0, "e"], [3563, 0, "d"], [3564, 0, " "], [3565, 0, "o"], [3566, 0, "n"], [3567, 0, " "], [3568, 0, "\\"], [3569, 0, "e"], [3570, 0, "m"], [3571, 0, "p"], [3572, 0, "h"], [3573, 0, "{"], [3574, 0, "o"], [3575, 0, "p"], [3576, 0, "e"], [3577, 0, "r"], [3578, 0, "a"], [3579, 0, "t"], [3580, 0, "i"], [3581, 0, "o"], [3582, 0, "n"], [3583, 0, "a"], [3584, 0, "l"], [3585, 0, " "], [3586, 0, "t"], [3587, 0, "r"], [3588, 0, "a"], [3589, 0, "n"], [3590, 0, "s"], [3591, 0, "f"], [3592, 0, "o"], [3593, 0, "r"], [3594, 0, "m"], [3595, 0, "a"], [3596, 0, "t"], [3597, 0, "i"], [3598, 0, "o"], [3599, 0, "n"], [3600, 0, "}"], [3601, 0, " "], [3602, 0, "("], [3603, 0, "O"], [3604, 0, "T"], [3653, 0, "a"], [3654, 0, "p"], [3655, 0, "p"], [3656, 0, "l"], [3657, 0, "i"], [3658, 0, "c"], [3659, 0, "a"], [3660, 0, "t"], [3661, 0, "i"], [3662, 0, "o"], [3663, 0, "n"], [3664, 0, "s"], [3665, 0, "~"], [3666, 0, "\\"], [3667, 0, "c"], [3668, 0, "i"], [3669, 0, "t"], [3670, 0, "e"], [3671, 0, "{"], [3672, 0, "E"], [3673, 0, "l"], [3674, 0, "l"], [3675, 0, "i"], [3676, 0, "s"], [3677, 0, ":"], [3678, 0, "1"], [3679, 0, "9"], [3680, 0, "8"], [3681, 0, "9"], [3682, 0, ":"], [3682, 1], [3682, 0, "u"], [3683, 0, "e"], [3684, 0, ","], [3685, 0, "R"], [3686, 0, "e"], [3687, 0, "s"], [3688, 0, "s"], [3689, 0, "e"], [3690, 0, "l"], [3691, 0, ":"], [3692, 0, "1"], [3693, 0, "9"], [3694, 0, "9"], [3695, 0, "6"], [3696, 0, "w"], [3697, 0, "x"], [3698, 0, ","], [3699, 0, "S"], [3700, 0, "u"], [3701, 0, "n"], [3702, 0, ":"], [3703, 0, "1"], [3704, 0, "9"], [3705, 0, "9"], [3706, 0, "8"], [3707, 0, "v"], [3708, 0, "f"], [3709, 0, ","], [3710, 0, "N"], [3711, 0, "i"], [3712, 0, "c"], [3713, 0, "h"], [3714, 0, "o"], [3715, 0, "l"], [3764, 0, "n"], [3765, 0, "g"], [3766, 0, "l"], [3767, 0, "e"], [3768, 0, " "], [3769, 0, "o"], [3770, 0, "r"], [3771, 0, "d"], [3772, 0, "e"], [3773, 0, "r"], [3774, 0, "e"], [3775, 0, "d"], [3776, 0, " "], [3777, 0, "l"], [3778, 0, "i"], [3779, 0, "s"], [3780, 0, "t"], [3781, 0, " "], [3782, 0, "("], [3783, 0, "o"], [3784, 0, "f"], [3785, 0, " "], [3786, 0, "c"], [3787, 0, "h"], [3788, 0, "a"], [3789, 0, "r"], [3790, 0, "a"], [3791, 0, "c"], [3792, 0, "t"], [3793, 0, "e"], [3794, 0, "r"], [3795, 0, "s"], [3796, 0, ","], [3797, 0, " "], [3798, 0, "f"], [3799, 0, "o"], [3800, 0, "r"], [3801, 0, " "], [3802, 0, "e"], [3803, 0, "x"], [3804, 0, "a"], [3805, 0, "m"], [3806, 0, "p"], [3807, 0, "l"], [3808, 0, "e"], [3809, 0, ")"], [3810, 0, " "], [3908, 1], [4028, 1], [4116, 0, "\n"], [4117, 0, "\n"], [4118, 0, "M"], [4119, 0, "o"], [4120, 0, "s"], [4121, 0, "t"], [4122, 0, " "], [4123, 0, "d"], [4124, 0, "e"], [4125, 0, "p"], [4126, 0, "l"], [4127, 0, "o"], [4128, 0, "y"], [4129, 0, "e"], [4130, 0, "d"], [4131, 0, " "], [4132, 0, "O"], [4133, 0, "T"], [4134, 0, " "], [4135, 0, "c"], [4136, 0, "o"], [4137, 0, "l"], [4138, 0, "l"], [4139, 0, "a"], [4140, 0, "b"], [4141, 0, "o"], [4142, 0, "r"], [4143, 0, "a"], [4144, 0, "t"], [4145, 0, "i"], [4146, 0, "o"], [4147, 0, "n"], [4148, 0, " "], [4149, 0, "s"], [4150, 0, "y"], [4151, 0, "s"], [4152, 0, "t"], [4153, 0, "e"], [4154, 0, "m"], [4155, 0, "s"], [4156, 0, ","], [4157, 0, " "], [4158, 0, "i"], [4159, 0, "n"], [4160, 0, "c"], [4161, 0, "l"], [4162, 0, "u"], [4163, 0, "d"], [4164, 0, "i"], [4165, 0, "n"], [4166, 0, "g"], [4167, 0, " "], [4168, 0, "G"], [4169, 0, "o"], [4170, 0, "o"], [4171, 0, "g"], [4172, 0, "l"], [4173, 0, "e"], [4174, 0, " "], [4175, 0, "D"], [4176, 0, "o"], [4177, 0, "c"], [4178, 0, "s"], [4179, 0, "~"], [4180, 0, "\\"], [4181, 0, "c"], [4182, 0, "i"], [4183, 0, "t"], [4184, 0, "e"], [4185, 0, "{"], [4186, 0, "D"], [4187, 0, "a"], [4188, 0, "y"], [4189, 0, "R"], [4190, 0, "i"], [4191, 0, "c"], [4192, 0, "h"], [4193, 0, "t"], [4194, 0, "e"], [4195, 0, "r"], [4196, 0, ":"], [4197, 0, "2"], [4198, 0, "0"], [4199, 0, "1"], [4200, 0, "0"], [4201, 0, "t"], [4202, 0, "t"], [4203, 0, "}"], [4204, 0, ","], [4205, 0, " "], [4206, 0, "E"], [4207, 0, "t"], [4208, 0, "h"], [4209, 0, "e"], [4210, 0, "r"], [4211, 0, "p"], [4212, 0, "a"], [4213, 0, "d"], [4214, 0, "~"], [4215, 0, "{"], [4215, 1], [4215, 0, "\\"], [4216, 0, "c"], [4217, 0, "i"], [4218, 0, "t"], [4219, 0, "e"], [4220, 0, "{"], [4221, 0, "E"], [4222, 0, "t"], [4223, 0, "h"], [4224, 0, "e"], [4225, 0, "r"], [4226, 0, "p"], [4227, 0, "a"], [4228, 0, "d"], [4229, 0, ":"], [4230, 0, "2"], [4231, 0, "0"], [4232, 0, "1"], [4233, 0, "1"], [4234, 0, "u"], [4235, 0, "m"], [4236, 0, "}"], [4237, 0, ","], [4238, 0, " "], [4239, 0, "N"], [4240, 0, "o"], [4241, 0, "v"], [4242, 0, "e"], [4243, 0, "l"], [4244, 0, "l"], [4245, 0, " "], [4246, 0, "V"], [4247, 0, "i"], [4248, 0, "b"], [4249, 0, "e"], [4250, 0, "~"], [4251, 0, "\\"], [4252, 0, "c"], [4253, 0, "i"], [4254, 0, "t"], [4255, 0, "e"], [4256, 0, "{"], [4257, 0, "S"], [4258, 0, "p"], [4259, 0, "i"], [4260, 0, "e"], [4261, 0, "w"], [4262, 0, "a"], [4263, 0, "k"], [4264, 0, ":"], [4265, 0, "2"], [4266, 0, "0"], [4267, 0, "1"], [4268, 0, "0"], [4269, 0, "v"], [4270, 0, "w"], [4271, 0, "}"], [4272, 0, " "], [4273, 0, "a"], [4274, 0, "n"], [4275, 0, "d"], [4276, 0, " "], [4277, 0, "A"], [4278, 0, "p"], [4279, 0, "a"], [4280, 0, "c"], [4281, 0, "h"], [4282, 0, "e"], [4283, 0, " "], [4284, 0, "W"], [4285, 0, "a"], [4286, 0, "v"], [4287, 0, "e"], [4288, 0, " "], [4289, 0, "("], [4290, 0, "f"], [4291, 0, "o"], [4292, 0, "r"], [4293, 0, "m"], [4294, 0, "e"], [4295, 0, "r"], [4296, 0, "l"], [4297, 0, "y"], [4298, 0, " "], [4299, 0, "G"], [4300, 0, "o"], [4301, 0, "o"], [4302, 0, "g"], [4303, 0, "l"], [4304, 0, "e"], [4305, 0, " "], [4306, 0, "W"], [4307, 0, "a"], [4308, 0, "v"], [4309, 0, "e"], [4310, 0, "~"], [4311, 0, "\\"], [4312, 0, "c"], [4313, 0, "i"], [4314, 0, "t"], [4315, 0, "e"], [4316, 0, "{"], [4317, 0, "W"], [4318, 0, "a"], [4319, 0, "n"], [4320, 0, "g"], [4321, 0, ":"], [4322, 0, "2"], [4323, 0, "0"], [4324, 0, "1"], [4325, 0, "5"], [4326, 0, "v"], [4327, 0, "o"], [4328, 0, "}"], [4329, 0, ")"], [4330, 0, ","], [4331, 0, " "], [4332, 0, "r"], [4333, 0, "e"], [4334, 0, "l"], [4335, 0, "y"], [4336, 0, " "], [4337, 0, "o"], [4338, 0, "n"], [4339, 0, " "], [4340, 0, "a"], [4341, 0, " "], [4342, 0, "s"], [4343, 0, "i"], [4344, 0, "n"], [4345, 0, "g"], [4346, 0, "l"], [4347, 0, "e"], [4348, 0, " "], [4349, 0, "s"], [4350, 0, "e"], [4351, 0, "r"], [4352, 0, "v"], [4353, 0, "e"], [4354, 0, "r"], [4355, 0, " "], [4356, 0, "t"], [4357, 0, "o"], [4358, 0, " "], [4359, 0, "d"], [4360, 0, "e"], [4361, 0, "c"], [4362, 0, "i"], [4363, 0, "d"], [4364, 0, "e"], [4365, 0, " "], [4366, 0, "o"], [4367, 0, "n"], [4368, 0, " "], [4369, 0, "a"], [4370, 0, " "], [4371, 0, "t"], [4372, 0, "o"], [4373, 0, "t"], [4374, 0, "a"], [4375, 0, "l"], [4376, 0, " "], [4377, 0, "o"], [4378, 0, "r"], [4379, 0, "d"], [4380, 0, "e"], [4381, 0, "r"], [4382, 0, "i"], [4383, 0, "n"], [4384, 0, "g"], [4385, 0, " "], [4386, 0, "o"], [4387, 0, "f"], [4388, 0, " "], [4389, 0, "o"], [4390, 0, "p"], [4391, 0, "e"], [4392, 0, "r"], [4393, 0, "a"], [4394, 0, "t"], [4395, 0, "i"], [4396, 0, "o"], [4397, 0, "n"], [4398, 0, "s"], [4399, 0, "~"], [4400, 0, "\\"], [4401, 0, "c"], [4402, 0, "i"], [4403, 0, "t"], [4404, 0, "e"], [4405, 0, "{"], [4406, 0, "L"], [4407, 0, "e"], [4408, 0, "m"], [4409, 0, "o"], [4410, 0, "n"], [4411, 0, "i"], [4412, 0, "k"], [4413, 0, ":"], [4414, 0, "2"], [4415, 0, "0"], [4416, 0, "1"], [4417, 0, "6"], [4418, 0, "w"], [4419, 0, "h"], [4420, 0, "}"], [4421, 0, ","], [4422, 0, " "], [4423, 0, "a"], [4424, 0, " "], [4425, 0, "d"], [4426, 0, "e"], [4427, 0, "s"], [4428, 0, "i"], [4429, 0, "g"], [4430, 0, "n"], [4431, 0, " "], [4432, 0, "d"], [4433, 0, "e"], [4434, 0, "c"], [4435, 0, "i"], [4436, 0, "s"], [4437, 0, "i"], [4438, 0, "o"], [4439, 0, "n"], [4440, 0, " "], [4441, 0, "i"], [4442, 0, "n"], [4443, 0, "h"], [4444, 0, "e"], [4445, 0, "r"], [4446, 0, "i"], [4447, 0, "t"], [4448, 0, "e"], [4449, 0, "d"], [4450, 0, " "], [4451, 0, "f"], [4452, 0, "r"], [4453, 0, "o"], [4454, 0, "m"], [4455, 0, " "], [4456, 0, "t"], [4457, 0, "h"], [4458, 0, "e"], [4459, 0, " "], [4460, 0, "J"], [4461, 0, "u"], [4462, 0, "p"], [4463, 0, "i"], [4464, 0, "t"], [4465, 0, "e"], [4466, 0, "r"], [4467, 0, " "], [4468, 0, "s"], [4469, 0, "y"], [4470, 0, "s"], [4471, 0, "t"], [4472, 0, "e"], [4473, 0, "m"], [4474, 0, "~"], [4475, 0, "\\"], [4476, 0, "c"], [4477, 0, "i"], [4478, 0, "t"], [4479, 0, "e"], [4480, 0, "{"], [4481, 0, "N"], [4482, 0, "i"], [4483, 0, "c"], [4484, 0, "h"], [4485, 0, "o"], [4486, 0, "l"], [4487, 0, "s"], [4488, 0, ":"], [4489, 0, "1"], [4490, 0, "9"], [4491, 0, "9"], [4492, 0, "5"], [4493, 0, "f"], [4494, 0, "d"], [4495, 0, "}"], [4496, 0, "."], [4497, 0, " "], [4498, 0, "T"], [4499, 0, "h"], [4500, 0, "i"], [4501, 0, "s"], [4502, 0, " "], [4503, 0, "a"], [4504, 0, "p"], [4505, 0, "p"], [4506, 0, "r"], [4507, 0, "o"], [4508, 0, "a"], [4509, 0, "c"], [4510, 0, "h"], [4511, 0, " "], [4512, 0, "h"], [4513, 0, "a"], [4514, 0, "s"], [4515, 0, " "], [4516, 0, "t"], [4517, 0, "h"], [4518, 0, "e"], [4519, 0, " "], [4520, 0, "a"], [4521, 0, "d"], [4522, 0, "v"], [4523, 0, "a"], [4524, 0, "n"], [4525, 0, "t"], [4526, 0, "a"], [4527, 0, "g"], [4528, 0, "e"], [4529, 0, " "], [4530, 0, "o"], [4531, 0, "f"], [4532, 0, " "], [4533, 0, "m"], [4534, 0, "a"], [4535, 0, "k"], [4536, 0, "i"], [4537, 0, "n"], [4538, 0, "g"], [4539, 0, " "], [4540, 0, "t"], [4541, 0, "h"], [4542, 0, "e"], [4543, 0, " "], [4544, 0, "t"], [4545, 0, "r"], [4546, 0, "a"], [4547, 0, "n"], [4548, 0, "s"], [4549, 0, "o"], [4550, 0, "f"], [4550, 1], [4549, 1], [4549, 0, "f"], [4550, 0, "o"], [4551, 0, "r"], [4552, 0, "m"], [4553, 0, "a"], [4554, 0, "t"], [4555, 0, "i"], [4556, 0, "o"], [4557, 0, "n"], [4558, 0, " "], [4559, 0, "f"], [4560, 0, "u"], [4561, 0, "n"], [4562, 0, "c"], [4563, 0, "t"], [4564, 0, "i"], [4565, 0, "o"], [4566, 0, "n"], [4567, 0, "s"], [4568, 0, " "], [4569, 0, "s"], [4570, 0, "i"], [4571, 0, "m"], [4572, 0, "p"], [4573, 0, "l"], [4574, 0, "e"], [4575, 0, "r"], [4576, 0, " "], [4577, 0, "a"], [4578, 0, "n"], [4579, 0, "d"], [4580, 0, " "], [4581, 0, "l"], [4582, 0, "e"], [4583, 0, "s"], [4584, 0, "s"], [4585, 0, " "], [4586, 0, "e"], [4587, 0, "r"], [4588, 0, "r"], [4589, 0, "o"], [4590, 0, "r"], [4591, 0, "-"], [4592, 0, "p"], [4593, 0, "r"], [4594, 0, "o"], [4595, 0, "n"], [4596, 0, "e"], [4597, 0, "~"], [4598, 0, "\\"], [4599, 0, "c"], [4600, 0, "i"], [4601, 0, "t"], [4602, 0, "e"], [4603, 0, "{"], [4604, 0, "I"], [4605, 0, "m"], [4606, 0, "i"], [4607, 0, "n"], [4608, 0, "e"], [4609, 0, ":"], [4610, 0, "2"], [4611, 0, "0"], [4612, 0, "0"], [4613, 0, "3"], [4614, 0, "k"], [4615, 0, "s"], [4616, 0, "}"], [4617, 0, ","], [4618, 0, " "], [4619, 0, "b"], [4620, 0, "u"], [4621, 0, "t"], [4622, 0, " "], [4623, 0, "i"], [4624, 0, "t"], [4625, 0, " "], [4626, 0, "d"], [4627, 0, "o"], [4628, 0, "e"], [4629, 0, "s"], [4630, 0, " "], [4631, 0, "n"], [4632, 0, "o"], [4633, 0, "t"], [4634, 0, " "], [4635, 0, "m"], [4636, 0, "e"], [4637, 0, "e"], [4638, 0, "t"], [4639, 0, " "], [4640, 0, "o"], [4641, 0, "u"], [4642, 0, "r"], [4643, 0, " "], [4644, 0, "r"], [4645, 0, "e"], [4646, 0, "q"], [4647, 0, "u"], [4648, 0, "i"], [4649, 0, "r"], [4650, 0, "e"], [4651, 0, "m"], [4652, 0, "e"], [4653, 0, "n"], [4654, 0, "t"], [4655, 0, "s"], [4656, 0, ","], [4657, 0, " "], [4658, 0, "s"], [4659, 0, "i"], [4660, 0, "n"], [4661, 0, "c"], [4662, 0, "e"], [4663, 0, " "], [4664, 0, "w"], [4665, 0, "e"], [4666, 0, " "], [4667, 0, "w"], [4668, 0, "a"], [4669, 0, "n"], [4670, 0, "t"], [4671, 0, " "], [4672, 0, "t"], [4673, 0, "o"], [4674, 0, " "], [4675, 0, "s"], [4676, 0, "u"], [4677, 0, "p"], [4678, 0, "p"], [4679, 0, "o"], [4680, 0, "r"], [4681, 0, "t"], [4682, 0, " "], [4683, 0, "p"], [4684, 0, "e"], [4685, 0, "e"], [4686, 0, "r"], [4687, 0, "-"], [4688, 0, "t"], [4689, 0, "o"], [4690, 0, "-"], [4691, 0, "p"], [4692, 0, "e"], [4693, 0, "e"], [4694, 0, "r"], [4695, 0, " "], [4696, 0, "c"], [4697, 0, "o"], [4698, 0, "l"], [4699, 0, "l"], [4700, 0, "a"], [4701, 0, "b"], [4702, 0, "o"], [4703, 0, "r"], [4704, 0, "a"], [4705, 0, "t"], [4706, 0, "i"], [4707, 0, "o"], [4708, 0, "n"], [4709, 0, " "], [4710, 0, "w"], [4711, 0, "i"], [4712, 0, "t"], [4713, 0, "h"], [4714, 0, "o"], [4715, 0, "u"], [4716, 0, "t"], [4717, 0, " "], [4718, 0, "r"], [4719, 0, "e"], [4720, 0, "q"], [4721, 0, "u"], [4722, 0, "i"], [4723, 0, "r"], [4724, 0, "i"], [4725, 0, "n"], [4726, 0, "g"], [4727, 0, " "], [4728, 0, "a"], [4729, 0, " "], [4730, 0, "s"], [4731, 0, "i"], [4732, 0, "n"], [4733, 0, "g"], [4734, 0, "l"], [4735, 0, "e"], [4736, 0, " "], [4737, 0, "s"], [4738, 0, "e"], [4739, 0, "r"], [4740, 0, "v"], [4741, 0, "e"], [4742, 0, "r"], [4743, 0, "."], [4744, 0, "\n"], [4745, 0, "\n"], [4746, 0, "M"], [4747, 0, "a"], [4748, 0, "n"], [4749, 0, "y"], [4750, 0, " "], [4751, 0, "s"], [4752, 0, "e"], [4753, 0, "c"], [4754, 0, "u"], [4755, 0, "r"], [4756, 0, "e"], [4757, 0, " "], [4758, 0, "m"], [4759, 0, "e"], [4760, 0, "s"], [4761, 0, "s"], [4762, 0, "a"], [4763, 0, "g"], [4764, 0, "i"], [4765, 0, "n"], [4766, 0, "g"], [4767, 0, " "], [4768, 0, "p"], [4769, 0, "r"], [4770, 0, "o"], [4771, 0, "t"], [4772, 0, "o"], [4773, 0, "c"], [4774, 0, "o"], [4775, 0, "l"], [4776, 0, "s"], [4777, 0, ","], [4778, 0, " "], [4779, 0, "w"], [4780, 0, "h"], [4781, 0, "i"], [4782, 0, "c"], [4783, 0, "h"], [4784, 0, " "], [4785, 0, "w"], [4786, 0, "e"], [4787, 0, " "], [4788, 0, "p"], [4789, 0, "l"], [4790, 0, "a"], [4791, 0, "n"], [4792, 0, " "], [4793, 0, "t"], [4794, 0, "o"], [4795, 0, " "], [4796, 0, "u"], [4797, 0, "s"], [4798, 0, "e"], [4799, 0, " "], [4800, 0, "f"], [4801, 0, "o"], [4802, 0, "r"], [4803, 0, " "], [4804, 0, "e"], [4805, 0, "n"], [4806, 0, "c"], [4807, 0, "r"], [4808, 0, "y"], [4809, 0, "p"], [4810, 0, "t"], [4811, 0, "e"], [4812, 0, "d"], [4813, 0, " "], [4814, 0, "c"], [4815, 0, "o"], [4816, 0, "l"], [4817, 0, "l"], [4818, 0, "a"], [4819, 0, "b"], [4820, 0, "o"], [4821, 0, "r"], [4822, 0, "a"], [4823, 0, "t"], [4824, 0, "i"], [4825, 0, "o"], [4826, 0, "n"], [4827, 0, ","], [4828, 0, " "], [4829, 0, "d"], [4830, 0, "o"], [4831, 0, " "], [4832, 0, "n"], [4833, 0, "o"], [4834, 0, "t"], [4835, 0, " "], [4836, 0, "g"], [4837, 0, "u"], [4838, 0, "a"], [4839, 0, "r"], [4840, 0, "a"], [4841, 0, "n"], [4842, 0, "t"], [4843, 0, "e"], [4844, 0, "e"], [4845, 0, " "], [4846, 0, "t"], [4847, 0, "h"], [4848, 0, "a"], [4849, 0, "t"], [4850, 0, " "], [4851, 0, "d"], [4852, 0, "i"], [4853, 0, "f"], [4854, 0, "f"], [4855, 0, "e"], [4856, 0, "r"], [4857, 0, "e"], [4858, 0, "n"], [4859, 0, "t"], [4860, 0, " "], [4861, 0, "r"], [4862, 0, "e"], [4863, 0, "c"], [4864, 0, "i"], [4865, 0, "p"], [4866, 0, "i"], [4867, 0, "e"], [4868, 0, "n"], [4869, 0, "t"], [4870, 0, "s"], [4871, 0, " "], [4872, 0, "w"], [4873, 0, "i"], [4874, 0, "l"], [4875, 0, "l"], [4876, 0, " "], [4877, 0, "s"], [4878, 0, "e"], [4879, 0, "e"], [4880, 0, " "], [4881, 0, "m"], [4882, 0, "e"], [4883, 0, "s"], [4884, 0, "s"], [4885, 0, "a"], [4886, 0, "g"], [4887, 0, "e"], [4888, 0, "s"], [4889, 0, " "], [4890, 0, "i"], [4891, 0, "n"], [4892, 0, " "], [4893, 0, "t"], [4894, 0, "h"], [4895, 0, "e"], [4896, 0, " "], [4897, 0, "s"], [4898, 0, "a"], [4899, 0, "m"], [4900, 0, "e"], [4901, 0, " "], [4902, 0, "o"], [4903, 0, "r"], [4904, 0, "d"], [4905, 0, "e"], [4906, 0, "r"], [4907, 0, "~"], [4908, 0, "\\"], [4909, 0, "c"], [4910, 0, "i"], [4911, 0, "t"], [4912, 0, "e"], [4913, 0, "{"], [4914, 0, "U"], [4915, 0, "n"], [4916, 0, "g"], [4917, 0, "e"], [4918, 0, "r"], [4919, 0, ":"], [4920, 0, "2"], [4921, 0, "0"], [4922, 0, "1"], [4923, 0, "5"], [4924, 0, "k"], [4925, 0, "g"], [4926, 0, "}"], [4927, 0, "."], [4928, 0, " "], [4929, 0, "A"], [4930, 0, "l"], [4931, 0, "t"], [4932, 0, "h"], [4933, 0, "o"], [4934, 0, "u"], [4935, 0, "g"], [4936, 0, "h"], [4937, 0, " "], [4938, 0, "i"], [4939, 0, "t"], [4940, 0, " "], [4941, 0, "i"], [4942, 0, "s"], [4943, 0, " "], [4944, 0, "p"], [4945, 0, "o"], [4946, 0, "s"], [4947, 0, "s"], [4948, 0, "i"], [4949, 0, "b"], [4950, 0, "l"], [4951, 0, "e"], [4952, 0, " "], [4953, 0, "t"], [4954, 0, "o"], [4955, 0, " "], [4956, 0, "d"], [4957, 0, "e"], [4958, 0, "c"], [4959, 0, "i"], [4960, 0, "d"], [4961, 0, "e"], [4962, 0, " "], [4963, 0, "o"], [4964, 0, "n"], [4965, 0, " "], [4966, 0, "a"], [4967, 0, " "], [4968, 0, "t"], [4969, 0, "o"], [4970, 0, "t"], [4971, 0, "l"], [4972, 0, "a"], [4973, 0, " "], [4973, 1], [4972, 1], [4971, 1], [4971, 0, "a"], [4972, 0, "l"], [4973, 0, " "], [4974, 0, "o"], [4975, 0, "r"], [4976, 0, "d"], [4977, 0, "e"], [4978, 0, "r"], [4979, 0, "i"], [4980, 0, "n"], [4981, 0, "g"], [4982, 0, " "], [4983, 0, "o"], [4984, 0, "f"], [4985, 0, " "], [4986, 0, "o"], [4987, 0, "p"], [4988, 0, "e"], [4989, 0, "r"], [4990, 0, "a"], [4991, 0, "t"], [4992, 0, "i"], [4993, 0, "o"], [4994, 0, "n"], [4995, 0, "s"], [4996, 0, " "], [4997, 0, "b"], [4998, 0, "y"], [4999, 0, " "], [5000, 0, "u"], [5001, 0, "s"], [5002, 0, "i"], [5003, 0, "n"], [5004, 0, "g"], [5005, 0, " "], [5006, 0, "a"], [5007, 0, "n"], [5008, 0, " "], [5009, 0, "a"], [5010, 0, "t"], [5011, 0, "o"], [5012, 0, "m"], [5013, 0, "i"], [5014, 0, "c"], [5015, 0, " "], [5016, 0, "b"], [5017, 0, "r"], [5018, 0, "o"], [5019, 0, "a"], [5020, 0, "d"], [5021, 0, "c"], [5022, 0, "a"], [5023, 0, "s"], [5024, 0, "t"], [5025, 0, " "], [5026, 0, "p"], [5027, 0, "r"], [5028, 0, "o"], [5029, 0, "t"], [5030, 0, "o"], [5031, 0, "c"], [5032, 0, "o"], [5033, 0, "l"], [5034, 0, "~"], [5035, 0, "\\"], [5036, 0, "c"], [5037, 0, "i"], [5038, 0, "t"], [5039, 0, "e"], [5040, 0, "{"], [5041, 0, "D"], [5042, 0, "e"], [5043, 0, "f"], [5044, 0, "a"], [5045, 0, "g"], [5046, 0, "o"], [5047, 0, ":"], [5048, 0, "2"], [5049, 0, "0"], [5050, 0, "0"], [5051, 0, "4"], [5052, 0, "j"], [5053, 0, "i"], [5054, 0, "}"], [5055, 0, ","], [5056, 0, " "], [5057, 0, "w"], [5058, 0, "h"], [5059, 0, "i"], [5060, 0, "c"], [5061, 0, "h"], [5062, 0, " "], [5063, 0, "a"], [5064, 0, "v"], [5065, 0, "o"], [5066, 0, "i"], [5067, 0, "d"], [5068, 0, "s"], [5069, 0, " "], [5070, 0, "r"], [5071, 0, "e"], [5072, 0, "l"], [5073, 0, "y"], [5074, 0, "i"], [5075, 0, "n"], [5076, 0, "g"], [5077, 0, " "], [5078, 0, "o"], [5079, 0, "n"], [5080, 0, " "], [5081, 0, "a"], [5082, 0, " "], [5083, 0, "s"], [5084, 0, "i"], [5085, 0, "n"], [5086, 0, "g"], [5087, 0, "l"], [5088, 0, "e"], [5089, 0, " "], [5090, 0, "s"], [5091, 0, "e"], [5092, 0, "r"], [5093, 0, "v"], [5094, 0, "e"], [5095, 0, "r"], [5096, 0, ","], [5097, 0, " "], [5098, 0, "s"], [5099, 0, "u"], [5100, 0, "c"], [5101, 0, "h"], [5102, 0, " "], [5103, 0, "p"], [5104, 0, "r"], [5105, 0, "o"], [5106, 0, "t"], [5107, 0, "o"], [5108, 0, "c"], [5109, 0, "o"], [5110, 0, "l"], [5111, 0, "s"], [5112, 0, " "], [5113, 0, "a"], [5114, 0, "r"], [5115, 0, "e"], [5116, 0, " "], [5117, 0, "e"], [5118, 0, "q"], [5119, 0, "u"], [5120, 0, "i"], [5121, 0, "v"], [5122, 0, "a"], [5123, 0, "l"], [5124, 0, "e"], [5125, 0, "n"], [5126, 0, "t"], [5127, 0, " "], [5128, 0, "t"], [5129, 0, "o"], [5130, 0, " "], [5131, 0, "c"], [5132, 0, "o"], [5133, 0, "n"], [5134, 0, "s"], [5135, 0, "e"], [5136, 0, "n"], [5137, 0, "s"], [5138, 0, "u"], [5139, 0, "s"], [5140, 0, "~"], [5141, 0, "\\"], [5142, 0, "c"], [5143, 0, "i"], [5144, 0, "t"], [5145, 0, "e"], [5146, 0, "{"], [5147, 0, "C"], [5148, 0, "h"], [5149, 0, "a"], [5150, 0, "n"], [5151, 0, "d"], [5152, 0, "r"], [5153, 0, "a"], [5154, 0, ":"], [5155, 0, "1"], [5156, 0, "9"], [5157, 0, "9"], [5158, 0, "6"], [5159, 0, "c"], [5160, 0, "p"], [5161, 0, "}"], [5162, 0, ","], [5163, 0, " "], [5164, 0, "s"], [5165, 0, "o"], [5166, 0, " "], [5167, 0, "t"], [5168, 0, "h"], [5169, 0, "e"], [5170, 0, "y"], [5171, 0, " "], [5172, 0, "c"], [5173, 0, "a"], [5174, 0, "n"], [5175, 0, " "], [5176, 0, "o"], [5177, 0, "n"], [5178, 0, "l"], [5179, 0, "y"], [5180, 0, " "], [5181, 0, "s"], [5182, 0, "a"], [5183, 0, "f"], [5184, 0, "e"], [5185, 0, "l"], [5186, 0, "y"], [5187, 0, " "], [5188, 0, "m"], [5189, 0, "a"], [5190, 0, "k"], [5191, 0, "e"], [5192, 0, " "], [5193, 0, "p"], [5194, 0, "r"], [5195, 0, "o"], [5196, 0, "g"], [5197, 0, "r"], [5198, 0, "e"], [5199, 0, "s"], [5200, 0, "s"], [5201, 0, " "], [5202, 0, "i"], [5203, 0, "f"], [5204, 0, " "], [5205, 0, "a"], [5206, 0, " "], [5207, 0, "m"], [5208, 0, "a"], [5209, 0, "j"], [5210, 0, "o"], [5211, 0, "r"], [5212, 0, "i"], [5213, 0, "t"], [5214, 0, "y"], [5215, 0, " "], [5216, 0, "o"], [5217, 0, "f"], [5218, 0, " "], [5219, 0, "p"], [5220, 0, "a"], [5221, 0, "r"], [5222, 0, "t"], [5223, 0, "i"], [5224, 0, "c"], [5225, 0, "i"], [5226, 0, "p"], [5227, 0, "a"], [5228, 0, "n"], [5229, 0, "t"], [5230, 0, "s"], [5231, 0, " "], [5232, 0, "a"], [5233, 0, "r"], [5234, 0, "e"], [5235, 0, " "], [5236, 0, "o"], [5237, 0, "n"], [5238, 0, "l"], [5239, 0, "i"], [5240, 0, "n"], [5241, 0, "e"], [5242, 0, " "], [5243, 0, "a"], [5244, 0, "n"], [5245, 0, "d"], [5246, 0, " "], [5247, 0, "r"], [5248, 0, "e"], [5249, 0, "a"], [5250, 0, "c"], [5251, 0, "h"], [5252, 0, "a"], [5253, 0, "b"], [5254, 0, "l"], [5255, 0, "e"], [5256, 0, "."], [5257, 0, " "], [5258, 0, "W"], [5259, 0, "e"], [5260, 0, " "], [5261, 0, "e"], [5262, 0, "x"], [5263, 0, "p"], [5264, 0, "e"], [5265, 0, "c"], [5266, 0, "t"], [5267, 0, " "], [5268, 0, "t"], [5269, 0, "h"], [5270, 0, "a"], [5271, 0, "t"], [5272, 0, " "], [5273, 0, "i"], [5274, 0, "n"], [5275, 0, " "], [5276, 0, "p"], [5277, 0, "e"], [5278, 0, "e"], [5279, 0, "r"], [5280, 0, "-"], [5281, 0, "t"], [5282, 0, "o"], [5283, 0, "-"], [5284, 0, "p"], [5285, 0, "e"], [5286, 0, "e"], [5287, 0, "r"], [5288, 0, " "], [5289, 0, "s"], [5290, 0, "y"], [5291, 0, "s"], [5292, 0, "t"], [5293, 0, "e"], [5294, 0, "m"], [5295, 0, "s"], [5296, 0, " "], [5297, 0, "o"], [5298, 0, "f"], [5299, 0, " "], [5300, 0, "m"], [5301, 0, "o"], [5302, 0, "b"], [5303, 0, "i"], [5304, 0, "l"], [5305, 0, "e"], [5306, 0, " "], [5307, 0, "d"], [5308, 0, "e"], [5309, 0, "v"], [5310, 0, "i"], [5311, 0, "c"], [5312, 0, "e"], [5313, 0, "s"], [5314, 0, " "], [5315, 0, "i"], [5316, 0, "t"], [5317, 0, " "], [5318, 0, "w"], [5319, 0, "i"], [5320, 0, "l"], [5321, 0, "l"], [5322, 0, " "], [5323, 0, "f"], [5324, 0, "r"], [5325, 0, "e"], [5326, 0, "q"], [5327, 0, "u"], [5328, 0, "e"], [5329, 0, "n"], [5330, 0, "t"], [5331, 0, "l"], [5332, 0, "y"], [5333, 0, " "], [5334, 0, "b"], [5335, 0, "e"], [5336, 0, " "], [5337, 0, "t"], [5338, 0, "h"], [5339, 0, "e"], [5340, 0, " "], [5341, 0, "c"], [5342, 0, "a"], [5343, 0, "s"], [5344, 0, "e"], [5345, 0, " "], [5346, 0, "t"], [5347, 0, "h"], [5348, 0, "a"], [5349, 0, "t"], [5350, 0, " "], [5351, 0, "o"], [5352, 0, "n"], [5353, 0, "l"], [5354, 0, "y"], [5355, 0, " "], [5356, 0, "a"], [5357, 0, " "], [5358, 0, "m"], [5359, 0, "i"], [5360, 0, "n"], [5361, 0, "o"], [5362, 0, "r"], [5363, 0, "i"], [5364, 0, "t"], [5365, 0, "y"], [5366, 0, " "], [5367, 0, "o"], [5368, 0, "f"], [5369, 0, " "], [5370, 0, "p"], [5371, 0, "a"], [5372, 0, "r"], [5373, 0, "t"], [5374, 0, "i"], [5375, 0, "c"], [5376, 0, "i"], [5377, 0, "p"], [5378, 0, "a"], [5379, 0, "n"], [5380, 0, "t"], [5381, 0, "s"], [5382, 0, " "], [5383, 0, "a"], [5384, 0, "r"], [5385, 0, "e"], [5386, 0, " "], [5387, 0, "o"], [5388, 0, "n"], [5389, 0, "l"], [5390, 0, "i"], [5391, 0, "n"], [5392, 0, "e"], [5393, 0, " "], [5394, 0, "a"], [5395, 0, "t"], [5396, 0, " "], [5397, 0, "t"], [5398, 0, "h"], [5399, 0, "e"], [5400, 0, " "], [5401, 0, "s"], [5402, 0, "a"], [5403, 0, "m"], [5404, 0, "e"], [5405, 0, " "], [5406, 0, "t"], [5407, 0, "i"], [5408, 0, "m"], [5409, 0, "e"], [5410, 0, ","], [5411, 0, " "], [5412, 0, "a"], [5413, 0, "n"], [5414, 0, "d"], [5415, 0, " "], [5416, 0, "s"], [5417, 0, "o"], [5418, 0, " "], [5419, 0, "a"], [5420, 0, "n"], [5421, 0, "y"], [5422, 0, " "], [5423, 0, "a"], [5424, 0, "l"], [5425, 0, "g"], [5426, 0, "o"], [5427, 0, "r"], [5428, 0, "i"], [5429, 0, "t"], [5430, 0, "h"], [5431, 0, "m"], [5432, 0, "s"], [5432, 1], [5432, 0, " "], [5433, 0, "r"], [5434, 0, "e"], [5435, 0, "q"], [5436, 0, "u"], [5437, 0, "i"], [5438, 0, "r"], [5439, 0, "i"], [5440, 0, "n"], [5441, 0, "g"], [5442, 0, " "], [5443, 0, "a"], [5444, 0, "t"], [5445, 0, "o"], [5446, 0, "m"], [5447, 0, "i"], [5448, 0, "c"], [5449, 0, " "], [5450, 0, "b"], [5451, 0, "r"], [5452, 0, "o"], [5453, 0, "a"], [5454, 0, "d"], [5455, 0, "c"], [5456, 0, "a"], [5457, 0, "s"], [5458, 0, "t"], [5459, 0, " "], [5460, 0, "w"], [5461, 0, "o"], [5462, 0, "u"], [5463, 0, "l"], [5464, 0, "d"], [5465, 0, " "], [5466, 0, "b"], [5467, 0, "e"], [5468, 0, "c"], [5469, 0, "o"], [5470, 0, "m"], [5471, 0, "e"], [5472, 0, " "], [5473, 0, "u"], [5474, 0, "n"], [5475, 0, "a"], [5476, 0, "v"], [5477, 0, "a"], [5478, 0, "i"], [5479, 0, "l"], [5480, 0, "a"], [5481, 0, "b"], [5482, 0, "l"], [5483, 0, "e"], [5484, 0, "."], [5485, 0, " "], [5486, 0, "T"], [5487, 0, "h"], [5488, 0, "e"], [5489, 0, " "], [5490, 0, "s"], [5491, 0, "t"], [5492, 0, "r"], [5493, 0, "o"], [5494, 0, "n"], [5495, 0, "g"], [5496, 0, "e"], [5497, 0, "s"], [5498, 0, "t"], [5499, 0, " "], [5500, 0, "g"], [5501, 0, "u"], [5502, 0, "a"], [5503, 0, "r"], [5504, 0, "a"], [5505, 0, "n"], [5506, 0, "t"], [5507, 0, "e"], [5508, 0, "e"], [5509, 0, " "], [5510, 0, "s"], [5511, 0, "u"], [5512, 0, "c"], [5513, 0, "h"], [5514, 0, " "], [5515, 0, "a"], [5516, 0, " "], [5517, 0, "s"], [5518, 0, "y"], [5519, 0, "s"], [5520, 0, "t"], [5521, 0, "e"], [5522, 0, "m"], [5523, 0, " "], [5524, 0, "c"], [5525, 0, "a"], [5526, 0, "n"], [5527, 0, " "], [5528, 0, "g"], [5529, 0, "i"], [5530, 0, "v"], [5531, 0, "e"], [5532, 0, " "], [5533, 0, "i"], [5534, 0, "s"], [5535, 0, " "], [5536, 0, "c"], [5537, 0, "a"], [5538, 0, "u"], [5539, 0, "s"], [5540, 0, "a"], [5541, 0, "l"], [5542, 0, " "], [5543, 0, "o"], [5544, 0, "r"], [5545, 0, "d"], [5546, 0, "e"], [5547, 0, "r"], [5548, 0, "i"], [5549, 0, "n"], [5550, 0, "g"], [5551, 0, "~"], [5552, 0, "]"], [5552, 1], [5552, 0, "\\"], [5553, 0, "c"], [5554, 0, "i"], [5555, 0, "t"], [5556, 0, "e"], [5557, 0, "{"], [5558, 0, "A"], [5559, 0, "t"], [5560, 0, "t"], [5561, 0, "i"], [5562, 0, "y"], [5563, 0, "a"], [5564, 0, ":"], [5565, 0, "2"], [5566, 0, "0"], [5567, 0, "1"], [5568, 0, "5"], [5569, 0, "d"], [5570, 0, "m"], [5571, 0, "}"], [5572, 0, "."], [5573, 0, "\n"], [5574, 0, "\n"], [5575, 0, "T"], [5576, 0, "h"], [5577, 0, "e"], [5578, 0, " "], [5579, 0, "G"], [5580, 0, "o"], [5581, 0, "o"], [5582, 0, "g"], [5583, 0, "l"], [5584, 0, "e"], [5585, 0, " "], [5586, 0, "R"], [5587, 0, "e"], [5588, 0, "a"], [5589, 0, "l"], [5590, 0, "t"], [5591, 0, "i"], [5592, 0, "m"], [5593, 0, "e"], [5594, 0, " "], [5595, 0, "A"], [5596, 0, "P"], [5597, 0, "I"], [5598, 0, "~"], [5599, 0, "\\"], [5600, 0, "c"], [5601, 0, "i"], [5602, 0, "t"], [5603, 0, "e"], [5604, 0, "{"], [5605, 0, "G"], [5606, 0, "o"], [5607, 0, "o"], [5608, 0, "g"], [5609, 0, "o"], [5609, 1], [5609, 0, "l"], [5610, 0, "e"], [5611, 0, ":"], [5612, 0, "2"], [5613, 0, "0"], [5614, 0, "1"], [5615, 0, "5"], [5616, 0, "v"], [5617, 0, "k"], [5618, 0, "}"], [5619, 0, " "], [5620, 0, "i"], [5621, 0, "s"], [5622, 0, " "], [5623, 0, "t"], [5624, 0, "h"], [5625, 0, "e"], [5626, 0, " "], [5627, 0, "o"], [5628, 0, "n"], [5629, 0, "l"], [5630, 0, "y"], [5631, 0, " "], [5632, 0, "i"], [5633, 0, "m"], [5634, 0, "p"], [5635, 0, "l"], [5636, 0, "e"], [5637, 0, "m"], [5638, 0, "e"], [5639, 0, "n"], [5640, 0, "t"], [5641, 0, "a"], [5642, 0, "t"], [5643, 0, "i"], [5644, 0, "o"], [5645, 0, "n"], [5646, 0, " "], [5647, 0, "o"], [5648, 0, "f"], [5649, 0, " "], [5650, 0, "O"], [5651, 0, "T"], [5652, 0, " "], [5653, 0, "o"], [5654, 0, "f"], [5655, 0, " "], [5656, 0, "w"], [5657, 0, "h"], [5658, 0, "i"], [5659, 0, "c"], [5660, 0, "h"], [5661, 0, " "], [5662, 0, "w"], [5663, 0, "e"], [5664, 0, " "], [5665, 0, "a"], [5666, 0, "r"], [5667, 0, "e"], [5668, 0, " "], [5669, 0, "a"], [5670, 0, "w"], [5671, 0, "a"], [5672, 0, "r"], [5673, 0, "e"], [5674, 0, " "], [5675, 0, "t"], [5676, 0, "h"], [5677, 0, "a"], [5678, 0, "t"], [5679, 0, " "], [5623, 0, "t"], [5624, 0, "o"], [5625, 0, " "], [5626, 0, "o"], [5627, 0, "u"], [5628, 0, "r"], [5629, 0, " "], [5630, 0, "k"], [5631, 0, "n"], [5632, 0, "o"], [5633, 0, "w"], [5634, 0, "l"], [5635, 0, "e"], [5636, 0, "d"], [5637, 0, "g"], [5638, 0, "e"], [5639, 0, " "], [5691, 1], [5690, 1], [5689, 1], [5688, 1], [5687, 1], [5686, 1], [5685, 1], [5684, 1], [5683, 1], [5682, 1], [5681, 1], [5680, 1], [5679, 1], [5678, 1], [5677, 1], [5676, 1], [5675, 1], [5674, 1], [5673, 1], [5672, 1], [5671, 1], [5670, 1], [5675, 0, "s"], [5676, 0, "u"], [5677, 0, "p"], [5678, 0, "p"], [5679, 0, "o"], [5680, 0, "r"], [5681, 0, "t"], [5682, 0, "s"], [5683, 0, " "], [5684, 0, "a"], [5685, 0, "r"], [5686, 0, "b"], [5687, 0, "i"], [5688, 0, "t"], [5689, 0, "r"], [5690, 0, "a"], [5691, 0, "r"], [5692, 0, "y"], [5693, 0, " "], [5694, 0, "n"], [5695, 0, "e"], [5696, 0, "s"], [5697, 0, "t"], [5698, 0, "i"], [5699, 0, "n"], [5700, 0, "g"], [5701, 0, " "], [5702, 0, "o"], [5703, 0, "f"], [5704, 0, " "], [5705, 0, "l"], [5706, 0, "i"], [5707, 0, "s"], [5708, 0, "t"], [5709, 0, "s"], [5710, 0, " "], [5711, 0, "a"], [5712, 0, "n"], [5713, 0, "d"], [5714, 0, " "], [5715, 0, "m"], [5716, 0, "a"], [5717, 0, "p"], [5718, 0, "s"], [5719, 0, "."], [5720, 0, " "], [5721, 0, "L"], [5722, 0, "i"], [5723, 0, "k"], [5724, 0, "e"], [5725, 0, " "], [5726, 0, "G"], [5727, 0, "o"], [5728, 0, "o"], [5729, 0, "g"], [5730, 0, "l"], [5731, 0, "e"], [5732, 0, " "], [5733, 0, "D"], [5734, 0, "o"], [5735, 0, "c"], [5736, 0, "s"], [5737, 0, ","], [5738, 0, " "], [5739, 0, "i"], [5740, 0, "t"], [5741, 0, " "], [5742, 0, "r"], [5743, 0, "e"], [5744, 0, "l"], [5745, 0, "i"], [5746, 0, "e"], [5747, 0, "s"], [5748, 0, " "], [5749, 0, "o"], [5750, 0, "n"], [5751, 0, " "], [5752, 0, "a"], [5753, 0, " "], [5754, 0, "s"], [5755, 0, "i"], [5756, 0, "n"], [5757, 0, "g"], [5758, 0, "l"], [5759, 0, "e"], [5760, 0, " "], [5761, 0, "s"], [5762, 0, "e"], [5763, 0, "r"], [5764, 0, "v"], [5765, 0, "e"], [5766, 0, "r"], [5767, 0, "~"], [5768, 0, "\\"], [5769, 0, "c"], [5770, 0, "i"], [5771, 0, "t"], [5772, 0, "e"], [5773, 0, "{"], [5774, 0, "L"], [5775, 0, "e"], [5776, 0, "m"], [5777, 0, "o"], [5778, 0, "n"], [5779, 0, "i"], [5780, 0, "k"], [5781, 0, ":"], [5782, 0, "2"], [5783, 0, "0"], [5784, 0, "1"], [5785, 0, "6"], [5786, 0, "w"], [5787, 0, "h"], [5788, 0, "}"], [5789, 0, "."], [5790, 0, " "], [5791, 0, "A"], [5792, 0, "s"], [5793, 0, " "], [5794, 0, "a"], [5795, 0, " "], [5796, 0, "p"], [5797, 0, "r"], [5798, 0, "o"], [5799, 0, "p"], [5800, 0, "r"], [5801, 0, "i"], [5802, 0, "e"], [5803, 0, "t"], [5804, 0, "a"], [5805, 0, "r"], [5806, 0, "y"], [5807, 0, " "], [5808, 0, "p"], [5809, 0, "r"], [5810, 0, "o"], [5811, 0, "d"], [5812, 0, "u"], [5813, 0, "c"], [5814, 0, "t"], [5815, 0, ","], [5816, 0, " "], [5817, 0, "d"], [5818, 0, "e"], [5819, 0, "t"], [5820, 0, "a"], [5821, 0, "i"], [5822, 0, "l"], [5823, 0, "s"], [5824, 0, " "], [5825, 0, "o"], [5826, 0, "f"], [5827, 0, " "], [5828, 0, "i"], [5829, 0, "t"], [5830, 0, "s"], [5831, 0, " "], [5832, 0, "a"], [5833, 0, "l"], [5834, 0, "g"], [5835, 0, "o"], [5836, 0, "r"], [5837, 0, "i"], [5838, 0, "t"], [5839, 0, "h"], [5840, 0, "m"], [5841, 0, "s"], [5842, 0, " "], [5843, 0, "h"], [5844, 0, "a"], [5845, 0, "v"], [5846, 0, "e"], [5847, 0, " "], [5848, 0, "n"], [5849, 0, "o"], [5850, 0, "t"], [5851, 0, " "], [5852, 0, "b"], [5853, 0, "e"], [5854, 0, "e"], [5855, 0, "n"], [5856, 0, " "], [5857, 0, "p"], [5858, 0, "u"], [5859, 0, "b"], [5860, 0, "l"], [5861, 0, "i"], [5862, 0, "s"], [5863, 0, "h"], [5864, 0, "e"], [5865, 0, "d"], [5866, 0, "."], [5867, 0, "\n"], [5868, 0, "\n"], [5869, 0, "\\"], [5870, 0, "s"], [5871, 0, "u"], [5872, 0, "b"], [5873, 0, "s"], [5874, 0, "e"], [5875, 0, "c"], [5876, 0, "t"], [5877, 0, "i"], [5878, 0, "o"], [5879, 0, "n"], [5880, 0, "{"], [5881, 0, "C"], [5882, 0, "R"], [5883, 0, "D"], [5884, 0, "T"], [5885, 0, "s"], [5886, 0, "}"], [5887, 0, "\\"], [5888, 0, "l"], [5889, 0, "a"], [5890, 0, "b"], [5891, 0, "e"], [5892, 0, "l"], [5893, 0, "{"], [5894, 0, "s"], [5895, 0, "e"], [5896, 0, "c"], [5897, 0, ":"], [5898, 0, "r"], [5899, 0, "e"], [5900, 0, "l"], [5901, 0, "a"], [5902, 0, "t"], [5903, 0, "e"], [5904, 0, "d"], [5905, 0, "-"], [5906, 0, "c"], [5907, 0, "r"], [5908, 0, "d"], [5909, 0, "t"], [5910, 0, "s"], [5911, 0, "}"], [5912, 0, "\n"], [5913, 0, "\n"], [5914, 0, "C"], [5915, 0, "R"], [5916, 0, "D"], [5917, 0, "T"], [5918, 0, "s"], [5919, 0, " "], [5920, 0, "f"], [5921, 0, "o"], [5922, 0, "r"], [5923, 0, " "], [5924, 0, "r"], [5925, 0, "e"], [5926, 0, "g"], [5927, 0, "i"], [5928, 0, "s"], [5929, 0, "t"], [5930, 0, "e"], [5931, 0, "r"], [5932, 0, "s"], [5933, 0, ","], [5934, 0, " "], [5935, 0, "c"], [5936, 0, "o"], [5937, 0, "u"], [5938, 0, "n"], [5939, 0, "t"], [5940, 0, "e"], [5941, 0, "r"], [5942, 0, "s"], [5943, 0, ","], [5944, 0, " "], [5945, 0, "m"], [5946, 0, "a"], [5947, 0, "p"], [5948, 0, "s"], [5949, 0, " "], [5950, 0, "a"], [5951, 0, "n"], [5952, 0, "d"], [5953, 0, " "], [5954, 0, "s"], [5955, 0, "e"], [5956, 0, "t"], [5957, 0, "s"], [5958, 0, " "], [5959, 0, "a"], [5960, 0, "r"], [5961, 0, "e"], [5962, 0, " "], [5963, 0, "w"], [5964, 0, "i"], [5965, 0, "d"], [5966, 0, "e"], [5967, 0, "l"], [5968, 0, "y"], [5969, 0, " "], [5970, 0, "k"], [5971, 0, "n"], [5972, 0, "o"], [5973, 0, "w"], [5974, 0, "n"], [5975, 0, "~"], [5976, 0, "\\"], [5977, 0, "c"], [5978, 0, "i"], [5979, 0, "t"], [5980, 0, "e"], [5981, 0, "{"], [5982, 0, "S"], [5983, 0, "h"], [5984, 0, "a"], [5985, 0, "p"], [5986, 0, "i"], [5987, 0, "r"], [5988, 0, "o"], [5989, 0, ":"], [5990, 0, "2"], [5991, 0, "0"], [5992, 0, "1"], [5993, 0, "1"], [5994, 0, "u"], [5995, 0, "n"], [5996, 0, ","], [5997, 0, "S"], [5998, 0, "h"], [5999, 0, "a"], [6000, 0, "p"], [6001, 0, "i"], [6002, 0, "r"], [6003, 0, "o"], [6004, 0, ":"], [6005, 0, "2"], [6006, 0, "0"], [6007, 0, "1"], [6008, 0, "1"], [6009, 0, "w"], [6010, 0, "y"], [6011, 0, "}"], [6012, 0, ","], [6013, 0, " "], [6014, 0, "a"], [6015, 0, "n"], [6016, 0, "d"], [6017, 0, " "], [6018, 0, "h"], [6019, 0, "a"], [6020, 0, "v"], [6021, 0, "e"], [6022, 0, " "], [6023, 0, "b"], [6024, 0, "e"], [6025, 0, "e"], [6026, 0, "n"], [6027, 0, " "], [6028, 0, "i"], [6029, 0, "m"], [6030, 0, "p"], [6031, 0, "l"], [6032, 0, "e"], [6033, 0, "m"], [6034, 0, "e"], [6035, 0, "n"], [6036, 0, "t"], [6037, 0, "e"], [6038, 0, "d"], [6039, 0, " "], [6040, 0, "i"], [6041, 0, "n"], [6042, 0, " "], [6043, 0, "v"], [6044, 0, "a"], [6045, 0, "r"], [6046, 0, "i"], [6047, 0, "o"], [6048, 0, "u"], [6049, 0, "s"], [6050, 0, " "], [6051, 0, "d"], [6052, 0, "e"], [6053, 0, "p"], [6054, 0, "l"], [6055, 0, "o"], [6056, 0, "y"], [6057, 0, "e"], [6058, 0, "d"], [6059, 0, " "], [6060, 0, "s"], [6061, 0, "y"], [6062, 0, "s"], [6063, 0, "t"], [6064, 0, "e"], [6065, 0, "m"], [6066, 0, "s"], [6067, 0, " "], [6068, 0, "s"], [6069, 0, "u"], [6070, 0, "c"], [6071, 0, "h"], [6072, 0, " "], [6073, 0, "a"], [6074, 0, "s"], [6075, 0, " "], [6076, 0, "R"], [6077, 0, "i"], [6078, 0, "a"], [6079, 0, "k"], [6080, 0, "~"], [6081, 0, "\\"], [6082, 0, "c"], [6083, 0, "i"], [6084, 0, "t"], [6085, 0, "e"], [6086, 0, "{"], [6087, 0, "B"], [6088, 0, "r"], [6089, 0, "o"], [6090, 0, "w"], [6091, 0, "n"], [6092, 0, ":"], [6093, 0, "2"], [6094, 0, "0"], [6095, 0, "1"], [6096, 0, "4"], [6097, 0, "h"], [6098, 0, "s"], [6099, 0, ","], [6100, 0, "B"], [6101, 0, "r"], [6102, 0, "o"], [6103, 0, "w"], [6104, 0, "n"], [6105, 0, ":"], [6106, 0, "2"], [6107, 0, "0"], [6108, 0, "1"], [6109, 0, "3"], [6110, 0, "w"], [6111, 0, "y"], [6112, 0, "}"], [6113, 0, "."], [6114, 0, " "], [6115, 0, "F"], [6116, 0, "o"], [6117, 0, "r"], [6118, 0, " "], [6119, 0, "o"], [6120, 0, "r"], [6121, 0, "d"], [6122, 0, "e"], [6123, 0, "r"], [6124, 0, "e"], [6125, 0, "d"], [6126, 0, " "], [6127, 0, "l"], [6128, 0, "i"], [6129, 0, "s"], [6130, 0, "t"], [6131, 0, "s"], [6132, 0, ","], [6133, 0, " "], [6134, 0, "v"], [6135, 0, "a"], [6136, 0, "r"], [6137, 0, "i"], [6138, 0, "o"], [6139, 0, "u"], [6140, 0, "s"], [6141, 0, " "], [6142, 0, "a"], [6143, 0, "l"], [6144, 0, "g"], [6145, 0, "o"], [6146, 0, "r"], [6147, 0, "i"], [6148, 0, "t"], [6149, 0, "h"], [6150, 0, "m"], [6151, 0, "s"], [6152, 0, " "], [6153, 0, "h"], [6154, 0, "a"], [6155, 0, "v"], [6156, 0, "e"], [6157, 0, " "], [6158, 0, "b"], [6159, 0, "e"], [6160, 0, "e"], [6161, 0, "n"], [6162, 0, " "], [6163, 0, "p"], [6164, 0, "r"], [6165, 0, "o"], [6166, 0, "p"], [6167, 0, "o"], [6168, 0, "s"], [6169, 0, "e"], [6170, 0, "d"], [6171, 0, ","], [6172, 0, " "], [6173, 0, "i"], [6174, 0, "n"], [6175, 0, "c"], [6176, 0, "l"], [6177, 0, "u"], [6177, 1], [6177, 0, "u"], [6178, 0, "d"], [6179, 0, "i"], [6180, 0, "n"], [6181, 0, "g"], [6182, 0, " "], [6183, 0, "W"], [6184, 0, "O"], [6185, 0, "O"], [6186, 0, "T"], [6187, 0, "~"], [6188, 0, "\\"], [6189, 0, "c"], [6190, 0, "i"], [6191, 0, "t"], [6192, 0, "e"], [6193, 0, "{"], [6194, 0, "O"], [6195, 0, "s"], [6196, 0, "t"], [6197, 0, "e"], [6198, 0, "r"], [6199, 0, ":"], [6200, 0, "2"], [6201, 0, "0"], [6202, 0, "0"], [6203, 0, "6"], [6204, 0, "w"], [6205, 0, "j"], [6206, 0, "}"], [6207, 0, ","], [6208, 0, " "], [6209, 0, "R"], [6210, 0, "G"], [6211, 0, "A"], [6212, 0, "~"], [6213, 0, "\\"], [6214, 0, "c"], [6215, 0, "i"], [6216, 0, "t"], [6217, 0, "e"], [6218, 0, "{"], [6219, 0, "R"], [6220, 0, "o"], [6221, 0, "h"], [6222, 0, ":"], [6223, 0, "2"], [6224, 0, "0"], [6225, 0, "1"], [6226, 0, "1"], [6227, 0, "d"], [6228, 0, "w"], [6229, 0, "}"], [6230, 0, ","], [6231, 0, " "], [6232, 0, "T"], [6233, 0, "r"], [6234, 0, "e"], [6235, 0, "e"], [6236, 0, "d"], [6237, 0, "o"], [6238, 0, "c"], [6239, 0, "~"], [6240, 0, "\\"], [6241, 0, "c"], [6242, 0, "i"], [6243, 0, "t"], [6244, 0, "e"], [6245, 0, "{"], [6246, 0, "P"], [6247, 0, "r"], [6248, 0, "e"], [6249, 0, "g"], [6250, 0, "u"], [6251, 0, "i"], [6252, 0, "c"], [6253, 0, "a"], [6254, 0, ":"], [6255, 0, "2"], [6256, 0, "0"], [6257, 0, "0"], [6258, 0, "9"], [6259, 0, "f"], [6260, 0, "z"], [6261, 0, "}"], [6262, 0, ","], [6263, 0, " "], [6264, 0, "L"], [6265, 0, "o"], [6266, 0, "g"], [6267, 0, "o"], [6268, 0, "o"], [6269, 0, "t"], [6270, 0, "~"], [6271, 0, "\\"], [6272, 0, "c"], [6273, 0, "i"], [6274, 0, "t"], [6275, 0, "e"], [6276, 0, "{"], [6277, 0, "W"], [6278, 0, "e"], [6279, 0, "i"], [6280, 0, "s"], [6281, 0, "s"], [6282, 0, ":"], [6283, 0, "2"], [6284, 0, "0"], [6285, 0, "1"], [6286, 0, "0"], [6287, 0, "h"], [6288, 0, "x"], [6289, 0, "}"], [6290, 0, " "], [6291, 0, "a"], [6292, 0, "n"], [6293, 0, "d"], [6294, 0, " "], [6295, 0, "L"], [6296, 0, "S"], [6297, 0, "E"], [6298, 0, "Q"], [6299, 0, "~"], [6300, 0, "\\"], [6301, 0, "c"], [6302, 0, "i"], [6303, 0, "t"], [6304, 0, "e"], [6305, 0, "{"], [6306, 0, "N"], [6307, 0, "e"], [6308, 0, "d"], [6309, 0, "e"], [6310, 0, "l"], [6311, 0, "e"], [6312, 0, "c"], [6313, 0, ":"], [6314, 0, "2"], [6315, 0, "0"], [6316, 0, "1"], [6317, 0, "3"], [6318, 0, "k"], [6319, 0, "y"], [6320, 0, "}"], [6321, 0, "."], [6322, 0, " "], [6323, 0, "H"], [6324, 0, "o"], [6325, 0, "w"], [6326, 0, "e"], [6327, 0, "v"], [6328, 0, "e"], [6329, 0, "r"], [6330, 0, ","], [6331, 0, " "], [6332, 0, "n"], [6333, 0, "o"], [6334, 0, "n"], [6335, 0, "e"], [6336, 0, " "], [6337, 0, "o"], [6338, 0, "f"], [6339, 0, " "], [6340, 0, "t"], [6341, 0, "h"], [6342, 0, "e"], [6343, 0, "m"], [6344, 0, " "], [6345, 0, "s"], [6346, 0, "u"], [6347, 0, "p"], [6348, 0, "p"], [6349, 0, "o"], [6350, 0, "r"], [6351, 0, "t"], [6352, 0, " "], [6353, 0, "n"], [6354, 0, "e"], [6355, 0, "s"], [6356, 0, "t"], [6357, 0, "i"], [6358, 0, "n"], [6359, 0, "g"], [6360, 0, ":"], [6361, 0, " "], [6362, 0, "t"], [6363, 0, "h"], [6364, 0, "e"], [6365, 0, "y"], [6366, 0, " "], [6367, 0, "a"], [6368, 0, "s"], [6369, 0, "s"], [6370, 0, "u"], [6371, 0, "m"], [6372, 0, "e"], [6373, 0, " "], [6374, 0, "t"], [6375, 0, "h"], [6376, 0, "a"], [6377, 0, "t"], [6378, 0, " "], [6379, 0, "t"], [6380, 0, "h"], [6381, 0, "e"], [6382, 0, " "], [6383, 0, "e"], [6384, 0, "l"], [6385, 0, "e"], [6386, 0, "m"], [6387, 0, "e"], [6388, 0, "n"], [6389, 0, "t"], [6390, 0, "s"], [6391, 0, " "], [6392, 0, "o"], [6393, 0, "f"], [6394, 0, " "], [6395, 0, "t"], [6396, 0, "h"], [6397, 0, "e"], [6398, 0, " "], [6399, 0, "C"], [6400, 0, "R"], [6401, 0, "D"], [6402, 0, "T"], [6403, 0, " "], [6404, 0, "m"], [6405, 0, "a"], [6406, 0, "p"], [6407, 0, " "], [6408, 0, "o"], [6409, 0, "r"], [6410, 0, " "], [6411, 0, "l"], [6412, 0, "i"], [6413, 0, "s"], [6414, 0, "t"], [6415, 0, " "], [6416, 0, "a"], [6417, 0, "r"], [6418, 0, "e"], [6419, 0, " "], [6420, 0, "a"], [6421, 0, "t"], [6422, 0, "o"], [6423, 0, "m"], [6424, 0, "i"], [6425, 0, "c"], [6426, 0, " "], [6427, 0, "v"], [6428, 0, "a"], [6429, 0, "l"], [6430, 0, "u"], [6431, 0, "e"], [6432, 0, "s"], [6433, 0, ","], [6434, 0, " "], [6435, 0, "n"], [6436, 0, "o"], [6437, 0, "t"], [6438, 0, " "], [6439, 0, "a"], [6440, 0, "n"], [6441, 0, "o"], [6442, 0, "t"], [6443, 0, "h"], [6444, 0, "e"], [6445, 0, "r"], [6446, 0, " "], [6447, 0, "C"], [6448, 0, "R"], [6449, 0, "D"], [6450, 0, "T"], [6451, 0, "."], [6452, 0, "\n"], [6453, 0, "\n"], [6454, 0, "T"], [6455, 0, "h"], [6456, 0, "e"], [6457, 0, " "], [6458, 0, "p"], [6459, 0, "r"], [6460, 0, "o"], [6461, 0, "b"], [6462, 0, "l"], [6463, 0, "e"], [6464, 0, "m"], [6465, 0, " "], [6466, 0, "o"], [6467, 0, "f"], [6468, 0, " "], [6469, 0, "n"], [6470, 0, "e"], [6471, 0, "s"], [6472, 0, "t"], [6473, 0, "i"], [6474, 0, "n"], [6475, 0, "g"], [6476, 0, " "], [6477, 0, "o"], [6478, 0, "n"], [6479, 0, "e"], [6480, 0, " "], [6481, 0, "C"], [6482, 0, "R"], [6483, 0, "D"], [6484, 0, "T"], [6485, 0, " "], [6486, 0, "i"], [6487, 0, "n"], [6488, 0, "s"], [6489, 0, "i"], [6490, 0, "d"], [6491, 0, "e"], [6492, 0, " "], [6493, 0, "a"], [6494, 0, "n"], [6495, 0, "o"], [6496, 0, "t"], [6497, 0, "h"], [6498, 0, "e"], [6499, 0, "r"], [6500, 0, " "], [6501, 0, "("], [6502, 0, "a"], [6503, 0, "l"], [6504, 0, "s"], [6505, 0, "o"], [6506, 0, " "], [6507, 0, "k"], [6508, 0, "n"], [6509, 0, "o"], [6510, 0, "w"], [6511, 0, "n"], [6512, 0, " "], [6513, 0, "a"], [6514, 0, "s"], [6515, 0, " "], [6516, 0, "\\"], [6517, 0, "e"], [6518, 0, "m"], [6519, 0, "p"], [6520, 0, "h"], [6521, 0, "{"], [6522, 0, "c"], [6523, 0, "o"], [6524, 0, "m"], [6525, 0, "p"], [6526, 0, "o"], [6527, 0, "s"], [6528, 0, "i"], [6529, 0, "t"], [6530, 0, "i"], [6531, 0, "o"], [6532, 0, "n"], [6533, 0, "}"], [6534, 0, " "], [6535, 0, "o"], [6536, 0, "r"], [6537, 0, " "], [6538, 0, "\\"], [6539, 0, "e"], [6540, 0, "m"], [6541, 0, "p"], [6542, 0, "h"], [6543, 0, "{"], [6544, 0, "e"], [6545, 0, "m"], [6546, 0, "b"], [6547, 0, "e"], [6548, 0, "d"], [6549, 0, "d"], [6550, 0, "i"], [6551, 0, "n"], [6552, 0, "g"], [6553, 0, "}"], [6554, 0, ")"], [6555, 0, " "], [6556, 0, "h"], [6557, 0, "a"], [6558, 0, "s"], [6559, 0, " "], [6560, 0, "o"], [6561, 0, "n"], [6562, 0, "l"], [6563, 0, "y"], [6564, 0, " "], [6565, 0, "b"], [6566, 0, "e"], [6567, 0, "e"], [6568, 0, "n"], [6569, 0, " "], [6570, 0, "s"], [6571, 0, "t"], [6572, 0, "u"], [6573, 0, "d"], [6574, 0, "i"], [6575, 0, "e"], [6576, 0, "d"], [6577, 0, " "], [6578, 0, "m"], [6579, 0, "o"], [6580, 0, "r"], [6581, 0, "e"], [6582, 0, " "], [6583, 0, "r"], [6584, 0, "e"], [6585, 0, "c"], [6586, 0, "e"], [6587, 0, "n"], [6588, 0, "t"], [6589, 0, "l"], [6590, 0, "y"], [6591, 0, "."], [6592, 0, " "], [6593, 0, "R"], [6594, 0, "i"], [6595, 0, "a"], [6596, 0, "k"], [6597, 0, " "], [6598, 0, "a"], [6599, 0, "l"], [6600, 0, "l"], [6601, 0, "o"], [6602, 0, "w"], [6603, 0, "s"], [6604, 0, " "], [6605, 0, "n"], [6606, 0, "e"], [6607, 0, "s"], [6608, 0, "t"], [6609, 0, "i"], [6610, 0, "n"], [6611, 0, "g"], [6612, 0, " "], [6613, 0, "o"], [6614, 0, "f"], [6615, 0, " "], [6616, 0, "c"], [6617, 0, "o"], [6618, 0, "u"], [6619, 0, "n"], [6620, 0, "t"], [6621, 0, "e"], [6622, 0, "r"], [6623, 0, "s"], [6624, 0, " "], [6625, 0, "a"], [6626, 0, "n"], [6627, 0, "d"], [6628, 0, " "], [6629, 0, "r"], [6630, 0, "e"], [6631, 0, "g"], [6632, 0, "i"], [6633, 0, "s"], [6634, 0, "t"], [6635, 0, "e"], [6636, 0, "r"], [6637, 0, "s"], [6638, 0, " "], [6639, 0, "i"], [6640, 0, "n"], [6641, 0, "s"], [6642, 0, "i"], [6643, 0, "d"], [6644, 0, "e"], [6645, 0, " "], [6646, 0, "m"], [6647, 0, "a"], [6648, 0, "p"], [6649, 0, "s"], [6650, 0, ","], [6651, 0, " "], [6652, 0, "a"], [6653, 0, "n"], [6654, 0, "d"], [6655, 0, " "], [6656, 0, "o"], [6657, 0, "f"], [6658, 0, " "], [6659, 0, "m"], [6660, 0, "a"], [6661, 0, "p"], [6662, 0, "s"], [6663, 0, " "], [6664, 0, "w"], [6665, 0, "i"], [6666, 0, "t"], [6667, 0, "h"], [6668, 0, "i"], [6669, 0, "n"], [6670, 0, " "], [6671, 0, "o"], [6672, 0, "t"], [6673, 0, "h"], [6674, 0, "e"], [6675, 0, "r"], [6676, 0, " "], [6677, 0, "m"], [6678, 0, "a"], [6679, 0, "p"], [6680, 0, "s"], [6681, 0, "~"], [6682, 0, "\\"], [6683, 0, "c"], [6684, 0, "i"], [6685, 0, "t"], [6686, 0, "e"], [6687, 0, "{"], [6688, 0, "B"], [6689, 0, "r"], [6690, 0, "o"], [6691, 0, "w"], [6692, 0, "n"], [6693, 0, ":"], [6694, 0, "2"], [6695, 0, "0"], [6696, 0, "1"], [6697, 0, "4"], [6698, 0, "h"], [6699, 0, "s"], [6700, 0, ","], [6701, 0, "B"], [6702, 0, "r"], [6703, 0, "o"], [6704, 0, "w"], [6705, 0, "n"], [6706, 0, ":"], [6707, 0, "2"], [6708, 0, "0"], [6709, 0, "1"], [6710, 0, "3"], [6711, 0, "w"], [6712, 0, "y"], [6713, 0, "}"], [6714, 0, "."], [6715, 0, " "], [6716, 0, "E"], [6717, 0, "m"], [6718, 0, "b"], [6719, 0, "e"], [6720, 0, "d"], [6721, 0, "d"], [6722, 0, "i"], [6723, 0, "n"], [6724, 0, "g"], [6725, 0, " "], [6726, 0, "c"], [6727, 0, "o"], [6728, 0, "u"], [6729, 0, "n"], [6730, 0, "t"], [6731, 0, "e"], [6732, 0, "r"], [6733, 0, "s"], [6734, 0, " "], [6735, 0, "i"], [6736, 0, "n"], [6737, 0, "s"], [6738, 0, "i"], [6739, 0, "d"], [6740, 0, "e"], [6741, 0, " "], [6742, 0, "m"], [6743, 0, "a"], [6744, 0, "p"], [6745, 0, "s"], [6746, 0, " "], [6747, 0, "r"], [6748, 0, "a"], [6749, 0, "i"], [6750, 0, "s"], [6751, 0, "e"], [6752, 0, "s"], [6753, 0, " "], [6754, 0, "q"], [6755, 0, "u"], [6756, 0, "e"], [6757, 0, "s"], [6758, 0, "t"], [6759, 0, "i"], [6760, 0, "o"], [6761, 0, "n"], [6762, 0, "s"], [6763, 0, " "], [6764, 0, "o"], [6765, 0, "f"], [6766, 0, " "], [6767, 0, "s"], [6768, 0, "e"], [6769, 0, "m"], [6770, 0, "a"], [6771, 0, "n"], [6772, 0, "t"], [6773, 0, "i"], [6774, 0, "c"], [6775, 0, "s"], [6776, 0, ","], [6777, 0, " "], [6778, 0, "w"], [6779, 0, "h"], [6780, 0, "i"], [6781, 0, "c"], [6782, 0, "h"], [6783, 0, " "], [6784, 0, "h"], [6785, 0, "a"], [6786, 0, "v"], [6787, 0, "e"], [6788, 0, " "], [6789, 0, "b"], [6790, 0, "e"], [6791, 0, "e"], [6792, 0, "n"], [6793, 0, " "], [6794, 0, "s"], [6795, 0, "t"], [6796, 0, "u"], [6797, 0, "d"], [6798, 0, "i"], [6799, 0, "e"], [6800, 0, "d"], [6801, 0, " "], [6802, 0, "b"], [6803, 0, "y"], [6804, 0, " "], [6805, 0, "B"], [6806, 0, "a"], [6807, 0, "q"], [6808, 0, "u"], [6809, 0, "e"], [6810, 0, "r"], [6811, 0, "o"], [6812, 0, ","], [6813, 0, " "], [6814, 0, "A"], [6815, 0, "l"], [6816, 0, "m"], [6817, 0, "e"], [6818, 0, "i"], [6819, 0, "d"], [6820, 0, "a"], [6821, 0, " "], [6822, 0, "a"], [6823, 0, "n"], [6824, 0, "d"], [6825, 0, " "], [6826, 0, "L"], [6827, 0, "e"], [6828, 0, "r"], [6829, 0, "c"], [6830, 0, "h"], [6831, 0, "e"], [6832, 0, "~"], [6833, 0, "\\"], [6834, 0, "c"], [6835, 0, "i"], [6836, 0, "t"], [6837, 0, "e"], [6838, 0, "{"], [6839, 0, "B"], [6840, 0, "a"], [6841, 0, "q"], [6842, 0, "u"], [6843, 0, "e"], [6844, 0, "r"], [6845, 0, "o"], [6846, 0, ":"], [6847, 0, "2"], [6848, 0, "0"], [6849, 0, "1"], [6850, 0, "6"], [6851, 0, "i"], [6852, 0, "v"], [6853, 0, "}"], [6854, 0, "."], [6855, 0, " "], [6856, 0, "A"], [6857, 0, "l"], [6858, 0, "m"], [6859, 0, "e"], [6860, 0, "i"], [6861, 0, "d"], [6862, 0, "a"], [6863, 0, " "], [6864, 0, "e"], [6865, 0, "t"], [6866, 0, " "], [6867, 0, "a"], [6868, 0, "."], [6868, 1], [6868, 0, "l"], [6869, 0, "."], [6870, 0, "~"], [6871, 0, "\\"], [6872, 0, "c"], [6873, 0, "i"], [6874, 0, "t"], [6875, 0, "e"], [6876, 0, "{"], [6877, 0, "A"], [6878, 0, "l"], [6879, 0, "m"], [6880, 0, "e"], [6881, 0, "i"], [6882, 0, "d"], [6883, 0, "a"], [6884, 0, ":"], [6885, 0, "2"], [6886, 0, "0"], [6887, 0, "1"], [6888, 0, "6"], [6889, 0, "t"], [6890, 0, "k"], [6891, 0, "}"], [6892, 0, " "], [6893, 0, "a"], [6894, 0, "l"], [6895, 0, "s"], [6896, 0, "o"], [6897, 0, " "], [6898, 0, "d"], [6899, 0, "e"], [6900, 0, "f"], [6901, 0, "i"], [6902, 0, "n"], [6903, 0, "e"], [6904, 0, " "], [6905, 0, "d"], [6906, 0, "e"], [6907, 0, "l"], [6908, 0, "t"], [6909, 0, "a"], [6910, 0, " "], [6911, 0, "m"], [6912, 0, "u"], [6913, 0, "t"], [6914, 0, "a"], [6915, 0, "t"], [6916, 0, "i"], [6917, 0, "o"], [6918, 0, "n"], [6919, 0, "s"], [6920, 0, " "], [6921, 0, "f"], [6922, 0, "o"], [6923, 0, "r"], [6924, 0, " "], [6925, 0, "n"], [6926, 0, "e"], [6927, 0, "s"], [6928, 0, "t"], [6929, 0, "e"], [6930, 0, "d"], [6931, 0, " "], [6932, 0, "m"], [6933, 0, "a"], [6934, 0, "p"], [6935, 0, "s"], [6936, 0, ","], [6937, 0, " "], [6938, 0, "a"], [6939, 0, "n"], [6940, 0, "d"], [6941, 0, " "], [6942, 0, "B"], [6943, 0, "a"], [6944, 0, "q"], [6945, 0, "u"], [6946, 0, "e"], [6947, 0, "r"], [6948, 0, "o"], [6949, 0, " "], [6950, 0, "e"], [6951, 0, "t"], [6952, 0, " "], [6953, 0, "a"], [6954, 0, "l"], [6955, 0, "."], [6956, 0, "~"], [6957, 0, "\\"], [6958, 0, "c"], [6959, 0, "i"], [6960, 0, "t"], [6961, 0, "e"], [6962, 0, "{"], [6963, 0, "B"], [6964, 0, "a"], [6965, 0, "q"], [6966, 0, "u"], [6967, 0, "e"], [6968, 0, "r"], [6969, 0, "o"], [6970, 0, ":"], [6971, 0, "2"], [6972, 0, "0"], [6973, 0, "1"], [6974, 0, "5"], [6975, 0, "t"], [6976, 0, "m"], [6977, 0, "}"], [6978, 0, " "], [6979, 0, "d"], [6980, 0, "e"], [6981, 0, "f"], [6982, 0, "i"], [6983, 0, "n"], [6984, 0, "e"], [6985, 0, " "], [6986, 0, "a"], [6987, 0, " "], [6988, 0, "t"], [6989, 0, "h"], [6990, 0, "e"], [6991, 0, "o"], [6992, 0, "r"], [6993, 0, "e"], [6994, 0, "t"], [6995, 0, "i"], [6996, 0, "c"], [6997, 0, "a"], [6998, 0, "l"], [6999, 0, " "], [7000, 0, "f"], [7001, 0, "r"], [7002, 0, "a"], [7003, 0, "m"], [7004, 0, "e"], [7005, 0, "w"], [7006, 0, "o"], [7007, 0, "r"], [7008, 0, "k"], [7009, 0, " "], [7010, 0, "f"], [7011, 0, "o"], [7012, 0, "r"], [7013, 0, " "], [7014, 0, "c"], [7015, 0, "o"], [7016, 0, "m"], [7017, 0, "p"], [7018, 0, "o"], [7019, 0, "s"], [7020, 0, "i"], [7021, 0, "t"], [7022, 0, "i"], [7023, 0, "o"], [7024, 0, "n"], [7025, 0, " "], [7026, 0, "o"], [7027, 0, "f"], [7028, 0, " "], [7029, 0, "s"], [7030, 0, "t"], [7031, 0, "a"], [7032, 0, "t"], [7033, 0, "e"], [7034, 0, "-"], [7035, 0, "b"], [7036, 0, "a"], [7037, 0, "s"], [7038, 0, "e"], [7039, 0, "d"], [7040, 0, " "], [7041, 0, "C"], [7042, 0, "R"], [7043, 0, "D"], [7044, 0, "T"], [7045, 0, "s"], [7046, 0, ","], [7047, 0, " "], [7048, 0, "b"], [7049, 0, "a"], [7050, 0, "s"], [7051, 0, "e"], [7052, 0, "d"], [7053, 0, " "], [7054, 0, "o"], [7055, 0, "n"], [7056, 0, " "], [7057, 0, "l"], [7058, 0, "a"], [7059, 0, "t"], [7060, 0, "t"], [7061, 0, "i"], [7062, 0, "c"], [7063, 0, "e"], [7064, 0, "s"], [7065, 0, "."], [7066, 0, " "], [7067, 0, "N"], [7068, 0, "o"], [7069, 0, "n"], [7070, 0, "e"], [7071, 0, " "], [7072, 0, "o"], [7073, 0, "f"], [7074, 0, " "], [7075, 0, "t"], [7076, 0, "h"], [7077, 0, "i"], [7078, 0, "s"], [7079, 0, " "], [7080, 0, "w"], [7081, 0, "o"], [7082, 0, "r"], [7083, 0, "k"], [7084, 0, " "], [7085, 0, "i"], [7086, 0, "n"], [7087, 0, "t"], [7088, 0, "e"], [7089, 0, "g"], [7090, 0, "r"], [7091, 0, "a"], [7092, 0, "t"], [7093, 0, "e"], [7094, 0, "s"], [7095, 0, " "], [7096, 0, "C"], [7097, 0, "R"], [7098, 0, "D"], [7099, 0, "T"], [7100, 0, "s"], [7101, 0, " "], [7102, 0, "f"], [7103, 0, "o"], [7104, 0, "r"], [7105, 0, " "], [7106, 0, "o"], [7107, 0, "r"], [7108, 0, "d"], [7109, 0, "e"], [7110, 0, "r"], [7111, 0, "e"], [7112, 0, "d"], [7113, 0, " "], [7114, 0, "l"], [7115, 0, "i"], [7116, 0, "s"], [7117, 0, "t"], [7118, 0, "s"], [7119, 0, ","], [7120, 0, " "], [7121, 0, "b"], [7122, 0, "u"], [7123, 0, "t"], [7124, 0, " "], [7125, 0, "t"], [7126, 0, "h"], [7127, 0, "e"], [7128, 0, " "], [7129, 0, "t"], [7130, 0, "r"], [7131, 0, "e"], [7132, 0, "a"], [7133, 0, "t"], [7134, 0, "m"], [7135, 0, "e"], [7136, 0, "n"], [7137, 0, "t"], [7138, 0, " "], [7139, 0, "o"], [7140, 0, "f"], [7141, 0, " "], [7142, 0, "c"], [7143, 0, "a"], [7144, 0, "u"], [7145, 0, "s"], [7146, 0, "a"], [7147, 0, "l"], [7148, 0, "i"], [7149, 0, "t"], [7150, 0, "y"], [7151, 0, " "], [7152, 0, "i"], [7153, 0, "n"], [7154, 0, " "], [7155, 0, "t"], [7156, 0, "h"], [7157, 0, "e"], [7158, 0, "s"], [7159, 0, "e"], [7160, 0, " "], [7161, 0, "d"], [7162, 0, "a"], [7163, 0, "t"], [7164, 0, "a"], [7165, 0, "t"], [7166, 0, "y"], [7167, 0, "p"], [7168, 0, "e"], [7169, 0, "s"], [7170, 0, " "], [7171, 0, "f"], [7172, 0, "o"], [7173, 0, "r"], [7174, 0, "m"], [7175, 0, "s"], [7176, 0, " "], [7177, 0, "a"], [7178, 0, " "], [7179, 0, "b"], [7180, 0, "a"], [7181, 0, "s"], [7182, 0, "i"], [7183, 0, "s"], [7184, 0, " "], [7185, 0, "f"], [7186, 0, "o"], [7187, 0, "r"], [7188, 0, " "], [7189, 0, "t"], [7190, 0, "h"], [7191, 0, "e"], [7192, 0, " "], [7193, 0, "s"], [7194, 0, "e"], [7195, 0, "m"], [7196, 0, "a"], [7197, 0, "n"], [7198, 0, "t"], [7199, 0, "i"], [7200, 0, "c"], [7201, 0, "s"], [7202, 0, " "], [7203, 0, "d"], [7204, 0, "e"], [7205, 0, "v"], [7206, 0, "e"], [7207, 0, "l"], [7208, 0, "o"], [7209, 0, "p"], [7210, 0, "e"], [7211, 0, "d"], [7212, 0, " "], [7213, 0, "i"], [7214, 0, "n"], [7215, 0, " "], [7216, 0, "t"], [7217, 0, "h"], [7218, 0, "i"], [7219, 0, "s"], [7220, 0, " "], [7221, 0, "p"], [7222, 0, "a"], [7223, 0, "p"], [7224, 0, "e"], [7225, 0, "r"], [7226, 0, "."], [7227, 0, "\n"], [7228, 0, "\n"], [7229, 0, "B"], [7230, 0, "u"], [7231, 0, "r"], [7232, 0, "c"], [7233, 0, "k"], [7234, 0, "h"], [7235, 0, "a"], [7236, 0, "r"], [7237, 0, "d"], [7238, 0, "t"], [7239, 0, " "], [7240, 0, "e"], [7241, 0, "t"], [7242, 0, " "], [7243, 0, "a"], [7244, 0, "l"], [7245, 0, "."], [7246, 0, "Z"], [7247, 0, "~"], [7247, 1], [7246, 1], [7246, 0, "|"], [7247, 0, "~"], [7247, 1], [7246, 1], [7246, 0, "|"], [7246, 1], [7246, 0, "~"], [7247, 0, "\\"], [7248, 0, "c"], [7249, 0, "i"], [7250, 0, "t"], [7251, 0, "e"], [7252, 0, "{"], [7253, 0, "B"], [7254, 0, "u"], [7255, 0, "r"], [7256, 0, "c"], [7257, 0, "k"], [7258, 0, "h"], [7259, 0, "a"], [7260, 0, "r"], [7261, 0, "d"], [7262, 0, "t"], [7263, 0, ":"], [7264, 0, "2"], [7265, 0, "0"], [7266, 0, "1"], [7267, 0, "2"], [7268, 0, "j"], [7269, 0, "y"], [7270, 0, "}"], [7271, 0, " "], [7272, 0, "d"], [7273, 0, "e"], [7274, 0, "f"], [7275, 0, "i"], [7276, 0, "n"], [7277, 0, "e"], [7278, 0, " "], [7279, 0, "\\"], [7280, 0, "e"], [7281, 0, "m"], [7282, 0, "p"], [7283, 0, "h"], [7284, 0, "{"], [7285, 0, "c"], [7286, 0, "l"], [7287, 0, "o"], [7288, 0, "u"], [7289, 0, "d"], [7290, 0, " "], [7291, 0, "t"], [7292, 0, "y"], [7293, 0, "p"], [7294, 0, "e"], [7295, 0, "s"], [7296, 0, "}"], [7297, 0, ","], [7298, 0, " "], [7299, 0, "w"], [7300, 0, "h"], [7301, 0, "i"], [7302, 0, "c"], [7303, 0, "h"], [7304, 0, " "], [7305, 0, "a"], [7306, 0, "r"], [7307, 0, "e"], [7308, 0, " "], [7309, 0, "s"], [7310, 0, "i"], [7311, 0, "m"], [7312, 0, "i"], [7313, 0, "l"], [7314, 0, "a"], [7315, 0, "r"], [7316, 0, " "], [7317, 0, "t"], [7318, 0, "o"], [7319, 0, " "], [7320, 0, "C"], [7321, 0, "R"], [7322, 0, "D"], [7323, 0, "T"], [7324, 0, "s"], [7325, 0, " "], [7326, 0, "a"], [7327, 0, "n"], [7328, 0, "d"], [7329, 0, " "], [7330, 0, "c"], [7331, 0, "a"], [7332, 0, "n"], [7333, 0, " "], [7334, 0, "b"], [7335, 0, "e"], [7336, 0, " "], [7337, 0, "c"], [7338, 0, "o"], [7339, 0, "m"], [7340, 0, "p"], [7341, 0, "o"], [7342, 0, "s"], [7343, 0, "e"], [7344, 0, "d"], [7345, 0, "."], [7346, 0, " "], [7347, 0, "T"], [7348, 0, "h"], [7349, 0, "e"], [7350, 0, "y"], [7351, 0, " "], [7352, 0, "d"], [7353, 0, "e"], [7354, 0, "f"], [7355, 0, "i"], [7356, 0, "n"], [7357, 0, "e"], [7358, 0, " "], [7359, 0, "\\"], [7360, 0, "e"], [7361, 0, "m"], [7362, 0, "p"], [7363, 0, "h"], [7364, 0, "{"], [7365, 0, "c"], [7366, 0, "l"], [7367, 0, "o"], [7368, 0, "u"], [7369, 0, "d"], [7370, 0, " "], [7371, 0, "a"], [7372, 0, "r"], [7373, 0, "r"], [7374, 0, "a"], [7375, 0, "y"], [7376, 0, "s"], [7377, 0, "}"], [7378, 0, ","], [7379, 0, " "], [7380, 0, "w"], [7381, 0, "h"], [7382, 0, "i"], [7383, 0, "c"], [7384, 0, "h"], [7385, 0, " "], [7386, 0, "b"], [7387, 0, "e"], [7388, 0, "h"], [7389, 0, "a"], [7390, 0, "v"], [7391, 0, "e"], [7392, 0, " "], [7393, 0, "s"], [7394, 0, "i"], [7395, 0, "m"], [7396, 0, "i"], [7397, 0, "l"], [7398, 0, "a"], [7399, 0, "r"], [7400, 0, "l"], [7401, 0, "y"], [7402, 0, " "], [7403, 0, "t"], [7404, 0, "o"], [7405, 0, " "], [7406, 0, "o"], [7407, 0, "u"], [7408, 0, "r"], [7409, 0, " "], [7410, 0, "m"], [7411, 0, "a"], [7412, 0, "p"], [7413, 0, " "], [7414, 0, "d"], [7415, 0, "a"], [7416, 0, "t"], [7417, 0, "a"], [7418, 0, "t"], [7419, 0, "y"], [7420, 0, "p"], [7421, 0, "e"], [7422, 0, "s"], [7422, 1], [7422, 0, ","], [7423, 0, " "], [7424, 0, "a"], [7425, 0, "n"], [7426, 0, "d"], [7427, 0, " "], [7428, 0, "\\"], [7429, 0, "e"], [7430, 0, "m"], [7431, 0, "p"], [7432, 0, "h"], [7433, 0, "{"], [7434, 0, "e"], [7435, 0, "n"], [7436, 0, "t"], [7437, 0, "i"], [7438, 0, "t"], [7439, 0, "i"], [7440, 0, "e"], [7441, 0, "s"], [7442, 0, "}"], [7443, 0, ","], [7444, 0, " "], [7445, 0, "w"], [7446, 0, "h"], [7447, 0, "i"], [7448, 0, "c"], [7449, 0, "h"], [7450, 0, " "], [7451, 0, "a"], [7452, 0, "r"], [7453, 0, "e"], [7454, 0, " "], [7455, 0, "l"], [7456, 0, "i"], [7457, 0, "k"], [7458, 0, "e"], [7459, 0, " "], [7460, 0, "u"], [7461, 0, "n"], [7462, 0, "o"], [7463, 0, "r"], [7464, 0, "d"], [7465, 0, "e"], [7466, 0, "r"], [7467, 0, "e"], [7468, 0, "d"], [7469, 0, " "], [7470, 0, "s"], [7471, 0, "e"], [7472, 0, "t"], [7473, 0, "s"], [7474, 0, " "], [7475, 0, "o"], [7476, 0, "r"], [7477, 0, " "], [7478, 0, "r"], [7479, 0, "e"], [7480, 0, "l"], [7481, 0, "a"], [7482, 0, "t"], [7483, 0, "i"], [7484, 0, "o"], [7485, 0, "n"], [7486, 0, "s"], [7487, 0, ";"], [7488, 0, " "], [7489, 0, "o"], [7490, 0, "r"], [7491, 0, "d"], [7492, 0, "e"], [7493, 0, "r"], [7494, 0, "e"], [7495, 0, "d"], [7496, 0, " "], [7497, 0, "l"], [7498, 0, "i"], [7499, 0, "s"], [7500, 0, "t"], [7501, 0, "s"], [7502, 0, " "], [7503, 0, "a"], [7504, 0, "r"], [7505, 0, "e"], [7506, 0, " "], [7507, 0, "n"], [7508, 0, "o"], [7509, 0, "t"], [7510, 0, " "], [7511, 0, "d"], [7512, 0, "e"], [7513, 0, "f"], [7514, 0, "i"], [7515, 0, "n"], [7516, 0, "e"], [7517, 0, "d"], [7518, 0, " "], [7519, 0, "i"], [7520, 0, "n"], [7521, 0, " "], [7522, 0, "t"], [7523, 0, "h"], [7524, 0, "i"], [7525, 0, "s"], [7526, 0, " "], [7527, 0, "f"], [7528, 0, "r"], [7529, 0, "a"], [7530, 0, "m"], [7531, 0, "e"], [7532, 0, "o"], [7533, 0, "w"], [7533, 1], [7532, 1], [7532, 0, "w"], [7533, 0, "o"], [7534, 0, "r"], [7535, 0, "k"], [7536, 0, "."], [7537, 0, " "], [7538, 0, "O"], [7539, 0, "u"], [7540, 0, "r"], [7541, 0, " "], [7542, 0, "\\"], [7543, 0, "t"], [7544, 0, "e"], [7545, 0, "x"], [7546, 0, "t"], [7547, 0, "s"], [7548, 0, "f"], [7549, 0, "{"], [7550, 0, "y"], [7551, 0, "i"], [7552, 0, "e"], [7553, 0, "l"], [7554, 0, "d"], [7555, 0, "}"], [7556, 0, " "], [7557, 0, "s"], [7558, 0, "t"], [7559, 0, "a"], [7560, 0, "t"], [7561, 0, "e"], [7562, 0, "m"], [7563, 0, "e"], [7564, 0, "n"], [7565, 0, "t"], [7566, 0, " "], [7567, 0, "i"], [7568, 0, "s"], [7569, 0, " "], [7570, 0, "i"], [7571, 0, "n"], [7572, 0, "s"], [7573, 0, "p"], [7574, 0, "i"], [7575, 0, "r"], [7576, 0, "e"], [7577, 0, "d"], [7578, 0, " "], [7579, 0, "b"], [7580, 0, "y"], [7581, 0, " "], [7582, 0, "B"], [7583, 0, "u"], [7584, 0, "r"], [7585, 0, "c"], [7586, 0, "k"], [7587, 0, "h"], [7588, 0, "a"], [7589, 0, "r"], [7590, 0, "d"], [7591, 0, "t"], [7592, 0, " "], [7593, 0, "e"], [7594, 0, "t"], [7595, 0, " "], [7596, 0, "a"], [7597, 0, "l"], [7598, 0, "."], [7599, 0, "\n"], [7600, 0, "\n"], [7601, 0, "A"], [7602, 0, "l"], [7603, 0, "t"], [7604, 0, "h"], [7605, 0, "o"], [7606, 0, "u"], [7607, 0, "g"], [7608, 0, "h"], [7609, 0, " "], [7610, 0, "C"], [7611, 0, "R"], [7612, 0, "D"], [7613, 0, "T"], [7614, 0, "s"], [7615, 0, " "], [7616, 0, "f"], [7617, 0, "o"], [7618, 0, "r"], [7619, 0, " "], [7620, 0, "r"], [7621, 0, "e"], [7622, 0, "g"], [7623, 0, "i"], [7624, 0, "s"], [7625, 0, "t"], [7626, 0, "e"], [7627, 0, "r"], [7628, 0, "s"], [7629, 0, ","], [7630, 0, " "], [7631, 0, "m"], [7632, 0, "a"], [7633, 0, "p"], [7634, 0, "s"], [7635, 0, " "], [7636, 0, "a"], [7637, 0, "n"], [7638, 0, "d"], [7639, 0, " "], [7640, 0, "o"], [7641, 0, "r"], [7642, 0, "d"], [7643, 0, "e"], [7644, 0, "r"], [7645, 0, "e"], [7646, 0, "d"], [7647, 0, " "], [7648, 0, "l"], [7649, 0, "i"], [7650, 0, "s"], [7651, 0, "t"], [7652, 0, "s"], [7653, 0, " "], [7654, 0, "h"], [7655, 0, "a"], [7656, 0, "v"], [7657, 0, "e"], [7658, 0, " "], [7659, 0, "e"], [7660, 0, "x"], [7661, 0, "i"], [7662, 0, "s"], [7663, 0, "t"], [7664, 0, "e"], [7665, 0, "d"], [7666, 0, " "], [7667, 0, "f"], [7668, 0, "o"], [7669, 0, "r"], [7670, 0, " "], [7671, 0, "y"], [7672, 0, "e"], [7673, 0, "a"], [7674, 0, "r"], [7675, 0, "s"], [7676, 0, " "], [7677, 0, "i"], [7678, 0, "n"], [7679, 0, " "], [7680, 0, "i"], [7681, 0, "s"], [7682, 0, "o"], [7683, 0, "l"], [7684, 0, "a"], [7685, 0, "t"], [7686, 0, "i"], [7687, 0, "o"], [7688, 0, "n"], [7689, 0, ","], [7690, 0, " "], [7691, 0, "w"], [7692, 0, "e"], [7693, 0, " "], [7694, 0, "a"], [7695, 0, "r"], [7696, 0, "e"], [7697, 0, " "], [7698, 0, "n"], [7699, 0, "o"], [7700, 0, "t"], [7701, 0, " "], [7702, 0, "a"], [7703, 0, "w"], [7704, 0, "a"], [7705, 0, "r"], [7706, 0, "e"], [7707, 0, " "], [7708, 0, "o"], [7709, 0, "f"], [7710, 0, " "], [7711, 0, "a"], [7712, 0, "n"], [7713, 0, "y"], [7714, 0, " "], [7715, 0, "p"], [7716, 0, "r"], [7717, 0, "i"], [7718, 0, "o"], [7719, 0, "r"], [7720, 0, " "], [7721, 0, "w"], [7722, 0, "o"], [7723, 0, "r"], [7724, 0, "k"], [7725, 0, " "], [7726, 0, "t"], [7727, 0, "h"], [7728, 0, "a"], [7729, 0, "t"], [7730, 0, " "], [7731, 0, "a"], [7732, 0, "l"], [7733, 0, "l"], [7734, 0, "o"], [7735, 0, "w"], [7736, 0, "s"], [7737, 0, " "], [7738, 0, "t"], [7739, 0, "h"], [7740, 0, "e"], [7741, 0, "m"], [7742, 0, " "], [7743, 0, "a"], [7744, 0, "l"], [7745, 0, "l"], [7746, 0, "t"], [7747, 0, " "], [7747, 1], [7746, 1], [7746, 0, " "], [7747, 0, "t"], [7748, 0, "o"], [7749, 0, " "], [7750, 0, "b"], [7751, 0, "e"], [7752, 0, " "], [7753, 0, "c"], [7754, 0, "o"], [7755, 0, "m"], [7756, 0, "p"], [7757, 0, "o"], [7758, 0, "s"], [7759, 0, "e"], [7760, 0, "d"], [7761, 0, " "], [7762, 0, "i"], [7763, 0, "n"], [7764, 0, "t"], [7765, 0, "o"], [7766, 0, " "], [7767, 0, "a"], [7768, 0, "n"], [7769, 0, " "], [7770, 0, "a"], [7771, 0, "r"], [7772, 0, "b"], [7773, 0, "i"], [7774, 0, "t"], [7775, 0, "r"], [7776, 0, "a"], [7777, 0, "r"], [7778, 0, "i"], [7779, 0, "l"], [7780, 0, "y"], [7781, 0, " "], [7782, 0, "n"], [7783, 0, "e"], [7784, 0, "s"], [7785, 0, "t"], [7786, 0, "e"], [7787, 0, "d"], [7788, 0, " "], [7789, 0, "C"], [7790, 0, "R"], [7791, 0, "D"], [7792, 0, "T"], [7793, 0, " "], [7794, 0, "w"], [7795, 0, "i"], [7796, 0, "t"], [7797, 0, "h"], [7798, 0, " "], [7799, 0, "a"], [7800, 0, " "], [7801, 0, "J"], [7802, 0, "S"], [7803, 0, "O"], [7804, 0, "N"], [7805, 0, "-"], [7806, 0, "l"], [7807, 0, "i"], [7808, 0, "k"], [7809, 0, "e"], [7810, 0, " "], [7811, 0, "s"], [7812, 0, "t"], [7813, 0, "r"], [7814, 0, "u"], [7815, 0, "c"], [7816, 0, "t"], [7817, 0, "u"], [7818, 0, "r"], [7819, 0, "e"], [7820, 0, "."], [7821, 0, "\n"], [7822, 0, "\n"], [7823, 0, "\\"], [7824, 0, "s"], [7825, 0, "u"], [7826, 0, "b"], [7827, 0, "s"], [7828, 0, "e"], [7829, 0, "c"], [7830, 0, "t"], [7831, 0, "i"], [7832, 0, "o"], [7833, 0, "n"], [7834, 0, "{"], [7835, 0, "O"], [7836, 0, "t"], [7837, 0, "h"], [7838, 0, "e"], [7839, 0, "r"], [7840, 0, " "], [7841, 0, "a"], [7842, 0, "p"], [7843, 0, "p"], [7844, 0, "r"], [7845, 0, "o"], [7846, 0, "a"], [7847, 0, "c"], [7848, 0, "h"], [7849, 0, "e"], [7850, 0, "s"], [7851, 0, "}"], [7852, 0, "\\"], [7853, 0, "l"], [7854, 0, "a"], [7855, 0, "b"], [7856, 0, "e"], [7857, 0, "l"], [7858, 0, "{"], [7859, 0, "s"], [7860, 0, "e"], [7861, 0, "c"], [7862, 0, ":"], [7863, 0, "r"], [7864, 0, "e"], [7865, 0, "l"], [7866, 0, "a"], [7867, 0, "t"], [7868, 0, "e"], [7869, 0, "d"], [7870, 0, "-"], [7871, 0, "o"], [7872, 0, "t"], [7873, 0, "h"], [7874, 0, "e"], [7875, 0, "r"], [7876, 0, "}"], [7877, 0, "\n"], [7878, 0, "\n"], [7879, 0, "M"], [7880, 0, "a"], [7881, 0, "n"], [7882, 0, "y"], [7883, 0, " "], [7884, 0, "r"], [7885, 0, "e"], [7886, 0, "p"], [7887, 0, "l"], [7888, 0, "i"], [7889, 0, "c"], [7890, 0, "a"], [7891, 0, "t"], [7892, 0, "e"], [7893, 0, "d"], [7894, 0, " "], [7895, 0, "d"], [7896, 0, "a"], [7897, 0, "t"], [7898, 0, "a"], [7899, 0, " "], [7900, 0, "s"], [7901, 0, "y"], [7902, 0, "s"], [7903, 0, "t"], [7904, 0, "e"], [7905, 0, "m"], [7906, 0, "s"], [7907, 0, " "], [7908, 0, "n"], [7909, 0, "e"], [7910, 0, "e"], [7911, 0, "d"], [7912, 0, " "], [7913, 0, "t"], [7914, 0, "o"], [7915, 0, " "], [7916, 0, "d"], [7917, 0, "e"], [7918, 0, "a"], [7919, 0, "l"], [7920, 0, " "], [7921, 0, "w"], [7922, 0, "i"], [7923, 0, "t"], [7924, 0, "h"], [7925, 0, " "], [7926, 0, "t"], [7927, 0, "h"], [7928, 0, "e"], [7929, 0, " "], [7930, 0, "p"], [7931, 0, "r"], [7932, 0, "o"], [7933, 0, "b"], [7934, 0, "l"], [7935, 0, "e"], [7936, 0, "m"], [7937, 0, " "], [7938, 0, "o"], [7939, 0, "f"], [7940, 0, " "], [7941, 0, "c"], [7942, 0, "o"], [7943, 0, "n"], [7944, 0, "c"], [7945, 0, "u"], [7946, 0, "r"], [7947, 0, "r"], [7948, 0, "e"], [7949, 0, "n"], [7950, 0, "t"], [7951, 0, ","], [7952, 0, " "], [7953, 0, "c"], [7954, 0, "o"], [7955, 0, "n"], [7956, 0, "f"], [7957, 0, "l"], [7958, 0, "i"], [7959, 0, "c"], [7960, 0, "t"], [7961, 0, "i"], [7962, 0, "n"], [7963, 0, "g"], [7964, 0, " "], [7965, 0, "m"], [7966, 0, "o"], [7967, 0, "d"], [7968, 0, "i"], [7969, 0, "f"], [7970, 0, "i"], [7971, 0, "c"], [7972, 0, "a"], [7973, 0, "t"], [7974, 0, "i"], [7975, 0, "o"], [7976, 0, "n"], [7977, 0, "s"], [7978, 0, ","], [7979, 0, " "], [7980, 0, "b"], [7981, 0, "u"], [7982, 0, "t"], [7983, 0, " "], [7984, 0, "t"], [7985, 0, "h"], [7986, 0, "e"], [7987, 0, " "], [7988, 0, "s"], [7989, 0, "o"], [7990, 0, "l"], [7991, 0, "u"], [7992, 0, "t"], [7993, 0, "i"], [7994, 0, "o"], [7995, 0, "n"], [7996, 0, "s"], [7997, 0, " "], [7998, 0, "a"], [7999, 0, "r"], [8000, 0, "e"], [8001, 0, " "], [8002, 0, "o"], [8003, 0, "f"], [8004, 0, "t"], [8005, 0, "e"], [8006, 0, "n"], [8007, 0, " "], [8008, 0, "a"], [8009, 0, "d"], [8010, 0, "-"], [8011, 0, "h"], [8012, 0, "o"], [8013, 0, "c"], [8014, 0, "."], [8015, 0, " "], [8016, 0, "F"], [8017, 0, "o"], [8018, 0, "r"], [8019, 0, " "], [8020, 0, "e"], [8021, 0, "x"], [8022, 0, "a"], [8023, 0, "m"], [8024, 0, "p"], [8025, 0, "l"], [8026, 0, "e"], [8027, 0, ","], [8028, 0, " "], [8029, 0, "i"], [8030, 0, "n"], [8031, 0, " "], [8032, 0, "D"], [8033, 0, "y"], [8034, 0, "n"], [8035, 0, "a"], [8036, 0, "m"], [8037, 0, "o"], [8038, 0, "~"], [8039, 0, "\\"], [8040, 0, "c"], [8041, 0, "i"], [8042, 0, "t"], [8043, 0, "e"], [8044, 0, "{"], [8045, 0, "D"], [8046, 0, "e"], [8047, 0, "C"], [8048, 0, "a"], [8049, 0, "n"], [8050, 0, "d"], [8051, 0, "i"], [8052, 0, "a"], [8053, 0, ":"], [8054, 0, "2"], [8055, 0, "0"], [8056, 0, "0"], [8057, 0, "7"], [8058, 0, "u"], [8059, 0, "i"], [8060, 0, "}"], [8061, 0, ","], [8062, 0, " "], [8063, 0, "i"], [8064, 0, "f"], [8065, 0, " "], [8066, 0, "s"], [8067, 0, "e"], [8068, 0, "v"], [8069, 0, "e"], [8070, 0, "r"], [8071, 0, "a"], [8072, 0, "l"], [8073, 0, " "], [8074, 0, "v"], [8075, 0, "a"], [8076, 0, "l"], [8077, 0, "u"], [8078, 0, "e"], [8079, 0, "s"], [8080, 0, " "], [8081, 0, "a"], [8082, 0, "r"], [8083, 0, "e"], [8084, 0, " "], [8085, 0, "c"], [8086, 0, "o"], [8087, 0, "n"], [8088, 0, "c"], [8089, 0, "u"], [8090, 0, "r"], [8091, 0, "r"], [8092, 0, "e"], [8093, 0, "n"], [8094, 0, "t"], [8095, 0, "l"], [8096, 0, "y"], [8097, 0, " "], [8098, 0, "w"], [8099, 0, "r"], [8100, 0, "i"], [8101, 0, "t"], [8102, 0, "t"], [8103, 0, "e"], [8104, 0, "n"], [8105, 0, " "], [8106, 0, "t"], [8107, 0, "o"], [8108, 0, " "], [8109, 0, "t"], [8110, 0, "h"], [8111, 0, "e"], [8112, 0, " "], [8113, 0, "s"], [8114, 0, "a"], [8115, 0, "m"], [8116, 0, "e"], [8117, 0, " "], [8118, 0, "k"], [8119, 0, "e"], [8120, 0, "y"], [8121, 0, ","], [8122, 0, " "], [8123, 0, "t"], [8124, 0, "h"], [8125, 0, "e"], [8126, 0, " "], [8127, 0, "d"], [8128, 0, "a"], [8129, 0, "t"], [8130, 0, "a"], [8131, 0, "b"], [8132, 0, "a"], [8133, 0, "s"], [8134, 0, "e"], [8135, 0, " "], [8136, 0, "p"], [8137, 0, "r"], [8138, 0, "e"], [8139, 0, "s"], [8140, 0, "e"], [8141, 0, "r"], [8142, 0, "v"], [8143, 0, "e"], [8144, 0, "s"], [8145, 0, " "], [8146, 0, "a"], [8147, 0, "l"], [8148, 0, "l"], [8149, 0, " "], [8150, 0, "o"], [8151, 0, "f"], [8152, 0, " "], [8153, 0, "t"], [8154, 0, "h"], [8155, 0, "e"], [8156, 0, "s"], [8157, 0, "e"], [8158, 0, " "], [8159, 0, "v"], [8160, 0, "a"], [8161, 0, "l"], [8162, 0, "u"], [8163, 0, "e"], [8164, 0, "s"], [8165, 0, ","], [8166, 0, " "], [8167, 0, "a"], [8168, 0, "n"], [8169, 0, "d"], [8170, 0, " "], [8171, 0, "l"], [8172, 0, "e"], [8173, 0, "a"], [8174, 0, "v"], [8175, 0, "e"], [8176, 0, "s"], [8177, 0, " "], [8178, 0, "c"], [8179, 0, "o"], [8180, 0, "n"], [8181, 0, "f"], [8182, 0, "l"], [8183, 0, "i"], [8184, 0, "c"], [8185, 0, "t"], [8186, 0, " "], [8187, 0, "r"], [8188, 0, "e"], [8189, 0, "s"], [8190, 0, "o"], [8191, 0, "l"], [8192, 0, "u"], [8193, 0, "t"], [8194, 0, "i"], [8195, 0, "o"], [8196, 0, "n"], [8197, 0, " "], [8198, 0, "t"], [8199, 0, "o"], [8200, 0, " "], [8201, 0, "a"], [8202, 0, "p"], [8203, 0, "p"], [8204, 0, "l"], [8205, 0, "i"], [8206, 0, "c"], [8207, 0, "a"], [8208, 0, "t"], [8209, 0, "i"], [8210, 0, "o"], [8211, 0, "n"], [8212, 0, " "], [8213, 0, "c"], [8214, 0, "o"], [8215, 0, "d"], [8216, 0, "e"], [8217, 0, "."], [8218, 0, " "], [8219, 0, "N"], [8220, 0, "a"], [8221, 0, "i"], [8222, 0, "v"], [8223, 0, "e"], [8224, 0, "l"], [8225, 0, "y"], [8226, 0, " "], [8227, 0, "c"], [8228, 0, "h"], [8229, 0, "o"], [8230, 0, "s"], [8231, 0, "e"], [8232, 0, "n"], [8233, 0, " "], [8234, 0, "m"], [8235, 0, "e"], [8236, 0, "r"], [8237, 0, "g"], [8238, 0, "e"], [8239, 0, " "], [8240, 0, "f"], [8241, 0, "u"], [8242, 0, "n"], [8243, 0, "c"], [8244, 0, "t"], [8245, 0, "i"], [8246, 0, "o"], [8247, 0, "n"], [8248, 0, "s"], [8249, 0, " "], [8250, 0, "o"], [8251, 0, "f"], [8252, 0, "t"], [8253, 0, "e"], [8254, 0, "n"], [8255, 0, " "], [8256, 0, "e"], [8257, 0, "x"], [8258, 0, "h"], [8259, 0, "i"], [8260, 0, "b"], [8261, 0, "i"], [8262, 0, "t"], [8263, 0, " "], [8264, 0, "a"], [8265, 0, "n"], [8266, 0, "o"], [8267, 0, "m"], [8268, 0, "a"], [8269, 0, "l"], [8270, 0, "i"], [8271, 0, "e"], [8272, 0, "s"], [8273, 0, " "], [8274, 0, "s"], [8275, 0, "u"], [8276, 0, "c"], [8277, 0, "h"], [8278, 0, " "], [8279, 0, "a"], [8280, 0, "s"], [8281, 0, " "], [8282, 0, "t"], [8283, 0, "h"], [8284, 0, "e"], [8285, 0, " "], [8285, 1], [8284, 1], [8283, 1], [8282, 1], [8282, 0, "d"], [8283, 0, "e"], [8284, 0, "l"], [8285, 0, "e"], [8286, 0, "t"], [8287, 0, "e"], [8288, 0, "d"], [8289, 0, " "], [8290, 0, "i"], [8291, 0, "t"], [8292, 0, "e"], [8293, 0, "m"], [8294, 0, "s"], [8295, 0, " "], [8296, 0, "r"], [8297, 0, "e"], [8298, 0, "a"], [8299, 0, "p"], [8300, 0, "p"], [8301, 0, "e"], [8302, 0, "a"], [8303, 0, "r"], [8304, 0, "i"], [8305, 0, "n"], [8306, 0, "g"], [8307, 0, "~"], [8308, 0, "\\"], [8309, 0, "c"], [8310, 0, "i"], [8311, 0, "t"], [8312, 0, "e"], [8313, 0, "{"], [8314, 0, "D"], [8315, 0, "e"], [8316, 0, "C"], [8317, 0, "a"], [8318, 0, "n"], [8319, 0, "d"], [8320, 0, "i"], [8321, 0, "a"], [8322, 0, ":"], [8323, 0, "2"], [8324, 0, "0"], [8325, 0, "0"], [8326, 0, "7"], [8327, 0, "u"], [8328, 0, "i"], [8329, 0, "}"], [8330, 0, "."], [8331, 0, " "], [8332, 0, "A"], [8333, 0, "s"], [8334, 0, " "], [8335, 0, "t"], [8336, 0, "h"], [8337, 0, "e"], [8338, 0, " "], [8339, 0, "c"], [8340, 0, "o"], [8341, 0, "m"], [8342, 0, "p"], [8343, 0, "l"], [8344, 0, "e"], [8345, 0, "x"], [8346, 0, "i"], [8347, 0, "t"], [8348, 0, "y"], [8349, 0, " "], [8350, 0, "o"], [8351, 0, "f"], [8352, 0, " "], [8353, 0, "t"], [8354, 0, "h"], [8355, 0, "i"], [8356, 0, "s"], [8357, 0, " "], [8358, 0, "p"], [8359, 0, "a"], [8360, 0, "p"], [8361, 0, "e"], [8362, 0, "r"], [8363, 0, " "], [8364, 0, "d"], [8365, 0, "e"], [8366, 0, "m"], [8367, 0, "o"], [8368, 0, "n"], [8369, 0, "s"], [8370, 0, "t"], [8371, 0, "r"], [8372, 0, "a"], [8373, 0, "t"], [8374, 0, "e"], [8375, 0, "s"], [8376, 0, ","], [8377, 0, " "], [8378, 0, "c"], [8379, 0, "o"], [8380, 0, "n"], [8381, 0, "f"], [8382, 0, "l"], [8383, 0, "c"], [8384, 0, "i"], [8385, 0, "t"], [8386, 0, " "], [8387, 0, "r"], [8388, 0, "e"], [8389, 0, "s"], [8390, 0, "o"], [8391, 0, "l"], [8392, 0, "u"], [8393, 0, "t"], [8394, 0, "i"], [8395, 0, "o"], [8396, 0, "n"], [8397, 0, " "], [8398, 0, "i"], [8399, 0, "s"], [8400, 0, " "], [8401, 0, "n"], [8402, 0, "o"], [8403, 0, "t"], [8404, 0, " "], [8405, 0, "a"], [8406, 0, " "], [8407, 0, "s"], [8408, 0, "i"], [8409, 0, "m"], [8410, 0, "p"], [8411, 0, "l"], [8412, 0, "e"], [8413, 0, " "], [8414, 0, "m"], [8415, 0, "a"], [8416, 0, "t"], [8417, 0, "t"], [8418, 0, "e"], [8419, 0, "r"], [8420, 0, " "], [8421, 0, "t"], [8422, 0, "h"], [8423, 0, "a"], [8424, 0, "n"], [8425, 0, " "], [8425, 1], [8424, 1], [8424, 0, "t"], [8425, 0, " "], [8426, 0, "c"], [8427, 0, "a"], [8428, 0, "n"], [8429, 0, " "], [8430, 0, "r"], [8431, 0, "e"], [8432, 0, "a"], [8433, 0, "s"], [8434, 0, "o"], [8435, 0, "n"], [8436, 0, "a"], [8437, 0, "b"], [8438, 0, "l"], [8439, 0, "y"], [8440, 0, " "], [8441, 0, "b"], [8442, 0, "e"], [8443, 0, " "], [8444, 0, "l"], [8445, 0, "e"], [8446, 0, "f"], [8447, 0, "t"], [8448, 0, " "], [8449, 0, "t"], [8450, 0, "o"], [8451, 0, " "], [8452, 0, "a"], [8453, 0, "p"], [8454, 0, "p"], [8455, 0, "l"], [8456, 0, "i"], [8457, 0, "c"], [8458, 0, "a"], [8459, 0, "t"], [8460, 0, "i"], [8461, 0, "o"], [8462, 0, "n"], [8463, 0, " "], [8464, 0, "p"], [8465, 0, "r"], [8466, 0, "o"], [8467, 0, "g"], [8468, 0, "r"], [8469, 0, "a"], [8470, 0, "m"], [8471, 0, "m"], [8472, 0, "e"], [8473, 0, "r"], [8474, 0, "s"], [8475, 0, "."], [8476, 0, "\n"], [8477, 0, "\n"], [8478, 0, "A"], [8479, 0, "n"], [8480, 0, "o"], [8481, 0, "t"], [8482, 0, "h"], [8483, 0, "e"], [8484, 0, "r"], [8485, 0, " "], [8486, 0, "f"], [8487, 0, "r"], [8488, 0, "e"], [8489, 0, "q"], [8490, 0, "u"], [8491, 0, "e"], [8492, 0, "n"], [8493, 0, "t"], [8494, 0, "l"], [8495, 0, "y"], [8496, 0, "-"], [8497, 0, "u"], [8498, 0, "s"], [8499, 0, "e"], [8500, 0, "d"], [8501, 0, " "], [8502, 0, "a"], [8503, 0, "p"], [8504, 0, "p"], [8505, 0, "r"], [8506, 0, "o"], [8507, 0, "a"], [8508, 0, "c"], [8509, 0, "h"], [8510, 0, " "], [8511, 0, "t"], [8512, 0, "o"], [8513, 0, " "], [8514, 0, "c"], [8515, 0, "o"], [8516, 0, "n"], [8517, 0, "f"], [8518, 0, "l"], [8519, 0, "i"], [8520, 0, "c"], [8521, 0, "t"], [8522, 0, " "], [8523, 0, "r"], [8524, 0, "e"], [8525, 0, "s"], [8526, 0, "o"], [8527, 0, "l"], [8528, 0, "u"], [8529, 0, "t"], [8530, 0, "i"], [8531, 0, "o"], [8532, 0, "n"], [8533, 0, " "], [8534, 0, "i"], [8535, 0, "s"], [8536, 0, " "], [8537, 0, "\\"], [8538, 0, "e"], [8539, 0, "m"], [8540, 0, "p"], [8541, 0, "h"], [8542, 0, "{"], [8543, 0, "l"], [8544, 0, "a"], [8545, 0, "s"], [8546, 0, "t"], [8547, 0, " "], [8548, 0, "w"], [8549, 0, "r"], [8550, 0, "i"], [8551, 0, "t"], [8552, 0, "e"], [8553, 0, "r"], [8554, 0, " "], [8555, 0, "w"], [8556, 0, "i"], [8557, 0, "n"], [8558, 0, "s"], [8559, 0, "}"], [8560, 0, " "], [8561, 0, "("], [8562, 0, "L"], [8563, 0, "W"], [8564, 0, "W"], [8565, 0, ")"], [8566, 0, ","], [8567, 0, " "], [8568, 0, "w"], [8569, 0, "h"], [8570, 0, "i"], [8571, 0, "c"], [8572, 0, "h"], [8573, 0, " "], [8574, 0, "a"], [8575, 0, "r"], [8576, 0, "b"], [8577, 0, "i"], [8578, 0, "t"], [8579, 0, "r"], [8580, 0, "a"], [8581, 0, "r"], [8582, 0, "i"], [8583, 0, "l"], [8584, 0, "y"], [8585, 0, " "], [8586, 0, "c"], [8587, 0, "h"], [8588, 0, "o"], [8589, 0, "o"], [8590, 0, "s"], [8591, 0, "e"], [8592, 0, "s"], [8593, 0, " "], [8594, 0, "o"], [8595, 0, "n"], [8596, 0, "e"], [8597, 0, " "], [8598, 0, "a"], [8599, 0, "m"], [8600, 0, "o"], [8601, 0, "n"], [8602, 0, "g"], [8603, 0, " "], [8604, 0, "s"], [8605, 0, "e"], [8606, 0, "v"], [8607, 0, "e"], [8608, 0, "r"], [8609, 0, "a"], [8610, 0, "l"], [8611, 0, " "], [8612, 0, "c"], [8613, 0, "o"], [8614, 0, "n"], [8615, 0, "c"], [8616, 0, "u"], [8617, 0, "r"], [8618, 0, "r"], [8619, 0, "e"], [8620, 0, "n"], [8621, 0, "t"], [8622, 0, " "], [8623, 0, "w"], [8624, 0, "r"], [8625, 0, "i"], [8626, 0, "t"], [8627, 0, "e"], [8628, 0, "s"], [8629, 0, " "], [8630, 0, "a"], [8631, 0, "s"], [8632, 0, " "], [8633, 0, "`"], [8634, 0, "`"], [8635, 0, "w"], [8636, 0, "i"], [8637, 0, "n"], [8638, 0, "n"], [8639, 0, "e"], [8640, 0, "r"], [8641, 0, "'"], [8642, 0, "'"], [8643, 0, " "], [8644, 0, "a"], [8645, 0, "n"], [8646, 0, "d"], [8647, 0, " "], [8648, 0, "d"], [8649, 0, "i"], [8650, 0, "s"], [8651, 0, "c"], [8652, 0, "a"], [8653, 0, "r"], [8654, 0, "d"], [8655, 0, "s"], [8656, 0, " "], [8657, 0, "t"], [8658, 0, "h"], [8659, 0, "e"], [8660, 0, " "], [8661, 0, "o"], [8662, 0, "t"], [8663, 0, "h"], [8664, 0, "e"], [8665, 0, "r"], [8666, 0, "s"], [8667, 0, "."], [8668, 0, " "], [8669, 0, "T"], [8670, 0, "h"], [8671, 0, "i"], [8672, 0, "s"], [8673, 0, " "], [8674, 0, "a"], [8675, 0, "p"], [8676, 0, "p"], [8677, 0, "r"], [8678, 0, "o"], [8679, 0, "a"], [8680, 0, "c"], [8681, 0, "h"], [8682, 0, " "], [8683, 0, "i"], [8684, 0, "s"], [8685, 0, " "], [8686, 0, "u"], [8687, 0, "s"], [8688, 0, "e"], [8689, 0, "d"], [8690, 0, " "], [8691, 0, "i"], [8692, 0, "n"], [8693, 0, " "], [8694, 0, "A"], [8695, 0, "p"], [8696, 0, "a"], [8697, 0, "c"], [8698, 0, "h"], [8699, 0, "e"], [8700, 0, " "], [8701, 0, "C"], [8702, 0, "a"], [8703, 0, "s"], [8704, 0, "s"], [8705, 0, "a"], [8706, 0, "n"], [8707, 0, "d"], [8708, 0, "r"], [8709, 0, "a"], [8710, 0, ","], [8711, 0, " "], [8712, 0, "a"], [8713, 0, "n"], [8714, 0, "d"], [8715, 0, " "], [8716, 0, "i"], [8717, 0, "t"], [8718, 0, " "], [8719, 0, "i"], [8720, 0, "s"], [8721, 0, " "], [8722, 0, "a"], [8723, 0, "n"], [8724, 0, " "], [8725, 0, "o"], [8726, 0, "p"], [8727, 0, "e"], [8727, 1], [8727, 0, "t"], [8728, 0, "i"], [8729, 0, "o"], [8730, 0, "n"], [8731, 0, " "], [8732, 0, "i"], [8733, 0, "n"], [8734, 0, " "], [8735, 0, "m"], [8736, 0, "a"], [8737, 0, "n"], [8738, 0, "y"], [8739, 0, " "], [8740, 0, "o"], [8741, 0, "t"], [8742, 0, "h"], [8743, 0, "e"], [8744, 0, "r"], [8745, 0, " "], [8746, 0, "s"], [8747, 0, "y"], [8748, 0, "s"], [8749, 0, "t"], [8750, 0, "e"], [8751, 0, "m"], [8752, 0, "s"], [8753, 0, " "], [8754, 0, "i"], [8755, 0, "n"], [8756, 0, "c"], [8757, 0, "l"], [8758, 0, "u"], [8759, 0, "d"], [8760, 0, "i"], [8761, 0, "n"], [8762, 0, "g"], [8763, 0, " "], [8764, 0, "R"], [8765, 0, "i"], [8766, 0, "a"], [8767, 0, "k"], [8768, 0, " "], [8769, 0, "a"], [8770, 0, "n"], [8771, 0, "d"], [8772, 0, " "], [8773, 0, "C"], [8774, 0, "o"], [8775, 0, "u"], [8776, 0, "c"], [8777, 0, "h"], [8778, 0, "D"], [8779, 0, "B"], [8780, 0, "."], [8781, 0, " "], [8782, 0, "L"], [8783, 0, "W"], [8784, 0, "W"], [8785, 0, "W"], [8785, 1], [8785, 0, " "], [8786, 0, "d"], [8787, 0, "o"], [8788, 0, "e"], [8789, 0, "s"], [8790, 0, " "], [8791, 0, "n"], [8792, 0, "o"], [8793, 0, "t"], [8794, 0, " "], [8795, 0, "m"], [8796, 0, "e"], [8797, 0, "e"], [8798, 0, "t"], [8799, 0, " "], [8800, 0, "o"], [8801, 0, "u"], [8802, 0, "r"], [8803, 0, " "], [8804, 0, "r"], [8805, 0, "e"], [8806, 0, "q"], [8807, 0, "u"], [8808, 0, "i"], [8809, 0, "r"], [8810, 0, "e"], [8811, 0, "m"], [8812, 0, "e"], [8813, 0, "n"], [8814, 0, "t"], [8815, 0, "s"], [8816, 0, ","], [8817, 0, " "], [8818, 0, "s"], [8819, 0, "i"], [8820, 0, "n"], [8821, 0, "c"], [8822, 0, "e"], [8823, 0, " "], [8824, 0, "w"], [8825, 0, "e"], [8826, 0, " "], [8827, 0, "w"], [8828, 0, "a"], [8829, 0, "n"], [8830, 0, "t"], [8831, 0, " "], [8832, 0, "n"], [8833, 0, "o"], [8834, 0, " "], [8835, 0, "u"], [8836, 0, "s"], [8837, 0, "e"], [8838, 0, "r"], [8839, 0, " "], [8840, 0, "i"], [8841, 0, "n"], [8842, 0, "p"], [8843, 0, "u"], [8844, 0, "t"], [8845, 0, " "], [8846, 0, "t"], [8847, 0, "o"], [8848, 0, " "], [8849, 0, "b"], [8850, 0, "e"], [8851, 0, " "], [8852, 0, "l"], [8853, 0, "o"], [8854, 0, "s"], [8855, 0, "t"], [8856, 0, " "], [8857, 0, "d"], [8858, 0, "u"], [8859, 0, "e"], [8860, 0, " "], [8861, 0, "t"], [8862, 0, "o"], [8863, 0, " "], [8864, 0, "c"], [8865, 0, "o"], [8866, 0, "n"], [8867, 0, "c"], [8868, 0, "u"], [8869, 0, "r"], [8870, 0, "r"], [8871, 0, "e"], [8872, 0, "n"], [8873, 0, "t"], [8874, 0, " "], [8875, 0, "m"], [8876, 0, "o"], [8877, 0, "d"], [8878, 0, "i"], [8879, 0, "f"], [8880, 0, "i"], [8881, 0, "c"], [8882, 0, "a"], [8883, 0, "t"], [8884, 0, "i"], [8885, 0, "o"], [8886, 0, "n"], [8887, 0, "s"], [8888, 0, "."], [8889, 0, "\n"], [8890, 0, "\n"], [8891, 0, "F"], [8892, 0, "i"], [8893, 0, "n"], [8894, 0, "a"], [8895, 0, "l"], [8896, 0, "l"], [8897, 0, "y"], [8898, 0, ","], [8899, 0, " "], [8900, 0, "s"], [8901, 0, "y"], [8902, 0, "s"], [8903, 0, "t"], [8904, 0, "e"], [8905, 0, "m"], [8906, 0, "s"], [8907, 0, " "], [8908, 0, "s"], [8909, 0, "u"], [8910, 0, "c"], [8911, 0, "h"], [8912, 0, " "], [8913, 0, "a"], [8914, 0, "s"], [8915, 0, " "], [8916, 0, "B"], [8917, 0, "a"], [8918, 0, "y"], [8919, 0, "o"], [8920, 0, "u"], [8921, 0, "~"], [8922, 0, "\\"], [8923, 0, "c"], [8924, 0, "i"], [8925, 0, "t"], [8926, 0, "e"], [8927, 0, "{"], [8928, 0, "T"], [8929, 0, "e"], [8930, 0, "r"], [8931, 0, "r"], [8932, 0, "y"], [8933, 0, ":"], [8934, 0, "1"], [8935, 0, "0"], [8935, 1], [8935, 0, "9"], [8936, 0, "9"], [8937, 0, "5"], [8938, 0, "d"], [8939, 0, "n"], [8940, 0, "}"], [8941, 0, " "], [8942, 0, "a"], [8943, 0, "l"], [8944, 0, "l"], [8945, 0, "o"], [8946, 0, "w"], [8947, 0, " "], [8948, 0, "o"], [8949, 0, "f"], [8950, 0, "f"], [8951, 0, "l"], [8952, 0, "i"], [8953, 0, "n"], [8954, 0, "e"], [8955, 0, " "], [8956, 0, "n"], [8957, 0, "o"], [8958, 0, "d"], [8959, 0, "e"], [8960, 0, "s"], [8961, 0, " "], [8962, 0, "t"], [8963, 0, "o"], [8964, 0, " "], [8965, 0, "e"], [8966, 0, "x"], [8967, 0, "e"], [8968, 0, "c"], [8969, 0, "u"], [8970, 0, "t"], [8971, 0, "e"], [8972, 0, " "], [8973, 0, "t"], [8974, 0, "r"], [8975, 0, "a"], [8976, 0, "n"], [8977, 0, "s"], [8978, 0, "a"], [8979, 0, "c"], [8980, 0, "t"], [8981, 0, "i"], [8982, 0, "o"], [8983, 0, "n"], [8984, 0, "s"], [8985, 0, " "], [8986, 0, "t"], [8987, 0, "e"], [8988, 0, "n"], [8989, 0, "t"], [8990, 0, "a"], [8991, 0, "t"], [8992, 0, "i"], [8993, 0, "v"], [8994, 0, "e"], [8995, 0, "l"], [8996, 0, "y"], [8997, 0, ","], [8998, 0, " "], [8999, 0, "a"], [9000, 0, "n"], [9001, 0, "d"], [9002, 0, " "], [9003, 0, " "], [9004, 0, "o"], [9005, 0, "n"], [9005, 1], [9004, 1], [9003, 1], [9003, 0, "c"], [9004, 0, "o"], [9005, 0, "n"], [9006, 0, "f"], [9007, 0, "i"], [9008, 0, "r"], [9009, 0, "m"], [9010, 0, " "], [9011, 0, "t"], [9012, 0, "h"], [9013, 0, "e"], [9014, 0, "m"], [9015, 0, " "], [9016, 0, "w"], [9017, 0, "h"], [9018, 0, "e"], [9019, 0, "n"], [9020, 0, " "], [9021, 0, "t"], [9022, 0, "h"], [9023, 0, "e"], [9024, 0, "y"], [9025, 0, " "], [9026, 0, "a"], [9027, 0, "r"], [9028, 0, "e"], [9029, 0, " "], [9030, 0, "n"], [9031, 0, "e"], [9032, 0, "x"], [9033, 0, "t"], [9034, 0, " "], [9035, 0, "o"], [9036, 0, "n"], [9037, 0, "l"], [9038, 0, "i"], [9039, 0, "n"], [9040, 0, "e"], [9041, 0, "."], [9042, 0, " "], [9043, 0, "T"], [9044, 0, "h"], [9045, 0, "i"], [9046, 0, "s"], [9047, 0, " "], [9048, 0, "a"], [9049, 0, "p"], [9050, 0, "p"], [9051, 0, "r"], [9052, 0, "o"], [9053, 0, "a"], [9054, 0, "c"], [9055, 0, "h"], [9056, 0, " "], [9057, 0, "r"], [9058, 0, "e"], [9059, 0, "l"], [9060, 0, "i"], [9061, 0, "e"], [9062, 0, "s"], [9063, 0, " "], [9064, 0, "o"], [9065, 0, "n"], [9066, 0, " "], [9067, 0, "a"], [9068, 0, "l"], [9069, 0, "l"], [9070, 0, " "], [9071, 0, "s"], [9072, 0, "e"], [9073, 0, "r"], [9074, 0, "v"], [9075, 0, "e"], [9076, 0, "r"], [9077, 0, "s"], [9078, 0, " "], [9079, 0, "e"], [9080, 0, "x"], [9081, 0, "e"], [9082, 0, "c"], [9083, 0, "u"], [9084, 0, "t"], [9085, 0, "i"], [9086, 0, "n"], [9087, 0, "g"], [9088, 0, " "], [9089, 0, "t"], [9090, 0, "r"], [9091, 0, "a"], [9092, 0, "n"], [9093, 0, "s"], [9094, 0, "a"], [9095, 0, "c"], [9096, 0, "t"], [9097, 0, "i"], [9098, 0, "o"], [9099, 0, "n"], [9100, 0, "s"], [9101, 0, " "], [9102, 0, "i"], [9103, 0, "n"], [9104, 0, " "], [9105, 0, "t"], [9106, 0, "h"], [9107, 0, "e"], [9108, 0, " "], [9109, 0, "s"], [9110, 0, "a"], [9111, 0, "m"], [9112, 0, "e"], [9113, 0, " "], [9114, 0, "s"], [9115, 0, "e"], [9116, 0, "r"], [9117, 0, "i"], [9118, 0, "a"], [9119, 0, "l"], [9120, 0, " "], [9121, 0, "o"], [9122, 0, "r"], [9123, 0, "d"], [9124, 0, "e"], [9125, 0, "r"], [9126, 0, ","], [9127, 0, " "], [9128, 0, "a"], [9129, 0, "n"], [9130, 0, "d"], [9131, 0, " "], [9132, 0, "d"], [9133, 0, "e"], [9134, 0, "c"], [9135, 0, "i"], [9136, 0, "d"], [9137, 0, "i"], [9138, 0, "n"], [9139, 0, "g"], [9140, 0, " "], [9141, 0, "w"], [9142, 0, "h"], [9143, 0, "e"], [9144, 0, "t"], [9145, 0, "h"], [9146, 0, "e"], [9147, 0, "r"], [9148, 0, " "], [9149, 0, "a"], [9150, 0, " "], [9151, 0, "t"], [9152, 0, "r"], [9153, 0, "a"], [9154, 0, "n"], [9155, 0, "s"], [9156, 0, "a"], [9157, 0, "c"], [9158, 0, "t"], [9159, 0, "i"], [9160, 0, "o"], [9161, 0, "n"], [9162, 0, " "], [9163, 0, "w"], [9164, 0, "a"], [9165, 0, "n"], [9165, 1], [9165, 0, "s"], [9166, 0, " "], [9167, 0, "s"], [9168, 0, "u"], [9169, 0, "c"], [9170, 0, "c"], [9171, 0, "e"], [9172, 0, "s"], [9173, 0, "s"], [9174, 0, "f"], [9175, 0, "u"], [9176, 0, "l"], [9177, 0, " "], [9178, 0, "d"], [9179, 0, "e"], [9180, 0, "p"], [9181, 0, "e"], [9182, 0, "n"], [9183, 0, "d"], [9184, 0, "i"], [9185, 0, "n"], [9186, 0, "g"], [9187, 0, " "], [9188, 0, "o"], [9189, 0, "n"], [9190, 0, " "], [9191, 0, "i"], [9192, 0, "t"], [9193, 0, "s"], [9194, 0, " "], [9195, 0, "p"], [9196, 0, "r"], [9197, 0, "e"], [9198, 0, "c"], [9199, 0, "o"], [9200, 0, "n"], [9201, 0, "d"], [9202, 0, "i"], [9203, 0, "t"], [9204, 0, "i"], [9205, 0, "o"], [9206, 0, "n"], [9207, 0, "s"], [9208, 0, "."], [9209, 0, " "], [9210, 0, "A"], [9211, 0, "s"], [9212, 0, " "], [9213, 0, "d"], [9214, 0, "i"], [9215, 0, "s"], [9216, 0, "c"], [9217, 0, "u"], [9218, 0, "s"], [9219, 0, "s"], [9220, 0, "e"], [9221, 0, "d"], [9222, 0, " "], [9223, 0, "i"], [9224, 0, "n"], [9225, 0, " "], [9226, 0, "s"], [9227, 0, "e"], [9228, 0, "c"], [9229, 0, "t"], [9230, 0, "i"], [9231, 0, "o"], [9232, 0, "n"], [9233, 0, "~"], [9234, 0, "\\"], [9235, 0, "r"], [9236, 0, "e"], [9237, 0, "f"], [9238, 0, "{"], [9239, 0, "s"], [9240, 0, "e"], [9241, 0, "c"], [9242, 0, ":"], [9243, 0, "r"], [9244, 0, "e"], [9245, 0, "l"], [9246, 0, "a"], [9247, 0, "t"], [9248, 0, "e"], [9249, 0, "d"], [9250, 0, "-"], [9251, 0, "o"], [9252, 0, "t"], [9253, 0, "}"], [9254, 0, ","], [9255, 0, " "], [9256, 0, "s"], [9257, 0, "u"], [9258, 0, "c"], [9259, 0, "h"], [9260, 0, " "], [9261, 0, "s"], [9262, 0, "e"], [9263, 0, "r"], [9264, 0, "i"], [9265, 0, "a"], [9266, 0, "l"], [9267, 0, " "], [9268, 0, "o"], [9269, 0, "r"], [9270, 0, "d"], [9271, 0, "e"], [9272, 0, "r"], [9273, 0, "i"], [9274, 0, "n"], [9275, 0, "g"], [9276, 0, " "], [9277, 0, "r"], [9278, 0, "e"], [9279, 0, "q"], [9280, 0, "u"], [9281, 0, "i"], [9282, 0, "r"], [9283, 0, "e"], [9284, 0, "m"], [9285, 0, "e"], [9286, 0, "n"], [9287, 0, "t"], [9288, 0, "s"], [9289, 0, " "], [9290, 0, "a"], [9291, 0, "r"], [9292, 0, "e"], [9293, 0, " "], [9294, 0, "p"], [9295, 0, "r"], [9296, 0, "o"], [9297, 0, "h"], [9298, 0, "i"], [9299, 0, "b"], [9300, 0, "i"], [9301, 0, "t"], [9302, 0, "i"], [9303, 0, "v"], [9304, 0, "e"], [9305, 0, " "], [9306, 0, "i"], [9307, 0, "n"], [9308, 0, " "], [9309, 0, "a"], [9310, 0, " "], [9311, 0, "p"], [9312, 0, "e"], [9313, 0, "e"], [9314, 0, "r"], [9315, 0, "-"], [9316, 0, "t"], [9317, 0, "o"], [9318, 0, "-"], [9319, 0, "p"], [9320, 0, "e"], [9321, 0, "e"], [9322, 0, "r"], [9323, 0, " "], [9324, 0, "s"], [9325, 0, "y"], [9326, 0, "s"], [9327, 0, "t"], [9328, 0, "e"], [9329, 0, "m"], [9330, 0, " "], [9331, 0, "o"], [9332, 0, "f"], [9333, 0, " "], [9334, 0, "m"], [9335, 0, "o"], [9336, 0, "b"], [9337, 0, "i"], [9338, 0, "l"], [9339, 0, "e"], [9340, 0, " "], [9341, 0, "d"], [9342, 0, "e"], [9343, 0, "v"], [9344, 0, "i"], [9345, 0, "c"], [9346, 0, "e"], [9347, 0, "s"], [9348, 0, "."], [9351, 0, "\n"], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [75235, 1], [62368, 0, "\n"], [62369, 0, "\n"], [62370, 0, "\n"], [62371, 0, "\\"], [62372, 0, "s"], [62373, 0, "e"], [62374, 0, "c"], [62375, 0, "t"], [62376, 0, "i"], [62377, 0, "o"], [62378, 0, "n"], [62379, 0, "{"], [62380, 0, "C"], [62381, 0, "o"], [62382, 0, "n"], [62383, 0, "c"], [62384, 0, "l"], [62385, 0, "u"], [62386, 0, "s"], [62387, 0, "i"], [62388, 0, "o"], [62389, 0, "n"], [62390, 0, "}"], [62391, 0, "\n"], [62392, 0, "\n"], [62393, 0, "T"], [62394, 0, "O"], [62395, 0, "D"], [62396, 0, "O"], [62397, 0, " "], [62398, 0, "c"], [62399, 0, "o"], [62400, 0, "n"], [62401, 0, "c"], [62402, 0, "l"], [62403, 0, "u"], [62404, 0, "s"], [62405, 0, "i"], [62406, 0, "o"], [62407, 0, "n"], [62408, 0, "."], [62409, 0, "\n"], [62410, 0, "\n"], [62411, 0, "\n"], [62412, 0, "\\"], [62413, 0, "s"], [62414, 0, "e"], [62415, 0, "c"], [62416, 0, "t"], [62417, 0, "i"], [62418, 0, "o"], [62419, 0, "n"], [62420, 0, "*"], [62421, 0, "{"], [62422, 0, "A"], [62423, 0, "c"], [62424, 0, "k"], [62425, 0, "n"], [62426, 0, "o"], [62427, 0, "w"], [62428, 0, "l"], [62429, 0, "e"], [62430, 0, "d"], [62431, 0, "g"], [62432, 0, "e"], [62433, 0, "m"], [62434, 0, "e"], [62435, 0, "n"], [62436, 0, "t"], [62437, 0, "s"], [62438, 0, "}"], [62439, 0, "\n"], [62440, 0, "\n"], [62441, 0, "T"], [62442, 0, "h"], [62443, 0, "i"], [62444, 0, "s"], [62445, 0, " "], [62446, 0, "r"], [62447, 0, "e"], [62448, 0, "s"], [62449, 0, "e"], [62450, 0, "a"], [62451, 0, "r"], [62452, 0, "c"], [62453, 0, "h"], [62454, 0, " "], [62455, 0, "w"], [62456, 0, "a"], [62457, 0, "s"], [62458, 0, " "], [62459, 0, "s"], [62460, 0, "u"], [62461, 0, "p"], [62462, 0, "p"], [62463, 0, "o"], [62464, 0, "r"], [62465, 0, "t"], [62466, 0, "e"], [62467, 0, "d"], [62468, 0, " "], [62469, 0, "b"], [62470, 0, "y"], [62471, 0, " "], [62472, 0, "a"], [62473, 0, " "], [62474, 0, "g"], [62475, 0, "r"], [62476, 0, "a"], [62477, 0, "n"], [62478, 0, "t"], [62479, 0, " "], [62480, 0, "f"], [62481, 0, "r"], [62482, 0, "o"], [62483, 0, "m"], [62484, 0, " "], [62485, 0, "T"], [62486, 0, "h"], [62487, 0, "e"], [62488, 0, " "], [62489, 0, "B"], [62490, 0, "o"], [62491, 0, "e"], [62492, 0, "i"], [62493, 0, "n"], [62494, 0, "g"], [62495, 0, " "], [62496, 0, "C"], [62497, 0, "o"], [62498, 0, "m"], [62499, 0, "p"], [62500, 0, "a"], [62501, 0, "n"], [62502, 0, "y"], [62503, 0, "."], [62504, 0, "\n"], [62521, 0, "\\"], [62522, 0, "a"], [62523, 0, "p"], [62524, 0, "p"], [62525, 0, "e"], [62526, 0, "n"], [62527, 0, "d"], [62528, 0, "i"], [62529, 0, "c"], [62530, 0, "e"], [62531, 0, "s"], [62532, 0, "\n"], [62533, 0, "\\"], [62534, 0, "s"], [62535, 0, "e"], [62536, 0, "c"], [62537, 0, "t"], [62538, 0, "i"], [62539, 0, "o"], [62540, 0, "n"], [62541, 0, "{"], [62542, 0, "P"], [62543, 0, "r"], [62544, 0, "o"], [62545, 0, "o"], [62546, 0, "f"], [62547, 0, " "], [62548, 0, "o"], [62549, 0, "f"], [62550, 0, " "], [62551, 0, "c"], [62552, 0, "o"], [62553, 0, "n"], [62554, 0, "v"], [62555, 0, "e"], [62556, 0, "r"], [62557, 0, "g"], [62558, 0, "e"], [62559, 0, "n"], [62560, 0, "c"], [62561, 0, "e"], [62562, 0, "}"], [62563, 0, "\n"], [62505, 0, "\n"], [62506, 0, "\\"], [62507, 0, "b"], [62508, 0, "i"], [62509, 0, "b"], [62510, 0, "l"], [62511, 0, "i"], [62512, 0, "o"], [62513, 0, "g"], [62514, 0, "r"], [62515, 0, "a"], [62516, 0, "p"], [62517, 0, "h"], [62518, 0, "y"], [62519, 0, "s"], [62520, 0, "t"], [62521, 0, "y"], [62522, 0, "l"], [62523, 0, "e"], [62524, 0, "{"], [62525, 0, "I"], [62526, 0, "E"], [62527, 0, "E"], [62528, 0, "E"], [62529, 0, "t"], [62530, 0, "r"], [62531, 0, "a"], [62532, 0, "n"], [62533, 0, "}"], [62534, 0, "\n"], [62535, 0, "\\"], [62536, 0, "b"], [62537, 0, "i"], [62538, 0, "b"], [62539, 0, "l"], [62540, 0, "i"], [62541, 0, "o"], [62542, 0, "g"], [62543, 0, "r"], [62544, 0, "a"], [62545, 0, "p"], [62546, 0, "h"], [62547, 0, "y"], [62548, 0, "{"], [62549, 0, "r"], [62550, 0, "e"], [62551, 0, "f"], [62552, 0, "e"], [62553, 0, "r"], [62554, 0, "e"], [62555, 0, "n"], [62556, 0, "c"], [62557, 0, "e"], [62558, 0, "s"], [62559, 0, "}"], [62560, 0, "{"], [62561, 0, "}"], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75472, 1], [75471, 1], [1065, 1], [1064, 1], [1063, 1], [1062, 1], [1062, 0, "M"], [1063, 0, "a"], [1064, 0, "n"], [1065, 0, "y"], [1066, 0, " "], [1067, 0, "a"], [1068, 0, "p"], [1069, 0, "p"], [1070, 0, "l"], [1071, 0, "i"], [1072, 0, "c"], [1073, 0, "a"], [1074, 0, "t"], [1075, 0, "i"], [1076, 0, "o"], [1077, 0, "n"], [1078, 0, "s"], [1079, 0, " "], [1080, 0, "m"], [1081, 0, "o"], [1082, 0, "d"], [1083, 0, "e"], [1084, 0, "l"], [1085, 0, " "], [1086, 0, "t"], [1087, 0, "h"], [1088, 0, "e"], [1089, 0, "i"], [1090, 0, "r"], [1091, 0, " "], [1092, 0, "d"], [1093, 0, "a"], [1094, 0, "t"], [1095, 0, "a"], [1096, 0, " "], [1097, 0, "i"], [1098, 0, "n"], [1099, 0, " "], [1100, 0, "a"], [1101, 0, " "], [1102, 0, "g"], [1103, 0, "e"], [1104, 0, "n"], [1105, 0, "e"], [1106, 0, "r"], [1107, 0, "a"], [1108, 0, "l"], [1109, 0, "-"], [1110, 0, "p"], [1111, 0, "u"], [1112, 0, "r"], [1113, 0, "p"], [1114, 0, "o"], [1115, 0, "s"], [1116, 0, "e"], [1117, 0, " "], [1118, 0, "s"], [1119, 0, "t"], [1120, 0, "o"], [1121, 0, "r"], [1122, 0, "a"], [1123, 0, "g"], [1124, 0, "e"], [1125, 0, " "], [1126, 0, "f"], [1127, 0, "o"], [1128, 0, "r"], [1129, 0, "m"], [1130, 0, "a"], [1131, 0, "t"], [1132, 0, " "], [1133, 0, "s"], [1134, 0, "u"], [1135, 0, "c"], [1136, 0, "h"], [1137, 0, " "], [1138, 0, "a"], [1139, 0, "s"], [1140, 0, " "], [1141, 0, "J"], [1142, 0, "S"], [1143, 0, "O"], [1144, 0, "N"], [1145, 0, "."], [1146, 0, " "], [1147, 0, "F"], [1147, 1], [1147, 0, "T"], [1148, 0, "h"], [1149, 0, "i"], [1150, 0, "s"], [1151, 0, " "], [1152, 0, "d"], [1153, 0, "a"], [1154, 0, "t"], [1155, 0, "a"], [1156, 0, " "], [1157, 0, "s"], [1158, 0, "t"], [1159, 0, "r"], [1160, 0, "u"], [1161, 0, "c"], [1162, 0, "t"], [1163, 0, "u"], [1164, 0, "r"], [1165, 0, "e"], [1166, 0, " "], [1167, 0, "i"], [1168, 0, "s"], [1169, 0, " "], [1170, 0, "m"], [1171, 0, "o"], [1172, 0, "d"], [1173, 0, "i"], [1174, 0, "f"], [1175, 0, "i"], [1176, 0, "e"], [1177, 0, "d"], [1178, 0, " "], [1179, 0, "b"], [1180, 0, "y"], [1181, 0, " "], [1182, 0, "t"], [1183, 0, "h"], [1184, 0, "e"], [1185, 0, " "], [1186, 0, "a"], [1187, 0, "p"], [1188, 0, "p"], [1189, 0, "l"], [1190, 0, "i"], [1191, 0, "c"], [1192, 0, "a"], [1193, 0, "t"], [1194, 0, "i"], [1195, 0, "o"], [1196, 0, "n"], [1197, 0, " "], [1198, 0, "a"], [1199, 0, "s"], [1200, 0, " "], [1201, 0, "a"], [1202, 0, " "], [1203, 0, "r"], [1204, 0, "e"], [1205, 0, "s"], [1206, 0, "u"], [1207, 0, "l"], [1208, 0, "t"], [1209, 0, " "], [1210, 0, "o"], [1211, 0, "f"], [1212, 0, " "], [1213, 0, "u"], [1214, 0, "s"], [1215, 0, "e"], [1216, 0, "r"], [1217, 0, " "], [1218, 0, "i"], [1219, 0, "n"], [1220, 0, "p"], [1221, 0, "u"], [1222, 0, "t"], [1223, 0, "."], [1224, 0, " "], [1225, 0, "S"], [1226, 0, "u"], [1227, 0, "c"], [1228, 0, "h"], [1229, 0, " "], [1230, 0, "m"], [1231, 0, "o"], [1232, 0, "d"], [1233, 0, "i"], [1234, 0, "f"], [1235, 0, "i"], [1236, 0, "c"], [1237, 0, "a"], [1238, 0, "t"], [1239, 0, "i"], [1240, 0, "o"], [1241, 0, "n"], [1242, 0, "s"], [1243, 0, " "], [1244, 0, "a"], [1245, 0, "r"], [1246, 0, "e"], [1247, 0, " "], [1248, 0, "w"], [1249, 0, "e"], [1250, 0, "l"], [1251, 0, "l"], [1252, 0, " "], [1253, 0, "u"], [1254, 0, "n"], [1255, 0, "d"], [1256, 0, "e"], [1257, 0, "r"], [1258, 0, "s"], [1259, 0, "t"], [1260, 0, "o"], [1261, 0, "o"], [1262, 0, "d"], [1263, 0, " "], [1264, 0, "i"], [1265, 0, "f"], [1266, 0, " "], [1267, 0, "t"], [1267, 1], [1267, 0, "p"], [1268, 0, "e"], [1269, 0, "r"], [1270, 0, "f"], [1271, 0, "o"], [1272, 0, "r"], [1273, 0, "m"], [1274, 0, "e"], [1275, 0, "d"], [1276, 0, " "], [1277, 0, "s"], [1278, 0, "e"], [1279, 0, "q"], [1280, 0, "u"], [1281, 0, "e"], [1282, 0, "n"], [1283, 0, "t"], [1284, 0, "i"], [1285, 0, "a"], [1286, 0, "l"], [1287, 0, "l"], [1288, 0, "y"], [1289, 0, " "], [1290, 0, "o"], [1291, 0, "n"], [1292, 0, " "], [1293, 0, "a"], [1294, 0, " "], [1295, 0, "s"], [1296, 0, "i"], [1297, 0, "n"], [1298, 0, "g"], [1299, 0, "l"], [1300, 0, "e"], [1301, 0, " "], [1302, 0, "c"], [1303, 0, "o"], [1304, 0, "p"], [1305, 0, "y"], [1306, 0, " "], [1307, 0, "o"], [1308, 0, "f"], [1309, 0, " "], [1310, 0, "t"], [1311, 0, "h"], [1312, 0, "e"], [1313, 0, " "], [1314, 0, "d"], [1315, 0, "a"], [1316, 0, "t"], [1317, 0, "a"], [1318, 0, ","], [1319, 0, " "], [1320, 0, "b"], [1321, 0, "u"], [1322, 0, "t"], [1323, 0, " "], [1324, 0, "t"], [1325, 0, "h"], [1326, 0, "e"], [1327, 0, " "], [1328, 0, "s"], [1329, 0, "e"], [1330, 0, "m"], [1331, 0, "a"], [1332, 0, "n"], [1333, 0, "t"], [1334, 0, "i"], [1335, 0, "c"], [1336, 0, "s"], [1337, 0, " "], [1338, 0, "a"], [1339, 0, "r"], [1340, 0, "e"], [1341, 0, " "], [1341, 1], [1340, 1], [1339, 1], [1338, 1], [1338, 0, "i"], [1339, 0, "s"], [1340, 0, " "], [1341, 0, "u"], [1342, 0, "n"], [1343, 0, "c"], [1344, 0, "l"], [1345, 0, "e"], [1346, 0, "a"], [1347, 0, "r"], [1348, 0, " "], [1349, 0, "i"], [1350, 0, "f"], [1351, 0, " "], [1352, 0, "d"], [1353, 0, "a"], [1354, 0, "t"], [1354, 1], [1353, 1], [1352, 1], [1352, 0, "t"], [1353, 0, "h"], [1354, 0, "e"], [1355, 0, " "], [1356, 0, "d"], [1357, 0, "a"], [1358, 0, "t"], [1359, 0, "a"], [1360, 0, " "], [1361, 0, "i"], [1362, 0, "s"], [1363, 0, " "], [1364, 0, "r"], [1365, 0, "e"], [1366, 0, "p"], [1367, 0, "l"], [1368, 0, "i"], [1369, 0, "c"], [1370, 0, "a"], [1371, 0, "t"], [1372, 0, "e"], [1373, 0, "d"], [1374, 0, " "], [1375, 0, "o"], [1376, 0, "n"], [1377, 0, " "], [1378, 0, "m"], [1379, 0, "u"], [1380, 0, "l"], [1381, 0, "t"], [1382, 0, "i"], [1383, 0, "p"], [1384, 0, "l"], [1385, 0, "e"], [1386, 0, " "], [1387, 0, "d"], [1388, 0, "e"], [1389, 0, "v"], [1390, 0, "i"], [1391, 0, "c"], [1392, 0, "e"], [1393, 0, "s"], [1394, 0, " "], [1395, 0, "w"], [1396, 0, "h"], [1397, 0, "e"], [1398, 0, "r"], [1399, 0, "e"], [1400, 0, " "], [1401, 0, "i"], [1402, 0, "t"], [1403, 0, " "], [1404, 0, "m"], [1405, 0, "a"], [1406, 0, "y"], [1407, 0, " "], [1408, 0, "b"], [1409, 0, "e"], [1410, 0, " "], [1411, 0, "m"], [1412, 0, "o"], [1413, 0, "d"], [1414, 0, "i"], [1415, 0, "f"], [1416, 0, "i"], [1417, 0, "e"], [1418, 0, "d"], [1419, 0, " "], [1419, 1], [1418, 1], [1417, 1], [1416, 1], [1415, 1], [1414, 1], [1413, 1], [1412, 1], [1411, 1], [1410, 1], [1409, 1], [1408, 1], [1407, 1], [1406, 1], [1405, 1], [1404, 1], [1403, 1], [1402, 1], [1401, 1], [1400, 1], [1399, 1], [1398, 1], [1397, 1], [1396, 1], [1396, 0, "i"], [1396, 1], [1395, 1], [1395, 0, "a"], [1396, 0, "n"], [1397, 0, "d"], [1398, 0, " "], [1399, 0, "m"], [1400, 0, "o"], [1401, 0, "d"], [1402, 0, "i"], [1403, 0, "f"], [1404, 0, "i"], [1405, 0, "e"], [1406, 0, "d"], [1407, 0, " "], [1408, 0, "c"], [1409, 0, "o"], [1410, 0, "n"], [1411, 0, "c"], [1412, 0, "u"], [1413, 0, "r"], [1414, 0, "r"], [1415, 0, "e"], [1416, 0, "n"], [1417, 0, "t"], [1418, 0, "l"], [1419, 0, "y"], [1420, 0, " "], [1421, 0, "o"], [1422, 0, "n"], [1423, 0, " "], [1424, 0, "m"], [1425, 0, "u"], [1426, 0, "l"], [1427, 0, "t"], [1428, 0, "i"], [1429, 0, "p"], [1430, 0, "l"], [1431, 0, "e"], [1432, 0, " "], [1433, 0, "d"], [1434, 0, "e"], [1435, 0, "v"], [1436, 0, "i"], [1437, 0, "c"], [1438, 0, "e"], [1439, 0, "s"], [1440, 0, "."], [1393, 1], [1392, 1], [1391, 1], [1390, 1], [1389, 1], [1388, 1], [1387, 1], [1386, 1], [1385, 1], [1384, 1], [1383, 1], [1382, 1], [1381, 1], [1380, 1], [1379, 1], [1378, 1], [1377, 1], [1376, 1], [1375, 1], [1374, 1], [1421, 0, " "], [1422, 0, "I"], [1423, 0, "n"], [1424, 0, " "], [1425, 0, "t"], [1426, 0, "h"], [1427, 0, "i"], [1428, 0, "s"], [1429, 0, " "], [1430, 0, "p"], [1431, 0, "a"], [1432, 0, "p"], [1433, 0, "e"], [1434, 0, "r"], [1435, 0, " "], [1436, 0, "w"], [1437, 0, "e"], [1438, 0, " "], [1439, 0, "p"], [1440, 0, "r"], [1441, 0, "e"], [1442, 0, "s"], [1443, 0, "e"], [1444, 0, "n"], [1445, 0, "t"], [1446, 0, " "], [1447, 0, "a"], [1448, 0, "n"], [1449, 0, " "], [1450, 0, "a"], [1451, 0, "l"], [1452, 0, "g"], [1453, 0, "o"], [1454, 0, "r"], [1455, 0, "i"], [1456, 0, "t"], [1457, 0, "h"], [1458, 0, "m"], [1459, 0, " "], [1460, 0, "a"], [1461, 0, "n"], [1462, 0, "d"], [1463, 0, " "], [1464, 0, "f"], [1465, 0, "o"], [1466, 0, "r"], [1467, 0, "m"], [1468, 0, "a"], [1469, 0, "l"], [1470, 0, " "], [1471, 0, "s"], [1472, 0, "e"], [1473, 0, "m"], [1474, 0, "a"], [1475, 0, "n"], [1476, 0, "t"], [1477, 0, "i"], [1478, 0, "c"], [1479, 0, "s"], [1480, 0, " "], [1481, 0, "f"], [1482, 0, "o"], [1483, 0, "r"], [1484, 0, " "], [1485, 0, "a"], [1486, 0, " "], [1487, 0, "J"], [1488, 0, "S"], [1489, 0, "O"], [1490, 0, "N"], [1491, 0, " "], [1492, 0, "d"], [1493, 0, "a"], [1494, 0, "t"], [1495, 0, "a"], [1496, 0, " "], [1497, 0, "s"], [1498, 0, "t"], [1499, 0, "r"], [1500, 0, "u"], [1501, 0, "c"], [1502, 0, "t"], [1503, 0, "u"], [1504, 0, "r"], [1505, 0, "e"], [1506, 0, " "], [1507, 0, "t"], [1508, 0, "h"], [1509, 0, "a"], [1510, 0, "t"], [1511, 0, " "], [1512, 0, "a"], [1513, 0, "u"], [1514, 0, "t"], [1515, 0, "o"], [1516, 0, "m"], [1517, 0, "a"], [1518, 0, "t"], [1519, 0, "i"], [1520, 0, "c"], [1521, 0, "a"], [1522, 0, "l"], [1523, 0, "l"], [1524, 0, "y"], [1525, 0, " "], [1526, 0, "r"], [1527, 0, "e"], [1528, 0, "s"], [1529, 0, "o"], [1530, 0, "l"], [1531, 0, "v"], [1532, 0, "e"], [1533, 0, "s"], [1534, 0, " "], [1535, 0, "c"], [1536, 0, "o"], [1537, 0, "n"], [1538, 0, "c"], [1539, 0, "u"], [1540, 0, "r"], [1541, 0, "r"], [1542, 0, "e"], [1543, 0, "n"], [1544, 0, "t"], [1545, 0, " "], [1546, 0, "m"], [1547, 0, "o"], [1548, 0, "d"], [1549, 0, "i"], [1550, 0, "f"], [1551, 0, "i"], [1552, 0, "c"], [1553, 0, "a"], [1554, 0, "t"], [1555, 0, "i"], [1556, 0, "o"], [1557, 0, "n"], [1558, 0, "s"], [1559, 0, " "], [1560, 0, "s"], [1561, 0, "u"], [1562, 0, "c"], [1563, 0, "h"], [1564, 0, " "], [1565, 0, "t"], [1566, 0, "h"], [1567, 0, "a"], [1568, 0, "t"], [1569, 0, " "], [1570, 0, "n"], [1571, 0, "o"], [1572, 0, " "], [1573, 0, "u"], [1574, 0, "p"], [1575, 0, "d"], [1576, 0, "a"], [1577, 0, "t"], [1578, 0, "e"], [1579, 0, "s"], [1580, 0, " "], [1581, 0, "a"], [1582, 0, "r"], [1583, 0, "e"], [1584, 0, " "], [1585, 0, "l"], [1586, 0, "o"], [1587, 0, "s"], [1588, 0, "t"], [1589, 0, ","], [1590, 0, " "], [1591, 0, "a"], [1592, 0, "n"], [1593, 0, "d"], [1594, 0, " "], [1595, 0, "t"], [1596, 0, "h"], [1597, 0, "a"], [1598, 0, "t"], [1599, 0, " "], [1595, 0, "s"], [1596, 0, "u"], [1597, 0, "c"], [1598, 0, "h"], [1599, 0, " "], [1605, 0, "a"], [1606, 0, "l"], [1607, 0, "l"], [1608, 0, " "], [1609, 0, "r"], [1610, 0, "e"], [1611, 0, "p"], [1612, 0, "l"], [1613, 0, "i"], [1614, 0, "c"], [1615, 0, "a"], [1616, 0, "s"], [1617, 0, " "], [1618, 0, "c"], [1619, 0, "o"], [1620, 0, "n"], [1621, 0, "v"], [1622, 0, "e"], [1623, 0, "r"], [1624, 0, "g"], [1625, 0, "e"], [1626, 0, " "], [1627, 0, "t"], [1628, 0, "o"], [1629, 0, "w"], [1630, 0, "a"], [1631, 0, "r"], [1632, 0, "d"], [1633, 0, "s"], [1634, 0, " "], [1635, 0, "t"], [1636, 0, "h"], [1637, 0, "e"], [1638, 0, " "], [1639, 0, "s"], [1640, 0, "a"], [1641, 0, "m"], [1642, 0, "e"], [1643, 0, " "], [1644, 0, "s"], [1645, 0, "t"], [1646, 0, "a"], [1647, 0, "t"], [1648, 0, "e"], [1649, 0, "."], [1650, 0, " "], [1651, 0, "I"], [1652, 0, "t"], [1653, 0, " "], [1654, 0, "s"], [1655, 0, "u"], [1656, 0, "p"], [1657, 0, "p"], [1658, 0, "o"], [1659, 0, "r"], [1660, 0, "t"], [1661, 0, "s"], [1662, 0, " "], [1663, 0, "a"], [1664, 0, "r"], [1665, 0, "b"], [1666, 0, "i"], [1667, 0, "t"], [1668, 0, "r"], [1669, 0, "a"], [1670, 0, "r"], [1671, 0, "i"], [1672, 0, "l"], [1673, 0, "y"], [1674, 0, " "], [1675, 0, "n"], [1676, 0, "e"], [1677, 0, "s"], [1678, 0, "t"], [1679, 0, "e"], [1680, 0, "d"], [1681, 0, " "], [1682, 0, "l"], [1683, 0, "i"], [1684, 0, "s"], [1685, 0, "t"], [1686, 0, " "], [1687, 0, "a"], [1688, 0, "n"], [1689, 0, "d"], [1690, 0, " "], [1691, 0, "m"], [1692, 0, "a"], [1693, 0, "p"], [1694, 0, " "], [1695, 0, "t"], [1696, 0, "y"], [1697, 0, "p"], [1698, 0, "e"], [1699, 0, "s"], [1700, 0, "."], [1701, 0, " "], [1701, 1], [1700, 1], [1700, 0, "."], [1701, 0, " "], [1702, 0, "I"], [1703, 0, "t"], [1704, 0, " "], [1700, 0, ","], [1701, 0, " "], [1702, 0, "w"], [1703, 0, "h"], [1704, 0, "i"], [1705, 0, "c"], [1706, 0, "h"], [1707, 0, " "], [1708, 0, "c"], [1709, 0, "a"], [1710, 0, "n"], [1711, 0, " "], [1712, 0, "b"], [1713, 0, "e"], [1714, 0, " "], [1715, 0, "m"], [1716, 0, "o"], [1717, 0, "d"], [1718, 0, "i"], [1719, 0, "f"], [1720, 0, "i"], [1721, 0, "e"], [1722, 0, "d"], [1723, 0, " "], [1724, 0, "b"], [1725, 0, "y"], [1726, 0, " "], [1727, 0, "i"], [1728, 0, "n"], [1729, 0, "s"], [1730, 0, "e"], [1731, 0, "r"], [1732, 0, "t"], [1733, 0, "i"], [1734, 0, "o"], [1735, 0, "n"], [1736, 0, ","], [1737, 0, " "], [1738, 0, "d"], [1739, 0, "e"], [1740, 0, "l"], [1741, 0, "e"], [1742, 0, "t"], [1743, 0, "i"], [1744, 0, "o"], [1745, 0, "n"], [1746, 0, " "], [1747, 0, "a"], [1748, 0, "n"], [1749, 0, "d"], [1750, 0, " "], [1751, 0, "a"], [1752, 0, "s"], [1753, 0, "s"], [1754, 0, "i"], [1755, 0, "g"], [1756, 0, "n"], [1757, 0, "m"], [1758, 0, "e"], [1759, 0, "n"], [1760, 0, "t"], [1765, 1], [1764, 1], [1763, 1], [1763, 0, "T"], [1764, 0, "h"], [1765, 0, "e"], [1766, 0, " "], [1767, 0, "a"], [1768, 0, "l"], [1769, 0, "g"], [1770, 0, "o"], [1771, 0, "r"], [1772, 0, "i"], [1773, 0, "t"], [1774, 0, "h"], [1775, 0, "m"], [1776, 0, " "], [1777, 0, "p"], [1778, 0, "e"], [1779, 0, "r"], [1780, 0, "f"], [1781, 0, "o"], [1782, 0, "r"], [1783, 0, "m"], [1784, 0, "s"], [1785, 0, " "], [1786, 0, "a"], [1787, 0, "l"], [1788, 0, "l"], [1789, 0, " "], [1790, 0, "m"], [1791, 0, "e"], [1792, 0, "r"], [1793, 0, "g"], [1794, 0, "i"], [1795, 0, "n"], [1796, 0, "g"], [1797, 0, " "], [1798, 0, "c"], [1799, 0, "l"], [1800, 0, "i"], [1801, 0, "e"], [1802, 0, "n"], [1803, 0, "t"], [1804, 0, "-"], [1805, 0, "s"], [1806, 0, "i"], [1807, 0, "d"], [1808, 0, "e"], [1809, 0, " "], [1810, 0, "a"], [1811, 0, "n"], [1812, 0, "d"], [1813, 0, " "], [1814, 0, "d"], [1815, 0, "o"], [1816, 0, "e"], [1817, 0, "s"], [1818, 0, " "], [1819, 0, "n"], [1820, 0, "o"], [1821, 0, "t"], [1822, 0, " "], [1823, 0, "d"], [1824, 0, "e"], [1825, 0, "p"], [1826, 0, "e"], [1827, 0, "n"], [1828, 0, "d"], [1829, 0, " "], [1830, 0, "o"], [1831, 0, "n"], [1832, 0, " "], [1833, 0, "o"], [1834, 0, "r"], [1835, 0, "d"], [1836, 0, "e"], [1837, 0, "r"], [1838, 0, "i"], [1839, 0, "n"], [1840, 0, "g"], [1841, 0, " "], [1842, 0, "g"], [1843, 0, "u"], [1844, 0, "a"], [1845, 0, "r"], [1846, 0, "a"], [1847, 0, "n"], [1848, 0, "t"], [1849, 0, "e"], [1850, 0, "e"], [1851, 0, "s"], [1852, 0, " "], [1853, 0, "f"], [1854, 0, "r"], [1855, 0, "o"], [1856, 0, "m"], [1857, 0, " "], [1858, 0, "t"], [1859, 0, "h"], [1860, 0, "e"], [1861, 0, " "], [1862, 0, "n"], [1863, 0, "e"], [1864, 0, "t"], [1865, 0, "w"], [1866, 0, "o"], [1867, 0, "r"], [1868, 0, "k"], [1869, 0, ","], [1870, 0, " "], [1871, 0, "a"], [1872, 0, "l"], [1873, 0, "l"], [1874, 0, "o"], [1875, 0, "w"], [1876, 0, "i"], [1877, 0, "n"], [1878, 0, "g"], [1879, 0, " "], [1880, 0, "i"], [1881, 0, "t"], [1882, 0, " "], [1883, 0, "t"], [1884, 0, "o"], [1885, 0, " "], [1886, 0, "b"], [1887, 0, "e"], [1888, 0, " "], [1889, 0, "d"], [1890, 0, "e"], [1891, 0, "p"], [1892, 0, "l"], [1893, 0, "o"], [1894, 0, "y"], [1895, 0, "e"], [1896, 0, "d"], [1897, 0, " "], [1898, 0, "i"], [1899, 0, "n"], [1900, 0, " "], [1901, 0, "p"], [1902, 0, "e"], [1903, 0, "e"], [1904, 0, "r"], [1905, 0, "-"], [1906, 0, "t"], [1907, 0, "o"], [1908, 0, "-"], [1909, 0, "p"], [1910, 0, "e"], [1911, 0, "e"], [1912, 0, "r"], [1913, 0, " "], [1914, 0, "n"], [1915, 0, "e"], [1916, 0, "t"], [1917, 0, "w"], [1918, 0, "o"], [1919, 0, "r"], [1920, 0, "k"], [1921, 0, "s"], [1922, 0, " "], [1923, 0, "a"], [1924, 0, "n"], [1925, 0, "d"], [1926, 0, " "], [1927, 0, "i"], [1928, 0, "n"], [1929, 0, " "], [1930, 0, "e"], [1930, 1], [1930, 0, "m"], [1931, 0, "e"], [1932, 0, "s"], [1933, 0, "s"], [1934, 0, "a"], [1935, 0, "g"], [1936, 0, "i"], [1937, 0, "n"], [1938, 0, "g"], [1939, 0, " "], [1940, 0, "s"], [1941, 0, "y"], [1942, 0, "s"], [1943, 0, "t"], [1944, 0, "e"], [1945, 0, "m"], [1946, 0, "s"], [1947, 0, " "], [1948, 0, "w"], [1949, 0, "i"], [1950, 0, "t"], [1951, 0, "h"], [1952, 0, " "], [1953, 0, "e"], [1954, 0, "n"], [1955, 0, "d"], [1956, 0, "-"], [1957, 0, "t"], [1958, 0, "o"], [1959, 0, "-"], [1960, 0, "e"], [1961, 0, "n"], [1962, 0, "d"], [1963, 0, " "], [1964, 0, "e"], [1965, 0, "n"], [1966, 0, "c"], [1967, 0, "r"], [1968, 0, "y"], [1969, 0, "p"], [1970, 0, "t"], [1971, 0, "i"], [1972, 0, "o"], [1973, 0, "n"], [1974, 0, "."], [1061, 0, "\n"], [1062, 0, "%"], [1063, 0, " "], [1064, 0, "w"], [1065, 0, "o"], [1066, 0, "r"], [1067, 0, "d"], [1068, 0, " "], [1069, 0, "l"], [1070, 0, "i"], [1071, 0, "m"], [1072, 0, "i"], [1073, 0, "t"], [1074, 0, " "], [1064, 0, "a"], [1065, 0, "b"], [1066, 0, "s"], [1067, 0, "t"], [1068, 0, "r"], [1069, 0, "a"], [1070, 0, "c"], [1071, 0, "t"], [1072, 0, " "], [1083, 1], [1083, 0, ":"], [1084, 0, " "], [1085, 0, "1"], [1086, 0, "0"], [1087, 0, "0"], [1088, 0, "-"], [1089, 0, "2"], [1090, 0, "0"], [1091, 0, "0"], [1092, 0, " "], [1093, 0, "w"], [1094, 0, "o"], [1095, 0, "r"], [1096, 0, "d"], [1097, 0, "s"], [2294, 1], [2293, 1], [2292, 1], [2291, 1], [2290, 1], [2289, 1], [2288, 1], [2287, 1], [2286, 1], [2285, 1], [2284, 1], [2283, 1], [2282, 1], [2281, 1], [2280, 1], [2279, 1], [2294, 0, " "], [2295, 0, "s"], [2296, 0, "u"], [2297, 0, "c"], [2298, 0, "h"], [2299, 0, " "], [2300, 0, "a"], [2301, 0, "s"], [2302, 0, " "], [2303, 0, "s"], [2304, 0, "m"], [2305, 0, "a"], [2306, 0, "r"], [2307, 0, "t"], [2308, 0, "p"], [2309, 0, "h"], [2310, 0, "o"], [2311, 0, "n"], [2312, 0, "e"], [2313, 0, "s"], [2324, 1], [2323, 1], [2322, 1], [2321, 1], [2333, 1], [2338, 1], [2337, 1], [2336, 1], [2335, 1], [2334, 1], [2333, 1], [2336, 0, " "], [2337, 0, "c"], [2338, 0, "o"], [2339, 0, "n"], [2340, 0, "t"], [2341, 0, "i"], [2342, 0, "n"], [2343, 0, "u"], [2344, 0, "e"], [2350, 0, "i"], [2351, 0, "n"], [2352, 0, "g"], [2294, 0, ","], [2315, 0, ","], [2335, 0, "s"], [2584, 0, " "], [2585, 0, "t"], [2586, 0, "o"], [2587, 0, "o"], [2588, 0, "l"], [2589, 0, "s"], [2590, 0, ","], [2591, 0, " "], [2592, 0, "t"], [2593, 0, "o"], [2594, 0, "-"], [2595, 0, "d"], [2596, 0, "o"], [2597, 0, " "], [2598, 0, "l"], [2599, 0, "i"], [2600, 0, "s"], [2601, 0, "t"], [2602, 0, "s"], [3082, 0, "~"], [3083, 0, "\\"], [3084, 0, "c"], [3085, 0, "i"], [3086, 0, "t"], [3087, 0, "e"], [3088, 0, "{"], [3089, 0, "D"], [3090, 0, "a"], [3091, 0, "v"], [3092, 0, "i"], [3093, 0, "d"], [3094, 0, "s"], [3095, 0, "o"], [3096, 0, "n"], [3097, 0, ":"], [3098, 0, "1"], [3099, 0, "9"], [3100, 0, "8"], [3101, 0, "5"], [3102, 0, "h"], [3103, 0, "v"], [3104, 0, "}"], [2825, 1], [2824, 1], [2823, 1], [2822, 1], [2821, 1], [3100, 1], [3100, 0, "."], [3103, 1], [3103, 0, "="], [3103, 1], [3102, 1], [3102, 0, "I"], [3103, 0, "f"], [3104, 0, " "], [3105, 0, "w"], [3106, 0, "e"], [3107, 0, " "], [3108, 0, "r"], [3109, 0, "e"], [3110, 0, "q"], [3111, 0, "u"], [3112, 0, "i"], [3113, 0, "r"], [3114, 0, "e"], [3115, 0, " "], [3116, 0, "a"], [3117, 0, "p"], [3118, 0, "p"], [3119, 0, "l"], [3120, 0, "i"], [3121, 0, "c"], [3122, 0, "a"], [3123, 0, "t"], [3124, 0, "i"], [3125, 0, "o"], [3126, 0, "n"], [3127, 0, "s"], [3128, 0, " "], [3129, 0, "t"], [3130, 0, "o"], [3131, 0, " "], [3132, 0, "w"], [3133, 0, "o"], [3134, 0, "r"], [3135, 0, "k"], [3136, 0, " "], [3137, 0, "r"], [3138, 0, "e"], [3139, 0, "g"], [3140, 0, "a"], [3141, 0, "r"], [3142, 0, "d"], [3143, 0, "l"], [3144, 0, "e"], [3145, 0, "s"], [3146, 0, "s"], [3147, 0, " "], [3148, 0, "o"], [3149, 0, "f"], [3150, 0, " "], [3151, 0, "t"], [3152, 0, "h"], [3153, 0, "e"], [3154, 0, " "], [3155, 0, "n"], [3156, 0, "e"], [3157, 0, "t"], [3158, 0, "w"], [3159, 0, "o"], [3160, 0, "r"], [3161, 0, "k"], [3162, 0, ","], [3261, 0, " "], [3262, 0, "t"], [3263, 0, "h"], [3264, 0, "a"], [3265, 0, "t"], [2938, 0, "a"], [2939, 0, "p"], [2940, 0, "p"], [2941, 0, "r"], [2942, 0, "o"], [2943, 0, "a"], [2944, 0, "c"], [2945, 0, "h"], [2946, 0, "e"], [2947, 0, "s"], [2948, 0, " "], [2949, 0, "t"], [2950, 0, "o"], [2951, 0, " "], [2981, 1], [2980, 1], [2979, 1], [2978, 1], [2977, 1], [2976, 1], [2975, 1], [2974, 1], [2973, 1], [2972, 1], [2971, 1], [2971, 0, ","], [2926, 0, "R"], [2927, 0, "e"], [2928, 0, "q"], [2929, 0, "u"], [2930, 0, "i"], [2931, 0, "r"], [2932, 0, "i"], [2933, 0, "n"], [2934, 0, "g"], [2935, 0, " "], [2936, 0, "s"], [2937, 0, "e"], [2938, 0, "r"], [2939, 0, "i"], [2940, 0, "a"], [2941, 0, "l"], [2942, 0, "i"], [2943, 0, "z"], [2944, 0, "a"], [2945, 0, "b"], [2946, 0, "i"], [2947, 0, "l"], [2948, 0, "i"], [2949, 0, "t"], [2950, 0, "y"], [2951, 0, ","], [2952, 0, " "], [2953, 0, "t"], [2954, 0, "h"], [2955, 0, "e"], [2956, 0, " "], [2957, 1], [2957, 0, "t"], [2978, 1], [2977, 1], [3024, 1], [3023, 1], [3022, 1], [3021, 1], [3020, 1], [3019, 1], [3018, 1], [3017, 1], [3016, 1], [3015, 1], [3014, 1], [3013, 1], [3012, 1], [3011, 1], [3010, 1], [3009, 1], [3008, 1], [3007, 1], [3006, 1], [3005, 1], [3004, 1], [3003, 1], [3002, 1], [3001, 1], [3125, 0, "t"], [3126, 0, "h"], [3127, 0, "a"], [3128, 0, "t"], [3129, 0, " "], [3144, 1], [3143, 1], [3142, 1], [3680, 0, "\n"], [3681, 0, "\n"], [3682, 0, "C"], [3683, 0, "u"], [3684, 0, "r"], [3685, 0, "r"], [3686, 0, "e"], [3687, 0, "n"], [3688, 0, "t"], [3689, 0, "l"], [3690, 0, "y"], [3690, 1], [3689, 1], [3689, 0, " "], [3690, 0, "a"], [3691, 0, "p"], [3692, 0, "p"], [3693, 0, "l"], [3694, 0, "i"], [3695, 0, "c"], [3696, 0, "a"], [3697, 0, "t"], [3698, 0, "i"], [3699, 0, "o"], [3700, 0, "n"], [3701, 0, "s"], [3702, 0, " "], [3703, 0, "s"], [3704, 0, "o"], [3705, 0, "l"], [3706, 0, "v"], [3707, 0, "e"], [3708, 0, " "], [3709, 0, "t"], [3710, 0, "h"], [3711, 0, "i"], [3712, 0, "s"], [3713, 0, " "], [3714, 0, "p"], [3715, 0, "r"], [3716, 0, "o"], [3717, 0, "b"], [3718, 0, "l"], [3719, 0, "e"], [3720, 0, "m"], [3721, 0, " "], [3722, 0, "w"], [3723, 0, "i"], [3724, 0, "t"], [3725, 0, "h"], [3726, 0, " "], [3727, 0, "a"], [3728, 0, " "], [3729, 0, "r"], [3730, 0, "a"], [3731, 0, "n"], [3732, 0, "g"], [3733, 0, "e"], [3734, 0, " "], [3735, 0, "o"], [3736, 0, "f"], [3737, 0, " "], [3738, 0, "a"], [3739, 0, "d"], [3740, 0, "-"], [3741, 0, "h"], [3742, 0, "o"], [3743, 0, "c"], [3744, 0, " "], [3745, 0, "a"], [3746, 0, "n"], [3747, 0, "d"], [3748, 0, " "], [3749, 0, "a"], [3750, 0, "p"], [3751, 0, "p"], [3752, 0, "l"], [3753, 0, "i"], [3754, 0, "c"], [3755, 0, "a"], [3756, 0, "t"], [3757, 0, "i"], [3758, 0, "o"], [3759, 0, "n"], [3760, 0, "-"], [3761, 0, "s"], [3762, 0, "p"], [3763, 0, "e"], [3764, 0, "c"], [3765, 0, "i"], [3766, 0, "f"], [3767, 0, "i"], [3768, 0, "c"], [3769, 0, " "], [3770, 0, "m"], [3771, 0, "e"], [3772, 0, "c"], [3773, 0, "h"], [3774, 0, "a"], [3775, 0, "n"], [3776, 0, "i"], [3777, 0, "s"], [3778, 0, "m"], [3779, 0, "s"], [3780, 0, ","], [3781, 0, " "], [3782, 0, "t"], [3783, 0, "h"], [3784, 0, "e"], [3785, 0, " "], [3786, 0, "c"], [3787, 0, "o"], [3788, 0, "r"], [3789, 0, "r"], [3790, 0, "e"], [3791, 0, "c"], [3791, 1], [3790, 1], [3789, 1], [3788, 1], [3787, 1], [3786, 1], [3785, 1], [3784, 1], [3783, 1], [3782, 1], [3781, 1], [3780, 1], [3780, 0, "."], [3781, 0, " "], [3782, 0, "A"], [3783, 0, "s"], [3784, 0, " "], [3785, 0, "c"], [3786, 0, "o"], [3787, 0, "n"], [3788, 0, "c"], [3789, 0, "u"], [3790, 0, "r"], [3791, 0, "r"], [3792, 0, "e"], [3793, 0, "n"], [3794, 0, "t"], [3795, 0, " "], [3796, 0, "m"], [3797, 0, "o"], [3798, 0, "d"], [3799, 0, "i"], [3800, 0, "f"], [3801, 0, "i"], [3802, 0, "c"], [3803, 0, "a"], [3804, 0, "t"], [3805, 0, "i"], [3806, 0, "o"], [3807, 0, "n"], [3808, 0, "s"], [3809, 0, " "], [3810, 0, "a"], [3811, 0, "r"], [3812, 0, "e"], [3813, 0, " "], [3814, 0, "d"], [3815, 0, "i"], [3816, 0, "f"], [3817, 0, "f"], [3818, 0, "i"], [3819, 0, "c"], [3820, 0, "u"], [3821, 0, "l"], [3822, 0, "t"], [3823, 0, " "], [3824, 0, "t"], [3825, 0, "o"], [3826, 0, " "], [3827, 0, "r"], [3828, 0, "e"], [3829, 0, "a"], [3830, 0, "s"], [3831, 0, "o"], [3832, 0, "n"], [3833, 0, " "], [3834, 0, "a"], [3835, 0, "b"], [3836, 0, "o"], [3837, 0, "u"], [3838, 0, "t"], [3839, 0, " "], [3781, 0, " "], [3782, 0, "I"], [3783, 0, "n"], [3784, 0, " "], [3785, 0, "t"], [3786, 0, "h"], [3787, 0, "i"], [3788, 0, "s"], [3789, 0, " "], [3790, 0, "p"], [3791, 0, "a"], [3792, 0, "p"], [3793, 0, "e"], [3794, 0, "r"], [3795, 0, " "], [3796, 0, "w"], [3797, 0, "e"], [3798, 0, " "], [3799, 0, "p"], [3800, 0, "r"], [3801, 0, "e"], [3802, 0, "s"], [3803, 0, "e"], [3804, 0, "n"], [3805, 0, "t"], [3806, 0, " "], [3807, 0, "t"], [3808, 0, "h"], [3809, 0, "e"], [3810, 0, " "], [3811, 0, "f"], [3812, 0, "i"], [3813, 0, "r"], [3814, 0, "s"], [3815, 0, "t"], [3815, 1], [3814, 1], [3813, 1], [3812, 1], [3811, 1], [3810, 1], [3809, 1], [3808, 1], [3807, 1], [3807, 0, "a"], [3808, 0, " "], [3809, 0, "d"], [3810, 0, "a"], [3811, 0, "t"], [3812, 0, "a"], [3813, 0, "t"], [3814, 0, "y"], [3815, 0, "p"], [3816, 0, "e"], [3817, 0, " "], [3818, 0, "t"], [3819, 0, "h"], [3820, 0, "a"], [3821, 0, "t"], [3822, 0, " "], [3823, 0, "p"], [3824, 0, "r"], [3825, 0, "o"], [3826, 0, "v"], [3827, 0, "i"], [3828, 0, "d"], [3829, 0, "e"], [3830, 0, "s"], [3831, 0, " "], [3832, 0, "t"], [3833, 0, "h"], [3834, 0, "e"], [3835, 0, " "], [3836, 0, "f"], [3837, 0, "u"], [3838, 0, "l"], [3839, 0, "l"], [3840, 0, " "], [3841, 0, "e"], [3842, 0, "x"], [3843, 0, "p"], [3844, 0, "r"], [3845, 0, "e"], [3846, 0, "s"], [3847, 0, "s"], [3848, 0, "i"], [3849, 0, "v"], [3850, 0, "e"], [3851, 0, "n"], [3852, 0, "e"], [3853, 0, "s"], [3854, 0, "s"], [3855, 0, " "], [3856, 0, "o"], [3857, 0, "f"], [3858, 0, " "], [3859, 0, "t"], [3860, 0, "h"], [3861, 0, "e"], [3862, 0, " "], [3863, 0, "J"], [3864, 0, "S"], [3865, 0, "O"], [3866, 0, "N"], [3867, 0, " "], [3868, 0, "d"], [3869, 0, "a"], [3870, 0, "t"], [3871, 0, "a"], [3872, 0, " "], [3873, 0, "m"], [3874, 0, "o"], [3875, 0, "d"], [3876, 0, "e"], [3877, 0, "l"], [3878, 0, ","], [3879, 0, " "], [3880, 0, "a"], [3881, 0, "n"], [3882, 0, "d"], [3883, 0, " "], [3884, 0, "a"], [3885, 0, "u"], [3886, 0, "t"], [3887, 0, "o"], [3888, 0, "m"], [3889, 0, "a"], [3890, 0, "t"], [3891, 0, "i"], [3892, 0, "c"], [3893, 0, "a"], [3894, 0, "l"], [3895, 0, "l"], [3896, 0, "y"], [3897, 0, " "], [3898, 0, "m"], [3899, 0, "e"], [3900, 0, "r"], [3901, 0, "g"], [3902, 0, "e"], [3903, 0, "s"], [3904, 0, " "], [3905, 0, "a"], [3906, 0, "n"], [3907, 0, "y"], [3908, 0, " "], [3909, 0, "c"], [3910, 0, "o"], [3911, 0, "n"], [3912, 0, "c"], [3913, 0, "u"], [3914, 0, "r"], [3915, 0, "r"], [3916, 0, "e"], [3917, 0, "n"], [3918, 0, "t"], [3919, 0, " "], [3920, 0, "m"], [3921, 0, "o"], [3922, 0, "d"], [3923, 0, "i"], [3924, 0, "f"], [3925, 0, "i"], [3926, 0, "c"], [3927, 0, "a"], [3928, 0, "t"], [3929, 0, "i"], [3930, 0, "o"], [3931, 0, "n"], [3932, 0, "s"], [3933, 0, " "], [3934, 0, "w"], [3935, 0, "i"], [3936, 0, "t"], [3937, 0, "h"], [3938, 0, "o"], [3939, 0, "u"], [3940, 0, "t"], [3941, 0, " "], [3942, 0, "l"], [3943, 0, "o"], [3944, 0, "s"], [3945, 0, "s"], [3946, 0, " "], [3947, 0, "o"], [3948, 0, "f"], [3949, 0, " "], [3950, 0, "i"], [3951, 0, "n"], [3952, 0, "f"], [3953, 0, "o"], [3954, 0, "r"], [3955, 0, "m"], [3956, 0, "a"], [3957, 0, "t"], [3958, 0, "i"], [3959, 0, "o"], [3960, 0, "n"], [3961, 0, "."], [3962, 0, " "], [3963, 0, "W"], [3964, 0, "e"], [3965, 0, " "], [3966, 0, "e"], [3967, 0, "x"], [3968, 0, "p"], [3969, 0, "e"], [3970, 0, "c"], [3971, 0, "t"], [3972, 0, " "], [3973, 0, "t"], [3974, 0, "h"], [3975, 0, "a"], [3976, 0, "t"], [3977, 0, " "], [3978, 0, "t"], [3979, 0, "h"], [3980, 0, "i"], [3981, 0, "s"], [3982, 0, " "], [3983, 0, "d"], [3984, 0, "a"], [3985, 0, "t"], [3986, 0, "a"], [3987, 0, "t"], [3988, 0, "y"], [3989, 0, "p"], [3990, 0, "e"], [3991, 0, " "], [3992, 0, "w"], [3993, 0, "i"], [3994, 0, "l"], [3995, 0, "l"], [3996, 0, " "], [3808, 0, " "], [3809, 0, "g"], [3810, 0, "e"], [3811, 0, "n"], [3812, 0, "e"], [3813, 0, "r"], [3814, 0, "a"], [3815, 0, "l"], [3816, 0, "-"], [3817, 0, "p"], [3818, 0, "u"], [3819, 0, "r"], [3820, 0, "p"], [3821, 0, "o"], [3822, 0, "s"], [3823, 0, "e"], [3994, 0, "i"], [3995, 0, "m"], [3996, 0, "p"], [3997, 0, "l"], [3998, 0, "e"], [3999, 0, "m"], [4000, 0, "e"], [4001, 0, "n"], [4002, 0, "t"], [4003, 0, "a"], [4004, 0, "t"], [4005, 0, "i"], [4006, 0, "o"], [4007, 0, "n"], [4008, 0, "s"], [4009, 0, " "], [4010, 0, "o"], [4011, 0, "f"], [4012, 0, " "], [4031, 0, " "], [4032, 0, "s"], [4033, 0, "i"], [4034, 0, "g"], [4035, 0, "n"], [4036, 0, "i"], [4037, 0, "f"], [4038, 0, "i"], [4039, 0, "c"], [4039, 1], [4038, 1], [4037, 1], [4036, 1], [4035, 1], [4034, 1], [4033, 1], [4032, 1], [4032, 0, "d"], [4033, 0, "r"], [4034, 0, "a"], [4035, 0, "s"], [4036, 0, "t"], [4037, 0, "i"], [4038, 0, "c"], [4039, 0, "a"], [4040, 0, "l"], [4041, 0, "l"], [4042, 0, "y"], [4043, 0, " "], [4044, 0, "s"], [4045, 0, "i"], [4046, 0, "m"], [4047, 0, "p"], [4048, 0, "l"], [4049, 0, "i"], [4050, 0, "f"], [4051, 0, "y"], [4052, 0, " "], [4053, 0, "t"], [4054, 0, "h"], [4055, 0, "e"], [4056, 0, " "], [4057, 0, "d"], [4058, 0, "e"], [4059, 0, "v"], [4060, 0, "e"], [4061, 0, "l"], [4062, 0, "o"], [4063, 0, "p"], [4064, 0, "m"], [4065, 0, "e"], [4066, 0, "n"], [4067, 0, "t"], [4068, 0, " "], [4069, 0, "o"], [4070, 0, "f"], [4071, 0, " "], [4072, 0, "c"], [4073, 0, "o"], [4074, 0, "l"], [4075, 0, "l"], [4076, 0, "a"], [4077, 0, "b"], [4078, 0, "o"], [4079, 0, "r"], [4080, 0, "a"], [4081, 0, "t"], [4082, 0, "i"], [4083, 0, "v"], [4084, 0, "e"], [4085, 0, " "], [4086, 0, "a"], [4087, 0, "n"], [4088, 0, "d"], [4089, 0, " "], [4090, 0, "s"], [4091, 0, "t"], [4092, 0, "a"], [4093, 0, "t"], [4094, 0, "e"], [4095, 0, "-"], [4096, 0, "s"], [4097, 0, "y"], [4098, 0, "n"], [4099, 0, "c"], [4100, 0, "h"], [4101, 0, "r"], [4102, 0, "o"], [4103, 0, "n"], [4104, 0, "i"], [4105, 0, "z"], [4106, 0, "i"], [4107, 0, "n"], [4108, 0, "g"], [4109, 0, " "], [4110, 0, "a"], [4111, 0, "p"], [4112, 0, "p"], [4113, 0, "l"], [4114, 0, "i"], [4115, 0, "c"], [4116, 0, "a"], [4117, 0, "t"], [4118, 0, "i"], [4119, 0, "o"], [4120, 0, "n"], [4121, 0, "s"], [4122, 0, " "], [4123, 0, "f"], [4124, 0, "o"], [4125, 0, "r"], [4126, 0, " "], [4127, 0, "m"], [4128, 0, "o"], [4129, 0, "b"], [4130, 0, "i"], [4131, 0, "l"], [4132, 0, "e"], [4133, 0, " "], [4134, 0, "d"], [4135, 0, "e"], [4136, 0, "v"], [4137, 0, "i"], [4138, 0, "c"], [4139, 0, "e"], [4140, 0, "s"], [4141, 0, "."], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4142, 1], [4166, 1], [4165, 1], [4164, 1], [4163, 1], [4162, 1], [4161, 1], [4160, 1], [4159, 1], [4158, 1], [4157, 1], [4156, 1], [4155, 1], [4154, 1], [4153, 1], [4152, 1], [4151, 1], [4150, 1], [4149, 1], [4148, 1], [4147, 1], [4146, 1], [4145, 1], [4144, 1], [4144, 0, "\\"], [4145, 0, "s"], [4146, 0, "u"], [4147, 0, "b"], [4148, 0, "s"], [4149, 0, "e"], [4150, 0, "c"], [4151, 0, "t"], [4152, 0, "i"], [4153, 0, "o"], [4154, 0, "n"], [4155, 0, "{"], [4156, 0, "J"], [4157, 0, "S"], [4158, 0, "O"], [4159, 0, "N"], [4160, 0, " "], [4161, 0, "d"], [4162, 0, "a"], [4163, 0, "t"], [4164, 0, "a"], [4165, 0, " "], [4166, 0, "m"], [4167, 0, "o"], [4168, 0, "d"], [4169, 0, "e"], [4170, 0, "l"], [4171, 0, "}"], [64152, 1], [64152, 0, "]"], [64131, 1], [64130, 1], [64129, 1], [64128, 1], [64127, 1], [64126, 1], [64125, 1], [64124, 1], [64124, 0, "a"], [64125, 0, "p"], [64126, 0, "p"], [64127, 0, "e"], [64128, 0, "n"], [64129, 0, "d"], [64130, 0, "i"], [64131, 0, "x"], [64132, 0, "["], [64121, 1], [64120, 1], [64119, 1], [64118, 1], [64117, 1], [64116, 1], [64115, 1], [64114, 1], [64113, 1], [64112, 1], [64111, 1], [64110, 1], [64142, 0, "\\"], [64143, 0, "l"], [64144, 0, "a"], [64145, 0, "b"], [64146, 0, "e"], [64147, 0, "l"], [64148, 0, "{"], [64149, 0, "s"], [64150, 0, "e"], [64151, 0, "c"], [64152, 0, ":"], [64153, 0, "p"], [64154, 0, "r"], [64155, 0, "o"], [64156, 0, "o"], [64157, 0, "f"], [64158, 0, "}"], [4172, 0, "\n"], [4173, 0, "\n"], [4174, 0, "J"], [4175, 0, "S"], [4176, 0, "O"], [4177, 0, "N"], [4178, 0, " "], [10927, 0, "\\"], [10928, 0, "l"], [10929, 0, "a"], [10930, 0, "b"], [10931, 0, "e"], [10932, 0, "l"], [10933, 0, "{"], [10934, 0, "s"], [10935, 0, "e"], [10936, 0, "c"], [10937, 0, ":"], [10938, 0, "c"], [10939, 0, "o"], [10940, 0, "m"], [10941, 0, "p"], [10942, 0, "o"], [10943, 0, "s"], [10944, 0, "i"], [10945, 0, "n"], [10946, 0, "g"], [10947, 0, "}"], [12653, 0, "\\"], [12654, 0, "l"], [12655, 0, "a"], [12656, 0, "b"], [12657, 0, "e"], [12658, 0, "l"], [12659, 0, "{"], [12660, 0, "s"], [12661, 0, "e"], [12662, 0, "c"], [12663, 0, ":"], [12664, 0, "e"], [12665, 0, "x"], [12666, 0, "a"], [12667, 0, "m"], [12668, 0, "p"], [12669, 0, "l"], [12670, 0, "e"], [12671, 0, "s"], [12672, 0, "}"], [20599, 0, "\\"], [20600, 0, "l"], [20601, 0, "a"], [20602, 0, "b"], [20603, 0, "e"], [20604, 0, "l"], [20605, 0, "{"], [20606, 0, "s"], [20607, 0, "e"], [20608, 0, "c"], [20609, 0, ":"], [20610, 0, "j"], [20611, 0, "s"], [20612, 0, "o"], [20613, 0, "n"], [20614, 0, "-"], [20615, 0, "x"], [20616, 0, "m"], [20617, 0, "l"], [20618, 0, "}"], [22121, 0, "\\"], [22122, 0, "l"], [22123, 0, "a"], [22124, 0, "b"], [22125, 0, "e"], [22126, 0, "l"], [22127, 0, "{"], [22128, 0, "s"], [22129, 0, "e"], [22130, 0, "c"], [22131, 0, ":"], [22132, 0, "c"], [22133, 0, "l"], [22134, 0, "i"], [22135, 0, "e"], [22136, 0, "n"], [22137, 0, "t"], [22138, 0, "-"], [22139, 0, "a"], [22140, 0, "p"], [22141, 0, "i"], [22142, 0, "}"], [22137, 1], [22136, 1], [22135, 1], [22134, 1], [22133, 1], [22132, 1], [22132, 0, "e"], [22133, 0, "d"], [22134, 0, "i"], [22135, 0, "t"], [22136, 0, "i"], [22137, 0, "n"], [22138, 0, "g"], [4179, 0, "I"], [4180, 0, "t"], [4181, 0, " "], [4182, 0, "h"], [4183, 0, "a"], [4184, 0, "s"], [4185, 0, " "], [4186, 0, "s"], [4187, 0, "i"], [4188, 0, "m"], [4189, 0, "i"], [4190, 0, "l"], [4191, 0, "a"], [4192, 0, "r"], [4193, 0, "i"], [4194, 0, "t"], [4195, 0, "i"], [4196, 0, "e"], [4197, 0, "s"], [4198, 0, " "], [4199, 0, "t"], [4200, 0, "o"], [4201, 0, " "], [4202, 0, "X"], [4203, 0, "M"], [4204, 0, "L"], [4205, 0, ","], [4206, 0, " "], [4207, 0, "a"], [4208, 0, "n"], [4209, 0, "d"], [4210, 0, " "], [4211, 0, "w"], [4212, 0, "e"], [4213, 0, " "], [4214, 0, "c"], [4215, 0, "o"], [4216, 0, "m"], [4217, 0, "p"], [4218, 0, "a"], [4219, 0, "r"], [4220, 0, "e"], [4221, 0, " "], [4222, 0, "t"], [4223, 0, "h"], [4224, 0, "e"], [4225, 0, "m"], [4226, 0, " "], [4227, 0, "f"], [4228, 0, "u"], [4229, 0, "r"], [4230, 0, "t"], [4231, 0, "h"], [4232, 0, "e"], [4233, 0, "r"], [4234, 0, " "], [4235, 0, "i"], [4236, 0, "n"], [4237, 0, " "], [4238, 0, "s"], [4239, 0, "e"], [4240, 0, "c"], [4241, 0, "t"], [4242, 0, "i"], [4243, 0, "o"], [4244, 0, "n"], [4245, 0, "~"], [4246, 0, "\\"], [4247, 0, "r"], [4248, 0, "e"], [4249, 0, "f"], [4250, 0, "{"], [4251, 0, "s"], [4252, 0, "e"], [4253, 0, "c"], [4254, 0, ":"], [4255, 0, "j"], [4256, 0, "s"], [4257, 0, "o"], [4258, 0, "n"], [4259, 0, "-"], [4260, 0, "x"], [4261, 0, "m"], [4262, 0, "l"], [4263, 0, "}"], [4264, 0, "."], [4178, 0, " "], [4179, 0, "i"], [4180, 0, "s"], [4181, 0, " "], [4182, 0, "a"], [4183, 0, " "], [4184, 0, "p"], [4185, 0, "o"], [4186, 0, "p"], [4187, 0, "u"], [4188, 0, "l"], [4189, 0, "a"], [4190, 0, "r"], [4191, 0, " "], [4192, 0, "g"], [4193, 0, "e"], [4194, 0, "n"], [4195, 0, "e"], [4196, 0, "r"], [4197, 0, "a"], [4198, 0, "l"], [4199, 0, "-"], [4200, 0, "p"], [4201, 0, "u"], [4202, 0, "r"], [4203, 0, "p"], [4204, 0, "o"], [4205, 0, "s"], [4206, 0, "e"], [4207, 0, " "], [4208, 0, "d"], [4209, 0, "a"], [4210, 0, "t"], [4211, 0, "a"], [4212, 0, " "], [4213, 0, "e"], [4214, 0, "n"], [4215, 0, "c"], [4216, 0, "o"], [4217, 0, "d"], [4218, 0, "i"], [4219, 0, "n"], [4220, 0, "g"], [4221, 0, " "], [4222, 0, "f"], [4223, 0, "o"], [4224, 0, "r"], [4225, 0, "m"], [4226, 0, "a"], [4227, 0, "t"], [4228, 0, "."], [4285, 1], [4284, 1], [4283, 1], [4282, 1], [4281, 1], [4280, 1], [4279, 1], [4278, 1], [4308, 0, " "], [4228, 0, ","], [4229, 0, " "], [4230, 0, "u"], [4231, 0, "s"], [4232, 0, "e"], [4233, 0, "d"], [4234, 0, " "], [4235, 0, "i"], [4236, 0, "n"], [4237, 0, " "], [4238, 0, "m"], [4239, 0, "a"], [4240, 0, "n"], [4241, 0, "y"], [4242, 0, " "], [4243, 0, "d"], [4244, 0, "a"], [4245, 0, "t"], [4246, 0, "a"], [4247, 0, "b"], [4248, 0, "a"], [4249, 0, "s"], [4250, 0, "e"], [4251, 0, "s"], [4252, 0, " "], [4253, 0, "a"], [4254, 0, "n"], [4255, 0, "d"], [4256, 0, " "], [4257, 0, "w"], [4258, 0, "e"], [4259, 0, "b"], [4260, 0, " "], [4261, 0, "s"], [4262, 0, "e"], [4263, 0, "r"], [4264, 0, "v"], [4265, 0, "i"], [4266, 0, "c"], [4267, 0, "e"], [4268, 0, "s"], [4350, 0, "T"], [4351, 0, "h"], [4352, 0, "e"], [4353, 0, " "], [4354, 0, "s"], [4355, 0, "t"], [4356, 0, "r"], [4357, 0, "u"], [4358, 0, "c"], [4359, 0, "t"], [4360, 0, "u"], [4361, 0, "r"], [4362, 0, "e"], [4363, 0, " "], [4364, 0, "o"], [4365, 0, "f"], [4366, 0, " "], [4367, 0, "a"], [4368, 0, " "], [4369, 0, "J"], [4370, 0, "S"], [4371, 0, "O"], [4372, 0, "N"], [4373, 0, " "], [4374, 0, "d"], [4375, 0, "o"], [4376, 0, "c"], [4377, 0, "u"], [4378, 0, "m"], [4379, 0, "e"], [4380, 0, "n"], [4381, 0, "t"], [4382, 0, " "], [4383, 0, "c"], [4384, 0, "a"], [4385, 0, "n"], [4386, 0, " "], [4387, 0, "o"], [4388, 0, "p"], [4389, 0, "t"], [4390, 0, "i"], [4391, 0, "o"], [4392, 0, "n"], [4393, 0, "a"], [4394, 0, "l"], [4395, 0, "l"], [4396, 0, "y"], [4397, 0, " "], [4398, 0, "b"], [4399, 0, "e"], [4400, 0, " "], [4401, 0, "c"], [4402, 0, "o"], [4403, 0, "n"], [4404, 0, "s"], [4405, 0, "t"], [4406, 0, "r"], [4407, 0, "a"], [4408, 0, "i"], [4409, 0, "n"], [4410, 0, "e"], [4411, 0, "d"], [4412, 0, " "], [4413, 0, "b"], [4414, 0, "y"], [4415, 0, " "], [4416, 0, "a"], [4417, 0, " "], [4418, 0, "s"], [4419, 0, "c"], [4420, 0, "h"], [4421, 0, "e"], [4422, 0, "m"], [4423, 0, "a"], [4424, 0, ","], [4425, 0, " "], [4426, 0, "b"], [4427, 0, "u"], [4428, 0, "t"], [4429, 0, " "], [4430, 0, "i"], [4431, 0, "n"], [4432, 0, " "], [4433, 0, "t"], [4434, 0, "h"], [4435, 0, "i"], [4436, 0, "s"], [4437, 0, " "], [4438, 0, "p"], [4439, 0, "a"], [4440, 0, "p"], [4441, 0, "e"], [4442, 0, "r"], [4443, 0, " "], [4444, 0, "w"], [4445, 0, "e"], [4446, 0, " "], [4447, 0, "c"], [4448, 0, "o"], [4449, 0, "n"], [4450, 0, "s"], [4451, 0, "i"], [4452, 0, "d"], [4453, 0, "e"], [4454, 0, "r"], [4455, 0, " "], [4456, 0, "`"], [4457, 0, "`"], [4457, 1], [4456, 1], [4456, 0, "o"], [4457, 0, "n"], [4458, 0, "l"], [4459, 0, "y"], [4460, 0, " "], [4461, 0, "u"], [4462, 0, "n"], [4463, 0, "t"], [4464, 0, "y"], [4465, 0, "p"], [4466, 0, "e"], [4467, 0, "d"], [4468, 0, " "], [4469, 0, "J"], [4470, 0, "S"], [4471, 0, "O"], [4472, 0, "N"], [4473, 0, " "], [4474, 0, "w"], [4475, 0, "i"], [4476, 0, "t"], [4477, 0, "h"], [4478, 0, "o"], [4479, 0, "u"], [4480, 0, "t"], [4481, 0, " "], [4482, 0, "a"], [4483, 0, "n"], [4484, 0, " "], [4485, 0, "e"], [4486, 0, "x"], [4487, 0, "p"], [4488, 0, "l"], [4489, 0, "i"], [4490, 0, "c"], [4491, 0, "i"], [4492, 0, "t"], [4493, 0, " "], [4494, 0, "s"], [4495, 0, "c"], [4496, 0, "h"], [4497, 0, "e"], [4498, 0, "m"], [4499, 0, "a"], [4500, 0, "."], [4428, 1], [4427, 1], [4426, 1], [4425, 1], [4424, 1], [4424, 0, ";"], [4425, 0, " "], [4426, 0, "f"], [4427, 0, "o"], [4428, 0, "r"], [4429, 0, " "], [4430, 0, "s"], [4431, 0, "i"], [4432, 0, "m"], [4433, 0, "p"], [4434, 0, "l"], [4435, 0, "i"], [4436, 0, "c"], [4437, 0, "i"], [4438, 0, "t"], [4439, 0, "y"], [4440, 0, ","], [4442, 1], [4442, 1], [4442, 1], [4453, 1], [4453, 1], [4453, 1], [4453, 1], [4453, 1], [4453, 1], [4453, 1], [4453, 1], [4453, 1], [4453, 1], [4453, 1], [4453, 0, "d"], [4454, 0, "i"], [4455, 0, "s"], [4456, 0, "c"], [4457, 0, "u"], [4458, 0, "s"], [4459, 0, "s"], [4460, 0, "e"], [4461, 0, "s"], [4425, 0, " "], [4426, 0, "h"], [4427, 0, "o"], [4428, 0, "w"], [4429, 0, "e"], [4430, 0, "v"], [4431, 0, "e"], [4432, 0, "r"], [4433, 0, ","], [4517, 0, "\n"], [4518, 0, "\n"], [4519, 0, "A"], [4520, 0, " "], [4521, 0, "J"], [4522, 0, "S"], [4523, 0, "O"], [4524, 0, "N"], [4525, 0, " "], [4526, 0, "d"], [4527, 0, "o"], [4528, 0, "c"], [4529, 0, "u"], [4530, 0, "m"], [4531, 0, "e"], [4532, 0, "n"], [4533, 0, "t"], [4534, 0, " "], [4535, 0, "i"], [4536, 0, "s"], [4537, 0, " "], [4538, 0, "a"], [4539, 0, " "], [4540, 0, "t"], [4541, 0, "r"], [4542, 0, "e"], [4543, 0, "e"], [4544, 0, " "], [4545, 0, "c"], [4546, 0, "o"], [4547, 0, "n"], [4548, 0, "s"], [4549, 0, "i"], [4550, 0, "s"], [4551, 0, "t"], [4552, 0, "i"], [4553, 0, "n"], [4554, 0, "g"], [4555, 0, " "], [4556, 0, "o"], [4557, 0, "f"], [4558, 0, " "], [4559, 0, "t"], [4560, 0, "h"], [4561, 0, "e"], [4562, 0, " "], [4563, 0, "f"], [4564, 0, "o"], [4565, 0, "l"], [4566, 0, "l"], [4567, 0, "o"], [4568, 0, "w"], [4569, 0, "i"], [4570, 0, "n"], [4571, 0, "g"], [4572, 0, " "], [4573, 0, "t"], [4574, 0, "y"], [4575, 0, "p"], [4576, 0, "e"], [4577, 0, "s"], [4578, 0, " "], [4579, 0, "o"], [4580, 0, "f"], [4581, 0, " "], [4582, 0, "n"], [4583, 0, "o"], [4584, 0, "d"], [4585, 0, "e"], [4586, 0, ":"], [4587, 0, "\n"], [4588, 0, "\n"], [4589, 0, "\\"], [4590, 0, "b"], [4591, 0, "e"], [4592, 0, "g"], [4593, 0, "i"], [4594, 0, "n"], [4595, 0, "{"], [4596, 0, "d"], [4597, 0, "e"], [4598, 0, "s"], [4599, 0, "c"], [4600, 0, "r"], [4601, 0, "i"], [4602, 0, "p"], [4603, 0, "t"], [4604, 0, "i"], [4605, 0, "o"], [4606, 0, "n"], [4607, 0, "}"], [4608, 0, "\n"], [4609, 0, "\\"], [4610, 0, "e"], [4611, 0, "n"], [4612, 0, "d"], [4613, 0, "{"], [4614, 0, "d"], [4615, 0, "e"], [4616, 0, "s"], [4617, 0, "c"], [4618, 0, "r"], [4619, 0, "i"], [4620, 0, "p"], [4621, 0, "t"], [4622, 0, "i"], [4623, 0, "o"], [4624, 0, "n"], [4625, 0, "}"], [4608, 0, "\n"], [4609, 0, "\\"], [4610, 0, "i"], [4611, 0, "t"], [4612, 0, "e"], [4613, 0, "m"], [4614, 0, "["], [4615, 0, "M"], [4616, 0, "a"], [4617, 0, "p"], [4618, 0, ":"], [4619, 0, "]"], [4620, 0, " "], [4621, 0, "A"], [4622, 0, " "], [4623, 0, "b"], [4624, 0, "r"], [4625, 0, "a"], [4626, 0, "n"], [4627, 0, "c"], [4628, 0, "h"], [4629, 0, " "], [4630, 0, "n"], [4631, 0, "o"], [4632, 0, "d"], [4633, 0, "e"], [4634, 0, " "], [4635, 0, "w"], [4636, 0, "h"], [4637, 0, "o"], [4638, 0, "s"], [4639, 0, "e"], [4640, 0, " "], [4641, 0, "c"], [4642, 0, "h"], [4643, 0, "i"], [4644, 0, "l"], [4645, 0, "d"], [4646, 0, "r"], [4647, 0, "e"], [4648, 0, "n"], [4649, 0, " "], [4650, 0, "a"], [4651, 0, "r"], [4652, 0, "e"], [4653, 0, " "], [4654, 0, "n"], [4655, 0, "o"], [4656, 0, "t"], [4657, 0, " "], [4658, 0, "o"], [4659, 0, "r"], [4660, 0, "d"], [4661, 0, "e"], [4662, 0, "r"], [4663, 0, "e"], [4664, 0, "d"], [4664, 1], [4663, 1], [4662, 1], [4661, 1], [4660, 1], [4659, 1], [4658, 1], [4657, 1], [4656, 1], [4655, 1], [4654, 1], [4653, 1], [4652, 1], [4651, 1], [4650, 1], [4650, 0, "h"], [4651, 0, "a"], [4652, 0, "v"], [4653, 0, "e"], [4654, 0, " "], [4655, 0, "n"], [4656, 0, "o"], [4657, 0, " "], [4658, 0, "d"], [4659, 0, "e"], [4660, 0, "f"], [4661, 0, "i"], [4662, 0, "n"], [4663, 0, "e"], [4664, 0, "d"], [4665, 0, " "], [4666, 0, "o"], [4667, 0, "r"], [4668, 0, "d"], [4669, 0, "e"], [4670, 0, "r"], [4671, 0, ","], [4672, 0, " "], [4673, 0, "a"], [4674, 0, "n"], [4675, 0, "d"], [4676, 0, " "], [4677, 0, "w"], [4678, 0, "h"], [4679, 0, "e"], [4680, 0, "r"], [4681, 0, "e"], [4682, 0, " "], [4683, 0, "e"], [4684, 0, "a"], [4685, 0, "c"], [4686, 0, "h"], [4687, 0, " "], [4688, 0, "c"], [4689, 0, "h"], [4690, 0, "i"], [4691, 0, "l"], [4692, 0, "d"], [4693, 0, " "], [4694, 0, "i"], [4695, 0, "s"], [4696, 0, " "], [4697, 0, "l"], [4698, 0, "a"], [4699, 0, "b"], [4700, 0, "e"], [4701, 0, "l"], [4702, 0, "l"], [4703, 0, "e"], [4704, 0, "d"], [4705, 0, " "], [4706, 0, "w"], [4707, 0, "i"], [4708, 0, "t"], [4709, 0, "h"], [4710, 0, " "], [4711, 0, "a"], [4712, 0, " "], [4713, 0, "s"], [4714, 0, "t"], [4715, 0, "r"], [4716, 0, "i"], [4717, 0, "n"], [4718, 0, "g"], [4719, 0, " "], [4720, 0, "\\"], [4721, 0, "e"], [4722, 0, "m"], [4723, 0, "p"], [4724, 0, "h"], [4725, 0, "{"], [4726, 0, "k"], [4727, 0, "e"], [4728, 0, "y"], [4729, 0, "}"], [4730, 0, "."], [4731, 0, " "], [4732, 0, "A"], [4733, 0, " "], [4734, 0, "k"], [4735, 0, "e"], [4736, 0, "y"], [4737, 0, " "], [4738, 0, "u"], [4739, 0, "n"], [4740, 0, "i"], [4741, 0, "q"], [4742, 0, "u"], [4743, 0, "e"], [4744, 0, "l"], [4745, 0, "y"], [4746, 0, " "], [4747, 0, "i"], [4748, 0, "d"], [4749, 0, "e"], [4750, 0, "n"], [4751, 0, "t"], [4752, 0, "i"], [4753, 0, "f"], [4754, 0, "i"], [4755, 0, "e"], [4756, 0, "s"], [4757, 0, " "], [4758, 0, "o"], [4759, 0, "n"], [4760, 0, "e"], [4761, 0, " "], [4762, 0, "o"], [4763, 0, "f"], [4764, 0, " "], [4765, 0, "t"], [4766, 0, "h"], [4767, 0, "e"], [4768, 0, " "], [4769, 0, "c"], [4770, 0, "h"], [4771, 0, "i"], [4772, 0, "l"], [4773, 0, "d"], [4774, 0, "r"], [4775, 0, "e"], [4776, 0, "n"], [4777, 0, "."], [4778, 0, " "], [4779, 0, "A"], [4780, 0, " "], [4781, 0, "J"], [4782, 0, "S"], [4783, 0, "O"], [4784, 0, "N"], [4785, 0, " "], [4786, 0, "m"], [4787, 0, "a"], [4788, 0, "p"], [4789, 0, " "], [4790, 0, "i"], [4791, 0, "s"], [4792, 0, " "], [4793, 0, "a"], [4794, 0, "l"], [4795, 0, "s"], [4796, 0, "o"], [4797, 0, " "], [4798, 0, "k"], [4799, 0, "n"], [4800, 0, "o"], [4801, 0, "w"], [4802, 0, "n"], [4803, 0, " "], [4804, 0, "a"], [4805, 0, "s"], [4806, 0, " "], [4807, 0, "a"], [4808, 0, "n"], [4809, 0, " "], [4810, 0, "\\"], [4811, 0, "e"], [4812, 0, "m"], [4813, 0, "p"], [4814, 0, "h"], [4815, 0, "{"], [4816, 0, "o"], [4817, 0, "b"], [4818, 0, "j"], [4819, 0, "e"], [4820, 0, "c"], [4821, 0, "t"], [4822, 0, "}"], [4823, 0, "."], [4824, 0, "\n"], [4825, 0, "\\"], [4826, 0, "i"], [4827, 0, "t"], [4828, 0, "e"], [4829, 0, "m"], [4830, 0, "{"], [4831, 0, "L"], [4832, 0, "i"], [4833, 0, "s"], [4834, 0, "t"], [4835, 0, ":"], [4830, 1], [4830, 0, "["], [4836, 0, "]"], [4837, 0, " "], [4838, 0, "A"], [4839, 0, " "], [4840, 0, "b"], [4841, 0, "r"], [4842, 0, "a"], [4843, 0, "n"], [4844, 0, "c"], [4845, 0, "h"], [4846, 0, " "], [4847, 0, "n"], [4848, 0, "o"], [4849, 0, "d"], [4850, 0, "e"], [4851, 0, " "], [4852, 0, "w"], [4853, 0, "h"], [4854, 0, "o"], [4855, 0, "s"], [4856, 0, "e"], [4857, 0, " "], [4858, 0, "c"], [4859, 0, "h"], [4860, 0, "i"], [4861, 0, "l"], [4862, 0, "d"], [4863, 0, "r"], [4864, 0, "e"], [4865, 0, "n"], [4866, 0, " "], [4867, 0, "h"], [4868, 0, "a"], [4869, 0, "v"], [4870, 0, "e"], [4871, 0, " "], [4872, 0, "a"], [4873, 0, "n"], [4874, 0, " "], [4875, 0, "o"], [4876, 0, "r"], [4877, 0, "d"], [4878, 0, "e"], [4879, 0, "r"], [4880, 0, " "], [4881, 0, "d"], [4882, 0, "e"], [4883, 0, "f"], [4884, 0, "i"], [4885, 0, "n"], [4886, 0, "e"], [4887, 0, "d"], [4888, 0, " "], [4889, 0, "b"], [4890, 0, "y"], [4891, 0, " "], [4892, 0, "t"], [4893, 0, "h"], [4894, 0, "e"], [4895, 0, " "], [4896, 0, "a"], [4897, 0, "p"], [4898, 0, "p"], [4899, 0, "l"], [4900, 0, "i"], [4901, 0, "c"], [4902, 0, "a"], [4903, 0, "t"], [4904, 0, "i"], [4905, 0, "o"], [4906, 0, "n"], [4907, 0, "."], [4908, 0, " "], [4909, 0, "T"], [4910, 0, "h"], [4910, 1], [4909, 1], [4909, 0, "A"], [4910, 0, " "], [4911, 0, "J"], [4912, 0, "S"], [4913, 0, "O"], [4914, 0, "N"], [4915, 0, " "], [4916, 0, "l"], [4917, 0, "i"], [4918, 0, "s"], [4919, 0, "t"], [4920, 0, " "], [4921, 0, "i"], [4922, 0, "s"], [4923, 0, " "], [4924, 0, "a"], [4925, 0, "l"], [4926, 0, "s"], [4927, 0, "o"], [4928, 0, " "], [4929, 0, "k"], [4930, 0, "n"], [4931, 0, "o"], [4932, 0, "w"], [4933, 0, "n"], [4934, 0, " "], [4935, 0, "a"], [4936, 0, "s"], [4937, 0, " "], [4938, 0, "a"], [4939, 0, "n"], [4940, 0, " "], [4941, 0, "\\"], [4942, 0, "e"], [4943, 0, "m"], [4944, 0, "p"], [4945, 0, "h"], [4946, 0, "{"], [4947, 0, "a"], [4948, 0, "r"], [4949, 0, "r"], [4950, 0, "a"], [4951, 0, "y"], [4952, 0, "}"], [4953, 0, "."], [4954, 0, "\n"], [4955, 0, "\\"], [4956, 0, "i"], [4957, 0, "t"], [4958, 0, "e"], [4959, 0, "m"], [4960, 0, "["], [4961, 0, "R"], [4962, 0, "e"], [4963, 0, "g"], [4964, 0, "i"], [4965, 0, "s"], [4966, 0, "t"], [4967, 0, "e"], [4968, 0, "r"], [4969, 0, ":"], [4970, 0, "]"], [4971, 0, " "], [4972, 0, "A"], [4973, 0, " "], [4974, 0, "l"], [4975, 0, "e"], [4976, 0, "a"], [4977, 0, "f"], [4978, 0, " "], [4979, 0, "n"], [4980, 0, "o"], [4981, 0, "d"], [4982, 0, "e"], [4983, 0, " "], [4984, 0, "c"], [4985, 0, "o"], [4986, 0, "n"], [4987, 0, "t"], [4988, 0, "a"], [4989, 0, "i"], [4990, 0, "n"], [4991, 0, "i"], [4992, 0, "n"], [4993, 0, "g"], [4994, 0, " "], [4995, 0, "a"], [4996, 0, " "], [4997, 0, "p"], [4998, 0, "r"], [4999, 0, "i"], [5000, 0, "m"], [5001, 0, "i"], [5002, 0, "t"], [5003, 0, "i"], [5004, 0, "v"], [5005, 0, "e"], [5006, 0, " "], [5007, 0, "v"], [5008, 0, "a"], [5009, 0, "l"], [5010, 0, "u"], [5011, 0, "e"], [5012, 0, " "], [5013, 0, "("], [5014, 0, "s"], [5015, 0, "t"], [5016, 0, "r"], [5017, 0, "i"], [5018, 0, "n"], [5019, 0, "g"], [5020, 0, ","], [5021, 0, " "], [5022, 0, "n"], [5023, 0, "u"], [5024, 0, "m"], [5025, 0, "b"], [5026, 0, "e"], [5027, 0, "r"], [5028, 0, ","], [5029, 0, " "], [5030, 0, "b"], [5031, 0, "o"], [5032, 0, "o"], [5033, 0, "l"], [5034, 0, "e"], [5035, 0, "a"], [5036, 0, "n"], [5037, 0, " "], [5038, 0, "o"], [5039, 0, "r"], [5037, 0, ","], [5041, 0, " "], [5042, 0, "n"], [5043, 0, "u"], [5044, 0, "l"], [5045, 0, "l"], [5046, 0, ")"], [5047, 0, "."], [5048, 0, " "], [5048, 1], [4582, 0, "b"], [4583, 0, "r"], [4584, 0, "a"], [4585, 0, "n"], [4586, 0, "c"], [4587, 0, "h"], [4588, 0, " "], [4635, 1], [4634, 1], [4633, 1], [4632, 1], [4631, 1], [4630, 1], [4629, 1], [4840, 1], [4840, 1], [4840, 1], [4840, 1], [4840, 1], [4840, 1], [4840, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4948, 1], [4947, 1], [4965, 0, "\n"], [4966, 0, "\n"], [4824, 0, " "], [4824, 1], [4778, 0, " "], [4779, 0, "K"], [4780, 0, "e"], [4781, 0, "y"], [4782, 0, "s"], [4783, 0, " "], [4784, 0, "a"], [4785, 0, "r"], [4786, 0, "e"], [4787, 0, " "], [4788, 0, "i"], [4789, 0, "m"], [4790, 0, "m"], [4791, 0, "u"], [4792, 0, "t"], [4793, 0, "a"], [4794, 0, "b"], [4795, 0, "l"], [4796, 0, "e"], [4797, 0, ","], [4798, 0, " "], [4799, 0, "b"], [4800, 0, "u"], [4801, 0, "t"], [4802, 0, " "], [4803, 0, "v"], [4804, 0, "a"], [4805, 0, "l"], [4806, 0, "u"], [4807, 0, "e"], [4808, 0, "s"], [4809, 0, " "], [4810, 0, "a"], [4811, 0, "r"], [4812, 0, "e"], [4813, 0, " "], [4814, 0, "m"], [4815, 0, "u"], [4816, 0, "t"], [4817, 0, "a"], [4818, 0, "b"], [4819, 0, "l"], [4820, 0, "e"], [4821, 0, ","], [4822, 0, " "], [4823, 0, "a"], [4824, 0, "n"], [4825, 0, "d"], [4826, 0, " "], [4827, 0, "k"], [4828, 0, "e"], [4829, 0, "y"], [4830, 0, "-"], [4831, 0, "v"], [4832, 0, "a"], [4833, 0, "l"], [4834, 0, "u"], [4835, 0, "e"], [4836, 0, " "], [4837, 0, "m"], [4838, 0, "a"], [4839, 0, "p"], [4840, 0, "p"], [4841, 0, "i"], [4842, 0, "n"], [4843, 0, "g"], [4844, 0, "s"], [4845, 0, " "], [4846, 0, "c"], [4847, 0, "a"], [4848, 0, "n"], [4849, 0, " "], [4850, 0, "b"], [4851, 0, "e"], [4852, 0, " "], [4853, 0, "a"], [4854, 0, "d"], [4855, 0, "d"], [4856, 0, "e"], [4857, 0, "d"], [4858, 0, " "], [4859, 0, "a"], [4860, 0, "n"], [4861, 0, "d"], [4862, 0, " "], [4863, 0, "r"], [4864, 0, "e"], [4865, 0, "m"], [4866, 0, "o"], [4867, 0, "v"], [4868, 0, "e"], [4869, 0, "d"], [4870, 0, " "], [4871, 0, "f"], [4872, 0, "r"], [4873, 0, "o"], [4874, 0, "m"], [4875, 0, " "], [4876, 0, "t"], [4877, 0, "h"], [4878, 0, "e"], [4879, 0, " "], [4880, 0, "m"], [4881, 0, "a"], [4882, 0, "p"], [4883, 0, "."], [5007, 0, " "], [5008, 0, "T"], [5009, 0, "h"], [5010, 0, "e"], [5011, 0, " "], [5012, 0, "l"], [5013, 0, "i"], [5014, 0, "s"], [5015, 0, "t"], [5016, 0, " "], [5017, 0, "c"], [5018, 0, "a"], [5019, 0, "n"], [5020, 0, " "], [5021, 0, "b"], [5022, 0, "e"], [5023, 0, " "], [5024, 0, "m"], [5025, 0, "u"], [5026, 0, "t"], [5027, 0, "a"], [5028, 0, "t"], [5029, 0, "e"], [5030, 0, "d"], [5031, 0, " "], [5032, 0, "b"], [5033, 0, "y"], [5034, 0, " "], [5035, 0, "i"], [5036, 0, "n"], [5037, 0, "s"], [5038, 0, "e"], [5039, 0, "r"], [5040, 0, "t"], [5041, 0, "i"], [5042, 0, "n"], [5043, 0, "g"], [5044, 0, " "], [5045, 0, "o"], [5046, 0, "r"], [5047, 0, " "], [5048, 0, "d"], [5049, 0, "e"], [5050, 0, "l"], [5051, 0, "e"], [5052, 0, "t"], [5053, 0, "i"], [5054, 0, "n"], [5055, 0, "g"], [5056, 0, " "], [5057, 0, "l"], [5058, 0, "i"], [5059, 0, "s"], [5060, 0, "t"], [5061, 0, " "], [5062, 0, "e"], [5063, 0, "l"], [5064, 0, "e"], [5065, 0, "m"], [5066, 0, "e"], [5067, 0, "n"], [5068, 0, "t"], [5069, 0, "s"], [5070, 0, "."], [5137, 0, "T"], [5138, 0, "h"], [5139, 0, "e"], [5140, 0, " "], [5141, 0, "l"], [5142, 0, "e"], [5143, 0, "a"], [5144, 0, "v"], [5145, 0, "e"], [5146, 0, "s"], [5147, 0, " "], [5148, 0, "o"], [5149, 0, "f"], [5150, 0, " "], [5151, 0, "t"], [5152, 0, "h"], [5153, 0, "e"], [5154, 0, " "], [5155, 0, "t"], [5156, 0, "r"], [5157, 0, "e"], [5158, 0, "e"], [5159, 0, " "], [5160, 0, "c"], [5161, 0, "o"], [5162, 0, "n"], [5163, 0, "t"], [5164, 0, "a"], [5165, 0, "i"], [5166, 0, "n"], [5167, 0, " "], [5139, 1], [5138, 1], [5137, 1], [5137, 0, "e"], [5137, 1], [5137, 0, "A"], [5138, 0, " "], [5139, 0, "c"], [5140, 0, "h"], [5141, 0, "i"], [5142, 0, "l"], [5143, 0, "d"], [5144, 0, " "], [5145, 0, "o"], [5146, 0, "f"], [5147, 0, " "], [5148, 0, "a"], [5149, 0, " "], [5150, 0, "b"], [5151, 0, "r"], [5152, 0, "a"], [5153, 0, "n"], [5154, 0, "c"], [5155, 0, "h"], [5156, 0, " "], [5157, 0, "n"], [5158, 0, "o"], [5159, 0, "d"], [5160, 0, "e"], [5161, 0, " "], [5162, 0, "c"], [5163, 0, "a"], [5164, 0, "n"], [5165, 0, " "], [5166, 0, "b"], [5167, 0, "e"], [5168, 0, " "], [5169, 0, "e"], [5170, 0, "i"], [5171, 0, "t"], [5172, 0, "h"], [5173, 0, "e"], [5174, 0, "r"], [5175, 0, " "], [5176, 0, "a"], [5177, 0, "n"], [5178, 0, "o"], [5179, 0, "t"], [5180, 0, "h"], [5181, 0, "e"], [5182, 0, "r"], [5183, 0, " "], [5184, 0, "b"], [5185, 0, "r"], [5186, 0, "a"], [5187, 0, "n"], [5188, 0, "c"], [5189, 0, "h"], [5190, 0, " "], [5191, 0, "n"], [5192, 0, "o"], [5193, 0, "d"], [5194, 0, "e"], [5195, 0, ","], [5196, 0, " "], [5197, 0, "o"], [5198, 0, "r"], [5199, 0, " "], [5200, 0, "a"], [5201, 0, " "], [5202, 0, "l"], [5203, 0, "e"], [5204, 0, "a"], [5205, 0, "f"], [5206, 0, " "], [5207, 0, "n"], [5208, 0, "o"], [5209, 0, "d"], [5210, 0, "e"], [5211, 0, "."], [5212, 0, " "], [5213, 0, "A"], [5220, 1], [5219, 1], [5218, 1], [5218, 0, "f"], [5239, 1], [5239, 0, "s"], [5240, 0, " "], [5241, 0, "a"], [5242, 0, " "], [5243, 0, "p"], [5244, 0, "r"], [5245, 0, "i"], [5246, 0, "m"], [5247, 0, "i"], [5248, 0, "t"], [5249, 0, "i"], [5250, 0, "v"], [5251, 0, "e"], [5252, 0, " "], [5253, 0, "v"], [5254, 0, "a"], [5255, 0, "l"], [5256, 0, "u"], [5257, 0, "e"], [5258, 0, " "], [5259, 0, "("], [5260, 0, "s"], [5261, 0, "t"], [5262, 0, "r"], [5263, 0, "i"], [5264, 0, "n"], [5265, 0, "g"], [5266, 0, ","], [5267, 0, " "], [5268, 0, "n"], [5269, 0, "u"], [5270, 0, "m"], [5271, 0, "b"], [5272, 0, "e"], [5273, 0, "r"], [5274, 0, ","], [5275, 0, " "], [5276, 0, "b"], [5277, 0, "o"], [5278, 0, "o"], [5279, 0, "l"], [5280, 0, "e"], [5281, 0, "a"], [5282, 0, "n"], [5283, 0, ","], [5284, 0, " "], [5285, 0, "o"], [5286, 0, "r"], [5287, 0, " "], [5288, 0, "n"], [5289, 0, "u"], [5290, 0, "l"], [5291, 0, "l"], [5292, 0, ")"], [5293, 0, "."], [5294, 0, " "], [5295, 0, "W"], [5296, 0, "e"], [5297, 0, " "], [5298, 0, "t"], [5299, 0, "r"], [5300, 0, "e"], [5301, 0, "a"], [5302, 0, "t"], [5303, 0, " "], [5304, 0, "p"], [5305, 0, "r"], [5306, 0, "i"], [5307, 0, "m"], [5308, 0, "i"], [5309, 0, "t"], [5310, 0, "i"], [5311, 0, "v"], [5312, 0, "e"], [5313, 0, " "], [5314, 0, "v"], [5315, 0, "a"], [5316, 0, "l"], [5317, 0, "u"], [5318, 0, "e"], [5319, 0, "s"], [5320, 0, " "], [5321, 0, "a"], [5322, 0, "s"], [5323, 0, " "], [5324, 0, "i"], [5325, 0, "m"], [5326, 0, "m"], [5327, 0, "u"], [5328, 0, "t"], [5329, 0, "a"], [5330, 0, "b"], [5331, 0, "l"], [5332, 0, "e"], [5333, 0, ","], [5334, 0, " "], [5335, 0, "b"], [5336, 0, "u"], [5337, 0, "t"], [5338, 0, " "], [5339, 0, "a"], [5340, 0, "l"], [5341, 0, "l"], [5342, 0, "o"], [5343, 0, "w"], [5344, 0, " "], [5345, 0, "a"], [5346, 0, " "], [5346, 1], [5345, 1], [5345, 0, "t"], [5346, 0, "h"], [5347, 0, "e"], [5348, 0, " "], [5349, 0, "v"], [5350, 0, "a"], [5351, 0, "l"], [5352, 0, "u"], [5353, 0, "e"], [5354, 0, " "], [5355, 0, "o"], [5356, 0, "f"], [5357, 0, " "], [5358, 0, "a"], [5359, 0, " "], [5360, 0, "l"], [5361, 0, "e"], [5362, 0, "a"], [5363, 0, "f"], [5364, 0, " "], [5365, 0, "n"], [5366, 0, "o"], [5367, 0, "d"], [5368, 0, "e"], [5369, 0, " "], [5370, 0, "t"], [5371, 0, "o"], [5372, 0, " "], [5373, 0, "b"], [5374, 0, "e"], [5375, 0, " "], [5376, 0, "m"], [5377, 0, "o"], [5378, 0, "d"], [5379, 0, "i"], [5380, 0, "f"], [5381, 0, "i"], [5382, 0, "e"], [5383, 0, "d"], [5384, 0, " "], [5385, 0, "b"], [5386, 0, "y"], [5387, 0, " "], [5388, 0, "t"], [5389, 0, "r"], [5390, 0, "e"], [5391, 0, "a"], [5392, 0, "t"], [5393, 0, "i"], [5394, 0, "n"], [5395, 0, "g"], [5396, 0, " "], [5397, 0, "i"], [5398, 0, "t"], [5399, 0, " "], [5400, 0, "a"], [5401, 0, "s"], [5402, 0, " "], [5403, 0, "a"], [5404, 0, " "], [5405, 0, "\\"], [5406, 0, "e"], [5407, 0, "m"], [5408, 0, "p"], [5409, 0, "h"], [5410, 0, "{"], [5411, 0, "r"], [5412, 0, "e"], [5413, 0, "g"], [5414, 0, "i"], [5415, 0, "s"], [5416, 0, "t"], [5417, 0, "e"], [5418, 0, "r"], [5419, 0, "}"], [5420, 0, " "], [5421, 0, "t"], [5422, 0, "h"], [5423, 0, "a"], [5424, 0, "t"], [5425, 0, " "], [5426, 0, "c"], [5427, 0, "a"], [5428, 0, "n"], [5429, 0, " "], [5430, 0, "b"], [5431, 0, "e"], [5432, 0, " "], [5433, 0, "a"], [5434, 0, "s"], [5435, 0, "s"], [5436, 0, "i"], [5437, 0, "g"], [5438, 0, "n"], [5439, 0, "e"], [5440, 0, "d"], [5441, 0, " "], [5442, 0, "a"], [5443, 0, " "], [5444, 0, "n"], [5445, 0, "e"], [5446, 0, "w"], [5447, 0, " "], [5448, 0, "v"], [5449, 0, "a"], [5450, 0, "l"], [5451, 0, "u"], [5452, 0, "e"], [5453, 0, "."], [4571, 1], [4570, 1], [4569, 1], [4568, 1], [4567, 1], [4566, 1], [4565, 1], [4564, 1], [4563, 1], [4562, 1], [4561, 1], [4560, 1], [4559, 1], [4558, 1], [4557, 1], [4556, 1], [4555, 1], [4554, 1], [4553, 1], [4552, 1], [4551, 1], [4550, 1], [4549, 1], [4548, 1], [4548, 0, "n"], [4549, 0, "t"], [4550, 0, "a"], [4551, 0, "i"], [4552, 0, "n"], [4552, 1], [4551, 1], [4550, 1], [4549, 1], [4548, 1], [4548, 0, "t"], [4549, 0, "a"], [4550, 0, "i"], [4551, 0, "n"], [4552, 0, "i"], [4553, 0, "n"], [4554, 0, "g"], [4555, 0, " "], [4556, 0, "t"], [4557, 0, "w"], [4558, 0, "o"], [5441, 0, "\n"], [5442, 0, "\n"], [5443, 0, "\\"], [5443, 1], [5443, 0, "I"], [5444, 0, "n"], [5445, 0, " "], [5446, 0, "s"], [5447, 0, "e"], [5448, 0, "c"], [5449, 0, "t"], [5450, 0, "i"], [5451, 0, "o"], [5452, 0, "n"], [5453, 0, "~"], [5454, 0, "\\"], [5455, 0, "r"], [5456, 0, "e"], [5457, 0, "f"], [5458, 0, "{"], [5459, 0, "s"], [5460, 0, "e"], [5461, 0, "c"], [5462, 0, ":"], [5463, 0, "e"], [5464, 0, "a"], [5464, 1], [5464, 0, "x"], [5465, 0, "a"], [5466, 0, "m"], [5467, 0, "p"], [5468, 0, "l"], [5469, 0, "e"], [5470, 0, "s"], [5471, 0, "}"], [5472, 0, " "], [5473, 0, "w"], [5474, 0, "e"], [5475, 0, " "], [5476, 0, "s"], [5477, 0, "h"], [5478, 0, "o"], [5479, 0, "w"], [5480, 0, " "], [5481, 0, "s"], [5482, 0, "o"], [5483, 0, "m"], [5484, 0, "e"], [5485, 0, " "], [5486, 0, "e"], [5487, 0, "x"], [5487, 1], [5486, 1], [5486, 0, "s"], [5487, 0, "i"], [5488, 0, "m"], [5489, 0, "p"], [5490, 0, "l"], [5491, 0, "e"], [5492, 0, " "], [5493, 0, "e"], [5494, 0, "x"], [5495, 0, "a"], [5496, 0, "m"], [5497, 0, "p"], [5498, 0, "l"], [5499, 0, "e"], [5500, 0, "s"], [5501, 0, " "], [5502, 0, "o"], [5503, 0, "f"], [5504, 0, " "], [5505, 0, "u"], [5506, 0, "s"], [5507, 0, "i"], [5508, 0, "n"], [5509, 0, "g"], [5510, 0, " "], [5511, 0, "J"], [5512, 0, "S"], [5513, 0, "O"], [5514, 0, "N"], [5515, 0, " "], [5516, 0, "t"], [5517, 0, "o"], [5518, 0, " "], [5519, 0, "m"], [5520, 0, "o"], [5521, 0, "d"], [5522, 0, "e"], [5523, 0, "l"], [5524, 0, " "], [5525, 0, "a"], [5526, 0, "p"], [5527, 0, "p"], [5528, 0, "l"], [5529, 0, "i"], [5530, 0, "c"], [5531, 0, "a"], [5532, 0, "t"], [5533, 0, "i"], [5534, 0, "o"], [5535, 0, "n"], [5536, 0, " "], [5537, 0, "d"], [5538, 0, "a"], [5539, 0, "t"], [5540, 0, "a"], [5541, 0, "."], [5442, 0, "\n"], [5443, 0, "T"], [5444, 0, "h"], [5445, 0, "i"], [5446, 0, "s"], [5447, 0, " "], [5448, 0, "m"], [5449, 0, "o"], [5450, 0, "d"], [5451, 0, "e"], [5452, 0, "l"], [5453, 0, " "], [5454, 0, "i"], [5455, 0, "s"], [5456, 0, " "], [5457, 0, "s"], [5458, 0, "u"], [5459, 0, "f"], [5460, 0, "f"], [5461, 0, "i"], [5462, 0, "c"], [5463, 0, "i"], [5464, 0, "e"], [5465, 0, "n"], [5466, 0, "t"], [5467, 0, " "], [5468, 0, "t"], [5469, 0, "o"], [5470, 0, " "], [5471, 0, "e"], [5472, 0, "x"], [5473, 0, "p"], [5474, 0, "r"], [5475, 0, "e"], [5476, 0, "s"], [5477, 0, "s"], [5478, 0, " "], [5479, 0, "t"], [5480, 0, "h"], [5481, 0, "e"], [5482, 0, " "], [5483, 0, "s"], [5484, 0, "t"], [5485, 0, "a"], [5486, 0, "t"], [5487, 0, "e"], [5488, 0, " "], [5489, 0, "o"], [5490, 0, "f"], [5491, 0, " "], [5492, 0, "a"], [5493, 0, " "], [5494, 0, "w"], [5495, 0, "i"], [5496, 0, "d"], [5497, 0, "e"], [5498, 0, " "], [5499, 0, "r"], [5500, 0, "a"], [5501, 0, "n"], [5502, 0, "g"], [5503, 0, "e"], [5504, 0, " "], [5505, 0, "o"], [5506, 0, "f"], [5507, 0, " "], [5508, 0, "a"], [5509, 0, "p"], [5510, 0, "p"], [5511, 0, "l"], [5512, 0, "i"], [5513, 0, "c"], [5514, 0, "a"], [5515, 0, "t"], [5516, 0, "i"], [5517, 0, "o"], [5518, 0, "n"], [5519, 0, "s"], [5520, 0, "."], [5521, 0, " "], [5522, 0, "F"], [5523, 0, "o"], [5524, 0, "r"], [5525, 0, " "], [5526, 0, "e"], [5527, 0, "x"], [5528, 0, "a"], [5529, 0, "m"], [5530, 0, "p"], [5531, 0, "l"], [5532, 0, "e"], [5533, 0, ","], [5534, 0, " "], [5535, 0, "a"], [5536, 0, " "], [5537, 0, "t"], [5538, 0, "e"], [5539, 0, "x"], [5540, 0, "t"], [5541, 0, " "], [5542, 0, "d"], [5543, 0, "o"], [5544, 0, "c"], [5545, 0, "u"], [5546, 0, "m"], [5547, 0, "e"], [5548, 0, "n"], [5549, 0, "t"], [5550, 0, " "], [5551, 0, "c"], [5552, 0, "a"], [5553, 0, "n"], [5554, 0, " "], [5555, 0, "b"], [5556, 0, "e"], [5557, 0, " "], [5558, 0, "r"], [5559, 0, "e"], [5560, 0, "p"], [5561, 0, "r"], [5562, 0, "e"], [5563, 0, "s"], [5564, 0, "e"], [5565, 0, "n"], [5566, 0, "t"], [5567, 0, "e"], [5568, 0, "d"], [5569, 0, " "], [5570, 0, "b"], [5571, 0, "y"], [5572, 0, " "], [5573, 0, "a"], [5574, 0, "n"], [5575, 0, " "], [5576, 0, "o"], [5577, 0, "r"], [5578, 0, "d"], [5579, 0, "e"], [5580, 0, "r"], [5581, 0, "e"], [5582, 0, "d"], [5583, 0, " "], [5584, 0, "l"], [5585, 0, "i"], [5586, 0, "s"], [5587, 0, "t"], [5588, 0, " "], [5589, 0, "o"], [5590, 0, "f"], [5591, 0, " "], [5592, 0, "i"], [5593, 0, "n"], [5594, 0, "d"], [5595, 0, "i"], [5596, 0, "v"], [5582, 1], [5581, 1], [5580, 1], [5579, 1], [5578, 1], [5577, 1], [5576, 1], [5575, 1], [5574, 1], [5588, 0, "i"], [5589, 0, "d"], [5590, 0, "u"], [5591, 0, "a"], [5592, 0, "l"], [5593, 0, " "], [5594, 0, "c"], [5595, 0, "h"], [5596, 0, "a"], [5597, 0, "r"], [5598, 0, "a"], [5599, 0, "c"], [5600, 0, "t"], [5601, 0, "e"], [5602, 0, "r"], [5603, 0, "s"], [5593, 1], [5592, 1], [5591, 1], [5590, 1], [5589, 1], [5588, 1], [5587, 1], [5586, 1], [5585, 1], [5584, 1], [5583, 1], [5583, 0, "s"], [5584, 0, "i"], [5585, 0, "n"], [5586, 0, "g"], [5587, 0, "l"], [5588, 0, "e"], [5589, 0, "-"], [5599, 1], [5599, 0, " "], [5600, 0, "s"], [5601, 0, "t"], [5602, 0, "r"], [5603, 0, "i"], [5604, 0, "n"], [5605, 0, "g"], [5606, 0, "s"], [5607, 0, ";"], [5608, 0, " "], [5609, 0, "c"], [5610, 0, "h"], [5611, 0, "a"], [5612, 0, "r"], [5613, 0, "a"], [5614, 0, "c"], [5615, 0, "t"], [5616, 0, "e"], [5617, 0, "r"], [5618, 0, "-"], [5619, 0, "b"], [5620, 0, "y"], [5621, 0, "-"], [5622, 0, "c"], [5623, 0, "h"], [5624, 0, "a"], [5625, 0, "r"], [5626, 0, "a"], [5627, 0, "c"], [5628, 0, "t"], [5629, 0, "e"], [5630, 0, "r"], [5631, 0, " "], [5632, 0, "e"], [5633, 0, "d"], [5634, 0, "i"], [5635, 0, "t"], [5636, 0, "s"], [5637, 0, " "], [5638, 0, "a"], [5639, 0, "r"], [5640, 0, "e"], [5641, 0, " "], [5642, 0, "t"], [5643, 0, "h"], [5644, 0, "e"], [5645, 0, "n"], [5646, 0, " "], [5647, 0, "e"], [5648, 0, "x"], [5649, 0, "p"], [5650, 0, "r"], [5651, 0, "e"], [5652, 0, "s"], [5653, 0, "s"], [5654, 0, "e"], [5655, 0, "d"], [5656, 0, " "], [5657, 0, "a"], [5658, 0, "s"], [5659, 0, " "], [5660, 0, "i"], [5661, 0, "n"], [5662, 0, "s"], [5663, 0, "e"], [5664, 0, "r"], [5665, 0, "t"], [5666, 0, "i"], [5667, 0, "o"], [5668, 0, "n"], [5669, 0, "s"], [5670, 0, " "], [5671, 0, "a"], [5672, 0, "n"], [5673, 0, "d"], [5674, 0, " "], [5675, 0, "d"], [5676, 0, "e"], [5677, 0, "l"], [5678, 0, "e"], [5679, 0, "t"], [5680, 0, "i"], [5681, 0, "o"], [5682, 0, "n"], [5683, 0, "s"], [5684, 0, " "], [5685, 0, "o"], [5686, 0, "f"], [5687, 0, " "], [5688, 0, "l"], [5689, 0, "i"], [5690, 0, "s"], [5691, 0, "t"], [5692, 0, " "], [5693, 0, "e"], [5694, 0, "l"], [5695, 0, "e"], [5696, 0, "m"], [5697, 0, "e"], [5698, 0, "n"], [5699, 0, "t"], [5700, 0, "s"], [5701, 0, "."], [5702, 1], [5702, 0, " "], [5751, 1], [5750, 1], [5749, 1], [5748, 1], [5747, 1], [5746, 1], [5745, 1], [5744, 1], [5743, 1], [5742, 1], [5741, 1], [5741, 0, "f"], [5742, 0, "u"], [5743, 0, "r"], [5744, 0, "t"], [5745, 0, "h"], [5746, 0, "e"], [5747, 0, "r"], [5798, 0, "\n"], [5799, 0, "\n"], [5800, 0, "\\"], [5801, 0, "s"], [5802, 0, "u"], [5803, 0, "b"], [5804, 0, "s"], [5805, 0, "e"], [5806, 0, "c"], [5807, 0, "t"], [5808, 0, "i"], [5809, 0, "o"], [5810, 0, "n"], [5811, 0, "{"], [5812, 0, "C"], [5813, 0, "o"], [5814, 0, "n"], [5815, 0, "f"], [5816, 0, "l"], [5817, 0, "i"], [5818, 0, "c"], [5819, 0, "t"], [5820, 0, " "], [5821, 0, "r"], [5822, 0, "e"], [5823, 0, "s"], [5824, 0, "o"], [5825, 0, "l"], [5826, 0, "u"], [5827, 0, "t"], [5828, 0, "i"], [5829, 0, "o"], [5830, 0, "n"], [5831, 0, "}"], [5830, 1], [5829, 1], [5828, 1], [5827, 1], [5826, 1], [5825, 1], [5824, 1], [5823, 1], [5822, 1], [5821, 1], [5820, 1], [5819, 1], [5818, 1], [5817, 1], [5816, 1], [5815, 1], [5814, 1], [5813, 1], [5812, 1], [5812, 0, "R"], [5813, 0, "e"], [5814, 0, "p"], [5815, 0, "l"], [5816, 0, "i"], [5817, 0, "c"], [5818, 0, "a"], [5819, 0, "t"], [5820, 0, "i"], [5821, 0, "o"], [5822, 0, "n"], [5823, 0, " "], [5824, 0, "m"], [5825, 0, "o"], [5826, 0, "d"], [5827, 0, "e"], [5828, 0, "l"], [5828, 1], [5827, 1], [5826, 1], [5825, 1], [5824, 1], [5824, 0, "a"], [5825, 0, "n"], [5826, 0, "d"], [5827, 0, " "], [5828, 0, "c"], [5829, 0, "o"], [5830, 0, "n"], [5831, 0, "f"], [5832, 0, "l"], [5833, 0, "i"], [5834, 0, "c"], [5835, 0, "t"], [5836, 0, " "], [5837, 0, "r"], [5838, 0, "e"], [5839, 0, "s"], [5840, 0, "o"], [5841, 0, "l"], [5842, 0, "u"], [5843, 0, "t"], [5844, 0, "i"], [5845, 0, "o"], [5846, 0, "n"], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [12904, 1], [6127, 0, "\n"], [6128, 0, "\n"], [6128, 0, "W"], [6129, 0, "e"], [6130, 0, " "], [6131, 0, "c"], [6132, 0, "o"], [6133, 0, "n"], [6134, 0, "s"], [6135, 0, "i"], [6136, 0, "d"], [6137, 0, "e"], [6138, 0, "r"], [6139, 0, " "], [6140, 0, "s"], [6141, 0, "y"], [6142, 0, "s"], [6143, 0, "t"], [6144, 0, "e"], [6145, 0, "m"], [6146, 0, "s"], [6147, 0, " "], [6148, 0, "i"], [6149, 0, "n"], [6150, 0, " "], [6151, 0, "w"], [6152, 0, "h"], [6153, 0, "i"], [6154, 0, "c"], [6155, 0, "h"], [6156, 0, " "], [6157, 0, "a"], [6158, 0, " "], [6159, 0, "f"], [6160, 0, "u"], [6161, 0, "l"], [6162, 0, "l"], [6163, 0, " "], [6164, 0, "c"], [6165, 0, "o"], [6166, 0, "p"], [6167, 0, "y"], [6168, 0, " "], [6169, 0, "o"], [6170, 0, "f"], [6171, 0, " "], [6172, 0, "t"], [6173, 0, "h"], [6174, 0, "e"], [6175, 0, " "], [6176, 0, "J"], [6177, 0, "S"], [6178, 0, "O"], [6179, 0, "N"], [6180, 0, " "], [6181, 0, "d"], [6182, 0, "o"], [6183, 0, "c"], [6184, 0, "u"], [6185, 0, "m"], [6186, 0, "e"], [6187, 0, "n"], [6188, 0, "t"], [6189, 0, " "], [6190, 0, "i"], [6191, 0, "s"], [6192, 0, " "], [6193, 0, "r"], [6194, 0, "e"], [6195, 0, "p"], [6196, 0, "l"], [6197, 0, "i"], [6198, 0, "c"], [6199, 0, "a"], [6200, 0, "t"], [6201, 0, "e"], [6202, 0, "d"], [6203, 0, " "], [6204, 0, "o"], [6205, 0, "n"], [6206, 0, " "], [6207, 0, "s"], [6208, 0, "e"], [6209, 0, "v"], [6210, 0, "e"], [6211, 0, "r"], [6212, 0, "a"], [6213, 0, "l"], [6214, 0, " "], [6215, 0, "d"], [6216, 0, "e"], [6217, 0, "v"], [6218, 0, "i"], [6219, 0, "c"], [6220, 0, "e"], [6221, 0, "s"], [6222, 0, "."], [6223, 0, " "], [6224, 0, "T"], [6225, 0, "h"], [6226, 0, "o"], [6227, 0, "s"], [6228, 0, "e"], [6229, 0, " "], [6230, 0, "d"], [6231, 0, "e"], [6232, 0, "v"], [6233, 0, "i"], [6234, 0, "c"], [6235, 0, "e"], [6236, 0, "s"], [6237, 0, " "], [6238, 0, "c"], [6239, 0, "o"], [6240, 0, "u"], [6241, 0, "l"], [6242, 0, "d"], [6243, 0, " "], [6244, 0, "b"], [6245, 0, "e"], [6246, 0, " "], [6247, 0, "s"], [6248, 0, "e"], [6249, 0, "r"], [6250, 0, "v"], [6251, 0, "e"], [6252, 0, "r"], [6253, 0, "s"], [6254, 0, " "], [6255, 0, "i"], [6256, 0, "n"], [6257, 0, " "], [6258, 0, "d"], [6259, 0, "a"], [6260, 0, "t"], [6261, 0, "a"], [6262, 0, "c"], [6263, 0, "e"], [6264, 0, "n"], [6265, 0, "t"], [6266, 0, "e"], [6267, 0, "r"], [6268, 0, "s"], [6269, 0, ","], [6270, 0, " "], [6271, 0, "b"], [6272, 0, "u"], [6273, 0, "t"], [6274, 0, " "], [6275, 0, "w"], [6276, 0, "e"], [6277, 0, " "], [6278, 0, "p"], [6279, 0, "r"], [6280, 0, "i"], [6281, 0, "m"], [6282, 0, "a"], [6283, 0, "r"], [6284, 0, "i"], [6285, 0, "l"], [6286, 0, "y"], [6287, 0, " "], [6287, 1], [6286, 1], [6285, 1], [6284, 1], [6283, 1], [6282, 1], [6281, 1], [6280, 1], [6279, 1], [6278, 1], [6278, 0, "c"], [6279, 0, "o"], [6279, 1], [6278, 1], [6278, 0, "p"], [6278, 1], [6278, 0, "f"], [6279, 0, "o"], [6280, 0, "c"], [6281, 0, "u"], [6282, 0, "s"], [6283, 0, " "], [6284, 0, "o"], [6285, 0, "n"], [6286, 0, " "], [6287, 0, "m"], [6288, 0, "o"], [6289, 0, "b"], [6290, 0, "i"], [6291, 0, "l"], [6292, 0, "e"], [6293, 0, " "], [6294, 0, "d"], [6295, 0, "e"], [6296, 0, "v"], [6297, 0, "i"], [6298, 0, "c"], [6299, 0, "e"], [6300, 0, "s"], [6301, 0, " "], [6302, 0, "s"], [6303, 0, "u"], [6304, 0, "c"], [6305, 0, "h"], [6306, 0, " "], [6307, 0, "a"], [6308, 0, "s"], [6309, 0, " "], [6310, 0, "s"], [6311, 0, "m"], [6312, 0, "a"], [6313, 0, "r"], [6314, 0, "t"], [6315, 0, "p"], [6316, 0, "h"], [6317, 0, "o"], [6318, 0, "n"], [6319, 0, "e"], [6320, 0, "s"], [6321, 0, ","], [6322, 0, " "], [6323, 0, "t"], [6324, 0, "a"], [6325, 0, "b"], [6326, 0, "l"], [6327, 0, "e"], [6327, 1], [6326, 1], [6325, 1], [6324, 1], [6323, 1], [6322, 1], [6321, 1], [6321, 0, " "], [6322, 0, "a"], [6323, 0, "n"], [6324, 0, "d"], [6325, 0, " "], [6326, 0, "l"], [6327, 0, "a"], [6328, 0, "p"], [6329, 0, "t"], [6330, 0, "o"], [6331, 0, "p"], [6332, 0, "s"], [6333, 0, "."], [6333, 0, ","], [6334, 0, " "], [6335, 0, "w"], [6336, 0, "h"], [6337, 0, "i"], [6338, 0, "c"], [6339, 0, "h"], [6340, 0, " "], [6341, 0, "h"], [6342, 0, "a"], [6343, 0, "v"], [6344, 0, "e"], [6345, 0, " "], [6346, 0, "i"], [6347, 0, "n"], [6348, 0, "t"], [6349, 0, "e"], [6350, 0, "r"], [6351, 0, "m"], [6352, 0, "i"], [6353, 0, "t"], [6354, 0, "t"], [6355, 0, "e"], [6356, 0, "n"], [6357, 0, "t"], [6358, 0, " "], [6359, 0, "n"], [6360, 0, "e"], [6361, 0, "t"], [6362, 0, "w"], [6363, 0, "o"], [6364, 0, "r"], [6365, 0, "k"], [6366, 0, " "], [6367, 0, "c"], [6368, 0, "o"], [6369, 0, "n"], [6370, 0, "n"], [6371, 0, "e"], [6372, 0, "c"], [6373, 0, "t"], [6374, 0, "i"], [6375, 0, "v"], [6376, 0, "i"], [6377, 0, "t"], [6378, 0, "y"], [6380, 0, " "], [6381, 0, "O"], [6382, 0, "u"], [6383, 0, "r"], [6384, 0, " "], [6385, 0, "m"], [6386, 0, "o"], [6387, 0, "d"], [6388, 0, "e"], [6389, 0, "l"], [6390, 0, " "], [6391, 0, "a"], [6392, 0, "l"], [6393, 0, "l"], [6394, 0, "o"], [6395, 0, "w"], [6396, 0, "s"], [6397, 0, " "], [6398, 0, "e"], [6399, 0, "a"], [6400, 0, "c"], [6401, 0, "h"], [6402, 0, " "], [6403, 0, "r"], [6404, 0, "e"], [6405, 0, "p"], [6405, 1], [6404, 1], [6403, 1], [6403, 0, "d"], [6404, 0, "e"], [6405, 0, "v"], [6406, 0, "i"], [6407, 0, "c"], [6408, 0, "e"], [6409, 0, " "], [6410, 0, "t"], [6411, 0, "o"], [6412, 0, " "], [6413, 0, "m"], [6414, 0, "o"], [6415, 0, "d"], [6416, 0, "i"], [6417, 0, "f"], [6418, 0, "y"], [6419, 0, " "], [6420, 0, "i"], [6421, 0, "t"], [6422, 0, "s"], [6423, 0, " "], [6424, 0, "l"], [6425, 0, "o"], [6426, 0, "c"], [6427, 0, "a"], [6428, 0, "l"], [6429, 0, " "], [6430, 0, "c"], [6431, 0, "o"], [6432, 0, "p"], [6433, 0, "y"], [6434, 0, " "], [6434, 1], [6433, 1], [6432, 1], [6431, 1], [6430, 1], [6430, 0, "r"], [6431, 0, "e"], [6432, 0, "p"], [6433, 0, "l"], [6434, 0, "i"], [6435, 0, "c"], [6436, 0, "a"], [6437, 0, " "], [6438, 0, "o"], [6439, 0, "f"], [6440, 0, " "], [6441, 0, "t"], [6442, 0, "h"], [6443, 0, "e"], [6444, 0, " "], [6445, 0, "d"], [6446, 0, "o"], [6447, 0, "c"], [6448, 0, "u"], [6449, 0, "m"], [6450, 0, "e"], [6451, 0, "n"], [6452, 0, "t"], [6453, 0, ","], [6454, 0, " "], [6455, 0, "a"], [6456, 0, "n"], [6457, 0, "d"], [6458, 0, " "], [6459, 0, "t"], [6460, 0, "o"], [6461, 0, " "], [6462, 0, "a"], [6463, 0, "s"], [6464, 0, "y"], [6465, 0, "n"], [6466, 0, "c"], [6467, 0, "h"], [6468, 0, "r"], [6469, 0, "o"], [6470, 0, "n"], [6471, 0, "o"], [6472, 0, "u"], [6473, 0, "s"], [6474, 0, "l"], [6475, 0, "y"], [6476, 0, " "], [6477, 0, "p"], [6478, 0, "r"], [6479, 0, "o"], [6480, 0, "p"], [6481, 0, "a"], [6482, 0, "g"], [6483, 0, "a"], [6484, 0, "t"], [6485, 0, "e"], [6486, 0, " "], [6487, 0, "t"], [6488, 0, "h"], [6489, 0, "o"], [6490, 0, "s"], [6491, 0, "e"], [6492, 0, " "], [6493, 0, "e"], [6494, 0, "d"], [6495, 0, "i"], [6496, 0, "t"], [6497, 0, "s"], [6498, 0, " "], [6499, 0, "t"], [6500, 0, "o"], [6501, 0, " "], [6502, 0, "o"], [6503, 0, "t"], [6504, 0, "h"], [6505, 0, "e"], [6506, 0, "r"], [6507, 0, " "], [6508, 0, "r"], [6509, 0, "e"], [6510, 0, "p"], [6511, 0, "l"], [6512, 0, "i"], [6513, 0, "c"], [6514, 0, "a"], [6515, 0, "s"], [6516, 0, "."], [6517, 0, "\n"], [6518, 0, "\n"], [6519, 0, "W"], [6520, 0, "e"], [6521, 0, " "], [6521, 1], [6520, 1], [6519, 1], [6519, 0, "O"], [6520, 0, "u"], [6521, 0, "r"], [6522, 0, " "], [6523, 0, "o"], [6524, 0, "n"], [6525, 0, "l"], [6526, 0, "y"], [6527, 0, " "], [6528, 0, "r"], [6529, 0, "e"], [6530, 0, "q"], [6531, 0, "u"], [6532, 0, "i"], [6533, 0, "r"], [6534, 0, "e"], [6535, 0, "m"], [6536, 0, "e"], [6537, 0, "n"], [6538, 0, "t"], [6539, 0, " "], [6540, 0, "o"], [6541, 0, "f"], [6542, 0, " "], [6543, 0, "t"], [6544, 0, "h"], [6545, 0, "e"], [6546, 0, " "], [6547, 0, "n"], [6548, 0, "e"], [6549, 0, "t"], [6550, 0, "w"], [6551, 0, "o"], [6552, 0, "r"], [6553, 0, "k"], [6554, 0, " "], [6555, 0, "i"], [6556, 0, "s"], [6557, 0, " "], [6558, 0, "t"], [6559, 0, "h"], [6560, 0, "e"], [6561, 0, " "], [6562, 0, "l"], [6563, 0, "i"], [6564, 0, "v"], [6565, 0, "e"], [6566, 0, "n"], [6567, 0, "e"], [6568, 0, "s"], [6569, 0, "s"], [6570, 0, " "], [6571, 0, "c"], [6572, 0, "o"], [6573, 0, "n"], [6574, 0, "d"], [6575, 0, "i"], [6576, 0, "t"], [6577, 0, "i"], [6578, 0, "o"], [6579, 0, "n"], [6580, 0, " "], [6581, 0, "t"], [6582, 0, "h"], [6583, 0, "a"], [6584, 0, "t"], [6585, 0, " "], [6586, 0, "m"], [6587, 0, "e"], [6588, 0, "s"], [6589, 0, "s"], [6590, 0, "a"], [6591, 0, "g"], [6592, 0, "e"], [6593, 0, "s"], [6594, 0, " "], [6595, 0, "a"], [6596, 0, "r"], [6597, 0, "e"], [6598, 0, " "], [6599, 0, "e"], [6600, 0, "v"], [6601, 0, "e"], [6602, 0, "n"], [6603, 0, "t"], [6604, 0, "u"], [6605, 0, "a"], [6606, 0, "l"], [6607, 0, "l"], [6608, 0, "y"], [6609, 0, " "], [6610, 0, "d"], [6611, 0, "e"], [6612, 0, "l"], [6613, 0, "i"], [6614, 0, "e"], [6615, 0, "v"], [6616, 0, "e"], [6616, 1], [6615, 1], [6614, 1], [6614, 0, "v"], [6615, 0, "e"], [6616, 0, "r"], [6617, 0, "e"], [6618, 0, "d"], [6580, 1], [6579, 1], [6578, 1], [6577, 1], [6576, 1], [6575, 1], [6574, 1], [6573, 1], [6572, 1], [6571, 1], [6570, 1], [6569, 1], [6568, 1], [6567, 1], [6566, 1], [6565, 1], [6564, 1], [6563, 1], [6562, 1], [6561, 1], [6560, 1], [6559, 1], [6558, 1], [6596, 0, ","], [6597, 0, " "], [6598, 0, "a"], [6599, 0, " "], [6600, 0, "l"], [6601, 0, "i"], [6602, 0, "v"], [6603, 0, "e"], [6604, 0, "n"], [6605, 0, "e"], [6606, 0, "s"], [6607, 0, "s"], [6608, 0, " "], [6609, 0, "c"], [6610, 0, "o"], [6611, 0, "n"], [6612, 0, "d"], [6613, 0, "i"], [6614, 0, "t"], [6615, 0, "i"], [6616, 0, "o"], [6617, 0, "n"], [6618, 0, "."], [6619, 0, " "], [6619, 1], [6618, 1], [6617, 1], [6616, 1], [6615, 1], [6614, 1], [6613, 1], [6612, 1], [6611, 1], [6610, 1], [6609, 1], [6608, 1], [6607, 1], [6606, 1], [6605, 1], [6604, 1], [6603, 1], [6602, 1], [6601, 1], [6600, 1], [6599, 1], [6598, 1], [6598, 0, "i"], [6599, 0, "f"], [6600, 0, " "], [6601, 0, "n"], [6602, 0, "e"], [6603, 0, "c"], [6604, 0, "e"], [6605, 0, "s"], [6606, 0, "s"], [6607, 0, "a"], [6608, 0, "r"], [6609, 0, "y"], [6610, 0, " "], [6611, 0, "b"], [6612, 0, "y"], [6613, 0, " "], [6614, 0, "r"], [6615, 0, "e"], [6616, 0, "t"], [6617, 0, "r"], [6618, 0, "y"], [6619, 0, "i"], [6620, 0, "n"], [6621, 0, "g"], [6622, 0, " "], [6623, 0, "i"], [6624, 0, "f"], [6625, 0, " "], [6626, 0, "n"], [6627, 0, "e"], [6628, 0, "c"], [6629, 0, "e"], [6630, 0, "s"], [6631, 0, "s"], [6632, 0, "a"], [6633, 0, "r"], [6634, 0, "y"], [6635, 0, "."], [6636, 0, "/"], [6636, 1], [6613, 1], [6612, 1], [6611, 1], [6610, 1], [6609, 1], [6608, 1], [6607, 1], [6606, 1], [6605, 1], [6604, 1], [6603, 1], [6602, 1], [6601, 1], [6600, 1], [6599, 1], [6598, 1], [6598, 0, "b"], [6599, 0, "y"], [6600, 0, " "], [6621, 1], [6620, 1], [6619, 1], [6618, 1], [6617, 1], [6616, 1], [6615, 1], [6614, 1], [6613, 1], [6613, 0, "d"], [6614, 0, "e"], [6615, 0, "l"], [6616, 0, "i"], [6617, 0, "v"], [6618, 0, "e"], [6619, 0, "r"], [6620, 0, "y"], [6621, 0, " "], [6622, 0, "f"], [6623, 0, "a"], [6624, 0, "i"], [6625, 0, "l"], [6626, 0, "s"], [6628, 0, " "], [6629, 0, "W"], [6630, 0, "e"], [6631, 0, " "], [6632, 0, "m"], [6633, 0, "a"], [6634, 0, "k"], [6635, 0, "e"], [6636, 0, " "], [6637, 0, "n"], [6638, 0, "o"], [6639, 0, " "], [6640, 0, "a"], [6641, 0, "s"], [6642, 0, "s"], [6643, 0, "u"], [6644, 0, "m"], [6645, 0, "p"], [6646, 0, "t"], [6647, 0, "i"], [6648, 0, "o"], [6649, 0, "n"], [6650, 0, "s"], [6651, 0, " "], [6652, 0, "a"], [6653, 0, "b"], [6654, 0, "o"], [6655, 0, "u"], [6655, 1], [6654, 1], [6653, 1], [6652, 1], [6651, 1], [6650, 1], [6649, 1], [6648, 1], [6647, 1], [6646, 1], [6645, 1], [6644, 1], [6643, 1], [6642, 1], [6641, 1], [6640, 1], [6639, 1], [6638, 1], [6637, 1], [6636, 1], [6635, 1], [6634, 1], [6633, 1], [6632, 1], [6631, 1], [6630, 1], [6629, 1], [6629, 0, "T"], [6630, 0, "h"], [6631, 0, "e"], [6632, 0, " "], [6633, 0, "n"], [6634, 0, "e"], [6635, 0, "t"], [6636, 0, "w"], [6637, 0, "o"], [6638, 0, "r"], [6639, 0, "k"], [6640, 0, " "], [6641, 0, "i"], [6642, 0, "s"], [6643, 0, " "], [6644, 0, "a"], [6645, 0, "l"], [6646, 0, "l"], [6647, 0, "o"], [6648, 0, "w"], [6649, 0, "e"], [6650, 0, "d"], [6651, 0, " "], [6652, 0, "t"], [6653, 0, "o"], [6654, 0, " "], [6655, 0, "a"], [6656, 0, "r"], [6657, 0, "b"], [6658, 0, "i"], [6659, 0, "t"], [6660, 0, "r"], [6661, 0, "a"], [6662, 0, "r"], [6663, 0, "i"], [6664, 0, "l"], [6665, 0, "y"], [6666, 0, " "], [6667, 0, "r"], [6668, 0, "e"], [6669, 0, "-"], [6670, 0, "o"], [6671, 0, "r"], [6671, 1], [6670, 1], [6669, 1], [6669, 0, "o"], [6670, 0, "r"], [6671, 0, "d"], [6672, 0, "e"], [6673, 0, "r"], [6674, 0, " "], [6675, 0, "o"], [6676, 0, "r"], [6677, 0, " "], [6678, 0, "d"], [6679, 0, "u"], [6680, 0, "p"], [6681, 0, "l"], [6682, 0, "i"], [6683, 0, "c"], [6684, 0, "a"], [6685, 0, "t"], [6686, 0, "e"], [6687, 0, " "], [6688, 0, "m"], [6689, 0, "e"], [6690, 0, "s"], [6691, 0, "s"], [6692, 0, "a"], [6693, 0, "g"], [6694, 0, "e"], [6695, 0, "s"], [6696, 0, "."], [6697, 0, " "], [6698, 0, "W"], [6699, 0, "e"], [6700, 0, " "], [6700, 1], [6699, 1], [6698, 1], [6698, 0, "O"], [6699, 0, "u"], [6700, 0, "r"], [6701, 0, " "], [6702, 0, "a"], [6703, 0, "l"], [6704, 0, "g"], [6705, 0, "o"], [6706, 0, "r"], [6707, 0, "i"], [6708, 0, "t"], [6709, 0, "h"], [6710, 0, "m"], [6711, 0, " "], [6712, 0, "p"], [6713, 0, "e"], [6714, 0, "r"], [6715, 0, "f"], [6716, 0, "o"], [6717, 0, "r"], [6718, 0, "m"], [6719, 0, "s"], [6720, 0, " "], [6721, 0, "a"], [6722, 0, "l"], [6723, 0, "l"], [6724, 0, " "], [6725, 0, "w"], [6726, 0, "o"], [6727, 0, "r"], [6728, 0, "k"], [6729, 0, " "], [6730, 0, "o"], [6731, 0, "n"], [6732, 0, " "], [6733, 0, "t"], [6734, 0, "h"], [6735, 0, "e"], [6736, 0, " "], [6737, 0, "c"], [6738, 0, "l"], [6739, 0, "i"], [6740, 0, "e"], [6741, 0, "n"], [6742, 0, "t"], [6743, 0, "s"], [6744, 0, " "], [6745, 0, "a"], [6746, 0, "n"], [6747, 0, "d"], [6748, 0, " "], [6749, 0, "d"], [6750, 0, "o"], [6751, 0, "e"], [6752, 0, "s"], [6753, 0, " "], [6754, 0, "n"], [6755, 0, "o"], [6756, 0, "t"], [6757, 0, " "], [6758, 0, "d"], [6759, 0, "e"], [6760, 0, "p"], [6761, 0, "e"], [6762, 0, "n"], [6763, 0, "d"], [6764, 0, " "], [6765, 0, "o"], [6766, 0, "n"], [6767, 0, " "], [6768, 0, "a"], [6769, 0, "n"], [6770, 0, "y"], [6771, 0, " "], [6772, 0, "s"], [6773, 0, "e"], [6774, 0, "r"], [6775, 0, "v"], [6776, 0, "e"], [6777, 0, "r"], [6778, 0, " "], [6779, 0, "t"], [6780, 0, "o"], [6781, 0, " "], [6782, 0, "t"], [6783, 0, "r"], [6784, 0, "a"], [6785, 0, "n"], [6786, 0, "s"], [6787, 0, "f"], [6788, 0, "o"], [6789, 0, "r"], [6790, 0, "m"], [6791, 0, " "], [6792, 0, "o"], [6793, 0, "r"], [6794, 0, " "], [6795, 0, "p"], [6796, 0, "r"], [6797, 0, "o"], [6798, 0, "c"], [6799, 0, "e"], [6800, 0, "s"], [6801, 0, "s"], [6802, 0, " "], [6803, 0, "m"], [6804, 0, "e"], [6805, 0, "s"], [6806, 0, "s"], [6807, 0, "a"], [6808, 0, "g"], [6809, 0, "e"], [6810, 0, "s"], [6735, 1], [6734, 1], [6733, 1], [6732, 1], [6731, 1], [6730, 1], [6729, 1], [6728, 1], [6727, 1], [6726, 1], [6725, 1], [6724, 1], [6723, 1], [6722, 1], [6721, 1], [6720, 1], [6719, 1], [6718, 1], [6717, 1], [6716, 1], [6715, 1], [6714, 1], [6713, 1], [6712, 1], [6712, 0, "w"], [6713, 0, "o"], [6714, 0, "r"], [6715, 0, "k"], [6716, 0, "s"], [6724, 0, "-"], [6726, 0, "i"], [6727, 0, "d"], [6728, 0, "e"], [6596, 0, " "], [6597, 0, "t"], [6598, 0, "o"], [6599, 0, " "], [6600, 0, "a"], [6601, 0, "l"], [6602, 0, "l"], [6603, 0, " "], [6604, 0, "r"], [6605, 0, "e"], [6606, 0, "p"], [6607, 0, "l"], [6608, 0, "i"], [6609, 0, "c"], [6610, 0, "a"], [6611, 0, "s"], [6571, 0, " "], [6572, 0, "s"], [6573, 0, "e"], [6574, 0, "n"], [6575, 0, "t"], [6576, 0, " "], [6577, 0, "b"], [6578, 0, "y"], [6579, 0, " "], [6580, 0, "o"], [6581, 0, "n"], [6582, 0, "e"], [6583, 0, " "], [6584, 0, "r"], [6585, 0, "e"], [6586, 0, "p"], [6587, 0, "l"], [6588, 0, "i"], [6589, 0, "c"], [6590, 0, "a"], [6623, 0, " "], [6624, 0, "o"], [6625, 0, "t"], [6626, 0, "h"], [6627, 0, "e"], [6628, 0, "r"], [6838, 0, ";"], [6839, 0, " "], [6840, 0, "t"], [6841, 0, "h"], [6842, 0, "i"], [6843, 0, "s"], [6844, 0, " "], [6845, 0, "a"], [6846, 0, "p"], [6847, 0, "p"], [6848, 0, "r"], [6849, 0, "o"], [6850, 0, "a"], [6851, 0, "c"], [6852, 0, "h"], [6853, 0, " "], [6854, 0, "a"], [6855, 0, "l"], [6856, 0, "l"], [6857, 0, "o"], [6858, 0, "w"], [6859, 0, "s"], [6860, 0, " "], [6861, 0, "a"], [6862, 0, " "], [6863, 0, "p"], [6864, 0, "e"], [6865, 0, "e"], [6866, 0, "r"], [6867, 0, "-"], [6868, 0, "t"], [6869, 0, "o"], [6870, 0, "-"], [6871, 0, "p"], [6872, 0, "e"], [6873, 0, "e"], [6874, 0, "r"], [6875, 0, " "], [6876, 0, "n"], [6877, 0, "e"], [6878, 0, "t"], [6879, 0, "w"], [6880, 0, "o"], [6881, 0, "r"], [6882, 0, "k"], [6883, 0, " "], [6884, 0, "a"], [6885, 0, "n"], [6886, 0, "d"], [6887, 0, " "], [6888, 0, "a"], [6889, 0, " "], [6890, 0, "s"], [6891, 0, "e"], [6892, 0, "c"], [6893, 0, "u"], [6894, 0, "r"], [6895, 0, "e"], [6896, 0, " "], [6897, 0, "m"], [6898, 0, "e"], [6899, 0, "s"], [6900, 0, "s"], [6901, 0, "a"], [6902, 0, "g"], [6903, 0, "i"], [6904, 0, "n"], [6905, 0, "g"], [6906, 0, " "], [6907, 0, "p"], [6908, 0, "r"], [6909, 0, "o"], [6910, 0, "t"], [6911, 0, "o"], [6912, 0, "c"], [6913, 0, "o"], [6914, 0, "l"], [6915, 0, " "], [6915, 1], [6915, 0, "~"], [6916, 0, "\\"], [6917, 0, "c"], [6918, 0, "i"], [6919, 0, "t"], [6920, 0, "e"], [6921, 0, "{"], [6922, 0, "U"], [6923, 0, "n"], [6924, 0, "g"], [6925, 0, "e"], [6926, 0, "r"], [6927, 0, ":"], [6928, 0, "2"], [6929, 0, "0"], [6930, 0, "1"], [6931, 0, "5"], [6932, 0, "k"], [6933, 0, "g"], [6934, 0, "}"], [6935, 0, " "], [6936, 0, "t"], [6937, 0, "o"], [6938, 0, " "], [6939, 0, "b"], [6940, 0, "e"], [6941, 0, " "], [6942, 0, "u"], [6943, 0, "s"], [6944, 0, "e"], [6945, 0, "d"], [6946, 0, "."], [6840, 1], [6839, 1], [6838, 1], [6837, 1], [6837, 0, "s"], [6838, 0, "."], [6839, 0, " "], [6840, 0, "T"], [6946, 0, ","], [6947, 0, " "], [6948, 0, "a"], [6949, 0, "l"], [6950, 0, "t"], [6951, 0, "h"], [6952, 0, "o"], [6953, 0, "u"], [6954, 0, "g"], [6955, 0, "h"], [6956, 0, " "], [6957, 0, "t"], [6958, 0, "h"], [6959, 0, "e"], [6960, 0, " "], [6961, 0, "d"], [6962, 0, "e"], [6963, 0, "t"], [6964, 0, "a"], [6965, 0, "i"], [6966, 0, "l"], [6967, 0, "s"], [6968, 0, " "], [6969, 0, "o"], [6970, 0, "f"], [6971, 0, " "], [6972, 0, "t"], [6973, 0, "h"], [6974, 0, "e"], [6975, 0, " "], [6976, 0, "n"], [6977, 0, "e"], [6978, 0, "t"], [6979, 0, "w"], [6980, 0, "o"], [6981, 0, "r"], [6982, 0, "k"], [6983, 0, " "], [6984, 0, "i"], [6985, 0, "m"], [6986, 0, "p"], [6987, 0, "l"], [6988, 0, "e"], [6989, 0, "m"], [6990, 0, "e"], [6991, 0, "n"], [6992, 0, "t"], [6993, 0, "a"], [6994, 0, "t"], [6995, 0, "i"], [6996, 0, "o"], [6997, 0, "n"], [6998, 0, " "], [6999, 0, "a"], [7000, 0, "n"], [7001, 0, "d"], [7002, 0, " "], [7003, 0, "a"], [7004, 0, "n"], [7005, 0, "y"], [7006, 0, " "], [7007, 0, "c"], [7008, 0, "r"], [7009, 0, "y"], [7010, 0, "p"], [7011, 0, "t"], [7012, 0, "o"], [7013, 0, "g"], [7014, 0, "r"], [7015, 0, "a"], [7016, 0, "p"], [7017, 0, "h"], [7018, 0, "i"], [7019, 0, "c"], [7020, 0, " "], [7021, 0, "p"], [7022, 0, "r"], [7023, 0, "o"], [7024, 0, "t"], [7025, 0, "o"], [7026, 0, "c"], [7027, 0, "o"], [7028, 0, "l"], [7029, 0, "s"], [7030, 0, " "], [7031, 0, "a"], [7032, 0, "r"], [7033, 0, "e"], [7034, 0, " "], [7035, 0, "o"], [7036, 0, "u"], [7037, 0, "t"], [7038, 0, "s"], [7039, 0, "i"], [7040, 0, "d"], [7041, 0, "e"], [7042, 0, " "], [7043, 0, "o"], [7044, 0, "f"], [7045, 0, " "], [7046, 0, "t"], [7047, 0, "h"], [7048, 0, "e"], [7049, 0, " "], [7050, 0, "s"], [7051, 0, "c"], [7052, 0, "o"], [7053, 0, "p"], [7054, 0, "e"], [7055, 0, " "], [7056, 0, "o"], [7057, 0, "f"], [7058, 0, " "], [7059, 0, "t"], [7060, 0, "h"], [7061, 0, "i"], [7062, 0, "s"], [7063, 0, " "], [7064, 0, "p"], [7065, 0, "a"], [7066, 0, "p"], [7067, 0, "e"], [7068, 0, "r"], [6915, 0, " "], [6916, 0, "w"], [6917, 0, "i"], [6918, 0, "t"], [6919, 0, "h"], [6920, 0, " "], [6921, 0, "e"], [6922, 0, "n"], [6923, 0, "d"], [6924, 0, "-"], [6925, 0, "t"], [6926, 0, "o"], [6927, 0, "-"], [6928, 0, "e"], [6929, 0, "n"], [6930, 0, "d"], [6931, 0, " "], [6932, 0, "e"], [6933, 0, "n"], [6934, 0, "c"], [6935, 0, "r"], [6936, 0, "y"], [6937, 0, "p"], [6938, 0, "t"], [6939, 0, "i"], [6940, 0, "o"], [6941, 0, "n"], [7099, 0, " "], [7099, 0, "W"], [7100, 0, "h"], [7101, 0, "e"], [7102, 0, "n"], [7103, 0, " "], [7104, 0, "t"], [7105, 0, "h"], [7106, 0, "e"], [7107, 0, " "], [7108, 0, "J"], [7109, 0, "S"], [7110, 0, "O"], [7111, 0, "N"], [7112, 0, " "], [7113, 0, "d"], [7114, 0, "o"], [7115, 0, "c"], [7116, 0, "u"], [7117, 0, "m"], [7118, 0, "e"], [7119, 0, "n"], [7120, 0, "t"], [7121, 0, " "], [7122, 0, "i"], [7123, 0, "s"], [7124, 0, " "], [7125, 0, "c"], [7126, 0, "o"], [7127, 0, "n"], [7128, 0, "c"], [7129, 0, "u"], [7130, 0, "r"], [7131, 0, "r"], [7132, 0, "e"], [7133, 0, "n"], [7134, 0, "t"], [7135, 0, "l"], [7136, 0, "y"], [7137, 0, " "], [7138, 0, "m"], [7139, 0, "o"], [7140, 0, "d"], [7141, 0, "i"], [7142, 0, "f"], [7143, 0, "i"], [7144, 0, "e"], [7145, 0, "d"], [7146, 0, " "], [7147, 0, "o"], [7148, 0, "n"], [7149, 0, " "], [7150, 0, "d"], [7151, 0, "i"], [7152, 0, "f"], [7153, 0, "f"], [7154, 0, "e"], [7155, 0, "r"], [7156, 0, "e"], [7157, 0, "n"], [7158, 0, "t"], [7159, 0, " "], [7160, 0, "d"], [7161, 0, "e"], [7162, 0, "v"], [7163, 0, "i"], [7164, 0, "c"], [7165, 0, "e"], [7166, 0, "s"], [7167, 0, ","], [7168, 0, " "], [7169, 0, "w"], [7170, 0, "e"], [7171, 0, " "], [28766, 0, "\\"], [28767, 0, "l"], [28768, 0, "a"], [28769, 0, "b"], [28770, 0, "e"], [28771, 0, "l"], [28772, 0, "{"], [28773, 0, "s"], [28774, 0, "e"], [28775, 0, "c"], [28776, 0, ":"], [28777, 0, "s"], [28778, 0, "e"], [28779, 0, "m"], [28780, 0, "a"], [28781, 0, "n"], [28782, 0, "t"], [28783, 0, "i"], [28784, 0, "c"], [28785, 0, "s"], [28786, 0, "}"], [7099, 0, " "], [7099, 0, "I"], [7100, 0, "n"], [7101, 0, " "], [7102, 0, "s"], [7103, 0, "e"], [7104, 0, "c"], [7105, 0, "t"], [7106, 0, "i"], [7107, 0, "o"], [7108, 0, "n"], [7109, 0, "~"], [7110, 0, "\\"], [7111, 0, "r"], [7112, 0, "e"], [7113, 0, "f"], [7114, 0, "{"], [7115, 0, "s"], [7116, 0, "e"], [7117, 0, "c"], [7118, 0, ":"], [7119, 0, "s"], [7120, 0, "e"], [7121, 0, "m"], [7122, 0, "a"], [7123, 0, "n"], [7124, 0, "t"], [7125, 0, "i"], [7126, 0, "c"], [7127, 0, "s"], [7128, 0, "}"], [7129, 0, " "], [7130, 0, "w"], [7131, 0, "e"], [7132, 0, " "], [7133, 0, "p"], [7134, 0, "r"], [7135, 0, "o"], [7135, 1], [7134, 1], [7133, 1], [7133, 0, "g"], [7134, 0, "i"], [7135, 0, "v"], [7136, 0, "e"], [7137, 0, " "], [7138, 0, "f"], [7139, 0, "o"], [7140, 0, "r"], [7141, 0, "m"], [7142, 0, "a"], [7143, 0, "l"], [7144, 0, " "], [7145, 0, "s"], [7146, 0, "e"], [7147, 0, "m"], [7148, 0, "a"], [7149, 0, "n"], [7150, 0, "t"], [7151, 0, "i"], [7152, 0, "c"], [7153, 0, "s"], [7154, 0, " "], [7155, 0, "t"], [7156, 0, "h"], [7157, 0, "a"], [7158, 0, "t"], [7159, 0, " "], [7160, 0, "d"], [7161, 0, "e"], [7162, 0, "s"], [7163, 0, "c"], [7164, 0, "r"], [7165, 0, "i"], [7166, 0, "b"], [7167, 0, "e"], [7168, 0, "s"], [7169, 0, " "], [7170, 0, "h"], [7171, 0, "o"], [7172, 0, "w"], [7173, 0, " "], [7174, 0, "c"], [7175, 0, "o"], [7176, 0, "n"], [7177, 0, "f"], [7178, 0, "l"], [7179, 0, "i"], [7180, 0, "c"], [7181, 0, "t"], [7182, 0, "s"], [7183, 0, " "], [7184, 0, "a"], [7185, 0, "r"], [7186, 0, "e"], [7187, 0, " "], [7188, 0, "r"], [7189, 0, "e"], [7190, 0, "s"], [7191, 0, "o"], [7192, 0, "l"], [7193, 0, "v"], [7194, 0, "e"], [7195, 0, "d"], [7197, 1], [7197, 0, "w"], [7202, 1], [7202, 1], [7202, 1], [7202, 0, "a"], [7267, 1], [7266, 1], [7265, 1], [7264, 1], [7263, 1], [7263, 0, "."], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 1], [7509, 0, "\\"], [7510, 0, "s"], [7511, 0, "u"], [7512, 0, "b"], [7513, 0, "s"], [7514, 0, "e"], [7515, 0, "c"], [7516, 0, "t"], [7517, 0, "i"], [7518, 0, "o"], [7519, 0, "n"], [7520, 0, "{"], [7521, 0, "O"], [7522, 0, "u"], [7523, 0, "r"], [7524, 0, " "], [7525, 0, "c"], [7526, 0, "o"], [7527, 0, "n"], [7528, 0, "t"], [7529, 0, "r"], [7530, 0, "i"], [7531, 0, "b"], [7532, 0, "u"], [7533, 0, "t"], [7534, 0, "i"], [7535, 0, "o"], [7536, 0, "n"], [7537, 0, "s"], [7538, 0, "}"], [7564, 0, "\\"], [7565, 0, "a"], [7566, 0, "b"], [7567, 0, "l"], [7568, 0, "e"], [7568, 1], [7567, 1], [7566, 1], [7565, 1], [7565, 0, "l"], [7566, 0, "a"], [7567, 0, "b"], [7568, 0, "e"], [7569, 0, "l"], [7570, 0, "{"], [7571, 0, "s"], [7572, 0, "e"], [7573, 0, "c"], [7574, 0, ":"], [7575, 0, "r"], [7576, 0, "e"], [7577, 0, "l"], [7578, 0, "a"], [7579, 0, "t"], [7580, 0, "e"], [7581, 0, "d"], [7582, 0, "}"], [7540, 0, "\n"], [7541, 0, "O"], [7542, 0, "u"], [7543, 0, "r"], [7544, 0, " "], [7545, 0, "m"], [7546, 0, "a"], [7547, 0, "i"], [7548, 0, "n"], [7549, 0, " "], [7550, 0, "c"], [7551, 0, "o"], [7552, 0, "n"], [7553, 0, "t"], [7554, 0, "r"], [7555, 0, "i"], [7556, 0, "b"], [7557, 0, "u"], [7558, 0, "t"], [7559, 0, "i"], [7560, 0, "o"], [7561, 0, "n"], [7562, 0, " "], [7563, 0, "i"], [7564, 0, "n"], [7565, 0, " "], [7566, 0, "t"], [7567, 0, "h"], [7568, 0, "i"], [7569, 0, "s"], [7570, 0, " "], [7571, 0, "w"], [7572, 0, "o"], [7573, 0, "r"], [7574, 0, "k"], [7575, 0, " "], [7576, 0, "i"], [7577, 0, "s"], [7578, 0, " "], [7579, 0, "t"], [7580, 0, "o"], [7581, 0, " "], [7582, 0, "d"], [7583, 0, "e"], [7584, 0, "f"], [7585, 0, "i"], [7586, 0, "n"], [7587, 0, "e"], [7588, 0, " "], [7589, 0, "a"], [7590, 0, "n"], [7591, 0, " "], [7592, 0, "a"], [7593, 0, "l"], [7594, 0, "g"], [7595, 0, "o"], [7596, 0, "r"], [7597, 0, "i"], [7598, 0, "t"], [7599, 0, "h"], [7600, 0, "m"], [7601, 0, " "], [7602, 0, "a"], [7603, 0, "n"], [7604, 0, "d"], [7605, 0, " "], [7606, 0, "f"], [7607, 0, "o"], [7607, 1], [7607, 0, "o"], [7608, 0, "r"], [7609, 0, "m"], [7610, 0, "a"], [7611, 0, "l"], [7612, 0, " "], [7613, 0, "s"], [7614, 0, "e"], [7615, 0, "m"], [7616, 0, "a"], [7617, 0, "n"], [7618, 0, "t"], [7619, 0, "i"], [7620, 0, "c"], [7621, 0, "s"], [7622, 0, " "], [7623, 0, "f"], [7624, 0, "o"], [7625, 0, "r"], [7626, 0, " "], [7627, 0, "c"], [7628, 0, "o"], [7629, 0, "l"], [7630, 0, "l"], [7631, 0, "a"], [7632, 0, "b"], [7633, 0, "o"], [7634, 0, "r"], [7635, 0, "a"], [7636, 0, "t"], [7637, 0, "i"], [7638, 0, "v"], [7639, 0, "e"], [7640, 0, ","], [7641, 0, " "], [7642, 0, "c"], [7643, 0, "o"], [7644, 0, "n"], [7645, 0, "c"], [7646, 0, "u"], [7647, 0, "r"], [7648, 0, "r"], [7649, 0, "e"], [7650, 0, "n"], [7651, 0, "t"], [7652, 0, " "], [7653, 0, "e"], [7654, 0, "d"], [7655, 0, "i"], [7656, 0, "t"], [7657, 0, "i"], [7658, 0, "n"], [7659, 0, "g"], [7660, 0, " "], [7661, 0, "o"], [7662, 0, "f"], [7663, 0, " "], [7664, 0, "J"], [7665, 0, "S"], [7666, 0, "O"], [7667, 0, "N"], [7668, 0, " "], [7669, 0, "d"], [7670, 0, "a"], [7671, 0, "t"], [7672, 0, "a"], [7673, 0, " "], [7674, 0, "s"], [7675, 0, "t"], [7676, 0, "r"], [7677, 0, "u"], [7678, 0, "c"], [7679, 0, "t"], [7680, 0, "u"], [7681, 0, "r"], [7682, 0, "e"], [7683, 0, "s"], [7684, 0, " "], [7685, 0, "w"], [7686, 0, "i"], [7687, 0, "t"], [7688, 0, "h"], [7689, 0, " "], [7690, 0, "a"], [7691, 0, "u"], [7692, 0, "t"], [7693, 0, "o"], [7694, 0, "m"], [7695, 0, "a"], [7696, 0, "t"], [7697, 0, "i"], [7698, 0, "c"], [7699, 0, " "], [7700, 0, "c"], [7701, 0, "o"], [7702, 0, "n"], [7703, 0, "f"], [7704, 0, "l"], [7705, 0, "i"], [7706, 0, "c"], [7707, 0, "t"], [7708, 0, " "], [7709, 0, "r"], [7710, 0, "e"], [7711, 0, "s"], [7712, 0, "o"], [7713, 0, "l"], [7714, 0, "u"], [7715, 0, "t"], [7716, 0, "i"], [7717, 0, "o"], [7718, 0, "n"], [7719, 0, "."], [7720, 0, " "], [7721, 0, "A"], [7722, 0, "l"], [7723, 0, "t"], [7724, 0, "h"], [7725, 0, "o"], [7726, 0, "u"], [7727, 0, "g"], [7728, 0, "h"], [7729, 0, " "], [7730, 0, "s"], [7731, 0, "i"], [7732, 0, "m"], [7733, 0, "i"], [7734, 0, "l"], [7735, 0, "a"], [7736, 0, "r"], [7737, 0, " "], [7738, 0, "a"], [7739, 0, "l"], [7740, 0, "g"], [7741, 0, "o"], [7742, 0, "r"], [7743, 0, "i"], [7744, 0, "t"], [7745, 0, "h"], [7746, 0, "m"], [7747, 0, "s"], [7748, 0, " "], [7749, 0, "h"], [7750, 0, "a"], [7751, 0, "v"], [7752, 0, "e"], [7753, 0, " "], [7754, 0, "p"], [7755, 0, "r"], [7756, 0, "e"], [7757, 0, "v"], [7758, 0, "i"], [7759, 0, "o"], [7760, 0, "u"], [7761, 0, "s"], [7762, 0, "l"], [7763, 0, "y"], [7764, 0, " "], [7765, 0, "b"], [7766, 0, "e"], [7767, 0, "e"], [7768, 0, "n"], [7769, 0, " "], [7770, 0, "d"], [7771, 0, "e"], [7772, 0, "f"], [7773, 0, "i"], [7774, 0, "n"], [7775, 0, "e"], [7776, 0, "d"], [7777, 0, " "], [7778, 0, "f"], [7779, 0, "o"], [7780, 0, "r"], [7781, 0, " "], [7782, 0, "l"], [7783, 0, "i"], [7784, 0, "s"], [7785, 0, "t"], [7786, 0, "s"], [7787, 0, ","], [7788, 0, " "], [7789, 0, "m"], [7790, 0, "a"], [7791, 0, "p"], [7792, 0, "s"], [7793, 0, " "], [7794, 0, "a"], [7795, 0, "n"], [7796, 0, "d"], [7797, 0, " "], [7798, 0, "r"], [7799, 0, "e"], [7800, 0, "g"], [7801, 0, "i"], [7802, 0, "s"], [7803, 0, "t"], [7804, 0, "e"], [7805, 0, "r"], [7806, 0, "s"], [7807, 0, " "], [7808, 0, "i"], [7809, 0, "n"], [7810, 0, "d"], [7811, 0, "i"], [7812, 0, "v"], [7813, 0, "i"], [7814, 0, "d"], [7815, 0, "u"], [7816, 0, "a"], [7817, 0, "l"], [7818, 0, "l"], [7819, 0, "y"], [7820, 0, ","], [7821, 0, " "], [7822, 0, "t"], [7823, 0, "o"], [7824, 0, " "], [7825, 0, "o"], [7826, 0, "u"], [7827, 0, "r"], [7828, 0, " "], [7829, 0, "k"], [7830, 0, "n"], [7831, 0, "o"], [7832, 0, "w"], [7833, 0, "l"], [7834, 0, "e"], [7835, 0, "d"], [7836, 0, "g"], [7837, 0, "e"], [7838, 0, " "], [7839, 0, "t"], [7840, 0, "h"], [7841, 0, "i"], [7842, 0, "s"], [7843, 0, " "], [7844, 0, "p"], [7845, 0, "a"], [7846, 0, "p"], [7847, 0, "e"], [7848, 0, "r"], [7849, 0, " "], [7850, 0, "i"], [7851, 0, "s"], [7852, 0, " "], [7853, 0, "t"], [7854, 0, "h"], [7855, 0, "e"], [7856, 0, " "], [7857, 0, "f"], [7858, 0, "i"], [7859, 0, "r"], [7860, 0, "s"], [7861, 0, "t"], [7862, 0, " "], [7863, 0, "t"], [7864, 0, "o"], [7865, 0, " "], [7866, 0, "i"], [7867, 0, "n"], [7868, 0, "t"], [7869, 0, "e"], [7870, 0, "g"], [7871, 0, "r"], [7872, 0, "a"], [7873, 0, "t"], [7874, 0, "e"], [7875, 0, " "], [7876, 0, "a"], [7877, 0, "l"], [7878, 0, "l"], [7879, 0, " "], [7880, 0, "o"], [7881, 0, "f"], [7882, 0, " "], [7883, 0, "t"], [7884, 0, "h"], [7885, 0, "e"], [7886, 0, "s"], [7887, 0, "e"], [7888, 0, " "], [7889, 0, "s"], [7890, 0, "t"], [7891, 0, "r"], [7892, 0, "u"], [7893, 0, "c"], [7894, 0, "t"], [7895, 0, "u"], [7896, 0, "r"], [7897, 0, "e"], [7898, 0, "s"], [7899, 0, " "], [7900, 0, "i"], [7901, 0, "n"], [7902, 0, "t"], [7903, 0, "o"], [7904, 0, " "], [7905, 0, "a"], [7906, 0, "n"], [7907, 0, " "], [7908, 0, "a"], [7909, 0, "r"], [7910, 0, "b"], [7911, 0, "i"], [7912, 0, "t"], [7913, 0, "r"], [7914, 0, "a"], [7915, 0, "r"], [7916, 0, "i"], [7917, 0, "l"], [7918, 0, "y"], [7919, 0, " "], [7920, 0, "c"], [7921, 0, "o"], [7922, 0, "m"], [7923, 0, "p"], [7924, 0, "o"], [7925, 0, "s"], [7926, 0, "a"], [7927, 0, "b"], [7928, 0, "l"], [7929, 0, "e"], [7930, 0, " "], [7931, 0, "d"], [7932, 0, "a"], [7933, 0, "t"], [7934, 0, "a"], [7935, 0, "t"], [7936, 0, "y"], [7937, 0, "p"], [7938, 0, "e"], [7939, 0, "."], [7820, 0, " "], [7821, 0, "("], [7822, 0, "s"], [7823, 0, "e"], [7824, 0, "e"], [7825, 0, " "], [7826, 0, "s"], [7827, 0, "e"], [7828, 0, "c"], [7829, 0, "t"], [7830, 0, "i"], [7831, 0, "o"], [7832, 0, "n"], [7833, 0, "~"], [7834, 0, "\\"], [7835, 0, "r"], [7836, 0, "e"], [7837, 0, "f"], [7838, 0, "{"], [7839, 0, "s"], [7840, 0, "e"], [7841, 0, "c"], [7842, 0, ":"], [7843, 0, "r"], [7844, 0, "e"], [7845, 0, "l"], [7846, 0, "a"], [7847, 0, "t"], [7848, 0, "e"], [7849, 0, "d"], [7850, 0, "}"], [7851, 0, ")"], [7972, 0, "\n"], [7973, 0, "\n"], [7974, 0, "C"], [7975, 0, "o"], [7976, 0, "m"], [7977, 0, "p"], [7978, 0, "o"], [7979, 0, "s"], [7980, 0, "i"], [7981, 0, "n"], [7982, 0, "g"], [7983, 0, " "], [7984, 0, "m"], [7985, 0, "a"], [7986, 0, "p"], [7987, 0, "s"], [7988, 0, " "], [7989, 0, "a"], [7990, 0, "n"], [7991, 0, "d"], [7992, 0, " "], [7993, 0, "l"], [7994, 0, "i"], [7995, 0, "s"], [7996, 0, "t"], [7997, 0, "s"], [7998, 0, " "], [7999, 0, "i"], [8000, 0, "n"], [8001, 0, "t"], [8002, 0, "o"], [8003, 0, " "], [8004, 0, "a"], [8005, 0, "r"], [8006, 0, "b"], [8007, 0, "i"], [8008, 0, "t"], [8009, 0, "r"], [8010, 0, "a"], [8011, 0, "r"], [8012, 0, "i"], [8013, 0, "l"], [8014, 0, "y"], [8015, 0, " "], [8016, 0, "n"], [8017, 0, "e"], [8018, 0, "s"], [8019, 0, "t"], [8020, 0, "e"], [8021, 0, "d"], [8022, 0, " "], [8023, 0, "s"], [8024, 0, "t"], [8025, 0, "r"], [8026, 0, "u"], [8027, 0, "c"], [8028, 0, "t"], [8029, 0, "u"], [8030, 0, "r"], [8031, 0, "e"], [8032, 0, "s"], [8033, 0, " "], [8034, 0, "o"], [8035, 0, "p"], [8036, 0, "e"], [8037, 0, "n"], [8038, 0, "s"], [8039, 0, " "], [8040, 0, "u"], [8041, 0, "p"], [8042, 0, " "], [8043, 0, "s"], [8044, 0, "u"], [8045, 0, "b"], [8046, 0, "t"], [8047, 0, "l"], [8048, 0, "e"], [8049, 0, " "], [8050, 0, "c"], [8051, 0, "h"], [8052, 0, "a"], [8053, 0, "l"], [8054, 0, "l"], [8055, 0, "e"], [8056, 0, "n"], [8057, 0, "g"], [8058, 0, "e"], [8059, 0, "s"], [8060, 0, " "], [8061, 0, "t"], [8062, 0, "h"], [8063, 0, "a"], [8064, 0, "t"], [8065, 0, " "], [8066, 0, "d"], [8067, 0, "o"], [8068, 0, " "], [8069, 0, "n"], [8070, 0, "o"], [8071, 0, "t"], [8072, 0, " "], [8073, 0, "a"], [8074, 0, "r"], [8075, 0, "i"], [8076, 0, "s"], [8077, 0, "e"], [8078, 0, " "], [8079, 0, "i"], [8080, 0, "n"], [8081, 0, " "], [8082, 0, "f"], [8083, 0, "l"], [8084, 0, "a"], [8085, 0, "t"], [8086, 0, " "], [8087, 0, "s"], [8088, 0, "t"], [8089, 0, "r"], [8090, 0, "u"], [8091, 0, "c"], [8092, 0, "t"], [8093, 0, "u"], [8094, 0, "r"], [8095, 0, "e"], [8096, 0, "s"], [8097, 0, ","], [8098, 0, " "], [8099, 0, "d"], [8100, 0, "u"], [8101, 0, "e"], [8102, 0, " "], [8103, 0, "t"], [8104, 0, "o"], [8105, 0, " "], [8106, 0, "t"], [8107, 0, "h"], [8108, 0, "e"], [8109, 0, " "], [8110, 0, "p"], [8111, 0, "o"], [8112, 0, "s"], [8113, 0, "s"], [8114, 0, "i"], [8115, 0, "b"], [8116, 0, "i"], [8117, 0, "l"], [8118, 0, "i"], [8119, 0, "t"], [8120, 0, "y"], [8121, 0, " "], [8122, 0, "o"], [8123, 0, "f"], [8124, 0, " "], [8125, 0, "e"], [8126, 0, "d"], [8127, 0, "i"], [8128, 0, "t"], [8125, 0, "c"], [8126, 0, "o"], [8127, 0, "n"], [8128, 0, "c"], [8129, 0, "u"], [8130, 0, "r"], [8131, 0, "r"], [8132, 0, "e"], [8133, 0, "n"], [8134, 0, "t"], [8135, 0, " "], [8140, 0, "s"], [8141, 0, " "], [8142, 0, "a"], [8143, 0, "t"], [8144, 0, " "], [8145, 0, "d"], [8146, 0, "i"], [8147, 0, "f"], [8148, 0, "f"], [8149, 0, "e"], [8150, 0, "r"], [8151, 0, "e"], [8152, 0, "n"], [8153, 0, "t"], [8154, 0, " "], [8155, 0, "l"], [8156, 0, "e"], [8157, 0, "v"], [8158, 0, "e"], [8159, 0, "l"], [8160, 0, "s"], [8161, 0, " "], [8162, 0, "o"], [8163, 0, "f"], [8164, 0, " "], [8165, 0, "t"], [8166, 0, "h"], [8167, 0, "e"], [8168, 0, " "], [8169, 0, "t"], [8170, 0, "r"], [8171, 0, "e"], [8172, 0, "e"], [8173, 0, "."], [8174, 0, " "], [8175, 0, "W"], [8176, 0, "e"], [8177, 0, " "], [8178, 0, "i"], [8179, 0, "l"], [8180, 0, "l"], [8181, 0, "u"], [8182, 0, "s"], [8183, 0, "t"], [8184, 0, "r"], [8185, 0, "a"], [8186, 0, "t"], [8187, 0, "e"], [8188, 0, " "], [8189, 0, "s"], [8190, 0, "o"], [8191, 0, "m"], [8192, 0, "e"], [8193, 0, " "], [8194, 0, "o"], [8195, 0, "f"], [8196, 0, " "], [8197, 0, "t"], [8198, 0, "h"], [8199, 0, "o"], [8200, 0, "s"], [8201, 0, "e"], [8202, 0, " "], [8203, 0, "c"], [8204, 0, "h"], [8205, 0, "a"], [8206, 0, "l"], [8207, 0, "l"], [8208, 0, "e"], [8209, 0, "n"], [8210, 0, "g"], [8211, 0, "e"], [8212, 0, "s"], [8213, 0, " "], [8214, 0, "b"], [8215, 0, "y"], [8216, 0, " "], [8217, 0, "e"], [8218, 0, "x"], [8219, 0, "a"], [8220, 0, "m"], [8221, 0, "p"], [8222, 0, "l"], [8223, 0, "e"], [8224, 0, " "], [8225, 0, "i"], [8226, 0, "n"], [8227, 0, " "], [8228, 0, "s"], [8229, 0, "e"], [8230, 0, "c"], [8231, 0, "t"], [8232, 0, "i"], [8233, 0, "o"], [8234, 0, "n"], [8235, 0, "~"], [8236, 0, "\\"], [8237, 0, "r"], [8238, 0, "e"], [8239, 0, "f"], [8240, 0, "{"], [8241, 0, "s"], [8242, 0, "e"], [8243, 0, "c"], [8244, 0, ":"], [8245, 0, "e"], [8246, 0, "x"], [8247, 0, "a"], [8248, 0, "m"], [8249, 0, "p"], [8250, 0, "l"], [8251, 0, "e"], [8252, 0, "s"], [8253, 0, "}"], [8254, 0, "."], [8255, 0, " "], [8256, 0, "O"], [8257, 0, "n"], [8258, 0, " "], [8259, 0, "t"], [8260, 0, "h"], [8261, 0, "e"], [8262, 0, " "], [8263, 0, "o"], [8264, 0, "t"], [8265, 0, "h"], [8266, 0, "e"], [8267, 0, "r"], [8268, 0, " "], [8269, 0, "h"], [8270, 0, "a"], [8271, 0, "n"], [8272, 0, "d"], [8273, 0, ","], [8274, 0, " "], [8275, 0, "n"], [8276, 0, "e"], [8277, 0, "s"], [8278, 0, "t"], [8279, 0, "e"], [8280, 0, "d"], [8281, 0, " "], [8282, 0, "s"], [8283, 0, "t"], [8284, 0, "r"], [8285, 0, "u"], [8286, 0, "c"], [8287, 0, "t"], [8288, 0, "u"], [8289, 0, "r"], [8290, 0, "e"], [8291, 0, "s"], [8292, 0, " "], [8293, 0, "a"], [8294, 0, "r"], [8295, 0, "e"], [8296, 0, " "], [8297, 0, "a"], [8298, 0, "n"], [8299, 0, " "], [8300, 0, "i"], [8301, 0, "m"], [8302, 0, "p"], [8303, 0, "o"], [8304, 0, "r"], [8305, 0, "t"], [8306, 0, "a"], [8307, 0, "n"], [8308, 0, "t"], [8309, 0, " "], [8310, 0, "r"], [8311, 0, "e"], [8312, 0, "q"], [8313, 0, "u"], [8314, 0, "i"], [8315, 0, "r"], [8316, 0, "e"], [8317, 0, "m"], [8318, 0, "e"], [8319, 0, "n"], [8320, 0, "t"], [8321, 0, " "], [8322, 0, "f"], [8323, 0, "o"], [8324, 0, "r"], [8325, 0, " "], [8326, 0, "m"], [8327, 0, "a"], [8328, 0, "n"], [8329, 0, "y"], [8330, 0, " "], [8331, 0, "a"], [8332, 0, "p"], [8333, 0, "p"], [8334, 0, "l"], [8335, 0, "i"], [8336, 0, "c"], [8337, 0, "a"], [8338, 0, "t"], [8339, 0, "i"], [8340, 0, "o"], [8341, 0, "n"], [8342, 0, "s"], [8343, 0, ";"], [8344, 0, " "], [8345, 0, "b"], [8346, 0, "y"], [8347, 0, " "], [8348, 0, "p"], [8349, 0, "r"], [8350, 0, "o"], [8351, 0, "v"], [8352, 0, "i"], [8353, 0, "d"], [8354, 0, "i"], [8355, 0, "n"], [8356, 0, "g"], [8357, 0, " "], [8358, 0, "a"], [8359, 0, "n"], [8360, 0, " "], [8361, 0, "a"], [8362, 0, "l"], [8363, 0, "g"], [8364, 0, "o"], [8365, 0, "r"], [8366, 0, "i"], [8367, 0, "t"], [8368, 0, "h"], [8369, 0, "m"], [8370, 0, " "], [8371, 0, "t"], [8372, 0, "h"], [8373, 0, "a"], [8374, 0, "t"], [8375, 0, " "], [6413, 0, "o"], [6414, 0, "p"], [6415, 0, "t"], [6416, 0, "i"], [6417, 0, "m"], [6418, 0, "i"], [6419, 0, "s"], [6420, 0, "t"], [6421, 0, "i"], [6422, 0, "c"], [6423, 0, "a"], [6424, 0, "l"], [6425, 0, "l"], [6426, 0, "y"], [6427, 0, " "], [6532, 0, " "], [6532, 1], [8391, 0, "h"], [8392, 0, "a"], [8393, 0, "n"], [8394, 0, "d"], [8395, 0, "l"], [8396, 0, "e"], [8397, 0, "s"], [8398, 0, " "], [8399, 0, "c"], [8400, 0, "o"], [8401, 0, "n"], [8402, 0, "f"], [8403, 0, "l"], [8404, 0, "i"], [8405, 0, "c"], [8406, 0, "t"], [8407, 0, " "], [8408, 0, "r"], [8409, 0, "e"], [8410, 0, "s"], [8411, 0, "o"], [8412, 0, "l"], [8413, 0, "u"], [8414, 0, "t"], [8415, 0, "i"], [8416, 0, "o"], [8417, 0, "n"], [8418, 0, " "], [8419, 0, "o"], [8420, 0, "n"], [8421, 0, " "], [8422, 0, "s"], [8423, 0, "u"], [8424, 0, "c"], [8425, 0, "h"], [8426, 0, " "], [8427, 0, "s"], [8428, 0, "t"], [8429, 0, "r"], [8430, 0, "u"], [8431, 0, "c"], [8432, 0, "t"], [8433, 0, "u"], [8434, 0, "r"], [8435, 0, "e"], [8436, 0, "s"], [8437, 0, ","], [8438, 0, " "], [8439, 0, "w"], [8440, 0, "e"], [8441, 0, " "], [8442, 0, "h"], [8443, 0, "o"], [8444, 0, "p"], [8445, 0, "e"], [8446, 0, " "], [8447, 0, "t"], [8448, 0, "o"], [8449, 0, " "], [8450, 0, "s"], [8451, 0, "i"], [8452, 0, "m"], [8453, 0, "p"], [8454, 0, "l"], [8455, 0, "i"], [8456, 0, "f"], [8457, 0, "y"], [8458, 0, " "], [8459, 0, "t"], [8460, 0, "h"], [8461, 0, "e"], [8462, 0, " "], [8463, 0, "t"], [8464, 0, "h"], [8465, 0, "e"], [8466, 0, " "], [8467, 0, "d"], [8468, 0, "e"], [8469, 0, "v"], [8470, 0, "e"], [8471, 0, "l"], [8472, 0, "o"], [8473, 0, "p"], [8474, 0, "m"], [8475, 0, "e"], [8476, 0, "n"], [8477, 0, "t"], [8478, 0, " "], [8479, 0, "o"], [8480, 0, "f"], [8481, 0, " "], [8482, 0, "a"], [8483, 0, "p"], [8484, 0, "p"], [8485, 0, "l"], [8486, 0, "i"], [8487, 0, "c"], [8488, 0, "a"], [8489, 0, "t"], [8490, 0, "i"], [8491, 0, "o"], [8492, 0, "n"], [8493, 0, "s"], [8494, 0, " "], [8495, 0, "t"], [8496, 0, "h"], [8497, 0, "a"], [8498, 0, "t"], [8499, 0, " "], [8500, 0, "u"], [8501, 0, "s"], [8502, 0, "e"], [8503, 0, " "], [8504, 0, "o"], [8505, 0, "p"], [8506, 0, "t"], [8507, 0, "i"], [8508, 0, "m"], [8509, 0, "i"], [8510, 0, "s"], [8511, 0, "t"], [8512, 0, "i"], [8513, 0, "c"], [8514, 0, " "], [8515, 0, "r"], [8516, 0, "e"], [8517, 0, "p"], [8518, 0, "l"], [8519, 0, "i"], [8520, 0, "c"], [8521, 0, "a"], [8522, 0, "t"], [8523, 0, "i"], [8524, 0, "o"], [8525, 0, "n"], [8526, 0, "."], [8570, 0, "\n"], [8571, 0, "\n"], [8572, 0, "I"], [8573, 0, "n"], [8574, 0, " "], [8575, 0, "t"], [8576, 0, "h"], [8577, 0, "i"], [8578, 0, "s"], [8579, 0, " "], [8580, 0, "s"], [8581, 0, "e"], [8582, 0, "c"], [8583, 0, "t"], [8584, 0, "i"], [8585, 0, "o"], [8586, 0, "n"], [8587, 0, " "], [8588, 0, "w"], [8589, 0, "e"], [8590, 0, " "], [8591, 0, "d"], [8592, 0, "i"], [8593, 0, "s"], [8594, 0, "c"], [8595, 0, "u"], [8596, 0, "s"], [8597, 0, "s"], [8598, 0, " "], [8599, 0, "e"], [8600, 0, "x"], [8601, 0, "i"], [8602, 0, "s"], [8603, 0, "t"], [8604, 0, "i"], [8605, 0, "n"], [8606, 0, "g"], [8607, 0, " "], [8608, 0, "a"], [8609, 0, "p"], [8610, 0, "p"], [8611, 0, "r"], [8612, 0, "o"], [8613, 0, "a"], [8614, 0, "c"], [8615, 0, "h"], [8616, 0, "e"], [8617, 0, "s"], [8618, 0, " "], [8619, 0, "t"], [8620, 0, "o"], [8621, 0, " "], [8622, 0, "o"], [8623, 0, "p"], [8624, 0, "t"], [8625, 0, "i"], [8626, 0, "m"], [8627, 0, "i"], [8628, 0, "s"], [8629, 0, "t"], [8630, 0, "i"], [8631, 0, "c"], [8632, 0, " "], [8633, 0, "r"], [8634, 0, "e"], [8635, 0, "p"], [8636, 0, "l"], [8637, 0, "i"], [8638, 0, "c"], [8639, 0, "a"], [8640, 0, "t"], [8641, 0, "i"], [8642, 0, "o"], [8643, 0, "n"], [8644, 0, ","], [8645, 0, " "], [8646, 0, "c"], [8647, 0, "o"], [8648, 0, "l"], [8649, 0, "l"], [8650, 0, "a"], [8651, 0, "b"], [8652, 0, "o"], [8653, 0, "r"], [8654, 0, "a"], [8655, 0, "t"], [8656, 0, "i"], [8657, 0, "v"], [8658, 0, "e"], [8659, 0, " "], [8660, 0, "e"], [8661, 0, "d"], [8662, 0, "i"], [8663, 0, "t"], [8664, 0, "i"], [8665, 0, "n"], [8666, 0, "g"], [8667, 0, " "], [8668, 0, "a"], [8669, 0, "n"], [8670, 0, "d"], [8671, 0, " "], [8672, 0, "c"], [8673, 0, "o"], [8674, 0, "n"], [8675, 0, "f"], [8676, 0, "l"], [8677, 0, "i"], [8678, 0, "c"], [8679, 0, "t"], [8680, 0, " "], [8681, 0, "r"], [8682, 0, "e"], [8683, 0, "s"], [8684, 0, "o"], [8685, 0, "l"], [8686, 0, "u"], [8687, 0, "t"], [8688, 0, "i"], [8689, 0, "o"], [8690, 0, "n"], [8691, 0, "."], [9324, 0, " "], [9325, 0, "("], [9326, 0, "s"], [9327, 0, "e"], [9328, 0, "e"], [9329, 0, " "], [9330, 0, "s"], [9331, 0, "e"], [9332, 0, "c"], [9333, 0, "t"], [9334, 0, "i"], [9335, 0, "o"], [9336, 0, "n"], [9337, 0, "~"], [9338, 0, "\\"], [9339, 0, "r"], [9340, 0, "e"], [9341, 0, "f"], [9342, 0, "{"], [9343, 0, "s"], [9344, 0, "e"], [9345, 0, "c"], [9346, 0, ":"], [9347, 0, "j"], [9348, 0, "s"], [9349, 0, "o"], [9350, 0, "n"], [9351, 0, "-"], [9352, 0, "x"], [9353, 0, "m"], [9354, 0, "l"], [9355, 0, "}"], [9356, 0, ")"], [6380, 0, " "], [6381, 0, "W"], [6382, 0, "e"], [6383, 0, " "], [6384, 0, "d"], [6385, 0, "o"], [6386, 0, " "], [6387, 0, "n"], [6388, 0, "o"], [6389, 0, "t"], [6390, 0, " "], [6391, 0, "d"], [6392, 0, "i"], [6393, 0, "s"], [6394, 0, "t"], [6395, 0, "i"], [6396, 0, "n"], [6397, 0, "g"], [6398, 0, "u"], [6399, 0, "i"], [6400, 0, "s"], [6401, 0, "h"], [6402, 0, " "], [6403, 0, "b"], [6404, 0, "e"], [6405, 0, "t"], [6406, 0, "w"], [6407, 0, "e"], [6408, 0, "e"], [6409, 0, "n"], [6410, 0, " "], [6411, 0, "d"], [6412, 0, "e"], [6413, 0, "v"], [6414, 0, "i"], [6415, 0, "c"], [6416, 0, "e"], [6417, 0, "s"], [6418, 0, " "], [6419, 0, "o"], [6420, 0, "w"], [6421, 0, "n"], [6422, 0, "e"], [6423, 0, "d"], [6424, 0, " "], [6425, 0, "b"], [6426, 0, "y"], [6427, 0, " "], [6428, 0, "t"], [6429, 0, "h"], [6430, 0, "e"], [6431, 0, " "], [6432, 0, "s"], [6433, 0, "a"], [6434, 0, "m"], [6435, 0, "e"], [6436, 0, " "], [6437, 0, "u"], [6438, 0, "s"], [6439, 0, "e"], [6440, 0, "r"], [6441, 0, " "], [6442, 0, "a"], [6443, 0, "n"], [6444, 0, "d"], [6445, 0, " "], [6446, 0, "d"], [6447, 0, "i"], [6448, 0, "f"], [6449, 0, "f"], [6450, 0, "e"], [6451, 0, "r"], [6452, 0, "e"], [6453, 0, "n"], [6454, 0, "t"], [6455, 0, " "], [6456, 0, "u"], [6457, 0, "s"], [6458, 0, "e"], [6459, 0, "r"], [6460, 0, "s"], [6461, 0, "."], [4766, 0, "W"], [4767, 0, "e"], [4768, 0, " "], [4769, 0, "t"], [4770, 0, "r"], [4771, 0, "e"], [4772, 0, "a"], [4773, 0, "t"], [4774, 0, " "], [4775, 1], [4775, 0, "k"], [4780, 1], [4780, 1], [4780, 1], [4780, 0, "a"], [4781, 0, "s"], [4807, 1], [4806, 1], [4806, 0, "s"], [6843, 1], [6843, 0, "\n"], [6844, 0, "\n"], [6965, 0, " "], [6966, 0, "m"], [6967, 0, "e"], [6968, 0, "s"], [6969, 0, "s"], [6970, 0, "a"], [6971, 0, "g"], [6972, 0, "e"], [6973, 0, "s"], [6974, 0, " "], [6975, 0, "t"], [6976, 0, "o"], [6977, 0, " "], [6978, 0, "b"], [6979, 0, "e"], [6980, 0, " "], [6981, 0, "d"], [6982, 0, "e"], [6983, 0, "l"], [6984, 0, "i"], [6985, 0, "v"], [6986, 0, "e"], [6987, 0, "r"], [6988, 0, "e"], [6989, 0, "d"], [6990, 0, " "], [6991, 0, "v"], [6992, 0, "i"], [6993, 0, "a"], [7096, 1], [7096, 1], [7096, 1], [7096, 1], [7096, 1], [7096, 1], [7096, 1], [7096, 1], [7096, 1], [7096, 1], [7096, 1], [7153, 1], [7153, 1], [7153, 1], [7153, 1], [7409, 1], [7408, 1], [7408, 0, "h"], [7409, 0, "r"], [7410, 0, "e"], [7411, 0, "e"], [7612, 0, "\n"], [7613, 0, "\\"], [7614, 0, "i"], [7615, 0, "t"], [7616, 0, "e"], [7617, 0, "m"], [7618, 0, " "], [7619, 0, "I"], [7620, 0, "f"], [7621, 0, " "], [7622, 0, "a"], [7622, 1], [7621, 1], [7620, 1], [7619, 1], [7619, 0, "F"], [7620, 0, "o"], [7621, 0, "r"], [7622, 0, " "], [7623, 0, "s"], [7624, 0, "o"], [7625, 0, "m"], [7626, 0, "e"], [7627, 0, " "], [7628, 0, "s"], [7629, 0, "e"], [7630, 0, "t"], [7631, 0, " "], [7631, 1], [7630, 1], [7629, 1], [7628, 1], [7627, 1], [7626, 1], [7625, 1], [7624, 1], [7623, 1], [7622, 1], [7621, 1], [7620, 1], [7619, 1], [7619, 0, "I"], [7620, 0, "f"], [7621, 0, " "], [7622, 0, "a"], [7623, 0, "l"], [7624, 0, "l"], [7625, 0, " "], [7626, 0, "s"], [7627, 0, "e"], [7628, 0, "q"], [7629, 0, "u"], [7630, 0, "e"], [7631, 0, "n"], [7632, 0, "t"], [7633, 0, "i"], [7634, 0, "a"], [7635, 0, "l"], [7636, 0, " "], [7637, 0, "p"], [7638, 0, "e"], [7639, 0, "r"], [7640, 0, "m"], [7641, 0, "u"], [7642, 0, "t"], [7643, 0, "a"], [7644, 0, "t"], [7645, 0, "i"], [7646, 0, "o"], [7647, 0, "n"], [7648, 0, "s"], [7649, 0, " "], [7650, 0, "o"], [7651, 0, "f"], [7652, 0, " "], [7653, 0, "u"], [7654, 0, "p"], [7655, 0, "d"], [7656, 0, "a"], [7657, 0, "t"], [7658, 0, "e"], [7659, 0, "s"], [7660, 0, " "], [7661, 0, "l"], [7662, 0, "e"], [7663, 0, "a"], [7664, 0, "d"], [7665, 0, " "], [7666, 0, "t"], [7667, 0, "o"], [7668, 0, " "], [7669, 0, "t"], [7670, 0, "h"], [7671, 0, "e"], [7672, 0, " "], [7673, 0, "s"], [7674, 0, "a"], [7675, 0, "m"], [7676, 0, "e"], [7677, 0, " "], [7678, 0, "s"], [7679, 0, "t"], [7680, 0, "a"], [7681, 0, "t"], [7682, 0, "e"], [7683, 0, ","], [7684, 0, " "], [7685, 0, "t"], [7686, 0, "h"], [7687, 0, "e"], [7688, 0, "n"], [7689, 0, " "], [7690, 0, "c"], [7691, 0, "o"], [7692, 0, "n"], [7693, 0, "c"], [7694, 0, "u"], [7695, 0, "r"], [7696, 0, "r"], [7697, 0, "e"], [7698, 0, "n"], [7699, 0, "t"], [7700, 0, " "], [7701, 0, "e"], [7702, 0, "x"], [7703, 0, "e"], [7704, 0, "c"], [7705, 0, "u"], [7706, 0, "t"], [7707, 0, "i"], [7708, 0, "o"], [7709, 0, "n"], [7710, 0, " "], [7711, 0, "o"], [7712, 0, "f"], [7713, 0, " "], [7714, 0, "t"], [7715, 0, "h"], [7716, 0, "o"], [7717, 0, "s"], [7718, 0, "e"], [7719, 0, " "], [7720, 0, "u"], [7721, 0, "p"], [7722, 0, "d"], [7723, 0, "a"], [7724, 0, "t"], [7725, 0, "e"], [7726, 0, "s"], [7727, 0, " "], [7728, 0, "a"], [7729, 0, "l"], [7730, 0, "s"], [7731, 0, "o"], [7732, 0, " "], [7733, 0, "l"], [7734, 0, "e"], [7735, 0, "a"], [7736, 0, "d"], [7737, 0, "s"], [7738, 0, " "], [7739, 0, "t"], [7740, 0, "o"], [7741, 0, " "], [7742, 0, "t"], [7743, 0, "h"], [7744, 0, "e"], [7745, 0, " "], [7746, 0, "s"], [7747, 0, "a"], [7748, 0, "m"], [7749, 0, "e"], [7750, 0, " "], [7751, 0, "s"], [7752, 0, "t"], [7753, 0, "a"], [7754, 0, "t"], [7755, 0, "e"], [7756, 0, "~"], [7757, 0, "\\"], [7758, 0, "c"], [7759, 0, "i"], [7760, 0, "t"], [7761, 0, "e"], [7762, 0, "{"], [7763, 0, "B"], [7764, 0, "i"], [7765, 0, "e"], [7766, 0, "n"], [7767, 0, "i"], [7768, 0, "u"], [7769, 0, "s"], [7770, 0, "a"], [7771, 0, ":"], [7772, 0, "2"], [7773, 0, "0"], [7774, 0, "1"], [7775, 0, "2"], [7776, 0, "g"], [7777, 0, "t"], [7778, 0, "}"], [7779, 0, "."], [7257, 0, "a"], [7258, 0, " "], [11431, 0, "\n"], [11432, 0, "C"], [11433, 0, "o"], [11434, 0, "n"], [11435, 0, "f"], [11436, 0, "l"], [11437, 0, "i"], [11438, 0, "c"], [11439, 0, "t"], [11440, 0, "-"], [11441, 0, "f"], [11442, 0, "r"], [11443, 0, "e"], [11444, 0, "e"], [11445, 0, " "], [11446, 0, "r"], [11447, 0, "e"], [11448, 0, "p"], [11449, 0, "l"], [11450, 0, "i"], [11451, 0, "c"], [11452, 0, "a"], [11453, 0, "t"], [11454, 0, "e"], [11455, 0, "d"], [11456, 0, " "], [11457, 0, "d"], [11458, 0, "a"], [11459, 0, "t"], [11460, 0, "a"], [11461, 0, "t"], [11462, 0, "y"], [11463, 0, "p"], [11464, 0, "e"], [11465, 0, "s"], [11466, 0, " "], [11467, 0, "a"], [11468, 0, "r"], [11469, 0, "e"], [11470, 0, " "], [11471, 0, "a"], [11472, 0, " "], [11473, 0, "f"], [11474, 0, "a"], [11475, 0, "m"], [11476, 0, "i"], [11477, 0, "l"], [11478, 0, "y"], [11479, 0, " "], [11480, 0, "o"], [11481, 0, "f"], [11482, 0, " "], [11483, 0, "d"], [11484, 0, "a"], [11485, 0, "t"], [11486, 0, "a"], [11487, 0, " "], [11488, 0, "s"], [11489, 0, "t"], [11490, 0, "r"], [11491, 0, "u"], [11492, 0, "c"], [11493, 0, "t"], [11494, 0, "u"], [11495, 0, "r"], [11496, 0, "e"], [11497, 0, "s"], [11498, 0, " "], [11499, 0, "\n"], [11467, 0, "("], [11468, 0, "C"], [11469, 0, "R"], [11470, 0, "D"], [11471, 0, "T"], [11472, 0, ")"], [11473, 0, " "], [11472, 0, "s"], [11507, 0, "t"], [11508, 0, "h"], [11509, 0, "a"], [11510, 0, "t"], [11511, 0, " "], [11512, 0, "c"], [11513, 0, "a"], [11514, 0, "n"], [11515, 0, " "], [11516, 0, "b"], [11517, 0, "e"], [11518, 0, " "], [11519, 0, "c"], [11520, 0, "o"], [11521, 0, "n"], [11522, 0, "c"], [11523, 0, "u"], [11524, 0, "r"], [11525, 0, "r"], [11526, 0, "e"], [11527, 0, "n"], [11528, 0, "t"], [11529, 0, "l"], [11530, 0, "y"], [11531, 0, " "], [11532, 0, "m"], [11533, 0, "o"], [11534, 0, "d"], [11535, 0, "i"], [11536, 0, "f"], [11537, 0, "i"], [11538, 0, "e"], [11539, 0, "d"], [11540, 0, " "], [11541, 0, "a"], [11542, 0, "n"], [11543, 0, "d"], [11544, 0, " "], [11545, 0, "t"], [11546, 0, "h"], [11547, 0, "a"], [11548, 0, "t"], [11549, 0, " "], [11550, 0, "g"], [11551, 0, "u"], [11552, 0, "a"], [11553, 0, "r"], [11554, 0, "a"], [11555, 0, "n"], [11556, 0, "t"], [11557, 0, "e"], [11558, 0, "e"], [11559, 0, " "], [11560, 0, "c"], [11561, 0, "o"], [11562, 0, "n"], [11563, 0, "v"], [11564, 0, "e"], [11565, 0, "r"], [11566, 0, "g"], [11567, 0, "e"], [11568, 0, "n"], [11569, 0, "c"], [11570, 0, "e"], [11571, 0, " "], [11572, 0, "o"], [11573, 0, "f"], [11574, 0, " "], [11575, 0, "s"], [11576, 0, "u"], [11577, 0, "c"], [11578, 0, "h"], [11579, 0, " "], [11580, 0, "c"], [11581, 0, "o"], [11582, 0, "n"], [11583, 0, "c"], [11584, 0, "u"], [11585, 0, "r"], [11586, 0, "r"], [11587, 0, "e"], [11588, 0, "n"], [11589, 0, "t"], [11590, 0, " "], [11591, 0, "u"], [11592, 0, "p"], [11593, 0, "d"], [11594, 0, "a"], [11595, 0, "t"], [11596, 0, "e"], [11597, 0, "s"], [11598, 0, "."], [11599, 0, " "], [11600, 0, "T"], [11601, 0, "h"], [11602, 0, "e"], [11603, 0, "y"], [11604, 0, " "], [11605, 0, "w"], [11606, 0, "o"], [11607, 0, "r"], [11608, 0, "k"], [11609, 0, " "], [11610, 0, "b"], [11611, 0, "y"], [11612, 0, " "], [11613, 0, "a"], [11614, 0, "t"], [11615, 0, "t"], [11616, 0, "a"], [11617, 0, "c"], [11618, 0, "h"], [11619, 0, "i"], [11620, 0, "n"], [11621, 0, "g"], [11622, 0, " "], [11623, 0, "a"], [11624, 0, "d"], [11625, 0, "d"], [11626, 0, "i"], [11627, 0, "t"], [11628, 0, "i"], [11629, 0, "o"], [11630, 0, "n"], [11631, 0, "a"], [11632, 0, "l"], [11633, 0, " "], [11634, 0, "m"], [11635, 0, "e"], [11636, 0, "t"], [11637, 0, "a"], [11638, 0, "d"], [11639, 0, "a"], [11640, 0, "t"], [11641, 0, "a"], [11642, 0, " "], [11643, 0, "t"], [11644, 0, "o"], [11645, 0, " "], [11646, 0, "t"], [11647, 0, "h"], [11648, 0, "e"], [11649, 0, " "], [11650, 0, "d"], [11651, 0, "a"], [11652, 0, "t"], [11653, 0, "a"], [11654, 0, " "], [11655, 0, "s"], [11656, 0, "t"], [11657, 0, "r"], [11658, 0, "u"], [11659, 0, "c"], [11660, 0, "t"], [11661, 0, "u"], [11662, 0, "r"], [11663, 0, "e"], [11664, 0, ","], [11665, 0, " "], [11666, 0, "a"], [11667, 0, "n"], [11668, 0, "d"], [11669, 0, " "], [11670, 0, "m"], [11671, 0, "a"], [11672, 0, "k"], [11673, 0, "i"], [11674, 0, "n"], [11675, 0, "g"], [11676, 0, " "], [11677, 0, "m"], [11678, 0, "o"], [11679, 0, "d"], [11680, 0, "i"], [11681, 0, "f"], [11682, 0, "i"], [11683, 0, "c"], [11684, 0, "a"], [11685, 0, "t"], [11686, 0, "i"], [11687, 0, "o"], [11688, 0, "n"], [11689, 0, " "], [11690, 0, "o"], [11691, 0, "p"], [11692, 0, "e"], [11693, 0, "r"], [11694, 0, "a"], [11695, 0, "t"], [11696, 0, "i"], [11697, 0, "o"], [11698, 0, "n"], [11699, 0, "s"], [11700, 0, " "], [11701, 0, "c"], [11702, 0, "o"], [11703, 0, "m"], [11704, 0, "m"], [11705, 0, "u"], [11706, 0, "t"], [11707, 0, "a"], [11708, 0, "t"], [11709, 0, "i"], [11710, 0, "v"], [11711, 0, "e"], [11712, 0, " "], [11713, 0, "b"], [11714, 0, "y"], [11715, 0, " "], [11716, 0, "c"], [11717, 0, "o"], [11718, 0, "n"], [11719, 0, "s"], [11720, 0, "t"], [11721, 0, "r"], [11722, 0, "u"], [11723, 0, "c"], [11724, 0, "t"], [11725, 0, "i"], [11726, 0, "o"], [11727, 0, "n"], [11728, 0, "."], [11599, 0, " "], [11600, 0, "U"], [11601, 0, "n"], [11602, 0, "l"], [11603, 0, "i"], [11604, 0, "k"], [11605, 0, "e"], [11606, 0, " "], [11607, 0, "O"], [11608, 0, "T"], [11609, 0, ","], [11610, 0, " "], [11611, 0, "w"], [11612, 0, "h"], [11613, 0, "i"], [11614, 0, "c"], [11615, 0, "h"], [11616, 0, " "], [11617, 0, "t"], [11618, 0, "r"], [11619, 0, "a"], [11620, 0, "n"], [11621, 0, "s"], [11622, 0, "f"], [11623, 0, "o"], [11624, 0, "r"], [11625, 0, "m"], [11626, 0, "s"], [11627, 0, " "], [11628, 0, "o"], [11629, 0, "p"], [11630, 0, "e"], [11631, 0, "r"], [11632, 0, "a"], [11633, 0, "t"], [11634, 0, "i"], [11635, 0, "o"], [11636, 0, "n"], [11637, 0, "s"], [11638, 0, " "], [11639, 0, "a"], [11639, 1], [11638, 1], [11637, 1], [11636, 1], [11635, 1], [11634, 1], [11633, 1], [11632, 1], [11631, 1], [11630, 1], [11629, 1], [11628, 1], [11627, 1], [11626, 1], [11625, 1], [11624, 1], [11623, 1], [11622, 1], [11621, 1], [11620, 1], [11619, 1], [11618, 1], [11617, 1], [11616, 1], [11615, 1], [11614, 1], [11613, 1], [11612, 1], [11611, 1], [11610, 1], [11609, 1], [11608, 1], [11607, 1], [11606, 1], [11605, 1], [11604, 1], [11603, 1], [11602, 1], [11601, 1], [11600, 1], [11599, 1], [11729, 0, " "], [11730, 0, "B"], [11731, 0, "y"], [11732, 0, " "], [11733, 0, "c"], [11734, 0, "o"], [11735, 0, "n"], [11736, 0, "t"], [11737, 0, "r"], [11738, 0, "a"], [11739, 0, "s"], [11740, 0, "t"], [11741, 0, ","], [11742, 0, " "], [11743, 0, "O"], [11744, 0, "T"], [11745, 0, " "], [11746, 0, "w"], [11747, 0, "o"], [11748, 0, "r"], [11749, 0, "k"], [11750, 0, "s"], [11751, 0, " "], [11752, 0, "b"], [11753, 0, "y"], [11754, 0, " "], [11755, 0, "t"], [11756, 0, "r"], [11757, 0, "a"], [11758, 0, "n"], [11759, 0, "s"], [11760, 0, "o"], [11760, 1], [11760, 0, "f"], [11761, 0, "o"], [11762, 0, "r"], [11763, 0, "m"], [11764, 0, "i"], [11765, 0, "n"], [11766, 0, "g"], [11767, 0, " "], [11768, 0, "n"], [11769, 0, "o"], [11770, 0, "n"], [11771, 0, "-"], [11772, 0, "c"], [11773, 0, "o"], [11774, 0, "m"], [11775, 0, "m"], [11776, 0, "u"], [11777, 0, "t"], [11778, 0, "a"], [11779, 0, "t"], [11780, 0, "i"], [11781, 0, "v"], [11782, 0, "e"], [11783, 0, " "], [11784, 0, "u"], [11785, 0, "p"], [11786, 0, "d"], [11787, 0, "a"], [11788, 0, "t"], [11789, 0, "e"], [11790, 0, " "], [11791, 0, "o"], [11792, 0, "p"], [11793, 0, "e"], [11794, 0, "r"], [11795, 0, "a"], [11796, 0, "t"], [11797, 0, "i"], [11798, 0, "o"], [11799, 0, "n"], [11800, 0, "s"], [11801, 0, " "], [11801, 1], [11800, 1], [11799, 1], [11798, 1], [11797, 1], [11796, 1], [11795, 1], [11794, 1], [11793, 1], [11792, 1], [11791, 1], [11790, 1], [11789, 1], [11788, 1], [11787, 1], [11786, 1], [11785, 1], [11784, 1], [11783, 1], [11782, 1], [11781, 1], [11780, 1], [11779, 1], [11778, 1], [11777, 1], [11776, 1], [11775, 1], [11774, 1], [11773, 1], [11772, 1], [11771, 1], [11770, 1], [11769, 1], [11768, 1], [11767, 1], [11766, 1], [11765, 1], [11764, 1], [11763, 1], [11762, 1], [11761, 1], [11760, 1], [11759, 1], [11758, 1], [11757, 1], [11756, 1], [11755, 1], [11754, 1], [11753, 1], [11752, 1], [11751, 1], [11750, 1], [11749, 1], [11748, 1], [11747, 1], [11746, 1], [11745, 1], [11744, 1], [11743, 1], [11742, 1], [11741, 1], [11740, 1], [11739, 1], [11738, 1], [11737, 1], [11736, 1], [11735, 1], [11734, 1], [11733, 1], [11732, 1], [11731, 1], [11730, 1], [11729, 1], [12242, 1], [12241, 1], [12240, 1], [12239, 1], [12238, 1], [12237, 1], [12237, 0, "p"], [12238, 0, "r"], [12239, 0, "i"], [12240, 0, "m"], [12241, 0, "i"], [12242, 0, "t"], [12243, 0, "i"], [12244, 0, "v"], [12245, 0, "e"], [9634, 0, " "], [9635, 0, "M"], [9636, 0, "o"], [9637, 0, "r"], [9638, 0, "e"], [9639, 0, "o"], [9640, 0, "v"], [9641, 0, "e"], [9642, 0, "r"], [9643, 0, ","], [9644, 0, " "], [9645, 0, "p"], [9646, 0, "e"], [9647, 0, "r"], [9648, 0, "f"], [9649, 0, "o"], [9650, 0, "r"], [9651, 0, "m"], [9652, 0, "a"], [9653, 0, "n"], [9654, 0, "c"], [9655, 0, "e"], [9656, 0, " "], [9657, 0, "s"], [9658, 0, "t"], [9659, 0, "u"], [9660, 0, "d"], [9661, 0, "i"], [9662, 0, "e"], [9663, 0, "s"], [9664, 0, " "], [9665, 0, "h"], [9666, 0, "a"], [9667, 0, "v"], [9668, 0, "e"], [9669, 0, " "], [9670, 0, "c"], [9671, 0, "a"], [9672, 0, "s"], [9673, 0, "t"], [9674, 0, " "], [9675, 0, "d"], [9676, 0, "o"], [9677, 0, "u"], [9678, 0, "b"], [9679, 0, "t"], [9680, 0, " "], [9681, 0, "o"], [9682, 0, "n"], [9683, 0, " "], [9683, 1], [9682, 1], [9681, 1], [9680, 1], [9679, 1], [9678, 1], [9677, 1], [9676, 1], [9675, 1], [9674, 1], [9673, 1], [9672, 1], [9671, 1], [9670, 1], [9669, 1], [9668, 1], [9667, 1], [9666, 1], [9665, 1], [9664, 1], [9663, 1], [9662, 1], [9661, 1], [9660, 1], [9659, 1], [9658, 1], [9657, 1], [9656, 1], [9655, 1], [9645, 0, "t"], [9646, 0, "h"], [9647, 0, "e"], [9648, 0, " "], [9659, 0, "e"], [9660, 0, " "], [9661, 0, "o"], [9662, 0, "f"], [9663, 0, " "], [9664, 0, "O"], [9665, 0, "T"], [9666, 0, " "], [9667, 0, "a"], [9668, 0, "l"], [9669, 0, "g"], [9670, 0, "o"], [9671, 0, "r"], [9672, 0, "i"], [9673, 0, "t"], [9674, 0, "h"], [9675, 0, "m"], [9676, 0, "s"], [9677, 0, " "], [9678, 0, "d"], [9679, 0, "e"], [9680, 0, "g"], [9681, 0, "r"], [9682, 0, "a"], [9683, 0, "d"], [9684, 0, "e"], [9685, 0, "s"], [9686, 0, " "], [9687, 0, "r"], [9688, 0, "a"], [9689, 0, "p"], [9690, 0, "i"], [9691, 0, "d"], [9692, 0, "l"], [9693, 0, "y"], [9694, 0, " "], [9645, 1], [9644, 1], [9643, 1], [9642, 1], [9641, 1], [9640, 1], [9639, 1], [9638, 1], [9637, 1], [9636, 1], [9635, 1], [9635, 0, "T"], [9685, 0, "a"], [9686, 0, "s"], [9687, 0, " "], [9688, 0, "t"], [9689, 0, "h"], [9690, 0, "e"], [9691, 0, " "], [9692, 0, "n"], [9693, 0, "u"], [9694, 0, "m"], [9695, 0, "b"], [9696, 0, "e"], [9697, 0, "r"], [9698, 0, " "], [9699, 0, "o"], [9700, 0, "f"], [9701, 0, " "], [9702, 0, "c"], [9703, 0, "o"], [9704, 0, "n"], [9705, 0, "c"], [9706, 0, "u"], [9707, 0, "r"], [9708, 0, "r"], [9709, 0, "e"], [9710, 0, "n"], [9711, 0, "t"], [9712, 0, " "], [9713, 0, "o"], [9714, 0, "p"], [9715, 0, "e"], [9716, 0, "r"], [9717, 0, "a"], [9718, 0, "t"], [9719, 0, "i"], [9720, 0, "o"], [9721, 0, "n"], [9722, 0, "s"], [9723, 0, " "], [9724, 0, "i"], [9725, 0, "n"], [9726, 0, "c"], [9727, 0, "r"], [9728, 0, "e"], [9729, 0, "a"], [9730, 0, "s"], [9731, 0, "e"], [9732, 0, "s"], [9733, 0, "~"], [9734, 0, "\\"], [9735, 0, "c"], [9736, 0, "i"], [9737, 0, "t"], [9738, 0, "e"], [9739, 0, "{"], [9740, 0, "L"], [9741, 0, "i"], [9742, 0, ":"], [9743, 0, "2"], [9744, 0, "0"], [9745, 0, "0"], [9746, 0, "6"], [9747, 0, "k"], [9748, 0, "d"], [9749, 0, "}"], [9750, 0, "."], [11846, 0, " "], [11847, 0, "T"], [11848, 0, "h"], [11849, 0, "e"], [11850, 0, " "], [11851, 0, "J"], [11852, 0, "S"], [11853, 0, "O"], [11854, 0, "N"], [11855, 0, " "], [11856, 0, "d"], [11857, 0, "a"], [11858, 0, "t"], [11859, 0, "a"], [11860, 0, "t"], [11861, 0, "y"], [11862, 0, "p"], [11863, 0, "e"], [11864, 0, " "], [11865, 0, "d"], [11866, 0, "e"], [11867, 0, "s"], [11868, 0, "c"], [11869, 0, "r"], [11870, 0, "i"], [11871, 0, "b"], [11872, 0, "e"], [11873, 0, "d"], [11874, 0, " "], [11875, 0, "i"], [11876, 0, "n"], [11877, 0, " "], [11878, 0, "t"], [11879, 0, "h"], [11880, 0, "i"], [11881, 0, "s"], [11882, 0, " "], [11883, 0, "p"], [11884, 0, "a"], [11885, 0, "p"], [11886, 0, "e"], [11887, 0, "r"], [11888, 0, " "], [11889, 0, "i"], [11890, 0, "s"], [11891, 0, " "], [11892, 0, "a"], [11893, 0, " "], [11894, 0, "k"], [11895, 0, "i"], [11896, 0, "n"], [11897, 0, "d"], [11898, 0, " "], [11899, 0, "o"], [11900, 0, "f"], [11901, 0, " "], [11902, 0, "C"], [11903, 0, "R"], [11904, 0, "D"], [11905, 0, "T"], [11906, 0, "."], [7654, 0, " "], [7655, 0, "a"], [7656, 0, " "], [7657, 0, "s"], [7658, 0, "e"], [7659, 0, "t"], [7660, 0, " "], [7661, 0, "o"], [7662, 0, "f"], [13605, 1], [13604, 1], [13603, 1], [13602, 1], [13601, 1], [13600, 1], [13599, 1], [13598, 1], [13597, 1], [13596, 1], [13595, 1], [13594, 1], [13593, 1], [13592, 1], [13591, 1], [13590, 1], [13589, 1], [13588, 1], [13587, 1], [13586, 1], [13585, 1], [13584, 1], [13583, 1], [13582, 1], [13581, 1], [13580, 1], [13579, 1], [13578, 1], [13577, 1], [13576, 1], [13575, 1], [13574, 1], [13573, 1], [13572, 1], [13571, 1], [13570, 1], [13569, 1], [13568, 1], [13567, 1], [13566, 1], [13565, 1], [13564, 1], [13563, 1], [13562, 1], [13561, 1], [13560, 1], [13559, 1], [13558, 1], [13557, 1], [13556, 1], [13555, 1], [13554, 1], [13553, 1], [13552, 1], [13551, 1], [13550, 1], [13549, 1], [13548, 1], [13547, 1], [13546, 1], [13545, 1], [13544, 1], [50753, 0, "\n"], [50754, 0, "T"], [50755, 0, "h"], [50756, 0, "e"], [50757, 0, " "], [50758, 0, "\\"], [50759, 0, "t"], [50760, 0, "e"], [50761, 0, "x"], [50762, 0, "t"], [50763, 0, "s"], [50764, 0, "f"], [50765, 0, "{"], [50766, 0, "y"], [50767, 0, "i"], [50768, 0, "e"], [50769, 0, "l"], [50770, 0, "d"], [50771, 0, "}"], [50772, 0, " "], [50773, 0, "c"], [50774, 0, "o"], [50775, 0, "m"], [50776, 0, "m"], [50777, 0, "a"], [50778, 0, "n"], [50779, 0, "d"], [50780, 0, ","], [50781, 0, " "], [50782, 0, "i"], [50783, 0, "n"], [50784, 0, "s"], [50785, 0, "p"], [50786, 0, "i"], [50787, 0, "r"], [50788, 0, "e"], [50789, 0, "d"], [50790, 0, " "], [50791, 0, "b"], [50792, 0, "y"], [50793, 0, " "], [50794, 0, "B"], [50795, 0, "u"], [50796, 0, "r"], [50797, 0, "c"], [50798, 0, "k"], [50799, 0, "h"], [50800, 0, "a"], [50801, 0, "r"], [50802, 0, "d"], [50803, 0, "t"], [50804, 0, " "], [50805, 0, "e"], [50806, 0, "t"], [50807, 0, " "], [50808, 0, "a"], [50809, 0, "l"], [50810, 0, "."], [50811, 0, "~"], [50812, 0, "\\"], [50813, 0, "c"], [50814, 0, "i"], [50815, 0, "t"], [50816, 0, "e"], [50817, 0, "{"], [50818, 0, "B"], [50819, 0, "u"], [50820, 0, "r"], [50821, 0, "c"], [50822, 0, "k"], [50823, 0, "h"], [50824, 0, "a"], [50825, 0, "r"], [50826, 0, "d"], [50827, 0, "t"], [50828, 0, ":"], [50829, 0, "2"], [50830, 0, "0"], [50831, 0, "1"], [50832, 0, "2"], [50833, 0, "j"], [50834, 0, "y"], [50835, 0, "}"], [50836, 0, ","], [50837, 0, " "], [50838, 0, "p"], [50839, 0, "e"], [50840, 0, "r"], [50841, 0, "f"], [50842, 0, "o"], [50843, 0, "r"], [50844, 0, "m"], [50845, 0, "s"], [50846, 0, " "], [50847, 0, "n"], [50848, 0, "e"], [50849, 0, "t"], [50850, 0, "w"], [50851, 0, "o"], [50852, 0, "r"], [50853, 0, "k"], [50854, 0, " "], [50855, 0, "c"], [50856, 0, "o"], [50857, 0, "m"], [50858, 0, "m"], [50859, 0, "u"], [50860, 0, "n"], [50861, 0, "i"], [50862, 0, "c"], [50863, 0, "a"], [50864, 0, "t"], [50865, 0, "i"], [50866, 0, "o"], [50867, 0, "n"], [50868, 0, ":"], [50869, 0, " "], [50870, 0, "s"], [50871, 0, "e"], [50872, 0, "n"], [50873, 0, "d"], [50874, 0, "i"], [50875, 0, "n"], [50876, 0, "g"], [50877, 0, " "], [50878, 0, "a"], [50879, 0, "n"], [50880, 0, "d"], [50881, 0, " "], [50882, 0, "r"], [50883, 0, "e"], [50884, 0, "c"], [50885, 0, "e"], [50886, 0, "i"], [50887, 0, "v"], [50888, 0, "i"], [50889, 0, "n"], [50890, 0, "g"], [50891, 0, " "], [50892, 0, "o"], [50893, 0, "p"], [50894, 0, "e"], [50895, 0, "r"], [50896, 0, "a"], [50897, 0, "t"], [50898, 0, "i"], [50899, 0, "o"], [50900, 0, "n"], [50901, 0, "s"], [50902, 0, " "], [50903, 0, "t"], [50904, 0, "o"], [50905, 0, " "], [50906, 0, "a"], [50907, 0, "n"], [50908, 0, "d"], [50909, 0, " "], [50910, 0, "f"], [50911, 0, "r"], [50912, 0, "o"], [50913, 0, "m"], [50914, 0, " "], [50915, 0, "o"], [50916, 0, "t"], [50917, 0, "h"], [50918, 0, "e"], [50919, 0, "r"], [50920, 0, " "], [50921, 0, "p"], [50922, 0, "e"], [50923, 0, "e"], [50924, 0, "r"], [50925, 0, "s"], [50926, 0, ","], [50927, 0, " "], [50928, 0, "a"], [50929, 0, "n"], [50930, 0, "d"], [50931, 0, " "], [50932, 0, "a"], [50933, 0, "p"], [50934, 0, "p"], [50935, 0, "l"], [50936, 0, "y"], [50937, 0, "i"], [50938, 0, "n"], [50939, 0, "g"], [50940, 0, " "], [50941, 0, "o"], [50942, 0, "p"], [50943, 0, "e"], [50944, 0, "r"], [50945, 0, "a"], [50946, 0, "t"], [50947, 0, "i"], [50948, 0, "o"], [50949, 0, "n"], [50950, 0, "s"], [50951, 0, " "], [50952, 0, "f"], [50953, 0, "r"], [50954, 0, "o"], [50955, 0, "m"], [50956, 0, " "], [50957, 0, "r"], [50958, 0, "e"], [50959, 0, "m"], [50960, 0, "o"], [50961, 0, "t"], [50962, 0, "e"], [50963, 0, " "], [50964, 0, "p"], [50965, 0, "e"], [50966, 0, "e"], [50967, 0, "r"], [50968, 0, "s"], [50969, 0, "."], [50970, 1], [50970, 0, " "], [50975, 1], [50975, 1], [50975, 1], [50975, 1], [50975, 1], [50975, 1], [50975, 1], [50975, 1], [50975, 1], [50975, 1], [50981, 1], [50981, 1], [50981, 1], [50981, 1], [50981, 1], [50981, 1], [50981, 1], [50981, 1], [50981, 1], [50981, 1], [50981, 1], [50981, 1], [50981, 1], [50981, 1], [50981, 1], [50981, 1], [50981, 1], [50981, 1], [50981, 1], [50981, 1], [50981, 1], [50981, 1], [50981, 1], [50981, 1], [50981, 1], [50981, 1], [50981, 1], [50981, 1], [50981, 1], [50981, 1], [50981, 1], [51101, 1], [51100, 1], [51099, 1], [51098, 1], [51097, 1], [51096, 1], [51095, 1], [51094, 1], [51079, 1], [51078, 1], [51077, 1], [51076, 1], [14330, 1], [14329, 1], [14328, 1], [14327, 1], [14326, 1], [14325, 1], [14324, 1], [14323, 1], [14322, 1], [14321, 1], [14320, 1], [14319, 1], [14318, 1], [14317, 1], [14316, 1], [14315, 1], [14314, 1], [14313, 1], [14312, 1], [14311, 1], [14310, 1], [14309, 1], [14308, 1], [14307, 1], [14306, 1], [14305, 1], [14304, 1], [14303, 1], [14302, 1], [14301, 1], [14300, 1], [14299, 1], [14298, 1], [14297, 1], [14296, 1], [14295, 1], [14294, 1], [14293, 1], [14292, 1], [14291, 1], [14290, 1], [14289, 1], [14288, 1], [14287, 1], [14286, 1], [14285, 1], [14284, 1], [14283, 1], [14282, 1], [14281, 1], [14280, 1], [14279, 1], [14278, 1], [14277, 1], [14277, 0, "W"], [14278, 0, "e"], [14279, 0, " "], [14280, 0, "b"], [14281, 0, "e"], [14282, 0, "l"], [14283, 0, "i"], [14284, 0, "e"], [14285, 0, "v"], [14286, 0, "e"], [14287, 0, " "], [14288, 0, "t"], [14289, 0, "h"], [14290, 0, "a"], [14291, 0, "t"], [14292, 0, " "], [14293, 0, "c"], [14294, 0, "o"], [14295, 0, "n"], [14296, 0, "f"], [14297, 0, "l"], [14298, 0, "i"], [14299, 0, "c"], [14300, 0, "t"], [15264, 0, " "], [15265, 0, "T"], [15266, 0, "h"], [15267, 0, "e"], [15268, 0, " "], [15269, 0, "p"], [15270, 0, "o"], [15271, 0, "s"], [15272, 0, "s"], [15273, 0, "i"], [15274, 0, "b"], [15275, 0, "i"], [15276, 0, "l"], [15277, 0, "i"], [15278, 0, "t"], [15279, 0, "y"], [15280, 0, " "], [15281, 0, "o"], [15282, 0, "f"], [15283, 0, " "], [15284, 0, "t"], [15285, 0, "e"], [15286, 0, "n"], [15287, 0, "t"], [15288, 0, "a"], [15289, 0, "t"], [15290, 0, "i"], [15291, 0, "v"], [15292, 0, "e"], [15293, 0, " "], [15294, 0, "t"], [15295, 0, "r"], [15296, 0, "a"], [15297, 0, "n"], [15298, 0, "s"], [15299, 0, "a"], [15300, 0, "c"], [15301, 0, "t"], [15302, 0, "i"], [15303, 0, "o"], [15304, 0, "n"], [15305, 0, "s"], [15306, 0, " "], [15307, 0, "l"], [15308, 0, "a"], [15309, 0, "t"], [15310, 0, "e"], [15311, 0, "r"], [15312, 0, " "], [15313, 0, "b"], [15314, 0, "e"], [15315, 0, "i"], [15316, 0, "n"], [15317, 0, "g"], [15318, 0, " "], [15319, 0, "r"], [15320, 0, "o"], [15321, 0, "l"], [15322, 0, "l"], [15323, 0, "e"], [15324, 0, "d"], [15325, 0, " "], [15326, 0, "b"], [15327, 0, "a"], [15328, 0, "c"], [15329, 0, "k"], [15330, 0, " "], [15331, 0, "a"], [15332, 0, "l"], [15333, 0, "s"], [15334, 0, "o"], [15335, 0, " "], [15336, 0, "o"], [15337, 0, "p"], [15338, 0, "e"], [15339, 0, "n"], [15340, 0, "s"], [15341, 0, " "], [15342, 0, "t"], [15343, 0, "h"], [15344, 0, "e"], [15345, 0, " "], [15346, 0, "r"], [15347, 0, "i"], [15348, 0, "s"], [15349, 0, "k"], [15350, 0, " "], [15351, 0, "o"], [15352, 0, "f"], [15353, 0, " "], [15354, 0, "u"], [15355, 0, "s"], [15356, 0, "e"], [15357, 0, "r"], [15358, 0, " "], [15359, 0, "i"], [15360, 0, "n"], [15361, 0, "p"], [15362, 0, "u"], [15363, 0, "t"], [15364, 0, " "], [15365, 0, "b"], [15366, 0, "e"], [15367, 0, "i"], [15368, 0, "n"], [15369, 0, "g"], [15370, 0, " "], [15371, 0, "l"], [15372, 0, "o"], [15373, 0, "s"], [15374, 0, "t"], [15375, 0, "."], [15455, 0, "\n"], [15456, 0, "\n"], [15455, 0, " "], [15456, 0, "i"], [15457, 0, "n"], [15458, 0, "t"], [15459, 0, "r"], [15460, 0, "o"], [15461, 0, "d"], [15462, 0, "u"], [15463, 0, "c"], [15464, 0, "e"], [15465, 0, " "], [15466, 0, "o"], [15467, 0, "u"], [15468, 0, "r"], [15469, 0, " "], [15470, 0, "a"], [15471, 0, "p"], [15472, 0, "p"], [15473, 0, "r"], [15474, 0, "o"], [15475, 0, "a"], [15476, 0, "c"], [15477, 0, "h"], [15478, 0, " "], [15479, 0, "t"], [15480, 0, "o"], [15481, 0, " "], [15456, 0, "i"], [15457, 0, "n"], [15458, 0, "f"], [15459, 0, "o"], [15460, 0, "r"], [15461, 0, "m"], [15462, 0, "a"], [15463, 0, "l"], [15464, 0, "l"], [15465, 0, "y"], [15466, 0, " "], [15493, 0, "c"], [15494, 0, "o"], [15495, 0, "l"], [15496, 0, "l"], [15497, 0, "a"], [15498, 0, "b"], [15499, 0, "o"], [15500, 0, "r"], [15501, 0, "a"], [15502, 0, "t"], [15503, 0, "i"], [15504, 0, "v"], [15505, 0, "e"], [15506, 0, " "], [15507, 0, "e"], [15508, 0, "d"], [15509, 0, "i"], [15510, 0, "t"], [15511, 0, "i"], [15512, 0, "n"], [15513, 0, "g"], [15514, 0, " "], [15515, 0, "o"], [15516, 0, "f"], [15517, 0, " "], [15518, 0, "J"], [15519, 0, "S"], [15520, 0, "O"], [15521, 0, "N"], [15522, 0, " "], [15523, 0, "d"], [15524, 0, "a"], [15525, 0, "t"], [15526, 0, "a"], [15527, 0, " "], [15528, 0, "s"], [15529, 0, "t"], [15530, 0, "r"], [15531, 0, "u"], [15532, 0, "c"], [15533, 0, "t"], [15534, 0, "u"], [15535, 0, "r"], [15536, 0, "e"], [15537, 0, "s"], [15538, 0, "."], [15539, 0, " "], [15540, 0, "A"], [15541, 0, " "], [15542, 0, "f"], [15543, 0, "o"], [15544, 0, "r"], [15545, 0, "m"], [15546, 0, "a"], [15547, 0, "l"], [15548, 0, " "], [15549, 0, "p"], [15550, 0, "r"], [15551, 0, "e"], [15552, 0, "s"], [15553, 0, "e"], [15554, 0, "n"], [15555, 0, "t"], [15556, 0, "a"], [15557, 0, "t"], [15558, 0, "i"], [15559, 0, "o"], [15560, 0, "n"], [15561, 0, " "], [15562, 0, "o"], [15563, 0, "f"], [15564, 0, " "], [15565, 0, "t"], [15566, 0, "h"], [15567, 0, "e"], [15568, 0, " "], [15569, 0, "a"], [15570, 0, "l"], [15571, 0, "g"], [15572, 0, "o"], [15573, 0, "r"], [15574, 0, "i"], [15575, 0, "t"], [15576, 0, "h"], [15577, 0, "m"], [15578, 0, " "], [15579, 0, "f"], [15580, 0, "o"], [15581, 0, "l"], [15582, 0, "l"], [15583, 0, "o"], [15584, 0, "w"], [15585, 0, "s"], [15586, 0, " "], [15587, 0, "i"], [15588, 0, "n"], [15589, 0, " "], [15590, 0, "s"], [15591, 0, "e"], [15592, 0, "c"], [15593, 0, "t"], [15594, 0, "i"], [15595, 0, "o"], [15596, 0, "n"], [15597, 0, "~"], [15598, 0, "\\"], [15599, 0, "r"], [15600, 0, "e"], [15601, 0, "f"], [15602, 0, "{"], [15603, 0, "s"], [15604, 0, "e"], [15605, 0, "c"], [15606, 0, ":"], [15607, 0, "s"], [15608, 0, "e"], [15609, 0, "m"], [15610, 0, "a"], [15611, 0, "n"], [15612, 0, "t"], [15613, 0, "i"], [15614, 0, "c"], [15615, 0, "s"], [15616, 0, "}"], [15617, 0, "."], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [15620, 1], [16624, 1], [16623, 1], [16622, 1], [16621, 1], [16620, 1], [16619, 1], [16618, 1], [16617, 1], [16616, 1], [16615, 1], [16614, 1], [16613, 1], [16612, 1], [16611, 1], [16610, 1], [16609, 1], [16608, 1], [16607, 1], [16606, 1], [16605, 1], [16604, 1], [16603, 1], [16602, 1], [16601, 1], [16600, 1], [16599, 1], [16598, 1], [16597, 1], [16596, 1], [16595, 1], [16594, 1], [16593, 1], [16592, 1], [16591, 1], [16590, 1], [16589, 1], [16588, 1], [16587, 1], [16586, 1], [16585, 1], [16584, 1], [16583, 1], [16582, 1], [16581, 1], [16580, 1], [16579, 1], [16578, 1], [16577, 1], [16576, 1], [16575, 1], [16574, 1], [16573, 1], [16572, 1], [16571, 1], [16570, 1], [16569, 1], [16568, 1], [16567, 1], [16566, 1], [16565, 1], [16564, 1], [16563, 1], [16562, 1], [16561, 1], [16560, 1], [16559, 1], [16558, 1], [16557, 1], [16556, 1], [16555, 1], [16554, 1], [16553, 1], [16552, 1], [16551, 1], [16550, 1], [16549, 1], [16548, 1], [16547, 1], [16546, 1], [16545, 1], [16544, 1], [16543, 1], [16542, 1], [16541, 1], [16540, 1], [16539, 1], [16538, 1], [16537, 1], [16536, 1], [16535, 1], [16534, 1], [16533, 1], [16532, 1], [16531, 1], [16530, 1], [16529, 1], [16528, 1], [16527, 1], [16526, 1], [16525, 1], [16524, 1], [16523, 1], [16522, 1], [16521, 1], [16520, 1], [16519, 1], [16518, 1], [16517, 1], [16516, 1], [16515, 1], [16514, 1], [16514, 0, "T"], [16561, 0, " "], [16562, 0, "w"], [16563, 0, "h"], [16564, 0, "e"], [16565, 0, "n"], [16566, 0, " "], [16567, 0, "J"], [16568, 0, "S"], [16569, 0, "O"], [16570, 0, "N"], [16571, 0, " "], [16572, 0, "d"], [16573, 0, "o"], [16574, 0, "c"], [16575, 0, "u"], [16576, 0, "m"], [16577, 0, "e"], [16578, 0, "n"], [16579, 0, "t"], [16580, 0, "s"], [16581, 0, " "], [16582, 0, "a"], [16583, 0, "r"], [16584, 0, "e"], [16585, 0, " "], [16586, 0, "c"], [16587, 0, "o"], [16588, 0, "n"], [16589, 0, "c"], [16590, 0, "u"], [16591, 0, "r"], [16592, 0, "r"], [16593, 0, "e"], [16594, 0, "n"], [16595, 0, "t"], [16596, 0, "l"], [16597, 0, "y"], [16598, 0, " "], [16599, 0, "m"], [16600, 0, "o"], [16601, 0, "d"], [16602, 0, "i"], [16603, 0, "f"], [16604, 0, "i"], [16605, 0, "e"], [16606, 0, "d"], [16607, 0, ","], [16608, 0, " "], [16609, 0, "w"], [16610, 0, "e"], [16611, 0, " "], [16612, 0, "p"], [16613, 0, "r"], [16614, 0, "e"], [16615, 0, "s"], [16616, 0, "e"], [16617, 0, "n"], [16618, 0, "t"], [16619, 0, " "], [16620, 0, "s"], [16621, 0, "o"], [16622, 0, "m"], [16623, 0, "e"], [16624, 0, " "], [16625, 0, "e"], [16626, 0, "x"], [16627, 0, "a"], [16628, 0, "m"], [16629, 0, "p"], [16630, 0, "l"], [16631, 0, "e"], [16632, 0, "s"], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [24966, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [5857, 1], [6535, 0, "d"], [6536, 0, "e"], [6537, 0, "y"], [6538, 0, "a"], [6539, 0, "l"], [6540, 0, "y"], [6540, 1], [6539, 1], [6538, 1], [6537, 1], [6537, 0, "l"], [6538, 0, "a"], [6539, 0, "y"], [6540, 0, ","], [6541, 0, " "], [6550, 1], [6550, 1], [6550, 0, "a"], [6551, 0, "n"], [6552, 0, "d"], [6499, 1], [6498, 1], [6497, 1], [6497, 0, "W"], [6498, 0, "e"], [6499, 0, " "], [6500, 0, "a"], [6501, 0, "s"], [6502, 0, "s"], [6503, 0, "u"], [6504, 0, "m"], [6505, 0, "e"], [6506, 0, " "], [6507, 0, "t"], [6508, 0, "h"], [6509, 0, "e"], [6519, 1], [6519, 1], [6519, 1], [6519, 1], [6519, 1], [6519, 1], [6519, 1], [6519, 1], [6519, 1], [6519, 1], [6519, 1], [6519, 1], [6519, 1], [6519, 0, "m"], [6520, 0, "a"], [6521, 0, "y"], [7143, 1], [7142, 1], [7141, 1], [7140, 1], [7139, 1], [7139, 0, "t"], [7140, 0, "h"], [7141, 0, "r"], [7142, 0, "e"], [7143, 0, "e"], [26310, 1], [26310, 1], [26310, 1], [26310, 1], [26310, 1], [26310, 0, "r"], [26311, 0, "e"], [26312, 0, "p"], [26313, 0, "l"], [26314, 0, "i"], [26315, 0, "c"], [26316, 0, "a"], [26317, 0, "s"], [26342, 1], [26342, 1], [26342, 1], [26342, 1], [26342, 0, "r"], [26343, 0, "e"], [26344, 0, "p"], [26345, 0, "l"], [26346, 0, "i"], [26347, 0, "c"], [26348, 0, "a"], [26667, 1], [26666, 1], [26665, 1], [26664, 1], [26663, 1], [26663, 0, "r"], [26664, 0, "e"], [26665, 0, "p"], [26666, 0, "l"], [26667, 0, "i"], [26668, 0, "c"], [26669, 0, "a"], [26670, 0, "s"], [31466, 1], [31465, 1], [31464, 1], [31463, 1], [31463, 0, "r"], [31464, 0, "e"], [31465, 0, "o"], [31465, 1], [31465, 0, "p"], [31466, 0, "l"], [31467, 0, "i"], [31468, 0, "c"], [31469, 0, "a"], [36842, 1], [36842, 1], [36842, 1], [36842, 1], [36842, 0, "r"], [36843, 0, "e"], [36844, 0, "p"], [36845, 0, "l"], [36846, 0, "i"], [36847, 0, "c"], [36848, 0, "a"], [37072, 1], [37072, 1], [37072, 1], [37072, 1], [37072, 0, "r"], [37073, 0, "e"], [37074, 0, "p"], [37075, 0, "l"], [37076, 0, "i"], [37077, 0, "c"], [37078, 0, "a"], [37121, 1], [37120, 1], [37119, 1], [37118, 1], [37117, 1], [37117, 0, "r"], [37118, 0, "e"], [37119, 0, "p"], [37120, 0, "l"], [37121, 0, "i"], [37122, 0, "c"], [37123, 0, "a"], [37124, 0, "s"], [37274, 1], [37273, 1], [37272, 1], [37271, 1], [37271, 0, "r"], [37272, 0, "e"], [37273, 0, "p"], [37274, 0, "l"], [37275, 0, "i"], [37276, 0, "c"], [37277, 0, "a"], [37319, 1], [37318, 1], [37317, 1], [37316, 1], [37316, 0, "r"], [37317, 0, "e"], [37318, 0, "p"], [37319, 0, "l"], [37320, 0, "i"], [37321, 0, "c"], [37322, 0, "a"], [38268, 1], [38268, 1], [38268, 1], [38268, 1], [38268, 0, "r"], [38269, 0, "e"], [38270, 0, "p"], [38271, 0, "l"], [38272, 0, "i"], [38273, 0, "c"], [38274, 0, "a"], [38953, 1], [38952, 1], [38951, 1], [38950, 1], [38950, 0, "r"], [38951, 0, "e"], [38952, 0, "p"], [38953, 0, "l"], [38954, 0, "i"], [38955, 0, "c"], [38956, 0, "a"], [42126, 1], [42125, 1], [42124, 1], [42123, 1], [42123, 0, "r"], [42124, 0, "e"], [42125, 0, "p"], [42126, 0, "l"], [42127, 0, "i"], [42128, 0, "c"], [42129, 0, "a"], [42241, 1], [42241, 1], [42241, 1], [42241, 1], [42241, 0, "r"], [42242, 0, "e"], [42243, 0, "p"], [42244, 0, "l"], [42245, 0, "i"], [42246, 0, "c"], [42247, 0, "a"], [42542, 1], [42542, 1], [42542, 1], [42542, 1], [42542, 0, "r"], [42543, 0, "e"], [42544, 0, "p"], [42545, 0, "l"], [42546, 0, "i"], [42547, 0, "c"], [42548, 0, "a"], [42745, 1], [42745, 1], [42745, 1], [42745, 1], [42745, 0, "r"], [42746, 0, "e"], [42747, 0, "p"], [42748, 0, "l"], [42749, 0, "i"], [42750, 0, "c"], [42751, 0, "a"], [42757, 1], [42757, 1], [42757, 1], [42757, 1], [42757, 0, "r"], [42758, 0, "e"], [42759, 0, "p"], [42760, 0, "l"], [42761, 0, "i"], [42762, 0, "c"], [42763, 0, "a"], [42805, 1], [42805, 1], [42805, 1], [42805, 1], [42805, 0, "r"], [42806, 0, "e"], [42807, 0, "p"], [42808, 0, "l"], [42809, 0, "i"], [42810, 0, "c"], [42811, 0, "a"], [42812, 0, "s"], [43395, 1], [43394, 1], [43393, 1], [43392, 1], [43392, 0, "r"], [43393, 0, "e"], [43394, 0, "p"], [43395, 0, "l"], [43396, 0, "i"], [43397, 0, "c"], [43398, 0, "a"], [43399, 0, "s"], [43399, 1], [43513, 1], [43512, 1], [43511, 1], [43510, 1], [43510, 0, "R"], [43511, 0, "e"], [43512, 0, "p"], [43513, 0, "l"], [43514, 0, "i"], [43515, 0, "c"], [43516, 0, "a"], [43619, 1], [43619, 1], [43619, 0, " "], [43620, 0, "k"], [43557, 1], [43556, 1], [43555, 1], [43554, 1], [43554, 0, "r"], [43555, 0, "e"], [43556, 0, "p"], [43557, 0, "l"], [43558, 0, "i"], [43559, 0, "c"], [43560, 0, "a"], [43688, 1], [43688, 1], [43688, 1], [43689, 0, "e"], [43690, 0, "p"], [43691, 0, "l"], [43692, 0, "i"], [43693, 0, "c"], [43694, 0, "a"], [43747, 1], [43746, 1], [43745, 1], [43744, 1], [43744, 0, "r"], [43745, 0, "e"], [43746, 0, "p"], [43747, 0, "l"], [43748, 0, "i"], [43749, 0, "c"], [43750, 0, "a"], [43865, 1], [43865, 1], [43865, 1], [43866, 0, "e"], [43867, 0, "p"], [43868, 0, "l"], [43869, 0, "i"], [43870, 0, "c"], [43871, 0, "a"], [44956, 1], [44955, 1], [44954, 1], [44953, 1], [44953, 0, "R"], [44954, 0, "e"], [44955, 0, "p"], [44956, 0, "l"], [44957, 0, "i"], [44958, 0, "c"], [44959, 0, "a"], [45026, 1], [45026, 1], [45026, 1], [45026, 1], [45026, 0, "R"], [45027, 0, "e"], [45028, 0, "p"], [45029, 0, "l"], [45030, 0, "i"], [45031, 0, "c"], [45032, 0, "a"], [46450, 1], [46449, 1], [46448, 1], [46449, 0, "e"], [46450, 0, "p"], [46451, 0, "l"], [46452, 0, "i"], [46453, 0, "c"], [46454, 0, "a"], [46508, 1], [46507, 1], [46506, 1], [46505, 1], [46505, 0, "r"], [46506, 0, "e"], [46507, 0, "p"], [46508, 0, "l"], [46509, 0, "i"], [46510, 0, "c"], [46511, 0, "a"], [48978, 1], [48977, 1], [48976, 1], [48975, 1], [48975, 0, "R"], [48976, 0, "e"], [48977, 0, "p"], [48978, 0, "l"], [48979, 0, "i"], [48980, 0, "c"], [48981, 0, "a"], [50587, 1], [50587, 1], [50587, 1], [50587, 1], [50587, 1], [50587, 0, "r"], [50588, 0, "e"], [50589, 0, "p"], [50590, 0, "l"], [50591, 0, "i"], [50592, 0, "c"], [50593, 0, "s"], [50593, 1], [50593, 0, "a"], [50594, 0, "s"], [50633, 1], [50633, 1], [50633, 1], [50634, 0, "e"], [50635, 0, "p"], [50636, 0, "l"], [50637, 0, "i"], [50638, 0, "c"], [50639, 0, "a"], [50919, 1], [50919, 1], [50919, 1], [50920, 0, "e"], [50921, 0, "p"], [50922, 0, "l"], [50923, 0, "i"], [50924, 0, "c"], [50925, 0, "a"], [50951, 1], [50951, 1], [50951, 1], [50952, 0, "e"], [50953, 0, "p"], [50954, 0, "l"], [50955, 0, "i"], [50956, 0, "c"], [50957, 0, "a"], [50980, 1], [50979, 1], [50978, 1], [50979, 0, "e"], [50980, 0, "p"], [50981, 0, "l"], [50982, 0, "i"], [50983, 0, "c"], [50984, 0, "a"], [51328, 1], [51328, 1], [51328, 1], [51329, 0, "e"], [51330, 0, "p"], [51331, 0, "l"], [51332, 0, "i"], [51333, 0, "c"], [51334, 0, "a"], [51400, 1], [51400, 1], [51400, 1], [51401, 0, "e"], [51402, 0, "p"], [51403, 0, "l"], [51404, 0, "i"], [51405, 0, "c"], [51406, 0, "a"], [51463, 1], [51463, 1], [51463, 1], [51464, 0, "e"], [51465, 0, "p"], [51466, 0, "l"], [51467, 0, "i"], [51468, 0, "c"], [51469, 0, "a"], [58123, 1], [58123, 1], [58123, 1], [58124, 0, "e"], [58125, 0, "p"], [58126, 0, "l"], [58127, 0, "i"], [58128, 0, "c"], [58129, 0, "a"], [59556, 1], [59555, 1], [59554, 1], [59553, 1], [59552, 1], [59552, 0, "r"], [59553, 0, "e"], [59554, 0, "p"], [59555, 0, "l"], [59556, 0, "i"], [59557, 0, "c"], [59558, 0, "a"], [59559, 0, "s"], [59768, 1], [59767, 1], [59766, 1], [59767, 0, "e"], [59768, 0, "p"], [59769, 0, "l"], [59770, 0, "i"], [59771, 0, "c"], [59772, 0, "a"], [44117, 1], [44117, 1], [44117, 1], [44118, 0, "e"], [44119, 0, "p"], [44120, 0, "l"], [44121, 0, "i"], [44122, 0, "c"], [44123, 0, "a"], [37082, 1], [37081, 1], [37081, 0, "q"], [37056, 1], [37055, 1], [37054, 1], [37053, 1], [37053, 0, "q"], [42328, 1], [42327, 1], [42326, 1], [42325, 1], [42324, 1], [42323, 1], [42322, 1], [42321, 1], [42320, 1], [42319, 1], [42318, 1], [42317, 1], [42316, 1], [42315, 1], [42314, 1], [42313, 1], [42312, 1], [42311, 1], [42310, 1], [42309, 1], [42308, 1], [42307, 1], [42306, 1], [42305, 1], [42304, 1], [42303, 1], [42302, 1], [42301, 1], [42300, 1], [42299, 1], [42298, 1], [42297, 1], [42296, 1], [42295, 1], [42294, 1], [42293, 1], [42292, 1], [42291, 1], [42290, 1], [42289, 1], [42288, 1], [42287, 1], [42286, 1], [42285, 1], [42284, 1], [42283, 1], [42282, 1], [42281, 1], [42280, 1], [42279, 1], [42278, 1], [42758, 1], [42717, 0, " "], [42718, 0, "a"], [42719, 0, "n"], [42730, 1], [42716, 1], [42715, 1], [42714, 1], [42713, 1], [42712, 1], [42711, 1], [42710, 1], [42709, 1], [42708, 1], [42707, 1], [42706, 1], [42705, 1], [42704, 1], [42703, 1], [42702, 1], [42701, 1], [42701, 0, "f"], [42702, 0, "t"], [42703, 0, "e"], [42704, 0, "r"], [42718, 0, " "], [42719, 0, "i"], [42720, 0, "s"], [42734, 1], [42733, 1], [42732, 1], [42731, 1], [42731, 0, "a"], [42747, 0, ","], [42748, 0, " "], [42749, 1], [42749, 0, "i"], [42750, 0, "t"], [42751, 0, " "], [42752, 0, "i"], [42753, 0, "s"], [42754, 0, " "], [42755, 0, "a"], [42756, 0, "p"], [42757, 0, "p"], [42758, 0, "l"], [42759, 0, "i"], [42760, 0, "e"], [42761, 0, "d"], [42762, 0, " "], [42763, 0, "l"], [42764, 0, "o"], [42765, 0, "c"], [42766, 0, "a"], [42767, 0, "l"], [42768, 0, "l"], [42769, 0, "y"], [42733, 0, "f"], [42734, 0, "r"], [42735, 0, "o"], [42736, 0, "m"], [42737, 0, " "], [43240, 0, " "], [43241, 0, "f"], [43242, 0, "o"], [43243, 0, "r"], [43244, 0, " "], [43245, 0, "p"], [43246, 0, "e"], [43247, 0, "r"], [43241, 1], [43247, 0, "f"], [43248, 0, "o"], [43249, 0, "r"], [43250, 0, "m"], [43251, 0, "e"], [43252, 0, "d"], [43253, 0, " "], [43254, 0, "t"], [43255, 0, "h"], [43256, 0, "e"], [43257, 0, " "], [43258, 0, "r"], [43259, 0, "e"], [43260, 0, "g"], [43261, 0, "i"], [43262, 0, "s"], [43263, 0, "t"], [43264, 0, "e"], [43265, 0, "r"], [43266, 0, " "], [43267, 0, "a"], [43268, 0, "s"], [43269, 0, "s"], [43270, 0, "i"], [43271, 0, "g"], [43272, 0, "n"], [43273, 0, "m"], [43274, 0, "e"], [43275, 0, "n"], [43276, 0, "t"], [43277, 0, "s"], [44080, 0, "c"], [44081, 0, "a"], [44082, 0, "u"], [44083, 0, "s"], [44084, 0, "a"], [44085, 0, "l"], [44086, 0, "l"], [44087, 0, "y"], [44088, 0, " "], [44615, 1], [16201, 0, "."], [18549, 0, "."], [20512, 0, "."], [22183, 0, "."], [25695, 0, "."], [26128, 0, "."], [36795, 1], [36794, 1], [36793, 1], [36792, 1], [36791, 1], [36790, 1], [36789, 1], [36788, 1], [36787, 1], [36786, 1], [36785, 1], [36784, 1], [36783, 1], [36782, 1], [36781, 1], [36780, 1], [36779, 1], [36778, 1], [36777, 1], [36777, 0, "s"], [36766, 1], [36765, 1], [36764, 1], [36775, 0, "."], [49427, 0, "."], [57463, 1], [57462, 1], [57461, 1], [57460, 1], [57459, 1], [57458, 1], [57457, 1], [57456, 1], [57455, 1], [57454, 1], [57454, 0, "a"], [57455, 0, "p"], [57456, 0, "p"], [57457, 0, "l"], [57458, 0, "y"], [57459, 0, "i"], [57460, 0, "n"], [57461, 0, "g"], [57462, 0, " "], [57463, 0, "i"], [57464, 0, "n"], [57465, 0, "s"], [57466, 0, "e"], [57467, 0, "r"], [57468, 0, "t"], [57469, 0, "i"], [57470, 0, "o"], [57471, 0, "n"], [57472, 0, " "], [57473, 0, "a"], [57474, 0, "n"], [57475, 0, "d"], [57476, 0, " "], [57477, 0, "a"], [57478, 0, "s"], [57479, 0, "s"], [57480, 0, "i"], [57481, 0, "g"], [57482, 0, "n"], [57483, 0, "m"], [57484, 0, "e"], [57485, 0, "n"], [57486, 0, "t"], [57498, 1], [57498, 1], [57498, 1], [57498, 1], [57498, 1], [57498, 1], [57498, 1], [57498, 1], [57498, 1], [57498, 1], [57498, 1], [57498, 1], [57498, 1], [57498, 1], [57498, 1], [57498, 1], [57498, 1], [57498, 1], [57498, 1], [57498, 1], [57498, 1], [57498, 1], [57498, 1], [57498, 1], [57498, 1], [57498, 1], [57498, 1], [57498, 1], [57498, 1], [57498, 0, "."], [57498, 0, " "], [57499, 0, "t"], [57500, 0, "o"], [57501, 0, " "], [57502, 0, "t"], [57503, 0, "h"], [57504, 0, "e"], [57505, 0, " "], [57506, 0, "s"], [57507, 0, "t"], [57508, 0, "a"], [57509, 0, "t"], [57510, 0, "e"], [57511, 0, " "], [57512, 0, "o"], [57513, 0, "f"], [57514, 0, " "], [57515, 0, "a"], [57516, 0, " "], [57517, 0, "r"], [57518, 0, "e"], [57519, 0, "p"], [57520, 0, "l"], [57521, 0, "i"], [57522, 0, "c"], [57523, 0, "a"], [57502, 0, "u"], [57503, 0, "p"], [57504, 0, "d"], [57505, 0, "a"], [57506, 0, "t"], [57507, 0, "e"], [57508, 0, " "], [64749, 1], [64748, 1], [64747, 1], [64746, 1], [64745, 1], [64744, 1], [64743, 1], [64742, 1], [64741, 1], [64740, 1], [64739, 1], [64738, 1], [64737, 1], [64736, 1], [64735, 1], [64734, 1], [64733, 1], [64732, 1], [64731, 1], [64730, 1], [64729, 1], [64728, 1], [64723, 0, "a"], [64724, 0, "p"], [64725, 0, "p"], [64726, 0, "l"], [64727, 0, "y"], [64728, 0, "i"], [64729, 0, "n"], [64730, 0, "g"], [64731, 0, " "], [64737, 0, "i"], [64738, 0, "o"], [64739, 0, "n"], [64740, 0, " "], [64741, 0, "o"], [64742, 0, "p"], [64743, 0, "e"], [64744, 0, "r"], [64745, 0, "a"], [64746, 0, "t"], [64747, 0, "i"], [64748, 0, "o"], [64749, 0, "n"], [64750, 0, "s"], [64751, 0, " "], [64752, 0, "t"], [64753, 0, "o"], [64754, 0, " "], [64755, 0, "r"], [64756, 0, "e"], [64757, 0, "p"], [64758, 0, "l"], [64759, 0, "i"], [64760, 0, "c"], [64761, 0, "a"], [64762, 0, " "], [64763, 0, "s"], [64764, 0, "t"], [64765, 0, "a"], [64766, 0, "t"], [64767, 0, "e"], [64768, 0, "."], [64755, 1], [64755, 1], [64755, 1], [64755, 1], [64755, 1], [64755, 1], [64755, 1], [64755, 0, "u"], [64756, 0, "p"], [64757, 0, "d"], [64758, 0, "a"], [64759, 0, "t"], [64760, 0, "e"], [64761, 0, " "], [64762, 0, "t"], [64763, 0, "h"], [64764, 0, "e"], [64765, 0, " "], [64765, 1], [64771, 0, " "], [64772, 0, "o"], [64773, 0, "f"], [64774, 0, " "], [64775, 0, "a"], [64776, 0, " "], [64777, 0, "r"], [64778, 0, "e"], [64779, 0, "p"], [64780, 0, "l"], [64781, 0, "i"], [64782, 0, "c"], [64783, 0, "a"], [49471, 1], [49471, 1], [49471, 1], [49471, 1], [49471, 1], [49471, 1], [49471, 1], [49976, 1], [49975, 1], [49974, 1], [49973, 1], [49972, 1], [49971, 1], [49970, 1], [49969, 1], [49968, 1], [49967, 1], [49966, 1], [49965, 1], [49965, 0, "r"], [49966, 0, "e"], [49967, 0, "p"], [49968, 0, "l"], [49969, 0, "i"], [49970, 0, "c"], [49971, 0, "a"], [49972, 0, " "], [49973, 0, "$"], [49974, 0, "p"], [49975, 0, "$"], [52675, 0, "\\"], [52676, 0, "v"], [52677, 0, "s"], [52678, 0, "p"], [52679, 0, "a"], [52680, 0, "c"], [52681, 0, "e"], [52682, 0, "{"], [52683, 0, "6"], [52684, 0, "p"], [52685, 0, "t"], [52686, 0, "}"], [53305, 0, "\\"], [53306, 0, "v"], [53307, 0, "s"], [53308, 0, "p"], [53309, 0, "a"], [53310, 0, "c"], [53311, 0, "e"], [53312, 0, "{"], [53313, 0, "6"], [53314, 0, "p"], [53315, 0, "t"], [53316, 0, "}"], [53920, 0, "\\"], [53921, 0, "v"], [53922, 0, "s"], [53923, 0, "p"], [53924, 0, "a"], [53925, 0, "c"], [53926, 0, "e"], [53927, 0, "{"], [53928, 0, "6"], [53929, 0, "p"], [53930, 0, "t"], [53931, 0, "}"], [54324, 0, "\\"], [54325, 0, "v"], [54326, 0, "s"], [54327, 0, "p"], [54328, 0, "a"], [54329, 0, "c"], [54330, 0, "e"], [54331, 0, "{"], [54332, 0, "6"], [54333, 0, "p"], [54334, 0, "t"], [54335, 0, "}"], [55050, 0, "\\"], [55051, 0, "v"], [55052, 0, "s"], [55053, 0, "p"], [55054, 0, "a"], [55055, 0, "c"], [55056, 0, "e"], [55057, 0, "{"], [55058, 0, "6"], [55059, 0, "p"], [55060, 0, "t"], [55061, 0, "}"], [55675, 0, "\\"], [55676, 0, "v"], [55677, 0, "s"], [55678, 0, "p"], [55679, 0, "a"], [55680, 0, "c"], [55681, 0, "e"], [55682, 0, "{"], [55683, 0, "6"], [55684, 0, "p"], [55685, 0, "t"], [55686, 0, "}"], [56290, 0, "\\"], [56291, 0, "v"], [56292, 0, "s"], [56293, 0, "p"], [56294, 0, "a"], [56295, 0, "c"], [56296, 0, "e"], [56297, 0, "{"], [56298, 0, "6"], [56299, 0, "p"], [56300, 0, "t"], [56301, 0, "}"], [56990, 0, "\\"], [56991, 0, "v"], [56992, 0, "s"], [56993, 0, "p"], [56994, 0, "a"], [56995, 0, "c"], [56996, 0, "e"], [56997, 0, "{"], [56998, 0, "6"], [56999, 0, "p"], [57000, 0, "t"], [57001, 0, "}"], [57842, 0, " "], [57843, 0, "T"], [57844, 0, "h"], [57845, 0, "e"], [57846, 0, " "], [57847, 0, "c"], [57848, 0, "o"], [57849, 0, "n"], [57850, 0, "t"], [57851, 0, "e"], [57852, 0, "x"], [57853, 0, "t"], [57854, 0, " "], [57855, 0, "i"], [57856, 0, "s"], [57857, 0, " "], [57858, 0, "i"], [57859, 0, "n"], [57860, 0, "i"], [57861, 0, "t"], [57862, 0, "i"], [57863, 0, "a"], [57864, 0, "l"], [57865, 0, "l"], [57866, 0, "y"], [57867, 0, " "], [57868, 0, "t"], [57869, 0, "h"], [57870, 0, "e"], [57871, 0, " "], [57872, 0, "r"], [57873, 0, "e"], [57874, 0, "p"], [57875, 0, "l"], [57876, 0, "i"], [57877, 0, "c"], [57878, 0, "a"], [57879, 0, " "], [57880, 0, "s"], [57881, 0, "t"], [57882, 0, "a"], [57883, 0, "t"], [57884, 0, "e"], [57885, 0, "$"], [57885, 1], [57885, 0, " "], [57886, 0, "$"], [57887, 0, "A"], [57888, 0, "-"], [57888, 1], [57888, 0, "_"], [57889, 0, "p"], [57890, 0, "$"], [57891, 0, ","], [57892, 0, " "], [57893, 0, "b"], [57894, 0, "u"], [57895, 0, "t"], [57896, 0, " "], [57897, 0, "m"], [57898, 0, "a"], [57899, 0, "y"], [57900, 0, " "], [57901, 0, "r"], [57902, 0, "e"], [57903, 0, "f"], [57904, 0, "e"], [57905, 0, "r"], [57906, 0, " "], [57907, 0, "t"], [57908, 0, "o"], [57909, 0, " "], [57910, 0, "i"], [57911, 0, "n"], [57912, 0, "n"], [57913, 0, "e"], [57914, 0, "r"], [57915, 0, " "], [57916, 0, "p"], [57917, 0, "a"], [57918, 0, "r"], [57919, 0, "t"], [57920, 0, "s"], [57921, 0, " "], [57922, 0, "o"], [57923, 0, "f"], [57924, 0, " "], [57925, 0, "t"], [57926, 0, "h"], [57927, 0, "e"], [57928, 0, " "], [57929, 0, "s"], [57930, 0, "t"], [57931, 0, "a"], [57932, 0, "t"], [57933, 0, "e"], [57934, 0, " "], [57935, 0, "a"], [57936, 0, "s"], [57937, 0, " "], [57938, 0, "r"], [57939, 0, "u"], [57940, 0, "l"], [57941, 0, "e"], [57942, 0, "s"], [57943, 0, " "], [57944, 0, "a"], [57945, 0, "r"], [57946, 0, "e"], [57947, 0, " "], [57948, 0, "r"], [57949, 0, "e"], [57950, 0, "c"], [57951, 0, "u"], [57952, 0, "r"], [57953, 0, "s"], [57954, 0, "i"], [57955, 0, "v"], [57956, 0, "e"], [57957, 0, "l"], [57958, 0, "y"], [57959, 0, " "], [57960, 0, "a"], [57961, 0, "p"], [57962, 0, "p"], [57963, 0, "l"], [57964, 0, "i"], [57965, 0, "e"], [57966, 0, "d"], [57967, 0, "."], [57920, 1], [57919, 1], [57918, 1], [57917, 1], [57916, 1], [57915, 1], [57914, 1], [57913, 1], [57912, 1], [57911, 1], [57910, 1], [57910, 0, "s"], [57911, 0, "u"], [57912, 0, "b"], [57913, 0, "t"], [57914, 0, "r"], [57915, 0, "e"], [57916, 0, "e"], [57917, 0, "s"], [58990, 0, " "], [58991, 0, "p"], [58992, 0, "r"], [58993, 0, "i"], [58994, 0, "m"], [58995, 0, "i"], [58996, 0, "t"], [58997, 0, "i"], [58998, 0, "v"], [58999, 0, "e"], [59000, 0, " "], [59001, 0, "v"], [59002, 0, "a"], [59003, 0, "l"], [59004, 0, "u"], [59005, 0, "e"], [59006, 0, " "], [59007, 0, "t"], [59008, 0, "o"], [59009, 0, " "], [59010, 0, "a"], [59980, 0, " "], [59981, 0, "O"], [59982, 0, "u"], [59983, 0, "r"], [59984, 0, " "], [59985, 0, "a"], [59986, 0, "p"], [59987, 0, "p"], [59988, 0, "r"], [59989, 0, "o"], [59990, 0, "a"], [59991, 0, "c"], [59992, 0, "h"], [59993, 0, " "], [59994, 0, "f"], [59995, 0, "o"], [59996, 0, "r"], [59997, 0, " "], [59998, 0, "h"], [59999, 0, "a"], [60000, 0, "n"], [60001, 0, "d"], [60002, 0, "l"], [60003, 0, "i"], [60004, 0, "n"], [60005, 0, "g"], [60006, 0, " "], [60007, 0, "i"], [60008, 0, "n"], [60009, 0, "s"], [60010, 0, "e"], [60011, 0, "r"], [60012, 0, "t"], [60013, 0, "i"], [60014, 0, "o"], [60015, 0, "n"], [60016, 0, "s"], [60017, 0, " "], [60018, 0, "i"], [60019, 0, "s"], [60020, 0, " "], [60021, 0, "b"], [60022, 0, "a"], [60023, 0, "s"], [60024, 0, "e"], [60025, 0, "d"], [60026, 0, " "], [60027, 0, "o"], [60028, 0, "n"], [60029, 0, " "], [60030, 0, "t"], [60031, 0, "h"], [60032, 0, "e"], [60033, 0, " "], [60034, 0, "R"], [60035, 0, "G"], [60036, 0, "A"], [60037, 0, " "], [60038, 0, "a"], [60039, 0, "l"], [60040, 0, "g"], [60041, 0, "o"], [60042, 0, "r"], [60043, 0, "i"], [60044, 0, "t"], [60045, 0, "h"], [60046, 0, "m"], [60047, 0, "~"], [60048, 0, "\\"], [60049, 0, "c"], [60050, 0, "i"], [60051, 0, "t"], [60052, 0, "e"], [60053, 0, "{"], [60054, 0, "R"], [60055, 0, "o"], [60056, 0, "h"], [60057, 0, ":"], [60058, 0, "2"], [60059, 0, "0"], [60060, 0, "1"], [60061, 0, "1"], [60062, 0, "d"], [60063, 0, "w"], [60064, 0, "}"], [60065, 0, "."], [65318, 0, ","], [65319, 0, " "], [65320, 0, "a"], [65321, 0, "s"], [65322, 0, " "], [65323, 0, "i"], [65324, 0, "l"], [65325, 0, "l"], [65326, 0, "u"], [65327, 0, "s"], [65328, 0, "t"], [65329, 0, "r"], [65330, 0, "a"], [65331, 0, "t"], [65332, 0, "e"], [65333, 0, "d"], [65334, 0, " "], [65335, 0, "i"], [65336, 0, "n"], [65337, 0, " "], [65338, 0, "F"], [65339, 0, "i"], [65340, 0, "g"], [65341, 0, "u"], [65342, 0, "r"], [65343, 0, "e"], [65344, 0, "~"], [65345, 0, "\\"], [65346, 0, "r"], [65347, 0, "e"], [65348, 0, "f"], [65349, 0, "{"], [65350, 0, "f"], [65351, 0, "i"], [65352, 0, "g"], [65353, 0, ":"], [65354, 0, "m"], [65355, 0, "a"], [65356, 0, "p"], [65357, 0, "-"], [65358, 0, "r"], [65359, 0, "e"], [65360, 0, "m"], [65361, 0, "o"], [65362, 0, "v"], [65363, 0, "e"], [65364, 0, "}"], [4322, 1], [4322, 0, "S"], [5713, 1], [5713, 0, "S"], [6951, 1], [6951, 0, "S"], [7856, 1], [7856, 0, "S"], [8258, 1], [8258, 0, "S"], [9345, 1], [9345, 0, "S"], [14871, 1], [14871, 0, "S"], [15320, 1], [15320, 0, "S"], [67329, 0, "\n"], [67330, 0, "\\"], [67331, 0, "s"], [67332, 0, "u"], [67333, 0, "b"], [67334, 0, "s"], [67335, 0, "e"], [67336, 0, "c"], [67337, 0, "t"], [67338, 0, "i"], [67339, 0, "o"], [67340, 0, "n"], [67341, 0, "{"], [67342, 0, "C"], [67343, 0, "o"], [67344, 0, "n"], [67345, 0, "v"], [67346, 0, "e"], [67347, 0, "r"], [67348, 0, "g"], [67349, 0, "e"], [67350, 0, "n"], [67351, 0, "c"], [67352, 0, "e"], [67353, 0, "}"], [67354, 0, "\\"], [67355, 0, "l"], [67356, 0, "a"], [67357, 0, "b"], [67358, 0, "e"], [67359, 0, "l"], [67360, 0, "{"], [67361, 0, "s"], [67362, 0, "e"], [67363, 0, "c"], [67364, 0, ":"], [67365, 0, "c"], [67366, 0, "o"], [67367, 0, "n"], [67368, 0, "v"], [67369, 0, "e"], [67370, 0, "r"], [67371, 0, "g"], [67372, 0, "e"], [67373, 0, "n"], [67374, 0, "c"], [67375, 0, "e"], [67376, 0, "}"], [67377, 0, "\n"], [67378, 0, "\n"], [5855, 0, "l"], [5856, 0, "a"], [5857, 0, "b"], [5857, 1], [5856, 1], [5855, 1], [5855, 0, "\\"], [5856, 0, "l"], [5857, 0, "a"], [5858, 0, "b"], [5859, 0, "e"], [5860, 0, "l"], [5861, 0, "{"], [5862, 0, "s"], [5863, 0, "e"], [5864, 0, "c"], [5865, 0, ":"], [5866, 0, "i"], [5867, 0, "n"], [5868, 0, "t"], [5869, 0, "r"], [5870, 0, "o"], [5871, 0, "-"], [5872, 0, "r"], [5873, 0, "e"], [5874, 0, "p"], [5875, 0, "l"], [5876, 0, "i"], [5877, 0, "c"], [5878, 0, "a"], [5879, 0, "t"], [5880, 0, "i"], [5881, 0, "o"], [5882, 0, "n"], [5883, 0, "}"], [67408, 0, "A"], [67409, 0, "s"], [67410, 0, " "], [67411, 0, "o"], [67412, 0, "u"], [67413, 0, "t"], [67414, 0, "l"], [67415, 0, "i"], [67416, 0, "n"], [67417, 0, "e"], [67418, 0, "d"], [67419, 0, " "], [67420, 0, "i"], [67421, 0, "n"], [67422, 0, " "], [67423, 0, "S"], [67424, 0, "e"], [67425, 0, "c"], [67426, 0, "t"], [67427, 0, "i"], [67428, 0, "o"], [67429, 0, "n"], [67430, 0, "~"], [67431, 0, "\\"], [67432, 0, "r"], [67433, 0, "e"], [67434, 0, "f"], [67435, 0, "{"], [67436, 0, "s"], [67437, 0, "e"], [67438, 0, "c"], [67439, 0, ":"], [67440, 0, "i"], [67441, 0, "n"], [67442, 0, "t"], [67443, 0, "r"], [67444, 0, "o"], [67445, 0, "-"], [67446, 0, "r"], [67447, 0, "e"], [67448, 0, "p"], [67449, 0, "l"], [67450, 0, "i"], [67451, 0, "c"], [67452, 0, "a"], [67453, 0, "t"], [67454, 0, "i"], [67455, 0, "o"], [67456, 0, "n"], [67457, 0, "}"], [67458, 0, ","], [67459, 0, " "], [67460, 0, "w"], [67461, 0, "e"], [67462, 0, " "], [67463, 0, "r"], [67464, 0, "e"], [67465, 0, "q"], [67466, 0, "u"], [67467, 0, "i"], [67468, 0, "r"], [67469, 0, "e"], [67470, 0, " "], [67471, 0, "t"], [67472, 0, "h"], [67473, 0, "a"], [67474, 0, "t"], [67475, 0, " "], [67476, 0, "a"], [67477, 0, "l"], [67478, 0, "l"], [67479, 0, " "], [67480, 0, "r"], [67481, 0, "e"], [67482, 0, "p"], [67483, 0, "l"], [67484, 0, "i"], [67485, 0, "c"], [67486, 0, "a"], [67487, 0, "s"], [67488, 0, " "], [67489, 0, "a"], [67490, 0, "u"], [67491, 0, "t"], [67492, 0, "o"], [67493, 0, "m"], [67494, 0, "a"], [67495, 0, "t"], [67496, 0, "i"], [67497, 0, "c"], [67498, 0, "a"], [67499, 0, "l"], [67500, 0, "l"], [67501, 0, "y"], [67502, 0, " "], [67503, 0, "c"], [67504, 0, "o"], [67505, 0, "n"], [67506, 0, "v"], [67507, 0, "e"], [67508, 0, "r"], [67509, 0, "g"], [67510, 0, "e"], [67511, 0, " "], [67512, 0, "t"], [67513, 0, "o"], [67514, 0, "w"], [67515, 0, "a"], [67516, 0, "r"], [67517, 0, "d"], [67518, 0, "s"], [67519, 0, " "], [67520, 0, "t"], [67521, 0, "h"], [67522, 0, "e"], [67523, 0, " "], [67524, 0, "s"], [67525, 0, "a"], [67526, 0, "m"], [67527, 0, "e"], [67528, 0, " "], [67529, 0, "s"], [67530, 0, "t"], [67531, 0, "a"], [67532, 0, "t"], [67533, 0, "e"], [67534, 0, "."], [67535, 0, " "], [67536, 0, "T"], [67537, 0, "h"], [67538, 0, "i"], [67538, 1], [67537, 1], [67536, 1], [67534, 0, " "], [67535, 0, "-"], [67536, 0, "-"], [67537, 0, " "], [67538, 0, "a"], [67539, 0, " "], [67540, 0, "k"], [67541, 0, "e"], [67542, 0, "y"], [67543, 0, " "], [67544, 0, "r"], [67545, 0, "e"], [67546, 0, "q"], [67547, 0, "u"], [67548, 0, "i"], [67549, 0, "r"], [67550, 0, "e"], [67551, 0, "m"], [67552, 0, "e"], [67553, 0, "n"], [67554, 0, "t"], [67555, 0, " "], [67556, 0, "o"], [67557, 0, "f"], [67558, 0, " "], [67559, 0, "a"], [67560, 0, " "], [67561, 0, "C"], [67562, 0, "R"], [67563, 0, "D"], [67564, 0, "T"], [67567, 0, "W"], [67568, 0, "e"], [67569, 0, " "], [67570, 0, "n"], [67571, 0, "o"], [67572, 0, "w"], [67573, 0, " "], [67574, 0, "f"], [67575, 0, "o"], [67576, 0, "r"], [67577, 0, "m"], [67578, 0, "a"], [67579, 0, "l"], [67580, 0, "i"], [67581, 0, "z"], [67582, 0, "e"], [67583, 0, " "], [67584, 0, "t"], [67585, 0, "h"], [67586, 0, "i"], [67587, 0, "s"], [67588, 0, " "], [67589, 0, "n"], [67590, 0, "o"], [67591, 0, "t"], [67592, 0, "i"], [67593, 0, "o"], [67594, 0, "n"], [67595, 0, ","], [67596, 0, " "], [67597, 0, "a"], [67598, 0, "n"], [67599, 0, "d"], [67600, 0, " "], [67601, 0, "s"], [67602, 0, "h"], [67603, 0, "o"], [67604, 0, "w"], [67605, 0, " "], [67606, 0, "t"], [67607, 0, "h"], [67608, 0, "a"], [67609, 0, "t"], [67610, 0, " "], [67611, 0, "t"], [67612, 0, "h"], [67613, 0, "e"], [67614, 0, " "], [67615, 0, "r"], [67616, 0, "u"], [67617, 0, "l"], [67618, 0, "e"], [67619, 0, "s"], [67620, 0, " "], [67621, 0, "i"], [67622, 0, "n"], [67623, 0, " "], [67624, 0, "F"], [67625, 0, "i"], [67626, 0, "g"], [67627, 0, "u"], [67628, 0, "r"], [67629, 0, "e"], [67630, 0, "s"], [67631, 0, "~"], [67632, 0, "\\"], [67633, 0, "r"], [67634, 0, "e"], [67635, 0, "f"], [67636, 0, "{"], [67637, 0, "f"], [67638, 0, "i"], [67639, 0, "g"], [67640, 0, ":"], [67641, 0, "e"], [67642, 0, "x"], [67643, 0, "p"], [67644, 0, "r"], [67645, 0, "-"], [67646, 0, "r"], [67647, 0, "u"], [67648, 0, "l"], [67649, 0, "e"], [67650, 0, "s"], [67651, 0, "}"], [67652, 0, " "], [67653, 0, "t"], [67654, 0, "o"], [67655, 0, " "], [67655, 1], [67655, 0, "~"], [67656, 0, "\\"], [67657, 0, "r"], [67658, 0, "e"], [67659, 0, "f"], [67660, 0, "{"], [67661, 0, "f"], [67662, 0, "i"], [67663, 0, "g"], [67664, 0, ":"], [67665, 0, "c"], [67666, 0, "l"], [67667, 0, "e"], [67668, 0, "a"], [67669, 0, "r"], [67670, 0, "-"], [67671, 0, "r"], [67672, 0, "u"], [67673, 0, "l"], [67674, 0, "e"], [67675, 0, "s"], [67676, 0, "}"], [67677, 0, " "], [67678, 0, "s"], [67679, 0, "a"], [67680, 0, "t"], [67681, 0, "i"], [67682, 0, "s"], [67683, 0, "f"], [67684, 0, "y"], [67685, 0, " "], [67686, 0, "t"], [67687, 0, "h"], [67688, 0, "i"], [67689, 0, "s"], [67690, 0, " "], [67691, 0, "r"], [67692, 0, "e"], [67693, 0, "q"], [67694, 0, "u"], [67695, 0, "i"], [67696, 0, "r"], [67697, 0, "e"], [67698, 0, "m"], [67699, 0, "e"], [67700, 0, "n"], [67701, 0, "t"], [67702, 0, "."], [318, 0, "\n"], [319, 0, "%"], [320, 0, " "], [321, 0, "T"], [322, 0, "h"], [323, 0, "e"], [324, 0, "o"], [325, 0, "r"], [326, 0, "e"], [327, 0, "m"], [328, 0, " "], [329, 0, "e"], [330, 0, "n"], [331, 0, "v"], [332, 0, "i"], [333, 0, "r"], [334, 0, "o"], [335, 0, "n"], [336, 0, "m"], [337, 0, "e"], [338, 0, "n"], [339, 0, "t"], [340, 0, "s"], [341, 0, "\n"], [342, 0, "\\"], [343, 0, "u"], [344, 0, "s"], [345, 0, "e"], [346, 0, "p"], [347, 0, "a"], [348, 0, "c"], [349, 0, "k"], [350, 0, "a"], [351, 0, "g"], [352, 0, "e"], [353, 0, "{"], [354, 0, "a"], [355, 0, "m"], [356, 0, "s"], [357, 0, "t"], [358, 0, "h"], [359, 0, "m"], [360, 0, "}"], [361, 0, "\n"], [362, 0, "\n"], [362, 0, "\\"], [363, 0, "n"], [364, 0, "e"], [365, 0, "w"], [366, 0, "t"], [367, 0, "h"], [368, 0, "e"], [369, 0, "o"], [370, 0, "r"], [371, 0, "e"], [372, 0, "m"], [373, 0, "{"], [374, 0, "t"], [375, 0, "h"], [376, 0, "e"], [377, 0, "o"], [378, 0, "r"], [379, 0, "e"], [380, 0, "m"], [381, 0, "}"], [382, 0, "{"], [383, 0, "T"], [384, 0, "h"], [385, 0, "e"], [386, 0, "o"], [387, 0, "r"], [388, 0, "e"], [389, 0, "m"], [390, 0, "}"], [391, 0, "\n"], [392, 0, "\\"], [393, 0, "n"], [394, 0, "e"], [395, 0, "w"], [396, 0, "t"], [397, 0, "h"], [398, 0, "e"], [399, 0, "o"], [400, 0, "r"], [401, 0, "e"], [402, 0, "m"], [403, 0, "{"], [404, 0, "l"], [405, 0, "e"], [406, 0, "m"], [407, 0, "m"], [408, 0, "a"], [409, 0, "}"], [410, 0, "["], [411, 0, "t"], [412, 0, "h"], [413, 0, "e"], [414, 0, "o"], [415, 0, "r"], [416, 0, "e"], [417, 0, "m"], [418, 0, "]"], [419, 0, "{"], [420, 0, "L"], [421, 0, "e"], [422, 0, "m"], [423, 0, "m"], [424, 0, "a"], [425, 0, "}"], [581, 1], [580, 1], [579, 1], [578, 1], [578, 0, "f"], [579, 0, "a"], [580, 0, "l"], [581, 0, "s"], [582, 0, "e"], [361, 0, "\n"], [362, 0, "\\"], [363, 0, "n"], [364, 0, "e"], [365, 0, "w"], [366, 0, "t"], [367, 0, "h"], [368, 0, "e"], [369, 0, "o"], [370, 0, "r"], [371, 0, "e"], [372, 0, "m"], [373, 0, "{"], [374, 0, "d"], [375, 0, "e"], [376, 0, "f"], [377, 0, "i"], [378, 0, "n"], [379, 0, "i"], [380, 0, "t"], [381, 0, "i"], [382, 0, "o"], [383, 0, "n"], [384, 0, "}"], [385, 0, "{"], [386, 0, "D"], [387, 0, "e"], [388, 0, "f"], [389, 0, "i"], [390, 0, "n"], [391, 0, "i"], [392, 0, "t"], [393, 0, "i"], [394, 0, "o"], [395, 0, "n"], [396, 0, "}"], [67849, 0, "\n"], [67850, 0, "\n"], [67851, 0, "\\"], [67852, 0, "b"], [67853, 0, "e"], [67854, 0, "g"], [67855, 0, "i"], [67856, 0, "n"], [67857, 0, "{"], [67858, 0, "d"], [67859, 0, "e"], [67860, 0, "f"], [67861, 0, "i"], [67862, 0, "n"], [67863, 0, "i"], [67864, 0, "t"], [67865, 0, "i"], [67866, 0, "o"], [67867, 0, "n"], [67868, 0, "}"], [67869, 0, "\n"], [67870, 0, "\\"], [67871, 0, "e"], [67872, 0, "n"], [67873, 0, "d"], [67874, 0, "{"], [67875, 0, "d"], [67876, 0, "e"], [67877, 0, "f"], [67878, 0, "i"], [67879, 0, "n"], [67880, 0, "i"], [67881, 0, "t"], [67882, 0, "i"], [67883, 0, "o"], [67884, 0, "n"], [67885, 0, "}"], [67869, 0, "\n"], [67870, 0, "A"], [67871, 0, " "], [67872, 0, "\\"], [67873, 0, "e"], [67874, 0, "m"], [67875, 0, "p"], [67876, 0, "h"], [67877, 0, "{"], [67878, 0, "v"], [67879, 0, "a"], [67880, 0, "l"], [67881, 0, "i"], [67882, 0, "d"], [67883, 0, " "], [67884, 0, "e"], [67885, 0, "x"], [67886, 0, "e"], [67887, 0, "c"], [67888, 0, "u"], [67889, 0, "t"], [67890, 0, "i"], [67891, 0, "o"], [67892, 0, "n"], [67893, 0, "}"], [67894, 0, " "], [67895, 0, "i"], [67896, 0, "s"], [67897, 0, " "], [67898, 0, "a"], [67899, 0, " "], [67900, 0, "s"], [67901, 0, "e"], [67901, 1], [67900, 1], [67900, 0, "s"], [67901, 0, "e"], [67902, 0, "t"], [67903, 0, " "], [67904, 0, "o"], [67905, 0, "f"], [67906, 0, " "], [67907, 0, "o"], [67908, 0, "p"], [67909, 0, "e"], [67910, 0, "r"], [67911, 0, "a"], [67912, 0, "t"], [67913, 0, "i"], [67914, 0, "o"], [67915, 0, "n"], [67916, 0, "s"], [67917, 0, " "], [67918, 0, "g"], [67919, 0, "e"], [67920, 0, "n"], [67921, 0, "e"], [67922, 0, "r"], [67923, 0, "a"], [67924, 0, "t"], [67925, 0, "e"], [67926, 0, "d"], [67927, 0, " "], [67928, 0, "b"], [67929, 0, "y"], [67930, 0, " "], [67931, 0, "a"], [67932, 0, " "], [67933, 0, "s"], [67934, 0, "e"], [67935, 0, "t"], [67936, 0, " "], [67937, 0, "o"], [67938, 0, "f"], [67939, 0, " "], [67940, 0, "r"], [67941, 0, "e"], [67942, 0, "p"], [67943, 0, "l"], [67944, 0, "i"], [67945, 0, "c"], [67946, 0, "a"], [67947, 0, "s"], [67948, 0, " "], [67949, 0, "$"], [67950, 0, "\\"], [67951, 0, "{"], [67952, 0, "p"], [67953, 0, "_"], [67954, 0, "1"], [67955, 0, ","], [67956, 0, " "], [67957, 0, "\\"], [67958, 0, "d"], [67959, 0, "o"], [67960, 0, "t"], [67961, 0, "s"], [67962, 0, ","], [67963, 0, " "], [67964, 0, "p"], [67965, 0, "_"], [67966, 0, "k"], [67967, 0, "\\"], [67968, 0, "}"], [67969, 0, " "], [67970, 0, "="], [67971, 0, " "], [67972, 0, "\\"], [67973, 0, "m"], [67974, 0, "a"], [67975, 0, "t"], [67976, 0, "h"], [67977, 0, "r"], [67978, 0, "m"], [67979, 0, "{"], [67980, 0, "R"], [67981, 0, "e"], [67982, 0, "p"], [67983, 0, "l"], [67984, 0, "i"], [67985, 0, "c"], [67986, 0, "a"], [67987, 0, "I"], [67988, 0, "D"], [67989, 0, "}"], [67990, 0, "$"], [67991, 0, ","], [67992, 0, " "], [67993, 0, "e"], [67994, 0, "a"], [67995, 0, "h"], [67995, 1], [67995, 0, "c"], [67996, 0, "h"], [67997, 0, " "], [67998, 0, "r"], [67999, 0, "e"], [68000, 0, "d"], [68001, 0, "u"], [68002, 0, "c"], [68003, 0, "i"], [68004, 0, "n"], [68005, 0, "g"], [68006, 0, " "], [68007, 0, "a"], [68008, 0, " "], [68009, 0, "s"], [68010, 0, "e"], [68011, 0, "q"], [68012, 0, "u"], [68013, 0, "e"], [68014, 0, "n"], [68015, 0, "c"], [68016, 0, "e"], [68017, 0, " "], [68018, 0, "o"], [68019, 0, "f"], [68020, 0, " "], [68021, 0, "c"], [68022, 0, "o"], [68023, 0, "m"], [68024, 0, "m"], [68025, 0, "a"], [68026, 0, "n"], [68027, 0, "d"], [68028, 0, "s"], [68029, 0, " "], [68030, 0, "$"], [68031, 0, "\\"], [68032, 0, "l"], [68033, 0, "a"], [68034, 0, "n"], [68035, 0, "g"], [68036, 0, "l"], [68037, 0, "e"], [68038, 0, " "], [68039, 0, "\\"], [68040, 0, "m"], [68041, 0, "a"], [68042, 0, "t"], [68043, 0, "h"], [68044, 0, "i"], [68045, 0, "t"], [68046, 0, "{"], [68047, 0, "c"], [68048, 0, "m"], [68049, 0, "d"], [68050, 0, "}"], [68051, 0, "_"], [68052, 0, "1"], [68053, 0, " "], [68054, 0, "\\"], [68055, 0, "m"], [68056, 0, "a"], [68057, 0, "t"], [68058, 0, "h"], [68059, 0, "b"], [68060, 0, "i"], [68061, 0, "n"], [68062, 0, "{"], [68063, 0, ";"], [68064, 0, "}"], [68065, 0, " "], [68066, 0, "\\"], [68067, 0, "d"], [68068, 0, "o"], [68069, 0, "t"], [68070, 0, "s"], [68071, 0, " "], [68072, 0, "\\"], [68073, 0, "m"], [68074, 0, "a"], [68075, 0, "t"], [68076, 0, "h"], [68077, 0, "b"], [68078, 0, "i"], [68079, 0, "n"], [68080, 0, "{"], [68081, 0, ";"], [68082, 0, "]"], [68082, 1], [68082, 0, "}"], [68083, 0, " "], [68084, 0, "\\"], [68085, 0, "m"], [68086, 0, "a"], [68087, 0, "t"], [68088, 0, "h"], [68089, 0, "i"], [68090, 0, "t"], [68091, 0, "{"], [68092, 0, "c"], [68093, 0, "m"], [68094, 0, "d"], [68095, 0, "}"], [68096, 0, "_"], [68097, 0, "n"], [68098, 0, " "], [68099, 0, "\\"], [68100, 0, "r"], [68101, 0, "a"], [68102, 0, "n"], [68103, 0, "g"], [68104, 0, "l"], [68105, 0, "e"], [68106, 0, "$"], [68107, 0, "."], [68107, 0, " "], [68108, 0, "w"], [68109, 0, "i"], [68110, 0, "t"], [68111, 0, "h"], [68112, 0, "o"], [68113, 0, "u"], [68114, 0, "t"], [68115, 0, " "], [68116, 0, "g"], [68117, 0, "e"], [68118, 0, "t"], [68119, 0, "t"], [68120, 0, "i"], [68121, 0, "n"], [68122, 0, "g"], [68123, 0, " "], [68124, 0, "s"], [68125, 0, "t"], [68126, 0, "u"], [68127, 0, "c"], [68128, 0, "k"], [68147, 0, "\n"], [68148, 0, "\n"], [68149, 0, "B"], [68150, 0, "y"], [68151, 0, " "], [68152, 0, "c"], [68153, 0, "o"], [68154, 0, "n"], [68155, 0, "s"], [68156, 0, "t"], [68157, 0, "r"], [68158, 0, "a"], [68159, 0, "i"], [68160, 0, "n"], [68161, 0, "i"], [68162, 0, "n"], [68163, 0, "g"], [68164, 0, " "], [68165, 0, "t"], [68166, 0, "h"], [68167, 0, "e"], [68168, 0, " "], [68168, 1], [68167, 1], [68166, 1], [68165, 1], [68164, 1], [68163, 1], [68162, 1], [68161, 1], [68160, 1], [68159, 1], [68158, 1], [68157, 1], [68156, 1], [68155, 1], [68154, 1], [68153, 1], [68152, 1], [68151, 1], [68150, 1], [68149, 1], [68149, 0, "A"], [68150, 0, " "], [68151, 0, "r"], [68152, 0, "e"], [68153, 0, "d"], [68154, 0, "u"], [68155, 0, "c"], [68156, 0, "t"], [68157, 0, "i"], [68158, 0, "o"], [68159, 0, "n"], [68160, 0, " "], [68161, 0, "g"], [68162, 0, "e"], [68163, 0, "t"], [68164, 0, "s"], [68165, 0, " "], [68166, 0, "s"], [68167, 0, "t"], [68168, 0, "u"], [68169, 0, "c"], [68170, 0, "k"], [68171, 0, " "], [68172, 0, "i"], [68173, 0, "f"], [68174, 0, " "], [68175, 0, "i"], [68176, 0, "t"], [68177, 0, "s"], [68178, 0, " "], [68179, 0, "p"], [68180, 0, "r"], [68181, 0, "e"], [68181, 1], [68180, 1], [68179, 1], [68179, 0, "p"], [68180, 0, "r"], [68181, 0, "e"], [68182, 0, "m"], [68183, 0, "i"], [68184, 0, "s"], [68185, 0, "e"], [68186, 0, "s"], [68187, 0, " "], [68188, 0, "c"], [68189, 0, "a"], [68190, 0, "n"], [68191, 0, "n"], [68192, 0, "o"], [68192, 1], [68191, 1], [68190, 1], [68189, 1], [68188, 1], [68187, 1], [68186, 1], [68185, 1], [68184, 1], [68183, 1], [68182, 1], [68181, 1], [68180, 1], [68179, 1], [68178, 1], [68177, 1], [68176, 1], [68175, 1], [68175, 0, "a"], [68176, 0, " "], [68177, 0, "p"], [68178, 0, "r"], [68179, 0, "e"], [68180, 0, "m"], [68181, 0, "i"], [68182, 0, "s"], [68183, 0, "e"], [68184, 0, " "], [68185, 0, "i"], [68186, 0, "n"], [68187, 0, " "], [68188, 0, "o"], [68189, 0, "n"], [68190, 0, "e"], [68191, 0, " "], [68192, 0, "o"], [68193, 0, "f"], [68194, 0, " "], [68195, 0, "t"], [68196, 0, "h"], [68197, 0, "e"], [68198, 0, " "], [68199, 0, "r"], [68200, 0, "u"], [68201, 0, "l"], [68202, 0, "e"], [68203, 0, " "], [68204, 0, "a"], [68205, 0, "p"], [68206, 0, "p"], [68207, 0, "l"], [68208, 0, "i"], [68209, 0, "c"], [68210, 0, "a"], [68211, 0, "t"], [68212, 0, "i"], [68213, 0, "o"], [68214, 0, "n"], [68215, 0, "s"], [68216, 0, " "], [68217, 0, "c"], [68218, 0, "a"], [68219, 0, "n"], [68220, 0, "n"], [68221, 0, "o"], [68222, 0, "t"], [68223, 0, " "], [68224, 0, "b"], [68225, 0, "e"], [68226, 0, " "], [68227, 0, "s"], [68228, 0, "a"], [68229, 0, "t"], [68230, 0, "i"], [68231, 0, "s"], [68232, 0, "f"], [68233, 0, "i"], [68234, 0, "e"], [68235, 0, "d"], [68236, 0, "."], [68237, 0, " "], [68238, 0, "F"], [68239, 0, "o"], [68240, 0, "r"], [68241, 0, " "], [68242, 0, "e"], [68243, 0, "x"], [68244, 0, "a"], [68245, 0, "m"], [68246, 0, "p"], [68247, 0, "l"], [68248, 0, "e"], [68249, 0, ","], [68250, 0, " "], [68251, 0, "t"], [68252, 0, "h"], [68253, 0, "e"], [68254, 0, " "], [68255, 0, "\\"], [68256, 0, "t"], [68257, 0, "e"], [68258, 0, "x"], [68259, 0, "t"], [68260, 0, "s"], [68261, 0, "c"], [68255, 0, "$"], [68263, 0, "{"], [68264, 0, "N"], [68265, 0, "e"], [68266, 0, "x"], [68267, 0, "t"], [68268, 0, "}"], [68269, 0, "_"], [68270, 0, "{"], [68271, 0, "2"], [68272, 0, ","], [68273, 0, "3"], [68274, 0, "}"], [68275, 0, "$"], [68276, 0, " "], [68277, 0, "r"], [68278, 0, "u"], [68279, 0, "l"], [68280, 0, "e"], [68281, 0, "s"], [68282, 0, " "], [68283, 0, "i"], [68284, 0, "n"], [68285, 0, " "], [68286, 0, "F"], [68287, 0, "i"], [68288, 0, "g"], [68289, 0, "u"], [68290, 0, "r"], [68291, 0, "e"], [68292, 0, "~"], [68293, 0, "\\"], [68294, 0, "r"], [68295, 0, "e"], [68296, 0, "f"], [68297, 0, "{"], [68298, 0, "f"], [68299, 0, "i"], [68300, 0, "g"], [68301, 0, ":"], [68302, 0, "e"], [68303, 0, "x"], [68304, 0, "p"], [68305, 0, "r"], [68306, 0, "-"], [68307, 0, "r"], [68308, 0, "u"], [68309, 0, "l"], [68310, 0, "e"], [68311, 0, "s"], [68312, 0, "}"], [68313, 0, " "], [68314, 0, "g"], [68315, 0, "e"], [68316, 0, "t"], [68317, 0, " "], [68318, 0, "s"], [68319, 0, "t"], [68320, 0, "u"], [68321, 0, "c"], [68322, 0, "k"], [68323, 0, " "], [68324, 0, "i"], [68325, 0, "f"], [68326, 0, " "], [68327, 0, "\\"], [68328, 0, "t"], [68329, 0, "e"], [68330, 0, "x"], [68331, 0, "t"], [68332, 0, "s"], [68333, 0, "f"], [68334, 0, "{"], [68335, 0, "n"], [68336, 0, "e"], [68337, 0, "x"], [68338, 0, "t"], [68339, 0, "}"], [68340, 0, " "], [68341, 0, "t"], [68342, 0, "r"], [68343, 0, "i"], [68344, 0, "e"], [68345, 0, "s"], [68346, 0, " "], [68347, 0, "t"], [68348, 0, "o"], [68349, 0, " "], [68350, 0, "i"], [68351, 0, "t"], [68352, 0, "e"], [68353, 0, "r"], [68354, 0, "a"], [68355, 0, "t"], [68356, 0, "e"], [68357, 0, " "], [68358, 0, "p"], [68359, 0, "a"], [68360, 0, "s"], [68361, 0, "t"], [68362, 0, " "], [68363, 0, "t"], [68364, 0, "h"], [68365, 0, "e"], [68366, 0, " "], [68367, 0, "e"], [68368, 0, "n"], [68369, 0, "d"], [68370, 0, " "], [68371, 0, "o"], [68372, 0, "f"], [68373, 0, " "], [68374, 0, "a"], [68375, 0, " "], [68376, 0, "l"], [68377, 0, "i"], [68378, 0, "s"], [68379, 0, "t"], [68380, 0, "."], [68381, 0, " "], [68382, 0, "B"], [68383, 0, "y"], [68384, 0, " "], [68385, 0, "c"], [68386, 0, "o"], [68387, 0, "n"], [68388, 0, "s"], [68389, 0, "t"], [68390, 0, "r"], [68391, 0, "a"], [68392, 0, "i"], [68393, 0, "n"], [68394, 0, "i"], [68395, 0, "n"], [68396, 0, "g"], [68397, 0, " "], [68398, 0, "e"], [68399, 0, "x"], [68400, 0, "e"], [68400, 1], [68399, 1], [68398, 1], [68398, 0, "v"], [68399, 0, "a"], [68400, 0, "l"], [68401, 0, "i"], [68402, 0, "d"], [68403, 0, " "], [68404, 0, "e"], [68405, 0, "x"], [68406, 0, "e"], [68407, 0, "c"], [68408, 0, "u"], [68409, 0, "t"], [68410, 0, "i"], [68411, 0, "o"], [68412, 0, "n"], [68413, 0, "s"], [68414, 0, " "], [68415, 0, "t"], [68416, 0, "o"], [68417, 0, " "], [68418, 0, "t"], [68419, 0, "h"], [68420, 0, "o"], [68421, 0, "s"], [68422, 0, "e"], [68423, 0, " "], [68424, 0, "t"], [68425, 0, "h"], [68426, 0, "a"], [68427, 0, "t"], [68428, 0, " "], [68429, 0, "d"], [68430, 0, "o"], [68431, 0, " "], [68432, 0, "n"], [68433, 0, "o"], [68434, 0, "t"], [68435, 0, " "], [68436, 0, "g"], [68437, 0, "e"], [68438, 0, "t"], [68439, 0, " "], [68440, 0, "s"], [68441, 0, "t"], [68442, 0, "u"], [68443, 0, "c"], [68444, 0, "k"], [68445, 0, ","], [68446, 0, " "], [68447, 0, "w"], [68448, 0, "e"], [68449, 0, " "], [68450, 0, "e"], [68451, 0, "n"], [68452, 0, "s"], [68381, 0, " "], [68382, 0, "("], [68383, 0, "I"], [68384, 0, "n"], [68385, 0, " "], [68386, 0, "a"], [68387, 0, " "], [68388, 0, "r"], [68389, 0, "e"], [68390, 0, "a"], [68391, 0, "l"], [68392, 0, " "], [68393, 0, "i"], [68394, 0, "m"], [68395, 0, "p"], [68396, 0, "l"], [68397, 0, "e"], [68398, 0, "m"], [68399, 0, "e"], [68400, 0, "n"], [68401, 0, "t"], [68402, 0, "a"], [68403, 0, "t"], [68404, 0, "i"], [68405, 0, "o"], [68406, 0, "n"], [68407, 0, " "], [68408, 0, "t"], [68409, 0, "h"], [68410, 0, "i"], [68411, 0, "s"], [68412, 0, " "], [68413, 0, "w"], [68414, 0, "o"], [68415, 0, "u"], [68416, 0, "l"], [68417, 0, "d"], [68418, 0, " "], [68419, 0, "b"], [68420, 0, "e"], [68421, 0, " "], [68422, 0, "a"], [68423, 0, " "], [68424, 0, "r"], [68425, 0, "u"], [68426, 0, "n"], [68427, 0, "t"], [68428, 0, "i"], [68429, 0, "m"], [68430, 0, "e"], [68431, 0, " "], [68432, 0, "e"], [68433, 0, "r"], [68434, 0, "r"], [68435, 0, "o"], [68436, 0, "r"], [68437, 0, "."], [68383, 1], [68382, 1], [68381, 1], [68380, 1], [68380, 0, ";"], [68381, 0, " "], [68382, 0, "i"], [68437, 0, " "], [68437, 1], [68509, 0, "u"], [68510, 0, "r"], [68511, 0, "e"], [68512, 0, " "], [68513, 0, "t"], [68514, 0, "h"], [68515, 0, "a"], [68516, 0, "t"], [68517, 0, " "], [68518, 0, "o"], [68519, 0, "p"], [68520, 0, "e"], [68521, 0, "r"], [68522, 0, "a"], [68523, 0, "t"], [68524, 0, "i"], [68525, 0, "o"], [68526, 0, "n"], [68527, 0, "s"], [68528, 0, " "], [68529, 0, "o"], [68530, 0, "n"], [68531, 0, "l"], [68532, 0, "y"], [68533, 0, " "], [68534, 0, "r"], [68535, 0, "e"], [68536, 0, "f"], [68537, 0, "e"], [68538, 0, "r"], [68539, 0, " "], [68540, 0, "t"], [68541, 0, "o"], [68542, 0, " "], [68543, 0, "l"], [68544, 0, "i"], [68545, 0, "s"], [68546, 0, "t"], [68547, 0, " "], [68548, 0, "e"], [68549, 0, "l"], [68550, 0, "e"], [68551, 0, "m"], [68552, 0, "e"], [68553, 0, "n"], [68554, 0, "t"], [68555, 0, "s"], [68556, 0, " "], [68557, 0, "t"], [68558, 0, "h"], [68559, 0, "a"], [68560, 0, "t"], [68561, 0, " "], [68562, 0, "a"], [68563, 0, "c"], [68564, 0, "t"], [68565, 0, "u"], [68566, 0, "a"], [68567, 0, "l"], [68568, 0, "l"], [68569, 0, "y"], [68570, 0, " "], [68571, 0, "e"], [68572, 0, "x"], [68573, 0, "i"], [68574, 0, "s"], [68575, 0, "t"], [68576, 0, "."], [68577, 0, "\n"], [68578, 0, "\n"], [68579, 0, "\\"], [68580, 0, "b"], [68581, 0, "e"], [68582, 0, "g"], [68583, 0, "i"], [68584, 0, "n"], [68585, 0, "{"], [68586, 0, "d"], [68587, 0, "e"], [68588, 0, "f"], [68589, 0, "i"], [68590, 0, "n"], [68591, 0, "i"], [68592, 0, "t"], [68593, 0, "i"], [68594, 0, "o"], [68595, 0, "n"], [68596, 0, "}"], [68597, 0, "\n"], [68598, 0, "A"], [68599, 0, " "], [68600, 0, "\\"], [68601, 0, "e"], [68602, 0, "m"], [68603, 0, "p"], [68604, 0, "h"], [68605, 0, "{"], [68606, 0, "h"], [68607, 0, "i"], [68608, 0, "s"], [68609, 0, "t"], [68610, 0, "o"], [68611, 0, "r"], [68612, 0, "y"], [68613, 0, "}"], [68614, 0, " "], [68615, 0, "\n"], [68616, 0, "\\"], [68617, 0, "e"], [68618, 0, "n"], [68619, 0, "d"], [68620, 0, "{"], [68621, 0, "d"], [68622, 0, "e"], [68623, 0, "f"], [68624, 0, "i"], [68625, 0, "n"], [68626, 0, "i"], [68627, 0, "t"], [68628, 0, "i"], [68629, 0, "o"], [68630, 0, "n"], [68631, 0, "}"], [68615, 0, "i"], [68616, 0, "s"], [68617, 0, " "], [68618, 0, "t"], [68619, 0, "h"], [68620, 0, "e"], [68621, 0, " "], [68622, 0, "s"], [68623, 0, "e"], [68624, 0, "q"], [68625, 0, "u"], [68626, 0, "e"], [68627, 0, "n"], [68628, 0, "c"], [68629, 0, "e"], [68630, 0, " "], [68631, 0, "o"], [68632, 0, "f"], [68633, 0, " "], [68634, 0, "o"], [68620, 1], [68619, 1], [68618, 1], [68618, 0, "a"], [68633, 0, "p"], [68634, 0, "e"], [68635, 0, "r"], [68636, 0, "a"], [68637, 0, "t"], [68638, 0, "i"], [68639, 0, "o"], [68640, 0, "n"], [68641, 0, "s"], [68642, 0, " "], [68643, 0, "i"], [68644, 0, "n"], [68645, 0, " "], [68646, 0, "t"], [68647, 0, "h"], [68648, 0, "e"], [68649, 0, " "], [68650, 0, "o"], [68651, 0, "r"], [68652, 0, "d"], [68653, 0, "e"], [68654, 0, "r"], [68655, 0, " "], [68656, 0, "i"], [68657, 0, "t"], [68658, 0, " "], [68659, 0, "w"], [68660, 0, "a"], [68661, 0, "s"], [68662, 0, " "], [68663, 0, "a"], [68664, 0, "p"], [68665, 0, "p"], [68666, 0, "l"], [68667, 0, "i"], [68668, 0, "e"], [68669, 0, "d"], [68670, 0, " "], [68671, 0, "a"], [68672, 0, "t"], [68673, 0, " "], [68674, 0, "o"], [68675, 0, "n"], [68676, 0, "e"], [68677, 0, " "], [68678, 0, "p"], [68679, 0, "a"], [68680, 0, "r"], [68681, 0, "t"], [68682, 0, "i"], [68683, 0, "c"], [68684, 0, "u"], [68685, 0, "l"], [68686, 0, "a"], [68687, 0, "r"], [68688, 0, " "], [68689, 0, "r"], [68690, 0, "e"], [68691, 0, "p"], [68692, 0, "l"], [68693, 0, "i"], [68694, 0, "c"], [68695, 0, "a"], [68696, 0, " "], [68697, 0, "$"], [68698, 0, "p"], [68699, 0, "$"], [68700, 0, "."], [68700, 0, ","], [68701, 0, " "], [68702, 0, "b"], [68703, 0, "y"], [68704, 0, " "], [68705, 0, "a"], [68706, 0, "p"], [68707, 0, "p"], [68708, 0, "l"], [68709, 0, "i"], [68710, 0, "c"], [68711, 0, "a"], [68712, 0, "t"], [68713, 0, "i"], [68714, 0, "o"], [68715, 0, "n"], [68716, 0, " "], [68717, 0, "o"], [68718, 0, "f"], [68719, 0, " "], [68720, 0, "t"], [68721, 0, "h"], [68722, 0, "e"], [68723, 0, " "], [68724, 0, "r"], [68725, 0, "u"], [68726, 0, "l"], [68727, 0, "e"], [68728, 0, "s"], [68729, 0, " "], [68730, 0, "\\"], [68731, 0, "t"], [68732, 0, "e"], [68733, 0, "x"], [68734, 0, "t"], [68735, 0, "s"], [68736, 0, "c"], [68737, 0, "{"], [68738, 0, "A"], [68739, 0, "p"], [68740, 0, "p"], [68741, 0, "l"], [68742, 0, "y"], [68743, 0, "-"], [68744, 0, "L"], [68745, 0, "o"], [68746, 0, "c"], [68747, 0, "a"], [68748, 0, "l"], [68749, 0, "}"], [68750, 0, " "], [68751, 0, "a"], [68752, 0, "n"], [68753, 0, "d"], [68754, 0, " "], [68755, 0, "\\"], [68756, 0, "t"], [68757, 0, "e"], [68758, 0, "x"], [68759, 0, "t"], [68760, 0, "s"], [68761, 0, "c"], [68762, 0, "{"], [68763, 0, "A"], [68764, 0, "p"], [68765, 0, "p"], [68766, 0, "l"], [68767, 0, "y"], [68768, 0, "-"], [68769, 0, "R"], [68770, 0, "e"], [68771, 0, "m"], [68772, 0, "o"], [68773, 0, "t"], [68774, 0, "e"], [68775, 0, "}"], [68794, 0, "\n"], [68795, 0, "\n"], [68796, 0, "N"], [68796, 1], [68796, 0, "E"], [68797, 0, "v"], [68798, 0, "e"], [68799, 0, "n"], [68800, 0, " "], [68801, 0, "i"], [68802, 0, "f"], [68803, 0, " "], [68804, 0, "t"], [68805, 0, "w"], [68806, 0, "o"], [68807, 0, " "], [68808, 0, "r"], [68809, 0, "e"], [68810, 0, "p"], [68811, 0, "l"], [68812, 0, "i"], [68813, 0, "c"], [68814, 0, "a"], [68815, 0, "s"], [68816, 0, " "], [68817, 0, "a"], [68818, 0, "p"], [68819, 0, "p"], [68820, 0, "l"], [68821, 0, "i"], [68822, 0, "e"], [68823, 0, "d"], [68824, 0, " "], [68825, 0, "t"], [68826, 0, "h"], [68827, 0, "e"], [68828, 0, " "], [68829, 0, "s"], [68830, 0, "a"], [68831, 0, "m"], [68832, 0, "e"], [68833, 0, " "], [68834, 0, "s"], [68835, 0, "e"], [68836, 0, "t"], [68837, 0, " "], [68838, 0, "o"], [68839, 0, "f"], [68840, 0, " "], [68841, 0, "o"], [68842, 0, "p"], [68843, 0, "e"], [68844, 0, "r"], [68845, 0, "a"], [68846, 0, "t"], [68847, 0, "i"], [68848, 0, "o"], [68849, 0, "n"], [68850, 0, "s"], [68816, 0, " "], [68817, 0, "$"], [68818, 0, "p"], [68819, 0, "$"], [68820, 0, " "], [68821, 0, "a"], [68822, 0, "n"], [68823, 0, "d"], [68824, 0, " "], [68825, 0, "$"], [68826, 0, "q"], [68827, 0, "$"], [68863, 0, ","], [68864, 0, " "], [68865, 0, "i"], [68866, 0, "."], [68867, 0, "e"], [68868, 0, "."], [68869, 0, " "], [68870, 0, "$"], [68871, 0, "A"], [68872, 0, "_"], [68873, 0, "p"], [68874, 0, "("], [68875, 0, "\\"], [68876, 0, "m"], [68877, 0, "a"], [68878, 0, "t"], [68879, 0, "h"], [68880, 0, "s"], [68881, 0, "f"], [68882, 0, "{"], [68883, 0, "o"], [68884, 0, "p"], [68885, 0, "s"], [68886, 0, "}"], [68887, 0, ")"], [68888, 0, " "], [68889, 0, "="], [68890, 0, " "], [68891, 0, "A"], [68892, 0, "_"], [68893, 0, "q"], [68894, 0, "("], [68895, 0, "\\"], [68896, 0, "m"], [68897, 0, "a"], [68898, 0, "t"], [68899, 0, "h"], [68900, 0, "s"], [68901, 0, "f"], [68902, 0, "{"], [68903, 0, "o"], [68904, 0, "p"], [68905, 0, "s"], [68906, 0, "}"], [68907, 0, ")"], [68908, 0, "$"], [68909, 0, ","], [68910, 0, " "], [68911, 0, "t"], [68912, 0, "h"], [68913, 0, "e"], [68914, 0, "y"], [68915, 0, " "], [68916, 0, "m"], [68917, 0, "a"], [68918, 0, "y"], [68919, 0, " "], [68920, 0, "h"], [68921, 0, "a"], [68922, 0, "v"], [68923, 0, "e"], [68924, 0, " "], [68925, 0, "a"], [68926, 0, "p"], [68927, 0, "p"], [68928, 0, "l"], [68929, 0, "i"], [68930, 0, "e"], [68931, 0, "d"], [68932, 0, " "], [68933, 0, "t"], [68934, 0, "h"], [68935, 0, "e"], [68936, 0, " "], [68937, 0, "o"], [68938, 0, "p"], [68939, 0, "e"], [68940, 0, "r"], [68941, 0, "a"], [68942, 0, "t"], [68943, 0, "i"], [68944, 0, "o"], [68945, 0, "n"], [68946, 0, "s"], [68947, 0, " "], [68948, 0, "i"], [68949, 0, "n"], [68950, 0, " "], [68951, 0, "a"], [68952, 0, " "], [68953, 0, "d"], [68954, 0, "i"], [68955, 0, "f"], [68956, 0, "f"], [68957, 0, "e"], [68958, 0, "r"], [68959, 0, "e"], [68960, 0, "n"], [68961, 0, "t"], [68962, 0, " "], [68963, 0, "o"], [68964, 0, "r"], [68965, 0, "d"], [68966, 0, "e"], [68967, 0, "r"], [68968, 0, "."], [68935, 1], [68934, 1], [68933, 1], [68933, 0, "a"], [68934, 0, "n"], [68935, 0, "y"], [68936, 0, " "], [68937, 0, "c"], [68938, 0, "o"], [68939, 0, "n"], [68940, 0, "c"], [68941, 0, "u"], [68942, 0, "r"], [68943, 0, "r"], [68944, 0, "e"], [68945, 0, "n"], [68946, 0, "t"], [68869, 0, " "], [68870, 0, "i"], [68871, 0, "f"], [68577, 0, " "], [68577, 1], [68577, 0, "\n"], [68578, 0, "\n"], [68579, 0, "N"], [68580, 0, "o"], [68581, 0, "t"], [68582, 0, "e"], [68583, 0, " "], [68584, 0, "t"], [68585, 0, "h"], [68586, 0, "a"], [68587, 0, "t"], [68588, 0, " "], [68589, 0, "i"], [68590, 0, "t"], [68591, 0, " "], [68592, 0, "i"], [68593, 0, "s"], [68594, 0, " "], [68595, 0, "v"], [68596, 0, "a"], [68597, 0, "l"], [68598, 0, "i"], [68599, 0, "d"], [68600, 0, " "], [68601, 0, "f"], [68602, 0, "o"], [68603, 0, "r"], [68604, 0, " "], [68605, 0, "a"], [68606, 0, "n"], [68607, 0, " "], [68608, 0, "e"], [68609, 0, "x"], [68610, 0, "e"], [68611, 0, "c"], [68612, 0, "u"], [68613, 0, "t"], [68614, 0, "i"], [68615, 0, "o"], [68616, 0, "n"], [68617, 0, " "], [68618, 0, "t"], [68619, 0, "o"], [68620, 0, " "], [68621, 0, "n"], [68622, 0, "e"], [68623, 0, "v"], [68624, 0, "e"], [68625, 0, "r"], [68626, 0, " "], [68627, 0, "p"], [68628, 0, "e"], [68629, 0, "r"], [68630, 0, "f"], [68631, 0, "o"], [68632, 0, "r"], [68633, 0, "m"], [68634, 0, " "], [68635, 0, "a"], [68636, 0, "n"], [68637, 0, "y"], [68638, 0, " "], [68639, 0, "n"], [68640, 0, "e"], [68641, 0, "t"], [68642, 0, "w"], [68643, 0, "o"], [68644, 0, "r"], [68645, 0, "k"], [68646, 0, " "], [68647, 0, "c"], [68648, 0, "o"], [68649, 0, "m"], [68650, 0, "m"], [68651, 0, "u"], [68652, 0, "n"], [68653, 0, "i"], [68654, 0, "c"], [68655, 0, "a"], [68656, 0, "t"], [68657, 0, "i"], [68658, 0, "o"], [68659, 0, "n"], [68660, 0, ","], [68661, 0, " "], [68662, 0, "e"], [68663, 0, "i"], [68664, 0, "t"], [68665, 0, "h"], [68666, 0, "e"], [68667, 0, "r"], [68668, 0, " "], [68669, 0, "b"], [68670, 0, "e"], [68671, 0, "c"], [68672, 0, "a"], [68673, 0, "u"], [68674, 0, "s"], [68675, 0, "e"], [68676, 0, " "], [68677, 0, "i"], [68678, 0, "t"], [68679, 0, " "], [68680, 0, "n"], [68681, 0, "e"], [68682, 0, "v"], [68683, 0, "e"], [68684, 0, "r"], [68685, 0, " "], [68686, 0, "u"], [68687, 0, "s"], [68688, 0, "e"], [68689, 0, "s"], [68690, 0, " "], [68691, 0, "t"], [68691, 1], [68690, 1], [68689, 1], [68688, 1], [68687, 1], [68686, 1], [68686, 0, "i"], [68687, 0, "n"], [68688, 0, "v"], [68689, 0, "o"], [68690, 0, "k"], [68691, 0, "e"], [68692, 0, "s"], [68693, 0, " "], [68694, 0, "t"], [68695, 0, "h"], [68696, 0, "e"], [68697, 0, " "], [68698, 0, "\\"], [68699, 0, "t"], [68700, 0, "e"], [68701, 0, "x"], [68702, 0, "t"], [68703, 0, "s"], [68704, 0, "f"], [68705, 0, "{"], [68706, 0, "y"], [68707, 0, "i"], [68708, 0, "e"], [68709, 0, "l"], [68710, 0, "d"], [68711, 0, "}"], [68712, 0, " "], [68713, 0, "c"], [68714, 0, "o"], [68715, 0, "m"], [68716, 0, "m"], [68717, 0, "a"], [68718, 0, "n"], [68719, 0, "d"], [68720, 0, ","], [68721, 0, " "], [68722, 0, "o"], [68723, 0, "r"], [68724, 0, " "], [68725, 0, "b"], [68726, 0, "e"], [68727, 0, "c"], [68728, 0, "a"], [68729, 0, "u"], [68730, 0, "s"], [68731, 0, "e"], [68732, 0, " "], [68733, 0, "t"], [68734, 0, "h"], [68735, 0, "e"], [68736, 0, " "], [68737, 0, "n"], [68738, 0, "o"], [68739, 0, "n"], [68740, 0, "d"], [68741, 0, "e"], [68742, 0, "t"], [68743, 0, "e"], [68744, 0, "r"], [68745, 0, "m"], [68746, 0, "i"], [68747, 0, "n"], [68748, 0, "i"], [68749, 0, "s"], [68750, 0, "t"], [68751, 0, "i"], [68752, 0, "c"], [68753, 0, " "], [68754, 0, "e"], [68755, 0, "x"], [68756, 0, "e"], [68757, 0, "c"], [68758, 0, "u"], [68759, 0, "t"], [68760, 0, "i"], [68761, 0, "o"], [68762, 0, "n"], [68763, 0, " "], [68764, 0, "o"], [68765, 0, "f"], [68766, 0, " "], [68767, 0, "\\"], [68768, 0, "t"], [68769, 0, "e"], [68770, 0, "x"], [68771, 0, "t"], [68772, 0, "s"], [68773, 0, "f"], [68774, 0, "{"], [68775, 0, "y"], [68776, 0, "i"], [68777, 0, "e"], [68778, 0, "l"], [68779, 0, "d"], [68780, 0, "}"], [68781, 0, " "], [68782, 0, "n"], [68783, 0, "e"], [68784, 0, "v"], [68785, 0, "e"], [68786, 0, "r"], [68787, 0, " "], [68788, 0, "a"], [68789, 0, "p"], [68790, 0, "p"], [68791, 0, "l"], [68792, 0, "i"], [68793, 0, "e"], [68794, 0, "s"], [68795, 0, " "], [68796, 0, "t"], [68797, 0, "h"], [68798, 0, "e"], [68799, 0, " "], [68800, 0, "\\"], [68801, 0, "t"], [68802, 0, "e"], [68803, 0, "x"], [68804, 0, "t"], [68805, 0, "s"], [68806, 0, "c"], [68807, 0, "{"], [68808, 0, "R"], [68809, 0, "e"], [68810, 0, "c"], [68811, 0, "v"], [68812, 0, "}"], [68813, 0, " "], [68814, 0, "r"], [68815, 0, "u"], [68816, 0, "l"], [68817, 0, "e"], [68818, 0, "."], [68819, 0, " "], [68820, 0, "T"], [68821, 0, "h"], [68822, 0, "u"], [68823, 0, "s"], [68824, 0, ","], [68825, 0, " "], [68826, 0, "w"], [68827, 0, "h"], [68828, 0, "e"], [68829, 0, "t"], [68830, 0, "h"], [68831, 0, "e"], [68832, 0, "r"], [68833, 0, " "], [68833, 1], [68832, 1], [68831, 1], [68830, 1], [68829, 1], [68828, 1], [68827, 1], [68827, 0, "e"], [68828, 0, " "], [68829, 0, "c"], [68830, 0, "a"], [68831, 0, "n"], [68832, 0, " "], [68833, 0, "c"], [68834, 0, "h"], [68835, 0, "e"], [68836, 0, "c"], [68837, 0, "k"], [68838, 0, " "], [68839, 0, "w"], [68840, 0, "h"], [68841, 0, "e"], [68842, 0, "t"], [68843, 0, "h"], [68844, 0, "e"], [68845, 0, "r"], [68846, 0, " "], [68847, 0, "r"], [68848, 0, "e"], [68849, 0, "d"], [68850, 0, "u"], [68851, 0, "c"], [68852, 0, "t"], [68853, 0, "i"], [68854, 0, "n"], [68855, 0, "o"], [68856, 0, " "], [68856, 1], [68855, 1], [68854, 1], [68854, 0, "o"], [68855, 0, "n"], [68856, 0, " "], [68826, 1], [68825, 1], [68824, 1], [68823, 1], [68822, 1], [68821, 1], [68820, 1], [68820, 0, "W"], [68831, 1], [68830, 1], [68829, 1], [68828, 1], [68827, 1], [68826, 1], [68825, 1], [68824, 1], [68823, 1], [68823, 0, "n"], [68824, 0, "e"], [68825, 0, "e"], [68826, 0, "d"], [68827, 0, " "], [68828, 0, "o"], [68829, 0, "n"], [68830, 0, "l"], [68831, 0, "y"], [68832, 0, " "], [68833, 0, "a"], [68834, 0, " "], [68835, 0, "r"], [68836, 0, "e"], [68837, 0, "p"], [68838, 0, "l"], [68839, 0, "i"], [68840, 0, "c"], [68841, 0, "a"], [68842, 0, "'"], [68843, 0, "s"], [68844, 0, " "], [68845, 0, "l"], [68846, 0, "o"], [68847, 0, "c"], [68848, 0, "a"], [68849, 0, "l"], [68850, 0, " "], [68851, 0, "s"], [68852, 0, "t"], [68853, 0, "a"], [68854, 0, "t"], [68855, 0, "e"], [68856, 0, " "], [68857, 0, "t"], [68858, 0, "o"], [68859, 0, " "], [68860, 0, "d"], [68861, 0, "e"], [68862, 0, "t"], [68863, 0, "e"], [68864, 0, "r"], [68865, 0, "m"], [68866, 0, "i"], [68867, 0, "n"], [68868, 0, "e"], [68888, 0, "g"], [68889, 0, "e"], [68890, 0, "t"], [68891, 0, "s"], [68892, 0, " "], [68893, 0, "s"], [68894, 0, "t"], [68895, 0, "u"], [68896, 0, "c"], [68897, 0, "k"], [68898, 0, "."], [69305, 0, " "], [69306, 0, "S"], [69307, 0, "i"], [69308, 0, "n"], [69309, 0, "c"], [69310, 0, "e"], [69311, 0, " "], [69312, 0, "t"], [69313, 0, "h"], [69314, 0, "e"], [69315, 0, " "], [69316, 0, "e"], [69317, 0, "v"], [69318, 0, "a"], [69319, 0, "l"], [69320, 0, "u"], [69321, 0, "a"], [69322, 0, "t"], [69323, 0, "i"], [69324, 0, "o"], [69325, 0, "n"], [69326, 0, " "], [69327, 0, "r"], [69328, 0, "u"], [69329, 0, "l"], [69330, 0, "e"], [69331, 0, "s"], [69332, 0, " "], [69333, 0, "s"], [69334, 0, "e"], [69335, 0, "q"], [69336, 0, "u"], [69337, 0, "e"], [69338, 0, "n"], [69339, 0, "t"], [69340, 0, "i"], [69341, 0, "a"], [69342, 0, "l"], [69343, 0, "l"], [69344, 0, "y"], [69345, 0, " "], [69346, 0, "a"], [69347, 0, "p"], [69348, 0, "p"], [69349, 0, "l"], [69350, 0, "y"], [69351, 0, " "], [69352, 0, "o"], [69353, 0, "n"], [69354, 0, "e"], [69355, 0, " "], [69356, 0, "o"], [69357, 0, "p"], [69358, 0, "e"], [69359, 0, "r"], [69360, 0, "a"], [69361, 0, "t"], [69362, 0, "i"], [69363, 0, "o"], [69364, 0, "n"], [69365, 0, " "], [69366, 0, "a"], [69367, 0, "t"], [69368, 0, " "], [69369, 0, "a"], [69370, 0, " "], [69371, 0, "t"], [69372, 0, "i"], [69373, 0, "m"], [69374, 0, "e"], [69375, 0, " "], [69305, 0, " "], [69306, 0, "D"], [69307, 0, "u"], [69308, 0, "e"], [69309, 0, " "], [69310, 0, "t"], [69311, 0, "o"], [69312, 0, " "], [69313, 0, "t"], [69314, 0, "h"], [69315, 0, "e"], [69316, 0, " "], [69317, 0, "p"], [69318, 0, "r"], [69319, 0, "e"], [69320, 0, "m"], [69321, 0, "i"], [69322, 0, "s"], [69323, 0, "e"], [69324, 0, " "], [69325, 0, "$"], [69326, 0, "\\"], [69327, 0, "m"], [69328, 0, "a"], [69329, 0, "t"], [69330, 0, "h"], [69331, 0, "i"], [69332, 0, "t"], [69333, 0, "{"], [69334, 0, "o"], [69335, 0, "p"], [69336, 0, "."], [69337, 0, "i"], [69338, 0, "d"], [69338, 1], [69337, 1], [69337, 0, "d"], [69338, 0, "e"], [69339, 0, "p"], [69340, 0, "s"], [69341, 0, "}"], [69342, 0, " "], [69343, 0, "\\"], [69344, 0, "s"], [69345, 0, "u"], [69346, 0, "b"], [69347, 0, "s"], [69348, 0, "e"], [69349, 0, "t"], [69350, 0, "e"], [69351, 0, "q"], [69352, 0, " "], [69353, 0, "A"], [69354, 0, "_"], [69355, 0, "p"], [69356, 0, "("], [69357, 0, "\\"], [69358, 0, "m"], [69359, 0, "a"], [69360, 0, "t"], [69361, 0, "h"], [69362, 0, "s"], [69363, 0, "f"], [69364, 0, "{"], [69365, 0, "o"], [69366, 0, "p"], [69367, 0, "s"], [69368, 0, "}"], [69369, 0, ")"], [69370, 0, "$"], [69371, 0, " "], [69372, 0, "i"], [69373, 0, "n"], [69374, 0, " "], [69375, 0, "\\"], [69376, 0, "t"], [69377, 0, "e"], [69378, 0, "x"], [69379, 0, "t"], [69380, 0, "s"], [69381, 0, "c"], [69382, 0, "{"], [69383, 0, "A"], [69384, 0, "p"], [69385, 0, "p"], [69386, 0, "l"], [69387, 0, "y"], [69388, 0, "-"], [69389, 0, "R"], [69390, 0, "e"], [69391, 0, "m"], [69392, 0, "o"], [69393, 0, "t"], [69394, 0, "e"], [69395, 0, "}"], [69305, 0, " "], [69306, 0, "S"], [69307, 0, "i"], [69308, 0, "n"], [69309, 0, "c"], [69310, 0, " "], [69311, 0, "e"], [69312, 0, "t"], [69313, 0, "h"], [69313, 1], [69312, 1], [69311, 1], [69310, 1], [69310, 0, "e"], [69311, 0, " "], [69312, 0, "t"], [69313, 0, "h"], [69314, 0, "e"], [69315, 0, " "], [69316, 0, "e"], [69317, 0, "v"], [69318, 0, "a"], [69319, 0, "l"], [69320, 0, "u"], [69321, 0, "a"], [69322, 0, "t"], [69323, 0, "i"], [69324, 0, "o"], [69325, 0, "n"], [69326, 0, " "], [69327, 0, "r"], [69328, 0, "u"], [69329, 0, "l"], [69330, 0, "e"], [69331, 0, "s"], [69332, 0, " "], [69333, 0, "s"], [69334, 0, "e"], [69335, 0, "q"], [69336, 0, "u"], [69337, 0, "e"], [69338, 0, "n"], [69339, 0, "t"], [69340, 0, "i"], [69341, 0, "a"], [69342, 0, "l"], [69343, 0, "l"], [69344, 0, "y"], [69345, 0, " "], [69346, 0, "a"], [69347, 0, "p"], [69348, 0, "p"], [69349, 0, "l"], [69350, 0, "y"], [69351, 0, " "], [69352, 0, "o"], [69353, 0, "n"], [69354, 0, "e"], [69355, 0, " "], [69356, 0, "o"], [69357, 0, "p"], [69358, 0, "e"], [69359, 0, "r"], [69360, 0, "a"], [69361, 0, "t"], [69362, 0, "i"], [69363, 0, "o"], [69364, 0, "n"], [69365, 0, " "], [69366, 0, "a"], [69367, 0, "t"], [69368, 0, " "], [69369, 0, "a"], [69370, 0, " "], [69371, 0, "t"], [69372, 0, "i"], [69373, 0, "m"], [69374, 0, "e"], [69375, 0, ","], [69376, 0, " "], [69377, 0, "t"], [69378, 0, "h"], [69379, 0, "e"], [69380, 0, " "], [69381, 0, "o"], [69382, 0, "r"], [69383, 0, "d"], [69384, 0, "e"], [69385, 0, "r"], [69386, 0, " "], [69387, 0, "i"], [69388, 0, "s"], [69389, 0, " "], [69390, 0, "w"], [69391, 0, "e"], [69392, 0, "l"], [69393, 0, "l"], [69394, 0, "-"], [69395, 0, "d"], [69396, 0, "e"], [69397, 0, "f"], [69398, 0, "i"], [69399, 0, "n"], [69400, 0, "e"], [69401, 0, "d"], [69402, 0, "."], [69564, 1], [69563, 1], [69562, 1], [69561, 1], [69560, 1], [69559, 1], [69558, 1], [69557, 1], [69556, 1], [69555, 1], [69554, 1], [69553, 1], [69552, 1], [69551, 1], [69550, 1], [69549, 1], [69548, 1], [69547, 1], [69546, 1], [69545, 1], [69544, 1], [69543, 1], [69542, 1], [69541, 1], [69540, 1], [69539, 1], [69538, 1], [69537, 1], [69536, 1], [69535, 1], [69534, 1], [69533, 1], [69532, 1], [69531, 1], [69530, 1], [69529, 1], [69528, 1], [69527, 1], [69526, 1], [69525, 1], [69524, 1], [69523, 1], [69522, 1], [69521, 1], [69520, 1], [69519, 1], [69518, 1], [69517, 1], [69516, 1], [69515, 1], [69514, 1], [69513, 1], [69512, 1], [69511, 1], [69510, 1], [69509, 1], [69508, 1], [69507, 1], [69506, 1], [69505, 1], [69504, 1], [69503, 1], [69502, 1], [69501, 1], [69500, 1], [69499, 1], [69498, 1], [69497, 1], [69496, 1], [69495, 1], [69494, 1], [69494, 0, ","], [69495, 0, " "], [69496, 0, "t"], [69497, 0, "h"], [69498, 0, "e"], [69499, 0, " "], [69500, 0, "o"], [69501, 0, "r"], [69502, 0, "d"], [69503, 0, "e"], [69504, 0, "r"], [69505, 0, " "], [69506, 0, "i"], [69507, 0, "s"], [69508, 0, " "], [69509, 0, "c"], [69510, 0, "o"], [69511, 0, "n"], [69512, 0, "s"], [69513, 0, "i"], [69514, 0, "s"], [69515, 0, "t"], [69516, 0, "e"], [69517, 0, "n"], [69518, 0, "t"], [69519, 0, " "], [69520, 0, "w"], [69521, 0, "i"], [69522, 0, "t"], [69523, 0, "h"], [69524, 0, " "], [69525, 0, "c"], [69526, 0, "a"], [69527, 0, "u"], [69528, 0, "s"], [69529, 0, "a"], [69530, 0, "l"], [69531, 0, "i"], [69532, 0, "t"], [69533, 0, "y"], [69534, 0, " "], [69535, 0, "("], [69504, 1], [69503, 1], [69502, 1], [69501, 1], [69500, 1], [69499, 1], [69498, 1], [69497, 1], [69496, 1], [69496, 0, "a"], [69497, 0, "n"], [69498, 0, "y"], [69499, 0, " "], [69500, 0, "h"], [69501, 0, "i"], [69502, 0, "s"], [69503, 0, "t"], [69504, 0, "o"], [69505, 0, "r"], [69506, 0, "y"], [69022, 1], [69117, 0, "S"], [69118, 0, "i"], [69119, 0, "n"], [69120, 0, "c"], [69121, 0, "e"], [69122, 0, " "], [69123, 0, "t"], [69124, 0, "h"], [69125, 0, "e"], [69126, 0, " "], [69127, 0, "e"], [69128, 0, "v"], [69129, 0, "a"], [69130, 0, "l"], [69131, 0, "u"], [69132, 0, "a"], [69133, 0, "t"], [69134, 0, "i"], [69135, 0, "o"], [69136, 0, "n"], [69137, 0, " "], [69138, 0, "r"], [69139, 0, "u"], [69140, 0, "l"], [69141, 0, "e"], [69142, 0, "s"], [69143, 0, " "], [69144, 0, "s"], [69145, 0, "e"], [69146, 0, "q"], [69147, 0, "u"], [69148, 0, "e"], [69149, 0, "n"], [69150, 0, "t"], [69151, 0, "i"], [69152, 0, "a"], [69152, 1], [69152, 0, "a"], [69153, 0, "l"], [69154, 0, "l"], [69155, 0, "y"], [69156, 0, " "], [69157, 0, "a"], [69158, 0, "p"], [69159, 0, "p"], [69160, 0, "l"], [69161, 0, "y"], [69162, 0, " "], [69163, 0, "o"], [69164, 0, "n"], [69165, 0, "e"], [69166, 0, " "], [69167, 0, "o"], [69168, 0, "p"], [69169, 0, "e"], [69170, 0, "r"], [69171, 0, "a"], [69172, 0, "t"], [69173, 0, "i"], [69174, 0, "o"], [69175, 0, "n"], [69176, 0, " "], [69177, 0, "a"], [69178, 0, "t"], [69179, 0, " "], [69180, 0, "a"], [69181, 0, " "], [69182, 0, "t"], [69183, 0, "i"], [69184, 0, "m"], [69185, 0, "e"], [69186, 0, ","], [69187, 0, " "], [69188, 0, "t"], [69189, 0, "h"], [69190, 0, "e"], [69191, 0, " "], [69192, 0, "o"], [69193, 0, "r"], [69194, 0, "d"], [69195, 0, "e"], [69196, 0, "r"], [69197, 0, " "], [69198, 0, "i"], [69199, 0, "s"], [69200, 0, " "], [69201, 0, "w"], [69202, 0, "e"], [69203, 0, "l"], [69204, 0, "l"], [69205, 0, "-"], [69206, 0, "d"], [69207, 0, "e"], [69208, 0, "f"], [69209, 0, "i"], [69210, 0, "n"], [69211, 0, "e"], [69212, 0, "d"], [69213, 0, "."], [69214, 0, " "], [69500, 1], [69499, 1], [69498, 1], [69497, 1], [69496, 1], [69495, 1], [69494, 1], [69493, 1], [69492, 1], [69491, 1], [69490, 1], [69489, 1], [69488, 1], [69487, 1], [69486, 1], [69485, 1], [69484, 1], [69483, 1], [69482, 1], [69481, 1], [69480, 1], [69479, 1], [69478, 1], [69477, 1], [69476, 1], [69475, 1], [69474, 1], [69473, 1], [69472, 1], [69471, 1], [69470, 1], [69469, 1], [69468, 1], [69467, 1], [69466, 1], [69465, 1], [69464, 1], [69463, 1], [69462, 1], [69461, 1], [69460, 1], [69459, 1], [69458, 1], [69457, 1], [69456, 1], [69455, 1], [69454, 1], [69453, 1], [69452, 1], [69451, 1], [69450, 1], [69449, 1], [69448, 1], [69447, 1], [69446, 1], [69445, 1], [69444, 1], [69443, 1], [69442, 1], [69441, 1], [69440, 1], [69439, 1], [69438, 1], [69437, 1], [69436, 1], [69435, 1], [69434, 1], [69433, 1], [69432, 1], [69431, 1], [69430, 1], [69429, 1], [69428, 1], [69427, 1], [69426, 1], [69425, 1], [69424, 1], [69423, 1], [69422, 1], [69421, 1], [69420, 1], [69419, 1], [69418, 1], [69417, 1], [69416, 1], [69415, 1], [69414, 1], [69413, 1], [69412, 1], [69411, 1], [69410, 1], [69409, 1], [69408, 1], [69407, 1], [69406, 1], [69405, 1], [69404, 1], [69403, 1], [69537, 0, "e"], [69538, 0, "v"], [69539, 0, "e"], [69540, 0, "r"], [69541, 0, "y"], [69542, 0, " "], [69543, 0, "o"], [69544, 0, "p"], [69545, 0, "e"], [69546, 0, "r"], [69547, 0, "a"], [69548, 0, "t"], [69549, 0, "i"], [69550, 0, "o"], [69551, 0, "n"], [69552, 0, " "], [69553, 0, "a"], [69554, 0, "p"], [69555, 0, "p"], [69556, 0, "e"], [69557, 0, "a"], [69558, 0, "r"], [69559, 0, "s"], [69581, 0, " "], [69582, 0, "a"], [69583, 0, "n"], [69584, 0, "d"], [69585, 0, " "], [69586, 0, "f"], [69587, 0, "u"], [69588, 0, "r"], [69589, 0, "t"], [69590, 0, "h"], [69591, 0, "e"], [69592, 0, "r"], [69593, 0, " "], [69594, 0, "w"], [69595, 0, "o"], [69596, 0, "r"], [69597, 0, "k"], [69559, 1], [69558, 1], [69557, 1], [69556, 1], [69555, 1], [69554, 1], [69553, 1], [69552, 1], [69551, 1], [69541, 1], [69540, 1], [69539, 1], [69538, 1], [69537, 1], [69537, 0, "i"], [69538, 0, "f"], [69539, 0, " "], [69540, 0, "a"], [69541, 0, "n"], [69551, 0, "n"], [69552, 0, " "], [69553, 0, "h"], [69554, 0, "a"], [69555, 0, "s"], [69556, 0, " "], [69557, 0, "c"], [69558, 0, "a"], [69559, 0, "u"], [69560, 0, "s"], [69561, 0, "a"], [69562, 0, "l"], [69563, 0, " "], [69564, 0, "d"], [69565, 0, "e"], [69566, 0, "p"], [69567, 0, "e"], [69568, 0, "n"], [69569, 0, "d"], [69570, 0, "e"], [69571, 0, "n"], [69572, 0, "c"], [69573, 0, "i"], [69574, 0, "e"], [69575, 0, "s"], [69576, 0, ","], [69577, 0, " "], [69578, 0, "i"], [69579, 0, "t"], [69580, 0, " "], [69581, 0, "a"], [69582, 0, "p"], [69583, 0, "p"], [69584, 0, "e"], [69585, 0, "a"], [69586, 0, "r"], [69587, 0, "s"], [69588, 0, " "], [69589, 0, "a"], [69590, 0, "t"], [69591, 0, " "], [69592, 0, "s"], [69593, 0, "o"], [69594, 0, "m"], [69595, 0, "e"], [69596, 0, " "], [69597, 0, "p"], [69598, 0, "o"], [69599, 0, "i"], [69600, 0, "n"], [69601, 0, "t"], [69602, 0, " "], [69603, 0, "a"], [69604, 0, "f"], [69605, 0, "t"], [69606, 0, "e"], [69607, 0, "r"], [69608, 0, " "], [69609, 0, "t"], [69610, 0, "h"], [69611, 0, "o"], [69612, 0, "s"], [69613, 0, "e"], [69614, 0, " "], [69615, 0, "d"], [69616, 0, "e"], [69617, 0, "p"], [69618, 0, "e"], [69619, 0, "n"], [69620, 0, "d"], [69621, 0, "e"], [69622, 0, "n"], [69623, 0, "c"], [69624, 0, "i"], [69625, 0, "e"], [69626, 0, "s"], [69627, 0, " "], [69628, 0, "i"], [69629, 0, "n"], [69630, 0, " "], [69631, 0, "t"], [69632, 0, "h"], [69633, 0, "e"], [69634, 0, " "], [69635, 0, "h"], [69636, 0, "i"], [69637, 0, "s"], [69638, 0, "t"], [69639, 0, "o"], [69640, 0, "r"], [69641, 0, "y"], [69642, 0, ")"], [69643, 0, "."], [68175, 0, "t"], [68176, 0, "h"], [68177, 0, "e"], [68178, 0, "r"], [68179, 0, "e"], [68180, 0, " "], [68181, 0, "i"], [68182, 0, "s"], [68183, 0, " "], [68184, 0, "n"], [68185, 0, "o"], [68186, 0, " "], [68187, 0, "a"], [68188, 0, "p"], [68189, 0, "p"], [68190, 0, "l"], [68191, 0, "i"], [68192, 0, "c"], [68193, 0, "a"], [68194, 0, "t"], [68195, 0, "i"], [68196, 0, "o"], [68197, 0, "n"], [68198, 0, " "], [68199, 0, "o"], [68200, 0, "f"], [68201, 0, " "], [68202, 0, "r"], [68203, 0, "u"], [68204, 0, "l"], [68205, 0, "e"], [68206, 0, "s"], [68207, 0, " "], [68208, 0, "i"], [68209, 0, "n"], [68210, 0, " "], [68211, 0, "w"], [68212, 0, "h"], [68213, 0, "i"], [68214, 0, "c"], [68215, 0, "h"], [68216, 0, " "], [68218, 0, "l"], [68219, 0, "l"], [68228, 0, "s"], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 1], [68230, 0, "a"], [68231, 0, "r"], [68232, 0, "e"], [68233, 0, " "], [69543, 1], [69542, 0, ":"], [69649, 1], [69650, 0, "\n"], [69651, 0, "\n"], [69652, 0, "\\"], [69653, 0, "b"], [69654, 0, "e"], [69655, 0, "g"], [69656, 0, "i"], [69657, 0, "n"], [69658, 0, "{"], [69659, 0, "t"], [69660, 0, "h"], [69661, 0, "e"], [69662, 0, "o"], [69663, 0, "r"], [69664, 0, "e"], [69665, 0, "m"], [69666, 0, "*"], [69667, 0, "}"], [69668, 0, "\n"], [69669, 0, "\\"], [69670, 0, "e"], [69671, 0, "n"], [69672, 0, "d"], [69673, 0, "{"], [69674, 0, "t"], [69675, 0, "h"], [69676, 0, "e"], [69677, 0, "o"], [69678, 0, "r"], [69679, 0, "e"], [69680, 0, "m"], [69681, 0, "*"], [69682, 0, "}"], [69668, 0, "\n"], [69669, 0, "F"], [69670, 0, "o"], [69671, 0, "r"], [69672, 0, " "], [69673, 0, "a"], [69674, 0, "n"], [69675, 0, "y"], [69676, 0, " "], [69677, 0, "t"], [69678, 0, "w"], [69679, 0, "o"], [69680, 0, " "], [69681, 0, "r"], [69682, 0, "e"], [69683, 0, "p"], [69684, 0, "l"], [69685, 0, "i"], [69686, 0, "c"], [69687, 0, "a"], [69688, 0, "s"], [69689, 0, " "], [69690, 0, "$"], [69691, 0, "p"], [69692, 0, "$"], [69693, 0, " "], [69694, 0, "a"], [69695, 0, "n"], [69696, 0, "d"], [69697, 0, " "], [69698, 0, "$"], [69699, 0, "q"], [69700, 0, "$"], [69701, 0, " "], [69702, 0, "t"], [69703, 0, "h"], [69704, 0, "a"], [69705, 0, "t"], [69706, 0, " "], [69707, 0, "p"], [69708, 0, "a"], [69709, 0, "r"], [69710, 0, "t"], [69711, 0, "i"], [69712, 0, "c"], [69713, 0, "i"], [69714, 0, "p"], [69715, 0, "a"], [69716, 0, "t"], [69717, 0, "e"], [69718, 0, "d"], [69719, 0, " "], [69720, 0, "i"], [69721, 0, "n"], [69722, 0, " "], [69723, 0, "a"], [69724, 0, " "], [69725, 0, "v"], [69726, 0, "a"], [69727, 0, "l"], [69728, 0, "i"], [69729, 0, "d"], [69730, 0, " "], [69731, 0, "e"], [69732, 0, "x"], [69733, 0, "e"], [69734, 0, "c"], [69735, 0, "u"], [69736, 0, "t"], [69737, 0, "i"], [69738, 0, "o"], [69739, 0, "n"], [69740, 0, ","], [69741, 0, " "], [69742, 0, "i"], [69743, 0, "f"], [69744, 0, " "], [69745, 0, "$"], [69746, 0, "A"], [69747, 0, "_"], [69748, 0, "p"], [69749, 0, "("], [69750, 0, "\\"], [69751, 0, "m"], [69752, 0, "a"], [69753, 0, "t"], [69754, 0, "h"], [69755, 0, "s"], [69756, 0, "f"], [69757, 0, "{"], [69758, 0, "o"], [69759, 0, "p"], [69760, 0, "s"], [69761, 0, "}"], [69762, 0, ")"], [69763, 0, " "], [69764, 0, "="], [69765, 0, " "], [69766, 0, "$"], [69766, 1], [69766, 0, "A"], [69767, 0, "_"], [69768, 0, "q"], [69769, 0, "("], [69770, 0, "\\"], [69771, 0, "m"], [69772, 0, "a"], [69773, 0, "t"], [69774, 0, "h"], [69775, 0, "s"], [69776, 0, "f"], [69777, 0, "{"], [69778, 0, "o"], [69779, 0, "p"], [69780, 0, "s"], [69781, 0, "}"], [69782, 0, ")"], [69783, 0, "$"], [69784, 0, ","], [69785, 0, " "], [69786, 0, "t"], [69787, 0, "h"], [69788, 0, "e"], [69789, 0, "n"], [69790, 0, " "], [69791, 0, "$"], [69792, 0, "p"], [69793, 0, "$"], [69794, 0, " "], [69795, 0, "a"], [69796, 0, "n"], [69797, 0, "d"], [69798, 0, " "], [69799, 0, "$"], [69800, 0, "q"], [69801, 0, "$"], [69802, 0, " "], [69803, 0, "h"], [69804, 0, "a"], [69805, 0, "v"], [69806, 0, "e"], [69807, 0, " "], [69808, 0, "t"], [69809, 0, "h"], [69810, 0, "e"], [69811, 0, " "], [69812, 0, "s"], [69813, 0, "a"], [69814, 0, "m"], [69815, 0, "e"], [69816, 0, " "], [69817, 0, "d"], [69818, 0, "o"], [69819, 0, "c"], [69820, 0, "u"], [69821, 0, "m"], [69822, 0, "e"], [69823, 0, "n"], [69824, 0, "t"], [69825, 0, " "], [69826, 0, "s"], [69827, 0, "t"], [69828, 0, "a"], [69829, 0, "t"], [69830, 0, "e"], [69831, 0, "."], [69847, 0, "\n"], [69848, 0, "\n"], [69849, 0, "T"], [69850, 0, "h"], [69851, 0, "i"], [69852, 0, "s"], [69853, 0, " "], [69854, 0, "t"], [69855, 0, "h"], [69856, 0, "e"], [69857, 0, "o"], [69858, 0, "r"], [69859, 0, "e"], [69860, 0, "m"], [69861, 0, " "], [69862, 0, "i"], [69863, 0, "s"], [69864, 0, " "], [69865, 0, "p"], [69866, 0, "r"], [69867, 0, "o"], [69868, 0, "v"], [69869, 0, "e"], [69870, 0, "d"], [69871, 0, " "], [69872, 0, "i"], [69873, 0, "n"], [69874, 0, " "], [69875, 0, "t"], [69876, 0, "h"], [69877, 0, "e"], [69878, 0, " "], [69879, 0, "a"], [69880, 0, "p"], [69881, 0, "p"], [69882, 0, "e"], [69883, 0, "n"], [69884, 0, "d"], [69885, 0, "i"], [69886, 0, "x"], [69887, 0, "."], [69888, 0, " "], [69889, 0, "I"], [69890, 0, "t"], [69891, 0, " "], [69892, 0, "f"], [69893, 0, "o"], [69894, 0, "r"], [69895, 0, "m"], [69896, 0, "a"], [69897, 0, "l"], [69898, 0, "i"], [69899, 0, "z"], [69900, 0, "e"], [69901, 0, "s"], [69902, 0, " "], [69903, 0, "t"], [69904, 0, "h"], [69905, 0, "e"], [69906, 0, " "], [69907, 0, "s"], [69908, 0, "a"], [69909, 0, "f"], [69910, 0, "e"], [69911, 0, "t"], [69912, 0, "y"], [69913, 0, " "], [69914, 0, "p"], [69915, 0, "r"], [69916, 0, "o"], [69917, 0, "p"], [69918, 0, "e"], [69919, 0, "r"], [69920, 0, "t"], [69921, 0, "y"], [69922, 0, " "], [69923, 0, "o"], [69924, 0, "f"], [69925, 0, " "], [69926, 0, "c"], [69927, 0, "o"], [69928, 0, "n"], [69929, 0, "v"], [69930, 0, "e"], [69931, 0, "r"], [69932, 0, "g"], [69933, 0, "e"], [69934, 0, "n"], [69935, 0, "c"], [69936, 0, "e"], [69937, 0, ":"], [69938, 0, " "], [69939, 0, "i"], [69940, 0, "f"], [69941, 0, " "], [69942, 0, "t"], [69943, 0, "w"], [69944, 0, "o"], [69945, 0, " "], [69946, 0, "r"], [69947, 0, "e"], [69948, 0, "p"], [69949, 0, "l"], [69950, 0, "i"], [69951, 0, "c"], [69952, 0, "a"], [69953, 0, "s"], [69954, 0, " "], [69955, 0, "h"], [69956, 0, "a"], [69957, 0, "v"], [69958, 0, "e"], [69959, 0, " "], [69960, 0, "p"], [69961, 0, "r"], [69962, 0, "o"], [69963, 0, "c"], [69964, 0, "e"], [69965, 0, "s"], [69966, 0, "s"], [69967, 0, "e"], [69968, 0, "d"], [69969, 0, " "], [69970, 0, "t"], [69971, 0, "h"], [69972, 0, "e"], [69973, 0, " "], [69974, 0, "s"], [69975, 0, "a"], [69976, 0, "m"], [69977, 0, "e"], [69978, 0, " "], [69979, 0, "s"], [69980, 0, "e"], [69981, 0, "t"], [69982, 0, " "], [69983, 0, "o"], [69984, 0, "f"], [69985, 0, " "], [69986, 0, "o"], [69987, 0, "p"], [69988, 0, "e"], [69989, 0, "r"], [69990, 0, "a"], [69991, 0, "t"], [69992, 0, "i"], [69993, 0, "o"], [69994, 0, "n"], [69995, 0, "s"], [69996, 0, ","], [69997, 0, " "], [69998, 0, "p"], [69999, 0, "o"], [70000, 0, "s"], [70001, 0, "s"], [70002, 0, "i"], [70003, 0, "b"], [70004, 0, "l"], [70005, 0, "y"], [70006, 0, " "], [70007, 0, "i"], [70008, 0, "n"], [70009, 0, " "], [70010, 0, "a"], [70011, 0, " "], [70012, 0, "d"], [70013, 0, "i"], [70014, 0, "f"], [70015, 0, "f"], [70016, 0, "e"], [70017, 0, "r"], [70018, 0, "e"], [70019, 0, "n"], [70020, 0, "t"], [70021, 0, " "], [70022, 0, "o"], [70023, 0, "r"], [70024, 0, "d"], [70025, 0, "e"], [70026, 0, "r"], [70027, 0, ","], [70028, 0, " "], [70029, 0, "t"], [70030, 0, "h"], [70031, 0, "e"], [70032, 0, "n"], [70033, 0, " "], [70034, 0, "t"], [70035, 0, "h"], [70036, 0, "e"], [70037, 0, "y"], [70038, 0, " "], [70039, 0, "a"], [70040, 0, "r"], [70041, 0, "e"], [70042, 0, " "], [70043, 0, "i"], [70044, 0, "n"], [70045, 0, " "], [70046, 0, "t"], [70047, 0, "h"], [70048, 0, "e"], [70049, 0, " "], [70050, 0, "s"], [70051, 0, "a"], [70052, 0, "m"], [70053, 0, "e"], [70054, 0, " "], [70055, 0, "s"], [70056, 0, "t"], [70057, 0, "a"], [70058, 0, "t"], [70059, 0, "e"], [70060, 0, "."], [70061, 0, " "], [70062, 0, "I"], [70063, 0, "t"], [70064, 0, " "], [70065, 0, "n"], [70066, 0, "e"], [70067, 0, "e"], [70068, 0, "d"], [70069, 0, "s"], [70070, 0, " "], [70071, 0, "t"], [70072, 0, "o"], [70073, 0, " "], [70074, 0, "b"], [70075, 0, "e"], [70076, 0, " "], [70077, 0, "c"], [70078, 0, "o"], [70079, 0, "u"], [70080, 0, "p"], [70081, 0, "l"], [70082, 0, "e"], [70083, 0, "d"], [70084, 0, " "], [70085, 0, "w"], [70086, 0, "i"], [70087, 0, "t"], [70088, 0, "h"], [70089, 0, " "], [70090, 0, "a"], [70091, 0, " "], [70092, 0, "l"], [70093, 0, "i"], [70094, 0, "v"], [70095, 0, "e"], [70096, 0, "n"], [70097, 0, "e"], [70098, 0, "s"], [70099, 0, "s"], [70100, 0, " "], [70101, 0, "p"], [70102, 0, "r"], [70103, 0, "o"], [70104, 0, "p"], [70105, 0, "e"], [70106, 0, "r"], [70107, 0, "t"], [70108, 0, "y"], [70109, 0, ","], [70110, 0, " "], [70111, 0, "n"], [70112, 0, "a"], [70113, 0, "m"], [70114, 0, "e"], [70115, 0, "l"], [70116, 0, "y"], [70117, 0, " "], [70118, 0, "t"], [70119, 0, "h"], [70120, 0, "a"], [70121, 0, "t"], [70122, 0, " "], [70083, 1], [70082, 1], [70081, 1], [70080, 1], [70079, 1], [70078, 1], [70077, 1], [70076, 1], [70075, 1], [70074, 1], [70073, 1], [70072, 1], [70071, 1], [70070, 1], [70069, 1], [70068, 1], [70067, 1], [70066, 1], [70065, 1], [70064, 1], [70063, 1], [70063, 0, "n"], [70064, 0, " "], [70065, 0, "c"], [70066, 0, "o"], [70067, 0, "m"], [70068, 0, "b"], [70069, 0, "i"], [70070, 0, "n"], [70071, 0, "a"], [70072, 0, "t"], [70073, 0, "i"], [70074, 0, "o"], [70075, 0, "n"], [70115, 0, "e"], [70116, 0, "v"], [70117, 0, "e"], [70118, 0, "r"], [70119, 0, "y"], [70120, 0, " "], [70121, 0, "r"], [70122, 0, "e"], [70123, 0, "p"], [70124, 0, "l"], [70125, 0, "i"], [70126, 0, "c"], [70127, 0, "a"], [70128, 0, " "], [70129, 0, "e"], [70130, 0, "v"], [70131, 0, "e"], [70132, 0, "n"], [70133, 0, "t"], [70134, 0, "u"], [70135, 0, "a"], [70136, 0, "l"], [70137, 0, "l"], [70138, 0, "y"], [70139, 0, " "], [70140, 0, "p"], [70141, 0, "r"], [70142, 0, "o"], [70143, 0, "c"], [70144, 0, "e"], [70145, 0, "s"], [70146, 0, "s"], [70147, 0, "e"], [70148, 0, "s"], [70149, 0, " "], [70150, 0, "a"], [70151, 0, "l"], [70152, 0, "l"], [70153, 0, " "], [70154, 0, "o"], [70155, 0, "p"], [70156, 0, "e"], [70157, 0, "r"], [70158, 0, "a"], [70159, 0, "t"], [70160, 0, "i"], [70161, 0, "o"], [70162, 0, "n"], [70163, 0, "s"], [70164, 0, ","], [70165, 0, " "], [70166, 0, "w"], [70167, 0, "e"], [70168, 0, " "], [70169, 0, "o"], [70170, 0, "b"], [70171, 0, "t"], [70172, 0, "a"], [70173, 0, "i"], [70174, 0, "n"], [70175, 0, " "], [70176, 0, "t"], [70177, 0, "h"], [70178, 0, "e"], [70179, 0, " "], [70180, 0, "d"], [70181, 0, "e"], [70182, 0, "s"], [70183, 0, "i"], [70184, 0, "r"], [70185, 0, "e"], [70186, 0, "d"], [70187, 0, " "], [70188, 0, "n"], [70189, 0, "o"], [70190, 0, "t"], [70191, 0, "i"], [70192, 0, "o"], [70193, 0, "n"], [70194, 0, " "], [70195, 0, "o"], [70196, 0, "f"], [70197, 0, " "], [70198, 0, "c"], [70199, 0, "o"], [70200, 0, "n"], [70201, 0, "v"], [70202, 0, "e"], [70203, 0, "r"], [70204, 0, "g"], [70205, 0, "e"], [70206, 0, "n"], [70207, 0, "c"], [70208, 0, "e"], [70209, 0, ":"], [70210, 0, " "], [70211, 0, "a"], [70212, 0, "l"], [70213, 0, "l"], [70214, 0, " "], [70215, 0, "r"], [70216, 0, "e"], [70217, 0, "p"], [70218, 0, "l"], [70219, 0, "i"], [70220, 0, "c"], [70221, 0, "a"], [70222, 0, "s"], [70223, 0, " "], [70224, 0, "e"], [70225, 0, "v"], [70226, 0, "e"], [70227, 0, "n"], [70228, 0, "t"], [70229, 0, "u"], [70230, 0, "a"], [70231, 0, "l"], [70232, 0, "l"], [70233, 0, "y"], [70234, 0, " "], [70235, 0, "e"], [70236, 0, "n"], [70237, 0, "d"], [70238, 0, " "], [70239, 0, "u"], [70240, 0, "p"], [70241, 0, " "], [70242, 0, "i"], [70243, 0, "n"], [70244, 0, " "], [70245, 0, "t"], [70246, 0, "h"], [70247, 0, "e"], [70248, 0, " "], [70249, 0, "s"], [70250, 0, "a"], [70251, 0, "m"], [70252, 0, "e"], [70253, 0, " "], [70254, 0, "s"], [70255, 0, "t"], [70256, 0, "a"], [70257, 0, "t"], [70258, 0, "e"], [70259, 0, "."], [70260, 0, "\n"], [70261, 0, "\n"], [70262, 0, "T"], [70263, 0, "h"], [70264, 0, "e"], [70265, 0, " "], [70266, 0, "l"], [70267, 0, "i"], [70268, 0, "v"], [70269, 0, "e"], [70270, 0, "n"], [70271, 0, "e"], [70272, 0, "s"], [70273, 0, "s"], [70274, 0, " "], [70275, 0, "p"], [70276, 0, "r"], [70277, 0, "o"], [70278, 0, "p"], [70279, 0, "e"], [70280, 0, "r"], [70281, 0, "t"], [70282, 0, "y"], [70283, 0, " "], [70284, 0, "d"], [70285, 0, "e"], [70286, 0, "p"], [70287, 0, "e"], [70288, 0, "n"], [70289, 0, "d"], [70290, 0, "s"], [70291, 0, " "], [70292, 0, "o"], [70293, 0, "n"], [70294, 0, " "], [70295, 0, "a"], [70296, 0, "s"], [70297, 0, "s"], [70298, 0, "u"], [70299, 0, "m"], [70300, 0, "p"], [70301, 0, "t"], [70302, 0, "i"], [70303, 0, "o"], [70304, 0, "n"], [70305, 0, "s"], [70306, 0, " "], [70307, 0, "o"], [70308, 0, "f"], [70309, 0, " "], [70310, 0, "r"], [70311, 0, "e"], [70312, 0, "p"], [70313, 0, "l"], [70314, 0, "i"], [70315, 0, "c"], [70316, 0, "a"], [70317, 0, "s"], [70318, 0, " "], [70319, 0, "i"], [70320, 0, "n"], [70321, 0, "v"], [70322, 0, "o"], [70323, 0, "k"], [70324, 0, "i"], [70325, 0, "n"], [70326, 0, "g"], [70327, 0, " "], [70328, 0, "\\"], [70329, 0, "m"], [70330, 0, "a"], [70330, 1], [70329, 1], [70329, 0, "t"], [70330, 0, "e"], [70331, 0, "x"], [70332, 0, "t"], [70333, 0, "s"], [70334, 0, "f"], [70335, 0, "{"], [70336, 0, "y"], [70337, 0, "i"], [70338, 0, "e"], [70339, 0, "l"], [70340, 0, "d"], [70341, 0, "}"], [70342, 0, " "], [70343, 0, "s"], [70344, 0, "u"], [70345, 0, "f"], [70346, 0, "f"], [70347, 0, "i"], [70348, 0, "c"], [70349, 0, "i"], [70350, 0, "e"], [70351, 0, "n"], [70352, 0, "t"], [70353, 0, "l"], [70354, 0, "y"], [70355, 0, " "], [70356, 0, "o"], [70357, 0, "f"], [70358, 0, "t"], [70359, 0, "e"], [70360, 0, "n"], [70361, 0, ","], [70362, 0, " "], [70363, 0, "a"], [70364, 0, "n"], [70365, 0, "d"], [70366, 0, " "], [70367, 0, "a"], [70368, 0, "l"], [70369, 0, "l"], [70370, 0, " "], [70371, 0, "n"], [70372, 0, "o"], [70373, 0, "n"], [70374, 0, "d"], [70375, 0, "e"], [70376, 0, "t"], [70377, 0, "e"], [70378, 0, "r"], [70379, 0, "m"], [70380, 0, "i"], [70381, 0, "n"], [70382, 0, "i"], [70383, 0, "s"], [70384, 0, "t"], [70385, 0, "i"], [70386, 0, "c"], [70387, 0, " "], [70388, 0, "r"], [70389, 0, "u"], [70390, 0, "l"], [70391, 0, "e"], [70392, 0, "s"], [70393, 0, " "], [70394, 0, "f"], [70395, 0, "o"], [70396, 0, "r"], [70397, 0, " "], [70398, 0, "t"], [70399, 0, "e"], [70400, 0, "x"], [70400, 1], [70399, 1], [70398, 1], [70398, 0, "\\"], [70399, 0, "t"], [70400, 0, "e"], [70401, 0, "x"], [70402, 0, "t"], [70403, 0, "s"], [70404, 0, "f"], [70405, 0, "{"], [70406, 0, "y"], [70407, 0, "i"], [70408, 0, "e"], [70409, 0, "l"], [70410, 0, "d"], [70411, 0, "}"], [70412, 0, " "], [70413, 0, "b"], [70414, 0, "e"], [70415, 0, "i"], [70416, 0, "n"], [70417, 0, "g"], [70418, 0, " "], [70419, 0, "c"], [70420, 0, "h"], [70421, 0, "o"], [70422, 0, "s"], [70423, 0, "e"], [70424, 0, "n"], [70425, 0, " "], [70426, 0, "f"], [70427, 0, "a"], [70428, 0, "i"], [70429, 0, "r"], [70430, 0, "l"], [70431, 0, "y"], [70432, 0, "."], [70433, 0, " "], [70434, 0, "W"], [70435, 0, "e"], [70436, 0, " "], [70437, 0, "w"], [70438, 0, "i"], [70439, 0, "l"], [70440, 0, "l"], [70441, 0, " "], [70442, 0, "n"], [70443, 0, "o"], [70444, 0, "t"], [70445, 0, " "], [70446, 0, "f"], [70447, 0, "o"], [70448, 0, "r"], [70449, 0, "m"], [70450, 0, "a"], [70451, 0, "l"], [70452, 0, "i"], [70453, 0, "z"], [70454, 0, "e"], [70455, 0, " "], [70456, 0, "t"], [70457, 0, "h"], [70458, 0, "e"], [70459, 0, " "], [70460, 0, "l"], [70461, 0, "i"], [70462, 0, "v"], [70463, 0, "e"], [70464, 0, "n"], [70465, 0, "e"], [70466, 0, "s"], [70467, 0, "s"], [70468, 0, " "], [70469, 0, "p"], [70470, 0, "r"], [70471, 0, "o"], [70472, 0, "p"], [70473, 0, "e"], [70474, 0, "r"], [70475, 0, "t"], [70476, 0, "y"], [70477, 0, " "], [70478, 0, "i"], [70479, 0, "n"], [70480, 0, " "], [70481, 0, "t"], [70482, 0, "h"], [70483, 0, "i"], [70484, 0, "s"], [70485, 0, " "], [70486, 0, "p"], [70487, 0, "a"], [70488, 0, "p"], [70489, 0, "e"], [70490, 0, "r"], [70491, 0, ","], [70492, 0, " "], [70493, 0, "b"], [70494, 0, "u"], [70495, 0, "t"], [70496, 0, " "], [70497, 0, "a"], [70498, 0, "s"], [70499, 0, "s"], [70500, 0, "e"], [70501, 0, "r"], [70502, 0, "t"], [70503, 0, " "], [70504, 0, "t"], [70505, 0, "h"], [70506, 0, "a"], [70507, 0, "t"], [70508, 0, " "], [70509, 0, "i"], [70510, 0, "t"], [70511, 0, " "], [70512, 0, "c"], [70513, 0, "a"], [70514, 0, "n"], [70515, 0, " "], [70516, 0, "b"], [70517, 0, "e"], [70518, 0, " "], [70519, 0, "p"], [70520, 0, "r"], [70521, 0, "o"], [70522, 0, "v"], [70523, 0, "i"], [70524, 0, "d"], [70525, 0, "e"], [70526, 0, "d"], [70527, 0, " "], [70528, 0, "i"], [70529, 0, "n"], [70530, 0, " "], [70531, 0, "p"], [70532, 0, "r"], [70533, 0, "a"], [70534, 0, "c"], [70535, 0, "t"], [70536, 0, "i"], [70537, 0, "c"], [70538, 0, "e"], [70539, 0, ","], [70540, 0, " "], [70541, 0, "a"], [70542, 0, "s"], [70543, 0, " "], [70544, 0, "n"], [70545, 0, "e"], [70546, 0, "t"], [70547, 0, "w"], [70548, 0, "o"], [70549, 0, "r"], [70550, 0, "k"], [70551, 0, " "], [70552, 0, "i"], [70553, 0, "n"], [70554, 0, "t"], [70555, 0, "e"], [70556, 0, "r"], [70557, 0, "r"], [70558, 0, "u"], [70559, 0, "p"], [70560, 0, "t"], [70561, 0, "i"], [70562, 0, "o"], [70563, 0, "n"], [70564, 0, "s"], [70565, 0, " "], [70566, 0, "a"], [70567, 0, "r"], [70568, 0, "e"], [70569, 0, " "], [70570, 0, "u"], [70571, 0, "s"], [70572, 0, "u"], [70573, 0, "a"], [70574, 0, "l"], [70575, 0, "l"], [70576, 0, "y"], [70577, 0, " "], [70578, 0, "o"], [70579, 0, "f"], [70580, 0, " "], [70581, 0, "f"], [70582, 0, "i"], [70583, 0, "n"], [70584, 0, "i"], [70585, 0, "t"], [70586, 0, "e"], [70587, 0, " "], [70588, 0, "d"], [70589, 0, "u"], [70590, 0, "r"], [70591, 0, "a"], [70592, 0, "t"], [70593, 0, "i"], [70594, 0, "o"], [70595, 0, "n"], [70596, 0, "."], [70512, 0, "u"], [70513, 0, "s"], [70514, 0, "u"], [70515, 0, "a"], [70516, 0, "l"], [70517, 0, "l"], [70518, 0, "y"], [70519, 0, " "], [70519, 1], [70518, 1], [70517, 1], [70516, 1], [70515, 1], [70514, 1], [70513, 1], [70512, 1], [70515, 0, " "], [70516, 0, "u"], [70517, 0, "s"], [70518, 0, "u"], [70519, 0, "a"], [70520, 0, "l"], [70521, 0, "l"], [70522, 0, "y"], [69650, 0, "\n"], [69651, 0, "\n"], [69652, 0, "\\"], [69653, 0, "b"], [69654, 0, "e"], [69655, 0, "g"], [69656, 0, "i"], [69657, 0, "n"], [69658, 0, "{"], [69659, 0, "d"], [69660, 0, "e"], [69661, 0, "f"], [69662, 0, "i"], [69663, 0, "n"], [69664, 0, "i"], [69665, 0, "t"], [69666, 0, "i"], [69667, 0, "o"], [69668, 0, "n"], [69669, 0, "}"], [69670, 0, "\n"], [69671, 0, "\\"], [69672, 0, "e"], [69673, 0, "n"], [69674, 0, "d"], [69675, 0, "{"], [69676, 0, "d"], [69677, 0, "e"], [69678, 0, "f"], [69679, 0, "i"], [69680, 0, "n"], [69681, 0, "i"], [69682, 0, "t"], [69683, 0, "i"], [69684, 0, "o"], [69685, 0, "n"], [69686, 0, "}"], [69670, 0, "\n"], [69671, 0, "T"], [69672, 0, "h"], [69673, 0, "e"], [69674, 0, " "], [69675, 0, "\\"], [69676, 0, "m"], [69676, 1], [69676, 0, "e"], [69677, 0, "m"], [69678, 0, "p"], [69679, 0, "h"], [69680, 0, "{"], [69681, 0, "d"], [69682, 0, "o"], [69683, 0, "c"], [69684, 0, "u"], [69685, 0, "m"], [69686, 0, "e"], [69687, 0, "n"], [69688, 0, "t"], [69689, 0, " "], [69690, 0, "s"], [69691, 0, "t"], [69692, 0, "a"], [69693, 0, "t"], [69694, 0, "e"], [69695, 0, "}"], [69696, 0, " "], [69697, 0, "o"], [69698, 0, "f"], [69699, 0, " "], [69700, 0, "a"], [69701, 0, " "], [69702, 0, "r"], [69703, 0, "e"], [69704, 0, "p"], [69705, 0, "l"], [69706, 0, "i"], [69707, 0, "c"], [69708, 0, "a"], [69709, 0, " "], [69710, 0, "$"], [69711, 0, "p"], [69712, 0, "$"], [69713, 0, " "], [69714, 0, "i"], [69715, 0, "s"], [69716, 0, " "], [69717, 0, "t"], [69718, 0, "h"], [69719, 0, "e"], [69720, 0, " "], [69721, 0, "s"], [69722, 0, "u"], [69723, 0, "b"], [69724, 0, "t"], [69725, 0, "r"], [69726, 0, "e"], [69727, 0, "e"], [69728, 0, " "], [69729, 0, "o"], [69730, 0, "f"], [69731, 0, " "], [69732, 0, "$"], [69733, 0, "A"], [69734, 0, "_"], [69735, 0, "p"], [69736, 0, "$"], [69737, 0, " "], [69738, 0, "c"], [69739, 0, "o"], [69740, 0, "n"], [69741, 0, "t"], [69742, 0, "a"], [69743, 0, "i"], [69744, 0, "n"], [69745, 0, "i"], [69746, 0, "n"], [69747, 0, "g"], [69748, 0, " "], [69749, 0, "t"], [69750, 0, "h"], [69751, 0, "e"], [69752, 0, " "], [69753, 0, "d"], [69754, 0, "o"], [69755, 0, "c"], [69756, 0, "u"], [69757, 0, "m"], [69758, 0, "e"], [69759, 0, "n"], [69760, 0, "t"], [69761, 0, " "], [69761, 1], [69761, 0, ":"], [69762, 0, " "], [69763, 0, "t"], [69764, 0, "h"], [69765, 0, "a"], [69766, 0, "t"], [69767, 0, " "], [69768, 0, "i"], [69769, 0, "s"], [69770, 0, ","], [69771, 0, " "], [69772, 0, "$"], [69773, 0, "A"], [69774, 0, "_"], [69775, 0, "p"], [69776, 0, "("], [69777, 0, "\\"], [69778, 0, "m"], [69779, 0, "a"], [69780, 0, "t"], [69781, 0, "h"], [69782, 0, "s"], [69783, 0, "f"], [69784, 0, "{"], [69785, 0, "m"], [69786, 0, "a"], [69787, 0, "p"], [69788, 0, "T"], [69789, 0, "}"], [69790, 0, "("], [69791, 0, "\\"], [69792, 0, "m"], [69793, 0, "a"], [69794, 0, "t"], [69795, 0, "h"], [69796, 0, "s"], [69797, 0, "f"], [69798, 0, "{"], [69799, 0, "d"], [69800, 0, "o"], [69801, 0, "c"], [69802, 0, "}"], [69803, 0, ")"], [69804, 0, "$"], [69805, 0, " "], [69806, 0, "o"], [69807, 0, "r"], [69808, 0, " "], [69809, 0, "$"], [69810, 0, "A"], [69811, 0, "_"], [69812, 0, "p"], [69813, 0, "("], [69814, 0, "\\"], [69815, 0, "m"], [69816, 0, "a"], [69817, 0, "t"], [69818, 0, "h"], [69819, 0, "s"], [69820, 0, "f"], [69821, 0, "{"], [69822, 0, "l"], [69823, 0, "i"], [69824, 0, "s"], [69825, 0, "t"], [69826, 0, "T"], [69827, 0, "}"], [69828, 0, "("], [69829, 0, "\\"], [69830, 0, "m"], [69831, 0, "a"], [69832, 0, "t"], [69833, 0, "h"], [69834, 0, "s"], [69835, 0, "f"], [69836, 0, "{"], [69837, 0, "d"], [69838, 0, "o"], [69839, 0, "c"], [69840, 0, "}"], [69841, 0, ")"], [69842, 0, "$"], [69843, 0, " "], [69844, 0, "o"], [69845, 0, "r"], [69846, 0, " "], [69847, 0, "$"], [69848, 0, "A"], [69849, 0, "_"], [69850, 0, "p"], [69851, 0, "("], [69852, 0, "\\"], [69853, 0, "m"], [69854, 0, "a"], [69855, 0, "t"], [69856, 0, "h"], [69857, 0, "s"], [69858, 0, "f"], [69859, 0, "{"], [69860, 0, "r"], [69861, 0, "e"], [69862, 0, "g"], [69863, 0, "T"], [69864, 0, "}"], [69865, 0, "("], [69866, 0, "\\"], [69867, 0, "m"], [69868, 0, "a"], [69869, 0, "t"], [69870, 0, "h"], [69871, 0, "s"], [69872, 0, "f"], [69873, 0, "{"], [69874, 0, "d"], [69875, 0, "o"], [69876, 0, "c"], [69877, 0, "}"], [69878, 0, ")"], [69879, 0, "$"], [69880, 0, ","], [69881, 0, " "], [69882, 0, "w"], [69883, 0, "h"], [69884, 0, "c"], [69884, 1], [69884, 0, "i"], [69885, 0, "c"], [69886, 0, "h"], [69887, 0, "e"], [69888, 0, "v"], [69889, 0, "e"], [69890, 0, "r"], [69891, 0, " "], [69892, 0, "i"], [69893, 0, "s"], [69894, 0, " "], [69895, 0, "d"], [69896, 0, "e"], [69897, 0, "f"], [69898, 0, "i"], [69899, 0, "n"], [69900, 0, "e"], [69901, 0, "d"], [69902, 0, "."], [69920, 0, "\n"], [69921, 0, "\n"], [69922, 0, "T"], [69923, 0, "h"], [69924, 0, "e"], [69925, 0, " "], [69926, 0, "d"], [69927, 0, "o"], [69928, 0, "c"], [69929, 0, "u"], [69930, 0, "m"], [69931, 0, "e"], [69932, 0, "n"], [69933, 0, "t"], [69934, 0, " "], [69935, 0, "s"], [69936, 0, "t"], [69937, 0, "a"], [69938, 0, "t"], [69939, 0, "e"], [69940, 0, " "], [69941, 0, "e"], [69942, 0, "x"], [69943, 0, "c"], [69944, 0, "l"], [69945, 0, "u"], [69946, 0, "d"], [69947, 0, "e"], [69948, 0, "s"], [69949, 0, " "], [69950, 0, "a"], [69951, 0, "n"], [69952, 0, "y"], [69953, 0, " "], [69954, 0, "v"], [69955, 0, "a"], [69956, 0, "r"], [69957, 0, "i"], [69958, 0, "a"], [69959, 0, "b"], [69960, 0, "l"], [69961, 0, "e"], [69962, 0, "s"], [69963, 0, " "], [69964, 0, "d"], [69965, 0, "e"], [69966, 0, "f"], [69967, 0, "i"], [69968, 0, "n"], [69969, 0, "e"], [69970, 0, "d"], [69971, 0, " "], [69972, 0, "w"], [69973, 0, "i"], [69974, 0, "t"], [69975, 0, "h"], [69976, 0, " "], [69977, 0, "\\"], [69978, 0, "m"], [69979, 0, "a"], [69980, 0, "t"], [69981, 0, "h"], [69981, 1], [69980, 1], [69979, 1], [69978, 1], [69978, 0, "t"], [69979, 0, "e"], [69980, 0, "x"], [69981, 0, "t"], [69982, 0, "s"], [69983, 0, "f"], [69984, 0, "{"], [69985, 0, "l"], [69986, 0, "e"], [69987, 0, "t"], [69988, 0, "}"], [69989, 0, ","], [69990, 0, " "], [69991, 0, "s"], [69992, 0, "i"], [69993, 0, "n"], [69994, 0, "c"], [69995, 0, "e"], [69996, 0, " "], [69997, 0, "t"], [69998, 0, "h"], [69999, 0, "e"], [70000, 0, "y"], [70001, 0, " "], [70002, 0, "a"], [70003, 0, "r"], [70004, 0, "e"], [70005, 0, " "], [70006, 0, "l"], [70007, 0, "o"], [70008, 0, "c"], [70009, 0, "a"], [70010, 0, "l"], [70011, 0, " "], [70012, 0, "t"], [70013, 0, "o"], [70014, 0, " "], [70015, 0, "o"], [70016, 0, "n"], [70017, 0, "e"], [70018, 0, " "], [70019, 0, "r"], [70020, 0, "e"], [70021, 0, "p"], [70022, 0, "l"], [70023, 0, "i"], [70024, 0, "c"], [70025, 0, "a"], [70026, 0, ","], [70027, 0, " "], [70028, 0, "a"], [70029, 0, "n"], [70030, 0, "d"], [70031, 0, " "], [70032, 0, "n"], [70033, 0, "o"], [70034, 0, "t"], [70035, 0, " "], [70036, 0, "p"], [70037, 0, "a"], [70038, 0, "r"], [70039, 0, "t"], [70040, 0, " "], [70041, 0, "o"], [70042, 0, "f"], [70043, 0, " "], [70044, 0, "t"], [70045, 0, "h"], [70046, 0, "e"], [70047, 0, " "], [70048, 0, "s"], [70049, 0, "t"], [70050, 0, "a"], [70051, 0, "t"], [70052, 0, "e"], [70053, 0, " "], [70054, 0, "t"], [70055, 0, "h"], [70056, 0, "a"], [70057, 0, "t"], [70058, 0, " "], [70059, 0, "i"], [70060, 0, "s"], [70061, 0, " "], [70062, 0, "r"], [70063, 0, "e"], [70064, 0, "p"], [70065, 0, "l"], [70066, 0, "i"], [70067, 0, "c"], [70068, 0, "a"], [70069, 0, "t"], [70070, 0, "e"], [70071, 0, "d"], [70072, 0, "."], [70047, 0, " "], [70048, 0, "r"], [70049, 0, "e"], [70050, 0, "p"], [70051, 0, "l"], [70052, 0, "i"], [70053, 0, "c"], [70054, 0, "a"], [70055, 0, "t"], [70056, 0, "e"], [70057, 0, "d"], [70082, 1], [70081, 1], [70080, 1], [70079, 1], [70078, 1], [70077, 1], [70076, 1], [70075, 1], [70074, 1], [70073, 1], [70072, 1], [70071, 1], [70070, 1], [70069, 1], [70068, 1], [70067, 1], [70066, 1], [70065, 1], [70064, 1], [69952, 1], [69951, 1], [69950, 1], [69949, 1], [69948, 1], [69947, 1], [69946, 1], [69945, 1], [69944, 1], [69943, 1], [69942, 1], [69941, 1], [69940, 1], [69939, 1], [69938, 1], [69937, 1], [69936, 1], [69935, 1], [69934, 1], [69933, 1], [69932, 1], [69931, 1], [69930, 1], [69929, 1], [69928, 1], [69927, 1], [69926, 1], [69925, 1], [69924, 1], [69923, 1], [69922, 1], [69922, 0, "$"], [69923, 0, "A"], [69924, 0, "_"], [69925, 0, "p"], [69926, 0, "$"], [69922, 0, "W"], [69923, 0, "e"], [69924, 0, " "], [69925, 0, "n"], [69926, 0, "e"], [69927, 0, "e"], [69928, 0, "d"], [69929, 0, " "], [69930, 0, "t"], [69931, 0, "h"], [69932, 0, "i"], [69933, 0, "s"], [69934, 0, " "], [69935, 0, "d"], [69936, 0, "e"], [69937, 0, "f"], [69938, 0, "i"], [69939, 0, "n"], [69940, 0, "i"], [69941, 0, "t"], [69942, 0, "i"], [69943, 0, "o"], [69944, 0, "n"], [69945, 0, " "], [69946, 0, "b"], [69947, 0, "e"], [69948, 0, "c"], [69949, 0, "a"], [69950, 0, "u"], [69951, 0, "s"], [69952, 0, "e"], [69953, 0, " "], [69959, 0, " "], [69960, 0, "c"], [69961, 0, "o"], [69962, 0, "n"], [69963, 0, "t"], [69964, 0, "a"], [69965, 0, "i"], [69966, 0, "n"], [69967, 0, "s"], [70015, 1], [70014, 1], [70013, 1], [70012, 1], [70011, 1], [70010, 1], [70009, 1], [70008, 1], [70007, 1], [70006, 1], [70006, 0, "w"], [70007, 0, "h"], [70008, 0, "i"], [70009, 0, "c"], [70010, 0, "h"], [70075, 0, " "], [70076, 0, "T"], [69953, 1], [69952, 1], [69951, 1], [69950, 1], [69949, 1], [69948, 1], [69947, 1], [69946, 1], [69945, 1], [69944, 1], [69943, 1], [69942, 1], [69941, 1], [69940, 1], [69939, 1], [69938, 1], [69937, 1], [69936, 1], [69935, 1], [69934, 1], [69933, 1], [69932, 1], [69931, 1], [69930, 1], [69929, 1], [69928, 1], [69927, 1], [69926, 1], [69925, 1], [69924, 1], [69923, 1], [69922, 1], [70045, 0, "h"], [70046, 0, "e"], [70047, 0, " "], [70048, 0, "d"], [70049, 0, "e"], [70050, 0, "f"], [70051, 0, "i"], [70052, 0, "n"], [70053, 0, "i"], [70054, 0, "t"], [70055, 0, "i"], [70056, 0, "o"], [70057, 0, "n"], [70058, 0, " "], [70059, 0, "o"], [70060, 0, "f"], [70061, 0, " "], [70062, 0, "d"], [70063, 0, "o"], [70064, 0, "c"], [70065, 0, "u"], [70066, 0, "m"], [70067, 0, "e"], [70068, 0, "n"], [70069, 0, "t"], [70070, 0, " "], [70071, 0, "s"], [70072, 0, "t"], [70073, 0, "a"], [70074, 0, "t"], [70075, 0, "e"], [70076, 0, " "], [70077, 0, "e"], [70078, 0, "x"], [70079, 0, "c"], [70080, 0, "l"], [70081, 0, "u"], [70082, 0, "d"], [70083, 0, "e"], [70084, 0, "s"], [70085, 0, " "], [70086, 0, "t"], [70087, 0, "h"], [70088, 0, "e"], [70089, 0, "s"], [70090, 0, "e"], [70091, 0, " "], [70092, 0, "v"], [70093, 0, "a"], [70094, 0, "r"], [70095, 0, "i"], [70096, 0, "a"], [70097, 0, "b"], [70098, 0, "l"], [70099, 0, "e"], [70100, 0, "s"], [70101, 0, "."], [70118, 1], [70296, 1], [70296, 0, "-"], [70297, 0, "u"], [70298, 0, "n"], [70299, 0, "n"], [70300, 0, "u"], [70301, 0, "m"], [70302, 0, "b"], [70303, 0, "e"], [70304, 0, "r"], [70305, 0, "e"], [70306, 0, "d"], [70118, 0, "-"], [70119, 0, "u"], [70119, 1], [70118, 1], [70117, 1], [70116, 1], [70115, 1], [70114, 1], [70113, 1], [70113, 0, "m"], [70114, 0, ":"], [70115, 0, "c"], [70116, 0, "o"], [70117, 0, "n"], [70118, 0, "v"], [70119, 0, "e"], [70120, 0, "r"], [70121, 0, "g"], [70122, 0, "e"], [70123, 0, "n"], [70124, 0, "c"], [70125, 0, "e"], [70314, 1], [70313, 1], [70312, 1], [70311, 1], [70310, 1], [70309, 1], [70308, 1], [70307, 1], [70306, 1], [70305, 1], [70304, 1], [70303, 1], [70302, 1], [70301, 1], [70300, 1], [70299, 1], [70299, 0, "m"], [70300, 0, "-"], [70301, 0, "c"], [70302, 0, "o"], [70303, 0, "n"], [70304, 0, "v"], [70305, 0, "e"], [70306, 0, "r"], [70307, 0, "g"], [70308, 0, "e"], [70309, 0, "n"], [70310, 0, "c"], [70311, 0, "e"], [70312, 0, "-"], [70313, 0, "t"], [70314, 0, "h"], [70315, 0, "m"], [70300, 1], [70299, 1], [70298, 1], [70297, 1], [70114, 1], [70113, 1], [70112, 1], [70111, 1], [70122, 0, "-"], [70123, 0, "t"], [70124, 0, "h"], [70125, 0, "m"], [462, 0, "\n"], [463, 0, "\\"], [464, 0, "n"], [465, 0, "e"], [466, 0, "w"], [467, 0, "t"], [468, 0, "h"], [469, 0, "e"], [470, 0, "o"], [471, 0, "r"], [472, 0, "e"], [473, 0, "m"], [474, 0, "*"], [475, 0, "{"], [476, 0, "c"], [477, 0, "o"], [478, 0, "n"], [479, 0, "v"], [480, 0, "e"], [481, 0, "r"], [482, 0, "g"], [483, 0, "e"], [484, 0, "n"], [485, 0, "c"], [486, 0, "e"], [487, 0, "-"], [488, 0, "t"], [489, 0, "h"], [490, 0, "m"], [491, 0, "}"], [492, 0, "{"], [493, 0, "T"], [494, 0, "h"], [495, 0, "e"], [496, 0, "o"], [497, 0, "r"], [498, 0, "e"], [499, 0, "m"], [500, 0, "}"], [69843, 0, ")"], [69881, 0, ")"], [69919, 0, ")"], [69232, 0, " "], [69233, 0, "a"], [69234, 0, "t"], [69235, 0, " "], [69236, 0, "a"], [69237, 0, " "], [69238, 0, "g"], [69239, 0, "i"], [69240, 0, "v"], [69241, 0, "e"], [69242, 0, "n"], [69243, 0, " "], [69244, 0, "r"], [69245, 0, "e"], [69246, 0, "p"], [69247, 0, "l"], [69248, 0, "i"], [69249, 0, "c"], [69250, 0, "a"], [69573, 1], [69572, 1], [69572, 0, "a"], [69573, 0, "r"], [69574, 0, "e"], [69570, 1], [69570, 0, "i"], [69571, 0, "e"], [69572, 0, "s"], [69563, 1], [69562, 1], [69561, 1], [69560, 1], [71172, 1], [71172, 1], [71172, 1], [71172, 1], [71172, 1], [71172, 1], [71172, 1], [71172, 1], [71172, 1], [71172, 1], [71172, 1], [71172, 1], [71172, 1], [71172, 1], [71172, 1], [71172, 1], [71172, 0, "I"], [71173, 0, "n"], [71174, 0, " "], [71175, 0, "t"], [71176, 0, "h"], [71177, 0, "i"], [71178, 0, "s"], [71179, 0, " "], [71180, 0, "p"], [71181, 0, "a"], [71182, 0, "p"], [71183, 0, "e"], [71184, 0, "r"], [71185, 0, " "], [71186, 0, "w"], [71187, 0, "e"], [71188, 0, " "], [71189, 0, "d"], [71190, 0, "e"], [71191, 0, "m"], [71192, 0, "o"], [71193, 0, "n"], [71194, 0, "s"], [71195, 0, "t"], [71196, 0, "r"], [71197, 0, "a"], [71198, 0, "t"], [71199, 0, "e"], [71200, 0, "d"], [71201, 0, " "], [71202, 0, "h"], [71203, 0, "o"], [71204, 0, "w"], [71205, 0, " "], [71206, 0, "t"], [71207, 0, "o"], [71208, 0, " "], [71209, 0, "c"], [71210, 0, "o"], [71211, 0, "m"], [71212, 0, "p"], [71213, 0, "o"], [71214, 0, "s"], [71215, 0, "e"], [71216, 0, " "], [71217, 0, "C"], [71217, 1], [71217, 0, "C"], [71218, 0, "R"], [71219, 0, "D"], [71220, 0, "T"], [71221, 0, "s"], [71222, 0, " "], [71223, 0, "f"], [71224, 0, "o"], [71225, 0, "r"], [71226, 0, " "], [71227, 0, "o"], [71228, 0, "r"], [71229, 0, "d"], [71230, 0, "e"], [71231, 0, "r"], [71232, 0, "e"], [71233, 0, "d"], [71234, 0, " "], [71235, 0, "l"], [71236, 0, "i"], [71237, 0, "s"], [71238, 0, "t"], [71239, 0, "s"], [71240, 0, ","], [71241, 0, " "], [71242, 0, "m"], [71243, 0, "a"], [71244, 0, "p"], [71245, 0, "s"], [71246, 0, " "], [71247, 0, "a"], [71248, 0, "n"], [71249, 0, "d"], [71250, 0, " "], [71251, 0, "r"], [71252, 0, "e"], [71253, 0, "g"], [71254, 0, "i"], [71255, 0, "s"], [71256, 0, "t"], [71257, 0, "e"], [71258, 0, "r"], [71259, 0, "s"], [71260, 0, " "], [71261, 0, "i"], [71262, 0, "n"], [71263, 0, "t"], [71264, 0, "o"], [71265, 0, " "], [71266, 0, "a"], [71267, 0, " "], [71268, 0, "c"], [71269, 0, "o"], [71270, 0, "m"], [71271, 0, "p"], [71272, 0, "o"], [71273, 0, "u"], [71274, 0, "n"], [71275, 0, "d"], [71276, 0, " "], [71277, 0, "C"], [71278, 0, "R"], [71279, 0, "D"], [71280, 0, "T"], [71281, 0, " "], [71282, 0, "w"], [71283, 0, "i"], [71284, 0, "t"], [71285, 0, "h"], [71286, 0, " "], [71287, 0, "a"], [71288, 0, " "], [71289, 0, "J"], [71290, 0, "S"], [71291, 0, "O"], [71292, 0, "N"], [71293, 0, " "], [71294, 0, "d"], [71295, 0, "a"], [71296, 0, "t"], [71297, 0, "a"], [71298, 0, " "], [71299, 0, "m"], [71300, 0, "o"], [71301, 0, "d"], [71302, 0, "e"], [71303, 0, "l"], [71304, 0, "."], [71305, 0, " "], [71306, 0, "I"], [71307, 0, "t"], [71308, 0, " "], [71309, 0, "s"], [71310, 0, "u"], [71311, 0, "p"], [71312, 0, "p"], [71313, 0, "o"], [71314, 0, "r"], [71315, 0, "t"], [71316, 0, "s"], [71317, 0, " "], [71318, 0, "a"], [71319, 0, "r"], [71320, 0, "b"], [71321, 0, "i"], [71322, 0, "t"], [71323, 0, "r"], [71324, 0, "a"], [71325, 0, "r"], [71326, 0, "i"], [71327, 0, "l"], [71328, 0, "y"], [71329, 0, " "], [71330, 0, "n"], [71331, 0, "e"], [71332, 0, "s"], [71333, 0, "t"], [71334, 0, "e"], [71335, 0, "d"], [71336, 0, " "], [71337, 0, "l"], [71338, 0, "i"], [71339, 0, "s"], [71340, 0, "t"], [71341, 0, "s"], [71342, 0, " "], [71343, 0, "a"], [71344, 0, "n"], [71345, 0, "d"], [71346, 0, " "], [71347, 0, "m"], [71348, 0, "a"], [71349, 0, "p"], [71350, 0, "s"], [71351, 0, ","], [71352, 0, " "], [71353, 0, "a"], [71354, 0, "n"], [71355, 0, "d"], [71356, 0, " "], [71357, 0, "i"], [71358, 0, "t"], [71359, 0, " "], [71360, 0, "l"], [71360, 1], [71360, 0, "a"], [71361, 0, "l"], [71362, 0, "l"], [71363, 0, "o"], [71364, 0, "w"], [71365, 0, "s"], [71366, 0, " "], [71367, 0, "r"], [71368, 0, "e"], [71369, 0, "p"], [71370, 0, "l"], [71371, 0, "i"], [71372, 0, "c"], [71373, 0, "a"], [71374, 0, "s"], [71375, 0, " "], [71376, 0, "t"], [71377, 0, "o"], [71378, 0, " "], [71379, 0, "m"], [71380, 0, "a"], [71381, 0, "k"], [71382, 0, "e"], [71383, 0, " "], [71384, 0, "a"], [71385, 0, "r"], [71386, 0, "b"], [71387, 0, "i"], [71388, 0, "t"], [71389, 0, "r"], [71390, 0, "a"], [71391, 0, "r"], [71392, 0, "y"], [71393, 0, " "], [71394, 0, "c"], [71395, 0, "h"], [71396, 0, "a"], [71397, 0, "n"], [71398, 0, "g"], [71399, 0, "e"], [71400, 0, "s"], [71401, 0, " "], [71402, 0, "t"], [71403, 0, "o"], [71404, 0, " "], [71405, 0, "t"], [71406, 0, "h"], [71407, 0, "e"], [71408, 0, " "], [71409, 0, "d"], [71410, 0, "a"], [71411, 0, "t"], [71412, 0, "a"], [71413, 0, " "], [71414, 0, "w"], [71415, 0, "i"], [71416, 0, "t"], [71417, 0, "h"], [71418, 0, "o"], [71419, 0, "u"], [71420, 0, "t"], [71421, 0, " "], [71422, 0, "c"], [71423, 0, "o"], [71424, 0, "m"], [71425, 0, "m"], [71426, 0, "u"], [71427, 0, "n"], [71428, 0, "i"], [71429, 0, "c"], [71430, 0, "a"], [71431, 0, "t"], [71432, 0, "i"], [71433, 0, "n"], [71434, 0, "g"], [71435, 0, " "], [71436, 0, "w"], [71437, 0, "i"], [71438, 0, "t"], [71439, 0, "h"], [71440, 0, " "], [71422, 0, "a"], [71423, 0, "n"], [71424, 0, "y"], [71425, 0, " "], [71426, 0, "n"], [71427, 0, "e"], [71428, 0, "t"], [71429, 0, "w"], [71430, 0, "o"], [71431, 0, "r"], [71432, 0, "k"], [71433, 0, " "], [71446, 1], [71445, 1], [71445, 0, "o"], [71446, 0, "n"], [71421, 0, " "], [71422, 0, "r"], [71423, 0, "e"], [71424, 0, "q"], [71425, 0, "i"], [71426, 0, "o"], [71427, 0, "r"], [71428, 0, "o"], [71429, 0, "m"], [71430, 0, "g"], [71430, 1], [71429, 1], [71428, 1], [71427, 1], [71426, 1], [71426, 0, "i"], [71427, 0, "n"], [71428, 0, "g"], [71426, 0, "r"], [71426, 0, "u"], [71426, 1], [71425, 1], [71425, 0, "u"], [71426, 0, "i"], [71462, 1], [71461, 1], [71460, 1], [71459, 1], [71458, 1], [71457, 1], [71457, 0, "."], [71458, 0, " "], [71459, 0, "R"], [71460, 0, "e"], [71461, 0, "p"], [71462, 0, "l"], [71463, 0, "i"], [71464, 0, "c"], [71465, 0, "a"], [71466, 0, "s"], [71467, 0, " "], [71468, 0, "a"], [71469, 0, "s"], [71470, 0, "y"], [71471, 0, "n"], [71472, 0, "c"], [71473, 0, "h"], [71474, 0, "r"], [71475, 0, "o"], [71476, 0, "n"], [71477, 0, "o"], [71478, 0, "u"], [71479, 0, "s"], [71480, 0, "l"], [71481, 0, "y"], [71482, 0, " "], [71483, 0, "c"], [71484, 0, "o"], [71485, 0, "m"], [71486, 0, "m"], [71487, 0, "u"], [71488, 0, "n"], [71489, 0, "i"], [71490, 0, "c"], [71491, 0, "a"], [71492, 0, "t"], [71493, 0, "e"], [71494, 0, " "], [71495, 0, "c"], [71496, 0, "h"], [71497, 0, "a"], [71497, 1], [71496, 1], [71495, 1], [71495, 0, "e"], [71496, 0, "d"], [71497, 0, "i"], [71498, 0, "t"], [71499, 0, "s"], [71500, 0, " "], [71501, 0, "i"], [71502, 0, "n"], [71503, 0, " "], [71504, 0, "t"], [71505, 0, "h"], [71506, 0, "e"], [71507, 0, " "], [71508, 0, "f"], [71509, 0, "o"], [71510, 0, "r"], [71511, 0, "m"], [71499, 1], [71498, 1], [71497, 1], [71496, 1], [71495, 1], [71495, 0, "m"], [71496, 0, "u"], [71497, 0, "t"], [71498, 0, "a"], [71499, 0, "t"], [71500, 0, "i"], [71501, 0, "o"], [71502, 0, "n"], [71503, 0, "s"], [71493, 1], [71492, 1], [71491, 1], [71490, 1], [71489, 1], [71488, 1], [71487, 1], [71486, 1], [71485, 1], [71484, 1], [71483, 1], [71483, 0, "s"], [71484, 0, "e"], [71485, 0, "n"], [71486, 0, "d"], [71497, 0, " "], [71498, 0, "t"], [71499, 0, "o"], [71500, 0, " "], [71501, 0, "o"], [71502, 0, "t"], [71503, 0, "h"], [71504, 0, "e"], [71505, 0, "r"], [71506, 0, " "], [71507, 0, "r"], [71508, 0, "e"], [71509, 0, "p"], [71510, 0, "l"], [71511, 0, "i"], [71512, 0, "c"], [71513, 0, "a"], [71514, 0, "s"], [71527, 0, " "], [71528, 0, "o"], [71529, 0, "f"], [71530, 0, " "], [71531, 0, "o"], [71532, 0, "p"], [71533, 0, "e"], [71534, 0, "r"], [71535, 0, "a"], [71536, 0, "t"], [71537, 0, "i"], [71538, 0, "o"], [71539, 0, "n"], [71540, 0, "s"], [71541, 0, "."], [71542, 0, " "], [71543, 0, "C"], [71544, 0, "o"], [71545, 0, "n"], [71546, 0, "c"], [71547, 0, "u"], [71548, 0, "r"], [71549, 0, "r"], [71550, 0, "e"], [71551, 0, "n"], [71552, 0, "t"], [71553, 0, " "], [71554, 0, "o"], [71555, 0, "p"], [71556, 0, "e"], [71557, 0, "r"], [71558, 0, "a"], [71559, 0, "t"], [71560, 0, "i"], [71561, 0, "o"], [71562, 0, "n"], [71563, 0, "s"], [71564, 0, " "], [71565, 0, "a"], [71566, 0, "r"], [71567, 0, "e"], [71568, 0, " "], [71569, 0, "c"], [71570, 0, "o"], [71571, 0, "m"], [71572, 0, "m"], [71573, 0, "u"], [71574, 0, "t"], [71575, 0, "a"], [71576, 0, "t"], [71577, 0, "i"], [71578, 0, "v"], [71579, 0, "e"], [71580, 0, ","], [71581, 0, " "], [71582, 0, "w"], [71583, 0, "h"], [71584, 0, "i"], [71585, 0, "c"], [71586, 0, "h"], [71587, 0, " "], [71588, 0, "e"], [71589, 0, "n"], [71590, 0, "s"], [71591, 0, "u"], [71592, 0, "r"], [71593, 0, "e"], [71594, 0, "s"], [71595, 0, " "], [71596, 0, "t"], [71597, 0, "h"], [71598, 0, "a"], [71599, 0, "t"], [71600, 0, " "], [71601, 0, "r"], [71602, 0, "e"], [71603, 0, "p"], [71604, 0, "l"], [71605, 0, "i"], [71606, 0, "c"], [71607, 0, "a"], [71608, 0, "s"], [71609, 0, " "], [71610, 0, "c"], [71611, 0, "o"], [71612, 0, "n"], [71613, 0, "v"], [71614, 0, "e"], [71615, 0, "r"], [71616, 0, "g"], [71617, 0, "e"], [71618, 0, " "], [71619, 0, "t"], [71620, 0, "o"], [71621, 0, "w"], [71622, 0, "a"], [71623, 0, "r"], [71624, 0, "d"], [71625, 0, "s"], [71626, 0, " "], [71627, 0, "t"], [71628, 0, "h"], [71629, 0, "e"], [71630, 0, " "], [71631, 0, "s"], [71632, 0, "a"], [71633, 0, "m"], [71634, 0, "e"], [71635, 0, " "], [71636, 0, "s"], [71637, 0, "t"], [71638, 0, "a"], [71639, 0, "t"], [71640, 0, "e"], [71641, 0, " "], [71642, 0, "w"], [71643, 0, "i"], [71644, 0, "t"], [71645, 0, "h"], [71646, 0, "o"], [71647, 0, "u"], [71648, 0, "t"], [71649, 0, " "], [71650, 0, "r"], [71651, 0, "e"], [71652, 0, "q"], [71653, 0, "u"], [71654, 0, "i"], [71655, 0, "r"], [71656, 0, "i"], [71657, 0, "n"], [71658, 0, "g"], [71659, 0, " "], [71660, 0, "a"], [71661, 0, "n"], [71662, 0, "y"], [71663, 0, " "], [71664, 0, "a"], [71665, 0, "p"], [71666, 0, "p"], [71667, 0, "l"], [71668, 0, "i"], [71669, 0, "c"], [71670, 0, "a"], [71671, 0, "t"], [71672, 0, "i"], [71673, 0, "o"], [71674, 0, "n"], [71675, 0, "-"], [71676, 0, "s"], [71677, 0, "p"], [71678, 0, "e"], [71679, 0, "c"], [71680, 0, "i"], [71681, 0, "f"], [71682, 0, "i"], [71683, 0, "c"], [71684, 0, " "], [71685, 0, "c"], [71686, 0, "o"], [71687, 0, "n"], [71662, 1], [71661, 1], [71660, 1], [71659, 1], [71684, 0, "f"], [71685, 0, "l"], [71686, 0, "i"], [71687, 0, "c"], [71688, 0, "t"], [71689, 0, " "], [71690, 0, "r"], [71691, 0, "e"], [71692, 0, "s"], [71693, 0, "o"], [71694, 0, "l"], [71695, 0, "u"], [71696, 0, "t"], [71697, 0, "i"], [71698, 0, "o"], [71699, 0, "n"], [71700, 0, " "], [71701, 0, "l"], [71702, 0, "o"], [71703, 0, "g"], [71704, 0, "i"], [71705, 0, "c"], [71706, 0, "."], [71707, 0, "\n"], [71708, 0, "\n"], [71709, 0, "T"], [71710, 0, "h"], [71711, 0, "i"], [71712, 0, "s"], [71713, 0, " "], [71714, 0, "w"], [71715, 0, "o"], [71716, 0, "r"], [71717, 0, "k"], [71718, 0, " "], [71719, 0, "f"], [71720, 0, "o"], [71721, 0, "c"], [71722, 0, "u"], [71723, 0, "s"], [71724, 0, "e"], [71725, 0, "d"], [71726, 0, " "], [71727, 0, "o"], [71728, 0, "n"], [71729, 0, " "], [71730, 0, "t"], [71731, 0, "h"], [71732, 0, "e"], [71733, 0, " "], [71734, 0, "f"], [71735, 0, "o"], [71736, 0, "r"], [71737, 0, "m"], [71738, 0, "a"], [71739, 0, "l"], [71740, 0, " "], [71741, 0, "s"], [71742, 0, "e"], [71743, 0, "m"], [71744, 0, "a"], [71745, 0, "n"], [71746, 0, "t"], [71747, 0, "i"], [71748, 0, "c"], [71749, 0, "s"], [71750, 0, " "], [71751, 0, "o"], [71752, 0, "f"], [71753, 0, " "], [71754, 0, "t"], [71755, 0, "h"], [71756, 0, "e"], [71757, 0, " "], [71758, 0, "J"], [71759, 0, "S"], [71760, 0, "O"], [71761, 0, "N"], [71762, 0, " "], [71763, 0, "C"], [71764, 0, "R"], [71765, 0, "D"], [71766, 0, "T"], [71767, 0, ","], [71768, 0, " "], [71769, 0, "r"], [71770, 0, "e"], [71771, 0, "p"], [71772, 0, "r"], [71773, 0, "e"], [71774, 0, "s"], [71775, 0, "e"], [71776, 0, "n"], [71777, 0, "t"], [71778, 0, "e"], [71779, 0, "d"], [71780, 0, " "], [71781, 0, "a"], [71782, 0, "s"], [71783, 0, " "], [71784, 0, "a"], [71785, 0, " "], [71786, 0, "m"], [71787, 0, "a"], [71788, 0, "t"], [71789, 0, "h"], [71790, 0, "e"], [71791, 0, "m"], [71792, 0, "a"], [71793, 0, "t"], [71794, 0, "i"], [71795, 0, "c"], [71796, 0, "a"], [71797, 0, "l"], [71798, 0, " "], [71799, 0, "m"], [71800, 0, "o"], [71801, 0, "d"], [71802, 0, "e"], [71803, 0, "l"], [71804, 0, "."], [71805, 0, " "], [71806, 0, "W"], [71807, 0, "e"], [71808, 0, " "], [71809, 0, "h"], [71810, 0, "a"], [71811, 0, "v"], [71812, 0, "e"], [71813, 0, " "], [71814, 0, "a"], [71815, 0, "l"], [71816, 0, "s"], [71817, 0, "o"], [71818, 0, " "], [71819, 0, "c"], [71820, 0, "r"], [71821, 0, "e"], [71822, 0, "a"], [71823, 0, "t"], [71824, 0, "e"], [71825, 0, "d"], [71826, 0, " "], [71827, 0, "a"], [71828, 0, " "], [71829, 0, "p"], [71830, 0, "r"], [71831, 0, "a"], [71832, 0, "c"], [71833, 0, "t"], [71834, 0, "i"], [71835, 0, "c"], [71836, 0, "a"], [71837, 0, "l"], [71838, 0, " "], [71839, 0, "i"], [71840, 0, "m"], [71841, 0, "p"], [71842, 0, "l"], [71843, 0, "e"], [71844, 0, "m"], [71845, 0, "e"], [71846, 0, "n"], [71847, 0, "t"], [71848, 0, "a"], [71849, 0, "t"], [71850, 0, "i"], [71851, 0, "o"], [71852, 0, "n"], [71853, 0, " "], [71854, 0, "a"], [71855, 0, "n"], [71856, 0, "d"], [71857, 0, " "], [71858, 0, "w"], [71859, 0, "i"], [71860, 0, "l"], [71861, 0, "l"], [71862, 0, " "], [71863, 0, "r"], [71864, 0, "e"], [71865, 0, "p"], [71866, 0, "o"], [71867, 0, "r"], [71868, 0, "t"], [71869, 0, " "], [71870, 0, "o"], [71871, 0, "n"], [71872, 0, " "], [71873, 0, "i"], [71874, 0, "t"], [71875, 0, "s"], [71876, 0, " "], [71877, 0, "p"], [71878, 0, "e"], [71879, 0, "r"], [71880, 0, "f"], [71881, 0, "o"], [71882, 0, "r"], [71883, 0, "m"], [71884, 0, "a"], [71885, 0, "n"], [71886, 0, "c"], [71887, 0, "e"], [71888, 0, " "], [71889, 0, "c"], [71890, 0, "h"], [71891, 0, "a"], [71892, 0, "r"], [71893, 0, "a"], [71894, 0, "c"], [71895, 0, "t"], [71896, 0, "e"], [71897, 0, "r"], [71898, 0, "i"], [71899, 0, "s"], [71900, 0, "t"], [71901, 0, "i"], [71902, 0, "c"], [71903, 0, "s"], [71904, 0, " "], [71905, 0, "i"], [71906, 0, "n"], [71907, 0, " "], [71908, 0, "a"], [71909, 0, " "], [71910, 0, "s"], [71911, 0, "e"], [71912, 0, "p"], [71913, 0, "a"], [71914, 0, "r"], [71915, 0, "a"], [71916, 0, "t"], [71917, 0, "e"], [71918, 0, " "], [71919, 0, "p"], [71920, 0, "a"], [71921, 0, "p"], [71922, 0, "e"], [71923, 0, "r"], [71924, 0, "."], [71925, 0, " "], [71926, 0, "I"], [71927, 0, "n"], [71928, 0, " "], [71923, 1], [71922, 1], [71921, 1], [71920, 1], [71919, 1], [71918, 1], [71917, 1], [71916, 1], [71915, 1], [71914, 1], [71913, 1], [71912, 1], [71911, 1], [71910, 1], [71909, 1], [71908, 1], [71908, 0, "f"], [71909, 0, "o"], [71910, 0, "l"], [71911, 0, "l"], [71912, 0, "o"], [71913, 0, "w"], [71914, 0, "-"], [71915, 0, "o"], [71916, 0, "n"], [71917, 0, " "], [71918, 0, "w"], [71919, 0, "o"], [71920, 0, "r"], [71921, 0, "k"], [71927, 0, "f"], [71928, 0, "a"], [71929, 0, "c"], [71930, 0, "t"], [71931, 0, ","], [71932, 0, " "], [71933, 0, "w"], [71934, 0, "e"], [71935, 0, " "], [71936, 0, "w"], [71937, 0, "r"], [71938, 0, "o"], [71939, 0, "t"], [71940, 0, "e"], [71941, 0, " "], [71942, 0, "t"], [71943, 0, "h"], [71944, 0, "e"], [71945, 0, " "], [71946, 0, "{"], [71947, 0, "\\"], [71948, 0, "L"], [71949, 0, "a"], [71950, 0, "T"], [71951, 0, "e"], [71952, 0, "X"], [71953, 0, "}"], [71954, 0, " "], [71955, 0, "s"], [71956, 0, "o"], [71957, 0, "u"], [71958, 0, "r"], [71959, 0, "c"], [71960, 0, "e"], [71961, 0, " "], [71962, 0, "t"], [71963, 0, "e"], [71964, 0, "x"], [71965, 0, "t"], [71966, 0, " "], [71967, 0, "o"], [71968, 0, "f"], [71969, 0, " "], [71970, 0, "t"], [71971, 0, "h"], [71972, 0, "i"], [71973, 0, "s"], [71974, 0, " "], [71975, 0, "p"], [71976, 0, "a"], [71977, 0, "p"], [71978, 0, "e"], [71979, 0, "r"], [71980, 0, " "], [71981, 0, "u"], [71982, 0, "s"], [71983, 0, "i"], [71984, 0, "n"], [71985, 0, "g"], [71986, 0, " "], [71987, 0, "a"], [71988, 0, "n"], [71989, 0, " "], [71990, 0, "e"], [71991, 0, "x"], [71992, 0, "p"], [71993, 0, "e"], [71994, 0, "r"], [71995, 0, "i"], [71996, 0, "m"], [71997, 0, "e"], [71998, 0, "n"], [71999, 0, "t"], [72000, 0, "a"], [72001, 0, "l"], [72002, 0, " "], [72003, 0, "c"], [72004, 0, "o"], [72005, 0, "l"], [72006, 0, "l"], [72007, 0, "a"], [72008, 0, "b"], [72009, 0, "o"], [72010, 0, "r"], [72011, 0, "a"], [72012, 0, "t"], [72013, 0, "i"], [72014, 0, "v"], [72015, 0, "e"], [72016, 0, " "], [72017, 0, "t"], [72018, 0, "e"], [72019, 0, "x"], [72020, 0, "t"], [72021, 0, " "], [72022, 0, "e"], [72023, 0, "d"], [72024, 0, "i"], [72025, 0, "t"], [72026, 0, "o"], [72027, 0, "r"], [72028, 0, " "], [72029, 0, "u"], [72030, 0, "s"], [72031, 0, "i"], [72032, 0, "n"], [72033, 0, "g"], [72034, 0, " "], [72035, 0, "o"], [72036, 0, "u"], [72037, 0, "r"], [72038, 0, " "], [72039, 0, "i"], [72040, 0, "m"], [72041, 0, "p"], [72042, 0, "l"], [72043, 0, "e"], [72044, 0, "m"], [72045, 0, "e"], [72046, 0, "n"], [72047, 0, "t"], [72048, 0, "a"], [72049, 0, "t"], [72050, 0, "i"], [72051, 0, "o"], [72052, 0, "n"], [72053, 0, " "], [72054, 0, "o"], [72055, 0, "f"], [72056, 0, " "], [72057, 0, "t"], [72058, 0, "h"], [72059, 0, "i"], [72060, 0, "s"], [72061, 0, " "], [72062, 0, "C"], [72063, 0, "R"], [72064, 0, "D"], [72065, 0, "T"], [72066, 0, "."], [72067, 0, "\n"], [72068, 0, "\n"], [72069, 0, "F"], [72070, 0, "u"], [72071, 0, "r"], [72072, 0, "t"], [72073, 0, "h"], [72074, 0, "e"], [72075, 0, "r"], [72076, 0, " "], [72077, 0, "w"], [72078, 0, "o"], [72079, 0, "r"], [72080, 0, "k"], [72081, 0, " "], [72082, 0, "w"], [72083, 0, "i"], [72084, 0, "l"], [72085, 0, "l"], [72086, 0, " "], [72087, 0, "b"], [72088, 0, "e"], [72089, 0, " "], [72090, 0, "n"], [72091, 0, "e"], [72092, 0, "e"], [72093, 0, "d"], [72094, 0, "e"], [72095, 0, "d"], [72096, 0, " "], [72097, 0, "t"], [72098, 0, "o"], [72099, 0, " "], [72100, 0, "e"], [72101, 0, "x"], [72102, 0, "p"], [72103, 0, "l"], [72104, 0, "o"], [72105, 0, "r"], [72106, 0, "e"], [72107, 0, " "], [72108, 0, "t"], [72109, 0, "h"], [72110, 0, "e"], [72111, 0, " "], [72112, 0, "s"], [72113, 0, "e"], [72114, 0, "m"], [72115, 0, "a"], [72116, 0, "n"], [72117, 0, "t"], [72118, 0, "i"], [72119, 0, "c"], [72120, 0, "s"], [72121, 0, " "], [72122, 0, "t"], [72123, 0, "h"], [72124, 0, "a"], [72125, 0, "t"], [72126, 0, " "], [72127, 0, "a"], [72128, 0, "p"], [72129, 0, "p"], [72130, 0, "l"], [72131, 0, "i"], [72132, 0, "c"], [72133, 0, "a"], [72134, 0, "t"], [72135, 0, "i"], [72136, 0, "o"], [72137, 0, "n"], [72138, 0, " "], [72139, 0, "p"], [72140, 0, "r"], [72141, 0, "o"], [72142, 0, "g"], [72143, 0, "r"], [72144, 0, "a"], [72145, 0, "m"], [72146, 0, "m"], [72147, 0, "e"], [72148, 0, "r"], [72149, 0, "s"], [72150, 0, " "], [72151, 0, "e"], [72152, 0, "x"], [72153, 0, "p"], [72154, 0, "e"], [72155, 0, "c"], [72156, 0, "t"], [72157, 0, " "], [72158, 0, "a"], [72159, 0, "n"], [72160, 0, "d"], [72161, 0, " "], [72162, 0, "r"], [72163, 0, "e"], [72164, 0, "q"], [72165, 0, "u"], [72166, 0, "i"], [72167, 0, "r"], [72168, 0, "e"], [72169, 0, " "], [72170, 0, "o"], [72171, 0, "f"], [72172, 0, " "], [72173, 0, "c"], [72174, 0, "o"], [72175, 0, "l"], [72176, 0, "l"], [72177, 0, "a"], [72178, 0, "b"], [72179, 0, "o"], [72180, 0, "r"], [72181, 0, "a"], [72182, 0, "t"], [72183, 0, "i"], [72184, 0, "v"], [72185, 0, "e"], [72186, 0, "l"], [72187, 0, "y"], [72188, 0, " "], [72189, 0, "e"], [72190, 0, "d"], [72191, 0, "i"], [72192, 0, "t"], [72193, 0, "a"], [72194, 0, "b"], [72195, 0, "l"], [72196, 0, "e"], [72197, 0, " "], [72198, 0, "d"], [72199, 0, "a"], [72200, 0, "t"], [72201, 0, "a"], [72202, 0, " "], [72203, 0, "s"], [72204, 0, "t"], [72205, 0, "r"], [72206, 0, "u"], [72207, 0, "c"], [72208, 0, "t"], [72209, 0, "u"], [72210, 0, "r"], [72211, 0, "e"], [72212, 0, "s"], [72213, 0, "."], [72214, 0, " "], [72215, 0, "G"], [72216, 0, "o"], [72217, 0, "o"], [72218, 0, "g"], [72219, 0, "l"], [72220, 0, "e"], [72221, 0, " "], [72222, 0, "R"], [72223, 0, "e"], [72224, 0, "a"], [72225, 0, "l"], [72226, 0, "t"], [72227, 0, "i"], [72228, 0, "m"], [72229, 0, "e"], [72230, 0, " "], [72231, 0, "A"], [72232, 0, "P"], [72233, 0, "I"], [72234, 0, "~"], [72235, 0, "\\"], [72236, 0, "c"], [72237, 0, "i"], [72238, 0, "t"], [72239, 0, "e"], [72240, 0, "{"], [72241, 0, "G"], [72242, 0, "o"], [72243, 0, "o"], [72244, 0, "g"], [72245, 0, "l"], [72246, 0, "e"], [72247, 0, ":"], [72248, 0, "2"], [72249, 0, "0"], [72250, 0, "1"], [72251, 0, "5"], [72252, 0, "v"], [72253, 0, "k"], [72254, 0, "}"], [72214, 0, " "], [72033, 1], [72032, 1], [72031, 1], [72030, 1], [72029, 1], [72029, 0, "t"], [72030, 0, "h"], [72031, 0, "a"], [72032, 0, "t"], [72033, 0, " "], [72034, 0, "i"], [72035, 0, "s"], [72036, 0, " "], [72037, 0, "b"], [72038, 0, "a"], [72039, 0, "s"], [72040, 0, "e"], [72041, 0, "d"], [72042, 0, " "], [72043, 0, "o"], [72044, 0, "n"], [72078, 0, " "], [72079, 0, "W"], [72080, 0, "e"], [72081, 0, " "], [72082, 0, "a"], [72083, 0, "r"], [72084, 0, "e"], [72085, 0, " "], [72086, 0, "m"], [72087, 0, "a"], [72088, 0, "k"], [72089, 0, "i"], [72090, 0, "n"], [72091, 0, "g"], [72092, 0, " "], [72093, 0, "t"], [72094, 0, "h"], [72095, 0, "e"], [72096, 0, " "], [72097, 0, "c"], [72098, 0, "h"], [72099, 0, "a"], [72100, 0, "r"], [72101, 0, "a"], [72102, 0, "c"], [72103, 0, "t"], [72104, 0, "e"], [72105, 0, "r"], [72106, 0, "-"], [72107, 0, "b"], [72108, 0, "y"], [72109, 0, "-"], [72110, 0, "c"], [72111, 0, "h"], [72112, 0, "a"], [72113, 0, "r"], [72114, 0, "a"], [72115, 0, "c"], [72116, 0, "t"], [72117, 0, "e"], [72118, 0, "r"], [72119, 0, " "], [72120, 0, "e"], [72121, 0, "d"], [72122, 0, "i"], [72123, 0, "t"], [72124, 0, "i"], [72125, 0, "n"], [72126, 0, "g"], [72127, 0, " "], [72128, 0, "t"], [72129, 0, "r"], [72130, 0, "a"], [72131, 0, "c"], [72132, 0, "e"], [72133, 0, " "], [72134, 0, "o"], [72135, 0, "f"], [72136, 0, " "], [72137, 0, "t"], [72138, 0, "h"], [72139, 0, "i"], [72140, 0, "s"], [72141, 0, " "], [72142, 0, "d"], [72143, 0, "o"], [72144, 0, "c"], [72145, 0, "u"], [72146, 0, "m"], [72147, 0, "e"], [72148, 0, "n"], [72149, 0, "t"], [72150, 0, " "], [72151, 0, "a"], [72152, 0, "v"], [72153, 0, "a"], [72154, 0, "i"], [72155, 0, "l"], [72156, 0, "a"], [72157, 0, "b"], [72158, 0, "l"], [72159, 0, "e"], [72160, 0, " "], [72161, 0, "a"], [72162, 0, "s"], [72163, 0, " "], [72164, 0, "s"], [72165, 0, "u"], [72166, 0, "p"], [72167, 0, "p"], [72168, 0, "l"], [72169, 0, "e"], [72170, 0, "m"], [72171, 0, "e"], [72172, 0, "n"], [72173, 0, "t"], [72174, 0, "a"], [72175, 0, "l"], [72176, 0, " "], [72177, 0, "d"], [72178, 0, "a"], [72179, 0, "t"], [72180, 0, "a"], [72181, 0, " "], [72182, 0, "o"], [72183, 0, "f"], [72184, 0, " "], [72185, 0, "t"], [72186, 0, "h"], [72187, 0, "i"], [72188, 0, "s"], [72189, 0, " "], [72190, 0, "p"], [72191, 0, "a"], [72192, 0, "p"], [72193, 0, "e"], [72194, 0, "r"], [72195, 0, ","], [72196, 0, " "], [72197, 0, "i"], [72198, 0, "n"], [72199, 0, " "], [72200, 0, "o"], [72201, 0, "r"], [72202, 0, "d"], [72203, 0, "e"], [72204, 0, "r"], [72205, 0, " "], [72206, 0, "t"], [72207, 0, "o"], [72208, 0, " "], [72209, 0, "p"], [72210, 0, "r"], [72211, 0, "o"], [72212, 0, "v"], [72213, 0, "i"], [72214, 0, "d"], [72215, 0, "e"], [72216, 0, " "], [72217, 0, "a"], [72218, 0, " "], [72219, 0, "d"], [72220, 0, "a"], [72221, 0, "t"], [72222, 0, "a"], [72223, 0, "s"], [72224, 0, "e"], [72225, 0, "t"], [72226, 0, " "], [72227, 0, "f"], [72228, 0, "o"], [72229, 0, "r"], [72230, 0, " "], [72231, 0, "t"], [72232, 0, "h"], [72233, 0, "e"], [72234, 0, " "], [72235, 0, "s"], [72236, 0, "t"], [72237, 0, "u"], [72238, 0, "d"], [72239, 0, "y"], [72235, 0, "e"], [72236, 0, "x"], [72237, 0, "p"], [72237, 1], [72236, 1], [72235, 1], [72235, 0, "e"], [72236, 0, "m"], [72237, 0, "p"], [72238, 0, "i"], [72239, 0, "r"], [72240, 0, "i"], [72241, 0, "c"], [72242, 0, "a"], [72243, 0, "l"], [72244, 0, " "], [72250, 0, " "], [72251, 0, "o"], [72252, 0, "f"], [72253, 0, " "], [72254, 0, "c"], [72255, 0, "o"], [72256, 0, "l"], [72257, 0, "l"], [72258, 0, "a"], [72259, 0, "b"], [72260, 0, "o"], [72261, 0, "r"], [72262, 0, "a"], [72263, 0, "t"], [72264, 0, "i"], [72265, 0, "v"], [72266, 0, "e"], [72267, 0, " "], [72268, 0, "e"], [72269, 0, "d"], [72270, 0, "i"], [72271, 0, "t"], [72272, 0, "i"], [72273, 0, "n"], [72274, 0, "g"], [72275, 0, " "], [72276, 0, "a"], [72277, 0, "l"], [72278, 0, "g"], [72279, 0, "o"], [72280, 0, "r"], [72281, 0, "i"], [72282, 0, "t"], [72283, 0, "h"], [72284, 0, "m"], [72285, 0, "s"], [72286, 0, "."], [72435, 0, "A"], [72436, 0, "s"], [72437, 0, " "], [72438, 0, "i"], [72439, 0, "l"], [72440, 0, "l"], [72441, 0, "u"], [72442, 0, "s"], [72443, 0, "t"], [72444, 0, "r"], [72445, 0, "a"], [72446, 0, "t"], [72447, 0, "e"], [72448, 0, "d"], [72449, 0, " "], [72450, 0, "i"], [72451, 0, "n"], [72452, 0, " "], [72453, 0, "F"], [72454, 0, "i"], [72455, 0, "g"], [72456, 0, "u"], [72457, 0, "r"], [72458, 0, "e"], [72459, 0, "~"], [72460, 0, "\\"], [72461, 0, "r"], [72462, 0, "e"], [72463, 0, "f"], [72464, 0, "{"], [72465, 0, "f"], [72466, 0, "i"], [72467, 0, "g"], [72468, 0, ":"], [72469, 0, "t"], [72470, 0, "o"], [72471, 0, "d"], [72472, 0, "o"], [72473, 0, "-"], [72474, 0, "i"], [72475, 0, "t"], [72476, 0, "e"], [72477, 0, "m"], [72478, 0, "}"], [72479, 0, ","], [72480, 0, " "], [72289, 0, "A"], [72290, 0, "s"], [72291, 0, " "], [72292, 0, "i"], [72293, 0, "l"], [72294, 0, "l"], [72295, 0, "u"], [72296, 0, "s"], [72297, 0, "t"], [72298, 0, "r"], [72299, 0, "a"], [72300, 0, "t"], [72301, 0, "e"], [72302, 0, "d"], [72303, 0, " "], [72289, 0, "O"], [72290, 0, "u"], [72291, 0, "r"], [72292, 0, " "], [72293, 0, "p"], [72294, 0, "r"], [72295, 0, "i"], [72296, 0, "n"], [72297, 0, "c"], [72298, 0, "i"], [72299, 0, "p"], [72300, 0, "l"], [72301, 0, "e"], [72302, 0, " "], [72303, 0, "o"], [72304, 0, "f"], [72305, 0, " "], [72306, 0, "n"], [72307, 0, "o"], [72308, 0, "t"], [72309, 0, " "], [72310, 0, "l"], [72311, 0, "o"], [72312, 0, "s"], [72313, 0, "i"], [72314, 0, "n"], [72315, 0, "g"], [72316, 0, " "], [72317, 0, "i"], [72318, 0, "n"], [72319, 0, "p"], [72320, 0, "u"], [72321, 0, "t"], [72322, 0, " "], [72323, 0, "d"], [72324, 0, "u"], [72325, 0, "e"], [72326, 0, " "], [72327, 0, "t"], [72328, 0, "o"], [72329, 0, " "], [72330, 0, "o"], [72330, 1], [72330, 0, "c"], [72331, 0, "o"], [72332, 0, "n"], [72333, 0, "c"], [72334, 0, "u"], [72335, 0, "r"], [72336, 0, "r"], [72337, 0, "e"], [72338, 0, "n"], [72339, 0, "t"], [72340, 0, " "], [72341, 0, "m"], [72342, 0, "o"], [72343, 0, "d"], [72344, 0, "i"], [72345, 0, "f"], [72346, 0, "i"], [72347, 0, "c"], [72348, 0, "a"], [72349, 0, "t"], [72350, 0, "i"], [72351, 0, "o"], [72352, 0, "n"], [72353, 0, "s"], [72354, 0, " "], [72355, 0, "a"], [72356, 0, "p"], [72357, 0, "p"], [72358, 0, "e"], [72359, 0, "a"], [72360, 0, "r"], [72361, 0, "s"], [72362, 0, " "], [72363, 0, "r"], [72364, 0, "e"], [72365, 0, "a"], [72366, 0, "s"], [72367, 0, "o"], [72368, 0, "n"], [72369, 0, "a"], [72370, 0, "b"], [72371, 0, "l"], [72372, 0, "e"], [72373, 0, ","], [72374, 0, " "], [72375, 0, "b"], [72376, 0, "u"], [72377, 0, "t"], [72378, 0, " "], [72379, 0, "a"], [72380, 0, "s"], [72381, 0, " "], [72382, 0, "i"], [72383, 0, "l"], [72384, 0, "l"], [72385, 0, "u"], [72386, 0, "s"], [72387, 0, "t"], [72388, 0, "r"], [72389, 0, "a"], [72390, 0, "t"], [72391, 0, "e"], [72392, 0, "d"], [72393, 0, " "], [72394, 0, "i"], [72395, 0, "n"], [72396, 0, " "], [72397, 0, "F"], [72398, 0, "i"], [72399, 0, "g"], [72400, 0, "u"], [72401, 0, "r"], [72402, 0, "e"], [72403, 0, "~"], [72404, 0, "\\"], [72405, 0, "r"], [72406, 0, "e"], [72407, 0, "f"], [72408, 0, "{"], [72409, 0, "f"], [72410, 0, "i"], [72411, 0, "g"], [72412, 0, ":"], [72413, 0, "t"], [72414, 0, "o"], [72415, 0, "d"], [72416, 0, "o"], [72417, 0, "-"], [72418, 0, "i"], [72419, 0, "t"], [72420, 0, "e"], [72421, 0, "m"], [72422, 0, "}"], [72423, 0, ","], [72424, 0, " "], [72425, 1], [72425, 1], [72425, 0, "i"], [72426, 0, "t"], [72427, 0, " "], [72428, 0, "l"], [72429, 0, "e"], [72430, 0, "a"], [72431, 0, "d"], [72432, 0, "s"], [72433, 0, " "], [72434, 0, "t"], [72435, 0, "o"], [72436, 0, " "], [72437, 1], [72437, 1], [72437, 1], [72437, 1], [72437, 1], [72437, 1], [72437, 1], [72437, 1], [72437, 1], [72437, 1], [72437, 1], [72437, 1], [72437, 0, "s"], [72438, 0, "u"], [72439, 0, "r"], [72440, 0, "p"], [72441, 0, "r"], [72441, 1], [72440, 1], [72439, 1], [72438, 1], [72437, 1], [72437, 0, "m"], [72438, 0, "e"], [72439, 0, "r"], [72440, 0, "g"], [72441, 0, "e"], [72442, 0, "d"], [72443, 0, " "], [72444, 0, "d"], [72445, 0, "o"], [72446, 0, "c"], [72447, 0, "u"], [72448, 0, "m"], [72449, 0, "e"], [72450, 0, "n"], [72451, 0, "t"], [72452, 0, " "], [72453, 0, "s"], [72454, 0, "t"], [72455, 0, "a"], [72456, 0, "t"], [72457, 0, "e"], [72458, 0, "s"], [72459, 0, " "], [72460, 0, "t"], [72461, 0, "h"], [72462, 0, "a"], [72463, 0, "t"], [72464, 0, " "], [72465, 0, "m"], [72466, 0, "a"], [72467, 0, "y"], [72468, 0, " "], [72469, 0, "b"], [72470, 0, "e"], [72471, 0, " "], [72472, 0, "s"], [72473, 0, "u"], [72474, 0, "r"], [72475, 0, "p"], [72476, 0, "r"], [72477, 0, "i"], [72478, 0, "s"], [72479, 0, "i"], [72480, 0, "n"], [72481, 0, "g"], [72482, 0, " "], [72483, 0, "t"], [72484, 0, "o"], [72485, 0, " "], [72486, 0, "a"], [72487, 0, "p"], [72488, 0, "p"], [72489, 0, "l"], [72490, 0, "i"], [72491, 0, "c"], [72492, 0, "a"], [72493, 0, "t"], [72494, 0, "i"], [72495, 0, "o"], [72496, 0, "n"], [72497, 0, " "], [72498, 0, "p"], [72499, 0, "r"], [72500, 0, "o"], [72501, 0, "g"], [72502, 0, "r"], [72503, 0, "a"], [72504, 0, "m"], [72505, 0, "m"], [72506, 0, "e"], [72507, 0, "r"], [72508, 0, "s"], [72509, 0, " "], [72510, 0, "w"], [72511, 0, "h"], [72512, 0, "o"], [72513, 0, " "], [72514, 0, "a"], [72515, 0, "r"], [72516, 0, "e"], [72517, 0, " "], [72518, 0, "m"], [72519, 0, "o"], [72520, 0, "r"], [72521, 0, "e"], [72522, 0, " "], [72523, 0, "f"], [72524, 0, "a"], [72525, 0, "m"], [72526, 0, "i"], [72527, 0, "l"], [72528, 0, "i"], [72529, 0, "a"], [72530, 0, "r"], [72531, 0, " "], [72532, 0, "w"], [72533, 0, "i"], [72534, 0, "t"], [72535, 0, "h"], [72536, 0, " "], [72537, 0, "s"], [72538, 0, "e"], [72539, 0, "q"], [72540, 0, "u"], [72541, 0, "e"], [72542, 0, "n"], [72543, 0, "t"], [72544, 0, "i"], [72545, 0, "a"], [72546, 0, "l"], [72547, 0, " "], [72548, 0, "p"], [72549, 0, "r"], [72550, 0, "o"], [72551, 0, "g"], [72552, 0, "r"], [72553, 0, "a"], [72554, 0, "m"], [72555, 0, "s"], [72556, 0, "."], [72790, 1], [72789, 1], [72788, 1], [72787, 1], [72786, 1], [72785, 1], [72784, 1], [72783, 1], [72782, 1], [72781, 1], [72780, 1], [72779, 1], [72778, 1], [72777, 1], [72776, 1], [72775, 1], [72774, 1], [72773, 1], [72772, 1], [72771, 1], [72770, 1], [72769, 1], [72768, 1], [72767, 1], [72766, 1], [72765, 1], [72764, 1], [72763, 1], [72762, 1], [72761, 1], [72760, 1], [72759, 1], [72758, 1], [72757, 1], [72756, 1], [72755, 1], [72754, 1], [72753, 1], [72752, 1], [72751, 1], [72750, 1], [72749, 1], [72748, 1], [72747, 1], [72746, 1], [72745, 1], [72744, 1], [72743, 1], [72742, 1], [72741, 1], [72740, 1], [72739, 1], [72738, 1], [72737, 1], [72736, 1], [72735, 1], [72734, 1], [72733, 1], [72732, 1], [72731, 1], [72730, 1], [72729, 1], [72728, 1], [72727, 1], [72726, 1], [72725, 1], [72724, 1], [72723, 1], [72722, 1], [72721, 1], [72720, 1], [72719, 1], [72718, 1], [72717, 1], [72716, 1], [72715, 1], [72714, 1], [72713, 1], [72712, 1], [72711, 1], [72710, 1], [72709, 1], [72708, 1], [72707, 1], [72706, 1], [72705, 1], [72704, 1], [72703, 1], [72703, 0, "\n"], [71152, 0, "s"], [72706, 0, "T"], [72707, 0, "w"], [72708, 0, "o"], [72709, 0, " "], [72710, 0, "i"], [72711, 0, "m"], [72712, 0, "p"], [72713, 0, "o"], [72714, 0, "r"], [72715, 0, "t"], [72716, 0, "a"], [72717, 0, "n"], [72718, 0, "t"], [72719, 0, " "], [72720, 0, "f"], [72721, 0, "e"], [72722, 0, "r"], [72723, 0, "a"], [72724, 0, "t"], [72725, 0, "u"], [72725, 1], [72724, 1], [72723, 1], [72722, 1], [72722, 0, "a"], [72723, 0, "t"], [72724, 0, "u"], [72725, 0, "r"], [72726, 0, "e"], [72727, 0, "s"], [72727, 1], [72726, 1], [72725, 1], [72724, 1], [72723, 1], [72722, 1], [72721, 1], [72720, 1], [72719, 1], [72718, 1], [72717, 1], [72716, 1], [72715, 1], [72714, 1], [72713, 1], [72712, 1], [72711, 1], [72710, 1], [72709, 1], [72708, 1], [72707, 1], [72707, 0, "h"], [72708, 0, "e"], [72709, 0, " "], [72710, 0, "C"], [72711, 0, "R"], [72712, 0, "D"], [72713, 0, "T"], [72714, 0, " "], [72715, 0, "d"], [72716, 0, "e"], [72717, 0, "f"], [72718, 0, "i"], [72719, 0, "n"], [72720, 0, "e"], [72721, 0, "d"], [72722, 0, " "], [72723, 0, "i"], [72724, 0, "n"], [72725, 0, " "], [72726, 0, "t"], [72727, 0, "h"], [72728, 0, "i"], [72729, 0, "s"], [72730, 0, " "], [72731, 0, "p"], [72732, 0, "a"], [72733, 0, "p"], [72734, 0, "e"], [72735, 0, "r"], [72736, 0, " "], [72737, 0, "s"], [72738, 0, "u"], [72739, 0, "p"], [72740, 0, "p"], [72741, 0, "o"], [72742, 0, "r"], [72743, 0, "t"], [72744, 0, "s"], [72745, 0, " "], [72746, 0, "i"], [72747, 0, "n"], [72748, 0, "s"], [72749, 0, "e"], [72750, 0, "r"], [72751, 0, "t"], [72752, 0, "i"], [72753, 0, "o"], [72754, 0, "n"], [72755, 0, ","], [72756, 0, " "], [72757, 0, "d"], [72758, 0, "e"], [72759, 0, "l"], [72760, 0, "e"], [72761, 0, "t"], [72762, 0, "i"], [72763, 0, "o"], [72764, 0, "n"], [72765, 0, " "], [72766, 0, "a"], [72767, 0, "n"], [72768, 0, "d"], [72769, 0, " "], [72770, 0, "a"], [72771, 0, "s"], [72772, 0, "s"], [72773, 0, "i"], [72774, 0, "g"], [72775, 0, "n"], [72776, 0, "m"], [72777, 0, "e"], [72778, 0, "n"], [72779, 0, "t"], [72780, 0, " "], [72781, 0, "o"], [72782, 0, "p"], [72783, 0, "e"], [72784, 0, "r"], [72785, 0, "a"], [72786, 0, "t"], [72787, 0, "i"], [72788, 0, "o"], [72789, 0, "n"], [72790, 0, "s"], [72791, 0, "."], [72792, 0, " "], [72793, 0, "I"], [72794, 0, "n"], [72795, 0, " "], [72796, 0, "a"], [72797, 0, "d"], [72798, 0, "d"], [72799, 0, "i"], [72800, 0, "t"], [72801, 0, "i"], [72802, 0, "o"], [72803, 0, "n"], [72804, 0, " "], [72805, 0, "t"], [72806, 0, "o"], [72807, 0, " "], [72808, 0, "t"], [72809, 0, "h"], [72810, 0, "e"], [72811, 0, "s"], [72812, 0, "e"], [72813, 0, ","], [72814, 0, " "], [72815, 0, "i"], [72816, 0, "t"], [72817, 0, " "], [72818, 0, "w"], [72819, 0, "o"], [72820, 0, "u"], [72821, 0, "l"], [72822, 0, "d"], [72823, 0, " "], [72824, 0, "b"], [72825, 0, "e"], [72826, 0, " "], [72827, 0, "u"], [72828, 0, "s"], [72829, 0, "e"], [72830, 0, "f"], [72831, 0, "u"], [72832, 0, "l"], [72833, 0, " "], [72834, 0, "t"], [72835, 0, "o"], [72836, 0, " "], [72837, 0, "s"], [72838, 0, "u"], [72839, 0, "p"], [72840, 0, "p"], [72841, 0, "o"], [72842, 0, "r"], [72843, 0, "t"], [72844, 0, " "], [72845, 0, "a"], [72846, 0, " "], [72847, 0, "\\"], [72848, 0, "e"], [72849, 0, "m"], [72850, 0, "p"], [72851, 0, "h"], [72852, 0, "{"], [72853, 0, "m"], [72854, 0, "o"], [72855, 0, "v"], [72856, 0, "e"], [72857, 0, "}"], [72858, 0, " "], [72859, 0, "o"], [72860, 0, "p"], [72861, 0, "e"], [72862, 0, "r"], [72863, 0, "a"], [72864, 0, "t"], [72865, 0, "i"], [72866, 0, "o"], [72867, 0, "n"], [72868, 0, " "], [72869, 0, "("], [72870, 0, "t"], [72871, 0, "o"], [72872, 0, " "], [72873, 0, "c"], [72874, 0, "h"], [72875, 0, "a"], [72876, 0, "n"], [72877, 0, "g"], [72878, 0, "e"], [72879, 0, " "], [72880, 0, "t"], [72881, 0, "h"], [72882, 0, "e"], [72883, 0, " "], [72884, 0, "o"], [72885, 0, "r"], [72886, 0, "d"], [72887, 0, "e"], [72888, 0, "r"], [72889, 0, " "], [72890, 0, "o"], [72891, 0, "f"], [72892, 0, " "], [72893, 0, "e"], [72894, 0, "l"], [72895, 0, "e"], [72896, 0, "m"], [72897, 0, "e"], [72898, 0, "n"], [72899, 0, "t"], [72900, 0, "s"], [72901, 0, " "], [72902, 0, "i"], [72903, 0, "n"], [72904, 0, " "], [72905, 0, "a"], [72906, 0, "n"], [72907, 0, " "], [72908, 0, "o"], [72909, 0, "r"], [72910, 0, "d"], [72911, 0, "e"], [72912, 0, "r"], [72913, 0, "e"], [72914, 0, "d"], [72915, 0, " "], [72916, 0, "l"], [72917, 0, "i"], [72918, 0, "s"], [72919, 0, "t"], [72920, 0, ","], [72921, 0, " "], [72922, 0, "o"], [72923, 0, "r"], [72924, 0, " "], [72925, 0, "t"], [72926, 0, "o"], [72927, 0, " "], [72928, 0, "m"], [72929, 0, "o"], [72930, 0, "v"], [72931, 0, "e"], [72932, 0, " "], [72933, 0, "a"], [72934, 0, " "], [72935, 0, "s"], [72936, 0, "u"], [72937, 0, "b"], [72938, 0, "t"], [72939, 0, "r"], [72940, 0, "e"], [72941, 0, "e"], [72942, 0, " "], [72943, 0, "f"], [72944, 0, "r"], [72945, 0, "o"], [72946, 0, "m"], [72947, 0, " "], [72948, 0, "o"], [72949, 0, "n"], [72950, 0, "e"], [72951, 0, " "], [72952, 0, "p"], [72953, 0, "o"], [72954, 0, "s"], [72955, 0, "i"], [72956, 0, "t"], [72957, 0, "i"], [72958, 0, "o"], [72959, 0, "n"], [72960, 0, " "], [72961, 0, "i"], [72962, 0, "n"], [72963, 0, " "], [72964, 0, "a"], [72965, 0, " "], [72966, 0, "d"], [72967, 0, "o"], [72968, 0, "c"], [72969, 0, "u"], [72970, 0, "m"], [72971, 0, "e"], [72972, 0, "n"], [72973, 0, "t"], [72974, 0, " "], [72975, 0, "t"], [72976, 0, "o"], [72977, 0, " "], [72978, 0, "a"], [72979, 0, "n"], [72980, 0, "o"], [72981, 0, "t"], [72982, 0, "h"], [72983, 0, "e"], [72984, 0, "r"], [72985, 0, ")"], [72986, 0, " "], [72987, 0, "a"], [72988, 0, "n"], [72989, 0, "d"], [72990, 0, " "], [72991, 0, "a"], [72992, 0, "n"], [72993, 0, " "], [72994, 0, "\\"], [72995, 0, "e"], [72996, 0, "m"], [72997, 0, "p"], [72998, 0, "h"], [72999, 0, "{"], [73000, 0, "u"], [73001, 0, "n"], [73002, 0, "d"], [73003, 0, "o"], [73004, 0, "}"], [73005, 0, " "], [73006, 0, "o"], [73007, 0, "p"], [73008, 0, "e"], [73009, 0, "r"], [73010, 0, "a"], [73011, 0, "t"], [73012, 0, "i"], [73013, 0, "o"], [73014, 0, "n"], [73015, 0, "."], [73016, 0, " "], [73017, 0, "W"], [73018, 0, "e"], [73019, 0, " "], [73020, 0, "p"], [73021, 0, "l"], [73022, 0, "a"], [73023, 0, "n"], [73024, 0, " "], [73025, 0, "t"], [73026, 0, "o"], [73027, 0, " "], [73028, 0, "a"], [73029, 0, "d"], [73030, 0, "d"], [73031, 0, "r"], [73032, 0, "e"], [73033, 0, "s"], [73034, 0, "s"], [73035, 0, " "], [73036, 0, "t"], [73037, 0, "h"], [73038, 0, "e"], [73039, 0, "s"], [73040, 0, "e"], [73041, 0, " "], [73042, 0, "m"], [73043, 0, "i"], [73044, 0, "s"], [73045, 0, "s"], [73046, 0, "i"], [73047, 0, "n"], [73048, 0, "g"], [73049, 0, " "], [73050, 0, "f"], [73051, 0, "e"], [73052, 0, "a"], [73053, 0, "t"], [73054, 0, "u"], [73055, 0, "r"], [73056, 0, "e"], [73057, 0, "s"], [73058, 0, " "], [73059, 0, "i"], [73060, 0, "n"], [73061, 0, " "], [73062, 0, "f"], [73063, 0, "u"], [73064, 0, "t"], [73065, 0, "u"], [73066, 0, "r"], [73067, 0, "e"], [73068, 0, " "], [73069, 0, "w"], [73070, 0, "o"], [73071, 0, "r"], [73072, 0, "k"], [73073, 0, "."], [71423, 1], [71423, 1], [71423, 1], [71423, 1], [71423, 1], [71423, 1], [71423, 1], [71423, 1], [71423, 1], [71423, 1], [71423, 1], [71423, 1], [71423, 1], [71423, 0, "w"], [71424, 0, "a"], [71425, 0, "i"], [71426, 0, "t"], [71427, 0, "i"], [71428, 0, "n"], [71429, 0, "g"], [71430, 0, " "], [71431, 0, "f"], [71432, 0, "o"], [71433, 0, "r"], [657, 1], [656, 1], [655, 1], [654, 1], [653, 1], [653, 0, "t"], [654, 0, "r"], [655, 0, "u"], [656, 0, "e"], [73238, 0, "\n"], [73239, 0, "\\"], [73240, 0, "c"], [73241, 0, "l"], [73242, 0, "e"], [73243, 0, "a"], [73244, 0, "r"], [73245, 0, "p"], [73246, 0, "a"], [73247, 0, "g"], [73248, 0, "e"], [73299, 0, "\n"], [73300, 0, "\n"], [73300, 0, "I"], [73301, 0, "n"], [73302, 0, " "], [73303, 0, "t"], [73304, 0, "h"], [73305, 0, "i"], [73306, 0, "s"], [73307, 0, " "], [73308, 0, "a"], [73309, 0, "p"], [73310, 0, "p"], [73311, 0, "e"], [73312, 0, "n"], [73313, 0, "d"], [73314, 0, "i"], [73315, 0, "x"], [73316, 0, " "], [73317, 0, "w"], [73318, 0, "e"], [73319, 0, " "], [73320, 0, "p"], [73321, 0, "r"], [73322, 0, "o"], [73323, 0, "v"], [73324, 0, "i"], [73325, 0, "d"], [73326, 0, "e"], [73327, 0, " "], [73328, 0, "a"], [73329, 0, " "], [73330, 0, "p"], [73331, 0, "r"], [73332, 0, "o"], [73333, 0, "o"], [73334, 0, "f"], [73335, 0, " "], [73336, 0, "o"], [73337, 0, "f"], [73338, 0, " "], [73339, 0, "t"], [73340, 0, "h"], [73341, 0, "e"], [73342, 0, " "], [73343, 0, "t"], [73344, 0, "h"], [73345, 0, "e"], [73346, 0, "o"], [73347, 0, "r"], [73348, 0, "e"], [73349, 0, "m"], [73350, 0, " "], [73351, 0, "s"], [73352, 0, "t"], [73353, 0, "a"], [73354, 0, "t"], [73355, 0, "e"], [73356, 0, "d"], [73357, 0, " "], [73358, 0, "i"], [73359, 0, "n"], [73360, 0, " "], [73361, 0, "s"], [73362, 0, "e"], [73362, 1], [73361, 1], [73361, 0, "S"], [73362, 0, "e"], [73363, 0, "c"], [73364, 0, "t"], [73365, 0, "i"], [73366, 0, "o"], [73367, 0, "n"], [73368, 0, "~"], [73369, 0, "\\"], [73370, 0, "r"], [73371, 0, "e"], [73372, 0, "f"], [73373, 0, "{"], [73374, 0, "s"], [73375, 0, "e"], [73376, 0, "c"], [73377, 0, ":"], [73378, 0, "c"], [73379, 0, "o"], [73380, 0, "n"], [73381, 0, "v"], [73382, 0, "e"], [73383, 0, "r"], [73384, 0, "g"], [73385, 0, "e"], [73386, 0, "n"], [73387, 0, "c"], [73388, 0, "e"], [73389, 0, "}"], [73390, 0, "."], [73392, 0, "\n"], [73393, 0, "\n"], [73393, 0, "\\"], [73394, 0, "b"], [73395, 0, "e"], [73396, 0, "g"], [73397, 0, "i"], [73398, 0, "n"], [73399, 0, "{"], [73400, 0, "l"], [73401, 0, "e"], [73402, 0, "m"], [73403, 0, "m"], [73404, 0, "a"], [73405, 0, "}"], [73406, 0, "\n"], [73407, 0, "\\"], [73408, 0, "e"], [73409, 0, "n"], [73410, 0, "d"], [73411, 0, "{"], [73412, 0, "l"], [73413, 0, "e"], [73414, 0, "m"], [73415, 0, "m"], [73416, 0, "a"], [73417, 0, "}"], [73406, 0, "\n"], [73407, 0, "T"], [73408, 0, "h"], [73409, 0, "e"], [73410, 0, " "], [73411, 0, "e"], [73412, 0, "v"], [73413, 0, "a"], [73414, 0, "l"], [73415, 0, "u"], [73416, 0, "a"], [73417, 0, "t"], [73417, 1], [73416, 1], [73415, 1], [73414, 1], [73413, 1], [73412, 1], [73411, 1], [73410, 1], [73409, 1], [73408, 1], [73407, 1], [73407, 0, "I"], [73408, 0, "f"], [73409, 0, " "], [73410, 0, "$"], [73411, 0, "\\"], [73412, 0, "m"], [73413, 0, "a"], [73414, 0, "t"], [73415, 0, "h"], [73416, 0, "i"], [73417, 0, "t"], [73418, 0, "{"], [73419, 0, "i"], [73420, 0, "d"], [73421, 0, "}"], [73422, 0, "_"], [73423, 0, "1"], [73424, 0, "$"], [73425, 0, " "], [73426, 0, "a"], [73427, 0, "p"], [73428, 0, "p"], [73429, 0, "e"], [73430, 0, "a"], [73431, 0, "r"], [73432, 0, "s"], [73433, 0, " "], [73434, 0, "b"], [73435, 0, "e"], [73436, 0, "f"], [73437, 0, "o"], [73438, 0, "r"], [73439, 0, "e"], [73440, 0, " "], [73441, 0, "$"], [73442, 0, "\\"], [73443, 0, "m"], [73444, 0, "a"], [73445, 0, "t"], [73446, 0, "h"], [73447, 0, "i"], [73448, 0, "t"], [73449, 0, "{"], [73450, 0, "i"], [73451, 0, "d"], [73452, 0, "}"], [73453, 0, "_"], [73454, 0, "2"], [73455, 0, "$"], [73456, 0, " "], [73457, 0, "i"], [73458, 0, "n"], [73459, 0, " "], [73460, 0, "a"], [73461, 0, "n"], [73462, 0, " "], [73463, 0, "o"], [73464, 0, "r"], [73465, 0, "d"], [73466, 0, "e"], [73467, 0, "r"], [73468, 0, "e"], [73469, 0, "d"], [73470, 0, " "], [73471, 0, "l"], [73472, 0, "i"], [73473, 0, "s"], [73474, 0, "t"], [73475, 0, ","], [73476, 0, " "], [73477, 0, "a"], [73478, 0, "n"], [73479, 0, "d"], [73480, 0, " "], [73481, 0, "t"], [73482, 0, "h"], [73483, 0, "e"], [73484, 0, " "], [73485, 0, "l"], [73486, 0, "i"], [73487, 0, "s"], [73488, 0, "t"], [73489, 0, " "], [73490, 0, "i"], [73491, 0, "s"], [73492, 0, " "], [73493, 0, "m"], [73494, 0, "u"], [73495, 0, "t"], [73496, 0, "a"], [73497, 0, "t"], [73498, 0, "e"], [73499, 0, "d"], [73500, 0, " "], [73501, 0, "a"], [73502, 0, "c"], [73503, 0, "c"], [73504, 0, "o"], [73505, 0, "r"], [73506, 0, "d"], [73507, 0, "i"], [73508, 0, "n"], [73509, 0, "g"], [73510, 0, " "], [73511, 0, "t"], [73512, 0, "o"], [73513, 0, " "], [73514, 0, "t"], [73515, 0, "h"], [73516, 0, "e"], [73517, 0, " "], [73518, 0, "v"], [73518, 1], [73518, 0, "e"], [73519, 0, "v"], [73520, 0, "a"], [73521, 0, "l"], [73522, 0, "u"], [73523, 0, "a"], [73524, 0, "t"], [73525, 0, "i"], [73526, 0, "o"], [73527, 0, "n"], [73528, 0, " "], [73529, 0, "r"], [73530, 0, "u"], [73531, 0, "l"], [73532, 0, "e"], [73533, 0, "s"], [73534, 0, ","], [73535, 0, " "], [73426, 1], [73426, 1], [73426, 1], [73426, 1], [73426, 1], [73426, 1], [73426, 1], [73426, 1], [73426, 1], [73426, 1], [73426, 1], [73426, 1], [73426, 1], [73426, 1], [73426, 0, "p"], [73427, 0, "r"], [73428, 0, "e"], [73429, 0, "c"], [73430, 0, "e"], [73431, 0, "d"], [73432, 0, "e"], [73433, 0, "s"], [73530, 0, "$"], [73531, 0, "\\"], [73532, 0, "m"], [73533, 0, "a"], [73534, 0, "t"], [73535, 0, "h"], [73536, 0, "i"], [73537, 0, "t"], [73538, 0, "{"], [73539, 0, "i"], [73540, 0, "d"], [73541, 0, "}"], [73542, 0, "_"], [73543, 0, "1"], [73544, 0, "$"], [73545, 0, " "], [73546, 0, "a"], [73547, 0, "l"], [73548, 0, "s"], [73549, 0, "o"], [73550, 0, " "], [73551, 0, "p"], [73552, 0, "r"], [73553, 0, "e"], [73554, 0, "c"], [73555, 0, "e"], [73556, 0, "d"], [73557, 0, "e"], [73558, 0, "s"], [73559, 0, " "], [73560, 0, "$"], [73561, 0, "\\"], [73562, 0, "m"], [73563, 0, "a"], [73564, 0, "t"], [73565, 0, "h"], [73566, 0, "i"], [73567, 0, "t"], [73568, 0, "{"], [73569, 0, "i"], [73570, 0, "d"], [73571, 0, "}"], [73572, 0, "_"], [73573, 0, "2"], [73574, 0, "$"], [73575, 0, " "], [73576, 0, "i"], [73577, 0, "n"], [73578, 0, " "], [73579, 0, "a"], [73580, 0, "l"], [73581, 0, "l"], [73582, 0, " "], [73583, 0, "r"], [73584, 0, "e"], [73585, 0, "s"], [73586, 0, "u"], [73587, 0, "l"], [73588, 0, "t"], [73589, 0, "i"], [73590, 0, "n"], [73591, 0, "g"], [73592, 0, " "], [73592, 1], [73591, 1], [73590, 1], [73589, 1], [73588, 1], [73587, 1], [73586, 1], [73585, 1], [73584, 1], [73583, 1], [73583, 0, "s"], [73584, 0, "u"], [73585, 0, "c"], [73586, 0, "c"], [73587, 0, "e"], [73588, 0, "s"], [73589, 0, "s"], [73590, 0, "i"], [73591, 0, "v"], [73592, 0, "e"], [73593, 0, " "], [73594, 0, "s"], [73595, 0, "t"], [73595, 1], [73594, 1], [73594, 0, "d"], [73595, 0, "o"], [73596, 0, "c"], [73597, 0, "u"], [73598, 0, "m"], [73599, 0, "e"], [73600, 0, "n"], [73601, 0, "t"], [73602, 0, " "], [73603, 0, "s"], [73604, 0, "t"], [73605, 0, "a"], [73606, 0, "t"], [73607, 0, "e"], [73608, 0, "s"], [73609, 0, "."], [73391, 0, "\n"], [73392, 0, "\n"], [73393, 0, "\\"], [73394, 0, "b"], [73395, 0, "e"], [73396, 0, "g"], [73397, 0, "i"], [73398, 0, "n"], [73399, 0, "{"], [73400, 0, "d"], [73401, 0, "e"], [73402, 0, "f"], [73403, 0, "i"], [73404, 0, "n"], [73405, 0, "i"], [73406, 0, "t"], [73407, 0, "i"], [73408, 0, "o"], [73409, 0, "n"], [73410, 0, "}"], [73411, 0, "\n"], [73412, 0, "\\"], [73413, 0, "e"], [73414, 0, "n"], [73415, 0, "d"], [73416, 0, "{"], [73417, 0, "d"], [73418, 0, "e"], [73419, 0, "f"], [73420, 0, "i"], [73421, 0, "n"], [73422, 0, "i"], [73423, 0, "t"], [73424, 0, "i"], [73425, 0, "o"], [73426, 0, "n"], [73427, 0, "}"], [73411, 0, "\n"], [73391, 0, " "], [73392, 0, "W"], [73393, 0, "e"], [73394, 0, " "], [73395, 0, "b"], [73396, 0, "e"], [73397, 0, "g"], [73398, 0, "i"], [73399, 0, "n"], [73400, 0, " "], [73401, 0, "w"], [73402, 0, "i"], [73403, 0, "t"], [73404, 0, "h"], [73405, 0, " "], [73406, 0, "s"], [73407, 0, "o"], [73408, 0, "m"], [73409, 0, "e"], [73410, 0, " "], [73411, 0, "l"], [73412, 0, "e"], [73413, 0, "m"], [73414, 0, "m"], [73415, 0, "a"], [73416, 0, "s"], [73417, 0, " "], [73418, 0, "a"], [73419, 0, "b"], [73420, 0, "o"], [73421, 0, "u"], [73422, 0, "t"], [73423, 0, " "], [73424, 0, "o"], [73425, 0, "r"], [73426, 0, "d"], [73427, 0, "e"], [73428, 0, "r"], [73429, 0, "e"], [73430, 0, "d"], [73431, 0, " "], [73432, 0, "l"], [73433, 0, "i"], [73434, 0, "s"], [73435, 0, "t"], [73436, 0, "s"], [73437, 0, ","], [73438, 0, " "], [73439, 0, "a"], [73440, 0, "n"], [73441, 0, "d"], [73442, 0, " "], [73443, 0, "t"], [73444, 0, "h"], [73445, 0, "e"], [73446, 0, "n"], [73447, 0, " "], [73448, 0, "w"], [73449, 0, "o"], [73450, 0, "r"], [73451, 0, "k"], [73452, 0, " "], [73453, 0, "o"], [73454, 0, "u"], [73455, 0, "r"], [73456, 0, " "], [73457, 0, "w"], [73458, 0, "a"], [73459, 0, "y"], [73460, 0, " "], [73461, 0, "t"], [73462, 0, "o"], [73463, 0, "w"], [73464, 0, "a"], [73465, 0, "r"], [73466, 0, "d"], [73467, 0, "s"], [73468, 0, " "], [73469, 0, "m"], [73470, 0, "o"], [73471, 0, "r"], [73472, 0, "e"], [73473, 0, " "], [73474, 0, "c"], [73475, 0, "o"], [73476, 0, "m"], [73477, 0, "p"], [73478, 0, "l"], [73479, 0, "e"], [73480, 0, " "], [73480, 1], [73480, 0, "x"], [73481, 0, " "], [73482, 0, "c"], [73483, 0, "o"], [73484, 0, "m"], [73485, 0, "p"], [73486, 0, "o"], [73487, 0, "s"], [73488, 0, "i"], [73489, 0, "t"], [73490, 0, "e"], [73491, 0, " "], [73492, 0, "d"], [73493, 0, "o"], [73494, 0, "c"], [73495, 0, "u"], [73496, 0, "m"], [73497, 0, "e"], [73498, 0, "n"], [73499, 0, "t"], [73500, 0, "s"], [73501, 0, "."], [73492, 0, "J"], [73493, 0, "S"], [73494, 0, "O"], [73495, 0, "N"], [73496, 0, " "], [73528, 0, "L"], [73529, 0, "i"], [73530, 0, "t"], [73530, 1], [73530, 0, "s"], [73531, 0, "t"], [73532, 0, " "], [73533, 0, "e"], [73534, 0, "l"], [73535, 0, "e"], [73536, 0, "m"], [73537, 0, "e"], [73538, 0, "n"], [73539, 0, " "], [73540, 0, "t"], [73541, 0, " "], [73541, 1], [73540, 1], [73539, 1], [73539, 0, "t"], [73540, 0, " "], [73541, 0, "$"], [73542, 0, "k"], [73543, 0, "_"], [73544, 0, "1"], [73545, 0, "$"], [73593, 1], [73592, 1], [73591, 1], [73590, 1], [73589, 1], [73588, 1], [73587, 1], [73586, 1], [73585, 1], [73584, 1], [73583, 1], [73583, 0, "k"], [73608, 1], [73607, 1], [73606, 1], [73605, 1], [73604, 1], [73603, 1], [73602, 1], [73601, 1], [73600, 1], [73599, 1], [73598, 1], [73598, 0, "k"], [73723, 1], [73722, 1], [73721, 1], [73720, 1], [73719, 1], [73718, 1], [73717, 1], [73716, 1], [73715, 1], [73714, 1], [73713, 1], [73713, 0, "k"], [73693, 1], [73692, 1], [73691, 1], [73690, 1], [73689, 1], [73688, 1], [73687, 1], [73686, 1], [73685, 1], [73684, 1], [73683, 1], [73683, 0, "k"], [73546, 0, " "], [73547, 0, "\\"], [73548, 0, "e"], [73549, 0, "m"], [73550, 0, "p"], [73551, 0, "h"], [73552, 0, "{"], [73553, 0, "p"], [73554, 0, "r"], [73555, 0, "e"], [73556, 0, "c"], [73557, 0, "e"], [73558, 0, "d"], [73559, 0, "e"], [73560, 0, "s"], [73561, 0, "}"], [73562, 0, " "], [73563, 0, "l"], [73564, 0, "i"], [73565, 0, "s"], [73566, 0, "t"], [73567, 0, " "], [73568, 0, "e"], [73569, 0, "l"], [73570, 0, "e"], [73571, 0, "m"], [73572, 0, "e"], [73573, 0, "n"], [73574, 0, "t"], [73575, 0, " "], [73576, 0, "$"], [73577, 0, "k"], [73578, 0, "_"], [73579, 0, "2"], [73580, 0, "$"], [73581, 0, " "], [73582, 0, "i"], [73583, 0, "n"], [73584, 0, " "], [73585, 0, "\\"], [73585, 1], [73585, 0, "$"], [73586, 0, "\\"], [73587, 0, "m"], [73588, 0, "a"], [73589, 0, "t"], [73590, 0, "h"], [73591, 0, "i"], [73592, 0, "t"], [73593, 0, "{"], [73594, 0, "c"], [73595, 0, "t"], [73596, 0, "x"], [73597, 0, "}"], [73598, 0, "$"], [73599, 0, " "], [73600, 0, "i"], [73601, 0, "f"], [73602, 0, " "], [73579, 1], [73579, 0, "n"], [73603, 0, "t"], [73604, 0, "h"], [73605, 0, "e"], [73606, 0, "r"], [73607, 0, "e"], [73608, 0, " "], [73609, 0, "e"], [73610, 0, "x"], [73611, 0, "i"], [73612, 0, "s"], [73613, 0, "t"], [73614, 0, " "], [73615, 0, "$"], [73616, 0, "k"], [73617, 0, "_"], [73618, 0, "2"], [73619, 0, ","], [73620, 0, " "], [73621, 0, "\\"], [73622, 0, "d"], [73623, 0, "o"], [73624, 0, "t"], [73625, 0, "s"], [73626, 0, ","], [73627, 0, " "], [73628, 0, "k"], [73629, 0, "_"], [73630, 0, "{"], [73631, 0, "n"], [73632, 0, "-"], [73633, 0, "1"], [73634, 0, "}"], [73635, 0, "$"], [73636, 0, " "], [73637, 0, "s"], [73638, 0, "u"], [73639, 0, "c"], [73640, 0, "h"], [73641, 0, " "], [73642, 0, "t"], [73643, 0, "h"], [73644, 0, "a"], [73645, 0, "t"], [73646, 0, " "], [73647, 0, "$"], [73648, 0, "\\"], [73649, 0, "m"], [73650, 0, "a"], [73651, 0, "t"], [73652, 0, "h"], [73653, 0, "i"], [73654, 0, "t"], [73655, 0, "{"], [73656, 0, "c"], [73657, 0, "t"], [73658, 0, "x"], [73659, 0, "}"], [73660, 0, "("], [73661, 0, "\\"], [73662, 0, "m"], [73663, 0, "a"], [73664, 0, "t"], [73665, 0, "h"], [73666, 0, "s"], [73667, 0, "f"], [73668, 0, "{"], [73669, 0, "n"], [73670, 0, "e"], [73671, 0, "x"], [73672, 0, "t"], [73673, 0, "}"], [73674, 0, "("], [73675, 0, "k"], [73676, 0, "_"], [73677, 0, "1"], [73678, 0, ")"], [73679, 0, ")"], [73680, 0, " "], [73681, 0, "="], [73682, 0, " "], [73683, 0, "k"], [73684, 0, "_"], [73685, 0, "2"], [73686, 0, " "], [73687, 0, "\\"], [73688, 0, ";"], [73689, 0, "\\"], [73690, 0, "w"], [73691, 0, "e"], [73692, 0, "d"], [73693, 0, "g"], [73694, 0, "e"], [73695, 0, "\\"], [73696, 0, ";"], [73697, 0, " "], [73698, 0, "\\"], [73699, 0, "m"], [73700, 0, "a"], [73701, 0, "t"], [73702, 0, "h"], [73703, 0, "i"], [73704, 0, "t"], [73705, 0, "{"], [73706, 0, "c"], [73707, 0, "t"], [73708, 0, "x"], [73709, 0, "}"], [73710, 0, "("], [73711, 0, "\\"], [73712, 0, "m"], [73713, 0, "a"], [73714, 0, "t"], [73715, 0, "h"], [73716, 0, "s"], [73717, 0, "f"], [73718, 0, "{"], [73719, 0, "n"], [73720, 0, "e"], [73721, 0, "x"], [73722, 0, "t"], [73723, 0, "}"], [73724, 0, "("], [73725, 0, "k"], [73726, 0, "_"], [73727, 0, "2"], [73648, 0, "\\"], [73649, 0, "f"], [73650, 0, "o"], [73651, 0, "r"], [73652, 0, "a"], [73653, 0, "l"], [73654, 0, "l"], [73655, 0, " "], [73646, 0, " "], [73647, 0, "f"], [73648, 0, "o"], [73649, 0, "r"], [73650, 0, " "], [73651, 0, "a"], [73652, 0, "l"], [73653, 0, "l"], [73654, 0, " "], [73655, 0, "$"], [73656, 0, "i"], [73657, 0, "$"], [73658, 0, " "], [73659, 0, "w"], [73660, 0, "i"], [73661, 0, "t"], [73662, 0, "h"], [73663, 0, " "], [73664, 0, "$"], [73665, 0, "1"], [73666, 0, " "], [73667, 0, "\\"], [73668, 0, "l"], [73669, 0, "e"], [73670, 0, " "], [73671, 0, "i"], [73672, 0, " "], [73673, 0, "<"], [73674, 0, " "], [73675, 0, "n"], [73676, 0, "$"], [73677, 0, ","], [73687, 1], [73686, 1], [73685, 1], [73684, 1], [73683, 1], [73682, 1], [73681, 1], [73680, 1], [73709, 1], [73709, 0, "i"], [73717, 1], [73717, 0, "{"], [73718, 0, "i"], [73719, 0, "+"], [73720, 0, "1"], [73721, 0, "}"], [73722, 0, "$"], [73723, 0, "."], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73724, 1], [73584, 0, " "], [73585, 0, "t"], [73586, 0, "h"], [73587, 0, "e"], [73588, 0, " "], [73589, 0, "o"], [73590, 0, "r"], [73591, 0, "d"], [73592, 0, "e"], [73593, 0, "r"], [73594, 0, "e"], [73595, 0, "d"], [73596, 0, " "], [73597, 0, "l"], [73598, 0, "i"], [73599, 0, "s"], [73600, 0, "t"], [73758, 0, "\n"], [73759, 0, "\n"], [73760, 0, "T"], [73761, 0, "h"], [73762, 0, "e"], [73763, 0, " "], [73764, 0, "n"], [73765, 0, "o"], [73766, 0, "t"], [73767, 0, "i"], [73768, 0, "o"], [73769, 0, "n"], [73770, 0, " "], [73771, 0, "o"], [73772, 0, "f"], [73773, 0, " "], [73774, 0, "\\"], [73775, 0, "e"], [73776, 0, "m"], [73777, 0, "p"], [73778, 0, "h"], [73779, 0, "{"], [73780, 0, "p"], [73781, 0, "r"], [73782, 0, "e"], [73783, 0, "c"], [73784, 0, "e"], [73785, 0, "d"], [73786, 0, "i"], [73787, 0, "n"], [73788, 0, "g"], [73789, 0, "}"], [73790, 0, " "], [73791, 0, "c"], [73792, 0, "o"], [73793, 0, "r"], [73794, 0, "r"], [73795, 0, "e"], [73796, 0, "s"], [73797, 0, "p"], [73798, 0, "o"], [73799, 0, "n"], [73800, 0, "d"], [73801, 0, "s"], [73802, 0, " "], [73803, 0, "t"], [73804, 0, "o"], [73805, 0, " "], [73806, 0, "t"], [73807, 0, "h"], [73808, 0, "e"], [73809, 0, " "], [73810, 0, "o"], [73811, 0, "r"], [73812, 0, "d"], [73813, 0, "e"], [73814, 0, "r"], [73815, 0, " "], [73816, 0, "i"], [73817, 0, "n"], [73818, 0, " "], [73819, 0, "w"], [73820, 0, "h"], [73821, 0, "i"], [73822, 0, "c"], [73823, 0, "h"], [73824, 0, " "], [73825, 0, "t"], [73826, 0, "h"], [73827, 0, "e"], [73828, 0, " "], [73829, 0, "\\"], [73830, 0, "t"], [73831, 0, "e"], [73832, 0, "x"], [73833, 0, "t"], [73834, 0, "s"], [73835, 0, "c"], [73836, 0, "{"], [73837, 0, "N"], [73838, 0, "e"], [73839, 0, "x"], [73840, 0, "t"], [73841, 0, "}"], [73842, 0, " "], [73843, 0, "r"], [73844, 0, "u"], [73845, 0, "l"], [73846, 0, "e"], [73847, 0, "s"], [73848, 0, " "], [73849, 0, "i"], [73850, 0, "t"], [73851, 0, "e"], [73852, 0, "r"], [73853, 0, "a"], [73854, 0, "t"], [73855, 0, "e"], [73856, 0, " "], [73857, 0, "o"], [73858, 0, "v"], [73859, 0, "e"], [73860, 0, "r"], [73861, 0, " "], [73862, 0, "t"], [73863, 0, "h"], [73864, 0, "e"], [73865, 0, " "], [73866, 0, "l"], [73867, 0, "i"], [73868, 0, "s"], [73869, 0, "t"], [73870, 0, "."], [74062, 0, "\n"], [74063, 0, "\\"], [74064, 0, "b"], [74065, 0, "e"], [74066, 0, "g"], [74067, 0, "i"], [74068, 0, "n"], [74069, 0, "{"], [74070, 0, "p"], [74071, 0, "r"], [74072, 0, "o"], [74073, 0, "o"], [74074, 0, "f"], [74075, 0, "}"], [74076, 0, "\n"], [74077, 0, "\\"], [74078, 0, "e"], [74079, 0, "n"], [74080, 0, "d"], [74081, 0, "{"], [74082, 0, "p"], [74083, 0, "r"], [74084, 0, "o"], [74085, 0, "o"], [74086, 0, "f"], [74087, 0, "}"], [74076, 0, "\n"], [74077, 0, "T"], [74078, 0, "h"], [74079, 0, "e"], [74080, 0, " "], [74081, 0, "o"], [74082, 0, "n"], [74083, 0, "l"], [74084, 0, "y"], [74085, 0, " "], [74086, 0, "r"], [74087, 0, "u"], [74088, 0, "l"], [74089, 0, "e"], [74090, 0, " "], [74091, 0, "t"], [74092, 0, "h"], [74093, 0, "a"], [74094, 0, "t"], [74095, 0, " "], [74096, 0, "m"], [74097, 0, "o"], [74098, 0, "d"], [74099, 0, "i"], [74100, 0, "f"], [74101, 0, "i"], [74102, 0, "e"], [74103, 0, "s"], [74104, 0, " "], [74105, 0, "t"], [74106, 0, "h"], [74107, 0, "e"], [74108, 0, " "], [74109, 0, "\\"], [74110, 0, "t"], [74111, 0, "e"], [74112, 0, "x"], [74113, 0, "t"], [74114, 0, "s"], [74115, 0, "f"], [74116, 0, "{"], [74117, 0, "n"], [74118, 0, "e"], [74119, 0, "x"], [74120, 0, "t"], [74121, 0, "}"], [74122, 0, " "], [74123, 0, "e"], [74124, 0, "n"], [74125, 0, "t"], [74126, 0, "r"], [74127, 0, "i"], [74128, 0, "e"], [74129, 0, "s"], [74130, 0, " "], [74131, 0, "i"], [74132, 0, "n"], [74133, 0, " "], [74134, 0, "t"], [74135, 0, "h"], [74136, 0, "e"], [74137, 0, " "], [74138, 0, "c"], [74139, 0, "o"], [74140, 0, "n"], [74141, 0, "t"], [74142, 0, "e"], [74143, 0, "x"], [74144, 0, "t"], [74145, 0, " "], [74146, 0, "i"], [74147, 0, "s"], [74148, 0, " "], [74149, 0, "$"], [74150, 0, "\\"], [74151, 0, "m"], [74152, 0, "a"], [74153, 0, "t"], [74154, 0, "h"], [74155, 0, "s"], [74156, 0, "f"], [74157, 0, "{"], [74157, 1], [74156, 1], [74155, 1], [74154, 1], [74153, 1], [74152, 1], [74151, 1], [74151, 0, "t"], [74152, 0, "e"], [74153, 0, "x"], [74154, 0, "t"], [74155, 0, "s"], [74156, 0, "c"], [74157, 0, "{"], [74158, 0, "I"], [74159, 0, "n"], [74160, 0, "s"], [74161, 0, "e"], [74162, 0, "r"], [74163, 0, "t"], [74164, 0, "}"], [74165, 0, "_"], [74166, 0, "1"], [74167, 0, "$"], [74168, 0, ","], [74169, 0, " "], [74170, 0, "a"], [74171, 0, "n"], [74172, 0, "d"], [74173, 0, " "], [74174, 0, "i"], [74175, 0, "t"], [74176, 0, " "], [74177, 0, "m"], [74178, 0, "o"], [74179, 0, "d"], [74180, 0, "i"], [74181, 0, "f"], [74182, 0, "i"], [74183, 0, "e"], [74184, 0, "s"], [74185, 0, " "], [74185, 1], [74184, 1], [74183, 1], [74182, 1], [74181, 1], [74180, 1], [74179, 1], [74178, 1], [74177, 1], [74177, 0, "i"], [74178, 0, "n"], [74179, 0, "s"], [74180, 0, "e"], [74181, 0, "r"], [74182, 0, "t"], [74183, 0, "s"], [74184, 0, " "], [74185, 0, "a"], [74186, 0, " "], [74187, 0, "p"], [74187, 1], [74187, 0, "n"], [74188, 0, "e"], [74189, 0, "w"], [74190, 0, " "], [74191, 0, "l"], [74192, 0, "i"], [74193, 0, "s"], [74194, 0, "t"], [74195, 0, " "], [74196, 0, "e"], [74197, 0, "l"], [74198, 0, "e"], [74199, 0, "m"], [74200, 0, "e"], [74201, 0, "n"], [74202, 0, "t"], [74203, 0, " "], [74204, 0, "b"], [74205, 0, "e"], [74206, 0, "t"], [74207, 0, "w"], [74208, 0, "e"], [74209, 0, "e"], [74210, 0, "n"], [74211, 0, " "], [74212, 0, "r"], [74212, 1], [74212, 0, "t"], [74213, 0, "w"], [74214, 0, "o"], [74215, 0, " "], [74216, 0, "e"], [74217, 0, "x"], [74218, 0, "c"], [74218, 1], [74218, 0, "i"], [74219, 0, "s"], [74220, 0, "t"], [74221, 0, "i"], [74222, 0, "n"], [74223, 0, "g"], [74224, 0, " "], [74225, 0, "l"], [74226, 0, "i"], [74227, 0, "s"], [74228, 0, "t"], [74229, 0, " "], [74230, 0, "e"], [74231, 0, "l"], [74232, 0, "e"], [74233, 0, "m"], [74234, 0, "e"], [74235, 0, "n"], [74236, 0, "t"], [74237, 0, "s"], [74238, 0, " "], [74239, 0, "("], [74240, 0, "p"], [74241, 0, "o"], [74242, 0, "s"], [74243, 0, "s"], [74244, 0, "i"], [74245, 0, "b"], [74246, 0, "l"], [74247, 0, "y"], [74248, 0, " "], [74249, 0, "\\"], [74250, 0, "m"], [74251, 0, "a"], [74252, 0, "t"], [74253, 0, "h"], [74254, 0, "s"], [74255, 0, "f"], [74256, 0, "{"], [74257, 0, "h"], [74258, 0, "e"], [74259, 0, "a"], [74260, 0, "d"], [74261, 0, "}"], [74262, 0, " "], [74263, 0, "a"], [74264, 0, "n"], [74265, 0, "d"], [74266, 0, "/"], [74267, 0, "o"], [74268, 0, "r"], [74269, 0, " "], [74270, 0, "\\"], [74253, 1], [74252, 1], [74251, 1], [74250, 1], [74250, 0, "t"], [74251, 0, "e"], [74252, 0, "x"], [74253, 0, "t"], [74271, 0, "t"], [74272, 0, "e"], [74273, 0, "x"], [74274, 0, "t"], [74275, 0, "s"], [74276, 0, "f"], [74277, 0, "{"], [74278, 0, "t"], [74279, 0, "a"], [74280, 0, "i"], [74281, 0, "l"], [74282, 0, "}"], [74283, 0, ")"], [74284, 0, "."], [74285, 0, " "], [74286, 0, "T"], [74287, 0, "h"], [74288, 0, "i"], [74289, 0, "s"], [74290, 0, " "], [74291, 0, "m"], [74292, 0, "o"], [74293, 0, "d"], [74294, 0, "i"], [74295, 0, "f"], [74296, 0, "i"], [74297, 0, "c"], [74298, 0, "a"], [74299, 0, "t"], [74300, 0, "i"], [74301, 0, "o"], [74302, 0, "n"], [74303, 0, " "], [74304, 0, "p"], [74305, 0, "r"], [74306, 0, "e"], [74307, 0, "s"], [74308, 0, "e"], [74309, 0, "r"], [74310, 0, "v"], [74311, 0, "e"], [74312, 0, "s"], [74313, 0, " "], [74314, 0, "t"], [74315, 0, "h"], [74316, 0, "e"], [74317, 0, " "], [74318, 0, "p"], [74319, 0, "r"], [74320, 0, "e"], [74321, 0, "c"], [74322, 0, "e"], [74323, 0, "d"], [74324, 0, "e"], [74325, 0, "n"], [74326, 0, "c"], [74327, 0, "e"], [74328, 0, " "], [74329, 0, "r"], [74330, 0, "e"], [74331, 0, "l"], [74332, 0, "a"], [74333, 0, "t"], [74334, 0, "o"], [74335, 0, "i"], [74336, 0, "n"], [74337, 0, "s"], [74337, 1], [74336, 1], [74335, 1], [74334, 1], [74334, 0, "i"], [74335, 0, "o"], [74336, 0, "n"], [74337, 0, "s"], [74338, 0, "h"], [74339, 0, "i"], [74340, 0, "p"], [74341, 0, " "], [74342, 0, "b"], [74343, 0, "e"], [74344, 0, "t"], [74345, 0, "w"], [74346, 0, "e"], [74347, 0, "e"], [74348, 0, "n"], [74349, 0, " "], [74350, 0, "a"], [74351, 0, "n"], [74352, 0, "y"], [74353, 0, " "], [74354, 0, "t"], [74355, 0, "w"], [74356, 0, "o"], [74357, 0, " "], [74358, 0, "e"], [74359, 0, "x"], [74360, 0, "i"], [74361, 0, "s"], [74362, 0, "t"], [74363, 0, "i"], [74364, 0, "n"], [74365, 0, "g"], [74366, 0, " "], [74367, 0, "l"], [74368, 0, "i"], [74369, 0, "s"], [74370, 0, "t"], [74371, 0, " "], [74372, 0, "e"], [74373, 0, "l"], [74374, 0, "e"], [74375, 0, "m"], [74376, 0, "e"], [74377, 0, "n"], [74378, 0, "t"], [74379, 0, "s"], [74380, 0, "."], [73769, 1], [73768, 1], [73767, 1], [73766, 1], [73765, 1], [73764, 1], [73764, 0, "d"], [73765, 0, "e"], [73766, 0, "f"], [73767, 0, "i"], [73768, 0, "n"], [73769, 0, "i"], [73770, 0, "o"], [73771, 0, "n"], [73771, 1], [73770, 1], [73770, 0, "t"], [73771, 0, "i"], [73772, 0, "o"], [73773, 0, "n"], [74385, 0, " "], [74386, 0, "S"], [74387, 0, "i"], [74388, 0, "n"], [74389, 0, "c"], [74390, 0, "e"], [74391, 0, " "], [74392, 0, "n"], [74393, 0, "o"], [74394, 0, " "], [74395, 0, "o"], [74396, 0, "t"], [74397, 0, "h"], [74398, 0, "e"], [74399, 0, "r"], [74400, 0, " "], [74401, 0, "r"], [74402, 0, "u"], [74403, 0, "l"], [74404, 0, "e"], [74405, 0, " "], [74406, 0, "a"], [74407, 0, "f"], [74408, 0, "f"], [74409, 0, "e"], [74410, 0, "c"], [74411, 0, "t"], [74412, 0, "s"], [74413, 0, " "], [74414, 0, "t"], [74415, 0, "h"], [74416, 0, "e"], [74417, 0, " "], [74418, 0, "l"], [74419, 0, "i"], [74420, 0, "s"], [74421, 0, "t"], [74422, 0, " "], [74423, 0, "o"], [74424, 0, "r"], [74425, 0, "d"], [74426, 0, "e"], [74427, 0, "r"], [74428, 0, ","], [74429, 0, " "], [74430, 0, "p"], [74431, 0, "r"], [74432, 0, "e"], [74433, 0, "c"], [74434, 0, "e"], [74435, 0, "d"], [74436, 0, "e"], [74437, 0, "n"], [74438, 0, "c"], [74439, 0, "e"], [74440, 0, " "], [74441, 0, "i"], [74442, 0, "s"], [74443, 0, " "], [74444, 0, "a"], [74445, 0, "l"], [74446, 0, "w"], [74447, 0, "a"], [74448, 0, "y"], [74449, 0, "s"], [74450, 0, " "], [74451, 0, "p"], [74452, 0, "r"], [74453, 0, "e"], [74454, 0, "s"], [74455, 0, "e"], [74456, 0, "r"], [74457, 0, "v"], [74458, 0, "e"], [74459, 0, "d"], [74460, 0, "."], [74473, 0, "\n"], [74474, 0, "\n"], [74475, 0, "N"], [74476, 0, "o"], [74477, 0, "t"], [74478, 0, "e"], [74479, 0, " "], [74480, 0, "t"], [74481, 0, "h"], [74482, 0, "a"], [74483, 0, "t"], [74484, 0, " "], [74485, 0, "d"], [74486, 0, "e"], [74487, 0, "l"], [74488, 0, "e"], [74489, 0, "t"], [74490, 0, "i"], [74491, 0, "o"], [74492, 0, "n"], [74493, 0, " "], [74494, 0, "o"], [74495, 0, "f"], [74496, 0, " "], [74497, 0, "a"], [74498, 0, "l"], [74498, 1], [74498, 0, "n"], [74499, 0, " "], [74500, 0, "e"], [74501, 0, "l"], [74502, 0, "e"], [74503, 0, "m"], [74504, 0, "e"], [74505, 0, "n"], [74506, 0, "t"], [74507, 0, " "], [74508, 0, "f"], [74509, 0, "r"], [74510, 0, "o"], [74511, 0, "m"], [74512, 0, " "], [74513, 0, "a"], [74514, 0, " "], [74515, 0, "l"], [74516, 0, "i"], [74517, 0, "s"], [74518, 0, "t"], [74519, 0, " "], [74520, 0, "d"], [74521, 0, "o"], [74522, 0, "e"], [74523, 0, "s"], [74524, 0, " "], [74525, 0, "n"], [74526, 0, "o"], [74527, 0, "t"], [74528, 0, " "], [74529, 0, "r"], [74530, 0, "e"], [74531, 0, "m"], [74532, 0, "o"], [74533, 0, "v"], [74534, 0, "e"], [74535, 0, " "], [74536, 0, "i"], [74537, 0, "t"], [74538, 0, " "], [74539, 0, "f"], [74540, 0, "r"], [74541, 0, "o"], [74542, 0, "m"], [74543, 0, " "], [74544, 0, "t"], [74545, 0, "h"], [74546, 0, "e"], [74547, 0, " "], [74548, 0, "s"], [74549, 0, "e"], [74550, 0, "q"], [74551, 0, "u"], [74552, 0, "e"], [74553, 0, "n"], [74554, 0, "c"], [74555, 0, "e"], [74556, 0, " "], [74557, 0, "o"], [74558, 0, "f"], [74559, 0, " "], [74560, 0, "\\"], [74561, 0, "t"], [74562, 0, "e"], [74563, 0, "x"], [74564, 0, "t"], [74565, 0, "s"], [74566, 0, "f"], [74567, 0, "{"], [74568, 0, "n"], [74569, 0, "e"], [74570, 0, "x"], [74571, 0, "t"], [74572, 0, "}"], [74573, 0, " "], [74574, 0, "p"], [74575, 0, "o"], [74576, 0, "i"], [74577, 0, "n"], [74578, 0, "t"], [74579, 0, "e"], [74580, 0, "r"], [74581, 0, "s"], [74133, 1], [74132, 1], [74131, 1], [74130, 1], [74129, 1], [74128, 1], [74127, 1], [74127, 0, "p"], [74128, 0, "o"], [74129, 0, "i"], [74130, 0, "n"], [74131, 0, "t"], [74132, 0, "e"], [74133, 0, "r"], [74134, 0, "s"], [74583, 0, ","], [74584, 0, " "], [74585, 0, "b"], [74586, 0, "u"], [74587, 0, "t"], [74588, 0, " "], [74589, 0, "o"], [74590, 0, "n"], [74591, 0, "l"], [74592, 0, "y"], [74593, 0, " "], [74594, 0, "c"], [74595, 0, "l"], [74596, 0, "e"], [74597, 0, "a"], [74598, 0, "r"], [74599, 0, "s"], [74600, 0, " "], [74601, 0, "i"], [74602, 0, "t"], [74603, 0, "s"], [74604, 0, " "], [74605, 0, "p"], [74606, 0, "r"], [74607, 0, "e"], [74608, 0, "s"], [74609, 0, "e"], [74610, 0, "n"], [74611, 0, "c"], [74612, 0, "e"], [74613, 0, " "], [74614, 0, "s"], [74615, 0, "e"], [74616, 0, "t"], [74617, 0, " "], [74618, 0, "$"], [74619, 0, "\\"], [74620, 0, "m"], [74621, 0, "a"], [74622, 0, "t"], [74623, 0, "h"], [74624, 0, "s"], [74625, 0, "f"], [74626, 0, "{"], [74627, 0, "p"], [74628, 0, "r"], [74629, 0, "e"], [74630, 0, "s"], [74631, 0, "}"], [74632, 0, "("], [74633, 0, "k"], [74634, 0, ")"], [74635, 0, "$"], [74636, 0, "."], [73890, 0, "\\"], [73891, 0, "l"], [73892, 0, "a"], [73893, 0, "b"], [73894, 0, "e"], [73895, 0, "l"], [73896, 0, "{"], [73897, 0, "l"], [73898, 0, "e"], [73899, 0, "m"], [73900, 0, ":"], [73901, 0, "l"], [73902, 0, "i"], [73903, 0, "s"], [73904, 0, "t"], [73905, 0, "-"], [73906, 0, "p"], [73907, 0, "r"], [73908, 0, "e"], [73908, 1], [73907, 1], [73906, 1], [73906, 0, "o"], [73907, 0, "r"], [73908, 0, "d"], [73909, 0, "e"], [73910, 0, "r"], [73911, 0, "}"], [73910, 1], [73909, 1], [73908, 1], [73907, 1], [73906, 1], [73906, 0, "p"], [73907, 0, "r"], [73908, 0, "e"], [73909, 0, "c"], [73910, 0, "e"], [73911, 0, "d"], [73912, 0, "e"], [73913, 0, "s"], [74662, 0, "\n"], [74663, 0, "\n"], [74664, 0, "\\"], [74665, 0, "b"], [74666, 0, "e"], [74667, 0, "g"], [74668, 0, "i"], [74669, 0, "n"], [74670, 0, "{"], [74671, 0, "e"], [74671, 1], [74671, 0, "l"], [74672, 0, "e"], [74673, 0, "m"], [74674, 0, "m"], [74675, 0, "a"], [74676, 0, "}"], [74677, 0, "\n"], [74678, 0, "\\"], [74679, 0, "e"], [74680, 0, "n"], [74681, 0, "d"], [74682, 0, "{"], [74683, 0, "l"], [74684, 0, "e"], [74685, 0, "m"], [74686, 0, "m"], [74687, 0, "a"], [74688, 0, "}"], [74677, 0, "\n"], [74678, 0, "I"], [74679, 0, "f"], [74680, 0, " "], [74681, 0, "o"], [74682, 0, "n"], [74683, 0, "e"], [74684, 0, " "], [74685, 0, "r"], [74686, 0, "e"], [74687, 0, "p"], [74688, 0, "l"], [74689, 0, "i"], [74690, 0, "c"], [74691, 0, "a"], [74692, 0, " "], [74693, 0, "i"], [74694, 0, "n"], [74695, 0, "s"], [74696, 0, "e"], [74697, 0, "r"], [74698, 0, "t"], [74699, 0, "s"], [74700, 0, " "], [74701, 0, "a"], [74702, 0, " "], [74703, 0, "l"], [74704, 0, "i"], [74705, 0, "s"], [74706, 0, "t"], [74707, 0, " "], [74708, 0, "e"], [74709, 0, "l"], [74710, 0, "e"], [74711, 0, "m"], [74712, 0, "e"], [74713, 0, "n"], [74714, 0, "t"], [74715, 0, " "], [74716, 0, "$"], [74717, 0, "k"], [74718, 0, "{"], [74718, 1], [74718, 0, "_"], [74719, 0, "\\"], [74720, 0, "m"], [74721, 0, "a"], [74722, 0, "t"], [74723, 0, "h"], [74724, 0, "i"], [74725, 0, "t"], [74726, 0, "{"], [74727, 0, "n"], [74728, 0, "e"], [74729, 0, "w"], [74730, 0, "}"], [74731, 0, "$"], [74732, 0, " "], [74733, 0, "b"], [74734, 0, "e"], [74735, 0, "t"], [74736, 0, "w"], [74737, 0, "e"], [74738, 0, "e"], [74739, 0, "n"], [74740, 0, " "], [74741, 0, "$"], [74742, 0, "k"], [74743, 0, "_"], [74744, 0, "1"], [74745, 0, "$"], [74746, 0, " "], [74747, 0, "A"], [74748, 0, "N"], [74749, 0, "D"], [74750, 0, " "], [74750, 1], [74749, 1], [74748, 1], [74747, 1], [74747, 0, "a"], [74748, 0, "n"], [74749, 0, "d"], [74750, 0, " "], [74751, 0, "$"], [74752, 0, "k"], [74753, 0, "_"], [74754, 0, "2"], [74755, 0, "$"], [74756, 0, ","], [74757, 0, " "], [74758, 0, "i"], [74759, 0, "."], [74760, 0, "e"], [74761, 0, "."], [74762, 0, " "], [74763, 0, "i"], [74764, 0, "f"], [74765, 0, " "], [74766, 0, "$"], [74767, 0, "\\"], [74768, 0, "m"], [74769, 0, "a"], [74770, 0, "t"], [74771, 0, "h"], [74772, 0, "i"], [74773, 0, "t"], [74774, 0, "{"], [74775, 0, "c"], [74776, 0, "t"], [74777, 0, "x"], [74778, 0, "}"], [74779, 0, "("], [74780, 0, "n"], [74781, 0, "e"], [74781, 1], [74780, 1], [74780, 0, "\\"], [74781, 0, "m"], [74782, 0, "a"], [74783, 0, "t"], [74784, 0, "h"], [74785, 0, "s"], [74786, 0, "f"], [74787, 0, "{"], [74788, 0, "n"], [74789, 0, "e"], [74790, 0, "x"], [74791, 0, "t"], [74792, 0, "}"], [74793, 0, "("], [74794, 0, "k"], [74795, 0, "_"], [74796, 0, "1"], [74797, 0, ")"], [74798, 0, ")"], [74799, 0, " "], [74800, 0, "="], [74801, 0, " "], [74802, 0, "\\"], [74803, 0, "m"], [74804, 0, "a"], [74805, 0, "t"], [74806, 0, "h"], [74807, 0, "i"], [74808, 0, "t"], [74809, 0, "{"], [74810, 0, "c"], [74811, 0, "t"], [74812, 0, "x"], [74813, 0, "}"], [74814, 0, "("], [74815, 0, "\\"], [74816, 0, "m"], [74817, 0, "a"], [74817, 1], [74816, 1], [74815, 1], [74814, 1], [74813, 1], [74812, 1], [74811, 1], [74810, 1], [74809, 1], [74808, 1], [74807, 1], [74806, 1], [74805, 1], [74804, 1], [74803, 1], [74802, 1], [74802, 0, "k"], [74803, 0, "_"], [74804, 0, "\\"], [74805, 0, "m"], [74806, 0, "a"], [74807, 0, "t"], [74808, 0, "h"], [74809, 0, "i"], [74810, 0, "t"], [74811, 0, "{"], [74812, 0, "n"], [74813, 0, "e"], [74814, 0, "w"], [74815, 0, "}"], [74816, 0, "$"], [74817, 0, " "], [74818, 0, "a"], [74819, 0, "n"], [74820, 0, "d"], [74821, 0, " "], [74822, 0, "$"], [74823, 0, "\\"], [74824, 0, "m"], [74825, 0, "a"], [74826, 0, "t"], [74827, 0, "h"], [74828, 0, "i"], [74829, 0, "t"], [74830, 0, "{"], [74831, 0, "c"], [74832, 0, "t"], [74833, 0, "x"], [74834, 0, "}"], [74835, 0, "("], [74836, 0, "\\"], [74837, 0, "m"], [74838, 0, "a"], [74839, 0, "t"], [74840, 0, "h"], [74841, 0, "s"], [74842, 0, "f"], [74843, 0, "{"], [74844, 0, "n"], [74845, 0, "e"], [74846, 0, "x"], [74847, 0, "t"], [74848, 0, "}"], [74849, 0, "("], [74850, 0, "k"], [74851, 0, "_"], [74852, 0, "\\"], [74853, 0, "m"], [74854, 0, "a"], [74855, 0, "t"], [74856, 0, "h"], [74857, 0, "i"], [74858, 0, "t"], [74859, 0, "{"], [74860, 0, "n"], [74861, 0, "e"], [74862, 0, "w"], [74863, 0, "}"], [74864, 0, ")"], [74865, 0, ")"], [74866, 0, " "], [74867, 0, "="], [74868, 0, " "], [74869, 0, "k"], [74870, 0, "_"], [74871, 0, "2"], [74872, 0, "$"], [74873, 0, " "], [74874, 0, "o"], [74875, 0, "n"], [74876, 0, " "], [74877, 0, "t"], [74878, 0, "h"], [74879, 0, "e"], [74880, 0, " "], [74881, 0, "s"], [74882, 0, "o"], [74883, 0, "u"], [74884, 0, "r"], [74885, 0, "c"], [74886, 0, "e"], [74887, 0, " "], [74888, 0, "r"], [74889, 0, "e"], [74890, 0, "p"], [74891, 0, "l"], [74892, 0, "i"], [74893, 0, "c"], [74894, 0, "a"], [74895, 0, " "], [74896, 0, "a"], [74897, 0, "f"], [74898, 0, "t"], [74899, 0, "e"], [74900, 0, "r"], [74901, 0, " "], [74902, 0, "a"], [74903, 0, "p"], [74904, 0, "p"], [74905, 0, "l"], [74906, 0, "y"], [74907, 0, "i"], [74908, 0, "n"], [74909, 0, "g"], [74910, 0, " "], [74911, 0, "\\"], [74912, 0, "t"], [74913, 0, "e"], [74914, 0, "x"], [74915, 0, "t"], [74916, 0, "s"], [74917, 0, "c"], [74918, 0, "{"], [74919, 0, "A"], [74920, 0, "p"], [74921, 0, "p"], [74922, 0, "l"], [74923, 0, "y"], [74924, 0, "-"], [74925, 0, "L"], [74926, 0, "o"], [74927, 0, "c"], [74928, 0, "a"], [74929, 0, "l"], [74930, 0, "}"], [74931, 0, ","], [74932, 0, " "], [74933, 0, "t"], [74934, 0, "h"], [74935, 0, "e"], [74936, 0, "n"], [74937, 0, " "], [74938, 0, "$"], [74939, 0, "k"], [74940, 0, "_"], [74941, 0, "1"], [74942, 0, "$"], [74943, 0, " "], [74944, 0, "p"], [74945, 0, "r"], [74946, 0, "e"], [74947, 0, "c"], [74948, 0, "e"], [74949, 0, "d"], [74950, 0, "e"], [74951, 0, "s"], [74952, 0, " "], [74953, 0, "$"], [74954, 0, "k"], [74955, 0, "_"], [74956, 0, "\\"], [74957, 0, "m"], [74958, 0, "a"], [74959, 0, "t"], [74960, 0, "h"], [74961, 0, "i"], [74962, 0, "t"], [74963, 0, "{"], [74964, 0, "n"], [74965, 0, "e"], [74966, 0, "w"], [74967, 0, "}"], [74968, 0, "$"], [74969, 0, " "], [74970, 0, "a"], [74971, 0, "n"], [74972, 0, "d"], [74973, 0, " "], [74974, 0, "$"], [74975, 0, "k"], [74976, 0, "_"], [74977, 0, "\\"], [74978, 0, "m"], [74979, 0, "a"], [74980, 0, "t"], [74981, 0, "h"], [74982, 0, "i"], [74983, 0, "t"], [74984, 0, "{"], [74985, 0, "n"], [74986, 0, "e"], [74987, 0, "w"], [74988, 0, "}"], [74989, 0, "$"], [74990, 0, " "], [74991, 0, "p"], [74992, 0, "r"], [74993, 0, "e"], [74994, 0, "c"], [74995, 0, "e"], [74996, 0, "d"], [74997, 0, "e"], [74998, 0, "s"], [74999, 0, " "], [75000, 0, "$"], [75001, 0, "k"], [75002, 0, "_"], [75003, 0, "2"], [75004, 0, "$"], [75005, 0, " "], [75006, 0, "o"], [75007, 0, "n"], [75008, 0, " "], [75009, 0, "e"], [75010, 0, "v"], [75011, 0, "e"], [75012, 0, "r"], [75013, 0, "y"], [75014, 0, " "], [75015, 0, "o"], [75016, 0, "t"], [75017, 0, "h"], [75018, 0, "e"], [75019, 0, "r"], [75020, 0, " "], [75021, 0, "r"], [75022, 0, "e"], [75023, 0, "p"], [75024, 0, "l"], [75025, 0, "i"], [75026, 0, "c"], [75027, 0, "a"], [75028, 0, " "], [75029, 0, "w"], [75030, 0, "h"], [75031, 0, "e"], [75032, 0, "r"], [75033, 0, "e"], [75034, 0, " "], [75035, 0, "t"], [75036, 0, "h"], [75037, 0, "a"], [75038, 0, "t"], [75039, 0, " "], [75040, 0, "o"], [75041, 0, "p"], [75042, 0, "e"], [75043, 0, "r"], [75044, 0, "a"], [75045, 0, "t"], [75046, 0, "i"], [75047, 0, "o"], [75048, 0, "n"], [75049, 0, " "], [75050, 0, "i"], [75051, 0, "s"], [75052, 0, " "], [75053, 0, "a"], [75054, 0, "p"], [75055, 0, "p"], [75056, 0, "l"], [75057, 0, "i"], [75058, 0, "e"], [75059, 0, "d"], [75060, 0, "."], [75073, 0, "\n"], [75074, 0, "\\"], [75075, 0, "b"], [75076, 0, "e"], [75077, 0, "g"], [75078, 0, "i"], [75079, 0, "n"], [75080, 0, "{"], [75081, 0, "p"], [75082, 0, "r"], [75083, 0, "o"], [75084, 0, "o"], [75085, 0, "f"], [75086, 0, "}"], [74091, 0, "\n"], [75075, 0, "\n"], [75089, 0, "\n"], [75090, 0, "\\"], [75091, 0, "e"], [75092, 0, "n"], [75093, 0, "d"], [75094, 0, "P"], [75095, 0, "p"], [75095, 1], [75094, 1], [75094, 0, "{"], [75095, 0, "}"], [75095, 0, "p"], [75096, 0, "r"], [75097, 0, "o"], [75098, 0, "o"], [75099, 0, "f"], [75089, 0, "\n"], [75090, 0, "W"], [75091, 0, "h"], [75092, 0, "e"], [75093, 0, "n"], [75094, 0, " "], [75095, 0, "t"], [75096, 0, "h"], [75097, 0, "e"], [75098, 0, " "], [75099, 0, "i"], [75100, 0, "n"], [75101, 0, "s"], [75102, 0, "e"], [75103, 0, "r"], [75104, 0, "t"], [75105, 0, "i"], [75106, 0, "o"], [75107, 0, "n"], [75108, 0, " "], [75109, 0, "o"], [75110, 0, "p"], [75111, 0, "e"], [75112, 0, "r"], [75113, 0, "a"], [75114, 0, "t"], [75115, 0, "i"], [75116, 0, "o"], [75117, 0, "n"], [75118, 0, " "], [75119, 0, "i"], [75120, 0, "s"], [75121, 0, " "], [75122, 0, "g"], [75123, 0, "e"], [75124, 0, "n"], [75125, 0, "e"], [75126, 0, "r"], [75127, 0, "a"], [75128, 0, "t"], [75129, 0, "e"], [75130, 0, "d"], [75131, 0, " "], [75132, 0, "u"], [75133, 0, "s"], [75134, 0, "i"], [75135, 0, "n"], [75136, 0, "g"], [75137, 0, " "], [75138, 0, "t"], [75139, 0, "h"], [75140, 0, "e"], [75141, 0, " "], [75142, 0, "\\"], [75143, 0, "t"], [75144, 0, "e"], [75145, 0, "x"], [75146, 0, "t"], [75147, 0, "s"], [75148, 0, "c"], [75149, 0, "{"], [75150, 0, "M"], [75151, 0, "a"], [75152, 0, "k"], [75153, 0, "e"], [75154, 0, "-"], [75155, 0, "O"], [75156, 0, "p"], [75157, 0, "}"], [75158, 0, " "], [75159, 0, "r"], [75160, 0, "u"], [75161, 0, "l"], [75162, 0, "e"], [75163, 0, ","], [75164, 0, " "], [75165, 0, "i"], [75166, 0, "t"], [75167, 0, "s"], [75168, 0, " "], [75169, 0, "o"], [75170, 0, "p"], [75171, 0, "e"], [75172, 0, "r"], [75173, 0, "a"], [75174, 0, "t"], [75175, 0, "i"], [75176, 0, "o"], [75177, 0, "n"], [75178, 0, " "], [75179, 0, "i"], [75180, 0, "d"], [75181, 0, "e"], [75182, 0, "n"], [75183, 0, "t"], [75184, 0, "i"], [75185, 0, "f"], [75186, 0, "i"], [75187, 0, "e"], [75188, 0, "r"], [75189, 0, " "], [75190, 0, "c"], [75191, 0, "o"], [75192, 0, "n"], [75193, 0, "t"], [75194, 0, "a"], [75195, 0, "i"], [75196, 0, "n"], [75197, 0, "s"], [75198, 0, " "], [75199, 0, "a"], [75200, 0, " "], [75200, 1], [75199, 1], [75198, 1], [75197, 1], [75196, 1], [75195, 1], [75194, 1], [75193, 1], [75192, 1], [75191, 1], [75190, 1], [75190, 0, "i"], [75191, 0, "s"], [75192, 0, " "], [75193, 0, "g"], [75194, 0, "i"], [75195, 0, "v"], [75196, 0, "e"], [75197, 0, "n"], [75198, 0, " "], [75199, 0, "a"], [75200, 0, " "], [75201, 0, "c"], [75202, 0, "o"], [75203, 0, "u"], [75204, 0, "n"], [75205, 0, "t"], [75206, 0, "e"], [75207, 0, "r"], [75208, 0, " "], [75209, 0, "v"], [75210, 0, "a"], [75211, 0, "l"], [75212, 0, "u"], [75213, 0, "e"], [75214, 0, " "], [75215, 0, "\\"], [75215, 1], [75215, 0, "$"], [75216, 0, "\\"], [75217, 0, "m"], [75218, 0, "a"], [75219, 0, "t"], [75220, 0, "h"], [75221, 0, "i"], [75222, 0, "t"], [75223, 0, "{"], [75224, 0, "c"], [75225, 0, "t"], [75226, 0, "r"], [75227, 0, "}"], [75228, 0, "$"], [75229, 0, " "], [75230, 0, "t"], [75231, 0, "h"], [75232, 0, "a"], [75233, 0, "t"], [75234, 0, " "], [75235, 0, "i"], [75236, 0, "s"], [75237, 0, " "], [75238, 0, "g"], [75239, 0, "r"], [75240, 0, "e"], [75241, 0, "a"], [75242, 0, "t"], [75243, 0, "e"], [75244, 0, "r"], [75245, 0, " "], [75246, 0, "t"], [75247, 0, "h"], [75248, 0, "a"], [75249, 0, "n"], [75250, 0, " "], [75251, 0, "t"], [75252, 0, "h"], [75253, 0, "e"], [75254, 0, " "], [75255, 0, "c"], [75256, 0, "o"], [75257, 0, "u"], [75258, 0, "n"], [75259, 0, "t"], [75260, 0, "e"], [75261, 0, "r"], [75262, 0, " "], [75263, 0, "o"], [75264, 0, "f"], [75265, 0, " "], [75266, 0, "a"], [75267, 0, "n"], [75268, 0, "y"], [75269, 0, " "], [75270, 0, "e"], [75271, 0, "x"], [75272, 0, "i"], [75273, 0, "s"], [75274, 0, "t"], [75275, 0, "i"], [75276, 0, "n"], [75277, 0, "g"], [75278, 0, " "], [75279, 0, "o"], [75280, 0, "p"], [75281, 0, "e"], [75282, 0, "r"], [75283, 0, "a"], [75284, 0, "t"], [75285, 0, "i"], [75286, 0, "o"], [75287, 0, "n"], [75288, 0, " "], [75289, 0, "I"], [75290, 0, "D"], [75291, 0, " "], [75292, 0, "i"], [75293, 0, "n"], [75294, 0, " "], [75295, 0, "$"], [75296, 0, "\\"], [75296, 1], [75296, 0, "A"], [75297, 0, "-"], [75297, 1], [75297, 0, "_"], [75298, 0, "p"], [75299, 0, "("], [75300, 0, "\\"], [75301, 0, "m"], [75302, 0, "a"], [75303, 0, "t"], [75304, 0, "h"], [75305, 0, "s"], [75306, 0, "f"], [75307, 0, "{"], [75308, 0, "o"], [75309, 0, "p"], [75310, 0, "s"], [75311, 0, "}"], [75312, 0, ")"], [75313, 0, "$"], [75314, 0, "."], [75315, 0, " "], [75316, 0, "I"], [75317, 0, "f"], [75318, 0, " "], [75319, 0, "$"], [75320, 0, "k"], [75321, 0, "_"], [75322, 0, "2"], [75323, 0, "$"], [75324, 0, " "], [75325, 0, "i"], [75326, 0, "s"], [75327, 0, " "], [75328, 0, "a"], [75329, 0, "n"], [75330, 0, " "], [75331, 0, "o"], [75332, 0, "p"], [75333, 0, "e"], [75334, 0, "r"], [75335, 0, "a"], [75336, 0, "t"], [75337, 0, "i"], [75338, 0, "o"], [75339, 0, "n"], [75340, 0, " "], [75341, 0, "i"], [75342, 0, "d"], [75343, 0, "e"], [75344, 0, "n"], [75345, 0, "t"], [75346, 0, "i"], [75347, 0, "f"], [75348, 0, "i"], [75349, 0, "e"], [75350, 0, "r"], [75074, 0, "\n"], [75075, 0, "\n"], [75076, 0, "T"], [75076, 1], [75075, 1], [75074, 1], [74663, 0, " "], [74664, 0, "W"], [74665, 0, "e"], [74666, 0, " "], [74667, 0, "n"], [74668, 0, "o"], [74669, 0, "w"], [74670, 0, " "], [74671, 0, "c"], [74672, 0, "o"], [74673, 0, "n"], [74674, 0, "s"], [74675, 0, "i"], [74676, 0, "d"], [74677, 0, "e"], [74678, 0, "r"], [74679, 0, " "], [74680, 0, "w"], [74681, 0, "h"], [74682, 0, "a"], [74683, 0, "t"], [74684, 0, " "], [74685, 0, "h"], [74686, 0, "a"], [74687, 0, "p"], [74688, 0, "p"], [74689, 0, "e"], [74690, 0, "n"], [74691, 0, "s"], [74692, 0, " "], [74693, 0, "w"], [74694, 0, "h"], [74695, 0, "e"], [74696, 0, "n"], [74697, 0, " "], [74698, 0, "s"], [74699, 0, "e"], [74700, 0, "v"], [74701, 0, "e"], [74702, 0, "r"], [74703, 0, "a"], [74704, 0, "l"], [74705, 0, " "], [74706, 0, "r"], [74707, 0, "e"], [74708, 0, "p"], [74709, 0, "l"], [74710, 0, "i"], [74711, 0, "c"], [74712, 0, "a"], [74713, 0, "s"], [74714, 0, " "], [74715, 0, "c"], [74716, 0, "o"], [74717, 0, "n"], [74718, 0, "c"], [74719, 0, "u"], [74720, 0, "r"], [74721, 0, "r"], [74722, 0, "e"], [74723, 0, "n"], [74724, 0, "t"], [74725, 0, "l"], [74726, 0, "y"], [74727, 0, " "], [74728, 0, "i"], [74729, 0, "n"], [74730, 0, "s"], [74731, 0, "e"], [74732, 0, "r"], [74733, 0, "t"], [74734, 0, " "], [74735, 0, "n"], [74736, 0, "e"], [74737, 0, "w"], [74738, 0, " "], [74739, 0, "e"], [74740, 0, "l"], [74741, 0, "e"], [74742, 0, "m"], [74743, 0, "e"], [74744, 0, "n"], [74745, 0, "t"], [74746, 0, "s"], [74747, 0, " "], [74748, 0, "i"], [74749, 0, "n"], [74750, 0, "t"], [74751, 0, " "], [74751, 1], [74751, 0, "o"], [74752, 0, " "], [74753, 0, "t"], [74754, 0, "h"], [74755, 0, "e"], [74756, 0, " "], [74757, 0, "s"], [74758, 0, "a"], [74759, 0, "m"], [74760, 0, "e"], [74761, 0, " "], [74762, 0, "l"], [74763, 0, "i"], [74764, 0, "s"], [74765, 0, "t"], [74766, 0, "."], [75455, 0, ","], [75456, 0, " "], [75457, 0, "w"], [75458, 0, "e"], [75459, 0, " "], [75460, 0, "m"], [75461, 0, "u"], [75462, 0, "s"], [75463, 0, "t"], [75464, 0, " "], [75465, 0, "h"], [75466, 0, "a"], [75467, 0, "v"], [75468, 0, "e"], [75469, 0, " "], [75470, 0, "$"], [75471, 0, "k"], [75472, 0, "_"], [75473, 0, "2"], [75474, 0, " "], [75475, 0, "\\"], [75476, 0, "o"], [75477, 0, "n"], [75477, 1], [75476, 1], [75476, 0, "i"], [75477, 0, "n"], [75478, 0, " "], [75479, 0, "A"], [75480, 0, "_"], [75481, 0, "p"], [75482, 0, "("], [75483, 0, "\\"], [75484, 0, "m"], [75485, 0, "a"], [75486, 0, "t"], [75487, 0, "h"], [75488, 0, "s"], [75489, 0, "f"], [75490, 0, "{"], [75491, 0, "o"], [75492, 0, "p"], [75493, 0, "s"], [75494, 0, "}"], [75495, 0, ")"], [75496, 0, "$"], [75497, 0, ","], [75498, 0, " "], [75499, 0, "s"], [75500, 0, "i"], [75501, 0, "n"], [75502, 0, "c"], [75503, 0, "e"], [75504, 0, " "], [75505, 0, "b"], [75506, 0, "o"], [75507, 0, "t"], [75508, 0, "h"], [75509, 0, " "], [75510, 0, "\\"], [75511, 0, "t"], [75512, 0, "e"], [75513, 0, "x"], [75514, 0, "t"], [75515, 0, "s"], [75516, 0, "c"], [75517, 0, "{"], [75518, 0, "A"], [75519, 0, "p"], [75520, 0, "p"], [75521, 0, "l"], [75522, 0, "y"], [75523, 0, "_"], [75523, 1], [75523, 0, "-"], [75524, 0, "L"], [75525, 0, "o"], [75526, 0, "c"], [75527, 0, "a"], [75528, 0, "l"], [75529, 0, "}"], [75530, 0, " "], [75531, 0, "a"], [75532, 0, "n"], [75533, 0, "d"], [75534, 0, " "], [75535, 0, "\\"], [75536, 0, "t"], [75537, 0, "e"], [75538, 0, "x"], [75539, 0, "t"], [75540, 0, "s"], [75541, 0, "c"], [75542, 0, "{"], [75543, 0, "A"], [75544, 0, "p"], [75545, 0, "p"], [75546, 0, "l"], [75547, 0, "y"], [75548, 0, "_"], [75548, 1], [75548, 0, "-"], [75549, 0, "R"], [75550, 0, "e"], [75551, 0, "m"], [75552, 0, "o"], [75553, 0, "t"], [75554, 0, "e"], [75555, 0, "}"], [75556, 0, " "], [75557, 0, "a"], [75558, 0, "d"], [75559, 0, "d"], [75560, 0, " "], [75561, 0, "o"], [75562, 0, "p"], [75563, 0, "e"], [75564, 0, "r"], [75565, 0, "a"], [75566, 0, "t"], [75567, 0, "i"], [75568, 0, "o"], [75569, 0, "n"], [75570, 0, " "], [75571, 0, "I"], [75572, 0, "D"], [75573, 0, "s"], [75574, 0, " "], [75575, 0, "t"], [75576, 0, "o"], [75577, 0, " "], [75578, 0, "$"], [75579, 0, "A"], [75580, 0, "-"], [75580, 1], [75580, 0, "_"], [75581, 0, "p"], [75582, 0, "("], [75583, 0, "\\"], [75584, 0, "m"], [75585, 0, "a"], [75586, 0, "t"], [75587, 0, "h"], [75588, 0, "s"], [75589, 0, "f"], [75590, 0, "{"], [75591, 0, "o"], [75592, 0, "p"], [75593, 0, "s"], [75594, 0, "}"], [75595, 0, ")"], [75596, 0, "$"], [75597, 0, " "], [75598, 0, "w"], [75599, 0, "h"], [75600, 0, "e"], [75601, 0, "n"], [75602, 0, " "], [75603, 0, "a"], [75604, 0, "p"], [75605, 0, "p"], [75606, 0, "l"], [75607, 0, "y"], [75608, 0, "i"], [75609, 0, "n"], [75610, 0, "g"], [75611, 0, " "], [75612, 0, "a"], [75613, 0, "n"], [75614, 0, " "], [75615, 0, "i"], [75616, 0, "n"], [75617, 0, "s"], [75618, 0, "e"], [75619, 0, "r"], [75620, 0, "t"], [75621, 0, "i"], [75622, 0, "o"], [75623, 0, "n"], [75624, 0, " "], [75624, 1], [75624, 0, "."], [75625, 0, " "], [75626, 0, "T"], [75627, 0, "h"], [75628, 0, "u"], [75629, 0, "s"], [75630, 0, ","], [75630, 1], [75629, 1], [75628, 1], [75627, 1], [75626, 1], [75626, 0, "T"], [75627, 0, "h"], [75628, 0, "e"], [75629, 0, " "], [75630, 0, "o"], [75631, 0, "n"], [75632, 0, "l"], [75633, 0, "y"], [75634, 0, " "], [75635, 0, "o"], [75636, 0, "t"], [75637, 0, "h"], [75638, 0, "e"], [75639, 0, "r"], [75640, 0, " "], [75641, 0, "p"], [75642, 0, "o"], [75642, 1], [75641, 1], [75640, 1], [75639, 1], [75638, 1], [75637, 1], [75636, 1], [75635, 1], [75634, 1], [75633, 1], [75632, 1], [75631, 1], [75630, 1], [75629, 1], [75628, 1], [75627, 1], [75626, 1], [75625, 1], [75625, 0, " "], [75626, 0, "I"], [75627, 0, "f"], [75628, 0, " "], [75629, 0, "$"], [75630, 0, "k"], [75631, 0, "_"], [75632, 0, "2"], [75633, 0, "$"], [75634, 0, " "], [75635, 0, "i"], [75636, 0, "s"], [75637, 0, " "], [75638, 0, "n"], [75639, 0, "o"], [75640, 0, "t"], [75641, 0, " "], [75642, 0, "a"], [75643, 0, "n"], [75644, 0, " "], [75645, 0, "o"], [75646, 0, "p"], [75647, 0, "e"], [75648, 0, "r"], [75649, 0, "a"], [75650, 0, "t"], [75651, 0, "i"], [75652, 0, "o"], [75653, 0, "n"], [75654, 0, " "], [75655, 0, "i"], [75656, 0, "d"], [75657, 0, "e"], [75658, 0, "n"], [75659, 0, "t"], [75660, 0, "i"], [75661, 0, "f"], [75662, 0, "i"], [75663, 0, "e"], [75664, 0, "r"], [75665, 0, ","], [75666, 0, " "], [75667, 0, "i"], [75668, 0, "t"], [75669, 0, " "], [75670, 0, "m"], [75671, 0, "u"], [75672, 0, "s"], [75673, 0, "t"], [75674, 0, " "], [75675, 0, "b"], [75676, 0, "e"], [75677, 0, " "], [75678, 0, "\\"], [75679, 0, "t"], [75680, 0, "e"], [75681, 0, "x"], [75682, 0, "t"], [75683, 0, "s"], [75684, 0, "f"], [75685, 0, "{"], [75686, 0, "t"], [75687, 0, "a"], [75688, 0, "i"], [75689, 0, "l"], [75690, 0, "}"], [75691, 0, "."], [75692, 0, " "], [75193, 0, "\n"], [75194, 0, "T"], [75195, 0, "h"], [75196, 0, "e"], [75197, 0, " "], [75198, 0, "r"], [75199, 0, "u"], [75200, 0, "l"], [75201, 0, "e"], [75202, 0, "s"], [75203, 0, " "], [75204, 0, "f"], [75205, 0, "o"], [75206, 0, "r"], [75207, 0, " "], [75208, 0, "g"], [75209, 0, "e"], [75210, 0, "n"], [75211, 0, "e"], [75212, 0, "r"], [75213, 0, "a"], [75214, 0, "t"], [75215, 0, "i"], [75216, 0, "n"], [75217, 0, "g"], [75218, 0, " "], [75219, 0, "l"], [75220, 0, "i"], [75221, 0, "s"], [75222, 0, "t"], [75223, 0, " "], [75224, 0, "o"], [75225, 0, "p"], [75226, 0, "e"], [75227, 0, "r"], [75228, 0, "a"], [75229, 0, "t"], [75230, 0, "i"], [75231, 0, "o"], [75232, 0, "n"], [75233, 0, "s"], [75234, 0, " "], [75235, 0, "e"], [75236, 0, "n"], [75237, 0, "s"], [75238, 0, "u"], [75239, 0, "r"], [75240, 0, "e"], [75241, 0, " "], [75242, 0, "t"], [75243, 0, "h"], [75244, 0, "a"], [75245, 0, "t"], [75246, 0, " "], [75247, 0, "$"], [75248, 0, "k"], [75249, 0, "_"], [75250, 0, "1"], [75251, 0, "$"], [75252, 0, " "], [75253, 0, "i"], [75254, 0, "s"], [75255, 0, " "], [75256, 0, "e"], [75257, 0, "i"], [75258, 0, "t"], [75259, 0, "h"], [75260, 0, "e"], [75261, 0, "r"], [75262, 0, " "], [75263, 0, "\\"], [75264, 0, "t"], [75265, 0, "e"], [75266, 0, "x"], [75267, 0, "t"], [75268, 0, "s"], [75269, 0, "f"], [75270, 0, "{"], [75271, 0, "h"], [75272, 0, "e"], [75273, 0, "a"], [75274, 0, "d"], [75275, 0, "}"], [75276, 0, " "], [75277, 0, "o"], [75278, 0, "r"], [75279, 0, " "], [75280, 0, "a"], [75281, 0, "n"], [75282, 0, " "], [75283, 0, "o"], [75284, 0, "p"], [75285, 0, "e"], [75286, 0, "r"], [75287, 0, "a"], [75288, 0, "t"], [75289, 0, "i"], [75290, 0, "o"], [75291, 0, "n"], [75292, 0, " "], [75293, 0, "i"], [75294, 0, "d"], [75295, 0, "e"], [75296, 0, "n"], [75297, 0, "t"], [75298, 0, "i"], [75299, 0, "f"], [75300, 0, "i"], [75301, 0, "e"], [75302, 0, "r"], [75303, 0, ","], [75304, 0, " "], [75305, 0, "a"], [75306, 0, "n"], [75307, 0, "d"], [75308, 0, " "], [75309, 0, "$"], [75310, 0, "k"], [75311, 0, "_"], [75312, 0, "2"], [75313, 0, "$"], [75314, 0, " "], [75315, 0, "i"], [75316, 0, "s"], [75317, 0, " "], [75318, 0, "e"], [75319, 0, "i"], [75320, 0, "t"], [75321, 0, "h"], [75322, 0, "e"], [75323, 0, "r"], [75324, 0, " "], [75325, 0, "\\"], [75326, 0, "t"], [75327, 0, "e"], [75328, 0, "x"], [75329, 0, "t"], [75330, 0, "s"], [75331, 0, "c"], [75331, 1], [75331, 0, "f"], [75332, 0, "{"], [75333, 0, "t"], [75334, 0, "a"], [75335, 0, "i"], [75336, 0, "l"], [75337, 0, "}"], [75338, 0, " "], [75339, 0, "o"], [75340, 0, "r"], [75341, 0, " "], [75342, 0, "a"], [75343, 0, "n"], [75344, 0, " "], [75345, 0, "o"], [75346, 0, "p"], [75347, 0, "e"], [75348, 0, "r"], [75349, 0, "a"], [75350, 0, "t"], [75351, 0, "i"], [75352, 0, "o"], [75353, 0, "n"], [75354, 0, " "], [75355, 0, "i"], [75356, 0, "d"], [75357, 0, "e"], [75358, 0, "n"], [75359, 0, "t"], [75360, 0, "i"], [75361, 0, "f"], [75362, 0, "i"], [75363, 0, "e"], [75364, 0, "r"], [75365, 0, "."], [75366, 1], [75366, 0, "\n"], [75367, 0, "\n"], [75866, 1], [75865, 1], [75864, 1], [75863, 1], [75862, 1], [75861, 1], [75860, 1], [75859, 1], [75858, 1], [75857, 1], [75856, 1], [75855, 1], [75854, 1], [75853, 1], [75852, 1], [75851, 1], [75850, 1], [75849, 1], [75848, 1], [75847, 1], [75846, 1], [75845, 1], [75844, 1], [75843, 1], [75842, 1], [75841, 1], [75840, 1], [75839, 1], [75838, 1], [75837, 1], [75836, 1], [75835, 1], [75834, 1], [75833, 1], [75832, 1], [75831, 1], [75830, 1], [75829, 1], [75828, 1], [75827, 1], [75826, 1], [75825, 1], [75824, 1], [75823, 1], [75822, 1], [75821, 1], [75820, 1], [75819, 1], [75818, 1], [75817, 1], [75816, 1], [75815, 1], [75814, 1], [75813, 1], [75812, 1], [75811, 1], [75810, 1], [75809, 1], [75808, 1], [75807, 1], [75806, 1], [75805, 1], [75804, 1], [75803, 1], [75802, 1], [75801, 1], [75800, 1], [75800, 0, "T"], [75801, 0, "h"], [75802, 0, "u"], [75803, 0, "s"], [75804, 0, " "], [75804, 1], [75804, 0, ","], [75805, 0, " "], [75806, 0, "e"], [75807, 0, "i"], [75808, 0, "t"], [75809, 0, "h"], [75810, 0, "e"], [75811, 0, "r"], [75812, 0, " "], [75813, 0, "$"], [75814, 0, "k"], [75815, 0, "_"], [75816, 0, "2"], [75817, 0, " "], [75818, 0, "<"], [75819, 0, " "], [75820, 0, "k"], [75821, 0, "_"], [75822, 0, "\\"], [75823, 0, "m"], [75824, 0, "a"], [75825, 0, "t"], [75826, 0, "h"], [75827, 0, "i"], [75828, 0, "t"], [75829, 0, "{"], [75830, 0, "n"], [75831, 0, "e"], [75832, 0, "w"], [75833, 0, "}"], [75834, 0, "$"], [75835, 0, " "], [75836, 0, "u"], [75837, 0, "n"], [75838, 0, "d"], [75839, 0, "e"], [75840, 0, "r"], [75841, 0, " "], [75842, 0, "t"], [75843, 0, "h"], [75844, 0, "e"], [75845, 0, " "], [75846, 0, "o"], [75847, 0, "r"], [75848, 0, "d"], [75849, 0, "e"], [75850, 0, "r"], [75851, 0, "i"], [75852, 0, "n"], [75853, 0, "g"], [75854, 0, " "], [75855, 0, "r"], [75856, 0, "e"], [75857, 0, "l"], [75858, 0, "a"], [75859, 0, "t"], [75860, 0, "i"], [75861, 0, "o"], [75862, 0, "n"], [75863, 0, " "], [75864, 0, "$"], [75865, 0, "<"], [75866, 0, "$"], [75867, 0, " "], [75868, 0, "f"], [75869, 0, "o"], [75870, 0, "r"], [75871, 0, " "], [75872, 0, "L"], [75873, 0, "a"], [75874, 0, "m"], [75875, 0, "p"], [75876, 0, "o"], [75877, 0, "r"], [75878, 0, "t"], [75879, 0, " "], [75880, 0, "t"], [75881, 0, "i"], [75882, 0, "m"], [75883, 0, "e"], [75884, 0, "s"], [75885, 0, "t"], [75886, 0, "a"], [75887, 0, "m"], [75888, 0, "p"], [75889, 0, "s"], [75890, 0, ","], [75891, 0, " "], [75892, 0, "o"], [75893, 0, "r"], [75894, 0, " "], [75895, 0, "$"], [75896, 0, "k"], [75897, 0, "_"], [75898, 0, "2"], [75899, 0, " "], [75900, 0, "="], [75901, 0, " "], [75902, 0, "\\"], [75903, 0, "m"], [75904, 0, "a"], [75905, 0, "t"], [75906, 0, "h"], [75907, 0, "s"], [75908, 0, "f"], [75909, 0, "{"], [75910, 0, "t"], [75911, 0, "a"], [75912, 0, "i"], [75913, 0, "l"], [75914, 0, "}"], [75915, 0, "$"], [75916, 0, "."], [75917, 0, "\n"], [75918, 0, "\n"], [75919, 0, "W"], [75920, 0, "h"], [75921, 0, "e"], [75922, 0, "n"], [75923, 0, " "], [75924, 0, "t"], [75925, 0, "h"], [75926, 0, "e"], [75927, 0, " "], [75928, 0, "i"], [75929, 0, "n"], [75930, 0, "s"], [75931, 0, "e"], [75932, 0, "r"], [75933, 0, "t"], [75934, 0, "i"], [75935, 0, "o"], [75936, 0, "n"], [75937, 0, " "], [75938, 0, "o"], [75939, 0, "p"], [75940, 0, "e"], [75941, 0, "r"], [75942, 0, "a"], [75943, 0, "t"], [75944, 0, "i"], [75945, 0, "o"], [75946, 0, "n"], [75947, 0, " "], [75948, 0, "i"], [75949, 0, "s"], [75950, 0, " "], [75951, 0, "a"], [75952, 0, "p"], [75953, 0, "p"], [75954, 0, "l"], [75955, 0, "i"], [75956, 0, "e"], [75957, 0, "d"], [75958, 0, " "], [75959, 0, "o"], [75960, 0, "n"], [75961, 0, " "], [75962, 0, "o"], [75963, 0, "t"], [75964, 0, "h"], [75965, 0, "e"], [75966, 0, "r"], [75967, 0, " "], [75968, 0, "r"], [75969, 0, "e"], [75970, 0, "p"], [75971, 0, "l"], [75972, 0, "i"], [75973, 0, "c"], [75974, 0, "a"], [75975, 0, "s"], [75976, 0, "e"], [75976, 1], [75976, 0, " "], [75977, 0, "u"], [75978, 0, "s"], [75979, 0, "i"], [75980, 0, "n"], [75981, 0, "g"], [75982, 0, " "], [75983, 0, "\\"], [75984, 0, "t"], [75985, 0, "e"], [75986, 0, "x"], [75987, 0, "t"], [75988, 0, "s"], [75989, 0, "c"], [75990, 0, "{"], [75991, 0, "A"], [75992, 0, "p"], [75993, 0, "p"], [75994, 0, "l"], [75995, 0, "y"], [75996, 0, "-"], [75997, 0, "R"], [75998, 0, "e"], [75999, 0, "m"], [76000, 0, "o"], [76001, 0, "t"], [76002, 0, "e"], [76003, 0, "}"], [76004, 0, " "], [76005, 0, "a"], [76006, 0, "n"], [76007, 0, "d"], [76008, 0, " "], [76009, 0, "$"], [76010, 0, "\\"], [76011, 0, "t"], [76012, 0, "e"], [76013, 0, "x"], [76014, 0, "t"], [76015, 0, "s"], [76016, 0, "c"], [76017, 0, "{"], [76018, 0, "I"], [76019, 0, "n"], [76020, 0, "s"], [76021, 0, "e"], [76022, 0, "r"], [76023, 0, "t"], [76024, 0, "}"], [76025, 0, "_"], [76026, 0, "{"], [76027, 0, "1"], [76028, 0, ","], [76029, 0, "2"], [76030, 0, "}"], [76031, 0, "$"], [76032, 0, ","], [76033, 0, " "], [76034, 0, "b"], [76035, 0, "y"], [76036, 0, " "], [76037, 0, "L"], [76037, 1], [76036, 1], [76035, 1], [76034, 1], [76034, 0, "$"], [76035, 0, "k"], [76036, 0, "_"], [76037, 0, "1"], [76038, 0, "$"], [76039, 0, " "], [76040, 0, "p"], [76041, 0, "r"], [76042, 0, "e"], [76043, 0, "c"], [76044, 0, "e"], [76045, 0, "d"], [76046, 0, "e"], [76047, 0, "s"], [76048, 0, " "], [76049, 0, "$"], [76050, 0, "k"], [76051, 0, "_"], [76052, 0, "2"], [76053, 0, "$"], [76054, 0, " "], [76055, 0, "o"], [76056, 0, "n"], [76057, 0, " "], [76058, 0, "t"], [76059, 0, "h"], [76060, 0, "a"], [76061, 0, "t"], [76062, 0, " "], [75962, 0, "a"], [75963, 0, "n"], [75977, 1], [76064, 0, "r"], [76065, 0, "e"], [76066, 0, "p"], [76067, 0, "l"], [76068, 0, "i"], [76069, 0, "c"], [76070, 0, "a"], [76071, 0, " "], [76072, 0, "("], [76073, 0, "b"], [76074, 0, "y"], [76075, 0, " "], [76076, 0, "L"], [76077, 0, "e"], [76078, 0, "m"], [76079, 0, "m"], [76080, 0, "a"], [76081, 0, "~"], [76082, 0, "\\"], [76083, 0, "r"], [76084, 0, "e"], [76085, 0, "f"], [76086, 0, "{"], [76087, 0, "l"], [76088, 0, "e"], [76089, 0, "m"], [76090, 0, ":"], [76091, 0, "l"], [76092, 0, "i"], [76093, 0, "s"], [76094, 0, "t"], [76095, 0, "-"], [76096, 0, "p"], [76097, 0, "r"], [76098, 0, "e"], [76099, 0, "c"], [76100, 0, "e"], [76101, 0, "d"], [76102, 0, "e"], [76103, 0, "s"], [76104, 0, "}"], [76105, 0, " "], [76106, 0, "a"], [76107, 0, "n"], [76108, 0, "d"], [76109, 0, " "], [76110, 0, "c"], [76111, 0, "a"], [76112, 0, "u"], [76113, 0, "s"], [76114, 0, "a"], [76115, 0, "l"], [76116, 0, "i"], [76117, 0, "t"], [76118, 0, "y"], [76119, 0, ")"], [76120, 0, "."], [74782, 0, "\\"], [74783, 0, "l"], [74784, 0, "a"], [74785, 0, "b"], [74786, 0, "e"], [74787, 0, "l"], [74788, 0, "{"], [74789, 0, "l"], [74790, 0, "e"], [74791, 0, "m"], [74792, 0, ":"], [74793, 0, "i"], [74794, 0, "n"], [74795, 0, "s"], [74796, 0, "e"], [74797, 0, "r"], [74798, 0, "t"], [74799, 0, "-"], [74800, 0, "b"], [74801, 0, "e"], [74802, 0, "t"], [74803, 0, "w"], [74804, 0, "e"], [74805, 0, "e"], [74806, 0, "n"], [74807, 0, "}"], [76147, 0, " "], [76148, 0, "$"], [76148, 1], [76148, 0, "\n"], [76148, 1], [76148, 0, "T"], [76149, 0, "h"], [76150, 0, "e"], [76151, 0, " "], [76152, 0, "c"], [76153, 0, "u"], [76154, 0, "r"], [76155, 0, "s"], [76156, 0, "o"], [76157, 0, "r"], [76158, 0, " "], [76159, 0, "o"], [76160, 0, "f"], [76161, 0, " "], [76162, 0, "t"], [76163, 0, "h"], [76164, 0, "e"], [76165, 0, " "], [76166, 0, "o"], [76167, 0, "p"], [76168, 0, "e"], [76169, 0, "r"], [76170, 0, "a"], [76171, 0, "t"], [76172, 0, "i"], [76173, 0, "o"], [76174, 0, "n"], [76175, 0, " "], [76176, 0, "i"], [76177, 0, "s"], [76178, 0, " "], [76179, 0, "$"], [76180, 0, "\\"], [76181, 0, "m"], [76182, 0, "a"], [76183, 0, "t"], [76184, 0, "h"], [76185, 0, "s"], [76186, 0, "f"], [76187, 0, "{"], [76188, 0, "c"], [76189, 0, "u"], [76190, 0, "r"], [76191, 0, "s"], [76192, 0, "o"], [76193, 0, "r"], [76194, 0, "}"], [76195, 0, "("], [76196, 0, "\\"], [76197, 0, "l"], [76198, 0, "a"], [76199, 0, "n"], [76200, 0, "g"], [76201, 0, "l"], [76202, 0, "e"], [76203, 0, "\\"], [76204, 0, "d"], [76205, 0, "o"], [76206, 0, "t"], [76207, 0, "s"], [76208, 0, "\\"], [76209, 0, "r"], [76210, 0, "a"], [76211, 0, "n"], [76212, 0, "g"], [76213, 0, "l"], [76214, 0, "e"], [76215, 0, ","], [76216, 0, " "], [76217, 0, "k"], [76218, 0, "_"], [76219, 0, "1"], [76220, 0, ")"], [76221, 0, "$"], [76222, 0, "."], [76223, 0, " "], [76224, 0, "I"], [76225, 0, "f"], [76226, 0, " "], [76227, 0, "o"], [76228, 0, "t"], [76229, 0, "h"], [76230, 0, "e"], [76231, 0, "r"], [76232, 0, " "], [76233, 0, "c"], [76234, 0, "o"], [76235, 0, "n"], [76236, 0, "c"], [76237, 0, "u"], [76238, 0, "r"], [76239, 0, "r"], [76240, 0, "e"], [76241, 0, "n"], [76242, 0, "t"], [76243, 0, " "], [76244, 0, "i"], [76245, 0, "n"], [76246, 0, "s"], [76247, 0, "e"], [76248, 0, "r"], [76249, 0, "t"], [76250, 0, "i"], [76251, 0, "o"], [76252, 0, "n"], [76253, 0, "s"], [76254, 0, " "], [76255, 0, "o"], [76256, 0, "c"], [76257, 0, "c"], [76258, 0, "u"], [76259, 0, "r"], [76260, 0, "r"], [76261, 0, "e"], [76262, 0, "d"], [76263, 0, " "], [76264, 0, "b"], [76265, 0, "e"], [76266, 0, "t"], [76267, 0, "w"], [76268, 0, "e"], [76269, 0, "e"], [76270, 0, "n"], [76271, 0, " "], [76272, 0, "$"], [76273, 0, "k"], [76274, 0, "_"], [76275, 0, "1"], [76276, 0, "$"], [76277, 0, " "], [76278, 0, "a"], [76279, 0, "n"], [76280, 0, "d"], [76281, 0, " "], [76282, 0, "$"], [76283, 0, "k"], [76284, 0, "_"], [76285, 0, "2"], [76286, 0, "$"], [76287, 0, ","], [76288, 0, " "], [76289, 0, "t"], [76290, 0, "h"], [76291, 0, "e"], [76292, 0, "i"], [76293, 0, "r"], [76294, 0, " "], [76295, 0, "o"], [76296, 0, "p"], [76297, 0, "e"], [76298, 0, "r"], [76299, 0, "a"], [76300, 0, "t"], [76301, 0, "i"], [76302, 0, "o"], [76303, 0, "n"], [76304, 0, " "], [76305, 0, "I"], [76306, 0, "D"], [76307, 0, " "], [76308, 0, "m"], [76309, 0, "a"], [76310, 0, "y"], [76311, 0, " "], [76312, 0, "b"], [76313, 0, "e"], [76314, 0, " "], [76315, 0, "g"], [76316, 0, "r"], [76317, 0, "e"], [76318, 0, "a"], [76319, 0, "t"], [76320, 0, "e"], [76321, 0, "r"], [76322, 0, " "], [76323, 0, "t"], [76324, 0, "h"], [76325, 0, "a"], [76326, 0, "n"], [76327, 0, " "], [76328, 0, "o"], [76329, 0, "r"], [76330, 0, " "], [76331, 0, "l"], [76332, 0, "e"], [76333, 0, "s"], [76334, 0, "s"], [76335, 0, " "], [76336, 0, "t"], [76337, 0, "h"], [76338, 0, "a"], [76339, 0, "n"], [76340, 0, " "], [76341, 0, "$"], [76342, 0, "k"], [76343, 0, "_"], [76344, 0, "\\"], [76345, 0, "m"], [76346, 0, "a"], [76347, 0, "t"], [76348, 0, "h"], [76349, 0, "i"], [76350, 0, "t"], [76351, 0, "{"], [76352, 0, "n"], [76353, 0, "e"], [76354, 0, "w"], [76355, 0, "}"], [76356, 0, "$"], [76357, 0, ","], [76358, 0, " "], [76359, 0, "a"], [76360, 0, "n"], [76361, 0, "d"], [76362, 0, " "], [76363, 0, "t"], [76364, 0, "h"], [76365, 0, "u"], [76366, 0, "s"], [76367, 0, " "], [76368, 0, "e"], [76369, 0, "i"], [76370, 0, "t"], [76371, 0, "h"], [76372, 0, "e"], [76373, 0, "r"], [76374, 0, " "], [76375, 0, "$"], [76376, 0, "\\"], [76377, 0, "m"], [76378, 0, "a"], [76379, 0, "t"], [76380, 0, "h"], [76380, 1], [76379, 1], [76378, 1], [76377, 1], [76377, 0, "t"], [76378, 0, "e"], [76379, 0, "x"], [76380, 0, "t"], [76381, 0, "s"], [76382, 0, "c"], [76383, 0, "{"], [76384, 0, "I"], [76385, 0, "n"], [76386, 0, "s"], [76387, 0, "e"], [76388, 0, "r"], [76389, 0, "t"], [76390, 0, "}"], [76391, 0, "_"], [76392, 0, "1"], [76393, 0, "$"], [76394, 0, " "], [76395, 0, "o"], [76396, 0, "r"], [76397, 0, " "], [76398, 0, "\\"], [76398, 1], [76398, 0, "$"], [76399, 0, "\\"], [76400, 0, "t"], [76401, 0, "e"], [76402, 0, "x"], [76403, 0, "t"], [76404, 0, "s"], [76405, 0, "c"], [76406, 0, "{"], [76407, 0, "I"], [76408, 0, "n"], [76409, 0, "s"], [76410, 0, "e"], [76411, 0, "r"], [76412, 0, "t"], [76413, 0, "}"], [76414, 0, "_"], [76415, 0, "2"], [76416, 0, "$"], [76417, 0, " "], [76418, 0, "m"], [76419, 0, "a"], [76420, 0, "y"], [76421, 0, " "], [76422, 0, "a"], [76423, 0, "p"], [76424, 0, "p"], [76425, 0, "l"], [76426, 0, "y"], [76427, 0, "."], [76428, 0, " "], [76429, 0, "I"], [76430, 0, "n"], [76431, 0, " "], [76432, 0, "p"], [76433, 0, "a"], [76434, 0, "r"], [76435, 0, "t"], [76436, 0, "i"], [76437, 0, "c"], [76438, 0, "u"], [76439, 0, "l"], [76440, 0, "a"], [76441, 0, "r"], [76442, 0, ","], [76443, 0, " "], [76444, 0, "$"], [76445, 0, "\\"], [76446, 0, "t"], [76447, 0, "e"], [76448, 0, "x"], [76449, 0, "t"], [76450, 0, "s"], [76451, 0, "c"], [76452, 0, "{"], [76453, 0, "I"], [76454, 0, "n"], [76455, 0, "s"], [76456, 0, "e"], [76457, 0, "r"], [76458, 0, "t"], [76459, 0, "}"], [76460, 0, "_"], [76461, 0, "2"], [76462, 0, "$"], [76463, 0, " "], [76464, 0, "s"], [76465, 0, "k"], [76466, 0, "i"], [76467, 0, "p"], [76468, 0, "s"], [76469, 0, " "], [76470, 0, "o"], [76471, 0, "v"], [76472, 0, "e"], [76473, 0, "r"], [76474, 0, " "], [76475, 0, "a"], [76476, 0, "n"], [76477, 0, "y"], [76478, 0, " "], [76479, 0, "l"], [76480, 0, "i"], [76481, 0, "s"], [76482, 0, "t"], [76483, 0, " "], [76484, 0, "e"], [76485, 0, "l"], [76486, 0, "e"], [76487, 0, "m"], [76488, 0, "e"], [76489, 0, "n"], [76490, 0, "t"], [76491, 0, "s"], [76492, 0, " "], [76493, 0, "w"], [76494, 0, "h"], [76495, 0, "o"], [76496, 0, "s"], [76497, 0, "e"], [76498, 0, " "], [76499, 0, "L"], [76500, 0, "a"], [76501, 0, "m"], [76502, 0, "p"], [76503, 0, "o"], [76504, 0, "r"], [76505, 0, "t"], [76506, 0, " "], [76507, 0, "t"], [76508, 0, "i"], [76509, 0, "m"], [76510, 0, "e"], [76511, 0, "s"], [76512, 0, "t"], [76513, 0, "a"], [76514, 0, "m"], [76515, 0, "p"], [76516, 0, " "], [76517, 0, "i"], [76518, 0, "s"], [76519, 0, " "], [76520, 0, "g"], [76521, 0, "r"], [76522, 0, "e"], [76523, 0, "a"], [76524, 0, "t"], [76525, 0, "e"], [76526, 0, "r"], [76527, 0, " "], [76528, 0, "t"], [76529, 0, "h"], [76530, 0, "a"], [76531, 0, "n"], [76532, 0, " "], [76533, 0, "$"], [76534, 0, "k"], [76535, 0, "_"], [76536, 0, "\\"], [76537, 0, "m"], [76538, 0, "a"], [76539, 0, "t"], [76540, 0, "h"], [76541, 0, "i"], [76542, 0, "t"], [76543, 0, "{"], [76544, 0, "n"], [76545, 0, "e"], [76546, 0, "w"], [76547, 0, "}"], [76548, 0, "$"], [76549, 0, "."], [76222, 0, ","], [76223, 0, " "], [76224, 0, "s"], [76225, 0, "o"], [76226, 0, " "], [76227, 0, "t"], [76228, 0, "h"], [76229, 0, "e"], [76230, 0, " "], [76231, 0, "r"], [76232, 0, "u"], [76233, 0, "l"], [76234, 0, "e"], [76235, 0, "s"], [76236, 0, " "], [76237, 0, "s"], [76238, 0, "t"], [76239, 0, "a"], [76240, 0, "r"], [76241, 0, "t"], [76242, 0, " "], [76243, 0, "i"], [76244, 0, "t"], [76245, 0, "e"], [76246, 0, "r"], [76247, 0, "a"], [76248, 0, "t"], [76249, 0, "i"], [76250, 0, "n"], [76251, 0, "g"], [76252, 0, " "], [76253, 0, "t"], [76254, 0, "h"], [76255, 0, "e"], [76256, 0, " "], [76257, 0, "l"], [76258, 0, "i"], [76259, 0, "s"], [76260, 0, "t"], [76261, 0, " "], [76262, 0, "a"], [76263, 0, "t"], [76264, 0, " "], [76265, 0, "$"], [76266, 0, "k"], [76267, 0, "_"], [76268, 0, "1"], [76269, 0, "$"], [76270, 0, " "], [76271, 0, "a"], [76272, 0, "n"], [76273, 0, "d"], [76274, 0, " "], [76275, 0, "n"], [76276, 0, "e"], [76277, 0, "v"], [76278, 0, "e"], [76279, 0, "r"], [76280, 0, " "], [76281, 0, "i"], [76282, 0, "n"], [76283, 0, "s"], [76284, 0, "e"], [76285, 0, "r"], [76286, 0, "t"], [76287, 0, " "], [76288, 0, "$"], [76289, 0, "k"], [76290, 0, "_"], [76291, 0, "\\"], [76292, 0, "m"], [76293, 0, "a"], [76294, 0, "t"], [76295, 0, "h"], [76296, 0, "i"], [76297, 0, "t"], [76298, 0, "{"], [76299, 0, "n"], [76300, 0, "e"], [76301, 0, "w"], [76302, 0, "}"], [76303, 0, "$"], [76304, 0, " "], [76305, 0, "a"], [76306, 0, "t"], [76307, 0, " "], [76308, 0, "a"], [76309, 0, " "], [76310, 0, "p"], [76311, 0, "o"], [76312, 0, "s"], [76313, 0, "i"], [76314, 0, "t"], [76315, 0, "i"], [76316, 0, "o"], [76317, 0, "n"], [76318, 0, " "], [76319, 0, "t"], [76320, 0, "h"], [76321, 0, "a"], [76322, 0, "t"], [76323, 0, " "], [76324, 0, "p"], [76325, 0, "r"], [76326, 0, "e"], [76327, 0, "c"], [76328, 0, "e"], [76329, 0, "d"], [76330, 0, "e"], [76331, 0, "s"], [76332, 0, " "], [76333, 0, "$"], [76334, 0, "k"], [76335, 0, "_"], [76336, 0, "1"], [76337, 0, "$"], [76339, 0, "\n"], [76340, 0, "\n"], [76341, 1], [76667, 0, " "], [76668, 0, "H"], [76669, 0, "o"], [76670, 0, "w"], [76671, 0, "e"], [76672, 0, "v"], [76673, 0, "e"], [76674, 0, "r"], [76675, 0, ","], [76676, 0, " "], [76677, 0, "w"], [76678, 0, "e"], [76679, 0, " "], [76680, 0, "k"], [76681, 0, "n"], [76682, 0, "o"], [76683, 0, "w"], [76684, 0, " "], [76685, 0, "t"], [76686, 0, "h"], [76687, 0, "a"], [76688, 0, "t"], [76689, 0, " "], [76690, 0, "$"], [76691, 0, "k"], [76692, 0, "_"], [76693, 0, "2"], [76694, 0, " "], [76695, 0, "<"], [76696, 0, " "], [76697, 0, "k"], [76698, 0, "_"], [76699, 0, "\\"], [76700, 0, "m"], [76701, 0, "a"], [76702, 0, "t"], [76703, 0, "h"], [76704, 0, "i"], [76705, 0, "t"], [76706, 0, "{"], [76707, 0, "n"], [76708, 0, "e"], [76709, 0, "w"], [76710, 0, "}"], [76711, 0, " "], [76712, 0, "\\"], [76713, 0, "v"], [76714, 0, "e"], [76715, 0, "e"], [76716, 0, " "], [76717, 0, "k"], [76718, 0, "_"], [76719, 0, "2"], [76720, 0, " "], [76721, 0, "="], [76722, 0, " "], [76723, 0, "\\"], [76724, 0, "m"], [76725, 0, "a"], [76726, 0, "t"], [76727, 0, "h"], [76728, 0, "s"], [76729, 0, "f"], [76730, 0, "{"], [76731, 0, "t"], [76732, 0, "a"], [76733, 0, "i"], [76734, 0, "l"], [76735, 0, "}"], [76736, 0, "$"], [76737, 0, ","], [76738, 0, " "], [76739, 0, "a"], [76740, 0, "n"], [76741, 0, "d"], [76742, 0, " "], [76743, 0, "s"], [76744, 0, "o"], [76745, 0, " "], [76746, 0, "$"], [76747, 0, "\\"], [76748, 0, "t"], [76749, 0, "e"], [76750, 0, "x"], [76751, 0, "t"], [76752, 0, "s"], [76753, 0, "c"], [76754, 0, "{"], [76755, 0, "I"], [76756, 0, "n"], [76757, 0, "s"], [76758, 0, "e"], [76759, 0, "r"], [76760, 0, "t"], [76761, 0, "}"], [76762, 0, "_"], [76763, 0, "1"], [76764, 0, "$"], [76765, 0, " "], [76766, 0, "w"], [76767, 0, "i"], [76768, 0, "l"], [76769, 0, "l"], [76770, 0, " "], [76771, 0, "a"], [76772, 0, "p"], [76773, 0, "p"], [76774, 0, "l"], [76775, 0, "y"], [76776, 0, " "], [76777, 0, "w"], [76778, 0, "i"], [76779, 0, "t"], [76780, 0, "h"], [76781, 0, " "], [76782, 0, "$"], [76783, 0, "\\"], [76784, 0, "m"], [76785, 0, "a"], [76786, 0, "t"], [76787, 0, "h"], [76788, 0, "i"], [76789, 0, "t"], [76790, 0, "{"], [76791, 0, "n"], [76792, 0, "e"], [76793, 0, "x"], [76794, 0, "t"], [76795, 0, "}"], [76796, 0, "="], [76797, 0, "k"], [76798, 0, "_"], [76799, 0, "2"], [76800, 0, "$"], [76801, 0, " "], [76802, 0, "a"], [76803, 0, "t"], [76804, 0, " "], [76805, 0, "t"], [76806, 0, "h"], [76807, 0, "e"], [76808, 0, " "], [76809, 0, "l"], [76810, 0, "a"], [76811, 0, "t"], [76812, 0, "e"], [76813, 0, "s"], [76814, 0, "t"], [76815, 0, "."], [76816, 0, " "], [76817, 0, "T"], [76818, 0, "h"], [76819, 0, "e"], [76820, 0, " "], [76821, 0, "$"], [76822, 0, "\\"], [76823, 0, "m"], [76824, 0, "a"], [76825, 0, "t"], [76826, 0, "h"], [76826, 1], [76825, 1], [76824, 1], [76823, 1], [76823, 0, "m"], [76824, 0, "a"], [76825, 0, "t"], [76826, 0, "h"], [76751, 1], [76750, 1], [76749, 1], [76748, 1], [76748, 0, "m"], [76749, 0, "a"], [76750, 0, "t"], [76751, 0, "h"], [76520, 1], [76519, 1], [76518, 1], [76517, 1], [76517, 0, "m"], [76518, 0, "a"], [76519, 0, "t"], [76520, 0, "h"], [76517, 1], [76517, 1], [76517, 1], [76517, 1], [76517, 0, "t"], [76518, 0, "e"], [76519, 0, "x"], [76520, 0, "t"], [76748, 1], [76748, 1], [76748, 1], [76748, 1], [76748, 0, "t"], [76749, 0, "e"], [76750, 0, "x"], [76751, 0, "t"], [76826, 1], [76825, 1], [76824, 1], [76823, 1], [76823, 0, "t"], [76824, 0, "e"], [76825, 0, "x"], [76826, 0, "t"], [76827, 0, "s"], [76828, 0, "c"], [76829, 0, "{"], [76830, 0, "I"], [76831, 0, "n"], [76832, 0, "s"], [76833, 0, "e"], [76834, 0, "r"], [76835, 0, "t"], [76836, 0, "}"], [76837, 0, "_"], [76838, 0, "{"], [76839, 0, "1"], [76840, 0, ","], [76841, 0, "2"], [76842, 0, "}"], [76843, 0, "$"], [76844, 0, " "], [76845, 0, "r"], [76846, 0, "u"], [76847, 0, "l"], [76848, 0, "e"], [76849, 0, "s"], [76850, 0, " "], [76851, 0, "t"], [76852, 0, "h"], [76853, 0, "u"], [76854, 0, "s"], [76855, 0, " "], [76856, 0, "n"], [76857, 0, "e"], [76858, 0, "v"], [76859, 0, "e"], [76860, 0, "r"], [76861, 0, " "], [76862, 0, "i"], [76863, 0, "t"], [76864, 0, "e"], [76865, 0, "r"], [76866, 0, "a"], [76867, 0, "t"], [76868, 0, "e"], [76869, 0, " "], [76870, 0, "p"], [76871, 0, "a"], [76872, 0, "s"], [76873, 0, "t"], [76874, 0, " "], [76875, 0, "$"], [76876, 0, "k"], [76877, 0, "_"], [76878, 0, "2"], [76879, 0, "$"], [76880, 0, ","], [76881, 0, " "], [76882, 0, "a"], [76883, 0, "n"], [76884, 0, "d"], [76885, 0, " "], [76886, 0, "t"], [76887, 0, "h"], [76888, 0, "u"], [76889, 0, "s"], [76890, 0, " "], [76891, 0, "a"], [76892, 0, "l"], [76893, 0, "w"], [76894, 0, "a"], [76895, 0, "y"], [76896, 0, "s"], [76897, 0, " "], [76898, 0, "i"], [76899, 0, "n"], [76900, 0, "s"], [76901, 0, "e"], [76902, 0, "r"], [76903, 0, "t"], [76904, 0, " "], [76905, 0, "$"], [76906, 0, "k"], [76907, 0, "_"], [76908, 0, "\\"], [76909, 0, "m"], [76910, 0, "a"], [76911, 0, "t"], [76912, 0, "h"], [76913, 0, "i"], [76914, 0, "t"], [76915, 0, "{"], [76916, 0, "n"], [76917, 0, "e"], [76918, 0, "w"], [76919, 0, "}"], [76920, 0, "$"], [76921, 0, " "], [76922, 0, "a"], [76923, 0, "t"], [76924, 0, " "], [76925, 0, "a"], [76926, 0, " "], [76927, 0, "p"], [76927, 1], [76927, 0, "l"], [76928, 0, "i"], [76929, 0, "s"], [76930, 0, "t"], [76931, 0, " "], [76932, 0, "p"], [76933, 0, "o"], [76934, 0, "s"], [76935, 0, "i"], [76936, 0, "t"], [76937, 0, "i"], [76938, 0, "o"], [76939, 0, "n"], [76940, 0, " "], [76941, 0, "t"], [76942, 0, "h"], [76943, 0, "a"], [76944, 0, "t"], [76945, 0, " "], [76946, 0, "p"], [76947, 0, "r"], [76948, 0, "e"], [76949, 0, "c"], [76950, 0, "e"], [76951, 0, "d"], [76952, 0, "e"], [76953, 0, "s"], [76954, 0, " "], [76955, 0, "$"], [76956, 0, "k"], [76957, 0, "_"], [76958, 0, "2"], [76959, 0, "$"], [76960, 0, "."], [76973, 0, "\n"], [76974, 0, "\n"], [76975, 0, "\\"], [76976, 0, "b"], [76977, 0, "e"], [76978, 0, "g"], [76979, 0, "i"], [76980, 0, "n"], [76981, 0, "{"], [76982, 0, "l"], [76983, 0, "e"], [76984, 0, "m"], [76985, 0, "m"], [76986, 0, "a"], [76987, 0, "}"], [76988, 0, "\\"], [76989, 0, "l"], [76990, 0, "a"], [76991, 0, "b"], [76992, 0, "e"], [76993, 0, "l"], [76994, 0, "{"], [76995, 0, "l"], [76996, 0, "e"], [76997, 0, "m"], [76998, 0, ":"], [76999, 0, "i"], [77000, 0, "n"], [77001, 0, "s"], [77002, 0, "e"], [77003, 0, "r"], [77004, 0, "t"], [77005, 0, "-"], [77006, 0, "c"], [77007, 0, "o"], [77008, 0, "m"], [77009, 0, "m"], [77010, 0, "u"], [77011, 0, "t"], [77012, 0, "e"], [77013, 0, "}"], [77014, 0, "\n"], [77015, 0, "\\"], [77016, 0, "e"], [77017, 0, "n"], [77018, 0, "d"], [77019, 0, "{"], [77020, 0, "l"], [77021, 0, "e"], [77022, 0, "m"], [77023, 0, "m"], [77024, 0, "a"], [77025, 0, "}"], [77015, 0, "\n"], [77015, 0, "C"], [77016, 0, "o"], [77017, 0, "n"], [77018, 0, "c"], [77019, 0, "u"], [77020, 0, "r"], [77021, 0, "r"], [77022, 0, "e"], [77023, 0, "n"], [77024, 0, "t"], [77025, 0, " "], [77026, 0, "i"], [77027, 0, "n"], [77028, 0, "s"], [77029, 0, "e"], [77030, 0, "r"], [77031, 0, "t"], [77032, 0, "i"], [77033, 0, "o"], [77034, 0, "n"], [77035, 0, "s"], [77036, 0, " "], [77037, 0, "i"], [77038, 0, "n"], [77039, 0, "t"], [77040, 0, "o"], [77041, 0, " "], [77042, 0, "t"], [77043, 0, "h"], [77044, 0, "e"], [77045, 0, " "], [77046, 0, "s"], [77047, 0, "a"], [77048, 0, "m"], [77049, 0, "e"], [77050, 0, " "], [77051, 0, "l"], [77052, 0, "i"], [77053, 0, "s"], [77054, 0, "t"], [77055, 0, " "], [77056, 0, "a"], [77057, 0, "r"], [77058, 0, "e"], [77059, 0, " "], [77060, 0, "c"], [77061, 0, "o"], [77062, 0, "m"], [77063, 0, "m"], [77064, 0, "u"], [77065, 0, "t"], [77066, 0, "a"], [77067, 0, "t"], [77068, 0, "i"], [77069, 0, "v"], [77070, 0, "e"], [77071, 0, "."], [77084, 0, "\n"], [77085, 0, "\n"], [77086, 0, "\\"], [77087, 0, "b"], [77088, 0, "e"], [77089, 0, "g"], [77090, 0, "i"], [77091, 0, "n"], [77092, 0, "{"], [77093, 0, "p"], [77094, 0, "r"], [77095, 0, "o"], [77096, 0, "o"], [77097, 0, "f"], [77098, 0, "}"], [77099, 0, "\n"], [77100, 0, "\\"], [77101, 0, "e"], [77102, 0, "n"], [77103, 0, "d"], [77104, 0, "{"], [77105, 0, "p"], [77106, 0, "r"], [77107, 0, "o"], [77108, 0, "o"], [77109, 0, "f"], [77110, 0, "}"], [77099, 0, "\n"], [77100, 0, "L"], [77101, 0, "e"], [77102, 0, "t"], [77103, 0, " "], [77104, 0, "$"], [77105, 0, "\\"], [77106, 0, "m"], [77107, 0, "a"], [77108, 0, "t"], [77109, 0, "h"], [77110, 0, "i"], [77111, 0, "t"], [77112, 0, "{"], [77113, 0, "o"], [77114, 0, "p"], [77115, 0, "}"], [77116, 0, "_"], [77117, 0, "1"], [77118, 0, "$"], [77119, 0, " "], [77120, 0, "a"], [77121, 0, "n"], [77122, 0, "d"], [77123, 0, " "], [77124, 0, "$"], [77125, 0, "\\"], [77126, 0, "m"], [77127, 0, "a"], [77128, 0, "t"], [77129, 0, "h"], [77130, 0, "i"], [77131, 0, "t"], [77132, 0, "{"], [77133, 0, "o"], [77134, 0, "p"], [77135, 0, "}"], [77136, 0, "_"], [77137, 0, "2"], [77138, 0, "$"], [77139, 0, " "], [77140, 0, "b"], [77141, 0, "e"], [77142, 0, " "], [77143, 0, "t"], [77144, 0, "w"], [77145, 0, "o"], [77146, 0, " "], [77147, 0, "c"], [77148, 0, "o"], [77149, 0, "m"], [77150, 0, "m"], [77151, 0, "u"], [77152, 0, "t"], [77153, 0, "a"], [77154, 0, "t"], [77155, 0, "i"], [77156, 0, "v"], [77157, 0, "e"], [77158, 0, " "], [77159, 0, "i"], [77160, 0, "n"], [77161, 0, "s"], [77162, 0, "e"], [77163, 0, "r"], [77164, 0, "t"], [77165, 0, "i"], [77166, 0, "o"], [77167, 0, "n"], [77168, 0, " "], [77169, 0, "o"], [77170, 0, "p"], [77171, 0, "e"], [77172, 0, "r"], [77173, 0, "a"], [77174, 0, "t"], [77175, 0, "i"], [77176, 0, "o"], [77177, 0, "n"], [77178, 0, "s"], [77157, 1], [77156, 1], [77155, 1], [77154, 1], [77153, 1], [77152, 1], [77151, 1], [77150, 1], [77149, 1], [77149, 0, "n"], [77150, 0, "c"], [77151, 0, "u"], [77152, 0, "r"], [77153, 0, "r"], [77154, 0, "e"], [77155, 0, "n"], [77156, 0, "t"], [77178, 0, ","], [77179, 0, " "], [77180, 0, "i"], [77181, 0, "."], [77182, 0, "e"], [77183, 0, "."], [77184, 0, " "], [77185, 0, "$"], [77186, 0, "\\"], [77187, 0, "m"], [77188, 0, "a"], [77189, 0, "t"], [77190, 0, "h"], [77191, 0, "i"], [77192, 0, "t"], [77193, 0, "{"], [77194, 0, "o"], [77195, 0, "p"], [77196, 0, "_"], [77196, 1], [77196, 0, "}"], [77197, 0, "_"], [77198, 0, "1"], [77199, 0, "."], [77200, 0, "\\"], [77201, 0, "m"], [77202, 0, "a"], [77203, 0, "t"], [77204, 0, "h"], [77205, 0, "i"], [77206, 0, "t"], [77207, 0, "{"], [77208, 0, "d"], [77209, 0, "e"], [77210, 0, "p"], [77211, 0, "s"], [77212, 0, "}"], [77213, 0, " "], [77214, 0, "\\"], [76973, 0, "\n"], [76974, 0, "\n"], [76975, 0, "\\"], [76976, 0, "b"], [76977, 0, "e"], [76978, 0, "g"], [76979, 0, "i"], [76980, 0, "n"], [76981, 0, "{"], [76982, 0, "d"], [76983, 0, "e"], [76984, 0, "f"], [76985, 0, "i"], [76986, 0, "n"], [76987, 0, "i"], [76988, 0, "t"], [76989, 0, "i"], [76990, 0, "o"], [76991, 0, "n"], [76992, 0, "}"], [76993, 0, "\\"], [76994, 0, "l"], [76995, 0, "a"], [76996, 0, "b"], [76997, 0, "e"], [76998, 0, "l"], [76999, 0, "{"], [77000, 0, "d"], [77001, 0, "e"], [77002, 0, "f"], [77003, 0, ":"], [77004, 0, "c"], [77005, 0, "o"], [77006, 0, "n"], [77007, 0, "c"], [77008, 0, "u"], [77009, 0, "r"], [77010, 0, "r"], [77011, 0, "e"], [77012, 0, "n"], [77013, 0, "t"], [77014, 0, "}"], [77015, 0, "\n"], [77016, 0, "\\"], [77017, 0, "e"], [77018, 0, "n"], [77019, 0, "d"], [77020, 0, "{"], [77021, 0, "d"], [77022, 0, "e"], [77023, 0, "f"], [77024, 0, "i"], [77025, 0, "n"], [77026, 0, "i"], [77027, 0, "t"], [77028, 0, "i"], [77029, 0, "o"], [77030, 0, "n"], [77031, 0, "}"], [77015, 0, "\n"], [77016, 0, "T"], [77017, 0, "w"], [77018, 0, "o"], [77019, 0, " "], [77020, 0, "o"], [77021, 0, "p"], [77022, 0, "e"], [77023, 0, "r"], [77024, 0, "a"], [77025, 0, "t"], [77026, 0, "i"], [77027, 0, "o"], [77028, 0, "n"], [77029, 0, "s"], [77030, 0, " "], [77031, 0, "$"], [77032, 0, "\\"], [77033, 0, "m"], [77034, 0, "a"], [77035, 0, "t"], [77036, 0, "h"], [77037, 0, "i"], [77038, 0, "t"], [77039, 0, "{"], [77040, 0, "o"], [77041, 0, "p"], [77042, 0, "}"], [77043, 0, "_"], [77044, 0, "1"], [77045, 0, "$"], [77046, 0, " "], [77047, 0, "a"], [77048, 0, "n"], [77049, 0, "d"], [77050, 0, " "], [77051, 0, "$"], [77052, 0, "\\"], [77053, 0, "m"], [77054, 0, "a"], [77055, 0, "t"], [77056, 0, "h"], [77057, 0, "i"], [77058, 0, "t"], [77059, 0, "{"], [77077, 1], [77076, 1], [77075, 1], [77074, 1], [77073, 1], [77072, 1], [77071, 1], [77070, 1], [77069, 1], [77068, 1], [77067, 1], [77066, 1], [77065, 1], [77064, 1], [77063, 1], [77062, 1], [77061, 1], [77060, 1], [77059, 1], [77058, 1], [77057, 1], [77056, 1], [77055, 1], [77054, 1], [77053, 1], [77052, 1], [77051, 1], [77050, 1], [77049, 1], [77048, 1], [77047, 1], [77046, 1], [77045, 1], [77044, 1], [77043, 1], [77042, 1], [77041, 1], [77040, 1], [77039, 1], [77038, 1], [77037, 1], [77036, 1], [77035, 1], [77034, 1], [77033, 1], [77032, 1], [77031, 1], [77030, 1], [77029, 1], [77028, 1], [77027, 1], [77026, 1], [77025, 1], [77024, 1], [77023, 1], [77022, 1], [77021, 1], [77020, 1], [77019, 1], [77018, 1], [77017, 1], [77016, 1], [77015, 1], [77014, 1], [77013, 1], [77012, 1], [77011, 1], [77010, 1], [77009, 1], [77008, 1], [77007, 1], [77006, 1], [77005, 1], [77004, 1], [77003, 1], [77002, 1], [77001, 1], [77000, 1], [76999, 1], [76998, 1], [76997, 1], [76996, 1], [76995, 1], [76994, 1], [76993, 1], [76992, 1], [76991, 1], [76990, 1], [76989, 1], [76988, 1], [76987, 1], [76986, 1], [76985, 1], [76984, 1], [76983, 1], [76982, 1], [76981, 1], [76980, 1], [76979, 1], [76978, 1], [76977, 1], [76976, 1], [76975, 1], [76974, 1], [77214, 1], [77213, 1], [77212, 1], [77211, 1], [77210, 1], [77209, 1], [77208, 1], [77207, 1], [77206, 1], [77205, 1], [77204, 1], [77203, 1], [77202, 1], [77201, 1], [77200, 1], [77199, 1], [77198, 1], [77197, 1], [77196, 1], [77195, 1], [77194, 1], [77193, 1], [77192, 1], [77191, 1], [77190, 1], [77189, 1], [77188, 1], [77187, 1], [77186, 1], [77185, 1], [77184, 1], [77183, 1], [77182, 1], [77181, 1], [77180, 1], [77179, 1], [77178, 1], [77178, 0, "."], [77179, 0, " "], [76973, 0, "\n"], [76974, 0, "\n"], [76975, 0, "\\"], [76976, 0, "b"], [76977, 0, "e"], [76978, 0, "g"], [76979, 0, "i"], [76980, 0, "n"], [76981, 0, "{"], [76982, 0, "d"], [76983, 0, "e"], [76984, 0, "f"], [76985, 0, "i"], [76986, 0, "n"], [76987, 0, "i"], [76988, 0, "t"], [76989, 0, "i"], [76990, 0, "o"], [76991, 0, "n"], [76992, 0, "}"], [76993, 0, "\\"], [76994, 0, "l"], [76995, 0, "a"], [76996, 0, "b"], [76997, 0, "e"], [76998, 0, "l"], [76999, 0, "{"], [77000, 0, "d"], [77001, 0, "e"], [77002, 0, "f"], [77003, 0, ":"], [77004, 0, "c"], [77005, 0, "o"], [77006, 0, "m"], [77007, 0, "m"], [77008, 0, "a"], [77008, 1], [77008, 0, "o"], [77009, 0, "n"], [77010, 0, "-"], [77011, 0, "a"], [77012, 0, "n"], [77013, 0, "c"], [77014, 0, "e"], [77015, 0, "s"], [77016, 0, "t"], [77017, 0, "o"], [77018, 0, "r"], [77019, 0, "}"], [77020, 0, "\n"], [77021, 0, "\\"], [77022, 0, "e"], [77023, 0, "n"], [77024, 0, "d"], [77025, 0, "{"], [77026, 0, "d"], [77027, 0, "e"], [77028, 0, "f"], [77029, 0, "i"], [77030, 0, "n"], [77031, 0, "i"], [77032, 0, "t"], [77033, 0, "i"], [77034, 0, "o"], [77035, 0, "n"], [77036, 0, "}"], [77020, 0, "\n"], [77021, 0, "F"], [77022, 0, "o"], [77023, 0, "r"], [77024, 0, " "], [77025, 0, "t"], [77026, 0, "w"], [77027, 0, "o"], [77028, 0, " "], [77029, 0, "c"], [77030, 0, "o"], [77031, 0, "n"], [77032, 0, "c"], [77033, 0, "u"], [77034, 0, "r"], [77035, 0, "r"], [77036, 0, "e"], [77037, 0, "n"], [77038, 0, "t"], [77039, 0, " "], [77040, 0, "o"], [77041, 0, "p"], [77042, 0, "e"], [77043, 0, "r"], [77044, 0, "a"], [77045, 0, "t"], [77046, 0, "i"], [77047, 0, "o"], [77048, 0, "n"], [77049, 0, "s"], [77050, 0, " "], [77051, 0, "$"], [77052, 0, "\\"], [77053, 0, "m"], [77054, 0, "a"], [77055, 0, "t"], [77056, 0, "h"], [77057, 0, "i"], [77058, 0, "t"], [77059, 0, "{"], [77060, 0, "o"], [77061, 0, "p"], [77062, 0, "}"], [77063, 0, "_"], [77064, 0, "1"], [77065, 0, "$"], [77066, 0, " "], [77067, 0, "a"], [77068, 0, "n"], [77069, 0, "d"], [77070, 0, " "], [77071, 0, "$"], [77072, 0, "\\"], [77073, 0, "m"], [77074, 0, "a"], [77075, 0, "t"], [77076, 0, "h"], [77077, 0, "i"], [77078, 0, "t"], [77079, 0, "{"], [77080, 0, "o"], [77081, 0, "p"], [77082, 0, "}"], [77083, 0, "_"], [77084, 0, "2"], [77085, 0, "$"], [77086, 0, ","], [77087, 0, " "], [77088, 0, "t"], [77089, 0, "h"], [77090, 0, "e"], [77091, 0, " "], [77092, 0, "\\"], [77093, 0, "e"], [77094, 0, "m"], [77095, 0, "p"], [77096, 0, "h"], [77097, 0, "{"], [77098, 0, "c"], [77099, 0, "o"], [77100, 0, "m"], [77101, 0, "m"], [77102, 0, "o"], [77103, 0, "n"], [77104, 0, " "], [77105, 0, "a"], [77106, 0, "n"], [77107, 0, "c"], [77108, 0, "e"], [77109, 0, "s"], [77110, 0, "t"], [77111, 0, "o"], [77112, 0, "r"], [77113, 0, "}"], [77114, 0, " "], [77115, 0, "i"], [77116, 0, "s"], [77117, 0, " "], [77118, 0, "t"], [77119, 0, "h"], [77120, 0, "e"], [77121, 0, " "], [77122, 0, "d"], [77123, 0, "o"], [77124, 0, "c"], [77125, 0, "u"], [77126, 0, "m"], [77127, 0, "e"], [77128, 0, "n"], [77129, 0, "t"], [77130, 0, " "], [77131, 0, "s"], [77132, 0, "t"], [77133, 0, "a"], [77134, 0, "t"], [77135, 0, "e"], [77136, 0, " "], [77137, 0, "r"], [77138, 0, "e"], [77139, 0, "s"], [77140, 0, "u"], [77141, 0, "l"], [77142, 0, "t"], [77143, 0, "i"], [77144, 0, "n"], [77145, 0, "g"], [77146, 0, " "], [77147, 0, "f"], [77148, 0, "r"], [77149, 0, "o"], [77150, 0, "m"], [77151, 0, " "], [77152, 0, "a"], [77153, 0, "p"], [77154, 0, "p"], [77155, 0, "l"], [77156, 0, "y"], [77157, 0, "i"], [77158, 0, "n"], [77159, 0, "g"], [77160, 0, " "], [77161, 0, "a"], [77162, 0, "l"], [77163, 0, "l"], [77164, 0, " "], [77165, 0, "o"], [77166, 0, "p"], [77167, 0, "e"], [77168, 0, "r"], [77169, 0, "a"], [77170, 0, "t"], [77171, 0, "i"], [77172, 0, "o"], [77173, 0, "n"], [77174, 0, "s"], [77175, 0, " "], [77176, 0, "i"], [77177, 0, "n"], [77178, 0, " "], [77179, 0, "$"], [77180, 0, "\\"], [77181, 0, "m"], [77182, 0, "a"], [77183, 0, "t"], [77184, 0, "h"], [77185, 0, "i"], [77186, 0, "t"], [77187, 0, "{"], [77188, 0, "o"], [77189, 0, "p"], [77190, 0, "}"], [77191, 0, "_"], [77192, 0, "1"], [77193, 0, "."], [77194, 0, "\\"], [77195, 0, "m"], [77196, 0, "a"], [77197, 0, "t"], [77198, 0, "h"], [77199, 0, "i"], [77200, 0, "t"], [77201, 0, "{"], [77202, 0, "d"], [77203, 0, "e"], [77204, 0, "p"], [77205, 0, "s"], [77206, 0, "}"], [77207, 0, " "], [77208, 0, "\\"], [77209, 0, "c"], [77210, 0, "u"], [77211, 0, "p"], [77212, 0, " "], [77213, 0, "\\"], [77214, 0, "m"], [77215, 0, "a"], [77216, 0, "t"], [77217, 0, "h"], [77218, 0, "i"], [77219, 0, "t"], [77220, 0, "{"], [77221, 0, "o"], [77222, 0, "p"], [77223, 0, "}"], [77224, 0, "_"], [77225, 0, "2"], [77226, 0, "."], [77227, 0, "\\"], [77228, 0, "m"], [77229, 0, "a"], [77230, 0, "t"], [77231, 0, "h"], [77232, 0, "i"], [77233, 0, "t"], [77234, 0, "{"], [77235, 0, "d"], [77236, 0, "e"], [77237, 0, "p"], [77238, 0, "s"], [77239, 0, "}"], [77240, 0, "$"], [77241, 0, ","], [77242, 0, " "], [77243, 0, "i"], [77244, 0, "."], [77245, 0, "e"], [77246, 0, "."], [77247, 0, " "], [77248, 0, "t"], [77249, 0, "h"], [77250, 0, "e"], [77251, 0, " "], [77252, 0, "m"], [77253, 0, "o"], [77254, 0, "s"], [77255, 0, "t"], [77256, 0, " "], [77257, 0, "r"], [77258, 0, "e"], [77259, 0, "c"], [77260, 0, "e"], [77261, 0, "n"], [77262, 0, "t"], [77263, 0, " "], [77264, 0, "d"], [77265, 0, "o"], [77266, 0, "c"], [77267, 0, "u"], [77268, 0, "m"], [77269, 0, "e"], [77270, 0, "n"], [77271, 0, "t"], [77272, 0, " "], [77273, 0, "s"], [77274, 0, "t"], [77275, 0, "a"], [77276, 0, "t"], [77277, 0, "e"], [77278, 0, " "], [77279, 0, "t"], [77280, 0, "h"], [77281, 0, "a"], [77282, 0, "t"], [77283, 0, " "], [77284, 0, "c"], [77285, 0, "a"], [77286, 0, "u"], [77287, 0, "s"], [77288, 0, "a"], [77289, 0, "l"], [77290, 0, "l"], [77291, 0, "y"], [77292, 0, " "], [77293, 0, "p"], [77294, 0, "r"], [77295, 0, "e"], [77296, 0, "c"], [77297, 0, "e"], [77298, 0, "d"], [77299, 0, "e"], [77300, 0, "s"], [77301, 0, " "], [77302, 0, "b"], [77303, 0, "o"], [77304, 0, "t"], [77305, 0, "h"], [77306, 0, " "], [77307, 0, "o"], [77308, 0, "p"], [77309, 0, "e"], [77310, 0, "r"], [77311, 0, "a"], [77312, 0, "t"], [77313, 0, "i"], [77314, 0, "o"], [77315, 0, "n"], [77316, 0, "s"], [77317, 0, ","], [77318, 0, " "], [77319, 0, "a"], [77320, 0, "f"], [77321, 0, "t"], [77322, 0, "e"], [77323, 0, "r"], [77324, 0, " "], [77325, 0, "w"], [77326, 0, "h"], [77327, 0, "i"], [77328, 0, "c"], [77329, 0, "h"], [77330, 0, " "], [77331, 0, "t"], [77332, 0, "h"], [77333, 0, "e"], [77334, 0, " "], [77335, 0, "d"], [77336, 0, "o"], [77337, 0, "c"], [77338, 0, "u"], [77339, 0, "m"], [77340, 0, "e"], [77341, 0, "n"], [77342, 0, "t"], [77343, 0, " "], [77344, 0, "s"], [77345, 0, "t"], [77346, 0, "a"], [77347, 0, "t"], [77348, 0, "e"], [77349, 0, "s"], [77350, 0, " "], [77351, 0, "d"], [77352, 0, "i"], [77353, 0, "v"], [77354, 0, "e"], [77355, 0, "r"], [77356, 0, "g"], [77357, 0, "e"], [77358, 0, "d"], [77359, 0, "."], [76993, 0, "["], [76994, 0, "c"], [76995, 0, "o"], [76996, 0, "m"], [76997, 0, "m"], [76998, 0, "o"], [76999, 0, "n"], [77000, 0, " "], [77001, 0, "a"], [77002, 0, "n"], [77003, 0, "c"], [77004, 0, "e"], [77005, 0, "s"], [77006, 0, "t"], [77007, 0, "]"], [77008, 0, "r"], [77008, 1], [77007, 1], [77007, 0, "o"], [77008, 0, "r"], [77009, 0, "]"], [73527, 0, "["], [73528, 0, "l"], [73529, 0, "i"], [73530, 0, "s"], [73531, 0, "t"], [73532, 0, " "], [73533, 0, "e"], [73534, 0, "l"], [73535, 0, "e"], [73536, 0, "m"], [73537, 0, "e"], [73538, 0, "n"], [73539, 0, "t"], [73540, 0, " "], [73541, 0, "p"], [73542, 0, "r"], [73543, 0, "e"], [73544, 0, "c"], [73545, 0, "e"], [73546, 0, "d"], [73547, 0, "e"], [73548, 0, "n"], [73549, 0, "c"], [73550, 0, "e"], [73551, 0, "]"], [69726, 0, "["], [69727, 0, "d"], [69728, 0, "o"], [69729, 0, "c"], [69730, 0, "u"], [69731, 0, "m"], [69732, 0, "e"], [69733, 0, "n"], [69734, 0, "t"], [69735, 0, " "], [69736, 0, "s"], [69737, 0, "t"], [69738, 0, "a"], [69739, 0, "t"], [69740, 0, "e"], [69741, 0, "]"], [68964, 0, "["], [68965, 0, "h"], [68966, 0, "i"], [68967, 0, "s"], [68968, 0, "t"], [68969, 0, "o"], [68970, 0, "r"], [68971, 0, "y"], [68972, 0, "]"], [67907, 0, "["], [67908, 0, "v"], [67909, 0, "a"], [67910, 0, "l"], [67911, 0, "i"], [67912, 0, "d"], [67913, 0, " "], [67914, 0, "e"], [67915, 0, "x"], [67916, 0, "e"], [67917, 0, "c"], [67918, 0, "u"], [67919, 0, "t"], [67920, 0, "i"], [67921, 0, "o"], [67922, 0, "n"], [67923, 0, "]"], [77668, 0, "L"], [77669, 0, "e"], [77670, 0, "t"], [77671, 0, " "], [77672, 0, "$"], [77673, 0, "k"], [77674, 0, "_"], [77675, 0, "1"], [77676, 0, "$"], [77677, 0, " "], [77678, 0, "b"], [77679, 0, "e"], [77680, 0, " "], [77681, 0, "t"], [77682, 0, "h"], [77683, 0, "e"], [77684, 0, " "], [77685, 0, "l"], [77686, 0, "i"], [77687, 0, "s"], [77688, 0, "t"], [77689, 0, " "], [77690, 0, "e"], [77691, 0, "l"], [77692, 0, "e"], [77693, 0, "m"], [77694, 0, "e"], [77695, 0, "n"], [77696, 0, "t"], [77697, 0, " "], [77698, 0, "t"], [77699, 0, "h"], [77700, 0, "a"], [77701, 0, "t"], [77702, 0, " "], [77703, 0, "m"], [77704, 0, "o"], [77705, 0, "s"], [77706, 0, "t"], [77707, 0, " "], [77708, 0, "c"], [77709, 0, "l"], [77710, 0, "o"], [77711, 0, "s"], [77712, 0, "e"], [77713, 0, "l"], [77714, 0, "y"], [77715, 0, " "], [77716, 0, "p"], [77717, 0, "r"], [77718, 0, "e"], [77719, 0, "c"], [77720, 0, "e"], [77721, 0, "d"], [77722, 0, "e"], [77723, 0, "s"], [77666, 0, " "], [77667, 0, "w"], [77668, 0, "i"], [77669, 0, "t"], [77670, 0, "h"], [77671, 0, " "], [77672, 0, "a"], [77673, 0, " "], [77674, 0, "c"], [77675, 0, "o"], [77676, 0, "m"], [77677, 0, "m"], [77678, 0, "o"], [77679, 0, "n"], [77680, 0, " "], [77206, 1], [77206, 1], [77206, 1], [77206, 1], [77206, 1], [77206, 1], [77206, 1], [77206, 1], [77206, 0, "r"], [77207, 0, "e"], [77208, 0, "p"], [77209, 0, "l"], [77210, 0, "i"], [77211, 0, "c"], [77212, 0, "a"], [77354, 1], [77353, 1], [77352, 1], [77351, 1], [77350, 1], [77349, 1], [77348, 1], [77347, 1], [77347, 0, "r"], [77348, 0, "e"], [77349, 0, "p"], [77350, 0, "l"], [77351, 0, "i"], [77352, 0, "c"], [77353, 0, "a"], [77431, 1], [77430, 1], [77429, 1], [77428, 1], [77427, 1], [77426, 1], [77425, 1], [77424, 1], [77423, 1], [77422, 1], [77421, 1], [77420, 1], [77419, 1], [77418, 1], [77417, 1], [77416, 1], [77416, 0, "y"], [77324, 1], [77324, 0, "."], [77325, 0, "\n"], [77326, 0, "\\"], [77327, 0, "e"], [77328, 0, "n"], [77329, 0, "d"], [77330, 0, "{"], [77331, 0, "d"], [77332, 0, "e"], [77333, 0, "f"], [77334, 0, "i"], [77335, 0, "n"], [77336, 0, "i"], [77337, 0, "t"], [77338, 0, "i"], [77339, 0, "o"], [77340, 0, "n"], [77341, 0, "}"], [77342, 0, "\n"], [77343, 0, "\n"], [77344, 1], [77344, 1], [77344, 1], [77344, 1], [77344, 1], [77344, 0, "I"], [77345, 0, "n"], [77346, 0, " "], [77347, 0, "o"], [77348, 0, "t"], [77349, 0, "h"], [77350, 0, "e"], [77351, 0, "r"], [77352, 0, " "], [77353, 0, "w"], [77354, 0, "o"], [77355, 0, "r"], [77356, 0, "d"], [77357, 0, "s"], [77358, 0, ","], [77359, 0, " "], [77360, 0, "t"], [77361, 0, "h"], [77362, 0, "e"], [77363, 0, " "], [77364, 0, "c"], [77365, 0, "o"], [77366, 0, "m"], [77367, 0, "m"], [77368, 0, "o"], [77369, 0, "n"], [77370, 0, " "], [77371, 0, "a"], [77372, 0, "n"], [77373, 0, "c"], [77374, 0, "e"], [77375, 0, "s"], [77376, 0, "t"], [77377, 0, "o"], [77378, 0, "r"], [77379, 0, " "], [77380, 0, "i"], [77381, 0, "s"], [77495, 1], [77494, 1], [77493, 1], [77492, 1], [77491, 1], [77490, 1], [77489, 1], [77488, 1], [77487, 1], [77486, 1], [77485, 1], [77484, 1], [77483, 1], [77482, 1], [77481, 1], [77480, 1], [77479, 1], [77468, 1], [77468, 0, " "], [77469, 0, "r"], [77470, 0, "e"], [77471, 0, "p"], [77472, 0, "l"], [77473, 0, "i"], [77474, 0, "c"], [77475, 0, "a"], [77476, 0, "s"], [77487, 0, " "], [77488, 0, "T"], [77489, 0, "h"], [77490, 0, "e"], [77491, 0, "r"], [77492, 0, "e"], [77493, 0, " "], [77494, 0, "m"], [77495, 0, "a"], [77496, 0, "n"], [77497, 0, "y"], [77498, 0, " "], [77499, 0, "b"], [77500, 0, "e"], [77501, 0, " "], [77502, 0, "a"], [77503, 0, "n"], [77504, 0, "y"], [77505, 0, " "], [77506, 0, "n"], [77507, 0, "u"], [77508, 0, "m"], [77509, 0, "b"], [77510, 0, "e"], [77511, 0, "r"], [77512, 0, " "], [77513, 0, "o"], [77514, 0, "f"], [77515, 0, " "], [77516, 0, "o"], [77517, 0, "p"], [77518, 0, "e"], [77519, 0, "r"], [77520, 0, "a"], [77521, 0, "t"], [77522, 0, "i"], [77523, 0, "o"], [77524, 0, "n"], [77525, 0, "s"], [77526, 0, " "], [77527, 0, "b"], [77528, 0, "e"], [77529, 0, "t"], [77530, 0, "w"], [77531, 0, "e"], [77532, 0, "e"], [77533, 0, "n"], [77534, 0, " "], [77535, 0, "t"], [77536, 0, "h"], [77537, 0, "e"], [77538, 0, " "], [77539, 0, "c"], [77540, 0, "o"], [77541, 0, "m"], [77542, 0, "m"], [77543, 0, "o"], [77544, 0, "n"], [77545, 0, " "], [77546, 0, "a"], [77547, 0, "n"], [77548, 0, "c"], [77549, 0, "e"], [77550, 0, "s"], [77551, 0, "t"], [77552, 0, "o"], [77553, 0, "r"], [77554, 0, " "], [77555, 0, "a"], [77556, 0, "n"], [77557, 0, "d"], [77558, 0, " "], [77559, 0, "$"], [77560, 0, "\\"], [77561, 0, "m"], [77562, 0, "a"], [77563, 0, "t"], [77564, 0, "h"], [77565, 0, "i"], [77566, 0, "t"], [77567, 0, "{"], [77568, 0, "o"], [77569, 0, "p"], [77570, 0, "}"], [77571, 0, "_"], [77572, 0, "{"], [77573, 0, "1"], [77574, 0, ","], [77575, 0, "2"], [77576, 0, "}"], [77577, 0, "$"], [77578, 0, "."], [77799, 0, "a"], [77800, 0, "n"], [77801, 0, "c"], [77802, 0, "e"], [77803, 0, "s"], [77804, 0, "t"], [77805, 0, "o"], [77806, 0, "r"], [77807, 0, " "], [77808, 0, "#"], [77809, 0, "$"], [77809, 1], [77808, 1], [77808, 0, "$"], [77809, 0, "A"], [77810, 0, "\\"], [77810, 1], [77810, 0, "_"], [77811, 0, "\\"], [77812, 0, "m"], [77813, 0, "a"], [77814, 0, "t"], [77815, 0, "h"], [77816, 0, "i"], [77817, 0, "t"], [77818, 0, "{"], [77819, 0, "a"], [77820, 0, "n"], [77821, 0, "c"], [77822, 0, "}"], [77823, 0, "$"], [77834, 0, "^"], [77835, 0, "\\"], [77836, 0, "m"], [77837, 0, "a"], [77838, 0, "t"], [77839, 0, "h"], [77840, 0, "i"], [77841, 0, "t"], [77842, 0, "{"], [77843, 0, "b"], [77843, 1], [77843, 0, "b"], [77844, 0, "e"], [77845, 0, "f"], [77846, 0, "o"], [77847, 0, "r"], [77848, 0, "e"], [77849, 0, "}"], [77851, 0, " "], [77852, 0, "a"], [77853, 0, "n"], [77854, 0, "d"], [77855, 0, " "], [77856, 0, "$"], [77857, 0, "k"], [77858, 0, "_"], [77859, 0, "2"], [77860, 0, "^"], [77861, 0, "&"], [77861, 1], [77861, 0, "\\"], [77862, 0, "m"], [77863, 0, "a"], [77864, 0, "t"], [77865, 0, "h"], [77866, 0, "i"], [77867, 0, "t"], [77868, 0, "{"], [77869, 0, "b"], [77870, 0, "e"], [77871, 0, "f"], [77872, 0, "o"], [77873, 0, "r"], [77874, 0, "e"], [77875, 0, "}"], [77876, 0, "$"], [77897, 0, "s"], [77898, 0, " "], [77899, 0, "i"], [77900, 0, "n"], [77901, 0, " "], [77902, 0, "$"], [77903, 0, "A"], [77904, 0, "_"], [77905, 0, "\\"], [77906, 0, "m"], [77907, 0, "a"], [77908, 0, "t"], [77909, 0, "h"], [77910, 0, "i"], [77911, 0, "t"], [77912, 0, "{"], [77913, 0, "a"], [77914, 0, "n"], [77915, 0, "c"], [77916, 0, "}"], [77917, 0, "$"], [77944, 1], [77944, 0, " "], [77945, 0, "t"], [77946, 0, "h"], [77947, 0, "e"], [77948, 0, " "], [77949, 0, "i"], [77950, 0, "n"], [77951, 0, "s"], [77952, 0, "e"], [77953, 0, "r"], [77954, 0, "t"], [77955, 0, "i"], [77956, 0, "o"], [77957, 0, "n"], [77958, 0, " "], [77959, 0, "p"], [77960, 0, "i"], [77961, 0, "s"], [77962, 0, "i"], [77962, 1], [77961, 1], [77960, 1], [77960, 0, "o"], [77961, 0, "s"], [77962, 0, "i"], [77963, 0, "t"], [77964, 0, "i"], [77965, 0, "o"], [77966, 0, "n"], [77967, 0, " "], [77968, 0, "o"], [77969, 0, "f"], [77970, 0, " "], [77971, 0, "$"], [77972, 0, "\\"], [77973, 0, "m"], [77974, 0, "a"], [77975, 0, "t"], [77976, 0, "h"], [77977, 0, "i"], [77978, 0, "t"], [77979, 0, "{"], [77980, 0, "o"], [77981, 0, "p"], [77982, 0, "}"], [77983, 0, "_"], [77984, 0, "1"], [77985, 0, "$"], [77986, 0, " "], [77987, 0, "a"], [77988, 0, "n"], [77989, 0, "d"], [77990, 0, " "], [77991, 0, "$"], [77992, 0, "\\"], [77993, 0, "m"], [77994, 0, "a"], [77995, 0, "t"], [77996, 0, "h"], [77997, 0, "i"], [77998, 0, "t"], [77999, 0, "{"], [78000, 0, "o"], [78001, 0, "p"], [78002, 0, "}"], [78003, 0, ")"], [78004, 0, "2"], [78004, 1], [78003, 1], [78003, 0, "_"], [78004, 0, "2"], [78005, 0, "$"], [78006, 0, " "], [78007, 0, "r"], [78008, 0, "e"], [78009, 0, "s"], [78010, 0, "p"], [78011, 0, "e"], [78012, 0, "c"], [78013, 0, "t"], [78014, 0, "i"], [78015, 0, "v"], [78016, 0, "e"], [78017, 0, "l"], [78018, 0, "y"], [78019, 0, ","], [78020, 0, " "], [78021, 0, "a"], [78022, 0, "n"], [78023, 0, "d"], [78024, 0, " "], [78025, 0, "l"], [78026, 0, "e"], [78027, 0, "t"], [78028, 0, " "], [78029, 0, "$"], [78030, 0, "k"], [78031, 0, "_"], [78032, 0, "1"], [78033, 0, "&"], [78033, 1], [78033, 0, "^"], [78034, 0, "\\"], [78035, 0, "m"], [78036, 0, "a"], [78037, 0, "t"], [78038, 0, "h"], [78039, 0, "i"], [78040, 0, "t"], [78041, 0, "{"], [78042, 0, "a"], [78043, 0, "f"], [78044, 0, "t"], [78045, 0, "e"], [78046, 0, "r"], [78047, 0, "}"], [78048, 0, "$"], [78049, 0, " "], [78050, 0, "a"], [78051, 0, "n"], [78052, 0, "d"], [78053, 0, " "], [78054, 0, "$"], [78055, 0, "k"], [78056, 0, "_"], [78057, 0, "2"], [78058, 0, "^"], [78059, 0, "\\"], [78060, 0, "m"], [78061, 0, "a"], [78062, 0, "t"], [78063, 0, "h"], [78064, 0, "i"], [78065, 0, "t"], [78066, 0, "{"], [78067, 0, "a"], [78068, 0, "f"], [78069, 0, "t"], [78070, 0, "e"], [78071, 0, "r"], [78072, 0, "}"], [78073, 0, "$"], [78074, 0, " "], [78075, 0, "b"], [78076, 0, "e"], [78077, 0, " "], [78078, 0, "t"], [78079, 0, "h"], [78080, 0, "e"], [78081, 0, " "], [78082, 0, "l"], [78083, 0, "i"], [78084, 0, "s"], [78085, 0, "t"], [78086, 0, " "], [78087, 0, "e"], [78088, 0, "l"], [78089, 0, "e"], [78090, 0, "m"], [78091, 0, "e"], [78092, 0, "n"], [78093, 0, "t"], [78094, 0, "s"], [78095, 0, " "], [78096, 0, "i"], [78097, 0, "n"], [78098, 0, " "], [78099, 0, "$"], [78100, 0, "A"], [78101, 0, "_"], [78102, 0, "\\"], [78103, 0, "m"], [78104, 0, "a"], [78105, 0, "t"], [78106, 0, "h"], [78107, 0, "i"], [78108, 0, "t"], [78109, 0, "{"], [78110, 0, "a"], [78111, 0, "n"], [78112, 0, "c"], [78113, 0, "}"], [78114, 0, "$"], [78115, 0, " "], [78116, 0, "m"], [78117, 0, "o"], [78118, 0, "s"], [78119, 0, "t"], [78120, 0, " "], [78121, 0, "c"], [78122, 0, "l"], [78123, 0, "o"], [78124, 0, "s"], [78125, 0, "e"], [78126, 0, "l"], [78127, 0, "y"], [78128, 0, " "], [78129, 0, "p"], [78130, 0, "r"], [78131, 0, "e"], [78132, 0, "c"], [78133, 0, "e"], [78134, 0, "d"], [78135, 0, "e"], [78136, 0, "d"], [78137, 0, " "], [78138, 0, "b"], [78139, 0, "y"], [78140, 0, " "], [78141, 0, "t"], [78142, 0, "h"], [78143, 0, "e"], [78144, 0, " "], [78145, 0, "i"], [78146, 0, "n"], [78147, 0, "s"], [78148, 0, "e"], [78149, 0, "r"], [78150, 0, "t"], [78151, 0, "i"], [78152, 0, "o"], [78153, 0, "n"], [78154, 0, " "], [78155, 0, "p"], [78156, 0, "o"], [78157, 0, "s"], [78158, 0, "i"], [78159, 0, "t"], [78160, 0, "i"], [78161, 0, "o"], [78162, 0, "n"], [78163, 0, " "], [78164, 0, "o"], [78165, 0, "f"], [78166, 0, " "], [78167, 0, "$"], [78168, 0, "\\"], [78169, 0, "m"], [78170, 0, "a"], [78171, 0, "t"], [78172, 0, "h"], [78173, 0, "i"], [78174, 0, "t"], [78175, 0, "{"], [78176, 0, "o"], [78177, 0, "p"], [78178, 0, "_"], [78178, 1], [78178, 0, "}"], [78179, 0, "_"], [78180, 0, "1"], [78181, 0, "$"], [78182, 0, " "], [78183, 0, "a"], [78184, 0, "n"], [78185, 0, "d"], [78186, 0, " "], [78187, 0, "$"], [78188, 0, "\\"], [78189, 0, "m"], [78190, 0, "a"], [78191, 0, "t"], [78192, 0, "h"], [78193, 0, "i"], [78194, 0, "t"], [78195, 0, "{"], [78196, 0, "o"], [78197, 0, "p"], [78198, 0, "}"], [78199, 0, "_"], [78200, 0, "2"], [78201, 0, "$"], [78202, 0, " "], [78203, 0, "r"], [78204, 0, "e"], [78205, 0, "s"], [78206, 0, "p"], [78207, 0, "e"], [78208, 0, "c"], [78209, 0, "t"], [78210, 0, "i"], [78211, 0, "v"], [78212, 0, "e"], [78213, 0, "l"], [78214, 0, "y"], [78215, 0, "."], [78216, 0, "\n"], [78217, 0, "\n"], [78218, 0, "B"], [78219, 0, "y"], [78220, 0, " "], [78221, 0, "L"], [78222, 0, "e"], [78223, 0, "m"], [78224, 0, "m"], [78225, 0, "a"], [78226, 0, "~"], [78227, 0, "\\"], [78228, 0, "r"], [78229, 0, "e"], [78230, 0, "f"], [78231, 0, "{"], [78232, 0, "l"], [78233, 0, "e"], [78234, 0, "m"], [78235, 0, ":"], [78236, 0, "i"], [78237, 0, "n"], [78238, 0, "s"], [78239, 0, "e"], [78240, 0, "r"], [78241, 0, "t"], [78242, 0, "-"], [78243, 0, "b"], [78244, 0, "e"], [78245, 0, "t"], [78246, 0, "w"], [78247, 0, "e"], [78248, 0, "e"], [78249, 0, "n"], [78250, 0, "}"], [78251, 0, ","], [78252, 0, " "], [78253, 0, "e"], [78254, 0, "i"], [78255, 0, "t"], [78256, 0, "h"], [78257, 0, "e"], [78258, 0, "r"], [78259, 0, " "], [74964, 0, "$"], [74965, 0, "k"], [74966, 0, "1"], [74966, 1], [74966, 0, "_"], [74967, 0, "1"], [74968, 0, "$"], [74969, 0, " "], [74970, 0, "p"], [74971, 0, "r"], [74972, 0, "e"], [74973, 0, "c"], [74974, 0, "e"], [74975, 0, "d"], [74976, 0, "e"], [74977, 0, "s"], [74978, 0, " "], [74979, 0, "$"], [74980, 0, "k"], [74981, 0, "_"], [74982, 0, "\\"], [74983, 0, "m"], [74984, 0, "a"], [74985, 0, "t"], [74986, 0, "h"], [74987, 0, "i"], [74988, 0, "t"], [74989, 0, "{"], [74990, 0, "n"], [74991, 0, "e"], [74992, 0, "w"], [74993, 0, "}"], [74994, 0, " "], [74995, 0, "i"], [74996, 0, "n"], [74997, 0, " "], [74998, 0, "t"], [74999, 0, "h"], [75000, 0, "e"], [75001, 0, " "], [75002, 0, "l"], [75003, 0, "i"], [75004, 0, "s"], [75005, 0, "t"], [75006, 0, " "], [75007, 0, "a"], [75008, 0, "n"], [75009, 0, "d"], [75010, 0, " "], [75011, 0, "$"], [75012, 0, "k"], [75013, 0, "_"], [75014, 0, "\\"], [75015, 0, "m"], [75016, 0, "a"], [75017, 0, "t"], [75018, 0, "h"], [75019, 0, "i"], [75020, 0, "t"], [75021, 0, "{"], [75022, 0, "n"], [75023, 0, "e"], [75024, 0, "w"], [75025, 0, "}"], [75026, 0, "$"], [75027, 0, " "], [75028, 0, "p"], [75029, 0, "r"], [75030, 0, "e"], [75031, 0, "c"], [75032, 0, "e"], [75033, 0, "d"], [75034, 0, "e"], [75035, 0, "s"], [75036, 0, " "], [75037, 0, "$"], [75038, 0, "k"], [75039, 0, "_"], [75040, 0, "2"], [75041, 0, "$"], [75042, 0, " "], [75043, 0, "i"], [75044, 0, "n"], [75045, 0, " "], [75046, 0, "t"], [75047, 0, "h"], [75048, 0, "e"], [75049, 0, " "], [75050, 0, "l"], [75051, 0, "i"], [75052, 0, "s"], [75053, 0, "t"], [75054, 0, " "], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [75055, 1], [78243, 0, "$"], [78244, 0, "k"], [78245, 0, "_"], [78246, 0, "1"], [78247, 0, "^"], [78248, 0, "\\"], [78249, 0, "m"], [78250, 0, "a"], [78251, 0, "t"], [78252, 0, "h"], [78253, 0, "i"], [78254, 0, "t"], [78255, 0, "{"], [78256, 0, "b"], [78257, 0, "e"], [78258, 0, "f"], [78259, 0, "o"], [78260, 0, "r"], [78261, 0, "e"], [78262, 0, "}"], [78263, 0, " "], [78264, 0, "="], [78265, 0, " "], [78266, 0, "k"], [78267, 0, "_"], [78268, 0, "2"], [78269, 0, "^"], [78270, 0, "\\"], [78271, 0, "m"], [78272, 0, "a"], [78273, 0, "t"], [78274, 0, "h"], [78275, 0, "i"], [78276, 0, "t"], [78277, 0, "{"], [78278, 0, "b"], [78279, 0, "e"], [78280, 0, "f"], [78281, 0, "o"], [78282, 0, "r"], [78283, 0, "e"], [78284, 0, "}"], [78285, 0, " "], [78286, 0, "\\"], [78287, 0, "v"], [78287, 1], [78287, 0, "w"], [78288, 0, "e"], [78289, 0, "d"], [78290, 0, "g"], [78291, 0, "e"], [78292, 0, " "], [78293, 0, "k"], [78294, 0, "_"], [78295, 0, "1"], [78296, 0, "^"], [78297, 0, "\\"], [78298, 0, "m"], [78299, 0, "a"], [78300, 0, "t"], [78301, 0, "h"], [78302, 0, "i"], [78303, 0, "t"], [78304, 0, "{"], [78305, 0, "a"], [78306, 0, "f"], [78307, 0, "t"], [78308, 0, "e"], [78309, 0, "r"], [78310, 0, "}"], [78311, 0, " "], [78312, 0, "="], [78313, 0, " "], [78314, 0, "k"], [78315, 0, "_"], [78316, 0, "2"], [78317, 0, "^"], [78318, 0, "\\"], [78319, 0, "m"], [78320, 0, "a"], [78321, 0, "t"], [78322, 0, "h"], [78323, 0, "i"], [78324, 0, "t"], [78325, 0, "{"], [78326, 0, "a"], [78327, 0, "f"], [78328, 0, "g"], [78329, 0, "t"], [78330, 0, "e"], [78331, 0, "r"], [78331, 1], [78330, 1], [78329, 1], [78328, 1], [78328, 0, "t"], [78329, 0, "e"], [78330, 0, "r"], [78331, 0, "}"], [78332, 0, "$"], [78333, 0, " "], [78334, 0, "("], [78335, 0, "i"], [78336, 0, "."], [78337, 0, "e"], [78338, 0, "."], [78339, 0, " "], [78340, 0, "$"], [78341, 0, "\\"], [78342, 0, "m"], [78343, 0, "a"], [78344, 0, "t"], [78345, 0, "h"], [78346, 0, "i"], [78347, 0, "t"], [78348, 0, "{"], [78349, 0, "o"], [78350, 0, "p"], [78351, 0, "}"], [78352, 0, "_"], [78353, 0, "1"], [78354, 0, "$"], [78355, 0, " "], [78356, 0, "a"], [78357, 0, "n"], [78358, 0, "d"], [78359, 0, " "], [78360, 0, "$"], [78361, 0, "\\"], [78362, 0, "m"], [78363, 0, "a"], [78364, 0, "t"], [78365, 0, "h"], [78366, 0, "i"], [78367, 0, "t"], [78368, 0, "{"], [78369, 0, "o"], [78370, 0, "p"], [78371, 0, "}"], [78372, 0, ")"], [78373, 0, "_"], [78373, 1], [78372, 1], [78372, 0, "_"], [78373, 0, "2"], [78374, 0, "$"], [78375, 0, " "], [78376, 0, "a"], [78377, 0, "r"], [78378, 0, "e"], [78379, 0, " "], [78380, 0, "i"], [78381, 0, "n"], [78382, 0, "s"], [78383, 0, "e"], [78384, 0, "r"], [78385, 0, "t"], [78386, 0, "i"], [78387, 0, "n"], [78388, 0, "g"], [78389, 0, " "], [78390, 0, "i"], [78391, 0, "n"], [78392, 0, "t"], [78393, 0, "o"], [78394, 0, " "], [78395, 0, "t"], [78396, 0, "h"], [78397, 0, "e"], [78398, 0, " "], [78399, 0, "s"], [78400, 0, "a"], [78401, 0, "m"], [78402, 0, "e"], [78403, 0, " "], [78404, 0, "i"], [78405, 0, "n"], [78406, 0, "t"], [78407, 0, "e"], [78408, 0, "r"], [78409, 0, "v"], [78410, 0, "a"], [78411, 0, "l"], [78412, 0, " "], [78413, 0, "o"], [78414, 0, "f"], [78415, 0, " "], [78416, 0, "l"], [78417, 0, "i"], [78418, 0, "s"], [78419, 0, "t"], [78420, 0, " "], [78421, 0, "e"], [78422, 0, "l"], [78423, 0, "e"], [78424, 0, "m"], [78425, 0, "e"], [78426, 0, "n"], [78427, 0, "t"], [78428, 0, "s"], [78429, 0, ")"], [78430, 0, ","], [78431, 0, " "], [78432, 0, "o"], [78433, 0, "r"], [78434, 0, " "], [78435, 0, "$"], [78436, 0, "k"], [78437, 0, "_"], [78438, 0, "2"], [78439, 0, "&"], [78439, 1], [78439, 0, "&"], [78439, 1], [78439, 0, "^"], [78440, 0, "\\"], [78441, 0, "m"], [78442, 0, "a"], [78443, 0, "t"], [78444, 0, "h"], [78445, 0, "i"], [78446, 0, "t"], [78447, 0, "{"], [78448, 0, "b"], [78449, 0, "e"], [78450, 0, "f"], [78451, 0, "o"], [78452, 0, "r"], [78453, 0, "e"], [78454, 0, "}"], [78455, 0, " "], [78456, 0, "\\"], [78457, 0, "n"], [78458, 0, "o"], [78459, 0, "t"], [78460, 0, "="], [78461, 0, " "], [78462, 0, "k"], [78438, 1], [78438, 0, "1"], [78463, 0, "_"], [78464, 0, "2"], [78465, 0, "^"], [78466, 0, "\\"], [78467, 0, "m"], [78468, 0, "a"], [78469, 0, "t"], [78470, 0, "h"], [78471, 0, "i"], [78472, 0, "t"], [78473, 0, "{"], [78474, 0, "b"], [78475, 0, "e"], [78476, 0, "f"], [78477, 0, "o"], [78478, 0, "r"], [78479, 0, "e"], [78480, 0, "}"], [78481, 0, " "], [78482, 0, "\\"], [78483, 0, "w"], [78484, 0, "e"], [78485, 0, "d"], [78486, 0, "g"], [78487, 0, "e"], [78488, 0, " "], [78489, 0, "k"], [78490, 0, "_"], [78491, 0, "1"], [78492, 0, "^"], [78493, 0, "\\"], [78494, 0, "m"], [78495, 0, "a"], [78496, 0, "t"], [78497, 0, "h"], [78498, 0, "i"], [78499, 0, "t"], [78500, 0, "{"], [78501, 0, "a"], [78502, 0, "f"], [78503, 0, "t"], [78504, 0, "e"], [78505, 0, "r"], [78506, 0, "}"], [78507, 0, " "], [78508, 0, "\\"], [78509, 0, "n"], [78510, 0, "o"], [78511, 0, "t"], [78512, 0, "="], [78513, 0, " "], [78514, 0, "k"], [78515, 0, "_"], [78516, 0, "2"], [78517, 0, "^"], [78518, 0, "\\"], [78519, 0, "m"], [78520, 0, "a"], [78521, 0, "t"], [78522, 0, "h"], [78523, 0, "i"], [78524, 0, "t"], [78525, 0, "{"], [78526, 0, "a"], [78527, 0, "f"], [78528, 0, "t"], [78529, 0, "e"], [78530, 0, "r"], [78531, 0, "}"], [78532, 0, "$"], [78533, 0, " "], [78534, 0, "("], [78535, 0, "i"], [78536, 0, "."], [78537, 0, "e"], [78538, 0, "."], [78539, 0, " "], [78540, 0, "t"], [78541, 0, "h"], [78542, 0, "e"], [78543, 0, " "], [78544, 0, "o"], [78545, 0, "p"], [78546, 0, "e"], [78547, 0, "r"], [78548, 0, "a"], [78549, 0, "t"], [78550, 0, "i"], [78551, 0, "o"], [78552, 0, "n"], [78553, 0, "s"], [78554, 0, " "], [78555, 0, "a"], [78556, 0, "r"], [78557, 0, "e"], [78558, 0, " "], [78559, 0, "i"], [78560, 0, "n"], [78561, 0, "s"], [78562, 0, "e"], [78563, 0, "r"], [78564, 0, "t"], [78565, 0, "i"], [78566, 0, "n"], [78567, 0, "g"], [78568, 0, " "], [78569, 0, "i"], [78570, 0, "n"], [78571, 0, "t"], [78572, 0, "o"], [78573, 0, " "], [78574, 0, "d"], [78575, 0, "i"], [78576, 0, "s"], [78577, 0, "j"], [78578, 0, "o"], [78579, 0, "i"], [78580, 0, "n"], [78581, 0, "t"], [78582, 0, " "], [78583, 0, "i"], [78584, 0, "n"], [78585, 0, "t"], [78586, 0, "e"], [78587, 0, "r"], [78588, 0, "v"], [78589, 0, "a"], [78590, 0, "l"], [78591, 0, "s"], [78592, 0, " "], [78593, 0, "o"], [78594, 0, "f"], [78595, 0, " "], [78596, 0, "l"], [78597, 0, "i"], [78598, 0, "s"], [78599, 0, "t"], [78600, 0, " "], [78601, 0, "e"], [78602, 0, "l"], [78603, 0, "e"], [78604, 0, "m"], [78605, 0, "e"], [78606, 0, "n"], [78607, 0, "t"], [78608, 0, "s"], [78609, 0, ")"], [78610, 0, "."], [78611, 0, " "], [78612, 0, "I"], [78613, 0, "n"], [78614, 0, " "], [78615, 0, "t"], [78616, 0, "h"], [78617, 0, "e"], [78618, 0, " "], [78619, 0, "l"], [78620, 0, "a"], [78621, 0, "t"], [78622, 0, "t"], [78623, 0, "e"], [78624, 0, "r"], [78625, 0, " "], [78626, 0, "c"], [78627, 0, "a"], [78628, 0, "s"], [78629, 0, "e"], [78630, 0, ","], [78631, 0, " "], [78632, 0, "t"], [78633, 0, "h"], [78634, 0, "e"], [78635, 0, " "], [78636, 0, "t"], [78637, 0, "w"], [78638, 0, "o"], [78639, 0, " "], [78640, 0, "o"], [78641, 0, "p"], [78642, 0, "e"], [78643, 0, "r"], [78644, 0, "a"], [78645, 0, "t"], [78646, 0, "i"], [78647, 0, "o"], [78648, 0, "n"], [78649, 0, "s"], [78650, 0, " "], [78651, 0, "a"], [78652, 0, "r"], [78653, 0, "e"], [78654, 0, " "], [78655, 0, "t"], [78656, 0, "r"], [78657, 0, "i"], [78658, 0, "v"], [78659, 0, "i"], [78660, 0, "a"], [78661, 0, "l"], [78662, 0, "l"], [78663, 0, "y"], [78664, 0, " "], [78665, 0, "c"], [78666, 0, "o"], [78667, 0, "m"], [78668, 0, "m"], [78669, 0, "u"], [78670, 0, "t"], [78671, 0, "a"], [78672, 0, "t"], [78673, 0, "i"], [78674, 0, "v"], [78675, 0, "e"], [78676, 0, ","], [78677, 0, " "], [78678, 0, "a"], [78679, 0, "s"], [78680, 0, " "], [78681, 0, "t"], [78682, 0, "h"], [78683, 0, "e"], [78684, 0, "y"], [78685, 0, " "], [78686, 0, "a"], [78687, 0, "f"], [78688, 0, "f"], [78689, 0, "e"], [78690, 0, "c"], [78691, 0, "t"], [78692, 0, " "], [78693, 0, "d"], [78694, 0, "i"], [78695, 0, "f"], [78696, 0, "f"], [78697, 0, "e"], [78698, 0, "r"], [78699, 0, "e"], [78700, 0, "n"], [78701, 0, "t"], [78702, 0, " "], [78703, 0, "p"], [78704, 0, "a"], [78705, 0, "r"], [78706, 0, "t"], [78707, 0, "s"], [78708, 0, " "], [78709, 0, "o"], [78710, 0, "f"], [78711, 0, " "], [78712, 0, "t"], [78713, 0, "h"], [78714, 0, "e"], [78715, 0, " "], [78716, 0, "l"], [78717, 0, "i"], [78718, 0, "s"], [78719, 0, "t"], [78720, 0, ","], [78721, 0, " "], [78722, 0, "a"], [78723, 0, "n"], [78724, 0, "d"], [78725, 0, " "], [78726, 0, "b"], [78727, 0, "y"], [78728, 0, " "], [78729, 0, "L"], [78730, 0, "e"], [78731, 0, "m"], [78732, 0, "m"], [78733, 0, "a"], [78734, 0, "~"], [78735, 0, "\\"], [78736, 0, "r"], [78737, 0, "e"], [78738, 0, "f"], [78739, 0, "{"], [78740, 0, "l"], [78741, 0, "e"], [78742, 0, "m"], [78743, 0, ":"], [78744, 0, "i"], [78745, 0, "n"], [78746, 0, "s"], [78747, 0, "e"], [78748, 0, "r"], [78749, 0, "t"], [78750, 0, "-"], [78751, 0, "b"], [78752, 0, "e"], [78753, 0, "t"], [78754, 0, "w"], [78755, 0, "e"], [78756, 0, "e"], [78757, 0, "n"], [78758, 0, "}"], [78759, 0, " "], [78760, 0, "t"], [78761, 0, "h"], [78762, 0, "e"], [78763, 0, "y"], [78764, 0, " "], [78765, 0, "d"], [78766, 0, "o"], [78767, 0, " "], [78768, 0, "n"], [78769, 0, "o"], [78770, 0, "t"], [78771, 0, " "], [78772, 0, "a"], [78773, 0, "f"], [78774, 0, "f"], [78775, 0, "e"], [78776, 0, "c"], [78777, 0, "t"], [78778, 0, " "], [78779, 0, "p"], [78780, 0, "a"], [78781, 0, "r"], [78782, 0, "t"], [78783, 0, "s"], [78784, 0, " "], [78785, 0, "o"], [78786, 0, "f"], [78787, 0, " "], [78788, 0, "t"], [78789, 0, "h"], [78790, 0, "e"], [78791, 0, " "], [78792, 0, "l"], [78793, 0, "i"], [78794, 0, "s"], [78795, 0, "t"], [78796, 0, " "], [78797, 0, "o"], [78798, 0, "u"], [78799, 0, "t"], [78800, 0, "s"], [78801, 0, "i"], [78802, 0, "d"], [78803, 0, "e"], [78804, 0, " "], [78805, 0, "o"], [78806, 0, "f"], [78807, 0, " "], [78808, 0, "t"], [78809, 0, "h"], [78810, 0, "e"], [78811, 0, "i"], [78812, 0, "r"], [78813, 0, " "], [78814, 0, "r"], [78815, 0, "e"], [78816, 0, "s"], [78817, 0, "p"], [78818, 0, "e"], [78819, 0, "c"], [78820, 0, "t"], [78821, 0, "i"], [78822, 0, "v"], [78823, 0, "e"], [78824, 0, " "], [78825, 0, "r"], [78826, 0, "a"], [78827, 0, "n"], [78828, 0, "g"], [78829, 0, "e"], [78830, 0, "s"], [78831, 0, "."], [74994, 0, "$"], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78847, 1], [78833, 0, "\n"], [78834, 0, "\n"], [78835, 0, "F"], [78836, 0, "o"], [78837, 0, "r"], [78838, 0, " "], [78839, 0, "t"], [78840, 0, "h"], [78841, 0, "e"], [78842, 0, " "], [78843, 0, "r"], [78844, 0, "e"], [78845, 0, "s"], [78846, 0, "t"], [78847, 0, " "], [78848, 0, "o"], [78849, 0, "f"], [78850, 0, " "], [78851, 0, "t"], [78852, 0, "h"], [78853, 0, "i"], [78854, 0, "s"], [78855, 0, " "], [78856, 0, "p"], [78857, 0, "r"], [78858, 0, "o"], [78859, 0, "o"], [78860, 0, "f"], [78861, 0, ","], [78862, 0, " "], [78863, 0, "c"], [78864, 0, "o"], [78865, 0, "n"], [78866, 0, "s"], [78867, 0, "i"], [78868, 0, "d"], [78869, 0, "e"], [78870, 0, "r"], [78871, 0, " "], [78872, 0, "t"], [78873, 0, "h"], [78874, 0, "e"], [78875, 0, " "], [78876, 0, "c"], [78877, 0, "a"], [78878, 0, "s"], [78879, 0, "e"], [78880, 0, " "], [78881, 0, "o"], [78882, 0, "f"], [78883, 0, " "], [78884, 0, "$"], [78885, 0, "k"], [78886, 0, "^"], [78887, 0, "\\"], [78888, 0, "m"], [78889, 0, "a"], [78890, 0, "t"], [78891, 0, "h"], [78892, 0, "i"], [78893, 0, "t"], [78894, 0, "{"], [78895, 0, "b"], [78896, 0, "e"], [78897, 0, "f"], [78898, 0, "o"], [78899, 0, "r"], [78900, 0, "e"], [78901, 0, "}"], [78902, 0, " "], [78903, 0, "="], [78904, 0, " "], [78905, 0, "k"], [78906, 0, "_"], [78907, 0, "1"], [78908, 0, "^"], [78909, 0, "\\"], [78910, 0, "m"], [78911, 0, "a"], [78912, 0, "t"], [78913, 0, "h"], [78914, 0, "i"], [78915, 0, "t"], [78916, 0, "{"], [78917, 0, "b"], [78918, 0, "e"], [78919, 0, "f"], [78920, 0, "o"], [78921, 0, "r"], [78922, 0, "e"], [78923, 0, "}"], [78924, 0, " "], [78925, 0, "="], [78926, 0, " "], [78927, 0, "k"], [78928, 0, "_"], [78929, 0, "2"], [78930, 0, "^"], [78931, 0, "\\"], [78932, 0, "m"], [78933, 0, "a"], [78934, 0, "t"], [78935, 0, "h"], [78936, 0, "i"], [78937, 0, "t"], [78938, 0, "{"], [78939, 0, "b"], [78940, 0, "e"], [78941, 0, "f"], [78942, 0, "o"], [78943, 0, "r"], [78944, 0, "e"], [78945, 0, "}"], [78946, 0, "$"], [78947, 0, " "], [78948, 0, "a"], [78949, 0, "n"], [78950, 0, "d"], [78951, 0, " "], [78952, 0, "$"], [78953, 0, "k"], [78954, 0, "^"], [78955, 0, "\\"], [78956, 0, "a"], [78957, 0, "f"], [78958, 0, "t"], [78959, 0, "e"], [78960, 0, "r"], [78956, 0, "m"], [78957, 0, "a"], [78958, 0, "t"], [78959, 0, "h"], [78960, 0, "i"], [78961, 0, "t"], [78962, 0, "{"], [78968, 0, "}"], [78969, 0, " "], [78970, 0, "="], [78971, 0, " "], [78972, 0, "k"], [78973, 0, "_"], [78974, 0, "1"], [78975, 0, "^"], [78976, 0, "\\"], [78977, 0, "m"], [78978, 0, "a"], [78979, 0, "t"], [78980, 0, "h"], [78981, 0, "i"], [78982, 0, "t"], [78983, 0, "{"], [78984, 0, "a"], [78985, 0, "f"], [78986, 0, "t"], [78987, 0, "e"], [78988, 0, "r"], [78989, 0, "}"], [78990, 0, " "], [78991, 0, "="], [78992, 0, " "], [78993, 0, "k"], [78994, 0, "_"], [78995, 0, "2"], [78996, 0, "^"], [78997, 0, "\\"], [78998, 0, "m"], [78999, 0, "a"], [79000, 0, "t"], [79001, 0, "h"], [79002, 0, "i"], [79003, 0, "t"], [79004, 0, "{"], [79005, 0, "a"], [79006, 0, "f"], [79007, 0, "t"], [79008, 0, "e"], [79009, 0, "r"], [79010, 0, "}"], [79011, 0, "$"], [79012, 0, "."], [79013, 0, " "], [79014, 0, "W"], [79015, 0, "e"], [79016, 0, " "], [79017, 0, "n"], [79018, 0, "e"], [79019, 0, "e"], [79020, 0, "d"], [79021, 0, " "], [79022, 0, "t"], [79023, 0, "o"], [79024, 0, " "], [79025, 0, "s"], [79026, 0, "h"], [79027, 0, "o"], [79028, 0, "w"], [79029, 0, " "], [79030, 0, "t"], [79031, 0, "h"], [79032, 0, "a"], [79033, 0, "t"], [79034, 0, " "], [87587, 0, ":"], [87588, 0, "q"], [87589, 0, "\n"], [87589, 1], [87588, 1], [87587, 1], [73548, 1], [73547, 1], [73546, 1], [73545, 1], [73544, 1], [73543, 1], [73542, 1], [73541, 1], [73540, 1], [73539, 1], [73538, 1], [73537, 1], [73536, 1], [73535, 1], [73534, 1], [73533, 1], [73532, 1], [73531, 1], [73530, 1], [73529, 1], [73528, 1], [73527, 1], [73526, 1], [73525, 1], [73524, 1], [73523, 1], [73522, 1], [73521, 1], [73520, 1], [73519, 1], [73518, 1], [73517, 1], [73516, 1], [73515, 1], [73514, 1], [73513, 1], [73512, 1], [73511, 1], [73510, 1], [73509, 1], [73508, 1], [73507, 1], [73506, 1], [73505, 1], [73504, 1], [73503, 1], [73502, 1], [73501, 1], [73500, 1], [73499, 1], [73498, 1], [73497, 1], [73496, 1], [73495, 1], [73494, 1], [73493, 1], [73492, 1], [73491, 1], [73490, 1], [73489, 1], [73488, 1], [73487, 1], [73486, 1], [73485, 1], [73484, 1], [73483, 1], [73482, 1], [73481, 1], [73480, 1], [73479, 1], [73478, 1], [73477, 1], [73476, 1], [73475, 1], [73474, 1], [73473, 1], [73472, 1], [73471, 1], [73470, 1], [73469, 1], [73468, 1], [73467, 1], [73466, 1], [73465, 1], [73464, 1], [73463, 1], [73462, 1], [73461, 1], [73460, 1], [73459, 1], [73458, 1], [73457, 1], [73456, 1], [73455, 1], [73454, 1], [73453, 1], [73452, 1], [73451, 1], [73450, 1], [73449, 1], [73448, 1], [73447, 1], [73446, 1], [73445, 1], [73444, 1], [73443, 1], [73442, 1], [73441, 1], [73440, 1], [73439, 1], [73438, 1], [73437, 1], [73436, 1], [73435, 1], [73434, 1], [73433, 1], [73432, 1], [73431, 1], [73430, 1], [73429, 1], [73428, 1], [73427, 1], [73426, 1], [73425, 1], [73424, 1], [73423, 1], [73422, 1], [73421, 1], [73420, 1], [73419, 1], [73418, 1], [73417, 1], [73416, 1], [73415, 1], [73414, 1], [73413, 1], [73412, 1], [73411, 1], [73410, 1], [73409, 1], [73408, 1], [73407, 1], [73406, 1], [73405, 1], [73404, 1], [73403, 1], [73402, 1], [73401, 1], [73400, 1], [73399, 1], [73398, 1], [73397, 1], [73396, 1], [73395, 1], [73394, 1], [73393, 1], [73392, 1], [73391, 1], [73390, 1], [73389, 1], [73388, 1], [73387, 1], [73386, 1], [73385, 1], [73384, 1], [73383, 1], [73382, 1], [73381, 1], [73380, 1], [73379, 1], [73378, 1], [73377, 1], [73376, 1], [73375, 1], [73374, 1], [73373, 1], [73372, 1], [73371, 1], [73370, 1], [73369, 1], [73368, 1], [73367, 1], [73366, 1], [73365, 1], [73364, 1], [73363, 1], [73362, 1], [73361, 1], [73360, 1], [73359, 1], [73358, 1], [73357, 1], [73356, 1], [73355, 1], [73354, 1], [73353, 1], [73352, 1], [73351, 1], [73350, 1], [73349, 1], [73348, 1], [73347, 1], [73346, 1], [73345, 1], [73344, 1], [73343, 1], [73342, 1], [73342, 0, "\\"], [73343, 0, "b"], [73344, 0, "e"], [73345, 0, "g"], [73346, 0, "i"], [73347, 0, "n"], [73348, 0, "{"], [73349, 0, "t"], [73350, 0, "h"], [73351, 0, "e"], [73352, 0, "o"], [73353, 0, "r"], [73354, 0, "e"], [73355, 0, "m"], [73356, 0, "}"], [73357, 0, "\\"], [73358, 0, "l"], [73359, 0, "a"], [73360, 0, "b"], [73361, 0, "e"], [73362, 0, "l"], [73363, 0, "{"], [73364, 0, "t"], [73365, 0, "h"], [73366, 0, "m"], [73367, 0, ":"], [73368, 0, "c"], [73369, 0, "o"], [73370, 0, "n"], [73371, 0, "v"], [73372, 0, "e"], [73373, 0, "r"], [73374, 0, "g"], [73375, 0, "e"], [73376, 0, "n"], [73377, 0, "c"], [73378, 0, "e"], [73379, 0, "}"], [73380, 0, "\n"], [73381, 0, "F"], [73382, 0, "o"], [73383, 0, "r"], [73384, 0, " "], [73385, 0, "a"], [73386, 0, "n"], [73387, 0, "y"], [73388, 0, " "], [73389, 0, "t"], [73390, 0, "w"], [73391, 0, "o"], [73392, 0, " "], [73393, 0, "r"], [73394, 0, "e"], [73395, 0, "p"], [73396, 0, "l"], [73397, 0, "i"], [73398, 0, "c"], [73399, 0, "a"], [73400, 0, "s"], [73401, 0, " "], [73402, 0, "$"], [73403, 0, "p"], [73404, 0, "$"], [73405, 0, " "], [73406, 0, "a"], [73407, 0, "n"], [73408, 0, "d"], [73409, 0, " "], [73410, 0, "$"], [73411, 0, "q"], [73412, 0, "$"], [73413, 0, " "], [73414, 0, "t"], [73415, 0, "h"], [73416, 0, "a"], [73417, 0, "t"], [73418, 0, " "], [73419, 0, "p"], [73420, 0, "a"], [73421, 0, "r"], [73422, 0, "t"], [73423, 0, "i"], [73424, 0, "c"], [73425, 0, "i"], [73426, 0, "p"], [73427, 0, "a"], [73428, 0, "t"], [73429, 0, "e"], [73430, 0, "d"], [73431, 0, " "], [73432, 0, "i"], [73433, 0, "n"], [73434, 0, " "], [73435, 0, "a"], [73436, 0, " "], [73437, 0, "v"], [73438, 0, "a"], [73439, 0, "l"], [73440, 0, "i"], [73441, 0, "d"], [73442, 0, " "], [73443, 0, "e"], [73444, 0, "x"], [73445, 0, "e"], [73446, 0, "c"], [73447, 0, "u"], [73448, 0, "t"], [73449, 0, "i"], [73450, 0, "o"], [73451, 0, "n"], [73452, 0, ","], [73453, 0, " "], [73454, 0, "i"], [73455, 0, "f"], [73456, 0, " "], [73457, 0, "$"], [73458, 0, "A"], [73459, 0, "_"], [73460, 0, "p"], [73461, 0, "("], [73462, 0, "\\"], [73463, 0, "m"], [73464, 0, "a"], [73465, 0, "t"], [73466, 0, "h"], [73467, 0, "s"], [73468, 0, "f"], [73469, 0, "{"], [73470, 0, "o"], [73471, 0, "p"], [73472, 0, "s"], [73473, 0, "}"], [73474, 0, ")"], [73475, 0, " "], [73476, 0, "="], [73477, 0, " "], [73478, 0, "A"], [73479, 0, "_"], [73480, 0, "q"], [73481, 0, "("], [73482, 0, "\\"], [73483, 0, "m"], [73484, 0, "a"], [73485, 0, "t"], [73486, 0, "h"], [73487, 0, "s"], [73488, 0, "f"], [73489, 0, "{"], [73490, 0, "o"], [73491, 0, "p"], [73492, 0, "s"], [73493, 0, "}"], [73494, 0, ")"], [73495, 0, "$"], [73496, 0, ","], [73497, 0, " "], [73498, 0, "t"], [73499, 0, "h"], [73500, 0, "e"], [73501, 0, "n"], [73502, 0, " "], [73503, 0, "$"], [73504, 0, "p"], [73505, 0, "4"], [73505, 1], [73505, 0, "$"], [73506, 0, " "], [73507, 0, "a"], [73508, 0, "n"], [73509, 0, "d"], [73510, 0, " "], [73511, 0, "$"], [73512, 0, "q"], [73513, 0, "$"], [73514, 0, " "], [73515, 0, "h"], [73516, 0, "a"], [73517, 0, "v"], [73518, 0, "e"], [73519, 0, " "], [73520, 0, "t"], [73521, 0, "h"], [73522, 0, "e"], [73523, 0, " "], [73524, 0, "s"], [73525, 0, "a"], [73526, 0, "m"], [73527, 0, "e"], [73528, 0, " "], [73529, 0, "d"], [73530, 0, "o"], [73531, 0, "c"], [73532, 0, "u"], [73533, 0, "m"], [73534, 0, "e"], [73535, 0, "n"], [73536, 0, "t"], [73537, 0, " "], [73538, 0, "s"], [73539, 0, "t"], [73540, 0, "a"], [73541, 0, "t"], [73542, 0, "e"], [73543, 0, "."], [73544, 0, "\n"], [73545, 0, "\\"], [73546, 0, "b"], [73546, 1], [73546, 0, "e"], [73547, 0, "n"], [73548, 0, "d"], [73549, 0, "{"], [73550, 0, "t"], [73551, 0, "h"], [73552, 0, "e"], [73553, 0, "o"], [73554, 0, "r"], [73555, 0, "e"], [73556, 0, "m"], [73557, 0, "}"], [73558, 0, "\n"], [73559, 0, "\n"], [73560, 0, "\\"], [73561, 0, "b"], [73562, 0, "e"], [73563, 0, "g"], [73564, 0, "i"], [73565, 0, "n"], [73566, 0, "{"], [73567, 0, "p"], [73568, 0, "r"], [73569, 0, "o"], [73570, 0, "o"], [73571, 0, "f"], [73572, 0, "}"], [73573, 0, "\n"], [73574, 0, "\\"], [73575, 0, "e"], [73576, 0, "n"], [73577, 0, "d"], [73578, 0, "{"], [73579, 0, "p"], [73580, 0, "r"], [73581, 0, "o"], [73582, 0, "o"], [73583, 0, "f"], [73584, 0, "}"], [73573, 0, "\n"], [73574, 0, "C"], [73575, 0, "o"], [73576, 0, "n"], [73577, 0, "s"], [73578, 0, "i"], [73579, 0, "d"], [73580, 0, "e"], [73581, 0, "r"], [73582, 0, " "], [73583, 0, "t"], [73584, 0, "h"], [73585, 0, "e"], [73586, 0, " "], [73587, 0, "h"], [73588, 0, "i"], [73589, 0, "s"], [73590, 0, "t"], [73591, 0, "o"], [73592, 0, "r"], [73593, 0, "y"], [73594, 0, " "], [73594, 1], [73593, 1], [73593, 0, "i"], [73594, 0, "e"], [73595, 0, "s"], [73596, 0, " "], [73597, 0, "$"], [73598, 0, "H"], [73599, 0, "_"], [73600, 0, "p"], [73601, 0, "$"], [73602, 0, " "], [73603, 0, "a"], [73604, 0, "n"], [73605, 0, "d"], [73606, 0, " "], [73607, 0, "$"], [73608, 0, "H"], [73609, 0, "_"], [73610, 0, "q"], [73611, 0, "$"], [73612, 0, " "], [73613, 0, "a"], [73614, 0, "t"], [73615, 0, " "], [73616, 0, "$"], [73617, 0, "p"], [73618, 0, "$"], [73619, 0, " "], [73620, 0, "a"], [73621, 0, "n"], [73622, 0, "d"], [73623, 0, " "], [73624, 0, "$"], [73625, 0, "q"], [73626, 0, "$"], [73627, 0, " "], [73628, 0, "r"], [73629, 0, "e"], [73630, 0, "s"], [73631, 0, "p"], [73632, 0, "e"], [73633, 0, "c"], [73634, 0, "t"], [73635, 0, "i"], [73636, 0, "v"], [73637, 0, "e"], [73638, 0, "l"], [73639, 0, "y"], [73640, 0, "."], [73641, 0, " "], [73640, 0, " "], [73641, 0, "("], [73642, 0, "s"], [73643, 0, "e"], [73644, 0, "e"], [73645, 0, " "], [73646, 0, "D"], [73647, 0, "e"], [73648, 0, "f"], [73649, 0, "i"], [73650, 0, "n"], [73651, 0, "i"], [73652, 0, "t"], [73653, 0, "i"], [73654, 0, "o"], [73655, 0, "n"], [73656, 0, "~"], [73657, 0, "\\"], [73658, 0, "r"], [73659, 0, "e"], [73660, 0, "f"], [73661, 0, "{"], [73662, 0, "d"], [73663, 0, "e"], [73664, 0, "f"], [73665, 0, ":"], [73666, 0, "h"], [73667, 0, "i"], [73668, 0, "s"], [73669, 0, "t"], [73670, 0, "o"], [73671, 0, "r"], [73672, 0, "y"], [73673, 0, "}"], [73674, 0, ")"], [69768, 0, "\\"], [69769, 0, "l"], [69770, 0, "a"], [69771, 0, "b"], [69772, 0, "e"], [69773, 0, "l"], [69774, 0, "{"], [69775, 0, "d"], [69776, 0, "e"], [69777, 0, "f"], [69778, 0, ":"], [69779, 0, "d"], [69780, 0, "o"], [69781, 0, "c"], [69782, 0, "-"], [69783, 0, "s"], [69784, 0, "t"], [69785, 0, "a"], [69786, 0, "t"], [69787, 0, "e"], [69788, 0, "}"], [68990, 0, "\\"], [68991, 0, "l"], [68992, 0, "a"], [68993, 0, "b"], [68994, 0, "e"], [68995, 0, "l"], [68996, 0, "{"], [68997, 0, "d"], [68998, 0, "e"], [68999, 0, "f"], [69000, 0, ":"], [69001, 0, "h"], [69002, 0, "i"], [69003, 0, "s"], [69004, 0, "t"], [69005, 0, "o"], [69006, 0, "r"], [69007, 0, "y"], [69008, 0, "}"], [67924, 0, "\\"], [67925, 0, "l"], [67926, 0, "a"], [67927, 0, "b"], [67928, 0, "e"], [67929, 0, "l"], [67930, 0, "{"], [67931, 0, "d"], [67932, 0, "e"], [67933, 0, "f"], [67934, 0, ":"], [67935, 0, "v"], [67936, 0, "a"], [67937, 0, "l"], [67938, 0, "i"], [67939, 0, "d"], [67940, 0, "-"], [67941, 0, "e"], [67942, 0, "x"], [67943, 0, "e"], [67944, 0, "c"], [67945, 0, "}"], [73739, 0, "\\"], [73740, 0, "t"], [73741, 0, "e"], [73742, 0, "x"], [73743, 0, "t"], [73744, 0, "s"], [73745, 0, "c"], [73746, 0, "{"], [73747, 0, "A"], [73748, 0, "p"], [73749, 0, "p"], [73750, 0, "l"], [73751, 0, "y"], [73752, 0, "-"], [73753, 0, "L"], [73754, 0, "o"], [73755, 0, "c"], [73756, 0, "a"], [73757, 0, "l"], [73758, 0, "}"], [73759, 0, " "], [73760, 0, "a"], [73761, 0, "n"], [73762, 0, "d"], [73763, 0, " "], [73764, 0, "\\"], [73765, 0, "t"], [73766, 0, "e"], [73767, 0, "x"], [73768, 0, "t"], [73769, 0, "s"], [73770, 0, "c"], [73771, 0, "{"], [73772, 0, "A"], [73773, 0, "p"], [73774, 0, "p"], [73775, 0, "l"], [73776, 0, "y"], [73777, 0, "-"], [73778, 0, "R"], [73779, 0, "e"], [73780, 0, "m"], [73781, 0, "o"], [73782, 0, "t"], [73783, 0, "e"], [73784, 0, "}"], [73738, 0, " "], [73739, 0, "T"], [73740, 0, "h"], [73741, 0, "e"], [73742, 0, " "], [73743, 0, "o"], [73744, 0, "n"], [73745, 0, "l"], [73746, 0, "y"], [73747, 0, " "], [73748, 0, "r"], [73749, 0, "u"], [73750, 0, "l"], [73751, 0, "e"], [73752, 0, "s"], [73753, 0, " "], [73754, 0, "t"], [73755, 0, "h"], [73756, 0, "a"], [73757, 0, "t"], [73758, 0, " "], [73759, 0, "a"], [73760, 0, "p"], [73761, 0, "p"], [73762, 0, "l"], [73763, 0, "y"], [73764, 0, " "], [73765, 0, "o"], [73766, 0, "p"], [73767, 0, "e"], [73768, 0, "r"], [73769, 0, "a"], [73770, 0, "t"], [73771, 0, "i"], [73772, 0, "o"], [73773, 0, "n"], [73774, 0, "s"], [73775, 0, " "], [73776, 0, "a"], [73777, 0, "n"], [73778, 0, "d"], [73779, 0, " "], [73780, 0, "t"], [73781, 0, "h"], [73782, 0, "a"], [73783, 0, "t"], [73784, 0, " "], [73785, 0, "m"], [73786, 0, "o"], [73787, 0, "d"], [73788, 0, "i"], [73789, 0, "f"], [73790, 0, "y"], [73791, 0, " "], [73792, 0, "$"], [73793, 0, "A"], [73794, 0, "_"], [73795, 0, "p"], [73796, 0, "("], [73797, 0, "\\"], [73798, 0, "m"], [73799, 0, "a"], [73800, 0, "t"], [73801, 0, "h"], [73802, 0, "s"], [73803, 0, "f"], [73804, 0, "{"], [73805, 0, "o"], [73806, 0, "p"], [73807, 0, "s"], [73808, 0, "}"], [73809, 0, ")"], [73810, 0, "$"], [73811, 0, " "], [73812, 0, "a"], [73813, 0, "n"], [73814, 0, "d"], [73815, 0, " "], [73816, 0, "$"], [73817, 0, "A"], [73818, 0, "_"], [73819, 0, "q"], [73820, 0, "("], [73821, 0, "\\"], [73822, 0, "m"], [73823, 0, "a"], [73824, 0, "t"], [73825, 0, "h"], [73826, 0, "s"], [73827, 0, "f"], [73828, 0, "{"], [73829, 0, "o"], [73830, 0, "p"], [73831, 0, "s"], [73832, 0, ")"], [73832, 1], [73832, 0, "}"], [73833, 0, ")"], [73834, 0, "$"], [73835, 0, " "], [73836, 0, "a"], [73837, 0, "r"], [73838, 0, "e"], [73886, 0, ","], [73887, 0, " "], [73888, 0, "a"], [73889, 0, "n"], [73890, 0, "d"], [73891, 0, " "], [73892, 0, "t"], [73893, 0, "h"], [73894, 0, "e"], [73895, 0, "y"], [73896, 0, " "], [73897, 0, "m"], [73898, 0, "a"], [73899, 0, "i"], [73900, 0, "n"], [73901, 0, "t"], [73902, 0, "a"], [73903, 0, "i"], [73904, 0, "n"], [73905, 0, " "], [73906, 0, "t"], [73907, 0, "h"], [73908, 0, "e"], [73909, 0, " "], [73910, 0, "v"], [73911, 0, "a"], [73912, 0, "r"], [73913, 0, "i"], [73914, 0, "a"], [73915, 0, "n"], [73916, 0, "t"], [73917, 0, " "], [73918, 0, "t"], [73919, 0, "h"], [73920, 0, "a"], [73921, 0, "t"], [73922, 0, " "], [73923, 0, "a"], [73924, 0, "n"], [73925, 0, " "], [73925, 1], [73924, 1], [73923, 1], [73923, 0, "f"], [73924, 0, "o"], [73925, 0, "r"], [73926, 0, " "], [73927, 0, "a"], [73928, 0, "n"], [73929, 0, "y"], [73930, 0, " "], [73931, 0, "o"], [73932, 0, "p"], [73933, 0, "e"], [73934, 0, "r"], [73935, 0, "a"], [73936, 0, "t"], [73937, 0, "i"], [73938, 0, "o"], [73939, 0, "n"], [73940, 0, " "], [73941, 0, "$"], [73942, 0, "\\"], [73943, 0, "m"], [73944, 0, "a"], [73945, 0, "t"], [73946, 0, "h"], [73947, 0, "i"], [73948, 0, "t"], [73949, 0, "{"], [73950, 0, "o"], [73951, 0, "p"], [73952, 0, "}"], [73953, 0, "$"], [73954, 0, ","], [73955, 0, " "], [73956, 0, "$"], [73957, 0, "\\"], [73958, 0, "m"], [73959, 0, "a"], [73960, 0, "t"], [73961, 0, "h"], [73962, 0, "i"], [73963, 0, "t"], [73964, 0, "{"], [73965, 0, "o"], [73966, 0, "p"], [73967, 0, "}"], [73968, 0, " "], [73969, 0, "\\"], [73970, 0, "i"], [73971, 0, "n"], [73972, 0, " "], [73890, 1], [73889, 1], [73888, 1], [73887, 1], [73886, 1], [73890, 1], [73889, 1], [73888, 1], [73887, 1], [73886, 1], [73900, 0, "i"], [73901, 0, "n"], [73921, 1], [73920, 1], [73919, 1], [73918, 1], [73917, 1], [73916, 1], [73915, 1], [73915, 0, "a"], [73916, 0, "n"], [73959, 1], [73958, 1], [73957, 1], [73956, 1], [73955, 1], [73954, 1], [73953, 1], [73952, 1], [73951, 1], [73950, 1], [73949, 1], [73948, 1], [73947, 1], [73946, 1], [73945, 1], [73944, 1], [73943, 1], [73942, 1], [73941, 1], [73940, 1], [73939, 1], [73938, 1], [73937, 1], [73936, 1], [73935, 1], [73934, 1], [73933, 1], [73932, 1], [73931, 1], [73930, 1], [73929, 1], [73928, 1], [73928, 0, "i"], [73929, 0, "s"], [73930, 0, " "], [73931, 0, "a"], [73932, 0, "d"], [73933, 0, "d"], [73934, 0, "e"], [73935, 0, "d"], [73936, 0, " "], [73937, 0, "t"], [73938, 0, "o"], [73939, 0, " "], [73940, 0, "$"], [73941, 0, "A"], [73942, 0, "_"], [73943, 0, "p"], [73944, 0, "("], [73945, 0, "\\"], [73946, 0, "m"], [73947, 0, "a"], [73948, 0, "t"], [73949, 0, "h"], [73950, 0, "s"], [73951, 0, "f"], [73952, 0, "{"], [73953, 0, "o"], [73954, 0, "p"], [73955, 0, "s"], [73956, 0, "}"], [73957, 0, ")"], [73958, 0, " "], [73958, 1], [73958, 0, "$"], [73959, 0, " "], [73960, 0, "o"], [73961, 0, "r"], [73962, 0, " "], [73963, 0, "$"], [73964, 0, "A"], [73965, 0, "_"], [73966, 0, "q"], [73967, 0, "("], [73968, 0, "\\"], [73969, 0, "m"], [73970, 0, "a"], [73971, 0, "t"], [73972, 0, "h"], [73973, 0, "s"], [73974, 0, "f"], [73975, 0, "{"], [73976, 0, "o"], [73977, 0, "p"], [73978, 0, "s"], [73979, 0, "}"], [73980, 0, ")"], [73981, 0, "$"], [73982, 0, " "], [73983, 0, "i"], [73984, 0, "f"], [73985, 0, "f"], [73985, 1], [73985, 0, " "], [73986, 0, "a"], [73987, 0, "n"], [73988, 0, "d"], [73989, 0, " "], [73990, 0, "o"], [73991, 0, "n"], [73992, 0, "l"], [73993, 0, "y"], [73994, 0, " "], [73995, 0, "i"], [73996, 0, "f"], [73997, 0, " "], [73998, 0, "i"], [73999, 0, "t"], [74000, 0, " "], [74001, 0, "w"], [74002, 0, "a"], [74003, 0, "s"], [74004, 0, " "], [74005, 0, "a"], [74006, 0, "p"], [74007, 0, "p"], [74008, 0, "l"], [74009, 0, "i"], [74010, 0, "e"], [74011, 0, "d"], [74012, 0, " "], [74013, 0, "t"], [74014, 0, "o"], [74015, 0, " "], [74016, 0, "t"], [74017, 0, "h"], [74018, 0, "e"], [74019, 0, " "], [74020, 0, "d"], [74021, 0, "o"], [74022, 0, "c"], [74023, 0, "u"], [74024, 0, "m"], [74025, 0, "e"], [74026, 0, "n"], [74027, 0, "t"], [74028, 0, " "], [74029, 0, "s"], [74030, 0, "t"], [74031, 0, "a"], [74032, 0, "t"], [74033, 0, "e"], [74034, 0, "."], [73839, 1], [73838, 1], [73837, 1], [73836, 1], [73835, 1], [73834, 1], [73833, 1], [73832, 1], [73831, 1], [73830, 1], [73829, 1], [73828, 1], [73827, 1], [73826, 1], [73825, 1], [73824, 1], [73823, 1], [73822, 1], [73821, 1], [73820, 1], [73819, 1], [73818, 1], [73817, 1], [73816, 1], [73815, 1], [73814, 1], [73813, 1], [73812, 1], [73811, 1], [73810, 1], [73809, 1], [73808, 1], [73807, 1], [73806, 1], [73805, 1], [73804, 1], [73803, 1], [73802, 1], [73801, 1], [73800, 1], [73799, 1], [73798, 1], [73797, 1], [73796, 1], [73795, 1], [73794, 1], [73793, 1], [73792, 1], [73791, 1], [73790, 1], [73789, 1], [73788, 1], [73787, 1], [73786, 1], [73785, 1], [73784, 1], [73783, 1], [73782, 1], [73781, 1], [73780, 1], [73779, 1], [73778, 1], [73777, 1], [73776, 1], [73775, 1], [73774, 1], [73773, 1], [73772, 1], [73771, 1], [73770, 1], [73769, 1], [73768, 1], [73767, 1], [73766, 1], [73765, 1], [73764, 1], [73763, 1], [73762, 1], [73761, 1], [73760, 1], [73759, 1], [73758, 1], [73757, 1], [73756, 1], [73755, 1], [73754, 1], [73747, 1], [73746, 1], [73745, 1], [73744, 1], [73743, 1], [73944, 0, " "], [73945, 0, "T"], [73946, 0, "h"], [73947, 0, "u"], [73948, 0, "s"], [73949, 0, ","], [73950, 0, " "], [73951, 0, "i"], [73952, 0, "f"], [73953, 0, " "], [73954, 0, "$"], [73955, 0, "A"], [73956, 0, "_"], [73957, 0, "p"], [73958, 0, "{"], [73959, 0, "\\"], [73959, 1], [73958, 1], [73958, 0, "("], [73959, 0, "\\"], [73960, 0, "m"], [73961, 0, "a"], [73962, 0, "t"], [73963, 0, "h"], [73964, 0, "s"], [73965, 0, "f"], [73966, 0, "{"], [73967, 0, "o"], [73968, 0, "p"], [73969, 0, "s"], [73970, 0, "}"], [73971, 0, ")"], [73972, 0, " "], [73973, 0, "="], [73974, 0, " "], [73975, 0, "A"], [73976, 0, "_"], [73977, 0, "q"], [73978, 0, "("], [73979, 0, "\\"], [73980, 0, "m"], [73981, 0, "a"], [73982, 0, "t"], [73983, 0, "h"], [73984, 0, "s"], [73985, 0, "f"], [73986, 0, "{"], [73987, 0, "o"], [73988, 0, "p"], [73989, 0, "s"], [73990, 0, "}"], [73991, 0, ")"], [73992, 0, "$"], [73993, 0, " "], [73994, 0, "t"], [73995, 0, "h"], [73996, 0, "e"], [73997, 0, "n"], [73998, 0, " "], [73999, 0, "$"], [74000, 0, "H"], [74001, 0, "_"], [74002, 0, "p"], [74003, 0, "$"], [74004, 0, " "], [74005, 0, "a"], [74006, 0, "n"], [74007, 0, "d"], [74008, 0, " "], [74009, 0, "$"], [74010, 0, "H"], [74011, 0, "_"], [74012, 0, "q"], [74013, 0, "$"], [74014, 0, " "], [74015, 0, "c"], [74016, 0, "o"], [74017, 0, "n"], [74018, 0, "t"], [74019, 0, "a"], [74020, 0, "i"], [74021, 0, "n"], [74022, 0, " "], [74023, 0, "t"], [74024, 0, "h"], [74025, 0, "e"], [74026, 0, " "], [74027, 0, "s"], [74028, 0, "a"], [74029, 0, "m"], [74030, 0, "e"], [74031, 0, " "], [74032, 0, "s"], [74033, 0, "e"], [74034, 0, "t"], [74035, 0, " "], [74036, 0, "o"], [74037, 0, "f"], [74038, 0, " "], [74039, 0, "o"], [74040, 0, "p"], [74041, 0, "e"], [74042, 0, "r"], [74043, 0, "a"], [74044, 0, "t"], [74045, 0, "i"], [74046, 0, "o"], [74047, 0, "n"], [74048, 0, "s"], [74049, 0, ","], [74050, 0, " "], [74051, 0, "b"], [74052, 0, "u"], [74053, 0, "t"], [74054, 0, " "], [74055, 0, "p"], [74056, 0, "o"], [74057, 0, "t"], [74058, 0, "e"], [74059, 0, "n"], [74060, 0, "t"], [74061, 0, "i"], [74062, 0, "a"], [74063, 0, "l"], [74064, 0, "l"], [74065, 0, "y"], [74066, 0, " "], [74067, 0, "i"], [74068, 0, "n"], [74069, 0, " "], [74070, 0, "a"], [74071, 0, " "], [74072, 0, "d"], [74073, 0, "i"], [74074, 0, "f"], [74075, 0, "f"], [74076, 0, "e"], [74077, 0, "r"], [74078, 0, "e"], [74079, 0, "n"], [74080, 0, "t"], [74081, 0, " "], [74082, 0, "o"], [74083, 0, "r"], [74084, 0, "d"], [74085, 0, "e"], [74086, 0, "r"], [74087, 0, "."], [73953, 1], [73952, 1], [73951, 1], [73994, 1], [73993, 1], [73992, 1], [73991, 1], [73991, 0, "i"], [73992, 0, "f"], [73993, 0, " "], [73994, 0, "a"], [73995, 0, "n"], [73996, 0, "d"], [73997, 0, " "], [73998, 0, "o"], [73999, 0, "n"], [74000, 0, "l"], [74001, 0, "y"], [74002, 0, " "], [74002, 1], [74001, 1], [74000, 1], [73999, 1], [73998, 1], [73997, 1], [73996, 1], [73995, 1], [73994, 1], [73993, 1], [73993, 0, "f"], [74049, 1], [74048, 1], [74047, 1], [74046, 1], [74045, 1], [74046, 0, "("], [74079, 0, ")"], [74063, 1], [74062, 1], [74077, 0, "s"], [74080, 0, "\n"], [74081, 0, "\n"], [74082, 0, "W"], [74083, 0, "e"], [74084, 0, " "], [74085, 0, "c"], [74086, 0, "a"], [74087, 0, "n"], [74088, 0, " "], [74089, 0, "p"], [74090, 0, "r"], [74091, 0, "o"], [74092, 0, "v"], [74093, 0, "e"], [74094, 0, " "], [74095, 0, "t"], [74096, 0, "h"], [74097, 0, "a"], [74098, 0, "t"], [74099, 0, " "], [74099, 1], [74098, 1], [74097, 1], [74096, 1], [74095, 1], [74094, 1], [74093, 1], [74092, 1], [74091, 1], [74090, 1], [74089, 1], [74088, 1], [74087, 1], [74086, 1], [74085, 1], [74084, 1], [74083, 1], [74082, 1], [74082, 0, "T"], [74083, 0, "h"], [74084, 0, "e"], [74085, 0, " "], [74086, 0, "f"], [74087, 0, "i"], [74088, 0, "n"], [74089, 0, "a"], [74090, 0, "."], [74091, 0, " "], [74091, 1], [74090, 1], [74090, 0, "l"], [74091, 0, " "], [74092, 0, "d"], [74093, 0, "o"], [74094, 0, "c"], [74095, 0, "u"], [74096, 0, "m"], [74097, 0, "e"], [74098, 0, "n"], [74099, 0, "t"], [74100, 0, " "], [74101, 0, "s"], [74102, 0, "t"], [74103, 0, "a"], [74104, 0, "t"], [74105, 0, "e"], [74106, 0, " "], [74091, 1], [74090, 1], [74089, 1], [74088, 1], [74087, 1], [74086, 1], [74101, 0, "a"], [74102, 0, "t"], [74103, 0, " "], [74104, 0, "r"], [74105, 0, "e"], [74106, 0, "p"], [74107, 0, "l"], [74108, 0, "i"], [74109, 0, "c"], [74110, 0, "a"], [74111, 0, " "], [74112, 0, "$"], [74113, 0, "p"], [74114, 0, "$"], [74115, 0, " "], [74116, 0, "c"], [74117, 0, "a"], [74118, 0, "n"], [74119, 0, " "], [74119, 1], [74118, 1], [74117, 1], [74116, 1], [74116, 0, "i"], [74117, 0, "s"], [74118, 0, " "], [74119, 0, "d"], [74120, 0, "e"], [74121, 0, "t"], [74122, 0, "e"], [74123, 0, "r"], [74124, 0, "m"], [74125, 0, "i"], [74126, 0, "n"], [74127, 0, "e"], [74128, 0, "d"], [74129, 0, " "], [74130, 0, "e"], [74131, 0, "n"], [74132, 0, "t"], [74133, 0, "i"], [74134, 0, "r"], [74135, 0, "e"], [74136, 0, "l"], [74137, 0, "y"], [74138, 0, " "], [74138, 1], [74137, 1], [74136, 1], [74135, 1], [74134, 1], [74133, 1], [74132, 1], [74131, 1], [74130, 1], [74129, 1], [74128, 1], [74127, 1], [74126, 1], [74125, 1], [74124, 1], [74123, 1], [74122, 1], [74121, 1], [74121, 0, "r"], [74122, 0, "i"], [74123, 0, "v"], [74124, 0, "e"], [74125, 0, "d"], [74126, 0, " "], [74127, 0, "f"], [74128, 0, "r"], [74129, 0, "o"], [74130, 0, "m"], [74131, 0, " "], [74132, 0, "t"], [74133, 0, "h"], [74134, 0, "e"], [74135, 0, " "], [74136, 0, "h"], [74137, 0, "i"], [74138, 0, "s"], [74139, 0, "t"], [74140, 0, "o"], [74141, 0, "r"], [74142, 0, "y"], [74143, 0, " "], [74144, 0, "$"], [74145, 0, "H"], [74146, 0, "_"], [74147, 0, "p"], [74148, 0, "$"], [74149, 0, " "], [74081, 0, "\n"], [74082, 0, "T"], [74083, 0, "h"], [74084, 0, "e"], [74085, 0, " "], [74086, 0, "h"], [74087, 0, "i"], [74088, 0, "s"], [74089, 0, "t"], [74090, 0, "o"], [74091, 0, "r"], [74092, 0, "y"], [74093, 0, " "], [74094, 0, "i"], [74095, 0, "s"], [74096, 0, " "], [74097, 0, "a"], [74098, 0, " "], [74098, 1], [74097, 1], [74096, 1], [74095, 1], [74094, 1], [74094, 0, "a"], [74095, 0, "t"], [74096, 0, " "], [74097, 0, "r"], [74098, 0, "e"], [74099, 0, "p"], [74100, 0, "l"], [74101, 0, "i"], [74102, 0, "c"], [74103, 0, "a"], [74104, 0, " "], [74105, 0, "$"], [74106, 0, "p"], [74107, 0, "$"], [74108, 0, " "], [74109, 0, "i"], [74110, 0, "s"], [74111, 0, " "], [74112, 0, "a"], [74113, 0, " "], [74114, 0, "s"], [74115, 0, "e"], [74116, 0, "q"], [74117, 0, "u"], [74118, 0, "e"], [74119, 0, "n"], [74120, 0, "c"], [74121, 0, "e"], [74122, 0, " "], [74123, 0, "o"], [74124, 0, "f"], [74125, 0, " "], [74126, 0, "o"], [74127, 0, "p"], [74128, 0, "e"], [74129, 0, "r"], [74130, 0, "a"], [74131, 0, "t"], [74132, 0, "i"], [74133, 0, "o"], [74134, 0, "n"], [74135, 0, "s"], [74136, 0, " "], [74137, 0, "$"], [74138, 0, "H"], [74139, 0, "_"], [74140, 0, "p"], [74141, 0, " "], [74142, 0, "="], [74143, 0, " "], [74144, 0, "o"], [74145, 0, "_"], [74146, 0, "1"], [74147, 0, " "], [74148, 0, "\\"], [74149, 0, "d"], [74150, 0, "o"], [74151, 0, "t"], [74152, 0, "s"], [74153, 0, " "], [74154, 0, "o"], [74155, 0, "_"], [74156, 0, "n"], [74157, 0, "$"], [74158, 0, ","], [74159, 0, " "], [74160, 0, "a"], [74161, 0, "n"], [74162, 0, "d"], [74163, 0, " "], [74164, 0, "t"], [74165, 0, "h"], [74166, 0, "e"], [74167, 0, " "], [74168, 0, "d"], [74169, 0, "o"], [74170, 0, "c"], [74171, 0, "u"], [74172, 0, "m"], [74173, 0, "e"], [74174, 0, "n"], [74175, 0, "t"], [74176, 0, " "], [74177, 0, "s"], [74178, 0, "t"], [74179, 0, "a"], [74180, 0, "t"], [74181, 0, "e"], [74182, 0, " "], [74183, 0, "a"], [74184, 0, "t"], [74185, 0, " "], [74186, 0, "$"], [74187, 0, "p"], [74188, 0, "$"], [74189, 0, " "], [74190, 0, "i"], [74191, 0, "s"], [74192, 0, " "], [74193, 0, "d"], [74194, 0, "e"], [74195, 0, "r"], [74196, 0, "i"], [74197, 0, "v"], [74198, 0, "e"], [74199, 0, "d"], [74200, 0, " "], [74201, 0, "f"], [74202, 0, "r"], [74203, 0, "o"], [74204, 0, "m"], [74205, 0, " "], [74206, 0, "$"], [74207, 0, "H"], [74208, 0, "_"], [74209, 0, "p"], [74210, 0, "$"], [74211, 0, " "], [74212, 0, "b"], [74213, 0, "y"], [74214, 0, " "], [74215, 0, "s"], [74216, 0, "t"], [74217, 0, "a"], [74218, 0, "r"], [74219, 0, "t"], [74220, 0, "i"], [74221, 0, "n"], [74222, 0, "g"], [74223, 0, " "], [74224, 0, "i"], [74225, 0, "n"], [74226, 0, " "], [74227, 0, "t"], [74228, 0, "h"], [74229, 0, "e"], [74230, 0, " "], [74231, 0, "e"], [74232, 0, "m"], [74233, 0, "p"], [74234, 0, "s"], [74234, 1], [74234, 0, "t"], [74235, 0, "y"], [74236, 0, " "], [74237, 0, "s"], [74238, 0, "t"], [74239, 0, "a"], [74240, 0, "t"], [74241, 0, "e"], [74242, 0, " "], [74243, 0, "a"], [74244, 0, "n"], [74245, 0, "d"], [74246, 0, " "], [74247, 0, "a"], [74248, 0, "p"], [74249, 0, "p"], [74250, 0, "l"], [74251, 0, "y"], [74252, 0, " "], [74252, 1], [74252, 0, "i"], [74253, 0, "n"], [74254, 0, "g"], [74255, 0, " "], [74256, 0, "t"], [74257, 0, "h"], [74258, 0, "e"], [74259, 0, " "], [74260, 0, "o"], [74261, 0, "p"], [74262, 0, "e"], [74263, 0, "r"], [74264, 0, "a"], [74265, 0, "t"], [74266, 0, "i"], [74267, 0, "o"], [74268, 0, "n"], [74269, 0, "s"], [74270, 0, " "], [74271, 0, "i"], [74272, 0, "n"], [74273, 0, " "], [74274, 0, "o"], [74275, 0, "r"], [74276, 0, "d"], [74277, 0, "e"], [74278, 0, "r"], [74279, 0, "."], [74280, 0, " "], [74281, 0, "L"], [74282, 0, "i"], [74283, 0, "k"], [74284, 0, "e"], [74285, 0, " "], [74285, 1], [74285, 0, "w"], [74286, 0, "i"], [74287, 0, "s"], [74288, 0, "e"], [74289, 0, ","], [74290, 0, " "], [74291, 0, "t"], [74292, 0, "h"], [74293, 0, "e"], [74294, 0, " "], [74295, 0, "d"], [74296, 0, "o"], [74297, 0, "c"], [74298, 0, "u"], [74299, 0, "m"], [74300, 0, "e"], [74301, 0, "n"], [74302, 0, "t"], [74303, 0, " "], [74304, 0, "s"], [74305, 0, "t"], [74306, 0, "a"], [74307, 0, "t"], [74308, 0, "e"], [74309, 0, " "], [74310, 0, "a"], [74311, 0, "t"], [74312, 0, " "], [74313, 0, "$"], [74314, 0, "q"], [74315, 0, "$"], [74316, 0, " "], [74317, 0, "i"], [74318, 0, "s"], [74319, 0, " "], [74320, 0, "d"], [74321, 0, "e"], [74322, 0, "r"], [74323, 0, "i"], [74324, 0, "v"], [74325, 0, "e"], [74326, 0, "d"], [74327, 0, " "], [74328, 0, "f"], [74329, 0, "r"], [74330, 0, "o"], [74331, 0, "m"], [74332, 0, " "], [74333, 0, "$"], [74334, 0, "H"], [74335, 0, "_"], [74336, 0, "q"], [74337, 0, "$"], [74338, 0, ","], [74339, 0, " "], [74340, 0, "w"], [74341, 0, "h"], [74342, 0, "i"], [74343, 0, "c"], [74344, 0, "h"], [74345, 0, " "], [74346, 0, "i"], [74347, 0, "s"], [74348, 0, " "], [74349, 0, "a"], [74350, 0, " "], [74351, 0, "p"], [74352, 0, "e"], [74353, 0, "r"], [74354, 0, "m"], [74355, 0, "u"], [74356, 0, "t"], [74357, 0, "a"], [74358, 0, "t"], [74359, 0, "i"], [74360, 0, "o"], [74361, 0, "n"], [74362, 0, " "], [74363, 0, "o"], [74364, 0, "f"], [74365, 0, " "], [74366, 0, "$"], [74367, 0, "H"], [74368, 0, "_"], [74369, 0, "p"], [74370, 0, "$"], [74371, 0, "."], [74440, 1], [74439, 1], [74438, 1], [74437, 1], [74436, 1], [74435, 1], [74434, 1], [74433, 1], [74432, 1], [74431, 1], [74430, 1], [74429, 1], [74428, 1], [74427, 1], [74426, 1], [74425, 1], [74424, 1], [74423, 1], [74422, 1], [74421, 1], [74420, 1], [74419, 1], [74418, 1], [74417, 1], [74416, 1], [74415, 1], [74414, 1], [74413, 1], [74412, 1], [74411, 1], [74410, 1], [74409, 1], [74408, 1], [74407, 1], [74406, 1], [74405, 1], [74404, 1], [74403, 1], [74402, 1], [74401, 1], [74400, 1], [74399, 1], [74398, 1], [74397, 1], [74396, 1], [74395, 1], [74394, 1], [74393, 1], [74392, 1], [74391, 1], [74390, 1], [74389, 1], [74388, 1], [74387, 1], [74386, 1], [74385, 1], [74384, 1], [74383, 1], [74382, 1], [74381, 1], [74380, 1], [74379, 1], [74378, 1], [74377, 1], [74376, 1], [74375, 1], [74374, 1], [74373, 1], [74372, 1], [74372, 0, " "], [74373, 0, "B"], [74374, 0, "o"], [74375, 0, "t"], [74376, 0, "h"], [74377, 0, " "], [74378, 0, "h"], [74379, 0, "i"], [74380, 0, "s"], [74381, 0, "t"], [74382, 0, "o"], [74383, 0, "r"], [74384, 0, "i"], [74385, 0, "e"], [74386, 0, "s"], [74387, 0, " "], [74388, 0, "m"], [74389, 0, "u"], [74390, 0, "s"], [74391, 0, "t"], [74392, 0, " "], [74393, 0, "b"], [74394, 0, "e"], [74395, 0, " "], [74396, 0, "c"], [74397, 0, "o"], [74398, 0, "n"], [74399, 0, "s"], [74400, 0, "i"], [74401, 0, "s"], [74402, 0, "t"], [74403, 0, "e"], [74404, 0, "n"], [74405, 0, "t"], [74406, 0, " "], [74407, 0, "w"], [74408, 0, "i"], [74409, 0, "t"], [74410, 0, "h"], [74411, 0, " "], [74412, 0, "c"], [74413, 0, "a"], [74414, 0, "u"], [74415, 0, "s"], [74416, 0, "a"], [74417, 0, "l"], [74418, 0, "i"], [74419, 0, "t"], [74420, 0, "y"], [74421, 0, ","], [74422, 0, " "], [74423, 0, "i"], [74424, 0, "."], [74425, 0, "e"], [74426, 0, "."], [74427, 0, " "], [74428, 0, "f"], [74429, 0, "o"], [74430, 0, "r"], [74431, 0, " "], [74432, 0, "a"], [74433, 0, "l"], [74434, 0, "l"], [74435, 0, " "], [74436, 0, "#"], [74436, 1], [74436, 0, "$"], [74437, 0, "i"], [74438, 0, "$"], [74439, 0, " "], [74440, 0, "w"], [74441, 0, "i"], [74442, 0, "t"], [74443, 0, "h"], [74444, 0, " "], [74445, 0, "$"], [74446, 0, "1"], [74447, 0, " "], [74448, 0, "\\"], [74449, 0, "e"], [74449, 1], [74449, 0, "l"], [74450, 0, "e"], [74451, 0, " "], [74452, 0, "i"], [74453, 0, " "], [74454, 0, "\\"], [74455, 0, "l"], [74456, 0, "e"], [74457, 0, " "], [74458, 0, "n"], [74459, 0, "$"], [74460, 0, ","], [74461, 0, " "], [74462, 0, "$"], [74463, 0, "\\"], [74464, 0, "m"], [74465, 0, "a"], [74466, 0, "t"], [74467, 0, "h"], [74468, 0, "i"], [74469, 0, "t"], [74469, 1], [74468, 1], [74467, 1], [74466, 1], [74465, 1], [74464, 1], [74463, 1], [74463, 0, "o"], [74464, 0, "_"], [74465, 0, "i"], [74466, 0, "."], [74467, 0, "\\"], [74468, 0, "m"], [74469, 0, "a"], [74470, 0, "t"], [74471, 0, "h"], [74472, 0, "i"], [74473, 0, "t"], [74474, 0, "{"], [74475, 0, "d"], [74476, 0, "e"], [74477, 0, "p"], [74478, 0, "s"], [74479, 0, "}"], [74480, 0, " "], [74481, 0, "\\"], [74482, 0, "s"], [74483, 0, "u"], [74484, 0, "b"], [74485, 0, "s"], [74486, 0, "e"], [74487, 0, "t"], [74488, 0, "e"], [74489, 0, "q"], [74490, 0, " "], [74491, 0, "{"], [74492, 0, " "], [74493, 0, "o"], [74494, 0, "_"], [74495, 0, "j"], [74496, 0, "."], [74497, 0, "\\"], [74498, 0, "m"], [74499, 0, "a"], [74500, 0, "t"], [74501, 0, "h"], [74502, 0, "i"], [74503, 0, "t"], [74504, 0, "{"], [74505, 0, "i"], [74506, 0, "d"], [74507, 0, "}"], [74508, 0, " "], [74509, 0, "\\"], [74510, 0, "m"], [74511, 0, "i"], [74512, 0, "d"], [74513, 0, " "], [74514, 0, "1"], [74515, 0, " "], [74516, 0, "\\"], [74517, 0, "e"], [74518, 0, " "], [74518, 1], [74517, 1], [74517, 0, "l"], [74518, 0, "e"], [74519, 0, " "], [74520, 0, "j"], [74521, 0, " "], [74522, 0, "<"], [74523, 0, " "], [74524, 0, "i"], [74491, 0, "\\"], [74526, 0, " "], [74527, 0, "\\"], [74528, 0, "}"], [74526, 1], [74493, 1], [74527, 0, "$"], [74528, 0, "."], [73943, 0, " "], [73944, 0, "a"], [73945, 0, "t"], [73946, 0, " "], [73947, 0, "$"], [73948, 0, "p"], [73949, 0, "$"], [73950, 0, " "], [73951, 0, "o"], [73952, 0, "r"], [73953, 0, " "], [73954, 0, "$"], [73955, 0, "q"], [73956, 0, "$"], [74074, 1], [74073, 1], [74073, 0, "i"], [74074, 0, "r"], [74074, 1], [74073, 1], [74073, 0, "o"], [74074, 0, "r"], [74075, 0, "d"], [74076, 0, "e"], [74077, 0, "r"], [74078, 0, "e"], [74079, 0, "d"], [74096, 1], [74095, 1], [74094, 1], [74093, 1], [74092, 1], [74091, 1], [74090, 1], [74090, 0, "l"], [74091, 0, "y"], [74158, 0, "\\"], [74159, 0, "l"], [74160, 0, "a"], [74161, 0, "n"], [74162, 0, "g"], [74163, 0, "l"], [74164, 0, "e"], [74165, 0, " "], [74179, 0, " "], [74180, 0, "\\"], [74181, 0, "r"], [74182, 0, "a"], [74183, 0, "n"], [74184, 0, "g"], [74185, 0, "l"], [74186, 0, "e"], [74169, 0, ","], [74176, 0, ","], [74786, 0, " "], [74787, 0, "w"], [74788, 0, "e"], [74789, 0, " "], [74790, 0, "r"], [74791, 0, "e"], [74792, 0, "q"], [74793, 0, "u"], [74794, 0, "i"], [74795, 0, "r"], [74796, 0, "e"], [74796, 1], [74795, 1], [74794, 1], [74793, 1], [74792, 1], [74791, 1], [74790, 1], [74789, 1], [74788, 1], [74787, 1], [74786, 1], [74494, 0, "w"], [74495, 0, "e"], [74496, 0, " "], [74497, 0, "r"], [74498, 0, "e"], [74499, 0, "q"], [74500, 0, "u"], [74501, 0, "i"], [74502, 0, "r"], [74503, 0, "e"], [74504, 0, " "], [74572, 0, "\n"], [74573, 0, "\n"], [74574, 0, "W"], [74575, 0, "e"], [74576, 0, " "], [74577, 0, "c"], [74578, 0, "a"], [74579, 0, "n"], [74580, 0, " "], [74581, 0, "p"], [74582, 0, "r"], [74583, 0, "o"], [74584, 0, "v"], [74585, 0, "e"], [74586, 0, " "], [74587, 0, "t"], [74588, 0, "h"], [74589, 0, "e"], [74590, 0, " "], [74591, 0, "t"], [74592, 0, "h"], [74593, 0, "e"], [74594, 0, "o"], [74595, 0, "r"], [74596, 0, "e"], [74597, 0, "m"], [74598, 0, " "], [74599, 0, "b"], [74600, 0, "y"], [74601, 0, " "], [74602, 0, "i"], [74603, 0, "n"], [74604, 0, "d"], [74605, 0, "u"], [74606, 0, "c"], [74607, 0, "t"], [74608, 0, "i"], [74609, 0, "o"], [74610, 0, "n"], [74611, 0, " "], [74612, 0, "o"], [74613, 0, "v"], [74614, 0, "e"], [74615, 0, "r"], [74616, 0, " "], [74617, 0, "h"], [74618, 0, "i"], [74619, 0, "s"], [74620, 0, "t"], [74621, 0, "o"], [74622, 0, "r"], [74623, 0, "i"], [74624, 0, "e"], [74625, 0, "s"], [74625, 1], [74624, 1], [74623, 1], [74622, 1], [74621, 1], [74620, 1], [74619, 1], [74618, 1], [74617, 1], [74617, 0, "t"], [74618, 0, "h"], [74619, 0, "e"], [74620, 0, " "], [74621, 0, "l"], [74622, 0, "e"], [74623, 0, "n"], [74624, 0, "g"], [74625, 0, "t"], [74626, 0, "h"], [74627, 0, " "], [74628, 0, "o"], [74629, 0, "f"], [74630, 0, " "], [74631, 0, "h"], [74632, 0, "i"], [74633, 0, "s"], [74634, 0, "t"], [74635, 0, "o"], [74636, 0, "r"], [74637, 0, "y"], [74638, 0, " "], [74639, 0, "$"], [74640, 0, "n"], [74641, 0, "$"], [74642, 0, "."], [74643, 0, "\n"], [74644, 0, "\n"], [74645, 0, "\\"], [74646, 0, "e"], [74647, 0, "m"], [74648, 0, "p"], [74649, 0, "h"], [74650, 0, "{"], [74651, 0, "B"], [74652, 0, "a"], [74653, 0, "s"], [74654, 0, "e"], [74655, 0, " "], [74656, 0, "c"], [74657, 0, "a"], [74658, 0, "s"], [74659, 0, "e"], [74660, 0, ":"], [74661, 0, "}"], [74662, 0, " "], [74663, 0, "A"], [74664, 0, " "], [74665, 0, "h"], [74666, 0, "i"], [74667, 0, "s"], [74668, 0, "t"], [74669, 0, "o"], [74670, 0, "r"], [74670, 1], [74669, 1], [74668, 1], [74667, 1], [74666, 1], [74665, 1], [74664, 1], [74664, 0, "n"], [74665, 0, " "], [74666, 0, "e"], [74667, 0, "m"], [74668, 0, "p"], [74669, 0, "t"], [74670, 0, "y"], [74671, 0, " "], [74672, 0, "h"], [74673, 0, "i"], [74674, 0, "s"], [74675, 0, "t"], [74676, 0, "o"], [74677, 0, "r"], [74678, 0, "y"], [74679, 0, " "], [74680, 0, "w"], [74681, 0, "i"], [74682, 0, "t"], [74683, 0, "h"], [74684, 0, " "], [74685, 0, "$"], [74686, 0, "n"], [74687, 0, "="], [74688, 0, "0"], [74689, 0, "$"], [74690, 0, " "], [74691, 0, "d"], [74692, 0, "e"], [74693, 0, "s"], [74694, 0, "c"], [74695, 0, "r"], [74696, 0, "i"], [74697, 0, "b"], [74698, 0, "e"], [74699, 0, "s"], [74700, 0, " "], [74701, 0, "t"], [74702, 0, "h"], [74703, 0, "e"], [74704, 0, " "], [74705, 0, "e"], [74706, 0, "m"], [74707, 0, "p"], [74708, 0, "t"], [74709, 0, "y"], [74710, 0, " "], [74711, 0, "d"], [74712, 0, "o"], [74713, 0, "c"], [74714, 0, "u"], [74715, 0, "m"], [74716, 0, "e"], [74717, 0, "n"], [74718, 0, "t"], [74719, 0, " "], [74720, 0, "s"], [74721, 0, "t"], [74722, 0, "a"], [74723, 0, "t"], [74724, 0, "e"], [74725, 0, "."], [74726, 0, " "], [74727, 0, "T"], [74728, 0, "h"], [74729, 0, "e"], [74730, 0, " "], [74731, 0, "e"], [74732, 0, "m"], [74733, 0, "p"], [74734, 0, "t"], [74735, 0, "y"], [74736, 0, " "], [74737, 0, "d"], [74738, 0, "o"], [74739, 0, "c"], [74740, 0, "u"], [74741, 0, "m"], [74742, 0, "e"], [74743, 0, "n"], [74744, 0, "t"], [74745, 0, " "], [74746, 0, "i"], [74747, 0, "s"], [74748, 0, " "], [74749, 0, "a"], [74750, 0, "l"], [74751, 0, "w"], [74752, 0, "a"], [74753, 0, "y"], [74754, 0, "s"], [74755, 0, " "], [74756, 0, "t"], [74757, 0, "h"], [74758, 0, "e"], [74759, 0, " "], [74760, 0, "s"], [74761, 0, "a"], [74762, 0, "m"], [74763, 0, "e"], [74764, 0, ","], [74765, 0, " "], [74766, 0, "a"], [74767, 0, "n"], [74768, 0, "d"], [74769, 0, " "], [74770, 0, "s"], [74771, 0, "o"], [74772, 0, " "], [74773, 0, "a"], [74774, 0, "n"], [74775, 0, "y"], [74776, 0, " "], [74777, 0, "t"], [74778, 0, "w"], [74779, 0, "o"], [74780, 0, " "], [74781, 0, "r"], [74782, 0, "e"], [74783, 0, "p"], [74784, 0, "l"], [74785, 0, "i"], [74786, 0, "c"], [74787, 0, "a"], [74788, 0, "s"], [74789, 0, " "], [74790, 0, "t"], [74791, 0, "h"], [74792, 0, "a"], [74793, 0, "t"], [74794, 0, " "], [74795, 0, "h"], [74796, 0, "a"], [74797, 0, "v"], [74798, 0, "e"], [74799, 0, " "], [74800, 0, "n"], [74801, 0, "o"], [74802, 0, "t"], [74803, 0, " "], [74804, 0, "e"], [74805, 0, "x"], [74806, 0, "e"], [74807, 0, "c"], [74808, 0, "u"], [74809, 0, "t"], [74810, 0, "e"], [74811, 0, "d"], [74812, 0, " "], [74813, 0, "a"], [74814, 0, "n"], [74815, 0, "y"], [74816, 0, " "], [74817, 0, "o"], [74818, 0, "p"], [74819, 0, "e"], [74820, 0, "r"], [74821, 0, "a"], [74822, 0, "t"], [74823, 0, "i"], [74824, 0, "o"], [74825, 0, "n"], [74826, 0, "s"], [74827, 0, "a"], [74828, 0, " "], [74829, 0, "r"], [74829, 1], [74828, 1], [74827, 1], [74827, 0, " "], [74828, 0, "a"], [74829, 0, "r"], [74830, 0, "e"], [74831, 0, " "], [74832, 0, "b"], [74833, 0, "y"], [74834, 0, " "], [74835, 0, "d"], [74836, 0, "e"], [74837, 0, "f"], [74838, 0, "i"], [74839, 0, "n"], [74840, 0, "i"], [74841, 0, "t"], [74842, 0, "i"], [74843, 0, "o"], [74844, 0, "n"], [74845, 0, " "], [74846, 0, "i"], [74847, 0, "n"], [74848, 0, " "], [74849, 0, "t"], [74850, 0, "h"], [74851, 0, "e"], [74852, 0, " "], [74853, 0, "s"], [74854, 0, "a"], [74855, 0, "m"], [74856, 0, "e"], [74857, 0, " "], [74858, 0, "s"], [74859, 0, "t"], [74860, 0, "a"], [74861, 0, "t"], [74862, 0, "e"], [74863, 0, "."], [74864, 0, "\n"], [74865, 0, "\n"], [74866, 0, "\\"], [74867, 0, "e"], [74868, 0, "m"], [74869, 0, "p"], [74870, 0, "h"], [74871, 0, "{"], [74872, 0, "I"], [74873, 0, "n"], [74874, 0, "d"], [74875, 0, "u"], [74876, 0, "c"], [74877, 0, "t"], [74878, 0, "i"], [74879, 0, "o"], [74880, 0, "n"], [74881, 0, " "], [74882, 0, "s"], [74883, 0, "t"], [74884, 0, "e"], [74885, 0, "p"], [74886, 0, ":"], [74887, 0, "}"], [74888, 0, " "], [74889, 0, "G"], [74890, 0, "i"], [74891, 0, "v"], [74892, 0, "e"], [74893, 0, "n"], [74894, 0, " "], [74895, 0, "h"], [74896, 0, "i"], [74897, 0, "s"], [74898, 0, "t"], [74899, 0, "o"], [74900, 0, "r"], [74901, 0, "i"], [74902, 0, "e"], [74903, 0, "s"], [74904, 0, " "], [74905, 0, "$"], [74906, 0, "H"], [74907, 0, "_"], [74908, 0, "p"], [74909, 0, "$"], [74910, 0, " "], [74911, 0, "a"], [74912, 0, "n"], [74913, 0, "d"], [74914, 0, " "], [74915, 0, "$"], [74916, 0, "H"], [74917, 0, "_"], [74918, 0, "q"], [74919, 0, "$"], [74920, 0, " "], [74921, 0, "o"], [74922, 0, "f"], [74923, 0, " "], [74924, 0, "l"], [74925, 0, "e"], [74926, 0, "n"], [74927, 0, "g"], [74928, 0, "t"], [74929, 0, "h"], [74930, 0, " "], [74931, 0, "$"], [74932, 0, "n"], [74933, 0, "$"], [74934, 0, ","], [74935, 0, " "], [74936, 0, "s"], [74937, 0, "u"], [74938, 0, "c"], [74939, 0, "h"], [74940, 0, " "], [74941, 0, "t"], [74942, 0, "h"], [74943, 0, "a"], [74944, 0, "t"], [74945, 0, " "], [74946, 0, "$"], [74947, 0, "H"], [74948, 0, "_"], [74949, 0, "p"], [74950, 0, " "], [74951, 0, "="], [74952, 0, " "], [74953, 0, "\\"], [74954, 0, "l"], [74955, 0, "a"], [74956, 0, "n"], [74957, 0, "g"], [74958, 0, "l"], [74959, 0, "e"], [74960, 0, " "], [74961, 0, "o"], [74962, 0, "_"], [74963, 0, "1"], [74964, 0, ","], [74965, 0, " "], [74966, 0, "\\"], [74967, 0, "d"], [74968, 0, "o"], [74969, 0, "t"], [74970, 0, "s"], [74971, 0, ","], [74972, 0, " "], [74973, 0, "o"], [74974, 0, "_"], [74975, 0, "n"], [74976, 0, " "], [74977, 0, "\\"], [74978, 0, "r"], [74979, 0, "a"], [74980, 0, "n"], [74981, 0, "g"], [74982, 0, "l"], [74983, 0, "e"], [74984, 0, "$"], [74985, 0, " "], [74986, 0, "a"], [74987, 0, "n"], [74988, 0, "d"], [74989, 0, " "], [74990, 0, "$"], [74991, 0, "H"], [74992, 0, "_"], [74993, 0, "q"], [74994, 0, " "], [74994, 1], [74994, 0, "$"], [74995, 0, " "], [74996, 0, "i"], [74997, 0, "s"], [74998, 0, " "], [74999, 0, "a"], [75000, 0, " "], [75001, 0, "p"], [75002, 0, "e"], [75003, 0, "r"], [75004, 0, "m"], [75005, 0, "u"], [75006, 0, "t"], [75007, 0, "a"], [75008, 0, "t"], [75009, 0, "i"], [75010, 0, "o"], [75011, 0, "n"], [75012, 0, " "], [75013, 0, "o"], [75014, 0, "f"], [75015, 0, " "], [75016, 0, "$"], [75017, 0, "H"], [75018, 0, "_"], [75019, 0, "q"], [75019, 1], [75019, 0, "p"], [75020, 0, "$"], [75021, 0, ","], [75022, 0, " "], [75023, 0, "a"], [75024, 0, "n"], [75025, 0, "d"], [75026, 0, " "], [75027, 0, "s"], [75028, 0, "u"], [75029, 0, "c"], [75030, 0, "h"], [75031, 0, " "], [75032, 0, "t"], [75033, 0, "h"], [75034, 0, "a"], [75035, 0, "t"], [75036, 0, " "], [75037, 0, "a"], [75038, 0, "p"], [75039, 0, "p"], [75040, 0, "l"], [75041, 0, "y"], [75042, 0, "i"], [75043, 0, "n"], [75044, 0, "g"], [75045, 0, " "], [75046, 0, "$"], [75047, 0, "H"], [75048, 0, "_"], [75049, 0, "p"], [75050, 0, "$"], [75051, 0, " "], [75052, 0, "r"], [75053, 0, "e"], [75054, 0, "s"], [75055, 0, "u"], [75056, 0, "l"], [75057, 0, "t"], [75058, 0, "s"], [75059, 0, " "], [75060, 0, "i"], [75061, 0, "n"], [75062, 0, " "], [75063, 0, "t"], [75064, 0, "h"], [75065, 0, "e"], [75066, 0, " "], [75067, 0, "s"], [75068, 0, "a"], [75069, 0, "m"], [75070, 0, "e"], [75071, 0, " "], [75072, 0, "d"], [75073, 0, "o"], [75074, 0, "c"], [75075, 0, "u"], [75076, 0, "m"], [75077, 0, "e"], [75078, 0, "n"], [75079, 0, "t"], [75080, 0, " "], [75081, 0, "s"], [75082, 0, "t"], [75083, 0, "a"], [75084, 0, "t"], [75085, 0, "e"], [75086, 0, " "], [75087, 0, "a"], [75088, 0, "s"], [75089, 0, " "], [75090, 0, "a"], [75091, 0, "p"], [75092, 0, "p"], [75093, 0, "l"], [75094, 0, "y"], [75095, 0, "i"], [75096, 0, "n"], [75097, 0, "g"], [75098, 0, " "], [75099, 0, "$"], [75100, 0, "H"], [75101, 0, "-"], [75102, 0, "Q"], [75102, 1], [75101, 1], [75101, 0, "_"], [75102, 0, "q"], [75103, 0, "$"], [75104, 0, ","], [75105, 0, " "], [75106, 0, "w"], [75107, 0, "e"], [75108, 0, " "], [75109, 0, "c"], [75110, 0, "a"], [75111, 0, "n"], [75112, 0, " "], [75113, 0, "c"], [75114, 0, "o"], [75115, 0, "n"], [75116, 0, "s"], [75117, 0, "t"], [75118, 0, "r"], [75119, 0, "u"], [75120, 0, "c"], [75121, 0, "t"], [75122, 0, " "], [75123, 0, "n"], [75124, 0, "e"], [75125, 0, "w"], [75126, 0, " "], [75127, 0, "h"], [75128, 0, "i"], [75129, 0, "s"], [75130, 0, "t"], [75131, 0, "o"], [75132, 0, "r"], [75133, 0, "i"], [75134, 0, "e"], [75135, 0, "s"], [75136, 0, " "], [75137, 0, "o"], [75138, 0, "f"], [75139, 0, " "], [75140, 0, "l"], [75141, 0, "e"], [75142, 0, "n"], [75143, 0, "g"], [75144, 0, "t"], [75145, 0, "h"], [75146, 0, " "], [75147, 0, "$"], [75148, 0, "n"], [75149, 0, "+"], [75150, 0, "1"], [75151, 0, "$"], [75152, 0, " "], [75153, 0, "b"], [75154, 0, "y"], [75155, 0, " "], [75156, 0, "i"], [75157, 0, "n"], [75158, 0, "s"], [75159, 0, "e"], [75160, 0, "r"], [75161, 0, "t"], [75162, 0, "i"], [75163, 0, "n"], [75164, 0, "g"], [75165, 0, " "], [75166, 0, "a"], [75167, 0, " "], [75168, 0, "n"], [75169, 0, "e"], [75170, 0, "w"], [75171, 0, " "], [75172, 0, "o"], [75173, 0, "p"], [75174, 0, "e"], [75175, 0, "r"], [75176, 0, "a"], [75177, 0, "t"], [75178, 0, "i"], [75179, 0, "o"], [75180, 0, "n"], [75181, 0, " "], [75182, 0, "$"], [75183, 0, "o"], [75184, 0, "_"], [75185, 0, "{"], [75186, 0, "n"], [75187, 0, "+"], [75188, 0, "1"], [75189, 0, "}"], [75190, 0, "$"], [75191, 0, " "], [75192, 0, "i"], [75193, 0, "n"], [75194, 0, " "], [75195, 0, "a"], [75196, 0, "n"], [75197, 0, "y"], [75198, 0, " "], [75198, 1], [75197, 1], [75196, 1], [75195, 1], [75194, 1], [75193, 1], [75192, 1], [75192, 0, "a"], [75193, 0, "t"], [75194, 0, " "], [75195, 0, "a"], [75196, 0, "n"], [75197, 0, "y"], [75198, 0, " "], [75199, 0, "c"], [75200, 0, "a"], [75201, 0, "u"], [75202, 0, "s"], [75203, 0, "a"], [75204, 0, "l"], [75205, 0, "l"], [75206, 0, "y"], [75207, 0, " "], [75208, 0, "r"], [75209, 0, "e"], [75210, 0, "a"], [75211, 0, "d"], [75212, 0, "y"], [75213, 0, " "], [75214, 0, "p"], [75215, 0, "o"], [75216, 0, "s"], [75217, 0, "i"], [75218, 0, "t"], [75219, 0, "i"], [75220, 0, "o"], [75221, 0, "n"], [75222, 0, " "], [75223, 0, "i"], [75224, 0, "n"], [75225, 0, " "], [75226, 0, "e"], [75227, 0, "i"], [75228, 0, "t"], [75229, 0, "h"], [75230, 0, "e"], [75231, 0, "r"], [75232, 0, " "], [75233, 0, "$"], [75234, 0, "H"], [75235, 0, "_"], [75236, 0, "p"], [75237, 0, "$"], [75238, 0, " "], [75239, 0, "o"], [75240, 0, "r"], [75241, 0, " "], [75242, 0, "$"], [75232, 1], [75231, 1], [75230, 1], [75229, 1], [75228, 1], [75227, 1], [75226, 1], [75225, 1], [75225, 0, " "], [75136, 0, " "], [75137, 0, "$"], [75138, 0, "H"], [75139, 0, "_"], [75140, 0, "p"], [75141, 0, "'"], [75142, 0, "$"], [75143, 0, " "], [75144, 0, "a"], [75145, 0, "n"], [75146, 0, "d"], [75147, 0, " "], [75148, 0, "$"], [75149, 0, "H"], [75150, 0, "_"], [75151, 0, "q"], [75152, 0, "'"], [75153, 0, "$"], [75254, 0, "H"], [75255, 0, "_"], [75256, 0, "q"], [75257, 0, "$"], [75258, 0, " "], [75259, 0, "r"], [75260, 0, "e"], [75261, 0, "s"], [75262, 0, "p"], [75263, 0, "e"], [75264, 0, "c"], [75265, 0, "t"], [75266, 0, "i"], [75267, 0, "v"], [75268, 0, "e"], [75269, 0, "l"], [75270, 0, "y"], [75271, 0, "."], [75272, 0, " "], [75273, 0, "W"], [75274, 0, "e"], [75275, 0, " "], [75276, 0, "m"], [75277, 0, "u"], [75278, 0, "s"], [75279, 0, "t"], [75280, 0, " "], [75281, 0, "t"], [75282, 0, "h"], [75283, 0, "e"], [75284, 0, "n"], [75285, 0, " "], [75286, 0, "s"], [75287, 0, "h"], [75288, 0, "o"], [75289, 0, "w"], [75290, 0, " "], [75291, 0, "t"], [75292, 0, "h"], [75293, 0, "a"], [75294, 0, "t"], [75295, 0, " "], [75296, 0, "f"], [75297, 0, "o"], [75298, 0, "r"], [75299, 0, " "], [75300, 0, "a"], [75301, 0, "l"], [75302, 0, "l"], [75303, 0, " "], [75304, 0, "t"], [75305, 0, "h"], [75306, 0, "e"], [75307, 0, " "], [75308, 0, "h"], [75309, 0, "i"], [75310, 0, "s"], [75311, 0, "t"], [75312, 0, "o"], [75313, 0, "r"], [75314, 0, "i"], [75315, 0, "e"], [75316, 0, "s"], [75317, 0, " "], [75318, 0, "$"], [75319, 0, "H"], [75320, 0, "_"], [75321, 0, "p"], [75322, 0, "'"], [75323, 0, "$"], [75324, 0, " "], [75325, 0, "a"], [75326, 0, "n"], [75327, 0, "d"], [75328, 0, " "], [75329, 0, "$"], [75330, 0, "H"], [75331, 0, "_"], [75332, 0, "q"], [75333, 0, "'"], [75334, 0, "$"], [75335, 0, " "], [75336, 0, "c"], [75337, 0, "o"], [75338, 0, "n"], [75339, 0, "s"], [75340, 0, "t"], [75341, 0, "r"], [75342, 0, "u"], [75343, 0, "c"], [75344, 0, "t"], [75345, 0, "e"], [75346, 0, "d"], [75347, 0, " "], [75348, 0, "t"], [75349, 0, "h"], [75350, 0, "i"], [75351, 0, "s"], [75352, 0, " "], [75353, 0, "w"], [75354, 0, "a"], [75355, 0, "y"], [75356, 0, ","], [75357, 0, " "], [75358, 0, "a"], [75359, 0, "p"], [75360, 0, "p"], [75361, 0, "l"], [75362, 0, "y"], [75363, 0, "i"], [75364, 0, "n"], [75365, 0, "g"], [75366, 0, " "], [75367, 0, "t"], [75368, 0, "h"], [75369, 0, "e"], [75370, 0, " "], [75371, 0, "o"], [75372, 0, "p"], [75373, 0, "e"], [75374, 0, "r"], [75375, 0, "a"], [75376, 0, "t"], [75377, 0, "i"], [75378, 0, "o"], [75379, 0, "n"], [75380, 0, "s"], [75381, 0, " "], [75382, 0, "i"], [75383, 0, "n"], [75384, 0, " "], [75385, 0, "o"], [75386, 0, "r"], [75387, 0, "d"], [75388, 0, "e"], [75389, 0, "r"], [75390, 0, " "], [75391, 0, "r"], [75392, 0, "e"], [75393, 0, "s"], [75394, 0, "u"], [75395, 0, "l"], [75396, 0, "t"], [75397, 0, "s"], [75398, 0, " "], [75399, 0, "i"], [75400, 0, "n"], [75401, 0, " "], [75402, 0, "t"], [75403, 0, "h"], [75404, 0, "e"], [75405, 0, " "], [75406, 0, "s"], [75407, 0, "a"], [75408, 0, "m"], [75409, 0, "e"], [75410, 0, " "], [75411, 0, "f"], [75412, 0, "i"], [75413, 0, "n"], [75414, 0, "a"], [75415, 0, "l"], [75416, 0, " "], [75416, 1], [75415, 1], [75414, 1], [75413, 1], [75412, 1], [75411, 1], [75411, 0, "d"], [75412, 0, "o"], [75413, 0, "c"], [75414, 0, "u"], [75415, 0, "m"], [75416, 0, "e"], [75417, 0, "n"], [75418, 0, "t"], [75419, 0, " "], [75420, 0, "s"], [75421, 0, "t"], [75422, 0, "a"], [75423, 0, "t"], [75424, 0, "e"], [75425, 0, "."], [75371, 0, "s"], [75372, 0, "e"], [75373, 0, "q"], [75374, 0, "u"], [75375, 0, "e"], [75376, 0, "n"], [75377, 0, "c"], [75378, 0, "e"], [75379, 0, " "], [75380, 0, "o"], [75381, 0, "f"], [75382, 0, " "], [75438, 0, "\n"], [75439, 0, "\n"], [75440, 0, "I"], [75441, 0, "n"], [75442, 0, " "], [75443, 0, "o"], [75444, 0, "r"], [75445, 0, "d"], [75446, 0, "e"], [75447, 0, "r"], [75448, 0, " "], [75449, 0, "t"], [75450, 0, "o"], [75451, 0, " "], [75452, 0, "p"], [75453, 0, "r"], [75454, 0, "o"], [75455, 0, "v"], [75456, 0, "e"], [75457, 0, " "], [75458, 0, "t"], [75459, 0, "h"], [75460, 0, "e"], [75461, 0, " "], [75462, 0, "i"], [75463, 0, "n"], [75464, 0, "d"], [75465, 0, "u"], [75466, 0, "c"], [75467, 0, "t"], [75468, 0, "i"], [75469, 0, "o"], [75470, 0, "n"], [75471, 0, " "], [75472, 0, "s"], [75473, 0, "t"], [75474, 0, "e"], [75475, 0, "p"], [75476, 0, ","], [75477, 0, " "], [75478, 0, "w"], [75479, 0, "e"], [75480, 0, " "], [75481, 0, "e"], [75482, 0, "x"], [75483, 0, "a"], [75484, 0, "m"], [75485, 0, "i"], [75486, 0, "n"], [75487, 0, "e"], [75488, 0, " "], [75489, 0, "t"], [75490, 0, "h"], [75491, 0, "e"], [75492, 0, " "], [75493, 0, "i"], [75494, 0, "n"], [75495, 0, "s"], [75496, 0, "e"], [75497, 0, "r"], [75498, 0, "t"], [75499, 0, "i"], [75500, 0, "o"], [75501, 0, "n"], [75502, 0, " "], [75503, 0, "o"], [75504, 0, "f"], [75505, 0, " "], [75506, 0, "$"], [75507, 0, "o"], [75508, 0, "_"], [75509, 0, "{"], [75510, 0, "n"], [75511, 0, "+"], [75512, 0, "1"], [75513, 0, "}"], [75514, 0, "$"], [75515, 0, " "], [75516, 0, "i"], [75517, 0, "n"], [75518, 0, "t"], [75519, 0, "o"], [75520, 0, " "], [75521, 0, "$"], [75522, 0, "H"], [75523, 0, "_"], [75524, 0, "p"], [75525, 0, "$"], [75526, 0, " "], [75527, 0, "a"], [75528, 0, "n"], [75529, 0, "d"], [75530, 0, " "], [75531, 0, "$"], [75532, 0, "H"], [75533, 0, "_"], [75534, 0, "q"], [75535, 0, "$"], [75536, 0, "."], [75537, 0, " "], [75538, 0, "E"], [75539, 0, "a"], [75540, 0, "c"], [75541, 0, "h"], [75542, 0, " "], [75543, 0, "h"], [75544, 0, "i"], [75545, 0, "s"], [75546, 0, "t"], [75547, 0, "o"], [75548, 0, "r"], [75549, 0, "y"], [75550, 0, " "], [75551, 0, "c"], [75552, 0, "a"], [75553, 0, "n"], [75554, 0, " "], [75555, 0, "b"], [75556, 0, "e"], [75557, 0, " "], [75558, 0, "s"], [75559, 0, "p"], [75560, 0, "l"], [75561, 0, "i"], [75562, 0, "t"], [75563, 0, " "], [75564, 0, "i"], [75565, 0, "n"], [75566, 0, "t"], [75567, 0, "o"], [75568, 0, " "], [75569, 0, "a"], [75570, 0, " "], [75571, 0, "p"], [75572, 0, "r"], [75573, 0, "e"], [75574, 0, "f"], [75575, 0, "i"], [75576, 0, "x"], [75577, 0, ","], [75578, 0, " "], [75579, 0, "w"], [75580, 0, "h"], [75581, 0, "i"], [75582, 0, "c"], [75583, 0, "h"], [75584, 0, " "], [75585, 0, "i"], [75586, 0, "s"], [75587, 0, " "], [75588, 0, "t"], [75589, 0, "h"], [75590, 0, "e"], [75591, 0, " "], [75592, 0, "m"], [75593, 0, "i"], [75594, 0, "n"], [75595, 0, "i"], [75596, 0, "m"], [75597, 0, "a"], [75598, 0, "l"], [75599, 0, " "], [75600, 0, "s"], [75601, 0, "u"], [75602, 0, "b"], [75603, 0, "s"], [75604, 0, "e"], [75605, 0, "q"], [75606, 0, "u"], [75607, 0, "e"], [75608, 0, "n"], [75609, 0, "c"], [75610, 0, "e"], [75611, 0, " "], [75612, 0, "$"], [75613, 0, "\\"], [75614, 0, "l"], [75615, 0, "a"], [75616, 0, "n"], [75617, 0, "g"], [75618, 0, "l"], [75619, 0, "e"], [75620, 0, " "], [75621, 0, "o"], [75622, 0, "_"], [75623, 0, "1"], [75624, 0, ","], [75625, 0, " "], [75626, 0, "\\"], [75627, 0, "d"], [75628, 0, "o"], [75629, 0, "t"], [75630, 0, "s"], [75631, 0, ","], [75632, 0, " "], [75633, 0, "o"], [75634, 0, "_"], [75635, 0, "j"], [75636, 0, " "], [75637, 0, "\\"], [75638, 0, "r"], [75639, 0, "a"], [75640, 0, "n"], [75641, 0, "g"], [75642, 0, "l"], [75643, 0, "e"], [75644, 0, "$"], [75645, 0, " "], [75646, 0, "s"], [75647, 0, "u"], [75648, 0, "c"], [75649, 0, "h"], [75650, 0, " "], [75651, 0, "t"], [75652, 0, "h"], [75653, 0, "a"], [75654, 0, "t"], [75655, 0, " "], [75656, 0, "$"], [75657, 0, "o"], [75658, 0, "_"], [75659, 0, "{"], [75660, 0, "n"], [75661, 0, "+"], [75662, 0, "1"], [75663, 0, "}"], [75664, 0, "."], [75665, 0, "\\"], [75666, 0, "m"], [75667, 0, "a"], [75668, 0, "t"], [75669, 0, "h"], [75670, 0, "i"], [75671, 0, "t"], [75672, 0, "{"], [75673, 0, "d"], [75674, 0, "e"], [75675, 0, "p"], [75676, 0, "s"], [75677, 0, "}"], [75678, 0, " "], [75679, 0, "\\"], [75680, 0, "s"], [75681, 0, "u"], [75682, 0, "b"], [75683, 0, "s"], [75684, 0, "e"], [75685, 0, "t"], [75686, 0, "e"], [75687, 0, "q"], [75688, 0, " "], [75689, 0, "\\"], [75690, 0, "{"], [75691, 0, "o"], [75692, 0, "_"], [75693, 0, "1"], [75694, 0, "."], [75695, 0, "\\"], [75696, 0, "m"], [75697, 0, "a"], [75698, 0, "t"], [75699, 0, "h"], [75700, 0, "i"], [75701, 0, "t"], [75702, 0, "{"], [75703, 0, "i"], [75704, 0, "d"], [75705, 0, "}"], [75706, 0, ","], [75707, 0, " "], [75708, 0, "\\"], [75709, 0, "d"], [75710, 0, "o"], [75711, 0, "t"], [75712, 0, "s"], [75713, 0, ","], [75714, 0, " "], [75715, 0, "o"], [75716, 0, "_"], [75717, 0, "j"], [75718, 0, "."], [75719, 0, "\\"], [75720, 0, "m"], [75721, 0, "a"], [75722, 0, "t"], [75723, 0, "h"], [75724, 0, "i"], [75725, 0, "t"], [75726, 0, "{"], [75727, 0, "i"], [75728, 0, "d"], [75729, 0, "}"], [75730, 0, "\\"], [75731, 0, "}"], [75732, 0, "$"], [75733, 0, ","], [75734, 0, " "], [75735, 0, "a"], [75736, 0, "n"], [75737, 0, "d"], [75738, 0, " "], [75739, 0, "a"], [75740, 0, " "], [75741, 0, "p"], [75742, 0, "r"], [75743, 0, "e"], [75744, 0, "f"], [75745, 0, "i"], [75746, 0, "x"], [75747, 0, ","], [75748, 0, " "], [75749, 0, "w"], [75750, 0, "h"], [75751, 0, "i"], [75752, 0, "c"], [75753, 0, "h"], [75754, 0, " "], [75755, 0, "i"], [75756, 0, "s"], [75757, 0, " "], [75758, 0, "t"], [75759, 0, "h"], [75760, 0, "e"], [75761, 0, " "], [75762, 0, "r"], [75763, 0, "e"], [75764, 0, "m"], [75765, 0, "a"], [75766, 0, "i"], [75767, 0, "n"], [75768, 0, "i"], [75769, 0, "n"], [75770, 0, "g"], [75771, 0, " "], [75772, 0, "s"], [75773, 0, "e"], [75774, 0, "q"], [75775, 0, "u"], [75776, 0, "e"], [75777, 0, "n"], [75778, 0, "c"], [75779, 0, "e"], [75780, 0, " "], [75781, 0, "$"], [75782, 0, "\\"], [75783, 0, "l"], [75784, 0, "a"], [75785, 0, "n"], [75786, 0, "g"], [75787, 0, "l"], [75788, 0, "e"], [75789, 0, " "], [75790, 0, "o"], [75791, 0, "_"], [75792, 0, "{"], [75793, 0, "j"], [75794, 0, "+"], [75795, 0, "1"], [75796, 0, "}"], [75797, 0, ","], [75798, 0, " "], [75799, 0, "\\"], [75800, 0, "d"], [75801, 0, "o"], [75802, 0, "t"], [75803, 0, "s"], [75804, 0, ","], [75805, 0, " "], [75806, 0, "o"], [75807, 0, "_"], [75808, 0, "n"], [75809, 0, " "], [75810, 0, "\\"], [75811, 0, "r"], [75812, 0, "a"], [75813, 0, "n"], [75814, 0, "g"], [75815, 0, "l"], [75816, 0, "e"], [75817, 0, "$"], [75818, 0, "."], [75819, 0, " "], [75820, 0, "T"], [75821, 0, "h"], [75822, 0, "e"], [75823, 0, " "], [75824, 0, "e"], [75825, 0, "a"], [75826, 0, "r"], [75827, 0, "l"], [75828, 0, "i"], [75829, 0, "e"], [75830, 0, "s"], [75831, 0, "t"], [75832, 0, " "], [75833, 0, "p"], [75834, 0, "o"], [75835, 0, "s"], [75836, 0, "i"], [75837, 0, "t"], [75838, 0, "i"], [75839, 0, "o"], [75840, 0, "n"], [75841, 0, " "], [75842, 0, "w"], [75843, 0, "h"], [75844, 0, "e"], [75845, 0, "r"], [75846, 0, "e"], [75847, 0, " "], [75848, 0, "$"], [75849, 0, "o"], [75850, 0, "_"], [75851, 0, "{"], [75852, 0, "n"], [75853, 0, "+"], [75854, 0, "1"], [75855, 0, "}"], [75856, 0, "$"], [75857, 0, " "], [75858, 0, "c"], [75859, 0, "a"], [75860, 0, "n"], [75861, 0, " "], [75862, 0, "b"], [75863, 0, "e"], [75864, 0, " "], [75865, 0, "i"], [75866, 0, "n"], [75867, 0, "s"], [75868, 0, "e"], [75869, 0, "r"], [75870, 0, "t"], [75871, 0, "e"], [75872, 0, "d"], [75873, 0, " "], [75874, 0, "i"], [75875, 0, "n"], [75876, 0, "t"], [75877, 0, "o"], [75878, 0, " "], [75879, 0, "t"], [75880, 0, "h"], [75881, 0, "e"], [75882, 0, " "], [75883, 0, "h"], [75884, 0, "i"], [75885, 0, "s"], [75886, 0, "t"], [75887, 0, "o"], [75888, 0, "r"], [75889, 0, "y"], [75890, 0, " "], [75891, 0, "i"], [75892, 0, "s"], [75893, 0, " "], [75894, 0, "b"], [75895, 0, "e"], [75896, 0, "t"], [75897, 0, "w"], [75898, 0, "e"], [75899, 0, "e"], [75900, 0, "n"], [75901, 0, " "], [75902, 0, "t"], [75903, 0, "h"], [75904, 0, "e"], [75905, 0, " "], [75906, 0, "p"], [75907, 0, "r"], [75908, 0, "e"], [75909, 0, "f"], [75910, 0, "i"], [75911, 0, "x"], [75912, 0, " "], [75913, 0, "a"], [75914, 0, "n"], [75915, 0, "d"], [75916, 0, " "], [75917, 0, "t"], [75918, 0, "h"], [75919, 0, "e"], [75920, 0, " "], [75921, 0, "s"], [75922, 0, "u"], [75923, 0, "f"], [75924, 0, "f"], [75925, 0, "i"], [75926, 0, "x"], [75927, 0, ";"], [75928, 0, " "], [75929, 0, "t"], [75930, 0, "h"], [75931, 0, "e"], [75932, 0, " "], [75933, 0, "l"], [75934, 0, "a"], [75935, 0, "t"], [75936, 0, "e"], [75937, 0, "s"], [75938, 0, "t"], [75939, 0, " "], [75940, 0, "p"], [75941, 0, "o"], [75942, 0, "s"], [75943, 0, "i"], [75944, 0, "t"], [75945, 0, "i"], [75946, 0, "o"], [75947, 0, "n"], [75948, 0, " "], [75949, 0, "i"], [75950, 0, "s"], [75951, 0, " "], [75952, 0, "a"], [75953, 0, "t"], [75954, 0, " "], [75955, 0, "t"], [75956, 0, "h"], [75957, 0, "e"], [75958, 0, " "], [75959, 0, "e"], [75960, 0, "n"], [75961, 0, "d"], [75962, 0, " "], [75963, 0, "o"], [75964, 0, "f"], [75965, 0, " "], [75966, 0, "t"], [75967, 0, "h"], [75968, 0, "e"], [75969, 0, " "], [75970, 0, "s"], [75971, 0, "u"], [75972, 0, "f"], [75973, 0, "f"], [75974, 0, "i"], [75975, 0, "x"], [75976, 0, ";"], [75977, 0, " "], [75978, 0, "o"], [75979, 0, "r"], [75980, 0, " "], [75981, 0, "i"], [75982, 0, "t"], [75983, 0, " "], [75984, 0, "c"], [75985, 0, "o"], [75986, 0, "u"], [75987, 0, "l"], [75988, 0, "d"], [75989, 0, " "], [75990, 0, "b"], [75991, 0, "e"], [75992, 0, " "], [75993, 0, "i"], [75994, 0, "n"], [75995, 0, "s"], [75996, 0, "e"], [75997, 0, "r"], [75998, 0, "t"], [75999, 0, "e"], [76000, 0, "d"], [76001, 0, " "], [76002, 0, "a"], [76003, 0, "t"], [76004, 0, " "], [76005, 0, "a"], [76006, 0, "n"], [76007, 0, "y"], [76008, 0, " "], [76009, 0, "p"], [76010, 0, "o"], [76011, 0, "i"], [76012, 0, "n"], [76013, 0, "t"], [76014, 0, " "], [76015, 0, "w"], [76016, 0, "i"], [76017, 0, "t"], [76018, 0, "h"], [76019, 0, "i"], [76020, 0, "n"], [76021, 0, " "], [76022, 0, "t"], [76023, 0, "h"], [76024, 0, "e"], [76025, 0, " "], [76026, 0, "s"], [76027, 0, "u"], [76028, 0, "f"], [76029, 0, "f"], [76030, 0, "i"], [76031, 0, "x"], [76032, 0, "."], [75743, 1], [75742, 1], [75741, 1], [75741, 0, "s"], [75742, 0, "u"], [75743, 0, "f"], [75772, 0, "s"], [75773, 0, "u"], [75774, 0, "b"], [76036, 0, "\n"], [76037, 0, "\n"], [76038, 0, "W"], [76039, 0, "e"], [76040, 0, " "], [76041, 0, "s"], [76042, 0, "h"], [76043, 0, "o"], [76044, 0, "w"], [76045, 0, " "], [76046, 0, "t"], [76047, 0, "h"], [76048, 0, "a"], [76049, 0, "t"], [76050, 0, " "], [76051, 0, "t"], [76052, 0, "h"], [76053, 0, "e"], [76054, 0, " "], [76055, 0, "e"], [76056, 0, "f"], [76057, 0, "f"], [76058, 0, "e"], [76059, 0, "c"], [76060, 0, "t"], [76061, 0, " "], [76062, 0, "o"], [76063, 0, "n"], [76064, 0, " "], [76065, 0, "t"], [76066, 0, "h"], [76067, 0, "e"], [76068, 0, " "], [76069, 0, "d"], [76070, 0, "o"], [76071, 0, "c"], [76072, 0, "u"], [76073, 0, "m"], [76074, 0, "e"], [76075, 0, "n"], [76076, 0, "t"], [76077, 0, " "], [76078, 0, "s"], [76079, 0, "t"], [76080, 0, "a"], [76081, 0, "t"], [76082, 0, "e"], [76083, 0, " "], [76084, 0, "i"], [76085, 0, "s"], [76086, 0, " "], [76087, 0, "t"], [76088, 0, "h"], [76089, 0, "e"], [76090, 0, " "], [76091, 0, "s"], [76092, 0, "a"], [76093, 0, "m"], [76094, 0, "e"], [76095, 0, ","], [76096, 0, " "], [76097, 0, "r"], [76098, 0, "e"], [76099, 0, "g"], [76100, 0, "a"], [76101, 0, "r"], [76102, 0, "d"], [76103, 0, "l"], [76104, 0, "e"], [76105, 0, "s"], [76106, 0, "s"], [76107, 0, " "], [76108, 0, "o"], [76109, 0, "f"], [76110, 0, " "], [76111, 0, "t"], [76112, 0, "h"], [76113, 0, "e"], [76114, 0, " "], [76115, 0, "p"], [76116, 0, "o"], [76117, 0, "s"], [76118, 0, "i"], [76119, 0, "t"], [76120, 0, "i"], [76121, 0, "o"], [76122, 0, "n"], [76123, 0, " "], [76124, 0, "a"], [76125, 0, "t"], [76126, 0, " "], [76127, 0, "w"], [76128, 0, "h"], [76129, 0, "i"], [76130, 0, "c"], [76131, 0, "h"], [76132, 0, " "], [76133, 0, "$"], [76134, 0, "o"], [76135, 0, "_"], [76136, 0, "{"], [76137, 0, "n"], [76138, 0, "+"], [76139, 0, "1"], [76140, 0, "}"], [76141, 0, "$"], [76142, 0, " "], [76143, 0, "i"], [76144, 0, "s"], [76145, 0, " "], [76146, 0, "i"], [76147, 0, "n"], [76148, 0, "s"], [76149, 0, "e"], [76150, 0, "r"], [76151, 0, "t"], [76152, 0, "e"], [76153, 0, "d"], [76154, 0, ","], [76155, 0, " "], [76156, 0, "a"], [76157, 0, "n"], [76158, 0, "d"], [76159, 0, " "], [76160, 0, "r"], [76161, 0, "e"], [76162, 0, "g"], [76163, 0, "a"], [76164, 0, "r"], [76165, 0, "d"], [76166, 0, "l"], [76167, 0, "e"], [76168, 0, "s"], [76169, 0, "s"], [76170, 0, " "], [76171, 0, "o"], [76172, 0, "f"], [76173, 0, " "], [76174, 0, "w"], [76175, 0, "h"], [76176, 0, "e"], [76177, 0, "t"], [76178, 0, "h"], [76179, 0, "e"], [76180, 0, "r"], [76181, 0, " "], [76182, 0, "i"], [76183, 0, "t"], [76184, 0, " "], [76185, 0, "i"], [76186, 0, "s"], [76187, 0, " "], [76188, 0, "i"], [76189, 0, "n"], [76190, 0, "s"], [76191, 0, "e"], [76192, 0, "r"], [76193, 0, "t"], [76194, 0, "e"], [76195, 0, "d"], [76196, 0, " "], [76197, 0, "i"], [76198, 0, "n"], [76199, 0, "o"], [76199, 1], [76199, 0, "t"], [76200, 0, "o"], [76201, 0, " "], [76202, 0, "$"], [76203, 0, "H"], [76204, 0, "_"], [76205, 0, "p"], [76206, 0, "R"], [76207, 0, "$"], [76207, 1], [76206, 1], [76206, 0, "$"], [76207, 0, " "], [76208, 0, "o"], [76209, 0, "r"], [76210, 0, " "], [76211, 0, "$"], [76212, 0, "H"], [76213, 0, "-"], [76213, 1], [76213, 0, "_"], [76214, 0, "q"], [76215, 0, "$"], [76216, 0, "."], [76217, 0, " "], [76218, 0, "W"], [76219, 0, "e"], [76220, 0, " "], [76221, 0, "d"], [76222, 0, "o"], [76223, 0, " "], [76224, 0, "t"], [76225, 0, "h"], [76226, 0, "i"], [76227, 0, "s"], [76228, 0, " "], [76229, 0, "b"], [76230, 0, "y"], [76231, 0, " "], [76232, 0, "s"], [76233, 0, "h"], [76234, 0, "o"], [76235, 0, "w"], [76236, 0, "i"], [76237, 0, "n"], [76238, 0, "g"], [76239, 0, " "], [76240, 0, "t"], [76241, 0, "h"], [76242, 0, "a"], [76243, 0, "t"], [76244, 0, " "], [76245, 0, "$"], [76246, 0, "o"], [76247, 0, "_"], [76248, 0, "{"], [76249, 0, "n"], [76250, 0, "+"], [76251, 0, "1"], [76252, 0, "}"], [76253, 0, "$"], [76254, 0, " "], [76255, 0, "i"], [76256, 0, "s"], [76257, 0, " "], [76258, 0, "c"], [76259, 0, "o"], [76260, 0, "m"], [76261, 0, "m"], [76262, 0, "u"], [76263, 0, "t"], [76264, 0, "a"], [76265, 0, "t"], [76266, 0, "i"], [76267, 0, "v"], [76268, 0, "e"], [76269, 0, " "], [76270, 0, "w"], [76271, 0, "i"], [76272, 0, "t"], [76273, 0, "h"], [76274, 0, " "], [76275, 0, "r"], [76276, 0, "e"], [76277, 0, "s"], [76278, 0, "p"], [76279, 0, "e"], [76280, 0, "c"], [76281, 0, "t"], [76282, 0, " "], [76283, 0, "t"], [76284, 0, "o"], [76285, 0, " "], [76286, 0, "a"], [76287, 0, "l"], [76288, 0, "l"], [76289, 0, " "], [76290, 0, "o"], [76291, 0, "p"], [76292, 0, "e"], [76293, 0, "r"], [76294, 0, "a"], [76295, 0, "t"], [76296, 0, "i"], [76297, 0, "o"], [76298, 0, "n"], [76299, 0, "s"], [76300, 0, " "], [76301, 0, "i"], [76302, 0, "n"], [76303, 0, " "], [76304, 0, "t"], [76305, 0, "h"], [76306, 0, "e"], [76307, 0, " "], [76308, 0, "s"], [76309, 0, "u"], [76310, 0, "f"], [76311, 0, "f"], [76312, 0, "i"], [76313, 0, "x"], [76314, 0, ","], [76315, 0, " "], [76316, 0, "i"], [76317, 0, "."], [76318, 0, "e"], [76319, 0, "."], [76320, 0, " "], [76321, 0, "w"], [76322, 0, "i"], [76323, 0, "t"], [76324, 0, "h"], [76325, 0, " "], [76326, 0, "r"], [76327, 0, "e"], [76328, 0, "s"], [76329, 0, "p"], [76330, 0, "e"], [76331, 0, "c"], [76332, 0, "t"], [76333, 0, " "], [76334, 0, "t"], [76335, 0, "o"], [76336, 0, " "], [76337, 0, "a"], [76338, 0, "l"], [76339, 0, "l"], [76340, 0, " "], [76341, 0, "o"], [76342, 0, "p"], [76343, 0, "e"], [76344, 0, "r"], [76345, 0, "a"], [76346, 0, "t"], [76347, 0, "i"], [76348, 0, "o"], [76349, 0, "n"], [76350, 0, "s"], [76351, 0, " "], [76352, 0, "t"], [76353, 0, "h"], [76354, 0, "a"], [76355, 0, "t"], [76356, 0, " "], [76357, 0, "a"], [76358, 0, "r"], [76359, 0, "e"], [76360, 0, " "], [76361, 0, "c"], [76362, 0, "o"], [76363, 0, "n"], [76364, 0, "c"], [76365, 0, "u"], [76366, 0, "r"], [76367, 0, "r"], [76368, 0, "e"], [76369, 0, "n"], [76370, 0, "t"], [76371, 0, " "], [76372, 0, "t"], [76373, 0, "o"], [76374, 0, " "], [76375, 0, "$"], [76376, 0, "O"], [76377, 0, "-"], [76377, 1], [76376, 1], [76376, 0, "o"], [76377, 0, "_"], [76378, 0, "{"], [76379, 0, "n"], [76380, 0, "+"], [76381, 0, "1"], [76382, 0, "}"], [76383, 0, "$"], [76384, 0, "."], [76385, 0, " "], [76386, 0, "W"], [76387, 0, "e"], [76388, 0, " "], [76389, 0, "d"], [76390, 0, "e"], [76391, 0, "m"], [76392, 0, "o"], [76393, 0, "n"], [76394, 0, "s"], [76395, 0, "t"], [76396, 0, "r"], [76397, 0, "a"], [76398, 0, "t"], [76399, 0, "e"], [76400, 0, " "], [76401, 0, "t"], [76402, 0, "h"], [76403, 0, "i"], [76404, 0, "s"], [76405, 0, " "], [76406, 0, "c"], [76407, 0, "o"], [76408, 0, "m"], [76409, 0, "m"], [76410, 0, "u"], [76411, 0, "t"], [76412, 0, "a"], [76413, 0, "t"], [76414, 0, "i"], [76415, 0, "v"], [76416, 0, "i"], [76417, 0, "t"], [76418, 0, "y"], [76419, 0, " "], [76420, 0, "c"], [76421, 0, "a"], [76422, 0, "s"], [76423, 0, "e"], [76424, 0, "-"], [76425, 0, "b"], [76426, 0, "y"], [76427, 0, "-"], [76428, 0, "c"], [76429, 0, "a"], [76430, 0, "s"], [76431, 0, "e"], [76432, 0, " "], [76433, 0, "d"], [76434, 0, "e"], [76435, 0, "p"], [76436, 0, "e"], [76437, 0, "n"], [76438, 0, "d"], [76439, 0, "o"], [76440, 0, "n"], [76440, 1], [76439, 1], [76439, 0, "i"], [76440, 0, "n"], [76441, 0, "g"], [76442, 0, " "], [76443, 0, "o"], [76444, 0, "n"], [76445, 0, " "], [76446, 0, "t"], [76447, 0, "h"], [76448, 0, "e"], [76449, 0, " "], [76450, 0, "t"], [76451, 0, "y"], [76452, 0, "p"], [76453, 0, "e"], [76454, 0, " "], [76455, 0, "o"], [76456, 0, "f"], [76457, 0, " "], [76458, 0, "m"], [76459, 0, "u"], [76460, 0, "t"], [76461, 0, "a"], [76462, 0, "t"], [76463, 0, "i"], [76464, 0, "o"], [76465, 0, "n"], [76466, 0, " "], [76467, 0, "i"], [76468, 0, "n"], [76469, 0, " "], [76470, 0, "$"], [76471, 0, "o"], [76472, 0, "_"], [76473, 0, "{"], [76474, 0, "n"], [76475, 0, "+"], [76476, 0, "1"], [76477, 0, "}"], [76478, 0, "$"], [76479, 0, ":"], [76480, 0, " "], [76481, 0, "i"], [76482, 0, "n"], [76483, 0, "s"], [76484, 0, "e"], [76485, 0, "r"], [76486, 0, "t"], [76487, 0, "i"], [76488, 0, "o"], [76489, 0, "n"], [76490, 0, "s"], [76491, 0, " "], [76492, 0, "i"], [76493, 0, "n"], [76494, 0, " "], [76495, 0, "L"], [76496, 0, "e"], [76497, 0, "m"], [76498, 0, "m"], [76499, 0, "a"], [76500, 0, "~"], [76501, 0, "\\"], [76502, 0, "r"], [76503, 0, "e"], [76504, 0, "f"], [76505, 0, "{"], [76506, 0, "l"], [76507, 0, "e"], [76508, 0, "m"], [76509, 0, ":"], [76510, 0, "i"], [76511, 0, "n"], [76512, 0, "s"], [76513, 0, "e"], [76514, 0, "r"], [76515, 0, "t"], [76516, 0, "-"], [76517, 0, "c"], [76518, 0, "o"], [76519, 0, "m"], [76520, 0, "m"], [76521, 0, "u"], [76522, 0, "t"], [76523, 0, "e"], [76524, 0, "}"], [76525, 0, ","], [76526, 0, " "], [76527, 0, "d"], [76528, 0, "e"], [76529, 0, "l"], [76530, 0, "e"], [76531, 0, "t"], [76532, 0, "i"], [76533, 0, "o"], [76534, 0, "n"], [76535, 0, "s"], [76536, 0, " "], [76537, 0, "i"], [76538, 0, "n"], [76539, 0, " "], [76540, 0, "L"], [76541, 0, "e"], [76542, 0, "m"], [76543, 0, "m"], [76544, 0, "a"], [76545, 0, "~"], [76546, 0, "\\"], [76547, 0, "r"], [76548, 0, "e"], [76549, 0, "f"], [76550, 0, "{"], [76551, 0, "l"], [76552, 0, "e"], [76553, 0, "m"], [76554, 0, ":"], [76555, 0, "d"], [76556, 0, "e"], [76557, 0, "l"], [76558, 0, "e"], [76559, 0, "t"], [76560, 0, "e"], [76561, 0, "-"], [76562, 0, "c"], [76563, 0, "o"], [76564, 0, "m"], [76565, 0, "m"], [76566, 0, "u"], [76567, 0, "t"], [76568, 0, "e"], [76569, 0, "}"], [76490, 1], [76534, 1], [76568, 0, ","], [76569, 0, " "], [76570, 0, "a"], [76571, 0, "n"], [76572, 0, "d"], [76573, 0, " "], [76574, 0, "a"], [76575, 0, "s"], [76576, 0, "s"], [76577, 0, "i"], [76578, 0, "g"], [76579, 0, "n"], [76580, 0, "m"], [76581, 0, "e"], [76582, 0, "n"], [76583, 0, "t"], [76584, 0, " "], [76585, 0, "i"], [76586, 0, "n"], [76587, 0, " "], [76588, 0, "L"], [76589, 0, "e"], [76590, 0, "m"], [76591, 0, "m"], [76592, 0, "a"], [76593, 0, "~"], [76594, 0, "\\"], [76595, 0, "r"], [76596, 0, "e"], [76597, 0, "f"], [76598, 0, "{"], [76599, 0, "l"], [76600, 0, "e"], [76601, 0, "m"], [76602, 0, ":"], [76603, 0, "a"], [76604, 0, "s"], [76605, 0, "s"], [76606, 0, "i"], [76607, 0, "g"], [76608, 0, "n"], [76609, 0, "-"], [76610, 0, "c"], [76611, 0, "o"], [76612, 0, "m"], [76613, 0, "m"], [76614, 0, "u"], [76615, 0, "t"], [76616, 0, "e"], [76617, 0, "}"], [76618, 0, "."], [82130, 0, "\n"], [82131, 0, "\\"], [82132, 0, "b"], [82133, 0, "e"], [82134, 0, "g"], [82135, 0, "i"], [82136, 0, "n"], [82137, 0, "{"], [82138, 0, "e"], [82139, 0, "m"], [82139, 1], [82138, 1], [82138, 0, "l"], [82139, 0, "e"], [82140, 0, "m"], [82141, 0, "m"], [82142, 0, "a"], [82143, 0, "}"], [82144, 0, "\\"], [82145, 0, "l"], [82146, 0, "a"], [82147, 0, "b"], [82148, 0, "e"], [82149, 0, "l"], [82150, 0, "{"], [82151, 0, "l"], [82152, 0, "e"], [82153, 0, "m"], [82154, 0, ":"], [82155, 0, "d"], [82156, 0, "e"], [82157, 0, "l"], [82158, 0, "e"], [82159, 0, "t"], [82160, 0, "e"], [82161, 0, "-"], [82162, 0, "c"], [82163, 0, "o"], [82164, 0, "m"], [82165, 0, "m"], [82166, 0, "u"], [82167, 0, "t"], [82168, 0, "e"], [82169, 0, "}"], [82170, 0, "\n"], [82171, 0, "C"], [82172, 0, "o"], [82173, 0, "n"], [82174, 0, "c"], [82175, 0, "u"], [82176, 0, "r"], [82177, 0, "r"], [82178, 0, "e"], [82178, 1], [82177, 1], [82176, 1], [82175, 1], [82174, 1], [82173, 1], [82172, 1], [82171, 1], [82171, 0, "D"], [82172, 0, "e"], [82173, 0, "l"], [82174, 0, "e"], [82175, 0, "t"], [82176, 0, "i"], [82177, 0, "o"], [82178, 0, "n"], [82179, 0, " "], [82180, 0, "i"], [82181, 0, "s"], [82182, 0, " "], [82183, 0, "c"], [82184, 0, "o"], [82185, 0, "m"], [82186, 0, "m"], [82187, 0, "u"], [82188, 0, "t"], [82189, 0, "a"], [82190, 0, "t"], [82191, 0, "i"], [82192, 0, "v"], [82193, 0, "e"], [82194, 0, " "], [82195, 0, "w"], [82196, 0, "i"], [82197, 0, "t"], [82198, 0, "h"], [82199, 0, " "], [82200, 0, "r"], [82201, 0, "e"], [82202, 0, "s"], [82203, 0, "p"], [82204, 0, "e"], [82205, 0, "c"], [82206, 0, "t"], [82207, 0, " "], [82208, 0, "t"], [82209, 0, "o"], [82210, 0, " "], [82211, 0, "o"], [82212, 0, "t"], [82213, 0, "h"], [82214, 0, "e"], [82215, 0, "r"], [82216, 0, " "], [82217, 0, "c"], [82218, 0, "o"], [82219, 0, "n"], [82220, 0, "c"], [82221, 0, "u"], [82222, 0, "r"], [82223, 0, "r"], [82224, 0, "e"], [82225, 0, "n"], [82226, 0, "t"], [82227, 0, " "], [82228, 0, "o"], [82229, 0, "p"], [82230, 0, "e"], [82231, 0, "r"], [82232, 0, "a"], [82233, 0, "t"], [82234, 0, "i"], [82235, 0, "o"], [82236, 0, "n"], [82237, 0, "s"], [82238, 0, "."], [82239, 0, "\n"], [82240, 0, "\\"], [82241, 0, "e"], [82242, 0, "n"], [82243, 0, "d"], [82244, 0, "{"], [82245, 0, "l"], [82246, 0, "e"], [82247, 0, "m"], [82248, 0, "m"], [82249, 0, "a"], [82250, 0, "}"], [82251, 0, "\n"], [82252, 0, "\n"], [82253, 0, "\\"], [82254, 0, "b"], [82255, 0, "e"], [82256, 0, "g"], [82257, 0, "i"], [82258, 0, "n"], [82259, 0, "{"], [82260, 0, "l"], [82261, 0, "e"], [82262, 0, "m"], [82263, 0, "m"], [82264, 0, "a"], [82265, 0, "}"], [82266, 0, "\\"], [82267, 0, "l"], [82268, 0, "a"], [82269, 0, "b"], [82270, 0, "e"], [82271, 0, "l"], [82272, 0, "{"], [82273, 0, "l"], [82274, 0, "e"], [82275, 0, "m"], [82276, 0, ":"], [82277, 0, "a"], [82278, 0, "s"], [82279, 0, "s"], [82280, 0, "i"], [82281, 0, "g"], [82282, 0, "n"], [82283, 0, "-"], [82284, 0, "c"], [82285, 0, "o"], [82286, 0, "m"], [82287, 0, "m"], [82288, 0, "u"], [82289, 0, "t"], [82290, 0, "e"], [82291, 0, "}"], [82292, 0, "\n"], [82293, 0, "A"], [82294, 0, "s"], [82295, 0, "s"], [82296, 0, "i"], [82297, 0, "g"], [82298, 0, "n"], [82299, 0, "m"], [82300, 0, "e"], [82301, 0, "n"], [82302, 0, "t"], [82303, 0, " "], [82304, 0, "i"], [82305, 0, "s"], [82306, 0, " "], [82307, 0, "c"], [82308, 0, "o"], [82309, 0, "m"], [82310, 0, "m"], [82311, 0, "u"], [82312, 0, "t"], [82313, 0, "a"], [82314, 0, "t"], [82315, 0, "i"], [82316, 0, "v"], [82317, 0, "e"], [82318, 0, " "], [82319, 0, "w"], [82320, 0, "i"], [82321, 0, "t"], [82322, 0, "h"], [82323, 0, " "], [82324, 0, "r"], [82325, 0, "e"], [82326, 0, "s"], [82327, 0, "p"], [82328, 0, "e"], [82329, 0, "c"], [82330, 0, "t"], [82331, 0, " "], [82332, 0, "t"], [82333, 0, "o"], [82334, 0, " "], [82335, 0, "o"], [82336, 0, "t"], [82337, 0, "h"], [82338, 0, "e"], [82339, 0, "r"], [82340, 0, " "], [82341, 0, "c"], [82342, 0, "o"], [82343, 0, "n"], [82344, 0, "c"], [82345, 0, "u"], [82346, 0, "r"], [82347, 0, "r"], [82348, 0, "e"], [82349, 0, "n"], [82350, 0, "t"], [82351, 0, " "], [82352, 0, "o"], [82353, 0, "p"], [82354, 0, "e"], [82355, 0, "r"], [82356, 0, "a"], [82357, 0, "t"], [82358, 0, "i"], [82359, 0, "o"], [82360, 0, "n"], [82361, 0, "s"], [82362, 0, "."], [82340, 1], [82339, 1], [82338, 1], [82337, 1], [82336, 1], [82335, 1], [82215, 1], [82214, 1], [82213, 1], [82212, 1], [82211, 1], [82210, 1], [82352, 0, "\\"], [82353, 0, "e"], [82354, 0, "n"], [82355, 0, "d"], [82356, 0, "{"], [82357, 0, "l"], [82358, 0, "e"], [82359, 0, "m"], [82360, 0, "m"], [82361, 0, "a"], [82362, 0, "}"], [82363, 0, "\n"], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [82391, 1], [83429, 1], [83428, 1], [83427, 1], [83426, 1], [83425, 1], [83424, 1], [83423, 1], [83422, 1], [83421, 1], [83420, 1], [83419, 1], [83418, 1], [83417, 1], [83416, 1], [83415, 1], [83414, 1], [83413, 1], [83412, 1], [83411, 1], [83410, 1], [83409, 1], [83408, 1], [83407, 1], [83406, 1], [83405, 1], [83404, 1], [83403, 1], [83402, 1], [83401, 1], [83400, 1], [83399, 1], [83398, 1], [83397, 1], [83396, 1], [83395, 1], [83394, 1], [83393, 1], [83392, 1], [83391, 1], [83390, 1], [83389, 1], [83388, 1], [83387, 1], [83386, 1], [83385, 1], [83384, 1], [83383, 1], [83382, 1], [83381, 1], [83380, 1], [83379, 1], [83378, 1], [83377, 1], [83376, 1], [83375, 1], [83374, 1], [83373, 1], [83372, 1], [83371, 1], [83370, 1], [83369, 1], [83368, 1], [83367, 1], [83366, 1], [83365, 1], [83364, 1], [83363, 1], [83362, 1], [83361, 1], [83360, 1], [83359, 1], [83358, 1], [83357, 1], [83356, 1], [83355, 1], [83354, 1], [83353, 1], [83352, 1], [83351, 1], [83350, 1], [83349, 1], [83348, 1], [83347, 1], [83346, 1], [83345, 1], [83344, 1], [83343, 1], [83342, 1], [83341, 1], [83340, 1], [83339, 1], [83338, 1], [83337, 1], [83336, 1], [83335, 1], [83334, 1], [83333, 1], [83332, 1], [83331, 1], [83330, 1], [83329, 1], [83328, 1], [83327, 1], [83326, 1], [83325, 1], [83324, 1], [83323, 1], [83322, 1], [83321, 1], [83320, 1], [83319, 1], [83318, 1], [83317, 1], [83316, 1], [83315, 1], [83314, 1], [83313, 1], [83312, 1], [83311, 1], [83310, 1], [83309, 1], [83308, 1], [83307, 1], [83306, 1], [83305, 1], [83304, 1], [83303, 1], [83302, 1], [83301, 1], [83300, 1], [83299, 1], [83298, 1], [83297, 1], [83296, 1], [83295, 1], [83294, 1], [83293, 1], [83292, 1], [83291, 1], [83290, 1], [83289, 1], [83288, 1], [83287, 1], [83286, 1], [83285, 1], [83284, 1], [83283, 1], [83282, 1], [83281, 1], [83280, 1], [83279, 1], [83278, 1], [83277, 1], [83276, 1], [83275, 1], [83274, 1], [83273, 1], [83272, 1], [83271, 1], [83270, 1], [83269, 1], [83268, 1], [83267, 1], [83266, 1], [83265, 1], [83264, 1], [83263, 1], [83262, 1], [83261, 1], [83260, 1], [83259, 1], [83258, 1], [83257, 1], [83256, 1], [83255, 1], [83254, 1], [83253, 1], [83252, 1], [83251, 1], [83250, 1], [83249, 1], [83248, 1], [83247, 1], [83246, 1], [83245, 1], [83244, 1], [83243, 1], [83242, 1], [83241, 1], [83240, 1], [83239, 1], [83238, 1], [83237, 1], [83236, 1], [83235, 1], [83234, 1], [83233, 1], [83232, 1], [83231, 1], [83230, 1], [83229, 1], [83228, 1], [83227, 1], [83226, 1], [83225, 1], [83224, 1], [83223, 1], [83222, 1], [83221, 1], [83220, 1], [83219, 1], [83218, 1], [83217, 1], [83216, 1], [83215, 1], [83214, 1], [83213, 1], [83212, 1], [83211, 1], [83210, 1], [83209, 1], [83208, 1], [83207, 1], [83206, 1], [83205, 1], [83204, 1], [83203, 1], [83202, 1], [83201, 1], [83200, 1], [83199, 1], [83198, 1], [83197, 1], [83196, 1], [83195, 1], [83194, 1], [83193, 1], [83192, 1], [83191, 1], [83190, 1], [83189, 1], [83188, 1], [83187, 1], [83186, 1], [83185, 1], [83184, 1], [83183, 1], [83182, 1], [83181, 1], [83180, 1], [83179, 1], [83178, 1], [83177, 1], [83176, 1], [83175, 1], [83174, 1], [83173, 1], [83172, 1], [83171, 1], [83170, 1], [83169, 1], [83168, 1], [83167, 1], [83166, 1], [83165, 1], [83164, 1], [83163, 1], [83162, 1], [83161, 1], [83160, 1], [83159, 1], [83158, 1], [83157, 1], [83156, 1], [83155, 1], [83154, 1], [83153, 1], [83152, 1], [83151, 1], [83150, 1], [83149, 1], [83148, 1], [83147, 1], [83146, 1], [83145, 1], [83144, 1], [83143, 1], [83142, 1], [83141, 1], [83140, 1], [83139, 1], [83138, 1], [83137, 1], [83136, 1], [83135, 1], [83134, 1], [83133, 1], [83132, 1], [83131, 1], [83130, 1], [83129, 1], [83128, 1], [83127, 1], [83126, 1], [83125, 1], [83124, 1], [83123, 1], [83122, 1], [83121, 1], [83120, 1], [83119, 1], [83118, 1], [83117, 1], [83116, 1], [83115, 1], [83114, 1], [83113, 1], [83112, 1], [83111, 1], [83110, 1], [83109, 1], [83108, 1], [83107, 1], [83106, 1], [83105, 1], [83104, 1], [83103, 1], [83102, 1], [83101, 1], [83100, 1], [83099, 1], [83098, 1], [83097, 1], [83096, 1], [83095, 1], [83094, 1], [83093, 1], [83092, 1], [83091, 1], [83090, 1], [83089, 1], [83088, 1], [83087, 1], [83086, 1], [83085, 1], [83084, 1], [83083, 1], [83082, 1], [83081, 1], [83080, 1], [83079, 1], [83078, 1], [83077, 1], [83076, 1], [83075, 1], [83074, 1], [83073, 1], [83072, 1], [83071, 1], [83070, 1], [83069, 1], [83068, 1], [83067, 1], [83066, 1], [83065, 1], [83064, 1], [83063, 1], [83062, 1], [83061, 1], [83060, 1], [83059, 1], [83058, 1], [83057, 1], [83056, 1], [83055, 1], [83054, 1], [83053, 1], [83052, 1], [83051, 1], [83050, 1], [83049, 1], [83048, 1], [83047, 1], [83046, 1], [83045, 1], [83044, 1], [83043, 1], [83042, 1], [83041, 1], [83040, 1], [83039, 1], [83038, 1], [83037, 1], [83036, 1], [83035, 1], [83034, 1], [83033, 1], [83032, 1], [83031, 1], [83030, 1], [83029, 1], [83028, 1], [83027, 1], [83026, 1], [83025, 1], [83024, 1], [83023, 1], [83022, 1], [83021, 1], [83020, 1], [83019, 1], [83018, 1], [83017, 1], [83016, 1], [83015, 1], [83014, 1], [83013, 1], [83012, 1], [83011, 1], [83010, 1], [83009, 1], [83008, 1], [83007, 1], [83006, 1], [83005, 1], [83004, 1], [83003, 1], [83002, 1], [83001, 1], [83000, 1], [82999, 1], [82998, 1], [82997, 1], [82996, 1], [82995, 1], [82994, 1], [82993, 1], [82992, 1], [82991, 1], [82990, 1], [82989, 1], [82988, 1], [82987, 1], [82986, 1], [82985, 1], [82984, 1], [82983, 1], [82982, 1], [82981, 1], [82980, 1], [82979, 1], [82978, 1], [82977, 1], [82976, 1], [82975, 1], [82974, 1], [82973, 1], [82972, 1], [82971, 1], [82970, 1], [82969, 1], [82968, 1], [82967, 1], [82966, 1], [82965, 1], [82964, 1], [82963, 1], [82962, 1], [82961, 1], [82960, 1], [82959, 1], [82958, 1], [82957, 1], [82956, 1], [82955, 1], [82954, 1], [82953, 1], [82952, 1], [82951, 1], [82950, 1], [82949, 1], [82948, 1], [82947, 1], [82946, 1], [82945, 1], [82944, 1], [82943, 1], [82942, 1], [82941, 1], [82940, 1], [82939, 1], [82938, 1], [82937, 1], [82936, 1], [82935, 1], [82934, 1], [82933, 1], [82932, 1], [82931, 1], [82930, 1], [82929, 1], [82928, 1], [82927, 1], [82926, 1], [82925, 1], [82924, 1], [82923, 1], [82922, 1], [82921, 1], [82920, 1], [82919, 1], [82918, 1], [82917, 1], [82916, 1], [82915, 1], [82914, 1], [82913, 1], [82912, 1], [82911, 1], [82910, 1], [82909, 1], [82908, 1], [82907, 1], [82906, 1], [82905, 1], [82904, 1], [82903, 1], [82902, 1], [82901, 1], [82900, 1], [82899, 1], [82898, 1], [82897, 1], [82896, 1], [82895, 1], [82894, 1], [82893, 1], [82892, 1], [82891, 1], [82890, 1], [82889, 1], [82888, 1], [82887, 1], [82886, 1], [82885, 1], [82884, 1], [82883, 1], [82882, 1], [82881, 1], [82880, 1], [82879, 1], [82878, 1], [82877, 1], [82876, 1], [82875, 1], [82874, 1], [82873, 1], [82872, 1], [82871, 1], [82870, 1], [82869, 1], [82868, 1], [82867, 1], [82866, 1], [82865, 1], [82864, 1], [82863, 1], [82862, 1], [82861, 1], [82860, 1], [82859, 1], [82858, 1], [82857, 1], [82856, 1], [82855, 1], [82854, 1], [82853, 1], [82852, 1], [82851, 1], [82850, 1], [82849, 1], [82848, 1], [82847, 1], [82846, 1], [82845, 1], [82844, 1], [82843, 1], [82842, 1], [82841, 1], [82840, 1], [82839, 1], [82838, 1], [82837, 1], [82836, 1], [82835, 1], [82834, 1], [82833, 1], [82832, 1], [82831, 1], [82830, 1], [82829, 1], [82828, 1], [82827, 1], [82826, 1], [82825, 1], [82824, 1], [82823, 1], [82822, 1], [82821, 1], [82820, 1], [82819, 1], [82818, 1], [82817, 1], [82816, 1], [82815, 1], [82814, 1], [82813, 1], [82812, 1], [82811, 1], [82810, 1], [82809, 1], [82808, 1], [82807, 1], [82806, 1], [82805, 1], [82804, 1], [82803, 1], [82802, 1], [82801, 1], [82800, 1], [82799, 1], [82798, 1], [82797, 1], [82796, 1], [82795, 1], [82794, 1], [82793, 1], [82792, 1], [82791, 1], [82790, 1], [82789, 1], [82788, 1], [82787, 1], [82786, 1], [82785, 1], [82784, 1], [82783, 1], [82782, 1], [82781, 1], [82780, 1], [82779, 1], [82778, 1], [82777, 1], [82776, 1], [82775, 1], [82774, 1], [82773, 1], [82772, 1], [82771, 1], [82770, 1], [82769, 1], [82768, 1], [82767, 1], [82766, 1], [82765, 1], [82764, 1], [82763, 1], [82762, 1], [82761, 1], [82760, 1], [82759, 1], [82758, 1], [82757, 1], [82756, 1], [82755, 1], [82754, 1], [82753, 1], [82752, 1], [82751, 1], [82750, 1], [82749, 1], [82748, 1], [82747, 1], [82746, 1], [82745, 1], [82744, 1], [82743, 1], [82742, 1], [82741, 1], [82740, 1], [82739, 1], [82738, 1], [82737, 1], [82736, 1], [82735, 1], [82734, 1], [82733, 1], [82732, 1], [82731, 1], [82730, 1], [82729, 1], [82728, 1], [82727, 1], [82726, 1], [82725, 1], [82724, 1], [82723, 1], [82722, 1], [82721, 1], [82720, 1], [82719, 1], [82718, 1], [82717, 1], [82716, 1], [82715, 1], [82714, 1], [82713, 1], [82712, 1], [82711, 1], [82710, 1], [82709, 1], [82708, 1], [82707, 1], [82706, 1], [82705, 1], [82704, 1], [82703, 1], [82702, 1], [82701, 1], [82700, 1], [82699, 1], [82698, 1], [82697, 1], [82696, 1], [82695, 1], [82694, 1], [82693, 1], [82692, 1], [82691, 1], [82690, 1], [82689, 1], [82688, 1], [82687, 1], [82686, 1], [82685, 1], [82684, 1], [82683, 1], [82682, 1], [82681, 1], [82680, 1], [82679, 1], [82678, 1], [82677, 1], [82676, 1], [82675, 1], [82674, 1], [82673, 1], [82672, 1], [82671, 1], [82670, 1], [82669, 1], [82668, 1], [82667, 1], [82666, 1], [82665, 1], [82664, 1], [82663, 1], [82662, 1], [82661, 1], [82660, 1], [82659, 1], [82658, 1], [82657, 1], [82656, 1], [82655, 1], [82654, 1], [82653, 1], [82652, 1], [82651, 1], [82650, 1], [82649, 1], [82648, 1], [82647, 1], [82646, 1], [82645, 1], [82644, 1], [82643, 1], [82642, 1], [82641, 1], [82640, 1], [82639, 1], [82638, 1], [82637, 1], [82636, 1], [82635, 1], [82634, 1], [82633, 1], [82632, 1], [82631, 1], [82630, 1], [82629, 1], [82628, 1], [82627, 1], [82626, 1], [82625, 1], [82624, 1], [82623, 1], [82622, 1], [82621, 1], [82620, 1], [82619, 1], [82618, 1], [82617, 1], [82616, 1], [82615, 1], [82614, 1], [82613, 1], [82612, 1], [82611, 1], [82610, 1], [82609, 1], [82608, 1], [82607, 1], [82606, 1], [82605, 1], [82604, 1], [82603, 1], [82602, 1], [82601, 1], [82600, 1], [82599, 1], [82598, 1], [82597, 1], [82596, 1], [82595, 1], [82594, 1], [82593, 1], [82592, 1], [82591, 1], [82590, 1], [82589, 1], [82588, 1], [82587, 1], [82586, 1], [82585, 1], [82584, 1], [82583, 1], [82582, 1], [82581, 1], [82580, 1], [82579, 1], [82578, 1], [82577, 1], [82576, 1], [82575, 1], [82574, 1], [82573, 1], [82572, 1], [82571, 1], [82570, 1], [82569, 1], [82568, 1], [82567, 1], [82566, 1], [82565, 1], [82564, 1], [82563, 1], [82562, 1], [82561, 1], [82560, 1], [82559, 1], [82558, 1], [82557, 1], [82556, 1], [82555, 1], [82554, 1], [82553, 1], [82552, 1], [82551, 1], [82550, 1], [82549, 1], [82548, 1], [82547, 1], [82546, 1], [82545, 1], [82544, 1], [82543, 1], [82542, 1], [82541, 1], [82540, 1], [82539, 1], [82538, 1], [82537, 1], [82536, 1], [82535, 1], [82534, 1], [82533, 1], [82532, 1], [82531, 1], [82530, 1], [82529, 1], [82528, 1], [82527, 1], [82526, 1], [82525, 1], [82524, 1], [82523, 1], [82522, 1], [82521, 1], [82520, 1], [82519, 1], [82518, 1], [82517, 1], [82516, 1], [82515, 1], [82514, 1], [82513, 1], [82512, 1], [82511, 1], [82510, 1], [82509, 1], [82508, 1], [82507, 1], [82506, 1], [82505, 1], [82504, 1], [82503, 1], [82502, 1], [82501, 1], [82500, 1], [82499, 1], [82498, 1], [82497, 1], [82496, 1], [82495, 1], [82494, 1], [82493, 1], [82492, 1], [82491, 1], [82490, 1], [82489, 1], [82488, 1], [82487, 1], [82486, 1], [82485, 1], [82484, 1], [82483, 1], [82482, 1], [82481, 1], [82480, 1], [82479, 1], [82478, 1], [82477, 1], [82476, 1], [82475, 1], [82474, 1], [82473, 1], [82472, 1], [82471, 1], [82470, 1], [82469, 1], [82468, 1], [82467, 1], [82466, 1], [82465, 1], [82464, 1], [82463, 1], [82462, 1], [82461, 1], [82460, 1], [82459, 1], [82458, 1], [82457, 1], [82456, 1], [82455, 1], [82454, 1], [82453, 1], [82452, 1], [82451, 1], [82450, 1], [82449, 1], [82448, 1], [82447, 1], [82446, 1], [82445, 1], [82444, 1], [82443, 1], [82442, 1], [82441, 1], [82440, 1], [82439, 1], [82438, 1], [82437, 1], [82436, 1], [82435, 1], [82434, 1], [82433, 1], [82432, 1], [82431, 1], [82430, 1], [82429, 1], [82428, 1], [82427, 1], [82426, 1], [82425, 1], [82424, 1], [82423, 1], [82422, 1], [82421, 1], [82420, 1], [82419, 1], [82418, 1], [82417, 1], [82416, 1], [82415, 1], [82414, 1], [82413, 1], [82412, 1], [82411, 1], [82410, 1], [82409, 1], [82408, 1], [82407, 1], [82406, 1], [82405, 1], [82404, 1], [82403, 1], [82402, 1], [82401, 1], [82400, 1], [82399, 1], [82398, 1], [82397, 1], [82396, 1], [82395, 1], [82394, 1], [82393, 1], [82392, 1], [82391, 1], [82390, 1], [82389, 1], [74572, 0, " "], [74573, 0, "T"], [74574, 0, "h"], [74575, 0, "e"], [74576, 0, " "], [74577, 0, "c"], [74578, 0, "a"], [74579, 0, "u"], [74580, 0, "s"], [74581, 0, "a"], [74582, 0, "l"], [74583, 0, "i"], [74584, 0, "t"], [74585, 0, "y"], [74586, 0, " "], [74587, 0, "i"], [74588, 0, "n"], [74589, 0, "v"], [74590, 0, "a"], [74591, 0, "r"], [74592, 0, "i"], [74593, 0, "a"], [74594, 0, "n"], [74595, 0, "t"], [74596, 0, " "], [74597, 0, "i"], [74598, 0, "s"], [74599, 0, " "], [74600, 0, "m"], [74601, 0, "a"], [74602, 0, "i"], [74603, 0, "n"], [74604, 0, "t"], [74605, 0, "a"], [74606, 0, "i"], [74607, 0, "n"], [74608, 0, "e"], [74609, 0, "d"], [74610, 0, " "], [74611, 0, "b"], [74612, 0, "y"], [74613, 0, " "], [74614, 0, "t"], [74615, 0, "h"], [74616, 0, "e"], [74617, 0, " "], [74618, 0, "\\"], [74619, 0, "t"], [74620, 0, "e"], [74621, 0, "x"], [74622, 0, "t"], [74623, 0, "s"], [74624, 0, "c"], [74625, 0, "{"], [74626, 0, "A"], [74627, 0, "p"], [74628, 0, "p"], [74629, 0, "l"], [74630, 0, "y"], [74631, 0, "-"], [74632, 0, "*"], [74633, 0, "}"], [74634, 0, " "], [74635, 0, "r"], [74636, 0, "u"], [74637, 0, "l"], [74638, 0, "e"], [74639, 0, "s"], [74640, 0, "."], [76700, 0, "\n"], [76701, 0, "\n"], [76702, 0, "B"], [76703, 0, "e"], [76704, 0, "f"], [76705, 0, "o"], [76706, 0, "r"], [76707, 0, "e"], [76708, 0, " "], [76709, 0, "w"], [76710, 0, "e"], [76711, 0, " "], [76712, 0, "c"], [76713, 0, "a"], [76714, 0, "n"], [76715, 0, " "], [76716, 0, "p"], [76717, 0, "r"], [76718, 0, "o"], [76719, 0, "v"], [76720, 0, "e"], [76721, 0, " "], [76722, 0, "t"], [76723, 0, "h"], [76724, 0, "e"], [76725, 0, " "], [76726, 0, "c"], [76727, 0, "o"], [76728, 0, "m"], [76729, 0, "m"], [76730, 0, "u"], [76731, 0, "t"], [76732, 0, "a"], [76733, 0, "t"], [76734, 0, "i"], [76735, 0, "v"], [76736, 0, "i"], [76737, 0, "t"], [76738, 0, "y"], [76739, 0, " "], [76740, 0, "o"], [76741, 0, "f"], [76742, 0, " "], [76743, 0, "i"], [76744, 0, "n"], [76745, 0, "s"], [76746, 0, "e"], [76747, 0, "r"], [76748, 0, "t"], [76749, 0, "i"], [76750, 0, "o"], [76751, 0, "n"], [76752, 0, ","], [76753, 0, " "], [76754, 0, "d"], [76755, 0, "e"], [76756, 0, "l"], [76757, 0, "e"], [76758, 0, "t"], [76759, 0, "i"], [76760, 0, "o"], [76761, 0, "n"], [76762, 0, " "], [76763, 0, "a"], [76764, 0, "n"], [76765, 0, "d"], [76766, 0, " "], [76767, 0, "a"], [76768, 0, "s"], [76769, 0, "s"], [76770, 0, "i"], [76771, 0, "g"], [76772, 0, "n"], [76773, 0, "m"], [76774, 0, "e"], [76775, 0, "n"], [76776, 0, "t"], [76777, 0, ","], [76778, 0, " "], [76779, 0, "w"], [76780, 0, "e"], [76781, 0, " "], [76782, 0, "m"], [76783, 0, "u"], [76784, 0, "s"], [76785, 0, "t"], [76786, 0, " "], [76787, 0, "f"], [76788, 0, "i"], [76789, 0, "r"], [76790, 0, "s"], [76791, 0, "t"], [76792, 0, " "], [76793, 0, "p"], [76794, 0, "r"], [76795, 0, "o"], [76796, 0, "v"], [76797, 0, "e"], [76798, 0, " "], [76799, 0, "s"], [76800, 0, "o"], [76801, 0, "m"], [76802, 0, "e"], [76803, 0, " "], [76804, 0, "p"], [76805, 0, "r"], [76806, 0, "e"], [76807, 0, "l"], [76808, 0, "i"], [76809, 0, "m"], [76810, 0, "i"], [76811, 0, "n"], [76812, 0, "a"], [76813, 0, "r"], [76814, 0, "y"], [76815, 0, " "], [76816, 0, "l"], [76817, 0, "e"], [76818, 0, "m"], [76819, 0, "m"], [76820, 0, "a"], [76821, 0, "s"], [76822, 0, "."], [76792, 0, " "], [76793, 0, "d"], [76794, 0, "e"], [76795, 0, "f"], [76796, 0, "i"], [76797, 0, "n"], [76798, 0, "e"], [76799, 0, " "], [76800, 0, "s"], [76801, 0, "o"], [76802, 0, "m"], [76803, 0, "e"], [76804, 0, " "], [76805, 0, "m"], [76806, 0, "o"], [76807, 0, "r"], [76808, 0, "e"], [76809, 0, " "], [76810, 0, "t"], [76811, 0, "e"], [76812, 0, "r"], [76813, 0, "m"], [76814, 0, "s"], [76815, 0, " "], [76816, 0, "a"], [76817, 0, "n"], [76818, 0, "d"], [73117, 0, " "], [73118, 0, "M"], [73119, 0, "o"], [73120, 0, "r"], [73121, 0, "e"], [73122, 0, "o"], [73123, 0, "v"], [73124, 0, "e"], [73125, 0, "r"], [73126, 0, ","], [73127, 0, " "], [73128, 0, "g"], [73129, 0, "a"], [73130, 0, "r"], [73131, 0, "b"], [73132, 0, "a"], [73133, 0, "g"], [73134, 0, "e"], [73135, 0, " "], [73136, 0, "c"], [73137, 0, "o"], [73138, 0, "l"], [73139, 0, "l"], [73140, 0, "e"], [73141, 0, "c"], [73142, 0, "t"], [73143, 0, "i"], [73144, 0, "o"], [73145, 0, "n"], [73146, 0, " "], [73147, 0, "("], [73148, 0, "t"], [73149, 0, "o"], [73150, 0, "m"], [73151, 0, "b"], [73152, 0, "s"], [73153, 0, "t"], [73154, 0, "o"], [73155, 0, "n"], [73156, 0, "e"], [73157, 0, " "], [73158, 0, "r"], [73159, 0, "e"], [73160, 0, "m"], [73161, 0, "o"], [73162, 0, "v"], [73163, 0, "a"], [73164, 0, "l"], [73165, 0, ")"], [73166, 0, " "], [73167, 0, "i"], [73168, 0, "s"], [73169, 0, " "], [73170, 0, "r"], [73171, 0, "e"], [73172, 0, "q"], [73173, 0, "u"], [73174, 0, "i"], [73175, 0, "r"], [73176, 0, "e"], [73177, 0, "d"], [73178, 0, " "], [73179, 0, "i"], [73180, 0, "n"], [73181, 0, " "], [73182, 0, "o"], [73183, 0, "r"], [73184, 0, "d"], [73185, 0, "e"], [73186, 0, "r"], [73187, 0, " "], [73188, 0, "t"], [73189, 0, "o"], [73190, 0, " "], [73191, 0, "p"], [73192, 0, "r"], [73193, 0, "e"], [73194, 0, "v"], [73195, 0, "e"], [73196, 0, "n"], [73197, 0, "t"], [73198, 0, " "], [73199, 0, "u"], [73200, 0, "n"], [73201, 0, "b"], [73202, 0, "o"], [73203, 0, "u"], [73204, 0, "n"], [73205, 0, "d"], [73206, 0, "e"], [73207, 0, "d"], [73208, 0, " "], [73209, 0, "g"], [73210, 0, "r"], [73211, 0, "o"], [73212, 0, "w"], [73213, 0, "t"], [73214, 0, "h"], [73215, 0, " "], [73216, 0, "o"], [73217, 0, "f"], [73218, 0, " "], [73219, 0, "t"], [73220, 0, "h"], [73221, 0, "e"], [73222, 0, " "], [73223, 0, "d"], [73224, 0, "a"], [73225, 0, "t"], [73226, 0, "a"], [73227, 0, "s"], [73228, 0, "t"], [73229, 0, "r"], [73230, 0, "u"], [73231, 0, "c"], [73232, 0, "t"], [73233, 0, "u"], [73234, 0, "r"], [73235, 0, "e"], [73236, 0, "."], [2143, 0, "i"], [2144, 0, ","], [2145, 0, " "], [2145, 1], [2144, 1], [2143, 1], [2143, 0, ","], [2144, 0, " "], [2145, 0, "o"], [2146, 0, "n"], [2147, 0, " "], [2148, 0, "m"], [2149, 0, "o"], [2150, 0, "b"], [2151, 0, "i"], [2152, 0, "l"], [2153, 0, "e"], [2154, 0, " "], [2155, 0, "s"], [2156, 0, "y"], [2157, 0, "s"], [2158, 0, "t"], [2159, 0, "e"], [2160, 0, "m"], [2161, 0, "s"], [2162, 0, " "], [2163, 0, "w"], [2164, 0, "h"], [2165, 0, "i"], [2166, 0, "c"], [2167, 0, "h"], [2168, 0, " "], [2169, 0, "s"], [2170, 0, "u"], [2171, 0, "u"], [2171, 1], [2171, 0, "f"], [2172, 0, "f"], [2173, 0, "e"], [2174, 0, "r"], [2175, 0, " "], [2176, 0, "f"], [2177, 0, "r"], [2178, 0, "o"], [2179, 0, "m"], [2180, 0, " "], [2181, 0, "p"], [2182, 0, "e"], [2183, 0, "r"], [2184, 0, "i"], [2185, 0, "o"], [2186, 0, "d"], [2187, 0, "s"], [2188, 0, " "], [2189, 0, "o"], [2190, 0, "f"], [2191, 0, " "], [2192, 0, "d"], [2193, 0, "i"], [2194, 0, "s"], [2195, 0, "c"], [2196, 0, "o"], [2197, 0, "n"], [2198, 0, "n"], [2199, 0, "e"], [2200, 0, "c"], [2201, 0, "t"], [2202, 0, "i"], [2203, 0, "v"], [2204, 0, "i"], [2205, 0, "t"], [2206, 0, "y"], [2207, 0, ","], [2161, 1], [2160, 1], [2159, 1], [2158, 1], [2157, 1], [2156, 1], [2155, 1], [2155, 0, "d"], [2156, 0, "e"], [2157, 0, "v"], [2158, 0, "i"], [2159, 0, "c"], [2160, 0, "e"], [2161, 0, "s"], [2145, 0, "d"], [2146, 0, "w"], [2147, 0, "d"], [2210, 1], [2209, 1], [2208, 1], [2207, 1], [2206, 1], [2205, 1], [2204, 1], [2203, 1], [2202, 1], [2201, 1], [2200, 1], [2199, 1], [2198, 1], [2197, 1], [2196, 1], [2195, 1], [2194, 1], [2193, 1], [2192, 1], [2191, 1], [2190, 1], [2189, 1], [2188, 1], [2187, 1], [2186, 1], [2185, 1], [2184, 1], [2183, 1], [2182, 1], [2181, 1], [2180, 1], [2179, 1], [2178, 1], [2177, 1], [2176, 1], [2175, 1], [2174, 1], [2173, 1], [2172, 1], [2171, 1], [2170, 1], [2169, 1], [2168, 1], [2167, 1], [2166, 1], [2165, 1], [2164, 1], [2163, 1], [2162, 1], [2161, 1], [2160, 1], [2159, 1], [2158, 1], [2157, 1], [2156, 1], [2155, 1], [2154, 1], [2153, 1], [2152, 1], [2151, 1], [2150, 1], [2149, 1], [2148, 1], [2147, 1], [2146, 1], [2145, 1], [2144, 1], [2197, 0, "i"], [2197, 1], [2197, 0, " "], [2198, 0, "M"], [2199, 0, "e"], [2200, 0, "r"], [2201, 0, "g"], [2202, 0, "i"], [2203, 0, "n"], [2204, 0, "g"], [2205, 0, " "], [2205, 1], [2204, 1], [2203, 1], [2202, 1], [2201, 1], [2200, 1], [2199, 1], [2198, 1], [2198, 0, "T"], [2199, 0, "h"], [2200, 0, "e"], [2201, 0, " "], [2202, 0, "m"], [2203, 0, "e"], [2204, 0, "r"], [2205, 0, "g"], [2206, 0, "i"], [2207, 0, "n"], [2208, 0, "g"], [2208, 1], [2207, 1], [2206, 1], [2205, 1], [2204, 1], [2203, 1], [2202, 1], [2201, 1], [2200, 1], [2199, 1], [2198, 1], [2198, 0, "O"], [2199, 0, "u"], [2200, 0, "r"], [2201, 0, " "], [2202, 0, "s"], [2203, 0, "o"], [2204, 0, "l"], [2205, 0, "u"], [2206, 0, "t"], [2207, 0, "i"], [2208, 0, "o"], [2209, 0, "n"], [2210, 0, " "], [2211, 0, "i"], [2212, 0, "s"], [2213, 0, " "], [2214, 0, "p"], [2215, 0, "a"], [2216, 0, "r"], [2217, 0, "t"], [2218, 0, "i"], [2219, 0, "c"], [2220, 0, "u"], [2221, 0, "l"], [2222, 0, "a"], [2223, 0, "r"], [2224, 0, "l"], [2225, 0, "y"], [2226, 0, " "], [2226, 1], [2225, 1], [2224, 1], [2223, 1], [2222, 1], [2221, 1], [2220, 1], [2219, 1], [2218, 1], [2217, 1], [2216, 1], [2215, 1], [2214, 1], [2213, 1], [2212, 1], [2211, 1], [2210, 1], [2209, 1], [2208, 1], [2207, 1], [2206, 1], [2205, 1], [2204, 1], [2203, 1], [2202, 1], [2201, 1], [2200, 1], [2199, 1], [2198, 1], [2197, 1], [2197, 0, "\n"], [2198, 0, "%"], [2199, 0, "T"], [2200, 0, "O"], [2201, 0, "D"], [2202, 0, "O"], [2203, 0, " "], [2204, 0, "m"], [2205, 0, "e"], [2206, 0, "n"], [2207, 0, "t"], [2208, 0, "i"], [2209, 0, "o"], [2210, 0, "n"], [2211, 0, " "], [2212, 0, "h"], [2213, 0, "e"], [2214, 0, "r"], [2215, 0, "e"], [2216, 0, " "], [2217, 0, "s"], [2218, 0, "o"], [2219, 0, "m"], [2219, 1], [2218, 1], [2217, 1], [2217, 0, "t"], [2218, 0, "h"], [2219, 0, "a"], [2220, 0, "t"], [2221, 0, " "], [2222, 0, "w"], [2223, 0, "e"], [2224, 0, " "], [2225, 0, "s"], [2226, 0, "h"], [2227, 0, "o"], [2228, 0, "u"], [2229, 0, "l"], [2230, 0, "d"], [2231, 0, " "], [2232, 0, "s"], [2233, 0, "u"], [2234, 0, "p"], [2235, 0, "p"], [2236, 0, "o"], [2237, 0, "r"], [2238, 0, "t"], [2239, 0, " "], [2239, 1], [2238, 1], [2237, 1], [2236, 1], [2235, 1], [2234, 1], [2233, 1], [2232, 1], [2231, 1], [2230, 1], [2229, 1], [2228, 1], [2227, 1], [2226, 1], [2225, 1], [2224, 1], [2223, 1], [2222, 1], [2222, 0, "t"], [2223, 0, "h"], [2224, 0, "i"], [2225, 0, "s"], [2226, 0, " "], [2227, 0, "i"], [2228, 0, "s"], [2229, 0, " "], [2230, 0, "p"], [2231, 0, "a"], [2232, 0, "r"], [2233, 0, "t"], [2234, 0, "i"], [2235, 0, "c"], [2236, 0, "u"], [2237, 0, "l"], [2238, 0, "a"], [2239, 0, "r"], [2240, 0, "l"], [2241, 0, "y"], [2242, 0, " "], [2243, 0, "u"], [2244, 0, "s"], [2245, 0, "e"], [2246, 0, "f"], [2247, 0, "u"], [2248, 0, "l"], [2249, 0, " "], [2250, 0, "f"], [2251, 0, "o"], [2252, 0, "r"], [2253, 0, " "], [2254, 0, "m"], [2255, 0, "o"], [2256, 0, "b"], [2257, 0, "i"], [2258, 0, "l"], [2259, 0, "e"], [2260, 0, " "], [2261, 0, "s"], [2262, 0, "y"], [2263, 0, "s"], [2264, 0, "t"], [2265, 0, "e"], [2266, 0, "m"], [2267, 0, "s"], [2268, 0, " "], [2269, 0, "w"], [2270, 0, "i"], [2271, 0, "c"], [2272, 0, "h"], [2273, 0, " "], [2273, 1], [2272, 1], [2271, 1], [2270, 1], [2270, 0, "h"], [2271, 0, "i"], [2272, 0, "c"], [2273, 0, "h"], [2274, 0, " "], [2275, 0, "a"], [2276, 0, "l"], [2277, 0, "s"], [2278, 0, "o"], [2279, 0, " "], [2280, 0, "s"], [2280, 1], [2279, 1], [2278, 1], [2277, 1], [2276, 1], [2275, 1], [2275, 0, "s"], [2276, 0, "u"], [2277, 0, "p"], [2278, 0, "p"], [2278, 1], [2277, 1], [2277, 0, "f"], [2278, 0, "f"], [2279, 0, "e"], [2280, 0, "r"], [2281, 0, " "], [2282, 0, "p"], [2283, 0, "e"], [2284, 0, "r"], [2285, 0, "i"], [2286, 0, "o"], [2287, 0, "d"], [2288, 0, "s"], [2289, 0, " "], [2290, 0, "o"], [2291, 0, "f"], [2292, 0, " "], [2293, 0, "d"], [2294, 0, "i"], [2295, 0, "s"], [2296, 0, "c"], [2297, 0, "o"], [2298, 0, "n"], [2299, 0, "n"], [2300, 0, "e"], [2301, 0, "t"], [2301, 1], [2301, 0, "c"], [2302, 0, "t"], [2303, 0, "i"], [2304, 0, "v"], [2305, 0, "i"], [2306, 0, "t"], [2307, 0, "y"], [2308, 0, " "], [2309, 0, "a"], [2310, 0, "n"], [2311, 0, "d"], [2312, 0, " "], [2313, 0, "a"], [2314, 0, "l"], [2315, 0, "s"], [2316, 0, "o"], [2317, 0, " "], [2318, 0, "u"], [2319, 0, "s"], [2320, 0, "e"], [2321, 0, " "], [2322, 0, "m"], [2323, 0, "u"], [2324, 0, "l"], [2325, 0, "t"], [2326, 0, "i"], [2327, 0, "p"], [2328, 0, "l"], [2329, 0, "e"], [2330, 0, " "], [2331, 0, "i"], [2332, 0, "n"], [2333, 0, "t"], [2334, 0, "e"], [2335, 0, "r"], [2336, 0, "f"], [2337, 0, "a"], [2338, 0, "c"], [2339, 0, "e"], [2340, 0, "s"], [2341, 0, " "], [2342, 0, "("], [2343, 0, "w"], [2344, 0, "h"], [2345, 0, "i"], [2346, 0, "c"], [2347, 0, "h"], [2348, 0, " "], [2349, 0, "m"], [2350, 0, "e"], [2351, 0, "s"], [2352, 0, "s"], [2353, 0, "e"], [2354, 0, "s"], [2355, 0, "s"], [2356, 0, " "], [2357, 0, "w"], [2357, 1], [2356, 1], [2355, 1], [2354, 1], [2354, 0, " "], [2354, 1], [2354, 0, "s"], [2355, 0, " "], [2356, 0, "w"], [2357, 0, "i"], [2358, 0, "t"], [2359, 0, "h"], [2360, 0, " "], [2361, 0, "o"], [2362, 0, "r"], [2363, 0, "d"], [2364, 0, "e"], [2365, 0, "r"], [2366, 0, "i"], [2367, 0, "n"], [2368, 0, "g"], [2369, 0, ")"], [2370, 0, "?"], [2683, 0, "i"], [2684, 0, "c"], [2685, 0, "o"], [2685, 1], [2684, 1], [2683, 1], [2683, 0, "c"], [2684, 0, "o"], [2685, 0, "l"], [2686, 0, "l"], [2687, 0, "a"], [2688, 0, "b"], [2689, 0, "o"], [2690, 0, "r"], [2691, 0, "a"], [2692, 0, "t"], [2693, 0, "i"], [2694, 0, "v"], [2695, 0, "e"], [2696, 0, " "], [2695, 1], [2694, 1], [2693, 1], [2692, 1], [2691, 1], [2690, 1], [2689, 1], [2688, 1], [2687, 1], [2686, 1], [2685, 1], [2684, 1], [2683, 1], [2682, 1], [3040, 0, "i"], [3040, 1], [3040, 0, " "], [3041, 0, "w"], [3042, 0, "i"], [3043, 0, "t"], [3044, 0, "h"], [3045, 0, " "], [3046, 0, "t"], [3047, 0, "h"], [3048, 0, "e"], [3049, 0, "s"], [3050, 0, "e"], [3051, 0, " "], [3052, 0, "a"], [3053, 0, "p"], [3054, 0, "p"], [3055, 0, "l"], [3056, 0, "i"], [3057, 0, "c"], [3058, 0, "a"], [3059, 0, "t"], [3060, 0, "i"], [3061, 0, "o"], [3062, 0, "n"], [3063, 0, "s"], [3064, 0, " "], [3065, 0, "a"], [3066, 0, "s"], [3067, 0, " "], [3068, 0, "w"], [3069, 0, "e"], [3070, 0, "l"], [3071, 0, "l"], [3072, 0, " "], [3073, 0, "a"], [3074, 0, "s"], [3074, 1], [3073, 1], [3072, 1], [3071, 1], [3070, 1], [3069, 1], [3068, 1], [3067, 1], [3066, 1], [3065, 1], [3064, 1], [3063, 1], [3062, 1], [3061, 1], [3060, 1], [3059, 1], [3058, 1], [3057, 1], [3056, 1], [3055, 1], [3054, 1], [3053, 1], [3052, 1], [3051, 1], [3050, 1], [3049, 1], [3048, 1], [3047, 1], [3046, 1], [3045, 1], [3044, 1], [3043, 1], [3042, 1], [3041, 1], [3040, 1], [3128, 0, "\n"], [3128, 0, "T"], [3129, 0, "O"], [3130, 0, "D"], [3131, 0, "O"], [3128, 0, "%"], [3133, 0, " "], [3134, 0, "T"], [3135, 0, "h"], [3136, 0, "i"], [3137, 0, "s"], [3138, 0, " "], [3139, 0, "s"], [3140, 0, "e"], [3141, 0, "e"], [3142, 0, "m"], [3143, 0, "s"], [3144, 0, " "], [3145, 0, "l"], [3146, 0, "i"], [3147, 0, "k"], [3148, 0, "e"], [3149, 0, " "], [3150, 0, "a"], [3151, 0, " "], [3152, 0, "c"], [3152, 1], [3152, 0, "f"], [3153, 0, "a"], [3154, 0, "l"], [3155, 0, "s"], [3156, 0, "e"], [3157, 0, " "], [3158, 0, "d"], [3159, 0, "i"], [3160, 0, "c"], [3161, 0, "o"], [3161, 1], [3161, 0, "h"], [3162, 0, "o"], [3163, 0, "t"], [3164, 0, "o"], [3165, 0, "m"], [3166, 0, "y"], [3167, 0, " "], [3168, 0, "t"], [3169, 0, "o"], [3170, 0, " "], [3171, 0, "m"], [3172, 0, "e"], [3173, 0, ":"], [3174, 0, " "], [3175, 0, "s"], [3176, 0, "o"], [3177, 0, "m"], [3178, 0, "e"], [3179, 0, " "], [3180, 0, "t"], [3181, 0, "e"], [3182, 0, "x"], [3183, 0, "t"], [3184, 0, " "], [3185, 0, "d"], [3186, 0, "o"], [3187, 0, "c"], [3188, 0, "u"], [3189, 0, "m"], [3190, 0, "e"], [3191, 0, "n"], [3192, 0, "t"], [3193, 0, "s"], [3194, 0, " "], [3195, 0, "a"], [3196, 0, "r"], [3197, 0, "e"], [3198, 0, " "], [3199, 0, "f"], [3200, 0, "o"], [3201, 0, "r"], [3202, 0, " "], [3203, 0, "a"], [3204, 0, " "], [3205, 0, "s"], [3206, 0, "i"], [3207, 0, "n"], [3208, 0, "g"], [3209, 0, "l"], [3210, 0, "e"], [3211, 0, " "], [3212, 0, "u"], [3213, 0, "s"], [3214, 0, "e"], [3215, 0, "r"], [3216, 0, " "], [3217, 0, "m"], [3218, 0, "e"], [3219, 0, "r"], [3220, 0, "g"], [3221, 0, "e"], [3222, 0, "d"], [3223, 0, " "], [3224, 0, "a"], [3225, 0, "c"], [3226, 0, "r"], [3227, 0, "o"], [3228, 0, "s"], [3229, 0, "s"], [3230, 0, " "], [3231, 0, "t"], [3232, 0, "h"], [3233, 0, "e"], [3234, 0, "r"], [3234, 1], [3234, 0, "i"], [3235, 0, "r"], [3236, 0, " "], [3237, 0, "d"], [3238, 0, "e"], [3239, 0, "v"], [3240, 0, "i"], [3241, 0, "c"], [3242, 0, "e"], [3242, 1], [3241, 1], [3240, 1], [3239, 1], [3238, 1], [3237, 1], [3236, 1], [3235, 1], [3234, 1], [3233, 1], [3232, 1], [3231, 1], [3230, 1], [3229, 1], [3228, 1], [3227, 1], [3226, 1], [3225, 1], [3224, 1], [3223, 1], [3222, 1], [3221, 1], [3220, 1], [3219, 1], [3218, 1], [3217, 1], [3216, 1], [3216, 0, ","], [3217, 0, " "], [3218, 0, "r"], [3219, 0, "e"], [3220, 0, "p"], [3221, 0, "l"], [3222, 0, "i"], [3223, 0, "c"], [3224, 0, "a"], [3225, 0, "t"], [3226, 0, "e"], [3227, 0, "d"], [3228, 0, " "], [3229, 0, "a"], [3230, 0, "c"], [3231, 0, "r"], [3232, 0, "o"], [3233, 0, "s"], [3234, 0, "s"], [3235, 0, " "], [3236, 0, "t"], [3237, 0, "h"], [3238, 0, "e"], [3239, 0, "i"], [3240, 0, "r"], [3241, 0, " "], [3242, 0, "d"], [3243, 0, "e"], [3244, 0, "v"], [3245, 0, "i"], [3246, 0, "c"], [3247, 0, "e"], [3248, 0, ","], [3249, 0, " "], [3250, 0, "y"], [3251, 0, "e"], [3252, 0, "t"], [3253, 0, " "], [3253, 1], [3252, 1], [3251, 1], [3250, 1], [3250, 0, "a"], [3251, 0, "j"], [3252, 0, "d"], [3252, 1], [3251, 1], [3251, 0, "n"], [3252, 0, "d"], [3253, 0, " "], [3254, 0, "c"], [3255, 0, "a"], [3256, 0, "l"], [3257, 0, "e"], [3258, 0, "n"], [3259, 0, "d"], [3260, 0, "a"], [3261, 0, "r"], [3262, 0, "s"], [3263, 0, " "], [3264, 0, "a"], [3265, 0, "r"], [3266, 0, "e"], [3267, 0, " "], [3268, 0, "o"], [3269, 0, "f"], [3270, 0, "t"], [3271, 0, "e"], [3272, 0, "n"], [3273, 0, " "], [3274, 0, "c"], [3275, 0, "o"], [3276, 0, "l"], [3277, 0, "l"], [3278, 0, "a"], [3279, 0, "b"], [3280, 0, "o"], [3281, 0, "r"], [3282, 0, "a"], [3283, 0, "t"], [3284, 0, "i"], [3285, 0, "v"], [3286, 0, "e"], [3287, 0, "."], [3288, 0, "."], [3289, 0, "."], [3448, 0, "d"], [3449, 0, "w"], [3477, 1], [3476, 1], [3475, 1], [3474, 1], [3473, 1], [3472, 1], [3471, 1], [3470, 1], [3469, 1], [3468, 1], [3467, 1], [3466, 1], [3465, 1], [3464, 1], [3463, 1], [3462, 1], [3461, 1], [3460, 1], [3459, 1], [3458, 1], [3457, 1], [3456, 1], [3455, 1], [3454, 1], [3453, 1], [3452, 1], [3451, 1], [3450, 1], [3449, 1], [3448, 1], [3448, 0, "T"], [3496, 0, " "], [3497, 0, "s"], [3498, 0, "e"], [3499, 0, "r"], [3500, 0, "i"], [3501, 0, "a"], [3502, 0, "l"], [3503, 0, "i"], [3504, 0, "z"], [3505, 0, "a"], [3506, 0, "b"], [3507, 0, "i"], [3508, 0, "l"], [3509, 0, "i"], [3510, 0, "t"], [3511, 0, "y"], [3512, 0, ","], [3677, 1], [3676, 1], [3675, 1], [3674, 1], [3681, 0, " "], [3682, 0, "a"], [3683, 0, "v"], [3684, 0, "a"], [3685, 0, "i"], [3686, 0, "l"], [3687, 0, "a"], [3688, 0, "b"], [3689, 0, "i"], [3690, 0, "l"], [3691, 0, "i"], [3692, 0, "t"], [3693, 0, "y"], [3860, 1], [3859, 1], [3859, 0, "t"], [3860, 0, "o"], [3870, 1], [3869, 1], [3869, 0, "e"], [3869, 1], [3868, 1], [3868, 0, "e"], [3907, 1], [3906, 1], [3905, 1], [3904, 1], [3903, 1], [3902, 1], [3901, 1], [3900, 1], [3899, 1], [3916, 1], [3915, 1], [3914, 1], [3913, 1], [3913, 0, "w"], [3914, 0, "h"], [3915, 0, "e"], [3916, 0, "n"], [3918, 0, "a"], [3919, 0, " "], [3936, 1], [3935, 1], [3935, 0, "s"], [3934, 1], [4129, 0, "i"], [4129, 1], [4129, 0, " "], [4130, 0, "a"], [4131, 0, "n"], [4132, 0, "d"], [4133, 0, " "], [4134, 0, "t"], [4135, 0, "h"], [4136, 0, "e"], [4137, 0, "r"], [4138, 0, "e"], [4139, 0, "f"], [4140, 0, "o"], [4141, 0, "r"], [4142, 0, "e"], [4143, 0, " "], [4144, 0, "s"], [4145, 0, "h"], [4146, 0, "o"], [4147, 0, "u"], [4148, 0, "l"], [4149, 0, "d"], [4150, 0, " "], [4151, 0, "b"], [4152, 0, "e"], [4154, 0, "a"], [4155, 0, "v"], [4156, 0, "o"], [4157, 0, "i"], [4158, 0, "d"], [4159, 0, "e"], [4160, 0, "d"], [4161, 0, " "], [4162, 0, "w"], [4163, 0, "h"], [4164, 0, "e"], [4165, 0, "v"], [4165, 1], [4165, 0, "n"], [4166, 0, "e"], [4167, 0, "v"], [4168, 0, "e"], [4169, 0, "r"], [4170, 0, " "], [4171, 0, "p"], [4172, 0, "o"], [4173, 0, "s"], [4174, 0, "s"], [4175, 0, "i"], [4176, 0, "b"], [4177, 0, "l"], [4178, 0, "e"], [4179, 0, "."], [4180, 0, "\n"], [4240, 1], [4239, 1], [4238, 1], [4237, 1], [4236, 1], [4235, 1], [4234, 1], [4233, 1], [4232, 1], [4231, 1], [4230, 1], [4229, 1], [4228, 1], [4227, 1], [4226, 1], [4225, 1], [4224, 1], [4223, 1], [4222, 1], [4221, 1], [4220, 1], [4219, 1], [4218, 1], [4217, 1], [4216, 1], [4215, 1], [4214, 1], [4213, 1], [4212, 1], [4211, 1], [4210, 1], [4209, 1], [4208, 1], [4207, 1], [4206, 1], [4205, 1], [4204, 1], [4203, 1], [4202, 1], [4201, 1], [4200, 1], [4199, 1], [4198, 1], [4197, 1], [4196, 1], [4195, 1], [4194, 1], [4193, 1], [4192, 1], [4191, 1], [4190, 1], [4189, 1], [4188, 1], [4187, 1], [4186, 1], [4185, 1], [4184, 1], [4183, 1], [4182, 1], [4181, 1], [4180, 1], [4642, 0, "\n"], [4643, 0, "%"], [4644, 0, "T"], [4645, 0, "O"], [4646, 0, "D"], [4647, 0, "O"], [4648, 0, " "], [4649, 0, "w"], [4650, 0, "h"], [4651, 0, "i"], [4652, 0, "l"], [4653, 0, "e"], [4654, 0, " "], [4655, 0, "i"], [4656, 0, "t"], [4657, 0, " "], [4658, 0, "i"], [4659, 0, "s"], [4660, 0, " "], [4661, 0, "t"], [4662, 0, "r"], [4663, 0, "u"], [4664, 0, "e"], [4665, 0, " "], [4666, 0, "t"], [4666, 1], [4665, 1], [4664, 1], [4663, 1], [4662, 1], [4662, 0, "e"], [4663, 0, "c"], [4664, 0, "h"], [4665, 0, "n"], [4666, 0, "i"], [4667, 0, "c"], [4668, 0, "a"], [4669, 0, "l"], [4670, 0, "l"], [4671, 0, "y"], [4672, 0, " "], [4673, 0, "t"], [4674, 0, "r"], [4675, 0, "u"], [4676, 0, " "], [4676, 1], [4676, 0, "e"], [4677, 0, " "], [4678, 0, "t"], [4679, 0, "h"], [4680, 0, "a"], [4681, 0, "t"], [4682, 0, " "], [4683, 0, "w"], [4684, 0, "e"], [4685, 0, " "], [4686, 0, "a"], [4687, 0, "u"], [4688, 0, "t"], [4689, 0, "o"], [4690, 0, "m"], [4691, 0, "a"], [4692, 0, "t"], [4693, 0, "i"], [4694, 0, "c"], [4695, 0, "a"], [4696, 0, "l"], [4697, 0, "l"], [4698, 0, "y"], [4699, 0, " "], [4700, 0, "m"], [4701, 0, "e"], [4702, 0, "r"], [4703, 0, "g"], [4704, 0, "e"], [4705, 0, " "], [4706, 0, "c"], [4707, 0, "o"], [4708, 0, "n"], [4709, 0, "n"], [4710, 0, "c"], [4711, 0, "u"], [4712, 0, "r"], [4713, 0, "r"], [4714, 0, "e"], [4715, 0, "n"], [4716, 0, "t"], [4717, 0, " "], [4718, 0, "m"], [4719, 0, "o"], [4720, 0, "d"], [4721, 0, "s"], [4722, 0, ","], [4723, 0, " "], [4724, 0, "w"], [4725, 0, "e"], [4726, 0, " "], [4727, 0, "d"], [4728, 0, "o"], [4729, 0, " "], [4730, 0, "t"], [4731, 0, "h"], [4732, 0, "i"], [4733, 0, "s"], [4734, 0, " "], [4735, 0, "b"], [4736, 0, "y"], [4737, 0, " "], [4738, 0, "i"], [4739, 0, "n"], [4740, 0, "t"], [4741, 0, "r"], [4742, 0, "o"], [4743, 0, "d"], [4744, 0, "u"], [4745, 0, "c"], [4746, 0, "t"], [4746, 1], [4746, 0, "i"], [4747, 0, "n"], [4748, 0, "g"], [4749, 0, " "], [4750, 0, "m"], [4751, 0, "u"], [4752, 0, "l"], [4753, 0, "t"], [4754, 0, "i"], [4755, 0, "-"], [4756, 0, "v"], [4757, 0, "a"], [4758, 0, "l"], [4759, 0, "u"], [4760, 0, "e"], [4761, 0, "d"], [4762, 0, " "], [4763, 0, "r"], [4764, 0, "e"], [4765, 0, "g"], [4766, 0, "i"], [4767, 0, "s"], [4768, 0, "t"], [4769, 0, "e"], [4770, 0, "r"], [4771, 0, "e"], [4772, 0, "d"], [4772, 1], [4771, 1], [4771, 0, "s"], [4772, 0, " "], [4773, 0, "w"], [4774, 0, "h"], [4775, 0, "i"], [4776, 0, "c"], [4777, 0, "h"], [4778, 0, " "], [4779, 0, "t"], [4780, 0, "h"], [4781, 0, "e"], [4781, 1], [4780, 1], [4779, 1], [4779, 0, "t"], [4780, 0, "h"], [4781, 0, "e"], [4782, 0, "n"], [4783, 0, " "], [4784, 0, "r"], [4785, 0, "e"], [4786, 0, "q"], [4787, 0, "u"], [4788, 0, "i"], [4789, 0, "r"], [4790, 0, "e"], [4791, 0, " "], [4792, 0, "a"], [4793, 0, "p"], [4794, 0, "p"], [4795, 0, "l"], [4796, 0, "i"], [4797, 0, "c"], [4798, 0, "a"], [4799, 0, "t"], [4800, 0, "i"], [4801, 0, "o"], [4802, 0, "n"], [4803, 0, " "], [4804, 0, "s"], [4805, 0, "p"], [4806, 0, "e"], [4807, 0, "i"], [4808, 0, "c"], [4809, 0, "i"], [4810, 0, "f"], [4810, 1], [4809, 1], [4808, 1], [4807, 1], [4807, 0, "c"], [4808, 0, "i"], [4809, 0, "f"], [4810, 0, "i"], [4811, 0, "c"], [4812, 0, " "], [4813, 0, "s"], [4814, 0, "o"], [4815, 0, "l"], [4816, 0, "u"], [4817, 0, "t"], [4818, 0, "i"], [4819, 0, "o"], [4820, 0, "n"], [4821, 0, "s"], [4822, 0, " "], [4823, 0, "("], [4824, 0, "a"], [4825, 0, "n"], [4826, 0, "d"], [4827, 0, " "], [4828, 0, "p"], [4829, 0, "o"], [4830, 0, "s"], [4831, 0, "s"], [4832, 0, "i"], [4833, 0, "b"], [4834, 0, "l"], [4835, 0, "y"], [4836, 0, " "], [4837, 0, "u"], [4838, 0, "s"], [4839, 0, "e"], [4840, 0, "r"], [4841, 0, " "], [4842, 0, "i"], [4843, 0, "n"], [4844, 0, "t"], [4845, 0, "e"], [4846, 0, "r"], [4847, 0, "v"], [4848, 0, "e"], [4849, 0, "n"], [4850, 0, "t"], [4851, 0, "i"], [4852, 0, "o"], [4853, 0, "n"], [4854, 0, ")"], [4855, 0, "."], [4856, 0, " "], [4857, 0, "C"], [4858, 0, "a"], [4859, 0, "n"], [4860, 0, " "], [4861, 0, "w"], [4862, 0, "e"], [4863, 0, " "], [4864, 0, "c"], [4865, 0, "o"], [4866, 0, "n"], [4867, 0, "v"], [4868, 0, "e"], [4869, 0, "u"], [4869, 1], [4869, 0, "y"], [4870, 0, " "], [4871, 0, "t"], [4872, 0, "h"], [4873, 0, "i"], [4874, 0, "s"], [4875, 0, " "], [4876, 0, "c"], [4876, 1], [4876, 0, "s"], [4877, 0, "u"], [4878, 0, "b"], [4879, 0, "t"], [4880, 0, "l"], [4880, 1], [4880, 0, "e"], [4881, 0, "l"], [4882, 0, "t"], [4883, 0, "y"], [4884, 0, " "], [4885, 0, "a"], [4885, 1], [4884, 1], [4883, 1], [4882, 1], [4881, 1], [4880, 1], [4880, 0, "l"], [4881, 0, "e"], [4882, 0, "t"], [4883, 0, "y"], [4884, 0, " "], [4885, 0, "a"], [4886, 0, "t"], [4887, 0, " "], [4888, 0, "t"], [4889, 0, "h"], [4890, 0, "i"], [4891, 0, "s"], [4892, 0, " "], [4893, 0, "p"], [4894, 0, "o"], [4895, 0, "i"], [4896, 0, "n"], [4897, 0, "t"], [4898, 0, "?"], [9072, 0, "x"], [9073, 0, "x"], [9074, 0, "x"], [9094, 1], [9093, 1], [9092, 1], [9091, 1], [9090, 1], [9089, 1], [9088, 1], [9087, 1], [9086, 1], [9085, 1], [9084, 1], [9083, 1], [9082, 1], [9081, 1], [9080, 1], [9079, 1], [9078, 1], [9077, 1], [9076, 1], [9075, 1], [9074, 1], [9073, 1], [9072, 1], [9072, 0, "i"], [9073, 0, "N"], [9072, 1], [9140, 1], [9140, 0, "."], [9221, 0, "\n"], [9220, 1], [9219, 1], [9218, 1], [9217, 1], [9216, 1], [9215, 1], [9214, 1], [9213, 1], [9212, 1], [9211, 1], [9210, 1], [9209, 1], [9208, 1], [9207, 1], [9206, 1], [9205, 1], [9204, 1], [9203, 1], [9202, 1], [9201, 1], [9200, 1], [9199, 1], [9198, 1], [9197, 1], [9196, 1], [9195, 1], [9194, 1], [9193, 1], [9192, 1], [9191, 1], [9190, 1], [9189, 1], [9188, 1], [9187, 1], [9186, 1], [9185, 1], [9184, 1], [9183, 1], [9182, 1], [9181, 1], [9180, 1], [9179, 1], [9178, 1], [9177, 1], [9176, 1], [9175, 1], [9174, 1], [9173, 1], [9172, 1], [9171, 1], [9170, 1], [9169, 1], [9168, 1], [9167, 1], [9166, 1], [9165, 1], [9164, 1], [9163, 1], [9162, 1], [9161, 1], [9160, 1], [9159, 1], [9158, 1], [9157, 1], [9156, 1], [9155, 1], [9154, 1], [9153, 1], [9152, 1], [9151, 1], [9150, 1], [9149, 1], [9148, 1], [9147, 1], [9146, 1], [9145, 1], [9144, 1], [9143, 1], [9142, 1], [9141, 1], [9151, 1], [9150, 1], [9149, 1], [9148, 1], [9147, 1], [9146, 1], [9145, 1], [9144, 1], [9143, 1], [9142, 1], [9142, 0, "C"], [9143, 0, "o"], [9144, 0, "n"], [9145, 0, "s"], [9146, 0, "e"], [9147, 0, "q"], [9148, 0, "u"], [9149, 0, "e"], [9150, 0, "n"], [9151, 0, "t"], [9152, 0, "l"], [9153, 0, "y"], [9154, 0, " "], [9155, 0, "t"], [9156, 0, "h"], [9157, 0, "e"], [9158, 0, " "], [9159, 0, "l"], [9160, 0, "o"], [9161, 0, "n"], [9162, 0, "g"], [9163, 0, "-"], [9164, 0, "t"], [9165, 0, "e"], [9166, 0, "r"], [9167, 0, "m"], [9168, 0, " "], [9169, 0, "g"], [9170, 0, "o"], [9171, 0, "a"], [9172, 0, "l"], [9173, 0, " "], [9174, 0, "o"], [9175, 0, "f"], [9176, 0, " "], [9177, 0, "o"], [9178, 0, "u"], [9179, 0, "r"], [9180, 0, " "], [9181, 0, "w"], [9182, 0, "o"], [9183, 0, "r"], [9184, 0, "k"], [9185, 0, " "], [9186, 0, "i"], [9187, 0, "s"], [9188, 0, " "], [9189, 0, "t"], [9190, 0, "o"], [9203, 1], [9202, 1], [9201, 1], [9200, 1], [9264, 0, "i"], [9264, 1], [9264, 0, "i"], [9264, 1], [9264, 0, " "], [9265, 0, "b"], [9266, 0, "y"], [9267, 0, " "], [9268, 0, "p"], [9269, 0, "r"], [9270, 0, "o"], [9271, 0, "v"], [9272, 0, "i"], [9273, 0, "d"], [9274, 0, "i"], [9275, 0, "n"], [9276, 0, "g"], [9277, 0, " "], [9278, 0, "a"], [9279, 0, " "], [9279, 1], [9279, 0, "n"], [9280, 0, " "], [9281, 0, "a"], [9282, 0, "l"], [9283, 0, "g"], [9284, 0, "o"], [9285, 0, "r"], [9286, 0, "i"], [9287, 0, "t"], [9288, 0, "h"], [9289, 0, " "], [9290, 0, "m"], [9290, 1], [9289, 1], [9289, 0, "m"], [9290, 0, " "], [9290, 1], [9289, 1], [9288, 1], [9287, 1], [9286, 1], [9285, 1], [9284, 1], [9283, 1], [9282, 1], [9281, 1], [9280, 1], [9279, 1], [9279, 0, " "], [9280, 0, "g"], [9281, 0, "e"], [9282, 0, "n"], [9283, 0, "e"], [9284, 0, "r"], [9285, 0, "a"], [9286, 0, "l"], [9287, 0, " "], [9288, 0, "a"], [9289, 0, "l"], [9290, 0, "g"], [9291, 0, "o"], [9292, 0, "r"], [9293, 0, "i"], [9294, 0, "t"], [9295, 0, "h"], [9296, 0, "m"], [9297, 0, " "], [9298, 0, "t"], [9298, 1], [9298, 0, "f"], [9299, 0, "o"], [9300, 0, "r"], [9301, 0, " "], [9302, 0, "c"], [9303, 0, "o"], [9304, 0, "n"], [9305, 0, "f"], [9306, 0, "i"], [9306, 1], [9306, 0, "l"], [9307, 0, "i"], [9308, 0, "c"], [9309, 0, "t"], [9310, 0, " "], [9311, 0, "r"], [9312, 0, "e"], [9313, 0, "s"], [9314, 0, "o"], [9315, 0, "l"], [9316, 0, "u"], [9317, 0, "t"], [9318, 0, "i"], [9319, 0, "o"], [9320, 0, "n"], [9321, 1], [9321, 0, " "], [9322, 0, "w"], [9323, 0, "i"], [9324, 0, "t"], [9325, 0, "h"], [9326, 0, " "], [9326, 1], [9325, 1], [9324, 1], [9323, 1], [9322, 1], [9321, 1], [9321, 0, "."], [9322, 0, " "], [9323, 0, "S"], [9324, 0, "u"], [9325, 0, "c"], [9326, 0, "h"], [9327, 0, " "], [9328, 0, "a"], [9329, 0, "l"], [9329, 1], [9329, 0, "n"], [9330, 0, " "], [9331, 0, "a"], [9332, 0, "l"], [9333, 0, "g"], [9334, 0, "o"], [9335, 0, "r"], [9336, 0, "i"], [9337, 0, "t"], [9338, 0, "h"], [9339, 0, "m"], [9340, 0, " "], [9341, 0, "n"], [9342, 0, "e"], [9343, 0, "e"], [9344, 0, "d"], [9345, 0, "s"], [9346, 0, " "], [9347, 0, "t"], [9348, 0, "o"], [9349, 0, " "], [9350, 0, "b"], [9351, 0, "e"], [9352, 0, " "], [9352, 1], [9351, 1], [9350, 1], [9349, 1], [9348, 1], [9347, 1], [9346, 1], [9345, 1], [9344, 1], [9343, 1], [9342, 1], [9341, 1], [9341, 0, "m"], [9342, 0, "u"], [9343, 0, "s"], [9344, 0, "t"], [9345, 0, " "], [9346, 0, "b"], [9347, 0, "e"], [9348, 0, " "], [9349, 0, "a"], [9350, 0, "m"], [9351, 0, "e"], [9352, 0, "n"], [9353, 0, "a"], [9354, 0, "b"], [9355, 0, "l"], [9356, 0, "e"], [9357, 0, " "], [9358, 0, "t"], [9359, 0, "o"], [9360, 0, " "], [9360, 1], [9359, 1], [9358, 1], [9357, 1], [9356, 1], [9355, 1], [9354, 1], [9353, 1], [9352, 1], [9351, 1], [9350, 1], [9349, 1], [9348, 1], [9347, 1], [9346, 1], [9345, 1], [9344, 1], [9343, 1], [9342, 1], [9341, 1], [9340, 1], [9339, 1], [9338, 1], [9337, 1], [9336, 1], [9335, 1], [9334, 1], [9333, 1], [9332, 1], [9331, 1], [9330, 1], [9329, 1], [9328, 1], [9327, 1], [9326, 1], [9325, 1], [9324, 1], [9323, 1], [9322, 1], [9321, 1], [9321, 0, " "], [9322, 0, "t"], [9323, 0, "h"], [9324, 0, "a"], [9325, 0, "t"], [9326, 0, " "], [9327, 0, "i"], [9328, 0, "s"], [9329, 0, " "], [9330, 0, "a"], [9331, 0, "m"], [9332, 0, "e"], [9333, 0, "n"], [9334, 0, "a"], [9335, 0, "b"], [9336, 0, "l"], [9337, 0, "e"], [9338, 0, " "], [9339, 0, "t"], [9340, 0, "o"], [9341, 0, " "], [9342, 0, "e"], [9343, 0, "m"], [9344, 0, "b"], [9345, 0, "e"], [9346, 0, "d"], [9347, 0, "d"], [9348, 0, "i"], [9349, 0, "n"], [9350, 0, "g"], [9351, 0, " "], [9351, 1], [9350, 1], [9349, 1], [9348, 1], [9347, 1], [9346, 1], [9345, 1], [9344, 1], [9343, 1], [9343, 0, "n"], [9344, 0, "a"], [9345, 0, "p"], [9346, 0, "s"], [9347, 0, "u"], [9348, 0, "l"], [9349, 0, "a"], [9350, 0, "t"], [9351, 0, "i"], [9352, 0, "o"], [9353, 0, "n"], [9354, 0, " "], [9355, 0, "i"], [9356, 0, "n"], [9357, 0, "s"], [9358, 0, "i"], [9359, 0, "d"], [9360, 0, "e"], [9361, 0, " "], [9362, 0, "a"], [9363, 0, " "], [9364, 0, "l"], [9365, 0, "i"], [9366, 0, "b"], [9367, 0, "r"], [9368, 0, "a"], [9369, 0, "r"], [9370, 0, "y"], [9362, 1], [9361, 1], [9360, 1], [9359, 1], [9358, 1], [9357, 1], [9356, 1], [9355, 1], [9354, 1], [9353, 1], [9352, 1], [9351, 1], [9350, 1], [9349, 1], [9348, 1], [9347, 1], [9346, 1], [9345, 1], [9344, 1], [9343, 1], [9342, 1], [9341, 1], [9340, 1], [9339, 1], [9338, 1], [9337, 1], [9336, 1], [9335, 1], [9334, 1], [9333, 1], [9332, 1], [9331, 1], [9330, 1], [9329, 1], [9328, 1], [9327, 1], [9326, 1], [9325, 1], [9324, 1], [9323, 1], [9322, 1], [9322, 0, "w"], [9323, 0, "h"], [9324, 0, "o"], [9325, 0, "s"], [9326, 0, "e"], [9327, 0, " "], [9328, 0, "d"], [9329, 0, "e"], [9330, 0, "t"], [9331, 0, "a"], [9332, 0, "i"], [9333, 0, "l"], [9334, 0, "s"], [9335, 0, " "], [9336, 0, "c"], [9337, 0, "a"], [9338, 0, "n"], [9339, 0, " "], [9340, 0, "l"], [9341, 0, "a"], [9342, 0, "r"], [9343, 0, "g"], [9344, 0, "e"], [9345, 0, "l"], [9346, 0, "y"], [9347, 0, " "], [9348, 0, "b"], [9349, 0, "e"], [9350, 0, " "], [9351, 0, "i"], [9352, 0, "n"], [9352, 1], [9351, 1], [9351, 0, "h"], [9352, 0, "i"], [9353, 0, "d"], [9354, 0, "d"], [9355, 0, "e"], [9356, 0, "n"], [9357, 0, " "], [9358, 0, "i"], [9359, 0, "n"], [9360, 0, "s"], [9361, 0, "i"], [9362, 0, "d"], [9363, 0, "e"], [9364, 0, " "], [9365, 0, "a"], [9366, 0, "n"], [9367, 0, " "], [9368, 0, "e"], [9369, 0, "a"], [9370, 0, "s"], [9371, 0, "y"], [9372, 0, "-"], [9373, 0, "t"], [9374, 0, "o"], [9375, 0, "-"], [9376, 0, "u"], [9377, 0, "s"], [9378, 0, "e"], [9379, 0, " "], [9380, 0, "s"], [9381, 0, "o"], [9382, 0, "f"], [9383, 0, "t"], [9384, 0, "a"], [9384, 1], [9384, 0, "w"], [9385, 0, "a"], [9386, 0, "r"], [9387, 0, "e"], [9396, 0, "."], [9912, 0, "\n"], [9913, 0, "\n"], [9913, 1], [9912, 1], [9911, 1], [9910, 1], [9909, 1], [9908, 1], [9952, 1], [9951, 1], [9950, 1], [9950, 0, "b"], [9951, 0, "y"], [12223, 1], [12222, 1], [12221, 1], [12220, 1], [12219, 1], [12218, 1], [12218, 0, "s"], [12219, 0, "u"], [12220, 0, "p"], [12221, 0, "p"], [12222, 0, "o"], [12223, 0, "r"], [12224, 0, "t"], [12237, 1], [12236, 1], [12244, 1], [12243, 1], [12243, 0, "c"], [12244, 0, "a"], [12245, 0, "t"], [12246, 0, "i"], [12247, 0, "o"], [12248, 0, "n"], [74029, 0, " "], [74030, 0, "T"], [74031, 0, "h"], [74032, 0, "a"], [74033, 0, "n"], [74034, 0, "k"], [74035, 0, " "], [74036, 0, "y"], [74037, 0, "o"], [74038, 0, "u"], [74039, 0, " "], [74040, 0, "t"], [74041, 0, "o"], [74042, 0, " "], [74043, 0, "D"], [74044, 0, "i"], [74045, 0, "a"], [74046, 0, "n"], [74047, 0, "a"], [74048, 0, " "], [74049, 0, "V"], [74050, 0, "a"], [74051, 0, "s"], [74052, 0, "i"], [74053, 0, "l"], [74054, 0, "e"], [74055, 0, " "], [74056, 0, "f"], [74057, 0, "o"], [74058, 0, "r"], [74059, 0, " "], [74060, 0, "c"], [74061, 0, "o"], [74062, 0, "m"], [74063, 0, "m"], [74064, 0, "e"], [74065, 0, "n"], [74066, 0, "t"], [74067, 0, "s"], [74068, 0, " "], [74069, 0, "o"], [74070, 0, "n"], [74071, 0, " "], [74072, 0, "a"], [74073, 0, " "], [74074, 0, "d"], [74075, 0, "r"], [74076, 0, "a"], [74077, 0, "f"], [74078, 0, "t"], [74079, 0, " "], [74080, 0, "o"], [74081, 0, "f"], [74082, 0, " "], [74083, 0, "t"], [74084, 0, "h"], [74085, 0, "i"], [74086, 0, "s"], [74087, 0, " "], [74088, 0, "p"], [74089, 0, "a"], [74090, 0, "p"], [74091, 0, "e"], [74092, 0, "r"], [74093, 0, "."], [74043, 0, "D"], [74044, 0, "o"], [74045, 0, "m"], [74046, 0, "i"], [74047, 0, "n"], [74048, 0, "i"], [74049, 0, "c"], [74050, 0, " "], [74051, 0, "O"], [74052, 0, "r"], [74053, 0, "c"], [74054, 0, "h"], [74055, 0, "a"], [74056, 0, "r"], [74057, 0, "d"], [74058, 0, " "], [74059, 0, "a"], [74060, 0, "n"], [74061, 0, "d"], [74062, 0, " "], [1568, 1], [1567, 1], [1566, 1], [1565, 1], [1564, 1], [1563, 1], [1562, 1], [1561, 1], [1560, 1], [1559, 1], [1558, 1], [1557, 1], [1556, 1], [1555, 1], [1554, 1], [1553, 1], [1552, 1], [1551, 1], [1550, 1], [1549, 1], [1548, 1], [1547, 1], [1546, 1], [1545, 1], [1544, 1], [1616, 0, ","], [1617, 0, " "], [1618, 0, "i"], [1619, 0, "t"], [1620, 0, " "], [1621, 0, "i"], [1622, 0, "s"], [1623, 0, " "], [1624, 0, "u"], [1625, 0, "n"], [1626, 0, "c"], [1627, 0, "l"], [1628, 0, "e"], [1629, 0, "a"], [1630, 0, "r"], [1631, 0, " "], [1632, 0, "w"], [1633, 0, "h"], [1634, 0, "a"], [1635, 0, "t"], [1636, 0, " "], [1637, 0, "t"], [1638, 0, "h"], [1639, 0, "e"], [1640, 0, " "], [1641, 0, "s"], [1642, 0, "e"], [1643, 0, "m"], [1644, 0, "a"], [1645, 0, "n"], [1646, 0, "t"], [1647, 0, "i"], [1648, 0, "c"], [1649, 0, "s"], [1650, 0, " "], [1651, 0, "s"], [1652, 0, "h"], [1653, 0, "o"], [1654, 0, "u"], [1655, 0, "l"], [1656, 0, "d"], [1657, 0, " "], [1658, 0, "b"], [1659, 0, "e"], [2493, 0, "O"], [2494, 0, "p"], [2495, 0, "e"], [2496, 0, "r"], [2497, 0, "a"], [2498, 0, "t"], [2499, 0, "i"], [2500, 0, "o"], [2501, 0, "n"], [2502, 0, "a"], [2503, 0, "l"], [2504, 0, " "], [7804, 1], [7803, 1], [7802, 1], [7801, 1], [7800, 1], [7799, 1], [7799, 0, "d"], [7800, 0, "e"], [7801, 0, "f"], [7802, 0, "i"], [7803, 0, "n"], [7804, 0, "e"], [7826, 1], [7825, 1], [7824, 1], [7823, 1], [7822, 1], [7831, 1], [7830, 1], [7830, 0, "i"], [7831, 0, "n"], [7832, 0, "g"], [25278, 1], [25277, 1], [25276, 1], [25275, 1], [25274, 1], [25273, 1], [25272, 1], [25271, 1], [25270, 1], [25269, 1], [25268, 1], [25267, 1], [25266, 1], [25265, 1], [25264, 1], [25263, 1], [25262, 1], [25262, 0, "i"], [25263, 0, "s"], [25264, 0, " "], [25265, 0, "k"], [25266, 0, "e"], [25267, 0, "y"], [25268, 0, "-"], [25269, 0, "v"], [25270, 0, "a"], [25271, 0, "l"], [25272, 0, "u"], [25273, 0, "e"], [25274, 0, " "], [25275, 0, "t"], [25275, 1], [25275, 0, "s"], [25276, 0, "t"], [25277, 0, "r"], [25278, 0, "u"], [25279, 0, "c"], [25280, 0, "t"], [25281, 0, "u"], [25282, 0, "r"], [25283, 0, "e"], [25284, 0, " "], [25285, 0, "i"], [25286, 0, "s"], [25310, 0, ","], [37794, 1], [37793, 1], [37792, 1], [37791, 1], [37790, 1], [37789, 1], [37788, 1], [37787, 1], [37786, 1], [37785, 1], [37784, 1], [37783, 1], [37783, 0, "e"], [37784, 0, "v"], [37785, 0, "a"], [37786, 0, "l"], [37787, 0, "u"], [37788, 0, "a"], [37789, 0, "t"], [37790, 0, "i"], [37791, 0, "o"], [37792, 0, "n"], [37793, 0, " "], [37794, 0, "r"], [37795, 0, "u"], [37796, 0, "l"], [37797, 0, "e"], [37798, 0, "s"], [37799, 0, " "], [37800, 0, "o"], [37801, 0, "f"], [37849, 1], [37848, 1], [37847, 1], [37846, 1], [37845, 1], [37844, 1], [37843, 1], [37842, 1], [37841, 1], [37840, 1], [37839, 1], [37838, 1], [37837, 1], [37836, 1], [37835, 1], [37834, 1], [37833, 1], [37832, 1], [37831, 1], [37830, 1], [37829, 1], [37828, 1], [37827, 1], [37826, 1], [37825, 1], [37824, 1], [37875, 1], [37874, 1], [37873, 1], [37872, 1], [37871, 1], [37871, 0, "t"], [37872, 0, "h"], [37873, 0, "e"], [37874, 0, "y"], [46504, 1], [46490, 1], [46489, 1], [46488, 1], [46487, 1], [46486, 1], [46485, 1], [46484, 1], [46483, 1], [46482, 1], [46482, 0, "r"], [46483, 0, "u"], [46484, 0, "l"], [46485, 0, "e"], [46486, 0, "s"], [46561, 0, "a"], [46562, 0, "l"], [46563, 0, "r"], [46564, 0, "e"], [46565, 0, "a"], [46566, 0, "d"], [46567, 0, "y"], [46568, 0, " "], [51702, 1], [51701, 1], [51700, 1], [51699, 1], [51698, 1], [51697, 1], [51696, 1], [51695, 1], [51694, 1], [51693, 1], [51693, 0, "i"], [51694, 0, "r"], [51695, 0, " "], [51696, 0, "e"], [51697, 0, "f"], [51698, 0, "f"], [51699, 0, "e"], [51700, 0, "c"], [51701, 0, "t"], [73348, 0, " "], [73349, 0, "u"], [73350, 0, "n"], [73351, 0, "d"], [73352, 0, "e"], [73353, 0, "r"], [73354, 0, "s"], [73355, 0, "t"], [73356, 0, "a"], [73357, 0, "n"], [73358, 0, "d"], [73359, 0, " "], [73360, 0, "t"], [73361, 0, "h"], [73362, 0, "e"], [73363, 0, " "], [73364, 0, "e"], [73365, 0, "x"], [73366, 0, "p"], [73367, 0, "e"], [73368, 0, "c"], [73369, 0, "t"], [73370, 0, "a"], [73371, 0, "t"], [73372, 0, "i"], [73373, 0, "o"], [73374, 0, "n"], [73375, 0, "s"], [73376, 0, " "], [73377, 0, "o"], [73378, 0, "f"], [73379, 0, " "], [73380, 0, "a"], [73381, 0, "p"], [73382, 0, "p"], [73383, 0, "l"], [73384, 0, "i"], [73385, 0, "c"], [73386, 0, "a"], [73387, 0, "t"], [73388, 0, "i"], [73389, 0, "o"], [73390, 0, "n"], [73391, 0, " "], [73392, 0, "p"], [73393, 0, "r"], [73394, 0, "o"], [73395, 0, "g"], [73396, 0, "r"], [73397, 0, "a"], [73398, 0, "m"], [73399, 0, "m"], [73400, 0, "e"], [73401, 0, "r"], [73402, 0, "s"], [73403, 0, " "], [73404, 0, "a"], [73405, 0, "n"], [73406, 0, "d"], [73407, 0, " "], [73408, 0, "t"], [73409, 0, "o"], [73410, 0, " "], [73411, 0, "d"], [73412, 0, "e"], [73413, 0, "s"], [73414, 0, "i"], [73415, 0, "g"], [73416, 0, "n"], [73417, 0, " "], [73418, 0, "d"], [73419, 0, "a"], [73420, 0, "t"], [73421, 0, "a"], [73422, 0, " "], [73423, 0, "s"], [73424, 0, "t"], [73425, 0, "r"], [73426, 0, "u"], [73427, 0, "c"], [73428, 0, "t"], [73429, 0, "u"], [73430, 0, "r"], [73431, 0, "e"], [73432, 0, "s"], [73433, 0, " "], [73434, 0, "t"], [73435, 0, "h"], [73436, 0, "a"], [73437, 0, "t"], [73438, 0, " "], [73439, 0, "a"], [73440, 0, "r"], [73441, 0, "e"], [73442, 0, " "], [73443, 0, "m"], [73444, 0, "i"], [73445, 0, "n"], [73446, 0, "i"], [73447, 0, "m"], [73448, 0, "a"], [73449, 0, "l"], [73450, 0, " "], [73451, 0, "s"], [73451, 1], [73450, 1], [73450, 0, "l"], [73451, 0, "y"], [73452, 0, " "], [73453, 0, "s"], [73454, 0, "u"], [73455, 0, "r"], [73456, 0, "p"], [73457, 0, "r"], [73458, 0, "i"], [73459, 0, "s"], [73460, 0, "i"], [73461, 0, "n"], [73462, 0, "g"], [73463, 0, " "], [73464, 0, "u"], [73465, 0, "n"], [73466, 0, "d"], [73467, 0, "e"], [73468, 0, "r"], [73469, 0, " "], [73470, 0, "c"], [73471, 0, "o"], [73472, 0, "n"], [73473, 0, "c"], [73474, 0, "u"], [73475, 0, "r"], [73476, 0, "r"], [73477, 0, "e"], [73478, 0, "n"], [73479, 0, "t"], [73480, 0, " "], [73481, 0, "m"], [73482, 0, "o"], [73483, 0, "d"], [73484, 0, "i"], [73485, 0, "f"], [73486, 0, "i"], [73487, 0, "c"], [73488, 0, "a"], [73489, 0, "t"], [73490, 0, "i"], [73491, 0, "o"], [73492, 0, "n"], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73493, 1], [73157, 0, "i"], [73158, 0, "i"], [73158, 1], [73157, 1], [3157, 0, "s"], [17640, 0, " "], [17641, 0, "b"], [17642, 0, "e"], [17657, 1], [17657, 1], [17657, 1], [1136, 1], [1136, 1], [1136, 1], [1136, 1], [1136, 1], [1136, 1], [1136, 1], [1136, 1], [1136, 0, "M"], [1137, 0, "a"], [1138, 0, "r"], [1139, 0, "t"], [1140, 0, "i"], [1141, 0, "n"], [1142, 0, " "], [1143, 0, "K"], [1144, 0, "l"], [1145, 0, "e"], [1146, 0, "p"], [1147, 0, "p"], [1148, 0, "m"], [1149, 0, "a"], [1150, 0, "n"], [1151, 0, "n"], [1164, 1], [1163, 1], [1162, 1], [1161, 1], [1160, 1], [1159, 1], [1158, 1], [1158, 0, "l"], [1159, 0, "a"], [1160, 0, "s"], [1161, 0, "t"], [1162, 0, "a"], [1163, 0, "i"], [1164, 0, "r"], [1165, 0, " "], [1166, 0, "R"], [1167, 0, "."], [1168, 0, " "], [1169, 0, "B"], [1170, 0, "e"], [1171, 0, "r"], [1172, 0, "e"], [1173, 0, "s"], [1174, 0, "f"], [1175, 0, "o"], [1176, 0, "r"], [1177, 0, "d"], [1215, 1], [1214, 1], [1213, 1], [1212, 1], [1211, 1], [1210, 1], [1209, 1], [1208, 1], [1207, 1], [1206, 1], [1205, 1], [1204, 1], [1203, 1], [1202, 1], [1201, 1], [1200, 1], [1199, 1], [1198, 1], [1197, 1], [1196, 1], [1195, 1], [1194, 1], [1193, 1], [1192, 1], [1191, 1], [1190, 1], [1189, 1], [1188, 1], [1187, 1], [1187, 0, "C"], [1188, 0, "o"], [1189, 0, "m"], [1190, 0, "p"], [1191, 0, "u"], [1192, 0, "t"], [1193, 0, "e"], [1194, 0, "r"], [1195, 0, " "], [1196, 0, "L"], [1197, 0, "a"], [1198, 0, "b"], [1199, 0, "o"], [1200, 0, "r"], [1201, 0, "a"], [1202, 0, "t"], [1203, 0, "o"], [1204, 0, "r"], [1205, 0, "y"], [1206, 0, ","], [1207, 0, " "], [1208, 0, "U"], [1209, 0, "n"], [1210, 0, "i"], [1211, 0, "v"], [1212, 0, "e"], [1213, 0, "r"], [1214, 0, "s"], [1215, 0, "i"], [1216, 0, "t"], [1217, 0, "y"], [1218, 0, " "], [1219, 0, "o"], [1220, 0, "f"], [1221, 0, " "], [1222, 0, "C"], [1223, 0, "a"], [1224, 0, "m"], [1225, 0, "b"], [1226, 0, "r"], [1227, 0, "i"], [1228, 0, "d"], [1229, 0, "g"], [1230, 0, "e"], [1231, 0, ","], [1232, 0, " "], [1233, 0, "U"], [1234, 0, "K"], [1235, 0, "."], [1236, 0, "\\"], [1237, 0, "\\"], [1237, 1], [1237, 0, "p"], [1238, 0, "r"], [1239, 0, "o"], [1240, 0, "t"], [1241, 0, "e"], [1242, 0, "c"], [1243, 0, "t"], [1244, 0, "\\"], [1245, 0, "\\"], [1246, 0, "\n"], [1247, 0, "E"], [1248, 0, "m"], [1249, 0, "a"], [1250, 0, "i"], [1251, 0, "l"], [1252, 0, ":"], [1253, 0, " "], [1254, 0, "\\"], [1255, 0, "u"], [1256, 0, "r"], [1257, 0, "l"], [1258, 0, "{"], [1259, 0, "m"], [1260, 0, "k"], [1261, 0, "4"], [1262, 0, "2"], [1263, 0, "8"], [1264, 0, "@"], [1265, 0, "c"], [1266, 0, "l"], [1267, 0, "."], [1268, 0, "c"], [1269, 0, "a"], [1270, 0, "m"], [1271, 0, "."], [1272, 0, "a"], [1273, 0, "c"], [1274, 0, "."], [1275, 0, "u"], [1276, 0, "k"], [1277, 0, "}"], [1231, 0, " "], [1232, 0, "C"], [1233, 0, "o"], [1234, 0, "m"], [1235, 0, "p"], [1236, 0, "u"], [1237, 0, "t"], [1238, 0, "e"], [1239, 0, "r"], [1240, 0, " "], [1241, 0, "L"], [1242, 0, "a"], [1243, 0, "b"], [1244, 0, "o"], [1245, 0, "r"], [1246, 0, "a"], [1247, 0, "t"], [1248, 0, "o"], [1249, 0, "r"], [1250, 0, "y"], [1252, 0, " "], [1253, 0, "C"], [1254, 0, "a"], [1255, 0, "n"], [1256, 0, "m"], [1257, 0, "b"], [1257, 1], [1256, 1], [1255, 1], [1255, 0, "m"], [1256, 0, "b"], [1257, 0, "r"], [1258, 0, "i"], [1259, 0, "d"], [1260, 0, "g"], [1261, 0, "e"], [1262, 0, ","], [1206, 1], [1205, 1], [1204, 1], [1203, 1], [1202, 1], [1201, 1], [1200, 1], [1199, 1], [1198, 1], [1197, 1], [1196, 1], [1195, 1], [1194, 1], [1193, 1], [1192, 1], [1191, 1], [1190, 1], [1189, 1], [1188, 1], [1187, 1], [1187, 0, "M"], [1188, 0, "."], [1189, 0, " "], [1190, 0, "K"], [1191, 0, "l"], [1192, 0, "e"], [1193, 0, "p"], [1194, 0, "p"], [1195, 0, "m"], [1196, 0, "a"], [1197, 0, "n"], [1198, 0, "n"], [1199, 0, " "], [1200, 0, "a"], [1201, 0, "n"], [1202, 0, "d"], [1203, 0, " "], [1204, 0, "A"], [1205, 0, "."], [1206, 0, " "], [1207, 0, "B"], [1207, 1], [1206, 1], [1206, 0, " "], [1207, 0, "B"], [1208, 0, "e"], [1209, 0, "r"], [1210, 0, "e"], [1211, 0, "s"], [1212, 0, "f"], [1213, 0, "o"], [1214, 0, "r"], [1215, 0, "d"], [1216, 0, " "], [1217, 0, "a"], [1218, 0, "r"], [1219, 0, "e"], [1220, 0, " "], [1221, 0, "w"], [1222, 0, "i"], [1223, 0, "t"], [1224, 0, "h"], [1225, 0, " "], [1226, 0, "t"], [1227, 0, "h"], [1228, 0, "e"], [1299, 1], [1330, 0, ","], [1331, 0, " "], [1332, 0, "\\"], [1333, 0, "u"], [1334, 0, "r"], [1335, 0, "l"], [1336, 0, "{"], [1337, 0, "a"], [1338, 0, "r"], [1339, 0, "b"], [1340, 0, "3"], [1341, 0, "3"], [1342, 0, "@"], [1343, 0, "c"], [1344, 0, "l"], [1345, 0, "."], [1346, 0, "c"], [1347, 0, "a"], [1348, 0, "m"], [1349, 0, "."], [1350, 0, "a"], [1351, 0, "c"], [1352, 0, "."], [1353, 0, "u"], [1354, 0, "k"], [1357, 0, "}"], [1206, 0, "R"], [1207, 0, "."], [1358, 0, "."], [75198, 0, " "], [75199, 0, "$"], [75200, 0, "n"], [75201, 0, "$"], [75166, 0, " "], [75167, 0, "$"], [75168, 0, "H"], [75169, 0, "_"], [75170, 0, "p"], [75171, 0, "$"], [75219, 0, ":"], [76961, 0, " "], [76962, 0, "T"], [76963, 0, "h"], [76964, 0, "e"], [76965, 0, " "], [76966, 0, "p"], [76967, 0, "r"], [76968, 0, "e"], [76969, 0, "f"], [76970, 0, "i"], [76971, 0, "x"], [76972, 0, " "], [76973, 0, "c"], [76974, 0, "o"], [76975, 0, "n"], [76976, 0, "t"], [76977, 0, "a"], [76978, 0, "i"], [76979, 0, "n"], [76980, 0, "s"], [76981, 0, " "], [76982, 0, "a"], [76983, 0, "l"], [76984, 0, "l"], [76985, 0, " "], [76986, 0, "c"], [76987, 0, "a"], [76988, 0, "u"], [76989, 0, "s"], [76990, 0, "a"], [76991, 0, "l"], [76992, 0, "l"], [76993, 0, "y"], [76994, 0, " "], [76986, 0, "o"], [76987, 0, "p"], [76988, 0, "e"], [76989, 0, "r"], [76990, 0, "a"], [76991, 0, "t"], [76992, 0, "i"], [76993, 0, "o"], [76994, 0, "n"], [76995, 0, "s"], [76996, 0, " "], [76997, 0, "t"], [76998, 0, "h"], [76999, 0, "a"], [77000, 0, "t"], [77001, 0, " "], [77011, 0, "p"], [77012, 0, "r"], [77013, 0, "e"], [77014, 0, "c"], [77015, 0, "e"], [77016, 0, "d"], [77017, 0, "e"], [77018, 0, " "], [77019, 0, "$"], [77020, 0, "o"], [77021, 0, "_"], [77022, 0, "{"], [77023, 0, "n"], [77024, 0, "+"], [77025, 0, "1"], [77026, 0, "}"], [77027, 0, "$"], [77028, 0, ","], [77029, 0, " "], [77030, 0, "a"], [77031, 0, "n"], [77032, 0, "d"], [77033, 0, " "], [77034, 0, "p"], [77035, 0, "o"], [77036, 0, "s"], [77037, 0, "s"], [77038, 0, "i"], [77039, 0, "b"], [77040, 0, "y"], [77040, 1], [77040, 0, "l"], [77041, 0, "y"], [77042, 0, " "], [77043, 0, "s"], [77044, 0, "o"], [77045, 0, "m"], [77046, 0, "e"], [77047, 0, " "], [77048, 0, "o"], [77049, 0, "p"], [77050, 0, "e"], [77051, 0, "r"], [77052, 0, "a"], [77053, 0, "t"], [77054, 0, "i"], [77055, 0, "o"], [77056, 0, "n"], [77057, 0, "s"], [77058, 0, " "], [77059, 0, "c"], [77059, 1], [77059, 0, "t"], [77060, 0, "h"], [77061, 0, "a"], [77062, 0, "t"], [77063, 0, " "], [77064, 0, "a"], [77065, 0, "r"], [77066, 0, "e"], [77067, 0, " "], [77068, 0, "c"], [77069, 0, "o"], [77070, 0, "n"], [77071, 0, "c"], [77072, 0, "u"], [77073, 0, "r"], [77074, 0, "r"], [77075, 0, "e"], [77076, 0, "n"], [77077, 0, "t"], [77078, 0, " "], [77079, 0, "w"], [77080, 0, "i"], [77081, 0, "t"], [77082, 0, "h"], [77083, 0, " "], [77084, 0, "$"], [77085, 0, "o"], [77086, 0, "_"], [77087, 0, "{"], [77088, 0, "n"], [77089, 0, "+"], [77090, 0, "1"], [77091, 0, "}"], [77092, 0, "$"], [77093, 0, ";"], [77094, 0, " "], [77095, 0, "t"], [77096, 0, "h"], [77097, 0, "e"], [77098, 0, " "], [77099, 0, "s"], [77100, 0, "u"], [77101, 0, "f"], [77102, 0, "f"], [77103, 0, "i"], [77104, 0, "x"], [77105, 0, " "], [77106, 0, "c"], [77107, 0, "o"], [77108, 0, "n"], [77109, 0, "t"], [77110, 0, "a"], [77111, 0, "i"], [77112, 0, "n"], [77113, 0, "s"], [77114, 0, " "], [77115, 0, "o"], [77116, 0, "n"], [77117, 0, "l"], [77118, 0, "y"], [77119, 0, " "], [77120, 0, "o"], [77121, 0, "p"], [77122, 0, "e"], [77123, 0, "r"], [77124, 0, "a"], [77125, 0, "t"], [77126, 0, "i"], [77127, 0, "o"], [77128, 0, "n"], [77129, 0, "s"], [77130, 0, " "], [77131, 0, "t"], [77132, 0, "h"], [77133, 0, "a"], [77134, 0, "t"], [77135, 0, " "], [77136, 0, "a"], [77137, 0, "r"], [77138, 0, "e"], [77139, 0, " "], [77140, 0, "c"], [77141, 0, "o"], [77142, 0, "n"], [77143, 0, "c"], [77144, 0, "u"], [77145, 0, "r"], [77146, 0, "r"], [77147, 0, "e"], [77148, 0, "n"], [77149, 0, "t"], [77150, 0, " "], [77151, 0, "w"], [77152, 0, "i"], [77153, 0, "t"], [77154, 0, "h"], [77155, 0, " "], [77156, 0, "$"], [77157, 0, "o"], [77158, 0, "_"], [77159, 0, "{"], [77160, 0, "n"], [77161, 0, "+"], [77162, 0, "1"], [77163, 0, "}"], [77164, 0, "$"], [77165, 0, "."], [77384, 0, " "], [77385, 0, "n"], [77386, 0, "e"], [77387, 0, "e"], [77388, 0, "d"], [77389, 0, " "], [77390, 0, "t"], [77391, 0, "o"], [77692, 0, "="], [77692, 1], [77691, 1], [77690, 1], [77690, 0, "n"], [77691, 0, "y"], [78230, 1], [78230, 0, "j"], [78299, 1], [78299, 0, "j"], [78343, 1], [78343, 0, "j"], [78176, 1], [78175, 1], [78174, 1], [78173, 1], [78172, 1], [78171, 1], [78170, 1], [78169, 1], [78168, 1], [78167, 1], [78166, 1], [78166, 0, " "], [78167, 0, "s"], [78168, 0, "u"], [78169, 0, "c"], [78170, 0, "c"], [78171, 0, "e"], [78172, 0, "s"], [78173, 0, "s"], [78174, 0, "i"], [78175, 0, "o"], [78176, 0, "n"], [78195, 1], [78195, 0, "j"], [78206, 1], [78205, 1], [78204, 1], [78204, 0, "s"], [78205, 0, "u"], [78206, 0, "c"], [78230, 1], [78230, 0, "1"], [78437, 1], [78436, 1], [78435, 1], [78435, 0, "s"], [78436, 0, "u"], [78437, 0, "c"], [78438, 0, "c"], [78438, 1], [78573, 1], [78573, 0, "2"], [78576, 1], [78576, 1], [78576, 1], [78576, 0, "s"], [78577, 0, "u"], [78578, 0, "c"], [78588, 1], [78588, 0, "1"], [78673, 1], [78673, 0, "2"], [78681, 1], [78681, 1], [78681, 1], [78681, 0, "s"], [78682, 0, "u"], [78683, 0, "c"], [78693, 1], [78693, 0, "1"], [79000, 1], [79000, 1], [79000, 1], [79000, 1], [79000, 1], [79000, 1], [79000, 1], [79000, 1], [79000, 1], [79000, 1], [79000, 0, "s"], [79001, 0, "u"], [79002, 0, "c"], [79003, 0, "c"], [79004, 0, "e"], [79005, 0, "s"], [79006, 0, "s"], [79007, 0, "i"], [79008, 0, "o"], [79009, 0, "n"], [79117, 1], [79116, 1], [79115, 1], [79114, 1], [79113, 1], [79112, 1], [79111, 1], [79110, 1], [79109, 1], [79108, 1], [79108, 0, "s"], [79109, 0, "u"], [79110, 0, "c"], [79111, 0, "c"], [79112, 0, "e"], [79113, 0, "s"], [79114, 0, "s"], [79115, 0, "i"], [79116, 0, "o"], [79117, 0, "n"], [79579, 0, " "], [79580, 0, "s"], [79581, 0, "u"], [79582, 0, "c"], [79583, 0, "c"], [79584, 0, "e"], [79585, 0, "e"], [79586, 0, "d"], [79587, 0, "s"], [79588, 0, " "], [79589, 0, "$"], [79590, 0, "k"], [79591, 0, "_"], [79592, 0, "1"], [79593, 0, "$"], [79548, 1], [79548, 1], [79548, 1], [79548, 1], [79548, 1], [79548, 1], [79548, 1], [79548, 1], [79548, 1], [79548, 1], [79548, 1], [79548, 1], [79548, 1], [79548, 1], [79548, 1], [78210, 1], [78209, 0, "e"], [78440, 0, "e"], [78558, 1], [78558, 1], [78558, 1], [78558, 1], [78558, 1], [78558, 1], [78558, 1], [78558, 1], [78558, 0, "s"], [78559, 0, "u"], [78560, 0, "c"], [78561, 0, "c"], [78562, 0, "e"], [78563, 0, "e"], [78564, 0, "d"], [78565, 0, "s"], [78583, 1], [78582, 0, "e"], [78686, 0, "e"], [78689, 1], [78704, 1], [78704, 1], [78704, 1], [78704, 1], [78704, 1], [78704, 1], [78704, 1], [78704, 1], [78704, 1], [78704, 1], [78704, 0, "l"], [78705, 0, "a"], [78706, 0, "t"], [78707, 0, "e"], [78708, 0, "r"], [79591, 0, " "], [79592, 0, "$"], [79593, 0, "k"], [79594, 0, "_"], [79595, 0, "2"], [79596, 0, "$"], [79597, 0, " "], [79598, 0, "s"], [79599, 0, "u"], [79600, 0, "c"], [79601, 0, "c"], [79602, 0, "e"], [79603, 0, "e"], [79604, 0, "d"], [79605, 0, "s"], [79624, 1], [79624, 1], [79624, 1], [79624, 1], [79624, 1], [79624, 1], [79624, 1], [79624, 1], [79624, 1], [79624, 1], [79624, 1], [79624, 1], [79624, 1], [79624, 1], [79624, 1], [79700, 1], [79700, 1], [79700, 1], [79700, 1], [79700, 1], [79700, 1], [79700, 1], [79700, 1], [79700, 1], [79700, 1], [79700, 1], [79700, 1], [79700, 1], [79700, 1], [79700, 1], [79716, 0, " "], [79717, 0, "s"], [79718, 0, "u"], [79719, 0, "c"], [79720, 0, "c"], [79721, 0, "e"], [79722, 0, "e"], [79723, 0, "d"], [79724, 0, "s"], [79725, 0, " "], [79726, 0, "$"], [79727, 0, "k"], [79728, 0, "_"], [79729, 0, "1"], [79730, 0, "$"], [79735, 0, " "], [79736, 0, "$"], [79737, 0, "k"], [79738, 0, "_"], [79739, 0, "2"], [79740, 0, "$"], [79741, 0, " "], [79742, 0, "s"], [79743, 0, "u"], [79744, 0, "c"], [79745, 0, "c"], [79746, 0, "e"], [79747, 0, "e"], [79748, 0, "d"], [79749, 0, "s"], [79768, 1], [79768, 1], [79768, 1], [79768, 1], [79768, 1], [79768, 1], [79768, 1], [79768, 1], [79768, 1], [79768, 1], [79768, 1], [79768, 1], [79768, 1], [79768, 1], [79768, 1], [78179, 0, "I"], [78180, 0, "n"], [78181, 0, " "], [78182, 0, "t"], [78183, 0, "h"], [78184, 0, "e"], [78185, 0, " "], [78186, 0, "o"], [78187, 0, "r"], [78188, 0, "d"], [78189, 0, "e"], [78190, 0, "r"], [78191, 0, "e"], [78192, 0, "d"], [78193, 0, " "], [78194, 0, "l"], [78195, 0, "i"], [78196, 0, "s"], [78197, 0, "t"], [78198, 0, " "], [78199, 0, "$"], [78200, 0, "\\"], [78201, 0, "m"], [78202, 0, "a"], [78203, 0, "t"], [78204, 0, "h"], [78205, 0, "i"], [78206, 0, "t"], [78207, 0, "{"], [78208, 0, "c"], [78209, 0, "t"], [78210, 0, "x"], [78211, 0, "}"], [78212, 0, "$"], [78213, 0, ","], [78214, 0, " "], [78215, 1], [78215, 0, "l"], [78302, 1], [78301, 1], [78300, 1], [78299, 1], [78298, 1], [78297, 1], [78296, 1], [78295, 1], [78294, 1], [78293, 1], [78292, 1], [78291, 1], [78290, 1], [78289, 1], [78288, 1], [78287, 1], [78286, 1], [78285, 1], [78284, 1], [78283, 1], [78282, 1], [78281, 1], [78280, 1], [78279, 1], [78278, 1], [78277, 1], [78276, 1], [78275, 1], [78274, 1], [78273, 1], [78272, 1], [78271, 1], [78270, 1], [78269, 1], [78268, 1], [78283, 0, " "], [78284, 0, "l"], [78285, 0, "i"], [78286, 0, "s"], [78287, 0, "t"], [78288, 0, " "], [78288, 1], [78287, 1], [78286, 1], [78285, 1], [78284, 1], [78283, 1], [78283, 0, "s"], [78284, 0, " "], [78285, 0, "a"], [78286, 0, " "], [78287, 0, "("], [78288, 0, "p"], [78289, 0, "o"], [78290, 0, "s"], [78291, 0, "s"], [78292, 0, "i"], [78293, 0, "b"], [78294, 0, "l"], [78295, 0, "y"], [78296, 0, " "], [78297, 0, "e"], [78298, 0, "m"], [78299, 0, "p"], [78300, 0, "t"], [78301, 0, "y"], [78302, 0, ")"], [78303, 0, " "], [78304, 0, "s"], [78305, 0, "e"], [78306, 0, "q"], [78307, 0, "u"], [78308, 0, "e"], [78309, 0, "n"], [78310, 0, "c"], [78311, 0, "e"], [78312, 0, " "], [78313, 0, "o"], [78314, 0, "f"], [78315, 0, " "], [78316, 0, "l"], [78317, 0, "i"], [78318, 0, "s"], [78319, 0, "t"], [78320, 0, " "], [78321, 0, "e"], [78322, 0, "l"], [78323, 0, "e"], [78324, 0, "m"], [78325, 0, "e"], [78326, 0, "n"], [78327, 0, "t"], [78328, 0, "s"], [78176, 1], [78175, 1], [78174, 1], [78173, 1], [78172, 1], [78171, 1], [78170, 1], [78169, 1], [78168, 1], [78167, 1], [78166, 1], [78165, 1], [78164, 1], [78163, 1], [78162, 1], [78161, 1], [78160, 1], [78159, 1], [78158, 1], [78157, 1], [78156, 1], [78155, 1], [78154, 1], [78154, 0, "o"], [78155, 0, "c"], [78156, 0, "c"], [78157, 0, "u"], [78158, 0, "r"], [78159, 0, "r"], [78160, 0, "i"], [78161, 0, "n"], [78162, 0, "g"], [78163, 0, " "], [78164, 0, "a"], [78165, 0, "f"], [78166, 0, "t"], [78167, 0, "e"], [78168, 0, "r"], [78239, 1], [78238, 1], [78237, 1], [78236, 1], [78235, 1], [78234, 1], [78233, 1], [78232, 1], [78232, 0, "o"], [78233, 0, "c"], [78234, 0, "c"], [78235, 0, "u"], [78236, 0, "r"], [78237, 0, "s"], [78238, 0, " "], [78239, 0, "a"], [78240, 0, "f"], [78241, 0, "t"], [78242, 0, "e"], [78243, 0, "r"], [78487, 1], [78486, 1], [78485, 1], [78484, 1], [78237, 1], [78236, 1], [78235, 1], [78234, 1], [78233, 1], [78232, 1], [78232, 0, "a"], [78233, 0, "p"], [78234, 0, "p"], [78235, 0, "e"], [78236, 0, "a"], [78237, 0, "r"], [78238, 0, "s"], [78162, 1], [78161, 1], [78160, 1], [78159, 1], [78158, 1], [78157, 1], [78156, 1], [78155, 1], [78154, 1], [78154, 0, "a"], [78155, 0, "p"], [78156, 0, "p"], [78157, 0, "e"], [78158, 0, "a"], [78159, 0, "r"], [78160, 0, "i"], [78161, 0, "n"], [78162, 0, "g"], [78484, 1], [78483, 1], [78482, 1], [78481, 1], [78480, 1], [78479, 1], [78479, 0, "a"], [78480, 0, "p"], [78481, 0, "p"], [78482, 0, "e"], [78483, 0, "a"], [78484, 0, "r"], [78485, 0, "i"], [78486, 0, "n"], [78487, 0, "g"], [78488, 0, " "], [78489, 0, "a"], [78490, 0, "f"], [78491, 0, "t"], [78492, 0, "e"], [78493, 0, "r"], [78633, 1], [78632, 1], [78631, 1], [78630, 1], [78629, 1], [78628, 1], [78627, 1], [78626, 1], [78626, 0, "a"], [78627, 0, "p"], [78628, 0, "p"], [78629, 0, "e"], [78630, 0, "a"], [78631, 0, "r"], [78632, 0, "s"], [78633, 0, " "], [78634, 0, "a"], [78635, 0, "f"], [78636, 0, "t"], [78637, 0, "e"], [78638, 0, "r"], [78614, 1], [78613, 1], [78612, 1], [78611, 1], [78610, 1], [78609, 1], [78608, 1], [78607, 1], [78607, 0, "a"], [78608, 0, "f"], [78609, 0, "t"], [78610, 0, "e"], [78611, 0, "r"], [80804, 1], [80804, 1], [80804, 1], [80804, 1], [80804, 1], [80804, 1], [80804, 1], [80804, 1], [80804, 0, "a"], [80805, 0, "f"], [80806, 0, "t"], [80807, 0, "e"], [80808, 0, "r"], [78733, 1], [78733, 1], [78733, 1], [78733, 1], [78733, 1], [78733, 1], [78733, 1], [78733, 1], [78733, 0, "a"], [78734, 0, "p"], [78735, 0, "p"], [78736, 0, "e"], [78737, 0, "a"], [78738, 0, "r"], [78739, 0, "s"], [78740, 0, " "], [78741, 0, "a"], [78742, 0, "f"], [78743, 0, "t"], [78744, 0, "e"], [78745, 0, "r"], [79061, 1], [79060, 1], [79059, 1], [79058, 1], [79057, 1], [79056, 1], [79055, 1], [79054, 1], [79053, 1], [79052, 1], [79052, 0, "a"], [79053, 0, "p"], [79054, 0, "p"], [79055, 0, "e"], [79056, 0, "a"], [79057, 0, "r"], [79058, 0, "s"], [79059, 0, "-"], [79060, 0, "a"], [79061, 0, "f"], [79062, 0, "t"], [79063, 0, "e"], [79064, 0, "r"], [79172, 1], [79171, 1], [79170, 1], [79169, 1], [79168, 1], [79167, 1], [79166, 1], [79165, 1], [79164, 1], [79163, 1], [79163, 0, "a"], [79164, 0, "p"], [79165, 0, "p"], [79166, 0, "e"], [79167, 0, "a"], [79168, 0, "r"], [79169, 0, "s"], [79170, 0, "-"], [79171, 0, "a"], [79172, 0, "f"], [79173, 0, "t"], [79174, 0, "e"], [79175, 0, "r"], [79630, 1], [79629, 1], [79628, 1], [79627, 1], [79626, 1], [79625, 1], [79624, 1], [79623, 1], [79623, 0, "a"], [79624, 0, "p"], [79625, 0, "p"], [79626, 0, "e"], [79627, 0, "a"], [79628, 0, "r"], [79629, 0, "s"], [79630, 0, " "], [79631, 0, "a"], [79632, 0, "f"], [79633, 0, "t"], [79634, 0, "e"], [79635, 0, "r"], [79672, 1], [79671, 1], [79670, 1], [79669, 1], [79668, 1], [79667, 1], [79666, 1], [79665, 1], [79665, 0, "a"], [79666, 0, "p"], [79667, 0, "p"], [79668, 0, "e"], [79669, 0, "a"], [79670, 0, "r"], [79671, 0, "s"], [79672, 0, " "], [79673, 0, "a"], [79674, 0, "f"], [79675, 0, "t"], [79676, 0, "e"], [79677, 0, "r"], [79796, 1], [79795, 1], [79794, 1], [79793, 1], [79792, 1], [79791, 1], [79790, 1], [79789, 1], [79789, 0, "a"], [79790, 0, "p"], [79791, 0, "p"], [79792, 0, "e"], [79793, 0, "a"], [79794, 0, "r"], [79795, 0, "s"], [79796, 0, " "], [79797, 0, "a"], [79798, 0, "f"], [79799, 0, "t"], [79800, 0, "e"], [79801, 0, "r"], [79826, 1], [79825, 1], [79824, 1], [79823, 1], [79822, 1], [79821, 1], [79820, 1], [79819, 1], [79819, 0, "a"], [79820, 0, "p"], [79821, 0, "p"], [79822, 0, "e"], [79823, 0, "a"], [79824, 0, "r"], [79825, 0, "s"], [79826, 0, " "], [79827, 0, "a"], [79828, 0, "f"], [79829, 0, "t"], [79830, 0, "e"], [79831, 0, "r"], [78385, 1], [78385, 0, "\\"], [78386, 0, "l"], [78387, 0, "e"], [78390, 0, "-"], [78391, 0, "1"], [78391, 1], [78390, 1], [78387, 1], [78386, 1], [78385, 1], [78385, 0, "<"], [79475, 1], [79474, 1], [79473, 1], [79472, 1], [79471, 1], [79470, 1], [79469, 1], [79468, 1], [79467, 1], [79466, 1], [79465, 1], [79464, 1], [79463, 1], [79462, 1], [79461, 1], [79460, 1], [79459, 1], [79458, 1], [79457, 1], [79456, 1], [79455, 1], [79454, 1], [79453, 1], [79452, 1], [79451, 1], [79450, 1], [79449, 1], [79448, 1], [79447, 1], [79446, 1], [79445, 1], [79444, 1], [79443, 1], [79442, 1], [79441, 1], [79440, 1], [79439, 1], [79438, 1], [79437, 1], [79436, 1], [79435, 1], [79434, 1], [79433, 1], [79432, 1], [79431, 1], [79430, 1], [79429, 1], [79428, 1], [79427, 1], [79426, 1], [79425, 1], [79424, 1], [79423, 1], [79422, 1], [79421, 1], [79420, 1], [79419, 1], [79418, 1], [79417, 1], [79416, 1], [79415, 1], [79414, 1], [79413, 1], [79412, 1], [79411, 1], [79410, 1], [79409, 1], [79408, 1], [79407, 1], [79406, 1], [79405, 1], [79404, 1], [79403, 1], [79402, 1], [79401, 1], [79400, 1], [79399, 1], [79398, 1], [79397, 1], [79396, 1], [79395, 1], [79394, 1], [79393, 1], [79392, 1], [79391, 1], [79390, 1], [79389, 1], [79388, 1], [79387, 1], [79386, 1], [79385, 1], [79384, 1], [79383, 1], [79382, 1], [79381, 1], [79380, 1], [79379, 1], [79378, 1], [79377, 1], [79376, 1], [79375, 1], [79374, 1], [79373, 1], [79372, 1], [80673, 1], [80673, 0, "2"], [80676, 1], [80676, 1], [80676, 1], [80676, 1], [80676, 1], [80676, 1], [80676, 1], [80676, 1], [80676, 0, "a"], [80677, 0, "p"], [80678, 0, "p"], [80679, 0, "e"], [80680, 0, "a"], [80681, 0, "r"], [80682, 0, "s"], [80683, 0, " "], [80684, 0, "a"], [80685, 0, "f"], [80686, 0, "t"], [80687, 0, "e"], [80688, 0, "r"], [80693, 1], [80693, 0, "1"], [80891, 1], [80890, 1], [80889, 1], [80888, 1], [80887, 1], [80886, 1], [80913, 1], [80913, 0, "s"], [80914, 0, "p"], [80914, 1], [80914, 0, "o"], [80915, 0, "m"], [80916, 0, "e"], [80939, 1], [80938, 1], [80937, 1], [80936, 1], [80935, 1], [80934, 1], [80933, 1], [80932, 1], [80931, 1], [80930, 1], [80929, 1], [80928, 1], [80927, 1], [80927, 0, "a"], [80928, 0, "f"], [80929, 0, "t"], [80930, 0, "e"], [80931, 0, "r"], [80891, 1], [80890, 1], [80889, 1], [80888, 1], [80887, 1], [80886, 1], [80881, 0, ","], [80887, 0, "t"], [80888, 0, "h"], [80889, 0, "e"], [80890, 0, "r"], [80891, 0, "e"], [80892, 0, "f"], [80893, 0, "o"], [80894, 0, "r"], [80895, 0, "e"], [80914, 0, "i"], [80915, 0, "s"], [80916, 0, " "], [80917, 0, "i"], [80918, 0, "n"], [80919, 0, "s"], [80920, 0, "e"], [80921, 0, "r"], [80922, 0, "t"], [80923, 0, "e"], [80924, 0, "d"], [80925, 0, " "], [81519, 1], [81518, 1], [81517, 1], [81516, 1], [81515, 1], [81514, 1], [81513, 1], [81512, 1], [81511, 1], [81510, 1], [81509, 1], [81508, 1], [81507, 1], [81506, 1], [81524, 0, "i"], [81525, 0, "s"], [81526, 0, " "], [81527, 0, "n"], [81528, 0, "e"], [81529, 0, "v"], [81530, 0, "e"], [81531, 0, "r"], [81532, 0, " "], [81533, 0, "i"], [81534, 0, "n"], [81535, 0, "s"], [81536, 0, "e"], [81537, 0, "r"], [81538, 0, "t"], [81539, 0, "e"], [81540, 0, "d"], [81541, 0, " "], [81573, 1], [81572, 1], [81571, 1], [81570, 1], [81569, 1], [81568, 1], [81567, 1], [81566, 1], [81565, 1], [81564, 1], [81563, 1], [81562, 1], [81562, 0, "h"], [81563, 0, "a"], [81564, 0, "t"], [81565, 0, " "], [81566, 0, "a"], [81567, 0, "p"], [81568, 0, "p"], [81569, 0, "e"], [81570, 0, "a"], [81571, 0, "r"], [81572, 0, "s"], [81573, 0, " "], [81574, 0, "a"], [81575, 0, "f"], [81576, 0, "t"], [81577, 0, "e"], [81578, 0, "r"], [81598, 0, "\n"], [81599, 0, "\n"], [81600, 0, "%"], [81601, 0, " "], [81602, 0, "T"], [81603, 0, "O"], [81604, 0, "D"], [81605, 0, "O"], [81606, 0, " "], [81607, 0, "w"], [81608, 0, "o"], [81609, 0, "r"], [81610, 0, "k"], [81611, 0, "i"], [81612, 0, "n"], [81613, 0, " "], [81614, 0, "g"], [81615, 0, "p"], [81615, 1], [81614, 1], [81613, 1], [81612, 1], [81611, 1], [81611, 0, " "], [81612, 0, "i"], [81613, 0, "n"], [81614, 0, " "], [81615, 0, "p"], [81616, 0, "r"], [81617, 0, "o"], [81618, 0, "g"], [81619, 0, "r"], [81620, 0, "e"], [81621, 0, "s"], [81622, 0, "s"], [81623, 0, " "], [81624, 0, "h"], [81625, 0, "e"], [81626, 0, "r"], [81627, 0, "e"], [81601, 0, "%"], [81602, 0, "%"], [81603, 0, "%"], [81604, 0, "%"], [81605, 0, "%"], [81606, 0, "%"], [81607, 0, "%"], [81608, 0, "%"], [81609, 0, "%"], [81610, 0, "%"], [81611, 0, "%"], [81639, 0, " "], [81640, 0, "%"], [81641, 0, "%"], [81642, 0, "%"], [81643, 0, "%"], [81644, 0, "%"], [81645, 0, "%"], [81646, 0, "%"], [81647, 0, "%"], [81648, 0, "%"], [81649, 0, "%"], [81650, 0, "%"], [81651, 0, "%"], [81652, 0, "%"], [81653, 0, "%"], [81654, 0, "%"], [81655, 0, "%"], [81656, 0, "%"], [81657, 0, "%"], [81658, 0, "%"], [81659, 0, "%"], [81660, 0, "%"], [81598, 0, "\n"], [81599, 0, "\n"], [81600, 0, "\\"], [81601, 0, "b"], [81602, 0, "e"], [81603, 0, "g"], [81604, 0, "i"], [81605, 0, "n"], [81606, 0, "{"], [81607, 0, "l"], [81608, 0, "e"], [81609, 0, "m"], [81610, 0, "m"], [81611, 0, "a"], [81612, 0, "}"], [81613, 0, "\\"], [81614, 0, "l"], [81615, 0, "a"], [81616, 0, "b"], [81617, 0, "e"], [81618, 0, "l"], [81619, 0, "{"], [81620, 0, "l"], [81621, 0, "e"], [81622, 0, "m"], [81623, 0, ":"], [81624, 0, "i"], [81625, 0, "n"], [81626, 0, "s"], [81627, 0, "e"], [81628, 0, "r"], [81629, 0, "t"], [81630, 0, "-"], [81631, 0, "r"], [81632, 0, "e"], [81633, 0, "o"], [81634, 0, "r"], [81635, 0, "d"], [81636, 0, "e"], [81637, 0, "r"], [81638, 0, "}"], [81639, 0, "\n"], [81640, 0, "\\"], [81641, 0, "e"], [81642, 0, "n"], [81643, 0, "d"], [81644, 0, "{"], [81645, 0, "l"], [81646, 0, "e"], [81647, 0, "m"], [81648, 0, "m"], [81649, 0, "a"], [81650, 0, "}"], [81640, 0, "\n"], [81640, 0, "A"], [81641, 0, "n"], [81642, 0, " "], [81643, 0, "i"], [81644, 0, "n"], [81645, 0, "s"], [81646, 0, "e"], [81647, 0, "r"], [81648, 0, "t"], [81649, 0, "i"], [81650, 0, "o"], [81651, 0, "n"], [81652, 0, " "], [81653, 0, "o"], [81654, 0, "p"], [81655, 0, "e"], [81656, 0, "r"], [81657, 0, "a"], [81658, 0, "t"], [81659, 0, "i"], [81660, 0, "o"], [81661, 0, "n"], [81662, 0, " "], [81663, 0, "c"], [81664, 0, "a"], [81665, 0, "n"], [81666, 0, " "], [81667, 0, "b"], [81668, 0, "e"], [81669, 0, " "], [81670, 0, "r"], [81671, 0, "e"], [81640, 0, "I"], [81641, 0, "n"], [81642, 0, " "], [81643, 0, "a"], [81644, 0, "n"], [81645, 0, " "], [81646, 0, "o"], [81647, 0, "p"], [81648, 0, "e"], [81649, 0, "r"], [81650, 0, "a"], [81651, 0, "t"], [81652, 0, "i"], [81653, 0, "o"], [81654, 0, "n"], [81655, 0, " "], [81656, 0, "h"], [81657, 0, "i"], [81658, 0, "s"], [81659, 0, "t"], [81660, 0, "o"], [81661, 0, "r"], [81662, 0, "y"], [81663, 0, ","], [81664, 0, " "], [81665, 1], [81665, 0, "a"], [81697, 0, "o"], [81698, 0, "r"], [81699, 0, "d"], [81700, 0, "e"], [81701, 0, "r"], [81702, 0, "e"], [81703, 0, "d"], [81704, 0, " "], [81705, 0, "w"], [81706, 0, "i"], [81707, 0, "t"], [81708, 0, "h"], [81709, 0, " "], [81710, 0, "r"], [81711, 0, "e"], [81712, 0, "s"], [81713, 0, "p"], [81714, 0, "e"], [81715, 0, "c"], [81716, 0, "t"], [81717, 0, " "], [81718, 0, "t"], [81719, 0, "o"], [81720, 0, " "], [81721, 0, "c"], [81722, 0, "o"], [81723, 0, "n"], [81724, 0, "c"], [81725, 0, "u"], [81726, 0, "r"], [81727, 0, "r"], [81728, 0, "e"], [81729, 0, "n"], [81730, 0, "t"], [81731, 0, " "], [81732, 0, "i"], [81733, 0, "n"], [81734, 0, "s"], [81735, 0, "e"], [81736, 0, "r"], [81737, 0, "t"], [81738, 0, "i"], [81739, 0, "o"], [81740, 0, "n"], [81741, 0, " "], [81742, 0, "o"], [81743, 0, "p"], [81744, 0, "e"], [81745, 0, "r"], [81746, 0, "a"], [81747, 0, "t"], [81748, 0, "i"], [81749, 0, "o"], [81750, 0, "n"], [81751, 0, "s"], [81752, 0, " "], [81753, 0, "t"], [81754, 0, "o"], [81755, 0, " "], [81756, 0, "t"], [81757, 0, "h"], [81758, 0, "e"], [81759, 0, " "], [81760, 0, "s"], [81761, 0, "a"], [81762, 0, "m"], [81763, 0, "e"], [81764, 0, " "], [81765, 0, "l"], [81766, 0, "i"], [81767, 0, "s"], [81768, 0, "t"], [81769, 0, " "], [81770, 0, "w"], [81771, 0, "i"], [81772, 0, "t"], [81773, 0, "h"], [81774, 0, "o"], [81775, 0, "u"], [81776, 0, "t"], [81777, 0, " "], [81778, 0, "a"], [81779, 0, "f"], [81780, 0, "f"], [81781, 0, "e"], [81782, 0, "c"], [81783, 0, "t"], [81784, 0, "i"], [81785, 0, "n"], [81786, 0, "g"], [81787, 0, " "], [81688, 1], [81688, 1], [81688, 1], [81688, 1], [81688, 1], [81688, 1], [81688, 1], [81688, 1], [81688, 1], [81688, 1], [81688, 1], [81688, 1], [81688, 1], [81688, 1], [81688, 1], [81688, 1], [81688, 0, "i"], [81689, 0, "s"], [81690, 0, " "], [81691, 0, "c"], [81692, 0, "o"], [81693, 0, "m"], [81694, 0, "m"], [81695, 0, "u"], [81696, 0, "t"], [81697, 0, "a"], [81698, 0, "t"], [81699, 0, "i"], [81700, 0, "v"], [81701, 0, "e"], [81785, 1], [81784, 1], [81783, 1], [81782, 1], [81781, 1], [81780, 1], [81779, 1], [81778, 1], [81777, 1], [81776, 1], [81775, 1], [81774, 1], [81773, 1], [81772, 1], [81771, 1], [81770, 1], [81769, 1], [81768, 1], [81767, 1], [81767, 0, "."], [81780, 0, "\n"], [81781, 0, "\n"], [81782, 0, "\\"], [81783, 0, "b"], [81784, 0, "e"], [81785, 0, "g"], [81786, 0, "i"], [81787, 0, "n"], [81788, 0, "{"], [81789, 0, "p"], [81790, 0, "r"], [81791, 0, "o"], [81792, 0, "o"], [81793, 0, "f"], [81794, 0, "}"], [81795, 0, "\n"], [81796, 0, "\\"], [81797, 0, "e"], [81798, 0, "n"], [81799, 0, "d"], [81800, 0, "{"], [81801, 0, "p"], [81802, 0, "r"], [81803, 0, "o"], [81804, 0, "o"], [81805, 0, "f"], [81806, 0, "}"], [81795, 1], [81795, 0, "\n"], [81796, 0, "\n"], [81796, 0, "C"], [81797, 0, "o"], [81798, 0, "n"], [81799, 0, "s"], [81800, 0, "i"], [81801, 0, "d"], [81802, 0, "e"], [81803, 0, "r"], [81804, 0, " "], [81805, 0, "t"], [81806, 0, "h"], [81807, 0, "e"], [81808, 0, " "], [81809, 0, "o"], [81810, 0, "p"], [81811, 0, "e"], [81812, 0, "r"], [81813, 0, "a"], [81814, 0, "t"], [81815, 0, "i"], [81816, 0, "o"], [81817, 0, "n"], [81818, 0, " "], [81819, 0, "$"], [81820, 0, "o"], [81821, 0, "_"], [81822, 0, "{"], [81823, 0, "n"], [81824, 0, "+"], [81825, 0, "1"], [81826, 0, "}"], [81827, 0, "$"], [81828, 0, " "], [81829, 0, "b"], [81830, 0, "b"], [81831, 0, "e"], [81832, 0, "i"], [81833, 0, "n"], [81834, 0, "g"], [81835, 0, " "], [81835, 1], [81834, 1], [81833, 1], [81832, 1], [81831, 1], [81830, 1], [81830, 0, "e"], [81831, 0, "i"], [81832, 0, "n"], [81833, 0, "g"], [81834, 0, " "], [81835, 0, "r"], [81836, 0, "e"], [81837, 0, "o"], [81838, 0, "r"], [81839, 0, "d"], [81840, 0, "e"], [81841, 0, "r"], [81842, 0, "e"], [81843, 0, "d"], [81844, 0, " "], [81845, 0, "w"], [81846, 0, "i"], [81847, 0, "t"], [81848, 0, "h"], [81849, 0, " "], [81850, 0, "r"], [81851, 0, "e"], [81852, 0, "s"], [81853, 0, "p"], [81854, 0, "e"], [81855, 0, "c"], [81856, 0, "t"], [81857, 0, " "], [81858, 0, "t"], [81859, 0, "o"], [81860, 0, " "], [81861, 0, "c"], [81862, 0, "o"], [81863, 0, "n"], [81864, 0, "c"], [81865, 0, "u"], [81866, 0, "r"], [81867, 0, "r"], [81868, 0, "e"], [81869, 0, "n"], [81870, 0, "t"], [81871, 0, " "], [81872, 0, "o"], [81873, 0, "p"], [81874, 0, "e"], [81875, 0, "r"], [81876, 0, "a"], [81877, 0, "t"], [81878, 0, "i"], [81879, 0, "o"], [81880, 0, "n"], [81881, 0, "s"], [81882, 0, " "], [81883, 0, "i"], [81884, 0, "n"], [81885, 0, " "], [81886, 0, "a"], [81887, 0, " "], [81888, 0, "h"], [81889, 0, "i"], [81890, 0, "s"], [81891, 0, "t"], [81892, 0, "o"], [81893, 0, "r"], [81894, 0, "y"], [81895, 0, "."], [81896, 0, " "], [81897, 0, "$"], [81898, 0, "o"], [81899, 0, "_"], [81900, 0, "{"], [81901, 0, "n"], [81902, 0, "+"], [81903, 0, "1"], [81904, 0, "}"], [81905, 0, "$"], [81906, 0, " "], [81907, 0, "i"], [81908, 0, "s"], [81909, 0, " "], [81910, 0, "i"], [81911, 0, "n"], [81912, 0, "s"], [81913, 0, "e"], [81914, 0, "r"], [81915, 0, "t"], [81916, 0, "e"], [81917, 0, "d"], [81918, 0, " "], [81919, 0, "b"], [81920, 0, "e"], [81921, 0, "t"], [81922, 0, "w"], [81923, 0, "e"], [81924, 0, "e"], [81925, 0, "n"], [81926, 0, " "], [81927, 0, "s"], [81928, 0, "o"], [81929, 0, "m"], [81930, 0, "e"], [81931, 0, " "], [81932, 0, "$"], [81933, 0, "k"], [81934, 0, "_"], [81935, 0, "1"], [81936, 0, "$"], [81937, 0, " "], [81938, 0, "a"], [81939, 0, "n"], [81940, 0, "d"], [81941, 0, " "], [81942, 0, "$"], [81943, 0, "k"], [81944, 0, "_"], [81945, 0, "2"], [81946, 0, "$"], [81947, 0, " "], [81948, 0, "o"], [81949, 0, "n"], [81950, 0, " "], [81951, 0, "t"], [81952, 0, "h"], [81953, 0, "e"], [81954, 0, " "], [81955, 0, "r"], [81956, 0, "e"], [81957, 0, "p"], [81958, 0, "l"], [81959, 0, "i"], [81960, 0, "c"], [81961, 0, "a"], [81962, 0, " "], [81963, 0, "w"], [81964, 0, "h"], [81965, 0, "e"], [81966, 0, "r"], [81967, 0, "e"], [81968, 0, " "], [81969, 0, "i"], [81970, 0, "t"], [81971, 0, " "], [81972, 0, "o"], [81973, 0, "r"], [81974, 0, "i"], [81975, 0, "g"], [81976, 0, "i"], [81977, 0, "n"], [81978, 0, "a"], [81979, 0, "t"], [81980, 0, "e"], [81981, 0, "d"], [81982, 0, "."], [81983, 0, " "], [81984, 0, "I"], [81985, 0, "f"], [81986, 0, " "], [81987, 0, "a"], [81988, 0, "n"], [81989, 0, "y"], [81990, 0, " "], [81991, 0, "c"], [81992, 0, "o"], [81993, 0, "n"], [81994, 0, "c"], [81995, 0, "u"], [81996, 0, "r"], [81997, 0, "r"], [81998, 0, "e"], [81999, 0, "n"], [82000, 0, "t"], [82001, 0, " "], [82002, 0, "o"], [82003, 0, "p"], [82004, 0, "e"], [82005, 0, "r"], [82006, 0, "a"], [82007, 0, "t"], [82008, 0, "i"], [82009, 0, "o"], [82010, 0, "n"], [82011, 0, " "], [82012, 0, "j"], [82012, 1], [82012, 0, "i"], [82013, 0, "n"], [82014, 0, "s"], [82015, 0, "e"], [82016, 0, "r"], [82017, 0, "t"], [82018, 0, "s"], [82019, 0, " "], [82020, 0, "a"], [82021, 0, "t"], [82022, 0, " "], [82023, 0, "a"], [82024, 0, " "], [82025, 0, "p"], [82026, 0, "o"], [82027, 0, "s"], [82028, 0, "i"], [82029, 0, "t"], [82030, 0, "i"], [82031, 0, "o"], [82032, 0, "n"], [82033, 0, " "], [82034, 0, "t"], [82035, 0, "h"], [82036, 0, "a"], [82037, 0, "t"], [82038, 0, " "], [82039, 0, "i"], [82040, 0, "s"], [82041, 0, " "], [82042, 0, "n"], [82043, 0, "o"], [82044, 0, "t"], [82045, 0, " "], [82046, 0, "b"], [82047, 0, "e"], [82048, 0, "t"], [82049, 0, "w"], [82050, 0, "e"], [82051, 0, "e"], [82052, 0, "n"], [82053, 0, " "], [82054, 0, "$"], [82055, 0, "k"], [82056, 0, "_"], [82057, 0, "1"], [82058, 0, "$"], [82059, 0, " "], [82060, 0, "a"], [82061, 0, "n"], [82062, 0, "d"], [82063, 0, " "], [82064, 0, "$"], [82065, 0, "k"], [82066, 0, "_"], [82067, 0, "2"], [82068, 0, "$"], [82069, 0, ","], [82070, 0, " "], [82071, 0, "t"], [82072, 0, "h"], [82073, 0, "e"], [82074, 0, "n"], [82075, 0, " "], [82076, 0, "b"], [82077, 0, "y"], [82078, 0, " "], [82079, 0, "L"], [82080, 0, "e"], [82081, 0, "m"], [82082, 0, "m"], [82083, 0, "a"], [82084, 0, "~"], [82085, 0, "\\"], [82086, 0, "r"], [82087, 0, "e"], [82088, 0, "f"], [82089, 0, "{"], [82090, 0, "i"], [82091, 0, "n"], [82092, 0, "s"], [82093, 0, "e"], [82094, 0, "r"], [82095, 0, "t"], [82096, 0, "-"], [82097, 0, "b"], [82098, 0, "e"], [82099, 0, "t"], [82100, 0, "w"], [82101, 0, "e"], [82102, 0, "e"], [82103, 0, "n"], [82104, 0, "}"], [82105, 0, " "], [82106, 0, "t"], [82107, 0, "h"], [82108, 0, "e"], [82109, 0, " "], [82110, 0, "o"], [82111, 0, "p"], [82112, 0, "e"], [82113, 0, "r"], [82114, 0, "a"], [82115, 0, "t"], [82116, 0, "i"], [82117, 0, "o"], [82118, 0, "n"], [82119, 0, "s"], [82120, 0, " "], [82121, 0, "c"], [82122, 0, "a"], [82123, 0, "n"], [82124, 0, "n"], [82125, 0, "o"], [82126, 0, "t"], [82127, 0, " "], [82128, 0, "a"], [82129, 0, "f"], [82130, 0, "f"], [82131, 0, "e"], [82132, 0, "c"], [82133, 0, "t"], [82134, 0, " "], [82135, 0, "e"], [82136, 0, "a"], [82137, 0, "c"], [82138, 0, "h"], [82139, 0, " "], [82140, 0, "o"], [82141, 0, "t"], [82142, 0, "h"], [82143, 0, "e"], [82144, 0, "r"], [82145, 0, ","], [82146, 0, " "], [82147, 0, "a"], [82148, 0, "n"], [82149, 0, "d"], [82150, 0, " "], [82151, 0, "s"], [82152, 0, "o"], [82153, 0, " "], [82154, 0, "t"], [82155, 0, "h"], [82156, 0, "e"], [82157, 0, "y"], [82158, 0, " "], [82159, 0, "h"], [82160, 0, "a"], [82161, 0, "v"], [82162, 0, "e"], [82163, 0, " "], [82164, 0, "t"], [82165, 0, "h"], [82166, 0, "e"], [82167, 0, " "], [82168, 0, "s"], [82169, 0, "a"], [82170, 0, "m"], [82171, 0, "e"], [82172, 0, " "], [82173, 0, "e"], [82174, 0, "f"], [82175, 0, "f"], [82176, 0, "e"], [82177, 0, "c"], [82178, 0, "t"], [82179, 0, " "], [82180, 0, "r"], [82181, 0, "e"], [82182, 0, "g"], [82183, 0, "a"], [82184, 0, "r"], [82185, 0, "d"], [82186, 0, "l"], [82187, 0, "e"], [82188, 0, "s"], [82189, 0, "s"], [82190, 0, " "], [82191, 0, "o"], [82192, 0, "f"], [82193, 0, " "], [82194, 0, "t"], [82195, 0, "h"], [82196, 0, "e"], [82197, 0, "i"], [82198, 0, "r"], [82199, 0, " "], [82200, 0, "o"], [82201, 0, "r"], [82202, 0, "d"], [82203, 0, "e"], [82204, 0, "r"], [82205, 0, "."], [81983, 0, "\n"], [81984, 0, "\n"], [81985, 1], [82207, 0, " "], [82208, 0, "F"], [82209, 0, "o"], [82210, 0, "r"], [82211, 0, " "], [82212, 0, "t"], [82213, 0, "h"], [82214, 0, "e"], [82215, 0, " "], [82216, 0, "r"], [82217, 0, "e"], [82218, 0, "s"], [82219, 0, "t"], [82220, 0, " "], [82221, 0, "o"], [82222, 0, "f"], [82223, 0, " "], [82224, 0, "t"], [82225, 0, "h"], [82226, 0, "i"], [82227, 0, "s"], [82228, 0, " "], [82229, 0, "p"], [82230, 0, "r"], [82231, 0, "o"], [82232, 0, "o"], [82233, 0, "f"], [82234, 0, ","], [82235, 0, " "], [82236, 0, "c"], [82237, 0, "o"], [82238, 0, "n"], [82239, 0, "s"], [82240, 0, "i"], [82241, 0, "d"], [82242, 0, "e"], [82243, 0, "r"], [82236, 0, "w"], [82237, 0, "e"], [82238, 0, " "], [82247, 0, " "], [82248, 0, "o"], [82249, 0, "n"], [82250, 0, "l"], [82251, 0, "y"], [82252, 0, " "], [82253, 0, "c"], [82254, 0, "o"], [82255, 0, "n"], [82256, 0, "c"], [82257, 0, "u"], [82258, 0, "r"], [82259, 0, "r"], [82260, 0, "e"], [82261, 0, "n"], [82262, 0, "t"], [82263, 0, " "], [82264, 0, "o"], [82265, 0, "p"], [82266, 0, "e"], [82267, 0, "r"], [82268, 0, "a"], [82269, 0, "t"], [82270, 0, "i"], [82271, 0, "o"], [82272, 0, "n"], [82273, 0, "s"], [82274, 0, " "], [82275, 0, "t"], [82276, 0, "h"], [82277, 0, "a"], [82278, 0, "t"], [82279, 0, " "], [82280, 0, "a"], [82281, 0, "r"], [82282, 0, "e"], [82283, 0, " "], [82283, 1], [82282, 1], [82281, 1], [82280, 1], [82280, 0, "i"], [82281, 0, "n"], [82282, 0, "s"], [82283, 0, "e"], [82284, 0, "r"], [82285, 0, "t"], [82286, 0, " "], [82287, 0, "a"], [82288, 0, "t"], [82289, 0, " "], [82290, 0, "a"], [82291, 0, " "], [82292, 0, "p"], [82293, 0, "o"], [82294, 0, "s"], [82295, 0, "i"], [82296, 0, "t"], [82297, 0, "i"], [82298, 0, "o"], [82299, 0, "n"], [82300, 0, " "], [82301, 0, "b"], [82302, 0, "e"], [82303, 0, "t"], [82304, 0, "w"], [82305, 0, "e"], [82306, 0, "e"], [82307, 0, "n"], [82308, 0, " "], [82309, 0, "$"], [82310, 0, "k"], [82311, 0, "_"], [82312, 0, "1"], [82313, 0, "$"], [82314, 0, " "], [82315, 0, "a"], [82316, 0, "n"], [82317, 0, "d"], [82318, 0, " "], [82319, 0, "$"], [82320, 0, "k"], [82321, 0, "_"], [82322, 0, "2"], [82323, 0, "$"], [82324, 0, "."], [82091, 0, "l"], [82092, 0, "e"], [82093, 0, "m"], [82094, 0, ":"], [78436, 0, " "], [78437, 0, "M"], [78438, 0, "o"], [78439, 0, "r"], [78440, 0, "e"], [78441, 0, "o"], [78442, 0, "v"], [78443, 0, "e"], [78444, 0, "r"], [78445, 0, ","], [78446, 0, " "], [78447, 0, "$"], [78448, 0, "j"], [78448, 1], [78448, 0, "k"], [78449, 0, "_"], [78450, 0, "j"], [78451, 0, "$"], [78452, 0, " "], [78453, 0, "a"], [78454, 0, "p"], [78455, 0, "p"], [78456, 0, "e"], [78457, 0, "a"], [78458, 0, "r"], [78459, 0, "s"], [78460, 0, " "], [78461, 0, "\\"], [78462, 0, "e"], [78463, 0, "m"], [78464, 0, "p"], [78465, 0, "h"], [78466, 0, "{"], [78467, 0, "i"], [78468, 0, "m"], [78469, 0, "m"], [78470, 0, "e"], [78471, 0, "d"], [78472, 0, "i"], [78473, 0, "a"], [78474, 0, "t"], [78475, 0, "e"], [78476, 0, "l"], [78477, 0, "y"], [78478, 0, " "], [78479, 0, "a"], [78480, 0, "f"], [78481, 0, "t"], [78482, 0, "e"], [78483, 0, "r"], [78484, 0, "}"], [78467, 0, "a"], [78468, 0, "p"], [78469, 0, "p"], [78470, 0, "e"], [78471, 0, "a"], [78472, 0, "r"], [78472, 1], [78471, 1], [78470, 1], [78469, 1], [78468, 1], [78467, 1], [78485, 0, " "], [78486, 0, "$"], [78487, 0, "k"], [78488, 0, "_"], [78489, 0, "1"], [78490, 0, "$"], [78491, 0, " "], [78492, 0, "i"], [78493, 0, "f"], [78494, 0, " "], [78495, 0, "t"], [78496, 0, "h"], [78497, 0, "a"], [78498, 0, "t"], [78499, 0, " "], [78500, 0, "s"], [78501, 0, "e"], [78502, 0, "q"], [78503, 0, "u"], [78504, 0, "e"], [78505, 0, "n"], [78506, 0, "c"], [78507, 0, "e"], [78508, 0, " "], [78509, 0, "i"], [78510, 0, "s"], [78511, 0, " "], [78512, 0, "e"], [78513, 0, "m"], [78514, 0, "p"], [78515, 0, "t"], [78516, 0, "y"], [78517, 0, ","], [78518, 0, " "], [78519, 0, "i"], [78520, 0, "."], [78521, 0, "e"], [78522, 0, "."], [78523, 0, " "], [78524, 0, "$"], [78525, 0, "\\"], [78526, 0, "m"], [78527, 0, "a"], [78528, 0, "t"], [78529, 0, "h"], [78530, 0, "i"], [78531, 0, "t"], [78532, 0, "{"], [78533, 0, "c"], [78534, 0, "t"], [78535, 0, "x"], [78536, 0, "}"], [78537, 0, "("], [78538, 0, "\\"], [78539, 0, "m"], [78540, 0, "a"], [78541, 0, "t"], [78542, 0, "h"], [78543, 0, "s"], [78544, 0, "f"], [78545, 0, "{"], [78546, 0, "n"], [78547, 0, "e"], [78548, 0, "x"], [78549, 0, "t"], [78550, 0, "}"], [78551, 0, ")"], [78551, 1], [78551, 0, "("], [78552, 0, "k"], [78553, 0, "_"], [78554, 0, "1"], [78555, 0, ")"], [78556, 0, ")"], [78557, 0, "$"], [78557, 1], [78557, 0, " "], [78558, 0, "="], [78559, 0, " "], [78560, 0, "k"], [78561, 0, "_"], [78562, 0, "j"], [78563, 0, "$"], [78564, 0, "."], [78523, 0, " "], [78524, 0, "i"], [78525, 0, "f"], [78446, 0, " "], [78447, 0, "w"], [78448, 0, "e"], [78449, 0, " "], [78450, 0, "s"], [78451, 0, "a"], [78452, 0, "y"], [81737, 0, "\n"], [81738, 0, "\n"], [81739, 0, "\\"], [81740, 0, "e"], [81740, 1], [81740, 0, "b"], [81741, 0, "e"], [81742, 0, "g"], [81743, 0, "i"], [81744, 0, "n"], [81745, 0, "{"], [81746, 0, "d"], [81747, 0, "e"], [81748, 0, "f"], [81749, 0, "i"], [81750, 0, "n"], [81751, 0, "i"], [81752, 0, "t"], [81753, 0, "i"], [81754, 0, "o"], [81755, 0, "n"], [81756, 0, "}"], [81757, 0, "["], [81758, 0, "c"], [81759, 0, "o"], [81760, 0, "m"], [81761, 0, "m"], [81762, 0, "a"], [81763, 0, "n"], [81763, 1], [81762, 1], [81762, 0, "o"], [81763, 0, "n"], [81764, 0, " "], [81765, 0, "a"], [81766, 0, "n"], [81767, 0, "c"], [81768, 0, "e"], [81769, 0, "s"], [81770, 0, "t"], [81771, 0, "o"], [81772, 0, "r"], [81773, 0, "]"], [81774, 0, "\\"], [81775, 0, "l"], [81776, 0, "a"], [81777, 0, "b"], [81778, 0, "e"], [81779, 0, "l"], [81780, 0, "{"], [81781, 0, "d"], [81782, 0, "e"], [81783, 0, "f"], [81784, 0, ":"], [81785, 0, "c"], [81786, 0, "o"], [81787, 0, "m"], [81788, 0, "m"], [81789, 0, "o"], [81790, 0, "n"], [81791, 0, "-"], [81792, 0, "a"], [81793, 0, "n"], [81794, 0, "c"], [81795, 0, "e"], [81796, 0, "s"], [81797, 0, "t"], [81798, 0, "o"], [81799, 0, "r"], [81800, 0, "}"], [81801, 0, "\n"], [81802, 0, "\\"], [81803, 0, "e"], [81804, 0, "n"], [81805, 0, "d"], [81806, 0, "{"], [81807, 0, "d"], [81808, 0, "e"], [81809, 0, "f"], [81810, 0, "i"], [81811, 0, "n"], [81812, 0, "i"], [81813, 0, "t"], [81814, 0, "i"], [81815, 0, "o"], [81816, 0, "n"], [81817, 0, "}"], [81801, 0, "\n"], [81802, 0, "I"], [81803, 0, "n"], [81804, 0, " "], [81805, 0, "a"], [81806, 0, " "], [81807, 0, "h"], [81808, 0, "i"], [81809, 0, "s"], [81810, 0, "t"], [81811, 0, "o"], [81812, 0, "r"], [81813, 0, "y"], [81814, 0, " "], [81815, 0, "$"], [81816, 0, "H"], [81817, 0, "$"], [81818, 0, ","], [81819, 0, " "], [81820, 0, "t"], [81821, 0, "h"], [81822, 0, "e"], [81823, 0, " "], [81824, 0, "\\"], [81825, 0, "e"], [81826, 0, "m"], [81827, 0, "p"], [81828, 0, "h"], [81829, 0, "{"], [81830, 0, "c"], [81831, 0, "o"], [81832, 0, "m"], [81833, 0, "m"], [81834, 0, "o"], [81835, 0, "n"], [81836, 0, " "], [81837, 0, "a"], [81838, 0, "n"], [81839, 0, "c"], [81840, 0, "e"], [81841, 0, "s"], [81842, 0, "t"], [81843, 0, "o"], [81844, 0, "r"], [81845, 0, "}"], [81846, 0, " "], [81847, 0, "o"], [81848, 0, "f"], [81849, 0, " "], [81850, 0, "t"], [81851, 0, "w"], [81852, 0, "o"], [81853, 0, " "], [81854, 0, "o"], [81855, 0, "p"], [81856, 0, "e"], [81857, 0, "r"], [81858, 0, "a"], [81859, 0, "t"], [81860, 0, "i"], [81861, 0, "o"], [81862, 0, "n"], [81863, 0, "s"], [81864, 0, " "], [81865, 0, "$"], [81866, 0, "o"], [81867, 0, "_"], [81868, 0, "1"], [81869, 0, "$"], [81870, 0, " "], [81871, 0, "a"], [81872, 0, "n"], [81873, 0, "d"], [81874, 0, " "], [81875, 0, "$"], [81876, 0, "o"], [81877, 0, "_"], [81878, 0, "2"], [81879, 0, "$"], [81880, 0, "%"], [81880, 1], [81880, 0, " "], [81881, 0, "i"], [81882, 0, "s"], [81883, 0, " "], [81884, 0, "t"], [81885, 0, "h"], [81886, 0, "e"], [81887, 0, " "], [81888, 0, "l"], [81888, 1], [81888, 0, "d"], [81889, 0, "o"], [81890, 0, "c"], [81891, 0, "u"], [81892, 0, "m"], [81893, 0, "e"], [81894, 0, "n"], [81895, 0, "t"], [81896, 0, " "], [81897, 0, "s"], [81898, 0, "t"], [81899, 0, "a"], [81900, 0, "t"], [81901, 0, "e"], [81902, 0, " "], [81903, 0, "t"], [81904, 0, "h"], [81905, 0, "a"], [81906, 0, "t"], [81907, 0, " "], [81888, 0, "m"], [81888, 1], [81888, 0, "l"], [81889, 0, "a"], [81890, 0, "t"], [81891, 0, "e"], [81892, 0, "s"], [81893, 0, "t"], [81894, 0, " "], [81915, 0, "c"], [81916, 0, "a"], [81917, 0, "u"], [81918, 0, "s"], [81919, 0, "a"], [81920, 0, "l"], [81921, 0, "l"], [81922, 0, "y"], [81923, 0, " "], [81924, 0, "p"], [81925, 0, "r"], [81926, 0, "e"], [81927, 0, "c"], [81928, 0, "e"], [81929, 0, "d"], [81930, 0, "e"], [81931, 0, "s"], [81932, 0, " "], [81933, 0, "b"], [81934, 0, "o"], [81935, 0, "t"], [81936, 0, "h"], [81937, 0, " "], [81938, 0, "$"], [81939, 0, "o"], [81940, 0, "_"], [81941, 0, "1"], [81942, 0, "$"], [81943, 0, " "], [81944, 0, "a"], [81945, 0, "n"], [81946, 0, "d"], [81947, 0, " "], [81948, 0, "$"], [81949, 0, "o"], [81950, 0, "_"], [81951, 0, "2"], [81952, 0, "$"], [81953, 0, "."], [81972, 0, "\n"], [81973, 0, "\n"], [81973, 0, "T"], [81974, 0, "h"], [81975, 0, "e"], [81976, 0, " "], [81977, 0, "c"], [81978, 0, "o"], [81979, 0, "m"], [81980, 0, "m"], [81981, 0, "o"], [81982, 0, "n"], [81983, 0, " "], [81984, 0, "a"], [81985, 0, "n"], [81986, 0, "c"], [81987, 0, "e"], [81988, 0, "s"], [81989, 0, "t"], [81990, 0, "o"], [81991, 0, "r"], [81992, 0, " "], [81993, 0, "c"], [81994, 0, "a"], [81995, 0, "n"], [81996, 0, " "], [81997, 0, "b"], [81998, 0, "e"], [81999, 0, " "], [82000, 0, "d"], [82001, 0, "e"], [82002, 0, "f"], [82003, 0, "i"], [82004, 0, "n"], [82005, 0, "e"], [82006, 0, "d"], [82007, 0, " "], [82008, 0, "m"], [82009, 0, "o"], [82010, 0, "r"], [82011, 0, "e"], [82012, 0, " "], [82013, 0, "f"], [82014, 0, "o"], [82015, 0, "r"], [82016, 0, "m"], [82017, 0, "a"], [82018, 0, "l"], [82019, 0, "l"], [82020, 0, "y"], [82021, 0, " "], [82022, 0, "a"], [82023, 0, "s"], [82024, 0, " "], [82025, 0, "t"], [82026, 0, "h"], [82027, 0, "e"], [82028, 0, " "], [82029, 0, "d"], [82030, 0, "o"], [82031, 0, "c"], [82032, 0, "u"], [82033, 0, "m"], [82034, 0, "e"], [82035, 0, "n"], [82036, 0, "t"], [82037, 0, " "], [82038, 0, "s"], [82039, 0, "t"], [82040, 0, "a"], [82041, 0, "t"], [82042, 0, "e"], [82043, 0, " "], [82044, 0, "r"], [82045, 0, "e"], [82046, 0, "s"], [82047, 0, "u"], [82048, 0, "l"], [82049, 0, "t"], [82050, 0, "i"], [82051, 0, "n"], [82052, 0, "g"], [82053, 0, " "], [82054, 0, "f"], [82055, 0, "r"], [82056, 0, "o"], [82057, 0, "m"], [82058, 0, " "], [82059, 0, "a"], [82060, 0, "p"], [82061, 0, "p"], [82062, 0, "l"], [82063, 0, "y"], [82064, 0, "i"], [82065, 0, "n"], [82066, 0, "g"], [82067, 0, " "], [82068, 0, "a"], [82069, 0, " "], [82070, 0, "p"], [82071, 0, "r"], [82072, 0, "e"], [82073, 0, "f"], [82074, 0, "i"], [82075, 0, "x"], [82076, 0, " "], [82077, 0, "o"], [82078, 0, "f"], [82079, 0, " "], [82080, 0, "o"], [82081, 0, "p"], [82082, 0, "e"], [82083, 0, "r"], [82084, 0, "a"], [82085, 0, "t"], [82086, 0, "i"], [82087, 0, "o"], [82088, 0, "n"], [82089, 0, "s"], [82090, 0, " "], [82091, 0, "i"], [82092, 0, "n"], [82093, 0, " "], [82094, 0, "$"], [82095, 0, "H"], [82096, 0, "$"], [82078, 1], [82077, 1], [82076, 1], [82075, 1], [82074, 1], [82073, 1], [82072, 1], [82071, 1], [82070, 1], [82070, 0, "s"], [82071, 0, "e"], [82072, 0, "q"], [82073, 0, "u"], [82074, 0, "e"], [82075, 0, "n"], [82076, 0, "c"], [82077, 0, "e"], [82078, 0, " "], [82079, 0, "o"], [82080, 0, "f"], [82093, 1], [82093, 1], [82093, 0, "t"], [82094, 0, "h"], [82094, 1], [82093, 1], [82092, 1], [82092, 0, ","], [82093, 0, " "], [82094, 0, "n"], [82095, 0, "a"], [82096, 0, "m"], [82097, 0, "e"], [82098, 0, "l"], [82099, 0, "y"], [82100, 0, " "], [82101, 0, "t"], [82102, 0, "h"], [82103, 0, "e"], [82104, 0, " "], [82105, 0, "s"], [82106, 0, "h"], [82107, 0, "o"], [82108, 0, "r"], [82109, 0, "t"], [82110, 0, "e"], [82111, 0, "s"], [82112, 0, "t"], [82113, 0, " "], [82114, 0, "p"], [82115, 0, "r"], [82116, 0, "e"], [82117, 0, "f"], [82118, 0, "i"], [82119, 0, "x"], [82120, 0, " "], [82121, 0, "o"], [82122, 0, "f"], [82127, 0, " "], [82128, 0, "t"], [82129, 0, "h"], [82130, 0, "a"], [82131, 0, "t"], [82132, 0, " "], [82133, 0, "s"], [82134, 0, "a"], [82135, 0, "t"], [82136, 0, "i"], [82137, 0, "s"], [82138, 0, "f"], [82139, 0, "i"], [82140, 0, "e"], [82141, 0, "s"], [82142, 0, " "], [81992, 0, " "], [81993, 0, "o"], [81994, 0, "f"], [81995, 0, " "], [81996, 0, "$"], [81997, 0, "O"], [81997, 1], [81997, 0, "o"], [81998, 0, "_"], [81999, 0, "1"], [82000, 0, "$"], [82001, 0, " "], [82002, 0, "a"], [82003, 0, "n"], [82004, 0, "d"], [82005, 0, " "], [82006, 0, "$"], [82007, 0, "o"], [82008, 0, "_"], [82009, 0, "2"], [82010, 0, "$"], [81868, 1], [81868, 0, "r"], [81878, 1], [81878, 0, "s"], [81941, 1], [81941, 0, "r"], [81951, 1], [81951, 0, "s"], [82009, 1], [82009, 0, "s"], [81999, 1], [81999, 0, "r"], [81868, 1], [81868, 0, "s"], [81878, 1], [81878, 0, "t"], [81878, 1], [81878, 0, "s"], [81868, 1], [81868, 0, "r"], [82111, 0, " "], [82112, 0, "$"], [82113, 0, "\\"], [82114, 0, "a"], [82114, 1], [82114, 0, "l"], [82115, 0, "a"], [82116, 0, "n"], [82117, 0, "g"], [82118, 0, "l"], [82119, 0, "e"], [82120, 0, " "], [82121, 0, "o"], [82122, 0, "_"], [82123, 0, "1"], [82124, 0, ","], [82125, 0, " "], [82126, 0, "\\"], [82127, 0, "d"], [82128, 0, "o"], [82129, 0, "t"], [82130, 0, "s"], [82131, 0, ","], [82132, 0, " "], [82133, 0, "o"], [82134, 0, "_"], [82135, 0, "j"], [82136, 0, " "], [82137, 0, "\\"], [82138, 0, "r"], [82139, 0, "a"], [82140, 0, "n"], [82141, 0, "g"], [82142, 0, "l"], [82143, 0, "e"], [82144, 0, "$"], [82145, 1], [82146, 1], [82146, 1], [82146, 1], [82146, 1], [82146, 1], [82146, 1], [82146, 0, "t"], [82147, 0, "h"], [82148, 0, "a"], [82149, 0, "t"], [82150, 0, " "], [82151, 0, "i"], [82152, 0, "s"], [82196, 0, "$"], [82197, 0, "("], [82198, 0, "o"], [82199, 0, "_"], [82200, 0, "r"], [82201, 0, "."], [82202, 0, "\\"], [82203, 0, "m"], [82204, 0, "a"], [82205, 0, "t"], [82206, 0, "h"], [82207, 0, "i"], [82208, 0, "t"], [82209, 0, "{"], [82210, 0, "d"], [82211, 0, "e"], [82212, 0, "p"], [82213, 0, "s"], [82214, 0, "}"], [82215, 0, " "], [82216, 0, "\\"], [82217, 0, "c"], [82218, 0, "u"], [82219, 0, "p"], [82220, 0, " "], [82221, 0, "o"], [82222, 0, "_"], [82223, 0, "s"], [82224, 0, "\\"], [82225, 0, "."], [82226, 0, "m"], [82227, 0, "a"], [82228, 0, "t"], [82229, 0, "h"], [82230, 0, "i"], [82231, 0, "t"], [82232, 0, "{"], [82233, 0, "d"], [82234, 0, "e"], [82235, 0, "p"], [82236, 0, "s"], [82237, 0, "}"], [82238, 0, ")"], [82239, 0, " "], [82240, 0, "\\"], [82241, 0, "s"], [82242, 0, "u"], [82243, 0, "b"], [82244, 0, "s"], [82245, 0, "e"], [82246, 0, "t"], [82247, 0, "e"], [82248, 0, "q"], [82249, 0, " "], [82250, 0, "\\"], [82251, 0, "{"], [82252, 0, "o"], [82253, 0, "_"], [82254, 0, "1"], [82255, 0, "."], [82256, 0, "\\"], [82257, 0, "m"], [82258, 0, "a"], [82259, 0, "t"], [82260, 0, "h"], [82261, 0, "i"], [82262, 0, "t"], [82263, 0, "{"], [82264, 0, "i"], [82265, 0, "d"], [82266, 0, "}"], [82267, 0, ","], [82268, 0, " "], [82269, 0, "\\"], [82270, 0, "d"], [82271, 0, "o"], [82272, 0, "t"], [82273, 0, "s"], [82274, 0, ","], [82275, 0, " "], [82276, 0, "o"], [82277, 0, "_"], [82278, 0, "j"], [82279, 0, "."], [82280, 0, "\\"], [82281, 0, "m"], [82282, 0, "a"], [82283, 0, "t"], [82284, 0, "h"], [82285, 0, "i"], [82286, 0, "t"], [82287, 0, "{"], [82288, 0, "i"], [82289, 0, "d"], [82290, 0, "}"], [82291, 0, "\\"], [82292, 0, "}"], [82293, 0, "$"], [82294, 0, "."], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [83103, 1], [82224, 0, "."], [82226, 1], [82327, 1], [82327, 0, "-"], [82219, 1], [82218, 1], [82217, 1], [82217, 0, "c"], [82218, 0, "a"], [82219, 0, "p"], [81853, 0, " "], [81854, 0, "c"], [81855, 0, "o"], [81856, 0, "n"], [81857, 0, "c"], [81858, 0, "u"], [81859, 0, "r"], [81860, 0, "r"], [81861, 0, "e"], [81862, 0, "n"], [81863, 0, "t"], [82307, 0, "\n"], [82308, 0, "\n"], [82308, 0, "\\"], [82309, 0, "b"], [82310, 0, "e"], [82311, 0, "g"], [82312, 0, "i"], [82313, 0, "n"], [82314, 0, "{"], [82315, 0, "d"], [82316, 0, "e"], [82317, 0, "f"], [82318, 0, "i"], [82319, 0, "n"], [82320, 0, "i"], [82321, 0, "t"], [82322, 0, "i"], [82323, 0, "o"], [82324, 0, "n"], [82325, 0, "}"], [82326, 0, "["], [82327, 0, "i"], [82328, 0, "n"], [82329, 0, "s"], [82330, 0, "e"], [82331, 0, "r"], [82332, 0, "t"], [82333, 0, "i"], [82334, 0, "o"], [82335, 0, "n"], [82336, 0, " "], [82337, 0, "i"], [82338, 0, "n"], [82339, 0, "t"], [82340, 0, "e"], [82341, 0, "r"], [82342, 0, "v"], [82343, 0, "a"], [82344, 0, "l"], [82345, 0, "\n"], [82345, 1], [82345, 0, "]"], [82346, 0, "\\"], [82347, 0, "l"], [82348, 0, "a"], [82349, 0, "b"], [82350, 0, "e"], [82351, 0, "l"], [82352, 0, "{"], [82353, 0, "d"], [82354, 0, "e"], [82355, 0, "f"], [82356, 0, ":"], [82357, 0, "i"], [82358, 0, "n"], [82359, 0, "s"], [82360, 0, "e"], [82361, 0, "r"], [82362, 0, "t"], [82363, 0, "-"], [82364, 0, "i"], [82365, 0, "n"], [82366, 0, "t"], [82367, 0, "e"], [82368, 0, "r"], [82369, 0, "v"], [82370, 0, "a"], [82371, 0, "l"], [82372, 0, "}"], [82373, 0, "\n"], [82374, 0, "\\"], [82375, 0, "e"], [82376, 0, "n"], [82377, 0, "d"], [82378, 0, "{"], [82379, 0, "d"], [82380, 0, "e"], [82381, 0, "f"], [82382, 0, "i"], [82383, 0, "n"], [82384, 0, "i"], [82385, 0, "t"], [82386, 0, "i"], [82387, 0, "o"], [82388, 0, "n"], [82389, 0, "}"], [82374, 0, "\n"], [82374, 0, "T"], [82374, 1], [82374, 0, "G"], [82375, 0, "i"], [82376, 0, "v"], [82377, 0, "e"], [82378, 0, "n"], [82379, 0, " "], [82380, 0, "t"], [82381, 0, "w"], [82382, 0, "o"], [82383, 0, " "], [82384, 0, "i"], [82385, 0, "n"], [82386, 0, "s"], [82387, 0, "e"], [82388, 0, "r"], [82389, 0, "t"], [82389, 1], [82388, 1], [82387, 1], [82386, 1], [82385, 1], [82384, 1], [82384, 0, "o"], [82385, 0, "p"], [82386, 0, "e"], [82387, 0, "r"], [82388, 0, "a"], [82389, 0, "t"], [82390, 0, "i"], [82391, 0, "o"], [82392, 0, "n"], [82393, 0, "s"], [82394, 0, " "], [82395, 0, "$"], [82396, 0, "o"], [82397, 0, "_"], [82398, 0, "r"], [82399, 0, "$"], [82400, 0, " "], [82401, 0, "a"], [82402, 0, "n"], [82403, 0, "d"], [82404, 0, " "], [82405, 0, "$"], [82406, 0, "o"], [82407, 0, "_"], [82408, 0, "s"], [82409, 0, "$"], [82410, 0, " "], [82411, 0, "t"], [82412, 0, "h"], [82413, 0, "a"], [82414, 0, "t"], [82415, 0, " "], [82416, 0, "i"], [82417, 0, "n"], [82418, 0, "s"], [82419, 0, "e"], [82420, 0, "r"], [82421, 0, "t"], [82422, 0, " "], [82423, 0, "i"], [82424, 0, "n"], [82425, 0, "t"], [82426, 0, "o"], [82427, 0, " "], [82428, 0, "t"], [82429, 0, "h"], [82430, 0, "e"], [82431, 0, " "], [82432, 0, "s"], [82433, 0, "a"], [82434, 0, "m"], [82435, 0, "e"], [82436, 0, " "], [82437, 0, "l"], [82438, 0, "i"], [82439, 0, "s"], [82440, 0, "t"], [82441, 0, ","], [82442, 0, " "], [82443, 0, "t"], [82444, 0, "h"], [82445, 0, "e"], [82446, 0, " "], [82447, 0, "\\"], [82448, 0, "e"], [82449, 0, "m"], [82450, 0, "p"], [82451, 0, "h"], [82452, 0, "{"], [82453, 0, "i"], [82454, 0, "n"], [82455, 0, "s"], [82456, 0, "e"], [82457, 0, "r"], [82458, 0, "t"], [82459, 0, "i"], [82460, 0, "o"], [82461, 0, "n"], [82462, 0, " "], [82463, 0, "i"], [82464, 0, "n"], [82465, 0, "t"], [82466, 0, "e"], [82467, 0, "r"], [82468, 0, "v"], [82469, 0, "a"], [82470, 0, "l"], [82471, 0, "}"], [82472, 0, " "], [82473, 0, "o"], [82474, 0, "f"], [82475, 0, " "], [82476, 0, "t"], [82477, 0, "h"], [82477, 1], [82476, 1], [82476, 0, "$"], [82477, 0, "o"], [82478, 0, "_"], [82479, 0, "r"], [82480, 0, "$"], [82481, 0, " "], [82482, 0, "i"], [82483, 0, "s"], [82484, 0, " "], [82485, 0, "t"], [82486, 0, "h"], [82487, 0, "e"], [82488, 0, " "], [82489, 0, "p"], [82490, 0, "a"], [82491, 0, "i"], [82492, 0, "r"], [82493, 0, " "], [82494, 0, "o"], [82495, 0, "f"], [82496, 0, " "], [82497, 0, "k"], [82498, 0, "e"], [82499, 0, "y"], [82500, 0, "s"], [82501, 0, " "], [82502, 0, "$"], [82503, 0, "("], [82504, 0, "k"], [82505, 0, "_"], [82506, 0, "r"], [82507, 0, "^"], [82508, 0, "\\"], [82509, 0, "m"], [82510, 0, "a"], [82511, 0, "t"], [82512, 0, "h"], [82513, 0, "i"], [82514, 0, "t"], [82515, 0, "{"], [82516, 0, "b"], [82517, 0, "e"], [82518, 0, "f"], [82519, 0, "o"], [82520, 0, "r"], [82521, 0, "e"], [82522, 0, "}"], [82523, 0, ","], [82524, 0, " "], [82525, 0, "k"], [82526, 0, "_"], [82527, 0, "r"], [82528, 0, "&"], [82528, 1], [82528, 0, "^"], [82529, 0, "\\"], [82530, 0, "m"], [82531, 0, "a"], [82532, 0, "t"], [82533, 0, "h"], [82534, 0, "i"], [82535, 0, "t"], [82536, 0, "{"], [82537, 0, "a"], [82538, 0, "f"], [82539, 0, "t"], [82540, 0, "e"], [82541, 0, "r"], [82542, 0, "}"], [82543, 0, ")"], [82544, 0, "$"], [82535, 1], [82534, 1], [82534, 0, "r"], [82535, 0, "m"], [82514, 1], [82513, 1], [82513, 0, "r"], [82514, 0, "m"], [82545, 0, " "], [82383, 0, " "], [82384, 0, "c"], [82385, 0, "o"], [82386, 0, "n"], [82387, 0, "c"], [82388, 0, "u"], [82389, 0, "r"], [82390, 0, "r"], [82391, 0, "e"], [82392, 0, "n"], [82393, 0, "t"], [82557, 0, "s"], [82558, 0, "u"], [82559, 0, "c"], [82560, 0, "h"], [82561, 0, " "], [82562, 0, "t"], [82563, 0, "h"], [82564, 0, "a"], [82565, 0, "t"], [82566, 0, " "], [82567, 0, "$"], [82568, 0, "k"], [82569, 0, "_"], [82570, 0, "r"], [82571, 0, "&"], [82571, 1], [82571, 0, "^"], [82572, 0, "\\"], [82573, 0, "m"], [82574, 0, "a"], [82575, 0, "t"], [82576, 0, "h"], [82577, 0, "i"], [82577, 1], [82577, 0, "r"], [82578, 0, "m"], [82579, 0, "{"], [82580, 0, "b"], [82581, 0, "e"], [82582, 0, "f"], [82583, 0, "o"], [82584, 0, "r"], [82585, 0, "e"], [82586, 0, "}"], [82587, 0, "$"], [82566, 0, " "], [82567, 0, "$"], [82568, 0, "o"], [82569, 0, "_"], [82570, 0, "r"], [82571, 0, "."], [82572, 0, "\\"], [82573, 0, "m"], [82574, 0, "a"], [82575, 0, "t"], [82576, 0, "h"], [82577, 0, "i"], [82578, 0, "t"], [82579, 0, "{"], [82580, 0, "i"], [82581, 0, "d"], [82582, 0, "}"], [82583, 0, "$"], [82584, 0, " "], [82585, 0, "a"], [82586, 0, "p"], [82587, 0, "p"], [82588, 0, "e"], [82589, 0, "a"], [82590, 0, "r"], [82591, 0, "s"], [82592, 0, " "], [82593, 0, "a"], [82594, 0, "f"], [82595, 0, "t"], [82596, 0, "e"], [82597, 0, "r"], [82620, 0, " "], [82621, 0, "w"], [82622, 0, "h"], [82623, 0, "e"], [82624, 0, "n"], [82625, 0, " "], [82626, 0, "$"], [82627, 0, "o"], [82628, 0, "_"], [82629, 0, "r"], [82630, 0, "$"], [82631, 0, " "], [82632, 0, "h"], [82633, 0, "a"], [82634, 0, "s"], [82635, 0, " "], [82636, 0, "b"], [82637, 0, "e"], [82638, 0, "e"], [82639, 0, "n"], [82640, 0, " "], [82641, 0, "a"], [82642, 0, "p"], [82643, 0, "p"], [82644, 0, "l"], [82645, 0, "i"], [82646, 0, "e"], [82647, 0, "d"], [82648, 0, ","], [82649, 0, " "], [82650, 0, "$"], [82651, 0, "k"], [82652, 0, "_"], [82653, 0, "r"], [82654, 0, "&"], [82654, 1], [82654, 0, "^"], [82655, 0, "\\"], [82656, 0, "m"], [82657, 0, "a"], [82658, 0, "t"], [82659, 0, "h"], [82660, 0, "r"], [82661, 0, "m"], [82662, 0, "{"], [82663, 0, "a"], [82664, 0, "f"], [82665, 0, "t"], [82666, 0, "e"], [82667, 0, "r"], [82668, 0, "}"], [82669, 0, "$"], [82670, 0, " "], [82671, 0, "a"], [82672, 0, "p"], [82673, 0, "p"], [82674, 0, "e"], [82675, 0, "a"], [82676, 0, "r"], [82677, 0, "s"], [82678, 0, " "], [82679, 0, "a"], [82680, 0, "f"], [82681, 0, "t"], [82682, 0, "e"], [82683, 0, "r"], [82684, 0, " "], [82685, 0, "$"], [82686, 0, "k"], [82687, 0, "_"], [82687, 1], [82686, 1], [82686, 0, "o"], [82687, 0, "_"], [82688, 0, "r"], [82689, 0, "."], [82690, 0, "\\"], [82691, 0, "m"], [82692, 0, "a"], [82693, 0, "t"], [82694, 0, "h"], [82695, 0, "i"], [82696, 0, "t"], [82697, 0, "{"], [82698, 0, "i"], [82699, 0, "d"], [82700, 0, "}"], [82701, 0, "$"], [82702, 0, " "], [82703, 0, "a"], [82703, 1], [82703, 0, "w"], [82704, 0, "h"], [82705, 0, "e"], [82706, 0, "n"], [82707, 0, " "], [82708, 0, "$"], [82709, 0, "o"], [82710, 0, "_"], [82711, 0, "r"], [82712, 0, "$"], [82713, 0, " "], [82714, 0, "h"], [82715, 0, "a"], [82716, 0, "s"], [82717, 0, " "], [82718, 0, "b"], [82719, 0, "e"], [82720, 0, "e"], [82721, 0, "n"], [82722, 0, " "], [82723, 0, "a"], [82724, 0, "p"], [82725, 0, "p"], [82726, 0, "l"], [82727, 0, "i"], [82728, 0, "e"], [82729, 0, "d"], [82730, 0, ","], [82731, 0, " "], [82732, 0, "a"], [82733, 0, "n"], [82734, 0, "d"], [82735, 0, " "], [82736, 0, "$"], [82737, 0, "k"], [82738, 0, "_"], [82739, 0, "r"], [82740, 0, "^"], [82741, 0, "\\"], [82742, 0, "m"], [82743, 0, "a"], [82744, 0, "t"], [82745, 0, "h"], [82746, 0, "r"], [82747, 0, "m"], [82748, 0, "{"], [82749, 0, "a"], [82750, 0, "f"], [82751, 0, "t"], [82752, 0, "e"], [82753, 0, "r"], [82754, 0, "}"], [82755, 0, " "], [82756, 0, "a"], [82757, 0, "p"], [82758, 0, "p"], [82759, 0, "e"], [82760, 0, "a"], [82761, 0, "r"], [82762, 0, "s"], [82763, 0, " "], [82764, 0, "i"], [82765, 0, "m"], [82766, 0, "m"], [82767, 0, "e"], [82768, 0, "d"], [82769, 0, "i"], [82770, 0, "a"], [82771, 0, "t"], [82772, 0, "e"], [82773, 0, "l"], [82774, 0, "y"], [82775, 0, " "], [82776, 0, "a"], [82777, 0, "f"], [82778, 0, "t"], [82779, 0, "e"], [82780, 0, "r"], [82781, 0, " "], [82782, 0, "$"], [82783, 0, "k"], [82784, 0, "_"], [82785, 0, "r"], [82786, 0, "&"], [82786, 1], [82786, 0, "^"], [82787, 0, "\\"], [82788, 0, "m"], [82789, 0, "a"], [82790, 0, "t"], [82791, 0, "h"], [82792, 0, "r"], [82793, 0, "m"], [82794, 0, "{"], [82795, 0, "b"], [82796, 0, "e"], [82797, 0, "f"], [82798, 0, "o"], [82799, 0, "r"], [82800, 0, "e"], [82801, 0, "}"], [82802, 0, "$"], [82755, 0, "$"], [82804, 0, " "], [82805, 0, "i"], [82806, 0, "n"], [82807, 0, " "], [82808, 0, "t"], [82809, 0, "h"], [82810, 0, "e"], [82811, 0, " "], [82812, 0, "c"], [82813, 0, "o"], [82814, 0, "m"], [82815, 0, "m"], [82816, 0, "o"], [82817, 0, "n"], [82818, 0, " "], [82819, 0, "a"], [82820, 0, "n"], [82821, 0, "c"], [82822, 0, "e"], [82823, 0, "s"], [82824, 0, "t"], [82825, 0, "o"], [82826, 0, "r"], [82827, 0, " "], [82828, 0, "o"], [82829, 0, "f"], [82830, 0, " "], [82831, 0, "$"], [82832, 0, "o"], [82833, 0, "_"], [82834, 0, "r"], [82835, 0, "$"], [82836, 0, " "], [82837, 0, "a"], [82838, 0, "n"], [82839, 0, "d"], [82840, 0, " "], [82841, 0, "$"], [82842, 0, "o"], [82843, 0, "_"], [82844, 0, "s"], [82845, 0, "$"], [82846, 0, "."], [82847, 0, " "], [82848, 0, "T"], [82849, 0, "h"], [82850, 0, "e"], [82851, 0, " "], [82852, 0, "i"], [82853, 0, "n"], [82854, 0, "s"], [82855, 0, "e"], [82856, 0, "r"], [82857, 0, "t"], [82858, 0, "i"], [82859, 0, "o"], [82860, 0, "n"], [82861, 0, " "], [82862, 0, "i"], [82863, 0, "n"], [82864, 0, "t"], [82865, 0, "e"], [82866, 0, "r"], [82867, 0, "v"], [82868, 0, "a"], [82869, 0, "l"], [82870, 0, " "], [82871, 0, "o"], [82872, 0, "f"], [82873, 0, " "], [82874, 0, "$"], [82875, 0, "o"], [82876, 0, "_"], [82877, 0, "s"], [82878, 0, "$"], [82879, 0, " "], [82880, 0, "i"], [82881, 0, "s"], [82882, 0, " "], [82883, 0, "t"], [82884, 0, "h"], [82885, 0, "e"], [82886, 0, " "], [82887, 0, "p"], [82888, 0, "a"], [82889, 0, "i"], [82890, 0, "r"], [82891, 0, " "], [82892, 0, "o"], [82893, 0, "f"], [82894, 0, " "], [82895, 0, "k"], [82896, 0, "e"], [82897, 0, "y"], [82898, 0, "s"], [82899, 0, " "], [82900, 0, "$"], [82901, 0, "("], [82902, 0, "k"], [82903, 0, "_"], [82904, 0, "s"], [82905, 0, "^"], [82906, 0, "\\"], [82907, 0, "m"], [82908, 0, "a"], [82909, 0, "t"], [82910, 0, "h"], [82911, 0, "r"], [82912, 0, "m"], [82913, 0, "{"], [82914, 0, "b"], [82915, 0, "e"], [82916, 0, "f"], [82917, 0, "o"], [82918, 0, "r"], [82919, 0, "e"], [82920, 0, "}"], [82921, 0, ","], [82922, 0, " "], [82923, 0, "k"], [82924, 0, "_"], [82925, 0, "s"], [82926, 0, "^"], [82927, 0, "\\"], [82928, 0, "m"], [82929, 0, "a"], [82930, 0, "t"], [82931, 0, "h"], [82932, 0, "r"], [82933, 0, "m"], [82934, 0, "{"], [82935, 0, "a"], [82936, 0, "f"], [82937, 0, "t"], [82938, 0, "e"], [82939, 0, "r"], [82940, 0, "}"], [82941, 0, ")"], [82942, 0, "$"], [82943, 0, " "], [82944, 0, "d"], [82945, 0, "e"], [82946, 0, "f"], [82947, 0, "i"], [82948, 0, "n"], [82949, 0, "e"], [82950, 0, "d"], [82951, 0, " "], [82952, 0, "a"], [82953, 0, "l"], [82953, 1], [82952, 1], [82952, 0, "s"], [82953, 0, "i"], [82954, 0, "m"], [82955, 0, "i"], [82956, 0, "l"], [82957, 0, "a"], [82958, 0, "r"], [82959, 0, "l"], [82960, 0, "y"], [82961, 0, "."], [82980, 0, "\n"], [82981, 0, "\n"], [82981, 0, "I"], [82982, 0, "f"], [82983, 0, " "], [82983, 1], [82982, 1], [82982, 0, "t"], [82983, 0, " "], [82984, 0, "m"], [82985, 0, "a"], [82986, 0, "y"], [82987, 0, " "], [82988, 0, "b"], [82989, 0, "e"], [82990, 0, " "], [82991, 0, "t"], [82992, 0, "h"], [82993, 0, "e"], [82994, 0, " "], [82995, 0, "c"], [82996, 0, "a"], [82997, 0, "s"], [82998, 0, "e"], [82999, 0, " "], [83000, 0, "t"], [83001, 0, "h"], [83002, 0, "a"], [83003, 0, "t"], [83004, 0, " "], [83005, 0, "$"], [83006, 0, "K"], [83006, 1], [83006, 0, "k"], [83007, 0, "_"], [83008, 0, "r"], [83009, 0, "^"], [83010, 0, "\\"], [83011, 0, "m"], [83012, 0, "a"], [83013, 0, "t"], [83014, 0, "h"], [83015, 0, "r"], [83016, 0, "m"], [83017, 0, "{"], [83018, 0, "b"], [83019, 0, "e"], [83020, 0, "f"], [83021, 0, "o"], [83022, 0, "r"], [83023, 0, "e"], [83024, 0, "}"], [83025, 0, "$"], [83026, 0, " "], [83027, 0, "o"], [83028, 0, "r"], [83029, 0, " "], [83030, 0, "$"], [83031, 0, "k"], [83032, 0, "_"], [83033, 0, "s"], [83034, 0, "^"], [83035, 0, "\\"], [83036, 0, "b"], [83037, 0, "e"], [83037, 1], [83036, 1], [83036, 0, "m"], [83037, 0, "a"], [83038, 0, "t"], [83039, 0, "h"], [83040, 0, "r"], [83041, 0, "m"], [83042, 0, "{"], [83043, 0, "b"], [83044, 0, "e"], [83045, 0, "f"], [83046, 0, "o"], [83047, 0, "r"], [83048, 0, "e"], [83049, 0, "}"], [83050, 0, "$"], [83051, 0, " "], [83052, 0, "i"], [83053, 0, "s"], [83054, 0, " "], [83055, 0, "\\"], [83055, 1], [83055, 0, "$"], [83056, 0, "\\"], [83056, 1], [83055, 1], [83055, 0, "\\"], [83056, 0, "t"], [83057, 0, "e"], [83058, 0, "x"], [83059, 0, "t"], [83060, 0, "s"], [83061, 0, "f"], [83062, 0, "{"], [83063, 0, "h"], [83064, 0, "e"], [83065, 0, "a"], [83066, 0, "d"], [83067, 0, "}"], [83068, 0, " "], [83068, 1], [83068, 0, ","], [83069, 0, " "], [83070, 0, "a"], [83071, 0, "n"], [83072, 0, "d"], [83073, 0, " "], [83074, 0, "t"], [83075, 0, "h"], [83076, 0, "a"], [83077, 0, "t"], [83078, 0, " "], [83079, 0, "$"], [83080, 0, "k"], [83081, 0, "_"], [83082, 0, "r"], [83083, 0, "^"], [83084, 0, "\\"], [83085, 0, "m"], [83086, 0, "a"], [83087, 0, "t"], [83088, 0, "h"], [83089, 0, "r"], [83090, 0, "m"], [83091, 0, "{"], [83092, 0, "a"], [83093, 0, "f"], [83094, 0, "t"], [83095, 0, "e"], [83096, 0, "r"], [83097, 0, "}"], [83098, 0, "$"], [83099, 0, " "], [83100, 0, "o"], [83101, 0, "r"], [83102, 0, " "], [83103, 0, "$"], [83104, 0, "\\"], [83105, 0, "k"], [83105, 1], [83104, 1], [83104, 0, "k"], [83105, 0, "_"], [83106, 0, "s"], [83107, 0, "^"], [83108, 0, "\\"], [83109, 0, "m"], [83110, 0, "a"], [83111, 0, "t"], [83112, 0, "h"], [83113, 0, "r"], [83114, 0, "m"], [83115, 0, "{"], [83116, 0, "a"], [83117, 0, "f"], [83118, 0, "t"], [83119, 0, "e"], [83120, 0, "r"], [83121, 0, "}"], [83122, 0, "$"], [83123, 0, " "], [83124, 0, "i"], [83125, 0, "s"], [83126, 0, " "], [83127, 0, "'"], [83127, 1], [83127, 0, "\\"], [83128, 0, "t"], [83129, 0, "e"], [83130, 0, "x"], [83131, 0, "t"], [83132, 0, "s"], [83133, 0, "f"], [83134, 0, "{"], [83135, 0, "t"], [83136, 0, "a"], [83137, 0, "i"], [83138, 0, "l"], [83139, 0, "}"], [83140, 0, "."], [83141, 0, " "], [83142, 0, "i"], [83142, 1], [83142, 0, "I"], [83143, 0, "n"], [83144, 0, " "], [83145, 0, "p"], [83146, 0, "a"], [83147, 0, "r"], [83148, 0, "t"], [83149, 0, "i"], [83150, 0, "c"], [83151, 0, "u"], [83152, 0, "l"], [83153, 0, "a"], [83154, 0, "r"], [83155, 0, ","], [83156, 0, " "], [83157, 0, "t"], [83158, 0, "h"], [83159, 0, "i"], [83160, 0, "s"], [83161, 0, " "], [83162, 0, "i"], [83163, 0, "s"], [83164, 0, " "], [83165, 0, "t"], [83166, 0, "h"], [83167, 0, "e"], [83168, 0, " "], [83169, 0, "c"], [83170, 0, "a"], [83171, 0, "s"], [83172, 0, "e"], [83173, 0, " "], [83174, 0, "i"], [83175, 0, "f"], [83176, 0, " "], [83177, 0, "$"], [83178, 0, "o"], [83179, 0, "_"], [83180, 0, "r"], [83181, 0, "$"], [83182, 0, " "], [83183, 0, "a"], [83184, 0, "n"], [83185, 0, "d"], [83186, 0, " "], [83187, 0, "$"], [83188, 0, "o"], [83189, 0, "_"], [83190, 0, "s"], [83191, 0, "$"], [83192, 0, " "], [83193, 0, "h"], [83194, 0, "a"], [83195, 0, "v"], [83196, 0, "e"], [83197, 0, " "], [83198, 0, "n"], [83199, 0, "o"], [83200, 0, " "], [83201, 0, "c"], [83202, 0, "o"], [83203, 0, "m"], [83204, 0, "m"], [83205, 0, "o"], [83206, 0, "n"], [83207, 0, " "], [83208, 0, "c"], [83209, 0, "a"], [83210, 0, "u"], [83211, 0, "s"], [83212, 0, "a"], [83213, 0, "l"], [83214, 0, " "], [83215, 0, "h"], [83216, 0, "i"], [83217, 0, "s"], [83218, 0, "t"], [83219, 0, "o"], [83220, 0, "r"], [83221, 0, "y"], [83222, 0, ","], [83223, 0, " "], [83224, 0, "i"], [83225, 0, "."], [83226, 0, "e"], [83227, 0, "."], [83228, 0, " "], [83229, 0, "i"], [83230, 0, "f"], [83231, 0, " "], [83232, 0, "$"], [83233, 0, "o"], [83234, 0, "_"], [83235, 0, "r"], [83236, 0, "\\"], [83236, 1], [83236, 0, "."], [83237, 0, "\\"], [83238, 0, "m"], [83239, 0, "a"], [83240, 0, "t"], [83241, 0, "h"], [83242, 0, "i"], [83243, 0, "t"], [83244, 0, "{"], [83245, 0, "d"], [83246, 0, "e"], [83247, 0, "p"], [83248, 0, "s"], [83249, 0, "}"], [83250, 0, " "], [83251, 0, "\\"], [83252, 0, "c"], [83253, 0, "a"], [83254, 0, "p"], [83255, 0, " "], [83256, 0, "o"], [83257, 0, "_"], [83258, 0, "s"], [83259, 0, "."], [83260, 0, "\\"], [83261, 0, "m"], [83262, 0, "a"], [83263, 0, "t"], [83264, 0, "h"], [83265, 0, "i"], [83266, 0, "t"], [83267, 0, "{"], [83268, 0, "d"], [83269, 0, "e"], [83270, 0, "p"], [83271, 0, "s"], [83272, 0, "}"], [83273, 0, " "], [83274, 0, "="], [83275, 0, " "], [83276, 0, "\\"], [83277, 0, "{"], [83278, 0, "\\"], [83279, 0, "}"], [83280, 0, "$"], [83281, 0, " "], [83282, 0, "a"], [83283, 0, "n"], [83284, 0, "d"], [83285, 0, " "], [83286, 0, "s"], [83287, 0, "o"], [83288, 0, " "], [83289, 0, "t"], [83290, 0, "h"], [83291, 0, "e"], [83292, 0, " "], [83293, 0, "c"], [83294, 0, "o"], [83295, 0, "m"], [83296, 0, "m"], [83297, 0, "o"], [83298, 0, "n"], [83299, 0, " "], [83300, 0, "a"], [83301, 0, "n"], [83302, 0, "c"], [83303, 0, "e"], [83304, 0, "s"], [83305, 0, "t"], [83306, 0, "o"], [83307, 0, "r"], [83308, 0, " "], [83309, 0, "i"], [83310, 0, "s"], [83311, 0, " "], [83312, 0, "t"], [83313, 0, "h"], [83314, 0, "e"], [83315, 0, " "], [83316, 0, "e"], [83317, 0, "m"], [83318, 0, "p"], [83319, 0, "t"], [83320, 0, "y"], [83321, 0, " "], [83322, 0, "d"], [83323, 0, "o"], [83324, 0, "c"], [83325, 0, "u"], [83326, 0, "m"], [83327, 0, "e"], [83328, 0, "n"], [83329, 0, "t"], [83330, 0, "."], [83154, 1], [83153, 1], [83152, 1], [83151, 1], [83150, 1], [83149, 1], [83148, 1], [83147, 1], [83146, 1], [83145, 1], [83144, 1], [83143, 1], [83142, 1], [83142, 0, "F"], [83143, 0, "o"], [83144, 0, "r"], [83145, 0, " "], [83146, 0, "e"], [83147, 0, "x"], [83148, 0, "a"], [83149, 0, "m"], [83150, 0, "p"], [83151, 0, "l"], [83152, 0, "e"], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83142, 1], [83141, 1], [83206, 0, " "], [83207, 0, "$"], [83208, 0, "H"], [83209, 0, "$"], [83342, 0, "\n"], [83343, 0, "G"], [83344, 0, "i"], [83345, 0, "v"], [83346, 0, "e"], [83347, 0, "n"], [83348, 0, " "], [83349, 0, "a"], [83350, 0, "n"], [83351, 0, "y"], [83352, 0, " "], [83353, 0, "t"], [83354, 0, "w"], [83355, 0, "o"], [83356, 0, " "], [83357, 0, "c"], [83358, 0, "o"], [83359, 0, "n"], [83360, 0, "c"], [83361, 0, "u"], [83362, 0, "r"], [83363, 0, "r"], [83364, 0, "e"], [83365, 0, "n"], [83366, 0, "t"], [83367, 0, " "], [83368, 0, "i"], [83369, 0, "n"], [83370, 0, "s"], [83371, 0, "e"], [83372, 0, "r"], [83373, 0, "t"], [83374, 0, "i"], [83375, 0, "o"], [83376, 0, "n"], [83377, 0, " "], [83378, 0, "o"], [83379, 0, "p"], [83380, 0, "e"], [83381, 0, "r"], [83382, 0, "a"], [83383, 0, "t"], [83384, 0, "i"], [83385, 0, "o"], [83386, 0, "n"], [83387, 0, "s"], [83388, 0, " "], [83389, 0, "i"], [83390, 0, "n"], [83391, 0, " "], [83392, 0, "$"], [83393, 0, "H"], [83394, 0, "$"], [83395, 0, ","], [83396, 0, " "], [83397, 0, "w"], [83398, 0, "e"], [83399, 0, " "], [83400, 0, "m"], [83401, 0, "u"], [83402, 0, "s"], [83403, 0, "t"], [83404, 0, " "], [83405, 0, "s"], [83406, 0, "h"], [83407, 0, "o"], [83408, 0, "w"], [83409, 0, " "], [83410, 0, "t"], [83411, 0, "h"], [83412, 0, "a"], [83413, 0, "t"], [83414, 0, " "], [83415, 0, "t"], [83416, 0, "h"], [83417, 0, "e"], [83418, 0, " "], [83419, 0, "d"], [83420, 0, "o"], [83421, 0, "c"], [83422, 0, "u"], [83423, 0, "m"], [83424, 0, "e"], [83388, 0, " "], [83389, 0, "$"], [83390, 0, "o"], [83391, 0, "_"], [83392, 0, "r"], [83393, 0, ","], [83394, 0, " "], [83395, 0, "$"], [83396, 0, "o"], [83397, 0, "_"], [83398, 0, "s"], [83399, 0, "$"], [83437, 0, "n"], [83438, 0, "t"], [83439, 0, " "], [83440, 0, "s"], [83441, 0, "t"], [83442, 0, "a"], [83443, 0, "t"], [83444, 0, "e"], [83445, 0, " "], [83446, 0, "d"], [83447, 0, "o"], [83448, 0, "e"], [83449, 0, "s"], [83450, 0, " "], [83451, 0, "n"], [83452, 0, "o"], [83453, 0, "t"], [83454, 0, " "], [83455, 0, "d"], [83456, 0, "e"], [83457, 0, "p"], [83458, 0, "e"], [83459, 0, "n"], [83460, 0, "d"], [83461, 0, " "], [83462, 0, "o"], [83463, 0, "n"], [83464, 0, " "], [83465, 0, "t"], [83466, 0, "h"], [83467, 0, "e"], [83468, 0, " "], [83469, 0, "o"], [83470, 0, "r"], [83471, 0, "d"], [83472, 0, "e"], [83473, 0, "r"], [83474, 0, " "], [83475, 0, "i"], [83476, 0, "n"], [83477, 0, " "], [83478, 0, "w"], [83479, 0, "h"], [83480, 0, "i"], [83481, 0, "c"], [83482, 0, "h"], [83483, 0, " "], [83484, 0, "$"], [83485, 0, "o"], [83486, 0, "_"], [83487, 0, "r"], [83488, 0, "$"], [83489, 0, " "], [83490, 0, "a"], [83491, 0, "n"], [83492, 0, "d"], [83493, 0, " "], [83494, 0, "$"], [83495, 0, "o"], [83496, 0, "_"], [83497, 0, "s"], [83498, 0, "$"], [83499, 0, " "], [83500, 0, "a"], [83501, 0, "r"], [83502, 0, "e"], [83503, 0, " "], [83504, 0, "a"], [83505, 0, "p"], [83506, 0, "p"], [83507, 0, "l"], [83508, 0, "i"], [83509, 0, "e"], [83510, 0, "d"], [83511, 0, "."], [83512, 0, "\n"], [83512, 0, "\n"], [83513, 0, "\n"], [83514, 0, "E"], [83515, 0, "i"], [83516, 0, "t"], [83517, 0, "h"], [83518, 0, "e"], [83519, 0, "r"], [83520, 0, " "], [83521, 0, "$"], [83522, 0, "o"], [83523, 0, "_"], [83524, 0, "r"], [83525, 0, "$"], [83526, 0, " "], [83527, 0, "a"], [83528, 0, "n"], [83529, 0, "d"], [83530, 0, " "], [83531, 0, "$"], [83532, 0, "o"], [83533, 0, "_"], [83534, 0, "s"], [83535, 0, "$"], [83536, 0, " "], [83537, 0, "a"], [83538, 0, "h"], [83539, 0, "v"], [83540, 0, "e"], [83541, 0, " "], [83541, 1], [83540, 1], [83539, 1], [83538, 1], [83537, 1], [83537, 0, "h"], [83538, 0, "a"], [83539, 0, "v"], [83540, 0, "e"], [83541, 0, " "], [83542, 0, "t"], [83543, 0, "h"], [83544, 0, "e"], [83545, 0, " "], [83546, 0, "s"], [83547, 0, "a"], [83548, 0, "m"], [83549, 0, "e"], [83550, 0, " "], [83551, 0, "i"], [83552, 0, "n"], [83553, 0, "s"], [83554, 0, "e"], [83555, 0, "r"], [83556, 0, "t"], [83557, 0, "i"], [83558, 0, "o"], [83559, 0, "n"], [83560, 0, " "], [83561, 0, "i"], [83562, 0, "n"], [83563, 0, "t"], [83564, 0, "e"], [83565, 0, "r"], [83566, 0, "v"], [83567, 0, "a"], [83568, 0, "l"], [83569, 0, " "], [83570, 0, "a"], [83571, 0, "s"], [83572, 0, " "], [83573, 0, "d"], [83573, 1], [83573, 0, "d"], [83574, 0, "e"], [83575, 0, "f"], [83576, 0, "i"], [83577, 0, "n"], [83578, 0, "e"], [83579, 0, "d"], [83580, 0, " "], [83581, 0, "i"], [83582, 0, "n"], [83583, 0, " "], [83584, 0, "D"], [83585, 0, "e"], [83586, 0, "f"], [83587, 0, "i"], [83588, 0, "n"], [83589, 0, "i"], [83590, 0, "t"], [83591, 0, "i"], [83592, 0, "o"], [83593, 0, "n"], [83594, 0, "~"], [83595, 0, "\\"], [83596, 0, "r"], [83597, 0, "e"], [83598, 0, "f"], [83599, 0, "{"], [83600, 0, "d"], [83601, 0, "e"], [83602, 0, "f"], [83603, 0, ":"], [83604, 0, "i"], [83605, 0, "n"], [83606, 0, "s"], [83607, 0, "e"], [83608, 0, "r"], [83609, 0, "t"], [83610, 0, "-"], [83611, 0, "i"], [83612, 0, "n"], [83613, 0, "t"], [83614, 0, "e"], [83615, 0, "r"], [83616, 0, "v"], [83617, 0, "a"], [83618, 0, "l"], [83619, 0, "}"], [83620, 0, ","], [83621, 0, " "], [83622, 0, "o"], [83623, 0, "r"], [83624, 0, " "], [83625, 0, "t"], [83626, 0, "h"], [83627, 0, "e"], [83628, 0, "y"], [83629, 0, " "], [83630, 0, "h"], [83631, 0, "a"], [83632, 0, "v"], [83633, 0, "e"], [83634, 0, " "], [83635, 0, "d"], [83636, 0, "i"], [83637, 0, "f"], [83638, 0, "f"], [83639, 0, "e"], [83640, 0, "r"], [83641, 0, "e"], [83642, 0, "n"], [83643, 0, "t"], [83644, 0, " "], [83645, 0, "i"], [83646, 0, "n"], [83647, 0, "s"], [83648, 0, "e"], [83649, 0, "r"], [83650, 0, "t"], [83651, 0, "i"], [83652, 0, "o"], [83653, 0, "n"], [83654, 0, " "], [83655, 0, "i"], [83656, 0, "n"], [83657, 0, "t"], [83658, 0, "e"], [83659, 0, "r"], [83660, 0, "v"], [83661, 0, "a"], [83662, 0, "l"], [83663, 0, "s"], [83664, 0, "."], [83665, 0, " "], [83666, 0, "I"], [83667, 0, "f"], [83668, 0, " "], [83669, 0, "t"], [83670, 0, "h"], [83671, 0, "e"], [83672, 0, " "], [83673, 0, "i"], [83674, 0, "n"], [83675, 0, "s"], [83676, 0, "e"], [83677, 0, "r"], [83678, 0, "t"], [83679, 0, "i"], [83680, 0, "o"], [83681, 0, "n"], [83682, 0, " "], [83683, 0, "i"], [83684, 0, "n"], [83685, 0, "t"], [83686, 0, "e"], [83687, 0, "r"], [83688, 0, "v"], [83689, 0, "a"], [83690, 0, "l"], [83691, 0, "s"], [83692, 0, " "], [83693, 0, "a"], [83694, 0, "r"], [83695, 0, "e"], [83696, 0, " "], [83697, 0, "d"], [83698, 0, "i"], [83699, 0, "f"], [83700, 0, "f"], [83701, 0, "e"], [83702, 0, "r"], [83703, 0, "e"], [83704, 0, "n"], [83705, 0, "t"], [83706, 0, ","], [83707, 0, " "], [83708, 0, "t"], [83709, 0, "h"], [83710, 0, "e"], [83711, 0, "n"], [83712, 0, " "], [83713, 0, "b"], [83714, 0, "y"], [83715, 0, " "], [83716, 0, "L"], [83717, 0, "e"], [83718, 0, "m"], [83719, 0, "m"], [83720, 0, "a"], [83721, 0, "~"], [83722, 0, "\\"], [83723, 0, "r"], [83724, 0, "e"], [83725, 0, "f"], [83726, 0, "{"], [83727, 0, "l"], [83728, 0, "e"], [83729, 0, "m"], [83730, 0, ":"], [83731, 0, "i"], [83732, 0, "n"], [83733, 0, "s"], [83734, 0, "e"], [83735, 0, "r"], [83736, 0, "t"], [83737, 0, "-"], [83738, 0, "b"], [83739, 0, "e"], [83740, 0, "t"], [83741, 0, "w"], [83742, 0, "e"], [83743, 0, "e"], [83744, 0, "n"], [83745, 0, "}"], [83746, 0, " "], [83747, 0, "t"], [83748, 0, "h"], [83749, 0, "e"], [83750, 0, " "], [83751, 0, "o"], [83752, 0, "p"], [83753, 0, "e"], [83754, 0, "r"], [83755, 0, "a"], [83756, 0, "t"], [83757, 0, "i"], [83758, 0, "o"], [83759, 0, "n"], [83760, 0, "s"], [83761, 0, " "], [83762, 0, "c"], [83763, 0, "a"], [83764, 0, "n"], [83765, 0, "n"], [83766, 0, "o"], [83767, 0, "t"], [83768, 0, " "], [83769, 0, "a"], [83770, 0, "f"], [83771, 0, "f"], [83772, 0, "e"], [83773, 0, "c"], [83774, 0, "t"], [83775, 0, " "], [83776, 0, "e"], [83777, 0, "a"], [83778, 0, "c"], [83779, 0, "h"], [83780, 0, " "], [83781, 0, "o"], [83782, 0, "t"], [83783, 0, "h"], [83784, 0, "e"], [83785, 0, "r"], [83786, 0, ","], [83787, 0, " "], [83788, 0, "a"], [83789, 0, "n"], [83790, 0, "d"], [83791, 0, " "], [83792, 0, "s"], [83793, 0, "o"], [83794, 0, " "], [83795, 0, "t"], [83796, 0, "h"], [83797, 0, "e"], [83798, 0, "y"], [83799, 0, " "], [83800, 0, "h"], [83801, 0, "a"], [83802, 0, "v"], [83803, 0, "e"], [83804, 0, " "], [83805, 0, "t"], [83806, 0, "h"], [83807, 0, "e"], [83808, 0, " "], [83809, 0, "s"], [83810, 0, "a"], [83811, 0, "m"], [83812, 0, "e"], [83813, 0, " "], [83814, 0, "e"], [83815, 0, "f"], [83816, 0, "f"], [83817, 0, "e"], [83818, 0, "c"], [83819, 0, "t"], [83820, 0, " "], [83821, 0, "r"], [83822, 0, "e"], [83823, 0, "g"], [83824, 0, "a"], [83825, 0, "r"], [83826, 0, "d"], [83827, 0, "l"], [83828, 0, "e"], [83829, 0, "s"], [83830, 0, "s"], [83831, 0, " "], [83832, 0, "o"], [83833, 0, "f"], [83834, 0, " "], [83835, 0, "t"], [83836, 0, "h"], [83837, 0, "e"], [83838, 0, "i"], [83839, 0, "r"], [83840, 0, " "], [83841, 0, "o"], [83842, 0, "r"], [83843, 0, "d"], [83844, 0, "e"], [83845, 0, "r"], [83846, 0, "."], [83847, 0, " "], [83848, 0, "F"], [83849, 0, "o"], [83850, 0, "r"], [83851, 0, " "], [83852, 0, "t"], [83853, 0, "h"], [83854, 0, "e"], [83855, 0, " "], [83856, 0, "r"], [83857, 0, "e"], [83858, 0, "s"], [83859, 0, "t"], [83859, 1], [83858, 1], [83857, 1], [83856, 1], [83855, 1], [83854, 1], [83853, 1], [83852, 1], [83851, 1], [83850, 1], [83849, 1], [83848, 1], [83848, 0, "A"], [83848, 1], [83848, 0, "S"], [83849, 0, "o"], [83850, 0, " "], [83851, 0, "w"], [83852, 0, "e"], [83853, 0, " "], [83854, 0, "n"], [83855, 0, "e"], [83856, 0, "e"], [83857, 0, "d"], [83858, 0, " "], [83859, 0, "t"], [83860, 0, "o"], [83861, 0, " "], [83862, 0, "o"], [83863, 0, "n"], [83864, 0, "l"], [83865, 0, "y"], [83866, 0, " "], [83867, 0, "a"], [83868, 0, "n"], [83869, 0, "a"], [83870, 0, "l"], [83871, 0, "y"], [83872, 0, "z"], [83873, 0, "e"], [83874, 0, " "], [83875, 0, "t"], [83876, 0, "h"], [83877, 0, "e"], [83878, 0, " "], [83879, 0, "c"], [83880, 0, "a"], [83881, 0, "s"], [83882, 0, "e"], [83883, 0, " "], [83884, 0, "i"], [83885, 0, "n"], [83886, 0, " "], [83887, 0, "w"], [83888, 0, "h"], [83889, 0, "i"], [83890, 0, "c"], [83891, 0, "h"], [83892, 0, " "], [83893, 0, "t"], [83894, 0, "h"], [83895, 0, "e"], [83896, 0, "y"], [83897, 0, " "], [83898, 0, "h"], [83899, 0, "a"], [83900, 0, "v"], [83901, 0, "e"], [83902, 0, " "], [83903, 0, "t"], [83904, 0, "h"], [83905, 0, "e"], [83906, 0, " "], [83907, 0, "s"], [83908, 0, "a"], [83909, 0, "m"], [83910, 0, "e"], [83911, 0, " "], [83912, 0, "i"], [83913, 0, "n"], [83914, 0, "s"], [83915, 0, "e"], [83916, 0, "r"], [83917, 0, "t"], [83918, 0, "i"], [83919, 0, "o"], [83920, 0, "n"], [83921, 0, " "], [83922, 0, "i"], [83923, 0, "n"], [83924, 0, "t"], [83925, 0, "e"], [83926, 0, "r"], [83927, 0, "v"], [83928, 0, "a"], [83929, 0, "l"], [83930, 0, " "], [83931, 0, "$"], [83932, 0, "("], [83933, 0, "k"], [83934, 0, "^"], [83935, 0, "\\"], [83936, 0, "m"], [83937, 0, "a"], [83938, 0, "t"], [83939, 0, "h"], [83940, 0, "r"], [83941, 0, "m"], [83942, 0, "{"], [83943, 0, "b"], [83944, 0, "e"], [83945, 0, "f"], [83946, 0, "o"], [83947, 0, "r"], [83948, 0, "e"], [83949, 0, "}"], [83950, 0, ","], [83951, 0, " "], [83952, 0, "k"], [83953, 0, "&"], [83954, 0, "^"], [83954, 1], [83953, 1], [83953, 0, "^"], [83954, 0, "\\"], [83955, 0, "m"], [83956, 0, "a"], [83957, 0, "t"], [83958, 0, "h"], [83959, 0, "r"], [83960, 0, "m"], [83961, 0, "{"], [83962, 0, "a"], [83963, 0, "f"], [83964, 0, "t"], [83965, 0, "e"], [83966, 0, "r"], [83967, 0, "}"], [83968, 0, ")"], [83969, 0, "$"], [83970, 0, "."], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [83973, 1], [84461, 1], [84460, 1], [84459, 1], [84458, 1], [84457, 1], [84456, 1], [84455, 1], [84454, 1], [84453, 1], [84452, 1], [84451, 1], [84450, 1], [84449, 1], [84448, 1], [84447, 1], [84446, 1], [84445, 1], [84444, 1], [84443, 1], [84442, 1], [84441, 1], [84440, 1], [84439, 1], [84438, 1], [84437, 1], [84436, 1], [84435, 1], [84434, 1], [84433, 1], [84432, 1], [84431, 1], [84430, 1], [84429, 1], [84428, 1], [84427, 1], [84426, 1], [84425, 1], [84424, 1], [84423, 1], [84422, 1], [84421, 1], [84420, 1], [84419, 1], [84418, 1], [84417, 1], [84416, 1], [84415, 1], [84414, 1], [84413, 1], [84412, 1], [84411, 1], [84410, 1], [84409, 1], [84408, 1], [84407, 1], [84406, 1], [84405, 1], [84404, 1], [84403, 1], [84402, 1], [84401, 1], [84400, 1], [84399, 1], [84398, 1], [84397, 1], [84396, 1], [84395, 1], [84394, 1], [84393, 1], [84392, 1], [84391, 1], [84390, 1], [84389, 1], [84388, 1], [84387, 1], [84386, 1], [84385, 1], [84384, 1], [84383, 1], [84382, 1], [84381, 1], [84380, 1], [84379, 1], [84378, 1], [84377, 1], [84376, 1], [84375, 1], [84374, 1], [84373, 1], [84372, 1], [84371, 1], [84370, 1], [84369, 1], [84368, 1], [84367, 1], [84366, 1], [84365, 1], [84364, 1], [84363, 1], [84362, 1], [84361, 1], [84360, 1], [84359, 1], [84358, 1], [84357, 1], [84356, 1], [84355, 1], [84354, 1], [84353, 1], [84352, 1], [84351, 1], [84350, 1], [84349, 1], [84348, 1], [84347, 1], [84346, 1], [84345, 1], [84344, 1], [84343, 1], [84342, 1], [84341, 1], [84340, 1], [84339, 1], [84338, 1], [84337, 1], [84336, 1], [84335, 1], [84334, 1], [84333, 1], [84332, 1], [84331, 1], [84330, 1], [84329, 1], [84328, 1], [84327, 1], [84326, 1], [84325, 1], [84324, 1], [84323, 1], [84322, 1], [84321, 1], [84320, 1], [84319, 1], [84318, 1], [84317, 1], [84316, 1], [84315, 1], [84314, 1], [84313, 1], [84312, 1], [84311, 1], [84310, 1], [84309, 1], [84308, 1], [84307, 1], [84306, 1], [84305, 1], [84304, 1], [84303, 1], [84302, 1], [84301, 1], [84300, 1], [84299, 1], [84298, 1], [84297, 1], [84296, 1], [84295, 1], [84294, 1], [84293, 1], [84292, 1], [84291, 1], [84290, 1], [84289, 1], [84288, 1], [84287, 1], [84286, 1], [84285, 1], [84284, 1], [84283, 1], [84282, 1], [84281, 1], [84280, 1], [84279, 1], [84278, 1], [84277, 1], [84276, 1], [84275, 1], [84274, 1], [84273, 1], [84272, 1], [84271, 1], [84270, 1], [84269, 1], [84268, 1], [84267, 1], [84266, 1], [84265, 1], [84264, 1], [84263, 1], [84262, 1], [84261, 1], [84260, 1], [84259, 1], [84258, 1], [84257, 1], [84256, 1], [84255, 1], [84254, 1], [84253, 1], [84252, 1], [84251, 1], [84250, 1], [84249, 1], [84248, 1], [84247, 1], [84246, 1], [84245, 1], [84244, 1], [84243, 1], [84242, 1], [84241, 1], [84240, 1], [84239, 1], [84238, 1], [84237, 1], [84236, 1], [84235, 1], [84234, 1], [84233, 1], [84232, 1], [84231, 1], [84230, 1], [84229, 1], [84228, 1], [84227, 1], [84226, 1], [84225, 1], [84224, 1], [84223, 1], [84222, 1], [84221, 1], [84220, 1], [84219, 1], [84218, 1], [84217, 1], [84216, 1], [84215, 1], [84214, 1], [84213, 1], [84212, 1], [84211, 1], [84210, 1], [84209, 1], [84208, 1], [84207, 1], [84206, 1], [84205, 1], [84204, 1], [84203, 1], [84202, 1], [84201, 1], [84200, 1], [84199, 1], [84198, 1], [84197, 1], [84196, 1], [84195, 1], [84194, 1], [84193, 1], [84192, 1], [84191, 1], [84190, 1], [84189, 1], [84188, 1], [84187, 1], [84186, 1], [84185, 1], [84184, 1], [84183, 1], [84182, 1], [84181, 1], [84180, 1], [84179, 1], [84178, 1], [84177, 1], [84176, 1], [84175, 1], [84174, 1], [84173, 1], [84172, 1], [84171, 1], [84170, 1], [84169, 1], [84168, 1], [84167, 1], [84166, 1], [84165, 1], [84164, 1], [84163, 1], [84162, 1], [84161, 1], [84160, 1], [84159, 1], [84158, 1], [84157, 1], [84156, 1], [84155, 1], [84154, 1], [84153, 1], [84152, 1], [84151, 1], [84150, 1], [84149, 1], [84148, 1], [84147, 1], [84146, 1], [84145, 1], [84144, 1], [84143, 1], [84142, 1], [84141, 1], [84140, 1], [84139, 1], [84138, 1], [84137, 1], [84136, 1], [84135, 1], [84134, 1], [84133, 1], [84132, 1], [84131, 1], [84130, 1], [84129, 1], [84128, 1], [84127, 1], [84126, 1], [84125, 1], [84124, 1], [84123, 1], [84122, 1], [84121, 1], [84120, 1], [84119, 1], [84118, 1], [84117, 1], [84116, 1], [84115, 1], [84114, 1], [84113, 1], [84112, 1], [84111, 1], [84110, 1], [84109, 1], [84108, 1], [84107, 1], [84106, 1], [84105, 1], [84104, 1], [84103, 1], [84102, 1], [84101, 1], [84100, 1], [84099, 1], [84098, 1], [84097, 1], [84096, 1], [84095, 1], [84094, 1], [84093, 1], [84092, 1], [84091, 1], [84090, 1], [84089, 1], [84088, 1], [84087, 1], [84086, 1], [84085, 1], [84084, 1], [84083, 1], [84082, 1], [84081, 1], [84080, 1], [84079, 1], [84078, 1], [84077, 1], [84076, 1], [84075, 1], [84074, 1], [84073, 1], [84072, 1], [84071, 1], [84070, 1], [84069, 1], [84068, 1], [84067, 1], [84066, 1], [84065, 1], [84064, 1], [84063, 1], [84062, 1], [84061, 1], [84060, 1], [84059, 1], [84058, 1], [84057, 1], [84056, 1], [84055, 1], [84054, 1], [84053, 1], [84052, 1], [84051, 1], [84050, 1], [84049, 1], [84048, 1], [84047, 1], [84046, 1], [84045, 1], [84044, 1], [84043, 1], [84042, 1], [84041, 1], [84040, 1], [84039, 1], [84038, 1], [84037, 1], [84036, 1], [84035, 1], [84034, 1], [84033, 1], [84032, 1], [84031, 1], [84030, 1], [84029, 1], [84028, 1], [84027, 1], [84026, 1], [84025, 1], [84024, 1], [84023, 1], [84022, 1], [84021, 1], [84020, 1], [84019, 1], [84018, 1], [84017, 1], [84016, 1], [84015, 1], [84014, 1], [84013, 1], [84012, 1], [84011, 1], [84010, 1], [84009, 1], [84008, 1], [84007, 1], [84006, 1], [84005, 1], [84004, 1], [84003, 1], [84002, 1], [84001, 1], [84000, 1], [83999, 1], [83998, 1], [83997, 1], [83996, 1], [83995, 1], [83994, 1], [83993, 1], [83992, 1], [83991, 1], [83990, 1], [83989, 1], [83988, 1], [83987, 1], [83986, 1], [83985, 1], [83984, 1], [83983, 1], [83982, 1], [83981, 1], [83980, 1], [83979, 1], [83978, 1], [83977, 1], [83976, 1], [83975, 1], [83974, 1], [83973, 1], [83973, 0, "W"], [83974, 0, "e"], [83975, 0, " "], [83976, 0, "d"], [83977, 0, "i"], [83978, 0, "s"], [83979, 0, "t"], [83980, 0, "i"], [83981, 0, "n"], [83982, 0, "g"], [83983, 0, "u"], [83984, 0, "i"], [83985, 0, "s"], [83986, 0, "h"], [83987, 0, " "], [83988, 0, "f"], [83989, 0, "o"], [83990, 0, "u"], [83991, 0, "r"], [83992, 0, " "], [83993, 0, "c"], [83994, 0, "a"], [83995, 0, "s"], [83996, 0, "e"], [83997, 0, "s"], [83998, 0, ","], [83999, 0, " "], [84000, 0, "b"], [84001, 0, "a"], [84002, 0, "s"], [84003, 0, "e"], [84004, 0, "d"], [84005, 0, " "], [84006, 0, "o"], [84007, 0, "n"], [84008, 0, " "], [84009, 0, "w"], [84010, 0, "h"], [84011, 0, "i"], [84012, 0, "c"], [84013, 0, "h"], [84014, 0, " "], [84015, 0, "o"], [84016, 0, "f"], [84017, 0, " "], [84018, 0, "t"], [84018, 1], [84018, 0, "#"], [84018, 1], [84018, 0, "$"], [84019, 0, "o"], [84020, 0, "_"], [84021, 0, "r"], [84022, 0, "$"], [84023, 0, " "], [84024, 0, "a"], [84025, 0, "n"], [84026, 0, "d"], [84027, 0, " "], [84028, 0, "$"], [84029, 0, "o"], [84030, 0, "_"], [84031, 0, "s"], [84032, 0, "$"], [84033, 0, " "], [84034, 0, "h"], [84035, 0, "a"], [84036, 0, "s"], [84037, 0, " "], [84038, 0, "t"], [84039, 0, "h"], [84040, 0, "e"], [84041, 0, " "], [84042, 0, "g"], [84043, 0, "r"], [84044, 0, "e"], [84045, 0, "a"], [84046, 0, "t"], [84047, 0, "e"], [84048, 0, "r"], [84049, 0, " "], [84050, 0, "o"], [84051, 0, "p"], [84052, 0, "e"], [84053, 0, "r"], [84054, 0, "a"], [84055, 0, "t"], [84056, 0, "i"], [84057, 0, "o"], [84058, 0, "n"], [84059, 0, " "], [84060, 0, "I"], [84061, 0, "D"], [84062, 0, " "], [84063, 0, "("], [84064, 0, "l"], [84065, 0, "a"], [84066, 0, "m"], [84067, 0, "p"], [84068, 0, "o"], [84068, 1], [84067, 1], [84066, 1], [84065, 1], [84064, 1], [84064, 0, "L"], [84065, 0, "a"], [84066, 0, "m"], [84067, 0, "p"], [84068, 0, "o"], [84069, 0, "r"], [84070, 0, "t"], [84071, 0, " "], [84072, 0, "t"], [84073, 0, "i"], [84074, 0, "m"], [84075, 0, "e"], [84076, 0, "s"], [84077, 0, "t"], [84078, 0, "a"], [84079, 0, "m"], [84080, 0, "p"], [84081, 0, ")"], [84082, 0, ","], [84083, 0, " "], [84084, 0, "a"], [84085, 0, "n"], [84086, 0, "d"], [84087, 0, " "], [84088, 0, "w"], [84089, 0, "h"], [84090, 0, "i"], [84091, 0, "c"], [84092, 0, "h"], [84093, 0, " "], [84094, 0, "o"], [84095, 0, "n"], [84096, 0, "e"], [84097, 0, " "], [84098, 0, "f"], [84099, 0, "o"], [84100, 0, " "], [84101, 0, "t"], [84102, 0, "h"], [84103, 0, "e"], [84104, 0, " "], [84104, 1], [84103, 1], [84102, 1], [84101, 1], [84100, 1], [84099, 1], [84098, 1], [84098, 0, "o"], [84099, 0, "f"], [84100, 0, " "], [84101, 0, "t"], [84102, 0, "h"], [84103, 0, "e"], [84104, 0, " "], [84105, 0, "t"], [84106, 0, "w"], [84107, 0, "o"], [84108, 0, " "], [84109, 0, "o"], [84110, 0, "p"], [84111, 0, "e"], [84112, 0, "r"], [84113, 0, "a"], [84114, 0, "t"], [84115, 0, "i"], [84116, 0, "o"], [84117, 0, "n"], [84118, 0, "s"], [84119, 0, " "], [84120, 0, "i"], [84121, 0, "s"], [84122, 0, " "], [84123, 0, "a"], [84124, 0, "p"], [84125, 0, "p"], [84126, 0, "l"], [84127, 0, "i"], [84128, 0, "e"], [84129, 0, "d"], [84130, 0, " "], [84131, 0, "f"], [84132, 0, "i"], [84133, 0, "r"], [84134, 0, "s"], [84135, 0, "t"], [84136, 0, "."], [84137, 0, " "], [84138, 0, "W"], [84139, 0, "e"], [84140, 0, " "], [84141, 0, "t"], [84142, 0, "h"], [84143, 0, "e"], [84144, 0, "n"], [84145, 0, " "], [84146, 0, "s"], [84147, 0, "h"], [84148, 0, "o"], [84149, 0, "w"], [84150, 0, "s"], [84151, 0, " "], [84151, 1], [84150, 1], [84150, 0, " "], [84151, 0, "t"], [84152, 0, "h"], [84153, 0, "a"], [84154, 0, "t"], [84155, 0, " "], [84156, 0, "t"], [84157, 0, "h"], [84158, 0, "e"], [84159, 0, " "], [84160, 0, "f"], [84161, 0, "i"], [84162, 0, "n"], [84163, 0, "a"], [84164, 0, "l"], [84165, 0, " "], [84166, 0, "o"], [84167, 0, "r"], [84168, 0, "d"], [84169, 0, "e"], [84170, 0, "r"], [84171, 0, " "], [84172, 0, "o"], [84173, 0, "f"], [84174, 0, " "], [84175, 0, "e"], [84176, 0, "l"], [84177, 0, "e"], [84178, 0, "m"], [84179, 0, "e"], [84180, 0, "n"], [84181, 0, "t"], [84182, 0, "s"], [84183, 0, " "], [84184, 0, "i"], [84185, 0, "n"], [84186, 0, " "], [84187, 0, "t"], [84188, 0, "h"], [84189, 0, "e"], [84190, 0, " "], [84191, 0, "l"], [84192, 0, "i"], [84193, 0, "s"], [84194, 0, "t"], [84195, 0, " "], [84196, 0, "d"], [84197, 0, "e"], [84198, 0, "p"], [84199, 0, "e"], [84200, 0, "n"], [84201, 0, "d"], [84202, 0, "s"], [84203, 0, " "], [84204, 0, "o"], [84205, 0, "n"], [84206, 0, "l"], [84207, 0, "y"], [84208, 0, " "], [84209, 0, "o"], [84210, 0, "n"], [84211, 0, " "], [84212, 0, "t"], [84213, 0, "h"], [84214, 0, "e"], [84215, 0, " "], [84216, 0, "o"], [84217, 0, "p"], [84218, 0, "e"], [84219, 0, "r"], [84220, 0, "a"], [84221, 0, "t"], [84222, 0, "i"], [84223, 0, "o"], [84224, 0, "n"], [84225, 0, " "], [84226, 0, "I"], [84227, 0, "D"], [84228, 0, " "], [84229, 0, "("], [84230, 0, "w"], [84231, 0, "h"], [84232, 0, "i"], [84233, 0, "c"], [84234, 0, "h"], [84235, 0, " "], [84236, 0, "i"], [84237, 0, "s"], [84238, 0, " "], [84239, 0, "t"], [84240, 0, "h"], [84241, 0, "e"], [84242, 0, " "], [84243, 0, "s"], [84244, 0, "a"], [84245, 0, "m"], [84246, 0, "e"], [84247, 0, " "], [84248, 0, "o"], [84249, 0, "n"], [84250, 0, " "], [84251, 0, "a"], [84252, 0, "l"], [84253, 0, "l"], [84254, 0, "r"], [84255, 0, " "], [84255, 1], [84254, 1], [84254, 0, " "], [84255, 0, "r"], [84256, 0, "e"], [84257, 0, "p"], [84258, 0, "l"], [84259, 0, "i"], [84260, 0, "c"], [84261, 0, "a"], [84262, 0, "s"], [84263, 0, ")"], [84264, 0, ","], [84265, 0, " "], [84266, 0, "a"], [84267, 0, "n"], [84268, 0, "d"], [84269, 0, " "], [84270, 0, "n"], [84271, 0, "o"], [84272, 0, "t"], [84273, 0, " "], [84274, 0, "o"], [84275, 0, "n"], [84276, 0, " "], [84277, 0, "t"], [84278, 0, "h"], [84279, 0, "e"], [84280, 0, " "], [84281, 0, "o"], [84282, 0, "r"], [84283, 0, "d"], [84284, 0, "e"], [84285, 0, "r"], [84286, 0, " "], [84287, 0, "i"], [84288, 0, "n"], [84289, 0, " "], [84290, 0, "w"], [84291, 0, "h"], [84292, 0, "i"], [84293, 0, "c"], [84294, 0, "h"], [84295, 0, " "], [84296, 0, "t"], [84297, 0, "h"], [84298, 0, "e"], [84299, 0, " "], [84300, 0, "o"], [84301, 0, "p"], [84302, 0, "e"], [84303, 0, "r"], [84304, 0, "a"], [84305, 0, "t"], [84306, 0, "i"], [84307, 0, "o"], [84308, 0, "n"], [84309, 0, "s"], [84310, 0, " "], [84311, 0, "a"], [84312, 0, "r"], [84313, 0, "e"], [84314, 0, " "], [84315, 0, "a"], [84316, 0, "p"], [84317, 0, "p"], [84318, 0, "l"], [84319, 0, "i"], [84320, 0, "e"], [84321, 0, "d"], [84322, 0, "."], [84323, 0, "\n"], [84324, 0, "\n"], [84325, 0, "\\"], [84326, 0, "b"], [84327, 0, "e"], [84328, 0, "g"], [84329, 0, "i"], [84330, 0, "n"], [84331, 0, "{"], [84332, 0, "e"], [84333, 0, "n"], [84334, 0, "u"], [84335, 0, "m"], [84336, 0, "e"], [84337, 0, "r"], [84338, 0, "a"], [84339, 0, "t"], [84340, 0, "e"], [84341, 0, "}"], [84342, 0, "\n"], [84343, 0, "\\"], [84344, 0, "e"], [84345, 0, "n"], [84346, 0, "d"], [84347, 0, "{"], [84348, 0, "e"], [84349, 0, "n"], [84350, 0, "u"], [84351, 0, "m"], [84352, 0, "e"], [84353, 0, "r"], [84354, 0, "a"], [84355, 0, "g"], [84356, 0, "e"], [84357, 0, "}"], [84357, 1], [84356, 1], [84355, 1], [84355, 0, "t"], [84356, 0, "e"], [84357, 0, "}"], [84342, 0, "\n"], [84343, 0, "\\"], [84344, 0, "i"], [84345, 0, "t"], [84346, 0, "e"], [84347, 0, "m"], [84348, 0, " "], [84349, 0, "x"], [83395, 1], [83971, 0, "\n"], [83972, 0, "\n"], [83972, 0, "W"], [83973, 0, "i"], [83974, 0, "t"], [83975, 0, "h"], [83976, 0, "o"], [83977, 0, "u"], [83978, 0, "t"], [83979, 0, " "], [83980, 0, "l"], [83981, 0, "o"], [83982, 0, "s"], [83983, 0, "s"], [83984, 0, " "], [83985, 0, "o"], [83986, 0, "f"], [83987, 0, " "], [83988, 0, "g"], [83989, 0, "e"], [83990, 0, "n"], [83991, 0, "e"], [83992, 0, "r"], [83993, 0, "a"], [83994, 0, "l"], [83995, 0, "i"], [83996, 0, "t"], [83997, 0, "y"], [83998, 0, ","], [83999, 0, " "], [84000, 0, "s"], [84001, 0, "a"], [84002, 0, "s"], [84003, 0, "u"], [84004, 0, "m"], [84005, 0, "e"], [84006, 0, " "], [84007, 0, "t"], [84008, 0, "h"], [84000, 0, "a"], [84002, 1], [84009, 0, "a"], [84010, 0, "t"], [84011, 0, " "], [84012, 0, "$"], [84013, 0, "o"], [84014, 0, "_"], [84015, 0, "r"], [84016, 0, "."], [84017, 0, "\\"], [84018, 0, "m"], [84019, 0, "a"], [84020, 0, "t"], [84021, 0, "h"], [84022, 0, "i"], [84023, 0, "t"], [84024, 0, "{"], [84025, 0, "i"], [84026, 0, "d"], [84027, 0, "}"], [84028, 0, " "], [84029, 0, "<"], [84030, 0, " "], [84031, 0, "o"], [84032, 0, "_"], [84033, 0, "s"], [84034, 0, "."], [84035, 0, "\\"], [84036, 0, "m"], [84037, 0, "a"], [84038, 0, "t"], [84039, 0, "h"], [84040, 0, "i"], [84041, 0, "t"], [84042, 0, "{"], [84043, 0, "i"], [84044, 0, "d"], [84045, 0, "}"], [84046, 0, "$"], [84047, 0, " "], [84048, 0, "a"], [84049, 0, "c"], [84050, 0, "c"], [84051, 0, "o"], [84052, 0, "r"], [84053, 0, "d"], [84054, 0, "i"], [84055, 0, "n"], [84056, 0, "g"], [84057, 0, " "], [84058, 0, "t"], [84059, 0, "h"], [84060, 0, "e"], [84061, 0, " "], [84061, 1], [84060, 1], [84059, 1], [84059, 0, "o"], [84060, 0, " "], [84061, 0, "t"], [84062, 0, "h"], [84063, 0, "e"], [84064, 0, " "], [84065, 0, "o"], [84066, 0, "r"], [84067, 0, "d"], [84068, 0, "e"], [84069, 0, "r"], [84070, 0, "i"], [84071, 0, "n"], [84072, 0, "g"], [84073, 0, " "], [84074, 0, "r"], [84075, 0, "e"], [84076, 0, "l"], [84077, 0, "a"], [84078, 0, "t"], [84079, 0, "i"], [84080, 0, "o"], [84081, 0, "n"], [84082, 0, " "], [84083, 0, "o"], [84084, 0, "n"], [84085, 0, " "], [84086, 0, "L"], [84087, 0, "a"], [84088, 0, "m"], [84089, 0, "p"], [84090, 0, "o"], [84091, 0, "r"], [84092, 0, "t"], [84093, 0, " "], [84094, 0, "t"], [84095, 0, "i"], [84096, 0, "m"], [84097, 0, "e"], [84098, 0, "s"], [84099, 0, "t"], [84100, 0, "a"], [84101, 0, "m"], [84102, 0, "p"], [84103, 0, "s"], [84104, 0, "."], [84105, 0, " "], [84106, 0, "("], [84107, 0, "I"], [84108, 0, "f"], [84109, 0, " "], [84110, 0, "t"], [84111, 0, "h"], [84112, 0, "e"], [84113, 0, " "], [84113, 1], [84112, 1], [84111, 1], [84110, 1], [84110, 0, "t"], [84111, 0, "h"], [84112, 0, "e"], [84113, 0, " "], [84114, 0, "o"], [84115, 0, "p"], [84116, 0, "e"], [84117, 0, "r"], [84118, 0, "a"], [84119, 0, "t"], [84120, 0, "i"], [84121, 0, "o"], [84122, 0, "n"], [84123, 0, " "], [84124, 0, "I"], [84125, 0, "D"], [84126, 0, " "], [84127, 0, "o"], [84128, 0, "f"], [84129, 0, " "], [84130, 0, "$"], [84131, 0, "o"], [84132, 0, "_"], [84133, 0, "r"], [84134, 0, "$"], [84135, 0, " "], [84136, 0, "w"], [84137, 0, "e"], [84138, 0, "r"], [84139, 0, "e"], [84140, 0, " "], [84141, 0, "g"], [84142, 0, "r"], [84143, 0, "e"], [84144, 0, "a"], [84145, 0, "t"], [84146, 0, "e"], [84147, 0, "r"], [84148, 0, ","], [84149, 0, " "], [84150, 0, "$"], [84151, 0, "o"], [84152, 0, "_"], [84153, 0, "r"], [84154, 0, "$"], [84155, 0, " "], [84156, 0, "a"], [84157, 0, "n"], [84158, 0, "d"], [84159, 0, " "], [84160, 0, "$"], [84161, 0, "o"], [84162, 0, "_"], [84163, 0, "s"], [84164, 0, "$"], [84165, 0, " "], [84166, 0, "c"], [84167, 0, "o"], [84168, 0, "u"], [84169, 0, "l"], [84170, 0, "d"], [84171, 0, " "], [84172, 0, "b"], [84173, 0, "e"], [84174, 0, " "], [84175, 0, "s"], [84176, 0, "w"], [84177, 0, "a"], [84178, 0, "p"], [84179, 0, "p"], [84180, 0, "e"], [84181, 0, "d"], [84182, 0, " "], [84183, 0, "i"], [84184, 0, "n"], [84185, 0, " "], [84186, 0, "t"], [84187, 0, "h"], [84188, 0, "i"], [84189, 0, "s"], [84190, 0, " "], [84191, 0, "p"], [84192, 0, "o"], [84193, 0, "r"], [84193, 1], [84192, 1], [84192, 0, "r"], [84193, 0, "o"], [84194, 0, "o"], [84195, 0, "f"], [84196, 0, "."], [84197, 0, ")"], [84198, 0, " "], [84199, 0, "W"], [84200, 0, "e"], [84201, 0, " "], [84202, 0, "n"], [84203, 0, "o"], [84204, 0, "w"], [84205, 0, " "], [84206, 0, "d"], [84207, 0, "i"], [84208, 0, "s"], [84209, 0, "t"], [84210, 0, "i"], [84211, 0, "n"], [84212, 0, "g"], [84213, 0, "u"], [84214, 0, "i"], [84215, 0, "s"], [84216, 0, "h"], [84217, 0, " "], [84218, 0, "t"], [84219, 0, "w"], [84220, 0, "o"], [84221, 0, " "], [84222, 0, "c"], [84223, 0, "a"], [84224, 0, "s"], [84225, 0, "e"], [84226, 0, "s"], [84227, 0, ":"], [84606, 1], [84606, 0, "$"], [84607, 0, "o"], [84608, 0, "_"], [84609, 0, "r"], [84610, 0, "$"], [84611, 0, " "], [84612, 0, "i"], [84613, 0, "s"], [84614, 0, " "], [84615, 0, "a"], [84616, 0, "p"], [84617, 0, "p"], [84618, 0, "l"], [84619, 0, "i"], [84620, 0, "e"], [84621, 0, "d"], [84622, 0, " "], [84623, 0, "b"], [84624, 0, "e"], [84625, 0, "f"], [84626, 0, "o"], [84627, 0, "r"], [84628, 0, "e"], [84629, 0, " "], [84630, 0, "$"], [84631, 0, "o"], [84632, 0, "_"], [84633, 0, "s"], [84634, 0, "$"], [84635, 0, " "], [84636, 0, "i"], [84637, 0, "n"], [84638, 0, " "], [84639, 0, "$"], [84640, 0, "H"], [84641, 0, "$"], [84642, 0, "."], [84643, 0, "\n"], [84644, 0, "\\"], [84645, 0, "i"], [84646, 0, "t"], [84647, 0, "e"], [84648, 0, "m"], [84649, 0, " "], [84650, 0, "$"], [84651, 0, "o"], [84652, 0, "_"], [84653, 0, "s"], [84654, 0, "$"], [84655, 0, " "], [84656, 0, "i"], [84657, 0, "s"], [84658, 0, " "], [84659, 0, "a"], [84660, 0, "p"], [84661, 0, "p"], [84662, 0, "l"], [84663, 0, "i"], [84664, 0, "e"], [84665, 0, "d"], [84666, 0, " "], [84667, 0, "b"], [84668, 0, "e"], [84669, 0, "f"], [84670, 0, "o"], [84671, 0, "r"], [84672, 0, "e"], [84673, 0, " "], [84674, 0, "$"], [84675, 0, "o"], [84676, 0, "_"], [84677, 0, "r"], [84678, 0, "$"], [84679, 0, " "], [84680, 0, "i"], [84681, 0, "n"], [84682, 0, " "], [84683, 0, "$"], [84684, 0, "H"], [84685, 0, "$"], [84686, 0, "."], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84230, 1], [84140, 0, "="], [84140, 1], [84139, 1], [84138, 1], [84137, 1], [84136, 1], [84136, 0, "i"], [84137, 0, "s"], [84168, 1], [84167, 1], [84166, 1], [84165, 1], [84165, 0, "a"], [84166, 0, "n"], [83860, 1], [83859, 1], [83858, 1], [84143, 0, " "], [84144, 0, "t"], [84145, 0, "h"], [84146, 0, "a"], [84147, 0, "t"], [84148, 0, "n"], [84149, 0, " "], [84150, 0, "$"], [84150, 1], [84149, 1], [84148, 1], [84147, 1], [84147, 0, "n"], [84148, 0, " "], [84149, 0, "$"], [84150, 0, "o"], [84151, 0, "_"], [84152, 0, "s"], [84153, 0, "$"], [84295, 0, " "], [84296, 0, "T"], [84297, 0, "h"], [84298, 0, "u"], [84299, 0, "s"], [84300, 0, ","], [84301, 0, " "], [84302, 0, "w"], [84303, 0, "h"], [84304, 0, "e"], [84305, 0, "n"], [84306, 0, " "], [84307, 0, "$"], [84308, 0, "o"], [84309, 0, "_"], [84310, 0, "s"], [84311, 0, "$"], [84312, 0, " "], [84313, 0, "i"], [84314, 0, "s"], [84315, 0, " "], [84316, 0, "a"], [84317, 0, "p"], [84318, 0, "p"], [84319, 0, "l"], [84320, 0, "i"], [84321, 0, "e"], [84322, 0, "d"], [84323, 0, ","], [84324, 0, " "], [84325, 0, "$"], [84326, 0, "o"], [84327, 0, "_"], [84328, 0, "r"], [84329, 0, "$"], [84330, 0, " "], [84331, 0, "a"], [84332, 0, "n"], [84333, 0, "d"], [84334, 0, " "], [84335, 0, "a"], [84336, 0, "n"], [84337, 0, "y"], [84338, 0, " "], [84339, 0, "c"], [84340, 0, "a"], [84341, 0, "u"], [84342, 0, "s"], [84343, 0, "a"], [84344, 0, "p"], [84345, 0, " "], [84346, 0, "d"], [84346, 1], [84345, 1], [84344, 1], [84344, 0, "l"], [84345, 0, " "], [84346, 0, "d"], [84347, 0, "e"], [84348, 0, "p"], [84349, 0, "e"], [84350, 0, "n"], [84351, 0, "d"], [84352, 0, "e"], [84353, 0, "n"], [84354, 0, "c"], [84355, 0, "i"], [84356, 0, "e"], [84357, 0, "s"], [84358, 0, " "], [84359, 0, "o"], [84360, 0, "f"], [84361, 0, " "], [84361, 1], [84360, 1], [84359, 1], [84358, 1], [84357, 1], [84356, 1], [84355, 1], [84354, 1], [84353, 1], [84352, 1], [84351, 1], [84350, 1], [84349, 1], [84348, 1], [84347, 1], [84346, 1], [84345, 1], [84339, 0, "i"], [84340, 0, "n"], [84341, 0, "s"], [84342, 0, "e"], [84343, 0, "r"], [84344, 0, "t"], [84345, 0, "i"], [84346, 0, "o"], [84347, 0, "n"], [84348, 0, "s"], [84349, 0, " "], [84356, 0, "l"], [84357, 0, "y"], [84358, 0, " "], [84359, 0, "p"], [84360, 0, "r"], [84361, 0, "i"], [84362, 0, "o"], [84363, 0, "r"], [84364, 0, " "], [84365, 0, "t"], [84366, 0, "o"], [84367, 0, " "], [84368, 0, "$"], [84369, 0, "o"], [84370, 0, "_"], [84371, 0, "r"], [84372, 0, "$"], [84373, 0, " "], [84374, 0, "i"], [84375, 0, "n"], [84376, 0, " "], [84377, 0, "t"], [84378, 0, "h"], [84379, 0, "e"], [84380, 0, " "], [84381, 0, "s"], [84382, 0, "a"], [84383, 0, "m"], [84384, 0, "e"], [84385, 0, " "], [84386, 0, "i"], [84387, 0, "n"], [84388, 0, "s"], [84389, 0, "e"], [84390, 0, "r"], [84391, 0, "t"], [84392, 0, "i"], [84393, 0, "o"], [84394, 0, "n"], [84395, 0, " "], [84396, 0, "i"], [84397, 0, "n"], [84398, 0, "t"], [84399, 0, "e"], [84400, 0, "r"], [84401, 0, "v"], [84402, 0, "a"], [84403, 0, "l"], [84404, 0, " "], [84405, 0, "h"], [84406, 0, "a"], [84407, 0, "v"], [84408, 0, "e"], [84409, 0, " "], [84410, 0, "a"], [84411, 0, "l"], [84412, 0, "r"], [84413, 0, "e"], [84414, 0, "a"], [84415, 0, "d"], [84416, 0, "y"], [84417, 0, " "], [84418, 0, "b"], [84419, 0, "e"], [84420, 0, "e"], [84421, 0, "n"], [84422, 0, " "], [84423, 0, "a"], [84424, 0, "p"], [84425, 0, "p"], [84426, 0, "l"], [84427, 0, "i"], [84428, 0, "e"], [84429, 0, "d"], [84430, 0, "."], [84475, 0, " "], [84476, 0, "T"], [84477, 0, "h"], [84478, 0, "u"], [84479, 0, "s"], [84480, 0, ","], [84481, 0, " "], [84482, 0, "w"], [84483, 0, "e"], [84484, 0, "h"], [84484, 1], [84483, 1], [84483, 0, "h"], [84484, 0, "e"], [84485, 0, "n"], [84486, 0, " "], [84487, 0, "$"], [84488, 0, "o"], [84488, 1], [84488, 0, "o"], [84489, 0, "_"], [84490, 0, "r"], [84491, 0, "$"], [84492, 0, " "], [84493, 0, "i"], [84494, 0, "s"], [84495, 0, " "], [84496, 0, "a"], [84497, 0, "p"], [84498, 0, "p"], [84499, 0, "l"], [84500, 0, "i"], [84501, 0, "e"], [84502, 0, "d"], [84503, 0, ","], [84504, 0, " "], [84505, 0, "$"], [84506, 0, "o"], [84507, 0, "_"], [84508, 0, "s"], [84509, 0, "$"], [84510, 0, " "], [84511, 0, "a"], [84512, 0, "n"], [84513, 0, "d"], [84514, 0, " "], [84515, 0, "a"], [84516, 0, "n"], [84517, 0, "y"], [84518, 0, " "], [84519, 0, "i"], [84520, 0, "n"], [84521, 0, "s"], [84522, 0, "e"], [84523, 0, "r"], [84524, 0, "t"], [84525, 0, "i"], [84526, 0, "o"], [84527, 0, "n"], [84528, 0, "s"], [84529, 0, " "], [84530, 0, "c"], [84531, 0, "a"], [84532, 0, "u"], [84533, 0, "s"], [84534, 0, "a"], [84535, 0, "l"], [84536, 0, "l"], [84537, 0, "y"], [84538, 0, " "], [84539, 0, "p"], [84540, 0, "r"], [84541, 0, "i"], [84542, 0, "o"], [84543, 0, "r"], [84544, 0, " "], [84545, 0, "t"], [84546, 0, "o"], [84547, 0, " "], [84548, 0, "$"], [84549, 0, "o"], [84550, 0, "_"], [84551, 0, "s"], [84552, 0, "$"], [84553, 0, " "], [84554, 0, "i"], [84555, 0, "n"], [84556, 0, " "], [84557, 0, "t"], [84558, 0, "h"], [84559, 0, "e"], [84560, 0, " "], [84561, 0, "s"], [84562, 0, "a"], [84563, 0, "m"], [84564, 0, "e"], [84565, 0, " "], [84566, 0, "i"], [84567, 0, "n"], [84568, 0, "s"], [84569, 0, "e"], [84570, 0, "r"], [84571, 0, "t"], [84572, 0, "i"], [84573, 0, "o"], [84574, 0, "n"], [84575, 0, " "], [84576, 0, "i"], [84577, 0, "n"], [84578, 0, "t"], [84579, 0, "e"], [84580, 0, "r"], [84581, 0, "v"], [84582, 0, "a"], [84583, 0, "l"], [84584, 0, " "], [84585, 0, "h"], [84586, 0, "a"], [84587, 0, "v"], [84588, 0, "e"], [84589, 0, " "], [84590, 0, "a"], [84591, 0, "l"], [84592, 0, "r"], [84593, 0, "a"], [84593, 1], [84593, 0, "e"], [84594, 0, "a"], [84595, 0, "d"], [84596, 0, "y"], [84597, 0, " "], [84598, 0, "b"], [84599, 0, "e"], [84600, 0, "e"], [84601, 0, "n"], [84602, 0, " "], [84603, 0, "a"], [84604, 0, "p"], [84605, 0, "p"], [84606, 0, "l"], [84607, 0, "i"], [84608, 0, "e"], [84609, 0, "d"], [84610, 0, "."], [84408, 1], [84407, 1], [84407, 0, "s"], [84403, 1], [84402, 1], [84401, 1], [84400, 1], [84399, 1], [84398, 1], [84397, 1], [84396, 1], [84395, 1], [84394, 1], [84393, 1], [84392, 1], [84391, 1], [84390, 1], [84389, 1], [84388, 1], [84387, 1], [84386, 1], [84385, 1], [84384, 1], [84383, 1], [84382, 1], [84381, 1], [84380, 1], [84379, 1], [84378, 1], [84377, 1], [84376, 1], [84375, 1], [84374, 1], [84373, 1], [84372, 1], [84371, 1], [84370, 1], [84369, 1], [84368, 1], [84367, 1], [84366, 1], [84365, 1], [84364, 1], [84363, 1], [84362, 1], [84361, 1], [84360, 1], [84359, 1], [84358, 1], [84357, 1], [84356, 1], [84355, 1], [84354, 1], [84353, 1], [84352, 1], [84351, 1], [84350, 1], [84349, 1], [84348, 1], [84347, 1], [84346, 1], [84345, 1], [84344, 1], [84343, 1], [84342, 1], [84341, 1], [84340, 1], [84339, 1], [84338, 1], [84337, 1], [84336, 1], [84335, 1], [84334, 1], [84333, 1], [84332, 1], [84331, 1], [84330, 1], [84302, 0, "a"], [84303, 0, "t"], [84304, 0, " "], [84305, 0, "t"], [84306, 0, "h"], [84307, 0, "e"], [84308, 0, " "], [84309, 0, "t"], [84310, 0, "i"], [84311, 0, "m"], [84312, 0, "e"], [84313, 0, " "], [84419, 0, "a"], [84420, 0, "t"], [84421, 0, " "], [84422, 0, "t"], [84423, 0, "h"], [84424, 0, "e"], [84425, 0, " "], [84426, 0, "t"], [84427, 0, "i"], [84428, 0, "m"], [84429, 0, "e"], [84430, 0, " "], [84368, 0, " "], [84369, 0, "S"], [84370, 0, "i"], [84371, 0, "n"], [84372, 0, "c"], [84373, 0, "e"], [84374, 0, " "], [84375, 0, "$"], [84376, 0, "o"], [84377, 0, "_"], [84378, 0, "r"], [84379, 0, "$"], [84380, 0, " "], [84381, 0, "h"], [84382, 0, "a"], [84383, 0, "s"], [84384, 0, " "], [84385, 0, "a"], [84386, 0, " "], [84387, 0, "l"], [84388, 0, "e"], [84389, 0, "s"], [84390, 0, "s"], [84391, 0, "e"], [84392, 0, "r"], [84393, 0, " "], [84394, 0, "o"], [84395, 0, "p"], [84396, 0, "e"], [84397, 0, "r"], [84398, 0, "a"], [84399, 0, "t"], [84400, 0, "i"], [84401, 0, "o"], [84402, 0, "n"], [84403, 0, " "], [84404, 0, "I"], [84405, 0, "D"], [84406, 0, ","], [84407, 0, " "], [84408, 0, "t"], [84409, 0, "h"], [84410, 0, "e"], [84411, 0, " "], [84412, 0, "r"], [84413, 0, "u"], [84414, 0, "l"], [84415, 0, "e"], [84416, 0, " "], [84417, 0, "$"], [84418, 0, "\\"], [84419, 0, "m"], [84419, 1], [84419, 0, "t"], [84420, 0, "e"], [84421, 0, "x"], [84422, 0, "t"], [84423, 0, "s"], [84424, 0, "c"], [84425, 0, "{"], [84426, 0, "I"], [84427, 0, "n"], [84428, 0, "s"], [84429, 0, "e"], [84430, 0, "r"], [84431, 0, "t"], [84432, 0, "}"], [84433, 0, "_"], [84434, 0, "1"], [84435, 0, "$"], [84436, 0, " "], [84437, 0, "a"], [84438, 0, "p"], [84439, 0, "p"], [84440, 0, "l"], [84441, 0, "i"], [84442, 0, "e"], [84443, 0, "s"], [84444, 0, " "], [84445, 0, "w"], [84446, 0, "i"], [84447, 0, "t"], [84448, 0, "h"], [84449, 0, " "], [84450, 0, "$"], [84451, 0, "\\"], [84452, 0, "m"], [84453, 0, "a"], [84454, 0, "t"], [84455, 0, "h"], [84456, 0, "i"], [84457, 0, "t"], [84458, 0, "{"], [84459, 0, "n"], [84460, 0, "e"], [84461, 0, "x"], [84462, 0, "t"], [84463, 0, "}"], [84464, 0, " "], [84465, 0, "="], [84466, 0, " "], [84467, 0, "o"], [84468, 0, "_"], [84469, 0, "r"], [84470, 0, "."], [84471, 0, "\\"], [84472, 0, "m"], [84473, 0, "a"], [84474, 0, "t"], [84475, 0, "h"], [84476, 0, "i"], [84477, 0, "t"], [84478, 0, "{"], [84479, 0, "i"], [84480, 0, "d"], [84481, 0, "}"], [84482, 0, "$"], [84483, 0, " "], [84484, 0, "a"], [84485, 0, "t"], [84486, 0, " "], [84487, 0, "t"], [84488, 0, "h"], [84489, 0, "e"], [84490, 0, " "], [84491, 0, "l"], [84492, 0, "a"], [84493, 0, "t"], [84494, 0, "e"], [84495, 0, "s"], [84496, 0, "t"], [84497, 0, ";"], [84498, 0, " "], [84499, 0, "i"], [84500, 0, "t"], [84501, 0, " "], [84502, 0, "i"], [84503, 0, "s"], [84504, 0, " "], [84505, 0, "n"], [84506, 0, "o"], [84507, 0, "t"], [84508, 0, " "], [84509, 0, "p"], [84510, 0, "o"], [84511, 0, "s"], [84512, 0, "s"], [84513, 0, "i"], [84514, 0, "b"], [84515, 0, "l"], [84516, 0, "e"], [84517, 0, " "], [84518, 0, "f"], [84519, 0, "o"], [84520, 0, "r"], [84521, 0, " "], [84522, 0, "$"], [84523, 0, "\\"], [84524, 0, "m"], [84524, 1], [84524, 0, "t"], [84525, 0, "e"], [84526, 0, "x"], [84527, 0, "t"], [84528, 0, "s"], [84529, 0, "c"], [84530, 0, "{"], [84531, 0, "I"], [84532, 0, "n"], [84533, 0, "s"], [84534, 0, "e"], [84535, 0, "r"], [84536, 0, "t"], [84537, 0, "}"], [84538, 0, "_"], [84539, 0, "2"], [84540, 0, "$"], [84541, 0, "%"], [84541, 1], [84541, 0, " "], [84542, 0, "t"], [84543, 0, "o"], [84544, 0, " "], [84497, 0, ","], [84498, 0, " "], [84499, 0, "s"], [84500, 0, "o"], [84501, 0, " "], [84502, 0, "t"], [84503, 0, "h"], [84504, 0, "e"], [84505, 0, " "], [84506, 0, "i"], [84507, 0, "n"], [84508, 0, "s"], [84509, 0, "e"], [84510, 0, "r"], [84511, 0, "t"], [84512, 0, "i"], [84513, 0, "o"], [84514, 0, "n"], [84515, 0, " "], [84516, 0, "p"], [84517, 0, "o"], [84518, 0, "s"], [84519, 0, "i"], [84520, 0, "t"], [84521, 0, "i"], [84522, 0, "o"], [84523, 0, "n"], [84524, 0, " "], [84525, 0, "o"], [84526, 0, "f"], [84527, 0, " "], [84528, 0, "$"], [84529, 0, "o"], [84530, 0, "_"], [84531, 0, "s"], [84532, 0, "$"], [84533, 0, " "], [84534, 0, "m"], [84535, 0, "u"], [84536, 0, "s"], [84537, 0, "t"], [84538, 0, " "], [84539, 0, "a"], [84540, 0, "p"], [84541, 0, "p"], [84542, 0, "e"], [84543, 0, "a"], [84544, 0, "r"], [84545, 0, " "], [84546, 0, "b"], [84547, 0, "e"], [84548, 0, "f"], [84549, 0, "o"], [84550, 0, "r"], [84551, 0, "e"], [84552, 0, " "], [84553, 0, "$"], [84554, 0, "o"], [84555, 0, "_"], [84556, 0, "r"], [84557, 0, "$"], [84369, 0, "W"], [84370, 0, "h"], [84371, 0, "e"], [84372, 0, "n"], [84373, 0, " "], [84374, 0, "a"], [84375, 0, "p"], [84376, 0, "p"], [84377, 0, "l"], [84378, 0, "y"], [84379, 0, "i"], [84380, 0, "n"], [84381, 0, "g"], [84382, 0, " "], [84383, 0, "$"], [84384, 0, "o"], [84385, 0, "_"], [84386, 0, "s"], [84387, 0, "$"], [84388, 0, ","], [84389, 0, " "], [84390, 1], [84390, 0, "s"], [84579, 1], [84579, 0, "."], [84581, 1], [84581, 0, "I"], [84627, 0, "s"], [84628, 0, "k"], [84629, 0, "i"], [84630, 0, "p"], [84631, 0, " "], [84632, 0, "p"], [84633, 0, "a"], [84634, 0, "s"], [84635, 0, "t"], [84636, 0, " "], [84637, 0, "$"], [84638, 0, "o"], [84639, 0, "_"], [84640, 0, "r"], [84641, 0, "."], [84641, 1], [84641, 0, "$"], [84642, 0, "."], [84851, 0, "\n"], [84852, 0, "\n"], [84853, 0, "I"], [84854, 0, "n"], [84855, 0, " "], [84856, 0, "b"], [84857, 0, "o"], [84858, 0, "t"], [84859, 0, "h"], [84860, 0, " "], [84861, 0, "c"], [84862, 0, "a"], [84863, 0, "s"], [84864, 0, "e"], [84865, 0, "s"], [84866, 0, ","], [84867, 0, " "], [84868, 0, "t"], [84869, 0, "h"], [84870, 0, "e"], [84871, 0, " "], [84872, 0, "i"], [84873, 0, "n"], [84874, 0, "s"], [84875, 0, "e"], [84876, 0, "r"], [84877, 0, "t"], [84878, 0, "i"], [84879, 0, "o"], [84880, 0, "n"], [84881, 0, " "], [84882, 0, "p"], [84883, 0, "o"], [84884, 0, "s"], [84885, 0, "i"], [84886, 0, "t"], [84887, 0, "i"], [84888, 0, "o"], [84889, 0, "n"], [84890, 0, " "], [84891, 0, "o"], [84892, 0, "f"], [84893, 0, " "], [84894, 0, "$"], [84895, 0, "o"], [84896, 0, "_"], [84897, 0, "r"], [84898, 0, "$"], [84899, 0, " "], [84900, 0, "a"], [84901, 0, "p"], [84902, 0, "p"], [84903, 0, "e"], [84904, 0, "a"], [84905, 0, "r"], [84906, 0, "s"], [84907, 0, " "], [84908, 0, "a"], [84909, 0, "f"], [84910, 0, "t"], [84911, 0, "e"], [84912, 0, "r"], [84913, 0, " "], [84914, 0, "t"], [84915, 0, "h"], [84916, 0, "e"], [84917, 0, " "], [84918, 0, "i"], [84919, 0, "n"], [84920, 0, "s"], [84921, 0, "e"], [84922, 0, "r"], [84923, 0, "t"], [84924, 0, "i"], [84925, 0, "o"], [84926, 0, "n"], [84927, 0, " "], [84928, 0, "p"], [84929, 0, "o"], [84930, 0, "s"], [84931, 0, "i"], [84932, 0, "t"], [84933, 0, "i"], [84934, 0, "o"], [84935, 0, "n"], [84936, 0, " "], [84937, 0, "o"], [84938, 0, "f"], [84939, 0, " "], [84940, 0, "$"], [84941, 0, "o"], [84942, 0, "_"], [84943, 0, "s"], [84944, 0, "$"], [84945, 0, "."], [84946, 0, " "], [84947, 0, "T"], [84947, 1], [84946, 1], [84945, 1], [84945, 0, ","], [84946, 0, " "], [84947, 0, "w"], [84948, 0, "h"], [84949, 0, "i"], [84950, 0, "c"], [84951, 0, "h"], [84952, 0, " "], [84953, 0, "s"], [84954, 0, "h"], [84955, 0, "o"], [84956, 0, "w"], [84957, 0, "s"], [84958, 0, " "], [84959, 0, "t"], [84960, 0, "h"], [84961, 0, "a"], [84962, 0, "t"], [84963, 0, " "], [84964, 0, "$"], [84965, 0, "o"], [84966, 0, "_"], [84967, 0, "r"], [84968, 0, "$"], [84969, 0, " "], [84970, 0, "a"], [84971, 0, "n"], [84972, 0, "d"], [84973, 0, " "], [84974, 0, "$"], [84975, 0, "o"], [84976, 0, "_"], [84977, 0, "s"], [84978, 0, "$"], [84979, 0, " "], [84980, 0, "a"], [84981, 0, "r"], [84982, 0, "e"], [84983, 0, " "], [84984, 0, "c"], [84985, 0, "o"], [84986, 0, "m"], [84987, 0, "m"], [84988, 0, "u"], [84989, 0, "t"], [84990, 0, "a"], [84991, 0, "t"], [84992, 0, "i"], [84993, 0, "v"], [84994, 0, "e"], [84995, 0, "."], [84945, 1], [84945, 0, "."], [84946, 0, " "], [84947, 0, "S"], [84948, 0, "i"], [84949, 0, "n"], [84950, 0, "c"], [84951, 0, "e"], [84952, 0, " "], [84953, 0, "t"], [84954, 0, "h"], [84955, 0, "e"], [84956, 0, " "], [84957, 0, "a"], [84958, 0, "r"], [84959, 0, "g"], [84960, 0, "u"], [84961, 0, "m"], [84962, 0, "e"], [84963, 0, "n"], [84964, 0, "t"], [84965, 0, " "], [84966, 0, "a"], [84967, 0, "p"], [84968, 0, "p"], [84969, 0, "l"], [84970, 0, "i"], [84971, 0, "e"], [84972, 0, "s"], [84973, 0, " "], [84974, 0, "t"], [84975, 0, "o"], [84976, 0, " "], [84977, 0, "a"], [84978, 0, "l"], [84979, 0, "l"], [84980, 0, " "], [84981, 0, "p"], [84982, 0, "a"], [84983, 0, "i"], [84984, 0, "r"], [84985, 0, "s"], [84986, 0, " "], [84987, 0, "o"], [84988, 0, "f"], [84989, 0, " "], [84990, 0, "c"], [84991, 0, "o"], [84992, 0, "n"], [84993, 0, "c"], [84994, 0, "u"], [84995, 0, "r"], [84996, 0, "r"], [84997, 0, "e"], [84998, 0, "n"], [84999, 0, "t"], [85000, 0, " "], [85001, 0, "o"], [85002, 0, "p"], [85003, 0, "e"], [85004, 0, "r"], [85005, 0, "a"], [85006, 0, "t"], [85007, 0, "i"], [85008, 0, "o"], [85009, 0, "n"], [85010, 0, "s"], [85011, 0, " "], [85012, 0, "$"], [85013, 0, "o"], [85014, 0, "_"], [85015, 0, "r"], [85016, 0, ","], [85017, 0, " "], [85018, 0, "$"], [85019, 0, "o"], [85020, 0, "_"], [85020, 1], [85019, 1], [85018, 1], [85017, 1], [85017, 0, " "], [85018, 0, "o"], [85019, 0, "_"], [85020, 0, "s"], [85021, 0, "$"], [85022, 0, " "], [85023, 0, "i"], [85024, 0, "n"], [85025, 0, " "], [85026, 0, "$"], [85027, 0, "H"], [85028, 0, "$"], [85029, 0, ","], [85030, 0, " "], [85031, 0, "w"], [85032, 0, "e"], [85033, 0, " "], [85034, 0, "d"], [85035, 0, "e"], [85036, 0, "d"], [85037, 0, "u"], [85038, 0, "c"], [85039, 0, "e"], [85040, 0, " "], [85041, 0, "t"], [85042, 0, "h"], [85043, 0, "a"], [85044, 0, "t"], [85045, 0, " "], [85046, 0, "t"], [85047, 0, "h"], [85048, 0, "e"], [85049, 0, " "], [85050, 0, "f"], [85051, 0, "i"], [85052, 0, "n"], [85053, 0, "a"], [85054, 0, "l"], [85055, 0, " "], [85056, 0, "o"], [85057, 0, "r"], [85058, 0, "d"], [85059, 0, "e"], [85060, 0, "r"], [85061, 0, " "], [85062, 0, "o"], [85063, 0, "f"], [85064, 0, " "], [85065, 0, "e"], [85066, 0, "l"], [85067, 0, "e"], [85068, 0, "m"], [85069, 0, "e"], [85070, 0, "n"], [85071, 0, "t"], [85072, 0, "s"], [85073, 0, " "], [85074, 0, "i"], [85075, 0, "n"], [85076, 0, " "], [85077, 0, "t"], [85078, 0, "h"], [85079, 0, "e"], [85080, 0, " "], [85081, 0, "l"], [85082, 0, "i"], [85083, 0, "s"], [85084, 0, "t"], [85085, 0, " "], [85086, 0, "d"], [85087, 0, "e"], [85088, 0, "p"], [85089, 0, "e"], [85090, 0, "n"], [85091, 0, "d"], [85092, 0, "s"], [85093, 0, " "], [85094, 0, "o"], [85095, 0, "n"], [85096, 0, "l"], [85097, 0, "y"], [85098, 0, " "], [85099, 0, "o"], [85100, 0, "n"], [85101, 0, " "], [85102, 0, "t"], [85103, 0, "h"], [85104, 0, "e"], [85105, 0, " "], [85106, 0, "o"], [85107, 0, "p"], [85108, 0, "e"], [85109, 0, "r"], [85110, 0, "a"], [85111, 0, "t"], [85112, 0, "i"], [85113, 0, "o"], [85114, 0, "n"], [85115, 0, " "], [85116, 0, "I"], [85117, 0, "D"], [85118, 0, "s"], [85119, 0, " "], [85120, 0, "b"], [85121, 0, "u"], [85122, 0, "t"], [85123, 0, " "], [85124, 0, "n"], [85125, 0, "o"], [85126, 0, "t"], [85127, 0, " "], [85128, 0, "t"], [85129, 0, "h"], [85130, 0, "e"], [85131, 0, " "], [85132, 0, "o"], [85133, 0, "r"], [85134, 0, "d"], [85135, 0, "e"], [85136, 0, "r"], [85137, 0, " "], [85138, 0, "o"], [85139, 0, "f"], [85140, 0, " "], [85141, 0, "a"], [85142, 0, "p"], [85143, 0, "p"], [85144, 0, "l"], [85145, 0, "i"], [85146, 0, "c"], [85147, 0, "a"], [85148, 0, "t"], [85149, 0, "i"], [85150, 0, "o"], [85151, 0, "n"], [85152, 0, ","], [85185, 1], [85184, 1], [85183, 1], [85182, 1], [85181, 1], [85180, 1], [85179, 1], [85178, 1], [85177, 1], [85176, 1], [85175, 1], [85174, 1], [85173, 1], [85172, 1], [85171, 1], [85171, 0, "c"], [85172, 0, "o"], [85173, 0, "n"], [85174, 0, "c"], [85175, 0, "u"], [85176, 0, "r"], [85177, 0, "r"], [85178, 0, "e"], [85179, 0, "n"], [85180, 0, "t"], [85181, 0, " "], [85182, 0, "i"], [85183, 0, "n"], [85184, 0, "s"], [85185, 0, "e"], [85186, 0, "r"], [85187, 0, "t"], [85188, 0, "i"], [85189, 0, "o"], [85190, 0, "n"], [85191, 0, "s"], [85192, 0, " "], [85193, 0, "t"], [85194, 0, "o"], [85195, 0, " "], [85196, 0, "t"], [85197, 0, "h"], [85198, 0, "e"], [85199, 0, " "], [85200, 0, "s"], [85201, 0, "a"], [85202, 0, "m"], [85203, 0, "e"], [85204, 0, " "], [85205, 0, "l"], [85206, 0, "i"], [85207, 0, "s"], [85208, 0, "t"], [83141, 0, "\n"], [83142, 0, "\n"], [83143, 0, "\\"], [83144, 0, "b"], [83145, 0, "e"], [83146, 0, "g"], [83147, 0, "i"], [83148, 0, "n"], [83149, 0, "{"], [83150, 0, "l"], [83151, 0, "e"], [83152, 0, "m"], [83153, 0, "m"], [83154, 0, "a"], [83155, 0, "}"], [83156, 0, "\\"], [83157, 0, "l"], [83158, 0, "a"], [83159, 0, "b"], [83160, 0, "e"], [83161, 0, "l"], [83162, 0, "{"], [83163, 0, "l"], [83164, 0, "e"], [83165, 0, "m"], [83166, 0, ":"], [83167, 0, "i"], [83168, 0, "n"], [83169, 0, "s"], [83170, 0, "e"], [83171, 0, "r"], [83172, 0, "t"], [83173, 0, "-"], [83174, 0, "c"], [83175, 0, "o"], [83176, 0, "n"], [83177, 0, "f"], [83178, 0, "l"], [83179, 0, "i"], [83180, 0, "c"], [83181, 0, "t"], [83182, 0, "}"], [83183, 0, "\n"], [83184, 0, "\\"], [83185, 0, "e"], [83186, 0, "n"], [83187, 0, "d"], [83188, 0, "{"], [83189, 0, "l"], [83190, 0, "e"], [83191, 0, "m"], [83192, 0, "m"], [83193, 0, "a"], [83194, 0, "}"], [83184, 0, "\n"], [83184, 0, "I"], [83185, 0, "n"], [83186, 0, " "], [83187, 0, "a"], [83188, 0, "n"], [83189, 0, " "], [83190, 0, "o"], [83191, 0, "p"], [83192, 0, "e"], [83193, 0, "r"], [83194, 0, "a"], [83195, 0, "t"], [83196, 0, "i"], [83197, 0, "o"], [83198, 0, "n"], [83199, 0, " "], [83200, 0, "h"], [83201, 0, "i"], [83202, 0, "s"], [83203, 0, "t"], [83204, 0, "o"], [83205, 0, "r"], [83206, 0, "y"], [83207, 0, " "], [83208, 0, "$"], [83209, 0, "H"], [83210, 0, "$"], [83211, 0, ","], [83212, 0, " "], [83213, 0, "g"], [83213, 1], [83184, 0, "F"], [83185, 0, "o"], [83186, 0, "r"], [83187, 0, " "], [83188, 0, "a"], [83189, 0, "n"], [83190, 0, "y"], [83191, 0, " "], [83192, 0, "t"], [83193, 0, "w"], [83194, 0, "o"], [83195, 0, " "], [83196, 0, "c"], [83197, 0, "o"], [83198, 0, "n"], [83199, 0, "c"], [83200, 0, "u"], [83201, 0, "r"], [83202, 0, "r"], [83203, 0, "e"], [83204, 0, "n"], [83205, 0, "t"], [83206, 0, " "], [83207, 0, "i"], [83208, 0, "n"], [83209, 0, "s"], [83210, 0, "e"], [83211, 0, "r"], [83212, 0, "t"], [83213, 0, "i"], [83214, 0, "o"], [83215, 0, "n"], [83216, 0, " "], [83217, 0, "o"], [83218, 0, "p"], [83219, 0, "e"], [83220, 0, "r"], [83221, 0, "a"], [83222, 0, "t"], [83223, 0, "i"], [83224, 0, "o"], [83225, 0, "n"], [83226, 0, "s"], [83227, 0, " "], [83228, 0, "$"], [83229, 0, "o"], [83230, 0, "_"], [83231, 0, "r"], [83232, 0, ","], [83233, 0, " "], [83234, 0, "o"], [83235, 0, "_"], [83236, 0, "s"], [83237, 0, "$"], [83238, 0, " "], [83239, 1], [83239, 0, "i"], [83243, 1], [83244, 1], [83244, 1], [83244, 1], [83244, 1], [83244, 1], [83244, 1], [83244, 1], [83244, 1], [83244, 1], [83244, 1], [83244, 1], [83244, 0, "h"], [83257, 0, "i"], [83258, 0, "f"], [83259, 0, " "], [83260, 0, "t"], [83261, 0, "h"], [83262, 0, "e"], [83263, 0, " "], [83264, 0, "o"], [83265, 0, "p"], [83266, 0, "e"], [83267, 0, "r"], [83268, 0, "a"], [83269, 0, "t"], [83270, 0, "i"], [83271, 0, "o"], [83272, 0, "n"], [83273, 0, "s"], [83274, 0, " "], [83275, 0, "h"], [83276, 0, "a"], [83277, 0, "v"], [83278, 0, "e"], [83279, 0, " "], [83280, 0, "t"], [83281, 0, "h"], [83282, 0, "e"], [83283, 0, " "], [83284, 0, "s"], [83285, 0, "a"], [83286, 0, "m"], [83287, 0, "e"], [83288, 0, " "], [83289, 0, "c"], [83290, 0, "u"], [83291, 0, "r"], [83292, 0, "s"], [83293, 0, "o"], [83294, 0, "r"], [83295, 0, " "], [83296, 0, "("], [83297, 0, "$"], [83298, 0, "o"], [83299, 0, "_"], [83300, 0, "r"], [83301, 0, "."], [83302, 0, "\\"], [83303, 0, "m"], [83304, 0, "a"], [83305, 0, "t"], [83306, 0, "h"], [83307, 0, "i"], [83308, 0, "t"], [83309, 0, "{"], [83310, 0, "c"], [83311, 0, "u"], [83312, 0, "r"], [83313, 0, "}"], [83314, 0, " "], [83315, 0, "="], [83316, 0, " "], [83317, 0, "o"], [83318, 0, "_"], [83319, 0, "s"], [83320, 0, "."], [83321, 0, "\\"], [83322, 0, "m"], [83323, 0, "a"], [83324, 0, "t"], [83325, 0, "h"], [83326, 0, "i"], [83327, 0, "t"], [83328, 0, "{"], [83329, 0, "c"], [83330, 0, "u"], [83331, 0, "r"], [83332, 0, "}"], [83333, 0, "$"], [83334, 0, ")"], [83335, 0, ","], [83336, 0, " "], [83337, 0, "t"], [83338, 0, "h"], [83339, 0, "e"], [83340, 0, "n"], [83341, 0, " "], [83342, 0, "t"], [83343, 0, "h"], [83344, 0, "e"], [83345, 0, " "], [83346, 0, "o"], [83347, 0, "r"], [83348, 0, "d"], [83349, 0, "e"], [83350, 0, "r"], [83351, 0, " "], [83352, 0, "a"], [83353, 0, "t"], [83354, 0, " "], [83355, 0, "w"], [83356, 0, "h"], [83357, 0, "i"], [83358, 0, "c"], [83359, 0, "h"], [83360, 0, " "], [83361, 0, "t"], [83362, 0, "h"], [83363, 0, "e"], [83364, 0, " "], [83365, 0, "i"], [83366, 0, "n"], [83367, 0, "s"], [83368, 0, "e"], [83369, 0, "r"], [83370, 0, "t"], [83371, 0, "i"], [83372, 0, "o"], [83373, 0, "n"], [83374, 0, "s"], [83375, 0, " "], [83376, 0, "a"], [83377, 0, "r"], [83378, 0, "e"], [83379, 0, " "], [83379, 1], [83378, 1], [83377, 1], [83376, 1], [83376, 0, "a"], [83377, 0, "p"], [83378, 0, "p"], [83379, 0, "e"], [83380, 0, "a"], [83381, 0, "r"], [83382, 0, " "], [83383, 0, "i"], [83384, 0, "n"], [83385, 0, " "], [83386, 0, "t"], [83387, 0, "h"], [83388, 0, "e"], [83389, 0, " "], [83390, 0, "l"], [83391, 0, "i"], [83392, 0, "s"], [83393, 0, "t"], [83394, 0, " "], [83395, 0, "i"], [83396, 0, "s"], [83397, 0, " "], [83398, 0, "i"], [83399, 0, "n"], [83400, 0, "d"], [83401, 0, "e"], [83402, 0, "p"], [83403, 0, "e"], [83404, 0, "n"], [83405, 0, "d"], [83406, 0, "e"], [83407, 0, "n"], [83408, 0, "t"], [83409, 0, " "], [83410, 0, "o"], [83411, 0, "f"], [83412, 0, " "], [83413, 0, "t"], [83414, 0, "h"], [83415, 0, "e"], [83416, 0, " "], [83417, 0, "o"], [83418, 0, "r"], [83419, 0, "d"], [83420, 0, "e"], [83421, 0, "r"], [83422, 0, " "], [83423, 0, "i"], [83424, 0, "n"], [83425, 0, " "], [83426, 0, "w"], [83427, 0, "h"], [83428, 0, "i"], [83429, 0, "c"], [83430, 0, "h"], [83431, 0, " "], [83432, 0, "t"], [83433, 0, "h"], [83434, 0, "e"], [83435, 0, " "], [83436, 0, "o"], [83437, 0, "p"], [83438, 0, "e"], [83439, 0, "r"], [83440, 0, "a"], [83441, 0, "t"], [83442, 0, "i"], [83443, 0, "o"], [83444, 0, "n"], [83445, 0, "s"], [83446, 0, " "], [83447, 0, "a"], [83448, 0, "r"], [83449, 0, "e"], [83450, 0, " "], [83451, 0, "a"], [83452, 0, "p"], [83453, 0, "p"], [83454, 0, "l"], [83455, 0, "i"], [83456, 0, "e"], [83457, 0, "d"], [83458, 0, "."], [83471, 0, "\n"], [83472, 0, "\n"], [83473, 0, "\\"], [83474, 0, "b"], [83475, 0, "e"], [83476, 0, "g"], [83477, 0, "i"], [83478, 0, "n"], [83479, 0, "{"], [83480, 0, "p"], [83481, 0, "r"], [83482, 0, "o"], [83483, 0, "o"], [83484, 0, "f"], [83485, 0, "}"], [83486, 0, "\n"], [83487, 0, "T"], [83488, 0, "O"], [83489, 0, "D"], [83490, 0, "O"], [83491, 0, "\n"], [83492, 0, "\\"], [83493, 0, "e"], [83494, 0, "n"], [83495, 0, "d"], [83496, 0, "{"], [83497, 0, "p"], [83498, 0, "r"], [83499, 0, "o"], [83500, 0, "o"], [83501, 0, "f"], [83502, 0, "}"], [83353, 1], [83352, 1], [83334, 1], [83296, 1], [83295, 1], [83294, 1], [83293, 1], [83292, 1], [83291, 1], [83290, 1], [83289, 1], [83288, 1], [83287, 1], [83286, 1], [83285, 1], [83284, 1], [83283, 1], [83282, 1], [83281, 1], [83280, 1], [83279, 1], [83278, 1], [83277, 1], [83276, 1], [83275, 1], [83274, 1], [83273, 1], [83272, 1], [83271, 1], [83270, 1], [83269, 1], [83268, 1], [83267, 1], [83266, 1], [83265, 1], [83264, 1], [83263, 1], [83262, 1], [83261, 1], [83260, 1], [83314, 0, "a"], [83315, 0, "t"], [83336, 1], [83335, 1], [83334, 1], [83333, 1], [83333, 0, "e"], [83334, 0, "d"], [83335, 0, " "], [83336, 0, "e"], [83337, 0, "l"], [83338, 0, "e"], [83339, 0, "m"], [83340, 0, "e"], [83341, 0, "n"], [83342, 0, "t"], [83343, 0, "s"], [83366, 0, " "], [83367, 0, "d"], [83368, 0, "e"], [83369, 0, "t"], [83370, 0, "e"], [83371, 0, "r"], [83372, 0, "m"], [83373, 0, "i"], [83374, 0, "n"], [83375, 0, "i"], [83376, 0, "s"], [83377, 0, "t"], [83378, 0, "i"], [83379, 0, "c"], [83380, 0, " "], [83381, 0, "a"], [83382, 0, "n"], [83383, 0, "d"], [83473, 0, "\n"], [83474, 0, "W"], [83475, 0, "i"], [83476, 0, "t"], [83477, 0, "h"], [83478, 0, "o"], [83479, 0, "u"], [83480, 0, "t"], [83481, 0, " "], [83482, 0, "l"], [83483, 0, "o"], [83484, 0, "s"], [83485, 0, "s"], [83486, 0, " "], [83487, 0, "o"], [83488, 0, "f"], [83489, 0, " "], [83490, 0, "g"], [83491, 0, "e"], [83492, 0, "n"], [83493, 0, "e"], [83494, 0, "r"], [83495, 0, "a"], [83496, 0, "l"], [83497, 0, "i"], [83498, 0, "t"], [83499, 0, "y"], [83500, 0, ","], [83501, 0, " "], [83502, 0, "a"], [83503, 0, "s"], [83504, 0, "s"], [83505, 0, "u"], [83506, 0, "m"], [83507, 0, "e"], [83508, 0, " "], [83509, 0, "t"], [83510, 0, "h"], [83511, 0, "a"], [83512, 0, "t"], [83513, 0, " "], [83514, 0, "$"], [83515, 0, "o"], [83516, 0, "_"], [83517, 0, "r"], [83518, 0, "."], [83519, 0, "\\"], [83520, 0, "m"], [83521, 0, "a"], [83522, 0, "t"], [83523, 0, "h"], [83524, 0, "i"], [83525, 0, "t"], [83526, 0, "{"], [83527, 0, "i"], [83528, 0, "d"], [83529, 0, "}"], [83530, 0, " "], [83531, 0, "<"], [83532, 0, " "], [83533, 0, "o"], [83534, 0, "_"], [83535, 0, "s"], [83536, 0, "."], [83537, 0, "\\"], [83538, 0, "m"], [83539, 0, "a"], [83540, 0, "t"], [83541, 0, "h"], [83542, 0, "i"], [83543, 0, "t"], [83544, 0, "{"], [83545, 0, "i"], [83546, 0, "d"], [83547, 0, "}"], [83548, 0, "$"], [83549, 0, " "], [83550, 0, "a"], [83551, 0, "c"], [83552, 0, "c"], [83553, 0, "o"], [83554, 0, "r"], [83555, 0, "d"], [83556, 0, "i"], [83557, 0, "n"], [83558, 0, "g"], [83559, 0, " "], [83560, 0, "t"], [83561, 0, "o"], [83562, 0, " "], [83563, 0, "t"], [83564, 0, "h"], [83565, 0, "e"], [83566, 0, " "], [83567, 0, "o"], [83568, 0, "r"], [83569, 0, "d"], [83570, 0, "e"], [83571, 0, "r"], [83572, 0, "i"], [83573, 0, "n"], [83574, 0, "g"], [83575, 0, " "], [83576, 0, "r"], [83577, 0, "e"], [83578, 0, "l"], [83579, 0, "a"], [83580, 0, "t"], [83581, 0, "i"], [83582, 0, "o"], [83583, 0, "n"], [83584, 0, " "], [83585, 0, "o"], [83586, 0, "n"], [83587, 0, " "], [83588, 0, "L"], [83589, 0, "a"], [83590, 0, "m"], [83591, 0, "p"], [83592, 0, "o"], [83593, 0, "r"], [83594, 0, "t"], [83595, 0, " "], [83596, 0, "t"], [83597, 0, "i"], [83598, 0, "m"], [83599, 0, "e"], [83600, 0, "s"], [83601, 0, "t"], [83602, 0, "a"], [83603, 0, "m"], [83604, 0, "p"], [83605, 0, "s"], [83606, 0, "."], [83607, 0, " "], [83608, 0, "("], [83609, 0, "I"], [83610, 0, "f"], [83611, 0, " "], [83612, 0, "t"], [83613, 0, "h"], [83614, 0, "e"], [83615, 0, " "], [83616, 0, "o"], [83617, 0, "p"], [83618, 0, "e"], [83619, 0, "r"], [83620, 0, "a"], [83621, 0, "t"], [83622, 0, "i"], [83623, 0, "o"], [83624, 0, "n"], [83625, 0, " "], [83626, 0, "I"], [83627, 0, "D"], [83628, 0, " "], [83629, 0, "o"], [83630, 0, "f"], [83631, 0, " "], [83632, 0, "$"], [83633, 0, "o"], [83634, 0, "_"], [83635, 0, "r"], [83636, 0, "$"], [83637, 0, " "], [83638, 0, "i"], [83639, 0, "s"], [83640, 0, " "], [83641, 0, "g"], [83642, 0, "r"], [83643, 0, "e"], [83644, 0, "a"], [83645, 0, "t"], [83646, 0, " "], [83646, 1], [83646, 0, "e"], [83647, 0, "r"], [83648, 0, " "], [83649, 0, "t"], [83650, 0, "h"], [83651, 0, "a"], [83652, 0, "n"], [83653, 0, " "], [83654, 0, "t"], [83655, 0, "h"], [83656, 0, "a"], [83657, 0, "t"], [83658, 0, " "], [83659, 0, "o"], [83660, 0, "f"], [83661, 0, " "], [83662, 0, "$"], [83663, 0, "o"], [83664, 0, "_"], [83665, 0, "s"], [83666, 0, "$"], [83667, 0, ","], [83668, 0, " "], [83669, 0, "t"], [83670, 0, "h"], [83671, 0, "e"], [83672, 0, " "], [83673, 0, "t"], [83674, 0, "w"], [83675, 0, "o"], [83676, 0, " "], [83677, 0, "o"], [83678, 0, "p"], [83679, 0, "e"], [83680, 0, "r"], [83681, 0, "a"], [83682, 0, "t"], [83683, 0, "i"], [83684, 0, "o"], [83685, 0, "n"], [83686, 0, "s"], [83687, 0, " "], [83688, 0, "c"], [83689, 0, "a"], [83690, 0, "n"], [83691, 0, " "], [83692, 0, "b"], [83693, 0, "e"], [83694, 0, " "], [83695, 0, "s"], [83696, 0, "w"], [83697, 0, "a"], [83698, 0, "p"], [83699, 0, "p"], [83700, 0, "e"], [83701, 0, "d"], [83702, 0, " "], [83703, 0, "i"], [83704, 0, "n"], [83705, 0, " "], [83706, 0, "t"], [83707, 0, "h"], [83708, 0, "i"], [83709, 0, "s"], [83710, 0, " "], [83711, 0, "p"], [83712, 0, "r"], [83713, 0, "o"], [83714, 0, "o"], [83715, 0, "f"], [83716, 0, "."], [83717, 0, ")"], [83718, 0, " "], [83719, 0, "W"], [83720, 0, "e"], [83721, 0, " "], [83722, 0, "n"], [83723, 0, "o"], [83724, 0, "w"], [83725, 0, " "], [83726, 0, "d"], [83727, 0, "i"], [83728, 0, "s"], [83729, 0, "t"], [83730, 0, "i"], [83731, 0, "n"], [83732, 0, "g"], [83733, 0, "u"], [83734, 0, "i"], [83735, 0, "s"], [83736, 0, "h"], [83737, 0, " "], [83738, 0, "t"], [83738, 1], [83738, 0, "t"], [83739, 0, "h"], [83740, 0, "e"], [83741, 0, " "], [83742, 0, "t"], [83743, 0, "w"], [83744, 0, "o"], [83745, 0, " "], [83746, 0, "p"], [83747, 0, "o"], [83748, 0, "s"], [83749, 0, "s"], [83750, 0, "i"], [83751, 0, "b"], [83752, 0, "l"], [83753, 0, "e"], [83754, 0, " "], [83755, 0, "o"], [83756, 0, "r"], [83757, 0, "d"], [83758, 0, "e"], [83759, 0, "r"], [83760, 0, "i"], [83761, 0, "n"], [83762, 0, "g"], [83763, 0, "s"], [83764, 0, " "], [83764, 1], [83763, 1], [83762, 1], [83761, 1], [83760, 1], [83760, 0, "s"], [83761, 0, " "], [83762, 0, "o"], [83763, 0, "f"], [83764, 0, " "], [83765, 0, "a"], [83766, 0, "p"], [83767, 0, "p"], [83768, 0, "l"], [83769, 0, "y"], [83770, 0, "i"], [83771, 0, "n"], [83772, 0, "g"], [83773, 0, " "], [83774, 0, "t"], [83775, 0, "h"], [83776, 0, "e"], [83777, 0, " "], [83778, 0, "o"], [83779, 0, "p"], [83780, 0, "e"], [83781, 0, "r"], [83782, 0, "a"], [83783, 0, "t"], [83784, 0, "i"], [83785, 0, "o"], [83786, 0, "n"], [83787, 0, "s"], [83788, 0, ":"], [83789, 0, "\n"], [83790, 0, "\n"], [83791, 0, "\\"], [83792, 0, "b"], [83793, 0, "e"], [83794, 0, "g"], [83795, 0, "i"], [83796, 0, "n"], [83797, 0, "{"], [83798, 0, "e"], [83799, 0, "n"], [83800, 0, "u"], [83801, 0, "m"], [83802, 0, "e"], [83803, 0, "r"], [83804, 0, "a"], [83805, 0, "t"], [83806, 0, "e"], [83807, 0, "}"], [83812, 1], [83811, 1], [83810, 1], [83809, 1], [83809, 0, "\\"], [83810, 0, "e"], [83811, 0, "n"], [83812, 0, "d"], [83813, 0, "{"], [83814, 0, "e"], [83815, 0, "n"], [83816, 0, "u"], [83817, 0, "m"], [83818, 0, "e"], [83819, 0, "r"], [83820, 0, "a"], [83821, 0, "t"], [83822, 0, "e"], [83823, 0, "}"], [83808, 0, "\n"], [83809, 0, "\\"], [83810, 0, "i"], [83811, 0, "t"], [83812, 0, "e"], [83813, 0, "m"], [83814, 0, " "], [83815, 0, "$"], [83816, 0, "o"], [83817, 0, "_"], [83818, 0, "r"], [83819, 0, "$"], [83820, 0, " "], [83821, 0, "i"], [83822, 0, "s"], [83823, 0, " "], [83824, 0, "a"], [83825, 0, "p"], [83826, 0, "p"], [83827, 0, "l"], [83828, 0, "i"], [83829, 0, "e"], [83830, 0, "d"], [83831, 0, " "], [83832, 0, "b"], [83833, 0, "e"], [83834, 0, "f"], [83835, 0, "o"], [83836, 0, "r"], [83837, 0, "e"], [83838, 0, " "], [83839, 0, "$"], [83840, 0, "o"], [83841, 0, "_"], [83842, 0, "s"], [83843, 0, "$"], [83844, 0, " "], [83845, 0, "i"], [83846, 0, "n"], [83847, 0, " "], [83848, 0, "$"], [83849, 0, "H"], [83850, 0, "$"], [83363, 0, " "], [83364, 0, "a"], [83365, 0, "f"], [83366, 0, "t"], [83367, 0, "e"], [83368, 0, "r"], [83369, 0, " "], [83370, 0, "a"], [83371, 0, "p"], [83372, 0, "p"], [83373, 0, "l"], [83374, 0, "y"], [83375, 0, "i"], [83376, 0, "n"], [83377, 0, "t"], [83378, 0, " "], [83378, 1], [83377, 1], [83377, 0, "g"], [83378, 0, " "], [83379, 0, "$"], [83380, 0, "H"], [83381, 0, "$"], [83463, 1], [83462, 1], [83461, 1], [83460, 1], [83459, 1], [83458, 1], [83457, 1], [83456, 1], [83455, 1], [83454, 1], [83453, 1], [83452, 1], [83451, 1], [83450, 1], [83449, 1], [83448, 1], [83447, 1], [83446, 1], [83445, 1], [83444, 1], [83443, 1], [83442, 1], [83441, 1], [83440, 1], [83439, 1], [83438, 1], [83437, 1], [83436, 1], [83435, 1], [83434, 1], [83433, 1], [83432, 1], [83431, 1], [83430, 1], [83429, 1], [83429, 0, "o"], [83430, 0, "f"], [83431, 0, " "], [83432, 0, "$"], [83433, 0, "o"], [83434, 0, "_"], [83435, 0, "r"], [83436, 0, "$"], [83437, 0, " "], [83438, 0, "a"], [83439, 0, "n"], [83440, 0, "d"], [83441, 0, " "], [83442, 0, "$"], [83443, 0, "o"], [83444, 0, "_"], [83445, 0, "s"], [83446, 0, "$"], [83447, 0, " "], [83448, 0, "i"], [83449, 0, "n"], [83450, 0, " "], [83451, 0, "$"], [83452, 0, "H"], [83453, 0, "$"], [83860, 0, "."], [83861, 0, " "], [83862, 0, "T"], [83863, 0, "h"], [83864, 0, "u"], [83865, 0, "s"], [83866, 0, ","], [83867, 0, " "], [83868, 0, "a"], [83869, 0, "t"], [83870, 0, " "], [83871, 0, "t"], [83872, 0, "h"], [83873, 0, "e"], [83874, 0, " "], [83875, 0, "t"], [83876, 0, "i"], [83877, 0, "m"], [83878, 0, "e"], [83879, 0, " "], [83880, 0, "w"], [83881, 0, "h"], [83882, 0, "e"], [83883, 0, "n"], [83884, 0, " "], [83885, 0, "$"], [83886, 0, "o"], [83887, 0, "_"], [83888, 0, "s"], [83889, 0, "$"], [83890, 0, " "], [83891, 0, "i"], [83892, 0, "s"], [83893, 0, " "], [83894, 0, "a"], [83895, 0, "p"], [83896, 0, "p"], [83897, 0, "l"], [83898, 0, "i"], [83899, 0, "e"], [83900, 0, "d"], [83901, 0, ","], [83902, 0, " "], [83903, 0, "$"], [83904, 0, "o"], [83905, 0, "_"], [83906, 0, "r"], [83907, 0, "$"], [83908, 0, " "], [83909, 0, "h"], [83910, 0, "a"], [83911, 0, "s"], [83912, 0, " "], [83913, 0, "a"], [83914, 0, "l"], [83915, 0, "r"], [83916, 0, "e"], [83917, 0, "a"], [83918, 0, "d"], [83919, 0, "y"], [83920, 0, " "], [83921, 0, "b"], [83922, 0, "e"], [83923, 0, "e"], [83924, 0, "n"], [83925, 0, " "], [83926, 0, "a"], [83927, 0, "p"], [83928, 0, "p"], [83929, 0, "l"], [83930, 0, "i"], [83931, 0, "e"], [83932, 0, "d"], [83933, 0, "."], [83934, 0, " "], [83935, 0, "W"], [83936, 0, "h"], [83937, 0, "e"], [83938, 0, "n"], [83939, 0, " "], [83940, 0, "a"], [83941, 0, "p"], [83942, 0, "p"], [83943, 0, "l"], [83944, 0, "y"], [83945, 0, "i"], [83946, 0, "n"], [83947, 0, "g"], [83948, 0, " "], [83949, 0, "$"], [83950, 0, "o"], [83951, 0, "_"], [83952, 0, "s"], [83953, 0, "$"], [83954, 0, ","], [83955, 0, " "], [83956, 0, "s"], [83957, 0, "i"], [83958, 0, "n"], [83959, 0, "c"], [83960, 0, "e"], [83961, 0, " "], [83962, 0, "$"], [83963, 0, "o"], [83964, 0, "_"], [83965, 0, "r"], [83966, 0, "$"], [83967, 0, " "], [83968, 0, "h"], [83969, 0, "a"], [83970, 0, "s"], [83971, 0, " "], [83972, 0, "a"], [83973, 0, " "], [83974, 0, "l"], [83975, 0, "e"], [83976, 0, "s"], [83977, 0, "s"], [83978, 0, "e"], [83979, 0, "r"], [83980, 0, " "], [83981, 0, "o"], [83982, 0, "p"], [83983, 0, "e"], [83984, 0, "r"], [83985, 0, "a"], [83986, 0, "t"], [83987, 0, "i"], [83988, 0, "o"], [83989, 0, "n"], [83990, 0, " "], [83991, 0, "I"], [83992, 0, "D"], [83993, 0, ","], [83994, 0, " "], [83995, 0, "t"], [83996, 0, "h"], [83997, 0, "e"], [83998, 0, " "], [83999, 0, "\\"], [83999, 1], [83999, 0, "r"], [84000, 0, "u"], [84001, 0, "l"], [84002, 0, "e"], [84003, 0, " "], [84004, 0, "$"], [84005, 0, "\\"], [84006, 0, "t"], [84007, 0, "e"], [84008, 0, "x"], [84009, 0, "t"], [84010, 0, "s"], [84011, 0, "c"], [84012, 0, "{"], [84013, 0, "I"], [84014, 0, "n"], [84015, 0, "s"], [84016, 0, "e"], [84017, 0, "r"], [84018, 0, "t"], [84019, 0, "}"], [84020, 0, "_"], [84021, 0, "1"], [84022, 0, "$"], [84023, 0, " "], [84024, 0, "a"], [84025, 0, "p"], [84026, 0, "p"], [84027, 0, "l"], [84028, 0, "i"], [84029, 0, "e"], [84030, 0, "s"], [84031, 0, " "], [84032, 0, "w"], [84033, 0, "i"], [84034, 0, "t"], [84035, 0, "h"], [84036, 0, " "], [84037, 0, "$"], [84038, 0, "\\"], [84039, 0, "m"], [84040, 0, "a"], [84041, 0, "t"], [84042, 0, "h"], [84043, 0, "i"], [84044, 0, "t"], [84045, 0, "{"], [84046, 0, "n"], [84047, 0, "e"], [84048, 0, "x"], [84049, 0, "t"], [84050, 0, "}"], [84051, 0, " "], [84052, 0, "="], [84053, 0, " "], [84054, 0, "o"], [84055, 0, "_"], [84056, 0, "r"], [84057, 0, "."], [84058, 0, "\\"], [84059, 0, "m"], [84060, 0, "a"], [84061, 0, "t"], [84062, 0, "h"], [84063, 0, "i"], [84064, 0, "t"], [84065, 0, "{"], [84066, 0, "i"], [84067, 0, "d"], [84068, 0, "}"], [84069, 0, "$"], [84070, 0, " "], [84071, 0, "a"], [84072, 0, "t"], [84073, 0, " "], [84074, 0, "t"], [84075, 0, "h"], [84076, 0, "e"], [84077, 0, " "], [84078, 0, "l"], [84079, 0, "a"], [84080, 0, "t"], [84081, 0, "e"], [84082, 0, "s"], [84083, 0, "t"], [84084, 0, ","], [84085, 0, " "], [84086, 0, "s"], [84087, 0, "o"], [84088, 0, " "], [84089, 0, "t"], [84090, 0, "h"], [84091, 0, "e"], [84092, 0, " "], [84093, 0, "i"], [84094, 0, "n"], [84095, 0, "s"], [84096, 0, "e"], [84097, 0, "r"], [84098, 0, "t"], [84099, 0, "i"], [84100, 0, "o"], [84101, 0, "n"], [84102, 0, " "], [84103, 0, "p"], [84104, 0, "o"], [84105, 0, "s"], [84106, 0, "i"], [84107, 0, "t"], [84108, 0, "i"], [84109, 0, "o"], [84110, 0, "n"], [84111, 0, " "], [84112, 0, "o"], [84113, 0, "f"], [84114, 0, " "], [84115, 0, "$"], [84116, 0, "o"], [84117, 0, "_"], [84118, 0, "s"], [84119, 0, "$"], [84120, 0, " "], [84121, 0, "m"], [84122, 0, "u"], [84123, 0, "s"], [84124, 0, "t"], [84125, 0, " "], [84126, 0, "a"], [84127, 0, "p"], [84128, 0, "p"], [84129, 0, "e"], [84130, 0, "a"], [84131, 0, "r"], [84132, 0, " "], [84133, 0, "b"], [84134, 0, "e"], [84135, 0, "f"], [84136, 0, "o"], [84137, 0, "r"], [84138, 0, "e"], [84139, 0, " "], [84140, 0, "$"], [84141, 0, "o"], [84142, 0, "_"], [84143, 0, "r"], [84144, 0, "$"], [84145, 0, "."], [84146, 0, " "], [84147, 0, "I"], [84148, 0, "t"], [84149, 0, " "], [84150, 0, "i"], [84151, 0, "s"], [84152, 0, " "], [84153, 0, "n"], [84154, 0, "o"], [84155, 0, "t"], [84156, 0, " "], [84157, 0, "p"], [84158, 0, "o"], [84159, 0, "s"], [84160, 0, "s"], [84161, 0, "i"], [84162, 0, "b"], [84163, 0, "l"], [84164, 0, "e"], [84165, 0, " "], [84166, 0, "f"], [84167, 0, "o"], [84168, 0, "r"], [84169, 0, " "], [84170, 0, "I"], [84171, 0, "n"], [84172, 0, "s"], [84173, 0, "e"], [84174, 0, "r"], [84175, 0, "t"], [84170, 0, "$"], [84171, 0, "\\"], [84172, 0, "m"], [84173, 0, "a"], [84174, 0, "t"], [84175, 0, "h"], [84175, 1], [84174, 1], [84173, 1], [84172, 1], [84172, 0, "t"], [84173, 0, "e"], [84174, 0, "x"], [84175, 0, "t"], [84176, 0, "s"], [84177, 0, "c"], [84178, 0, "{"], [84185, 0, "}"], [84186, 0, "_"], [84187, 0, "2"], [84188, 0, "$"], [84189, 0, " "], [84190, 0, "t"], [84191, 0, "o"], [84192, 0, " "], [84193, 0, "s"], [84194, 0, "k"], [84195, 0, "i"], [84196, 0, "p"], [84197, 0, " "], [84198, 0, "p"], [84199, 0, "a"], [84200, 0, "s"], [84201, 0, "t"], [84202, 0, " "], [84203, 0, "o"], [84203, 1], [84203, 0, "$"], [84204, 0, "o"], [84205, 0, "_"], [84206, 0, "r"], [84207, 0, "$"], [84208, 0, "."], [84209, 0, "\n"], [84210, 0, "\n"], [84211, 0, "\\"], [84212, 0, "i"], [84213, 0, "t"], [84214, 0, "e"], [84215, 0, "m"], [84216, 0, " "], [84217, 0, "$"], [84218, 0, "o"], [84219, 0, "_"], [84220, 0, "s"], [84221, 0, "$"], [84222, 0, " "], [84223, 0, "i"], [84224, 0, "s"], [84225, 0, " "], [84226, 0, "a"], [84227, 0, "p"], [84228, 0, "p"], [84229, 0, "l"], [84230, 0, "i"], [84231, 0, "e"], [84232, 0, "d"], [84233, 0, " "], [84234, 0, "b"], [84235, 0, "e"], [84236, 0, "f"], [84237, 0, "o"], [84238, 0, "r"], [84239, 0, "e"], [84240, 0, " "], [84241, 0, "$"], [84242, 0, "o"], [84243, 0, "_"], [84244, 0, "r"], [84245, 0, "$"], [84246, 0, " "], [84247, 0, "i"], [84248, 0, "n"], [84249, 0, " "], [84250, 0, "$"], [84251, 0, "H"], [84252, 0, "$"], [84253, 0, "."], [84254, 0, " "], [84255, 0, "T"], [84256, 0, "h"], [84257, 0, "u"], [84258, 0, "s"], [84259, 0, ","], [84260, 0, " "], [84261, 0, "a"], [84262, 0, "t"], [84263, 0, " "], [84264, 0, "t"], [84265, 0, "h"], [84266, 0, "e"], [84267, 0, " "], [84268, 0, "t"], [84269, 0, "i"], [84270, 0, "m"], [84271, 0, "e"], [84272, 0, " "], [84273, 0, "w"], [84274, 0, "h"], [84275, 0, "e"], [84276, 0, "n"], [84277, 0, " "], [84278, 0, "$"], [84279, 0, "o"], [84280, 0, "_"], [84281, 0, "r"], [84282, 0, "$"], [84283, 0, " "], [84284, 0, "i"], [84285, 0, "s"], [84286, 0, " "], [84287, 0, "a"], [84288, 0, "p"], [84289, 0, "p"], [84290, 0, "l"], [84291, 0, "i"], [84292, 0, "e"], [84293, 0, "d"], [84294, 0, ","], [84295, 0, " "], [84296, 0, "$"], [84297, 0, "o"], [84298, 0, "_"], [84299, 0, "s"], [84300, 0, "$"], [84301, 0, " "], [84302, 0, "h"], [84303, 0, "a"], [84304, 0, "s"], [84305, 0, " "], [84306, 0, "a"], [84307, 0, "l"], [84308, 0, "r"], [84309, 0, "e"], [84310, 0, "a"], [84311, 0, "d"], [84312, 0, "y"], [84313, 0, " "], [84314, 0, "b"], [84315, 0, "e"], [84316, 0, "e"], [84317, 0, "n"], [84318, 0, " "], [84319, 0, "a"], [84320, 0, "p"], [84321, 0, "p"], [84322, 0, "l"], [84323, 0, "i"], [84324, 0, "e"], [84325, 0, "d"], [84326, 0, "."], [84327, 0, " "], [84328, 0, "T"], [84329, 0, "O"], [84330, 0, "D"], [84331, 0, "O"], [84331, 1], [84330, 1], [84329, 1], [84328, 1], [84328, 0, "W"], [84329, 0, "h"], [84330, 0, "e"], [84331, 0, "n"], [84332, 0, " "], [84333, 0, "a"], [84334, 0, "p"], [84335, 0, "p"], [84336, 0, "l"], [84337, 0, "y"], [84338, 0, "i"], [84339, 0, "n"], [84340, 0, "g"], [84341, 0, " "], [84342, 0, "$"], [84343, 0, "o"], [84344, 0, "_"], [84345, 0, "r"], [84346, 0, "$"], [84347, 0, ","], [84348, 0, " "], [84349, 0, "t"], [84350, 0, "h"], [84351, 0, "e"], [84352, 0, " "], [84353, 0, "r"], [84354, 0, "u"], [84355, 0, "l"], [84356, 0, "e"], [84357, 0, " "], [84358, 0, "$"], [84359, 0, "\\"], [84360, 0, "t"], [84361, 0, "e"], [84362, 0, "x"], [84363, 0, "t"], [84364, 0, "s"], [84365, 0, "c"], [84366, 0, "{"], [84367, 0, "I"], [84368, 0, "n"], [84369, 0, "s"], [84370, 0, "e"], [84371, 0, "r"], [84372, 0, "t"], [84373, 0, "_"], [84373, 1], [84373, 0, "}"], [84374, 0, "_"], [84375, 0, "2"], [84376, 0, "$"], [84377, 0, " "], [84378, 0, "a"], [84379, 0, "p"], [84380, 0, "p"], [84381, 0, "l"], [84382, 0, "i"], [84383, 0, "e"], [84384, 0, "s"], [84385, 0, " "], [84386, 0, "w"], [84387, 0, "i"], [84388, 0, "t"], [84389, 0, "h"], [84390, 0, " "], [84391, 0, "$"], [84392, 0, "\\"], [84393, 0, "m"], [84394, 0, "a"], [84395, 0, "t"], [84396, 0, "h"], [84397, 0, "i"], [84398, 0, "t"], [84399, 0, "{"], [84400, 0, "n"], [84401, 0, "e"], [84402, 0, "x"], [84403, 0, "t"], [84404, 0, "}"], [84405, 0, " "], [84406, 0, "="], [84407, 0, " "], [84408, 0, "o"], [84409, 0, "_"], [84410, 0, "s"], [84411, 0, "."], [84412, 0, "\\"], [84413, 0, "m"], [84414, 0, "a"], [84415, 0, "t"], [84416, 0, "h"], [84417, 0, "i"], [84418, 0, "t"], [84419, 0, "{"], [84420, 0, "i"], [84421, 0, "d"], [84422, 0, "}"], [84423, 0, "$"], [84424, 0, " "], [84424, 1], [84424, 0, ","], [84425, 0, " "], [84426, 0, "s"], [84427, 0, "o"], [84428, 0, " "], [84429, 0, "t"], [84430, 0, "h"], [84431, 0, "e"], [84432, 0, " "], [84433, 0, "r"], [84434, 0, "u"], [84435, 0, "l"], [84436, 0, "e"], [84437, 0, " "], [84438, 0, "s"], [84439, 0, "k"], [84440, 0, "i"], [84441, 0, "p"], [84442, 0, "s"], [84443, 0, " "], [84444, 0, "o"], [84445, 0, "v"], [84446, 0, "e"], [84447, 0, "r"], [84448, 0, " "], [84449, 0, "$"], [84450, 0, "o"], [84451, 0, "_"], [84452, 0, "s"], [84453, 0, "$"], [84454, 0, " "], [84455, 0, "a"], [84456, 0, "n"], [84457, 0, "d"], [84458, 0, " "], [84447, 1], [84446, 1], [84445, 1], [84444, 1], [84444, 0, "p"], [84445, 0, "a"], [84446, 0, "s"], [84447, 0, "t"], [84459, 0, "i"], [84460, 0, "n"], [84461, 0, "s"], [84462, 0, "e"], [84463, 0, "r"], [84464, 0, "t"], [84465, 0, "s"], [84466, 0, " "], [84467, 0, "$"], [84468, 0, "o"], [84469, 0, "_"], [84470, 0, "r"], [84471, 0, "$"], [84472, 0, " "], [84473, 0, "a"], [84474, 0, "t"], [84475, 0, " "], [84476, 0, "a"], [84477, 0, " "], [84478, 0, "p"], [84479, 0, "o"], [84480, 0, "s"], [84481, 0, "i"], [84482, 0, "t"], [84483, 0, "i"], [84484, 0, "o"], [84485, 0, "n"], [84486, 0, " "], [84487, 0, "a"], [84488, 0, "f"], [84489, 0, "t"], [84490, 0, "e"], [84491, 0, "r"], [84492, 0, " "], [84493, 0, "$"], [84494, 0, "o"], [84495, 0, "_"], [84496, 0, "s"], [84497, 0, "$"], [84498, 0, "."], [84499, 0, " "], [84500, 0, "M"], [84501, 0, "o"], [84502, 0, "r"], [84503, 0, "e"], [84504, 0, "o"], [84505, 0, "v"], [84506, 0, "e"], [84507, 0, "r"], [84508, 0, ","], [84509, 0, " "], [84510, 0, "a"], [84511, 0, "n"], [84512, 0, "y"], [84513, 0, " "], [84514, 0, "l"], [84515, 0, "i"], [84516, 0, "s"], [84517, 0, "t"], [84518, 0, " "], [84519, 0, "e"], [84520, 0, "l"], [84521, 0, "e"], [84522, 0, "m"], [84523, 0, "e"], [84524, 0, "n"], [84525, 0, "t"], [84526, 0, "s"], [84527, 0, " "], [84528, 0, "b"], [84529, 0, "e"], [84530, 0, "t"], [84531, 0, "w"], [84532, 0, "e"], [84533, 0, "e"], [84534, 0, "n"], [84535, 0, " "], [84536, 0, "$"], [84537, 0, "o"], [84538, 0, "_"], [84539, 0, "s"], [84540, 0, "."], [84541, 0, "\\"], [84542, 0, "m"], [84543, 0, "a"], [84544, 0, "t"], [84545, 0, "h"], [84546, 0, "i"], [84547, 0, "t"], [84548, 0, "{"], [84549, 0, "c"], [84550, 0, "u"], [84551, 0, "r"], [84552, 0, "}"], [84553, 0, "$"], [84554, 0, " "], [84555, 0, "a"], [84556, 0, "n"], [84557, 0, "d"], [84558, 0, " "], [84559, 0, "$"], [84560, 0, "o"], [84527, 0, " "], [84528, 0, "t"], [84529, 0, "h"], [84530, 0, "a"], [84531, 0, "t"], [84532, 0, " "], [84533, 0, "a"], [84534, 0, "p"], [84535, 0, "p"], [84536, 0, "e"], [84537, 0, "a"], [84538, 0, "r"], [84573, 0, "_"], [84574, 0, "s"], [84575, 0, "$"], [84576, 0, " "], [84577, 0, "a"], [84578, 0, "t"], [84579, 0, " "], [84580, 0, "t"], [84581, 0, "h"], [84582, 0, "e"], [84583, 0, " "], [84584, 0, "t"], [84585, 0, "i"], [84586, 0, "m"], [84587, 0, "e"], [84588, 0, " "], [84589, 0, "o"], [84590, 0, "f"], [84591, 0, " "], [84592, 0, "i"], [84593, 0, "n"], [84594, 0, "s"], [84595, 0, "e"], [84596, 0, "r"], [84597, 0, "t"], [84598, 0, "i"], [84599, 0, "n"], [84600, 0, "g"], [84601, 0, " "], [84602, 0, "$"], [84603, 0, "o"], [84604, 0, "_"], [84605, 0, "r"], [84606, 0, "$"], [84607, 0, " "], [84608, 0, "m"], [84609, 0, "u"], [84610, 0, "s"], [84611, 0, "t"], [84612, 0, " "], [84613, 0, "h"], [84614, 0, "a"], [84615, 0, "v"], [84616, 0, "e"], [84617, 0, " "], [84618, 0, "a"], [84619, 0, " "], [84620, 0, "L"], [84621, 0, "a"], [84622, 0, "m"], [84623, 0, "p"], [84624, 0, "o"], [84625, 0, "r"], [84626, 0, "t"], [84627, 0, " "], [84628, 0, "t"], [84629, 0, "i"], [84630, 0, "m"], [84631, 0, "e"], [84632, 0, "s"], [84633, 0, "t"], [84634, 0, "a"], [84635, 0, "m"], [84636, 0, "p"], [84637, 0, " "], [84638, 0, "g"], [84639, 0, "r"], [84640, 0, "e"], [84641, 0, "a"], [84642, 0, "t"], [84643, 0, "e"], [84644, 0, "r"], [84645, 0, " "], [84646, 0, "t"], [84647, 0, "h"], [84648, 0, "a"], [84649, 0, "t"], [84650, 0, "n"], [84650, 1], [84649, 1], [84649, 0, "n"], [84650, 0, " "], [84651, 0, "$"], [84652, 0, "o"], [84653, 0, "_"], [84654, 0, "s"], [84655, 0, "."], [84656, 0, "\\"], [84657, 0, "m"], [84658, 0, "a"], [84659, 0, "t"], [84660, 0, "h"], [84661, 0, "i"], [84662, 0, "t"], [84663, 0, "{"], [84664, 0, "i"], [84665, 0, "d"], [84666, 0, "}"], [84667, 0, "$"], [84668, 0, ","], [84669, 0, " "], [84670, 0, "b"], [84671, 0, "e"], [84672, 0, "c"], [84673, 0, "a"], [84674, 0, "u"], [84675, 0, "s"], [84676, 0, "e"], [84677, 0, " "], [84677, 1], [84676, 1], [84675, 1], [84674, 1], [84673, 1], [84672, 1], [84671, 1], [84670, 1], [84670, 0, "s"], [84671, 0, "o"], [84672, 0, " "], [84673, 0, "$"], [84674, 0, "'"], [84674, 1], [84674, 0, "\\"], [84675, 0, "t"], [84676, 0, "e"], [84677, 0, "x"], [84678, 0, "t"], [84679, 0, "s"], [84680, 0, "c"], [84681, 0, "{"], [84682, 0, "I"], [84683, 0, "n"], [84684, 0, "s"], [84685, 0, "e"], [84686, 0, "r"], [84687, 0, "t"], [84688, 0, "}"], [84689, 0, "_"], [84690, 0, "2"], [84691, 0, "$"], [84692, 0, " "], [84693, 0, "a"], [84694, 0, "l"], [84695, 0, "s"], [84696, 0, "o"], [84697, 0, " "], [84698, 0, "s"], [84699, 0, "k"], [84700, 0, "i"], [84701, 0, "p"], [84702, 0, "s"], [84703, 0, " "], [84704, 0, "o"], [84705, 0, "v"], [84706, 0, "e"], [84707, 0, "r"], [84708, 0, " "], [84709, 0, "t"], [84710, 0, "h"], [84711, 0, "o"], [84712, 0, "s"], [84713, 0, "e"], [84714, 0, " "], [84715, 0, "l"], [84716, 0, "i"], [84717, 0, "s"], [84718, 0, "t"], [84719, 0, " "], [84720, 0, "e"], [84721, 0, "l"], [84722, 0, "e"], [84723, 0, "m"], [84724, 0, "e"], [84725, 0, "n"], [84726, 0, "t"], [84727, 0, "s"], [84728, 0, " "], [84729, 0, "w"], [84730, 0, "h"], [84731, 0, "e"], [84732, 0, "n"], [84733, 0, " "], [84734, 0, "i"], [84735, 0, "n"], [84736, 0, "s"], [84737, 0, "e"], [84738, 0, "r"], [84739, 0, "t"], [84740, 0, "i"], [84741, 0, "n"], [84742, 0, "g"], [84743, 0, " "], [84744, 0, "$"], [84745, 0, "o"], [84746, 0, "_"], [84747, 0, "r"], [84748, 0, "$"], [84749, 0, "."], [84750, 0, " "], [84751, 0, "T"], [84752, 0, "h"], [84753, 0, "u"], [84754, 0, "s"], [84755, 0, ","], [84756, 0, " "], [84757, 0, "t"], [84758, 0, "h"], [84759, 0, "e"], [84760, 0, " "], [84761, 0, "i"], [84762, 0, "n"], [84763, 0, "s"], [84764, 0, "e"], [84765, 0, "r"], [84766, 0, "t"], [84767, 0, "i"], [84768, 0, "o"], [84769, 0, "n"], [84770, 0, " "], [84771, 0, "p"], [84772, 0, "o"], [84773, 0, "s"], [84774, 0, "i"], [84775, 0, "t"], [84776, 0, "i"], [84777, 0, "o"], [84778, 0, "n"], [84779, 0, " "], [84780, 0, "o"], [84781, 0, "f"], [84782, 0, " "], [84783, 0, "$"], [84784, 0, "o"], [84785, 0, "_"], [84786, 0, "r"], [84787, 0, "$"], [84788, 0, " "], [84789, 0, "m"], [84790, 0, "u"], [84791, 0, "s"], [84792, 0, "t"], [84793, 0, " "], [84794, 0, "b"], [84795, 0, "e"], [84796, 0, " "], [84797, 0, "a"], [84798, 0, "f"], [84799, 0, "t"], [84800, 0, "e"], [84801, 0, "r"], [84802, 0, " "], [84803, 0, "$"], [84804, 0, "o"], [84805, 0, "_"], [84806, 0, "s"], [84807, 0, "$"], [84808, 0, "."], [84826, 0, "\n"], [84826, 0, "\n"], [84827, 0, "I"], [84828, 0, "n"], [84829, 0, " "], [84830, 0, "b"], [84831, 0, "o"], [84832, 0, "t"], [84833, 0, "h"], [84834, 0, " "], [84835, 0, "c"], [84836, 0, "a"], [84837, 0, "s"], [84838, 0, "e"], [84839, 0, "s"], [84840, 0, ","], [84841, 0, " "], [84842, 0, "t"], [84843, 0, "h"], [84844, 0, "e"], [84845, 0, " "], [84846, 0, "i"], [84847, 0, "n"], [84848, 0, "s"], [84849, 0, "e"], [84850, 0, "r"], [84851, 0, "t"], [84852, 0, "i"], [84853, 0, "o"], [84854, 0, "n"], [84855, 0, " "], [84856, 0, "p"], [84857, 0, "o"], [84858, 0, "s"], [84859, 0, "i"], [84860, 0, "t"], [84861, 0, "i"], [84862, 0, "o"], [84863, 0, "n"], [84864, 0, " "], [84865, 0, "o"], [84866, 0, "f"], [84867, 0, " "], [84868, 0, "$"], [84869, 0, "o"], [84870, 0, "_"], [84871, 0, "r"], [84872, 0, "$"], [84873, 0, " "], [84874, 0, "a"], [84875, 0, "p"], [84876, 0, "p"], [84877, 0, "e"], [84878, 0, "a"], [84879, 0, "r"], [84880, 0, "s"], [84881, 0, " "], [84882, 0, "a"], [84883, 0, "f"], [84884, 0, "t"], [84885, 0, "e"], [84886, 0, "r"], [84887, 0, " "], [84888, 0, "t"], [84889, 0, "h"], [84890, 0, "e"], [84891, 0, " "], [84892, 0, "i"], [84893, 0, "n"], [84894, 0, "s"], [84895, 0, "e"], [84896, 0, "r"], [84897, 0, "t"], [84898, 0, "i"], [84899, 0, "o"], [84900, 0, "n"], [84901, 0, " "], [84902, 0, "p"], [84903, 0, "o"], [84904, 0, "s"], [84905, 0, "i"], [84906, 0, "t"], [84907, 0, "i"], [84908, 0, "o"], [84909, 0, "n"], [84910, 0, " "], [84911, 0, "o"], [84912, 0, "f"], [84913, 0, " "], [84914, 0, "$"], [84915, 0, "o"], [84916, 0, "_"], [84917, 0, "s"], [84918, 0, "$"], [84919, 0, "."], [84920, 0, " "], [84920, 1], [84919, 1], [84840, 1], [84839, 1], [84838, 1], [84837, 1], [84836, 1], [84835, 1], [84834, 1], [84833, 1], [84832, 1], [84831, 1], [84830, 1], [84829, 1], [84828, 1], [84827, 1], [84827, 0, "T"], [84828, 0, "h"], [84829, 0, "u"], [84830, 0, "s"], [84831, 0, ","], [84910, 0, ","], [84911, 0, " "], [84912, 0, "r"], [84913, 0, "e"], [84914, 0, "g"], [84915, 0, "a"], [84916, 0, "r"], [84917, 0, "d"], [84918, 0, "l"], [84919, 0, "e"], [84920, 0, "s"], [84921, 0, "s"], [84922, 0, " "], [84923, 0, "o"], [84924, 0, "f"], [84925, 0, " "], [84926, 0, "t"], [84927, 0, "h"], [84928, 0, "e"], [84929, 0, " "], [84930, 0, "o"], [84931, 0, "r"], [84932, 0, "d"], [84933, 0, "e"], [84934, 0, "r"], [84935, 0, " "], [84936, 0, "i"], [84937, 0, "n"], [84938, 0, " "], [84939, 0, "w"], [84940, 0, "h"], [84941, 0, "i"], [84942, 0, "c"], [84943, 0, "h"], [84944, 0, " "], [84945, 0, "t"], [84946, 0, "h"], [84947, 0, "e"], [84948, 0, " "], [84949, 0, "t"], [84950, 0, "w"], [84951, 0, "o"], [84952, 0, " "], [84953, 0, "o"], [84954, 0, "p"], [84955, 0, "e"], [84956, 0, "r"], [84957, 0, "a"], [84958, 0, "t"], [84959, 0, "i"], [84960, 0, "o"], [84961, 0, "n"], [84962, 0, "s"], [84963, 0, " "], [84964, 0, "a"], [84965, 0, "r"], [84966, 0, "e"], [84967, 0, " "], [84968, 0, "a"], [84969, 0, "p"], [84970, 0, "p"], [84971, 0, "l"], [84972, 0, "i"], [84973, 0, "e"], [84974, 0, "d"], [84975, 0, "."], [84976, 0, " "], [84977, 0, "S"], [84977, 1], [84977, 0, "T"], [84978, 0, "h"], [84979, 0, "e"], [84980, 0, " "], [84981, 0, "o"], [84982, 0, "r"], [84983, 0, "d"], [84984, 0, "e"], [84985, 0, "r"], [84986, 0, "i"], [84987, 0, "n"], [84988, 0, "g"], [84989, 0, " "], [84990, 0, "d"], [84991, 0, "e"], [84992, 0, "p"], [84993, 0, "e"], [84994, 0, "n"], [84995, 0, "d"], [84996, 0, "s"], [84997, 0, " "], [84998, 0, "o"], [84999, 0, "n"], [85000, 0, "l"], [85001, 0, "y"], [85002, 0, " "], [85003, 0, "o"], [85004, 0, "n"], [85005, 0, " "], [85006, 0, "t"], [85007, 0, "h"], [85008, 0, "e"], [85009, 0, " "], [85010, 0, "o"], [85011, 0, "p"], [85012, 0, "e"], [85013, 0, "r"], [85014, 0, "a"], [85015, 0, "t"], [85016, 0, "i"], [85017, 0, "o"], [85018, 0, "n"], [85019, 0, " "], [85020, 0, "I"], [85021, 0, "D"], [85022, 0, "s"], [85023, 0, ","], [85024, 0, " "], [85025, 0, "a"], [85026, 0, "n"], [85027, 0, "d"], [85028, 0, " "], [85029, 0, "s"], [85030, 0, "i"], [85031, 0, "n"], [85032, 0, "c"], [85033, 0, "e"], [85034, 0, " "], [85035, 0, "t"], [85036, 0, "h"], [85037, 0, "e"], [85038, 0, "s"], [85039, 0, "e"], [85040, 0, " "], [85041, 0, "I"], [85042, 0, "D"], [85043, 0, "s"], [85044, 0, " "], [85045, 0, "a"], [85046, 0, "r"], [85047, 0, "e"], [85048, 0, " "], [85049, 0, "f"], [85050, 0, "i"], [85051, 0, "x"], [85052, 0, "e"], [85053, 0, "d"], [85054, 0, " "], [85055, 0, "a"], [85056, 0, "t"], [85057, 0, " "], [85058, 0, "t"], [85059, 0, "h"], [85060, 0, "e"], [85061, 0, " "], [85062, 0, "t"], [85063, 0, "o"], [85064, 0, "m"], [85064, 1], [85063, 1], [85063, 0, "i"], [85064, 0, "m"], [85065, 0, "e"], [85066, 0, " "], [85067, 0, "t"], [85068, 0, "h"], [85069, 0, "e"], [85070, 0, " "], [85071, 0, "o"], [85072, 0, "p"], [85073, 0, "e"], [85074, 0, "r"], [85075, 0, "a"], [85076, 0, "t"], [85077, 0, "i"], [85078, 0, "o"], [85079, 0, "n"], [85080, 0, "s"], [85081, 0, " "], [85082, 0, "a"], [85083, 0, "r"], [85084, 0, "e"], [85085, 0, " "], [85086, 0, "g"], [85087, 0, "e"], [85088, 0, "n"], [85089, 0, "e"], [85090, 0, "r"], [85091, 0, "a"], [85092, 0, "t"], [85093, 0, "e"], [85094, 0, "d"], [85095, 0, ","], [85096, 0, " "], [85097, 0, "t"], [85098, 0, "h"], [85099, 0, "e"], [85100, 0, " "], [85101, 0, "l"], [85102, 0, "i"], [85103, 0, "s"], [85104, 0, "t"], [85105, 0, " "], [85106, 0, "o"], [85107, 0, "r"], [85108, 0, "d"], [85109, 0, "e"], [85110, 0, "r"], [85111, 0, " "], [85112, 0, "i"], [85113, 0, "s"], [85114, 0, " "], [85115, 0, "d"], [85116, 0, "e"], [85117, 0, "t"], [85118, 0, "e"], [85119, 0, "r"], [85120, 0, "m"], [85121, 0, "i"], [85122, 0, "n"], [85123, 0, "e"], [85124, 0, "d"], [85125, 0, " "], [85126, 0, "b"], [85127, 0, "y"], [85128, 0, " "], [85129, 0, "t"], [85130, 0, "h"], [85131, 0, "e"], [85132, 0, " "], [85133, 0, "I"], [85134, 0, "D"], [85135, 0, "s"], [85136, 0, "."], [86954, 1], [86953, 1], [86952, 1], [86951, 1], [86950, 1], [86949, 1], [86948, 1], [86947, 1], [86946, 1], [86945, 1], [86944, 1], [86943, 1], [86942, 1], [86941, 1], [86940, 1], [86939, 1], [86938, 1], [86937, 1], [86936, 1], [86935, 1], [86934, 1], [86933, 1], [86932, 1], [86931, 1], [86930, 1], [86929, 1], [86928, 1], [86927, 1], [86926, 1], [86925, 1], [86924, 1], [86923, 1], [86922, 1], [86921, 1], [86920, 1], [86919, 1], [86918, 1], [86917, 1], [86916, 1], [86915, 1], [86914, 1], [86913, 1], [86912, 1], [86911, 1], [86910, 1], [86909, 1], [86908, 1], [86907, 1], [86906, 1], [86905, 1], [86904, 1], [86903, 1], [86902, 1], [86901, 1], [86900, 1], [86899, 1], [86898, 1], [86897, 1], [86896, 1], [86895, 1], [86894, 1], [86893, 1], [86892, 1], [86891, 1], [86890, 1], [86889, 1], [86888, 1], [86887, 1], [86886, 1], [86885, 1], [86884, 1], [86883, 1], [86882, 1], [86881, 1], [86880, 1], [86879, 1], [86878, 1], [86877, 1], [86876, 1], [86875, 1], [86874, 1], [86873, 1], [86872, 1], [86871, 1], [86870, 1], [86869, 1], [86868, 1], [86867, 1], [86866, 1], [86865, 1], [86864, 1], [86863, 1], [86862, 1], [86861, 1], [86858, 1], [86857, 1], [86856, 1], [86855, 1], [86854, 1], [86853, 1], [86852, 1], [86851, 1], [86850, 1], [86849, 1], [86848, 1], [86847, 1], [86846, 1], [86845, 1], [86844, 1], [86843, 1], [86842, 1], [86841, 1], [86840, 1], [86839, 1], [86838, 1], [86837, 1], [86836, 1], [86835, 1], [86834, 1], [86833, 1], [86832, 1], [86831, 1], [86830, 1], [86829, 1], [86828, 1], [86827, 1], [86826, 1], [86825, 1], [86824, 1], [86823, 1], [86822, 1], [86821, 1], [86820, 1], [86819, 1], [86818, 1], [86817, 1], [86816, 1], [86815, 1], [86814, 1], [86813, 1], [86812, 1], [86811, 1], [86810, 1], [86809, 1], [86808, 1], [86807, 1], [86806, 1], [86805, 1], [86804, 1], [86803, 1], [86802, 1], [86801, 1], [86800, 1], [86799, 1], [86798, 1], [86797, 1], [86796, 1], [86795, 1], [86794, 1], [86793, 1], [86792, 1], [86791, 1], [86790, 1], [86789, 1], [86788, 1], [86787, 1], [86786, 1], [86785, 1], [86784, 1], [86783, 1], [86782, 1], [86781, 1], [86780, 1], [86779, 1], [86778, 1], [86777, 1], [86776, 1], [86775, 1], [86774, 1], [86773, 1], [86772, 1], [86771, 1], [86770, 1], [86769, 1], [86768, 1], [86767, 1], [86766, 1], [86765, 1], [86764, 1], [86763, 1], [86762, 1], [86761, 1], [86760, 1], [86759, 1], [86758, 1], [86757, 1], [86756, 1], [86755, 1], [86754, 1], [86753, 1], [86752, 1], [86751, 1], [86750, 1], [86749, 1], [86748, 1], [86747, 1], [86746, 1], [86745, 1], [86744, 1], [86743, 1], [86742, 1], [86741, 1], [86740, 1], [86739, 1], [86738, 1], [86737, 1], [86736, 1], [86735, 1], [86734, 1], [86733, 1], [86732, 1], [86731, 1], [86730, 1], [86729, 1], [86728, 1], [86727, 1], [86726, 1], [86725, 1], [86724, 1], [86723, 1], [86722, 1], [86721, 1], [86720, 1], [86719, 1], [86718, 1], [86717, 1], [86716, 1], [86715, 1], [86714, 1], [86713, 1], [86712, 1], [86711, 1], [86710, 1], [86709, 1], [86708, 1], [86707, 1], [86706, 1], [86705, 1], [86704, 1], [86703, 1], [86702, 1], [86701, 1], [86700, 1], [86699, 1], [86698, 1], [86697, 1], [86696, 1], [86695, 1], [86694, 1], [86693, 1], [86692, 1], [86691, 1], [86690, 1], [86689, 1], [86688, 1], [86687, 1], [86686, 1], [86685, 1], [86684, 1], [86683, 1], [86682, 1], [86681, 1], [86680, 1], [86679, 1], [86678, 1], [86677, 1], [86676, 1], [86675, 1], [86674, 1], [86673, 1], [86672, 1], [86671, 1], [86670, 1], [86669, 1], [86668, 1], [86667, 1], [86666, 1], [86665, 1], [86664, 1], [86663, 1], [86662, 1], [86661, 1], [86660, 1], [86659, 1], [86658, 1], [86657, 1], [86656, 1], [86655, 1], [86654, 1], [86653, 1], [86652, 1], [86651, 1], [86650, 1], [86649, 1], [86648, 1], [86647, 1], [86646, 1], [86645, 1], [86644, 1], [86643, 1], [86642, 1], [86641, 1], [86640, 1], [86639, 1], [86638, 1], [86637, 1], [86636, 1], [86635, 1], [86634, 1], [86633, 1], [86632, 1], [86631, 1], [86630, 1], [86629, 1], [86628, 1], [86627, 1], [86626, 1], [86625, 1], [86624, 1], [86623, 1], [86622, 1], [86621, 1], [86620, 1], [86619, 1], [86618, 1], [86617, 1], [86616, 1], [86615, 1], [86614, 1], [86613, 1], [86612, 1], [86611, 1], [86610, 1], [86609, 1], [86608, 1], [86607, 1], [86606, 1], [86605, 1], [86604, 1], [86603, 1], [86602, 1], [86601, 1], [86600, 1], [86599, 1], [86598, 1], [86597, 1], [86596, 1], [86595, 1], [86594, 1], [86593, 1], [86592, 1], [86591, 1], [86590, 1], [86589, 1], [86588, 1], [86587, 1], [86586, 1], [86585, 1], [86584, 1], [86583, 1], [86582, 1], [86581, 1], [86580, 1], [86579, 1], [86578, 1], [86577, 1], [86576, 1], [86575, 1], [86574, 1], [86573, 1], [86572, 1], [86571, 1], [86570, 1], [86569, 1], [86568, 1], [86567, 1], [86566, 1], [86565, 1], [86564, 1], [86563, 1], [86562, 1], [86561, 1], [86560, 1], [86559, 1], [86558, 1], [86557, 1], [86556, 1], [86555, 1], [86554, 1], [86553, 1], [86552, 1], [86551, 1], [86550, 1], [86549, 1], [86548, 1], [86547, 1], [86546, 1], [86545, 1], [86544, 1], [86543, 1], [86542, 1], [86541, 1], [86540, 1], [86539, 1], [86538, 1], [86537, 1], [86536, 1], [86535, 1], [86534, 1], [86533, 1], [86532, 1], [86531, 1], [86530, 1], [86529, 1], [86528, 1], [86527, 1], [86526, 1], [86525, 1], [86524, 1], [86523, 1], [86522, 1], [86521, 1], [86520, 1], [86519, 1], [86518, 1], [86517, 1], [86516, 1], [86515, 1], [86514, 1], [86513, 1], [86512, 1], [86511, 1], [86510, 1], [86509, 1], [86508, 1], [86507, 1], [86506, 1], [86505, 1], [86504, 1], [86503, 1], [86502, 1], [86501, 1], [86500, 1], [86499, 1], [86498, 1], [86497, 1], [86496, 1], [86495, 1], [86494, 1], [86493, 1], [86492, 1], [86491, 1], [86490, 1], [86489, 1], [86488, 1], [86487, 1], [86486, 1], [86485, 1], [86484, 1], [86483, 1], [86482, 1], [86481, 1], [86480, 1], [86479, 1], [86478, 1], [86477, 1], [86476, 1], [86475, 1], [86474, 1], [86473, 1], [86472, 1], [86471, 1], [86470, 1], [86469, 1], [86468, 1], [86467, 1], [86466, 1], [86465, 1], [86464, 1], [86463, 1], [86462, 1], [86461, 1], [86460, 1], [86459, 1], [86458, 1], [86457, 1], [86456, 1], [86455, 1], [86454, 1], [86453, 1], [86452, 1], [86451, 1], [86450, 1], [86449, 1], [86448, 1], [86447, 1], [86446, 1], [86445, 1], [86444, 1], [86443, 1], [86442, 1], [86441, 1], [86440, 1], [86439, 1], [86438, 1], [86437, 1], [86436, 1], [86435, 1], [86434, 1], [86433, 1], [86432, 1], [86431, 1], [86430, 1], [86429, 1], [86428, 1], [86427, 1], [86426, 1], [86425, 1], [86424, 1], [86423, 1], [86422, 1], [86421, 1], [86420, 1], [86419, 1], [86418, 1], [86417, 1], [86416, 1], [86415, 1], [86414, 1], [86413, 1], [86412, 1], [86411, 1], [86410, 1], [86409, 1], [86408, 1], [86407, 1], [86406, 1], [86405, 1], [86404, 1], [86403, 1], [86402, 1], [86401, 1], [86400, 1], [86399, 1], [86398, 1], [86397, 1], [86396, 1], [86395, 1], [86394, 1], [86393, 1], [86392, 1], [86391, 1], [86390, 1], [86389, 1], [86388, 1], [86387, 1], [86386, 1], [86385, 1], [86384, 1], [86383, 1], [86382, 1], [86381, 1], [86380, 1], [86379, 1], [86378, 1], [86377, 1], [86376, 1], [86375, 1], [86374, 1], [86373, 1], [86372, 1], [86371, 1], [86370, 1], [86369, 1], [86368, 1], [86367, 1], [86366, 1], [86365, 1], [86364, 1], [86363, 1], [86362, 1], [86361, 1], [86360, 1], [86359, 1], [86358, 1], [86357, 1], [86356, 1], [86355, 1], [86354, 1], [86353, 1], [86352, 1], [86351, 1], [86350, 1], [86349, 1], [86348, 1], [86347, 1], [86346, 1], [86345, 1], [86344, 1], [86343, 1], [86342, 1], [86341, 1], [86340, 1], [86339, 1], [86338, 1], [86337, 1], [86336, 1], [86335, 1], [86334, 1], [86333, 1], [86332, 1], [86331, 1], [86330, 1], [86329, 1], [86328, 1], [86327, 1], [86326, 1], [86325, 1], [86324, 1], [86323, 1], [86322, 1], [86321, 1], [86320, 1], [86319, 1], [86318, 1], [86317, 1], [86316, 1], [86315, 1], [86314, 1], [86313, 1], [86312, 1], [86311, 1], [86310, 1], [86309, 1], [86308, 1], [86307, 1], [86306, 1], [86305, 1], [86304, 1], [86303, 1], [86302, 1], [86301, 1], [86300, 1], [86299, 1], [86298, 1], [86297, 1], [86296, 1], [86295, 1], [86294, 1], [86293, 1], [86292, 1], [86291, 1], [86290, 1], [86289, 1], [86288, 1], [86287, 1], [86286, 1], [86285, 1], [86284, 1], [86283, 1], [86282, 1], [86281, 1], [86280, 1], [86279, 1], [86278, 1], [86277, 1], [86276, 1], [86275, 1], [86274, 1], [86273, 1], [86272, 1], [86271, 1], [86270, 1], [86269, 1], [86268, 1], [86267, 1], [86266, 1], [86265, 1], [86264, 1], [86263, 1], [86262, 1], [86261, 1], [86260, 1], [86259, 1], [86258, 1], [86257, 1], [86256, 1], [86255, 1], [86254, 1], [86253, 1], [86252, 1], [86251, 1], [86250, 1], [86249, 1], [86248, 1], [86247, 1], [86246, 1], [86245, 1], [86244, 1], [86243, 1], [86242, 1], [86241, 1], [86240, 1], [86239, 1], [86238, 1], [86237, 1], [86236, 1], [86235, 1], [86234, 1], [86233, 1], [86232, 1], [86231, 1], [86230, 1], [86229, 1], [86228, 1], [86227, 1], [86226, 1], [86225, 1], [86224, 1], [86223, 1], [86222, 1], [86221, 1], [86220, 1], [86219, 1], [86218, 1], [86217, 1], [86216, 1], [86215, 1], [86214, 1], [86213, 1], [86212, 1], [86211, 1], [86210, 1], [86209, 1], [86208, 1], [86207, 1], [86206, 1], [86205, 1], [86204, 1], [86203, 1], [86202, 1], [86201, 1], [86200, 1], [86199, 1], [86198, 1], [86197, 1], [86196, 1], [86195, 1], [86194, 1], [86193, 1], [86192, 1], [86191, 1], [86190, 1], [86189, 1], [86188, 1], [86187, 1], [86186, 1], [86185, 1], [86184, 1], [86183, 1], [86182, 1], [86181, 1], [86180, 1], [86179, 1], [86178, 1], [86177, 1], [86176, 1], [86175, 1], [86174, 1], [86173, 1], [86172, 1], [86171, 1], [86170, 1], [86169, 1], [86168, 1], [86167, 1], [86166, 1], [86165, 1], [86164, 1], [86163, 1], [86162, 1], [86161, 1], [86160, 1], [86159, 1], [86158, 1], [86157, 1], [86156, 1], [86155, 1], [86154, 1], [86153, 1], [86152, 1], [86151, 1], [86150, 1], [86149, 1], [86148, 1], [86147, 1], [86146, 1], [86145, 1], [86144, 1], [86143, 1], [86142, 1], [86141, 1], [86140, 1], [86139, 1], [86138, 1], [86137, 1], [86136, 1], [86135, 1], [86134, 1], [86133, 1], [86132, 1], [86131, 1], [86130, 1], [86129, 1], [86128, 1], [86127, 1], [86126, 1], [86125, 1], [86124, 1], [86123, 1], [86122, 1], [86121, 1], [86120, 1], [86119, 1], [86118, 1], [86117, 1], [86116, 1], [86115, 1], [86114, 1], [86113, 1], [86112, 1], [86111, 1], [86110, 1], [86109, 1], [86108, 1], [86107, 1], [86106, 1], [86105, 1], [86104, 1], [86103, 1], [86102, 1], [86101, 1], [86100, 1], [86099, 1], [86098, 1], [86097, 1], [86096, 1], [86095, 1], [86094, 1], [86093, 1], [86092, 1], [86091, 1], [86090, 1], [86089, 1], [86088, 1], [86087, 1], [86086, 1], [86085, 1], [86084, 1], [86083, 1], [86082, 1], [86081, 1], [86080, 1], [86079, 1], [86078, 1], [86077, 1], [86076, 1], [86075, 1], [86074, 1], [86073, 1], [86072, 1], [86071, 1], [86070, 1], [86069, 1], [86068, 1], [86067, 1], [86066, 1], [86065, 1], [86064, 1], [86063, 1], [86062, 1], [86061, 1], [86060, 1], [86059, 1], [86058, 1], [86057, 1], [86056, 1], [86055, 1], [86054, 1], [86053, 1], [86052, 1], [86051, 1], [86050, 1], [86049, 1], [86048, 1], [86047, 1], [86046, 1], [86045, 1], [86044, 1], [86043, 1], [86042, 1], [86041, 1], [86040, 1], [86039, 1], [86038, 1], [86037, 1], [86036, 1], [86035, 1], [86034, 1], [86033, 1], [86032, 1], [86031, 1], [86030, 1], [86029, 1], [86028, 1], [86027, 1], [86026, 1], [86025, 1], [86024, 1], [86023, 1], [86022, 1], [86021, 1], [86020, 1], [86019, 1], [86018, 1], [86017, 1], [86016, 1], [86015, 1], [86014, 1], [86013, 1], [86012, 1], [86011, 1], [86010, 1], [86009, 1], [86008, 1], [86007, 1], [86006, 1], [86005, 1], [86004, 1], [86003, 1], [86002, 1], [86001, 1], [86000, 1], [85999, 1], [85998, 1], [85997, 1], [85996, 1], [85995, 1], [85994, 1], [85993, 1], [85992, 1], [85991, 1], [85990, 1], [85989, 1], [85988, 1], [85987, 1], [85986, 1], [85985, 1], [85984, 1], [85983, 1], [85982, 1], [85981, 1], [85980, 1], [85979, 1], [85978, 1], [85977, 1], [85977, 0, "E"], [85978, 0, "i"], [85979, 0, "t"], [85980, 0, "h"], [85981, 0, "e"], [85982, 0, "r"], [85983, 0, " "], [85983, 1], [85982, 1], [85981, 1], [85980, 1], [85979, 1], [85978, 1], [85977, 1], [85977, 0, "I"], [85978, 0, "f"], [85979, 0, " "], [85980, 0, "$"], [85981, 0, "o"], [85982, 0, "_"], [85983, 0, "r"], [85984, 0, "."], [85985, 0, "\\"], [85986, 0, "m"], [85987, 0, "a"], [85988, 0, "t"], [85989, 0, "h"], [85990, 0, "i"], [85991, 0, "t"], [85992, 0, "{"], [85993, 0, "c"], [85994, 0, "u"], [85995, 0, "r"], [85996, 0, "}"], [85997, 0, " "], [85998, 0, "="], [85999, 0, " "], [86000, 0, "o"], [86001, 0, "_"], [86002, 0, "s"], [86003, 0, "."], [86004, 0, "\\"], [86005, 0, "m"], [86006, 0, "a"], [86007, 0, "t"], [86008, 0, "h"], [86009, 0, "i"], [86010, 0, "t"], [86011, 0, "{"], [86012, 0, "c"], [86013, 0, "u"], [86014, 0, "r"], [86015, 0, "}"], [86016, 0, "$"], [86017, 0, ","], [86018, 0, " "], [86019, 0, "t"], [86020, 0, "h"], [86021, 0, "e"], [86022, 0, "n"], [86023, 0, " "], [86024, 0, "b"], [86025, 0, "y"], [86026, 0, " "], [86027, 0, "L"], [86028, 0, "e"], [86029, 0, "m"], [86030, 0, "m"], [86031, 0, "a"], [86032, 0, "~"], [86033, 0, "\\"], [86034, 0, "r"], [86035, 0, "e"], [86036, 0, "f"], [86037, 0, "{"], [86038, 0, "l"], [86039, 0, "e"], [86040, 0, "m"], [86041, 0, ":"], [86042, 0, "i"], [86043, 0, "n"], [86044, 0, "s"], [86045, 0, "e"], [86046, 0, "r"], [86047, 0, "t"], [86048, 0, "-"], [86049, 0, "c"], [86050, 0, "o"], [86051, 0, "n"], [86052, 0, "f"], [86053, 0, "l"], [86054, 0, "i"], [86055, 0, "c"], [86056, 0, "t"], [86057, 0, "}"], [86058, 0, ","], [86059, 0, " "], [86060, 0, "t"], [86061, 0, "h"], [86062, 0, "e"], [86063, 0, " "], [86064, 0, "o"], [86065, 0, "p"], [86066, 0, "e"], [86067, 0, "r"], [86068, 0, "a"], [86069, 0, "t"], [86070, 0, "i"], [86071, 0, "o"], [86072, 0, "n"], [86073, 0, "s"], [86074, 0, " "], [86075, 0, "a"], [86076, 0, "r"], [86077, 0, "e"], [86078, 0, " "], [86079, 0, "c"], [86080, 0, "o"], [86081, 0, "m"], [86082, 0, "m"], [86083, 0, "u"], [86084, 0, "t"], [86085, 0, "a"], [86086, 0, "t"], [86087, 0, "i"], [86088, 0, "v"], [86089, 0, "e"], [86090, 0, "."], [86091, 0, " "], [86092, 0, "I"], [86093, 0, "f"], [86094, 0, " "], [86095, 0, "$"], [86096, 0, "o"], [86097, 0, "_"], [86098, 0, "r"], [86099, 0, "."], [86100, 0, "\\"], [86101, 0, "m"], [86102, 0, "a"], [86103, 0, "t"], [86104, 0, "h"], [86105, 0, "i"], [86106, 0, "t"], [86107, 0, "{"], [86108, 0, "c"], [86109, 0, "u"], [86110, 0, "r"], [86111, 0, "}"], [86112, 0, " "], [86113, 0, "\\"], [86114, 0, "n"], [86115, 0, "o"], [86116, 0, "t"], [86117, 0, "="], [86118, 0, " "], [86119, 0, "o"], [86120, 0, "_"], [86121, 0, "s"], [86122, 0, "."], [86123, 0, "\\"], [86124, 0, "m"], [86125, 0, "a"], [86126, 0, "t"], [86127, 0, "h"], [86128, 0, "i"], [86129, 0, "t"], [86130, 0, "{"], [86131, 0, "c"], [86132, 0, "u"], [86133, 0, "r"], [86134, 0, "}"], [86135, 0, "$"], [86136, 0, ","], [86137, 0, " "], [86138, 0, "T"], [86139, 0, "O"], [86140, 0, "D"], [86141, 0, "O"], [86142, 0, "\\"], [86143, 0, "d"], [86144, 0, "o"], [86145, 0, "t"], [86146, 0, "s"], [86146, 1], [86145, 1], [86144, 1], [86143, 1], [86142, 1], [86141, 1], [86140, 1], [86139, 1], [86138, 1], [86090, 0, ","], [86091, 0, " "], [86092, 0, "a"], [86093, 0, "n"], [86094, 0, "d"], [86095, 0, " "], [86096, 0, "t"], [86097, 0, "h"], [86098, 0, "e"], [86099, 0, " "], [86100, 0, "o"], [86101, 0, "p"], [86102, 0, "e"], [86103, 0, "r"], [86104, 0, "a"], [86105, 0, "t"], [86106, 0, "i"], [86107, 0, "o"], [86108, 0, "n"], [86109, 0, " "], [86110, 0, "w"], [86111, 0, "i"], [86112, 0, "t"], [86113, 0, "h"], [86114, 0, " "], [86115, 0, "t"], [86116, 0, "h"], [86117, 0, "e"], [86118, 0, " "], [86119, 0, "g"], [86120, 0, "r"], [86121, 0, "e"], [86122, 0, "a"], [86123, 0, "t"], [86124, 0, "e"], [86125, 0, "r"], [86126, 0, " "], [86127, 0, "o"], [86128, 0, "p"], [86129, 0, "e"], [86130, 0, "r"], [86131, 0, "a"], [86132, 0, "t"], [86133, 0, "i"], [86134, 0, "o"], [86135, 0, "n"], [86136, 0, " "], [86137, 0, "I"], [86138, 0, "D"], [86139, 0, " "], [86140, 0, "a"], [86141, 0, "p"], [86142, 0, "p"], [86143, 0, "e"], [86144, 0, "a"], [86145, 0, "r"], [86146, 0, "s"], [86147, 0, " "], [86148, 0, "f"], [86149, 0, "i"], [86150, 0, "r"], [86151, 0, "s"], [86152, 0, "t"], [86153, 0, " "], [86154, 0, "i"], [86155, 0, "n"], [86156, 0, " "], [86157, 0, "t"], [86158, 0, "h"], [86159, 0, "e"], [86160, 0, " "], [86161, 0, "l"], [86162, 0, "i"], [86163, 0, "s"], [86164, 0, "t"], [86095, 1], [86094, 1], [86093, 1], [86092, 1], [86091, 1], [86090, 1], [86089, 1], [86088, 1], [86087, 1], [86086, 1], [86085, 1], [86084, 1], [86083, 1], [86082, 1], [86081, 1], [86080, 1], [86079, 1], [86078, 1], [86077, 1], [86076, 1], [86075, 1], [86074, 1], [86073, 1], [86072, 1], [86071, 1], [86070, 1], [86069, 1], [86068, 1], [86067, 1], [86066, 1], [86065, 1], [86064, 1], [86063, 1], [86062, 1], [86061, 1], [86060, 1], [86129, 0, ","], [86130, 0, " "], [86131, 0, "r"], [86132, 0, "e"], [86133, 0, "g"], [86134, 0, "a"], [86135, 0, "r"], [86136, 0, "d"], [86137, 0, "l"], [86138, 0, "e"], [86139, 0, "s"], [86140, 0, "s"], [86141, 0, " "], [86142, 0, "o"], [86143, 0, "f"], [86144, 0, " "], [86145, 0, "t"], [86146, 0, "h"], [86147, 0, "e"], [86148, 0, " "], [86149, 0, "o"], [86150, 0, "r"], [86151, 0, "d"], [86152, 0, "e"], [86153, 0, "r"], [86154, 0, " "], [86155, 0, "i"], [86156, 0, "n"], [86157, 0, " "], [86158, 0, "w"], [86159, 0, "h"], [86160, 0, "i"], [86161, 0, "c"], [86162, 0, "h"], [86163, 0, " "], [86164, 0, "t"], [86165, 0, "h"], [86166, 0, "e"], [86167, 0, " "], [86168, 0, "o"], [86169, 0, "p"], [86170, 0, "e"], [86171, 0, "r"], [86172, 0, "a"], [86173, 0, "t"], [86174, 0, "i"], [86175, 0, "o"], [86176, 0, "n"], [86177, 0, " "], [86177, 1], [86177, 0, "s"], [86178, 0, " "], [86179, 0, "a"], [86180, 0, "r"], [86181, 0, "e"], [86182, 0, " "], [86183, 0, "a"], [86184, 0, "p"], [86185, 0, "p"], [86186, 0, "l"], [86187, 0, "i"], [86188, 0, "e"], [86189, 0, "d"], [86238, 0, "t"], [86239, 0, "h"], [86240, 0, "e"], [86241, 0, "n"], [86242, 0, " "], [86243, 0, "o"], [86244, 0, "n"], [86245, 0, "e"], [86246, 0, " "], [86247, 0, "o"], [86248, 0, "r"], [86249, 0, " "], [86250, 0, "b"], [86251, 0, "o"], [86252, 0, "t"], [86253, 0, "h"], [86254, 0, " "], [86255, 0, "o"], [86256, 0, "f"], [86257, 0, " "], [86258, 0, "t"], [86259, 0, "h"], [86260, 0, "e"], [86261, 0, " "], [86262, 0, "c"], [86263, 0, "u"], [86264, 0, "r"], [86265, 0, "s"], [86266, 0, "o"], [86267, 0, "r"], [86268, 0, "s"], [86269, 0, " "], [86270, 0, "m"], [86271, 0, "u"], [86272, 0, "s"], [86273, 0, "t"], [86274, 0, " "], [86275, 0, "r"], [86276, 0, "e"], [86277, 0, "f"], [86278, 0, "e"], [86279, 0, "r"], [86280, 0, " "], [86281, 0, "t"], [86282, 0, "o"], [86283, 0, " "], [86284, 0, "a"], [86285, 0, " "], [86286, 0, "l"], [86287, 0, "i"], [86288, 0, "s"], [86289, 0, "t"], [86290, 0, " "], [86291, 0, "e"], [86292, 0, "l"], [86293, 0, "e"], [86294, 0, "m"], [86295, 0, "e"], [86296, 0, "n"], [86297, 0, "t"], [86298, 0, " "], [86299, 0, "t"], [86300, 0, "h"], [86301, 0, "a"], [86302, 0, "t"], [86303, 0, " "], [86304, 0, "a"], [86305, 0, "p"], [86306, 0, "p"], [86307, 0, "e"], [86308, 0, "a"], [86309, 0, "r"], [86310, 0, "s"], [86311, 0, " "], [86312, 0, "b"], [86313, 0, "e"], [86314, 0, "t"], [86315, 0, "w"], [86316, 0, "e"], [86317, 0, "e"], [86318, 0, "n"], [86319, 0, " "], [86320, 0, "$"], [86321, 0, "k"], [86322, 0, "^"], [86323, 0, "\\"], [86324, 0, "m"], [86325, 0, "a"], [86326, 0, "t"], [86327, 0, "h"], [86328, 0, "r"], [86329, 0, "m"], [86330, 0, "{"], [86331, 0, "b"], [86332, 0, "e"], [86333, 0, "f"], [86334, 0, "o"], [86335, 0, "r"], [86336, 0, "e"], [86337, 0, "}"], [86338, 0, "$"], [86339, 0, " "], [86340, 0, "a"], [86341, 0, "n"], [86342, 0, "d"], [86343, 0, " "], [86344, 0, "$"], [86345, 0, "k"], [86346, 0, "^"], [86347, 0, "\\"], [86348, 0, "m"], [86349, 0, "a"], [86350, 0, "t"], [86351, 0, "h"], [86352, 0, "r"], [86353, 0, "m"], [86354, 0, "{"], [86355, 0, "a"], [86356, 0, "f"], [86357, 0, "t"], [86358, 0, "e"], [86359, 0, "r"], [86360, 0, "}"], [86361, 0, "$"], [86362, 0, ","], [86363, 0, " "], [86364, 0, "a"], [86365, 0, "n"], [86366, 0, "d"], [86367, 0, " "], [86368, 0, "t"], [86369, 0, "h"], [86370, 0, "a"], [86371, 0, "t"], [86372, 0, " "], [86373, 0, "w"], [86374, 0, "a"], [86375, 0, "s"], [86376, 0, " "], [86377, 0, "i"], [86378, 0, "n"], [86379, 0, "s"], [86380, 0, "e"], [86381, 0, "r"], [86382, 0, "t"], [86383, 0, "e"], [86384, 0, "d"], [86385, 0, " "], [86385, 1], [86384, 1], [86383, 1], [86382, 1], [86381, 1], [86380, 1], [86379, 1], [86378, 1], [86377, 1], [86376, 1], [86375, 1], [86374, 1], [86373, 1], [86373, 0, "d"], [86374, 0, "i"], [86375, 0, "d"], [86376, 0, " "], [86377, 0, "n"], [86378, 0, "o"], [86379, 0, "t"], [86380, 0, " "], [86381, 0, "y"], [86382, 0, "e"], [86383, 0, "t"], [86384, 0, " "], [86385, 0, "e"], [86386, 0, "x"], [86387, 0, "i"], [86388, 0, "s"], [86389, 0, "t"], [86390, 0, " "], [86391, 0, "i"], [86392, 0, "n"], [86393, 0, " "], [86394, 0, "t"], [86395, 0, "h"], [86396, 0, "e"], [86397, 0, " "], [86398, 0, "c"], [86399, 0, "o"], [86400, 0, "m"], [86401, 0, "m"], [86402, 0, "o"], [86403, 0, "n"], [86404, 0, " "], [86405, 0, "a"], [86406, 0, "n"], [86407, 0, "c"], [86408, 0, "e"], [86409, 0, "s"], [86410, 0, "t"], [86411, 0, "o"], [86412, 0, "r"], [86413, 0, " "], [86414, 0, "("], [86415, 0, "D"], [86416, 0, "e"], [86417, 0, "f"], [86418, 0, "i"], [86419, 0, "n"], [86420, 0, "i"], [86421, 0, "t"], [86422, 0, "i"], [86423, 0, "o"], [86424, 0, "n"], [86425, 0, "~"], [86426, 0, "\\"], [86427, 0, "r"], [86428, 0, "e"], [86429, 0, "f"], [86430, 0, "{"], [86431, 0, "d"], [86432, 0, "e"], [86433, 0, "f"], [86434, 0, ":"], [86435, 0, "c"], [86436, 0, "o"], [86437, 0, "m"], [86438, 0, "m"], [86439, 0, "o"], [86440, 0, "n"], [86441, 0, "-"], [86442, 0, "a"], [86443, 0, "n"], [86444, 0, "c"], [86445, 0, "e"], [86446, 0, "s"], [86447, 0, "t"], [86448, 0, "o"], [86449, 0, "r"], [86450, 0, "}"], [86451, 0, ")"], [86452, 0, "."], [86453, 0, "\n"], [86454, 0, "\n"], [86475, 0, " "], [86476, 0, "a"], [86477, 0, "b"], [86478, 0, "o"], [86479, 0, "v"], [86480, 0, "e"], [86455, 0, "T"], [86456, 0, "a"], [86457, 0, "k"], [86458, 0, "e"], [86459, 0, " "], [86460, 0, "e"], [86461, 0, "i"], [86462, 0, "t"], [86463, 0, "h"], [86463, 1], [86462, 1], [86461, 1], [86460, 1], [86460, 0, "a"], [86461, 0, " "], [86462, 0, "c"], [86463, 0, "u"], [86464, 0, "r"], [86465, 0, "s"], [86466, 0, "o"], [86467, 0, "r"], [86468, 0, " "], [86469, 0, "t"], [86470, 0, "h"], [86471, 0, "a"], [86472, 0, "t"], [86473, 0, " "], [86474, 0, "d"], [86475, 0, "i"], [86476, 0, "f"], [86477, 0, "f"], [86478, 0, "e"], [86479, 0, "r"], [86480, 0, "s"], [86481, 0, " "], [86482, 0, "f"], [86483, 0, "r"], [86484, 0, "o"], [86485, 0, "m"], [86486, 0, " "], [86487, 0, "$"], [86488, 0, "k"], [86489, 0, "^"], [86490, 0, "\\"], [86491, 0, "m"], [86492, 0, "a"], [86493, 0, "t"], [86494, 0, "h"], [86495, 0, "r"], [86496, 0, "m"], [86497, 0, "{"], [86498, 0, "b"], [86499, 0, "e"], [86500, 0, "f"], [86501, 0, "o"], [86502, 0, "r"], [86503, 0, "e"], [86504, 0, "}"], [86505, 0, "$"], [86506, 0, "."], [86507, 0, " "], [86507, 1], [86506, 1], [86506, 0, ","], [86507, 0, " "], [86507, 1], [86506, 1], [86506, 0, ":"], [86507, 0, " "], [86508, 0, "t"], [86509, 0, "h"], [86510, 0, "e"], [86511, 0, " "], [86512, 0, "l"], [86513, 0, "i"], [86514, 0, "s"], [86515, 0, "t"], [86516, 0, " "], [86517, 0, "e"], [86518, 0, "l"], [86519, 0, "e"], [86520, 0, "m"], [86521, 0, "e"], [86522, 0, "n"], [86523, 0, "t"], [86524, 0, " "], [86525, 0, "i"], [86526, 0, "t"], [86527, 0, " "], [86528, 0, "r"], [86529, 0, "e"], [86530, 0, "f"], [86531, 0, "e"], [86532, 0, "r"], [86533, 0, "s"], [86534, 0, " "], [86535, 0, "t"], [86536, 0, "o"], [86537, 0, " "], [86538, 0, "w"], [86539, 0, "a"], [86540, 0, "s"], [86541, 0, " "], [86542, 0, "i"], [86543, 0, "t"], [86544, 0, "s"], [86545, 0, "e"], [86546, 0, "l"], [86547, 0, "f"], [86548, 0, " "], [86549, 0, "i"], [86550, 0, "n"], [86551, 0, "s"], [86552, 0, "e"], [86553, 0, "r"], [86554, 0, "t"], [86555, 0, "e"], [86556, 0, "d"], [86557, 0, " "], [86558, 0, "b"], [86559, 0, "y"], [86560, 0, " "], [86561, 0, "a"], [86562, 0, "n"], [86563, 0, " "], [86564, 0, "o"], [86565, 0, "p"], [86566, 0, "e"], [86567, 0, "r"], [86568, 0, "a"], [86569, 0, "t"], [86570, 0, "i"], [86571, 0, "o"], [86572, 0, "n"], [86573, 0, " "], [86574, 0, "w"], [86575, 0, "i"], [86576, 0, "t"], [86577, 0, "h"], [86578, 0, "i"], [86579, 0, "n"], [86580, 0, " "], [86581, 0, "t"], [86582, 0, "h"], [86583, 0, "e"], [86584, 0, " "], [86585, 0, "s"], [86586, 0, "a"], [86587, 0, "m"], [86588, 0, "e"], [86589, 0, " "], [86590, 0, "i"], [86591, 0, "n"], [86592, 0, "s"], [86593, 0, "e"], [86594, 0, "r"], [86595, 0, "t"], [86596, 0, "i"], [86597, 0, "o"], [86598, 0, "n"], [86599, 0, " "], [86600, 0, "i"], [86601, 0, "n"], [86602, 0, "t"], [86603, 0, "e"], [86604, 0, "r"], [86605, 0, "v"], [86606, 0, "a"], [86607, 0, "l"], [86608, 0, "."], [86609, 0, " "], [86579, 1], [86578, 1], [86605, 1], [86604, 1], [86603, 1], [86602, 1], [86601, 1], [86600, 1], [86599, 1], [86598, 1], [86597, 1], [86596, 1], [86595, 1], [86594, 1], [86593, 1], [86592, 1], [86591, 1], [86590, 1], [86589, 1], [86588, 1], [86587, 1], [86586, 1], [86585, 1], [86584, 1], [86583, 1], [86582, 1], [86581, 1], [86580, 1], [86579, 1], [86578, 1], [86577, 1], [86576, 1], [86575, 1], [86574, 1], [86573, 1], [86573, 0, ","], [86574, 0, " "], [86575, 0, "w"], [86576, 0, "h"], [86577, 0, "o"], [86578, 0, "s"], [86579, 0, "e"], [86580, 0, " "], [86581, 0, "c"], [86582, 0, "u"], [86583, 0, "r"], [86584, 0, "s"], [86585, 0, "o"], [86586, 0, "r"], [86587, 0, " "], [86588, 0, "i"], [86589, 0, "n"], [86590, 0, " "], [86591, 0, "t"], [86592, 0, "u"], [86593, 0, "r"], [86594, 0, "n"], [86595, 0, " "], [86596, 0, "r"], [86597, 0, "e"], [86598, 0, "f"], [86599, 0, "e"], [86600, 0, "r"], [86601, 0, "s"], [86602, 0, " "], [86603, 0, "t"], [86604, 0, "o"], [86605, 0, " "], [86606, 0, "a"], [86607, 0, "n"], [86608, 0, "o"], [86609, 0, "t"], [86610, 0, "h"], [86611, 0, "e"], [86612, 0, "r"], [86613, 0, " "], [86614, 0, "p"], [86615, 0, "r"], [86616, 0, "i"], [86617, 0, "o"], [86618, 0, "r"], [86619, 0, " "], [86620, 0, "o"], [86621, 0, "p"], [86622, 0, "e"], [86623, 0, "r"], [86624, 0, "a"], [86625, 0, "t"], [86626, 0, "i"], [86627, 0, "o"], [86628, 0, "n"], [86562, 1], [86562, 0, " "], [86563, 0, "p"], [86564, 0, "r"], [86565, 0, "i"], [86566, 0, "o"], [86567, 0, "r"], [86548, 1], [86547, 1], [86546, 1], [86545, 1], [86544, 1], [86543, 1], [86542, 1], [86627, 0, ","], [86628, 0, " "], [86629, 0, "a"], [86630, 0, "n"], [86631, 0, "d"], [86632, 0, " "], [86633, 0, "s"], [86634, 0, "o"], [86635, 0, " "], [86636, 0, "o"], [86637, 0, "n"], [86640, 0, "F"], [86641, 0, "o"], [86642, 0, "l"], [86643, 0, "l"], [86644, 0, "o"], [86645, 0, "w"], [86646, 0, "i"], [86647, 0, "n"], [86648, 0, "g"], [86649, 0, " "], [86650, 0, "t"], [86651, 0, "h"], [86652, 0, "i"], [86653, 0, "s"], [86654, 0, " "], [86655, 0, "c"], [86656, 0, "h"], [86657, 0, "a"], [86658, 0, "i"], [86659, 0, "n"], [86660, 0, " "], [86661, 0, "o"], [86662, 0, "f"], [86663, 0, " "], [86664, 0, "c"], [86665, 0, "u"], [86666, 0, "r"], [86667, 0, "s"], [86668, 0, "o"], [86669, 0, "r"], [86670, 0, "s"], [86671, 0, " "], [86672, 0, "l"], [86673, 0, "e"], [86674, 0, "a"], [86675, 0, "d"], [86676, 0, "s"], [86677, 0, " "], [86678, 0, "t"], [86679, 0, "o"], [86680, 0, " "], [86681, 0, "a"], [86682, 0, "n"], [86683, 0, " "], [86684, 0, "o"], [86685, 0, "p"], [86686, 0, "e"], [86687, 0, "r"], [86688, 0, "a"], [86689, 0, "t"], [86690, 0, "i"], [86691, 0, "o"], [86692, 0, "n"], [86693, 0, " "], [86694, 0, "w"], [86695, 0, "h"], [86696, 0, "o"], [86697, 0, "s"], [86698, 0, "e"], [86699, 0, " "], [86700, 0, "c"], [86701, 0, "u"], [86702, 0, "r"], [86703, 0, "s"], [86704, 0, "o"], [86705, 0, "r"], [86706, 0, " "], [86707, 0, "r"], [86708, 0, "e"], [86709, 0, "f"], [86710, 0, "e"], [86711, 0, "r"], [86712, 0, "s"], [86713, 0, " "], [86714, 0, "t"], [86660, 0, " "], [86661, 0, "f"], [86662, 0, "o"], [86663, 0, "r"], [86664, 0, " "], [86665, 0, "a"], [86666, 0, " "], [86667, 0, "f"], [86668, 0, "i"], [86669, 0, "n"], [86670, 0, "i"], [86671, 0, "t"], [86672, 0, "e"], [86673, 0, " "], [86674, 0, "n"], [86675, 0, "u"], [86676, 0, "m"], [86677, 0, "b"], [86678, 0, "e"], [86679, 0, "r"], [86680, 0, " "], [86681, 0, "o"], [86682, 0, "f"], [86683, 0, " "], [86684, 0, "s"], [86685, 0, "t"], [86686, 0, "e"], [86687, 0, "p"], [86688, 0, "s"], [86690, 1], [86690, 1], [86690, 1], [86690, 1], [86690, 1], [86690, 1], [86690, 1], [86690, 1], [86690, 1], [86690, 1], [86690, 1], [86660, 0, " "], [86661, 0, "o"], [86662, 0, "f"], [86663, 0, " "], [86664, 0, "c"], [86665, 0, "u"], [86666, 0, "r"], [86667, 0, "s"], [86668, 0, "o"], [86669, 0, "r"], [86670, 0, "s"], [86744, 0, "o"], [86745, 0, " "], [86746, 0, "$"], [86747, 0, "k"], [86748, 0, "&"], [86748, 1], [86748, 0, "^"], [86749, 0, "\\"], [86750, 0, "m"], [86751, 0, "a"], [86752, 0, "t"], [86753, 0, "h"], [86754, 0, "r"], [86755, 0, "m"], [86756, 0, "{"], [86757, 0, "b"], [86758, 0, "e"], [86759, 0, "f"], [86760, 0, "o"], [86761, 0, "r"], [86762, 0, "e"], [86763, 0, "}"], [86764, 0, "$"], [86765, 0, "."], [86766, 0, " "], [86767, 0, "N"], [86768, 0, "o"], [86769, 0, "t"], [86770, 0, "e"], [86771, 0, " "], [86772, 0, "t"], [86773, 0, "h"], [86774, 0, "a"], [86775, 0, "t"], [86776, 0, " "], [86765, 0, " "], [86765, 1], [86765, 0, ","], [86766, 0, " "], [86767, 0, "s"], [86768, 0, "i"], [86769, 0, "n"], [86770, 0, "c"], [86771, 0, "e"], [86772, 0, " "], [86773, 0, "a"], [86774, 0, "n"], [86775, 0, " "], [86776, 0, "i"], [86777, 0, "n"], [86778, 0, "s"], [86779, 0, "e"], [86780, 0, "r"], [86781, 0, "t"], [86782, 0, "i"], [86783, 0, "o"], [86784, 0, "n"], [86785, 0, " "], [86786, 0, "o"], [86787, 0, "p"], [86788, 0, "e"], [86789, 0, "r"], [86790, 0, "a"], [86791, 0, "t"], [86792, 0, "i"], [86793, 0, "o"], [86794, 0, "n"], [86795, 0, " "], [86796, 0, "a"], [86797, 0, "l"], [86798, 0, "w"], [86799, 0, "a"], [86800, 0, "y"], [86801, 0, "s"], [86802, 0, " "], [86803, 0, "i"], [86804, 0, "n"], [86805, 0, "s"], [86806, 0, "e"], [86807, 0, "r"], [86808, 0, "t"], [86809, 0, "s"], [86810, 0, " "], [86811, 0, "a"], [86812, 0, "t"], [86813, 0, " "], [86814, 0, "a"], [86815, 0, " "], [86816, 0, "p"], [86817, 0, "o"], [86818, 0, "s"], [86819, 0, "i"], [86820, 0, "t"], [86821, 0, "i"], [86822, 0, "o"], [86823, 0, "n"], [86824, 0, " "], [86825, 0, "a"], [86826, 0, "f"], [86827, 0, "t"], [86828, 0, "e"], [86829, 0, "r"], [86830, 0, " "], [86831, 0, "t"], [86832, 0, "h"], [86833, 0, "e"], [86834, 0, " "], [86835, 0, "c"], [86836, 0, "u"], [86837, 0, "r"], [86838, 0, "s"], [86839, 0, "o"], [86840, 0, "r"], [86722, 0, " "], [86723, 0, "$"], [86724, 0, "o"], [86725, 0, "_"], [86726, 0, "\\"], [86727, 0, "m"], [86728, 0, "a"], [86729, 0, "t"], [86730, 0, "h"], [86731, 0, "r"], [86732, 0, "m"], [86733, 0, "{"], [86734, 0, "f"], [86735, 0, "i"], [86736, 0, "r"], [86737, 0, "s"], [86738, 0, "t"], [86739, 0, "}"], [86740, 0, "$"], [86784, 1], [86785, 0, "("], [86860, 0, ")"], [86873, 0, "a"], [86874, 0, "l"], [86875, 0, "l"], [86876, 0, " "], [86877, 0, "o"], [86878, 0, "f"], [86879, 0, " "], [86880, 0, "t"], [86881, 0, "h"], [86882, 0, "e"], [86883, 0, " "], [86884, 0, "o"], [86885, 0, "p"], [86886, 0, "e"], [86887, 0, "r"], [86888, 0, "a"], [86889, 0, "t"], [86890, 0, "i"], [86891, 0, "o"], [86892, 0, "n"], [86893, 0, "s"], [86894, 0, " "], [86895, 0, "i"], [86896, 0, "n"], [86897, 0, " "], [86898, 0, "t"], [86899, 0, "h"], [86900, 0, "i"], [86901, 0, "s"], [86902, 0, " "], [86903, 0, "c"], [86904, 0, "h"], [86905, 0, "a"], [86906, 0, "i"], [86907, 0, "n"], [86908, 0, " "], [86909, 0, "a"], [86910, 0, "r"], [86911, 0, "e"], [86912, 0, " "], [86913, 0, "c"], [86914, 0, "a"], [86915, 0, "u"], [86916, 0, "s"], [86917, 0, "a"], [86918, 0, "l"], [86919, 0, "l"], [86920, 0, "y"], [86921, 0, " "], [86922, 0, "d"], [86923, 0, "e"], [86924, 0, "p"], [86925, 0, "e"], [86926, 0, "n"], [86927, 0, "d"], [86928, 0, "e"], [86929, 0, "n"], [86930, 0, "t"], [86931, 0, " "], [86932, 0, "o"], [86933, 0, "n"], [86934, 0, " "], [86862, 1], [86862, 0, "\n"], [86863, 0, "\n"], [86936, 0, "$"], [86937, 0, "o"], [86938, 0, "_"], [86939, 0, "\\"], [86940, 0, "m"], [86941, 0, "a"], [86942, 0, "t"], [86943, 0, "h"], [86944, 0, "r"], [86945, 0, "m"], [86946, 0, "{"], [86947, 0, "f"], [86948, 0, "i"], [86949, 0, "r"], [86950, 0, "s"], [86951, 0, "t"], [86952, 0, "}"], [86953, 0, "$"], [86954, 0, ","], [86955, 0, " "], [86956, 0, "a"], [86957, 0, "n"], [86958, 0, "d"], [86959, 0, " "], [86960, 0, "s"], [86961, 0, "o"], [86962, 0, " "], [86963, 0, "t"], [86964, 0, "h"], [86965, 0, "e"], [86966, 0, "y"], [86967, 0, " "], [86968, 0, "m"], [86969, 0, "u"], [86970, 0, "s"], [86971, 0, "t"], [86972, 0, " "], [86973, 0, "h"], [86974, 0, "a"], [86975, 0, "v"], [86976, 0, "e"], [86977, 0, " "], [86978, 0, "a"], [86979, 0, "n"], [86980, 0, " "], [86981, 0, "o"], [86982, 0, "p"], [86983, 0, "e"], [86984, 0, "r"], [86984, 1], [86983, 1], [86982, 1], [86981, 1], [86980, 1], [86979, 1], [86979, 0, " "], [86980, 0, "L"], [86981, 0, "a"], [86982, 0, "m"], [86983, 0, "p"], [86984, 0, "o"], [86985, 0, "r"], [86986, 0, "t"], [86987, 0, " "], [86988, 0, "t"], [86989, 0, "i"], [86990, 0, "m"], [86991, 0, "e"], [86992, 0, "s"], [86993, 0, "t"], [86994, 0, "a"], [86995, 0, "m"], [86996, 0, "p"], [86997, 0, " "], [86998, 0, "g"], [86999, 0, "r"], [87000, 0, "e"], [87001, 0, "a"], [87002, 0, "t"], [87003, 0, "e"], [87004, 0, "r"], [87005, 0, " "], [87006, 0, "t"], [87007, 0, "h"], [87008, 0, "a"], [87009, 0, "n"], [87010, 0, " "], [87011, 0, "$"], [87012, 0, "o"], [87013, 0, "_"], [87014, 0, "\\"], [87015, 0, "m"], [87016, 0, "a"], [87017, 0, "t"], [87018, 0, "h"], [87019, 0, "r"], [87020, 0, "m"], [87021, 0, "{"], [87022, 0, "f"], [87023, 0, "i"], [87024, 0, "r"], [87025, 0, "s"], [87026, 0, "t"], [87027, 0, "}"], [87028, 0, "$"], [87029, 0, "."], [87030, 0, " "], [87031, 0, "T"], [87032, 0, "h"], [87033, 0, "u"], [87034, 0, "s"], [87035, 0, ","], [87036, 0, " "], [87037, 0, "w"], [87038, 0, "e"], [87039, 0, " "], [87040, 0, "c"], [87041, 0, "a"], [87042, 0, "n"], [87043, 0, " "], [87044, 0, "a"], [87045, 0, "p"], [87046, 0, "p"], [87047, 0, "l"], [87048, 0, "y"], [87049, 0, " "], [87050, 0, "t"], [87051, 0, "h"], [87052, 0, "e"], [87053, 0, " "], [87054, 0, "s"], [87055, 0, "a"], [87056, 0, "m"], [87057, 0, "e"], [87058, 0, " "], [87059, 0, "a"], [87060, 0, "r"], [87061, 0, "g"], [87062, 0, "u"], [87063, 0, "m"], [87064, 0, "e"], [87065, 0, "n"], [87066, 0, "t"], [87067, 0, " "], [87068, 0, "a"], [87069, 0, "s"], [87070, 0, " "], [87071, 0, "i"], [87072, 0, "n"], [87073, 0, " "], [87074, 0, "L"], [87075, 0, "e"], [87076, 0, "m"], [87077, 0, "m"], [87078, 0, "a"], [87079, 0, "~"], [87080, 0, "\\"], [87081, 0, "r"], [87082, 0, "e"], [87083, 0, "f"], [87084, 0, "{"], [87085, 0, "l"], [87086, 0, "e"], [87087, 0, "m"], [87088, 0, ":"], [87089, 0, "i"], [87090, 0, "n"], [87091, 0, "s"], [87092, 0, "e"], [87093, 0, "r"], [87094, 0, "t"], [87095, 0, "-"], [87096, 0, "c"], [87097, 0, "o"], [87098, 0, "n"], [87099, 0, "f"], [87100, 0, "l"], [87101, 0, "i"], [87102, 0, "c"], [87103, 0, "t"], [87104, 0, "}"], [87105, 0, "f"], [87105, 1], [87105, 0, ":"], [87106, 0, " "], [87107, 0, "i"], [87108, 0, "f"], [87109, 0, " "], [87110, 0, "$"], [87111, 0, "\\"], [87112, 0, "t"], [87113, 0, "e"], [87114, 0, "x"], [87115, 0, "t"], [87116, 0, "s"], [87117, 0, "c"], [87118, 0, "{"], [87119, 0, "I"], [87120, 0, "n"], [87121, 0, "s"], [87122, 0, "e"], [87123, 0, "r"], [87124, 0, "t"], [87125, 0, "}"], [87126, 0, "_"], [87127, 0, "2"], [87128, 0, "$"], [87129, 0, " "], [87130, 0, "s"], [87131, 0, "k"], [87132, 0, "i"], [87133, 0, "p"], [87134, 0, "s"], [87135, 0, " "], [87136, 0, "o"], [87137, 0, "v"], [87138, 0, "e"], [87139, 0, "r"], [87140, 0, " "], [87141, 0, "t"], [87142, 0, "h"], [87143, 0, "e"], [87144, 0, " "], [87145, 0, "l"], [87146, 0, "i"], [87147, 0, "s"], [87148, 0, "t"], [87149, 0, " "], [87150, 0, "e"], [87151, 0, "l"], [87152, 0, "e"], [87153, 0, "m"], [87154, 0, "e"], [87155, 0, "n"], [87156, 0, "t"], [87157, 0, " "], [87158, 0, "i"], [87159, 0, "n"], [87160, 0, "s"], [87161, 0, "e"], [87162, 0, "r"], [87163, 0, "t"], [87164, 0, "e"], [87165, 0, "d"], [87166, 0, " "], [87167, 0, "b"], [87168, 0, "y"], [87169, 0, " "], [87170, 0, "$"], [87171, 0, "o"], [87172, 0, "_"], [87173, 0, "\\"], [87174, 0, "m"], [87175, 0, "a"], [87176, 0, "t"], [87177, 0, "h"], [87178, 0, "r"], [87179, 0, "m"], [87180, 0, "{"], [87181, 0, "f"], [87182, 0, "i"], [87183, 0, "r"], [87184, 0, "s"], [87185, 0, "t"], [87186, 0, "}"], [87187, 0, "$"], [87188, 0, ","], [87189, 0, " "], [87190, 0, "i"], [87191, 0, "t"], [87192, 0, " "], [87193, 0, "w"], [87194, 0, "i"], [87195, 0, "l"], [87196, 0, "l"], [87197, 0, " "], [87198, 0, "a"], [87199, 0, "l"], [87200, 0, "s"], [87201, 0, "o"], [87202, 0, " "], [87203, 0, "s"], [87204, 0, "k"], [87205, 0, "i"], [87206, 0, "p"], [87207, 0, " "], [87208, 0, "o"], [87209, 0, "v"], [87210, 0, "e"], [87211, 0, "r"], [87212, 0, " "], [87213, 0, "a"], [87214, 0, "l"], [87215, 0, "l"], [87216, 0, " "], [87217, 0, "o"], [87218, 0, "f"], [87219, 0, " "], [87220, 0, "t"], [87221, 0, "h"], [87222, 0, "e"], [87223, 0, " "], [87224, 0, "l"], [87225, 0, "i"], [87226, 0, "s"], [87227, 0, "t"], [87228, 0, " "], [87229, 0, "e"], [87230, 0, "l"], [87231, 0, "e"], [87232, 0, "m"], [87233, 0, "e"], [87234, 0, "n"], [87235, 0, "t"], [87236, 0, "s"], [87237, 0, " "], [87238, 0, "t"], [87239, 0, "h"], [87240, 0, "a"], [87241, 0, "t"], [87242, 0, " "], [87243, 0, "a"], [87244, 0, "r"], [87245, 0, "e"], [87246, 0, " "], [87247, 0, "c"], [87248, 0, "a"], [87249, 0, "u"], [87250, 0, "s"], [87251, 0, "a"], [87252, 0, "l"], [87253, 0, "l"], [87254, 0, "y"], [87255, 0, " "], [87256, 0, "d"], [87257, 0, "e"], [87258, 0, "p"], [87259, 0, "e"], [87260, 0, "n"], [87261, 0, "d"], [87262, 0, "e"], [87263, 0, "n"], [87264, 0, "t"], [87265, 0, " "], [87266, 0, "o"], [87267, 0, "n"], [87268, 0, " "], [87269, 0, "i"], [87270, 0, "t"], [87270, 1], [87269, 1], [87269, 0, "$"], [87270, 0, "o"], [87271, 0, "_"], [87272, 0, "\\"], [87273, 0, "m"], [87274, 0, "a"], [87275, 0, "t"], [87275, 1], [87274, 1], [87273, 1], [87272, 1], [87271, 1], [87270, 1], [87269, 1], [87269, 0, "i"], [87270, 0, "t"], [87271, 0, ";"], [87272, 0, " "], [87273, 0, "i"], [87274, 0, "f"], [87275, 0, " "], [87276, 0, "$"], [87277, 0, "\\"], [87278, 0, "t"], [87279, 0, "e"], [87280, 0, "x"], [87281, 0, "t"], [87282, 0, "s"], [87283, 0, "c"], [87284, 0, "{"], [87285, 0, "I"], [87286, 0, "n"], [87287, 0, "s"], [87288, 0, "e"], [87289, 0, "r"], [87290, 0, "t"], [87291, 0, "}"], [87292, 0, "_"], [87293, 0, "1"], [87294, 0, "$"], [87295, 0, " "], [87296, 0, "i"], [87297, 0, "n"], [87298, 0, "s"], [87299, 0, "e"], [87300, 0, "r"], [87301, 0, "t"], [87302, 0, "s"], [87303, 0, " "], [87304, 0, "a"], [87305, 0, " "], [87306, 0, "n"], [87307, 0, "e"], [87308, 0, "w"], [87309, 0, " "], [87310, 0, "e"], [87311, 0, "l"], [87312, 0, "e"], [87313, 0, "m"], [87314, 0, "e"], [87315, 0, "n"], [87316, 0, "t"], [87317, 0, " "], [87318, 0, "b"], [87319, 0, "e"], [87320, 0, "f"], [87321, 0, "o"], [87322, 0, "r"], [87323, 0, "e"], [87324, 0, " "], [87325, 0, "$"], [87326, 0, "o"], [87327, 0, "_"], [87328, 0, "\\"], [87329, 0, "m"], [87330, 0, "a"], [87331, 0, "t"], [87332, 0, "h"], [87333, 0, "r"], [87334, 0, "m"], [87335, 0, "{"], [87336, 0, "f"], [87337, 0, "i"], [87338, 0, "r"], [87339, 0, "s"], [87340, 0, "t"], [87341, 0, "}"], [87342, 0, "$"], [87343, 0, ","], [87344, 0, " "], [87345, 0, "i"], [87346, 0, "t"], [87347, 0, " "], [87348, 0, "i"], [87349, 0, "s"], [87350, 0, " "], [87351, 0, "a"], [87352, 0, "l"], [87353, 0, "s"], [87354, 0, "o"], [87355, 0, " "], [87356, 0, "i"], [87357, 0, "n"], [87358, 0, "s"], [87359, 0, "e"], [87360, 0, "r"], [87361, 0, "t"], [87362, 0, "e"], [87363, 0, "d"], [87364, 0, " "], [87365, 0, "b"], [87366, 0, "e"], [87367, 0, "f"], [87368, 0, "o"], [87369, 0, "r"], [87370, 0, "e"], [87371, 0, " "], [87372, 0, "t"], [87373, 0, "h"], [87374, 0, "e"], [87375, 0, " "], [87376, 0, "c"], [87377, 0, "h"], [87378, 0, "a"], [87379, 0, "i"], [87380, 0, "n"], [87381, 0, " "], [87382, 0, "o"], [87383, 0, "f"], [87384, 0, " "], [87385, 0, "o"], [87386, 0, "p"], [87387, 0, "e"], [87388, 0, "r"], [87389, 0, "a"], [87390, 0, "t"], [87391, 0, "i"], [87392, 0, "o"], [87393, 0, "n"], [87394, 0, "s"], [87395, 0, " "], [87396, 0, "t"], [87397, 0, "h"], [87398, 0, "a"], [87399, 0, "t"], [87400, 0, " "], [87401, 0, "i"], [87402, 0, "s"], [87403, 0, " "], [87404, 0, "b"], [87405, 0, "a"], [87406, 0, "s"], [87407, 0, "e"], [87408, 0, "d"], [87409, 0, " "], [87410, 0, "o"], [87411, 0, "n"], [87412, 0, " "], [87413, 0, "i"], [87414, 0, "t"], [87415, 0, "."], [87418, 0, " "], [87418, 0, "T"], [87419, 0, "h"], [87420, 0, "e"], [87421, 0, "r"], [87422, 0, "e"], [87423, 0, "f"], [87424, 0, "o"], [87425, 0, "r"], [87426, 0, "e"], [87427, 0, ","], [87428, 0, " "], [87429, 0, "t"], [87430, 0, "h"], [87431, 0, "e"], [87432, 0, " "], [87433, 0, "o"], [87434, 0, "r"], [87435, 0, "d"], [87436, 0, "e"], [87437, 0, "r"], [87438, 0, " "], [87439, 0, "o"], [87440, 0, "f"], [87441, 0, " "], [87442, 0, "$"], [87443, 0, "o"], [87444, 0, "_"], [87445, 0, "r"], [87446, 0, " "], [87446, 1], [87446, 0, "$"], [87447, 0, " "], [87448, 0, "a"], [87449, 0, "n"], [87450, 0, "d"], [87451, 0, " "], [87452, 0, "$"], [87453, 0, "o"], [87454, 0, "_"], [87455, 0, "s"], [87456, 0, "$"], [87457, 0, " "], [87458, 0, "i"], [87459, 0, "n"], [87460, 0, " "], [87461, 0, "t"], [87462, 0, "h"], [87463, 0, "e"], [87464, 0, " "], [87465, 0, "f"], [87466, 0, "i"], [87467, 0, "n"], [87468, 0, "a"], [87469, 0, "l"], [87470, 0, " "], [87471, 0, "l"], [87472, 0, "i"], [87473, 0, "s"], [87474, 0, "t"], [87475, 0, " "], [87476, 0, "d"], [87477, 0, "e"], [87478, 0, "p"], [87479, 0, "e"], [87480, 0, "n"], [87481, 0, "d"], [87482, 0, "s"], [87483, 0, " "], [87484, 0, "o"], [87485, 0, "n"], [87486, 0, " "], [87487, 0, "t"], [87488, 0, "h"], [87489, 0, "e"], [87490, 0, " "], [87491, 0, "L"], [87492, 0, "a"], [87493, 0, "m"], [87494, 0, "p"], [87495, 0, "o"], [87496, 0, "r"], [87497, 0, "t"], [87498, 0, " "], [87499, 0, "t"], [87500, 0, "i"], [87501, 0, "m"], [87502, 0, "e"], [87503, 0, "s"], [87504, 0, "t"], [87505, 0, "a"], [87506, 0, "m"], [87507, 0, "p"], [87508, 0, " "], [87509, 0, "o"], [87510, 0, "f"], [87511, 0, " "], [87512, 0, "t"], [87513, 0, "h"], [87514, 0, "e"], [87515, 0, " "], [87516, 0, "f"], [87517, 0, "i"], [87518, 0, "r"], [87519, 0, "s"], [87520, 0, "t"], [87521, 0, " "], [87522, 0, "o"], [87523, 0, "p"], [87524, 0, "e"], [87525, 0, "r"], [87526, 0, "a"], [87527, 0, "t"], [87528, 0, "i"], [87529, 0, "o"], [87530, 0, "n"], [87531, 0, " "], [87532, 0, "t"], [87533, 0, "h"], [87534, 0, "a"], [87535, 0, "t"], [87536, 0, " "], [87536, 1], [87535, 1], [87534, 1], [87533, 1], [87532, 1], [87531, 1], [87530, 1], [87529, 1], [87528, 1], [87527, 1], [87526, 1], [87525, 1], [87524, 1], [87523, 1], [87522, 1], [87522, 0, "i"], [87523, 0, "n"], [87524, 0, "s"], [87525, 0, "e"], [87526, 0, "r"], [87527, 0, "t"], [87528, 0, "i"], [87529, 0, "o"], [87530, 0, "n"], [87531, 0, " "], [87508, 0, "s"], [87532, 0, "s"], [87533, 0, " "], [87485, 1], [87484, 1], [87483, 1], [87482, 1], [87481, 1], [87480, 1], [87479, 1], [87478, 1], [87477, 1], [87476, 1], [87476, 0, "i"], [87477, 0, "s"], [87478, 0, " "], [87479, 0, "d"], [87480, 0, "e"], [87481, 0, "t"], [87482, 0, "e"], [87483, 0, "r"], [87484, 0, "m"], [87485, 0, "i"], [87486, 0, "n"], [87487, 0, "e"], [87488, 0, "d"], [87489, 0, " "], [87490, 0, "b"], [87491, 0, "y"], [87540, 0, "i"], [87541, 0, "n"], [87542, 0, "t"], [87543, 0, "o"], [87544, 0, " "], [87545, 0, "t"], [87546, 0, "h"], [87547, 0, "e"], [87548, 0, " "], [87549, 0, "i"], [87550, 0, "n"], [87551, 0, "s"], [87552, 0, "e"], [87553, 0, "r"], [87554, 0, "t"], [87555, 0, "i"], [87556, 0, "o"], [87557, 0, "n"], [87558, 0, " "], [87559, 0, "i"], [87560, 0, "n"], [87561, 0, "t"], [87562, 0, "e"], [87563, 0, "r"], [87564, 0, "v"], [87565, 0, "a"], [87566, 0, "l"], [87567, 0, " "], [87568, 0, "a"], [87569, 0, "f"], [87570, 0, "t"], [87571, 0, "e"], [87572, 0, "r"], [87573, 0, " "], [87574, 0, "t"], [87575, 0, "h"], [87576, 0, "e"], [87577, 0, " "], [87578, 0, "c"], [87579, 0, "o"], [87580, 0, "m"], [87581, 0, "m"], [87582, 0, "o"], [87583, 0, "n"], [87584, 0, " "], [87585, 0, "a"], [87586, 0, "n"], [87587, 0, "c"], [87588, 0, "e"], [87589, 0, "s"], [87590, 0, "t"], [87591, 0, "o"], [87592, 0, "r"], [87577, 0, "i"], [87578, 0, "r"], [87595, 1], [87595, 0, ","], [87596, 0, " "], [87597, 0, "i"], [87598, 0, "n"], [87599, 0, " "], [87600, 0, "t"], [87601, 0, "h"], [87602, 0, "e"], [87603, 0, " "], [87604, 0, "c"], [87605, 0, "h"], [87606, 0, "a"], [87607, 0, "i"], [87608, 0, "n"], [87609, 0, " "], [87610, 0, "o"], [87611, 0, "f"], [87612, 0, " "], [87613, 0, "c"], [87614, 0, "u"], [87615, 0, "r"], [87616, 0, "s"], [87617, 0, "o"], [87618, 0, "r"], [87619, 0, " "], [87620, 0, "r"], [87621, 0, "e"], [87622, 0, "v"], [87622, 1], [87622, 0, "f"], [87623, 0, "e"], [87624, 0, "r"], [87625, 0, "e"], [87626, 0, "n"], [87627, 0, "c"], [87628, 0, "e"], [87629, 0, "s"], [87630, 0, " "], [87631, 0, "o"], [87632, 0, "f"], [87633, 0, " "], [87609, 0, "s"], [87635, 0, "t"], [87636, 0, "h"], [87637, 0, "e"], [87638, 0, " "], [87639, 0, "t"], [87640, 0, "w"], [87641, 0, "o"], [87642, 0, " "], [87643, 0, "o"], [87644, 0, "p"], [87645, 0, "e"], [87646, 0, "r"], [87647, 0, "a"], [87648, 0, "t"], [87649, 0, "i"], [87650, 0, "o"], [87651, 0, "n"], [87652, 0, "s"], [87653, 0, "."], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [88017, 1], [97428, 1], [97427, 1], [97426, 1], [97425, 1], [97424, 1], [97423, 1], [97422, 1], [97421, 1], [97420, 1], [97419, 1], [97418, 1], [97417, 1], [97416, 1], [97415, 1], [97414, 1], [97413, 1], [97412, 1], [97411, 1], [97410, 1], [97409, 1], [97408, 1], [97407, 1], [97406, 1], [97405, 1], [97404, 1], [97403, 1], [97402, 1], [97401, 1], [97400, 1], [97399, 1], [97398, 1], [97397, 1], [97396, 1], [97395, 1], [97394, 1], [97393, 1], [97392, 1], [97391, 1], [97390, 1], [97389, 1], [97388, 1], [97387, 1], [97386, 1], [97385, 1], [97384, 1], [97383, 1], [97382, 1], [97381, 1], [97380, 1], [97379, 1], [97378, 1], [97377, 1], [97376, 1], [97375, 1], [97374, 1], [97373, 1], [97372, 1], [97371, 1], [97370, 1], [97369, 1], [97368, 1], [97367, 1], [97366, 1], [97365, 1], [97364, 1], [97363, 1], [97362, 1], [97361, 1], [97360, 1], [97359, 1], [97358, 1], [97357, 1], [97356, 1], [97355, 1], [97354, 1], [97353, 1], [97352, 1], [97351, 1], [97350, 1], [97349, 1], [97348, 1], [97347, 1], [97346, 1], [97345, 1], [97344, 1], [97343, 1], [97342, 1], [97341, 1], [97340, 1], [97339, 1], [97338, 1], [97337, 1], [97336, 1], [97335, 1], [97334, 1], [97333, 1], [97332, 1], [97331, 1], [97330, 1], [97329, 1], [97328, 1], [97327, 1], [97326, 1], [97325, 1], [97324, 1], [97323, 1], [97322, 1], [97321, 1], [97320, 1], [97319, 1], [97318, 1], [97317, 1], [97316, 1], [97315, 1], [97314, 1], [97313, 1], [97312, 1], [97311, 1], [97310, 1], [97309, 1], [97308, 1], [97307, 1], [97306, 1], [97305, 1], [97304, 1], [97303, 1], [97302, 1], [97301, 1], [97300, 1], [97299, 1], [97298, 1], [97297, 1], [97296, 1], [97295, 1], [97294, 1], [97293, 1], [97292, 1], [97291, 1], [97290, 1], [97289, 1], [97288, 1], [97287, 1], [97286, 1], [97285, 1], [97284, 1], [97283, 1], [97282, 1], [97281, 1], [97280, 1], [97279, 1], [97278, 1], [97277, 1], [97276, 1], [97275, 1], [97274, 1], [97273, 1], [97272, 1], [97271, 1], [97270, 1], [97269, 1], [97268, 1], [97267, 1], [97266, 1], [97265, 1], [97264, 1], [97263, 1], [97262, 1], [97261, 1], [97260, 1], [97259, 1], [97258, 1], [97257, 1], [97256, 1], [97255, 1], [97254, 1], [97253, 1], [97252, 1], [97251, 1], [97250, 1], [97249, 1], [97248, 1], [97247, 1], [97246, 1], [97245, 1], [97244, 1], [97243, 1], [97242, 1], [97241, 1], [97240, 1], [97239, 1], [97238, 1], [97237, 1], [97236, 1], [97235, 1], [97234, 1], [97233, 1], [97232, 1], [97231, 1], [97230, 1], [97229, 1], [97228, 1], [97227, 1], [97226, 1], [97225, 1], [97224, 1], [97223, 1], [97222, 1], [97221, 1], [97220, 1], [97219, 1], [97218, 1], [97217, 1], [97216, 1], [97215, 1], [97214, 1], [97213, 1], [97212, 1], [97211, 1], [97210, 1], [97209, 1], [97208, 1], [97207, 1], [97206, 1], [97205, 1], [97204, 1], [97203, 1], [97202, 1], [97201, 1], [97200, 1], [97199, 1], [97198, 1], [97197, 1], [97196, 1], [97195, 1], [97194, 1], [97193, 1], [97192, 1], [97191, 1], [97190, 1], [97189, 1], [97188, 1], [97187, 1], [97186, 1], [97185, 1], [97184, 1], [97183, 1], [97182, 1], [97181, 1], [97180, 1], [97179, 1], [97178, 1], [97177, 1], [97176, 1], [97175, 1], [97174, 1], [97173, 1], [97172, 1], [97171, 1], [97170, 1], [97169, 1], [97168, 1], [97167, 1], [97166, 1], [97165, 1], [97164, 1], [97163, 1], [97162, 1], [97161, 1], [97160, 1], [97159, 1], [97158, 1], [97157, 1], [97156, 1], [97155, 1], [97154, 1], [97153, 1], [97152, 1], [97151, 1], [97150, 1], [97149, 1], [97148, 1], [97147, 1], [97146, 1], [97145, 1], [97144, 1], [97143, 1], [97142, 1], [97141, 1], [97140, 1], [97139, 1], [97138, 1], [97137, 1], [97136, 1], [97135, 1], [97134, 1], [97133, 1], [97132, 1], [97131, 1], [97130, 1], [97129, 1], [97128, 1], [97127, 1], [97126, 1], [97125, 1], [97124, 1], [97123, 1], [97122, 1], [97121, 1], [97120, 1], [97119, 1], [97118, 1], [97117, 1], [97116, 1], [97115, 1], [97114, 1], [97113, 1], [97112, 1], [97111, 1], [97110, 1], [97109, 1], [97108, 1], [97107, 1], [97106, 1], [97105, 1], [97104, 1], [97103, 1], [97102, 1], [97101, 1], [97100, 1], [97099, 1], [97098, 1], [97097, 1], [97096, 1], [97095, 1], [97094, 1], [97093, 1], [97092, 1], [97091, 1], [97090, 1], [97089, 1], [97088, 1], [97087, 1], [97086, 1], [97085, 1], [97084, 1], [97083, 1], [97082, 1], [97081, 1], [97080, 1], [97079, 1], [97078, 1], [97077, 1], [97076, 1], [97075, 1], [97074, 1], [97073, 1], [97072, 1], [97071, 1], [97070, 1], [97069, 1], [97068, 1], [97067, 1], [97066, 1], [97065, 1], [97064, 1], [97063, 1], [97062, 1], [97061, 1], [97060, 1], [97059, 1], [97058, 1], [97057, 1], [97056, 1], [97055, 1], [97054, 1], [97053, 1], [97052, 1], [97051, 1], [97050, 1], [97049, 1], [97048, 1], [97047, 1], [97046, 1], [97045, 1], [97044, 1], [97043, 1], [97042, 1], [97041, 1], [97040, 1], [97039, 1], [97038, 1], [97037, 1], [97036, 1], [97035, 1], [97034, 1], [97033, 1], [97032, 1], [97031, 1], [97030, 1], [97029, 1], [97028, 1], [97027, 1], [97026, 1], [97025, 1], [97024, 1], [97023, 1], [97022, 1], [97021, 1], [97020, 1], [97019, 1], [97018, 1], [97017, 1], [97016, 1], [97015, 1], [97014, 1], [97013, 1], [97012, 1], [97011, 1], [97010, 1], [97009, 1], [97008, 1], [97007, 1], [97006, 1], [97005, 1], [97004, 1], [97003, 1], [97002, 1], [97001, 1], [97000, 1], [96999, 1], [96998, 1], [96997, 1], [96996, 1], [96995, 1], [96994, 1], [96993, 1], [96992, 1], [96991, 1], [96990, 1], [96989, 1], [96988, 1], [96987, 1], [96986, 1], [96985, 1], [96984, 1], [96983, 1], [96982, 1], [96981, 1], [96980, 1], [96979, 1], [96978, 1], [96977, 1], [96976, 1], [96975, 1], [96974, 1], [96973, 1], [96972, 1], [96971, 1], [96970, 1], [96969, 1], [96968, 1], [96967, 1], [96966, 1], [96965, 1], [96964, 1], [96963, 1], [96962, 1], [96961, 1], [96960, 1], [96959, 1], [96958, 1], [96957, 1], [96956, 1], [96955, 1], [96954, 1], [96953, 1], [96952, 1], [96951, 1], [96950, 1], [96949, 1], [96948, 1], [96947, 1], [96946, 1], [96945, 1], [96944, 1], [96943, 1], [96942, 1], [96941, 1], [96940, 1], [96939, 1], [96938, 1], [96937, 1], [96936, 1], [96935, 1], [96934, 1], [96933, 1], [96932, 1], [96931, 1], [96930, 1], [96929, 1], [96928, 1], [96927, 1], [96926, 1], [96925, 1], [96924, 1], [96923, 1], [96922, 1], [96921, 1], [96920, 1], [96919, 1], [96918, 1], [96917, 1], [96916, 1], [96915, 1], [96914, 1], [96913, 1], [96912, 1], [96911, 1], [96910, 1], [96909, 1], [96908, 1], [96907, 1], [96906, 1], [96905, 1], [96904, 1], [96903, 1], [96902, 1], [96901, 1], [96900, 1], [96899, 1], [96898, 1], [96897, 1], [96896, 1], [96895, 1], [96894, 1], [96893, 1], [96892, 1], [96891, 1], [96890, 1], [96889, 1], [96888, 1], [96887, 1], [96886, 1], [96885, 1], [96884, 1], [96883, 1], [96882, 1], [96881, 1], [96880, 1], [96879, 1], [96878, 1], [96877, 1], [96876, 1], [96875, 1], [96874, 1], [96873, 1], [96872, 1], [96871, 1], [96870, 1], [96869, 1], [96868, 1], [96867, 1], [96866, 1], [96865, 1], [96864, 1], [96863, 1], [96862, 1], [96861, 1], [96860, 1], [96859, 1], [96858, 1], [96857, 1], [96856, 1], [96855, 1], [96854, 1], [96853, 1], [96852, 1], [96851, 1], [96850, 1], [96849, 1], [96848, 1], [96847, 1], [96846, 1], [96845, 1], [96844, 1], [96843, 1], [96842, 1], [96841, 1], [96840, 1], [96839, 1], [96838, 1], [96837, 1], [96836, 1], [96835, 1], [96834, 1], [96833, 1], [96832, 1], [96831, 1], [96830, 1], [96829, 1], [96828, 1], [96827, 1], [96826, 1], [96825, 1], [96824, 1], [96823, 1], [96822, 1], [96821, 1], [96820, 1], [96819, 1], [96818, 1], [96817, 1], [96816, 1], [96815, 1], [96814, 1], [96813, 1], [96812, 1], [96811, 1], [96810, 1], [96809, 1], [96808, 1], [96807, 1], [96806, 1], [96805, 1], [96804, 1], [96803, 1], [96802, 1], [96801, 1], [96800, 1], [96799, 1], [96798, 1], [96797, 1], [96796, 1], [96795, 1], [96794, 1], [96793, 1], [96792, 1], [96791, 1], [96790, 1], [96789, 1], [96788, 1], [96787, 1], [96786, 1], [96785, 1], [96784, 1], [96783, 1], [96782, 1], [96781, 1], [96780, 1], [96779, 1], [96778, 1], [96777, 1], [96776, 1], [96775, 1], [96774, 1], [96773, 1], [96772, 1], [96771, 1], [96770, 1], [96769, 1], [96768, 1], [96767, 1], [96766, 1], [96765, 1], [96764, 1], [96763, 1], [96762, 1], [96761, 1], [96760, 1], [96759, 1], [96758, 1], [96757, 1], [96756, 1], [96755, 1], [96754, 1], [96753, 1], [96752, 1], [96751, 1], [96750, 1], [96749, 1], [96748, 1], [96747, 1], [96746, 1], [96745, 1], [96744, 1], [96743, 1], [96742, 1], [96741, 1], [96740, 1], [96739, 1], [96738, 1], [96737, 1], [96736, 1], [96735, 1], [96734, 1], [96733, 1], [96732, 1], [96731, 1], [96730, 1], [96729, 1], [96728, 1], [96727, 1], [96726, 1], [96725, 1], [96724, 1], [96723, 1], [96722, 1], [96721, 1], [96720, 1], [96719, 1], [96718, 1], [96717, 1], [96716, 1], [96715, 1], [96714, 1], [96713, 1], [96712, 1], [96711, 1], [96710, 1], [96709, 1], [96708, 1], [96707, 1], [96706, 1], [96705, 1], [96704, 1], [96703, 1], [96702, 1], [96701, 1], [96700, 1], [96699, 1], [96698, 1], [96697, 1], [96696, 1], [96695, 1], [96694, 1], [96693, 1], [96692, 1], [96691, 1], [96690, 1], [96689, 1], [96688, 1], [96687, 1], [96686, 1], [96685, 1], [96684, 1], [96683, 1], [96682, 1], [96681, 1], [96680, 1], [96679, 1], [96678, 1], [96677, 1], [96676, 1], [96675, 1], [96674, 1], [96673, 1], [96672, 1], [96671, 1], [96670, 1], [96669, 1], [96668, 1], [96667, 1], [96666, 1], [96665, 1], [96664, 1], [96663, 1], [96662, 1], [96661, 1], [96660, 1], [96659, 1], [96658, 1], [96657, 1], [96656, 1], [96655, 1], [96654, 1], [96653, 1], [96652, 1], [96651, 1], [96650, 1], [96649, 1], [96648, 1], [96647, 1], [96646, 1], [96645, 1], [96644, 1], [96643, 1], [96642, 1], [96641, 1], [96640, 1], [96639, 1], [96638, 1], [96637, 1], [96636, 1], [96635, 1], [96634, 1], [96633, 1], [96632, 1], [96631, 1], [96630, 1], [96629, 1], [96628, 1], [96627, 1], [96626, 1], [96625, 1], [96624, 1], [96623, 1], [96622, 1], [96621, 1], [96620, 1], [96619, 1], [96618, 1], [96617, 1], [96616, 1], [96615, 1], [96614, 1], [96613, 1], [96612, 1], [96611, 1], [96610, 1], [96609, 1], [96608, 1], [96607, 1], [96606, 1], [96605, 1], [96604, 1], [96603, 1], [96602, 1], [96601, 1], [96600, 1], [96599, 1], [96598, 1], [96597, 1], [96596, 1], [96595, 1], [96594, 1], [96593, 1], [96592, 1], [96591, 1], [96590, 1], [96589, 1], [96588, 1], [96587, 1], [96586, 1], [96585, 1], [96584, 1], [96583, 1], [96582, 1], [96581, 1], [96580, 1], [96579, 1], [96578, 1], [96577, 1], [96576, 1], [96575, 1], [96574, 1], [96573, 1], [96572, 1], [96571, 1], [96570, 1], [96569, 1], [96568, 1], [96567, 1], [96566, 1], [96565, 1], [96564, 1], [96563, 1], [96562, 1], [96561, 1], [96560, 1], [96559, 1], [96558, 1], [96557, 1], [96556, 1], [96555, 1], [96554, 1], [96553, 1], [96552, 1], [96551, 1], [96550, 1], [96549, 1], [96548, 1], [96547, 1], [96546, 1], [96545, 1], [96544, 1], [96543, 1], [96542, 1], [96541, 1], [96540, 1], [96539, 1], [96538, 1], [96537, 1], [96536, 1], [96535, 1], [96534, 1], [96533, 1], [96532, 1], [96531, 1], [96530, 1], [96529, 1], [96528, 1], [96527, 1], [96526, 1], [96525, 1], [96524, 1], [96523, 1], [96522, 1], [96521, 1], [96520, 1], [96519, 1], [96518, 1], [96517, 1], [96516, 1], [96515, 1], [96514, 1], [96513, 1], [96512, 1], [96511, 1], [96510, 1], [96509, 1], [96508, 1], [96507, 1], [96506, 1], [96505, 1], [96504, 1], [96503, 1], [96502, 1], [96501, 1], [96500, 1], [96499, 1], [96498, 1], [96497, 1], [96496, 1], [96495, 1], [96494, 1], [96493, 1], [96492, 1], [96491, 1], [96490, 1], [96489, 1], [96488, 1], [96487, 1], [96486, 1], [96485, 1], [96484, 1], [96483, 1], [96482, 1], [96481, 1], [96480, 1], [96479, 1], [96478, 1], [96477, 1], [96476, 1], [96475, 1], [96474, 1], [96473, 1], [96472, 1], [96471, 1], [96470, 1], [96469, 1], [96468, 1], [96467, 1], [96466, 1], [96465, 1], [96464, 1], [96463, 1], [96462, 1], [96461, 1], [96460, 1], [96459, 1], [96458, 1], [96457, 1], [96456, 1], [96455, 1], [96454, 1], [96453, 1], [96452, 1], [96451, 1], [96450, 1], [96449, 1], [96448, 1], [96447, 1], [96446, 1], [96445, 1], [96444, 1], [96443, 1], [96442, 1], [96441, 1], [96440, 1], [96439, 1], [96438, 1], [96437, 1], [96436, 1], [96435, 1], [96434, 1], [96433, 1], [96432, 1], [96431, 1], [96430, 1], [96429, 1], [96428, 1], [96427, 1], [96426, 1], [96425, 1], [96424, 1], [96423, 1], [96422, 1], [96421, 1], [96420, 1], [96419, 1], [96418, 1], [96417, 1], [96416, 1], [96415, 1], [96414, 1], [96413, 1], [96412, 1], [96411, 1], [96410, 1], [96409, 1], [96408, 1], [96407, 1], [96406, 1], [96405, 1], [96404, 1], [96403, 1], [96402, 1], [96401, 1], [96400, 1], [96399, 1], [96398, 1], [96397, 1], [96396, 1], [96395, 1], [96394, 1], [96393, 1], [96392, 1], [96391, 1], [96390, 1], [96389, 1], [96388, 1], [96387, 1], [96386, 1], [96385, 1], [96384, 1], [96383, 1], [96382, 1], [96381, 1], [96380, 1], [96379, 1], [96378, 1], [96377, 1], [96376, 1], [96375, 1], [96374, 1], [96373, 1], [96372, 1], [96371, 1], [96370, 1], [96369, 1], [96368, 1], [96367, 1], [96366, 1], [96365, 1], [96364, 1], [96363, 1], [96362, 1], [96361, 1], [96360, 1], [96359, 1], [96358, 1], [96357, 1], [96356, 1], [96355, 1], [96354, 1], [96353, 1], [96352, 1], [96351, 1], [96350, 1], [96349, 1], [96348, 1], [96347, 1], [96346, 1], [96345, 1], [96344, 1], [96343, 1], [96342, 1], [96341, 1], [96340, 1], [96339, 1], [96338, 1], [96337, 1], [96336, 1], [96335, 1], [96334, 1], [96333, 1], [96332, 1], [96331, 1], [96330, 1], [96329, 1], [96328, 1], [96327, 1], [96326, 1], [96325, 1], [96324, 1], [96323, 1], [96322, 1], [96321, 1], [96320, 1], [96319, 1], [96318, 1], [96317, 1], [96316, 1], [96315, 1], [96314, 1], [96313, 1], [96312, 1], [96311, 1], [96310, 1], [96309, 1], [96308, 1], [96307, 1], [96306, 1], [96305, 1], [96304, 1], [96303, 1], [96302, 1], [96301, 1], [96300, 1], [96299, 1], [96298, 1], [96297, 1], [96296, 1], [96295, 1], [96294, 1], [96293, 1], [96292, 1], [96291, 1], [96290, 1], [96289, 1], [96288, 1], [96287, 1], [96286, 1], [96285, 1], [96284, 1], [96283, 1], [96282, 1], [96281, 1], [96280, 1], [96279, 1], [96278, 1], [96277, 1], [96276, 1], [96275, 1], [96274, 1], [96273, 1], [96272, 1], [96271, 1], [96270, 1], [96269, 1], [96268, 1], [96267, 1], [96266, 1], [96265, 1], [96264, 1], [96263, 1], [96262, 1], [96261, 1], [96260, 1], [96259, 1], [96258, 1], [96257, 1], [96256, 1], [96255, 1], [96254, 1], [96253, 1], [96252, 1], [96251, 1], [96250, 1], [96249, 1], [96248, 1], [96247, 1], [96246, 1], [96245, 1], [96244, 1], [96243, 1], [96242, 1], [96241, 1], [96240, 1], [96239, 1], [96238, 1], [96237, 1], [96236, 1], [96235, 1], [96234, 1], [96233, 1], [96232, 1], [96231, 1], [96230, 1], [96229, 1], [96228, 1], [96227, 1], [96226, 1], [96225, 1], [96224, 1], [96223, 1], [96222, 1], [96221, 1], [96220, 1], [96219, 1], [96218, 1], [96217, 1], [96216, 1], [96215, 1], [96214, 1], [96213, 1], [96212, 1], [96211, 1], [96210, 1], [96209, 1], [96208, 1], [96207, 1], [96206, 1], [96205, 1], [96204, 1], [96203, 1], [96202, 1], [96201, 1], [96200, 1], [96199, 1], [96198, 1], [96197, 1], [96196, 1], [96195, 1], [96194, 1], [96193, 1], [96192, 1], [96191, 1], [96190, 1], [96189, 1], [96188, 1], [96187, 1], [96186, 1], [96185, 1], [96184, 1], [96183, 1], [96182, 1], [96181, 1], [96180, 1], [96179, 1], [96178, 1], [96177, 1], [96176, 1], [96175, 1], [96174, 1], [96173, 1], [96172, 1], [96171, 1], [96170, 1], [96169, 1], [96168, 1], [96167, 1], [96166, 1], [96165, 1], [96164, 1], [96163, 1], [96162, 1], [96161, 1], [96160, 1], [96159, 1], [96158, 1], [96157, 1], [96156, 1], [96155, 1], [96154, 1], [96153, 1], [96152, 1], [96151, 1], [96150, 1], [96149, 1], [96148, 1], [96147, 1], [96146, 1], [96145, 1], [96144, 1], [96143, 1], [96142, 1], [96141, 1], [96140, 1], [96139, 1], [96138, 1], [96137, 1], [96136, 1], [96135, 1], [96134, 1], [96133, 1], [96132, 1], [96131, 1], [96130, 1], [96129, 1], [96128, 1], [96127, 1], [96126, 1], [96125, 1], [96124, 1], [96123, 1], [96122, 1], [96121, 1], [96120, 1], [96119, 1], [96118, 1], [96117, 1], [96116, 1], [96115, 1], [96114, 1], [96113, 1], [96112, 1], [96111, 1], [96110, 1], [96109, 1], [96108, 1], [96107, 1], [96106, 1], [96105, 1], [96104, 1], [96103, 1], [96102, 1], [96101, 1], [96100, 1], [96099, 1], [96098, 1], [96097, 1], [96096, 1], [96095, 1], [96094, 1], [96093, 1], [96092, 1], [96091, 1], [96090, 1], [96089, 1], [96088, 1], [96087, 1], [96086, 1], [96085, 1], [96084, 1], [96083, 1], [96082, 1], [96081, 1], [96080, 1], [96079, 1], [96078, 1], [96077, 1], [96076, 1], [96075, 1], [96074, 1], [96073, 1], [96072, 1], [96071, 1], [96070, 1], [96069, 1], [96068, 1], [96067, 1], [96066, 1], [96065, 1], [96064, 1], [96063, 1], [96062, 1], [96061, 1], [96060, 1], [96059, 1], [96058, 1], [96057, 1], [96056, 1], [96055, 1], [96054, 1], [96053, 1], [96052, 1], [96051, 1], [96050, 1], [96049, 1], [96048, 1], [96047, 1], [96046, 1], [96045, 1], [96044, 1], [96043, 1], [96042, 1], [96041, 1], [96040, 1], [96039, 1], [96038, 1], [96037, 1], [96036, 1], [96035, 1], [96034, 1], [96033, 1], [96032, 1], [96031, 1], [96030, 1], [96029, 1], [96028, 1], [96027, 1], [96026, 1], [96025, 1], [96024, 1], [96023, 1], [96022, 1], [96021, 1], [96020, 1], [96019, 1], [96018, 1], [96017, 1], [96016, 1], [96015, 1], [96014, 1], [96013, 1], [96012, 1], [96011, 1], [96010, 1], [96009, 1], [96008, 1], [96007, 1], [96006, 1], [96005, 1], [96004, 1], [96003, 1], [96002, 1], [96001, 1], [96000, 1], [95999, 1], [95998, 1], [95997, 1], [95996, 1], [95995, 1], [95994, 1], [95993, 1], [95992, 1], [95991, 1], [95990, 1], [95989, 1], [95988, 1], [95987, 1], [95986, 1], [95985, 1], [95984, 1], [95983, 1], [95982, 1], [95981, 1], [95980, 1], [95979, 1], [95978, 1], [95977, 1], [95976, 1], [95975, 1], [95974, 1], [95973, 1], [95972, 1], [95971, 1], [95970, 1], [95969, 1], [95968, 1], [95967, 1], [95966, 1], [95965, 1], [95964, 1], [95963, 1], [95962, 1], [95961, 1], [95960, 1], [95959, 1], [95958, 1], [95957, 1], [95956, 1], [95955, 1], [95954, 1], [95953, 1], [95952, 1], [95951, 1], [95950, 1], [95949, 1], [95948, 1], [95947, 1], [95946, 1], [95945, 1], [95944, 1], [95943, 1], [95942, 1], [95941, 1], [95940, 1], [95939, 1], [95938, 1], [95937, 1], [95936, 1], [95935, 1], [95934, 1], [95933, 1], [95932, 1], [95931, 1], [95930, 1], [95929, 1], [95928, 1], [95927, 1], [95926, 1], [95925, 1], [95924, 1], [95923, 1], [95922, 1], [95921, 1], [95920, 1], [95919, 1], [95918, 1], [95917, 1], [95916, 1], [95915, 1], [95914, 1], [95913, 1], [95912, 1], [95911, 1], [95910, 1], [95909, 1], [95908, 1], [95907, 1], [95906, 1], [95905, 1], [95904, 1], [95903, 1], [95902, 1], [95901, 1], [95900, 1], [95899, 1], [95898, 1], [95897, 1], [95896, 1], [95895, 1], [95894, 1], [95893, 1], [95892, 1], [95891, 1], [95890, 1], [95889, 1], [95888, 1], [95887, 1], [95886, 1], [95885, 1], [95884, 1], [95883, 1], [95882, 1], [95881, 1], [95880, 1], [95879, 1], [95878, 1], [95877, 1], [95876, 1], [95875, 1], [95874, 1], [95873, 1], [95872, 1], [95871, 1], [95870, 1], [95869, 1], [95868, 1], [95867, 1], [95866, 1], [95865, 1], [95864, 1], [95863, 1], [95862, 1], [95861, 1], [95860, 1], [95859, 1], [95858, 1], [95857, 1], [95856, 1], [95855, 1], [95854, 1], [95853, 1], [95852, 1], [95851, 1], [95850, 1], [95849, 1], [95848, 1], [95847, 1], [95846, 1], [95845, 1], [95844, 1], [95843, 1], [95842, 1], [95841, 1], [95840, 1], [95839, 1], [95838, 1], [95837, 1], [95836, 1], [95835, 1], [95834, 1], [95833, 1], [95832, 1], [95831, 1], [95830, 1], [95829, 1], [95828, 1], [95827, 1], [95826, 1], [95825, 1], [95824, 1], [95823, 1], [95822, 1], [95821, 1], [95820, 1], [95819, 1], [95818, 1], [95817, 1], [95816, 1], [95815, 1], [95814, 1], [95813, 1], [95812, 1], [95811, 1], [95810, 1], [95809, 1], [95808, 1], [95807, 1], [95806, 1], [95805, 1], [95804, 1], [95803, 1], [95802, 1], [95801, 1], [95800, 1], [95799, 1], [95798, 1], [95797, 1], [95796, 1], [95795, 1], [95794, 1], [95793, 1], [95792, 1], [95791, 1], [95790, 1], [95789, 1], [95788, 1], [95787, 1], [95786, 1], [95785, 1], [95784, 1], [95783, 1], [95782, 1], [95781, 1], [95780, 1], [95779, 1], [95778, 1], [95777, 1], [95776, 1], [95775, 1], [95774, 1], [95773, 1], [95772, 1], [95771, 1], [95770, 1], [95769, 1], [95768, 1], [95767, 1], [95766, 1], [95765, 1], [95764, 1], [95763, 1], [95762, 1], [95761, 1], [95760, 1], [95759, 1], [95758, 1], [95757, 1], [95756, 1], [95755, 1], [95754, 1], [95753, 1], [95752, 1], [95751, 1], [95750, 1], [95749, 1], [95748, 1], [95747, 1], [95746, 1], [95745, 1], [95744, 1], [95743, 1], [95742, 1], [95741, 1], [95740, 1], [95739, 1], [95738, 1], [95737, 1], [95736, 1], [95735, 1], [95734, 1], [95733, 1], [95732, 1], [95731, 1], [95730, 1], [95729, 1], [95728, 1], [95727, 1], [95726, 1], [95725, 1], [95724, 1], [95723, 1], [95722, 1], [95721, 1], [95720, 1], [95719, 1], [95718, 1], [95717, 1], [95716, 1], [95715, 1], [95714, 1], [95713, 1], [95712, 1], [95711, 1], [95710, 1], [95709, 1], [95708, 1], [95707, 1], [95706, 1], [95705, 1], [95704, 1], [95703, 1], [95702, 1], [95701, 1], [95700, 1], [95699, 1], [95698, 1], [95697, 1], [95696, 1], [95695, 1], [95694, 1], [95693, 1], [95692, 1], [95691, 1], [95690, 1], [95689, 1], [95688, 1], [95687, 1], [95686, 1], [95685, 1], [95684, 1], [95683, 1], [95682, 1], [95681, 1], [95680, 1], [95679, 1], [95678, 1], [95677, 1], [95676, 1], [95675, 1], [95674, 1], [95673, 1], [95672, 1], [95671, 1], [95670, 1], [95669, 1], [95668, 1], [95667, 1], [95666, 1], [95665, 1], [95664, 1], [95663, 1], [95662, 1], [95661, 1], [95660, 1], [95659, 1], [95658, 1], [95657, 1], [95656, 1], [95655, 1], [95654, 1], [95653, 1], [95652, 1], [95651, 1], [95650, 1], [95649, 1], [95648, 1], [95647, 1], [95646, 1], [95645, 1], [95644, 1], [95643, 1], [95642, 1], [95641, 1], [95640, 1], [95639, 1], [95638, 1], [95637, 1], [95636, 1], [95635, 1], [95634, 1], [95633, 1], [95632, 1], [95631, 1], [95630, 1], [95629, 1], [95628, 1], [95627, 1], [95626, 1], [95625, 1], [95624, 1], [95623, 1], [95622, 1], [95621, 1], [95620, 1], [95619, 1], [95618, 1], [95617, 1], [95616, 1], [95615, 1], [95614, 1], [95613, 1], [95612, 1], [95611, 1], [95610, 1], [95609, 1], [95608, 1], [95607, 1], [95606, 1], [95605, 1], [95604, 1], [95603, 1], [95602, 1], [95601, 1], [95600, 1], [95599, 1], [95598, 1], [95597, 1], [95596, 1], [95595, 1], [95594, 1], [95593, 1], [95592, 1], [95591, 1], [95590, 1], [95589, 1], [95588, 1], [95587, 1], [95586, 1], [95585, 1], [95584, 1], [95583, 1], [95582, 1], [95581, 1], [95580, 1], [95579, 1], [95578, 1], [95577, 1], [95576, 1], [95575, 1], [95574, 1], [95573, 1], [95572, 1], [95571, 1], [95570, 1], [95569, 1], [95568, 1], [95567, 1], [95566, 1], [95565, 1], [95564, 1], [95563, 1], [95562, 1], [95561, 1], [95560, 1], [95559, 1], [95558, 1], [95557, 1], [95556, 1], [95555, 1], [95554, 1], [95553, 1], [95552, 1], [95551, 1], [95550, 1], [95549, 1], [95548, 1], [95547, 1], [95546, 1], [95545, 1], [95544, 1], [95543, 1], [95542, 1], [95541, 1], [95540, 1], [95539, 1], [95538, 1], [95537, 1], [95536, 1], [95535, 1], [95534, 1], [95533, 1], [95532, 1], [95531, 1], [95530, 1], [95529, 1], [95528, 1], [95527, 1], [95526, 1], [95525, 1], [95524, 1], [95523, 1], [95522, 1], [95521, 1], [95520, 1], [95519, 1], [95518, 1], [95517, 1], [95516, 1], [95515, 1], [95514, 1], [95513, 1], [95512, 1], [95511, 1], [95510, 1], [95509, 1], [95508, 1], [95507, 1], [95506, 1], [95505, 1], [95504, 1], [95503, 1], [95502, 1], [95501, 1], [95500, 1], [95499, 1], [95498, 1], [95497, 1], [95496, 1], [95495, 1], [95494, 1], [95493, 1], [95492, 1], [95491, 1], [95490, 1], [95489, 1], [95488, 1], [95487, 1], [95486, 1], [95485, 1], [95484, 1], [95483, 1], [95482, 1], [95481, 1], [95480, 1], [95479, 1], [95478, 1], [95477, 1], [95476, 1], [95475, 1], [95474, 1], [95473, 1], [95472, 1], [95471, 1], [95470, 1], [95469, 1], [95468, 1], [95467, 1], [95466, 1], [95465, 1], [95464, 1], [95463, 1], [95462, 1], [95461, 1], [95460, 1], [95459, 1], [95458, 1], [95457, 1], [95456, 1], [95455, 1], [95454, 1], [95453, 1], [95452, 1], [95451, 1], [95450, 1], [95449, 1], [95448, 1], [95447, 1], [95446, 1], [95445, 1], [95444, 1], [95443, 1], [95442, 1], [95441, 1], [95440, 1], [95439, 1], [95438, 1], [95437, 1], [95436, 1], [95435, 1], [95434, 1], [95433, 1], [95432, 1], [95431, 1], [95430, 1], [95429, 1], [95428, 1], [95427, 1], [95426, 1], [95425, 1], [95424, 1], [95423, 1], [95422, 1], [95421, 1], [95420, 1], [95419, 1], [95418, 1], [95417, 1], [95416, 1], [95415, 1], [95414, 1], [95413, 1], [95412, 1], [95411, 1], [95410, 1], [95409, 1], [95408, 1], [95407, 1], [95406, 1], [95405, 1], [95404, 1], [95403, 1], [95402, 1], [95401, 1], [95400, 1], [95399, 1], [95398, 1], [95397, 1], [95396, 1], [95395, 1], [95394, 1], [95393, 1], [95392, 1], [95391, 1], [95390, 1], [95389, 1], [95388, 1], [95387, 1], [95386, 1], [95385, 1], [95384, 1], [95383, 1], [95382, 1], [95381, 1], [95380, 1], [95379, 1], [95378, 1], [95377, 1], [95376, 1], [95375, 1], [95374, 1], [95373, 1], [95372, 1], [95371, 1], [95370, 1], [95369, 1], [95368, 1], [95367, 1], [95366, 1], [95365, 1], [95364, 1], [95363, 1], [95362, 1], [95361, 1], [95360, 1], [95359, 1], [95358, 1], [95357, 1], [95356, 1], [95355, 1], [95354, 1], [95353, 1], [95352, 1], [95351, 1], [95350, 1], [95349, 1], [95348, 1], [95347, 1], [95346, 1], [95345, 1], [95344, 1], [95343, 1], [95342, 1], [95341, 1], [95340, 1], [95339, 1], [95338, 1], [95337, 1], [95336, 1], [95335, 1], [95334, 1], [95333, 1], [95332, 1], [95331, 1], [95330, 1], [95329, 1], [95328, 1], [95327, 1], [95326, 1], [95325, 1], [95324, 1], [95323, 1], [95322, 1], [95321, 1], [95320, 1], [95319, 1], [95318, 1], [95317, 1], [95316, 1], [95315, 1], [95314, 1], [95313, 1], [95312, 1], [95311, 1], [95310, 1], [95309, 1], [95308, 1], [95307, 1], [95306, 1], [95305, 1], [95304, 1], [95303, 1], [95302, 1], [95301, 1], [95300, 1], [95299, 1], [95298, 1], [95297, 1], [95296, 1], [95295, 1], [95294, 1], [95293, 1], [95292, 1], [95291, 1], [95290, 1], [95289, 1], [95288, 1], [95287, 1], [95286, 1], [95285, 1], [95284, 1], [95283, 1], [95282, 1], [95281, 1], [95280, 1], [95279, 1], [95278, 1], [95277, 1], [95276, 1], [95275, 1], [95274, 1], [95273, 1], [95272, 1], [95271, 1], [95270, 1], [95269, 1], [95268, 1], [95267, 1], [95266, 1], [95265, 1], [95264, 1], [95263, 1], [95262, 1], [95261, 1], [95260, 1], [95259, 1], [95258, 1], [95257, 1], [95256, 1], [95255, 1], [95254, 1], [95253, 1], [95252, 1], [95251, 1], [95250, 1], [95249, 1], [95248, 1], [95247, 1], [95246, 1], [95245, 1], [95244, 1], [95243, 1], [95242, 1], [95241, 1], [95240, 1], [95239, 1], [95238, 1], [95237, 1], [95236, 1], [95235, 1], [95234, 1], [95233, 1], [95232, 1], [95231, 1], [95230, 1], [95229, 1], [95228, 1], [95227, 1], [95226, 1], [95225, 1], [95224, 1], [95223, 1], [95222, 1], [95221, 1], [95220, 1], [95219, 1], [95218, 1], [95217, 1], [95216, 1], [95215, 1], [95214, 1], [95213, 1], [95212, 1], [95211, 1], [95210, 1], [95209, 1], [95208, 1], [95207, 1], [95206, 1], [95205, 1], [95204, 1], [95203, 1], [95202, 1], [95201, 1], [95200, 1], [95199, 1], [95198, 1], [95197, 1], [95196, 1], [95195, 1], [95194, 1], [95193, 1], [95192, 1], [95191, 1], [95190, 1], [95189, 1], [95188, 1], [95187, 1], [95186, 1], [95185, 1], [95184, 1], [95183, 1], [95182, 1], [95181, 1], [95180, 1], [95179, 1], [95178, 1], [95177, 1], [95176, 1], [95175, 1], [95174, 1], [95173, 1], [95172, 1], [95171, 1], [95170, 1], [95169, 1], [95168, 1], [95167, 1], [95166, 1], [95165, 1], [95164, 1], [95163, 1], [95162, 1], [95161, 1], [95160, 1], [95159, 1], [95158, 1], [95157, 1], [95156, 1], [95155, 1], [95154, 1], [95153, 1], [95152, 1], [95151, 1], [95150, 1], [95149, 1], [95148, 1], [95147, 1], [95146, 1], [95145, 1], [95144, 1], [95143, 1], [95142, 1], [95141, 1], [95140, 1], [95139, 1], [95138, 1], [95137, 1], [95136, 1], [95135, 1], [95134, 1], [95133, 1], [95132, 1], [95131, 1], [95130, 1], [95129, 1], [95128, 1], [95127, 1], [95126, 1], [95125, 1], [95124, 1], [95123, 1], [95122, 1], [95121, 1], [95120, 1], [95119, 1], [95118, 1], [95117, 1], [95116, 1], [95115, 1], [95114, 1], [95113, 1], [95112, 1], [95111, 1], [95110, 1], [95109, 1], [95108, 1], [95107, 1], [95106, 1], [95105, 1], [95104, 1], [95103, 1], [95102, 1], [95101, 1], [95100, 1], [95099, 1], [95098, 1], [95097, 1], [95096, 1], [95095, 1], [95094, 1], [95093, 1], [95092, 1], [95091, 1], [95090, 1], [95089, 1], [95088, 1], [95087, 1], [95086, 1], [95085, 1], [95084, 1], [95083, 1], [95082, 1], [95081, 1], [95080, 1], [95079, 1], [95078, 1], [95077, 1], [95076, 1], [95075, 1], [95074, 1], [95073, 1], [95072, 1], [95071, 1], [95070, 1], [95069, 1], [95068, 1], [95067, 1], [95066, 1], [95065, 1], [95064, 1], [95063, 1], [95062, 1], [95061, 1], [95060, 1], [95059, 1], [95058, 1], [95057, 1], [95056, 1], [95055, 1], [95054, 1], [95053, 1], [95052, 1], [95051, 1], [95050, 1], [95049, 1], [95048, 1], [95047, 1], [95046, 1], [95045, 1], [95044, 1], [95043, 1], [95042, 1], [95041, 1], [95040, 1], [95039, 1], [95038, 1], [95037, 1], [95036, 1], [95035, 1], [95034, 1], [95033, 1], [95032, 1], [95031, 1], [95030, 1], [95029, 1], [95028, 1], [95027, 1], [95026, 1], [95025, 1], [95024, 1], [95023, 1], [95022, 1], [95021, 1], [95020, 1], [95019, 1], [95018, 1], [95017, 1], [95016, 1], [95015, 1], [95014, 1], [95013, 1], [95012, 1], [95011, 1], [95010, 1], [95009, 1], [95008, 1], [95007, 1], [95006, 1], [95005, 1], [95004, 1], [95003, 1], [95002, 1], [95001, 1], [95000, 1], [94999, 1], [94998, 1], [94997, 1], [94996, 1], [94995, 1], [94994, 1], [94993, 1], [94992, 1], [94991, 1], [94990, 1], [94989, 1], [94988, 1], [94987, 1], [94986, 1], [94985, 1], [94984, 1], [94983, 1], [94982, 1], [94981, 1], [94980, 1], [94979, 1], [94978, 1], [94977, 1], [94976, 1], [94975, 1], [94974, 1], [94973, 1], [94972, 1], [94971, 1], [94970, 1], [94969, 1], [94968, 1], [94967, 1], [94966, 1], [94965, 1], [94964, 1], [94963, 1], [94962, 1], [94961, 1], [94960, 1], [94959, 1], [94958, 1], [94957, 1], [94956, 1], [94955, 1], [94954, 1], [94953, 1], [94952, 1], [94951, 1], [94950, 1], [94949, 1], [94948, 1], [94947, 1], [94946, 1], [94945, 1], [94944, 1], [94943, 1], [94942, 1], [94941, 1], [94940, 1], [94939, 1], [94938, 1], [94937, 1], [94936, 1], [94935, 1], [94934, 1], [94933, 1], [94932, 1], [94931, 1], [94930, 1], [94929, 1], [94928, 1], [94927, 1], [94926, 1], [94925, 1], [94924, 1], [94923, 1], [94922, 1], [94921, 1], [94920, 1], [94919, 1], [94918, 1], [94917, 1], [94916, 1], [94915, 1], [94914, 1], [94913, 1], [94912, 1], [94911, 1], [94910, 1], [94909, 1], [94908, 1], [94907, 1], [94906, 1], [94905, 1], [94904, 1], [94903, 1], [94902, 1], [94901, 1], [94900, 1], [94899, 1], [94898, 1], [94897, 1], [94896, 1], [94895, 1], [94894, 1], [94893, 1], [94892, 1], [94891, 1], [94890, 1], [94889, 1], [94888, 1], [94887, 1], [94886, 1], [94885, 1], [94884, 1], [94883, 1], [94882, 1], [94881, 1], [94880, 1], [94879, 1], [94878, 1], [94877, 1], [94876, 1], [94875, 1], [94874, 1], [94873, 1], [94872, 1], [94871, 1], [94870, 1], [94869, 1], [94868, 1], [94867, 1], [94866, 1], [94865, 1], [94864, 1], [94863, 1], [94862, 1], [94861, 1], [94860, 1], [94859, 1], [94858, 1], [94857, 1], [94856, 1], [94855, 1], [94854, 1], [94853, 1], [94852, 1], [94851, 1], [94850, 1], [94849, 1], [94848, 1], [94847, 1], [94846, 1], [94845, 1], [94844, 1], [94843, 1], [94842, 1], [94841, 1], [94840, 1], [94839, 1], [94838, 1], [94837, 1], [94836, 1], [94835, 1], [94834, 1], [94833, 1], [94832, 1], [94831, 1], [94830, 1], [94829, 1], [94828, 1], [94827, 1], [94826, 1], [94825, 1], [94824, 1], [94823, 1], [94822, 1], [94821, 1], [94820, 1], [94819, 1], [94818, 1], [94817, 1], [94816, 1], [94815, 1], [94814, 1], [94813, 1], [94812, 1], [94811, 1], [94810, 1], [94809, 1], [94808, 1], [94807, 1], [94806, 1], [94805, 1], [94804, 1], [94803, 1], [94802, 1], [94801, 1], [94800, 1], [94799, 1], [94798, 1], [94797, 1], [94796, 1], [94795, 1], [94794, 1], [94793, 1], [94792, 1], [94791, 1], [94790, 1], [94789, 1], [94788, 1], [94787, 1], [94786, 1], [94785, 1], [94784, 1], [94783, 1], [94782, 1], [94781, 1], [94780, 1], [94779, 1], [94778, 1], [94777, 1], [94776, 1], [94775, 1], [94774, 1], [94773, 1], [94772, 1], [94771, 1], [94770, 1], [94769, 1], [94768, 1], [94767, 1], [94766, 1], [94765, 1], [94764, 1], [94763, 1], [94762, 1], [94761, 1], [94760, 1], [94759, 1], [94758, 1], [94757, 1], [94756, 1], [94755, 1], [94754, 1], [94753, 1], [94752, 1], [94751, 1], [94750, 1], [94749, 1], [94748, 1], [94747, 1], [94746, 1], [94745, 1], [94744, 1], [94743, 1], [94742, 1], [94741, 1], [94740, 1], [94739, 1], [94738, 1], [94737, 1], [94736, 1], [94735, 1], [94734, 1], [94733, 1], [94732, 1], [94731, 1], [94730, 1], [94729, 1], [94728, 1], [94727, 1], [94726, 1], [94725, 1], [94724, 1], [94723, 1], [94722, 1], [94721, 1], [94720, 1], [94719, 1], [94718, 1], [94717, 1], [94716, 1], [94715, 1], [94714, 1], [94713, 1], [94712, 1], [94711, 1], [94710, 1], [94709, 1], [94708, 1], [94707, 1], [94706, 1], [94705, 1], [94704, 1], [94703, 1], [94702, 1], [94701, 1], [94700, 1], [94699, 1], [94698, 1], [94697, 1], [94696, 1], [94695, 1], [94694, 1], [94693, 1], [94692, 1], [94691, 1], [94690, 1], [94689, 1], [94688, 1], [94687, 1], [94686, 1], [94685, 1], [94684, 1], [94683, 1], [94682, 1], [94681, 1], [94680, 1], [94679, 1], [94678, 1], [94677, 1], [94676, 1], [94675, 1], [94674, 1], [94673, 1], [94672, 1], [94671, 1], [94670, 1], [94669, 1], [94668, 1], [94667, 1], [94666, 1], [94665, 1], [94664, 1], [94663, 1], [94662, 1], [94661, 1], [94660, 1], [94659, 1], [94658, 1], [94657, 1], [94656, 1], [94655, 1], [94654, 1], [94653, 1], [94652, 1], [94651, 1], [94650, 1], [94649, 1], [94648, 1], [94647, 1], [94646, 1], [94645, 1], [94644, 1], [94643, 1], [94642, 1], [94641, 1], [94640, 1], [94639, 1], [94638, 1], [94637, 1], [94636, 1], [94635, 1], [94634, 1], [94633, 1], [94632, 1], [94631, 1], [94630, 1], [94629, 1], [94628, 1], [94627, 1], [94626, 1], [94625, 1], [94624, 1], [94623, 1], [94622, 1], [94621, 1], [94620, 1], [94619, 1], [94618, 1], [94617, 1], [94616, 1], [94615, 1], [94614, 1], [94613, 1], [94612, 1], [94611, 1], [94610, 1], [94609, 1], [94608, 1], [94607, 1], [94606, 1], [94605, 1], [94604, 1], [94603, 1], [94602, 1], [94601, 1], [94600, 1], [94599, 1], [94598, 1], [94597, 1], [94596, 1], [94595, 1], [94594, 1], [94593, 1], [94592, 1], [94591, 1], [94590, 1], [94589, 1], [94588, 1], [94587, 1], [94586, 1], [94585, 1], [94584, 1], [94583, 1], [94582, 1], [94581, 1], [94580, 1], [94579, 1], [94578, 1], [94577, 1], [94576, 1], [94575, 1], [94574, 1], [94573, 1], [94572, 1], [94571, 1], [94570, 1], [94569, 1], [94568, 1], [94567, 1], [94566, 1], [94565, 1], [94564, 1], [94563, 1], [94562, 1], [94561, 1], [94560, 1], [94559, 1], [94558, 1], [94557, 1], [94556, 1], [94555, 1], [94554, 1], [94553, 1], [94552, 1], [94551, 1], [94550, 1], [94549, 1], [94548, 1], [94547, 1], [94546, 1], [94545, 1], [94544, 1], [94543, 1], [94542, 1], [94541, 1], [94540, 1], [94539, 1], [94538, 1], [94537, 1], [94536, 1], [94535, 1], [94534, 1], [94533, 1], [94532, 1], [94531, 1], [94530, 1], [94529, 1], [94528, 1], [94527, 1], [94526, 1], [94525, 1], [94524, 1], [94523, 1], [94522, 1], [94521, 1], [94520, 1], [94519, 1], [94518, 1], [94517, 1], [94516, 1], [94515, 1], [94514, 1], [94513, 1], [94512, 1], [94511, 1], [94510, 1], [94509, 1], [94508, 1], [94507, 1], [94506, 1], [94505, 1], [94504, 1], [94503, 1], [94502, 1], [94501, 1], [94500, 1], [94499, 1], [94498, 1], [94497, 1], [94496, 1], [94495, 1], [94494, 1], [94493, 1], [94492, 1], [94491, 1], [94490, 1], [94489, 1], [94488, 1], [94487, 1], [94486, 1], [94485, 1], [94484, 1], [94483, 1], [94482, 1], [94481, 1], [94480, 1], [94479, 1], [94478, 1], [94477, 1], [94476, 1], [94475, 1], [94474, 1], [94473, 1], [94472, 1], [94471, 1], [94470, 1], [94469, 1], [94468, 1], [94467, 1], [94466, 1], [94465, 1], [94464, 1], [94463, 1], [94462, 1], [94461, 1], [94460, 1], [94459, 1], [94458, 1], [94457, 1], [94456, 1], [94455, 1], [94454, 1], [94453, 1], [94452, 1], [94451, 1], [94450, 1], [94449, 1], [94448, 1], [94447, 1], [94446, 1], [94445, 1], [94444, 1], [94443, 1], [94442, 1], [94441, 1], [94440, 1], [94439, 1], [94438, 1], [94437, 1], [94436, 1], [94435, 1], [94434, 1], [94433, 1], [94432, 1], [94431, 1], [94430, 1], [94429, 1], [94428, 1], [94427, 1], [94426, 1], [94425, 1], [94424, 1], [94423, 1], [94422, 1], [94421, 1], [94420, 1], [94419, 1], [94418, 1], [94417, 1], [94416, 1], [94415, 1], [94414, 1], [94413, 1], [94412, 1], [94411, 1], [94410, 1], [94409, 1], [94408, 1], [94407, 1], [94406, 1], [94405, 1], [94404, 1], [94403, 1], [94402, 1], [94401, 1], [94400, 1], [94399, 1], [94398, 1], [94397, 1], [94396, 1], [94395, 1], [94394, 1], [94393, 1], [94392, 1], [94391, 1], [94390, 1], [94389, 1], [94388, 1], [94387, 1], [94386, 1], [94385, 1], [94384, 1], [94383, 1], [94382, 1], [94381, 1], [94380, 1], [94379, 1], [94378, 1], [94377, 1], [94376, 1], [94375, 1], [94374, 1], [94373, 1], [94372, 1], [94371, 1], [94370, 1], [94369, 1], [94368, 1], [94367, 1], [94366, 1], [94365, 1], [94364, 1], [94363, 1], [94362, 1], [94361, 1], [94360, 1], [94359, 1], [94358, 1], [94357, 1], [94356, 1], [94355, 1], [94354, 1], [94353, 1], [94352, 1], [94351, 1], [94350, 1], [94349, 1], [94348, 1], [94347, 1], [94346, 1], [94345, 1], [94344, 1], [94343, 1], [94342, 1], [94341, 1], [94340, 1], [94339, 1], [94338, 1], [94337, 1], [94336, 1], [94335, 1], [94334, 1], [94333, 1], [94332, 1], [94331, 1], [94330, 1], [94329, 1], [94328, 1], [94327, 1], [94326, 1], [94325, 1], [94324, 1], [94323, 1], [94322, 1], [94321, 1], [94320, 1], [94319, 1], [94318, 1], [94317, 1], [94316, 1], [94315, 1], [94314, 1], [94313, 1], [94312, 1], [94311, 1], [94310, 1], [94309, 1], [94308, 1], [94307, 1], [94306, 1], [94305, 1], [94304, 1], [94303, 1], [94302, 1], [94301, 1], [94300, 1], [94299, 1], [94298, 1], [94297, 1], [94296, 1], [94295, 1], [94294, 1], [94293, 1], [94292, 1], [94291, 1], [94290, 1], [94289, 1], [94288, 1], [94287, 1], [94286, 1], [94285, 1], [94284, 1], [94283, 1], [94282, 1], [94281, 1], [94280, 1], [94279, 1], [94278, 1], [94277, 1], [94276, 1], [94275, 1], [94274, 1], [94273, 1], [94272, 1], [94271, 1], [94270, 1], [94269, 1], [94268, 1], [94267, 1], [94266, 1], [94265, 1], [94264, 1], [94263, 1], [94262, 1], [94261, 1], [94260, 1], [94259, 1], [94258, 1], [94257, 1], [94256, 1], [94255, 1], [94254, 1], [94253, 1], [94252, 1], [94251, 1], [94250, 1], [94249, 1], [94248, 1], [94247, 1], [94246, 1], [94245, 1], [94244, 1], [94243, 1], [94242, 1], [94241, 1], [94240, 1], [94239, 1], [94238, 1], [94237, 1], [94236, 1], [94235, 1], [94234, 1], [94233, 1], [94232, 1], [94231, 1], [94230, 1], [94229, 1], [94228, 1], [94227, 1], [94226, 1], [94225, 1], [94224, 1], [94223, 1], [94222, 1], [94221, 1], [94220, 1], [94219, 1], [94218, 1], [94217, 1], [94216, 1], [94215, 1], [94214, 1], [94213, 1], [94212, 1], [94211, 1], [94210, 1], [94209, 1], [94208, 1], [94207, 1], [94206, 1], [94205, 1], [94204, 1], [94203, 1], [94202, 1], [94201, 1], [94200, 1], [94199, 1], [94198, 1], [94197, 1], [94196, 1], [94195, 1], [94194, 1], [94193, 1], [94192, 1], [94191, 1], [94190, 1], [94189, 1], [94188, 1], [94187, 1], [94186, 1], [94185, 1], [94184, 1], [94183, 1], [94182, 1], [94181, 1], [94180, 1], [94179, 1], [94178, 1], [94177, 1], [94176, 1], [94175, 1], [94174, 1], [94173, 1], [94172, 1], [94171, 1], [94170, 1], [94169, 1], [94168, 1], [94167, 1], [94166, 1], [94165, 1], [94164, 1], [94163, 1], [94162, 1], [94161, 1], [94160, 1], [94159, 1], [94158, 1], [94157, 1], [94156, 1], [94155, 1], [94154, 1], [94153, 1], [94152, 1], [94151, 1], [94150, 1], [94149, 1], [94148, 1], [94147, 1], [94146, 1], [94145, 1], [94144, 1], [94143, 1], [94142, 1], [94141, 1], [94140, 1], [94139, 1], [94138, 1], [94137, 1], [94136, 1], [94135, 1], [94134, 1], [94133, 1], [94132, 1], [94131, 1], [94130, 1], [94129, 1], [94128, 1], [94127, 1], [94126, 1], [94125, 1], [94124, 1], [94123, 1], [94122, 1], [94121, 1], [94120, 1], [94119, 1], [94118, 1], [94117, 1], [94116, 1], [94115, 1], [94114, 1], [94113, 1], [94112, 1], [94111, 1], [94110, 1], [94109, 1], [94108, 1], [94107, 1], [94106, 1], [94105, 1], [94104, 1], [94103, 1], [94102, 1], [94101, 1], [94100, 1], [94099, 1], [94098, 1], [94097, 1], [94096, 1], [94095, 1], [94094, 1], [94093, 1], [94092, 1], [94091, 1], [94090, 1], [94089, 1], [94088, 1], [94087, 1], [94086, 1], [94085, 1], [94084, 1], [94083, 1], [94082, 1], [94081, 1], [94080, 1], [94079, 1], [94078, 1], [94077, 1], [94076, 1], [94075, 1], [94074, 1], [94073, 1], [94072, 1], [94071, 1], [94070, 1], [94069, 1], [94068, 1], [94067, 1], [94066, 1], [94065, 1], [94064, 1], [94063, 1], [94062, 1], [94061, 1], [94060, 1], [94059, 1], [94058, 1], [94057, 1], [94056, 1], [94055, 1], [94054, 1], [94053, 1], [94052, 1], [94051, 1], [94050, 1], [94049, 1], [94048, 1], [94047, 1], [94046, 1], [94045, 1], [94044, 1], [94043, 1], [94042, 1], [94041, 1], [94040, 1], [94039, 1], [94038, 1], [94037, 1], [94036, 1], [94035, 1], [94034, 1], [94033, 1], [94032, 1], [94031, 1], [94030, 1], [94029, 1], [94028, 1], [94027, 1], [94026, 1], [94025, 1], [94024, 1], [94023, 1], [94022, 1], [94021, 1], [94020, 1], [94019, 1], [94018, 1], [94017, 1], [94016, 1], [94015, 1], [94014, 1], [94013, 1], [94012, 1], [94011, 1], [94010, 1], [94009, 1], [94008, 1], [94007, 1], [94006, 1], [94005, 1], [94004, 1], [94003, 1], [94002, 1], [94001, 1], [94000, 1], [93999, 1], [93998, 1], [93997, 1], [93996, 1], [93995, 1], [93994, 1], [93993, 1], [93992, 1], [93991, 1], [93990, 1], [93989, 1], [93988, 1], [93987, 1], [93986, 1], [93985, 1], [93984, 1], [93983, 1], [93982, 1], [93981, 1], [93980, 1], [93979, 1], [93978, 1], [93977, 1], [93976, 1], [93975, 1], [93974, 1], [93973, 1], [93972, 1], [93971, 1], [93970, 1], [93969, 1], [93968, 1], [93967, 1], [93966, 1], [93965, 1], [93964, 1], [93963, 1], [93962, 1], [93961, 1], [93960, 1], [93959, 1], [93958, 1], [93957, 1], [93956, 1], [93955, 1], [93954, 1], [93953, 1], [93952, 1], [93951, 1], [93950, 1], [93949, 1], [93948, 1], [93947, 1], [93946, 1], [93945, 1], [93944, 1], [93943, 1], [93942, 1], [93941, 1], [93940, 1], [93939, 1], [93938, 1], [93937, 1], [93936, 1], [93935, 1], [93934, 1], [93933, 1], [93932, 1], [93931, 1], [93930, 1], [93929, 1], [93928, 1], [93927, 1], [93926, 1], [93925, 1], [93924, 1], [93923, 1], [93922, 1], [93921, 1], [93920, 1], [93919, 1], [93918, 1], [93917, 1], [93916, 1], [93915, 1], [93914, 1], [93913, 1], [93912, 1], [93911, 1], [93910, 1], [93909, 1], [93908, 1], [93907, 1], [93906, 1], [93905, 1], [93904, 1], [93903, 1], [93902, 1], [93901, 1], [93900, 1], [93899, 1], [93898, 1], [93897, 1], [93896, 1], [93895, 1], [93894, 1], [93893, 1], [93892, 1], [93891, 1], [93890, 1], [93889, 1], [93888, 1], [93887, 1], [93886, 1], [93885, 1], [93884, 1], [93883, 1], [93882, 1], [93881, 1], [93880, 1], [93879, 1], [93878, 1], [93877, 1], [93876, 1], [93875, 1], [93874, 1], [93873, 1], [93872, 1], [93871, 1], [93870, 1], [93869, 1], [93868, 1], [93867, 1], [93866, 1], [93865, 1], [93864, 1], [93863, 1], [93862, 1], [93861, 1], [93860, 1], [93859, 1], [93858, 1], [93857, 1], [93856, 1], [93855, 1], [93854, 1], [93853, 1], [93852, 1], [93851, 1], [93850, 1], [93849, 1], [93848, 1], [93847, 1], [93846, 1], [93845, 1], [93844, 1], [93843, 1], [93842, 1], [93841, 1], [93840, 1], [93839, 1], [93838, 1], [93837, 1], [93836, 1], [93835, 1], [93834, 1], [93833, 1], [93832, 1], [93831, 1], [93830, 1], [93829, 1], [93828, 1], [93827, 1], [93826, 1], [93825, 1], [93824, 1], [93823, 1], [93822, 1], [93821, 1], [93820, 1], [93819, 1], [93818, 1], [93817, 1], [93816, 1], [93815, 1], [93814, 1], [93813, 1], [93812, 1], [93811, 1], [93810, 1], [93809, 1], [93808, 1], [93807, 1], [93806, 1], [93805, 1], [93804, 1], [93803, 1], [93802, 1], [93801, 1], [93800, 1], [93799, 1], [93798, 1], [93797, 1], [93796, 1], [93795, 1], [93794, 1], [93793, 1], [93792, 1], [93791, 1], [93790, 1], [93789, 1], [93788, 1], [93787, 1], [93786, 1], [93785, 1], [93784, 1], [93783, 1], [93782, 1], [93781, 1], [93780, 1], [93779, 1], [93778, 1], [93777, 1], [93776, 1], [93775, 1], [93774, 1], [93773, 1], [93772, 1], [93771, 1], [93770, 1], [93769, 1], [93768, 1], [93767, 1], [93766, 1], [93765, 1], [93764, 1], [93763, 1], [93762, 1], [93761, 1], [93760, 1], [93759, 1], [93758, 1], [93757, 1], [93756, 1], [93755, 1], [93754, 1], [93753, 1], [93752, 1], [93751, 1], [93750, 1], [93749, 1], [93748, 1], [93747, 1], [93746, 1], [93745, 1], [93744, 1], [93743, 1], [93742, 1], [93741, 1], [93740, 1], [93739, 1], [93738, 1], [93737, 1], [93736, 1], [93735, 1], [93734, 1], [93733, 1], [93732, 1], [93731, 1], [93730, 1], [93729, 1], [93728, 1], [93727, 1], [93726, 1], [93725, 1], [93724, 1], [93723, 1], [93722, 1], [93721, 1], [93720, 1], [93719, 1], [93718, 1], [93717, 1], [93716, 1], [93715, 1], [93714, 1], [93713, 1], [93712, 1], [93711, 1], [93710, 1], [93709, 1], [93708, 1], [93707, 1], [93706, 1], [93705, 1], [93704, 1], [93703, 1], [93702, 1], [93701, 1], [93700, 1], [93699, 1], [93698, 1], [93697, 1], [93696, 1], [93695, 1], [93694, 1], [93693, 1], [93692, 1], [93691, 1], [93690, 1], [93689, 1], [93688, 1], [93687, 1], [93686, 1], [93685, 1], [93684, 1], [93683, 1], [93682, 1], [93681, 1], [93680, 1], [93679, 1], [93678, 1], [93677, 1], [93676, 1], [93675, 1], [93674, 1], [93673, 1], [93672, 1], [93671, 1], [93670, 1], [93669, 1], [93668, 1], [93667, 1], [93666, 1], [93665, 1], [93664, 1], [93663, 1], [93662, 1], [93661, 1], [93660, 1], [93659, 1], [93658, 1], [93657, 1], [93656, 1], [93655, 1], [93654, 1], [93653, 1], [93652, 1], [93651, 1], [93650, 1], [93649, 1], [93648, 1], [93647, 1], [93646, 1], [93645, 1], [93644, 1], [93643, 1], [93642, 1], [93641, 1], [93639, 1], [93638, 1], [93637, 1], [93636, 1], [93635, 1], [93634, 1], [93633, 1], [93632, 1], [93631, 1], [93630, 1], [93629, 1], [93628, 1], [93627, 1], [93626, 1], [93625, 1], [93624, 1], [93623, 1], [93622, 1], [93621, 1], [93620, 1], [93619, 1], [93618, 1], [93617, 1], [93616, 1], [93615, 1], [93614, 1], [93613, 1], [93612, 1], [93611, 1], [93610, 1], [93609, 1], [93608, 1], [93607, 1], [93606, 1], [93605, 1], [93604, 1], [93603, 1], [93602, 1], [93601, 1], [93600, 1], [93599, 1], [93598, 1], [93597, 1], [93596, 1], [93595, 1], [93594, 1], [93593, 1], [93592, 1], [93591, 1], [93590, 1], [93589, 1], [93588, 1], [93587, 1], [93586, 1], [93585, 1], [93584, 1], [93583, 1], [93582, 1], [93581, 1], [93580, 1], [93579, 1], [93578, 1], [93577, 1], [93576, 1], [93575, 1], [93574, 1], [93573, 1], [93572, 1], [93571, 1], [93570, 1], [93569, 1], [93568, 1], [93567, 1], [93566, 1], [93565, 1], [93564, 1], [93563, 1], [93562, 1], [93561, 1], [93560, 1], [93559, 1], [93558, 1], [93557, 1], [93556, 1], [93555, 1], [93554, 1], [93553, 1], [93552, 1], [93551, 1], [93550, 1], [93549, 1], [93548, 1], [93547, 1], [93546, 1], [93545, 1], [93544, 1], [93543, 1], [93542, 1], [93541, 1], [93540, 1], [93539, 1], [93538, 1], [93537, 1], [93536, 1], [93535, 1], [93534, 1], [93533, 1], [93532, 1], [93531, 1], [93530, 1], [93529, 1], [93528, 1], [93527, 1], [93526, 1], [93525, 1], [93524, 1], [93523, 1], [93522, 1], [93521, 1], [93520, 1], [93519, 1], [93518, 1], [93517, 1], [93516, 1], [93515, 1], [93514, 1], [93513, 1], [93512, 1], [93511, 1], [93510, 1], [93509, 1], [93508, 1], [93507, 1], [93506, 1], [93505, 1], [93504, 1], [93503, 1], [93502, 1], [93501, 1], [93500, 1], [93499, 1], [93498, 1], [93497, 1], [93496, 1], [93495, 1], [93494, 1], [93493, 1], [93492, 1], [93491, 1], [93490, 1], [93489, 1], [93488, 1], [93487, 1], [93486, 1], [93485, 1], [93484, 1], [93483, 1], [93482, 1], [93481, 1], [93480, 1], [93479, 1], [93478, 1], [93477, 1], [93476, 1], [93475, 1], [93474, 1], [93473, 1], [93472, 1], [93471, 1], [93470, 1], [93469, 1], [93468, 1], [93467, 1], [93466, 1], [93465, 1], [93464, 1], [93463, 1], [93462, 1], [93461, 1], [93460, 1], [93459, 1], [93458, 1], [93457, 1], [93456, 1], [93455, 1], [93454, 1], [93453, 1], [93452, 1], [93451, 1], [93450, 1], [93449, 1], [93448, 1], [93447, 1], [93446, 1], [93445, 1], [93444, 1], [93443, 1], [93442, 1], [93441, 1], [93440, 1], [93439, 1], [93438, 1], [93437, 1], [93436, 1], [93435, 1], [93434, 1], [93433, 1], [93432, 1], [93431, 1], [93430, 1], [93429, 1], [93428, 1], [93427, 1], [93426, 1], [93425, 1], [93424, 1], [93423, 1], [93422, 1], [93421, 1], [93420, 1], [93419, 1], [93418, 1], [93417, 1], [93416, 1], [93415, 1], [93414, 1], [93413, 1], [93412, 1], [93411, 1], [93410, 1], [93409, 1], [93408, 1], [93407, 1], [93406, 1], [93405, 1], [93404, 1], [93403, 1], [93402, 1], [93401, 1], [93400, 1], [93399, 1], [93398, 1], [93397, 1], [93396, 1], [93395, 1], [93394, 1], [93393, 1], [93392, 1], [93391, 1], [93390, 1], [93389, 1], [93388, 1], [93387, 1], [93386, 1], [93385, 1], [93384, 1], [93383, 1], [93382, 1], [93381, 1], [93380, 1], [93379, 1], [93378, 1], [93377, 1], [93376, 1], [93375, 1], [93374, 1], [93373, 1], [93372, 1], [93371, 1], [93370, 1], [93369, 1], [93368, 1], [93367, 1], [93366, 1], [93365, 1], [93364, 1], [93363, 1], [93362, 1], [93361, 1], [93360, 1], [93359, 1], [93358, 1], [93357, 1], [93356, 1], [93355, 1], [93354, 1], [93353, 1], [93352, 1], [93351, 1], [93350, 1], [93349, 1], [93348, 1], [93347, 1], [93346, 1], [93345, 1], [93344, 1], [93343, 1], [93342, 1], [93341, 1], [93340, 1], [93339, 1], [93338, 1], [93337, 1], [93336, 1], [93335, 1], [93334, 1], [93333, 1], [93332, 1], [93331, 1], [93330, 1], [93329, 1], [93328, 1], [93327, 1], [93326, 1], [93325, 1], [93324, 1], [93323, 1], [93322, 1], [93321, 1], [93320, 1], [93319, 1], [93318, 1], [93317, 1], [93316, 1], [93315, 1], [93314, 1], [93313, 1], [93312, 1], [93311, 1], [93310, 1], [93309, 1], [93308, 1], [93307, 1], [93306, 1], [93305, 1], [93304, 1], [93303, 1], [93302, 1], [93301, 1], [93300, 1], [93299, 1], [93298, 1], [93297, 1], [93296, 1], [93295, 1], [93294, 1], [93293, 1], [93292, 1], [93291, 1], [93290, 1], [93289, 1], [93288, 1], [93287, 1], [93286, 1], [93285, 1], [93284, 1], [93283, 1], [93282, 1], [93281, 1], [93280, 1], [93279, 1], [93278, 1], [93277, 1], [93276, 1], [93275, 1], [93274, 1], [93273, 1], [93272, 1], [93271, 1], [93270, 1], [93269, 1], [93268, 1], [93267, 1], [93266, 1], [93265, 1], [93264, 1], [93263, 1], [93262, 1], [93261, 1], [93260, 1], [93259, 1], [93258, 1], [93257, 1], [93256, 1], [93255, 1], [93254, 1], [93253, 1], [93252, 1], [93251, 1], [93250, 1], [93249, 1], [93248, 1], [93247, 1], [93246, 1], [93245, 1], [93244, 1], [93243, 1], [93242, 1], [93241, 1], [93240, 1], [93239, 1], [93238, 1], [93237, 1], [93236, 1], [93235, 1], [93234, 1], [93233, 1], [93232, 1], [93231, 1], [93230, 1], [93229, 1], [93228, 1], [93227, 1], [93226, 1], [93225, 1], [93224, 1], [93223, 1], [93222, 1], [93221, 1], [93220, 1], [93219, 1], [93218, 1], [93217, 1], [93216, 1], [93215, 1], [93214, 1], [93213, 1], [93212, 1], [93211, 1], [93210, 1], [93209, 1], [93208, 1], [93207, 1], [93206, 1], [93205, 1], [93204, 1], [93203, 1], [93202, 1], [93201, 1], [93200, 1], [93199, 1], [93198, 1], [93197, 1], [93196, 1], [93195, 1], [93194, 1], [93193, 1], [93192, 1], [93191, 1], [93190, 1], [93189, 1], [93188, 1], [93187, 1], [93186, 1], [93185, 1], [93184, 1], [93183, 1], [93182, 1], [93181, 1], [93180, 1], [93179, 1], [93178, 1], [93177, 1], [93176, 1], [93175, 1], [93174, 1], [93173, 1], [93172, 1], [93171, 1], [93170, 1], [93169, 1], [93168, 1], [93167, 1], [93166, 1], [93165, 1], [93164, 1], [93163, 1], [93162, 1], [93161, 1], [93160, 1], [93159, 1], [93158, 1], [93157, 1], [93156, 1], [93155, 1], [93154, 1], [93153, 1], [93152, 1], [93151, 1], [93150, 1], [93149, 1], [93148, 1], [93147, 1], [93146, 1], [93145, 1], [93144, 1], [93143, 1], [93142, 1], [93141, 1], [93140, 1], [93139, 1], [93138, 1], [93137, 1], [93136, 1], [93135, 1], [93134, 1], [93133, 1], [93132, 1], [93131, 1], [93130, 1], [93129, 1], [93128, 1], [93127, 1], [93126, 1], [93125, 1], [93124, 1], [93123, 1], [93122, 1], [93121, 1], [93120, 1], [93119, 1], [93118, 1], [93117, 1], [93116, 1], [93115, 1], [93114, 1], [93113, 1], [93112, 1], [93111, 1], [93110, 1], [93109, 1], [93108, 1], [93107, 1], [93106, 1], [93105, 1], [93104, 1], [93103, 1], [93102, 1], [93101, 1], [93100, 1], [93099, 1], [93098, 1], [93097, 1], [93096, 1], [93095, 1], [93094, 1], [93093, 1], [93092, 1], [93091, 1], [93090, 1], [93089, 1], [93088, 1], [93087, 1], [93086, 1], [93085, 1], [93084, 1], [93083, 1], [93082, 1], [93081, 1], [93080, 1], [93079, 1], [93078, 1], [93077, 1], [93076, 1], [93075, 1], [93074, 1], [93073, 1], [93072, 1], [93071, 1], [93070, 1], [93069, 1], [93068, 1], [93067, 1], [93066, 1], [93065, 1], [93064, 1], [93063, 1], [93062, 1], [93061, 1], [93060, 1], [93059, 1], [93058, 1], [93057, 1], [93056, 1], [93055, 1], [93054, 1], [93053, 1], [93052, 1], [93051, 1], [93050, 1], [93049, 1], [93048, 1], [93047, 1], [93046, 1], [93045, 1], [93044, 1], [93043, 1], [93042, 1], [93041, 1], [93040, 1], [93039, 1], [93038, 1], [93037, 1], [93036, 1], [93035, 1], [93034, 1], [93033, 1], [93032, 1], [93031, 1], [93030, 1], [93029, 1], [93028, 1], [93027, 1], [93026, 1], [93025, 1], [93024, 1], [93023, 1], [93022, 1], [93021, 1], [93020, 1], [93019, 1], [93018, 1], [93017, 1], [93016, 1], [93015, 1], [93014, 1], [93013, 1], [93012, 1], [93011, 1], [93010, 1], [93009, 1], [93008, 1], [93007, 1], [93006, 1], [93005, 1], [93004, 1], [93003, 1], [93002, 1], [93001, 1], [93000, 1], [92999, 1], [92998, 1], [92997, 1], [92996, 1], [92995, 1], [92994, 1], [92993, 1], [92992, 1], [92991, 1], [92990, 1], [92989, 1], [92988, 1], [92987, 1], [92986, 1], [92985, 1], [92984, 1], [92983, 1], [92982, 1], [92981, 1], [92980, 1], [92979, 1], [92978, 1], [92977, 1], [92976, 1], [92975, 1], [92974, 1], [92973, 1], [92972, 1], [92971, 1], [92970, 1], [92969, 1], [92968, 1], [92967, 1], [92966, 1], [92965, 1], [92964, 1], [92963, 1], [92962, 1], [92961, 1], [92960, 1], [92959, 1], [92958, 1], [92957, 1], [92956, 1], [92955, 1], [92954, 1], [92953, 1], [92952, 1], [92951, 1], [92950, 1], [92949, 1], [92948, 1], [92947, 1], [92946, 1], [92945, 1], [92944, 1], [92943, 1], [92942, 1], [92941, 1], [92940, 1], [92939, 1], [92938, 1], [92937, 1], [92936, 1], [92935, 1], [92934, 1], [92933, 1], [92932, 1], [92931, 1], [92930, 1], [92929, 1], [92928, 1], [92927, 1], [92926, 1], [92925, 1], [92924, 1], [92923, 1], [92922, 1], [92921, 1], [92920, 1], [92919, 1], [92918, 1], [92917, 1], [92916, 1], [92915, 1], [92914, 1], [92913, 1], [92912, 1], [92911, 1], [92910, 1], [92909, 1], [92908, 1], [92907, 1], [92906, 1], [92905, 1], [92904, 1], [92903, 1], [92902, 1], [92901, 1], [92900, 1], [92899, 1], [92898, 1], [92897, 1], [92896, 1], [92895, 1], [92894, 1], [92893, 1], [92892, 1], [92891, 1], [92890, 1], [92889, 1], [92888, 1], [92887, 1], [92886, 1], [92885, 1], [92884, 1], [92883, 1], [92882, 1], [92881, 1], [92880, 1], [92879, 1], [92878, 1], [92877, 1], [92876, 1], [92875, 1], [92874, 1], [92873, 1], [92872, 1], [92871, 1], [92870, 1], [92869, 1], [92868, 1], [92867, 1], [92866, 1], [92865, 1], [92864, 1], [92863, 1], [92862, 1], [92861, 1], [92860, 1], [92859, 1], [92858, 1], [92857, 1], [92856, 1], [92855, 1], [92854, 1], [92853, 1], [92852, 1], [92851, 1], [92850, 1], [92849, 1], [92848, 1], [92847, 1], [92846, 1], [92845, 1], [92844, 1], [92843, 1], [92842, 1], [92841, 1], [92840, 1], [92839, 1], [92838, 1], [92837, 1], [92836, 1], [92835, 1], [92834, 1], [92833, 1], [92832, 1], [92831, 1], [92830, 1], [92829, 1], [92828, 1], [92827, 1], [92826, 1], [92825, 1], [92824, 1], [92823, 1], [92822, 1], [92821, 1], [92820, 1], [92819, 1], [92818, 1], [92817, 1], [92816, 1], [92815, 1], [92814, 1], [92813, 1], [92812, 1], [92811, 1], [92810, 1], [92809, 1], [92808, 1], [92807, 1], [92806, 1], [92805, 1], [92804, 1], [92803, 1], [92802, 1], [92801, 1], [92800, 1], [92799, 1], [92798, 1], [92797, 1], [92796, 1], [92795, 1], [92794, 1], [92793, 1], [92792, 1], [92791, 1], [92790, 1], [92789, 1], [92788, 1], [92787, 1], [92786, 1], [92785, 1], [92784, 1], [92783, 1], [92782, 1], [92781, 1], [92780, 1], [92779, 1], [92778, 1], [92777, 1], [92776, 1], [92775, 1], [92774, 1], [92773, 1], [92772, 1], [92771, 1], [92770, 1], [92769, 1], [92768, 1], [92767, 1], [92766, 1], [92765, 1], [92764, 1], [92763, 1], [92762, 1], [92761, 1], [92760, 1], [92759, 1], [92758, 1], [92757, 1], [92756, 1], [92755, 1], [92754, 1], [92753, 1], [92752, 1], [92751, 1], [92750, 1], [92749, 1], [92748, 1], [92747, 1], [92746, 1], [92745, 1], [92744, 1], [92743, 1], [92742, 1], [92741, 1], [92740, 1], [92739, 1], [92738, 1], [92737, 1], [92736, 1], [92735, 1], [92734, 1], [92733, 1], [92732, 1], [92731, 1], [92730, 1], [92729, 1], [92728, 1], [92727, 1], [92726, 1], [92725, 1], [92724, 1], [92723, 1], [92722, 1], [92721, 1], [92720, 1], [92719, 1], [92718, 1], [92717, 1], [92716, 1], [92715, 1], [92714, 1], [92713, 1], [92712, 1], [92711, 1], [92710, 1], [92709, 1], [92708, 1], [92707, 1], [92706, 1], [92705, 1], [92704, 1], [92703, 1], [92702, 1], [92701, 1], [92700, 1], [92699, 1], [92698, 1], [92697, 1], [92696, 1], [92695, 1], [92694, 1], [92693, 1], [92692, 1], [92691, 1], [92690, 1], [92689, 1], [92688, 1], [92687, 1], [92686, 1], [92685, 1], [92684, 1], [92683, 1], [92682, 1], [92681, 1], [92680, 1], [92679, 1], [92678, 1], [92677, 1], [92676, 1], [92675, 1], [92674, 1], [92673, 1], [92672, 1], [92671, 1], [92670, 1], [92669, 1], [92668, 1], [92667, 1], [92666, 1], [92665, 1], [92664, 1], [92663, 1], [92662, 1], [92661, 1], [92660, 1], [92659, 1], [92658, 1], [92657, 1], [92656, 1], [92655, 1], [92654, 1], [92653, 1], [92652, 1], [92651, 1], [92650, 1], [92649, 1], [92648, 1], [92647, 1], [92646, 1], [92645, 1], [92644, 1], [92643, 1], [92642, 1], [92641, 1], [92640, 1], [92639, 1], [92638, 1], [92637, 1], [92636, 1], [92635, 1], [92634, 1], [92633, 1], [92632, 1], [92631, 1], [92630, 1], [92629, 1], [92628, 1], [92627, 1], [92626, 1], [92625, 1], [92624, 1], [92623, 1], [92622, 1], [92621, 1], [92620, 1], [92619, 1], [92618, 1], [92617, 1], [92616, 1], [92615, 1], [92614, 1], [92613, 1], [92612, 1], [92611, 1], [92610, 1], [92609, 1], [92608, 1], [92607, 1], [92606, 1], [92605, 1], [92604, 1], [92603, 1], [92602, 1], [92601, 1], [92600, 1], [92599, 1], [92598, 1], [92597, 1], [92596, 1], [92595, 1], [92594, 1], [92593, 1], [92592, 1], [92591, 1], [92590, 1], [92589, 1], [92588, 1], [92587, 1], [92586, 1], [92585, 1], [92584, 1], [92583, 1], [92582, 1], [92581, 1], [92580, 1], [92579, 1], [92578, 1], [92577, 1], [92576, 1], [92575, 1], [92574, 1], [92573, 1], [92572, 1], [92571, 1], [92570, 1], [92569, 1], [92568, 1], [92567, 1], [92566, 1], [92565, 1], [92564, 1], [92563, 1], [92562, 1], [92561, 1], [92560, 1], [92559, 1], [92558, 1], [92557, 1], [92556, 1], [92555, 1], [92554, 1], [92553, 1], [92552, 1], [92551, 1], [92550, 1], [92549, 1], [92548, 1], [92547, 1], [92546, 1], [92545, 1], [92544, 1], [92543, 1], [92542, 1], [92541, 1], [92540, 1], [92539, 1], [92538, 1], [92537, 1], [92536, 1], [92535, 1], [92534, 1], [92533, 1], [92532, 1], [92531, 1], [92530, 1], [92529, 1], [92528, 1], [92527, 1], [92526, 1], [92525, 1], [92524, 1], [92523, 1], [92522, 1], [92521, 1], [92520, 1], [92519, 1], [92518, 1], [92517, 1], [92516, 1], [92515, 1], [92514, 1], [92513, 1], [92512, 1], [92511, 1], [92510, 1], [92509, 1], [92508, 1], [92507, 1], [92506, 1], [92505, 1], [92504, 1], [92503, 1], [92502, 1], [92501, 1], [92500, 1], [92499, 1], [92498, 1], [92497, 1], [92496, 1], [92495, 1], [92494, 1], [92493, 1], [92492, 1], [92491, 1], [92490, 1], [92489, 1], [92488, 1], [92487, 1], [92486, 1], [92485, 1], [92484, 1], [92483, 1], [92482, 1], [92481, 1], [92480, 1], [92479, 1], [92478, 1], [92477, 1], [92476, 1], [92475, 1], [92474, 1], [92473, 1], [92472, 1], [92471, 1], [92470, 1], [92469, 1], [92468, 1], [92467, 1], [92466, 1], [92465, 1], [92464, 1], [92463, 1], [92462, 1], [92461, 1], [92460, 1], [92459, 1], [92458, 1], [92457, 1], [92456, 1], [92455, 1], [92454, 1], [92453, 1], [92452, 1], [92451, 1], [92450, 1], [92449, 1], [92448, 1], [92447, 1], [92446, 1], [92445, 1], [92444, 1], [92443, 1], [92442, 1], [92441, 1], [92440, 1], [92439, 1], [92438, 1], [92437, 1], [92436, 1], [92435, 1], [92434, 1], [92433, 1], [92432, 1], [92431, 1], [92430, 1], [92429, 1], [92428, 1], [92427, 1], [92426, 1], [92425, 1], [92424, 1], [92423, 1], [92422, 1], [92421, 1], [92420, 1], [92419, 1], [92418, 1], [92417, 1], [92416, 1], [92415, 1], [92414, 1], [92413, 1], [92412, 1], [92411, 1], [92410, 1], [92409, 1], [92408, 1], [92407, 1], [92406, 1], [92405, 1], [92404, 1], [92403, 1], [92402, 1], [92401, 1], [92400, 1], [92399, 1], [92398, 1], [92397, 1], [92396, 1], [92395, 1], [92394, 1], [92393, 1], [92392, 1], [92391, 1], [92390, 1], [92389, 1], [92388, 1], [92387, 1], [92386, 1], [92385, 1], [92384, 1], [92383, 1], [92382, 1], [92381, 1], [92380, 1], [92379, 1], [92378, 1], [92377, 1], [92376, 1], [92375, 1], [92374, 1], [92373, 1], [92372, 1], [92371, 1], [92370, 1], [92369, 1], [92368, 1], [92367, 1], [92366, 1], [92365, 1], [92364, 1], [92363, 1], [92362, 1], [92361, 1], [92360, 1], [92359, 1], [92358, 1], [92357, 1], [92356, 1], [92355, 1], [92354, 1], [92353, 1], [92352, 1], [92351, 1], [92350, 1], [92349, 1], [92348, 1], [92347, 1], [92346, 1], [92345, 1], [92344, 1], [92343, 1], [92342, 1], [92341, 1], [92340, 1], [92339, 1], [92338, 1], [92337, 1], [92336, 1], [92335, 1], [92334, 1], [92333, 1], [92332, 1], [92331, 1], [92330, 1], [92329, 1], [92328, 1], [92327, 1], [92326, 1], [92325, 1], [92324, 1], [92323, 1], [92322, 1], [92321, 1], [92320, 1], [92319, 1], [92318, 1], [92317, 1], [92316, 1], [92315, 1], [92314, 1], [92313, 1], [92312, 1], [92311, 1], [92310, 1], [92309, 1], [92308, 1], [92307, 1], [92306, 1], [92305, 1], [92304, 1], [92303, 1], [92302, 1], [92301, 1], [92300, 1], [92299, 1], [92298, 1], [92297, 1], [92296, 1], [92295, 1], [92294, 1], [92293, 1], [92292, 1], [92291, 1], [92290, 1], [92289, 1], [92288, 1], [92287, 1], [92286, 1], [92285, 1], [92284, 1], [92283, 1], [92282, 1], [92281, 1], [92280, 1], [92279, 1], [92278, 1], [92277, 1], [92276, 1], [92275, 1], [92274, 1], [92273, 1], [92272, 1], [92271, 1], [92270, 1], [92269, 1], [92268, 1], [92267, 1], [92266, 1], [92265, 1], [92264, 1], [92263, 1], [92262, 1], [92261, 1], [92260, 1], [92259, 1], [92258, 1], [92257, 1], [92256, 1], [92255, 1], [92254, 1], [92253, 1], [92252, 1], [92251, 1], [92250, 1], [92249, 1], [92248, 1], [92247, 1], [92246, 1], [92245, 1], [92244, 1], [92243, 1], [92242, 1], [92241, 1], [92240, 1], [92239, 1], [92238, 1], [92237, 1], [92236, 1], [92235, 1], [92234, 1], [92233, 1], [92232, 1], [92231, 1], [92230, 1], [92229, 1], [92228, 1], [92227, 1], [92226, 1], [92225, 1], [92224, 1], [92223, 1], [92222, 1], [92221, 1], [92220, 1], [92219, 1], [92218, 1], [92217, 1], [92216, 1], [92215, 1], [92214, 1], [92213, 1], [92212, 1], [92211, 1], [92210, 1], [92209, 1], [92208, 1], [92207, 1], [92206, 1], [92205, 1], [92204, 1], [92203, 1], [92202, 1], [92201, 1], [92200, 1], [92199, 1], [92198, 1], [92197, 1], [92196, 1], [92195, 1], [92194, 1], [92193, 1], [92192, 1], [92191, 1], [92190, 1], [92189, 1], [92188, 1], [92187, 1], [92186, 1], [92185, 1], [92184, 1], [92183, 1], [92182, 1], [92181, 1], [92180, 1], [92179, 1], [92178, 1], [92177, 1], [92176, 1], [92175, 1], [92174, 1], [92173, 1], [92172, 1], [92171, 1], [92170, 1], [92169, 1], [92168, 1], [92167, 1], [92166, 1], [92165, 1], [92164, 1], [92163, 1], [92162, 1], [92161, 1], [92160, 1], [92159, 1], [92158, 1], [92157, 1], [92156, 1], [92155, 1], [92154, 1], [92153, 1], [92152, 1], [92151, 1], [92150, 1], [92149, 1], [92148, 1], [92147, 1], [92146, 1], [92145, 1], [92144, 1], [92143, 1], [92142, 1], [92141, 1], [92140, 1], [92139, 1], [92138, 1], [92137, 1], [92136, 1], [92135, 1], [92134, 1], [92133, 1], [92132, 1], [92131, 1], [92130, 1], [92129, 1], [92128, 1], [92127, 1], [92126, 1], [92125, 1], [92124, 1], [92123, 1], [92122, 1], [92121, 1], [92120, 1], [92119, 1], [92118, 1], [92117, 1], [92116, 1], [92115, 1], [92114, 1], [92113, 1], [92112, 1], [92111, 1], [92110, 1], [92109, 1], [92108, 1], [92107, 1], [92106, 1], [92105, 1], [92104, 1], [92103, 1], [92102, 1], [92101, 1], [92100, 1], [92099, 1], [92098, 1], [92097, 1], [92096, 1], [92095, 1], [92094, 1], [92093, 1], [92092, 1], [92091, 1], [92090, 1], [92089, 1], [92088, 1], [92087, 1], [92086, 1], [92085, 1], [92084, 1], [92083, 1], [92082, 1], [92081, 1], [92080, 1], [92079, 1], [92078, 1], [92077, 1], [92076, 1], [92075, 1], [92074, 1], [92073, 1], [92072, 1], [92071, 1], [92070, 1], [92069, 1], [92068, 1], [92067, 1], [92066, 1], [92065, 1], [92064, 1], [92063, 1], [92062, 1], [92061, 1], [92060, 1], [92059, 1], [92058, 1], [92057, 1], [92056, 1], [92055, 1], [92054, 1], [92053, 1], [92052, 1], [92051, 1], [92050, 1], [92049, 1], [92048, 1], [92047, 1], [92046, 1], [92045, 1], [92044, 1], [92043, 1], [92042, 1], [92041, 1], [92040, 1], [92039, 1], [92038, 1], [92037, 1], [92036, 1], [92035, 1], [92034, 1], [92033, 1], [92032, 1], [92031, 1], [92030, 1], [92029, 1], [92028, 1], [92027, 1], [92026, 1], [92025, 1], [92024, 1], [92023, 1], [92022, 1], [92021, 1], [92020, 1], [92019, 1], [92018, 1], [92017, 1], [92016, 1], [92015, 1], [92014, 1], [92013, 1], [92012, 1], [92011, 1], [92010, 1], [92009, 1], [92008, 1], [92007, 1], [92006, 1], [92005, 1], [92004, 1], [92003, 1], [92002, 1], [92001, 1], [92000, 1], [91999, 1], [91998, 1], [91997, 1], [91996, 1], [91995, 1], [91994, 1], [91993, 1], [91992, 1], [91991, 1], [91990, 1], [91989, 1], [91988, 1], [91987, 1], [91986, 1], [91985, 1], [91984, 1], [91983, 1], [91982, 1], [91981, 1], [91980, 1], [91979, 1], [91978, 1], [91977, 1], [91976, 1], [91975, 1], [91974, 1], [91973, 1], [91972, 1], [91971, 1], [91970, 1], [91969, 1], [91968, 1], [91967, 1], [91966, 1], [91965, 1], [91964, 1], [91963, 1], [91962, 1], [91961, 1], [91960, 1], [91959, 1], [91958, 1], [91957, 1], [91956, 1], [91955, 1], [91954, 1], [91953, 1], [91952, 1], [91951, 1], [91950, 1], [91949, 1], [91948, 1], [91947, 1], [91946, 1], [91945, 1], [91944, 1], [91943, 1], [91942, 1], [91941, 1], [91940, 1], [91939, 1], [91938, 1], [91937, 1], [91936, 1], [91935, 1], [91934, 1], [91933, 1], [91932, 1], [91931, 1], [91930, 1], [91929, 1], [91928, 1], [91927, 1], [91926, 1], [91925, 1], [91924, 1], [91923, 1], [91922, 1], [91921, 1], [91920, 1], [91919, 1], [91918, 1], [91917, 1], [91916, 1], [91915, 1], [91914, 1], [91913, 1], [91912, 1], [91911, 1], [91910, 1], [91909, 1], [91908, 1], [91907, 1], [91906, 1], [91905, 1], [91904, 1], [91903, 1], [91902, 1], [91901, 1], [91900, 1], [91899, 1], [91898, 1], [91897, 1], [91896, 1], [91895, 1], [91894, 1], [91893, 1], [91892, 1], [91891, 1], [91890, 1], [91889, 1], [91888, 1], [91887, 1], [91886, 1], [91885, 1], [91884, 1], [91883, 1], [91882, 1], [91881, 1], [91880, 1], [91879, 1], [91878, 1], [91877, 1], [91876, 1], [91875, 1], [91874, 1], [91873, 1], [91872, 1], [91871, 1], [91870, 1], [91869, 1], [91868, 1], [91867, 1], [91866, 1], [91865, 1], [91864, 1], [91863, 1], [91862, 1], [91861, 1], [91860, 1], [91859, 1], [91858, 1], [91857, 1], [91856, 1], [91855, 1], [91854, 1], [91853, 1], [91852, 1], [91851, 1], [91850, 1], [91849, 1], [91848, 1], [91847, 1], [91846, 1], [91845, 1], [91844, 1], [91843, 1], [91842, 1], [91841, 1], [91840, 1], [91839, 1], [91838, 1], [91837, 1], [91836, 1], [91835, 1], [91834, 1], [91833, 1], [91832, 1], [91831, 1], [91830, 1], [91829, 1], [91828, 1], [91827, 1], [91826, 1], [91825, 1], [91824, 1], [91823, 1], [91822, 1], [91821, 1], [91820, 1], [91819, 1], [91818, 1], [91817, 1], [91816, 1], [91815, 1], [91814, 1], [91813, 1], [91812, 1], [91811, 1], [91810, 1], [91809, 1], [91808, 1], [91807, 1], [91806, 1], [91805, 1], [91804, 1], [91803, 1], [91802, 1], [91801, 1], [91800, 1], [91799, 1], [91798, 1], [91797, 1], [91796, 1], [91795, 1], [91794, 1], [91793, 1], [91792, 1], [91791, 1], [91790, 1], [91789, 1], [91788, 1], [91787, 1], [91786, 1], [91785, 1], [91784, 1], [91783, 1], [91782, 1], [91781, 1], [91780, 1], [91779, 1], [91778, 1], [91777, 1], [91776, 1], [91775, 1], [91774, 1], [91773, 1], [91772, 1], [91771, 1], [91770, 1], [91769, 1], [91768, 1], [91767, 1], [91766, 1], [91765, 1], [91764, 1], [91763, 1], [91762, 1], [91761, 1], [91760, 1], [91759, 1], [91758, 1], [91757, 1], [91756, 1], [91755, 1], [91754, 1], [91753, 1], [91752, 1], [91751, 1], [91750, 1], [91749, 1], [91748, 1], [91747, 1], [91746, 1], [91745, 1], [91744, 1], [91743, 1], [91742, 1], [91741, 1], [91740, 1], [91739, 1], [91738, 1], [91737, 1], [91736, 1], [91735, 1], [91734, 1], [91733, 1], [91732, 1], [91731, 1], [91730, 1], [91729, 1], [91728, 1], [91727, 1], [91726, 1], [91725, 1], [91724, 1], [91723, 1], [91722, 1], [91721, 1], [91720, 1], [91719, 1], [91718, 1], [91717, 1], [91716, 1], [91715, 1], [91714, 1], [91713, 1], [91712, 1], [91711, 1], [91710, 1], [91709, 1], [91708, 1], [91707, 1], [91706, 1], [91705, 1], [91704, 1], [91703, 1], [91702, 1], [91701, 1], [91700, 1], [91699, 1], [91698, 1], [91697, 1], [91696, 1], [91695, 1], [91694, 1], [91693, 1], [91692, 1], [91691, 1], [91690, 1], [91689, 1], [91688, 1], [91687, 1], [91686, 1], [91685, 1], [91684, 1], [91683, 1], [91682, 1], [91681, 1], [91680, 1], [91679, 1], [91678, 1], [91677, 1], [91676, 1], [91675, 1], [91674, 1], [91673, 1], [91672, 1], [91671, 1], [91670, 1], [91669, 1], [91668, 1], [91667, 1], [91666, 1], [91665, 1], [91664, 1], [91663, 1], [91662, 1], [91661, 1], [91660, 1], [91659, 1], [91658, 1], [91657, 1], [91656, 1], [91655, 1], [91654, 1], [91653, 1], [91652, 1], [91651, 1], [91650, 1], [91649, 1], [91648, 1], [91647, 1], [91646, 1], [91645, 1], [91644, 1], [91643, 1], [91642, 1], [91641, 1], [91640, 1], [91639, 1], [91638, 1], [91637, 1], [91636, 1], [91635, 1], [91634, 1], [91633, 1], [91632, 1], [91631, 1], [91630, 1], [91629, 1], [91628, 1], [91627, 1], [91626, 1], [91625, 1], [91624, 1], [91623, 1], [91622, 1], [91621, 1], [91620, 1], [91619, 1], [91618, 1], [91617, 1], [91616, 1], [91615, 1], [91614, 1], [91613, 1], [91612, 1], [91611, 1], [91610, 1], [91609, 1], [91608, 1], [91607, 1], [91606, 1], [91605, 1], [91604, 1], [91603, 1], [91602, 1], [91601, 1], [91600, 1], [91599, 1], [91598, 1], [91597, 1], [91596, 1], [91595, 1], [91594, 1], [91593, 1], [91592, 1], [91591, 1], [91590, 1], [91589, 1], [91588, 1], [91587, 1], [91586, 1], [91585, 1], [91584, 1], [91583, 1], [91582, 1], [91581, 1], [91580, 1], [91579, 1], [91578, 1], [91577, 1], [91576, 1], [91575, 1], [91574, 1], [91573, 1], [91572, 1], [91571, 1], [91570, 1], [91569, 1], [91568, 1], [91567, 1], [91566, 1], [91565, 1], [91564, 1], [91563, 1], [91562, 1], [91561, 1], [91560, 1], [91559, 1], [91558, 1], [91557, 1], [91556, 1], [91555, 1], [91554, 1], [91553, 1], [91552, 1], [91551, 1], [91550, 1], [91549, 1], [91548, 1], [91547, 1], [91546, 1], [91545, 1], [91544, 1], [91543, 1], [91542, 1], [91541, 1], [91540, 1], [91539, 1], [91538, 1], [91537, 1], [91536, 1], [91535, 1], [91534, 1], [91533, 1], [91532, 1], [91531, 1], [91530, 1], [91529, 1], [91528, 1], [91527, 1], [91526, 1], [91525, 1], [91524, 1], [91523, 1], [91522, 1], [91521, 1], [91520, 1], [91519, 1], [91518, 1], [91517, 1], [91516, 1], [91515, 1], [91514, 1], [91513, 1], [91512, 1], [91511, 1], [91510, 1], [91509, 1], [91508, 1], [91507, 1], [91506, 1], [91505, 1], [91504, 1], [91503, 1], [91502, 1], [91501, 1], [91500, 1], [91499, 1], [91498, 1], [91497, 1], [91496, 1], [91495, 1], [91494, 1], [91493, 1], [91492, 1], [91491, 1], [91490, 1], [91489, 1], [91488, 1], [91487, 1], [91486, 1], [91485, 1], [91484, 1], [91483, 1], [91482, 1], [91481, 1], [91480, 1], [91479, 1], [91478, 1], [91477, 1], [91476, 1], [91475, 1], [91474, 1], [91473, 1], [91472, 1], [91471, 1], [91470, 1], [91469, 1], [91468, 1], [91467, 1], [91466, 1], [91465, 1], [91464, 1], [91463, 1], [91462, 1], [91461, 1], [91460, 1], [91459, 1], [91458, 1], [91457, 1], [91456, 1], [91455, 1], [91454, 1], [91453, 1], [91452, 1], [91451, 1], [91450, 1], [91449, 1], [91448, 1], [91447, 1], [91446, 1], [91445, 1], [91444, 1], [91443, 1], [91442, 1], [91441, 1], [91440, 1], [91439, 1], [91438, 1], [91437, 1], [91436, 1], [91435, 1], [91434, 1], [91433, 1], [91432, 1], [91431, 1], [91430, 1], [91429, 1], [91428, 1], [91427, 1], [91426, 1], [91425, 1], [91424, 1], [91423, 1], [91422, 1], [91421, 1], [91420, 1], [91419, 1], [91418, 1], [91417, 1], [91416, 1], [91415, 1], [91414, 1], [91413, 1], [91412, 1], [91411, 1], [91410, 1], [91409, 1], [91408, 1], [91407, 1], [91406, 1], [91405, 1], [91404, 1], [91403, 1], [91402, 1], [91401, 1], [91400, 1], [91399, 1], [91398, 1], [91397, 1], [91396, 1], [91395, 1], [91394, 1], [91393, 1], [91392, 1], [91391, 1], [91390, 1], [91389, 1], [91388, 1], [91387, 1], [91386, 1], [91385, 1], [91384, 1], [91383, 1], [91382, 1], [91381, 1], [91380, 1], [91379, 1], [91378, 1], [91377, 1], [91376, 1], [91375, 1], [91374, 1], [91373, 1], [91372, 1], [91371, 1], [91370, 1], [91369, 1], [91368, 1], [91367, 1], [91366, 1], [91365, 1], [91364, 1], [91363, 1], [91362, 1], [91361, 1], [91360, 1], [91359, 1], [91358, 1], [91357, 1], [91356, 1], [91355, 1], [91354, 1], [91353, 1], [91352, 1], [91351, 1], [91350, 1], [91349, 1], [91348, 1], [91347, 1], [91346, 1], [91345, 1], [91344, 1], [91343, 1], [91342, 1], [91341, 1], [91340, 1], [91339, 1], [91338, 1], [91337, 1], [91336, 1], [91335, 1], [91334, 1], [91333, 1], [91332, 1], [91331, 1], [91330, 1], [91329, 1], [91328, 1], [91327, 1], [91326, 1], [91325, 1], [91324, 1], [91323, 1], [91322, 1], [91321, 1], [91320, 1], [91319, 1], [91318, 1], [91317, 1], [91316, 1], [91315, 1], [91314, 1], [91313, 1], [91312, 1], [91311, 1], [91310, 1], [91309, 1], [91308, 1], [91307, 1], [91306, 1], [91305, 1], [91304, 1], [91303, 1], [91302, 1], [91301, 1], [91300, 1], [91299, 1], [91298, 1], [91297, 1], [91296, 1], [91295, 1], [91294, 1], [91293, 1], [91292, 1], [91291, 1], [91290, 1], [91289, 1], [91288, 1], [91287, 1], [91286, 1], [91285, 1], [91284, 1], [91283, 1], [91282, 1], [91281, 1], [91280, 1], [91279, 1], [91278, 1], [91277, 1], [91276, 1], [91275, 1], [91274, 1], [91273, 1], [91272, 1], [91271, 1], [91270, 1], [91269, 1], [91268, 1], [91267, 1], [91266, 1], [91265, 1], [91264, 1], [91263, 1], [91262, 1], [91261, 1], [91260, 1], [91259, 1], [91258, 1], [91257, 1], [91256, 1], [91255, 1], [91254, 1], [91253, 1], [91252, 1], [91251, 1], [91250, 1], [91249, 1], [91248, 1], [91247, 1], [91246, 1], [91245, 1], [91244, 1], [91243, 1], [91242, 1], [91241, 1], [91240, 1], [91239, 1], [91238, 1], [91237, 1], [91236, 1], [91235, 1], [91234, 1], [91233, 1], [91232, 1], [91231, 1], [91230, 1], [91229, 1], [91228, 1], [91227, 1], [91226, 1], [91225, 1], [91224, 1], [91223, 1], [91222, 1], [91221, 1], [91220, 1], [91219, 1], [91218, 1], [91217, 1], [91216, 1], [91215, 1], [91214, 1], [91213, 1], [91212, 1], [91211, 1], [91210, 1], [91209, 1], [91208, 1], [91207, 1], [91206, 1], [91205, 1], [91204, 1], [91203, 1], [91202, 1], [91201, 1], [91200, 1], [91199, 1], [91198, 1], [91197, 1], [91196, 1], [91195, 1], [91194, 1], [91193, 1], [91192, 1], [91191, 1], [91190, 1], [91189, 1], [91188, 1], [91187, 1], [91186, 1], [91185, 1], [91184, 1], [91183, 1], [91182, 1], [91181, 1], [91180, 1], [91179, 1], [91178, 1], [91177, 1], [91176, 1], [91175, 1], [91174, 1], [91173, 1], [91172, 1], [91171, 1], [91170, 1], [91169, 1], [91168, 1], [91167, 1], [91166, 1], [91165, 1], [91164, 1], [91163, 1], [91162, 1], [91161, 1], [91160, 1], [91159, 1], [91158, 1], [91157, 1], [91156, 1], [91155, 1], [91154, 1], [91153, 1], [91152, 1], [91151, 1], [91150, 1], [91149, 1], [91148, 1], [91147, 1], [91146, 1], [91145, 1], [91144, 1], [91143, 1], [91142, 1], [91141, 1], [91140, 1], [91139, 1], [91138, 1], [91137, 1], [91136, 1], [91135, 1], [91134, 1], [91133, 1], [91132, 1], [91131, 1], [91130, 1], [91129, 1], [91128, 1], [91127, 1], [91126, 1], [91125, 1], [91124, 1], [91123, 1], [91122, 1], [91121, 1], [91120, 1], [91119, 1], [91118, 1], [91117, 1], [91116, 1], [91115, 1], [91114, 1], [91113, 1], [91112, 1], [91111, 1], [91110, 1], [91109, 1], [91108, 1], [91107, 1], [91106, 1], [91105, 1], [91104, 1], [91103, 1], [91102, 1], [91101, 1], [91100, 1], [91099, 1], [91098, 1], [91097, 1], [91096, 1], [91095, 1], [91094, 1], [91093, 1], [91092, 1], [91091, 1], [91090, 1], [91089, 1], [91088, 1], [91087, 1], [91086, 1], [91085, 1], [91084, 1], [91083, 1], [91082, 1], [91081, 1], [91080, 1], [91079, 1], [91078, 1], [91077, 1], [91076, 1], [91075, 1], [91074, 1], [91073, 1], [91072, 1], [91071, 1], [91070, 1], [91069, 1], [91068, 1], [91067, 1], [91066, 1], [91065, 1], [91064, 1], [91063, 1], [91062, 1], [91061, 1], [91060, 1], [91059, 1], [91058, 1], [91057, 1], [91056, 1], [91055, 1], [91054, 1], [91053, 1], [91052, 1], [91051, 1], [91050, 1], [91049, 1], [91048, 1], [91047, 1], [91046, 1], [91045, 1], [91044, 1], [91043, 1], [91042, 1], [91041, 1], [91040, 1], [91039, 1], [91038, 1], [91037, 1], [91036, 1], [91035, 1], [91034, 1], [91033, 1], [91032, 1], [91031, 1], [91030, 1], [91029, 1], [91028, 1], [91027, 1], [91026, 1], [91025, 1], [91024, 1], [91023, 1], [91022, 1], [91021, 1], [91020, 1], [91019, 1], [91018, 1], [91017, 1], [91016, 1], [91015, 1], [91014, 1], [91013, 1], [91012, 1], [91011, 1], [91010, 1], [91009, 1], [91008, 1], [91007, 1], [91006, 1], [91005, 1], [91004, 1], [91003, 1], [91002, 1], [91001, 1], [91000, 1], [90999, 1], [90998, 1], [90997, 1], [90996, 1], [90995, 1], [90994, 1], [90993, 1], [90992, 1], [90991, 1], [90990, 1], [90989, 1], [90988, 1], [90987, 1], [90986, 1], [90985, 1], [90984, 1], [90983, 1], [90982, 1], [90981, 1], [90980, 1], [90979, 1], [90978, 1], [90977, 1], [90976, 1], [90975, 1], [90974, 1], [90973, 1], [90972, 1], [90971, 1], [90970, 1], [90969, 1], [90968, 1], [90967, 1], [90966, 1], [90965, 1], [90964, 1], [90963, 1], [90962, 1], [90961, 1], [90960, 1], [90959, 1], [90958, 1], [90957, 1], [90956, 1], [90955, 1], [90954, 1], [90953, 1], [90952, 1], [90951, 1], [90950, 1], [90949, 1], [90948, 1], [90947, 1], [90946, 1], [90945, 1], [90944, 1], [90943, 1], [90942, 1], [90941, 1], [90940, 1], [90939, 1], [90938, 1], [90937, 1], [90936, 1], [90935, 1], [90934, 1], [90933, 1], [90932, 1], [90931, 1], [90930, 1], [90929, 1], [90928, 1], [90927, 1], [90926, 1], [90925, 1], [90924, 1], [90923, 1], [90922, 1], [90921, 1], [90920, 1], [90919, 1], [90918, 1], [90917, 1], [90916, 1], [90915, 1], [90914, 1], [90913, 1], [90912, 1], [90911, 1], [90910, 1], [90909, 1], [90908, 1], [90907, 1], [90906, 1], [90905, 1], [90904, 1], [90903, 1], [90902, 1], [90901, 1], [90900, 1], [90899, 1], [90898, 1], [90897, 1], [90896, 1], [90895, 1], [90894, 1], [90893, 1], [90892, 1], [90891, 1], [90890, 1], [90889, 1], [90888, 1], [90887, 1], [90886, 1], [90885, 1], [90884, 1], [90883, 1], [90882, 1], [90881, 1], [90880, 1], [90879, 1], [90878, 1], [90877, 1], [90876, 1], [90875, 1], [90874, 1], [90873, 1], [90872, 1], [90871, 1], [90870, 1], [90869, 1], [90868, 1], [90867, 1], [90866, 1], [90865, 1], [90864, 1], [90863, 1], [90862, 1], [90861, 1], [90860, 1], [90859, 1], [90858, 1], [90857, 1], [90856, 1], [90855, 1], [90854, 1], [90853, 1], [90852, 1], [90851, 1], [90850, 1], [90849, 1], [90848, 1], [90847, 1], [90846, 1], [90845, 1], [90844, 1], [90843, 1], [90842, 1], [90841, 1], [90840, 1], [90839, 1], [90838, 1], [90837, 1], [90836, 1], [90835, 1], [90834, 1], [90833, 1], [90832, 1], [90831, 1], [90830, 1], [90829, 1], [90828, 1], [90827, 1], [90826, 1], [90825, 1], [90824, 1], [90823, 1], [90822, 1], [90821, 1], [90820, 1], [90819, 1], [90818, 1], [90817, 1], [90816, 1], [90815, 1], [90814, 1], [90813, 1], [90812, 1], [90811, 1], [90810, 1], [90809, 1], [90808, 1], [90807, 1], [90806, 1], [90805, 1], [90804, 1], [90803, 1], [90802, 1], [90801, 1], [90800, 1], [90799, 1], [90798, 1], [90797, 1], [90796, 1], [90795, 1], [90794, 1], [90793, 1], [90792, 1], [90791, 1], [90790, 1], [90789, 1], [90788, 1], [90787, 1], [90786, 1], [90785, 1], [90784, 1], [90783, 1], [90782, 1], [90781, 1], [90780, 1], [90779, 1], [90778, 1], [90777, 1], [90776, 1], [90775, 1], [90774, 1], [90773, 1], [90772, 1], [90771, 1], [90770, 1], [90769, 1], [90768, 1], [90767, 1], [90766, 1], [90765, 1], [90764, 1], [90763, 1], [90762, 1], [90761, 1], [90760, 1], [90759, 1], [90758, 1], [90757, 1], [90756, 1], [90755, 1], [90754, 1], [90753, 1], [90752, 1], [90751, 1], [90750, 1], [90749, 1], [90748, 1], [90747, 1], [90746, 1], [90745, 1], [90744, 1], [90743, 1], [90742, 1], [90741, 1], [90740, 1], [90739, 1], [90738, 1], [90737, 1], [90736, 1], [90735, 1], [90734, 1], [90733, 1], [90732, 1], [90731, 1], [90730, 1], [90729, 1], [90728, 1], [90727, 1], [90726, 1], [90725, 1], [90724, 1], [90723, 1], [90722, 1], [90721, 1], [90720, 1], [90719, 1], [90718, 1], [90717, 1], [90716, 1], [90715, 1], [90714, 1], [90713, 1], [90712, 1], [90711, 1], [90710, 1], [90709, 1], [90708, 1], [90707, 1], [90706, 1], [90705, 1], [90704, 1], [90703, 1], [90702, 1], [90701, 1], [90700, 1], [90699, 1], [90698, 1], [90697, 1], [90696, 1], [90695, 1], [90694, 1], [90693, 1], [90692, 1], [90691, 1], [90690, 1], [90689, 1], [90688, 1], [90687, 1], [90686, 1], [90685, 1], [90684, 1], [90683, 1], [90682, 1], [90681, 1], [90680, 1], [90679, 1], [90678, 1], [90677, 1], [90676, 1], [90675, 1], [90674, 1], [90673, 1], [90672, 1], [90671, 1], [90670, 1], [90669, 1], [90668, 1], [90667, 1], [90666, 1], [90665, 1], [90664, 1], [90663, 1], [90662, 1], [90661, 1], [90660, 1], [90659, 1], [90658, 1], [90657, 1], [90656, 1], [90655, 1], [90654, 1], [90653, 1], [90652, 1], [90651, 1], [90650, 1], [90649, 1], [90648, 1], [90647, 1], [90646, 1], [90645, 1], [90644, 1], [90643, 1], [90642, 1], [90641, 1], [90640, 1], [90639, 1], [90638, 1], [90637, 1], [90636, 1], [90635, 1], [90634, 1], [90633, 1], [90632, 1], [90631, 1], [90630, 1], [90629, 1], [90628, 1], [90627, 1], [90626, 1], [90625, 1], [90624, 1], [90623, 1], [90622, 1], [90621, 1], [90620, 1], [90619, 1], [90618, 1], [90617, 1], [90616, 1], [90615, 1], [90614, 1], [90613, 1], [90612, 1], [90611, 1], [90610, 1], [90609, 1], [90608, 1], [90607, 1], [90606, 1], [90605, 1], [90604, 1], [90603, 1], [90602, 1], [90601, 1], [90600, 1], [90599, 1], [90598, 1], [90597, 1], [90596, 1], [90595, 1], [90594, 1], [90593, 1], [90592, 1], [90591, 1], [90590, 1], [90589, 1], [90588, 1], [90587, 1], [90586, 1], [90585, 1], [90584, 1], [90583, 1], [90582, 1], [90581, 1], [90580, 1], [90579, 1], [90578, 1], [90577, 1], [90576, 1], [90575, 1], [90574, 1], [90573, 1], [90572, 1], [90571, 1], [90570, 1], [90569, 1], [90568, 1], [90567, 1], [90566, 1], [90565, 1], [90564, 1], [90563, 1], [90562, 1], [90561, 1], [90560, 1], [90559, 1], [90558, 1], [90557, 1], [90556, 1], [90555, 1], [90554, 1], [90553, 1], [90552, 1], [90551, 1], [90550, 1], [90549, 1], [90548, 1], [90547, 1], [90546, 1], [90545, 1], [90544, 1], [90543, 1], [90542, 1], [90541, 1], [90540, 1], [90539, 1], [90538, 1], [90537, 1], [90536, 1], [90535, 1], [90534, 1], [90533, 1], [90532, 1], [90531, 1], [90530, 1], [90529, 1], [90528, 1], [90527, 1], [90526, 1], [90525, 1], [90524, 1], [90523, 1], [90522, 1], [90521, 1], [90520, 1], [90519, 1], [90518, 1], [90517, 1], [90516, 1], [90515, 1], [90514, 1], [90513, 1], [90512, 1], [90511, 1], [90510, 1], [90509, 1], [90508, 1], [90507, 1], [90506, 1], [90505, 1], [90504, 1], [90503, 1], [90502, 1], [90501, 1], [90500, 1], [90499, 1], [90498, 1], [90497, 1], [90496, 1], [90495, 1], [90494, 1], [90493, 1], [90492, 1], [90491, 1], [90490, 1], [90489, 1], [90488, 1], [90487, 1], [90486, 1], [90485, 1], [90484, 1], [90483, 1], [90482, 1], [90481, 1], [90480, 1], [90479, 1], [90478, 1], [90477, 1], [90476, 1], [90475, 1], [90474, 1], [90473, 1], [90472, 1], [90471, 1], [90470, 1], [90469, 1], [90468, 1], [90467, 1], [90466, 1], [90465, 1], [90464, 1], [90463, 1], [88131, 0, "\n"], [88132, 0, "\n"], [88133, 0, "\\"], [88134, 0, "b"], [88135, 0, "e"], [88136, 0, "g"], [88137, 0, "i"], [88138, 0, "n"], [88139, 0, "{"], [88140, 0, "p"], [88141, 0, "r"], [88142, 0, "o"], [88143, 0, "o"], [88144, 0, "f"], [88145, 0, "}"], [88146, 0, "\n"], [88147, 0, "\\"], [88148, 0, "e"], [88149, 0, "n"], [88150, 0, "d"], [88151, 0, "{"], [88152, 0, "p"], [88153, 0, "r"], [88154, 0, "o"], [88155, 0, "o"], [88156, 0, "f"], [88157, 0, "}"], [88146, 0, "\n"], [88147, 0, "T"], [88148, 0, "h"], [88149, 0, "e"], [88150, 0, " "], [88151, 0, "r"], [88152, 0, "u"], [88153, 0, "l"], [88154, 0, "e"], [88155, 0, "s"], [88156, 0, " "], [88157, 0, "i"], [88158, 0, "n"], [88159, 0, " "], [88160, 0, "F"], [88161, 0, "i"], [88162, 0, "g"], [88163, 0, "u"], [88164, 0, "r"], [88165, 0, "e"], [88166, 0, "~"], [88167, 0, "\\"], [88168, 0, "r"], [88169, 0, "e"], [88170, 0, "f"], [88171, 0, "{"], [88172, 0, "f"], [88173, 0, "i"], [88174, 0, "g"], [88175, 0, ":"], [88176, 0, "c"], [88177, 0, "l"], [88178, 0, "e"], [88179, 0, "a"], [88180, 0, "r"], [88181, 0, "_"], [88181, 1], [88181, 0, "-"], [88182, 0, "r"], [88183, 0, "u"], [88184, 0, "o"], [88185, 0, "e"], [88186, 0, "s"], [88186, 1], [88185, 1], [88184, 1], [88184, 0, "l"], [88185, 0, "e"], [88186, 0, "s"], [88187, 0, "}"], [88188, 0, " "], [88189, 0, "d"], [88190, 0, "e"], [88191, 0, "f"], [88192, 0, "i"], [88193, 0, "n"], [88194, 0, "e"], [88195, 0, " "], [88196, 0, "h"], [88197, 0, "o"], [88198, 0, "w"], [88199, 0, " "], [88200, 0, "a"], [88201, 0, " "], [88202, 0, "d"], [88203, 0, "e"], [88204, 0, "l"], [88205, 0, "e"], [88206, 0, "t"], [88207, 0, "i"], [88208, 0, "o"], [88209, 0, "n"], [88210, 0, " "], [88211, 0, "o"], [88212, 0, "p"], [88213, 0, "e"], [88214, 0, "r"], [88215, 0, "a"], [88216, 0, "t"], [88217, 0, "i"], [88218, 0, "o"], [88219, 0, "n"], [88220, 0, " "], [88221, 0, "i"], [88222, 0, "s"], [88223, 0, " "], [88224, 0, "a"], [88225, 0, "p"], [88226, 0, "p"], [88227, 0, "l"], [88228, 0, "i"], [88229, 0, "e"], [88230, 0, "d"], [88231, 0, ":"], [88232, 0, " "], [88233, 0, "s"], [88234, 0, "t"], [88235, 0, "a"], [88236, 0, "r"], [88237, 0, "t"], [88238, 0, "i"], [88239, 0, "n"], [88240, 0, "g"], [88241, 0, " "], [88242, 0, "a"], [88243, 0, "t"], [88244, 0, " "], [88245, 0, "t"], [88246, 0, "h"], [88247, 0, "e"], [88248, 0, " "], [88249, 0, "c"], [88250, 0, "u"], [88251, 0, "r"], [88252, 0, "s"], [88253, 0, "o"], [88254, 0, "r"], [88255, 0, " "], [88256, 0, "p"], [88257, 0, "o"], [88258, 0, "s"], [88259, 0, "i"], [88260, 0, "t"], [88261, 0, "i"], [88262, 0, "o"], [88263, 0, "n"], [88264, 0, " "], [88265, 0, "i"], [88266, 0, "d"], [88267, 0, "e"], [88268, 0, "n"], [88269, 0, "t"], [88270, 0, "i"], [88271, 0, "f"], [88272, 0, "i"], [88273, 0, "e"], [88274, 0, "d"], [88275, 0, " "], [88276, 0, "i"], [88277, 0, "n"], [88278, 0, " "], [88278, 1], [88277, 1], [88276, 1], [88275, 1], [88274, 1], [88273, 1], [88272, 1], [88271, 1], [88270, 1], [88269, 1], [88268, 1], [88267, 1], [88266, 1], [88265, 1], [88264, 1], [88263, 1], [88262, 1], [88261, 1], [88260, 1], [88259, 1], [88258, 1], [88257, 1], [88256, 1], [88256, 0, "i"], [88257, 0, "n"], [88258, 0, " "], [88259, 0, "t"], [88260, 0, "h"], [88261, 0, "e"], [88262, 0, " "], [88263, 0, "o"], [88264, 0, "p"], [88265, 0, "e"], [88266, 0, "r"], [88267, 0, "a"], [88268, 0, "t"], [88269, 0, "i"], [88270, 0, "o"], [88271, 0, "n"], [88272, 0, ","], [88273, 0, " "], [88274, 0, "t"], [88275, 0, "h"], [88276, 0, "e"], [88277, 0, "y"], [88278, 0, " "], [88279, 0, "r"], [88280, 0, "e"], [88281, 0, "c"], [88282, 0, "u"], [88283, 0, "r"], [88284, 0, "s"], [88285, 0, "i"], [88286, 0, "v"], [88287, 0, "e"], [88288, 0, "l"], [88289, 0, "y"], [88290, 0, " "], [88291, 0, "d"], [88292, 0, "e"], [88293, 0, "s"], [88294, 0, "c"], [88295, 0, "e"], [88296, 0, "n"], [88297, 0, "d"], [88298, 0, " "], [88299, 0, "t"], [88300, 0, "h"], [88301, 0, "e"], [88302, 0, " "], [88303, 0, "t"], [88304, 0, "r"], [88305, 0, "e"], [88306, 0, "e"], [88220, 0, " "], [88221, 0, "$"], [88222, 0, "o"], [88223, 0, "_"], [88224, 0, "\\"], [88225, 0, "m"], [88226, 0, "a"], [88227, 0, "t"], [88228, 0, "h"], [88229, 0, "r"], [88230, 0, "m"], [88231, 0, "{"], [88232, 0, "d"], [88233, 0, "e"], [88234, 0, "l"], [88235, 0, "}"], [88236, 0, "$"], [88324, 0, ","], [88325, 0, " "], [88326, 0, "r"], [88327, 0, "e"], [88328, 0, "m"], [88329, 0, "o"], [88330, 0, "v"], [88331, 0, "i"], [88332, 0, "n"], [88333, 0, "g"], [88334, 0, " "], [88335, 0, "$"], [88336, 0, "o"], [88337, 0, "_"], [88338, 0, "\\"], [88339, 0, "m"], [88340, 0, "a"], [88341, 0, "t"], [88342, 0, "h"], [88343, 0, "r"], [88344, 0, "m"], [88345, 0, "{"], [88346, 0, "d"], [88347, 0, "e"], [88348, 0, "l"], [88349, 0, "}"], [88350, 0, "."], [88351, 0, "\\"], [88352, 0, "m"], [88353, 0, "a"], [88354, 0, "t"], [88355, 0, "h"], [88356, 0, "i"], [88357, 0, "t"], [88358, 0, "{"], [88359, 0, "d"], [88360, 0, "e"], [88361, 0, "p"], [88362, 0, "s"], [88363, 0, "}"], [88364, 0, "$"], [88365, 0, " "], [88366, 0, "f"], [88367, 0, "r"], [88368, 0, "o"], [88369, 0, "m"], [88370, 0, " "], [88320, 0, "s"], [88321, 0, "u"], [88322, 0, "b"], [88374, 0, "a"], [88375, 0, "l"], [88376, 0, "l"], [88377, 0, " "], [88378, 0, "b"], [88379, 0, "r"], [88380, 0, "a"], [88381, 0, "n"], [88373, 0, " "], [88374, 0, "t"], [88375, 0, "h"], [88376, 0, "e"], [88377, 0, " "], [88378, 0, "p"], [88379, 0, "r"], [88380, 0, "e"], [88381, 0, "s"], [88382, 0, "e"], [88383, 0, "n"], [88384, 0, "c"], [88385, 0, "e"], [88386, 0, " "], [88387, 0, "s"], [88388, 0, "e"], [88389, 0, "t"], [88390, 0, " "], [88391, 0, "$"], [88392, 0, "\\"], [88393, 0, "m"], [88394, 0, "a"], [88395, 0, "t"], [88396, 0, "h"], [88397, 0, "s"], [88398, 0, "f"], [88399, 0, "{"], [88400, 0, "p"], [88401, 0, "r"], [88402, 0, "e"], [88403, 0, "s"], [88404, 0, "}"], [88405, 0, "("], [88406, 0, "k"], [88407, 0, ")"], [88408, 0, "$"], [88409, 0, " "], [88410, 0, "a"], [88411, 0, "t"], [88421, 0, "c"], [88422, 0, "h"], [88423, 0, " "], [88424, 0, "n"], [88425, 0, "o"], [88426, 0, "d"], [88427, 0, "e"], [88428, 0, "s"], [88429, 0, " "], [88430, 0, "i"], [88431, 0, "n"], [88432, 0, " "], [88433, 0, "t"], [88434, 0, "h"], [88435, 0, "e"], [88436, 0, " "], [88437, 0, "s"], [88438, 0, "u"], [88439, 0, "b"], [88440, 0, "t"], [88441, 0, "r"], [88442, 0, "e"], [88443, 0, "e"], [88014, 1], [88013, 1], [88012, 1], [88011, 1], [88010, 1], [88009, 1], [88008, 1], [88007, 1], [88006, 1], [88005, 1], [88004, 1], [88003, 1], [88002, 1], [88001, 1], [88000, 1], [87999, 1], [87998, 1], [87997, 1], [87996, 1], [87995, 1], [87994, 1], [87993, 1], [87992, 1], [87991, 1], [87990, 1], [87989, 1], [87988, 1], [87987, 1], [87986, 1], [87985, 1], [87984, 1], [87983, 1], [87982, 1], [87981, 1], [87980, 1], [87979, 1], [87978, 1], [87977, 1], [87976, 1], [87975, 1], [87974, 1], [87973, 1], [87972, 1], [87971, 1], [87970, 1], [87969, 1], [87968, 1], [87967, 1], [87966, 1], [87965, 1], [87964, 1], [87963, 1], [87962, 1], [87961, 1], [87960, 1], [87959, 1], [87958, 1], [87957, 1], [87956, 1], [87955, 1], [87954, 1], [87953, 1], [87952, 1], [88381, 0, ","], [88382, 0, " "], [88383, 0, "a"], [88384, 0, "n"], [88385, 0, "d"], [88386, 0, " "], [88387, 0, "u"], [88388, 0, "p"], [88389, 0, "d"], [88390, 0, "a"], [88391, 0, "t"], [88392, 0, "i"], [88393, 0, "n"], [88394, 0, "g"], [88395, 0, " "], [88396, 0, "a"], [88397, 0, "l"], [88398, 0, "l"], [88399, 0, " "], [88400, 0, "r"], [88401, 0, "e"], [88402, 0, "g"], [88403, 0, "i"], [88404, 0, "s"], [88405, 0, "t"], [88406, 0, "e"], [88407, 0, "r"], [88408, 0, "s"], [88409, 0, " "], [88410, 0, "t"], [88411, 0, "o"], [88412, 0, " "], [88413, 0, "r"], [88414, 0, "e"], [88415, 0, "m"], [88416, 0, "o"], [88417, 0, "v"], [88418, 0, "e"], [88419, 0, " "], [88420, 0, "a"], [88421, 0, "n"], [88422, 0, "y"], [88423, 0, " "], [88424, 0, "v"], [88425, 0, "a"], [88426, 0, "l"], [88427, 0, "u"], [88428, 0, "e"], [88429, 0, "s"], [88430, 0, " "], [88431, 0, "w"], [88432, 0, "r"], [88433, 0, "i"], [88434, 0, "t"], [88435, 0, "t"], [88436, 0, "e"], [88437, 0, "n"], [88438, 0, " "], [88439, 0, "b"], [88440, 0, "y"], [88441, 0, " "], [88442, 0, "o"], [88443, 0, "p"], [88444, 0, "e"], [88445, 0, "r"], [88446, 0, "a"], [88447, 0, "t"], [88448, 0, "i"], [88449, 0, "o"], [88450, 0, "n"], [88451, 0, "s"], [88452, 0, " "], [88453, 0, "i"], [88454, 0, "n"], [88455, 0, " "], [88456, 0, "$"], [88457, 0, "o"], [88458, 0, "_"], [88459, 0, "\\"], [88460, 0, "m"], [88461, 0, "a"], [88462, 0, "t"], [88463, 0, "h"], [88464, 0, "r"], [88465, 0, "m"], [88466, 0, "{"], [88467, 0, "d"], [88468, 0, "e"], [88469, 0, "l"], [88470, 0, "}"], [88471, 0, "."], [88472, 0, "\\"], [88473, 0, "m"], [88474, 0, "a"], [88475, 0, "t"], [88476, 0, "h"], [88477, 0, "i"], [88478, 0, "t"], [88479, 0, "{"], [88480, 0, "d"], [88481, 0, "e"], [88482, 0, "p"], [88483, 0, "s"], [88484, 0, "}"], [88485, 0, "$"], [88486, 0, "."], [53419, 0, ","], [53420, 0, " "], [53421, 0, "\\"], [53422, 0, "m"], [53423, 0, "a"], [53424, 0, "t"], [53425, 0, "h"], [53426, 0, "i"], [53427, 0, "t"], [53428, 0, "{"], [53429, 0, "m"], [53430, 0, "u"], [53431, 0, "t"], [53432, 0, "}"], [54999, 1], [54998, 1], [54997, 1], [54996, 1], [54995, 1], [54994, 1], [54993, 1], [54992, 1], [54991, 1], [54991, 0, "c"], [54992, 0, "e"], [54993, 0, "n"], [54994, 0, "t"], [54995, 0, "e"], [54996, 0, "r"], [55369, 1], [55368, 1], [55367, 1], [55366, 1], [55365, 1], [55364, 1], [55363, 1], [55362, 1], [55361, 1], [55361, 0, "c"], [55362, 0, "e"], [55363, 0, "n"], [55364, 0, "t"], [55365, 0, "e"], [55366, 0, "r"], [55355, 0, "\n"], [55356, 0, "\\"], [55357, 0, "D"], [55358, 0, "i"], [55359, 0, "s"], [55360, 0, "p"], [55361, 0, "l"], [55362, 0, "a"], [55363, 0, "u"], [55364, 0, "y"], [55364, 1], [55363, 1], [55363, 0, "y"], [55364, 0, "P"], [55365, 0, "r"], [55366, 0, "o"], [55367, 0, "o"], [55368, 0, "f"], [55369, 0, "\\"], [55370, 0, "h"], [55371, 0, "s"], [55372, 0, "p"], [55373, 0, "a"], [55374, 0, "c"], [55375, 0, "e"], [55376, 0, "{"], [55377, 0, "3"], [55378, 0, "e"], [55379, 0, "m"], [55380, 0, "}"], [55381, 0, "\n"], [55382, 0, "%"], [55383, 0, "\n"], [55252, 0, ","], [55253, 0, " "], [55254, 0, "\\"], [55255, 0, "m"], [55256, 0, "a"], [55257, 0, "t"], [55258, 0, "h"], [55259, 0, "i"], [55260, 0, "t"], [55261, 0, "{"], [55262, 0, "m"], [55263, 0, "u"], [55264, 0, "t"], [55265, 0, "}"], [55182, 1], [55182, 0, "T"], [55183, 0, "r"], [54998, 0, "\n"], [54999, 0, "\\"], [55000, 0, "A"], [55001, 0, "x"], [55002, 0, "i"], [55003, 0, "o"], [55004, 0, "m"], [55005, 0, "C"], [55006, 0, "{"], [55007, 0, "$"], [55008, 0, "\\"], [55009, 0, "m"], [55010, 0, "a"], [55011, 0, "t"], [55012, 0, "h"], [55013, 0, "i"], [55014, 0, "t"], [55015, 0, "{"], [55016, 0, "m"], [55017, 0, "u"], [55018, 0, "t"], [55019, 0, "}"], [55020, 0, " "], [55021, 0, "\\"], [55022, 0, "n"], [55023, 0, "o"], [55024, 0, "t"], [55025, 0, "="], [55026, 0, " "], [55027, 0, "\\"], [55028, 0, "m"], [55029, 0, "a"], [55030, 0, "t"], [55031, 0, "h"], [55032, 0, "s"], [55033, 0, "f"], [55034, 0, "{"], [55035, 0, "d"], [55036, 0, "e"], [55037, 0, "l"], [55038, 0, "e"], [55039, 0, "t"], [55040, 0, "e"], [55041, 0, "}"], [55042, 0, "$"], [55043, 0, "}"], [55445, 0, "\\"], [55446, 0, "A"], [55447, 0, "x"], [55448, 0, "i"], [55449, 0, "o"], [55450, 0, "m"], [55451, 0, "C"], [55452, 0, "{"], [55453, 0, "$"], [55454, 0, "\\"], [55455, 0, "m"], [55456, 0, "a"], [55457, 0, "t"], [55458, 0, "h"], [55459, 0, "i"], [55460, 0, "t"], [55461, 0, "{"], [55462, 0, "m"], [55463, 0, "u"], [55464, 0, "t"], [55465, 0, "}"], [55466, 0, " "], [55467, 0, "="], [55468, 0, " "], [55469, 0, "\\"], [55470, 0, "m"], [55471, 0, "a"], [55472, 0, "t"], [55473, 0, "h"], [55474, 0, "s"], [55475, 0, "f"], [55476, 0, "{"], [55477, 0, "d"], [55478, 0, "e"], [55479, 0, "l"], [55480, 0, "e"], [55481, 0, "t"], [55482, 0, "e"], [55483, 0, "}"], [55484, 0, "$"], [55485, 0, "}"], [55486, 0, "\n"], [55487, 0, "\\"], [55210, 0, "$"], [55226, 0, "_"], [55227, 0, "1"], [55228, 0, "$"], [55492, 0, "L"], [55493, 0, "e"], [55494, 0, "f"], [55495, 0, "t"], [55496, 0, "L"], [55497, 0, "a"], [55498, 0, "b"], [55499, 0, "e"], [55500, 0, "l"], [55501, 0, "{"], [55502, 0, "$"], [55503, 0, "\\"], [55504, 0, "T"], [55505, 0, "e"], [55506, 0, "x"], [55507, 0, "t"], [55507, 1], [55506, 1], [55505, 1], [55504, 1], [55504, 0, "t"], [55505, 0, "e"], [55506, 0, "x"], [55507, 0, "t"], [55508, 0, "s"], [55509, 0, "c"], [55510, 0, "{"], [55511, 0, "A"], [55512, 0, "d"], [55513, 0, "d"], [55514, 0, "-"], [55515, 0, "I"], [55516, 0, "D"], [55517, 0, "}"], [55518, 0, "_"], [55519, 0, "2"], [55520, 0, "$"], [55521, 0, "}"], [55522, 0, "\n"], [55523, 0, "\\"], [55524, 0, "U"], [55525, 0, "n"], [55526, 0, "a"], [55527, 0, "r"], [55528, 0, "y"], [55529, 0, "I"], [55530, 0, "n"], [55531, 0, "f"], [55532, 0, "C"], [55533, 0, "{"], [55534, 0, "$"], [55535, 0, "\\"], [55536, 0, "m"], [55537, 0, "a"], [55538, 0, "t"], [55539, 0, "h"], [55540, 0, "i"], [55541, 0, "t"], [55542, 0, "{"], [55543, 0, "c"], [55544, 0, "t"], [55545, 0, "x"], [55546, 0, "}"], [55547, 0, ","], [55548, 0, "\\"], [55549, 0, ","], [55550, 0, " "], [55551, 0, "\\"], [55552, 0, "m"], [55553, 0, "a"], [55554, 0, "t"], [55555, 0, "h"], [55556, 0, "s"], [55557, 0, "f"], [55558, 0, "{"], [55559, 0, "a"], [55560, 0, "d"], [55561, 0, "d"], [55562, 0, "I"], [55563, 0, "d"], [55564, 0, "}"], [55565, 0, "("], [55566, 0, "k"], [55567, 0, "_"], [55568, 0, "\\"], [55569, 0, "m"], [55570, 0, "a"], [55571, 0, "t"], [55572, 0, "h"], [55573, 0, "i"], [55574, 0, "t"], [55575, 0, "{"], [55576, 0, "t"], [55577, 0, "a"], [55578, 0, "g"], [55579, 0, "}"], [55580, 0, ","], [55581, 0, " "], [55582, 0, "\\"], [55583, 0, "m"], [55584, 0, "a"], [55585, 0, "t"], [55586, 0, "h"], [55587, 0, "i"], [55588, 0, "t"], [55589, 0, "{"], [55590, 0, "i"], [55591, 0, "d"], [55592, 0, "}"], [55593, 0, ","], [55594, 0, " "], [55595, 0, "\\"], [55596, 0, "m"], [55597, 0, "a"], [55598, 0, "t"], [55599, 0, "h"], [55600, 0, "i"], [55601, 0, "t"], [55602, 0, "{"], [55603, 0, "m"], [55604, 0, "u"], [55605, 0, "t"], [55606, 0, "}"], [55607, 0, ")"], [55608, 0, " "], [55609, 0, "\\"], [55610, 0, "e"], [55611, 0, "v"], [55612, 0, "a"], [55613, 0, "l"], [55614, 0, "t"], [55615, 0, "o"], [55616, 0, " "], [55617, 0, "\\"], [55618, 0, "m"], [55619, 0, "a"], [55620, 0, "t"], [55621, 0, "h"], [55622, 0, "i"], [55623, 0, "t"], [55624, 0, "{"], [55625, 0, "c"], [55626, 0, "t"], [55627, 0, "x"], [55628, 0, "}"], [55629, 0, "$"], [55630, 0, "}"], [55631, 0, "\n"], [55632, 0, "\\"], [55633, 0, "D"], [55634, 0, "i"], [55635, 0, "s"], [55636, 0, "p"], [55637, 0, "l"], [55638, 0, "a"], [55639, 0, "y"], [55640, 0, "P"], [55641, 0, "r"], [55642, 0, "o"], [55643, 0, "o"], [55644, 0, "f"], [55645, 0, "\\"], [55646, 0, "p"], [55647, 0, "r"], [55648, 0, "o"], [55649, 0, "o"], [55650, 0, "f"], [55651, 0, "S"], [55652, 0, "k"], [55653, 0, "i"], [55654, 0, "p"], [55655, 0, "A"], [55656, 0, "m"], [55657, 0, "o"], [55658, 0, "u"], [55659, 0, "n"], [55660, 0, "t"], [55988, 0, ","], [55989, 0, " "], [55990, 0, "\\"], [55991, 0, "m"], [55992, 0, "a"], [55993, 0, "t"], [55994, 0, "h"], [55995, 0, "s"], [55996, 0, "f"], [55997, 0, "{"], [55998, 0, "a"], [55999, 0, "s"], [56000, 0, "s"], [56001, 0, "i"], [56002, 0, "g"], [56003, 0, "n"], [56004, 0, "}"], [56005, 0, "("], [56006, 0, "\\"], [56007, 0, "m"], [56008, 0, "a"], [56009, 0, "t"], [56010, 0, "h"], [56011, 0, "i"], [56012, 0, "t"], [56013, 0, "{"], [56014, 0, "v"], [56015, 0, "a"], [56016, 0, "l"], [56017, 0, "}"], [56018, 0, ")"], [56020, 0, "\n"], [56021, 0, " "], [56022, 0, " "], [56023, 0, " "], [56692, 0, ","], [56693, 0, " "], [56694, 0, "\\"], [56695, 0, "m"], [56696, 0, "a"], [56697, 0, "t"], [56698, 0, "h"], [56699, 0, "s"], [56700, 0, "f"], [56701, 0, "{"], [56702, 0, "a"], [56703, 0, "s"], [56704, 0, "s"], [56705, 0, "i"], [56706, 0, "g"], [56707, 0, "n"], [56708, 0, "}"], [56709, 0, "("], [56710, 0, "\\"], [56711, 0, "m"], [56712, 0, "a"], [56713, 0, "t"], [56714, 0, "h"], [56715, 0, "i"], [56716, 0, "t"], [56717, 0, "{"], [56718, 0, "v"], [56719, 0, "a"], [56720, 0, "l"], [56721, 0, "}"], [56722, 0, ")"], [56724, 0, "\n"], [56725, 0, " "], [56726, 0, " "], [56727, 0, " "], [57339, 0, ","], [57340, 0, " "], [57341, 0, "\\"], [57342, 0, "m"], [57343, 0, "a"], [57344, 0, "t"], [57345, 0, "h"], [57346, 0, "s"], [57347, 0, "f"], [57348, 0, "{"], [57349, 0, "a"], [57350, 0, "s"], [57351, 0, "s"], [57352, 0, "i"], [57353, 0, "g"], [57354, 0, "n"], [57355, 0, "}"], [57356, 0, "("], [57357, 0, "\\"], [57358, 0, "m"], [57359, 0, "a"], [57360, 0, "t"], [57361, 0, "h"], [57362, 0, "i"], [57363, 0, "t"], [57364, 0, "{"], [57365, 0, "v"], [57366, 0, "a"], [57367, 0, "l"], [57368, 0, "}"], [57369, 0, ")"], [57371, 0, "\n"], [57372, 0, " "], [57373, 0, " "], [57374, 0, " "], [78293, 1], [78292, 1], [78291, 1], [78290, 1], [78289, 1], [78288, 1], [78287, 1], [78287, 0, "r"], [78288, 0, "e"], [78289, 0, "o"], [78290, 0, "r"], [78291, 0, "d"], [78292, 0, "e"], [78293, 0, "r"], [59993, 0, "$"], [60009, 0, "_"], [60010, 0, "{"], [60011, 0, "1"], [60012, 0, ","], [60013, 0, "2"], [60014, 0, "}"], [60015, 0, "$"], [88510, 0, "\n"], [88511, 0, "G"], [88512, 0, "i"], [88513, 0, "v"], [88514, 0, "e"], [88515, 0, "n"], [88516, 0, " "], [88517, 0, "a"], [88518, 0, " "], [88519, 0, "d"], [88520, 0, "e"], [88521, 0, "l"], [88522, 0, "e"], [88523, 0, "t"], [88524, 0, "i"], [88525, 0, "o"], [88526, 0, "n"], [88527, 0, " "], [88528, 0, "o"], [88529, 0, "p"], [88530, 0, "e"], [88531, 0, "r"], [88532, 0, "a"], [88533, 0, "t"], [88534, 0, "i"], [88535, 0, "o"], [88536, 0, "n"], [88537, 0, " "], [88538, 0, "$"], [88539, 0, "o"], [88540, 0, "_"], [88541, 0, "d"], [88542, 0, "$"], [88543, 0, " "], [88541, 1], [88541, 0, "\\"], [88542, 0, "m"], [88543, 0, "a"], [88544, 0, "t"], [88545, 0, "h"], [88546, 0, "r"], [88547, 0, "m"], [88548, 0, "{"], [88549, 0, "d"], [88550, 0, "e"], [88551, 0, "l"], [88552, 0, "}"], [88421, 0, "I"], [88422, 0, "n"], [88423, 0, " "], [88424, 0, "a"], [88425, 0, "n"], [88426, 0, " "], [88427, 0, "o"], [88428, 0, "p"], [88429, 0, "e"], [88430, 0, "r"], [88431, 0, "a"], [88432, 0, "t"], [88433, 0, "i"], [88434, 0, "o"], [88435, 0, "n"], [88436, 0, " "], [88437, 0, "h"], [88438, 0, "i"], [88439, 0, "s"], [88440, 0, "t"], [88441, 0, "o"], [88442, 0, "r"], [88443, 0, "y"], [88444, 0, " "], [88445, 0, "$"], [88446, 0, "H"], [88447, 0, "$"], [88448, 0, ","], [88449, 0, " "], [88450, 1], [88450, 0, "d"], [88450, 0, "a"], [88451, 0, " "], [88460, 0, " "], [88461, 0, "o"], [88462, 0, "p"], [88463, 0, "e"], [88464, 0, "r"], [88465, 0, "a"], [88466, 0, "t"], [88467, 0, "i"], [88468, 0, "o"], [88469, 0, "n"], [88435, 1], [88434, 1], [88433, 1], [88432, 1], [88431, 1], [88430, 1], [88429, 1], [88428, 1], [88427, 1], [88426, 1], [88425, 1], [88585, 0, "a"], [88586, 0, "n"], [88587, 0, "d"], [88588, 0, " "], [88589, 0, "a"], [88590, 0, "n"], [88591, 0, "y"], [88592, 0, " "], [88593, 0, "o"], [88594, 0, "t"], [88595, 0, "h"], [88596, 0, "e"], [88597, 0, "r"], [88598, 0, " "], [88599, 0, "c"], [88600, 0, "o"], [88601, 0, "n"], [88602, 0, "c"], [88603, 0, "u"], [88604, 0, "r"], [88605, 0, "r"], [88606, 0, "e"], [88607, 0, "n"], [88608, 0, "t"], [88609, 0, " "], [88610, 0, "o"], [88611, 0, "p"], [88612, 0, "e"], [88613, 0, "r"], [88614, 0, "a"], [88615, 0, "t"], [88616, 0, "i"], [88617, 0, "o"], [88618, 0, "n"], [88619, 0, " "], [88620, 0, "$"], [88621, 0, "o"], [88622, 0, "_"], [88623, 0, "c"], [88624, 0, "$"], [88625, 0, "\n"], [88577, 1], [88576, 1], [88576, 0, "i"], [88577, 0, "t"], [89008, 1], [89007, 1], [89007, 0, "i"], [89008, 0, "t"], [88710, 1], [88709, 1], [88582, 1], [88581, 1], [88580, 1], [88578, 1], [88577, 1], [88576, 1], [88575, 1], [88574, 1], [88573, 1], [88572, 1], [88571, 1], [88698, 1], [88697, 1], [88696, 1], [88695, 1], [88694, 1], [88693, 1], [88696, 1], [88695, 1], [88694, 1], [88810, 1], [88809, 1], [88808, 1], [88806, 1], [88805, 1], [88804, 1], [88803, 1], [88802, 1], [88801, 1], [88800, 1], [88799, 1], [88976, 1], [88975, 1], [88974, 1], [88973, 1], [88972, 1], [88971, 1], [88970, 1], [88969, 1], [88970, 1], [88970, 1], [88970, 1], [88614, 0, ","], [88615, 0, " "], [88616, 0, "w"], [88617, 0, "e"], [88618, 0, " "], [88619, 0, "m"], [88620, 0, "u"], [88621, 0, "s"], [88622, 0, "t"], [88623, 0, " "], [88624, 0, "s"], [88625, 0, "h"], [88626, 0, "o"], [88627, 0, "w"], [88628, 0, " "], [88629, 0, "t"], [88630, 0, "h"], [88631, 0, "a"], [88632, 0, "t"], [88633, 0, " "], [88634, 0, "t"], [88635, 0, "h"], [88636, 0, "e"], [88637, 0, " "], [88638, 0, "d"], [88639, 0, "o"], [88640, 0, "c"], [88641, 0, "u"], [88642, 0, "m"], [88643, 0, "e"], [88644, 0, "n"], [88645, 0, "t"], [88646, 0, " "], [88647, 0, "s"], [88648, 0, "t"], [88649, 0, "a"], [88650, 0, "t"], [88651, 0, "e"], [88652, 0, " "], [88653, 0, "a"], [88654, 0, "f"], [88655, 0, "t"], [88656, 0, "e"], [88657, 0, "r"], [88658, 0, " "], [88659, 0, "a"], [88660, 0, "p"], [88661, 0, "p"], [88662, 0, "l"], [88663, 0, "y"], [88664, 0, "i"], [88665, 0, "n"], [88666, 0, "g"], [88667, 0, " "], [88668, 0, "b"], [88669, 0, "o"], [88670, 0, "t"], [88671, 0, "h"], [88672, 0, " "], [88673, 0, "o"], [88674, 0, "p"], [88675, 0, "e"], [88676, 0, "r"], [88677, 0, "a"], [88678, 0, "t"], [88679, 0, "i"], [88680, 0, "o"], [88681, 0, "n"], [88682, 0, "s"], [88683, 0, " "], [88684, 0, "d"], [88685, 0, "o"], [88686, 0, "e"], [88687, 0, "s"], [88688, 0, " "], [88689, 0, "n"], [88690, 0, "o"], [88691, 0, "t"], [88692, 0, " "], [88693, 0, "d"], [88694, 0, "e"], [88695, 0, "p"], [88696, 0, "e"], [88697, 0, "n"], [88698, 0, "d"], [88699, 0, " "], [88700, 0, "o"], [88701, 0, "n"], [88702, 0, " "], [88703, 0, "t"], [88704, 0, "h"], [88705, 0, "e"], [88706, 0, " "], [88707, 0, "o"], [88708, 0, "r"], [88709, 0, "d"], [88710, 0, "e"], [88711, 0, "r"], [88712, 0, " "], [88713, 0, "i"], [88714, 0, "n"], [88715, 0, " "], [88716, 0, "w"], [88717, 0, "h"], [88718, 0, "i"], [88719, 0, "c"], [88720, 0, "h"], [88721, 0, " "], [88722, 0, "$"], [88723, 0, "o"], [88724, 0, "_"], [88725, 0, "d"], [88726, 0, "$"], [88727, 0, " "], [88728, 0, "a"], [88729, 0, "n"], [88730, 0, "d"], [88731, 0, " "], [88732, 0, "$"], [88733, 0, "o"], [88734, 0, "_"], [88735, 0, "c"], [88736, 0, "$"], [88737, 0, " "], [88738, 0, "w"], [88739, 0, "e"], [88740, 0, "r"], [88741, 0, "e"], [88742, 0, " "], [88743, 0, "a"], [88744, 0, "p"], [88745, 0, "p"], [88746, 0, "l"], [88747, 0, "i"], [88748, 0, "e"], [88749, 0, "d"], [88750, 0, "."], [89123, 0, " "], [89123, 1], [89123, 0, "\n"], [89124, 0, "\n"], [89125, 0, "S"], [89126, 0, "i"], [89127, 0, "n"], [89128, 0, "c"], [89129, 0, "e"], [89130, 0, " "], [89131, 0, "$"], [89132, 0, "o"], [89133, 0, "_"], [89134, 0, "c"], [89135, 0, "$"], [89136, 0, " "], [89137, 0, "i"], [89138, 0, "s"], [89139, 0, " "], [89140, 0, "c"], [89141, 0, "o"], [89142, 0, "n"], [89143, 0, "c"], [89144, 0, "u"], [89145, 0, "r"], [89146, 0, "r"], [89147, 0, "e"], [89148, 0, "n"], [89149, 0, "t"], [89150, 0, " "], [89151, 0, "w"], [89152, 0, "i"], [89153, 0, "t"], [89154, 0, "h"], [89155, 0, " "], [89156, 0, "$"], [89157, 0, "o"], [89158, 0, "_"], [89159, 0, "d"], [89160, 0, "$"], [89161, 0, ","], [89162, 0, " "], [89163, 0, "w"], [89164, 0, "e"], [89165, 0, " "], [89166, 0, "k"], [89167, 0, "n"], [89168, 0, "o"], [89169, 0, "w"], [89170, 0, " "], [89171, 0, "t"], [89172, 0, "h"], [89173, 0, "a"], [89174, 0, "t"], [89175, 0, " "], [89176, 0, "$"], [89177, 0, "o"], [89178, 0, "_"], [89179, 0, "c"], [89180, 0, "."], [89181, 0, "\\"], [89182, 0, "m"], [89183, 0, "a"], [89184, 0, "t"], [89185, 0, "h"], [89186, 0, "i"], [89187, 0, "t"], [89188, 0, "{"], [89189, 0, "i"], [89190, 0, "d"], [89191, 0, "}"], [89192, 0, " "], [89193, 0, "\\"], [89194, 0, "n"], [89195, 0, "o"], [89196, 0, "t"], [89197, 0, "i"], [89198, 0, "n"], [89199, 0, " "], [89200, 0, "o"], [89201, 0, "_"], [89202, 0, "d"], [89203, 0, "."], [89204, 0, "\\"], [89205, 0, "m"], [89206, 0, "a"], [89207, 0, "t"], [89208, 0, "h"], [89209, 0, "i"], [89210, 0, "t"], [89211, 0, "{"], [89212, 0, "d"], [89213, 0, "e"], [89214, 0, "p"], [89215, 0, "s"], [89216, 0, "}"], [89217, 0, "$"], [89218, 0, "."], [89219, 0, " "], [89220, 0, "I"], [89221, 0, "f"], [89222, 0, " "], [89223, 0, "$"], [89224, 0, "o"], [89225, 0, "_"], [89226, 0, "c"], [89227, 0, "$"], [89228, 0, " "], [89229, 0, "i"], [89230, 0, "s"], [89231, 0, " "], [89232, 0, "a"], [89233, 0, "n"], [89234, 0, " "], [89235, 0, "a"], [89236, 0, "s"], [89237, 0, "s"], [89238, 0, "i"], [89239, 0, "g"], [89240, 0, "n"], [89241, 0, "m"], [89242, 0, "e"], [89243, 0, "n"], [89244, 0, "t"], [89245, 0, " "], [89246, 0, "o"], [89247, 0, "r"], [89248, 0, " "], [89249, 0, "i"], [89250, 0, "n"], [89251, 0, "s"], [89252, 0, "e"], [89253, 0, "r"], [89254, 0, "t"], [89255, 0, "i"], [89256, 0, "o"], [89257, 0, "n"], [89258, 0, " "], [89259, 0, "o"], [89260, 0, "p"], [89261, 0, "e"], [89262, 0, "r"], [89263, 0, "a"], [89264, 0, "t"], [89265, 0, "i"], [89266, 0, "o"], [89267, 0, "n"], [89268, 0, ","], [89269, 0, " "], [89270, 0, "t"], [89271, 0, "h"], [89272, 0, "e"], [89273, 0, " "], [89274, 0, "\\"], [89275, 0, "t"], [89276, 0, "e"], [89277, 0, "x"], [89278, 0, "t"], [89279, 0, "s"], [89280, 0, "c"], [89281, 0, "{"], [89282, 0, "A"], [89283, 0, "s"], [89284, 0, "s"], [89285, 0, "i"], [89286, 0, "g"], [89287, 0, "n"], [89288, 0, "}"], [89289, 0, ","], [89290, 0, " "], [89291, 0, "\\"], [89292, 0, "t"], [89293, 0, "e"], [89294, 0, "x"], [89295, 0, "t"], [89296, 0, "s"], [89297, 0, "c"], [89298, 0, "{"], [89299, 0, "E"], [89300, 0, "m"], [89301, 0, "p"], [89302, 0, "t"], [89303, 0, "y"], [89304, 0, "-"], [89305, 0, "M"], [89306, 0, "a"], [89307, 0, "p"], [89308, 0, "}"], [89309, 0, " "], [89310, 0, "a"], [89311, 0, "n"], [89312, 0, "d"], [89313, 0, " "], [89314, 0, "\\"], [89315, 0, "t"], [89316, 0, "e"], [89317, 0, "x"], [89318, 0, "t"], [89319, 0, "s"], [89320, 0, "c"], [89321, 0, "{"], [89289, 1], [89289, 0, " "], [89290, 0, "r"], [89291, 0, "u"], [89292, 0, "l"], [89293, 0, "e"], [89294, 0, " "], [89295, 0, "a"], [89296, 0, "d"], [89297, 0, "d"], [89298, 0, "s"], [89299, 0, " "], [89300, 0, "$"], [89301, 0, "o"], [89302, 0, "_"], [89303, 0, "c"], [89304, 0, "."], [89305, 0, "\\"], [89306, 0, "m"], [89307, 0, "a"], [89308, 0, "t"], [89309, 0, "h"], [89310, 0, "i"], [89311, 0, "t"], [89312, 0, "{"], [89313, 0, "i"], [89314, 0, "d"], [89315, 0, "}"], [89316, 0, "$"], [89317, 0, " "], [89318, 0, "t"], [89319, 0, "o"], [89320, 0, " "], [89321, 0, "h"], [89322, 0, "e"], [89323, 0, " "], [89323, 1], [89322, 1], [89321, 1], [89321, 0, "t"], [89322, 0, "h"], [89323, 0, "e"], [89324, 0, " "], [89325, 0, "s"], [89326, 0, "e"], [89327, 0, "t"], [89328, 0, " "], [89329, 0, "o"], [89330, 0, "f"], [89331, 0, " "], [89331, 1], [89330, 1], [89329, 1], [89328, 1], [89327, 1], [89326, 1], [89325, 1], [89325, 0, "m"], [89326, 0, "a"], [89327, 0, "p"], [89328, 0, "p"], [89329, 0, "i"], [89330, 0, "n"], [89331, 0, "g"], [89332, 0, " "], [89333, 0, "f"], [89334, 0, "r"], [89335, 0, "o"], [89336, 0, "m"], [89337, 0, " "], [89338, 0, "o"], [89339, 0, "p"], [89340, 0, "e"], [89341, 0, "r"], [89342, 0, "a"], [89343, 0, "t"], [89344, 0, "i"], [89345, 0, "o"], [89346, 0, "n"], [89347, 0, " "], [89348, 0, "I"], [89349, 0, "D"], [89350, 0, " "], [89351, 0, "t"], [89352, 0, "o"], [89353, 0, " "], [89354, 0, "v"], [89355, 0, "a"], [89356, 0, "l"], [89357, 0, "u"], [89358, 0, "e"], [89359, 0, " "], [89360, 0, "f"], [89361, 0, "o"], [89362, 0, "r"], [89363, 0, " "], [89364, 0, "a"], [89365, 0, " "], [89366, 0, "r"], [89367, 0, "e"], [89368, 0, "g"], [89369, 0, "i"], [89370, 0, "s"], [89371, 0, "t"], [89372, 0, "e"], [89373, 0, "r"], [89374, 0, ","], [89375, 0, " "], [89376, 0, "a"], [89377, 0, "n"], [89378, 0, "d"], [89379, 0, " "], [89380, 0, "t"], [89381, 0, "h"], [89382, 0, "e"], [89383, 0, " "], [89384, 0, "\\"], [89385, 0, "t"], [89386, 0, "e"], [89387, 0, "x"], [89388, 0, "t"], [89389, 0, "s"], [89390, 0, "c"], [89391, 0, "{"], [89392, 0, "D"], [89393, 0, "e"], [89394, 0, "s"], [89395, 0, "c"], [89396, 0, "e"], [89397, 0, "n"], [89398, 0, "d"], [89399, 0, "}"], [89400, 0, ","], [89401, 0, " "], [89402, 0, "\\"], [89403, 0, "t"], [89404, 0, "e"], [89405, 0, "x"], [89406, 0, "t"], [89407, 0, "s"], [89408, 0, "c"], [89409, 0, "{"], [89410, 0, "A"], [89411, 0, "s"], [89412, 0, "s"], [89413, 0, "i"], [89414, 0, "g"], [89415, 0, "n"], [89416, 0, "}"], [89417, 0, ","], [89450, 0, "E"], [89451, 0, "m"], [89452, 0, "p"], [89453, 0, "t"], [89454, 0, "y"], [89455, 0, "-"], [89456, 0, "L"], [89457, 0, "i"], [89458, 0, "s"], [89459, 0, "t"], [89460, 0, "}"], [89461, 0, " "], [89462, 0, "r"], [89463, 0, "u"], [89464, 0, "l"], [89465, 0, "e"], [89466, 0, "s"], [89467, 0, " "], [89468, 0, "a"], [89469, 0, "d"], [89470, 0, "d"], [89471, 0, " "], [89472, 0, "$"], [89473, 0, "o"], [89474, 0, "_"], [89475, 0, "c"], [89476, 0, "."], [89477, 0, "\\"], [89478, 0, "m"], [89479, 0, "a"], [89480, 0, "t"], [89481, 0, "h"], [89482, 0, "i"], [89483, 0, "t"], [89484, 0, "{"], [89485, 0, "i"], [89486, 0, "d"], [89487, 0, "}"], [89488, 0, "$"], [89489, 0, " "], [89490, 0, "t"], [89491, 0, "o"], [89492, 0, " "], [89493, 0, "t"], [89494, 0, "h"], [89495, 0, "e"], [89496, 0, " "], [89497, 0, "p"], [89498, 0, "r"], [89499, 0, "e"], [89500, 0, "s"], [89501, 0, "e"], [89502, 0, "n"], [89503, 0, "c"], [89504, 0, "e"], [89505, 0, " "], [89506, 0, "s"], [89507, 0, "e"], [89508, 0, "t"], [89509, 0, "s"], [89510, 0, " "], [89511, 0, "$"], [89512, 0, "\\"], [89513, 0, "m"], [89514, 0, "a"], [89515, 0, "t"], [89516, 0, "h"], [89517, 0, "s"], [89518, 0, "f"], [89519, 0, "{"], [89520, 0, "p"], [89521, 0, "r"], [89522, 0, "e"], [89523, 0, "s"], [89524, 0, "}"], [89525, 0, "("], [89526, 0, "k"], [89527, 0, ")"], [89528, 0, "$"], [89529, 0, " "], [89530, 0, "a"], [89531, 0, "l"], [89532, 0, "o"], [89533, 0, "n"], [89534, 0, "g"], [89535, 0, " "], [89536, 0, "t"], [89537, 0, "h"], [89538, 0, "e"], [89539, 0, " "], [89540, 0, "p"], [89541, 0, "a"], [89542, 0, "t"], [89543, 0, "h"], [89544, 0, " "], [89545, 0, "t"], [89546, 0, "h"], [89547, 0, "r"], [89548, 0, "o"], [89549, 0, "u"], [89550, 0, "g"], [89551, 0, "h"], [89552, 0, " "], [89553, 0, "t"], [89554, 0, "h"], [89555, 0, "e"], [89556, 0, " "], [89557, 0, "d"], [89558, 0, "o"], [89559, 0, "c"], [89560, 0, "u"], [89561, 0, "m"], [89562, 0, "e"], [89563, 0, "n"], [89564, 0, "t"], [89565, 0, " "], [89566, 0, "t"], [89567, 0, "r"], [89568, 0, "e"], [89569, 0, "e"], [89570, 0, " "], [89571, 0, "d"], [89572, 0, "e"], [89573, 0, "s"], [89574, 0, "c"], [89575, 0, "r"], [89576, 0, "i"], [89577, 0, "b"], [89578, 0, "e"], [89579, 0, "d"], [89580, 0, " "], [89581, 0, "b"], [89582, 0, "h"], [89583, 0, " "], [89583, 1], [89582, 1], [89582, 0, "y"], [89583, 0, " "], [89584, 0, "t"], [89585, 0, "h"], [89586, 0, "e"], [89587, 0, " "], [89588, 0, "c"], [89589, 0, "u"], [89590, 0, "r"], [89591, 0, "s"], [89592, 0, "o"], [89593, 0, "r"], [89594, 0, "."], [89595, 0, "\n"], [89596, 0, "\n"], [89597, 0, "S"], [89598, 0, "i"], [89599, 0, "n"], [89600, 0, "c"], [89601, 0, "e"], [89602, 0, " "], [89603, 0, "$"], [89604, 0, "o"], [89605, 0, "_"], [89606, 0, "c"], [89607, 0, "$"], [89608, 0, " "], [89609, 0, "i"], [89610, 0, "s"], [89611, 0, " "], [89612, 0, "c"], [89613, 0, "o"], [89614, 0, "n"], [89615, 0, "c"], [89616, 0, "u"], [89617, 0, "r"], [89618, 0, "r"], [89619, 0, "e"], [89620, 0, "n"], [89621, 0, "t"], [89622, 0, " "], [89623, 0, "w"], [89624, 0, "i"], [89625, 0, "t"], [89626, 0, "h"], [89627, 0, " "], [89628, 0, "$"], [89629, 0, "o"], [89630, 0, "_"], [89631, 0, "d"], [89632, 0, "$"], [89633, 0, ","], [89634, 0, " "], [89635, 0, "w"], [89636, 0, "e"], [89637, 0, " "], [89638, 0, "k"], [89639, 0, "n"], [89640, 0, "o"], [89641, 0, "w"], [89642, 0, " "], [89643, 0, "t"], [89644, 0, "h"], [89645, 0, "a"], [89646, 0, "t"], [89647, 0, " "], [89648, 0, "$"], [89649, 0, "o"], [89650, 0, "_"], [89651, 0, "c"], [89652, 0, "."], [89653, 0, "\\"], [89654, 0, "m"], [89655, 0, "a"], [89656, 0, "t"], [89657, 0, "h"], [89658, 0, "i"], [89659, 0, "t"], [89660, 0, "{"], [89661, 0, "i"], [89662, 0, "d"], [89663, 0, "}"], [89664, 0, " "], [89665, 0, "\\"], [89666, 0, "n"], [89667, 0, "o"], [89668, 0, "t"], [89669, 0, "i"], [89670, 0, "n"], [89671, 0, " "], [89672, 0, "o"], [89673, 0, "_"], [89674, 0, "d"], [89675, 0, "."], [89676, 0, "\\"], [89677, 0, "m"], [89678, 0, "a"], [89679, 0, "t"], [89680, 0, "h"], [89681, 0, "i"], [89682, 0, "t"], [89683, 0, "{"], [89684, 0, "d"], [89685, 0, "e"], [89686, 0, "p"], [89687, 0, "s"], [89688, 0, "}"], [89689, 0, "$"], [89690, 0, "."], [89219, 1], [89218, 1], [89217, 1], [89216, 1], [89215, 1], [89214, 1], [89213, 1], [89212, 1], [89211, 1], [89210, 1], [89209, 1], [89208, 1], [89207, 1], [89206, 1], [89205, 1], [89204, 1], [89203, 1], [89202, 1], [89201, 1], [89200, 1], [89199, 1], [89198, 1], [89197, 1], [89196, 1], [89195, 1], [89194, 1], [89193, 1], [89192, 1], [89191, 1], [89190, 1], [89189, 1], [89188, 1], [89187, 1], [89186, 1], [89185, 1], [89184, 1], [89183, 1], [89182, 1], [89181, 1], [89180, 1], [89179, 1], [89178, 1], [89177, 1], [89176, 1], [89175, 1], [89174, 1], [89173, 1], [89172, 1], [89171, 1], [89170, 1], [89169, 1], [89168, 1], [89167, 1], [89166, 1], [89165, 1], [89164, 1], [89163, 1], [89162, 1], [89161, 1], [89160, 1], [89159, 1], [89158, 1], [89157, 1], [89156, 1], [89155, 1], [89154, 1], [89153, 1], [89152, 1], [89151, 1], [89150, 1], [89149, 1], [89148, 1], [89147, 1], [89146, 1], [89145, 1], [89144, 1], [89143, 1], [89142, 1], [89141, 1], [89140, 1], [89139, 1], [89138, 1], [89137, 1], [89136, 1], [89135, 1], [89134, 1], [89133, 1], [89132, 1], [89131, 1], [89130, 1], [89129, 1], [89128, 1], [89127, 1], [89126, 1], [89125, 1], [89596, 0, " "], [89597, 0, "T"], [89598, 0, "h"], [89599, 0, "u"], [89600, 0, "s"], [89601, 0, ","], [89602, 0, " "], [89603, 0, "i"], [89604, 0, "f"], [89605, 0, " "], [89606, 0, "$"], [89607, 0, "o"], [89608, 0, "_"], [89609, 0, "c"], [89610, 0, "$"], [89611, 0, " "], [89612, 0, "i"], [89613, 0, "s"], [89614, 0, " "], [89615, 0, "a"], [89616, 0, "p"], [89617, 0, "p"], [89618, 0, "l"], [89619, 0, "i"], [89620, 0, "e"], [89621, 0, "d"], [89622, 0, " "], [89623, 0, "b"], [89624, 0, "e"], [89625, 0, "f"], [89626, 0, "o"], [89627, 0, "r"], [89628, 0, "e"], [89629, 0, " "], [89630, 0, "$"], [89631, 0, "o"], [89632, 0, "_"], [89633, 0, "d"], [89634, 0, "$"], [89635, 0, " "], [89636, 0, "i"], [89637, 0, "n"], [89638, 0, " "], [89639, 0, "h"], [89639, 1], [89639, 0, "t"], [89640, 0, "h"], [89641, 0, "e"], [89642, 0, " "], [89643, 0, "h"], [89644, 0, "i"], [89645, 0, "s"], [89646, 0, "t"], [89647, 0, "o"], [89648, 0, "r"], [89649, 0, "y"], [89500, 0, "\n"], [89501, 0, "\n"], [89502, 0, "I"], [89503, 0, "f"], [89504, 0, " "], [89505, 0, "$"], [89506, 0, "o"], [89507, 0, "_"], [89508, 0, "c"], [89509, 0, "$"], [89510, 0, " "], [89511, 0, "d"], [89509, 0, "."], [89510, 0, "\\"], [89511, 0, "m"], [89512, 0, "a"], [89513, 0, "t"], [89514, 0, "h"], [89515, 0, "i"], [89516, 0, "t"], [89517, 0, "{"], [89518, 0, "c"], [89519, 0, "u"], [89520, 0, "r"], [89521, 0, "}"], [89525, 0, "o"], [89526, 0, "e"], [89527, 0, "s"], [89528, 0, " "], [89529, 0, "n"], [89530, 0, "o"], [89531, 0, "t"], [89532, 0, " "], [89533, 0, "f"], [89534, 0, "a"], [89535, 0, "l"], [89536, 0, "l"], [89537, 0, " "], [89538, 0, "w"], [89539, 0, "i"], [89540, 0, "t"], [89541, 0, "h"], [89542, 0, "i"], [89543, 0, "n"], [89544, 0, " "], [89504, 0, " "], [89504, 1], [89504, 0, " "], [89505, 0, "$"], [89506, 0, "o"], [89507, 0, "_"], [89508, 0, "d"], [89509, 0, "."], [89510, 0, "\\"], [89511, 0, "m"], [89512, 0, "a"], [89513, 0, "t"], [89514, 0, "h"], [89515, 0, "i"], [89516, 0, "t"], [89517, 0, "{"], [89518, 0, "c"], [89519, 0, "u"], [89520, 0, "r"], [89521, 0, "}"], [89522, 0, "$"], [89523, 0, " "], [89524, 0, "i"], [89525, 0, "s"], [89526, 0, " "], [89527, 0, "n"], [89528, 0, "o"], [89529, 0, "t"], [89530, 0, " "], [89531, 0, "a"], [89532, 0, " "], [89533, 0, "p"], [89534, 0, "r"], [89535, 0, "e"], [89536, 0, "f"], [89537, 0, "i"], [89538, 0, "x"], [89539, 0, " "], [89540, 0, "o"], [89541, 0, "f"], [89582, 1], [89581, 1], [89580, 1], [89579, 1], [89578, 1], [89577, 1], [89576, 1], [89575, 1], [89574, 1], [89573, 1], [89572, 1], [89571, 1], [89570, 1], [89569, 1], [89568, 1], [89567, 1], [89566, 1], [89565, 1], [89564, 1], [89563, 1], [89562, 1], [89561, 1], [89561, 0, ","], [89562, 0, " "], [89563, 0, "t"], [89564, 0, "h"], [89565, 0, "e"], [89566, 0, " "], [89567, 0, "o"], [89567, 1], [89567, 0, "o"], [89568, 0, "p"], [89569, 0, "e"], [89570, 0, "r"], [89571, 0, "a"], [89572, 0, "t"], [89573, 0, "i"], [89574, 0, "o"], [89575, 0, "n"], [89576, 0, "s"], [89577, 0, " "], [89578, 0, "a"], [89579, 0, "f"], [89580, 0, "f"], [89581, 0, "e"], [89582, 0, "c"], [89583, 0, "t"], [89584, 0, " "], [89585, 0, "d"], [89586, 0, "i"], [89587, 0, "s"], [89588, 0, "j"], [89589, 0, "o"], [89590, 0, "i"], [89591, 0, "n"], [89592, 0, "t"], [89593, 0, " "], [89594, 0, "s"], [89595, 0, "u"], [89596, 0, "b"], [89597, 0, "t"], [89598, 0, "r"], [89599, 0, "e"], [89600, 0, "e"], [89601, 0, "s"], [89602, 0, " "], [89603, 0, "o"], [89604, 0, "f"], [89605, 0, " "], [89606, 0, "t"], [89607, 0, "h"], [89608, 0, "e"], [89609, 0, " "], [89610, 0, "d"], [89611, 0, "o"], [89612, 0, "c"], [89613, 0, "u"], [89614, 0, "m"], [89615, 0, "e"], [89616, 0, "n"], [89617, 0, "t"], [89618, 0, ","], [89619, 0, " "], [89620, 0, "a"], [89621, 0, "n"], [89622, 0, "d"], [89623, 0, " "], [89624, 0, "s"], [89625, 0, "o"], [89626, 0, " "], [89627, 0, "t"], [89628, 0, "h"], [89629, 0, "e"], [89630, 0, "y"], [89631, 0, " "], [89632, 0, "a"], [89633, 0, "r"], [89634, 0, "e"], [89635, 0, " "], [89636, 0, "t"], [89637, 0, "r"], [89638, 0, "i"], [89639, 0, "v"], [89640, 0, "i"], [89641, 0, "a"], [89642, 0, "l"], [89643, 0, "l"], [89644, 0, "y"], [89645, 0, " "], [89646, 0, "c"], [89647, 0, "o"], [89648, 0, "m"], [89649, 0, "m"], [89650, 0, "u"], [89651, 0, "t"], [89652, 0, "a"], [89653, 0, "t"], [89654, 0, "i"], [89655, 0, "v"], [89656, 0, "e"], [89657, 0, "."], [89658, 0, " "], [89659, 0, "F"], [89660, 0, "o"], [89661, 0, "r"], [89662, 0, " "], [89663, 0, "t"], [89664, 0, "h"], [89665, 0, "e"], [89666, 0, " "], [89667, 0, "r"], [89668, 0, "e"], [89669, 0, "s"], [89670, 0, "t"], [89671, 0, " "], [89672, 0, "o"], [89673, 0, "f"], [89674, 0, " "], [89675, 0, "t"], [89676, 0, "h"], [89677, 0, "i"], [89678, 0, "s"], [89679, 0, " "], [89680, 0, "p"], [89681, 0, "r"], [89682, 0, "o"], [89683, 0, "o"], [89684, 0, "f"], [89685, 0, " "], [89685, 1], [89685, 0, ","], [89686, 0, " "], [89687, 0, "w"], [89688, 0, "e"], [89689, 0, " "], [89690, 0, "f"], [89691, 0, "o"], [89692, 0, "c"], [89693, 0, "u"], [89694, 0, "s"], [89695, 0, " "], [89696, 0, "o"], [89697, 0, "n"], [89698, 0, " "], [89699, 0, "t"], [89700, 0, "h"], [89701, 0, "e"], [89702, 0, " "], [89703, 0, "c"], [89704, 0, "a"], [89705, 0, "s"], [89706, 0, "e"], [89707, 0, " "], [89708, 0, "w"], [89709, 0, "h"], [89710, 0, "e"], [89711, 0, "r"], [89712, 0, "e"], [89713, 0, " "], [89714, 0, "$"], [89715, 0, "o"], [89716, 0, "_"], [89717, 0, "d"], [89718, 0, "."], [89719, 0, "\\"], [89720, 0, "m"], [89721, 0, "a"], [89722, 0, "t"], [89723, 0, "h"], [89724, 0, "i"], [89725, 0, "t"], [89726, 0, "{"], [89727, 0, "c"], [89728, 0, "u"], [89729, 0, "r"], [89730, 0, "}"], [89731, 0, " "], [89732, 0, "i"], [89733, 0, "s"], [89734, 0, " "], [89734, 1], [89733, 1], [89732, 1], [89731, 1], [89731, 0, "$"], [89732, 0, " "], [89733, 0, "i"], [89734, 0, "s"], [89735, 0, " "], [89736, 0, "a"], [89737, 0, " "], [89738, 0, "p"], [89739, 0, "r"], [89740, 0, "e"], [89741, 0, "f"], [89742, 0, "i"], [89743, 0, "x"], [89744, 0, " "], [89745, 0, "o"], [89746, 0, "f"], [89747, 0, " "], [89748, 0, "$"], [89749, 0, "o"], [89750, 0, "_"], [89751, 0, "c"], [89752, 0, "."], [89753, 0, "\\"], [89754, 0, "m"], [89755, 0, "a"], [89756, 0, "t"], [89757, 0, "h"], [89758, 0, "i"], [89759, 0, "t"], [89760, 0, "{"], [89761, 0, "c"], [89762, 0, "u"], [89763, 0, "r"], [89764, 0, "}"], [89765, 0, "$"], [89766, 0, "."], [89917, 0, ","], [89918, 0, " "], [89919, 0, "t"], [89920, 0, "h"], [89921, 0, "e"], [89922, 0, " "], [89923, 0, "\\"], [89924, 0, "t"], [89925, 0, "e"], [89926, 0, "x"], [89927, 0, "t"], [89928, 0, "s"], [89929, 0, "c"], [89930, 0, "{"], [89931, 0, "C"], [89932, 0, "l"], [89933, 0, "e"], [89934, 0, "a"], [89935, 0, "r"], [89936, 0, "-"], [89937, 0, "*"], [89938, 0, "}"], [89939, 0, " "], [89940, 0, "r"], [89941, 0, "u"], [89942, 0, "l"], [89943, 0, "e"], [89944, 0, "s"], [89945, 0, " "], [89946, 0, "a"], [89947, 0, "p"], [89948, 0, "p"], [89949, 0, "l"], [89950, 0, "y"], [89951, 0, "i"], [89952, 0, "n"], [89953, 0, "g"], [89954, 0, " "], [89955, 0, "$"], [89955, 1], [89954, 1], [89953, 1], [89952, 1], [89951, 1], [89950, 1], [89949, 1], [89948, 1], [89947, 1], [89946, 1], [89946, 0, "e"], [89947, 0, "v"], [89948, 0, "a"], [89949, 0, "l"], [89950, 0, "u"], [89951, 0, "a"], [89952, 0, "t"], [89953, 0, "i"], [89954, 0, "n"], [89955, 0, "g"], [89956, 0, " "], [89957, 0, "$"], [89958, 0, "o"], [89959, 0, "_"], [89960, 0, "d"], [89961, 0, "$"], [89962, 0, " "], [89963, 0, "w"], [89964, 0, "i"], [89965, 0, "l"], [89966, 0, "l"], [89967, 0, " "], [89968, 0, "l"], [89969, 0, "e"], [89970, 0, "a"], [89971, 0, "v"], [89972, 0, "e"], [89973, 0, " "], [89974, 0, "a"], [89975, 0, "n"], [89976, 0, "y"], [89977, 0, " "], [89978, 0, "o"], [89979, 0, "c"], [89980, 0, "c"], [89981, 0, "u"], [89982, 0, "r"], [89983, 0, "r"], [89984, 0, "e"], [89985, 0, "n"], [89986, 0, "c"], [89987, 0, "e"], [89988, 0, "s"], [89989, 0, " "], [89990, 0, "o"], [89991, 0, "f"], [89992, 0, " "], [89993, 0, "$"], [89994, 0, "o"], [89995, 0, "_"], [89996, 0, "c"], [89997, 0, "."], [89998, 0, "\\"], [89999, 0, "m"], [90000, 0, "a"], [90001, 0, "t"], [90002, 0, "h"], [90003, 0, "i"], [90004, 0, "t"], [90005, 0, "{"], [90006, 0, "i"], [90007, 0, "d"], [90008, 0, "}"], [90009, 0, "$"], [90010, 0, " "], [90011, 0, "u"], [90012, 0, "n"], [90013, 0, "d"], [90014, 0, "i"], [90015, 0, "s"], [90016, 0, "t"], [90011, 0, "i"], [90012, 0, "n"], [90013, 0, " "], [90014, 0, "t"], [90015, 0, "h"], [90016, 0, "e"], [90017, 0, " "], [90018, 0, "d"], [90019, 0, "o"], [90020, 0, "c"], [90021, 0, "u"], [90022, 0, "m"], [90023, 0, "e"], [90024, 0, "n"], [90025, 0, "t"], [90026, 0, " "], [90027, 0, "s"], [90028, 0, "t"], [90029, 0, "a"], [90030, 0, "t"], [90031, 0, "e"], [90032, 0, " "], [90039, 0, "u"], [90040, 0, "r"], [90041, 0, "b"], [90042, 0, "e"], [90043, 0, "d"], [90044, 0, "."], [90045, 0, " "], [90046, 0, "T"], [90047, 0, "h"], [90048, 0, "e"], [90049, 0, " "], [90050, 0, "e"], [90051, 0, "f"], [90052, 0, "f"], [90053, 0, "e"], [90054, 0, "c"], [90055, 0, "t"], [90056, 0, " "], [90057, 0, "o"], [90058, 0, "f"], [90059, 0, " "], [90060, 0, "o"], [90061, 0, "f"], [90062, 0, " "], [90063, 0, "a"], [90064, 0, "p"], [90065, 0, "p"], [90065, 1], [90064, 1], [90063, 1], [90062, 1], [90061, 1], [90060, 1], [90060, 0, "a"], [90061, 0, "p"], [90062, 0, "p"], [90063, 0, "l"], [90064, 0, "y"], [90065, 0, "i"], [90066, 0, "n"], [90067, 0, "g"], [90068, 0, " "], [89966, 1], [89965, 1], [89965, 0, "l"], [89966, 0, "l"], [90069, 0, "$"], [90070, 0, "o"], [90071, 0, "_"], [90072, 0, "c"], [90073, 0, "$"], [90074, 0, " "], [90075, 0, "b"], [90076, 0, "e"], [90077, 0, "f"], [90078, 0, "o"], [90079, 0, "r"], [90080, 0, "e"], [90081, 0, " "], [90082, 0, "$"], [90083, 0, "o"], [90084, 0, "_"], [90085, 0, "d"], [90086, 0, "$"], [90087, 0, " "], [90088, 0, "i"], [90089, 0, "s"], [90090, 0, " "], [90091, 0, "t"], [90092, 0, "h"], [90093, 0, "u"], [90094, 0, "s"], [90095, 0, " "], [90096, 0, "t"], [90097, 0, "h"], [90098, 0, "e"], [90099, 0, " "], [90100, 0, "s"], [90101, 0, "a"], [90102, 0, "m"], [90103, 0, "e"], [90104, 0, " "], [90105, 0, "a"], [90106, 0, "s"], [90107, 0, " "], [90108, 0, "a"], [90109, 0, "p"], [90110, 0, "p"], [90111, 0, "l"], [90112, 0, "y"], [90113, 0, "i"], [90114, 0, "n"], [90115, 0, "g"], [90116, 0, " "], [90117, 0, "$"], [90118, 0, "o"], [90119, 0, "_"], [90120, 0, "d"], [90121, 0, "$"], [90122, 0, " "], [90123, 0, "b"], [90124, 0, "e"], [90125, 0, "f"], [90126, 0, "o"], [90127, 0, "r"], [90128, 0, "e"], [90129, 0, " "], [90130, 0, "$"], [90131, 0, "o"], [90132, 0, "_"], [90133, 0, "c"], [90134, 0, "$"], [90135, 0, ","], [90136, 0, " "], [90137, 0, "s"], [90138, 0, "o"], [90139, 0, " "], [90140, 0, "t"], [90141, 0, "h"], [90142, 0, "e"], [90143, 0, " "], [90144, 0, "o"], [90145, 0, "p"], [90146, 0, "e"], [90147, 0, "r"], [90148, 0, "a"], [90149, 0, "t"], [90150, 0, "i"], [90151, 0, "o"], [90152, 0, "n"], [90153, 0, "s"], [90154, 0, " "], [90155, 0, "c"], [90156, 0, "o"], [90157, 0, "m"], [90158, 0, "m"], [90159, 0, "u"], [90160, 0, "t"], [90161, 0, "e"], [90162, 0, "."], [89867, 1], [89866, 1], [89866, 0, "e"], [89867, 0, "r"], [89868, 0, "e"], [89869, 0, "f"], [89870, 0, "o"], [89871, 0, "r"], [89872, 0, "e"], [90049, 0, ","], [90050, 0, " "], [90051, 0, "w"], [90052, 0, "h"], [90053, 0, "i"], [90054, 0, "l"], [90055, 0, "e"], [90056, 0, " "], [90057, 0, "r"], [90058, 0, "e"], [90059, 0, "m"], [90060, 0, "o"], [90061, 0, "v"], [90062, 0, "i"], [90063, 0, "n"], [90064, 0, "g"], [90065, 0, " "], [90066, 0, "a"], [90067, 0, "n"], [90068, 0, "y"], [90069, 0, " "], [90070, 0, "o"], [90071, 0, "c"], [90072, 0, "c"], [90073, 0, "u"], [90074, 0, "r"], [90075, 0, "r"], [90076, 0, "e"], [90077, 0, "n"], [90078, 0, "c"], [90079, 0, "e"], [90080, 0, "s"], [90081, 0, " "], [90082, 0, "o"], [90083, 0, "f"], [90084, 0, " "], [90085, 0, "o"], [90086, 0, "p"], [90087, 0, "e"], [90088, 0, "r"], [90089, 0, "a"], [90090, 0, "t"], [90091, 0, "i"], [90092, 0, "o"], [90093, 0, "n"], [90094, 0, "s"], [90095, 0, " "], [90096, 0, "i"], [90097, 0, "n"], [90098, 0, " "], [90099, 0, "$"], [90100, 0, "o"], [90101, 0, "_"], [90102, 0, "d"], [90103, 0, "."], [90104, 0, "\\"], [90105, 0, "m"], [90106, 0, "a"], [90107, 0, "t"], [90108, 0, "h"], [90109, 0, "i"], [90110, 0, "t"], [90111, 0, "{"], [90112, 0, "d"], [90113, 0, "e"], [90114, 0, "p"], [90115, 0, "s"], [90116, 0, "}"], [90117, 0, "$"], [89658, 0, " "], [89659, 0, "A"], [89660, 0, "n"], [89661, 0, "y"], [89662, 0, " "], [89663, 0, "s"], [89664, 0, "t"], [89665, 0, "a"], [89666, 0, "t"], [89667, 0, "e"], [89668, 0, " "], [89669, 0, "c"], [89670, 0, "h"], [89671, 0, "a"], [89672, 0, "n"], [89673, 0, "g"], [89674, 0, "e"], [89675, 0, "s"], [89676, 0, " "], [89677, 0, "b"], [89678, 0, "y"], [89679, 0, " "], [89680, 0, "\\"], [89681, 0, "t"], [89682, 0, "e"], [89683, 0, "x"], [89684, 0, "t"], [89685, 0, "s"], [89686, 0, "c"], [89687, 0, "{"], [89688, 0, "D"], [89689, 0, "e"], [89690, 0, "s"], [89691, 0, "c"], [89692, 0, "e"], [89693, 0, "n"], [89694, 0, "d"], [89695, 0, "}"], [89696, 0, " "], [89697, 0, "a"], [89698, 0, "n"], [89699, 0, "d"], [89700, 0, " "], [89701, 0, "$"], [89702, 0, "\\"], [89703, 0, "t"], [89704, 0, "e"], [89705, 0, "x"], [89706, 0, "t"], [89707, 0, "s"], [89708, 0, "c"], [89709, 0, "{"], [89710, 0, "A"], [89711, 0, "d"], [89712, 0, "d"], [89713, 0, "-"], [89714, 0, "I"], [89715, 0, "D"], [89716, 0, "}"], [89717, 0, "_"], [89718, 0, "1"], [89719, 0, "$"], [89720, 0, " "], [89721, 0, "a"], [89722, 0, "l"], [89723, 0, "o"], [89724, 0, "n"], [89725, 0, "g"], [89726, 0, " "], [89727, 0, "t"], [89728, 0, "h"], [89729, 0, "e"], [89730, 0, " "], [89731, 0, "s"], [89732, 0, "h"], [89732, 1], [89731, 1], [89731, 0, "s"], [89732, 0, "h"], [89733, 0, "a"], [89734, 0, "r"], [89735, 0, "e"], [89736, 0, "d"], [89737, 0, " "], [89738, 0, "p"], [89739, 0, "a"], [89740, 0, "r"], [89741, 0, "t"], [89742, 0, " "], [89743, 0, "o"], [89744, 0, "f"], [89745, 0, " "], [89746, 0, "t"], [89747, 0, "h"], [89748, 0, "e"], [89749, 0, " "], [89750, 0, "c"], [89751, 0, "u"], [89752, 0, "r"], [89753, 0, "s"], [89754, 0, "o"], [89755, 0, "r"], [89756, 0, " "], [89757, 0, "p"], [89758, 0, "a"], [89759, 0, "t"], [89760, 0, "h"], [89761, 0, " "], [89762, 0, "a"], [89763, 0, "r"], [89764, 0, "e"], [89765, 0, " "], [89766, 0, "a"], [89767, 0, "p"], [89768, 0, "p"], [89769, 0, "l"], [89770, 0, "i"], [89771, 0, "e"], [89772, 0, "d"], [89773, 0, " "], [89774, 0, "u"], [89775, 0, "s"], [89776, 0, "i"], [89777, 0, "n"], [89778, 0, "g"], [89779, 0, " "], [89780, 0, "t"], [89781, 0, "h"], [89782, 0, "e"], [89783, 0, " "], [89784, 0, "s"], [89785, 0, "e"], [89786, 0, "t"], [89787, 0, " "], [89788, 0, "u"], [89789, 0, "n"], [89790, 0, "i"], [89791, 0, "o"], [89792, 0, "n"], [89793, 0, " "], [89794, 0, "o"], [89795, 0, "p"], [89796, 0, "e"], [89797, 0, "r"], [89798, 0, "a"], [89799, 0, "t"], [89800, 0, "o"], [89801, 0, "r"], [89802, 0, " "], [89803, 0, "$"], [89804, 0, "\\"], [89805, 0, "c"], [89806, 0, "u"], [89807, 0, "p"], [89808, 0, "$"], [89809, 0, ","], [89810, 0, " "], [89811, 0, "w"], [89812, 0, "h"], [89813, 0, "i"], [89814, 0, "c"], [89815, 0, "h"], [89816, 0, " "], [89817, 0, "i"], [89818, 0, "s"], [89819, 0, " "], [89820, 0, "c"], [89821, 0, "o"], [89822, 0, "m"], [89823, 0, "m"], [89824, 0, "u"], [89825, 0, "t"], [89826, 0, "a"], [89827, 0, "t"], [89828, 0, "i"], [89829, 0, "v"], [89830, 0, "e"], [89831, 0, "."], [89832, 0, "\n"], [89833, 0, "\n"], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 1], [89834, 0, "N"], [89835, 0, "o"], [89836, 0, "w"], [89837, 0, " "], [89838, 0, "c"], [89839, 0, "o"], [89840, 0, "n"], [89841, 0, "s"], [89842, 0, "i"], [89843, 0, "d"], [89844, 0, "e"], [89845, 0, "r"], [89916, 1], [89915, 1], [89915, 0, " "], [90266, 1], [90266, 0, "\n"], [90267, 0, "\n"], [90266, 0, "\n"], [90267, 0, "\n"], [90268, 0, "I"], [90269, 0, "f"], [90270, 0, " "], [90271, 0, "$"], [90272, 0, "o"], [90273, 0, "_"], [90274, 0, "c"], [90275, 0, "$"], [90276, 0, " "], [90277, 0, "i"], [90278, 0, "s"], [90279, 0, " "], [90280, 0, "a"], [90281, 0, "p"], [90282, 0, "p"], [90283, 0, "l"], [90284, 0, "i"], [90285, 0, "e"], [90286, 0, "d"], [90287, 0, " "], [90288, 0, "a"], [90289, 0, "f"], [90290, 0, "t"], [90291, 0, "e"], [90292, 0, "r"], [90293, 0, " "], [90294, 0, "$"], [90295, 0, "o"], [90296, 0, "_"], [90297, 0, "d"], [90298, 0, "$"], [90299, 0, ","], [90300, 0, " "], [90274, 1], [90274, 0, "d"], [90292, 1], [90291, 1], [90290, 1], [90289, 1], [90288, 1], [90288, 0, "b"], [90289, 0, "e"], [90290, 0, "f"], [90291, 0, "o"], [90292, 0, "r"], [90293, 0, "e"], [90298, 1], [90298, 0, "c"], [90302, 0, "t"], [90303, 0, "h"], [90304, 0, "e"], [90305, 0, " "], [90306, 0, "e"], [90307, 0, "f"], [90308, 0, "f"], [90309, 0, "e"], [90310, 0, "c"], [90311, 0, "t"], [90312, 0, " "], [90313, 0, "o"], [90314, 0, "n"], [90315, 0, " "], [90316, 0, "p"], [90317, 0, "r"], [90318, 0, "e"], [90319, 0, "s"], [90320, 0, "e"], [90321, 0, "n"], [90322, 0, "c"], [90323, 0, "e"], [90324, 0, " "], [90325, 0, "s"], [90326, 0, "e"], [90327, 0, "t"], [90328, 0, "s"], [90329, 0, " "], [90330, 0, "a"], [90331, 0, "n"], [90332, 0, "d"], [90333, 0, " "], [90334, 0, "r"], [90335, 0, "e"], [90336, 0, "g"], [90337, 0, "i"], [90338, 0, "s"], [90339, 0, "t"], [90340, 0, "e"], [90341, 0, "r"], [90342, 0, "s"], [90343, 0, " "], [90344, 0, "i"], [90345, 0, "s"], [90346, 0, " "], [90347, 0, "t"], [90348, 0, "h"], [90349, 0, "e"], [90350, 0, " "], [90351, 0, "s"], [90352, 0, "a"], [90353, 0, "m"], [90354, 0, "e"], [90355, 0, " "], [90356, 0, "a"], [90357, 0, "s"], [90358, 0, " "], [90359, 0, "i"], [90360, 0, "f"], [90361, 0, " "], [90362, 0, "t"], [90363, 0, "h"], [90364, 0, "e"], [90365, 0, "y"], [90366, 0, " "], [90367, 0, "h"], [90368, 0, "a"], [90369, 0, "d"], [90370, 0, " "], [90371, 0, "b"], [90372, 0, "e"], [90373, 0, "e"], [90374, 0, "n"], [90375, 0, " "], [90376, 0, "e"], [90377, 0, "x"], [90378, 0, "e"], [90379, 0, "c"], [90380, 0, "u"], [90381, 0, "t"], [90382, 0, "e"], [90382, 1], [90381, 1], [90380, 1], [90379, 1], [90378, 1], [90377, 1], [90376, 1], [90376, 0, "a"], [90377, 0, "p"], [90378, 0, "p"], [90379, 0, "l"], [90380, 0, "i"], [90381, 0, "e"], [90382, 0, "d"], [90383, 0, " "], [90384, 0, "i"], [90385, 0, "n"], [90386, 0, " "], [90387, 0, "t"], [90388, 0, "h"], [90389, 0, "e"], [90390, 0, " "], [90391, 0, "r"], [90392, 0, "e"], [90393, 0, "v"], [90394, 0, "e"], [90395, 0, "r"], [90396, 0, "s"], [90397, 0, "e"], [90398, 0, " "], [90399, 0, "o"], [90400, 0, "r"], [90401, 0, "d"], [90402, 0, "e"], [90403, 0, "r"], [90404, 0, ","], [90405, 0, " "], [90406, 0, "d"], [90407, 0, "u"], [90408, 0, "e"], [90409, 0, " "], [90410, 0, "t"], [90411, 0, "o"], [90412, 0, " "], [90413, 0, "t"], [90414, 0, "h"], [90415, 0, "e"], [90416, 0, " "], [90416, 1], [90415, 1], [90414, 1], [90413, 1], [90412, 1], [90411, 1], [90410, 1], [90409, 1], [90408, 1], [90407, 1], [90406, 1], [90405, 1], [90404, 1], [90403, 1], [90403, 0, "r"], [90404, 0, "."], [90405, 0, " "], [90406, 0, "M"], [90407, 0, "o"], [90408, 0, "r"], [90409, 0, "e"], [90410, 0, "o"], [90411, 0, "v"], [90412, 0, "e"], [90413, 0, "r"], [90414, 0, " "], [90414, 1], [90414, 0, ","], [90415, 0, " "], [90416, 0, "$"], [90417, 0, "o"], [90418, 0, "_"], [90419, 0, "c"], [90420, 0, "$"], [90421, 0, " "], [90422, 0, "i"], [90423, 0, "s"], [90424, 0, " "], [90425, 0, "s"], [90426, 0, "t"], [90427, 0, "i"], [90428, 0, "l"], [90429, 0, "l"], [90430, 0, " "], [90431, 0, "a"], [90432, 0, "b"], [90433, 0, "l"], [90434, 0, "e"], [90435, 0, " "], [90436, 0, "t"], [90437, 0, "o"], [90438, 0, " "], [90439, 0, "e"], [90440, 0, "x"], [90441, 0, "e"], [90442, 0, "c"], [90443, 0, "u"], [90444, 0, "t"], [90445, 0, "e"], [90445, 1], [90444, 1], [90443, 1], [90442, 1], [90441, 1], [90440, 1], [90439, 1], [90438, 1], [90437, 1], [90436, 1], [90435, 1], [90434, 1], [90433, 1], [90432, 1], [90431, 1], [90430, 1], [90429, 1], [90428, 1], [90427, 1], [90426, 1], [90425, 1], [90424, 1], [90423, 1], [90422, 1], [90422, 0, "a"], [90423, 0, "p"], [90424, 0, "p"], [90425, 0, "l"], [90426, 0, "i"], [90427, 0, "e"], [90428, 0, "s"], [90429, 0, " "], [90430, 0, "i"], [90431, 0, "n"], [90432, 0, " "], [90433, 0, "t"], [90434, 0, "h"], [90435, 0, "e"], [90436, 0, " "], [90437, 0, "s"], [90438, 0, "a"], [90439, 0, "m"], [90440, 0, "e"], [90441, 0, " "], [90442, 0, "w"], [90443, 0, "a"], [90444, 0, "s"], [90444, 1], [90444, 0, "y"], [90445, 0, " "], [90446, 0, "a"], [90447, 0, "s"], [90448, 0, " "], [90449, 0, "i"], [90450, 0, "f"], [90451, 0, " "], [90452, 0, "$"], [90453, 0, "o"], [90454, 0, "_"], [90455, 0, "d"], [90456, 0, "$"], [90457, 0, " "], [90458, 0, "h"], [90459, 0, "a"], [90460, 0, "d"], [90461, 0, " "], [90462, 0, "n"], [90463, 0, "o"], [90464, 0, "t"], [90465, 0, " "], [90466, 0, "b"], [90467, 0, "e"], [90468, 0, "e"], [90469, 0, "n"], [90470, 0, " "], [90471, 0, "a"], [90472, 0, "p"], [90473, 0, "p"], [90474, 0, "l"], [90475, 0, "i"], [90476, 0, "e"], [90477, 0, "d"], [90478, 0, " "], [90479, 0, "p"], [90480, 0, "r"], [90481, 0, "e"], [90482, 0, "v"], [90483, 0, "i"], [90484, 0, "o"], [90485, 0, "u"], [90486, 0, "s"], [90487, 0, "l"], [90488, 0, "y"], [90489, 0, ","], [90490, 0, " "], [90491, 0, "b"], [90492, 0, "e"], [90493, 0, "c"], [90494, 0, "a"], [90495, 0, "u"], [90496, 0, "s"], [90497, 0, "e"], [90498, 0, " "], [90499, 0, "$"], [90500, 0, "o"], [90501, 0, "_"], [90502, 0, "d"], [90503, 0, "$"], [90504, 0, " "], [90504, 1], [90503, 1], [90502, 1], [90501, 1], [90500, 1], [90499, 1], [90499, 0, "a"], [90500, 0, " "], [90500, 1], [90499, 1], [90499, 0, "$"], [90500, 0, "o"], [90501, 0, "_"], [90502, 0, "d"], [90503, 0, "$"], [90504, 0, " "], [90504, 1], [90503, 1], [90502, 1], [90501, 1], [90500, 1], [90499, 1], [90499, 0, "a"], [90500, 0, "p"], [90501, 0, "p"], [90502, 0, "l"], [90503, 0, "y"], [90504, 0, "i"], [90505, 0, "n"], [90506, 0, "g"], [90507, 0, " "], [90508, 0, "a"], [90509, 0, " "], [90510, 0, "d"], [90511, 0, "e"], [90512, 0, "l"], [90513, 0, "e"], [90514, 0, "t"], [90515, 0, "i"], [90516, 0, "o"], [90517, 0, "n"], [90518, 0, " "], [90519, 0, "o"], [90520, 0, "n"], [90521, 0, "l"], [90522, 0, "y"], [90523, 0, " "], [90524, 0, "m"], [90525, 0, "o"], [90526, 0, "d"], [90527, 0, "i"], [90528, 0, "f"], [90529, 0, "i"], [90530, 0, "e"], [90531, 0, "s"], [90532, 0, " "], [90533, 0, "p"], [90534, 0, "r"], [90535, 0, "e"], [90536, 0, "s"], [90537, 0, "e"], [90538, 0, "n"], [90539, 0, "c"], [90540, 0, "e"], [90541, 0, " "], [90542, 0, "s"], [90543, 0, "e"], [90544, 0, "t"], [90545, 0, "s"], [90546, 0, " "], [90547, 0, "a"], [90548, 0, "n"], [90549, 0, "d"], [90550, 0, " "], [90551, 0, "r"], [90552, 0, "e"], [90553, 0, "g"], [90554, 0, "i"], [90555, 0, "s"], [90556, 0, "t"], [90557, 0, "e"], [90558, 0, "r"], [90559, 0, "s"], [90560, 0, ","], [90561, 0, " "], [90562, 0, "b"], [90563, 0, "u"], [90564, 0, "t"], [90565, 0, " "], [90566, 0, "d"], [90567, 0, "o"], [90568, 0, "e"], [90569, 0, "s"], [90570, 0, " "], [90571, 0, "n"], [90572, 0, "o"], [90573, 0, "t"], [90574, 0, " "], [90575, 0, "a"], [90576, 0, "c"], [90577, 0, "t"], [90578, 0, "u"], [90579, 0, "a"], [90580, 0, "l"], [90581, 0, "l"], [90582, 0, "y"], [90583, 0, " "], [90584, 0, "r"], [90585, 0, "e"], [90586, 0, "m"], [90587, 0, "o"], [90588, 0, "v"], [90589, 0, "e"], [90590, 0, " "], [90591, 0, "a"], [90592, 0, "n"], [90593, 0, "y"], [90594, 0, " "], [90595, 0, "m"], [90596, 0, "a"], [90597, 0, "p"], [90598, 0, " "], [90599, 0, "k"], [90600, 0, "e"], [90601, 0, "y"], [90602, 0, "s"], [90603, 0, " "], [90604, 0, "o"], [90605, 0, "r"], [90606, 0, " "], [90607, 0, "l"], [90608, 0, "i"], [90609, 0, "s"], [90610, 0, "t"], [90611, 0, " "], [90612, 0, "i"], [90613, 0, "t"], [90614, 0, "e"], [90615, 0, "m"], [90616, 0, "s"], [90616, 1], [90615, 1], [90614, 1], [90613, 1], [90612, 1], [90612, 0, "e"], [90613, 0, "l"], [90614, 0, "e"], [90615, 0, "m"], [90616, 0, "e"], [90617, 0, "n"], [90618, 0, "t"], [90619, 0, "s"], [90620, 0, "."], [90620, 0, ","], [90621, 0, " "], [90622, 0, "a"], [90623, 0, "n"], [90624, 0, "d"], [90625, 0, " "], [90626, 0, "b"], [90627, 0, "e"], [90628, 0, "c"], [90629, 0, "a"], [90630, 0, "u"], [90631, 0, "s"], [90632, 0, "e"], [90633, 0, " "], [90634, 0, "t"], [90635, 0, "h"], [90636, 0, "e"], [90637, 0, " "], [90638, 0, "r"], [90639, 0, "u"], [90640, 0, "l"], [90641, 0, "e"], [90642, 0, "s"], [90643, 0, " "], [90644, 0, "f"], [90645, 0, "o"], [90646, 0, "r"], [90647, 0, " "], [90648, 0, "a"], [90649, 0, "p"], [90650, 0, "p"], [90651, 0, "l"], [90652, 0, "y"], [90653, 0, "i"], [90654, 0, "n"], [90655, 0, "g"], [90656, 0, " "], [90657, 0, "a"], [90658, 0, "n"], [90659, 0, " "], [90660, 0, "o"], [90661, 0, "p"], [90662, 0, "e"], [90663, 0, "r"], [90664, 0, "a"], [90665, 0, "t"], [90666, 0, "i"], [90667, 0, "o"], [90668, 0, "n"], [90669, 0, " "], [90670, 0, "a"], [90671, 0, "r"], [90672, 0, "e"], [90673, 0, " "], [90674, 0, "n"], [90675, 0, "o"], [90676, 0, "t"], [90677, 0, " "], [90678, 0, "c"], [90679, 0, "o"], [90680, 0, "n"], [90681, 0, "d"], [90682, 0, "i"], [90683, 0, "t"], [90684, 0, "i"], [90685, 0, "o"], [90686, 0, "n"], [90687, 0, "a"], [90688, 0, "l"], [90689, 0, " "], [90690, 0, "o"], [90691, 0, "n"], [90692, 0, " "], [90693, 0, "t"], [90694, 0, "h"], [90695, 0, "e"], [90696, 0, " "], [90697, 0, "p"], [90698, 0, "r"], [90699, 0, "e"], [90700, 0, "v"], [90701, 0, "i"], [90702, 0, "o"], [90703, 0, "u"], [90704, 0, "s"], [90705, 0, " "], [90706, 0, "c"], [90707, 0, "o"], [90708, 0, "n"], [90709, 0, "t"], [90710, 0, "e"], [90711, 0, "n"], [90712, 0, "t"], [90713, 0, " "], [90714, 0, "o"], [90715, 0, "f"], [90716, 0, " "], [90717, 0, "p"], [90718, 0, "r"], [90719, 0, "e"], [90720, 0, "s"], [90721, 0, "e"], [90722, 0, "n"], [90723, 0, "c"], [90724, 0, "e"], [90725, 0, " "], [90726, 0, "s"], [90727, 0, "e"], [90728, 0, "t"], [90729, 0, "s"], [90730, 0, " "], [90731, 0, "a"], [90732, 0, "n"], [90733, 0, "d"], [90734, 0, " "], [90735, 0, "r"], [90736, 0, "e"], [90737, 0, "g"], [90738, 0, "i"], [90739, 0, "s"], [90740, 0, "t"], [90741, 0, "e"], [90742, 0, "r"], [90743, 0, "s"], [90573, 1], [90572, 1], [90571, 1], [90570, 1], [90569, 1], [90568, 1], [90567, 1], [90566, 1], [90565, 1], [90564, 1], [90563, 1], [90562, 1], [90562, 0, "w"], [90563, 0, "i"], [90564, 0, "t"], [90565, 0, "h"], [90566, 0, "o"], [90567, 0, "u"], [90568, 0, "t"], [90584, 1], [90584, 0, "i"], [90585, 0, "n"], [90586, 0, "g"], [90587, 1], [90587, 1], [90587, 1], [90587, 1], [90740, 0, "T"], [90741, 0, "h"], [90742, 0, "u"], [90743, 0, "s"], [90744, 0, ","], [90745, 0, " "], [90746, 1], [90746, 0, "t"], [90790, 1], [90790, 1], [90790, 1], [90790, 1], [90790, 1], [93202, 1], [93201, 1], [93200, 1], [93199, 1], [93198, 1], [93197, 1], [93196, 1], [93195, 1], [93194, 1], [93193, 1], [93192, 1], [93191, 1], [93190, 1], [93189, 1], [93188, 1], [93187, 1], [93186, 1], [93185, 1], [93184, 1], [93183, 1], [93182, 1], [93181, 1], [93180, 1], [93179, 1], [93178, 1], [93177, 1], [93176, 1], [93175, 1], [93174, 1], [93173, 1], [93172, 1], [93171, 1], [93170, 1], [93169, 1], [93168, 1], [93167, 1], [93166, 1], [93165, 1], [93164, 1], [93163, 1], [93162, 1], [93161, 1], [93160, 1], [93159, 1], [93158, 1], [93157, 1], [93156, 1], [93155, 1], [93154, 1], [93153, 1], [93152, 1], [93151, 1], [93150, 1], [93149, 1], [93148, 1], [93147, 1], [93146, 1], [93145, 1], [93144, 1], [93143, 1], [93142, 1], [93141, 1], [93140, 1], [93139, 1], [93138, 1], [93137, 1], [93136, 1], [93135, 1], [93134, 1], [93133, 1], [93132, 1], [93131, 1], [93130, 1], [93129, 1], [93128, 1], [93127, 1], [93126, 1], [93125, 1], [93124, 1], [93123, 1], [93122, 1], [93121, 1], [93120, 1], [93119, 1], [93118, 1], [93117, 1], [93116, 1], [93115, 1], [93114, 1], [93113, 1], [93112, 1], [93111, 1], [93110, 1], [93109, 1], [93108, 1], [93107, 1], [93106, 1], [93105, 1], [93104, 1], [93103, 1], [93102, 1], [93101, 1], [93100, 1], [93099, 1], [93098, 1], [93097, 1], [93096, 1], [93095, 1], [93094, 1], [93093, 1], [93092, 1], [93091, 1], [93090, 1], [93089, 1], [93088, 1], [93087, 1], [93086, 1], [93085, 1], [93084, 1], [93083, 1], [93082, 1], [93081, 1], [93080, 1], [93079, 1], [93078, 1], [93077, 1], [93076, 1], [93075, 1], [93074, 1], [93073, 1], [93072, 1], [93071, 1], [93070, 1], [93069, 1], [93068, 1], [93067, 1], [93066, 1], [93065, 1], [93064, 1], [93063, 1], [93062, 1], [93061, 1], [93060, 1], [93059, 1], [93058, 1], [93057, 1], [93056, 1], [93055, 1], [93054, 1], [93053, 1], [93052, 1], [93051, 1], [93050, 1], [93049, 1], [93048, 1], [93047, 1], [93046, 1], [93045, 1], [93044, 1], [93043, 1], [93042, 1], [93041, 1], [93040, 1], [93039, 1], [93038, 1], [93037, 1], [93036, 1], [93035, 1], [93034, 1], [93033, 1], [93032, 1], [93031, 1], [93030, 1], [93029, 1], [93028, 1], [93027, 1], [93026, 1], [93025, 1], [93024, 1], [93023, 1], [93022, 1], [93021, 1], [93020, 1], [93019, 1], [93018, 1], [93017, 1], [93016, 1], [93015, 1], [93014, 1], [93013, 1], [93012, 1], [93011, 1], [93010, 1], [93009, 1], [93008, 1], [93007, 1], [93006, 1], [93005, 1], [93004, 1], [93003, 1], [93002, 1], [93001, 1], [93000, 1], [92999, 1], [92998, 1], [92997, 1], [92996, 1], [92995, 1], [92994, 1], [92993, 1], [92992, 1], [92991, 1], [92990, 1], [92989, 1], [92988, 1], [92987, 1], [92986, 1], [92985, 1], [92984, 1], [92983, 1], [92982, 1], [92981, 1], [92980, 1], [92979, 1], [92978, 1], [92977, 1], [92976, 1], [92975, 1], [92974, 1], [92973, 1], [92972, 1], [92971, 1], [92970, 1], [92969, 1], [92968, 1], [92967, 1], [92966, 1], [92965, 1], [92964, 1], [92963, 1], [92962, 1], [92961, 1], [92960, 1], [92959, 1], [92958, 1], [92957, 1], [92956, 1], [92955, 1], [92954, 1], [92953, 1], [92952, 1], [92951, 1], [92950, 1], [92949, 1], [92948, 1], [92947, 1], [92946, 1], [92945, 1], [92944, 1], [92943, 1], [92942, 1], [92941, 1], [92940, 1], [92939, 1], [92938, 1], [92937, 1], [92936, 1], [92935, 1], [92934, 1], [92933, 1], [92932, 1], [92931, 1], [92930, 1], [92929, 1], [92928, 1], [92927, 1], [92926, 1], [92925, 1], [92924, 1], [92923, 1], [92922, 1], [92921, 1], [92920, 1], [92919, 1], [92918, 1], [92917, 1], [92916, 1], [92915, 1], [92914, 1], [92913, 1], [92912, 1], [92911, 1], [92910, 1], [92909, 1], [92908, 1], [92907, 1], [92906, 1], [92905, 1], [92904, 1], [92903, 1], [92902, 1], [92901, 1], [92900, 1], [92899, 1], [92898, 1], [92897, 1], [92896, 1], [92895, 1], [92894, 1], [92893, 1], [92892, 1], [92891, 1], [92890, 1], [92889, 1], [92888, 1], [92887, 1], [92886, 1], [92885, 1], [92884, 1], [92883, 1], [92882, 1], [92881, 1], [92880, 1], [92879, 1], [92878, 1], [92877, 1], [92876, 1], [92875, 1], [92874, 1], [92873, 1], [92872, 1], [92871, 1], [92870, 1], [92869, 1], [92868, 1], [92867, 1], [92866, 1], [92865, 1], [92864, 1], [92863, 1], [92862, 1], [92861, 1], [92860, 1], [92859, 1], [92858, 1], [92857, 1], [92856, 1], [92855, 1], [92854, 1], [92853, 1], [92852, 1], [92851, 1], [92850, 1], [92849, 1], [92848, 1], [92847, 1], [92846, 1], [92845, 1], [92844, 1], [92843, 1], [92842, 1], [92841, 1], [92840, 1], [92839, 1], [92838, 1], [92837, 1], [92836, 1], [92835, 1], [92834, 1], [92833, 1], [92832, 1], [92831, 1], [92830, 1], [92829, 1], [92828, 1], [92827, 1], [92826, 1], [92825, 1], [92824, 1], [92823, 1], [92822, 1], [92821, 1], [92820, 1], [92819, 1], [92818, 1], [92817, 1], [92816, 1], [92815, 1], [92814, 1], [92813, 1], [92812, 1], [92811, 1], [92810, 1], [92809, 1], [92808, 1], [92807, 1], [92806, 1], [92805, 1], [92804, 1], [92803, 1], [92802, 1], [92801, 1], [92800, 1], [92799, 1], [92798, 1], [92797, 1], [92796, 1], [92795, 1], [92794, 1], [92793, 1], [92792, 1], [92791, 1], [92790, 1], [92789, 1], [92788, 1], [92787, 1], [92786, 1], [92785, 1], [92784, 1], [92783, 1], [92782, 1], [92781, 1], [92780, 1], [92779, 1], [92778, 1], [92777, 1], [92776, 1], [92775, 1], [92774, 1], [92773, 1], [92772, 1], [92771, 1], [92770, 1], [92769, 1], [92768, 1], [92767, 1], [92766, 1], [92765, 1], [92764, 1], [92763, 1], [92762, 1], [92761, 1], [92760, 1], [92759, 1], [92758, 1], [92757, 1], [92756, 1], [92755, 1], [92754, 1], [92753, 1], [92752, 1], [92751, 1], [92750, 1], [92749, 1], [92748, 1], [92747, 1], [92746, 1], [92745, 1], [92744, 1], [92743, 1], [92742, 1], [92741, 1], [92740, 1], [92739, 1], [92738, 1], [92737, 1], [92736, 1], [92735, 1], [92734, 1], [92733, 1], [92732, 1], [92731, 1], [92730, 1], [92729, 1], [92728, 1], [92727, 1], [92726, 1], [92725, 1], [92724, 1], [92723, 1], [92722, 1], [92721, 1], [92720, 1], [92719, 1], [92718, 1], [92717, 1], [92716, 1], [92715, 1], [92714, 1], [92713, 1], [92712, 1], [92711, 1], [92710, 1], [92709, 1], [92708, 1], [92707, 1], [92706, 1], [92705, 1], [92704, 1], [92703, 1], [92702, 1], [92701, 1], [92700, 1], [92699, 1], [92698, 1], [92697, 1], [92696, 1], [92695, 1], [92694, 1], [92693, 1], [92692, 1], [92691, 1], [92690, 1], [92689, 1], [92688, 1], [92687, 1], [92686, 1], [92685, 1], [92684, 1], [92683, 1], [92682, 1], [92681, 1], [92680, 1], [92679, 1], [92678, 1], [92677, 1], [92676, 1], [92675, 1], [92674, 1], [92673, 1], [92672, 1], [92671, 1], [92670, 1], [92669, 1], [92668, 1], [92667, 1], [92666, 1], [92665, 1], [92664, 1], [92663, 1], [92662, 1], [92661, 1], [92660, 1], [92659, 1], [92658, 1], [92657, 1], [92656, 1], [92655, 1], [92654, 1], [92653, 1], [92652, 1], [92651, 1], [92650, 1], [92649, 1], [92648, 1], [92647, 1], [92646, 1], [92645, 1], [92644, 1], [92643, 1], [92642, 1], [92641, 1], [92640, 1], [92639, 1], [92638, 1], [92637, 1], [92636, 1], [92635, 1], [92634, 1], [92633, 1], [92632, 1], [92631, 1], [92630, 1], [92629, 1], [92628, 1], [92627, 1], [92626, 1], [92625, 1], [92624, 1], [92623, 1], [92622, 1], [92621, 1], [92620, 1], [92619, 1], [92618, 1], [92617, 1], [92616, 1], [92615, 1], [92614, 1], [92613, 1], [92612, 1], [92611, 1], [92610, 1], [92609, 1], [92608, 1], [92607, 1], [92606, 1], [92605, 1], [92604, 1], [92603, 1], [92602, 1], [92601, 1], [92600, 1], [92599, 1], [92598, 1], [92597, 1], [92596, 1], [92595, 1], [92594, 1], [92593, 1], [92592, 1], [92591, 1], [92590, 1], [92589, 1], [92588, 1], [92587, 1], [92586, 1], [92585, 1], [92584, 1], [92583, 1], [92582, 1], [92581, 1], [92580, 1], [92579, 1], [92578, 1], [92577, 1], [92576, 1], [92575, 1], [92574, 1], [92573, 1], [92572, 1], [92571, 1], [92570, 1], [92569, 1], [92568, 1], [92567, 1], [92566, 1], [92565, 1], [92564, 1], [92563, 1], [92562, 1], [92561, 1], [92560, 1], [92559, 1], [92558, 1], [92557, 1], [92556, 1], [92555, 1], [92554, 1], [92553, 1], [92552, 1], [92551, 1], [92550, 1], [92549, 1], [92548, 1], [92547, 1], [92546, 1], [92545, 1], [92544, 1], [92543, 1], [92542, 1], [92541, 1], [92540, 1], [92539, 1], [92538, 1], [92537, 1], [92536, 1], [92535, 1], [92534, 1], [92533, 1], [92532, 1], [92531, 1], [92530, 1], [92529, 1], [92528, 1], [92527, 1], [92526, 1], [92525, 1], [92524, 1], [92523, 1], [92522, 1], [92521, 1], [92520, 1], [92519, 1], [92518, 1], [92517, 1], [92516, 1], [92515, 1], [92514, 1], [92513, 1], [92512, 1], [92511, 1], [92510, 1], [92509, 1], [92508, 1], [92507, 1], [92506, 1], [92505, 1], [92504, 1], [92503, 1], [92502, 1], [92501, 1], [92500, 1], [92499, 1], [92498, 1], [92497, 1], [92496, 1], [92495, 1], [92494, 1], [92493, 1], [92492, 1], [92491, 1], [92490, 1], [92489, 1], [92488, 1], [92487, 1], [92486, 1], [92485, 1], [92484, 1], [92483, 1], [92482, 1], [92481, 1], [92480, 1], [92479, 1], [92478, 1], [92477, 1], [92476, 1], [92475, 1], [92474, 1], [92473, 1], [92472, 1], [92471, 1], [92470, 1], [92469, 1], [92468, 1], [92467, 1], [92466, 1], [92465, 1], [92464, 1], [92463, 1], [92462, 1], [92461, 1], [92460, 1], [92459, 1], [92458, 1], [92457, 1], [92456, 1], [92455, 1], [92454, 1], [92453, 1], [92452, 1], [92451, 1], [92450, 1], [92449, 1], [92448, 1], [92447, 1], [92446, 1], [92445, 1], [92444, 1], [92443, 1], [92442, 1], [92441, 1], [92440, 1], [92439, 1], [92438, 1], [92437, 1], [92436, 1], [92435, 1], [92434, 1], [92433, 1], [92432, 1], [92431, 1], [92430, 1], [92429, 1], [92428, 1], [92427, 1], [92426, 1], [92425, 1], [92424, 1], [92423, 1], [92422, 1], [92421, 1], [92420, 1], [92419, 1], [92418, 1], [92417, 1], [92416, 1], [92415, 1], [92414, 1], [92413, 1], [92412, 1], [92411, 1], [92410, 1], [92409, 1], [92408, 1], [92407, 1], [92406, 1], [92405, 1], [92404, 1], [92403, 1], [92402, 1], [92401, 1], [92400, 1], [92399, 1], [92398, 1], [92397, 1], [92396, 1], [92395, 1], [92394, 1], [92393, 1], [92392, 1], [92391, 1], [92390, 1], [92389, 1], [92388, 1], [92387, 1], [92386, 1], [92385, 1], [92384, 1], [92383, 1], [92382, 1], [92381, 1], [92380, 1], [92379, 1], [92378, 1], [92377, 1], [92376, 1], [92375, 1], [92374, 1], [92373, 1], [92372, 1], [92371, 1], [92370, 1], [92369, 1], [92368, 1], [92367, 1], [92366, 1], [92365, 1], [92364, 1], [92363, 1], [92362, 1], [92361, 1], [92360, 1], [92359, 1], [92358, 1], [92357, 1], [92356, 1], [92355, 1], [92354, 1], [92353, 1], [92352, 1], [92351, 1], [92350, 1], [92349, 1], [92348, 1], [92347, 1], [92346, 1], [92345, 1], [92344, 1], [92343, 1], [92342, 1], [92341, 1], [92340, 1], [92339, 1], [92338, 1], [92337, 1], [92336, 1], [92335, 1], [92334, 1], [92333, 1], [92332, 1], [92331, 1], [92330, 1], [92329, 1], [92328, 1], [92327, 1], [92326, 1], [92325, 1], [92324, 1], [92323, 1], [92322, 1], [92321, 1], [92320, 1], [92319, 1], [92318, 1], [92317, 1], [92316, 1], [92315, 1], [92314, 1], [92313, 1], [92312, 1], [92311, 1], [92310, 1], [92309, 1], [92308, 1], [92307, 1], [92306, 1], [92305, 1], [92304, 1], [92303, 1], [92302, 1], [92301, 1], [92300, 1], [92299, 1], [92298, 1], [92297, 1], [92296, 1], [92295, 1], [92294, 1], [92293, 1], [92292, 1], [92291, 1], [92290, 1], [92289, 1], [92288, 1], [92287, 1], [92286, 1], [92285, 1], [92284, 1], [92283, 1], [92282, 1], [92281, 1], [92280, 1], [92279, 1], [92278, 1], [92277, 1], [92276, 1], [92275, 1], [92274, 1], [92273, 1], [92272, 1], [92271, 1], [92270, 1], [92269, 1], [92268, 1], [92267, 1], [92266, 1], [92265, 1], [92264, 1], [92263, 1], [92262, 1], [92261, 1], [92260, 1], [92259, 1], [92258, 1], [92257, 1], [92256, 1], [92255, 1], [92254, 1], [92253, 1], [92252, 1], [92251, 1], [92250, 1], [92249, 1], [92248, 1], [92247, 1], [92246, 1], [92245, 1], [92244, 1], [92243, 1], [92242, 1], [92241, 1], [92240, 1], [92239, 1], [92238, 1], [92237, 1], [92236, 1], [92235, 1], [92234, 1], [92233, 1], [92232, 1], [92231, 1], [92230, 1], [92229, 1], [92228, 1], [92227, 1], [92226, 1], [92225, 1], [92224, 1], [92223, 1], [92222, 1], [92221, 1], [92220, 1], [92219, 1], [92218, 1], [92217, 1], [92216, 1], [92215, 1], [92214, 1], [92213, 1], [92212, 1], [92211, 1], [92210, 1], [92209, 1], [92208, 1], [92207, 1], [92206, 1], [92205, 1], [92204, 1], [92203, 1], [92202, 1], [92201, 1], [92200, 1], [92199, 1], [92198, 1], [92197, 1], [92196, 1], [92195, 1], [92194, 1], [92193, 1], [92192, 1], [92191, 1], [92190, 1], [92189, 1], [92188, 1], [92187, 1], [92186, 1], [92185, 1], [92184, 1], [92183, 1], [92182, 1], [92181, 1], [92180, 1], [92179, 1], [92178, 1], [92177, 1], [92176, 1], [92175, 1], [92174, 1], [92173, 1], [92172, 1], [92171, 1], [92170, 1], [92169, 1], [92168, 1], [92167, 1], [92166, 1], [92165, 1], [92164, 1], [92163, 1], [92162, 1], [92161, 1], [92160, 1], [92159, 1], [92158, 1], [92157, 1], [92156, 1], [92155, 1], [92154, 1], [92153, 1], [92152, 1], [92151, 1], [92150, 1], [92149, 1], [92148, 1], [92147, 1], [92146, 1], [92145, 1], [92144, 1], [92143, 1], [92142, 1], [92141, 1], [92140, 1], [92139, 1], [92138, 1], [92137, 1], [92136, 1], [92135, 1], [92134, 1], [92133, 1], [92132, 1], [92131, 1], [92130, 1], [92129, 1], [92128, 1], [92127, 1], [92126, 1], [92125, 1], [92124, 1], [92123, 1], [92122, 1], [92121, 1], [92120, 1], [92119, 1], [92118, 1], [92117, 1], [92116, 1], [92115, 1], [92114, 1], [92113, 1], [92112, 1], [92111, 1], [92110, 1], [92109, 1], [92108, 1], [92107, 1], [92106, 1], [92105, 1], [92104, 1], [92103, 1], [92102, 1], [92101, 1], [92100, 1], [92099, 1], [92098, 1], [92097, 1], [92096, 1], [92095, 1], [92094, 1], [92093, 1], [92092, 1], [92091, 1], [92090, 1], [92089, 1], [92088, 1], [92087, 1], [92086, 1], [92085, 1], [92084, 1], [92083, 1], [92082, 1], [92081, 1], [92080, 1], [92079, 1], [92078, 1], [92077, 1], [92076, 1], [92075, 1], [92074, 1], [92073, 1], [92072, 1], [92071, 1], [92070, 1], [92069, 1], [92068, 1], [92067, 1], [92066, 1], [92065, 1], [92064, 1], [92063, 1], [92062, 1], [92061, 1], [92060, 1], [92059, 1], [92058, 1], [92057, 1], [92056, 1], [92055, 1], [92054, 1], [92053, 1], [92052, 1], [92051, 1], [92050, 1], [92049, 1], [92048, 1], [92047, 1], [92046, 1], [92045, 1], [92044, 1], [92043, 1], [92042, 1], [92041, 1], [92040, 1], [92039, 1], [92038, 1], [92037, 1], [92036, 1], [92035, 1], [92034, 1], [92033, 1], [92032, 1], [92031, 1], [92030, 1], [92029, 1], [92028, 1], [92027, 1], [92026, 1], [92025, 1], [92024, 1], [92023, 1], [92022, 1], [92021, 1], [92020, 1], [92019, 1], [92018, 1], [92017, 1], [92016, 1], [92015, 1], [92014, 1], [92013, 1], [92012, 1], [92011, 1], [92010, 1], [92009, 1], [92008, 1], [92007, 1], [92006, 1], [92005, 1], [92004, 1], [92003, 1], [92002, 1], [92001, 1], [92000, 1], [91999, 1], [91998, 1], [91997, 1], [91996, 1], [91995, 1], [91994, 1], [91993, 1], [91992, 1], [91991, 1], [91990, 1], [91989, 1], [91988, 1], [91987, 1], [91986, 1], [91985, 1], [91984, 1], [91983, 1], [91982, 1], [91981, 1], [91980, 1], [91979, 1], [91978, 1], [91977, 1], [91976, 1], [91975, 1], [91974, 1], [91973, 1], [91972, 1], [91971, 1], [91970, 1], [91969, 1], [91968, 1], [91967, 1], [91966, 1], [91965, 1], [91964, 1], [91963, 1], [91962, 1], [91961, 1], [91960, 1], [91959, 1], [91958, 1], [91957, 1], [91956, 1], [91955, 1], [91954, 1], [91953, 1], [91952, 1], [91951, 1], [91950, 1], [91949, 1], [91948, 1], [91947, 1], [91946, 1], [91945, 1], [91944, 1], [91943, 1], [91942, 1], [91941, 1], [91940, 1], [91939, 1], [91938, 1], [91937, 1], [91936, 1], [91935, 1], [91934, 1], [91933, 1], [91932, 1], [91931, 1], [91930, 1], [91929, 1], [91928, 1], [91927, 1], [91926, 1], [91925, 1], [91924, 1], [91923, 1], [91922, 1], [91921, 1], [91920, 1], [91919, 1], [91918, 1], [91917, 1], [91916, 1], [91915, 1], [91914, 1], [91913, 1], [91912, 1], [91911, 1], [91910, 1], [91909, 1], [91908, 1], [91907, 1], [91906, 1], [91905, 1], [91904, 1], [91903, 1], [91902, 1], [91901, 1], [91900, 1], [91899, 1], [91898, 1], [91897, 1], [91896, 1], [91895, 1], [91894, 1], [91893, 1], [91892, 1], [91891, 1], [91890, 1], [91889, 1], [91888, 1], [91887, 1], [91886, 1], [91885, 1], [91884, 1], [91883, 1], [91882, 1], [91881, 1], [91880, 1], [91879, 1], [91878, 1], [91877, 1], [91876, 1], [91875, 1], [91874, 1], [91873, 1], [91872, 1], [91871, 1], [91870, 1], [91869, 1], [91868, 1], [91867, 1], [91866, 1], [91865, 1], [91864, 1], [91863, 1], [91862, 1], [91861, 1], [91860, 1], [91859, 1], [91858, 1], [91857, 1], [91856, 1], [91855, 1], [91854, 1], [91853, 1], [91852, 1], [91851, 1], [91850, 1], [91849, 1], [91848, 1], [91847, 1], [91846, 1], [91845, 1], [91844, 1], [91843, 1], [91842, 1], [91841, 1], [91840, 1], [91839, 1], [91838, 1], [91837, 1], [91836, 1], [91835, 1], [91834, 1], [91833, 1], [91832, 1], [91831, 1], [91830, 1], [91829, 1], [91828, 1], [91827, 1], [91826, 1], [91825, 1], [91824, 1], [91823, 1], [91822, 1], [91821, 1], [91820, 1], [91819, 1], [91818, 1], [91817, 1], [91816, 1], [91815, 1], [91814, 1], [91813, 1], [91812, 1], [91811, 1], [91810, 1], [91809, 1], [91808, 1], [91807, 1], [91806, 1], [91805, 1], [91804, 1], [91803, 1], [91802, 1], [91801, 1], [91800, 1], [91799, 1], [91798, 1], [91797, 1], [91796, 1], [91795, 1], [91794, 1], [91793, 1], [91792, 1], [91791, 1], [91790, 1], [91789, 1], [91788, 1], [91787, 1], [91786, 1], [91785, 1], [91784, 1], [91783, 1], [91782, 1], [91781, 1], [91780, 1], [91779, 1], [91778, 1], [91777, 1], [91776, 1], [91775, 1], [91774, 1], [91773, 1], [91772, 1], [91771, 1], [91770, 1], [91769, 1], [91768, 1], [91767, 1], [91766, 1], [91765, 1], [91764, 1], [91763, 1], [91762, 1], [91761, 1], [91760, 1], [91759, 1], [91758, 1], [91757, 1], [91756, 1], [91755, 1], [91754, 1], [91753, 1], [91752, 1], [91751, 1], [91750, 1], [91749, 1], [91748, 1], [91747, 1], [91746, 1], [91745, 1], [91744, 1], [91743, 1], [91742, 1], [91741, 1], [91740, 1], [91739, 1], [91738, 1], [91737, 1], [91736, 1], [91735, 1], [91734, 1], [91733, 1], [91732, 1], [91731, 1], [91730, 1], [91729, 1], [91728, 1], [91727, 1], [91726, 1], [91725, 1], [91724, 1], [91723, 1], [91722, 1], [91721, 1], [91720, 1], [91719, 1], [91718, 1], [91717, 1], [91716, 1], [91715, 1], [91714, 1], [91713, 1], [91712, 1], [91711, 1], [91710, 1], [91709, 1], [91708, 1], [91707, 1], [91706, 1], [91705, 1], [91704, 1], [91703, 1], [91702, 1], [91701, 1], [91700, 1], [91699, 1], [91698, 1], [91697, 1], [91696, 1], [91695, 1], [91694, 1], [91693, 1], [91692, 1], [91691, 1], [91690, 1], [91689, 1], [91688, 1], [91687, 1], [91686, 1], [91685, 1], [91684, 1], [91683, 1], [91682, 1], [91681, 1], [91680, 1], [91679, 1], [91678, 1], [91677, 1], [91676, 1], [91675, 1], [91674, 1], [91673, 1], [91672, 1], [91671, 1], [91670, 1], [91669, 1], [91668, 1], [91667, 1], [91666, 1], [91665, 1], [91664, 1], [91663, 1], [91662, 1], [91661, 1], [91660, 1], [91659, 1], [91658, 1], [91657, 1], [91656, 1], [91655, 1], [91654, 1], [91653, 1], [91652, 1], [91651, 1], [91650, 1], [91649, 1], [91648, 1], [91647, 1], [91646, 1], [91645, 1], [91644, 1], [91643, 1], [91642, 1], [91641, 1], [91640, 1], [91639, 1], [91638, 1], [91637, 1], [91636, 1], [91635, 1], [91634, 1], [91633, 1], [91632, 1], [91631, 1], [91630, 1], [91629, 1], [91628, 1], [91627, 1], [91626, 1], [91625, 1], [91624, 1], [91623, 1], [91622, 1], [91621, 1], [91620, 1], [91619, 1], [91618, 1], [91617, 1], [91616, 1], [91615, 1], [91614, 1], [91613, 1], [91612, 1], [91611, 1], [91610, 1], [91609, 1], [91608, 1], [91607, 1], [91606, 1], [91605, 1], [91604, 1], [91603, 1], [91602, 1], [91601, 1], [91600, 1], [91599, 1], [91598, 1], [91597, 1], [91596, 1], [91595, 1], [91594, 1], [91593, 1], [91592, 1], [91591, 1], [91590, 1], [91589, 1], [91588, 1], [91587, 1], [91586, 1], [91585, 1], [91584, 1], [91583, 1], [91582, 1], [91581, 1], [91580, 1], [91579, 1], [91578, 1], [91577, 1], [91576, 1], [91575, 1], [91574, 1], [91573, 1], [91572, 1], [91571, 1], [91570, 1], [91569, 1], [91568, 1], [91567, 1], [91566, 1], [91565, 1], [91564, 1], [91563, 1], [91562, 1], [91561, 1], [91560, 1], [91559, 1], [91558, 1], [91557, 1], [91556, 1], [91555, 1], [91554, 1], [91553, 1], [91552, 1], [91551, 1], [91550, 1], [91549, 1], [91548, 1], [91547, 1], [91546, 1], [91545, 1], [91544, 1], [91543, 1], [91542, 1], [91541, 1], [91540, 1], [91539, 1], [91538, 1], [91537, 1], [91536, 1], [91535, 1], [91534, 1], [91533, 1], [91532, 1], [91531, 1], [91530, 1], [91529, 1], [91528, 1], [91527, 1], [91526, 1], [91525, 1], [91524, 1], [91523, 1], [91522, 1], [91521, 1], [91520, 1], [91519, 1], [91518, 1], [91517, 1], [91516, 1], [91515, 1], [91514, 1], [91513, 1], [91512, 1], [91511, 1], [91510, 1], [91509, 1], [91508, 1], [91507, 1], [91506, 1], [91505, 1], [91504, 1], [91503, 1], [91502, 1], [91501, 1], [91500, 1], [91499, 1], [91498, 1], [91497, 1], [91496, 1], [91495, 1], [91494, 1], [91493, 1], [91492, 1], [91491, 1], [91490, 1], [91489, 1], [91488, 1], [91487, 1], [91486, 1], [91485, 1], [91484, 1], [91483, 1], [91482, 1], [91481, 1], [91480, 1], [91479, 1], [91478, 1], [91477, 1], [91476, 1], [91475, 1], [91474, 1], [91473, 1], [91472, 1], [91471, 1], [91470, 1], [91469, 1], [91468, 1], [91467, 1], [91466, 1], [91465, 1], [91464, 1], [91463, 1], [91462, 1], [91461, 1], [91460, 1], [91459, 1], [91458, 1], [91457, 1], [91456, 1], [91455, 1], [91454, 1], [91453, 1], [91452, 1], [91451, 1], [91450, 1], [91449, 1], [91448, 1], [91447, 1], [91446, 1], [91445, 1], [91444, 1], [91443, 1], [91442, 1], [91441, 1], [91440, 1], [91439, 1], [91438, 1], [91437, 1], [91436, 1], [91435, 1], [91434, 1], [91433, 1], [91432, 1], [91431, 1], [91430, 1], [91429, 1], [91428, 1], [91427, 1], [91426, 1], [91425, 1], [91424, 1], [91423, 1], [91422, 1], [91421, 1], [91420, 1], [91419, 1], [91418, 1], [91417, 1], [91416, 1], [91415, 1], [91414, 1], [91413, 1], [91412, 1], [91411, 1], [91410, 1], [91409, 1], [91408, 1], [91407, 1], [91406, 1], [91405, 1], [91404, 1], [91403, 1], [91402, 1], [91401, 1], [91400, 1], [91399, 1], [91398, 1], [91397, 1], [91396, 1], [91395, 1], [91394, 1], [91393, 1], [91392, 1], [91391, 1], [91390, 1], [91389, 1], [91388, 1], [91387, 1], [91386, 1], [91385, 1], [91384, 1], [91383, 1], [91382, 1], [91381, 1], [91380, 1], [91379, 1], [91378, 1], [91377, 1], [91376, 1], [91375, 1], [91374, 1], [91373, 1], [91372, 1], [91371, 1], [91370, 1], [91369, 1], [91368, 1], [91367, 1], [91366, 1], [91365, 1], [91364, 1], [91363, 1], [91362, 1], [91361, 1], [91360, 1], [91359, 1], [91358, 1], [91357, 1], [91356, 1], [91355, 1], [91354, 1], [91353, 1], [91352, 1], [91351, 1], [91350, 1], [91349, 1], [91348, 1], [91347, 1], [91346, 1], [91345, 1], [91344, 1], [91343, 1], [91342, 1], [91341, 1], [91340, 1], [91339, 1], [91338, 1], [91337, 1], [91336, 1], [91335, 1], [91334, 1], [91333, 1], [91332, 1], [91331, 1], [91330, 1], [91329, 1], [91328, 1], [91327, 1], [91326, 1], [91325, 1], [91324, 1], [91323, 1], [91322, 1], [91321, 1], [91320, 1], [91319, 1], [91318, 1], [91317, 1], [91316, 1], [91315, 1], [91314, 1], [91313, 1], [91312, 1], [91311, 1], [91310, 1], [91309, 1], [91308, 1], [91307, 1], [91306, 1], [91305, 1], [91304, 1], [91303, 1], [91302, 1], [91301, 1], [91300, 1], [91299, 1], [91298, 1], [91297, 1], [91296, 1], [91295, 1], [91294, 1], [91293, 1], [91292, 1], [91291, 1], [91290, 1], [91289, 1], [91288, 1], [91287, 1], [91286, 1], [91285, 1], [91284, 1], [91283, 1], [91282, 1], [91281, 1], [91280, 1], [91279, 1], [91278, 1], [91277, 1], [91276, 1], [91275, 1], [91274, 1], [91273, 1], [91272, 1], [91271, 1], [91270, 1], [91269, 1], [91268, 1], [91267, 1], [91266, 1], [91265, 1], [91264, 1], [91263, 1], [91262, 1], [91261, 1], [91260, 1], [91259, 1], [91258, 1], [91257, 1], [91256, 1], [91255, 1], [91254, 1], [91253, 1], [91252, 1], [91251, 1], [91250, 1], [91249, 1], [91248, 1], [91247, 1], [91246, 1], [91245, 1], [91244, 1], [91243, 1], [91242, 1], [91241, 1], [91240, 1], [91239, 1], [91238, 1], [91237, 1], [91236, 1], [91235, 1], [91234, 1], [91233, 1], [91232, 1], [91231, 1], [91230, 1], [91229, 1], [91228, 1], [91227, 1], [91226, 1], [91225, 1], [91224, 1], [91223, 1], [91222, 1], [91221, 1], [91220, 1], [91219, 1], [91218, 1], [91217, 1], [91216, 1], [91215, 1], [91214, 1], [91213, 1], [91212, 1], [91211, 1], [91210, 1], [91209, 1], [91208, 1], [91207, 1], [91206, 1], [91205, 1], [91204, 1], [91203, 1], [91202, 1], [91201, 1], [91200, 1], [91199, 1], [91198, 1], [91197, 1], [91196, 1], [91195, 1], [91194, 1], [91193, 1], [91192, 1], [91191, 1], [91190, 1], [91189, 1], [91188, 1], [91187, 1], [91186, 1], [91185, 1], [91184, 1], [91183, 1], [91182, 1], [91181, 1], [91180, 1], [91179, 1], [91178, 1], [91177, 1], [91176, 1], [91175, 1], [91174, 1], [91173, 1], [91172, 1], [91171, 1], [91170, 1], [91169, 1], [91168, 1], [91167, 1], [91166, 1], [91165, 1], [91164, 1], [91163, 1], [91162, 1], [91161, 1], [91160, 1], [91159, 1], [91158, 1], [91157, 1], [91156, 1], [91155, 1], [91154, 1], [91153, 1], [91152, 1], [91151, 1], [91150, 1], [91149, 1], [91148, 1], [91147, 1], [91146, 1], [91145, 1], [91144, 1], [91143, 1], [91142, 1], [91141, 1], [91140, 1], [91139, 1], [91138, 1], [91137, 1], [91136, 1], [91135, 1], [91134, 1], [91133, 1], [91132, 1], [91131, 1], [91130, 1], [91129, 1], [91128, 1], [91127, 1], [91126, 1], [91125, 1], [91124, 1], [91123, 1], [91122, 1], [91121, 1], [91120, 1], [91119, 1], [91118, 1], [91117, 1], [91116, 1], [91115, 1], [91114, 1], [91113, 1], [91112, 1], [91111, 1], [91110, 1], [91109, 1], [91108, 1], [91107, 1], [91106, 1], [91105, 1], [91104, 1], [91103, 1], [91102, 1], [91101, 1], [91100, 1], [91099, 1], [91098, 1], [91097, 1], [91096, 1], [91095, 1], [91094, 1], [91093, 1], [91092, 1], [91091, 1], [91090, 1], [91089, 1], [91088, 1], [91087, 1], [91086, 1], [91085, 1], [91084, 1], [91083, 1], [91082, 1], [91081, 1], [91080, 1], [91079, 1], [91078, 1], [91077, 1], [91076, 1], [91075, 1], [91074, 1], [91073, 1], [91072, 1], [91071, 1], [91070, 1], [91069, 1], [91068, 1], [91067, 1], [91066, 1], [91065, 1], [91064, 1], [91063, 1], [91062, 1], [91061, 1], [91060, 1], [91059, 1], [91058, 1], [91057, 1], [91056, 1], [91055, 1], [91054, 1], [91053, 1], [91052, 1], [91051, 1], [91050, 1], [91049, 1], [91048, 1], [91047, 1], [91046, 1], [91045, 1], [91044, 1], [91043, 1], [91042, 1], [91041, 1], [91040, 1], [91039, 1], [91038, 1], [91037, 1], [91036, 1], [91035, 1], [91034, 1], [91033, 1], [91032, 1], [91031, 1], [91030, 1], [91029, 1], [91028, 1], [91027, 1], [91026, 1], [91025, 1], [91024, 1], [91023, 1], [91022, 1], [91021, 1], [91020, 1], [91019, 1], [91018, 1], [91017, 1], [91016, 1], [91015, 1], [91014, 1], [91013, 1], [91012, 1], [91011, 1], [91010, 1], [91009, 1], [91008, 1], [91007, 1], [91006, 1], [91005, 1], [91004, 1], [91003, 1], [91002, 1], [91001, 1], [91000, 1], [90999, 1], [90998, 1], [90997, 1], [90996, 1], [90995, 1], [90994, 1], [90993, 1], [90992, 1], [90991, 1], [90990, 1], [90989, 1], [90988, 1], [90988, 0, "\n"], [91005, 1], [91004, 1], [91003, 1], [91002, 1], [91001, 1], [91000, 1], [90999, 1], [90998, 1], [90997, 1], [90996, 1], [90995, 1], [90995, 0, " "], [90996, 0, "i"], [90997, 0, "n"], [90998, 0, "c"], [90999, 0, "l"], [91000, 0, "u"], [91001, 0, "d"], [91002, 0, "e"], [91003, 0, " "], [91003, 1], [91003, 0, "a"], [91004, 0, "p"], [91005, 0, "p"], [91006, 0, "e"], [91007, 0, "n"], [91008, 0, "d"], [91009, 0, "i"], [91010, 0, "x"], [640, 1], [639, 1], [638, 1], [637, 1], [636, 1], [635, 1], [634, 1], [633, 1], [632, 1], [631, 1], [631, 0, "i"], [632, 0, "n"], [633, 0, "c"], [634, 0, "l"], [635, 0, "u"], [636, 0, "d"], [637, 0, "e"], [638, 0, "a"], [639, 0, "p"], [640, 0, "p"], [641, 0, "e"], [642, 0, "n"], [643, 0, "d"], [644, 0, "i"], [645, 0, "x"], [657, 1], [656, 1], [655, 1], [654, 1], [653, 1], [652, 1], [651, 1], [650, 1], [649, 1], [648, 1], [648, 0, "i"], [649, 0, "n"], [650, 0, "c"], [651, 0, "l"], [652, 0, "u"], [653, 0, "d"], [654, 0, "e"], [655, 0, "a"], [656, 0, "p"], [657, 0, "p"], [658, 0, "e"], [659, 0, "n"], [660, 0, "d"], [661, 0, "i"], [662, 0, "x"], [74837, 1], [74836, 1], [74835, 1], [74834, 1], [74833, 1], [74832, 1], [74831, 1], [74830, 1], [74829, 1], [74828, 1], [74828, 0, "i"], [74829, 0, "n"], [74830, 0, "c"], [74831, 0, "l"], [74832, 0, "u"], [74833, 0, "d"], [74834, 0, "e"], [74835, 0, "a"], [74836, 0, "p"], [74837, 0, "p"], [74838, 0, "e"], [74839, 0, "n"], [74840, 0, "d"], [74841, 0, "i"], [74842, 0, "x"], [90927, 0, "I"], [90928, 0, "n"], [90929, 0, " "], [90930, 0, "a"], [90931, 0, " "], [90932, 0, "h"], [90933, 0, "i"], [90934, 0, "s"], [90935, 0, "t"], [90936, 0, "o"], [90937, 0, "r"], [90938, 0, "y"], [90939, 0, " "], [90940, 0, "$"], [90941, 0, "H"], [90942, 0, "$"], [90943, 0, ","], [90944, 0, " "], [90945, 0, "a"], [90946, 0, "n"], [90947, 0, " "], [90948, 1], [90948, 0, "a"], [90958, 0, " "], [90959, 0, "o"], [90960, 0, "p"], [90961, 0, "e"], [90962, 0, "r"], [90963, 0, "a"], [90964, 0, "t"], [90965, 0, "i"], [90966, 0, "o"], [90967, 0, "n"], [91034, 0, "\n"], [91035, 0, "\n"], [91036, 0, "\\"], [91037, 0, "b"], [91038, 0, "e"], [91039, 0, "g"], [91040, 0, "i"], [91041, 0, "n"], [91042, 0, "{"], [91043, 0, "p"], [91044, 0, "r"], [91045, 0, "o"], [91046, 0, "o"], [91047, 0, "f"], [91048, 0, "}"], [91049, 0, "\n"], [91050, 0, "\\"], [91051, 0, "e"], [91052, 0, "n"], [91053, 0, "d"], [91054, 0, "{"], [91055, 0, "p"], [91056, 0, "r"], [91057, 0, "o"], [91058, 0, "o"], [91059, 0, "f"], [91060, 0, "}"], [91049, 0, "\n"], [91050, 0, "G"], [91051, 0, "i"], [91052, 0, "v"], [91053, 0, "e"], [91054, 0, "n"], [91055, 0, " "], [91056, 0, "a"], [91057, 0, "n"], [91058, 0, " "], [91059, 0, "a"], [91060, 0, "s"], [91061, 0, "s"], [91062, 0, "i"], [91063, 0, "g"], [91064, 0, "n"], [91065, 0, "m"], [91066, 0, "e"], [91067, 0, "n"], [91068, 0, "t"], [91069, 0, " "], [91070, 0, "$"], [91071, 0, "o"], [91072, 0, "_"], [91073, 0, "a"], [91074, 0, "$"], [91075, 0, " "], [91076, 0, "a"], [91077, 0, "n"], [91078, 0, "d"], [91079, 0, " "], [91080, 0, "a"], [91081, 0, "n"], [91082, 0, "y"], [91083, 0, " "], [91084, 0, "o"], [91085, 0, "t"], [91086, 0, "h"], [91087, 0, "e"], [91088, 0, "r"], [91089, 0, " "], [91090, 0, "c"], [91091, 0, "o"], [91092, 0, "n"], [91093, 0, "c"], [91094, 0, "u"], [91095, 0, "r"], [91096, 0, "r"], [91097, 0, "e"], [91098, 0, "n"], [91099, 0, "t"], [91100, 0, " "], [91101, 0, "o"], [91102, 0, "p"], [91103, 0, "e"], [91104, 0, "r"], [91105, 0, "a"], [91106, 0, "t"], [91107, 0, "i"], [91108, 0, "o"], [91109, 0, "n"], [91110, 0, " "], [91111, 0, "$"], [91112, 0, "o"], [91113, 0, "_"], [91114, 0, "c"], [91115, 0, "$"], [91116, 0, ","], [91117, 0, " "], [91118, 0, "w"], [91119, 0, "e"], [91120, 0, " "], [91121, 0, "m"], [91122, 0, "u"], [91123, 0, "s"], [91124, 0, "t"], [91125, 0, " "], [91126, 0, "s"], [91127, 0, "h"], [91128, 0, "o"], [91129, 0, "w"], [91130, 0, " "], [91131, 0, "t"], [91132, 0, "h"], [91133, 0, "a"], [91134, 0, "t"], [91135, 0, " "], [91136, 0, "t"], [91137, 0, "h"], [91138, 0, "e"], [91139, 0, " "], [91140, 0, "d"], [91141, 0, "o"], [91142, 0, "c"], [91143, 0, "u"], [91144, 0, "m"], [91145, 0, "e"], [91146, 0, "n"], [91147, 0, "t"], [91148, 0, " "], [91149, 0, "s"], [91150, 0, "t"], [91151, 0, "a"], [91152, 0, "t"], [91153, 0, "e"], [91154, 0, " "], [91155, 0, "a"], [91156, 0, "f"], [91157, 0, "t"], [91158, 0, "e"], [91159, 0, "r"], [91160, 0, " "], [91161, 0, "a"], [91162, 0, "p"], [91163, 0, "p"], [91164, 0, "l"], [91165, 0, "y"], [91166, 0, "i"], [91167, 0, "n"], [91168, 0, "g"], [91169, 0, " "], [91170, 0, "b"], [91171, 0, "o"], [91172, 0, "t"], [91173, 0, "h"], [91174, 0, " "], [91175, 0, "o"], [91176, 0, "p"], [91177, 0, "e"], [91178, 0, "r"], [91179, 0, "a"], [91180, 0, "t"], [91181, 0, "i"], [91182, 0, "o"], [91183, 0, "n"], [91184, 0, "s"], [91185, 0, " "], [91186, 0, "d"], [91187, 0, "o"], [91188, 0, "e"], [91189, 0, "s"], [91190, 0, " "], [91191, 0, "n"], [91192, 0, "o"], [91193, 0, "t"], [91194, 0, " "], [91195, 0, "d"], [91196, 0, "e"], [91197, 0, "p"], [91198, 0, "e"], [91199, 0, "n"], [91200, 0, "d"], [91201, 0, " "], [91202, 0, "o"], [91203, 0, "n"], [91204, 0, " "], [91205, 0, "t"], [91206, 0, "h"], [91207, 0, "e"], [91208, 0, " "], [91209, 0, "o"], [91210, 0, "r"], [91211, 0, "d"], [91212, 0, "e"], [91213, 0, "r"], [91214, 0, " "], [91215, 0, "i"], [91216, 0, "n"], [91217, 0, " "], [91218, 0, "w"], [91219, 0, "h"], [91220, 0, "i"], [91221, 0, "c"], [91222, 0, "h"], [91223, 0, " "], [91224, 0, "o"], [91224, 1], [91224, 0, "$"], [91225, 0, "o"], [91226, 0, "_"], [91227, 0, "a"], [91228, 0, "$"], [91229, 0, " "], [91230, 0, "a"], [91231, 0, "n"], [91232, 0, "d"], [91233, 0, " "], [91234, 0, "$"], [91235, 0, "o"], [91236, 0, "_"], [91237, 0, "c"], [91238, 0, "$"], [91239, 0, " "], [91240, 0, "w"], [91241, 0, "e"], [91242, 0, "r"], [91243, 0, "e"], [91244, 0, " "], [91245, 0, "a"], [91246, 0, "p"], [91247, 0, "p"], [91248, 0, "l"], [91249, 0, "i"], [91250, 0, "e"], [91251, 0, "d"], [91252, 0, "."], [91253, 0, "\n"], [91254, 0, "\n"], [91255, 0, "T"], [91256, 0, "h"], [91257, 0, "e"], [91258, 0, " "], [91259, 0, "r"], [91260, 0, "u"], [91261, 0, "l"], [91262, 0, "e"], [91263, 0, "s"], [91264, 0, " "], [91265, 0, "\\"], [91266, 0, "t"], [91267, 0, "e"], [91268, 0, "x"], [91269, 0, "t"], [91270, 0, "s"], [91271, 0, "c"], [91272, 0, "{"], [91273, 0, "A"], [91274, 0, "s"], [91275, 0, "s"], [91276, 0, "i"], [91277, 0, "g"], [91278, 0, "n"], [91279, 0, "}"], [91280, 0, ","], [91281, 0, " "], [91282, 0, "\\"], [91283, 0, "t"], [91284, 0, "e"], [91285, 0, "x"], [91286, 0, "t"], [91287, 0, "s"], [91288, 0, "c"], [91289, 0, "{"], [91290, 0, "E"], [91291, 0, "m"], [91292, 0, "p"], [91293, 0, "t"], [91294, 0, "y"], [91295, 0, "-"], [91296, 0, "M"], [91297, 0, "a"], [91298, 0, "p"], [91299, 0, "}"], [91300, 0, " "], [91301, 0, "a"], [91302, 0, "n"], [91303, 0, "d"], [91304, 0, " "], [91305, 0, "\\"], [91306, 0, "t"], [91307, 0, "e"], [91308, 0, "x"], [91309, 0, "t"], [91310, 0, "s"], [91311, 0, "c"], [91312, 0, "{"], [91313, 0, "E"], [91314, 0, "m"], [91315, 0, "p"], [91316, 0, "t"], [91317, 0, "y"], [91318, 0, "-"], [91319, 0, "L"], [91320, 0, "i"], [91321, 0, "s"], [91322, 0, "t"], [91323, 0, "}"], [91324, 0, " "], [91325, 0, "d"], [91326, 0, "e"], [91327, 0, "f"], [91328, 0, "i"], [91329, 0, "n"], [91330, 0, "e"], [91331, 0, " "], [91332, 0, "h"], [91333, 0, "o"], [91334, 0, "w"], [91335, 0, " "], [91336, 0, "a"], [91337, 0, "n"], [91338, 0, " "], [91339, 0, "a"], [91340, 0, "s"], [91341, 0, "s"], [91342, 0, "i"], [91343, 0, "g"], [91344, 0, "n"], [91345, 0, "m"], [91346, 0, "e"], [91347, 0, "n"], [91348, 0, "t"], [91349, 0, " "], [91350, 0, "o"], [91351, 0, "p"], [91352, 0, "e"], [91353, 0, "r"], [91354, 0, "a"], [91355, 0, "t"], [91356, 0, "i"], [91357, 0, "o"], [91358, 0, "n"], [91359, 0, " "], [91360, 0, "$"], [91361, 0, "o"], [91362, 0, "_"], [91363, 0, "a"], [91364, 0, "$"], [91365, 0, " "], [91366, 0, "i"], [91367, 0, "s"], [91368, 0, " "], [91369, 0, "a"], [91370, 0, "p"], [91371, 0, "p"], [91372, 0, "l"], [91373, 0, "i"], [91374, 0, "e"], [91375, 0, "d"], [91376, 0, ","], [91377, 0, " "], [91378, 0, "d"], [91379, 0, "e"], [91380, 0, "p"], [91381, 0, "e"], [91382, 0, "n"], [91383, 0, "d"], [91384, 0, "i"], [91385, 0, "n"], [91386, 0, "g"], [91387, 0, " "], [91388, 0, "o"], [91389, 0, "n"], [91390, 0, " "], [91391, 0, "t"], [91392, 0, "h"], [91393, 0, "e"], [91394, 0, " "], [91395, 0, "v"], [91396, 0, "a"], [91397, 0, "l"], [91398, 0, "u"], [91399, 0, "e"], [91400, 0, " "], [91401, 0, "b"], [91402, 0, "e"], [91403, 0, "i"], [91404, 0, "n"], [91405, 0, "g"], [91406, 0, " "], [91407, 0, "a"], [91408, 0, "s"], [91409, 0, "s"], [91410, 0, "i"], [91411, 0, "g"], [91412, 0, "n"], [91413, 0, "e"], [91414, 0, "d"], [91415, 0, "."], [91416, 0, " "], [91417, 0, "A"], [91418, 0, "l"], [91419, 0, "l"], [91420, 0, " "], [91421, 0, "t"], [91422, 0, "h"], [91423, 0, "r"], [91424, 0, "e"], [91425, 0, "e"], [91426, 0, " "], [91427, 0, "r"], [91428, 0, "u"], [91429, 0, "l"], [91430, 0, "e"], [91431, 0, "s"], [91432, 0, " "], [91433, 0, "f"], [91434, 0, "i"], [91435, 0, "r"], [91436, 0, "s"], [91437, 0, "t"], [91438, 0, " "], [91439, 0, "c"], [91440, 0, "l"], [91441, 0, "e"], [91442, 0, "a"], [91443, 0, "r"], [91444, 0, " "], [91445, 0, "a"], [91446, 0, "n"], [91447, 0, "y"], [91448, 0, " "], [91449, 0, "c"], [91450, 0, "a"], [91451, 0, "u"], [91452, 0, "s"], [91453, 0, "a"], [91454, 0, "l"], [91455, 0, "l"], [91456, 0, "y"], [91457, 0, " "], [91458, 0, "p"], [91459, 0, "r"], [91460, 0, "i"], [91461, 0, "o"], [91462, 0, "r"], [91463, 0, " "], [91464, 0, "s"], [91465, 0, "t"], [91466, 0, "a"], [91467, 0, "t"], [91468, 0, "e"], [91469, 0, " "], [91470, 0, "f"], [91471, 0, "r"], [91472, 0, "o"], [91473, 0, "m"], [91474, 0, " "], [91475, 0, "t"], [91476, 0, "h"], [91477, 0, "e"], [91478, 0, " "], [91479, 0, "c"], [91480, 0, "u"], [91481, 0, "r"], [91482, 0, "s"], [91483, 0, "o"], [91484, 0, "r"], [91485, 0, " "], [91486, 0, "a"], [91487, 0, "t"], [91488, 0, " "], [91489, 0, "w"], [91490, 0, "h"], [91491, 0, "i"], [91492, 0, "c"], [91493, 0, "h"], [91494, 0, " "], [91495, 0, "t"], [91496, 0, "h"], [91497, 0, "e"], [91498, 0, " "], [91499, 0, "a"], [91500, 0, "s"], [91501, 0, "s"], [91502, 0, "i"], [91503, 0, "g"], [91504, 0, "n"], [91505, 0, "m"], [91506, 0, "e"], [91507, 0, "n"], [91508, 0, "t"], [91509, 0, " "], [91510, 0, "i"], [91511, 0, "s"], [91512, 0, " "], [91513, 0, "o"], [91514, 0, "c"], [91515, 0, "c"], [91516, 0, "u"], [91517, 0, "r"], [91518, 0, "r"], [91519, 0, "i"], [91520, 0, "n"], [91521, 0, "g"], [91522, 0, ";"], [91523, 0, " "], [91524, 0, "b"], [91525, 0, "y"], [91526, 0, " "], [91527, 0, "L"], [91528, 0, "e"], [91529, 0, "m"], [91530, 0, "m"], [91531, 0, "a"], [91532, 0, "~"], [91533, 0, "\\"], [91534, 0, "r"], [91535, 0, "e"], [91536, 0, "f"], [91537, 0, "{"], [91538, 0, "l"], [91539, 0, "e"], [91540, 0, "m"], [91541, 0, ":"], [91542, 0, "d"], [91543, 0, "e"], [91544, 0, "l"], [91545, 0, "e"], [91546, 0, "t"], [91547, 0, "e"], [91548, 0, "-"], [91549, 0, "c"], [91550, 0, "o"], [91551, 0, "m"], [91552, 0, "m"], [91553, 0, "u"], [91554, 0, "t"], [91555, 0, "e"], [91556, 0, "}"], [91557, 0, ","], [91558, 0, " "], [91559, 0, "t"], [91560, 0, "h"], [91561, 0, "i"], [91562, 0, "s"], [91563, 0, " "], [91564, 0, "c"], [91565, 0, "l"], [91566, 0, "e"], [91567, 0, "a"], [91568, 0, "r"], [91569, 0, "i"], [91570, 0, "n"], [91571, 0, "g"], [91572, 0, " "], [91573, 0, "o"], [91574, 0, "p"], [91575, 0, "e"], [91576, 0, "r"], [91577, 0, "a"], [91578, 0, "t"], [91579, 0, "i"], [91580, 0, "o"], [91581, 0, "n"], [91582, 0, " "], [91583, 0, "i"], [91584, 0, "s"], [91585, 0, " "], [91586, 0, "c"], [91587, 0, "o"], [91588, 0, "m"], [91589, 0, "m"], [91590, 0, "u"], [91591, 0, "t"], [91592, 0, "a"], [91593, 0, "t"], [91594, 0, "i"], [91595, 0, "v"], [91596, 0, "e"], [91597, 0, " "], [91598, 0, "w"], [91599, 0, "i"], [91600, 0, "t"], [91601, 0, "h"], [91602, 0, " "], [91603, 0, "c"], [91604, 0, "o"], [91605, 0, "n"], [91606, 0, "c"], [91607, 0, "u"], [91608, 0, "r"], [91609, 0, "r"], [91610, 0, "e"], [91611, 0, "n"], [91612, 0, "t"], [91613, 0, " "], [91614, 0, "o"], [91615, 0, "p"], [91616, 0, "e"], [91617, 0, "r"], [91618, 0, "a"], [91619, 0, "t"], [91620, 0, "i"], [91621, 0, "o"], [91622, 0, "n"], [91623, 0, "s"], [91624, 0, ","], [91625, 0, " "], [91626, 0, "a"], [91627, 0, "n"], [91628, 0, "d"], [91629, 0, " "], [91630, 0, "l"], [91631, 0, "e"], [91632, 0, "a"], [91633, 0, "v"], [91634, 0, "e"], [91635, 0, "s"], [91636, 0, " "], [91637, 0, "u"], [91638, 0, "p"], [91639, 0, "d"], [91640, 0, "a"], [91641, 0, "t"], [91642, 0, "e"], [91643, 0, "s"], [91644, 0, " "], [91645, 0, "b"], [91646, 0, "y"], [91647, 0, " "], [91648, 0, "c"], [91649, 0, "o"], [91650, 0, "n"], [91651, 0, "c"], [91652, 0, "u"], [91653, 0, "r"], [91654, 0, "r"], [91655, 0, "e"], [91656, 0, "n"], [91657, 0, "t"], [91658, 0, " "], [91659, 0, "o"], [91660, 0, "p"], [91661, 0, "e"], [91662, 0, "r"], [91663, 0, "a"], [91664, 0, "t"], [91665, 0, "i"], [91666, 0, "o"], [91667, 0, "n"], [91668, 0, "s"], [91669, 0, " "], [91670, 0, "u"], [91671, 0, "n"], [91672, 0, "t"], [91673, 0, "o"], [91674, 0, "u"], [91675, 0, "c"], [91676, 0, "h"], [91677, 0, "e"], [91678, 0, "d"], [91679, 0, "."], [91681, 0, "\n"], [91681, 0, "\n"], [33674, 1], [33674, 0, "B"], [33675, 0, "i"], [33647, 0, "\n"], [33648, 0, "\\"], [33649, 0, "A"], [33650, 0, "x"], [33651, 0, "i"], [33652, 0, "o"], [33653, 0, "m"], [33654, 0, "C"], [33655, 0, "{"], [33656, 0, "$"], [33657, 0, "k"], [33658, 0, "_"], [33659, 0, "n"], [33660, 0, " "], [33661, 0, "\\"], [33662, 0, "n"], [33663, 0, "o"], [33664, 0, "t"], [33665, 0, "="], [33666, 0, " "], [33667, 0, "\\"], [33668, 0, "m"], [33669, 0, "a"], [33670, 0, "t"], [33671, 0, "h"], [33672, 0, "s"], [33673, 0, "f"], [33674, 0, "{"], [33675, 0, "h"], [33676, 0, "e"], [33677, 0, "a"], [33678, 0, "d"], [33679, 0, "}"], [33680, 0, "$"], [33681, 0, "}"], [91718, 0, "T"], [91719, 0, "h"], [91720, 0, "e"], [91721, 0, " "], [91722, 0, "r"], [91723, 0, "u"], [91724, 0, "l"], [91725, 0, "e"], [91726, 0, "s"], [91727, 0, " "], [91728, 0, "a"], [91729, 0, "l"], [91730, 0, "s"], [91731, 0, "o"], [91732, 0, " "], [91733, 0, "a"], [91734, 0, "d"], [91735, 0, "d"], [91736, 0, " "], [91737, 0, "$"], [91738, 0, "o"], [91739, 0, "_"], [91740, 0, "a"], [91741, 0, "."], [91742, 0, "\\"], [91743, 0, "m"], [91744, 0, "a"], [91745, 0, "t"], [91746, 0, "h"], [91747, 0, "i"], [91748, 0, "t"], [91749, 0, "{"], [91750, 0, "i"], [91751, 0, "d"], [91752, 0, "}"], [91753, 0, "$"], [91754, 0, " "], [91755, 0, "t"], [91756, 0, "o"], [91757, 0, " "], [91758, 0, "t"], [91759, 0, "h"], [91760, 0, "e"], [91761, 0, " "], [91762, 0, "p"], [91763, 0, "r"], [91764, 0, "e"], [91765, 0, "s"], [91766, 0, "e"], [91767, 0, "n"], [91768, 0, "c"], [91769, 0, "e"], [91770, 0, " "], [91771, 0, "s"], [91772, 0, "e"], [91773, 0, "t"], [91774, 0, " "], [91775, 0, "i"], [91776, 0, "d"], [91777, 0, "e"], [91778, 0, "n"], [91779, 0, "t"], [91780, 0, "i"], [91781, 0, "f"], [91782, 0, "i"], [91783, 0, "e"], [91784, 0, "d"], [91785, 0, " "], [91786, 0, "b"], [91787, 0, "y"], [91788, 0, " "], [91789, 0, "t"], [91790, 0, "h"], [91791, 0, "e"], [91792, 0, " "], [91793, 0, "c"], [91794, 0, "u"], [91795, 0, "r"], [91796, 0, "s"], [91797, 0, "o"], [91798, 0, "r"], [91799, 0, ","], [91800, 0, " "], [91801, 0, "a"], [91802, 0, "n"], [91803, 0, "d"], [91804, 0, " "], [91805, 0, "\\"], [91806, 0, "t"], [91807, 0, "e"], [91808, 0, "x"], [91809, 0, "t"], [91810, 0, "s"], [91811, 0, "c"], [91812, 0, "{"], [91813, 0, "D"], [91814, 0, "e"], [91815, 0, "s"], [91816, 0, "c"], [91817, 0, "e"], [91818, 0, "n"], [91819, 0, "d"], [91820, 0, "}"], [91821, 0, " "], [91822, 0, "a"], [91823, 0, "d"], [91824, 0, "d"], [91825, 0, "s"], [91826, 0, " "], [91827, 0, "$"], [91828, 0, "o"], [91829, 0, "_"], [91830, 0, "a"], [91831, 0, "."], [91832, 0, "\\"], [91833, 0, "m"], [91834, 0, "a"], [91835, 0, "t"], [91836, 0, "h"], [91837, 0, "i"], [91838, 0, "t"], [91839, 0, "{"], [91840, 0, "i"], [91841, 0, "d"], [91842, 0, "}"], [91843, 0, "$"], [91844, 0, " "], [91845, 0, "t"], [91846, 0, "o"], [91847, 0, " "], [91848, 0, "t"], [91849, 0, "h"], [91850, 0, "e"], [91851, 0, " "], [91852, 0, "p"], [91853, 0, "r"], [91854, 0, "e"], [91855, 0, "s"], [91856, 0, "e"], [91857, 0, "n"], [91858, 0, "c"], [91859, 0, "e"], [91860, 0, " "], [91861, 0, "s"], [91862, 0, "e"], [91863, 0, "t"], [91864, 0, "s"], [91865, 0, " "], [91866, 0, "a"], [91867, 0, "l"], [91867, 1], [91866, 1], [91866, 0, "o"], [91867, 0, "n"], [91868, 0, " "], [91869, 0, "t"], [91870, 0, "h"], [91871, 0, "e"], [91872, 0, " "], [91873, 0, "p"], [91874, 0, "a"], [91875, 0, "t"], [91876, 0, "h"], [91877, 0, " "], [91878, 0, "f"], [91879, 0, "r"], [91880, 0, "o"], [91881, 0, "m"], [91882, 0, " "], [91883, 0, "t"], [91884, 0, "h"], [91885, 0, "e"], [91886, 0, " "], [91887, 0, "r"], [91888, 0, "o"], [91889, 0, "o"], [91890, 0, "t"], [91891, 0, " "], [91892, 0, "o"], [91893, 0, "f"], [91894, 0, " "], [91895, 0, "t"], [91896, 0, "h"], [91897, 0, "e"], [91898, 0, " "], [91899, 0, "d"], [91900, 0, "o"], [91901, 0, "c"], [91902, 0, "u"], [91903, 0, "m"], [91904, 0, "e"], [91905, 0, "n"], [91906, 0, "t"], [91907, 0, " "], [91908, 0, "t"], [91909, 0, "r"], [91910, 0, "e"], [91911, 0, "e"], [91912, 0, " "], [91913, 0, "d"], [91914, 0, "e"], [91915, 0, "s"], [91916, 0, "c"], [91917, 0, "r"], [91918, 0, "i"], [91919, 0, "b"], [91920, 0, "e"], [91921, 0, "d"], [91922, 0, " "], [91923, 0, "b"], [91924, 0, "y"], [91925, 0, " "], [91926, 0, "t"], [91927, 0, "h"], [91928, 0, "e"], [91929, 0, " "], [91930, 0, "c"], [91931, 0, "u"], [91932, 0, "r"], [91933, 0, "s"], [91934, 0, "o"], [91935, 0, "r"], [91936, 0, "."], [91937, 0, " "], [91938, 0, "T"], [91939, 0, "h"], [91940, 0, "e"], [91941, 0, "s"], [91942, 0, "e"], [91943, 0, " "], [91944, 0, "s"], [91945, 0, "t"], [91946, 0, "a"], [91947, 0, "t"], [91948, 0, "e"], [91949, 0, " "], [91950, 0, "c"], [91951, 0, "h"], [91952, 0, "a"], [91953, 0, "n"], [91954, 0, "g"], [91955, 0, "e"], [91956, 0, "s"], [91957, 0, " "], [91958, 0, "a"], [91959, 0, "r"], [91960, 0, "e"], [91961, 0, " "], [91962, 0, "a"], [91963, 0, "p"], [91964, 0, "p"], [91965, 0, "l"], [91966, 0, "i"], [91967, 0, "e"], [91968, 0, "d"], [91969, 0, " "], [91970, 0, "u"], [91971, 0, "s"], [91972, 0, "i"], [91973, 0, "n"], [91974, 0, "g"], [91975, 0, " "], [91976, 0, "t"], [91977, 0, "h"], [91978, 0, "e"], [91979, 0, " "], [91980, 0, "s"], [91981, 0, "e"], [91982, 0, "t"], [91983, 0, " "], [91984, 0, "u"], [91985, 0, "n"], [91986, 0, "i"], [91987, 0, "o"], [91988, 0, "n"], [91989, 0, " "], [91990, 0, "o"], [91991, 0, "p"], [91992, 0, "e"], [91993, 0, "r"], [91994, 0, "a"], [91995, 0, "t"], [91996, 0, "o"], [91997, 0, "r"], [91998, 0, " "], [91999, 0, "$"], [92000, 0, "\\"], [92001, 0, "c"], [92002, 0, "u"], [92003, 0, "p"], [92004, 0, "$"], [92005, 0, ","], [92006, 0, " "], [92007, 0, "w"], [92008, 0, "h"], [92009, 0, "i"], [92010, 0, "c"], [92011, 0, "h"], [92012, 0, " "], [92013, 0, "i"], [92014, 0, "s"], [92015, 0, " "], [92016, 0, "c"], [92017, 0, "o"], [92018, 0, "m"], [92019, 0, "m"], [92020, 0, "u"], [92021, 0, "t"], [92022, 0, "a"], [92023, 0, "t"], [92024, 0, "i"], [92025, 0, "v"], [92026, 0, "e"], [92027, 0, "."], [92028, 0, "\n"], [92029, 0, "\n"], [92030, 0, "F"], [92031, 0, "i"], [92032, 0, "n"], [92033, 0, "a"], [92034, 0, "l"], [92035, 0, "l"], [92036, 0, "y"], [92037, 0, " "], [92037, 1], [92037, 0, ","], [92038, 0, " "], [92039, 0, "i"], [92040, 0, "n"], [92041, 0, " "], [92042, 0, "t"], [92043, 0, "h"], [92044, 0, "e"], [92045, 0, " "], [92046, 0, "c"], [92047, 0, "a"], [92048, 0, "s"], [92049, 0, "e"], [92050, 0, " "], [92051, 0, "w"], [92052, 0, "h"], [92053, 0, "e"], [92054, 0, "r"], [92055, 0, "e"], [92056, 0, " "], [92057, 0, "t"], [92058, 0, "h"], [92059, 0, "e"], [92060, 0, " "], [92061, 0, "a"], [92062, 0, "s"], [92063, 0, "s"], [92064, 0, "i"], [92065, 0, "g"], [92066, 0, "n"], [92067, 0, "e"], [92068, 0, "d"], [92069, 0, " "], [92070, 0, "v"], [92071, 0, "a"], [92072, 0, "l"], [92073, 0, "u"], [92074, 0, "e"], [92075, 0, " "], [92076, 0, "i"], [92077, 0, "s"], [92078, 0, " "], [92079, 0, "a"], [92080, 0, " "], [92081, 0, "p"], [92082, 0, "r"], [92083, 0, "i"], [92084, 0, "m"], [92085, 0, "i"], [92086, 0, "t"], [92087, 0, "i"], [92088, 0, "v"], [92089, 0, "e"], [92090, 0, " "], [92091, 0, "a"], [92092, 0, "n"], [92093, 0, "d"], [92094, 0, " "], [92095, 0, "t"], [92096, 0, "h"], [92097, 0, "e"], [92098, 0, " "], [92099, 0, "\\"], [92100, 0, "t"], [92101, 0, "e"], [92102, 0, "x"], [92103, 0, "t"], [92104, 0, "s"], [92105, 0, "c"], [92106, 0, "{"], [92107, 0, "A"], [92108, 0, "s"], [92109, 0, "s"], [92110, 0, "i"], [92111, 0, "g"], [92112, 0, "n"], [92113, 0, "}"], [92114, 0, " "], [92115, 0, "r"], [92116, 0, "u"], [92117, 0, "l"], [92118, 0, "e"], [92119, 0, " "], [92120, 0, "a"], [92121, 0, "p"], [92122, 0, "p"], [92123, 0, "l"], [92124, 0, "i"], [92125, 0, "e"], [92126, 0, "s"], [92056, 0, " "], [92057, 0, "v"], [92058, 0, "a"], [92059, 0, "l"], [92060, 0, "u"], [92061, 0, "e"], [92062, 0, " "], [92063, 0, "a"], [92064, 0, "s"], [92065, 0, "s"], [92066, 0, "i"], [92067, 0, "g"], [92068, 0, "n"], [92069, 0, "e"], [92070, 0, "d"], [92071, 0, " "], [92072, 0, "b"], [92073, 0, "y"], [92074, 0, " "], [92075, 0, "$"], [92076, 0, "o"], [92077, 0, "_"], [92078, 0, "a"], [92079, 0, "$"], [92081, 1], [92081, 1], [92081, 1], [92081, 1], [92081, 1], [92081, 1], [92081, 1], [92081, 1], [92081, 1], [92081, 1], [92081, 1], [92081, 1], [92081, 1], [92081, 1], [92081, 1], [92081, 1], [92081, 1], [92081, 1], [92081, 1], [92132, 0, ","], [92133, 0, " "], [92134, 0, "t"], [92135, 0, "h"], [92136, 0, "e"], [92137, 0, " "], [92138, 0, "m"], [92139, 0, "a"], [92140, 0, "p"], [92141, 0, "p"], [92142, 0, "i"], [92143, 0, "n"], [92144, 0, "g"], [92145, 0, " "], [92146, 0, "f"], [92147, 0, "r"], [92148, 0, "o"], [92149, 0, "m"], [92150, 0, " "], [92151, 0, "o"], [92152, 0, "p"], [92153, 0, "e"], [92154, 0, "r"], [92155, 0, "a"], [92156, 0, "t"], [92157, 0, "i"], [92158, 0, "o"], [92159, 0, "n"], [92160, 0, " "], [92161, 0, "I"], [92162, 0, "D"], [92163, 0, " "], [92164, 0, "t"], [92165, 0, "o"], [92166, 0, " "], [92167, 0, "v"], [92168, 0, "a"], [92169, 0, "l"], [92170, 0, "u"], [92171, 0, "e"], [92172, 0, " "], [92173, 0, "i"], [92174, 0, "s"], [92175, 0, " "], [92176, 0, "a"], [92177, 0, "d"], [92178, 0, "d"], [92179, 0, "e"], [92180, 0, "d"], [92181, 0, " "], [92182, 0, "t"], [92183, 0, "o"], [92184, 0, " "], [92185, 0, "t"], [92186, 0, "h"], [92187, 0, "e"], [92188, 0, " "], [92189, 0, "r"], [92190, 0, "e"], [92191, 0, "g"], [92192, 0, "i"], [92193, 0, "s"], [92194, 0, "t"], [92195, 0, "e"], [92196, 0, "r"], [92197, 0, " "], [92198, 0, "u"], [92199, 0, "s"], [92200, 0, "i"], [92201, 0, "n"], [92202, 0, "g"], [92203, 0, " "], [92203, 1], [92202, 1], [92201, 1], [92200, 1], [92199, 1], [92198, 1], [92197, 1], [92197, 0, ":"], [92198, 0, " "], [92199, 0, "#"], [92199, 1], [92199, 0, "$"], [92200, 0, "\\"], [92201, 0, "m"], [92202, 0, "a"], [92203, 0, "t"], [92204, 0, "h"], [92205, 0, "i"], [92206, 0, "t"], [92207, 0, "{"], [92208, 0, "c"], [92209, 0, "h"], [92210, 0, "i"], [92211, 0, "l"], [92212, 0, "d"], [92213, 0, "}"], [92214, 0, "["], [92215, 0, "\\"], [92216, 0, ","], [92217, 0, "\\"], [92218, 0, "m"], [92219, 0, "a"], [92220, 0, "t"], [92221, 0, "h"], [92222, 0, "i"], [92223, 0, "t"], [92224, 0, "{"], [92225, 0, "i"], [92226, 0, "d"], [92227, 0, "}"], [92228, 0, " "], [92229, 0, "\\"], [92230, 0, "m"], [92231, 0, "a"], [92232, 0, "p"], [92233, 0, "s"], [92234, 0, "t"], [92235, 0, "o"], [92236, 0, " "], [92237, 0, "\\"], [92238, 0, "m"], [92239, 0, "a"], [92240, 0, "t"], [92241, 0, "h"], [92242, 0, "i"], [92243, 0, "t"], [92244, 0, "{"], [92245, 0, "v"], [92246, 0, "a"], [92247, 0, "l"], [92248, 0, "}"], [92249, 0, "\\"], [92250, 0, ","], [92251, 0, "]"], [92252, 0, "$"], [92253, 0, "."], [92197, 1], [92197, 0, " "], [92198, 0, "b"], [92199, 0, "y"], [92200, 0, " "], [92201, 0, "t"], [92202, 0, "h"], [92203, 0, "e"], [92204, 0, " "], [92205, 0, "e"], [92206, 0, "x"], [92207, 0, "p"], [92208, 0, "r"], [92209, 0, "e"], [92210, 0, "s"], [92211, 0, "s"], [92212, 0, "i"], [92213, 0, "o"], [92214, 0, "n"], [92271, 0, " "], [92272, 0, "S"], [92273, 0, "i"], [92274, 0, "n"], [92275, 0, "c"], [92276, 0, "e"], [92277, 0, " "], [92278, 0, "o"], [92279, 0, "p"], [92280, 0, "e"], [92281, 0, "r"], [92282, 0, "a"], [92283, 0, "t"], [92284, 0, "i"], [92285, 0, "o"], [92286, 0, "n"], [92287, 0, " "], [92288, 0, "I"], [92289, 0, "D"], [92290, 0, "s"], [92291, 0, " "], [92292, 0, "("], [92293, 0, "L"], [92294, 0, "a"], [92295, 0, "m"], [92296, 0, "p"], [92297, 0, "o"], [92298, 0, "r"], [92299, 0, "t"], [92300, 0, " "], [92301, 0, "t"], [92302, 0, "i"], [92303, 0, "m"], [92304, 0, "e"], [92305, 0, "s"], [92306, 0, "t"], [92307, 0, "a"], [92308, 0, "m"], [92309, 0, "p"], [92310, 0, "s"], [92311, 0, ")"], [92312, 0, " "], [92313, 0, "a"], [92314, 0, "r"], [92315, 0, "e"], [92316, 0, " "], [92317, 0, "u"], [92318, 0, "n"], [92319, 0, "i"], [92320, 0, "q"], [92321, 0, "u"], [92322, 0, "e"], [92323, 0, ","], [92324, 0, " "], [92325, 0, "a"], [92326, 0, "n"], [92327, 0, "d"], [92328, 0, " "], [92329, 0, "c"], [92330, 0, "o"], [92331, 0, "n"], [92332, 0, "c"], [92333, 0, "u"], [92334, 0, "r"], [92335, 0, "r"], [92336, 0, "e"], [92337, 0, "n"], [92338, 0, "t"], [92339, 0, " "], [92340, 0, "d"], [92341, 0, "e"], [92342, 0, "l"], [92343, 0, "e"], [92344, 0, "t"], [92345, 0, "i"], [92346, 0, "o"], [92347, 0, "n"], [92348, 0, " "], [92349, 0, "o"], [92350, 0, "p"], [92351, 0, "e"], [92352, 0, "r"], [92353, 0, "a"], [92354, 0, "t"], [92355, 0, "i"], [92356, 0, "o"], [92357, 0, "n"], [92358, 0, "s"], [92359, 0, " "], [92360, 0, "d"], [92361, 0, "o"], [92362, 0, " "], [92363, 0, "n"], [92364, 0, "o"], [92365, 0, "t"], [92366, 0, " "], [92367, 0, "r"], [92368, 0, "e"], [92369, 0, "m"], [92370, 0, "o"], [92371, 0, "v"], [92372, 0, "e"], [92373, 0, " "], [92374, 0, "\\"], [92375, 0, "m"], [92376, 0, "a"], [92377, 0, "t"], [92378, 0, "h"], [92379, 0, "i"], [92380, 0, "t"], [92381, 0, "{"], [92382, 0, "i"], [92383, 0, "d"], [92384, 0, "}"], [92385, 0, " "], [92386, 0, "f"], [92387, 0, "r"], [92388, 0, "o"], [92389, 0, "m"], [92390, 0, " "], [92391, 0, "t"], [92392, 0, "h"], [92393, 0, "e"], [92394, 0, " "], [92395, 0, "m"], [92396, 0, "a"], [92397, 0, "p"], [92398, 0, "p"], [92399, 0, "i"], [92400, 0, "n"], [92401, 0, "g"], [92402, 0, ","], [92403, 0, " "], [92404, 0, "a"], [92405, 0, " "], [92406, 0, "c"], [92407, 0, "o"], [92408, 0, "n"], [92409, 0, "c"], [92410, 0, "u"], [92411, 0, "r"], [92412, 0, "r"], [92413, 0, "e"], [92414, 0, "n"], [92415, 0, "t"], [92416, 0, " "], [92417, 0, "o"], [92418, 0, "p"], [92419, 0, "e"], [92420, 0, "r"], [92421, 0, "a"], [92422, 0, "t"], [92423, 0, "i"], [92424, 0, "o"], [92425, 0, "n"], [92426, 0, " "], [92427, 0, "c"], [92428, 0, "a"], [92429, 0, "n"], [92430, 0, "n"], [92431, 0, "o"], [92432, 0, "t"], [92433, 0, " "], [92434, 0, "a"], [92435, 0, "f"], [92436, 0, "f"], [92437, 0, "e"], [92438, 0, "c"], [92439, 0, "t"], [92440, 0, " "], [92441, 0, "t"], [92442, 0, "h"], [92443, 0, "e"], [92444, 0, " "], [92445, 0, "m"], [92446, 0, "a"], [92447, 0, "p"], [92448, 0, "p"], [92449, 0, "i"], [92450, 0, "n"], [92451, 0, "g"], [92452, 0, " "], [92453, 0, "o"], [92454, 0, "f"], [92455, 0, " "], [92456, 0, "#"], [92456, 1], [92456, 0, "$"], [92457, 0, "\\"], [92458, 0, "m"], [92459, 0, "a"], [92460, 0, "t"], [92461, 0, "h"], [92462, 0, "i"], [92463, 0, "t"], [92464, 0, "{"], [92465, 0, "i"], [92466, 0, "d"], [92467, 0, "}"], [92468, 0, "$"], [92469, 0, "."], [92271, 0, " "], [92271, 1], [92469, 0, ","], [92470, 0, " "], [92471, 0, "r"], [92472, 0, "e"], [92473, 0, "g"], [92474, 0, "a"], [92475, 0, "r"], [92476, 0, "d"], [92477, 0, "l"], [92478, 0, "e"], [92479, 0, "s"], [92480, 0, "s"], [92481, 0, " "], [92482, 0, "o"], [92483, 0, "f"], [92484, 0, " "], [92485, 0, "w"], [92486, 0, "h"], [92487, 0, "e"], [92488, 0, "t"], [92489, 0, "h"], [92490, 0, "e"], [92491, 0, "r"], [92492, 0, " "], [92493, 0, "i"], [92494, 0, "t"], [92495, 0, " "], [92496, 0, "i"], [92497, 0, "s"], [92498, 0, " "], [92499, 0, "a"], [92500, 0, "p"], [92501, 0, "p"], [92502, 0, "l"], [92503, 0, "i"], [92504, 0, "e"], [92505, 0, "d"], [92506, 0, " "], [92507, 0, "b"], [92508, 0, "e"], [92509, 0, "f"], [92510, 0, "o"], [92511, 0, "r"], [92512, 0, "e"], [92513, 0, " "], [92514, 0, "o"], [92515, 0, "r"], [92516, 0, " "], [92517, 0, "a"], [92518, 0, "f"], [92519, 0, "t"], [92520, 0, "e"], [92521, 0, "r"], [92432, 1], [92431, 1], [92430, 1], [92429, 1], [92428, 1], [92427, 1], [92427, 0, "d"], [92428, 0, "o"], [92429, 0, "e"], [92430, 0, "s"], [92520, 0, " "], [92521, 0, "$"], [92522, 0, "o"], [92523, 0, "_"], [92524, 0, "a"], [92525, 0, "$"], [92527, 0, "\n"], [92528, 0, "\n"], [92529, 0, "I"], [92530, 0, "f"], [92531, 0, " "], [92532, 0, "$"], [92533, 0, "o"], [92534, 0, "_"], [92535, 0, "a"], [92536, 0, "."], [92537, 0, "\\"], [92538, 0, "m"], [92539, 0, "a"], [92540, 0, "t"], [92541, 0, "h"], [92542, 0, "i"], [92543, 0, "t"], [92544, 0, "{"], [92545, 0, "c"], [92546, 0, "u"], [92547, 0, "r"], [92548, 0, "s"], [92549, 0, "o"], [92550, 0, "r"], [92551, 0, "}"], [92552, 0, " "], [92553, 0, "\\"], [92554, 0, "n"], [92555, 0, "o"], [92556, 0, "t"], [92557, 0, "="], [92558, 0, " "], [92559, 0, "o"], [92560, 0, "_"], [92561, 0, "c"], [92562, 0, "."], [92563, 0, "\\"], [92564, 0, "m"], [92565, 0, "a"], [92566, 0, "t"], [92567, 0, "h"], [92568, 0, "i"], [92569, 0, "t"], [92570, 0, "{"], [92571, 0, "c"], [92572, 0, "u"], [92573, 0, "r"], [92574, 0, "s"], [92575, 0, "o"], [92576, 0, "r"], [92577, 0, "}"], [92578, 0, "$"], [92579, 0, ","], [92580, 0, " "], [92581, 0, "t"], [92582, 0, "h"], [92583, 0, "e"], [92584, 0, " "], [92585, 0, "u"], [92586, 0, "p"], [92587, 0, "d"], [92588, 0, "a"], [92589, 0, "t"], [92590, 0, "e"], [92591, 0, "s"], [92592, 0, " "], [92592, 1], [92591, 1], [92590, 1], [92589, 1], [92588, 1], [92587, 1], [92586, 1], [92585, 1], [92585, 0, "o"], [92586, 0, "p"], [92587, 0, "e"], [92588, 0, "r"], [92589, 0, "a"], [92590, 0, "t"], [92591, 0, "i"], [92592, 0, "o"], [92593, 0, "n"], [92594, 0, "s"], [92595, 0, " "], [92596, 0, "a"], [92597, 0, "p"], [92598, 0, "p"], [92599, 0, "l"], [92600, 0, "y"], [92601, 0, " "], [92602, 0, "t"], [92603, 0, "o"], [92604, 0, " "], [92531, 0, " "], [92532, 0, "$"], [92533, 0, "o"], [92534, 0, "_"], [92535, 0, "c"], [92536, 0, "$"], [92537, 0, " "], [92538, 0, "i"], [92539, 0, "s"], [92540, 0, " "], [92541, 0, "n"], [92542, 0, "o"], [92543, 0, "t"], [92544, 0, " "], [92545, 0, "a"], [92546, 0, "n"], [92547, 0, " "], [92548, 0, "a"], [92549, 0, "s"], [92550, 0, "s"], [92551, 0, "i"], [92552, 0, "g"], [92553, 0, "n"], [92554, 0, "m"], [92555, 0, "e"], [92556, 0, "n"], [92557, 0, "t"], [92558, 0, " "], [92559, 0, "o"], [92560, 0, "p"], [92561, 0, "e"], [92562, 0, "r"], [92563, 0, "a"], [92564, 0, "t"], [92565, 0, "i"], [92566, 0, "o"], [92567, 0, "n"], [92568, 0, " "], [92569, 0, "o"], [92570, 0, "r"], [92571, 0, " "], [92572, 0, "i"], [92573, 0, "f"], [92647, 1], [92646, 1], [92645, 1], [92644, 1], [92643, 1], [92642, 1], [92641, 1], [92640, 1], [92639, 1], [92639, 0, "a"], [92640, 0, "r"], [92641, 0, "e"], [92642, 0, " "], [92643, 0, "i"], [92644, 0, "n"], [92645, 0, "d"], [92646, 0, "e"], [92647, 0, "p"], [92648, 0, "e"], [92649, 0, "n"], [92650, 0, "d"], [92651, 0, "e"], [92652, 0, "n"], [92653, 0, "t"], [92654, 0, " "], [92655, 0, "a"], [92656, 0, "n"], [92657, 0, "d"], [92658, 0, " "], [92659, 0, "t"], [92660, 0, "h"], [92661, 0, "u"], [92662, 0, "s"], [92663, 0, " "], [92664, 0, "t"], [92665, 0, "r"], [92666, 0, "i"], [92667, 0, "v"], [92668, 0, "i"], [92669, 0, "a"], [92670, 0, "l"], [92671, 0, "l"], [92672, 0, "y"], [92673, 0, " "], [92674, 0, "c"], [92675, 0, "o"], [92676, 0, "m"], [92677, 0, "m"], [92678, 0, "u"], [92679, 0, "t"], [92680, 0, "a"], [92681, 0, "t"], [92682, 0, "i"], [92683, 0, "v"], [92684, 0, "e"], [92685, 0, "."], [92686, 0, " "], [92687, 0, "I"], [92688, 0, "f"], [92689, 0, " "], [92690, 0, "$"], [92691, 0, "o"], [92692, 0, "_"], [92693, 0, "a"], [92694, 0, "$"], [92695, 0, " "], [92696, 0, "a"], [92697, 0, "n"], [92698, 0, "d"], [92699, 0, " "], [92700, 0, "$"], [92701, 0, "o"], [92702, 0, "_"], [92703, 0, "c"], [92704, 0, "$"], [92705, 0, " "], [92706, 0, "a"], [92707, 0, "r"], [92708, 0, "e"], [92709, 0, " "], [92710, 0, "a"], [92711, 0, "s"], [92712, 0, "s"], [92713, 0, "i"], [92714, 0, "g"], [92715, 0, "n"], [92716, 0, "m"], [92717, 0, "e"], [92718, 0, "n"], [92719, 0, "t"], [92720, 0, "s"], [92721, 0, " "], [92722, 0, "t"], [92723, 0, "o"], [92724, 0, " "], [92725, 0, "t"], [92726, 0, "h"], [92727, 0, "e"], [92728, 0, " "], [92729, 0, "s"], [92730, 0, "a"], [92731, 0, "m"], [92732, 0, "e"], [92733, 0, " "], [92734, 0, "c"], [92735, 0, "u"], [92736, 0, "r"], [92737, 0, "s"], [92738, 0, "o"], [92739, 0, "r"], [92740, 0, ","], [92741, 0, " "], [92742, 0, "w"], [92743, 0, "e"], [92744, 0, " "], [92745, 0, "u"], [92746, 0, "s"], [92747, 0, "e"], [92748, 0, " "], [92749, 0, "t"], [92750, 0, "h"], [92751, 0, "e"], [92752, 0, " "], [92753, 0, "f"], [92754, 0, "a"], [92755, 0, "c"], [92756, 0, "t"], [92757, 0, " "], [92758, 0, "t"], [92759, 0, "h"], [92760, 0, "a"], [92761, 0, "t"], [92762, 0, " "], [92763, 0, "t"], [92764, 0, "h"], [92765, 0, "e"], [92766, 0, " "], [92767, 0, "o"], [92768, 0, "r"], [92769, 0, "d"], [92770, 0, "e"], [92771, 0, "r"], [92772, 0, " "], [92773, 0, "o"], [92774, 0, "f"], [92775, 0, " "], [92776, 0, "u"], [92777, 0, "p"], [92778, 0, "d"], [92779, 0, "a"], [92780, 0, "t"], [92781, 0, "e"], [92782, 0, "s"], [92783, 0, " "], [92784, 0, "t"], [92785, 0, "o"], [92786, 0, " "], [92787, 0, "a"], [92788, 0, " "], [92789, 0, "p"], [92790, 0, "a"], [92791, 0, "r"], [92792, 0, "t"], [92793, 0, "i"], [92794, 0, "a"], [92795, 0, "l"], [92796, 0, " "], [92797, 0, "f"], [92798, 0, "u"], [92799, 0, "n"], [92800, 0, "c"], [92801, 0, "t"], [92802, 0, "i"], [92803, 0, "o"], [92804, 0, "n"], [92775, 1], [92774, 1], [92773, 1], [92772, 1], [92771, 1], [92770, 1], [92769, 1], [92768, 1], [92767, 1], [92766, 1], [92765, 1], [92764, 1], [92763, 1], [92791, 1], [92790, 1], [92789, 1], [92788, 1], [92787, 1], [92786, 1], [92785, 1], [92784, 1], [92783, 1], [92782, 1], [92781, 1], [92780, 1], [92779, 1], [92778, 1], [92777, 1], [92776, 1], [92775, 1], [92774, 1], [92773, 1], [92772, 1], [92771, 1], [92770, 1], [92769, 1], [92768, 1], [92767, 1], [92766, 1], [92765, 1], [92764, 1], [92763, 1], [92763, 0, "$"], [92764, 0, "\\"], [92765, 0, "m"], [92766, 0, "a"], [92767, 0, "t"], [92768, 0, "h"], [92769, 0, "i"], [92770, 0, "t"], [92771, 0, "{"], [92772, 0, "c"], [92773, 0, "h"], [92774, 0, "i"], [92775, 0, "l"], [92776, 0, "d"], [92777, 0, "}"], [92778, 0, "["], [92779, 0, "\\"], [92780, 0, ","], [92781, 0, "\\"], [92782, 0, "m"], [92783, 0, "a"], [92784, 0, "t"], [92785, 0, "h"], [92786, 0, "i"], [92787, 0, "t"], [92788, 0, "{"], [92789, 0, "i"], [92790, 0, "d"], [92791, 0, "}"], [92792, 0, "_"], [92793, 0, "1"], [92794, 0, " "], [92795, 0, "\\"], [92796, 0, "m"], [92797, 0, "a"], [92798, 0, "p"], [92799, 0, "s"], [92800, 0, "t"], [92801, 0, "o"], [92802, 0, " "], [92803, 0, "\\"], [92804, 0, "m"], [92805, 0, "a"], [92806, 0, "t"], [92807, 0, "h"], [92808, 0, "i"], [92809, 0, "t"], [92810, 0, "{"], [92811, 0, "v"], [92812, 0, "a"], [92813, 0, "l"], [92814, 0, "_"], [92814, 1], [92814, 0, "}"], [92815, 0, "_"], [92816, 0, "1"], [92817, 0, "\\"], [92818, 0, ","], [92819, 0, "]"], [92820, 0, "["], [92821, 0, ","], [92821, 1], [92821, 0, "\\"], [92822, 0, ","], [92823, 0, "\\"], [92824, 0, "m"], [92825, 0, "a"], [92826, 0, "t"], [92827, 0, "h"], [92828, 0, "i"], [92829, 0, "t"], [92830, 0, "{"], [92831, 0, "i"], [92832, 0, "d"], [92833, 0, "}"], [92834, 0, "_"], [92835, 0, "2"], [92836, 0, " "], [92837, 0, "\\"], [92838, 0, "m"], [92839, 0, "a"], [92840, 0, "p"], [92841, 0, "s"], [92842, 0, "t"], [92843, 0, "o"], [92844, 0, " "], [92845, 0, "\\"], [92846, 0, "m"], [92847, 0, "a"], [92848, 0, "t"], [92849, 0, "h"], [92850, 0, "i"], [92851, 0, "t"], [92852, 0, "{"], [92853, 0, "v"], [92854, 0, "a"], [92855, 0, "l"], [92856, 0, "}"], [92857, 0, "_"], [92858, 0, "2"], [92859, 0, "\\"], [92860, 0, ","], [92861, 0, "]"], [92862, 0, " "], [92863, 0, "="], [92864, 0, " "], [92865, 0, "\\"], [92866, 0, "m"], [92867, 0, "a"], [92868, 0, "t"], [92869, 0, "h"], [92870, 0, "i"], [92871, 0, "t"], [92872, 0, "{"], [92873, 0, "c"], [92874, 0, "h"], [92875, 0, "i"], [92876, 0, "l"], [92877, 0, "d"], [92878, 0, "}"], [92879, 0, "["], [92880, 0, "\\"], [92881, 0, ","], [92882, 0, "\\"], [92883, 0, "m"], [92884, 0, "a"], [92885, 0, "t"], [92886, 0, "h"], [92887, 0, "i"], [92888, 0, "t"], [92889, 0, "{"], [92890, 0, "i"], [92891, 0, "d"], [92892, 0, "}"], [92893, 0, "_"], [92894, 0, "2"], [92895, 0, " "], [92896, 0, "\\"], [92897, 0, "m"], [92898, 0, "a"], [92899, 0, "p"], [92900, 0, "s"], [92901, 0, "t"], [92902, 0, "o"], [92903, 0, " "], [92904, 0, "\\"], [92905, 0, "m"], [92906, 0, "a"], [92907, 0, "t"], [92908, 0, "h"], [92909, 0, "i"], [92910, 0, "t"], [92911, 0, "{"], [92912, 0, "v"], [92913, 0, "a"], [92914, 0, "l"], [92915, 0, "}"], [92916, 0, "_"], [92917, 0, "2"], [92918, 0, "\\"], [92919, 0, ","], [92920, 0, "]"], [92921, 0, "["], [92820, 0, "\\"], [92821, 0, ","], [92923, 0, "\\"], [92924, 0, ","], [92926, 0, "\\"], [92927, 0, ","], [92928, 0, "\\"], [92929, 0, "m"], [92930, 0, "a"], [92931, 0, "t"], [92932, 0, "h"], [92933, 0, "i"], [92934, 0, "t"], [92935, 0, "{"], [92936, 0, "i"], [92937, 0, "d"], [92938, 0, "}"], [92939, 0, "_"], [92940, 0, "1"], [92941, 0, " "], [92942, 0, "\\"], [92943, 0, "m"], [92944, 0, "a"], [92945, 0, "p"], [92946, 0, "s"], [92947, 0, "t"], [92948, 0, "o"], [92949, 0, " "], [92950, 0, "\\"], [92951, 0, "m"], [92952, 0, "a"], [92953, 0, "t"], [92954, 0, "h"], [92955, 0, "i"], [92956, 0, "t"], [92957, 0, "{"], [92958, 0, "v"], [92959, 0, "a"], [92960, 0, "l"], [92961, 0, "}"], [92962, 0, "_"], [92963, 0, "1"], [92964, 0, "]"], [92964, 1], [92964, 0, "\\"], [92965, 0, ","], [92966, 0, "]"], [92967, 0, "$"], [92968, 0, " "], [92969, 0, "p"], [92970, 0, "r"], [92971, 0, "o"], [92972, 0, "v"], [92973, 0, "i"], [92974, 0, "d"], [92975, 0, "e"], [92976, 0, "d"], [92977, 0, " "], [92978, 0, "t"], [92979, 0, "h"], [92980, 0, "a"], [92981, 0, "t"], [92982, 0, " "], [92983, 0, "$"], [92984, 0, "\\"], [92985, 0, "m"], [92986, 0, "a"], [92987, 0, "t"], [92988, 0, "h"], [92989, 0, "i"], [92990, 0, "t"], [92991, 0, "{"], [92992, 0, "i"], [92993, 0, "d"], [92994, 0, "}"], [92995, 0, "_"], [92996, 0, "1"], [92997, 0, " "], [92998, 0, "\\"], [92999, 0, "n"], [93000, 0, "o"], [93001, 0, "t"], [93002, 0, "="], [93003, 0, " "], [93004, 0, "\\"], [93005, 0, "m"], [93006, 0, "a"], [93007, 0, "t"], [93008, 0, "h"], [93009, 0, "i"], [93010, 0, "t"], [93011, 0, "{"], [93012, 0, "k"], [93013, 0, "i"], [93014, 0, "d"], [93014, 1], [93013, 1], [93012, 1], [93012, 0, "i"], [93013, 0, "d"], [93014, 0, "}"], [93015, 0, "_"], [93016, 0, "2"], [93017, 0, "$"], [93018, 0, "."], [92374, 0, "$"], [92386, 0, "$"], [92763, 1], [92762, 1], [92761, 1], [92760, 1], [92759, 1], [92758, 1], [92757, 1], [92756, 1], [92755, 1], [92755, 0, "c"], [92756, 0, "o"], [92757, 0, "m"], [92758, 0, "m"], [92759, 0, "u"], [92760, 0, "t"], [92761, 0, "a"], [92762, 0, "t"], [92763, 0, "i"], [92764, 0, "v"], [92765, 0, "i"], [92766, 0, "t"], [92767, 0, "y"], [92768, 0, " "], [92769, 0, "o"], [92770, 0, "f"], [92771, 0, " "], [92772, 0, "i"], [92773, 0, "n"], [92774, 0, "d"], [92775, 0, "e"], [92776, 0, "p"], [92777, 0, "d"], [92777, 1], [92777, 0, "e"], [92778, 0, "n"], [92779, 0, "d"], [92780, 0, "e"], [92781, 0, "n"], [92782, 0, "t"], [92783, 0, " "], [92784, 0, "u"], [92785, 0, "p"], [92786, 0, "d"], [92787, 0, "a"], [92788, 0, "t"], [92789, 0, "e"], [92790, 0, "s"], [92791, 0, " "], [92792, 0, "t"], [92793, 0, "o"], [92794, 0, " "], [92795, 0, "a"], [92796, 0, " "], [92797, 0, "p"], [92798, 0, "a"], [92799, 0, "r"], [92800, 0, "t"], [92801, 0, "i"], [92802, 0, "a"], [92803, 0, "l"], [92804, 0, " "], [92805, 0, "f"], [92806, 0, "u"], [92807, 0, "n"], [92808, 0, "c"], [92809, 0, "t"], [92810, 0, "i"], [92811, 0, "o"], [92812, 0, "n"], [92813, 0, ":"], [93071, 0, "\n"], [93072, 0, "\n"], [93073, 0, "T"], [93074, 0, "h"], [93075, 0, "u"], [93076, 0, "s"], [93077, 0, ","], [93078, 0, " "], [93079, 0, "f"], [93080, 0, "o"], [93081, 0, "r"], [93082, 0, " "], [93083, 0, "a"], [93084, 0, "l"], [93085, 0, "l"], [93086, 0, " "], [93086, 1], [93085, 1], [93084, 1], [93083, 1], [93082, 1], [93081, 1], [93080, 1], [93079, 1], [93079, 0, "a"], [93080, 0, "l"], [93081, 0, "l"], [93082, 0, " "], [93083, 0, "p"], [93084, 0, "a"], [93085, 0, "r"], [93086, 0, "t"], [93087, 0, "s"], [93088, 0, " "], [93089, 0, "o"], [93090, 0, "f"], [93091, 0, " "], [93092, 0, "t"], [93093, 0, "h"], [93094, 0, "e"], [93095, 0, " "], [93096, 0, "p"], [93097, 0, "r"], [93098, 0, "o"], [93099, 0, "c"], [93100, 0, "e"], [93101, 0, "s"], [93102, 0, "s"], [93103, 0, " "], [93104, 0, "o"], [93105, 0, "f"], [93106, 0, " "], [93107, 0, "a"], [93108, 0, "p"], [93109, 0, "p"], [93110, 0, "l"], [93111, 0, "y"], [93112, 0, "i"], [93113, 0, "n"], [93114, 0, "g"], [93115, 0, " "], [93116, 0, "$"], [93117, 0, "o"], [93118, 0, "_"], [93119, 0, "c"], [93119, 1], [93119, 0, "a"], [93120, 0, "$"], [93121, 0, " "], [93122, 0, "h"], [93123, 0, "a"], [93124, 0, "v"], [93125, 0, "e"], [93126, 0, " "], [93127, 0, "t"], [93128, 0, "h"], [93129, 0, "e"], [93130, 0, " "], [93131, 0, "s"], [93132, 0, "a"], [93133, 0, "m"], [93134, 0, "e"], [93135, 0, " "], [93136, 0, "e"], [93137, 0, "f"], [93138, 0, "f"], [93139, 0, "e"], [93140, 0, "c"], [93141, 0, "t"], [93142, 0, ","], [93143, 0, " "], [93144, 0, "r"], [93145, 0, "e"], [93146, 0, "g"], [93147, 0, "a"], [93148, 0, "r"], [93149, 0, "d"], [93150, 0, "l"], [93151, 0, "e"], [93152, 0, "s"], [93153, 0, "s"], [93154, 0, " "], [93155, 0, "o"], [93156, 0, "f"], [93157, 0, " "], [93158, 0, "w"], [93159, 0, "h"], [93160, 0, "e"], [93161, 0, "t"], [93162, 0, "h"], [93163, 0, "e"], [93164, 0, "r"], [93165, 0, " "], [93166, 0, "$"], [93167, 0, "o"], [93168, 0, "_"], [93169, 0, "c"], [93170, 0, "$"], [93171, 0, " "], [93172, 0, "w"], [93173, 0, "a"], [93174, 0, "s"], [93175, 0, " "], [93176, 0, "a"], [93177, 0, "p"], [93178, 0, "p"], [93179, 0, "l"], [93180, 0, "i"], [93181, 0, "e"], [93182, 0, "d"], [93183, 0, " "], [93184, 0, "b"], [93185, 0, "e"], [93186, 0, "f"], [93187, 0, "o"], [93188, 0, "r"], [93189, 0, "e"], [93190, 0, " "], [93191, 0, "o"], [93192, 0, "r"], [93193, 0, " "], [93194, 0, "a"], [93195, 0, "f"], [93196, 0, "t"], [93197, 0, "e"], [93198, 0, "r"], [93199, 0, " "], [93200, 0, "$"], [93201, 0, "o"], [93202, 0, "_"], [93203, 0, "a"], [93204, 0, "$"], [93205, 0, "."], [93142, 0, " "], [93143, 0, "o"], [93144, 0, "n"], [93145, 0, " "], [93146, 0, "t"], [93147, 0, "h"], [93148, 0, "e"], [93149, 0, " "], [93150, 0, "d"], [93151, 0, "o"], [93152, 0, "c"], [93153, 0, "u"], [93154, 0, "m"], [93155, 0, "e"], [93156, 0, "n"], [93157, 0, "t"], [93158, 0, " "], [93159, 0, "s"], [93160, 0, "t"], [93161, 0, "a"], [93162, 0, "t"], [93163, 0, "e"], [93196, 1], [93195, 1], [93194, 1], [93194, 0, "i"], [93195, 0, "s"], [93226, 0, ","], [93227, 0, " "], [93228, 0, "s"], [93229, 0, "o"], [93230, 0, " "], [93231, 0, "t"], [93232, 0, "h"], [93233, 0, "e"], [93234, 0, " "], [93235, 0, "o"], [93236, 0, "p"], [93237, 0, "p"], [93237, 1], [93237, 0, "e"], [93238, 0, "r"], [93239, 0, "a"], [93240, 0, "t"], [93241, 0, "i"], [93242, 0, "o"], [93243, 0, "n"], [93244, 0, "s"], [93245, 0, " "], [93246, 0, "c"], [93247, 0, "o"], [93248, 0, "m"], [93249, 0, "m"], [93250, 0, "u"], [93251, 0, "t"], [93252, 0, "e"], [93071, 0, " "], [93072, 0, "S"], [93073, 0, "i"], [93074, 0, "n"], [93075, 0, "c"], [93076, 0, "e"], [93077, 0, " "], [93078, 0, "o"], [93079, 0, "p"], [93080, 0, "e"], [93081, 0, "r"], [93082, 0, "a"], [93083, 0, "t"], [93084, 0, "i"], [93085, 0, "o"], [93086, 0, "n"], [93087, 0, " "], [93088, 0, "I"], [93089, 0, "D"], [93090, 0, "s"], [93091, 0, " "], [93092, 0, "("], [93093, 0, "L"], [93094, 0, "a"], [93095, 0, "m"], [93096, 0, "p"], [93097, 0, "o"], [93098, 0, "r"], [93099, 0, "t"], [93100, 0, " "], [93101, 0, "t"], [93102, 0, "i"], [93103, 0, "m"], [93104, 0, "e"], [93105, 0, "s"], [93106, 0, "t"], [93107, 0, "a"], [93108, 0, "m"], [93109, 0, "p"], [93110, 0, "s"], [93111, 0, ")"], [93112, 0, " "], [93113, 0, "a"], [93114, 0, "r"], [93115, 0, "e"], [93116, 0, " "], [93117, 0, "u"], [93118, 0, "n"], [93119, 0, "i"], [93120, 0, "q"], [93121, 0, "u"], [93122, 0, "e"], [93123, 0, ","], [93124, 0, " "], [93125, 0, "t"], [93126, 0, "w"], [93127, 0, "o"], [93128, 0, " "], [93129, 0, "c"], [93130, 0, "o"], [93131, 0, "n"], [93132, 0, "c"], [93133, 0, "u"], [93134, 0, "r"], [93135, 0, "r"], [93136, 0, "e"], [93137, 0, "n"], [93138, 0, "t"], [93139, 0, " "], [93140, 0, "a"], [93141, 0, "s"], [93142, 0, "s"], [93143, 0, "i"], [93144, 0, "g"], [93145, 0, "n"], [93146, 0, "m"], [93147, 0, "e"], [93148, 0, "n"], [93149, 0, "t"], [93150, 0, "s"], [93151, 0, " "], [93152, 0, "a"], [93153, 0, "d"], [93154, 0, "d"], [93155, 0, " "], [93156, 0, "t"], [93157, 0, "w"], [93158, 0, "o"], [93159, 0, " "], [93160, 0, "d"], [93161, 0, "i"], [93162, 0, "f"], [93163, 0, "f"], [93164, 0, "e"], [93165, 0, "r"], [93166, 0, "e"], [93167, 0, "n"], [93168, 0, "t"], [93169, 0, " "], [93170, 0, "k"], [93171, 0, "e"], [93172, 0, "y"], [93173, 0, "s"], [93174, 0, " "], [93175, 0, "t"], [93176, 0, "o"], [93177, 0, " "], [93178, 0, "t"], [93179, 0, "h"], [93180, 0, "e"], [93181, 0, " "], [93182, 0, "m"], [93183, 0, "a"], [93184, 0, "p"], [93185, 0, "p"], [93186, 0, "i"], [93187, 0, "n"], [93188, 0, "g"], [93189, 0, "."], [93189, 0, ","], [93190, 0, " "], [93191, 0, "a"], [93192, 0, "n"], [93193, 0, "d"], [93194, 0, " "], [93195, 0, "t"], [93196, 0, "h"], [93197, 0, "e"], [93198, 0, "i"], [93199, 0, "r"], [93200, 0, " "], [93201, 0, "o"], [93202, 0, "r"], [93203, 0, "d"], [93204, 0, "e"], [93205, 0, "r"], [93206, 0, " "], [93207, 0, "i"], [93208, 0, "s"], [93209, 0, " "], [93210, 0, "i"], [93211, 0, "m"], [93212, 0, "m"], [93213, 0, "a"], [93214, 0, "t"], [93215, 0, "e"], [93216, 0, "r"], [93217, 0, "i"], [93218, 0, "a"], [93219, 0, "l"], [92530, 1], [92529, 1], [92528, 1], [92527, 1], [92526, 1], [92525, 1], [92524, 1], [92523, 1], [92522, 1], [92521, 1], [92520, 1], [92519, 1], [92518, 1], [92517, 1], [92516, 1], [92515, 1], [92514, 1], [92513, 1], [92512, 1], [92511, 1], [92510, 1], [92509, 1], [92508, 1], [92507, 1], [92506, 1], [92505, 1], [92504, 1], [92503, 1], [92502, 1], [92501, 1], [92500, 1], [92499, 1], [92498, 1], [92497, 1], [92496, 1], [92495, 1], [92494, 1], [92493, 1], [92492, 1], [92491, 1], [92490, 1], [92489, 1], [92488, 1], [92487, 1], [92486, 1], [92485, 1], [92484, 1], [92483, 1], [92482, 1], [92481, 1], [92480, 1], [92479, 1], [92478, 1], [92477, 1], [92476, 1], [92475, 1], [92474, 1], [92473, 1], [92472, 1], [92471, 1], [92470, 1], [92469, 1], [92468, 1], [92467, 1], [92466, 1], [92465, 1], [92464, 1], [92463, 1], [92462, 1], [92461, 1], [92460, 1], [92459, 1], [92458, 1], [92457, 1], [92456, 1], [92455, 1], [92454, 1], [92453, 1], [92452, 1], [92451, 1], [92450, 1], [92449, 1], [92448, 1], [92447, 1], [92446, 1], [92445, 1], [92444, 1], [92443, 1], [92442, 1], [92441, 1], [92440, 1], [92439, 1], [92438, 1], [92437, 1], [92436, 1], [92435, 1], [92434, 1], [92433, 1], [92432, 1], [92431, 1], [92430, 1], [92429, 1], [92428, 1], [92427, 1], [92426, 1], [92425, 1], [92424, 1], [92423, 1], [92422, 1], [92421, 1], [92420, 1], [92419, 1], [92418, 1], [92417, 1], [92416, 1], [92415, 1], [92414, 1], [92413, 1], [92412, 1], [92411, 1], [92410, 1], [92409, 1], [92408, 1], [92407, 1], [92406, 1], [92405, 1], [92404, 1], [92403, 1], [92402, 1], [92401, 1], [92400, 1], [92399, 1], [92398, 1], [92397, 1], [92396, 1], [92395, 1], [92394, 1], [92393, 1], [92392, 1], [92391, 1], [92390, 1], [92389, 1], [92388, 1], [92387, 1], [92386, 1], [92385, 1], [92384, 1], [92383, 1], [92382, 1], [92381, 1], [92380, 1], [92379, 1], [92378, 1], [92377, 1], [92376, 1], [92375, 1], [92374, 1], [92373, 1], [92372, 1], [92371, 1], [92370, 1], [92369, 1], [92368, 1], [92367, 1], [92366, 1], [92365, 1], [92364, 1], [92363, 1], [92362, 1], [92361, 1], [92360, 1], [92359, 1], [92358, 1], [92357, 1], [92356, 1], [92355, 1], [92354, 1], [92353, 1], [92352, 1], [92351, 1], [92350, 1], [92349, 1], [92348, 1], [92347, 1], [92346, 1], [92345, 1], [92344, 1], [92343, 1], [92342, 1], [92341, 1], [92340, 1], [92339, 1], [92338, 1], [92337, 1], [92336, 1], [92335, 1], [92334, 1], [92333, 1], [92332, 1], [92331, 1], [92330, 1], [92329, 1], [92328, 1], [92327, 1], [92326, 1], [92325, 1], [92324, 1], [92323, 1], [92322, 1], [92321, 1], [92320, 1], [92319, 1], [92318, 1], [92317, 1], [92316, 1], [92315, 1], [92314, 1], [92313, 1], [92312, 1], [92311, 1], [92310, 1], [92309, 1], [92308, 1], [92307, 1], [92306, 1], [92305, 1], [92304, 1], [92303, 1], [92302, 1], [92301, 1], [92300, 1], [92299, 1], [92298, 1], [92297, 1], [92296, 1], [92295, 1], [92294, 1], [92293, 1], [92292, 1], [92291, 1], [92290, 1], [92289, 1], [92288, 1], [92287, 1], [92286, 1], [92285, 1], [92284, 1], [92283, 1], [92282, 1], [92281, 1], [92280, 1], [92279, 1], [92278, 1], [92277, 1], [92276, 1], [92275, 1], [92274, 1], [92273, 1], [92272, 1], [92429, 1], [92429, 0, "\n"], [92430, 0, "\n"], [92525, 1], [92524, 1], [92523, 1], [92522, 1], [92521, 1], [92520, 1], [92519, 1], [92518, 1], [92517, 1], [92516, 1], [92515, 1], [92514, 1], [93146, 0, "\n"], [93147, 0, "\n"], [93148, 0, "\\"], [93149, 0, "b"], [93150, 0, "e"], [93151, 0, "g"], [93152, 0, "i"], [93153, 0, "n"], [93154, 0, "{"], [93155, 0, "l"], [93156, 0, "e"], [93157, 0, "m"], [93158, 0, "m"], [93159, 0, "a"], [93160, 0, "}"], [93161, 0, "\\"], [93162, 0, "l"], [93163, 0, "a"], [93164, 0, "b"], [93165, 0, "e"], [93166, 0, "l"], [93167, 0, "{"], [93168, 0, "l"], [93169, 0, "e"], [93170, 0, "m"], [93171, 0, ":"], [93172, 0, "o"], [93173, 0, "p"], [93174, 0, "-"], [93175, 0, "c"], [93176, 0, "o"], [93177, 0, "m"], [93178, 0, "m"], [93179, 0, "u"], [93180, 0, "t"], [93181, 0, "e"], [93182, 0, "}"], [93183, 0, "\n"], [93184, 0, "\\"], [93185, 0, "e"], [93186, 0, "n"], [93187, 0, "d"], [93188, 0, "{"], [93189, 0, "l"], [93190, 0, "e"], [93191, 0, "m"], [93192, 0, "m"], [93193, 0, "a"], [93194, 0, "}"], [93183, 0, "\n"], [93184, 0, "i"], [93185, 0, "n"], [93186, 0, "s"], [93187, 0, "e"], [93188, 0, "r"], [93189, 0, "t"], [93190, 0, "i"], [93191, 0, "o"], [93192, 0, "n"], [93193, 0, " "], [93194, 0, "t"], [93195, 0, "o"], [93196, 0, " "], [93197, 0, "t"], [93198, 0, "h"], [93199, 0, "e"], [93200, 0, " "], [93201, 0, "s"], [93202, 0, "a"], [93203, 0, "m"], [93204, 0, "e"], [93205, 0, " "], [93206, 0, "l"], [93207, 0, "i"], [93208, 0, "s"], [93209, 0, "t"], [93210, 0, ":"], [93211, 0, " "], [93212, 0, "L"], [93213, 0, "e"], [93214, 0, "m"], [93215, 0, "m"], [93216, 0, "a"], [93217, 0, "~"], [93218, 0, "\\"], [93219, 0, "r"], [93220, 0, "e"], [93221, 0, "f"], [93222, 0, "{"], [93223, 0, "l"], [93224, 0, "e"], [93225, 0, "m"], [93226, 0, ":"], [93227, 0, "i"], [93228, 0, "n"], [93229, 0, "s"], [93230, 0, "e"], [93231, 0, "r"], [93232, 0, "t"], [93233, 0, "-"], [93234, 0, "r"], [93235, 0, "e"], [93236, 0, "o"], [93237, 0, "r"], [93238, 0, "d"], [93239, 0, "e"], [93240, 0, "r"], [93241, 0, "}"], [93242, 0, ";"], [93243, 0, " "], [93244, 0, "d"], [93245, 0, "e"], [93246, 0, "l"], [93247, 0, "e"], [93248, 0, "t"], [93249, 0, "i"], [93250, 0, "o"], [93251, 0, "n"], [93252, 0, ":"], [93253, 0, " "], [93254, 0, "L"], [93255, 0, "e"], [93256, 0, "m"], [93257, 0, "m"], [93258, 0, "a"], [93259, 0, "~"], [93260, 0, "\\"], [93261, 0, "r"], [93262, 0, "e"], [93263, 0, "f"], [93264, 0, "{"], [93265, 0, ":"], [93265, 1], [93265, 0, "l"], [93266, 0, "e"], [93267, 0, "m"], [93268, 0, ":"], [93269, 0, "d"], [93270, 0, "e"], [93271, 0, "l"], [93272, 0, "e"], [93273, 0, "t"], [93274, 0, "e"], [93275, 0, "-"], [93276, 0, "c"], [93277, 0, "o"], [93278, 0, "m"], [93279, 0, "m"], [93280, 0, "u"], [93281, 0, "t"], [93282, 0, "e"], [93283, 0, "}"], [93284, 0, ";"], [93285, 0, " "], [93286, 0, "a"], [93287, 0, "s"], [93288, 0, "s"], [93289, 0, "i"], [93290, 0, "g"], [93291, 0, "n"], [93292, 0, "m"], [93293, 0, "e"], [93294, 0, "n"], [93295, 0, "t"], [93296, 0, ":"], [93297, 0, " "], [93298, 0, "L"], [93299, 0, "e"], [93300, 0, "m"], [93301, 0, "m"], [93302, 0, "a"], [93303, 0, "~"], [93304, 0, "\\"], [93305, 0, "r"], [93306, 0, "e"], [93307, 0, "f"], [93308, 0, "{"], [93309, 0, "l"], [93310, 0, "e"], [93311, 0, "m"], [93312, 0, ":"], [93313, 0, "a"], [93314, 0, "s"], [93315, 0, "s"], [93316, 0, "i"], [93317, 0, "g"], [93318, 0, "n"], [93319, 0, "-"], [93320, 0, "c"], [93321, 0, "o"], [93322, 0, "m"], [93323, 0, "m"], [93324, 0, "u"], [93325, 0, "t"], [93326, 0, "e"], [93327, 0, "}"], [93328, 0, "."], [78214, 0, ","], [78215, 0, " "], [78216, 0, "i"], [78217, 0, "n"], [78218, 0, " "], [78219, 0, "L"], [78220, 0, "e"], [78221, 0, "m"], [78222, 0, "m"], [78223, 0, "a"], [78224, 0, "~"], [78225, 0, "\\"], [78226, 0, "r"], [78227, 0, "e"], [78228, 0, "f"], [78229, 0, "{"], [78058, 0, " "], [78059, 0, "i"], [78060, 0, "n"], [78061, 0, " "], [78062, 0, "L"], [78063, 0, "e"], [78064, 0, "m"], [78065, 0, "m"], [78066, 0, "a"], [78067, 0, "~"], [78068, 0, "\\"], [78069, 0, "r"], [78070, 0, "e"], [78071, 0, "f"], [78072, 0, "{"], [78073, 0, "l"], [78074, 0, "e"], [78075, 0, "m"], [78076, 0, ":"], [78077, 0, "o"], [78078, 0, "p"], [78079, 0, "-"], [78080, 0, "c"], [78081, 0, "o"], [78082, 0, "m"], [78083, 0, "m"], [78084, 0, "u"], [78085, 0, "t"], [78086, 0, "e"], [78087, 0, "}"], [78494, 1], [78493, 1], [78492, 1], [78491, 1], [78490, 1], [78489, 1], [78488, 1], [78487, 1], [78486, 1], [78485, 1], [78484, 1], [78483, 1], [78482, 1], [78481, 1], [78480, 1], [78479, 1], [78478, 1], [78477, 1], [78476, 1], [78475, 1], [78474, 1], [78473, 1], [78472, 1], [78471, 1], [78470, 1], [78469, 1], [78468, 1], [78467, 1], [78466, 1], [78465, 1], [78464, 1], [78463, 1], [78462, 1], [78461, 1], [78460, 1], [78459, 1], [78458, 1], [78457, 1], [78456, 1], [78455, 1], [78454, 1], [78453, 1], [78452, 1], [78451, 1], [78450, 1], [78449, 1], [78448, 1], [78447, 1], [78446, 1], [78445, 1], [78444, 1], [78443, 1], [78442, 1], [78441, 1], [78440, 1], [78439, 1], [78438, 1], [78437, 1], [78436, 1], [78435, 1], [78434, 1], [78433, 1], [78432, 1], [78431, 1], [78430, 1], [78429, 1], [78428, 1], [78427, 1], [78426, 1], [78425, 1], [78424, 1], [78423, 1], [78422, 1], [78421, 1], [78420, 1], [78419, 1], [78418, 1], [78417, 1], [78416, 1], [78415, 1], [78414, 1], [78413, 1], [78412, 1], [78411, 1], [78410, 1], [78409, 1], [78408, 1], [78407, 1], [78406, 1], [78405, 1], [78404, 1], [78403, 1], [78402, 1], [78401, 1], [78400, 1], [78399, 1], [78398, 1], [78397, 1], [78396, 1], [78395, 1], [78394, 1], [78393, 1], [78392, 1], [78391, 1], [78390, 1], [78389, 1], [78388, 1], [78387, 1], [78386, 1], [78385, 1], [78384, 1], [78383, 1], [78382, 1], [78381, 1], [78380, 1], [78379, 1], [78378, 1], [78377, 1], [78376, 1], [78375, 1], [78374, 1], [78373, 1], [78372, 1], [78371, 1], [78370, 1], [78369, 1], [78368, 1], [78367, 1], [78366, 1], [78365, 1], [78364, 1], [78363, 1], [78362, 1], [78361, 1], [78360, 1], [78359, 1], [78358, 1], [78357, 1], [78356, 1], [78355, 1], [78354, 1], [78353, 1], [78352, 1], [78351, 1], [78350, 1], [78349, 1], [78348, 1], [78347, 1], [78346, 1], [78345, 1], [78344, 1], [78343, 1], [78342, 1], [78341, 1], [78340, 1], [78339, 1], [78338, 1], [78337, 1], [78336, 1], [78335, 1], [78334, 1], [78333, 1], [78332, 1], [78331, 1], [78330, 1], [78329, 1], [78328, 1], [78327, 1], [78326, 1], [78325, 1], [78324, 1], [78323, 1], [78322, 1], [78321, 1], [78320, 1], [78319, 1], [78318, 1], [78317, 1], [78316, 1], [78315, 1], [78314, 1], [78313, 1], [78312, 1], [78311, 1], [78310, 1], [78309, 1], [78308, 1], [78307, 1], [78306, 1], [78305, 1], [78304, 1], [78303, 1], [78302, 1], [78301, 1], [78300, 1], [78299, 1], [78298, 1], [78297, 1], [78296, 1], [78295, 1], [78294, 1], [78293, 1], [78292, 1], [78291, 1], [78290, 1], [78289, 1], [78288, 1], [78287, 1], [78286, 1], [78285, 1], [78284, 1], [78283, 1], [78282, 1], [78281, 1], [78280, 1], [78279, 1], [78278, 1], [78277, 1], [78276, 1], [78275, 1], [78274, 1], [78273, 1], [78272, 1], [78271, 1], [78270, 1], [78269, 1], [78268, 1], [78267, 1], [78266, 1], [78265, 1], [78264, 1], [78263, 1], [78262, 1], [78261, 1], [78260, 1], [78259, 1], [78258, 1], [78257, 1], [78256, 1], [78255, 1], [78254, 1], [78253, 1], [78252, 1], [78251, 1], [78250, 1], [78249, 1], [78248, 1], [78247, 1], [78246, 1], [78245, 1], [78244, 1], [78244, 0, "."], [78333, 1], [78332, 1], [78331, 1], [78330, 1], [78329, 1], [78328, 1], [78327, 1], [78326, 1], [78325, 1], [78324, 1], [78323, 1], [78322, 1], [78321, 1], [78320, 1], [78319, 1], [78318, 1], [78317, 1], [78316, 1], [78315, 1], [78314, 1], [78313, 1], [78312, 1], [78311, 1], [78310, 1], [78309, 1], [78308, 1], [78307, 1], [78306, 1], [78305, 1], [78304, 1], [78303, 1], [78302, 1], [78301, 1], [78300, 1], [78300, 0, "o"], [78301, 0, "p"], [78302, 0, "e"], [78303, 0, "r"], [78304, 0, "a"], [78305, 0, "t"], [78306, 0, "i"], [78307, 0, "o"], [78308, 0, "n"], [78309, 0, "s"], [92955, 0, "\n"], [92956, 0, "\\"], [92957, 0, "e"], [92958, 0, "n"], [92959, 0, "d"], [92960, 0, "{"], [92961, 0, "l"], [92962, 0, "e"], [92963, 0, "m"], [92964, 0, "m"], [92965, 0, "a"], [92966, 0, "}"], [92967, 0, "\n"], [92968, 0, "\n"], [92969, 0, "\\"], [92970, 0, "b"], [92971, 0, "e"], [92972, 0, "g"], [92973, 0, "i"], [92974, 0, "n"], [92975, 0, "{"], [92976, 0, "p"], [92977, 0, "r"], [92978, 0, "o"], [92979, 0, "o"], [92980, 0, "f"], [92981, 0, "}"], [93138, 1], [93137, 1], [93136, 1], [93135, 1], [93134, 1], [93134, 0, "p"], [93135, 0, "r"], [93136, 0, "o"], [93137, 0, "o"], [93138, 0, "f"], [92956, 0, "\n"], [92956, 0, "G"], [92957, 0, "i"], [92958, 0, "v"], [92959, 0, "e"], [92960, 0, "n"], [92961, 0, " "], [92962, 0, "a"], [92963, 0, "n"], [92964, 0, " "], [92965, 0, "o"], [92966, 0, "p"], [92967, 0, "e"], [92968, 0, "r"], [92969, 0, "a"], [92970, 0, "t"], [92971, 0, "i"], [92972, 0, "o"], [92973, 0, "n"], [92974, 0, " "], [92975, 0, "h"], [92976, 0, "i"], [92977, 0, "s"], [92978, 0, "t"], [92979, 0, "o"], [92980, 0, "r"], [92981, 0, "h"], [92982, 0, " "], [92983, 0, "$"], [92983, 1], [92982, 1], [92981, 1], [92981, 0, "y"], [92982, 0, " "], [92983, 0, "$"], [92984, 0, "H"], [92985, 0, "="], [92986, 0, "\\"], [92987, 0, "l"], [92988, 0, "a"], [92989, 0, "n"], [92990, 0, "g"], [92991, 0, "l"], [92992, 0, "e"], [92993, 0, " "], [92994, 0, "o"], [92995, 0, "_"], [92996, 0, "1"], [92997, 0, ","], [92998, 0, " "], [92999, 0, "\\"], [93000, 0, "d"], [93001, 0, "o"], [93002, 0, "t"], [93003, 0, "s"], [93004, 0, ","], [93005, 0, " "], [93006, 0, "o"], [93007, 0, "_"], [93008, 0, "n"], [93009, 0, " "], [93010, 0, "\\"], [93011, 0, "r"], [93012, 0, "a"], [93013, 0, "n"], [93014, 0, "g"], [93015, 0, "l"], [93016, 0, "e"], [93017, 0, "$"], [93018, 0, ","], [93019, 0, " "], [93020, 0, "a"], [93021, 0, " "], [93022, 0, "n"], [93023, 0, "e"], [93024, 0, "w"], [93025, 0, " "], [93026, 0, "o"], [93027, 0, "p"], [93028, 0, "e"], [93029, 0, "r"], [93030, 0, "a"], [93031, 0, "t"], [93032, 0, "i"], [93033, 0, "o"], [93034, 0, "n"], [93035, 0, " "], [93018, 0, " "], [93019, 0, "f"], [93020, 0, "r"], [93021, 0, "o"], [93022, 0, "m"], [93023, 0, " "], [93024, 0, "a"], [93025, 0, " "], [93026, 0, "v"], [93027, 0, "a"], [93028, 0, "l"], [93029, 0, "i"], [93030, 0, "d"], [93031, 0, " "], [93032, 0, "e"], [93033, 0, "x"], [93034, 0, "e"], [93035, 0, "c"], [93036, 0, "u"], [93037, 0, "t"], [93038, 0, "i"], [93039, 0, "o"], [93040, 0, "n"], [93059, 0, "$"], [93060, 0, "o"], [93061, 0, "_"], [93062, 0, "{"], [93063, 0, "n"], [93064, 0, "+"], [93065, 0, "1"], [93066, 0, "}"], [93067, 0, "$"], [93068, 0, " "], [93069, 0, "f"], [93070, 0, "r"], [93071, 0, "o"], [93072, 0, "m"], [93073, 0, " "], [93074, 0, "t"], [93075, 0, "h"], [93076, 0, "a"], [93077, 0, "t"], [93078, 0, " "], [93079, 0, "e"], [93080, 0, "x"], [93081, 0, "e"], [93082, 0, "c"], [93083, 0, "u"], [93084, 0, "t"], [93085, 0, "i"], [93086, 0, "o"], [93087, 0, "n"], [93088, 0, " "], [93089, 0, "c"], [93090, 0, "a"], [93091, 0, "n"], [93092, 0, " "], [93093, 0, "b"], [93094, 0, "e"], [93095, 0, " "], [93096, 0, "i"], [93097, 0, "n"], [93098, 0, "s"], [93099, 0, "e"], [93100, 0, "r"], [93101, 0, "t"], [93102, 0, "e"], [93103, 0, "d"], [93104, 0, " "], [93105, 0, "a"], [93106, 0, "t"], [93107, 0, " "], [93108, 0, "a"], [93109, 0, "n"], [93110, 0, "y"], [93111, 0, " "], [93112, 0, "p"], [93113, 0, "o"], [93114, 0, "i"], [93115, 0, "n"], [93116, 0, "t"], [93117, 0, " "], [93118, 0, "i"], [93119, 0, "n"], [93120, 0, " "], [93121, 0, "$"], [93122, 0, "H"], [93123, 0, "$"], [93124, 0, " "], [93125, 0, "w"], [93126, 0, "h"], [93127, 0, "e"], [93128, 0, "r"], [93129, 0, "e"], [93130, 0, " "], [93131, 0, "t"], [93132, 0, "h"], [93133, 0, "e"], [93134, 0, " "], [93135, 0, "c"], [93136, 0, "a"], [93137, 0, "u"], [93138, 0, "s"], [93139, 0, "a"], [93140, 0, "l"], [93141, 0, " "], [93142, 0, "d"], [93143, 0, "e"], [93144, 0, "p"], [93145, 0, "e"], [93146, 0, "n"], [93147, 0, "d"], [93148, 0, "e"], [93149, 0, "n"], [93150, 0, "c"], [93151, 0, "i"], [93152, 0, "e"], [93153, 0, "s"], [93154, 0, " "], [93154, 1], [93153, 1], [93152, 1], [93151, 1], [93150, 1], [93149, 1], [93148, 1], [93147, 1], [93146, 1], [93145, 1], [93144, 1], [93143, 1], [93142, 1], [93141, 1], [93140, 1], [93139, 1], [93138, 1], [93137, 1], [93136, 1], [93135, 1], [93134, 1], [93133, 1], [93132, 1], [93131, 1], [93130, 1], [93129, 1], [93128, 1], [93127, 1], [93126, 1], [93125, 1], [93124, 1], [93124, 0, " "], [93125, 0, "a"], [93126, 0, "f"], [93127, 0, "t"], [93128, 0, "e"], [93129, 0, "r"], [93130, 0, " "], [93131, 0, "$"], [93132, 0, "o"], [93133, 0, "{"], [93133, 1], [93133, 0, "_"], [93134, 0, "{"], [93135, 0, "n"], [93136, 0, "+"], [93137, 0, "1"], [93138, 0, "}"], [93139, 0, "."], [93140, 0, "\\"], [93141, 0, "m"], [93142, 0, "a"], [93143, 0, "t"], [93144, 0, "h"], [93145, 0, "i"], [93146, 0, "t"], [93147, 0, "{"], [93148, 0, "d"], [93149, 0, "e"], [93150, 0, "p"], [93151, 0, "s"], [93152, 0, "}"], [93153, 0, "$"], [93154, 0, " "], [93155, 0, "h"], [93156, 0, "a"], [93157, 0, "v"], [93158, 0, "e"], [93159, 0, " "], [93160, 0, "b"], [93161, 0, "e"], [93162, 0, "e"], [93163, 0, "n"], [93164, 0, " "], [93165, 0, "a"], [93166, 0, "p"], [93167, 0, "p"], [93168, 0, "l"], [93169, 0, "i"], [93170, 0, "e"], [93171, 0, "d"], [93172, 0, "."], [93173, 0, " "], [93174, 0, "T"], [93174, 1], [93174, 0, "A"], [93175, 0, "l"], [93176, 0, "l"], [93177, 0, " "], [93178, 0, "r"], [93179, 0, "e"], [93180, 0, "s"], [93181, 0, "u"], [93182, 0, "l"], [93183, 0, "t"], [93184, 0, "i"], [93185, 0, "n"], [93186, 0, "g"], [93187, 0, " "], [93187, 1], [93186, 1], [93185, 1], [93184, 1], [93183, 1], [93182, 1], [93181, 1], [93180, 1], [93179, 1], [93178, 1], [93177, 1], [93177, 0, " "], [93178, 0, "h"], [93179, 0, "i"], [93180, 0, "s"], [93181, 0, "t"], [93182, 0, "o"], [93183, 0, "r"], [93184, 0, "i"], [93185, 0, "e"], [93186, 0, "s"], [93187, 0, " "], [93188, 0, "t"], [93189, 0, "h"], [93190, 0, "a"], [93191, 0, "t"], [93192, 0, " "], [93174, 0, "F"], [93175, 0, "o"], [93176, 0, "r"], [93177, 0, " "], [93178, 1], [93178, 0, "a"], [93197, 0, "c"], [93198, 0, "a"], [93199, 0, "n"], [93200, 0, " "], [93201, 0, "b"], [93202, 0, "e"], [93203, 0, " "], [93204, 0, "c"], [93205, 0, "o"], [93206, 0, "n"], [93207, 0, "s"], [93208, 0, "t"], [93209, 0, "r"], [93210, 0, "u"], [93211, 0, "c"], [93212, 0, "t"], [93213, 0, "e"], [93214, 0, "d"], [93215, 0, " "], [93216, 0, "t"], [93217, 0, "h"], [93218, 0, "i"], [93219, 0, "s"], [93220, 0, " "], [93221, 0, "w"], [93222, 0, "a"], [93223, 0, "y"], [93224, 0, ","], [93225, 0, " "], [93226, 0, "t"], [93227, 0, "h"], [93228, 0, "e"], [93229, 0, " "], [93230, 0, "d"], [93231, 0, "o"], [93232, 0, "c"], [93233, 0, "u"], [93234, 0, "m"], [93235, 0, "e"], [93236, 0, "n"], [93237, 0, "t"], [93238, 0, " "], [93239, 0, "s"], [93240, 0, "t"], [93241, 0, "a"], [93242, 0, "t"], [93243, 0, "e"], [93244, 0, " "], [93245, 0, "r"], [93246, 0, "e"], [93247, 0, "s"], [93248, 0, "u"], [93249, 0, "l"], [93250, 0, "t"], [93251, 0, "i"], [93252, 0, "n"], [93253, 0, "g"], [93254, 0, " "], [93255, 0, "f"], [93256, 0, "r"], [93257, 0, "o"], [93258, 0, "m"], [93259, 0, " "], [93192, 0, "$"], [93193, 0, "H"], [93194, 0, "'"], [93195, 0, "$"], [93196, 0, " "], [93265, 0, "a"], [93266, 0, "p"], [93267, 0, "p"], [93268, 0, "l"], [93269, 0, "y"], [93270, 0, "i"], [93271, 0, "n"], [93272, 0, "g"], [93273, 0, " "], [93274, 0, "t"], [93275, 0, "h"], [93276, 0, "e"], [93277, 0, " "], [93278, 0, "o"], [93279, 0, "p"], [93280, 0, "e"], [93281, 0, "r"], [93282, 0, "a"], [93283, 0, "t"], [93284, 0, "i"], [93285, 0, "o"], [93286, 0, "n"], [93287, 0, "s"], [93288, 0, " "], [93289, 0, "i"], [93290, 0, "n"], [93291, 0, " "], [93292, 0, "$"], [93293, 0, "H"], [93294, 0, "'"], [93295, 0, "$"], [93296, 0, " "], [93297, 0, "i"], [93298, 0, "n"], [93299, 0, " "], [93300, 0, "o"], [93301, 0, "r"], [93302, 0, "d"], [93303, 0, "e"], [93304, 0, "r"], [93305, 0, " "], [93306, 0, "i"], [93307, 0, "s"], [93308, 0, " "], [93309, 0, "t"], [93310, 0, "h"], [93311, 0, "e"], [93312, 0, " "], [93313, 0, "s"], [93314, 0, "a"], [93315, 0, "m"], [93316, 0, "e"], [93317, 0, ","], [93318, 0, " "], [93319, 0, "a"], [93320, 0, "n"], [93321, 0, "d"], [93322, 0, " "], [93323, 0, "i"], [93324, 0, "n"], [93325, 0, "d"], [93326, 0, "e"], [93327, 0, "p"], [93328, 0, "e"], [93329, 0, "n"], [93330, 0, "d"], [93331, 0, "e"], [93332, 0, "n"], [93333, 0, "t"], [93334, 0, " "], [93335, 0, "o"], [93336, 0, "f"], [93337, 0, " "], [93338, 0, "t"], [93339, 0, "h"], [93340, 0, "e"], [93341, 0, " "], [93342, 0, "o"], [93343, 0, "r"], [93344, 0, "d"], [93345, 0, "e"], [93346, 0, "r"], [93347, 0, "i"], [93348, 0, "n"], [93349, 0, "g"], [93350, 0, " "], [93351, 0, "o"], [93352, 0, "f"], [93353, 0, " "], [93354, 0, "a"], [93355, 0, "n"], [93356, 0, "y"], [93357, 0, " "], [93358, 0, "c"], [93359, 0, "o"], [93360, 0, "n"], [93361, 0, "c"], [93362, 0, "u"], [93363, 0, "r"], [93364, 0, "r"], [93365, 0, "e"], [93366, 0, "n"], [93367, 0, "t"], [93368, 0, " "], [93369, 0, "o"], [93370, 0, "p"], [93371, 0, "e"], [93372, 0, "r"], [93373, 0, "a"], [93374, 0, "t"], [93375, 0, "i"], [93376, 0, "o"], [93377, 0, "n"], [93378, 0, "s"], [93379, 0, " "], [93380, 0, "i"], [93381, 0, "n"], [93382, 0, " "], [93383, 0, "$"], [93384, 0, "H"], [93385, 0, "$"], [93386, 0, "."], [93414, 0, "\n"], [93415, 0, "\n"], [93415, 0, "W"], [93416, 0, "e"], [93417, 0, " "], [93418, 0, "p"], [93419, 0, "r"], [93420, 0, "o"], [93421, 0, "v"], [93422, 0, "e"], [93423, 0, " "], [93424, 0, "t"], [93425, 0, "h"], [93426, 0, "e"], [93427, 0, " "], [93428, 0, "l"], [93429, 0, "e"], [93430, 0, "m"], [93431, 0, "m"], [93432, 0, "a"], [93433, 0, " "], [93434, 0, "c"], [93435, 0, "a"], [93436, 0, "s"], [93437, 0, "e"], [93438, 0, "-"], [93439, 0, "b"], [93440, 0, "y"], [93441, 0, "-"], [93442, 0, "c"], [93443, 0, "a"], [93444, 0, "s"], [93445, 0, "e"], [93446, 0, ","], [93447, 0, " "], [93448, 0, "d"], [93449, 0, "e"], [93450, 0, "p"], [93451, 0, "e"], [93452, 0, "n"], [93453, 0, "d"], [93454, 0, "i"], [93455, 0, "n"], [93456, 0, "g"], [93457, 0, " "], [93458, 0, "o"], [93459, 0, "n"], [93460, 0, " "], [93461, 0, "t"], [93462, 0, "h"], [93463, 0, "e"], [93464, 0, " "], [93465, 0, "t"], [93466, 0, "h"], [93467, 0, "y"], [93468, 0, "p"], [93469, 0, "e"], [93470, 0, " "], [93470, 1], [93469, 1], [93468, 1], [93467, 1], [93466, 1], [93466, 0, "y"], [93467, 0, "p"], [93468, 0, "e"], [93469, 0, " "], [93470, 0, "o"], [93471, 0, "f"], [93472, 0, " "], [93473, 0, "m"], [93474, 0, "u"], [93475, 0, "t"], [93476, 0, "a"], [93477, 0, "t"], [93478, 0, "i"], [93479, 0, "o"], [93480, 0, "n"], [93481, 0, " "], [93482, 0, "i"], [93483, 0, "n"], [93484, 0, " "], [93485, 0, "$"], [93486, 0, "o"], [93487, 0, "_"], [93488, 0, "{"], [93489, 0, "n"], [93490, 0, "+"], [93491, 0, "1"], [93492, 0, "}"], [93493, 0, "$"], [93494, 0, "."], [93495, 0, " "], [93414, 0, "\n"], [93415, 0, "$"], [93416, 0, "H"], [93417, 0, "$"], [93418, 0, " "], [93419, 0, "c"], [93420, 0, "a"], [93421, 0, "n"], [93422, 0, " "], [93423, 0, "b"], [93424, 0, "e"], [93425, 0, " "], [93426, 0, "s"], [93427, 0, "p"], [93428, 0, "l"], [93429, 0, "i"], [93430, 0, "t"], [93431, 0, " "], [93432, 0, "i"], [93433, 0, "n"], [93434, 0, "t"], [93435, 0, "o"], [93436, 0, " "], [93437, 0, "a"], [93438, 0, " "], [93439, 0, "p"], [93440, 0, "r"], [93441, 0, "e"], [93442, 0, "f"], [93443, 0, "i"], [93444, 0, "x"], [93445, 0, " "], [93446, 0, "a"], [93447, 0, "n"], [93448, 0, "d"], [93449, 0, " "], [93450, 0, "a"], [93451, 0, " "], [93452, 0, "s"], [93453, 0, "u"], [93454, 0, "f"], [93455, 0, "f"], [93456, 0, "i"], [93457, 0, "x"], [93458, 0, ","], [93459, 0, " "], [93460, 0, "a"], [93461, 0, "s"], [93462, 0, " "], [93463, 0, "d"], [93464, 0, "e"], [93465, 0, "s"], [93466, 0, "c"], [93467, 0, "r"], [93468, 0, "i"], [93469, 0, "b"], [93470, 0, "e"], [93471, 0, "d"], [93472, 0, " "], [93473, 0, "i"], [93474, 0, "n"], [93475, 0, " "], [93476, 0, "t"], [93477, 0, "h"], [93478, 0, "e"], [93479, 0, " "], [93480, 0, "p"], [93481, 0, "r"], [93482, 0, "o"], [93483, 0, "o"], [93484, 0, "f"], [93485, 0, " "], [93486, 0, "o"], [93487, 0, "f"], [93488, 0, " "], [93489, 0, "T"], [93490, 0, "h"], [93491, 0, "e"], [93492, 0, "o"], [93493, 0, "r"], [93494, 0, "e"], [93495, 0, "m"], [93496, 0, "~"], [93497, 0, "\\"], [93498, 0, "r"], [93499, 0, "e"], [93500, 0, "f"], [93501, 0, "{"], [93502, 0, "t"], [93503, 0, "h"], [93504, 0, "m"], [93505, 0, ":"], [93506, 0, "c"], [93507, 0, "o"], [93508, 0, "n"], [93509, 0, "v"], [93510, 0, "e"], [93511, 0, "r"], [93512, 0, "g"], [93513, 0, "e"], [93514, 0, "n"], [93515, 0, "c"], [93516, 0, "e"], [93517, 0, "}"], [93518, 0, "."], [93519, 0, " "], [93520, 0, "W"], [93521, 0, "e"], [93522, 0, " "], [93523, 0, "a"], [93524, 0, "l"], [93525, 0, "l"], [93526, 0, "o"], [93527, 0, "w"], [93528, 0, " "], [93529, 0, "$"], [93530, 0, "o"], [93531, 0, "_"], [93532, 0, "{"], [93533, 0, "n"], [93534, 0, "+"], [93535, 0, "1"], [93536, 0, "}"], [93537, 0, "$"], [93538, 0, " "], [93539, 0, "t"], [93540, 0, "o"], [93541, 0, " "], [93542, 0, "b"], [93543, 0, "e"], [93544, 0, " "], [93545, 0, "i"], [93546, 0, "n"], [93547, 0, "s"], [93548, 0, "e"], [93549, 0, "r"], [93550, 0, "t"], [93551, 0, "e"], [93552, 0, "d"], [93553, 0, " "], [93554, 0, "a"], [93555, 0, "t"], [93556, 0, " "], [93557, 0, "a"], [93558, 0, "n"], [93559, 0, "y"], [93560, 0, " "], [93561, 0, "p"], [93562, 0, "o"], [93563, 0, "i"], [93564, 0, "n"], [93565, 0, "t"], [93566, 0, " "], [93567, 0, "a"], [93568, 0, "f"], [93569, 0, "t"], [93570, 0, "e"], [93571, 0, "r"], [93572, 0, " "], [93573, 0, "t"], [93574, 0, "h"], [93575, 0, "e"], [93576, 0, " "], [93577, 0, "p"], [93578, 0, "r"], [93579, 0, "e"], [93580, 0, "f"], [93581, 0, "i"], [93582, 0, "x"], [93583, 0, ","], [93584, 0, " "], [93519, 0, " "], [93520, 0, "T"], [93521, 0, "h"], [93522, 0, "e"], [93523, 0, " "], [93524, 0, "s"], [93525, 0, "u"], [93526, 0, "f"], [93527, 0, "f"], [93528, 0, "i"], [93529, 0, "x"], [93530, 0, " "], [93531, 0, "c"], [93532, 0, "o"], [93533, 0, "n"], [93534, 0, "t"], [93535, 0, "a"], [93536, 0, "i"], [93537, 0, "n"], [93538, 0, "s"], [93539, 0, " "], [93540, 0, "o"], [93541, 0, "n"], [93542, 0, "l"], [93543, 0, "y"], [93544, 0, " "], [93545, 0, "o"], [93546, 0, "p"], [93547, 0, "e"], [93548, 0, "r"], [93549, 0, "a"], [93550, 0, "t"], [93551, 0, "i"], [93552, 0, "o"], [93553, 0, "n"], [93554, 0, "s"], [93555, 0, " "], [93556, 0, "t"], [93557, 0, "h"], [93558, 0, "a"], [93559, 0, "t"], [93560, 0, " "], [93561, 0, "a"], [93562, 0, "r"], [93563, 0, "e"], [93564, 0, " "], [93565, 0, "c"], [93566, 0, "o"], [93567, 0, "n"], [93568, 0, "c"], [93569, 0, "u"], [93570, 0, "r"], [93571, 0, "r"], [93572, 0, "e"], [93573, 0, "n"], [93574, 0, "t"], [93575, 0, " "], [93576, 0, "w"], [93577, 0, "i"], [93578, 0, "t"], [93579, 0, "h"], [93580, 0, " "], [93581, 0, "$"], [93582, 0, "o"], [93583, 0, "_"], [93584, 0, "{"], [93585, 0, "n"], [93586, 0, "+"], [93587, 0, "1"], [93588, 0, "}"], [93589, 0, "$"], [93590, 0, "."], [93592, 1], [93591, 1], [93590, 1], [93590, 0, ","], [93591, 0, " "], [93592, 0, "a"], [93593, 0, "n"], [93594, 0, "d"], [93595, 0, " "], [93596, 0, "w"], [93660, 1], [93659, 1], [93659, 0, "."], [93660, 0, " "], [93661, 1], [93663, 0, " "], [93664, 0, "t"], [93665, 0, "h"], [93666, 0, "e"], [93667, 0, "n"], [93748, 0, "\n"], [93749, 0, "\n"], [93749, 0, "I"], [93750, 0, "f"], [93751, 0, " "], [93752, 0, "$"], [93753, 0, "o"], [93754, 0, "_"], [93755, 0, "n"], [93756, 0, "{"], [93756, 1], [93755, 1], [93755, 0, "{"], [93756, 0, "n"], [93757, 0, "+"], [93758, 0, "1"], [93759, 0, "}"], [93760, 0, "$"], [93761, 0, " "], [93762, 0, "i"], [93763, 0, "s"], [93764, 0, " "], [93765, 0, "a"], [93766, 0, " "], [93767, 0, "d"], [93768, 0, "e"], [93769, 0, "l"], [93770, 0, "e"], [93771, 0, "t"], [93772, 0, "i"], [93773, 0, "o"], [93774, 0, "n"], [93775, 0, ","], [93776, 0, " "], [93777, 0, "b"], [93778, 0, "y"], [93779, 0, " "], [93780, 0, "L"], [93781, 0, "e"], [93782, 0, "m"], [93783, 0, "m"], [93784, 0, "a"], [93785, 0, "~"], [93786, 0, "\\"], [93787, 0, "r"], [93788, 0, "e"], [93789, 0, "f"], [93790, 0, "{"], [93791, 0, "l"], [93792, 0, "e"], [93793, 0, "m"], [93794, 0, ":"], [93795, 0, "d"], [93796, 0, "e"], [93797, 0, "l"], [93798, 0, "e"], [93799, 0, "t"], [93800, 0, "e"], [93801, 0, "-"], [93802, 0, "c"], [93803, 0, "o"], [93804, 0, "m"], [93805, 0, "m"], [93806, 0, "u"], [93807, 0, "t"], [93808, 0, "e"], [93809, 0, "}"], [93810, 0, " "], [93811, 0, "i"], [93812, 0, "t"], [93813, 0, " "], [93814, 0, "i"], [93815, 0, "s"], [93816, 0, " "], [93817, 0, "c"], [93818, 0, "o"], [93819, 0, "n"], [93820, 0, "c"], [93821, 0, "u"], [93822, 0, "r"], [93823, 0, "r"], [93824, 0, "e"], [93825, 0, "n"], [93826, 0, "t"], [93827, 0, " "], [93828, 0, "w"], [93829, 0, "i"], [93830, 0, "t"], [93831, 0, "h"], [93832, 0, " "], [93833, 0, "a"], [93834, 0, "l"], [93835, 0, "l"], [93836, 0, " "], [93837, 0, "o"], [93838, 0, "p"], [93839, 0, "e"], [93839, 1], [93838, 1], [93837, 1], [93836, 1], [93835, 1], [93834, 1], [93833, 1], [93832, 1], [93831, 1], [93830, 1], [93829, 1], [93828, 1], [93827, 1], [93826, 1], [93825, 1], [93824, 1], [93823, 1], [93822, 1], [93821, 1], [93820, 1], [93819, 1], [93819, 0, "m"], [93820, 0, "m"], [93821, 0, "u"], [93822, 0, "t"], [93823, 0, "a"], [93824, 0, "t"], [93825, 0, "i"], [93826, 0, "v"], [93827, 0, "e"], [93828, 0, " "], [93829, 0, "w"], [93830, 0, "i"], [93831, 0, "t"], [93832, 0, "h"], [93833, 0, " "], [93834, 0, "a"], [93835, 0, "l"], [93836, 0, "l"], [93837, 0, " "], [93838, 0, "o"], [93839, 0, "p"], [93840, 0, "e"], [93841, 0, "r"], [93842, 0, "a"], [93843, 0, "t"], [93844, 0, "i"], [93845, 0, "o"], [93846, 0, "n"], [93847, 0, "s"], [93848, 0, " "], [93849, 0, "i"], [93850, 0, "n"], [93851, 0, " "], [93852, 0, "t"], [93853, 0, "h"], [93854, 0, "e"], [93855, 0, " "], [93856, 0, "s"], [93857, 0, "u"], [93858, 0, "f"], [93859, 0, "f"], [93860, 0, "i"], [93861, 0, "x"], [93862, 0, ","], [93863, 0, " "], [93864, 0, "a"], [93865, 0, "n"], [93866, 0, "d"], [93867, 0, " "], [93868, 0, "s"], [93869, 0, "o"], [93870, 0, " "], [93871, 0, "$"], [93872, 0, "#"], [93872, 1], [93872, 0, "o"], [93873, 0, "_"], [93874, 0, "{"], [93875, 0, "n"], [93876, 0, "+"], [93877, 0, "1"], [93878, 0, "}"], [93879, 0, "$"], [93880, 0, " "], [93881, 0, "c"], [93882, 0, "a"], [93883, 0, "n"], [93884, 0, " "], [93885, 0, "b"], [93886, 0, "e"], [93887, 0, " "], [93888, 0, "i"], [93889, 0, "n"], [93890, 0, "s"], [93891, 0, "e"], [93892, 0, "r"], [93893, 0, "t"], [93894, 0, "e"], [93895, 0, "d"], [93896, 0, " "], [93897, 0, "a"], [93898, 0, "t"], [93899, 0, " "], [93900, 0, "a"], [93901, 0, "n"], [93902, 0, "y"], [93903, 0, " "], [93904, 0, "p"], [93905, 0, "o"], [93906, 0, "i"], [93907, 0, "n"], [93908, 0, "t"], [93909, 0, " "], [93910, 0, "w"], [93911, 0, "i"], [93912, 0, "t"], [93913, 0, "h"], [93914, 0, "i"], [93915, 0, "n"], [93916, 0, ","], [93917, 0, " "], [93918, 0, "b"], [93919, 0, "e"], [93920, 0, "f"], [93921, 0, "o"], [93922, 0, "r"], [93923, 0, "e"], [93924, 0, ","], [93925, 0, " "], [93926, 0, "o"], [93927, 0, "r"], [93928, 0, " "], [93929, 0, "a"], [93930, 0, "f"], [93931, 0, "t"], [93932, 0, "e"], [93933, 0, "r"], [93934, 0, " "], [93935, 0, "t"], [93936, 0, "h"], [93937, 0, "e"], [93938, 0, " "], [93939, 0, "s"], [93940, 0, "u"], [93941, 0, "f"], [93942, 0, "f"], [93943, 0, "i"], [93944, 0, "x"], [93945, 0, " "], [93946, 0, "w"], [93947, 0, "i"], [93948, 0, "t"], [93949, 0, "h"], [93950, 0, "o"], [93951, 0, "u"], [93952, 0, "t"], [93953, 0, " "], [93954, 0, "c"], [93955, 0, "h"], [93956, 0, "a"], [93957, 0, "n"], [93958, 0, "g"], [93959, 0, "i"], [93960, 0, "n"], [93961, 0, "g"], [93962, 0, " "], [93963, 0, "i"], [93964, 0, "t"], [93965, 0, "s"], [93966, 0, "e"], [93966, 1], [93966, 0, " "], [93967, 0, "e"], [93968, 0, "f"], [93969, 0, "f"], [93970, 0, "e"], [93971, 0, "c"], [93972, 0, "t"], [93973, 0, " "], [93974, 0, "o"], [93975, 0, "n"], [93976, 0, " "], [93977, 0, "t"], [93978, 0, "h"], [93979, 0, "e"], [93980, 0, " "], [93981, 0, "f"], [93982, 0, "i"], [93983, 0, "n"], [93984, 0, "a"], [93985, 0, "l"], [93986, 0, " "], [93987, 0, "d"], [93988, 0, "o"], [93989, 0, "c"], [93990, 0, "u"], [93991, 0, "m"], [93992, 0, "e"], [93993, 0, "n"], [93994, 0, "t"], [93995, 0, " "], [93996, 0, "s"], [93997, 0, "t"], [93998, 0, "a"], [93999, 0, "t"], [94000, 0, "e"], [94001, 0, "."], [94002, 0, " "], [94003, 0, "S"], [94004, 0, "i"], [94005, 0, "m"], [94006, 0, "i"], [94007, 0, "l"], [94008, 0, "a"], [94009, 0, "r"], [94010, 0, "l"], [94011, 0, "y"], [94012, 0, ","], [94013, 0, " "], [94014, 0, "i"], [94015, 0, "f"], [94016, 0, " "], [94017, 0, "$"], [94018, 0, "o"], [94019, 0, "_"], [94020, 0, "{"], [94021, 0, "n"], [94022, 0, "+"], [94023, 0, "1"], [94024, 0, "}"], [94025, 0, "$"], [94026, 0, " "], [94027, 0, "i"], [94028, 0, "s"], [94029, 0, " "], [94030, 0, "a"], [94031, 0, "n"], [94032, 0, " "], [94033, 0, "a"], [94034, 0, "s"], [94035, 0, "s"], [94036, 0, "i"], [94037, 0, "g"], [94038, 0, "n"], [94039, 0, "m"], [94040, 0, "e"], [94041, 0, "n"], [94042, 0, "t"], [94043, 0, ","], [94044, 0, " "], [94045, 0, "b"], [94046, 0, "y"], [94047, 0, " "], [94048, 0, "L"], [94049, 0, "e"], [94050, 0, "m"], [94051, 0, "m"], [94052, 0, "a"], [94053, 0, "~"], [94054, 0, "\\"], [94055, 0, "r"], [94056, 0, "e"], [94057, 0, "f"], [94058, 0, "{"], [94059, 0, "l"], [94060, 0, "e"], [94061, 0, "m"], [94062, 0, ":"], [94063, 0, "a"], [94064, 0, "s"], [94065, 0, "s"], [94066, 0, "i"], [94067, 0, "g"], [94068, 0, "n"], [94069, 0, "-"], [94070, 0, "c"], [94071, 0, "o"], [94072, 0, "m"], [94073, 0, "m"], [94074, 0, "u"], [94075, 0, "t"], [94076, 0, "e"], [94077, 0, "}"], [94078, 0, " "], [94079, 0, "i"], [94080, 0, "t"], [94081, 0, " "], [94082, 0, "i"], [94083, 0, "s"], [94084, 0, " "], [94085, 0, "c"], [94086, 0, "o"], [94087, 0, "m"], [94088, 0, "m"], [94089, 0, "u"], [94090, 0, "t"], [94091, 0, "a"], [94092, 0, "t"], [94093, 0, "i"], [94094, 0, "v"], [94095, 0, "e"], [94096, 0, " "], [94097, 0, "w"], [94098, 0, "i"], [94099, 0, "t"], [94100, 0, "h"], [94101, 0, " "], [94102, 0, "a"], [94103, 0, "l"], [94104, 0, "l"], [94105, 0, " "], [94106, 0, "o"], [94107, 0, "p"], [94108, 0, "e"], [94109, 0, "r"], [94110, 0, "a"], [94111, 0, "t"], [94112, 0, "i"], [94113, 0, "o"], [94114, 0, "n"], [94115, 0, "s"], [94116, 0, " "], [94117, 0, "i"], [94118, 0, "n"], [94119, 0, " "], [94120, 0, "t"], [94121, 0, "h"], [94122, 0, "e"], [94123, 0, " "], [94124, 0, "s"], [94125, 0, "u"], [94126, 0, "f"], [94127, 0, "f"], [94128, 0, "i"], [94129, 0, "x"], [94130, 0, "."], [94131, 0, "\n"], [94132, 0, "\n"], [94133, 0, "I"], [94134, 0, "f"], [94135, 0, " "], [94136, 0, "$"], [94137, 0, "o"], [94138, 0, "_"], [94139, 0, "["], [94139, 1], [94139, 0, "{"], [94140, 0, "n"], [94141, 0, "+"], [94142, 0, "1"], [94143, 0, "}"], [94144, 0, "$"], [94145, 0, " "], [94146, 0, "i"], [94147, 0, "s"], [94148, 0, " "], [94149, 0, "a"], [94150, 0, "n"], [94151, 0, " "], [94152, 0, "i"], [94153, 0, "n"], [94154, 0, "s"], [94155, 0, "e"], [94156, 0, "r"], [94157, 0, "t"], [94158, 0, "i"], [94159, 0, "o"], [94160, 0, "n"], [94161, 0, ","], [94162, 0, " "], [94163, 0, "l"], [94164, 0, "e"], [94165, 0, "t"], [94166, 0, " "], [94167, 0, "$"], [94168, 0, "o"], [94169, 0, "_"], [94170, 0, "c"], [94171, 0, "$"], [94172, 0, " "], [94173, 0, "b"], [94174, 0, "e"], [94175, 0, " "], [94176, 0, "a"], [94177, 0, "n"], [94178, 0, "y"], [94179, 0, " "], [94180, 0, "o"], [94181, 0, "p"], [94182, 0, "e"], [94183, 0, "r"], [94184, 0, "a"], [94185, 0, "t"], [94186, 0, "i"], [94187, 0, "o"], [94188, 0, "n"], [94189, 0, " "], [94190, 0, "i"], [94191, 0, "n"], [94192, 0, " "], [94193, 0, "t"], [94194, 0, "h"], [94195, 0, "e"], [94196, 0, " "], [94197, 0, "s"], [94198, 0, "u"], [94199, 0, "f"], [94200, 0, "f"], [94201, 0, "i"], [94202, 0, "x"], [94203, 0, ","], [94204, 0, " "], [94205, 0, "a"], [94206, 0, "n"], [94207, 0, "d"], [94208, 0, " "], [94209, 0, "c"], [94210, 0, "o"], [94211, 0, "n"], [94212, 0, "s"], [94213, 0, "i"], [94214, 0, "d"], [94215, 0, "e"], [94216, 0, "r"], [94217, 0, " "], [94218, 0, "t"], [94219, 0, "h"], [94220, 0, "e"], [94221, 0, " "], [94222, 0, "c"], [94223, 0, "a"], [94224, 0, "s"], [94225, 0, "e"], [94226, 0, "s"], [94227, 0, " "], [94228, 0, "w"], [94229, 0, "h"], [94230, 0, "e"], [94231, 0, "t"], [94232, 0, "h"], [94232, 1], [94231, 1], [94230, 1], [94229, 1], [94228, 1], [94228, 0, "o"], [94229, 0, "f"], [94230, 0, " "], [94231, 0, "$"], [94232, 0, "o"], [94233, 0, "_"], [94234, 0, "{"], [94235, 0, "n"], [94236, 0, "+"], [94237, 0, "1"], [94238, 0, "}"], [94239, 0, "$"], [94240, 0, " "], [94241, 0, "b"], [94242, 0, "e"], [94243, 0, "i"], [94244, 0, "n"], [94245, 0, "g"], [94246, 0, " "], [94247, 0, "i"], [94248, 0, "n"], [94249, 0, "s"], [94250, 0, "e"], [94251, 0, "r"], [94252, 0, "t"], [94253, 0, "e"], [94254, 0, "d"], [94255, 0, " "], [94256, 0, "b"], [94257, 0, "e"], [94258, 0, "f"], [94259, 0, "o"], [94260, 0, "r"], [94261, 0, "e"], [94262, 0, " "], [94263, 0, "a"], [94264, 0, "n"], [94265, 0, "d"], [94266, 0, " "], [94267, 0, "a"], [94268, 0, "f"], [94269, 0, "t"], [94270, 0, "e"], [94271, 0, "r"], [94272, 0, " "], [94273, 0, "$"], [94274, 0, "o"], [94275, 0, "_"], [94276, 0, "c"], [94277, 0, "$"], [94278, 0, " "], [94279, 0, "i"], [94280, 0, "n"], [94281, 0, " "], [94282, 0, "t"], [94283, 0, "h"], [94284, 0, "e"], [94285, 0, " "], [94286, 0, "h"], [94287, 0, "i"], [94288, 0, "s"], [94289, 0, "t"], [94290, 0, "o"], [94291, 0, "r"], [94292, 0, "y"], [94293, 0, "."], [94294, 0, " "], [94295, 0, "I"], [94296, 0, "f"], [94297, 0, " "], [94298, 0, "$"], [94299, 0, "o"], [94300, 0, "_"], [94301, 0, "c"], [94302, 0, "$"], [94303, 0, " "], [94304, 0, "i"], [94305, 0, "s"], [94306, 0, " "], [94307, 0, "a"], [94308, 0, " "], [94309, 0, "d"], [94310, 0, "e"], [94311, 0, "l"], [94312, 0, "e"], [94313, 0, "t"], [94314, 0, "i"], [94315, 0, "o"], [94316, 0, "n"], [94317, 0, " "], [94318, 0, "o"], [94319, 0, "r"], [94320, 0, " "], [94321, 0, "a"], [94322, 0, "s"], [94323, 0, "s"], [94324, 0, "i"], [94325, 0, "g"], [94326, 0, "n"], [94327, 0, "m"], [94328, 0, "e"], [94329, 0, "n"], [94330, 0, "t"], [94331, 0, ","], [94332, 0, " "], [94333, 0, "i"], [94334, 0, "t"], [94335, 0, " "], [94336, 0, "i"], [94337, 0, "s"], [94338, 0, " "], [94339, 0, "c"], [94340, 0, "o"], [94341, 0, "m"], [94342, 0, "m"], [94343, 0, "u"], [94344, 0, "t"], [94345, 0, "a"], [94346, 0, "t"], [94347, 0, "i"], [94348, 0, "v"], [94349, 0, "e"], [94350, 0, " "], [94351, 0, "w"], [94352, 0, "i"], [94353, 0, "t"], [94354, 0, "h"], [94355, 0, " "], [94356, 0, "$"], [94357, 0, "o"], [94358, 0, "_"], [94359, 0, "{"], [94360, 0, "n"], [94361, 0, "+"], [94362, 0, "1"], [94363, 0, "}"], [94364, 0, "$"], [94365, 0, " "], [94366, 0, "b"], [94367, 0, "y"], [94368, 0, " "], [94369, 0, "L"], [94370, 0, "e"], [94371, 0, "m"], [94372, 0, "m"], [94373, 0, "a"], [94374, 0, "~"], [94375, 0, "\\"], [94376, 0, "r"], [94377, 0, "e"], [94378, 0, "f"], [94379, 0, "{"], [94380, 0, "l"], [94381, 0, "e"], [94382, 0, "m"], [94383, 0, ":"], [94384, 0, "a"], [94385, 0, "s"], [94386, 0, "s"], [94386, 1], [94385, 1], [94384, 1], [94384, 0, "d"], [94385, 0, "e"], [94386, 0, "l"], [94387, 0, "e"], [94388, 0, "t"], [94389, 0, "e"], [94390, 0, "-"], [94391, 0, "c"], [94392, 0, "o"], [94393, 0, "m"], [94394, 0, "m"], [94395, 0, "u"], [94396, 0, "t"], [94397, 0, "e"], [94398, 0, "}"], [94399, 0, " "], [94400, 0, "o"], [94401, 0, "r"], [94402, 0, " "], [94403, 0, "L"], [94404, 0, "e"], [94405, 0, "m"], [94406, 0, "m"], [94407, 0, "a"], [94408, 0, "~"], [94409, 0, "\\"], [94410, 0, "r"], [94411, 0, "e"], [94412, 0, "f"], [94413, 0, "{"], [94414, 0, "l"], [94415, 0, "e"], [94416, 0, "m"], [94417, 0, ":"], [94418, 0, "a"], [94419, 0, "s"], [94420, 0, "s"], [94421, 0, "i"], [94422, 0, "g"], [94423, 0, "n"], [94424, 0, "-"], [94425, 0, "c"], [94426, 0, "o"], [94427, 0, "m"], [94428, 0, "m"], [94429, 0, "u"], [94430, 0, "t"], [94431, 0, "e"], [94432, 0, "}"], [94433, 0, " "], [94434, 0, "r"], [94435, 0, "e"], [94436, 0, "s"], [94437, 0, "p"], [94438, 0, "e"], [94439, 0, "c"], [94440, 0, "t"], [94441, 0, "i"], [94442, 0, "v"], [94443, 0, "e"], [94444, 0, "l"], [94445, 0, "y"], [94446, 0, "."], [94447, 0, " "], [94448, 0, "I"], [94449, 0, "f"], [94450, 0, " "], [94451, 0, "$"], [94452, 0, "o"], [94453, 0, "_"], [94454, 0, "c"], [94455, 0, "$"], [94456, 0, " "], [94457, 0, "i"], [94458, 0, "s"], [94459, 0, " "], [94460, 0, "a"], [94461, 0, "n"], [94462, 0, " "], [94463, 0, "i"], [94464, 0, "n"], [94465, 0, "s"], [94466, 0, "e"], [94467, 0, "r"], [94468, 0, "t"], [94469, 0, "i"], [94470, 0, "o"], [94471, 0, "n"], [94472, 0, " "], [94473, 0, "i"], [94474, 0, "n"], [94475, 0, "t"], [94476, 0, "o"], [94477, 0, " "], [94478, 0, "a"], [94479, 0, " "], [94480, 0, "d"], [94481, 0, "i"], [94482, 0, "f"], [94483, 0, "f"], [94484, 0, "e"], [94485, 0, "r"], [94486, 0, "e"], [94487, 0, "n"], [94488, 0, "t"], [94489, 0, " "], [94490, 0, "l"], [94491, 0, "i"], [94492, 0, "s"], [94493, 0, "t"], [94494, 0, " "], [94495, 0, "i"], [94496, 0, "n"], [94497, 0, " "], [94498, 0, "t"], [94499, 0, "h"], [94500, 0, "e"], [94501, 0, " "], [94502, 0, "d"], [94503, 0, "o"], [94504, 0, "c"], [94505, 0, "u"], [94506, 0, "m"], [94507, 0, "e"], [94508, 0, "n"], [94509, 0, "t"], [94510, 0, ","], [94511, 0, " "], [94512, 0, "i"], [94513, 0, "t"], [94514, 0, "s"], [94515, 0, " "], [94516, 0, "e"], [94517, 0, "f"], [94518, 0, "f"], [94519, 0, "e"], [94520, 0, "c"], [94521, 0, "t"], [94522, 0, " "], [94523, 0, "i"], [94524, 0, "s"], [94525, 0, " "], [94526, 0, "i"], [94527, 0, "n"], [94528, 0, "d"], [94529, 0, "e"], [94530, 0, "p"], [94531, 0, "e"], [94532, 0, "n"], [94533, 0, "d"], [94534, 0, "e"], [94535, 0, "n"], [94536, 0, "t"], [94537, 0, " "], [94538, 0, "f"], [94539, 0, "r"], [94540, 0, "o"], [94541, 0, "m"], [94542, 0, " "], [94543, 0, "$"], [94544, 0, "o"], [94545, 0, "_"], [94546, 0, "{"], [94547, 0, "n"], [94548, 0, "+"], [94549, 0, "1"], [94550, 0, "}"], [94551, 0, "$"], [94552, 0, " "], [94553, 0, "a"], [94554, 0, "n"], [94555, 0, "d"], [94556, 0, " "], [94557, 0, "s"], [94558, 0, "o"], [94559, 0, " "], [94560, 0, "t"], [94561, 0, "h"], [94562, 0, "e"], [94563, 0, " "], [94564, 0, "t"], [94565, 0, "w"], [94566, 0, "o"], [94567, 0, " "], [94568, 0, "o"], [94569, 0, "p"], [94570, 0, "e"], [94571, 0, "r"], [94572, 0, "a"], [94573, 0, "t"], [94574, 0, "i"], [94575, 0, "o"], [94576, 0, "n"], [94577, 0, "s"], [94578, 0, " "], [94579, 0, "c"], [94580, 0, "a"], [94581, 0, "n"], [94582, 0, " "], [94583, 0, "b"], [94584, 0, "e"], [94585, 0, " "], [94586, 0, "a"], [94587, 0, "p"], [94588, 0, "p"], [94589, 0, "l"], [94590, 0, "i"], [94591, 0, "e"], [94592, 0, "d"], [94593, 0, " "], [94594, 0, "i"], [94595, 0, "n"], [94596, 0, " "], [94597, 0, "a"], [94598, 0, "n"], [94599, 0, "y"], [94600, 0, " "], [94601, 0, "o"], [94602, 0, "r"], [94603, 0, "d"], [94604, 0, "e"], [94605, 0, "r"], [94606, 0, "."], [94607, 0, " "], [94608, 0, "I"], [94609, 0, "f"], [94610, 0, " "], [94611, 0, "$"], [94612, 0, "o"], [94613, 0, "_"], [94614, 0, "c"], [94615, 0, "$"], [94616, 0, " "], [94617, 0, "i"], [94618, 0, "s"], [94619, 0, " "], [94620, 0, "a"], [94621, 0, "n"], [94622, 0, " "], [94623, 0, "i"], [94624, 0, "n"], [94625, 0, "s"], [94626, 0, "e"], [94627, 0, "r"], [94628, 0, "t"], [94629, 0, "i"], [94630, 0, "o"], [94631, 0, "n"], [94632, 0, " "], [94633, 0, "i"], [94634, 0, "n"], [94635, 0, "t"], [94636, 0, "o"], [94637, 0, " "], [94510, 0, " "], [94511, 0, "t"], [94512, 0, "h"], [94513, 0, "a"], [94513, 1], [94512, 1], [94511, 1], [94510, 1], [94510, 0, " "], [94510, 1], [94447, 0, " "], [94448, 0, "I"], [94449, 0, "f"], [94450, 0, " "], [94451, 0, "$"], [94452, 0, "o"], [94453, 0, "_"], [94454, 0, "c"], [94455, 0, "$"], [94456, 0, " "], [94457, 0, "i"], [94458, 0, "s"], [94459, 0, " "], [94460, 0, "a"], [94461, 0, "n"], [94462, 0, " "], [94463, 0, "i"], [94464, 0, "n"], [94465, 0, "s"], [94466, 0, "e"], [94467, 0, "r"], [94468, 0, "t"], [94469, 0, "i"], [94470, 0, "o"], [94471, 0, "n"], [94472, 0, " "], [94473, 0, "i"], [94474, 0, "n"], [94475, 0, "t"], [94476, 0, "o"], [94477, 0, " "], [94478, 0, "t"], [94479, 0, "h"], [94480, 0, "e"], [94481, 0, " "], [94482, 0, "s"], [94483, 0, "a"], [94484, 0, "m"], [94485, 0, "e"], [94486, 0, " "], [94487, 0, "l"], [94488, 0, "i"], [94489, 0, "s"], [94490, 0, "t"], [94491, 0, " "], [94492, 0, "a"], [94493, 0, "s"], [94494, 0, " "], [94495, 0, "$"], [94496, 0, "o"], [94497, 0, "_"], [94498, 0, "{"], [94499, 0, "n"], [94500, 0, "+"], [94501, 0, "2"], [94501, 1], [94501, 0, "1"], [94502, 0, "}"], [94503, 0, "$"], [94504, 0, ","], [94505, 0, " "], [94506, 0, "t"], [94507, 0, "h"], [94508, 0, "e"], [94509, 0, "n"], [94510, 0, " "], [94511, 0, "b"], [94512, 0, "y"], [94513, 0, " "], [94514, 0, "L"], [94515, 0, "e"], [94516, 0, "m"], [94517, 0, "m"], [94518, 0, "a"], [94519, 0, "~"], [94520, 0, "\\"], [94521, 0, "r"], [94522, 0, "e"], [94523, 0, "f"], [94524, 0, "{"], [94525, 0, "l"], [94526, 0, "e"], [94527, 0, "m"], [94528, 0, ":"], [94529, 0, "i"], [94530, 0, "n"], [94531, 0, "s"], [94532, 0, "e"], [94533, 0, "r"], [94534, 0, "t"], [94535, 0, "-"], [94536, 0, "r"], [94537, 0, "e"], [94538, 0, "o"], [94539, 0, "r"], [94540, 0, "d"], [94541, 0, "e"], [94542, 0, "r"], [94543, 0, "}"], [94544, 0, " "], [94545, 0, "t"], [94546, 0, "h"], [94547, 0, "e"], [94548, 0, " "], [94549, 0, "o"], [94550, 0, "p"], [94551, 0, "e"], [94552, 0, "r"], [94553, 0, "a"], [94554, 0, "t"], [94555, 0, "i"], [94556, 0, "o"], [94557, 0, "n"], [94558, 0, "s"], [94559, 0, " "], [94560, 0, "a"], [94561, 0, "r"], [94562, 0, "e"], [94563, 0, " "], [94564, 0, "c"], [94565, 0, "o"], [94566, 0, "m"], [94567, 0, "m"], [94568, 0, "u"], [94569, 0, "t"], [94570, 0, "a"], [94571, 0, "t"], [94572, 0, "i"], [94573, 0, "v"], [94574, 0, "e"], [94575, 0, "."], [94766, 1], [94765, 1], [94764, 1], [94763, 1], [94762, 1], [94761, 1], [94760, 1], [94759, 1], [94758, 1], [94757, 1], [94756, 1], [94755, 1], [94754, 1], [94753, 1], [94752, 1], [94751, 1], [94750, 1], [94749, 1], [94748, 1], [94747, 1], [94746, 1], [94745, 1], [94744, 1], [94743, 1], [94742, 1], [94741, 1], [94740, 1], [94739, 1], [94738, 1], [94737, 1], [94736, 1], [94882, 1], [94881, 1], [94880, 1], [94879, 1], [94878, 1], [94877, 1], [94876, 1], [94875, 1], [94874, 1], [94873, 1], [94872, 1], [94871, 1], [94870, 1], [94869, 1], [94868, 1], [94867, 1], [94866, 1], [94865, 1], [94864, 1], [94863, 1], [94862, 1], [94861, 1], [94860, 1], [94859, 1], [94858, 1], [94857, 1], [94856, 1], [94855, 1], [94854, 1], [94853, 1], [94852, 1], [94851, 1], [94850, 1], [94849, 1], [94848, 1], [94847, 1], [94846, 1], [94845, 1], [94844, 1], [94843, 1], [94842, 1], [94841, 1], [94840, 1], [94839, 1], [94838, 1], [94837, 1], [94836, 1], [94835, 1], [94834, 1], [94833, 1], [94832, 1], [94831, 1], [94830, 1], [94829, 1], [94828, 1], [94827, 1], [94826, 1], [94825, 1], [94824, 1], [94823, 1], [94822, 1], [94821, 1], [94820, 1], [94819, 1], [94818, 1], [94817, 1], [94816, 1], [94815, 1], [94814, 1], [94813, 1], [94812, 1], [94811, 1], [94810, 1], [94809, 1], [94808, 1], [94807, 1], [94806, 1], [94805, 1], [94804, 1], [94803, 1], [94802, 1], [94801, 1], [94800, 1], [94799, 1], [94798, 1], [94797, 1], [94796, 1], [94795, 1], [94794, 1], [94793, 1], [94792, 1], [94791, 1], [94790, 1], [94789, 1], [94788, 1], [94787, 1], [94786, 1], [94785, 1], [94784, 1], [94783, 1], [94782, 1], [94781, 1], [94780, 1], [94779, 1], [94778, 1], [94777, 1], [94776, 1], [94775, 1], [94774, 1], [94773, 1], [94772, 1], [94771, 1], [94770, 1], [94769, 1], [94768, 1], [94767, 1], [94766, 1], [94765, 1], [94764, 1], [94763, 1], [94762, 1], [94761, 1], [94760, 1], [94759, 1], [94758, 1], [94757, 1], [94756, 1], [94755, 1], [94754, 1], [94753, 1], [94752, 1], [94751, 1], [94750, 1], [94749, 1], [94748, 1], [94747, 1], [94746, 1], [94745, 1], [94744, 1], [94743, 1], [94742, 1], [94741, 1], [94740, 1], [94739, 1], [94738, 1], [94738, 0, "T"], [94739, 0, "h"], [94740, 0, "u"], [94741, 0, "s"], [94742, 0, ","], [94743, 0, " "], [94744, 0, "t"], [94745, 0, "h"], [94746, 0, "e"], [94747, 0, " "], [94747, 1], [94746, 1], [94745, 1], [94744, 1], [94743, 1], [94743, 0, " "], [94744, 0, "$"], [94745, 0, "o"], [94746, 0, "_"], [94747, 0, "{"], [94748, 0, "n"], [94749, 0, "+"], [94750, 0, "2"], [94751, 0, "1"], [94751, 1], [94750, 1], [94750, 0, "1"], [94751, 0, "}"], [94752, 0, "$"], [94753, 0, " "], [94754, 0, "i"], [94755, 0, "s"], [94756, 0, " "], [94757, 0, "c"], [94758, 0, "o"], [94759, 0, "m"], [94760, 0, "m"], [94761, 0, "u"], [94762, 0, "t"], [94763, 0, "a"], [94764, 0, "t"], [94765, 0, "i"], [94766, 0, "v"], [94767, 0, "e"], [94768, 0, " "], [94769, 0, "w"], [94770, 0, "i"], [94771, 0, "t"], [94772, 0, "h"], [94773, 0, " "], [94774, 0, "r"], [94775, 0, "e"], [94776, 0, "s"], [94777, 0, "p"], [94778, 0, "e"], [94779, 0, "c"], [94780, 0, "t"], [94781, 0, " "], [94782, 0, "t"], [94783, 0, "o"], [94784, 0, " "], [94785, 0, "a"], [94786, 0, "n"], [94787, 0, "y"], [94788, 0, " "], [94789, 0, "c"], [94790, 0, "o"], [94791, 0, "n"], [94792, 0, "c"], [94793, 0, "u"], [94794, 0, "r"], [94795, 0, "r"], [94796, 0, "e"], [94797, 0, "n"], [94798, 0, "t"], [94799, 0, " "], [94800, 0, "o"], [94801, 0, "p"], [94802, 0, "e"], [94803, 0, "r"], [94804, 0, "a"], [94805, 0, "t"], [94806, 0, "i"], [94807, 0, "o"], [94808, 0, "n"], [94809, 0, " "], [94810, 0, "i"], [94811, 0, "n"], [94812, 0, " "], [94813, 0, "$"], [94814, 0, "H"], [94815, 0, "$"], [94816, 0, ","], [94817, 0, " "], [94818, 0, "a"], [94819, 0, "n"], [94820, 0, "d"], [94821, 0, " "], [94822, 0, "t"], [94823, 0, "h"], [94824, 0, "e"], [94825, 0, "r"], [94826, 0, "e"], [94827, 0, "f"], [94828, 0, "o"], [94829, 0, "r"], [94830, 0, "e"], [94831, 0, " "], [94844, 0, "\n"], [94845, 0, "\n"], [94846, 0, "T"], [94847, 0, "h"], [94848, 0, "i"], [94849, 0, "s"], [94850, 0, " "], [94851, 0, "c"], [94852, 0, "o"], [94853, 0, "m"], [94854, 0, "p"], [94855, 0, "l"], [94856, 0, "e"], [94857, 0, "t"], [94858, 0, "e"], [94859, 0, "s"], [94860, 0, " "], [94861, 0, "t"], [94862, 0, "h"], [94863, 0, "e"], [94864, 0, " "], [94865, 0, "i"], [94866, 0, "n"], [94867, 0, "d"], [94868, 0, "u"], [94869, 0, "c"], [94870, 0, "t"], [94871, 0, "i"], [94872, 0, "o"], [94873, 0, "n"], [94874, 0, " "], [94875, 0, "s"], [94876, 0, "t"], [94877, 0, "e"], [94878, 0, "p"], [94879, 0, " "], [94880, 0, "i"], [94881, 0, "n"], [94882, 0, " "], [94883, 0, "t"], [94884, 0, "h"], [94885, 0, "e"], [94886, 0, " "], [94887, 0, "p"], [94888, 0, "r"], [94889, 0, "o"], [94890, 0, "o"], [94891, 0, "f"], [94892, 0, " "], [94893, 0, "o"], [94894, 0, "f"], [94895, 0, " "], [94896, 0, "T"], [94897, 0, "h"], [94898, 0, "e"], [94899, 0, "o"], [94900, 0, "r"], [94901, 0, "e"], [94902, 0, "m"], [94903, 0, "~"], [94904, 0, "\\"], [94905, 0, "r"], [94906, 0, "e"], [94907, 0, "f"], [94908, 0, "{"], [94909, 0, "t"], [94910, 0, "h"], [94911, 0, "m"], [94912, 0, ":"], [94913, 0, "c"], [94914, 0, "o"], [94915, 0, "n"], [94916, 0, "v"], [94917, 0, "e"], [94918, 0, "r"], [94919, 0, "g"], [94920, 0, "e"], [94921, 0, "n"], [94922, 0, "c"], [94923, 0, "e"], [94924, 0, "}"], [94925, 0, ","], [94926, 0, " "], [94927, 0, "a"], [94928, 0, "n"], [94929, 0, "d"], [94930, 0, " "], [94931, 0, "t"], [94932, 0, "h"], [94933, 0, "u"], [94934, 0, "s"], [94935, 0, " "], [94936, 0, "p"], [94937, 0, "r"], [94938, 0, "o"], [94939, 0, "v"], [94940, 0, "e"], [94941, 0, "s"], [94942, 0, " "], [94943, 0, "c"], [94944, 0, "o"], [94945, 0, "n"], [94946, 0, "v"], [94947, 0, "e"], [94948, 0, "r"], [94949, 0, "g"], [94950, 0, "e"], [94951, 0, "n"], [94952, 0, "c"], [94953, 0, "e"], [94954, 0, " "], [94955, 0, "o"], [94956, 0, "f"], [94957, 0, " "], [94958, 0, "o"], [94959, 0, "u"], [94960, 0, "r"], [94961, 0, " "], [94962, 0, "d"], [94963, 0, "a"], [94964, 0, "t"], [94965, 0, "a"], [94966, 0, "t"], [94967, 0, "y"], [94968, 0, "p"], [94969, 0, "e"], [94970, 0, "."], [94832, 0, "$"], [94821, 1], [94820, 1], [94819, 1], [94818, 1], [94817, 1], [94816, 1], [94816, 0, "."], [94817, 0, " "], [94818, 1], [94818, 0, "T"], [94827, 0, ","], [94830, 0, "o"], [94831, 0, "_"], [94832, 0, "{"], [94833, 0, "n"], [94834, 0, "+"], [94835, 0, "1"], [94836, 0, "}"], [94837, 0, "$"], [94838, 0, " "], [94839, 0, "c"], [94840, 0, "a"], [94841, 0, "n"], [94842, 0, " "], [94843, 0, "b"], [94844, 0, "e"], [94845, 0, " "], [94846, 0, "i"], [94847, 0, "n"], [94848, 0, "s"], [94849, 0, "e"], [94850, 0, "r"], [94851, 0, "t"], [94852, 0, "e"], [94853, 0, "d"], [94854, 0, " "], [94855, 0, "a"], [94856, 0, "t"], [94857, 0, " "], [94858, 0, "a"], [94859, 0, "n"], [94860, 0, "y"], [94861, 0, " "], [94862, 0, "p"], [94863, 0, "o"], [94864, 0, "i"], [94865, 0, "n"], [94866, 0, "t"], [94867, 0, " "], [94868, 0, "a"], [94869, 0, "f"], [94870, 0, "t"], [94871, 0, "e"], [94872, 0, "r"], [94873, 0, " "], [94874, 0, "p"], [94874, 1], [94874, 0, "i"], [94875, 0, "t"], [94876, 0, "s"], [94877, 0, " "], [94878, 0, "c"], [94879, 0, "a"], [94880, 0, "u"], [94881, 0, "s"], [94882, 0, "a"], [94883, 0, "l"], [94884, 0, " "], [94885, 0, "d"], [94886, 0, "e"], [94887, 0, "p"], [94888, 0, "e"], [94889, 0, "n"], [94890, 0, "d"], [94891, 0, "e"], [94892, 0, "n"], [94893, 0, "c"], [94894, 0, "i"], [94895, 0, "e"], [94896, 0, "s"], [94897, 0, ","], [94898, 0, " "], [94899, 0, "a"], [94900, 0, "n"], [94901, 0, "d"], [94902, 0, " "], [94903, 0, "t"], [94904, 0, "h"], [94905, 0, "e"], [94906, 0, " "], [94854, 0, " "], [94855, 0, "i"], [94856, 0, "n"], [94857, 0, "t"], [94858, 0, "o"], [94859, 0, " "], [94860, 0, "$"], [94861, 0, "H"], [94862, 0, "$"], [94916, 0, "e"], [94917, 0, "f"], [94918, 0, "f"], [94919, 0, "e"], [94920, 0, "c"], [94921, 0, "t"], [94922, 0, " "], [94923, 0, "o"], [94924, 0, "n"], [94925, 0, " "], [94926, 0, "t"], [94927, 0, "h"], [94928, 0, "e"], [94929, 0, " "], [94930, 0, "f"], [94931, 0, "i"], [94932, 0, "n"], [94933, 0, "a"], [94934, 0, "l"], [94935, 0, " "], [94936, 0, "d"], [94937, 0, "o"], [94938, 0, "c"], [94939, 0, "u"], [94940, 0, "m"], [94941, 0, "e"], [94942, 0, "n"], [94943, 0, "t"], [94944, 0, " "], [94945, 0, "s"], [94946, 0, "t"], [94947, 0, "a"], [94948, 0, "t"], [94949, 0, "e"], [94950, 0, " "], [94951, 0, "i"], [94952, 0, "s"], [94953, 0, " "], [94954, 0, "i"], [94955, 0, "n"], [94956, 0, "d"], [94957, 0, "e"], [94958, 0, "p"], [94959, 0, "e"], [94960, 0, "n"], [94961, 0, "d"], [94962, 0, "e"], [94963, 0, "n"], [94964, 0, "t"], [94965, 0, " "], [94966, 0, "o"], [94967, 0, "f"], [94968, 0, " "], [94969, 0, "t"], [94970, 0, "h"], [94971, 0, "e"], [94972, 0, " "], [94973, 0, "p"], [94974, 0, "o"], [94975, 0, "s"], [94976, 0, "i"], [94977, 0, "t"], [94978, 0, "i"], [94979, 0, "o"], [94980, 0, "n"], [94981, 0, " "], [94982, 0, "a"], [94983, 0, "t"], [94984, 0, " "], [94985, 0, "w"], [94986, 0, "h"], [94987, 0, "i"], [94988, 0, "c"], [94989, 0, "h"], [94990, 0, " "], [94991, 0, "t"], [94992, 0, "h"], [94993, 0, "e"], [94994, 0, " "], [94995, 0, "o"], [94996, 0, "p"], [94997, 0, "e"], [94998, 0, "r"], [94999, 0, "a"], [95000, 0, "t"], [95001, 0, "i"], [95002, 0, "o"], [95003, 0, "n"], [95004, 0, " "], [95005, 0, "i"], [95006, 0, "s"], [95007, 0, " "], [95008, 0, "i"], [95009, 0, "n"], [95010, 0, "s"], [95011, 0, "e"], [95012, 0, "r"], [95013, 0, "t"], [95014, 0, "e"], [95015, 0, "d"], [95016, 0, "."], [4630, 1], [4629, 1], [4628, 1], [4627, 1], [4626, 1], [4625, 1], [4624, 1], [4623, 1], [4622, 1], [4621, 1], [4620, 1], [4619, 1], [4618, 1], [4617, 1], [4616, 1], [4615, 1], [4614, 1], [4613, 1], [4612, 1], [4611, 1], [4610, 1], [4609, 1], [4608, 1], [4607, 1], [4606, 1], [4606, 0, "s"], [4607, 0, "u"], [4608, 0, "p"], [4609, 0, "p"], [4610, 0, "o"], [4611, 0, "r"], [4612, 0, "t"], [4613, 0, "s"], [4614, 0, " "], [5088, 1], [5087, 1], [5086, 1], [5085, 1], [5084, 1], [5083, 1], [5082, 1], [5081, 1], [5080, 1], [5079, 1], [5078, 1], [5077, 1], [5076, 1], [5075, 1], [5074, 1], [5073, 1], [5072, 1], [5071, 1], [5070, 1], [5069, 1], [5068, 1], [5067, 1], [5066, 1], [5065, 1], [5064, 1], [5063, 1], [5062, 1], [5061, 1], [5060, 1], [5059, 1], [5058, 1], [5057, 1], [5056, 1], [5055, 1], [5054, 1], [5053, 1], [5052, 1], [5051, 1], [5050, 1], [5049, 1], [5048, 1], [5047, 1], [5046, 1], [5045, 1], [5044, 1], [5043, 1], [5042, 1], [5041, 1], [5040, 1], [5039, 1], [5038, 1], [5037, 1], [5036, 1], [5035, 1], [5034, 1], [5033, 1], [5032, 1], [5031, 1], [5030, 1], [5029, 1], [5028, 1], [5027, 1], [5026, 1], [5025, 1], [5024, 1], [5023, 1], [5022, 1], [5021, 1], [5020, 1], [5019, 1], [5018, 1], [5017, 1], [5016, 1], [5015, 1], [5014, 1], [5013, 1], [5012, 1], [5011, 1], [5010, 1], [5009, 1], [5008, 1], [5007, 1], [5006, 1], [5005, 1], [5004, 1], [5003, 1], [5002, 1], [5001, 1], [5000, 1], [4999, 1], [4998, 1], [4997, 1], [4996, 1], [4995, 1], [4994, 1], [4993, 1], [4992, 1], [4991, 1], [4990, 1], [4989, 1], [4988, 1], [4987, 1], [4986, 1], [4985, 1], [4984, 1], [4983, 1], [4982, 1], [4981, 1], [4980, 1], [4979, 1], [4978, 1], [4977, 1], [4976, 1], [4975, 1], [4974, 1], [4973, 1], [4972, 1], [4971, 1], [4970, 1], [4969, 1], [4968, 1], [4967, 1], [4966, 1], [4965, 1], [4964, 1], [4963, 1], [4962, 1], [4961, 1], [4960, 1], [4959, 1], [4958, 1], [4957, 1], [4956, 1], [4955, 1], [4954, 1], [4953, 1], [4952, 1], [4951, 1], [4950, 1], [4949, 1], [4948, 1], [4947, 1], [4946, 1], [4945, 1], [4944, 1], [4943, 1], [4942, 1], [4941, 1], [4940, 1], [4939, 1], [4938, 1], [4937, 1], [4936, 1], [4935, 1], [4934, 1], [4933, 1], [4932, 1], [4931, 1], [4930, 1], [4929, 1], [4928, 1], [4927, 1], [4926, 1], [4925, 1], [4924, 1], [4923, 1], [4922, 1], [4921, 1], [4920, 1], [4919, 1], [4918, 1], [4917, 1], [4916, 1], [4915, 1], [4914, 1], [4913, 1], [4912, 1], [4911, 1], [4910, 1], [4909, 1], [4908, 1], [4907, 1], [4906, 1], [4905, 1], [4904, 1], [4903, 1], [4902, 1], [4901, 1], [4900, 1], [4899, 1], [4898, 1], [4897, 1], [4896, 1], [4895, 1], [4894, 1], [4893, 1], [4892, 1], [4891, 1], [4890, 1], [4889, 1], [4888, 1], [4887, 1], [4886, 1], [4885, 1], [4884, 1], [4883, 1], [4882, 1], [4881, 1], [4880, 1], [4879, 1], [4878, 1], [4877, 1], [4876, 1], [4875, 1], [4874, 1], [4873, 1], [4872, 1], [4871, 1], [4870, 1], [4869, 1], [4868, 1], [4867, 1], [4866, 1], [4865, 1], [4864, 1], [4863, 1], [4862, 1], [4861, 1], [4860, 1], [4859, 1], [4858, 1], [4857, 1], [4856, 1], [4855, 1], [4854, 1], [4853, 1], [4852, 1], [4851, 1], [4850, 1], [4849, 1], [4848, 1], [4847, 1], [4846, 1], [4845, 1], [4844, 1], [4843, 1], [4842, 1], [4841, 1], [4840, 1], [4839, 1], [4838, 1], [4837, 1], [4836, 1], [4835, 1], [4834, 1], [4833, 1], [4668, 0, "i"], [4669, 0, " "], [4669, 1], [4668, 1], [4668, 0, " "], [4669, 0, "A"], [4670, 0, "s"], [4671, 0, " "], [4672, 0, "w"], [4673, 0, "e"], [4674, 0, " "], [4675, 0, "s"], [4676, 0, "h"], [4677, 0, "a"], [4678, 0, "l"], [4679, 0, "l"], [4680, 0, " "], [4681, 0, "s"], [4682, 0, "e"], [4683, 0, "e"], [4684, 0, " "], [4685, 0, "l"], [4686, 0, "a"], [4687, 0, "t"], [4688, 0, "e"], [4689, 0, "r"], [4690, 0, ","], [4691, 0, " "], [4692, 0, "i"], [4693, 0, "n"], [4694, 0, " "], [4695, 0, "s"], [4696, 0, "o"], [4697, 0, "m"], [4698, 0, "e"], [4699, 0, " "], [4700, 0, "c"], [4701, 0, "a"], [4702, 0, "s"], [4703, 0, "e"], [4704, 0, "s"], [4705, 0, " "], [4706, 0, "w"], [4707, 0, "e"], [4708, 0, " "], [4709, 0, "n"], [4710, 0, "e"], [4711, 0, "e"], [4712, 0, "d"], [4713, 0, " "], [4714, 0, "t"], [4715, 0, "o"], [4716, 0, " "], [4717, 0, "s"], [4718, 0, "u"], [4719, 0, "p"], [4720, 0, "p"], [4721, 0, "o"], [4722, 0, "r"], [4723, 0, "t"], [4723, 1], [4722, 1], [4721, 1], [4720, 1], [4719, 1], [4718, 1], [4717, 1], [4716, 1], [4715, 1], [4714, 1], [4713, 1], [4712, 1], [4711, 1], [4710, 1], [4709, 1], [4708, 1], [4707, 1], [4706, 1], [4706, 0, "s"], [4707, 0, "u"], [4708, 0, "p"], [4709, 0, "p"], [4710, 0, "o"], [4711, 0, "r"], [4712, 0, "t"], [4713, 0, " "], [4714, 0, "a"], [4714, 1], [4713, 1], [4712, 1], [4711, 1], [4710, 1], [4709, 1], [4708, 1], [4707, 1], [4706, 1], [4705, 1], [4704, 1], [4703, 1], [4702, 1], [4701, 1], [4700, 1], [4699, 1], [4698, 1], [4697, 1], [4696, 1], [4695, 1], [4694, 1], [4693, 1], [4692, 1], [4692, 0, "o"], [4693, 0, "u"], [4694, 0, "r"], [4695, 0, " "], [4696, 0, "a"], [4697, 0, "p"], [4698, 0, "p"], [4699, 0, "r"], [4700, 0, "o"], [4701, 0, "a"], [4702, 0, "c"], [4703, 0, "h"], [4704, 0, " "], [4705, 0, "r"], [4706, 0, "e"], [4707, 0, "q"], [4708, 0, "u"], [4709, 0, "i"], [4710, 0, "r"], [4711, 0, "e"], [4712, 0, "s"], [4713, 0, " "], [4714, 0, "t"], [4715, 0, "h"], [4716, 0, "e"], [4717, 0, " "], [4718, 0, "u"], [4719, 0, "s"], [4720, 0, "e"], [4721, 0, " "], [4722, 0, "o"], [4723, 0, "f"], [4724, 0, " "], [4725, 0, "a"], [4726, 0, " "], [4727, 0, "m"], [4728, 0, "u"], [4729, 0, "l"], [4730, 0, "t"], [4731, 0, "i"], [4732, 0, "-"], [4733, 0, "v"], [4734, 0, "a"], [4734, 1], [4734, 0, "a"], [4735, 0, "l"], [4736, 0, "u"], [4737, 0, "e"], [4738, 0, " "], [4739, 0, "r"], [4740, 0, "e"], [4741, 0, "g"], [4742, 0, "i"], [4743, 0, "t"], [4744, 0, "e"], [4744, 1], [4743, 1], [4743, 0, "s"], [4744, 0, "t"], [4745, 0, "e"], [4746, 0, "r"], [4746, 1], [4745, 1], [4744, 1], [4743, 1], [4742, 1], [4741, 1], [4740, 1], [4739, 1], [4738, 1], [4737, 1], [4736, 1], [4735, 1], [4734, 1], [4733, 1], [4732, 1], [4731, 1], [4730, 1], [4729, 1], [4728, 1], [4727, 1], [4726, 1], [4725, 1], [4724, 1], [4723, 1], [4722, 1], [4721, 1], [4720, 1], [4719, 1], [4718, 1], [4717, 1], [4716, 1], [4715, 1], [4714, 1], [4713, 1], [4712, 1], [4711, 1], [4710, 1], [4709, 1], [4708, 1], [4707, 1], [4706, 1], [4705, 1], [4705, 0, "m"], [4706, 0, "a"], [4707, 0, "y"], [4708, 0, " "], [4709, 0, "r"], [4710, 0, "e"], [4711, 0, "q"], [4712, 0, "u"], [4713, 0, "i"], [4714, 0, "r"], [4715, 0, "e"], [4716, 0, " "], [4717, 0, "a"], [4718, 0, " "], [4719, 0, "m"], [4720, 0, "u"], [4721, 0, "l"], [4722, 0, "t"], [4723, 0, "i"], [4724, 0, "-"], [4725, 0, "v"], [4726, 0, "a"], [4727, 0, "l"], [4728, 0, "e"], [4728, 1], [4727, 1], [4727, 0, "l"], [4728, 0, "u"], [4729, 0, "e"], [4730, 0, " "], [4731, 0, "r"], [4732, 0, "e"], [4733, 0, "s"], [4734, 0, "g"], [4734, 1], [4733, 1], [4733, 0, "g"], [4734, 0, "i"], [4735, 0, "s"], [4736, 0, "t"], [4737, 0, "e"], [4738, 0, "r"], [4739, 0, " "], [4740, 0, "t"], [4741, 0, "o"], [4742, 0, " "], [4743, 0, "r"], [4744, 0, "e"], [4745, 0, "c"], [4746, 0, "o"], [4747, 0, "r"], [4748, 0, "d"], [4749, 0, " "], [4750, 0, "p"], [4751, 0, "o"], [4752, 0, "t"], [4753, 0, "e"], [4754, 0, "n"], [4755, 0, "t"], [4756, 0, "i"], [4757, 0, "a"], [4758, 0, "l"], [4759, 0, " "], [4760, 0, "c"], [4761, 0, "o"], [4762, 0, "n"], [4763, 0, "f"], [4764, 0, "l"], [4765, 0, "i"], [4766, 0, "c"], [4767, 0, "t"], [4768, 0, "s"], [4704, 0, " "], [4705, 0, "t"], [4706, 0, "y"], [4707, 0, "p"], [4708, 0, "i"], [4709, 0, "c"], [4710, 0, "a"], [4711, 0, "l"], [4712, 0, "l"], [4713, 0, "y"], [4714, 0, " "], [4715, 0, "s"], [4715, 1], [4715, 0, "s"], [4716, 0, "u"], [4717, 0, "p"], [4718, 0, "p"], [4719, 0, "o"], [4720, 0, "r"], [4721, 0, "t"], [4722, 0, "s"], [4723, 0, " "], [4724, 0, "t"], [4725, 0, "h"], [4726, 0, "e"], [4727, 0, " "], [4728, 0, "m"], [4729, 0, "e"], [4730, 0, "r"], [4731, 0, "g"], [4732, 0, "i"], [4733, 0, "n"], [4733, 1], [4732, 1], [4731, 1], [4730, 1], [4729, 1], [4728, 1], [4728, 0, "a"], [4729, 0, "u"], [4730, 0, "t"], [4731, 0, "o"], [4732, 0, "m"], [4733, 0, "a"], [4734, 0, "t"], [4735, 0, "i"], [4736, 0, "c"], [4737, 0, " "], [4738, 0, "m"], [4739, 0, "e"], [4740, 0, "r"], [4741, 0, "g"], [4742, 0, "i"], [4743, 0, "n"], [4744, 0, "g"], [4745, 0, " "], [4746, 0, "o"], [4747, 0, "f"], [4748, 0, " "], [4749, 0, "m"], [4750, 0, "o"], [4751, 0, "d"], [4752, 0, "i"], [4753, 0, "f"], [4754, 0, "i"], [4755, 0, "c"], [4756, 0, "a"], [4757, 0, "t"], [4758, 0, "i"], [4759, 0, "o"], [4760, 0, "n"], [4761, 0, "s"], [4762, 0, " "], [4763, 0, "i"], [4764, 0, "n"], [4765, 0, "t"], [4766, 0, "o"], [4767, 0, " "], [4768, 0, "a"], [4769, 0, " "], [4770, 0, "J"], [4771, 0, "S"], [4772, 0, "O"], [4773, 0, "N"], [4774, 0, " "], [4775, 0, "d"], [4776, 0, "a"], [4777, 0, "t"], [4778, 0, "a"], [4779, 0, " "], [4780, 0, "s"], [4781, 0, "t"], [4782, 0, "r"], [4783, 0, "u"], [4784, 0, "c"], [4785, 0, "t"], [4786, 0, "u"], [4787, 0, "r"], [4788, 0, "e"], [4789, 0, "."], [4790, 0, " "], [4791, 0, "O"], [4792, 0, "u"], [4793, 0, "r"], [4794, 0, "a"], [4795, 0, " "], [4795, 1], [4794, 1], [4794, 0, " "], [4795, 0, "a"], [4796, 0, "p"], [4797, 0, "p"], [4798, 0, "r"], [4799, 0, "o"], [4800, 0, "a"], [4801, 0, "c"], [4802, 0, "h"], [4806, 1], [4805, 1], [4804, 1], [4813, 1], [4812, 1], [4811, 1], [4810, 1], [4809, 1], [4808, 1], [4807, 1], [4806, 1], [4805, 1], [4804, 1], [4804, 0, "i"], [4805, 0, "n"], [4806, 0, "t"], [4807, 0, "r"], [4808, 0, "o"], [4809, 0, "d"], [4810, 0, "u"], [4811, 0, "c"], [4812, 0, "e"], [4813, 0, "s"], [4814, 0, " "], [4815, 0, "a"], [4856, 1], [4855, 1], [4854, 1], [4853, 1], [4852, 1], [4851, 1], [4850, 1], [4849, 1], [4848, 1], [4847, 1], [4856, 1], [4856, 0, "i"], [4857, 0, "n"], [4858, 0, "g"], [4859, 0, " "], [4860, 0, "u"], [4861, 0, "d"], [4862, 0, "p"], [4862, 1], [4861, 1], [4861, 0, "p"], [4862, 0, "d"], [4863, 0, "a"], [4864, 0, "t"], [4865, 0, "e"], [4866, 0, "s"], [4867, 0, " "], [4813, 1], [4812, 1], [4811, 1], [4810, 1], [4809, 1], [4808, 1], [4807, 1], [4806, 1], [4805, 1], [4804, 1], [4804, 0, "u"], [4805, 0, "s"], [4806, 0, "e"], [4807, 0, "s"], [4861, 0, " "], [4862, 0, "t"], [4863, 0, "o"], [4864, 0, " "], [4865, 0, "l"], [4866, 0, "e"], [4867, 0, "a"], [4868, 0, "f"], [4749, 0, "c"], [4750, 0, "o"], [4751, 0, "n"], [4752, 0, "c"], [4753, 0, "u"], [4754, 0, "r"], [4755, 0, "r"], [4756, 0, "e"], [4757, 0, "n"], [4758, 0, "t"], [4759, 0, " "], [4821, 1], [4820, 1], [4819, 1], [4818, 1], [4817, 1], [4816, 1], [4815, 1], [4815, 0, "i"], [4816, 0, "n"], [4817, 0, "t"], [4818, 0, "r"], [4819, 0, "o"], [4820, 0, "d"], [4821, 0, "u"], [4822, 0, "c"], [4823, 0, "e"], [4824, 0, "s"], [4825, 0, " "], [4826, 0, "a"], [4827, 0, " "], [4828, 0, "g"], [4829, 0, "e"], [4830, 0, "n"], [4831, 0, "e"], [4832, 0, "r"], [4833, 0, "a"], [4834, 0, "l"], [4835, 0, " "], [4836, 0, "m"], [4837, 0, "e"], [4838, 0, "c"], [4839, 0, "h"], [4840, 0, "a"], [4841, 0, "n"], [4842, 0, "s"], [4843, 0, "i"], [4844, 0, "m"], [4845, 0, " "], [4846, 0, "("], [4847, 0, "a"], [4848, 0, " "], [4869, 0, ")"], [4908, 0, " "], [4909, 0, "n"], [4910, 0, "d"], [4910, 1], [4910, 0, "o"], [4911, 0, "d"], [4912, 0, "e"], [4913, 0, "s"], [4914, 0, ","], [4915, 0, " "], [4916, 0, "p"], [4917, 0, "r"], [4918, 0, "o"], [4919, 0, "v"], [4920, 0, "i"], [4921, 0, "d"], [4922, 0, "i"], [4923, 0, "n"], [4924, 0, "g"], [4925, 0, " "], [4926, 0, "a"], [4927, 0, " "], [4928, 0, "g"], [4929, 0, "e"], [4930, 0, "n"], [4931, 0, "e"], [4932, 0, "r"], [4933, 0, "a"], [4934, 0, "l"], [4935, 0, " "], [4936, 0, "a"], [4937, 0, "b"], [4938, 0, "s"], [4939, 0, "t"], [4940, 0, "r"], [4941, 0, "a"], [4942, 0, "c"], [4943, 0, "t"], [4944, 0, "i"], [4945, 0, "o"], [4946, 0, "n"], [4947, 0, " "], [4948, 0, "f"], [4949, 0, "o"], [4950, 0, "r"], [4951, 0, " "], [4914, 0, " "], [4915, 0, "i"], [4916, 0, "n"], [4917, 0, " "], [4918, 0, "t"], [4919, 0, "h"], [4920, 0, "e"], [4921, 0, " "], [4922, 0, "J"], [4922, 1], [4922, 0, "J"], [4923, 0, "a"], [4923, 1], [4923, 0, "S"], [4924, 0, "O"], [4925, 0, "N"], [4926, 0, " "], [4927, 0, "d"], [4928, 0, "a"], [4929, 0, "t"], [4930, 0, "a"], [4931, 0, " "], [4932, 0, "s"], [4933, 0, "t"], [4934, 0, "r"], [4935, 0, "u"], [4936, 0, "c"], [4937, 0, "t"], [4938, 0, "u"], [4939, 0, "r"], [4940, 0, "e"], [4978, 1], [4977, 1], [4976, 1], [4975, 1], [4975, 0, "m"], [4976, 0, "e"], [4977, 0, "t"], [4977, 1], [4977, 0, "c"], [4978, 0, "h"], [4979, 0, "a"], [4980, 0, "n"], [4981, 0, "s"], [4982, 0, "i"], [4983, 0, "s"], [4984, 0, "m"], [4984, 1], [4983, 1], [4983, 0, "m"], [4984, 0, "s"], [4985, 0, " "], [4986, 0, "w"], [4987, 0, "h"], [4988, 0, "i"], [4989, 0, "c"], [4990, 0, "h"], [4991, 0, " "], [4991, 1], [4990, 1], [4989, 1], [4988, 1], [4987, 1], [4986, 1], [4985, 1], [4984, 1], [4984, 0, " "], [4985, 0, "w"], [4986, 0, "h"], [4987, 0, "i"], [4988, 0, "c"], [4989, 0, "h"], [4990, 0, " "], [4991, 0, "a"], [4992, 0, "p"], [4993, 0, "p"], [4994, 0, "l"], [4995, 0, "i"], [4996, 0, "c"], [4997, 0, "a"], [4998, 0, "t"], [4999, 0, "i"], [5000, 0, "o"], [5001, 0, "n"], [5002, 0, "s"], [5003, 0, " "], [5004, 0, "c"], [5005, 0, "a"], [5006, 0, "n"], [5007, 0, " "], [5008, 0, "t"], [5009, 0, "h"], [5010, 0, "e"], [5011, 0, "n"], [5012, 0, " "], [5013, 0, "r"], [5014, 0, "e"], [5015, 0, "s"], [5016, 0, "o"], [5017, 0, "l"], [5018, 0, "v"], [5019, 0, "e"], [5020, 0, " "], [5021, 0, "e"], [5022, 0, "i"], [5023, 0, "t"], [5024, 0, "h"], [5025, 0, "e"], [5026, 0, "r"], [5027, 0, " "], [5028, 0, "a"], [5029, 0, "u"], [5030, 0, "t"], [5031, 0, "h"], [5031, 1], [5031, 0, "o"], [5032, 0, "m"], [5033, 0, "t"], [5033, 1], [5033, 0, "a"], [5034, 0, "t"], [5035, 0, "i"], [5036, 0, "c"], [5037, 0, "a"], [5038, 0, "l"], [5039, 0, "l"], [5040, 0, "y"], [5041, 0, " "], [5042, 0, "o"], [5043, 0, "r"], [5044, 0, " "], [5045, 0, "m"], [5046, 0, "a"], [5047, 0, "n"], [5048, 0, "u"], [5049, 0, "a"], [5050, 0, "l"], [5051, 0, "l"], [5052, 0, "y"], [5053, 0, " "], [5054, 0, "d"], [5055, 0, "e"], [5056, 0, "p"], [5057, 0, "e"], [5058, 0, "n"], [5059, 0, "d"], [5060, 0, "i"], [5061, 0, "n"], [5062, 0, "g"], [5063, 0, " "], [5064, 0, "o"], [5065, 0, "n"], [5066, 0, " "], [5067, 0, "t"], [5068, 0, "h"], [5069, 0, "e"], [5070, 0, "i"], [5071, 0, "r"], [5072, 0, " "], [5073, 0, "s"], [5074, 0, "e"], [5075, 0, "m"], [5076, 0, "a"], [5077, 0, "n"], [5078, 0, "t"], [5079, 0, "i"], [5080, 0, "c"], [5081, 0, "s"], [5082, 0, "."], [4973, 1], [4972, 1], [4971, 1], [4970, 1], [4969, 1], [4968, 1], [4967, 1], [4966, 1], [4965, 1], [4964, 1], [4963, 1], [4962, 1], [4961, 1], [4960, 1], [4959, 1], [4958, 1], [4957, 1], [4956, 1], [4955, 1], [4954, 1], [4953, 1], [4952, 1], [4951, 1], [4950, 1], [4949, 1], [4948, 1], [4947, 1], [4946, 1], [4945, 1], [4944, 1], [4943, 1], [4943, 0, "t"], [4944, 0, "h"], [4945, 0, "i"], [4946, 0, "s"], [4962, 1], [4961, 1], [4960, 1], [4959, 1], [4958, 1], [4958, 0, "t"], [4959, 0, "h"], [4960, 0, "e"], [4961, 0, "n"], [4962, 0, " "], [4963, 0, "p"], [4964, 0, "r"], [4965, 0, "o"], [4966, 0, "i"], [4966, 1], [4966, 0, "v"], [4967, 0, "i"], [4968, 0, "d"], [4969, 0, "e"], [4970, 0, "s"], [4971, 0, " "], [4972, 0, "a"], [4973, 0, " "], [4974, 0, "s"], [4975, 0, "t"], [4976, 0, "r"], [4977, 0, "c"], [4978, 0, "t"], [4979, 0, "u"], [4979, 1], [4978, 1], [4977, 1], [4977, 0, "u"], [4978, 0, "c"], [4979, 0, "t"], [4980, 0, "u"], [4981, 0, "r"], [4982, 0, "e"], [4983, 0, " "], [4984, 0, "o"], [4985, 0, "n"], [4986, 0, " "], [4987, 0, "w"], [4988, 0, "h"], [4989, 0, "i"], [4990, 0, "c"], [4991, 0, "h"], [5028, 1], [5027, 1], [5026, 1], [5025, 1], [5024, 1], [5023, 1], [5023, 0, "s"], [5024, 0, "u"], [5025, 0, "c"], [5026, 0, "h"], [5027, 0, " "], [5028, 0, "c"], [5029, 0, "o"], [5030, 0, "n"], [5031, 0, "f"], [5032, 0, "l"], [5033, 0, "i"], [5034, 0, "c"], [5035, 0, "t"], [5036, 0, "s"], [5051, 0, ","], [5064, 0, ","], [5261, 1], [4941, 1], [4941, 0, "."], [4943, 1], [4943, 0, "T"], [4982, 1], [4981, 1], [4980, 1], [4979, 1], [4978, 1], [4977, 1], [4976, 1], [4975, 1], [4974, 1], [4974, 0, "c"], [4975, 0, "o"], [4976, 0, "n"], [4977, 0, "s"], [4978, 0, "i"], [4979, 0, "s"], [4980, 0, "t"], [4981, 0, "e"], [4982, 0, "n"], [4983, 0, "t"], [4984, 0, " "], [4985, 0, "b"], [4986, 0, "a"], [4987, 0, "s"], [4988, 0, "i"], [4989, 0, "s"], [5020, 1], [5019, 1], [5018, 1], [5017, 1], [5016, 1], [5028, 1], [5027, 1], [5026, 1], [5025, 1], [5024, 1], [5024, 0, " "], [5025, 0, "a"], [5026, 0, "n"], [5027, 0, "y"], [5028, 0, " "], [5029, 0, "r"], [5030, 0, "e"], [5031, 0, "m"], [5032, 0, "a"], [5033, 0, "i"], [5034, 0, "n"], [5035, 0, "i"], [5036, 0, "n"], [5037, 0, "g"], [5075, 1], [5074, 1], [5073, 1], [5072, 1], [5071, 1], [5070, 1], [5069, 1], [5068, 1], [5067, 1], [5066, 1], [5065, 1], [5064, 1], [5063, 1], [5062, 1], [5061, 1], [5060, 1], [5059, 1], [5058, 1], [5057, 1], [5056, 1], [5055, 1], [5054, 1], [5053, 1], [5052, 1], [5051, 1], [5050, 1], [5049, 1], [5049, 0, "t"], [5050, 0, "h"], [5051, 0, "r"], [5052, 0, "o"], [5053, 0, "u"], [5054, 0, "g"], [5055, 0, " "], [5055, 1], [5055, 0, "h"], [5056, 0, " "], [5057, 0, "a"], [5058, 0, "u"], [5059, 0, "t"], [5060, 0, "o"], [5061, 0, "m"], [5062, 0, "a"], [5063, 0, "t"], [5064, 0, "i"], [5065, 0, "c"], [5066, 0, " "], [5067, 0, "o"], [5068, 0, "r"], [5069, 0, " "], [5070, 0, "m"], [5071, 0, "a"], [5072, 0, "n"], [5073, 0, "u"], [5074, 0, "a"], [5075, 0, "l"], [5076, 0, " "], [5077, 0, "m"], [5078, 0, "e"], [5079, 0, "a"], [5080, 0, "n"], [5081, 0, "s"], [5110, 1], [5109, 1], [5108, 1], [5107, 1], [5106, 1], [5105, 1], [5104, 1], [5103, 1], [5102, 1], [5101, 1], [5100, 1], [5099, 1], [5098, 1], [5097, 1], [5096, 1], [5095, 1], [5094, 1], [5093, 1], [5092, 1], [5091, 1], [5090, 1], [5089, 1], [5088, 1], [5087, 1], [5086, 1], [5085, 1], [5084, 1], [5083, 1], [5082, 1], [5066, 0, " "], [5067, 0, "("], [5068, 0, "p"], [5069, 0, "r"], [5070, 0, "o"], [5071, 0, "g"], [5072, 0, "r"], [5073, 0, "a"], [5074, 0, "m"], [5075, 0, "m"], [5076, 0, "a"], [5077, 0, "t"], [5078, 0, "i"], [5079, 0, "c"], [5080, 0, ")"], [5083, 1], [5082, 1], [5081, 1], [5080, 1], [5079, 1], [5078, 1], [5077, 1], [5076, 1], [5075, 1], [5074, 1], [5073, 1], [5072, 1], [5071, 1], [5070, 1], [5069, 1], [5068, 1], [5067, 1], [5066, 1], [5065, 1], [5064, 1], [5063, 1], [5062, 1], [5061, 1], [5060, 1], [5059, 1], [5058, 1], [5057, 1], [5057, 0, "p"], [5058, 0, "r"], [5059, 0, "o"], [5060, 0, "g"], [5061, 0, "r"], [5062, 0, "a"], [5063, 0, "m"], [5064, 0, "m"], [5065, 0, "a"], [5066, 0, "t"], [5067, 0, "i"], [5068, 0, "c"], [5069, 0, " "], [5070, 0, "m"], [5071, 0, "e"], [5072, 0, "a"], [5073, 0, "n"], [5074, 0, "s"], [5075, 0, " "], [5076, 0, "o"], [5077, 0, "r"], [5090, 1], [5089, 1], [5088, 1], [5087, 1], [5086, 1], [5085, 1], [5084, 1], [5083, 1], [5082, 1], [5081, 1], [5080, 1], [5079, 1], [5079, 0, "f"], [5080, 0, "u"], [5081, 0, "r"], [5082, 0, "t"], [5083, 0, "h"], [5084, 0, "e"], [5085, 0, "r"], [5086, 0, " "], [5087, 0, "u"], [5088, 0, "s"], [5089, 0, "e"], [5090, 0, "r"], [5091, 0, " "], [5092, 0, "i"], [5093, 0, "n"], [5094, 0, "p"], [5095, 0, "u"], [5096, 0, "t"], [5079, 0, "v"], [5080, 0, "i"], [5081, 0, "a"], [5082, 0, " "], [4813, 1], [4812, 1], [4811, 1], [4810, 1], [4809, 1], [4808, 1], [4807, 1], [4806, 1], [4805, 1], [4804, 1], [4803, 1], [4802, 1], [4802, 0, "W"], [4803, 0, "e"], [4814, 1], [4859, 0, " "], [4860, 0, "i"], [4861, 0, "n"], [4862, 0, "t"], [4863, 0, "o"], [4864, 0, " "], [4865, 0, "o"], [4866, 0, "u"], [4867, 0, "r"], [4868, 0, " "], [4869, 0, "m"], [4870, 0, "o"], [4871, 0, "d"], [4872, 0, "e"], [4873, 0, "l"], [4816, 0, " "], [4817, 0, "s"], [4818, 0, "i"], [4819, 0, "n"], [4820, 0, "g"], [4821, 0, "l"], [4822, 0, "e"], [4823, 0, ","], [5087, 0, ","], [6892, 1], [6891, 1], [6890, 1], [6889, 1], [6888, 1], [6887, 1], [6886, 1], [6885, 1], [6884, 1], [6883, 1], [6882, 1], [6881, 1], [6881, 0, "d"], [6882, 0, "e"], [6883, 0, "s"], [6884, 0, "c"], [6885, 0, "r"], [6886, 0, "i"], [6887, 0, "b"], [6888, 0, "e"], [6889, 0, " "], [6890, 0, "f"], [6891, 0, "o"], [6892, 0, "u"], [6893, 0, "r"], [6894, 0, " "], [6895, 0, "m"], [6896, 0, "o"], [6897, 0, "r"], [6898, 0, "e"], [6899, 0, " "], [6900, 0, "c"], [6901, 0, "o"], [6902, 0, "m"], [6903, 0, "p"], [6904, 0, "l"], [6905, 0, "e"], [6906, 0, "x"], [7931, 1], [7930, 1], [7929, 1], [7929, 0, "o"], [7930, 0, "r"], [7929, 0, "a"], [7930, 0, "n"], [7931, 0, "d"], [7933, 1], [7932, 1], [7931, 1], [7930, 1], [7929, 1], [7929, 0, "a"], [7930, 0, "s"], [7931, 0, " "], [7932, 0, "w"], [7933, 0, "e"], [7934, 0, "l"], [7935, 0, "l"], [7936, 0, " "], [7937, 0, "a"], [7938, 0, "s"], [8025, 1], [8024, 1], [8023, 1], [8022, 1], [8021, 1], [8020, 1], [8019, 1], [8018, 1], [8017, 1], [8016, 1], [8015, 1], [8014, 1], [8014, 0, "."], [8015, 0, " "], [8016, 0, "T"], [16736, 1], [16735, 1], [16734, 1], [16733, 1], [16732, 1], [16733, 1], [16733, 0, "`"], [16734, 0, "`"], [16738, 1], [16738, 0, "'"], [16739, 0, "'"], [16741, 0, " "], [16742, 1], [16742, 0, "z"], [16742, 1], [16742, 0, "`"], [16743, 0, "`"], [16745, 1], [16745, 0, "'"], [16746, 0, "'"], [16747, 0, "\\"], [16749, 1], [16784, 1], [16783, 1], [16782, 1], [16781, 1], [16780, 1], [16781, 1], [16781, 0, "`"], [16782, 0, "`"], [16786, 1], [16786, 0, "'"], [16787, 0, "'"], [16789, 0, " "], [16790, 1], [16790, 0, "`"], [16791, 0, "`"], [16793, 1], [16793, 0, "'"], [16794, 0, "'"], [16795, 0, "\\"], [16797, 1], [16844, 1], [16843, 0, "\\"], [16842, 1], [16842, 0, "'"], [16843, 0, "'"], [16840, 1], [16840, 0, " "], [16841, 0, "`"], [16842, 0, "`"], [16838, 1], [16838, 0, "'"], [16839, 0, "'"], [16834, 1], [16834, 0, "`"], [16835, 0, "`"], [16832, 1], [16831, 1], [16830, 1], [16829, 1], [16828, 1], [16878, 1], [16877, 1], [16876, 1], [16875, 1], [16874, 1], [16921, 1], [16921, 1], [16921, 1], [16921, 1], [16921, 1], [16875, 1], [16875, 0, "`"], [16876, 0, "`"], [16923, 1], [16923, 0, "'"], [16924, 0, "'"], [16880, 1], [16880, 0, "`"], [16881, 0, "`"], [16881, 1], [16880, 1], [16880, 0, "'"], [16881, 0, "'"], [16925, 1], [16924, 1], [16924, 0, "`"], [16925, 0, "`"], [16929, 1], [16929, 0, "'"], [16930, 0, "'"], [16932, 0, " "], [16883, 0, " "], [16885, 1], [16885, 0, "`"], [16886, 0, "`"], [16936, 1], [16936, 0, "`"], [16937, 0, "`"], [16888, 1], [16888, 0, "'"], [16889, 0, "'"], [16940, 1], [16940, 0, "'"], [16941, 0, "'"], [16943, 1], [16891, 1], [16891, 0, " "], [16892, 0, "`"], [16893, 0, "`"], [16945, 0, " "], [16946, 0, "`"], [16947, 0, "`"], [16949, 1], [16949, 0, "'"], [16950, 0, "'"], [16895, 1], [16895, 0, "'"], [16896, 0, "'"], [16897, 0, "\\"], [16899, 0, "\\"], [16901, 1], [16955, 1], [16954, 0, "\\"], [16953, 0, "\\"], [17015, 1], [17015, 1], [17015, 1], [17015, 1], [17015, 1], [17015, 1], [17015, 1], [17015, 1], [17015, 1], [17015, 1], [17015, 1], [17015, 1], [17015, 1], [17015, 1], [17104, 1], [17104, 1], [17104, 1], [17104, 1], [17104, 1], [17104, 1], [17104, 1], [17104, 1], [17104, 1], [17104, 1], [17104, 1], [17104, 1], [17104, 1], [17104, 1], [16725, 1], [16725, 0, "0"], [16718, 0, "1"], [16720, 1], [16751, 0, "\n"], [16752, 0, "\\"], [16753, 0, "n"], [16754, 0, "o"], [16755, 0, "d"], [16756, 0, "e"], [16757, 0, " "], [16758, 0, "("], [16759, 0, "s"], [16760, 0, "t"], [16761, 0, "a"], [16762, 0, "r"], [16763, 0, "t"], [16764, 0, "2"], [16765, 0, ")"], [16766, 0, " "], [16767, 0, "a"], [16768, 0, "t"], [16769, 0, " "], [16770, 0, "("], [16771, 0, "4"], [16772, 0, ","], [16773, 0, "3"], [16774, 0, ")"], [16775, 0, " "], [16776, 0, "{"], [16777, 0, "\\"], [16778, 0, "{"], [16779, 0, "`"], [16780, 0, "`"], [16781, 0, "k"], [16782, 0, "e"], [16783, 0, "y"], [16784, 0, "'"], [16785, 0, "'"], [16786, 0, " "], [16786, 1], [16786, 0, ":"], [16787, 0, " "], [16788, 0, "`"], [16789, 0, "`"], [16790, 0, "A"], [16791, 0, "'"], [16792, 0, "'"], [16793, 0, "]"], [16793, 1], [16793, 0, "\\"], [16794, 0, "}"], [16795, 0, "}"], [16796, 0, ";"], [17029, 0, "1"], [16718, 1], [16717, 1], [16716, 1], [16715, 1], [16714, 1], [16713, 1], [16713, 0, "l"], [16714, 0, "e"], [16715, 0, "f"], [16716, 0, "t"], [16717, 0, "0"], [16763, 1], [16762, 1], [16761, 1], [16760, 1], [16759, 1], [16758, 1], [16758, 0, "r"], [16759, 0, "i"], [16760, 0, "g"], [16761, 0, "h"], [16762, 0, "t"], [16763, 0, "1"], [16763, 1], [16763, 0, "0"], [17028, 1], [17027, 1], [17026, 1], [17025, 1], [17024, 1], [17023, 1], [17023, 0, "l"], [17024, 0, "e"], [17025, 0, "f"], [17026, 0, "t"], [17027, 0, "0"], [17115, 1], [17114, 1], [17113, 1], [17112, 1], [17111, 1], [17111, 0, "r"], [17112, 0, "i"], [17113, 0, "g"], [17114, 0, "h"], [17115, 0, "t"], [17116, 0, "0"], [16929, 0, "\\"], [16986, 0, "\\"], [17270, 0, ","], [17271, 0, "d"], [17272, 0, "a"], [17273, 0, "s"], [17274, 0, "h"], [17275, 0, "e"], [17276, 0, "d"], [17316, 0, "d"], [17317, 0, "a"], [17318, 0, "s"], [17319, 0, "h"], [17320, 0, "e"], [17321, 0, "d"], [17322, 0, ","], [17526, 0, "*"], [16667, 0, "*"], [16727, 1], [16727, 0, "4"], [16773, 1], [16773, 0, "4"], [16821, 1], [16820, 1], [16819, 1], [16819, 0, "2"], [16865, 1], [16865, 1], [16865, 1], [16865, 0, "2"], [17419, 0, "\n"], [17419, 1], [16706, 0, "\n"], [16707, 0, "\\"], [16708, 0, "p"], [16709, 0, "a"], [16710, 0, "t"], [16711, 0, "h"], [16712, 0, " "], [16713, 0, "["], [16714, 0, "d"], [16715, 0, "r"], [16716, 0, "a"], [16717, 0, "w"], [16718, 0, "="], [16718, 1], [16718, 0, "]"], [16719, 0, " "], [16720, 0, "("], [16721, 0, "2"], [16722, 0, ","], [16723, 0, "0"], [16724, 0, ")"], [16725, 0, " "], [16726, 0, "-"], [16727, 0, "-"], [16728, 0, " "], [16729, 0, "("], [16730, 0, "2"], [16731, 0, ","], [16732, 0, "4"], [16733, 0, ")"], [16734, 0, ";"], [16718, 0, ","], [16719, 0, "d"], [16720, 0, "a"], [16721, 0, "s"], [16722, 0, "h"], [16722, 1], [16721, 1], [16720, 1], [16720, 0, "o"], [16721, 0, "t"], [16722, 0, "t"], [16723, 0, "e"], [16724, 0, "d"], [17004, 1], [17004, 0, "1"], [16947, 1], [16947, 0, "1"], [16901, 1], [16901, 0, "3"], [16855, 1], [16855, 0, "3"], [16809, 1], [16809, 0, "4"], [16809, 1], [16809, 0, "5"], [16763, 1], [16763, 0, "5"], [16757, 0, " "], [16739, 1], [16739, 0, "6"], [16742, 0, "\n"], [16743, 0, "\\"], [16744, 0, "n"], [16745, 0, "o"], [16746, 0, "d"], [16747, 0, "e"], [16748, 0, " "], [16749, 0, "("], [16750, 0, "r"], [16751, 0, "e"], [16752, 0, "p"], [16752, 1], [16751, 1], [16750, 1], [16750, 0, "l"], [16751, 0, "e"], [16752, 0, "f"], [16753, 0, "t"], [16754, 0, "R"], [16755, 0, ")"], [16756, 0, " "], [16757, 0, " "], [16758, 0, "a"], [16759, 0, "t"], [16760, 0, " "], [16761, 0, "("], [16762, 0, "0"], [16763, 0, ","], [16764, 0, "6"], [16765, 0, ")"], [16766, 0, " "], [16767, 0, "{"], [16768, 0, "R"], [16769, 0, "p"], [16769, 1], [16769, 0, "e"], [16770, 0, "p"], [16771, 0, "l"], [16772, 0, "i"], [16773, 0, "c"], [16774, 0, "a"], [16775, 0, " "], [16776, 0, "p"], [16776, 1], [16776, 0, "$"], [16777, 0, "p"], [16778, 0, "_"], [16779, 0, "1"], [16780, 0, "$"], [16781, 0, ":"], [16782, 0, "}"], [16783, 0, "\n"], [16784, 0, "\\"], [16785, 0, "n"], [16786, 0, "o"], [16787, 0, "d"], [16788, 0, "e"], [16789, 0, " "], [16790, 0, "("], [16791, 0, "r"], [16792, 0, "i"], [16793, 0, "g"], [16794, 0, "h"], [16795, 0, "t"], [16796, 0, "R"], [16797, 0, ")"], [16798, 0, " "], [16799, 0, "a"], [16800, 0, "t"], [16801, 0, " "], [16802, 0, "("], [16803, 0, "4"], [16804, 0, ","], [16805, 0, "6"], [16806, 0, ")"], [16807, 0, " "], [16808, 0, "{"], [16809, 0, "R"], [16810, 0, "e"], [16811, 0, "p"], [16812, 0, "l"], [16813, 0, "i"], [16814, 0, "c"], [16815, 0, "a"], [16816, 0, " "], [16817, 0, "$"], [16818, 0, "p"], [16819, 0, "_"], [16820, 0, "2"], [16821, 0, "$"], [16822, 0, ":"], [16823, 0, "}"], [16848, 0, " "], [16849, 0, "["], [16850, 0, "r"], [16851, 0, "e"], [16852, 0, "c"], [16853, 0, "t"], [16854, 0, "a"], [16855, 0, "n"], [16856, 0, "g"], [16857, 0, "l"], [16858, 0, "e"], [16859, 0, ","], [16860, 0, "d"], [16861, 0, "r"], [16862, 0, "a"], [16863, 0, "w"], [16864, 0, "]"], [16911, 0, " "], [16912, 0, "["], [16913, 0, "r"], [16914, 0, "e"], [16915, 0, "c"], [16916, 0, "t"], [16917, 0, "a"], [16918, 0, "n"], [16919, 0, "g"], [16920, 0, "l"], [16921, 0, "e"], [16922, 0, ","], [16923, 0, "d"], [16924, 0, "r"], [16925, 0, "a"], [16926, 0, "w"], [16927, 0, "]"], [16974, 0, " "], [16975, 0, "["], [16976, 0, "r"], [16977, 0, "e"], [16978, 0, "c"], [16979, 0, "t"], [16980, 0, "a"], [16981, 0, "n"], [16982, 0, "g"], [16983, 0, "l"], [16984, 0, "e"], [16985, 0, ","], [16986, 0, "d"], [16987, 0, "r"], [16988, 0, "a"], [16989, 0, "w"], [16990, 0, "]"], [17037, 0, " "], [17038, 0, "["], [17039, 0, "r"], [17040, 0, "e"], [17041, 0, "c"], [17042, 0, "t"], [17043, 0, "a"], [17044, 0, "n"], [17045, 0, "g"], [17046, 0, "l"], [17047, 0, "e"], [17048, 0, ","], [17049, 0, "d"], [17050, 0, "r"], [17051, 0, "a"], [17052, 0, "w"], [17053, 0, "]"], [17100, 0, " "], [17101, 0, "["], [17102, 0, "r"], [17103, 0, "e"], [17104, 0, "c"], [17105, 0, "t"], [17106, 0, "a"], [17107, 0, "n"], [17108, 0, "g"], [17109, 0, "l"], [17110, 0, "e"], [17111, 0, ","], [17112, 0, "d"], [17113, 0, "r"], [17114, 0, "a"], [17115, 0, "w"], [17116, 0, "]"], [17174, 0, " "], [17175, 0, "["], [17176, 0, "r"], [17177, 0, "e"], [17178, 0, "c"], [17179, 0, "t"], [17180, 0, "a"], [17181, 0, "n"], [17182, 0, "g"], [17183, 0, "l"], [17184, 0, "e"], [17185, 0, ","], [17186, 0, "d"], [17187, 0, "r"], [17188, 0, "a"], [17189, 0, "w"], [17190, 0, "]"], [16783, 0, ";"], [16825, 0, ";"], [16779, 1], [16778, 1], [16817, 1], [16817, 1], [16817, 1], [16817, 0, "q"], [17464, 1], [17463, 1], [17462, 1], [17461, 1], [17460, 1], [17459, 1], [17458, 1], [17457, 1], [17456, 1], [17455, 1], [17454, 1], [17453, 1], [17452, 1], [17451, 1], [17450, 1], [17449, 1], [17448, 1], [17447, 1], [17446, 1], [17445, 1], [17444, 1], [17443, 1], [17442, 1], [17441, 1], [17440, 1], [17439, 1], [17438, 1], [17437, 1], [17436, 1], [17435, 1], [17568, 1], [17568, 1], [17568, 1], [17568, 1], [17568, 1], [17568, 1], [17568, 1], [17568, 1], [17568, 1], [17568, 1], [17568, 1], [17568, 1], [17568, 1], [17568, 1], [17568, 1], [17568, 1], [17568, 1], [17568, 1], [17568, 1], [17568, 1], [17568, 1], [17568, 1], [17568, 1], [17568, 1], [17568, 1], [17568, 1], [17568, 1], [17568, 1], [17568, 1], [17568, 1], [17568, 1], [16737, 1], [16737, 0, "3"], [16728, 1], [16728, 0, "3"], [16802, 1], [16802, 0, "6"], [16905, 1], [16905, 0, "6"], [17031, 1], [17031, 0, "6"], [17168, 1], [17168, 0, "6"], [17486, 0, "."], [17487, 0, "n"], [17488, 0, "o"], [17489, 0, "r"], [17490, 0, "t"], [17491, 0, "h"], [17492, 0, " "], [17493, 0, "e"], [17494, 0, "a"], [17495, 0, "s"], [17496, 0, "t"], [17542, 0, "."], [17543, 0, "n"], [17544, 0, "o"], [17545, 0, "r"], [17546, 0, "t"], [17547, 0, "h"], [17548, 0, " "], [17549, 0, "w"], [17550, 0, "e"], [17551, 0, "s"], [17552, 0, "t"], [17433, 1], [17432, 1], [17431, 1], [17430, 1], [17429, 1], [17428, 1], [17427, 1], [17427, 0, "-"], [17428, 0, "-"], [17472, 1], [17471, 1], [17471, 0, "-"], [17472, 0, "-"], [17529, 1], [17528, 1], [17528, 0, "-"], [17529, 0, "-"], [17583, 1], [17582, 1], [17581, 1], [17580, 1], [17579, 1], [17578, 1], [17577, 1], [17577, 0, "-"], [17578, 0, "-"], [17491, 1], [17490, 1], [17489, 1], [17488, 1], [17488, 0, "w"], [17489, 0, "e"], [17490, 0, "s"], [17491, 0, "t"], [17547, 1], [17546, 1], [17545, 1], [17544, 1], [17544, 0, "e"], [17545, 0, "a"], [17546, 0, "s"], [17547, 0, "t"], [17469, 0, "."], [17470, 0, "s"], [17471, 0, "o"], [17472, 0, "u"], [17473, 0, "t"], [17474, 0, "h"], [17475, 0, " "], [17476, 0, "e"], [17477, 0, "a"], [17478, 0, "s"], [17479, 0, "t"], [17537, 0, "."], [17538, 0, "s"], [17539, 0, "o"], [17540, 0, "u"], [17541, 0, "t"], [17542, 0, "h"], [17543, 0, " "], [17544, 0, "w"], [17545, 0, "e"], [17546, 0, "s"], [17547, 0, "t"], [17222, 0, "\n"], [17223, 0, "\\"], [17224, 0, "n"], [17225, 0, "o"], [17226, 0, "d"], [17227, 0, "e"], [17228, 0, " "], [17229, 0, "("], [17230, 0, "c"], [17231, 0, "o"], [17232, 0, "m"], [17233, 0, "m"], [17234, 0, "s"], [17235, 0, ")"], [17236, 0, " "], [17237, 0, " "], [17238, 0, "a"], [17239, 0, "t"], [17240, 0, " "], [17241, 0, "("], [17242, 0, "3"], [17243, 0, ","], [17244, 0, "2"], [17245, 0, "."], [17246, 0, "5"], [17247, 0, ")"], [17248, 0, " "], [17249, 0, "{"], [17250, 0, "n"], [17251, 0, "e"], [17252, 0, "t"], [17253, 0, "w"], [17254, 0, "o"], [17255, 0, "r"], [17256, 0, "k"], [17257, 0, " "], [17258, 0, "c"], [17259, 0, "o"], [17260, 0, "m"], [17261, 0, "m"], [17262, 0, "u"], [17263, 0, "n"], [17264, 0, "i"], [17265, 0, "c"], [17266, 0, "a"], [17267, 0, "t"], [17268, 0, "i"], [17269, 0, "o"], [17270, 0, "n"], [17271, 0, "}"], [17272, 0, ";"], [17257, 0, "\\"], [17258, 0, "\\"], [17259, 1], [17250, 0, "\\"], [17251, 0, "f"], [17252, 0, "o"], [17253, 0, "o"], [17254, 0, "t"], [17255, 0, "n"], [17256, 0, "o"], [17257, 0, "t"], [17258, 0, "e"], [17259, 0, "s"], [17260, 0, "i"], [17261, 0, "z"], [17262, 0, "e"], [17263, 0, " "], [17272, 1], [17271, 1], [17271, 0, " "], [17246, 1], [17246, 0, "8"], [17524, 0, "b"], [17525, 0, "l"], [17526, 0, "u"], [17527, 0, "e"], [17528, 0, ","], [17596, 0, "b"], [17597, 0, "l"], [17598, 0, "u"], [17599, 0, "e"], [17600, 0, ","], [17248, 0, " "], [17249, 0, "["], [17250, 0, "t"], [17251, 0, "e"], [17252, 0, "x"], [17253, 0, "t"], [17254, 0, "="], [17255, 0, "b"], [17256, 0, "l"], [17257, 0, "u"], [17258, 0, "e"], [17259, 0, "]"], [16731, 0, "."], [16732, 0, "5"], [16742, 0, "."], [16743, 0, "5"], [19837, 1], [19836, 1], [19835, 1], [19834, 1], [19833, 1], [19832, 1], [19831, 1], [19830, 1], [19829, 1], [19828, 1], [19827, 1], [19826, 1], [19825, 1], [19824, 1], [19823, 1], [19822, 1], [19821, 1], [19820, 1], [19819, 1], [19818, 1], [19817, 1], [19816, 1], [19815, 1], [19814, 1], [19813, 1], [19812, 1], [19811, 1], [19810, 1], [19809, 1], [19808, 1], [19807, 1], [19851, 1], [19851, 1], [19851, 1], [19851, 1], [19851, 1], [19851, 1], [19851, 1], [19851, 1], [19851, 1], [19851, 1], [19851, 1], [19851, 1], [19851, 1], [19851, 1], [19851, 1], [19851, 1], [19851, 1], [19851, 1], [19851, 1], [19851, 1], [19851, 1], [19851, 1], [19851, 1], [19851, 1], [19851, 1], [19851, 1], [19851, 1], [19851, 1], [19851, 1], [19851, 1], [19851, 1], [19789, 0, ","], [19790, 0, "d"], [19791, 0, "a"], [19792, 0, "s"], [19793, 0, "h"], [19794, 0, "e"], [19795, 0, "d"], [19796, 0, ","], [19797, 0, "b"], [19798, 0, "l"], [19799, 0, "u"], [19800, 0, "e"], [19844, 0, ","], [19845, 0, "d"], [19846, 0, "a"], [19847, 0, "s"], [19848, 0, "h"], [19849, 0, "e"], [19850, 0, "d"], [19851, 0, ","], [19852, 0, "b"], [19853, 0, "l"], [19854, 0, "u"], [19855, 0, "e"], [19789, 1], [19788, 1], [19787, 1], [19839, 1], [19839, 1], [19839, 1], [19798, 0, ","], [19799, 0, "-"], [19800, 0, ">"], [19853, 0, ","], [19854, 0, "-"], [19855, 0, ">"], [19345, 1], [19344, 1], [19343, 1], [19342, 1], [19341, 1], [19389, 1], [19389, 1], [19389, 1], [19389, 1], [19389, 1], [19389, 0, "{"], [19342, 1], [19342, 0, "`"], [19343, 0, "`"], [19391, 1], [19391, 0, "`"], [19392, 0, "`"], [19398, 1], [19398, 0, "'"], [19399, 0, "'"], [19350, 1], [19350, 0, "'"], [19351, 0, "'"], [19354, 0, "\\"], [19356, 1], [19356, 0, "`"], [19357, 0, "`"], [19361, 1], [19361, 0, "'"], [19362, 0, "'"], [19365, 1], [19365, 0, "`"], [19366, 0, "`"], [19374, 1], [19374, 0, "'"], [19375, 0, "'"], [19408, 1], [19408, 0, "`"], [19409, 0, "`"], [19417, 1], [19417, 0, "'"], [19418, 0, "'"], [19419, 0, "\\"], [19421, 0, "\\"], [19423, 1], [19377, 1], [19394, 1], [19394, 1], [19258, 1], [19258, 1], [19258, 1], [19258, 1], [19258, 1], [19258, 1], [19258, 1], [19258, 0, "`"], [19259, 0, "`"], [19265, 1], [19265, 0, "'"], [19266, 0, "'"], [19269, 1], [19269, 0, "`"], [19270, 0, "`"], [19278, 1], [19278, 0, "'"], [19279, 0, "'"], [19280, 0, "\\"], [19282, 0, "\\"], [19284, 1], [19240, 1], [19238, 1], [19238, 0, "'"], [19239, 0, "'"], [19230, 1], [19230, 0, "`"], [19231, 0, "`"], [19227, 1], [19227, 0, "'"], [19228, 0, "'"], [19223, 1], [19223, 0, "`"], [19224, 0, "`"], [19222, 0, "\\"], [19219, 1], [19219, 0, "'"], [19220, 0, "'"], [19212, 1], [19212, 0, "`"], [19213, 0, "`"], [19210, 1], [19209, 1], [19208, 1], [19207, 1], [19206, 1], [19123, 1], [19122, 1], [19121, 1], [19120, 1], [19119, 1], [19120, 1], [19120, 0, "`"], [19121, 0, "`"], [19128, 1], [19128, 0, "'"], [19129, 0, "'"], [19132, 0, "\\"], [19134, 1], [19134, 0, "`"], [19135, 0, "`"], [19141, 1], [19141, 0, "'"], [19142, 0, "'"], [19145, 1], [19145, 0, "`"], [19146, 0, "`"], [19154, 1], [19154, 0, "'"], [19155, 0, "'"], [19156, 0, "\\"], [19158, 0, "\\"], [19160, 1], [19087, 1], [19086, 0, "\\"], [19085, 0, "\\"], [19084, 0, "\\"], [19074, 1], [19074, 0, "`"], [19075, 0, "`"], [19082, 1], [19082, 0, "'"], [19083, 0, "'"], [19072, 1], [19071, 1], [19070, 1], [19069, 1], [19068, 1], [19032, 1], [19031, 0, "\\"], [19030, 0, "\\"], [19029, 1], [19029, 0, "'"], [19030, 0, "'"], [19021, 1], [19021, 0, "`"], [19022, 0, "`"], [19014, 1], [19013, 1], [19012, 1], [19011, 1], [19010, 1], [19009, 1], [19008, 1], [19008, 0, "`"], [19009, 0, "`"], [19013, 1], [19013, 0, "'"], [19014, 0, "'"], [18959, 1], [18958, 1], [18957, 1], [18956, 1], [18955, 1], [18956, 1], [18956, 0, "`"], [18957, 0, "`"], [18964, 1], [18964, 0, "'"], [18965, 0, "'"], [18968, 0, "\\"], [18970, 1], [18970, 0, "`"], [18971, 0, "`"], [18976, 1], [18976, 0, "'"], [18977, 0, "'"], [18980, 1], [18980, 0, "`"], [18981, 0, "`"], [18989, 1], [18989, 0, "'"], [18990, 0, "'"], [18992, 1], [18905, 1], [18904, 0, "\\"], [18903, 0, "\\"], [18902, 1], [18902, 0, "'"], [18903, 0, "'"], [18894, 1], [18894, 0, "`"], [18895, 0, "`"], [18891, 1], [18891, 0, "'"], [18892, 0, "'"], [18886, 1], [18886, 0, "`"], [18887, 0, "`"], [18875, 1], [18875, 0, "`"], [18876, 0, "`"], [18883, 1], [18883, 0, "'"], [18884, 0, "'"], [18887, 0, "\\"], [18873, 1], [18872, 1], [18871, 1], [18870, 1], [18869, 1], [18896, 0, "\\"], [18986, 0, "\\"], [19025, 0, "\\"], [19152, 0, "\\"], [19153, 0, "\\"], [19153, 1], [19241, 0, "\\"], [19242, 0, "\\"], [19283, 0, "\\"], [19242, 1], [19378, 0, "\\"], [19419, 0, "\\"], [19514, 1], [19513, 1], [19512, 1], [19511, 1], [19510, 1], [19509, 1], [19508, 1], [19507, 1], [19506, 1], [19505, 1], [19504, 1], [19503, 1], [19502, 1], [19501, 1], [19612, 1], [19612, 1], [19612, 1], [19612, 1], [19612, 1], [19612, 1], [19612, 1], [19612, 1], [19612, 1], [19612, 1], [19612, 1], [19612, 1], [19612, 1], [19612, 1], [18855, 1], [18854, 1], [18853, 1], [18852, 1], [18851, 1], [18851, 0, "l"], [18852, 0, "e"], [18853, 0, "f"], [18854, 0, "t"], [18855, 0, "0"], [18862, 1], [18862, 0, "0"], [18912, 0, "\n"], [18913, 0, "\\"], [18914, 0, "n"], [18915, 0, "o"], [18916, 0, "d"], [18917, 0, "e"], [18918, 0, " "], [18919, 0, "("], [18920, 0, "r"], [18921, 0, "i"], [18922, 0, "g"], [18923, 0, "h"], [18924, 0, "t"], [18925, 0, "0"], [18926, 0, ")"], [18927, 0, " "], [18928, 0, "a"], [18929, 0, "t"], [18930, 0, " "], [18931, 0, "("], [18932, 0, "8"], [18933, 0, ","], [18934, 0, "4"], [18935, 0, ")"], [18936, 0, " "], [18937, 0, "{"], [18938, 0, "["], [18858, 0, " "], [18939, 1], [18939, 0, "\\"], [18940, 0, "{"], [18941, 0, "`"], [18942, 0, "`"], [18943, 0, "c"], [18944, 0, "o"], [18945, 0, "l"], [18946, 0, "o"], [18947, 0, "r"], [18948, 0, "s"], [18949, 0, "'"], [18950, 0, "'"], [18951, 0, ":"], [18952, 0, " "], [18953, 0, "\\"], [18954, 0, "{"], [18955, 0, "`"], [18956, 0, "`"], [18957, 0, "b"], [18958, 0, "l"], [18959, 0, "u"], [18960, 0, "e"], [18961, 0, "'"], [18962, 0, "'"], [18963, 0, ":"], [18964, 0, " "], [18965, 0, "`"], [18966, 0, "`"], [18967, 0, "\\"], [18968, 0, "#"], [18969, 0, "0"], [18970, 0, "0"], [18971, 0, "0"], [18972, 0, "0"], [18973, 0, "f"], [18974, 0, "f"], [18975, 0, "'"], [18976, 0, "'"], [18977, 0, "\\"], [18978, 0, "}"], [18979, 0, "\\"], [18980, 0, "}"], [18981, 0, "}"], [18982, 0, ";"], [19535, 1], [19534, 1], [19533, 1], [19532, 1], [19531, 1], [19531, 0, "l"], [19532, 0, "e"], [19533, 0, "f"], [19534, 0, "t"], [19535, 0, "0"], [19646, 1], [19645, 1], [19644, 1], [19643, 1], [19642, 1], [19642, 0, "r"], [19643, 0, "i"], [19644, 0, "g"], [19645, 0, "h"], [19646, 0, "t"], [19647, 0, "0"], [19649, 1], [19871, 1], [19871, 1], [19871, 1], [19871, 1], [19871, 1], [19921, 1], [19921, 1], [19921, 1], [19921, 1], [19921, 1], [19944, 0, "d"], [19945, 0, "a"], [19946, 0, "s"], [19947, 0, "h"], [19948, 0, "e"], [19949, 0, "d"], [19950, 0, ","], [19951, 0, "b"], [19952, 0, "l"], [19953, 0, "u"], [19954, 0, "e"], [19955, 0, ","], [19956, 0, "-"], [19956, 1], [19904, 1], [19903, 1], [19902, 1], [19901, 1], [19900, 1], [19899, 1], [19898, 1], [19897, 1], [19896, 1], [19895, 1], [19894, 1], [19893, 1], [19843, 1], [19843, 1], [19843, 1], [19843, 1], [19843, 1], [19843, 1], [19843, 1], [19843, 1], [19843, 1], [19843, 1], [19843, 1], [19843, 1], [19971, 0, "d"], [19972, 0, "a"], [19973, 0, "s"], [19974, 0, "h"], [19975, 0, "e"], [19976, 0, "d"], [19977, 0, ","], [19978, 0, "b"], [19979, 0, "l"], [19980, 0, "u"], [19981, 0, "e"], [19982, 0, ","], [19761, 1], [19761, 1], [19761, 1], [19761, 1], [19761, 1], [19761, 1], [19761, 1], [19761, 1], [19761, 1], [19761, 1], [19761, 1], [19761, 1], [19761, 1], [19761, 1], [18867, 0, " "], [18868, 0, "["], [18869, 0, "r"], [18870, 0, "e"], [18871, 0, "c"], [18872, 0, "t"], [18873, 0, "a"], [18874, 0, "n"], [18875, 0, "g"], [18876, 0, "l"], [18877, 0, "e"], [18878, 0, ","], [18879, 0, "d"], [18880, 0, "r"], [18881, 0, "a"], [18882, 0, "w"], [18883, 0, "]"], [18954, 0, " "], [18955, 0, "["], [18956, 0, "r"], [18957, 0, "e"], [18958, 0, "c"], [18959, 0, "t"], [18960, 0, "a"], [18961, 0, "n"], [18962, 0, "g"], [18963, 0, "l"], [18964, 0, "e"], [18965, 0, ","], [18966, 0, "d"], [18967, 0, "r"], [18968, 0, "a"], [18969, 0, "w"], [18970, 0, "]"], [19049, 0, " "], [19050, 0, "["], [19051, 0, "r"], [19052, 0, "e"], [19053, 0, "c"], [19054, 0, "t"], [19055, 0, "a"], [19056, 0, "n"], [19057, 0, "g"], [19058, 0, "l"], [19059, 0, "e"], [19060, 0, ","], [19061, 0, "d"], [19062, 0, "r"], [19063, 0, "a"], [19064, 0, "w"], [19065, 0, "]"], [19193, 0, " "], [19194, 0, "["], [19195, 0, "r"], [19196, 0, "e"], [19197, 0, "c"], [19198, 0, "t"], [19199, 0, "a"], [19200, 0, "n"], [19201, 0, "g"], [19202, 0, "l"], [19203, 0, "e"], [19204, 0, ","], [19205, 0, "d"], [19206, 0, "r"], [19207, 0, "a"], [19208, 0, "w"], [19209, 0, "]"], [19260, 0, " "], [19261, 0, "["], [19262, 0, "r"], [19263, 0, "e"], [19264, 0, "c"], [19265, 0, "t"], [19266, 0, "a"], [19267, 0, "n"], [19268, 0, "g"], [19269, 0, "l"], [19270, 0, "e"], [19271, 0, ","], [19272, 0, "d"], [19273, 0, "r"], [19274, 0, "a"], [19275, 0, "w"], [19276, 0, "]"], [19356, 0, " "], [19357, 0, "["], [19358, 0, "r"], [19359, 0, "e"], [19360, 0, "c"], [19361, 0, "t"], [19362, 0, "a"], [19363, 0, "n"], [19364, 0, "g"], [19365, 0, "l"], [19366, 0, "e"], [19367, 0, ","], [19368, 0, "d"], [19369, 0, "r"], [19370, 0, "a"], [19371, 0, "w"], [19372, 0, "]"], [19510, 0, " "], [19511, 0, "["], [19512, 0, "r"], [19513, 0, "e"], [19514, 0, "c"], [19515, 0, "t"], [19516, 0, "a"], [19517, 0, "n"], [19518, 0, "g"], [19519, 0, "l"], [19520, 0, "e"], [19521, 0, ","], [19522, 0, "d"], [19523, 0, "r"], [19524, 0, "a"], [19525, 0, "w"], [19526, 0, "]"], [20047, 0, "."], [20048, 0, "s"], [20049, 0, "o"], [20050, 0, "u"], [20051, 0, "t"], [20052, 0, "h"], [20053, 0, " "], [20054, 0, "e"], [20055, 0, "a"], [20056, 0, "s"], [20057, 0, "t"], [20110, 0, "."], [20111, 0, "s"], [20112, 0, "o"], [20113, 0, "u"], [20114, 0, "t"], [20115, 0, "h"], [20116, 0, " "], [20117, 0, "w"], [20118, 0, "e"], [20119, 0, "s"], [20120, 0, "t"], [20071, 0, "."], [20072, 0, "n"], [20073, 0, "o"], [20074, 0, "r"], [20075, 0, "t"], [20076, 0, "h"], [20077, 0, " "], [20078, 0, "w"], [20079, 0, "e"], [20080, 0, "s"], [20081, 0, "t"], [20143, 0, "."], [20144, 0, "n"], [20145, 0, "o"], [20146, 0, "r"], [20147, 0, "t"], [20148, 0, "h"], [20149, 0, " "], [20150, 0, "e"], [20151, 0, "a"], [20152, 0, "s"], [20153, 0, "t"], [18950, 1], [18950, 0, "6"], [19189, 1], [19189, 0, "6"], [19254, 1], [19254, 0, "6"], [19506, 1], [19506, 0, "6"], [18843, 0, "\n"], [18844, 0, "\\"], [18845, 0, "p"], [18846, 0, "a"], [18847, 0, "t"], [18848, 0, "h"], [18849, 0, " "], [18850, 0, "["], [18851, 0, "d"], [18852, 0, "r"], [18853, 0, "a"], [18854, 0, "w"], [18855, 0, ","], [18856, 0, "d"], [18857, 0, "o"], [18858, 0, "t"], [18859, 0, "t"], [18860, 0, "e"], [18861, 0, "d"], [18862, 0, "]"], [18863, 0, " "], [18864, 0, "("], [18865, 0, "3"], [18866, 0, ","], [18867, 0, "-"], [18868, 0, "0"], [18869, 0, "."], [18870, 0, "5"], [18871, 0, ")"], [18872, 0, " "], [18873, 0, "-"], [18874, 0, "-"], [18875, 0, " "], [18876, 0, "("], [18877, 0, "3"], [18878, 0, ","], [18879, 0, "5"], [18880, 0, ")"], [18881, 0, ";"], [19297, 1], [19296, 1], [19295, 1], [19295, 0, "2"], [19230, 1], [19230, 0, "4"], [18991, 1], [18991, 0, "6"], [18904, 1], [18904, 0, "6"], [19086, 1], [19086, 0, "3"], [18842, 0, ","], [18843, 0, "s"], [18844, 0, "c"], [18845, 0, "a"], [18846, 0, "l"], [18847, 0, "e"], [18848, 0, "="], [18849, 0, "0"], [18850, 0, "."], [18851, 0, "8"], [16705, 0, ","], [16706, 0, "s"], [16707, 0, "c"], [16708, 0, "a"], [16709, 0, "l"], [16710, 0, "e"], [16711, 0, "="], [16712, 0, "0"], [16713, 0, "."], [16714, 0, "8"], [16816, 1], [16816, 0, "8"], [16919, 1], [16919, 0, "8"], [17045, 1], [17045, 0, "8"], [17182, 1], [17182, 0, "8"], [17256, 1], [17256, 0, "4"], [18885, 1], [18885, 0, "4"], [18897, 1], [18897, 0, "4"], [18890, 1], [18889, 1], [18888, 1], [18888, 0, "1"], [18897, 1], [18897, 0, "6"], [18898, 0, "."], [18899, 0, "5"], [19009, 1], [19009, 0, "8"], [19248, 1], [19248, 0, "8"], [19313, 1], [19313, 0, "8"], [19563, 1], [19563, 0, "8"], [20865, 0, ","], [20866, 0, "s"], [20867, 0, "c"], [20868, 0, "a"], [20869, 0, "l"], [20870, 0, "e"], [20871, 0, "="], [20872, 0, "0"], [20873, 0, "."], [20874, 0, "8"], [20909, 1], [20908, 1], [20907, 1], [20906, 1], [20905, 1], [20904, 1], [20904, 0, "\\"], [20906, 0, "\\"], [20908, 1], [20888, 1], [20887, 1], [20886, 1], [20885, 1], [20884, 1], [20884, 0, "l"], [20885, 0, "e"], [20886, 0, "f"], [20887, 0, "t"], [20888, 0, "0"], [20910, 0, "\n"], [20911, 0, "\\"], [20912, 0, "n"], [20913, 0, "o"], [20914, 0, "d"], [20915, 0, "e"], [20916, 0, " "], [20917, 0, "("], [20918, 0, "r"], [20919, 0, "i"], [20920, 0, "g"], [20921, 0, "h"], [20922, 0, "t"], [20923, 0, "0"], [20924, 0, ")"], [20925, 0, " "], [20926, 0, "a"], [20927, 0, "t"], [20928, 0, " "], [20929, 0, "("], [20930, 0, "8"], [20931, 0, ","], [20932, 0, "6"], [20933, 0, "."], [20934, 0, "0"], [20935, 0, ")"], [20936, 0, " "], [20937, 0, "{"], [20938, 0, "\\"], [20939, 0, "{"], [20940, 0, "\\"], [20941, 0, "}"], [20942, 0, "}"], [20943, 0, ";"], [20896, 1], [20896, 0, "0"], [21435, 1], [21434, 1], [21433, 1], [21432, 1], [21431, 1], [21431, 0, "l"], [21432, 0, "e"], [21433, 0, "f"], [21434, 0, "t"], [21435, 0, "0"], [21538, 1], [21537, 1], [21536, 1], [21535, 1], [21534, 1], [21534, 0, "r"], [21535, 0, "i"], [21536, 0, "g"], [21537, 0, "h"], [21538, 0, "t"], [21539, 0, "0"], [21541, 1], [19840, 1], [19840, 1], [19840, 1], [19840, 1], [19840, 1], [19840, 1], [19840, 1], [19840, 1], [19840, 1], [19840, 1], [19840, 1], [19840, 1], [19840, 1], [19840, 1], [19840, 1], [19840, 1], [19728, 1], [19728, 1], [19728, 1], [19728, 1], [19728, 1], [19728, 1], [19728, 1], [19728, 1], [19728, 1], [19728, 1], [19728, 1], [19728, 1], [19728, 1], [19728, 1], [19728, 1], [19728, 1], [19728, 1], [19729, 0, " "], [17352, 1], [17352, 1], [17352, 1], [17352, 1], [17352, 1], [17352, 1], [17352, 1], [17352, 1], [17352, 1], [17352, 1], [17352, 1], [17352, 1], [17352, 1], [17352, 1], [17428, 1], [17428, 1], [17428, 1], [17428, 1], [17428, 1], [17428, 1], [17428, 1], [17428, 1], [17428, 1], [17428, 1], [17428, 1], [17428, 1], [17428, 1], [17428, 1], [17352, 0, ","], [17353, 0, " "], [17354, 0, "i"], [17355, 0, "n"], [17356, 0, "n"], [17357, 0, "e"], [17358, 0, "r"], [17359, 0, " "], [17360, 0, "s"], [17361, 0, "e"], [17362, 0, "p"], [17363, 0, "="], [17364, 0, "8"], [17365, 0, "p"], [17366, 0, "t"], [17353, 1], [17442, 0, ","], [17443, 0, "i"], [17444, 0, "n"], [17445, 0, "n"], [17446, 0, "e"], [17447, 0, "r"], [17448, 0, " "], [17449, 0, "s"], [17450, 0, "e"], [17451, 0, "p"], [17452, 0, "="], [17453, 0, "8"], [17454, 0, "p"], [17455, 0, "t"], [20941, 1], [20941, 1], [20941, 1], [20941, 1], [20941, 1], [20942, 1], [20942, 0, "`"], [20943, 0, "`"], [20947, 1], [20947, 0, "'"], [20948, 0, "'"], [20950, 0, " "], [20953, 0, "\\"], [20955, 1], [21000, 0, "\\"], [20998, 0, " "], [20996, 1], [20996, 0, "'"], [20997, 0, "'"], [20992, 1], [20992, 0, "`"], [20993, 0, "`"], [20990, 1], [20989, 1], [20988, 1], [20987, 1], [20986, 1], [21032, 1], [21032, 1], [21032, 1], [21032, 1], [21032, 1], [21033, 1], [21033, 0, "`"], [21034, 0, "`"], [21081, 1], [21081, 1], [21081, 1], [21081, 1], [21081, 1], [21135, 1], [21135, 1], [21135, 1], [21135, 1], [21135, 1], [21183, 1], [21183, 1], [21183, 1], [21183, 1], [21183, 1], [21239, 1], [21239, 1], [21239, 1], [21239, 1], [21239, 1], [21308, 1], [21308, 1], [21308, 1], [21308, 1], [21308, 1], [21082, 1], [21135, 1], [21182, 1], [21237, 1], [21305, 1], [21082, 0, "`"], [21083, 0, "`"], [21137, 0, "`"], [21138, 0, "`"], [21186, 0, "`"], [21187, 0, "`"], [21243, 0, "`"], [21244, 0, "`"], [21313, 0, "`"], [21314, 0, "`"], [21038, 1], [21038, 0, "'"], [21039, 0, "'"], [21088, 1], [21088, 0, "'"], [21089, 0, "'"], [21144, 1], [21144, 0, "'"], [21145, 0, "'"], [21194, 1], [21194, 0, "'"], [21195, 0, "'"], [21252, 1], [21252, 0, "'"], [21253, 0, "'"], [21323, 1], [21323, 0, "'"], [21324, 0, "'"], [21041, 0, " "], [21092, 0, " "], [21149, 0, " "], [21200, 0, " "], [21259, 0, " "], [21331, 0, " "], [21043, 1], [21043, 0, "`"], [21044, 0, "`"], [21095, 1], [21095, 0, "`"], [21096, 0, "`"], [21153, 1], [21153, 0, "`"], [21154, 0, "`"], [21205, 1], [21205, 0, "`"], [21206, 0, "`"], [21265, 1], [21265, 0, "`"], [21266, 0, "`"], [21338, 1], [21338, 0, "`"], [21339, 0, "`"], [21049, 1], [21049, 0, "'"], [21050, 0, "'"], [21102, 1], [21102, 0, "'"], [21103, 0, "'"], [21105, 0, " "], [21106, 1], [21106, 0, "`"], [21107, 0, "`"], [21111, 1], [21111, 0, "'"], [21112, 0, "'"], [21164, 1], [21164, 0, "'"], [21165, 0, "'"], [21217, 1], [21217, 0, "'"], [21218, 0, "'"], [21220, 0, " "], [21221, 1], [21221, 0, "`"], [21222, 0, "`"], [21228, 1], [21228, 0, "'"], [21229, 0, "'"], [21281, 1], [21281, 0, "'"], [21282, 0, "'"], [21284, 0, " "], [21285, 1], [21285, 0, "`"], [21286, 0, "`"], [21290, 1], [21290, 0, "'"], [21291, 0, "'"], [21293, 0, " "], [21294, 1], [21294, 0, "`"], [21295, 0, "`"], [21300, 1], [21300, 0, "'"], [21301, 0, "'"], [21303, 0, " "], [21304, 1], [21304, 0, "`"], [21305, 0, "`"], [21311, 1], [21311, 0, "'"], [21312, 0, "'"], [21364, 1], [21364, 0, "'"], [21365, 0, "'"], [21367, 0, " "], [21368, 1], [21368, 0, "`"], [21369, 0, "`"], [21373, 1], [21373, 0, "'"], [21374, 0, "'"], [21375, 0, " "], [21375, 1], [21376, 0, " "], [21377, 1], [21377, 0, "`"], [21378, 0, "`"], [21383, 1], [21383, 0, "'"], [21384, 0, "'"], [21386, 0, " "], [21387, 1], [21387, 0, "`"], [21388, 0, "`"], [21394, 1], [21394, 0, "'"], [21395, 0, "'"], [21397, 0, "\\"], [21314, 0, "\\"], [21316, 1], [21399, 1], [21232, 1], [21231, 0, "\\"], [21168, 1], [21167, 0, "\\"], [21115, 1], [21114, 0, "\\"], [21053, 1], [21052, 0, "\\"], [21000, 1], [21440, 1], [21440, 1], [21440, 1], [21440, 1], [21440, 1], [21440, 1], [21440, 1], [21440, 1], [21440, 1], [21440, 1], [21440, 1], [21440, 1], [21440, 1], [21440, 1], [21440, 1], [21440, 1], [21440, 1], [21527, 1], [21527, 1], [21527, 1], [21527, 1], [21527, 1], [21527, 1], [21527, 1], [21527, 1], [21527, 1], [21527, 1], [21527, 1], [21527, 1], [21527, 1], [21527, 1], [21527, 1], [21527, 1], [21442, 0, " "], [21444, 1], [21444, 1], [21444, 1], [21444, 1], [21444, 1], [21444, 1], [21444, 1], [21444, 1], [21444, 1], [21444, 1], [21444, 1], [21444, 1], [21444, 1], [21444, 1], [21517, 1], [21517, 1], [21517, 1], [21517, 1], [21517, 1], [21517, 1], [21517, 1], [21517, 1], [21517, 1], [21517, 1], [21517, 1], [21517, 1], [21517, 1], [21517, 1], [21591, 1], [21591, 1], [21591, 1], [21591, 1], [21591, 1], [21591, 1], [21591, 1], [21591, 1], [21591, 1], [21591, 1], [21591, 1], [21591, 1], [21591, 1], [21591, 1], [21680, 1], [21680, 1], [21680, 1], [21680, 1], [21680, 1], [21680, 1], [21680, 1], [21680, 1], [21680, 1], [21680, 1], [21680, 1], [21680, 1], [21680, 1], [21680, 1], [21770, 1], [21770, 1], [21770, 1], [21770, 1], [21770, 1], [21770, 1], [21770, 1], [21770, 1], [21770, 1], [21770, 1], [21770, 1], [21770, 1], [21770, 1], [21770, 1], [21845, 1], [21845, 1], [21845, 1], [21845, 1], [21845, 1], [21845, 1], [21845, 1], [21845, 1], [21845, 1], [21845, 1], [21845, 1], [21845, 1], [21845, 1], [21845, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21909, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21947, 1], [21970, 0, "d"], [21971, 0, "a"], [21972, 0, "s"], [21973, 0, "h"], [21974, 0, "e"], [21975, 0, "d"], [21976, 0, ","], [21977, 0, "b"], [21978, 0, "l"], [21979, 0, "u"], [21980, 0, "e"], [21981, 0, ","], [22021, 0, "d"], [22022, 0, "a"], [22023, 0, "s"], [22024, 0, "h"], [22025, 0, "e"], [22026, 0, "d"], [22027, 0, ","], [22028, 0, "b"], [22029, 0, "l"], [22030, 0, "u"], [22031, 0, "e"], [22032, 0, ","], [20870, 0, " "], [20871, 0, "["], [20872, 0, "r"], [20873, 0, "e"], [20874, 0, "c"], [20875, 0, "t"], [20876, 0, "a"], [20877, 0, "n"], [20878, 0, "g"], [20879, 0, "l"], [20880, 0, "e"], [20881, 0, ","], [20882, 0, "d"], [20883, 0, "r"], [20884, 0, "a"], [20885, 0, "w"], [20886, 0, "]"], [20921, 0, " "], [20922, 0, "["], [20923, 0, "r"], [20924, 0, "e"], [20925, 0, "c"], [20926, 0, "t"], [20927, 0, "a"], [20928, 0, "n"], [20929, 0, "g"], [20930, 0, "l"], [20931, 0, "e"], [20932, 0, ","], [20933, 0, "d"], [20934, 0, "r"], [20935, 0, "a"], [20936, 0, "w"], [20937, 0, "]"], [20972, 0, " "], [20973, 0, "["], [20974, 0, "r"], [20975, 0, "e"], [20976, 0, "c"], [20977, 0, "t"], [20978, 0, "a"], [20979, 0, "n"], [20980, 0, "g"], [20981, 0, "l"], [20982, 0, "e"], [20983, 0, ","], [20984, 0, "d"], [20985, 0, "r"], [20986, 0, "a"], [20987, 0, "w"], [20988, 0, "]"], [21034, 0, " "], [21035, 0, "["], [21036, 0, "r"], [21037, 0, "e"], [21038, 0, "c"], [21039, 0, "t"], [21040, 0, "a"], [21041, 0, "n"], [21042, 0, "g"], [21043, 0, "l"], [21044, 0, "e"], [21045, 0, ","], [21046, 0, "d"], [21047, 0, "r"], [21048, 0, "a"], [21049, 0, "w"], [21050, 0, "]"], [21096, 0, " "], [21097, 0, "["], [21098, 0, "r"], [21099, 0, "e"], [21100, 0, "c"], [21101, 0, "t"], [21102, 0, "a"], [21103, 0, "n"], [21104, 0, "g"], [21105, 0, "l"], [21106, 0, "e"], [21107, 0, ","], [21108, 0, "d"], [21109, 0, "r"], [21110, 0, "a"], [21111, 0, "w"], [21112, 0, "]"], [21166, 0, " "], [21167, 0, "["], [21168, 0, "r"], [21169, 0, "e"], [21170, 0, "c"], [21171, 0, "t"], [21172, 0, "a"], [21173, 0, "n"], [21174, 0, "g"], [21175, 0, "l"], [21176, 0, "e"], [21177, 0, ","], [21178, 0, "d"], [21179, 0, "r"], [21180, 0, "a"], [21181, 0, "w"], [21182, 0, "]"], [21246, 0, "["], [21247, 0, "r"], [21248, 0, "e"], [21249, 0, "c"], [21250, 0, "t"], [21251, 0, "a"], [21252, 0, "n"], [21253, 0, "g"], [21254, 0, "l"], [21255, 0, "e"], [21256, 0, ","], [21257, 0, "d"], [21258, 0, "r"], [21259, 0, "a"], [21260, 0, "w"], [21261, 0, "]"], [21262, 0, " "], [21315, 0, " "], [21316, 0, "["], [21317, 0, "r"], [21318, 0, "e"], [21319, 0, "c"], [21320, 0, "t"], [21321, 0, "n"], [21322, 0, "a"], [21322, 1], [21321, 1], [21321, 0, "a"], [21322, 0, "n"], [21323, 0, "g"], [21324, 0, "l"], [21325, 0, "e"], [21326, 0, ","], [21327, 0, "d"], [21328, 0, "r"], [21329, 0, "a"], [21330, 0, "w"], [21331, 0, "]"], [21397, 0, " "], [21397, 1], [21397, 0, "["], [21398, 0, "r"], [21399, 0, "e"], [21400, 0, "c"], [21401, 0, "t"], [21402, 0, "a"], [21403, 0, "n"], [21404, 0, "g"], [21405, 0, "l"], [21406, 0, "e"], [21407, 0, ","], [21408, 0, "d"], [21409, 0, "r"], [21410, 0, "a"], [21411, 0, "w"], [21412, 0, "]"], [21413, 0, " "], [21496, 0, " "], [21497, 0, "["], [21498, 0, "r"], [21499, 0, "e"], [21500, 0, "c"], [21501, 0, "t"], [21502, 0, "a"], [21503, 0, "n"], [21504, 0, "g"], [21505, 0, "l"], [21506, 0, "e"], [21507, 0, ","], [21508, 0, "d"], [21509, 0, "r"], [21510, 0, "a"], [21511, 0, "w"], [21512, 0, "]"], [21494, 1], [21493, 1], [21393, 1], [21393, 1], [21311, 1], [21311, 1], [21311, 1], [21311, 0, "2"], [21241, 1], [21241, 1], [21241, 1], [21241, 0, "4"], [21162, 1], [21162, 1], [21162, 1], [21162, 0, "2"], [21092, 1], [21092, 1], [21092, 1], [21092, 0, "4"], [21030, 1], [21030, 1], [21030, 1], [21030, 0, "6"], [20968, 1], [20968, 1], [20968, 1], [20968, 0, "6"], [20917, 1], [20917, 1], [20917, 1], [20917, 0, "8"], [20866, 1], [20866, 1], [20866, 1], [20866, 0, "8"], [20913, 1], [20913, 0, "1"], [20914, 0, "0"], [20864, 0, " "], [20964, 0, " "], [21025, 1], [21025, 0, "2"], [21026, 0, "0"], [21026, 1], [21025, 1], [21025, 0, "1"], [21026, 0, "0"], [21086, 0, " "], [21086, 1], [21085, 0, " "], [20964, 1], [20963, 0, " "], [20864, 1], [20863, 0, " "], [21154, 0, " "], [21233, 1], [21233, 0, "1"], [21234, 0, "0"], [21302, 1], [21302, 0, "2"], [21303, 0, "0"], [21303, 1], [21302, 1], [21302, 0, "1"], [21303, 0, "0"], [21381, 0, " "], [21481, 1], [21481, 0, "1"], [21482, 0, "0"], [22152, 0, "."], [22153, 0, "s"], [22154, 0, "o"], [22155, 0, "u"], [22156, 0, "t"], [22157, 0, "h"], [22158, 0, " "], [22159, 0, "e"], [22160, 0, "a"], [22161, 0, "s"], [22162, 0, "t"], [22176, 0, "."], [22177, 0, "s"], [22178, 0, "o"], [22179, 0, "u"], [22180, 0, "t"], [22181, 0, "h"], [22182, 0, " "], [22183, 0, "w"], [22184, 0, "e"], [22185, 0, "s"], [22186, 0, "t"], [22226, 0, "."], [22227, 0, "n"], [22228, 0, "o"], [22229, 0, "r"], [22230, 0, "t"], [22231, 0, "h"], [22232, 0, " "], [22233, 0, "w"], [22234, 0, "e"], [22235, 0, "s"], [22236, 0, "t"], [22236, 1], [22235, 1], [22234, 1], [22233, 1], [22233, 0, "e"], [22234, 0, "a"], [22235, 0, "s"], [22236, 0, "t"], [22248, 0, "."], [22249, 0, "n"], [22250, 0, "o"], [22181, 1], [22180, 1], [22179, 1], [22178, 1], [22177, 1], [22177, 0, "n"], [22178, 0, "o"], [22179, 0, "r"], [22180, 0, "t"], [22181, 0, "h"], [22231, 1], [22230, 1], [22229, 1], [22228, 1], [22227, 1], [22227, 0, "s"], [22228, 0, "o"], [22229, 0, "u"], [22230, 0, "t"], [22231, 0, "h"], [22232, 0, " "], [22233, 0, "w"], [22234, 0, "e"], [22235, 0, "s"], [22236, 0, "t"], [22237, 1], [22237, 1], [22237, 1], [22237, 1], [22237, 1], [22251, 0, "r"], [22252, 0, "t"], [22253, 0, "h"], [22254, 0, " "], [22255, 0, "e"], [22256, 0, "a"], [22257, 0, "s"], [22258, 0, "t"], [20844, 0, "\n"], [20845, 0, "\\"], [20846, 0, "p"], [20847, 0, "a"], [20848, 0, "t"], [20849, 0, "h"], [20850, 0, " "], [20851, 0, "["], [20852, 0, "d"], [20853, 0, "r"], [20854, 0, "a"], [20855, 0, "w"], [20856, 0, ","], [20857, 0, "d"], [20858, 0, "o"], [20859, 0, "t"], [20860, 0, "t"], [20861, 0, "e"], [20862, 0, "d"], [20863, 0, "]"], [20864, 0, " "], [20865, 0, "("], [20866, 0, "5"], [20867, 0, ","], [20868, 0, "-"], [20869, 0, "0"], [20870, 0, "."], [20871, 0, "5"], [20872, 0, ")"], [20873, 0, " "], [20874, 0, "-"], [20875, 0, "-"], [20876, 0, " "], [20877, 0, "("], [20878, 0, "5"], [20879, 0, ","], [20880, 0, "8"], [20881, 0, "."], [20882, 0, "5"], [20883, 0, ")"], [20884, 0, ";"], [22203, 1], [22202, 1], [22201, 1], [22200, 1], [22199, 1], [22268, 1], [22268, 1], [22268, 1], [22268, 1], [22268, 1], [22204, 0, " "], [22205, 0, "["], [22206, 0, "o"], [22207, 0, "u"], [22208, 0, "t"], [22209, 0, "="], [22210, 0, "1"], [22211, 0, "8"], [22212, 0, "0"], [22213, 0, "]"], [22282, 0, " "], [22283, 0, "["], [22284, 0, "o"], [22285, 0, "u"], [22286, 0, "t"], [22287, 0, "="], [22288, 0, "1"], [22289, 0, "8"], [22290, 0, "0"], [22291, 0, "]"], [22211, 1], [22210, 1], [22210, 0, "9"], [22288, 1], [22287, 1], [22287, 0, "9"], [22287, 1], [22287, 0, "2"], [22288, 0, "7"], [22210, 1], [22210, 0, "2"], [22211, 0, "7"], [22213, 0, ","], [22214, 0, "i"], [22215, 0, "n"], [22216, 0, "="], [22217, 0, "4"], [22218, 0, "5"], [22297, 0, ","], [22298, 0, "i"], [22299, 0, "n"], [22300, 0, "="], [22301, 0, "1"], [22302, 0, "3"], [22303, 0, "5"], [22218, 1], [22217, 1], [22217, 0, "1"], [22218, 0, "3"], [22219, 0, "5"], [22304, 1], [22303, 1], [22302, 1], [22302, 0, "4"], [22303, 0, "5"], [20082, 1], [20081, 1], [20080, 1], [20079, 1], [20078, 1], [20147, 1], [20147, 1], [20147, 1], [20147, 1], [20147, 1], [20083, 0, " "], [20084, 0, "["], [20085, 0, "o"], [20086, 0, "u"], [20087, 0, "t"], [20088, 0, "="], [20089, 0, "2"], [20090, 0, "7"], [20091, 0, "0"], [20092, 0, ","], [20093, 0, "i"], [20094, 0, "n"], [20095, 0, "="], [20096, 0, "1"], [20097, 0, "3"], [20098, 0, "5"], [20099, 0, "]"], [20168, 0, " "], [20169, 0, "["], [20170, 0, "o"], [20171, 0, "u"], [20172, 0, "t"], [20172, 1], [20172, 0, "="], [20172, 1], [20172, 0, "t"], [20173, 0, "="], [20174, 0, "2"], [20175, 0, "7"], [20176, 0, "8"], [20176, 1], [20176, 0, "0"], [20177, 0, ","], [20178, 0, "i"], [20179, 0, "n"], [20180, 0, "="], [20181, 0, "4"], [20182, 0, "5"], [20183, 0, "]"], [20184, 0, " "], [22330, 0, " "], [19315, 1], [19315, 0, "3"], [19250, 1], [19250, 0, "5"], [19106, 1], [19106, 0, "4"], [19011, 1], [19011, 0, "7"], [18924, 1], [18924, 0, "7"], [18897, 1], [18897, 0, "7"], [17579, 1], [17578, 1], [17578, 0, " "], [17579, 0, "t"], [17580, 0, "o"], [17581, 0, " "], [17581, 1], [17653, 1], [17652, 1], [17652, 0, "t"], [17653, 0, "o"], [17581, 0, " "], [17582, 0, "["], [17583, 0, "o"], [17584, 0, "u"], [17585, 0, "t"], [17586, 0, "="], [17587, 0, "2"], [17588, 0, "8"], [17589, 0, "0"], [17589, 1], [17588, 1], [17587, 1], [17587, 0, "1"], [17588, 0, "8"], [17589, 0, "0"], [17590, 0, "]"], [17575, 1], [17574, 1], [17573, 1], [17572, 1], [17571, 1], [17650, 1], [17650, 1], [17650, 1], [17650, 1], [17650, 1], [17654, 0, " "], [17655, 0, "["], [17656, 0, "o"], [17657, 0, "u"], [17658, 0, "t"], [17659, 0, "="], [17659, 1], [17659, 0, "="], [17660, 0, "1"], [17661, 0, "8"], [17662, 0, "0"], [17663, 0, "]"], [17585, 0, ","], [17586, 0, "i"], [17587, 0, "n"], [17588, 0, "="], [17589, 0, "1"], [17590, 0, "3"], [17591, 0, "5"], [17670, 0, ","], [17671, 0, "i"], [17672, 0, "n"], [17673, 0, "="], [17674, 0, "4"], [17675, 0, "5"], [17677, 0, " "], [17260, 1], [17260, 0, "5"], [17582, 1], [17582, 1], [17582, 0, "2"], [17583, 0, "7"], [17668, 1], [17667, 1], [17667, 0, "2"], [17668, 0, "7"], [17110, 1], [17110, 0, "0"], [17111, 0, "."], [17112, 0, "5"], [17186, 1], [17186, 0, "0"], [17187, 0, "."], [17188, 0, "5"], [16738, 1], [16738, 0, "4"], [16741, 1], [16741, 1], [16747, 1], [16747, 0, "4"], [17262, 1], [17261, 1], [17110, 1], [17109, 1], [17183, 1], [17183, 1], [16740, 0, "-"], [16742, 0, "."], [16743, 0, "5"], [17259, 1], [17259, 0, "1"], [17260, 0, "."], [17261, 0, "8"], [19714, 0, "\n"], [19715, 0, "\\"], [19716, 0, "n"], [19717, 0, "o"], [19718, 0, "d"], [19719, 0, "e"], [19720, 0, " "], [19721, 0, "("], [19722, 0, "c"], [19723, 0, "o"], [19724, 0, "m"], [19725, 0, "m"], [19726, 0, "s"], [19727, 0, ")"], [19728, 0, " "], [19729, 0, " "], [19730, 0, "a"], [19731, 0, "t"], [19732, 0, " "], [19733, 0, "("], [19734, 0, "4"], [19735, 0, ","], [19736, 0, "1"], [19737, 0, "."], [19738, 0, "8"], [19739, 0, ")"], [19740, 0, " "], [19741, 0, "["], [19742, 0, "t"], [19743, 0, "e"], [19744, 0, "x"], [19745, 0, "t"], [19746, 0, "="], [19747, 0, "b"], [19748, 0, "l"], [19749, 0, "u"], [19750, 0, "e"], [19751, 0, "]"], [19752, 0, " "], [19753, 0, "{"], [19754, 0, "\\"], [19755, 0, "f"], [19756, 0, "o"], [19757, 0, "o"], [19758, 0, "t"], [19759, 0, "n"], [19760, 0, "o"], [19761, 0, "t"], [19762, 0, "e"], [19763, 0, "s"], [19764, 0, "i"], [19765, 0, "z"], [19766, 0, "e"], [19767, 0, " "], [19768, 0, "n"], [19769, 0, "e"], [19770, 0, "t"], [19771, 0, "w"], [19772, 0, "o"], [19773, 0, "r"], [19774, 0, "k"], [19775, 0, " "], [19776, 0, "c"], [19777, 0, "o"], [19778, 0, "m"], [19779, 0, "m"], [19780, 0, "u"], [19781, 0, "n"], [19782, 0, "i"], [19783, 0, "c"], [19784, 0, "a"], [19785, 0, "t"], [19786, 0, "i"], [19787, 0, "o"], [19788, 0, "n"], [19789, 0, "}"], [19790, 0, ";"], [19729, 1], [19735, 1], [19735, 1], [19735, 1], [19735, 0, "2"], [19736, 0, "."], [19737, 0, "5"], [19737, 1], [19736, 1], [19736, 0, "."], [19737, 0, "1"], [21727, 0, "\n"], [21728, 0, "\\"], [21729, 0, "n"], [21730, 0, "o"], [21731, 0, "d"], [21732, 0, "e"], [21733, 0, " "], [21734, 0, "("], [21735, 0, "c"], [21736, 0, "o"], [21737, 0, "m"], [21738, 0, "m"], [21739, 0, "s"], [21740, 0, ")"], [21741, 0, " "], [21742, 0, "a"], [21743, 0, "t"], [21744, 0, " "], [21745, 0, "("], [21745, 1], [21745, 0, " "], [21742, 0, " "], [21746, 1], [21746, 0, " "], [21747, 0, "("], [21748, 0, "5"], [21749, 0, ","], [21750, 0, "1"], [21751, 0, "."], [21752, 0, "8"], [21753, 0, ")"], [21754, 0, " "], [21755, 0, "["], [21756, 0, "t"], [21757, 0, "e"], [21758, 0, "x"], [21759, 0, "t"], [21760, 0, "="], [21761, 0, "b"], [21762, 0, "l"], [21763, 0, "u"], [21764, 0, "e"], [21765, 0, "]"], [21766, 0, " "], [21767, 0, "{"], [21768, 0, "\\"], [21769, 0, "f"], [21770, 0, "o"], [21771, 0, "o"], [21772, 0, "t"], [21773, 0, "n"], [21774, 0, "o"], [21775, 0, "t"], [21776, 0, "e"], [21777, 0, "s"], [21778, 0, "i"], [21779, 0, "z"], [21780, 0, "e"], [21781, 0, " "], [21782, 0, "n"], [21783, 0, "e"], [21784, 0, "t"], [21785, 0, "w"], [21786, 0, "o"], [21787, 0, "r"], [21788, 0, "k"], [21789, 0, " "], [21790, 0, "c"], [21791, 0, "o"], [21792, 0, "m"], [21793, 0, "m"], [21794, 0, "u"], [21795, 0, "n"], [21796, 0, "i"], [21797, 0, "c"], [21798, 0, "a"], [21799, 0, "t"], [21800, 0, "i"], [21801, 0, "o"], [21802, 0, "n"], [21803, 0, "}"], [21804, 0, ";"], [21752, 1], [21752, 0, "2"], [21752, 1], [21752, 0, "4"], [17261, 1], [17261, 0, "6"], [23374, 0, ","], [23375, 0, "s"], [23376, 0, "c"], [23377, 0, "a"], [23378, 0, "l"], [23379, 0, "e"], [23380, 0, "="], [23381, 0, "0"], [23382, 0, "."], [23383, 0, "8"], [23409, 1], [23408, 1], [23407, 1], [23407, 0, "4"], [23490, 1], [23490, 1], [23490, 1], [23490, 0, "2"], [23537, 1], [23537, 1], [23537, 1], [23537, 0, "2"], [23620, 1], [23620, 1], [23681, 1], [23681, 1], [23416, 1], [23415, 1], [23414, 1], [23413, 1], [23412, 1], [23490, 1], [23490, 1], [23490, 1], [23490, 1], [23490, 1], [23532, 1], [23532, 1], [23532, 1], [23532, 1], [23532, 1], [23609, 1], [23609, 1], [23609, 1], [23609, 1], [23609, 1], [23665, 1], [23665, 1], [23665, 1], [23665, 1], [23665, 1], [23413, 1], [23413, 0, "`"], [23414, 0, "`"], [23492, 1], [23492, 0, "`"], [23493, 0, "`"], [23535, 1], [23535, 0, "`"], [23536, 0, "`"], [23613, 1], [23613, 0, "`"], [23614, 0, "`"], [23670, 1], [23670, 0, "`"], [23671, 0, "`"], [23419, 1], [23419, 0, "'"], [23420, 0, "'"], [23499, 1], [23499, 0, "'"], [23500, 0, "'"], [23543, 1], [23543, 0, "'"], [23544, 0, "'"], [23622, 1], [23622, 0, "'"], [23623, 0, "'"], [23680, 1], [23680, 0, "'"], [23681, 0, "'"], [23424, 0, "\\"], [23426, 1], [23426, 0, "`"], [23427, 0, "`"], [23433, 1], [23433, 0, "'"], [23434, 0, "'"], [23437, 1], [23437, 0, "`"], [23438, 0, "`"], [23447, 1], [23447, 0, "'"], [23448, 0, "'"], [23451, 1], [23451, 0, "`"], [23452, 0, "`"], [23457, 1], [23457, 0, "'"], [23458, 0, "'"], [23466, 0, "\\"], [23469, 0, "\\"], [23471, 1], [23514, 1], [23513, 0, "\\"], [23556, 0, "\\"], [23558, 1], [23558, 0, "`"], [23559, 0, "`"], [23565, 1], [23565, 0, "'"], [23566, 0, "'"], [23569, 1], [23569, 0, "`"], [23570, 0, "`"], [23579, 1], [23579, 0, "'"], [23580, 0, "'"], [23583, 1], [23583, 0, "`"], [23584, 0, "`"], [23589, 1], [23589, 0, "'"], [23590, 0, "'"], [23597, 0, "\\"], [23600, 0, "\\"], [23602, 1], [23643, 0, "\\"], [23702, 0, "\\"], [23645, 1], [23645, 0, "`"], [23646, 0, "`"], [23705, 1], [23705, 0, "`"], [23706, 0, "`"], [23651, 1], [23651, 0, "'"], [23652, 0, "'"], [23713, 0, "="], [23713, 1], [23712, 1], [23712, 0, "'"], [23713, 0, "'"], [23659, 0, "\\"], [23721, 0, "\\"], [23662, 0, "\\"], [23725, 0, "\\"], [23727, 1], [23664, 1], [23784, 1], [23783, 1], [23782, 1], [23781, 1], [23780, 1], [23779, 1], [23778, 1], [23777, 1], [23776, 1], [23775, 1], [23774, 1], [23773, 1], [23772, 1], [23771, 1], [23770, 1], [23769, 1], [23768, 1], [23769, 0, " "], [23868, 1], [23868, 1], [23868, 1], [23868, 1], [23868, 1], [23868, 1], [23868, 1], [23868, 1], [23868, 1], [23868, 1], [23868, 1], [23868, 1], [23868, 1], [23868, 1], [23868, 1], [23868, 1], [23772, 1], [23772, 1], [23772, 1], [23772, 1], [23772, 1], [23772, 1], [23772, 1], [23772, 1], [23772, 1], [23772, 1], [23772, 1], [23772, 1], [23772, 1], [23772, 1], [23857, 1], [23857, 1], [23857, 1], [23857, 1], [23857, 1], [23857, 1], [23857, 1], [23857, 1], [23857, 1], [23857, 1], [23857, 1], [23857, 1], [23857, 1], [23857, 1], [23954, 1], [23954, 1], [23954, 1], [23940, 1], [23940, 1], [23940, 1], [23940, 1], [23940, 1], [23940, 1], [23940, 1], [23940, 1], [23940, 1], [23940, 1], [23940, 1], [23940, 1], [23940, 1], [23940, 1], [23940, 1], [23940, 1], [23940, 1], [23940, 1], [23940, 1], [23940, 1], [23940, 1], [23940, 1], [23940, 1], [23940, 1], [23940, 1], [23940, 1], [23940, 1], [23940, 1], [23940, 1], [23940, 1], [23940, 1], [23940, 1], [23940, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [23978, 1], [24001, 0, "d"], [24002, 0, "a"], [24003, 0, "s"], [24004, 0, "h"], [24005, 0, "e"], [24006, 0, "d"], [24007, 0, ","], [24008, 0, "b"], [24009, 0, "l"], [24010, 0, "u"], [24011, 0, "e"], [24012, 0, ","], [24052, 0, "d"], [24053, 0, "a"], [24054, 0, "s"], [24055, 0, "h"], [24056, 0, "e"], [24057, 0, "d"], [24058, 0, ","], [24059, 0, "b"], [24060, 0, "l"], [24061, 0, "u"], [24062, 0, "e"], [24063, 0, ","], [24023, 0, "."], [24024, 0, "s"], [24025, 0, "o"], [24026, 0, "u"], [24027, 0, "t"], [24028, 0, "h"], [24081, 0, "."], [24082, 0, "s"], [24083, 0, "o"], [24084, 0, "u"], [24085, 0, "t"], [24086, 0, "h"], [24034, 0, " "], [24035, 0, "["], [24036, 0, "o"], [24037, 0, "u"], [24038, 0, "t"], [24039, 0, "="], [24040, 0, "2"], [24041, 0, "8"], [24042, 0, "0"], [24042, 1], [24041, 1], [24041, 0, "7"], [24042, 0, "0"], [24043, 0, "]"], [24043, 1], [24043, 0, ","], [24044, 0, "i"], [24045, 0, "n"], [24046, 0, "="], [24047, 0, "1"], [24048, 0, "3"], [24049, 0, "5"], [24050, 0, "]"], [24108, 0, " "], [24109, 0, "["], [24110, 0, "o"], [24111, 0, "u"], [24112, 0, "t"], [24113, 0, "="], [24114, 0, "2"], [24115, 0, "7"], [24116, 0, "0"], [24117, 0, ","], [24118, 0, "i"], [24119, 0, "n"], [24120, 0, "="], [24121, 0, "4"], [24122, 0, "5"], [24123, 0, "]"], [24124, 0, " "], [24059, 0, "."], [24060, 0, "n"], [24061, 0, "o"], [24062, 0, "r"], [24063, 0, "t"], [24064, 0, "h"], [24065, 0, " "], [24066, 0, "w"], [24067, 0, "e"], [24068, 0, "s"], [24069, 0, "t"], [24143, 0, "."], [24144, 0, "n"], [24145, 0, "o"], [24146, 0, "r"], [24147, 0, "t"], [24148, 0, "h"], [24149, 0, " "], [24150, 0, "e"], [24151, 0, "a"], [24152, 0, "s"], [24153, 0, "t"], [23409, 0, " "], [23410, 0, "["], [23411, 0, "r"], [23412, 0, "e"], [23413, 0, "c"], [23414, 0, "t"], [23415, 0, "a"], [23416, 0, "n"], [23417, 0, "g"], [23418, 0, "l"], [23419, 0, "e"], [23420, 0, ","], [23421, 0, "d"], [23422, 0, "r"], [23423, 0, "a"], [23424, 0, "w"], [23425, 0, "]"], [23514, 0, " "], [23515, 0, "["], [23516, 0, "r"], [23517, 0, "e"], [23518, 0, "c"], [23519, 0, "t"], [23520, 0, "a"], [23521, 0, "n"], [23522, 0, "g"], [23523, 0, "l"], [23524, 0, "e"], [23525, 0, ","], [23526, 0, "d"], [23527, 0, "r"], [23528, 0, "a"], [23529, 0, "w"], [23530, 0, "]"], [23575, 0, " "], [23576, 0, "["], [23577, 0, "r"], [23578, 0, "e"], [23579, 0, "c"], [23580, 0, "t"], [23581, 0, "a"], [23582, 0, "n"], [23583, 0, "g"], [23584, 0, "l"], [23585, 0, "e"], [23586, 0, ","], [23587, 0, "d"], [23588, 0, "r"], [23589, 0, "a"], [23590, 0, "w"], [23591, 0, "]"], [23679, 0, " "], [23680, 0, "["], [23681, 0, "r"], [23682, 0, "e"], [23683, 0, "c"], [23684, 0, "t"], [23685, 0, "a"], [23686, 0, "n"], [23687, 0, "g"], [23688, 0, "l"], [23689, 0, "e"], [23690, 0, ","], [23691, 0, "d"], [23692, 0, "r"], [23693, 0, "a"], [23694, 0, "w"], [23695, 0, "]"], [23758, 0, " "], [23759, 0, "["], [23760, 0, "r"], [23761, 0, "e"], [23762, 0, "c"], [23763, 0, "t"], [23764, 0, "a"], [23765, 0, "n"], [23766, 0, "g"], [23767, 0, "l"], [23768, 0, "e"], [23769, 0, ","], [23770, 0, "d"], [23771, 0, "r"], [23772, 0, "a"], [23773, 0, "w"], [23774, 0, "]"], [23405, 1], [23405, 0, "0"], [23407, 1], [23407, 0, "4"], [23490, 0, "\n"], [23491, 0, "\\"], [23492, 0, "n"], [23493, 0, "o"], [23494, 0, "d"], [23495, 0, "e"], [23496, 0, " "], [23497, 0, "("], [23498, 0, "r"], [23499, 0, "i"], [23500, 0, "g"], [23501, 0, "h"], [23502, 0, "t"], [23503, 0, "0"], [23504, 0, ")"], [23397, 1], [23396, 1], [23395, 1], [23394, 1], [23393, 1], [23393, 0, "l"], [23394, 0, "e"], [23395, 0, "f"], [23396, 0, "t"], [23397, 0, "0"], [23505, 0, " "], [23506, 0, "a"], [23507, 0, "t"], [23508, 0, " "], [23509, 0, "("], [23510, 0, "8"], [23511, 0, ","], [23512, 0, "4"], [23513, 0, ")"], [23514, 0, " "], [23515, 0, "["], [23516, 0, "r"], [23517, 0, "e"], [23518, 0, "c"], [23519, 0, "t"], [23520, 0, "a"], [23521, 0, "n"], [23522, 0, "g"], [23523, 0, "l"], [23524, 0, "e"], [23525, 0, ","], [23526, 0, "d"], [23527, 0, "r"], [23528, 0, "a"], [23529, 0, "w"], [23530, 0, "]"], [23531, 0, " "], [23532, 0, "{"], [23533, 0, "\\"], [23534, 0, "{"], [23535, 0, "`"], [23536, 0, "`"], [23537, 0, "t"], [23538, 0, "o"], [23539, 0, "d"], [23540, 0, "o"], [23541, 0, "'"], [23542, 0, "'"], [23543, 0, ":"], [23544, 0, " "], [23545, 0, "["], [23546, 0, "\\"], [23547, 0, "{"], [23548, 0, "`"], [23549, 0, "`"], [23550, 0, "t"], [23551, 0, "i"], [23552, 0, "t"], [23553, 0, "l"], [23554, 0, "e"], [23555, 0, "'"], [23556, 0, "'"], [23557, 0, ":"], [23558, 0, " "], [23559, 0, "`"], [23560, 0, "`"], [23561, 0, "b"], [23562, 0, "u"], [23563, 0, "y"], [23564, 0, " "], [23565, 0, "m"], [23566, 0, "i"], [23567, 0, "l"], [23568, 0, "k"], [23569, 0, "'"], [23570, 0, "'"], [23571, 0, ","], [23572, 0, " "], [23573, 0, "`"], [23574, 0, "`"], [23575, 0, "d"], [23576, 0, "o"], [23577, 0, "n"], [23578, 0, "e"], [23579, 0, "'"], [23580, 0, "'"], [23581, 0, ":"], [23582, 0, " "], [23583, 0, "f"], [23584, 0, "a"], [23585, 0, "l"], [23586, 0, "s"], [23587, 0, "e"], [23588, 0, "\\"], [23589, 0, "}"], [23590, 0, "]"], [23591, 0, "\\"], [23592, 0, "}"], [23593, 0, "]"], [23593, 1], [23593, 0, "}"], [23594, 0, "'"], [23594, 1], [23594, 0, ";"], [23941, 1], [23940, 1], [23939, 1], [23938, 1], [23937, 1], [23937, 0, "l"], [23938, 0, "e"], [23939, 0, "f"], [23940, 0, "t"], [23941, 0, "0"], [24026, 1], [24025, 1], [24024, 1], [24023, 1], [24022, 1], [24022, 0, "r"], [24023, 0, "i"], [24024, 0, "g"], [24025, 0, "h"], [24026, 0, "t"], [24027, 0, "0"], [24029, 1], [23391, 0, " "], [23392, 0, "["], [23393, 0, "m"], [23394, 0, "a"], [23395, 0, "t"], [23396, 0, "r"], [23397, 0, "i"], [23398, 0, "x"], [23399, 0, "]"], [23505, 0, " "], [23506, 0, "["], [23507, 0, "m"], [23508, 0, "a"], [23509, 0, "t"], [23510, 0, "r"], [23511, 0, "i"], [23512, 0, "x"], [23513, 0, "]"], [23408, 1], [23436, 0, "\n"], [23437, 0, " "], [23438, 0, " "], [23439, 0, " "], [23440, 0, " "], [23441, 0, "\\"], [23442, 0, "n"], [23443, 0, "o"], [23444, 0, "d"], [23445, 0, "e"], [23446, 0, " "], [23447, 0, "{"], [23487, 0, "}"], [23488, 0, ";"], [23489, 0, " "], [23490, 0, "\\"], [23491, 0, "\\"], [23492, 0, "\n"], [23493, 0, " "], [23494, 0, " "], [23495, 0, " "], [23496, 0, " "], [23497, 0, "\\"], [23498, 0, "\\"], [23499, 0, "n"], [23500, 0, "o"], [23501, 0, "d"], [23501, 1], [23500, 1], [23499, 1], [23498, 1], [23498, 0, "n"], [23499, 0, "o"], [23500, 0, "d"], [23501, 0, "e"], [23502, 0, " "], [23503, 0, "{"], [23504, 1], [23526, 0, " "], [23527, 0, "\\"], [23528, 0, "\\"], [23529, 0, "\n"], [23530, 0, "}"], [23531, 0, ";"], [23584, 0, "\n"], [23585, 0, " "], [23586, 0, " "], [23587, 0, " "], [23588, 0, " "], [23589, 0, "\\"], [23590, 0, "n"], [23591, 0, "o"], [23592, 0, "d"], [23593, 0, "e"], [23594, 0, " "], [23595, 0, "{"], [23635, 0, "}"], [23636, 0, ";"], [23637, 0, " "], [23638, 0, "\\"], [23639, 0, "\\"], [23640, 0, "\n"], [23641, 0, " "], [23642, 0, " "], [23644, 0, " "], [23645, 0, "\\"], [23646, 0, "n"], [23647, 0, "o"], [23648, 0, "d"], [23649, 0, "e"], [23650, 0, " "], [23651, 0, "{"], [23674, 0, " "], [23675, 0, "\\"], [23676, 0, "\\"], [23677, 0, "\n"], [23678, 0, "}"], [23679, 0, ";"], [23563, 1], [23563, 0, "5"], [23415, 1], [23415, 0, "5"], [23763, 1], [23763, 0, "3"], [23702, 1], [23702, 0, "3"], [23563, 1], [23563, 0, "6"], [23415, 1], [23415, 0, "6"], [23747, 0, " "], [23748, 0, "["], [23749, 0, "m"], [23750, 0, "a"], [23751, 0, "t"], [23752, 0, "r"], [23753, 0, "i"], [23754, 0, "x"], [23755, 0, "]"], [23793, 0, "\n"], [23794, 0, " "], [23795, 0, " "], [23796, 0, " "], [23797, 0, " "], [23798, 0, "\\"], [23799, 0, "n"], [23800, 0, "o"], [23801, 0, "d"], [23802, 0, "e"], [23803, 0, " "], [23804, 0, "{"], [23844, 1], [23844, 0, "}"], [23845, 0, ";"], [23846, 0, " "], [23847, 0, "\\"], [23848, 0, "\\"], [23849, 0, "\n"], [23850, 0, " "], [23851, 0, " "], [23852, 0, " "], [23853, 0, " "], [23854, 0, "\\"], [23855, 0, "n"], [23856, 0, "o"], [23857, 0, "d"], [23858, 0, "e"], [23859, 0, " "], [23860, 0, "{"], [23882, 0, " "], [23883, 0, "\\"], [23884, 0, "\\"], [23885, 0, "\n"], [23886, 0, "}"], [23887, 0, ";"], [23385, 0, "\n"], [23386, 0, "\\"], [23387, 0, "n"], [23388, 0, "o"], [23389, 0, "d"], [23390, 0, "e"], [23391, 0, " "], [23392, 0, "("], [23393, 0, "l"], [23394, 0, "e"], [23395, 0, "f"], [23396, 0, "t"], [23397, 0, "R"], [23398, 0, ")"], [23399, 0, " "], [23400, 0, "a"], [23401, 0, "t"], [23402, 0, " "], [23403, 0, "9"], [23403, 1], [23403, 0, "("], [23404, 0, "0"], [23405, 0, "."], [23405, 1], [23405, 0, ","], [23406, 0, "8"], [23407, 0, ")"], [23408, 0, " "], [23409, 0, "{"], [23410, 0, "R"], [23411, 0, "e"], [23412, 0, "p"], [23413, 0, "l"], [23414, 0, "i"], [23415, 0, "c"], [23416, 0, "a"], [23417, 0, " "], [23418, 0, "$"], [23419, 0, "p"], [23420, 0, "$"], [23421, 0, ":"], [23422, 0, "}"], [23423, 0, ";"], [23424, 0, "\n"], [23425, 0, "\\"], [23426, 0, "n"], [23427, 0, "o"], [23428, 0, "d"], [23429, 0, "e"], [23430, 0, " "], [23431, 0, "("], [23432, 0, "r"], [23433, 0, "i"], [23434, 0, "g"], [23435, 0, "h"], [23436, 0, "t"], [23437, 0, "R"], [23438, 0, ")"], [23439, 0, " "], [23400, 0, " "], [23441, 0, "a"], [23442, 0, "t"], [23443, 0, " "], [23444, 0, "("], [23445, 0, "8"], [23446, 0, ","], [23447, 0, "8"], [23448, 0, ")"], [23449, 0, " "], [23450, 0, "{"], [23451, 0, "R"], [23452, 0, "e"], [23453, 0, "p"], [23454, 0, "l"], [23455, 0, "i"], [23456, 0, "c"], [23457, 0, "a"], [23458, 0, " "], [23459, 0, "$"], [23460, 0, "q"], [23461, 0, "$"], [23462, 0, ":"], [23463, 0, "}"], [23464, 0, ";"], [23447, 1], [23447, 0, "7"], [23448, 0, "."], [23449, 0, "5"], [23407, 1], [23407, 0, "7"], [23408, 0, "."], [23409, 0, "5"], [23469, 0, "\n"], [23470, 0, "\\"], [23470, 1], [23469, 1], [23385, 0, "\n"], [23386, 0, "\\"], [23387, 0, "p"], [23388, 0, "a"], [23389, 0, "t"], [23390, 0, "h"], [23391, 0, " "], [23392, 0, "["], [23393, 0, "d"], [23394, 0, "r"], [23395, 0, "a"], [23396, 0, "w"], [23397, 0, ","], [23398, 0, "d"], [23399, 0, "o"], [23400, 0, "t"], [23401, 0, "t"], [23402, 0, "e"], [23403, 0, "d"], [23404, 0, "]"], [23405, 0, " "], [23406, 0, "("], [23407, 0, "4"], [23408, 0, ","], [23409, 0, "-"], [23410, 0, "0"], [23411, 0, "."], [23412, 0, "5"], [23413, 0, ")"], [23414, 0, " "], [23415, 0, "-"], [23416, 0, "-"], [23417, 0, " "], [23418, 0, "("], [23419, 0, "4"], [23420, 0, ","], [23421, 0, "8"], [23422, 0, ")"], [23423, 0, ";"], [24169, 0, "\n"], [24170, 0, "\\"], [24171, 0, "n"], [24172, 0, "o"], [24173, 0, "d"], [24174, 0, "e"], [24175, 0, " "], [24176, 0, "("], [24177, 0, "c"], [24178, 0, "o"], [24179, 0, "m"], [24180, 0, "m"], [24181, 0, "s"], [24182, 0, ")"], [24183, 0, " "], [24184, 0, " "], [24185, 0, "a"], [24186, 0, "t"], [24187, 0, " "], [24188, 0, "("], [24189, 0, "4"], [24190, 0, ","], [24191, 0, "1"], [24192, 0, "."], [24193, 0, "4"], [24194, 0, ")"], [24195, 0, " "], [24196, 0, "["], [24197, 0, "t"], [24198, 0, "e"], [24199, 0, "x"], [24200, 0, "t"], [24201, 0, "="], [24202, 0, "b"], [24203, 0, "l"], [24204, 0, "u"], [24205, 0, "e"], [24206, 0, "]"], [24207, 0, " "], [24208, 0, "{"], [24209, 0, "\\"], [24210, 0, "f"], [24211, 0, "o"], [24212, 0, "o"], [24213, 0, "t"], [24214, 0, "n"], [24215, 0, "o"], [24216, 0, "t"], [24217, 0, "e"], [24218, 0, "s"], [24219, 0, "i"], [24220, 0, "z"], [24221, 0, "e"], [24222, 0, " "], [24223, 0, "n"], [24224, 0, "e"], [24225, 0, "t"], [24226, 0, "w"], [24227, 0, "o"], [24228, 0, "r"], [24229, 0, "k"], [24230, 0, " "], [24231, 0, "c"], [24232, 0, "o"], [24233, 0, "m"], [24234, 0, "m"], [24235, 0, "u"], [24236, 0, "n"], [24237, 0, "i"], [24238, 0, "c"], [24239, 0, "a"], [24240, 0, "t"], [24241, 0, "i"], [24242, 0, "o"], [24243, 0, "n"], [24244, 0, "}"], [24245, 0, ";"], [24193, 1], [24193, 0, "6"], [4966, 0, "i"], [4968, 1], [18031, 0, " "], [18032, 0, "I"], [18033, 0, "n"], [18034, 0, " "], [18035, 0, "t"], [18036, 0, "h"], [18037, 0, "e"], [18038, 0, " "], [18039, 0, "e"], [18040, 0, "x"], [18041, 0, "a"], [18042, 0, "m"], [18043, 0, "p"], [18044, 0, "l"], [18045, 0, "e"], [18046, 0, " "], [18047, 0, "t"], [18048, 0, "h"], [18049, 0, "e"], [18050, 0, "r"], [18051, 0, "e"], [18052, 0, " "], [18053, 0, "a"], [18054, 0, "r"], [18055, 0, "e"], [18056, 0, " "], [18057, 0, "t"], [18058, 0, "w"], [18059, 0, "o"], [18060, 0, " "], [18061, 0, "r"], [18062, 0, "e"], [18062, 1], [18061, 1], [18060, 1], [18059, 1], [18058, 1], [18057, 1], [18056, 1], [18055, 1], [18054, 1], [18053, 1], [18052, 1], [18051, 1], [18050, 1], [18049, 1], [18048, 1], [18047, 1], [18046, 1], [18045, 1], [18044, 1], [18043, 1], [18042, 1], [18041, 1], [18040, 1], [18039, 1], [18038, 1], [18037, 1], [18036, 1], [18035, 1], [18035, 0, "a"], [18036, 0, "l"], [18037, 0, "l"], [18038, 0, " "], [18039, 0, "e"], [18040, 0, "x"], [18041, 0, "a"], [18042, 0, "m"], [18043, 0, "p"], [18044, 0, "l"], [18045, 0, "e"], [18046, 0, "s"], [18047, 0, " "], [18047, 1], [18046, 1], [18045, 1], [18044, 1], [18043, 1], [18042, 1], [18041, 1], [18040, 1], [18039, 1], [18038, 1], [18037, 1], [18036, 1], [18035, 1], [18035, 0, "a"], [18036, 0, "l"], [18037, 0, " "], [18038, 0, "o"], [18039, 0, "u"], [18040, 0, "r"], [18040, 1], [18039, 1], [18038, 1], [18037, 1], [18037, 0, "l"], [18038, 0, " "], [18039, 0, "a"], [18039, 1], [18039, 0, "o"], [18040, 0, "u"], [18041, 0, "r"], [18042, 0, " "], [18043, 0, "e"], [18044, 0, "x"], [18045, 0, "a"], [18046, 0, "m"], [18047, 0, "p"], [18048, 0, "l"], [18049, 0, "e"], [18050, 0, "s"], [18051, 0, " "], [18052, 0, "i"], [18053, 0, "n"], [18054, 0, "t"], [18055, 0, "h"], [18056, 0, "i"], [18057, 0, "s"], [18058, 0, " "], [18058, 1], [18057, 1], [18056, 1], [18055, 1], [18054, 1], [18054, 0, " "], [18055, 0, "t"], [18056, 0, "h"], [18057, 0, "i"], [18058, 0, "s"], [18059, 0, " "], [18060, 0, "p"], [18061, 0, "a"], [18062, 0, "p"], [18063, 0, "e"], [18064, 0, "r"], [18065, 0, " "], [18066, 0, "w"], [18067, 0, "e"], [18068, 0, " "], [18069, 0, "a"], [18070, 0, "s"], [18071, 0, "s"], [18072, 0, "u"], [18073, 0, "m"], [18074, 0, "e"], [18075, 0, " "], [18076, 0, "t"], [18077, 0, "w"], [18078, 0, "o"], [18079, 0, " "], [18080, 0, "d"], [18081, 0, "e"], [18082, 0, "v"], [18083, 0, "i"], [18084, 0, "c"], [18085, 0, "e"], [18086, 0, "s"], [18086, 1], [18085, 1], [18084, 1], [18083, 1], [18082, 1], [18081, 1], [18080, 1], [18080, 0, "c"], [18081, 0, "o"], [18082, 0, "m"], [18083, 0, "p"], [18084, 0, "t"], [18085, 0, "u"], [18085, 1], [18084, 1], [18084, 0, "u"], [18085, 0, "t"], [18086, 0, "e"], [18087, 0, "r"], [18088, 0, " "], [18089, 0, "d"], [18089, 1], [18088, 1], [18087, 1], [18086, 1], [18086, 0, "i"], [18087, 0, "n"], [18088, 0, "g"], [18089, 0, " "], [18090, 0, "d"], [18091, 0, "e"], [18092, 0, "v"], [18093, 0, "i"], [18094, 0, "c"], [18095, 0, "e"], [18096, 0, "s"], [18097, 0, " "], [18098, 0, "l"], [18099, 0, "a"], [18100, 0, "b"], [18101, 0, "e"], [18102, 0, "l"], [18103, 0, "l"], [18104, 0, "e"], [18105, 0, "d"], [18106, 0, " "], [18107, 0, "a"], [18108, 0, "s"], [18109, 0, " "], [18110, 0, "r"], [18111, 0, "e"], [18112, 0, "p"], [18113, 0, "l"], [18114, 0, "i"], [18115, 0, "c"], [18116, 0, "a"], [18117, 0, "'"], [18118, 0, "s"], [18119, 0, " "], [18120, 0, "$"], [18121, 0, "p"], [18122, 0, "$"], [18123, 0, " "], [18124, 0, "a"], [18125, 0, "n"], [18126, 0, "d"], [18127, 0, " "], [18128, 0, "$"], [18129, 0, "q"], [18130, 0, "$"], [18131, 0, "."], [18064, 1], [18063, 1], [18062, 1], [18061, 1], [18060, 1], [18060, 0, "s"], [18061, 0, "e"], [18062, 0, "c"], [18063, 0, "t"], [18064, 0, "i"], [18065, 0, "o"], [18066, 0, "n"], [18066, 1], [18065, 1], [18064, 1], [18063, 1], [18062, 1], [18061, 1], [18060, 1], [18059, 1], [18058, 1], [18057, 1], [18056, 1], [18055, 1], [18054, 1], [18053, 1], [18052, 1], [18051, 1], [18117, 1], [18116, 1], [18115, 1], [18114, 1], [18113, 1], [18112, 1], [18111, 1], [18110, 1], [18109, 1], [18108, 1], [18107, 1], [18106, 1], [18105, 1], [18104, 1], [18103, 1], [18102, 1], [18101, 1], [18100, 1], [18099, 1], [18098, 1], [18097, 1], [18096, 1], [18095, 1], [18094, 1], [18093, 1], [18092, 1], [18091, 1], [18090, 1], [18089, 1], [18088, 1], [18087, 1], [18086, 1], [18085, 1], [18084, 1], [18083, 1], [18082, 1], [18081, 1], [18080, 1], [18079, 1], [18078, 1], [18077, 1], [18076, 1], [18075, 1], [18074, 1], [18073, 1], [18072, 1], [18071, 1], [18070, 1], [18069, 1], [18068, 1], [18067, 1], [18066, 1], [18065, 1], [18064, 1], [18063, 1], [18062, 1], [18061, 1], [18060, 1], [18059, 1], [18058, 1], [18057, 1], [18056, 1], [18055, 1], [18054, 1], [18053, 1], [18052, 1], [18051, 1], [18050, 1], [18049, 1], [18048, 1], [18047, 1], [18046, 1], [18045, 1], [18044, 1], [18043, 1], [18042, 1], [18041, 1], [18040, 1], [18039, 1], [18038, 1], [18037, 1], [18036, 1], [18035, 1], [18034, 1], [18033, 1], [18032, 1], [18031, 1], [17966, 0, " "], [17966, 1], [17966, 0, " "], [17967, 0, "I"], [17968, 0, "n"], [17969, 0, " "], [17970, 0, "a"], [17971, 0, "l"], [17972, 0, "l"], [17973, 0, " "], [17974, 0, "e"], [17975, 0, "x"], [17976, 0, "a"], [17977, 0, "m"], [17978, 0, "p"], [17979, 0, "l"], [17980, 0, "e"], [17981, 0, "s"], [17982, 0, " "], [17983, 0, "w"], [17984, 0, "e"], [17985, 0, " "], [17986, 0, "a"], [17987, 0, "s"], [17988, 0, "s"], [17989, 0, "u"], [17990, 0, "m"], [17991, 0, "e"], [17992, 0, " "], [17993, 0, "t"], [17994, 0, "w"], [17995, 0, "o"], [17996, 0, " "], [17997, 0, "c"], [17998, 0, "o"], [17999, 0, "m"], [18000, 0, "p"], [18001, 0, "u"], [18002, 0, "t"], [18003, 0, "i"], [18004, 0, "n"], [18005, 0, "g"], [18006, 0, " "], [18007, 0, "d"], [18008, 0, "e"], [18009, 0, "v"], [18010, 0, "i"], [18011, 0, "c"], [18012, 0, "e"], [18013, 0, "s"], [18014, 0, " "], [18014, 1], [18014, 0, ","], [18015, 0, " "], [18016, 0, "o"], [18017, 0, "r"], [18018, 0, " "], [18019, 0, "'"], [18019, 1], [18019, 0, "\\"], [18020, 0, "e"], [18021, 0, "m"], [18022, 0, "p"], [18023, 0, "h"], [18024, 0, "{"], [18025, 0, "r"], [18026, 0, "e"], [18027, 0, "p"], [18028, 0, "l"], [18029, 0, "i"], [18030, 0, "c"], [18031, 0, "a"], [18032, 0, "s"], [18033, 0, "}"], [18034, 0, " "], [18035, 0, "w"], [18036, 0, "i"], [18037, 0, "t"], [18038, 0, "h"], [18039, 0, " "], [18039, 1], [18038, 1], [18037, 1], [18036, 1], [18035, 1], [18035, 0, "l"], [18036, 0, "a"], [18037, 0, "b"], [18038, 0, "e"], [18039, 0, "l"], [18040, 0, "l"], [18041, 0, "e"], [18042, 0, "d"], [18043, 0, " "], [18044, 0, "a"], [18045, 0, "s"], [18046, 0, " "], [18047, 0, "$"], [18048, 0, "p"], [18049, 0, "$"], [18050, 0, " "], [18051, 0, "a"], [18052, 0, "n"], [18053, 0, "d"], [18053, 1], [18052, 1], [18051, 1], [18051, 0, "("], [18052, 0, "d"], [18053, 0, "r"], [18054, 0, "a"], [18055, 0, "w"], [18056, 0, "n"], [18057, 0, " "], [18058, 0, "o"], [18059, 0, "n"], [18060, 0, " "], [18061, 0, "t"], [18062, 0, "h"], [18063, 0, "e"], [18064, 0, " "], [18065, 0, "l"], [18066, 0, "e"], [18067, 0, "f"], [18068, 0, "t"], [18069, 0, "-"], [18070, 0, "h"], [18071, 0, "a"], [18072, 0, "n"], [18073, 0, "d"], [18074, 0, " "], [18075, 0, "s"], [18076, 0, "i"], [18077, 0, "z"], [18078, 0, "e"], [18079, 0, ")"], [18079, 1], [18078, 1], [18077, 1], [18077, 0, "d"], [18078, 0, "e"], [18079, 0, ")"], [18080, 0, " "], [18081, 0, "a"], [18082, 0, "n"], [18083, 0, "d"], [18084, 0, " "], [18085, 0, "$"], [18086, 0, "q"], [18087, 0, "$"], [18088, 0, " "], [18089, 0, "("], [18090, 0, "r"], [18091, 0, "i"], [18092, 0, "g"], [18093, 0, "h"], [18094, 0, "t"], [18095, 0, "-"], [18096, 0, "h"], [18097, 0, "a"], [18098, 0, "n"], [18099, 0, "d"], [18100, 0, " "], [18101, 0, "s"], [18102, 0, "i"], [18103, 0, "z"], [18104, 0, "e"], [18104, 1], [18103, 1], [18102, 1], [18102, 0, "d"], [18103, 0, "e"], [18103, 1], [18102, 1], [18102, 0, "i"], [18103, 0, "d"], [18104, 0, "e"], [18105, 0, ")"], [18106, 0, "."], [18107, 0, " "], [18108, 0, "R"], [18109, 0, "e"], [18110, 0, "p"], [18111, 0, "l"], [18112, 0, "i"], [18113, 0, "c"], [18114, 0, "a"], [18115, 0, "s"], [18116, 0, " "], [18117, 0, "p"], [18118, 0, "r"], [18119, 0, "o"], [18120, 0, "c"], [18121, 0, "e"], [18122, 0, "s"], [18123, 0, "s"], [18124, 0, " "], [18125, 0, "d"], [18126, 0, "a"], [18127, 0, "t"], [18128, 0, "a"], [18129, 0, " "], [18130, 0, "l"], [18131, 0, "o"], [18132, 0, "c"], [18133, 0, "a"], [18134, 0, "l"], [18135, 0, "l"], [18136, 0, "y"], [18137, 0, " "], [18137, 1], [18136, 1], [18135, 1], [18134, 1], [18133, 1], [18132, 1], [18131, 1], [18130, 1], [18129, 1], [18128, 1], [18127, 1], [18126, 1], [18125, 1], [18124, 1], [18123, 1], [18122, 1], [18121, 1], [18120, 1], [18119, 1], [18118, 1], [18117, 1], [18117, 0, "m"], [18118, 0, "u"], [18119, 0, "t"], [18120, 0, "a"], [18121, 0, "t"], [18122, 0, "e"], [18123, 0, " "], [18124, 0, "s"], [18125, 0, "t"], [18126, 0, "a"], [18127, 0, "t"], [18128, 0, "e"], [18129, 0, " "], [18130, 0, "l"], [18131, 0, "o"], [18132, 0, "c"], [18133, 0, "a"], [18134, 0, "l"], [18135, 0, "l"], [18136, 0, "y"], [18136, 1], [18135, 1], [18134, 1], [18134, 0, "l"], [18135, 0, "l"], [18136, 0, "y"], [18137, 0, " "], [18138, 0, "a"], [18139, 0, "n"], [18140, 0, "d"], [18141, 0, " "], [18141, 1], [18140, 1], [18139, 1], [18138, 1], [18138, 0, "c"], [18139, 0, "h"], [18140, 0, "o"], [18141, 0, "o"], [18142, 0, "s"], [18143, 0, "e"], [18144, 0, " "], [18145, 0, "w"], [18146, 0, "h"], [18147, 0, "e"], [18148, 0, "n"], [18149, 0, " "], [18150, 0, "t"], [18151, 0, "o"], [18152, 0, " "], [18153, 0, "p"], [18154, 0, "e"], [18155, 0, "r"], [18156, 0, "f"], [18157, 0, "m"], [18157, 1], [18157, 0, "o"], [18158, 0, "r"], [18159, 0, "m"], [18160, 0, " "], [18161, 0, "n"], [18162, 0, "e"], [18163, 0, "t"], [18164, 0, "w"], [18165, 0, "o"], [18166, 0, "r"], [18167, 0, "k"], [18168, 0, " "], [18169, 0, "c"], [18170, 0, "o"], [18171, 0, "n"], [18172, 0, "n"], [18173, 0, "e"], [18174, 0, "c"], [18175, 0, "t"], [18176, 0, "i"], [18177, 0, "o"], [18178, 0, "n"], [18179, 0, " "], [18180, 0, "w"], [18181, 0, "i"], [18182, 0, "t"], [18183, 0, "h"], [18184, 0, " "], [18185, 0, "t"], [18186, 0, "h"], [18187, 0, "e"], [18188, 0, "i"], [18189, 0, "r"], [18190, 0, " "], [18191, 0, "p"], [18192, 0, "i"], [18193, 0, "e"], [18193, 1], [18192, 1], [18192, 0, "e"], [18193, 0, "e"], [18194, 0, "r"], [18195, 0, "s"], [18107, 0, " "], [18108, 0, "T"], [18109, 0, "h"], [18110, 0, "e"], [18111, 0, " "], [18112, 0, "c"], [18113, 0, "h"], [18114, 0, "o"], [18115, 0, "i"], [18116, 0, "c"], [18117, 0, "e"], [18118, 0, " "], [18119, 0, "o"], [18120, 0, "f"], [18121, 0, " "], [18122, 0, "t"], [18123, 0, "w"], [18124, 0, "o"], [18125, 0, " "], [18126, 0, "r"], [18127, 0, "e"], [18128, 0, "l"], [18128, 1], [18128, 0, "p"], [18129, 0, "l"], [18130, 0, "i"], [18131, 0, "c"], [18132, 0, "a"], [18133, 0, "s"], [18134, 0, " "], [18135, 0, "i"], [18136, 0, "s"], [18137, 0, " "], [18138, 0, "p"], [18139, 0, "u"], [18140, 0, "r"], [18141, 0, "e"], [18142, 0, "l"], [18143, 0, "y"], [18144, 0, " "], [18145, 0, "f"], [18146, 0, "o"], [18147, 0, "r"], [18148, 0, " "], [18149, 0, "p"], [18150, 0, "r"], [18151, 0, "e"], [18152, 0, "s"], [18153, 0, "e"], [18154, 0, "n"], [18155, 0, "t"], [18156, 0, "a"], [18157, 0, "t"], [18158, 0, "i"], [18159, 0, "o"], [18160, 0, "n"], [18161, 0, "a"], [18162, 0, "l"], [18163, 0, " "], [18164, 0, "p"], [18165, 0, "u"], [18166, 0, "r"], [18167, 0, "p"], [18168, 0, "o"], [18169, 0, "s"], [18170, 0, "e"], [18171, 0, "s"], [18172, 0, ","], [18173, 0, " "], [18174, 0, "o"], [18175, 0, "u"], [18176, 0, "r"], [18177, 0, " "], [18177, 1], [18176, 1], [18175, 1], [18174, 1], [18173, 1], [18172, 1], [18172, 0, " "], [18173, 0, "a"], [18174, 0, "n"], [18175, 0, "d"], [18176, 0, " "], [18177, 0, "o"], [18178, 0, "u"], [18179, 0, "r"], [18180, 0, " "], [18181, 0, "a"], [18182, 0, "l"], [18183, 0, "g"], [18184, 0, "o"], [18185, 0, "r"], [18186, 0, "i"], [18187, 0, "t"], [18188, 0, "h"], [18189, 0, "m"], [18190, 0, " "], [18191, 0, "f"], [18192, 0, "u"], [18193, 0, "n"], [18194, 0, "c"], [18195, 0, "t"], [18196, 0, "i"], [18197, 0, "o"], [18198, 0, "n"], [18199, 0, "s"], [18200, 0, " "], [18201, 0, "f"], [18202, 0, "o"], [18203, 0, "r"], [18203, 1], [18202, 1], [18201, 1], [18200, 1], [18199, 1], [18198, 1], [18197, 1], [18196, 1], [18195, 1], [18194, 1], [18193, 1], [18192, 1], [18191, 1], [18191, 0, "w"], [18192, 0, "o"], [18193, 0, "r"], [18194, 0, "k"], [18195, 0, "s"], [18196, 0, " "], [18197, 0, "w"], [18198, 0, "i"], [18199, 0, "t"], [18200, 0, "h"], [18201, 0, " "], [18202, 0, "a"], [18203, 0, "n"], [18204, 0, " "], [18204, 1], [18203, 1], [18202, 1], [18201, 1], [18200, 1], [18199, 1], [18198, 1], [18197, 1], [18196, 1], [18195, 1], [18194, 1], [18193, 1], [18192, 1], [18191, 1], [18190, 1], [18189, 1], [18188, 1], [18187, 1], [18186, 1], [18185, 1], [18184, 1], [18183, 1], [18182, 1], [18181, 1], [18180, 1], [18179, 1], [18178, 1], [18177, 1], [18176, 1], [18175, 1], [18174, 1], [18173, 1], [18172, 1], [18171, 1], [18170, 1], [18169, 1], [18168, 1], [18167, 1], [18166, 1], [18165, 1], [18164, 1], [18163, 1], [18162, 1], [18161, 1], [18160, 1], [18159, 1], [18158, 1], [18157, 1], [18156, 1], [18155, 1], [18154, 1], [18153, 1], [18152, 1], [18151, 1], [18150, 1], [18149, 1], [18148, 1], [18147, 1], [18146, 1], [18145, 1], [18144, 1], [18143, 1], [18142, 1], [18141, 1], [18140, 1], [18139, 1], [18138, 1], [18137, 1], [18136, 1], [18135, 1], [18134, 1], [18133, 1], [18132, 1], [18131, 1], [18130, 1], [18129, 1], [18128, 1], [18127, 1], [18126, 1], [18125, 1], [18124, 1], [18123, 1], [18122, 1], [18121, 1], [18120, 1], [18119, 1], [18118, 1], [18117, 1], [18116, 1], [18115, 1], [18114, 1], [18113, 1], [18112, 1], [18111, 1], [18110, 1], [18109, 1], [18108, 1], [18107, 1], [18095, 1], [18069, 1], [18135, 0, " "], [18136, 0, "a"], [18137, 0, "n"], [18138, 0, "d"], [18139, 0, " "], [18140, 0, "c"], [18141, 0, "a"], [18142, 0, "n"], [18202, 0, " "], [18203, 0, "i"], [18204, 0, "n"], [18205, 0, " "], [18206, 0, "o"], [18207, 0, "r"], [18208, 0, "d"], [18209, 0, "e"], [18210, 0, "r"], [18211, 0, " "], [18212, 0, "t"], [18213, 0, "o"], [18214, 0, " "], [18215, 0, "s"], [18216, 0, "h"], [18217, 0, "a"], [18218, 0, "r"], [18219, 0, "e"], [18220, 0, " "], [18221, 0, "a"], [18222, 0, "n"], [18223, 0, "y"], [18224, 0, " "], [18024, 1], [18023, 1], [18022, 1], [18021, 1], [18020, 1], [18019, 1], [18018, 1], [18017, 1], [18016, 1], [18015, 1], [18014, 1], [18013, 1], [18012, 1], [18011, 1], [18010, 1], [18009, 1], [18008, 1], [18007, 1], [18006, 1], [18005, 1], [18004, 1], [18003, 1], [18002, 1], [18001, 1], [18000, 1], [17999, 1], [17998, 1], [17997, 1], [17996, 1], [17995, 1], [17994, 1], [17993, 1], [18001, 1], [17993, 0, "t"], [17994, 0, "w"], [17995, 0, "o"], [17996, 0, " "], [18005, 0, ","], [18017, 1], [18016, 1], [18015, 1], [18193, 1], [18192, 1], [18191, 1], [18190, 1], [18189, 1], [18188, 1], [18187, 1], [18186, 1], [18185, 1], [18184, 1], [18183, 1], [18182, 1], [18181, 1], [18180, 1], [18179, 1], [18178, 1], [18177, 1], [18176, 1], [18175, 1], [18174, 1], [18173, 1], [18172, 1], [18171, 1], [18170, 1], [18169, 1], [18168, 1], [18167, 1], [18166, 1], [18165, 1], [18164, 1], [18163, 1], [18162, 1], [18161, 1], [18160, 1], [18159, 1], [18158, 1], [18157, 1], [18156, 1], [18155, 1], [18154, 1], [18153, 1], [18152, 1], [18151, 1], [18150, 1], [18149, 1], [18148, 1], [18147, 1], [18146, 1], [18145, 1], [18144, 1], [18143, 1], [18142, 1], [18141, 1], [18140, 1], [18139, 1], [18138, 1], [18137, 1], [18136, 1], [18135, 1], [18134, 1], [18133, 1], [18132, 1], [18131, 1], [18130, 1], [18129, 1], [18128, 1], [18127, 1], [18126, 1], [18125, 1], [18124, 1], [18123, 1], [18122, 1], [18121, 1], [18120, 1], [18119, 1], [18118, 1], [18117, 1], [18116, 1], [18115, 1], [18114, 1], [18113, 1], [18112, 1], [18111, 1], [18110, 1], [18109, 1], [18108, 1], [18107, 1], [18106, 1], [18105, 1], [18104, 1], [18103, 1], [18102, 1], [18101, 1], [18100, 1], [18099, 1], [18098, 1], [18097, 1], [18096, 1], [18095, 1], [18094, 1], [18094, 0, "t"], [18095, 0, "e"], [18096, 0, " "], [18097, 0, "l"], [18098, 0, "o"], [18099, 0, "c"], [18100, 0, "a"], [18101, 0, "l"], [18102, 0, "l"], [18103, 0, "y"], [18104, 0, " "], [18105, 0, "a"], [18106, 0, "n"], [18107, 0, "d"], [18108, 0, " "], [18109, 0, "n"], [18110, 0, "e"], [18111, 0, "t"], [18112, 0, "o"], [18112, 1], [18112, 0, "w"], [18113, 0, "o"], [18114, 0, "r"], [18115, 0, "k"], [18116, 0, " "], [18116, 1], [18115, 1], [18114, 1], [18113, 1], [18112, 1], [18111, 1], [18110, 1], [18109, 1], [18108, 1], [18107, 1], [18106, 1], [18105, 1], [18104, 1], [18103, 1], [18102, 1], [18101, 1], [18100, 1], [18099, 1], [18098, 1], [18097, 1], [18097, 0, "o"], [18098, 0, "n"], [18099, 0, " "], [18100, 0, "t"], [18101, 0, "h"], [18102, 0, "e"], [18103, 0, "i"], [18104, 0, "r"], [18105, 0, " "], [18106, 0, "l"], [18107, 0, "o"], [18108, 0, "c"], [18109, 0, "a"], [18110, 0, "l"], [18111, 0, " "], [18111, 1], [18110, 1], [18109, 1], [18108, 1], [18107, 1], [18106, 1], [18105, 1], [18104, 1], [18103, 1], [18102, 1], [18101, 1], [18100, 1], [18099, 1], [18098, 1], [18097, 1], [18096, 1], [18095, 1], [18094, 1], [18093, 1], [18092, 1], [18091, 1], [18090, 1], [18089, 1], [18088, 1], [18087, 1], [18086, 1], [18085, 1], [18084, 1], [18083, 1], [18082, 1], [18081, 1], [18080, 1], [18079, 1], [18078, 1], [18077, 1], [18076, 1], [18075, 1], [18075, 0, "S"], [18076, 0, "i"], [18077, 0, "n"], [18078, 0, "c"], [18079, 0, "e"], [18080, 0, " "], [18081, 0, "r"], [18082, 0, "e"], [18083, 0, "p"], [18084, 0, "l"], [18085, 0, "i"], [18086, 0, "c"], [18087, 0, "a"], [18088, 0, "s"], [18089, 0, " "], [18090, 0, "m"], [18091, 0, "u"], [18092, 0, "t"], [18093, 0, "a"], [18094, 0, "t"], [18095, 0, "e"], [18096, 0, " "], [18097, 0, "t"], [18098, 0, "e"], [18098, 1], [18098, 0, "h"], [18099, 0, "e"], [18100, 0, "i"], [18101, 0, "r"], [18102, 0, " "], [18103, 0, "l"], [18104, 0, "o"], [18105, 0, "c"], [18106, 0, "a"], [18107, 0, "l"], [18108, 0, " "], [18109, 0, "s"], [18110, 0, "t"], [18111, 0, "a"], [18112, 0, "t"], [18113, 0, "e"], [18113, 1], [18112, 1], [18111, 1], [18110, 1], [18109, 1], [18108, 1], [18107, 1], [18106, 1], [18105, 1], [18104, 1], [18103, 1], [18102, 1], [18101, 1], [18100, 1], [18099, 1], [18098, 1], [18097, 1], [18097, 0, "o"], [18098, 0, "n"], [18099, 0, "l"], [18100, 0, "y"], [18101, 0, " "], [18102, 0, "t"], [18103, 0, "h"], [18104, 0, "e"], [18105, 0, "i"], [18106, 0, "r"], [18107, 0, " "], [18108, 0, "l"], [18109, 0, "o"], [18110, 0, "c"], [18111, 0, "a"], [18112, 0, "l"], [18113, 0, " "], [18114, 0, "s"], [18115, 0, "t"], [18116, 0, "a"], [18117, 0, "t"], [18118, 0, "e"], [18119, 0, ","], [18120, 0, " "], [18121, 0, "e"], [18122, 0, "n"], [18122, 1], [18121, 1], [18121, 0, "n"], [18122, 0, "e"], [18123, 0, "t"], [18124, 0, "w"], [18125, 0, "o"], [18126, 0, "r"], [18127, 0, "k"], [18128, 0, " "], [18128, 1], [18127, 1], [18126, 1], [18125, 1], [18124, 1], [18123, 1], [18122, 1], [18121, 1], [18121, 0, "p"], [18122, 0, "e"], [18123, 0, "r"], [18124, 0, "i"], [18125, 0, "o"], [18126, 0, "d"], [18127, 0, "s"], [18128, 0, " "], [18129, 0, "o"], [18130, 0, "d"], [18131, 0, " "], [18131, 1], [18130, 1], [18130, 0, "f"], [18131, 0, " "], [18132, 0, "n"], [18133, 0, "e"], [18134, 0, "t"], [18135, 0, "w"], [18136, 0, "o"], [18137, 0, "r"], [18138, 0, "k"], [18139, 0, " "], [18140, 0, "c"], [18141, 0, "o"], [18142, 0, "m"], [18143, 0, "m"], [18144, 0, "u"], [18145, 0, "n"], [18146, 0, "i"], [18147, 0, "c"], [18148, 0, "a"], [18149, 0, "t"], [18150, 0, "i"], [18151, 0, "o"], [18152, 0, "n"], [18153, 0, " "], [18154, 0, "a"], [18155, 0, "r"], [18155, 1], [18154, 1], [18154, 0, "b"], [18154, 1], [18153, 1], [18153, 0, ","], [18154, 0, " "], [18155, 0, "w"], [18156, 0, "h"], [18157, 0, "e"], [18158, 0, "n"], [18159, 0, " "], [18160, 0, "c"], [18161, 0, "h"], [18162, 0, "a"], [18163, 0, "n"], [18164, 0, "g"], [18165, 0, "e"], [18166, 0, "s"], [18167, 0, " "], [18168, 0, "p"], [18169, 0, "r"], [18170, 0, "o"], [18171, 0, "p"], [18172, 0, "e"], [18172, 1], [18172, 0, "a"], [18173, 0, "g"], [18174, 0, "e"], [18174, 1], [18173, 1], [18173, 0, "g"], [18174, 0, "a"], [18175, 0, "t"], [18176, 0, "e"], [18177, 0, " "], [18178, 0, "b"], [18179, 0, "e"], [18180, 0, "t"], [18181, 0, "w"], [18182, 0, "e"], [18183, 0, "e"], [18184, 0, "n"], [18185, 0, " "], [18186, 0, "r"], [18187, 0, "e"], [18188, 0, "p"], [18189, 0, "l"], [18190, 0, "i"], [18191, 0, "c"], [18192, 0, "a"], [18193, 0, "s"], [18194, 0, ","], [18195, 0, " "], [18196, 0, "a"], [18197, 0, "r"], [18198, 0, "e"], [18199, 0, " "], [18200, 0, "s"], [18201, 0, "h"], [18202, 0, "o"], [18203, 0, "w"], [18204, 0, "n"], [18205, 0, " "], [18206, 0, "s"], [18207, 0, "e"], [18208, 0, "p"], [18209, 0, "a"], [18210, 0, "r"], [18211, 0, "a"], [18212, 0, "t"], [18213, 0, "e"], [18214, 0, "l"], [18215, 0, "y"], [18216, 0, " "], [18217, 0, "o"], [18218, 0, "n"], [18219, 0, " "], [18220, 0, "t"], [18221, 0, "h"], [18222, 0, "e"], [18223, 0, " "], [18223, 1], [18222, 1], [18221, 1], [18220, 1], [18219, 1], [18218, 1], [18217, 1], [18217, 0, "i"], [18218, 0, "n"], [18219, 0, " "], [18220, 0, "t"], [18221, 0, "h"], [18222, 0, "e"], [18223, 0, " "], [18224, 0, "e"], [18225, 0, "x"], [18226, 0, "a"], [18227, 0, "m"], [18228, 0, "p"], [18229, 0, "l"], [18230, 0, "e"], [18231, 0, "s"], [18232, 0, "."], [18073, 1], [18073, 0, ","], [18074, 0, " "], [18075, 0, "w"], [18076, 0, "i"], [18077, 0, "t"], [18078, 0, "h"], [18079, 0, " "], [18080, 0, "s"], [18081, 0, "t"], [18082, 0, "a"], [18083, 0, "t"], [18084, 0, "e"], [18085, 0, "s"], [18086, 0, " "], [18087, 0, "d"], [18088, 0, "r"], [18089, 0, "a"], [18090, 0, "w"], [18091, 0, "n"], [18092, 0, " "], [18092, 1], [18091, 1], [18090, 1], [18089, 1], [18088, 1], [18087, 1], [18086, 1], [18085, 1], [18084, 1], [18083, 1], [18082, 1], [18081, 1], [18080, 1], [18080, 0, "l"], [18081, 0, "o"], [18082, 0, "c"], [18083, 0, "a"], [18084, 0, "l"], [18085, 0, " "], [18086, 0, "s"], [18087, 0, "t"], [18088, 0, "a"], [18089, 0, "t"], [18090, 0, "e"], [18091, 0, " "], [18092, 0, "d"], [18092, 1], [18091, 1], [18091, 0, " "], [18092, 0, "d"], [18093, 0, "r"], [18094, 0, "a"], [18095, 0, "w"], [18096, 0, "n"], [18097, 0, " "], [18098, 0, "i"], [18099, 0, "n"], [18100, 0, " "], [18101, 0, "b"], [18102, 0, "o"], [18103, 0, "x"], [18104, 0, "e"], [18105, 0, "d"], [18105, 1], [18105, 0, "s"], [18106, 0, " "], [18107, 0, "a"], [18108, 0, "n"], [18109, 0, "d"], [18110, 0, " "], [18111, 0, "m"], [18112, 0, "o"], [18113, 0, "d"], [18114, 0, "i"], [18115, 0, "f"], [18116, 0, "i"], [18117, 0, "c"], [18118, 0, "a"], [18119, 0, "t"], [18120, 0, "i"], [18121, 0, "o"], [18122, 0, "n"], [18123, 0, "s"], [18124, 0, " "], [18125, 0, "s"], [18126, 0, "h"], [18127, 0, "o"], [18128, 0, "w"], [18129, 0, "n"], [18130, 0, " "], [18131, 0, "w"], [18132, 0, "i"], [18133, 0, "t"], [18134, 0, "h"], [18135, 0, " "], [18136, 0, "l"], [18137, 0, "a"], [18138, 0, "b"], [18139, 0, "e"], [18140, 0, "l"], [18141, 0, "l"], [18142, 0, "e"], [18143, 0, "d"], [18144, 0, " "], [18145, 0, "s"], [18146, 0, "l"], [18147, 0, "o"], [18147, 1], [18146, 1], [18146, 0, "o"], [18147, 0, "l"], [18148, 0, "i"], [18149, 0, "d"], [18150, 0, " "], [18151, 0, "a"], [18152, 0, "r"], [18153, 0, "r"], [18154, 0, "o"], [18155, 0, "w"], [18156, 0, "s"], [18157, 0, " "], [18158, 0, "a"], [18159, 0, "n"], [18160, 0, "d"], [18161, 0, " "], [18162, 0, "t"], [18163, 0, "i"], [18164, 0, "m"], [18165, 0, "e"], [18166, 0, " "], [18167, 0, "r"], [18168, 0, "u"], [18169, 0, "n"], [18170, 0, "n"], [18171, 0, "i"], [18172, 0, "n"], [18173, 0, "g"], [18174, 0, " "], [18175, 0, "d"], [18176, 0, "o"], [18177, 0, "w"], [18178, 0, "n"], [18179, 0, " "], [18180, 0, "t"], [18181, 0, "h"], [18182, 0, "e"], [18183, 0, " "], [18184, 0, "a"], [18185, 0, "p"], [18186, 0, "g"], [18187, 0, "e"], [18188, 0, "."], [18188, 1], [18187, 1], [18186, 1], [18185, 1], [18184, 1], [18184, 0, "p"], [18185, 0, "a"], [18186, 0, "g"], [18187, 0, "e"], [18188, 0, "."], [18222, 1], [18221, 1], [18220, 1], [18219, 1], [18218, 1], [18217, 1], [18216, 1], [18215, 1], [18214, 1], [18213, 1], [18212, 1], [18211, 1], [18211, 0, " "], [18205, 0, "o"], [18206, 0, "n"], [18207, 0, "l"], [18208, 0, "y"], [18209, 0, " "], [18228, 1], [18228, 0, ","], [18229, 0, " "], [18125, 0, "t"], [18126, 0, "o"], [18127, 0, " "], [18128, 0, "l"], [18129, 0, "o"], [18130, 0, "c"], [18131, 0, "a"], [18132, 0, "l"], [18133, 0, " "], [18134, 0, "s"], [18135, 0, "t"], [18136, 0, "a"], [18137, 0, "t"], [18138, 0, " "], [18138, 1], [18138, 0, "e"], [18139, 0, " "], [18175, 1], [18174, 1], [18173, 1], [18172, 1], [18172, 0, ";"], [18185, 1], [18184, 1], [18183, 1], [18182, 1], [18182, 0, "s"], [18238, 0, " "], [18239, 0, "c"], [18240, 0, "o"], [18241, 0, "m"], [18242, 0, "m"], [18243, 0, "u"], [18244, 0, "n"], [18245, 0, "i"], [18246, 0, "c"], [18247, 0, "a"], [18248, 0, "t"], [18249, 0, "i"], [18250, 0, "o"], [18251, 0, "n"], [18252, 0, " "], [18253, 0, "o"], [18254, 0, "f"], [18255, 0, " "], [18256, 0, "t"], [18257, 0, "h"], [18258, 0, "e"], [18259, 0, "s"], [18260, 0, "e"], [18261, 0, " "], [18262, 0, "c"], [18263, 0, "h"], [18264, 0, "a"], [18265, 0, "n"], [18266, 0, "g"], [18267, 0, "e"], [18268, 0, "s"], [18269, 0, " "], [18270, 0, "i"], [18271, 0, "s"], [18272, 0, " "], [18078, 1], [18077, 1], [18076, 1], [18075, 1], [18074, 1], [18073, 1], [18073, 0, "."], [18074, 0, " "], [18077, 1], [18076, 1], [18075, 1], [18075, 0, "L"], [18076, 0, "o"], [18087, 0, "f"], [18088, 0, "o"], [18089, 0, "r"], [18090, 0, " "], [18091, 0, "a"], [18092, 0, " "], [18093, 0, "r"], [18094, 0, "e"], [18095, 0, "p"], [18096, 0, "l"], [18097, 0, "i"], [18098, 0, "c"], [18099, 0, "a"], [18100, 0, " "], [18101, 0, "i"], [18102, 0, "s"], [18103, 0, " "], [18285, 0, "e"], [18286, 0, "x"], [18287, 0, "m"], [18288, 0, "p"], [18289, 0, "l"], [18289, 1], [18288, 1], [18287, 1], [18287, 0, "p"], [18288, 0, "i"], [18289, 0, "c"], [18290, 0, "i"], [18291, 0, "t"], [18291, 1], [18290, 1], [18289, 1], [18288, 1], [18287, 1], [18287, 0, "p"], [18288, 0, "l"], [18289, 0, "i"], [18290, 0, "c"], [18291, 0, "i"], [18292, 0, "t"], [18293, 0, " "], [18294, 0, "i"], [18295, 0, "n"], [18296, 0, " "], [18297, 0, "o"], [18298, 0, "u"], [18299, 0, "r"], [18300, 0, " "], [18301, 0, "m"], [18302, 0, "o"], [18303, 0, "d"], [18304, 0, "e"], [18305, 0, "l"], [18306, 0, " "], [18307, 0, "a"], [18308, 0, "n"], [18309, 0, "d"], [18310, 0, " "], [18311, 0, "i"], [18312, 0, "s"], [18313, 0, " "], [18314, 0, "s"], [18315, 0, "h"], [18316, 0, "o"], [18317, 0, "w"], [18318, 0, "n"], [18319, 0, " "], [18320, 0, "w"], [18321, 0, "i"], [18322, 0, "t"], [18323, 0, "h"], [18324, 0, " "], [18324, 1], [18323, 1], [18322, 1], [18321, 1], [18320, 1], [18319, 1], [18318, 1], [18317, 1], [18316, 1], [18315, 1], [18314, 1], [18314, 0, "d"], [18315, 0, "e"], [18316, 0, "p"], [18317, 0, "i"], [18318, 0, "c"], [18319, 0, "t"], [18320, 0, "e"], [18321, 0, "d"], [18322, 0, " "], [18323, 0, "w"], [18324, 0, "i"], [18325, 0, "t"], [18326, 0, "h"], [18327, 0, " "], [18328, 0, "d"], [18329, 0, "a"], [18330, 0, "s"], [18331, 0, "h"], [18332, 0, "e"], [18333, 0, "d"], [18334, 0, " "], [18335, 0, "a"], [18336, 0, "r"], [18337, 0, "r"], [18338, 0, "o"], [18339, 0, "w"], [18340, 0, "s"], [18341, 0, "."], [18342, 0, "\n"], [18343, 0, "\n"], [18457, 1], [18456, 1], [18455, 1], [18454, 1], [18453, 1], [18452, 1], [18451, 1], [18450, 1], [18449, 1], [18448, 1], [18447, 1], [18446, 1], [18445, 1], [18444, 1], [18443, 1], [18442, 1], [18441, 1], [18440, 1], [18439, 1], [18438, 1], [18437, 1], [18436, 1], [18435, 1], [18434, 1], [18433, 1], [18432, 1], [18431, 1], [18430, 1], [18429, 1], [18428, 1], [18427, 1], [18426, 1], [18425, 1], [18424, 1], [18423, 1], [18422, 1], [18421, 1], [18420, 1], [18419, 1], [18418, 1], [18417, 1], [18416, 1], [18415, 1], [18414, 1], [18413, 1], [18412, 1], [18411, 1], [18410, 1], [18409, 1], [18408, 1], [18407, 1], [18406, 1], [18405, 1], [18404, 1], [18403, 1], [18402, 1], [18401, 1], [18400, 1], [18399, 1], [18398, 1], [18397, 1], [18396, 1], [18395, 1], [18394, 1], [18393, 1], [18392, 1], [18391, 1], [18390, 1], [18389, 1], [18388, 1], [18387, 1], [18386, 1], [18385, 1], [18384, 1], [18383, 1], [18382, 1], [18381, 1], [18380, 1], [18379, 1], [18378, 1], [18377, 1], [18376, 1], [18375, 1], [18374, 1], [18373, 1], [18372, 1], [18371, 1], [18370, 1], [18369, 1], [18368, 1], [18367, 1], [18366, 1], [18365, 1], [18364, 1], [18363, 1], [18362, 1], [18361, 1], [18360, 1], [18359, 1], [18358, 1], [18357, 1], [18356, 1], [18355, 1], [18354, 1], [18353, 1], [18352, 1], [18351, 1], [18350, 1], [18349, 1], [18348, 1], [18347, 1], [18346, 1], [18345, 1], [18344, 1], [18343, 1], [18342, 1], [18272, 1], [18271, 1], [18279, 0, " "], [18280, 0, "t"], [18281, 0, "o"], [18282, 0, " "], [18283, 0, "l"], [18284, 0, "o"], [18285, 0, "c"], [18286, 0, "a"], [18287, 0, "l"], [18288, 0, " "], [18289, 0, "s"], [18290, 0, "t"], [18291, 0, "a"], [18292, 0, "t"], [18293, 0, "e"], [18294, 0, " "], [18295, 0, "b"], [18296, 0, "e"], [18297, 0, "t"], [18298, 0, "w"], [18299, 0, "e"], [18299, 1], [18298, 1], [18297, 1], [18296, 1], [18295, 1], [18294, 1], [18293, 1], [18293, 0, "e"], [18264, 0, " "], [18265, 0, "b"], [18266, 0, "e"], [18267, 0, "t"], [18268, 0, "w"], [18269, 0, "e"], [18270, 0, "e"], [18271, 0, "n"], [18272, 0, " "], [18273, 0, "r"], [18274, 0, "e"], [18275, 0, "p"], [18276, 0, "l"], [18277, 0, "i"], [18278, 0, "c"], [18279, 0, "a"], [18280, 0, "s"], [18643, 0, " "], [18644, 0, "v"], [18645, 0, "i"], [18646, 0, "a"], [18647, 0, " "], [18648, 0, "n"], [18649, 0, "e"], [18650, 0, "t"], [18651, 0, "w"], [18652, 0, "o"], [18653, 0, "r"], [18654, 0, "k"], [18655, 0, " "], [18656, 0, "c"], [18657, 0, "o"], [18658, 0, "m"], [18659, 0, "m"], [18660, 0, "u"], [18661, 0, "n"], [18662, 0, "i"], [18663, 0, "c"], [18664, 0, "a"], [18665, 0, "t"], [18666, 0, "i"], [18667, 0, "o"], [18668, 0, "n"], [19213, 0, " "], [19214, 0, "t"], [19215, 0, "h"], [19216, 0, "e"], [19217, 0, " "], [19218, 0, "d"], [19219, 0, "e"], [19220, 0, "v"], [19221, 0, "e"], [19222, 0, "l"], [19223, 0, "o"], [19224, 0, "p"], [19225, 0, "e"], [19226, 0, "r"], [19227, 0, " "], [19228, 0, "i"], [19229, 0, "n"], [19230, 0, " "], [19231, 0, "a"], [19232, 0, "u"], [19233, 0, "t"], [19234, 0, "o"], [19235, 0, "m"], [19236, 0, "a"], [19237, 0, "t"], [19238, 0, "i"], [19239, 0, "c"], [19240, 0, "a"], [19241, 0, "l"], [19242, 0, "l"], [19243, 0, "y"], [19244, 0, " "], [19245, 0, "r"], [19246, 0, "e"], [19247, 0, "s"], [19248, 0, "o"], [19249, 0, "l"], [19250, 0, "v"], [19251, 0, "i"], [19252, 0, "n"], [19253, 0, "g"], [19254, 0, " "], [19255, 0, "s"], [19256, 0, "u"], [19257, 0, "c"], [19258, 0, "h"], [19259, 0, " "], [19260, 0, "c"], [19261, 0, "o"], [19262, 0, "n"], [19263, 0, "f"], [19264, 0, "i"], [19265, 0, "c"], [19265, 1], [19264, 1], [19264, 0, "l"], [19265, 0, "i"], [19266, 0, "c"], [19267, 0, "s"], [19268, 0, "t"], [19268, 1], [19267, 1], [19267, 0, "t"], [19268, 0, "s"], [19269, 0, " "], [19270, 0, "o"], [19271, 0, "r"], [19272, 0, " "], [19273, 0, "p"], [19274, 0, "t"], [19275, 0, "e"], [19276, 0, "n"], [19276, 1], [19275, 1], [19274, 1], [19274, 0, "o"], [19275, 0, "t"], [19276, 0, "e"], [19277, 0, "n"], [19278, 0, "t"], [19279, 0, "i"], [19280, 0, "a"], [19281, 0, "l"], [19282, 0, "l"], [19283, 0, "y"], [19284, 0, " "], [19285, 0, "d"], [19286, 0, "e"], [19287, 0, "f"], [19288, 0, "e"], [19289, 0, "r"], [19290, 0, "i"], [19291, 0, "n"], [19292, 0, "g"], [19293, 0, " "], [19294, 0, "t"], [19295, 0, "o"], [19306, 1], [19305, 1], [19304, 1], [19303, 1], [19303, 0, "f"], [19304, 0, "o"], [19305, 0, "r"], [19313, 0, " "], [19314, 0, "r"], [19315, 0, "e"], [19316, 0, "o"], [19317, 0, "l"], [19317, 1], [19316, 1], [19316, 0, "s"], [19317, 0, "o"], [19318, 0, "l"], [19319, 0, "i"], [19319, 1], [19319, 0, "u"], [19320, 0, "t"], [19321, 0, "i"], [19322, 0, "o"], [19323, 0, "n"], [19324, 0, "."], [19325, 0, "\n"], [19351, 1], [19350, 1], [19349, 1], [19348, 1], [19347, 1], [19346, 1], [19345, 1], [19344, 1], [19343, 1], [19342, 1], [19341, 1], [19340, 1], [19339, 1], [19338, 1], [19337, 1], [19336, 1], [19335, 1], [19334, 1], [19333, 1], [19332, 1], [19331, 1], [19330, 1], [19329, 1], [19328, 1], [19327, 1], [19326, 1], [19325, 1], [19269, 0, " "], [19270, 0, "i"], [19271, 0, "n"], [19272, 0, " "], [19273, 0, "a"], [19274, 0, "n"], [19275, 0, " "], [19276, 0, "a"], [19277, 0, "p"], [19278, 0, "p"], [19279, 0, "l"], [19280, 0, "i"], [19281, 0, "c"], [19282, 0, "a"], [19283, 0, "t"], [19284, 0, "i"], [19285, 0, "o"], [19286, 0, "n"], [19287, 0, "-"], [19288, 0, "s"], [19289, 0, "p"], [19290, 0, "e"], [19291, 0, "c"], [19292, 0, "i"], [19293, 0, "f"], [19294, 0, "i"], [19295, 0, "c"], [19296, 0, " "], [19297, 0, "w"], [19298, 0, "a"], [19299, 0, "y"], [19300, 0, ","], [19315, 1], [19314, 1], [19313, 1], [19312, 1], [19311, 1], [19310, 1], [19309, 1], [19308, 1], [19307, 1], [19306, 1], [19305, 1], [19304, 1], [19309, 0, "r"], [18504, 1], [18503, 1], [18502, 1], [18501, 1], [18509, 0, " "], [18510, 0, "$"], [18511, 0, "p"], [18512, 0, "$"], [18567, 1], [18566, 1], [18565, 1], [18564, 1], [18563, 1], [18562, 1], [18561, 1], [18561, 0, "r"], [18562, 0, "e"], [18563, 0, "p"], [18564, 0, "l"], [18565, 0, "i"], [18566, 0, "c"], [18567, 0, "a"], [18568, 0, " "], [18569, 0, "$"], [18570, 0, "q"], [18571, 0, "$"], [18250, 0, " "], [18251, 0, "w"], [18252, 0, "e"], [18253, 0, " "], [18254, 0, "m"], [18255, 0, "a"], [18256, 0, "k"], [18257, 0, "e"], [18273, 0, "o"], [18274, 0, "f"], [18275, 0, " "], [18276, 0, "s"], [18277, 0, "t"], [18278, 0, "a"], [18279, 0, "t"], [18280, 0, "e"], [18281, 0, " "], [18282, 0, "c"], [18283, 0, "a"], [18284, 0, "h"], [18284, 1], [18283, 1], [18283, 0, "h"], [18284, 0, "a"], [18285, 0, "n"], [18286, 0, "g"], [18287, 0, "e"], [18288, 0, "s"], [18289, 0, " "], [18338, 1], [18337, 1], [18336, 1], [18335, 1], [18334, 1], [18333, 1], [18332, 1], [18331, 1], [18330, 1], [18329, 1], [18328, 1], [18327, 1], [18326, 1], [18325, 1], [18324, 1], [18323, 1], [18322, 1], [18321, 1], [18320, 1], [18319, 1], [18318, 1], [18317, 1], [18316, 1], [18315, 1], [18314, 1], [18313, 1], [18312, 1], [18311, 1], [18310, 1], [18309, 1], [18308, 1], [18307, 1], [18306, 1], [18328, 0, "."], [18332, 1], [18331, 1], [18330, 1], [18330, 0, "T"], [18331, 0, "h"], [18332, 0, "i"], [18333, 0, "s"], [18333, 1], [18332, 1], [18331, 1], [18330, 1], [18330, 0, "N"], [18331, 0, "e"], [18332, 0, "t"], [18333, 0, "o"], [18333, 1], [18333, 0, "w"], [18334, 0, "o"], [18335, 0, "r"], [18336, 0, "k"], [18337, 0, " "], [18338, 0, "c"], [18339, 0, "o"], [18340, 0, "m"], [18341, 0, "m"], [18342, 0, "u"], [18343, 0, "n"], [18344, 0, "i"], [18345, 0, "c"], [18346, 0, "a"], [18347, 0, "t"], [18348, 0, "i"], [18349, 0, "o"], [18350, 0, "n"], [17792, 1], [17791, 1], [17799, 0, " "], [17800, 0, "\\"], [17801, 0, "{"], [17802, 0, "`"], [17803, 0, "`"], [17804, 0, "k"], [17805, 0, "e"], [17806, 0, "y"], [17807, 0, "'"], [17808, 0, "'"], [17809, 0, ":"], [17810, 0, " "], [17811, 0, "`"], [17812, 0, "`"], [17813, 0, "A"], [17814, 0, "'"], [17815, 0, "'"], [17816, 0, "\\"], [17817, 0, "}"], [17817, 1], [17816, 1], [17815, 1], [17814, 1], [17813, 1], [17812, 1], [17811, 1], [17810, 1], [17809, 1], [17808, 1], [17807, 1], [17806, 1], [17805, 1], [17804, 1], [17803, 1], [17802, 1], [17801, 1], [17800, 1], [17800, 0, "a"], [17801, 0, "t"], [17802, 0, " "], [17802, 1], [17801, 1], [17800, 1], [17799, 1], [17798, 1], [17797, 1], [17796, 1], [17795, 1], [17794, 1], [17793, 1], [17792, 1], [17791, 1], [17791, 0, "t"], [17792, 0, "h"], [17793, 0, "e"], [17794, 0, " "], [17795, 0, "r"], [17796, 0, "e"], [17797, 0, "g"], [17798, 0, "i"], [17799, 0, "s"], [17800, 0, "t"], [17801, 0, "e"], [17802, 0, "r"], [17803, 0, " "], [17804, 0, "a"], [17805, 0, "t"], [17806, 0, " "], [17807, 0, "d"], [17808, 0, "o"], [17809, 0, "c"], [17810, 0, "["], [17811, 0, "`"], [17812, 0, "`"], [17813, 0, "k"], [17814, 0, "e"], [17815, 0, "y"], [17816, 0, "'"], [17817, 0, "'"], [17818, 0, "]"], [17819, 0, " "], [17820, 0, "b"], [17821, 0, "y"], [17822, 0, " "], [17823, 0, "r"], [17824, 0, "e"], [17825, 0, "g"], [17826, 0, "i"], [17827, 0, "s"], [17828, 0, "t"], [17829, 0, "e"], [17830, 0, "r"], [17830, 1], [17829, 1], [17828, 1], [17827, 1], [17826, 1], [17825, 1], [17825, 0, "p"], [17826, 0, "l"], [17827, 0, "i"], [17828, 0, "c"], [17829, 0, "a"], [17830, 0, "s"], [17831, 0, " "], [17832, 0, "$"], [17833, 0, "p"], [17834, 0, "$"], [17835, 0, " "], [17836, 0, "a"], [17837, 0, "n"], [17838, 0, "d"], [17839, 0, " "], [17840, 0, "$"], [17841, 0, "q"], [17842, 0, "$"], [15776, 0, "i"], [15776, 1], [15776, 0, " "], [15777, 0, "F"], [15778, 0, "o"], [15779, 0, "r"], [15780, 0, " "], [15781, 0, "e"], [15782, 0, "x"], [15783, 0, "a"], [15784, 0, "m"], [15785, 0, "p"], [15786, 0, "l"], [15787, 0, "e"], [15788, 0, ","], [15789, 0, " "], [15790, 0, "c"], [15791, 0, "o"], [15792, 0, "n"], [15793, 0, "c"], [15794, 0, "u"], [15795, 0, "r"], [15796, 0, "r"], [15797, 0, "e"], [15798, 0, "n"], [15799, 0, "t"], [15800, 0, " "], [15801, 0, "e"], [15802, 0, "d"], [15803, 0, "i"], [15804, 0, "t"], [15805, 0, " "], [15805, 1], [15805, 0, "s"], [15806, 0, " "], [15807, 0, "t"], [15808, 0, "o"], [15809, 0, " "], [15810, 0, "a"], [15811, 0, " "], [15812, 0, "p"], [15813, 0, "a"], [15814, 0, "s"], [15815, 0, "s"], [15816, 0, "w"], [15817, 0, "o"], [15818, 0, "r"], [15819, 0, "d"], [15820, 0, " "], [15821, 0, "m"], [15822, 0, "a"], [15823, 0, "n"], [15824, 0, "a"], [15825, 0, "g"], [15826, 0, "e"], [15827, 0, " "], [15827, 1], [15827, 0, "r"], [15828, 0, " "], [15829, 0, "o"], [15830, 0, "n"], [15831, 0, " "], [15832, 0, "t"], [15833, 0, "w"], [15834, 0, "o"], [15835, 0, " "], [15836, 0, "d"], [15837, 0, "e"], [15838, 0, "v"], [15839, 0, "i"], [15840, 0, "c"], [15841, 0, "e"], [15842, 0, "s"], [15842, 1], [15841, 1], [15840, 1], [15839, 1], [15838, 1], [15837, 1], [15836, 1], [15835, 1], [15834, 1], [15833, 1], [15832, 1], [15831, 1], [15830, 1], [15829, 1], [15828, 1], [15827, 1], [15826, 1], [15825, 1], [15824, 1], [15823, 1], [15822, 1], [15821, 1], [15820, 1], [15819, 1], [15818, 1], [15817, 1], [15816, 1], [15815, 1], [15814, 1], [15813, 1], [15812, 1], [15811, 1], [15810, 1], [15809, 1], [15808, 1], [15807, 1], [15806, 1], [15805, 1], [15804, 1], [15803, 1], [15802, 1], [15801, 1], [15800, 1], [15799, 1], [15798, 1], [15797, 1], [15796, 1], [15795, 1], [15794, 1], [15793, 1], [15792, 1], [15791, 1], [15790, 1], [15789, 1], [15788, 1], [15787, 1], [15786, 1], [15785, 1], [15784, 1], [15783, 1], [15782, 1], [15781, 1], [15780, 1], [15779, 1], [15778, 1], [15777, 1], [15776, 1], [26009, 1], [26008, 1], [26007, 1], [26006, 1], [26005, 1], [26004, 1], [26003, 1], [26002, 1], [26001, 1], [26184, 0, " "], [26185, 0, "W"], [26186, 0, "e"], [26187, 0, " "], [26188, 0, "l"], [26189, 0, "e"], [26190, 0, "a"], [26191, 0, "v"], [26192, 0, "e"], [26193, 0, " "], [26194, 0, "t"], [26195, 0, "e"], [26195, 1], [26195, 0, "h"], [26196, 0, "e"], [26197, 0, " "], [26198, 0, "d"], [26199, 0, "e"], [26200, 0, "s"], [26201, 0, "i"], [26202, 0, "g"], [26203, 0, "n"], [26204, 0, " "], [26205, 0, "o"], [26206, 0, "f"], [26207, 0, " "], [26208, 0, "a"], [26208, 1], [26208, 0, "s"], [26209, 0, "u"], [26210, 0, "c"], [26211, 0, "h"], [26212, 0, " "], [26213, 0, "a"], [26214, 0, " "], [26215, 0, "a"], [26216, 0, "s"], [26217, 0, "c"], [26218, 0, "h"], [26219, 0, "e"], [26220, 0, "m"], [26220, 1], [26219, 1], [26218, 1], [26217, 1], [26216, 1], [26215, 1], [26215, 0, "s"], [26216, 0, "c"], [26217, 0, "h"], [26218, 0, "e"], [26219, 0, "m"], [26220, 0, "a"], [26221, 0, " "], [26222, 0, "l"], [26223, 0, "a"], [26224, 0, "n"], [26225, 0, "a"], [26226, 0, "g"], [26227, 0, "u"], [26227, 1], [26226, 1], [26225, 1], [26225, 0, "g"], [26226, 0, "u"], [26227, 0, "a"], [26228, 0, "g"], [26229, 0, "e"], [26230, 0, " "], [26231, 0, "t"], [26231, 1], [26231, 0, "a"], [26232, 0, "s"], [26233, 0, " "], [26234, 0, "f"], [26235, 0, "u"], [26236, 0, "t"], [26237, 0, "u"], [26238, 0, "r"], [26239, 0, "e"], [26240, 0, " "], [26241, 0, "w"], [26242, 0, "o"], [26243, 0, "r"], [26244, 0, "k"], [26245, 0, "."], [26197, 0, " "], [26198, 0, "a"], [26199, 0, "n"], [26200, 0, "a"], [26201, 0, "l"], [26202, 0, "y"], [26203, 0, "s"], [26204, 0, "i"], [26205, 0, "s"], [26206, 0, " "], [26207, 0, "o"], [26208, 0, "f"], [26209, 0, " "], [26210, 0, "w"], [26211, 0, "h"], [26212, 0, "e"], [26213, 0, "t"], [26214, 0, "h"], [26215, 0, "e"], [26216, 0, "r"], [26217, 0, " "], [26218, 0, "e"], [26219, 0, "x"], [26220, 0, "["], [26221, 0, "l"], [26221, 1], [26220, 1], [26220, 0, "p"], [26221, 0, "l"], [26222, 0, "c"], [26223, 0, "i"], [26223, 1], [26222, 1], [26222, 0, "i"], [26223, 0, "c"], [26224, 0, "i"], [26225, 0, "t"], [26226, 0, " "], [26226, 1], [26225, 1], [26224, 1], [26223, 1], [26222, 1], [26221, 1], [26220, 1], [26219, 1], [26218, 1], [26217, 1], [26216, 1], [26215, 1], [26214, 1], [26213, 1], [26212, 1], [26211, 1], [26210, 1], [26209, 1], [26208, 1], [26207, 1], [26207, 0, "a"], [26208, 0, "n"], [26209, 0, "d"], [26210, 0, " "], [26210, 1], [26206, 0, " "], [26207, 0, "o"], [26208, 0, "f"], [26209, 0, " "], [26210, 0, "d"], [26211, 0, "e"], [26212, 0, "v"], [26213, 0, "e"], [26214, 0, "l"], [26215, 0, "o"], [26216, 0, "p"], [26217, 0, "e"], [26218, 0, "r"], [26219, 0, " "], [26220, 0, "e"], [26221, 0, "x"], [26222, 0, "p"], [26223, 0, "e"], [26224, 0, "c"], [26225, 0, "t"], [26226, 0, "a"], [26227, 0, "t"], [26228, 0, "i"], [26229, 0, "o"], [26230, 0, "n"], [26235, 0, " "], [26236, 0, "t"], [26237, 0, "h"], [26238, 0, "e"], [26238, 1], [26237, 1], [26236, 1], [26235, 1], [26249, 1], [26248, 1], [26247, 1], [26246, 1], [26245, 1], [26244, 1], [26243, 1], [26242, 1], [26241, 1], [26240, 1], [26239, 1], [26238, 1], [26237, 1], [26236, 1], [26236, 0, "t"], [26237, 0, "h"], [26238, 0, "e"], [26239, 0, " "], [26240, 0, "n"], [26241, 0, "e"], [26242, 0, "e"], [26243, 0, "d"], [26244, 0, " "], [26245, 0, "f"], [26246, 0, "o"], [26247, 0, "r"], [26248, 0, " "], [26249, 0, "s"], [26250, 0, "u"], [26251, 0, "c"], [26252, 0, "h"], [26231, 0, "s"], [26245, 0, " "], [26246, 0, "("], [26247, 0, "o"], [26248, 0, "r"], [26249, 0, " "], [26250, 0, "o"], [26251, 0, "t"], [26252, 0, "h"], [26253, 0, "e"], [26254, 0, "r"], [26255, 0, "w"], [26256, 0, "i"], [26257, 0, "s"], [26258, 0, "e"], [26259, 0, ")"], [26268, 1], [26267, 1], [26266, 1], [26265, 1], [26264, 1], [26556, 1], [26555, 1], [26554, 1], [26553, 1], [26552, 1], [26551, 1], [26550, 1], [26549, 1], [26548, 1], [26547, 1], [26546, 1], [26545, 1], [26544, 1], [26543, 1], [26542, 1], [26541, 1], [26540, 1], [26539, 1], [26538, 1], [26537, 1], [26536, 1], [26535, 1], [26534, 1], [26533, 1], [26532, 1], [26531, 1], [26530, 1], [26529, 1], [26528, 1], [26527, 1], [26526, 1], [26525, 1], [26524, 1], [26523, 1], [26522, 1], [26521, 1], [26520, 1], [26519, 1], [26518, 1], [26517, 1], [26516, 1], [26515, 1], [26514, 1], [26513, 1], [26512, 1], [26511, 1], [26510, 1], [26509, 1], [26508, 1], [26507, 1], [26506, 1], [26505, 1], [26504, 1], [26503, 1], [26502, 1], [26501, 1], [26500, 1], [26499, 1], [26498, 1], [26497, 1], [26496, 1], [26495, 1], [26494, 1], [26493, 1], [26492, 1], [26491, 1], [26490, 1], [26489, 1], [26488, 1], [26487, 1], [26486, 1], [26485, 1], [26484, 1], [26483, 1], [26482, 1], [26481, 1], [26480, 1], [26479, 1], [26478, 1], [26477, 1], [26476, 1], [26475, 1], [26474, 1], [26473, 1], [26472, 1], [26471, 1], [26470, 1], [26469, 1], [26468, 1], [26467, 1], [26466, 1], [26465, 1], [26464, 1], [26463, 1], [26462, 1], [26461, 1], [26460, 1], [26459, 1], [26458, 1], [26457, 1], [26456, 1], [26455, 1], [26454, 1], [26453, 1], [26452, 1], [26451, 1], [26450, 1], [26449, 1], [26448, 1], [26447, 1], [26446, 1], [26445, 1], [26444, 1], [26443, 1], [26442, 1], [26441, 1], [26440, 1], [26439, 1], [26438, 1], [26437, 1], [26436, 1], [26435, 1], [26434, 1], [26433, 1], [26432, 1], [26431, 1], [26430, 1], [26429, 1], [26428, 1], [26427, 1], [26426, 1], [26425, 1], [26424, 1], [26423, 1], [26422, 1], [26421, 1], [26420, 1], [26419, 1], [26418, 1], [26417, 1], [26416, 1], [26415, 1], [26414, 1], [26413, 1], [26412, 1], [26411, 1], [26410, 1], [26409, 1], [26408, 1], [26407, 1], [26406, 1], [26405, 1], [26404, 1], [26403, 1], [26402, 1], [26401, 1], [26400, 1], [26399, 1], [26398, 1], [26397, 1], [26396, 1], [26395, 1], [26394, 1], [26393, 1], [26392, 1], [26391, 1], [26390, 1], [26389, 1], [26388, 1], [26387, 1], [26386, 1], [26385, 1], [26384, 1], [26383, 1], [26382, 1], [26381, 1], [26380, 1], [26379, 1], [26378, 1], [26377, 1], [26376, 1], [26375, 1], [26374, 1], [26373, 1], [26372, 1], [26371, 1], [26370, 1], [26369, 1], [26368, 1], [26367, 1], [26366, 1], [26365, 1], [26364, 1], [26363, 1], [26362, 1], [26361, 1], [26360, 1], [26359, 1], [26358, 1], [26357, 1], [26356, 1], [26355, 1], [26354, 1], [26353, 1], [26352, 1], [26351, 1], [26350, 1], [26349, 1], [26348, 1], [26347, 1], [26346, 1], [26345, 1], [26344, 1], [26343, 1], [26342, 1], [26341, 1], [26340, 1], [26339, 1], [26338, 1], [26337, 1], [26336, 1], [26335, 1], [26334, 1], [26333, 1], [26332, 1], [26331, 1], [26330, 1], [26329, 1], [26328, 1], [26327, 1], [26326, 1], [26325, 1], [26324, 1], [26323, 1], [26322, 1], [26321, 1], [26320, 1], [26319, 1], [26318, 1], [26317, 1], [26316, 1], [26315, 1], [26314, 1], [26313, 1], [26312, 1], [26311, 1], [26310, 1], [26309, 1], [26308, 1], [26307, 1], [26306, 1], [26305, 1], [26304, 1], [26303, 1], [26302, 1], [26301, 1], [26300, 1], [26299, 1], [26298, 1], [28220, 1], [28219, 1], [28218, 1], [28217, 1], [28216, 1], [28216, 0, "$"], [28217, 0, "$"], [28217, 0, "\\"], [28218, 0, "m"], [28219, 0, "a"], [28220, 0, "t"], [28221, 0, "h"], [28222, 0, "t"], [28223, 0, "t"], [28224, 0, "{"], [28225, 0, "k"], [28226, 0, "e"], [28227, 0, "y"], [28228, 0, "}"], [28214, 1], [28213, 1], [28212, 1], [28211, 1], [28210, 1], [28209, 1], [28209, 1], [28210, 0, "["], [28223, 0, "["], [28226, 1], [28225, 1], [28223, 1], [28223, 0, "]"], [27859, 1], [27858, 1], [27858, 0, "t"], [27859, 0, "t"], [27926, 0, "\\"], [27927, 0, "t"], [27928, 0, "e"], [27929, 0, "x"], [27930, 0, "t"], [27931, 0, "t"], [27932, 0, "t"], [27933, 0, "{"], [27936, 0, "}"], [27990, 0, "$"], [27997, 1], [27996, 1], [27995, 1], [27994, 1], [27993, 1], [27992, 1], [27992, 0, "t"], [27993, 0, "e"], [27994, 0, "x"], [27995, 0, "t"], [27996, 0, "t"], [27997, 0, "t"], [28007, 0, "$"], [28009, 0, "$"], [28011, 1], [27990, 1], [27989, 1], [27989, 0, "$"], [27998, 0, "."], [28060, 1], [28060, 0, "$"], [28067, 1], [28066, 1], [28065, 1], [28064, 1], [28063, 1], [28062, 1], [28062, 0, "t"], [28063, 0, "e"], [28064, 0, "x"], [28065, 0, "t"], [28066, 0, "t"], [28067, 0, "t"], [28069, 0, "."], [28077, 1], [28095, 1], [28094, 1], [28094, 0, "t"], [28095, 0, "t"], [28159, 1], [28159, 0, "t"], [28160, 1], [28160, 0, "t"], [28228, 1], [28227, 1], [28227, 0, "r"], [28228, 0, "m"], [28246, 1], [28245, 1], [28245, 0, "r"], [28246, 0, "m"], [28289, 1], [28295, 1], [28294, 1], [28294, 0, "t"], [28295, 0, "t"], [28297, 0, "."], [28328, 0, "."], [28359, 0, "."], [28326, 1], [28325, 1], [28325, 0, "t"], [28326, 0, "t"], [28357, 1], [28357, 0, "t"], [28358, 0, "t"], [28358, 1], [28357, 1], [28356, 1], [28356, 0, "t"], [28357, 0, "t"], [28388, 1], [28387, 1], [28387, 0, "t"], [28388, 0, "t"], [28319, 1], [28349, 1], [28379, 1], [28457, 1], [28456, 1], [28455, 1], [28454, 1], [28453, 1], [28452, 1], [28451, 1], [28450, 1], [28449, 1], [28448, 1], [28447, 1], [28446, 1], [28445, 1], [28444, 1], [28444, 0, "&"], [28445, 0, " "], [28446, 0, "$"], [28447, 0, "x"], [28448, 0, "_"], [28449, 0, "1"], [28450, 0, "$"], [28434, 1], [28433, 1], [28432, 1], [28431, 1], [28430, 1], [28428, 1], [28427, 1], [28425, 1], [28433, 1], [28432, 1], [28431, 1], [28430, 1], [28429, 1], [28428, 1], [28427, 1], [28426, 1], [28433, 1], [28432, 1], [28431, 1], [28431, 0, "x"], [28432, 0, " "], [28433, 0, "\\"], [28434, 0, "i"], [28435, 0, "n"], [28436, 0, " "], [28437, 0, "\\"], [28438, 0, "m"], [28439, 0, "a"], [28440, 0, "t"], [28441, 0, "h"], [28442, 0, "r"], [28443, 0, "m"], [28444, 0, "{"], [28445, 0, "S"], [28446, 0, "t"], [28447, 0, "r"], [28448, 0, "i"], [28449, 0, "n"], [28450, 0, "g"], [28451, 0, "}"], [28445, 0, "V"], [28446, 0, "a"], [28447, 0, "r"], [28523, 1], [28523, 0, "}"], [28522, 1], [28518, 1], [28517, 1], [28516, 1], [28515, 1], [28514, 1], [28513, 1], [28513, 0, "m"], [28514, 0, "a"], [28515, 0, "t"], [28516, 0, "h"], [28517, 0, "r"], [28518, 0, "m"], [28519, 0, "{"], [28512, 0, "$"], [28525, 0, "$"], [28536, 1], [28535, 1], [28535, 0, "r"], [28536, 0, "m"], [28580, 1], [28579, 1], [28578, 1], [28577, 1], [28576, 1], [28576, 0, "t"], [28577, 0, "e"], [28578, 0, "x"], [28579, 0, "t"], [28580, 0, "t"], [28581, 0, "t"], [28582, 0, "{"], [28587, 1], [28587, 0, "}"], [28597, 1], [28596, 1], [28595, 1], [28594, 1], [28594, 0, "t"], [28595, 0, "e"], [28596, 0, "x"], [28597, 0, "t"], [28598, 0, "t"], [28599, 0, "t"], [28600, 1], [28600, 0, "{"], [28606, 1], [28606, 0, "}"], [28616, 1], [28615, 1], [28614, 1], [28613, 1], [28613, 0, "t"], [28614, 0, "e"], [28615, 0, "x"], [28616, 0, "t"], [28617, 0, "t"], [28618, 0, "t"], [28619, 1], [28619, 0, "{"], [28624, 1], [28624, 0, "}"], [27870, 0, "\\"], [27871, 0, "t"], [27872, 0, "e"], [27873, 0, "x"], [27874, 0, "t"], [27875, 0, "t"], [27876, 0, "t"], [27877, 0, "{"], [27879, 0, "}"], [27934, 0, "$"], [27948, 0, "$"], [28016, 0, "("], [28018, 1], [28021, 0, "\\"], [28022, 0, "t"], [28023, 0, "e"], [28024, 0, "x"], [28025, 0, "t"], [28026, 0, "t"], [28027, 0, "t"], [28028, 0, "{"], [28030, 0, "}"], [28240, 1], [28240, 0, "\\"], [28241, 0, "t"], [28242, 0, "e"], [28243, 0, "x"], [28244, 0, "t"], [28245, 0, "t"], [28246, 0, "t"], [28247, 0, "{"], [28249, 0, "}"], [28250, 0, "$"], [28263, 0, "$"], [28265, 1], [28264, 0, "\\"], [28265, 0, "t"], [28266, 0, "e"], [28267, 0, "t"], [28267, 1], [28267, 0, "x"], [28268, 0, "t"], [28269, 0, "t"], [28270, 0, "t"], [28271, 0, "{"], [28273, 0, "}"], [28425, 0, "."], [28138, 0, "\\"], [28139, 0, "t"], [28140, 0, "x"], [28141, 0, "t"], [28141, 1], [28140, 1], [28140, 0, "e"], [28141, 0, "x"], [28142, 0, "t"], [28143, 0, "t"], [28144, 0, "t"], [28145, 0, "{"], [28147, 0, "}"], [30614, 1], [30613, 1], [30613, 0, "t"], [30614, 0, "t"], [30727, 1], [30726, 1], [30726, 0, "t"], [30727, 0, "t"], [30858, 1], [30857, 1], [30856, 1], [30855, 1], [30854, 1], [30854, 0, "t"], [30855, 0, "e"], [30856, 0, "x"], [30857, 0, "t"], [30858, 0, "t"], [30859, 0, "t"], [30860, 0, "{"], [30862, 0, "}"], [30863, 0, "$"], [30864, 0, "l"], [30864, 1], [30864, 0, "m"], [30864, 1], [30864, 0, "\\"], [30865, 0, "m"], [30866, 0, "a"], [30867, 0, "t"], [30868, 0, "h"], [30869, 0, "r"], [30870, 0, "m"], [30871, 0, "{"], [30872, 1], [30875, 1], [30875, 0, "}"], [30876, 0, "\\"], [30877, 0, "t"], [30878, 0, "e"], [30879, 0, "x"], [30880, 0, "t"], [30881, 0, "t"], [30882, 0, "t"], [30883, 0, "{"], [30885, 0, "}"], [30886, 1], [30876, 0, "$"], [30922, 1], [30921, 1], [30921, 0, "t"], [30922, 0, "t"], [30978, 1], [30977, 1], [30977, 0, "t"], [30978, 0, "t"], [31111, 1], [31110, 1], [31110, 0, "t"], [31111, 0, "t"], [31187, 1], [31186, 1], [31186, 0, "t"], [31187, 0, "t"], [31261, 1], [31260, 1], [31260, 0, "t"], [31261, 0, "t"], [31390, 1], [31389, 1], [31389, 0, "t"], [31390, 0, "t"], [31437, 1], [31436, 1], [31436, 0, "t"], [31437, 0, "t"], [31569, 0, "\\"], [31570, 0, "t"], [31571, 0, "e"], [31572, 0, "x"], [31573, 0, "t"], [31574, 0, "t"], [31575, 0, "t"], [31576, 0, "{"], [31579, 0, "}"], [31626, 1], [31625, 1], [31625, 0, "t"], [31626, 0, "t"], [31692, 1], [31691, 1], [31691, 0, "t"], [31692, 0, "t"], [31948, 1], [31947, 1], [31947, 0, "t"], [31948, 0, "t"], [31970, 1], [31969, 1], [31968, 1], [31967, 1], [31966, 1], [31966, 0, "t"], [31967, 0, "e"], [31968, 0, "x"], [31969, 0, "t"], [31970, 0, "t"], [31971, 0, "t"], [31972, 0, "{"], [31972, 1], [31971, 1], [31970, 1], [31969, 1], [31968, 1], [31967, 1], [31966, 1], [31966, 0, "v"], [31967, 0, "e"], [31968, 0, "r"], [31969, 0, "b"], [31970, 0, "|"], [32041, 1], [32040, 1], [32039, 1], [32038, 1], [32037, 1], [32037, 0, "t"], [32038, 0, "e"], [32039, 0, "x"], [32040, 0, "t"], [32041, 0, "t"], [32042, 0, "t"], [32043, 0, "{"], [32054, 1], [32054, 0, "}"], [32072, 1], [32071, 1], [32071, 0, "t"], [32072, 0, "t"], [32298, 1], [32297, 1], [32297, 0, "t"], [32298, 0, "t"], [32457, 1], [32456, 1], [32455, 1], [32454, 1], [32453, 1], [32453, 0, "t"], [32454, 0, "e"], [32455, 0, "x"], [32456, 0, "t"], [32457, 0, "t"], [32458, 0, "t"], [32459, 0, "{"], [32464, 1], [32464, 0, "}"], [32548, 1], [32548, 0, "}"], [32543, 1], [32542, 1], [32541, 1], [32540, 1], [32539, 1], [32539, 0, "t"], [32540, 0, "e"], [32541, 0, "x"], [32542, 0, "t"], [32543, 0, "t"], [32544, 0, "t"], [32545, 0, "{"], [32906, 1], [32905, 1], [32905, 0, "t"], [32906, 0, "t"], [30786, 1], [30785, 1], [30784, 1], [30783, 1], [30782, 1], [30781, 1], [30780, 1], [30779, 1], [30778, 1], [30777, 1], [30776, 1], [30775, 1], [30774, 1], [30773, 1], [30772, 1], [30771, 1], [30770, 1], [30769, 1], [30768, 1], [30767, 1], [30766, 1], [30765, 1], [30764, 1], [30763, 1], [30762, 1], [30761, 1], [30760, 1], [30759, 1], [30758, 1], [30757, 1], [30756, 1], [30755, 1], [30754, 1], [30753, 1], [30752, 1], [30751, 1], [30750, 1], [30749, 1], [30748, 1], [30747, 1], [30746, 1], [30745, 1], [30744, 1], [30743, 1], [30743, 0, "T"], [30744, 0, "h"], [30745, 0, "e"], [30746, 0, " "], [30747, 0, "e"], [30748, 0, "x"], [30749, 0, "p"], [30750, 0, "r"], [30751, 0, "e"], [30752, 0, "s"], [30753, 0, "s"], [30754, 0, "i"], [30755, 0, "o"], [30756, 0, "n"], [30757, 0, " "], [30758, 0, "d"], [30759, 0, "e"], [30760, 0, "f"], [30761, 0, "i"], [30762, 0, "n"], [30763, 0, "e"], [30764, 0, "s"], [30765, 0, " "], [30766, 0, "t"], [30767, 0, "h"], [30768, 0, "e"], [30769, 0, " "], [30770, 0, "p"], [30771, 0, "a"], [30772, 0, "t"], [30773, 0, "h"], [30787, 1], [30786, 1], [30786, 0, "t"], [30787, 0, "a"], [30788, 0, "k"], [30789, 0, "e"], [30790, 0, "s"], [30791, 0, " "], [30792, 0, "a"], [30793, 0, "s"], [30794, 0, " "], [30795, 0, "i"], [30796, 0, "t"], [30806, 1], [30806, 0, "s"], [30765, 0, ","], [30766, 0, " "], [30767, 0, "l"], [30768, 0, "e"], [30769, 0, "f"], [30770, 0, " "], [30770, 1], [30770, 0, "t"], [30771, 0, " "], [30772, 0, "t"], [30773, 0, "o"], [30774, 0, " "], [30775, 0, "r"], [30776, 0, "i"], [30777, 0, "g"], [30778, 0, "h"], [30779, 0, ","], [30779, 0, "t"], [30807, 0, ","], [30808, 0, " "], [30809, 0, "r"], [30810, 0, "o"], [30811, 0, "o"], [30812, 0, "t"], [30813, 0, " "], [30814, 0, "t"], [30815, 0, "o"], [30816, 0, "w"], [30817, 0, "a"], [30818, 0, "r"], [30819, 0, "d"], [30820, 0, "s"], [30821, 0, " "], [30822, 0, "l"], [30823, 0, "e"], [30824, 0, "a"], [30825, 0, "f"], [30826, 0, ","], [30826, 1], [30825, 1], [30824, 1], [30823, 1], [30822, 1], [30821, 1], [30820, 1], [30819, 1], [30818, 1], [30817, 1], [30816, 1], [30815, 1], [30814, 1], [30813, 1], [30812, 1], [30811, 1], [30810, 1], [30809, 1], [30808, 1], [30807, 1], [30840, 0, " "], [30841, 0, "f"], [30842, 0, "r"], [30843, 0, "o"], [30844, 0, "m"], [30845, 0, " "], [30846, 0, "t"], [30846, 1], [30845, 1], [30844, 1], [30843, 1], [30842, 1], [30841, 1], [30841, 0, "t"], [30842, 0, "w"], [30842, 1], [30842, 0, "o"], [30843, 0, "w"], [30844, 0, "a"], [30845, 0, "r"], [30846, 0, "d"], [30847, 0, "s"], [30848, 0, " "], [30849, 0, "t"], [30850, 0, "h"], [30851, 0, "e"], [30852, 0, " "], [30852, 1], [30851, 1], [30850, 1], [30849, 1], [30849, 0, "t"], [30850, 0, "h"], [30851, 0, "e"], [30852, 0, " "], [30853, 0, "l"], [30854, 0, "e"], [30855, 0, "a"], [30856, 0, "v"], [30857, 0, "e"], [30858, 0, "s"], [32095, 1], [32094, 1], [32093, 1], [32092, 1], [32091, 1], [32091, 0, "e"], [32092, 0, "x"], [32093, 0, "e"], [32094, 0, "c"], [32095, 0, "u"], [32096, 0, "t"], [32097, 0, "e"], [32098, 0, "s"], [32098, 1], [32097, 1], [32096, 1], [32095, 1], [32094, 1], [32093, 1], [32092, 1], [32091, 1], [32091, 0, "p"], [32092, 0, "e"], [32093, 0, "r"], [32094, 0, "f"], [32095, 0, "o"], [32096, 0, "r"], [32097, 0, "m"], [32098, 0, "s"], [32195, 1], [32194, 1], [32194, 0, "S"], [32195, 0, "i"], [32196, 0, "n"], [32197, 0, "c"], [32198, 0, "e"], [42901, 1], [42924, 1], [55210, 1], [55209, 1], [55208, 1], [55207, 1], [55206, 1], [55205, 1], [55204, 1], [55203, 1], [55202, 1], [55201, 1], [55200, 1], [55199, 1], [55198, 1], [55197, 1], [55196, 1], [55195, 1], [55194, 1], [55193, 1], [55192, 1], [55192, 0, "n"], [55193, 0, "e"], [55194, 0, "x"], [55195, 0, "t"], [71455, 1], [71454, 1], [71453, 1], [71452, 1], [71451, 1], [71450, 1], [71449, 1], [71448, 1], [71447, 1], [71446, 1], [71445, 1], [71444, 1], [71443, 1], [71442, 1], [71441, 1], [71440, 1], [71439, 1], [71438, 1], [71437, 1], [71436, 1], [71435, 1], [71434, 1], [75547, 0, "\n"], [75548, 0, "%"], [75549, 0, "T"], [75550, 0, "O"], [75551, 0, "D"], [75552, 0, "O"], [75553, 0, ":"], [75554, 0, " "], [75555, 0, "w"], [75556, 0, "w"], [75556, 1], [75556, 0, "e"], [75557, 0, " "], [75558, 0, "s"], [75559, 0, "h"], [75560, 0, "o"], [75561, 0, "u"], [75562, 0, "l"], [75563, 0, "d"], [75564, 0, " "], [75565, 0, "p"], [75566, 0, "u"], [75567, 0, "t"], [75568, 0, " "], [75569, 0, "t"], [75570, 0, "h"], [75571, 0, "i"], [75572, 0, "s"], [75573, 0, " "], [75574, 0, "i"], [75575, 0, "n"], [75576, 0, " "], [75577, 0, "a"], [75578, 0, "s"], [75579, 0, " "], [75580, 0, "p"], [75581, 0, "a"], [75582, 0, "r"], [75583, 0, "t"], [75583, 1], [75582, 1], [75581, 1], [75580, 1], [75579, 1], [75578, 1], [75577, 1], [75576, 1], [75575, 1], [75574, 1], [75573, 1], [75572, 1], [75571, 1], [75570, 1], [75569, 1], [75568, 1], [75567, 1], [75566, 1], [75565, 1], [75564, 1], [75563, 1], [75562, 1], [75561, 1], [75560, 1], [75559, 1], [75558, 1], [75557, 1], [75556, 1], [75555, 1], [75555, 0, "t"], [75556, 0, "h"], [75557, 0, "i"], [75558, 0, "s"], [75559, 0, " "], [75560, 0, "d"], [75561, 0, "o"], [75562, 0, "e"], [75563, 0, "s"], [75564, 0, "n"], [75565, 0, "'"], [75566, 0, "t"], [75567, 0, " "], [75568, 0, "s"], [75569, 0, "e"], [75570, 0, "e"], [75571, 0, "m"], [75572, 0, " "], [75573, 0, "t"], [75574, 0, "o"], [75575, 0, " "], [75576, 0, "b"], [75577, 0, "e"], [75578, 0, " "], [75579, 0, "p"], [75580, 0, "a"], [75581, 0, "r"], [75582, 0, "t"], [75583, 0, "i"], [75584, 0, "c"], [75585, 0, "u"], [75586, 0, "l"], [75587, 0, "a"], [75588, 0, "r"], [75589, 0, "l"], [75590, 0, "y"], [75591, 0, " "], [75592, 0, "r"], [75593, 0, "e"], [75594, 0, "l"], [75595, 0, "e"], [75596, 0, "v"], [75597, 0, "a"], [75598, 0, "n"], [75599, 0, "t"], [75600, 0, " "], [75601, 0, "t"], [75602, 0, "o"], [75603, 0, " "], [75604, 0, "t"], [75605, 0, "h"], [75606, 0, "i"], [75607, 0, "s"], [75608, 0, " "], [75609, 0, "p"], [75610, 0, "a"], [75611, 0, "p"], [75612, 0, "e"], [75613, 0, "r"], [75614, 0, " "], [75615, 0, "i"], [75615, 1], [75615, 0, "u"], [75616, 0, "n"], [75617, 0, "l"], [75618, 0, "e"], [75619, 0, "s"], [75620, 0, "s"], [75621, 0, " "], [75622, 0, "w"], [75623, 0, "e"], [75624, 0, " "], [75625, 0, "a"], [75626, 0, "n"], [75627, 0, "a"], [75628, 0, "l"], [75629, 0, "y"], [75630, 0, "s"], [75631, 0, "e"], [75632, 0, " "], [75633, 0, "s"], [75634, 0, "o"], [75635, 0, "m"], [75636, 0, "e"], [75637, 0, " "], [75638, 0, "o"], [75639, 0, "f"], [75640, 0, " "], [75641, 0, "t"], [75642, 0, "h"], [75643, 0, "e"], [75644, 0, " "], [75645, 0, "d"], [75646, 0, "a"], [75647, 0, "t"], [75648, 0, "a"], [75649, 0, "?"], [75650, 0, " "], [75651, 0, "\""], [75860, 0, "\""], [76308, 0, " "], [76309, 0, "I"], [76310, 0, "t"], [76311, 0, " "], [76312, 0, "i"], [76313, 0, "s"], [76314, 0, " "], [76315, 0, "p"], [76316, 0, "o"], [76317, 0, "s"], [76318, 0, "s"], [76319, 0, "i"], [76320, 0, "b"], [76321, 0, "l"], [76322, 0, "e"], [76323, 0, " "], [76324, 0, "t"], [76325, 0, "h"], [76326, 0, "a"], [76327, 0, "t"], [76328, 0, " "], [76329, 0, "a"], [76330, 0, " "], [76331, 0, "s"], [76332, 0, "c"], [76333, 0, "h"], [76334, 0, "e"], [76335, 0, "m"], [76336, 0, "a"], [76337, 0, " "], [76338, 0, "l"], [76339, 0, "a"], [76340, 0, "n"], [76341, 0, "g"], [76342, 0, "u"], [76343, 0, "a"], [76344, 0, "g"], [76345, 0, "e"], [76346, 0, " "], [76347, 0, "i"], [76348, 0, "s"], [76349, 0, " "], [76350, 0, "r"], [76351, 0, "e"], [76352, 0, "q"], [76353, 0, "u"], [76354, 0, "i"], [76355, 0, "r"], [76356, 0, "e"], [76357, 0, "d"], [76357, 1], [76356, 1], [76355, 1], [76354, 1], [76353, 1], [76352, 1], [76351, 1], [76350, 1], [76349, 1], [76348, 1], [76347, 1], [76347, 0, "w"], [76348, 0, "i"], [76349, 0, "l"], [76350, 0, "l"], [76351, 0, " "], [76352, 0, "b"], [76353, 0, "e"], [76354, 0, " "], [76355, 0, "r"], [76356, 0, "e"], [76357, 0, "q"], [76358, 0, "u"], [76359, 0, "i"], [76360, 0, "r"], [76361, 0, "e"], [76362, 0, "d"], [76363, 0, " "], [76364, 0, "i"], [76365, 0, "n"], [76366, 0, "o"], [76366, 1], [76366, 0, " "], [76367, 0, "o"], [76367, 1], [76366, 1], [76365, 1], [76364, 1], [76364, 0, "t"], [76365, 0, "o"], [76366, 0, " "], [76367, 0, "h"], [76368, 0, "e"], [76369, 0, "l"], [76370, 0, "p"], [76370, 1], [76369, 1], [76368, 1], [76367, 1], [76367, 0, "m"], [76368, 0, "a"], [76369, 0, "n"], [76370, 0, "a"], [76371, 0, "g"], [76372, 0, "e"], [76373, 0, " "], [76374, 0, "c"], [76375, 0, "o"], [76376, 0, "m"], [76377, 0, "p"], [76378, 0, "l"], [76379, 0, "e"], [76380, 0, "x"], [76381, 0, "i"], [76382, 0, "t"], [76383, 0, "y"], [76384, 0, "."], [76384, 1], [76383, 1], [76382, 1], [76381, 1], [76380, 1], [76379, 1], [76378, 1], [76377, 1], [76376, 1], [76375, 1], [76374, 1], [76373, 1], [76372, 1], [76371, 1], [76370, 1], [76369, 1], [76368, 1], [76367, 1], [76366, 1], [76365, 1], [76364, 1], [76363, 1], [76362, 1], [76361, 1], [76360, 1], [76359, 1], [76358, 1], [76357, 1], [76356, 1], [76355, 1], [76354, 1], [76353, 1], [76352, 1], [76352, 0, "h"], [76353, 0, "e"], [76354, 0, "l"], [76355, 0, "p"], [76356, 0, " "], [76357, 0, "m"], [76358, 0, "a"], [76359, 0, "n"], [76360, 0, "a"], [76361, 0, "g"], [76362, 0, "e"], [76363, 0, " "], [76364, 0, "c"], [76365, 0, "o"], [76366, 0, "m"], [76367, 0, "p"], [76368, 0, "l"], [76369, 0, "e"], [76370, 0, "i"], [76371, 0, "x"], [76372, 0, "t"], [76373, 0, "y"], [76373, 1], [76372, 1], [76371, 1], [76370, 1], [76370, 0, "x"], [76371, 0, "i"], [76372, 0, "t"], [76373, 0, "y"], [76374, 0, "."], [76322, 1], [76321, 1], [76320, 1], [76319, 1], [76318, 1], [76317, 1], [76316, 1], [76315, 1], [76314, 1], [76313, 1], [76312, 1], [76312, 0, "m"], [76313, 0, "a"], [76314, 0, "y"], [76315, 0, " "], [76316, 0, "t"], [76317, 0, "i"], [76317, 1], [76317, 0, "u"], [76318, 0, "r"], [76319, 0, "n"], [76320, 0, " "], [76321, 0, "o"], [76322, 0, "u"], [76323, 0, "t"], [76356, 1], [76355, 1], [76354, 1], [76353, 1], [76353, 0, "b"], [76354, 0, "e"], [76355, 0, " "], [76356, 0, "i"], [76357, 0, "n"], [76358, 0, "s"], [76359, 0, "t"], [76360, 0, "r"], [76361, 0, "u"], [76362, 0, "c"], [76362, 1], [76362, 0, "m"], [76363, 0, "e"], [76364, 0, "n"], [76365, 0, "t"], [76366, 0, "a"], [76367, 0, "l"], [76368, 0, " "], [76369, 0, "i"], [76370, 0, "n"], [76371, 0, " "], [76372, 0, "t"], [76373, 0, "h"], [76374, 0, "e"], [76382, 0, "m"], [76383, 0, "e"], [76384, 0, "n"], [76385, 0, "t"], [76386, 0, " "], [76387, 0, "o"], [76388, 0, "f"], [76389, 0, " "], [76390, 0, "u"], [76391, 0, "p"], [76392, 0, "d"], [76393, 0, "a"], [76393, 1], [76392, 1], [76391, 1], [76390, 1], [76389, 1], [76388, 1], [76387, 1], [76387, 0, "s"], [76388, 0, "u"], [76389, 0, "c"], [76390, 0, "h"], [76391, 0, " "], [76391, 1], [76390, 1], [76389, 1], [76388, 1], [76387, 1], [76386, 1], [76385, 1], [76384, 1], [76383, 1], [76382, 1], [76381, 1], [76380, 1], [76379, 1], [76378, 1], [76377, 1], [76376, 1], [76375, 1], [76374, 1], [76373, 1], [76372, 1], [76371, 1], [76370, 1], [76369, 1], [76368, 1], [76367, 1], [76366, 1], [76365, 1], [76364, 1], [76363, 1], [76362, 1], [76361, 1], [76360, 1], [76359, 1], [76358, 1], [76357, 1], [76356, 1], [76356, 0, "r"], [76357, 0, "e"], [76358, 0, "q"], [76359, 0, "u"], [76360, 0, "i"], [76361, 0, "r"], [76362, 0, "e"], [76363, 0, "d"], [76364, 0, " "], [76365, 0, "f"], [76366, 0, "o"], [76367, 0, "r"], [76368, 0, " "], [76369, 0, "m"], [76370, 0, "o"], [76371, 0, "r"], [76372, 0, "e"], [76373, 0, " "], [76374, 1], [76383, 1], [76382, 1], [76381, 1], [76381, 0, " "], [76382, 0, "a"], [76383, 0, "p"], [76384, 0, "p"], [76385, 0, "l"], [76386, 0, "i"], [76387, 0, "c"], [76388, 0, "a"], [76389, 0, "t"], [76390, 0, "i"], [76391, 0, "o"], [76392, 0, "n"], [76393, 0, "s"], [76372, 1], [76371, 1], [76370, 1], [76369, 1], [76368, 1], [76367, 1], [76366, 1], [76365, 1], [76365, 0, "t"], [76366, 0, "o"], [76367, 0, " "], [76368, 0, "s"], [76369, 0, "u"], [76370, 0, "p"], [76371, 0, "p"], [76372, 0, "o"], [76373, 0, "r"], [76374, 0, "t"], [76375, 0, " "], [76376, 0, "m"], [76377, 0, "o"], [76378, 0, "r"], [76379, 0, "e"], [75651, 1], [75650, 1], [75649, 1], [75648, 1], [75647, 1], [75646, 1], [75645, 1], [75644, 1], [75643, 1], [75642, 1], [75641, 1], [75640, 1], [75639, 1], [75638, 1], [75637, 1], [75636, 1], [75635, 1], [75634, 1], [75633, 1], [75632, 1], [75631, 1], [75630, 1], [75629, 1], [75628, 1], [75627, 1], [75626, 1], [75625, 1], [75624, 1], [75623, 1], [75622, 1], [75621, 1], [75620, 1], [75619, 1], [75618, 1], [75617, 1], [75616, 1], [75615, 1], [75614, 1], [75613, 1], [75612, 1], [75611, 1], [75610, 1], [75609, 1], [75608, 1], [75607, 1], [75606, 1], [75605, 1], [75604, 1], [75603, 1], [75602, 1], [75601, 1], [75600, 1], [75599, 1], [75598, 1], [75597, 1], [75596, 1], [75595, 1], [75594, 1], [75593, 1], [75592, 1], [75591, 1], [75590, 1], [75589, 1], [75588, 1], [75587, 1], [75586, 1], [75585, 1], [75584, 1], [75583, 1], [75582, 1], [75581, 1], [75580, 1], [75579, 1], [75578, 1], [75577, 1], [75576, 1], [75575, 1], [75574, 1], [75573, 1], [75572, 1], [75571, 1], [75570, 1], [75569, 1], [75568, 1], [75567, 1], [75566, 1], [75565, 1], [75564, 1], [75563, 1], [75562, 1], [75561, 1], [75560, 1], [75559, 1], [75558, 1], [75557, 1], [75556, 1], [75555, 1], [75554, 1], [75553, 1], [75552, 1], [75551, 1], [75550, 1], [75549, 1], [75548, 1], [75547, 1], [75755, 1], [71434, 0, "$"], [18080, 0, "-"], [18106, 0, "-"], [21741, 1], [21740, 1], [21739, 1], [21739, 0, "g"], [21740, 0, "r"], [21741, 0, "i"], [21741, 1], [21741, 0, "o"], [21742, 0, "c"], [21743, 0, "e"], [21744, 0, "r"], [21745, 0, "i"], [21746, 0, "e"], [21747, 0, "s"], [21806, 1], [21806, 1], [21806, 1], [21806, 0, "g"], [21807, 0, "r"], [21808, 0, "o"], [21809, 0, "c"], [21810, 0, "e"], [21811, 0, "r"], [21812, 0, "i"], [21813, 0, "e"], [21814, 0, "s"], [21873, 1], [21873, 1], [21873, 1], [21873, 0, "g"], [21874, 0, "r"], [21875, 0, "o"], [21876, 0, "c"], [21877, 0, "e"], [21878, 0, "r"], [21879, 0, "i"], [21880, 0, "e"], [21881, 0, "s"], [21948, 1], [21948, 1], [21948, 1], [21948, 0, "g"], [21949, 0, "r"], [21950, 0, "o"], [21951, 0, "c"], [21952, 0, "e"], [21953, 0, "r"], [21954, 0, "i"], [21955, 0, "e"], [21956, 0, "s"], [22032, 1], [22032, 1], [22032, 1], [22032, 0, "g"], [22033, 0, "r"], [22034, 0, "o"], [22035, 0, "c"], [22036, 0, "e"], [22037, 0, "r"], [22038, 0, "i"], [22039, 0, "e"], [22040, 0, "s"], [22107, 1], [22107, 1], [22107, 1], [22107, 0, "g"], [22108, 0, "r"], [22109, 0, "o"], [22110, 0, "c"], [22111, 0, "e"], [22112, 0, "r"], [22113, 0, "i"], [22114, 0, "e"], [22115, 0, "s"], [22193, 1], [22193, 1], [22193, 1], [22193, 0, "c"], [22194, 0, "r"], [22195, 0, "o"], [22195, 1], [22194, 1], [22193, 1], [22193, 0, "g"], [22194, 0, "r"], [22195, 0, "o"], [22196, 0, "c"], [22197, 0, "e"], [22198, 0, "r"], [22199, 0, "i"], [22200, 0, "e"], [22201, 0, "s"], [22298, 1], [22298, 1], [22298, 1], [22298, 0, "g"], [22299, 0, "r"], [22300, 0, "o"], [22301, 0, "c"], [22302, 0, "e"], [22303, 0, "r"], [22304, 0, "i"], [22305, 0, "e"], [22306, 0, "s"], [22483, 1], [22483, 1], [22483, 1], [22483, 0, "g"], [22484, 0, "r"], [22485, 0, "o"], [22486, 0, "c"], [22487, 0, "e"], [22488, 0, "r"], [22489, 0, "i"], [22490, 0, "e"], [22491, 0, "s"], [22563, 1], [22562, 1], [22562, 1], [22562, 0, "g"], [22563, 0, "r"], [22564, 0, "o"], [22565, 0, "c"], [22566, 0, "e"], [22567, 0, "r"], [22568, 0, "i"], [22569, 0, "e"], [22570, 0, "s"], [22642, 1], [22642, 1], [22642, 1], [22642, 0, "g"], [22643, 0, "r"], [22644, 0, "o"], [22645, 0, "c"], [22646, 0, "e"], [22647, 0, "r"], [22648, 0, "i"], [22649, 0, "e"], [22650, 0, "s"], [22737, 1], [22737, 1], [22737, 1], [22737, 0, "g"], [22738, 0, "r"], [22739, 0, "o"], [22740, 0, "c"], [22741, 0, "e"], [22742, 0, "r"], [22743, 0, "i"], [22744, 0, "e"], [22745, 0, "s"], [23448, 1], [23447, 1], [23446, 1], [23446, 0, "g"], [23447, 0, "r"], [23448, 0, "o"], [23449, 0, "c"], [23450, 0, "e"], [23451, 0, "r"], [23452, 0, "i"], [23453, 0, "e"], [23454, 0, "s"], [23516, 1], [23515, 1], [23514, 1], [23513, 1], [23512, 1], [23511, 1], [23510, 1], [23509, 1], [23508, 1], [23507, 1], [23507, 0, "c"], [23508, 0, "o"], [23509, 0, "m"], [23510, 0, "m"], [23511, 0, "u"], [23512, 0, "n"], [23513, 0, "i"], [23514, 0, "c"], [23515, 0, "a"], [23516, 0, "t"], [23517, 0, "e"], [23517, 1], [23516, 1], [23515, 1], [23514, 1], [23513, 1], [23512, 1], [23511, 1], [23510, 1], [23509, 1], [23508, 1], [23507, 1], [23506, 1], [23505, 1], [23504, 1], [23503, 1], [23502, 1], [23501, 1], [23500, 1], [23499, 1], [23498, 1], [23498, 0, "m"], [23499, 0, "o"], [23500, 0, "d"], [23501, 0, "i"], [23502, 0, "f"], [23503, 0, "i"], [23504, 0, "c"], [23505, 0, "a"], [23506, 0, "t"], [23507, 0, "i"], [23508, 0, "o"], [23509, 0, "n"], [23510, 0, "s"], [23511, 0, " "], [23512, 0, "a"], [23513, 0, "r"], [23514, 0, "e"], [23515, 0, " "], [23516, 0, "c"], [23517, 0, "o"], [23518, 0, "m"], [23519, 0, "b"], [23520, 0, "i"], [23521, 0, "n"], [23522, 0, "e"], [23523, 0, "d"], [23557, 1], [23556, 1], [23555, 1], [23554, 1], [23553, 1], [26323, 1], [26323, 1], [26323, 1], [26323, 1], [26323, 1], [26323, 1], [26323, 1], [26323, 1], [26323, 1], [26323, 1], [26323, 1], [26323, 1], [26323, 1], [26323, 1], [26323, 1], [26323, 1], [26323, 1], [26323, 1], [26323, 1], [26323, 1], [26323, 1], [26323, 1], [26323, 1], [26323, 0, "d"], [26324, 0, "e"], [26325, 0, "v"], [26326, 0, "e"], [26327, 0, "l"], [26328, 0, "o"], [26329, 0, "p"], [26330, 0, "m"], [26331, 0, "e"], [26332, 0, "n"], [26333, 0, "t"], [26334, 0, " "], [26335, 0, "o"], [26336, 0, "f"], [28339, 1], [28338, 1], [28338, 0, "i"], [28339, 0, "t"], [28366, 1], [28365, 1], [28365, 0, "i"], [28366, 0, "t"], [28657, 1], [28656, 1], [28656, 0, "i"], [28657, 0, "t"], [28640, 1], [28639, 1], [28639, 0, "i"], [28640, 0, "t"], [30974, 1], [30973, 1], [30973, 0, "i"], [30974, 0, "t"], [31318, 0, "s"], [31318, 1], [31317, 1], [31316, 1], [31315, 1], [31314, 1], [31313, 1], [31313, 0, "c"], [31314, 0, "o"], [31315, 0, "n"], [31316, 0, "t"], [31317, 0, "e"], [31318, 0, "n"], [31319, 0, "t"], [31320, 0, "s"], [31328, 0, " "], [31329, 0, "m"], [31330, 0, "u"], [31331, 0, "l"], [31332, 0, "t"], [31333, 0, "i"], [31334, 0, "-"], [31335, 0, "v"], [31336, 0, "a"], [31337, 0, "l"], [31338, 0, "u"], [31339, 0, "e"], [76385, 0, " "], [76386, 0, "A"], [76387, 0, " "], [76388, 0, "s"], [76389, 0, "c"], [76390, 0, "h"], [76391, 0, "e"], [76392, 0, "m"], [76393, 0, "a"], [76394, 0, " "], [76395, 0, "l"], [76396, 0, "a"], [76397, 0, "n"], [76398, 0, "g"], [76399, 0, "u"], [76400, 0, "a"], [76401, 0, "g"], [76402, 0, "e"], [76403, 0, " "], [76404, 0, "c"], [76405, 0, "o"], [76406, 0, "u"], [76407, 0, "l"], [76408, 0, "d"], [76409, 0, " "], [76410, 0, "a"], [76411, 0, "l"], [76412, 0, "s"], [76413, 0, "o"], [76414, 0, " "], [76415, 0, "s"], [76416, 0, "u"], [76417, 0, "p"], [76418, 0, "p"], [76419, 0, "o"], [76420, 0, "r"], [76421, 0, "t"], [76422, 0, " "], [76423, 0, "s"], [76424, 0, "e"], [76425, 0, "m"], [76426, 0, "a"], [76427, 0, "n"], [76428, 0, "t"], [76429, 0, "i"], [76430, 0, "c"], [76431, 0, " "], [76432, 0, "a"], [76433, 0, "n"], [76434, 0, "n"], [76435, 0, "o"], [76436, 0, "t"], [76437, 0, "a"], [76438, 0, "t"], [76439, 0, "i"], [76440, 0, "o"], [76441, 0, "n"], [76442, 0, "s"], [76443, 0, ","], [76444, 0, " "], [76445, 0, "s"], [76446, 0, "u"], [76447, 0, "c"], [76448, 0, "h"], [76449, 0, " "], [76450, 0, "a"], [76451, 0, "s"], [76452, 0, " "], [76453, 0, "i"], [76454, 0, "n"], [76455, 0, "d"], [76456, 0, "i"], [76457, 0, "c"], [76458, 0, "a"], [76459, 0, "t"], [76460, 0, "i"], [76461, 0, "n"], [76462, 0, "g"], [76463, 0, " "], [76464, 0, "t"], [76465, 0, "h"], [76466, 0, "a"], [76467, 0, "t"], [76468, 0, " "], [76469, 0, "a"], [76470, 0, " "], [76471, 0, "n"], [76472, 0, "u"], [76473, 0, "m"], [76474, 0, "b"], [76475, 0, "e"], [76476, 0, "r"], [76477, 0, " "], [76478, 0, "s"], [76479, 0, "h"], [76480, 0, "o"], [76481, 0, "u"], [76482, 0, "l"], [76483, 0, "d"], [76484, 0, " "], [76485, 0, "b"], [76486, 0, "e"], [76487, 0, " "], [76488, 0, "t"], [76489, 0, "r"], [76490, 0, "e"], [76491, 0, "a"], [76492, 0, "t"], [76493, 0, "e"], [76494, 0, "d"], [76495, 0, " "], [76496, 0, "a"], [76497, 0, "s"], [76498, 0, " "], [76499, 0, "a"], [76500, 0, " "], [76501, 0, "c"], [76502, 0, "o"], [76503, 0, "u"], [76504, 0, "n"], [76505, 0, "t"], [76506, 0, "e"], [76507, 0, "r"], [76508, 0, " "], [76509, 0, "r"], [76510, 0, "a"], [76511, 0, "t"], [76512, 0, "h"], [76513, 0, "e"], [76514, 0, "r"], [76515, 0, " "], [76516, 0, "t"], [76517, 0, "h"], [76518, 0, "a"], [76519, 0, "n"], [76520, 0, " "], [76521, 0, "a"], [76522, 0, " "], [76523, 0, "r"], [76524, 0, "e"], [76525, 0, "g"], [76526, 0, "i"], [76527, 0, "s"], [76528, 0, "t"], [76529, 0, "e"], [76530, 0, "r"], [76531, 0, "."], [2284, 0, " "], [2285, 0, "m"], [2286, 0, "a"], [2287, 0, "k"], [2288, 0, "i"], [2289, 0, "n"], [2290, 0, "g"], [2291, 0, " "], [2292, 0, "i"], [2293, 0, "s"], [2294, 0, " "], [2294, 1], [2293, 1], [2293, 0, "t"], [2294, 0, " "], [2295, 0, "s"], [2296, 0, "u"], [2297, 0, "i"], [2298, 0, "t"], [2299, 0, "a"], [2300, 0, "b"], [2301, 0, "l"], [2302, 0, "e"], [2303, 0, " "], [2304, 0, "f"], [2305, 0, "o"], [2306, 0, "r"], [2307, 0, " "], [2308, 0, "m"], [2309, 0, "o"], [2310, 0, "b"], [2311, 0, "i"], [2312, 0, "l"], [2313, 0, "e"], [2314, 0, " "], [2315, 0, "d"], [2316, 0, "e"], [2317, 0, "v"], [2318, 0, "i"], [2319, 0, "c"], [2320, 0, "e"], [2321, 0, "s"], [2322, 0, " "], [2323, 0, "t"], [2324, 0, "h"], [2325, 0, "a"], [2326, 0, "t"], [2327, 0, " "], [2328, 0, "s"], [2329, 0, "u"], [2330, 0, "f"], [2331, 0, "f"], [2332, 0, "e"], [2333, 0, "r"], [2334, 0, " "], [2335, 0, "p"], [2336, 0, "e"], [2337, 0, "r"], [2338, 0, "i"], [2339, 0, "o"], [2340, 0, "d"], [2341, 0, "s"], [2341, 1], [2340, 1], [2339, 1], [2338, 1], [2337, 1], [2336, 1], [2335, 1], [2334, 1], [2333, 1], [2332, 1], [2331, 1], [2330, 1], [2329, 1], [2328, 1], [2327, 1], [2326, 1], [2325, 1], [2324, 1], [2323, 1], [2323, 0, "w"], [2324, 0, "i"], [2325, 0, "t"], [2326, 0, "h"], [2327, 0, " "], [2328, 0, "p"], [2329, 0, "o"], [2330, 0, "o"], [2331, 0, "r"], [2332, 0, " "], [2333, 0, "n"], [2334, 0, "e"], [2335, 0, "t"], [2336, 0, "w"], [2337, 0, "o"], [2338, 0, "r"], [2339, 0, "k"], [2340, 0, " "], [2341, 0, "c"], [2342, 0, "o"], [2343, 0, "n"], [2344, 0, "n"], [2345, 0, "e"], [2346, 0, "c"], [2347, 0, "t"], [2348, 0, "i"], [2349, 0, "v"], [2350, 0, "i"], [2351, 0, "t"], [2352, 0, "y"], [2308, 0, "c"], [2309, 0, "e"], [2310, 0, "p"], [2310, 1], [2309, 1], [2308, 1], [2308, 0, "d"], [2309, 0, "e"], [2310, 0, "p"], [2311, 0, "l"], [2312, 0, "o"], [2313, 0, "y"], [2314, 0, "m"], [2315, 0, "e"], [2316, 0, "n"], [2317, 0, "t"], [2318, 0, " "], [2319, 0, "o"], [2320, 0, "n"], [2321, 0, " "], [2367, 1], [2367, 1], [2367, 1], [2367, 1], [2367, 1], [2367, 1], [2367, 1], [2367, 1], [2367, 1], [2367, 1], [2367, 1], [2367, 1], [2367, 1], [2367, 1], [2367, 1], [2367, 1], [2367, 1], [2367, 1], [2367, 1], [2367, 1], [2367, 1], [2367, 1], [2367, 1], [2367, 1], [2367, 1], [2367, 1], [2367, 1], [2367, 0, ","], [2620, 1], [2619, 1], [2618, 1], [2617, 1], [2616, 1], [2615, 1], [2614, 1], [2613, 1], [2612, 1], [2611, 1], [2610, 1], [2609, 1], [2608, 1], [2607, 1], [2606, 1], [2605, 1], [2604, 1], [2603, 1], [2602, 1], [2601, 1], [2600, 1], [2599, 1], [2598, 1], [2597, 1], [2596, 1], [2595, 1], [2594, 1], [2593, 1], [2592, 1], [2591, 1], [2590, 1], [2589, 1], [2588, 1], [2587, 1], [2586, 1], [2585, 1], [2584, 1], [2583, 1], [2582, 1], [2581, 1], [2580, 1], [2579, 1], [2578, 1], [2577, 1], [2576, 1], [2575, 1], [2574, 1], [2573, 1], [2572, 1], [2571, 1], [2570, 1], [2569, 1], [2568, 1], [2567, 1], [2566, 1], [2565, 1], [2564, 1], [2563, 1], [2562, 1], [2561, 1], [2560, 1], [2559, 1], [2558, 1], [2557, 1], [2556, 1], [2555, 1], [2554, 1], [2553, 1], [2552, 1], [2551, 1], [2550, 1], [2549, 1], [2548, 1], [2547, 1], [2546, 1], [2545, 1], [2544, 1], [2543, 1], [2542, 1], [2541, 1], [2540, 1], [2539, 1], [2538, 1], [2537, 1], [2536, 1], [2535, 1], [2534, 1], [2533, 1], [2532, 1], [2531, 1], [2530, 1], [2529, 1], [2528, 1], [2527, 1], [2526, 1], [2525, 1], [2524, 1], [2523, 1], [2522, 1], [2521, 1], [2520, 1], [2519, 1], [2518, 1], [2517, 1], [2516, 1], [2515, 1], [2514, 1], [2513, 1], [2512, 1], [2511, 1], [2510, 1], [2509, 1], [2508, 1], [2507, 1], [2506, 1], [2505, 1], [2504, 1], [2503, 1], [2502, 1], [2501, 1], [2500, 1], [2499, 1], [2498, 1], [2497, 1], [2496, 1], [2495, 1], [2494, 1], [2493, 1], [2492, 1], [2491, 1], [2490, 1], [2489, 1], [2488, 1], [2487, 1], [2486, 1], [2485, 1], [2484, 1], [2483, 1], [2482, 1], [2481, 1], [2480, 1], [2479, 1], [2478, 1], [2477, 1], [2476, 1], [2475, 1], [2474, 1], [2473, 1], [2472, 1], [2471, 1], [2470, 1], [2469, 1], [2468, 1], [2467, 1], [2466, 1], [2465, 1], [2464, 1], [2463, 1], [2462, 1], [2461, 1], [2460, 1], [2459, 1], [2458, 1], [2457, 1], [2456, 1], [2455, 1], [2454, 1], [2453, 1], [2452, 1], [2451, 1], [2450, 1], [2449, 1], [2448, 1], [2447, 1], [3378, 1], [3377, 1], [3376, 1], [3375, 1], [3374, 1], [3373, 1], [3372, 1], [3371, 1], [3370, 1], [3369, 1], [3368, 1], [3367, 1], [3366, 1], [3365, 1], [3364, 1], [3363, 1], [3362, 1], [3361, 1], [3360, 1], [3359, 1], [3358, 1], [3357, 1], [3356, 1], [3355, 1], [3354, 1], [3353, 1], [3352, 1], [3351, 1], [3350, 1], [3349, 1], [3348, 1], [3347, 1], [3346, 1], [3345, 1], [3344, 1], [3343, 1], [3342, 1], [3341, 1], [3340, 1], [3339, 1], [3338, 1], [3337, 1], [3336, 1], [3335, 1], [3334, 1], [3333, 1], [3332, 1], [3331, 1], [3330, 1], [3329, 1], [3328, 1], [3327, 1], [3326, 1], [3325, 1], [3324, 1], [3323, 1], [3322, 1], [3321, 1], [3320, 1], [3319, 1], [3318, 1], [3317, 1], [3316, 1], [3315, 1], [3314, 1], [3313, 1], [3312, 1], [3311, 1], [3310, 1], [3309, 1], [3308, 1], [3307, 1], [3306, 1], [3305, 1], [3304, 1], [3303, 1], [3302, 1], [3301, 1], [3300, 1], [3299, 1], [3298, 1], [3297, 1], [3296, 1], [3295, 1], [3294, 1], [3293, 1], [3292, 1], [3291, 1], [3290, 1], [3289, 1], [3288, 1], [3287, 1], [3286, 1], [3285, 1], [3284, 1], [3283, 1], [3282, 1], [3281, 1], [3280, 1], [3279, 1], [3278, 1], [3277, 1], [3276, 1], [3275, 1], [3274, 1], [3273, 1], [3272, 1], [3271, 1], [3270, 1], [3269, 1], [3268, 1], [3267, 1], [3266, 1], [3265, 1], [3264, 1], [3263, 1], [3262, 1], [3261, 1], [3260, 1], [3259, 1], [3258, 1], [3257, 1], [3256, 1], [3255, 1], [3254, 1], [3253, 1], [3252, 1], [3251, 1], [3250, 1], [3249, 1], [3248, 1], [3247, 1], [3246, 1], [3245, 1], [3244, 1], [3243, 1], [3242, 1], [3241, 1], [3240, 1], [3239, 1], [3238, 1], [3237, 1], [3236, 1], [3235, 1], [3234, 1], [3233, 1], [3232, 1], [3231, 1], [3230, 1], [3229, 1], [3228, 1], [3227, 1], [3226, 1], [3225, 1], [3224, 1], [3223, 1], [3222, 1], [3221, 1], [3220, 1], [3219, 1], [3218, 1], [3217, 1], [3216, 1], [3130, 1], [3129, 1], [3128, 1], [3127, 1], [3126, 1], [3125, 1], [3124, 1], [3123, 1], [3122, 1], [3121, 1], [3120, 1], [3119, 1], [3118, 1], [3117, 1], [3116, 1], [3115, 1], [3115, 0, "i"], [3116, 0, "v"], [3117, 0, "e"], [3118, 0, " "], [3119, 0, "e"], [3120, 0, "d"], [3121, 0, "i"], [3122, 0, "t"], [3123, 0, "i"], [3124, 0, "n"], [3125, 0, "g"], [3126, 0, " "], [3127, 0, "o"], [3128, 0, "f"], [3103, 1], [3102, 1], [3101, 1], [3100, 1], [3099, 1], [3098, 1], [3097, 1], [3096, 1], [3095, 1], [3094, 1], [3093, 1], [3092, 1], [3091, 1], [3090, 1], [3089, 1], [3088, 1], [3087, 1], [3086, 1], [3085, 1], [3084, 1], [3083, 1], [3082, 1], [3081, 1], [3080, 1], [3079, 1], [3078, 1], [3077, 1], [3076, 1], [3075, 1], [3075, 0, "S"], [3076, 0, "i"], [3077, 0, "m"], [3078, 0, "i"], [3079, 0, "l"], [3080, 0, "a"], [3081, 0, "r"], [3082, 0, "l"], [3083, 0, "y"], [3084, 0, ","], [3194, 0, " "], [3195, 0, "i"], [3196, 0, "s"], [3197, 0, " "], [3098, 1], [3097, 1], [3097, 0, "v"], [3098, 0, "e"], [3099, 0, " "], [3100, 0, "w"], [3101, 0, "o"], [3102, 0, "r"], [3103, 0, "k"], [3104, 0, " "], [3105, 0, "o"], [3106, 0, "f"], [3107, 0, "t"], [3108, 0, "e"], [3109, 0, "n"], [3110, 0, " "], [3111, 0, "r"], [3112, 0, "e"], [3113, 0, "q"], [3114, 0, "u"], [3115, 0, "i"], [3116, 0, "r"], [3117, 0, "e"], [3118, 0, "s"], [3119, 0, " "], [3120, 0, "s"], [3121, 0, "e"], [3122, 0, "v"], [3123, 0, "e"], [3124, 0, "r"], [3125, 0, "a"], [3126, 0, "l"], [3127, 0, " "], [3128, 0, "p"], [3129, 0, "e"], [3130, 0, "o"], [3131, 0, "p"], [3132, 0, "l"], [3133, 0, "e"], [3134, 0, " "], [3135, 0, "t"], [3136, 0, "o"], [3137, 0, " "], [3138, 0, "w"], [3139, 0, "o"], [3140, 0, "r"], [3141, 0, "k"], [3142, 0, " "], [3143, 0, "o"], [3144, 0, "n"], [3145, 0, " "], [3146, 0, "t"], [3147, 0, "h"], [3148, 0, "e"], [3149, 0, " "], [3150, 0, "s"], [3151, 0, "a"], [3152, 0, "m"], [3153, 0, "e"], [3154, 1], [3154, 1], [3154, 1], [3154, 1], [3154, 1], [3154, 1], [3154, 1], [3154, 1], [3154, 1], [3154, 1], [3154, 1], [3241, 1], [3240, 1], [3239, 1], [3238, 1], [3238, 0, ";"], [3239, 0, " "], [3144, 1], [3143, 1], [3142, 1], [3141, 1], [3140, 1], [3139, 1], [3138, 1], [3138, 0, "e"], [3139, 0, "d"], [3140, 0, "i"], [3141, 0, "t"], [3237, 0, "i"], [3238, 0, "f"], [3239, 0, " "], [3240, 0, "e"], [3241, 0, "a"], [3242, 0, "c"], [3243, 0, "h"], [3244, 0, " "], [3245, 0, "p"], [3246, 0, "e"], [3247, 0, "r"], [3248, 0, "s"], [3249, 0, "o"], [3250, 0, "n"], [3251, 0, " "], [3252, 0, "u"], [3253, 0, "s"], [3254, 0, "e"], [3255, 0, "s"], [3256, 0, " "], [3257, 0, "t"], [3258, 0, "h"], [3259, 0, "e"], [3260, 0, "i"], [3261, 0, "r"], [3262, 0, " "], [3263, 0, "o"], [3264, 0, "w"], [3265, 0, "n"], [3266, 0, " "], [3267, 0, "d"], [3268, 0, "e"], [3269, 0, "v"], [3270, 0, "i"], [3271, 0, "c"], [3272, 0, "e"], [3273, 0, ","], [3274, 0, " "], [3275, 0, "e"], [3276, 0, "d"], [3277, 0, "i"], [3278, 0, "t"], [3279, 0, "s"], [3280, 0, " "], [3281, 0, "m"], [3282, 0, "a"], [3138, 0, "s"], [3139, 0, "i"], [3140, 0, "m"], [3141, 0, "u"], [3142, 0, "l"], [3143, 0, "t"], [3144, 0, "a"], [3145, 0, "n"], [3146, 0, "e"], [3147, 0, "o"], [3148, 0, "u"], [3149, 0, "s"], [3150, 0, "l"], [3151, 0, "y"], [3152, 0, " "], [3180, 1], [3193, 1], [3207, 1], [3216, 1], [3245, 1], [3282, 1], [3281, 1], [3280, 1], [3279, 1], [3278, 1], [3277, 1], [3276, 1], [3275, 1], [3274, 1], [3273, 1], [3272, 1], [3271, 1], [3270, 1], [3269, 1], [3268, 1], [3267, 1], [3266, 1], [3265, 1], [3264, 1], [3263, 1], [3262, 1], [3261, 1], [3260, 1], [3259, 1], [3258, 1], [3257, 1], [3256, 1], [3255, 1], [3254, 1], [3253, 1], [3252, 1], [3251, 1], [3250, 1], [3249, 1], [3248, 1], [3247, 1], [3246, 1], [3245, 1], [3246, 0, " "], [3247, 0, "w"], [3248, 0, "i"], [3249, 0, "t"], [3250, 0, "h"], [3251, 0, " "], [3252, 0, "o"], [3253, 0, "n"], [3254, 0, "e"], [3255, 0, " "], [3256, 0, "p"], [3257, 0, "e"], [3258, 0, "r"], [3259, 0, "s"], [3259, 1], [3258, 1], [3257, 1], [3256, 1], [3255, 1], [3254, 1], [3253, 1], [3252, 1], [3252, 0, "e"], [3253, 0, "a"], [3254, 0, "c"], [3255, 0, "h"], [3256, 0, " "], [3257, 0, "p"], [3258, 0, "e"], [3259, 0, "r"], [3260, 0, "s"], [3261, 0, "o"], [3262, 0, "n"], [3263, 0, "'"], [3264, 0, "s"], [3265, 0, " "], [3265, 1], [3273, 1], [3272, 1], [3272, 0, "s"], [3273, 0, "y"], [3274, 0, "n"], [3275, 0, "c"], [3276, 0, "h"], [3277, 0, "r"], [3278, 0, "o"], [3279, 0, "n"], [3280, 0, "i"], [3281, 0, "z"], [3281, 1], [3280, 1], [3279, 1], [3278, 1], [3277, 1], [3276, 1], [3275, 1], [3274, 1], [3273, 1], [3272, 1], [3272, 0, "r"], [3273, 0, "e"], [3274, 0, "f"], [3275, 0, "l"], [3276, 0, "e"], [3277, 0, "c"], [3278, 0, "t"], [3279, 0, "e"], [3280, 0, "d"], [3281, 0, " "], [3282, 0, "o"], [3283, 0, "n"], [3284, 0, " "], [3285, 0, "t"], [3286, 0, "h"], [3287, 0, "e"], [3288, 0, " "], [3289, 0, "o"], [3290, 0, "t"], [3291, 0, "h"], [3292, 0, "e"], [3293, 0, "r"], [3294, 0, " "], [3295, 0, "c"], [3296, 0, "o"], [3297, 0, "l"], [3298, 0, "l"], [3299, 0, "a"], [3300, 0, "b"], [3301, 0, "o"], [3302, 0, "r"], [3303, 0, "a"], [3304, 0, "t"], [3305, 0, "o"], [3306, 0, "r"], [3307, 0, "s"], [3308, 0, "'"], [3309, 0, " "], [3310, 0, "c"], [3311, 0, "o"], [3312, 0, "p"], [3313, 0, "i"], [3314, 0, "e"], [3315, 0, "s"], [3316, 0, " "], [3317, 0, "o"], [3318, 0, "f"], [3319, 0, " "], [3320, 0, "t"], [3321, 0, "h"], [3322, 0, "e"], [3323, 0, " "], [3324, 0, "d"], [3325, 0, "o"], [3326, 0, "c"], [3327, 0, "u"], [3328, 0, "m"], [3329, 0, "e"], [3330, 0, "n"], [3331, 0, "t"], [3332, 0, " "], [3333, 0, "w"], [3334, 0, "i"], [3335, 0, "t"], [3336, 0, "h"], [3337, 0, " "], [3338, 0, "m"], [3339, 0, "i"], [3340, 0, "n"], [3341, 0, "i"], [3342, 0, "m"], [3343, 0, "a"], [3344, 0, "l"], [3345, 0, " "], [3346, 0, "d"], [3347, 0, "e"], [3348, 0, "l"], [3349, 0, "a"], [3350, 0, "y"], [9033, 0, "\n"], [9034, 0, "\n"], [9035, 0, "I"], [9036, 0, "n"], [9037, 0, " "], [9038, 0, "S"], [9039, 0, "e"], [9040, 0, "c"], [9041, 0, "t"], [9042, 0, "i"], [9043, 0, "o"], [9044, 0, "n"], [9045, 0, "~"], [9046, 0, "\\"], [9047, 0, "r"], [9048, 0, "e"], [9049, 0, "f"], [9050, 0, "{"], [9051, 0, "s"], [9052, 0, "e"], [9053, 0, "c"], [9054, 0, ":"], [9055, 0, "c"], [9056, 0, "o"], [9057, 0, "n"], [9058, 0, "v"], [9059, 0, "e"], [9060, 0, "r"], [9061, 0, "g"], [9062, 0, "e"], [9063, 0, "n"], [9064, 0, "c"], [9065, 0, "e"], [9066, 0, "}"], [9067, 0, " "], [9068, 0, "a"], [9069, 0, "n"], [9070, 0, "d"], [9071, 0, " "], [9072, 0, "t"], [9073, 0, "h"], [9074, 0, "e"], [9075, 0, " "], [9076, 0, "a"], [9077, 0, "p"], [9078, 0, "p"], [9079, 0, "e"], [9080, 0, "n"], [9081, 0, "d"], [9082, 0, "i"], [9083, 0, "x"], [9084, 0, " "], [9084, 1], [9084, 0, "."], [9035, 0, " "], [9035, 0, "A"], [9036, 0, " "], [9037, 0, "k"], [9038, 0, "e"], [9039, 0, "y"], [9040, 0, " "], [9041, 0, "r"], [9042, 0, "e"], [9043, 0, "q"], [9044, 0, "u"], [9045, 0, "i"], [9046, 0, "r"], [9047, 0, "e"], [9048, 0, "m"], [9049, 0, "e"], [9050, 0, "n"], [9051, 0, "t"], [9052, 0, " "], [9053, 0, "o"], [9054, 0, "f"], [9055, 0, " "], [9056, 0, "c"], [9057, 0, "o"], [9058, 0, "n"], [9059, 0, "f"], [9060, 0, "l"], [9061, 0, "i"], [9062, 0, "c"], [9063, 0, "t"], [9064, 0, " "], [9065, 0, "r"], [9066, 0, "e"], [9067, 0, "s"], [9068, 0, "o"], [9069, 0, "l"], [9070, 0, "u"], [9071, 0, "t"], [9072, 0, "i"], [9073, 0, "o"], [9074, 0, "n"], [9075, 0, " "], [9076, 0, "i"], [9077, 0, "s"], [9078, 0, " "], [9079, 0, "t"], [9080, 0, "h"], [9081, 0, "a"], [9082, 0, "t"], [9083, 0, " "], [9084, 0, "r"], [9085, 0, "e"], [9086, 0, "p"], [9087, 0, "l"], [9088, 0, "i"], [9089, 0, "c"], [9090, 0, "a"], [9091, 0, "s"], [9092, 0, " "], [9093, 0, "c"], [9094, 0, "o"], [9095, 0, "n"], [9096, 0, "v"], [9097, 0, "e"], [9098, 0, "r"], [9099, 0, "g"], [9100, 0, "e"], [9101, 0, " "], [9102, 0, "t"], [9103, 0, "o"], [9104, 0, "w"], [9105, 0, "a"], [9106, 0, "r"], [9107, 0, "d"], [9108, 0, "s"], [9109, 0, " "], [9110, 0, "t"], [9111, 0, "h"], [9112, 0, "e"], [9113, 0, " "], [9114, 0, "s"], [9115, 0, "a"], [9116, 0, "m"], [9117, 0, "e"], [9118, 0, " "], [9119, 0, "s"], [9120, 0, "t"], [9121, 0, "a"], [9122, 0, "t"], [9123, 0, "e"], [9124, 0, ","], [9125, 0, " "], [9126, 0, "o"], [9127, 0, "r"], [9128, 0, " "], [9129, 0, "m"], [9130, 0, "o"], [9131, 0, "r"], [9132, 0, "e"], [9133, 0, " "], [9134, 0, "f"], [9135, 0, "o"], [9136, 0, "r"], [9137, 0, "m"], [9138, 0, "a"], [9139, 0, "l"], [9140, 0, "l"], [9141, 0, "y"], [9142, 0, ","], [9143, 0, " "], [9144, 0, "a"], [9145, 0, "n"], [9146, 0, "y"], [9147, 0, " "], [9148, 0, "t"], [9149, 0, "w"], [9150, 0, "o"], [9151, 0, " "], [9152, 0, "r"], [9153, 0, "e"], [9154, 0, "p"], [9155, 0, "l"], [9156, 0, "i"], [9157, 0, "c"], [9158, 0, "a"], [9159, 0, "s"], [9160, 0, " "], [9161, 0, "t"], [9162, 0, "h"], [9163, 0, "a"], [9164, 0, "t"], [9165, 0, " "], [9166, 0, "h"], [9167, 0, "a"], [9168, 0, "v"], [9169, 0, "e"], [9170, 0, " "], [9171, 0, "p"], [9172, 0, "r"], [9173, 0, "o"], [9174, 0, "c"], [9175, 0, "e"], [9176, 0, "s"], [9177, 0, "s"], [9178, 0, "e"], [9179, 0, "d"], [9180, 0, " "], [9181, 0, "t"], [9182, 0, "h"], [9183, 0, "e"], [9184, 0, " "], [9185, 0, "s"], [9186, 0, "a"], [9187, 0, "m"], [9188, 0, "e"], [9189, 0, " "], [9190, 0, "s"], [9191, 0, "e"], [9192, 0, "t"], [9193, 0, " "], [9194, 0, "o"], [9195, 0, "f"], [9196, 0, " "], [9197, 0, "o"], [9198, 0, "p"], [9199, 0, "e"], [9200, 0, "r"], [9084, 0, "a"], [9085, 0, "l"], [9086, 0, "l"], [9087, 0, " "], [9096, 0, " "], [9097, 0, "e"], [9098, 0, "v"], [9099, 0, "e"], [9100, 0, "n"], [9101, 0, "t"], [9102, 0, "u"], [9103, 0, "a"], [9104, 0, "l"], [9105, 0, "l"], [9106, 0, "y"], [9215, 1], [9214, 1], [9213, 1], [9212, 1], [9211, 1], [9210, 1], [9209, 1], [9208, 1], [9207, 1], [9206, 1], [9205, 1], [9204, 1], [9203, 1], [9202, 1], [9201, 1], [9200, 1], [9199, 1], [9198, 1], [9197, 1], [9196, 1], [9195, 1], [9194, 1], [9193, 1], [9192, 1], [9191, 1], [9190, 1], [9189, 1], [9188, 1], [9187, 1], [9186, 1], [9185, 1], [9184, 1], [9183, 1], [9182, 1], [9181, 1], [9180, 1], [9179, 1], [9178, 1], [9177, 1], [9176, 1], [9175, 1], [9174, 1], [9173, 1], [9172, 1], [9171, 1], [9170, 1], [9169, 1], [9168, 1], [9167, 1], [9166, 1], [9165, 1], [9164, 1], [9163, 1], [9162, 1], [9161, 1], [9160, 1], [9159, 1], [9158, 1], [9157, 1], [9156, 1], [9155, 1], [9154, 1], [9153, 1], [9152, 1], [9151, 1], [9150, 1], [9149, 1], [9148, 1], [9147, 1], [9146, 1], [9145, 1], [9144, 1], [9143, 1], [9142, 1], [9141, 1], [9083, 0, " "], [9084, 0, "a"], [9085, 0, "f"], [9086, 0, "t"], [9087, 0, "e"], [9088, 0, "r"], [9089, 0, " "], [9090, 0, "a"], [9091, 0, "n"], [9092, 0, "y"], [9093, 0, " "], [9094, 0, "s"], [9095, 0, "e"], [9096, 0, "q"], [9097, 0, "u"], [9098, 0, "e"], [9099, 0, "n"], [9100, 0, "c"], [9101, 0, "e"], [9102, 0, " "], [9103, 0, "o"], [9104, 0, "f"], [9105, 0, " "], [9106, 0, "c"], [9107, 0, "o"], [9108, 0, "n"], [9109, 0, "c"], [9110, 0, "u"], [9111, 0, "r"], [9112, 0, "r"], [9113, 0, "e"], [9114, 0, "n"], [9115, 0, "t"], [9116, 0, " "], [9117, 0, "m"], [9118, 0, "o"], [9119, 0, "d"], [9120, 0, "i"], [9121, 0, "f"], [9122, 0, "i"], [9123, 0, "c"], [9124, 0, "a"], [9125, 0, "t"], [9126, 0, "i"], [9127, 0, "o"], [9128, 0, "n"], [9129, 0, "s"], [9130, 0, ","], [9188, 1], [9187, 1], [9187, 0, "."], [9238, 0, " "], [9239, 0, "w"], [9240, 0, "e"], [9241, 0, " "], [9242, 0, "p"], [9243, 0, "r"], [9244, 0, "o"], [9245, 0, "v"], [9246, 0, "e"], [9247, 0, " "], [9248, 0, "t"], [9249, 0, "h"], [9250, 0, "a"], [9251, 0, "t"], [9252, 0, " "], [9253, 0, "o"], [9254, 0, "u"], [9255, 0, "r"], [9256, 0, " "], [9257, 0, "a"], [9258, 0, "l"], [9259, 0, "g"], [9260, 0, "o"], [9261, 0, "r"], [9262, 0, "i"], [9263, 0, "t"], [9264, 0, "h"], [9265, 0, "m"], [9266, 0, " "], [9267, 0, "s"], [9268, 0, "a"], [9269, 0, "t"], [9270, 0, "i"], [9271, 0, "s"], [9272, 0, "f"], [9273, 0, "i"], [9274, 0, "e"], [9275, 0, "s"], [9276, 0, " "], [9277, 0, "t"], [9278, 0, "h"], [9279, 0, "i"], [9280, 0, "s"], [9281, 0, " "], [9282, 0, "r"], [9283, 0, "e"], [9284, 0, "q"], [9285, 0, "u"], [9286, 0, "i"], [9287, 0, "r"], [9288, 0, "e"], [9289, 0, "m"], [9290, 0, "e"], [9291, 0, "n"], [9292, 0, "t"], [9247, 0, " "], [9248, 0, "a"], [9249, 0, " "], [9250, 0, "t"], [9251, 0, "h"], [9252, 0, "e"], [9253, 0, "o"], [9254, 0, "r"], [9255, 0, "e"], [9256, 0, "m"], [9257, 0, " "], [9258, 0, "t"], [9259, 0, "o"], [9260, 0, " "], [9261, 0, "s"], [9262, 0, "h"], [9263, 0, "o"], [9264, 0, "w"], [9032, 0, " "], [9033, 0, "t"], [9034, 0, "h"], [9035, 0, "a"], [9036, 0, "t"], [9037, 0, " "], [9038, 0, "c"], [9039, 0, "a"], [9040, 0, "n"], [9041, 0, " "], [9042, 0, "b"], [9043, 0, "e"], [9044, 0, " "], [9045, 0, "d"], [9046, 0, "e"], [9047, 0, "p"], [9048, 0, "l"], [9049, 0, "o"], [9050, 0, "y"], [9051, 0, "e"], [9052, 0, "d"], [9053, 0, " "], [9054, 0, "o"], [9055, 0, "n"], [9056, 0, " "], [9057, 0, "a"], [9058, 0, "n"], [9059, 0, "y"], [9060, 0, " "], [9061, 0, "n"], [9062, 0, "e"], [9063, 0, "t"], [9064, 0, "w"], [9065, 0, "o"], [9066, 0, "r"], [9067, 0, "k"], [9068, 0, " "], [9069, 0, "t"], [9070, 0, "o"], [9071, 0, "p"], [9072, 0, "o"], [9073, 0, "l"], [9074, 0, "o"], [9075, 0, "g"], [9076, 0, "y"], [9710, 1], [9710, 0, " "], [9723, 0, ","], [15315, 0, " "], [15316, 0, "-"], [15317, 0, "-"], [15318, 0, " "], [15319, 0, "i"], [15320, 0, "n"], [15321, 0, " "], [15322, 0, "o"], [15323, 0, "t"], [15324, 0, "h"], [15325, 0, "e"], [15326, 0, "r"], [15327, 0, " "], [15328, 0, "w"], [15329, 0, "o"], [15330, 0, "r"], [15331, 0, "d"], [15332, 0, "s"], [15333, 0, ","], [15334, 0, " "], [15335, 0, "t"], [15336, 0, "h"], [15337, 0, "e"], [15338, 0, " "], [15339, 0, "o"], [15340, 0, "n"], [15341, 0, "l"], [15342, 0, "y"], [15343, 0, " "], [15344, 0, "d"], [15345, 0, "a"], [15346, 0, "t"], [15347, 0, "a"], [15348, 0, "t"], [15349, 0, "y"], [15350, 0, "p"], [15351, 0, "e"], [15352, 0, " "], [15353, 0, "i"], [15354, 0, "t"], [15355, 0, " "], [15356, 0, "s"], [15357, 0, "u"], [15358, 0, "p"], [15359, 0, "p"], [15360, 0, "o"], [15361, 0, "r"], [15362, 0, "t"], [15363, 0, "s"], [15364, 0, " "], [15365, 0, "i"], [15366, 0, "s"], [15367, 0, " "], [15368, 0, "a"], [15369, 0, " "], [15370, 0, "m"], [15371, 0, "u"], [15372, 0, "l"], [15373, 0, "t"], [15374, 0, "i"], [15375, 0, "-"], [15376, 0, "v"], [15377, 0, "a"], [15378, 0, "l"], [15379, 0, "u"], [15380, 0, "e"], [15381, 0, " "], [15382, 0, "r"], [15383, 0, "e"], [15384, 0, "g"], [15385, 0, "i"], [15386, 0, "s"], [15387, 0, "t"], [15388, 0, "e"], [15389, 0, "r"], [21995, 1], [21995, 1], [21995, 1], [21995, 1], [21995, 1], [21995, 1], [21995, 1], [21995, 1], [21995, 1], [21995, 0, "s"], [21996, 0, "h"], [21997, 0, "o"], [21998, 0, "p"], [21999, 0, "p"], [22000, 0, "i"], [22001, 0, "n"], [22002, 0, "g"], [22069, 1], [22068, 1], [22067, 1], [22066, 1], [22065, 1], [22064, 1], [22063, 1], [22062, 1], [22061, 1], [22061, 0, "s"], [22062, 0, "h"], [22063, 0, "o"], [22064, 0, "p"], [22065, 0, "p"], [22066, 0, "i"], [22067, 0, "n"], [22068, 0, "g"], [22135, 1], [22134, 1], [22133, 1], [22132, 1], [22131, 1], [22130, 1], [22129, 1], [22128, 1], [22127, 1], [22127, 0, "s"], [22128, 0, "h"], [22129, 0, "o"], [22130, 0, "p"], [22131, 0, "p"], [22132, 0, "i"], [22133, 0, "n"], [22134, 0, "g"], [22209, 1], [22208, 1], [22207, 1], [22206, 1], [22205, 1], [22204, 1], [22203, 1], [22202, 1], [22201, 1], [22201, 0, "s"], [22202, 0, "h"], [22203, 0, "o"], [22204, 0, "p"], [22205, 0, "p"], [22206, 0, "i"], [22207, 0, "n"], [22208, 0, "g"], [22292, 1], [22291, 1], [22290, 1], [22289, 1], [22288, 1], [22287, 1], [22286, 1], [22285, 1], [22284, 1], [22284, 0, "s"], [22285, 0, "h"], [22286, 0, "o"], [22287, 0, "p"], [22288, 0, "p"], [22289, 0, "i"], [22290, 0, "n"], [22291, 0, "g"], [22366, 1], [22365, 1], [22364, 1], [22363, 1], [22362, 1], [22361, 1], [22360, 1], [22359, 1], [22358, 1], [22358, 0, "s"], [22359, 0, "h"], [22360, 0, "o"], [22361, 0, "p"], [22362, 0, "p"], [22363, 0, "i"], [22364, 0, "n"], [22365, 0, "g"], [22451, 1], [22450, 1], [22449, 1], [22448, 1], [22447, 1], [22446, 1], [22445, 1], [22444, 1], [22443, 1], [22443, 0, "s"], [22444, 0, "h"], [22445, 0, "o"], [22446, 0, "p"], [22447, 0, "p"], [22448, 0, "i"], [22449, 0, "n"], [22450, 0, "g"], [22555, 1], [22554, 1], [22553, 1], [22552, 1], [22551, 1], [22550, 1], [22549, 1], [22548, 1], [22547, 1], [22547, 0, "s"], [22548, 0, "h"], [22549, 0, "o"], [22550, 0, "p"], [22551, 0, "p"], [22552, 0, "i"], [22553, 0, "n"], [22554, 0, "g"], [22739, 1], [22738, 1], [22737, 1], [22736, 1], [22735, 1], [22734, 1], [22733, 1], [22732, 1], [22731, 1], [22731, 0, "s"], [22732, 0, "h"], [22733, 0, "o"], [22734, 0, "p"], [22735, 0, "p"], [22736, 0, "i"], [22737, 0, "n"], [22738, 0, "g"], [22817, 1], [22816, 1], [22815, 1], [22814, 1], [22813, 1], [22812, 1], [22811, 1], [22810, 1], [22809, 1], [22809, 0, "s"], [22810, 0, "h"], [22811, 0, "o"], [22812, 0, "p"], [22813, 0, "p"], [22814, 0, "i"], [22815, 0, "n"], [22816, 0, "g"], [22896, 1], [22895, 1], [22894, 1], [22893, 1], [22892, 1], [22891, 1], [22890, 1], [22889, 1], [22888, 1], [22888, 0, "s"], [22889, 0, "h"], [22890, 0, "o"], [22891, 0, "p"], [22892, 0, "p"], [22893, 0, "i"], [22894, 0, "n"], [22895, 0, "g"], [22990, 1], [22989, 1], [22988, 1], [22987, 1], [22986, 1], [22985, 1], [22984, 1], [22983, 1], [22982, 1], [22982, 0, "s"], [22983, 0, "h"], [22984, 0, "o"], [22985, 0, "p"], [22986, 0, "p"], [22987, 0, "i"], [22988, 0, "n"], [22989, 0, "g"], [23698, 1], [23697, 1], [23696, 1], [23695, 1], [23694, 1], [23693, 1], [23692, 1], [23691, 1], [23690, 1], [23690, 0, "s"], [23691, 0, "h"], [23692, 0, "o"], [23693, 0, "p"], [23694, 0, "p"], [23695, 0, "i"], [23696, 0, "n"], [23697, 0, "g"], [23697, 1], [23696, 1], [23695, 1], [23694, 1], [23693, 1], [23692, 1], [23691, 1], [23690, 1], [23690, 0, "g"], [23691, 0, "r"], [23692, 0, "o"], [23693, 0, "c"], [23694, 0, "e"], [23695, 0, "r"], [23696, 0, "y"], [23697, 0, "t"], [23697, 1], [22989, 1], [22988, 1], [22987, 1], [22986, 1], [22985, 1], [22984, 1], [22983, 1], [22982, 1], [22982, 0, "g"], [22983, 0, "r"], [22984, 0, "o"], [22985, 0, "c"], [22986, 0, "e"], [22987, 0, "r"], [22988, 0, "y"], [22895, 1], [22894, 1], [22893, 1], [22892, 1], [22891, 1], [22890, 1], [22889, 1], [22888, 1], [22888, 0, "g"], [22889, 0, "r"], [22890, 0, "o"], [22891, 0, "c"], [22892, 0, "e"], [22893, 0, "r"], [22894, 0, "y"], [22816, 1], [22815, 1], [22814, 1], [22813, 1], [22812, 1], [22811, 1], [22810, 1], [22809, 1], [22809, 0, "g"], [22810, 0, "r"], [22811, 0, "o"], [22812, 0, "c"], [22813, 0, "e"], [22814, 0, "r"], [22815, 0, "y"], [22738, 1], [22737, 1], [22736, 1], [22735, 1], [22734, 1], [22733, 1], [22732, 1], [22731, 1], [22731, 0, "g"], [22732, 0, "r"], [22733, 0, "o"], [22734, 0, "c"], [22735, 0, "e"], [22736, 0, "r"], [22737, 0, "y"], [22554, 1], [22553, 1], [22552, 1], [22551, 1], [22550, 1], [22549, 1], [22548, 1], [22547, 1], [22547, 0, "g"], [22548, 0, "r"], [22549, 0, "o"], [22550, 0, "c"], [22551, 0, "e"], [22552, 0, "r"], [22553, 0, "y"], [22450, 1], [22449, 1], [22448, 1], [22447, 1], [22446, 1], [22445, 1], [22444, 1], [22443, 1], [22443, 0, "g"], [22444, 0, "r"], [22445, 0, "o"], [22446, 0, "c"], [22447, 0, "e"], [22448, 0, "r"], [22449, 0, "y"], [22365, 1], [22364, 1], [22363, 1], [22362, 1], [22361, 1], [22360, 1], [22359, 1], [22358, 1], [22358, 0, "g"], [22359, 0, "r"], [22360, 0, "o"], [22361, 0, "c"], [22362, 0, "e"], [22363, 0, "r"], [22364, 0, "y"], [22291, 1], [22290, 1], [22289, 1], [22288, 1], [22287, 1], [22286, 1], [22285, 1], [22284, 1], [22284, 0, "g"], [22285, 0, "r"], [22286, 0, "o"], [22287, 0, "c"], [22288, 0, "e"], [22289, 0, "r"], [22290, 0, "y"], [22208, 1], [22207, 1], [22206, 1], [22205, 1], [22204, 1], [22203, 1], [22202, 1], [22201, 1], [22201, 0, "g"], [22202, 0, "r"], [22203, 0, "o"], [22204, 0, "c"], [22205, 0, "e"], [22206, 0, "r"], [22207, 0, "y"], [22134, 1], [22133, 1], [22132, 1], [22131, 1], [22130, 1], [22129, 1], [22128, 1], [22127, 1], [22127, 0, "g"], [22128, 0, "r"], [22129, 0, "o"], [22130, 0, "c"], [22131, 0, "e"], [22132, 0, "r"], [22133, 0, "y"], [22068, 1], [22067, 1], [22066, 1], [22065, 1], [22064, 1], [22063, 1], [22062, 1], [22061, 1], [22061, 0, "g"], [22062, 0, "r"], [22063, 0, "o"], [22064, 0, "c"], [22065, 0, "e"], [22066, 0, "r"], [22067, 0, "y"], [22002, 1], [22001, 1], [22000, 1], [21999, 1], [21998, 1], [21997, 1], [21996, 1], [21995, 1], [21995, 0, "g"], [21996, 0, "r"], [21997, 0, "o"], [21998, 0, "c"], [21999, 0, "e"], [22000, 0, "r"], [22001, 0, "y"], [26092, 1], [26091, 1], [26090, 1], [26089, 1], [26088, 1], [26087, 1], [26086, 1], [26085, 1], [26084, 1], [26092, 0, " "], [26093, 0, "$"], [26094, 0, "p"], [26095, 0, "$"], [26107, 1], [26106, 1], [26105, 1], [26104, 1], [26103, 1], [26102, 1], [26101, 1], [26101, 0, "v"], [26102, 0, "i"], [26103, 0, "n"], [26104, 0, "g"], [26321, 1], [26320, 1], [26319, 1], [26318, 1], [26317, 1], [26316, 1], [26315, 1], [26315, 0, "c"], [26316, 0, "a"], [26317, 0, "s"], [26318, 0, "e"], [25718, 1], [25717, 1], [25716, 1], [25715, 1], [25714, 1], [25714, 0, "F"], [25719, 0, "l"], [25720, 0, "y"], [25721, 0, ","], [25723, 1], [25723, 1], [25723, 1], [25723, 1], [25723, 1], [25723, 1], [25723, 1], [25723, 1], [25723, 1], [25723, 1], [25723, 1], [26564, 1], [26563, 1], [26563, 0, "f"], [26564, 0, "o"], [26565, 0, "r"], [30028, 0, " "], [30029, 0, "a"], [30030, 0, "s"], [30031, 0, "y"], [30032, 0, "n"], [30033, 0, "c"], [30034, 0, "h"], [30035, 0, "r"], [30036, 0, "o"], [30037, 0, "n"], [30038, 0, "o"], [30039, 0, "u"], [30040, 0, "s"], [30074, 0, "b"], [30074, 1], [29964, 0, "i"], [29965, 0, "m"], [29966, 0, "m"], [29967, 0, "e"], [29968, 0, "d"], [29969, 0, "i"], [29970, 0, "a"], [29971, 0, "t"], [29972, 0, "e"], [29973, 0, "l"], [29974, 0, "y"], [29975, 0, " "], [46, 0, "\n"], [47, 0, "\\"], [48, 0, "P"], [49, 0, "a"], [50, 0, "s"], [51, 0, "s"], [52, 0, "O"], [53, 0, "p"], [54, 0, "t"], [55, 0, "i"], [56, 0, "o"], [57, 0, "n"], [58, 0, "s"], [59, 0, "T"], [60, 0, "o"], [61, 0, "P"], [62, 0, "a"], [63, 0, "c"], [64, 0, "k"], [65, 0, "a"], [66, 0, "g"], [67, 0, "e"], [68, 0, "{"], [69, 0, "h"], [70, 0, "y"], [71, 0, "p"], [72, 0, "h"], [73, 0, "e"], [74, 0, "n"], [75, 0, "s"], [76, 0, "}"], [77, 0, "{"], [78, 0, "u"], [79, 0, "r"], [80, 0, "l"], [81, 0, "}"], [300, 1], [299, 1], [298, 1], [297, 1], [296, 1], [295, 1], [294, 1], [293, 1], [292, 1], [291, 1], [290, 1], [289, 1], [288, 1], [287, 1], [286, 1], [285, 1], [284, 1], [283, 1], [282, 1], [281, 1], [280, 1], [279, 1], [278, 1], [277, 1], [276, 1], [275, 1], [275, 0, "\n"], [276, 0, "\\"], [277, 0, "u"], [278, 0, "s"], [279, 0, "e"], [280, 0, "p"], [281, 0, "a"], [282, 0, "c"], [283, 0, "k"], [284, 0, "a"], [285, 0, "g"], [286, 0, "e"], [287, 0, "{"], [288, 0, "u"], [289, 0, "r"], [290, 0, "l"], [291, 0, "}"], [287, 0, "["], [288, 0, "h"], [289, 0, "y"], [290, 0, "p"], [291, 0, "h"], [292, 0, "e"], [293, 0, "n"], [294, 0, "s"], [295, 0, "]"], [47, 0, "%"], [82, 1], [81, 1], [80, 1], [79, 1], [78, 1], [77, 1], [76, 1], [75, 1], [74, 1], [73, 1], [72, 1], [71, 1], [70, 1], [69, 1], [68, 1], [67, 1], [66, 1], [65, 1], [64, 1], [63, 1], [62, 1], [61, 1], [60, 1], [59, 1], [58, 1], [57, 1], [56, 1], [55, 1], [54, 1], [53, 1], [52, 1], [51, 1], [50, 1], [49, 1], [48, 1], [47, 1], [46, 1], [239, 0, "\n"], [240, 0, "\\"], [241, 0, "u"], [242, 0, "s"], [243, 0, "e"], [244, 0, "p"], [245, 0, "a"], [246, 0, "c"], [247, 0, "k"], [248, 0, "a"], [249, 0, "g"], [250, 0, "e"], [251, 0, "["], [252, 0, "h"], [253, 0, "y"], [254, 0, "p"], [255, 0, "h"], [256, 0, "e"], [257, 0, "n"], [258, 0, "b"], [259, 0, "r"], [260, 0, "e"], [261, 0, "a"], [262, 0, "k"], [263, 0, "s"], [264, 0, "]"], [265, 0, "{"], [266, 0, "b"], [267, 0, "r"], [268, 0, "e"], [269, 0, "a"], [270, 0, "k"], [271, 0, "u"], [272, 0, "r"], [273, 0, "l"], [274, 0, "}"], [275, 0, " "], [276, 0, "%"], [277, 0, " "], [278, 0, "F"], [279, 0, "i"], [280, 0, "x"], [281, 0, " "], [282, 0, "U"], [283, 0, "R"], [284, 0, "L"], [285, 0, " "], [286, 0, "l"], [287, 0, "i"], [288, 0, "n"], [289, 0, "e"], [290, 0, " "], [291, 0, "b"], [292, 0, "r"], [293, 0, "e"], [294, 0, "a"], [295, 0, "k"], [296, 0, "i"], [297, 0, "n"], [298, 0, "g"], [299, 0, " "], [300, 0, "w"], [301, 0, "h"], [302, 0, "e"], [303, 0, "n"], [304, 0, " "], [305, 0, "u"], [306, 0, "s"], [307, 0, "i"], [308, 0, "n"], [309, 0, "g"], [310, 0, " "], [311, 0, "d"], [312, 0, "v"], [313, 0, "i"], [314, 0, "p"], [315, 0, "s"], [316, 0, " "], [317, 0, "("], [318, 0, "e"], [319, 0, "."], [320, 0, "g"], [321, 0, "."], [322, 0, " "], [323, 0, "a"], [324, 0, "r"], [325, 0, "x"], [326, 0, "i"], [327, 0, "v"], [328, 0, "."], [329, 0, "o"], [330, 0, "r"], [331, 0, "g"], [332, 0, ")"], [358, 1], [357, 1], [356, 1], [355, 1], [354, 1], [353, 1], [352, 1], [351, 1], [350, 1], [349, 1], [348, 1], [347, 1], [346, 1], [345, 1], [344, 1], [343, 1], [342, 1], [341, 1], [340, 1], [339, 1], [338, 1], [337, 1], [336, 1], [335, 1], [334, 1], [333, 1], [239, 0, "\n"], [240, 0, "\\"], [241, 0, "u"], [242, 0, "s"], [243, 0, "e"], [244, 0, "p"], [245, 0, "a"], [246, 0, "c"], [247, 0, "k"], [248, 0, "a"], [249, 0, "g"], [250, 0, "e"], [251, 0, "["], [252, 0, "h"], [253, 0, "y"], [254, 0, "p"], [255, 0, "h"], [256, 0, "e"], [257, 0, "n"], [258, 0, "s"], [259, 0, "]"], [260, 0, "{"], [261, 0, "u"], [262, 0, "r"], [263, 0, "l"], [264, 0, "}"], [239, 0, "\n"], [240, 0, "\\"], [241, 0, "u"], [242, 0, "s"], [243, 0, "e"], [244, 0, "p"], [245, 0, "a"], [246, 0, "c"], [247, 0, "k"], [248, 0, "a"], [249, 0, "g"], [250, 0, "e"], [251, 0, "{"], [252, 0, "h"], [253, 0, "y"], [254, 0, "p"], [255, 0, "e"], [256, 0, "r"], [257, 0, "r"], [258, 0, "e"], [259, 0, "f"], [260, 0, "}"], [260, 1], [259, 1], [258, 1], [257, 1], [256, 1], [255, 1], [254, 1], [253, 1], [252, 1], [251, 1], [250, 1], [249, 1], [248, 1], [247, 1], [246, 1], [245, 1], [244, 1], [243, 1], [242, 1], [241, 1], [240, 1], [239, 1], [46, 0, "\n"], [47, 0, "\\"], [48, 0, "P"], [49, 0, "a"], [50, 0, "s"], [51, 0, "s"], [52, 0, "O"], [53, 0, "p"], [54, 0, "t"], [55, 0, "i"], [56, 0, "o"], [57, 0, "n"], [58, 0, "s"], [59, 0, "T"], [60, 0, "o"], [61, 0, "P"], [62, 0, "a"], [63, 0, "c"], [64, 0, "k"], [65, 0, "a"], [66, 0, "g"], [67, 0, "e"], [68, 0, "{"], [69, 0, "h"], [70, 0, "y"], [71, 0, "p"], [72, 0, "h"], [73, 0, "e"], [74, 0, "n"], [75, 0, "s"], [76, 0, "}"], [77, 0, "{"], [78, 0, "u"], [79, 0, "r"], [80, 0, "l"], [81, 0, "}"], [276, 1], [276, 1], [276, 1], [276, 1], [276, 1], [276, 1], [276, 1], [276, 1], [276, 1], [276, 1], [276, 1], [276, 1], [276, 1], [276, 1], [276, 1], [276, 1], [276, 1], [276, 1], [276, 1], [276, 1], [276, 1], [276, 1], [276, 1], [276, 1], [276, 1], [276, 1], [276, 0, "\n"], [276, 0, "\\"], [277, 0, "u"], [278, 0, "s"], [279, 0, "e"], [280, 0, "p"], [281, 0, "a"], [282, 0, "c"], [283, 0, "k"], [284, 0, "a"], [285, 0, "g"], [286, 0, "e"], [287, 0, "{"], [288, 0, "h"], [289, 0, "y"], [290, 0, "p"], [291, 0, "e"], [292, 0, "r"], [293, 0, "r"], [294, 0, "e"], [295, 0, "f"], [296, 0, "}"], [412, 1], [411, 1], [410, 1], [409, 1], [408, 1], [407, 1], [406, 1], [405, 1], [404, 1], [403, 1], [402, 1], [401, 1], [400, 1], [399, 1], [398, 1], [397, 1], [396, 1], [395, 1], [394, 1], [393, 1], [392, 1], [391, 1], [13583, 0, " "], [13584, 0, "A"], [13585, 0, "t"], [13586, 0, "t"], [13587, 0, "i"], [13588, 0, "y"], [13589, 0, "a"], [13590, 0, " "], [13591, 0, "e"], [13592, 0, "t"], [13593, 0, " "], [13594, 0, "a"], [13595, 0, "l"], [13596, 0, "."], [13597, 0, "~"], [13598, 0, "\\"], [13599, 0, "c"], [13600, 0, "i"], [13601, 0, "t"], [13602, 0, "e"], [13603, 0, "{"], [13604, 0, "A"], [13605, 0, "t"], [13606, 0, "t"], [13607, 0, "i"], [13608, 0, "y"], [13609, 0, "a"], [13610, 0, ":"], [13611, 0, "2"], [13612, 0, "0"], [13613, 0, "1"], [13614, 0, "6"], [13615, 0, "k"], [13616, 0, "h"], [13617, 0, "}"], [13618, 0, " "], [13619, 0, "f"], [13620, 0, "u"], [13621, 0, "r"], [13622, 0, "t"], [13623, 0, "h"], [13624, 0, "e"], [13625, 0, "r"], [13626, 0, " "], [13627, 0, "a"], [13628, 0, "n"], [13629, 0, "a"], [13630, 0, "l"], [13631, 0, "y"], [13632, 0, "z"], [13633, 0, "e"], [13634, 0, " "], [13626, 1], [13625, 1], [13624, 1], [13623, 1], [13622, 1], [13621, 1], [13620, 1], [13619, 1], [13627, 0, "t"], [13628, 0, "h"], [13629, 0, "e"], [13630, 0, " "], [13631, 0, "p"], [13632, 0, "r"], [13633, 0, "o"], [13634, 0, "b"], [13635, 0, "l"], [13636, 0, "e"], [13637, 0, "m"], [13638, 0, " "], [13639, 0, "o"], [13640, 0, "f"], [13641, 0, " "], [13642, 0, "c"], [13643, 0, "o"], [13644, 0, "l"], [13645, 0, "l"], [13646, 0, "a"], [13647, 0, "b"], [13648, 0, "o"], [13649, 0, "r"], [13650, 0, "a"], [13651, 0, "t"], [13652, 0, "i"], [13653, 0, "v"], [13654, 0, "e"], [13655, 0, " "], [13656, 0, "e"], [13657, 0, "d"], [13658, 0, "i"], [13659, 0, "t"], [13660, 0, "i"], [13661, 0, "n"], [13662, 0, "g"], [13663, 0, " "], [13664, 0, "o"], [13665, 0, "f"], [13666, 0, " "], [13667, 0, "o"], [13668, 0, "r"], [13669, 0, "d"], [13670, 0, "e"], [13671, 0, "r"], [13672, 0, "e"], [13673, 0, "d"], [13674, 0, " "], [13675, 0, "l"], [13676, 0, "i"], [13677, 0, "s"], [13678, 0, "t"], [13679, 0, "s"], [13680, 0, ","], [13681, 0, " "], [13682, 0, "a"], [13683, 0, "n"], [13684, 0, "d"], [13685, 0, " "], [13686, 0, "p"], [13687, 0, "r"], [13688, 0, "o"], [13689, 0, "v"], [13690, 0, "i"], [13691, 0, "d"], [13692, 0, "e"], [13693, 0, " "], [13694, 0, "a"], [13695, 0, " "], [13696, 0, "c"], [13697, 0, "o"], [13698, 0, "r"], [13699, 0, "r"], [13700, 0, "e"], [13701, 0, "c"], [13702, 0, "t"], [13703, 0, "n"], [13704, 0, "e"], [13705, 0, "s"], [13706, 0, "s"], [13707, 0, " "], [13708, 0, "p"], [13709, 0, "r"], [13710, 0, "o"], [13711, 0, "o"], [13712, 0, "f"], [13713, 0, " "], [13714, 0, "o"], [13715, 0, "f"], [13716, 0, " "], [13717, 0, "t"], [13718, 0, "h"], [13719, 0, "e"], [13720, 0, " "], [13721, 0, "R"], [13722, 0, "G"], [13723, 0, "A"], [13724, 0, " "], [13725, 0, "p"], [13726, 0, "r"], [13727, 0, "o"], [13728, 0, "t"], [13729, 0, "o"], [13730, 0, "c"], [13731, 0, "o"], [13732, 0, "l"], [13733, 0, "."], [13640, 1], [13639, 1], [13638, 1], [13637, 1], [13636, 1], [13635, 1], [13634, 1], [13633, 1], [13632, 1], [13631, 1], [13631, 0, "m"], [13632, 0, "e"], [13633, 0, "t"], [13634, 0, "a"], [13635, 0, "d"], [13636, 0, "a"], [13637, 0, "t"], [13638, 0, "a"], [13639, 0, " "], [13640, 0, "o"], [13641, 0, "v"], [13642, 0, "e"], [13643, 0, "r"], [13644, 0, "h"], [13645, 0, "e"], [13646, 0, "a"], [13647, 0, "d"], [13648, 0, " "], [13649, 0, "o"], [13650, 0, "f"], [13665, 0, "l"], [13666, 0, "y"], [13674, 1], [13673, 1], [13672, 1], [13672, 0, "e"], [13673, 0, "d"], [13675, 1], [13675, 1], [13675, 1], [13785, 1], [13784, 1], [13783, 1], [13782, 1], [13782, 0, "a"], [13783, 0, "l"], [13784, 0, "l"], [13785, 0, " "], [13786, 0, "o"], [13787, 0, "f"], [13788, 0, " "], [13789, 0, "t"], [13790, 0, "h"], [13791, 0, "e"], [13792, 0, "s"], [13793, 0, "e"], [13794, 0, " "], [13795, 0, "a"], [13796, 0, "l"], [13797, 0, "g"], [13798, 0, "o"], [13799, 0, "r"], [13800, 0, "i"], [13801, 0, "t"], [13802, 0, "h"], [13803, 0, "m"], [13804, 0, "s"], [13793, 1], [13792, 1], [13792, 0, " "], [13793, 0, "e"], [13794, 0, "x"], [13795, 0, "i"], [13796, 0, "s"], [13797, 0, "t"], [13798, 0, "i"], [13799, 0, "n"], [13800, 0, "g"], [13812, 0, " "], [13813, 0, "f"], [13814, 0, "o"], [13815, 0, "r"], [13816, 0, " "], [13817, 0, "C"], [13818, 0, "R"], [13819, 0, "D"], [13820, 0, "T"], [13821, 0, " "], [13822, 0, "l"], [13823, 0, "i"], [13824, 0, "s"], [13825, 0, "t"], [13826, 0, "s"], [13827, 0, " "], [13828, 0, "a"], [13829, 0, "n"], [13830, 0, "d"], [13831, 0, " "], [13832, 0, "m"], [13833, 0, "a"], [13834, 0, "p"], [13835, 0, "s"], [13800, 1], [13799, 1], [13798, 1], [13797, 1], [13796, 1], [13795, 1], [13794, 1], [13793, 1], [13793, 0, "a"], [13794, 0, "f"], [13795, 0, "o"], [13796, 0, "r"], [13797, 0, "e"], [13798, 0, "m"], [13799, 0, "e"], [13800, 0, "n"], [13801, 0, "t"], [13802, 0, "i"], [13803, 0, "o"], [13804, 0, "n"], [13805, 0, "e"], [13806, 0, "d"], [13891, 1], [13890, 1], [13889, 1], [13888, 1], [13887, 1], [13886, 1], [13885, 1], [13884, 1], [13883, 1], [13882, 1], [13881, 1], [13880, 1], [13879, 1], [13878, 1], [13877, 1], [13876, 1], [13875, 1], [13874, 1], [13873, 1], [13872, 1], [13871, 1], [13870, 1], [13869, 1], [13868, 1], [13857, 1], [13856, 1], [13855, 1], [13855, 0, "e"], [13856, 0, "a"], [13857, 0, "c"], [13858, 0, "h"], [13859, 0, " "], [13860, 0, "o"], [13861, 0, "f"], [13862, 0, " "], [13863, 0, "i"], [13864, 0, "t"], [13865, 0, "s"], [13878, 1], [13877, 1], [13876, 1], [13876, 0, "i"], [13877, 0, "s"], [13878, 0, " "], [13879, 0, "a"], [13896, 1], [13863, 1], [13863, 1], [13863, 1], [13863, 0, "t"], [13864, 0, "h"], [13865, 0, "e"], [13866, 0, "i"], [13867, 0, "r"], [15002, 0, "\n"], [15003, 0, "\n"], [15004, 0, "M"], [15005, 0, "a"], [15006, 0, "r"], [15007, 0, "t"], [15008, 0, "i"], [15009, 0, "n"], [15010, 0, " "], [15011, 0, "e"], [15012, 0, "t"], [15013, 0, " "], [15014, 0, "a"], [15015, 0, "l"], [15016, 0, "."], [15017, 0, "~"], [15018, 0, "\\"], [15019, 0, "c"], [15020, 0, "i"], [15021, 0, "t"], [15022, 0, "e"], [15023, 0, "{"], [15024, 0, "M"], [15025, 0, "a"], [15026, 0, "r"], [15027, 0, "t"], [15028, 0, "i"], [15029, 0, "n"], [15030, 0, ":"], [15031, 0, "2"], [15032, 0, "0"], [15033, 0, "1"], [15034, 0, "0"], [15035, 0, "i"], [15036, 0, "h"], [15037, 0, "}"], [15038, 0, " "], [15039, 0, "g"], [15040, 0, "e"], [15041, 0, "n"], [15042, 0, "e"], [15043, 0, "r"], [15044, 0, "a"], [15045, 0, "l"], [15046, 0, "i"], [15047, 0, "z"], [15048, 0, "e"], [15049, 0, " "], [15050, 0, "L"], [15051, 0, "o"], [15052, 0, "g"], [15053, 0, "o"], [15054, 0, "o"], [15055, 0, "t"], [15056, 0, "~"], [15057, 0, "\\"], [15058, 0, "c"], [15059, 0, "i"], [15060, 0, "t"], [15061, 0, "e"], [15062, 0, "{"], [15063, 0, "W"], [15064, 0, "e"], [15065, 0, "i"], [15066, 0, "s"], [15067, 0, "s"], [15068, 0, ":"], [15069, 0, "2"], [15070, 0, "0"], [15071, 0, "1"], [15072, 0, "0"], [15073, 0, "h"], [15074, 0, "x"], [15075, 0, "}"], [15076, 0, " "], [15077, 0, "t"], [15078, 0, "o"], [15079, 0, " "], [15080, 0, "s"], [15081, 0, "u"], [15082, 0, "p"], [15083, 0, "p"], [15084, 0, "o"], [15085, 0, "r"], [15086, 0, "t"], [15087, 0, " "], [15088, 0, "c"], [15089, 0, "o"], [15090, 0, "l"], [15091, 0, "l"], [15092, 0, "a"], [15093, 0, "b"], [15094, 0, "o"], [15095, 0, "r"], [15096, 0, "a"], [15097, 0, "t"], [15098, 0, "i"], [15099, 0, "v"], [15100, 0, "e"], [15101, 0, " "], [15102, 0, "e"], [15103, 0, "d"], [15104, 0, "i"], [15105, 0, "t"], [15106, 0, "i"], [15107, 0, "n"], [15108, 0, "g"], [15109, 0, " "], [15110, 0, "o"], [15111, 0, "f"], [15112, 0, " "], [15113, 0, "X"], [15114, 0, "M"], [15115, 0, "L"], [15116, 0, " "], [15117, 0, "d"], [15118, 0, "o"], [15119, 0, "c"], [15120, 0, "u"], [15121, 0, "m"], [15122, 0, "e"], [15123, 0, "n"], [15124, 0, "t"], [15125, 0, "s"], [15126, 0, "~"], [15127, 0, "-"], [15128, 0, "-"], [15129, 0, " "], [15130, 0, "t"], [15131, 0, "h"], [15132, 0, "a"], [15133, 0, "t"], [15134, 0, " "], [15135, 0, "i"], [15136, 0, "s"], [15137, 0, ","], [15138, 0, " "], [15139, 0, "a"], [15140, 0, " "], [15141, 0, "t"], [15142, 0, "r"], [15143, 0, "e"], [15144, 0, "e"], [15145, 0, " "], [15146, 0, "o"], [15147, 0, "f"], [15148, 0, " "], [15149, 0, "n"], [15150, 0, "e"], [15151, 0, "s"], [15152, 0, "t"], [15153, 0, "e"], [15154, 0, "d"], [15155, 0, " "], [15156, 0, "o"], [15157, 0, "r"], [15158, 0, "d"], [15159, 0, "e"], [15160, 0, "r"], [15161, 0, "e"], [15162, 0, "d"], [15163, 0, " "], [15164, 0, "l"], [15165, 0, "i"], [15166, 0, "s"], [15167, 0, "t"], [15168, 0, "s"], [15169, 0, "."], [15170, 0, " "], [15171, 0, "A"], [15172, 0, "s"], [15173, 0, " "], [15174, 0, "d"], [15175, 0, "i"], [15176, 0, "s"], [15177, 0, "c"], [15178, 0, "u"], [15179, 0, "s"], [15180, 0, "s"], [15181, 0, "e"], [15182, 0, "d"], [15004, 0, "O"], [15005, 0, "n"], [15006, 0, " "], [15007, 0, "t"], [15008, 0, "h"], [15009, 0, "e"], [15010, 0, " "], [15011, 0, "o"], [15012, 0, "t"], [15013, 0, "h"], [15014, 0, "e"], [15015, 0, "r"], [15016, 0, " "], [15017, 0, "h"], [15018, 0, "a"], [15019, 0, "n"], [15020, 0, "d"], [15021, 0, ","], [15022, 0, " "], [15202, 0, " "], [15203, 0, "i"], [15204, 0, "n"], [15205, 0, " "], [15206, 0, "S"], [15207, 0, "e"], [15208, 0, "c"], [15209, 0, "t"], [15210, 0, "i"], [15211, 0, "o"], [15212, 0, "n"], [15213, 0, "~"], [15214, 0, "\\"], [15215, 0, "r"], [15216, 0, "e"], [15217, 0, "f"], [15218, 0, "{"], [15219, 0, "s"], [15220, 0, "e"], [15221, 0, "c"], [15222, 0, ":"], [15223, 0, "j"], [15224, 0, "s"], [15225, 0, "o"], [15226, 0, "n"], [15227, 0, "-"], [15228, 0, "x"], [15229, 0, "m"], [15230, 0, "l"], [15231, 0, "}"], [15232, 0, ","], [15233, 0, " "], [15234, 0, "s"], [15235, 0, "u"], [15236, 0, "c"], [15237, 0, "h"], [15238, 0, " "], [15188, 0, "~"], [15189, 0, "-"], [15190, 0, "-"], [15191, 0, " "], [15192, 0, "w"], [15193, 0, "i"], [15194, 0, "t"], [15195, 0, "h"], [15196, 0, "o"], [15197, 0, "u"], [15198, 0, "t"], [15199, 0, " "], [15200, 0, "a"], [15201, 0, " "], [15202, 0, "m"], [15203, 0, "a"], [15204, 0, "p"], [15205, 0, " "], [15206, 0, "d"], [15207, 0, "a"], [15208, 0, "t"], [15209, 0, "a"], [15209, 1], [15208, 1], [15207, 1], [15206, 1], [15205, 1], [15204, 1], [15203, 1], [15202, 1], [15201, 1], [15200, 1], [15200, 0, "n"], [15201, 0, "e"], [15202, 0, "s"], [15203, 0, "t"], [15204, 0, "e"], [15205, 0, "d"], [15206, 0, " "], [15207, 0, "m"], [15208, 0, "a"], [15209, 0, "p"], [15210, 0, "s"], [15190, 1], [15189, 1], [15188, 1], [15259, 0, "a"], [15260, 0, " "], [15261, 0, "s"], [15262, 0, "t"], [15263, 0, "r"], [15264, 0, "u"], [15265, 0, "c"], [15266, 0, "t"], [15267, 0, "u"], [15268, 0, "r"], [15269, 0, "e"], [15270, 0, " "], [15271, 0, "d"], [15272, 0, "o"], [15273, 0, "e"], [15274, 0, "s"], [15275, 0, " "], [15276, 0, "n"], [15277, 0, "o"], [15278, 0, "t"], [15279, 0, " "], [15280, 0, "c"], [15281, 0, "a"], [15282, 0, "p"], [15283, 0, "t"], [15284, 0, "u"], [15285, 0, "r"], [15286, 0, "e"], [15287, 0, " "], [15288, 0, "t"], [15289, 0, "h"], [15290, 0, "e"], [15291, 0, " "], [15292, 0, "e"], [15293, 0, "x"], [15294, 0, "p"], [15295, 0, "r"], [15296, 0, "e"], [15297, 0, "s"], [15298, 0, "s"], [15299, 0, "i"], [15300, 0, "v"], [15301, 0, "i"], [15302, 0, "t"], [15303, 0, "y"], [15304, 0, " "], [15305, 0, "o"], [15306, 0, "f"], [15307, 0, " "], [15308, 0, "J"], [15309, 0, "S"], [15310, 0, "O"], [15311, 0, "N"], [15312, 0, "."], [15303, 1], [15302, 1], [15301, 1], [15301, 0, "e"], [15302, 0, "n"], [15303, 0, "e"], [15304, 0, "s"], [15305, 0, "s"], [41134, 0, " "], [41135, 0, "d"], [41136, 0, "o"], [41137, 0, " "], [41138, 0, "n"], [41139, 0, "o"], [41140, 0, "t"], [41141, 0, " "], [41142, 0, "d"], [41143, 0, "e"], [41144, 0, "p"], [41145, 0, "e"], [41146, 0, "n"], [41147, 0, "d"], [41148, 0, " "], [41149, 0, "o"], [41150, 0, "n"], [41151, 0, " "], [41152, 0, "$"], [41153, 0, "A"], [41154, 0, "_"], [41155, 0, "q"], [41156, 0, "$"], [41157, 0, " "], [41158, 0, "("], [41159, 0, "t"], [41160, 0, "h"], [41161, 0, "e"], [41162, 0, " "], [41163, 0, "s"], [41164, 0, "t"], [41165, 0, "a"], [41166, 0, "t"], [41167, 0, "e"], [41168, 0, " "], [41169, 0, "o"], [41170, 0, "f"], [41171, 0, " "], [41172, 0, "a"], [41173, 0, "n"], [41174, 0, "y"], [41175, 0, " "], [41176, 0, "o"], [41177, 0, "t"], [41178, 0, "h"], [41179, 0, "e"], [41180, 0, "r"], [41181, 0, " "], [41182, 0, "r"], [41183, 0, "e"], [41184, 0, "p"], [41185, 0, "l"], [41186, 0, "i"], [41187, 0, "c"], [41188, 0, "a"], [41189, 0, " "], [41190, 0, "$"], [41191, 0, "q"], [41192, 0, "\\"], [41192, 0, " "], [41194, 0, "n"], [41195, 0, "e"], [41196, 0, "q"], [41197, 0, " "], [41198, 0, "q"], [41198, 1], [41198, 0, "p"], [41199, 0, "$"], [41200, 0, ")"], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [41201, 1], [78117, 0, "\n"], [78118, 0, "\n"], [78119, 0, "\\"], [78120, 0, "b"], [78121, 0, "e"], [78122, 0, "g"], [78123, 0, "i"], [78124, 0, "n"], [78125, 0, "{"], [78126, 0, "I"], [78127, 0, "E"], [78128, 0, "E"], [78129, 0, "E"], [78130, 0, "b"], [78131, 0, "i"], [78132, 0, "o"], [78133, 0, "g"], [78134, 0, "r"], [78135, 0, "a"], [78136, 0, "p"], [78137, 0, "h"], [78138, 0, "y"], [78139, 0, "}"], [78140, 0, "{"], [78141, 0, "M"], [78142, 0, "a"], [78143, 0, "r"], [78144, 0, "t"], [78145, 0, "i"], [78146, 0, "n"], [78147, 0, " "], [78148, 0, "K"], [78149, 0, "l"], [78150, 0, "e"], [78151, 0, "p"], [78152, 0, "p"], [78153, 0, "m"], [78154, 0, "a"], [78155, 0, "n"], [78156, 0, "n"], [78157, 0, "}"], [78158, 0, "\n"], [78159, 0, "T"], [78160, 0, "O"], [78161, 0, "D"], [78162, 0, "O"], [78163, 0, "\n"], [78164, 0, "\\"], [78165, 0, "e"], [78166, 0, "n"], [78167, 0, "d"], [78168, 0, "{"], [78169, 0, "I"], [78170, 0, "E"], [78171, 0, "E"], [78172, 0, "E"], [78173, 0, "b"], [78174, 0, "i"], [78175, 0, "o"], [78176, 0, "g"], [78177, 0, "r"], [78178, 0, "a"], [78179, 0, "p"], [78180, 0, "h"], [78181, 0, "y"], [78182, 0, "}"], [78183, 0, "\n"], [78184, 0, "\n"], [78185, 0, "\\"], [78186, 0, "b"], [78187, 0, "e"], [78188, 0, "g"], [78189, 0, "i"], [78190, 0, "n"], [78191, 0, "{"], [78192, 0, "I"], [78193, 0, "E"], [78194, 0, "E"], [78195, 0, "E"], [78196, 0, "b"], [78197, 0, "i"], [78198, 0, "o"], [78199, 0, "g"], [78200, 0, "r"], [78201, 0, "a"], [78202, 0, "p"], [78203, 0, "h"], [78204, 0, "y"], [78205, 0, "}"], [78206, 0, "{"], [78207, 0, "A"], [78208, 0, "l"], [78209, 0, "a"], [78210, 0, "s"], [78211, 0, "t"], [78212, 0, "a"], [78213, 0, "i"], [78214, 0, "r"], [78215, 0, " "], [78216, 0, "R"], [78217, 0, "."], [78218, 0, " "], [78218, 1], [78218, 0, "\\"], [78219, 0, " "], [78220, 0, "B"], [78221, 0, "e"], [78222, 0, "r"], [78223, 0, "e"], [78224, 0, "s"], [78225, 0, "f"], [78226, 0, "o"], [78227, 0, "r"], [78228, 0, "d"], [78229, 0, "}"], [78218, 1], [78229, 0, "\n"], [78230, 0, "\\"], [78231, 0, "e"], [78232, 0, "n"], [78233, 0, "d"], [78234, 0, "{"], [78235, 0, "I"], [78236, 0, "E"], [78237, 0, "E"], [78238, 0, "E"], [78239, 0, "b"], [78240, 0, "i"], [78241, 0, "o"], [78242, 0, "g"], [78243, 0, "r"], [78244, 0, "a"], [78245, 0, "p"], [78246, 0, "h"], [78247, 0, "y"], [78248, 0, "}"], [78230, 0, "\n"], [78230, 0, "T"], [78231, 0, "O"], [78232, 0, "D"], [78233, 0, "O"], [78140, 0, "["], [78141, 0, "{"], [78142, 0, "\\"], [78143, 0, "i"], [78144, 0, "n"], [78145, 0, "c"], [78146, 0, "l"], [78147, 0, "u"], [78148, 0, "d"], [78149, 0, "e"], [78150, 0, "g"], [78151, 0, "r"], [78152, 0, "a"], [78153, 0, "p"], [78154, 0, "h"], [78155, 0, "i"], [78156, 0, "c"], [78157, 0, "s"], [78158, 0, "["], [78159, 0, "]"], [78160, 0, "{"], [78161, 0, "m"], [78162, 0, "k"], [78163, 0, "4"], [78164, 0, "2"], [78165, 0, "8"], [78166, 0, "."], [78167, 0, "j"], [78168, 0, "p"], [78169, 0, "g"], [78170, 0, "}"], [78171, 0, "}"], [78172, 0, "]"], [78159, 0, "w"], [78160, 0, "i"], [78161, 0, "d"], [78162, 0, "t"], [78163, 0, "h"], [78164, 0, "="], [78165, 0, "1"], [78166, 0, "i"], [78167, 0, "n"], [78248, 0, "["], [78249, 0, "]"], [78249, 0, "{"], [78250, 0, "}"], [78250, 0, "\\"], [78251, 0, "i"], [78252, 0, "n"], [78253, 0, "c"], [78254, 0, "l"], [78255, 0, "u"], [78256, 0, "d"], [78257, 0, "e"], [78258, 0, "g"], [78259, 0, "r"], [78260, 0, "a"], [78261, 0, "p"], [78262, 0, "h"], [78263, 0, "i"], [78264, 0, "c"], [78265, 0, "s"], [78266, 0, "["], [78267, 0, "w"], [78268, 0, "i"], [78269, 0, "d"], [78270, 0, "t"], [78271, 0, "h"], [78272, 0, "="], [78273, 0, "1"], [78274, 0, "i"], [78275, 0, "n"], [78276, 0, "]"], [78277, 0, "{"], [78278, 0, "a"], [78279, 0, "r"], [78280, 0, "b"], [78281, 0, "3"], [78282, 0, "3"], [78283, 0, "."], [78284, 0, "j"], [78285, 0, "p"], [78286, 0, "g"], [78287, 0, "}"], [78287, 1], [78287, 0, "}"], [78317, 1], [78316, 1], [78315, 1], [78314, 1], [78314, 0, "i"], [78315, 0, "s"], [78316, 0, " "], [78317, 0, "a"], [78318, 0, " "], [78319, 0, "s"], [78320, 0, "e"], [78320, 1], [78319, 1], [78319, 0, "S"], [78320, 0, "e"], [78321, 0, "n"], [78322, 0, "i"], [78323, 0, "o"], [78324, 0, "r"], [78325, 0, " "], [78326, 0, "L"], [78327, 0, "e"], [78328, 0, "c"], [78329, 0, "t"], [78330, 0, "u"], [78331, 0, "r"], [78332, 0, "e"], [78333, 0, "r"], [78334, 0, " "], [78335, 0, "i"], [78336, 0, "n"], [78337, 0, " "], [78338, 0, "t"], [78339, 0, "h"], [78340, 0, "e"], [78341, 0, " "], [78342, 0, "C"], [78343, 0, "o"], [78344, 0, "m"], [78345, 0, "p"], [78346, 0, "u"], [78347, 0, "t"], [78348, 0, "e"], [78349, 0, "r"], [78350, 0, " "], [78351, 0, "L"], [78352, 0, "a"], [78353, 0, "b"], [78354, 0, "o"], [78355, 0, "r"], [78356, 0, "a"], [78357, 0, "t"], [78358, 0, "o"], [78359, 0, "r"], [78360, 0, "y"], [78361, 0, " "], [78362, 0, "a"], [78363, 0, "t"], [78364, 0, " "], [78365, 0, "t"], [78366, 0, "h"], [78367, 0, "e"], [78368, 0, " "], [78369, 0, "U"], [78370, 0, "n"], [78371, 0, "i"], [78372, 0, "v"], [78373, 0, "e"], [78374, 0, "r"], [78375, 0, "s"], [78376, 0, "i"], [78377, 0, "t"], [78378, 0, "y"], [78379, 0, " "], [78380, 0, "o"], [78381, 0, "f"], [78382, 0, " "], [78383, 0, "C"], [78384, 0, "a"], [78385, 0, "m"], [78386, 0, "b"], [78387, 0, "r"], [78388, 0, "i"], [78389, 0, "d"], [78390, 0, "g"], [78391, 0, "e"], [78392, 0, "."], [78393, 0, " "], [78394, 0, "H"], [78395, 0, "e"], [78396, 0, " "], [78397, 0, "o"], [78398, 0, "b"], [78399, 0, "t"], [78400, 0, "a"], [78401, 0, "i"], [78402, 0, "n"], [78403, 0, "e"], [78404, 0, "d"], [78405, 0, " "], [78406, 0, "h"], [78407, 0, "i"], [78408, 0, "s"], [78409, 0, " "], [78410, 0, "P"], [78411, 0, "h"], [78412, 0, "D"], [78413, 0, " "], [78414, 0, "f"], [78415, 0, "r"], [78416, 0, "o"], [78417, 0, "m"], [78418, 0, " "], [78419, 0, "t"], [78420, 0, "h"], [78421, 0, "e"], [78422, 0, " "], [78423, 0, "U"], [78424, 0, "n"], [78425, 0, "i"], [78426, 0, "v"], [78427, 0, "e"], [78428, 0, "r"], [78429, 0, "s"], [78430, 0, "i"], [78431, 0, "t"], [78432, 0, "y"], [78433, 0, " "], [78434, 0, "o"], [78435, 0, "f"], [78436, 0, " "], [78437, 0, "C"], [78438, 0, "a"], [78439, 0, "m"], [78440, 0, "b"], [78441, 0, "r"], [78442, 0, "i"], [78443, 0, "d"], [78444, 0, "g"], [78445, 0, "e"], [78446, 0, ","], [78447, 0, " "], [78448, 0, "w"], [78449, 0, "o"], [78450, 0, "r"], [78451, 0, "k"], [78452, 0, "i"], [78453, 0, "n"], [78454, 0, "g"], [78455, 0, " "], [78456, 0, "a"], [78457, 0, "t"], [78458, 0, " "], [78459, 0, "t"], [78460, 0, "h"], [78461, 0, "e"], [78462, 0, " "], [78463, 0, "i"], [78464, 0, "n"], [78465, 0, "t"], [78466, 0, "e"], [78467, 0, "r"], [78468, 0, "s"], [78469, 0, "e"], [78470, 0, "c"], [78471, 0, "t"], [78472, 0, "i"], [78473, 0, "o"], [78474, 0, "n"], [78475, 0, " "], [78476, 0, "o"], [78477, 0, "f"], [78478, 0, " "], [78479, 0, "m"], [78480, 0, "o"], [78481, 0, "b"], [78482, 0, "i"], [78483, 0, "l"], [78484, 0, "e"], [78485, 0, " "], [78486, 0, "c"], [78487, 0, "o"], [78488, 0, "m"], [78489, 0, "p"], [78490, 0, "u"], [78491, 0, "t"], [78492, 0, "i"], [78493, 0, "n"], [78494, 0, "g"], [78495, 0, " "], [78496, 0, "a"], [78497, 0, "n"], [78498, 0, "d"], [78499, 0, " "], [78500, 0, "c"], [78501, 0, "o"], [78502, 0, "m"], [78503, 0, "p"], [78504, 0, "u"], [78505, 0, "t"], [78506, 0, "e"], [78507, 0, "r"], [78508, 0, " "], [78509, 0, "s"], [78510, 0, "e"], [78511, 0, "c"], [78512, 0, "u"], [78513, 0, "r"], [78514, 0, "i"], [78515, 0, "t"], [78516, 0, "y"], [78517, 0, "."], [78518, 0, " "], [78519, 0, "T"], [78520, 0, "O"], [78521, 0, "D"], [78522, 0, "O"], [78523, 0, " "], [78524, 0, "m"], [78525, 0, "o"], [78526, 0, "r"], [78527, 0, "e"], [78528, 0, " "], [78529, 0, "t"], [78530, 0, "e"], [78531, 0, "x"], [78532, 0, "t"], [78204, 1], [78203, 1], [78202, 1], [78201, 1], [78201, 0, "i"], [78202, 0, "s"], [78203, 0, " "], [78204, 0, "a"], [78205, 0, " "], [78206, 0, "R"], [78207, 0, "e"], [78208, 0, "s"], [78209, 0, "e"], [78210, 0, "a"], [78211, 0, "r"], [78212, 0, "c"], [78213, 0, "h"], [78214, 0, " "], [78215, 0, "A"], [78216, 0, "s"], [78217, 0, "s"], [78218, 0, "o"], [78219, 0, "c"], [78220, 0, "i"], [78221, 0, "a"], [78222, 0, "t"], [78223, 0, "e"], [78224, 0, " "], [78225, 0, "a"], [78226, 0, "t"], [78226, 1], [78225, 1], [78225, 0, "i"], [78226, 0, "n"], [78227, 0, " "], [78228, 0, "t"], [78229, 0, "h"], [78230, 0, "e"], [78231, 0, " "], [78232, 0, "C"], [78233, 0, "o"], [78234, 0, "m"], [78235, 0, "p"], [78236, 0, "u"], [78237, 0, "t"], [78238, 0, "e"], [78239, 0, "r"], [78240, 0, " "], [78241, 0, "L"], [78242, 0, "a"], [78243, 0, "b"], [78244, 0, "o"], [78245, 0, "r"], [78246, 0, "a"], [78247, 0, "t"], [78248, 0, "o"], [78249, 0, "r"], [78250, 0, "y"], [78251, 0, " "], [78252, 0, "a"], [78253, 0, "t"], [78254, 0, " "], [78255, 0, "t"], [78256, 0, "h"], [78257, 0, "e"], [78258, 0, " "], [78259, 0, "U"], [78260, 0, "n"], [78261, 0, "i"], [78262, 0, "v"], [78263, 0, "e"], [78264, 0, "r"], [78265, 0, "s"], [78266, 0, "i"], [78267, 0, "t"], [78268, 0, "y"], [78269, 0, " "], [78270, 0, "o"], [78271, 0, "f"], [78272, 0, " "], [78273, 0, "C"], [78274, 0, "a"], [78275, 0, "m"], [78276, 0, "b"], [78277, 0, "r"], [78278, 0, "i"], [78279, 0, "d"], [78280, 0, "g"], [78281, 0, "e"], [78282, 0, "."], [78283, 0, " "], [78284, 0, "I"], [78285, 0, "n"], [78286, 0, " "], [78287, 0, "h"], [78288, 0, "i"], [78289, 0, "s"], [78290, 0, " "], [78291, 0, "c"], [78292, 0, "u"], [78293, 0, "r"], [78294, 0, "r"], [78295, 0, "e"], [78295, 1], [78294, 1], [78293, 1], [78292, 1], [78291, 1], [78290, 1], [78289, 1], [78288, 1], [78287, 1], [78286, 1], [78285, 1], [78284, 1], [78284, 0, "H"], [78284, 1], [78284, 0, "I"], [78285, 0, "n"], [78286, 0, " "], [78287, 0, "t"], [78288, 0, "h"], [78289, 0, "i"], [78290, 0, "s"], [78291, 0, " "], [78292, 0, "c"], [78293, 0, "u"], [78294, 0, "r"], [78295, 0, "r"], [78296, 0, "e"], [78297, 0, "n"], [78298, 0, "t"], [78299, 0, " "], [78300, 0, "r"], [78301, 0, "e"], [78302, 0, "s"], [78303, 0, "e"], [78304, 0, "a"], [78305, 0, "r"], [78306, 0, "c"], [78307, 0, "h"], [78308, 0, " "], [78288, 1], [78287, 1], [78286, 1], [78285, 1], [78284, 1], [78284, 0, "H"], [78305, 0, "p"], [78306, 0, "r"], [78307, 0, "o"], [78308, 0, "j"], [78309, 0, "e"], [78310, 0, "c"], [78311, 0, "t"], [78312, 0, ","], [78313, 0, " "], [78314, 0, "T"], [78315, 0, "R"], [78316, 0, "V"], [78317, 0, "E"], [78318, 0, " "], [78319, 0, "D"], [78320, 0, "a"], [78321, 0, "t"], [78322, 0, "a"], [78323, 0, ","], [78324, 0, " "], [78325, 0, "i"], [78326, 0, "s"], [78327, 0, " "], [78328, 0, "w"], [78329, 0, "o"], [78330, 0, "r"], [78331, 0, "k"], [78332, 0, "i"], [78333, 0, "n"], [78334, 0, "g"], [78335, 0, " "], [78336, 0, "t"], [78337, 0, "o"], [78338, 0, "w"], [78339, 0, "a"], [78340, 0, "r"], [78341, 0, "d"], [78342, 0, "s"], [78343, 0, " "], [78344, 0, "b"], [78345, 0, "e"], [78346, 0, "t"], [78347, 0, "t"], [78348, 0, "e"], [78349, 0, "r"], [78350, 0, " "], [78351, 0, "s"], [78352, 0, "e"], [78353, 0, "c"], [78354, 0, "u"], [78355, 0, "r"], [78356, 0, "i"], [78357, 0, "t"], [78358, 0, "y"], [78359, 0, " "], [78360, 0, "a"], [78361, 0, "n"], [78362, 0, "d"], [78363, 0, " "], [78364, 0, "p"], [78365, 0, "r"], [78366, 0, "i"], [78367, 0, "v"], [78368, 0, "a"], [78369, 0, "c"], [78370, 0, "y"], [78371, 0, " "], [78372, 0, "i"], [78373, 0, "n"], [78374, 0, " "], [78375, 0, "c"], [78376, 0, "l"], [78377, 0, "o"], [78378, 0, "u"], [78379, 0, "d"], [78380, 0, " "], [78381, 0, "a"], [78382, 0, "p"], [78383, 0, "p"], [78384, 0, "l"], [78385, 0, "i"], [78386, 0, "c"], [78387, 0, "a"], [78388, 0, "t"], [78389, 0, "i"], [78390, 0, "o"], [78391, 0, "n"], [78392, 0, "s"], [78375, 0, "c"], [78376, 0, "o"], [78377, 0, "l"], [78378, 0, "l"], [78379, 0, "a"], [78380, 0, "b"], [78381, 0, "o"], [78382, 0, "r"], [78383, 0, "a"], [78384, 0, "t"], [78385, 0, "i"], [78386, 0, "v"], [78387, 0, "e"], [78388, 0, " "], [78326, 1], [78325, 1], [78324, 1], [78331, 1], [78330, 1], [78329, 1], [78329, 0, "s"], [78402, 0, " "], [78403, 0, "b"], [78404, 0, "y"], [78405, 0, " "], [78406, 0, "a"], [78407, 0, "p"], [78408, 0, "p"], [78409, 0, "l"], [78410, 0, "y"], [78411, 0, "i"], [78412, 0, "n"], [78413, 0, "g"], [78414, 0, " "], [78415, 0, "e"], [78416, 0, "n"], [78417, 0, "d"], [78418, 0, "-"], [78419, 0, "t"], [78420, 0, "o"], [78421, 0, "-"], [78422, 0, "e"], [78423, 0, "n"], [78424, 0, "d"], [78425, 0, " "], [78426, 0, "e"], [78427, 0, "n"], [78428, 0, "c"], [78429, 0, "r"], [78430, 0, "y"], [78431, 0, "p"], [78432, 0, "t"], [78433, 0, "i"], [78434, 0, "o"], [78435, 0, "n"], [78436, 0, " "], [78383, 1], [78382, 1], [78381, 1], [78380, 1], [78379, 1], [78378, 1], [78377, 1], [78376, 1], [78375, 1], [78374, 1], [78373, 1], [78372, 1], [78371, 1], [78370, 1], [78423, 0, "t"], [78424, 0, "o"], [78425, 0, " "], [78426, 0, "c"], [78427, 0, "o"], [78428, 0, "l"], [78429, 0, "l"], [78430, 0, "a"], [78431, 0, "b"], [78432, 0, "o"], [78433, 0, "r"], [78434, 0, "a"], [78435, 0, "t"], [78436, 0, "i"], [78437, 0, "v"], [78438, 0, "e"], [78439, 0, "l"], [78440, 0, "y"], [78441, 0, " "], [78442, 0, "e"], [78443, 0, "d"], [78444, 0, "i"], [78445, 0, "t"], [78446, 0, "a"], [78447, 0, "b"], [78448, 0, "l"], [78449, 0, "e"], [78450, 0, " "], [78391, 0, " "], [78392, 0, "m"], [78393, 0, "a"], [78394, 0, "i"], [78395, 0, "n"], [78396, 0, "t"], [78397, 0, "a"], [78398, 0, "i"], [78399, 0, "n"], [78400, 0, "i"], [78401, 0, "n"], [78402, 0, "g"], [78403, 0, " "], [78403, 1], [78402, 1], [78401, 1], [78400, 1], [78399, 1], [78398, 1], [78397, 1], [78396, 1], [78395, 1], [78394, 1], [78393, 1], [78392, 1], [78391, 1], [78451, 0, "a"], [78452, 0, "p"], [78453, 0, "p"], [78454, 0, "l"], [78455, 0, "i"], [78456, 0, "c"], [78457, 0, "a"], [78458, 0, "t"], [78459, 0, "i"], [78460, 0, "o"], [78461, 0, "n"], [78462, 0, " "], [78463, 0, "d"], [78464, 0, "a"], [78465, 0, "t"], [78466, 0, "a"], [78467, 0, "."], [78468, 0, " "], [78469, 0, "H"], [78470, 0, "e"], [78471, 0, " "], [78472, 0, "p"], [78473, 0, "r"], [78474, 0, "e"], [78475, 0, "v"], [78476, 0, "i"], [78477, 0, "o"], [78478, 0, "u"], [78479, 0, "s"], [78480, 0, "l"], [78481, 0, "y"], [78482, 0, " "], [78482, 1], [78481, 1], [78480, 1], [78479, 1], [78478, 1], [78477, 1], [78476, 1], [78475, 1], [78474, 1], [78473, 1], [78472, 1], [78471, 1], [78470, 1], [78470, 0, "i"], [78471, 0, "s"], [78472, 0, " "], [78473, 0, "b"], [78474, 0, "o"], [78475, 0, "o"], [78476, 0, "k"], [78477, 0, " "], [78478, 0, "\\"], [78479, 0, "e"], [78480, 0, "m"], [78481, 0, "p"], [78482, 0, "h"], [78483, 0, "{"], [78484, 0, "D"], [78485, 0, "e"], [78486, 0, "s"], [78487, 0, "i"], [78488, 0, "g"], [78489, 0, "n"], [78490, 0, "i"], [78491, 0, "n"], [78492, 0, "g"], [78493, 0, " "], [78494, 0, "D"], [78495, 0, "a"], [78496, 0, "t"], [78497, 0, "a"], [78498, 0, "-"], [78499, 0, "I"], [78500, 0, "n"], [78501, 0, "t"], [78502, 0, "e"], [78503, 0, "n"], [78504, 0, "s"], [78505, 0, "i"], [78506, 0, "v"], [78507, 0, "e"], [78508, 0, " "], [78509, 0, "A"], [78510, 0, "p"], [78511, 0, "p"], [78512, 0, "l"], [78513, 0, "i"], [78514, 0, "c"], [78515, 0, "a"], [78516, 0, "t"], [78517, 0, "i"], [78518, 0, "o"], [78519, 0, "n"], [78520, 0, "s"], [78521, 0, "}"], [78522, 0, " "], [78523, 0, "w"], [78524, 0, "a"], [78525, 0, "s"], [78526, 0, " "], [78527, 0, "p"], [78528, 0, "u"], [78529, 0, "b"], [78530, 0, "l"], [78531, 0, "i"], [78532, 0, "s"], [78533, 0, "h"], [78534, 0, "e"], [78535, 0, "d"], [78536, 0, " "], [78537, 0, "b"], [78538, 0, "y"], [78539, 0, " "], [78540, 0, "O"], [78541, 0, "'"], [78542, 0, "R"], [78543, 0, "e"], [78544, 0, "i"], [78545, 0, "l"], [78546, 0, "l"], [78547, 0, "y"], [78548, 0, " "], [78549, 0, "M"], [78550, 0, "e"], [78551, 0, "d"], [78552, 0, "i"], [78553, 0, "a"], [78554, 0, " "], [78555, 0, "i"], [78556, 0, "n"], [78557, 0, " "], [78558, 0, "2"], [78559, 0, "0"], [78560, 0, "0"], [78561, 0, "7"], [78562, 0, "."], [78562, 1], [78562, 0, "."], [78560, 1], [78560, 0, "1"], [78563, 0, " "], [78564, 0, "P"], [78565, 0, "r"], [78566, 0, "e"], [78567, 0, "v"], [78568, 0, "i"], [78569, 0, "o"], [78570, 0, "u"], [78571, 0, "s"], [78572, 0, "l"], [78573, 0, "y"], [78574, 0, " "], [78574, 1], [78574, 0, ","], [78575, 0, " "], [78576, 0, "e"], [78576, 1], [78576, 0, "h"], [78577, 0, "e"], [78578, 0, " "], [78579, 0, "w"], [78580, 0, "o"], [78581, 0, "r"], [78582, 0, "k"], [78583, 0, "d"], [78583, 1], [78583, 0, "e"], [78584, 0, "d"], [78585, 0, " "], [78586, 0, "a"], [78587, 0, "s"], [78588, 0, " "], [78589, 0, "a"], [78590, 0, " "], [78591, 0, "s"], [78592, 0, "o"], [78593, 0, "f"], [78594, 0, "t"], [78595, 0, "w"], [78596, 0, "a"], [78597, 0, "r"], [78598, 0, "e"], [78599, 0, " "], [78600, 0, "e"], [78601, 0, "n"], [78602, 0, "g"], [78603, 0, "i"], [78604, 0, "n"], [78605, 0, "e"], [78606, 0, "e"], [78607, 0, "r"], [78608, 0, " "], [78609, 0, "a"], [78610, 0, "n"], [78611, 0, "d"], [78612, 0, " "], [78613, 0, "e"], [78614, 0, "n"], [78615, 0, "t"], [78616, 0, "r"], [78617, 0, "e"], [78618, 0, "p"], [78619, 0, "r"], [78620, 0, "e"], [78621, 0, "n"], [78622, 0, "e"], [78623, 0, "u"], [78624, 0, "r"], [78625, 0, " "], [78626, 0, "a"], [78627, 0, "t"], [78628, 0, " "], [78629, 0, "s"], [78630, 0, "e"], [78631, 0, "v"], [78632, 0, "e"], [78633, 0, "r"], [78634, 0, "a"], [78635, 0, "l"], [78636, 0, " "], [78637, 0, "i"], [78638, 0, "n"], [78639, 0, "t"], [78640, 0, "e"], [78641, 0, "r"], [78642, 0, "n"], [78643, 0, "e"], [78644, 0, "t"], [78645, 0, " "], [78646, 0, "c"], [78647, 0, "o"], [78648, 0, "m"], [78649, 0, "p"], [78650, 0, "a"], [78651, 0, "n"], [78652, 0, "i"], [78653, 0, "e"], [78654, 0, "s"], [78655, 0, "."], [79005, 0, "\n"], [79006, 0, "\\"], [79007, 0, "v"], [79008, 0, "f"], [79009, 0, "i"], [79010, 0, "l"], [79011, 0, "l"], [79012, 0, "\n"], [4295, 0, " "], [4296, 0, "a"], [4297, 0, "n"], [4298, 0, "d"], [4299, 0, " "], [4300, 0, "e"], [4301, 0, "r"], [4302, 0, "r"], [4303, 0, "o"], [4304, 0, "r"], [4305, 0, "-"], [4306, 0, "p"], [4307, 0, "r"], [4308, 0, "o"], [4309, 0, "n"], [4310, 0, "e"], [4311, 0, ","], [8427, 0, " "], [8428, 0, "("], [8429, 0, "a"], [8430, 0, " "], [8431, 0, "r"], [8432, 0, "e"], [8433, 0, "q"], [8434, 0, "u"], [8435, 0, "i"], [8436, 0, "r"], [8437, 0, "e"], [8438, 0, "m"], [8439, 0, "e"], [8440, 0, "n"], [8441, 0, "t"], [8442, 0, " "], [8443, 0, "k"], [8444, 0, "n"], [8445, 0, "o"], [8446, 0, "w"], [8447, 0, "n"], [8448, 0, " "], [8449, 0, "a"], [8450, 0, "s"], [8451, 0, " "], [8452, 0, "\\"], [8453, 0, "e"], [8454, 0, "m"], [8455, 0, "p"], [8456, 0, "h"], [8457, 0, "{"], [8458, 0, "s"], [8459, 0, "t"], [8460, 0, "r"], [8461, 0, "o"], [8462, 0, "n"], [8463, 0, "g"], [8464, 0, " "], [8465, 0, "e"], [8466, 0, "v"], [8467, 0, "e"], [8468, 0, "n"], [8469, 0, "t"], [8470, 0, "u"], [8471, 0, "a"], [8472, 0, "l"], [8473, 0, " "], [8474, 0, "c"], [8475, 0, "o"], [8476, 0, "n"], [8477, 0, "s"], [8478, 0, "i"], [8479, 0, "s"], [8480, 0, "t"], [8481, 0, "e"], [8482, 0, "n"], [8483, 0, "c"], [8484, 0, "y"], [8485, 0, "}"], [8486, 0, "~"], [8487, 0, "\\"], [8488, 0, "c"], [8489, 0, "i"], [8490, 0, "t"], [8491, 0, "e"], [8492, 0, "{"], [8493, 0, "S"], [8494, 0, "h"], [8495, 0, "a"], [8496, 0, "p"], [8497, 0, "i"], [8498, 0, "r"], [8499, 0, "o"], [8500, 0, ":"], [8501, 0, "2"], [8502, 0, "0"], [8503, 0, "1"], [8504, 0, "1"], [8505, 0, "u"], [8506, 0, "n"], [8507, 0, "}"], [8508, 0, ")"], [11111, 0, ","], [11112, 0, "M"], [11113, 0, "e"], [11114, 0, "h"], [11115, 0, "d"], [11116, 0, "i"], [11117, 0, ":"], [11118, 0, "2"], [11119, 0, "0"], [11120, 0, "1"], [11121, 0, "1"], [11122, 0, "k"], [11123, 0, "e"], [13279, 1], [13278, 1], [13277, 1], [13276, 1], [13275, 1], [13274, 1], [13273, 1], [13272, 1], [13334, 1], [13333, 1], [13332, 1], [13331, 1], [13330, 1], [13329, 1], [13329, 0, "e"], [13330, 0, "l"], [13331, 0, "l"], [13332, 0, "-"], [13842, 1], [13841, 1], [13840, 1], [13839, 1], [13838, 1], [13837, 1], [13836, 1], [13835, 1], [13835, 0, "a"], [13836, 0, "l"], [13837, 0, "g"], [13838, 0, "o"], [13839, 0, "r"], [13840, 0, "i"], [13841, 0, "t"], [13842, 0, "h"], [13843, 0, "m"], [17073, 0, " "], [17074, 0, "T"], [17075, 0, "h"], [17076, 0, "i"], [17077, 0, "s"], [17078, 0, " "], [17079, 0, "a"], [17080, 0, "p"], [17081, 0, "p"], [17082, 0, "r"], [17083, 0, "o"], [17084, 0, "a"], [17085, 0, "c"], [17086, 0, "h"], [17087, 0, " "], [17088, 0, "h"], [17089, 0, "a"], [17090, 0, "s"], [17091, 0, " "], [17092, 0, "t"], [17093, 0, "h"], [17094, 0, "e"], [17095, 0, " "], [17096, 0, "a"], [17097, 0, "d"], [17098, 0, "v"], [17099, 0, "a"], [17100, 0, "n"], [17101, 0, "t"], [17102, 0, "a"], [17103, 0, "g"], [17104, 0, "e"], [17105, 0, " "], [17106, 0, "o"], [17107, 0, "f"], [17108, 0, " "], [17109, 0, "b"], [17110, 0, "e"], [17111, 0, "i"], [17112, 0, "n"], [17113, 0, "g"], [17114, 0, " "], [17115, 0, "a"], [17116, 0, "b"], [17117, 0, "l"], [17118, 0, "e"], [17119, 0, " "], [17120, 0, "t"], [17121, 0, "o"], [17122, 0, " "], [17123, 0, "e"], [17124, 0, "x"], [17125, 0, "p"], [17126, 0, "r"], [17127, 0, "e"], [17128, 0, "s"], [17129, 0, "s"], [17130, 0, " "], [17131, 0, "g"], [17132, 0, "l"], [17133, 0, "o"], [17134, 0, "b"], [17135, 0, "a"], [17136, 0, "l"], [17137, 0, " "], [17138, 0, "i"], [17139, 0, "n"], [17140, 0, "v"], [17141, 0, "a"], [17142, 0, "r"], [17143, 0, "i"], [17144, 0, "a"], [17145, 0, "n"], [17146, 0, "t"], [17147, 0, "s"], [17148, 0, " "], [17149, 0, "s"], [17150, 0, "u"], [17151, 0, "c"], [17152, 0, "h"], [17153, 0, " "], [17154, 0, "a"], [17155, 0, "s"], [17156, 0, " "], [17157, 0, "u"], [17158, 0, "n"], [17159, 0, "i"], [17160, 0, "q"], [17161, 0, "u"], [17162, 0, "e"], [17163, 0, "n"], [17164, 0, "e"], [17165, 0, "s"], [17166, 0, "s"], [17167, 0, " "], [17168, 0, "c"], [17169, 0, "o"], [17170, 0, "n"], [17171, 0, "s"], [17172, 0, "t"], [17173, 0, "r"], [17174, 0, "a"], [17175, 0, "i"], [17176, 0, "n"], [17177, 0, "t"], [17178, 0, "s"], [17179, 0, ","], [17180, 0, " "], [17181, 0, "w"], [17182, 0, "h"], [17183, 0, "i"], [17184, 0, "c"], [17185, 0, "h"], [17186, 0, " "], [17187, 0, "r"], [17188, 0, "e"], [17189, 0, "q"], [17190, 0, "u"], [17191, 0, "i"], [17192, 0, "r"], [17193, 0, "e"], [17194, 0, " "], [17195, 0, "s"], [17196, 0, "e"], [17197, 0, "r"], [17198, 0, "i"], [17199, 0, "a"], [17200, 0, "l"], [17201, 0, "i"], [17202, 0, "z"], [17203, 0, "a"], [17204, 0, "t"], [17205, 0, "i"], [17206, 0, "o"], [17207, 0, "n"], [17208, 0, " "], [17209, 0, "a"], [17210, 0, "n"], [17211, 0, "d"], [17212, 0, " "], [17213, 0, "c"], [17214, 0, "a"], [17215, 0, "n"], [17216, 0, "n"], [17217, 0, "o"], [17218, 0, "t"], [17219, 0, " "], [17220, 0, "b"], [17221, 0, "e"], [17222, 0, " "], [17223, 0, "e"], [17224, 0, "x"], [17225, 0, "p"], [17226, 0, "r"], [17227, 0, "e"], [17228, 0, "s"], [17229, 0, "s"], [17230, 0, "e"], [17231, 0, "d"], [17232, 0, " "], [17233, 0, "u"], [17234, 0, "s"], [17235, 0, "i"], [17236, 0, "n"], [17237, 0, "g"], [17238, 0, " "], [17239, 0, "C"], [17240, 0, "R"], [17241, 0, "D"], [17242, 0, "T"], [17243, 0, "s"], [17244, 0, "."], [17245, 0, " "], [17246, 0, "H"], [17247, 0, "o"], [17248, 0, "w"], [17249, 0, "e"], [17250, 0, "v"], [17251, 0, "e"], [17252, 0, "r"], [17253, 0, ","], [17254, 0, " "], [17255, 0, "i"], [17256, 0, "t"], [17257, 0, " "], [17258, 0, "r"], [17259, 0, "e"], [17260, 0, "q"], [17261, 0, "u"], [17262, 0, "i"], [17263, 0, "r"], [17264, 0, "e"], [17265, 0, "s"], [17266, 0, " "], [17267, 0, "a"], [17268, 0, "t"], [17269, 0, "o"], [17270, 0, "m"], [17271, 0, "i"], [17272, 0, "c"], [17273, 0, " "], [17274, 0, "b"], [17275, 0, "r"], [17276, 0, "o"], [17277, 0, "a"], [17278, 0, "d"], [17279, 0, "c"], [17280, 0, "a"], [17281, 0, "s"], [17282, 0, "t"], [17283, 0, ","], [17284, 0, " "], [17285, 0, "w"], [17286, 0, "h"], [17287, 0, "i"], [17288, 0, "c"], [17289, 0, "h"], [17290, 0, " "], [17290, 1], [17289, 1], [17288, 1], [17287, 1], [17286, 1], [17285, 1], [17284, 1], [17283, 1], [17282, 1], [17281, 1], [17280, 1], [17279, 1], [17278, 1], [17277, 1], [17276, 1], [17275, 1], [17274, 1], [17273, 1], [17272, 1], [17271, 1], [17270, 1], [17269, 1], [17268, 1], [17267, 1], [17266, 1], [17265, 1], [17264, 1], [17263, 1], [17262, 1], [17261, 1], [17260, 1], [17259, 1], [17258, 1], [17257, 1], [17256, 1], [17255, 1], [17254, 1], [17253, 1], [17252, 1], [17251, 1], [17250, 1], [17249, 1], [17248, 1], [17247, 1], [17246, 1], [17246, 0, "T"], [17247, 0, "h"], [17248, 0, "e"], [17249, 0, " "], [17250, 0, "d"], [17251, 0, "o"], [17252, 0, "w"], [17253, 0, "n"], [17254, 0, "s"], [17255, 0, "i"], [17256, 0, "d"], [17257, 0, "e"], [17258, 0, " "], [17259, 0, "i"], [17260, 0, "s"], [17261, 0, " "], [17262, 0, "t"], [17263, 0, "h"], [17264, 0, "a"], [17265, 0, "t"], [17266, 0, " "], [17267, 0, "t"], [17268, 0, "e"], [17269, 0, "n"], [17270, 0, "t"], [17271, 0, "a"], [17272, 0, "t"], [17273, 0, "i"], [17274, 0, "v"], [17275, 0, "e"], [17276, 0, " "], [17277, 0, "t"], [17278, 0, "r"], [17279, 0, "a"], [17280, 0, "n"], [17281, 0, "s"], [17282, 0, "a"], [17283, 0, "c"], [17284, 0, "t"], [17285, 0, "i"], [17286, 0, "o"], [17287, 0, "n"], [17288, 0, "s"], [17289, 0, " "], [17290, 0, "m"], [17291, 0, "a"], [17292, 0, "y"], [17293, 0, " "], [17294, 0, "b"], [17295, 0, "e"], [17296, 0, " "], [17297, 0, "r"], [17298, 0, "o"], [17299, 0, "l"], [17300, 0, "l"], [17301, 0, "e"], [17302, 0, "d"], [17303, 0, " "], [17304, 0, "b"], [17305, 0, "a"], [17306, 0, "c"], [17307, 0, "k"], [17308, 0, ","], [17309, 0, " "], [17310, 0, "r"], [17311, 0, "e"], [17312, 0, "q"], [17313, 0, "u"], [17314, 0, "i"], [17315, 0, "r"], [17316, 0, "i"], [17317, 0, "n"], [17318, 0, "g"], [17319, 0, " "], [17320, 0, "t"], [17321, 0, "h"], [17322, 0, "e"], [17323, 0, " "], [17324, 0, "a"], [17325, 0, "p"], [17326, 0, "p"], [17327, 0, "l"], [17328, 0, "i"], [17329, 0, "c"], [17330, 0, "a"], [17331, 0, "t"], [17332, 0, "i"], [17333, 0, "o"], [17334, 0, "n"], [17335, 0, " "], [17336, 0, "t"], [17337, 0, "o"], [17338, 0, " "], [17339, 0, "e"], [17340, 0, "x"], [17341, 0, "p"], [17342, 0, "l"], [17343, 0, "i"], [17344, 0, "c"], [17345, 0, "i"], [17346, 0, "t"], [17347, 0, "l"], [17348, 0, "y"], [17349, 0, " "], [17350, 0, "h"], [17351, 0, "a"], [17352, 0, "n"], [17353, 0, "d"], [17354, 0, "l"], [17355, 0, "e"], [17356, 0, " "], [17357, 0, "r"], [17358, 0, "o"], [17359, 0, "l"], [17360, 0, "l"], [17361, 0, "b"], [17362, 0, "a"], [17363, 0, "c"], [17364, 0, "k"], [17365, 0, "s"], [17366, 0, ","], [17367, 0, " "], [17368, 0, "w"], [17369, 0, "h"], [17370, 0, "e"], [17371, 0, "r"], [17372, 0, "e"], [17373, 0, "a"], [17374, 0, "s"], [17375, 0, " "], [17376, 0, "C"], [17377, 0, "R"], [17378, 0, "D"], [17379, 0, "T"], [17380, 0, "s"], [17381, 0, " "], [17382, 0, "a"], [17383, 0, "r"], [17384, 0, "e"], [17385, 0, " "], [17386, 0, "d"], [17387, 0, "e"], [17388, 0, "f"], [17389, 0, "i"], [17390, 0, "n"], [17391, 0, "e"], [17392, 0, "d"], [17393, 0, " "], [17394, 0, "s"], [17395, 0, "u"], [17396, 0, "c"], [17397, 0, "h"], [17398, 0, " "], [17399, 0, "t"], [17400, 0, "h"], [17401, 0, "a"], [17402, 0, "t"], [17403, 0, " "], [17404, 0, "o"], [17405, 0, "p"], [17406, 0, "e"], [17407, 0, "r"], [17408, 0, "a"], [17409, 0, "t"], [17410, 0, "i"], [17411, 0, "o"], [17412, 0, "n"], [17413, 0, "s"], [17414, 0, " "], [17415, 0, "c"], [17416, 0, "a"], [17417, 0, "n"], [17418, 0, "n"], [17419, 0, "o"], [17420, 0, "t"], [17421, 0, " "], [17422, 0, "f"], [17423, 0, "a"], [17424, 0, "i"], [17425, 0, "l"], [17426, 0, " "], [17427, 0, "a"], [17428, 0, "f"], [17429, 0, "t"], [17430, 0, "e"], [17431, 0, "r"], [17432, 0, " "], [17433, 0, "t"], [17434, 0, "h"], [17435, 0, "e"], [17436, 0, "y"], [17437, 0, " "], [17438, 0, "h"], [17439, 0, "a"], [17440, 0, "v"], [17441, 0, "e"], [17442, 0, " "], [17443, 0, "b"], [17444, 0, "e"], [17445, 0, "e"], [17446, 0, "n"], [17447, 0, " "], [17448, 0, "p"], [17449, 0, "e"], [17450, 0, "r"], [17451, 0, "f"], [17452, 0, "o"], [17453, 0, "r"], [17454, 0, "m"], [17455, 0, "e"], [17456, 0, "d"], [17457, 0, " "], [17458, 0, "o"], [17459, 0, "n"], [17460, 0, " "], [17461, 0, "o"], [17462, 0, "n"], [17463, 0, "e"], [17464, 0, " "], [17465, 0, "r"], [17466, 0, "e"], [17467, 0, "p"], [17468, 0, "l"], [17469, 0, "i"], [17470, 0, "c"], [17471, 0, "a"], [17472, 0, "."], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17473, 1], [17086, 1], [17085, 1], [17084, 1], [17083, 1], [17082, 1], [17081, 1], [17080, 1], [17079, 1], [17078, 1], [17077, 1], [17076, 1], [17075, 1], [17074, 1], [17074, 0, "B"], [17075, 0, "a"], [17076, 0, "y"], [17077, 0, "o"], [17078, 0, "u"], [17236, 0, "~"], [17237, 0, "\\"], [17238, 0, "c"], [17239, 0, "i"], [17240, 0, "t"], [17241, 0, "e"], [17242, 0, "{"], [17243, 0, "B"], [17244, 0, "a"], [17245, 0, "i"], [17246, 0, "l"], [17247, 0, "i"], [17248, 0, "s"], [17249, 0, ":"], [17250, 0, "2"], [17251, 0, "0"], [17252, 0, "1"], [17253, 0, "4"], [17254, 0, "t"], [17255, 0, "h"], [17256, 0, "}"], [16545, 1], [16544, 1], [16543, 1], [16542, 1], [16541, 1], [16540, 1], [16539, 1], [16538, 1], [16537, 1], [16536, 1], [16535, 1], [16534, 1], [16533, 1], [16533, 0, "L"], [16534, 0, "W"], [16535, 0, "W"], [16638, 1], [16637, 1], [16636, 1], [16636, 0, "I"], [16637, 0, "t"], [15880, 0, " "], [15881, 0, "a"], [15882, 0, "n"], [15883, 0, "d"], [15884, 0, " "], [15885, 0, "C"], [15886, 0, "o"], [15887, 0, "u"], [15888, 0, "c"], [15889, 0, "h"], [15890, 0, "D"], [15891, 0, "B"], [16645, 1], [16644, 1], [16643, 1], [16642, 1], [16641, 1], [16640, 1], [16639, 1], [16638, 1], [16637, 1], [16636, 1], [16635, 1], [16634, 1], [16633, 1], [16632, 1], [16631, 1], [16630, 1], [16629, 1], [16628, 1], [16627, 1], [16626, 1], [16625, 1], [16624, 1], [16623, 1], [16622, 1], [16621, 1], [16620, 1], [16619, 1], [16618, 1], [16617, 1], [16616, 1], [16615, 1], [16614, 1], [16613, 1], [16612, 1], [16611, 1], [16610, 1], [16609, 1], [16608, 1], [16607, 1], [16606, 1], [16605, 1], [16604, 1], [16603, 1], [16602, 1], [16601, 1], [16600, 1], [16599, 1], [16598, 1], [16597, 1], [16596, 1], [16595, 1], [16594, 1], [16593, 1], [16592, 1], [16591, 1], [16590, 1], [16589, 1], [16588, 1], [16587, 1], [16586, 1], [16585, 1], [16584, 1], [16583, 1], [16582, 1], [16581, 1], [16580, 1], [16579, 1], [16578, 1], [16578, 0, "f"], [16579, 0, "o"], [16580, 0, "r"], [16581, 0, " "], [16582, 0, "e"], [16583, 0, "x"], [16584, 0, "a"], [16585, 0, "m"], [16586, 0, "p"], [16587, 0, "l"], [16588, 0, "e"], [17205, 1], [17204, 1], [17203, 1], [17203, 0, "B"], [17204, 0, "a"], [17205, 0, "y"], [17206, 0, "o"], [17207, 0, "u"], [17208, 0, "'"], [17209, 0, "s"], [17299, 1], [17298, 1], [17297, 1], [17296, 1], [17295, 1], [17294, 1], [17293, 1], [17292, 1], [17291, 1], [17290, 1], [17289, 1], [17288, 1], [17287, 1], [17286, 1], [17285, 1], [17284, 1], [17283, 1], [17282, 1], [17281, 1], [17290, 1], [17289, 1], [17295, 1], [17295, 0, "i"], [17296, 0, "n"], [17297, 0, "g"], [17299, 1], [17299, 1], [17299, 1], [17299, 1], [17299, 1], [17299, 1], [17299, 1], [17299, 1], [17299, 1], [17299, 0, "b"], [17300, 0, "y"], [17301, 0, " "], [17302, 0, "t"], [17303, 0, "h"], [17304, 0, "e"], [17305, 0, " "], [17306, 0, "a"], [17307, 0, "p"], [17308, 0, "p"], [17309, 0, "l"], [17310, 0, "i"], [17311, 0, "c"], [17312, 0, "a"], [17313, 0, "t"], [17314, 0, "i"], [17315, 0, "o"], [17316, 0, "n"], [78208, 1], [78207, 1], [78206, 1], [78205, 1], [78205, 0, ","], [78219, 0, ","], [78220, 0, " "], [78221, 0, "a"], [78222, 0, "n"], [78223, 0, "d"], [78224, 0, " "], [78225, 0, "t"], [78226, 0, "h"], [78227, 0, "e"], [78228, 0, " "], [78229, 0, "a"], [78230, 0, "n"], [78231, 0, "o"], [78232, 0, "n"], [78233, 0, "y"], [78234, 0, "m"], [78235, 0, "o"], [78236, 0, "u"], [78237, 0, "s"], [78238, 0, " "], [78239, 0, "r"], [78240, 0, "e"], [78241, 0, "v"], [78242, 0, "i"], [78243, 0, "e"], [78244, 0, "w"], [78245, 0, "e"], [78246, 0, "r"], [78247, 0, "s"], [78262, 1], [78262, 1], [78262, 1], [78262, 1], [78262, 1], [78262, 1], [78262, 1], [78262, 1], [78262, 1], [78262, 1], [78262, 1], [78262, 1], [78262, 1], [78262, 0, "t"], [78263, 0, "h"], [78264, 0, "a"], [78265, 0, "t"], [78266, 0, " "], [78267, 0, "i"], [78268, 0, "m"], [78269, 0, "p"], [78270, 0, "r"], [78271, 0, "o"], [78272, 0, "v"], [78273, 0, "e"], [78274, 0, "d"], [25031, 0, "\n"], [25032, 0, "\n"], [25033, 0, "\\"], [25034, 0, "b"], [25035, 0, "e"], [25036, 0, "g"], [25037, 0, "i"], [25038, 0, "n"], [25039, 0, "{"], [25040, 0, "f"], [25041, 0, "i"], [25042, 0, "g"], [25043, 0, "u"], [25044, 0, "r"], [25045, 0, "e"], [25046, 0, "*"], [25047, 0, "}"], [25048, 0, "\n"], [25049, 0, "\\"], [25050, 0, "c"], [25051, 0, "e"], [25052, 0, "n"], [25053, 0, "t"], [25054, 0, "e"], [25055, 0, "r"], [25056, 0, "i"], [25057, 0, "n"], [25058, 0, "g"], [25059, 0, "\n"], [25060, 0, "\\"], [25061, 0, "b"], [25062, 0, "e"], [25063, 0, "g"], [25064, 0, "i"], [25065, 0, "n"], [25066, 0, "{"], [25067, 0, "t"], [25068, 0, "i"], [25069, 0, "k"], [25070, 0, "z"], [25071, 0, "p"], [25072, 0, "i"], [25073, 0, "c"], [25074, 0, "t"], [25075, 0, "u"], [25076, 0, "r"], [25077, 0, "e"], [25078, 0, "}"], [25079, 0, "["], [25080, 0, "a"], [25081, 0, "u"], [25082, 0, "t"], [25083, 0, "o"], [25084, 0, ","], [25085, 0, "s"], [25086, 0, "c"], [25087, 0, "a"], [25088, 0, "l"], [25089, 0, "e"], [25090, 0, "="], [25091, 0, "0"], [25092, 0, "."], [25093, 0, "8"], [25094, 0, "]"], [25095, 0, "\n"], [25096, 0, "\\"], [25097, 0, "e"], [25098, 0, "n"], [25099, 0, "d"], [25100, 0, "{"], [25101, 0, "t"], [25102, 0, "i"], [25103, 0, "k"], [25104, 0, "z"], [25105, 0, "p"], [25106, 0, "i"], [25107, 0, "c"], [25108, 0, "t"], [25109, 0, "u"], [25110, 0, "r"], [25111, 0, "e"], [25112, 0, "}"], [25113, 0, "\n"], [25114, 0, "\\"], [25115, 0, "c"], [25116, 0, "a"], [25117, 0, "p"], [25118, 0, "t"], [25119, 0, "i"], [25120, 0, "o"], [25121, 0, "n"], [25122, 0, "{"], [25123, 0, "C"], [25124, 0, "o"], [25125, 0, "n"], [25126, 0, "c"], [25127, 0, "u"], [25128, 0, "r"], [25129, 0, "r"], [25130, 0, "e"], [25131, 0, "n"], [25132, 0, "t"], [25133, 0, " "], [25134, 0, "e"], [25135, 0, "d"], [25136, 0, "i"], [25137, 0, "t"], [25138, 0, "i"], [25139, 0, "n"], [25140, 0, "g"], [25141, 0, " "], [25142, 0, "o"], [25143, 0, "f"], [25144, 0, " "], [25145, 0, "a"], [25146, 0, "n"], [25147, 0, " "], [25148, 0, "o"], [25149, 0, "r"], [25150, 0, "d"], [25151, 0, "e"], [25152, 0, "r"], [25153, 0, "e"], [25154, 0, "d"], [25155, 0, " "], [25156, 0, "l"], [25157, 0, "i"], [25158, 0, "s"], [25159, 0, "t"], [25160, 0, " "], [25161, 0, "o"], [25162, 0, "f"], [25163, 0, " "], [25164, 0, "c"], [25165, 0, "h"], [25166, 0, "a"], [25167, 0, "r"], [25168, 0, "a"], [25169, 0, "c"], [25170, 0, "t"], [25171, 0, "e"], [25172, 0, "r"], [25173, 0, "s"], [25174, 0, " "], [25175, 0, "("], [25176, 0, "i"], [25177, 0, "."], [25178, 0, "e"], [25179, 0, "."], [25180, 0, ","], [25181, 0, " "], [25182, 0, "a"], [25183, 0, " "], [25184, 0, "t"], [25185, 0, "e"], [25186, 0, "x"], [25187, 0, "t"], [25188, 0, " "], [25189, 0, "d"], [25190, 0, "o"], [25191, 0, "c"], [25192, 0, "u"], [25193, 0, "m"], [25194, 0, "e"], [25195, 0, "n"], [25196, 0, "t"], [25197, 0, ")"], [25198, 0, "."], [25199, 0, "}"], [25200, 0, "\n"], [25201, 0, "\\"], [25202, 0, "e"], [25203, 0, "n"], [25204, 0, "d"], [25205, 0, "{"], [25206, 0, "f"], [25207, 0, "i"], [25208, 0, "g"], [25209, 0, "u"], [25210, 0, "r"], [25211, 0, "e"], [25212, 0, "*"], [25213, 0, "}"], [25095, 0, "\n"], [25096, 0, "\\"], [25097, 0, "n"], [25098, 0, "o"], [25099, 0, "d"], [25100, 0, "e"], [25101, 0, " "], [25102, 0, "("], [25103, 0, "l"], [25104, 0, "e"], [25105, 0, "f"], [25106, 0, "t"], [25107, 0, "1"], [25108, 0, ")"], [25109, 0, " "], [25110, 0, "a"], [25111, 0, "t"], [25112, 0, " "], [25113, 0, "("], [25114, 0, "0"], [25115, 0, ","], [25116, 0, "0"], [25117, 0, ")"], [25118, 0, " "], [25119, 0, "["], [25120, 0, "r"], [25121, 0, "e"], [25122, 0, "c"], [25123, 0, "t"], [25124, 0, "a"], [25125, 0, "n"], [25126, 0, "g"], [25127, 0, "l"], [25128, 0, "e"], [25129, 0, ","], [25130, 0, "d"], [25131, 0, "r"], [25132, 0, "a"], [25133, 0, "w"], [25134, 0, "]"], [25135, 0, " "], [25136, 0, "{"], [25137, 0, "\\"], [25138, 0, "{"], [25139, 0, "`"], [25140, 0, "`"], [25141, 0, "t"], [25142, 0, "e"], [25143, 0, "x"], [25144, 0, "t"], [25145, 0, "'"], [25146, 0, "'"], [25147, 0, ":"], [25148, 0, " "], [25149, 0, "["], [25150, 0, "z"], [25151, 0, "z"], [25151, 1], [25150, 1], [25150, 0, "`"], [25151, 0, "`"], [25152, 0, "h"], [25153, 0, "'"], [25154, 0, "'"], [25155, 0, ","], [25156, 0, " "], [25157, 0, "`"], [25158, 0, "`"], [25159, 0, "i"], [25160, 0, "'"], [25161, 0, "'"], [25162, 0, "]"], [25163, 0, "\\"], [25164, 0, "}"], [25165, 0, "]"], [25165, 1], [25165, 0, "]"], [25165, 1], [25165, 0, "}"], [25166, 0, ";"], [25152, 1], [25152, 0, "a"], [25159, 1], [25159, 0, "b"], [25162, 0, ","], [25163, 0, " "], [25164, 0, "`"], [25165, 0, "`"], [25166, 0, "c"], [25167, 0, "'"], [25168, 0, "'"], [29711, 1], [29710, 1], [29709, 1], [29708, 1], [29708, 0, "a"], [29709, 0, "t"], [29710, 0, "("], [29712, 0, "$"], [29713, 0, "n"], [29714, 0, "$"], [29715, 0, "\\"], [29716, 0, "t"], [29717, 0, "e"], [29718, 0, "x"], [29719, 0, "t"], [29720, 0, "t"], [29721, 0, "t"], [29722, 0, "{"], [29723, 0, ")"], [29724, 0, "}"], [29725, 0, " "], [29726, 0, "&"], [29727, 0, " "], [29728, 0, "$"], [29729, 0, "n"], [29730, 0, " "], [29731, 0, "/"], [29732, 0, "g"], [29733, 0, "e"], [29733, 1], [29732, 1], [29731, 1], [29731, 0, "\\"], [29732, 0, "g"], [29733, 0, "e"], [29734, 0, " "], [29735, 0, "0"], [29736, 0, "$"], [29769, 1], [29768, 1], [29767, 1], [29766, 1], [29765, 1], [29764, 1], [29763, 1], [29762, 1], [29761, 1], [29760, 1], [29759, 1], [29758, 1], [29757, 1], [29756, 1], [29755, 1], [29754, 1], [29753, 1], [29752, 1], [29751, 1], [29750, 1], [29749, 1], [29748, 1], [29747, 1], [29746, 1], [29745, 1], [29744, 1], [29743, 1], [29742, 1], [29741, 1], [29740, 1], [29620, 1], [29620, 0, "."], [29621, 0, "g"], [29622, 0, "e"], [29623, 0, "t"], [29624, 0, "("], [29713, 1], [29712, 1], [29712, 0, "i"], [29713, 0, "d"], [29714, 0, "x"], [29648, 1], [29648, 0, ")"], [30260, 1], [30259, 1], [30258, 1], [30257, 1], [30257, 0, "h"], [30258, 0, "e"], [30259, 0, "a"], [30260, 0, "d"], [30283, 1], [30282, 1], [30281, 1], [30280, 1], [30280, 0, "i"], [30281, 0, "d"], [30282, 0, "x"], [30283, 0, "("], [30284, 0, "0"], [30285, 0, ")"], [30267, 1], [30267, 0, "."], [30268, 0, "g"], [30269, 0, "e"], [30270, 0, "t"], [30271, 0, "("], [30282, 1], [30282, 0, ")"], [30295, 1], [30294, 1], [30293, 1], [30292, 1], [30292, 0, "h"], [30293, 0, "e"], [30294, 0, "a"], [30295, 0, "d"], [30332, 1], [30331, 1], [30330, 1], [30329, 1], [30328, 1], [30327, 1], [30326, 1], [30325, 1], [30324, 1], [30324, 0, "d"], [30325, 0, "o"], [30326, 0, "c"], [30327, 0, "."], [30328, 0, "g"], [30329, 0, "e"], [30330, 0, "t"], [30331, 0, "("], [30332, 0, "\""], [30333, 0, "s"], [30334, 0, "h"], [30335, 0, "o"], [30336, 0, "p"], [30337, 0, "p"], [30338, 0, "i"], [30339, 0, "n"], [30340, 0, "g"], [30341, 0, "\""], [30342, 0, ")"], [30343, 0, "."], [30344, 0, "i"], [30345, 0, "d"], [30346, 0, "x"], [30347, 0, "("], [30348, 0, "1"], [30349, 0, ")"], [30376, 1], [30375, 1], [30374, 1], [30373, 1], [30373, 0, "h"], [30374, 0, "e"], [30375, 0, "a"], [30376, 0, "d"], [37569, 1], [37568, 1], [37567, 1], [37567, 0, "d"], [37568, 0, "x"], [37558, 0, "$"], [37571, 0, "_"], [37572, 0, "1"], [37573, 0, "$"], [37909, 1], [37909, 0, "2"], [37906, 1], [37905, 1], [37904, 1], [37903, 1], [37903, 0, "I"], [37904, 0, "d"], [37905, 0, "x"], [38177, 1], [38176, 1], [38175, 1], [38174, 1], [38174, 0, "I"], [38175, 0, "d"], [38176, 0, "x"], [38179, 1], [38179, 0, "3"], [38608, 1], [38608, 0, "4"], [38605, 1], [38604, 1], [38603, 1], [38602, 1], [38602, 0, "I"], [38603, 0, "d"], [38604, 0, "x"], [38999, 1], [38998, 1], [38997, 1], [38996, 1], [38996, 0, "I"], [38997, 0, "d"], [38998, 0, "x"], [39001, 1], [39001, 0, "5"], [37620, 1], [37619, 1], [37618, 1], [37618, 0, "d"], [37619, 0, "x"], [37620, 0, "("], [37622, 0, "n"], [37623, 0, "\\"], [37624, 0, "m"], [37625, 0, "a"], [37626, 0, "t"], [37627, 0, "h"], [37628, 0, "s"], [37629, 0, "f"], [37630, 0, "{"], [37631, 0, ")"], [37632, 0, "}"], [37577, 1], [37577, 0, "B"], [37578, 0, "i"], [37546, 0, "\n"], [37547, 0, "\\"], [37548, 0, "A"], [37549, 0, "x"], [37550, 0, "i"], [37551, 0, "o"], [37552, 0, "m"], [37553, 0, "C"], [37554, 0, "{"], [37555, 0, "$"], [37556, 0, "A"], [37557, 0, "_"], [37558, 0, "p"], [37559, 0, ","], [37560, 0, "\\"], [37561, 0, ","], [37562, 0, " "], [37563, 0, "\\"], [37564, 0, "m"], [37565, 0, "a"], [37566, 0, "t"], [37567, 0, "h"], [37568, 0, "s"], [37569, 0, "f"], [37570, 0, "{"], [37571, 0, "c"], [37572, 0, "u"], [37573, 0, "r"], [37574, 0, "s"], [37575, 0, "o"], [37576, 0, "r"], [37577, 0, "}"], [37578, 0, "("], [37579, 0, "\\"], [37580, 0, "l"], [37581, 0, "a"], [37582, 0, "n"], [37583, 0, "g"], [37584, 0, "l"], [37585, 0, "e"], [37586, 0, " "], [37587, 0, "k"], [37588, 0, "_"], [37589, 0, "1"], [37590, 0, ","], [37591, 0, " "], [37592, 0, "\\"], [37593, 0, "d"], [37594, 0, "o"], [37595, 0, "t"], [37596, 0, "s"], [37597, 0, ","], [37598, 0, " "], [37599, 0, "k"], [37600, 0, "_"], [37601, 0, "{"], [37602, 0, "n"], [37603, 0, "-"], [37604, 0, "1"], [37605, 0, "}"], [37606, 0, ","], [37607, 0, " "], [37608, 0, "\\"], [37609, 0, "m"], [37610, 0, "a"], [37611, 0, "t"], [37612, 0, "h"], [37613, 0, "s"], [37614, 0, "f"], [37615, 0, "{"], [37616, 0, "l"], [37617, 0, "i"], [37618, 0, "s"], [37619, 0, "t"], [37620, 0, "T"], [37621, 0, "}"], [37622, 0, "("], [37623, 0, "k"], [37624, 0, "_"], [37625, 0, "n"], [37626, 0, ")"], [37627, 0, " "], [37628, 0, "\\"], [37629, 0, "r"], [37630, 0, "a"], [37631, 0, "n"], [37632, 0, "g"], [37633, 0, "l"], [37634, 0, "e"], [37635, 0, ","], [37636, 0, "\\"], [37637, 0, ","], [37638, 0, " "], [37639, 0, "\\"], [37640, 0, "m"], [37641, 0, "a"], [37642, 0, "t"], [37643, 0, "h"], [37644, 0, "s"], [37645, 0, "f"], [37646, 0, "{"], [37647, 0, "h"], [37648, 0, "e"], [37649, 0, "a"], [37650, 0, "d"], [37651, 0, "}"], [37652, 0, ")"], [37653, 0, "%"], [37653, 1], [37653, 0, "$"], [37654, 0, "}"], [37653, 0, " "], [37654, 0, "\\"], [37655, 0, "e"], [37656, 0, "v"], [37657, 0, "a"], [37658, 0, "l"], [37659, 0, "t"], [37660, 0, "o"], [37661, 0, " "], [37653, 1], [37653, 0, "\n"], [37654, 0, " "], [37655, 0, " "], [37656, 0, " "], [37657, 0, " "], [37666, 0, "\\"], [37667, 0, "m"], [37668, 0, "a"], [37669, 0, "t"], [37670, 0, "h"], [37671, 0, "i"], [37672, 0, "t"], [37673, 0, "{"], [37674, 0, "c"], [37675, 0, "u"], [37676, 0, "r"], [37677, 0, "}"], [37678, 0, "'"], [37653, 0, "."], [37654, 0, "\\"], [37655, 0, "m"], [37656, 0, "a"], [37657, 0, "t"], [37658, 0, "h"], [37659, 0, "s"], [37660, 0, "f"], [37661, 0, "{"], [37662, 0, "i"], [37663, 0, "d"], [37664, 0, "x"], [37665, 0, "("], [37666, 0, "}"], [37638, 0, "\n"], [37639, 0, " "], [37640, 0, " "], [37641, 0, " "], [37674, 1], [37673, 1], [37672, 1], [37671, 1], [37671, 0, "n"], [37672, 0, "\\"], [37673, 0, "m"], [37674, 0, "a"], [37675, 0, "t"], [37676, 0, "h"], [37677, 0, "s"], [37678, 0, "f"], [37679, 0, "{"], [37680, 0, "}"], [37680, 1], [37680, 0, ")"], [37681, 0, "}"], [37802, 0, " "], [37803, 0, "\\"], [37804, 0, "m"], [37805, 0, "a"], [37806, 0, "t"], [37807, 0, "h"], [37808, 0, "i"], [37809, 0, "t"], [37810, 0, "{"], [37811, 0, "c"], [37812, 0, "u"], [37813, 0, "r"], [37814, 0, "}"], [37815, 0, "'"], [37816, 0, "$"], [37817, 0, "}"], [37914, 1], [37913, 1], [37912, 1], [37911, 1], [37910, 1], [37909, 1], [37908, 1], [37907, 1], [37906, 1], [37905, 1], [37904, 1], [37903, 1], [37902, 1], [37901, 1], [37900, 1], [37899, 1], [37898, 1], [37897, 1], [37896, 1], [37895, 1], [37894, 1], [37893, 1], [37892, 1], [37891, 1], [37890, 1], [37889, 1], [37888, 1], [37887, 1], [37886, 1], [37885, 1], [37884, 1], [37883, 1], [37882, 1], [37881, 1], [37880, 1], [37879, 1], [37878, 1], [37877, 1], [37876, 1], [37875, 1], [37874, 1], [37873, 1], [37872, 1], [37871, 1], [37870, 1], [37869, 1], [37868, 1], [37867, 1], [37866, 1], [37865, 1], [37864, 1], [37863, 1], [37862, 1], [37861, 1], [37860, 1], [37859, 1], [37858, 1], [37857, 1], [37856, 1], [37855, 1], [37854, 1], [37853, 1], [37852, 1], [37851, 1], [37850, 1], [37849, 1], [37848, 1], [37847, 1], [37846, 1], [37845, 1], [37844, 1], [37843, 1], [37842, 1], [37841, 1], [37840, 1], [37839, 1], [37838, 1], [37837, 1], [37836, 1], [37835, 1], [37834, 1], [37833, 1], [37832, 1], [37831, 1], [37830, 1], [37829, 1], [37828, 1], [37827, 1], [37826, 1], [37825, 1], [37824, 1], [37823, 1], [37822, 1], [37821, 1], [37820, 1], [37819, 1], [37818, 1], [38048, 1], [38047, 1], [38046, 1], [38045, 1], [38045, 0, "i"], [38046, 0, "d"], [38047, 0, "x"], [38048, 0, "("], [38050, 0, "n"], [38051, 0, "\\"], [38052, 0, "m"], [38053, 0, "a"], [38054, 0, "t"], [38055, 0, "h"], [38056, 0, "s"], [38057, 0, "f"], [38058, 0, "{"], [38059, 0, ")"], [38060, 0, "}"], [38018, 1], [38017, 1], [38016, 1], [38016, 0, "\\"], [38017, 0, "a"], [38018, 0, "t"], [38018, 1], [38017, 1], [38017, 0, "m"], [38018, 0, "a"], [38019, 0, "t"], [38020, 0, "h"], [38021, 0, "i"], [38022, 0, "t"], [38023, 0, "{"], [38024, 0, "c"], [38025, 0, "t"], [38026, 0, "x"], [38027, 0, "}"], [38038, 1], [38037, 1], [38037, 0, "s"], [38038, 0, "f"], [38043, 1], [38042, 1], [38041, 1], [38040, 1], [38040, 0, "c"], [38041, 0, "u"], [38042, 0, "r"], [38043, 0, "s"], [38044, 0, "o"], [38045, 0, "r"], [37781, 1], [37782, 0, "("], [37784, 0, ")"], [37785, 1], [37785, 1], [37785, 1], [37785, 1], [37785, 1], [37785, 1], [37785, 1], [37785, 1], [37785, 1], [37785, 1], [37785, 1], [37785, 0, " "], [37681, 1], [37678, 1], [37678, 1], [37677, 1], [37676, 1], [37675, 1], [37674, 1], [37673, 1], [37672, 1], [37670, 1], [37669, 0, "}"], [37282, 1], [37281, 1], [37281, 0, "s"], [37282, 0, "f"], [37284, 1], [37284, 0, "g"], [37285, 0, "e"], [37286, 0, "t"], [37288, 0, "("], [37301, 0, ")"], [37302, 1], [37302, 1], [37302, 1], [37302, 1], [37302, 1], [37302, 1], [37302, 1], [37302, 1], [37302, 1], [37302, 1], [38023, 0, "("], [38024, 0, "\\"], [38025, 0, "l"], [38026, 0, "a"], [38027, 0, "n"], [38028, 0, "g"], [38029, 0, "l"], [38030, 0, "e"], [38031, 0, "\\"], [38032, 0, "r"], [38033, 0, "a"], [38034, 0, "n"], [38035, 0, "g"], [38036, 0, "l"], [38037, 0, "e"], [38038, 0, ","], [38039, 0, "\\"], [38040, 0, ","], [38041, 0, " "], [38042, 0, "k"], [38043, 0, ")"], [38056, 1], [38057, 0, "("], [38058, 1], [38058, 0, "0"], [38056, 0, "("], [38057, 0, "0"], [38058, 0, ")"], [38060, 1], [38060, 1], [38060, 1], [38060, 1], [38060, 1], [38060, 1], [38060, 1], [38060, 1], [38060, 1], [38060, 1], [38060, 1], [38060, 1], [38058, 1], [38057, 1], [38056, 1], [38057, 0, "("], [38058, 0, "0"], [38059, 0, ")"], [38058, 1], [38058, 0, "n"], [37948, 1], [37947, 1], [37946, 1], [37945, 1], [37944, 1], [37943, 1], [37942, 1], [37941, 1], [37940, 1], [37939, 1], [37938, 1], [37937, 1], [37936, 1], [37935, 1], [37934, 1], [37933, 1], [37932, 1], [37931, 1], [37930, 1], [37929, 1], [37928, 1], [37927, 1], [37926, 1], [37925, 1], [37924, 1], [37923, 1], [37922, 1], [37921, 1], [37920, 1], [37919, 1], [37918, 1], [37917, 1], [37916, 1], [37915, 1], [37914, 1], [37913, 1], [37912, 1], [37911, 1], [37910, 1], [37909, 1], [37908, 1], [37907, 1], [37906, 1], [37905, 1], [37904, 1], [37903, 1], [37902, 1], [37901, 1], [37900, 1], [37899, 1], [37898, 1], [37897, 1], [37896, 1], [37895, 1], [37894, 1], [37893, 1], [37892, 1], [37891, 1], [37890, 1], [37889, 1], [37888, 1], [37887, 1], [37886, 1], [37885, 1], [37884, 1], [37883, 1], [37882, 1], [37879, 1], [37878, 1], [37877, 1], [37876, 1], [37875, 1], [37874, 1], [37873, 1], [37872, 1], [37871, 1], [37870, 1], [37869, 1], [37868, 1], [37867, 1], [37866, 1], [37865, 1], [37864, 1], [37863, 1], [37862, 1], [37861, 1], [37860, 1], [37859, 1], [37858, 1], [37857, 1], [37856, 1], [37855, 1], [37854, 1], [37853, 1], [37852, 1], [37851, 1], [37850, 1], [37849, 1], [37848, 1], [37847, 1], [37846, 1], [37845, 1], [37844, 1], [37843, 1], [37842, 1], [37841, 1], [37840, 1], [37839, 1], [37839, 0, "n"], [37840, 0, "="], [37841, 0, "0"], [37963, 1], [37963, 0, "\n"], [37964, 0, " "], [37965, 0, " "], [37966, 0, " "], [37967, 0, " "], [37974, 1], [37973, 1], [37973, 0, "s"], [37974, 0, "f"], [37979, 0, "s"], [37980, 0, "o"], [37981, 0, "r"], [37983, 1], [37983, 0, "("], [37984, 0, "\\"], [37985, 0, "l"], [37986, 0, "a"], [37987, 0, "n"], [37988, 0, "g"], [37989, 0, "l"], [37990, 0, "e"], [37991, 0, "\\"], [37992, 0, "r"], [37993, 0, "a"], [37994, 0, "n"], [37995, 0, "g"], [37996, 0, "l"], [37997, 0, "e"], [37998, 0, ","], [37999, 0, "\\"], [38000, 0, ","], [38001, 0, " "], [38002, 0, "k"], [38003, 0, ")"], [38041, 0, "\n"], [38042, 0, "\\"], [38043, 0, "A"], [38044, 0, "x"], [38045, 0, "i"], [38046, 0, "o"], [38047, 0, "m"], [38048, 0, "C"], [38049, 0, "{"], [38050, 0, "$"], [38051, 0, "\\"], [38052, 0, "m"], [38053, 0, "a"], [38054, 0, "t"], [38055, 0, "h"], [38056, 0, "i"], [38057, 0, "t"], [38058, 0, "{"], [38058, 1], [38057, 1], [38056, 1], [38055, 1], [38054, 1], [38053, 1], [38052, 1], [38051, 1], [38051, 0, "n"], [38052, 0, ">"], [38053, 0, "0"], [38054, 0, "$"], [38055, 0, "}"], [38298, 1], [38297, 1], [38296, 1], [38295, 1], [38295, 0, "i"], [38296, 0, "d"], [38297, 0, "x"], [38299, 0, "("], [38300, 0, "n"], [38301, 0, ")"], [38191, 0, "\n"], [38066, 0, "n"], [38067, 0, ">"], [38068, 0, "0"], [38069, 0, " "], [38070, 0, ","], [38070, 1], [38070, 0, "\\"], [38071, 0, ","], [38072, 0, "\n"], [38072, 1], [38072, 0, "\\"], [38073, 0, "w"], [38074, 0, "e"], [38075, 0, "d"], [38076, 0, "g"], [38077, 0, "e"], [38078, 0, "\\"], [38079, 0, ","], [38080, 0, " "], [38055, 1], [38054, 1], [38053, 1], [38052, 1], [38051, 1], [38050, 1], [38049, 1], [38048, 1], [38047, 1], [38046, 1], [38045, 1], [38044, 1], [38043, 1], [38042, 1], [38041, 1], [38192, 0, "\\"], [38193, 0, "A"], [38194, 0, "x"], [38226, 1], [38226, 0, "R"], [38226, 1], [38226, 0, "T"], [38227, 0, "r"], [38195, 0, "i"], [38196, 0, "o"], [38197, 0, "m"], [38198, 0, "C"], [38199, 0, "{"], [38200, 0, "$"], [38201, 0, "\\"], [38202, 0, "m"], [38203, 0, "a"], [38204, 0, "t"], [38205, 0, "h"], [38206, 0, "i"], [38207, 0, "t"], [38208, 0, "{"], [38209, 0, "c"], [38210, 0, "t"], [38211, 0, "x"], [38212, 0, "}"], [38213, 0, ","], [38214, 0, "\\"], [38215, 0, ","], [38216, 0, " "], [38217, 0, "\\"], [38218, 0, "m"], [38219, 0, "a"], [38220, 0, "t"], [38221, 0, "h"], [38222, 0, "s"], [38223, 0, "f"], [38224, 0, "{"], [38225, 0, "c"], [38226, 0, "u"], [38227, 0, "r"], [38228, 0, "s"], [38229, 0, "o"], [38230, 0, "r"], [38231, 0, "}"], [38352, 0, " "], [38353, 0, "\\"], [38354, 0, "m"], [38355, 0, "a"], [38356, 0, "t"], [38357, 0, "h"], [38358, 0, "i"], [38359, 0, "t"], [38360, 0, "{"], [38361, 0, "c"], [38362, 0, "t"], [38363, 0, "x"], [38364, 0, "}"], [38365, 0, "'"], [38366, 0, "$"], [38367, 0, "}"], [38232, 0, "("], [38233, 0, "\\"], [38234, 0, "l"], [38235, 0, "a"], [38236, 0, "n"], [38237, 0, "g"], [38238, 0, "l"], [38239, 0, "e"], [38240, 0, "\\"], [38241, 0, "r"], [38242, 0, "a"], [38243, 0, "n"], [38244, 0, "g"], [38245, 0, "l"], [38246, 0, "e"], [38247, 0, ","], [38248, 0, "\\"], [38249, 0, ","], [38250, 0, " "], [38251, 0, "k"], [38252, 0, "'"], [38253, 0, ")"], [38254, 0, "."], [38255, 0, "\\"], [38256, 0, "m"], [38257, 0, "a"], [38258, 0, "t"], [38259, 0, "h"], [38260, 0, "s"], [38261, 0, "f"], [38262, 0, "{"], [38263, 0, "i"], [38264, 0, "d"], [38265, 0, "x"], [38266, 0, "}"], [38267, 0, "("], [38268, 0, "n"], [38269, 0, "-"], [38270, 0, "1"], [38271, 0, ")"], [38272, 0, " "], [38273, 0, "\\"], [38274, 0, "e"], [38275, 0, "v"], [38276, 0, "a"], [38277, 0, "l"], [38278, 0, "t"], [38279, 0, "o"], [38280, 0, " "], [38281, 0, "\\"], [38282, 0, "m"], [38283, 0, "a"], [38284, 0, "t"], [38285, 0, "h"], [38286, 0, "i"], [38287, 0, "t"], [38288, 0, "{"], [38289, 0, "c"], [38290, 0, "t"], [38291, 0, "x"], [38292, 0, "}"], [38293, 0, "'"], [38294, 0, "$"], [38295, 0, "}"], [38475, 1], [38474, 1], [38473, 1], [38472, 1], [38471, 1], [38470, 1], [38469, 1], [38468, 1], [38467, 1], [38466, 1], [38465, 1], [38464, 1], [38463, 1], [38462, 1], [38461, 1], [38460, 1], [38459, 1], [38458, 1], [38457, 1], [38456, 1], [38455, 1], [38454, 1], [38453, 1], [38452, 1], [38451, 1], [38450, 1], [38449, 1], [38448, 1], [38447, 1], [38446, 1], [38445, 1], [38444, 1], [38443, 1], [38442, 1], [38441, 1], [38440, 1], [38439, 1], [38438, 1], [38437, 1], [38436, 1], [38435, 1], [38434, 1], [38433, 1], [38432, 1], [37875, 1], [37875, 1], [37875, 0, "U"], [37280, 1], [37279, 1], [37278, 1], [37277, 1], [37277, 0, "m"], [37278, 0, "a"], [37279, 0, "t"], [37280, 0, "h"], [38476, 0, "n"], [38477, 0, ">"], [38478, 0, "0"], [38479, 0, " "], [38480, 0, "\\"], [38481, 0, ","], [38482, 0, "\\"], [38483, 0, "w"], [38484, 0, "e"], [38485, 0, "d"], [38486, 0, "g"], [38487, 0, "e"], [38488, 0, "\\"], [38489, 0, ","], [38490, 0, " "], [38687, 1], [38686, 1], [38685, 1], [38684, 1], [38684, 0, "i"], [38685, 0, "d"], [38686, 0, "x"], [38688, 0, "("], [38689, 0, "n"], [38690, 0, "-"], [38690, 1], [38690, 0, ")"], [38823, 1], [38822, 1], [38821, 1], [38820, 1], [38820, 0, "i"], [38821, 0, "d"], [38822, 0, "x"], [38824, 0, "("], [38825, 0, "n"], [38826, 0, ")"], [39034, 1], [39033, 1], [39032, 1], [39031, 1], [39031, 0, "i"], [39032, 0, "d"], [39033, 0, "x"], [39035, 0, "("], [39036, 0, "n"], [39037, 0, ")"], [39248, 1], [39247, 1], [39246, 1], [39245, 1], [39245, 0, "i"], [39246, 0, "d"], [39247, 0, "x"], [39249, 0, "("], [39250, 0, "n"], [39251, 0, ")"], [39250, 1], [39250, 0, "i"], [39036, 1], [39036, 0, "i"], [38825, 1], [38825, 0, "i"], [38689, 1], [38689, 0, "i"], [38405, 1], [38405, 0, "i"], [38267, 1], [38267, 0, "i"], [38476, 1], [38476, 0, "i"], [38050, 1], [38050, 0, "i"], [37952, 1], [37952, 0, "i"], [37839, 1], [37839, 0, "i"], [37768, 1], [37768, 0, "i"], [37665, 1], [37665, 0, "i"], [29718, 1], [29718, 0, "i"], [29734, 1], [29734, 0, "i"], [37810, 0, "\n"], [37811, 0, "\n"], [37812, 0, "\\"], [37813, 0, "b"], [37814, 0, "e"], [37815, 0, "g"], [37816, 0, "i"], [37817, 0, "n"], [37818, 0, "{"], [37819, 0, "p"], [37820, 0, "r"], [37821, 0, "o"], [37822, 0, "o"], [37823, 0, "f"], [37824, 0, "t"], [37825, 0, "r"], [37826, 0, "e"], [37827, 0, "e"], [37828, 0, "}"], [37829, 0, "\n"], [37830, 0, "\\"], [37831, 0, "e"], [37832, 0, "n"], [37833, 0, "d"], [37834, 0, "{"], [37835, 0, "p"], [37836, 0, "r"], [37837, 0, "o"], [37838, 0, "o"], [37839, 0, "f"], [37840, 0, "t"], [37841, 0, "r"], [37842, 0, "e"], [37843, 0, "e"], [37844, 0, "}"], [37829, 0, "\n"], [37830, 0, "\\"], [37831, 0, "A"], [37832, 0, "x"], [37833, 0, "i"], [37834, 0, "o"], [37835, 0, "m"], [37836, 0, "C"], [37837, 0, "{"], [37838, 0, "$"], [37839, 0, "k"], [37840, 0, "_"], [37841, 0, "1"], [37842, 0, " "], [37843, 0, "\\"], [37844, 0, "i"], [37845, 0, "n"], [37846, 0, " "], [37847, 0, "\\"], [37848, 0, "m"], [37849, 0, "a"], [37850, 0, "t"], [37851, 0, "h"], [37852, 0, "r"], [37853, 0, "m"], [37854, 0, "{"], [37855, 0, "d"], [37856, 0, "o"], [37857, 0, "m"], [37858, 0, "}"], [37859, 0, "("], [37860, 0, "\\"], [37861, 0, "m"], [37862, 0, "a"], [37863, 0, "t"], [37864, 0, "h"], [37865, 0, "i"], [37866, 0, "t"], [37867, 0, "{"], [37868, 0, "c"], [37869, 0, "t"], [37870, 0, "x"], [37871, 0, "}"], [37872, 0, ")"], [37873, 0, "$"], [37874, 0, "}"], [37875, 0, "\n"], [37876, 0, "\\"], [37877, 0, "A"], [37878, 0, "x"], [37879, 0, "i"], [37880, 0, "o"], [37881, 0, "m"], [37882, 0, "C"], [37883, 0, "{"], [37884, 0, "$"], [37885, 0, "\\"], [37886, 0, "m"], [37887, 0, "a"], [37888, 0, "t"], [37889, 0, "h"], [37890, 0, "i"], [37891, 0, "t"], [37892, 0, "{"], [37893, 0, "c"], [37894, 0, "t"], [37895, 0, "x"], [37896, 0, "}"], [37897, 0, "("], [37898, 0, "k"], [37899, 0, "_"], [37900, 0, "1"], [37901, 0, ")"], [37902, 0, ","], [37903, 0, "\\"], [37904, 0, ","], [37905, 0, " "], [37906, 0, "\\"], [37907, 0, "m"], [37908, 0, "a"], [37909, 0, "t"], [37910, 0, "h"], [37911, 0, "s"], [37912, 0, "f"], [37913, 0, "{"], [37914, 0, "c"], [37915, 0, "u"], [37916, 0, "r"], [37917, 0, "s"], [37918, 0, "o"], [37919, 0, "r"], [37920, 0, "}"], [37921, 0, "("], [37922, 0, "\\"], [37923, 0, "l"], [37924, 0, "a"], [37925, 0, "n"], [37926, 0, "g"], [37927, 0, "l"], [37928, 0, "e"], [37929, 0, " "], [37930, 0, "k"], [37931, 0, "_"], [37932, 0, "2"], [37933, 0, ","], [37934, 0, " "], [37935, 0, "\\"], [37936, 0, "d"], [37937, 0, "o"], [37938, 0, "t"], [37939, 0, "s"], [37940, 0, ","], [37941, 0, " "], [37942, 0, "k"], [37943, 0, "_"], [37944, 0, "{"], [37945, 0, "n"], [37946, 0, "-"], [37947, 0, "1"], [37948, 0, "}"], [37949, 0, " "], [37950, 0, "\\"], [37951, 0, "r"], [37952, 0, "a"], [37953, 0, "n"], [37954, 0, "g"], [37955, 0, "l"], [37956, 0, "e"], [37957, 0, ","], [37958, 0, "\\"], [37959, 0, ","], [37960, 0, " "], [37961, 0, "k"], [37962, 0, "_"], [37963, 0, "n"], [37964, 0, ")"], [37965, 0, "."], [37966, 0, "\\"], [37967, 0, "m"], [37968, 0, "a"], [37969, 0, "t"], [37970, 0, "h"], [37971, 0, "s"], [37972, 0, "f"], [37973, 0, "{"], [37974, 0, "i"], [37975, 0, "d"], [37976, 0, "x"], [37977, 0, "}"], [37978, 0, "("], [37979, 0, "i"], [37980, 0, ")"], [37981, 0, "\n"], [37982, 0, " "], [37983, 0, " "], [37984, 0, " "], [37985, 0, " "], [37986, 0, "\\"], [37987, 0, "e"], [37988, 0, "v"], [37989, 0, "a"], [37990, 0, "l"], [37991, 0, "t"], [37992, 0, "o"], [37993, 0, " "], [37994, 0, "\\"], [37995, 0, "m"], [37996, 0, "a"], [37997, 0, "t"], [37998, 0, "h"], [37999, 0, "s"], [38000, 0, "f"], [38001, 0, "{"], [38002, 0, "c"], [38003, 0, "u"], [38004, 0, "r"], [38005, 0, "s"], [38006, 0, "o"], [38007, 0, "r"], [38008, 0, "}"], [38009, 0, "("], [38010, 0, "\\"], [38011, 0, "l"], [38012, 0, "a"], [38013, 0, "n"], [38014, 0, "g"], [38015, 0, "l"], [38016, 0, "e"], [38017, 0, " "], [38018, 0, "k"], [38019, 0, "_"], [38020, 0, "2"], [38021, 0, ","], [38022, 0, " "], [38023, 0, "\\"], [38024, 0, "d"], [38025, 0, "o"], [38026, 0, "t"], [38027, 0, "s"], [38028, 0, ","], [38029, 0, " "], [38030, 0, "k"], [38031, 0, "_"], [38032, 0, "{"], [38033, 0, "n"], [38034, 0, "-"], [38035, 0, "1"], [38036, 0, "}"], [38037, 0, " "], [38038, 0, "\\"], [38039, 0, "r"], [38040, 0, "a"], [38041, 0, "n"], [38042, 0, "g"], [38043, 0, "l"], [38044, 0, "e"], [38045, 0, ","], [38046, 0, "\\"], [38047, 0, ","], [38048, 0, " "], [38049, 0, "k"], [38050, 0, "_"], [38051, 0, "n"], [38052, 0, "'"], [38053, 0, ")"], [38054, 0, "$"], [38055, 0, "}"], [38056, 0, "\n"], [38057, 0, "\\"], [38058, 0, "L"], [38059, 0, "e"], [38060, 0, "f"], [38061, 0, "t"], [38062, 0, "L"], [38063, 0, "a"], [38064, 0, "b"], [38065, 0, "e"], [38066, 0, "l"], [38067, 0, "{"], [38068, 0, "$"], [38069, 0, "\\"], [38070, 0, "t"], [38071, 0, "e"], [38072, 0, "x"], [38073, 0, "t"], [38074, 0, "s"], [38075, 0, "c"], [38076, 0, "{"], [38077, 0, "I"], [38078, 0, "d"], [38079, 0, "x"], [38080, 0, "}"], [38081, 0, "_"], [38082, 0, "2"], [38083, 0, "$"], [38084, 0, "\\"], [38084, 1], [38084, 0, "}"], [38085, 0, "\n"], [38086, 0, "\\"], [38087, 0, "B"], [38088, 0, "i"], [38089, 0, "n"], [38090, 0, "a"], [38091, 0, "r"], [38092, 0, "y"], [38093, 0, "I"], [38094, 0, "n"], [38095, 0, "f"], [38096, 0, "C"], [38097, 0, "{"], [38098, 0, "$"], [38099, 0, "\\"], [38100, 0, "m"], [38101, 0, "a"], [38102, 0, "t"], [38103, 0, "h"], [38104, 0, "i"], [38105, 0, "t"], [38106, 0, "{"], [38107, 0, "c"], [38108, 0, "t"], [38109, 0, "x"], [38110, 0, "}"], [38111, 0, ","], [38112, 0, "\\"], [38113, 0, ","], [38114, 0, " "], [38115, 0, "\\"], [38116, 0, "a"], [38117, 0, "t"], [38117, 1], [38116, 1], [38116, 0, "m"], [38117, 0, "a"], [38118, 0, "t"], [38119, 0, "h"], [38120, 0, "s"], [38121, 0, "f"], [38122, 0, "{"], [38123, 0, "c"], [38124, 0, "u"], [38125, 0, "r"], [38126, 0, "s"], [38127, 0, "o"], [38128, 0, "r"], [38129, 0, "}"], [38130, 0, "("], [38131, 0, "\\"], [38132, 0, "l"], [38133, 0, "a"], [38134, 0, "n"], [38135, 0, "g"], [38136, 0, "l"], [38137, 0, "e"], [38138, 0, " "], [38139, 0, "k"], [38140, 0, "1"], [38140, 1], [38140, 0, "_"], [38141, 0, "1"], [38142, 0, ","], [38143, 0, " "], [38144, 0, "k"], [38145, 0, "_"], [38146, 0, "2"], [38147, 0, ","], [38148, 0, " "], [38149, 0, "\\"], [38150, 0, "d"], [38151, 0, "o"], [38152, 0, "t"], [38153, 0, "s"], [38154, 0, ","], [38155, 0, " "], [38156, 0, "k"], [38157, 0, "_"], [38158, 0, "n"], [38159, 0, "-"], [38160, 0, "1"], [38160, 1], [38159, 1], [38158, 1], [38158, 0, "{"], [38159, 0, "n"], [38160, 0, "-"], [38161, 0, "1"], [38162, 0, "}"], [38163, 0, " "], [38164, 0, "\\"], [38165, 0, "r"], [38166, 0, "a"], [38167, 0, "n"], [38168, 0, "g"], [38169, 0, "l"], [38170, 0, "e"], [38171, 0, ","], [38172, 0, "\\"], [38173, 0, ","], [38174, 0, " "], [38175, 0, "k"], [38176, 0, "_"], [38177, 0, "n"], [38178, 0, ")"], [38179, 0, "\\"], [38179, 1], [38179, 0, "."], [38180, 0, "\\"], [38181, 0, "m"], [38182, 0, "a"], [38183, 0, "t"], [38184, 0, "h"], [38185, 0, "s"], [38186, 0, "f"], [38187, 0, "{"], [38188, 0, "i"], [38189, 0, "d"], [38190, 0, "x"], [38191, 0, "}"], [38192, 0, "("], [38193, 0, "i"], [38194, 0, ")"], [38195, 0, "\n"], [38196, 0, " "], [38197, 0, " "], [38198, 0, " "], [38199, 0, " "], [38200, 0, "\\"], [38201, 0, "e"], [38202, 0, "v"], [38203, 0, "a"], [38204, 0, "l"], [38205, 0, "t"], [38206, 0, "o"], [38207, 0, " "], [38208, 0, "\\"], [38209, 0, "m"], [38210, 0, "a"], [38211, 0, "t"], [38212, 0, "h"], [38213, 0, "s"], [38214, 0, "f"], [38215, 0, "{"], [38216, 0, "c"], [38217, 0, "u"], [38218, 0, "r"], [38219, 0, "s"], [38220, 0, "o"], [38221, 0, "r"], [38222, 0, "}"], [38223, 0, " "], [38223, 1], [38223, 0, "("], [38224, 0, "\\"], [38225, 0, "l"], [38226, 0, "a"], [38227, 0, "n"], [38228, 0, "g"], [38229, 0, "l"], [38230, 0, "e"], [38231, 0, " "], [38232, 0, "k"], [38233, 0, "_"], [38234, 0, "1"], [38235, 0, ","], [38236, 0, " "], [38237, 0, "k"], [38238, 0, "_"], [38239, 0, "2"], [38240, 0, ","], [38241, 0, " "], [38242, 0, "\\"], [38243, 0, "d"], [38244, 0, "o"], [38245, 0, "t"], [38246, 0, "s"], [38247, 0, ","], [38248, 0, " "], [38249, 0, "k"], [38250, 0, "_"], [38251, 0, "{"], [38252, 0, "n"], [38253, 0, "-"], [38254, 0, "1"], [38255, 0, "}"], [38256, 0, " "], [38257, 0, "\\"], [38258, 0, "r"], [38259, 0, "a"], [38260, 0, "n"], [38261, 0, "g"], [38262, 0, "l"], [38263, 0, "e"], [38264, 0, ","], [38265, 0, "\\"], [38266, 0, ","], [38267, 0, " "], [38268, 0, "k"], [38269, 0, "_"], [38270, 0, "n"], [38271, 0, "'"], [38272, 0, ")"], [38273, 0, "$"], [38274, 0, "}"], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39350, 1], [39348, 0, "\n"], [39349, 0, "\n"], [39350, 0, "\\"], [39351, 0, "b"], [39352, 0, "e"], [39353, 0, "g"], [39354, 0, "i"], [39355, 0, "n"], [39356, 0, "{"], [39357, 0, "p"], [39358, 0, "r"], [39359, 0, "o"], [39360, 0, "o"], [39361, 0, "f"], [39362, 0, "t"], [39363, 0, "r"], [39364, 0, "e"], [39365, 0, "e"], [39366, 0, "}"], [39367, 0, "\n"], [39368, 0, "\\"], [39369, 0, "A"], [39370, 0, "x"], [39371, 0, "i"], [39372, 0, "o"], [39373, 0, "m"], [39374, 0, "C"], [39375, 0, "{"], [39376, 0, "$"], [39377, 0, "i"], [39378, 0, "="], [39379, 0, "0"], [39380, 0, "$"], [39381, 0, "}"], [39382, 0, "\n"], [39383, 0, "\\"], [39384, 0, "L"], [39385, 0, "e"], [39386, 0, "f"], [39387, 0, "t"], [39388, 0, "L"], [39389, 0, "a"], [39390, 0, "b"], [39391, 0, "e"], [39392, 0, "l"], [39393, 0, "{"], [39394, 0, "$"], [39395, 0, "\\"], [39396, 0, "t"], [39397, 0, "e"], [39398, 0, "x"], [39399, 0, "t"], [39400, 0, "s"], [39401, 0, "c"], [39402, 0, "{"], [39403, 0, "I"], [39404, 0, "d"], [39405, 0, "x"], [39406, 0, "}"], [39407, 0, "_"], [39408, 0, "5"], [39409, 0, "$"], [39410, 0, "}"], [39411, 0, "\n"], [39412, 0, "\\"], [39413, 0, "U"], [39414, 0, "n"], [39415, 0, "a"], [39416, 0, "r"], [39417, 0, "y"], [39418, 0, "I"], [39419, 0, "n"], [39420, 0, "f"], [39421, 0, "C"], [39422, 0, "{"], [39423, 0, "$"], [39424, 0, "\\"], [39425, 0, "m"], [39426, 0, "a"], [39427, 0, "t"], [39428, 0, "h"], [39429, 0, "i"], [39430, 0, "t"], [39431, 0, "{"], [39432, 0, "c"], [39433, 0, "t"], [39434, 0, "x"], [39435, 0, "}"], [39436, 0, ","], [39437, 0, "\\"], [39438, 0, ","], [39439, 0, " "], [39440, 0, "\\"], [39441, 0, "m"], [39442, 0, "a"], [39443, 0, "t"], [39444, 0, "h"], [39445, 0, "s"], [39446, 0, "f"], [39447, 0, "{"], [39448, 0, "c"], [39449, 0, "u"], [39450, 0, "r"], [39451, 0, "s"], [39452, 0, "o"], [39453, 0, "r"], [39454, 0, "}"], [39455, 0, "("], [39456, 0, "\\"], [39457, 0, "l"], [39458, 0, "a"], [39459, 0, "n"], [39460, 0, "g"], [39461, 0, "l"], [39462, 0, "e"], [39463, 0, "\\"], [39464, 0, "r"], [39465, 0, "a"], [39466, 0, "n"], [39467, 0, "g"], [39468, 0, "l"], [39469, 0, "e"], [39470, 0, ","], [39471, 0, "\\"], [39472, 0, ","], [39473, 0, " "], [39474, 0, "k"], [39475, 0, ")"], [39476, 0, "."], [39477, 0, "\\"], [39478, 0, "m"], [39479, 0, "a"], [39480, 0, "t"], [39481, 0, "h"], [39482, 0, "s"], [39483, 0, "f"], [39484, 0, "{"], [39485, 0, "i"], [39486, 0, "d"], [39487, 0, "x"], [39488, 0, "}"], [39489, 0, "("], [39490, 0, "i"], [39491, 0, ")"], [39492, 0, " "], [39493, 0, "\\"], [39494, 0, "e"], [39495, 0, "v"], [39496, 0, "a"], [39497, 0, "l"], [39498, 0, "t"], [39499, 0, "o"], [39500, 0, "\n"], [39501, 0, " "], [39502, 0, " "], [39503, 0, " "], [39504, 0, " "], [39505, 0, "\\"], [39506, 0, "m"], [39507, 0, "a"], [39508, 0, "t"], [39509, 0, "h"], [39510, 0, "s"], [39511, 0, "f"], [39512, 0, "{"], [39513, 0, "c"], [39514, 0, "u"], [39515, 0, "r"], [39516, 0, "s"], [39517, 0, "o"], [39518, 0, "r"], [39519, 0, "}"], [39520, 0, "("], [39521, 0, "\\"], [39522, 0, "l"], [39523, 0, "a"], [39524, 0, "n"], [39525, 0, "g"], [39526, 0, "l"], [39527, 0, "e"], [39528, 0, "\\"], [39529, 0, "r"], [39530, 0, "a"], [39531, 0, "n"], [39532, 0, "g"], [39533, 0, "l"], [39534, 0, "e"], [39535, 0, ","], [39536, 0, "\\"], [39537, 0, ","], [39538, 0, " "], [39539, 0, "k"], [39540, 0, ")"], [39541, 0, "$"], [39542, 0, "}"], [39543, 0, "\n"], [39544, 0, "\\"], [39545, 0, "e"], [39546, 0, "n"], [39547, 0, "d"], [39548, 0, "{"], [39549, 0, "p"], [39550, 0, "r"], [39551, 0, "o"], [39552, 0, "o"], [39553, 0, "f"], [39554, 0, "t"], [39555, 0, "r"], [39556, 0, "e"], [39557, 0, "e"], [39558, 0, "}"], [38501, 1], [38500, 1], [38499, 1], [38498, 1], [38497, 1], [38496, 1], [38495, 1], [38494, 1], [38493, 1], [38492, 1], [38491, 1], [38490, 1], [38489, 1], [38488, 1], [38487, 1], [38486, 1], [38485, 1], [38484, 1], [38483, 1], [38482, 1], [38481, 1], [38480, 1], [38479, 1], [38478, 1], [38477, 1], [38476, 1], [38475, 1], [38474, 1], [38473, 1], [38472, 1], [38471, 1], [38470, 1], [38469, 1], [38468, 1], [38467, 1], [38466, 1], [38465, 1], [38464, 1], [38463, 1], [38462, 1], [38461, 1], [38460, 1], [38459, 1], [38458, 1], [38457, 1], [38456, 1], [38455, 1], [38454, 1], [38453, 1], [38452, 1], [38451, 1], [38450, 1], [38449, 1], [38448, 1], [38447, 1], [38446, 1], [38445, 1], [38444, 1], [38443, 1], [38442, 1], [38441, 1], [38440, 1], [38439, 1], [38438, 1], [38437, 1], [38436, 1], [38435, 1], [38434, 1], [38433, 1], [38432, 1], [38431, 1], [38430, 1], [38429, 1], [38428, 1], [38427, 1], [38426, 1], [38425, 1], [38424, 1], [38423, 1], [38422, 1], [38421, 1], [38420, 1], [38419, 1], [38418, 1], [38417, 1], [38416, 1], [38415, 1], [38414, 1], [38413, 1], [38412, 1], [38411, 1], [38410, 1], [38409, 1], [38408, 1], [38407, 1], [38406, 1], [38405, 1], [38404, 1], [38403, 1], [38402, 1], [38401, 1], [38400, 1], [38399, 1], [38398, 1], [38397, 1], [38396, 1], [38395, 1], [38394, 1], [38393, 1], [38392, 1], [38391, 1], [38390, 1], [38389, 1], [38388, 1], [38387, 1], [38386, 1], [38385, 1], [38384, 1], [38383, 1], [38382, 1], [38381, 1], [38380, 1], [38379, 1], [38378, 1], [38377, 1], [38376, 1], [38375, 1], [38374, 1], [38373, 1], [38372, 1], [38371, 1], [38370, 1], [38369, 1], [38368, 1], [38367, 1], [38366, 1], [38365, 1], [38364, 1], [38363, 1], [38362, 1], [38361, 1], [38360, 1], [38359, 1], [38358, 1], [38357, 1], [38356, 1], [38355, 1], [38354, 1], [38353, 1], [38352, 1], [38351, 1], [38350, 1], [38349, 1], [38348, 1], [38347, 1], [38346, 1], [38345, 1], [38344, 1], [38343, 1], [38342, 1], [38341, 1], [38340, 1], [38339, 1], [38338, 1], [38337, 1], [38336, 1], [38335, 1], [38334, 1], [38333, 1], [38332, 1], [38331, 1], [38330, 1], [38329, 1], [38328, 1], [38327, 1], [38326, 1], [38325, 1], [38324, 1], [38323, 1], [38322, 1], [38321, 1], [38320, 1], [38319, 1], [38318, 1], [38317, 1], [38316, 1], [38315, 1], [38314, 1], [38313, 1], [38312, 1], [38311, 1], [38310, 1], [38309, 1], [38308, 1], [38307, 1], [38306, 1], [38305, 1], [38304, 1], [38303, 1], [38302, 1], [38301, 1], [38300, 1], [38299, 1], [38298, 1], [38297, 1], [38296, 1], [38295, 1], [38294, 1], [38293, 1], [38292, 1], [38291, 1], [33493, 0, "{"], [33494, 0, "{"], [33495, 0, "{"], [33496, 0, "{"], [33497, 0, "{"], [33498, 0, "{"], [33499, 0, "{"], [33499, 1], [33498, 1], [33497, 1], [33496, 1], [33495, 1], [33494, 1], [33493, 1], [30252, 0, "\n"], [30253, 0, "d"], [30254, 0, "o"], [30255, 0, "c"], [30256, 0, "."], [30257, 0, "g"], [30258, 0, "e"], [30259, 0, "t"], [30260, 0, "("], [30261, 0, "\""], [30262, 0, "s"], [30263, 0, "h"], [30264, 0, "o"], [30265, 0, "p"], [30266, 0, "p"], [30267, 0, "i"], [30268, 0, "n"], [30269, 0, "g"], [30270, 0, "\""], [30271, 0, ")"], [30272, 0, " "], [30273, 0, ":"], [30274, 0, "="], [30275, 0, " "], [30276, 0, "["], [30277, 0, "]"], [30278, 0, ";"], [30347, 1], [30346, 1], [30345, 1], [30344, 1], [30344, 0, "t"], [30345, 0, "a"], [30346, 0, "i"], [30347, 0, "l"], [30382, 1], [30381, 1], [30380, 1], [30379, 1], [30379, 0, "t"], [30380, 0, "a"], [30381, 0, "i"], [30382, 0, "l"], [30423, 0, "t"], [30424, 0, "a"], [30425, 0, "i"], [30426, 0, "l"], [30427, 0, "."], [30428, 0, "i"], [30429, 0, "n"], [30430, 0, "s"], [30431, 0, "e"], [30432, 0, "r"], [30433, 0, "t"], [30434, 0, "("], [30435, 0, "\""], [30436, 0, "m"], [30437, 0, "i"], [30438, 0, "l"], [30439, 0, "k"], [30440, 0, "\""], [30441, 0, ")"], [30442, 0, ";"], [30443, 0, "\n"], [30398, 1], [30397, 1], [30396, 1], [30395, 1], [30394, 1], [30393, 1], [30392, 1], [30391, 1], [30390, 1], [30389, 1], [30388, 1], [30387, 1], [30386, 1], [30385, 1], [30384, 1], [30383, 1], [30382, 1], [30381, 1], [30380, 1], [30379, 1], [30378, 1], [30559, 1], [30558, 1], [30557, 1], [30556, 1], [30555, 1], [30554, 1], [30553, 1], [30552, 1], [30551, 1], [30550, 1], [30549, 1], [30548, 1], [30547, 1], [30546, 1], [30545, 1], [30544, 1], [30543, 1], [30542, 1], [30541, 1], [30540, 1], [30539, 1], [30538, 1], [30537, 1], [30536, 1], [30535, 1], [30534, 1], [30533, 1], [30532, 1], [30531, 1], [30530, 1], [30529, 1], [30528, 1], [30527, 1], [30526, 1], [30525, 1], [30524, 1], [30523, 1], [30522, 1], [30521, 1], [30520, 1], [30519, 1], [30518, 1], [30517, 1], [30516, 1], [30515, 1], [30514, 1], [30513, 1], [30512, 1], [30511, 1], [30510, 1], [30509, 1], [30508, 1], [30507, 1], [30506, 1], [30505, 1], [30504, 1], [30503, 1], [30502, 1], [30501, 1], [30500, 1], [30499, 1], [30498, 1], [30497, 1], [30496, 1], [30495, 1], [30494, 1], [30493, 1], [30492, 1], [30491, 1], [30490, 1], [30489, 1], [30488, 1], [30487, 1], [30486, 1], [30485, 1], [30484, 1], [30483, 1], [30482, 1], [30481, 1], [30480, 1], [18448, 1], [18448, 0, "c"], [18449, 1], [18449, 0, "."], [18450, 0, "g"], [18451, 0, "e"], [18452, 0, "t"], [18453, 0, "("], [18461, 1], [18461, 0, ")"], [18543, 1], [18543, 0, "."], [18544, 0, "g"], [18545, 0, "e"], [18546, 0, "t"], [18547, 0, "("], [18555, 1], [18555, 0, ")"], [21501, 1], [21501, 0, "."], [21502, 0, "g"], [21503, 0, "e"], [21504, 0, "t"], [21505, 0, "("], [21516, 1], [21516, 1], [21516, 0, ")"], [21517, 0, "."], [21518, 0, "g"], [21519, 0, "e"], [21520, 0, "t"], [21521, 0, "("], [21529, 1], [21529, 0, ")"], [21604, 1], [21604, 0, "."], [21605, 0, "g"], [21606, 0, "e"], [21607, 0, "t"], [21608, 0, "("], [21619, 1], [21619, 0, ")"], [21686, 1], [21686, 0, "."], [21687, 0, "d"], [21688, 0, "o"], [21688, 1], [21687, 1], [21687, 0, "g"], [21688, 0, "e"], [21689, 0, "t"], [21690, 0, "("], [21701, 1], [21701, 1], [21701, 0, ")"], [21702, 0, "("], [21712, 1], [21712, 0, ")"], [21702, 0, "."], [21703, 0, "g"], [21704, 0, "e"], [21705, 0, "t"], [21621, 0, ":"], [21745, 0, "\n"], [21746, 0, "n"], [21747, 0, "o"], [21748, 0, "d"], [21749, 0, "e"], [21750, 0, " "], [21751, 0, "["], [21752, 0, "r"], [21753, 0, "i"], [21754, 0, "g"], [21755, 0, "h"], [21756, 0, "t"], [21757, 0, ","], [21758, 0, "t"], [21759, 0, "e"], [21760, 0, "x"], [21761, 0, "t"], [21762, 0, " "], [21763, 0, "w"], [21764, 0, "i"], [21765, 0, "d"], [21766, 0, "t"], [21767, 0, "h"], [21768, 0, "="], [21769, 0, "3"], [21769, 1], [21769, 0, "1"], [21770, 0, "c"], [21771, 0, "m"], [21772, 0, ","], [21773, 0, "t"], [21774, 0, "e"], [21775, 0, "x"], [21776, 0, "t"], [21777, 0, " "], [21778, 0, "c"], [21779, 0, "e"], [21780, 0, "n"], [21781, 0, "t"], [21782, 0, "e"], [21783, 0, "r"], [21784, 0, "e"], [21785, 0, "d"], [21786, 0, "]"], [21787, 0, " "], [21788, 0, "{"], [21789, 0, "d"], [21790, 0, "o"], [21791, 0, "c"], [21792, 0, "."], [21793, 0, "g"], [21794, 0, "e"], [21795, 0, "t"], [21796, 0, "("], [21797, 0, "`"], [21798, 0, "`"], [21799, 0, "c"], [21800, 0, "o"], [21801, 0, "l"], [21802, 0, "o"], [21803, 0, "r"], [21804, 0, "s"], [21805, 0, "'"], [21806, 0, "'"], [21807, 0, ")"], [21808, 0, "."], [21809, 0, "g"], [21810, 0, "e"], [21811, 0, "t"], [21812, 0, "("], [21813, 0, "`"], [21814, 0, "`"], [21815, 0, "g"], [21816, 0, "r"], [21817, 0, "e"], [21818, 0, "e"], [21819, 0, "n"], [21820, 0, "'"], [21821, 0, "'"], [21822, 0, ")"], [21823, 0, " "], [21824, 0, ":"], [21825, 0, "="], [21826, 0, " "], [21827, 0, "`"], [21828, 0, "`"], [21829, 0, "\\"], [21830, 0, "#"], [21831, 0, "0"], [21832, 0, "0"], [21833, 0, "f"], [21834, 0, "f"], [21835, 0, "0"], [21836, 0, "0"], [21837, 0, "'"], [21838, 0, "'"], [21839, 0, ";"], [21840, 0, "}"], [21735, 1], [21734, 1], [21733, 1], [21732, 1], [21731, 1], [21730, 1], [21729, 1], [21728, 1], [21727, 1], [21726, 1], [21725, 1], [21724, 1], [21723, 1], [21722, 1], [21721, 1], [21720, 1], [21719, 1], [21718, 1], [21717, 1], [21716, 1], [21715, 1], [21714, 1], [21713, 1], [21712, 1], [21711, 1], [21710, 1], [21709, 1], [21708, 1], [21707, 1], [21706, 1], [21705, 1], [21704, 1], [21703, 1], [21702, 1], [21701, 1], [21700, 1], [21699, 1], [21698, 1], [21697, 1], [21696, 1], [21695, 1], [21694, 1], [21693, 1], [21692, 1], [21691, 1], [21690, 1], [21689, 1], [21688, 1], [21687, 1], [21686, 1], [21685, 1], [21684, 1], [21683, 1], [21682, 1], [21681, 1], [21680, 1], [21679, 1], [21678, 1], [21677, 1], [21676, 1], [21675, 1], [21674, 1], [21673, 1], [21672, 1], [21671, 1], [21670, 1], [21669, 1], [21719, 0, ","], [21720, 0, "m"], [21721, 0, "i"], [21722, 0, "d"], [21723, 0, "w"], [21724, 0, "a"], [21725, 0, "y"], [21718, 1], [21717, 1], [21716, 1], [21715, 1], [21714, 1], [21713, 1], [21712, 1], [21711, 1], [21711, 0, "r"], [21712, 0, "e"], [21712, 1], [21712, 0, "a"], [21713, 0, "g"], [21714, 0, "g"], [21715, 0, "e"], [21716, 0, "d"], [21716, 1], [21715, 1], [21714, 1], [21713, 1], [21712, 1], [21711, 1], [21711, 0, "c"], [21712, 0, "e"], [21713, 0, "n"], [21714, 0, "t"], [21715, 0, "e"], [21716, 0, "r"], [21717, 0, "e"], [21718, 0, "d"], [21668, 1], [21667, 1], [21667, 0, "-"], [21668, 0, "-"], [21702, 1], [21702, 0, "2"], [21679, 0, " "], [21680, 0, " "], [21681, 0, " "], [21682, 0, " "], [21481, 0, "-"], [21482, 0, "-"], [21483, 0, " "], [21484, 0, "("], [21485, 0, "l"], [21486, 0, "e"], [21487, 0, "f"], [21488, 0, "t"], [21489, 0, "1"], [21490, 0, ")"], [21491, 0, "\n"], [21492, 0, " "], [21493, 0, " "], [21494, 0, " "], [21495, 0, " "], [21496, 1], [21496, 1], [21496, 1], [21506, 0, ","], [21507, 0, "t"], [21508, 0, "e"], [21509, 0, "x"], [21510, 0, "t"], [21511, 0, " "], [21512, 0, "w"], [21513, 0, "i"], [21514, 0, "d"], [21515, 0, "t"], [21516, 0, "h"], [21517, 0, "="], [21518, 0, "2"], [21519, 0, "c"], [21520, 0, "m"], [21521, 0, ","], [21522, 0, "t"], [21523, 0, "e"], [21524, 0, "x"], [21525, 0, "t"], [21526, 0, " "], [21527, 0, "c"], [21528, 0, "e"], [21529, 0, "n"], [21530, 0, "t"], [21531, 0, "e"], [21532, 0, "r"], [21533, 0, "e"], [21534, 0, "d"], [21535, 0, ","], [21536, 0, "m"], [21537, 0, "i"], [21538, 0, "d"], [21539, 0, "w"], [21540, 0, "a"], [21541, 0, "y"], [21603, 1], [21602, 1], [21601, 1], [21600, 1], [21599, 1], [21598, 1], [21597, 1], [21596, 1], [21762, 1], [21761, 1], [21760, 1], [21759, 1], [21758, 1], [21757, 1], [21756, 1], [21755, 1], [21755, 0, "r"], [21756, 0, "a"], [21757, 0, "g"], [21758, 0, "g"], [21759, 0, "e"], [21760, 0, "d"], [21760, 1], [21759, 1], [21758, 1], [21757, 1], [21756, 1], [21755, 1], [21755, 0, "c"], [21756, 0, "e"], [21757, 0, "n"], [21758, 0, "t"], [21759, 0, "e"], [21760, 0, "r"], [21761, 0, "e"], [21762, 0, "d"], [21746, 1], [21746, 0, "4"], [21518, 1], [21518, 0, "4"], [21747, 0, "."], [21748, 0, "2"], [21519, 0, "."], [21520, 0, "2"], [20940, 1], [20940, 0, "6"], [20701, 1], [20701, 0, "8"], [20614, 1], [20614, 0, "8"], [20587, 1], [20587, 0, "8"], [23653, 1], [23653, 0, "."], [23654, 0, "g"], [23655, 0, "e"], [23656, 0, "t"], [23657, 0, "("], [23734, 1], [23734, 0, "."], [23735, 0, "g"], [23736, 0, "e"], [23737, 0, "t"], [23738, 0, "("], [23816, 1], [23816, 0, "."], [23817, 0, "g"], [23818, 0, "e"], [23819, 0, "t"], [23820, 0, "("], [23913, 1], [23913, 0, "."], [23914, 0, "g"], [23915, 0, "e"], [23916, 0, "t"], [23917, 0, "("], [23669, 1], [23669, 0, ")"], [23750, 1], [23750, 0, ")"], [23832, 1], [23832, 0, ")"], [23929, 1], [23929, 0, ")"], [23837, 1], [23836, 1], [23835, 1], [23835, 0, "d"], [23836, 0, "x"], [23837, 0, "("], [23838, 0, "0"], [23839, 0, ")"], [23936, 1], [23935, 1], [23934, 1], [23934, 0, "d"], [23935, 0, "x"], [23936, 0, "("], [23937, 0, "0"], [23938, 0, ")"], [24015, 1], [24014, 1], [24013, 1], [24012, 1], [24012, 0, "d"], [24013, 0, "o"], [24014, 0, "c"], [24015, 0, "."], [24016, 0, "g"], [24017, 0, "e"], [24018, 0, "t"], [24019, 0, "("], [24020, 0, "`"], [24021, 0, "`"], [24022, 0, "g"], [24023, 0, "r"], [24024, 0, "o"], [24025, 0, "c"], [24026, 0, "e"], [24027, 0, "r"], [24028, 0, "y"], [24029, 0, "'"], [24030, 0, "'"], [24031, 0, ")"], [24032, 0, "."], [24033, 0, "i"], [24034, 0, "d"], [24035, 0, "x"], [24036, 0, "("], [24037, 0, "1"], [24038, 0, ")"], [24113, 1], [24112, 1], [24111, 1], [24110, 1], [24110, 0, "d"], [24111, 0, "o"], [24112, 0, "c"], [24113, 0, "."], [24114, 0, "g"], [24115, 0, "e"], [24116, 0, "t"], [24117, 0, "("], [24118, 0, "z"], [24119, 0, "`"], [24119, 1], [24118, 1], [24118, 0, "`"], [24119, 0, "`"], [24120, 0, "g"], [24121, 0, "r"], [24122, 0, "o"], [24123, 0, "c"], [24124, 0, "y"], [24124, 1], [24124, 0, "e"], [24125, 0, "r"], [24126, 0, "y"], [24127, 0, "'"], [24128, 0, "'"], [24129, 0, ")"], [24130, 0, "."], [24131, 0, "i"], [24132, 0, "d"], [24133, 0, "x"], [24134, 0, "("], [24135, 0, "1"], [24136, 0, ")"], [23797, 1], [23796, 1], [23796, 0, "-"], [23797, 0, "-"], [23798, 0, " "], [23799, 0, "("], [23800, 0, "l"], [23801, 0, "e"], [23802, 0, "f"], [23803, 0, "t"], [23804, 0, "2"], [23805, 0, ")"], [23806, 0, "\n"], [23807, 0, " "], [23808, 0, " "], [23809, 0, " "], [23821, 0, ","], [23822, 0, "t"], [23823, 0, "e"], [23824, 0, "x"], [23825, 0, "t"], [23826, 0, " "], [23827, 0, "w"], [23828, 0, "i"], [23829, 0, "d"], [23830, 0, "h"], [23830, 1], [23830, 0, "t"], [23831, 0, "h"], [23832, 0, "="], [23833, 0, "4"], [23834, 0, "c"], [23835, 0, "m"], [23836, 0, ","], [23837, 0, "t"], [23838, 0, "e"], [23839, 0, "x"], [23840, 0, "t"], [23841, 0, " "], [23842, 0, "c"], [23843, 0, "e"], [23844, 0, "n"], [23845, 0, "t"], [23846, 0, "e"], [23847, 0, "r"], [23848, 0, "e"], [23849, 0, "d"], [23850, 0, ","], [23851, 0, "m"], [23852, 0, "i"], [23853, 0, "d"], [23854, 0, "w"], [23855, 0, "a"], [23856, 0, "y"], [23858, 1], [23858, 0, " "], [23888, 0, " "], [23915, 1], [23914, 1], [23913, 1], [23912, 1], [23911, 1], [23910, 1], [23909, 1], [23908, 1], [23936, 0, "-"], [23937, 0, "-"], [23938, 0, " "], [23939, 0, "("], [23940, 0, "r"], [23941, 0, "i"], [23942, 0, "g"], [23943, 0, "h"], [23944, 0, "t"], [23945, 0, "2"], [23946, 0, ")"], [23947, 0, "\n"], [23948, 0, " "], [23949, 0, " "], [23950, 0, " "], [23951, 0, " "], [23952, 1], [23952, 1], [23952, 1], [23963, 0, ","], [23964, 0, "t"], [23965, 0, "e"], [23966, 0, "x"], [23967, 0, "t"], [23968, 0, " "], [23969, 0, "w"], [23970, 0, "i"], [23971, 0, "d"], [23972, 0, "t"], [23973, 0, "h"], [23974, 0, "="], [23975, 0, "4"], [23976, 0, "c"], [23977, 0, "m"], [23978, 0, ","], [23979, 0, "t"], [23980, 0, "e"], [23981, 0, "x"], [23982, 0, "t"], [23983, 0, " "], [23984, 0, "c"], [23985, 0, "e"], [23986, 0, "n"], [23987, 0, "t"], [23988, 0, "e"], [23989, 0, "r"], [23990, 0, "e"], [23991, 0, "d"], [23992, 0, ","], [23993, 0, "m"], [23994, 0, "i"], [23995, 0, "d"], [23996, 0, "w"], [23997, 0, "a"], [23998, 0, "y"], [24056, 1], [24055, 1], [24054, 1], [24053, 1], [24052, 1], [24051, 1], [24050, 1], [24049, 1], [24048, 1], [24076, 0, "-"], [24077, 0, "-"], [24078, 0, " "], [24079, 0, "("], [24080, 0, "l"], [24081, 0, "e"], [24082, 0, "f"], [24083, 0, "t"], [24084, 0, "3"], [24085, 0, ")"], [24086, 0, "\n"], [24087, 1], [24087, 1], [24087, 0, " "], [24088, 0, " "], [24089, 0, " "], [24101, 0, ","], [24102, 0, "t"], [24103, 0, "e"], [24104, 0, "x"], [24105, 0, "t"], [24106, 0, " "], [24107, 0, "w"], [24108, 0, "i"], [24109, 0, "d"], [24110, 0, "t"], [24111, 0, "h"], [24112, 0, "="], [24113, 0, "3"], [24113, 1], [24113, 0, "4"], [24114, 0, "c"], [24115, 0, "m"], [24116, 0, ","], [24117, 0, "t"], [24118, 0, "e"], [24119, 0, "x"], [24120, 0, "t"], [24121, 0, " "], [24122, 0, "c"], [24123, 0, "e"], [24124, 0, "n"], [24125, 0, "t"], [24126, 0, "e"], [24127, 0, "r"], [24128, 0, "e"], [24129, 0, "d"], [24130, 0, ","], [24131, 0, "m"], [24132, 0, "i"], [24133, 0, "d"], [24134, 0, "w"], [24135, 0, "a"], [24136, 0, "y"], [24029, 0, " "], [24169, 0, " "], [24195, 1], [24194, 1], [24193, 1], [24192, 1], [24191, 1], [24190, 1], [24189, 1], [24188, 1], [24216, 0, "-"], [24217, 0, "-"], [24218, 0, " "], [24219, 0, "("], [24220, 0, "r"], [24221, 0, "i"], [24222, 0, "g"], [24223, 0, "h"], [24224, 0, "t"], [24225, 0, "3"], [24226, 0, ")"], [24227, 0, "\n"], [24228, 0, " "], [24229, 0, " "], [24230, 0, " "], [24231, 0, " "], [24232, 1], [24232, 1], [24232, 1], [24243, 0, ","], [24244, 0, "t"], [24245, 0, "e"], [24246, 0, "x"], [24247, 0, "t"], [24248, 0, " "], [24249, 0, "w"], [24250, 0, "i"], [24251, 0, "d"], [24252, 0, "t"], [24253, 0, "h"], [24254, 0, "="], [24255, 0, "4"], [24256, 0, "c"], [24257, 0, "m"], [24258, 0, ","], [24259, 0, "t"], [24260, 0, "e"], [24261, 0, "x"], [24262, 0, "t"], [24263, 0, " "], [24264, 0, "c"], [24265, 0, "e"], [24266, 0, "n"], [24267, 0, "t"], [24268, 0, "e"], [24269, 0, "r"], [24270, 0, "e"], [24271, 0, "d"], [24272, 0, ","], [24273, 0, "m"], [24274, 0, "i"], [24275, 0, "d"], [24276, 0, "w"], [24277, 0, "a"], [24278, 0, "y"], [24309, 0, " "], [24338, 1], [24337, 1], [24336, 1], [24335, 1], [24334, 1], [24333, 1], [24332, 1], [24331, 1], [24330, 1], [20589, 1], [20588, 1], [20612, 1], [20612, 0, "7"], [20613, 0, "."], [20614, 0, "5"], [20701, 1], [20701, 0, "7"], [20702, 0, "."], [20703, 0, "5"], [20942, 1], [20942, 0, "5"], [20943, 0, "."], [20944, 0, "5"], [23193, 0, "."], [23194, 0, "5"], [23268, 0, "."], [23269, 0, "0"], [23354, 0, "."], [23355, 0, "0"], [23459, 0, "."], [23460, 0, "0"], [23111, 0, "."], [23112, 0, "0"], [23038, 0, "."], [23039, 0, "5"], [22972, 1], [22972, 0, "7"], [22973, 0, "."], [22974, 0, "0"], [22907, 1], [22907, 0, "7"], [22908, 0, "."], [22909, 0, "0"], [22857, 1], [22857, 0, "9"], [22858, 0, "."], [22859, 0, "0"], [22807, 1], [22807, 0, "9"], [22808, 0, "."], [22809, 0, "0"], [22779, 1], [22779, 0, "9"], [23281, 1], [23281, 0, "5"], [23206, 1], [23205, 1], [23204, 1], [23204, 0, "5"], [23205, 0, "."], [23206, 0, "0"], [23122, 1], [23122, 0, "5"], [23047, 1], [23046, 1], [23045, 1], [23045, 0, "5"], [23046, 0, "."], [23047, 0, "0"], [22980, 1], [22980, 0, "5"], [22913, 1], [22913, 0, "5"], [22861, 1], [22861, 0, "5"], [22809, 1], [22809, 0, "5"], [22781, 1], [22780, 1], [22779, 1], [22779, 0, "1"], [22780, 0, "0"], [25514, 1], [25513, 1], [25512, 1], [25511, 1], [25510, 1], [25509, 1], [25508, 1], [25507, 1], [25506, 1], [25505, 1], [25504, 1], [25503, 1], [25525, 1], [25524, 1], [25526, 0, "\n"], [25527, 0, "\\"], [25528, 0, "n"], [25529, 0, "o"], [25530, 0, "d"], [25531, 0, "e"], [25532, 0, " "], [25533, 0, "("], [25534, 0, "r"], [25535, 0, "i"], [25536, 0, "g"], [25537, 0, "h"], [25538, 0, "t"], [25539, 0, "1"], [25540, 0, ")"], [25541, 0, " "], [25476, 0, " "], [25543, 0, "a"], [25544, 0, "t"], [25545, 0, " "], [25546, 0, "("], [25547, 0, "8"], [25548, 0, "."], [25548, 1], [25548, 0, ","], [25549, 0, "0"], [25550, 0, ")"], [25551, 0, " "], [25552, 0, "["], [25553, 0, "r"], [25554, 0, "e"], [25555, 0, "c"], [25556, 0, "t"], [25557, 0, "a"], [25558, 0, "n"], [25559, 0, "g"], [25560, 0, "l"], [25561, 0, "e"], [25562, 0, ","], [25563, 0, "d"], [25564, 0, "r"], [25565, 0, "a"], [25566, 0, "w"], [25567, 0, "]"], [25568, 0, " "], [25569, 0, "{"], [25570, 0, "["], [25571, 0, "`"], [25572, 0, "`"], [25573, 0, "a"], [25574, 0, "'"], [25575, 0, "'"], [25576, 0, ","], [25577, 0, " "], [25578, 0, "`"], [25579, 0, "`"], [25580, 0, "b"], [25581, 0, "'"], [25582, 0, "'"], [25583, 0, ","], [25584, 0, " "], [25585, 0, "`"], [25586, 0, "`"], [25587, 0, "c"], [25588, 0, "'"], [25589, 0, "'"], [25590, 0, "]"], [25591, 0, "}"], [25592, 0, ";"], [25483, 1], [25483, 0, "8"], [25549, 1], [25549, 0, "8"], [25593, 0, "\n"], [25594, 0, "\\"], [25595, 0, "n"], [25596, 0, "o"], [25597, 0, "d"], [25598, 0, "e"], [25599, 0, " "], [25600, 0, "("], [25601, 0, "l"], [25602, 0, "e"], [25603, 0, "f"], [25604, 0, "t"], [25605, 0, "2"], [25606, 0, ")"], [25607, 0, " "], [25608, 0, " "], [25609, 0, "a"], [25610, 0, "t"], [25611, 0, " "], [25612, 0, "("], [25613, 0, "0"], [25614, 0, ","], [25615, 0, "6"], [25616, 0, ")"], [25617, 0, " "], [25618, 0, "["], [25619, 0, "r"], [25620, 0, "e"], [25621, 0, "c"], [25622, 0, "t"], [25623, 0, "a"], [25624, 0, "n"], [25625, 0, "g"], [25626, 0, "l"], [25627, 0, "e"], [25628, 0, ","], [25629, 0, "d"], [25630, 0, "r"], [25631, 0, "a"], [25632, 0, "w"], [25633, 0, "]"], [25634, 0, " "], [25635, 0, "{"], [25636, 0, "["], [25637, 0, "`"], [25638, 0, "`"], [25639, 0, "a"], [25640, 0, "'"], [25641, 0, "'"], [25642, 0, ","], [25643, 0, " "], [25644, 0, "`"], [25645, 0, "`"], [25646, 0, "c"], [25647, 0, "'"], [25648, 0, "'"], [25649, 0, "]"], [25650, 0, "}"], [25651, 0, ";"], [25652, 0, "\n"], [25653, 0, "\\"], [25654, 0, "n"], [25655, 0, "o"], [25656, 0, "d"], [25657, 0, "e"], [25658, 0, " "], [25659, 0, "("], [25660, 0, "\n"], [25661, 0, "\\"], [25662, 0, "n"], [25663, 0, "o"], [25664, 0, "d"], [25665, 0, "e"], [25666, 0, " "], [25667, 0, "("], [25668, 0, "r"], [25669, 0, "i"], [25670, 0, "g"], [25671, 0, "h"], [25672, 0, "t"], [25673, 0, "1"], [25674, 0, ")"], [25675, 0, " "], [25676, 0, "a"], [25677, 0, "t"], [25678, 0, " "], [25679, 0, "("], [25680, 0, "9"], [25680, 1], [25680, 0, "8"], [25681, 0, ","], [25682, 0, "8"], [25683, 0, ")"], [25684, 0, " "], [25685, 0, "["], [25686, 0, "r"], [25687, 0, "e"], [25688, 0, "c"], [25689, 0, "t"], [25690, 0, "a"], [25691, 0, "n"], [25692, 0, "g"], [25693, 0, "l"], [25694, 0, "e"], [25695, 0, ","], [25696, 0, "d"], [25697, 0, "r"], [25698, 0, "a"], [25699, 0, "w"], [25700, 0, "]"], [25701, 0, " "], [25702, 0, "{"], [25703, 0, "["], [25704, 0, "`"], [25705, 0, "`"], [25706, 0, "a"], [25707, 0, "'"], [25708, 0, "'"], [25709, 0, ","], [25710, 0, " "], [25711, 0, "'"], [25712, 0, "'"], [25712, 1], [25711, 1], [25711, 0, "a"], [25712, 0, "a"], [25713, 0, "`"], [25713, 1], [25712, 1], [25711, 1], [25711, 0, "a"], [25711, 1], [25711, 0, "`"], [25712, 0, "`"], [25713, 0, "b"], [25714, 0, "'"], [25715, 0, "'"], [25716, 0, ","], [25717, 0, " "], [25718, 0, "`"], [25719, 0, "`"], [25720, 0, "c"], [25721, 0, "'"], [25722, 0, "'"], [25723, 0, "]"], [25724, 0, "}"], [25725, 0, ";"], [25592, 1], [25591, 1], [25590, 1], [25589, 1], [25588, 1], [25587, 1], [25586, 1], [25585, 1], [25584, 1], [25583, 1], [25582, 1], [25581, 1], [25580, 1], [25579, 1], [25578, 1], [25577, 1], [25576, 1], [25575, 1], [25574, 1], [25573, 1], [25572, 1], [25571, 1], [25570, 1], [25569, 1], [25568, 1], [25567, 1], [25566, 1], [25565, 1], [25564, 1], [25563, 1], [25562, 1], [25561, 1], [25560, 1], [25559, 1], [25558, 1], [25557, 1], [25556, 1], [25555, 1], [25554, 1], [25553, 1], [25552, 1], [25551, 1], [25550, 1], [25549, 1], [25548, 1], [25547, 1], [25546, 1], [25545, 1], [25544, 1], [25543, 1], [25542, 1], [25541, 1], [25540, 1], [25539, 1], [25538, 1], [25537, 1], [25536, 1], [25535, 1], [25534, 1], [25533, 1], [25532, 1], [25531, 1], [25530, 1], [25529, 1], [25528, 1], [25527, 1], [25594, 0, "l"], [25595, 0, "e"], [25596, 0, "f"], [25597, 0, "t"], [25598, 0, "3"], [25599, 0, ")"], [25600, 0, " "], [25601, 0, " "], [25602, 0, "a"], [25603, 0, "t"], [25604, 0, " "], [25605, 0, "("], [25606, 0, "0"], [25607, 0, ","], [25608, 0, "4"], [25609, 0, ")"], [25610, 0, " "], [25611, 0, "["], [25612, 0, "r"], [25613, 0, "e"], [25614, 0, "c"], [25615, 0, "t"], [25616, 0, "a"], [25617, 0, "n"], [25618, 0, "g"], [25619, 0, "l"], [25620, 0, "e"], [25621, 0, ","], [25622, 0, "d"], [25623, 0, "r"], [25624, 0, "a"], [25625, 0, "w"], [25626, 0, "]"], [25627, 0, " "], [25628, 0, "{"], [25629, 0, "["], [25630, 0, "`"], [25631, 0, "`"], [25632, 0, "a"], [25633, 0, "'"], [25634, 0, "'"], [25635, 0, ","], [25636, 0, " "], [25637, 0, "`"], [25638, 0, "`"], [25639, 0, "x"], [25640, 0, "'"], [25641, 0, "'"], [25642, 0, ","], [25643, 0, " "], [25644, 0, "`"], [25645, 0, "`"], [25646, 0, "c"], [25647, 0, "'"], [25648, 0, "'"], [25649, 0, "]"], [25650, 0, "}"], [25651, 0, ";"], [25718, 0, "\n"], [25719, 0, "\\"], [25720, 0, "n"], [25721, 0, "o"], [25722, 0, "d"], [25723, 0, "e"], [25724, 0, " "], [25725, 0, "("], [25726, 0, "r"], [25727, 0, "i"], [25728, 0, "g"], [25729, 0, "h"], [25730, 0, "t"], [25731, 0, "2"], [25732, 0, ")"], [25733, 0, " "], [25734, 0, "a"], [25735, 0, "t"], [25736, 0, " "], [25737, 0, "("], [25738, 0, "8"], [25739, 0, ","], [25740, 0, "6"], [25741, 0, ")"], [25742, 0, " "], [25743, 0, "["], [25744, 0, "r"], [25745, 0, "e"], [25746, 0, "c"], [25747, 0, "t"], [25748, 0, "a"], [25749, 0, "n"], [25750, 0, "g"], [25751, 0, "l"], [25752, 0, "e"], [25753, 0, ","], [25754, 0, "d"], [25755, 0, "r"], [25756, 0, "a"], [25757, 0, "w"], [25758, 0, "]"], [25759, 0, " "], [25760, 0, "{"], [25761, 0, "["], [25762, 0, "`"], [25763, 0, "`"], [25764, 0, "y"], [25765, 0, "'"], [25766, 0, "'"], [25767, 0, ","], [25768, 0, " "], [25769, 0, "'"], [25770, 0, "'"], [25770, 1], [25769, 1], [25769, 0, "`"], [25770, 0, "`"], [25771, 0, "a"], [25772, 0, "'"], [25773, 0, "'"], [25774, 0, ","], [25775, 0, " "], [25776, 0, "`"], [25777, 0, "`"], [25778, 0, "b"], [25779, 0, "'"], [25780, 0, "'"], [25781, 0, ","], [25782, 0, " "], [25783, 0, "`"], [25784, 0, "`"], [25785, 0, "c"], [25786, 0, "'"], [25787, 0, "'"], [25788, 0, "]"], [25789, 0, "}"], [25790, 0, ";"], [25791, 0, "\n"], [25792, 0, "\\"], [25793, 0, "n"], [25794, 0, "o"], [25795, 0, "d"], [25796, 0, "e"], [25797, 0, " "], [25798, 0, ")"], [25799, 0, "("], [25799, 1], [25798, 1], [25798, 0, "("], [25799, 0, "r"], [25800, 0, "i"], [25801, 0, "g"], [25802, 0, "h"], [25803, 0, "t"], [25804, 0, "3"], [25805, 0, ")"], [25806, 0, " "], [25807, 0, "a"], [25808, 0, "t"], [25809, 0, " "], [25810, 0, "("], [25811, 0, "8"], [25812, 0, ","], [25813, 0, "5"], [25813, 1], [25813, 0, "4"], [25814, 0, ")"], [25815, 0, " "], [25816, 0, "["], [25817, 0, "r"], [25818, 0, "e"], [25819, 0, "c"], [25820, 0, "t"], [25821, 0, "a"], [25822, 0, "n"], [25823, 0, "g"], [25824, 0, "l"], [25825, 0, "e"], [25826, 0, ","], [25827, 0, "d"], [25828, 0, "r"], [25829, 0, "a"], [25830, 0, "w"], [25831, 0, "]"], [25832, 0, " "], [25833, 0, "{"], [25834, 0, "["], [25835, 0, "`"], [25836, 0, "`"], [25837, 0, "y"], [25838, 0, "'"], [25839, 0, "'"], [25840, 0, ","], [25841, 0, " "], [25842, 0, "`"], [25843, 0, "`"], [25844, 0, "a"], [25845, 0, "'"], [25846, 0, "'"], [25847, 0, ","], [25848, 0, " "], [25849, 0, "`"], [25850, 0, "`"], [25851, 0, "z"], [25852, 0, "'"], [25853, 0, "'"], [25854, 0, " "], [25854, 1], [25854, 0, ","], [25855, 0, " "], [25856, 0, "`"], [25857, 0, "`"], [25858, 0, "b"], [25859, 0, "'"], [25860, 0, "'"], [25861, 0, ","], [25862, 0, " "], [25863, 0, "`"], [25864, 0, "`"], [25865, 0, "c"], [25866, 0, "'"], [25867, 0, "'"], [25868, 0, "]"], [25869, 0, "}"], [25870, 0, ";"], [25652, 0, "\n"], [25653, 0, "\\"], [25654, 0, "n"], [25655, 0, "o"], [25656, 0, "d"], [25657, 0, "e"], [25658, 0, " "], [25659, 0, "("], [25660, 0, "l"], [25661, 0, "e"], [25662, 0, "f"], [25663, 0, "t"], [25664, 0, "4"], [25665, 0, ")"], [25666, 0, " "], [25667, 0, " "], [25668, 0, "a"], [25669, 0, "t"], [25670, 0, " "], [25671, 0, "("], [25672, 0, "0"], [25673, 0, ","], [25674, 0, "0"], [25675, 0, ")"], [25676, 0, " "], [25677, 0, "["], [25678, 0, "r"], [25679, 0, "e"], [25680, 0, "c"], [25681, 0, "t"], [25682, 0, "a"], [25683, 0, "n"], [25684, 0, "g"], [25685, 0, "l"], [25686, 0, "e"], [25687, 0, ","], [25688, 0, "d"], [25689, 0, "r"], [25690, 0, "a"], [25691, 0, "w"], [25692, 0, "]"], [25693, 0, " "], [25694, 0, "["], [25694, 1], [25694, 0, "{"], [25695, 0, "["], [25696, 0, "`"], [25697, 0, "`"], [25698, 0, "y"], [25699, 0, "'"], [25700, 0, "'"], [25701, 0, ","], [25702, 0, " "], [25703, 0, "`"], [25704, 0, "`"], [25705, 0, "a"], [25706, 0, "'"], [25707, 0, "'"], [25708, 0, ","], [25709, 0, " "], [25710, 0, "`"], [25711, 0, "`"], [25712, 0, "x"], [25713, 0, "'"], [25714, 0, "'"], [25715, 0, ","], [25716, 0, " "], [25717, 0, "`"], [25718, 0, "`"], [25719, 0, "z"], [25720, 0, "'"], [25721, 0, "'"], [25722, 0, ","], [25723, 0, " "], [25724, 0, "`"], [25725, 0, "`"], [25726, 0, "c"], [25727, 0, "'"], [25728, 0, "'"], [25729, 0, "]"], [25730, 0, "}"], [25731, 0, ";"], [25951, 0, "\n"], [25952, 0, "\\"], [25953, 0, "n"], [25954, 0, "o"], [25955, 0, "d"], [25956, 0, "e"], [25957, 0, " "], [25958, 0, "("], [25959, 0, "r"], [25960, 0, "i"], [25961, 0, "g"], [25962, 0, "h"], [25963, 0, "t"], [25964, 0, "3"], [25965, 0, ")"], [25965, 1], [25964, 1], [25964, 0, "4"], [25965, 0, ")"], [25966, 0, " "], [25967, 0, "a"], [25968, 0, "t"], [25969, 0, " "], [25970, 0, "("], [25971, 0, "8"], [25972, 0, ","], [25973, 0, "0"], [25974, 0, ")"], [25975, 0, " "], [25976, 0, "["], [25977, 0, "r"], [25978, 0, "e"], [25979, 0, "c"], [25980, 0, "t"], [25981, 0, "a"], [25982, 0, "n"], [25983, 0, "g"], [25984, 0, "l"], [25985, 0, "e"], [25986, 0, ","], [25987, 0, "d"], [25988, 0, "r"], [25989, 0, "a"], [25990, 0, "w"], [25991, 0, "]"], [25992, 0, " "], [25993, 0, "{"], [25994, 0, "["], [25995, 0, "`"], [25996, 0, "`"], [25997, 0, "y"], [25998, 0, "'"], [25999, 0, "'"], [26000, 0, ","], [26001, 0, " "], [26002, 0, "'"], [26002, 1], [26002, 0, "`"], [26003, 0, "`"], [26004, 0, "a"], [26005, 0, "'"], [26006, 0, "'"], [26007, 0, ","], [26008, 0, " "], [26009, 0, "`"], [26010, 0, "`"], [26011, 0, "x"], [26012, 0, "'"], [26013, 0, "'"], [26014, 0, ","], [26015, 0, " "], [26016, 0, "`"], [26017, 0, "`"], [26018, 0, "z"], [26019, 0, "'"], [26020, 0, "'"], [26021, 0, ","], [26022, 0, " "], [26023, 0, "`"], [26024, 0, "`"], [26025, 0, "c"], [26026, 0, "'"], [26027, 0, "'"], [26028, 0, "]"], [26029, 0, "}"], [26030, 0, ";"], [26031, 0, "\n"], [26032, 0, "\\"], [26033, 0, "d"], [26034, 0, "r"], [26035, 0, "a"], [26036, 0, "w"], [26037, 0, " "], [26038, 0, "["], [26039, 0, "t"], [26040, 0, "h"], [26041, 0, "i"], [26042, 0, "c"], [26043, 0, "k"], [26044, 0, ","], [26045, 0, "-"], [26046, 0, ">"], [26047, 0, "]"], [26048, 0, " "], [26049, 0, "("], [26050, 0, "l"], [26051, 0, "e"], [26052, 0, "f"], [26053, 0, "t"], [26054, 0, "1"], [26055, 0, ")"], [26056, 0, " "], [26057, 0, " "], [26058, 0, "t"], [26059, 0, "o"], [26060, 0, " "], [26061, 0, "n"], [26062, 0, "o"], [26063, 0, "d"], [26064, 0, "e"], [26065, 0, " "], [26066, 0, "["], [26067, 0, "l"], [26068, 0, "e"], [26069, 0, "f"], [26070, 0, "t"], [26071, 0, "]"], [26072, 0, " "], [26073, 0, " "], [26074, 0, "{"], [26075, 0, "d"], [26076, 0, "o"], [26077, 0, "c"], [26078, 0, "."], [26079, 0, "i"], [26080, 0, "d"], [26081, 0, "x"], [26082, 0, "("], [26083, 0, "2"], [26084, 0, ")"], [26085, 0, "."], [26086, 0, "d"], [26087, 0, "e"], [26088, 0, "l"], [26089, 0, "e"], [26090, 0, "t"], [26091, 0, "e"], [26092, 0, ";"], [26093, 0, "}"], [26094, 0, " "], [26095, 0, "("], [26096, 0, "l"], [26097, 0, "e"], [26098, 0, "f"], [26099, 0, "t"], [26100, 0, "2"], [26101, 0, ")"], [26102, 0, ";"], [26103, 0, "\n"], [26104, 0, "\\"], [26105, 0, "d"], [26106, 0, "r"], [26107, 0, "a"], [26108, 0, "w"], [26109, 0, " "], [26110, 0, "["], [26111, 0, "t"], [26112, 0, "h"], [26113, 0, "i"], [26114, 0, "c"], [26115, 0, "k"], [26116, 0, ","], [26117, 0, "-"], [26118, 0, ">"], [26119, 0, "]"], [26120, 0, " "], [26121, 0, "("], [26122, 0, "l"], [26123, 0, "e"], [26124, 0, "f"], [26125, 0, "t"], [26126, 0, "2"], [26127, 0, " "], [26127, 1], [26127, 0, ")"], [26128, 0, " "], [26129, 0, " "], [26130, 0, "t"], [26131, 0, "o"], [26132, 0, " "], [26133, 0, "n"], [26134, 0, "o"], [26135, 0, "d"], [26136, 0, "e"], [26137, 0, " "], [26138, 0, "["], [26139, 0, "l"], [26140, 0, "e"], [26141, 0, "f"], [26142, 0, "t"], [26143, 0, "]"], [26144, 0, " "], [26145, 0, " "], [26146, 0, "{"], [26147, 0, "d"], [26148, 0, "o"], [26149, 0, "c"], [26150, 0, "."], [26151, 0, "i"], [26152, 0, "d"], [26153, 0, "x"], [26154, 0, "("], [26155, 0, "1"], [26156, 0, ")"], [26157, 0, "."], [26158, 0, "i"], [26159, 0, "n"], [26160, 0, "s"], [26161, 0, "e"], [26162, 0, "r"], [26163, 0, "t"], [26164, 0, "("], [26165, 0, "`"], [26166, 0, "`"], [26167, 0, "x"], [26168, 0, "'"], [26169, 0, "'"], [26170, 0, ")"], [26171, 0, ";"], [26172, 0, "}"], [26173, 0, " "], [26174, 0, "("], [26175, 0, "l"], [26176, 0, "e"], [26177, 0, "f"], [26178, 0, "t"], [26179, 0, "3"], [26180, 0, ")"], [26181, 0, ";"], [26182, 0, "\n"], [26183, 0, "\\"], [26184, 0, "d"], [26185, 0, "r"], [26186, 0, "a"], [26187, 0, "w"], [26188, 0, " "], [26189, 0, "["], [26190, 0, "t"], [26191, 0, "h"], [26192, 0, "i"], [26193, 0, "c"], [26194, 0, "k"], [26195, 0, ","], [26196, 0, "-"], [26197, 0, ">"], [26198, 0, "]"], [26199, 0, " "], [26200, 0, "("], [26201, 0, "r"], [26202, 0, "i"], [26203, 0, "g"], [26204, 0, "h"], [26205, 0, "t"], [26206, 0, "1"], [26207, 0, ")"], [26208, 0, " "], [26209, 0, "t"], [26210, 0, "o"], [26211, 0, " "], [26212, 0, "n"], [26213, 0, "o"], [26214, 0, "d"], [26215, 0, "e"], [26216, 0, " "], [26217, 0, "["], [26218, 0, "r"], [26219, 0, "i"], [26220, 0, "g"], [26221, 0, "h"], [26222, 0, "t"], [26223, 0, "]"], [26224, 0, " "], [26225, 0, "{"], [26226, 0, "d"], [26227, 0, "o"], [26228, 0, "c"], [26229, 0, "."], [26230, 0, "i"], [26231, 0, "d"], [26232, 0, "x"], [26233, 0, "("], [26234, 0, "1"], [26234, 1], [26234, 0, "0"], [26235, 0, ")"], [26236, 0, "."], [26237, 0, "i"], [26238, 0, "n"], [26239, 0, "s"], [26240, 0, "e"], [26241, 0, "r"], [26242, 0, "t"], [26243, 0, "("], [26244, 0, "`"], [26245, 0, "`"], [26246, 0, "y"], [26247, 0, "'"], [26248, 0, "'"], [26249, 0, ")"], [26250, 0, ";"], [26251, 0, "}"], [26252, 0, " "], [26253, 0, "("], [26254, 0, "r"], [26255, 0, "i"], [26256, 0, "g"], [26257, 0, "h"], [26258, 0, "t"], [26259, 0, "2"], [26260, 0, ")"], [26261, 0, ";"], [26262, 0, "\n"], [26263, 0, "\\"], [26264, 0, "d"], [26265, 0, "r"], [26266, 0, "a"], [26267, 0, "w"], [26268, 0, "["], [26268, 1], [26268, 0, " "], [26269, 0, "["], [26270, 0, "t"], [26271, 0, "h"], [26272, 0, "i"], [26273, 0, "c"], [26274, 0, "k"], [26275, 0, ","], [26276, 0, "-"], [26277, 0, ">"], [26278, 0, "]"], [26279, 0, " "], [26280, 0, "("], [26281, 0, "r"], [26282, 0, "i"], [26283, 0, "g"], [26284, 0, "h"], [26285, 0, "t"], [26286, 0, "2"], [26287, 0, ")"], [26288, 0, " "], [26289, 0, "t"], [26290, 0, "o"], [26291, 0, " "], [26292, 0, "n"], [26293, 0, "o"], [26294, 0, "d"], [26295, 0, "e"], [26296, 0, " "], [26297, 0, "["], [26298, 0, "r"], [26299, 0, "i"], [26300, 0, "g"], [26301, 0, "h"], [26302, 0, "t"], [26303, 0, "]"], [26304, 0, " "], [26305, 0, "{"], [26306, 0, "d"], [26307, 0, "o"], [26308, 0, "c"], [26309, 0, "."], [26310, 0, "i"], [26311, 0, "d"], [26312, 0, "x"], [26313, 0, "("], [26314, 0, "2"], [26315, 0, ")"], [26316, 0, "."], [26317, 0, "i"], [26318, 0, "n"], [26319, 0, "s"], [26320, 0, "e"], [26321, 0, "r"], [26322, 0, "t"], [26323, 0, "("], [26324, 0, "`"], [26325, 0, "`"], [26326, 0, "z"], [26327, 0, "'"], [26328, 0, "'"], [26329, 0, ")"], [26330, 0, ";"], [26331, 0, "}"], [26332, 0, " "], [26333, 0, "("], [26334, 0, "r"], [26335, 0, "i"], [26336, 0, "g"], [26337, 0, "h"], [26338, 0, "t"], [26339, 0, "3"], [26340, 0, ")"], [26341, 0, ";"], [25893, 1], [25893, 0, "3"], [25820, 1], [25820, 0, "5"], [25754, 1], [25754, 0, "7"], [25608, 1], [25608, 0, "3"], [25549, 1], [25549, 0, "5"], [25483, 1], [25483, 0, "7"], [26342, 0, "\n"], [26343, 0, "\\"], [26344, 0, "d"], [26345, 0, "r"], [26346, 0, "a"], [26347, 0, "w"], [26348, 0, " "], [26349, 0, "["], [26350, 0, "t"], [26351, 0, "h"], [26352, 0, "i"], [26353, 0, "c"], [26354, 0, "k"], [26355, 0, ","], [26356, 0, "d"], [26357, 0, "a"], [26358, 0, "s"], [26359, 0, "h"], [26360, 0, "e"], [26361, 0, "d"], [26362, 0, ","], [26363, 0, "b"], [26364, 0, "l"], [26365, 0, "u"], [26366, 0, "e"], [26367, 0, ","], [26368, 0, "-"], [26369, 0, ">"], [26370, 0, "]"], [26371, 0, " "], [26372, 0, "("], [26373, 0, "l"], [26374, 0, "e"], [26375, 0, "f"], [26376, 0, "t"], [26377, 0, "3"], [26378, 0, "."], [26379, 0, "s"], [26380, 0, "o"], [26381, 0, "u"], [26382, 0, "t"], [26383, 0, "h"], [26384, 0, ")"], [26385, 0, " "], [26386, 0, " "], [26387, 0, "t"], [26388, 0, "o"], [26389, 0, " "], [26390, 0, "["], [26391, 0, "o"], [26392, 0, "u"], [26393, 0, "t"], [26394, 0, "="], [26395, 0, "2"], [26396, 0, "7"], [26397, 0, "0"], [26398, 0, ","], [26399, 0, "i"], [26400, 0, "n"], [26401, 0, "="], [26402, 0, "1"], [26403, 0, "3"], [26404, 0, "5"], [26405, 0, "]"], [26406, 0, " "], [26407, 0, "("], [26408, 0, "r"], [26409, 0, "i"], [26410, 0, "g"], [26411, 0, "h"], [26412, 0, "t"], [26413, 0, "4"], [26414, 0, "."], [26415, 0, "n"], [26416, 0, "o"], [26417, 0, "r"], [26418, 0, "t"], [26419, 0, "h"], [26420, 0, " "], [26421, 0, "w"], [26422, 0, "e"], [26423, 0, "s"], [26424, 0, "t"], [26425, 0, ")"], [26426, 0, ";"], [26427, 0, "\n"], [26428, 0, "\\"], [26429, 0, "d"], [26430, 0, "r"], [26431, 0, "a"], [26432, 0, "w"], [26433, 0, " "], [26434, 0, "["], [26435, 0, "t"], [26436, 0, "h"], [26437, 0, "i"], [26438, 0, "c"], [26439, 0, "k"], [26440, 0, ","], [26441, 0, "d"], [26442, 0, "a"], [26443, 0, "s"], [26444, 0, "h"], [26445, 0, "e"], [26446, 0, "d"], [26447, 0, ","], [26448, 0, "b"], [26449, 0, "l"], [26450, 0, "u"], [26451, 0, "e"], [26452, 0, ","], [26453, 0, "-"], [26454, 0, ">"], [26455, 0, " "], [26456, 0, "("], [26457, 0, "r"], [26458, 0, "i"], [26459, 0, "g"], [26460, 0, "h"], [26461, 0, "t"], [26462, 0, "3"], [26463, 0, "."], [26464, 0, "s"], [26465, 0, "o"], [26466, 0, "u"], [26455, 0, "]"], [26468, 0, "t"], [26469, 0, "h"], [26470, 0, ")"], [26471, 0, " "], [26472, 0, "t"], [26473, 0, "o"], [26474, 0, " "], [26475, 0, "["], [26476, 0, "o"], [26477, 0, "u"], [26478, 0, "t"], [26479, 0, "="], [26480, 0, "2"], [26481, 0, "7"], [26482, 0, "0"], [26483, 0, ","], [26484, 0, "i"], [26485, 0, "n"], [26486, 0, "="], [26487, 0, "4"], [26488, 0, "5"], [26489, 0, "]"], [26490, 0, " "], [26491, 0, " "], [26492, 0, "("], [26493, 0, "l"], [26494, 0, "e"], [26495, 0, "f"], [26496, 0, "t"], [26497, 0, "4"], [26498, 0, "."], [26499, 0, "n"], [26500, 0, "o"], [26501, 0, "r"], [26502, 0, "t"], [26503, 0, "h"], [26504, 0, " "], [26505, 0, "e"], [26506, 0, "a"], [26507, 0, "s"], [26508, 0, "t"], [26509, 0, ")"], [26510, 0, ";"], [26031, 0, "\n"], [26032, 0, "\\"], [26033, 0, "n"], [26034, 0, "o"], [26035, 0, "d"], [26036, 0, "e"], [26037, 0, " "], [26038, 0, "("], [26039, 0, "c"], [26040, 0, "o"], [26041, 0, "m"], [26042, 0, "m"], [26043, 0, "s"], [26044, 0, ")"], [26045, 0, " "], [26046, 0, " "], [26047, 0, "a"], [26048, 0, "t"], [26049, 0, " "], [26050, 0, "("], [26051, 0, "5"], [26052, 0, ","], [26053, 0, " "], [26054, 0, "1"], [26055, 0, "."], [26056, 0, "4"], [26057, 0, ")"], [26058, 0, " "], [26059, 0, "["], [26060, 0, "t"], [26061, 0, "e"], [26062, 0, "x"], [26063, 0, "t"], [26064, 0, "="], [26065, 0, "b"], [26066, 0, "l"], [26067, 0, "u"], [26068, 0, "e"], [26069, 0, "]"], [26070, 0, " "], [26071, 0, "{"], [26072, 0, "\\"], [26073, 0, "f"], [26074, 0, "o"], [26075, 0, "o"], [26076, 0, "t"], [26077, 0, "n"], [26078, 0, "o"], [26079, 0, "t"], [26080, 0, "e"], [26081, 0, "s"], [26082, 0, "i"], [26083, 0, "z"], [26084, 0, "e"], [26085, 0, " "], [26086, 0, "n"], [26087, 0, "e"], [26088, 0, "t"], [26089, 0, "w"], [26090, 0, "o"], [26091, 0, "r"], [26092, 0, "k"], [26093, 0, " "], [26094, 0, "c"], [26095, 0, "o"], [26096, 0, "m"], [26097, 0, "m"], [26098, 0, "u"], [26099, 0, "n"], [26100, 0, "i"], [26101, 0, "c"], [26102, 0, "a"], [26103, 0, "t"], [26104, 0, "i"], [26105, 0, "o"], [26106, 0, "n"], [26107, 0, "}"], [26108, 0, ";"], [25461, 0, "\n"], [25462, 0, "\\"], [25463, 0, "d"], [25464, 0, "r"], [25465, 0, "a"], [25466, 0, "w"], [25467, 0, " "], [25468, 0, "["], [25469, 0, "p"], [25470, 0, "a"], [25471, 0, "t"], [25472, 0, "h"], [25472, 1], [25471, 1], [25470, 1], [25469, 1], [25468, 1], [25467, 1], [25466, 1], [25465, 1], [25464, 1], [25463, 1], [25463, 0, "p"], [25464, 0, "a"], [25465, 0, "t"], [25466, 0, "h"], [25467, 0, " "], [25468, 0, "["], [25469, 0, "d"], [25470, 0, "r"], [25471, 0, "a"], [25472, 0, "w"], [25473, 0, ","], [25474, 0, "d"], [25475, 0, "o"], [25476, 0, "t"], [25477, 0, "t"], [25478, 0, "e"], [25479, 0, "d"], [25480, 0, "]"], [25481, 0, " "], [25482, 0, "("], [25483, 0, "4"], [25484, 0, ","], [25485, 0, "-"], [25486, 0, "0"], [25487, 0, "5"], [25487, 1], [25487, 0, "."], [25488, 0, "5"], [25489, 0, ")"], [25490, 0, " "], [25491, 0, "-"], [25492, 0, "-"], [25493, 0, " "], [25494, 0, "("], [25495, 0, "4"], [25496, 0, ","], [25497, 0, "7"], [25498, 0, "."], [25499, 0, "5"], [25500, 0, ")"], [25501, 0, ";"], [25502, 0, "\n"], [25503, 0, "\\"], [25504, 0, "n"], [25505, 0, "o"], [25506, 0, "d"], [25507, 0, "e"], [25508, 0, " "], [25509, 0, "("], [25510, 0, "l"], [25511, 0, "e"], [25512, 0, "f"], [25513, 0, "t"], [25514, 0, "R"], [25515, 0, ")"], [25516, 0, " "], [25517, 0, " "], [25518, 0, "a"], [25519, 0, "t"], [25520, 0, " "], [25521, 0, "("], [25522, 0, "0"], [25523, 0, ","], [25524, 0, "8"], [25525, 0, "."], [25526, 0, "5"], [25499, 1], [25498, 1], [25497, 1], [25497, 0, "9"], [25525, 0, ")"], [25526, 0, " "], [25527, 0, "{"], [25528, 0, "R"], [25529, 0, "e"], [25530, 0, "p"], [25531, 0, "l"], [25532, 0, "i"], [25533, 0, "c"], [25534, 0, "a"], [25535, 0, " "], [25536, 0, "$"], [25537, 0, "p"], [25538, 0, "$"], [25539, 0, ":"], [25540, 0, "}"], [25541, 0, ";"], [25542, 0, "\n"], [25543, 0, "\\"], [25544, 0, "n"], [25545, 0, "o"], [25546, 0, "d"], [25547, 0, "e"], [25548, 0, " "], [25549, 0, "("], [25550, 0, "r"], [25551, 0, "i"], [25552, 0, "g"], [25553, 0, "h"], [25554, 0, "t"], [25555, 0, "R"], [25556, 0, ")"], [25557, 0, " "], [25558, 0, "a"], [25559, 0, "t"], [25560, 0, " "], [25561, 0, "("], [25562, 0, "8"], [25563, 0, ","], [25564, 0, "8"], [25565, 0, "."], [25566, 0, "5"], [25567, 0, ")"], [25568, 0, " "], [25569, 0, "{"], [25570, 0, "R"], [25571, 0, "e"], [25572, 0, "p"], [25573, 0, "l"], [25574, 0, "i"], [25575, 0, "c"], [25576, 0, "a"], [25577, 0, " "], [25578, 0, "$"], [25579, 0, "q"], [25580, 0, "$"], [25581, 0, ":"], [25582, 0, "}"], [25583, 0, ";"], [26931, 1], [26931, 0, "6"], [26932, 0, "."], [26933, 0, "5"], [27019, 1], [27018, 1], [27017, 1], [27016, 1], [27015, 1], [27014, 1], [27013, 1], [27012, 1], [27011, 1], [27010, 1], [27009, 1], [27008, 1], [27007, 1], [27006, 1], [27005, 1], [27004, 1], [27003, 1], [27002, 1], [27001, 1], [27000, 1], [26999, 1], [26998, 1], [26997, 1], [26996, 1], [26995, 1], [26994, 1], [26993, 1], [26992, 1], [26991, 1], [26990, 1], [26989, 1], [26988, 1], [26987, 1], [26986, 1], [26985, 1], [26984, 1], [26983, 1], [26982, 1], [26981, 1], [26980, 1], [26979, 1], [26978, 1], [26977, 1], [26976, 1], [26975, 1], [26974, 1], [26973, 1], [26972, 1], [26971, 1], [26970, 1], [26969, 1], [26968, 1], [26967, 1], [26966, 1], [26965, 1], [26964, 1], [26963, 1], [26962, 1], [26961, 1], [26960, 1], [26959, 1], [26958, 1], [26957, 1], [26956, 1], [26955, 1], [26954, 1], [26953, 1], [26952, 1], [26951, 1], [26950, 1], [26949, 1], [26948, 1], [26947, 1], [26946, 1], [26945, 1], [26944, 1], [26943, 1], [26942, 1], [26941, 1], [26940, 1], [26939, 1], [26938, 1], [26937, 1], [26936, 1], [26174, 1], [26174, 0, "4"], [26179, 1], [26179, 0, "5"], [25566, 1], [25565, 1], [25523, 1], [25523, 1], [25497, 1], [25497, 0, "8"], [25498, 0, "."], [25499, 0, "5"], [26710, 0, "\n"], [26711, 0, "\\"], [26712, 0, "d"], [26713, 0, "r"], [26713, 1], [26712, 1], [26711, 1], [26710, 1], [26541, 0, "\n"], [26542, 0, "\\"], [26543, 0, "d"], [26544, 0, "r"], [26545, 0, "a"], [26546, 0, "w"], [26547, 0, " "], [26548, 0, "["], [26549, 0, "t"], [26550, 0, "h"], [26551, 0, "i"], [26552, 0, "c"], [26553, 0, "k"], [26554, 0, ","], [26555, 0, "-"], [26556, 0, ">"], [26557, 0, " "], [26558, 0, "("], [26558, 1], [26557, 1], [26557, 0, "]"], [26558, 0, " "], [26559, 0, "("], [26560, 0, "l"], [26561, 0, "e"], [26562, 0, "f"], [26563, 0, "t"], [26564, 0, "3"], [26565, 0, ")"], [26566, 0, " "], [26567, 0, "t"], [26568, 0, "o"], [26569, 0, " "], [26567, 0, " "], [26571, 0, "("], [26572, 0, "l"], [26573, 0, "e"], [26574, 0, "f"], [26575, 0, "t"], [26576, 0, "4"], [26577, 0, ")"], [26578, 0, ";"], [26579, 0, "\n"], [26580, 0, "\\"], [26581, 0, "d"], [26582, 0, "r"], [26583, 0, "a"], [26584, 0, "w"], [26585, 0, " "], [26586, 0, "["], [26587, 0, "t"], [26588, 0, "h"], [26589, 0, "i"], [26590, 0, "c"], [26591, 0, "k"], [26592, 0, ","], [26593, 0, "-"], [26594, 0, ">"], [26595, 0, "]"], [26596, 0, " "], [26597, 0, "("], [26598, 0, "r"], [26599, 0, "i"], [26600, 0, "g"], [26601, 0, "h"], [26602, 0, "t"], [26603, 0, "3"], [26604, 0, ")"], [26605, 0, " "], [26606, 0, "t"], [26607, 0, "o"], [26608, 0, " "], [26609, 0, "("], [26610, 0, "r"], [26611, 0, "i"], [26612, 0, "g"], [26613, 0, "h"], [26614, 0, "t"], [26615, 0, "3"], [26615, 1], [26615, 0, "4"], [26616, 0, ")"], [26617, 0, ";"], [27008, 1], [27007, 1], [27006, 1], [27006, 0, "7"], [27007, 0, "."], [27008, 0, "0"], [27796, 1], [27796, 0, "."], [27797, 0, "g"], [27798, 0, "e"], [27799, 0, "t"], [27800, 0, "("], [27885, 1], [27885, 0, "."], [27886, 0, "g"], [27887, 0, "e"], [27888, 0, "t"], [27889, 0, "("], [27809, 1], [27809, 0, ")"], [27810, 0, "."], [27811, 0, "i"], [27812, 0, "d"], [27813, 0, "x"], [27814, 0, "("], [27815, 0, "1"], [27816, 0, ")"], [27817, 1], [27817, 1], [27817, 1], [27817, 1], [27817, 1], [27817, 1], [27817, 1], [27817, 1], [27817, 1], [27817, 1], [27900, 1], [27899, 1], [27898, 1], [27897, 1], [27896, 1], [27895, 1], [27895, 0, ")"], [27897, 0, "i"], [27898, 0, "d"], [27899, 0, "x"], [27900, 0, "("], [27901, 0, "1"], [27902, 0, ")"], [27903, 0, "."], [27904, 1], [27904, 1], [27904, 1], [27904, 1], [27904, 1], [27904, 0, "g"], [27905, 0, "e"], [27906, 0, "t"], [27907, 0, "("], [27916, 1], [27916, 0, ")"], [26906, 0, "\n"], [26907, 0, "\n"], [26908, 0, "\\"], [26909, 0, "b"], [26910, 0, "e"], [26911, 0, "g"], [26912, 0, "i"], [26913, 0, "n"], [26914, 0, "{"], [26915, 0, "f"], [26916, 0, "i"], [26917, 0, "g"], [26918, 0, "u"], [26919, 0, "r"], [26920, 0, "e"], [26921, 0, "*"], [26922, 0, "}"], [26923, 0, "\n"], [26924, 0, "\\"], [26925, 0, "c"], [26926, 0, "e"], [26927, 0, "n"], [26928, 0, "t"], [26929, 0, "e"], [26930, 0, "r"], [26931, 0, "i"], [26932, 0, "n"], [26933, 0, "g"], [26934, 0, "\n"], [26935, 0, "\\"], [26936, 0, "b"], [26937, 0, "e"], [26938, 0, "g"], [26939, 0, "i"], [26940, 0, "n"], [26941, 0, "{"], [26942, 0, "t"], [26943, 0, "i"], [26944, 0, "k"], [26945, 0, "z"], [26946, 0, "p"], [26947, 0, "i"], [26948, 0, "c"], [26949, 0, "t"], [26950, 0, "u"], [26951, 0, "r"], [26952, 0, "e"], [26953, 0, "}"], [26954, 0, "["], [26955, 0, "a"], [26956, 0, "u"], [26957, 0, "t"], [26958, 0, "o"], [26959, 0, ","], [26960, 0, "s"], [26961, 0, "c"], [26962, 0, "a"], [26963, 0, "l"], [26964, 0, "e"], [26965, 0, "="], [26966, 0, "0"], [26967, 0, "."], [26968, 0, "8"], [26969, 0, "]"], [26970, 0, "\n"], [26971, 0, "\\"], [26972, 0, "e"], [26973, 0, "n"], [26974, 0, "d"], [26975, 0, "{"], [26976, 0, "t"], [26977, 0, "i"], [26978, 0, "k"], [26979, 0, "z"], [26980, 0, "p"], [26981, 0, "i"], [26982, 0, "c"], [26983, 0, "t"], [26984, 0, "u"], [26985, 0, "r"], [26986, 0, "e"], [26987, 0, "}"], [26988, 0, "\n"], [26989, 0, "\\"], [26990, 0, "c"], [26991, 0, "a"], [26992, 0, "p"], [26993, 0, "t"], [26994, 0, "i"], [26995, 0, "o"], [26996, 0, "n"], [26997, 0, "{"], [26998, 0, "C"], [26999, 0, "o"], [27000, 0, "n"], [27001, 0, "c"], [27002, 0, "u"], [27003, 0, "r"], [27004, 0, "r"], [27005, 0, "e"], [27006, 0, "n"], [27007, 0, "t"], [27008, 0, "l"], [27009, 0, "y"], [27010, 0, " "], [27011, 0, "a"], [27012, 0, "s"], [27013, 0, "s"], [27014, 0, "i"], [27015, 0, "g"], [27016, 0, "n"], [27017, 0, "i"], [27018, 0, "n"], [27019, 0, "g"], [27020, 0, " "], [27021, 0, "v"], [27022, 0, "a"], [27023, 0, "l"], [27024, 0, "u"], [27025, 0, "e"], [27026, 0, "s"], [27027, 0, " "], [27028, 0, "o"], [27029, 0, "f"], [27030, 0, " "], [27031, 0, "d"], [27032, 0, "i"], [27033, 0, "f"], [27034, 0, "f"], [27035, 0, "e"], [27036, 0, "r"], [27037, 0, "e"], [27038, 0, "n"], [27039, 0, "t"], [27040, 0, " "], [27041, 0, "t"], [27042, 0, "y"], [27043, 0, "p"], [27044, 0, "e"], [27045, 0, "s"], [27046, 0, " "], [27047, 0, "t"], [27048, 0, "o"], [27049, 0, " "], [27050, 0, "t"], [27051, 0, "h"], [27052, 0, "e"], [27053, 0, " "], [27054, 0, "s"], [27055, 0, "a"], [27056, 0, "m"], [27057, 0, "e"], [27058, 0, " "], [27059, 0, "m"], [27060, 0, "a"], [27061, 0, "p"], [27062, 0, " "], [27063, 0, "k"], [27064, 0, "e"], [27065, 0, "y"], [27066, 0, "."], [27067, 0, "}"], [27068, 0, "\n"], [27069, 0, "\\"], [27070, 0, "e"], [27071, 0, "n"], [27072, 0, "d"], [27073, 0, "{"], [27074, 0, "f"], [27075, 0, "i"], [27076, 0, "g"], [27077, 0, "u"], [27078, 0, "r"], [27079, 0, "e"], [27080, 0, "*"], [27081, 0, "}"], [26970, 0, "\n"], [26971, 0, "\\"], [26972, 0, "p"], [26973, 0, "a"], [26974, 0, "t"], [26975, 0, "h"], [26976, 0, " "], [26977, 0, "["], [26978, 0, "d"], [26979, 0, "r"], [26980, 0, "a"], [26981, 0, "w"], [26982, 0, ","], [26983, 0, "d"], [26984, 0, "o"], [26985, 0, "t"], [26986, 0, "t"], [26987, 0, "e"], [26988, 0, "d"], [26989, 0, "]"], [26990, 0, " "], [26991, 0, "("], [26992, 0, "4"], [26993, 0, ","], [26994, 0, "-"], [26995, 0, "0"], [26996, 0, "."], [26997, 0, "5"], [26998, 0, ")"], [26999, 0, " "], [27000, 0, "-"], [27001, 0, "-"], [27002, 0, " "], [27003, 0, "("], [27004, 0, "4"], [27005, 0, ","], [27006, 0, "8"], [27007, 0, "."], [27008, 0, "5"], [27009, 0, ")"], [27010, 0, ";"], [27011, 0, "\n"], [27012, 0, "\\"], [27013, 0, "n"], [27014, 0, "o"], [27015, 0, "d"], [27016, 0, "e"], [27017, 0, " "], [27018, 0, "("], [27019, 0, "l"], [27020, 0, "e"], [27021, 0, "f"], [27022, 0, "t"], [27023, 0, "1"], [27024, 0, ")"], [27025, 0, " "], [27026, 0, " "], [27027, 0, "a"], [27028, 0, "t"], [27029, 0, " "], [27030, 0, "("], [27031, 0, "0"], [27032, 0, ","], [27033, 0, "7"], [27034, 0, ")"], [27035, 0, " "], [27036, 0, "["], [27037, 0, "r"], [27038, 0, "e"], [27039, 0, "c"], [27040, 0, "t"], [27041, 0, "a"], [27042, 0, "n"], [27043, 0, "g"], [27044, 0, "l"], [27045, 0, "e"], [27046, 0, ","], [27047, 0, "d"], [27048, 0, "r"], [27049, 0, "a"], [27050, 0, "w"], [27051, 0, "}"], [27051, 1], [27051, 0, "]"], [27052, 0, " "], [27053, 0, "{"], [27054, 0, "\\"], [27055, 0, "{"], [27056, 0, "\\"], [27057, 0, "}"], [27058, 0, "}"], [27059, 0, ";"], [27060, 0, "\n"], [27061, 0, "\\"], [27062, 0, "n"], [27063, 0, "o"], [27064, 0, "d"], [27065, 0, "e"], [27066, 0, " "], [27067, 0, "("], [27068, 0, "r"], [27069, 0, "i"], [27070, 0, "g"], [27071, 0, "h"], [27072, 0, "t"], [27073, 0, "1"], [27074, 0, ")"], [27075, 0, " "], [27076, 0, "a"], [27077, 0, "t"], [27078, 0, " "], [27079, 0, "("], [27080, 0, "0"], [27080, 1], [27080, 0, "8"], [27081, 0, ","], [27082, 0, "7"], [27083, 0, ")"], [27084, 0, " "], [27085, 0, "["], [27086, 0, "r"], [27087, 0, "e"], [27088, 0, "c"], [27089, 0, "t"], [27090, 0, "a"], [27091, 0, "n"], [27092, 0, "g"], [27093, 0, "l"], [27094, 0, "e"], [27095, 0, ","], [27096, 0, "d"], [27097, 0, "r"], [27098, 0, "a"], [27099, 0, "w"], [27100, 0, "]"], [27101, 0, " "], [27102, 0, "{"], [27103, 0, "\\"], [27104, 0, "{"], [27105, 0, "\\"], [27106, 0, "}"], [27107, 0, "}"], [27108, 0, ";"], [27060, 0, "\n"], [27061, 0, "\\"], [27062, 0, "n"], [27063, 0, "o"], [27064, 0, "d"], [27065, 0, "e"], [27066, 0, " "], [27067, 0, "("], [27068, 0, "l"], [27069, 0, "e"], [27070, 0, "f"], [27071, 0, "t"], [27072, 0, "2"], [27073, 0, ")"], [27074, 0, " "], [27075, 0, " "], [27076, 0, "a"], [27077, 0, "t"], [27078, 0, " "], [27079, 0, "("], [27080, 0, "0"], [27081, 0, ","], [27082, 0, "5"], [27083, 0, ")"], [27084, 0, " "], [27085, 0, "["], [27086, 0, "r"], [27087, 0, "e"], [27088, 0, "c"], [27089, 0, "t"], [27090, 0, "a"], [27091, 0, "n"], [27092, 0, "g"], [27093, 0, "l"], [27094, 0, "e"], [27095, 0, ","], [27096, 0, "d"], [27097, 0, "r"], [27098, 0, "a"], [27099, 0, "w"], [27100, 0, "]"], [27101, 0, " "], [27102, 0, "{"], [27103, 0, "\\"], [27104, 0, "{"], [27105, 0, "`"], [27106, 0, "`"], [27107, 0, "a"], [27108, 0, "'"], [27109, 0, "'"], [27110, 0, ":"], [27111, 0, " "], [27112, 0, "\\"], [27113, 0, "{"], [27114, 0, "\\"], [27115, 0, "}"], [27116, 0, "\\"], [27117, 0, "}"], [27118, 0, "}"], [27119, 0, ";"], [27120, 0, "\n"], [27121, 0, "\\"], [27122, 0, "n"], [27123, 0, "o"], [27124, 0, "d"], [27125, 0, "e"], [27126, 0, " "], [27127, 0, "("], [27128, 0, "l"], [27129, 0, "e"], [27130, 0, "f"], [27131, 0, "t"], [27132, 0, "3"], [27133, 0, ")"], [27134, 0, " "], [27135, 0, " "], [27136, 0, "a"], [27137, 0, "t"], [27138, 0, " "], [27139, 0, "("], [27140, 0, "0"], [27141, 0, ","], [27142, 0, "4"], [27142, 1], [27142, 0, "3"], [27143, 0, ")"], [27144, 0, " "], [27145, 0, "["], [27146, 0, "r"], [27147, 0, "e"], [27148, 0, "c"], [27149, 0, "t"], [27150, 0, "a"], [27151, 0, "n"], [27152, 0, "g"], [27153, 0, "l"], [27154, 0, "e"], [27155, 0, ","], [27156, 0, "d"], [27157, 0, "r"], [27158, 0, "w"], [27159, 0, "a"], [27160, 0, "w"], [27160, 1], [27159, 1], [27158, 1], [27158, 0, "a"], [27159, 0, "w"], [27160, 0, "]"], [27161, 0, " "], [27162, 0, "{"], [27163, 0, "\\"], [27164, 0, "{"], [27165, 0, "`"], [27166, 0, "`"], [27167, 0, "a"], [27168, 0, "'"], [27169, 0, "'"], [27170, 0, ":"], [27171, 0, " "], [27172, 0, "\\"], [27173, 0, "{"], [27174, 0, "`"], [27175, 0, "`"], [27176, 0, "x"], [27177, 0, "'"], [27178, 0, "'"], [27179, 0, ":"], [27180, 0, " "], [27181, 0, "`"], [27182, 0, "`"], [27183, 0, "y"], [27184, 0, "'"], [27185, 0, "'"], [27186, 0, "\\"], [27187, 0, "}"], [27188, 0, "\\"], [27189, 0, "}"], [27190, 0, "}"], [27191, 0, ";"], [27241, 0, "\n"], [27242, 0, "\\"], [27243, 0, "n"], [27244, 0, "o"], [27245, 0, "d"], [27246, 0, "e"], [27247, 0, " "], [27248, 0, "("], [27249, 0, "r"], [27250, 0, "i"], [27251, 0, "g"], [27252, 0, "h"], [27253, 0, "t"], [27254, 0, "2"], [27255, 0, ")"], [27256, 0, " "], [27257, 0, "a"], [27258, 0, "t"], [27259, 0, " "], [27260, 0, "("], [27261, 0, "8"], [27262, 0, ","], [27263, 0, "5"], [27264, 0, ")"], [27265, 0, " "], [27266, 0, "["], [27267, 0, "r"], [27268, 0, "e"], [27269, 0, "c"], [27270, 0, "t"], [27271, 0, "a"], [27272, 0, "n"], [27273, 0, "g"], [27274, 0, "l"], [27275, 0, "e"], [27276, 0, ","], [27277, 0, "d"], [27278, 0, "r"], [27279, 0, "a"], [27280, 0, "w"], [27281, 0, "]"], [27282, 0, " "], [27283, 0, "["], [27283, 1], [27283, 0, "{"], [27284, 0, "\\"], [27285, 0, "{"], [27286, 0, "`"], [27287, 0, "`"], [27288, 0, "a"], [27289, 0, "'"], [27290, 0, "'"], [27291, 0, ":"], [27292, 0, " "], [27293, 0, "["], [27294, 0, "]"], [27295, 0, "\\"], [27296, 0, "}"], [27297, 0, "}"], [27298, 0, ";"], [27299, 0, "\n"], [27300, 0, "\\"], [27301, 0, "n"], [27302, 0, "o"], [27303, 0, "d"], [27304, 0, "e"], [27305, 0, " "], [27306, 0, "("], [27307, 0, "r"], [27308, 0, "i"], [27309, 0, "g"], [27310, 0, "h"], [27311, 0, "t"], [27312, 0, "3"], [27313, 0, ")"], [27314, 0, " "], [27315, 0, "a"], [27316, 0, "t"], [27317, 0, " "], [27318, 0, "("], [27319, 0, "8"], [27320, 0, ","], [27321, 0, "4"], [27321, 1], [27321, 0, "3"], [27322, 0, ")"], [27323, 0, " "], [27324, 0, "["], [27325, 0, "r"], [27326, 0, "e"], [27327, 0, "c"], [27328, 0, "t"], [27329, 0, "a"], [27330, 0, "n"], [27331, 0, "g"], [27332, 0, "l"], [27333, 0, "e"], [27334, 0, ","], [27335, 0, "d"], [27336, 0, "r"], [27337, 0, "a"], [27338, 0, "w"], [27339, 0, "]"], [27340, 0, " "], [27341, 0, "{"], [27342, 0, "\\"], [27343, 0, "{"], [27344, 0, "`"], [27345, 0, "`"], [27346, 0, "a"], [27347, 0, "'"], [27348, 0, "'"], [27349, 0, ":"], [27350, 0, " "], [27351, 0, "["], [27352, 0, "`"], [27353, 0, "`"], [27354, 0, "z"], [27355, 0, "'"], [27356, 0, "'"], [27357, 0, "]"], [27358, 0, "\\"], [27359, 0, "}"], [27360, 0, "]"], [27361, 0, ";"], [27360, 1], [27360, 0, "\n"], [27360, 1], [27360, 0, "}"], [27192, 0, "\n"], [27193, 0, "\\"], [27194, 0, "n"], [27195, 0, "o"], [27196, 0, "d"], [27197, 0, "e"], [27198, 0, " "], [27199, 0, "("], [27200, 0, "l"], [27201, 0, "e"], [27202, 0, "f"], [27203, 0, "t"], [27204, 0, "3"], [27204, 1], [27204, 0, "4"], [27205, 0, ")"], [27206, 0, " "], [27207, 0, " "], [27208, 0, "a"], [27209, 0, "t"], [27210, 0, " "], [27211, 0, "("], [27212, 0, "0"], [27213, 0, ","], [27214, 0, "0"], [27215, 0, ")"], [27216, 0, " "], [27217, 0, "["], [27218, 0, "r"], [27219, 0, "e"], [27220, 0, "c"], [27221, 0, "t"], [27222, 0, "a"], [27223, 0, "n"], [27224, 0, "g"], [27225, 0, "l"], [27226, 0, "e"], [27227, 0, ","], [27228, 0, "d"], [27229, 0, "r"], [27230, 0, "a"], [27231, 0, "w"], [27232, 0, "]"], [27233, 0, " "], [27234, 0, "{"], [27235, 0, "\\"], [27236, 0, "_"], [27236, 1], [27236, 0, "{"], [27237, 0, "`"], [27238, 0, "`"], [27239, 0, "a"], [27240, 0, "'"], [27237, 0, "m"], [27238, 0, "a"], [27239, 0, "p"], [27240, 0, "T"], [27241, 0, "("], [27246, 0, "'"], [27247, 0, ")"], [27248, 0, ":"], [27249, 0, " "], [27250, 0, "\\"], [27251, 0, "{"], [27252, 0, "`"], [27253, 0, "`"], [27254, 0, "x"], [27255, 0, "'"], [27256, 0, "'"], [27257, 0, ":"], [27258, 0, " "], [27259, 0, "`"], [27260, 0, "`"], [27261, 0, "y"], [27262, 0, "'"], [27263, 0, "'"], [27264, 0, "\\"], [27265, 0, "}"], [27266, 0, ","], [27267, 0, " "], [27268, 0, "l"], [27269, 0, "i"], [27270, 0, "s"], [27271, 0, "t"], [27272, 0, "T"], [27273, 0, "("], [27274, 0, "`"], [27275, 0, "`"], [27276, 0, "a"], [27277, 0, "'"], [27278, 0, "'"], [27278, 1], [27278, 0, "'"], [27279, 0, ")"], [27280, 0, ":"], [27281, 0, " "], [27282, 0, "["], [27283, 0, "`"], [27284, 0, "`"], [27285, 0, "z"], [27286, 0, "'"], [27287, 0, "'"], [27288, 0, "]"], [27289, 0, "\\"], [27290, 0, "}"], [27291, 0, "}"], [27292, 0, ";"], [27198, 0, " "], [27199, 0, "["], [27200, 0, "m"], [27201, 0, "a"], [27202, 0, "t"], [27203, 0, "r"], [27204, 0, "i"], [27205, 0, "x"], [27206, 0, "]"], [27216, 1], [27243, 0, "\n"], [27244, 0, " "], [27245, 0, " "], [27246, 0, " "], [27247, 0, " "], [27248, 0, "\\"], [27249, 0, "n"], [27250, 0, "o"], [27251, 0, "d"], [27252, 0, "e"], [27253, 0, " "], [27254, 0, "{"], [27287, 0, "}"], [27288, 0, ";"], [27289, 0, " "], [27290, 0, "\\"], [27291, 0, "\\"], [27292, 0, "\n"], [27293, 0, " "], [27294, 0, " "], [27295, 0, " "], [27296, 0, " "], [27297, 0, "\\"], [27298, 0, "n"], [27299, 0, "o"], [27300, 0, "d"], [27301, 0, "e"], [27302, 0, " "], [27303, 0, "{"], [27304, 1], [27329, 0, " "], [27330, 0, "\\"], [27331, 0, "\\"], [27332, 0, "\n"], [27333, 0, "}"], [27334, 0, ";"], [27505, 0, "\n"], [27506, 0, "\\"], [27507, 0, "n"], [27508, 0, "o"], [27509, 0, "d"], [27510, 0, "e"], [27511, 0, " "], [27512, 0, "["], [27513, 0, "m"], [27514, 0, "a"], [27515, 0, "t"], [27516, 0, "r"], [27517, 0, "i"], [27518, 0, "x"], [27519, 0, "]"], [27520, 0, " "], [27521, 0, "("], [27522, 0, "r"], [27523, 0, "i"], [27524, 0, "g"], [27525, 0, "h"], [27526, 0, "t"], [27527, 0, "4"], [27528, 0, "3"], [27528, 1], [27528, 0, ")"], [27529, 0, " "], [27530, 0, "a"], [27531, 0, "t"], [27532, 0, " "], [27533, 0, "("], [27534, 0, "8"], [27535, 0, ","], [27536, 0, "0"], [27537, 0, ")"], [27538, 0, " "], [27539, 0, "["], [27540, 0, "r"], [27541, 0, "e"], [27542, 0, "c"], [27543, 0, "t"], [27544, 0, "a"], [27545, 0, "n"], [27546, 0, "g"], [27547, 0, "l"], [27548, 0, "e"], [27549, 0, ","], [27550, 0, "d"], [27551, 0, "r"], [27552, 0, "a"], [27553, 0, "w"], [27554, 0, "]"], [27555, 0, " "], [27556, 0, "{"], [27557, 0, "\n"], [27558, 0, " "], [27559, 0, " "], [27560, 0, " "], [27561, 0, " "], [27562, 0, "\\"], [27563, 0, "n"], [27564, 0, "o"], [27565, 0, "d"], [27566, 0, "e"], [27567, 0, " "], [27568, 0, "{"], [27569, 0, "\\"], [27570, 0, "{"], [27571, 0, "m"], [27572, 0, "a"], [27573, 0, "p"], [27574, 0, "T"], [27575, 0, "("], [27576, 0, "`"], [27577, 0, "`"], [27578, 0, "a"], [27579, 0, "'"], [27580, 0, "'"], [27581, 0, ")"], [27582, 0, ":"], [27583, 0, " "], [27584, 0, "`"], [27585, 0, "{"], [27585, 1], [27584, 1], [27584, 0, "\\"], [27585, 0, "{"], [27586, 0, "`"], [27587, 0, "`"], [27588, 0, "x"], [27589, 0, "'"], [27590, 0, "'"], [27591, 0, ":"], [27592, 0, " "], [27593, 0, "`"], [27594, 0, "`"], [27595, 0, "y"], [27596, 0, "'"], [27597, 0, "'"], [27598, 0, "\\"], [27599, 0, "}"], [27600, 0, ","], [27601, 0, "}"], [27602, 0, ";"], [27603, 0, " "], [27604, 0, "\\"], [27605, 0, "\\"], [27606, 0, "\n"], [27607, 0, " "], [27608, 0, " "], [27609, 0, " "], [27610, 0, " "], [27611, 0, "\\"], [27612, 0, "n"], [27613, 0, "o"], [27614, 0, "d"], [27615, 0, "e"], [27616, 0, " "], [27617, 0, "{"], [27618, 0, "l"], [27619, 0, "i"], [27620, 0, "s"], [27621, 0, "t"], [27622, 0, "T"], [27623, 0, "("], [27624, 0, "`"], [27625, 0, "`"], [27626, 0, "a"], [27627, 0, "'"], [27628, 0, "'"], [27629, 0, ")"], [27630, 0, ":"], [27631, 0, " "], [27632, 0, "["], [27633, 0, "`"], [27634, 0, "`"], [27635, 0, "z"], [27636, 0, "'"], [27637, 0, "'"], [27638, 0, "]"], [27639, 0, "\\"], [27640, 0, "}"], [27641, 0, "}"], [27642, 0, ";"], [27643, 0, " "], [27644, 0, "\\"], [27645, 0, "\\"], [27646, 0, "\n"], [27647, 0, "}"], [27648, 0, ";"], [27649, 0, "\n"], [27650, 0, "\\"], [27651, 0, "d"], [27652, 0, "r"], [27653, 0, "a"], [27654, 0, "w"], [27655, 0, " "], [27656, 0, "["], [27657, 0, "t"], [27658, 0, "h"], [27659, 0, "i"], [27660, 0, "c"], [27661, 0, "k"], [27662, 0, ","], [27663, 0, "-"], [27664, 0, ">"], [27665, 0, " "], [27665, 1], [27665, 0, "]"], [27666, 0, " "], [27667, 0, "("], [27668, 0, "l"], [27669, 0, "e"], [27670, 0, "f"], [27671, 0, "t"], [27672, 0, "1"], [27673, 0, ")"], [27674, 0, " "], [27675, 0, " "], [27676, 0, "t"], [27677, 0, "o"], [27678, 0, " "], [27679, 0, "n"], [27680, 0, "o"], [27681, 0, "d"], [27682, 0, "e"], [27683, 0, " "], [27684, 0, "["], [27685, 0, "l"], [27686, 0, "e"], [27687, 0, "f"], [27688, 0, "t"], [27689, 0, " "], [27689, 1], [27689, 0, "]"], [27690, 0, " "], [27691, 0, " "], [27692, 0, "{"], [27693, 0, "d"], [27694, 0, "o"], [27695, 0, "c"], [27696, 0, "."], [27697, 0, "g"], [27698, 0, "e"], [27699, 0, "t"], [27700, 0, "("], [27701, 0, "`"], [27702, 0, "`"], [27703, 0, "a"], [27704, 0, "'"], [27705, 0, "'"], [27706, 0, ")"], [27707, 0, " "], [27708, 0, ":"], [27709, 0, "="], [27710, 0, " "], [27711, 0, "\\"], [27712, 0, "{"], [27713, 0, "\\"], [27714, 0, "}"], [27715, 0, ";"], [27716, 0, "}"], [27717, 0, " "], [27718, 0, "("], [27719, 0, "l"], [27720, 0, "e"], [27721, 0, "f"], [27722, 0, "t"], [27723, 0, "2"], [27724, 0, ")"], [27725, 0, ";"], [27726, 0, "\n"], [27727, 0, "\\"], [27728, 0, "d"], [27729, 0, "r"], [27730, 0, "a"], [27731, 0, "w"], [27732, 0, " "], [27733, 0, "["], [27734, 0, "t"], [27735, 0, "h"], [27736, 0, "i"], [27737, 0, "c"], [27738, 0, "k"], [27739, 0, ","], [27740, 0, "-"], [27741, 0, ">"], [27742, 0, " "], [27742, 1], [27742, 0, "]"], [27743, 0, " "], [27744, 0, "("], [27745, 0, "l"], [27746, 0, "e"], [27747, 0, "f"], [27748, 0, "t"], [27749, 0, "2"], [27750, 0, ")"], [27751, 0, " "], [27752, 0, " "], [27753, 0, "t"], [27754, 0, "o"], [27755, 0, " "], [27756, 0, "n"], [27757, 0, "o"], [27758, 0, "d"], [27759, 0, "e"], [27760, 0, " "], [27761, 0, "["], [27762, 0, "l"], [27763, 0, "e"], [27764, 0, "f"], [27765, 0, "t"], [27766, 0, "]"], [27767, 0, " "], [27768, 0, " "], [27769, 0, "("], [27770, 0, "d"], [27771, 0, "o"], [27772, 0, "c"], [27773, 0, "."], [27774, 0, "g"], [27775, 0, "e"], [27776, 0, "t"], [27777, 0, "("], [27778, 0, "`"], [27779, 0, "`"], [27780, 0, "a"], [27781, 0, "'"], [27782, 0, "'"], [27783, 0, ")"], [27784, 0, "."], [27785, 0, "g"], [27786, 0, "e"], [27787, 0, "t"], [27788, 0, "("], [27789, 0, "`"], [27790, 0, "`"], [27791, 0, "x"], [27792, 0, "'"], [27793, 0, "'"], [27794, 0, ")"], [27795, 0, " "], [27796, 0, ":"], [27797, 0, "="], [27798, 0, " "], [27799, 0, "`"], [27800, 0, "`"], [27801, 0, "y"], [27802, 0, "'"], [27803, 0, "'"], [27804, 0, ";"], [27805, 0, "}"], [27806, 0, " "], [27807, 0, "("], [27808, 0, "l"], [27809, 0, "e"], [27810, 0, "f"], [27811, 0, "t"], [27812, 0, "3"], [27813, 0, ")"], [27814, 0, ";"], [27815, 0, "\n"], [27816, 0, "\\"], [27817, 0, "d"], [27818, 0, "r"], [27819, 0, "a"], [27820, 0, "w"], [27821, 0, " "], [27822, 0, "["], [27823, 0, "t"], [27824, 0, "h"], [27825, 0, "i"], [27826, 0, "c"], [27827, 0, "k"], [27828, 0, ","], [27829, 0, "-"], [27830, 0, ">"], [27831, 0, " "], [27831, 1], [27831, 0, "]"], [27832, 0, " "], [27833, 0, "("], [27834, 0, "r"], [27835, 0, "i"], [27836, 0, "g"], [27837, 0, "h"], [27838, 0, "t"], [27839, 0, "1"], [27840, 0, ")"], [27841, 0, " "], [27842, 0, "t"], [27843, 0, "o"], [27844, 0, " "], [27845, 0, "n"], [27846, 0, "o"], [27847, 0, "d"], [27848, 0, "e"], [27849, 0, " "], [27850, 0, "["], [27851, 0, "r"], [27852, 0, "i"], [27853, 0, "g"], [27854, 0, "h"], [27855, 0, "t"], [27856, 0, "]"], [27857, 0, " "], [27769, 1], [27769, 0, "{"], [27858, 0, "{"], [27859, 0, "d"], [27860, 0, "o"], [27861, 0, "c"], [27862, 0, "."], [27863, 0, "g"], [27864, 0, "e"], [27865, 0, "t"], [27866, 0, "("], [27867, 0, "`"], [27868, 0, "`"], [27869, 0, "a"], [27870, 0, "'"], [27871, 0, "'"], [27872, 0, ")"], [27873, 0, " "], [27874, 0, ":"], [27875, 0, "="], [27876, 0, " "], [27877, 0, "["], [27878, 0, "]"], [27879, 0, ";"], [27880, 0, "}"], [27881, 0, " "], [27882, 0, "("], [27883, 0, "r"], [27884, 0, "i"], [27885, 0, "g"], [27886, 0, "h"], [27887, 0, "t"], [27888, 0, "2"], [27889, 0, ")"], [27890, 0, ";"], [27891, 0, "\n"], [27892, 0, "\\"], [27893, 0, "d"], [27894, 0, "r"], [27895, 0, "a"], [27896, 0, "w"], [27897, 0, " "], [27898, 0, "["], [27899, 0, "t"], [27900, 0, "h"], [27901, 0, "i"], [27902, 0, "c"], [27903, 0, "k"], [27904, 0, ","], [27905, 0, "-"], [27906, 0, ">"], [27907, 0, " "], [27908, 0, "]"], [27908, 1], [27907, 1], [27907, 0, "]"], [27908, 0, " "], [27909, 0, "("], [27910, 0, "r"], [27911, 0, "i"], [27912, 0, "g"], [27913, 0, "h"], [27914, 0, "t"], [27915, 0, "2"], [27916, 0, ")"], [27917, 0, " "], [27918, 0, "t"], [27919, 0, "o"], [27920, 0, " "], [27921, 0, "n"], [27922, 0, "o"], [27923, 0, "d"], [27924, 0, "e"], [27925, 0, " "], [27926, 0, "["], [27927, 0, "r"], [27928, 0, "i"], [27929, 0, "g"], [27930, 0, "h"], [27931, 0, "t"], [27932, 0, "]"], [27933, 0, " "], [27934, 0, "{"], [27935, 0, "d"], [27936, 0, "o"], [27937, 0, "c"], [27938, 0, "."], [27939, 0, "g"], [27940, 0, "e"], [27941, 0, "t"], [27942, 0, "("], [27943, 0, "`"], [27944, 0, "`"], [27945, 0, "a"], [27946, 0, "'"], [27947, 0, "'"], [27948, 0, ")"], [27949, 0, " "], [27949, 1], [27949, 0, "."], [27950, 0, "i"], [27951, 0, "d"], [27952, 0, "x"], [27953, 0, "("], [27954, 0, "0"], [27955, 0, ")"], [27956, 0, "."], [27957, 0, "i"], [27958, 0, "n"], [27959, 0, "s"], [27960, 0, "e"], [27961, 0, "r"], [27962, 0, "t"], [27963, 0, "("], [27964, 0, "`"], [27965, 0, "`"], [27966, 0, "z"], [27967, 0, "'"], [27968, 0, "'"], [27969, 0, ")"], [27970, 0, ";"], [27971, 0, "}"], [27972, 0, " "], [27973, 0, "("], [27974, 0, "r"], [27975, 0, "i"], [27976, 0, "g"], [27977, 0, "h"], [27978, 0, "t"], [27979, 0, "3"], [27980, 0, ")"], [27981, 0, ";"], [27982, 0, "\n"], [27983, 0, "\\"], [27984, 0, "d"], [27985, 0, "r"], [27986, 0, "a"], [27987, 0, "w"], [27988, 0, " "], [27989, 0, "["], [27990, 0, "t"], [27991, 0, "h"], [27992, 0, "i"], [27993, 0, "c"], [27994, 0, "k"], [27995, 0, ","], [27996, 0, "-"], [27997, 0, ">"], [27998, 0, "]"], [27999, 0, " "], [28000, 0, "("], [28001, 0, "l"], [28002, 0, "e"], [28003, 0, "f"], [28004, 0, "t"], [28005, 0, "3"], [28006, 0, ")"], [28007, 0, " "], [28008, 0, " "], [28009, 0, "t"], [28010, 0, "o"], [28011, 0, " "], [28012, 0, "n"], [28012, 1], [28012, 0, "("], [28013, 0, "l"], [28014, 0, "e"], [28015, 0, "f"], [28016, 0, "t"], [28017, 0, "4"], [28018, 0, ")"], [28019, 0, ";"], [28020, 0, "\n"], [28021, 0, "\\"], [28022, 0, "d"], [28023, 0, "r"], [28024, 0, "a"], [28025, 0, "w"], [28026, 0, " "], [28027, 0, "["], [28028, 0, "t"], [28029, 0, "h"], [28030, 0, "i"], [28031, 0, "c"], [28032, 0, "k"], [28033, 0, ","], [28034, 0, "-"], [28035, 0, ">"], [28036, 0, "]"], [28037, 0, " "], [28038, 0, "("], [28039, 0, "l"], [28039, 1], [28039, 0, "r"], [28040, 0, "i"], [28041, 0, "g"], [28042, 0, "h"], [28043, 0, "t"], [28044, 0, "3"], [28045, 0, ")"], [28046, 0, " "], [28047, 0, "t"], [28048, 0, "o"], [28049, 0, " "], [28050, 0, "("], [28051, 0, "r"], [28052, 0, "i"], [28053, 0, "g"], [28054, 0, "h"], [28055, 0, "t"], [28056, 0, "4"], [28057, 0, ")"], [28058, 0, ";"], [28059, 0, "\n"], [28060, 0, "\\"], [28061, 0, "d"], [28062, 0, "r"], [28063, 0, "a"], [28064, 0, "w"], [28065, 0, " "], [28066, 0, "["], [28067, 0, "t"], [28068, 0, "h"], [28069, 0, "i"], [28070, 0, "c"], [28071, 0, "k"], [28072, 0, ","], [28073, 0, "d"], [28074, 0, "a"], [28075, 0, "s"], [28076, 0, "h"], [28077, 0, "e"], [28078, 0, "d"], [28079, 0, ","], [28080, 0, "b"], [28081, 0, "l"], [28082, 0, "u"], [28083, 0, "e"], [28084, 0, ","], [28085, 0, "-"], [28086, 0, ">"], [28087, 0, "]"], [28088, 0, " "], [28089, 0, "("], [28090, 0, "l"], [28091, 0, "e"], [28092, 0, "f"], [28093, 0, "t"], [28094, 0, "3"], [28095, 0, "."], [28096, 0, "s"], [28097, 0, "o"], [28098, 0, "u"], [28099, 0, "t"], [28100, 0, "h"], [28101, 0, ")"], [28102, 0, " "], [28103, 0, " "], [28104, 0, "t"], [28105, 0, "o"], [28106, 0, " "], [28107, 0, "["], [28108, 0, "o"], [28109, 0, "u"], [28110, 0, "t"], [28111, 0, "="], [28112, 0, "2"], [28113, 0, "7"], [28114, 0, "0"], [28115, 0, ","], [28116, 0, "i"], [28117, 0, "n"], [28118, 0, "="], [28119, 0, "1"], [28120, 0, "3"], [28121, 0, "5"], [28122, 0, "]"], [28123, 0, " "], [28124, 0, "("], [28125, 0, "r"], [28126, 0, "i"], [28127, 0, "g"], [28128, 0, "h"], [28129, 0, "t"], [28130, 0, "4"], [28131, 0, "."], [28132, 0, "n"], [28133, 0, "o"], [28134, 0, "r"], [28135, 0, "t"], [28136, 0, "h"], [28137, 0, " "], [28138, 0, "w"], [28139, 0, "e"], [28140, 0, "s"], [28141, 0, "t"], [28142, 0, ")"], [28143, 0, ";"], [28144, 0, "\n"], [28145, 0, "\\"], [28146, 0, "d"], [28147, 0, "r"], [28148, 0, "a"], [28149, 0, "w"], [28150, 0, " "], [28151, 0, "["], [28152, 0, "t"], [28153, 0, "h"], [28154, 0, "i"], [28155, 0, "c"], [28156, 0, "k"], [28157, 0, ","], [28158, 0, "d"], [28159, 0, "a"], [28160, 0, "s"], [28161, 0, "h"], [28162, 0, "e"], [28163, 0, "d"], [28164, 0, ","], [28165, 0, "b"], [28166, 0, "l"], [28167, 0, "u"], [28168, 0, "e"], [28169, 0, ","], [28170, 0, "-"], [28171, 0, ">"], [28172, 0, " "], [28173, 0, "["], [28173, 1], [28172, 1], [28172, 0, "]"], [28173, 0, " "], [28174, 0, "("], [28175, 0, "r"], [28176, 0, "i"], [28177, 0, "g"], [28178, 0, "h"], [28179, 0, "t"], [28180, 0, "3"], [28181, 0, "."], [28182, 0, "s"], [28183, 0, "o"], [28184, 0, "u"], [28185, 0, "t"], [28186, 0, "h"], [28187, 0, ")"], [28188, 0, " "], [28189, 0, "t"], [28190, 0, "o"], [28191, 0, " "], [28192, 0, "["], [28193, 0, "o"], [28194, 0, "u"], [28195, 0, "t"], [28196, 0, "="], [28197, 0, "2"], [28198, 0, "7"], [28199, 0, "0"], [28200, 0, ","], [28201, 0, "i"], [28202, 0, "n"], [28203, 0, "="], [28204, 0, "4"], [28205, 0, "5"], [28206, 0, "]"], [28207, 0, " "], [28208, 0, " "], [28209, 0, "("], [28210, 0, "l"], [28211, 0, "e"], [28212, 0, "f"], [28213, 0, "t"], [28214, 0, "4"], [28215, 0, "."], [28216, 0, "n"], [28217, 0, "o"], [28218, 0, "r"], [28219, 0, "t"], [28220, 0, "h"], [28221, 0, " "], [28222, 0, "e"], [28223, 0, "a"], [28224, 0, "s"], [28225, 0, "t"], [28226, 0, ")"], [28227, 0, ";"], [27006, 1], [27006, 0, "7"], [26997, 1], [26996, 1], [26995, 1], [26995, 0, "1"], [27647, 0, "\n"], [27648, 0, "\\"], [27649, 0, "n"], [27650, 0, "o"], [27651, 0, "d"], [27652, 0, "e"], [27653, 0, " "], [27654, 0, "("], [27655, 0, "c"], [27656, 0, "o"], [27657, 0, "m"], [27658, 0, "m"], [27659, 0, "s"], [27660, 0, ")"], [27661, 0, " "], [27662, 0, " "], [27663, 0, "a"], [27664, 0, "t"], [27665, 0, " "], [27666, 0, "("], [27667, 0, "4"], [27668, 0, ","], [27669, 0, "1"], [27670, 0, "."], [27671, 0, "5"], [27672, 0, ")"], [27673, 0, " "], [27674, 0, "["], [27675, 0, "t"], [27676, 0, "e"], [27677, 0, "x"], [27678, 0, "t"], [27679, 0, "="], [27680, 0, "b"], [27681, 0, "l"], [27682, 0, "u"], [27683, 0, "e"], [27684, 0, "]"], [27685, 0, " "], [27686, 0, "{"], [27687, 0, "\\"], [27688, 0, "f"], [27689, 0, "o"], [27690, 0, "o"], [27691, 0, "t"], [27692, 0, "n"], [27693, 0, "o"], [27694, 0, "t"], [27695, 0, "e"], [27696, 0, "s"], [27697, 0, "i"], [27698, 0, "z"], [27699, 0, "e"], [27700, 0, " "], [27701, 0, "n"], [27702, 0, "e"], [27703, 0, "t"], [27704, 0, "w"], [27705, 0, "o"], [27706, 0, "r"], [27707, 0, "k"], [27708, 0, " "], [27709, 0, "c"], [27710, 0, "o"], [27711, 0, "m"], [27712, 0, "m"], [27713, 0, "u"], [27714, 0, "n"], [27715, 0, "i"], [27716, 0, "c"], [27717, 0, "a"], [27718, 0, "t"], [27719, 0, "i"], [27720, 0, "o"], [27721, 0, "n"], [27722, 0, "}"], [27723, 0, ";"], [27671, 1], [27670, 1], [27669, 1], [27669, 0, "2"], [27670, 0, "."], [27671, 0, "0"], [79206, 0, "/"], [79207, 0, "B"], [79208, 0, "e"], [79209, 0, "r"], [79210, 0, "e"], [79211, 0, "s"], [79212, 0, "f"], [79213, 0, "o"], [79214, 0, "r"], [79215, 0, "d"], [79216, 0, "\n"], [79215, 1], [79214, 1], [79213, 1], [79212, 1], [79211, 1], [79210, 1], [79209, 1], [79208, 1], [79207, 1], [79206, 1], [79206, 1], [82614, 0, "d"], [82615, 0, "w"], [82629, 1], [82628, 1], [82627, 1], [82626, 1], [82625, 1], [82624, 1], [82623, 1], [82622, 1], [82621, 1], [82620, 1], [82619, 1], [82618, 1], [82617, 1], [82616, 1], [82615, 1], [82614, 1], [82614, 0, "M"], [82615, 0, "o"], [82616, 0, "r"], [82617, 0, "e"], [82618, 0, " "], [82619, 0, "r"], [82620, 0, "e"], [82621, 0, "c"], [82622, 0, "e"], [82623, 0, "n"], [82624, 0, "t"], [82625, 0, "l"], [82626, 0, "y"], [82627, 0, " "], [82628, 0, "h"], [82629, 0, "e"], [82630, 0, " "], [82631, 0, "h"], [82631, 1], [82630, 1], [82629, 1], [82628, 1], [82627, 1], [82626, 1], [82625, 1], [82624, 1], [82623, 1], [82622, 1], [82621, 1], [82620, 1], [82619, 1], [82618, 1], [82617, 1], [82616, 1], [82615, 1], [82614, 1], [82614, 0, "H"], [82615, 0, "i"], [82616, 0, "s"], [82617, 0, " "], [82618, 0, "c"], [82619, 0, "u"], [82620, 0, "r"], [82621, 0, "r"], [82622, 0, "e"], [82623, 0, "n"], [82624, 0, "t"], [82625, 0, " "], [82626, 0, "r"], [82627, 0, "e"], [82628, 0, "s"], [82629, 0, "e"], [82630, 0, "a"], [82631, 0, "r"], [82632, 0, "c"], [82633, 0, "h"], [82634, 0, " "], [82635, 0, "w"], [82636, 0, "i"], [82637, 0, "t"], [82637, 1], [82636, 1], [82635, 1], [82635, 0, "i"], [82636, 0, "n"], [82637, 0, "t"], [82638, 0, "e"], [82639, 0, "r"], [82640, 0, "e"], [82641, 0, "s"], [82642, 0, "t"], [82643, 0, "e"], [82643, 1], [82643, 0, "s"], [82644, 0, " "], [82645, 0, "c"], [82646, 0, "o"], [82647, 0, "v"], [82648, 0, "e"], [82649, 0, "r"], [82650, 0, " "], [82650, 1], [82649, 1], [82648, 1], [82647, 1], [82646, 1], [82645, 1], [82644, 1], [82644, 0, " "], [82645, 0, "i"], [82646, 0, "n"], [82647, 0, "c"], [82648, 0, "l"], [82649, 0, "u"], [82650, 0, "d"], [82651, 0, "e"], [82651, 1], [82650, 1], [82649, 1], [82648, 1], [82647, 1], [82646, 1], [82646, 0, "f"], [82647, 0, "o"], [82647, 1], [82646, 1], [82645, 1], [82644, 1], [82643, 1], [82642, 1], [82641, 1], [82640, 1], [82639, 1], [82638, 1], [82637, 1], [82636, 1], [82635, 1], [82635, 0, "w"], [82636, 0, "o"], [82637, 0, "r"], [82638, 0, "k"], [82639, 0, " "], [82640, 0, "e"], [82641, 0, "x"], [82642, 0, "p"], [82643, 0, "o"], [82644, 0, "r"], [82645, 0, "e"], [82645, 1], [82644, 1], [82643, 1], [82643, 0, "l"], [82644, 0, "o"], [82645, 0, "r"], [82646, 0, "e"], [82647, 0, "s"], [82648, 0, " "], [82649, 0, "t"], [82650, 0, "h"], [82651, 0, "e"], [82652, 0, " "], [82653, 0, "s"], [82654, 0, "e"], [82655, 0, "c"], [82656, 0, "u"], [82657, 0, "r"], [82658, 0, "i"], [82659, 0, "t"], [82660, 0, "y"], [82661, 0, " "], [82662, 0, "a"], [82663, 0, "n"], [82664, 0, "d"], [82665, 0, " "], [82666, 0, "p"], [82667, 0, "r"], [82668, 0, "i"], [82669, 0, "v"], [82670, 0, "a"], [82671, 0, "c"], [82672, 0, "y"], [82673, 0, " "], [82674, 0, "o"], [82675, 0, "f"], [82676, 0, " "], [82677, 0, "l"], [82678, 0, "a"], [82679, 0, "r"], [82680, 0, "g"], [82681, 0, "e"], [82682, 0, "-"], [82683, 0, "s"], [82684, 0, "c"], [82685, 0, "a"], [82686, 0, "l"], [82687, 0, "e"], [82688, 0, " "], [82689, 0, "d"], [82690, 0, "i"], [82691, 0, "s"], [82692, 0, "t"], [82693, 0, "r"], [82694, 0, "i"], [82695, 0, "b"], [82696, 0, "u"], [82697, 0, "t"], [82698, 0, "e"], [82699, 0, "d"], [82700, 0, " "], [82701, 0, "s"], [82702, 0, "y"], [82703, 0, "s"], [82704, 0, "t"], [82705, 0, "e"], [82706, 0, "m"], [82707, 0, "s"], [82708, 0, ","], [82709, 0, " "], [82710, 0, "w"], [82711, 0, "i"], [82712, 0, "t"], [82713, 0, "h"], [82714, 0, " "], [82715, 0, "p"], [82715, 1], [82715, 0, "a"], [82716, 0, " "], [82717, 0, "p"], [82718, 0, "a"], [82719, 0, "r"], [82720, 0, "t"], [82721, 0, "i"], [82722, 0, "c"], [82723, 0, "u"], [82724, 0, "l"], [82725, 0, "a"], [82726, 0, "r"], [82727, 0, " "], [82728, 0, "f"], [82729, 0, "o"], [82730, 0, "c"], [82731, 0, "u"], [82732, 0, "s"], [82733, 0, " "], [82734, 0, "o"], [82735, 0, "n"], [82736, 0, " "], [82737, 0, "m"], [82738, 0, "o"], [82739, 0, "b"], [82740, 0, "i"], [82740, 1], [82739, 1], [82738, 1], [82737, 1], [82737, 0, "n"], [82738, 0, "e"], [82739, 0, "t"], [82740, 0, "o"], [82741, 0, "w"], [82742, 0, "k"], [82743, 0, "r"], [82743, 1], [82742, 1], [82741, 1], [82740, 1], [82740, 0, "w"], [82741, 0, "o"], [82742, 0, "r"], [82743, 0, "k"], [82744, 0, "e"], [82745, 0, "d"], [82746, 0, " "], [82747, 0, "m"], [82748, 0, "o"], [82749, 0, "i"], [82750, 0, "l"], [82750, 1], [82749, 1], [82749, 0, "b"], [82750, 0, "i"], [82751, 0, "l"], [82752, 0, "e"], [82753, 0, " "], [82754, 0, "d"], [82755, 0, "e"], [82756, 0, "v"], [82757, 0, "i"], [82758, 0, "c"], [82759, 0, "e"], [82760, 0, "s"], [82761, 0, " "], [82762, 0, "s"], [82763, 0, "u"], [82764, 0, "c"], [82765, 0, "h"], [82766, 0, " "], [82767, 0, "a"], [82768, 0, "s"], [82769, 0, " "], [82770, 0, "s"], [82771, 0, "m"], [82772, 0, "a"], [82773, 0, "r"], [82774, 0, "t"], [82775, 0, "p"], [82776, 0, "h"], [82777, 0, "o"], [82778, 0, "n"], [82779, 0, "e"], [82780, 0, "s"], [82781, 0, " "], [82781, 1], [82781, 0, ","], [82782, 0, " "], [82783, 0, "t"], [82784, 0, "a"], [82785, 0, "b"], [82786, 0, "l"], [82787, 0, "e"], [82788, 0, "t"], [82789, 0, "s"], [82790, 0, " "], [82791, 0, "a"], [82792, 0, "n"], [82793, 0, "d"], [82794, 0, " "], [82795, 0, "l"], [82796, 0, "a"], [82797, 0, "b"], [82797, 1], [82797, 0, "p"], [82798, 0, "t"], [82799, 0, "o"], [82800, 0, "p"], [82801, 0, "s"], [82802, 0, "."], [82611, 1], [82610, 1], [82609, 1], [82608, 1], [82607, 1], [82606, 1], [82605, 1], [82604, 1], [82603, 1], [82602, 1], [82601, 1], [82600, 1], [82599, 1], [82598, 1], [82597, 1], [82596, 1], [82595, 1], [82594, 1], [82593, 1], [82592, 1], [82591, 1], [82590, 1], [82589, 1], [82588, 1], [82587, 1], [82586, 1], [82585, 1], [82584, 1], [82583, 1], [82582, 1], [82581, 1], [82580, 1], [82579, 1], [82578, 1], [82577, 1], [82576, 1], [82575, 1], [82574, 1], [82573, 1], [82572, 1], [82571, 1], [82570, 1], [82569, 1], [82568, 1], [82567, 1], [82566, 1], [82565, 1], [82564, 1], [82563, 1], [82562, 1], [82561, 1], [82560, 1], [82559, 1], [82558, 1], [82557, 1], [82556, 1], [82555, 1], [82554, 1], [82553, 1], [82552, 1], [82551, 1], [82550, 1], [82549, 1], [82548, 1], [82547, 1], [82546, 1], [82545, 1], [82544, 1], [82543, 1], [82543, 0, "e"], [82544, 0, "x"], [82545, 0, "p"], [82546, 0, "l"], [82547, 0, "o"], [82548, 0, "r"], [82549, 0, "e"], [82550, 0, "d"], [82551, 0, " "], [82552, 0, "t"], [82553, 0, "h"], [82554, 0, "e"], [82555, 0, " "], [82556, 0, "e"], [82557, 0, "f"], [82558, 0, "f"], [82559, 0, "e"], [82560, 0, "c"], [82561, 0, "t"], [82562, 0, "i"], [82563, 0, "v"], [82564, 0, "e"], [82565, 0, "n"], [82566, 0, "e"], [82567, 0, "s"], [82568, 0, "s"], [82569, 0, " "], [82570, 0, "o"], [82571, 0, "f"], [82572, 0, " "], [82573, 0, "a"], [82574, 0, "n"], [82575, 0, "o"], [82576, 0, "n"], [82577, 0, "y"], [82578, 0, "m"], [82579, 0, "i"], [82580, 0, "t"], [82581, 0, "y"], [82582, 0, " "], [82583, 0, "a"], [82584, 0, "s"], [82585, 0, " "], [82586, 0, "a"], [82587, 0, " "], [82588, 0, "m"], [82589, 0, "e"], [82590, 0, "a"], [82591, 0, "n"], [82592, 0, "s"], [82593, 0, " "], [82594, 0, "o"], [82595, 0, "f"], [82596, 0, " "], [82597, 0, "p"], [82598, 0, "r"], [82599, 0, "o"], [82600, 0, "v"], [82601, 0, "i"], [82602, 0, "d"], [82603, 0, "e"], [82603, 1], [82603, 0, "i"], [82604, 0, "n"], [82605, 0, "g"], [82606, 0, " "], [82607, 0, "l"], [82608, 0, "o"], [82609, 0, "c"], [82610, 0, "a"], [82611, 0, "t"], [82612, 0, "i"], [82613, 0, "o"], [82614, 0, "n"], [82615, 0, " "], [82616, 0, "p"], [82617, 0, "r"], [82618, 0, "o"], [82619, 0, "v"], [82620, 0, "a"], [82620, 1], [82619, 1], [82618, 1], [82618, 0, "i"], [82619, 0, "v"], [82620, 0, "a"], [82621, 0, "c"], [82622, 0, "y"], [82623, 0, " "], [82624, 0, "i"], [82625, 0, "n"], [82626, 0, " "], [82627, 0, "a"], [82628, 0, " "], [82629, 0, "m"], [82630, 0, "o"], [82631, 0, "b"], [82632, 0, "i"], [82633, 0, "l"], [82634, 0, "e"], [82635, 0, " "], [82636, 0, "c"], [82637, 0, "o"], [82638, 0, "m"], [82639, 0, "p"], [82640, 0, "u"], [82641, 0, "t"], [82642, 0, "i"], [82643, 0, "n"], [82644, 0, "g"], [82645, 0, " "], [82646, 0, "s"], [82647, 0, "e"], [82648, 0, "t"], [82649, 0, "t"], [82650, 0, "i"], [82651, 0, "n"], [82652, 0, "g"], [82543, 0, "w"], [82544, 0, "h"], [82545, 0, "i"], [82546, 0, "h"], [82547, 0, "c"], [82547, 1], [82546, 1], [82546, 0, "c"], [82547, 0, "h"], [82548, 0, " "], [82659, 1], [82658, 1], [82657, 1], [82656, 1], [82655, 1], [82654, 1], [82653, 1], [82652, 1], [82651, 1], [82650, 1], [82649, 1], [82648, 1], [82647, 1], [82646, 1], [82645, 1], [82644, 1], [82643, 1], [82642, 1], [82641, 1], [82640, 1], [82639, 1], [82638, 1], [82637, 1], [82636, 1], [82635, 1], [82634, 1], [82633, 1], [82632, 1], [82631, 1], [82630, 1], [82629, 1], [82628, 1], [82627, 1], [82626, 1], [82625, 1], [82624, 1], [82623, 1], [82622, 1], [82621, 1], [82620, 1], [82619, 1], [82618, 1], [82617, 1], [82616, 1], [82615, 1], [82614, 1], [82613, 1], [82612, 1], [82611, 1], [82610, 1], [82609, 1], [82608, 1], [82607, 1], [82606, 1], [82605, 1], [82604, 1], [82603, 1], [82602, 1], [82601, 1], [82600, 1], [82599, 1], [82598, 1], [82597, 1], [82596, 1], [82595, 1], [82594, 1], [82593, 1], [82592, 1], [82591, 1], [82590, 1], [82589, 1], [82588, 1], [82587, 1], [82586, 1], [82585, 1], [82584, 1], [82583, 1], [82582, 1], [82581, 1], [82580, 1], [82579, 1], [82578, 1], [82577, 1], [82576, 1], [82575, 1], [82574, 1], [82573, 1], [82572, 1], [82571, 1], [82570, 1], [82569, 1], [82568, 1], [82567, 1], [82566, 1], [82565, 1], [82564, 1], [82563, 1], [82562, 1], [82561, 1], [82560, 1], [82559, 1], [82558, 1], [82557, 1], [82556, 1], [82555, 1], [82554, 1], [82553, 1], [82552, 1], [82551, 1], [82550, 1], [82549, 1], [82548, 1], [82547, 1], [82546, 1], [82545, 1], [82544, 1], [82543, 1], [82542, 1], [82541, 1], [82540, 1], [82539, 1], [82538, 1], [82537, 1], [82536, 1], [82535, 1], [82534, 1], [82533, 1], [82532, 1], [82531, 1], [82530, 1], [82529, 1], [82528, 1], [82527, 1], [82526, 1], [82525, 1], [82524, 1], [82523, 1], [82522, 1], [82521, 1], [82520, 1], [82519, 1], [82518, 1], [82517, 1], [82516, 1], [82515, 1], [82514, 1], [82513, 1], [82512, 1], [82511, 1], [82510, 1], [82509, 1], [82508, 1], [82507, 1], [82506, 1], [82505, 1], [82504, 1], [82503, 1], [82502, 1], [82501, 1], [82500, 1], [82499, 1], [82498, 1], [82497, 1], [82496, 1], [82495, 1], [82494, 1], [82493, 1], [82492, 1], [82491, 1], [82490, 1], [82489, 1], [82488, 1], [82499, 1], [82498, 1], [82497, 1], [82496, 1], [82495, 1], [82494, 1], [82493, 1], [82492, 1], [82670, 0, " "], [82671, 0, "H"], [82672, 0, "e"], [82673, 0, " "], [82674, 0, "l"], [82675, 0, "o"], [82676, 0, "o"], [82677, 0, "k"], [82678, 0, "s"], [82679, 0, " "], [82680, 0, "a"], [82681, 0, "t"], [82682, 0, " "], [82683, 0, "t"], [82684, 0, "h"], [82685, 0, "i"], [82686, 0, "s"], [82687, 0, " "], [82688, 0, "d"], [82689, 0, "o"], [82690, 0, "m"], [82691, 0, "a"], [82692, 0, "i"], [82693, 0, "n"], [82694, 0, " "], [82695, 0, "f"], [82696, 0, "r"], [82697, 0, "e"], [82698, 0, "o"], [82699, 0, "m"], [82700, 0, " "], [82701, 0, "t"], [82702, 0, "h"], [82703, 0, "r"], [82704, 0, "e"], [82705, 0, "e"], [82706, 0, " "], [82707, 0, "a"], [82708, 0, "n"], [82709, 0, "g"], [82710, 0, "l"], [82711, 0, "e"], [82712, 0, "s"], [82712, 1], [82711, 1], [82710, 1], [82709, 1], [82708, 1], [82707, 1], [82706, 1], [82705, 1], [82704, 1], [82703, 1], [82702, 1], [82701, 1], [82700, 1], [82699, 1], [82698, 1], [82697, 1], [82696, 1], [82695, 1], [82694, 1], [82693, 1], [82692, 1], [82691, 1], [82690, 1], [82689, 1], [82688, 1], [82687, 1], [82686, 1], [82685, 1], [82685, 0, "e"], [82686, 0, " "], [82687, 0, "s"], [82688, 0, "e"], [82689, 0, "c"], [82690, 0, "u"], [82691, 0, "r"], [82692, 0, "i"], [82693, 0, "t"], [82694, 0, "y"], [82695, 0, " "], [82696, 0, "a"], [82697, 0, "n"], [82698, 0, "d"], [82699, 0, " "], [82700, 0, "p"], [82701, 0, "r"], [82702, 0, "i"], [82703, 0, "v"], [82704, 0, "a"], [82705, 0, "c"], [82706, 0, "y"], [82707, 0, " "], [82708, 0, "o"], [82709, 0, "f"], [82710, 0, " "], [82711, 0, "t"], [82712, 0, "h"], [82713, 0, "e"], [82714, 0, " "], [82715, 0, "d"], [82716, 0, "e"], [82717, 0, "v"], [82718, 0, "i"], [82719, 0, "c"], [82720, 0, "e"], [82721, 0, "s"], [82722, 0, " "], [82723, 0, "t"], [82724, 0, "h"], [82725, 0, "e"], [82726, 0, "m"], [82727, 0, "s"], [82728, 0, "e"], [82729, 0, "l"], [82730, 0, "v"], [82731, 0, "e"], [82732, 0, "s"], [82733, 0, ","], [82734, 0, " "], [82735, 0, "a"], [82736, 0, "s"], [82737, 0, " "], [82738, 0, "w"], [82739, 0, "e"], [82740, 0, "l"], [82741, 0, "l"], [82742, 0, " "], [82743, 0, "a"], [82744, 0, "s"], [82745, 0, " "], [82746, 0, "t"], [82747, 0, "h"], [82748, 0, "e"], [82749, 0, " "], [82750, 0, "s"], [82751, 0, "e"], [82752, 0, "u"], [82753, 0, "c"], [82754, 0, "r"], [82754, 1], [82753, 1], [82752, 1], [82752, 0, "c"], [82753, 0, "u"], [82754, 0, "r"], [82755, 0, "i"], [82756, 0, "t"], [82757, 0, "y"], [82758, 0, " "], [82759, 0, "a"], [82760, 0, "n"], [82761, 0, "d"], [82762, 0, " "], [82763, 0, "p"], [82764, 0, "r"], [82765, 0, "o"], [82766, 0, "v"], [82766, 1], [82765, 1], [82765, 0, "i"], [82766, 0, "v"], [82767, 0, "a"], [82768, 0, "c"], [82769, 0, "y"], [82770, 0, " "], [82771, 0, "p"], [82772, 0, "r"], [82773, 0, "o"], [82774, 0, "b"], [82775, 0, "l"], [82776, 0, "e"], [82777, 0, "m"], [82778, 0, "s"], [82779, 0, " "], [82780, 0, "i"], [82781, 0, "n"], [82782, 0, "d"], [82783, 0, "u"], [82784, 0, "c"], [82785, 0, "e"], [82786, 0, "d"], [82787, 0, " "], [82788, 0, "b"], [82789, 0, "y"], [82790, 0, " "], [82791, 0, "t"], [82792, 0, "h"], [82793, 0, "e"], [82794, 0, " "], [82795, 0, "i"], [82796, 0, "n"], [82797, 0, "t"], [82798, 0, "e"], [82799, 0, "r"], [82800, 0, "a"], [82801, 0, "c"], [82802, 0, "t"], [82803, 0, "i"], [82804, 0, "o"], [82805, 0, "n"], [82806, 0, " "], [82807, 0, "b"], [82808, 0, "e"], [82809, 0, "t"], [82810, 0, "w"], [82811, 0, "e"], [82812, 0, "e"], [82813, 0, "n"], [82814, 0, " "], [82815, 0, "m"], [82816, 0, "o"], [82817, 0, "b"], [82818, 0, "i"], [82819, 0, "l"], [82820, 0, "e"], [82821, 0, " "], [82822, 0, "d"], [82823, 0, "e"], [82824, 0, "v"], [82825, 0, "i"], [82826, 0, "c"], [82827, 0, "e"], [82828, 0, "s"], [82829, 0, " "], [82830, 0, "a"], [82831, 0, "n"], [82832, 0, "d"], [82833, 0, " "], [82834, 0, "c"], [82835, 0, "l"], [82836, 0, "o"], [82837, 0, "u"], [82838, 0, "b"], [82838, 1], [82838, 0, "d"], [82839, 0, "-"], [82840, 0, "b"], [82841, 0, "a"], [82842, 0, "s"], [82843, 0, "e"], [82844, 0, "d"], [82845, 0, " "], [82846, 0, "I"], [82847, 0, "n"], [82848, 0, "t"], [82849, 0, "e"], [82850, 0, "r"], [82851, 0, "n"], [82852, 0, "e"], [82853, 0, "t"], [82854, 0, " "], [82855, 0, "s"], [82856, 0, "e"], [82857, 0, "r"], [82858, 0, "v"], [82859, 0, "i"], [82860, 0, "c"], [82861, 0, "e"], [82862, 0, "s"], [82863, 0, "."], [81968, 0, " "], [81969, 0, "i"], [81970, 0, "s"], [81976, 1], [81976, 0, "i"], [81977, 0, "n"], [81978, 0, "g"], [82304, 0, ","], [82305, 0, " "], [82306, 0, "i"], [82307, 0, "n"], [82308, 0, "c"], [82309, 0, "l"], [82310, 0, "u"], [82311, 0, "d"], [82312, 0, "i"], [82313, 0, "n"], [82314, 0, "g"], [82315, 0, " "], [82316, 0, "R"], [82317, 0, "a"], [82318, 0, "p"], [82319, 0, "p"], [82320, 0, "o"], [82321, 0, "r"], [82322, 0, "t"], [82323, 0, "i"], [82324, 0, "v"], [82325, 0, "e"], [82326, 0, " "], [82327, 0, "a"], [82328, 0, "n"], [82329, 0, "d"], [82330, 0, " "], [82331, 0, "L"], [82332, 0, "i"], [82333, 0, "n"], [82334, 0, "k"], [82335, 0, "e"], [82336, 0, "d"], [82337, 0, "I"], [82338, 0, "n"], [17586, 0, ","], [17587, 0, " "], [17588, 0, "a"], [17589, 0, "n"], [17590, 0, "d"], [17591, 0, " "], [17592, 0, "g"], [17593, 0, "i"], [17594, 0, "v"], [17595, 0, "e"], [17596, 0, " "], [17597, 0, "s"], [17598, 0, "o"], [17599, 0, "m"], [17600, 0, "e"], [17601, 0, " "], [17602, 0, "e"], [17603, 0, "x"], [17604, 0, "a"], [17605, 0, "m"], [17606, 0, "p"], [17607, 0, "l"], [17608, 0, "e"], [17609, 0, "s"], [17610, 0, " "], [17611, 0, "o"], [17612, 0, "f"], [17613, 0, " "], [17613, 1], [17612, 1], [17611, 1], [17610, 1], [17609, 1], [17608, 1], [17607, 1], [17606, 1], [17605, 1], [17604, 1], [17603, 1], [17602, 1], [17601, 1], [17600, 1], [17599, 1], [17598, 1], [17597, 1], [17596, 1], [17595, 1], [17594, 1], [17593, 1], [17592, 1], [17592, 0, "i"], [17593, 0, "l"], [17594, 0, "l"], [17595, 0, "u"], [17596, 0, "s"], [17597, 0, "t"], [17598, 0, "r"], [17599, 0, "a"], [17600, 0, "t"], [17601, 0, "e"], [17602, 0, " "], [17603, 0, "s"], [17604, 0, "o"], [17605, 0, "m"], [17606, 0, "e"], [17607, 0, " "], [17608, 0, "p"], [17609, 0, "e"], [17610, 0, "c"], [17611, 0, "u"], [17612, 0, "l"], [17613, 0, "i"], [17614, 0, "a"], [17615, 0, "r"], [17616, 0, "i"], [17617, 0, "t"], [17618, 0, "i"], [17619, 0, "e"], [17620, 0, "s"], [17621, 0, " "], [17622, 0, "o"], [17623, 0, "f"], [17624, 0, " "], [17625, 0, "c"], [17626, 0, "o"], [17627, 0, "n"], [17628, 0, "c"], [17629, 0, "u"], [17630, 0, "r"], [17631, 0, "r"], [17632, 0, "e"], [17633, 0, "n"], [17634, 0, "t"], [17635, 0, " "], [17636, 0, "n"], [17637, 0, "e"], [17638, 0, "s"], [17639, 0, "t"], [17640, 0, "e"], [17641, 0, "d"], [17642, 0, " "], [17643, 0, "s"], [17644, 0, "t"], [17645, 0, "r"], [17646, 0, "u"], [17647, 0, "c"], [17648, 0, "t"], [17649, 0, "u"], [17650, 0, "r"], [17651, 0, "e"], [17652, 0, "s"], [17653, 0, " "], [17654, 0, "t"], [17655, 0, "h"], [17656, 0, "a"], [17657, 0, "t"], [17658, 0, " "], [17659, 0, "d"], [17660, 0, "o"], [17661, 0, " "], [17662, 0, "n"], [17663, 0, "o"], [17664, 0, "t"], [17665, 0, " "], [17666, 0, "a"], [17667, 0, "r"], [17668, 0, "i"], [17669, 0, "s"], [17670, 0, "e"], [17671, 0, " "], [17672, 0, "u"], [17673, 0, "n"], [17674, 0, "d"], [17675, 0, "e"], [17676, 0, "r"], [17677, 0, " "], [17677, 1], [17676, 1], [17675, 1], [17674, 1], [17673, 1], [17672, 1], [17672, 0, "i"], [17673, 0, "n"], [17674, 0, " "], [17675, 0, "s"], [17676, 0, "e"], [17677, 0, "q"], [17678, 0, "u"], [17679, 0, "e"], [17680, 0, "n"], [17681, 0, "t"], [17682, 0, "i"], [17683, 0, "a"], [17684, 0, "l"], [17685, 0, " "], [17686, 0, "e"], [17687, 0, "x"], [17688, 0, "e"], [17689, 0, "c"], [17690, 0, "u"], [17691, 0, "t"], [17692, 0, "i"], [17693, 0, "o"], [17694, 0, "n"], [17695, 0, "s"], [17643, 0, "d"], [17644, 0, "a"], [17645, 0, "t"], [17646, 0, "a"], [17647, 0, " "], [27007, 0, "\\"], [27008, 0, "l"], [27009, 0, "a"], [27010, 0, "b"], [27011, 0, "e"], [27012, 0, "l"], [27013, 0, "{"], [27014, 0, "f"], [27015, 0, "i"], [27016, 0, "g"], [27017, 0, ":"], [27018, 0, "t"], [27019, 0, "e"], [27020, 0, "x"], [27021, 0, "t"], [27022, 0, "-"], [27023, 0, "e"], [27024, 0, "d"], [27025, 0, "i"], [27026, 0, "t"], [27027, 0, "}"], [28537, 0, "\\"], [28538, 0, "l"], [28539, 0, "a"], [28540, 0, "b"], [28541, 0, "e"], [28542, 0, "l"], [28543, 0, "{"], [28544, 0, "f"], [28545, 0, "i"], [28546, 0, "g"], [28547, 0, ";"], [28548, 0, "t"], [28549, 0, "y"], [28550, 0, "p"], [28550, 1], [28549, 1], [28548, 1], [28547, 1], [28547, 0, ":"], [28548, 0, "t"], [28549, 0, "y"], [28550, 0, "p"], [28551, 0, "e"], [28552, 0, "-"], [28553, 0, "c"], [28554, 0, "l"], [28555, 0, "a"], [28556, 0, "s"], [28557, 0, "h"], [28558, 0, "}"], [19086, 0, "\n"], [19087, 0, "\n"], [17700, 1], [17699, 1], [17698, 1], [17697, 1], [17696, 1], [17695, 1], [17694, 1], [17693, 1], [17692, 1], [17691, 1], [17690, 1], [17689, 1], [17688, 1], [17687, 1], [17686, 1], [17685, 1], [17684, 1], [17683, 1], [17682, 1], [17681, 1], [17680, 1], [17679, 1], [17678, 1], [17677, 1], [17676, 1], [17675, 1], [17674, 1], [17673, 1], [17672, 1], [17671, 1], [17670, 1], [17669, 1], [17668, 1], [17667, 1], [17666, 1], [17665, 1], [17664, 1], [17663, 1], [17662, 1], [17661, 1], [17660, 1], [17659, 1], [17658, 1], [19044, 0, "T"], [19045, 0, "h"], [19046, 0, "e"], [19047, 0, " "], [19048, 0, "d"], [19049, 0, "i"], [19050, 0, "f"], [19051, 0, "f"], [19052, 0, "i"], [19053, 0, "c"], [19054, 0, "u"], [19055, 0, "l"], [19056, 0, "t"], [19057, 0, "y"], [19058, 0, " "], [19059, 0, "o"], [19060, 0, "f"], [19061, 0, " "], [19062, 0, "d"], [19063, 0, "e"], [19064, 0, "f"], [19065, 0, "i"], [19066, 0, "n"], [19067, 0, "i"], [19068, 0, "n"], [19069, 0, "g"], [19070, 0, " "], [19071, 0, "a"], [19072, 0, " "], [19073, 0, "J"], [19074, 0, "S"], [19075, 0, "O"], [19076, 0, "N"], [19077, 0, " "], [19077, 1], [19076, 1], [19075, 1], [19074, 1], [19073, 1], [19073, 0, "C"], [19074, 0, "R"], [19075, 0, "D"], [19076, 0, "T"], [19077, 0, " "], [19078, 0, "f"], [19079, 0, "o"], [19080, 0, "r"], [19081, 0, " "], [19082, 0, "J"], [19083, 0, "S"], [19084, 0, "O"], [19085, 0, "N"], [19086, 0, " "], [19087, 0, "d"], [19088, 0, "a"], [19089, 0, "t"], [19090, 0, "a"], [19091, 0, " "], [19092, 0, "i"], [19093, 0, "s"], [19094, 0, " "], [19095, 0, "d"], [19096, 0, "u"], [19097, 0, "e"], [19098, 0, " "], [19099, 0, "t"], [19100, 0, "o"], [19101, 0, " "], [19102, 0, "t"], [19103, 0, "h"], [19104, 0, "e"], [19105, 0, " "], [19106, 0, "i"], [19107, 0, "n"], [19108, 0, "t"], [19109, 0, "e"], [19110, 0, "r"], [19111, 0, "a"], [19112, 0, "c"], [19113, 0, "t"], [19114, 0, "i"], [19115, 0, "o"], [19116, 0, "n"], [19117, 0, " "], [19118, 0, "b"], [19119, 0, "e"], [19120, 0, "t"], [19121, 0, "w"], [19122, 0, "e"], [19123, 0, "e"], [19124, 0, "n"], [19125, 0, " "], [19043, 0, "\n"], [19044, 0, "\n"], [19044, 0, "T"], [19045, 0, "h"], [19046, 0, "e"], [19047, 0, " "], [19048, 0, "s"], [19049, 0, "e"], [19050, 0, "q"], [19051, 0, "u"], [19052, 0, "e"], [19053, 0, "n"], [19054, 0, "t"], [19055, 0, "i"], [19056, 0, "a"], [19057, 0, "l"], [19058, 0, " "], [19059, 0, "s"], [19060, 0, "e"], [19061, 0, "m"], [19062, 0, "a"], [19063, 0, "n"], [19064, 0, "t"], [19065, 0, "i"], [19066, 0, "c"], [19067, 0, "s"], [19068, 0, " "], [19069, 0, "o"], [19070, 0, "f"], [19071, 0, " "], [19072, 0, "e"], [19073, 0, "d"], [19074, 0, "i"], [19075, 0, "t"], [19076, 0, "i"], [19077, 0, "n"], [19078, 0, "g"], [19079, 0, " "], [19080, 0, "a"], [19081, 0, " "], [19082, 0, "J"], [19083, 0, "S"], [19084, 0, "O"], [19085, 0, "N"], [19086, 0, " "], [19087, 0, "d"], [19088, 0, "a"], [19089, 0, "t"], [19090, 0, "a"], [19091, 0, " "], [19092, 0, "s"], [19093, 0, "t"], [19094, 0, "r"], [19095, 0, "u"], [19096, 0, "c"], [19097, 0, "t"], [19098, 0, "u"], [19099, 0, "r"], [19100, 0, "e"], [19101, 0, " "], [19102, 0, "a"], [19103, 0, "r"], [19104, 0, "e"], [19105, 0, " "], [19106, 0, "w"], [19107, 0, "e"], [19108, 0, "l"], [19109, 0, "l"], [19110, 0, "-"], [19111, 0, "k"], [19112, 0, "n"], [19113, 0, "o"], [19114, 0, "w"], [19115, 0, "n"], [19116, 0, ","], [19117, 0, " "], [19118, 0, "a"], [19119, 0, "n"], [19120, 0, "d"], [19121, 0, " "], [19122, 0, "t"], [19123, 0, "h"], [19124, 0, "e"], [19125, 0, " "], [19126, 0, "s"], [19127, 0, "e"], [19128, 0, "m"], [19129, 0, "a"], [19130, 0, "n"], [19131, 0, "t"], [19132, 0, "i"], [19133, 0, "c"], [19134, 0, "s"], [19135, 0, " "], [19136, 0, "o"], [19137, 0, "f"], [19138, 0, " "], [19139, 0, "c"], [19140, 0, "o"], [19141, 0, "n"], [19142, 0, "c"], [19143, 0, "u"], [19144, 0, "r"], [19145, 0, "r"], [19146, 0, "e"], [19147, 0, "n"], [19148, 0, "t"], [19149, 0, "l"], [19150, 0, "y"], [19151, 0, " "], [19152, 0, "e"], [19153, 0, "d"], [19154, 0, "i"], [19155, 0, "t"], [19156, 0, "i"], [19157, 0, "n"], [19158, 0, "g"], [19159, 0, " "], [19160, 0, "a"], [19161, 0, " "], [19162, 0, "f"], [19163, 0, "l"], [19164, 0, "a"], [19165, 0, "t"], [19166, 0, " "], [19167, 0, "m"], [19168, 0, "a"], [19169, 0, "p"], [19170, 0, " "], [19171, 0, "o"], [19172, 0, "r"], [19173, 0, " "], [19174, 0, "l"], [19175, 0, "i"], [19176, 0, "s"], [19177, 0, "t"], [19178, 0, " "], [19179, 0, "d"], [19180, 0, "a"], [19181, 0, "t"], [19182, 0, "a"], [19183, 0, " "], [19184, 0, "s"], [19185, 0, "t"], [19186, 0, "r"], [19187, 0, "u"], [19188, 0, "c"], [19189, 0, "t"], [19190, 0, "u"], [19191, 0, "r"], [19192, 0, "e"], [19193, 0, " "], [19194, 0, "h"], [19195, 0, "a"], [19196, 0, "v"], [19197, 0, "e"], [19198, 0, " "], [19199, 0, "b"], [19200, 0, "e"], [19201, 0, "e"], [19202, 0, "n"], [19203, 0, " "], [19204, 0, "t"], [19205, 0, "h"], [19206, 0, "o"], [19207, 0, "r"], [19208, 0, "o"], [19209, 0, "u"], [19210, 0, "g"], [19211, 0, "h"], [19212, 0, "l"], [19213, 0, "y"], [19214, 0, " "], [19215, 0, "e"], [19216, 0, "x"], [19217, 0, "p"], [19218, 0, "l"], [19219, 0, "o"], [19220, 0, "r"], [19221, 0, "e"], [19222, 0, "d"], [19223, 0, " "], [19224, 0, "i"], [19225, 0, "n"], [19226, 0, " "], [19227, 0, "t"], [19228, 0, "h"], [19229, 0, "e"], [19230, 0, " "], [19231, 0, "l"], [19232, 0, "i"], [19233, 0, "t"], [19234, 0, "e"], [19235, 0, "r"], [19236, 0, "a"], [19237, 0, "t"], [19238, 0, "u"], [19239, 0, "r"], [19240, 0, "e"], [19241, 0, " "], [19242, 0, "("], [19243, 0, "s"], [19244, 0, "e"], [19245, 0, "e"], [19246, 0, " "], [19247, 0, "S"], [19248, 0, "e"], [19249, 0, "c"], [19250, 0, "t"], [19251, 0, "i"], [19252, 0, "o"], [19253, 0, "n"], [19254, 0, "~"], [19255, 0, "\\"], [19256, 0, "r"], [19257, 0, "e"], [19258, 0, "f"], [19259, 0, "{"], [19260, 0, "}"], [19261, 0, ")"], [19262, 0, "."], [17828, 0, "}"], [17829, 0, "}"], [17829, 1], [17828, 1], [19260, 0, "s"], [19261, 0, "e"], [19262, 0, "c"], [19263, 0, ":"], [19264, 0, "r"], [19265, 0, "e"], [19266, 0, "l"], [19267, 0, "a"], [19268, 0, "t"], [19269, 0, "e"], [19270, 0, "d"], [19274, 0, " "], [19275, 0, "H"], [19276, 0, "o"], [19277, 0, "w"], [19278, 0, "e"], [19279, 0, "v"], [19280, 0, "e"], [19281, 0, "r"], [19282, 0, ","], [19283, 0, " "], [19284, 1], [19284, 1], [19284, 1], [19284, 1], [19284, 1], [19284, 1], [19284, 1], [19284, 1], [19284, 1], [19284, 1], [19284, 1], [19284, 1], [19284, 1], [19284, 1], [19284, 1], [19284, 1], [19284, 1], [19284, 1], [19284, 1], [19284, 0, "w"], [19285, 0, "h"], [19286, 0, "e"], [19287, 0, "n"], [19318, 0, ","], [19319, 0, " "], [19320, 0, "d"], [19321, 0, "i"], [19322, 0, "f"], [19323, 0, "f"], [19324, 0, "i"], [19325, 0, "c"], [19326, 0, "u"], [19327, 0, "l"], [19328, 0, "t"], [19329, 0, "i"], [19330, 0, "e"], [19331, 0, "s"], [19332, 0, " "], [19333, 0, "a"], [19334, 0, "r"], [19335, 0, "i"], [19336, 0, "s"], [19337, 0, "e"], [19338, 1], [19338, 1], [19338, 1], [19370, 0, "c"], [19371, 0, "o"], [19372, 0, "n"], [19373, 0, "c"], [19374, 0, "u"], [19375, 0, "r"], [19376, 0, "r"], [19377, 0, "e"], [19378, 0, "n"], [19379, 0, "c"], [19380, 0, "y"], [19381, 0, " "], [19382, 0, "a"], [19383, 0, "n"], [19384, 0, "d"], [19385, 0, " "], [19386, 0, "n"], [19387, 0, "e"], [19388, 0, "s"], [19389, 0, "t"], [19390, 0, "e"], [19391, 0, "d"], [19392, 0, " "], [19393, 0, "d"], [19394, 0, "a"], [19395, 0, "t"], [19396, 0, "a"], [19397, 0, " "], [19398, 0, "s"], [19399, 0, "t"], [19400, 0, "r"], [19401, 0, "u"], [19402, 0, "c"], [19403, 0, "t"], [19404, 0, "u"], [19405, 0, "r"], [19406, 0, "e"], [19407, 0, "s"], [19408, 0, "."], [19409, 0, " "], [19409, 1], [19411, 0, "I"], [19412, 0, "n"], [19413, 0, " "], [19414, 0, "t"], [19415, 0, "h"], [19416, 0, " "], [19417, 0, "e"], [19418, 0, "f"], [19419, 0, "o"], [19420, 0, "l"], [19420, 1], [19419, 1], [19418, 1], [19417, 1], [19416, 1], [19416, 0, "e"], [19417, 0, " "], [19418, 0, "f"], [19419, 0, "o"], [19420, 0, "l"], [19421, 0, "l"], [19422, 0, "o"], [19423, 0, "w"], [19424, 0, "i"], [19425, 0, "n"], [19426, 0, "g"], [19427, 0, " "], [19428, 0, "e"], [19429, 0, "x"], [19430, 0, "a"], [19431, 0, "m"], [19432, 0, "p"], [19433, 0, "l"], [19434, 0, "e"], [19435, 0, "s"], [19436, 0, " "], [19437, 0, "w"], [19438, 0, "e"], [19439, 0, " "], [19440, 0, "i"], [19441, 0, "l"], [19442, 0, "l"], [19443, 0, "u"], [19444, 0, "s"], [19445, 0, "t"], [19446, 0, "r"], [19447, 0, "a"], [19448, 0, "t"], [19449, 0, "e"], [19449, 1], [19448, 1], [19447, 1], [19446, 1], [19445, 1], [19444, 1], [19443, 1], [19442, 1], [19441, 1], [19440, 1], [19440, 0, "s"], [19441, 0, "h"], [19442, 0, "o"], [19443, 0, "w"], [19444, 0, " "], [19445, 1], [19445, 1], [19445, 1], [19445, 1], [19445, 1], [19445, 1], [19445, 1], [19445, 1], [19445, 1], [19445, 1], [19445, 1], [19445, 1], [19445, 1], [19445, 1], [19449, 0, " "], [19450, 0, "s"], [19451, 0, "i"], [19452, 0, "t"], [19453, 0, "u"], [19454, 0, "a"], [19455, 0, "t"], [19456, 0, "i"], [19457, 0, "o"], [19458, 0, "n"], [19459, 0, "s"], [19460, 0, " "], [19461, 0, "t"], [19462, 0, "h"], [19463, 0, "a"], [19464, 0, "t"], [19465, 0, " "], [19466, 0, "c"], [19467, 0, "a"], [19468, 0, "n"], [19469, 0, " "], [19470, 0, "o"], [19471, 0, "c"], [19472, 0, "c"], [19473, 0, "u"], [19474, 0, "r"], [19475, 1], [19475, 1], [19475, 1], [19475, 1], [19475, 1], [19475, 1], [19475, 1], [19475, 1], [19475, 1], [19475, 1], [19475, 1], [19475, 1], [19475, 1], [19475, 1], [19475, 1], [19475, 1], [19475, 1], [19475, 1], [19475, 1], [19475, 1], [19475, 1], [19475, 1], [19475, 1], [19475, 1], [19475, 1], [19475, 1], [19475, 1], [19475, 1], [19475, 1], [19523, 1], [19523, 1], [19523, 1], [19523, 1], [19523, 1], [19523, 1], [19523, 1], [19523, 1], [19523, 1], [19523, 1], [19523, 1], [19523, 1], [19523, 1], [19523, 1], [19523, 1], [19523, 1], [19523, 1], [19523, 1], [19523, 1], [19523, 1], [19523, 1], [19523, 1], [19523, 1], [19523, 1], [19523, 0, "a"], [19524, 0, "n"], [19525, 0, "d"], [19526, 0, " "], [19527, 0, "d"], [19528, 0, "e"], [19529, 0, "m"], [19530, 0, "o"], [19531, 0, "n"], [19532, 0, "s"], [19533, 0, "t"], [19534, 0, "r"], [19535, 0, "a"], [19536, 0, "t"], [19537, 0, "e"], [19538, 0, " "], [19539, 0, "h"], [19540, 0, "o"], [19541, 0, "w"], [19542, 0, " "], [19543, 0, "t"], [19544, 0, "h"], [19545, 0, "e"], [19546, 0, "y"], [19547, 0, " "], [19548, 0, "a"], [19549, 0, "r"], [19550, 0, "e"], [19551, 0, " "], [19552, 0, "h"], [19553, 0, "a"], [19554, 0, "n"], [19555, 0, "d"], [19556, 0, "l"], [19557, 0, "e"], [19558, 0, "d"], [19559, 0, " "], [19560, 0, "i"], [19560, 1], [19560, 0, "b"], [19561, 0, "y"], [19562, 0, " "], [19563, 0, "o"], [19564, 0, "u"], [19565, 0, "r"], [19566, 0, " "], [19567, 0, "a"], [19568, 0, "l"], [19569, 0, "g"], [19570, 0, "o"], [19571, 0, "r"], [19572, 0, "i"], [19573, 0, "t"], [19574, 0, "h"], [19575, 0, "m"], [19361, 0, "s"], [19469, 1], [19468, 1], [19467, 1], [19467, 0, "m"], [19468, 0, "g"], [19469, 0, "i"], [19469, 1], [19468, 1], [19468, 0, "i"], [19469, 0, "g"], [19470, 0, "h"], [19471, 0, "t"], [19734, 0, ","], [19768, 0, " "], [19769, 0, "a"], [19770, 0, "r"], [19771, 0, "e"], [20716, 0, "\n"], [20717, 0, "\n"], [20715, 1], [20715, 0, "\n"], [20716, 0, "\n"], [20717, 0, "A"], [20718, 0, " "], [20719, 0, "m"], [20720, 0, "u"], [20721, 0, "l"], [20722, 0, "t"], [20723, 0, "i"], [20724, 0, "="], [20724, 1], [20724, 0, "-"], [20725, 0, "v"], [20726, 0, "a"], [20727, 0, "l"], [20728, 0, "u"], [20729, 0, "e"], [20730, 0, " "], [20731, 0, "r"], [20732, 0, "e"], [20733, 0, "g"], [20734, 0, "i"], [20735, 0, "s"], [20736, 0, "t"], [20737, 0, "e"], [20738, 0, "r"], [20739, 0, " "], [20740, 0, "i"], [20741, 0, "s"], [20742, 0, " "], [20743, 0, "h"], [20744, 0, "a"], [20745, 0, "r"], [20746, 0, "d"], [20747, 0, "l"], [20748, 0, "y"], [20749, 0, " "], [20750, 0, "a"], [20751, 0, "n"], [20752, 0, " "], [20753, 0, "i"], [20754, 0, "m"], [20755, 0, "p"], [20756, 0, "r"], [20757, 0, "e"], [20758, 0, "s"], [20759, 0, "s"], [20760, 0, "i"], [20761, 0, "v"], [20762, 0, "e"], [20763, 0, " "], [20764, 0, "C"], [20765, 0, "R"], [20766, 0, "D"], [20767, 0, "T"], [20768, 0, ","], [20769, 0, " "], [20770, 0, "s"], [20771, 0, "i"], [20772, 0, "n"], [20773, 0, "c"], [20774, 0, "e"], [20775, 0, " "], [20776, 0, "i"], [20777, 0, "t"], [20778, 0, " "], [20779, 0, "d"], [20780, 0, "o"], [20781, 0, "e"], [20782, 0, "s"], [20783, 0, " "], [20784, 0, "n"], [20785, 0, "o"], [20786, 0, "t"], [20787, 0, " "], [20788, 0, "a"], [20789, 0, "c"], [20790, 0, "t"], [20791, 0, "u"], [20792, 0, "a"], [20793, 0, "l"], [20794, 0, "l"], [20795, 0, "y"], [20796, 0, " "], [20797, 0, "p"], [20798, 0, "e"], [20799, 0, "r"], [20800, 0, "f"], [20801, 0, "o"], [20802, 0, "r"], [20803, 0, "m"], [20804, 0, " "], [20805, 0, "a"], [20806, 0, "n"], [20807, 0, "y"], [20808, 0, " "], [20809, 0, "c"], [20810, 0, "o"], [20811, 0, "n"], [20812, 0, "f"], [20813, 0, "l"], [20814, 0, "i"], [20815, 0, "c"], [20816, 0, "t"], [20817, 0, " "], [20818, 0, "r"], [20819, 0, "e"], [20820, 0, "s"], [20821, 0, "o"], [20822, 0, "l"], [20823, 0, "u"], [20824, 0, "t"], [20825, 0, "i"], [20826, 0, "o"], [20827, 0, "n"], [20828, 0, "."], [20829, 0, " "], [20830, 0, "I"], [20831, 0, "t"], [20832, 0, "s"], [20833, 0, " "], [20833, 1], [20832, 1], [20831, 1], [20830, 1], [20830, 0, "W"], [20831, 0, "e"], [20832, 0, " "], [20833, 0, "u"], [20834, 0, "s"], [20835, 0, "e"], [20836, 0, " "], [20837, 0, "i"], [20838, 0, "t"], [20839, 0, " "], [20840, 0, "o"], [20841, 0, "n"], [20842, 0, "l"], [20843, 0, "y"], [20844, 0, " "], [20845, 0, "f"], [20846, 0, "o"], [20847, 0, "r"], [20848, 0, " "], [20849, 0, "p"], [20850, 0, "r"], [20851, 0, "i"], [20852, 0, "m"], [20853, 0, "i"], [20854, 0, "t"], [20855, 0, "i"], [20856, 0, "v"], [20857, 0, "e"], [20858, 0, " "], [20859, 0, "v"], [20860, 0, "a"], [20861, 0, "l"], [20862, 0, "u"], [20863, 0, "e"], [20864, 0, "s"], [20865, 0, " "], [20866, 0, "f"], [20867, 0, "o"], [20868, 0, "r"], [20869, 0, " "], [20870, 0, "w"], [20871, 0, "h"], [20872, 0, "i"], [20873, 0, "c"], [20874, 0, "h"], [20875, 0, " "], [20876, 0, "n"], [20877, 0, "o"], [20878, 0, " "], [20879, 0, "o"], [20880, 0, "t"], [20881, 0, "h"], [20882, 0, "e"], [20883, 0, "r"], [20884, 0, " "], [20885, 0, "m"], [20886, 0, "e"], [20887, 0, "r"], [20888, 0, "g"], [20889, 0, "e"], [20890, 0, " "], [20883, 1], [20882, 1], [20881, 1], [20880, 1], [20879, 1], [20879, 0, "a"], [20880, 0, "u"], [20881, 0, "t"], [20882, 0, "o"], [20883, 0, "m"], [20884, 0, "a"], [20885, 0, "i"], [20885, 1], [20885, 0, "t"], [20886, 0, "i"], [20887, 0, "c"], [20895, 0, "f"], [20896, 0, "u"], [20897, 0, "n"], [20898, 0, "c"], [20899, 0, "t"], [20900, 0, "i"], [20901, 0, "o"], [20902, 0, "n"], [20903, 0, " "], [20904, 0, "i"], [20905, 0, "s"], [20906, 0, " "], [20907, 0, "d"], [20908, 0, "e"], [20909, 0, "f"], [20910, 0, "i"], [20911, 0, "n"], [20912, 0, "e"], [20913, 0, "d"], [20914, 0, "."], [20915, 0, " "], [20916, 0, "O"], [20917, 0, "t"], [20918, 0, "h"], [20919, 0, "e"], [20920, 0, "r"], [20921, 0, " "], [20922, 0, "C"], [20923, 0, "R"], [20924, 0, "D"], [20925, 0, "T"], [20926, 0, "s"], [20927, 0, " "], [20928, 0, "c"], [20929, 0, "o"], [20930, 0, "u"], [20931, 0, "l"], [20932, 0, "d"], [20933, 0, " "], [20934, 0, "b"], [20935, 0, "e"], [20936, 0, " "], [20937, 0, "s"], [20938, 0, "u"], [20939, 0, "b"], [20940, 0, "s"], [20941, 0, "t"], [20942, 0, "i"], [20943, 0, "t"], [20944, 0, "u"], [20945, 0, "t"], [20946, 0, "e"], [20947, 0, "d"], [20948, 0, " "], [20949, 0, "i"], [20950, 0, "n"], [20951, 0, " "], [20952, 0, "i"], [20953, 0, "t"], [20954, 0, "s"], [20955, 0, " "], [20956, 0, "p"], [20957, 0, "l"], [20958, 0, "a"], [20959, 0, "c"], [20960, 0, "e"], [20961, 0, ":"], [20962, 0, " "], [20963, 0, "f"], [20964, 0, "o"], [20965, 0, "r"], [20966, 0, " "], [20967, 0, "e"], [20968, 0, "x"], [20969, 0, "a"], [20970, 0, "m"], [20971, 0, "p"], [20972, 0, "l"], [20973, 0, "e"], [20974, 0, ","], [20975, 0, " "], [20976, 0, "a"], [20977, 0, " "], [20978, 0, "c"], [20979, 0, "o"], [20980, 0, "u"], [20981, 0, "t"], [20981, 1], [20981, 0, "n"], [20982, 0, "t"], [20983, 0, "e"], [20984, 0, "r"], [20985, 0, " "], [20986, 0, "C"], [20987, 0, "R"], [20988, 0, "D"], [20989, 0, "T"], [20990, 0, " "], [20991, 0, "f"], [20992, 0, "o"], [20993, 0, "r"], [20994, 0, " "], [20995, 0, "a"], [20996, 0, " "], [20997, 0, "n"], [20998, 0, "u"], [20999, 0, "m"], [21000, 0, "b"], [21001, 0, "e"], [21002, 0, "r"], [21003, 0, " "], [21004, 0, "t"], [21005, 0, "h"], [21006, 0, "a"], [21007, 0, "t"], [21008, 0, " "], [21009, 0, "c"], [21010, 0, "a"], [21011, 0, "n"], [21012, 0, " "], [21013, 0, "o"], [21014, 0, "n"], [21015, 0, "l"], [21016, 0, "y"], [21017, 0, " "], [21018, 0, "b"], [21019, 0, "e"], [21020, 0, " "], [21021, 0, "i"], [21022, 0, "n"], [21023, 0, "c"], [21024, 0, "r"], [21025, 0, "e"], [21026, 0, "m"], [21027, 0, "e"], [21028, 0, "n"], [21029, 0, "t"], [21030, 0, "e"], [21031, 0, "d"], [21032, 0, " "], [21033, 0, "a"], [21034, 0, "n"], [21035, 0, "d"], [21036, 0, " "], [21037, 0, "d"], [21038, 0, "e"], [21039, 0, "c"], [21040, 0, "r"], [21041, 0, "e"], [21042, 0, "m"], [21043, 0, "e"], [21044, 0, "n"], [21045, 0, "t"], [21046, 0, "e"], [21047, 0, "d"], [21048, 0, ","], [21049, 0, " "], [21050, 0, "o"], [21051, 0, "r"], [21052, 0, " "], [21053, 0, "a"], [21054, 0, "n"], [21055, 0, " "], [21056, 0, "o"], [21057, 0, "r"], [21058, 0, "d"], [21059, 0, "e"], [21060, 0, "r"], [21061, 0, "e"], [21062, 0, "d"], [21063, 0, " "], [21064, 0, "l"], [21065, 0, "i"], [21066, 0, "s"], [21067, 0, "t"], [21068, 0, " "], [21069, 0, "o"], [21070, 0, "f"], [21071, 0, " "], [21072, 0, "c"], [21073, 0, "h"], [21074, 0, "a"], [21075, 0, "r"], [21076, 0, "a"], [21077, 0, "c"], [21078, 0, "t"], [21079, 0, "e"], [21080, 0, "r"], [21081, 0, "s"], [21082, 0, " "], [21083, 0, "f"], [21084, 0, "o"], [21085, 0, "r"], [21086, 0, " "], [21087, 0, "a"], [21088, 0, " "], [21089, 0, "c"], [21090, 0, "o"], [21091, 0, "l"], [21092, 0, "l"], [21093, 0, "a"], [21094, 0, "b"], [21095, 0, "o"], [21096, 0, "r"], [21097, 0, "a"], [21098, 0, "t"], [21099, 0, "i"], [21100, 0, "v"], [21101, 0, "e"], [21102, 0, "l"], [21103, 0, "y"], [21104, 0, " "], [21105, 0, "e"], [21106, 0, "d"], [21107, 0, "i"], [21108, 0, "t"], [21109, 0, "a"], [21110, 0, "b"], [21111, 0, "l"], [21112, 0, "e"], [21113, 0, " "], [21114, 0, "s"], [21115, 0, "t"], [21116, 0, "r"], [21117, 0, "i"], [21118, 0, "n"], [21119, 0, "g"], [21120, 0, " "], [21121, 0, "("], [21122, 0, "s"], [21123, 0, "e"], [21124, 0, "e"], [21125, 0, " "], [21126, 0, "a"], [21127, 0, "l"], [21128, 0, "s"], [21129, 0, "o"], [21130, 0, " "], [21131, 0, "F"], [21132, 0, "i"], [21133, 0, "g"], [21134, 0, "u"], [21135, 0, "r"], [21136, 0, "e"], [21137, 0, "~"], [21138, 0, "\\"], [21139, 0, "r"], [21140, 0, "e"], [21141, 0, "f"], [21142, 0, "{"], [21143, 0, "f"], [21144, 0, "i"], [21145, 0, "g"], [21146, 0, ":"], [21147, 0, "t"], [21148, 0, "e"], [21149, 0, "x"], [21150, 0, "t"], [21151, 0, "-"], [21152, 0, "e"], [21153, 0, "d"], [21154, 0, "i"], [21155, 0, "t"], [21156, 0, "}"], [21157, 0, ")"], [21158, 0, "."], [21159, 0, " "], [21159, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21161, 1], [21160, 1], [21159, 1], [18966, 1], [18966, 0, "."], [18967, 0, "g"], [18968, 0, "e"], [18969, 0, "t"], [18970, 0, "("], [18978, 1], [18978, 0, ")"], [22936, 1], [22935, 1], [22934, 1], [22933, 1], [22932, 1], [22931, 1], [22930, 1], [22929, 1], [22928, 1], [22927, 1], [22926, 1], [22925, 1], [22924, 1], [22923, 1], [22922, 1], [22921, 1], [22920, 1], [22919, 1], [22918, 1], [22917, 1], [22916, 1], [22915, 1], [22914, 1], [22913, 1], [22912, 1], [22911, 1], [22910, 1], [22909, 1], [22936, 0, " "], [22937, 0, "g"], [22938, 0, "i"], [22939, 0, "v"], [22940, 0, "e"], [22941, 0, "s"], [22942, 0, " "], [22943, 0, "a"], [22944, 0, "n"], [22945, 0, " "], [22946, 0, "e"], [22947, 0, "x"], [22948, 0, "a"], [22949, 0, "m"], [22950, 0, "p"], [22951, 0, "l"], [22952, 0, "e"], [22953, 0, " "], [22954, 0, "o"], [22955, 0, "f"], [22956, 0, " "], [22957, 0, "c"], [22958, 0, "o"], [22959, 0, "n"], [22960, 0, "c"], [22961, 0, "u"], [22962, 0, "r"], [22963, 0, "r"], [22964, 0, "e"], [22965, 0, "n"], [22966, 0, "t"], [22967, 0, " "], [22968, 0, "e"], [22969, 0, "d"], [22970, 0, "i"], [22971, 0, "t"], [22972, 0, "s"], [22973, 0, " "], [22974, 0, "a"], [22975, 0, "t"], [22976, 0, " "], [22977, 0, "d"], [22978, 0, "i"], [22979, 0, "f"], [22980, 0, "f"], [22981, 0, "e"], [22982, 0, "r"], [22983, 0, "e"], [22984, 0, "n"], [22985, 0, "t"], [22986, 0, " "], [22987, 0, "l"], [22988, 0, "e"], [22989, 0, "v"], [22990, 0, "e"], [22991, 0, "l"], [22992, 0, "s"], [22993, 0, " "], [22994, 0, "o"], [22995, 0, "f"], [22996, 0, " "], [22997, 0, "t"], [22998, 0, "h"], [22999, 0, "e"], [23000, 0, " "], [23001, 0, "t"], [23002, 0, "r"], [23003, 0, "e"], [23004, 0, "e"], [23159, 0, " "], [23160, 0, "I"], [23161, 0, "n"], [23162, 0, "s"], [23163, 0, "t"], [23164, 0, "e"], [23165, 0, "a"], [23166, 0, "d"], [23167, 0, " "], [23168, 0, "o"], [23169, 0, "f"], [23170, 0, " "], [23171, 0, "a"], [23172, 0, "s"], [23173, 0, "s"], [23174, 0, "i"], [23175, 0, "g"], [23176, 0, "n"], [23177, 0, "i"], [23178, 0, "n"], [23179, 0, "g"], [23180, 0, " "], [23181, 0, "a"], [23182, 0, "n"], [23183, 0, " "], [23184, 0, "e"], [23185, 0, "m"], [23186, 0, "p"], [23187, 0, "t"], [23188, 0, "y"], [23189, 0, " "], [23190, 0, "m"], [23191, 0, "a"], [23192, 0, "p"], [23016, 1], [23015, 1], [23014, 1], [23013, 1], [23020, 0, " "], [23021, 0, "$"], [23022, 0, "p"], [23023, 0, "$"], [23090, 1], [23089, 1], [23088, 1], [23087, 1], [23086, 1], [23085, 1], [23084, 1], [23083, 1], [23082, 1], [23081, 1], [23080, 1], [23079, 1], [23078, 1], [23077, 1], [23076, 1], [23064, 0, "r"], [23065, 0, "e"], [23066, 0, "p"], [23067, 0, "l"], [23068, 0, "i"], [23069, 0, "c"], [23070, 0, "a"], [23071, 0, " "], [23072, 0, "$"], [23073, 0, "q"], [23074, 0, "$"], [23075, 0, " "], [23190, 0, ","], [23191, 0, " "], [23192, 0, "$"], [23193, 0, "q"], [23194, 0, "$"], [23195, 0, " "], [23196, 0, "c"], [23197, 0, "o"], [23198, 0, "u"], [23199, 0, "l"], [23200, 0, "d"], [23201, 0, " "], [23202, 0, "e"], [23203, 0, "q"], [23204, 0, "u"], [23205, 0, "i"], [23206, 0, "v"], [23207, 0, "a"], [23208, 0, "l"], [23209, 0, "e"], [23210, 0, "n"], [23211, 0, "t"], [23212, 0, "l"], [23213, 0, "y"], [23214, 0, " "], [23215, 0, "r"], [23216, 0, "e"], [23217, 0, "m"], [23218, 0, "o"], [23219, 0, "v"], [23220, 0, "e"], [23221, 0, " "], [23222, 0, "t"], [23223, 0, "h"], [23224, 0, "e"], [23225, 0, " "], [23226, 0, "e"], [23227, 0, "n"], [23228, 0, "t"], [23229, 0, "i"], [23230, 0, "r"], [23231, 0, "e"], [23232, 0, " "], [23233, 0, "k"], [23234, 0, "e"], [23235, 0, "y"], [23236, 0, " "], [23237, 0, "`"], [23238, 0, "`"], [23239, 0, "c"], [23240, 0, "o"], [23241, 0, "l"], [23242, 0, "o"], [23243, 0, "r"], [23244, 0, "s"], [23245, 0, "'"], [23246, 0, "'"], [23247, 0, " "], [23248, 0, "f"], [23249, 0, "r"], [23250, 0, "o"], [23251, 0, "m"], [23252, 0, " "], [23253, 0, "t"], [23254, 0, "h"], [23255, 0, "e"], [23256, 0, " "], [23257, 0, "o"], [23258, 0, "u"], [23259, 0, "t"], [23260, 0, "e"], [23261, 0, "r"], [23262, 0, " "], [23263, 0, "m"], [23264, 0, "a"], [23265, 0, "p"], [23266, 0, ","], [23267, 0, " "], [23268, 0, "a"], [23269, 0, "n"], [23270, 0, "d"], [23271, 0, " "], [23272, 0, "t"], [23273, 0, "h"], [23274, 0, "e"], [23275, 0, "n"], [23276, 0, " "], [23277, 0, "a"], [23278, 0, "s"], [23279, 0, "s"], [23280, 0, "i"], [23281, 0, "g"], [23282, 0, "n"], [23283, 0, " "], [23284, 0, "a"], [23285, 0, " "], [23286, 0, "n"], [23287, 0, "e"], [23288, 0, "w"], [23289, 0, " "], [23290, 0, "e"], [23291, 0, "m"], [23292, 0, "p"], [23293, 0, "t"], [23294, 0, "y"], [23295, 0, " "], [23296, 0, "m"], [23297, 0, "a"], [23298, 0, "p"], [23299, 0, " "], [23300, 0, "t"], [23301, 0, "o"], [23302, 0, " "], [23303, 0, "t"], [23304, 0, "h"], [23305, 0, "a"], [23306, 0, "t"], [23307, 0, " "], [23308, 0, "k"], [23309, 0, "e"], [23310, 0, "y"], [23311, 0, "."], [23312, 0, "\n"], [23313, 0, "\n"], [23312, 0, " "], [23313, 0, "T"], [23314, 0, "h"], [23315, 0, "e"], [23316, 0, " "], [23317, 0, "d"], [23318, 0, "i"], [23319, 0, "f"], [23320, 0, "f"], [23321, 0, "i"], [23322, 0, "c"], [23323, 0, "u"], [23324, 0, "l"], [23325, 0, "t"], [23326, 0, "y"], [23327, 0, " "], [23328, 0, "i"], [23329, 0, "n"], [23330, 0, " "], [23331, 0, "t"], [23332, 0, "h"], [23333, 0, "i"], [23334, 0, "s"], [23335, 0, " "], [23336, 0, "e"], [23337, 0, "x"], [23338, 0, "a"], [23339, 0, "m"], [23340, 0, "p"], [23341, 0, "l"], [23342, 0, "e"], [23343, 0, " "], [23582, 0, "\n"], [23583, 0, "\n"], [23583, 0, "T"], [23584, 0, "h"], [23585, 0, "e"], [23586, 0, " "], [23587, 0, "b"], [23588, 0, "e"], [23589, 0, "h"], [23590, 0, "a"], [23591, 0, "v"], [23592, 0, "i"], [23593, 0, "o"], [23594, 0, "r"], [23595, 0, " "], [23596, 0, "w"], [23597, 0, "e"], [23598, 0, " "], [23599, 0, "d"], [23600, 0, "e"], [23601, 0, "f"], [23602, 0, "i"], [23603, 0, "n"], [23604, 0, "e"], [23605, 0, " "], [23606, 0, "i"], [23607, 0, "s"], [23608, 0, " "], [23608, 1], [23607, 1], [23606, 1], [23606, 0, "m"], [23607, 0, "a"], [23608, 0, "t"], [23609, 0, "c"], [23610, 0, "h"], [23611, 0, "e"], [23612, 0, "s"], [23613, 0, " "], [23614, 0, "t"], [23615, 0, "h"], [23616, 0, "a"], [23617, 0, "t"], [23618, 0, " "], [23619, 0, "o"], [23620, 0, "f"], [23621, 0, " "], [23622, 0, "C"], [23623, 0, "R"], [23624, 0, "D"], [23625, 0, "T"], [23626, 0, " "], [23627, 0, "m"], [23628, 0, "a"], [23629, 0, "p"], [23630, 0, "s"], [23631, 0, " "], [23632, 0, "i"], [23633, 0, "n"], [23634, 0, " "], [23635, 0, "R"], [23636, 0, "i"], [23637, 0, "a"], [23638, 0, "k"], [23639, 0, "~"], [23640, 0, "\\"], [23641, 0, "c"], [23642, 0, "i"], [23643, 0, "t"], [23644, 0, "e"], [23645, 0, "{"], [23646, 0, "B"], [23647, 0, "r"], [23648, 0, "o"], [23649, 0, "w"], [23650, 0, "n"], [23651, 0, ":"], [23652, 0, "2"], [23653, 0, "0"], [23654, 0, "1"], [23655, 0, "4"], [23656, 0, "h"], [23657, 0, "s"], [23658, 0, ","], [23659, 0, "B"], [23660, 0, "r"], [23661, 0, "o"], [23662, 0, "w"], [23663, 0, "n"], [23664, 0, ":"], [23665, 0, "2"], [23666, 0, "0"], [23667, 0, "1"], [23668, 0, "3"], [23669, 0, "w"], [23670, 0, "y"], [23671, 0, "}"], [23672, 0, "."], [23344, 0, "i"], [23345, 0, "s"], [23346, 0, " "], [23347, 0, "t"], [23348, 0, "h"], [23349, 0, "a"], [23350, 0, "t"], [23351, 0, " "], [23352, 0, "t"], [23353, 0, "h"], [23354, 0, "e"], [23355, 0, " "], [23356, 0, "a"], [23357, 0, "d"], [23358, 0, "d"], [23359, 0, "i"], [23360, 0, "t"], [23361, 0, "i"], [23362, 0, "o"], [23363, 0, "n"], [23364, 0, " "], [23365, 0, "o"], [23366, 0, "f"], [23367, 0, " "], [23368, 0, "`"], [23369, 0, "`"], [23370, 0, "r"], [23371, 0, "e"], [23372, 0, "d"], [23373, 0, "'"], [23374, 0, "'"], [23375, 0, " "], [23376, 0, "o"], [23377, 0, "c"], [23378, 0, "c"], [23379, 0, "u"], [23380, 0, "r"], [23381, 0, "s"], [23382, 0, " "], [23383, 0, "a"], [23384, 0, "t"], [23385, 0, " "], [23386, 0, "a"], [23387, 0, " "], [23388, 0, "l"], [23389, 0, "o"], [23390, 0, "w"], [23391, 0, "e"], [23392, 0, "r"], [23393, 0, " "], [23394, 0, "l"], [23395, 0, "e"], [23396, 0, "v"], [23397, 0, "e"], [23398, 0, "l"], [23399, 0, " "], [23400, 0, "o"], [23401, 0, "f"], [23402, 0, " "], [23403, 0, "t"], [23404, 0, "h"], [23405, 0, "e"], [23406, 0, " "], [23407, 0, "t"], [23408, 0, "r"], [23409, 0, "e"], [23410, 0, "e"], [23411, 0, ","], [23412, 0, " "], [23413, 0, "w"], [23414, 0, "h"], [23415, 0, "i"], [23416, 0, "l"], [23417, 0, "e"], [23418, 0, " "], [23419, 0, "c"], [23420, 0, "o"], [23421, 0, "n"], [23422, 0, "c"], [23423, 0, "u"], [23424, 0, "r"], [23425, 0, "r"], [23426, 0, "e"], [23427, 0, "n"], [23428, 0, "t"], [23429, 0, "l"], [23430, 0, "y"], [23431, 0, " "], [23432, 0, "t"], [23433, 0, "h"], [23434, 0, "e"], [23435, 0, " "], [23436, 0, "r"], [23437, 0, "e"], [23438, 0, "m"], [23439, 0, "o"], [23440, 0, "v"], [23441, 0, "a"], [23442, 0, "l"], [23443, 0, " "], [23444, 0, "o"], [23445, 0, "f"], [23446, 0, " "], [23447, 0, "t"], [23448, 0, "h"], [23449, 0, "e"], [23450, 0, " "], [23451, 0, "m"], [23452, 0, "a"], [23453, 0, "p"], [23454, 0, " "], [23455, 0, "o"], [23456, 0, "f"], [23457, 0, " "], [23458, 0, "c"], [23459, 0, "o"], [23460, 0, "l"], [23461, 0, "o"], [23462, 0, "r"], [23463, 0, "s"], [23464, 0, " "], [23465, 0, "o"], [23466, 0, "c"], [23467, 0, "c"], [23468, 0, "u"], [23469, 0, "r"], [23470, 0, "s"], [23471, 0, " "], [23472, 0, "a"], [23473, 0, "t"], [23474, 0, " "], [23475, 0, "a"], [23476, 0, " "], [23477, 0, "h"], [23478, 0, "i"], [23479, 0, "g"], [23480, 0, "h"], [23481, 0, "e"], [23482, 0, "r"], [23483, 0, " "], [23484, 0, "l"], [23485, 0, "e"], [23486, 0, "v"], [23487, 0, "e"], [23488, 0, "l"], [23489, 0, " "], [23490, 0, "o"], [23491, 0, "f"], [23492, 0, " "], [23493, 0, "t"], [23494, 0, "h"], [23495, 0, "e"], [23496, 0, " "], [23497, 0, "t"], [23498, 0, "r"], [23499, 0, "e"], [23500, 0, "e"], [23501, 0, "."], [23502, 0, "\n"], [23503, 0, "\n"], [23504, 0, "O"], [23505, 0, "n"], [23506, 0, "e"], [23507, 0, " "], [23508, 0, "p"], [23509, 0, "o"], [23510, 0, "s"], [23511, 0, "s"], [23512, 0, "i"], [23513, 0, "b"], [23514, 0, "l"], [23515, 0, "e"], [23516, 0, " "], [23517, 0, "w"], [23518, 0, "a"], [23519, 0, "y"], [23520, 0, " "], [23521, 0, "o"], [23522, 0, "f"], [23523, 0, " "], [23524, 0, "h"], [23525, 0, "a"], [23526, 0, "n"], [23527, 0, "d"], [23528, 0, "l"], [23529, 0, "i"], [23530, 0, "n"], [23531, 0, "g"], [23532, 0, " "], [23533, 0, "s"], [23534, 0, "u"], [23535, 0, "c"], [23536, 0, "h"], [23537, 0, " "], [23538, 0, "a"], [23539, 0, " "], [23540, 0, "c"], [23541, 0, "o"], [23542, 0, "n"], [23543, 0, "f"], [23544, 0, "l"], [23545, 0, "i"], [23546, 0, "c"], [23547, 0, "t"], [23548, 0, " "], [23549, 0, "w"], [23550, 0, "o"], [23551, 0, "u"], [23552, 0, "l"], [23553, 0, "d"], [23554, 0, " "], [23555, 0, "b"], [23556, 0, "e"], [23557, 0, " "], [23558, 0, "t"], [23559, 0, "o"], [23560, 0, " "], [23561, 0, "l"], [23562, 0, "e"], [23563, 0, "t"], [23564, 0, " "], [23565, 0, "e"], [23566, 0, "d"], [23567, 0, "i"], [23568, 0, "t"], [23569, 0, "s"], [23570, 0, " "], [23571, 0, "a"], [23572, 0, "t"], [23573, 0, " "], [23574, 0, "h"], [23575, 0, "i"], [23576, 0, "g"], [23577, 0, "h"], [23578, 0, "e"], [23579, 0, "r"], [23580, 0, " "], [23581, 0, "l"], [23582, 0, "e"], [23583, 0, "v"], [23584, 0, "e"], [23585, 0, "l"], [23586, 0, "s"], [23587, 0, " "], [23588, 0, "o"], [23589, 0, "f"], [23590, 0, " "], [23591, 0, "a"], [23592, 0, " "], [23593, 0, "t"], [23594, 0, "r"], [23595, 0, "e"], [23596, 0, "e"], [23597, 0, " "], [23598, 0, "a"], [23599, 0, "l"], [23600, 0, "w"], [23601, 0, "a"], [23602, 0, "y"], [23603, 0, "s"], [23604, 0, " "], [23605, 0, "o"], [23606, 0, "v"], [23607, 0, "e"], [23608, 0, "r"], [23609, 0, "r"], [23610, 0, "i"], [23611, 0, "d"], [23612, 0, "e"], [23613, 0, " "], [23614, 0, "c"], [23615, 0, "o"], [23616, 0, "n"], [23617, 0, "c"], [23618, 0, "u"], [23619, 0, "r"], [23620, 0, "r"], [23621, 0, "e"], [23622, 0, "n"], [23623, 0, "t"], [23624, 0, " "], [23625, 0, "e"], [23626, 0, "d"], [23627, 0, "i"], [23628, 0, "t"], [23629, 0, "s"], [23630, 0, " "], [23631, 0, "w"], [23632, 0, "i"], [23633, 0, "t"], [23634, 0, "h"], [23635, 0, "i"], [23636, 0, "n"], [23637, 0, " "], [23638, 0, "t"], [23639, 0, "h"], [23640, 0, "a"], [23641, 0, "t"], [23642, 0, " "], [23643, 0, "s"], [23644, 0, "u"], [23645, 0, "b"], [23646, 0, "t"], [23647, 0, "r"], [23648, 0, "e"], [23649, 0, "e"], [23650, 0, " "], [23651, 0, "("], [23652, 0, "i"], [23653, 0, "n"], [23654, 0, " "], [23655, 0, "t"], [23656, 0, "h"], [23657, 0, "i"], [23658, 0, "s"], [23659, 0, " "], [23660, 0, "c"], [23661, 0, "a"], [23662, 0, "s"], [23663, 0, "e"], [23664, 0, ","], [23665, 0, " "], [23666, 0, "t"], [23667, 0, "h"], [23668, 0, "a"], [23669, 0, "t"], [23670, 0, " "], [23671, 0, "w"], [23672, 0, "o"], [23673, 0, "u"], [23674, 0, "l"], [23675, 0, "d"], [23676, 0, " "], [23677, 0, "m"], [23678, 0, "e"], [23679, 0, "a"], [23680, 0, "n"], [23681, 0, " "], [23682, 0, "t"], [23683, 0, "h"], [23684, 0, "e"], [23685, 0, " "], [23686, 0, "a"], [23687, 0, "d"], [23688, 0, "d"], [23689, 0, "i"], [23690, 0, "t"], [23691, 0, "i"], [23692, 0, "o"], [23693, 0, "n"], [23694, 0, " "], [23695, 0, "o"], [23696, 0, "f"], [23697, 0, " "], [23698, 0, "`"], [23699, 0, "`"], [23700, 0, "r"], [23701, 0, "e"], [23702, 0, "d"], [23703, 0, "'"], [23704, 0, "'"], [23705, 0, " "], [23706, 0, "w"], [23707, 0, "o"], [23708, 0, "u"], [23709, 0, "l"], [23710, 0, "d"], [23711, 0, " "], [23712, 0, "b"], [23713, 0, "e"], [23714, 0, " "], [23715, 0, "d"], [23716, 0, "i"], [23717, 0, "s"], [23718, 0, "c"], [23719, 0, "a"], [23720, 0, "r"], [23721, 0, "d"], [23722, 0, "e"], [23723, 0, "d"], [23724, 0, ","], [23725, 0, " "], [23726, 0, "s"], [23727, 0, "i"], [23728, 0, "n"], [23729, 0, "c"], [23730, 0, "e"], [23731, 0, " "], [23732, 0, "i"], [23733, 0, "t"], [23734, 0, " "], [23735, 0, "w"], [23736, 0, "o"], [23737, 0, "u"], [23738, 0, "l"], [23739, 0, "d"], [23740, 0, " "], [23741, 0, "b"], [23742, 0, "e"], [23743, 0, " "], [23744, 0, "o"], [23745, 0, "v"], [23746, 0, "e"], [23747, 0, "r"], [23748, 0, "r"], [23749, 0, "i"], [23750, 0, "d"], [23751, 0, "d"], [23752, 0, "e"], [23753, 0, "n"], [23754, 0, " "], [23755, 0, "b"], [23756, 0, "y"], [23757, 0, " "], [23758, 0, "t"], [23759, 0, "h"], [23760, 0, "e"], [23761, 0, " "], [23762, 0, "b"], [23763, 0, "l"], [23764, 0, "a"], [23765, 0, "n"], [23766, 0, "k"], [23767, 0, "i"], [23768, 0, "n"], [23769, 0, "g"], [23770, 0, "-"], [23771, 0, "o"], [23772, 0, "u"], [23773, 0, "t"], [23774, 0, " "], [23775, 0, "o"], [23776, 0, "f"], [23777, 0, " "], [23778, 0, "t"], [23779, 0, "h"], [23780, 0, "e"], [23781, 0, " "], [23782, 0, "e"], [23783, 0, "n"], [23784, 0, "t"], [23785, 0, "i"], [23786, 0, "r"], [23787, 0, "e"], [23788, 0, " "], [23789, 0, "m"], [23790, 0, "a"], [23791, 0, "p"], [23792, 0, " "], [23793, 0, "o"], [23794, 0, "f"], [23795, 0, " "], [23796, 0, "c"], [23797, 0, "o"], [23798, 0, "l"], [23799, 0, "o"], [23800, 0, "r"], [23801, 0, "s"], [23802, 0, ")"], [23803, 0, "."], [23804, 0, " "], [23805, 0, "H"], [23806, 0, "o"], [23807, 0, "w"], [23808, 0, "e"], [23809, 0, "v"], [23810, 0, "e"], [23811, 0, "r"], [23812, 0, ","], [23813, 0, " "], [23814, 0, "t"], [23815, 0, "h"], [23816, 0, "a"], [23817, 0, "t"], [23818, 0, " "], [23819, 0, "b"], [23820, 0, "e"], [23821, 0, "h"], [23822, 0, "a"], [23823, 0, "v"], [23824, 0, "i"], [23825, 0, "o"], [23826, 0, "r"], [23827, 0, " "], [23828, 0, "w"], [23829, 0, "o"], [23830, 0, "u"], [23831, 0, "l"], [23832, 0, "d"], [23833, 0, " "], [23834, 0, "n"], [23835, 0, "o"], [23836, 0, "t"], [23837, 0, " "], [23838, 0, "m"], [23839, 0, "e"], [23840, 0, "e"], [23841, 0, "t"], [23842, 0, " "], [23843, 0, "o"], [23844, 0, "u"], [23845, 0, "r"], [23846, 0, " "], [23847, 0, "r"], [23848, 0, "e"], [23849, 0, "q"], [23850, 0, "u"], [23851, 0, "i"], [23852, 0, "r"], [23853, 0, "e"], [23854, 0, "m"], [23855, 0, "e"], [23856, 0, "n"], [23857, 0, "t"], [23858, 0, " "], [23859, 0, "o"], [23860, 0, "f"], [23861, 0, " "], [23861, 1], [23860, 1], [23859, 1], [23859, 0, "t"], [23860, 0, "h"], [23861, 0, "a"], [23862, 0, "t"], [23863, 0, " "], [23864, 0, "e"], [23865, 0, "d"], [23866, 0, "i"], [23867, 0, "t"], [23868, 0, "s"], [23869, 0, " "], [23869, 1], [23868, 1], [23867, 1], [23866, 1], [23865, 1], [23864, 1], [23864, 0, "n"], [23865, 0, "o"], [23866, 0, " "], [23867, 0, "u"], [23868, 0, "s"], [23869, 0, "e"], [23870, 0, "r"], [23871, 0, " "], [23872, 0, "i"], [23873, 0, "n"], [23874, 0, "p"], [23875, 0, "u"], [23876, 0, "t"], [23877, 0, " "], [23878, 0, "s"], [23879, 0, "h"], [23880, 0, "o"], [23881, 0, "u"], [23882, 0, "l"], [23883, 0, "d"], [23884, 0, " "], [23885, 0, "b"], [23886, 0, "e"], [23887, 0, " "], [23888, 0, "l"], [23889, 0, "o"], [23890, 0, "s"], [23891, 0, "t"], [23892, 0, " "], [23893, 0, "d"], [23894, 0, "u"], [23895, 0, "e"], [23896, 0, " "], [23897, 0, "t"], [23898, 0, "o"], [23899, 0, " "], [23900, 0, "c"], [23901, 0, "o"], [23902, 0, "n"], [23903, 0, "c"], [23904, 0, "u"], [23905, 0, "r"], [23906, 0, "r"], [23907, 0, "e"], [23908, 0, "n"], [23909, 0, "t"], [23910, 0, " "], [23911, 0, "m"], [23912, 0, "o"], [23913, 0, "d"], [23914, 0, "i"], [23915, 0, "f"], [23916, 0, "i"], [23917, 0, "c"], [23918, 0, "a"], [23919, 0, "t"], [23920, 0, "i"], [23921, 0, "o"], [23922, 0, "n"], [23923, 0, "s"], [23924, 0, "."], [23925, 0, " "], [23926, 0, "I"], [23927, 0, "n"], [23928, 0, "s"], [23929, 0, "t"], [23930, 0, "e"], [23931, 0, "a"], [23932, 0, "d"], [23933, 0, ","], [23934, 0, " "], [23935, 0, "w"], [23936, 0, "e"], [23937, 0, " "], [23938, 0, "d"], [23939, 0, "e"], [23940, 0, "f"], [23941, 0, "i"], [23942, 0, "n"], [23943, 0, "e"], [23944, 0, " "], [23945, 0, "a"], [23946, 0, " "], [23947, 0, "m"], [23947, 1], [23946, 1], [23945, 1], [23945, 0, "m"], [23946, 0, "e"], [23947, 0, "r"], [23948, 0, "g"], [23949, 0, "e"], [23950, 0, " "], [23951, 0, "s"], [23952, 0, "e"], [23953, 0, "m"], [23954, 0, "a"], [23955, 0, "n"], [23956, 0, "t"], [23957, 0, "i"], [23958, 0, "c"], [23959, 0, "s"], [23960, 0, " "], [23961, 0, "t"], [23962, 0, "h"], [23963, 0, "a"], [23964, 0, "t"], [23965, 0, " "], [23966, 0, "p"], [23967, 0, "r"], [23968, 0, "e"], [23969, 0, "s"], [23970, 0, "e"], [23971, 0, "r"], [23972, 0, "v"], [23973, 0, "e"], [23974, 0, " "], [23975, 0, "a"], [23976, 0, "l"], [23977, 0, "l"], [23978, 0, " "], [23979, 0, "c"], [23980, 0, "h"], [23981, 0, "a"], [23982, 0, "n"], [23983, 0, "g"], [23984, 0, "e"], [23985, 0, "s"], [23986, 0, ":"], [24054, 1], [24053, 1], [24052, 1], [24051, 1], [24050, 1], [24049, 1], [24048, 1], [24047, 1], [24046, 1], [24045, 1], [24044, 1], [24043, 1], [24042, 1], [24041, 1], [24040, 1], [24039, 1], [24038, 1], [24037, 1], [24036, 1], [24035, 1], [24034, 1], [24033, 1], [24032, 1], [24031, 1], [24030, 1], [24029, 1], [24028, 1], [24027, 1], [24026, 1], [24025, 1], [24024, 1], [24023, 1], [24022, 1], [24021, 1], [24020, 1], [24019, 1], [24018, 1], [24017, 1], [24016, 1], [24015, 1], [24014, 1], [24013, 1], [24012, 1], [24011, 1], [24010, 1], [24009, 1], [24008, 1], [24007, 1], [24006, 1], [24005, 1], [24004, 1], [24003, 1], [24002, 1], [24001, 1], [24000, 1], [23999, 1], [23998, 1], [23997, 1], [23996, 1], [23995, 1], [23994, 1], [23993, 1], [23992, 1], [23991, 1], [23990, 1], [23989, 1], [23988, 1], [23987, 1], [24157, 1], [24156, 1], [24156, 0, " "], [24159, 1], [24159, 0, "i"], [24160, 0, "s"], [24171, 1], [24171, 1], [24171, 1], [24171, 1], [24171, 1], [24171, 1], [24171, 1], [24171, 1], [24171, 1], [24171, 1], [24171, 1], [24171, 1], [24171, 1], [24171, 0, "m"], [24172, 0, "a"], [24173, 0, "t"], [23986, 0, ","], [23987, 0, " "], [23988, 0, "a"], [23989, 0, "s"], [23990, 0, " "], [23991, 0, "s"], [23992, 0, "h"], [23993, 0, "o"], [23994, 0, "w"], [23995, 0, "n"], [23996, 0, " "], [23997, 0, "i"], [23998, 0, "n"], [23999, 0, " "], [24000, 0, "F"], [24001, 0, "i"], [24002, 0, "g"], [24003, 0, "u"], [24004, 0, "r"], [24005, 0, "e"], [24006, 0, "~"], [24007, 0, "\\"], [24008, 0, "r"], [24009, 0, "e"], [24010, 0, "f"], [24011, 0, "{"], [24012, 0, "f"], [24013, 0, "i"], [24014, 0, "g"], [24015, 0, ":"], [24016, 0, "m"], [24017, 0, "a"], [24018, 0, "p"], [24019, 0, "-"], [24020, 0, "r"], [24021, 0, "e"], [24022, 0, "m"], [24023, 0, "o"], [24024, 0, "v"], [24025, 0, "e"], [24026, 0, "}"], [24296, 0, "["], [24297, 0, "p"], [24298, 0, "]"], [21180, 0, "["], [21181, 0, "p"], [21182, 0, "]"], [17817, 0, "["], [17818, 0, "p"], [17819, 0, "]"], [27023, 0, "["], [27024, 0, "p"], [27025, 0, "]"], [28556, 0, "["], [28557, 0, "p"], [28558, 0, "]"], [30090, 0, "["], [30091, 0, "p"], [30092, 0, "]"], [26002, 0, "j"], [26003, 0, "j"], [26004, 0, "j"], [26005, 0, "j"], [26005, 1], [26002, 1], [26002, 1], [26002, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [26345, 1], [30825, 0, "j"], [30825, 1], [30839, 0, "\n"], [30840, 0, "\n"], [30840, 0, "F"], [30841, 0, "i"], [30842, 0, "g"], [30843, 0, "u"], [30844, 0, "r"], [30845, 0, "e"], [30846, 0, "~"], [30847, 0, "\\"], [30848, 0, "r"], [30849, 0, "e"], [30850, 0, "f"], [30851, 0, "{"], [30852, 0, "f"], [30853, 0, "i"], [30854, 0, "g"], [30855, 0, ":"], [30856, 0, "m"], [30857, 0, "a"], [30858, 0, "p"], [30859, 0, "-"], [30860, 0, "r"], [30861, 0, "e"], [30862, 0, "m"], [30863, 0, "o"], [30864, 0, "v"], [30865, 0, "e"], [30866, 0, "}"], [30867, 0, " "], [30868, 0, "g"], [30869, 0, "i"], [30870, 0, "v"], [30871, 0, "e"], [30872, 0, "s"], [30873, 0, " "], [30874, 0, "a"], [30875, 0, "n"], [30876, 0, " "], [30877, 0, "e"], [30878, 0, "x"], [30879, 0, "a"], [30880, 0, "m"], [30881, 0, "p"], [30882, 0, "l"], [30883, 0, "e"], [30884, 0, " "], [30885, 0, "o"], [30886, 0, "f"], [30887, 0, " "], [30888, 0, "c"], [30889, 0, "o"], [30890, 0, "n"], [30891, 0, "c"], [30892, 0, "u"], [30893, 0, "r"], [30894, 0, "r"], [30895, 0, "e"], [30896, 0, "n"], [30897, 0, "t"], [30898, 0, " "], [30899, 0, "e"], [30900, 0, "d"], [30901, 0, "i"], [30902, 0, "t"], [30903, 0, "s"], [30904, 0, " "], [30905, 0, "a"], [30906, 0, "t"], [30907, 0, " "], [30908, 0, "d"], [30909, 0, "i"], [30910, 0, "f"], [30911, 0, "f"], [30912, 0, "e"], [30913, 0, "r"], [30914, 0, "e"], [30915, 0, "n"], [30916, 0, "t"], [30917, 0, " "], [30918, 0, "l"], [30919, 0, "e"], [30920, 0, "v"], [30921, 0, "e"], [30922, 0, "l"], [30923, 0, "s"], [30924, 0, " "], [30925, 0, "o"], [30926, 0, "f"], [30927, 0, " "], [30928, 0, "t"], [30929, 0, "h"], [30930, 0, "e"], [30931, 0, " "], [30932, 0, "J"], [30933, 0, "S"], [30934, 0, "O"], [30935, 0, "N"], [30936, 0, " "], [30937, 0, "t"], [30938, 0, "r"], [30939, 0, "e"], [30940, 0, "e"], [30941, 0, "."], [30942, 0, " "], [30943, 0, "H"], [30944, 0, "e"], [30945, 0, "r"], [30946, 0, "e"], [30947, 0, ","], [30948, 0, " "], [30949, 0, "r"], [30950, 0, "e"], [30951, 0, "p"], [30952, 0, "l"], [30953, 0, "i"], [30954, 0, "c"], [30955, 0, "a"], [30956, 0, " "], [30957, 0, "$"], [30958, 0, "p"], [30959, 0, "$"], [30960, 0, " "], [30961, 0, "a"], [30962, 0, "d"], [30963, 0, "d"], [30964, 0, "s"], [30965, 0, " "], [30966, 0, "`"], [30967, 0, "`"], [30968, 0, "r"], [30969, 0, "e"], [30970, 0, "d"], [30971, 0, "'"], [30972, 0, "'"], [30973, 0, " "], [30974, 0, "t"], [30975, 0, "o"], [30976, 0, " "], [30977, 0, "a"], [30978, 0, " "], [30979, 0, "m"], [30980, 0, "a"], [30981, 0, "p"], [30982, 0, " "], [30983, 0, "o"], [30984, 0, "f"], [30985, 0, " "], [30986, 0, "c"], [30987, 0, "o"], [30988, 0, "l"], [30989, 0, "o"], [30990, 0, "r"], [30991, 0, "s"], [30992, 0, ","], [30993, 0, " "], [30994, 0, "w"], [30995, 0, "h"], [30996, 0, "i"], [30997, 0, "l"], [30998, 0, "e"], [30999, 0, " "], [31000, 0, "r"], [31001, 0, "e"], [31002, 0, "p"], [31003, 0, "l"], [31004, 0, "i"], [31005, 0, "c"], [31006, 0, "a"], [31007, 0, " "], [31008, 0, "$"], [31009, 0, "q"], [31010, 0, "$"], [31011, 0, " "], [31012, 0, "c"], [31013, 0, "o"], [31014, 0, "n"], [31015, 0, "c"], [31016, 0, "u"], [31017, 0, "r"], [31018, 0, "r"], [31019, 0, "e"], [31020, 0, "n"], [31021, 0, "t"], [31022, 0, "l"], [31023, 0, "y"], [31024, 0, " "], [31025, 0, "b"], [31026, 0, "l"], [31027, 0, "a"], [31028, 0, "n"], [31029, 0, "k"], [31030, 0, "s"], [31031, 0, " "], [31032, 0, "o"], [31033, 0, "u"], [31034, 0, "t"], [31035, 0, " "], [31036, 0, "t"], [31037, 0, "h"], [31038, 0, "e"], [31039, 0, " "], [31040, 0, "e"], [31041, 0, "n"], [31042, 0, "t"], [31043, 0, "i"], [31044, 0, "r"], [31045, 0, "e"], [31046, 0, " "], [31047, 0, "m"], [31048, 0, "a"], [31049, 0, "p"], [31050, 0, " "], [31051, 0, "o"], [31052, 0, "f"], [31053, 0, " "], [31054, 0, "c"], [31055, 0, "o"], [31056, 0, "l"], [31057, 0, "o"], [31058, 0, "r"], [31059, 0, "s"], [31060, 0, ","], [31061, 0, " "], [31062, 0, "a"], [31063, 0, "n"], [31064, 0, "d"], [31065, 0, " "], [31066, 0, "t"], [31067, 0, "h"], [31068, 0, "e"], [31069, 0, "n"], [31070, 0, " "], [31071, 0, "a"], [31072, 0, "d"], [31073, 0, "d"], [31074, 0, "s"], [31075, 0, " "], [31060, 1], [31075, 0, "`"], [31076, 0, "`"], [31077, 0, "g"], [31078, 0, "r"], [31079, 0, "e"], [31080, 0, "e"], [31081, 0, "n"], [31082, 0, "'"], [31083, 0, "'"], [31084, 0, "."], [31085, 0, " "], [31086, 0, "I"], [31087, 0, "n"], [31088, 0, "s"], [31089, 0, "t"], [31090, 0, "e"], [31091, 0, "a"], [31092, 0, "d"], [31093, 0, "e"], [31093, 1], [31093, 0, " "], [31094, 0, "o"], [31095, 0, "f"], [31096, 0, " "], [31097, 0, "a"], [31098, 0, "s"], [31099, 0, "s"], [31100, 0, "i"], [31101, 0, "g"], [31102, 0, "n"], [31103, 0, "i"], [31104, 0, "n"], [31105, 0, "g"], [31106, 0, " "], [31107, 0, "a"], [31108, 0, "n"], [31109, 0, " "], [31110, 0, "e"], [31111, 0, "m"], [31112, 0, "p"], [31113, 0, "t"], [31114, 0, "y"], [31115, 0, " "], [31116, 0, "m"], [31117, 0, "a"], [31118, 0, "p"], [31119, 0, ","], [31120, 0, " "], [31121, 0, "$"], [31122, 0, "q"], [31123, 0, "$"], [31124, 0, " "], [31125, 0, "c"], [31126, 0, "o"], [31127, 0, "u"], [31128, 0, "l"], [31129, 0, "d"], [31130, 0, " "], [31131, 0, "e"], [31132, 0, "q"], [31133, 0, "u"], [31134, 0, "i"], [31135, 0, "v"], [31136, 0, "a"], [31137, 0, "l"], [31138, 0, "e"], [31139, 0, "n"], [31140, 0, "t"], [31141, 0, "l"], [31142, 0, "y"], [31143, 0, " "], [31144, 0, "r"], [31145, 0, "e"], [31146, 0, "m"], [31147, 0, "o"], [31148, 0, "v"], [31149, 0, "e"], [31150, 0, " "], [31151, 0, "t"], [31152, 0, "h"], [31153, 0, "e"], [31154, 0, " "], [31155, 0, "e"], [31156, 0, "n"], [31157, 0, "t"], [31158, 0, "i"], [31159, 0, "r"], [31160, 0, "e"], [31161, 0, " "], [31162, 0, "k"], [31163, 0, "e"], [31164, 0, "y"], [31165, 0, " "], [31166, 0, "`"], [31167, 0, "`"], [31168, 0, "c"], [31169, 0, "o"], [31170, 0, "l"], [31171, 0, "o"], [31172, 0, "r"], [31173, 0, "s"], [31174, 0, "'"], [31175, 0, "'"], [31176, 0, " "], [31177, 0, "f"], [31178, 0, "r"], [31179, 0, "o"], [31180, 0, "m"], [31181, 0, " "], [31182, 0, "t"], [31183, 0, "h"], [31184, 0, "e"], [31185, 0, " "], [31186, 0, "o"], [31187, 0, "u"], [31188, 0, "t"], [31189, 0, "e"], [31190, 0, "r"], [31191, 0, " "], [31192, 0, "m"], [31193, 0, "a"], [31194, 0, "p"], [31195, 0, ","], [31196, 0, " "], [31197, 0, "a"], [31198, 0, "n"], [31199, 0, "d"], [31200, 0, " "], [31201, 0, "t"], [31202, 0, "h"], [31203, 0, "e"], [31204, 0, "n"], [31205, 0, " "], [31206, 0, "a"], [31207, 0, "s"], [31208, 0, "s"], [31209, 0, "i"], [31210, 0, "g"], [31211, 0, "n"], [31212, 0, " "], [31213, 0, "a"], [31214, 0, " "], [31215, 0, "n"], [31216, 0, "e"], [31217, 0, "w"], [31218, 0, " "], [31219, 0, "e"], [31220, 0, "m"], [31221, 0, "t"], [31221, 1], [31221, 0, "p"], [31222, 0, "t"], [31223, 0, "y"], [31224, 0, " "], [31225, 0, "m"], [31226, 0, "a"], [31227, 0, "p"], [31228, 0, " "], [31229, 0, "t"], [31230, 0, "o"], [31231, 0, " "], [31232, 0, "t"], [31233, 0, "h"], [31234, 0, "a"], [31235, 0, "t"], [31236, 0, " "], [31237, 0, "k"], [31238, 0, "e"], [31239, 0, "y"], [31240, 0, "."], [31241, 0, " "], [31242, 0, "T"], [31243, 0, "h"], [31244, 0, "e"], [31245, 0, " "], [31246, 0, "d"], [31247, 0, "i"], [31248, 0, "f"], [31249, 0, "f"], [31250, 0, "i"], [31251, 0, "c"], [31252, 0, "u"], [31253, 0, "l"], [31254, 0, "t"], [31255, 0, "y"], [31256, 0, " "], [31257, 0, "i"], [31258, 0, "n"], [31259, 0, " "], [31260, 0, "t"], [31261, 0, "h"], [31262, 0, "i"], [31263, 0, "s"], [31264, 0, " "], [31265, 0, "e"], [31266, 0, "x"], [31267, 0, "a"], [31268, 0, "m"], [31269, 0, "p"], [31270, 0, "l"], [31271, 0, "e"], [31272, 0, " "], [31273, 0, "i"], [31274, 0, "s"], [31275, 0, " "], [31276, 0, "t"], [31277, 0, "h"], [31278, 0, "a"], [31279, 0, "t"], [31280, 0, " "], [31281, 0, "t"], [31282, 0, "h"], [31283, 0, "e"], [31284, 0, " "], [31285, 0, "a"], [31286, 0, "d"], [31287, 0, "d"], [31288, 0, "i"], [31289, 0, "t"], [31290, 0, "i"], [31291, 0, "o"], [31292, 0, "n"], [31293, 0, " "], [31294, 0, "o"], [31295, 0, "f"], [31296, 0, " "], [31297, 0, "`"], [31298, 0, "`"], [31299, 0, "r"], [31300, 0, "e"], [31301, 0, "d"], [31302, 0, "'"], [31303, 0, "'"], [31304, 0, " "], [31305, 0, "o"], [31306, 0, "c"], [31307, 0, "c"], [31308, 0, "u"], [31309, 0, "r"], [31310, 0, "s"], [31311, 0, " "], [31312, 0, "a"], [31313, 0, "t"], [31314, 0, " "], [31315, 0, "a"], [31316, 0, " "], [31317, 0, "l"], [31318, 0, "o"], [31319, 0, "w"], [31320, 0, "e"], [31321, 0, "r"], [31322, 0, " "], [31323, 0, "l"], [31324, 0, "e"], [31325, 0, "v"], [31326, 0, "e"], [31327, 0, "l"], [31328, 0, " "], [31329, 0, "o"], [31330, 0, "f"], [31331, 0, " "], [31332, 0, "t"], [31333, 0, "h"], [31334, 0, "e"], [31335, 0, " "], [31336, 0, "t"], [31337, 0, "r"], [31338, 0, "e"], [31339, 0, "e"], [31340, 0, ","], [31341, 0, " "], [31342, 0, "w"], [31343, 0, "h"], [31344, 0, "i"], [31345, 0, "l"], [31346, 0, "e"], [31347, 0, " "], [31348, 0, "c"], [31349, 0, "o"], [31350, 0, "n"], [31351, 0, "c"], [31352, 0, "u"], [31353, 0, "r"], [31354, 0, "r"], [31355, 0, "e"], [31356, 0, "n"], [31357, 0, "t"], [31358, 0, "l"], [31359, 0, "y"], [31360, 0, " "], [31361, 0, "t"], [31362, 0, "h"], [31363, 0, "e"], [31364, 0, " "], [31365, 0, "r"], [31366, 0, "e"], [31367, 0, "m"], [31368, 0, "o"], [31369, 0, "v"], [31370, 0, "a"], [31371, 0, "l"], [31372, 0, " "], [31373, 0, "o"], [31374, 0, "f"], [31375, 0, " "], [31376, 0, "t"], [31377, 0, "h"], [31378, 0, "e"], [31379, 0, " "], [31380, 0, "m"], [31381, 0, "a"], [31382, 0, "p"], [31383, 0, " "], [31384, 0, "o"], [31385, 0, "f"], [31386, 0, " "], [31387, 0, "c"], [31388, 0, "o"], [31389, 0, "l"], [31390, 0, "o"], [31391, 0, "r"], [31392, 0, "s"], [31393, 0, " "], [31394, 0, "o"], [31395, 0, "c"], [31396, 0, "c"], [31397, 0, "u"], [31398, 0, "r"], [31399, 0, "s"], [31400, 0, " "], [31401, 0, "a"], [31402, 0, "t"], [31403, 0, " "], [31404, 0, "a"], [31405, 0, " "], [31406, 0, "h"], [31407, 0, "i"], [31408, 0, "g"], [31409, 0, "h"], [31410, 0, "e"], [31411, 0, "r"], [31412, 0, " "], [31413, 0, "l"], [31414, 0, "e"], [31415, 0, "v"], [31416, 0, "e"], [31417, 0, "l"], [31418, 0, " "], [31419, 0, "o"], [31420, 0, "f"], [31421, 0, " "], [31422, 0, "t"], [31423, 0, "h"], [31424, 0, "e"], [31425, 0, " "], [31426, 0, "t"], [31427, 0, "r"], [31428, 0, "e"], [31429, 0, "e"], [31430, 0, "."], [31431, 0, "\n"], [31432, 0, "\n"], [31433, 0, "O"], [31434, 0, "n"], [31435, 0, "e"], [31436, 0, " "], [31437, 0, "p"], [31438, 0, "o"], [31439, 0, "s"], [31440, 0, "s"], [31441, 0, "i"], [31442, 0, "b"], [31443, 0, "l"], [31444, 0, "e"], [31445, 0, " "], [31446, 0, "w"], [31447, 0, "a"], [31448, 0, "y"], [31449, 0, " "], [31450, 0, "o"], [31451, 0, "f"], [31452, 0, " "], [31453, 0, "h"], [31454, 0, "a"], [31455, 0, "n"], [31456, 0, "d"], [31457, 0, "l"], [31458, 0, "i"], [31459, 0, "n"], [31460, 0, "g"], [31461, 0, " "], [31462, 0, "s"], [31463, 0, "u"], [31464, 0, "c"], [31465, 0, "h"], [31466, 0, " "], [31467, 0, "a"], [31468, 0, " "], [31469, 0, "c"], [31470, 0, "o"], [31471, 0, "n"], [31472, 0, "f"], [31473, 0, "l"], [31474, 0, "i"], [31475, 0, "c"], [31476, 0, "t"], [31477, 0, " "], [31478, 0, "w"], [31479, 0, "o"], [31480, 0, "u"], [31481, 0, "l"], [31482, 0, "d"], [31483, 0, " "], [31484, 0, "b"], [31485, 0, "e"], [31486, 0, " "], [31487, 0, "t"], [31488, 0, "o"], [31489, 0, " "], [31490, 0, "l"], [31491, 0, "e"], [31492, 0, "t"], [31493, 0, " "], [31494, 0, "e"], [31495, 0, "d"], [31496, 0, "i"], [31497, 0, "t"], [31498, 0, "s"], [31499, 0, " "], [31500, 0, "a"], [31501, 0, "t"], [31502, 0, " "], [31503, 0, "h"], [31504, 0, "i"], [31505, 0, "g"], [31506, 0, "h"], [31507, 0, "e"], [31508, 0, "r"], [31509, 0, " "], [31510, 0, "l"], [31511, 0, "e"], [31512, 0, "v"], [31513, 0, "e"], [31514, 0, "l"], [31515, 0, "s"], [31516, 0, " "], [31517, 0, "o"], [31518, 0, "f"], [31519, 0, " "], [31520, 0, "t"], [31521, 0, "h"], [31522, 0, "e"], [31523, 0, " "], [31524, 0, "t"], [31525, 0, "r"], [31526, 0, "e"], [31527, 0, "e"], [31528, 0, " "], [31529, 0, "a"], [31530, 0, "l"], [31531, 0, "w"], [31532, 0, "a"], [31533, 0, "y"], [31534, 0, "s"], [31535, 0, " "], [31536, 0, "o"], [31537, 0, "v"], [31538, 0, "e"], [31539, 0, "r"], [31540, 0, "r"], [31541, 0, "i"], [31542, 0, "d"], [31543, 0, "e"], [31544, 0, " "], [31545, 0, "c"], [31546, 0, "o"], [31547, 0, "n"], [31548, 0, "c"], [31549, 0, "u"], [31550, 0, "r"], [31551, 0, "r"], [31552, 0, "e"], [31553, 0, "n"], [31554, 0, "t"], [31555, 0, " "], [31556, 0, "e"], [31557, 0, "d"], [31558, 0, "i"], [31559, 0, "t"], [31560, 0, "s"], [31561, 0, " "], [31562, 0, "w"], [31563, 0, "i"], [31564, 0, "t"], [31565, 0, "h"], [31566, 0, "i"], [31567, 0, "n"], [31568, 0, " "], [31569, 0, "t"], [31570, 0, "h"], [31571, 0, "a"], [31572, 0, "t"], [31573, 0, " "], [31574, 0, "s"], [31575, 0, "u"], [31576, 0, "b"], [31577, 0, "t"], [31578, 0, "r"], [31579, 0, "e"], [31580, 0, "e"], [31581, 0, "."], [31582, 0, " "], [31583, 0, "I"], [31584, 0, "n"], [31585, 0, " "], [31586, 0, "t"], [31587, 0, "h"], [31588, 0, "i"], [31589, 0, "s"], [31590, 0, " "], [31591, 0, "c"], [31592, 0, "a"], [31593, 0, "s"], [31594, 0, "e"], [31595, 0, ","], [31596, 0, " "], [31597, 0, "t"], [31598, 0, "h"], [31599, 0, "a"], [31600, 0, "t"], [31601, 0, " "], [31602, 0, "w"], [31603, 0, "o"], [31604, 0, "u"], [31605, 0, "l"], [31606, 0, "d"], [31607, 0, " "], [31608, 0, "m"], [31609, 0, "e"], [31610, 0, "a"], [31611, 0, "n"], [31612, 0, " "], [31613, 0, "t"], [31614, 0, "h"], [31615, 0, "e"], [31616, 0, " "], [31617, 0, "a"], [31618, 0, "d"], [31619, 0, "d"], [31620, 0, "i"], [31621, 0, "t"], [31622, 0, "i"], [31623, 0, "o"], [31624, 0, "n"], [31625, 0, " "], [31626, 0, "o"], [31627, 0, "f"], [31628, 0, " "], [31629, 0, "`"], [31630, 0, "`"], [31631, 0, "r"], [31632, 0, "e"], [31633, 0, "d"], [31634, 0, "'"], [31635, 0, "'"], [31636, 0, " "], [31637, 0, "w"], [31638, 0, "o"], [31639, 0, "u"], [31640, 0, "l"], [31641, 0, "d"], [31642, 0, " "], [31643, 0, "b"], [31644, 0, "e"], [31645, 0, " "], [31646, 0, "d"], [31647, 0, "i"], [31648, 0, "s"], [31649, 0, "c"], [31650, 0, "a"], [31651, 0, "r"], [31652, 0, "d"], [31653, 0, "e"], [31654, 0, "d"], [31655, 0, ","], [31656, 0, " "], [31657, 0, "s"], [31658, 0, "i"], [31659, 0, "n"], [31660, 0, "c"], [31661, 0, "e"], [31662, 0, " "], [31663, 0, "i"], [31664, 0, "t"], [31665, 0, " "], [31666, 0, "w"], [31667, 0, "o"], [31668, 0, "u"], [31669, 0, "l"], [31670, 0, "d"], [31671, 0, " "], [31672, 0, "b"], [31673, 0, "e"], [31674, 0, " "], [31675, 0, "o"], [31676, 0, "v"], [31677, 0, "e"], [31678, 0, "r"], [31679, 0, "r"], [31680, 0, "i"], [31681, 0, "d"], [31682, 0, "d"], [31683, 0, "e"], [31684, 0, "n"], [31685, 0, " "], [31686, 0, "b"], [31687, 0, "y"], [31688, 0, " "], [31689, 0, "t"], [31690, 0, "h"], [31691, 0, "e"], [31692, 0, " "], [31693, 0, "b"], [31694, 0, "l"], [31695, 0, "a"], [31696, 0, "n"], [31697, 0, "k"], [31698, 0, "i"], [31699, 0, "n"], [31700, 0, "g"], [31701, 0, "-"], [31702, 0, "o"], [31703, 0, "u"], [31704, 0, "t"], [31705, 0, " "], [31706, 0, "o"], [31707, 0, "f"], [31708, 0, " "], [31709, 0, "t"], [31710, 0, "h"], [31711, 0, "e"], [31712, 0, " "], [31713, 0, "e"], [31714, 0, "n"], [31715, 0, "t"], [31716, 0, "i"], [31717, 0, "r"], [31718, 0, "e"], [31719, 0, " "], [31720, 0, "m"], [31721, 0, "a"], [31722, 0, "p"], [31723, 0, " "], [31724, 0, "o"], [31725, 0, "f"], [31726, 0, " "], [31727, 0, "c"], [31728, 0, "o"], [31729, 0, "l"], [31730, 0, "o"], [31731, 0, "r"], [31732, 0, "s"], [31733, 0, "."], [31734, 0, " "], [31735, 0, "H"], [31736, 0, "o"], [31737, 0, "w"], [31738, 0, "e"], [31739, 0, "v"], [31740, 0, "e"], [31741, 0, "r"], [31742, 0, ","], [31743, 0, " "], [31744, 0, "t"], [31745, 0, "h"], [31746, 0, "a"], [31747, 0, "t"], [31748, 0, " "], [31749, 0, "b"], [31750, 0, "e"], [31751, 0, "h"], [31752, 0, "a"], [31753, 0, "v"], [31754, 0, "i"], [31755, 0, "o"], [31756, 0, "r"], [31757, 0, " "], [31758, 0, "w"], [31759, 0, "o"], [31760, 0, "u"], [31761, 0, "l"], [31762, 0, "d"], [31763, 0, " "], [31764, 0, "n"], [31765, 0, "o"], [31766, 0, "t"], [31767, 0, " "], [31768, 0, "m"], [31769, 0, "e"], [31770, 0, "e"], [31771, 0, "t"], [31772, 0, " "], [31773, 0, "o"], [31774, 0, "u"], [31775, 0, "r"], [31776, 0, " "], [31777, 0, "r"], [31778, 0, "e"], [31779, 0, "q"], [31780, 0, "u"], [31781, 0, "i"], [31782, 0, "r"], [31783, 0, "e"], [31784, 0, "m"], [31785, 0, "e"], [31786, 0, "n"], [31787, 0, "t"], [31788, 0, " "], [31789, 0, "t"], [31790, 0, "h"], [31791, 0, "a"], [31792, 0, "t"], [31793, 0, " "], [31771, 1], [31770, 1], [31769, 1], [31768, 1], [31767, 1], [31766, 1], [31765, 1], [31764, 1], [31764, 0, "v"], [31765, 0, "i"], [31766, 0, "o"], [31767, 0, "l"], [31768, 0, "a"], [31769, 0, "t"], [31770, 0, "e"], [31793, 0, "n"], [31794, 0, "o"], [31795, 0, " "], [31796, 0, "u"], [31797, 0, "s"], [31798, 0, "e"], [31799, 0, "r"], [31800, 0, " "], [31801, 0, "i"], [31802, 0, "n"], [31803, 0, "p"], [31804, 0, "u"], [31805, 0, "t"], [31806, 0, " "], [31807, 0, "s"], [31808, 0, "h"], [31809, 0, "o"], [31810, 0, "u"], [31811, 0, "l"], [31812, 0, "d"], [31813, 0, " "], [31814, 0, "b"], [31815, 0, "e"], [31816, 0, " "], [31817, 0, "l"], [31818, 0, "o"], [31819, 0, "s"], [31820, 0, "t"], [31821, 0, " "], [31822, 0, "d"], [31823, 0, "u"], [31824, 0, "e"], [31825, 0, " "], [31826, 0, "t"], [31827, 0, "o"], [31828, 0, " "], [31829, 0, "c"], [31830, 0, "o"], [31831, 0, "n"], [31832, 0, "c"], [31833, 0, "u"], [31834, 0, "r"], [31835, 0, "r"], [31836, 0, "e"], [31837, 0, "n"], [31838, 0, "t"], [31839, 0, " "], [31840, 0, "m"], [31841, 0, "o"], [31842, 0, "d"], [31843, 0, "i"], [31844, 0, "f"], [31845, 0, "i"], [31846, 0, "c"], [31847, 0, "a"], [31848, 0, "t"], [31849, 0, "i"], [31850, 0, "o"], [31851, 0, "n"], [31852, 0, "s"], [31853, 0, "."], [31854, 0, " "], [31855, 0, "I"], [31856, 0, "n"], [31857, 0, "s"], [31858, 0, "t"], [31859, 0, "e"], [31860, 0, "a"], [31861, 0, "d"], [31862, 0, ","], [31863, 0, " "], [31864, 0, "w"], [31865, 0, "e"], [31866, 0, " "], [31867, 0, "e"], [31867, 1], [31867, 0, "d"], [31868, 0, "e"], [31869, 0, "f"], [31870, 0, "i"], [31871, 0, "n"], [31872, 0, "e"], [31873, 0, " "], [31874, 0, "m"], [31875, 0, "e"], [31876, 0, "r"], [31877, 0, "g"], [31878, 0, "e"], [31879, 0, " "], [31880, 0, "s"], [31881, 0, "e"], [31882, 0, "m"], [31883, 0, "a"], [31884, 0, "n"], [31885, 0, "t"], [31886, 0, "i"], [31887, 0, "c"], [31888, 0, "s"], [31889, 0, " "], [31890, 0, "t"], [31891, 0, "h"], [31892, 0, "a"], [31893, 0, "t"], [31894, 0, " "], [31895, 0, "p"], [31896, 0, "r"], [31897, 0, "e"], [31898, 0, "s"], [31899, 0, "e"], [31900, 0, "r"], [31901, 0, "v"], [31902, 0, "e"], [31903, 0, " "], [31904, 0, "a"], [31905, 0, "l"], [31906, 0, "l"], [31907, 0, " "], [31908, 0, "c"], [31909, 0, "h"], [31910, 0, "a"], [31911, 0, "n"], [31912, 0, "g"], [31913, 0, "e"], [31914, 0, "s"], [31915, 0, ","], [31916, 0, " "], [31917, 0, "a"], [31918, 0, "s"], [31919, 0, " "], [31920, 0, "s"], [31921, 0, "h"], [31922, 0, "o"], [31923, 0, "w"], [31924, 0, "n"], [31925, 0, " "], [31926, 0, "i"], [31927, 0, "n"], [31928, 0, " "], [31929, 0, "F"], [31930, 0, "i"], [31931, 0, "g"], [31932, 0, "u"], [31933, 0, "r"], [31934, 0, "e"], [31935, 0, "~"], [31936, 0, "\\"], [31937, 0, "r"], [31938, 0, "e"], [31939, 0, "f"], [31940, 0, "{"], [31941, 0, "f"], [31942, 0, "i"], [31943, 0, "g"], [31944, 0, ":"], [31945, 0, "m"], [31946, 0, "a"], [31947, 0, "p"], [31948, 0, "-"], [31949, 0, "r"], [31950, 0, "e"], [31951, 0, "m"], [31952, 0, "o"], [31953, 0, "v"], [31954, 0, "e"], [31955, 0, "}"], [31956, 0, ":"], [31957, 0, " "], [31958, 0, "`"], [31959, 0, "`"], [31960, 0, "b"], [31961, 0, "l"], [31962, 0, "u"], [31963, 0, "e"], [31964, 0, "'"], [31965, 0, "'"], [31966, 0, " "], [31967, 0, "m"], [31968, 0, "u"], [31969, 0, "s"], [31970, 0, "t"], [31971, 0, " "], [31972, 0, "b"], [31973, 0, "e"], [31974, 0, " "], [31975, 0, "a"], [31976, 0, "b"], [31977, 0, "s"], [31978, 0, "e"], [31979, 0, "n"], [31980, 0, "t"], [31981, 0, " "], [31982, 0, "f"], [31983, 0, "r"], [31984, 0, "o"], [31985, 0, "m"], [31986, 0, " "], [31987, 0, "t"], [31988, 0, "h"], [31989, 0, "e"], [31990, 0, " "], [31991, 0, "f"], [31992, 0, "i"], [31993, 0, "n"], [31994, 0, "a"], [31995, 0, "l"], [31996, 0, " "], [31997, 0, "m"], [31998, 0, "a"], [31999, 0, "p"], [32000, 0, ","], [32001, 0, " "], [32002, 0, "s"], [32003, 0, "i"], [32004, 0, "n"], [32005, 0, "c"], [32006, 0, "e"], [32007, 0, " "], [32008, 0, "i"], [32009, 0, "t"], [32010, 0, " "], [32011, 0, "w"], [32012, 0, "a"], [32013, 0, "s"], [32014, 0, " "], [32015, 0, "r"], [32016, 0, "e"], [32017, 0, "m"], [32018, 0, "o"], [32019, 0, "v"], [32020, 0, "e"], [32021, 0, "d"], [32022, 0, " "], [32023, 0, "b"], [32024, 0, "y"], [32025, 0, " "], [32026, 0, "b"], [32027, 0, "l"], [32028, 0, "a"], [32029, 0, "n"], [32030, 0, "k"], [32031, 0, "i"], [32032, 0, "n"], [32033, 0, "g"], [32034, 0, " "], [32035, 0, "o"], [32036, 0, "u"], [32037, 0, "t"], [32038, 0, " "], [32039, 0, "t"], [32040, 0, "h"], [32041, 0, "e"], [32042, 0, " "], [32043, 0, "m"], [32044, 0, "a"], [32045, 0, "p"], [32046, 0, ","], [32047, 0, " "], [32048, 0, "w"], [32049, 0, "h"], [32050, 0, "i"], [32051, 0, "l"], [32052, 0, "e"], [32053, 0, " "], [32054, 0, "`"], [32055, 0, "`"], [32056, 0, "r"], [32057, 0, "e"], [32058, 0, "d"], [32059, 0, "'"], [32060, 0, "'"], [32061, 0, " "], [32062, 0, "a"], [32063, 0, "n"], [32064, 0, "d"], [32065, 0, " "], [32066, 0, "`"], [32067, 0, "`"], [32068, 0, "g"], [32069, 0, "r"], [32070, 0, "e"], [32071, 0, "e"], [32072, 0, "n"], [32073, 0, "'"], [32074, 0, "'"], [32075, 0, " "], [32076, 0, "m"], [32077, 0, "u"], [32078, 0, "s"], [32079, 0, "t"], [32080, 0, " "], [32081, 0, "b"], [32082, 0, "e"], [32083, 0, " "], [32084, 0, "p"], [32085, 0, "r"], [32086, 0, "e"], [32087, 0, "s"], [32088, 0, "e"], [32089, 0, "n"], [32090, 0, "t"], [32091, 0, " "], [32091, 1], [32091, 0, ","], [32092, 0, " "], [32093, 0, "s"], [32094, 0, "i"], [32095, 0, "n"], [32096, 0, "c"], [32097, 0, "e"], [32098, 0, " "], [32099, 0, "t"], [32100, 0, "h"], [32101, 0, "e"], [32102, 0, "y"], [32103, 0, " "], [32104, 0, "w"], [32105, 0, "e"], [32106, 0, "r"], [32107, 0, "e"], [32108, 0, " "], [32109, 0, "e"], [32110, 0, "x"], [32111, 0, "p"], [32112, 0, "l"], [32113, 0, "i"], [32114, 0, "c"], [32115, 0, "i"], [32116, 0, "t"], [32117, 0, "l"], [32118, 0, "y"], [32119, 0, " "], [32120, 0, "a"], [32121, 0, "d"], [32122, 0, "d"], [32123, 0, "e"], [32124, 0, "d"], [32125, 0, "."], [32126, 0, " "], [32127, 0, "T"], [32128, 0, "h"], [32129, 0, "i"], [32130, 0, "s"], [32131, 0, " "], [32132, 0, "b"], [32133, 0, "e"], [32134, 0, "h"], [32135, 0, "a"], [32136, 0, "v"], [32137, 0, "i"], [32138, 0, "o"], [32139, 0, "r"], [32140, 0, " "], [32141, 0, "m"], [32142, 0, "a"], [32143, 0, "t"], [32144, 0, "c"], [32145, 0, "h"], [32146, 0, "e"], [32147, 0, "s"], [32148, 0, " "], [32149, 0, "t"], [32150, 0, "h"], [32151, 0, "a"], [32152, 0, "t"], [32153, 0, " "], [32154, 0, "o"], [32155, 0, "f"], [32156, 0, " "], [32157, 0, "C"], [32158, 0, "R"], [32159, 0, "D"], [32160, 0, "T"], [32161, 0, " "], [32162, 0, "m"], [32163, 0, "a"], [32164, 0, "p"], [32165, 0, "s"], [32166, 0, " "], [32167, 0, "i"], [32168, 0, "n"], [32169, 0, " "], [32170, 0, "R"], [32171, 0, "i"], [32172, 0, "a"], [32173, 0, "k"], [32174, 0, "~"], [32175, 0, "\\"], [32176, 0, "c"], [32177, 0, "i"], [32178, 0, "t"], [32179, 0, "e"], [32180, 0, "{"], [32181, 0, "B"], [32182, 0, "r"], [32183, 0, "o"], [32184, 0, "w"], [32185, 0, "n"], [32186, 0, ":"], [32187, 0, "2"], [32188, 0, "0"], [32189, 0, "1"], [32190, 0, "4"], [32191, 0, "h"], [32192, 0, "s"], [32193, 0, ","], [32194, 0, "B"], [32195, 0, "r"], [32196, 0, "o"], [32197, 0, "w"], [32198, 0, "n"], [32199, 0, ":"], [32200, 0, "2"], [32201, 0, "0"], [32202, 0, "1"], [32203, 0, "3"], [32204, 0, "w"], [32205, 0, "y"], [32206, 0, "}"], [32207, 0, "."], [24284, 1], [24283, 1], [24282, 1], [24281, 1], [24280, 1], [24279, 1], [24278, 1], [24277, 1], [24276, 1], [24275, 1], [24274, 1], [24273, 1], [24272, 1], [24271, 1], [24270, 1], [24269, 1], [24268, 1], [24267, 1], [24266, 1], [24265, 1], [24264, 1], [24263, 1], [24262, 1], [24261, 1], [24260, 1], [24259, 1], [24258, 1], [24257, 1], [24256, 1], [24255, 1], [24254, 1], [24253, 1], [24252, 1], [24251, 1], [24250, 1], [24249, 1], [24248, 1], [24247, 1], [24246, 1], [24245, 1], [24244, 1], [24243, 1], [24242, 1], [24241, 1], [24240, 1], [24239, 1], [24238, 1], [24237, 1], [24236, 1], [24235, 1], [24234, 1], [24233, 1], [24232, 1], [24231, 1], [24230, 1], [24229, 1], [24228, 1], [24227, 1], [24226, 1], [24225, 1], [24224, 1], [24223, 1], [24222, 1], [24221, 1], [24220, 1], [24219, 1], [24218, 1], [24217, 1], [24216, 1], [24215, 1], [24214, 1], [24213, 1], [24212, 1], [24211, 1], [24210, 1], [24209, 1], [24208, 1], [24207, 1], [24206, 1], [24205, 1], [24204, 1], [24203, 1], [24202, 1], [24201, 1], [24200, 1], [24199, 1], [24198, 1], [24197, 1], [24196, 1], [24195, 1], [24194, 1], [24193, 1], [24192, 1], [24191, 1], [24190, 1], [24189, 1], [24188, 1], [24187, 1], [24186, 1], [24185, 1], [24184, 1], [24183, 1], [24182, 1], [24181, 1], [24180, 1], [24179, 1], [24178, 1], [24177, 1], [24176, 1], [24175, 1], [24174, 1], [24173, 1], [24172, 1], [24171, 1], [24170, 1], [24169, 1], [24168, 1], [24167, 1], [24166, 1], [24165, 1], [24164, 1], [24163, 1], [24162, 1], [24161, 1], [24160, 1], [24159, 1], [24158, 1], [24157, 1], [24156, 1], [24155, 1], [24154, 1], [24153, 1], [24152, 1], [24151, 1], [24150, 1], [24149, 1], [24148, 1], [24147, 1], [24146, 1], [24145, 1], [24144, 1], [24143, 1], [24142, 1], [24141, 1], [24140, 1], [24139, 1], [24138, 1], [24137, 1], [24136, 1], [24135, 1], [24134, 1], [24133, 1], [24132, 1], [24131, 1], [24130, 1], [24129, 1], [24128, 1], [24127, 1], [24126, 1], [24125, 1], [24124, 1], [24123, 1], [24122, 1], [24121, 1], [24120, 1], [24119, 1], [24118, 1], [24117, 1], [24116, 1], [24115, 1], [24114, 1], [24113, 1], [24112, 1], [24111, 1], [24110, 1], [24109, 1], [24108, 1], [24107, 1], [24106, 1], [24105, 1], [24104, 1], [24103, 1], [24102, 1], [24101, 1], [24100, 1], [24099, 1], [24098, 1], [24097, 1], [24096, 1], [24095, 1], [24094, 1], [24093, 1], [24092, 1], [24091, 1], [24090, 1], [24089, 1], [24088, 1], [24087, 1], [24086, 1], [24085, 1], [24084, 1], [24083, 1], [24082, 1], [24081, 1], [24080, 1], [24079, 1], [24078, 1], [24077, 1], [24076, 1], [24075, 1], [24074, 1], [24073, 1], [24072, 1], [24071, 1], [24070, 1], [24069, 1], [24068, 1], [24067, 1], [24066, 1], [24065, 1], [24064, 1], [24063, 1], [24062, 1], [24061, 1], [24060, 1], [24059, 1], [24058, 1], [24057, 1], [24056, 1], [24055, 1], [24054, 1], [24053, 1], [24052, 1], [24051, 1], [24050, 1], [24049, 1], [24048, 1], [24047, 1], [24046, 1], [24045, 1], [24044, 1], [24043, 1], [24042, 1], [24041, 1], [24040, 1], [24039, 1], [24038, 1], [24037, 1], [24036, 1], [24035, 1], [24034, 1], [24033, 1], [24032, 1], [24031, 1], [24030, 1], [24029, 1], [24028, 1], [24027, 1], [24026, 1], [24025, 1], [24024, 1], [24023, 1], [24022, 1], [24021, 1], [24020, 1], [24019, 1], [24018, 1], [24017, 1], [24016, 1], [24015, 1], [24014, 1], [24013, 1], [24012, 1], [24011, 1], [24010, 1], [24009, 1], [24008, 1], [24007, 1], [24006, 1], [24005, 1], [24004, 1], [24003, 1], [24002, 1], [24001, 1], [24000, 1], [23999, 1], [23998, 1], [23997, 1], [23996, 1], [23995, 1], [23994, 1], [23993, 1], [23992, 1], [23991, 1], [23990, 1], [23989, 1], [23988, 1], [23987, 1], [23986, 1], [23985, 1], [23984, 1], [23983, 1], [23982, 1], [23981, 1], [23980, 1], [23979, 1], [23978, 1], [23977, 1], [23976, 1], [23975, 1], [23974, 1], [23973, 1], [23972, 1], [23971, 1], [23970, 1], [23969, 1], [23968, 1], [23967, 1], [23966, 1], [23965, 1], [23964, 1], [23963, 1], [23962, 1], [23961, 1], [23960, 1], [23959, 1], [23958, 1], [23957, 1], [23956, 1], [23955, 1], [23954, 1], [23953, 1], [23952, 1], [23951, 1], [23950, 1], [23949, 1], [23948, 1], [23947, 1], [23946, 1], [23945, 1], [23944, 1], [23943, 1], [23942, 1], [23941, 1], [23940, 1], [23939, 1], [23938, 1], [23937, 1], [23936, 1], [23935, 1], [23934, 1], [23933, 1], [23932, 1], [23931, 1], [23930, 1], [23929, 1], [23928, 1], [23927, 1], [23926, 1], [23925, 1], [23924, 1], [23923, 1], [23922, 1], [23921, 1], [23920, 1], [23919, 1], [23918, 1], [23917, 1], [23916, 1], [23915, 1], [23914, 1], [23913, 1], [23912, 1], [23911, 1], [23910, 1], [23909, 1], [23908, 1], [23907, 1], [23906, 1], [23905, 1], [23904, 1], [23903, 1], [23902, 1], [23901, 1], [23900, 1], [23899, 1], [23898, 1], [23897, 1], [23896, 1], [23895, 1], [23894, 1], [23893, 1], [23892, 1], [23891, 1], [23890, 1], [23889, 1], [23888, 1], [23887, 1], [23886, 1], [23885, 1], [23884, 1], [23883, 1], [23882, 1], [23881, 1], [23880, 1], [23879, 1], [23878, 1], [23877, 1], [23876, 1], [23875, 1], [23874, 1], [23873, 1], [23872, 1], [23871, 1], [23870, 1], [23869, 1], [23868, 1], [23867, 1], [23866, 1], [23865, 1], [23864, 1], [23863, 1], [23862, 1], [23861, 1], [23860, 1], [23859, 1], [23858, 1], [23857, 1], [23856, 1], [23855, 1], [23854, 1], [23853, 1], [23852, 1], [23851, 1], [23850, 1], [23849, 1], [23848, 1], [23847, 1], [23846, 1], [23845, 1], [23844, 1], [23843, 1], [23842, 1], [23841, 1], [23840, 1], [23839, 1], [23838, 1], [23837, 1], [23836, 1], [23835, 1], [23834, 1], [23833, 1], [23832, 1], [23831, 1], [23830, 1], [23829, 1], [23828, 1], [23827, 1], [23826, 1], [23825, 1], [23824, 1], [23823, 1], [23822, 1], [23821, 1], [23820, 1], [23819, 1], [23818, 1], [23817, 1], [23816, 1], [23815, 1], [23814, 1], [23813, 1], [23812, 1], [23811, 1], [23810, 1], [23809, 1], [23808, 1], [23807, 1], [23806, 1], [23805, 1], [23804, 1], [23803, 1], [23802, 1], [23801, 1], [23800, 1], [23799, 1], [23798, 1], [23797, 1], [23796, 1], [23795, 1], [23794, 1], [23793, 1], [23792, 1], [23791, 1], [23790, 1], [23789, 1], [23788, 1], [23787, 1], [23786, 1], [23785, 1], [23784, 1], [23783, 1], [23782, 1], [23781, 1], [23780, 1], [23779, 1], [23778, 1], [23777, 1], [23776, 1], [23775, 1], [23774, 1], [23773, 1], [23772, 1], [23771, 1], [23770, 1], [23769, 1], [23768, 1], [23767, 1], [23766, 1], [23765, 1], [23764, 1], [23763, 1], [23762, 1], [23761, 1], [23760, 1], [23759, 1], [23758, 1], [23757, 1], [23756, 1], [23755, 1], [23754, 1], [23753, 1], [23752, 1], [23751, 1], [23750, 1], [23749, 1], [23748, 1], [23747, 1], [23746, 1], [23745, 1], [23744, 1], [23743, 1], [23742, 1], [23741, 1], [23740, 1], [23739, 1], [23738, 1], [23737, 1], [23736, 1], [23735, 1], [23734, 1], [23733, 1], [23732, 1], [23731, 1], [23730, 1], [23729, 1], [23728, 1], [23727, 1], [23726, 1], [23725, 1], [23724, 1], [23723, 1], [23722, 1], [23721, 1], [23720, 1], [23719, 1], [23718, 1], [23717, 1], [23716, 1], [23715, 1], [23714, 1], [23713, 1], [23712, 1], [23711, 1], [23710, 1], [23709, 1], [23708, 1], [23707, 1], [23706, 1], [23705, 1], [23704, 1], [23703, 1], [23702, 1], [23701, 1], [23700, 1], [23699, 1], [23698, 1], [23697, 1], [23696, 1], [23695, 1], [23694, 1], [23693, 1], [23692, 1], [23691, 1], [23690, 1], [23689, 1], [23688, 1], [23687, 1], [23686, 1], [23685, 1], [23684, 1], [23683, 1], [23682, 1], [23681, 1], [23680, 1], [23679, 1], [23678, 1], [23677, 1], [23676, 1], [23675, 1], [23674, 1], [23673, 1], [23672, 1], [23671, 1], [23670, 1], [23669, 1], [23668, 1], [23667, 1], [23666, 1], [23665, 1], [23664, 1], [23663, 1], [23662, 1], [23661, 1], [23660, 1], [23659, 1], [23658, 1], [23657, 1], [23656, 1], [23655, 1], [23654, 1], [23653, 1], [23652, 1], [23651, 1], [23650, 1], [23649, 1], [23648, 1], [23647, 1], [23646, 1], [23645, 1], [23644, 1], [23643, 1], [23642, 1], [23641, 1], [23640, 1], [23639, 1], [23638, 1], [23637, 1], [23636, 1], [23635, 1], [23634, 1], [23633, 1], [23632, 1], [23631, 1], [23630, 1], [23629, 1], [23628, 1], [23627, 1], [23626, 1], [23625, 1], [23624, 1], [23623, 1], [23622, 1], [23621, 1], [23620, 1], [23619, 1], [23618, 1], [23617, 1], [23616, 1], [23615, 1], [23614, 1], [23613, 1], [23612, 1], [23611, 1], [23610, 1], [23609, 1], [23608, 1], [23607, 1], [23606, 1], [23605, 1], [23604, 1], [23603, 1], [23602, 1], [23601, 1], [23600, 1], [23599, 1], [23598, 1], [23597, 1], [23596, 1], [23595, 1], [23594, 1], [23593, 1], [23592, 1], [23591, 1], [23590, 1], [23589, 1], [23588, 1], [23587, 1], [23586, 1], [23585, 1], [23584, 1], [23583, 1], [23582, 1], [23581, 1], [23580, 1], [23579, 1], [23578, 1], [23577, 1], [23576, 1], [23575, 1], [23574, 1], [23573, 1], [23572, 1], [23571, 1], [23570, 1], [23569, 1], [23568, 1], [23567, 1], [23566, 1], [23565, 1], [23564, 1], [23563, 1], [23562, 1], [23561, 1], [23560, 1], [23559, 1], [23558, 1], [23557, 1], [23556, 1], [23555, 1], [23554, 1], [23553, 1], [23552, 1], [23551, 1], [23550, 1], [23549, 1], [23548, 1], [23547, 1], [23546, 1], [23545, 1], [23544, 1], [23543, 1], [23542, 1], [23541, 1], [23540, 1], [23539, 1], [23538, 1], [23537, 1], [23536, 1], [23535, 1], [23534, 1], [23533, 1], [23532, 1], [23531, 1], [23530, 1], [23529, 1], [23528, 1], [23527, 1], [23526, 1], [23525, 1], [23524, 1], [23523, 1], [23522, 1], [23521, 1], [23520, 1], [23519, 1], [23518, 1], [23517, 1], [23516, 1], [23515, 1], [23514, 1], [23513, 1], [23512, 1], [23511, 1], [23510, 1], [23509, 1], [23508, 1], [23507, 1], [23506, 1], [23505, 1], [23504, 1], [23503, 1], [23502, 1], [23501, 1], [23500, 1], [23499, 1], [23498, 1], [23497, 1], [23496, 1], [23495, 1], [23494, 1], [23493, 1], [23492, 1], [23491, 1], [23490, 1], [23489, 1], [23488, 1], [23487, 1], [23486, 1], [23485, 1], [23484, 1], [23483, 1], [23482, 1], [23481, 1], [23480, 1], [23479, 1], [23478, 1], [23477, 1], [23476, 1], [23475, 1], [23474, 1], [23473, 1], [23472, 1], [23471, 1], [23470, 1], [23469, 1], [23468, 1], [23467, 1], [23466, 1], [23465, 1], [23464, 1], [23463, 1], [23462, 1], [23461, 1], [23460, 1], [23459, 1], [23458, 1], [23457, 1], [23456, 1], [23455, 1], [23454, 1], [23453, 1], [23452, 1], [23451, 1], [23450, 1], [23449, 1], [23448, 1], [23447, 1], [23446, 1], [23445, 1], [23444, 1], [23443, 1], [23442, 1], [23441, 1], [23440, 1], [23439, 1], [23438, 1], [23437, 1], [23436, 1], [23435, 1], [23434, 1], [23433, 1], [23432, 1], [23431, 1], [23430, 1], [23429, 1], [23428, 1], [23427, 1], [23426, 1], [23425, 1], [23424, 1], [23423, 1], [23422, 1], [23421, 1], [23420, 1], [23419, 1], [23418, 1], [23417, 1], [23416, 1], [23415, 1], [23414, 1], [23413, 1], [23412, 1], [23411, 1], [23410, 1], [23409, 1], [23408, 1], [23407, 1], [23406, 1], [23405, 1], [23404, 1], [23403, 1], [23402, 1], [23401, 1], [23400, 1], [23399, 1], [23398, 1], [23397, 1], [23396, 1], [23395, 1], [23394, 1], [23393, 1], [23392, 1], [23391, 1], [23390, 1], [23389, 1], [23388, 1], [23387, 1], [23386, 1], [23385, 1], [23384, 1], [23383, 1], [23382, 1], [23381, 1], [23380, 1], [23379, 1], [23378, 1], [23377, 1], [23376, 1], [23375, 1], [23374, 1], [23373, 1], [23372, 1], [23371, 1], [23370, 1], [23369, 1], [23368, 1], [23367, 1], [23366, 1], [23365, 1], [23364, 1], [23363, 1], [23362, 1], [23361, 1], [23360, 1], [23359, 1], [23358, 1], [23357, 1], [23356, 1], [23355, 1], [23354, 1], [23353, 1], [23352, 1], [23351, 1], [23350, 1], [23349, 1], [23348, 1], [23347, 1], [23346, 1], [23345, 1], [23344, 1], [23343, 1], [23342, 1], [23341, 1], [23340, 1], [23339, 1], [23338, 1], [23337, 1], [23336, 1], [23335, 1], [23334, 1], [23333, 1], [23332, 1], [23331, 1], [23330, 1], [23329, 1], [23328, 1], [23327, 1], [23326, 1], [23325, 1], [23324, 1], [23323, 1], [23322, 1], [23321, 1], [23320, 1], [23319, 1], [23318, 1], [23317, 1], [23316, 1], [23315, 1], [23314, 1], [23313, 1], [23312, 1], [23311, 1], [23310, 1], [23309, 1], [23308, 1], [23307, 1], [23306, 1], [23305, 1], [23304, 1], [23303, 1], [23302, 1], [23301, 1], [23300, 1], [23299, 1], [23298, 1], [23297, 1], [23296, 1], [23295, 1], [23294, 1], [23293, 1], [23292, 1], [23291, 1], [23290, 1], [23289, 1], [23288, 1], [23287, 1], [23286, 1], [23285, 1], [23284, 1], [23283, 1], [23282, 1], [23281, 1], [23280, 1], [23279, 1], [23278, 1], [23277, 1], [23276, 1], [23275, 1], [23274, 1], [23273, 1], [23272, 1], [23271, 1], [23270, 1], [23269, 1], [23268, 1], [23267, 1], [23266, 1], [23265, 1], [23264, 1], [23263, 1], [23262, 1], [23261, 1], [23260, 1], [23259, 1], [23258, 1], [23257, 1], [23256, 1], [23255, 1], [23254, 1], [23253, 1], [23252, 1], [23251, 1], [23250, 1], [23249, 1], [23248, 1], [23247, 1], [23246, 1], [23245, 1], [23244, 1], [23243, 1], [23242, 1], [23241, 1], [23240, 1], [23239, 1], [23238, 1], [23237, 1], [23236, 1], [23235, 1], [23234, 1], [23233, 1], [23232, 1], [23231, 1], [23230, 1], [23229, 1], [23228, 1], [23227, 1], [23226, 1], [23225, 1], [23224, 1], [23223, 1], [23222, 1], [23221, 1], [23220, 1], [23219, 1], [23218, 1], [23217, 1], [23216, 1], [23215, 1], [23214, 1], [23213, 1], [23212, 1], [23211, 1], [23210, 1], [23209, 1], [23208, 1], [23207, 1], [23206, 1], [23205, 1], [23204, 1], [23203, 1], [23202, 1], [23201, 1], [23200, 1], [23199, 1], [23198, 1], [23197, 1], [23196, 1], [23195, 1], [23194, 1], [23193, 1], [23192, 1], [23191, 1], [23190, 1], [23189, 1], [23188, 1], [23187, 1], [23186, 1], [23185, 1], [23184, 1], [23183, 1], [23182, 1], [23181, 1], [23180, 1], [23179, 1], [23178, 1], [23177, 1], [23176, 1], [23175, 1], [23174, 1], [23173, 1], [23172, 1], [23171, 1], [23170, 1], [23169, 1], [23168, 1], [23167, 1], [23166, 1], [23165, 1], [23164, 1], [23163, 1], [23162, 1], [23161, 1], [23160, 1], [23159, 1], [23158, 1], [23157, 1], [23156, 1], [23155, 1], [23154, 1], [23153, 1], [23152, 1], [23151, 1], [23150, 1], [23149, 1], [23148, 1], [23147, 1], [23146, 1], [23145, 1], [23144, 1], [23143, 1], [23142, 1], [23141, 1], [23140, 1], [23139, 1], [23138, 1], [23137, 1], [23136, 1], [23135, 1], [23134, 1], [23133, 1], [23132, 1], [23131, 1], [23130, 1], [23129, 1], [23128, 1], [23127, 1], [23126, 1], [23125, 1], [23124, 1], [23123, 1], [23122, 1], [23121, 1], [23120, 1], [23119, 1], [23118, 1], [23117, 1], [23116, 1], [23115, 1], [23114, 1], [23113, 1], [23112, 1], [23111, 1], [23110, 1], [23109, 1], [23108, 1], [23107, 1], [23106, 1], [23105, 1], [23104, 1], [23103, 1], [23102, 1], [23101, 1], [23100, 1], [23099, 1], [23098, 1], [23097, 1], [23096, 1], [23095, 1], [23094, 1], [23093, 1], [23092, 1], [23091, 1], [23090, 1], [23089, 1], [23088, 1], [23087, 1], [23086, 1], [23085, 1], [23084, 1], [23083, 1], [23082, 1], [23081, 1], [23080, 1], [23079, 1], [23078, 1], [23077, 1], [23076, 1], [23075, 1], [23074, 1], [23073, 1], [23072, 1], [23071, 1], [23070, 1], [23069, 1], [23068, 1], [23067, 1], [23066, 1], [23065, 1], [23064, 1], [23063, 1], [23062, 1], [23061, 1], [23060, 1], [23059, 1], [23058, 1], [23057, 1], [23056, 1], [23055, 1], [23054, 1], [23053, 1], [23052, 1], [23051, 1], [23050, 1], [23049, 1], [23048, 1], [23047, 1], [23046, 1], [23045, 1], [23044, 1], [23043, 1], [23042, 1], [23041, 1], [23040, 1], [23039, 1], [23038, 1], [23037, 1], [23036, 1], [23035, 1], [23034, 1], [23033, 1], [23032, 1], [23031, 1], [23030, 1], [23029, 1], [23028, 1], [23027, 1], [23026, 1], [23025, 1], [23024, 1], [23023, 1], [23022, 1], [23021, 1], [23020, 1], [23019, 1], [23018, 1], [23017, 1], [23016, 1], [23015, 1], [23014, 1], [23013, 1], [23012, 1], [23011, 1], [23010, 1], [23009, 1], [23008, 1], [23007, 1], [23006, 1], [23005, 1], [23004, 1], [23003, 1], [23002, 1], [23001, 1], [23000, 1], [22999, 1], [22998, 1], [22997, 1], [22996, 1], [22995, 1], [22994, 1], [22993, 1], [22992, 1], [22991, 1], [22990, 1], [22989, 1], [22988, 1], [22987, 1], [22986, 1], [22985, 1], [22984, 1], [22983, 1], [22982, 1], [22981, 1], [22980, 1], [22979, 1], [22978, 1], [22977, 1], [22976, 1], [22975, 1], [22974, 1], [22973, 1], [22972, 1], [22971, 1], [22970, 1], [22969, 1], [22968, 1], [22967, 1], [22966, 1], [22965, 1], [22964, 1], [22963, 1], [22962, 1], [22961, 1], [22960, 1], [22959, 1], [22958, 1], [22957, 1], [22956, 1], [22955, 1], [22954, 1], [22953, 1], [22952, 1], [22951, 1], [22950, 1], [22949, 1], [22948, 1], [22947, 1], [22946, 1], [22945, 1], [22944, 1], [22943, 1], [22942, 1], [22941, 1], [22940, 1], [22939, 1], [22938, 1], [22937, 1], [22936, 1], [22935, 1], [22934, 1], [22933, 1], [22932, 1], [22931, 1], [22930, 1], [22929, 1], [22928, 1], [22927, 1], [22926, 1], [22925, 1], [22924, 1], [22923, 1], [22922, 1], [22921, 1], [22920, 1], [22919, 1], [22918, 1], [22917, 1], [22916, 1], [22915, 1], [22914, 1], [22913, 1], [19536, 1], [19535, 1], [19534, 1], [19533, 1], [19582, 0, ","], [19583, 0, " "], [19584, 0, "a"], [19585, 0, "n"], [19586, 0, "d"], [19587, 0, " "], [19588, 0, "e"], [19589, 0, "x"], [19590, 0, "p"], [19591, 0, "l"], [19592, 0, "a"], [19593, 0, "i"], [19594, 0, "n"], [19595, 0, " "], [19596, 0, "t"], [19597, 0, "h"], [19598, 0, "e"], [19599, 0, " "], [19600, 0, "r"], [19601, 0, "a"], [19602, 0, "t"], [19603, 0, "i"], [19604, 0, "o"], [19605, 0, "n"], [19606, 0, "a"], [19607, 0, "l"], [19608, 0, "e"], [19609, 0, " "], [19610, 0, "f"], [19611, 0, "o"], [19612, 0, "r"], [19613, 0, " "], [19614, 0, "o"], [19615, 0, "u"], [19616, 0, "r"], [19617, 0, " "], [19618, 0, "d"], [19619, 0, "e"], [19620, 0, "s"], [19621, 0, "i"], [19622, 0, "g"], [19623, 0, "n"], [19624, 0, " "], [19625, 0, "d"], [19626, 0, "e"], [19627, 0, "c"], [19628, 0, "i"], [19629, 0, "s"], [19630, 0, "i"], [19631, 0, "o"], [19632, 0, "n"], [19633, 0, "s"], [30884, 0, "\n"], [30885, 0, "\n"], [30886, 0, "F"], [30887, 0, "i"], [30888, 0, "g"], [30889, 0, "u"], [30890, 0, "r"], [30891, 0, "e"], [30892, 0, "~"], [30893, 0, "\\"], [30894, 0, "r"], [30895, 0, "e"], [30896, 0, "f"], [30897, 0, "{"], [30898, 0, "f"], [30899, 0, "i"], [30900, 0, "g"], [30901, 0, ":"], [30902, 0, "t"], [30903, 0, "w"], [30904, 0, "o"], [30905, 0, "-"], [30906, 0, "l"], [30907, 0, "i"], [30908, 0, "s"], [30909, 0, "t"], [30910, 0, "s"], [30911, 0, "}"], [30912, 0, " "], [30913, 0, "i"], [30914, 0, "l"], [30915, 0, "l"], [30916, 0, "u"], [30917, 0, "s"], [30918, 0, "t"], [30919, 0, "r"], [30920, 0, "a"], [30921, 0, "t"], [30922, 0, "e"], [30923, 0, "s"], [30924, 0, " "], [30925, 0, "a"], [30926, 0, "n"], [30927, 0, "o"], [30928, 0, "t"], [30929, 0, "h"], [30930, 0, "e"], [30931, 0, "r"], [30932, 0, " "], [30933, 0, "p"], [30934, 0, "r"], [30935, 0, "o"], [30936, 0, "b"], [30937, 0, "l"], [30938, 0, "e"], [30939, 0, "m"], [30940, 0, " "], [30941, 0, "w"], [30942, 0, "i"], [30943, 0, "t"], [30944, 0, "h"], [30945, 0, " "], [30946, 0, "m"], [30947, 0, "a"], [30948, 0, "p"], [30949, 0, "s"], [30950, 0, ":"], [30951, 0, " "], [30952, 0, "t"], [30953, 0, "w"], [30954, 0, "o"], [30955, 0, " "], [30956, 0, "r"], [30957, 0, "e"], [30958, 0, "p"], [30959, 0, "l"], [30960, 0, "i"], [30961, 0, "c"], [30962, 0, "a"], [30963, 0, "s"], [30964, 0, " "], [30965, 0, "c"], [30966, 0, "a"], [30967, 0, "n"], [30968, 0, " "], [30969, 0, "c"], [30970, 0, "o"], [30971, 0, "n"], [30972, 0, "c"], [30973, 0, "u"], [30974, 0, "r"], [30975, 0, "r"], [30976, 0, "e"], [30977, 0, "n"], [30978, 0, "t"], [30979, 0, "l"], [30980, 0, "y"], [30981, 0, " "], [30982, 0, "i"], [30983, 0, "n"], [30984, 0, "s"], [30985, 0, "e"], [30986, 0, "r"], [30987, 0, "t"], [30988, 0, " "], [30989, 0, "t"], [30990, 0, "h"], [30991, 0, "e"], [30992, 0, " "], [30993, 0, "s"], [30994, 0, "a"], [30995, 0, "m"], [30996, 0, "e"], [30997, 0, " "], [30998, 0, "m"], [30999, 0, "a"], [31000, 0, "p"], [31001, 0, " "], [31002, 0, "k"], [31003, 0, "e"], [31004, 0, "y"], [31005, 0, "."], [31006, 0, " "], [31007, 0, "H"], [31008, 0, "e"], [31009, 0, "r"], [31010, 0, "e"], [31011, 0, ","], [31012, 0, " "], [31013, 0, "$"], [31014, 0, "p"], [31015, 0, "$"], [31016, 0, " "], [31017, 0, "a"], [31018, 0, "n"], [31019, 0, "d"], [31020, 0, " "], [31021, 0, "$"], [31022, 0, "q"], [31023, 0, "$"], [31024, 0, " "], [31025, 0, "e"], [31026, 0, "a"], [31027, 0, "c"], [31028, 0, "h"], [31029, 0, " "], [31030, 0, "i"], [31031, 0, "n"], [31032, 0, "d"], [31033, 0, "e"], [31034, 0, "p"], [31035, 0, "e"], [31036, 0, "n"], [31037, 0, "d"], [31038, 0, "e"], [31039, 0, "n"], [31040, 0, "t"], [31041, 0, "l"], [31042, 0, "y"], [31043, 0, " "], [31044, 0, "c"], [31045, 0, "r"], [31046, 0, "e"], [31047, 0, "a"], [31048, 0, "t"], [31049, 0, "e"], [31050, 0, " "], [31051, 0, "a"], [31052, 0, " "], [31053, 0, "n"], [31054, 0, "e"], [31055, 0, "w"], [31056, 0, " "], [31057, 0, "s"], [31058, 0, "h"], [31059, 0, "o"], [31060, 0, "p"], [31061, 0, "p"], [31062, 0, "i"], [31063, 0, "n"], [31064, 0, "g"], [31065, 0, " "], [31066, 0, "l"], [31067, 0, "i"], [31068, 0, "s"], [31069, 0, "t"], [31070, 0, " "], [31071, 0, "u"], [31072, 0, "n"], [31073, 0, "d"], [31074, 0, "e"], [31075, 0, "r"], [31076, 0, " "], [31077, 0, "t"], [31078, 0, "h"], [31079, 0, "e"], [31080, 0, " "], [31081, 0, "s"], [31082, 0, "a"], [31083, 0, "m"], [31084, 0, "e"], [31085, 0, " "], [31086, 0, "m"], [31087, 0, "a"], [31088, 0, "p"], [31089, 0, " "], [31090, 0, "k"], [31091, 0, "e"], [31092, 0, "y"], [31093, 0, " "], [31094, 0, "`"], [31095, 0, "`"], [31096, 0, "g"], [31097, 0, "r"], [31098, 0, "o"], [31099, 0, "c"], [31100, 0, "e"], [31101, 0, "r"], [31102, 0, "y"], [31103, 0, "'"], [31104, 0, "'"], [31105, 0, ","], [31106, 0, " "], [31107, 0, "a"], [31108, 0, "n"], [31109, 0, "d"], [31110, 0, " "], [31111, 0, "a"], [31112, 0, "d"], [31113, 0, "d"], [31114, 0, " "], [31115, 0, "i"], [31116, 0, "t"], [31117, 0, "e"], [31118, 0, "m"], [31119, 0, "s"], [31120, 0, " "], [31121, 0, "t"], [31122, 0, "o"], [31123, 0, " "], [31124, 0, "t"], [31125, 0, "h"], [31126, 0, "e"], [31127, 0, " "], [31128, 0, "l"], [31129, 0, "i"], [31130, 0, "s"], [31131, 0, "t"], [31132, 0, "."], [31133, 0, " "], [31134, 0, "I"], [31135, 0, "n"], [31136, 0, " "], [31137, 0, "t"], [31138, 0, "h"], [31139, 0, "e"], [31140, 0, " "], [31141, 0, "c"], [31142, 0, "a"], [31143, 0, "s"], [31144, 0, "e"], [31145, 0, " "], [31146, 0, "o"], [31147, 0, "f"], [31148, 0, " "], [31149, 0, "F"], [31150, 0, "i"], [31151, 0, "g"], [31152, 0, "u"], [31153, 0, "r"], [31154, 0, "e"], [31155, 0, "~"], [31156, 0, "\\"], [31157, 0, "r"], [31158, 0, "e"], [31159, 0, "f"], [31160, 0, "{"], [31161, 0, "f"], [31162, 0, "i"], [31163, 0, "g"], [31164, 0, ":"], [31165, 0, "r"], [31166, 0, "e"], [31167, 0, "g"], [31168, 0, "i"], [31169, 0, "s"], [31170, 0, "t"], [31171, 0, "e"], [31172, 0, "r"], [31173, 0, "-"], [31174, 0, "a"], [31175, 0, "s"], [31176, 0, "s"], [31177, 0, "i"], [31178, 0, "g"], [31179, 0, "n"], [31180, 0, "}"], [31181, 0, ","], [31182, 0, " "], [31183, 0, "c"], [31184, 0, "o"], [31185, 0, "n"], [31186, 0, "c"], [31187, 0, "u"], [31188, 0, "r"], [31189, 0, "r"], [31190, 0, "e"], [31191, 0, "n"], [31192, 0, "t"], [31193, 0, " "], [31194, 0, "a"], [31195, 0, "s"], [31196, 0, "s"], [31197, 0, "i"], [31198, 0, "g"], [31199, 0, "n"], [31200, 0, "m"], [31201, 0, "e"], [31202, 0, "n"], [31203, 0, "t"], [31204, 0, "s"], [31205, 0, " "], [31206, 0, "t"], [31207, 0, "o"], [31208, 0, " "], [31209, 0, "t"], [31210, 0, "h"], [31211, 0, "e"], [31212, 0, " "], [31213, 0, "s"], [31214, 0, "a"], [31215, 0, "m"], [31216, 0, "e"], [31217, 0, " "], [31218, 0, "m"], [31219, 0, "a"], [31220, 0, "p"], [31221, 0, " "], [31222, 0, "k"], [31223, 0, "e"], [31224, 0, "y"], [31225, 0, " "], [31226, 0, "w"], [31227, 0, "e"], [31228, 0, "r"], [31229, 0, "e"], [31230, 0, " "], [31231, 0, "l"], [31232, 0, "e"], [31233, 0, "f"], [31234, 0, "t"], [31235, 0, " "], [31236, 0, "t"], [31237, 0, "o"], [31238, 0, " "], [31239, 0, "b"], [31240, 0, "e"], [31241, 0, " "], [31242, 0, "r"], [31243, 0, "e"], [31244, 0, "s"], [31245, 0, "o"], [31246, 0, "l"], [31247, 0, "v"], [31248, 0, "e"], [31249, 0, "d"], [31250, 0, " "], [31251, 0, "b"], [31252, 0, "y"], [31253, 0, " "], [31254, 0, "t"], [31255, 0, "h"], [31256, 0, "e"], [31257, 0, " "], [31258, 0, "a"], [31259, 0, "p"], [31260, 0, "p"], [31261, 0, "l"], [31262, 0, "i"], [31263, 0, "c"], [31264, 0, "a"], [31265, 0, "t"], [31266, 0, "i"], [31267, 0, "o"], [31268, 0, "n"], [31269, 0, ","], [31270, 0, " "], [31271, 0, "b"], [31272, 0, "u"], [31273, 0, "t"], [31274, 0, " "], [31275, 0, "i"], [31276, 0, "n"], [31277, 0, " "], [31278, 0, "F"], [31279, 0, "i"], [31280, 0, "g"], [31281, 0, "u"], [31282, 0, "r"], [31283, 0, "e"], [31284, 0, "~"], [31285, 0, "\\"], [31286, 0, "r"], [31287, 0, "e"], [31288, 0, "f"], [31289, 0, "{"], [31290, 0, "f"], [31291, 0, "i"], [31292, 0, "g"], [31293, 0, ":"], [31294, 0, "t"], [31295, 0, "w"], [31296, 0, "o"], [31297, 0, "-"], [31298, 0, "l"], [31299, 0, "i"], [31300, 0, "s"], [31301, 0, "t"], [31302, 0, "s"], [31303, 0, "}"], [31304, 0, ","], [31305, 0, " "], [31306, 0, "b"], [31307, 0, "o"], [31308, 0, "t"], [31309, 0, "h"], [31310, 0, " "], [31311, 0, "v"], [31312, 0, "a"], [31313, 0, "l"], [31314, 0, "u"], [31315, 0, "e"], [31316, 0, "s"], [31317, 0, " "], [31318, 0, "a"], [31319, 0, "r"], [31320, 0, "e"], [31321, 0, " "], [31322, 0, "l"], [31323, 0, "i"], [31324, 0, "s"], [31325, 0, "t"], [31326, 0, "s"], [31327, 0, " "], [31328, 0, "a"], [31329, 0, "n"], [31330, 0, "d"], [31331, 0, " "], [31332, 0, "s"], [31333, 0, "o"], [31334, 0, " "], [31335, 0, "t"], [31336, 0, "h"], [31337, 0, "e"], [31338, 0, "y"], [31339, 0, " "], [31340, 0, "c"], [31341, 0, "a"], [31342, 0, "n"], [31343, 0, " "], [31344, 0, "b"], [31345, 0, "e"], [31346, 0, " "], [31347, 0, "m"], [31348, 0, "e"], [31349, 0, "r"], [31350, 0, "g"], [31351, 0, "e"], [31352, 0, "d"], [31353, 0, " "], [31354, 0, "a"], [31355, 0, "u"], [31356, 0, "t"], [31357, 0, "o"], [31358, 0, "m"], [31359, 0, "a"], [31360, 0, "t"], [31361, 0, "i"], [31362, 0, "c"], [31363, 0, "a"], [31364, 0, "l"], [31365, 0, "l"], [31366, 0, "y"], [31367, 0, "."], [31368, 0, " "], [31369, 0, "W"], [31370, 0, "e"], [31371, 0, " "], [31372, 0, "p"], [31373, 0, "r"], [31374, 0, "e"], [31375, 0, "s"], [31376, 0, "e"], [31377, 0, "r"], [31378, 0, "v"], [31379, 0, "e"], [31380, 0, " "], [31381, 0, "t"], [31382, 0, "h"], [31383, 0, "e"], [31384, 0, " "], [31385, 0, "o"], [31386, 0, "r"], [31387, 0, "d"], [31388, 0, "e"], [31389, 0, "r"], [31390, 0, "i"], [31391, 0, "n"], [31392, 0, "g"], [31393, 0, " "], [31394, 0, "a"], [31395, 0, "n"], [31396, 0, "d"], [31397, 0, " "], [31398, 0, "a"], [31399, 0, "d"], [31400, 0, "j"], [31401, 0, "a"], [31402, 0, "c"], [31403, 0, "e"], [31404, 0, "n"], [31405, 0, "c"], [31406, 0, "y"], [31407, 0, " "], [31408, 0, "o"], [31409, 0, "f"], [31410, 0, " "], [31411, 0, "i"], [31412, 0, "t"], [31413, 0, "e"], [31414, 0, "m"], [31415, 0, "s"], [31416, 0, " "], [31417, 0, "i"], [31418, 0, "n"], [31419, 0, "s"], [31420, 0, "e"], [31421, 0, "r"], [31422, 0, "t"], [31423, 0, "e"], [31424, 0, "d"], [31425, 0, " "], [31426, 0, "a"], [31427, 0, "t"], [31428, 0, " "], [31429, 0, "e"], [31430, 0, "a"], [31431, 0, "c"], [31432, 0, "h"], [31433, 0, " "], [31434, 0, "r"], [31435, 0, "e"], [31436, 0, "p"], [31437, 0, "l"], [31438, 0, "i"], [31439, 0, "c"], [31440, 0, "a"], [31441, 0, ","], [31442, 0, " "], [31443, 0, "s"], [31444, 0, "o"], [31445, 0, " "], [31446, 0, "`"], [31447, 0, "`"], [31448, 0, "h"], [31449, 0, "a"], [31450, 0, "m"], [31451, 0, "'"], [31452, 0, "'"], [31453, 0, " "], [31454, 0, "a"], [31455, 0, "p"], [31456, 0, "p"], [31457, 0, "e"], [31458, 0, "a"], [31459, 0, "r"], [31460, 0, "s"], [31461, 0, " "], [31462, 0, "a"], [31463, 0, "f"], [31464, 0, "t"], [31465, 0, "e"], [31466, 0, "r"], [31467, 0, " "], [31468, 0, "`"], [31469, 0, "`"], [31470, 0, "e"], [31471, 0, "g"], [31472, 0, "g"], [31473, 0, "s"], [31474, 0, "'"], [31475, 0, "'"], [31476, 0, ","], [31477, 0, " "], [31478, 0, "a"], [31479, 0, "n"], [31480, 0, "d"], [31481, 0, " "], [31482, 0, "`"], [31483, 0, "`"], [31484, 0, "f"], [31485, 0, "l"], [31486, 0, "o"], [31487, 0, "u"], [31488, 0, "r"], [31489, 0, "'"], [31490, 0, "'"], [31491, 0, " "], [31492, 0, "a"], [31493, 0, "p"], [31494, 0, "p"], [31495, 0, "e"], [31496, 0, "a"], [31497, 0, "r"], [31498, 0, "s"], [31499, 0, " "], [31500, 0, "a"], [31501, 0, "f"], [31502, 0, "t"], [31503, 0, "e"], [31504, 0, "r"], [31505, 0, " "], [31506, 0, "`"], [31507, 0, "`"], [31508, 0, "m"], [31509, 0, "i"], [31510, 0, "l"], [31511, 0, "k"], [31512, 0, "'"], [31513, 0, "'"], [31514, 0, " "], [31515, 0, "i"], [31516, 0, "n"], [31517, 0, " "], [31518, 0, "t"], [31519, 0, "h"], [31520, 0, "e"], [31521, 0, " "], [31522, 0, "m"], [31523, 0, "e"], [31524, 0, "r"], [31525, 0, "g"], [31526, 0, "e"], [31527, 0, "d"], [31528, 0, " "], [31529, 0, "r"], [31530, 0, "e"], [31531, 0, "s"], [31532, 0, "u"], [31533, 0, "l"], [31534, 0, "t"], [31535, 0, "."], [31536, 0, " "], [31537, 0, "T"], [31538, 0, "h"], [31539, 0, "e"], [31540, 0, "r"], [31541, 0, "e"], [31542, 0, " "], [31543, 0, "i"], [31544, 0, "s"], [31545, 0, " "], [31546, 0, "n"], [31547, 0, "o"], [31548, 0, " "], [31549, 0, "i"], [31550, 0, "n"], [31551, 0, "f"], [31552, 0, "o"], [31553, 0, "r"], [31554, 0, "m"], [31555, 0, "a"], [31556, 0, "t"], [31557, 0, "i"], [31558, 0, "o"], [31559, 0, "n"], [31560, 0, " "], [31561, 0, "o"], [31562, 0, "n"], [31563, 0, " "], [31564, 0, "w"], [31565, 0, "h"], [31566, 0, "i"], [31567, 0, "c"], [31568, 0, "h"], [31569, 0, " "], [31570, 0, "r"], [31571, 0, "e"], [31572, 0, "p"], [31573, 0, "l"], [31574, 0, "i"], [31575, 0, "c"], [31576, 0, "a"], [31577, 0, "'"], [31578, 0, "s"], [31579, 0, " "], [31580, 0, "i"], [31581, 0, "t"], [31582, 0, "e"], [31583, 0, "m"], [31584, 0, "s"], [31585, 0, " "], [31586, 0, "s"], [31587, 0, "h"], [31588, 0, "o"], [31589, 0, "u"], [31590, 0, "l"], [31591, 0, "d"], [31592, 0, " "], [31593, 0, "a"], [31594, 0, "p"], [31595, 0, "p"], [31596, 0, "e"], [31597, 0, "a"], [31598, 0, "r"], [31599, 0, " "], [31600, 0, "f"], [31601, 0, "i"], [31602, 0, "r"], [31603, 0, "s"], [31604, 0, "t"], [31605, 0, " "], [31606, 0, "i"], [31607, 0, "n"], [31608, 0, " "], [31609, 0, "t"], [31610, 0, "h"], [31611, 0, "e"], [31612, 0, " "], [31613, 0, "m"], [31614, 0, "e"], [31615, 0, "r"], [31616, 0, "g"], [31617, 0, "e"], [31618, 0, "d"], [31619, 0, " "], [31620, 0, "r"], [31621, 0, "e"], [31622, 0, "s"], [31623, 0, "u"], [31624, 0, "l"], [31625, 0, "t"], [31626, 0, ","], [31627, 0, " "], [31628, 0, "s"], [31629, 0, "o"], [31630, 0, " "], [31631, 0, "t"], [31632, 0, "h"], [31633, 0, "e"], [31634, 0, " "], [31635, 0, "a"], [31636, 0, "l"], [31637, 0, "g"], [31638, 0, "o"], [31639, 0, "r"], [31640, 0, "i"], [31641, 0, "t"], [31642, 0, "h"], [31643, 0, "m"], [31644, 0, " "], [31645, 0, "c"], [31646, 0, "a"], [31647, 0, "n"], [31648, 0, " "], [31649, 0, "m"], [31650, 0, "a"], [31651, 0, "k"], [31652, 0, "e"], [31653, 0, " "], [31654, 0, "a"], [31655, 0, "n"], [31656, 0, " "], [31657, 0, "a"], [31658, 0, "r"], [31659, 0, "b"], [31660, 0, "i"], [31661, 0, "t"], [31662, 0, "r"], [31663, 0, "a"], [31664, 0, "r"], [31665, 0, "y"], [31666, 0, " "], [31667, 0, "c"], [31668, 0, "h"], [31669, 0, "o"], [31670, 0, "i"], [31671, 0, "c"], [31672, 0, "e"], [31673, 0, " "], [31674, 0, "b"], [31675, 0, "e"], [31676, 0, "t"], [31677, 0, "w"], [31678, 0, "e"], [31679, 0, "e"], [31680, 0, "n"], [31681, 0, " "], [31682, 0, "`"], [31683, 0, "`"], [31684, 0, "e"], [31685, 0, "g"], [31686, 0, "g"], [31687, 0, "s"], [31688, 0, ","], [31689, 0, " "], [31690, 0, "h"], [31691, 0, "a"], [31692, 0, "m"], [31693, 0, ","], [31694, 0, " "], [31695, 0, "m"], [31696, 0, "i"], [31697, 0, "l"], [31698, 0, "k"], [31699, 0, ","], [31700, 0, " "], [31701, 0, "f"], [31702, 0, "l"], [31703, 0, "o"], [31704, 0, "u"], [31705, 0, "r"], [31706, 0, "'"], [31707, 0, "'"], [31708, 0, " "], [31709, 0, "a"], [31710, 0, "n"], [31711, 0, "d"], [31712, 0, " "], [31713, 0, "`"], [31714, 0, "`"], [31715, 0, "m"], [31716, 0, "i"], [31717, 0, "l"], [31718, 0, "k"], [31719, 0, ","], [31720, 0, " "], [31721, 0, "f"], [31722, 0, "l"], [31723, 0, "o"], [31724, 0, "u"], [31725, 0, "r"], [31726, 0, ","], [31727, 0, " "], [31728, 0, "e"], [31729, 0, "g"], [31730, 0, "g"], [31731, 0, "s"], [31732, 0, ","], [31733, 0, " "], [31734, 0, "h"], [31735, 0, "a"], [31736, 0, "m"], [31737, 0, "'"], [31738, 0, "'"], [31739, 0, ","], [31740, 0, " "], [31741, 0, "p"], [31742, 0, "r"], [31743, 0, "o"], [31744, 0, "v"], [31745, 0, "i"], [31746, 0, "d"], [31747, 0, "e"], [31748, 0, "d"], [31749, 0, " "], [31750, 0, "t"], [31751, 0, "h"], [31752, 0, "a"], [31753, 0, "t"], [31754, 0, " "], [31755, 0, "a"], [31756, 0, "l"], [31757, 0, "l"], [31758, 0, " "], [31759, 0, "r"], [31760, 0, "e"], [31761, 0, "p"], [31762, 0, "l"], [31763, 0, "i"], [31764, 0, "c"], [31765, 0, "a"], [31766, 0, "s"], [31767, 0, " "], [31768, 0, "e"], [31769, 0, "n"], [31770, 0, "d"], [31771, 0, " "], [31772, 0, "u"], [31773, 0, "p"], [31774, 0, " "], [31775, 0, "w"], [31776, 0, "i"], [31777, 0, "t"], [31778, 0, "h"], [31779, 0, " "], [31780, 0, "t"], [31781, 0, "h"], [31782, 0, "e"], [31783, 0, " "], [31784, 0, "s"], [31785, 0, "a"], [31786, 0, "m"], [31787, 0, "e"], [31788, 0, " "], [31789, 0, "o"], [31790, 0, "r"], [31791, 0, "d"], [31792, 0, "e"], [31793, 0, "r"], [31794, 0, "."], [31783, 0, " "], [31784, 0, "i"], [31785, 0, "t"], [31786, 0, "e"], [31787, 0, "m"], [31788, 0, "s"], [31789, 0, " "], [31790, 0, "i"], [31791, 0, "n"], [31792, 0, " "], [31793, 0, "t"], [31794, 0, "h"], [31795, 0, "e"], [31808, 0, "\n"], [31809, 0, "\n"], [31810, 0, "F"], [31811, 0, "i"], [31812, 0, "g"], [31813, 0, "u"], [31814, 0, "r"], [31815, 0, "e"], [31816, 0, "~"], [31817, 0, "\\"], [31818, 0, "r"], [31819, 0, "e"], [31820, 0, "f"], [31821, 0, "{"], [31822, 0, "f"], [31823, 0, "i"], [31824, 0, "g"], [31825, 0, ":"], [31826, 0, "t"], [31827, 0, "e"], [31828, 0, "x"], [31829, 0, "t"], [31830, 0, "-"], [31831, 0, "e"], [31832, 0, "d"], [31833, 0, "i"], [31834, 0, "t"], [31835, 0, "}"], [31836, 0, " "], [31837, 0, "s"], [31838, 0, "h"], [31839, 0, "o"], [31840, 0, "w"], [31841, 0, "s"], [31842, 0, " "], [31843, 0, "h"], [31844, 0, "o"], [31845, 0, "w"], [31846, 0, " "], [31847, 0, "a"], [31848, 0, " "], [31849, 0, "c"], [31850, 0, "o"], [31851, 0, "l"], [31852, 0, "l"], [31853, 0, "a"], [31854, 0, "b"], [31855, 0, "o"], [31856, 0, "r"], [31857, 0, "a"], [31858, 0, "t"], [31859, 0, "i"], [31860, 0, "v"], [31861, 0, "e"], [31862, 0, " "], [31863, 0, "t"], [31864, 0, "e"], [31865, 0, "x"], [31866, 0, "t"], [31867, 0, " "], [31868, 0, "e"], [31869, 0, "d"], [31870, 0, "i"], [31871, 0, "t"], [31872, 0, "o"], [31873, 0, "r"], [31874, 0, " "], [31875, 0, "c"], [31876, 0, "a"], [31877, 0, "n"], [31878, 0, " "], [31879, 0, "b"], [31880, 0, "e"], [31881, 0, " "], [31882, 0, "i"], [31883, 0, "m"], [31884, 0, "p"], [31885, 0, "l"], [31886, 0, "e"], [31887, 0, "m"], [31888, 0, "e"], [31889, 0, "n"], [31890, 0, "t"], [31891, 0, "e"], [31892, 0, "d"], [31893, 0, ","], [31894, 0, " "], [31895, 0, "u"], [31896, 0, "s"], [31897, 0, "i"], [31898, 0, "n"], [31899, 0, "g"], [31900, 0, " "], [31901, 0, "a"], [31902, 0, " "], [31902, 1], [31901, 1], [31900, 1], [31899, 1], [31898, 1], [31897, 1], [31896, 1], [31895, 1], [31895, 0, "b"], [31896, 0, "y"], [31897, 0, " "], [31898, 0, "t"], [31899, 0, "r"], [31900, 0, "e"], [31901, 0, "a"], [31902, 0, "t"], [31903, 0, "i"], [31904, 0, "n"], [31905, 0, "g"], [31906, 0, " "], [31907, 0, "t"], [31908, 0, "h"], [31909, 0, "e"], [31910, 0, " "], [31911, 0, "d"], [31912, 0, "o"], [31913, 0, "c"], [31914, 0, "u"], [31915, 0, "m"], [31916, 0, "e"], [31917, 0, "n"], [31918, 0, "t"], [31919, 0, " "], [31920, 0, "a"], [31921, 0, "s"], [31922, 0, " "], [31923, 0, "a"], [31924, 0, " "], [31925, 0, "l"], [31926, 0, "i"], [31927, 0, "s"], [31928, 0, "t"], [31929, 0, " "], [31930, 0, "o"], [31931, 0, "f"], [31932, 0, " "], [31933, 0, "c"], [31934, 0, "h"], [31935, 0, "a"], [31936, 0, "r"], [31937, 0, "a"], [31938, 0, "c"], [31939, 0, "t"], [31940, 0, "e"], [31941, 0, "r"], [31942, 0, "s"], [31943, 0, "."], [31944, 0, " "], [31945, 0, "`"], [31946, 0, "`"], [31947, 0, "y"], [31948, 0, "'"], [31949, 0, "'"], [31950, 0, " "], [31951, 0, "i"], [31952, 0, "s"], [31953, 0, " "], [31954, 0, "i"], [31955, 0, "n"], [31956, 0, "s"], [31957, 0, "e"], [31958, 0, "r"], [31959, 0, "t"], [31960, 0, "e"], [31961, 0, "d"], [31962, 0, " "], [31963, 0, "b"], [31964, 0, "e"], [31965, 0, "f"], [31966, 0, "o"], [31967, 0, "r"], [31968, 0, "e"], [31969, 0, " "], [31970, 0, "`"], [31971, 0, "`"], [31972, 0, "a"], [31973, 0, "'"], [31974, 0, "'"], [31975, 0, ","], [31976, 0, " "], [31977, 0, "`"], [31978, 0, "`"], [31979, 0, "b"], [31980, 0, "'"], [31981, 0, "'"], [31982, 0, " "], [31983, 0, "i"], [31984, 0, "s"], [31985, 0, " "], [31986, 0, "d"], [31987, 0, "e"], [31988, 0, "l"], [31989, 0, "e"], [31990, 0, "t"], [31991, 0, "e"], [31992, 0, "d"], [31993, 0, ","], [31994, 0, " "], [31995, 0, "a"], [31996, 0, "n"], [31997, 0, "d"], [31998, 0, " "], [31975, 1], [31975, 0, ";"], [31944, 0, " "], [31945, 0, "A"], [31946, 0, "l"], [31947, 0, "l"], [31948, 0, " "], [31949, 0, "c"], [31950, 0, "h"], [31951, 0, "a"], [31952, 0, "n"], [31953, 0, "g"], [31954, 0, "e"], [31955, 0, "s"], [31956, 0, " "], [31957, 0, "a"], [31958, 0, "r"], [31959, 0, "e"], [31960, 0, " "], [31961, 0, "p"], [31962, 0, "r"], [31963, 0, "e"], [31964, 0, "s"], [31965, 0, "e"], [31966, 0, "r"], [31967, 0, "v"], [31968, 0, "e"], [31969, 0, "d"], [31970, 0, " "], [31971, 0, "i"], [31972, 0, "n"], [31973, 0, " "], [31974, 0, "t"], [31975, 0, "h"], [31976, 0, "e"], [31977, 0, " "], [31978, 0, "m"], [31979, 0, "e"], [31980, 0, "r"], [31981, 0, "g"], [31982, 0, "e"], [31983, 0, "d"], [31984, 0, " "], [31985, 0, "r"], [31986, 0, "e"], [31987, 0, "s"], [31988, 0, "u"], [31989, 0, "l"], [31990, 0, "t"], [31991, 0, ":"], [32041, 1], [32041, 0, ";"], [32047, 0, "z"], [32048, 0, "z"], [32048, 1], [32047, 1], [32047, 0, "`"], [32048, 0, "`"], [32048, 1], [32047, 1], [32046, 1], [32045, 1], [32044, 1], [32043, 1], [32042, 1], [32041, 1], [32024, 0, " "], [32025, 0, "`"], [32026, 0, "`"], [32027, 0, "x"], [32028, 0, "'"], [32029, 0, "'"], [32030, 0, " "], [32031, 0, "a"], [32032, 0, "n"], [32033, 0, "d"], [32034, 0, " "], [32035, 0, "`"], [32036, 0, "`"], [32037, 0, "z"], [32038, 0, "'"], [32039, 0, "'"], [32040, 0, " "], [32041, 0, "a"], [32042, 0, "r"], [32043, 0, "e"], [32044, 0, " "], [32045, 0, "i"], [32046, 0, "n"], [32047, 0, "s"], [32048, 0, "e"], [32049, 0, "r"], [32050, 0, "t"], [32051, 0, "e"], [32052, 0, "c"], [32053, 0, " "], [32053, 1], [32052, 1], [32052, 0, "d"], [32053, 0, " "], [32054, 0, "b"], [32055, 0, "e"], [32056, 0, "t"], [32057, 0, "w"], [32058, 0, "e"], [32059, 0, "e"], [32060, 0, "n"], [32061, 0, " "], [32062, 0, "a"], [32063, 0, "a"], [32063, 1], [32062, 1], [32062, 0, "`"], [32063, 0, "`"], [32064, 0, "a"], [32065, 0, "'"], [32066, 0, "'"], [32067, 0, " "], [32068, 0, "a"], [32069, 0, "n"], [32070, 0, "d"], [32071, 0, " "], [32072, 0, "`"], [32073, 0, "`"], [32074, 0, "c"], [32075, 0, "'"], [32076, 0, "'"], [32077, 0, ";"], [32078, 0, " "], [32079, 0, "a"], [32080, 0, "n"], [32081, 0, "d"], [32099, 0, "."], [32100, 0, "\n"], [32101, 0, "\n"], [32102, 0, "F"], [32103, 0, "i"], [32104, 0, "g"], [32105, 0, "u"], [32106, 0, "r"], [32107, 0, "e"], [32108, 0, "~"], [32109, 0, "\\"], [32110, 0, "r"], [32111, 0, "e"], [32112, 0, "f"], [32113, 0, "{"], [32114, 0, "f"], [32115, 0, "i"], [32116, 0, "g"], [32117, 0, ":"], [32118, 0, "t"], [32119, 0, "y"], [32120, 0, "p"], [32121, 0, "e"], [32122, 0, "-"], [32123, 0, "c"], [32124, 0, "l"], [32125, 0, "a"], [32126, 0, "s"], [32127, 0, "h"], [32128, 0, "}"], [32129, 0, " "], [32130, 0, "d"], [32131, 0, "e"], [32132, 0, "m"], [32133, 0, "o"], [32134, 0, "n"], [32135, 0, "s"], [32136, 0, "t"], [32137, 0, "r"], [32138, 0, "a"], [32139, 0, "t"], [32140, 0, "e"], [32141, 0, "s"], [32142, 0, " "], [32143, 0, "a"], [32144, 0, " "], [32145, 0, "v"], [32146, 0, "a"], [32147, 0, "r"], [32148, 0, "i"], [32149, 0, "a"], [32150, 0, "n"], [32151, 0, "t"], [32152, 0, " "], [32153, 0, "o"], [32154, 0, "f"], [32155, 0, " "], [32156, 0, "t"], [32157, 0, "h"], [32158, 0, "e"], [32159, 0, " "], [32160, 0, "s"], [32161, 0, "i"], [32162, 0, "t"], [32163, 0, "u"], [32164, 0, "a"], [32165, 0, "t"], [32166, 0, "i"], [32167, 0, "o"], [32168, 0, "n"], [32169, 0, " "], [32170, 0, "i"], [32171, 0, "n"], [32172, 0, " "], [32173, 0, "F"], [32174, 0, "i"], [32175, 0, "g"], [32176, 0, "u"], [32177, 0, "r"], [32178, 0, "e"], [32179, 0, "~"], [32180, 0, "\\"], [32181, 0, "r"], [32182, 0, "e"], [32183, 0, "f"], [32184, 0, "{"], [32185, 0, "f"], [32186, 0, "i"], [32187, 0, "g"], [32188, 0, ":"], [32189, 0, "t"], [32190, 0, "w"], [32191, 0, "o"], [32192, 0, "-"], [32193, 0, "l"], [32194, 0, "i"], [32195, 0, "s"], [32196, 0, "t"], [32197, 0, "s"], [32198, 0, "}"], [32199, 0, ","], [32200, 0, " "], [32201, 0, "w"], [32202, 0, "h"], [32203, 0, "e"], [32204, 0, "r"], [32205, 0, "e"], [32206, 0, " "], [32207, 0, "$"], [32207, 1], [32207, 0, "t"], [32208, 0, "w"], [32209, 0, "o"], [32210, 0, " "], [32211, 0, "r"], [32212, 0, "e"], [32213, 0, "p"], [32214, 0, "l"], [32215, 0, "i"], [32216, 0, "c"], [32217, 0, "a"], [32218, 0, "s"], [32219, 0, " "], [32220, 0, "c"], [32221, 0, "o"], [32222, 0, "n"], [32223, 0, "c"], [32224, 0, "u"], [32225, 0, "r"], [32226, 0, "r"], [32227, 0, "e"], [32228, 0, "n"], [32229, 0, "t"], [32230, 0, "l"], [32231, 0, "y"], [32232, 0, " "], [32233, 0, "i"], [32234, 0, "n"], [32235, 0, "s"], [32236, 0, "e"], [32237, 0, "r"], [32238, 0, "t"], [32239, 0, " "], [32240, 0, "t"], [32241, 0, "h"], [32242, 0, "e"], [32243, 0, " "], [32244, 0, "s"], [32245, 0, "a"], [32246, 0, "m"], [32247, 0, "e"], [32248, 0, " "], [32249, 0, "m"], [32250, 0, "a"], [32251, 0, "p"], [32252, 0, " "], [32253, 0, "k"], [32254, 0, "e"], [32255, 0, "y"], [32256, 0, ","], [32257, 0, " "], [32258, 0, "b"], [32259, 0, "u"], [32260, 0, "t"], [32261, 0, " "], [32262, 0, "t"], [32263, 0, "h"], [32264, 0, "e"], [32265, 0, "y"], [32266, 0, " "], [32267, 0, "d"], [32268, 0, "o"], [32269, 0, " "], [32270, 0, "s"], [32271, 0, "o"], [32272, 0, " "], [32273, 0, "w"], [32274, 0, "i"], [32275, 0, "t"], [32276, 0, "h"], [32277, 0, " "], [32278, 0, "d"], [32279, 0, "i"], [32280, 0, "f"], [32281, 0, "f"], [32282, 0, "e"], [32283, 0, "r"], [32284, 0, "e"], [32285, 0, "n"], [32286, 0, "t"], [32287, 0, " "], [32288, 0, "d"], [32289, 0, "a"], [32290, 0, "t"], [32291, 0, "a"], [32292, 0, "t"], [32293, 0, "y"], [32294, 0, "p"], [32295, 0, "e"], [32296, 0, "s"], [32297, 0, " "], [32298, 0, "a"], [32299, 0, "s"], [32300, 0, " "], [32301, 0, "v"], [32302, 0, "a"], [32303, 0, "l"], [32304, 0, "u"], [32305, 0, "e"], [32306, 0, "s"], [32307, 0, ":"], [32308, 0, " "], [32309, 0, "$"], [32310, 0, "q"], [32310, 1], [32310, 0, "p"], [32311, 0, "$"], [32312, 0, " "], [32313, 0, "i"], [32314, 0, "n"], [32315, 0, "s"], [32316, 0, "e"], [32317, 0, "r"], [32318, 0, "t"], [32319, 0, "s"], [32320, 0, " "], [32321, 0, "a"], [32322, 0, " "], [32323, 0, "n"], [32324, 0, "e"], [32325, 0, "s"], [32326, 0, "t"], [32327, 0, "e"], [32328, 0, "d"], [32329, 0, " "], [32330, 0, "m"], [32331, 0, "a"], [32332, 0, "p"], [32333, 0, ","], [32334, 0, " "], [32335, 0, "w"], [32336, 0, "h"], [32337, 0, "e"], [32338, 0, "r"], [32339, 0, "e"], [32340, 0, "a"], [32341, 0, "s"], [32342, 0, " "], [32343, 0, "$"], [32344, 0, "q"], [32345, 0, "$"], [32346, 0, " "], [32347, 0, "i"], [32348, 0, "n"], [32349, 0, "s"], [32350, 0, "e"], [32351, 0, "r"], [32352, 0, "t"], [32353, 0, "s"], [32354, 0, " "], [32355, 0, "a"], [32356, 0, " "], [32357, 0, "l"], [32358, 0, "i"], [32359, 0, "s"], [32360, 0, "t"], [32361, 0, "."], [32362, 0, " "], [32363, 0, "T"], [32364, 0, "h"], [32365, 0, "e"], [32366, 0, "s"], [32367, 0, "e"], [32368, 0, " "], [32369, 0, "d"], [32370, 0, "a"], [32371, 0, "t"], [32372, 0, "a"], [32373, 0, "t"], [32374, 0, "y"], [32375, 0, "p"], [32376, 0, "e"], [32377, 0, "s"], [32378, 0, " "], [32379, 0, "c"], [32380, 0, "a"], [32381, 0, "n"], [32382, 0, "n"], [32383, 0, "o"], [32384, 0, "t"], [32385, 0, " "], [32386, 0, "m"], [32387, 0, "e"], [32388, 0, "a"], [32389, 0, "n"], [32390, 0, "i"], [32391, 0, "n"], [32392, 0, "g"], [32393, 0, "f"], [32394, 0, "u"], [32395, 0, "l"], [32396, 0, "l"], [32397, 0, "y"], [32398, 0, " "], [32399, 0, "b"], [32400, 0, "e"], [32401, 0, " "], [32402, 0, "m"], [32403, 0, "e"], [32404, 0, "r"], [32405, 0, "g"], [32406, 0, "e"], [32407, 0, "d"], [32408, 0, ","], [32409, 0, " "], [32410, 0, "s"], [32411, 0, "o"], [32412, 0, " "], [32413, 0, "w"], [32414, 0, "e"], [32415, 0, " "], [32416, 0, "p"], [32417, 0, "r"], [32418, 0, "e"], [32419, 0, "s"], [32420, 0, "e"], [32421, 0, "r"], [32422, 0, "v"], [32423, 0, "e"], [32424, 0, " "], [32425, 0, "b"], [32426, 0, "o"], [32427, 0, "t"], [32428, 0, "h"], [32429, 0, " "], [32430, 0, "v"], [32431, 0, "a"], [32432, 0, "l"], [32433, 0, "u"], [32434, 0, "e"], [32435, 0, "s"], [32436, 0, " "], [32437, 0, "s"], [32438, 0, "e"], [32439, 0, "p"], [32440, 0, "a"], [32441, 0, "r"], [32442, 0, "a"], [32443, 0, "t"], [32444, 0, "e"], [32445, 0, "l"], [32446, 0, "y"], [32447, 0, "."], [32448, 0, " "], [32449, 0, "W"], [32450, 0, "e"], [32451, 0, " "], [32452, 0, "d"], [32453, 0, "o"], [32454, 0, " "], [32455, 0, "t"], [32456, 0, "h"], [32457, 0, "i"], [32458, 0, "s"], [32459, 0, " "], [32460, 0, "b"], [32461, 0, "y"], [32462, 0, " "], [32463, 0, "a"], [32464, 0, "d"], [32465, 0, "d"], [32466, 0, "i"], [32467, 0, "n"], [32468, 0, "g"], [32469, 0, " "], [32470, 0, "a"], [32471, 0, " "], [32472, 0, "t"], [32473, 0, "y"], [32474, 0, "p"], [32475, 0, "e"], [32476, 0, " "], [32477, 0, "t"], [32478, 0, "a"], [32479, 0, "g"], [32480, 0, " "], [32480, 1], [32479, 1], [32478, 1], [32477, 1], [32476, 1], [32475, 1], [32474, 1], [32473, 1], [32472, 1], [32471, 1], [32470, 1], [32469, 1], [32468, 1], [32467, 1], [32466, 1], [32465, 1], [32464, 1], [32463, 1], [32462, 1], [32462, 0, " "], [32463, 0, "t"], [32464, 0, "a"], [32465, 0, "g"], [32466, 0, "g"], [32467, 0, "i"], [32468, 0, "n"], [32469, 0, "g"], [32470, 0, " "], [32471, 0, "e"], [32472, 0, "a"], [32473, 0, "c"], [32474, 0, "h"], [32475, 0, " "], [32476, 0, "m"], [32477, 0, "a"], [32478, 0, "p"], [32479, 0, " "], [32480, 0, "k"], [32481, 0, "e"], [32482, 0, "y"], [32483, 0, " "], [32484, 0, "w"], [32485, 0, "i"], [32486, 0, "t"], [32487, 0, "h"], [32488, 0, " "], [32489, 0, "a"], [32490, 0, " "], [32491, 0, "t"], [32492, 0, "y"], [32493, 0, "p"], [32494, 0, "e"], [32495, 0, " "], [32496, 0, "a"], [32497, 0, "n"], [32498, 0, "n"], [32499, 0, "o"], [32500, 0, "t"], [32501, 0, "a"], [32502, 0, "t"], [32503, 0, "i"], [32504, 0, "o"], [32505, 0, "n"], [32506, 0, " "], [32507, 0, "("], [32508, 0, "\\"], [32509, 0, "t"], [32510, 0, "e"], [32511, 0, "x"], [32512, 0, "t"], [32513, 0, "s"], [32514, 0, "f"], [32515, 0, "{"], [32516, 0, "m"], [32517, 0, "a"], [32518, 0, "p"], [32519, 0, "T"], [32520, 0, "}"], [32521, 0, " "], [32522, 0, "o"], [32523, 0, "r"], [32524, 0, " "], [32525, 0, "\\"], [32526, 0, "t"], [32527, 0, "e"], [32528, 0, "x"], [32529, 0, "t"], [32530, 0, "s"], [32531, 0, "f"], [32532, 0, "{"], [32533, 0, "r"], [32534, 0, "e"], [32534, 1], [32533, 1], [32533, 0, "l"], [32534, 0, "i"], [32535, 0, "s"], [32536, 0, "t"], [32537, 0, "T"], [32538, 0, "}"], [32523, 1], [32522, 1], [32521, 1], [32521, 0, ","], [32537, 0, ","], [32538, 0, " "], [32539, 0, "o"], [32540, 0, "r"], [32541, 0, " "], [32542, 0, "\\"], [32543, 0, "t"], [32544, 0, "e"], [32545, 0, "x"], [32546, 0, "t"], [32547, 0, "s"], [32548, 0, "f"], [32549, 0, "{"], [32550, 0, "r"], [32551, 0, "e"], [32552, 0, "g"], [32553, 0, "T"], [32554, 0, "}"], [32555, 0, " "], [32556, 0, "f"], [32557, 0, "o"], [32558, 0, "r"], [32559, 0, " "], [32560, 0, "a"], [32561, 0, " "], [32562, 0, "m"], [32563, 0, "a"], [32564, 0, "p"], [32565, 0, ","], [32566, 0, " "], [32567, 0, "l"], [32568, 0, "i"], [32569, 0, "s"], [32570, 0, "t"], [32571, 0, ","], [32572, 0, " "], [32573, 0, "o"], [32574, 0, "r"], [32575, 0, " "], [32576, 0, "r"], [32577, 0, "e"], [32578, 0, "g"], [32579, 0, "i"], [32580, 0, "s"], [32581, 0, "t"], [32582, 0, "e"], [32583, 0, "r"], [32584, 0, " "], [32585, 0, "v"], [32586, 0, "a"], [32587, 0, "l"], [32588, 0, "u"], [32589, 0, "e"], [32590, 0, " "], [32591, 0, "r"], [32592, 0, "e"], [32593, 0, "s"], [32594, 0, "p"], [32595, 0, "e"], [32596, 0, "c"], [32597, 0, "t"], [32598, 0, "i"], [32599, 0, "v"], [32600, 0, "e"], [32601, 0, "l"], [32602, 0, "y"], [32603, 0, ")"], [32604, 0, ","], [32605, 0, " "], [32606, 0, "s"], [32607, 0, "o"], [32608, 0, " "], [32609, 0, "e"], [32610, 0, "a"], [32611, 0, "c"], [32612, 0, "h"], [32613, 0, " "], [32614, 0, "t"], [32615, 0, "y"], [32616, 0, "p"], [32617, 0, "e"], [32618, 0, " "], [32619, 0, "i"], [32620, 0, "n"], [32621, 0, "h"], [32622, 0, "a"], [32623, 0, "b"], [32624, 0, "i"], [32625, 0, "t"], [32626, 0, "s"], [32627, 0, " "], [32628, 0, "a"], [32629, 0, " "], [32630, 0, "s"], [32631, 0, "e"], [32632, 0, "p"], [32633, 0, "a"], [32634, 0, "r"], [32635, 0, "a"], [32636, 0, "t"], [32637, 0, "e"], [32638, 0, " "], [32639, 0, "n"], [32640, 0, "a"], [32641, 0, "m"], [32642, 0, "e"], [32643, 0, "s"], [32644, 0, "p"], [32645, 0, "a"], [32646, 0, "c"], [32647, 0, "e"], [32648, 0, "."], [32649, 0, " "], [32650, 0, "T"], [32651, 0, "h"], [32652, 0, "e"], [32653, 0, " "], [32654, 0, "a"], [32655, 0, "p"], [32656, 0, "p"], [32656, 1], [32655, 1], [32654, 1], [32653, 1], [32652, 1], [32651, 1], [32650, 1], [32649, 1], [34419, 0, "s"], [34430, 0, "s"], [34451, 0, " "], [34452, 0, "a"], [34453, 0, "n"], [34454, 0, "d"], [34455, 0, "~"], [34456, 0, "\\"], [34457, 0, "r"], [34458, 0, "e"], [34459, 0, "f"], [34460, 0, "{"], [34461, 0, "f"], [34462, 0, "i"], [34463, 0, "g"], [34464, 0, ":"], [34465, 0, "t"], [34466, 0, "y"], [34467, 0, "p"], [34468, 0, "e"], [34469, 0, "-"], [34470, 0, "c"], [34471, 0, "l"], [34472, 0, "a"], [34473, 0, "s"], [34474, 0, "h"], [34475, 0, "}"], [34419, 1], [34418, 1], [34417, 1], [34416, 1], [34415, 1], [34414, 1], [34413, 1], [34412, 1], [34412, 0, "s"], [34413, 0, "c"], [34414, 0, "e"], [34415, 0, "n"], [34416, 0, "a"], [34417, 0, "r"], [34418, 0, "i"], [34419, 0, "o"], [34420, 0, "s"], [38114, 1], [38113, 1], [38112, 1], [38111, 1], [38110, 1], [38109, 1], [38108, 1], [38107, 1], [38106, 1], [38105, 1], [38122, 1], [38122, 0, "."], [38123, 0, "g"], [38124, 0, "e"], [38125, 0, "t"], [38126, 0, "("], [38150, 1], [38150, 0, ")"], [38180, 0, " "], [38181, 0, "a"], [38182, 0, "n"], [38183, 0, "d"], [38184, 0, " "], [38184, 1], [38196, 1], [38195, 1], [38194, 1], [38193, 1], [38193, 0, "."], [38194, 0, "i"], [38195, 0, "d"], [38196, 0, "x"], [38197, 0, "("], [38199, 0, "$"], [38200, 0, "\\"], [38201, 0, "m"], [38202, 0, "a"], [38203, 0, "t"], [38204, 0, "h"], [38205, 0, "i"], [38206, 0, "t"], [38207, 0, "{"], [38208, 0, "n"], [38209, 0, "}"], [38209, 1], [38208, 1], [38207, 1], [38206, 1], [38205, 1], [38204, 1], [38203, 1], [38202, 1], [38201, 1], [38200, 1], [38200, 0, "n"], [38201, 0, "$"], [38202, 0, "\\"], [38203, 0, "t"], [38204, 0, "e"], [38205, 0, "x"], [38206, 0, "t"], [38207, 0, "t"], [38208, 0, "t"], [38209, 0, "{"], [38210, 0, ")"], [38211, 0, "}"], [38212, 0, " "], [38213, 0, "s"], [38214, 0, "l"], [38214, 1], [38214, 0, "e"], [38215, 0, "e"], [38215, 1], [38215, 0, "l"], [38216, 0, "e"], [38217, 0, "c"], [38218, 0, "t"], [38219, 0, "s"], [38220, 0, " "], [38221, 0, "t"], [38222, 0, "h"], [38223, 0, "e"], [38224, 0, " "], [38225, 0, "$"], [38226, 0, "n"], [38227, 0, "$"], [38228, 0, "t"], [38229, 0, "h"], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38231, 1], [38258, 0, " "], [38259, 0, "L"], [38260, 0, "i"], [38261, 0, "s"], [38262, 0, "t"], [38263, 0, "s"], [38264, 0, " "], [38265, 0, "a"], [38266, 0, "r"], [38267, 0, "e"], [38268, 0, " "], [38269, 0, "i"], [38270, 0, "n"], [38271, 0, "d"], [38272, 0, "e"], [38273, 0, "x"], [38274, 0, "e"], [38275, 0, "d"], [38276, 0, " "], [38277, 0, "s"], [38278, 0, "t"], [38279, 0, "a"], [38280, 0, "r"], [38281, 0, "t"], [38282, 0, "i"], [38283, 0, "n"], [38284, 0, "g"], [38285, 0, " "], [38286, 0, "f"], [38287, 0, "r"], [38288, 0, "o"], [38289, 0, "m"], [38290, 0, " "], [38291, 0, "1"], [38292, 0, ","], [38293, 0, " "], [38294, 0, "a"], [38295, 0, "n"], [38296, 0, "d"], [38297, 0, " "], [38298, 0, "\\"], [38299, 0, "t"], [38300, 0, "e"], [38301, 0, "x"], [38302, 0, "t"], [38303, 0, "t"], [38304, 0, "t"], [38305, 0, "{"], [38306, 0, "."], [38307, 0, "i"], [38308, 0, "d"], [38309, 0, "x"], [38310, 0, "("], [38311, 0, "0"], [38312, 0, ")"], [38313, 0, "}"], [38314, 0, " "], [38315, 0, "i"], [38316, 0, "s"], [38317, 0, " "], [38318, 0, "a"], [38319, 0, " "], [38320, 0, "s"], [38321, 0, "p"], [38322, 0, "e"], [38323, 0, "c"], [38324, 0, "i"], [38325, 0, "a"], [38326, 0, "l"], [38327, 0, " "], [38328, 0, "c"], [38329, 0, "u"], [38330, 0, "r"], [38331, 0, "s"], [38332, 0, "o"], [38333, 0, "r"], [38334, 0, " "], [38335, 0, "i"], [38336, 0, "n"], [38337, 0, "d"], [38338, 0, "i"], [38339, 0, "c"], [38340, 0, "a"], [38341, 0, "t"], [38342, 0, "i"], [38343, 0, "n"], [38344, 0, "g"], [38345, 0, " "], [38346, 0, "t"], [38347, 0, "h"], [38348, 0, "e"], [38349, 0, " "], [38350, 0, "h"], [38351, 0, "e"], [38352, 0, "a"], [38353, 0, "d"], [38354, 0, " "], [38355, 0, "o"], [38356, 0, "f"], [38357, 0, " "], [38358, 0, "a"], [38359, 0, " "], [38360, 0, "l"], [38361, 0, "i"], [38362, 0, "s"], [38363, 0, "t"], [38364, 0, "."], [38984, 0, " "], [38985, 0, "p"], [38986, 0, "l"], [38987, 0, "a"], [38988, 0, "c"], [38989, 0, "e"], [38990, 0, "s"], [38991, 0, " "], [38992, 0, "a"], [38993, 0, " "], [38994, 0, "n"], [38995, 0, "e"], [38996, 0, "w"], [38997, 0, " "], [38998, 0, "e"], [38999, 0, "l"], [39000, 0, "e"], [39001, 0, "m"], [39002, 0, "e"], [39003, 0, "n"], [39004, 0, "t"], [39005, 0, " "], [39006, 0, "a"], [39007, 0, "f"], [39008, 0, "t"], [39009, 0, "e"], [39010, 0, "r"], [39011, 0, " "], [39012, 0, "t"], [39013, 0, "h"], [39014, 0, "e"], [39015, 0, " "], [39016, 0, "p"], [39017, 0, "o"], [39018, 0, "s"], [39019, 0, "i"], [39020, 0, "t"], [39021, 0, "i"], [39022, 0, "o"], [39023, 0, "n"], [39024, 0, " "], [39025, 0, "i"], [39026, 0, "d"], [39027, 0, "e"], [39028, 0, "n"], [39029, 0, "t"], [39030, 0, "i"], [39031, 0, "f"], [39032, 0, "i"], [39033, 0, "e"], [39034, 0, "d"], [39035, 0, " "], [39036, 0, "b"], [39037, 0, "y"], [39038, 0, " "], [39039, 0, "t"], [39040, 0, "h"], [39041, 0, "e"], [39042, 0, " "], [39043, 0, "c"], [39044, 0, "u"], [39045, 0, "r"], [39046, 0, "s"], [39047, 0, "o"], [39048, 0, "r"], [39049, 0, ","], [39050, 0, " "], [39051, 0, "a"], [39052, 0, "n"], [39053, 0, "d"], [39054, 0, " "], [39055, 0, "\\"], [39056, 0, "t"], [39057, 0, "e"], [39058, 0, "x"], [39059, 0, "t"], [39060, 0, "t"], [39061, 0, "t"], [39062, 0, "{"], [39063, 0, "."], [39064, 0, "i"], [39065, 0, "d"], [39066, 0, "x"], [39067, 0, "("], [39068, 0, "0"], [39069, 0, ")"], [39070, 0, "."], [39071, 0, "i"], [39072, 0, "n"], [39073, 0, "s"], [39074, 0, "e"], [39075, 0, "r"], [39076, 0, "t"], [39077, 0, "}"], [39078, 0, " "], [39079, 0, "i"], [39080, 0, "n"], [39081, 0, "s"], [39082, 0, "e"], [39083, 0, "r"], [39084, 0, "t"], [39085, 0, "s"], [39086, 0, " "], [39087, 0, "a"], [39088, 0, "t"], [39089, 0, " "], [39090, 0, "t"], [39091, 0, "h"], [39092, 0, "e"], [39093, 0, " "], [39094, 0, "h"], [39095, 0, "e"], [39096, 0, "a"], [39097, 0, "d"], [39098, 0, " "], [39099, 0, "o"], [39100, 0, "f"], [39101, 0, " "], [39102, 0, "a"], [39103, 0, " "], [39104, 0, "l"], [39105, 0, "i"], [39106, 0, "s"], [39107, 0, "t"], [39174, 0, " "], [39175, 0, "r"], [39176, 0, "e"], [39177, 0, "m"], [39178, 0, "o"], [39179, 0, "v"], [39180, 0, "e"], [39181, 0, "s"], [39182, 0, " "], [39183, 0, "t"], [39184, 0, "h"], [39185, 0, "e"], [39186, 0, " "], [39187, 0, "i"], [39188, 0, "t"], [39189, 0, "e"], [39189, 1], [39188, 1], [39187, 1], [39187, 0, "e"], [39188, 0, "l"], [39189, 0, "e"], [39190, 0, "m"], [39191, 0, "e"], [39192, 0, "n"], [39193, 0, "t"], [39194, 0, " "], [39195, 0, "i"], [39196, 0, "d"], [39197, 0, "e"], [39198, 0, "n"], [39199, 0, "t"], [39200, 0, "i"], [39201, 0, "f"], [39202, 0, "i"], [39203, 0, "e"], [39204, 0, "d"], [39205, 0, " "], [39206, 0, "b"], [39207, 0, "y"], [39208, 0, " "], [39209, 0, "t"], [39210, 0, "h"], [39211, 0, "e"], [39212, 0, " "], [39213, 0, "c"], [39214, 0, "u"], [39215, 0, "r"], [39216, 0, "s"], [39217, 0, "o"], [39218, 0, "r"], [38893, 1], [38892, 1], [38891, 1], [38890, 1], [38889, 1], [38888, 1], [38902, 1], [38901, 1], [38900, 1], [38899, 1], [38898, 1], [38897, 1], [38896, 1], [38895, 1], [38894, 1], [38893, 1], [38892, 1], [38912, 0, " "], [38913, 0, "s"], [38914, 0, "e"], [38915, 0, "t"], [38916, 0, "s"], [38917, 0, " "], [38918, 0, "t"], [38919, 0, "h"], [38920, 0, "e"], [38921, 0, " "], [38922, 0, "v"], [38923, 0, "a"], [38924, 0, "l"], [38925, 0, "u"], [38926, 0, "e"], [38927, 0, " "], [38928, 0, "o"], [38929, 0, "f"], [38930, 0, " "], [38931, 0, "t"], [38932, 0, "h"], [38933, 0, "e"], [38934, 0, " "], [38935, 0, "r"], [38936, 0, "e"], [38937, 0, "g"], [38938, 0, "i"], [38939, 0, "s"], [38940, 0, "t"], [38941, 0, "e"], [38942, 0, "r"], [38943, 0, " "], [38944, 0, "i"], [38945, 0, "d"], [38946, 0, "e"], [38947, 0, "n"], [38948, 0, "t"], [38949, 0, "i"], [38950, 0, "f"], [38951, 0, "i"], [38952, 0, "e"], [38953, 0, "d"], [38954, 0, " "], [38955, 0, "b"], [38956, 0, "y"], [38957, 0, " "], [38958, 0, "t"], [38959, 0, "h"], [38960, 0, "e"], [38961, 0, " "], [38962, 0, "c"], [38963, 0, "u"], [38964, 0, "r"], [38965, 0, "s"], [38966, 0, "o"], [38967, 0, "r"], [38874, 1], [38873, 1], [38872, 1], [38871, 1], [38870, 1], [38869, 1], [38868, 1], [38867, 1], [38866, 1], [38865, 1], [38864, 1], [38863, 1], [38862, 1], [38861, 1], [38860, 1], [38859, 1], [38858, 1], [38857, 1], [38856, 1], [38855, 1], [38854, 1], [38853, 1], [38853, 0, "w"], [38854, 0, "r"], [38855, 0, "i"], [38856, 0, "t"], [38857, 0, "i"], [38858, 0, "n"], [38859, 0, "g"], [38860, 0, " "], [38861, 0, "t"], [38862, 0, "o"], [38904, 1], [38903, 1], [38902, 1], [38901, 1], [38901, 0, "a"], [38902, 0, "s"], [38903, 0, "s"], [38904, 0, "i"], [38905, 0, "g"], [38906, 0, "n"], [38907, 0, "s"], [39036, 0, "\\"], [39037, 0, "e"], [39038, 0, "m"], [39039, 0, "p"], [39040, 0, "h"], [39041, 0, "{"], [39047, 0, "}"], [39060, 1], [39059, 1], [39058, 1], [39057, 1], [39056, 1], [39055, 1], [39054, 1], [39053, 1], [39053, 0, "e"], [39054, 0, "x"], [39055, 0, "i"], [39056, 0, "s"], [39057, 0, "t"], [39058, 0, "i"], [39059, 0, "n"], [39060, 0, "g"], [39061, 0, " "], [39062, 0, "l"], [39063, 0, "i"], [39064, 0, "s"], [39065, 0, "t"], [39066, 0, " "], [39067, 0, "e"], [39068, 0, "l"], [39069, 0, "e"], [39070, 0, "m"], [39071, 0, "e"], [39072, 0, "n"], [39073, 0, "t"], [39051, 1], [39050, 1], [39049, 1], [39049, 0, "a"], [39050, 0, "n"], [39375, 1], [39374, 1], [39373, 1], [39372, 1], [39371, 1], [39370, 1], [39369, 1], [39368, 1], [39367, 1], [39366, 1], [39365, 1], [39364, 1], [39363, 1], [39362, 1], [39361, 1], [39360, 1], [39359, 1], [39358, 1], [39357, 1], [39356, 1], [39355, 1], [39354, 1], [39353, 1], [39352, 1], [39351, 1], [39350, 1], [39349, 1], [39348, 1], [39347, 1], [39346, 1], [39345, 1], [39344, 1], [39343, 1], [39342, 1], [39341, 1], [39340, 1], [39339, 1], [39338, 1], [39337, 1], [39336, 1], [39335, 1], [39334, 1], [39333, 1], [39332, 1], [39331, 1], [39330, 1], [39329, 1], [39328, 1], [39327, 1], [39326, 1], [39325, 1], [39324, 1], [39323, 1], [39322, 1], [39321, 1], [39320, 1], [39319, 1], [39318, 1], [39317, 1], [39316, 1], [39315, 1], [39314, 1], [39313, 1], [39312, 1], [39311, 1], [39310, 1], [39309, 1], [39308, 1], [39307, 1], [39306, 1], [39305, 1], [39304, 1], [39303, 1], [39302, 1], [39301, 1], [39300, 1], [39299, 1], [39298, 1], [39297, 1], [39296, 1], [39295, 1], [39294, 1], [39293, 1], [39292, 1], [39291, 1], [39290, 1], [39289, 1], [39288, 1], [39287, 1], [39286, 1], [39285, 1], [39284, 1], [39283, 1], [39282, 1], [39281, 1], [39280, 1], [39279, 1], [39278, 1], [39277, 1], [39276, 1], [39275, 1], [39274, 1], [39273, 1], [39272, 1], [39271, 1], [39270, 1], [39458, 0, ","], [39459, 0, " "], [39460, 0, "a"], [39461, 0, "n"], [39462, 0, "d"], [39463, 0, " "], [39464, 0, "t"], [39465, 0, "h"], [39466, 0, "e"], [39467, 0, "n"], [39468, 0, " "], [39469, 0, "t"], [39470, 0, "h"], [39471, 0, "e"], [39472, 0, " "], [39473, 0, "k"], [39474, 0, "e"], [39475, 0, "y"], [39476, 0, " "], [39477, 0, "`"], [39478, 0, "`"], [39479, 0, "h"], [39479, 1], [39478, 1], [39477, 1], [39477, 0, "\\"], [39478, 0, "t"], [39479, 0, "e"], [39480, 0, "x"], [39481, 0, "t"], [39482, 0, "t"], [39483, 0, "t"], [39484, 0, "{"], [39485, 0, "\""], [39486, 0, "s"], [39487, 0, "h"], [39488, 0, "o"], [39489, 0, "p"], [39490, 0, "p"], [39491, 0, "i"], [39492, 0, "n"], [39493, 0, "g"], [39494, 0, "\""], [39495, 0, "}"], [39495, 1], [39495, 0, "|"], [39484, 1], [39483, 1], [39482, 1], [39481, 1], [39480, 1], [39479, 1], [39478, 1], [39478, 0, "v"], [39479, 0, "e"], [39480, 0, "r"], [39481, 0, "b"], [39482, 0, "|"], [39494, 0, " "], [39495, 0, "w"], [39496, 0, "i"], [39497, 0, "t"], [39498, 0, "h"], [39499, 0, "i"], [39500, 0, "n"], [39501, 0, " "], [39502, 0, "t"], [39503, 0, "h"], [39504, 0, "a"], [39505, 0, "t"], [39506, 0, " "], [39507, 0, "m"], [39508, 0, "a"], [39509, 0, "p"], [39510, 0, " "], [39511, 0, "i"], [39512, 0, "s"], [39513, 0, " "], [39514, 0, "s"], [39515, 0, "e"], [39516, 0, "t"], [39517, 0, " "], [39518, 0, "t"], [39519, 0, "o"], [39520, 0, " "], [39521, 0, "t"], [39522, 0, "h"], [39523, 0, "e"], [39524, 0, " "], [39525, 0, "e"], [39526, 0, "m"], [39527, 0, "p"], [39528, 0, "t"], [39529, 0, "y"], [39530, 0, " "], [39531, 0, "l"], [39532, 0, "i"], [39533, 0, "s"], [39534, 0, "t"], [39535, 0, " "], [39536, 0, "\\"], [39537, 0, "v"], [39538, 0, "e"], [39539, 0, "r"], [39540, 0, "b"], [39541, 0, "|"], [39542, 0, "["], [39543, 0, "]"], [39544, 0, "|"], [39556, 1], [39555, 1], [39554, 1], [39553, 1], [39552, 1], [39551, 1], [39551, 0, "t"], [39552, 0, "h"], [39553, 0, "i"], [39554, 0, "r"], [39555, 0, "d"], [39590, 1], [39589, 1], [39588, 1], [39587, 1], [39586, 1], [39585, 1], [39584, 1], [39584, 0, "v"], [39585, 0, "e"], [39586, 0, "r"], [39587, 0, "b"], [39588, 0, "|"], [39599, 1], [39599, 0, "|"], [39673, 1], [39672, 1], [39671, 1], [39670, 1], [39669, 1], [39668, 1], [39667, 1], [39666, 1], [39665, 1], [39664, 1], [39663, 1], [39662, 1], [39661, 1], [39660, 1], [39659, 1], [39658, 1], [39657, 1], [39656, 1], [39655, 1], [39654, 1], [39653, 1], [39652, 1], [39651, 1], [39650, 1], [39649, 1], [39648, 1], [39647, 1], [39646, 1], [39645, 1], [39644, 1], [39643, 1], [39642, 1], [39641, 1], [39640, 1], [39639, 1], [39638, 1], [39637, 1], [39636, 1], [39635, 1], [39634, 1], [39633, 1], [39632, 1], [39631, 1], [39630, 1], [39629, 1], [39628, 1], [39627, 1], [39626, 1], [39625, 1], [39624, 1], [39623, 1], [39622, 1], [39621, 1], [39620, 1], [39619, 1], [39618, 1], [39617, 1], [39616, 1], [39615, 1], [39614, 1], [39613, 1], [39612, 1], [39611, 1], [39610, 1], [39609, 1], [39608, 1], [39607, 1], [39606, 1], [39605, 1], [39604, 1], [39603, 1], [39602, 1], [39601, 1], [39714, 1], [39713, 1], [39712, 1], [39711, 1], [39710, 1], [39709, 1], [39708, 1], [39707, 1], [39706, 1], [39705, 1], [39704, 1], [39703, 1], [39702, 1], [39701, 1], [39700, 1], [39699, 1], [39698, 1], [39697, 1], [39696, 1], [39695, 1], [39694, 1], [39693, 1], [39692, 1], [39691, 1], [39690, 1], [39689, 1], [39688, 1], [39687, 1], [39686, 1], [39685, 1], [39684, 1], [39683, 1], [39682, 1], [39681, 1], [39680, 1], [39679, 1], [39678, 1], [39677, 1], [39676, 1], [39675, 1], [39674, 1], [39673, 1], [39672, 1], [39671, 1], [39670, 1], [39669, 1], [39668, 1], [39667, 1], [39666, 1], [39665, 1], [39664, 1], [39663, 1], [39662, 1], [39661, 1], [39660, 1], [39659, 1], [39658, 1], [39657, 1], [39656, 1], [39655, 1], [39654, 1], [39653, 1], [39652, 1], [39651, 1], [39650, 1], [39649, 1], [39648, 1], [39647, 1], [39646, 1], [39645, 1], [39644, 1], [39643, 1], [39642, 1], [39641, 1], [39640, 1], [39639, 1], [39638, 1], [39637, 1], [39636, 1], [39635, 1], [39634, 1], [39633, 1], [39633, 0, ","], [39634, 0, " "], [39635, 0, "p"], [39636, 0, "l"], [39637, 0, "a"], [39638, 0, "c"], [39639, 0, "i"], [39640, 0, "n"], [39641, 0, "g"], [39642, 0, " "], [39643, 0, "t"], [39644, 0, "h"], [39645, 0, "e"], [39646, 0, " "], [39647, 0, "c"], [39648, 0, "u"], [39649, 0, "r"], [39650, 0, "s"], [39651, 0, "o"], [39652, 0, "r"], [39653, 0, " "], [39654, 0, "i"], [39655, 0, "n"], [39656, 0, " "], [39657, 0, "a"], [39658, 0, " "], [39659, 0, "v"], [39660, 0, "a"], [39661, 0, "r"], [39662, 0, "i"], [39663, 0, "a"], [39664, 0, "b"], [39665, 0, "l"], [39666, 0, "e"], [39667, 0, " "], [39668, 0, "c"], [39669, 0, "a"], [39670, 0, "l"], [39671, 0, "l"], [39672, 0, "e"], [39673, 0, "d"], [39674, 0, " "], [39675, 0, "\\"], [39676, 0, "t"], [39677, 0, "e"], [39678, 0, "x"], [39679, 0, "t"], [39680, 0, "t"], [39681, 0, "t"], [39682, 0, "{"], [39683, 0, "h"], [39684, 0, "e"], [39685, 0, "a"], [39686, 0, "d"], [39687, 0, "}"], [39689, 0, "\n"], [39690, 0, "\n"], [39689, 0, " "], [39690, 0, "T"], [39691, 0, "h"], [39692, 0, "e"], [39693, 0, " "], [39694, 0, "l"], [39695, 0, "i"], [39696, 0, "s"], [39697, 0, "t"], [39698, 0, " "], [39699, 0, "e"], [39700, 0, "l"], [39701, 0, "e"], [39702, 0, "m"], [39703, 0, "e"], [39704, 0, "n"], [39705, 0, "t"], [39706, 0, " "], [39707, 0, "`"], [39708, 0, "`"], [39709, 0, "e"], [39710, 0, "g"], [39711, 0, "g"], [39712, 0, "s"], [39713, 0, "'"], [39714, 0, "'"], [39715, 0, " "], [39716, 0, "i"], [39717, 0, "s"], [39718, 0, " "], [39719, 0, "i"], [39720, 0, "n"], [39721, 0, "s"], [39722, 0, "e"], [39723, 0, "r"], [39724, 0, "t"], [39725, 0, "e"], [39726, 0, "d"], [39727, 0, " "], [39728, 0, "a"], [39729, 0, "t"], [39730, 0, " "], [39731, 0, "t"], [39732, 0, "h"], [39733, 0, "e"], [39734, 0, " "], [39735, 0, "h"], [39736, 0, "e"], [39737, 0, "a"], [39738, 0, "d"], [39739, 0, " "], [39740, 0, "o"], [39741, 0, "f"], [39742, 0, " "], [39743, 0, "t"], [39744, 0, "h"], [39745, 0, "e"], [39746, 0, " "], [39747, 0, "l"], [39748, 0, "i"], [39749, 0, "s"], [39750, 0, "t"], [39751, 0, "."], [39752, 0, " "], [39753, 0, "I"], [39754, 0, "n"], [39755, 0, " "], [39756, 0, "l"], [39757, 0, "i"], [39758, 0, "n"], [39759, 0, "e"], [39760, 0, " "], [39761, 0, "5"], [39762, 0, ","], [39763, 0, " "], [24204, 0, "A"], [24205, 0, "f"], [24206, 0, "t"], [24207, 0, "e"], [24208, 0, "r"], [24350, 0, "A"], [24351, 0, "f"], [24352, 0, "t"], [24353, 0, "e"], [24354, 0, "r"], [24495, 0, "A"], [24496, 0, "f"], [24497, 0, "t"], [24498, 0, "e"], [24499, 0, "r"], [24640, 0, "A"], [24641, 0, "f"], [24642, 0, "t"], [24643, 0, "e"], [24644, 0, "r"], [26008, 0, "A"], [26009, 0, "F"], [26010, 0, "t"], [26011, 0, "e"], [26012, 0, "r"], [26012, 1], [26011, 1], [26010, 1], [26009, 1], [26009, 0, "f"], [26010, 0, "t"], [26011, 0, "e"], [26012, 0, "r"], [26092, 0, "A"], [26093, 0, "f"], [26094, 0, "t"], [26095, 0, "e"], [26096, 0, "r"], [26177, 0, "A"], [26178, 0, "f"], [26179, 0, "t"], [26180, 0, "e"], [26181, 0, "r"], [27722, 0, "A"], [27723, 0, "f"], [27724, 0, "t"], [27725, 0, "e"], [27726, 0, "r"], [35302, 0, "A"], [35303, 0, "f"], [35304, 0, "t"], [35305, 0, "e"], [35306, 0, "r"], [36258, 0, "A"], [36259, 0, "f"], [36260, 0, "t"], [36261, 0, "e"], [36262, 0, "r"], [36323, 0, "A"], [36324, 0, "f"], [36325, 0, "t"], [36326, 0, "e"], [36327, 0, "r"], [36351, 0, "A"], [36352, 0, "f"], [36353, 0, "t"], [36354, 0, "e"], [36355, 0, "r"], [39073, 0, "A"], [39074, 0, "f"], [39075, 0, "t"], [39076, 0, "e"], [39077, 0, "r"], [39101, 1], [39101, 1], [39101, 1], [39101, 1], [39101, 1], [39101, 1], [39106, 1], [39184, 0, "A"], [39185, 0, "f"], [39186, 0, "t"], [39187, 0, "e"], [39188, 0, "r"], [32425, 0, "b"], [32425, 1], [32425, 0, " "], [32426, 0, "b"], [32427, 0, "e"], [32441, 1], [32441, 1], [32441, 1], [38424, 0, " "], [38425, 0, "("], [38426, 0, "a"], [38427, 0, " "], [38428, 0, "v"], [38429, 0, "i"], [38430, 0, "r"], [38431, 0, "t"], [38432, 0, "u"], [38433, 0, "a"], [38434, 0, "l"], [38435, 0, " "], [38436, 0, "p"], [38437, 0, "o"], [38438, 0, "s"], [38439, 0, "i"], [38440, 0, "t"], [38441, 0, "i"], [38442, 0, "o"], [38443, 0, "n"], [38444, 0, " "], [38445, 0, "b"], [38446, 0, "e"], [38447, 0, "f"], [38448, 0, "o"], [38449, 0, "r"], [38450, 0, "e"], [38451, 0, " "], [38452, 0, "t"], [38453, 0, "h"], [38454, 0, "e"], [38455, 0, " "], [38456, 0, "f"], [38457, 0, "i"], [38458, 0, "r"], [38459, 0, "s"], [38460, 0, "t"], [38461, 0, " "], [38462, 0, "l"], [38463, 0, "i"], [38464, 0, "s"], [38465, 0, "t"], [38466, 0, " "], [38467, 0, "e"], [38468, 0, "l"], [38469, 0, "e"], [38470, 0, "m"], [38471, 0, "e"], [38472, 0, "n"], [38473, 0, "t"], [38474, 0, ")"], [39159, 1], [39158, 1], [39158, 0, "t"], [39159, 0, "h"], [39160, 0, "e"], [39879, 0, "t"], [39880, 0, "h"], [39881, 0, "e"], [39882, 0, " "], [39883, 0, "v"], [39884, 0, "a"], [39885, 0, "r"], [39886, 0, "i"], [39887, 0, "a"], [39888, 0, "b"], [39889, 0, "l"], [39890, 0, "e"], [39891, 0, " "], [39892, 0, "\\"], [39893, 0, "t"], [39894, 0, "e"], [39895, 0, "x"], [39896, 0, "t"], [39897, 0, "t"], [39898, 0, "t"], [39899, 0, "{"], [39900, 0, "t"], [39901, 0, "a"], [39902, 0, "i"], [39903, 0, "l"], [39904, 0, "}"], [39905, 0, " "], [39906, 0, "i"], [39907, 0, "s"], [39908, 0, " "], [39909, 0, "s"], [39910, 0, "e"], [39911, 0, "t"], [39912, 0, " "], [39913, 0, "t"], [39914, 0, "o"], [39915, 0, " "], [39916, 0, "a"], [39917, 0, " "], [39918, 0, "c"], [39919, 0, "u"], [39920, 0, "r"], [39921, 0, "s"], [39922, 0, "o"], [39923, 0, "r"], [39924, 0, " "], [39925, 0, "p"], [39926, 0, "o"], [39927, 0, "i"], [39928, 0, "n"], [39929, 0, "t"], [39930, 0, "i"], [39931, 0, "n"], [39932, 0, "g"], [39933, 0, " "], [39934, 0, "a"], [39935, 0, "t"], [39936, 0, " "], [39937, 0, "t"], [39938, 0, "h"], [39939, 0, "e"], [39940, 0, " "], [39941, 0, "l"], [39942, 0, "i"], [39943, 0, "s"], [39944, 0, "t"], [39945, 0, " "], [39946, 0, "e"], [39947, 0, "l"], [39948, 0, "e"], [39949, 0, "m"], [39950, 0, "e"], [39951, 0, "n"], [39952, 0, "t"], [39953, 0, " "], [39954, 0, "`"], [39955, 0, "`"], [39956, 0, "e"], [39957, 0, "g"], [39958, 0, "g"], [39959, 0, "s"], [39960, 0, "'"], [39961, 0, "'"], [39962, 0, "."], [39963, 0, " "], [36280, 1], [36279, 1], [36278, 1], [36277, 1], [36277, 0, "e"], [36278, 0, "g"], [36279, 0, "g"], [36280, 0, "s"], [36343, 1], [36342, 1], [36341, 1], [36340, 1], [36340, 0, "e"], [36341, 0, "g"], [36342, 0, "g"], [36343, 0, "s"], [39903, 1], [39902, 1], [39901, 1], [39900, 1], [39900, 0, "e"], [39901, 0, "g"], [39902, 0, "g"], [39903, 0, "s"], [39964, 0, "T"], [39965, 0, "h"], [39966, 0, "e"], [39967, 0, "n"], [39968, 0, " "], [39969, 0, "t"], [39970, 0, "w"], [39971, 0, "o"], [39972, 0, " "], [39973, 0, "m"], [39974, 0, "o"], [39975, 0, "r"], [39976, 0, "e"], [39977, 0, " "], [39978, 0, "l"], [39979, 0, "i"], [39980, 0, "s"], [39981, 0, "t"], [39982, 0, " "], [39983, 0, "e"], [39984, 0, "l"], [39985, 0, "e"], [39986, 0, "m"], [39987, 0, "e"], [39988, 0, "n"], [39989, 0, "t"], [39990, 0, "s"], [39991, 0, " "], [39992, 0, "a"], [39993, 0, "r"], [39994, 0, "e"], [39995, 0, " "], [39996, 0, "i"], [39997, 0, "n"], [39998, 0, "s"], [39999, 0, "e"], [40000, 0, "r"], [40001, 0, "t"], [40002, 0, "e"], [40003, 0, "d"], [40004, 0, ":"], [40005, 0, " "], [40006, 0, "`"], [40007, 0, "`"], [40008, 0, "c"], [40009, 0, "h"], [40010, 0, "e"], [40011, 0, "e"], [40012, 0, "s"], [40013, 0, "e"], [40014, 0, "'"], [40015, 0, "'"], [40016, 0, " "], [40017, 0, "i"], [40018, 0, "s"], [40019, 0, " "], [40020, 0, "i"], [40021, 0, "n"], [40022, 0, "s"], [40023, 0, "e"], [40024, 0, "r"], [40024, 1], [40023, 1], [40022, 1], [40021, 1], [40020, 1], [40019, 1], [40018, 1], [40017, 1], [40017, 0, "a"], [40018, 0, "t"], [40019, 0, " "], [40020, 0, "t"], [40021, 0, "h"], [40022, 0, "e"], [40023, 0, " "], [40024, 0, "h"], [40025, 0, "e"], [40026, 0, "a"], [40027, 0, "d"], [40028, 0, ","], [40029, 0, " "], [40030, 0, "a"], [40031, 0, "n"], [40032, 0, "d"], [40033, 0, " "], [40034, 0, "`"], [40035, 0, "`"], [40036, 0, "m"], [40037, 0, "i"], [40038, 0, "l"], [40039, 0, "k"], [40040, 0, "'"], [40041, 0, "'"], [40042, 0, " "], [40043, 0, "a"], [40044, 0, "f"], [40045, 0, "t"], [40046, 0, "e"], [40047, 0, "r"], [40048, 0, " "], [40049, 0, "`"], [40050, 0, "`"], [40051, 0, "e"], [40052, 0, "g"], [40053, 0, "g"], [40054, 0, "s"], [40055, 0, "'"], [40056, 0, "'"], [40057, 0, "."], [40058, 0, " "], [40059, 0, "N"], [40060, 0, "o"], [40061, 0, "t"], [40062, 0, "e"], [40063, 0, " "], [40064, 0, "t"], [40065, 0, "h"], [40066, 0, "a"], [40067, 0, "t"], [40068, 0, " "], [40069, 0, "t"], [40070, 0, "h"], [40071, 0, "e"], [40072, 0, " "], [40073, 0, "c"], [40074, 0, "u"], [40075, 0, "r"], [40076, 0, "s"], [40077, 0, "o"], [40078, 0, "r"], [40079, 0, " "], [40080, 0, "i"], [40081, 0, "d"], [40082, 0, "e"], [40083, 0, "n"], [40084, 0, "t"], [40085, 0, "i"], [40085, 1], [40084, 1], [40083, 1], [40082, 1], [40081, 1], [40080, 1], [40080, 0, "\\"], [40081, 0, "t"], [40082, 0, "e"], [40083, 0, "x"], [40084, 0, "t"], [40085, 0, "t"], [40086, 0, "t"], [40087, 0, "{"], [40088, 0, "e"], [40089, 0, "g"], [40090, 0, "g"], [40091, 0, "s"], [40092, 0, "}"], [40093, 0, " "], [40094, 0, "i"], [40095, 0, "d"], [40096, 0, "e"], [40097, 0, "n"], [40098, 0, "t"], [40099, 0, "i"], [40100, 0, "f"], [40101, 0, "i"], [40102, 0, "e"], [40103, 0, "s"], [40104, 0, " "], [40105, 0, "t"], [40106, 0, "h"], [40107, 0, "e"], [40108, 0, " "], [40109, 0, "l"], [40110, 0, "i"], [40111, 0, "s"], [40112, 0, "t"], [40113, 0, " "], [40114, 0, "e"], [40115, 0, "l"], [40116, 0, "e"], [40117, 0, "m"], [40118, 0, "e"], [40119, 0, "n"], [40120, 0, "t"], [40121, 0, " "], [40122, 0, "b"], [40123, 0, "y"], [40124, 0, " "], [40125, 0, "i"], [40126, 0, "d"], [40127, 0, "e"], [40128, 0, "n"], [40129, 0, "t"], [40130, 0, "i"], [40131, 0, "t"], [40132, 0, "y"], [40133, 0, ","], [40134, 0, " "], [40135, 0, "n"], [40136, 0, "o"], [40137, 0, "t"], [40138, 0, " "], [40139, 0, "b"], [40140, 0, "y"], [40141, 0, " "], [40142, 0, "i"], [40143, 0, "t"], [40144, 0, "s"], [40145, 0, " "], [40146, 0, "i"], [40147, 0, "n"], [40148, 0, "d"], [40149, 0, "e"], [40150, 0, "x"], [40151, 0, ":"], [40152, 0, " "], [40153, 0, "a"], [40154, 0, "f"], [40155, 0, "t"], [40156, 0, "e"], [40157, 0, "r"], [40158, 0, " "], [40159, 0, "t"], [40160, 0, "h"], [40161, 0, "e"], [40162, 0, " "], [40163, 0, "i"], [40164, 0, "n"], [40165, 0, "s"], [40166, 0, "e"], [40167, 0, "r"], [40168, 0, "t"], [40169, 0, "i"], [40170, 0, "o"], [40171, 0, "n"], [40172, 0, " "], [40173, 0, "o"], [40174, 0, "f"], [40175, 0, " "], [40176, 0, "`"], [40177, 0, "`"], [40178, 0, "c"], [40179, 0, "h"], [40180, 0, "e"], [40181, 0, "e"], [40182, 0, "s"], [40183, 0, "e"], [40184, 0, "'"], [40185, 0, "'"], [40186, 0, ","], [40187, 0, " "], [40188, 0, "t"], [40189, 0, "h"], [40190, 0, "e"], [40191, 0, " "], [40192, 0, "e"], [40193, 0, "l"], [40194, 0, "e"], [40195, 0, "m"], [40196, 0, "e"], [40197, 0, "n"], [40198, 0, "t"], [40199, 0, " "], [40200, 0, "`"], [40201, 0, "`"], [40202, 0, "e"], [40203, 0, "g"], [40204, 0, "g"], [40205, 0, "s"], [40206, 0, "'"], [40207, 0, "'"], [40208, 0, " "], [40209, 0, "h"], [40210, 0, "a"], [40211, 0, "s"], [40212, 0, " "], [40213, 0, "i"], [40214, 0, "n"], [40215, 0, "d"], [40216, 0, "e"], [40217, 0, "x"], [40218, 0, " "], [40219, 0, "2"], [40220, 0, ","], [40221, 0, " "], [40222, 0, "b"], [40223, 0, "u"], [40224, 0, "t"], [40225, 0, " "], [40226, 0, "t"], [40227, 0, "h"], [40228, 0, "e"], [40229, 0, " "], [40229, 1], [40228, 1], [40227, 1], [40226, 1], [40226, 0, "`"], [40227, 0, "`"], [40228, 0, "m"], [40229, 0, "i"], [40230, 0, "l"], [40231, 0, "k"], [40232, 0, "'"], [40233, 0, "'"], [40234, 0, " "], [40235, 0, "i"], [40236, 0, "s"], [40237, 0, " "], [40238, 0, "n"], [40239, 0, "e"], [40240, 0, "v"], [40241, 0, "e"], [40242, 0, "r"], [40243, 0, "t"], [40244, 0, "h"], [40245, 0, "e"], [40246, 0, "l"], [40247, 0, "e"], [40248, 0, "s"], [40249, 0, "s"], [40250, 0, " "], [40251, 0, "a"], [40252, 0, "f"], [40252, 1], [40251, 1], [40251, 0, "i"], [40252, 0, "n"], [40253, 0, "s"], [40254, 0, "e"], [40255, 0, "r"], [40256, 0, "t"], [40257, 0, "e"], [40258, 0, "d"], [40259, 0, " "], [40260, 0, "a"], [40261, 0, "f"], [40262, 0, "t"], [40263, 0, "e"], [40264, 0, "r"], [40265, 0, " "], [40266, 0, "`"], [40267, 0, "`"], [40268, 0, "e"], [40269, 0, "g"], [40270, 0, "g"], [40271, 0, "s"], [40272, 0, "'"], [40273, 0, "'"], [40274, 0, "."], [40058, 1], [40058, 0, "\n"], [40059, 0, "\n"], [40276, 0, " "], [40277, 0, "T"], [40278, 0, "h"], [40279, 0, "i"], [40280, 0, "s"], [40281, 0, " "], [40281, 1], [40280, 1], [40279, 1], [40278, 1], [40277, 1], [40277, 0, "A"], [40278, 0, "s"], [40279, 0, " "], [40280, 0, "w"], [40281, 0, "e"], [40282, 0, " "], [40283, 0, "s"], [40284, 0, "h"], [40285, 0, "a"], [40286, 0, "l"], [40287, 0, "l"], [40288, 0, " "], [40289, 0, "s"], [40290, 0, "e"], [40291, 0, "e"], [40292, 0, " "], [40293, 0, "l"], [40294, 0, "a"], [40295, 0, "t"], [40296, 0, "e"], [40297, 0, "r"], [40298, 0, ","], [40299, 0, " "], [40300, 0, "t"], [40301, 0, "h"], [40302, 0, "i"], [40303, 0, "s"], [40304, 0, " "], [40305, 0, "f"], [40306, 0, "e"], [40307, 0, "a"], [40308, 0, "t"], [40309, 0, "u"], [40310, 0, "r"], [40311, 0, "e"], [40312, 0, " "], [40313, 0, "i"], [40314, 0, "s"], [40315, 0, " "], [40316, 0, "h"], [40317, 0, "e"], [40318, 0, "l"], [40319, 0, "p"], [40320, 0, "f"], [40321, 0, "u"], [40322, 0, "l"], [40323, 0, " "], [40324, 0, "f"], [40325, 0, "o"], [40326, 0, "r"], [40327, 0, " "], [40328, 0, "a"], [40329, 0, "c"], [40330, 0, "h"], [40331, 0, "i"], [40332, 0, "e"], [40333, 0, "v"], [40334, 0, "i"], [40335, 0, "n"], [40336, 0, "g"], [40337, 0, " "], [40338, 0, "d"], [40339, 0, "e"], [40340, 0, "s"], [40341, 0, "i"], [40342, 0, "r"], [40343, 0, "a"], [40344, 0, "b"], [40345, 0, "l"], [40346, 0, "e"], [40347, 0, " "], [40348, 0, "s"], [40349, 0, "e"], [40350, 0, "m"], [40351, 0, "a"], [40352, 0, "n"], [40353, 0, "t"], [40354, 0, "i"], [40355, 0, "c"], [40356, 0, "s"], [40357, 0, " "], [40358, 0, "i"], [40359, 0, "n"], [40360, 0, " "], [40361, 0, "t"], [40362, 0, "h"], [40363, 0, "e"], [40364, 0, " "], [40365, 0, "p"], [40366, 0, "r"], [40367, 0, "e"], [40368, 0, "s"], [40369, 0, "e"], [40370, 0, "n"], [40371, 0, "c"], [40372, 0, "e"], [40373, 0, " "], [40374, 0, "o"], [40375, 0, "f"], [40376, 0, " "], [40377, 0, "c"], [40378, 0, "o"], [40379, 0, "n"], [40380, 0, "c"], [40381, 0, "u"], [40382, 0, "r"], [40383, 0, "r"], [40384, 0, "e"], [40385, 0, "n"], [40386, 0, "t"], [40387, 0, " "], [40388, 0, "m"], [40389, 0, "o"], [40390, 0, "d"], [40391, 0, "i"], [40392, 0, "f"], [40393, 0, "i"], [40394, 0, "c"], [40395, 0, "a"], [40396, 0, "t"], [40397, 0, "i"], [40398, 0, "o"], [40399, 0, "n"], [40400, 0, "s"], [40401, 0, "."], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40404, 1], [40212, 1], [40211, 1], [40210, 1], [40210, 0, "m"], [40211, 0, "o"], [40212, 0, "v"], [40213, 0, "e"], [40214, 0, "s"], [40215, 0, " "], [40216, 0, "f"], [40217, 0, "r"], [40218, 0, "o"], [40219, 0, "m"], [40220, 0, " "], [40221, 0, "i"], [40222, 0, "n"], [40223, 0, "d"], [40224, 0, "e"], [40225, 0, "x"], [40226, 0, " "], [40227, 0, "1"], [40228, 0, " "], [40229, 0, "t"], [40230, 0, "o"], [40232, 1], [40232, 1], [40232, 1], [40232, 1], [40232, 1], [40232, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [40416, 1], [47380, 0, "H"], [47380, 1], [47380, 0, "W"], [47381, 0, "e"], [47382, 0, " "], [47383, 0, "n"], [47384, 0, "o"], [47385, 0, "w"], [47386, 0, " "], [47387, 0, "e"], [47388, 0, "x"], [47389, 0, "p"], [47390, 0, "l"], [47391, 0, "a"], [47392, 0, "i"], [47393, 0, "n"], [47394, 0, " "], [47395, 0, "f"], [47396, 0, "o"], [47397, 0, "r"], [47398, 0, "m"], [47399, 0, "a"], [47400, 0, "l"], [47401, 0, "l"], [47402, 0, "y"], [47403, 0, " "], [47404, 0, "h"], [47405, 0, "o"], [47406, 0, "w"], [47407, 0, " "], [47408, 0, "t"], [47409, 0, "o"], [47410, 0, " "], [47411, 0, "a"], [47412, 0, "c"], [47413, 0, "h"], [47414, 0, "i"], [47415, 0, "e"], [47416, 0, "v"], [47417, 0, "e"], [47418, 0, " "], [47419, 0, "t"], [47420, 0, "h"], [47421, 0, "e"], [47422, 0, " "], [47423, 0, "c"], [47424, 0, "o"], [47425, 0, "n"], [47426, 0, "c"], [47427, 0, "u"], [47428, 0, "r"], [47429, 0, "r"], [47430, 0, "e"], [47431, 0, "n"], [47432, 0, "t"], [47433, 0, " "], [47434, 0, "s"], [47435, 0, "e"], [47436, 0, "m"], [47437, 0, "a"], [47438, 0, "n"], [47439, 0, "t"], [47440, 0, "i"], [47441, 0, "c"], [47442, 0, "s"], [47443, 0, " "], [47444, 0, "o"], [47445, 0, "u"], [47446, 0, "t"], [47447, 0, "l"], [47448, 0, "i"], [47449, 0, "n"], [47450, 0, "e"], [47451, 0, "d"], [47452, 0, " "], [47453, 0, "i"], [47454, 0, "n"], [47455, 0, " "], [47456, 0, "S"], [47457, 0, "e"], [47458, 0, "c"], [47459, 0, "t"], [47460, 0, "i"], [47461, 0, "o"], [47462, 0, "n"], [47463, 0, "~"], [47464, 0, "\\"], [47465, 0, "r"], [47466, 0, "e"], [47467, 0, "f"], [47468, 0, "{"], [47469, 0, "s"], [47470, 0, "e"], [47471, 0, "c"], [47472, 0, ":"], [47473, 0, "c"], [47474, 0, "o"], [47475, 0, "m"], [47476, 0, "p"], [47477, 0, "o"], [47478, 0, "s"], [47479, 0, "i"], [47480, 0, "n"], [47481, 0, "g"], [47482, 0, "}"], [47483, 0, "."], [47484, 0, " "], [41974, 1], [41973, 1], [41972, 1], [41971, 1], [41970, 1], [41969, 1], [41968, 1], [41967, 1], [41966, 1], [41965, 1], [41964, 1], [41963, 1], [41962, 1], [41961, 1], [41960, 1], [41959, 1], [41958, 1], [41957, 1], [41956, 1], [41955, 1], [41954, 1], [41953, 1], [41952, 1], [41951, 1], [41950, 1], [41949, 1], [41948, 1], [41947, 1], [41946, 1], [41945, 1], [41944, 1], [41943, 1], [41942, 1], [41941, 1], [41940, 1], [41939, 1], [41938, 1], [41937, 1], [41936, 1], [41935, 1], [41934, 1], [41933, 1], [41932, 1], [41931, 1], [41930, 1], [41929, 1], [41928, 1], [41927, 1], [41926, 1], [41925, 1], [41924, 1], [41923, 1], [41922, 1], [41921, 1], [41920, 1], [41919, 1], [41918, 1], [41917, 1], [41916, 1], [41915, 1], [41914, 1], [41913, 1], [41912, 1], [41911, 1], [41910, 1], [41909, 1], [41908, 1], [41907, 1], [41906, 1], [41905, 1], [41904, 1], [41903, 1], [41902, 1], [41901, 1], [41900, 1], [41899, 1], [41898, 1], [41897, 1], [41896, 1], [41895, 1], [41894, 1], [41893, 1], [41892, 1], [41891, 1], [41890, 1], [41889, 1], [41888, 1], [41887, 1], [41886, 1], [41885, 1], [41884, 1], [41883, 1], [41882, 1], [41881, 1], [41880, 1], [41879, 1], [41878, 1], [41877, 1], [41876, 1], [41875, 1], [41874, 1], [41873, 1], [41872, 1], [41871, 1], [41870, 1], [41869, 1], [41868, 1], [41867, 1], [41866, 1], [41865, 1], [41864, 1], [41863, 1], [41862, 1], [41861, 1], [41860, 1], [41859, 1], [41858, 1], [41857, 1], [41856, 1], [41855, 1], [41854, 1], [41853, 1], [41852, 1], [41851, 1], [41850, 1], [41849, 1], [41848, 1], [41847, 1], [41846, 1], [41845, 1], [41844, 1], [41843, 1], [41842, 1], [41841, 1], [41840, 1], [41839, 1], [41838, 1], [41837, 1], [41836, 1], [41835, 1], [41834, 1], [41833, 1], [41832, 1], [41831, 1], [41830, 1], [41829, 1], [41828, 1], [41827, 1], [41826, 1], [41825, 1], [41824, 1], [41823, 1], [41822, 1], [41821, 1], [41820, 1], [41819, 1], [41818, 1], [41817, 1], [41816, 1], [41815, 1], [41814, 1], [41813, 1], [41812, 1], [41811, 1], [41810, 1], [41809, 1], [41808, 1], [41807, 1], [41806, 1], [41805, 1], [41804, 1], [41803, 1], [41802, 1], [41801, 1], [41800, 1], [41799, 1], [41798, 1], [41797, 1], [41796, 1], [41795, 1], [41794, 1], [41793, 1], [41792, 1], [41791, 1], [41790, 1], [41789, 1], [41788, 1], [41787, 1], [41786, 1], [41785, 1], [41784, 1], [41783, 1], [41782, 1], [41781, 1], [41780, 1], [41779, 1], [41778, 1], [41777, 1], [41776, 1], [41775, 1], [41774, 1], [41773, 1], [41772, 1], [41771, 1], [41770, 1], [41769, 1], [41768, 1], [41767, 1], [41766, 1], [41765, 1], [41764, 1], [41763, 1], [41762, 1], [41761, 1], [41760, 1], [41759, 1], [41758, 1], [41757, 1], [41756, 1], [41755, 1], [41754, 1], [41753, 1], [41752, 1], [41751, 1], [41750, 1], [41749, 1], [41748, 1], [41747, 1], [41746, 1], [41745, 1], [41744, 1], [41743, 1], [41742, 1], [41741, 1], [41740, 1], [41739, 1], [41738, 1], [41737, 1], [41736, 1], [41735, 1], [41734, 1], [41733, 1], [41732, 1], [41731, 1], [41730, 1], [41729, 1], [41728, 1], [41727, 1], [41726, 1], [41725, 1], [41724, 1], [41723, 1], [41722, 1], [41721, 1], [41720, 1], [41719, 1], [41718, 1], [41717, 1], [41716, 1], [41715, 1], [41714, 1], [41713, 1], [41712, 1], [41711, 1], [41710, 1], [41709, 1], [41708, 1], [41707, 1], [41706, 1], [41705, 1], [41704, 1], [41703, 1], [41702, 1], [41701, 1], [41700, 1], [41699, 1], [41698, 1], [41697, 1], [41696, 1], [41695, 1], [41694, 1], [41693, 1], [41692, 1], [41691, 1], [41690, 1], [41689, 1], [41688, 1], [41687, 1], [41686, 1], [41685, 1], [41684, 1], [41683, 1], [41682, 1], [41681, 1], [41680, 1], [41679, 1], [41678, 1], [41677, 1], [41676, 1], [41675, 1], [41674, 1], [41673, 1], [41672, 1], [41671, 1], [41670, 1], [41669, 1], [41668, 1], [41667, 1], [41666, 1], [41665, 1], [41664, 1], [41663, 1], [41662, 1], [41661, 1], [41660, 1], [41659, 1], [41658, 1], [41657, 1], [41656, 1], [41655, 1], [41654, 1], [41653, 1], [41652, 1], [41651, 1], [41650, 1], [41649, 1], [41648, 1], [41647, 1], [41646, 1], [41645, 1], [41644, 1], [41643, 1], [41642, 1], [41641, 1], [41640, 1], [41639, 1], [41638, 1], [41637, 1], [41636, 1], [41635, 1], [41634, 1], [41633, 1], [41632, 1], [41631, 1], [41630, 1], [41629, 1], [41628, 1], [41627, 1], [41626, 1], [41625, 1], [41624, 1], [41623, 1], [41622, 1], [41621, 1], [41620, 1], [41619, 1], [41618, 1], [41617, 1], [41616, 1], [41615, 1], [41614, 1], [41613, 1], [41612, 1], [41611, 1], [41610, 1], [41609, 1], [41608, 1], [41607, 1], [41606, 1], [41605, 1], [41604, 1], [41603, 1], [41602, 1], [41601, 1], [41600, 1], [41599, 1], [41598, 1], [41597, 1], [41596, 1], [41595, 1], [41594, 1], [41593, 1], [41592, 1], [41591, 1], [41590, 1], [41589, 1], [41588, 1], [41587, 1], [41586, 1], [41585, 1], [41584, 1], [41583, 1], [41582, 1], [41581, 1], [41580, 1], [41579, 1], [41578, 1], [41577, 1], [41576, 1], [41575, 1], [41574, 1], [41573, 1], [41572, 1], [41571, 1], [41570, 1], [41569, 1], [41568, 1], [41567, 1], [41566, 1], [41565, 1], [41564, 1], [41563, 1], [41562, 1], [41561, 1], [41560, 1], [41559, 1], [41558, 1], [41557, 1], [41556, 1], [41555, 1], [41554, 1], [41553, 1], [41552, 1], [41551, 1], [41550, 1], [41549, 1], [41548, 1], [41547, 1], [41546, 1], [41545, 1], [41544, 1], [41543, 1], [41542, 1], [41541, 1], [41540, 1], [41539, 1], [41538, 1], [41537, 1], [41536, 1], [41535, 1], [41534, 1], [41533, 1], [41532, 1], [41531, 1], [41530, 1], [41529, 1], [41528, 1], [41527, 1], [41526, 1], [41525, 1], [41524, 1], [41523, 1], [41522, 1], [41521, 1], [41520, 1], [41519, 1], [41518, 1], [41517, 1], [41516, 1], [41515, 1], [41514, 1], [41513, 1], [41512, 1], [41511, 1], [41510, 1], [41509, 1], [41508, 1], [41507, 1], [41506, 1], [41505, 1], [41504, 1], [41503, 1], [41502, 1], [41501, 1], [41500, 1], [41499, 1], [41498, 1], [41497, 1], [41496, 1], [41495, 1], [41494, 1], [41493, 1], [41492, 1], [41491, 1], [41490, 1], [41489, 1], [41488, 1], [41487, 1], [41486, 1], [41485, 1], [41484, 1], [41483, 1], [41482, 1], [41481, 1], [41480, 1], [41479, 1], [41478, 1], [41477, 1], [41476, 1], [41475, 1], [41474, 1], [41473, 1], [41472, 1], [41471, 1], [41470, 1], [41469, 1], [41468, 1], [41467, 1], [41466, 1], [41465, 1], [41464, 1], [41463, 1], [41462, 1], [41461, 1], [41460, 1], [41459, 1], [41458, 1], [41457, 1], [41456, 1], [41455, 1], [41454, 1], [41453, 1], [41452, 1], [41451, 1], [41450, 1], [41449, 1], [41448, 1], [41447, 1], [41446, 1], [41445, 1], [41444, 1], [41443, 1], [41442, 1], [41441, 1], [41440, 1], [41439, 1], [41438, 1], [41437, 1], [41436, 1], [41435, 1], [41434, 1], [41433, 1], [41432, 1], [41431, 1], [41430, 1], [41429, 1], [41428, 1], [41427, 1], [41426, 1], [41425, 1], [41424, 1], [41423, 1], [41422, 1], [41421, 1], [41420, 1], [41419, 1], [41418, 1], [41417, 1], [41416, 1], [41415, 1], [41414, 1], [41413, 1], [41412, 1], [41411, 1], [41410, 1], [41409, 1], [41408, 1], [41407, 1], [41406, 1], [41405, 1], [41404, 1], [41403, 1], [41402, 1], [41401, 1], [41400, 1], [41399, 1], [41398, 1], [41397, 1], [41396, 1], [41395, 1], [41394, 1], [41393, 1], [41392, 1], [41391, 1], [41390, 1], [41389, 1], [41388, 1], [41387, 1], [41386, 1], [41385, 1], [41384, 1], [41383, 1], [41382, 1], [41381, 1], [41380, 1], [41379, 1], [41378, 1], [41377, 1], [41376, 1], [41375, 1], [41374, 1], [41373, 1], [41372, 1], [41371, 1], [41370, 1], [41369, 1], [41368, 1], [41367, 1], [41366, 1], [41365, 1], [41364, 1], [41363, 1], [41362, 1], [41361, 1], [41360, 1], [41359, 1], [41358, 1], [41357, 1], [41356, 1], [41355, 1], [41354, 1], [41353, 1], [41352, 1], [41351, 1], [41350, 1], [41349, 1], [41348, 1], [41347, 1], [41346, 1], [41345, 1], [41344, 1], [41343, 1], [41342, 1], [41341, 1], [41340, 1], [41339, 1], [41338, 1], [41337, 1], [41336, 1], [41335, 1], [41334, 1], [41333, 1], [41332, 1], [41331, 1], [41330, 1], [41329, 1], [41328, 1], [41327, 1], [41326, 1], [41325, 1], [41324, 1], [41323, 1], [41322, 1], [41321, 1], [41320, 1], [41319, 1], [41318, 1], [41317, 1], [41316, 1], [41315, 1], [41314, 1], [41313, 1], [41312, 1], [41311, 1], [41310, 1], [41309, 1], [41308, 1], [41307, 1], [41306, 1], [41305, 1], [41304, 1], [41303, 1], [41302, 1], [41301, 1], [41300, 1], [41299, 1], [41298, 1], [41297, 1], [41296, 1], [41295, 1], [41294, 1], [41293, 1], [41292, 1], [41291, 1], [41290, 1], [41289, 1], [41288, 1], [41287, 1], [41286, 1], [41285, 1], [41284, 1], [41283, 1], [41282, 1], [41281, 1], [41280, 1], [41279, 1], [41278, 1], [41277, 1], [41276, 1], [41275, 1], [41274, 1], [41273, 1], [41272, 1], [41271, 1], [41270, 1], [41269, 1], [41268, 1], [41267, 1], [41266, 1], [41265, 1], [41264, 1], [41263, 1], [41262, 1], [41261, 1], [41260, 1], [41259, 1], [41258, 1], [41257, 1], [41256, 1], [41255, 1], [41254, 1], [41253, 1], [41252, 1], [41251, 1], [41250, 1], [41249, 1], [41248, 1], [41247, 1], [41246, 1], [41245, 1], [41244, 1], [41243, 1], [41242, 1], [41241, 1], [41240, 1], [41239, 1], [41238, 1], [41237, 1], [41236, 1], [41235, 1], [41234, 1], [41233, 1], [41232, 1], [41231, 1], [41230, 1], [41229, 1], [41228, 1], [41227, 1], [41226, 1], [41225, 1], [41224, 1], [41223, 1], [41222, 1], [41221, 1], [41220, 1], [41219, 1], [41218, 1], [41217, 1], [41216, 1], [41215, 1], [41214, 1], [41213, 1], [41212, 1], [41211, 1], [41210, 1], [41209, 1], [41208, 1], [41207, 1], [41206, 1], [41205, 1], [41204, 1], [41203, 1], [41202, 1], [41201, 1], [41200, 1], [41199, 1], [41198, 1], [41197, 1], [41196, 1], [41195, 1], [41194, 1], [41193, 1], [41192, 1], [41191, 1], [41190, 1], [41189, 1], [41188, 1], [41187, 1], [41186, 1], [41185, 1], [41184, 1], [41183, 1], [41182, 1], [41181, 1], [41180, 1], [41179, 1], [41178, 1], [41177, 1], [41176, 1], [41175, 1], [41174, 1], [41173, 1], [41172, 1], [41171, 1], [41170, 1], [41169, 1], [41168, 1], [41167, 1], [41166, 1], [41165, 1], [41164, 1], [41163, 1], [41162, 1], [41161, 1], [41160, 1], [41159, 1], [41158, 1], [41157, 1], [41156, 1], [41155, 1], [41154, 1], [41153, 1], [41152, 1], [41151, 1], [41150, 1], [41149, 1], [41148, 1], [41147, 1], [41146, 1], [41145, 1], [41144, 1], [41143, 1], [41142, 1], [41141, 1], [41140, 1], [41139, 1], [41138, 1], [41137, 1], [41136, 1], [41135, 1], [41134, 1], [41133, 1], [41132, 1], [41131, 1], [41130, 1], [41129, 1], [41128, 1], [41127, 1], [41126, 1], [41125, 1], [41124, 1], [41123, 1], [41122, 1], [41121, 1], [41120, 1], [41119, 1], [41118, 1], [41117, 1], [41116, 1], [41115, 1], [41114, 1], [41113, 1], [41112, 1], [41111, 1], [41110, 1], [41109, 1], [41108, 1], [41107, 1], [41106, 1], [41105, 1], [41104, 1], [41103, 1], [41102, 1], [41101, 1], [41100, 1], [41099, 1], [41098, 1], [41097, 1], [41096, 1], [41095, 1], [41094, 1], [41093, 1], [41092, 1], [41091, 1], [41090, 1], [41089, 1], [41088, 1], [41087, 1], [41086, 1], [41085, 1], [41084, 1], [41083, 1], [41082, 1], [41081, 1], [41080, 1], [41079, 1], [41078, 1], [41077, 1], [41076, 1], [41075, 1], [41074, 1], [41073, 1], [41072, 1], [41071, 1], [41070, 1], [41069, 1], [41068, 1], [41067, 1], [41066, 1], [41065, 1], [41064, 1], [41063, 1], [41062, 1], [41061, 1], [41060, 1], [41059, 1], [41058, 1], [41057, 1], [41056, 1], [41055, 1], [41054, 1], [41053, 1], [41052, 1], [41051, 1], [41050, 1], [41049, 1], [41048, 1], [41047, 1], [41046, 1], [41045, 1], [41044, 1], [41043, 1], [41042, 1], [41041, 1], [41040, 1], [41039, 1], [41038, 1], [41037, 1], [41036, 1], [41035, 1], [41034, 1], [41033, 1], [41032, 1], [41031, 1], [41030, 1], [41029, 1], [41028, 1], [41027, 1], [41026, 1], [41025, 1], [41024, 1], [41023, 1], [41022, 1], [41021, 1], [41020, 1], [41019, 1], [41018, 1], [41017, 1], [41016, 1], [41015, 1], [41014, 1], [41013, 1], [41012, 1], [41011, 1], [41010, 1], [41009, 1], [41008, 1], [41007, 1], [41006, 1], [41005, 1], [41004, 1], [41003, 1], [41002, 1], [41001, 1], [41000, 1], [40999, 1], [40998, 1], [40997, 1], [40996, 1], [40995, 1], [40994, 1], [40993, 1], [40992, 1], [40991, 1], [40990, 1], [40989, 1], [40988, 1], [40987, 1], [40986, 1], [40985, 1], [40984, 1], [40983, 1], [40982, 1], [40981, 1], [40980, 1], [40979, 1], [40978, 1], [40977, 1], [40976, 1], [40975, 1], [40974, 1], [40973, 1], [40972, 1], [40971, 1], [40970, 1], [40969, 1], [40968, 1], [40967, 1], [40966, 1], [40965, 1], [40964, 1], [40963, 1], [40962, 1], [40961, 1], [40960, 1], [40959, 1], [40958, 1], [40957, 1], [40956, 1], [40955, 1], [40954, 1], [40953, 1], [40952, 1], [40951, 1], [40950, 1], [40949, 1], [40948, 1], [40947, 1], [40946, 1], [40945, 1], [40944, 1], [40943, 1], [40942, 1], [40941, 1], [40940, 1], [40939, 1], [40938, 1], [40937, 1], [40936, 1], [40935, 1], [40934, 1], [40933, 1], [40932, 1], [40931, 1], [40930, 1], [40929, 1], [40928, 1], [40927, 1], [40926, 1], [40925, 1], [40924, 1], [40923, 1], [40922, 1], [40921, 1], [40920, 1], [40919, 1], [40918, 1], [40917, 1], [40916, 1], [40915, 1], [40914, 1], [40913, 1], [40912, 1], [40911, 1], [40910, 1], [40909, 1], [40908, 1], [40907, 1], [40906, 1], [40905, 1], [40904, 1], [40903, 1], [40902, 1], [40901, 1], [40900, 1], [40899, 1], [40898, 1], [40897, 1], [40896, 1], [40895, 1], [40894, 1], [40893, 1], [40892, 1], [40891, 1], [40890, 1], [40889, 1], [40888, 1], [40887, 1], [40886, 1], [40885, 1], [40884, 1], [40883, 1], [40882, 1], [40881, 1], [40880, 1], [40879, 1], [40878, 1], [40877, 1], [40876, 1], [40875, 1], [40874, 1], [40873, 1], [40872, 1], [40871, 1], [40870, 1], [40869, 1], [40868, 1], [40867, 1], [40866, 1], [40865, 1], [40864, 1], [40863, 1], [40862, 1], [40861, 1], [40860, 1], [40859, 1], [40858, 1], [40857, 1], [40856, 1], [40855, 1], [40854, 1], [40853, 1], [40852, 1], [40851, 1], [40850, 1], [40849, 1], [40848, 1], [40847, 1], [40846, 1], [40845, 1], [40844, 1], [40843, 1], [40842, 1], [40841, 1], [40840, 1], [40839, 1], [40838, 1], [40837, 1], [40836, 1], [40835, 1], [40834, 1], [40833, 1], [40832, 1], [40831, 1], [40830, 1], [40829, 1], [40828, 1], [40827, 1], [40826, 1], [40825, 1], [40824, 1], [40823, 1], [40822, 1], [40821, 1], [40820, 1], [40819, 1], [40818, 1], [40817, 1], [40816, 1], [40815, 1], [40814, 1], [40813, 1], [40812, 1], [40811, 1], [40810, 1], [40809, 1], [40808, 1], [40807, 1], [40806, 1], [40805, 1], [40804, 1], [40803, 1], [40802, 1], [40801, 1], [40800, 1], [40799, 1], [40798, 1], [40797, 1], [40796, 1], [40795, 1], [40794, 1], [40793, 1], [40792, 1], [40791, 1], [40790, 1], [40789, 1], [40788, 1], [40787, 1], [40786, 1], [40785, 1], [40784, 1], [40783, 1], [40782, 1], [40781, 1], [40780, 1], [40779, 1], [40778, 1], [40777, 1], [40776, 1], [40775, 1], [40774, 1], [40773, 1], [40772, 1], [40771, 1], [40770, 1], [40769, 1], [40768, 1], [40767, 1], [40766, 1], [40765, 1], [40764, 1], [40763, 1], [40762, 1], [40761, 1], [40760, 1], [40759, 1], [40758, 1], [40757, 1], [40756, 1], [40755, 1], [40754, 1], [40753, 1], [40752, 1], [40751, 1], [40750, 1], [40749, 1], [40748, 1], [40747, 1], [40746, 1], [40745, 1], [40744, 1], [40743, 1], [40742, 1], [40741, 1], [40740, 1], [40739, 1], [40738, 1], [40737, 1], [40736, 1], [40735, 1], [40734, 1], [40733, 1], [40732, 1], [40731, 1], [40730, 1], [40729, 1], [40728, 1], [40727, 1], [40726, 1], [40725, 1], [40724, 1], [40723, 1], [40722, 1], [40721, 1], [40720, 1], [40719, 1], [40718, 1], [40717, 1], [40716, 1], [40715, 1], [40714, 1], [40713, 1], [40712, 1], [40711, 1], [40710, 1], [40709, 1], [40708, 1], [40707, 1], [40706, 1], [40705, 1], [40704, 1], [40703, 1], [40702, 1], [40701, 1], [40700, 1], [40699, 1], [40698, 1], [40697, 1], [40696, 1], [40695, 1], [40694, 1], [40693, 1], [40692, 1], [40691, 1], [40690, 1], [40689, 1], [40688, 1], [40687, 1], [40686, 1], [40685, 1], [40684, 1], [40683, 1], [40682, 1], [40681, 1], [40680, 1], [40679, 1], [40678, 1], [40677, 1], [40676, 1], [40675, 1], [40674, 1], [40673, 1], [40672, 1], [40671, 1], [40670, 1], [40669, 1], [40668, 1], [40667, 1], [40666, 1], [40665, 1], [40664, 1], [40663, 1], [40662, 1], [40661, 1], [40660, 1], [40659, 1], [40658, 1], [40657, 1], [40656, 1], [40655, 1], [40654, 1], [40653, 1], [40652, 1], [40651, 1], [40650, 1], [40649, 1], [40648, 1], [40647, 1], [40646, 1], [40645, 1], [40644, 1], [40643, 1], [40642, 1], [40641, 1], [40640, 1], [40639, 1], [40638, 1], [40637, 1], [40636, 1], [40635, 1], [40634, 1], [40633, 1], [40632, 1], [40631, 1], [40630, 1], [40629, 1], [40628, 1], [40627, 1], [40626, 1], [40625, 1], [40624, 1], [40623, 1], [40622, 1], [40621, 1], [40620, 1], [40619, 1], [40618, 1], [40617, 1], [40616, 1], [40615, 1], [40614, 1], [40613, 1], [40612, 1], [40611, 1], [40610, 1], [40609, 1], [40608, 1], [40607, 1], [40606, 1], [40605, 1], [40604, 1], [40603, 1], [40602, 1], [40601, 1], [40600, 1], [40599, 1], [40598, 1], [40597, 1], [40596, 1], [40595, 1], [40594, 1], [40593, 1], [40592, 1], [40591, 1], [40590, 1], [40589, 1], [40588, 1], [40587, 1], [40586, 1], [40585, 1], [40584, 1], [40583, 1], [40582, 1], [40581, 1], [40580, 1], [40579, 1], [40578, 1], [40577, 1], [40576, 1], [40575, 1], [40574, 1], [40573, 1], [40572, 1], [40571, 1], [40570, 1], [40569, 1], [40568, 1], [40567, 1], [40566, 1], [40565, 1], [40564, 1], [40563, 1], [40562, 1], [40561, 1], [40560, 1], [40559, 1], [40558, 1], [40557, 1], [40556, 1], [40555, 1], [40554, 1], [40553, 1], [40552, 1], [40551, 1], [40550, 1], [40549, 1], [40548, 1], [40547, 1], [40546, 1], [40545, 1], [40544, 1], [40543, 1], [40542, 1], [40541, 1], [40540, 1], [40539, 1], [40538, 1], [40537, 1], [40536, 1], [40535, 1], [40534, 1], [40533, 1], [40532, 1], [40531, 1], [40530, 1], [40529, 1], [40528, 1], [40527, 1], [40526, 1], [40525, 1], [40524, 1], [40523, 1], [40522, 1], [40521, 1], [40520, 1], [40519, 1], [40518, 1], [40517, 1], [40516, 1], [40515, 1], [40514, 1], [40513, 1], [40512, 1], [40511, 1], [40510, 1], [40509, 1], [40508, 1], [40507, 1], [40506, 1], [40505, 1], [40504, 1], [40503, 1], [40502, 1], [40501, 1], [40500, 1], [40499, 1], [40498, 1], [40497, 1], [40496, 1], [40495, 1], [40494, 1], [40493, 1], [40492, 1], [40491, 1], [40490, 1], [40489, 1], [40488, 1], [40487, 1], [40486, 1], [40485, 1], [40484, 1], [40483, 1], [40482, 1], [40481, 1], [40480, 1], [40479, 1], [40478, 1], [40477, 1], [40476, 1], [40475, 1], [40474, 1], [40473, 1], [40472, 1], [40471, 1], [40470, 1], [40469, 1], [40468, 1], [40467, 1], [40466, 1], [40465, 1], [40464, 1], [40463, 1], [40462, 1], [40461, 1], [40460, 1], [40459, 1], [40458, 1], [40457, 1], [40456, 1], [40455, 1], [40454, 1], [40453, 1], [40452, 1], [40451, 1], [40450, 1], [40449, 1], [40448, 1], [40447, 1], [40446, 1], [40445, 1], [40444, 1], [40443, 1], [40442, 1], [40441, 1], [40440, 1], [40439, 1], [40438, 1], [40437, 1], [40436, 1], [40435, 1], [40434, 1], [40433, 1], [40432, 1], [40431, 1], [40430, 1], [40429, 1], [40428, 1], [40427, 1], [40426, 1], [40425, 1], [40424, 1], [40423, 1], [40422, 1], [40421, 1], [40420, 1], [40419, 1], [40418, 1], [40417, 1], [40416, 1], [40415, 1], [45818, 0, "\n"], [45819, 0, "\n"], [45820, 0, "\\"], [45821, 0, "s"], [45822, 0, "e"], [45823, 0, "c"], [45824, 0, "t"], [45825, 0, "i"], [45826, 0, "o"], [45827, 0, "n"], [45828, 0, "{"], [45829, 0, "F"], [45830, 0, "o"], [45831, 0, "r"], [45832, 0, "m"], [45833, 0, "a"], [45834, 0, "l"], [45835, 0, " "], [45836, 0, "s"], [45837, 0, "e"], [45838, 0, "m"], [45839, 0, "a"], [45840, 0, "n"], [45841, 0, "t"], [45842, 0, "i"], [45843, 0, "c"], [45844, 0, "s"], [45845, 0, "}"], [45846, 0, "\\"], [45847, 0, "l"], [45848, 0, "a"], [45849, 0, "b"], [45850, 0, "e"], [45851, 0, "l"], [45852, 0, "{"], [45853, 0, "s"], [45854, 0, "e"], [45855, 0, "c"], [45856, 0, ":"], [45857, 0, "s"], [45858, 0, "e"], [45859, 0, "m"], [45860, 0, "a"], [45861, 0, "n"], [45862, 0, "t"], [45863, 0, "i"], [45864, 0, "c"], [45865, 0, "s"], [45866, 0, "}"], [45836, 1], [45836, 0, "S"], [5276, 1], [5276, 0, "D"], [5281, 1], [5281, 0, "M"], [6964, 1], [6964, 0, "C"], [6973, 1], [6973, 0, "R"], [8789, 1], [8789, 0, "C"], [10189, 1], [10189, 0, "W"], [10361, 1], [10361, 0, "T"], [15659, 1], [15659, 0, " "], [15660, 1], [15660, 0, "A"], [17446, 1], [17446, 0, "D"], [17451, 1], [17451, 0, "S"], [17763, 1], [17763, 0, "E"], [17771, 1], [17771, 0, "E"], [33575, 1], [33575, 0, "V"], [35042, 1], [35042, 0, "E"], [47234, 1], [47234, 0, "E"], [51434, 1], [51434, 0, "O"], [51993, 1], [51993, 0, "T"], [53963, 1], [53963, 0, "S"], [55789, 1], [55789, 0, "G"], [55800, 1], [55800, 0, "O"], [61177, 0, "o"], [61177, 1], [61177, 1], [61177, 0, "O"], [69734, 1], [69734, 0, "P"], [69740, 1], [69740, 0, "S"], [80585, 1], [80585, 0, "F"], [80593, 1], [80593, 0, "W"], [84376, 1], [84376, 0, "C"], [47208, 1], [47207, 1], [47206, 1], [47205, 1], [47204, 1], [47203, 1], [47202, 1], [47201, 1], [47200, 1], [47199, 1], [47198, 1], [47197, 1], [47196, 1], [47195, 1], [47194, 1], [47193, 1], [47192, 1], [47191, 1], [47190, 1], [47189, 1], [47188, 1], [47187, 1], [47186, 1], [47185, 1], [47184, 1], [47183, 1], [47182, 1], [47181, 1], [47180, 1], [47179, 1], [47178, 1], [47177, 1], [47176, 1], [47175, 1], [47174, 1], [47173, 1], [47172, 1], [47171, 1], [47170, 1], [47169, 1], [47168, 1], [47167, 1], [47166, 1], [47165, 1], [47164, 1], [47163, 1], [47162, 1], [47161, 1], [47160, 1], [47159, 1], [47158, 1], [47157, 1], [47156, 1], [47155, 1], [47154, 1], [47153, 1], [47152, 1], [47151, 1], [47150, 1], [47149, 1], [47148, 1], [47147, 1], [47146, 1], [47145, 1], [47144, 1], [47143, 1], [47142, 1], [47141, 1], [47140, 1], [47139, 1], [47138, 1], [47137, 1], [47136, 1], [47135, 1], [47134, 1], [47133, 1], [47132, 1], [47131, 1], [47130, 1], [47129, 1], [47128, 1], [47127, 1], [47126, 1], [47125, 1], [47124, 1], [47123, 1], [47122, 1], [47121, 1], [47120, 1], [47119, 1], [47118, 1], [47117, 1], [47116, 1], [47115, 1], [47114, 1], [47113, 1], [47112, 1], [47111, 1], [47110, 1], [47109, 1], [47108, 1], [47107, 1], [47106, 1], [47105, 1], [47104, 1], [47103, 1], [47102, 1], [47101, 1], [47100, 1], [47099, 1], [47098, 1], [47097, 1], [47096, 1], [47095, 1], [47094, 1], [47093, 1], [47092, 1], [47091, 1], [47090, 1], [47089, 1], [47088, 1], [47087, 1], [47086, 1], [47085, 1], [47084, 1], [47083, 1], [47082, 1], [47081, 1], [47080, 1], [47079, 1], [47078, 1], [47077, 1], [47076, 1], [47075, 1], [47074, 1], [47073, 1], [47072, 1], [47071, 1], [47070, 1], [47069, 1], [47068, 1], [47067, 1], [47066, 1], [47065, 1], [47064, 1], [47063, 1], [47062, 1], [47061, 1], [47060, 1], [47059, 1], [47058, 1], [47057, 1], [47056, 1], [47055, 1], [47054, 1], [47053, 1], [47052, 1], [47051, 1], [47050, 1], [47049, 1], [47048, 1], [47047, 1], [47046, 1], [47045, 1], [47044, 1], [47043, 1], [47042, 1], [47041, 1], [47040, 1], [47039, 1], [47038, 1], [47037, 1], [47036, 1], [47035, 1], [47034, 1], [47033, 1], [47032, 1], [47031, 1], [47030, 1], [47029, 1], [47028, 1], [47027, 1], [47026, 1], [47025, 1], [47024, 1], [47023, 1], [47022, 1], [47021, 1], [47020, 1], [47019, 1], [47018, 1], [47017, 1], [47016, 1], [47015, 1], [47014, 1], [47013, 1], [47012, 1], [47011, 1], [47010, 1], [47009, 1], [47008, 1], [47007, 1], [47006, 1], [47005, 1], [47004, 1], [47003, 1], [47002, 1], [47001, 1], [47000, 1], [46999, 1], [46998, 1], [46997, 1], [46996, 1], [46995, 1], [46994, 1], [46993, 1], [46992, 1], [46991, 1], [46990, 1], [46989, 1], [46988, 1], [46987, 1], [46986, 1], [46985, 1], [46984, 1], [46983, 1], [46982, 1], [46981, 1], [46980, 1], [46979, 1], [46978, 1], [46977, 1], [46976, 1], [46975, 1], [46974, 1], [46973, 1], [46972, 1], [46971, 1], [46970, 1], [46969, 1], [46968, 1], [46967, 1], [46966, 1], [46965, 1], [46964, 1], [46963, 1], [46962, 1], [46961, 1], [46960, 1], [46959, 1], [46958, 1], [46957, 1], [46956, 1], [46955, 1], [46954, 1], [46953, 1], [46952, 1], [46951, 1], [46950, 1], [46949, 1], [46948, 1], [46947, 1], [46946, 1], [46945, 1], [46944, 1], [46943, 1], [46942, 1], [46941, 1], [46940, 1], [46939, 1], [46938, 1], [46937, 1], [46936, 1], [46935, 1], [46934, 1], [46933, 1], [46932, 1], [46931, 1], [46930, 1], [46929, 1], [46928, 1], [46927, 1], [46926, 1], [46925, 1], [46924, 1], [46923, 1], [46922, 1], [46921, 1], [46920, 1], [46919, 1], [46918, 1], [46917, 1], [46916, 1], [46915, 1], [46914, 1], [46913, 1], [46912, 1], [46911, 1], [46910, 1], [46909, 1], [46908, 1], [46907, 1], [46906, 1], [46905, 1], [46904, 1], [46903, 1], [46902, 1], [46901, 1], [46900, 1], [46899, 1], [46898, 1], [46897, 1], [46896, 1], [46895, 1], [46894, 1], [46893, 1], [46892, 1], [46891, 1], [46890, 1], [46889, 1], [46888, 1], [46887, 1], [46886, 1], [46885, 1], [46884, 1], [46883, 1], [46882, 1], [46881, 1], [46880, 1], [46879, 1], [46878, 1], [46877, 1], [46876, 1], [46875, 1], [46874, 1], [46873, 1], [46872, 1], [46871, 1], [46870, 1], [46869, 1], [46868, 1], [46867, 1], [46866, 1], [46865, 1], [46864, 1], [46863, 1], [46862, 1], [46861, 1], [46860, 1], [46859, 1], [46858, 1], [46857, 1], [46856, 1], [46855, 1], [46854, 1], [46853, 1], [46852, 1], [46851, 1], [46850, 1], [46849, 1], [46848, 1], [46847, 1], [46846, 1], [46845, 1], [46844, 1], [46843, 1], [46842, 1], [46841, 1], [46840, 1], [46839, 1], [46838, 1], [46837, 1], [46836, 1], [46835, 1], [46834, 1], [46833, 1], [46832, 1], [46831, 1], [46830, 1], [46829, 1], [46828, 1], [46827, 1], [46826, 1], [46825, 1], [46824, 1], [46823, 1], [46822, 1], [46821, 1], [46820, 1], [46819, 1], [46818, 1], [46817, 1], [46816, 1], [46815, 1], [46814, 1], [46813, 1], [46812, 1], [46811, 1], [46810, 1], [46809, 1], [46808, 1], [46807, 1], [46806, 1], [46805, 1], [46804, 1], [46803, 1], [46802, 1], [46801, 1], [46800, 1], [46799, 1], [46798, 1], [46797, 1], [46796, 1], [46795, 1], [46794, 1], [46793, 1], [46792, 1], [46791, 1], [46790, 1], [46789, 1], [46788, 1], [46787, 1], [46786, 1], [46785, 1], [46784, 1], [46783, 1], [46782, 1], [46781, 1], [46780, 1], [46779, 1], [46778, 1], [46777, 1], [46776, 1], [46775, 1], [46774, 1], [46773, 1], [46772, 1], [46771, 1], [46770, 1], [46769, 1], [46768, 1], [46767, 1], [46766, 1], [46765, 1], [46764, 1], [46763, 1], [46762, 1], [46761, 1], [46760, 1], [46759, 1], [46758, 1], [46757, 1], [46756, 1], [46755, 1], [46754, 1], [46753, 1], [46752, 1], [46751, 1], [46750, 1], [46749, 1], [46748, 1], [46747, 1], [46746, 1], [46745, 1], [46744, 1], [46743, 1], [46742, 1], [46741, 1], [46740, 1], [46739, 1], [46738, 1], [46737, 1], [46736, 1], [46735, 1], [46734, 1], [46733, 1], [46732, 1], [46731, 1], [46730, 1], [46729, 1], [46728, 1], [46727, 1], [46726, 1], [46725, 1], [46724, 1], [46723, 1], [46722, 1], [46721, 1], [46720, 1], [46719, 1], [46718, 1], [46717, 1], [46716, 1], [46715, 1], [46714, 1], [46713, 1], [46712, 1], [46711, 1], [46710, 1], [46709, 1], [46708, 1], [46707, 1], [46706, 1], [46705, 1], [46704, 1], [46703, 1], [46702, 1], [46701, 1], [46700, 1], [46699, 1], [46698, 1], [46697, 1], [46696, 1], [46695, 1], [46694, 1], [46693, 1], [46692, 1], [46691, 1], [46690, 1], [46689, 1], [46688, 1], [46687, 1], [46686, 1], [46685, 1], [46684, 1], [46683, 1], [46682, 1], [46681, 1], [46680, 1], [46679, 1], [46678, 1], [46677, 1], [46676, 1], [46675, 1], [46674, 1], [46673, 1], [46672, 1], [46671, 1], [46670, 1], [46669, 1], [46668, 1], [46667, 1], [46666, 1], [46665, 1], [46664, 1], [46663, 1], [46662, 1], [46661, 1], [46660, 1], [46659, 1], [46658, 1], [46657, 1], [46656, 1], [46655, 1], [46654, 1], [46653, 1], [46652, 1], [46651, 1], [46650, 1], [46649, 1], [46648, 1], [46647, 1], [46646, 1], [46645, 1], [46644, 1], [46643, 1], [46642, 1], [46641, 1], [46640, 1], [46639, 1], [46638, 1], [46637, 1], [46636, 1], [46635, 1], [46634, 1], [46633, 1], [46632, 1], [46631, 1], [46630, 1], [46629, 1], [46628, 1], [46627, 1], [46626, 1], [46625, 1], [46624, 1], [46623, 1], [46622, 1], [46621, 1], [46620, 1], [46619, 1], [46618, 1], [46617, 1], [46616, 1], [46615, 1], [46614, 1], [46613, 1], [46612, 1], [46611, 1], [46610, 1], [46609, 1], [46608, 1], [46607, 1], [46606, 1], [46605, 1], [46604, 1], [46603, 1], [46602, 1], [46601, 1], [46600, 1], [46599, 1], [46598, 1], [46597, 1], [46596, 1], [46595, 1], [46594, 1], [46593, 1], [46592, 1], [46591, 1], [46590, 1], [46589, 1], [46588, 1], [46587, 1], [46586, 1], [46585, 1], [46584, 1], [46583, 1], [46582, 1], [46581, 1], [46580, 1], [46579, 1], [46578, 1], [46577, 1], [46576, 1], [46575, 1], [46574, 1], [46573, 1], [46572, 1], [46571, 1], [46570, 1], [46569, 1], [46568, 1], [46567, 1], [46566, 1], [46565, 1], [46564, 1], [46563, 1], [46562, 1], [46561, 1], [46560, 1], [46559, 1], [46558, 1], [46557, 1], [46556, 1], [46555, 1], [46554, 1], [46553, 1], [46552, 1], [46551, 1], [46550, 1], [46549, 1], [46548, 1], [46547, 1], [46546, 1], [46545, 1], [46544, 1], [46543, 1], [46542, 1], [46541, 1], [46540, 1], [46539, 1], [46538, 1], [46537, 1], [46536, 1], [46535, 1], [46534, 1], [46533, 1], [46532, 1], [46531, 1], [46530, 1], [46529, 1], [46528, 1], [46527, 1], [46526, 1], [46525, 1], [46524, 1], [46523, 1], [46522, 1], [46521, 1], [46520, 1], [46519, 1], [46518, 1], [46517, 1], [46516, 1], [46515, 1], [46514, 1], [46513, 1], [46512, 1], [46511, 1], [46510, 1], [46509, 1], [46508, 1], [46507, 1], [46506, 1], [46505, 1], [46504, 1], [46503, 1], [46502, 1], [46501, 1], [46500, 1], [46499, 1], [46498, 1], [46497, 1], [46496, 1], [46495, 1], [46494, 1], [46493, 1], [46492, 1], [46491, 1], [46490, 1], [46489, 1], [46488, 1], [46487, 1], [46486, 1], [46485, 1], [46484, 1], [46483, 1], [46482, 1], [46481, 1], [46480, 1], [46479, 1], [46478, 1], [46477, 1], [46476, 1], [46475, 1], [46474, 1], [46473, 1], [46472, 1], [46471, 1], [46470, 1], [46469, 1], [46468, 1], [46467, 1], [46466, 1], [46465, 1], [46464, 1], [46463, 1], [46462, 1], [46461, 1], [46460, 1], [46459, 1], [46458, 1], [46457, 1], [46456, 1], [46455, 1], [46454, 1], [46453, 1], [46452, 1], [46451, 1], [46450, 1], [46449, 1], [46448, 1], [46447, 1], [46446, 1], [46445, 1], [46444, 1], [46443, 1], [46442, 1], [46441, 1], [46440, 1], [46439, 1], [46438, 1], [46437, 1], [46436, 1], [46435, 1], [46434, 1], [46433, 1], [46432, 1], [46431, 1], [46430, 1], [46429, 1], [46428, 1], [46427, 1], [46426, 1], [46425, 1], [46424, 1], [46423, 1], [46422, 1], [46421, 1], [46420, 1], [46419, 1], [46418, 1], [46417, 1], [46416, 1], [46415, 1], [46414, 1], [46413, 1], [46412, 1], [46411, 1], [47619, 0, " "], [47620, 0, "l"], [47621, 0, "o"], [47622, 0, "c"], [47623, 0, "a"], [47624, 0, "l"], [47625, 0, " "], [47626, 0, "r"], [47627, 0, "e"], [47628, 0, "p"], [47629, 0, "l"], [47630, 0, "i"], [47631, 0, "c"], [47632, 0, "a"], [47633, 0, " "], [47634, 0, "s"], [47635, 0, "t"], [47636, 0, "a"], [47637, 0, "t"], [47638, 0, "e"], [47649, 0, " "], [47650, 0, "$"], [47651, 0, "A"], [47652, 0, "_"], [47653, 0, "p"], [47654, 0, "$"], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [47655, 1], [51491, 1], [51491, 0, "I"], [51498, 0, ","], [51499, 0, " "], [51500, 0, "w"], [51501, 0, "h"], [51502, 0, "e"], [51503, 0, "n"], [51504, 0, "e"], [51505, 0, "v"], [51506, 0, "e"], [51507, 0, "r"], [51508, 0, " "], [51509, 0, "a"], [51510, 0, "n"], [51511, 0, " "], [51512, 0, "e"], [51513, 0, "l"], [51514, 0, "e"], [51515, 0, "m"], [51516, 0, "e"], [51517, 0, "n"], [51518, 0, "t"], [51519, 0, " "], [51520, 0, "i"], [51521, 0, "s"], [51522, 0, " "], [51523, 0, "i"], [51524, 0, "n"], [51525, 0, "s"], [51526, 0, "e"], [51527, 0, "r"], [51528, 0, "t"], [51529, 0, "e"], [51530, 0, "d"], [51531, 0, " "], [51532, 0, "i"], [51533, 0, "n"], [51534, 0, "t"], [51535, 0, "o"], [51536, 0, " "], [51537, 0, "a"], [51538, 0, " "], [51539, 0, "l"], [51540, 0, "i"], [51541, 0, "s"], [51542, 0, "t"], [51543, 0, " "], [51544, 0, "o"], [51545, 0, "r"], [51546, 0, " "], [51547, 0, "a"], [51548, 0, " "], [51549, 0, "v"], [51550, 0, "a"], [51551, 0, "l"], [51552, 0, "u"], [51553, 0, "e"], [51554, 0, " "], [51555, 0, "i"], [51556, 0, "s"], [51557, 0, " "], [51558, 0, "a"], [51559, 0, "s"], [51560, 0, "s"], [51561, 0, "i"], [51562, 0, "g"], [51563, 0, "n"], [51564, 0, "e"], [51565, 0, "d"], [51566, 0, " "], [51567, 0, "t"], [51568, 0, "o"], [51569, 0, " "], [51570, 0, "a"], [51571, 0, " "], [51572, 0, "r"], [51573, 0, "e"], [51574, 0, "g"], [51575, 0, "i"], [51576, 0, "s"], [51577, 0, "t"], [51578, 0, "e"], [51579, 0, "r"], [51580, 0, ","], [51581, 0, " "], [51582, 0, "t"], [51583, 0, "h"], [51584, 0, "e"], [51585, 0, " "], [51586, 0, "o"], [51587, 0, "p"], [51588, 0, "e"], [51589, 0, "r"], [51590, 0, "a"], [51591, 0, "t"], [51592, 0, "i"], [51593, 0, "o"], [51594, 0, "n"], [51595, 0, " "], [51595, 1], [51594, 1], [51593, 1], [51592, 1], [51591, 1], [51590, 1], [51589, 1], [51588, 1], [51587, 1], [51586, 1], [51586, 0, "n"], [51587, 0, "e"], [51588, 0, "w"], [51589, 0, " "], [51590, 0, "l"], [51591, 0, "i"], [51592, 0, "s"], [51593, 0, "t"], [51594, 0, " "], [51595, 0, "e"], [51596, 0, "l"], [51597, 0, "e"], [51598, 0, "m"], [51599, 0, "e"], [51600, 0, "n"], [51601, 0, "t"], [51602, 0, " "], [51603, 0, "o"], [51604, 0, "r"], [51605, 0, " "], [51606, 0, "r"], [51607, 0, "e"], [51608, 0, "g"], [51609, 0, "i"], [51610, 0, "s"], [51611, 0, "t"], [51612, 0, "e"], [51613, 0, "r"], [51614, 0, " "], [51615, 0, "v"], [51616, 0, "a"], [51617, 0, "l"], [51618, 0, "u"], [51619, 0, "e"], [51620, 0, " "], [51621, 0, "i"], [51622, 0, "s"], [51623, 0, " "], [51624, 0, "i"], [51625, 0, "d"], [51626, 0, "e"], [51627, 0, "n"], [51628, 0, "t"], [51629, 0, "i"], [51630, 0, "f"], [51631, 0, "i"], [51632, 0, "e"], [51633, 0, "d"], [51634, 0, " "], [51635, 0, "b"], [51636, 0, "y"], [51637, 0, " "], [51638, 0, "t"], [51639, 0, "h"], [51640, 0, "e"], [51641, 0, " "], [51642, 0, "i"], [51643, 0, "d"], [51644, 0, "e"], [51645, 0, "n"], [51646, 0, "t"], [51647, 0, "i"], [51648, 0, "f"], [51649, 0, "i"], [51650, 0, "e"], [51651, 0, "r"], [51652, 0, " "], [51653, 0, "o"], [51654, 0, "f"], [51655, 0, " "], [51656, 0, "t"], [51657, 0, "h"], [51658, 0, "e"], [51659, 0, " "], [51660, 0, "o"], [51661, 0, "p"], [51662, 0, "e"], [51663, 0, "r"], [51664, 0, "a"], [51665, 0, "t"], [51666, 0, "i"], [51667, 0, "o"], [51668, 0, "n"], [51669, 0, " "], [51670, 0, "t"], [51671, 0, "h"], [51672, 0, "a"], [51673, 0, "t"], [51674, 0, " "], [51675, 0, "c"], [51676, 0, "r"], [51677, 0, "e"], [51678, 0, "a"], [51679, 0, "t"], [51680, 0, "e"], [51681, 0, "d"], [51682, 0, " "], [51683, 0, "i"], [51684, 0, "t"], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51685, 1], [51500, 1], [51500, 0, "W"], [51499, 1], [51498, 1], [51497, 1], [51496, 1], [51495, 1], [51494, 1], [51493, 1], [51492, 1], [51491, 1], [51490, 1], [51489, 1], [51488, 1], [51487, 1], [51486, 1], [51485, 1], [51484, 1], [51483, 1], [51482, 1], [51481, 1], [51480, 1], [51479, 1], [51478, 1], [51477, 1], [51476, 1], [51475, 1], [51474, 1], [51473, 1], [51472, 1], [51471, 1], [51470, 1], [51469, 1], [51468, 1], [51467, 1], [51466, 1], [51465, 1], [51464, 1], [51463, 1], [51462, 1], [51461, 1], [51460, 1], [51459, 1], [51458, 1], [51457, 1], [51456, 1], [51455, 1], [51454, 1], [51453, 1], [51452, 1], [51451, 1], [51450, 1], [51449, 1], [51448, 1], [51447, 1], [51446, 1], [51445, 1], [51444, 1], [51443, 1], [51442, 1], [51441, 1], [51440, 1], [51439, 1], [51438, 1], [51437, 1], [51436, 1], [51435, 1], [51434, 1], [51433, 1], [51432, 1], [51431, 1], [51430, 1], [51429, 1], [51428, 1], [51427, 1], [51426, 1], [51425, 1], [51424, 1], [51423, 1], [51422, 1], [51421, 1], [51420, 1], [51419, 1], [51418, 1], [51417, 1], [51416, 1], [51415, 1], [51414, 1], [51413, 1], [51412, 1], [51411, 1], [51410, 1], [51409, 1], [51408, 1], [51407, 1], [51406, 1], [51405, 1], [51404, 1], [51403, 1], [51402, 1], [51401, 1], [51400, 1], [51399, 1], [51398, 1], [51397, 1], [51396, 1], [51395, 1], [51394, 1], [51393, 1], [51392, 1], [51391, 1], [51390, 1], [51389, 1], [51388, 1], [51387, 1], [51386, 1], [51385, 1], [51384, 1], [51383, 1], [51382, 1], [51381, 1], [51380, 1], [51379, 1], [51378, 1], [51377, 1], [51376, 1], [51375, 1], [51374, 1], [51373, 1], [51372, 1], [51371, 1], [51370, 1], [51369, 1], [51368, 1], [51367, 1], [51366, 1], [51365, 1], [51364, 1], [51363, 1], [51362, 1], [51361, 1], [51360, 1], [51359, 1], [51358, 1], [51357, 1], [51356, 1], [51355, 1], [51354, 1], [51353, 1], [51352, 1], [51351, 1], [51350, 1], [51349, 1], [51348, 1], [51347, 1], [51346, 1], [51345, 1], [51344, 1], [51343, 1], [51342, 1], [51341, 1], [51340, 1], [51339, 1], [51338, 1], [51337, 1], [51336, 1], [51335, 1], [51334, 1], [51333, 1], [51332, 1], [51331, 1], [51330, 1], [51329, 1], [51328, 1], [51327, 1], [51326, 1], [51325, 1], [51324, 1], [51323, 1], [51322, 1], [51321, 1], [51320, 1], [51319, 1], [51318, 1], [51317, 1], [51316, 1], [51315, 1], [51314, 1], [51313, 1], [51312, 1], [51311, 1], [51310, 1], [51309, 1], [51308, 1], [48640, 1], [48640, 0, "."], [48641, 0, "g"], [48642, 0, "e"], [48643, 0, "t"], [48644, 0, "("], [48655, 1], [48655, 0, ")"], [48844, 1], [48844, 0, "."], [48845, 0, "g"], [48846, 0, "e"], [48847, 0, "t"], [48848, 0, "("], [48852, 1], [48852, 0, ")"], [46817, 1], [46816, 1], [46815, 1], [46814, 1], [46813, 1], [46812, 1], [46811, 1], [46811, 0, "."], [46812, 0, " "], [46813, 0, "T"], [46811, 0, " "], [46812, 0, "("], [46813, 0, "t"], [46814, 0, "h"], [46815, 0, "e"], [46816, 0, " "], [46817, 0, "n"], [46818, 0, "o"], [46819, 0, "t"], [46820, 0, "a"], [46821, 0, "t"], [46822, 0, "i"], [46823, 0, "o"], [46824, 0, "n"], [46825, 0, " "], [46826, 0, "$"], [46827, 0, "A"], [46828, 0, "_"], [46829, 0, "p"], [46830, 0, "["], [46831, 0, "\\"], [46832, 0, ","], [46833, 0, "x"], [46834, 0, " "], [46835, 0, "\\"], [46836, 0, ","], [46837, 0, "\\"], [46838, 0, "m"], [46839, 0, "a"], [46840, 0, "p"], [46841, 0, "s"], [46842, 0, "t"], [46843, 0, "o"], [46844, 0, "\\"], [46845, 0, ","], [46846, 0, " "], [46847, 0, "\\"], [46848, 0, "m"], [46849, 0, "a"], [46850, 0, "t"], [46851, 0, "h"], [46852, 0, "i"], [46853, 0, "t"], [46854, 0, "{"], [46855, 0, "c"], [46856, 0, "u"], [46857, 0, "r"], [46858, 0, "}"], [46859, 0, "\\"], [46860, 0, ","], [46861, 0, "]"], [46862, 0, "$"], [46863, 0, " "], [46864, 0, "d"], [46865, 0, "e"], [46866, 0, "n"], [46867, 0, "o"], [46868, 0, "t"], [46869, 0, "e"], [46870, 0, "s"], [46871, 0, " "], [46872, 0, "a"], [46873, 0, " "], [46874, 0, "p"], [46875, 0, "a"], [46876, 0, "r"], [46877, 0, "t"], [46878, 0, "i"], [46879, 0, "a"], [46880, 0, "l"], [46881, 0, " "], [46882, 0, "f"], [46883, 0, "u"], [46884, 0, "n"], [46885, 0, "c"], [46886, 0, "t"], [46887, 0, "i"], [46888, 0, "o"], [46889, 0, "n"], [46890, 0, " "], [46891, 0, "t"], [46892, 0, "h"], [46893, 0, "a"], [46894, 0, "t"], [46895, 0, " "], [46896, 0, "i"], [46897, 0, "s"], [46898, 0, " "], [46899, 0, "t"], [46900, 0, "h"], [46901, 0, "e"], [46902, 0, " "], [46903, 0, "s"], [46904, 0, "a"], [46905, 0, "m"], [46906, 0, "e"], [46907, 0, " "], [46908, 0, "a"], [46909, 0, "s"], [46910, 0, " "], [46911, 0, "$"], [46912, 0, "A"], [46913, 0, "_"], [46914, 0, "p"], [46915, 0, "$"], [46916, 0, ","], [46917, 0, " "], [46918, 0, "e"], [46919, 0, "x"], [46920, 0, "c"], [46921, 0, "e"], [46922, 0, "p"], [46923, 0, "t"], [46924, 0, " "], [46925, 0, "t"], [46926, 0, "h"], [46927, 0, "a"], [46928, 0, "t"], [46929, 0, " "], [46930, 0, "$"], [46931, 0, "A"], [46932, 0, "_"], [46933, 0, "p"], [46934, 0, "("], [46935, 0, "x"], [46936, 0, ")"], [46937, 0, " "], [46938, 0, "="], [46939, 0, " "], [46940, 0, "\\"], [46941, 0, "m"], [46942, 0, "a"], [46943, 0, "t"], [46944, 0, "h"], [46945, 0, "i"], [46946, 0, "t"], [46947, 0, "{"], [46948, 0, "c"], [46949, 0, "u"], [46950, 0, "r"], [46951, 0, "}"], [46952, 0, "$"], [46953, 0, ")"], [47071, 0, " "], [47072, 0, "f"], [47073, 0, "o"], [47074, 0, "l"], [47075, 0, "l"], [47076, 0, "o"], [47077, 0, "w"], [47078, 0, "i"], [47079, 0, "n"], [47080, 0, "g"], [51355, 0, "\\"], [51356, 0, "l"], [51357, 0, "a"], [51358, 0, "b"], [51359, 0, "e"], [51360, 0, "l"], [51361, 0, "{"], [51362, 0, "s"], [51363, 0, "e"], [51364, 0, "c"], [51365, 0, ":"], [51366, 0, "l"], [51367, 0, "a"], [51368, 0, "m"], [51369, 0, "p"], [51370, 0, "o"], [51371, 0, "r"], [51372, 0, "t"], [51373, 0, "}"], [51373, 0, "-"], [51374, 0, "t"], [51375, 0, "s"], [47723, 0, ","], [47724, 0, " "], [47725, 0, "a"], [47726, 0, "s"], [47727, 0, "s"], [47728, 0, "u"], [47729, 0, "m"], [47730, 0, "i"], [47731, 0, "n"], [47732, 0, "g"], [47733, 0, " "], [47734, 0, "t"], [47735, 0, "h"], [47736, 0, "a"], [47737, 0, "t"], [47738, 0, " "], [47739, 0, "$"], [47740, 0, "\\"], [47741, 0, "m"], [47742, 0, "a"], [47743, 0, "t"], [47744, 0, "h"], [47745, 0, "i"], [47746, 0, "t"], [47747, 0, "{"], [47748, 0, "i"], [47749, 0, "d"], [47750, 0, "}"], [47751, 0, "_"], [47752, 0, "1"], [47753, 0, "$"], [47754, 0, " "], [47755, 0, "i"], [47756, 0, "s"], [47757, 0, " "], [47758, 0, "t"], [47759, 0, "h"], [47760, 0, "e"], [47761, 0, " "], [47762, 0, "u"], [47763, 0, "n"], [47764, 0, "i"], [47765, 0, "q"], [47766, 0, "u"], [47767, 0, "e"], [47768, 0, " "], [47769, 0, "i"], [47770, 0, "d"], [47771, 0, "e"], [47772, 0, "n"], [47773, 0, "t"], [47774, 0, "i"], [47775, 0, "f"], [47776, 0, "i"], [47777, 0, "e"], [47778, 0, "r"], [47779, 0, " "], [47780, 0, "o"], [47781, 0, "f"], [47782, 0, " "], [47783, 0, "t"], [47784, 0, "h"], [47785, 0, "e"], [47786, 0, " "], [47787, 0, "o"], [47788, 0, "p"], [47789, 0, "e"], [47790, 0, "r"], [47791, 0, "a"], [47792, 0, "t"], [47793, 0, "i"], [47794, 0, "o"], [47795, 0, "n"], [47796, 0, " "], [47797, 0, "t"], [47798, 0, "h"], [47799, 0, "a"], [47800, 0, "t"], [47801, 0, " "], [47802, 0, "i"], [47803, 0, "n"], [47804, 0, "s"], [47805, 0, "e"], [47806, 0, "r"], [47807, 0, "t"], [47808, 0, "e"], [47809, 0, "d"], [47810, 0, " "], [47811, 0, "t"], [47812, 0, "h"], [47813, 0, "i"], [47814, 0, "s"], [47815, 0, " "], [47816, 0, "l"], [47817, 0, "i"], [47818, 0, "s"], [47819, 0, "t"], [47820, 0, " "], [47821, 0, "e"], [47822, 0, "l"], [47823, 0, "e"], [47824, 0, "m"], [47825, 0, "e"], [47826, 0, "n"], [47827, 0, "t"], [47828, 0, " "], [47829, 0, "("], [47830, 0, "w"], [47831, 0, "e"], [47832, 0, " "], [47833, 0, "w"], [47834, 0, "i"], [47835, 0, "l"], [47836, 0, "l"], [47837, 0, " "], [47838, 0, "d"], [47839, 0, "i"], [47840, 0, "s"], [47841, 0, "c"], [47842, 0, "u"], [47843, 0, "s"], [47844, 0, "s"], [47845, 0, " "], [47846, 0, "i"], [47847, 0, "n"], [47848, 0, " "], [47849, 0, "S"], [47850, 0, "e"], [47851, 0, "c"], [47852, 0, "t"], [47853, 0, "i"], [47854, 0, "o"], [47855, 0, "n"], [47856, 0, "~"], [47857, 0, "\\"], [47858, 0, "r"], [47859, 0, "e"], [47860, 0, "f"], [47861, 0, "{"], [47862, 0, "s"], [47863, 0, "e"], [47864, 0, "c"], [47865, 0, ":"], [47866, 0, "l"], [47867, 0, "a"], [47868, 0, "m"], [47869, 0, "p"], [47870, 0, "o"], [47871, 0, "r"], [47872, 0, "t"], [47873, 0, "-"], [47874, 0, "t"], [47875, 0, "s"], [47876, 0, "}"], [47877, 0, " "], [47878, 0, "h"], [47879, 0, "o"], [47880, 0, "w"], [47881, 0, " "], [47882, 0, "t"], [47883, 0, "o"], [47884, 0, " "], [47885, 0, "g"], [47886, 0, "e"], [47887, 0, "n"], [47888, 0, "e"], [47889, 0, "r"], [47890, 0, "a"], [47891, 0, "t"], [47892, 0, "e"], [47893, 0, " "], [47894, 0, "t"], [47895, 0, "h"], [47896, 0, "e"], [47897, 0, "s"], [47898, 0, "e"], [47899, 0, " "], [47900, 0, "i"], [47901, 0, "d"], [47902, 0, "e"], [47903, 0, "n"], [47904, 0, "t"], [47905, 0, "i"], [47906, 0, "f"], [47907, 0, "i"], [47908, 0, "e"], [47909, 0, "r"], [47910, 0, "s"], [47911, 0, ")"], [47914, 1], [47914, 1], [47914, 0, "T"], [47915, 0, "h"], [47916, 0, "e"], [47917, 0, " "], [47918, 0, "c"], [47919, 0, "u"], [47920, 0, "r"], [47921, 0, "s"], [47922, 0, "o"], [47923, 0, "r"], [48186, 1], [48185, 1], [48184, 1], [48183, 1], [48183, 0, "t"], [48184, 0, "h"], [48185, 0, "a"], [48186, 0, "t"], [48187, 0, " "], [48188, 0, "h"], [48189, 0, "a"], [48190, 0, "s"], [48629, 0, " "], [48630, 0, "b"], [48631, 0, "e"], [48632, 0, "i"], [48633, 0, "n"], [48634, 0, "g"], [48635, 0, " "], [48636, 0, "t"], [48637, 0, "r"], [48638, 0, "a"], [48639, 0, "v"], [48640, 0, "e"], [48641, 0, "r"], [48642, 0, "s"], [48643, 0, "e"], [48644, 0, "d"], [49333, 0, " "], [49334, 0, "r"], [49335, 0, "u"], [49336, 0, "l"], [49337, 0, "e"], [49338, 0, "s"], [49340, 0, "$"], [49353, 0, "="], [49354, 0, "="], [49354, 1], [49353, 1], [49352, 1], [49351, 1], [49350, 1], [49350, 0, "d"], [49351, 0, "x"], [49353, 0, "_"], [49354, 0, "{"], [49355, 0, "1"], [49356, 0, "\\"], [49356, 1], [49356, 0, " "], [49357, 0, "\\"], [49358, 0, "d"], [49359, 0, "o"], [49360, 0, "t"], [49361, 0, "s"], [49362, 0, " "], [49363, 0, "5"], [49364, 0, "}"], [49365, 0, "$"], [49366, 0, " "], [49367, 0, "d"], [49368, 0, "e"], [49369, 0, "f"], [49370, 0, "i"], [49371, 0, "n"], [49372, 0, "e"], [49373, 0, " "], [49374, 0, "h"], [49375, 0, "o"], [49376, 0, "w"], [49377, 0, " "], [49378, 0, "t"], [49379, 0, "o"], [49380, 0, " "], [49381, 0, "e"], [49382, 0, "v"], [49383, 0, "a"], [49384, 0, "l"], [49385, 0, "u"], [49386, 0, "a"], [49387, 0, "t"], [49388, 0, "e"], [49389, 0, " "], [49390, 0, "t"], [49391, 0, "h"], [49392, 0, "e"], [49393, 0, " "], [49394, 0, "e"], [49395, 0, "x"], [49396, 0, "p"], [49397, 0, "r"], [49398, 0, "e"], [49399, 0, "s"], [49400, 0, "s"], [49401, 0, "i"], [49402, 0, "o"], [49403, 0, "n"], [49404, 0, " "], [49405, 0, "\\"], [49406, 0, "v"], [49407, 0, "e"], [49408, 0, "r"], [49409, 0, "b"], [49410, 0, "|"], [49411, 0, "d"], [49412, 0, "o"], [49413, 0, "c"], [49414, 0, "."], [49415, 0, "i"], [49416, 0, "d"], [49417, 0, "x"], [49418, 0, "("], [49419, 0, "|"], [49420, 0, "$"], [49421, 0, "n"], [49422, 0, "$"], [49422, 1], [49422, 0, "$"], [49423, 0, "\\"], [49424, 0, "v"], [49425, 0, "e"], [49426, 0, "r"], [49427, 0, "b"], [49428, 0, "|"], [49429, 0, ")"], [49430, 0, "|"], [49431, 0, "\n"], [49432, 0, "\n"], [49431, 0, ","], [49432, 0, " "], [49433, 0, "m"], [49434, 0, "o"], [49435, 0, "v"], [49436, 0, "i"], [49437, 0, "n"], [49438, 0, "g"], [49439, 0, " "], [49440, 0, "t"], [49441, 0, "h"], [49442, 0, "e"], [49443, 0, " "], [49444, 0, "c"], [49445, 0, "u"], [49446, 0, "r"], [49447, 0, "s"], [49448, 0, "o"], [49449, 0, "r"], [49450, 0, " "], [49451, 0, "t"], [49452, 0, "o"], [49453, 0, " "], [49454, 0, "a"], [49455, 0, " "], [49456, 0, "p"], [49457, 0, "a"], [49458, 0, "r"], [49459, 0, "t"], [49460, 0, "i"], [49461, 0, "c"], [49462, 0, "u"], [49463, 0, "l"], [49464, 0, "a"], [49465, 0, "r"], [49466, 0, " "], [49467, 0, "e"], [49468, 0, "l"], [49469, 0, "e"], [49470, 0, "m"], [49471, 0, "e"], [49472, 0, "n"], [49473, 0, "t"], [49474, 0, " "], [49475, 0, "o"], [49476, 0, "f"], [49477, 0, " "], [49478, 0, "a"], [49479, 0, " "], [49480, 0, "l"], [49481, 0, "i"], [49482, 0, "s"], [49483, 0, "t"], [49484, 0, "."], [49485, 0, " "], [49486, 0, "F"], [49487, 0, "i"], [49488, 0, "r"], [49489, 0, "s"], [49490, 0, "t"], [49491, 0, ","], [49492, 0, " "], [49493, 0, "\\"], [49493, 1], [49493, 0, "$"], [49494, 0, "\\"], [49495, 0, "t"], [49496, 0, "e"], [49497, 0, "x"], [49498, 0, "t"], [49499, 0, "s"], [49500, 0, "c"], [49501, 0, "{"], [49502, 0, "I"], [49503, 0, "d"], [49504, 0, "x"], [49505, 0, "}"], [49506, 0, "_"], [49507, 0, "1"], [49508, 0, "$"], [49509, 0, " "], [49510, 0, "c"], [49511, 0, "o"], [49512, 0, "n"], [49513, 0, "s"], [49514, 0, "t"], [49515, 0, "r"], [49516, 0, "u"], [49517, 0, "c"], [49518, 0, "t"], [49519, 0, "s"], [49520, 0, " "], [49521, 0, "a"], [49522, 0, " "], [49523, 0, "c"], [49524, 0, "u"], [49525, 0, "r"], [49526, 0, "s"], [49527, 0, "o"], [49528, 0, "r"], [49529, 0, " "], [49530, 0, "r"], [49531, 0, "e"], [49532, 0, "p"], [49533, 0, "r"], [49534, 0, "e"], [49535, 0, "s"], [49536, 0, "e"], [49537, 0, "n"], [49538, 0, "t"], [49539, 0, "i"], [49540, 0, "n"], [49541, 0, "g"], [49542, 0, " "], [49543, 0, "t"], [49544, 0, "h"], [49545, 0, "e"], [49546, 0, " "], [49547, 0, "h"], [49548, 0, "e"], [49549, 0, "a"], [49550, 0, "d"], [49551, 0, " "], [49552, 0, "o"], [49553, 0, "f"], [49554, 0, " "], [49555, 0, "t"], [49556, 0, "h"], [49557, 0, "e"], [49558, 0, " "], [49559, 0, "l"], [49560, 0, "i"], [49561, 0, "s"], [49562, 0, "t"], [49563, 0, ","], [49564, 0, " "], [49492, 1], [49491, 1], [49490, 1], [49489, 1], [49488, 1], [49487, 1], [49486, 1], [49558, 0, "a"], [49559, 0, "n"], [49560, 0, "d"], [49561, 0, " "], [49562, 0, "d"], [49563, 0, "e"], [49564, 0, "l"], [49565, 0, "e"], [49566, 0, "g"], [49567, 0, "a"], [49568, 0, "t"], [49569, 0, "e"], [49570, 0, "s"], [49571, 0, " "], [49572, 0, "t"], [49573, 0, "o"], [49574, 0, " "], [49575, 0, "t"], [49576, 0, "h"], [49577, 0, "e"], [49578, 0, " "], [49579, 0, "s"], [49580, 0, "u"], [49581, 0, "b"], [49582, 0, "s"], [49583, 0, "e"], [49584, 0, "q"], [49585, 0, "u"], [49586, 0, "e"], [49587, 0, "n"], [49588, 0, "t"], [49589, 0, " "], [49590, 0, "r"], [49591, 0, "u"], [49592, 0, "l"], [49593, 0, "e"], [49594, 0, "s"], [49595, 0, " "], [49596, 0, "t"], [49597, 0, "o"], [49598, 0, " "], [49599, 0, "s"], [49600, 0, "c"], [49601, 0, "a"], [49602, 0, "n"], [49603, 0, " "], [49604, 0, "o"], [49605, 0, "v"], [49606, 0, "e"], [49607, 0, "r"], [49608, 0, " "], [49609, 0, "t"], [49610, 0, "h"], [49611, 0, "e"], [49612, 0, " "], [49613, 0, "l"], [49614, 0, "i"], [49615, 0, "s"], [49616, 0, "t"], [49617, 0, "."], [49618, 0, " "], [49619, 0, "$"], [49620, 0, "\\"], [49621, 0, "t"], [49622, 0, "e"], [49623, 0, "x"], [49624, 0, "t"], [49625, 0, "s"], [49626, 0, "c"], [49627, 0, "{"], [49628, 0, "I"], [49629, 0, "d"], [49630, 0, "x"], [49631, 0, "}"], [49632, 0, "_"], [49633, 0, "2"], [49634, 0, "$"], [49635, 0, " "], [49636, 0, "r"], [49637, 0, "e"], [49638, 0, "c"], [49639, 0, "u"], [49640, 0, "r"], [49641, 0, "s"], [49642, 0, "i"], [49643, 0, "v"], [49644, 0, "e"], [49645, 0, "l"], [49646, 0, "y"], [49647, 0, " "], [49648, 0, "d"], [49649, 0, "e"], [49650, 0, "s"], [49651, 0, "c"], [49652, 0, "e"], [49653, 0, "n"], [49654, 0, "d"], [49655, 0, "s"], [49656, 0, " "], [49657, 0, "t"], [49658, 0, "h"], [49659, 0, "e"], [49660, 0, " "], [49661, 0, "l"], [49662, 0, "o"], [49663, 0, "c"], [49664, 0, "a"], [49665, 0, "l"], [49666, 0, " "], [49667, 0, "s"], [49668, 0, "t"], [49669, 0, "a"], [49670, 0, "t"], [49671, 0, "e"], [49672, 0, " "], [49673, 0, "a"], [49674, 0, "c"], [49675, 0, "c"], [49676, 0, "o"], [49677, 0, "r"], [49678, 0, "d"], [49679, 0, "i"], [49680, 0, "n"], [49681, 0, "g"], [49682, 0, " "], [49683, 0, "t"], [49684, 0, "o"], [49685, 0, " "], [49686, 0, "t"], [49687, 0, "h"], [49688, 0, "e"], [49689, 0, " "], [49690, 0, "v"], [49691, 0, "e"], [49692, 0, "c"], [49693, 0, "t"], [49694, 0, "o"], [49695, 0, "r"], [49696, 0, " "], [49697, 0, "o"], [49698, 0, "f"], [49699, 0, " "], [49700, 0, "k"], [49701, 0, "e"], [49702, 0, "y"], [49703, 0, "s"], [49704, 0, " "], [49705, 0, "i"], [49706, 0, "n"], [49707, 0, " "], [49708, 0, "t"], [49709, 0, "h"], [49710, 0, "e"], [49711, 0, " "], [49712, 0, "c"], [49713, 0, "u"], [49714, 0, "r"], [49715, 0, "s"], [49716, 0, "o"], [49717, 0, "r"], [49718, 0, "."], [49719, 0, " "], [49720, 0, "W"], [49721, 0, "h"], [49722, 0, "e"], [49723, 0, "n"], [49724, 0, " "], [49725, 0, "t"], [49726, 0, "h"], [49727, 0, "e"], [49728, 0, " "], [49729, 0, "v"], [49730, 0, "e"], [49731, 0, "c"], [49732, 0, "t"], [49733, 0, "o"], [49734, 0, "r"], [49735, 0, " "], [49736, 0, "o"], [49737, 0, "f"], [49738, 0, " "], [49739, 0, "k"], [49740, 0, "e"], [49741, 0, "y"], [49742, 0, "s"], [49743, 0, " "], [49744, 0, "i"], [49745, 0, "s"], [49746, 0, " "], [49747, 0, "e"], [49748, 0, "m"], [49749, 0, "p"], [49750, 0, "t"], [49751, 0, "y"], [49752, 0, ","], [49753, 0, " "], [49754, 0, "t"], [49755, 0, "h"], [49756, 0, "e"], [49757, 0, " "], [49758, 0, "c"], [49759, 0, "o"], [49760, 0, "n"], [49761, 0, "t"], [49762, 0, "e"], [49763, 0, "x"], [49764, 0, "t"], [49765, 0, " "], [49766, 0, "$"], [49767, 0, "\\"], [49768, 0, "m"], [49769, 0, "a"], [49770, 0, "t"], [49771, 0, "h"], [49772, 0, "i"], [49773, 0, "t"], [49774, 0, "{"], [49775, 0, "c"], [49776, 0, "t"], [49777, 0, "x"], [49778, 0, "}"], [49779, 0, "$"], [49780, 0, " "], [49781, 0, "i"], [49782, 0, "s"], [49783, 0, " "], [49784, 0, "t"], [49785, 0, "h"], [49786, 0, "e"], [49787, 0, " "], [49788, 0, "s"], [49789, 0, "u"], [49790, 0, "b"], [49791, 0, "t"], [49792, 0, "r"], [49793, 0, "e"], [49794, 0, "e"], [49795, 0, " "], [49796, 0, "o"], [49797, 0, "f"], [49798, 0, " "], [49799, 0, "$"], [49800, 0, "A"], [49801, 0, "_"], [49802, 0, "p"], [49803, 0, "$"], [49804, 0, " "], [49805, 0, "r"], [49806, 0, "e"], [49807, 0, "p"], [49808, 0, "r"], [49809, 0, "e"], [49810, 0, "s"], [49811, 0, "e"], [49812, 0, "n"], [49813, 0, "t"], [49814, 0, "i"], [49815, 0, "n"], [49816, 0, "g"], [49817, 0, " "], [49817, 1], [49816, 1], [49815, 1], [49814, 1], [49813, 1], [49812, 1], [49811, 1], [49810, 1], [49809, 1], [49808, 1], [49807, 1], [49806, 1], [49805, 1], [49805, 0, "t"], [49806, 0, "h"], [49807, 0, "a"], [49808, 0, "t"], [49809, 0, " "], [49810, 0, "s"], [49811, 0, "t"], [49812, 0, "o"], [49813, 0, "r"], [49814, 0, "e"], [49815, 0, "s"], [49816, 0, " "], [49817, 0, "t"], [49818, 0, "h"], [49819, 0, "e"], [49820, 0, " "], [49821, 0, "l"], [49822, 0, "i"], [49823, 0, "s"], [49824, 0, "t"], [49825, 0, " "], [49826, 0, "i"], [49827, 0, "n"], [49828, 0, " "], [49829, 0, "q"], [49830, 0, "u"], [49831, 0, "e"], [49832, 0, "s"], [49833, 0, "t"], [49834, 0, "i"], [49835, 0, "o"], [49836, 0, "n"], [49837, 0, ","], [49838, 0, " "], [49839, 0, "a"], [49840, 0, "n"], [49841, 0, "d"], [49842, 0, " "], [49843, 0, "t"], [49844, 0, "h"], [49845, 0, "e"], [49846, 0, " "], [49847, 0, "r"], [49848, 0, "u"], [49849, 0, "l"], [49850, 0, "e"], [49851, 0, "s"], [49852, 0, " "], [49853, 0, "$"], [49854, 0, "\\"], [49855, 0, "t"], [49856, 0, "e"], [49857, 0, "x"], [49858, 0, "t"], [49859, 0, "s"], [49860, 0, "c"], [49861, 0, "{"], [49862, 0, "I"], [49863, 0, "d"], [49864, 0, "x"], [49865, 0, "}"], [49866, 0, "_"], [49867, 0, "{"], [49868, 0, "3"], [49869, 0, ","], [49870, 0, "4"], [49871, 0, ","], [49872, 0, "5"], [49873, 0, "}"], [49874, 0, "$"], [49875, 0, " "], [49876, 0, "i"], [49877, 0, "t"], [49878, 0, "e"], [49879, 0, "r"], [49880, 0, "a"], [49881, 0, "t"], [49882, 0, "e"], [49883, 0, " "], [49884, 0, "o"], [49885, 0, "v"], [49886, 0, "e"], [49887, 0, "r"], [49888, 0, " "], [49889, 0, "t"], [49890, 0, "h"], [49891, 0, "a"], [49892, 0, "t"], [49893, 0, " "], [49894, 0, "l"], [49895, 0, "i"], [49896, 0, "s"], [49897, 0, "t"], [49898, 0, " "], [49899, 0, "u"], [49900, 0, "n"], [49901, 0, "t"], [49902, 0, "i"], [49903, 0, "l"], [49904, 0, " "], [49905, 0, "t"], [49906, 0, "h"], [49907, 0, "e"], [49908, 0, " "], [49909, 0, "d"], [49910, 0, "e"], [49911, 0, "s"], [49912, 0, "i"], [49913, 0, "r"], [49914, 0, "e"], [49915, 0, "d"], [49916, 0, " "], [49917, 0, "e"], [49918, 0, "l"], [49919, 0, "e"], [49920, 0, "m"], [49921, 0, "e"], [49922, 0, "n"], [49923, 0, "t"], [49924, 0, " "], [49925, 0, "i"], [49926, 0, "s"], [49927, 0, " "], [49928, 0, "f"], [49929, 0, "i"], [49930, 0, "n"], [49930, 1], [49929, 1], [49929, 0, "o"], [49930, 0, "u"], [49931, 0, "n"], [49932, 0, "d"], [49933, 0, "."], [49934, 0, "\n"], [49935, 0, "\n"], [49936, 0, "$"], [49937, 0, "\\"], [49938, 0, "t"], [49939, 0, "e"], [49940, 0, "x"], [49941, 0, "t"], [49942, 0, "s"], [49943, 0, "c"], [49944, 0, "{"], [49945, 0, "I"], [49946, 0, "d"], [49947, 0, "x"], [49948, 0, "}"], [49949, 0, "_"], [49950, 0, "5"], [49951, 0, "$"], [49952, 0, " "], [49953, 0, "t"], [49954, 0, "e"], [49955, 0, "r"], [49956, 0, "m"], [49957, 0, "i"], [49958, 0, "n"], [49959, 0, "a"], [49960, 0, "t"], [49961, 0, "e"], [49962, 0, "s"], [49963, 0, " "], [49964, 0, "t"], [49965, 0, "h"], [49966, 0, "e"], [49967, 0, " "], [49968, 0, "i"], [49969, 0, "t"], [49970, 0, "e"], [49971, 0, "r"], [49972, 0, "a"], [49973, 0, "t"], [49974, 0, "i"], [49975, 0, "o"], [49976, 0, "n"], [49977, 0, " "], [49978, 0, "w"], [49979, 0, "h"], [49980, 0, "e"], [49981, 0, "n"], [49982, 0, " "], [49983, 0, "t"], [49984, 0, "h"], [49985, 0, "e"], [49986, 0, " "], [49987, 0, "i"], [49988, 0, "n"], [49989, 0, "d"], [49990, 0, "e"], [49991, 0, "x"], [49992, 0, " "], [49993, 0, "r"], [49994, 0, "e"], [49995, 0, "a"], [49996, 0, "c"], [49997, 0, "h"], [49998, 0, "e"], [49999, 0, "s"], [50000, 0, " "], [50001, 0, "z"], [50002, 0, "e"], [50003, 0, "r"], [50004, 0, "o"], [50005, 0, ","], [50006, 0, " "], [50007, 0, "w"], [50008, 0, "h"], [50009, 0, "i"], [50010, 0, "l"], [50011, 0, "e"], [50012, 0, " "], [50013, 0, "$"], [50014, 0, "\\"], [50015, 0, "t"], [50016, 0, "e"], [50017, 0, "x"], [50018, 0, "t"], [50019, 0, "s"], [50020, 0, "c"], [50021, 0, "{"], [50022, 0, "I"], [50023, 0, "d"], [50024, 0, "x"], [50025, 0, "}"], [50026, 0, "_"], [50027, 0, "3"], [50028, 0, "$"], [50029, 0, " "], [50030, 0, "m"], [50031, 0, "o"], [50032, 0, "v"], [50033, 0, "e"], [50034, 0, "s"], [50035, 0, " "], [50036, 0, "t"], [50037, 0, "o"], [50038, 0, " "], [50039, 0, "t"], [50040, 0, "h"], [50041, 0, "e"], [50042, 0, " "], [50043, 0, "n"], [50044, 0, "e"], [50045, 0, "x"], [50046, 0, "t"], [50047, 0, " "], [50048, 0, "e"], [50049, 0, "l"], [50050, 0, "e"], [50051, 0, "m"], [50052, 0, "e"], [50053, 0, "n"], [50054, 0, "t"], [50055, 0, " "], [50056, 0, "a"], [50057, 0, "n"], [50058, 0, "d"], [50059, 0, " "], [50060, 0, "d"], [50061, 0, "e"], [50062, 0, "c"], [50063, 0, "r"], [50064, 0, "e"], [50065, 0, "m"], [50066, 0, "e"], [50067, 0, "n"], [50068, 0, "t"], [50069, 0, "s"], [50070, 0, " "], [50071, 0, "t"], [50072, 0, "h"], [50073, 0, "e"], [50074, 0, " "], [50075, 0, "i"], [50076, 0, "n"], [50077, 0, "d"], [50078, 0, "e"], [50079, 0, "x"], [50080, 0, ","], [50081, 0, " "], [50082, 0, "a"], [50083, 0, "n"], [50084, 0, "d"], [50085, 0, " "], [50086, 0, "$"], [50087, 0, "\\"], [50088, 0, "t"], [50089, 0, "e"], [50090, 0, "x"], [50091, 0, "t"], [50092, 0, "s"], [50093, 0, "c"], [50094, 0, "{"], [50095, 0, "I"], [50096, 0, "d"], [50097, 0, "x"], [50098, 0, "}"], [50099, 0, "_"], [50100, 0, "4"], [50101, 0, "$"], [50102, 0, " "], [50103, 0, "s"], [50104, 0, "k"], [50105, 0, "i"], [50106, 0, "p"], [50107, 0, "s"], [50108, 0, " "], [50109, 0, "o"], [50110, 0, "v"], [50111, 0, "e"], [50112, 0, "r"], [50113, 0, " "], [50114, 0, "d"], [50115, 0, "e"], [50116, 0, "l"], [50117, 0, "e"], [50118, 0, "t"], [50119, 0, "e"], [50120, 0, "d"], [50121, 0, " "], [50122, 0, "l"], [50123, 0, "i"], [50124, 0, "s"], [50125, 0, "t"], [50126, 0, " "], [50127, 0, "e"], [50128, 0, "l"], [50129, 0, "e"], [50130, 0, "m"], [50131, 0, "e"], [50132, 0, "n"], [50133, 0, "t"], [50134, 0, "s"], [50135, 0, "."], [50136, 0, " "], [50137, 0, "T"], [50138, 0, "h"], [50139, 0, "e"], [50140, 0, " "], [50141, 0, "l"], [50142, 0, "i"], [50143, 0, "s"], [50144, 0, "t"], [50145, 0, " "], [50146, 0, "s"], [50147, 0, "t"], [50148, 0, "r"], [50149, 0, "u"], [50150, 0, "c"], [50151, 0, "t"], [50152, 0, "u"], [50153, 0, "r"], [50154, 0, "e"], [50155, 0, " "], [50156, 0, "r"], [50157, 0, "e"], [50158, 0, "s"], [50159, 0, "e"], [50160, 0, "m"], [50161, 0, "b"], [50162, 0, "l"], [50163, 0, "e"], [50164, 0, "d"], [50164, 1], [50164, 0, "s"], [50165, 0, " "], [50166, 0, "a"], [50167, 0, " "], [50168, 0, "l"], [50169, 0, "i"], [50170, 0, "n"], [50171, 0, "k"], [50172, 0, "e"], [50173, 0, "d"], [50174, 0, " "], [50175, 0, "l"], [50176, 0, "i"], [50177, 0, "s"], [50178, 0, "t"], [50145, 1], [50144, 1], [50143, 1], [50142, 1], [50141, 1], [50174, 0, ":"], [50175, 0, " "], [50176, 0, "e"], [50177, 0, "a"], [50178, 0, "c"], [50179, 0, "h"], [50180, 0, " "], [50181, 0, "l"], [50182, 0, "i"], [50183, 0, "s"], [50184, 0, "t"], [50185, 0, " "], [50186, 0, "e"], [50187, 0, "l"], [50188, 0, "e"], [50189, 0, "m"], [50190, 0, "e"], [50191, 0, "n"], [50192, 0, "t"], [50193, 0, " "], [50194, 0, "h"], [50195, 0, "a"], [50196, 0, "s"], [50197, 0, " "], [50198, 0, "a"], [50199, 0, " "], [50200, 0, "u"], [50201, 0, "n"], [50202, 0, "i"], [50203, 0, "q"], [50204, 0, "u"], [50205, 0, "e"], [50206, 0, " "], [50207, 0, "i"], [50208, 0, "d"], [50209, 0, "e"], [50210, 0, "n"], [50211, 0, "t"], [50212, 0, "i"], [50213, 0, "f"], [50214, 0, "i"], [50215, 0, "e"], [50216, 0, "r"], [50217, 0, " "], [50218, 0, "$"], [50219, 0, "k"], [50220, 0, "$"], [50221, 0, ","], [50222, 0, " "], [50223, 0, "a"], [50224, 0, "n"], [50225, 0, "d"], [50226, 0, " "], [50227, 0, "t"], [50228, 0, "h"], [50229, 0, "e"], [50230, 0, " "], [50231, 0, "p"], [50232, 0, "a"], [50233, 0, "r"], [50234, 0, "t"], [50235, 0, "i"], [50236, 0, "a"], [50237, 0, "l"], [50238, 0, " "], [50239, 0, "f"], [50240, 0, "u"], [50241, 0, "n"], [50242, 0, "c"], [50243, 0, "t"], [50244, 0, "i"], [50245, 0, "o"], [50246, 0, "n"], [50247, 0, " "], [50248, 0, "r"], [50249, 0, "e"], [50250, 0, "p"], [50251, 0, "r"], [50252, 0, "e"], [50253, 0, "s"], [50254, 0, "e"], [50255, 0, "n"], [50256, 0, "t"], [50257, 0, "i"], [50258, 0, "n"], [50259, 0, "g"], [50260, 0, " "], [50261, 0, "l"], [50262, 0, "o"], [50263, 0, "c"], [50264, 0, "a"], [50265, 0, "l"], [50266, 0, " "], [50267, 0, "s"], [50268, 0, "t"], [50269, 0, "a"], [50270, 0, "t"], [50271, 0, "e"], [50272, 0, " "], [50273, 0, "m"], [50274, 0, "a"], [50275, 0, "s"], [50275, 1], [50275, 0, "p"], [50276, 0, "s"], [50277, 0, " "], [50278, 0, "$"], [50279, 0, "\\"], [50280, 0, "m"], [50281, 0, "a"], [50282, 0, "t"], [50283, 0, "h"], [50284, 0, "s"], [50285, 0, "f"], [50286, 0, "{"], [50287, 0, "n"], [50288, 0, "e"], [50289, 0, "x"], [50290, 0, "t"], [50291, 0, "}"], [50292, 0, "("], [50293, 0, "k"], [50294, 0, ")"], [50295, 0, "$"], [50296, 0, " "], [50297, 0, "t"], [50298, 0, "o"], [50299, 0, " "], [50300, 0, "t"], [50301, 0, "h"], [50302, 0, "e"], [50303, 0, " "], [50304, 0, "I"], [50305, 0, "D"], [50306, 0, " "], [50307, 0, "o"], [50308, 0, "f"], [50309, 0, " "], [50310, 0, "t"], [50311, 0, "h"], [50312, 0, "e"], [50313, 0, " "], [50314, 0, "l"], [50315, 0, "i"], [50316, 0, "s"], [50317, 0, "t"], [50318, 0, " "], [50319, 0, "e"], [50320, 0, "l"], [50321, 0, "e"], [50322, 0, "m"], [50323, 0, "e"], [50324, 0, "n"], [50325, 0, "t"], [50326, 0, " "], [50327, 0, "t"], [50328, 0, "h"], [50329, 0, "a"], [50330, 0, "t"], [50331, 0, " "], [50332, 0, "f"], [50333, 0, "o"], [50334, 0, "l"], [50335, 0, "l"], [50336, 0, "o"], [50337, 0, "w"], [50338, 0, "s"], [50339, 0, " "], [50340, 0, "$"], [50341, 0, "k"], [50342, 0, "$"], [50343, 0, "."], [50344, 0, " "], [50345, 0, "W"], [50346, 0, "h"], [50347, 0, "e"], [50348, 0, "n"], [50349, 0, " "], [50350, 0, "a"], [50351, 0, " "], [50352, 0, "l"], [50353, 0, "i"], [50354, 0, "s"], [50355, 0, "t"], [50356, 0, " "], [50356, 1], [50355, 1], [50354, 1], [50353, 1], [50352, 1], [50351, 1], [50350, 1], [50349, 1], [50348, 1], [50347, 1], [50346, 1], [50345, 1], [50345, 0, "E"], [50346, 0, "a"], [50347, 0, "c"], [50348, 0, "h"], [50349, 0, " "], [50350, 0, "l"], [50351, 0, "i"], [50352, 0, "s"], [50353, 0, "t"], [50354, 0, " "], [50355, 0, "e"], [50356, 0, "l"], [50357, 0, "e"], [50358, 0, "m"], [50359, 0, "m"], [50360, 0, "e"], [50361, 0, "n"], [50362, 0, "t"], [50362, 1], [50361, 1], [50360, 1], [50359, 1], [50359, 0, "e"], [50360, 0, "n"], [50361, 0, "b"], [50362, 0, "t"], [50363, 0, " "], [50363, 1], [50362, 1], [50361, 1], [50361, 0, "t"], [50362, 0, " "], [50363, 0, "a"], [50364, 0, "l"], [50365, 0, "s"], [50366, 0, "o"], [50367, 0, " "], [50368, 0, "h"], [50369, 0, "a"], [50370, 0, "s"], [50371, 0, " "], [50121, 1], [50120, 1], [50119, 1], [50118, 1], [50117, 1], [50116, 1], [50115, 1], [50114, 1], [50127, 0, " "], [50128, 0, "t"], [50129, 0, "h"], [50130, 0, "a"], [50131, 0, "t"], [50132, 0, " "], [50133, 0, "a"], [50134, 0, "r"], [50135, 0, "e"], [50136, 0, " "], [50137, 0, "m"], [50138, 0, "a"], [50139, 0, "r"], [50140, 0, "k"], [50141, 0, "e"], [50142, 0, "d"], [50143, 0, " "], [50144, 0, "a"], [50145, 0, "s"], [50146, 0, " "], [50147, 0, "d"], [50148, 0, "e"], [50149, 0, "l"], [50150, 0, "e"], [50151, 0, "t"], [50152, 0, "e"], [50153, 0, "d"], [50363, 0, " "], [50364, 0, "D"], [50365, 0, "e"], [50366, 0, "l"], [50367, 0, "e"], [50368, 0, "t"], [50369, 0, "e"], [50370, 0, "d"], [50371, 0, " "], [50372, 0, "l"], [50373, 0, "i"], [50374, 0, "s"], [50375, 0, "t"], [50376, 0, " "], [50377, 0, "e"], [50378, 0, "l"], [50379, 0, "e"], [50380, 0, "m"], [50381, 0, "e"], [50382, 0, "n"], [50383, 0, "t"], [50384, 0, "s"], [50385, 0, " "], [50386, 0, "a"], [50387, 0, "r"], [50388, 0, "e"], [50389, 0, " "], [50390, 0, "n"], [50391, 0, "e"], [50392, 0, "v"], [50393, 0, "e"], [50394, 0, "r"], [50395, 0, " "], [50396, 0, "r"], [50397, 0, "e"], [50398, 0, "m"], [50399, 0, "o"], [50400, 0, "v"], [50401, 0, "e"], [50402, 0, "d"], [50403, 0, " "], [50404, 0, "f"], [50405, 0, "r"], [50406, 0, "o"], [50407, 0, "m"], [50408, 0, " "], [50409, 0, "t"], [50410, 0, "h"], [50411, 0, "e"], [50375, 1], [50374, 1], [50373, 1], [50372, 1], [50371, 1], [50407, 0, " "], [50408, 0, "l"], [50409, 0, "i"], [50410, 0, "n"], [50411, 0, "k"], [50412, 0, "e"], [50413, 0, "d"], [50414, 0, " "], [50415, 0, "l"], [50416, 0, "i"], [50417, 0, "s"], [50418, 0, "t"], [50419, 0, " "], [50420, 0, "s"], [50421, 0, "t"], [50422, 0, "r"], [50423, 0, "u"], [50424, 0, "c"], [50425, 0, "t"], [50426, 0, "u"], [50427, 0, "r"], [50428, 0, "e"], [50363, 1], [50363, 0, "\n"], [50364, 0, "\n"], [50457, 1], [50456, 1], [50455, 1], [50454, 1], [50453, 1], [50452, 1], [50451, 1], [50450, 1], [50449, 1], [50448, 1], [50447, 1], [50446, 1], [50445, 1], [50444, 1], [50443, 1], [50442, 1], [50441, 1], [50440, 1], [50439, 1], [50438, 1], [50437, 1], [50436, 1], [50435, 1], [50434, 1], [50433, 1], [50432, 1], [50431, 1], [50430, 1], [50430, 0, ","], [50431, 0, " "], [50432, 0, "b"], [50433, 0, "u"], [50434, 0, "t"], [50435, 0, " "], [50436, 0, "o"], [50437, 0, "n"], [50438, 0, "l"], [50439, 0, "y"], [50440, 0, " "], [50441, 0, "m"], [50442, 0, "a"], [50443, 0, "r"], [50444, 0, "k"], [50445, 0, "e"], [50446, 0, "d"], [50447, 0, " "], [50448, 0, "a"], [50449, 0, "s"], [50450, 0, " "], [50451, 0, "d"], [50452, 0, "e"], [50453, 0, "l"], [50454, 0, "e"], [50455, 0, "t"], [50456, 0, "e"], [50457, 0, "d"], [50458, 0, "."], [50459, 0, " "], [50460, 0, "T"], [50461, 0, "o"], [50462, 0, " "], [50463, 0, "t"], [50464, 0, "h"], [50465, 0, "i"], [50466, 0, "s"], [50467, 0, " "], [50468, 0, "e"], [50469, 0, "n"], [50470, 0, "d"], [50471, 0, ","], [50472, 0, " "], [50473, 0, "t"], [50474, 0, "h"], [50475, 0, "e"], [50476, 0, " "], [50477, 0, "l"], [50478, 0, "o"], [50479, 0, "c"], [50480, 0, "a"], [50481, 0, "l"], [50482, 0, " "], [50483, 0, "s"], [50484, 0, "t"], [50485, 0, "a"], [50486, 0, "t"], [50487, 0, "e"], [50488, 0, " "], [50489, 0, "c"], [50490, 0, "o"], [50491, 0, "n"], [50492, 0, "t"], [50493, 0, "a"], [50494, 0, "i"], [50495, 0, "n"], [50496, 0, "s"], [50497, 0, " "], [50498, 0, "a"], [50499, 0, " "], [50500, 0, "\\"], [50501, 0, "e"], [50502, 0, "m"], [50503, 0, "p"], [50504, 0, "h"], [50505, 0, "{"], [50506, 0, "p"], [50507, 0, "r"], [50508, 0, "e"], [50509, 0, "s"], [50510, 0, "e"], [50511, 0, "n"], [50512, 0, "c"], [50513, 0, "e"], [50514, 0, " "], [50515, 0, "s"], [50516, 0, "e"], [50517, 0, "t"], [50518, 0, "}"], [50519, 0, " "], [50520, 0, "$"], [50521, 0, "\\"], [50522, 0, "m"], [50523, 0, "a"], [50524, 0, "t"], [50525, 0, "h"], [50526, 0, "s"], [50527, 0, "f"], [50528, 0, "{"], [50529, 0, "p"], [50530, 0, "r"], [50531, 0, "e"], [50532, 0, "s"], [50533, 0, "}"], [50534, 0, "("], [50535, 0, "k"], [50536, 0, ")"], [50537, 0, "$"], [50538, 0, " "], [50539, 0, "f"], [50540, 0, "o"], [50541, 0, "r"], [50542, 0, " "], [50543, 0, "e"], [50544, 0, "a"], [50545, 0, "c"], [50546, 0, "h"], [50547, 0, " "], [50548, 0, "l"], [50549, 0, "i"], [50550, 0, "s"], [50551, 0, "t"], [50552, 0, " "], [50553, 0, "e"], [50554, 0, "l"], [50555, 0, "e"], [50556, 0, "m"], [50557, 0, "e"], [50558, 0, "n"], [50559, 0, "t"], [50560, 0, " "], [50561, 0, "w"], [50562, 0, "i"], [50563, 0, "t"], [50564, 0, "h"], [50565, 0, " "], [50566, 0, "I"], [50567, 0, "D"], [50568, 0, " "], [50569, 0, "$"], [50570, 0, "k"], [50571, 0, "$"], [50572, 0, "."], [50546, 1], [50545, 1], [50544, 1], [50543, 1], [50543, 0, "a"], [50489, 1], [50489, 1], [50489, 1], [50489, 0, "m"], [50490, 0, "a"], [50491, 0, "i"], [50492, 0, "n"], [50544, 1], [50544, 0, "t"], [50545, 0, "h"], [50546, 0, "e"], [50573, 0, " "], [50574, 0, "T"], [50575, 0, "h"], [50576, 0, "i"], [50577, 0, "s"], [50578, 0, " "], [50579, 0, "s"], [50579, 1], [50578, 1], [50577, 1], [50576, 1], [50575, 1], [50574, 1], [50574, 0, "T"], [50575, 0, "h"], [50575, 1], [50574, 1], [50573, 1], [50573, 0, " "], [50574, 0, "I"], [50575, 0, "t"], [50576, 0, " "], [50577, 0, "i"], [50578, 0, "s"], [50579, 0, " "], [50580, 0, "t"], [50581, 0, "h"], [50582, 0, "e"], [50583, 0, " "], [50584, 0, "s"], [50585, 0, "e"], [50586, 0, "t"], [50587, 0, " "], [50588, 0, "o"], [50589, 0, "f"], [50590, 0, " "], [50591, 0, "a"], [50592, 0, "l"], [50593, 0, "l"], [50594, 0, " "], [50595, 0, "o"], [50596, 0, "p"], [50597, 0, "e"], [50598, 0, "r"], [50599, 0, "a"], [50600, 0, "t"], [50601, 0, "i"], [50602, 0, "o"], [50603, 0, "n"], [50604, 0, "s"], [50605, 0, " "], [50606, 0, "t"], [50607, 0, "h"], [50608, 0, "a"], [50609, 0, "t"], [50610, 0, " "], [50611, 0, "h"], [50612, 0, "a"], [50613, 0, "v"], [50614, 0, "e"], [50615, 0, " "], [50616, 0, "a"], [50617, 0, "s"], [50618, 0, "s"], [50619, 0, "e"], [50620, 0, "r"], [50621, 0, "t"], [50622, 0, "e"], [50623, 0, "d"], [50624, 0, " "], [50625, 0, "t"], [50626, 0, "h"], [50627, 0, "e"], [50628, 0, " "], [50629, 0, "e"], [50630, 0, "x"], [50631, 0, "i"], [50632, 0, "s"], [50633, 0, "t"], [50634, 0, "e"], [50635, 0, "n"], [50636, 0, "c"], [50637, 0, "e"], [50638, 0, " "], [50639, 0, "o"], [50640, 0, "f"], [50641, 0, " "], [50642, 0, "t"], [50643, 0, "h"], [50644, 0, "e"], [50645, 0, " "], [50646, 0, "l"], [50647, 0, "i"], [50648, 0, "s"], [50649, 0, "t"], [50650, 0, " "], [50651, 0, "e"], [50652, 0, "l"], [50653, 0, "e"], [50654, 0, "m"], [50655, 0, "e"], [50656, 0, "n"], [50657, 0, "t"], [50658, 0, "."], [50659, 0, " "], [50660, 0, "W"], [50661, 0, "h"], [50662, 0, "e"], [50663, 0, "n"], [50664, 0, " "], [50665, 0, "a"], [50666, 0, " "], [50667, 0, "l"], [50668, 0, "i"], [50669, 0, "s"], [50670, 0, "t"], [50671, 0, " "], [50672, 0, "e"], [50673, 0, "l"], [50674, 0, "e"], [50675, 0, "m"], [50676, 0, "e"], [50677, 0, "n"], [50678, 0, "t"], [50679, 0, " "], [50680, 0, "i"], [50681, 0, "s"], [50682, 0, " "], [50683, 0, "d"], [50684, 0, "e"], [50685, 0, "l"], [50686, 0, "e"], [50687, 0, "t"], [50688, 0, "e"], [50689, 0, "d"], [50690, 0, ","], [50691, 0, " "], [50692, 0, "t"], [50693, 0, "h"], [50694, 0, "e"], [50695, 0, " "], [50696, 0, "p"], [50697, 0, "r"], [50698, 0, "e"], [50699, 0, "c"], [50700, 0, "e"], [50700, 1], [50699, 1], [50699, 0, "s"], [50700, 0, "e"], [50701, 0, "n"], [50702, 0, "c"], [50703, 0, "e"], [50704, 0, " "], [50705, 0, "s"], [50706, 0, "e"], [50707, 0, "t"], [50708, 0, " "], [50709, 0, "i"], [50710, 0, "s"], [50711, 0, " "], [50712, 0, "s"], [50713, 0, "e"], [50714, 0, "t"], [50715, 0, " "], [50716, 0, "t"], [50717, 0, "o"], [50718, 0, " "], [50719, 0, "t"], [50720, 0, "h"], [50721, 0, "e"], [50722, 0, " "], [50723, 0, "e"], [50724, 0, "m"], [50725, 0, "p"], [50726, 0, "t"], [50727, 0, "y"], [50728, 0, " "], [50729, 0, "s"], [50730, 0, "e"], [50731, 0, "t"], [50732, 0, ","], [50733, 0, " "], [50734, 0, "m"], [50735, 0, "a"], [50736, 0, "r"], [50737, 0, "k"], [50738, 0, "i"], [50739, 0, "n"], [50740, 0, "g"], [50741, 0, " "], [50742, 0, "i"], [50743, 0, "t"], [50744, 0, " "], [50745, 0, "a"], [50746, 0, "s"], [50747, 0, " "], [50748, 0, "d"], [50749, 0, "e"], [50750, 0, "l"], [50751, 0, "e"], [50752, 0, "t"], [50753, 0, "e"], [50754, 0, "d"], [50755, 0, ";"], [50756, 0, " "], [50757, 0, "h"], [50758, 0, "o"], [50759, 0, "w"], [50760, 0, "e"], [50761, 0, "v"], [50762, 0, "e"], [50763, 0, "r"], [50764, 0, ","], [50765, 0, " "], [50766, 0, "a"], [50767, 0, " "], [50768, 0, "c"], [50769, 0, "o"], [50770, 0, "n"], [50771, 0, "c"], [50772, 0, "u"], [50773, 0, "r"], [50774, 0, "r"], [50775, 0, "e"], [50776, 0, "n"], [50777, 0, "t"], [50778, 0, " "], [50779, 0, "o"], [50780, 0, "p"], [50781, 0, "e"], [50782, 0, "r"], [50783, 0, "a"], [50784, 0, "t"], [50785, 0, "i"], [50786, 0, "o"], [50787, 0, "n"], [50788, 0, " "], [50789, 0, "t"], [50790, 0, "h"], [50791, 0, "a"], [50792, 0, "t"], [50793, 0, " "], [50794, 0, "r"], [50795, 0, "e"], [50796, 0, "f"], [50797, 0, "e"], [50798, 0, "r"], [50799, 0, "e"], [50800, 0, "n"], [50801, 0, "c"], [50802, 0, "e"], [50803, 0, "s"], [50804, 0, " "], [50805, 0, "t"], [50806, 0, "h"], [50807, 0, "e"], [50808, 0, " "], [50809, 0, "l"], [50810, 0, "i"], [50811, 0, "s"], [50812, 0, "t"], [50813, 0, " "], [50814, 0, "e"], [50815, 0, "l"], [50816, 0, "e"], [50817, 0, "m"], [50818, 0, "e"], [50819, 0, "n"], [50820, 0, "t"], [50821, 0, " "], [50822, 0, "c"], [50823, 0, "a"], [50824, 0, "n"], [50825, 0, " "], [50826, 0, "c"], [50827, 0, "a"], [50828, 0, "u"], [50829, 0, "s"], [50830, 0, "e"], [50831, 0, " "], [50832, 0, "t"], [50833, 0, "h"], [50834, 0, "e"], [50835, 0, " "], [50836, 0, "p"], [50837, 0, "r"], [50838, 0, "e"], [50839, 0, "s"], [50840, 0, "e"], [50841, 0, "n"], [50842, 0, "c"], [50843, 0, "e"], [50844, 0, " "], [50845, 0, "s"], [50846, 0, "e"], [50847, 0, "t"], [50848, 0, " "], [50849, 0, "t"], [50850, 0, "o"], [50851, 0, " "], [50852, 0, "b"], [50853, 0, "e"], [50854, 0, " "], [50855, 0, "c"], [50856, 0, "o"], [50857, 0, "m"], [50858, 0, "e"], [50859, 0, " "], [50860, 0, "n"], [50861, 0, "o"], [50862, 0, "n"], [50863, 0, "-"], [50864, 0, "e"], [50865, 0, "m"], [50866, 0, "p"], [50867, 0, "t"], [50868, 0, "y"], [50869, 0, " "], [50870, 0, "a"], [50871, 0, "g"], [50872, 0, "a"], [50873, 0, "i"], [50874, 0, "n"], [50875, 0, " "], [50876, 0, "("], [50877, 0, "l"], [50878, 0, "e"], [50879, 0, "a"], [50880, 0, "d"], [50881, 0, "i"], [50882, 0, "n"], [50883, 0, "g"], [50884, 0, " "], [50885, 0, "t"], [50886, 0, "o"], [50887, 0, " "], [50888, 0, "t"], [50889, 0, "h"], [50890, 0, "e"], [50891, 0, " "], [50892, 0, "s"], [50893, 0, "i"], [50894, 0, "t"], [50895, 0, "u"], [50896, 0, "a"], [50897, 0, "t"], [50898, 0, "i"], [50899, 0, "o"], [50900, 0, "n"], [50901, 0, "s"], [50902, 0, " "], [50903, 0, "i"], [50904, 0, "n"], [50905, 0, " "], [50906, 0, "F"], [50907, 0, "i"], [50908, 0, "g"], [50909, 0, "u"], [50910, 0, "r"], [50911, 0, "e"], [50912, 0, "s"], [50913, 0, "~"], [50914, 0, "\\"], [50915, 0, "r"], [50916, 0, "e"], [50917, 0, "f"], [50918, 0, "{"], [50919, 0, "f"], [50920, 0, "i"], [50921, 0, "g"], [50922, 0, ":"], [50923, 0, "m"], [50924, 0, "a"], [50925, 0, "p"], [50926, 0, "-"], [50927, 0, "r"], [50928, 0, "e"], [50929, 0, "m"], [50930, 0, "o"], [50931, 0, "v"], [50932, 0, "e"], [50933, 0, "}"], [50934, 0, " "], [50935, 0, "a"], [50936, 0, "n"], [50937, 0, "d"], [50938, 0, " "], [50938, 1], [50938, 0, "~"], [50939, 0, "\\"], [50940, 0, "r"], [50941, 0, "e"], [50942, 0, "f"], [50943, 0, "{"], [50944, 0, "f"], [50945, 0, "i"], [50946, 0, "g"], [50947, 0, ":"], [50948, 0, "t"], [50949, 0, "o"], [50950, 0, "d"], [50951, 0, "o"], [50952, 0, "-"], [50953, 0, "i"], [50954, 0, "t"], [50955, 0, "e"], [50956, 0, "m"], [50957, 0, "}"], [50958, 0, ")"], [50959, 0, "."], [50575, 1], [50574, 1], [50573, 1], [50572, 1], [50572, 0, ","], [50573, 0, " "], [50574, 0, "w"], [50575, 0, "h"], [50576, 0, "i"], [50577, 0, "c"], [50578, 0, "h"], [50647, 1], [50647, 0, "i"], [50648, 0, "s"], [50744, 1], [50743, 1], [50742, 1], [50742, 0, "s"], [50738, 0, "w"], [50739, 0, "h"], [50740, 0, "i"], [50741, 0, "c"], [50742, 0, "h"], [50743, 0, " "], [50968, 0, " "], [50969, 0, "$"], [50969, 1], [50969, 0, "R"], [50970, 0, "u"], [50971, 0, "l"], [50972, 0, "e"], [50973, 0, " "], [50974, 0, "$"], [50975, 0, "\\"], [50976, 0, "t"], [50977, 0, "e"], [50978, 0, "x"], [50979, 0, "t"], [50980, 0, "s"], [50981, 0, "c"], [50982, 0, "{"], [50983, 0, "I"], [50984, 0, "d"], [50985, 0, "x"], [50986, 0, "}"], [50987, 0, "_"], [50988, 0, "4"], [50989, 0, "$"], [50990, 0, " "], [50991, 0, "h"], [50992, 0, "a"], [50993, 0, "n"], [50994, 0, "d"], [50995, 0, "l"], [50996, 0, "e"], [50997, 0, "s"], [50998, 0, " "], [50999, 0, "l"], [51000, 0, "i"], [51001, 0, "s"], [51002, 0, "t"], [51003, 0, " "], [51004, 0, "e"], [51005, 0, "l"], [51006, 0, "e"], [51007, 0, "m"], [51008, 0, "e"], [51009, 0, "n"], [51010, 0, "t"], [51011, 0, " "], [51011, 1], [51011, 0, "s"], [51012, 0, " "], [51013, 0, "w"], [51014, 0, "i"], [51015, 0, "t"], [51016, 0, "h"], [51017, 0, " "], [51018, 0, "e"], [51019, 0, "m"], [51020, 0, "p"], [51021, 0, "t"], [51022, 0, "y"], [51023, 0, " "], [51024, 0, "p"], [51025, 0, "r"], [51026, 0, "e"], [51027, 0, "s"], [51028, 0, "e"], [51029, 0, "n"], [51030, 0, "c"], [51031, 0, "e"], [51018, 0, "a"], [51019, 0, "n"], [51020, 0, " "], [51035, 0, " "], [51036, 0, "s"], [51037, 0, "e"], [51038, 0, "t"], [51039, 0, " "], [51040, 0, "b"], [51041, 0, "y"], [51042, 0, " "], [51043, 0, "m"], [51044, 0, "o"], [51045, 0, "v"], [51046, 0, "i"], [51047, 0, "n"], [51048, 0, "g"], [51049, 0, " "], [51050, 0, "t"], [51051, 0, "o"], [51052, 0, " "], [51053, 0, "t"], [51054, 0, "h"], [51055, 0, "e"], [51056, 0, " "], [51057, 0, "n"], [51058, 0, "e"], [51059, 0, "x"], [51060, 0, "t"], [51061, 0, " "], [51062, 0, "l"], [51063, 0, "i"], [51064, 0, "s"], [51065, 0, "t"], [51066, 0, " "], [51067, 0, "e"], [51068, 0, "l"], [51069, 0, "e"], [51070, 0, "m"], [51071, 0, "e"], [51072, 0, "n"], [51073, 0, "t"], [51074, 0, " "], [51075, 0, "w"], [51076, 0, "i"], [51077, 0, "t"], [51078, 0, "h"], [51079, 0, "o"], [51080, 0, "u"], [51081, 0, "t"], [51082, 0, " "], [51083, 0, "d"], [51084, 0, "e"], [51085, 0, "c"], [51086, 0, "r"], [51087, 0, "e"], [51088, 0, "m"], [51089, 0, "e"], [51090, 0, "n"], [51091, 0, "t"], [51092, 0, "i"], [51093, 0, "n"], [51094, 0, "g"], [51095, 0, " "], [51096, 0, "t"], [51097, 0, "h"], [51098, 0, "e"], [51099, 0, " "], [51100, 0, "i"], [51101, 0, "n"], [51102, 0, "d"], [51103, 0, "e"], [51104, 0, "x"], [51105, 0, "."], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [51108, 1], [47846, 0, "t"], [47847, 0, "h"], [47848, 0, "e"], [47849, 0, "s"], [47850, 0, "e"], [47851, 0, " "], [47852, 0, "i"], [47853, 0, "d"], [47854, 0, "e"], [47855, 0, "n"], [47856, 0, "t"], [47857, 0, "i"], [47858, 0, "f"], [47859, 0, "i"], [47860, 0, "e"], [47861, 0, "r"], [47862, 0, "s"], [47863, 0, " "], [47928, 1], [47927, 1], [47926, 1], [47925, 1], [47924, 1], [47923, 1], [47922, 1], [47921, 1], [47920, 1], [47919, 1], [47918, 1], [47917, 1], [47916, 1], [47915, 1], [47914, 1], [47913, 1], [47912, 1], [47911, 1], [47910, 1], [47909, 1], [47908, 1], [47907, 1], [47906, 1], [47905, 1], [47904, 1], [47903, 1], [47902, 1], [47901, 1], [47900, 1], [47899, 1], [47898, 1], [47897, 1], [47896, 1], [47895, 1], [49397, 1], [49396, 1], [49395, 1], [51086, 0, ","], [51087, 0, " "], [51088, 0, "i"], [51089, 0, "."], [51090, 0, "e"], [51091, 0, "."], [51092, 0, " "], [51093, 0, "n"], [51094, 0, "o"], [51095, 0, "t"], [51096, 0, " "], [51097, 0, "c"], [51098, 0, "o"], [51099, 0, "u"], [51100, 0, "n"], [51101, 0, "t"], [51102, 0, "i"], [51103, 0, "n"], [51104, 0, "g"], [51105, 0, " "], [51106, 0, "t"], [51107, 0, "h"], [51108, 0, "e"], [51109, 0, "m"], [51110, 0, " "], [51111, 0, "a"], [51112, 0, "s"], [51113, 0, " "], [51114, 0, "l"], [51115, 0, "i"], [51116, 0, "s"], [51117, 0, "t"], [51118, 0, " "], [51119, 0, "e"], [51120, 0, "l"], [51121, 0, "e"], [51122, 0, "m"], [51123, 0, "e"], [51124, 0, "n"], [51125, 0, "t"], [51126, 0, "s"], [51588, 1], [51587, 1], [51586, 1], [51585, 1], [51585, 0, "I"], [51586, 0, "d"], [51587, 0, "x"], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [51679, 1], [52207, 0, "s"], [52208, 0, "a"], [52209, 0, "m"], [52210, 0, "e"], [52211, 0, " "], [52415, 1], [52414, 1], [52413, 1], [52412, 1], [52411, 1], [52410, 1], [52409, 1], [52408, 1], [52407, 1], [52406, 1], [52405, 1], [52404, 1], [52403, 1], [52402, 1], [52401, 1], [52400, 1], [52399, 1], [52398, 1], [52397, 1], [52396, 1], [52395, 1], [52394, 1], [52393, 1], [52392, 1], [52391, 1], [52390, 1], [52389, 1], [52388, 1], [52387, 1], [52386, 1], [52385, 1], [52384, 1], [52383, 1], [52382, 1], [52381, 1], [52380, 1], [52379, 1], [52378, 1], [52377, 1], [52376, 1], [52375, 1], [52374, 1], [52373, 1], [52372, 1], [52371, 1], [52370, 1], [52369, 1], [52368, 1], [52367, 1], [52366, 1], [52365, 1], [52364, 1], [52363, 1], [52362, 1], [52361, 1], [52360, 1], [52359, 1], [52358, 1], [52357, 1], [52356, 1], [52355, 1], [52354, 1], [52353, 1], [52352, 1], [52351, 1], [52350, 1], [52349, 1], [52348, 1], [52347, 1], [52346, 1], [52345, 1], [52344, 1], [52343, 1], [52342, 1], [52341, 1], [52340, 1], [52339, 1], [52338, 1], [52337, 1], [52336, 1], [52335, 1], [52334, 1], [52333, 1], [52332, 1], [52331, 1], [52330, 1], [52329, 1], [52328, 1], [52327, 1], [52326, 1], [52325, 1], [52324, 1], [52323, 1], [52322, 1], [52321, 1], [52320, 1], [52319, 1], [52318, 1], [52317, 1], [52316, 1], [52315, 1], [52314, 1], [52313, 1], [52312, 1], [52311, 1], [52310, 1], [52309, 1], [52308, 1], [52307, 1], [52306, 1], [52305, 1], [52304, 1], [52303, 1], [52302, 1], [52301, 1], [52300, 1], [52299, 1], [52298, 1], [52297, 1], [52296, 1], [52295, 1], [52294, 1], [52293, 1], [52292, 1], [52291, 1], [52290, 1], [52289, 1], [52288, 1], [52287, 1], [52286, 1], [52285, 1], [52284, 1], [52283, 1], [52282, 1], [52281, 1], [52280, 1], [52279, 1], [52278, 1], [52277, 1], [52488, 0, ","], [54900, 0, "\\"], [54901, 0, "e"], [54902, 0, "m"], [54903, 0, "p"], [54904, 0, "h"], [54905, 0, "{"], [54925, 0, "}"], [54943, 0, "."], [54944, 0, " "], [54945, 0, "A"], [54946, 0, " "], [54947, 0, "c"], [54947, 1], [54946, 1], [54946, 0, " "], [54947, 0, "c"], [54948, 0, "a"], [54949, 0, "u"], [54950, 0, "s"], [54951, 0, "a"], [54952, 0, "l"], [54953, 0, " "], [54954, 0, "d"], [54955, 0, "e"], [54956, 0, "p"], [54957, 0, "e"], [54958, 0, "n"], [54959, 0, "d"], [54960, 0, "e"], [54961, 0, "n"], [54962, 0, "c"], [54963, 0, "y"], [54964, 0, " "], [54965, 0, "i"], [54966, 0, "s"], [54967, 0, " "], [54967, 1], [54966, 1], [54965, 1], [54965, 0, "o"], [54966, 0, "f"], [54967, 0, " "], [54968, 0, "o"], [54969, 0, "p"], [54970, 0, "e"], [54971, 0, "r"], [54972, 0, "a"], [54973, 0, "t"], [54974, 0, "i"], [54975, 0, "o"], [54976, 0, "n"], [54977, 0, " "], [54978, 0, "$"], [54979, 0, "o"], [54980, 0, "_"], [54981, 0, "2"], [54982, 0, "$"], [54983, 0, " "], [54984, 0, "i"], [54985, 0, "s"], [54986, 0, " "], [54987, 0, "a"], [54988, 0, "n"], [54989, 0, "y"], [54990, 0, " "], [54991, 0, "o"], [54992, 0, "p"], [54993, 0, "e"], [54994, 0, "r"], [54995, 0, "a"], [54996, 0, "t"], [54997, 0, "i"], [54998, 0, "o"], [54999, 0, "n"], [55000, 0, " "], [55001, 0, "$"], [55002, 0, "o"], [55003, 0, "_"], [55004, 0, "1"], [55005, 0, "$"], [55006, 0, " "], [55007, 0, "t"], [55008, 0, "h"], [55009, 0, "a"], [55010, 0, "t"], [55011, 0, " "], [55012, 0, "h"], [55013, 0, "a"], [55014, 0, "d"], [55015, 0, " "], [55016, 0, "b"], [55017, 0, "e"], [55018, 0, "e"], [55019, 0, "n"], [55020, 0, " "], [55021, 0, "a"], [55022, 0, "p"], [55023, 0, "p"], [55024, 0, "l"], [55025, 0, "i"], [55026, 0, "e"], [55027, 0, "d"], [55028, 0, " "], [55029, 0, "a"], [55030, 0, "t"], [55031, 0, " "], [55032, 0, "t"], [55033, 0, "h"], [55034, 0, "e"], [55035, 0, " "], [55036, 0, "r"], [55037, 0, "e"], [55038, 0, "p"], [55039, 0, "l"], [55040, 0, "i"], [55041, 0, "c"], [55042, 0, "a"], [55043, 0, " "], [55044, 0, "w"], [55045, 0, "h"], [55046, 0, "e"], [55047, 0, "r"], [55048, 0, "e"], [55049, 0, " "], [55050, 0, "$"], [55051, 0, "o"], [55052, 0, "_"], [55053, 0, "2"], [55054, 0, "$"], [55055, 0, " "], [55056, 0, "w"], [55057, 0, "a"], [55058, 0, "s"], [55059, 0, " "], [55015, 0, " "], [55016, 0, "a"], [55017, 0, "l"], [55018, 0, "r"], [55019, 0, "e"], [55020, 0, "a"], [55021, 0, "d"], [55022, 0, "y"], [54944, 0, " "], [54945, 0, "I"], [54946, 0, "f"], [54947, 0, " "], [54948, 0, "o"], [54949, 0, "p"], [54950, 0, "e"], [54951, 0, "r"], [54952, 0, "a"], [54953, 0, "t"], [54954, 0, "i"], [54955, 0, "o"], [54956, 0, "n"], [54957, 0, " "], [54958, 0, "$"], [54959, 0, "o"], [54960, 0, "_"], [54961, 0, "2"], [54962, 0, "$"], [54963, 0, " "], [54964, 0, "w"], [54965, 0, "a"], [54966, 0, "s"], [54967, 0, " "], [54968, 0, "g"], [54969, 0, "e"], [54970, 0, "n"], [54971, 0, "e"], [54972, 0, "r"], [54973, 0, "a"], [54974, 0, "t"], [54975, 0, "e"], [54976, 0, "d"], [54977, 0, " "], [54978, 0, "b"], [54979, 0, "y"], [54980, 0, " "], [54981, 0, "r"], [54982, 0, "e"], [54983, 0, "p"], [54984, 0, "l"], [54985, 0, "i"], [54986, 0, "c"], [54987, 0, "a"], [54988, 0, " "], [54989, 0, "$"], [54990, 0, "p"], [54991, 0, "$"], [54992, 0, ","], [54993, 0, " "], [54994, 0, "t"], [54995, 0, "h"], [54996, 0, "e"], [54997, 0, "n"], [54999, 1], [54999, 0, "a"], [55030, 1], [55029, 1], [55028, 1], [55027, 1], [55026, 1], [55025, 1], [55024, 1], [55023, 1], [55022, 1], [55021, 1], [55080, 0, " "], [55081, 0, "o"], [55082, 0, "n"], [55083, 0, " "], [55084, 0, "$"], [55085, 0, "p"], [55086, 0, "$"], [55087, 0, " "], [55088, 0, "a"], [55089, 0, "t"], [55090, 0, " "], [55091, 0, "t"], [55092, 0, "h"], [55093, 0, "e"], [55094, 0, " "], [55095, 0, "t"], [55096, 0, "i"], [55097, 0, "m"], [55098, 0, "e"], [55099, 0, " "], [55100, 0, "w"], [55101, 0, "h"], [55102, 0, "e"], [55103, 0, "n"], [55104, 0, " "], [55105, 0, "$"], [55106, 0, "o"], [55107, 0, "_"], [55108, 0, "2"], [55109, 0, "$"], [55110, 0, " "], [55111, 0, "w"], [55112, 0, "a"], [55113, 0, "s"], [55114, 0, " "], [55115, 0, "g"], [55116, 0, "e"], [55117, 0, "n"], [55118, 0, "e"], [55119, 0, "r"], [55120, 0, "a"], [55121, 0, "t"], [55122, 0, "e"], [55123, 0, "d"], [55124, 0, "."], [55125, 0, " "], [55126, 0, "I"], [55127, 0, "n"], [55128, 0, " "], [55129, 0, "t"], [55130, 0, "h"], [55131, 0, "i"], [55132, 0, "s"], [55133, 0, " "], [55134, 0, "p"], [55135, 0, "a"], [55136, 0, "p"], [55137, 0, "e"], [55138, 0, "r"], [55139, 0, ","], [55140, 0, " "], [55141, 0, "w"], [55142, 0, "e"], [55143, 0, " "], [55144, 0, "d"], [55145, 0, "e"], [55146, 0, "f"], [55147, 0, "i"], [55148, 0, "n"], [55149, 0, "e"], [55150, 0, "d"], [55150, 1], [55150, 0, " "], [55151, 0, "t"], [55152, 0, "h"], [55153, 0, "e"], [55154, 0, " "], [55154, 1], [55153, 1], [55152, 1], [55151, 1], [55151, 0, "\\"], [55152, 0, "m"], [55153, 0, "a"], [55153, 1], [55152, 1], [55151, 1], [55151, 0, "$"], [55152, 0, "\\"], [55153, 0, "m"], [55154, 0, "a"], [55155, 0, "t"], [55156, 0, "h"], [55157, 0, "i"], [55158, 0, "t"], [55159, 0, "{"], [55160, 0, "d"], [55161, 0, "e"], [55162, 0, "p"], [55163, 0, "s"], [55164, 0, "}"], [55165, 0, "$"], [55166, 0, " "], [55167, 0, "a"], [55168, 0, "s"], [55169, 0, " "], [55170, 0, "t"], [55171, 0, "h"], [55172, 0, "e"], [55173, 0, " "], [55174, 0, "s"], [55175, 0, "e"], [55176, 0, "t"], [55177, 0, " "], [55178, 0, "o"], [55179, 0, "f"], [55180, 0, " "], [55181, 0, "L"], [55182, 0, "a"], [55183, 0, "m"], [55184, 0, "p"], [55185, 0, "o"], [55186, 0, "r"], [55187, 0, "t"], [55188, 0, " "], [55189, 0, "t"], [55190, 0, "i"], [55191, 0, "m"], [55192, 0, "e"], [55193, 0, "s"], [55194, 0, "t"], [55195, 0, "a"], [55196, 0, "m"], [55197, 0, "p"], [55198, 0, "s"], [55199, 0, " "], [55200, 0, "o"], [55201, 0, "f"], [55202, 0, " "], [55203, 0, "a"], [55204, 0, "l"], [55205, 0, "l"], [55206, 0, " "], [55207, 0, "c"], [55208, 0, "a"], [55209, 0, "u"], [55210, 0, "s"], [55211, 0, "a"], [55212, 0, "l"], [55213, 0, " "], [55214, 0, "d"], [55215, 0, "e"], [55216, 0, "p"], [55217, 0, "e"], [55218, 0, "n"], [55219, 0, "d"], [55220, 0, "e"], [55221, 0, "n"], [55222, 0, "c"], [55223, 0, "i"], [55224, 0, "e"], [55225, 0, "s"], [55226, 0, "."], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [55228, 1], [54944, 0, " "], [54945, 0, "I"], [54946, 0, "t"], [54947, 0, " "], [54948, 0, "i"], [54949, 0, "s"], [54950, 0, " "], [54951, 0, "d"], [54952, 0, "e"], [54953, 0, "f"], [54954, 0, "i"], [54955, 0, "n"], [54956, 0, "e"], [54957, 0, "d"], [54958, 0, " "], [54959, 0, "a"], [54960, 0, "s"], [54961, 0, " "], [54962, 0, "f"], [54963, 0, "o"], [54964, 0, "l"], [54965, 0, "l"], [54966, 0, "o"], [54967, 0, "w"], [54968, 0, "s"], [54969, 0, ":"], [54971, 1], [54971, 0, "i"], [56788, 0, "A"], [56789, 0, "f"], [56790, 0, "t"], [56791, 0, "e"], [56792, 0, "r"], [78015, 1], [78014, 1], [78013, 1], [78012, 1], [78012, 0, "I"], [78013, 0, "d"], [78014, 0, "x"], [78085, 1], [78084, 1], [78083, 1], [78082, 1], [78082, 0, "i"], [78083, 0, "d"], [78084, 0, "x"], [78074, 0, "$"], [78087, 0, "("], [78088, 0, "n"], [78089, 0, ")"], [78090, 0, "$"], [78079, 1], [78078, 1], [78077, 1], [78076, 1], [78075, 1], [78075, 0, "\\"], [78076, 0, "m"], [78077, 0, "a"], [78078, 0, "t"], [78079, 0, "h"], [78079, 1], [78078, 1], [78077, 1], [78076, 1], [78076, 0, "t"], [78077, 0, "e"], [78078, 0, "x"], [78078, 1], [78077, 1], [78076, 1], [78076, 0, "m"], [78077, 0, "a"], [78078, 0, "t"], [78079, 0, "h"], [78019, 1], [78018, 1], [78019, 0, ","], [78020, 0, "4"], [88740, 1], [88740, 1], [88740, 1], [88740, 1], [88740, 0, "I"], [88741, 0, "d"], [88742, 0, "x"], [78131, 0, " "], [78132, 0, "b"], [78133, 0, "e"], [78134, 0, "c"], [78135, 0, "a"], [78136, 0, "u"], [78137, 0, "s"], [78138, 0, "e"], [78139, 0, " "], [78140, 0, "$"], [78141, 0, "n"], [78142, 0, "$"], [78143, 0, " "], [78144, 0, "i"], [78145, 0, "s"], [78146, 0, " "], [78147, 0, "g"], [78148, 0, "r"], [78149, 0, "e"], [78150, 0, "a"], [78151, 0, "t"], [78152, 0, "e"], [78153, 0, "r"], [78154, 0, " "], [78155, 0, "t"], [78156, 0, "h"], [78157, 0, "a"], [78158, 0, "n"], [78159, 0, " "], [78160, 0, "t"], [78161, 0, "h"], [78162, 0, "e"], [78163, 0, " "], [78164, 0, "n"], [78165, 0, "u"], [78166, 0, "m"], [78167, 0, "b"], [78168, 0, "e"], [78169, 0, "r"], [78170, 0, " "], [78171, 0, "o"], [78172, 0, "f"], [78173, 0, " "], [78174, 0, "n"], [78175, 0, "o"], [78176, 0, "n"], [78177, 0, "-"], [78178, 0, "d"], [78179, 0, "e"], [78180, 0, "l"], [78181, 0, "e"], [78182, 0, "t"], [78183, 0, "e"], [78184, 0, "d"], [78185, 0, " "], [78186, 0, "e"], [78187, 0, "l"], [78188, 0, "e"], [78189, 0, "m"], [78190, 0, "e"], [78191, 0, "n"], [78192, 0, "t"], [78193, 0, "s"], [78194, 0, " "], [78195, 0, "i"], [78196, 0, "n"], [78197, 0, " "], [78198, 0, "t"], [78199, 0, "h"], [78200, 0, "e"], [78201, 0, " "], [78202, 0, "l"], [78203, 0, "i"], [78204, 0, "s"], [78205, 0, "t"], [78138, 1], [78137, 1], [78136, 1], [78135, 1], [78134, 1], [78133, 1], [78132, 1], [78131, 1], [78131, 0, ","], [78132, 0, " "], [78133, 0, "w"], [78134, 0, "h"], [78135, 0, "i"], [78136, 0, "c"], [78137, 0, "h"], [78138, 0, " "], [78139, 0, "w"], [78140, 0, "o"], [78141, 0, "u"], [78142, 0, "l"], [78143, 0, "d"], [78144, 0, " "], [78145, 0, "h"], [78146, 0, "a"], [78147, 0, "p"], [78148, 0, "p"], [78149, 0, "e"], [78150, 0, "n"], [78151, 0, " "], [78152, 0, "i"], [78153, 0, "f"], [51086, 1], [51086, 0, " "], [51087, 1], [51087, 0, "("], [51092, 0, ","], [51128, 0, ")"], [56024, 1], [56025, 0, "("], [56030, 0, ","], [56067, 1], [56067, 0, ")"], [56067, 0, " "], [56068, 0, "i"], [56069, 0, "n"], [56070, 0, " "], [56071, 0, "e"], [56072, 0, "i"], [56073, 0, "t"], [56074, 0, "h"], [56075, 0, "e"], [56076, 0, "r"], [56077, 0, " "], [56078, 0, "d"], [56079, 0, "i"], [56080, 0, "r"], [56081, 0, "e"], [56082, 0, "c"], [56083, 0, "t"], [56084, 0, "i"], [56085, 0, "o"], [56086, 0, "n"], [68783, 1], [68782, 1], [68781, 1], [68780, 1], [68780, 0, "w"], [68781, 0, "h"], [68782, 0, "i"], [68783, 0, "c"], [68784, 0, "h"], [68785, 0, " "], [68786, 0, "i"], [68787, 0, "s"], [68788, 0, " "], [68789, 0, "t"], [68790, 0, "h"], [68791, 0, "e"], [68792, 0, " "], [68793, 0, "c"], [68794, 0, "a"], [68795, 0, "s"], [68796, 0, "e"], [59857, 1], [59856, 1], [59855, 1], [59854, 1], [59853, 1], [59852, 1], [59851, 1], [59850, 1], [59849, 1], [59848, 1], [59847, 1], [59846, 1], [59845, 1], [59845, 0, "i"], [59846, 0, "t"], [59847, 0, "s"], [59847, 1], [59846, 1], [59845, 1], [59845, 0, "t"], [59846, 0, "h"], [59847, 0, "e"], [61346, 1], [61345, 1], [61344, 1], [61343, 1], [61342, 1], [61341, 1], [61340, 1], [61339, 1], [61338, 1], [61337, 1], [61335, 1], [61334, 1], [61333, 1], [61333, 0, "i"], [61334, 0, "t"], [61335, 0, "s"], [60398, 1], [60398, 1], [60398, 1], [60398, 1], [60398, 1], [60398, 1], [60398, 1], [60398, 1], [60398, 1], [60398, 1], [60398, 1], [60398, 1], [60398, 1], [60398, 1], [60398, 1], [60398, 1], [60398, 1], [61440, 1], [61439, 1], [61438, 1], [61437, 1], [61436, 1], [61435, 1], [61434, 1], [61433, 1], [61432, 1], [61431, 1], [61431, 0, "a"], [61432, 0, "p"], [61433, 0, "p"], [61434, 0, "l"], [61435, 0, "y"], [61436, 0, "i"], [61437, 0, "n"], [61438, 0, "g"], [61250, 1], [61249, 1], [61248, 1], [61247, 1], [61246, 1], [61245, 1], [61244, 1], [61243, 1], [61242, 1], [61242, 0, "a"], [61243, 0, "p"], [61244, 0, "p"], [61245, 0, "l"], [61246, 0, "i"], [61247, 0, "e"], [61248, 0, "s"], [67605, 1], [67604, 1], [67603, 1], [67602, 1], [67601, 1], [67600, 1], [67599, 1], [67598, 1], [67598, 0, "a"], [67599, 0, "p"], [67600, 0, "p"], [67601, 0, "l"], [67602, 0, "y"], [67636, 1], [67635, 1], [67634, 1], [67633, 1], [67632, 1], [67631, 1], [67631, 0, "t"], [67632, 0, "o"], [67662, 1], [67661, 1], [67660, 1], [67659, 1], [67666, 1], [67666, 0, "i"], [67667, 0, "n"], [67668, 0, "g"], [67964, 1], [67963, 1], [67970, 0, "'"], [67971, 0, "s"], [67972, 0, " "], [67973, 0, "v"], [67974, 0, "e"], [67975, 0, "c"], [67976, 0, "t"], [67977, 0, "o"], [67978, 0, "r"], [67979, 0, " "], [67980, 0, "o"], [67981, 0, "f"], [67982, 0, " "], [67983, 0, "k"], [67984, 0, "e"], [67985, 0, "y"], [67986, 0, "s"], [67987, 0, " "], [67988, 0, "i"], [67989, 0, "s"], [67990, 0, " "], [67991, 0, "n"], [67992, 0, "o"], [67993, 0, "n"], [67994, 0, "-"], [67995, 0, "e"], [67996, 0, "m"], [67997, 0, "p"], [67998, 0, "t"], [67999, 0, "y"], [68000, 0, ","], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68002, 1], [68135, 1], [68134, 1], [68133, 1], [68132, 1], [68131, 1], [68130, 1], [68129, 1], [68128, 1], [68127, 1], [68126, 1], [68125, 1], [68124, 1], [68123, 1], [68122, 1], [68121, 1], [68120, 1], [68119, 1], [68118, 1], [68117, 1], [68116, 1], [68115, 1], [68114, 1], [68113, 1], [68112, 1], [68111, 1], [68110, 1], [68109, 1], [68108, 1], [68107, 1], [68106, 1], [68105, 1], [68104, 1], [68103, 1], [68102, 1], [68101, 1], [68100, 1], [68099, 1], [68098, 1], [68097, 1], [68096, 1], [68095, 1], [68094, 1], [68093, 1], [68092, 1], [68091, 1], [68090, 1], [68089, 1], [68088, 1], [68087, 1], [68086, 1], [68085, 1], [68085, 0, "b"], [68086, 0, "y"], [68087, 0, " "], [68088, 0, "f"], [68089, 0, "o"], [68090, 0, "l"], [68091, 0, "l"], [68092, 0, "o"], [68093, 0, "w"], [68094, 0, "i"], [68095, 0, "n"], [68096, 0, "g"], [68097, 0, " "], [68098, 0, "t"], [68099, 0, "h"], [68100, 0, "e"], [68101, 0, " "], [68102, 0, "p"], [68103, 0, "a"], [68104, 0, "t"], [68105, 0, "h"], [68106, 0, " "], [68107, 0, "d"], [68108, 0, "e"], [68109, 0, "s"], [68110, 0, "c"], [68111, 0, "r"], [68112, 0, "i"], [68113, 0, "b"], [68114, 0, "e"], [68115, 0, "d"], [68116, 0, " "], [68117, 0, "b"], [68118, 0, "y"], [68119, 0, " "], [68120, 0, "t"], [68121, 0, "h"], [68122, 0, "e"], [68123, 0, "s"], [68124, 0, "e"], [68125, 0, " "], [68126, 0, "k"], [68127, 0, "e"], [68128, 0, "y"], [68129, 0, "s"], [68124, 1], [68123, 1], [76500, 0, ","], [81608, 0, "\n"], [81609, 0, "\n"], [81608, 0, "a"], [81609, 0, "r"], [81610, 0, "e"], [81611, 0, " "], [81612, 0, "a"], [81613, 0, "l"], [81614, 0, "s"], [81615, 0, "o"], [81616, 0, " "], [81617, 0, "w"], [81618, 0, "o"], [81619, 0, "r"], [81620, 0, "k"], [81621, 0, "i"], [81622, 0, "n"], [81623, 0, "g"], [81624, 0, " "], [81625, 0, "o"], [81626, 0, "n"], [81627, 0, " "], [81628, 0, "a"], [81629, 0, " "], [81630, 0, "p"], [81631, 0, "r"], [81632, 0, "a"], [81633, 0, "c"], [81634, 0, "t"], [81635, 0, "i"], [81636, 0, "c"], [81637, 0, "a"], [81638, 0, "l"], [81639, 0, " "], [81640, 0, "i"], [81641, 0, "m"], [81642, 0, "p"], [81643, 0, "l"], [81644, 0, "e"], [81645, 0, "m"], [81646, 0, "e"], [81647, 0, "n"], [81648, 0, "t"], [81649, 0, "a"], [81650, 0, "t"], [81651, 0, "i"], [81652, 0, "o"], [81653, 0, "n"], [81654, 0, " "], [81655, 0, "o"], [81656, 0, "f"], [81657, 0, " "], [81658, 0, "t"], [81659, 0, "h"], [81660, 0, "e"], [81661, 0, " "], [81662, 0, "a"], [81663, 0, "l"], [81664, 0, "g"], [81665, 0, "o"], [81666, 0, "r"], [81667, 0, "i"], [81668, 0, "t"], [81669, 0, "h"], [81670, 0, "m"], [81671, 0, ","], [81672, 0, " "], [81673, 0, "a"], [81674, 0, "n"], [81675, 0, "d"], [81676, 0, " "], [81677, 0, "w"], [81678, 0, "i"], [81679, 0, "l"], [81680, 0, "l"], [81681, 0, " "], [81682, 0, "r"], [81683, 0, "e"], [81684, 0, "p"], [81685, 0, "o"], [81686, 0, "r"], [81687, 0, "t"], [81688, 0, " "], [81689, 0, "o"], [81690, 0, "n"], [81691, 0, " "], [81692, 0, "i"], [81693, 0, "t"], [81694, 0, "s"], [81695, 0, " "], [81696, 0, "p"], [81697, 0, "e"], [81698, 0, "r"], [81699, 0, "f"], [81700, 0, "o"], [81701, 0, "r"], [81702, 0, "m"], [81703, 0, "a"], [81704, 0, "n"], [81705, 0, "c"], [81706, 0, "e"], [81707, 0, " "], [81708, 0, "c"], [81709, 0, "h"], [81710, 0, "a"], [81711, 0, "r"], [81712, 0, "a"], [81713, 0, "c"], [81714, 0, "t"], [81715, 0, "e"], [81716, 0, "r"], [81717, 0, "i"], [81718, 0, "s"], [81719, 0, "t"], [81720, 0, "i"], [81721, 0, "c"], [81722, 0, "s"], [81723, 0, " "], [81724, 0, "i"], [81725, 0, "n"], [81726, 0, " "], [81727, 0, "f"], [81728, 0, "o"], [81729, 0, "l"], [81730, 0, "l"], [81731, 0, "o"], [81732, 0, "w"], [81733, 0, "-"], [81734, 0, "o"], [81735, 0, "n"], [81736, 0, " "], [81737, 0, "w"], [81738, 0, "o"], [81739, 0, "r"], [81740, 0, "k"], [81741, 0, "."], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [81744, 1], [50439, 0, " "], [50440, 0, "("], [50441, 0, "t"], [50442, 0, "h"], [50443, 0, "i"], [50444, 0, "s"], [50445, 0, " "], [50445, 1], [50444, 1], [50443, 1], [50442, 1], [50441, 1], [50441, 0, "t"], [50442, 0, "h"], [50443, 0, "e"], [50444, 0, "y"], [50445, 0, " "], [50446, 0, "b"], [50447, 0, "e"], [50448, 0, "c"], [50449, 0, "o"], [50450, 0, "m"], [50451, 0, "e"], [50452, 0, " "], [50453, 0, "\\"], [50454, 0, "e"], [50455, 0, "m"], [50456, 0, "p"], [50457, 0, "h"], [50458, 0, "{"], [50459, 0, "t"], [50460, 0, "o"], [50461, 0, "m"], [50462, 0, "b"], [50463, 0, "s"], [50464, 0, "t"], [50465, 0, "o"], [50466, 0, "n"], [50467, 0, "e"], [50468, 0, "s"], [50469, 0, "}"], [50470, 0, ")"], [50453, 0, "s"], [50454, 0, "o"], [50455, 0, "-"], [50456, 0, "c"], [50456, 1], [50455, 0, "c"], [50455, 1], [50456, 0, "c"], [50457, 0, "a"], [50458, 0, "l"], [50459, 0, "l"], [50460, 0, "e"], [50461, 0, "d"], [50462, 0, " "], [51273, 1], [51272, 1], [51271, 1], [51270, 1], [51269, 1], [51268, 1], [51267, 1], [51266, 1], [51265, 1], [51264, 1], [51263, 1], [51262, 1], [51261, 1], [51260, 1], [51259, 1], [51258, 1], [51257, 1], [81843, 0, "a"], [81844, 0, "t"], [81845, 0, " "], [81846, 0, "f"], [81847, 0, "i"], [81848, 0, "r"], [81849, 0, "s"], [81850, 0, "t"], [81851, 0, " "], [81852, 0, "g"], [81853, 0, "l"], [81854, 0, "a"], [81855, 0, "n"], [81856, 0, "c"], [81857, 0, "e"], [81858, 0, " "], [81859, 0, "t"], [81860, 0, "o"], [81861, 0, " "], [81862, 0, "b"], [81863, 0, "e"], [81864, 0, " "], [82145, 0, ","], [83232, 0, "\n"], [83233, 0, "\\"], [83234, 0, "v"], [83235, 0, "f"], [83236, 0, "i"], [83237, 0, "l"], [83238, 0, "l"], [83231, 1], [83238, 0, "\n"], [84410, 1], [84409, 1], [84408, 1], [84407, 1], [84406, 1], [84405, 1], [84404, 1], [84403, 1], [12217, 1], [12217, 1], [12217, 1], [12217, 1], [12217, 1], [12217, 1], [12217, 1], [12217, 1], [12217, 0, "q"], [12218, 0, "u"], [12219, 0, "o"], [12220, 0, "r"], [12221, 0, "u"], [12222, 0, "m"], [12474, 0, "s"], [12475, 0, "t"], [12476, 0, "r"], [12477, 0, "u"], [12478, 0, "g"], [12479, 0, "g"], [12480, 0, "l"], [12481, 0, "e"], [12482, 0, " "], [12483, 0, "t"], [12484, 0, "o"], [12485, 0, " "], [12486, 0, "r"], [12487, 0, "e"], [12488, 0, "a"], [12489, 0, "c"], [12490, 0, "h"], [12491, 0, " "], [12492, 0, "a"], [12493, 0, " "], [12494, 0, "q"], [12495, 0, "u"], [12496, 0, "o"], [12497, 0, "r"], [12498, 0, "u"], [12499, 0, "m"], [12500, 0, " "], [12501, 0, "a"], [12502, 0, "n"], [12503, 0, "d"], [12504, 0, " "], [12412, 1], [12411, 1], [12410, 1], [12409, 1], [12408, 1], [12407, 1], [12406, 1], [12405, 1], [12404, 1], [12403, 1], [12402, 1], [12401, 1], [12400, 1], [12399, 1], [12398, 1], [12397, 1], [12396, 1], [12395, 1], [12394, 1], [12393, 1], [12393, 0, "e"], [12394, 0, " "], [12395, 0, "o"], [12396, 0, "f"], [12397, 0, "f"], [12398, 0, "l"], [12399, 0, "i"], [12400, 0, "n"], [12401, 0, "e"], [12402, 0, " "], [12403, 0, "a"], [12404, 0, "t"], [12405, 0, " "], [12406, 0, "a"], [12407, 0, "n"], [12408, 0, "y"], [12409, 0, " "], [12410, 0, "o"], [12411, 0, "n"], [12412, 0, "e"], [12376, 1], [12375, 1], [12374, 1], [12373, 1], [12372, 1], [12371, 1], [12370, 1], [12369, 1], [12368, 1], [12367, 1], [12366, 1], [12365, 1], [12364, 1], [12363, 1], [12362, 1], [12361, 1], [12360, 1], [12359, 1], [12359, 0, "m"], [12360, 0, "a"], [12361, 0, "n"], [12362, 0, "y"], [12511, 0, "W"], [12512, 0, "i"], [12513, 0, "t"], [12514, 0, "h"], [12515, 0, "o"], [12516, 0, "u"], [12517, 0, "t"], [12518, 0, " "], [12519, 0, "q"], [12520, 0, "u"], [12521, 0, "o"], [12522, 0, "r"], [12523, 0, "u"], [12524, 0, "m"], [12525, 0, "s"], [12526, 0, ","], [12527, 0, " "], [12528, 1], [12528, 0, "t"], [12556, 1], [12555, 1], [12554, 1], [12553, 1], [12552, 1], [12006, 0, " "], [12007, 0, "w"], [12008, 0, "i"], [12009, 0, "t"], [12010, 0, "h"], [12011, 0, "o"], [12012, 0, "u"], [12013, 0, "t"], [12014, 0, " "], [12015, 0, "u"], [12016, 0, "s"], [12017, 0, "i"], [12018, 0, "n"], [12019, 0, "g"], [12020, 0, " "], [12021, 0, "a"], [12022, 0, " "], [12023, 0, "s"], [12024, 0, "i"], [12025, 0, "n"], [12026, 0, "g"], [12027, 0, "l"], [12028, 0, "e"], [12029, 0, " "], [12030, 0, "s"], [12031, 0, "e"], [12032, 0, "r"], [12033, 0, "v"], [12034, 0, "e"], [12035, 0, "r"], [12137, 1], [12136, 1], [12135, 1], [12134, 1], [12133, 1], [12132, 1], [12131, 1], [12130, 1], [12129, 1], [12128, 1], [12127, 1], [12126, 1], [12125, 1], [12124, 1], [12123, 1], [12122, 1], [12121, 1], [12120, 1], [12119, 1], [12118, 1], [12117, 1], [12116, 1], [12115, 1], [12114, 1], [12113, 1], [12112, 1], [12111, 1], [12110, 1], [12109, 1], [12108, 1], [12107, 1], [12106, 1], [12105, 1], [12104, 1], [12103, 1], [12102, 1], [12101, 1], [12100, 1], [12099, 1], [12098, 1], [12097, 1], [12242, 1], [12241, 1], [12240, 1], [12239, 1], [12238, 1], [12237, 1], [12236, 1], [12235, 1], [12234, 1], [12233, 1], [12232, 1], [12300, 0, " "], [12301, 0, "p"], [12302, 0, "a"], [12303, 0, "r"], [12304, 0, "t"], [12305, 0, "i"], [12306, 0, "c"], [12307, 0, "i"], [12308, 0, "p"], [12309, 0, "a"], [12310, 0, "n"], [12311, 0, "t"], [12312, 0, "s"], [12313, 1], [12313, 1], [12313, 1], [12391, 1], [12390, 1], [12389, 1], [12388, 1], [12387, 1], [12386, 1], [12385, 1], [12384, 1], [12383, 1], [12382, 1], [12381, 1], [12380, 1], [12379, 1], [12378, 1], [12377, 1], [12376, 1], [12367, 1], [12366, 1], [12365, 1], [12364, 1], [12363, 1], [12362, 1], [12361, 1], [12360, 1], [12359, 1], [12358, 1], [12357, 1], [12356, 1], [12355, 1], [12354, 1], [12353, 1], [12352, 1], [12351, 1], [12350, 1], [12349, 1], [12348, 1], [12347, 1], [12346, 1], [12345, 1], [12344, 1], [12343, 1], [12342, 1], [12341, 1], [12340, 1], [12339, 1], [12338, 1], [12337, 1], [12336, 1], [12335, 1], [12334, 1], [12333, 1], [12332, 1], [16660, 0, "\n"], [16661, 0, "\n"], [16662, 0, "R"], [16663, 0, "e"], [16664, 0, "s"], [16665, 0, "o"], [16666, 0, "l"], [16667, 0, "v"], [16668, 0, "i"], [16669, 0, "n"], [16670, 0, "g"], [16671, 0, " "], [16672, 0, "c"], [16673, 0, "o"], [16674, 0, "n"], [16675, 0, "c"], [16676, 0, "u"], [16677, 0, "r"], [16678, 0, "r"], [16679, 0, "e"], [16680, 0, "n"], [16681, 0, "t"], [16682, 0, " "], [16683, 0, "u"], [16684, 0, "p"], [16685, 0, "d"], [16686, 0, "a"], [16687, 0, "t"], [16688, 0, "e"], [16689, 0, "s"], [16690, 0, " "], [16691, 0, "o"], [16692, 0, "n"], [16693, 0, " "], [16694, 0, "t"], [16695, 0, "r"], [16696, 0, "e"], [16697, 0, "e"], [16698, 0, " "], [16699, 0, "s"], [16700, 0, "t"], [16701, 0, "r"], [16702, 0, "u"], [16703, 0, "c"], [16704, 0, "t"], [16705, 0, "u"], [16706, 0, "r"], [16707, 0, "e"], [16708, 0, "s"], [16709, 0, " "], [16710, 0, "h"], [16711, 0, "a"], [16712, 0, "s"], [16713, 0, " "], [16714, 0, "b"], [16715, 0, "e"], [16716, 0, "e"], [16717, 0, "n"], [16718, 0, " "], [16719, 0, "s"], [16720, 0, "t"], [16721, 0, "u"], [16722, 0, "d"], [16723, 0, "i"], [16724, 0, "e"], [16725, 0, "d"], [16726, 0, " "], [16727, 0, "i"], [16728, 0, "n"], [16729, 0, " "], [16730, 0, "t"], [16731, 0, "h"], [16732, 0, "e"], [16733, 0, " "], [16734, 0, "c"], [16735, 0, "o"], [16736, 0, "n"], [16737, 0, "t"], [16738, 0, "e"], [16739, 0, "x"], [16740, 0, "t"], [16741, 0, " "], [16742, 0, "o"], [16743, 0, "f"], [16744, 0, " "], [16745, 0, "f"], [16746, 0, "i"], [16747, 0, "l"], [16748, 0, "e"], [16749, 0, "s"], [16750, 0, "y"], [16751, 0, "s"], [16752, 0, "t"], [16753, 0, "e"], [16754, 0, "m"], [16755, 0, " "], [16756, 0, "s"], [16757, 0, "y"], [16758, 0, "n"], [16759, 0, "c"], [16760, 0, "h"], [16761, 0, "r"], [16762, 0, "o"], [16763, 0, "n"], [16764, 0, "i"], [16765, 0, "z"], [16766, 0, "a"], [16767, 0, "t"], [16768, 0, "i"], [16769, 0, "o"], [16770, 0, "n"], [16771, 0, "~"], [16772, 0, "\\"], [16773, 0, "c"], [16774, 0, "i"], [16775, 0, "t"], [16776, 0, "e"], [16777, 0, "{"], [16778, 0, "B"], [16779, 0, "a"], [16780, 0, "l"], [16781, 0, "a"], [16782, 0, "s"], [16783, 0, "u"], [16784, 0, "b"], [16785, 0, "r"], [16786, 0, "a"], [16787, 0, "m"], [16788, 0, "a"], [16789, 0, "n"], [16790, 0, "i"], [16791, 0, "a"], [16792, 0, "m"], [16793, 0, ":"], [16794, 0, "1"], [16795, 0, "9"], [16796, 0, "9"], [16797, 0, "8"], [16798, 0, "j"], [16799, 0, "h"], [16800, 0, ","], [16801, 0, "R"], [16802, 0, "a"], [16803, 0, "m"], [16804, 0, "s"], [16805, 0, "e"], [16806, 0, "y"], [16807, 0, ":"], [16808, 0, "2"], [16809, 0, "0"], [16810, 0, "0"], [16811, 0, "1"], [16812, 0, "c"], [16813, 0, "e"], [16814, 0, ","], [16814, 1], [16814, 0, "}"], [16815, 0, "."], [16754, 1], [16753, 1], [16752, 1], [16751, 1], [16750, 1], [16749, 1], [13003, 1], [13003, 1], [13003, 1], [13003, 1], [13003, 1], [13121, 1], [13120, 1], [13119, 1], [13118, 1], [13031, 1], [13030, 1], [13029, 1], [13028, 1], [13027, 1], [13733, 1], [13732, 1], [13731, 1], [13730, 1], [13729, 1], [13728, 1], [13727, 1], [13726, 1], [13602, 0, ","], [13263, 0, ","], [13865, 1], [13865, 1], [13865, 1], [13865, 1], [13865, 1], [13865, 1], [13865, 1], [13865, 1], [13865, 1], [13865, 1], [13865, 1], [13865, 1], [13865, 1], [13865, 1], [13865, 1], [13865, 1], [13865, 1], [13865, 1], [13865, 1], [13865, 1], [13865, 1], [13865, 1], [13865, 1], [13865, 1], [4817, 1], [4816, 1], [4816, 0, "i"], [4817, 0, "s"], [60611, 0, "s"], [61308, 1], [82969, 0, " "], [2167, 0, " "], [2168, 0, "("], [2169, 0, "a"], [2170, 0, " "], [2171, 0, "c"], [2172, 0, "o"], [2173, 0, "n"], [2174, 0, "f"], [2175, 0, "l"], [2176, 0, "i"], [2177, 0, "c"], [2178, 0, "t"], [2179, 0, "-"], [2180, 0, "f"], [2181, 0, "r"], [2182, 0, "e"], [2183, 0, "e"], [2184, 0, " "], [2185, 0, "r"], [2186, 0, "e"], [2187, 0, "p"], [2188, 0, "l"], [2189, 0, "i"], [2190, 0, "c"], [2191, 0, "a"], [2192, 0, "t"], [2193, 0, "e"], [2194, 0, "d"], [2195, 0, " "], [2196, 0, "d"], [2197, 0, "a"], [2198, 0, "t"], [2199, 0, "a"], [2200, 0, "t"], [2201, 0, "y"], [2202, 0, "p"], [2203, 0, "e"], [2204, 0, " "], [2205, 0, "o"], [2206, 0, "r"], [2207, 0, " "], [2208, 0, "C"], [2209, 0, "R"], [2210, 0, "D"], [2211, 0, "T"], [2212, 0, ")"] ], "finalText": "\\documentclass[10pt,journal,compsoc]{IEEEtran}\n\\PassOptionsToPackage{hyphens}{url}\n\\usepackage[utf8]{inputenc}\n\\usepackage{amsmath} % align environment\n\\usepackage{amssymb} % mathbb\n\\usepackage{bussproofs} % notation for inference rules\n\\usepackage{rotating} % sidewaysfigure\n\\usepackage{hyperref}\n\\usepackage[hyphenbreaks]{breakurl} % Fix URL line breaking when using dvips (e.g. arxiv.org)\n\\usepackage[nocompress]{cite}\n\n% Theorem environments\n\\usepackage{amsthm}\n\\newtheorem{definition}{Definition}\n\\newtheorem{theorem}{Theorem}\n\\newtheorem{lemma}[theorem]{Lemma}\n\\newtheorem*{convergence-thm}{Theorem}\n\n% Diagrams\n\\usepackage{tikz}\n\\usetikzlibrary{arrows}\n\n\\hyphenation{da-ta-cen-ter da-ta-cen-ters net-works time-stamp}\n\n\\newif\\ifincludeappendix\n\\includeappendixtrue\n\n\\newcommand{\\evalto}{\\;\\Longrightarrow\\;}\n\n% Placeholder character like \\textvisiblespace, but works in math mode\n\\newcommand{\\placeholder}{%\n \\makebox[0.7em]{%\n \\kern.07em\n \\vrule height.3ex\n \\hrulefill\n \\vrule height.3ex\n \\kern.07em\n }%\n}\n\n% Span multiple columns within an alignat math environment\n\\newcommand{\\multialign}[2]{%\n \\multispan{#1}\\mbox{$\\displaystyle{}#2$}%\n}\n\n\\begin{document}\n\\sloppy\n\\title{A Conflict-Free Replicated JSON Datatype}\n\\author{Martin Kleppmann and Alastair R. Beresford\n\\thanks{M. Kleppmann and A.R. Beresford are with the University of Cambridge Computer Laboratory, Cambridge, UK.\\protect\\\\Email: \\url{mk428@cl.cam.ac.uk}, \\url{arb33@cl.cam.ac.uk}.}}\n\n\\IEEEtitleabstractindextext{%\n\\begin{abstract}\n% abstract word limit: 100-200 words\nMany applications model their data in a general-purpose storage format such as JSON. This data structure is modified by the application as a result of user input. Such modifications are well understood if performed sequentially on a single copy of the data, but if the data is replicated and modified concurrently on multiple devices, it is unclear what the semantics should be. In this paper we present an algorithm and formal semantics for a JSON data structure that automatically resolves concurrent modifications such that no updates are lost, and such that all replicas converge towards the same state (a conflict-free replicated datatype or CRDT). It supports arbitrarily nested list and map types, which can be modified by insertion, deletion and assignment. The algorithm performs all merging client-side and does not depend on ordering guarantees from the network, making it suitable for deployment on mobile devices with poor network connectivity, in peer-to-peer networks, and in messaging systems with end-to-end encryption.\n\\end{abstract}\n\n\\begin{IEEEkeywords}\nCRDTs, Collaborative Editing, P2P, JSON, Optimistic Replication, Operational Semantics, Eventual Consistency.\n\\end{IEEEkeywords}}\n\\maketitle\n\n\\IEEEraisesectionheading{\\section{Introduction}\\label{sec:introduction}}\n\n\\IEEEPARstart{U}{sers} of mobile devices, such as smartphones, expect applications to continue working while the device is offline or has poor network connectivity, and to synchronize its state with the user's other devices when the network is available. Examples of such applications include calendars, address books, note-taking tools, to-do lists, and password managers. Similarly, collaborative work often requires several people to simultaneously edit the same text document, spreadsheet, presentation, graphic, and other kinds of document, with each person's edits reflected on the other collaborators' copies of the document with minimal delay.\n\nWhat these applications have in common is that the application state needs to be replicated to several devices, each of which may modify the state locally. The traditional approach to concurrency control, serializability, would cause the application to become unusable at times of poor network connectivity~\\cite{Davidson:1985hv}. If we require that applications work regardless of network availability, we must assume that users can make arbitrary modifications concurrently on different devices, and that any resulting conflicts must be resolved.\n\nThe simplest way to resolve conflicts is to discard some modifications when a conflict occurs, for example using a ``last writer wins'' policy. However, this approach is undesirable as it incurs data loss. An alternative is to let the user manually resolve the conflict, which is tedious and error-prone, and therefore should be avoided whenever possible.\n\nCurrent applications solve this problem with a range of ad-hoc and application-specific mechanisms. In this paper we present a general-purpose datatype that provides the full expressiveness of the JSON data model, and supports concurrent modifications without loss of information. As we shall see later, our approach typically supports the automatic merging of concurrent modifications into a JSON data structure. We introduce a single, general mechanism (a multi-value register) into our model to record conflicting updates to leaf nodes in the JSON data structure. This mechanism then provides a consistent basis on which applications can resolve any remaining conflicts through programmatic means, or via further user input. We expect that implementations of this datatype will drastically simplify the development of collaborative and state-synchronizing applications for mobile devices.\n\n\\subsection{JSON Data Model}\n\nJSON is a popular general-purpose data encoding format, used in many databases and web services. It has similarities to XML, and we compare them in Section~\\ref{sec:json-xml}. The structure of a JSON document can optionally be constrained by a schema; however, for simplicity, this paper discusses only untyped JSON without an explicit schema.\n\nA JSON document is a tree containing two types of branch node:\n\n\\begin{description}\n\\item[Map:] A node whose children have no defined order, and where each child is labelled with a string \\emph{key}. A key uniquely identifies one of the children. We treat keys as immutable, but values as mutable, and key-value mappings can be added and removed from the map. A JSON map is also known as an \\emph{object}.\n\\item[List:] A node whose children have an order defined by the application. The list can be mutated by inserting or deleting list elements. A JSON list is also known as an \\emph{array}.\n\\end{description}\n\nA child of a branch node can be either another branch node, or a leaf node. A leaf of the tree contains a primitive value (string, number, boolean, or null). We treat primitive values as immutable, but allow the value of a leaf node to be modified by treating it as a \\emph{register} that can be assigned a new value.\n\nThis model is sufficient to express the state of a wide range of applications. For example, a text document can be represented by a list of single-character strings; character-by-character edits are then expressed as insertions and deletions of list elements. In Section~\\ref{sec:examples} we describe four more complex examples of using JSON to model application data.\n\n\\subsection{Replication and Conflict Resolution}\\label{sec:intro-replication}\n\nWe consider systems in which a full copy of the JSON document is replicated on several devices. Those devices could be servers in datacenters, but we focus on mobile devices such as smartphones and laptops, which have intermittent network connectivity. We do not distinguish between devices owned by the same user and different users. Our model allows each device to optimistically modify its local replica of the document, and to asynchronously propagate those edits to other replicas.\n\nOur only requirement of the network is that messages sent by one replica are eventually delivered to all other replicas, by retrying if delivery fails. We assume the network may arbitrarily delay, reorder and duplicate messages.\n\nOur algorithm works client-side and does not depend on any server to transform or process messages. This approach allows messages to be delivered via a peer-to-peer network as well as a secure messaging protocol with end-to-end encryption~\\cite{Unger:2015kg}. The details of the network implementation and cryptographic protocols are outside of the scope of this paper.\n\nIn Section~\\ref{sec:semantics} we define formal semantics describing how conflicts are resolved when a JSON document is concurrently modified on different devices. Our design is based on three simple principles:\n\\begin{enumerate}\n\\item All replicas of the data structure should automatically converge towards the same state (a requirement known as \\emph{strong eventual consistency}~\\cite{Shapiro:2011un}).\n\\item No user input should be lost due to concurrent modifications.\n\\item If all sequential permutations of a set of updates lead to the same state, then concurrent execution of those updates also leads to the same state~\\cite{Bieniusa:2012gt}.\n\\end{enumerate}\n\n\\subsection{Our Contributions}\n\nOur main contribution in this work is to define an algorithm and formal semantics for collaborative, concurrent editing of JSON data structures with automatic conflict resolution. Although similar algorithms have previously been defined for lists, maps and registers individually (see Section~\\ref{sec:related}), to our knowledge this paper is the first to integrate all of these structures into an arbitrarily composable datatype that can be deployed on any network topology.\n\nA key requirement of conflict resolution is that after any sequence of concurrent modifications, all replicas eventually converge towards the same state. In Section~\\ref{sec:convergence} and the appendix we prove a theorem to show that our algorithm satisfies this requirement.\n\nComposing maps and lists into arbitrarily nested structures opens up subtle challenges that do not arise in flat structures, due to the possibility of concurrent edits at different levels of the tree. We illustrate some of those challenges by example in Section~\\ref{sec:examples}. Nested structures are an important requirement for many applications. Consequently, the long-term goal of our work is to simplify the development of applications that use optimistic replication by providing a general algorithm for conflict resolution whose details can largely be hidden inside an easy-to-use software library.\n\n\\section{Related Work}\\label{sec:related}\n\nIn this section we discuss existing approaches to optimistic replication, collaborative editing and conflict resolution.\n\n\\subsection{Operational Transformation}\\label{sec:related-ot}\n\nAlgorithms based on \\emph{operational transformation} (OT) have long been used for collaborative editing applications~\\cite{Ellis:1989ue,Ressel:1996wx,Sun:1998vf,Nichols:1995fd}. Most of them treat a document as a single ordered list (of characters, for example) and do not support nested tree structures that are required by many applications. Some algorithms generalize OT to editing XML documents~\\cite{Davis:2002iv,Ignat:2003jy,Wang:2015vo}, which provides nesting of ordered lists, but these algorithms do not support key-value maps as defined in this paper (see Section~\\ref{sec:json-xml}). The performance of OT algorithms degrades rapidly as the number of concurrent operations increases~\\cite{Li:2006kd,Mehdi:2011ke}.\n\nMost deployed OT collaboration systems, including Google Docs~\\cite{DayRichter:2010tt}, Etherpad~\\cite{Etherpad:2011um}, Novell Vibe~\\cite{Spiewak:2010vw} and Apache Wave (formerly Google Wave~\\cite{Wang:2015vo}), rely on a single server to decide on a total ordering of operations~\\cite{Lemonik:2016wh}, a design decision inherited from the Jupiter system~\\cite{Nichols:1995fd}. This approach has the advantage of making the transformation functions simpler and less error-prone~\\cite{Imine:2003ks}, but it does not meet our requirements, since we want to support peer-to-peer collaboration without requiring a single server.\n\nMany secure messaging protocols, which we plan to use for encrypted collaboration, do not guarantee that different recipients will see messages in the same order~\\cite{Unger:2015kg}. Although it is possible to decide on a total ordering of operations without using a single server by using an atomic broadcast protocol~\\cite{Defago:2004ji}, such protocols are equivalent to consensus~\\cite{Chandra:1996cp}, so they can only safely make progress if a quorum of participants are reachable. We expect that in peer-to-peer systems of mobile devices participants will frequently be offline, and so any algorithm requiring atomic broadcast would struggle to reach a quorum and become unavailable. Without quorums, the strongest guarantee a system can give is causal ordering~\\cite{Attiya:2015dm}.\n\nThe Google Realtime API~\\cite{Google:2015vk} is to our knowledge the only implementation of OT that supports arbitrary nesting of lists and maps. Like Google Docs, it relies on a single server~\\cite{Lemonik:2016wh}. As a proprietary product, details of its algorithms have not been published.\n\n\\subsection{CRDTs}\\label{sec:related-crdts}\n\nConflict-free replicated datatypes (CRDTs) are a family of data structures that support concurrent modification and guarantee convergence of concurrent updates. They work by attaching additional metadata to the data structure, making modification operations commutative by construction. The JSON datatype described in this paper is a CRDT.\n\nCRDTs for registers, counters, maps, and sets are well-known~\\cite{Shapiro:2011un,Shapiro:2011wy}, and have been implemented in various deployed systems such as Riak~\\cite{Brown:2014hs,Brown:2013wy}. For ordered lists, various algorithms have been proposed, including WOOT~\\cite{Oster:2006wj}, RGA~\\cite{Roh:2011dw}, Treedoc~\\cite{Preguica:2009fz}, Logoot~\\cite{Weiss:2010hx}, and LSEQ~\\cite{Nedelec:2013ky}. Attiya et al.~\\cite{Attiya:2016kh} analyze the metadata overhead of collaboratively edited lists, and provide a correctness proof of the RGA algorithm. However, none of them support nesting: all of the aforementioned algorithms assume that each of their elements is a primitive value, not another CRDT.\n\nThe problem of nesting one CRDT inside another (also known as \\emph{composition} or \\emph{embedding}) has only been studied more recently. Riak allows nesting of counters and registers inside maps, and of maps within other maps~\\cite{Brown:2014hs,Brown:2013wy}. Embedding counters inside maps raises questions of semantics, which have been studied by Baquero, Almeida and Lerche~\\cite{Baquero:2016iv}. Almeida et al.~\\cite{Almeida:2016tk} also define delta mutations for nested maps, and Baquero et al.~\\cite{Baquero:2015tm} define a theoretical framework for composition of state-based CRDTs, based on lattices. None of this work integrates CRDTs for ordered lists, but the treatment of causality in these datatypes forms a basis for the semantics developed in this paper.\n\nBurckhardt et al.~\\cite{Burckhardt:2012jy} define \\emph{cloud types}, which are similar to CRDTs and can be composed. They define \\emph{cloud arrays}, which behave similarly to our map datatype, and \\emph{entities}, which are like unordered sets or relations; ordered lists are not defined in this framework.\n\nOn the other hand, Martin et al.~\\cite{Martin:2010ih} generalize Logoot~\\cite{Weiss:2010hx} to support collaborative editing of XML documents~-- that is, a tree of nested ordered lists without nested maps. As discussed in Section~\\ref{sec:json-xml}, such a structure does not capture the expressiveness of JSON.\n\nAlthough CRDTs for registers, maps and ordered lists have existed for years in isolation, we are not aware of any prior work that allows them all to be composed into an arbitrarily nested CRDT with a JSON-like structure.\n\n\\subsection{Other Approaches}\\label{sec:related-other}\n\nMany replicated data systems need to deal with the problem of concurrent, conflicting modifications, but the solutions are often ad-hoc. For example, in Dynamo~\\cite{DeCandia:2007ui} and CouchDB, if several values are concurrently written to the same key, the database preserves all of these values, and leaves conflict resolution to application code -- in other words, the only datatype it supports is a multi-value register. Naively chosen merge functions often exhibit anomalies such as deleted items reappearing~\\cite{DeCandia:2007ui}. We believe that conflict resolution is not a simple matter that can reasonably be left to application programmers.\n\nAnother frequently-used approach to conflict resolution is \\emph{last writer wins} (LWW), which arbitrarily chooses one among several concurrent writes as ``winner'' and discards the others. LWW is used in Apache Cassandra, for example. It does not meet our requirements, since we want no user input to be lost due to concurrent modifications.\n\nResolving concurrent updates on tree structures has been studied in the context of file synchronization~\\cite{Balasubramaniam:1998jh,Ramsey:2001ce}.\n\nFinally, systems such as Bayou~\\cite{Terry:1995dn} allow offline nodes to execute transactions tentatively, and confirm them when they are next online. This approach relies on all servers executing transactions in the same serial order, and deciding whether a transaction was successful depending on its preconditions. Bayou has the advantage of being able to express global invariants such as uniqueness constraints, which require serialization and cannot be expressed using CRDTs~\\cite{Bailis:2014th}. Bayou's downside is that tentative transactions may be rolled back, requiring explicit handling by the application, whereas CRDTs are defined such that operations cannot fail after they have been performed on one replica.\n\n\n\\section{Composing Data Structures}\\label{sec:composing}\n\nIn this section we informally introduce our approach to collaborative editing of JSON data structures, and illustrate some peculiarities of concurrent nested data structures. A formal presentation of the algorithm follows in Section~\\ref{sec:semantics}.\n\n\\subsection{Concurrent Editing Examples}\\label{sec:examples}\n\n\\begin{figure*}[p]\n\\centering\n\\begin{tikzpicture}[auto,scale=0.8]\n\\path [draw,dotted] (4,-0.5) -- (4,6.5);\n\\node (leftR) at (0,6) {Replica $p$:};\n\\node (rightR) at (8,6) {Replica $q$:};\n\\node (left0) at (0,5) [rectangle,draw] {\\{``key'': ``A''\\}};\n\\node (right0) at (8,5) [rectangle,draw] {\\{``key'': ``A''\\}};\n\\node (left1) at (0,3) [rectangle,draw] {\\{``key'': ``B''\\}};\n\\node (right1) at (8,3) [rectangle,draw] {\\{``key'': ``C''\\}};\n\\node (left2) at (0,0) [rectangle,draw] {\\{``key'': \\{``B'', ``C''\\}\\}};\n\\node (right2) at (8,0) [rectangle,draw] {\\{``key'': \\{``B'', ``C''\\}\\}};\n\\node (comms) at (4,1.6) [text=blue] {\\footnotesize network communication};\n\\draw [thick,->] (left0) to node [left,inner sep=8pt] {doc.get(``key'') := ``B'';} (left1);\n\\draw [thick,->] (right0) to node [right,inner sep=8pt] {doc.get(``key'') := ``C'';} (right1);\n\\draw [thick,->] (left1) -- (left2);\n\\draw [thick,dashed,blue,->] (left1.south) to [out=270,in=135] (right2.north west);\n\\draw [thick,dashed,blue,->] (right1.south) to [out=270,in=45] (left2.north east);\n\\draw [thick,->] (right1) -- (right2);\n\\end{tikzpicture}\n\\caption{Concurrent assignment to the register at doc.get(``key'') by replicas $p$ and $q$.}\\label{fig:register-assign}\n\\end{figure*}\n\nThe sequential semantics of editing a JSON data structure are well-known, and the semantics of concurrently editing a flat map or list data structure have been thoroughly explored in the literature (see Section~\\ref{sec:related}). However, when defining a CRDT for JSON data, difficulties arise due to the interactions between concurrency and nested data structures.\n\nIn the following examples we show some situations that might occur when JSON documents are concurrently modified, demonstrate how they are handled by our algorithm, and explain the rationale for our design decisions. In all examples we assume two replicas, labelled $p$ (drawn on the left-hand side) and $q$ (right-hand side). Local state for a replica is drawn in boxes, and modifications to local state are shown with labelled solid arrows; time runs down the page. Since replicas only mutate local state, we make communication of state changes between replicas explicit in our model. Network communication is depicted with dashed arrows.\n\nOur first example is shown in Figure~\\ref{fig:register-assign}. In a document that maps ``key'' to a register with value ``A'', replica $p$ sets the value of the register to ``B'', while replica $q$ concurrently sets it to ``C''. As the replicas subsequently exchange edits via network communication, they detect the conflict. Since we do not want to simply discard one of the edits, and the strings ``B'' and ``C'' cannot be meaningfully merged, the system must preserve both concurrent updates. This datatype is known as a \\emph{multi-value register}: although a replica can only assign a single value to the register, reading the register may return a set of multiple values that were concurrently written.\n\nA multi-value register is hardly an impressive CRDT, since it does not actually perform any conflict resolution. We use it only for primitive values for which no automatic merge function is defined. Other CRDTs could be substituted in its place: for example, a counter CRDT for a number that can only be incremented and decremented, or an ordered list of characters for a collaboratively editable string (see also Figure~\\ref{fig:text-edit}).\n\n\\begin{figure*}[p]\n\\centering\n\\begin{tikzpicture}[auto,scale=0.8]\n\\path [draw,dotted] (4,-1) -- (4,8);\n\\node (left0) at (0,7.5) [rectangle,draw] {\\{``colors'': \\{``blue'': ``\\#0000ff''\\}\\}};\n\\node (right0) at (8,7.5) [rectangle,draw] {\\{``colors'': \\{``blue'': ``\\#0000ff''\\}\\}};\n\\node [matrix] (left1) at (0,4) [rectangle,draw] {\n \\node {\\{``colors'': \\{``blue'': ``\\#0000ff'',}; \\\\\n \\node {``red'': ``\\#ff0000''\\}\\}}; \\\\\n};\n\\node (right1) at (8,5.5) [rectangle,draw] {\\{``colors'': \\{\\}\\}};\n\\node (right2) at (8,3) [rectangle,draw] {\\{``colors'': \\{``green'': ``\\#00ff00''\\}\\}};\n\\node [matrix] (left2) at (0,0) [rectangle,draw] {\n \\node {\\{``colors'': \\{``red'': ``\\#ff0000'',}; \\\\\n \\node {``green'': ``\\#00ff00''\\}\\}}; \\\\\n};\n\\node [matrix] (right3) at (8,0) [rectangle,draw] {\n \\node {\\{``colors'': \\{``red'': ``\\#ff0000'',}; \\\\\n \\node {``green'': ``\\#00ff00''\\}\\}}; \\\\\n};\n\\node (comms) at (4,2.1) [text=blue] {\\footnotesize network communication};\n\\draw [thick,->] (left0) -- (left1)\n node [left,text width=4.2cm,text centered,midway] {doc.get(``colors'').get(``red'') := ``\\#ff0000'';};\n\\draw [thick,->] (right0) to node [right] {doc.get(``colors'') := \\{\\};} (right1);\n\\draw [thick,->] (right1) -- (right2)\n node [right,text width=4.2cm,text centered,midway] {doc.get(``colors'').get(``green'') := ``\\#00ff00'';};\n\\draw [thick,->] (left1) to (left2);\n\\draw [thick,->] (right2) to (right3);\n\\draw [thick,dashed,blue,->] (left1.south) to [out=270,in=135] (right3.north west);\n\\draw [thick,dashed,blue,->] (right2.south) to [out=270,in=45] (left2.north east);\n\\end{tikzpicture}\n\\caption{Modifying the contents of a nested map while concurrently the entire map is overwritten.}\\label{fig:map-remove}\n\\end{figure*}\n\n\\begin{figure*}[p]\n\\centering\n\\begin{tikzpicture}[auto,scale=0.8]\n\\path [draw,dotted] (5,-0.5) -- (5,10);\n\\node (left0) at (0,9.5) [rectangle,draw] {\\{\\}};\n\\node (right0) at (10,9.5) [rectangle,draw] {\\{\\}};\n\\node (left1) at (0,7.5) [rectangle,draw] {\\{``grocery'': []\\}};\n\\node (right1) at (10,7.5) [rectangle,draw] {\\{``grocery'': []\\}};\n\\node (left2) at (0,5.0) [rectangle,draw] {\\{``grocery'': [``eggs'']\\}};\n\\node (left3) at (0,2.5) [rectangle,draw] {\\{``grocery'': [``eggs'', ``ham'']\\}};\n\\node (right2) at (10,5.0) [rectangle,draw] {\\{``grocery'': [``milk'']\\}};\n\\node (right3) at (10,2.5) [rectangle,draw] {\\{``grocery'': [``milk'', ``flour'']\\}};\n\\node (left4) at (0,0.0) [rectangle,draw] {\\{``grocery'': [``eggs'', ``ham'', ``milk'', ``flour'']\\}};\n\\node (right4) at (10,0.0) [rectangle,draw] {\\{``grocery'': [``eggs'', ``ham'', ``milk'', ``flour'']\\}};\n\\node (comms) at (5,1.4) [text=blue] {\\footnotesize network communication};\n\\draw [thick,->] (left0) to node [left] {doc.get(``grocery'') := [];} (left1);\n\\draw [thick,->] (right0) to node [right] {doc.get(``grocery'') := [];} (right1);\n\\draw [thick,->] (left1) -- (left2)\n node [left,text width=4cm,text centered,midway] {doc.get(``grocery'').idx(0) .insertAfter(``eggs'');};\n\\draw [thick,->] (right1) -- (right2)\n node [right,text width=4cm,text centered,midway] {doc.get(``grocery'').idx(0) .insertAfter(``milk'');};\n\\draw [thick,->] (left2) -- (left3)\n node [left,text width=4cm,text centered,midway] {doc.get(``grocery'').idx(1) .insertAfter(``ham'');};\n\\draw [thick,->] (right2) -- (right3)\n node [right,text width=4cm,text centered,midway] {doc.get(``grocery'').idx(1) .insertAfter(``flour'');};\n\\draw [thick,->] (left3) to (left4);\n\\draw [thick,->] (right3) to (right4);\n\\draw [thick,dashed,blue,->] (left3.south) to [out=270,in=135] (right4.north west);\n\\draw [thick,dashed,blue,->] (right3.south) to [out=270,in=45] (left4.north east);\n\\end{tikzpicture}\n\\caption{Two replicas concurrently create ordered lists under the same map key.}\\label{fig:two-lists}\n\\end{figure*}\n\n\\begin{figure*}[p]\n\\centering\n\\begin{tikzpicture}[auto,scale=0.8]\n\\path [draw,dotted] (4,-0.5) -- (4,8.5);\n\\node (leftR) at (0,8) {Replica $p$:};\n\\node (rightR) at (8,8) {Replica $q$:};\n\\node (left1) at (0,7) [rectangle,draw] {[``a'', ``b'', ``c'']};\n\\node (left2) at (0,5) [rectangle,draw] {[``a'', ``c'']};\n\\node (left3) at (0,3) [rectangle,draw] {[``a'', ``x'', ``c'']};\n\\node (left4) at (0,0) [rectangle,draw] {[``y'', ``a'', ``x'', ``z'', ``c'']};\n\\node (right1) at (8,7) [rectangle,draw] {[``a'', ``b'', ``c'']};\n\\node (right2) at (8,5) [rectangle,draw] {[``y'', ``a'', ``b'', ``c'']};\n\\node (right3) at (8,3) [rectangle,draw] {[``y'', ``a'', ``z'', ``b'', ``c'']};\n\\node (right4) at (8,0) [rectangle,draw] {[``y'', ``a'', ``x'', ``z'', ``c'']};\n\\node (comms) at (4, 1.5) [text=blue] {\\footnotesize network communication};\n\\draw [thick,->] (left1) to node [left] {doc.idx(2).delete;} (left2);\n\\draw [thick,->] (left2) to node [left] {doc.idx(1).insertAfter(``x'');} (left3);\n\\draw [thick,->] (right1) to node [right] {doc.idx(0).insertAfter(``y'');} (right2);\n\\draw [thick,->] (right2) to node [right] {doc.idx(2).insertAfter(``z'');} (right3);\n\\draw [thick,->] (left3) to (left4);\n\\draw [thick,->] (right3) to (right4);\n\\draw [thick,dashed,blue,->] (left3.south) to [out=270,in=135] (right4.north west);\n\\draw [thick,dashed,blue,->] (right3.south) to [out=270,in=45] (left4.north east);\n\\end{tikzpicture}\n\\caption{Concurrent editing of an ordered list of characters (i.e., a text document).}\\label{fig:text-edit}\n\\end{figure*}\n\n\\begin{figure*}[p]\n\\centering\n\\begin{tikzpicture}[auto,scale=0.8]\n\\path [draw,dotted] (4,-1) -- (4,7.5);\n\\node (left1) at (0,7) [rectangle,draw] {\\{\\}};\n\\node (left2) at (0,5) [rectangle,draw] {\\{``a'': \\{\\}\\}};\n\\node (left3) at (0,3) [rectangle,draw] {\\{``a'': \\{``x'': ``y''\\}\\}};\n\\node [matrix] (left4) at (0,0) [rectangle,draw] {\n \\node {\\{mapT(``a''): \\{``x'': ``y''\\},}; \\\\\n \\node {listT(``a''): [``z'']\\}}; \\\\\n};\n\\node (right1) at (8,7) [rectangle,draw] {\\{\\}};\n\\node (right2) at (8,5) [rectangle,draw] {\\{``a'': []\\}};\n\\node (right3) at (8,3) [rectangle,draw] {\\{``a'': [``z'']\\}};\n\\node [matrix] (right4) at (8,0) [rectangle,draw] {\n \\node {\\{mapT(``a''): \\{``x'': ``y''\\},}; \\\\\n \\node {listT(``a''): [``z'']\\}}; \\\\\n};\n\\node (comms) at (4,2.0) [text=blue] {\\footnotesize network communication};\n\\draw [thick,->] (left1) to node [left] {doc.get(``a'') := \\{\\};} (left2);\n\\draw [thick,->] (left2) to node [left] {doc.get(``a'').get(``x'') := ``y'';} (left3);\n\\draw [thick,->] (right1) to node [right] {doc.get(``a'') := [];} (right2);\n\\draw [thick,->] (right2) to node [right] {doc.get(``a'').idx(0).insertAfter(``z'');} (right3);\n\\draw [thick,->] (left3) to (left4);\n\\draw [thick,->] (right3) to (right4);\n\\draw [thick,dashed,blue,->] (left3.south) to [out=270,in=135] (right4.north west);\n\\draw [thick,dashed,blue,->] (right3.south) to [out=270,in=45] (left4.north east);\n\\end{tikzpicture}\n\\caption{Concurrently assigning values of different types to the same map key.}\\label{fig:type-clash}\n\\end{figure*}\n\n\\begin{figure*}[p]\n\\centering\n\\begin{tikzpicture}[auto,scale=0.8]\n\\path [draw,dotted] (4,-0.5) -- (4,7.0);\n\\node [matrix] (left0) at (0,6) [rectangle,draw] {\n \\node {\\{``todo'': [\\{``title'': ``buy milk'',}; \\\\\n \\node {``done'': false\\}]\\}}; \\\\\n};\n\\node [matrix] (right0) at (8,6) [rectangle,draw] {\n \\node {\\{``todo'': [\\{``title'': ``buy milk'',}; \\\\\n \\node {``done'': false\\}]\\}}; \\\\\n};\n\\node (left1) at (0,3) [rectangle,draw] {\\{``todo'': []\\}};\n\\node [matrix] (right1) at (8,3) [rectangle,draw] {\n \\node {\\{``todo'': [\\{``title'': ``buy milk'',}; \\\\\n \\node {``done'': true\\}]\\}}; \\\\\n};\n\\node (left2) at (0,0) [rectangle,draw] {\\{``todo'': [\\{``done'': true\\}]\\}};\n\\node (right2) at (8,0) [rectangle,draw] {\\{``todo'': [\\{``done'': true\\}]\\}};\n\\node (comms) at (4,1.6) [text=blue] {\\footnotesize network communication};\n\\draw [thick,->] (left0) to node [left] {doc.get(``todo'').idx(1).delete;} (left1);\n\\draw [thick,->] (right0) to node [right] {doc.get(``todo'').idx(1).get(``done'') := true;} (right1);\n\\draw [thick,->] (left1) to (left2);\n\\draw [thick,->] (right1) to (right2);\n\\draw [thick,dashed,blue,->] (left1.south) to [out=270,in=135] (right2.north west);\n\\draw [thick,dashed,blue,->] (right1.south) to [out=270,in=45] (left2.north east);\n\\end{tikzpicture}\n\\caption{One replica removes a list element, while another concurrently updates its contents.}\\label{fig:todo-item}\n\\end{figure*}\n\nFigure~\\ref{fig:map-remove} gives an example of concurrent edits at different levels of the JSON tree. Here, replica $p$ adds ``red'' to a map of colors, while replica $q$ concurrently blanks out the entire map of colors and then adds ``green''. Instead of assigning an empty map, $q$ could equivalently remove the entire key ``colors'' from the outer map, and then assign a new empty map to that key. The difficulty in this example is that the addition of ``red'' occurs at a lower level of the tree, while concurrently the removal of the map of colors occurs at a higher level of the tree.\n\nOne possible way of handling such a conflict would be to let edits at higher levels of the tree always override concurrent edits within that subtree. In this case, that would mean the addition of ``red'' would be discarded, since it would be overridden by the blanking-out of the entire map of colors. However, that behavior would violate our requirement that no user input should be lost due to concurrent modifications. Instead, we define merge semantics that preserve all changes, as shown in Figure~\\ref{fig:map-remove}: ``blue'' must be absent from the final map, since it was removed by blanking out the map, while ``red'' and ``green'' must be present, since they were explicitly added. This behavior matches that of CRDT maps in Riak~\\cite{Brown:2014hs,Brown:2013wy}.\n\nFigure~\\ref{fig:two-lists} illustrates another problem with maps: two replicas can concurrently insert the same map key. Here, $p$ and $q$ each independently create a new shopping list under the same map key ``grocery'', and add items to the list. In the case of Figure~\\ref{fig:register-assign}, concurrent assignments to the same map key were left to be resolved by the application, but in Figure~\\ref{fig:two-lists}, both values are lists and so they can be merged automatically. We preserve the ordering and adjacency of items inserted at each replica, so ``ham'' appears after ``eggs'', and ``flour'' appears after ``milk'' in the merged result. There is no information on which replica's items should appear first in the merged result, so the algorithm can make an arbitrary choice between ``eggs, ham, milk, flour'' and ``milk, flour, eggs, ham'', provided that all replicas end up with the items in the same order.\n\nFigure~\\ref{fig:text-edit} shows how a collaborative text editor can be implemented, by treating the document as a list of characters. All changes are preserved in the merged result: ``y'' is inserted before ``a''; ``x'' and ``z'' are inserted between ``a'' and ``c''; and ``b'' is deleted.\n\nFigure~\\ref{fig:type-clash} demonstrates a variant of the situation in Figure~\\ref{fig:two-lists}, where two replicas concurrently insert the same map key, but they do so with different datatypes as values: $p$ inserts a nested map, whereas $q$ inserts a list. These datatypes cannot be meaningfully merged, so we preserve both values separately. We do this by tagging each map key with a type annotation (\\textsf{mapT}, \\textsf{listT}, or \\textsf{regT} for a map, list, or register value respectively), so each type inhabits a separate namespace.\n\nFinally, Figure~\\ref{fig:todo-item} shows a limitation of the principle of preserving all user input. In a to-do list application, one replica removes a to-do item from the list, while another replica concurrently marks the same item as done. As the changes are merged, the update of the map key ``done'' effectively causes the list item to be resurrected on replica $p$, leaving a to-do item without a title (since the title was deleted as part of deleting the list item). This behavior is consistent with the example in Figure~\\ref{fig:map-remove}, but it is perhaps surprising. In this case it may be more desirable to discard one of the concurrent updates, and thus preserve the implicit schema that a to-do item has both a ``title'' and a ``done'' field. We leave the analysis of developer expectations and the development of a schema language for future work.\n\n\\subsection{JSON Versus XML}\\label{sec:json-xml}\n\nThe most common alternative to JSON is XML, and collaborative editing of XML documents has been previously studied~\\cite{Davis:2002iv,Ignat:2003jy,Wang:2015vo}. Besides the superficial syntactical differences, the tree structure of XML and JSON appears quite similar. However, there is an important difference that we should highlight.\n\nJSON has two collection constructs that can be arbitrarily nested: maps for unordered key-value pairs, and lists for ordered sequences. In XML, the children of an element form an ordered sequence, while the attributes of an element are unordered key-value pairs. However, XML does not allow nested elements inside attributes -- the value of an attribute can only be a primitive datatype. Thus, XML supports maps within lists, but not lists within maps. In this regard, XML is less expressive than JSON: the scenarios in Figures~\\ref{fig:two-lists} and~\\ref{fig:type-clash} cannot occur in XML.\n\nSome applications may attach map-like semantics to the children of an XML document, for example by interpreting the child element name as key. However, this key-value structure is not part of XML itself, and would not be enforced by existing collaborative editing algorithms for XML. If multiple children with the same key are concurrently created, existing algorithms would create duplicate children with the same key rather than merging them like in Figure~\\ref{fig:two-lists}.\n\n\\subsection{Document Editing API}\\label{sec:editing-api}\n\n\\begin{figure}\n\\centering\n\\begin{tabular}{rcll}\nCMD & ::= & \\texttt{let} $x$ \\texttt{=} EXPR & $x \\in \\mathrm{VAR}$ \\\\\n& $|$ & $\\mathrm{EXPR}$ \\texttt{:=} $v$ & $v \\in \\mathrm{VAL}$ \\\\\n& $|$ & $\\mathrm{EXPR}$\\texttt{.insertAfter(}$v$\\texttt{)} & $v \\in \\mathrm{VAL}$ \\\\\n& $|$ & $\\mathrm{EXPR}$\\texttt{.delete} \\\\\n& $|$ & \\texttt{yield} \\\\\n& $|$ & CMD\\texttt{;} CMD \\vspace{0.5em}\\\\\nEXPR & ::= & \\texttt{doc} \\\\\n& $|$ & $x$ & $x \\in \\mathrm{VAR}$ \\\\\n& $|$ & EXPR\\texttt{.get(}$\\mathit{key}$\\texttt{)} & $\\mathit{key} \\in \\mathrm{String}$ \\\\\n& $|$ & EXPR\\texttt{.idx(}$i$\\texttt{)} & $i \\ge 0$ \\\\\n& $|$ & EXPR\\texttt{.keys} \\\\\n& $|$ & EXPR\\texttt{.values} \\vspace{0.5em}\\\\\nVAR & ::= & $x$ & $x \\in \\mathrm{VarString}$\\\\\nVAL & ::= & $n$ & $n \\in \\mathrm{Number}$ \\\\\n& $|$ & $\\mathit{str}$ & $\\mathit{str} \\in \\mathrm{String}$ \\\\\n& $|$ & \\texttt{true} $|$ \\texttt{false} $|$ \\texttt{null} \\\\\n& $|$ & \\verb|{}| $|$ \\verb|[]|\n\\end{tabular}\n\\caption{Syntax of command language for querying and modifying a document.}\\label{fig:local-syntax}\n\\end{figure}\n\n\\begin{figure}\n\\centering\n\\begin{verbatim}\ndoc := {};\ndoc.get(\"shopping\") := [];\nlet head = doc.get(\"shopping\").idx(0);\nhead.insertAfter(\"eggs\");\nlet eggs = doc.get(\"shopping\").idx(1);\nhead.insertAfter(\"cheese\");\neggs.insertAfter(\"milk\");\n\n// Final state:\n{\"shopping\": [\"cheese\", \"eggs\", \"milk\"]}\n\\end{verbatim}\n\\caption{Example of programmatically constructing a JSON document.}\\label{fig:make-doc}\n\\end{figure}\n\nTo define the semantics for collaboratively editable data structures, we first define a simple command language that is executed locally at any of the replicas, and which allows that replica's local copy of the document to be queried and modified. Performing read-only queries has no side-effects, but modifying the document has the effect of producing \\emph{operations} describing the mutation. Those operations are immediately applied to the local copy of the document, and also enqueued for asynchronous broadcasting to other replicas.\n\nThe syntax of the command language is given in Figure~\\ref{fig:local-syntax}. It is not a full programming language, but rather an API through which the document state is queried and modified. We assume that the program accepts user input and issues a (possibly infinite) sequence of commands to the API. We model only the semantics of those commands, and do not assume anything about the program in which the command language is embedded. The API differs slightly from the JSON libraries found in many programming languages, in order to allow us to define consistent merge semantics.\n\nWe first explain the language informally, before giving its formal semantics. The expression construct EXPR is used to construct a \\emph{cursor} which identifies a position in the document. An expression starts with either the special token \\texttt{doc}, identifying the root of the JSON document tree, or a variable $x$ that was previously defined in a \\texttt{let} command. The expression defines, left to right, the path the cursor takes as it navigates through the tree towards the leaves: the operator \\texttt{.get(}$\\mathit{key}$\\texttt{)} selects a key within a map, and \\texttt{.idx(}$n$\\texttt{)} selects the $n$th element of an ordered list. Lists are indexed starting from 1, and \\texttt{.idx(0)} is a special cursor indicating the head of a list (a virtual position before the first list element).\n\nThe expression construct EXPR can also query the state of the document: \\texttt{keys} returns the set of keys in the map at the current cursor, and \\texttt{values} returns the contents of the multi-value register at the current cursor. (\\texttt{values} is not defined if the cursor refers to a map or list.)\n\nA command CMD either sets the value of a local variable (\\texttt{let}), performs network communication (\\texttt{yield}), or modifies the document. A document can be modified by writing to a register (the operator \\texttt{:=} assigns the value of the register identified by the cursor), by inserting an element into a list (\\texttt{insertAfter} places a new element after the existing list element identified by the cursor, and \\texttt{.idx(0).insertAfter} inserts at the head of a list), or by deleting an element from a list or a map (\\texttt{delete} removes the element identified by the cursor).\n\nFigure~\\ref{fig:make-doc} shows an example sequence of commands that constructs a new document representing a shopping list. First \\texttt{doc} is set to \\verb|{}|, the empty map literal, and then the key \\verb|\"shopping\"| within that map is set to the empty list \\verb|[]|. The third line navigates to the key \\verb|\"shopping\"| and selects the head of the list, placing the cursor in a variable called \\texttt{head}. The list element ``eggs'' is inserted at the head of the list. In line 5, the variable \\texttt{eggs} is set to a cursor pointing at the list element ``eggs''. Then two more list elements are inserted: ``cheese'' at the head, and ``milk'' after ``eggs''.\n\nNote that the cursor \\texttt{eggs} identifies the list element by identity, not by its index: after the insertion of ``cheese'', the element ``eggs'' moves from index 1 to 2, but ``milk'' is nevertheless inserted after ``eggs''. As we shall see later, this feature is helpful for achieving desirable semantics in the presence of concurrent modifications.\n\n\n\\begin{figure*}\n\\begin{center}\n\\AxiomC{$\\mathit{cmd}_1 \\mathbin{:} \\mathrm{CMD}$}\n\\AxiomC{$A_p,\\, \\mathit{cmd}_1 \\evalto A_p'$}\n\\LeftLabel{\\textsc{Exec}}\n\\BinaryInfC{$A_p,\\, \\langle \\mathit{cmd}_1 \\mathbin{;} \\mathit{cmd}_2 \\mathbin{;} \\dots \\rangle\n \\evalto A_p',\\, \\langle \\mathit{cmd}_2 \\mathbin{;} \\dots \\rangle$}\n\\DisplayProof\\hspace{4em}\n%\n\\AxiomC{}\n\\LeftLabel{\\textsc{Doc}}\n\\UnaryInfC{$A_p,\\, \\mathsf{doc} \\evalto \\mathsf{cursor}(\\langle\\rangle,\\, \\mathsf{doc})$}\n\\DisplayProof\\proofSkipAmount\n\\end{center}\n\n\\begin{center}\n\\AxiomC{$A_p,\\, \\mathit{expr} \\evalto \\mathit{cur}$}\n\\LeftLabel{\\textsc{Let}}\n\\UnaryInfC{$A_p,\\, \\mathsf{let}\\; x = \\mathit{expr} \\evalto A_p[\\,x \\,\\mapsto\\, \\mathit{cur}\\,]$}\n\\DisplayProof\\hspace{3em}\n%\n\\AxiomC{$x \\in \\mathrm{dom}(A_p)$}\n\\LeftLabel{\\textsc{Var}}\n\\UnaryInfC{$A_p,\\, x \\evalto A_p(x)$}\n\\DisplayProof\\proofSkipAmount\n\\end{center}\n\n\\begin{prooftree}\n\\AxiomC{$A_p,\\, \\mathit{expr} \\evalto \\mathsf{cursor}(\\langle k_1, \\dots, k_{n-1} \\rangle,\\, k_n)$}\n\\AxiomC{$k_n \\not= \\mathsf{head}$}\n\\LeftLabel{\\textsc{Get}}\n\\BinaryInfC{$A_p,\\, \\mathit{expr}.\\mathsf{get}(\\mathit{key}) \\evalto\n \\mathsf{cursor}(\\langle k_1, \\dots, k_{n-1}, \\mathsf{mapT}(k_n) \\rangle,\\, \\mathit{key})$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$A_p,\\, \\mathit{expr} \\evalto \\mathsf{cursor}(\\langle k_1, \\dots, k_{n-1} \\rangle,\\, k_n)$}\n\\AxiomC{$A_p,\\, \\mathsf{cursor}(\\langle k_1, \\dots, k_{n-1}, \\mathsf{listT}(k_n) \\rangle,\\,\n \\mathsf{head}).\\mathsf{idx}(i) \\evalto \\mathit{cur}'$}\n\\LeftLabel{$\\textsc{Idx}_1$}\n\\BinaryInfC{$A_p,\\, \\mathit{expr}.\\mathsf{idx}(i) \\evalto \\mathit{cur}'$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$k_1 \\in \\mathrm{dom}(\\mathit{ctx})$}\n\\AxiomC{$\\mathit{ctx}(k_1),\\, \\mathsf{cursor}(\\langle k_2, \\dots, k_{n-1} \\rangle,\\, k_n).\\mathsf{idx}(i)\n \\evalto \\mathsf{cursor}(\\langle k_2, \\dots, k_{n-1} \\rangle,\\, k_n')$}\n\\LeftLabel{$\\textsc{Idx}_2$}\n\\BinaryInfC{$\\mathit{ctx},\\, \\mathsf{cursor}(\\langle k_1, k_2, \\dots, k_{n-1} \\rangle,\\, k_n).\\mathsf{idx}(i)\n \\evalto \\mathsf{cursor}(\\langle k_1, k_2, \\dots, k_{n-1} \\rangle,\\, k_n')$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$i>0 \\,\\wedge\\, \\mathit{ctx}(\\mathsf{next}(k)) = k' \\,\\wedge\\, k' \\not= \\mathsf{tail}$}\n\\AxiomC{$\\mathit{ctx}(\\mathsf{pres}(k')) \\not= \\{\\}$}\n\\AxiomC{$\\mathit{ctx},\\, \\mathsf{cursor}(\\langle\\rangle,\\, k').\\mathsf{idx}(i-1) \\evalto \\mathit{ctx}'$}\n\\LeftLabel{$\\textsc{Idx}_3$}\n\\TrinaryInfC{$\\mathit{ctx},\\, \\mathsf{cursor}(\\langle\\rangle,\\, k).\\mathsf{idx}(i) \\evalto \\mathit{ctx}'$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$i>0 \\,\\wedge\\, \\mathit{ctx}(\\mathsf{next}(k)) = k' \\,\\wedge\\, k' \\not= \\mathsf{tail}$}\n\\AxiomC{$\\mathit{ctx}(\\mathsf{pres}(k')) = \\{\\}$}\n\\AxiomC{$\\mathit{ctx},\\, \\mathsf{cursor}(\\langle\\rangle,\\, k').\\mathsf{idx}(i) \\evalto \\mathit{cur}'$}\n\\LeftLabel{$\\textsc{Idx}_4$}\n\\TrinaryInfC{$\\mathit{ctx},\\, \\mathsf{cursor}(\\langle\\rangle,\\, k).\\mathsf{idx}(i) \\evalto \\mathit{cur}'$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$i=0$}\n\\LeftLabel{$\\textsc{Idx}_5$}\n\\UnaryInfC{$\\mathit{ctx},\\, \\mathsf{cursor}(\\langle\\rangle,\\, k).\\mathsf{idx}(i) \\evalto\n \\mathsf{cursor}(\\langle\\rangle,\\, k)$}\n\\end{prooftree}\n\n\\[ \\mathrm{keys}(\\mathit{ctx}) = \\{\\; k \\mid\n \\mathsf{mapT}(k) \\in \\mathrm{dom}(\\mathit{ctx}) \\,\\vee\\,\n \\mathsf{listT}(k) \\in \\mathrm{dom}(\\mathit{ctx}) \\,\\vee\\,\n \\mathsf{regT}(k) \\in \\mathrm{dom}(\\mathit{ctx})\n\\;\\} \\]\n\n\\begin{prooftree}\n\\AxiomC{$A_p,\\, \\mathit{expr} \\evalto \\mathit{cur}$}\n\\AxiomC{$A_p,\\, \\mathit{cur}.\\mathsf{keys} \\evalto \\mathit{keys}$}\n\\LeftLabel{$\\textsc{Keys}_1$}\n\\BinaryInfC{$A_p,\\, \\mathit{expr}.\\mathsf{keys} \\evalto \\mathit{keys}$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$\\mathit{map} = \\mathit{ctx}(\\mathsf{mapT}(k))$}\n\\AxiomC{$\\mathit{keys} = \\{\\; k \\mid k \\in \\mathrm{keys}(\\mathit{map}) \\,\\wedge\\,\n \\mathit{map}(\\mathsf{pres}(k)) \\not= \\{\\} \\;\\}$}\n\\LeftLabel{$\\textsc{Keys}_2$}\n\\BinaryInfC{$A_p,\\, \\mathsf{cursor}(\\langle\\rangle,\\, k).\\mathsf{keys} \\evalto \\mathit{keys}$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$k_1 \\in \\mathrm{dom}(\\mathit{ctx})$}\n\\AxiomC{$\\mathit{ctx}(k_1),\\, \\mathsf{cursor}(\\langle k_2, \\dots, k_{n-1} \\rangle,\\, k_n).\\mathsf{keys}\n \\evalto \\mathit{keys}$}\n\\LeftLabel{$\\textsc{Keys}_3$}\n\\BinaryInfC{$\\mathit{ctx},\\, \\mathsf{cursor}(\\langle k_1, k_2, \\dots, k_{n-1} \\rangle,\\, k_n).\\mathsf{keys}\n \\evalto \\mathit{keys}$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$A_p,\\, \\mathit{expr} \\evalto \\mathit{cur}$}\n\\AxiomC{$A_p,\\, \\mathit{cur}.\\mathsf{values} \\evalto \\mathit{val}$}\n\\LeftLabel{$\\textsc{Val}_1$}\n\\BinaryInfC{$A_p,\\, \\mathit{expr}.\\mathsf{values} \\evalto \\mathit{val}$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$\\mathsf{regT}(k) \\in \\mathrm{dom}(\\mathit{ctx})$}\n\\AxiomC{$\\mathit{val} = \\mathrm{range}(\\mathit{ctx}(\\mathsf{regT}(k)))$}\n\\LeftLabel{$\\textsc{Val}_2$}\n\\BinaryInfC{$\\mathit{ctx},\\, \\mathsf{cursor}(\\langle\\rangle,\\, k).\\mathsf{values} \\evalto \\mathit{val}$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$k_1 \\in \\mathrm{dom}(\\mathit{ctx})$}\n\\AxiomC{$\\mathit{ctx}(k_1),\\, \\mathsf{cursor}(\\langle k_2, \\dots, k_{n-1} \\rangle,\\, k_n).\\mathsf{values}\n \\evalto \\mathit{val}$}\n\\LeftLabel{$\\textsc{Val}_3$}\n\\BinaryInfC{$\\mathit{ctx},\\, \\mathsf{cursor}(\\langle k_1, k_2, \\dots, k_{n-1} \\rangle,\\, k_n).\\mathsf{values}\n \\evalto \\mathit{val}$}\n\\end{prooftree}\n\\caption{Rules for evaluating expressions.}\\label{fig:expr-rules}\n\\end{figure*}\n\n\\section{Formal Semantics}\\label{sec:semantics}\n\nWe now explain formally how to achieve the concurrent semantics outlined in Section~\\ref{sec:composing}. The state of replica $p$ is described by $A_p$, a finite partial function. The evaluation rules of the command language inspect and modify this local state $A_p$, and they do not depend on $A_q$ (the state of any other replica $q \\neq p$). The only communication between replicas occurs in the evaluation of the \\textsf{yield} command, which we discuss later. For now, we concentrate on the execution of commands at a single replica $p$.\n\n\\subsection{Expression Evaluation}\n\nFigure~\\ref{fig:expr-rules} gives the rules for evaluating EXPR expressions in the command language, which are evaluated in the context of the local replica state $A_p$. The \\textsc{Exec} rule formalizes the assumption that commands are executed sequentially. The \\textsc{Let} rule allows the program to define a local variable, which is added to the local state (the notation $A_p[\\,x \\,\\mapsto\\, \\mathit{cur}\\,]$ denotes a partial function that is the same as $A_p$, except that $A_p(x) = \\mathit{cur}$). The corresponding \\textsc{Var} rule allows the program to retrieve the value of a previously defined variable.\n\nThe following rules in Figure~\\ref{fig:expr-rules} show how an expression is evaluated to a cursor, which unambiguously identifies a particular position in a JSON document by describing a path from the root of the document tree to some branch or leaf node. A cursor consists only of immutable keys and identifiers, so it can be sent over the network to another replica, where it can be used to locate the same position in the document.\n\nFor example,\n\\[ \\mathsf{cursor}(\\langle \\mathsf{mapT}(\\mathsf{doc}), \\mathsf{listT}(\\text{``shopping''}) \\rangle,\\, \\mathit{id}_1) \\]\nis a cursor representing the list element \\verb|\"eggs\"| in Figure~\\ref{fig:make-doc}, assuming that $\\mathit{id}_1$ is the unique identifier of the operation that inserted this list element (we will discuss these identifiers in Section~\\ref{sec:lamport-ts}). The cursor can be interpreted as a path through the local replica state structure $A_p$, read from left to right: starting from the \\textsf{doc} map at the root, it traverses through the map entry ``shopping'' of type \\textsf{listT}, and finishes with the list element that has identifier $\\mathit{id}_1$.\n\nIn general, $\\mathsf{cursor}(\\langle k_1, \\dots, k_{n-1} \\rangle,\\, k_n)$ consists of a (possibly empty) vector of keys $\\langle k_1, \\dots, k_{n-1} \\rangle$, and a final key $k_n$ which is always present. $k_n$ can be thought of as the final element of the vector, with the distinction that it is not tagged with a datatype, whereas the elements of the vector are tagged with the datatype of the branch node being traversed, either \\textsf{mapT} or \\textsf{listT}.\n\nThe \\textsc{Doc} rule in Figure~\\ref{fig:expr-rules} defines the simplest cursor $\\mathsf{cursor}(\\langle\\rangle,\\, \\mathsf{doc})$, referencing the root of the document using the special atom \\textsf{doc}. The \\textsc{Get} rule navigates a cursor to a particular key within a map. For example, the expression \\verb|doc.get(\"shopping\")| evaluates to $\\mathsf{cursor}(\\langle \\mathsf{mapT}(\\mathsf{doc}) \\rangle,\\, \\text{``shopping''})$ by applying the \\textsc{Doc} and \\textsc{Get} rules. Note that the expression \\verb|doc.get(...)| implicitly asserts that \\textsf{doc} is of type \\textsf{mapT}, and this assertion is encoded in the cursor.\n\nThe rules $\\textsc{Idx}_{1 \\dots 5}$ define how to evaluate the expression \\verb|.idx(|$n$\\verb|)|, moving the cursor to a particular element of a list. $\\textsc{Idx}_1$ constructs a cursor representing the head of the list, and delegates to the subsequent rules to scan over the list. $\\textsc{Idx}_2$ recursively descends the local state according to the vector of keys in the cursor. When the vector of keys is empty, the context $\\mathit{ctx}$ is the subtree of $A_p$ that stores the list in question, and the rules $\\textsc{Idx}_{3,4,5}$ iterate over that list until the desired element is found.\n\n$\\textsc{Idx}_5$ terminates the iteration when the index reaches zero, while $\\textsc{Idx}_3$ moves to the next element and decrements the index, and $\\textsc{Idx}_4$ skips over list elements that are marked as deleted. The structure resembles a linked list: each list element has a unique identifier $k$, and the partial function representing local state maps $\\mathsf{next}(k)$ to the ID of the list element that follows $k$.\n\nDeleted elements are never removed from the linked list structure, but only marked as deleted (they become so-called \\emph{tombstones}). To this end, the local state maintains a \\emph{presence set} $\\mathsf{pres}(k)$ for the list element with ID $k$, which is the set of all operations that have asserted the existence of this list element. When a list element is deleted, the presence set is set to the empty set, which marks it as deleted; however, a concurrent operation that references the list element can cause the presence set to be come non-empty again (leading to the situations in Figures~\\ref{fig:map-remove} and~\\ref{fig:todo-item}). Rule $\\textsc{Idx}_4$ handles list elements with an empty presence set by moving to the next list element without decrementing the index (i.e., not counting them as list elements).\n\nThe $\\textsc{Keys}_{1,2,3}$ rules allow the application to inspect the set of keys in a map. This set is determined by examining the local state, and excluding any keys for which the presence set is empty (indicating that the key has been deleted).\n\nFinally, the $\\textsc{Val}_{1,2,3}$ rules allow the application to read the contents of a register at a particular cursor position, using a similar recursive rule structure as the \\textsc{Idx} rules. A register is expressed using the \\textsf{regT} type annotation in the local state. Although a replica can only assign a single value to a register, a register can nevertheless contain multiple values if multiple replicas concurrently assign values to it.\n\n\\subsection{Generating Operations}\n\nWhen commands mutate the state of the document, they generate \\emph{operations} that describe the mutation. In our semantics, a command never directly modifies the local replica state $A_p$, but only generates an operation. That operation is then immediately applied to $A_p$ so that it takes effect locally, and the same operation is also asynchronously broadcast to the other replicas.\n\n\\subsubsection{Lamport Timestamps}\\label{sec:lamport-ts}\n\nEvery operation in our model is given a unique identifier, which is used in the local state and in cursors. Whenever an element is inserted into a list, or a value is assigned to a register, the new list element or register value is identified by the identifier of the operation that created it.\n\nIn order to generate globally unique operation identifiers without requiring synchronous coordination between replicas we use Lamport timestamps~\\cite{Lamport:1978jq}. A Lamport timestamp is a pair $(c, p)$ where $p \\in \\mathrm{ReplicaID}$ is the unique identifier of the replica on which the edit is made (for example, a hash of its public key), and $c \\in \\mathbb{N}$ is a counter that is stored at each replica and incremented for every operation. Since each replica generates a strictly monotonically increasing sequence of counter values $c$, the pair $(c, p)$ is unique.\n\nIf a replica receives an operation with a counter value $c$ that is greater than the locally stored counter value, the local counter is increased to the value of the incoming counter. This ensures that if operation $o_1$ causally happened before $o_2$ (that is, the replica that generated $o_2$ had received and processed $o_1$ before $o_2$ was generated), then $o_2$ must have a greater counter value than $o_1$. Only concurrent operations can have equal counter values.\n\nWe can thus define a total ordering $<$ for Lamport timestamps:\n\\[ (c_1, p_1) < (c_2, p_2) \\;\\text{ iff }\\; (c_1 < c_2) \\vee (c_1 = c_2 \\wedge p_1 < p_2). \\]\nIf one operation happened before another, this ordering is consistent with causality (the earlier operation has a lower timestamp). If two operations are concurrent, their order according to $<$ is arbitrary but deterministic. This ordering property is important for our definition of the semantics of ordered lists.\n\n\\subsubsection{Operation Structure}\n\nAn operation is a tuple of the form\n\\begin{alignat*}{3}\n& \\mathsf{op}( \\\\\n&& \\mathit{id} &: \\mathbb{N} \\times \\mathrm{ReplicaID}, \\\\\n&& \\mathit{deps} &: \\mathcal{P}(\\mathbb{N} \\times \\mathrm{ReplicaID}), \\\\\n&& \\mathit{cur} &: \\mathsf{cursor}(\\langle k_1, \\dots, k_{n-1} \\rangle,\\, k_n), \\\\\n&& \\mathit{mut} &: \\mathsf{insert}(v) \\mid \\mathsf{delete} \\mid \\mathsf{assign}(v) && \\quad v: \\mathrm{VAL} \\\\\n& )\n\\end{alignat*}\nwhere $\\mathit{id}$ is the Lamport timestamp that uniquely identifies the operation, $\\mathit{cur}$ is the cursor describing the position in the document being modified, and $\\mathit{mut}$ is the mutation that was requested at the specified position.\n\n$\\mathit{deps}$ is the set of \\emph{causal dependencies} of the operation. It is defined as follows: if operation $o_2$ was generated by replica $p$, then a causal dependency of $o_2$ is any operation $o_1$ that had already been applied on $p$ at the time when $o_2$ was generated. In this paper, we define $\\mathit{deps}$ as the set of Lamport timestamps of all causal dependencies. In a real implementation, this set would become impracticably large, so a compact representation of causal history would be used instead -- for example, version vectors~\\cite{ParkerJr:1983jb}, state vectors~\\cite{Ellis:1989ue}, or dotted version vectors~\\cite{Preguica:2012fx}. However, to avoid ambiguity in our semantics we give the dependencies as a simple set of operation IDs.\n\nThe purpose of the causal dependencies $\\mathit{deps}$ is to impose a partial ordering on operations: an operation can only be applied after all operations that ``happened before'' it have been applied. In particular, this means that the sequence of operations generated at one particular replica will be applied in the same order at every other replica. Operations that are concurrent (i.e., where there is no causal dependency in either direction) can be applied in any order.\n\n\\subsubsection{Semantics of Generating Operations}\n\n\\begin{figure*}\n\\centering\n\\begin{prooftree}\n\\AxiomC{$A_p,\\, \\mathit{expr} \\evalto \\mathit{cur}$}\n\\AxiomC{$\\mathit{val}: \\mathrm{VAL}$}\n\\AxiomC{$A_p,\\, \\mathsf{makeOp}(\\mathit{cur}, \\mathsf{assign}(\\mathit{val})) \\evalto A_p'$}\n\\LeftLabel{\\textsc{Make-Assign}}\n\\TrinaryInfC{$A_p,\\, \\mathit{expr} \\,\\text{ := }\\, \\mathit{val} \\evalto A_p'$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$A_p,\\, \\mathit{expr} \\evalto \\mathit{cur}$}\n\\AxiomC{$\\mathit{val}: \\mathrm{VAL}$}\n\\AxiomC{$A_p,\\, \\mathsf{makeOp}(\\mathit{cur}, \\mathsf{insert}(\\mathit{val})) \\evalto A_p'$}\n\\LeftLabel{\\textsc{Make-Insert}}\n\\TrinaryInfC{$A_p,\\, \\mathit{expr}.\\mathsf{insertAfter}(\\mathit{val}) \\evalto A_p'$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$A_p,\\, \\mathit{expr} \\evalto \\mathit{cur}$}\n\\AxiomC{$A_p,\\, \\mathsf{makeOp}(\\mathit{cur}, \\mathsf{delete}) \\evalto A_p'$}\n\\LeftLabel{\\textsc{Make-Delete}}\n\\BinaryInfC{$A_p,\\, \\mathit{expr}.\\mathsf{delete} \\evalto A_p'$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$\\mathit{ctr} = \\mathrm{max}(\\{0\\} \\,\\cup\\, \\{ c_i \\mid (c_i, p_i) \\in A_p(\\mathsf{ops}) \\}$}\n\\AxiomC{$A_p,\\, \\mathsf{apply}(\\mathsf{op}((\\mathit{ctr} + 1, p), A_p(\\mathsf{ops}),\n \\mathit{cur}, \\mathit{mut})) \\evalto A_p'$}\n\\LeftLabel{\\textsc{Make-Op}}\n\\BinaryInfC{$A_p,\\, \\mathsf{makeOp}(\\mathit{cur}, \\mathit{mut}) \\evalto A_p'$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$A_p,\\, \\mathit{op} \\evalto A_p'$}\n\\LeftLabel{\\textsc{Apply-Local}}\n\\UnaryInfC{$A_p,\\, \\mathsf{apply}(\\mathit{op}) \\evalto A_p'[\\,\n \\mathsf{queue} \\,\\mapsto\\, A_p'(\\mathsf{queue}) \\,\\cup\\, \\{\\mathit{op}\\},\\;\n \\mathsf{ops} \\,\\mapsto\\, A_p'(\\mathsf{ops}) \\,\\cup\\, \\{\\mathit{op.id}\\}\\,]$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$\\mathit{op} \\in A_p(\\mathsf{recv})$}\n\\AxiomC{$\\mathit{op.id} \\notin A_p(\\mathsf{ops})$}\n\\AxiomC{$\\mathit{op.deps} \\subseteq A_p(\\mathsf{ops})$}\n\\AxiomC{$A_p,\\, \\mathit{op} \\evalto A_p'$}\n\\LeftLabel{\\textsc{Apply-Remote}}\n\\QuaternaryInfC{$A_p,\\, \\mathsf{yield} \\evalto\n A_p'[\\,\\mathsf{ops} \\,\\mapsto\\, A_p'(\\mathsf{ops}) \\,\\cup\\, \\{\\mathit{op.id}\\}\\,]$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{}\n\\LeftLabel{\\textsc{Send}}\n\\UnaryInfC{$A_p,\\, \\mathsf{yield} \\evalto\n A_p[\\,\\mathsf{send} \\,\\mapsto\\, A_p(\\mathsf{send}) \\,\\cup\\, A_p(\\mathsf{queue})\\,]$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$q: \\mathrm{ReplicaID}$}\n\\LeftLabel{\\textsc{Recv}}\n\\UnaryInfC{$A_p,\\, \\mathsf{yield} \\evalto\n A_p[\\,\\mathsf{recv} \\,\\mapsto\\, A_p(\\mathsf{recv}) \\,\\cup\\, A_q(\\mathsf{send})\\,]$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$A_p,\\, \\mathsf{yield} \\evalto A_p'$}\n\\AxiomC{$A_p',\\, \\mathsf{yield} \\evalto A_p''$}\n\\LeftLabel{\\textsc{Yield}}\n\\BinaryInfC{$A_p,\\, \\mathsf{yield} \\evalto A_p''$}\n\\end{prooftree}\n\\caption{Rules for generating, sending, and receiving operations.}\n\\label{fig:send-recv}\n\\end{figure*}\n\nThe evaluation rules for commands are given in Figure~\\ref{fig:send-recv}. The \\textsc{Make-Assign}, \\textsc{Make-Insert} and \\textsc{Make-Delete} rules define how these respective commands mutate the document: all three delegate to the \\textsc{Make-Op} rule to generate and apply the operation. \\textsc{Make-Op} generates a new Lamport timestamp by choosing a counter value that is 1 greater than any existing counter in $A_p(\\mathsf{ops})$, the set of all operation IDs that have been applied to replica $p$.\n\n\\textsc{Make-Op} constructs an \\textsf{op()} tuple of the form described above, and delegates to the \\textsc{Apply-Local} rule to process the operation. \\textsc{Apply-Local} does three things: it evaluates the operation to produce a modified local state $A_p'$, it adds the operation to the queue of generated operations $A_p(\\mathsf{queue})$, and it adds the ID to the set of processed operations $A_p(\\mathsf{ops})$.\n\nThe \\textsf{yield} command, inspired by Burckhardt et al.~\\cite{Burckhardt:2012jy}, performs network communication: sending and receiving operations to and from other replicas, and applying operations from remote replicas. The rules \\textsc{Apply-Remote}, \\textsc{Send}, \\textsc{Recv} and \\textsc{Yield} define the semantics of \\textsf{yield}. Since any of these rules can be used to evaluate \\textsf{yield}, their effect is nondeterministic, which models the asynchronicity of the network: a message sent by one replica arrives at another replica at some arbitrarily later point in time, and there is no message ordering guarantee in the network.\n\nThe \\textsc{Send} rule takes any operations that were placed in $A_p(\\mathsf{queue})$ by \\textsc{Apply-Local} and adds them to a send buffer $A_p(\\mathsf{send})$. Correspondingly, the \\textsc{Recv} rule takes operations in the send buffer of replica $q$ and adds them to the receive buffer $A_p(\\mathsf{recv})$ of replica $p$. This is the only rule that involves more than one replica, and it models all network communication.\n\nOnce an operation appears in the receive buffer $A_p(\\mathsf{recv})$, the rule \\textsc{Apply-Remote} may apply. Under the preconditions that the operation has not already been processed and that its causal dependencies are satisfied, \\textsc{Apply-Remote} applies the operation in the same way as \\textsc{Apply-Local}, and adds its ID to the set of processed operations $A_p(\\mathsf{ops})$.\n\nThe actual document modifications are performed by applying the operations, which we discuss next.\n\n\\subsection{Applying Operations}\n\n\\begin{sidewaysfigure*}\n\\begin{prooftree}\n\\AxiomC{$\\mathit{ctx},\\, k_1 \\evalto \\mathit{child}$}\n\\AxiomC{$\\mathit{child},\\, \\mathsf{op}(\\mathit{id}, \\mathit{deps},\n \\mathsf{cursor}(\\langle k_2, \\dots, k_{n-1} \\rangle,\\, k_n), \\mathit{mut}) \\evalto \\mathit{child}'$}\n\\AxiomC{$\\mathit{ctx},\\, \\mathsf{addId}(k_1, \\mathit{id}, \\mathit{mut}) \\evalto \\mathit{ctx}'$}\n\\LeftLabel{\\textsc{Descend}}\n\\TrinaryInfC{$\\mathit{ctx},\\, \\mathsf{op}(\\mathit{id}, \\mathit{deps},\n \\mathsf{cursor}(\\langle k_1, k_2, \\dots, k_{n-1} \\rangle,\\, k_n), \\mathit{mut}) \\evalto\n \\mathit{ctx}' [\\, k_1 \\,\\mapsto\\, \\mathit{child}' \\,]$}\n\\end{prooftree}\\vspace{6pt}\n\n\\begin{center}\n\\AxiomC{$k \\in \\mathrm{dom}(\\mathit{ctx})$}\n\\LeftLabel{\\textsc{Child-Get}}\n\\UnaryInfC{$\\mathit{ctx},\\, k \\evalto \\mathit{ctx}(k)$}\n\\DisplayProof\\hspace{3em}\n%\n\\AxiomC{$\\mathsf{mapT}(k) \\notin \\mathrm{dom}(\\mathit{ctx})$}\n\\LeftLabel{\\textsc{Child-Map}}\n\\UnaryInfC{$\\mathit{ctx},\\, \\mathsf{mapT}(k) \\evalto \\{\\}$}\n\\DisplayProof\\hspace{3em}\n%\n\\AxiomC{$\\mathsf{listT}(k) \\notin \\mathrm{dom}(\\mathit{ctx})$}\n\\LeftLabel{\\textsc{Child-List}}\n\\UnaryInfC{$\\mathit{ctx},\\, \\mathsf{listT}(k) \\evalto\n \\{\\,\\mathsf{next}(\\mathsf{head}) \\,\\mapsto\\, \\mathsf{tail} \\,\\}$}\n\\DisplayProof\\proofSkipAmount\n\\end{center}\\vspace{6pt}\n\n\\begin{center}\n\\AxiomC{$\\mathsf{regT}(k) \\notin \\mathrm{dom}(\\mathit{ctx})$}\n\\LeftLabel{\\textsc{Child-Reg}}\n\\UnaryInfC{$\\mathit{ctx},\\, \\mathsf{regT}(k) \\evalto \\{\\}$}\n\\DisplayProof\\hspace{3em}\n%\n\\AxiomC{$\\mathsf{pres}(k) \\in \\mathrm{dom}(\\mathit{ctx})$}\n\\LeftLabel{$\\textsc{Presence}_1$}\n\\UnaryInfC{$\\mathit{ctx},\\, \\mathsf{pres}(k) \\evalto \\mathit{ctx}(\\mathsf{pres}(k))$}\n\\DisplayProof\\hspace{3em}\n%\n\\AxiomC{$\\mathsf{pres}(k) \\notin \\mathrm{dom}(\\mathit{ctx})$}\n\\LeftLabel{$\\textsc{Presence}_2$}\n\\UnaryInfC{$\\mathit{ctx},\\, \\mathsf{pres}(k) \\evalto \\{\\}$}\n\\DisplayProof\\proofSkipAmount\n\\end{center}\\vspace{6pt}\n\n\\begin{center}\n\\AxiomC{$\\mathit{mut} \\not= \\mathsf{delete}$}\n\\AxiomC{$k_\\mathit{tag} \\in \\{\\mathsf{mapT}(k), \\mathsf{listT}(k), \\mathsf{regT}(k)\\}$}\n\\AxiomC{$\\mathit{ctx},\\, \\mathsf{pres}(k) \\evalto \\mathit{pres}$}\n\\LeftLabel{$\\textsc{Add-ID}_1$}\n\\TrinaryInfC{$\\mathit{ctx},\\, \\mathsf{addId}(k_\\mathit{tag}, \\mathit{id}, \\mathit{mut}) \\evalto\n \\mathit{ctx}[\\, \\mathsf{pres}(k) \\,\\mapsto\\, \\mathit{pres} \\,\\cup\\, \\{\\mathit{id}\\} \\,]$}\n\\DisplayProof\\hspace{3em}\n%\n\\AxiomC{$\\mathit{mut} = \\mathsf{delete}$}\n\\LeftLabel{$\\textsc{Add-ID}_2$}\n\\UnaryInfC{$\\mathit{ctx},\\, \\mathsf{addId}(k_\\mathit{tag}, \\mathit{id}, \\mathit{mut}) \\evalto \\mathit{ctx}$}\n\\DisplayProof\\proofSkipAmount\n\\end{center}\\vspace{6pt}\n\n\\begin{prooftree}\n\\AxiomC{$\\mathit{val} \\not= \\texttt{[]} \\,\\wedge\\, \\mathit{val} \\not= \\texttt{\\string{\\string}}$}\n\\AxiomC{$\\mathit{ctx},\\, \\mathsf{clear}(\\mathit{deps}, \\mathsf{regT}(k)) \\evalto \\mathit{ctx}',\\, \\mathit{pres}$}\n\\AxiomC{$\\mathit{ctx}',\\, \\mathsf{addId}(\\mathsf{regT}(k), \\mathit{id}, \\mathsf{assign}(\\mathit{val}))\n \\evalto \\mathit{ctx}''$}\n\\AxiomC{$\\mathit{ctx}'',\\, \\mathsf{regT}(k) \\evalto \\mathit{child}$}\n\\LeftLabel{\\textsc{Assign}}\n\\QuaternaryInfC{$\\mathit{ctx},\\, \\mathsf{op}(\\mathit{id}, \\mathit{deps},\n \\mathsf{cursor}(\\langle\\rangle,\\, k), \\mathsf{assign}(\\mathit{val})) \\evalto\n \\mathit{ctx}''[\\, \\mathsf{regT}(k) \\,\\mapsto\\,\n \\mathit{child}[\\, \\mathit{id} \\,\\mapsto\\, \\mathit{val} \\,]\\,]$}\n\\end{prooftree}\\vspace{6pt}\n\n\\begin{prooftree}\n\\AxiomC{$\\mathit{val} = \\texttt{\\string{\\string}}$}\n\\AxiomC{$\\mathit{ctx},\\, \\mathsf{clearElem}(\\mathit{deps}, k) \\evalto \\mathit{ctx}',\\, \\mathit{pres}$}\n\\AxiomC{$\\mathit{ctx}',\\, \\mathsf{addId}(\\mathsf{mapT}(k), \\mathit{id}, \\mathsf{assign}(\\mathit{val}))\n \\evalto \\mathit{ctx}''$}\n\\AxiomC{$\\mathit{ctx}'',\\, \\mathsf{mapT}(k) \\evalto \\mathit{child}$}\n\\LeftLabel{\\textsc{Empty-Map}}\n\\QuaternaryInfC{$\\mathit{ctx},\\, \\mathsf{op}(\\mathit{id}, \\mathit{deps},\n \\mathsf{cursor}(\\langle\\rangle,\\, k), \\mathsf{assign}(\\mathit{val})) \\evalto\n \\mathit{ctx}''[\\, \\mathsf{mapT}(k) \\,\\mapsto\\, \\mathit{child} \\,]$}\n\\end{prooftree}\\vspace{6pt}\n\n\\begin{prooftree}\n\\AxiomC{$\\mathit{val} = \\texttt{[]}$}\n\\AxiomC{$\\mathit{ctx},\\, \\mathsf{clearElem}(\\mathit{deps}, k) \\evalto \\mathit{ctx}',\\, \\mathit{pres}$}\n\\AxiomC{$\\mathit{ctx}',\\, \\mathsf{addId}(\\mathsf{listT}(k), \\mathit{id}, \\mathsf{assign}(\\mathit{val}))\n \\evalto \\mathit{ctx}''$}\n\\AxiomC{$\\mathit{ctx}'',\\, \\mathsf{listT}(k) \\evalto \\mathit{child}$}\n\\LeftLabel{\\textsc{Empty-List}}\n\\QuaternaryInfC{$\\mathit{ctx},\\, \\mathsf{op}(\\mathit{id}, \\mathit{deps},\n \\mathsf{cursor}(\\langle\\rangle,\\, k), \\mathsf{assign}(\\mathit{val})) \\evalto\n \\mathit{ctx}''[\\, \\mathsf{listT}(k) \\,\\mapsto\\, \\mathit{child} \\,]$}\n\\end{prooftree}\\vspace{6pt}\n\n\\begin{prooftree}\n\\AxiomC{$\\mathit{ctx}(\\mathsf{next}(\\mathit{prev})) = \\mathit{next}$}\n\\AxiomC{$\\mathit{next} < \\mathit{id} \\,\\vee\\, \\mathit{next} = \\mathsf{tail}$}\n\\AxiomC{$\\mathit{ctx},\\, \\mathsf{op}(\\mathit{id}, \\mathit{deps},\n \\mathsf{cursor}(\\langle\\rangle,\\, \\mathit{id}), \\mathsf{assign}(\\mathit{val})) \\evalto \\mathit{ctx}'$}\n\\LeftLabel{$\\textsc{Insert}_1$}\n\\TrinaryInfC{$\\mathit{ctx},\\, \\mathsf{op}(\\mathit{id}, \\mathit{deps},\n \\mathsf{cursor}(\\langle\\rangle,\\, \\mathit{prev}), \\mathsf{insert}(\\mathit{val})) \\evalto\n \\mathit{ctx}'[\\,\\mathsf{next}(\\mathit{prev}) \\,\\mapsto\\, \\mathit{id},\\;\n \\mathsf{next}(\\mathit{id}) \\,\\mapsto\\, \\mathit{next}\\,]$}\n\\end{prooftree}\\vspace{6pt}\n\n\\begin{prooftree}\n\\AxiomC{$\\mathit{ctx}(\\mathsf{next}(\\mathit{prev})) = \\mathit{next}$}\n\\AxiomC{$\\mathit{id} < \\mathit{next}$}\n\\AxiomC{$ctx,\\, \\mathsf{op}(\\mathit{id}, \\mathit{deps},\n \\mathsf{cursor}(\\langle\\rangle,\\, \\mathit{next}), \\mathsf{insert}(\\mathit{val})) \\evalto \\mathit{ctx}'$}\n\\LeftLabel{$\\textsc{Insert}_2$}\n\\TrinaryInfC{$\\mathit{ctx},\\, \\mathsf{op}(\\mathit{id}, \\mathit{deps},\n \\mathsf{cursor}(\\langle\\rangle,\\, \\mathit{prev}), \\mathsf{insert}(\\mathit{val})) \\evalto \\mathit{ctx}'$}\n\\end{prooftree}\n\\caption{Rules for applying insertion and assignment operations to update the state of a replica.}\\label{fig:operation-rules}\n\\end{sidewaysfigure*}\n\nFigure~\\ref{fig:operation-rules} gives the rules that apply an operation $\\mathsf{op}$ to a context $\\mathit{ctx}$, producing an updated context $\\mathit{ctx}'$. The context is initially the replica state $A_p$, but may refer to subtrees of the state as rules are recursively applied. These rules are used by \\textsc{Apply-Local} and \\textsc{Apply-Remote} to perform the state updates on a document.\n\nWhen the operation cursor's vector of keys is non-empty, the \\textsc{Descend} rule first applies. It recursively descends the document tree by following the path described by the keys. If the tree node already exists in the local replica state, \\textsc{Child-Get} finds it, otherwise \\textsc{Child-Map} and \\textsc{Child-List} create an empty map or list respectively.\n\nThe \\textsc{Descend} rule also invokes $\\textsc{Add-ID}_{1,2}$ at each tree node along the path described by the cursor, adding the operation ID to the presence set $\\mathsf{pres}(k)$ to indicate that the subtree includes a mutation made by this operation.\n\nThe remaining rules in Figure~\\ref{fig:operation-rules} apply when the vector of keys in the cursor is empty, which is the case when descended to the context of the tree node to which the mutation applies. The \\textsc{Assign} rule handles assignment of a primitive value to a register, \\textsc{Empty-Map} handles assignment where the value is the empty map literal \\verb|{}|, and \\textsc{Empty-List} handles assignment of the empty list \\verb|[]|. These three rules for \\textsf{assign} have a similar structure: first clearing the prior value at the cursor (as discussed in the next section), then adding the operation ID to the presence set, and finally incorporating the new value into the tree of local state.\n\nThe $\\textsc{Insert}_{1,2}$ rules handle insertion of a new element into an ordered list. In this case, the cursor refers to the list element $\\mathit{prev}$, and the new element is inserted after that position in the list. $\\textsc{Insert}_1$ performs the insertion by manipulating the linked list structure. $\\textsc{Insert}_2$ handles the case of multiple replicas concurrently inserting list elements at the same position, and uses the ordering relation $<$ on Lamport timestamps to consistently determine the insertion point. Our approach for handling insertions is based on the RGA algorithm~\\cite{Roh:2011dw}. We show later that these rules ensure all replicas converge towards the same state.\n\n\\subsubsection{Clearing Prior State}\n\n\\begin{figure*}\n\\begin{prooftree}\n\\AxiomC{$\\mathit{ctx},\\, \\mathsf{clearElem}(\\mathit{deps}, k) \\evalto \\mathit{ctx}',\\, \\mathit{pres}$}\n\\LeftLabel{\\textsc{Delete}}\n\\UnaryInfC{$\\mathit{ctx},\\, \\mathsf{op}(\\mathit{id}, \\mathit{deps},\n \\mathsf{cursor}(\\langle\\rangle,\\, k), \\mathsf{delete}) \\evalto \\mathit{ctx}'$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$\\mathit{ctx},\\, \\mathsf{clearAny}(\\mathit{deps}, k) \\evalto \\mathit{ctx}', \\mathit{pres}_1$}\n\\AxiomC{$\\mathit{ctx}',\\, \\mathsf{pres}(k) \\evalto \\mathit{pres}_2$}\n\\AxiomC{$\\mathit{pres}_3 = \\mathit{pres}_1 \\,\\cup\\, \\mathit{pres}_2 \\setminus \\mathit{deps}$}\n\\LeftLabel{\\textsc{Clear-Elem}}\n\\TrinaryInfC{$\\mathit{ctx},\\, \\mathsf{clearElem}(\\mathit{deps}, k) \\evalto\n \\mathit{ctx}' [\\, \\mathsf{pres}(k) \\,\\mapsto\\, \\mathit{pres}_3 \\,],\\, \\mathit{pres}_3$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$\\begin{matrix}\n \\mathit{ctx},\\, \\mathsf{clear}(\\mathit{deps}, \\mathsf{mapT}(k)) \\\\\n \\evalto \\mathit{ctx}_1,\\, \\mathit{pres}_1 \\end{matrix}$}\n\\AxiomC{$\\begin{matrix}\n \\mathit{ctx}_1,\\, \\mathsf{clear}(\\mathit{deps}, \\mathsf{listT}(k)) \\\\\n \\evalto \\mathit{ctx}_2,\\, \\mathit{pres}_2 \\end{matrix}$}\n\\AxiomC{$\\begin{matrix}\n \\mathit{ctx}_2,\\, \\mathsf{clear}(\\mathit{deps}, \\mathsf{regT}(k)) \\\\\n \\evalto \\mathit{ctx}_3,\\, \\mathit{pres}_3 \\end{matrix}$}\n\\LeftLabel{\\textsc{Clear-Any}}\n\\TrinaryInfC{$\\mathit{ctx},\\, \\mathsf{clearAny}(\\mathit{deps}, k) \\evalto\n \\mathit{ctx}_3,\\, \\mathit{pres}_1 \\,\\cup\\, \\mathit{pres}_2 \\,\\cup\\, \\mathit{pres}_3$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$k \\notin \\mathrm{dom}(\\mathit{ctx})$}\n\\LeftLabel{\\textsc{Clear-None}}\n\\UnaryInfC{$\\mathit{ctx},\\, \\mathsf{clear}(\\mathit{deps}, k) \\evalto \\mathit{ctx},\\, \\{\\}$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$\\mathsf{regT}(k) \\in \\mathrm{dom}(\\mathit{ctx})$}\n\\AxiomC{$\\mathit{concurrent} = \\{ \\mathit{id} \\mapsto v \\mid\n (\\mathit{id} \\mapsto v) \\in \\mathit{ctx}(\\mathsf{regT}(k))\n \\,\\wedge\\, \\mathit{id} \\notin \\mathit{deps} \\}$}\n\\LeftLabel{\\textsc{Clear-Reg}}\n\\BinaryInfC{$\\mathit{ctx},\\, \\mathsf{clear}(\\mathit{deps}, \\mathsf{regT}(k)) \\evalto\n \\mathit{ctx}[\\, \\mathsf{regT}(k) \\,\\mapsto\\, \\mathit{concurrent} \\,],\\, \\mathrm{dom}(\\mathit{concurrent})$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$\\mathsf{mapT}(k) \\in \\mathrm{dom}(\\mathit{ctx})$}\n\\AxiomC{$\\mathit{ctx}(\\mathsf{mapT}(k)),\\, \\mathsf{clearMap}(\\mathit{deps}, \\{\\}) \\evalto\n \\mathit{cleared},\\, \\mathit{pres}$}\n\\LeftLabel{$\\textsc{Clear-Map}_1$}\n\\BinaryInfC{$\\mathit{ctx},\\, \\mathsf{clear}(\\mathit{deps}, \\mathsf{mapT}(k)) \\evalto\n \\mathit{ctx} [\\, \\mathsf{mapT}(k) \\,\\mapsto\\, \\mathit{cleared} \\,],\\, \\mathit{pres}$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$\\begin{matrix}\n k \\in \\mathrm{keys}(\\mathit{ctx}) \\\\\n \\wedge\\, k \\notin \\mathit{done} \\end{matrix}$}\n\\AxiomC{$\\begin{matrix}\n \\mathit{ctx},\\, \\mathsf{clearElem}(\\mathit{deps}, k) \\\\\n \\evalto \\mathit{ctx}', \\mathit{pres}_1 \\end{matrix}$}\n\\AxiomC{$\\begin{matrix}\n \\mathit{ctx}',\\, \\mathsf{clearMap}(\\mathit{deps}, \\mathit{done} \\cup \\{k\\}) \\\\\n \\evalto \\mathit{ctx}'',\\, \\mathit{pres}_2 \\end{matrix}$}\n\\LeftLabel{$\\textsc{Clear-Map}_2$}\n\\TrinaryInfC{$\\mathit{ctx},\\, \\mathsf{clearMap}(\\mathit{deps}, \\mathit{done})\n \\evalto \\mathit{ctx}'',\\, \\mathit{pres}_1 \\,\\cup\\, \\mathit{pres}_2$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$\\mathit{done} = \\mathrm{keys}(\\mathit{ctx})$}\n\\LeftLabel{$\\textsc{Clear-Map}_3$}\n\\UnaryInfC{$\\mathit{ctx},\\, \\mathsf{clearMap}(\\mathit{deps}, \\mathit{done}) \\evalto \\mathit{ctx},\\, \\{\\}$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$\\mathsf{listT}(k) \\in \\mathrm{dom}(\\mathit{ctx})$}\n\\AxiomC{$\\mathit{ctx}(\\mathsf{listT}(k)),\\, \\mathsf{clearList}(\\mathit{deps}, \\mathsf{head})\n \\evalto \\mathit{cleared},\\, \\mathit{pres}$}\n\\LeftLabel{$\\textsc{Clear-List}_1$}\n\\BinaryInfC{$\\mathit{ctx},\\, \\mathsf{clear}(\\mathit{deps}, \\mathsf{listT}(k)) \\evalto\n \\mathit{ctx}[\\, \\mathsf{listT}(k) \\,\\mapsto\\, \\mathit{cleared} \\,],\\, \\mathit{pres}$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$\\begin{matrix}\n k \\not= \\mathsf{tail} \\,\\wedge\\\\\n \\mathit{ctx}(\\mathsf{next}(k)) = \\mathit{next} \\end{matrix}$}\n\\AxiomC{$\\begin{matrix}\n \\mathit{ctx},\\, \\mathsf{clearElem}(\\mathit{deps}, k) \\\\\n \\evalto \\mathit{ctx}', \\mathit{pres}_1 \\end{matrix}$}\n\\AxiomC{$\\begin{matrix}\n \\mathit{ctx}',\\, \\mathsf{clearList}(\\mathit{deps}, \\mathit{next}) \\\\\n \\evalto \\mathit{ctx}'', \\mathit{pres}_2 \\end{matrix}$}\n\\LeftLabel{$\\textsc{Clear-List}_2$}\n\\TrinaryInfC{$\\mathit{ctx},\\, \\mathsf{clearList}(\\mathit{deps}, k) \\evalto\n \\mathit{ctx}'',\\, \\mathit{pres}_1 \\,\\cup\\, \\mathit{pres}_2$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$k = \\mathsf{tail}$}\n\\LeftLabel{$\\textsc{Clear-List}_3$}\n\\UnaryInfC{$\\mathit{ctx},\\, \\mathsf{clearList}(\\mathit{deps}, k) \\evalto \\mathit{ctx},\\, \\{\\}$}\n\\end{prooftree}\n\\caption{Rules for applying deletion operations to update the state of a replica.}\\label{fig:clear-rules}\n\\end{figure*}\n\nAssignment and deletion operations require that prior state (the value being overwritten or deleted) is cleared, while also ensuring that concurrent modifications are not lost, as illustrated in Figure~\\ref{fig:map-remove}. The rules to handle this clearing process are given in Figure~\\ref{fig:clear-rules}. Intuitively, the effect of clearing something is to reset it to its empty state by undoing any operations that causally precede the current operation, while leaving the effect of any concurrent operations untouched.\n\nA \\textsf{delete} operation can be used to delete either an element from an ordered list or a key from a map, depending on what the cursor refers to. The \\textsc{Delete} rule shows how this operation is evaluated by delegating to \\textsc{Clear-Elem}. In turn, \\textsc{Clear-Elem} uses \\textsc{Clear-Any} to clear out any data with a given key, regardless of whether it is of type \\textsf{mapT}, \\textsf{listT} or \\textsf{regT}, and also updates the presence set to include any nested operation IDs, but exclude any operations in $\\mathit{deps}$.\n\nThe premises of \\textsc{Clear-Any} are satisfied by $\\textsc{Clear-Map}_1$, $\\textsc{Clear-List}_1$ and \\textsc{Clear-Reg} if the respective key appears in $\\mathit{ctx}$, or by \\textsc{Clear-None} (which does nothing) if the key is absent.\n\nAs defined by the \\textsc{Assign} rule, a register maintains a mapping from operation IDs to values. \\textsc{Clear-Reg} updates a register by removing all operation IDs that appear in $\\mathit{deps}$ (i.e., which causally precede the clearing operation), but retaining all operation IDs that do not appear in $\\mathit{deps}$ (from assignment operations that are concurrent with the clearing operation).\n\nClearing maps and lists takes a similar approach: each element of the map or list is recursively cleared using \\textsf{clearElem}, and presence sets are updated to exclude $\\mathit{deps}$. Thus, any list elements or map entries whose modifications causally precede the clearing operation will end up with empty presence sets, and thus be considered deleted. Any map or list elements containing operations that are concurrent with the clearing operation are preserved.\n\n\\subsection{Convergence}\\label{sec:convergence}\n\nAs outlined in Section~\\ref{sec:intro-replication}, we require that all replicas automatically converge towards the same state -- a key requirement of a CRDT. We now formalize this notion, and show that the rules in Figures~\\ref{fig:expr-rules} to~\\ref{fig:clear-rules} satisfy this requirement.\n\n\\begin{definition}[valid execution]\\label{def:valid-exec}\nA \\emph{valid execution} is a set of operations generated by a set of replicas $\\{p_1, \\dots, p_k\\}$, each reducing a sequence of commands $\\langle \\mathit{cmd}_1 \\mathbin{;} \\dots \\mathbin{;} \\mathit{cmd}_n \\rangle$ without getting stuck.\n\\end{definition}\n\nA reduction gets stuck if there is no application of rules in which all premises are satisfied. For example, the $\\textsc{Idx}_{3,4}$ rules in Figure~\\ref{fig:expr-rules} get stuck if $\\mathsf{idx}(n)$ tries to iterate past the end of a list, which would happen if $n$ is greater than the number of non-deleted elements in the list; in a real implementation this would be a runtime error. By constraining valid executions to those that do not get stuck, we ensure that operations only refer to list elements that actually exist.\n\nNote that it is valid for an execution to never perform any network communication, either because it never invokes the \\textsf{yield} command, or because the nondeterministic execution of \\textsf{yield} never applies the \\textsc{Recv} rule. We need only a replica's local state to determine whether reduction gets stuck.\n\n\\begin{definition}[history]\\label{def:history}\nA \\emph{history} is a sequence of operations in the order it was applied at one particular replica $p$ by application of the rules \\textsc{Apply-Local} and \\textsc{Apply-Remote}.\n\\end{definition}\n\nSince the evaluation rules sequentially apply one operation at a time at a given replica, the order is well-defined. Even if two replicas $p$ and $q$ applied the same set of operations, i.e. if $A_p(\\mathsf{ops}) = A_q(\\mathsf{ops})$, they may have applied any concurrent operations in a different order. Due to the premise $\\mathit{op.deps} \\subseteq A_p(\\mathsf{ops})$ in \\textsc{Apply-Remote}, histories are consistent with causality: if an operation has causal dependencies, it appears at some point after those dependencies in the history.\n\n\\begin{definition}[document state]\\label{def:doc-state}\nThe \\emph{document state} of a replica $p$ is the subtree of $A_p$ containing the document: that is, $A_p(\\mathsf{mapT}(\\mathsf{doc}))$ or $A_p(\\mathsf{listT}(\\mathsf{doc}))$ or $A_p(\\mathsf{regT}(\\mathsf{doc}))$, whichever is defined.\n\\end{definition}\n\n$A_p$ contains variables defined with \\textsf{let}, which are local to one replica, and not part of the replicated state. The definition of document state excludes these variables.\n\n\\begin{convergence-thm}\nFor any two replicas $p$ and $q$ that participated in a valid execution, if $A_p(\\mathsf{ops}) = A_q(\\mathsf{ops})$, then $p$ and $q$ have the same document state.\n\\end{convergence-thm}\n\nThis theorem is proved in the appendix. It formalizes the safety property of convergence: if two replicas have processed the same set of operations, possibly in a different order, then they are in the same state. In combination with a liveness property, namely that every replica eventually processes all operations, we obtain the desired notion of convergence: all replicas eventually end up in the same state.\n\nThe liveness property depends on assumptions of replicas invoking \\textsf{yield} sufficiently often, and all nondeterministic rules for \\textsf{yield} being chosen fairly. We will not formalize the liveness property in this paper, but assert that it can usually be provided in practice, as network interruptions are usually of finite duration.\n\n\\section{Conclusions and Further Work}\n\nIn this paper we demonstrated how to compose CRDTs for ordered lists, maps and registers into a compound CRDT with a JSON data model. It supports arbitrarily nested lists and maps, and it allows replicas to make arbitrary changes to the data without waiting for network communication. Replicas asynchronously send mutations to other replicas in the form of operations. Concurrent operations are commutative, which ensures that replicas converge towards the same state without requiring application-specific conflict resolution logic.\n\nThis work focused on the formal semantics of the JSON CRDT, represented as a mathematical model. We are also working on a practical implementation of the algorithm, and will report on its performance characteristics in follow-on work.\n\nOur principle of not losing input due to concurrent modifications appears at first glance to be reasonable, but as illustrated in Figure~\\ref{fig:todo-item}, it leads to merged document states that may be surprising to application programmers who are more familiar with sequential programs. Further work will be needed to understand the expectations of application programmers, and to design data structures that are minimally surprising under concurrent modification. It may turn out that a schema language will be required to support more complex applications. A schema language could also support semantic annotations, such as indicating that a number should be treated as a counter rather than a register.\n\nThe CRDT defined in this paper supports insertion, deletion and assignment operations. In addition to these, it would be useful to support a \\emph{move} operation (to change the order of elements in an ordered list, or to move a subtree from one position in a document to another) and an \\emph{undo} operation. Moreover, garbage collection (tombstone removal) is required in order to prevent unbounded growth of the data structure. We plan to address these missing features in future work.\n\n\\section*{Acknowledgements}\n\nThis research was supported by a grant from The Boeing Company. Thank you to Dominic Orchard, Diana Vasile, and the anonymous reviewers for comments that improved this paper.\n\n\\bibliographystyle{IEEEtran}\n\\bibliography{references}{}\n\\vfill\n\n\\begin{IEEEbiography}[{\\includegraphics[width=1in]{mk428.jpg}}]{Martin Kleppmann}\nis a Research Associate in the Computer Laboratory at the University of Cambridge. His current research project, TRVE Data, is working towards better security and privacy in cloud applications by applying end-to-end encryption to collaboratively editable application data. His book \\emph{Designing Data-Intensive Applications} was published by O'Reilly Media in 2017. Previously, he worked as a software engineer and entrepreneur at several internet companies, including Rapportive and LinkedIn.\n\\end{IEEEbiography}\n\n\\begin{IEEEbiography}[{\\includegraphics[width=1in]{arb33.jpg}}]{Alastair R. Beresford}\nis a Senior Lecturer in the Computer Laboratory at the University of Cambridge. His research work explores the security and privacy of large-scale distributed systems, with a particular focus on networked mobile devices such as smartphones, tablets and laptops. He looks at the security and privacy of the devices themselves, as well as the security and privacy problems induced by the interaction between mobile devices and cloud-based Internet services.\n\\end{IEEEbiography}\n\n\\ifincludeappendix\n\\clearpage\n\\appendix[Proof of Convergence]\\label{sec:proof}\n\n\\begin{theorem}\\label{thm:convergence}\nFor any two replicas $p$ and $q$ that participated in a valid execution, if $A_p(\\mathsf{ops}) = A_q(\\mathsf{ops})$, then $p$ and $q$ have the same document state.\n\\end{theorem}\n\n\\begin{proof}\nConsider the histories $H_p$ and $H_q$ at $p$ and $q$ respectively (see Definition~\\ref{def:history}). The rules \\textsc{Apply-Local} and \\textsc{Apply-Remote} maintain the invariant that an operation is added to $A_p(\\mathsf{ops})$ or $A_q(\\mathsf{ops})$ if and only if it was applied to the document state at $p$ or $q$. Thus, $A_p(\\mathsf{ops}) = A_q(\\mathsf{ops})$ iff $H_p$ and $H_q$ contain the same set of operations (potentially ordered differently).\n\nThe history $H_p$ at replica $p$ is a sequence of $n$ operations: $H_p = \\langle o_1, \\dots, o_n \\rangle$, and the document state at $p$ is derived from $H_p$ by starting in the empty state and applying the operations in order. Likewise, the document state at $q$ is derived from $H_q$, which is a permutation of $H_p$. Both histories must be consistent with causality, i.e. for all $i$ with $1 \\le i \\le n$, we require $o_i.\\mathit{deps} \\subseteq \\{o_j.\\mathit{id} \\mid 1 \\le j < i\\}$. The causality invariant is maintained by the \\textsc{Apply-*} rules.\n\nWe can prove the theorem by induction over the length of history $n$.\n\n\\emph{Base case:} An empty history with $n=0$ describes the empty document state. The empty document is always the same, and so any two replicas that have not executed any operations are by definition in the same state.\n\n\\emph{Induction step:} Given histories $H_p$ and $H_q$ of length $n$, such that $H_p = \\langle o_1, \\dots, o_n \\rangle$ and $H_q$ is a permutation of $H_p$, and such that applying $H_p$ results in the same document state as applying $H_q$, we can construct new histories $H_p'$ and $H_q'$ of length $n+1$ by inserting a new operation $o_{n+1}$ at any causally ready position in $H_p$ or $H_q$ respectively. We must then show that for all the histories $H_p'$ and $H_q'$ constructed this way, applying the sequence of operations in order results in the same document state.\n\nIn order to prove the induction step, we examine the insertion of $o_{n+1}$ into $H_p$ and $H_q$. Each history can be split into a prefix, which is the minimal subsequence $\\langle o_1, \\dots, o_j \\rangle$ such that $o_{n+1}.\\mathit{deps} \\subseteq \\{o_1.\\mathit{id}, \\dots, o_j.\\mathit{id}\\}$, and a suffix, which is the remaining subsequence $\\langle o_{j+1}, \\dots, o_n \\rangle$. The prefix contains all operations that causally precede $o_{n+1}$, and possibly some operations that are concurrent with $o_{n+1}$; the suffix contains only operations that are concurrent with $o_{n+1}$. The earliest position where $o_{n+1}$ can be inserted into the history is between the prefix and the suffix; the latest position is at the end of the suffix; or it could be inserted at any point within the suffix.\n\nWe need to show that the effect on the document state is the same, regardless of the position at which $o_{n+1}$ is inserted, and regardless of whether it is inserted into $H_p$ or $H_q$. We do this in Lemma~\\ref{lem:op-commute} by showing that $o_{n+1}$ is commutative with respect to all operations in the suffix, i.e. with respect to any operations that are concurrent to $o_{n+1}$.\n\\end{proof}\n\nBefore we can prove the commutativity of operations, we must first define some more terms and prove some preliminary lemmas.\n\n\\begin{definition}[appearing after]\nIn the ordered list $\\mathit{ctx}$, list element $k_j$ \\emph{appears after} list element $k_1$ if there exists a (possibly empty) sequence of list elements $k_2, \\dots, k_{j-1}$ such that for all $i$ with $1 \\le i < j$, $\\mathit{ctx}(\\mathsf{next}(k_i)) = k_{i+1}$. Moreover, we say $k_j$ appears \\emph{immediately after} $k_1$ if that sequence is empty, i.e. if $\\mathit{ctx}(\\mathsf{next}(k_1)) = k_j$.\n\\end{definition}\n\nThe definition of \\emph{appearing after} corresponds to the order in which the \\textsc{Idx} rules iterate over the list.\n\n\\begin{lemma}\\label{lem:list-after}\nIf $k_2$ appears after $k_1$ in an ordered list, and the list is mutated according to the evaluation rules, $k_2$ also appears after $k_1$ in all later document states.\n\\end{lemma}\n\n\\begin{proof}\nThe only rule that modifies the \\textsf{next} pointers in the context is $\\textsc{Insert}_1$, and it inserts a new list element between two existing list elements (possibly \\textsf{head} and/or \\textsf{tail}). This modification preserves the appears-after relationship between any two existing list elements. Since no other rule affects the list order, appears-after is always preserved.\n\\end{proof}\n\nNote that deletion of an element from a list does not remove it from the sequence of \\textsf{next} pointers, but only clears its presence set $\\mathsf{pres}(k)$.\n\n\\begin{lemma}\\label{lem:insert-between}\nIf one replica inserts a list element $k_\\mathit{new}$ between $k_1$ and $k_2$, i.e. if $k_\\mathit{new}$ appears after $k_1$ in the list and $k_2$ appears after $k_\\mathit{new}$ in the list on the source replica after applying \\textsc{Apply-Local}, then $k_\\mathit{new}$ appears after $k_1$ and $k_2$ appears after $k_\\mathit{new}$ on every other replica where that operation is applied.\n\\end{lemma}\n\n\\begin{proof}\nThe rules for generating list operations ensure that $k_1$ is either \\textsf{head} or an operation identifier, and $k_2$ is either \\textsf{tail} or an operation identifier.\n\nWhen the insertion operation is generated using the \\textsc{Make-Op} rule, its operation identifier is given a counter value $\\mathit{ctr}$ that is greater than the counter of any existing operation ID in $A_p(\\mathsf{ops})$. If $k_2$ is an operation identifier, we must have $k_2 \\in A_p(\\mathsf{ops})$, since both \\textsc{Apply-Local} and \\textsc{Apply-Remote} add operation IDs to $A_p(\\mathsf{ops})$ when applying an insertion. Thus, either $k_2 < k_\\mathit{new}$ under the ordering relation $<$ for Lamport timestamps, or $k_2 = \\mathsf{tail}$.\n\nWhen the insertion operation is applied on another replica using \\textsc{Apply-Remote} and $\\textsc{Insert}_{1,2}$, $k_2$ appears after $k_1$ on that replica (by Lemma~\\ref{lem:list-after} and causality). The cursor of the operation is $\\mathsf{cursor}(\\langle\\dots\\rangle, k_1)$, so the rules start iterating the list at $k_1$, and therefore $k_\\mathit{new}$ is inserted at some position after $k_1$.\n\nIf other concurrent insertions occurred between $k_1$ and $k_2$, their operation ID may be greater than or less than $k_\\mathit{new}$, and thus either $\\textsc{Insert}_1$ or $\\textsc{Insert}_2$ may apply. In particular, $\\textsc{Insert}_2$ skips over any list elements whose Lamport timestamp is greater than $k_\\mathit{new}$. However, we know that $k_2 < k_\\mathit{new} \\vee k_2 = \\mathsf{tail}$, and so $\\textsc{Insert}_1$ will apply with $\\mathit{next}=k_2$ at the latest. The $\\textsc{Insert}_{1,2}$ rules thus never iterate past $k_2$, and thus $k_\\mathit{new}$ is never inserted at a list position that appears after $k_2$.\n\\end{proof}\n\n\\begin{definition}[common ancestor]\\label{def:common-ancestor}\nIn a history $H$, the \\emph{common ancestor} of two concurrent operations $o_r$ and $o_s$ is the latest document state that causally precedes both $o_r$ and $o_s$.\n\\end{definition}\n\nThe common ancestor of $o_r$ and $o_s$ can be defined more formally as the document state resulting from applying a sequence of operations $\\langle o_1, \\dots, o_j \\rangle$ that is the shortest prefix of $H$ that satisfies $(o_r.\\mathit{deps} \\cap o_s.\\mathit{deps}) \\subseteq \\{o_1.\\mathit{id}, \\dots, o_j.\\mathit{id}\\}$.\n\n\\begin{definition}[insertion interval]\\label{def:insert-interval}\nGiven two concurrent operations $o_r$ and $o_s$ that insert into the same list, the \\emph{insertion interval} of $o_r$ is the pair of keys $(k_r^\\mathrm{before}, k_r^\\mathrm{after})$ such that $o_r.\\mathit{id}$ appears after $k_r^\\mathrm{before}$ when $o_r$ has been applied, $k_r^\\mathrm{after}$ appears after $o_r.\\mathit{id}$ when $o_r$ has been applied, and $k_r^\\mathrm{after}$ appears immediately after $k_r^\\mathrm{before}$ in the common ancestor of $o_r$ and $o_s$. The insertion interval of $o_s$ is the pair of keys $(k_s^\\mathrm{before}, k_s^\\mathrm{after})$ defined similarly.\n\\end{definition}\n\nIt may be the case that $k_r^\\mathrm{before}$ or $k_s^\\mathrm{before}$ is \\textsf{head}, and that $k_r^\\mathrm{after}$ or $k_s^\\mathrm{after}$ is \\textsf{tail}.\n\n\\begin{lemma}\\label{lem:insert-conflict}\nFor any two concurrent insertion operations $o_r, o_s$ in a history $H$, if $o_r.\\mathit{cur} = o_s.\\mathit{cur}$, then the order at which the inserted elements appear in the list after applying $H$ is deterministic and independent of the order of $o_r$ and $o_s$ in $H$.\n\\end{lemma}\n\n\\begin{proof}\nWithout loss of generality, assume that $o_r.\\mathit{id} < o_s.\\mathit{id}$ according to the ordering relation on Lamport timestamps. (If the operation ID of $o_r$ is greater than that of $o_s$, the two operations can be swapped in this proof.) We now distinguish the two possible orders of applying the operations:\n\n\\begin{enumerate}\n\\item $o_r$ is applied before $o_s$ in $H$. Thus, at the time when $o_s$ is applied, $o_r$ has already been applied. When applying $o_s$, since $o_r$ has a lesser operation ID, the rule $\\textsc{Insert}_1$ applies with $\\mathit{next} = o_r.\\mathit{id}$ at the latest, so the insertion position of $o_s$ must appear before $o_r$. It is not possible for $\\textsc{Insert}_2$ to skip past $o_r$.\n\n\\item $o_s$ is applied before $o_r$ in $H$. Thus, at the time when $o_r$ is applied, $o_s$ has already been applied. When applying $o_r$, the rule $\\textsc{Insert}_2$ applies with $\\mathit{next} = o_s.\\mathit{id}$, so the rule skips past $o_s$ and inserts $o_r$ at a position after $o_s$. Moreover, any list elements that appear between $o_s.\\mathit{cur}$ and $o_s$ at the time of inserting $o_r$ must have a Lamport timestamp greater than $o_s.\\mathit{id}$, so $\\textsc{Insert}_2$ also skips over those list elements when inserting $o_r$. Thus, the insertion position of $o_r$ must be after $o_s$.\n\\end{enumerate}\n\nThus, the insertion position of $o_r$ appears after the insertion position of $o_s$, regardless of the order in which the two operations are applied. The ordering depends only on the operation IDs, and since these IDs are fixed at the time the operations are generated, the list order is determined by the IDs.\n\\end{proof}\n\n\\begin{lemma}\\label{lem:insert-reorder}\nIn an operation history $H$, an insertion operation is commutative with respect to concurrent insertion operations to the same list.\n\\end{lemma}\n\n\\begin{proof}\nGiven any two concurrent insertion operations $o_r, o_s$ in $H$, we must show that the document state does not depend on the order in which $o_r$ and $o_s$ are applied.\n\nEither $o_r$ and $o_s$ have the same insertion interval as defined in Definition~\\ref{def:insert-interval}, or they have different insertion intervals. If the insertion intervals are different, then by Lemma~\\ref{lem:insert-between} the operations cannot affect each other, and so they have the same effect regardless of their order. So we need only analyze the case in which they have the same insertion interval $(k^\\mathrm{before}, k^\\mathrm{after})$.\n\nIf $o_r.\\mathit{cur} = o_s.\\mathit{cur}$, then by Lemma~\\ref{lem:insert-conflict}, the operation with the greater operation ID appears first in the list, regardless of the order in which the operations are applied. If $o_r.\\mathit{cur} \\not= o_s.\\mathit{cur}$, then one or both of the cursors must refer to a list element that appears between $k^\\mathrm{before}$ and $k^\\mathrm{after}$, and that did not yet exist in the common ancestor (Definition~\\ref{def:common-ancestor}).\n\nTake a cursor that differs from $k^\\mathrm{before}$: the list element it refers to was inserted by a prior operation, whose cursor in turn refers to another prior operation, and so on. Following this chain of cursors for a finite number of steps leads to an operation $o_\\mathrm{first}$ whose cursor refers to $k^\\mathrm{before}$ (since an insertion operation always inserts at a position after the cursor).\n\nNote that all of the operations in this chain are causally dependent on $o_\\mathrm{first}$, and so they must have a Lamport timestamp greater than $o_\\mathrm{first}$. Thus, we can apply the same argument as in Lemma~\\ref{lem:insert-conflict}: if $\\textsc{Insert}_2$ skips over the list element inserted by $o_\\mathrm{first}$, it will also skip over all of the list elements that are causally dependent on it; if $\\textsc{Insert}_1$ inserts a new element before $o_\\mathrm{first}$, it is also inserted before the chain of operations that is based on it.\n\nTherefore, the order of $o_r$ and $o_s$ in the final list is determined by the Lamport timestamps of the first insertions into the insertion interval after their common ancestor, in the chains of cursor references of the two operations. Since the argument above applies to all pairs of concurrent operations $o_r, o_s$ in $H$, we deduce that the final order of elements in the list depends only on the operation IDs but not the order of application, which shows that concurrent insertions to the same list are commutative.\n\\end{proof}\n\n\\begin{lemma}\\label{lem:delete-commute}\nIn a history $H$, a deletion operation is commutative with respect to concurrent operations.\n\\end{lemma}\n\n\\begin{proof}\nGiven a deletion operation $o_d$ and any other concurrent operation $o_c$, we must show that the document state after applying both operations does not depend on the order in which $o_d$ and $o_c$ were applied.\n\nThe rules in Figure~\\ref{fig:clear-rules} define how a deletion operation $o_d$ is applied: starting at the cursor in the operation, they recursively descend the subtree, removing $o_d.\\mathit{deps}$ from the presence set $\\mathsf{pres}(k)$ at all branch nodes in the subtree, and updating all registers to remove any values written by operations in $o_d.\\mathit{deps}$.\n\nIf $o_c$ is an assignment or insertion operation, the \\textsc{Assign} rule adds $o_c.\\mathit{id}$ to the mapping from operation ID to value for a register, and the \\textsc{Descend}, \\textsc{Assign}, \\textsc{Empty-Map} and \\textsc{Empty-List} rules add $o_c.\\mathit{id}$ to the presence sets $\\mathsf{pres}(k)$ along the path through the document tree described by the cursor.\n\nIf $o_d.\\mathit{cur}$ is not a prefix of $o_c.\\mathit{cur}$, the operations affect disjoint subtrees of the document, and so they are trivially commutative. Any state changes by \\textsc{Descend} and $\\textsc{Add-ID}_1$ along the shared part of the cursor path are applied using the set union operator $\\cup$, which is commutative.\n\nNow consider the case where $o_d.\\mathit{cur}$ is a prefix of $o_c.\\mathit{cur}$. Since $o_c$ is concurrent with $o_d$, we know that $o_c.\\mathit{id} \\notin o_d.\\mathit{deps}$. Therefore, if $o_c$ is applied before $o_d$ in the history, the \\textsc{Clear-*} rules evaluating $o_d$ will leave any occurrences of $o_c.\\mathit{id}$ in the document state undisturbed, while removing any occurrences of operations in $o_d.\\mathit{deps}$.\n\nIf $o_d$ is applied before $o_c$, the effect on presence sets and registers is the same as if they had been applied in the reverse order. Moreover, $o_c$ applies in the same way as if $o_d$ had not been applied previously, because applying a deletion only modifies presence sets and registers, without actually removing map keys or list elements, and because the rules for applying an operation are not conditional on the previous content of presence sets and registers.\n\nThus, the effect of applying $o_c$ before $o_d$ is the same as applying $o_d$ before $o_c$, so the operations commute.\n\\end{proof}\n\n\\begin{lemma}\\label{lem:assign-commute}\nIn a history $H$, an assignment operation is commutative with respect to concurrent operations.\n\\end{lemma}\n\n\\begin{proof}\nGiven an assignment $o_a$ and any other concurrent operation $o_c$, we must show that the document state after applying both operations does not depend on the order in which $o_a$ and $o_c$ were applied.\n\nThe rules \\textsc{Assign}, \\textsc{Empty-Map} and \\textsc{Empty-List} define how an assignment operation $o_a$ is applied, depending on the value being assigned. All three rules first clear any causally prior state from the cursor at which the assignment is occurring; by Lemma~\\ref{lem:delete-commute}, this clearing operation is commutative with concurrent operations, and leaves updates by concurrent operations untouched.\n\nThe rules also add $o_a.\\mathit{id}$ to the presence set identified by the cursor, and \\textsc{Descend} adds $o_a.\\mathit{id}$ to the presence sets on the path from the root of the document tree described by the cursor. These state changes are applied using the set union operator $\\cup$, which is commutative.\n\nFinally, in the case where value assigned by $o_a$ is a primitive and the \\textsc{Assign} rule applies, the mapping from operation ID to value is added to the register by the expression $\\mathit{child}[\\,\\mathit{id} \\mapsto \\mathit{val}\\,]$. If $o_c$ is not an assignment operation or if $o_a.\\mathit{cursor} \\not= o_c.\\mathit{cursor}$, the operations are independent and thus trivially commutative.\n\nIf $o_a$ and $o_c$ are assignments to the same cursor, we use the commutativity of updates to a partial function: $\\mathit{child}[\\,\\mathit{id}_1 \\mapsto \\mathit{val}_1\\,]\\,[\\,\\mathit{id}_2 \\mapsto \\mathit{val}_2\\,] = \\mathit{child}[\\,\\mathit{id}_2 \\mapsto \\mathit{val}_2\\,]\\,[\\,\\mathit{id}_1 \\mapsto \\mathit{val}_1\\,]$ provided that $\\mathit{id}_1 \\not= \\mathit{id}_2$. Since operation IDs (Lamport timestamps) are unique, two concurrent assignments add two different keys to the mapping, and their order is immaterial.\n\nThus, all parts of the process of applying $o_a$ have the same effect on the document state, regardless of whether $o_c$ is applied before or after $o_a$, so the operations commute.\n\\end{proof}\n\n\\begin{lemma}\\label{lem:op-commute}\nGiven an operation history $H=\\langle o_1, \\dots, o_n \\rangle$ from a valid execution, a new operation $o_{n+1}$ from that execution can be inserted at any point in $H$ after $o_{n+1}.\\mathit{deps}$ have been applied. For all histories $H'$ that can be constructed this way, the document state resulting from applying the operations in $H'$ in order is the same, and independent of the ordering of any concurrent operations in $H$.\n\\end{lemma}\n\n\\begin{proof}\n$H$ can be split into a prefix and a suffix, as described in the proof of Theorem~\\ref{thm:convergence}. The suffix contains only operations that are concurrent with $o_{n+1}$, and we allow $o_{n+1}$ to be inserted at any point after the prefix. We then prove the lemma case-by-case, depending on the type of mutation in $o_{n+1}$. \n\nIf $o_{n+1}$ is a deletion, by Lemma~\\ref{lem:delete-commute} it is commutative with all operations in the suffix, and so $o_{n+1}$ can be inserted at any point within, before, or after the suffix without changing its effect on the final document state. Similarly, if $o_{n+1}$ is an assignment, by Lemma~\\ref{lem:assign-commute} it is commutative with all operations in the suffix.\n\nIf $o_{n+1}$ is an insertion, let $o_c$ be any operation in the suffix, and consider the cases of $o_{n+1}$ being inserted before and after $o_c$ in the history. If $o_c$ is a deletion or assignment, it is commutative with $o_{n+1}$ by Lemma~\\ref{lem:delete-commute} or Lemma~\\ref{lem:assign-commute} respectively. If $o_c$ is an insertion into the same list as $o_{n+1}$, then by Lemma~\\ref{lem:insert-reorder} the operations are commutative. If $o_c$ is an insertion into a different list in the document, its effect is independent from $o_{n+1}$ and so the two operations can be applied in any order.\n\nThus, $o_{n+1}$ is commutative with respect to any concurrent operation in $H$. Therefore, $o_{n+1}$ can be inserted into $H$ at any point after its causal dependencies, and the effect on the final document state is independent of the position at which the operation is inserted.\n\\end{proof}\n\nThis completes the induction step in the proof of Theorem~\\ref{thm:convergence}, and thus proves convergence of our datatype.\n\n\\fi % includeappendix\n\\end{document}\n" } ================================================ FILE: packages/sdk/test/bench/splay_tree.bench.ts ================================================ import { describe, bench } from 'vitest'; import { SplayNode, SplayTree } from '@yorkie-js/sdk/src/util/splay_tree'; import editTraceData from './editing-trace.json'; class StringNode extends SplayNode { public removed: boolean = false; public static create(value: string): StringNode { return new StringNode(value); } public getLength(): number { if (this.removed) { return 0; } return this.value.length; } } const benchmarkRandomAccess = (size: number) => { const tree = new SplayTree(); for (let i = 0; i < size; i++) { tree.insert(StringNode.create('A')); } for (let i = 0; i < 1000; i++) { tree.findForText(Math.floor(Math.random() * i)); } }; const stressTest = (size: number) => { const tree = new SplayTree(); let treeSize = 1; for (let i = 0; i < size; i++) { const op = Math.floor(Math.random() * 3); if (op == 0) { const node = tree.findForText(Math.floor(Math.random() * treeSize))[0]; if (node != undefined) { tree.insertAfter(node, StringNode.create('A')); } else { tree.insert(StringNode.create('A')); } treeSize++; } else if (op == 1) { tree.findForText(Math.floor(Math.random() * treeSize)); } else { const node = tree.findForText(Math.floor(Math.random() * treeSize))[0]; if (node != undefined) { tree.delete(node); treeSize--; } } } }; describe('splay_tree.edit', () => { bench('splay_tree.stress 10000', () => { stressTest(10000); }); bench('splay_tree.stress 20000', () => { stressTest(20000); }); bench('splay_tree.stress 30000', () => { stressTest(30000); }); bench('splay_tree.random_access 10000', () => { benchmarkRandomAccess(10000); }); bench('splay_tree.random_access 20000', () => { benchmarkRandomAccess(20000); }); bench('splay_tree.random_access 30000', () => { benchmarkRandomAccess(30000); }); bench('editing-trace', () => { const tree = new SplayTree(); const editTrace = editTraceData as { edits: Array>; finalText: string; }; for (const i of editTrace.edits) { if (i[0] == 0 && i[0] != undefined) { const node = tree.findForText(i[1] as number)[0]; if (node) { tree.insertAfter(node, StringNode.create(i[2] as string)); } } else if (i[0] == 1) { const nodeToDelete = tree.findForText(i[1] as number)[0]; if (nodeToDelete) { tree.delete(nodeToDelete); } } } }); }); ================================================ FILE: packages/sdk/test/bench/text.bench.ts ================================================ import { Document, Text } from '@yorkie-js/sdk/src/yorkie'; import { assert, bench, describe } from 'vitest'; import { maxVectorOf } from '../helper/helper'; const benchmarkTextEditGC = (size: number) => { const doc = new Document<{ text: Text }>('test-doc'); assert.equal('{}', doc.toJSON()); // 01. initial doc.update((root) => { root.text = new Text(); const { text } = root; for (let i = 0; i < size; i++) { text.edit(i, i, 'a'); } }, 'initial'); // 02. 100 nodes modified doc.update((root) => { const { text } = root; for (let i = 0; i < size; i++) { text.edit(i, i + 1, 'b'); } }, `modify ${size} nodes`); // 03. GC assert.equal(size, doc.getGarbageLen()); assert.equal( size, doc.garbageCollect(maxVectorOf([doc.getChangeID().getActorID()])), ); const empty = 0; assert.equal(empty, doc.getGarbageLen()); }; const benchmarkTextSplitGC = (size: number) => { const doc = new Document<{ text: Text }>('test-doc'); assert.equal('{}', doc.toJSON()); // 01. initial const string = 'a'.repeat(size); doc.update((root) => { root.text = new Text(); root.text.edit(0, 0, string); }, 'initial'); // 02. 100 nodes modified doc.update((root) => { for (let i = 0; i < size; i++) { root.text.edit(i, i + 1, 'b'); } }, 'Modify one node multiple times'); // 03. GC assert.equal(size, doc.getGarbageLen()); assert.equal( size, doc.garbageCollect(maxVectorOf([doc.getChangeID().getActorID()])), ); const empty = 0; assert.equal(empty, doc.getGarbageLen()); }; const benchmarkTextDeleteAll = (size: number) => { const doc = new Document<{ text: Text }>('test-doc'); doc.update((root) => { root.text = new Text(); }, 'initialize'); // 01. inserts many chracters for (let i = 0; i < size; i++) { doc.update((root) => { root.text.edit(i, i, 'a'); }, 'insert chracter'); } // 02. deletes them doc.update((root) => { root.text.edit(0, size, ''); }, 'delete them'); assert.equal(doc.getRoot().text.toString(), ''); }; const benchmarkText = (size: number) => { const doc = new Document<{ text: Text }>('test-doc'); doc.update((root) => { root.text = new Text(); for (let i = 0; i < size; i++) { root.text.edit(i, i, 'a'); } }); }; describe('Text', () => { bench('text', () => { const doc = new Document<{ k1: Text }>('test-doc'); doc.update((root) => { root.k1 = new Text(); root.k1.edit(0, 0, 'ABCD'); root.k1.edit(1, 3, '12'); }); assert.equal(`{"k1":[{"val":"A"},{"val":"12"},{"val":"D"}]}`, doc.toJSON()); assert.equal( `[0:00:0:0 ][1:00:2:0 A][1:00:3:0 12]{1:00:2:1 BC}[1:00:2:3 D]`, doc.getRoot().k1.toTestString(), ); doc.update((root) => { const [pos1] = root.k1.createRangeForTest(0, 0); assert.equal('0:00:0:0:0', pos1.toTestString()); const [pos2] = root.k1.createRangeForTest(1, 1); assert.equal('1:00:2:0:1', pos2.toTestString()); const [pos3] = root.k1.createRangeForTest(2, 2); assert.equal('1:00:3:0:1', pos3.toTestString()); const [pos4] = root.k1.createRangeForTest(3, 3); assert.equal('1:00:3:0:2', pos4.toTestString()); const [pos5] = root.k1.createRangeForTest(4, 4); assert.equal('1:00:2:3:1', pos5.toTestString()); }); }); bench('text composition', () => { const doc = new Document<{ k1: Text }>('test-doc'); doc.update((root) => { root.k1 = new Text(); root.k1.edit(0, 0, 'ㅎ'); root.k1.edit(0, 1, '하'); root.k1.edit(0, 1, '한'); root.k1.edit(0, 1, '하'); root.k1.edit(1, 1, '느'); root.k1.edit(1, 2, '늘'); }); assert.equal(`{"k1":[{"val":"하"},{"val":"늘"}]}`, doc.toJSON()); }); bench('rich text', () => { const doc = new Document<{ k1: Text }>('test-doc'); doc.update((root) => { root.k1 = new Text(); root.k1.edit(0, 0, 'Hello world'); assert.equal('[0:00:0:0 ][1:00:2:0 Hello world]', root.k1.toTestString()); }); assert.equal('{"k1":[{"val":"Hello world"}]}', doc.toJSON()); doc.update((root) => { root.k1.setStyle(0, 5, { b: '1' }); assert.equal( '[0:00:0:0 ][1:00:2:0 Hello][1:00:2:5 world]', root.k1.toTestString(), ); }); assert.equal( '{"k1":[{"attrs":{"b":"1"},"val":"Hello"},{"val":" world"}]}', doc.toJSON(), ); doc.update((root) => { root.k1.setStyle(0, 5, { b: '1' }); assert.equal( '[0:00:0:0 ][1:00:2:0 Hello][1:00:2:5 world]', root.k1.toTestString(), ); root.k1.setStyle(3, 5, { i: '1' }); assert.equal( '[0:00:0:0 ][1:00:2:0 Hel][1:00:2:3 lo][1:00:2:5 world]', root.k1.toTestString(), ); }); assert.equal( '{"k1":[{"attrs":{"b":"1"},"val":"Hel"},{"attrs":{"b":"1","i":"1"},"val":"lo"},{"val":" world"}]}', doc.toJSON(), ); doc.update((root) => { root.k1.edit(5, 11, ' yorkie'); assert.equal( '[0:00:0:0 ][1:00:2:0 Hel][1:00:2:3 lo][4:00:1:0 yorkie]{1:00:2:5 world}', root.k1.toTestString(), ); }); assert.equal( '{"k1":[{"attrs":{"b":"1"},"val":"Hel"},{"attrs":{"b":"1","i":"1"},"val":"lo"},{"val":" yorkie"}]}', doc.toJSON(), ); doc.update((root) => { root.k1.edit(5, 5, '\n', { list: 'true' }); assert( '[0:00:0:0 ][1:00:2:0 Hel][1:00:2:3 lo][5:00:1:0 ]' + '[4:00:1:0 yorkie]{1:00:2:5 world}', root.k1.toTestString(), ); }); assert.equal( '{"k1":[{"attrs":{"b":"1"},"val":"Hel"},{"attrs":{"b":"1","i":"1"},"val":"lo"},{"attrs":{"list":"true"},"val":"\\n"},{"val":" yorkie"}]}', doc.toJSON(), ); }); bench('text Edit-GC 100', () => { benchmarkTextEditGC(100); }); bench('text Edit-GC 1000', () => { benchmarkTextEditGC(1000); }); bench('text Split-GC 100', () => { benchmarkTextSplitGC(100); }); bench('text Split-GC 1000', () => { benchmarkTextSplitGC(100); }); bench('text Delete-All 10000', () => { benchmarkTextDeleteAll(10000); }); bench('text 100', () => { benchmarkText(100); }); bench('text 1000', () => { benchmarkText(1000); }); }); ================================================ FILE: packages/sdk/test/bench/tree.bench.ts ================================================ import { converter, Document, Tree, TreeNode } from '@yorkie-js/sdk/src/yorkie'; import { describe, bench, assert } from 'vitest'; import { maxVectorOf } from '../helper/helper'; const benchmarkTreeEdit = (size: number) => { const doc = new Document<{ tree: Tree }>('test-doc'); doc.update((root) => { root.tree = new Tree({ type: 'doc', children: [{ type: 'p', children: [] }], }); for (let i = 1; i <= size; i++) { root.tree.edit(i, i, { type: 'text', value: 'a' }); } }); }; const benchmarkTreeDeleteAll = (size: number) => { const doc = new Document<{ tree: Tree }>('test-doc'); doc.update((root) => { root.tree = new Tree({ type: 'doc', children: [{ type: 'p', children: [] }], }); for (let i = 1; i <= size; i++) { root.tree.edit(i, i, { type: 'text', value: 'a' }); } }); doc.update((root) => { root.tree.edit(1, size + 1); }, 'delete them'); assert.equal(doc.getRoot().tree.toXML(), `

    `); }; const benchmarkTreeSplitGC = (size: number) => { const doc = new Document<{ tree: Tree }>('test-doc'); doc.update((root) => { root.tree = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'a'.repeat(size) }] }, ], }); }); doc.update((root) => { for (let i = 1; i <= size; i++) { root.tree.edit(i, i + 1, { type: 'text', value: 'b' }); } }, `modify ${size} nodes`); // 03. GC assert.equal(size, doc.getGarbageLen()); assert.equal( size, doc.garbageCollect(maxVectorOf([doc.getChangeID().getActorID()])), ); const empty = 0; assert.equal(empty, doc.getGarbageLen()); }; const benchmarkTreeEditGC = (size: number) => { const doc = new Document<{ tree: Tree }>('test-doc'); doc.update((root) => { root.tree = new Tree({ type: 'doc', children: [{ type: 'p', children: [] }], }); }); doc.update((root) => { for (let i = 1; i <= size; i++) { root.tree.edit(i, i, { type: 'text', value: 'a' }); } }); doc.update((root) => { for (let i = 1; i <= size; i++) { root.tree.edit(i, i + 1, { type: 'text', value: 'b' }); } }, `modify ${size} nodes`); // 03. GC assert.equal(size, doc.getGarbageLen()); assert.equal( size, doc.garbageCollect(maxVectorOf([doc.getChangeID().getActorID()])), ); const empty = 0; assert.equal(empty, doc.getGarbageLen()); }; const benchmarkTreeConvert = (size: number) => { const doc = new Document<{ tree: Tree }>('test-doc'); doc.update((root) => { const children: Array = []; for (let i = 1; i <= size; i++) { children.push({ type: 'text', value: 'a' }); } root.tree = new Tree({ type: 'doc', children: [{ type: 'p', children }], }); }); const root = doc.getRoot().tree.getIndexTree().getRoot(); const pbTreeNodes = converter.toTreeNodes(root); converter.fromTreeNodes(pbTreeNodes); }; describe('tree.edit', () => { bench('tree.edit 100', () => { benchmarkTreeEdit(100); }); bench('tree.edit 1000', () => { benchmarkTreeEdit(1000); }); bench('tree.edit 100', () => { benchmarkTreeEdit(100); }); bench('tree.edit 1000', () => { benchmarkTreeEdit(1000); }); bench('tree delete all 1000', () => { benchmarkTreeDeleteAll(1000); }); }); describe('tree GC', () => { bench('tree split GC 100', () => { benchmarkTreeSplitGC(100); }); bench('tree split GC 1000', () => { benchmarkTreeSplitGC(1000); }); bench('tree edit GC 100', () => { benchmarkTreeEditGC(100); }); bench('tree edit GC 1000', () => { benchmarkTreeEditGC(1000); }); }); describe('tree convert', () => { bench('tree convert from/to Protobuf 10000', () => { benchmarkTreeConvert(10000); }); bench('tree convert from/to Protobuf 20000', () => { benchmarkTreeConvert(20000); }); bench('tree convert from/to Protobuf 30000', () => { benchmarkTreeConvert(30000); }); }); ================================================ FILE: packages/sdk/test/helper/helper.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { assert } from 'vitest'; import yorkie, { Tree, ElementNode, Indexable, } from '@yorkie-js/sdk/src/yorkie'; import { IndexTree } from '@yorkie-js/sdk/src/util/index_tree'; import { CRDTTreeNode, CRDTTreeNodeID, } from '@yorkie-js/sdk/src/document/crdt/tree'; import { OpInfo, Operation, } from '@yorkie-js/sdk/src/document/operation/operation'; import { InitialTimeTicket as ITT, MaxLamport, TimeTicket, } from '@yorkie-js/sdk/src/document/time/ticket'; import { HistoryOperation } from '@yorkie-js/sdk/src/document/history'; import { ChangeContext } from '@yorkie-js/sdk/src/document/change/context'; import { InitialChangeID } from '@yorkie-js/sdk/src/document/change/change_id'; import { CRDTRoot } from '@yorkie-js/sdk/src/document/crdt/root'; import { CRDTObject } from '@yorkie-js/sdk/src/document/crdt/object'; import { ElementRHT } from '@yorkie-js/sdk/src/document/crdt/element_rht'; import { Code, YorkieError } from '@yorkie-js/sdk/src/util/error'; import { InitialActorID } from '@yorkie-js/sdk/src/document/time/actor_id'; import { VersionVector } from '@yorkie-js/sdk/src/document/time/version_vector'; export const DefaultSnapshotThreshold = 500; /** * EventCollector provides a utility to collect and manage events. * It can be used in tests to wait for events to be collected. */ export class EventCollector { private events: Array; constructor() { this.events = []; } public add(event: E) { this.events.push(event); } /** * `waitAndVerifyNthEvent` waits for the nth event to occur and then * verifies whether the event matches the expected event. */ public waitAndVerifyNthEvent(count: number, event: E) { return new Promise((resolve, reject) => { const doLoop = () => { if (this.events.length >= count) { if (deepEqual(this.events[count - 1], event)) { resolve(); } else { reject( new YorkieError( Code.ErrInvalidArgument, `event is not equal ${count}- expected: ${JSON.stringify(event)}, actual: ${JSON.stringify(this.events[count - 1])}`, ), ); } return; } setTimeout(doLoop, 100); }; doLoop(); }); } /** * `waitFor` waits for the specified event to be collected. * * Note(chacha912): Before calling `waitFor`, it's recommended to use `reset` to clear the events array. * If the event was previously present in the events array, it may not be accurately detected. */ public waitFor(event: E) { return new Promise((resolve) => { const doLoop = () => { if (this.events.some((e) => deepEqual(e, event))) { resolve(); return; } setTimeout(doLoop, 100); }; doLoop(); }); } public reset() { this.events = []; } public getLength() { return this.events.length; } } export function deepSort(target: any): any { if (Array.isArray(target)) { return target.map(deepSort).sort(compareFunction); } if (typeof target === 'object') { return Object.keys(target) .sort() .reduce( (result, key) => { result[key] = deepSort(target[key]); return result; }, {} as Record, ); } return target; } function deepEqual(actual: any, expected: any) { if (actual === expected) { return true; } if ( typeof actual !== 'object' || actual === null || typeof expected !== 'object' || expected === null ) { return false; } const keysA = Object.keys(actual); const keysB = Object.keys(expected); if (keysA.length !== keysB.length) { return false; } for (const key of keysA) { if (!keysB.includes(key) || !deepEqual(actual[key], expected[key])) { return false; } } return true; } function compareFunction(a: any, b: any): number { if ( typeof a === 'object' && typeof b === 'object' && a !== null && b !== null ) { const aKeys = Object.keys(a).sort(); const bKeys = Object.keys(b).sort(); const len = Math.min(aKeys.length, bKeys.length); for (let i = 0; i < len; i++) { const key = aKeys[i]; const result = compareFunction(a[key], b[key]); if (result !== 0) { return result; } } return aKeys.length - bKeys.length; } return a < b ? -1 : a > b ? 1 : 0; } export async function assertThrowsAsync( fn: any, errType: any, message?: RegExp | string, ) { let errFn = () => {}; try { await fn(); } catch (e) { errFn = () => { throw e; }; } finally { assert.throws(errFn, errType, message); } } /** * TextView emulates an external editor like CodeMirror to test whether change * events are delivered properly. */ export class TextView { private value: string; constructor() { this.value = ''; } public applyOperations(operations: Array, enableLog = false): void { const oldValue = this.value; const changeLogs = []; for (const op of operations) { if (op.type === 'edit') { this.value = [ this.value.substring(0, op.from), op.value?.content, this.value.substring(op.to), ].join(''); changeLogs.push( `{f:${op.from}, t:${op.to}, c:${op.value?.content || ''}}`, ); } } if (enableLog) { console.log( `apply: ${oldValue}->${this.value} [${changeLogs.join(',')}]`, ); } } public toString(): string { return this.value; } } /** * `buildIndexTree` builds an index tree from the given element node. */ export function buildIndexTree(node: ElementNode): IndexTree { const doc = new yorkie.Document<{ t: Tree }>('test'); doc.update((root) => { root.t = new Tree(node); }); return doc.getRoot().t.getIndexTree(); } export function toStringHistoryOp

    ( op: HistoryOperation

    , ): string { return op instanceof Operation ? op.toTestString() : JSON.stringify(op); } /** * `idT` is a dummy CRDTTreeNodeID for testing. */ export const idT = CRDTTreeNodeID.of(ITT, 0); /** * `dummyContext` is a helper context that is used for testing. */ export const dummyContext = ChangeContext.create( InitialChangeID, new CRDTRoot(new CRDTObject(ITT, ElementRHT.create())), {}, ); /** * `posT` is a helper function that issues a new CRDTTreeNodeID. */ export function posT(offset = 0): CRDTTreeNodeID { return CRDTTreeNodeID.of(dummyContext.issueTimeTicket(), offset); } /** * `timeT` is a helper function that issues a new TimeTicket. */ export function timeT(): TimeTicket { return dummyContext.issueTimeTicket(); } /** * `maxVectorOf` creates a VersionVector with the maximum lamport value for the given actors. */ export function maxVectorOf(actors: Array) { if (!actors.length) { actors = [InitialActorID]; } const vector = new Map(); actors.forEach((actor) => { vector.set(actor, MaxLamport); }); return new VersionVector(vector); } /** * `vectorOf` creates a VersionVector from an array of actor and lamport pairs. */ export function vectorOf( actors: Array<{ c: string; l: bigint }>, ): VersionVector { const vector = new Map(); actors.forEach(({ c: actor, l: lamport }) => { vector.set(actor, lamport); }); return new VersionVector(vector); } ================================================ FILE: packages/sdk/test/helper/vector_utils.ts ================================================ ================================================ FILE: packages/sdk/test/integration/array_test.ts ================================================ import { describe, it, assert } from 'vitest'; import { Document, Indexable } from '@yorkie-js/sdk/src/document/document'; import { Client } from '@yorkie-js/sdk/src/client/client'; import { withTwoClientsAndDocuments } from '@yorkie-js/sdk/test/integration/integration_helper'; import { JSONArray, WrappedElement, Primitive, TimeTicket, } from '@yorkie-js/sdk/src/yorkie'; import { maxVectorOf } from '../helper/helper'; describe('Array', function () { it('should handle delete operations', function () { const doc = new Document<{ k1: Array }>('test-doc'); assert.equal('{}', doc.toSortedJSON()); doc.update((root) => { root.k1 = ['1', '2', '3']; }, 'set {"k1":["1","2","3"]}'); assert.equal('{"k1":["1","2","3"]}', doc.toSortedJSON()); doc.update((root) => { delete root.k1[1]; root.k1.push('4'); }, 'set {"k1":["1","3","4"]}'); assert.equal('{"k1":["1","3","4"]}', doc.toSortedJSON()); }); it('can push array element after delete operation', function () { const doc = new Document<{ k1: Array> }>('test-doc'); assert.equal('{}', doc.toSortedJSON()); doc.update((root) => { root.k1 = ['1', '2', '3']; }, 'set {"k1":["1","2","3"]}'); assert.equal('{"k1":["1","2","3"]}', doc.toSortedJSON()); doc.update((root) => { delete root.k1[1]; root.k1.push('4'); }, 'set {"k1":["1","3","4"]}'); doc.update((root) => { root.k1.push([4, 5, 6]); assert.equal('{"k1":["1","3","4",[4,5,6]]}', root.toJSON()); }); assert.equal('{"k1":["1","3","4",[4,5,6]]}', doc.toJSON()); }); it('can push object element after delete operation', function () { const doc = new Document<{ k1: Array }>( 'test-doc', ); assert.equal('{}', doc.toSortedJSON()); doc.update((root) => { root.k1 = ['1', '2', '3']; }, 'set {"k1":["1","2","3"]}'); assert.equal('{"k1":["1","2","3"]}', doc.toSortedJSON()); doc.update((root) => { delete root.k1[1]; root.k1.push('4'); }, 'set {"k1":["1","3","4"]}'); doc.update((root) => { root.k1.push({ a: '1', b: '2' }); assert.equal('{"k1":["1","3","4",{"a":"1","b":"2"}]}', root.toJSON()); }); assert.equal('{"k1":["1","3","4",{"a":"1","b":"2"}]}', doc.toJSON()); }); it('can push array', function () { const doc = new Document<{ arr: Array> }>( 'test-doc', ); doc.update((root) => { root.arr = [1, 2, 3]; root.arr.push([4, 5, 6]); assert.equal('{"arr":[1,2,3,[4,5,6]]}', root.toJSON()); }); assert.equal('{"arr":[1,2,3,[4,5,6]]}', doc.toJSON()); }); it('can push element then delete it by ID in array', function () { const doc = new Document<{ list: JSONArray }>('test-doc'); assert.equal('{}', doc.toSortedJSON()); let target: WrappedElement; doc.update((root) => { root.list = [] as unknown as JSONArray; assert.equal(1, root.list.push(4)); assert.equal(2, root.list.push(3)); assert.equal(3, root.list.push(2)); assert.equal(4, root.list.push(1)); target = root.list.getElementByIndex(2); }, 'set {"list":[4,3,2,1]}'); assert.equal('{"list":[4,3,2,1]}', doc.toSortedJSON()); doc.update((root) => { root.list.deleteByID(target.getID()); }, 'delete 2'); assert.equal('{"list":[4,3,1]}', doc.toSortedJSON()); doc.update((root) => { assert.equal(4, root.list.push(2)); }, 'push 2'); assert.equal('{"list":[4,3,1,2]}', doc.toSortedJSON()); }); it('can insert an element after the given element in array', function () { const doc = new Document<{ list: JSONArray }>('test-doc'); assert.equal('{}', doc.toSortedJSON()); let prev: WrappedElement; doc.update((root) => { root.list = [] as unknown as JSONArray; root.list.push(1); root.list.push(2); root.list.push(4); prev = root.list.getElementByIndex(1); }, 'set {"list":[1,2,4]}'); assert.equal('{"list":[1,2,4]}', doc.toSortedJSON()); doc.update((root) => { root.list.insertAfter(prev.getID(), 3); }, 'insert 3'); assert.equal('{"list":[1,2,3,4]}', doc.toSortedJSON()); doc.update((root) => { delete root.list[1]; }, 'remove 2'); assert.equal('{"list":[1,3,4]}', doc.toSortedJSON()); doc.update((root) => { prev = root.list.getElementByIndex(0); root.list.insertAfter(prev.getID(), 2); }, 'insert 2'); assert.equal('{"list":[1,2,3,4]}', doc.toSortedJSON()); const root = doc.getRoot(); for (let idx = 0; idx < root.list.length; idx++) { assert.equal(idx + 1, root.list[idx]); } }); it('can move an element before the given element in array', function () { const doc = new Document<{ list: JSONArray }>('test-doc'); assert.equal('{}', doc.toSortedJSON()); doc.update((root) => { root.list = [0, 1, 2] as JSONArray; }, 'set {"list":[0,1,2]}'); doc.update((root) => { const next = root.list.getElementByIndex(0); const item = root.list.getElementByIndex(2); root.list.moveBefore(next.getID(), item.getID()); assert.equal('{"list":[2,0,1]}', root.toJSON()); }); doc.update((root) => { const next = root.list.getElementByIndex(0); const item = root.list.getElementByIndex(2); root.list.moveBefore(next.getID(), item.getID()); assert.equal('{"list":[1,2,0]}', root.toJSON()); }); }); it('can move an element after the given element in array', function () { const doc = new Document<{ list: JSONArray }>('test-doc'); assert.equal('{}', doc.toSortedJSON()); doc.update((root) => { root.list = [0, 1, 2] as JSONArray; }, 'set {"list":[0,1,2]}'); doc.update((root) => { const prev = root.list.getElementByIndex(0); const item = root.list.getElementByIndex(2); root.list.moveAfter(prev.getID(), item.getID()); assert.equal('{"list":[0,2,1]}', root.toJSON()); }); doc.update((root) => { const prev = root.list.getElementByIndex(0); const item = root.list.getElementByIndex(2); root.list.moveAfter(prev.getID(), item.getID()); assert.equal('{"list":[0,1,2]}', root.toJSON()); }); }); it('can insert an element at the first of array', function () { const doc = new Document<{ list: JSONArray }>('test-doc'); assert.equal('{}', doc.toSortedJSON()); doc.update((root) => { root.list = [0, 1, 2] as JSONArray; }, 'set {"list":[0,1,2]}'); doc.update((root) => { const item = root.list.getElementByIndex(2); root.list.moveFront(item.getID()); assert.equal('{"list":[2,0,1]}', root.toJSON()); }); doc.update((root) => { const item = root.list.getElementByIndex(1); root.list.moveFront(item.getID()); assert.equal('{"list":[0,2,1]}', root.toJSON()); }); doc.update((root) => { const item = root.list.getElementByIndex(0); root.list.moveFront(item.getID()); assert.equal('{"list":[0,2,1]}', root.toJSON()); }); }); it('can move an element at the last of array', function () { const doc = new Document<{ list: JSONArray }>('test-doc'); assert.equal('{}', doc.toSortedJSON()); doc.update((root) => { root.list = [0, 1, 2] as JSONArray; }, 'set {"list":[0,1,2]}'); doc.update((root) => { const item = root.list.getElementByIndex(2); root.list.moveLast(item.getID()); assert.equal('{"list":[0,1,2]}', root.toJSON()); }); doc.update((root) => { const item = root.list.getElementByIndex(1); root.list.moveLast(item.getID()); assert.equal('{"list":[0,2,1]}', root.toJSON()); }); doc.update((root) => { const item = root.list.getElementByIndex(0); root.list.moveLast(item.getID()); assert.equal('{"list":[2,1,0]}', root.toJSON()); }); }); it('Can handle concurrent insertAfter operations', async function ({ task }) { type TestDoc = { k1: JSONArray }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { let prev: WrappedElement; d1.update((root) => { root.k1 = [1, 2, 3, 4] as JSONArray; prev = root.k1.getElementByIndex(1); }); await c1.sync(); await c2.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.update((root) => { root.k1.deleteByID(prev.getID()); assert.equal('{"k1":[1,3,4]}', root.toJSON()); }); d2.update((root) => { root.k1.insertAfter(prev.getID(), 2); assert.equal('{"k1":[1,2,2,3,4]}', root.toJSON()); }); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); assert.equal('{"k1":[1,2,3,4]}', d1.toJSON()); d1.update((root) => { const prev = root.k1.getElementByIndex(1); root.k1.insertAfter(prev.getID(), '2.1'); assert.equal('{"k1":[1,2,"2.1",3,4]}', root.toJSON()); }); d2.update((root) => { const prev = root.k1.getElementByIndex(1); root.k1.insertAfter(prev.getID(), '2.2'); assert.equal('{"k1":[1,2,"2.2",3,4]}', root.toJSON()); }); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('Can handle concurrent moveBefore operations with the same position', async function ({ task, }) { type TestDoc = { k1: JSONArray }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.k1 = [0, 1, 2] as JSONArray; assert.equal('{"k1":[0,1,2]}', root.toJSON()); }); await c1.sync(); await c2.sync(); assert.equal(d1.toJSON(), d2.toJSON()); d1.update((root) => { const next = root.k1.getElementByIndex(0); const item = root.k1.getElementByIndex(2); root.k1.moveBefore(next.getID(), item.getID()); assert.equal('{"k1":[2,0,1]}', root.toJSON()); }); d1.update((root) => { const next = root.k1.getElementByIndex(0); const item = root.k1.getElementByIndex(2); root.k1.moveBefore(next.getID(), item.getID()); assert.equal('{"k1":[1,2,0]}', root.toJSON()); }); d2.update((root) => { const next = root.k1.getElementByIndex(0); const item = root.k1.getElementByIndex(1); root.k1.moveBefore(next.getID(), item.getID()); assert.equal('{"k1":[1,0,2]}', root.toJSON()); }); d2.update((root) => { const next = root.k1.getElementByIndex(0); const item = root.k1.getElementByIndex(1); root.k1.moveBefore(next.getID(), item.getID()); assert.equal('{"k1":[0,1,2]}', root.toJSON()); }); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('Can handle concurrent moveBefore operations from the different position', async function ({ task, }) { type TestDoc = { k1: JSONArray }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.k1 = [0, 1, 2] as JSONArray; assert.equal('{"k1":[0,1,2]}', root.toJSON()); }); await c1.sync(); await c2.sync(); assert.equal(d1.toJSON(), d2.toJSON()); d1.update((root) => { const next = root.k1.getElementByIndex(0); const item = root.k1.getElementByIndex(1); root.k1.moveBefore(next.getID(), item.getID()); assert.equal('{"k1":[1,0,2]}', root.toJSON()); }); d2.update((root) => { const next = root.k1.getElementByIndex(1); const item = root.k1.getElementByIndex(2); root.k1.moveBefore(next.getID(), item.getID()); assert.equal('{"k1":[0,2,1]}', root.toJSON()); }); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('Can handle concurrent moveFront operations with the item which has the different index', async function ({ task, }) { type TestDoc = { k1: JSONArray }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.k1 = [0, 1, 2] as JSONArray; assert.equal('{"k1":[0,1,2]}', root.toJSON()); }); await c1.sync(); await c2.sync(); assert.equal(d1.toJSON(), d2.toJSON()); d1.update((root) => { const item = root.k1.getElementByIndex(2); root.k1.moveFront(item.getID()); assert.equal('{"k1":[2,0,1]}', root.toJSON()); }); d1.update((root) => { const item = root.k1.getElementByIndex(2); root.k1.moveFront(item.getID()); assert.equal('{"k1":[1,2,0]}', root.toJSON()); }); d2.update((root) => { const item = root.k1.getElementByIndex(1); root.k1.moveFront(item.getID()); assert.equal('{"k1":[1,0,2]}', root.toJSON()); }); d2.update((root) => { const item = root.k1.getElementByIndex(1); root.k1.moveFront(item.getID()); assert.equal('{"k1":[0,1,2]}', root.toJSON()); }); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('Can handle concurrent moveFront operations with the item which has the same index', async function ({ task, }) { type TestDoc = { k1: JSONArray }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.k1 = [0, 1, 2] as JSONArray; assert.equal('{"k1":[0,1,2]}', root.toJSON()); }); await c1.sync(); await c2.sync(); assert.equal(d1.toJSON(), d2.toJSON()); d1.update((root) => { const item = root.k1.getElementByIndex(2); root.k1.moveFront(item.getID()); assert.equal('{"k1":[2,0,1]}', root.toJSON()); }); d2.update((root) => { const item = root.k1.getElementByIndex(2); root.k1.moveFront(item.getID()); assert.equal('{"k1":[2,0,1]}', root.toJSON()); }); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('Can handle concurrent moveAfter operations', async function ({ task }) { type TestDoc = { k1: JSONArray }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.k1 = [0, 1, 2] as JSONArray; assert.equal('{"k1":[0,1,2]}', root.toJSON()); }); await c1.sync(); await c2.sync(); assert.equal(d1.toJSON(), d2.toJSON()); d1.update((root) => { const item = root.k1.getElementByIndex(1); root.k1.moveLast(item.getID()); assert.equal('{"k1":[0,2,1]}', root.toJSON()); }); d2.update((root) => { const item = root.k1.getElementByIndex(0); root.k1.moveLast(item.getID()); assert.equal('{"k1":[1,2,0]}', root.toJSON()); }); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('Can handle concurrent insertAfter and moveBefore operations', async function ({ task, }) { type TestDoc = { k1: JSONArray }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { let prev: WrappedElement; d1.update((root) => { root.k1 = [0] as JSONArray; prev = root.k1.getElementByIndex(0); }); await c1.sync(); await c2.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.update((root) => { root.k1.insertAfter(prev.getID(), 1); assert.equal('{"k1":[0,1]}', root.toJSON()); }); d2.update((root) => { root.k1.insertAfter(prev.getID(), 2); assert.equal('{"k1":[0,2]}', root.toJSON()); }); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.update((root) => { const next = root.k1.getElementByIndex(0); const item = root.k1.getElementByIndex(1); root.k1.moveBefore(next.getID(), item.getID()); }); d2.update((root) => { const next = root.k1.getElementByIndex(0); const item = root.k1.getElementByIndex(2); root.k1.moveBefore(next.getID(), item.getID()); }); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('Can handle concurrent moveAfter', async function ({ task }) { type TestDoc = { k1: JSONArray }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.k1 = [0, 1, 2] as JSONArray; assert.equal('{"k1":[0,1,2]}', root.toJSON()); }); await c1.sync(); await c2.sync(); assert.equal(d1.toJSON(), d2.toJSON()); d1.update((root) => { const prev = root.k1.getElementByIndex(0); const item = root.k1.getElementByIndex(1); root.k1.moveAfter(prev.getID(), item.getID()); assert.equal('{"k1":[0,1,2]}', root.toJSON()); }); d2.update((root) => { const prev = root.k1.getElementByIndex(0); const item = root.k1.getElementByIndex(2); root.k1.moveAfter(prev.getID(), item.getID()); assert.equal('{"k1":[0,2,1]}', root.toJSON()); }); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('Can handle concurrent add operations', async function ({ task }) { type TestDoc = { k1: Array }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.k1 = ['1']; }); await c1.sync(); await c2.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.update((root) => { root.k1.push('2'); }); d2.update((root) => { root.k1.push('3'); }); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('Can handle concurrent delete operations', async function ({ task }) { type TestDoc = { k1: JSONArray }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { let prev: WrappedElement; d1.update((root) => { root.k1 = [1, 2, 3, 4] as JSONArray; }); await c1.sync(); await c2.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.update((root) => { prev = root.k1.getElementByIndex(2); root.k1.deleteByID(prev.getID()); }); d2.update((root) => { prev = root.k1.getElementByIndex(2); root.k1.deleteByID(prev.getID()); }); await c1.sync(); await c2.sync(); await c1.sync(); d1.update((root) => { assert.equal(3, root.k1.length); }); }, task.name); }); it('Can handle concurrent insertBefore and delete operations', async function ({ task, }) { type TestDoc = { k1: JSONArray }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { let prev: WrappedElement; d1.update((root) => { root.k1 = [1] as JSONArray; prev = root.k1.getElementByIndex(0); }); await c1.sync(); await c2.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.update((root) => { root.k1.deleteByID(prev.getID()); assert.equal('{"k1":[]}', root.toJSON()); assert.equal(0, root.k1.length); }); d2.update((root) => { root.k1.insertBefore(prev.getID(), 2); assert.equal('{"k1":[2,1]}', root.toJSON()); assert.equal(2, root.k1.length); }); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.update((root) => { assert.equal('{"k1":[2]}', root.toJSON()); assert.equal(1, root.k1.length); }); }, task.name); }); it('Can handle complex concurrent insertBefore and delete operations', async function ({ task, }) { type TestDoc = { k1: JSONArray }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { let prev: WrappedElement; d1.update((root) => { root.k1 = [1, 2, 3, 4] as JSONArray; prev = root.k1.getElementByIndex(1); }); await c1.sync(); await c2.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.update((root) => { root.k1.deleteByID(prev.getID()); assert.equal('{"k1":[1,3,4]}', root.toJSON()); assert.equal(3, root.k1.length); }); d2.update((root) => { root.k1.insertBefore(prev.getID(), 5); assert.equal('{"k1":[1,5,2,3,4]}', root.toJSON()); assert.equal(5, root.k1.length); }); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); assert.equal('{"k1":[1,5,3,4]}', d1.toJSON()); d1.update((root) => { const prev = root.k1.getElementByIndex(3); assert.equal(4, root.k1.length); root.k1.insertBefore(prev.getID(), 6); assert.equal('{"k1":[1,5,3,6,4]}', root.toJSON()); assert.equal(5, root.k1.length); }); d2.update((root) => { const prev = root.k1.getElementByIndex(0); assert.equal(4, root.k1.length); root.k1.insertBefore(prev.getID(), 7); assert.equal('{"k1":[7,1,5,3,4]}', root.toJSON()); assert.equal(5, root.k1.length); }); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.update((root) => { assert.equal('{"k1":[7,1,5,3,6,4]}', root.toJSON()); assert.equal(6, root.k1.length); }); }, task.name); }); it('Returns undefined when looking up an element that doesnt exist after GC', function () { const doc = new Document<{ list: JSONArray }>('test-doc'); let targetID: TimeTicket; doc.update((root) => { root.list = [0, 1, 2] as JSONArray; targetID = root.list.getElementByIndex(2).getID(); }); doc.update((root) => { root.list.deleteByID(targetID); }); assert.equal('{"list":[0,1]}', doc.toSortedJSON()); doc.garbageCollect(maxVectorOf([doc.getChangeID().getActorID()])); doc.update((root) => { const elem = root.list.getElementByID(targetID); assert.isUndefined(elem); }); }); it('Returns undefined when looking up an element that doesnt exist', function () { const doc = new Document<{ list: JSONArray }>('test-doc'); let targetID: TimeTicket; doc.update((root) => { root.list = [0, 1, 2] as JSONArray; targetID = root.list.getElementByIndex(2).getID(); }); doc.update((root) => { const elem = root.list.getElementByID(targetID) as Primitive; assert.equal(2, elem.getValue()); }); doc.update((root) => { root.list.deleteByID(targetID); assert.isUndefined(root.list.getElementByID(targetID)); }); assert.equal('{"list":[0,1]}', doc.toSortedJSON()); }); }); describe('Array Concurrency Table Tests', function () { type TestDoc = { a: JSONArray }; const initArr = [1, 2, 3, 4]; const initMarshal = '{"a":[1,2,3,4]}'; const oneIdx = 1; const otherIdxs = [2, 3]; const newValues = [5, 6]; interface ArrayOp { opName: string; executor: (arr: JSONArray, cid: number) => void; } // NOTE(junseo): It tests all (op1, op2) pairs in operations. // `oneIdx` is the index where both op1 and op2 reference. // `opName` represents the parameter of operation selected as `oneIdx'. // `otherIdxs` ensures that indexs other than `oneIdx` are not duplicated. const operations: Array = [ // insert { opName: 'insert.prev', executor: (arr: JSONArray, cid: number) => { arr.insertIntegerAfter(oneIdx, newValues[cid]); }, }, { opName: 'insert.prev.next', executor: (arr: JSONArray, cid: number) => { arr.insertIntegerAfter(oneIdx - 1, newValues[cid]); }, }, // move { opName: 'move.prev', executor: (arr: JSONArray, cid: number) => { arr.moveAfterByIndex(oneIdx, otherIdxs[cid]); }, }, { opName: 'move.prev.next', executor: (arr: JSONArray, cid: number) => { arr.moveAfterByIndex(oneIdx - 1, otherIdxs[cid]); }, }, { opName: 'move.target', executor: (arr: JSONArray, cid: number) => { arr.moveAfterByIndex(otherIdxs[cid], oneIdx); }, }, // set by index { opName: 'set.target', executor: (arr: JSONArray, cid: number) => { arr.setValue(oneIdx, newValues[cid]); }, }, // remove { opName: 'remove.target', executor: (arr: JSONArray) => { arr.delete(oneIdx); }, }, ]; for (const op1 of operations) { for (const op2 of operations) { it(op1.opName + ' vs ' + op2.opName, async function ({ task }) { // if (op1.opName !== 'set.target' || op2.opName !== 'move.target') { // return; // } await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.a = [...initArr] as JSONArray; assert.equal(initMarshal, root.toJSON()); }); await c1.sync(); await c2.sync(); // Verify initial state assert.equal(d1.toJSON(), d2.toJSON()); // Apply operations concurrently d1.update((root) => { op1.executor(root.a, 0); }); d2.update((root) => { op2.executor(root.a, 1); }); // Sync and verify convergence using syncClientsThenCheckEqual const result = await syncClientsThenCheckEqual([ { client: c1, doc: d1 }, { client: c2, doc: d2 }, ]); assert.isTrue(result); }, task.name); }); } } }); describe('Can handle complicated concurrent array operations', function () { type TestDoc = { a: JSONArray }; const initArr = [1, 2, 3, 4]; const initMarshal = '{"a":[1,2,3,4]}'; const oneIdx = 1; const otherIdx = 0; const newValue = 5; interface ArrayOp { opName: string; executor: (arr: JSONArray) => void; } // This test checks CRDT convergence in the presence of concurrent modifications: // - Client 0 performs a single operation (`op`) at index `oneIdx`. // - Client 1 performs two move operations involving index `oneIdx`. // The test ensures that after syncing both clients, their array states converge. // `oneIdx`: the index on which both the arbitrary operation and the first move operation are applied. // `opName`: describes the type of operation being tested (insert, move, set, or remove). const operations: Array = [ // insert { opName: 'insert', executor: (arr: JSONArray) => { arr.insertAfter(arr.getElementByIndex(oneIdx).getID(), newValue); }, }, // move { opName: 'move', executor: (arr: JSONArray) => { arr.moveAfter( arr.getElementByIndex(otherIdx).getID(), arr.getElementByIndex(oneIdx).getID(), ); }, }, // set (implemented as delete + insert) { opName: 'set', executor: (arr: JSONArray) => { arr.deleteByID(arr.getElementByIndex(oneIdx).getID()); if (oneIdx > 0) { arr.insertAfter(arr.getElementByIndex(oneIdx - 1).getID(), newValue); } else { const firstElement = arr.getElementByIndex(0); arr.insertBefore(firstElement.getID(), newValue); } }, }, // remove { opName: 'remove', executor: (arr: JSONArray) => { arr.deleteByID(arr.getElementByIndex(oneIdx).getID()); }, }, ]; for (const op of operations) { it(op.opName, async function ({ task }) { await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { // Reset documents for each test case d1.update((root) => { root.a = [...initArr] as JSONArray; assert.equal(initMarshal, root.toJSON()); }); await c1.sync(); await c2.sync(); // Verify initial state assert.equal(d1.toJSON(), d2.toJSON()); // Client 1 performs the test operation d1.update((root) => { op.executor(root.a); }); // Client 2 performs two move operations d2.update((root) => { // Move element at index 2 after element at oneIdx root.a.moveAfter( root.a.getElementByIndex(oneIdx).getID(), root.a.getElementByIndex(2).getID(), ); // Move element at index 3 after element at index 2 root.a.moveAfter( root.a.getElementByIndex(2).getID(), root.a.getElementByIndex(3).getID(), ); }); // Sync and verify convergence using syncClientsThenCheckEqual const result = await syncClientsThenCheckEqual([ { client: c1, doc: d1 }, { client: c2, doc: d2 }, ]); assert.isTrue(result); }, task.name); }); } }); describe('Array Set By Index Tests', function () { it('Can handle simple array set operations', async function ({ task }) { type TestDoc = { k1: JSONArray }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.k1 = [-1, -2, -3] as JSONArray; assert.equal('{"k1":[-1,-2,-3]}', root.toJSON()); }); await c1.sync(); await c2.sync(); assert.equal(d1.toJSON(), d2.toJSON()); d2.update((root) => { root.k1.setValue(1, -4); assert.equal('{"k1":[-1,-4,-3]}', root.toJSON()); }); d1.update((root) => { root.k1.setValue(0, -5); assert.equal('{"k1":[-5,-2,-3]}', root.toJSON()); }); const result = await syncClientsThenCheckEqual([ { client: c1, doc: d1 }, { client: c2, doc: d2 }, ]); assert.isTrue(result); }, task.name); }); it('can handle array set operation by Proxy', () => { const doc = new Document<{ list: JSONArray }>('test-doc'); doc.update((root) => { root.list = ['a', 'b', 'c'] as JSONArray; }, 'init'); assert.equal(doc.toSortedJSON(), '{"list":["a","b","c"]}'); doc.update((root) => { const prev = root.list.getElementByIndex(0); root.list.insertAfter(prev.getID(), 'newV'); }, 'insertAfter #1'); assert.equal(doc.toSortedJSON(), '{"list":["a","newV","b","c"]}'); doc.update((root) => { const prev = root.list.getElementByIndex(0); root.list.insertAfter(prev.getID(), 'newV'); }, 'insertAfter #2'); assert.equal(doc.toSortedJSON(), '{"list":["a","newV","newV","b","c"]}'); doc.update((root) => { root.list[0] = 'setV'; }, 'set #1'); assert.equal(doc.toSortedJSON(), '{"list":["setV","newV","newV","b","c"]}'); doc.update((root) => { const idx = root.list.findIndex((v) => v === 'setV'); if (idx >= 0) root.list[idx] = 'setV2'; }, 'set #2'); assert.equal( doc.toSortedJSON(), '{"list":["setV2","newV","newV","b","c"]}', ); doc.update((root) => { const idx = root.list.findIndex((v) => v === 'setV2'); if (idx >= 0) root.list[idx] = ['s', 'e', 't', 'V', '3']; }, 'set #2'); assert.equal( doc.toSortedJSON(), '{"list":[["s","e","t","V","3"],"newV","newV","b","c"]}', ); }); }); interface ClientAndDocPair { client: Client; doc: Document; } async function syncClientsThenCheckEqual( pairs: Array>, ): Promise { assert.isTrue(pairs.length > 1); // Save own changes and get previous changes. for (let i = 0; i < pairs.length; i++) { const pair = pairs[i]; console.log(`before d${i + 1}: ${pair.doc.toSortedJSON()}`); await pair.client.sync(); } // Get last client changes. // Last client get all precede changes in above loop. for (const pair of pairs.slice(0, -1)) { await pair.client.sync(); } // Assert start. const expected = pairs[0].doc.toSortedJSON(); console.log(`after d1: ${expected}`); for (let i = 1; i < pairs.length; i++) { const v = pairs[i].doc.toSortedJSON(); console.log(`after d${i + 1}: ${v}`); if (expected !== v) { return false; } } return true; } ================================================ FILE: packages/sdk/test/integration/broadcast_test.ts ================================================ /* * Copyright 2025 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { describe, it, assert, vi, afterEach, expect } from 'vitest'; import yorkie, { Channel } from '@yorkie-js/sdk/src/yorkie'; import { EventCollector } from '@yorkie-js/sdk/test/helper/helper'; import { toDocKey, testRPCAddr, withTwoClientsAndChannels, } from '@yorkie-js/sdk/test/integration/integration_helper'; import { ConnectError, Code as ConnectCode } from '@connectrpc/connect'; import { Json } from '@yorkie-js/sdk/src/document/document'; /** * `waitForAttached` waits until the channel's first RefreshChannel heartbeat * has flipped status to Attached. `client.attach(channel)` returns before * this happens under the RefreshChannel-only lifecycle. */ async function waitForAttached( channel: Channel, { timeout = 8000 } = {}, ): Promise { const deadline = Date.now() + timeout; while (!channel.isAttached() || !channel.getSessionID()) { if (Date.now() > deadline) { throw new Error( `waitForAttached: ${channel.getKey()} did not attach (status=${channel.getStatus()})`, ); } await new Promise((r) => setTimeout(r, 50)); } } describe.sequential('Channel', function () { afterEach(() => { vi.restoreAllMocks(); }); it('Should successfully broadcast serializeable payload', async ({ task, }) => { const cli = new yorkie.Client({ rpcAddr: testRPCAddr }); await cli.activate(); const channelKey = toDocKey(`${task.name}-presence`); const channel = new yorkie.Channel(channelKey); await cli.attach(channel); await waitForAttached(channel); const broadcastTopic = 'test'; const payload = { a: 1, b: '2' }; expect(async () => channel.broadcast(broadcastTopic, payload), ).not.toThrow(); await cli.detach(channel); await cli.deactivate(); }); it('Should throw error when broadcasting unserializeable payload', async ({ task, }) => { const eventCollector = new EventCollector(); const cli = new yorkie.Client({ rpcAddr: testRPCAddr }); await cli.activate(); const channelKey = toDocKey(`${task.name}-presence`); const channel = new yorkie.Channel(channelKey); await cli.attach(channel); await waitForAttached(channel); // broadcast unserializable payload const payload = () => {}; const broadcastTopic = 'test'; const broadcastErrMessage = 'payload is not serializable'; const errorHandler = (error: Error) => { eventCollector.add(error.message); }; // @ts-ignore // Disable type checking for testing purposes channel.broadcast(broadcastTopic, payload, { error: errorHandler, }); await eventCollector.waitAndVerifyNthEvent(1, broadcastErrMessage); await cli.detach(channel); await cli.deactivate(); }); it('Should trigger the handler for a subscribed broadcast event', async ({ task, }) => { await withTwoClientsAndChannels(async (c1, p1, c2, p2) => { const eventCollector = new EventCollector<[string, Json]>(); const broadcastTopic = 'test'; const unsubscribe = p2.subscribe('broadcast', (event) => { const { topic, payload } = event; if (topic === broadcastTopic) { eventCollector.add([topic, payload]); } }); const payload = { a: 1, b: '2' }; p1.broadcast(broadcastTopic, payload); await eventCollector.waitAndVerifyNthEvent(1, [broadcastTopic, payload]); assert.equal(eventCollector.getLength(), 1); unsubscribe(); }, task.name); }); it('Should not trigger the handler for an unsubscribed broadcast event', async ({ task, }) => { await withTwoClientsAndChannels(async (c1, p1, c2, p2) => { const eventCollector = new EventCollector<[string, Json]>(); const broadcastTopic1 = 'test1'; const broadcastTopic2 = 'test2'; const unsubscribe = p2.subscribe('broadcast', (event) => { const { topic, payload } = event; if (topic === broadcastTopic1) { eventCollector.add([topic, payload]); } else if (topic === broadcastTopic2) { eventCollector.add([topic, payload]); } }); const payload = { a: 1, b: '2' }; p1.broadcast(broadcastTopic1, payload); await eventCollector.waitAndVerifyNthEvent(1, [broadcastTopic1, payload]); assert.equal(eventCollector.getLength(), 1); unsubscribe(); }, task.name); }); it('Should not trigger the handler for a broadcast event after unsubscribing', async ({ task, }) => { await withTwoClientsAndChannels(async (c1, p1, c2, p2) => { const eventCollector = new EventCollector<[string, Json]>(); const broadcastTopic = 'test'; const unsubscribe = p2.subscribe('broadcast', (event) => { const { topic, payload } = event; if (topic === broadcastTopic) { eventCollector.add([topic, payload]); } }); const payload = { a: 1, b: '2' }; p1.broadcast(broadcastTopic, payload); await eventCollector.waitAndVerifyNthEvent(1, [broadcastTopic, payload]); unsubscribe(); p1.broadcast(broadcastTopic, payload); // Assuming that every subscriber can receive the broadcast event within 1000ms. await new Promise((res) => setTimeout(res, 1000)); // No change in the number of calls assert.equal(eventCollector.getLength(), 1); }, task.name); }); it('Should not trigger the handler for a broadcast event sent by the publisher to itself', async ({ task, }) => { await withTwoClientsAndChannels(async (c1, p1, c2, p2) => { const eventCollector1 = new EventCollector<[string, Json]>(); const eventCollector2 = new EventCollector<[string, Json]>(); const broadcastTopic = 'test'; const payload = { a: 1, b: '2' }; // Publisher subscribes to the broadcast event const unsubscribe1 = p1.subscribe('boradcast', (event) => { const { topic, payload } = event; if (topic === broadcastTopic) { eventCollector1.add([topic, payload]); } }); const unsubscribe2 = p2.subscribe('broadcast', (event) => { const { topic, payload } = event; if (topic === broadcastTopic) { eventCollector2.add([topic, payload]); } }); p1.broadcast(broadcastTopic, payload); // Assuming that p2 takes longer to receive the broadcast event compared to p1 await eventCollector2.waitAndVerifyNthEvent(1, [broadcastTopic, payload]); unsubscribe1(); unsubscribe2(); assert.equal(eventCollector1.getLength(), 0); assert.equal(eventCollector2.getLength(), 1); }, task.name); }); it('Should retry broadcasting on network failure with retry option and succeeds when network is restored', async ({ task, }) => { await withTwoClientsAndChannels(async (c1, p1, c2, p2) => { const eventCollector = new EventCollector<[string, Json]>(); const broadcastTopic = 'test'; const unsubscribe = p2.subscribe('broadcast', (event) => { const { topic, payload } = event; if (topic === broadcastTopic) { eventCollector.add([topic, payload]); } }); // 01. Simulate Unknown error. vi.stubGlobal('fetch', async () => { throw new ConnectError('Failed to fetch', ConnectCode.Unknown); }); await new Promise((res) => setTimeout(res, 30)); const payload = { a: 1, b: '2' }; p1.broadcast(broadcastTopic, payload); // Failed to broadcast due to network failure await new Promise((res) => setTimeout(res, 3000)); assert.equal(eventCollector.getLength(), 0); // 02. Back to normal condition vi.unstubAllGlobals(); await eventCollector.waitAndVerifyNthEvent(1, [broadcastTopic, payload]); unsubscribe(); }, task.name); }); it('Should not retry broadcasting on network failure when maxRetries is set to zero', async ({ task, }) => { await withTwoClientsAndChannels(async (c1, p1, c2, p2) => { const eventCollector = new EventCollector<[string, any]>(); const eventCollector2 = new EventCollector(); const broadcastTopic = 'test'; const unsubscribe = p2.subscribe('broadcast', (event) => { const { topic, payload } = event; if (topic === broadcastTopic) { eventCollector.add([topic, payload]); } }); // 01. Simulate Unknown error. vi.stubGlobal('fetch', async () => { throw new ConnectError('Failed to fetch', ConnectCode.Unknown); }); await new Promise((res) => setTimeout(res, 30)); const payload = { a: 1, b: '2' }; const errorHandler = (error: Error) => { if (error instanceof ConnectError) { eventCollector2.add(error.code); } }; p1.broadcast(broadcastTopic, payload, { error: errorHandler, maxRetries: 0, }); // 02. Back to normal condition vi.unstubAllGlobals(); await eventCollector2.waitAndVerifyNthEvent(1, ConnectCode.Unknown); unsubscribe(); }, task.name); }); }); ================================================ FILE: packages/sdk/test/integration/channel_polling_test.ts ================================================ /* * Copyright 2025 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { describe, it, assert } from 'vitest'; import yorkie, { SyncMode, Channel } from '@yorkie-js/sdk/src/yorkie'; import { YorkieError } from '@yorkie-js/sdk/src/util/error'; import { toDocKey, testRPCAddr, } from '@yorkie-js/sdk/test/integration/integration_helper'; import { assertThrowsAsync } from '@yorkie-js/sdk/test/helper/helper'; describe('Channel Polling', function () { it('Polling mode reflects sessionCount via heartbeat without a watch stream', async function ({ task, }) { const channelKey = `${toDocKey(task.name)}-${new Date().getTime()}`; const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const ch1 = new Channel(channelKey); const ch2 = new Channel(channelKey); // c1 attaches in Polling mode with a 200ms heartbeat for fast test. await c1.attachChannel(ch1, { syncMode: SyncMode.Polling, channelHeartbeatInterval: 200, }); await c2.attachChannel(ch2); // Wait for at least one polling tick. await new Promise((r) => setTimeout(r, 500)); assert.isAtLeast(ch1.getSessionCount(), 2); assert.isAtLeast(ch2.getSessionCount(), 2); await c1.detachChannel(ch1); await c2.detachChannel(ch2); await c1.deactivate(); await c2.deactivate(); }); it('Polling mode does not open a watch stream', async function ({ task }) { const channelKey = `${toDocKey(task.name)}-${new Date().getTime()}`; const c = new yorkie.Client({ rpcAddr: testRPCAddr }); await c.activate(); const ch = new Channel(channelKey); let watchCalled = false; const origWatch = (c as any).rpcClient.watch.bind((c as any).rpcClient); (c as any).rpcClient.watch = (...args: Array) => { watchCalled = true; return origWatch(...args); }; await c.attachChannel(ch, { syncMode: SyncMode.Polling }); await new Promise((r) => setTimeout(r, 100)); assert.isFalse(watchCalled); await c.detachChannel(ch); await c.deactivate(); }); it('Polling notifies subscribers when sessionCount changes', async function ({ task, }) { const channelKey = `${toDocKey(task.name)}-${new Date().getTime()}`; const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const ch1 = new Channel(channelKey); await c1.attachChannel(ch1, { syncMode: SyncMode.Polling, channelHeartbeatInterval: 200, }); const observed: Array = []; const unsub = ch1.subscribe('presence', (event) => { observed.push(event.count); }); // Second client joins; the first client is in Polling mode and should // observe the count change via its heartbeat refresh, not a watch event. const ch2 = new Channel(channelKey); await c2.attachChannel(ch2); // Wait for at least one poll tick to deliver the new count. await new Promise((r) => setTimeout(r, 600)); assert.isAtLeast(observed.length, 1); assert.isAtLeast(observed[observed.length - 1], 2); unsub(); await c1.detachChannel(ch1); await c2.detachChannel(ch2); await c1.deactivate(); await c2.deactivate(); }); it('changeSyncMode transitions Realtime ↔ Polling for channels', async function ({ task, }) { const channelKey = `${toDocKey(task.name)}-${new Date().getTime()}`; const c = new yorkie.Client({ rpcAddr: testRPCAddr }); await c.activate(); const ch = new Channel(channelKey); // Do NOT pin channelHeartbeatInterval — we want changeSyncMode to // re-resolve the default (Polling → 3000) so we can verify that path. await c.attachChannel(ch, { syncMode: SyncMode.Realtime }); // Switch to Polling. Default re-resolves to the client-level // `channelHeartbeatInterval` (5000ms by default). Pre-PR this branch // returned 3000 only for Polling, but the RefreshChannel-only design // uses one heartbeat cadence shared by Realtime and Polling. await c.changeSyncMode(ch, SyncMode.Polling); const att = (c as any).attachmentMap.get(ch.getKey()); assert.equal(att.pollInterval, 5000); // Override to a fast interval so the test runs quickly. att.pollInterval = 200; await new Promise((r) => setTimeout(r, 500)); const beforeSwitch = ch.getSessionCount(); assert.isAtLeast(beforeSwitch, 1); // Switch back to Realtime. await c.changeSyncMode(ch, SyncMode.Realtime); await c.detach(ch); await c.deactivate(); }); it('Polling channel does not receive broadcast events', async function ({ task, }) { const channelKey = `${toDocKey(task.name)}-${new Date().getTime()}`; const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const ch1 = new Channel(channelKey); const ch2 = new Channel(channelKey); // c2 is Polling — should not receive broadcast. await c2.attachChannel(ch2, { syncMode: SyncMode.Polling, channelHeartbeatInterval: 200, }); await c1.attachChannel(ch1, { syncMode: SyncMode.Realtime }); // `attachChannel` no longer attaches synchronously; the channel reaches // Attached state only after the first RefreshChannel response. Wait // for both channels before broadcasting — otherwise `Channel.broadcast` // throws "channel is not attached". const deadline = Date.now() + 5000; while (!ch1.isAttached() || !ch2.isAttached()) { if (Date.now() > deadline) { throw new Error('channels did not attach in time'); } await new Promise((r) => setTimeout(r, 50)); } let received = false; ch2.subscribe('chat', () => { received = true; }); ch1.broadcast('chat', { msg: 'hello' }); await new Promise((r) => setTimeout(r, 500)); assert.isFalse(received); await c1.detach(ch1); await c2.detach(ch2); await c1.deactivate(); await c2.deactivate(); }); it('attachChannel rejects RealtimePushOnly with ErrInvalidArgument', async function ({ task, }) { const channelKey = `${toDocKey(task.name)}-${new Date().getTime()}`; const c = new yorkie.Client({ rpcAddr: testRPCAddr }); await c.activate(); const ch = new Channel(channelKey); try { await assertThrowsAsync( () => c.attachChannel(ch, { syncMode: SyncMode.RealtimePushOnly }), YorkieError, 'invalid channel sync mode', ); } finally { await c.deactivate(); } }); it('attachChannel rejects RealtimeSyncOff with ErrInvalidArgument', async function ({ task, }) { const channelKey = `${toDocKey(task.name)}-${new Date().getTime()}`; const c = new yorkie.Client({ rpcAddr: testRPCAddr }); await c.activate(); const ch = new Channel(channelKey); try { await assertThrowsAsync( () => c.attachChannel(ch, { syncMode: SyncMode.RealtimeSyncOff }), YorkieError, 'invalid channel sync mode', ); } finally { await c.deactivate(); } }); it('changeSyncMode rejects RealtimePushOnly for channels', async function ({ task, }) { const channelKey = `${toDocKey(task.name)}-${new Date().getTime()}`; const c = new yorkie.Client({ rpcAddr: testRPCAddr }); await c.activate(); const ch = new Channel(channelKey); await c.attachChannel(ch, { syncMode: SyncMode.Realtime }); try { await assertThrowsAsync( () => c.changeSyncMode(ch, SyncMode.RealtimePushOnly), YorkieError, 'invalid channel sync mode', ); } finally { await c.detach(ch); await c.deactivate(); } }); it('attachChannel rejects channelHeartbeatInterval: 0', async function ({ task, }) { const channelKey = `${toDocKey(task.name)}-${new Date().getTime()}`; const c = new yorkie.Client({ rpcAddr: testRPCAddr }); await c.activate(); const ch = new Channel(channelKey); try { await assertThrowsAsync( () => c.attachChannel(ch, { channelHeartbeatInterval: 0 }), YorkieError, 'channelHeartbeatInterval must be greater than 0', ); } finally { await c.deactivate(); } }); }); ================================================ FILE: packages/sdk/test/integration/channel_test.ts ================================================ import { describe, it, assert } from 'vitest'; import yorkie from '@yorkie-js/sdk/src/yorkie'; import { EventCollector } from '@yorkie-js/sdk/test/helper/helper'; import { withTwoClientsAndChannels, testRPCAddr, toDocKey, } from '@yorkie-js/sdk/test/integration/integration_helper'; describe('Channel', function () { it('should subscribe to specific topic for broadcast events', async function ({ task, }) { await withTwoClientsAndChannels(async (c1, ch1, c2, ch2) => { const chatCollector = new EventCollector(); const notificationCollector = new EventCollector(); // Subscribe to 'chat' topic const unsubChat = ch2.subscribe('chat', (event) => { chatCollector.add(event.payload); }); // Subscribe to 'notification' topic const unsubNotification = ch2.subscribe('notification', (event) => { notificationCollector.add(event.payload); }); // Broadcast to 'chat' topic ch1.broadcast('chat', { message: 'Hello, world!' }); await chatCollector.waitAndVerifyNthEvent(1, { message: 'Hello, world!', }); // Broadcast to 'notification' topic ch1.broadcast('notification', { alert: 'New message' }); await notificationCollector.waitAndVerifyNthEvent(1, { alert: 'New message', }); // Verify chat collector only received chat messages assert.equal(chatCollector.getLength(), 1); assert.equal(notificationCollector.getLength(), 1); unsubChat(); unsubNotification(); }, task.name); }); it('should subscribe to presence events', async function ({ task }) { // Subscribe ON the channel object *before* attaching so the first // PresenceChanged from the initial RefreshChannel response is caught. // Under the RefreshChannel-only lifecycle the initial presence event // fires inside `attach()`'s first-heartbeat path — a subscriber // registered after attach (as in the pre-PR layout) would miss it // and wait forever for a count change that never comes. const channelKey = `${toDocKey(task.name)}-${Date.now()}`; const client = new yorkie.Client({ rpcAddr: testRPCAddr }); await client.activate(); const channel = new yorkie.Channel(channelKey); const presenceCollector = new EventCollector(); const unsubPresence = channel.subscribe('presence', (event) => { presenceCollector.add(event.count); }); await client.attach(channel); await waitFor(() => presenceCollector.getLength() > 0, { timeout: 10000, message: 'no presence event received within timeout', }); assert.isAbove(presenceCollector.getLength(), 0); unsubPresence(); await client.detach(channel); await client.deactivate(); }, 15000); it('should get presence count', async function ({ task }) { await withTwoClientsAndChannels(async (c1, ch1, c2, ch2) => { // Wait a bit for presence to stabilize await new Promise((resolve) => setTimeout(resolve, 100)); // Get presence count const count1 = ch1.getSessionCount(); const count2 = ch2.getSessionCount(); // Both channels should see at least 2 clients (themselves) assert.isAtLeast(count1, 2); assert.isAtLeast(count2, 2); assert.equal(count1, count2); }, task.name); }); it('should support legacy broadcast subscription', async function ({ task }) { await withTwoClientsAndChannels(async (c1, ch1, c2, ch2) => { const eventCollector = new EventCollector(); const topic = 'test-topic'; // Legacy way: subscribe to all broadcast events and filter by topic const unsubscribe = ch2.subscribe('broadcast', (event) => { if (event.topic === topic) { eventCollector.add(event.payload as string); } }); ch1.broadcast(topic, 'test-data'); await eventCollector.waitAndVerifyNthEvent(1, 'test-data'); unsubscribe(); }, task.name); }); it('should mix topic-based and type-based subscriptions', async function ({ task, }) { await withTwoClientsAndChannels(async (c1, ch1, c2, ch2) => { const chatCollector = new EventCollector(); const allBroadcastCollector = new EventCollector(); // Topic-based subscription const unsubChat = ch2.subscribe('chat', (event) => { chatCollector.add(event.payload); }); // Type-based subscription (all broadcasts) const unsubAll = ch2.subscribe('broadcast', (event) => { allBroadcastCollector.add( `${event.topic}:${JSON.stringify(event.payload)}`, ); }); // Broadcast to 'chat' topic ch1.broadcast('chat', 'message1'); await chatCollector.waitAndVerifyNthEvent(1, 'message1'); // Broadcast to 'notification' topic ch1.broadcast('notification', 'message2'); // Wait a bit for all events to be processed await new Promise((resolve) => setTimeout(resolve, 100)); // Chat collector should only have chat messages assert.equal(chatCollector.getLength(), 1); // All broadcast collector should have both assert.equal(allBroadcastCollector.getLength(), 2); unsubChat(); unsubAll(); }, task.name); }); it('can attach a channel without activating the client', async function () { const client = new yorkie.Client({ rpcAddr: testRPCAddr }); const channel = new yorkie.Channel( `${toDocKey('can attach a channel without activating the client')}-${Date.now()}`, ); // No client.activate() call here. await client.attach(channel); // Within ~heartbeat interval the channel becomes attached and gets a // session_id from the server. await waitFor(() => channel.isAttached() && !!channel.getSessionID(), { timeout: 8000, message: 'channel did not finish first-call attach', }); assert.isString(channel.getSessionID()); assert.notStrictEqual(channel.getSessionID(), ''); await client.detach(channel); }); it('peers see count drop after detach within TTL window', async ({ task, }) => { await withTwoClientsAndChannels(async (c1, ch1, c2, ch2) => { await waitFor( () => ch1.getSessionCount() === 2 && ch2.getSessionCount() === 2, ); await c2.detach(ch2); // TTL is 15 s and the server's cleanup interval is 10 s, so it can // take up to ~25 s before c1's heartbeat sees the lower count. await waitFor(() => ch1.getSessionCount() === 1, { timeout: 30000 }); }, task.name); }, 45000); it('recovers transparently when the server forgets the session', async function ({ task, }) { const client = new yorkie.Client({ rpcAddr: testRPCAddr }); const channel = new yorkie.Channel(`${toDocKey(task.name)}-${Date.now()}`); await client.attach(channel); await waitFor(() => !!channel.getSessionID(), { timeout: 10000 }); // Simulate server-side expiry by overwriting the channel's session_id // with a syntactically valid but unknown ID. The next refresh tick // should receive ErrSessionNotFound and silently re-attach. channel.setSessionID('000000000000000000000000'); await waitFor( () => !!channel.getSessionID() && channel.getSessionID() !== '000000000000000000000000', { timeout: 15000, message: 'session was not re-issued after forced expiry', }, ); assert.notStrictEqual(channel.getSessionID(), '000000000000000000000000'); await client.detach(channel); }, 30000); it('peekChannel works without client.activate()', async ({ task }) => { const channelKey = `${toDocKey(task.name)}-${Date.now()}`; const writer = new yorkie.Client({ rpcAddr: testRPCAddr }); const writerChannel = new yorkie.Channel(channelKey); await writer.attach(writerChannel); await waitFor(() => !!writerChannel.getSessionID(), { timeout: 10000 }); const peeker = new yorkie.Client({ rpcAddr: testRPCAddr }); const count = await peeker.peekChannel(channelKey); assert.strictEqual(count, 1); await writer.detach(writerChannel); }); }); /** * `waitFor` polls `pred` until it returns truthy or `timeout` elapses. */ async function waitFor( pred: () => boolean, { timeout = 5000, interval = 100, message = 'waitFor timeout' } = {}, ): Promise { const start = Date.now(); while (!pred()) { if (Date.now() - start > timeout) throw new Error(message); await new Promise((r) => setTimeout(r, interval)); } } ================================================ FILE: packages/sdk/test/integration/client_test.ts ================================================ /* * Copyright 2024 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { describe, it, assert, vi, afterEach, expect } from 'vitest'; import yorkie, { Counter, SyncMode, ClientCondition, DocEventType, DocSyncStatus, Tree, Text, } from '@yorkie-js/sdk/src/yorkie'; import { EventCollector, DefaultSnapshotThreshold, } from '@yorkie-js/sdk/test/helper/helper'; import { toDocKey, testRPCAddr, withTwoClientsAndDocuments, } from '@yorkie-js/sdk/test/integration/integration_helper'; import { ConnectError, Code as ConnectCode } from '@connectrpc/connect'; import { Code, YorkieError } from '@yorkie-js/sdk/src/util/error'; describe.sequential('Client', function () { afterEach(() => { vi.restoreAllMocks(); }); it('Can be activated, deactivated', async function ({ task }) { const clientKey = `${task.name}-${new Date().getTime()}`; const clientWithKey = new yorkie.Client({ rpcAddr: testRPCAddr, key: clientKey, syncLoopDuration: 50, reconnectStreamDelay: 1000, }); assert.isFalse(clientWithKey.isActive()); await clientWithKey.activate(); assert.isTrue(clientWithKey.isActive()); assert.equal(clientKey, clientWithKey.getKey()); await clientWithKey.deactivate(); assert.isFalse(clientWithKey.isActive()); const clientWithoutKey = new yorkie.Client({ rpcAddr: testRPCAddr }); assert.isFalse(clientWithoutKey.isActive()); await clientWithoutKey.activate(); assert.isTrue(clientWithoutKey.isActive()); assert.isString(clientWithoutKey.getKey()); assert.lengthOf(clientWithoutKey.getKey(), 36); await clientWithoutKey.deactivate(); assert.isFalse(clientWithoutKey.isActive()); }); it('Can activate with gRPC-Web transport', async function ({ task }) { const clientKey = `${task.name}-${new Date().getTime()}`; const client = new yorkie.Client({ rpcAddr: testRPCAddr, key: clientKey, useGrpcWebTransport: true, }); assert.isFalse(client.isActive()); await client.activate(); assert.isTrue(client.isActive()); await client.deactivate(); assert.isFalse(client.isActive()); }); it('Can attach/detach document', async function ({ task }) { const cli = new yorkie.Client({ rpcAddr: testRPCAddr }); await cli.activate(); const doc = new yorkie.Document( toDocKey(`${task.name}-${new Date().getTime()}`), ); await cli.attach(doc); expect(async () => cli.attach(doc)).rejects.toThrowErrorCode( Code.ErrNotDetached, ); await cli.detach(doc); expect(async () => cli.detach(doc)).rejects.toThrowErrorCode( Code.ErrNotAttached, ); await cli.deactivate(); await cli.deactivate(); }); it('Can handle sync', async function ({ task }) { type TestDoc = { k1: string; k2: string; k3: string }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { const spy = vi.fn(); const unsub = d2.subscribe(spy); assert.equal(0, spy.mock.calls.length); d1.update((root) => { root['k1'] = 'v1'; }); await c1.sync(); await c2.sync(); assert.equal(1, spy.mock.calls.length); d1.update((root) => { root['k2'] = 'v2'; }); await c1.sync(); await c2.sync(); assert.equal(2, spy.mock.calls.length); unsub(); d1.update((root) => { root['k3'] = 'v3'; }); await c1.sync(); await c2.sync(); assert.equal(2, spy.mock.calls.length); }, task.name); }); it('Can recover from temporary disconnect (manual sync)', async function ({ task, }) { await withTwoClientsAndDocuments<{ k1: string }>(async (c1, d1, c2, d2) => { // Normal Condition d2.update((root) => { root['k1'] = 'undefined'; }); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); // Simulate network error with fetch vi.stubGlobal('fetch', () => { return Promise.resolve().then(() => { throw new YorkieError(Code.ErrDummy, 'Failed to fetch'); }); }); d2.update((root) => { root['k1'] = 'v1'; }); await c2.sync().catch((err) => { assert.equal(err.message, '[unknown] Failed to fetch'); }); await c1.sync().catch((err) => { assert.equal(err.message, '[unknown] Failed to fetch'); }); assert.equal(d1.toSortedJSON(), '{"k1":"undefined"}'); assert.equal(d2.toSortedJSON(), '{"k1":"v1"}'); // Back to normal condition vi.unstubAllGlobals(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('Can recover from temporary disconnect (realtime sync)', async function ({ task, }) { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const d1 = new yorkie.Document<{ k1: string }>(docKey); const d2 = new yorkie.Document<{ k1: string }>(docKey); await c1.attach(d1); await c2.attach(d2); const eventCollectorD1 = new EventCollector(); const eventCollectorD2 = new EventCollector(); const eventCollectorSync1 = new EventCollector(); const eventCollectorSync2 = new EventCollector(); const unsub1 = { syncEvent: d1.subscribe('sync', (event) => { eventCollectorSync1.add(event.value); }), doc: d1.subscribe((event) => { eventCollectorD1.add(event.type); }), }; const unsub2 = { syncEvent: d2.subscribe('sync', (event) => { eventCollectorSync2.add(event.value); }), doc: d2.subscribe((event) => { eventCollectorD2.add(event.type); }), }; // Normal Condition d2.update((root) => { root['k1'] = 'undefined'; }); await eventCollectorD2.waitAndVerifyNthEvent(1, DocEventType.LocalChange); await eventCollectorD1.waitAndVerifyNthEvent(1, DocEventType.RemoteChange); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); eventCollectorSync1.reset(); eventCollectorSync2.reset(); // Simulate network error vi.stubGlobal('fetch', () => { return Promise.resolve().then(() => { throw new YorkieError(Code.ErrDummy, 'Failed to fetch'); }); }); d2.update((root) => { root['k1'] = 'v1'; }); await eventCollectorD2.waitAndVerifyNthEvent(2, DocEventType.LocalChange); await eventCollectorSync2.waitFor(DocSyncStatus.SyncFailed); // c2 should fail to sync await c1.sync().catch((err) => { assert.equal(err.message, '[unknown] Failed to fetch'); // c1 should also fail to sync }); await eventCollectorSync1.waitFor(DocSyncStatus.SyncFailed); assert.equal(d1.toSortedJSON(), '{"k1":"undefined"}'); assert.equal(d2.toSortedJSON(), '{"k1":"v1"}'); // Back to normal condition eventCollectorSync1.reset(); eventCollectorSync2.reset(); vi.unstubAllGlobals(); await eventCollectorSync1.waitFor(DocSyncStatus.Synced); // wait for c1 to sync await eventCollectorSync2.waitFor(DocSyncStatus.Synced); await eventCollectorD1.waitAndVerifyNthEvent(2, DocEventType.RemoteChange); assert.equal(d1.toSortedJSON(), '{"k1":"v1"}'); // d1 should be able to receive d2's update unsub1.syncEvent(); unsub2.syncEvent(); unsub1.doc(); unsub2.doc(); await c1.detach(d1); await c2.detach(d2); await c1.deactivate(); await c2.deactivate(); }); it('Can change sync mode(realtime <-> manual)', async function ({ task }) { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const d1 = new yorkie.Document<{ version: string }>(docKey); const d2 = new yorkie.Document<{ version: string }>(docKey); // 01. c1 and c2 attach the doc with manual sync mode. // c1 updates the doc, but c2 does't get until call sync manually. await c1.attach(d1, { syncMode: SyncMode.Manual }); await c2.attach(d2, { syncMode: SyncMode.Manual }); d1.update((root) => { root.version = 'v1'; }); assert.equal(d1.toSortedJSON(), `{"version":"v1"}`, 'd1'); assert.equal(d2.toSortedJSON(), `{}`, 'd2'); await c1.sync(); await c2.sync(); assert.equal(d2.toSortedJSON(), `{"version":"v1"}`, 'd2'); // 02. c2 changes the sync mode to realtime sync mode. const eventCollector = new EventCollector(); const unsub1 = d2.subscribe('sync', (event) => { eventCollector.add(event.value); }); await c2.changeSyncMode(d2, SyncMode.Realtime); await eventCollector.waitFor(DocSyncStatus.Synced); // sync occurs when resuming eventCollector.reset(); d1.update((root) => { root.version = 'v2'; }); await c1.sync(); await eventCollector.waitFor(DocSyncStatus.Synced); // c2 should sync automatically assert.equal(d1.toSortedJSON(), `{"version":"v2"}`, 'd1'); assert.equal(d2.toSortedJSON(), `{"version":"v2"}`, 'd2'); unsub1(); // 03. c2 changes the sync mode to manual sync mode again. await c2.changeSyncMode(d2, SyncMode.Manual); d1.update((root) => { root.version = 'v3'; }); assert.equal(d1.toSortedJSON(), `{"version":"v3"}`, 'd1'); assert.equal(d2.toSortedJSON(), `{"version":"v2"}`, 'd2'); await c1.sync(); await c2.sync(); assert.equal(d2.toSortedJSON(), `{"version":"v3"}`, 'd2'); await c1.deactivate(); await c2.deactivate(); }); it('Can change sync mode in realtime', async function ({ task }) { // | | Step1 | Step2 | Step3 | Step4 | // | c1 | PushPull | PushOnly | SyncOff | PushPull | // | c2 | PushPull | SyncOff | PushOnly | PushPull | // | c3 | PushPull | PushPull | PushPull | PushPull | const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c3 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); await c3.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const d1 = new yorkie.Document<{ c1: number; c2: number; c3: number }>( docKey, ); const d2 = new yorkie.Document<{ c1: number; c2: number; c3: number }>( docKey, ); const d3 = new yorkie.Document<{ c1: number; c2: number; c3: number }>( docKey, ); // 01. c1, c2, c3 attach to the same document in realtime sync. await c1.attach(d1); await c2.attach(d2); await c3.attach(d3); const eventCollectorD1 = new EventCollector(); const eventCollectorD2 = new EventCollector(); const eventCollectorD3 = new EventCollector(); const unsub1 = d1.subscribe((event) => { eventCollectorD1.add(event.type); }); const unsub2 = d2.subscribe((event) => { eventCollectorD2.add(event.type); }); const unsub3 = d3.subscribe((event) => { eventCollectorD3.add(event.type); }); // 02. [Step1] c1, c2, c3 sync in realtime. d1.update((root) => { root.c1 = 0; }); d2.update((root) => { root.c2 = 0; }); d3.update((root) => { root.c3 = 0; }); await eventCollectorD1.waitAndVerifyNthEvent(1, DocEventType.LocalChange); await eventCollectorD1.waitAndVerifyNthEvent(2, DocEventType.RemoteChange); await eventCollectorD1.waitAndVerifyNthEvent(3, DocEventType.RemoteChange); await eventCollectorD2.waitAndVerifyNthEvent(1, DocEventType.LocalChange); await eventCollectorD2.waitAndVerifyNthEvent(2, DocEventType.RemoteChange); await eventCollectorD2.waitAndVerifyNthEvent(3, DocEventType.RemoteChange); await eventCollectorD3.waitAndVerifyNthEvent(1, DocEventType.LocalChange); await eventCollectorD3.waitAndVerifyNthEvent(2, DocEventType.RemoteChange); await eventCollectorD3.waitAndVerifyNthEvent(3, DocEventType.RemoteChange); assert.equal(d1.toSortedJSON(), '{"c1":0,"c2":0,"c3":0}', 'd1'); assert.equal(d2.toSortedJSON(), '{"c1":0,"c2":0,"c3":0}', 'd2'); assert.equal(d3.toSortedJSON(), '{"c1":0,"c2":0,"c3":0}', 'd3'); // 03. [Step2] c1 sync with push-only mode, c2 sync with sync-off mode. // c3 can get the changes of c1 and c2, because c3 sync with push-pull mode. await c1.changeSyncMode(d1, SyncMode.RealtimePushOnly); await c2.changeSyncMode(d2, SyncMode.RealtimeSyncOff); d1.update((root) => { root.c1 = 1; }); d2.update((root) => { root.c2 = 1; }); d3.update((root) => { root.c3 = 1; }); await eventCollectorD1.waitAndVerifyNthEvent(4, DocEventType.LocalChange); await eventCollectorD2.waitAndVerifyNthEvent(4, DocEventType.LocalChange); await eventCollectorD3.waitAndVerifyNthEvent(4, DocEventType.LocalChange); await eventCollectorD3.waitAndVerifyNthEvent(5, DocEventType.RemoteChange); assert.equal(d1.toSortedJSON(), '{"c1":1,"c2":0,"c3":0}', 'd1'); assert.equal(d2.toSortedJSON(), '{"c1":0,"c2":1,"c3":0}', 'd2'); assert.equal(d3.toSortedJSON(), '{"c1":1,"c2":0,"c3":1}', 'd3'); // 04. [Step3] c1 sync with sync-off mode, c2 sync with push-only mode. await c1.changeSyncMode(d1, SyncMode.RealtimeSyncOff); await c2.changeSyncMode(d2, SyncMode.RealtimePushOnly); d1.update((root) => { root.c1 = 2; }); d2.update((root) => { root.c2 = 2; }); d3.update((root) => { root.c3 = 2; }); await eventCollectorD1.waitAndVerifyNthEvent(5, DocEventType.LocalChange); await eventCollectorD2.waitAndVerifyNthEvent(5, DocEventType.LocalChange); await eventCollectorD3.waitAndVerifyNthEvent(6, DocEventType.LocalChange); await eventCollectorD3.waitAndVerifyNthEvent(7, DocEventType.RemoteChange); await eventCollectorD3.waitAndVerifyNthEvent(8, DocEventType.RemoteChange); assert.equal(d1.toSortedJSON(), '{"c1":2,"c2":0,"c3":0}', 'd1'); assert.equal(d2.toSortedJSON(), '{"c1":0,"c2":2,"c3":0}', 'd2'); assert.equal(d3.toSortedJSON(), '{"c1":1,"c2":2,"c3":2}', 'd3'); // 05. [Step4] c1 and c2 sync with push-pull mode. await c1.changeSyncMode(d1, SyncMode.Realtime); await c2.changeSyncMode(d2, SyncMode.Realtime); await eventCollectorD1.waitAndVerifyNthEvent(6, DocEventType.RemoteChange); await eventCollectorD1.waitAndVerifyNthEvent(7, DocEventType.RemoteChange); await eventCollectorD1.waitAndVerifyNthEvent(8, DocEventType.RemoteChange); await eventCollectorD1.waitAndVerifyNthEvent(9, DocEventType.RemoteChange); await eventCollectorD2.waitAndVerifyNthEvent(6, DocEventType.RemoteChange); await eventCollectorD2.waitAndVerifyNthEvent(7, DocEventType.RemoteChange); await eventCollectorD2.waitAndVerifyNthEvent(8, DocEventType.RemoteChange); await eventCollectorD2.waitAndVerifyNthEvent(9, DocEventType.RemoteChange); await eventCollectorD3.waitAndVerifyNthEvent(9, DocEventType.RemoteChange); assert.equal(d1.toSortedJSON(), '{"c1":2,"c2":2,"c3":2}', 'd1'); assert.equal(d2.toSortedJSON(), '{"c1":2,"c2":2,"c3":2}', 'd2'); assert.equal(d3.toSortedJSON(), '{"c1":2,"c2":2,"c3":2}', 'd3'); unsub1(); unsub2(); unsub3(); await c1.deactivate(); await c2.deactivate(); await c3.deactivate(); }); it('Should apply previous changes when switching to realtime sync', async function ({ task, }) { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const d1 = new yorkie.Document<{ version: string }>(docKey); const d2 = new yorkie.Document<{ version: string }>(docKey); const eventCollector = new EventCollector(); const unsub1 = d2.subscribe('sync', (event) => { eventCollector.add(event.value); }); // 01. c2 attach the doc with realtime sync mode at first. await c1.attach(d1, { syncMode: SyncMode.Manual }); await c2.attach(d2); d1.update((root) => { root.version = 'v1'; }); await c1.sync(); assert.equal(d1.toSortedJSON(), `{"version":"v1"}`, 'd1'); await eventCollector.waitFor(DocSyncStatus.Synced); assert.equal(d2.toSortedJSON(), `{"version":"v1"}`, 'd2'); // 02. c2 is changed to manual sync. So, c2 doesn't get the changes of c1. await c2.changeSyncMode(d2, SyncMode.Manual); d1.update((root) => { root.version = 'v2'; }); await c1.sync(); assert.equal(d1.toSortedJSON(), `{"version":"v2"}`, 'd1'); assert.equal(d2.toSortedJSON(), `{"version":"v1"}`, 'd2'); // 03. c2 is changed to realtime sync. // c2 should be able to apply changes made to the document while c2 is not in realtime sync. eventCollector.reset(); await c2.changeSyncMode(d2, SyncMode.Realtime); await eventCollector.waitFor(DocSyncStatus.Synced); assert.equal(d2.toSortedJSON(), `{"version":"v2"}`, 'd2'); // 04. c2 should automatically synchronize changes. eventCollector.reset(); d1.update((root) => { root.version = 'v3'; }); await c1.sync(); await eventCollector.waitFor(DocSyncStatus.Synced); assert.equal(d1.toSortedJSON(), `{"version":"v3"}`, 'd1'); assert.equal(d2.toSortedJSON(), `{"version":"v3"}`, 'd2'); unsub1(); await c1.deactivate(); await c2.deactivate(); }); it('Should not include changes applied in push-only mode when switching to realtime sync', async function ({ task, }) { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); // 01. cli attach to the document having counter. const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const d1 = new yorkie.Document<{ counter: Counter }>(docKey); await c1.attach(d1, { syncMode: SyncMode.Manual }); // 02. cli update the document with creating a counter // and sync with push-pull mode: CP(1, 1) -> CP(2, 2) d1.update((root) => { root.counter = new yorkie.Counter(0); }); let checkpoint = d1.getCheckpoint(); assert.equal(checkpoint.getClientSeq(), 1); assert.equal(checkpoint.getServerSeq(), 1n); await c1.sync(); checkpoint = d1.getCheckpoint(); assert.equal(checkpoint.getClientSeq(), 2); assert.equal(checkpoint.getServerSeq(), 2n); // 03. cli update the document with increasing the counter(0 -> 1) // and sync with push-only mode: CP(2, 2) -> CP(3, 2) const eventCollector = new EventCollector(); const unsub = d1.subscribe('sync', (event) => { eventCollector.add(event.value); }); d1.update((root) => { root.counter.increase(1); }); let changePack = d1.createChangePack(); assert.equal(changePack.getChangeSize(), 1); await c1.changeSyncMode(d1, SyncMode.RealtimePushOnly); await eventCollector.waitFor(DocSyncStatus.Synced); checkpoint = d1.getCheckpoint(); assert.equal(checkpoint.getClientSeq(), 3); assert.equal(checkpoint.getServerSeq(), 2n); await c1.changeSyncMode(d1, SyncMode.Manual); // 04. cli update the document with increasing the counter(1 -> 2) // and sync with push-pull mode. CP(3, 2) -> CP(4, 4) d1.update((root) => { root.counter.increase(1); }); // The previous increase(0 -> 1) is already pushed to the server, // so the ChangePack of the request only has the increase(1 -> 2). changePack = d1.createChangePack(); assert.equal(changePack.getChangeSize(), 1); await c1.sync(); checkpoint = d1.getCheckpoint(); assert.equal(checkpoint.getClientSeq(), 4); assert.equal(checkpoint.getServerSeq(), 4n); assert.equal(d1.getRoot().counter.getValue(), 2); unsub(); await c1.deactivate(); }); it('Should prevent remote changes in push-only mode', async function ({ task, }) { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const d1 = new yorkie.Document<{ tree: Tree }>(docKey); const d2 = new yorkie.Document<{ tree: Tree }>(docKey); await c1.attach(d1); await c2.attach(d2); const eventCollectorD1 = new EventCollector(); const eventCollectorD2 = new EventCollector(); const unsub1 = d1.subscribe((event) => { eventCollectorD1.add(event.type); }); const unsub2 = d2.subscribe((event) => { eventCollectorD2.add(event.type); }); d1.update((root) => { root.tree = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: '12' }], }, { type: 'p', children: [{ type: 'text', value: '34' }], }, ], }); }); await eventCollectorD2.waitAndVerifyNthEvent(1, DocEventType.RemoteChange); assert.equal(d1.getRoot().tree.toXML(), '

    12

    34

    '); assert.equal(d2.getRoot().tree.toXML(), '

    12

    34

    '); d1.update((root) => { root.tree.edit(2, 2, { type: 'text', value: 'a' }); }); await c1.sync(); // Simulate the situation in the runSyncLoop where a pushpull request has been sent // but a response has not yet been received. c2.sync(); // In push-only mode, remote-change events should not occur. await c2.changeSyncMode(d2, SyncMode.RealtimePushOnly); let remoteChangeOccured = false; const unsub3 = d2.subscribe((event) => { if (event.type === DocEventType.RemoteChange) { remoteChangeOccured = true; } }); await new Promise((res) => { // TODO(chacha912): We need to clean up this later because it is non-deterministic. setTimeout(res, 100); // Keep the push-only state. }); unsub3(); assert.isFalse(remoteChangeOccured); await c2.changeSyncMode(d2, SyncMode.Realtime); d2.update((root) => { root.tree.edit(2, 2, { type: 'text', value: 'b' }); }); await eventCollectorD1.waitAndVerifyNthEvent(3, DocEventType.RemoteChange); assert.equal(d1.getRoot().tree.toXML(), '

    1ba2

    34

    '); assert.equal(d2.getRoot().tree.toXML(), '

    1ba2

    34

    '); unsub1(); unsub2(); await c1.deactivate(); await c2.deactivate(); }); it('Should prevent remote changes in sync-off mode', async function ({ task, }) { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const d1 = new yorkie.Document<{ tree: Tree }>(docKey); const d2 = new yorkie.Document<{ tree: Tree }>(docKey); await c1.attach(d1); await c2.attach(d2); const eventCollectorD1 = new EventCollector(); const eventCollectorD2 = new EventCollector(); const unsub1 = d1.subscribe((event) => { eventCollectorD1.add(event.type); }); const unsub2 = d2.subscribe((event) => { eventCollectorD2.add(event.type); }); d1.update((root) => { root.tree = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: '12' }] }, { type: 'p', children: [{ type: 'text', value: '34' }] }, ], }); }); await eventCollectorD2.waitAndVerifyNthEvent(1, DocEventType.RemoteChange); assert.equal(d1.getRoot().tree.toXML(), '

    12

    34

    '); assert.equal(d2.getRoot().tree.toXML(), '

    12

    34

    '); d1.update((root) => { root.tree.edit(2, 2, { type: 'text', value: 'a' }); }); await c1.sync(); // Simulate the situation in the runSyncLoop where a pushpull request has been sent // but a response has not yet been received. c2.sync(); // In sync-off mode, remote-change events should not occur. await c2.changeSyncMode(d2, SyncMode.RealtimeSyncOff); let remoteChangeOccured = false; const unsub3 = d2.subscribe((event) => { if (event.type === DocEventType.RemoteChange) { remoteChangeOccured = true; } }); await new Promise((res) => { // TODO(chacha912): We need to clean up this later because it is non-deterministic. setTimeout(res, 0); // Keep the sync-off state. }); unsub3(); assert.isFalse(remoteChangeOccured); await c2.changeSyncMode(d2, SyncMode.Realtime); d2.update((root) => { root.tree.edit(2, 2, { type: 'text', value: 'b' }); }); await eventCollectorD1.waitAndVerifyNthEvent(3, DocEventType.RemoteChange); assert.equal(d1.getRoot().tree.toXML(), '

    1ba2

    34

    '); assert.equal(d2.getRoot().tree.toXML(), '

    1ba2

    34

    '); unsub1(); unsub2(); await c1.deactivate(); await c2.deactivate(); }); it('Should avoid unnecessary syncs in push-only mode', async function ({ task, }) { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const d1 = new yorkie.Document<{ t: Text }>(docKey); const d2 = new yorkie.Document<{ t: Text }>(docKey); const eventCollectorD1 = new EventCollector(); const eventCollectorD2 = new EventCollector(); const unsub1 = d1.subscribe('sync', (event) => { eventCollectorD1.add(event.value); }); const unsub2 = d2.subscribe('sync', (event) => { eventCollectorD2.add(event.value); }); await c1.attach(d1); await c2.attach(d2); await eventCollectorD1.waitAndVerifyNthEvent(1, DocSyncStatus.Synced); d1.update((root) => { root.t = new Text(); root.t.edit(0, 0, 'a'); }); await eventCollectorD2.waitAndVerifyNthEvent(2, DocSyncStatus.Synced); assert.equal(d1.getRoot().t.toString(), 'a'); assert.equal(d2.getRoot().t.toString(), 'a'); eventCollectorD1.reset(); await c1.changeSyncMode(d1, SyncMode.RealtimePushOnly); d2.update((root) => root.t.edit(1, 1, 'b')); await eventCollectorD2.waitAndVerifyNthEvent(2, DocSyncStatus.Synced); d2.update((root) => root.t.edit(2, 2, 'c')); await eventCollectorD2.waitAndVerifyNthEvent(3, DocSyncStatus.Synced); assert.equal(eventCollectorD1.getLength(), 0); await c1.changeSyncMode(d1, SyncMode.Realtime); await eventCollectorD1.waitAndVerifyNthEvent(1, DocSyncStatus.Synced); assert.equal(d1.getRoot().t.toString(), 'abc'); assert.equal(d2.getRoot().t.toString(), 'abc'); unsub1(); unsub2(); await c1.deactivate(); await c2.deactivate(); }); it('Should handle each request one by one', async function ({ task }) { for (let i = 0; i < 10; i++) { const cli = new yorkie.Client({ rpcAddr: testRPCAddr }); await cli.activate(); const doc = new yorkie.Document<{ t: Text }>( toDocKey(`${task.name}-${new Date().getTime()}-${i}`), ); await cli.attach(doc); expect(cli.detach(doc)).resolves.toBeDefined(); await cli.deactivate(); } }); it('Should retry on network failure and eventually succeed', async ({ task, }) => { const cli = new yorkie.Client({ rpcAddr: testRPCAddr, retrySyncLoopDelay: 10, }); await cli.activate(); const doc = new yorkie.Document<{ t: Text }>(toDocKey(`${task.name}`)); await cli.attach(doc); // 01. Simulate Unknown error. vi.stubGlobal('fetch', async () => { throw new ConnectError('Failed to fetch', ConnectCode.Unknown); }); doc.update((root) => { root.t = new Text(); root.t.edit(0, 0, 'a'); }); await new Promise((res) => setTimeout(res, 30)); assert.isTrue(cli.getCondition(ClientCondition.SyncLoop)); // 02. Simulate FailedPrecondition error. vi.stubGlobal('fetch', async () => { throw new ConnectError('Failed to fetch', ConnectCode.FailedPrecondition); }); await new Promise((res) => setTimeout(res, 30)); assert.isFalse(cli.getCondition(ClientCondition.SyncLoop)); vi.unstubAllGlobals(); }); it('Should handle local changes correctly when receiving snapshot', async ({ task, }) => { type TestDoc = { counter: Counter }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((r) => (r.counter = new Counter(0))); await c1.sync(); await c2.sync(); // 01. c1 increases the counter for creating snapshot. for (let i = 0; i < DefaultSnapshotThreshold; i++) { d1.update((r) => r.counter.increase(1)); } await c1.sync(); // 02. c2 receives the snapshot and increases the counter simultaneously. c2.sync(); d2.update((r) => r.counter.increase(1)); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('Should cancel watch stream when changing to manual sync mode', async function ({ task, }) { // Test setup with two clients const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); // Create and attach documents const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const d1 = new yorkie.Document<{ version: string }>(docKey); const d2 = new yorkie.Document<{ version: string }>(docKey); await c1.attach(d1); await c2.attach(d2); // Set up event collectors const events = new EventCollector(); const presenceEvents = new EventCollector(); const unsub1 = d1.subscribe((e) => events.add(e.type)); const unsub2 = d2.subscribe('presence', (e) => presenceEvents.add(e.type)); // Verify initial sync works d2.update((root) => (root.version = 'v1')); await events.waitFor(DocEventType.RemoteChange); assert.equal(d1.toSortedJSON(), `{"version":"v1"}`); // Switch to manual mode and verify stream closes await c1.changeSyncMode(d1, SyncMode.Manual); await presenceEvents.waitFor(DocEventType.Unwatched); // Verify stream stays closed d2.update((root) => (root.version = 'v2')); await new Promise((resolve) => setTimeout(resolve, 1000)); assert.equal(d1.toSortedJSON(), `{"version":"v1"}`, 'keeps old value'); // Verify manual sync still works await c1.sync(); assert.equal(d1.toSortedJSON(), `{"version":"v2"}`, 'manual sync'); unsub1(); unsub2(); await c1.deactivate(); await c2.deactivate(); }); it('Should not produce document not attached error on detach during sync', async function ({ task, }) { // Use a short sync loop to increase the chance of overlap. const c1 = new yorkie.Client({ rpcAddr: testRPCAddr, syncLoopDuration: 50, reconnectStreamDelay: 1000, }); await c1.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ key: string }>(docKey); await c1.attach(doc, { syncMode: SyncMode.Realtime }); // Make a local change so the sync loop has something to push. doc.update((root) => { root.key = 'value'; }); // Detach immediately — the sync loop may be trying to sync concurrently. // Before the fix, this could cause "document not attached" from the server // if the sync RPC arrives after the detach RPC is processed. await c1.detach(doc); // Verify the document is properly detached without errors. assert.equal(doc.getStatus(), 'detached'); await c1.deactivate(); }); }); ================================================ FILE: packages/sdk/test/integration/counter_test.ts ================================================ import { describe, it, assert } from 'vitest'; import { Document } from '@yorkie-js/sdk/src/document/document'; import { toStringHistoryOp } from '@yorkie-js/sdk/test/helper/helper'; import { withTwoClientsAndDocuments, assertUndoRedo, toDocKey, testRPCAddr, } from '@yorkie-js/sdk/test/integration/integration_helper'; import yorkie, { Counter, SyncMode } from '@yorkie-js/sdk/src/yorkie'; describe('Counter', function () { it('can be increased by Counter type', function ({ task }) { const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new Document<{ k1: { age?: Counter; length?: Counter }; }>(docKey); const states: Array = []; doc.update((root) => { root.k1 = {}; root.k1.age = new Counter(1); root.k1.length = new Counter(10.5); root.k1.age.increase(5); root.k1.length.increase(3.5); }); assert.equal(`{"k1":{"age":6,"length":13}}`, doc.toSortedJSON()); states.push(doc.toSortedJSON()); assert.equal(6, doc.getRoot().k1.age?.getValue()); assert.equal(13, doc.getRoot().k1.length?.getValue()); doc.update((root) => { root.k1.age?.increase(1.5).increase(1); root.k1.length?.increase(3.5).increase(1); }); assert.equal(`{"k1":{"age":8,"length":17}}`, doc.toSortedJSON()); states.push(doc.toSortedJSON()); assert.equal(8, doc.getRoot().k1.age?.getValue()); assert.equal(17, doc.getRoot().k1.length?.getValue()); // error test assert.Throw(() => { doc.update((root) => { root.k1.age?.increase(true as any); }); }, 'Unsupported type of value: boolean'); assert.equal(`{"k1":{"age":8,"length":17}}`, doc.toSortedJSON()); assert.equal(8, doc.getRoot().k1.age?.getValue()); assert.equal(17, doc.getRoot().k1.length?.getValue()); assertUndoRedo(doc, states); }); it('Can handle increase operation', async function ({ task }) { type TestDoc = { age: Counter; length: Counter }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.age = new Counter(0); }); d1.update((root) => { root.age.increase(1).increase(2); root.length = new Counter(10); }); await c1.sync(); await c2.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('Can handle concurrent increase operation', async function ({ task }) { await withTwoClientsAndDocuments<{ age: Counter; width: Counter; height: Counter; }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.age = new Counter(0); root.width = new Counter(0); root.height = new Counter(0); }); await c1.sync(); await c2.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.update((root) => { root.age.increase(1).increase(2); root.width.increase(10); }); d2.update((root) => { root.age.increase(3.14).increase(2); root.width = new Counter(2.5); }); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('can handle overflow', function ({ task }) { const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new Document<{ age: Counter }>(docKey); doc.update((root) => { root.age = new Counter(2147483647); root.age.increase(1); }); assert.equal(`{"age":-2147483648}`, doc.toSortedJSON()); doc.update((root) => { root.age = new Counter(2147483648); }); assert.equal(`{"age":-2147483648}`, doc.toSortedJSON()); doc.update((root) => { root.age = new Counter(9223372036854775807n); root.age.increase(1); }); assert.equal(`{"age":-9223372036854775808}`, doc.toSortedJSON()); doc.update((root) => { root.age = new Counter(9223372036854775808n); }); assert.equal(`{"age":-9223372036854775808}`, doc.toSortedJSON()); }); it('can get proper reverse operations', function ({ task }) { const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new Document<{ cnt: Counter; longCnt: Counter }>(docKey); doc.update((root) => { root.cnt = new Counter(0); root.longCnt = new Counter(0n); }); assert.equal(doc.toSortedJSON(), `{"cnt":0,"longCnt":0}`); doc.update((root) => { root.cnt.increase(1.5); root.longCnt.increase(9223372036854775807n); // 2^63-1 }); assert.equal(doc.toSortedJSON(), `{"cnt":1,"longCnt":9223372036854775807}`); assert.deepEqual(doc.getUndoStackForTest().at(-1)?.map(toStringHistoryOp), [ '1:00:2.INCREASE.-9223372036854775807', '1:00:1.INCREASE.-1.5', ]); doc.history.undo(); assert.equal(doc.toSortedJSON(), `{"cnt":0,"longCnt":0}`); assert.deepEqual(doc.getRedoStackForTest().at(-1)?.map(toStringHistoryOp), [ '1:00:1.INCREASE.1.5', '1:00:2.INCREASE.9223372036854775807', ]); }); it('Can undo/redo for increase operation', async function ({ task }) { type TestDoc = { counter: Counter }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new Document(docKey); doc.update((root) => { root.counter = new Counter(100); }, 'init counter'); assert.equal(doc.toSortedJSON(), '{"counter":100}'); doc.update((root) => { root.counter.increase(1); }, 'increase 1'); assert.equal(doc.toSortedJSON(), '{"counter":101}'); doc.history.undo(); assert.equal(doc.toSortedJSON(), '{"counter":100}'); doc.history.redo(); assert.equal(doc.toSortedJSON(), '{"counter":101}'); doc.history.undo(); assert.equal(doc.toSortedJSON(), '{"counter":100}'); }); it('should handle undo/redo for long type and overflow', function ({ task }) { const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new Document<{ cnt: Counter; longCnt: Counter }>(docKey); const states: Array = []; doc.update((root) => { root.cnt = new Counter(0); root.longCnt = new Counter(0n); }); assert.equal(doc.toSortedJSON(), `{"cnt":0,"longCnt":0}`); states.push(doc.toSortedJSON()); doc.update((root) => { root.cnt.increase(2147483647); // 2^31-1 root.longCnt.increase(9223372036854775807n); // 2^63-1 }); assert.equal( doc.toSortedJSON(), `{"cnt":2147483647,"longCnt":9223372036854775807}`, ); states.push(doc.toSortedJSON()); doc.update((root) => { root.cnt.increase(1); // overflow root.longCnt.increase(1n); // overflow }); assert.equal( doc.toSortedJSON(), `{"cnt":-2147483648,"longCnt":-9223372036854775808}`, ); states.push(doc.toSortedJSON()); assertUndoRedo(doc, states); }); it('Can undo/redo for concurrent users', async function ({ task }) { type TestDoc = { counter: Counter }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc1 = new yorkie.Document(docKey); const doc2 = new yorkie.Document(docKey); const client1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const client2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await client1.activate(); await client2.activate(); await client1.attach(doc1, { syncMode: SyncMode.Manual }); doc1.update((root) => { root.counter = new Counter(100); }, 'init counter'); await client1.sync(); assert.equal(doc1.toSortedJSON(), '{"counter":100}'); await client2.attach(doc2, { syncMode: SyncMode.Manual }); assert.equal(doc2.toSortedJSON(), '{"counter":100}'); // client1 increases 1 and client2 increases 2 doc1.update((root) => { root.counter.increase(1); }, 'increase 1'); doc2.update((root) => { root.counter.increase(2); }, 'increase 2'); await client1.sync(); await client2.sync(); await client1.sync(); assert.equal(doc1.toSortedJSON(), '{"counter":103}'); assert.equal(doc2.toSortedJSON(), '{"counter":103}'); // client1 undoes one's latest increase operation doc1.history.undo(); await client1.sync(); await client2.sync(); assert.equal(doc1.toSortedJSON(), '{"counter":102}'); assert.equal(doc2.toSortedJSON(), '{"counter":102}'); // only client1 can redo undone operation assert.equal(doc1.history.canRedo(), true); assert.equal(doc2.history.canRedo(), false); // client1 redoes one's latest undone operation doc1.history.redo(); await client1.sync(); await client2.sync(); assert.equal(doc1.toSortedJSON(), '{"counter":103}'); assert.equal(doc2.toSortedJSON(), '{"counter":103}'); await client1.deactivate(); await client2.deactivate(); }); }); ================================================ FILE: packages/sdk/test/integration/doc_presence_test.ts ================================================ import { describe, it, assert, vi, afterEach } from 'vitest'; import yorkie, { DocEvent, DocEventType, Counter, OpSource, SyncMode, StreamConnectionStatus, } from '@yorkie-js/sdk/src/yorkie'; import { InitialActorID } from '@yorkie-js/sdk/src/document/time/actor_id'; import { testRPCAddr, toDocKey, } from '@yorkie-js/sdk/test/integration/integration_helper'; import { EventCollector, deepSort, DefaultSnapshotThreshold, } from '@yorkie-js/sdk/test/helper/helper'; describe('DocPresence', function () { afterEach(() => { vi.restoreAllMocks(); }); it('Can be built from a snapshot', async function ({ task }) { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); type PresenceType = { key: string }; const doc1 = new yorkie.Document(docKey); await c1.attach(doc1, { syncMode: SyncMode.Manual }); const doc2 = new yorkie.Document(docKey); await c2.attach(doc2, { syncMode: SyncMode.Manual }); for (let i = 0; i < DefaultSnapshotThreshold; i++) { doc1.update((root, p) => p.set({ key: `${i}` })); } assert.deepEqual(doc1.getPresenceForTest(c1.getID()!), { key: `${DefaultSnapshotThreshold - 1}`, }); await c1.sync(); await c2.sync(); assert.deepEqual(doc2.getPresenceForTest(c1.getID()!), { key: `${DefaultSnapshotThreshold - 1}`, }); }); it('Can be set initial value in attach and be removed in detach', async function ({ task, }) { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); type PresenceType = { key: string }; const doc1 = new yorkie.Document(docKey); await c1.attach(doc1, { initialPresence: { key: 'key1' }, syncMode: SyncMode.Manual, }); const doc2 = new yorkie.Document(docKey); await c2.attach(doc2, { initialPresence: { key: 'key2' }, syncMode: SyncMode.Manual, }); assert.deepEqual(doc1.getPresenceForTest(c1.getID()!), { key: 'key1' }); assert.deepEqual(doc1.getPresenceForTest(c2.getID()!), undefined); assert.deepEqual(doc2.getPresenceForTest(c2.getID()!), { key: 'key2' }); assert.deepEqual(doc2.getPresenceForTest(c1.getID()!), { key: 'key1' }); await c1.sync(); assert.deepEqual(doc1.getPresenceForTest(c2.getID()!), { key: 'key2' }); await c2.detach(doc2); await c1.sync(); assert.isFalse(doc1.hasPresence(c2.getID()!)); }); it('Should be initialized as an empty object if no initial value is set during attach', async function ({ task, }) { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); type PresenceType = { key: string }; const doc1 = new yorkie.Document(docKey); await c1.attach(doc1, { syncMode: SyncMode.Manual }); const doc2 = new yorkie.Document(docKey); await c2.attach(doc2, { syncMode: SyncMode.Manual }); const emptyObject = {} as PresenceType; assert.deepEqual(doc1.getPresenceForTest(c1.getID()!), emptyObject); assert.deepEqual(doc1.getPresenceForTest(c2.getID()!), undefined); assert.deepEqual(doc2.getPresenceForTest(c2.getID()!), emptyObject); assert.deepEqual(doc2.getPresenceForTest(c1.getID()!), emptyObject); await c1.sync(); assert.deepEqual(doc1.getPresenceForTest(c2.getID()!), emptyObject); }); it('Should be synced eventually', async function ({ task }) { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const c1ID = c1.getID()!; const c2ID = c2.getID()!; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); type EventForTest = Pick; const events1 = new EventCollector(); const events2 = new EventCollector(); const doc1 = new yorkie.Document(docKey); await c1.attach(doc1, { initialPresence: { name: 'a' } }); const unsub1 = doc1.subscribe('presence', ({ type, value }) => events1.add({ type, value }), ); assert.deepEqual( deepSort(doc1.getPresences()), deepSort([{ clientID: c1ID, presence: { name: 'a' } }]), ); const doc2 = new yorkie.Document(docKey); await c2.attach(doc2, { initialPresence: { name: 'b' } }); const unsub2 = doc2.subscribe('presence', ({ type, value }) => events2.add({ type, value }), ); assert.deepEqual( deepSort(doc2.getPresences()), deepSort([ { clientID: c2ID, presence: { name: 'b' } }, { clientID: c1ID, presence: { name: 'a' } }, ]), ); await events1.waitAndVerifyNthEvent(1, { type: DocEventType.Watched, value: { clientID: c2ID, presence: { name: 'b' } }, }); doc1.update((r, p) => p.set({ name: 'A' })); doc2.update((r, p) => p.set({ name: 'B' })); await events1.waitAndVerifyNthEvent(2, { type: DocEventType.PresenceChanged, value: { clientID: c1ID, presence: { name: 'A' } }, }); await events1.waitAndVerifyNthEvent(3, { type: DocEventType.PresenceChanged, value: { clientID: c2ID, presence: { name: 'B' } }, }); await events2.waitAndVerifyNthEvent(1, { type: DocEventType.PresenceChanged, value: { clientID: c2ID, presence: { name: 'B' } }, }); await events2.waitAndVerifyNthEvent(2, { type: DocEventType.PresenceChanged, value: { clientID: c1ID, presence: { name: 'A' } }, }); assert.deepEqual( deepSort(doc2.getPresences()), deepSort([ { clientID: c2ID, presence: { name: 'B' } }, { clientID: c1ID, presence: { name: 'A' } }, ]), ); assert.deepEqual( deepSort(doc1.getPresences()), deepSort([ { clientID: c2ID, presence: { name: 'B' } }, { clientID: c1ID, presence: { name: 'A' } }, ]), ); await c1.deactivate(); await c2.deactivate(); unsub1(); unsub2(); }); it('Can be updated partially by doc.update function', async function ({ task, }) { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); type PresenceType = { key: string; cursor: { x: number; y: number } }; const doc1 = new yorkie.Document(docKey); await c1.attach(doc1, { initialPresence: { key: 'key1', cursor: { x: 0, y: 0 } }, syncMode: SyncMode.Manual, }); const doc2 = new yorkie.Document(docKey); await c2.attach(doc2, { initialPresence: { key: 'key2', cursor: { x: 0, y: 0 } }, syncMode: SyncMode.Manual, }); doc1.update((root, p) => p.set({ cursor: { x: 1, y: 1 } })); assert.deepEqual(doc1.getPresenceForTest(c1.getID()!), { key: 'key1', cursor: { x: 1, y: 1 }, }); await c1.sync(); await c2.sync(); assert.deepEqual(doc2.getPresenceForTest(c1.getID()!), { key: 'key1', cursor: { x: 1, y: 1 }, }); }); it(`Should return only online clients`, async function ({ task }) { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c3 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); await c3.activate(); const c1ID = c1.getID()!; const c2ID = c2.getID()!; const c3ID = c3.getID()!; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); type PresenceType = { name: string; cursor: { x: number; y: number } }; const doc1 = new yorkie.Document(docKey); await c1.attach(doc1, { initialPresence: { name: 'a1', cursor: { x: 0, y: 0 } }, }); type EventForTest = Pick; const eventCollector = new EventCollector(); const unsub = doc1.subscribe('presence', ({ type, value }) => eventCollector.add({ type, value }), ); // 01. c2 attaches doc in realtime sync, and c3 attached doc in manual sync. const doc2 = new yorkie.Document(docKey); await c2.attach(doc2, { initialPresence: { name: 'b1', cursor: { x: 0, y: 0 } }, }); const doc3 = new yorkie.Document(docKey); await c3.attach(doc3, { initialPresence: { name: 'c1', cursor: { x: 0, y: 0 } }, syncMode: SyncMode.Manual, }); await eventCollector.waitAndVerifyNthEvent(1, { type: DocEventType.Watched, value: { clientID: c2ID, presence: doc2.getMyPresence() }, }); assert.deepEqual(doc1.getPresences(), [ { clientID: c1ID, presence: doc1.getMyPresence() }, { clientID: c2ID, presence: doc2.getMyPresence() }, ]); assert.deepEqual(doc1.getPresence(c3ID), undefined); // 02. c2 is changed to manual sync, while c3 is changed to realtime sync. await c2.changeSyncMode(doc2, SyncMode.Manual); await eventCollector.waitAndVerifyNthEvent(2, { type: DocEventType.Unwatched, value: { clientID: c2ID, presence: doc2.getMyPresence() }, }); await c3.changeSyncMode(doc3, SyncMode.Realtime); await eventCollector.waitAndVerifyNthEvent(3, { type: DocEventType.Watched, value: { clientID: c3ID, presence: doc3.getMyPresence() }, }); assert.deepEqual(doc1.getPresences(), [ { clientID: c1ID, presence: doc1.getMyPresence() }, { clientID: c3ID, presence: doc3.getMyPresence() }, ]); assert.deepEqual(doc1.getPresence(c2ID), undefined); unsub(); await c1.deactivate(); await c2.deactivate(); await c3.deactivate(); }); it('Can get presence value using p.get() within doc.update function', async function ({ task, }) { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); type PresenceType = { counter: number }; const doc1 = new yorkie.Document(docKey); await c1.attach(doc1, { initialPresence: { counter: 0 }, syncMode: SyncMode.Manual, }); const doc2 = new yorkie.Document(docKey); await c2.attach(doc2, { initialPresence: { counter: 0 }, syncMode: SyncMode.Manual, }); doc1.update((root, p) => { const counter = p.get('counter'); p.set({ counter: counter + 1 }); }); assert.deepEqual(doc1.getPresenceForTest(c1.getID()!), { counter: 1 }); await c1.sync(); await c2.sync(); assert.deepEqual(doc2.getPresenceForTest(c1.getID()!), { counter: 1 }); }); it(`Should not be accessible to other clients' presence when the stream is disconnected`, async function ({ task, }) { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const c2ID = c2.getID()!; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); type EventForTest = Pick; const eventCollector = new EventCollector(); const eventCollector2 = new EventCollector(); type PresenceType = { name: string }; const doc1 = new yorkie.Document(docKey); await c1.attach(doc1, { initialPresence: { name: 'a' } }); const unsub = doc1.subscribe('presence', ({ type, value }) => { eventCollector.add({ type, value }); }); const unsub2 = doc1.subscribe('connection', ({ type, value }) => { eventCollector2.add({ type, value }); }); const doc2 = new yorkie.Document(docKey); await c2.attach(doc2, { initialPresence: { name: 'b' } }); await eventCollector.waitAndVerifyNthEvent(1, { type: DocEventType.Watched, value: { clientID: c2ID, presence: doc2.getMyPresence() }, }); assert.deepEqual(doc1.getPresence(c2ID), { name: 'b' }); await c1.changeSyncMode(doc1, SyncMode.Manual); await eventCollector2.waitAndVerifyNthEvent(1, { type: DocEventType.ConnectionChanged, value: StreamConnectionStatus.Disconnected, }); assert.equal(doc1.getPresence(c2ID), undefined); await c1.deactivate(); await c2.deactivate(); unsub(); unsub2(); }); }); describe(`Document.Subscribe('presence')`, function () { it(`Should receive presence-changed event for final presence if there are multiple presence changes within doc.update`, async function ({ task, }) { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const c1ID = c1.getID()!; const c2ID = c2.getID()!; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); type EventForTest = Pick; const eventCollectorP1 = new EventCollector(); const eventCollectorP2 = new EventCollector(); type PresenceType = { name: string; cursor: { x: number; y: number } }; const doc1 = new yorkie.Document(docKey); await c1.attach(doc1, { initialPresence: { name: 'a', cursor: { x: 0, y: 0 } }, }); const unsub1 = doc1.subscribe('presence', ({ type, value }) => eventCollectorP1.add({ type, value }), ); const doc2 = new yorkie.Document(docKey); await c2.attach(doc2, { initialPresence: { name: 'b', cursor: { x: 0, y: 0 } }, }); const unsub2 = doc2.subscribe('presence', ({ type, value }) => eventCollectorP2.add({ type, value }), ); await eventCollectorP1.waitAndVerifyNthEvent(1, { type: DocEventType.Watched, value: { clientID: c2ID, presence: doc2.getMyPresence() }, }); doc1.update((root, p) => { p.set({ name: 'A' }); p.set({ cursor: { x: 1, y: 1 } }); p.set({ name: 'X' }); }); await eventCollectorP1.waitAndVerifyNthEvent(2, { type: DocEventType.PresenceChanged, value: { clientID: c1ID, presence: doc1.getMyPresence() }, }); await eventCollectorP2.waitAndVerifyNthEvent(1, { type: DocEventType.PresenceChanged, value: { clientID: c1ID, presence: doc1.getMyPresence() }, }); await c1.deactivate(); await c2.deactivate(); unsub1(); unsub2(); }); it(`Can receive 'unwatched' event when a client detaches`, async function ({ task, }) { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const c1ID = c1.getID()!; const c2ID = c2.getID()!; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); type PresenceType = { name: string }; type EventForTest = Pick; const eventCollector = new EventCollector(); const doc1 = new yorkie.Document(docKey); await c1.attach(doc1, { initialPresence: { name: 'a' } }); const unsub1 = doc1.subscribe('presence', ({ type, value }) => eventCollector.add({ type, value }), ); const doc2 = new yorkie.Document(docKey); await c2.attach(doc2, { initialPresence: { name: 'b' } }); await eventCollector.waitAndVerifyNthEvent(1, { type: DocEventType.Watched, value: { clientID: c2ID, presence: { name: 'b' } }, }); await c2.detach(doc2); await eventCollector.waitAndVerifyNthEvent(2, { type: DocEventType.Unwatched, value: { clientID: c2ID, presence: { name: 'b' } }, }); assert.deepEqual( deepSort(doc1.getPresences()), deepSort([{ clientID: c1ID, presence: { name: 'a' } }]), ); assert.deepEqual( deepSort(doc2.getPresences()), deepSort([{ clientID: InitialActorID, presence: {} }]), ); await c1.deactivate(); await c2.deactivate(); unsub1(); }); it(`Can receive presence-related event only when using realtime sync`, async function ({ task, }) { type PresenceType = { name: string; cursor: { x: number; y: number } }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c3 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); await c3.activate(); const c2ID = c2.getID()!; const c3ID = c3.getID()!; const doc1 = new yorkie.Document(docKey); await c1.attach(doc1, { initialPresence: { name: 'a1', cursor: { x: 0, y: 0 } }, }); type EventForTest = Pick; const events = new EventCollector(); const unsub = doc1.subscribe('presence', ({ type, value }) => events.add({ type, value }), ); // 01. c2 attaches doc in realtime sync, and c3 attached doc in manual sync. // c1 receives the watched event from c2. const doc2 = new yorkie.Document(docKey); await c2.attach(doc2, { initialPresence: { name: 'b1', cursor: { x: 0, y: 0 } }, }); const doc3 = new yorkie.Document(docKey); await c3.attach(doc3, { initialPresence: { name: 'c1', cursor: { x: 0, y: 0 } }, syncMode: SyncMode.Manual, }); await events.waitAndVerifyNthEvent(1, { type: DocEventType.Watched, value: { clientID: c2ID, presence: { cursor: { x: 0, y: 0 }, name: 'b1' }, }, }); // 02. c2 and c3 update the presence. // c1 receives the presence-changed event from c2. doc2.update((_, p) => p.set({ name: 'b2' })); doc3.update((_, p) => p.set({ name: 'c2' })); await events.waitAndVerifyNthEvent(2, { type: DocEventType.PresenceChanged, value: { clientID: c2ID, presence: { cursor: { x: 0, y: 0 }, name: 'b2' }, }, }); // 03-1. c2 is changed to manual sync, c1 receives an unwatched event from c2. await c2.changeSyncMode(doc2, SyncMode.Manual); await events.waitAndVerifyNthEvent(3, { type: DocEventType.Unwatched, value: { clientID: c2ID, presence: { cursor: { x: 0, y: 0 }, name: 'b2' }, }, }); // 03-2. c3 is changed to realtime sync, c1 receives a watched event from c3. // NOTE(chacha912): The events are influenced by the timing of realtime sync // and watch stream resolution. For deterministic testing, changeSyncMode is performed // after the sync. Since the sync updates c1 with all previous presence changes // from c3, only the watched event is triggered. await c3.sync(); await c1.sync(); await c3.changeSyncMode(doc3, SyncMode.Realtime); await events.waitAndVerifyNthEvent(4, { type: DocEventType.Watched, value: { clientID: c3ID, presence: { cursor: { x: 0, y: 0 }, name: 'c2' }, }, }); // 04. c2 and c3 update the presence. // c1 receives the presence-changed event from c3. doc2.update((_, p) => p.set({ name: 'b3' })); doc3.update((_, p) => p.set({ name: 'c3' })); await events.waitAndVerifyNthEvent(5, { type: DocEventType.PresenceChanged, value: { clientID: c3ID, presence: { cursor: { x: 0, y: 0 }, name: 'c3' }, }, }); // 05-1. c3 is changed to manual sync, c1 receives an unwatched event from c3. await c3.changeSyncMode(doc3, SyncMode.Manual); await events.waitAndVerifyNthEvent(6, { type: DocEventType.Unwatched, value: { clientID: c3ID, presence: { cursor: { x: 0, y: 0 }, name: 'c3' }, }, }); // 05-2. c2 is changed to realtime sync, c1 receives a watched event from c2. await c2.sync(); await c1.sync(); await c2.changeSyncMode(doc2, SyncMode.Realtime); await events.waitAndVerifyNthEvent(7, { type: DocEventType.Watched, value: { clientID: c2ID, presence: { cursor: { x: 0, y: 0 }, name: 'b3' }, }, }); unsub(); await c1.deactivate(); await c2.deactivate(); await c3.deactivate(); }); }); describe('Undo/Redo', function () { it('Can undo/redo with presence', async function ({ task }) { type TestDoc = { counter: Counter }; type Presence = { color: string }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document(docKey); doc.update((root) => { root.counter = new Counter(100); }, 'init counter'); const client = new yorkie.Client({ rpcAddr: testRPCAddr }); await client.activate(); await client.attach(doc, { initialPresence: { color: 'red' } }); // 1. Presence update only doc.update((root, presence) => { presence.set({ color: 'blue' }, { addToHistory: true }); }); assert.deepEqual(doc.getMyPresence(), { color: 'blue', }); doc.history.undo(); assert.deepEqual(doc.getMyPresence(), { color: 'red', }); doc.history.redo(); assert.deepEqual(doc.getMyPresence(), { color: 'blue', }); // 2. Presence update with root update doc.update((root, presence) => { root.counter.increase(1); presence.set({ color: 'green' }, { addToHistory: true }); }, 'increase 1'); assert.equal(doc.toSortedJSON(), '{"counter":101}'); assert.deepEqual(doc.getMyPresence(), { color: 'green', }); doc.history.undo(); assert.equal(doc.toSortedJSON(), '{"counter":100}'); assert.deepEqual(doc.getMyPresence(), { color: 'blue', }); doc.history.redo(); assert.equal(doc.toSortedJSON(), '{"counter":101}'); assert.deepEqual(doc.getMyPresence(), { color: 'green', }); await client.deactivate(); }); it('Should not impact undo if presence is not added to history', async function ({ task, }) { type Presence = { color: string; cursor: { x: number; y: number } }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document(docKey); const client = new yorkie.Client({ rpcAddr: testRPCAddr }); await client.activate(); await client.attach(doc, { initialPresence: { color: 'red', cursor: { x: 0, y: 0 } }, }); // 1. Setting addToHistory for both color and cursor doc.update((root, presence) => { presence.set( { color: 'blue', cursor: { x: 1, y: 1 } }, { addToHistory: true }, ); }); assert.deepEqual(doc.getMyPresence(), { color: 'blue', cursor: { x: 1, y: 1 }, }); assert.deepEqual(doc.getUndoStackForTest(), [ [ { type: 'presence', value: { color: 'red', cursor: { x: 0, y: 0 } }, }, ], ]); doc.history.undo(); assert.deepEqual(doc.getMyPresence(), { color: 'red', cursor: { x: 0, y: 0 }, }); doc.history.redo(); assert.deepEqual(doc.getMyPresence(), { color: 'blue', cursor: { x: 1, y: 1 }, }); // 2. Setting addToHistory only for the cursor doc.update((root, presence) => { presence.set({ color: 'green' }); presence.set({ cursor: { x: 2, y: 2 } }, { addToHistory: true }); }); assert.deepEqual(doc.getMyPresence(), { color: 'green', cursor: { x: 2, y: 2 }, }); assert.deepEqual(doc.getUndoStackForTest(), [ [ { type: 'presence', value: { color: 'red', cursor: { x: 0, y: 0 } }, }, ], [ { type: 'presence', value: { cursor: { x: 1, y: 1 } }, }, ], ]); doc.history.undo(); assert.deepEqual(doc.getMyPresence(), { color: 'green', cursor: { x: 1, y: 1 }, }); doc.history.redo(); assert.deepEqual(doc.getMyPresence(), { color: 'green', cursor: { x: 2, y: 2 }, }); // 3. Not setting addToHistory doc.update((root, presence) => { presence.set({ color: 'black' }); presence.set({ cursor: { x: 3, y: 3 } }); }); assert.deepEqual(doc.getMyPresence(), { color: 'black', cursor: { x: 3, y: 3 }, }); assert.deepEqual(doc.getUndoStackForTest(), [ [ { type: 'presence', value: { color: 'red', cursor: { x: 0, y: 0 } }, }, ], [ { type: 'presence', value: { cursor: { x: 1, y: 1 } }, }, ], ]); doc.history.undo(); assert.deepEqual(doc.getMyPresence(), { color: 'black', cursor: { x: 1, y: 1 }, }); doc.history.redo(); assert.deepEqual(doc.getMyPresence(), { color: 'black', cursor: { x: 3, y: 3 }, }); await client.deactivate(); }); it('Should handle undo/redo correctly for multiple changes to a single presence key within update', async function ({ task, }) { type Presence = { color: string }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document(docKey); const client = new yorkie.Client({ rpcAddr: testRPCAddr }); await client.activate(); await client.attach(doc, { initialPresence: { color: 'red' } }); // 1. When multiple changes are made to the "color" key, // it should revert to the value before doc.update() call. doc.update((root, presence) => { presence.set({ color: 'blue' }, { addToHistory: true }); presence.set({ color: 'green' }, { addToHistory: true }); }); assert.deepEqual(doc.getMyPresence(), { color: 'green', }); doc.history.undo(); assert.deepEqual(doc.getMyPresence(), { color: 'red', }); doc.history.redo(); assert.deepEqual(doc.getMyPresence(), { color: 'green', }); // 2. `addToHistory` option accumulates for a single key, // applying to the last key only. When set to true for the // last "color" key, it adds the color to the undo stack. doc.update((root, presence) => { presence.set({ color: 'black' }); presence.set({ color: 'purple' }, { addToHistory: true }); }); assert.deepEqual(doc.getMyPresence(), { color: 'purple', }); doc.history.undo(); assert.deepEqual(doc.getMyPresence(), { color: 'green', }); doc.history.redo(); assert.deepEqual(doc.getMyPresence(), { color: 'purple', }); // 3. When `addToHistory` is false for the last key, it // will not be added to the undo stack. The default value // when the option is not set is false. doc.update((root, presence) => { presence.set({ color: 'yellow' }, { addToHistory: true }); presence.set({ color: 'orange' }); }); assert.deepEqual(doc.getMyPresence(), { color: 'orange', }); doc.history.undo(); assert.deepEqual(doc.getMyPresence(), { color: 'green', }); doc.history.redo(); assert.deepEqual(doc.getMyPresence(), { color: 'orange', }); await client.deactivate(); }); it('Should emit presence-changed event with initial presence value on attach', async function ({ task, }) { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); const c1ID = c1.getID()!; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); type PresenceType = { key: string }; const doc1 = new yorkie.Document(docKey); const events1 = new EventCollector(); const unsub1 = doc1.subscribe('presence', (event) => events1.add(event)); await c1.attach(doc1, { initialPresence: { key: 'val1' }, }); await events1.waitAndVerifyNthEvent(1, { type: DocEventType.PresenceChanged, source: OpSource.Local, value: { clientID: c1ID, presence: { key: 'val1' } }, }); unsub1(); await c1.deactivate(); }); }); ================================================ FILE: packages/sdk/test/integration/document_limit_test.ts ================================================ /* * Copyright 2025 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { describe, it, assert, beforeAll } from 'vitest'; import { testAPIID, testAPIPW, testRPCAddr, toDocKey, } from '@yorkie-js/sdk/test/integration/integration_helper'; import axios from 'axios'; import yorkie, { SyncMode, Text } from '@yorkie-js/sdk/src/yorkie'; import { YorkieError } from '@yorkie-js/sdk/src/util/error'; import { totalDocSize } from '@yorkie-js/sdk/src/util/resource'; let adminToken: string; describe('Document Size Limit', () => { beforeAll(async () => { const loginResponse = await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/LogIn`, { username: testAPIID, password: testAPIPW }, ); adminToken = loginResponse.data.token; }); it('should successfully assign size limit to document', async ({ task }) => { // Create New project const now = new Date().getTime(); const createProjectResponse = await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/CreateProject`, { name: `doc-size-${now}` }, { headers: { Authorization: `Bearer ${adminToken}` } }, ); const createdProject = createProjectResponse.data.project; const projectId = createdProject.id; const sizeLimit = 10 * 1024 * 1024; await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/UpdateProject`, { id: projectId, fields: { max_size_per_document: sizeLimit } }, { headers: { Authorization: `Bearer ${adminToken}` } }, ); const projectResponse = await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/GetProject`, { name: createdProject.name }, { headers: { Authorization: `Bearer ${adminToken}` } }, ); const project = projectResponse.data.project; assert.equal(project.maxSizePerDocument, sizeLimit); const client = new yorkie.Client({ rpcAddr: testRPCAddr, apiKey: project.publicKey, }); await client.activate(); const doc = new yorkie.Document<{ k1: string }>( toDocKey(`${task.name}-${new Date().getTime()}`), ); await client.attach(doc, { syncMode: SyncMode.Manual }); assert.equal(doc.getMaxSizePerDocument(), sizeLimit); await client.detach(doc); await client.deactivate(); }); it('should reject local update that exceeds document size limit', async ({ task, }) => { const now = Date.now(); const projectName = `size-limit-${now}`; const sizeLimit = 100; const createResp = await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/CreateProject`, { name: projectName }, { headers: { Authorization: `Bearer ${adminToken}` } }, ); const project = createResp.data.project; await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/UpdateProject`, { id: project.id, fields: { max_size_per_document: sizeLimit }, }, { headers: { Authorization: `Bearer ${adminToken}` } }, ); const client = new yorkie.Client({ rpcAddr: testRPCAddr, apiKey: project.publicKey, }); await client.activate(); const docKey = toDocKey(`${task.name}-${now}`); const doc = new yorkie.Document<{ text: Text }>(docKey); await client.attach(doc, { syncMode: SyncMode.Manual }); doc.update((root) => (root.text = new Text())); assert.deepEqual(doc.getDocSize().live, { data: 0, meta: 72 }); assert.deepEqual(doc.getDocSize(), doc.getClone()!.root.getDocSize()); assert.throws( () => { doc.update((root) => { root.text.edit(0, 0, 'helloworld'); }); }, YorkieError, `document size exceeded`, ); assert.equal(totalDocSize(doc.getDocSize()), 72); await client.detach(doc); assert.deepEqual(doc.getDocSize(), doc.getClone()!.root.getDocSize()); await client.deactivate(); }); it('should allow remote updates even if they exceed document size limit', async ({ task, }) => { const now = Date.now(); const projectName = `size-remote-${now}`; const sizeLimit = 100; const createResp = await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/CreateProject`, { name: projectName }, { headers: { Authorization: `Bearer ${adminToken}` } }, ); const project = createResp.data.project; await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/UpdateProject`, { id: project.id, fields: { max_size_per_document: sizeLimit, }, }, { headers: { Authorization: `Bearer ${adminToken}` } }, ); const client1 = new yorkie.Client({ rpcAddr: testRPCAddr, apiKey: project.publicKey, }); await client1.activate(); const docKey = toDocKey(`${task.name}-${now}`); const doc = new yorkie.Document<{ text: Text }>(docKey); await client1.attach(doc, { syncMode: SyncMode.Manual }); const client2 = new yorkie.Client({ rpcAddr: testRPCAddr, apiKey: project.publicKey, }); await client2.activate(); const doc2 = new yorkie.Document<{ text: Text }>(docKey); await client2.attach(doc2, { syncMode: SyncMode.Manual }); doc.update((root) => (root.text = new Text())); await client1.sync(); await client2.sync(); assert.equal(totalDocSize(doc.getDocSize()), 72); doc.update((root) => { root.text.edit(0, 0, 'aa'); }); assert.equal(doc.getDocSize().live.data, 4); assert.equal(doc.getDocSize().live.meta, 96); await client1.sync(); doc2.update((root) => { root.text.edit(0, 0, 'a'); }); assert.equal(doc2.getDocSize().live.data, 2); assert.equal(doc2.getDocSize().live.meta, 96); await client2.sync(); // Pulls changes - should succeed despite exceeding limit assert.equal(doc2.getDocSize().live.data, 6); assert.equal(doc2.getDocSize().live.meta, 120); await client1.sync(); assert.equal(doc.getDocSize().live.data, 6); assert.equal(doc.getDocSize().live.meta, 120); // Local update should still be restricted assert.throws( () => { doc.update((root) => { root.text.edit(0, 0, 'a'); }); }, YorkieError, `document size exceeded`, ); await client1.detach(doc); await client1.deactivate(); await client2.detach(doc2); await client2.deactivate(); }); }); ================================================ FILE: packages/sdk/test/integration/document_polling_test.ts ================================================ /* * Copyright 2025 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { describe, it, assert } from 'vitest'; import yorkie, { SyncMode } from '@yorkie-js/sdk/src/yorkie'; import { YorkieError } from '@yorkie-js/sdk/src/util/error'; import { toDocKey, testRPCAddr, } from '@yorkie-js/sdk/test/integration/integration_helper'; import { assertThrowsAsync } from '@yorkie-js/sdk/test/helper/helper'; describe('Document Polling', function () { it('Polling document receives remote changes within poll interval', async function ({ task, }) { const docKey = `${toDocKey(task.name)}-${new Date().getTime()}`; const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const d1 = new yorkie.Document<{ k?: string }>(docKey); const d2 = new yorkie.Document<{ k?: string }>(docKey); // c1 attaches in Polling mode with 200ms interval. await c1.attach(d1, { syncMode: SyncMode.Polling, documentPollInterval: 200, }); await c2.attach(d2); // c2 makes a change. d2.update((root) => { root.k = 'v'; }); await c2.sync(); // Wait for at least 2 polling ticks (~400ms). await new Promise((r) => setTimeout(r, 600)); assert.equal(d1.getRoot().k, 'v'); await c1.detach(d1); await c2.detach(d2); await c1.deactivate(); await c2.deactivate(); }); it('changeSyncMode transitions Polling → Realtime for documents', async function ({ task, }) { const docKey = `${toDocKey(task.name)}-${new Date().getTime()}`; const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const d1 = new yorkie.Document<{ k?: string }>(docKey); const d2 = new yorkie.Document<{ k?: string }>(docKey); // c1 starts in Polling mode with a slow interval (proves Realtime // path is what delivers the change, not the polling tick). await c1.attach(d1, { syncMode: SyncMode.Polling, documentPollInterval: 5000, }); await c2.attach(d2); // Switch c1 to Realtime — should open a watch stream. await c1.changeSyncMode(d1, SyncMode.Realtime); // c2 makes a change. d2.update((root) => { root.k = 'rt'; }); await c2.sync(); // Realtime should deliver well within 1s (much faster than the 5s // polling interval that's still configured). await new Promise((r) => setTimeout(r, 800)); assert.equal(d1.getRoot().k, 'rt'); await c1.detach(d1); await c2.detach(d2); await c1.deactivate(); await c2.deactivate(); }); it('attach rejects documentPollInterval: 0 with ErrInvalidArgument', async function ({ task, }) { const docKey = `${toDocKey(task.name)}-${new Date().getTime()}`; const c = new yorkie.Client({ rpcAddr: testRPCAddr }); await c.activate(); const d = new yorkie.Document<{ k?: string }>(docKey); try { await assertThrowsAsync( () => c.attach(d, { documentPollInterval: 0 }), YorkieError, 'documentPollInterval must be greater than 0', ); } finally { await c.deactivate(); } }); }); ================================================ FILE: packages/sdk/test/integration/document_schema_test.ts ================================================ /* * Copyright 2025 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { describe, it, assert, beforeAll } from 'vitest'; import { testAPIID, testAPIPW, testRPCAddr, toDocKey, } from '@yorkie-js/sdk/test/integration/integration_helper'; import axios, { AxiosError } from 'axios'; import yorkie, { SyncMode } from '@yorkie-js/sdk/src/yorkie'; import { YorkieError } from '@yorkie-js/sdk/src/util/error'; const time = new Date().getTime(); describe('Document Schema', () => { let projectApiKey: string; let projectSecretKey: string; beforeAll(async () => { const loginResponse = await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/LogIn`, { username: testAPIID, password: testAPIPW }, ); const adminToken = loginResponse.data.token; // Create a new project for schema testing const createProjectResponse = await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/CreateProject`, { name: `schema-test-${time}` }, { headers: { Authorization: `Bearer ${adminToken}` } }, ); projectApiKey = createProjectResponse.data.project.publicKey; projectSecretKey = createProjectResponse.data.project.secretKey; // Create schemas using API-Key authentication (for project context) await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/CreateSchema`, { schemaName: `schema-${time}`, schemaVersion: 1, schemaBody: 'type Document = {title: string;};', rules: [{ path: '$.title', type: 'string' }], }, { headers: { Authorization: `API-Key ${projectSecretKey}` } }, ); await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/CreateSchema`, { schemaName: `schema2-${time}`, schemaVersion: 1, schemaBody: 'type Document = {title: integer;};', rules: [{ path: '$.title', type: 'integer' }], }, { headers: { Authorization: `API-Key ${projectSecretKey}` } }, ); }); it('can attach document with schema', async ({ task }) => { const client = new yorkie.Client({ rpcAddr: testRPCAddr, apiKey: projectApiKey, }); await client.activate(); const doc = new yorkie.Document<{ title: string }>( toDocKey(`${task.name}-${new Date().getTime()}`), ); try { await client.attach(doc, { syncMode: SyncMode.Manual, schema: 'noexist@1', }); assert.fail('expected an error to be thrown'); } catch (error) { assert.include((error as Error).message, 'schema not found'); } await client.attach(doc, { syncMode: SyncMode.Manual, schema: `schema-${time}@1`, }); await client.deactivate(); }); it('should reject local update that violates schema', async ({ task }) => { const client = new yorkie.Client({ rpcAddr: testRPCAddr, apiKey: projectApiKey, }); await client.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ title: any }>(docKey); await client.attach(doc, { syncMode: SyncMode.Manual, schema: `schema-${time}@1`, }); assert.throws( () => { doc.update((root) => { root.title = 123; }); }, YorkieError, `schema validation failed: expected string at path $.title`, ); assert.equal('{}', doc.toSortedJSON()); doc.update((root) => { root.title = 'hello'; }); assert.equal('{"title":"hello"}', doc.toSortedJSON()); await client.deactivate(); }); it('can update schema with new rules via UpdateDocument API', async ({ task, }) => { const client = new yorkie.Client({ rpcAddr: testRPCAddr, apiKey: projectApiKey, }); await client.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ title: any }>(docKey); await client.attach(doc, { syncMode: SyncMode.Manual, schema: `schema-${time}@1`, }); doc.update((root) => { root.title = 'hello'; }); assert.equal('{"title":"hello"}', doc.toSortedJSON()); await client.sync(doc); await client.detach(doc); await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/UpdateDocument`, { documentKey: docKey, root: `{"title": Int(123)}`, schemaKey: `schema2-${time}@1`, }, { headers: { Authorization: `API-Key ${projectSecretKey}` } }, ); const doc2 = new yorkie.Document<{ title: any }>(docKey); await client.attach(doc2, { syncMode: SyncMode.Manual, }); assert.equal('{"title":123}', doc2.toSortedJSON()); await client.deactivate(); }); it('should reject schema update when document is attached', async ({ task, }) => { const client = new yorkie.Client({ rpcAddr: testRPCAddr, apiKey: projectApiKey, }); await client.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ title: any }>(docKey); await client.attach(doc, { syncMode: SyncMode.Manual, schema: `schema-${time}@1`, }); try { await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/UpdateDocument`, { documentKey: docKey, root: `{"title": Int(123)}`, schemaKey: `schema2-${time}@1`, }, { headers: { Authorization: `API-Key ${projectSecretKey}` } }, ); } catch (error) { assert.equal( (error as AxiosError<{ message: string }>).response?.data?.message, 'document is attached', ); } await client.deactivate(); }); it('should reject schema update when existing root violates new schema', async ({ task, }) => { const client = new yorkie.Client({ rpcAddr: testRPCAddr, apiKey: projectApiKey, }); await client.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ title: any }>(docKey); await client.attach(doc, { syncMode: SyncMode.Manual, schema: `schema-${time}@1`, }); doc.update((root) => { root.title = 'hello'; }); assert.equal('{"title":"hello"}', doc.toSortedJSON()); await client.sync(doc); await client.detach(doc); try { await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/UpdateDocument`, { documentKey: docKey, root: `{"title": Long(123)}`, schemaKey: `schema2-${time}@1`, }, { headers: { Authorization: `API-Key ${projectSecretKey}` } }, ); assert.fail('expected an error to be thrown'); } catch (error) { assert.equal( (error as AxiosError<{ message: string }>).response?.data?.message, 'schema validation failed: expected integer at path $.title', ); } await client.deactivate(); }); it('can detach schema via UpdateDocument API', async ({ task }) => { const client = new yorkie.Client({ rpcAddr: testRPCAddr, apiKey: projectApiKey, }); await client.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ title: any }>(docKey); await client.attach(doc, { syncMode: SyncMode.Manual, schema: `schema-${time}@1`, }); doc.update((root) => { root.title = 'hello'; }); assert.equal('{"title":"hello"}', doc.toSortedJSON()); await client.sync(doc); try { await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/UpdateDocument`, { documentKey: docKey, root: '', schemaKey: '' }, { headers: { Authorization: `API-Key ${projectSecretKey}` } }, ); } catch (error) { assert.equal( (error as AxiosError<{ message: string }>).response?.data?.message, 'document is attached', ); } await client.detach(doc); await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/UpdateDocument`, { documentKey: docKey, root: '', schemaKey: '', }, { headers: { Authorization: `API-Key ${projectSecretKey}` }, }, ); const doc2 = new yorkie.Document<{ title: any }>(docKey); await client.attach(doc2, { syncMode: SyncMode.Manual, }); assert.equal('{"title":"hello"}', doc2.toSortedJSON()); doc2.update((root) => { root.title = 123; }); assert.equal('{"title":123}', doc2.toSortedJSON()); await client.deactivate(); }); it('can attach schema via UpdateDocument API', async ({ task }) => { const client = new yorkie.Client({ rpcAddr: testRPCAddr, apiKey: projectApiKey, }); await client.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ title: any }>(docKey); await client.attach(doc, { syncMode: SyncMode.Manual, }); doc.update((root) => { root.title = 'hello'; }); assert.equal('{"title":"hello"}', doc.toSortedJSON()); await client.sync(doc); try { await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/UpdateDocument`, { documentKey: docKey, root: '', schemaKey: `schema2-${time}@1` }, { headers: { Authorization: `API-Key ${projectSecretKey}` } }, ); } catch (error) { assert.equal( (error as AxiosError<{ message: string }>).response?.data?.message, 'document is attached', ); } await client.detach(doc); try { await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/UpdateDocument`, { documentKey: docKey, root: '', schemaKey: `schema2-${time}@1` }, { headers: { Authorization: `API-Key ${projectSecretKey}` } }, ); } catch (error) { assert.equal( (error as AxiosError<{ message: string }>).response?.data?.message, 'schema validation failed: expected integer at path $.title', ); } await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/UpdateDocument`, { documentKey: docKey, root: '', schemaKey: `schema-${time}@1` }, { headers: { Authorization: `API-Key ${projectSecretKey}` } }, ); const doc2 = new yorkie.Document<{ title: any }>(docKey); await client.attach(doc2, { syncMode: SyncMode.Manual, }); assert.equal('{"title":"hello"}', doc2.toSortedJSON()); assert.throws( () => { doc2.update((root) => { root.title = 123; }); }, YorkieError, `schema validation failed: expected string at path $.title`, ); await client.deactivate(); }); it('can update schema only', async ({ task }) => { const client = new yorkie.Client({ rpcAddr: testRPCAddr, apiKey: projectApiKey, }); await client.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ title: any }>(docKey); await client.attach(doc, { syncMode: SyncMode.Manual, schema: `schema-${time}@1`, }); doc.update((root) => { root.title = 'hello'; }); assert.equal('{"title":"hello"}', doc.toSortedJSON()); await client.sync(doc); await client.detach(doc); // TODO(chacha912): We can verify schema-only updates work correctly // after features like conditional types are implemented in schema-ruleset. try { await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/UpdateDocument`, { documentKey: docKey, root: '', schemaKey: `schema2-${time}@1` }, { headers: { Authorization: `API-Key ${projectSecretKey}` } }, ); } catch (error) { assert.equal( (error as AxiosError<{ message: string }>).response?.data?.message, 'schema validation failed: expected integer at path $.title', ); } await client.deactivate(); }); it('can update root only', async ({ task }) => { const client = new yorkie.Client({ rpcAddr: testRPCAddr, apiKey: projectApiKey, }); await client.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ title: any }>(docKey); await client.attach(doc, { syncMode: SyncMode.Manual, }); doc.update((root) => { root.title = 'hello'; }); assert.equal('{"title":"hello"}', doc.toSortedJSON()); await client.sync(doc); await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/UpdateDocument`, { documentKey: docKey, root: `{"title": Int(123)}`, schemaKey: '' }, { headers: { Authorization: `API-Key ${projectSecretKey}` } }, ); await client.detach(doc); const doc2 = new yorkie.Document<{ title: any }>(docKey); await client.attach(doc2, { syncMode: SyncMode.Manual, }); assert.equal('{"title":123}', doc2.toSortedJSON()); await client.deactivate(); }); it('should validate tree structure with tree node rules', async ({ task, }) => { // Create a schema with tree node rules const loginResponse = await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/LogIn`, { username: testAPIID, password: testAPIPW }, ); const adminToken = loginResponse.data.token; const treeProjectName = `tree-schema-test-${time}`; const createProjectResponse = await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/CreateProject`, { name: treeProjectName }, { headers: { Authorization: `Bearer ${adminToken}` } }, ); const treeApiKey = createProjectResponse.data.project.publicKey; const treeSecretKey = createProjectResponse.data.project.secretKey; const treeSchemaName = `tree-schema-${time}`; await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/CreateSchema`, { schemaName: treeSchemaName, schemaVersion: 1, schemaBody: 'type Document = {content: yorkie.Tree;};', rules: [ { path: '$.content', type: 'yorkie.Tree', tree_nodes: [ { node_type: 'doc', content: 'block+', marks: '', group: '', }, { node_type: 'paragraph', content: 'text*', marks: 'bold italic', group: 'block', }, { node_type: 'heading', content: 'text*', marks: 'bold', group: 'block', }, { node_type: 'text', content: '', marks: '', group: '' }, ], }, ], }, { headers: { Authorization: `API-Key ${treeSecretKey}` } }, ); const client = new yorkie.Client({ rpcAddr: testRPCAddr, apiKey: treeApiKey, }); await client.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ content: any }>(docKey); await client.attach(doc, { syncMode: SyncMode.Manual, schema: `${treeSchemaName}@1`, }); // Valid: initialize tree with doc > paragraph > text doc.update((root) => { root.content = new yorkie.Tree({ type: 'doc', children: [ { type: 'paragraph', children: [{ type: 'text', value: 'Hello' }], }, ], }); }); assert.isTrue(doc.toSortedJSON().includes('content')); // Valid: add a heading before paragraph (position 0 = before first child of doc) doc.update((root) => { const tree = root.content; tree.edit(0, 0, { type: 'heading', children: [{ type: 'text', value: 'Title' }], }); }); // Invalid: add unknown node type "div" at doc level (position 0) assert.throws(() => { doc.update((root) => { const tree = root.content; tree.edit(0, 0, { type: 'div', children: [{ type: 'text', value: 'invalid' }], }); }); }, YorkieError); // Invalid: add text directly under doc (doc requires block+) assert.throws(() => { doc.update((root) => { const tree = root.content; tree.edit(0, 0, { type: 'text', value: 'text under doc', }); }); }, YorkieError); await client.deactivate(); }); it('can update root only when document has attached schema', async ({ task, }) => { const client = new yorkie.Client({ rpcAddr: testRPCAddr, apiKey: projectApiKey, }); await client.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ title: any }>(docKey); await client.attach(doc, { syncMode: SyncMode.Manual, schema: `schema-${time}@1`, }); doc.update((root) => { root.title = 'hello'; }); assert.equal('{"title":"hello"}', doc.toSortedJSON()); await client.sync(doc); await client.detach(doc); try { await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/UpdateDocument`, { documentKey: docKey, root: `{"title": Int(123)}`, schemaKey: '' }, { headers: { Authorization: `API-Key ${projectSecretKey}` } }, ); } catch (error) { assert.equal( (error as AxiosError<{ message: string }>).response?.data?.message, 'schema validation failed: expected string at path $.title', ); } await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/UpdateDocument`, { documentKey: docKey, root: `{"title": "world"}`, schemaKey: '' }, { headers: { Authorization: `API-Key ${projectSecretKey}` } }, ); const doc2 = new yorkie.Document<{ title: any }>(docKey); await client.attach(doc2, { syncMode: SyncMode.Manual, }); assert.equal('{"title":"world"}', doc2.toSortedJSON()); assert.throws( () => { doc2.update((root) => { root.title = 123; }); }, YorkieError, `schema validation failed: expected string at path $.title`, ); await client.deactivate(); }); }); ================================================ FILE: packages/sdk/test/integration/document_test.ts ================================================ import { describe, it, assert, vi, afterEach } from 'vitest'; import yorkie, { Counter, Text, JSONArray, SyncMode, Tree, JSONElement, } from '@yorkie-js/sdk/src/yorkie'; import { testRPCAddr, toDocKey, } from '@yorkie-js/sdk/test/integration/integration_helper'; import { EventCollector, assertThrowsAsync, } from '@yorkie-js/sdk/test/helper/helper'; import type { CRDTElement } from '@yorkie-js/sdk/src/document/crdt/element'; import { DocStatus, DocEventType, StatusChangedEvent, Json, } from '@yorkie-js/sdk/src/document/document'; import { OpInfo } from '@yorkie-js/sdk/src/document/operation/operation'; import { YorkieError } from '@yorkie-js/sdk/src/util/error'; describe('Document', function () { afterEach(() => { vi.restoreAllMocks(); }); it('Can attach/detach documents', async function ({ task }) { type TestDoc = { k1: { ['k1-1']: string }; k2: Array }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc1 = new yorkie.Document(docKey); const doc2 = new yorkie.Document(docKey); const client1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const client2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await client1.activate(); await client2.activate(); await client1.attach(doc1, { syncMode: SyncMode.Manual }); doc1.update((root) => { root['k1'] = { 'k1-1': 'v1' }; root['k2'] = ['1', '2']; }, 'set v1, v2'); await client1.sync(); assert.equal('{"k1":{"k1-1":"v1"},"k2":["1","2"]}', doc1.toSortedJSON()); await client2.attach(doc2, { syncMode: SyncMode.Manual }); assert.equal('{"k1":{"k1-1":"v1"},"k2":["1","2"]}', doc2.toSortedJSON()); await client1.detach(doc1); await client2.detach(doc2); await client1.deactivate(); await client2.deactivate(); }); it('Can watch documents', async function ({ task }) { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const d1 = new yorkie.Document<{ k1: string }>(docKey); const d2 = new yorkie.Document<{ k1: string }>(docKey); await c1.attach(d1); await c2.attach(d2); const eventCollectorD1 = new EventCollector(); const eventCollectorD2 = new EventCollector(); const unsub1 = d1.subscribe((event) => { eventCollectorD1.add(event.type); }); const unsub2 = d2.subscribe((event) => { eventCollectorD2.add(event.type); }); d2.update((root) => { root['k1'] = 'v1'; }); await eventCollectorD2.waitAndVerifyNthEvent(1, DocEventType.LocalChange); await eventCollectorD1.waitAndVerifyNthEvent(1, DocEventType.RemoteChange); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); unsub1(); unsub2(); await c1.detach(d1); await c2.detach(d2); await c1.deactivate(); await c2.deactivate(); }); it('detects the events from doc.subscribe', async function ({ task }) { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); type TestDoc = { counter: Counter; todos: JSONArray; // specify type as `JSONArray` to use the `moveAfter` method content: Text; obj: { name: string; age: number; food?: Array; score: Record; }; }; const d1 = new yorkie.Document(docKey); const d2 = new yorkie.Document(docKey); await c1.attach(d1); await c2.attach(d2); type EventForTest = { type: DocEventType; value: Array; }; let expectedEventValue: Array; const eventCollectorD1 = new EventCollector(); const eventCollectorD2 = new EventCollector(); const unsub1 = d1.subscribe((event) => { if (event.type === DocEventType.Snapshot) { return; } eventCollectorD1.add({ type: event.type, value: event.value.operations }); }); const unsub2 = d2.subscribe((event) => { if (event.type === DocEventType.Snapshot) { return; } eventCollectorD2.add({ type: event.type, value: event.value.operations }); }); d1.update((root) => { root.counter = new yorkie.Counter(100); root.todos = ['todo1', 'todo2', 'todo3'] as JSONArray; root.content = new yorkie.Text(); root.content.edit(0, 0, 'hello world', { italic: true, objAttr: { key1: { key2: 'value' } }, }); root.obj = { name: 'josh', age: 14, food: ['🍏', '🍇'], score: { english: 80, math: 90, }, }; root.obj.score = { science: 100 }; delete root.obj.food; }); expectedEventValue = [ { type: 'set', path: '$', key: 'counter' }, { type: 'set', path: '$', key: 'todos' }, { type: 'set', path: '$', key: 'content' }, { type: 'edit', from: 0, to: 0, value: { attributes: { italic: true, objAttr: { key1: { key2: 'value' } } }, content: 'hello world', }, path: '$.content', }, { type: 'set', path: '$', key: 'obj' }, { type: 'set', path: '$.obj', key: 'score' }, { type: 'remove', path: '$.obj', key: 'food' }, ]; await eventCollectorD1.waitAndVerifyNthEvent(1, { type: DocEventType.LocalChange, value: expectedEventValue, }); await eventCollectorD2.waitAndVerifyNthEvent(1, { type: DocEventType.RemoteChange, value: expectedEventValue, }); d2.update((root) => { root.counter.increase(1); root.todos.push('todo4'); const prevItem = root.todos.getElementByIndex(1); const currItem = root.todos.getElementByIndex(0); root.todos.moveAfter(prevItem.getID(), currItem.getID()); root.content.setStyle(0, 5, { bold: true }); }); expectedEventValue = [ { type: 'increase', path: '$.counter', value: 1 }, { type: 'add', path: '$.todos', index: 3 }, { type: 'move', path: '$.todos', index: 1, previousIndex: 0, }, { type: 'style', from: 0, to: 5, value: { attributes: { bold: true } }, path: '$.content', }, ]; await eventCollectorD1.waitAndVerifyNthEvent(2, { type: DocEventType.RemoteChange, value: expectedEventValue, }); await eventCollectorD2.waitAndVerifyNthEvent(2, { type: DocEventType.LocalChange, value: expectedEventValue, }); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); unsub1(); unsub2(); await c1.detach(d1); await c2.detach(d2); await c1.deactivate(); await c2.deactivate(); }); it('specify the topic to subscribe to', async function ({ task }) { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); type TestDoc = { counter: Counter; todos: Array }; const d1 = new yorkie.Document(docKey); const d2 = new yorkie.Document(docKey); await c1.attach(d1); await c2.attach(d2); const eventCollector = new EventCollector>(); const eventCollectorForTodos = new EventCollector>(); const eventCollectorForCounter = new EventCollector>(); const unsub = d1.subscribe((event) => { if (event.type === DocEventType.Snapshot) { return; } eventCollector.add(event.value.operations); }); const unsubTodo = d1.subscribe('$.todos', (event) => { eventCollectorForTodos.add(event.value.operations); }); const unsubCounter = d1.subscribe('$.counter', (event) => { eventCollectorForCounter.add(event.value.operations); }); d2.update((root) => { root.counter = new yorkie.Counter(0); root.todos = ['todo1', 'todo2']; }); await eventCollector.waitAndVerifyNthEvent(1, [ { type: 'set', path: '$', key: 'counter' }, { type: 'set', path: '$', key: 'todos' }, ]); d2.update((root) => { root.counter.increase(10); }); await eventCollector.waitAndVerifyNthEvent(2, [ { type: 'increase', path: '$.counter', value: 10 }, ]); await eventCollectorForCounter.waitAndVerifyNthEvent(1, [ { type: 'increase', path: '$.counter', value: 10 }, ]); d2.update((root) => { root.todos.push('todo3'); }); await eventCollector.waitAndVerifyNthEvent(3, [ { type: 'add', path: '$.todos', index: 2 }, ]); await eventCollectorForTodos.waitAndVerifyNthEvent(1, [ { type: 'add', path: '$.todos', index: 2 }, ]); unsubTodo(); d2.update((root) => { root.todos.push('todo4'); }); await eventCollector.waitAndVerifyNthEvent(4, [ { type: 'add', path: '$.todos', index: 3 }, ]); assert.equal(eventCollectorForTodos.getLength(), 1); // No events after unsubscribing `$.todos` unsubCounter(); d2.update((root) => { root.counter.increase(10); }); await eventCollector.waitAndVerifyNthEvent(5, [ { type: 'increase', path: '$.counter', value: 10 }, ]); assert.equal(eventCollectorForCounter.getLength(), 1); // No events after unsubscribing `$.counter` unsub(); await c1.detach(d1); await c2.detach(d2); await c1.deactivate(); await c2.deactivate(); }); it('specify the nested topic to subscribe to', async function ({ task }) { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); type TestDoc = { todos: Array<{ text: string; completed: boolean; }>; obj: Record; }; const d1 = new yorkie.Document(docKey); const d2 = new yorkie.Document(docKey); await c1.attach(d1); await c2.attach(d2); const eventCollector = new EventCollector>(); const eventCollectorForTodos0 = new EventCollector>(); const eventCollectorForObjC1 = new EventCollector>(); const unsub = d1.subscribe((event) => { if (event.type === DocEventType.Snapshot) { return; } eventCollector.add(event.value.operations); }); const unsubTodo = d1.subscribe('$.todos.0', (event) => { eventCollectorForTodos0.add(event.value.operations); }); const unsubObj = d1.subscribe('$.obj.c1', (event) => { eventCollectorForObjC1.add(event.value.operations); }); d2.update((root) => { root.todos = [{ text: 'todo1', completed: false }]; root.obj = { c1: { name: 'josh', age: 14 }, }; }); await eventCollector.waitAndVerifyNthEvent(1, [ { type: 'set', path: '$', key: 'todos' }, { type: 'set', path: '$', key: 'obj' }, ]); d2.update((root) => { root.obj.c1.name = 'john'; }); await eventCollector.waitAndVerifyNthEvent(2, [ { type: 'set', path: '$.obj.c1', key: 'name' }, ]); await eventCollectorForObjC1.waitAndVerifyNthEvent(1, [ { type: 'set', path: '$.obj.c1', key: 'name' }, ]); d2.update((root) => { root.todos[0].completed = true; }); await eventCollector.waitAndVerifyNthEvent(3, [ { type: 'set', path: '$.todos.0', key: 'completed' }, ]); await eventCollectorForTodos0.waitAndVerifyNthEvent(1, [ { type: 'set', path: '$.todos.0', key: 'completed' }, ]); unsubTodo(); d2.update((root) => { root.todos[0].text = 'todo_1'; }); await eventCollector.waitAndVerifyNthEvent(4, [ { type: 'set', path: '$.todos.0', key: 'text' }, ]); assert.equal(eventCollectorForTodos0.getLength(), 1); // No events after unsubscribing `$.todos.0` unsubObj(); d2.update((root) => { root.obj.c1.age = 15; }); await eventCollector.waitAndVerifyNthEvent(5, [ { type: 'set', path: '$.obj.c1', key: 'age' }, ]); assert.equal(eventCollectorForObjC1.getLength(), 1); // No events after unsubscribing `$.obj.c1` unsub(); await c1.detach(d1); await c2.detach(d2); await c1.deactivate(); await c2.deactivate(); }); it('Can handle tombstone', async function ({ task }) { type TestDoc = { k1: Array }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const d1 = new yorkie.Document(docKey); const d2 = new yorkie.Document(docKey); const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); await c1.attach(d1, { syncMode: SyncMode.Manual }); await c2.attach(d2, { syncMode: SyncMode.Manual }); d1.update((root) => { root['k1'] = [1, 2]; }, 'set array'); await c1.sync(); await c2.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); let prevArray: CRDTElement | undefined; d1.update((root) => { root.k1.push(3); prevArray = d1.getRootObject().get('k1') as unknown as CRDTElement; }, 'push element to k1'); d2.update((root) => { root.k1 = []; }, 'reassign k1 with new array'); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); assert.isTrue(prevArray?.isRemoved()); }); it('Can remove document', async function ({ task }) { type TestDoc = { k1: Array }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const d1 = new yorkie.Document(docKey); const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c1Key = c1.getKey(); // 01. client is not activated. assertThrowsAsync( async () => { await c1.remove(d1); }, YorkieError, `${c1Key} is not active`, ); // 02. document is not attached. await c1.activate(); assertThrowsAsync( async () => { await c1.remove(d1); }, YorkieError, `${docKey} is not attached`, ); // 03. document is attached. await c1.attach(d1); await c1.remove(d1); // 04. try to update a removed document. assert.throws( () => { d1.update((root) => { root['k1'] = [1, 2]; }, 'set array'); }, YorkieError, `${docKey} is removed`, ); // 05. try to attach a removed document. assertThrowsAsync( async () => { await c1.attach(d1); }, YorkieError, `${docKey} is not detached`, ); await c1.deactivate(); }); it('Can create document with the same key as the removed document key', async function ({ task, }) { type TestDoc = { k1: Array }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); // 01. c1 creates d1 and removes it. const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); const d1 = new yorkie.Document(docKey); d1.update((root) => { root['k1'] = [1, 2]; }, 'set array'); await c1.attach(d1); assert.equal(d1.toSortedJSON(), '{"k1":[1,2]}'); await c1.remove(d1); // 02. c2 creates d2 with the same key. const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c2.activate(); const d2 = new yorkie.Document(docKey); await c2.attach(d2); // 02. c1 creates d2 with the same key. const d3 = new yorkie.Document(docKey); await c1.attach(d3); assert.equal(d2.toSortedJSON(), '{}'); assert.equal(d3.toSortedJSON(), '{}'); await c1.deactivate(); await c2.deactivate(); }); it('Can know that document has been removed when doing client.sync()', async function ({ task, }) { type TestDoc = { k1: Array }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); // 01. c1 attaches d1 and c2 watches same doc. const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); const d1 = new yorkie.Document(docKey); d1.update((root) => { root['k1'] = [1, 2]; }, 'set array'); await c1.attach(d1, { syncMode: SyncMode.Manual }); assert.equal(d1.toSortedJSON(), '{"k1":[1,2]}'); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c2.activate(); const d2 = new yorkie.Document(docKey); await c2.attach(d2, { syncMode: SyncMode.Manual }); assert.equal(d2.toSortedJSON(), '{"k1":[1,2]}'); // 02. c1 updates d1 and removes it. d1.update((root) => { root['k1'].push(3); }); await c1.remove(d1); assert.equal(d1.toSortedJSON(), '{"k1":[1,2,3]}', 'd1'); assert.equal(d1.getStatus(), DocStatus.Removed); // 03. c2 syncs and checks that d2 is removed. await c2.sync(); assert.equal(d2.toSortedJSON(), '{"k1":[1,2,3]}', 'd2'); assert.equal(d2.getStatus(), DocStatus.Removed); await c1.deactivate(); await c2.deactivate(); }); it('Can know that document has been removed when doing client.detach()', async function ({ task, }) { type TestDoc = { k1: Array }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); // 01. c1 attaches d1 and c2 watches same doc. const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); const d1 = new yorkie.Document(docKey); d1.update((root) => { root['k1'] = [1, 2]; }, 'set array'); await c1.attach(d1, { syncMode: SyncMode.Manual }); assert.equal(d1.toSortedJSON(), '{"k1":[1,2]}'); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c2.activate(); const d2 = new yorkie.Document(docKey); await c2.attach(d2, { syncMode: SyncMode.Manual }); assert.equal(d2.toSortedJSON(), '{"k1":[1,2]}'); // 02. c1 removes d1 and c2 detaches d2. await c1.remove(d1); await c2.detach(d2); await c1.sync(); await c2.sync(); assert.equal(d1.getStatus(), DocStatus.Removed); assert.equal(d2.getStatus(), DocStatus.Removed); await c1.deactivate(); await c2.deactivate(); }); it('removed document removal test', async function ({ task }) { type TestDoc = { k1: Array }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); // 01. c1 attaches d1 and c2 watches same doc. const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); const d1 = new yorkie.Document(docKey); d1.update((root) => { root['k1'] = [1, 2]; }, 'set array'); await c1.attach(d1, { syncMode: SyncMode.Manual }); assert.equal(d1.toSortedJSON(), '{"k1":[1,2]}'); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c2.activate(); const d2 = new yorkie.Document(docKey); await c2.attach(d2, { syncMode: SyncMode.Manual }); assert.equal(d2.toSortedJSON(), '{"k1":[1,2]}'); // 02. c1 removes d1 and c2 removes d2. await c1.remove(d1); await c2.remove(d2); await c1.sync(); await c2.sync(); assert.equal(d1.getStatus(), DocStatus.Removed); assert.equal(d2.getStatus(), DocStatus.Removed); await c1.deactivate(); await c2.deactivate(); }); // State transition of document // ┌──────────┐ Attach ┌──────────┐ Remove ┌─────────┐ // │ Detached ├───────►│ Attached ├───────►│ Removed │ // └──────────┘ └─┬─┬──────┘ └─────────┘ // ▲ │ │ ▲ // └───────────┘ └─────┘ // Detach PushPull it('document state transition test', async function ({ task }) { type TestDoc = { k1: Array }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); // 01. abnormal behavior on detached state const d1 = new yorkie.Document(docKey); assertThrowsAsync( async () => { await c1.detach(d1); }, YorkieError, `${docKey} is not attached`, ); assertThrowsAsync( async () => { await c1.sync(d1); }, YorkieError, `${docKey} is not attached`, ); assertThrowsAsync( async () => { await c1.remove(d1); }, YorkieError, `${docKey} is not attached`, ); // 02. abnormal behavior on attached state await c1.attach(d1); assertThrowsAsync( async () => { await c1.attach(d1); }, YorkieError, `${docKey} is not detached`, ); // 03. abnormal behavior on removed state await c1.remove(d1); assertThrowsAsync( async () => { await c1.remove(d1); }, YorkieError, `${docKey} is not attached`, ); assertThrowsAsync( async () => { await c1.sync(d1); }, YorkieError, `${docKey} is not attached`, ); assertThrowsAsync( async () => { await c1.detach(d1); }, YorkieError, `${docKey} is not attached`, ); await c1.deactivate(); }); it('Can subscribe to events related to document status changes', async function ({ task, }) { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const c1ID = c1.getID()!; let c2ID = c2.getID()!; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const d1 = new yorkie.Document(docKey); const d2 = new yorkie.Document(docKey); const eventCollectorD1 = new EventCollector(); const eventCollectorD2 = new EventCollector(); const unsub1 = d1.subscribe('status', (event) => { eventCollectorD1.add(event.value); }); const unsub2 = d2.subscribe('status', (event) => { eventCollectorD2.add(event.value); }); // 1. When the client attaches a document, it receives an attached event. await c1.attach(d1); await c2.attach(d2); await eventCollectorD1.waitAndVerifyNthEvent(1, { status: DocStatus.Attached, actorID: c1ID, }); await eventCollectorD2.waitAndVerifyNthEvent(1, { status: DocStatus.Attached, actorID: c2ID, }); // 2. When c1 detaches a document, it receives a detached event. await c1.detach(d1); await eventCollectorD1.waitAndVerifyNthEvent(2, { status: DocStatus.Detached, }); // 3. When c2 deactivates, it should also receive a detached event. await c2.deactivate(); await eventCollectorD2.waitAndVerifyNthEvent(2, { status: DocStatus.Detached, }); // 4. When other document is attached, it receives an attached event. const docKey2 = toDocKey(`${task.name}2-${new Date().getTime()}`); const d3 = new yorkie.Document(docKey2); const d4 = new yorkie.Document(docKey2); const eventCollectorD3 = new EventCollector(); const eventCollectorD4 = new EventCollector(); const unsub3 = d3.subscribe('status', (event) => { eventCollectorD3.add(event.value); }); const unsub4 = d4.subscribe('status', (event) => { eventCollectorD4.add(event.value); }); await c1.attach(d3, { syncMode: SyncMode.Manual }); await eventCollectorD3.waitAndVerifyNthEvent(1, { status: DocStatus.Attached, actorID: c1ID, }); await c2.activate(); c2ID = c2.getID()!; await c2.attach(d4, { syncMode: SyncMode.Manual }); await eventCollectorD4.waitAndVerifyNthEvent(1, { status: DocStatus.Attached, actorID: c2ID, }); // 5. When c1 removes a document, it receives a removed event. await c1.remove(d3); await eventCollectorD3.waitAndVerifyNthEvent(2, { status: DocStatus.Removed, }); // 6. When c2 syncs, it should also receive a removed event. await c2.sync(); await eventCollectorD4.waitAndVerifyNthEvent(2, { status: DocStatus.Removed, }); // 7. If the document is in the removed state, a detached event should not occur when deactivating. const eventCount3 = eventCollectorD3.getLength(); const eventCount4 = eventCollectorD4.getLength(); await c1.deactivate(); await c2.deactivate(); assert.equal(eventCollectorD3.getLength(), eventCount3); assert.equal(eventCollectorD4.getLength(), eventCount4); unsub1(); unsub2(); unsub3(); unsub4(); }); it('Should properly handle removed document when deactivating', async function ({ task, }) { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const c1ID = c1.getID()!; const c2ID = c2.getID()!; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const d1 = new yorkie.Document(docKey); const d2 = new yorkie.Document(docKey); const eventCollectorD1 = new EventCollector(); const eventCollectorD2 = new EventCollector(); const unsub1 = d1.subscribe('status', (event) => { eventCollectorD1.add(event.value); }); const unsub2 = d2.subscribe('status', (event) => { eventCollectorD2.add(event.value); }); // 1. When the client attaches a document, it receives an attached event. await c1.attach(d1, { syncMode: SyncMode.Manual, }); await c2.attach(d2, { syncMode: SyncMode.Manual, }); await eventCollectorD1.waitAndVerifyNthEvent(1, { status: DocStatus.Attached, actorID: c1ID, }); await eventCollectorD2.waitAndVerifyNthEvent(1, { status: DocStatus.Attached, actorID: c2ID, }); // 2. When c1 removes a document, it receives a removed event. await c1.remove(d1); await eventCollectorD1.waitAndVerifyNthEvent(2, { status: DocStatus.Removed, }); // 3. When c2 deactivates, it should also receive a removed event. await c2.deactivate(); // NOTE(chacha912): For now, document status changes to `Detached` when deactivating. // This behavior may change in the future. await eventCollectorD2.waitAndVerifyNthEvent(2, { status: DocStatus.Detached, }); await c1.deactivate(); unsub1(); unsub2(); }); describe('Undo/Redo', function () { it('Can canUndo/canRedo work properly', async function ({ task }) { type TestDoc = { counter: Counter }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document(docKey); doc.update((root) => { root.counter = new Counter(100); }, 'init counter'); assert.equal(doc.toSortedJSON(), '{"counter":100}'); assert.equal(doc.history.canUndo(), true); assert.equal(doc.history.canRedo(), false); // user increases the counter doc.update((root) => { root.counter.increase(1); }, 'increase 1'); assert.equal(doc.toSortedJSON(), '{"counter":101}'); // user can only undo the latest operation assert.equal(doc.history.canUndo(), true); assert.equal(doc.history.canRedo(), false); // user undoes the latest operation doc.history.undo(); assert.equal(doc.history.canUndo(), true); assert.equal(doc.history.canRedo(), true); // user redoes the latest undone operation doc.history.redo(); assert.equal(doc.history.canUndo(), true); assert.equal(doc.history.canRedo(), false); assert.equal(doc.toSortedJSON(), '{"counter":101}'); }); it('doc.update should clear redo stack', async function ({ task }) { type TestDoc = { counter: Counter }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document(docKey); doc.update((root) => { root.counter = new Counter(100); }, 'init counter'); assert.equal(doc.toSortedJSON(), '{"counter":100}'); assert.equal(doc.history.canUndo(), true); assert.equal(doc.history.canRedo(), false); for (let i = 0; i < 5; i++) { doc.update((root) => { root.counter.increase(1); }, 'increase 1'); assert.equal(doc.toSortedJSON(), `{"counter":${100 + i + 1}}`); } assert.equal(doc.history.canUndo(), true); assert.equal(doc.history.canRedo(), false); doc.history.undo(); assert.equal(doc.history.canUndo(), true); assert.equal(doc.history.canRedo(), true); doc.update((root) => { root.counter.increase(1); }, 'increase 1'); // doc.update() clears redo stack assert.equal(doc.history.canUndo(), true); assert.equal(doc.history.canRedo(), false); }); it('undo/redo with empty stack must throw error', async function ({ task, }) { type TestDoc = { counter: Counter }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document(docKey); // Calling undo/redo with empty stacks should be a no-op doc.history.undo(); doc.history.redo(); }); it('update() that contains undo/redo must throw error', async function ({ task, }) { type TestDoc = { counter: Counter }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document(docKey); doc.update((root) => { root.counter = new Counter(100); }, 'init counter'); assert.equal(doc.toSortedJSON(), '{"counter":100}'); assert.equal(doc.history.canUndo(), true); assert.equal(doc.history.canRedo(), false); assert.throws( () => { doc.update(() => { doc.history.undo(); }, 'undo'); }, Error, 'Undo is not allowed during an update', ); assert.throws( () => { doc.update(() => { doc.history.redo(); }, 'redo'); }, Error, 'Redo is not allowed during an update', ); }); it('maximum undo/redo stack test', async function ({ task }) { type TestDoc = { counter: Counter }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document(docKey); doc.update((root) => { root.counter = new Counter(0); }, 'init counter'); assert.equal(doc.toSortedJSON(), '{"counter":0}'); assert.equal(doc.history.canUndo(), true); assert.equal(doc.history.canRedo(), false); for (let i = 0; i < 100; i++) { doc.update((root) => { root.counter.increase(1); }, 'increase loop'); } assert.equal(doc.toSortedJSON(), '{"counter":100}'); for (let i = 0; i < 100; i++) { doc.history.undo(); } assert.equal(doc.toSortedJSON(), '{"counter":50}'); for (let i = 0; i < 100; i++) { doc.history.redo(); } assert.equal(doc.toSortedJSON(), '{"counter":100}'); }); }); describe('Document with InitialRoot', function () { it('Can attach with InitialRoot', async function ({ task }) { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); // 01. attach and initialize document const doc1 = new yorkie.Document(docKey); await c1.attach(doc1, { initialRoot: { counter: new Counter(0), content: { x: 1, y: 1 }, }, }); assert.equal( doc1.toSortedJSON(), '{"content":{"x":1,"y":1},"counter":0}', ); await c1.sync(); // 02. attach and initialize document with new fields and if key already exists, it will be discarded const doc2 = new yorkie.Document(docKey); await c2.attach(doc2, { initialRoot: { counter: new Counter(1), content: { x: 1, y: 2 }, new: { k: 'v' }, }, }); assert.equal( doc2.toSortedJSON(), '{"content":{"x":1,"y":1},"counter":0,"new":{"k":"v"}}', ); await c1.deactivate(); await c2.deactivate(); }); it('Can handle concurrent attach with InitialRoot', async function ({ task, }) { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); // 01. user1 attach with initialRoot and client doesn't sync const doc1 = new yorkie.Document(docKey); await c1.attach(doc1, { syncMode: SyncMode.Manual, initialRoot: { writer: 'user1' }, }); assert.equal(doc1.toSortedJSON(), '{"writer":"user1"}'); // 02. user2 attach with initialRoot and client doesn't sync const doc2 = new yorkie.Document(docKey); await c2.attach(doc2, { syncMode: SyncMode.Manual, initialRoot: { writer: 'user2' }, }); assert.equal(doc2.toSortedJSON(), '{"writer":"user2"}'); // 03. user1 sync first and user2 seconds await c1.sync(); await c2.sync(); // 04. user1's local document's writer was user1 assert.equal(doc1.toSortedJSON(), '{"writer":"user1"}'); assert.equal(doc2.toSortedJSON(), '{"writer":"user2"}'); // 05. user1's local document's writer is overwritten by user2 await c1.sync(); assert.equal(doc1.toSortedJSON(), '{"writer":"user2"}'); await c1.deactivate(); await c2.deactivate(); }); describe('With various types', () => { const testCases: Array<{ name: string; input: JSONElement | Json; expectedJSON: string; }> = [ { name: 'tree', input: new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'ab' }] }, ], }), expectedJSON: `{"tree":{"type":"doc","children":[{"type":"p","children":[{"type":"text","value":"ab"}]}]}}`, }, { name: 'text', input: new Text(), expectedJSON: `{"text":[]}`, }, { name: 'counter', input: new Counter(1), expectedJSON: `{"counter":1}`, }, { name: 'null', input: null, expectedJSON: `{"null":null}`, }, { name: 'boolean', input: true, expectedJSON: `{"boolean":true}`, }, { name: 'number', input: 1, expectedJSON: `{"number":1}`, }, { name: 'long', input: 9223372036854775807n, expectedJSON: `{"long":9223372036854775807}`, }, { name: 'object', input: { k: 'v' }, expectedJSON: `{"object":{"k":"v"}}`, }, { name: 'array', input: [1, 2], expectedJSON: `{"array":[1,2]}`, }, // TODO(hackerwins): We need to consider the case where the value is // a byte array and a date. { name: 'bytes', input: new Uint8Array([1, 2]), expectedJSON: `{"bytes":"AQI="}`, }, // { // name: 'Date', // input: new Date(0), // expectedJSON: `{"k":"1970-01-01T00:00:00.000Z"}`, // }, ]; for (const { name: name, input, expectedJSON } of testCases) { it(`Can support various types: ${name}`, async function ({ task }) { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); const docKey = toDocKey( `${task.name}-${name}-${new Date().getTime()}`, ); type DocType = { tree?: Tree; text?: Text; counter?: Counter; null?: null; boolean?: boolean; number?: number; long?: bigint; object?: { k: string }; array?: Array; bytes?: Uint8Array; // date: Date; }; const doc = new yorkie.Document(docKey); await c1.attach(doc, { initialRoot: { [name]: input, }, }); assert.equal(doc.toSortedJSON(), expectedJSON); await c1.deactivate(); }); } }); }); }); ================================================ FILE: packages/sdk/test/integration/epoch_mismatch_test.ts ================================================ /* * Copyright 2025 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { describe, it, beforeAll, expect } from 'vitest'; import yorkie, { SyncMode, DocEventType } from '@yorkie-js/sdk/src/yorkie'; import { EventCollector } from '@yorkie-js/sdk/test/helper/helper'; import { toDocKey, testRPCAddr, testAPIID, testAPIPW, } from '@yorkie-js/sdk/test/integration/integration_helper'; import axios from 'axios'; let projectSecretKey: string; beforeAll(async () => { const loginResponse = await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/LogIn`, { username: testAPIID, password: testAPIPW }, ); const adminToken = loginResponse.data.token; const listResponse = await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/ListProjects`, {}, { headers: { Authorization: `Bearer ${adminToken}` } }, ); const defaultProject = listResponse.data.projects.find( (p: { name: string }) => p.name === 'default', ); projectSecretKey = defaultProject.secretKey; }); // NOTE: This test requires a Yorkie server with epoch support (yorkie-team/yorkie#1714). // It will fail against older server images that lack CompactDocumentByAdmin epoch handling. describe('Epoch Mismatch', () => { it('should emit epoch-mismatch event after force compaction', async () => { const client = new yorkie.Client({ rpcAddr: testRPCAddr }); await client.activate(); const docKey = toDocKey(`epoch-mismatch-${Date.now()}`); const doc = new yorkie.Document<{ text: string }>(docKey); await client.attach(doc, { syncMode: SyncMode.Manual }); doc.update((root) => { root.text = 'hello'; }); await client.sync(doc); // Force compact via admin API await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/CompactDocumentByAdmin`, { document_key: docKey, force: true }, { headers: { Authorization: `API-Key ${projectSecretKey}` } }, ); // Subscribe to epoch-mismatch event before syncing const collector = new EventCollector(); doc.subscribe('epoch-mismatch', (event) => { expect(event.type).toBe(DocEventType.EpochMismatch); expect(event.value.method).toBe('PushPull'); collector.add(event.type); }); // Sync should fail with epoch mismatch try { await client.sync(doc); expect.fail('sync should have thrown'); } catch (err) { expect((err as Error).message).toContain('epoch mismatch'); } await collector.waitAndVerifyNthEvent(1, DocEventType.EpochMismatch); // Recovery: detach and reattach await client.detach(doc); const doc2 = new yorkie.Document<{ text: string }>(docKey); await client.attach(doc2, { syncMode: SyncMode.Manual }); expect(doc2.toSortedJSON()).toBe('{"text":"hello"}'); // Further edits work normally doc2.update((root) => { root.text = 'hello world'; }); await client.sync(doc2); expect(doc2.toSortedJSON()).toBe('{"text":"hello world"}'); await client.detach(doc2); await client.deactivate(); }); }); ================================================ FILE: packages/sdk/test/integration/gc_test.ts ================================================ import { describe, it, assert } from 'vitest'; import yorkie, { Text, Tree, SyncMode } from '@yorkie-js/sdk/src/yorkie'; import { testRPCAddr, toDocKey, } from '@yorkie-js/sdk/test/integration/integration_helper'; import { maxVectorOf, vectorOf, DefaultSnapshotThreshold, } from '../helper/helper'; import { InitialActorID } from '@yorkie-js/sdk/src/document/time/actor_id'; describe('Garbage Collection', function () { it('getGarbageLen should return the actual number of elements garbage-collected', async function ({ task, }) { type TestDoc = { point?: { x?: number; y?: number } }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const d1 = new yorkie.Document(docKey); const d2 = new yorkie.Document(docKey); const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); // 1. initial state await c1.attach(d1, { syncMode: SyncMode.Manual }); d1.update((root) => (root.point = { x: 0, y: 0 })); await c1.sync(); await c2.attach(d2, { syncMode: SyncMode.Manual }); // 2. client1 updates doc d1.update((root) => { delete root.point; }); assert.equal(d1.getGarbageLen(), 3); // point, x, y // 3. client2 updates doc d2.update((root) => { delete root.point?.x; }); assert.equal(d2.getGarbageLen(), 1); // x await c1.sync(); await c2.sync(); await c1.sync(); const gcNodeLen = 3; // point, x, y assert.equal(d1.getGarbageLen(), gcNodeLen); assert.equal(d2.getGarbageLen(), gcNodeLen); // Actual garbage-collected nodes assert.equal( d1.garbageCollect(maxVectorOf([c1.getID()!, c2.getID()!])), gcNodeLen, ); assert.equal( d2.garbageCollect(maxVectorOf([c1.getID()!, c2.getID()!])), gcNodeLen, ); await c1.deactivate(); await c2.deactivate(); }); it('Can handle tree garbage collection for multi client', async function ({ task, }) { const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const d1 = new yorkie.Document<{ t: Tree }>(docKey); const d2 = new yorkie.Document<{ t: Tree }>(docKey); const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); await c1.attach(d1, { syncMode: SyncMode.Manual }); assert.deepEqual(vectorOf([]), d1.getVersionVector()); await c2.attach(d2, { syncMode: SyncMode.Manual }); assert.deepEqual(vectorOf([]), d2.getVersionVector()); d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [ { type: 'tn', children: [ { type: 'text', value: 'a' }, { type: 'text', value: 'b' }, ], }, { type: 'tn', children: [{ type: 'text', value: 'cd' }] }, ], }, ], }); }); assert.deepEqual( vectorOf([{ c: c1.getID()!, l: 1n }]), d1.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 0); assert.equal(d2.getGarbageLen(), 0); await c1.sync(); assert.deepEqual( vectorOf([{ c: c1.getID()!, l: 1n }]), d1.getVersionVector(), ); await c2.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 2n }, ]), d2.getVersionVector(), ); d2.update((root) => { root.t.editByPath([0, 0, 0], [0, 0, 2], { type: 'text', value: 'gh' }); }, 'removes 2'); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 3n }, ]), d2.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 0); assert.equal(d2.getGarbageLen(), 2); // (1, 1) -> (1, 2): syncedseqs:(0, 1) await c2.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 3n }, ]), d2.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 0); assert.equal(d2.getGarbageLen(), 2); await c1.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 4n }, { c: c2.getID()!, l: 3n }, ]), d1.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 2); assert.equal(d2.getGarbageLen(), 2); await c2.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 3n }, ]), d2.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 2); assert.equal(d2.getGarbageLen(), 2); await c1.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 4n }, { c: c2.getID()!, l: 3n }, ]), d1.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 0); assert.equal(d2.getGarbageLen(), 2); await c2.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 3n }, ]), d2.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 0); assert.equal(d2.getGarbageLen(), 0); await c1.detach(d1); await c2.detach(d2); await c1.deactivate(); await c2.deactivate(); }); it('Can handle garbage collection for container type', async function ({ task, }) { type TestDoc = { 1: number; 2?: Array; 3: number }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const d1 = new yorkie.Document(docKey); const d2 = new yorkie.Document(docKey); const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); await c1.attach(d1, { syncMode: SyncMode.Manual }); assert.deepEqual(vectorOf([]), d1.getVersionVector()); await c2.attach(d2, { syncMode: SyncMode.Manual }); assert.deepEqual(vectorOf([]), d2.getVersionVector()); d1.update((root) => { root['1'] = 1; root['2'] = [1, 2, 3]; root['3'] = 3; }, 'sets 1, 2, 3'); assert.deepEqual( vectorOf([{ c: c1.getID()!, l: 1n }]), d1.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 0); assert.equal(d2.getGarbageLen(), 0); await c1.sync(); assert.deepEqual( vectorOf([{ c: c1.getID()!, l: 1n }]), d1.getVersionVector(), ); await c2.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 2n }, ]), d2.getVersionVector(), ); d2.update((root) => { delete root['2']; }, 'removes 2'); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 3n }, ]), d2.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 0); assert.equal(d2.getGarbageLen(), 4); await c2.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 3n }, ]), d2.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 0); assert.equal(d2.getGarbageLen(), 4); await c1.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 4n }, { c: c2.getID()!, l: 3n }, ]), d1.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 4); assert.equal(d2.getGarbageLen(), 4); await c2.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 3n }, ]), d2.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 4); assert.equal(d2.getGarbageLen(), 4); await c1.sync(); await c1.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 4n }, { c: c2.getID()!, l: 3n }, ]), d1.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 0); assert.equal(d2.getGarbageLen(), 4); await c2.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 3n }, ]), d2.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 0); assert.equal(d2.getGarbageLen(), 0); await c1.detach(d1); await c2.detach(d2); await c1.deactivate(); await c2.deactivate(); }); it('Can handle garbage collection for text type', async function ({ task }) { type TestDoc = { text: Text; textWithAttr: Text }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const d1 = new yorkie.Document(docKey); const d2 = new yorkie.Document(docKey); const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); await c1.attach(d1, { syncMode: SyncMode.Manual }); assert.deepEqual(vectorOf([]), d1.getVersionVector()); await c2.attach(d2, { syncMode: SyncMode.Manual }); assert.deepEqual(vectorOf([]), d2.getVersionVector()); d1.update((root) => { root.text = new Text(); root.text.edit(0, 0, 'Hello World'); root.textWithAttr = new Text(); root.textWithAttr.edit(0, 0, 'Hello World'); }, 'sets text'); assert.deepEqual( vectorOf([{ c: c1.getID()!, l: 1n }]), d1.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 0); assert.equal(d2.getGarbageLen(), 0); await c1.sync(); assert.deepEqual( vectorOf([{ c: c1.getID()!, l: 1n }]), d1.getVersionVector(), ); await c2.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 2n }, ]), d2.getVersionVector(), ); d2.update((root) => { root.text.edit(0, 1, 'a'); root.text.edit(1, 2, 'b'); root.textWithAttr.edit(0, 1, 'a', { b: '1' }); }, 'edit text type elements'); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 3n }, ]), d2.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 0); assert.equal(d2.getGarbageLen(), 3); await c2.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 3n }, ]), d2.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 0); assert.equal(d2.getGarbageLen(), 3); await c1.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 4n }, { c: c2.getID()!, l: 3n }, ]), d1.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 3); assert.equal(d2.getGarbageLen(), 3); await c2.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 3n }, ]), d2.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 3); assert.equal(d2.getGarbageLen(), 3); await c1.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 4n }, { c: c2.getID()!, l: 3n }, ]), d1.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 0); assert.equal(d2.getGarbageLen(), 3); await c2.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 3n }, ]), d2.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 0); assert.equal(d2.getGarbageLen(), 0); await c1.detach(d1); await c2.detach(d2); await c1.deactivate(); await c2.deactivate(); }); it('Can handle garbage collection with detached document test', async function ({ task, }) { type TestDoc = { 1: number; 2?: Array; 3: number; 4: Text; 5: Text; }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const d1 = new yorkie.Document(docKey); const d2 = new yorkie.Document(docKey); const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); await c1.attach(d1, { syncMode: SyncMode.Manual }); assert.deepEqual(vectorOf([]), d1.getVersionVector()); await c2.attach(d2, { syncMode: SyncMode.Manual }); assert.deepEqual(vectorOf([]), d2.getVersionVector()); d1.update((root) => { root['1'] = 1; root['2'] = [1, 2, 3]; root['3'] = 3; root['4'] = new Text(); root['4'].edit(0, 0, 'hi'); root['5'] = new Text(); root['5'].edit(0, 0, 'hi'); }, 'sets 1, 2, 3, 4, 5'); assert.deepEqual( vectorOf([{ c: c1.getID()!, l: 1n }]), d1.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 0); assert.equal(d2.getGarbageLen(), 0); await c1.sync(); assert.deepEqual( d1.getVersionVector(), vectorOf([{ c: c1.getID()!, l: 1n }]), ); await c2.sync(); assert.deepEqual( d2.getVersionVector(), vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 2n }, ]), ); d1.update((root) => { delete root['2']; root['4'].edit(0, 1, 'h'); root['5'].edit(0, 1, 'h', { b: '1' }); }, 'removes 2 and edit text type elements'); assert.deepEqual( vectorOf([{ c: c1.getID()!, l: 2n }]), d1.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 6); assert.equal(d2.getGarbageLen(), 0); await c1.sync(); assert.deepEqual( vectorOf([{ c: c1.getID()!, l: 2n }]), d1.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 6); assert.equal(d2.getGarbageLen(), 0); await c2.detach(d2); await c2.sync(); assert.equal(d1.getGarbageLen(), 6); assert.equal(d2.getGarbageLen(), 6); await c1.sync(); // TODO(JOOHOJANG): we have to consider removing detached client's lamport from version vector assert.deepEqual( vectorOf([{ c: c1.getID()!, l: 2n }]), d1.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 0); assert.equal(d2.getGarbageLen(), 6); await c1.detach(d1); await c1.deactivate(); await c2.deactivate(); }); it('Can collect removed elements from both root and clone', async function ({ task, }) { type TestDoc = { point: { x: number; y: number } }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document(docKey); const cli = new yorkie.Client({ rpcAddr: testRPCAddr }); await cli.activate(); await cli.attach(doc, { syncMode: SyncMode.Manual }); assert.deepEqual(vectorOf([]), doc.getVersionVector()); doc.update((root) => { root.point = { x: 0, y: 0 }; }); assert.deepEqual( vectorOf([{ c: cli.getID()!, l: 1n }]), doc.getVersionVector(), ); doc.update((root) => { root.point = { x: 1, y: 1 }; }); assert.deepEqual( vectorOf([{ c: cli.getID()!, l: 2n }]), doc.getVersionVector(), ); doc.update((root) => { root.point = { x: 2, y: 2 }; }); assert.deepEqual( vectorOf([{ c: cli.getID()!, l: 3n }]), doc.getVersionVector(), ); assert.equal(doc.getGarbageLen(), 6); assert.equal(doc.getGarbageLenFromClone(), 6); }); it('Can collect removed elements from both root and clone for nested array', async function ({ task, }) { type TestDoc = { list: Array> }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document(docKey); const cli = new yorkie.Client({ rpcAddr: testRPCAddr }); await cli.activate(); await cli.attach(doc, { syncMode: SyncMode.Manual }); assert.deepEqual(vectorOf([]), doc.getVersionVector()); doc.update((root) => { root.list = [0, 1, 2]; root.list.push([3, 4, 5]); }); assert.deepEqual( vectorOf([{ c: cli.getID()!, l: 1n }]), doc.getVersionVector(), ); assert.equal('{"list":[0,1,2,[3,4,5]]}', doc.toJSON()); doc.update((root) => { delete root.list[1]; }); assert.deepEqual( vectorOf([{ c: cli.getID()!, l: 2n }]), doc.getVersionVector(), ); assert.equal('{"list":[0,2,[3,4,5]]}', doc.toJSON()); doc.update((root) => { delete (root.list[2] as Array)[1]; }); assert.deepEqual( vectorOf([{ c: cli.getID()!, l: 3n }]), doc.getVersionVector(), ); assert.equal('{"list":[0,2,[3,5]]}', doc.toJSON()); assert.equal(doc.getGarbageLen(), 2); assert.equal(doc.getGarbageLenFromClone(), 2); }); it('Can purges removed elements after peers can not access them', async function ({ task, }) { type TestDoc = { point: { x: number; y: number } }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const d1 = new yorkie.Document(docKey); const d2 = new yorkie.Document(docKey); const client1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const client2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await client1.activate(); await client2.activate(); await client1.attach(d1, { syncMode: SyncMode.Manual }); assert.deepEqual(vectorOf([]), d1.getVersionVector()); d1.update((root) => (root.point = { x: 0, y: 0 })); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 1n }]), d1.getVersionVector(), ); d1.update((root) => (root.point.x = 1)); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 2n }]), d1.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 1); await client1.sync(); assert.equal(d1.getGarbageLen(), 0); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 2n }]), d1.getVersionVector(), ); await client2.attach(d2, { syncMode: SyncMode.Manual }); assert.deepEqual( vectorOf([ { c: client1.getID()!, l: 2n }, { c: client2.getID()!, l: 3n }, ]), d2.getVersionVector(), ); assert.equal(d2.getGarbageLen(), 1); d2.update((root) => (root.point.x = 2)); assert.deepEqual( vectorOf([ { c: client1.getID()!, l: 2n }, { c: client2.getID()!, l: 4n }, ]), d2.getVersionVector(), ); assert.equal(d2.getGarbageLen(), 2); d1.update((root) => (root.point = { x: 3, y: 3 })); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 3n }]), d1.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 3); await client1.sync(); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 3n }]), d1.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 3); await client1.sync(); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 3n }]), d1.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 3); await client2.sync(); assert.deepEqual( vectorOf([ { c: client1.getID()!, l: 3n }, { c: client2.getID()!, l: 5n }, ]), d2.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 3); await client1.sync(); assert.deepEqual( vectorOf([ { c: client1.getID()!, l: 5n }, { c: client2.getID()!, l: 4n }, ]), d1.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 4); await client2.sync(); assert.equal(d1.getGarbageLen(), 4); await client1.sync(); assert.equal(d1.getGarbageLen(), 0); await client2.sync(); assert.equal(d2.getGarbageLen(), 0); await client1.deactivate(); await client2.deactivate(); }); it('garbage collection test for nested object', async function ({ task }) { type TestDoc = { shape?: { point?: { x?: number; y?: number } } }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document(docKey); doc.update((root) => { root.shape = { point: { x: 0, y: 0 } }; delete root.shape; }); assert.equal(doc.getGarbageLen(), 4); // shape, point, x, y assert.equal( doc.garbageCollect(maxVectorOf([doc.getChangeID().getActorID()])), 4, ); // The number of GC nodes must also be 4. }); it('Should work properly when there are multiple nodes to be collected in text type', async function ({ task, }) { type TestDoc = { t: Text }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const d1 = new yorkie.Document(docKey); const d2 = new yorkie.Document(docKey); const client1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const client2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await client1.activate(); await client2.activate(); await client1.attach(d1, { syncMode: SyncMode.Manual }); assert.deepEqual(vectorOf([]), d1.getVersionVector()); await client2.attach(d2, { syncMode: SyncMode.Manual }); assert.deepEqual(vectorOf([]), d2.getVersionVector()); d1.update((root) => { root.t = new yorkie.Text(); root.t.edit(0, 0, 'z'); }); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 1n }]), d1.getVersionVector(), ); d1.update((root) => { root.t.edit(0, 1, 'a'); }); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 2n }]), d1.getVersionVector(), ); d1.update((root) => { root.t.edit(1, 1, 'b'); }); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 3n }]), d1.getVersionVector(), ); d1.update((root) => { root.t.edit(2, 2, 'd'); }); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 4n }]), d1.getVersionVector(), ); await client1.sync(); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 4n }]), d1.getVersionVector(), ); await client2.sync(); assert.deepEqual( vectorOf([ { c: client1.getID()!, l: 4n }, { c: client2.getID()!, l: 5n }, ]), d2.getVersionVector(), ); assert.equal(d1.getRoot().t.toString(), 'abd'); assert.equal(d2.getRoot().t.toString(), 'abd'); assert.equal(d1.getGarbageLen(), 1); // z d1.update((root) => { root.t.edit(2, 2, 'c'); }); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 5n }]), d1.getVersionVector(), ); await client1.sync(); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 5n }]), d1.getVersionVector(), ); await client2.sync(); assert.deepEqual( vectorOf([ { c: client1.getID()!, l: 5n }, { c: client2.getID()!, l: 6n }, ]), d2.getVersionVector(), ); await client1.sync(); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 5n }]), d1.getVersionVector(), ); assert.equal(d1.getRoot().t.toString(), 'abcd'); assert.equal(d2.getRoot().t.toString(), 'abcd'); d1.update((root) => { root.t.edit(1, 3, ''); }); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 6n }]), d1.getVersionVector(), ); await client1.sync(); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 6n }]), d1.getVersionVector(), ); assert.equal(d1.getRoot().t.toString(), 'ad'); assert.equal(d1.getGarbageLen(), 2); // b,c await client2.sync(); assert.deepEqual( vectorOf([ { c: client1.getID()!, l: 6n }, { c: client2.getID()!, l: 7n }, ]), d2.getVersionVector(), ); await client1.sync(); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 6n }]), d1.getVersionVector(), ); await client2.sync(); assert.equal(d2.getGarbageLen(), 0); assert.equal(d2.getRoot().t.toString(), 'ad'); await client1.sync(); assert.equal(d1.getGarbageLen(), 0); await client1.deactivate(); await client2.deactivate(); }); it('Should work properly when there are multiple nodes to be collected in tree type', async function ({ task, }) { type TestDoc = { t: Tree }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const d1 = new yorkie.Document(docKey); const d2 = new yorkie.Document(docKey); const client1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const client2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await client1.activate(); await client2.activate(); await client1.attach(d1, { syncMode: SyncMode.Manual }); assert.deepEqual(vectorOf([]), d1.getVersionVector()); await client2.attach(d2, { syncMode: SyncMode.Manual }); assert.deepEqual(vectorOf([]), d2.getVersionVector()); d1.update((root) => { root.t = new yorkie.Tree({ type: 'r', children: [ { type: 'text', value: 'z', }, ], }); }); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 1n }]), d1.getVersionVector(), ); d1.update((root) => { root.t.editByPath([0], [1], { type: 'text', value: 'a', }); }); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 2n }]), d1.getVersionVector(), ); d1.update((root) => { root.t.editByPath([1], [1], { type: 'text', value: 'b', }); }); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 3n }]), d1.getVersionVector(), ); d1.update((root) => { root.t.editByPath([2], [2], { type: 'text', value: 'd', }); }); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 4n }]), d1.getVersionVector(), ); await client1.sync(); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 4n }]), d1.getVersionVector(), ); await client2.sync(); assert.deepEqual( vectorOf([ { c: client1.getID()!, l: 4n }, { c: client2.getID()!, l: 5n }, ]), d2.getVersionVector(), ); assert.equal(d1.getRoot().t.toXML(), 'abd'); assert.equal(d2.getRoot().t.toXML(), 'abd'); assert.equal(d1.getGarbageLen(), 1); // z d1.update((root) => { root.t.editByPath([2], [2], { type: 'text', value: 'c', }); }); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 5n }]), d1.getVersionVector(), ); await client1.sync(); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 5n }]), d1.getVersionVector(), ); await client2.sync(); assert.deepEqual( vectorOf([ { c: client1.getID()!, l: 5n }, { c: client2.getID()!, l: 6n }, ]), d2.getVersionVector(), ); assert.equal(d1.getRoot().t.toXML(), 'abcd'); assert.equal(d2.getRoot().t.toXML(), 'abcd'); d1.update((root) => { root.t.editByPath([1], [3]); }); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 6n }]), d1.getVersionVector(), ); await client1.sync(); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 6n }]), d1.getVersionVector(), ); assert.equal(d1.getRoot().t.toXML(), 'ad'); assert.equal(d1.getGarbageLen(), 2); // b,c await client2.sync(); assert.deepEqual( vectorOf([ { c: client1.getID()!, l: 6n }, { c: client2.getID()!, l: 7n }, ]), d2.getVersionVector(), ); await client1.sync(); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 6n }]), d1.getVersionVector(), ); assert.equal(d2.getRoot().t.toXML(), 'ad'); assert.equal(d1.getGarbageLen(), 2); await client2.sync(); assert.deepEqual( vectorOf([ { c: client1.getID()!, l: 6n }, { c: client2.getID()!, l: 7n }, ]), d2.getVersionVector(), ); assert.equal(d2.getRoot().t.toXML(), 'ad'); assert.equal(d2.getGarbageLen(), 0); await client1.sync(); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 6n }]), d1.getVersionVector(), ); assert.equal(d1.getRoot().t.toXML(), 'ad'); assert.equal(d1.getGarbageLen(), 0); await client1.deactivate(); await client2.deactivate(); }); it('concurrent garbage collection test', async function ({ task }) { type TestDoc = { t: Text }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const d1 = new yorkie.Document(docKey); const d2 = new yorkie.Document(docKey); const client1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const client2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await client1.activate(); await client2.activate(); await client1.attach(d1, { syncMode: SyncMode.Manual }); assert.deepEqual(vectorOf([]), d1.getVersionVector()); await client2.attach(d2, { syncMode: SyncMode.Manual }); assert.deepEqual(vectorOf([]), d2.getVersionVector()); d1.update((root) => { root.t = new Text(); root.t.edit(0, 0, 'a'); root.t.edit(1, 1, 'b'); root.t.edit(2, 2, 'c'); }, 'sets text'); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 1n }]), d1.getVersionVector(), ); await client1.sync(); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 1n }]), d1.getVersionVector(), ); await client2.sync(); assert.deepEqual( vectorOf([ { c: client1.getID()!, l: 1n }, { c: client2.getID()!, l: 2n }, ]), d2.getVersionVector(), ); d2.update((root) => { root.t.edit(2, 2, 'c'); }, 'insert c'); assert.deepEqual( vectorOf([ { c: client1.getID()!, l: 1n }, { c: client2.getID()!, l: 3n }, ]), d2.getVersionVector(), ); d1.update((root) => { root.t.edit(1, 3, ''); }, 'delete bd'); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 2n }]), d1.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 2); assert.equal(d2.getGarbageLen(), 0); await client1.sync(); assert.deepEqual( vectorOf([{ c: client1.getID()!, l: 2n }]), d1.getVersionVector(), ); await client2.sync(); assert.deepEqual( vectorOf([ { c: client1.getID()!, l: 2n }, { c: client2.getID()!, l: 4n }, ]), d2.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 2); assert.equal(d2.getGarbageLen(), 2); d2.update((root) => { root.t.edit(2, 2, '1'); }, 'insert 1'); assert.deepEqual( vectorOf([ { c: client1.getID()!, l: 2n }, { c: client2.getID()!, l: 5n }, ]), d2.getVersionVector(), ); await client2.sync(); assert.deepEqual( vectorOf([ { c: client1.getID()!, l: 2n }, { c: client2.getID()!, l: 5n }, ]), d2.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 2); assert.equal(d2.getGarbageLen(), 0); await client1.sync(); assert.deepEqual( vectorOf([ { c: client1.getID()!, l: 6n }, { c: client2.getID()!, l: 5n }, ]), d1.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 0); assert.equal(d2.getGarbageLen(), 0); await client1.deactivate(); await client2.deactivate(); }); it('concurrent garbage collection test(with pushonly)', async function ({ task, }) { type TestDoc = { t: Text }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const d1 = new yorkie.Document(docKey); const d2 = new yorkie.Document(docKey); const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); await c1.attach(d1, { syncMode: SyncMode.Manual }); assert.deepEqual(vectorOf([]), d1.getVersionVector()); await c2.attach(d2, { syncMode: SyncMode.Manual }); assert.deepEqual(vectorOf([]), d2.getVersionVector()); // d1/vv = [c1:1] d1.update((root) => { root.t = new Text(); root.t.edit(0, 0, 'a'); root.t.edit(1, 1, 'b'); }, 'insert ab'); assert.deepEqual( vectorOf([{ c: c1.getID()!, l: 1n }]), d1.getVersionVector(), ); await c1.sync(); assert.deepEqual( vectorOf([{ c: c1.getID()!, l: 1n }]), d1.getVersionVector(), ); await c2.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 2n }, ]), d2.getVersionVector(), ); // d2/vv = [c1:1, c2:3] d2.update((root) => { root.t.edit(2, 2, 'd'); }, 'insert d'); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 3n }, ]), d2.getVersionVector(), ); await c2.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 3n }, ]), d2.getVersionVector(), ); await c1.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 4n }, { c: c2.getID()!, l: 3n }, ]), d1.getVersionVector(), ); // d2/vv = [c1:1, c2:4] d2.update((root) => { root.t.edit(2, 2, 'c'); }, 'insert c'); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 4n }, ]), d2.getVersionVector(), ); // c1/vv = [c1:5, c2:3] d1.update((root) => { root.t.edit(1, 3, ''); }, 'remove ac'); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 5n }, { c: c2.getID()!, l: 3n }, ]), d1.getVersionVector(), ); // Sync with PushOnly await c2.changeSyncMode(d2, SyncMode.RealtimePushOnly); await c2.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 4n }, ]), d2.getVersionVector(), ); await c1.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 6n }, { c: c2.getID()!, l: 4n }, ]), d1.getVersionVector(), ); // d2/vv = [c1:1, c2:5] d2.update((root) => { root.t.edit(2, 2, '1'); }, 'insert 1 (pushonly)'); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 5n }, ]), d2.getVersionVector(), ); await c2.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 5n }, ]), d2.getVersionVector(), ); await c1.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 7n }, { c: c2.getID()!, l: 5n }, ]), d1.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 2); assert.equal(d2.getGarbageLen(), 0); // c2/vv = [c1:1, c2:6] d2.update((root) => { root.t.edit(2, 2, '2'); }, 'insert 2 (pushonly)'); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 6n }, ]), d2.getVersionVector(), ); await c2.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 6n }, ]), d2.getVersionVector(), ); await c2.changeSyncMode(d2, SyncMode.Manual); await c2.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 5n }, { c: c2.getID()!, l: 7n }, ]), d2.getVersionVector(), ); await c1.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 8n }, { c: c2.getID()!, l: 6n }, ]), d1.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 2); assert.equal(d2.getGarbageLen(), 2); await c2.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 5n }, { c: c2.getID()!, l: 7n }, ]), d2.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 2); assert.equal(d2.getGarbageLen(), 0); await c1.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 8n }, { c: c2.getID()!, l: 6n }, ]), d1.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 0); assert.equal(d2.getGarbageLen(), 0); await c1.deactivate(); await c2.deactivate(); }); it('gc targeting nodes made by deactivated client', async function ({ task, }) { type TestDoc = { t: Text }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const d1 = new yorkie.Document(docKey); const d2 = new yorkie.Document(docKey); const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); await c1.attach(d1, { syncMode: SyncMode.Manual }); assert.deepEqual(vectorOf([]), d1.getVersionVector()); await c2.attach(d2, { syncMode: SyncMode.Manual }); assert.deepEqual(vectorOf([]), d2.getVersionVector()); d1.update((root) => { root.t = new Text(); root.t.edit(0, 0, 'a'); root.t.edit(1, 1, 'b'); root.t.edit(2, 2, 'c'); }, 'sets text'); assert.deepEqual( vectorOf([{ c: c1.getID()!, l: 1n }]), d1.getVersionVector(), ); await c1.sync(); assert.deepEqual( vectorOf([{ c: c1.getID()!, l: 1n }]), d1.getVersionVector(), ); await c2.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 2n }, ]), d2.getVersionVector(), ); d2.update((root) => { root.t.edit(2, 2, 'c'); }, 'insert c'); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 3n }, ]), d2.getVersionVector(), ); d1.update((root) => { root.t.edit(1, 3, ''); }, 'delete bd'); assert.deepEqual( vectorOf([{ c: c1.getID()!, l: 2n }]), d1.getVersionVector(), ); await c1.sync(); await c2.sync(); await c1.deactivate(); assert.equal(d2.getGarbageLen(), 2); assert.equal(d2.getVersionVector().size(), 2); await c2.sync(); assert.equal(d2.getGarbageLen(), 0); // TODO(JOOHOJANG): we have to consider removing detached client's lamport from version vector assert.equal(d2.getVersionVector().size(), 2); }); it('attach > pushpull > detach lifecycle version vector test (run gc at last client detaches document, but no tombstone exsits)', async function ({ task, }) { type TestDoc = { t: Text }; const docKey = toDocKey(`${new Date().getTime()}-${task.name}`); const d1 = new yorkie.Document(docKey); const d2 = new yorkie.Document(docKey); const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); await c1.attach(d1, { syncMode: SyncMode.Manual }); assert.deepEqual(vectorOf([]), d1.getVersionVector()); await c2.attach(d2, { syncMode: SyncMode.Manual }); assert.deepEqual(vectorOf([]), d2.getVersionVector()); d1.update((root) => { root.t = new Text(); root.t.edit(0, 0, 'a'); root.t.edit(1, 1, 'b'); root.t.edit(2, 2, 'c'); }, 'sets text'); assert.deepEqual( vectorOf([{ c: c1.getID()!, l: 1n }]), d1.getVersionVector(), ); await c1.sync(); assert.deepEqual( vectorOf([{ c: c1.getID()!, l: 1n }]), d1.getVersionVector(), ); await c2.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 2n }, ]), d2.getVersionVector(), ); d2.update((root) => { root.t.edit(2, 2, 'c'); }, 'insert c'); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 3n }, ]), d2.getVersionVector(), ); d1.update((root) => { root.t.edit(1, 3, ''); }, 'delete bd'); assert.deepEqual( vectorOf([{ c: c1.getID()!, l: 2n }]), d1.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 2); assert.equal(d2.getGarbageLen(), 0); await c1.sync(); assert.deepEqual( vectorOf([{ c: c1.getID()!, l: 2n }]), d1.getVersionVector(), ); await c2.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 2n }, { c: c2.getID()!, l: 4n }, ]), d2.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 2); assert.equal(d2.getGarbageLen(), 2); d2.update((root) => { root.t.edit(2, 2, '1'); }, 'insert 1'); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 2n }, { c: c2.getID()!, l: 5n }, ]), d2.getVersionVector(), ); await c2.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 2n }, { c: c2.getID()!, l: 5n }, ]), d2.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 2); assert.equal(d2.getGarbageLen(), 0); await c1.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 6n }, { c: c2.getID()!, l: 5n }, ]), d1.getVersionVector(), ); await c1.detach(d1); await c2.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 2n }, { c: c2.getID()!, l: 5n }, ]), d2.getVersionVector(), ); d2.update((root) => { root.t.edit(0, 3, ''); }, 'delete all'); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 2n }, { c: c2.getID()!, l: 6n }, ]), d2.getVersionVector(), ); assert.equal(d2.getGarbageLen(), 3); await c2.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 2n }, { c: c2.getID()!, l: 6n }, ]), d2.getVersionVector(), ); assert.equal(d2.getGarbageLen(), 0); await c2.detach(d2); await c1.deactivate(); await c2.deactivate(); }); it('attach > pushpull > detach lifecycle version vector test (run gc at last client detaches document)', async function ({ task, }) { type TestDoc = { t: Text }; const docKey = toDocKey(`${new Date().getTime()}-${task.name}`); const d1 = new yorkie.Document(docKey); const d2 = new yorkie.Document(docKey); const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const client2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await client2.activate(); await c1.attach(d1, { syncMode: SyncMode.Manual }); assert.deepEqual(vectorOf([]), d1.getVersionVector()); await client2.attach(d2, { syncMode: SyncMode.Manual }); assert.deepEqual(vectorOf([]), d2.getVersionVector()); d1.update((root) => { root.t = new Text(); root.t.edit(0, 0, 'a'); root.t.edit(1, 1, 'b'); root.t.edit(2, 2, 'c'); }, 'sets text'); assert.deepEqual( vectorOf([{ c: c1.getID()!, l: 1n }]), d1.getVersionVector(), ); await c1.sync(); assert.deepEqual( vectorOf([{ c: c1.getID()!, l: 1n }]), d1.getVersionVector(), ); await client2.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: client2.getID()!, l: 2n }, ]), d2.getVersionVector(), ); d2.update((root) => { root.t.edit(2, 2, 'c'); }, 'insert c'); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: client2.getID()!, l: 3n }, ]), d2.getVersionVector(), ); d1.update((root) => { root.t.edit(1, 3, ''); }, 'delete bd'); assert.deepEqual( vectorOf([{ c: c1.getID()!, l: 2n }]), d1.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 2); assert.equal(d2.getGarbageLen(), 0); await c1.sync(); assert.deepEqual( vectorOf([{ c: c1.getID()!, l: 2n }]), d1.getVersionVector(), ); await client2.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 2n }, { c: client2.getID()!, l: 4n }, ]), d2.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 2); assert.equal(d2.getGarbageLen(), 2); d2.update((root) => { root.t.edit(2, 2, '1'); }, 'insert 1'); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 2n }, { c: client2.getID()!, l: 5n }, ]), d2.getVersionVector(), ); await client2.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 2n }, { c: client2.getID()!, l: 5n }, ]), d2.getVersionVector(), ); assert.equal(d1.getGarbageLen(), 2); assert.equal(d2.getGarbageLen(), 0); await c1.sync(); // TODO(JOOHOJANG): we have to consider removing detached client's lamport from version vector assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 6n }, { c: client2.getID()!, l: 5n }, ]), d1.getVersionVector(), ); await c1.detach(d1); await client2.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 2n }, { c: client2.getID()!, l: 5n }, ]), d2.getVersionVector(), ); d2.update((root) => { root.t.edit(0, 3, ''); }, 'delete all'); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 2n }, { c: client2.getID()!, l: 6n }, ]), d2.getVersionVector(), ); assert.equal(d2.getGarbageLen(), 3); await client2.detach(d2); assert.equal(d2.getGarbageLen(), 0); await c1.deactivate(); await client2.deactivate(); }); it('detach gc test', async function ({ task }) { type TestDoc = { t: Text }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const d1 = new yorkie.Document(docKey); const d2 = new yorkie.Document(docKey); const d3 = new yorkie.Document(docKey); const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c3 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); await c3.activate(); await c1.attach(d1, { syncMode: SyncMode.Manual }); await c2.attach(d2, { syncMode: SyncMode.Manual }); await c3.attach(d3, { syncMode: SyncMode.Manual }); await c1.sync(); await c2.sync(); await c3.sync(); assert.deepEqual(vectorOf([]), d1.getVersionVector()); assert.deepEqual(vectorOf([]), d2.getVersionVector()); assert.deepEqual(vectorOf([]), d3.getVersionVector()); d1.update((root) => { root.t = new Text(); root.t.edit(0, 0, 'a'); root.t.edit(1, 1, 'b'); root.t.edit(2, 2, 'c'); }, 'sets text'); await c1.sync(); await c2.sync(); await c3.sync(); assert.deepEqual( vectorOf([{ c: c1.getID()!, l: 1n }]), d1.getVersionVector(), ); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 2n }, ]), d2.getVersionVector(), ); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c3.getID()!, l: 2n }, ]), d3.getVersionVector(), ); d3.update((root) => { root.t.edit(1, 3, ''); }); d1.update((root) => { root.t.edit(0, 0, '1'); }); d1.update((root) => { root.t.edit(0, 0, '2'); }); d1.update((root) => { root.t.edit(0, 0, '3'); }); d2.update((root) => { root.t.edit(3, 3, 'x'); }); d2.update((root) => { root.t.edit(4, 4, 'y'); }); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.toJSON(), '{"t":[{"val":"3"},{"val":"2"},{"val":"1"},{"val":"a"},{"val":"b"},{"val":"c"},{"val":"x"},{"val":"y"}]}', ); assert.equal( d2.toJSON(), '{"t":[{"val":"3"},{"val":"2"},{"val":"1"},{"val":"a"},{"val":"b"},{"val":"c"},{"val":"x"},{"val":"y"}]}', ); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 6n }, { c: c2.getID()!, l: 4n }, ]), d1.getVersionVector(), ); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 4n }, { c: c2.getID()!, l: 7n }, ]), d2.getVersionVector(), ); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c3.getID()!, l: 3n }, ]), d3.getVersionVector(), ); await c3.detach(d3); d2.update((root) => { root.t.edit(5, 5, 'z'); }); await c1.sync(); assert.equal(d1.getGarbageLen(), 2); await c1.sync(); assert.equal(d1.getGarbageLen(), 2); await c2.sync(); await c1.sync(); // TODO(JOOHOJANG): we have to consider removing detached client's lamport from version vector assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 9n }, { c: c2.getID()!, l: 8n }, { c: c3.getID()!, l: 3n }, ]), d1.getVersionVector(), ); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 4n }, { c: c2.getID()!, l: 9n }, { c: c3.getID()!, l: 3n }, ]), d2.getVersionVector(), ); assert.equal( d1.toJSON(), '{"t":[{"val":"3"},{"val":"2"},{"val":"1"},{"val":"a"},{"val":"z"},{"val":"x"},{"val":"y"}]}', ); assert.equal( d2.toJSON(), '{"t":[{"val":"3"},{"val":"2"},{"val":"1"},{"val":"a"},{"val":"z"},{"val":"x"},{"val":"y"}]}', ); assert.equal(d1.getGarbageLen(), 2); assert.equal(d2.getGarbageLen(), 2); await c2.sync(); await c1.sync(); assert.equal(d1.getGarbageLen(), 0); assert.equal(d2.getGarbageLen(), 0); await c1.deactivate(); await c2.deactivate(); await c3.deactivate(); }); it('snapshot version vector test', async function ({ task }) { type TestDoc = { t: Text }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const d1 = new yorkie.Document(docKey); const d2 = new yorkie.Document(docKey); const d3 = new yorkie.Document(docKey); const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c3 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); await c3.activate(); await c1.attach(d1, { syncMode: SyncMode.Manual }); await c2.attach(d2, { syncMode: SyncMode.Manual }); await c3.attach(d3, { syncMode: SyncMode.Manual }); d1.update((root) => { root.t = new Text(); root.t.edit(0, 0, 'a'); }, 'sets text'); await c1.sync(); await c2.sync(); await c3.sync(); assert.deepEqual( vectorOf([{ c: c1.getID()!, l: 1n }]), d1.getVersionVector(), ); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c2.getID()!, l: 2n }, ]), d2.getVersionVector(), ); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c3.getID()!, l: 2n }, ]), d3.getVersionVector(), ); // 01. Updates changes over snapshot threshold. for (let idx = 0; idx < DefaultSnapshotThreshold / 2; idx++) { d1.update((root) => { root.t.edit(0, 0, `${idx % 10}`); }); await c1.sync(); await c2.sync(); d2.update((root) => { root.t.edit(0, 0, `${idx % 10}`); }); await c2.sync(); await c1.sync(); } assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1001n }, { c: c2.getID()!, l: 1000n }, ]), d1.getVersionVector(), ); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 998n }, { c: c2.getID()!, l: 1000n }, ]), d2.getVersionVector(), ); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 1n }, { c: c3.getID()!, l: 2n }, ]), d3.getVersionVector(), ); // 02. Makes local changes then pull a snapshot from the server. d3.update((root) => { root.t.edit(0, 0, 'c'); }); await c3.sync(); assert.deepEqual( vectorOf([ { c: c1.getID()!, l: 998n }, { c: c2.getID()!, l: 1000n }, { c: InitialActorID, l: 1002n }, { c: c3.getID()!, l: 1003n }, ]), d3.getVersionVector(), ); assert.equal( DefaultSnapshotThreshold + 2, d3.getRoot().t.toString().length, ); // 03. Delete text after receiving the snapshot. d3.update((root) => { root.t.edit(1, 3, ''); }); assert.equal(DefaultSnapshotThreshold, d3.getRoot().t.toString().length); await c3.sync(); await c2.sync(); await c1.sync(); assert.equal(DefaultSnapshotThreshold, d2.getRoot().t.toString().length); assert.equal(DefaultSnapshotThreshold, d1.getRoot().t.toString().length); await c1.deactivate(); await c2.deactivate(); await c3.deactivate(); }, 50000); }); ================================================ FILE: packages/sdk/test/integration/history_array_test.ts ================================================ import { describe, it, assert } from 'vitest'; import { Document } from '@yorkie-js/sdk/src/document/document'; import { JSONArray } from '@yorkie-js/sdk/src/yorkie'; import { withTwoClientsAndDocuments } from '@yorkie-js/sdk/test/integration/integration_helper'; type Op = 'add' | 'move' | 'remove' | 'set'; const ops: Array = ['add', 'remove', 'move', 'set']; function applyOp1(doc: Document<{ list: JSONArray }>, op: Op) { doc.update((root) => { const list = root.list; switch (op) { case 'add': { const prev = list.getElementByIndex(0); if (!prev) return; list.insertAfter(prev.getID(), String('insV')); break; } case 'move': { if (list.length < 3) return; const from = list.getElementByIndex(0); const to = list.getElementByIndex(2); list.moveAfter(to.getID(), from.getID()); break; } case 'remove': { if (list.length > 0) delete list[0]; break; } case 'set': { if (list.length > 1) list.setValue(1, 's'); break; } } }, op); } function applyOp2(doc: Document<{ list: JSONArray }>, op: Op) { doc.update((root) => { const list = root.list; switch (op) { case 'add': { const prev = list.getElementByIndex(2); if (!prev) return; list.insertAfter(prev.getID(), String('insV')); break; } case 'move': { if (list.length < 4) return; const from = list.getElementByIndex(1); const to = list.getElementByIndex(3); list.moveAfter(to.getID(), from.getID()); break; } case 'remove': { if (list.length > 1) delete list[1]; break; } case 'set': { if (list.length > 2) list.setValue(2, '2'); break; } } }, op); } describe('Array Undo Operations', () => { for (const op of ['add', 'move', 'remove', 'set'] as Array) { it(`should handle undo of ${op} operation`, () => { const doc = new Document<{ list: JSONArray }>('test-doc'); doc.update((root) => { root.list = ['a', 'b', 'c', 'd', 'e'] as JSONArray; }, 'init'); const initialJSON = doc.toSortedJSON(); applyOp1(doc, op); doc.history.undo(); assert.equal( doc.toSortedJSON(), initialJSON, 'initial state - undo state', ); }); } }); describe('Array Undo Operations', () => { for (const op1 of ops) { for (const op2 of ops) { for (const op3 of ops) { const caseName = `${op1}-${op2}-${op3}`; // TODO(hackerwins): Skip cases where set follows move. The set // operation inserts at the element's original (dead) position for // concurrent convergence, so undo restores the value there instead // of the moved position. Fixing this requires a proto-level change. const skipCase = (op1 === 'move' && op3 === 'set') || (op1 === 'move' && op2 === 'move' && op3 === 'set'); const testFn = skipCase ? it.skip : it; testFn(`should return to each state correctly: ${caseName}`, () => { const doc = new Document<{ list: JSONArray }>('test-doc'); doc.update((root) => { root.list = ['a', 'b', 'c', 'd', 'e'] as JSONArray; }, 'init'); const S: Array = []; S.push(doc.toSortedJSON()); applyOp1(doc, op1); S.push(doc.toSortedJSON()); console.log(`S1: ${S[1]}`); applyOp1(doc, op2); S.push(doc.toSortedJSON()); console.log(`S2: ${S[2]}`); applyOp1(doc, op3); S.push(doc.toSortedJSON()); console.log(`S3: ${S[3]}`); for (let i = 3; i >= 1; i--) { doc.history.undo(); const back = doc.toSortedJSON(); console.log(`rS${i - 1}: ${back}`); assert.equal( back, S[i - 1], `undo back to S${i - 1} failed on ${caseName}`, ); } }); } } } }); describe('Array Undo in Multi-Client', () => { for (const op1 of ops) { for (const op2 of ops) { const caseName = `${op1}-${op2}`; it(`should handle multi user undo: ${caseName}`, async function ({ task, }) { type TestDoc = { list: JSONArray }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { // Initial setup d1.update((root) => { root.list = ['a', 'b', 'c', 'd', 'e'] as JSONArray; }, 'init'); await c1.sync(); await c2.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); applyOp1(d1, op1); applyOp2(d2, op2); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.toSortedJSON(), d2.toSortedJSON(), 'Mismatch after both ops', ); // Undo d1.history.undo(); d2.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.toSortedJSON(), d2.toSortedJSON(), 'Mismatch after both undos', ); }, task.name); }); } } }); ================================================ FILE: packages/sdk/test/integration/history_text_test.ts ================================================ import { describe, it, assert } from 'vitest'; import { Document, Text } from '@yorkie-js/sdk/src/yorkie'; import { withTwoClientsAndDocuments } from '@yorkie-js/sdk/test/integration/integration_helper'; /** * Test State Space: * ┌─────────────────┬────────────────────────────────────────────────────────┐ * │ Variable │ Domain │ * ├─────────────────┼────────────────────────────────────────────────────────┤ * │ OpType │ {insert, delete, replace, style(TODO: Implement)} │ * │ Position │ {start, middle, end} │ * │ ClientCount │ {1, 2} │ * │ UndoDepth │ {0, 1, 2, 3+} │ * │ ReconcileCase │ {none, left, right, contained_by, contains, │ * │ │ overlap_start, overlap_end, adjacent} │ * └─────────────────┴────────────────────────────────────────────────────────┘ */ type TextOp = 'insert' | 'delete' | 'replace' | 'style'; const ops: Array = ['insert', 'delete', 'replace']; function applyTextOp1(doc: Document<{ t: Text }>, op: TextOp) { doc.update((root) => { const t = root.t; const len = t.length ?? t.toString().length; switch (op) { case 'insert': t.edit(len, len, 'X'); break; case 'delete': if (len >= 3) t.edit(1, 2, ''); else if (len > 0) t.edit(0, 1, ''); break; case 'replace': if (len >= 3) t.edit(1, 3, '12'); else t.edit(0, Math.min(1, len), 'R'); break; case 'style': if (len === 0) t.edit(0, 0, 'A'); t.setStyle(0, t.length ?? t.toString().length, { bold: true }); break; } }, op); } function applyTextOp2(doc: Document<{ t: Text }>, op: TextOp) { doc.update((root) => { const t = root.t; const len = t.length ?? t.toString().length; switch (op) { case 'insert': t.edit(0, 0, 'Q'); break; case 'delete': if (len > 0) t.edit(len - 1, len, ''); break; case 'replace': if (len > 0) t.edit(0, 1, 'Z'); else t.edit(0, 0, 'Z'); break; } }, op); } // 1. Single Client - Basic Undo/Redo describe('Text History - single client basic', () => { const contentOf = (doc: Document<{ t: Text }>) => doc.getRoot().t.toString(); for (const op of ops) { it(`should undo/redo ${op}`, () => { const doc = new Document<{ t: Text }>('test-doc'); doc.update((root) => { root.t = new Text(); root.t.edit(0, 0, 'The fox jumped.'); }, 'init'); const before = contentOf(doc); applyTextOp1(doc, op); const after = contentOf(doc); doc.history.undo(); assert.equal(contentOf(doc), before, `undo ${op} failed`); doc.history.redo(); assert.equal(contentOf(doc), after, `redo ${op} failed`); }); } it('should handle undo-redo round trip multiple times', () => { const doc = new Document<{ t: Text }>('test-doc'); doc.update((root) => { root.t = new Text(); root.t.edit(0, 0, 'ABCD'); }, 'init'); const initial = contentOf(doc); doc.update((root) => root.t.edit(2, 2, 'XY'), 'insert'); const modified = contentOf(doc); for (let i = 0; i < 3; i++) { doc.history.undo(); assert.equal(contentOf(doc), initial, `round ${i} undo failed`); doc.history.redo(); assert.equal(contentOf(doc), modified, `round ${i} redo failed`); } }); it('should clear redo stack when new edit is made after undo', () => { const doc = new Document<{ t: Text }>('test-doc'); doc.update((root) => { root.t = new Text(); root.t.edit(0, 0, 'ABCD'); }, 'init'); doc.update((root) => root.t.edit(4, 4, 'EF'), 'append'); doc.history.undo(); assert.equal(doc.history.canRedo(), true); doc.update((root) => root.t.edit(0, 0, 'Z'), 'new edit'); assert.equal(doc.history.canRedo(), false); }); it('should undo/redo style op', () => { const doc = new Document<{ t: Text }>('test-doc'); doc.update((root) => { root.t = new Text(); root.t.edit(0, 0, 'The fox jumped.'); }, 'init'); const initialJSON = doc.toSortedJSON(); const styledJSON = '{"t":[{"attrs":{"bold":true},"val":"The fox jumped."}]}'; applyTextOp1(doc, 'style'); assert.equal(doc.toSortedJSON(), styledJSON); doc.history.undo(); assert.equal(doc.toSortedJSON(), initialJSON); doc.history.redo(); assert.equal(doc.toSortedJSON(), styledJSON); }); }); describe('Text History - single client chained ops', () => { const contentOf = (doc: Document<{ t: Text }>) => doc.getRoot().t.toString(); for (const op1 of ops) { for (const op2 of ops) { for (const op3 of ops) { const caseName = `${op1}-${op2}-${op3}`; it(`should undo chain correctly: ${caseName}`, () => { const doc = new Document<{ t: Text }>('test-doc'); doc.update((root) => { root.t = new Text(); root.t.edit(0, 0, 'ABCD'); }, 'init'); const snapshots: Array = [contentOf(doc)]; applyTextOp1(doc, op1); snapshots.push(contentOf(doc)); applyTextOp1(doc, op2); snapshots.push(contentOf(doc)); applyTextOp1(doc, op3); snapshots.push(contentOf(doc)); // Undo: S3 → S2 → S1 → S0 for (let i = 3; i >= 1; i--) { doc.history.undo(); assert.equal(contentOf(doc), snapshots[i - 1], `undo to S${i - 1}`); } // Redo: S0 → S1 → S2 → S3 for (let i = 0; i < 3; i++) { doc.history.redo(); assert.equal(contentOf(doc), snapshots[i + 1], `redo to S${i + 1}`); } }); } } } }); describe('Text History - single client edge cases', () => { const contentOf = (doc: Document<{ t: Text }>) => doc.getRoot().t.toString(); // Position: start it('should handle edit at start position', () => { const doc = new Document<{ t: Text }>('test-doc'); doc.update((root) => { root.t = new Text(); root.t.edit(0, 0, 'ABCD'); }, 'init'); doc.update((root) => root.t.edit(0, 2, ''), 'delete at start'); assert.equal(contentOf(doc), 'CD'); doc.history.undo(); assert.equal(contentOf(doc), 'ABCD'); doc.history.redo(); assert.equal(contentOf(doc), 'CD'); }); // Position: end it('should handle edit at end position', () => { const doc = new Document<{ t: Text }>('test-doc'); doc.update((root) => { root.t = new Text(); root.t.edit(0, 0, 'ABCD'); }, 'init'); doc.update((root) => root.t.edit(2, 4, ''), 'delete at end'); assert.equal(contentOf(doc), 'AB'); doc.history.undo(); assert.equal(contentOf(doc), 'ABCD'); doc.history.redo(); assert.equal(contentOf(doc), 'AB'); }); // Empty text it('should handle insert into empty text', () => { const doc = new Document<{ t: Text }>('test-doc'); doc.update((root) => { root.t = new Text(); }, 'init'); assert.equal(contentOf(doc), ''); doc.update((root) => root.t.edit(0, 0, 'Hello'), 'insert'); assert.equal(contentOf(doc), 'Hello'); doc.history.undo(); assert.equal(contentOf(doc), ''); doc.history.redo(); assert.equal(contentOf(doc), 'Hello'); }); // Full deletion it('should handle full deletion then undo', () => { const doc = new Document<{ t: Text }>('test-doc'); doc.update((root) => { root.t = new Text(); root.t.edit(0, 0, 'ABCD'); }, 'init'); doc.update((root) => root.t.edit(0, 4, ''), 'delete all'); assert.equal(contentOf(doc), ''); doc.history.undo(); assert.equal(contentOf(doc), 'ABCD'); doc.history.redo(); assert.equal(contentOf(doc), ''); }); // Full replacement it('should handle full replacement', () => { const doc = new Document<{ t: Text }>('test-doc'); doc.update((root) => { root.t = new Text(); root.t.edit(0, 0, 'OLD'); }, 'init'); doc.update((root) => { const len = root.t.length ?? root.t.toString().length; root.t.edit(0, len, 'NEW'); }, 'replace all'); assert.equal(contentOf(doc), 'NEW'); doc.history.undo(); assert.equal(contentOf(doc), 'OLD'); doc.history.redo(); assert.equal(contentOf(doc), 'NEW'); }); // Single character it('should handle single character operations', () => { const doc = new Document<{ t: Text }>('test-doc'); doc.update((root) => { root.t = new Text(); root.t.edit(0, 0, 'ABC'); }, 'init'); doc.update((root) => root.t.edit(1, 1, 'X'), 'insert X'); assert.equal(contentOf(doc), 'AXBC'); doc.history.undo(); assert.equal(contentOf(doc), 'ABC'); doc.update((root) => root.t.edit(1, 2, ''), 'delete B'); assert.equal(contentOf(doc), 'AC'); doc.history.undo(); assert.equal(contentOf(doc), 'ABC'); }); // UndoDepth=0: empty stacks it('should handle empty undo stack', () => { const doc = new Document<{ t: Text }>('test-doc'); doc.update((root) => { root.t = new Text(); root.t.edit(0, 0, 'ABCD'); }, 'init'); assert.equal(doc.history.canUndo(), true); doc.history.undo(); assert.equal(doc.history.canUndo(), false); }); it('should handle empty redo stack', () => { const doc = new Document<{ t: Text }>('test-doc'); doc.update((root) => { root.t = new Text(); root.t.edit(0, 0, 'ABCD'); }, 'init'); assert.equal(doc.history.canRedo(), false); }); // Rapid consecutive edits (UndoDepth=3+) it('should handle rapid consecutive edits', () => { const doc = new Document<{ t: Text }>('test-doc'); doc.update((root) => { root.t = new Text(); }, 'init'); const states: Array = ['']; for (let i = 0; i < 10; i++) { doc.update((root) => { const len = root.t.length ?? root.t.toString().length; root.t.edit(len, len, String(i)); }, `insert ${i}`); states.push(contentOf(doc)); } // Undo all for (let i = 9; i >= 0; i--) { doc.history.undo(); assert.equal(contentOf(doc), states[i]); } // Redo all for (let i = 1; i <= 10; i++) { doc.history.redo(); assert.equal(contentOf(doc), states[i]); } }); }); describe('Text History - multi client basic', () => { for (const op1 of ops) { for (const op2 of ops) { it(`should converge after undo: ${op1}-${op2}`, async ({ task }) => { type TestDoc = { t: Text }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Text(); root.t.edit(0, 0, 'The fox jumped.'); }, 'init'); await c1.sync(); await c2.sync(); applyTextOp1(d1, op1); applyTextOp2(d2, op2); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON(), 'after ops'); d1.history.undo(); d2.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON(), 'after undo'); }, task.name); }); it(`should converge after redo: ${op1}-${op2}`, async ({ task }) => { type TestDoc = { t: Text }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Text(); root.t.edit(0, 0, 'The fox jumped.'); }, 'init'); await c1.sync(); await c2.sync(); applyTextOp1(d1, op1); applyTextOp2(d2, op2); await c1.sync(); await c2.sync(); await c1.sync(); d1.history.undo(); d2.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); d1.history.redo(); d2.history.redo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON(), 'after redo'); }, task.name); }); } } }); /** * ReconcileCase Diagram (undo range [a,b), remote range [from,to)): * Case 1 (left): [--remote--] [--undo--] → shift left * Case 2 (right): [--undo--] [--remote--] → no change * Case 3 (contained_by): [-------remote-------] → collapse * [--undo--] * Case 4 (contains): [--remote--] → adjust * [---------undo---------] * Case 5 (overlap_start):[---remote---] → partial * [---undo---] * Case 6 (overlap_end): [---remote---] → partial * [---undo---] */ describe('Text History - reconcile cases', () => { it('Case 1 (left): remote edit LEFT of undo should shift position', async ({ task, }) => { type TestDoc = { t: Text }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Text(); root.t.edit(0, 0, '0123456789'); }, 'init'); await c1.sync(); await c2.sync(); // d1: delete [6,8), d2: insert at 2 (left of d1) d1.update((root) => root.t.edit(6, 8, ''), 'd1 delete'); d2.update((root) => root.t.edit(2, 2, 'XX'), 'd2 insert left'); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.undo(); d2.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.redo(); d2.history.redo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('Case 2 (right): remote edit RIGHT of undo should not affect', async ({ task, }) => { type TestDoc = { t: Text }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Text(); root.t.edit(0, 0, '0123456789'); }, 'init'); await c1.sync(); await c2.sync(); // d1: delete [2,4), d2: insert at 8 (right of d1) d1.update((root) => root.t.edit(2, 4, ''), 'd1 delete'); d2.update((root) => root.t.edit(8, 8, 'YY'), 'd2 insert right'); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.undo(); d2.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.redo(); d2.history.redo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('Case 3 (contained_by): undo range contained by remote should collapse', async ({ task, }) => { type TestDoc = { t: Text }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Text(); root.t.edit(0, 0, '0123456789'); }, 'init'); await c1.sync(); await c2.sync(); // d1: delete [4,6), d2: delete [2,8) (contains d1's range) d1.update((root) => root.t.edit(4, 6, ''), 'd1 delete'); d2.update((root) => root.t.edit(2, 8, ''), 'd2 delete larger'); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.undo(); d2.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.redo(); d2.history.redo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('Case 4 (contains): remote range contained by undo should adjust', async ({ task, }) => { type TestDoc = { t: Text }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Text(); root.t.edit(0, 0, '0123456789'); }, 'init'); await c1.sync(); await c2.sync(); // d1: delete [2,8), d2: insert at 5 (inside d1's range) d1.update((root) => root.t.edit(2, 8, ''), 'd1 delete large'); d2.update((root) => root.t.edit(5, 5, 'ZZ'), 'd2 insert inside'); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.undo(); d2.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.redo(); d2.history.redo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('Case 5 (overlap_start): remote overlaps start of undo range', async ({ task, }) => { type TestDoc = { t: Text }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Text(); root.t.edit(0, 0, '0123456789'); }, 'init'); await c1.sync(); await c2.sync(); // d1: delete [4,8), d2: delete [2,6) (overlaps start) d1.update((root) => root.t.edit(4, 8, ''), 'd1 delete'); d2.update((root) => root.t.edit(2, 6, ''), 'd2 overlap start'); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.undo(); d2.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.redo(); d2.history.redo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('Case 6 (overlap_end): remote overlaps end of undo range', async ({ task, }) => { type TestDoc = { t: Text }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Text(); root.t.edit(0, 0, '0123456789'); }, 'init'); await c1.sync(); await c2.sync(); // d1: delete [2,6), d2: delete [4,8) (overlaps end) d1.update((root) => root.t.edit(2, 6, ''), 'd1 delete'); d2.update((root) => root.t.edit(4, 8, ''), 'd2 overlap end'); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.undo(); d2.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.redo(); d2.history.redo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('Case 7 (adjacent): adjacent edits at boundary', async ({ task }) => { type TestDoc = { t: Text }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Text(); root.t.edit(0, 0, '0123456789'); }, 'init'); await c1.sync(); await c2.sync(); // d1: delete [4,6), d2: insert at 6 (adjacent) d1.update((root) => root.t.edit(4, 6, ''), 'd1 delete'); d2.update((root) => root.t.edit(6, 6, 'AA'), 'd2 insert adjacent'); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.undo(); d2.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.redo(); d2.history.redo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); // Correctness tests: overlapping deletes + both undo produces duplicate // content. Both clients converge (same wrong state), but the content // is incorrect — deleted characters are re-inserted twice because each // client's undo deep-copies and re-inserts its own removed content, // creating duplicate nodes for the overlapping range. // // This is a fundamental limitation of the deep-copy re-insert undo // mechanism. Fixing it requires either: // - Resurrect (un-tombstone) instead of re-insert, or // - Node-ID-based overlap detection to suppress redundant re-inserts it.skip('Case 3 correctness: both undo of overlapping deletes should restore original', async ({ task, }) => { type TestDoc = { t: Text }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Text(); root.t.edit(0, 0, '0123456789'); }, 'init'); await c1.sync(); await c2.sync(); // d1: delete [4,6) = "45", d2: delete [2,8) = "234567" d1.update((root) => root.t.edit(4, 6, ''), 'd1 delete'); d2.update((root) => root.t.edit(2, 8, ''), 'd2 delete larger'); await c1.sync(); await c2.sync(); await c1.sync(); // Both undo → should fully restore "0123456789" d1.history.undo(); d2.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); const d1Text = d1.getRoot().t.toString(); const d2Text = d2.getRoot().t.toString(); assert.equal(d1Text, d2Text, 'convergence'); assert.equal(d1Text, '0123456789', 'content correctness after undo'); }, task.name); }); // Same issue as Case 3: overlapping range produces duplicate content. // Case 5: d1 delete [4,8)="4567", d2 delete [2,6)="2345" // After both undo: "45" appears twice → "012345456789" it.skip('Case 5 correctness: both undo of partially overlapping deletes should restore original', async ({ task, }) => { type TestDoc = { t: Text }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Text(); root.t.edit(0, 0, '0123456789'); }, 'init'); await c1.sync(); await c2.sync(); // d1: delete [4,8) = "4567", d2: delete [2,6) = "2345" (overlap at "45") d1.update((root) => root.t.edit(4, 8, ''), 'd1 delete'); d2.update((root) => root.t.edit(2, 6, ''), 'd2 overlap start'); await c1.sync(); await c2.sync(); await c1.sync(); // Both undo → should fully restore "0123456789" d1.history.undo(); d2.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); const d1Text = d1.getRoot().t.toString(); const d2Text = d2.getRoot().t.toString(); assert.equal(d1Text, d2Text, 'convergence'); assert.equal(d1Text, '0123456789', 'content correctness after undo'); }, task.name); }); }); describe('Text History - multi client edge cases', () => { it('should converge with same position concurrent edits', async function ({ task, }) { type TestDoc = { t: Text }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Text(); root.t.edit(0, 0, 'ABCD'); }, 'init'); await c1.sync(); await c2.sync(); // Both insert at position 2 d1.update((root) => root.t.edit(2, 2, 'X'), 'd1 insert'); d2.update((root) => root.t.edit(2, 2, 'Y'), 'd2 insert'); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.undo(); d2.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('should converge with concurrent full deletion and insertion', async ({ task, }) => { type TestDoc = { t: Text }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Text(); root.t.edit(0, 0, 'ABCD'); }, 'init'); await c1.sync(); await c2.sync(); d1.update((root) => root.t.edit(0, 4, ''), 'd1 delete all'); d2.update((root) => root.t.edit(0, 0, 'XY'), 'd2 insert'); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.undo(); d2.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('should converge when one client undos and other redos', async ({ task, }) => { type TestDoc = { t: Text }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Text(); root.t.edit(0, 0, 'ABCDEFGH'); }, 'init'); await c1.sync(); await c2.sync(); d1.update((root) => root.t.edit(2, 4, 'XX'), 'd1 edit'); d2.update((root) => root.t.edit(6, 8, 'YY'), 'd2 edit'); await c1.sync(); await c2.sync(); await c1.sync(); // d1: undo then redo, d2: just undo d1.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); d1.history.redo(); d2.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('should converge with concurrent style operations', async ({ task }) => { type TestDoc = { t: Text }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Text(); root.t.edit(0, 0, 'The fox jumped.'); }, 'init'); await c1.sync(); await c2.sync(); d1.update((root) => root.t.setStyle(0, 15, { bold: true }), 'bold'); d2.update((root) => root.t.setStyle(4, 15, { italic: true }), 'italic'); await c1.sync(); await c2.sync(); await c1.sync(); d1.history.undo(); d2.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.redo(); d2.history.redo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); }); ================================================ FILE: packages/sdk/test/integration/history_tree_split_test.ts ================================================ import { describe, it, assert, expect } from 'vitest'; import yorkie, { Document, Tree } from '@yorkie-js/sdk/src/yorkie'; import { withTwoClientsAndDocuments } from '@yorkie-js/sdk/test/integration/integration_helper'; import { TreeEditOperation } from '@yorkie-js/sdk/src/document/operation/tree_edit_operation'; import { traverseAll } from '@yorkie-js/sdk/src/util/index_tree'; import type { Operation } from '@yorkie-js/sdk/src/document/operation/operation'; /** * Split- and merge-related Tree History tests. * * Includes table-driven coverage for `Tree.Edit` with `splitLevel=1` * and `splitLevel=2`, multi-client convergence cases, and a regression * suite for `cloneAndDropPreTombstoned` (the reverseOp builder that * filters descendants tombstoned before the current edit). */ const xmlOf = (doc: Document<{ t: Tree }>) => doc.getRoot().t.toXML(); function topRedoTreeEdit( doc: Document<{ t: Tree }>, ): TreeEditOperation | undefined { const stack = doc.getRedoStackForTest() as Array>; if (stack.length === 0) return undefined; const top = stack[stack.length - 1]; for (let i = top.length - 1; i >= 0; i--) { const op = top[i]; if (op instanceof TreeEditOperation) return op; } return undefined; } function summarizeOp(op: Operation | undefined): string { if (!(op instanceof TreeEditOperation)) return ''; const contents = op.getContents(); if (!contents || contents.length === 0) return '(empty)'; const parts: Array = []; for (const root of contents) { traverseAll(root, (n) => { const created = n.id.getCreatedAt(); const id = `L${created.getLamport()}/${created.getDelimiter()}`; const removed = n.removedAt ? `(R@L${n.removedAt.getLamport()})` : ''; const val = n.isText ? `:"${n.value}"` : ''; parts.push(`${n.type}${val}@${id}${removed}`); }); } return `[${parts.length}] ${parts.join(' | ')}`; } function initDoc(): Document<{ t: Tree }> { const doc = new Document<{ t: Tree }>('split-repro'); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'inline', children: [] }], }, ], }); }, 'init'); return doc; } function insertSiblingBlock(doc: Document<{ t: Tree }>) { doc.update((root) => { root.t.editByPath([1], [1], { type: 'p', children: [{ type: 'inline', children: [] }], }); }, 'insert-block'); } // Insert one character at the end of the second

    's inline. Indices // are computed from the visible XML so this works regardless of // whether the inline also carries tombstoned children. function typeInSecondBlock(doc: Document<{ t: Tree }>, ch: string) { doc.update((root) => { const xml = root.t.toXML(); const m = xml.match(/([^<]*)<\/inline><\/p><\/doc>$/); const cur = m ? m[1].length : 0; root.t.editByPath([1, 0, cur], [1, 0, cur], { type: 'text', value: ch, }); }, `type-${ch}`); } // 4. Single Client - Split/Merge describe('Tree History - single client split/merge', () => { it('should undo editByPath split', () => { const doc = new Document<{ t: Tree }>('test-doc'); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'ABCD' }], }, ], }); }, 'init'); const before = xmlOf(doc); assert.equal(before, '

    ABCD

    '); doc.update((root) => { root.t.editByPath([0, 2], [0, 2], undefined, 1); }, 'split'); const after = xmlOf(doc); assert.equal(after, '

    AB

    CD

    '); doc.history.undo(); assert.equal(xmlOf(doc), before); }); it('should redo editByPath split', () => { const doc = new Document<{ t: Tree }>('test-doc'); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'ABCD' }], }, ], }); }, 'init'); const before = xmlOf(doc); doc.update((root) => { root.t.editByPath([0, 2], [0, 2], undefined, 1); }, 'split'); const after = xmlOf(doc); doc.history.undo(); assert.equal(xmlOf(doc), before); doc.history.redo(); assert.equal(xmlOf(doc), after); }); it('should undo editByPath merge', () => { const doc = new Document<{ t: Tree }>('test-doc'); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'AB' }] }, { type: 'p', children: [{ type: 'text', value: 'CD' }] }, ], }); }, 'init'); const before = xmlOf(doc); assert.equal(before, '

    AB

    CD

    '); doc.update((root) => { root.t.editByPath([0, 2], [1, 0]); }, 'merge'); const after = xmlOf(doc); assert.equal(after, '

    ABCD

    '); doc.history.undo(); assert.equal(xmlOf(doc), before); }); it('should redo editByPath merge', () => { const doc = new Document<{ t: Tree }>('test-doc'); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'AB' }], }, { type: 'p', children: [{ type: 'text', value: 'CD' }], }, ], }); }, 'init'); const before = xmlOf(doc); doc.update((root) => { root.t.editByPath([0, 2], [1, 0]); }, 'merge'); const after = xmlOf(doc); doc.history.undo(); assert.equal(xmlOf(doc), before); doc.history.redo(); assert.equal(xmlOf(doc), after); }); }); // 4b. Single Client - Split Undo/Redo (splitLevel=1, table-driven) describe('Tree History - single client split L1 undo/redo', () => { type SplitPos = 'front' | 'middle' | 'back'; const splitCases: Array<{ pos: SplitPos; splitIdx: number; afterXML: string; }> = [ { pos: 'front', splitIdx: 1, afterXML: '

    ABCD

    ', }, { pos: 'middle', splitIdx: 3, afterXML: '

    AB

    CD

    ', }, { pos: 'back', splitIdx: 5, afterXML: '

    ABCD

    ', }, ]; const beforeXML = '

    ABCD

    '; for (const { pos, splitIdx, afterXML } of splitCases) { it(`should undo split at ${pos}`, () => { const doc = new Document<{ t: Tree }>('test-doc'); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'ABCD' }], }, ], }); }, 'init'); assert.equal(xmlOf(doc), beforeXML); doc.update((root) => { root.t.edit(splitIdx, splitIdx, undefined, 1); }, `split at ${pos}`); assert.equal(xmlOf(doc), afterXML); doc.history.undo(); assert.equal(xmlOf(doc), beforeXML, `undo split at ${pos} failed`); }); it(`should undo-redo split at ${pos}`, () => { const doc = new Document<{ t: Tree }>('test-doc'); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'ABCD' }], }, ], }); }, 'init'); doc.update((root) => { root.t.edit(splitIdx, splitIdx, undefined, 1); }, `split at ${pos}`); doc.history.undo(); assert.equal(xmlOf(doc), beforeXML); doc.history.redo(); assert.equal(xmlOf(doc), afterXML, `redo split at ${pos} failed`); }); it(`should undo-redo-undo split at ${pos}`, () => { const doc = new Document<{ t: Tree }>('test-doc'); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'ABCD' }], }, ], }); }, 'init'); doc.update((root) => { root.t.edit(splitIdx, splitIdx, undefined, 1); }, `split at ${pos}`); doc.history.undo(); doc.history.redo(); doc.history.undo(); assert.equal( xmlOf(doc), beforeXML, `undo-redo-undo split at ${pos} failed`, ); }); } }); // 4c. Single Client - Split chained with other ops (table-driven) describe('Tree History - single client split L1 chained ops', () => { type SplitChainOp = 'split' | 'insert-text' | 'delete-text'; const chainOps: Array = ['split', 'insert-text', 'delete-text']; // Uses path-based ops for position safety after structural changes const applyChainOp = (doc: Document<{ t: Tree }>, op: SplitChainOp) => { doc.update((root) => { switch (op) { case 'split': // Split first

    at offset 2 (between 2nd and 3rd char) root.t.editByPath([0, 2], [0, 2], undefined, 1); break; case 'insert-text': // Insert 'X' at start of first

    root.t.editByPath([0, 0], [0, 0], { type: 'text', value: 'X' }); break; case 'delete-text': // Delete first char of first

    root.t.edit(1, 2); break; } }, op); }; for (const op1 of chainOps) { for (const op2 of chainOps) { it(`should undo chain: ${op1} → ${op2}`, () => { const doc = new Document<{ t: Tree }>('test-doc'); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'ABCD' }], }, ], }); }, 'init'); const s0 = xmlOf(doc); applyChainOp(doc, op1); const s1 = xmlOf(doc); applyChainOp(doc, op2); const s2 = xmlOf(doc); // Undo: s2 → s1 → s0 doc.history.undo(); assert.equal(xmlOf(doc), s1, `undo ${op2} failed`); doc.history.undo(); assert.equal(xmlOf(doc), s0, `undo ${op1} failed`); // Redo: s0 → s1 → s2 doc.history.redo(); assert.equal(xmlOf(doc), s1, `redo ${op1} failed`); doc.history.redo(); assert.equal(xmlOf(doc), s2, `redo ${op2} failed`); }); } } }); // 4d. Multi Client - Split undo convergence (table-driven) describe('Tree History - multi client split L1 convergence', () => { type RemoteOp = 'insert-text' | 'delete-text' | 'insert-element'; type RemotePos = 'before-split' | 'after-split' | 'different-element'; const remoteOps: Array = [ 'insert-text', 'delete-text', 'insert-element', ]; const remotePositions: Array = [ 'before-split', 'after-split', 'different-element', ]; // Initial tree:

    ABCD

    EFGH

    // d1 splits first

    at middle:

    AB

    CD

    EFGH

    // d2 does remote op at various positions const applyRemoteOp = ( doc: Document<{ t: Tree }>, op: RemoteOp, pos: RemotePos, ) => { doc.update((root) => { switch (op) { case 'insert-text': switch (pos) { case 'before-split': root.t.edit(1, 1, { type: 'text', value: 'X' }); break; case 'after-split': root.t.edit(5, 5, { type: 'text', value: 'X' }); break; case 'different-element': root.t.edit(7, 7, { type: 'text', value: 'X' }); break; } break; case 'delete-text': switch (pos) { case 'before-split': root.t.edit(1, 2); break; case 'after-split': root.t.edit(4, 5); break; case 'different-element': root.t.edit(7, 8); break; } break; case 'insert-element': switch (pos) { case 'before-split': root.t.edit(0, 0, { type: 'p', children: [{ type: 'text', value: 'NEW' }], }); break; case 'after-split': root.t.edit(6, 6, { type: 'p', children: [{ type: 'text', value: 'NEW' }], }); break; case 'different-element': root.t.edit(12, 12, { type: 'p', children: [{ type: 'text', value: 'NEW' }], }); break; } break; } }, `remote ${op} at ${pos}`); }; for (const remoteOp of remoteOps) { for (const remotePos of remotePositions) { it(`should converge: split + remote ${remoteOp} at ${remotePos}`, async ({ task, }) => { type TestDoc = { t: Tree }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'ABCD' }], }, { type: 'p', children: [{ type: 'text', value: 'EFGH' }], }, ], }); }, 'init'); await c1.sync(); await c2.sync(); // d1: split first

    at middle (between B and C) d1.update((root) => { root.t.edit(3, 3, undefined, 1); }, 'split'); // d2: remote operation applyRemoteOp(d2, remoteOp, remotePos); // Sync both directions await c1.sync(); await c2.sync(); await c1.sync(); // d1: undo the split d1.history.undo(); // Sync again await c1.sync(); await c2.sync(); await c1.sync(); // Assert convergence assert.equal( d1.getRoot().t.toXML(), d2.getRoot().t.toXML(), `divergence: split + ${remoteOp} at ${remotePos}`, ); }, task.name); }); } } }); // 4e. Edge cases for split undo/redo describe('Tree History - split L1 edge cases', () => { it('should undo front split with empty paragraph', () => { const doc = new Document<{ t: Tree }>('test-doc'); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'AB' }], }, ], }); }, 'init'); const before = xmlOf(doc); doc.update((root) => { root.t.edit(1, 1, undefined, 1); }, 'front split'); assert.equal(xmlOf(doc), '

    AB

    '); doc.history.undo(); assert.equal(xmlOf(doc), before); doc.history.redo(); assert.equal(xmlOf(doc), '

    AB

    '); }); it('should undo back split with empty paragraph', () => { const doc = new Document<{ t: Tree }>('test-doc'); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'AB' }], }, ], }); }, 'init'); const before = xmlOf(doc); doc.update((root) => { root.t.edit(3, 3, undefined, 1); }, 'back split'); assert.equal(xmlOf(doc), '

    AB

    '); doc.history.undo(); assert.equal(xmlOf(doc), before); doc.history.redo(); assert.equal(xmlOf(doc), '

    AB

    '); }); it('should clear redo stack when new edit is made after split undo', () => { const doc = new Document<{ t: Tree }>('test-doc'); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'ABCD' }], }, ], }); }, 'init'); doc.update((root) => { root.t.edit(3, 3, undefined, 1); }, 'split'); doc.history.undo(); assert.equal(doc.history.canRedo(), true); doc.update((root) => { root.t.edit(1, 1, { type: 'text', value: 'Z' }); }, 'new edit'); assert.equal(doc.history.canRedo(), false); }); it('should handle undo after concurrent parent deletion (L1)', async ({ task, }) => { type TestDoc = { t: Tree }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'ABCD' }], }, { type: 'p', children: [{ type: 'text', value: 'EFGH' }], }, ], }); }, 'init'); await c1.sync(); await c2.sync(); // d1: split first

    at middle d1.update((root) => { root.t.edit(3, 3, undefined, 1); }, 'split'); // d2: delete the first

    entirely d2.update((root) => { root.t.edit(0, 6); }, 'delete parent'); await c1.sync(); await c2.sync(); await c1.sync(); // d1: undo the split — parent is deleted, should be no-op d1.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.getRoot().t.toXML(), d2.getRoot().t.toXML(), 'divergence after undo with concurrent parent deletion (L1)', ); }, task.name); }); }); // 4f. Single Client - Split Undo/Redo (splitLevel=2, table-driven) describe('Tree History - single client split L2 undo/redo', () => { type SplitPos = 'front' | 'middle' | 'back'; const l2SplitCases: Array<{ pos: SplitPos; splitIdx: number; afterXML: string; }> = [ { pos: 'front', splitIdx: 2, afterXML: '

    ABCD

    ', }, { pos: 'middle', splitIdx: 4, afterXML: '

    AB

    CD

    ', }, { pos: 'back', splitIdx: 6, afterXML: '

    ABCD

    ', }, ]; // Tree index layout: //

    A B C D

    // 0 1 2 3 4 5 6 7 8 const beforeXML = '

    ABCD

    '; for (const { pos, splitIdx, afterXML } of l2SplitCases) { it(`should undo split at ${pos}`, () => { const doc = new Document<{ t: Tree }>('test-doc'); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'div', children: [ { type: 'p', children: [{ type: 'text', value: 'ABCD' }], }, ], }, ], }); }, 'init'); assert.equal(xmlOf(doc), beforeXML); doc.update((root) => { root.t.edit(splitIdx, splitIdx, undefined, 2); }, `split at ${pos}`); assert.equal(xmlOf(doc), afterXML); doc.history.undo(); assert.equal(xmlOf(doc), beforeXML, `undo split at ${pos} failed`); }); it(`should undo-redo split at ${pos}`, () => { const doc = new Document<{ t: Tree }>('test-doc'); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'div', children: [ { type: 'p', children: [{ type: 'text', value: 'ABCD' }], }, ], }, ], }); }, 'init'); doc.update((root) => { root.t.edit(splitIdx, splitIdx, undefined, 2); }, `split at ${pos}`); doc.history.undo(); assert.equal(xmlOf(doc), beforeXML); doc.history.redo(); assert.equal(xmlOf(doc), afterXML, `redo split at ${pos} failed`); }); it(`should undo-redo-undo split at ${pos}`, () => { const doc = new Document<{ t: Tree }>('test-doc'); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'div', children: [ { type: 'p', children: [{ type: 'text', value: 'ABCD' }], }, ], }, ], }); }, 'init'); doc.update((root) => { root.t.edit(splitIdx, splitIdx, undefined, 2); }, `split at ${pos}`); doc.history.undo(); doc.history.redo(); doc.history.undo(); assert.equal( xmlOf(doc), beforeXML, `undo-redo-undo split at ${pos} failed`, ); }); } }); // 4g. Single Client - Split L2 chained with other ops (table-driven) describe('Tree History - single client split L2 chained ops', () => { type SplitChainOp = 'split-l2' | 'insert-text' | 'delete-text'; const chainOps: Array = [ 'split-l2', 'insert-text', 'delete-text', ]; const applyChainOp = (doc: Document<{ t: Tree }>, op: SplitChainOp) => { doc.update((root) => { switch (op) { case 'split-l2': // Split first

    at offset 2 with splitLevel=2 root.t.editByPath([0, 0, 2], [0, 0, 2], undefined, 2); break; case 'insert-text': // Insert 'X' at start of first

    root.t.editByPath([0, 0, 0], [0, 0, 0], { type: 'text', value: 'X' }); break; case 'delete-text': // Delete first char of first text in first

    root.t.editByPath([0, 0, 0], [0, 0, 1]); break; } }, op); }; for (const op1 of chainOps) { for (const op2 of chainOps) { // TODO(#1235): split-l2 → split-l2 undo chain has a known undo bug: // the boundary-deletion reverse op doesn't correctly restore the state // when two consecutive L2 splits produce tombstoned structure. const skipCase = op1 === 'split-l2' && op2 === 'split-l2'; const runIt = skipCase ? it.skip : it; runIt(`should undo chain: ${op1} → ${op2}`, () => { const doc = new Document<{ t: Tree }>('test-doc'); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'div', children: [ { type: 'p', children: [{ type: 'text', value: 'ABCD' }], }, ], }, ], }); }, 'init'); const s0 = xmlOf(doc); applyChainOp(doc, op1); const s1 = xmlOf(doc); applyChainOp(doc, op2); const s2 = xmlOf(doc); // Undo: s2 → s1 → s0 doc.history.undo(); assert.equal(xmlOf(doc), s1, `undo ${op2} failed`); doc.history.undo(); assert.equal(xmlOf(doc), s0, `undo ${op1} failed`); // Redo: s0 → s1 → s2 doc.history.redo(); assert.equal(xmlOf(doc), s1, `redo ${op1} failed`); doc.history.redo(); assert.equal(xmlOf(doc), s2, `redo ${op2} failed`); }); } } }); // 4h. Multi Client - Split L2 undo convergence (table-driven) describe('Tree History - multi client split L2 convergence', () => { type RemoteOp = 'insert-text' | 'delete-text' | 'insert-element'; type RemotePos = 'before-split' | 'after-split' | 'different-element'; const remoteOps: Array = [ 'insert-text', 'delete-text', 'insert-element', ]; const remotePositions: Array = [ 'before-split', 'after-split', 'different-element', ]; // Initial tree:

    ABCD

    EFGH

    // Index layout: //

    A B C D

    E F G H

    // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 // // d1 splits first

    at middle (after B) with splitLevel=2: //

    AB

    CD

    EFGH

    // d2 does remote op at various positions const applyRemoteOp = ( doc: Document<{ t: Tree }>, op: RemoteOp, pos: RemotePos, ) => { doc.update((root) => { switch (op) { case 'insert-text': switch (pos) { case 'before-split': root.t.edit(3, 3, { type: 'text', value: 'X' }); break; case 'after-split': root.t.edit(6, 6, { type: 'text', value: 'X' }); break; case 'different-element': root.t.edit(11, 11, { type: 'text', value: 'X' }); break; } break; case 'delete-text': switch (pos) { case 'before-split': root.t.edit(2, 3); break; case 'after-split': root.t.edit(5, 6); break; case 'different-element': root.t.edit(10, 11); break; } break; case 'insert-element': switch (pos) { case 'before-split': root.t.edit(0, 0, { type: 'div', children: [ { type: 'p', children: [{ type: 'text', value: 'NEW' }], }, ], }); break; case 'after-split': root.t.edit(8, 8, { type: 'div', children: [ { type: 'p', children: [{ type: 'text', value: 'NEW' }], }, ], }); break; case 'different-element': root.t.edit(16, 16, { type: 'div', children: [ { type: 'p', children: [{ type: 'text', value: 'NEW' }], }, ], }); break; } break; } }, `remote ${op} at ${pos}`); }; for (const remoteOp of remoteOps) { for (const remotePos of remotePositions) { it(`should converge: split L2 + remote ${remoteOp} at ${remotePos}`, async ({ task, }) => { type TestDoc = { t: Tree }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'div', children: [ { type: 'p', children: [{ type: 'text', value: 'ABCD' }], }, ], }, { type: 'div', children: [ { type: 'p', children: [{ type: 'text', value: 'EFGH' }], }, ], }, ], }); }, 'init'); await c1.sync(); await c2.sync(); // d1: split first

    at middle (between B and C) d1.update((root) => { root.t.edit(4, 4, undefined, 2); }, 'split'); // d2: remote operation applyRemoteOp(d2, remoteOp, remotePos); // Sync both directions await c1.sync(); await c2.sync(); await c1.sync(); // d1: undo the split d1.history.undo(); // Sync again await c1.sync(); await c2.sync(); await c1.sync(); // Assert convergence assert.equal( d1.getRoot().t.toXML(), d2.getRoot().t.toXML(), `divergence: split L2 + ${remoteOp} at ${remotePos}`, ); }, task.name); }); } } for (const remoteOp of remoteOps) { for (const remotePos of remotePositions) { it(`should converge after redo: split L2 + remote ${remoteOp} at ${remotePos}`, async ({ task, }) => { type TestDoc = { t: Tree }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'div', children: [ { type: 'p', children: [{ type: 'text', value: 'ABCD' }], }, ], }, { type: 'div', children: [ { type: 'p', children: [{ type: 'text', value: 'EFGH' }], }, ], }, ], }); }, 'init'); await c1.sync(); await c2.sync(); // d1: split first

    at middle (between B and C) d1.update((root) => { root.t.edit(4, 4, undefined, 2); }, 'split'); // d2: remote operation applyRemoteOp(d2, remoteOp, remotePos); // Sync both directions await c1.sync(); await c2.sync(); await c1.sync(); // d1: undo then redo d1.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); d1.history.redo(); await c1.sync(); await c2.sync(); await c1.sync(); // Assert convergence after redo assert.equal( d1.getRoot().t.toXML(), d2.getRoot().t.toXML(), `redo divergence: split L2 + ${remoteOp} at ${remotePos}`, ); }, task.name); }); } } }); // 4i. Multi Client - Split L2 edge cases describe('Tree History - multi client split L2 edge cases', () => { it('should converge: undo L2 front split with remote insert', async ({ task, }) => { type TestDoc = { t: Tree }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'div', children: [ { type: 'p', children: [{ type: 'text', value: 'AB' }], }, ], }, ], }); }, 'init'); await c1.sync(); await c2.sync(); // d1: front split →

    AB

    d1.update((root) => { root.t.edit(2, 2, undefined, 2); }, 'front split'); // d2: insert text in the same element d2.update((root) => { root.t.edit(3, 3, { type: 'text', value: 'X' }); }, 'insert X'); await c1.sync(); await c2.sync(); await c1.sync(); // d1: undo the front split d1.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.getRoot().t.toXML(), d2.getRoot().t.toXML(), 'divergence: undo front L2 split with remote insert', ); }, task.name); }); it('should converge: undo L2 back split with remote insert', async ({ task, }) => { type TestDoc = { t: Tree }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'div', children: [ { type: 'p', children: [{ type: 'text', value: 'AB' }], }, ], }, ], }); }, 'init'); await c1.sync(); await c2.sync(); // d1: back split →

    AB

    d1.update((root) => { root.t.edit(4, 4, undefined, 2); }, 'back split'); // d2: insert text in the same element d2.update((root) => { root.t.edit(2, 2, { type: 'text', value: 'X' }); }, 'insert X'); await c1.sync(); await c2.sync(); await c1.sync(); // d1: undo the back split d1.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.getRoot().t.toXML(), d2.getRoot().t.toXML(), 'divergence: undo back L2 split with remote insert', ); }, task.name); }); it('should handle undo after concurrent parent deletion (L2)', async ({ task, }) => { type TestDoc = { t: Tree }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'div', children: [ { type: 'p', children: [{ type: 'text', value: 'ABCD' }], }, ], }, { type: 'div', children: [ { type: 'p', children: [{ type: 'text', value: 'EFGH' }], }, ], }, ], }); }, 'init'); await c1.sync(); await c2.sync(); // d1: split first

    at middle with splitLevel=2 d1.update((root) => { root.t.edit(4, 4, undefined, 2); }, 'split'); // d2: delete the first

    entirely //

    ABCD

    spans index 0-8 d2.update((root) => { root.t.edit(0, 8); }, 'delete parent'); await c1.sync(); await c2.sync(); await c1.sync(); // d1: undo the split — parent is deleted, should be no-op d1.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.getRoot().t.toXML(), d2.getRoot().t.toXML(), 'divergence after undo with concurrent parent deletion (L2)', ); }, task.name); }); }); // 5. Single Client - reverseOp pre-tombstoned descendant filtering describe('Tree History - single client reverseOp pre-tombstoned filter', () => { it('should not accumulate reverseOp contents across redo cycles', () => { const doc = initDoc(); insertSiblingBlock(doc); const numCycles = 4; const redoOpSizes: Array = []; for (let cycle = 0; cycle < numCycles; cycle++) { // Type "asdf" in the inserted block. for (const ch of 'asdf') typeInSecondBlock(doc, ch); // Undo each char. for (let i = 0; i < 4; i++) doc.history.undo(); // Undo the block-insert. After this, redoStack's top is the op // that the next history.redo() will execute. That op's // `contents` is the wire payload observed in production. doc.history.undo(); const redoTop = topRedoTreeEdit(doc); let count = 0; const contents = redoTop?.getContents() ?? []; for (const root of contents) traverseAll(root, () => count++); redoOpSizes.push(count); process.stdout.write( `cycle ${cycle}: redoStack top = ${summarizeOp(redoTop)}\n`, ); // Now actually redo for the next cycle's setup. doc.history.redo(); } expect(redoOpSizes).toStrictEqual(Array(numCycles).fill(redoOpSizes[0])); }); it('should produce reverseContents with consistent sizes', () => { const doc = initDoc(); insertSiblingBlock(doc); for (const ch of 'asdf') typeInSecondBlock(doc, ch); for (let i = 0; i < 4; i++) doc.history.undo(); doc.history.undo(); const redoTop = topRedoTreeEdit(doc); expect(redoTop).toBeDefined(); const contents = redoTop!.getContents() ?? []; expect(contents.length).toBeGreaterThan(0); // For each surviving element node in `reverseContents`, the // post-filter `totalSize` must equal the sum of its children's // `paddedSize`. Without bottom-up recomputation the deepcopy // carries the live tree's stale total, which includes the // descendants that were just dropped from `_children`. const violations: Array = []; for (const root of contents) { traverseAll(root, (n) => { if (n.isText) return; const expected = n._children.reduce( (acc, child) => acc + child.paddedSize(), 0, ); if (n.totalSize !== expected || n.visibleSize !== expected) { violations.push( `${n.type}: totalSize=${n.totalSize} visibleSize=${n.visibleSize} ` + `expected=${expected} (children=${n._children.length})`, ); } }); } expect(violations).toStrictEqual([]); }); it('should allow typing at the correct position after redo', () => { const doc = initDoc(); insertSiblingBlock(doc); for (const ch of 'asdf') typeInSecondBlock(doc, ch); for (let i = 0; i < 4; i++) doc.history.undo(); doc.history.undo(); expect(doc.getRoot().t.toXML()).toBe('

    '); doc.history.redo(); expect(doc.getRoot().t.toXML()).toBe( '

    ', ); typeInSecondBlock(doc, 'x'); expect(doc.getRoot().t.toXML()).toBe( '

    x

    ', ); }); it('should remain stable across three cycles followed by typing', () => { const doc = initDoc(); insertSiblingBlock(doc); for (let cycle = 0; cycle < 3; cycle++) { for (const ch of 'asdf') typeInSecondBlock(doc, ch); for (let i = 0; i < 4; i++) doc.history.undo(); doc.history.undo(); doc.history.redo(); expect(doc.getRoot().t.toXML()).toBe( '

    ', ); } typeInSecondBlock(doc, 'z'); expect(doc.getRoot().t.toXML()).toBe( '

    z

    ', ); }); }); void yorkie; ================================================ FILE: packages/sdk/test/integration/history_tree_test.ts ================================================ import { describe, it, assert } from 'vitest'; import yorkie, { Document, Tree } from '@yorkie-js/sdk/src/yorkie'; import { testRPCAddr, toDocKey, withTwoClientsAndDocuments, } from '@yorkie-js/sdk/test/integration/integration_helper'; /** * Test State Space: * ┌─────────────────┬────────────────────────────────────────────────────────┐ * │ Variable │ Domain │ * ├─────────────────┼────────────────────────────────────────────────────────┤ * │ OpType │ {insert-text, delete-text, insert-element, │ * │ │ delete-element, replace-text, replace-element} │ * │ Position │ {start, middle, end} │ * │ ClientCount │ {1, 2} │ * │ UndoDepth │ {0, 1, 2, 3+} │ * │ ReconcileCase │ {none, left, right, contained_by, contains, │ * │ │ overlap_start, overlap_end, adjacent} │ * └─────────────────┴────────────────────────────────────────────────────────┘ */ type TreeOp = | 'insert-text' | 'delete-text' | 'insert-element' | 'delete-element' | 'replace-text' | 'replace-element'; const ops: Array = [ 'insert-text', 'delete-text', 'insert-element', 'delete-element', 'replace-text', 'replace-element', ]; // Initial tree:

    The fox jumped.

    function initTree(doc: Document<{ t: Tree }>) { doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'The fox jumped.' }], }, ], }); }, 'init'); } const xmlOf = (doc: Document<{ t: Tree }>) => doc.getRoot().t.toXML(); // Applies tree operations from client 1 (operates at middle/end) function applyTreeOp1(doc: Document<{ t: Tree }>, op: TreeOp) { doc.update((root) => { switch (op) { case 'insert-text': // Append "X" at end of

    text (before closing tag) //

    The fox jumped.

    → index 16 is before

    root.t.edit(16, 16, { type: 'text', value: 'X' }); break; case 'delete-text': // Delete char at middle: "fox" → "fx" (delete 'o' at index 6) root.t.edit(6, 7); break; case 'insert-element': // Add

    New

    after first

    root.t.edit(17, 17, { type: 'p', children: [{ type: 'text', value: 'New' }], }); break; case 'delete-element': // Delete first

    entirely: indices [0, 17) root.t.edit(0, 17); break; case 'replace-text': // Replace 'fox' with 'cat': indices [5, 8) → 'cat' root.t.edit(5, 8, { type: 'text', value: 'cat' }); break; case 'replace-element': // Replace first

    with

    Replaced

    root.t.edit(0, 17, { type: 'p', children: [{ type: 'text', value: 'Replaced' }], }); break; } }, op); } // Applies tree operations from client 2 (operates at different positions) function applyTreeOp2(doc: Document<{ t: Tree }>, op: TreeOp) { doc.update((root) => { switch (op) { case 'insert-text': // Insert "Q" at start of

    text root.t.edit(1, 1, { type: 'text', value: 'Q' }); break; case 'delete-text': // Delete last char '.' at end of text root.t.edit(15, 16); break; case 'insert-element': // Insert

    Front

    before first

    root.t.edit(0, 0, { type: 'p', children: [{ type: 'text', value: 'Front' }], }); break; } }, op); } // 1. Single Client - Basic Undo/Redo describe('Tree History - single client basic', () => { for (const op of ops) { it(`should undo/redo ${op}`, () => { const doc = new Document<{ t: Tree }>('test-doc'); initTree(doc); const before = xmlOf(doc); applyTreeOp1(doc, op); const after = xmlOf(doc); doc.history.undo(); assert.equal(xmlOf(doc), before, `undo ${op} failed`); doc.history.redo(); assert.equal(xmlOf(doc), after, `redo ${op} failed`); }); } it('should handle undo-redo round trip multiple times', () => { const doc = new Document<{ t: Tree }>('test-doc'); initTree(doc); const initial = xmlOf(doc); doc.update((root) => { root.t.edit(1, 1, { type: 'text', value: 'Hello ' }); }, 'insert'); const modified = xmlOf(doc); for (let i = 0; i < 3; i++) { doc.history.undo(); assert.equal(xmlOf(doc), initial, `round ${i} undo failed`); doc.history.redo(); assert.equal(xmlOf(doc), modified, `round ${i} redo failed`); } }); it('should clear redo stack when new edit is made after undo', () => { const doc = new Document<{ t: Tree }>('test-doc'); initTree(doc); doc.update((root) => { root.t.edit(16, 16, { type: 'text', value: 'X' }); }, 'append'); doc.history.undo(); assert.equal(doc.history.canRedo(), true); doc.update((root) => { root.t.edit(1, 1, { type: 'text', value: 'Z' }); }, 'new edit'); assert.equal(doc.history.canRedo(), false); }); }); // 2. Single Client - Chained Ops describe('Tree History - single client chained ops', () => { const chainOps: Array = [ 'insert-text', 'delete-text', 'insert-element', ]; for (const op1 of chainOps) { for (const op2 of chainOps) { for (const op3 of chainOps) { const caseName = `${op1}-${op2}-${op3}`; it(`should undo chain correctly: ${caseName}`, () => { const doc = new Document<{ t: Tree }>('test-doc'); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'ABCD' }], }, ], }); }, 'init'); const snapshots: Array = [xmlOf(doc)]; // Apply ops sequentially using safe operations at known positions const applyChainOp = (doc: Document<{ t: Tree }>, op: TreeOp) => { doc.update((root) => { switch (op) { case 'insert-text': // Insert at end of first

    root.t.editByPath([0, 1], [0, 1], { type: 'text', value: 'X', }); break; case 'delete-text': // Delete first char in first

    root.t.edit(1, 2); break; case 'insert-element': // Insert new

    at end root.t.editByPath([1], [1], { type: 'p', children: [{ type: 'text', value: 'N' }], }); break; } }, op); }; applyChainOp(doc, op1); snapshots.push(xmlOf(doc)); applyChainOp(doc, op2); snapshots.push(xmlOf(doc)); applyChainOp(doc, op3); snapshots.push(xmlOf(doc)); // Undo: S3 → S2 → S1 → S0 for (let i = 3; i >= 1; i--) { doc.history.undo(); assert.equal(xmlOf(doc), snapshots[i - 1], `undo to S${i - 1}`); } // Redo: S0 → S1 → S2 → S3 for (let i = 0; i < 3; i++) { doc.history.redo(); assert.equal(xmlOf(doc), snapshots[i + 1], `redo to S${i + 1}`); } }); } } } }); // 3. Single Client - Edge Cases describe('Tree History - single client edge cases', () => { it('should handle edit at start position', () => { const doc = new Document<{ t: Tree }>('test-doc'); initTree(doc); const before = xmlOf(doc); doc.update((root) => { root.t.edit(1, 4, { type: 'text', value: 'A' }); }, 'edit at start'); const after = xmlOf(doc); doc.history.undo(); assert.equal(xmlOf(doc), before); doc.history.redo(); assert.equal(xmlOf(doc), after); }); it('should handle edit at middle position', () => { const doc = new Document<{ t: Tree }>('test-doc'); initTree(doc); const before = xmlOf(doc); doc.update((root) => { root.t.edit(5, 8, { type: 'text', value: 'cat' }); }, 'edit at middle'); const after = xmlOf(doc); doc.history.undo(); assert.equal(xmlOf(doc), before); doc.history.redo(); assert.equal(xmlOf(doc), after); }); it('should handle edit at end position', () => { const doc = new Document<{ t: Tree }>('test-doc'); initTree(doc); const before = xmlOf(doc); doc.update((root) => { root.t.edit(16, 16, { type: 'text', value: '!' }); }, 'edit at end'); const after = xmlOf(doc); doc.history.undo(); assert.equal(xmlOf(doc), before); doc.history.redo(); assert.equal(xmlOf(doc), after); }); it('should handle full tree deletion + undo', () => { const doc = new Document<{ t: Tree }>('test-doc'); initTree(doc); const before = xmlOf(doc); doc.update((root) => { root.t.edit(0, 17); }, 'delete all'); assert.equal(xmlOf(doc), ''); doc.history.undo(); assert.equal(xmlOf(doc), before); doc.history.redo(); assert.equal(xmlOf(doc), ''); }); it('should handle empty undo/redo stacks', () => { const doc = new Document<{ t: Tree }>('test-doc'); initTree(doc); assert.equal(doc.history.canUndo(), true); doc.history.undo(); assert.equal(doc.history.canUndo(), false); }); it('should handle rapid consecutive edits', () => { const doc = new Document<{ t: Tree }>('test-doc'); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [], }, ], }); }, 'init'); const states: Array = [xmlOf(doc)]; for (let i = 0; i < 10; i++) { doc.update((root) => { // Insert text at position 1 (inside

    ) root.t.edit(1, 1, { type: 'text', value: String(i) }); }, `insert ${i}`); states.push(xmlOf(doc)); } // Undo all for (let i = 9; i >= 0; i--) { doc.history.undo(); assert.equal(xmlOf(doc), states[i]); } // Redo all for (let i = 1; i <= 10; i++) { doc.history.redo(); assert.equal(xmlOf(doc), states[i]); } }); }); // 5. Multi Client - Basic describe('Tree History - multi client basic', () => { const multiOps: Array = [ 'insert-text', 'delete-text', 'insert-element', ]; for (const op1 of multiOps) { for (const op2 of multiOps) { it(`should converge after undo: ${op1}-${op2}`, async ({ task }) => { type TestDoc = { t: Tree }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'The fox jumped.' }], }, ], }); }, 'init'); await c1.sync(); await c2.sync(); applyTreeOp1(d1, op1); applyTreeOp2(d2, op2); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON(), 'after ops'); d1.history.undo(); d2.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON(), 'after undo'); }, task.name); }); // TODO(Phase 2): Some redo combos with adjacent/overlapping ranges diverge const skipRedo = op1 === 'insert-text' && op2 === 'delete-text'; const redoIt = skipRedo ? it.skip : it; redoIt(`should converge after redo: ${op1}-${op2}`, async ({ task }) => { type TestDoc = { t: Tree }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'The fox jumped.' }], }, ], }); }, 'init'); await c1.sync(); await c2.sync(); applyTreeOp1(d1, op1); applyTreeOp2(d2, op2); await c1.sync(); await c2.sync(); await c1.sync(); d1.history.undo(); d2.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); d1.history.redo(); d2.history.redo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON(), 'after redo'); }, task.name); }); } } }); // 6. Multi Client - Reconcile Cases /** * ReconcileCase Diagram (undo range [a,b), remote range [from,to)): * Case 1 (left): [--remote--] [--undo--] → shift left * Case 2 (right): [--undo--] [--remote--] → no change * Case 3 (contained_by): [-------remote-------] → collapse * [--undo--] * Case 4 (contains): [--remote--] → adjust * [---------undo---------] * Case 5 (overlap_start):[---remote---] → partial * [---undo---] * Case 6 (overlap_end): [---remote---] → partial * [---undo---] */ describe('Tree History - reconcile cases', () => { // Initial tree:

    0123456789

    // Indices: 0 1234567890 11 // 01 it('Case 1 (left): remote edit LEFT of undo should shift position', async ({ task, }) => { type TestDoc = { t: Tree }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: '0123456789' }], }, ], }); }, 'init'); await c1.sync(); await c2.sync(); // d1: delete [7,9) = '67', d2: insert 'XX' at 3 (left of d1) d1.update((root) => root.t.edit(7, 9), 'd1 delete'); d2.update( (root) => root.t.edit(3, 3, { type: 'text', value: 'XX' }), 'd2 insert left', ); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.undo(); d2.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.redo(); d2.history.redo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('Case 2 (right): remote edit RIGHT of undo should not affect', async ({ task, }) => { type TestDoc = { t: Tree }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: '0123456789' }], }, ], }); }, 'init'); await c1.sync(); await c2.sync(); // d1: delete [3,5) = '23', d2: insert 'YY' at 9 (right of d1) d1.update((root) => root.t.edit(3, 5), 'd1 delete'); d2.update( (root) => root.t.edit(9, 9, { type: 'text', value: 'YY' }), 'd2 insert right', ); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.undo(); d2.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.redo(); d2.history.redo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); // TODO(Phase 2): Overlapping reconciliation cases need symmetric index computation it.skip('Case 3 (contained_by): undo range contained by remote should collapse', async ({ task, }) => { type TestDoc = { t: Tree }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: '0123456789' }], }, ], }); }, 'init'); await c1.sync(); await c2.sync(); // d1: delete [5,7) = '45', d2: delete [3,9) = '234567' (contains d1's range) d1.update((root) => root.t.edit(5, 7), 'd1 delete'); d2.update((root) => root.t.edit(3, 9), 'd2 delete larger'); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.undo(); d2.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.redo(); d2.history.redo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); // TODO(Phase 2): Overlapping reconciliation cases need symmetric index computation it.skip('Case 4 (contains): remote range contained by undo should adjust', async ({ task, }) => { type TestDoc = { t: Tree }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: '0123456789' }], }, ], }); }, 'init'); await c1.sync(); await c2.sync(); // d1: delete [3,9) = '234567', d2: insert 'ZZ' at 6 (inside d1's range) d1.update((root) => root.t.edit(3, 9), 'd1 delete large'); d2.update( (root) => root.t.edit(6, 6, { type: 'text', value: 'ZZ' }), 'd2 insert inside', ); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.undo(); d2.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.redo(); d2.history.redo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); // TODO(Phase 2): Overlapping reconciliation cases need symmetric index computation it.skip('Case 5 (overlap_start): remote overlaps start of undo range', async ({ task, }) => { type TestDoc = { t: Tree }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: '0123456789' }], }, ], }); }, 'init'); await c1.sync(); await c2.sync(); // d1: delete [5,9) = '4567', d2: delete [3,7) = '2345' (overlaps start) d1.update((root) => root.t.edit(5, 9), 'd1 delete'); d2.update((root) => root.t.edit(3, 7), 'd2 overlap start'); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.undo(); d2.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.redo(); d2.history.redo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); // TODO(Phase 2): Overlapping reconciliation cases need symmetric index computation it.skip('Case 6 (overlap_end): remote overlaps end of undo range', async ({ task, }) => { type TestDoc = { t: Tree }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: '0123456789' }], }, ], }); }, 'init'); await c1.sync(); await c2.sync(); // d1: delete [3,7) = '2345', d2: delete [5,9) = '4567' (overlaps end) d1.update((root) => root.t.edit(3, 7), 'd1 delete'); d2.update((root) => root.t.edit(5, 9), 'd2 overlap end'); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.undo(); d2.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.redo(); d2.history.redo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('Case 7 (adjacent): adjacent edits at boundary', async ({ task }) => { type TestDoc = { t: Tree }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: '0123456789' }], }, ], }); }, 'init'); await c1.sync(); await c2.sync(); // d1: delete [5,7) = '45', d2: insert 'AA' at 7 (adjacent) d1.update((root) => root.t.edit(5, 7), 'd1 delete'); d2.update( (root) => root.t.edit(7, 7, { type: 'text', value: 'AA' }), 'd2 insert adjacent', ); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.undo(); d2.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.redo(); d2.history.redo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); }); // 7. Multi Client - Edge Cases describe('Tree History - multi client edge cases', () => { it('should converge with concurrent element + text edits', async ({ task, }) => { type TestDoc = { t: Tree }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'ABCD' }], }, ], }); }, 'init'); await c1.sync(); await c2.sync(); // d1: insert element, d2: insert text d1.update((root) => { root.t.edit(5, 5, { type: 'p', children: [{ type: 'text', value: 'New' }], }); }, 'd1 insert element'); d2.update((root) => { root.t.edit(1, 1, { type: 'text', value: 'X' }); }, 'd2 insert text'); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.undo(); d2.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('should converge with concurrent text edits in same paragraph', async ({ task, }) => { type TestDoc = { t: Tree }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'ABCDEFGH' }], }, ], }); }, 'init'); await c1.sync(); await c2.sync(); // Both edit different ranges in same paragraph d1.update((root) => { root.t.edit(3, 5, { type: 'text', value: 'XX' }); }, 'd1 edit'); d2.update((root) => { root.t.edit(7, 9, { type: 'text', value: 'YY' }); }, 'd2 edit'); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); // d1: undo then redo, d2: just undo d1.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); d1.history.redo(); d2.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('should converge with nested structure concurrent edits', async ({ task, }) => { type TestDoc = { t: Tree }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'AB' }], }, { type: 'p', children: [{ type: 'text', value: 'CD' }], }, ], }); }, 'init'); await c1.sync(); await c2.sync(); // d1: edit in first

    , d2: edit in second

    d1.update((root) => { root.t.edit(1, 1, { type: 'text', value: 'X' }); }, 'd1 edit first p'); d2.update((root) => { root.t.edit(5, 5, { type: 'text', value: 'Y' }); }, 'd2 edit second p'); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.undo(); d2.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.history.redo(); d2.history.redo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); }); // 4. Tree Style Undo/Redo (table-driven) describe('Tree History - tree style undo/redo', () => { type StyleOp = 'set-bold' | 'set-italic' | 'set-color' | 'remove-bold'; const styleOps: Array = [ 'set-bold', 'set-italic', 'set-color', 'remove-bold', ]; const makeTree = () => new Tree({ type: 'doc', children: [ { type: 'p', attributes: { bold: 'true' }, children: [{ type: 'text', value: 'AB' }], }, { type: 'p', children: [{ type: 'text', value: 'CD' }], }, ], }); const applyStyleOp = (doc: Document<{ t: Tree }>, op: StyleOp) => { doc.update((root) => { switch (op) { case 'set-bold': root.t.style(0, 1, { bold: 'true' }); break; case 'set-italic': root.t.style(0, 1, { italic: 'true' }); break; case 'set-color': root.t.style(3, 4, { color: 'red' }); break; case 'remove-bold': root.t.removeStyle(0, 1, ['bold']); break; } }, op); }; // 5a. Single-client style undo/redo for (const op of styleOps) { it(`should undo/redo: ${op}`, () => { const doc = new Document<{ t: Tree }>('test-doc'); doc.update((root) => { root.t = makeTree(); }, 'init'); const s0 = xmlOf(doc); applyStyleOp(doc, op); const s1 = xmlOf(doc); doc.history.undo(); assert.equal(xmlOf(doc), s0, `undo ${op} failed`); doc.history.redo(); assert.equal(xmlOf(doc), s1, `redo ${op} failed`); }); } // 5b. Chained style ops (skip combos where second op is a no-op: // remove-bold after remove-bold doesn't push to undo stack since // the attribute is already removed). for (const op1 of styleOps) { for (const op2 of styleOps) { if (op1 === 'remove-bold' && op2 === 'remove-bold') continue; it(`should undo chain: ${op1} → ${op2}`, () => { const doc = new Document<{ t: Tree }>('test-doc'); doc.update((root) => { root.t = makeTree(); }, 'init'); const s0 = xmlOf(doc); applyStyleOp(doc, op1); const s1 = xmlOf(doc); applyStyleOp(doc, op2); const s2 = xmlOf(doc); doc.history.undo(); assert.equal(xmlOf(doc), s1, `undo ${op2} failed`); doc.history.undo(); assert.equal(xmlOf(doc), s0, `undo ${op1} failed`); doc.history.redo(); assert.equal(xmlOf(doc), s1, `redo ${op1} failed`); doc.history.redo(); assert.equal(xmlOf(doc), s2, `redo ${op2} failed`); }); } } // 5c. Style + edit mixed chains it('should undo style after edit', () => { const doc = new Document<{ t: Tree }>('test-doc'); doc.update((root) => { root.t = makeTree(); }, 'init'); const s0 = xmlOf(doc); doc.update((root) => { root.t.edit(1, 1, { type: 'text', value: 'X' }); }, 'insert'); const s1 = xmlOf(doc); applyStyleOp(doc, 'set-italic'); const s2 = xmlOf(doc); doc.history.undo(); assert.equal(xmlOf(doc), s1, 'undo style failed'); doc.history.undo(); assert.equal(xmlOf(doc), s0, 'undo edit failed'); doc.history.redo(); assert.equal(xmlOf(doc), s1, 'redo edit failed'); doc.history.redo(); assert.equal(xmlOf(doc), s2, 'redo style failed'); }); it('should undo edit after style', () => { const doc = new Document<{ t: Tree }>('test-doc'); doc.update((root) => { root.t = makeTree(); }, 'init'); const s0 = xmlOf(doc); applyStyleOp(doc, 'set-italic'); const s1 = xmlOf(doc); doc.update((root) => { root.t.edit(1, 1, { type: 'text', value: 'X' }); }, 'insert'); const s2 = xmlOf(doc); doc.history.undo(); assert.equal(xmlOf(doc), s1, 'undo edit failed'); doc.history.undo(); assert.equal(xmlOf(doc), s0, 'undo style failed'); doc.history.redo(); assert.equal(xmlOf(doc), s1, 'redo style failed'); doc.history.redo(); assert.equal(xmlOf(doc), s2, 'redo edit failed'); }); }); // 5. Multi-client Tree Style Undo Convergence (table-driven) describe('Tree History - multi client style undo convergence', () => { type LocalStyleOp = 'set-bold' | 'set-italic' | 'remove-bold'; type RemoteStyleOp = 'set-color' | 'set-bold' | 'remove-bold'; type Target = 'same-element' | 'different-element'; const localOps: Array = [ 'set-bold', 'set-italic', 'remove-bold', ]; const remoteOps: Array = [ 'set-color', 'set-bold', 'remove-bold', ]; const targets: Array = ['same-element', 'different-element']; for (const localOp of localOps) { for (const remoteOp of remoteOps) { for (const target of targets) { it(`should converge: local ${localOp} + remote ${remoteOp} on ${target}`, async ({ task, }) => { type TestDoc = { t: Tree }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { // Setup:

    AB

    CD

    d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', attributes: { bold: 'true' }, children: [{ type: 'text', value: 'AB' }], }, { type: 'p', children: [{ type: 'text', value: 'CD' }], }, ], }); }, 'init'); await c1.sync(); await c2.sync(); // d1: local style op on first

    d1.update((root) => { switch (localOp) { case 'set-bold': root.t.style(0, 1, { bold: 'true' }); break; case 'set-italic': root.t.style(0, 1, { italic: 'true' }); break; case 'remove-bold': root.t.removeStyle(0, 1, ['bold']); break; } }, 'local style'); // d2: remote style op d2.update((root) => { const idx = target === 'same-element' ? 0 : 3; const toIdx = target === 'same-element' ? 1 : 4; switch (remoteOp) { case 'set-color': root.t.style(idx, toIdx, { color: 'red' }); break; case 'set-bold': root.t.style(idx, toIdx, { bold: 'true' }); break; case 'remove-bold': root.t.removeStyle(idx, toIdx, ['bold']); break; } }, 'remote style'); // Sync await c1.sync(); await c2.sync(); await c1.sync(); // d1: undo local style d1.history.undo(); // Sync again await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.getRoot().t.toXML(), d2.getRoot().t.toXML(), `divergence: ${localOp} + ${remoteOp} on ${target}`, ); }, task.name); }); } } } }); // 6. Multi-client Style vs Edit/Split mixed convergence (table-driven) describe('Tree History - multi client style vs edit/split convergence', () => { type LocalStyleOp = 'set-bold' | 'set-italic' | 'remove-bold'; type RemoteEditOp = | 'insert-text' | 'delete-text' | 'insert-element' | 'split-l1'; const localOps: Array = [ 'set-bold', 'set-italic', 'remove-bold', ]; const remoteOps: Array = [ 'insert-text', 'delete-text', 'insert-element', 'split-l1', ]; for (const localOp of localOps) { for (const remoteOp of remoteOps) { it(`should converge: local style(${localOp}) + remote edit(${remoteOp})`, async ({ task, }) => { type TestDoc = { t: Tree }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { // Setup:

    ABCD

    EFGH

    d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', attributes: { bold: 'true' }, children: [{ type: 'text', value: 'ABCD' }], }, { type: 'p', children: [{ type: 'text', value: 'EFGH' }], }, ], }); }, 'init'); await c1.sync(); await c2.sync(); // d1: local style on first

    d1.update((root) => { switch (localOp) { case 'set-bold': root.t.style(0, 1, { bold: 'true' }); break; case 'set-italic': root.t.style(0, 1, { italic: 'true' }); break; case 'remove-bold': root.t.removeStyle(0, 1, ['bold']); break; } }, 'local style'); // d2: remote edit d2.update((root) => { switch (remoteOp) { case 'insert-text': root.t.edit(1, 1, { type: 'text', value: 'X' }); break; case 'delete-text': root.t.edit(1, 2); break; case 'insert-element': root.t.edit(6, 6, { type: 'p', children: [{ type: 'text', value: 'NEW' }], }); break; case 'split-l1': root.t.edit(3, 3, undefined, 1); break; } }, 'remote edit'); await c1.sync(); await c2.sync(); await c1.sync(); // d1: undo style d1.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.getRoot().t.toXML(), d2.getRoot().t.toXML(), `divergence: style(${localOp}) + edit(${remoteOp})`, ); }, task.name); }); // Reverse direction: local edit, remote style, undo edit it(`should converge: local edit(${remoteOp}) + remote style(${localOp})`, async ({ task, }) => { type TestDoc = { t: Tree }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', attributes: { bold: 'true' }, children: [{ type: 'text', value: 'ABCD' }], }, { type: 'p', children: [{ type: 'text', value: 'EFGH' }], }, ], }); }, 'init'); await c1.sync(); await c2.sync(); // d1: local edit d1.update((root) => { switch (remoteOp) { case 'insert-text': root.t.edit(1, 1, { type: 'text', value: 'X' }); break; case 'delete-text': root.t.edit(1, 2); break; case 'insert-element': root.t.edit(6, 6, { type: 'p', children: [{ type: 'text', value: 'NEW' }], }); break; case 'split-l1': root.t.edit(3, 3, undefined, 1); break; } }, 'local edit'); // d2: remote style d2.update((root) => { switch (localOp) { case 'set-bold': root.t.style(0, 1, { bold: 'true' }); break; case 'set-italic': root.t.style(0, 1, { italic: 'true' }); break; case 'remove-bold': root.t.removeStyle(0, 1, ['bold']); break; } }, 'remote style'); await c1.sync(); await c2.sync(); await c1.sync(); // d1: undo edit d1.history.undo(); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.getRoot().t.toXML(), d2.getRoot().t.toXML(), `divergence: edit(${remoteOp}) + style(${localOp})`, ); }, task.name); }); } } }); // Verify: attach clears undo stack so initialRoot cannot be undone. // // Previously, creating a tree via client.attach({ initialRoot }) left the // creation on the undo stack. Typing characters and undoing more times // than characters typed could revert the tree creation, destroying the doc. describe('Tree History - undo past initial tree via initialRoot', () => { it('should not allow undoing past initialRoot after attach', async function ({ task, }) { type DocType = { content: Tree }; const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document(docKey); // Attach with initialRoot containing a Tree (like wafflebase ensureTree) await c1.attach(doc, { initialRoot: { content: new Tree({ type: 'doc', children: [ { type: 'block', attributes: { id: 'block-1' }, children: [{ type: 'inline', children: [] }], }, ], }), }, }); const initialXml = doc.getRoot().content.toXML(); // After attach, the undo stack should be empty — initialRoot is // not an undoable user action. assert.equal( doc.getUndoStackForTest().length, 0, 'undo stack should be empty after attach', ); assert.equal(doc.history.canUndo(), false); // Insert 4 characters one by one (like typing "asdf") for (const ch of ['a', 's', 'd', 'f']) { doc.update((root) => { root.content.editByPath([0, 0, 0], [0, 0, 0], { type: 'text', value: ch, }); }, `type '${ch}'`); } // Undo 4 times — should revert each character for (let i = 0; i < 4; i++) { assert.equal(doc.history.canUndo(), true); doc.history.undo(); } assert.equal(doc.getRoot().content.toXML(), initialXml); // 5th undo — should be blocked, tree stays intact assert.equal( doc.history.canUndo(), false, 'should not be able to undo past initialRoot', ); assert.equal( doc.getRoot().content.toXML(), initialXml, 'tree should remain intact', ); await c1.deactivate(); }); }); ================================================ FILE: packages/sdk/test/integration/integration_helper.ts ================================================ import { assert } from 'vitest'; import yorkie, { SyncMode } from '@yorkie-js/sdk/src/yorkie'; import { Client } from '@yorkie-js/sdk/src/client/client'; import { Document, Indexable } from '@yorkie-js/sdk/src/document/document'; import { Channel } from '@yorkie-js/sdk/src/channel/channel'; import { execSync } from 'child_process'; export const testRPCAddr = process.env.TEST_RPC_ADDR || 'http://127.0.0.1:8080'; export const testAPIID = process.env.TEST_API_ID || 'admin'; export const testAPIPW = process.env.TEST_API_PW || 'admin'; function isYorkieContainerRunning() { if (process.env.CI === 'true') { return true; } try { const result = execSync( 'docker ps --filter "name=^/yorkie$" --format "{{.Names}}"', { stdio: 'pipe', }, ); return result && result.toString().trim() !== ''; } catch { return false; } } export const webhookAddr = isYorkieContainerRunning() && 'host.docker.internal'; export function toDocKey(title: string): string { return title .substring(0, 120) .toLowerCase() .replace(/[^a-z0-9-]/g, '-'); } export async function withTwoClientsAndDocuments< T, P extends Indexable = Indexable, >( callback: ( c1: Client, d1: Document, c2: Client, d2: Document, ) => Promise, title: string, syncMode: SyncMode = SyncMode.Manual, ): Promise { const client1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const client2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await client1.activate(); await client2.activate(); const docKey = `${toDocKey(title)}-${new Date().getTime()}`; const doc1 = new yorkie.Document(docKey); const doc2 = new yorkie.Document(docKey); await client1.attach(doc1, { syncMode }); await client2.attach(doc2, { syncMode }); await callback(client1, doc1, client2, doc2); await client1.detach(doc1); await client2.detach(doc2); await client1.deactivate(); await client2.deactivate(); } export async function withTwoClientsAndChannels( callback: (c1: Client, p1: Channel, c2: Client, p2: Channel) => Promise, title: string, ): Promise { const client1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const client2 = new yorkie.Client({ rpcAddr: testRPCAddr }); const channelKey = `${toDocKey(title)}-${new Date().getTime()}`; const ch1 = new yorkie.Channel(channelKey); const ch2 = new yorkie.Channel(channelKey); await client1.attach(ch1); await client2.attach(ch2); // Wait for the first-call heartbeat to attach both channels. const deadline = Date.now() + 10000; while (!ch1.isAttached() || !ch2.isAttached()) { if (Date.now() > deadline) { throw new Error( 'withTwoClientsAndChannels: channels did not attach in time', ); } await new Promise((r) => setTimeout(r, 100)); } try { await callback(client1, ch1, client2, ch2); } finally { // Callers may have already detached the channels; only detach if // still attached on this client. The `finally` ensures cleanup // runs even if the callback throws, otherwise leftover sessions // linger on the server until TTL and poison neighboring tests. if (ch1.isAttached()) await client1.detach(ch1); if (ch2.isAttached()) await client2.detach(ch2); } // Channel-only clients are never explicitly activated, so they have // nothing to deactivate. If a test activated them, deactivate is the // test's responsibility. } export function assertUndoRedo( doc: Document, states: Array, ) { for (let i = 0; i < states.length - 1; i++) { doc.history.undo(); assert.equal( states[states.length - 2 - i], doc.toSortedJSON(), `undo 1-${i}`, ); } for (let i = 0; i < states.length - 1; i++) { doc.history.redo(); assert.equal(states[i + 1], doc.toSortedJSON(), `redo${i}`); } for (let i = 0; i < states.length - 1; i++) { doc.history.undo(); assert.equal( states[states.length - 2 - i], doc.toSortedJSON(), `undo 2-${i}`, ); } } ================================================ FILE: packages/sdk/test/integration/object_test.ts ================================================ import { describe, it, assert } from 'vitest'; import { JSONObject, Client, SyncMode } from '@yorkie-js/sdk/src/yorkie'; import { Document } from '@yorkie-js/sdk/src/document/document'; import { withTwoClientsAndDocuments, assertUndoRedo, toDocKey, testRPCAddr, } from '@yorkie-js/sdk/test/integration/integration_helper'; import { toStringHistoryOp } from '@yorkie-js/sdk/test/helper/helper'; import { Code, YorkieError } from '@yorkie-js/sdk/src/util/error'; describe('Object', function () { it('valid key test', function () { const doc = new Document('test-doc'); assert.throws(() => { doc.update((root) => { root['.'] = 'dot'; }); }, YorkieError); assert.throws(() => { doc.update((root) => { root['$...hello'] = 'world'; }); }, YorkieError); assert.throws(() => { doc.update((root) => { root[''] = { '.': 'dot' }; }); }, YorkieError); }); it('should apply updates inside nested map', function () { const doc = new Document<{ k1: { 'k1-1'?: string; 'k1-2'?: string }; k2: Array; }>('test-doc'); assert.equal('{}', doc.toSortedJSON()); doc.update((root) => { root['k1'] = { 'k1-1': 'v1' }; root['k1']['k1-2'] = 'v2'; }, 'set {"k1-1":"v1","k1-2":"v2":}'); assert.equal('{"k1":{"k1-1":"v1","k1-2":"v2"}}', doc.toSortedJSON()); doc.update((root) => { root['k1']['k1-2'] = 'v3'; }, 'set {"k1-2":"v3"}'); assert.equal('{"k1":{"k1-1":"v1","k1-2":"v3"}}', doc.toSortedJSON()); doc.update((root) => { root['k2'] = ['1', '2']; root['k2'].push('3'); }, 'set ["1","2","3"]'); assert.equal( '{"k1":{"k1-1":"v1","k1-2":"v3"},"k2":["1","2","3"]}', doc.toSortedJSON(), ); assert.throws(() => { doc.update((root) => { root['k2'].push('4'); throw new YorkieError(Code.ErrDummy, 'dummy error'); }, 'push "4"'); }, 'dummy error'); assert.equal( '{"k1":{"k1-1":"v1","k1-2":"v3"},"k2":["1","2","3"]}', doc.toSortedJSON(), ); doc.update((root) => { root['k2'].push('4'); }, 'push "4"'); assert.equal( '{"k1":{"k1-1":"v1","k1-2":"v3"},"k2":["1","2","3","4"]}', doc.toSortedJSON(), ); doc.update((root) => { root['k2'].push({ 'k2-5': 'v4' }); }, 'push "{k2-5: 4}"'); assert.equal( '{"k1":{"k1-1":"v1","k1-2":"v3"},"k2":["1","2","3","4",{"k2-5":"v4"}]}', doc.toSortedJSON(), ); // TODO(Hyemmie): test assertUndoRedo after implementing array's reverse operation }); it('should handle delete operations', function () { const doc = new Document<{ k1: { 'k1-1'?: string; 'k1-2': string; 'k1-3'?: string }; }>('test-doc'); const states: Array = []; assert.equal('{}', doc.toSortedJSON()); doc.update((root) => { root['k1'] = { 'k1-1': 'v1', 'k1-2': 'v2' }; }, 'set {"k1":{"k1-1":"v1","k1-2":"v2"}}'); assert.equal('{"k1":{"k1-1":"v1","k1-2":"v2"}}', doc.toSortedJSON()); states.push(doc.toSortedJSON()); doc.update((root) => { delete root['k1']['k1-1']; root['k1']['k1-3'] = 'v4'; }, 'set {"k1":{"k1-2":"v2"}}'); assert.equal('{"k1":{"k1-2":"v2","k1-3":"v4"}}', doc.toSortedJSON()); states.push(doc.toSortedJSON()); assertUndoRedo(doc, states); }); it('should support toJS and toJSON methods', function () { type DocType = { content: JSONObject<{ a: number; b: number; c: number }> }; const doc = new Document('test-doc'); doc.update((root) => { root.content = { a: 1, b: 2, c: 3 } as JSONObject<{ a: number; b: number; c: number; }>; }, 'set a, b, c'); assert.equal(doc.toSortedJSON(), '{"content":{"a":1,"b":2,"c":3}}'); const root = doc.getRoot(); assert.equal(root.toJSON(), '{"content":{"a":1,"b":2,"c":3}}'); assert.deepEqual(root.toJS(), { content: { a: 1, b: 2, c: 3 } } as DocType); assert.equal(root.content.toJSON(), '{"a":1,"b":2,"c":3}'); assert.deepEqual(root.content.toJS(), { a: 1, b: 2, c: 3 }); }); it('Object.keys, Object.values and Object.entries test', function () { const doc = new Document<{ content: { a: number; b: number; c: number }; }>('test-doc'); assert.equal('{}', doc.toSortedJSON()); doc.update((root) => { root.content = { a: 1, b: 2, c: 3 }; }, 'set a, b, c'); assert.equal('{"content":{"a":1,"b":2,"c":3}}', doc.toSortedJSON()); const content = doc.getRoot().content; assert.equal('a,b,c', Object.keys(content).join(',')); assert.equal('1,2,3', Object.values(content).join(',')); assert.equal('a,1,b,2,c,3', Object.entries(content).join(',')); }); it('Can handle concurrent set/delete operations', async function ({ task }) { await withTwoClientsAndDocuments<{ k1: string; k2: string; k3?: string; k4: string; }>(async (c1, d1, c2, d2) => { d1.update((root) => { root['k1'] = 'v1'; }); d2.update((root) => { root['k1'] = 'v2'; }); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.update((root) => { root['k2'] = '3'; }); await c1.sync(); await c2.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.update((root) => { root['k2'] = 'v2'; }); d2.update((root) => { root['k2'] = 'v3'; }); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.update((root) => { root['k3'] = 'v4'; }); d2.update((root) => { root['k4'] = 'v5'; }); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.update((root) => { delete root['k3']; }); d2.update((root) => { root['k3'] = 'v6'; }); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('Returns undefined when looking up an element that doesnt exist', function () { const doc = new Document<{ shapes: { [key: string]: { color: string; point: { x: number; y: number } }; }; }>('test-doc'); assert.equal('{}', doc.toSortedJSON()); doc.update((root) => { root.shapes = { circle: { color: 'black', point: { x: 0, y: 0 } }, }; }); assert.equal( '{"shapes":{"circle":{"color":"black","point":{"x":0,"y":0}}}}', doc.toSortedJSON(), ); doc.update((root) => { delete root.shapes.circle; }); assert.equal('{"shapes":{}}', doc.toSortedJSON()); assert.isUndefined(doc.getRoot().shapes.circle); assert.isUndefined(doc.getRoot().shapes.circle?.color); assert.isUndefined(doc.getRoot().shapes.circle?.point); assert.isUndefined(doc.getRoot().shapes.circle?.point?.x); }); describe('Undo/Redo', function () { it('can get proper reverse operations', function () { const doc = new Document<{ shape: { color: string } }>('test-doc'); doc.update((root) => { root.shape = { color: 'black' }; }); assert.equal(doc.toSortedJSON(), '{"shape":{"color":"black"}}'); assert.deepEqual( doc.getUndoStackForTest().at(-1)?.map(toStringHistoryOp), ['0:00:0.REMOVE.1:00:1'], ); doc.history.undo(); assert.equal(doc.toSortedJSON(), `{}`); assert.deepEqual( doc.getRedoStackForTest().at(-1)?.map(toStringHistoryOp), ['0:00:0.SET.shape={"color":"black"}'], ); doc.history.redo(); assert.equal(doc.toSortedJSON(), '{"shape":{"color":"black"}}'); doc.update((root) => { root.shape.color = 'red'; }); assert.equal(doc.toSortedJSON(), '{"shape":{"color":"red"}}'); assert.deepEqual( doc.getUndoStackForTest().at(-1)?.map(toStringHistoryOp), ['1:00:1.SET.color="black"'], ); doc.history.undo(); assert.equal(doc.toSortedJSON(), '{"shape":{"color":"black"}}'); assert.deepEqual( doc.getRedoStackForTest().at(-1)?.map(toStringHistoryOp), ['1:00:1.SET.color="red"'], ); doc.history.redo(); assert.equal(doc.toSortedJSON(), '{"shape":{"color":"red"}}'); }); it('Can undo/redo work properly for simple object', function () { const doc = new Document<{ a: number; }>('test-doc'); assert.equal(doc.toSortedJSON(), '{}'); assert.equal(doc.history.canUndo(), false); assert.equal(doc.history.canRedo(), false); doc.update((root) => { root.a = 1; }); assert.equal(doc.toSortedJSON(), '{"a":1}'); assert.equal(doc.history.canUndo(), true); assert.equal(doc.history.canRedo(), false); doc.update((root) => { root.a = 2; }); assert.equal(doc.toSortedJSON(), '{"a":2}'); assert.equal(doc.history.canUndo(), true); assert.equal(doc.history.canRedo(), false); doc.history.undo(); assert.equal(doc.toSortedJSON(), '{"a":1}'); assert.equal(doc.history.canUndo(), true); assert.equal(doc.history.canRedo(), true); doc.history.redo(); assert.equal(doc.toSortedJSON(), '{"a":2}'); assert.equal(doc.history.canUndo(), true); assert.equal(doc.history.canRedo(), false); doc.history.undo(); assert.equal(doc.toSortedJSON(), '{"a":1}'); assert.equal(doc.history.canUndo(), true); assert.equal(doc.history.canRedo(), true); doc.history.undo(); assert.equal(doc.toSortedJSON(), '{}'); assert.equal(doc.history.canUndo(), false); assert.equal(doc.history.canRedo(), true); }); it('Can undo/redo work properly for nested object', function () { const doc = new Document<{ shape: { point: { x: number; y: number }; color: string }; a: number; }>('test-doc'); const states: Array = []; states.push(doc.toSortedJSON()); assert.equal(doc.toSortedJSON(), '{}'); doc.update((root) => { root.shape = { point: { x: 0, y: 0 }, color: 'red' }; root.a = 0; }); states.push(doc.toSortedJSON()); assert.equal( doc.toSortedJSON(), '{"a":0,"shape":{"color":"red","point":{"x":0,"y":0}}}', ); doc.update((root) => { root.shape.point = { x: 1, y: 1 }; root.shape.color = 'blue'; }); states.push(doc.toSortedJSON()); assert.equal( doc.toSortedJSON(), '{"a":0,"shape":{"color":"blue","point":{"x":1,"y":1}}}', ); doc.update((root) => { root.a = 1; root.a = 2; }); states.push(doc.toSortedJSON()); assert.equal( doc.toSortedJSON(), '{"a":2,"shape":{"color":"blue","point":{"x":1,"y":1}}}', ); assertUndoRedo(doc, states); }); it(`Should ensure convergence of peer's document after undoing nested objects`, async function ({ task, }) { // Test scenario: // c1: set shape.point to {x: 0, y: 0} // c1: set shape.point to {x: 1, y: 1} // c1: undo interface TestDoc { shape?: { point: { x: number; y: number } }; } const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc1 = new Document(docKey); const doc2 = new Document(docKey); const client1 = new Client({ rpcAddr: testRPCAddr }); const client2 = new Client({ rpcAddr: testRPCAddr }); await client1.activate(); await client2.activate(); await client1.attach(doc1, { syncMode: SyncMode.Manual }); doc1.update((root) => { root.shape = { point: { x: 0, y: 0 } }; }); await client1.sync(); assert.equal(doc1.toSortedJSON(), '{"shape":{"point":{"x":0,"y":0}}}'); await client2.attach(doc2, { syncMode: SyncMode.Manual }); assert.equal(doc2.toSortedJSON(), '{"shape":{"point":{"x":0,"y":0}}}'); doc1.update((root) => { root.shape!.point = { x: 1, y: 1 }; }); await client1.sync(); await client2.sync(); assert.equal(doc1.toSortedJSON(), '{"shape":{"point":{"x":1,"y":1}}}'); assert.equal(doc2.toSortedJSON(), '{"shape":{"point":{"x":1,"y":1}}}'); doc1.history.undo(); assert.equal(doc1.toSortedJSON(), '{"shape":{"point":{"x":0,"y":0}}}'); await client1.sync(); await client2.sync(); assert.equal(doc2.toSortedJSON(), '{"shape":{"point":{"x":0,"y":0}}}'); }); it(`Should handle reverse set operation for elements that other peers deleted`, async function ({ task, }) { // Test scenario: // c1: set shape.color to 'red' // c2: delete shape // c1: undo(no changes as the shape was deleted) interface TestDoc { shape?: { color: string }; } const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc1 = new Document(docKey); const doc2 = new Document(docKey); const client1 = new Client({ rpcAddr: testRPCAddr }); const client2 = new Client({ rpcAddr: testRPCAddr }); await client1.activate(); await client2.activate(); await client1.attach(doc1, { syncMode: SyncMode.Manual }); doc1.update((root) => { root.shape = { color: 'black' }; }, 'init doc'); await client1.sync(); assert.equal(doc1.toSortedJSON(), '{"shape":{"color":"black"}}'); await client2.attach(doc2, { syncMode: SyncMode.Manual }); assert.equal(doc2.toSortedJSON(), '{"shape":{"color":"black"}}'); doc1.update((root) => { root.shape!.color = 'red'; }, 'set red'); await client1.sync(); await client2.sync(); doc2.update((root) => { delete root.shape; }, 'delete shape'); await client2.sync(); await client1.sync(); assert.equal(doc1.toSortedJSON(), '{}'); assert.equal(doc2.toSortedJSON(), '{}'); // c2 deleted the shape, so the reverse operation cannot be applied doc1.history.undo(); assert.equal(doc1.toSortedJSON(), '{}'); assert.equal(doc1.getRedoStackForTest().length, 0); assert.equal(doc1.history.canRedo(), false); }); it(`Should handle reverse set operation for elements (nested objects) that other peers deleted`, async function ({ task, }) { // Test scenario: // c1: create shape // c1: set shape.circle.point to { x: 1, y: 1 } // c2: delete shape // c1: undo(no changes as the shape was deleted) interface TestDoc { shape?: { circle: { point: { x: number; y: number } } }; } const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc1 = new Document(docKey); const doc2 = new Document(docKey); const client1 = new Client({ rpcAddr: testRPCAddr }); const client2 = new Client({ rpcAddr: testRPCAddr }); await client1.activate(); await client2.activate(); await client1.attach(doc1, { syncMode: SyncMode.Manual }); doc1.update((root) => { root.shape = { circle: { point: { x: 0, y: 0 } } }; }); await client1.sync(); assert.equal( doc1.toSortedJSON(), '{"shape":{"circle":{"point":{"x":0,"y":0}}}}', ); await client2.attach(doc2, { syncMode: SyncMode.Manual }); assert.equal( doc2.toSortedJSON(), '{"shape":{"circle":{"point":{"x":0,"y":0}}}}', ); doc1.update((root) => { root.shape!.circle.point = { x: 1, y: 1 }; }); await client1.sync(); await client2.sync(); assert.equal( doc1.toSortedJSON(), '{"shape":{"circle":{"point":{"x":1,"y":1}}}}', ); assert.equal( doc2.toSortedJSON(), '{"shape":{"circle":{"point":{"x":1,"y":1}}}}', ); doc2.update((root) => { delete root.shape; }, 'delete shape'); await client2.sync(); await client1.sync(); assert.equal(doc1.toSortedJSON(), '{}'); assert.equal(doc2.toSortedJSON(), '{}'); const c1ID = client1.getID()!.slice(-2); assert.deepEqual( doc1.getUndoStackForTest().at(-1)?.map(toStringHistoryOp), [`1:${c1ID}:2.SET.point={"x":0,"y":0}`], ); doc1.history.undo(); assert.equal(doc1.toSortedJSON(), '{}'); await client1.sync(); await client2.sync(); assert.equal(doc2.toSortedJSON(), '{}'); assert.equal(doc1.getRedoStackForTest().length, 0); assert.equal(doc1.history.canRedo(), false); }); it(`Should handle reverse remove operation for elements that other peers deleted`, async function ({ task, }) { // Test scenario: // c1: create shape // c2: delete shape // c1: undo(no changes as the shape was deleted) interface TestDoc { shape?: { color: string }; } const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc1 = new Document(docKey); const doc2 = new Document(docKey); const client1 = new Client({ rpcAddr: testRPCAddr }); const client2 = new Client({ rpcAddr: testRPCAddr }); await client1.activate(); await client2.activate(); await client1.attach(doc1, { syncMode: SyncMode.Manual }); doc1.update((root) => { root.shape = { color: 'black' }; }, 'init doc'); await client1.sync(); assert.equal(doc1.toSortedJSON(), '{"shape":{"color":"black"}}'); await client2.attach(doc2, { syncMode: SyncMode.Manual }); assert.equal(doc2.toSortedJSON(), '{"shape":{"color":"black"}}'); doc2.update((root) => { delete root.shape; }, 'delete shape'); await client2.sync(); await client1.sync(); assert.equal(doc1.toSortedJSON(), '{}'); assert.equal(doc2.toSortedJSON(), '{}'); // c2 deleted the shape, so the reverse operation cannot be applied doc1.history.undo(); assert.equal(doc1.toSortedJSON(), '{}'); assert.equal(doc1.getRedoStackForTest().length, 0); assert.equal(doc1.history.canRedo(), false); }); it(`Should handle reverse remove operation for elements (nested objects) that other peers deleted`, async function ({ task, }) { // Test scenario: // c1: set shape.circle.point to { x: 0, y: 0 } // c2: delete shape // c1: undo(no changes as the shape was deleted) interface TestDoc { shape?: { circle?: { point?: { x?: number; y?: number }; color?: string }; }; } const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc1 = new Document(docKey); const doc2 = new Document(docKey); const client1 = new Client({ rpcAddr: testRPCAddr }); const client2 = new Client({ rpcAddr: testRPCAddr }); await client1.activate(); await client2.activate(); await client1.attach(doc1, { syncMode: SyncMode.Manual }); doc1.update((root) => { root.shape = { circle: { color: 'red' } }; }); await client1.sync(); assert.equal(doc1.toSortedJSON(), '{"shape":{"circle":{"color":"red"}}}'); await client2.attach(doc2, { syncMode: SyncMode.Manual }); assert.equal(doc2.toSortedJSON(), '{"shape":{"circle":{"color":"red"}}}'); doc1.update((root) => { root.shape!.circle!.point = { x: 0, y: 0 }; }); await client1.sync(); await client2.sync(); assert.equal( doc1.toSortedJSON(), '{"shape":{"circle":{"color":"red","point":{"x":0,"y":0}}}}', ); assert.equal( doc2.toSortedJSON(), '{"shape":{"circle":{"color":"red","point":{"x":0,"y":0}}}}', ); doc2.update((root) => { delete root.shape; }, 'delete shape'); await client2.sync(); await client1.sync(); assert.equal(doc1.toSortedJSON(), '{}'); assert.equal(doc2.toSortedJSON(), '{}'); const c1ID = client1.getID()!.slice(-2); assert.deepEqual( doc1.getUndoStackForTest().at(-1)?.map(toStringHistoryOp), [`1:${c1ID}:2.REMOVE.2:${c1ID}:1`], ); doc1.history.undo(); assert.equal(doc1.toSortedJSON(), '{}'); await client1.sync(); await client2.sync(); assert.equal(doc2.toSortedJSON(), '{}'); assert.deepEqual(doc1.getRedoStackForTest().length, 0); }); it(`Should not propagate changes when there is no applied undo operation`, async function ({ task, }) { interface TestDoc { shape?: { color: string }; } const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc1 = new Document(docKey); const doc2 = new Document(docKey); const client1 = new Client({ rpcAddr: testRPCAddr }); const client2 = new Client({ rpcAddr: testRPCAddr }); await client1.activate(); await client2.activate(); await client1.attach(doc1, { syncMode: SyncMode.Manual }); let doc1ChangeID = doc1.getChangeID(); let doc1Checkpoint = doc1.getCheckpoint(); assert.equal(doc1ChangeID.getClientSeq(), 1); assert.equal(doc1Checkpoint.getClientSeq(), 1); assert.equal(doc1Checkpoint.getServerSeq(), 1n); doc1.update((root) => { root.shape = { color: 'black' }; }, 'init doc'); await client1.sync(); assert.equal(doc1.toSortedJSON(), '{"shape":{"color":"black"}}'); doc1ChangeID = doc1.getChangeID(); doc1Checkpoint = doc1.getCheckpoint(); assert.equal(doc1ChangeID.getClientSeq(), 2); assert.equal(doc1Checkpoint.getClientSeq(), 2); assert.equal(doc1Checkpoint.getServerSeq(), 2n); await client2.attach(doc2, { syncMode: SyncMode.Manual }); assert.equal(doc2.toSortedJSON(), '{"shape":{"color":"black"}}'); doc2.update((root) => { delete root.shape; }, 'delete shape'); await client2.sync(); await client1.sync(); assert.equal(doc1.toSortedJSON(), '{}'); assert.equal(doc2.toSortedJSON(), '{}'); doc1ChangeID = doc1.getChangeID(); doc1Checkpoint = doc1.getCheckpoint(); assert.equal(doc1ChangeID.getClientSeq(), 2); assert.equal(doc1Checkpoint.getClientSeq(), 2); assert.equal(doc1Checkpoint.getServerSeq(), 4n); // c2 deleted the shape, so the reverse operation cannot be applied doc1.history.undo(); assert.equal(doc1.toSortedJSON(), '{}'); assert.equal(doc1.getRedoStackForTest().length, 0); assert.equal(doc1.history.canRedo(), false); await client1.sync(); await client2.sync(); await client1.sync(); // Since there are no applied operations, there should be no change in the sequence. doc1ChangeID = doc1.getChangeID(); doc1Checkpoint = doc1.getCheckpoint(); assert.equal(doc1ChangeID.getClientSeq(), 2); assert.equal(doc1Checkpoint.getClientSeq(), 2); assert.equal(doc1Checkpoint.getServerSeq(), 4n); doc1.update((root) => { root.shape = { color: 'red' }; }); await client1.sync(); assert.equal(doc1.toSortedJSON(), '{"shape":{"color":"red"}}'); doc1ChangeID = doc1.getChangeID(); doc1Checkpoint = doc1.getCheckpoint(); assert.equal(doc1ChangeID.getClientSeq(), 3); assert.equal(doc1Checkpoint.getClientSeq(), 3); assert.equal(doc1Checkpoint.getServerSeq(), 5n); }); it(`Should not propagate changes when there is no applied undo operation`, async function ({ task, }) { interface TestDoc { shape?: { color: string }; } const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc1 = new Document(docKey); const doc2 = new Document(docKey); const client1 = new Client({ rpcAddr: testRPCAddr }); const client2 = new Client({ rpcAddr: testRPCAddr }); await client1.activate(); await client2.activate(); await client1.attach(doc1, { syncMode: SyncMode.Manual }); let doc1ChangeID = doc1.getChangeID(); let doc1Checkpoint = doc1.getCheckpoint(); assert.equal(doc1ChangeID.getClientSeq(), 1); assert.equal(doc1Checkpoint.getClientSeq(), 1); assert.equal(doc1Checkpoint.getServerSeq(), 1n); doc1.update((root) => { root.shape = { color: 'black' }; }, 'init doc'); await client1.sync(); assert.equal(doc1.toSortedJSON(), '{"shape":{"color":"black"}}'); doc1ChangeID = doc1.getChangeID(); doc1Checkpoint = doc1.getCheckpoint(); assert.equal(doc1ChangeID.getClientSeq(), 2); assert.equal(doc1Checkpoint.getClientSeq(), 2); assert.equal(doc1Checkpoint.getServerSeq(), 2n); await client2.attach(doc2, { syncMode: SyncMode.Manual }); assert.equal(doc2.toSortedJSON(), '{"shape":{"color":"black"}}'); doc2.update((root) => { delete root.shape; }, 'delete shape'); await client2.sync(); await client1.sync(); assert.equal(doc1.toSortedJSON(), '{}'); assert.equal(doc2.toSortedJSON(), '{}'); doc1ChangeID = doc1.getChangeID(); doc1Checkpoint = doc1.getCheckpoint(); assert.equal(doc1ChangeID.getClientSeq(), 2); assert.equal(doc1Checkpoint.getClientSeq(), 2); assert.equal(doc1Checkpoint.getServerSeq(), 4n); // c2 deleted the shape, so the reverse operation cannot be applied doc1.history.undo(); assert.equal(doc1.toSortedJSON(), '{}'); assert.equal(doc1.getRedoStackForTest().length, 0); assert.equal(doc1.history.canRedo(), false); await client1.sync(); await client2.sync(); await client1.sync(); // Since there are no applied operations, there should be no change in the sequence. doc1ChangeID = doc1.getChangeID(); doc1Checkpoint = doc1.getCheckpoint(); assert.equal(doc1ChangeID.getClientSeq(), 2); assert.equal(doc1Checkpoint.getClientSeq(), 2); assert.equal(doc1Checkpoint.getServerSeq(), 4n); doc1.update((root) => { root.shape = { color: 'red' }; }); await client1.sync(); assert.equal(doc1.toSortedJSON(), '{"shape":{"color":"red"}}'); doc1ChangeID = doc1.getChangeID(); doc1Checkpoint = doc1.getCheckpoint(); assert.equal(doc1ChangeID.getClientSeq(), 3); assert.equal(doc1Checkpoint.getClientSeq(), 3); assert.equal(doc1Checkpoint.getServerSeq(), 5n); }); it('Can handle concurrent undo/redo: local undo & global redo', async function ({ task, }) { interface TestDoc { color: string; } const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc1 = new Document(docKey); const doc2 = new Document(docKey); const client1 = new Client({ rpcAddr: testRPCAddr }); const client2 = new Client({ rpcAddr: testRPCAddr }); await client1.activate(); await client2.activate(); await client1.attach(doc1, { syncMode: SyncMode.Manual }); await client2.attach(doc2, { syncMode: SyncMode.Manual }); doc1.update((root) => { root.color = 'black'; }, 'init doc'); await client1.sync(); await client2.sync(); assert.equal(doc1.toSortedJSON(), '{"color":"black"}'); assert.equal(doc2.toSortedJSON(), '{"color":"black"}'); doc1.update((root) => { root.color = 'red'; }, 'set red'); doc2.update((root) => { root.color = 'green'; }, 'set green'); await client1.sync(); await client2.sync(); await client1.sync(); assert.equal(doc1.toSortedJSON(), '{"color":"green"}'); assert.equal(doc2.toSortedJSON(), '{"color":"green"}'); doc1.history.undo(); assert.equal(doc1.toSortedJSON(), '{"color":"black"}'); // local-undo await client1.sync(); await client2.sync(); assert.equal(doc2.toSortedJSON(), '{"color":"black"}'); doc1.history.redo(); assert.equal(doc1.toSortedJSON(), '{"color":"green"}'); // global-redo await client1.sync(); await client2.sync(); assert.equal(doc2.toSortedJSON(), '{"color":"green"}'); }); it('Can properly apply remote operations that occurred before local undo', async function ({ task, }) { // Test scenario: // c1 & c2: color='black' // c1: set color to 'red' // c2: set color to 'green' // c1: undo // sync c1 & c2 interface TestDoc { color: string; } const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc1 = new Document(docKey, { disableGC: true }); const doc2 = new Document(docKey, { disableGC: true }); const client1 = new Client({ rpcAddr: testRPCAddr }); const client2 = new Client({ rpcAddr: testRPCAddr }); await client1.activate(); await client2.activate(); await client1.attach(doc1, { syncMode: SyncMode.Manual }); await client2.attach(doc2, { syncMode: SyncMode.Manual }); doc1.update((root) => { root.color = 'black'; }, 'init doc'); await client1.sync(); await client2.sync(); await client1.sync(); assert.equal(doc1.toSortedJSON(), '{"color":"black"}'); assert.equal(doc2.toSortedJSON(), '{"color":"black"}'); doc1.update((root) => { root.color = 'red'; }, 'set red'); doc2.update((root) => { root.color = 'green'; }, 'set green'); assert.equal(doc1.toSortedJSON(), '{"color":"red"}'); assert.equal(doc2.toSortedJSON(), '{"color":"green"}'); doc1.history.undo(); assert.equal(doc1.toSortedJSON(), '{"color":"black"}'); await client1.sync(); await client2.sync(); await client1.sync(); assert.equal(doc1.toSortedJSON(), '{"color":"green"}'); assert.equal(doc2.toSortedJSON(), '{"color":"green"}'); doc1.history.redo(); await client1.sync(); await client2.sync(); assert.equal(doc1.toSortedJSON(), '{"color":"red"}'); assert.equal(doc2.toSortedJSON(), '{"color":"red"}'); }); it(`Should handle case of reverse operations referencing already garbage-collected elements`, async function ({ task, }) { interface TestDoc { shape: { color: string }; } const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); // TODO(chacha912): Remove the disableGC option const doc1 = new Document(docKey, { disableGC: true }); const doc2 = new Document(docKey, { disableGC: true }); const client1 = new Client({ rpcAddr: testRPCAddr }); const client2 = new Client({ rpcAddr: testRPCAddr }); await client1.activate(); await client2.activate(); await client1.attach(doc1, { syncMode: SyncMode.Manual }); await client2.attach(doc2, { syncMode: SyncMode.Manual }); doc1.update((root) => { root.shape = { color: 'black' }; }); doc2.update((root) => { root.shape = { color: 'yellow' }; }); await client1.sync(); await client2.sync(); await client1.sync(); assert.equal(doc1.toSortedJSON(), '{"shape":{"color":"yellow"}}'); assert.equal(doc2.toSortedJSON(), '{"shape":{"color":"yellow"}}'); doc2.update((root) => { root.shape.color = 'red'; }); await client2.sync(); await client1.sync(); await client2.sync(); assert.equal(doc1.toSortedJSON(), '{"shape":{"color":"red"}}'); assert.equal(doc2.toSortedJSON(), '{"shape":{"color":"red"}}'); doc1.history.undo(); assert.equal(doc1.toSortedJSON(), '{"shape":{"color":"red"}}'); assert.equal(doc1.getRedoStackForTest().length, 0); assert.equal(doc1.history.canRedo(), false); await client1.sync(); await client2.sync(); assert.equal(doc2.toSortedJSON(), '{"shape":{"color":"red"}}'); }); it(`Should clean up the references to a previously deleted node when the deleted node is restored through undo`, async function ({ task, }) { interface TestDoc { shape: { color: string }; } const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc1 = new Document(docKey); const doc2 = new Document(docKey); const client1 = new Client({ rpcAddr: testRPCAddr }); const client2 = new Client({ rpcAddr: testRPCAddr }); await client1.activate(); await client2.activate(); await client1.attach(doc1, { syncMode: SyncMode.Manual }); await client2.attach(doc2, { syncMode: SyncMode.Manual }); doc1.update((root) => { root.shape = { color: 'black' }; }); await client1.sync(); await client2.sync(); assert.equal(doc1.toSortedJSON(), '{"shape":{"color":"black"}}'); assert.equal(doc2.toSortedJSON(), '{"shape":{"color":"black"}}'); doc2.update((root) => { root.shape = { color: 'yellow' }; }); await client2.sync(); await client1.sync(); assert.equal(doc1.toSortedJSON(), '{"shape":{"color":"yellow"}}'); assert.equal(doc2.toSortedJSON(), '{"shape":{"color":"yellow"}}'); doc2.history.undo(); await client2.sync(); await client1.sync(); assert.equal(doc1.toSortedJSON(), '{"shape":{"color":"black"}}'); assert.equal(doc2.toSortedJSON(), '{"shape":{"color":"black"}}'); // NOTE(chacha912): removedElementSetByCreatedAt should only retain // the entry for `{shape: {color: 'yellow'}}`. assert.equal(doc2.getGarbageLen(), 2); }); }); }); ================================================ FILE: packages/sdk/test/integration/presence_test.ts ================================================ import { describe, it, assert } from 'vitest'; import * as yorkie from '@yorkie-js/sdk/src/yorkie'; import { testRPCAddr } from '@yorkie-js/sdk/test/integration/integration_helper'; /** * `waitForAttached` blocks until the channel's first RefreshChannel heartbeat * has populated the server-issued session_id and flipped status to Attached. * `client.attach(channel)` returns before this happens under the * RefreshChannel-only lifecycle. */ async function waitForAttached( channel: yorkie.Channel, { timeout = 8000 } = {}, ): Promise { const deadline = Date.now() + timeout; while (!channel.isAttached() || !channel.getSessionID()) { if (Date.now() > deadline) { throw new Error( `waitForAttached: ${channel.getKey()} did not attach (status=${channel.getStatus()}, sid=${channel.getSessionID() || 'empty'})`, ); } await new Promise((r) => setTimeout(r, 50)); } } /** * `waitForCount` polls `channel.getSessionCount()` until it matches `expected` * or `timeout` elapses. Used for peer-visibility checks that rely on the * server's TTL-based session reclamation + the next heartbeat. */ async function waitForCount( channel: yorkie.Channel, expected: number, { timeout = 25000 } = {}, ): Promise { const deadline = Date.now() + timeout; while (channel.getSessionCount() !== expected) { if (Date.now() > deadline) { throw new Error( `waitForCount: ${channel.getKey()} got ${channel.getSessionCount()}, expected ${expected}`, ); } await new Promise((r) => setTimeout(r, 100)); } } describe('Presence', function () { it('single client presence counter test', async function () { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); // Create presence counter const channelKey = `presence-${Date.now()}`; const channel = new yorkie.Channel(channelKey); // Test initial state assert.equal(channel.getKey(), channelKey); assert.equal(channel.getStatus(), 'detached'); assert.isFalse(channel.isAttached()); assert.equal(channel.getSessionCount(), 0); // Attach presence counter (returns before server-side attach completes) await c1.attach(channel); await waitForAttached(channel); // Verify attached state assert.equal(channel.getStatus(), 'attached'); assert.isTrue(channel.isAttached()); assert.equal(channel.getSessionCount(), 1); // Detach presence counter await c1.detach(channel); // Verify detached state assert.equal(channel.getStatus(), 'detached'); assert.isFalse(channel.isAttached()); await c1.deactivate(); }); // 45s: waits up to ~25s for cross-peer count drops via TTL reclamation. it('multiple clients presence counter test', async function () { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c3 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); await c3.activate(); // Create channels for the same room const channelKey = `presence-room-${Date.now()}`; const ch1 = new yorkie.Channel(channelKey); const ch2 = new yorkie.Channel(channelKey); const ch3 = new yorkie.Channel(channelKey); // First client attaches await c1.attach(ch1); await waitForAttached(ch1); assert.equal(ch1.getSessionCount(), 1); // Second client attaches await c2.attach(ch2); await waitForAttached(ch2); assert.equal(ch2.getSessionCount(), 2); // First client should receive the update via Realtime watch stream await waitForCount(ch1, 2, { timeout: 8000 }); // Third client attaches await c3.attach(ch3); await waitForAttached(ch3); assert.equal(ch3.getSessionCount(), 3); // Wait for the other Realtime peers to observe count=3 await waitForCount(ch1, 3, { timeout: 8000 }); await waitForCount(ch2, 3, { timeout: 8000 }); // One client detaches (local-only under the new lifecycle; peers learn // about it via the server's TTL-driven session reclamation + the next // heartbeat). Don't assert on ch2's own count — it's detached and // carries the last-seen value. await c2.detach(ch2); // Other clients should see the count decrease within the TTL window await waitForCount(ch1, 2); await waitForCount(ch3, 2); // Cleanup await c1.detach(ch1); await c3.detach(ch3); await c1.deactivate(); await c2.deactivate(); await c3.deactivate(); }, 45000); it('presence event subscription test', async function () { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const channelKey = `presence-events-${Date.now()}`; const ch1 = new yorkie.Channel(channelKey); const ch2 = new yorkie.Channel(channelKey); // Track events on ch1 const events: Array<{ type: string; count?: number }> = []; ch1.subscribe((event: yorkie.ChannelEvent) => { events.push({ type: event.type, count: event.type === yorkie.ChannelEventType.PresenceChanged || event.type === yorkie.ChannelEventType.Initialized ? event.count : undefined, }); }); // First client attaches await c1.attach(ch1); await waitForAttached(ch1); // Under the RefreshChannel-only lifecycle the first heartbeat fires // before the watch stream opens, so the first event is a // `PresenceChanged` from the heartbeat response. (Previously it was // `Initialized` from the watch stream's initial resourceInits batch.) assert.isAtLeast(events.length, 1); const firstEvent = events[0]; assert.oneOf(firstEvent.type, [ yorkie.ChannelEventType.PresenceChanged, yorkie.ChannelEventType.Initialized, ]); assert.equal(firstEvent.count, 1); // Second client attaches await c2.attach(ch2); await waitForAttached(ch2); await waitForCount(ch1, 2, { timeout: 8000 }); // Should have observed the count transition to 2 const presenceEvents = events.filter( (e) => e.type === yorkie.ChannelEventType.PresenceChanged, ); assert.isAtLeast(presenceEvents.length, 1); assert.equal(presenceEvents[presenceEvents.length - 1].count, 2); // Cleanup await c1.detach(ch1); await c2.detach(ch2); await c1.deactivate(); await c2.deactivate(); }, 15000); // 45s: cross-peer count drop after detach goes through the server's // 15s TTL + ~10s cleanup interval. it('presence detach reduces count test', async function () { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const channelKey = `presence-detach-${Date.now()}`; const ch1 = new yorkie.Channel(channelKey); const ch2 = new yorkie.Channel(channelKey); // Both attach await c1.attach(ch1); await c2.attach(ch2); await waitForAttached(ch1); await waitForAttached(ch2); await waitForCount(ch1, 2, { timeout: 8000 }); await waitForCount(ch2, 2, { timeout: 8000 }); // One detaches (local-only; peers learn via TTL + heartbeat) await c1.detach(ch1); // Other channels should see the decrease once the server reclaims // c1's session and ch2's next heartbeat returns the updated count. await waitForCount(ch2, 1); // Cleanup await c2.detach(ch2); await c1.deactivate(); await c2.deactivate(); }, 45000); // 30s: includes a 3.5s sleep across heartbeat cycles + waitForAttached. it('channel heartbeat keeps session alive', async function () { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr, channelHeartbeatInterval: 1000, // 1 second for faster testing }); await c1.activate(); const channelKey = `presence-heartbeat-${Date.now()}`; const channel = new yorkie.Channel(channelKey); // Attach presence await c1.attach(channel); await waitForAttached(channel); assert.equal(channel.getSessionCount(), 1); // Wait for 3 heartbeat cycles (3 seconds) // The presence should still be active because heartbeat refreshes TTL await new Promise((resolve) => setTimeout(resolve, 3500)); // Verify presence is still active assert.isTrue(channel.isAttached()); assert.equal(channel.getSessionCount(), 1); // Cleanup await c1.detach(channel); await c1.deactivate(); }, 30000); // 60s: includes a 25s poll-sync loop after a manual-mode peer detaches // (the server reclaims the orphaned session via TTL). it('presence manual sync mode test', async function () { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); // Create presences for the same room const channelKey = `presence-manual-${Date.now()}`; const ch1 = new yorkie.Channel(channelKey); const ch2 = new yorkie.Channel(channelKey); // Attach client1 with manual sync mode (no watch stream). Manual mode // does not auto-refresh, so we must call sync() once to trigger the // first RefreshChannel and populate sessionCount. await c1.attach(ch1, { syncMode: yorkie.SyncMode.Manual }); await c1.sync(ch1); assert.equal(ch1.getSessionCount(), 1); // Attach client2 with manual sync mode await c2.attach(ch2, { syncMode: yorkie.SyncMode.Manual }); await c2.sync(ch2); assert.equal(ch2.getSessionCount(), 2); // In manual mode, p1's count doesn't update automatically // even though p2 was attached await new Promise((resolve) => setTimeout(resolve, 500)); assert.equal(ch1.getSessionCount(), 1, 'p1 should still be 1'); // Must call sync() explicitly to refresh TTL and fetch latest count await c1.sync(ch1); assert.equal(ch1.getSessionCount(), 2, 'p1 should update to 2 after sync'); // Detach p2 and verify p1 doesn't auto-update await c2.detach(ch2); await new Promise((resolve) => setTimeout(resolve, 500)); assert.equal(ch1.getSessionCount(), 2, 'p1 should still be 2'); // Under the RefreshChannel-only lifecycle, `c2.detach(ch2)` is purely // local — the server reclaims c2's session only after its TTL elapses // (~15s). A single `c1.sync(ch1)` right after detach still observes 2. // Poll-sync until the server count drops to 1. const dropDeadline = Date.now() + 25000; while (ch1.getSessionCount() !== 1) { if (Date.now() > dropDeadline) { throw new Error( `manual-mode peer did not observe count drop within TTL window (got ${ch1.getSessionCount()})`, ); } await c1.sync(ch1); if (ch1.getSessionCount() === 1) break; await new Promise((r) => setTimeout(r, 1000)); } assert.equal(ch1.getSessionCount(), 1, 'p1 eventually observes 1'); // Cleanup await c1.detach(ch1); await c1.deactivate(); await c2.deactivate(); }, 60000); // 30s: realtime peer needs up to ~8s per cross-mode count transition. it('presence realtime vs manual mode comparison test', async function () { const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c3 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); await c3.activate(); const channelKey = `presence-mode-compare-${Date.now()}`; const realtimeCh = new yorkie.Channel(channelKey); const manualCh = new yorkie.Channel(channelKey); const thirdCh = new yorkie.Channel(channelKey); // c1: Attach with realtime mode (default) await c1.attach(realtimeCh); await waitForAttached(realtimeCh); assert.equal(realtimeCh.getSessionCount(), 1); // c2: Attach with manual mode. Manual mode skips auto-refresh; need an // explicit sync() to populate sessionCount and complete first-call. await c2.attach(manualCh, { syncMode: yorkie.SyncMode.Manual }); await c2.sync(manualCh); assert.equal(manualCh.getSessionCount(), 2); // c1's realtime presence should automatically receive the update await waitForCount(realtimeCh, 2, { timeout: 8000 }); assert.equal( realtimeCh.getSessionCount(), 2, 'realtime presence should auto-update', ); // c2's manual presence doesn't receive updates assert.equal( manualCh.getSessionCount(), 2, 'manual presence should not auto-update', ); // c3: Attach another client (manual mode) await c3.attach(thirdCh, { syncMode: yorkie.SyncMode.Manual }); await c3.sync(thirdCh); assert.equal(thirdCh.getSessionCount(), 3); // c1's realtime presence receives the update automatically await waitForCount(realtimeCh, 3, { timeout: 8000 }); assert.equal( realtimeCh.getSessionCount(), 3, 'realtime presence should be 3', ); // c2's manual presence still doesn't update assert.equal(manualCh.getSessionCount(), 2, 'manual presence should be 2'); // Cleanup await c1.detach(realtimeCh); await c2.detach(manualCh); await c3.detach(thirdCh); await c1.deactivate(); await c2.deactivate(); await c3.deactivate(); }, 30000); }); ================================================ FILE: packages/sdk/test/integration/primitive_test.ts ================================================ import { describe, it, assert } from 'vitest'; import { Document } from '@yorkie-js/sdk/src/document/document'; import { InitialCheckpoint } from '@yorkie-js/sdk/src/document/change/checkpoint'; import { withTwoClientsAndDocuments } from '@yorkie-js/sdk/test/integration/integration_helper'; import { Code, YorkieError } from '@yorkie-js/sdk/src/util/error'; describe('Primitive', function () { it('should apply updates of string', function () { const doc1 = new Document<{ k1: string; k2: string }>('test-doc'); const doc2 = new Document('test-doc'); assert.isTrue(doc1.getCheckpoint().equals(InitialCheckpoint)); assert.isFalse(doc1.hasLocalChanges()); doc1.update((root) => { root['k1'] = 'v1'; root['k2'] = 'v2'; assert.equal('v1', root['k1']); }, 'set v1, v2'); assert.equal('{"k1":"v1","k2":"v2"}', doc1.toSortedJSON()); assert.isTrue(doc1.hasLocalChanges()); assert.notEqual(doc1, doc2); }); it('can rollback, primitive deepcopy', function () { const doc = new Document<{ k1: { ['k1-1']?: number; ['k1-2']?: number }; }>('test-doc'); doc.update((root) => { root['k1'] = {}; root['k1']['k1-1'] = 1; root['k1']['k1-2'] = 2; }); assert.equal('{"k1":{"k1-1":1,"k1-2":2}}', doc.toSortedJSON()); assert.throws(() => { const errorMsg = 'dummy error'; doc.update((root) => { delete root['k1']['k1-1']; throw new YorkieError(Code.ErrDummy, errorMsg); }, errorMsg); }); assert.equal('{"k1":{"k1-1":1,"k1-2":2}}', doc.toSortedJSON()); }); it('Can handle primitive types', async function ({ task }) { await withTwoClientsAndDocuments<{ k0: null; k1: boolean; k2: number; k3: bigint; k4: number; k5: string; k6: Uint8Array; k7: Date; k8: undefined; }>(async (c1, d1, c2, d2) => { d1.update((root) => { root['k0'] = null; root['k1'] = true; root['k2'] = 2147483647; root['k3'] = 9223372036854775807n; root['k4'] = 1.79; root['k5'] = '4'; root['k6'] = new Uint8Array([65, 66]); root['k7'] = new Date(); root['k8'] = undefined; }); await c1.sync(); await c2.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); }); ================================================ FILE: packages/sdk/test/integration/revision_test.ts ================================================ import { describe, it, assert } from 'vitest'; import yorkie from '@yorkie-js/sdk/src/yorkie'; import { testRPCAddr, toDocKey, withTwoClientsAndDocuments, } from '@yorkie-js/sdk/test/integration/integration_helper'; import { SyncMode } from '@yorkie-js/sdk/src/client/client'; describe('Revision', function () { it('Can create a revision and list revisions', async function ({ task }) { type TestDoc = { k1: string; k2?: string }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document(docKey); const client = new yorkie.Client({ rpcAddr: testRPCAddr }); await client.activate(); await client.attach(doc, { syncMode: SyncMode.Manual }); // 01. Make initial changes doc.update((r) => (r.k1 = 'v1'), 'add k1'); await client.sync(); // 02. Create a revision const rev = await client.createRevision(doc, 'v1.0', 'First revision'); assert.isNotNull(rev); assert.equal(rev.label, 'v1.0'); assert.equal(rev.description, 'First revision'); // 03. Make more changes doc.update((r) => (r.k2 = 'v2'), 'add k2'); await client.sync(); // 04. Create another revision const rev2 = await client.createRevision(doc, 'v2.0', 'Second revision'); assert.isNotNull(rev2); assert.equal(rev2.label, 'v2.0'); // 05. List all revisions const revisions = await client.listRevisions(doc); assert.isTrue(revisions.length >= 2); // Revisions should be in reverse chronological order (newest first) assert.equal(revisions[0].label, 'v2.0'); assert.equal(revisions[1].label, 'v1.0'); await client.detach(doc); await client.deactivate(); }); it('Should handle revision pagination', async function ({ task }) { type TestDoc = { count: number }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document(docKey); const client = new yorkie.Client({ rpcAddr: testRPCAddr }); await client.activate(); await client.attach(doc, { syncMode: SyncMode.Manual }); // Create multiple revisions for (let i = 1; i <= 5; i++) { doc.update((root) => (root.count = i)); await client.sync(); await client.createRevision(doc, `v${i}.0`, `Revision ${i}`); } // List with pagination const firstPage = await client.listRevisions(doc, { pageSize: 3 }); assert.equal(firstPage.length, 3); const secondPage = await client.listRevisions(doc, { pageSize: 3, offset: 3, }); assert.equal(secondPage.length, 2); await client.detach(doc); await client.deactivate(); }); it('Can get a specific revision by ID', async function ({ task }) { type TestDoc = { k1: string; k2?: string; k3?: string }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document(docKey); const client = new yorkie.Client({ rpcAddr: testRPCAddr }); await client.activate(); await client.attach(doc, { syncMode: SyncMode.Manual }); // 01. Create initial state and revision doc.update((root) => { root.k1 = 'v1'; root.k2 = 'v2'; }, 'initial state'); await client.sync(); const rev1 = await client.createRevision(doc, 'v1.0', 'First revision'); assert.isNotNull(rev1); // 02. Make more changes and create another revision doc.update((root) => { root.k2 = 'modified'; root.k3 = 'v3'; }, 'modify and add'); await client.sync(); const rev2 = await client.createRevision(doc, 'v2.0', 'Second revision'); assert.isNotNull(rev2); // 03. Get the first revision by ID const retRev1 = await client.getRevision(doc, rev1.id); assert.isNotNull(retRev1); assert.equal(retRev1.id, rev1.id); assert.equal(retRev1.label, 'v1.0'); assert.equal(retRev1.description, 'First revision'); assert.equal(retRev1.snapshot, '{"k1":"v1","k2":"v2"}'); // 04. Get the second revision by ID const retRev2 = await client.getRevision(doc, rev2.id); assert.isNotNull(retRev2); assert.equal(retRev2.id, rev2.id); assert.equal(retRev2.label, 'v2.0'); assert.equal(retRev2.description, 'Second revision'); assert.equal(retRev2.snapshot, '{"k1":"v1","k2":"modified","k3":"v3"}'); // 05. Verify snapshots are different assert.notEqual(retRev1.snapshot, retRev2.snapshot); await client.detach(doc); await client.deactivate(); }); it('Can restore to a revision', async function ({ task }) { type TestDoc = { k1: string; k2?: string }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document(docKey); const client = new yorkie.Client({ rpcAddr: testRPCAddr }); await client.activate(); await client.attach(doc, { syncMode: SyncMode.Manual }); // 01. Create initial state doc.update((root) => { root.k1 = 'v1'; root.k2 = 'v2'; }, 'initial state'); await client.sync(); // 02. Create a revision of the initial state const revision = await client.createRevision(doc, 'v1.0', 'Initial state'); assert.isNotNull(revision); // 03. Make more changes doc.update((root) => { root.k1 = 'modified'; root.k2 = 'v3'; }, 'modify document'); await client.sync(); // 04. Verify the document was modified assert.equal(doc.toSortedJSON(), '{"k1":"modified","k2":"v3"}'); // 05. Restore to the revision await client.restoreRevision(doc, revision.id); // 06. Sync to get the restored state await client.sync(); // 07. Verify the document was restored to the initial state assert.equal(doc.toSortedJSON(), '{"k1":"v1","k2":"v2"}'); await client.detach(doc); await client.deactivate(); }); it('Should propagate restore to other clients', async function ({ task }) { type TestDoc = { k1: string; k2?: string }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { // 01. Client1 creates initial state d1.update((root) => { root.k1 = 'v1'; root.k2 = 'v2'; }, 'initial state'); await c1.sync(); await c2.sync(); // 02. Verify both clients have the same state assert.equal(d1.toSortedJSON(), '{"k1":"v1","k2":"v2"}'); assert.equal(d2.toSortedJSON(), '{"k1":"v1","k2":"v2"}'); // 03. Client1 creates a revision const revision = await c1.createRevision(d1, 'v1.0', 'Initial state'); assert.isNotNull(revision); // 04. Client1 makes changes d1.update((root) => { root.k1 = 'modified'; root.k2 = 'v3'; }, 'modify document'); await c1.sync(); await c2.sync(); // 05. Verify both clients have the modified state assert.equal(d1.toSortedJSON(), '{"k1":"modified","k2":"v3"}'); assert.equal(d2.toSortedJSON(), '{"k1":"modified","k2":"v3"}'); // 06. Client1 restores to the revision await c1.restoreRevision(d1, revision.id); await c1.sync(); // 07. Client2 syncs to receive the restore await c2.sync(); // 08. Verify both clients have been restored to the initial state assert.equal(d1.toSortedJSON(), '{"k1":"v1","k2":"v2"}'); assert.equal(d2.toSortedJSON(), '{"k1":"v1","k2":"v2"}'); }, task.name); }); }); ================================================ FILE: packages/sdk/test/integration/snapshot_test.ts ================================================ import { describe, it, assert } from 'vitest'; import { DefaultSnapshotThreshold } from '@yorkie-js/sdk/test/helper/helper'; import { withTwoClientsAndDocuments } from '@yorkie-js/sdk/test/integration/integration_helper'; import { Text } from '@yorkie-js/sdk/src/yorkie'; describe('Snapshot', function () { it('should handle snapshot', async function ({ task }) { type TestDoc = Record & { key: string }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { // 01. Updates changes over snapshot threshold. for (let idx = 0; idx < DefaultSnapshotThreshold; idx++) { d1.update((root) => { root[`${idx}`] = idx; }); } await c1.sync(); // 02. Makes local changes then pull a snapshot from the agent. d2.update((root) => { root['key'] = 'value'; }); await c2.sync(); assert.equal(d2.getRoot()['key'], 'value'); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('should handle snapshot for text object', async function ({ task }) { await withTwoClientsAndDocuments<{ k1: Text }>(async (c1, d1, c2, d2) => { for (let idx = 0; idx < DefaultSnapshotThreshold; idx++) { d1.update((root) => { root.k1 = new Text(); }, 'set new doc by c1'); } await c1.sync(); await c2.sync(); // 01. Updates changes over snapshot threshold by c1. for (let idx = 0; idx < DefaultSnapshotThreshold; idx++) { d1.update((root) => { root.k1.edit(idx, idx, 'x'); }); } // 02. Makes local change by c2. d2.update((root) => { root.k1.edit(0, 0, 'o'); }); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('should handle snapshot for text with attributes', async function ({ task, }) { await withTwoClientsAndDocuments<{ k1: Text }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.k1 = new Text(); root.k1.edit(0, 0, 'a'); }, 'set new doc by c1'); await c1.sync(); await c2.sync(); // 01. Updates changes over snapshot threshold by c1. for (let idx = 0; idx < DefaultSnapshotThreshold; idx++) { d1.update((root) => { root.k1.setStyle(0, 1, { bold: 'true' }); }); } await c1.sync(); await c2.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); }); ================================================ FILE: packages/sdk/test/integration/text_test.ts ================================================ import { describe, it, assert } from 'vitest'; import { TextView } from '@yorkie-js/sdk/test/helper/helper'; import { withTwoClientsAndDocuments } from '@yorkie-js/sdk/test/integration/integration_helper'; import { Document, Text } from '@yorkie-js/sdk/src/yorkie'; describe('Text', function () { it('should handle edit operations', function () { const doc = new Document<{ k1: Text }>('test-doc'); assert.equal('{}', doc.toSortedJSON()); // ------ ins links ---- // | | | // [init] - [A] - [12] - {BC} - [D] doc.update((root) => { root.k1 = new Text(); root.k1.edit(0, 0, 'ABCD'); root.k1.edit(1, 3, '12'); }, 'set {"k1":"A12D"}'); doc.update((root) => { assert.equal( '[0:00:0:0 ][1:00:2:0 A][1:00:3:0 12]{1:00:2:1 BC}[1:00:2:3 D]', root['k1'].toTestString(), ); let range = root['k1'].createRangeForTest(0, 0); assert.equal('0:00:0:0:0', range[0].toTestString()); range = root['k1'].createRangeForTest(1, 1); assert.equal('1:00:2:0:1', range[0].toTestString()); range = root['k1'].createRangeForTest(2, 2); assert.equal('1:00:3:0:1', range[0].toTestString()); range = root['k1'].createRangeForTest(3, 3); assert.equal('1:00:3:0:2', range[0].toTestString()); range = root['k1'].createRangeForTest(4, 4); assert.equal('1:00:2:3:1', range[0].toTestString()); }); assert.equal( '{"k1":[{"val":"A"},{"val":"12"},{"val":"D"}]}', doc.toSortedJSON(), ); }); it('should handle edit operations2', function () { const doc = new Document<{ k1: Text }>('test-doc'); assert.equal('{}', doc.toSortedJSON()); // -- ins links --- // | | // [init] - [ABC] - [\n] - [D] doc.update((root) => { root.k1 = new Text(); root.k1.edit(0, 0, 'ABCD'); root.k1.edit(3, 3, '\n'); }, 'set {"k1":"ABC\nD"}'); doc.update((root) => { assert.equal( '[0:00:0:0 ][1:00:2:0 ABC][1:00:3:0 \n][1:00:2:3 D]', root['k1'].toTestString(), ); }); assert.equal( '{"k1":[{"val":"ABC"},{"val":"\\n"},{"val":"D"}]}', doc.toSortedJSON(), ); }); it('should handle type 하늘', function () { const doc = new Document<{ k1: Text }>('test-doc'); assert.equal('{}', doc.toSortedJSON()); doc.update((root) => { root.k1 = new Text(); root.k1.edit(0, 0, 'ㅎ'); root.k1.edit(0, 1, '하'); root.k1.edit(0, 1, '한'); root.k1.edit(0, 1, '하'); root.k1.edit(1, 1, '느'); root.k1.edit(1, 2, '늘'); }, 'set {"k1":"하늘"}'); assert.equal('{"k1":[{"val":"하"},{"val":"늘"}]}', doc.toSortedJSON()); }); it('should handle deletion of nested nodes', function () { const doc = new Document<{ text: Text; }>('test-doc'); const view = new TextView(); doc.update((root) => (root.text = new Text())); doc.subscribe('$.text', (event) => { if (event.type === 'local-change') { const { operations } = event.value; view.applyOperations(operations); } }); const commands = [ { from: 0, to: 0, content: 'ABC' }, { from: 3, to: 3, content: 'DEF' }, { from: 2, to: 4, content: '1' }, { from: 1, to: 4, content: '2' }, ]; for (const cmd of commands) { doc.update((root) => root.text.edit(cmd.from, cmd.to, cmd.content)); assert.equal(view.toString(), doc.getRoot().text.toString()); } }); it('should handle deletion of the last nodes', function () { const doc = new Document<{ text: Text }>('test-doc'); const view = new TextView(); doc.update((root) => (root.text = new Text())); doc.subscribe('$.text', (event) => { if (event.type === 'local-change') { const { operations } = event.value; view.applyOperations(operations); } }); const commands = [ { from: 0, to: 0, content: 'A' }, { from: 1, to: 1, content: 'B' }, { from: 2, to: 2, content: 'C' }, { from: 3, to: 3, content: 'DE' }, { from: 5, to: 5, content: 'F' }, { from: 6, to: 6, content: 'GHI' }, { from: 9, to: 9 }, // delete no last node { from: 8, to: 9 }, // delete one last node with split { from: 6, to: 8 }, // delete one last node without split { from: 4, to: 6 }, // delete last nodes with split { from: 2, to: 4 }, // delete last nodes without split { from: 0, to: 2 }, // delete last nodes containing the first ]; for (const cmd of commands) { doc.update((root) => root.text.edit(cmd.from, cmd.to, cmd.content!)); assert.equal(view.toString(), doc.getRoot().text.toString()); } }); it('should handle deletion with boundary nodes already removed', function () { const doc = new Document<{ text: Text }>('test-doc'); const view = new TextView(); doc.update((root) => (root.text = new Text())); doc.subscribe('$.text', (event) => { if (event.type === 'local-change') { const { operations } = event.value; view.applyOperations(operations); } }); const commands = [ { from: 0, to: 0, content: '1A1BCXEF1' }, { from: 8, to: 9 }, { from: 2, to: 3 }, { from: 0, to: 1 }, // ABCXEF { from: 0, to: 1 }, // delete A with two removed boundaries { from: 0, to: 1 }, // delete B with removed left boundary { from: 3, to: 4 }, // delete F with removed right boundary { from: 1, to: 2 }, { from: 0, to: 2 }, // delete CE with removed inner node X ]; for (const cmd of commands) { doc.update((root) => root.text.edit(cmd.from, cmd.to, cmd.content!)); assert.equal(view.toString(), doc.getRoot().text.toString()); } }); it('should handle edit operations', async function ({ task }) { await withTwoClientsAndDocuments<{ k1: Text }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.k1 = new Text(); root.k1.edit(0, 0, 'ABCD'); }, 'set new text by c1'); await c1.sync(); await c2.sync(); assert.equal(d1.toSortedJSON(), `{"k1":[{"val":"ABCD"}]}`); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.update((root) => { root.k1 = new Text(); root.k1.edit(0, 0, '1234'); }, 'edit 0,0 1234 by c1'); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), `{"k1":[{"val":"1234"}]}`); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('should handle text edit operations with attributes', function () { const doc = new Document<{ k1: Text<{ b: string }> }>('test-doc'); assert.equal('{}', doc.toSortedJSON()); doc.update((root) => { root.k1 = new Text(); root.k1.edit(0, 0, 'ABCD', { b: '1' }); root.k1.edit(3, 3, '\n'); }, 'set {"k1":"ABC\nD"}'); doc.update((root) => { assert.equal( '[0:00:0:0 ][1:00:2:0 ABC][1:00:3:0 \n][1:00:2:3 D]', root['k1'].toTestString(), ); }); assert.equal( '{"k1":[{"attrs":{"b":"1"},"val":"ABC"},{"val":"\\n"},{"attrs":{"b":"1"},"val":"D"}]}', doc.toSortedJSON(), ); }); it('should handle text delete operations', function () { const doc = new Document<{ k1: Text }>('test-doc'); doc.update((root) => { root.k1 = new Text(); root.k1.edit(0, 0, 'ABCD'); }, 'set ABCD'); assert.equal(doc.getRoot().k1.toString(), `ABCD`); doc.update((root) => { root.k1.delete(1, 3); }, 'delete BC'); assert.equal(doc.getRoot().k1.toString(), `AD`); }); it('should handle text empty operations', function () { const doc = new Document<{ k1: Text }>('test-doc'); doc.update((root) => { root.k1 = new Text(); root.k1.edit(0, 0, 'ABCD'); }, 'set ABCD'); assert.equal(doc.getRoot().k1.toString(), `ABCD`); doc.update((root) => { root.k1.empty(); }, 'empty'); assert.equal(doc.getRoot().k1.toString(), ``); }); it('should handle concurrent edit operations', async function ({ task }) { await withTwoClientsAndDocuments<{ k1: Text }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.k1 = new Text(); }, 'set new text by c1'); await c1.sync(); await c2.sync(); assert.equal(d1.toSortedJSON(), `{"k1":[]}`); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.update((root) => { root['k1'].edit(0, 0, 'ABCD'); }, 'edit 0,0 ABCD by c1'); assert.equal(d1.toSortedJSON(), `{"k1":[{"val":"ABCD"}]}`); d2.update((root) => { root['k1'].edit(0, 0, '1234'); }, 'edit 0,0 1234 by c2'); assert.equal(d2.toSortedJSON(), `{"k1":[{"val":"1234"}]}`); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.update((root) => { root['k1'].edit(2, 3, 'XX'); }, 'edit 2,3 XX by c1'); d2.update((root) => { root['k1'].edit(2, 3, 'YY'); }, 'edit 2,3 YY by c1'); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.update((root) => { root['k1'].edit(4, 5, 'ZZ'); }, 'edit 4,5 ZZ by c1'); d2.update((root) => { root['k1'].edit(2, 3, 'TT'); }, 'edit 2,3 TT by c1'); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('should handle concurrent insertion and deletion', async function ({ task, }) { await withTwoClientsAndDocuments<{ k1: Text }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.k1 = new Text(); root.k1.edit(0, 0, 'AB'); }, 'set new text by c1'); await c1.sync(); await c2.sync(); assert.equal(d1.toSortedJSON(), `{"k1":[{"val":"AB"}]}`); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); d1.update((root) => { root['k1'].edit(0, 2, ''); }); assert.equal(d1.toSortedJSON(), `{"k1":[]}`); d2.update((root) => { root['k1'].edit(1, 1, 'C'); }); assert.equal( d2.toSortedJSON(), `{"k1":[{"val":"A"},{"val":"C"},{"val":"B"}]}`, ); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), `{"k1":[{"val":"C"}]}`); assert.equal(d2.toSortedJSON(), `{"k1":[{"val":"C"}]}`); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); }, task.name); }); it('should handle concurrent block deletions', async function ({ task }) { await withTwoClientsAndDocuments<{ k1: Text }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.k1 = new Text(); root.k1.edit(0, 0, '123'); root.k1.edit(3, 3, '456'); root.k1.edit(6, 6, '789'); }, 'set new text by c1'); await c1.sync(); await c2.sync(); assert.equal( d1.toSortedJSON(), `{"k1":[{"val":"123"},{"val":"456"},{"val":"789"}]}`, ); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); const view1 = new TextView(); d1.subscribe('$.k1', (event) => { if (event.type === 'local-change') { const { operations } = event.value; view1.applyOperations(operations); } }); d1.update((root) => { root.k1.edit(1, 7, ''); }); assert.equal(d1.toSortedJSON(), `{"k1":[{"val":"1"},{"val":"89"}]}`); d2.update((root) => { root.k1.edit(2, 5, ''); }); assert.equal( d2.toSortedJSON(), `{"k1":[{"val":"12"},{"val":"6"},{"val":"789"}]}`, ); await c1.sync(); await c2.sync(); await c1.sync(); }, task.name); }); it('should maintain the correct weight for nodes newly created then concurrently removed', async function ({ task, }) { await withTwoClientsAndDocuments<{ k1: Text }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.k1 = new Text(); }, 'set new text by c1'); d1.update((root) => { root.k1.edit(0, 0, 'O'); root.k1.edit(1, 1, 'O'); root.k1.edit(2, 2, 'O'); }); await c1.sync(); await c2.sync(); d1.update((root) => { root.k1.edit(1, 2, 'X'); root.k1.edit(1, 2, 'X'); root.k1.edit(1, 2, ''); }); d2.update((root) => { root.k1.edit(0, 3, 'N'); }); await c1.sync(); await c2.sync(); await c1.sync(); assert.isOk(d1.getRoot().k1.getTreeByIndex().checkWeight()); assert.isOk(d2.getRoot().k1.getTreeByIndex().checkWeight()); }, task.name); }); }); describe('peri-text example: text concurrent edit', function () { it('ex1. concurrent insertions on plain text', async function ({ task }) { await withTwoClientsAndDocuments<{ k1: Text }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.k1 = new Text(); root.k1.edit(0, 0, 'The fox jumped.'); }, 'set text by c1'); await c1.sync(); await c2.sync(); assert.equal(d1.toSortedJSON(), `{"k1":[{"val":"The fox jumped."}]}`); assert.equal(d2.toSortedJSON(), d1.toSortedJSON()); d1.update((root) => { root.k1.edit(4, 4, 'quick '); }, `add 'quick' by c1`); assert.equal( d1.toSortedJSON(), `{"k1":[{"val":"The "},{"val":"quick "},{"val":"fox jumped."}]}`, ); d2.update((root) => { root.k1.edit(14, 14, ' over the dog'); }, `add 'over the dog' by c2`); assert.equal( d2.toSortedJSON(), `{"k1":[{"val":"The fox jumped"},{"val":" over the dog"},{"val":"."}]}`, ); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.toSortedJSON(), '{"k1":[{"val":"The "},{"val":"quick "},{"val":"fox jumped"},{"val":" over the dog"},{"val":"."}]}', ); assert.equal(d2.toSortedJSON(), d1.toSortedJSON()); }, task.name); }); it('ex2. concurrent formatting and insertion', async function ({ task }) { await withTwoClientsAndDocuments<{ k1: Text }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.k1 = new Text(); root.k1.edit(0, 0, 'The fox jumped.'); }, 'set text by c1'); await c1.sync(); await c2.sync(); assert.equal(d1.toSortedJSON(), `{"k1":[{"val":"The fox jumped."}]}`); assert.equal(d2.toSortedJSON(), d1.toSortedJSON()); d1.update((root) => { root.k1.setStyle(0, 15, { bold: true }); }, `bolds text by c1`); assert.equal( d1.toSortedJSON(), `{"k1":[{"attrs":{"bold":true},"val":"The fox jumped."}]}`, ); d2.update((root) => { root.k1.edit(4, 4, 'brown '); }, `add 'brown' by c2`); assert.equal( d2.toSortedJSON(), `{"k1":[{"val":"The "},{"val":"brown "},{"val":"fox jumped."}]}`, ); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.toSortedJSON(), '{"k1":[{"attrs":{"bold":true},"val":"The "},{"val":"brown "},{"attrs":{"bold":true},"val":"fox jumped."}]}', 'd1', ); // TODO(MoonGyu1): d1 and d2 should have the result below after applying mark operation // assert.equal( // d1.toSortedJSON(), // '{"k1":[{"attrs":{"bold":true},"val":"The "},{"attrs":{"bold":true},"val":"brown "},{"attrs":{"bold":true},"val":"fox jumped."}]}', // 'd1', // ); assert.equal(d2.toSortedJSON(), d1.toSortedJSON()); }, task.name); }); it('ex3. overlapping formatting(bold)', async function ({ task }) { await withTwoClientsAndDocuments<{ k1: Text }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.k1 = new Text(); root.k1.edit(0, 0, 'The fox jumped.'); }, 'set text by c1'); await c1.sync(); await c2.sync(); assert.equal(d1.toSortedJSON(), `{"k1":[{"val":"The fox jumped."}]}`); assert.equal(d2.toSortedJSON(), d1.toSortedJSON()); d1.update((root) => { root.k1.setStyle(0, 7, { bold: true }); }, `bolds text by c1`); assert.equal( d1.toSortedJSON(), `{"k1":[{"attrs":{"bold":true},"val":"The fox"},{"val":" jumped."}]}`, ); d2.update((root) => { root.k1.setStyle(4, 15, { bold: true }); }, `bolds text by c2`); assert.equal( d2.toSortedJSON(), `{"k1":[{"val":"The "},{"attrs":{"bold":true},"val":"fox jumped."}]}`, ); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.toSortedJSON(), '{"k1":[{"attrs":{"bold":true},"val":"The "},{"attrs":{"bold":true},"val":"fox"},{"attrs":{"bold":true},"val":" jumped."}]}', 'd1', ); assert.equal(d2.toSortedJSON(), d1.toSortedJSON(), 'd2'); }, task.name); }); it('ex4. overlapping different formatting(bold and italic)', async function ({ task, }) { await withTwoClientsAndDocuments<{ k1: Text }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.k1 = new Text(); root.k1.edit(0, 0, 'The fox jumped.'); }, 'set text by c1'); await c1.sync(); await c2.sync(); assert.equal(d1.toSortedJSON(), `{"k1":[{"val":"The fox jumped."}]}`); assert.equal(d2.toSortedJSON(), d1.toSortedJSON()); d1.update((root) => { root.k1.setStyle(0, 7, { bold: true }); }, `bolds text by c1`); assert.equal( d1.toSortedJSON(), `{"k1":[{"attrs":{"bold":true},"val":"The fox"},{"val":" jumped."}]}`, ); d2.update((root) => { root.k1.setStyle(4, 15, { italic: true }); }, `italicize text by c2`); assert.equal( d2.toSortedJSON(), `{"k1":[{"val":"The "},{"attrs":{"italic":true},"val":"fox jumped."}]}`, ); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.toSortedJSON(), '{"k1":[{"attrs":{"bold":true},"val":"The "},{"attrs":{"bold":true,"italic":true},"val":"fox"},{"attrs":{"italic":true},"val":" jumped."}]}', 'd1', ); assert.equal(d2.toSortedJSON(), d1.toSortedJSON(), 'd2'); }, task.name); }); it('ex5. conflicting overlaps(highlighting)', async function ({ task }) { await withTwoClientsAndDocuments<{ k1: Text }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.k1 = new Text(); root.k1.edit(0, 0, 'The fox jumped.'); }, 'set text by c1'); await c1.sync(); await c2.sync(); assert.equal(d1.toSortedJSON(), `{"k1":[{"val":"The fox jumped."}]}`); assert.equal(d2.toSortedJSON(), d1.toSortedJSON()); d1.update((root) => { root.k1.setStyle(0, 7, { highlight: 'red' }); }, `highlight text by c1`); assert.equal( d1.toSortedJSON(), `{"k1":[{"attrs":{"highlight":"red"},"val":"The fox"},{"val":" jumped."}]}`, ); d2.update((root) => { root.k1.setStyle(4, 15, { highlight: 'blue' }); }, `highlight text by c2`); assert.equal( d2.toSortedJSON(), `{"k1":[{"val":"The "},{"attrs":{"highlight":"blue"},"val":"fox jumped."}]}`, ); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.toSortedJSON(), '{"k1":[{"attrs":{"highlight":"red"},"val":"The "},{"attrs":{"highlight":"blue"},"val":"fox"},{"attrs":{"highlight":"blue"},"val":" jumped."}]}', 'd1', ); assert.equal(d2.toSortedJSON(), d1.toSortedJSON(), 'd2'); }, task.name); }); it('ex6. conflicting overlaps(bold) - 1', async function ({ task }) { await withTwoClientsAndDocuments<{ k1: Text }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.k1 = new Text(); root.k1.edit(0, 0, 'The fox jumped.'); }, 'set text by c1'); await c1.sync(); await c2.sync(); assert.equal(d1.toSortedJSON(), `{"k1":[{"val":"The fox jumped."}]}`); assert.equal(d2.toSortedJSON(), d1.toSortedJSON()); d1.update((root) => { root.k1.setStyle(0, 15, { bold: true }); }, `bolds text by c1`); assert.equal( d1.toSortedJSON(), `{"k1":[{"attrs":{"bold":true},"val":"The fox jumped."}]}`, ); d1.update((root) => { root.k1.setStyle(4, 15, { bold: false }); }, `non-bolds text by c1`); assert.equal( d1.toSortedJSON(), `{"k1":[{"attrs":{"bold":true},"val":"The "},{"attrs":{"bold":false},"val":"fox jumped."}]}`, ); d2.update((root) => { root.k1.setStyle(8, 15, { bold: true }); }, `bolds text by c2`); assert.equal( d2.toSortedJSON(), `{"k1":[{"val":"The fox "},{"attrs":{"bold":true},"val":"jumped."}]}`, ); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.toSortedJSON(), '{"k1":[{"attrs":{"bold":true},"val":"The "},{"attrs":{"bold":false},"val":"fox "},{"attrs":{"bold":true},"val":"jumped."}]}', 'd1', ); assert.equal(d2.toSortedJSON(), d1.toSortedJSON(), 'd2'); }, task.name); }); it('ex6. conflicting overlaps(bold) - 2', async function ({ task }) { await withTwoClientsAndDocuments<{ k1: Text }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.k1 = new Text(); root.k1.edit(0, 0, 'The fox jumped.'); }, 'set text by c1'); await c1.sync(); await c2.sync(); assert.equal(d1.toSortedJSON(), `{"k1":[{"val":"The fox jumped."}]}`); assert.equal(d2.toSortedJSON(), d1.toSortedJSON()); d1.update((root) => { root.k1.setStyle(0, 15, { bold: true }); }, `bolds text by c1`); assert.equal( d1.toSortedJSON(), `{"k1":[{"attrs":{"bold":true},"val":"The fox jumped."}]}`, ); d1.update((root) => { root.k1.setStyle(4, 15, { bold: false }); }, `non-bolds text by c1`); assert.equal( d1.toSortedJSON(), `{"k1":[{"attrs":{"bold":true},"val":"The "},{"attrs":{"bold":false},"val":"fox jumped."}]}`, ); await c1.sync(); await c2.sync(); await c1.sync(); d2.update((root) => { root.k1.setStyle(8, 15, { bold: true }); }, `bolds text by c2`); assert.equal( d2.toSortedJSON(), `{"k1":[{"attrs":{"bold":true},"val":"The "},{"attrs":{"bold":false},"val":"fox "},{"attrs":{"bold":true},"val":"jumped."}]}`, 'd2', ); await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON(), 'd1'); }, task.name); }); it('ex7. multiple instances of the same mark', async function ({ task }) { await withTwoClientsAndDocuments<{ k1: Text }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.k1 = new Text(); root.k1.edit(0, 0, 'The fox jumped.'); }, 'set text by c1'); await c1.sync(); await c2.sync(); assert.equal(d1.toSortedJSON(), `{"k1":[{"val":"The fox jumped."}]}`); assert.equal(d2.toSortedJSON(), d1.toSortedJSON()); d1.update((root) => { root.k1.setStyle(0, 7, { comment: `Alice's comment` }); }, `add comment by c1`); assert.equal( d1.toSortedJSON(), `{"k1":[{"attrs":{"comment":"Alice's comment"},"val":"The fox"},{"val":" jumped."}]}`, ); d2.update((root) => { root.k1.setStyle(4, 15, { comment: `Bob's comment` }); }, `add comment by c2`); assert.equal( d2.toSortedJSON(), `{"k1":[{"val":"The "},{"attrs":{"comment":"Bob's comment"},"val":"fox jumped."}]}`, ); await c1.sync(); await c2.sync(); await c1.sync(); // NOTE(chacha912): multiple comments can be associated with a single character in the text. // so it would be better we can keep both comments. assert.equal( d1.toSortedJSON(), `{"k1":[{"attrs":{"comment":"Alice's comment"},"val":"The "},{"attrs":{"comment":"Bob's comment"},"val":"fox"},{"attrs":{"comment":"Bob's comment"},"val":" jumped."}]}`, 'd1', ); assert.equal(d2.toSortedJSON(), d1.toSortedJSON(), 'd2'); }, task.name); }); it('ex8. text insertion at span boundaries(bold)', async function ({ task }) { await withTwoClientsAndDocuments<{ k1: Text }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.k1 = new Text(); root.k1.edit(0, 0, 'The fox jumped.'); root.k1.setStyle(4, 14, { bold: true }); }, 'set text by c1'); await c1.sync(); await c2.sync(); assert.equal( d1.toSortedJSON(), `{"k1":[{"val":"The "},{"attrs":{"bold":true},"val":"fox jumped"},{"val":"."}]}`, ); assert.equal(d2.toSortedJSON(), d1.toSortedJSON()); d1.update((root) => { root.k1.edit(4, 4, 'quick '); }, `add text by c1`); assert.equal( d1.toSortedJSON(), `{"k1":[{"val":"The "},{"val":"quick "},{"attrs":{"bold":true},"val":"fox jumped"},{"val":"."}]}`, ); d2.update((root) => { root.k1.edit(14, 14, ' over the dog'); }, `add text by c2`); assert.equal( d2.toSortedJSON(), `{"k1":[{"val":"The "},{"attrs":{"bold":true},"val":"fox jumped"},{"val":" over the dog"},{"val":"."}]}`, ); await c1.sync(); await c2.sync(); await c1.sync(); // NOTE(chacha912): The general rule is that an inserted character inherits the bold/non-bold status // of the preceding character.(Microsoft Word, Google Docs, Apple Pages) // That is, the text inserted before the bold span becomes non-bold, and the text inserted after the bold span becomes bold. assert.equal( d1.toSortedJSON(), '{"k1":[{"val":"The "},{"val":"quick "},{"attrs":{"bold":true},"val":"fox jumped"},{"val":" over the dog"},{"val":"."}]}', 'd1', ); assert.equal(d2.toSortedJSON(), d1.toSortedJSON(), 'd2'); }, task.name); }); it('ex9. text insertion at span boundaries(link)', async function ({ task }) { await withTwoClientsAndDocuments<{ k1: Text }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.k1 = new Text(); root.k1.edit(0, 0, 'The fox jumped.'); root.k1.setStyle(4, 14, { link: 'https://www.google.com/search?q=jumping+fox', }); }, 'set text by c1'); await c1.sync(); await c2.sync(); assert.equal( d1.toSortedJSON(), `{"k1":[{"val":"The "},{"attrs":{"link":"https://www.google.com/search?q=jumping+fox"},"val":"fox jumped"},{"val":"."}]}`, ); assert.equal(d2.toSortedJSON(), d1.toSortedJSON()); d1.update((root) => { root.k1.edit(4, 4, 'quick '); }, `add text by c1`); assert.equal( d1.toSortedJSON(), `{"k1":[{"val":"The "},{"val":"quick "},{"attrs":{"link":"https://www.google.com/search?q=jumping+fox"},"val":"fox jumped"},{"val":"."}]}`, ); d2.update((root) => { root.k1.edit(14, 14, ' over the dog'); }, `add text by c2`); assert.equal( d2.toSortedJSON(), `{"k1":[{"val":"The "},{"attrs":{"link":"https://www.google.com/search?q=jumping+fox"},"val":"fox jumped"},{"val":" over the dog"},{"val":"."}]}`, ); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.toSortedJSON(), '{"k1":[{"val":"The "},{"val":"quick "},{"attrs":{"link":"https://www.google.com/search?q=jumping+fox"},"val":"fox jumped"},{"val":" over the dog"},{"val":"."}]}', 'd1', ); assert.equal(d2.toSortedJSON(), d1.toSortedJSON(), 'd2'); }, task.name); }); }); describe('Text LWW', () => { it('causal deletion preserves original timestamps', async function ({ task, }) { await withTwoClientsAndDocuments<{ k1: Text }>(async (c1, d1, c2, d2) => { // Insert initial text on c1 d1.update((root) => { root.k1 = new Text(); root.k1.edit(0, 0, 'abcd'); }, 'insert abcd'); await c1.sync(); await c2.sync(); assert.equal(d1.toSortedJSON(), '{"k1":[{"val":"abcd"}]}'); assert.equal(d2.toSortedJSON(), d1.toSortedJSON()); // First deletion (bc) by c1 d1.update((root) => root.k1.edit(1, 3, ''), 'delete bc'); await c1.sync(); await c2.sync(); // Second deletion (ad) by c2 d2.update((root) => root.k1.edit(0, 2, ''), 'delete ad'); // NOTE: At this point d1 has not yet seen deletion of a/d // Helper to extract underlying RGATreeSplit nodes (test-only, uses private field) function getAllNodes(doc: typeof d1) { const text = doc.getRoot().k1 as any; const rga = (text as any).text.getRGATreeSplit(); return Array.from(rga) as Array; } // Identify nodes by value from d2 (where second deletion happened) let aNode: any, bcNode: any, dNode: any; for (const n of getAllNodes(d2)) { const val = n.getValue().toString(); if (val === 'a') aNode = n; else if (val === 'bc') bcNode = n; else if (val === 'd') dNode = n; } // a and d should be removed after bc assert.ok(aNode.getRemovedAt().after(bcNode.getRemovedAt())); assert.ok(dNode.getRemovedAt().after(bcNode.getRemovedAt())); // Final sync and ensure convergence await c2.sync(); await c1.sync(); assert.equal(d1.toSortedJSON(), d2.toSortedJSON()); // Spot check: bc node is tombstoned; a and d have (possibly later) removedAt recorded. for (const n of [...getAllNodes(d1), ...getAllNodes(d2)]) { const v = n.getValue().toString(); if (v === 'bc' || v === 'a' || v === 'd') { assert.ok(n.getRemovedAt(), `${v} should have removedAt`); } } }, task.name); }); it('concurrent deletion test for LWW behavior - complete inclusion (larger range later)', async function ({ task, }) { await withTwoClientsAndDocuments<{ k1: Text }>(async (c1, d1, c2, d2) => { // Insert initial text on c1 d1.update((root) => { root.k1 = new Text(); root.k1.edit(0, 0, 'abcd'); }, 'insert abcd'); await c1.sync(); await c2.sync(); assert.equal(d1.toSortedJSON(), '{"k1":[{"val":"abcd"}]}'); assert.equal(d2.toSortedJSON(), d1.toSortedJSON()); // Concurrent deletions d1.update((root) => root.k1.edit(1, 3, ''), 'delete bc by c1'); d2.update((root) => root.k1.edit(0, 4, ''), 'delete abcd by c2'); await c1.sync(); await c2.sync(); await c1.sync(); function getAllNodes(doc: typeof d1) { const text = doc.getRoot().k1; const rga = (text as any).text.getRGATreeSplit(); return Array.from(rga) as Array; } let aNode1, bcNode1, dNode1: any; for (const n of getAllNodes(d1)) { const val = n.getValue().toString(); if (val === 'a') aNode1 = n; else if (val === 'bc') bcNode1 = n; else if (val === 'd') dNode1 = n; } let aNode2, bcNode2, dNode2: any; for (const n of getAllNodes(d2)) { const val = n.getValue().toString(); if (val === 'a') aNode2 = n; else if (val === 'bc') bcNode2 = n; else if (val === 'd') dNode2 = n; } assert.exists(aNode1.getRemovedAt()); assert.exists(bcNode1.getRemovedAt()); assert.exists(dNode1.getRemovedAt()); assert.exists(aNode2.getRemovedAt()); assert.exists(bcNode2.getRemovedAt()); assert.exists(dNode2.getRemovedAt()); const removedAt = aNode1.getRemovedAt(); assert.equal(removedAt.compare(bcNode1.getRemovedAt()), 0); assert.equal(removedAt.compare(dNode1.getRemovedAt()), 0); assert.equal(removedAt.compare(aNode2.getRemovedAt()), 0); assert.equal(removedAt.compare(bcNode2.getRemovedAt()), 0); assert.equal(removedAt.compare(dNode2.getRemovedAt()), 0); assert.equal(d1.toSortedJSON(), '{"k1":[]}'); assert.equal(d2.toSortedJSON(), '{"k1":[]}'); }, task.name); }); it('concurrent deletion test for LWW behavior - complete inclusion (smaller range later)', async function ({ task, }) { await withTwoClientsAndDocuments<{ k1: Text }>(async (c1, d1, c2, d2) => { // Insert initial text on c1 d1.update((root) => { root.k1 = new Text(); root.k1.edit(0, 0, 'abcd'); }, 'insert abcd'); await c1.sync(); await c2.sync(); assert.equal(d1.toSortedJSON(), '{"k1":[{"val":"abcd"}]}'); assert.equal(d2.toSortedJSON(), d1.toSortedJSON()); // Concurrent deletions d1.update((root) => root.k1.edit(0, 4, ''), 'delete abcd by c1'); d2.update((root) => root.k1.edit(1, 3, ''), 'delete bc by c2'); await c1.sync(); await c2.sync(); await c1.sync(); function getAllNodes(doc: typeof d1) { const text = doc.getRoot().k1; const rga = (text as any).text.getRGATreeSplit(); return Array.from(rga) as Array; } let aNode1, bcNode1, dNode1: any; for (const n of getAllNodes(d1)) { const val = n.getValue().toString(); if (val === 'a') aNode1 = n; else if (val === 'bc') bcNode1 = n; else if (val === 'd') dNode1 = n; } let aNode2, bcNode2, dNode2: any; for (const n of getAllNodes(d2)) { const val = n.getValue().toString(); if (val === 'a') aNode2 = n; else if (val === 'bc') bcNode2 = n; else if (val === 'd') dNode2 = n; } assert.exists(aNode1.getRemovedAt()); assert.exists(bcNode1.getRemovedAt()); assert.exists(dNode1.getRemovedAt()); assert.exists(aNode2.getRemovedAt()); assert.exists(bcNode2.getRemovedAt()); assert.exists(dNode2.getRemovedAt()); const earlierExpectedRemovedAt = aNode1.getRemovedAt(); const laterExpectedRemovedAt = bcNode1.getRemovedAt(); assert.isTrue(laterExpectedRemovedAt.after(earlierExpectedRemovedAt)); assert.equal(earlierExpectedRemovedAt.compare(dNode1.getRemovedAt()), 0); assert.equal(earlierExpectedRemovedAt.compare(aNode2.getRemovedAt()), 0); assert.equal(earlierExpectedRemovedAt.compare(dNode2.getRemovedAt()), 0); assert.equal(laterExpectedRemovedAt.compare(bcNode2.getRemovedAt()), 0); assert.equal(d1.toSortedJSON(), '{"k1":[]}'); assert.equal(d2.toSortedJSON(), '{"k1":[]}'); }, task.name); }); it('concurrent deletion test for LWW behavior - partial overlap', async function ({ task, }) { await withTwoClientsAndDocuments<{ k1: Text }>(async (c1, d1, c2, d2) => { // Insert initial text on c1 d1.update((root) => { root.k1 = new Text(); root.k1.edit(0, 0, 'abcd'); }, 'insert abcd'); await c1.sync(); await c2.sync(); assert.equal(d1.toSortedJSON(), '{"k1":[{"val":"abcd"}]}'); assert.equal(d2.toSortedJSON(), d1.toSortedJSON()); // Concurrent deletions d1.update((root) => root.k1.edit(0, 3, ''), 'delete abc by c1'); d2.update((root) => root.k1.edit(1, 4, ''), 'delete bcd by c2'); await c1.sync(); await c2.sync(); await c1.sync(); function getAllNodes(doc: typeof d1) { const text = doc.getRoot().k1; const rga = (text as any).text.getRGATreeSplit(); return Array.from(rga) as Array; } let aNode1, bcNode1, dNode1: any; for (const n of getAllNodes(d1)) { const val = n.getValue().toString(); if (val === 'a') aNode1 = n; else if (val === 'bc') bcNode1 = n; else if (val === 'd') dNode1 = n; } let aNode2, bcNode2, dNode2: any; for (const n of getAllNodes(d2)) { const val = n.getValue().toString(); if (val === 'a') aNode2 = n; else if (val === 'bc') bcNode2 = n; else if (val === 'd') dNode2 = n; } assert.exists(aNode1.getRemovedAt()); assert.exists(bcNode1.getRemovedAt()); assert.exists(dNode1.getRemovedAt()); assert.exists(aNode2.getRemovedAt()); assert.exists(bcNode2.getRemovedAt()); assert.exists(dNode2.getRemovedAt()); const earlierExpectedRemovedAt = aNode1.getRemovedAt(); const laterExpectedRemovedAt = bcNode1.getRemovedAt(); assert.isTrue(laterExpectedRemovedAt.after(earlierExpectedRemovedAt)); assert.equal(earlierExpectedRemovedAt.compare(aNode2.getRemovedAt()), 0); assert.equal(laterExpectedRemovedAt.compare(bcNode2.getRemovedAt()), 0); assert.equal(laterExpectedRemovedAt.compare(dNode1.getRemovedAt()), 0); assert.equal(laterExpectedRemovedAt.compare(dNode2.getRemovedAt()), 0); assert.equal(d1.toSortedJSON(), '{"k1":[]}'); assert.equal(d2.toSortedJSON(), '{"k1":[]}'); }, task.name); }); }); ================================================ FILE: packages/sdk/test/integration/tree_concurrency_test.ts ================================================ /* * Copyright 2024 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { assert, describe, test } from 'vitest'; import { TreeNode } from '@yorkie-js/sdk/src/document/crdt/tree'; import { Document } from '@yorkie-js/sdk/src/document/document'; import { testRPCAddr, toDocKey, } from '@yorkie-js/sdk/test/integration/integration_helper'; import yorkie, { SyncMode, Tree } from '@yorkie-js/sdk/src/yorkie'; function parseSimpleXML(s: string): Array { const res: Array = []; for (let i = 0; i < s.length; i++) { let now = ''; if (s[i] === '<') { while (i < s.length && s[i] !== '>') { now += s[i++]; } } now += s[i]; res.push(now); } return res; } interface TestResult { before: [string, string]; after: [string, string]; } enum RangeSelector { RangeUnknown, RangeFront, RangeMiddle, RangeBack, RangeAll, RangeOneQuarter, RangeThreeQuarter, } interface RangeType { from: number; to: number; } interface RangeWithMiddleType { from: number; mid: number; to: number; } interface TwoRangesType { ranges: [RangeWithMiddleType, RangeWithMiddleType]; desc: string; } function getRange( ranges: TwoRangesType, selector: RangeSelector, user: number, ): RangeType { const selectedRange = ranges.ranges[user]; const q1 = (selectedRange.from + selectedRange.mid + 1) >> 1; // Math.floor(x/2) const q3 = (selectedRange.mid + selectedRange.to) >> 1; switch (selector) { case RangeSelector.RangeFront: return { from: selectedRange.from, to: selectedRange.from }; case RangeSelector.RangeMiddle: return { from: selectedRange.mid, to: selectedRange.mid }; case RangeSelector.RangeBack: return { from: selectedRange.to, to: selectedRange.to }; case RangeSelector.RangeAll: return { from: selectedRange.from, to: selectedRange.to }; case RangeSelector.RangeOneQuarter: return { from: q1, to: q1 }; case RangeSelector.RangeThreeQuarter: return { from: q3, to: q3 }; default: return { from: -1, to: -1 }; } } function makeTwoRanges( from1: number, mid1: number, to1: number, from2: number, mid2: number, to2: number, desc: string, ): TwoRangesType { const range0: RangeWithMiddleType = { from: from1, mid: mid1, to: to1 }; const range1: RangeWithMiddleType = { from: from2, mid: mid2, to: to2 }; return { ranges: [range0, range1], desc }; } function getMergeRange(xml: string, interval: RangeType): RangeType { const content = parseSimpleXML(xml); let st = -1, ed = -1; for (let i = interval.from + 1; i <= interval.to; i++) { if (st === -1 && content[i].startsWith(', user: number, ranges: TwoRangesType): void; getDesc(): string; } class StyleOperationType implements OperationInterface { constructor( private selector: RangeSelector, private op: StyleOpCode, private key: string, private value: string, private desc: string, ) {} getDesc(): string { return this.desc; } async run(doc: Document<{ t: Tree }>, user: number, ranges: TwoRangesType) { const interval = getRange(ranges, this.selector, user); const { from, to } = interval; doc.update((root) => { if (this.op === StyleOpCode.StyleRemove) { root.t.removeStyle(from, to, [this.key]); } else if (this.op === StyleOpCode.StyleSet) { const attr: { [key: string]: any } = {}; attr[this.key] = this.value; root.t.style(from, to, attr); } }); } } class EditOperationType implements OperationInterface { constructor( private selector: RangeSelector, private op: EditOpCode, private content: TreeNode | undefined, private splitLevel: number, private desc: string, ) {} getDesc(): string { return this.desc; } async run(doc: Document<{ t: Tree }>, user: number, ranges: TwoRangesType) { const interval = getRange(ranges, this.selector, user); const { from, to } = interval; doc.update((root) => { if (this.op === EditOpCode.EditUpdate) { root.t.edit(from, to, this.content, this.splitLevel); } else if (this.op === EditOpCode.MergeUpdate) { const mergeInterval = getMergeRange(root.t.toXML(), interval); const st = mergeInterval.from, ed = mergeInterval.to; if (st !== -1 && ed !== -1 && st < ed) { root.t.edit(st, ed, this.content, this.splitLevel); } } else if (this.op === EditOpCode.SplitUpdate) { assert.notEqual(0, this.splitLevel); assert.equal(from, to); root.t.edit(from, to, this.content, this.splitLevel); } }); } } async function runTest( initialState: Tree, initialXML: string, ranges: TwoRangesType, op1: OperationInterface, op2: OperationInterface, desc: string, ): Promise { const docKey = `${toDocKey(desc)}-${new Date().getTime()}`; const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); const d1 = new yorkie.Document<{ t: Tree }>(docKey); const d2 = new yorkie.Document<{ t: Tree }>(docKey); await c1.attach(d1, { syncMode: SyncMode.Manual }); await c2.attach(d2, { syncMode: SyncMode.Manual }); d1.update((root) => { root.t = initialState; }); await c1.sync(); await c2.sync(); console.log(desc); assert.equal(d1.getRoot().t.toXML(), initialXML); assert.equal(d2.getRoot().t.toXML(), initialXML); op1.run(d1, 0, ranges); op2.run(d2, 1, ranges); const before1 = d1.getRoot().t.toXML(); const before2 = d2.getRoot().t.toXML(); // save own changes and get previous changes await c1.sync(); await c2.sync(); // get last client changes await c1.sync(); await c2.sync(); const after1 = d1.getRoot().t.toXML(); const after2 = d2.getRoot().t.toXML(); await c1.detach(d1); await c2.detach(d2); await c1.deactivate(); await c2.deactivate(); return { before: [before1, before2], after: [after1, after2] }; } async function runTestConcurrency( testDesc: string, initialState: any, initialXML: any, rangesArr: Array, op1Arr: Array, op2Arr: Array, ) { for (const ranges of rangesArr) { for (const op1 of op1Arr) { for (const op2 of op2Arr) { const desc = `${testDesc}-${ ranges.desc }(${op1.getDesc()},${op2.getDesc()})`; test.concurrent(desc, async () => { const result = await runTest( initialState, initialXML, ranges, op1, op2, desc, ); console.log(`before d1: ${result.before[0]}`); console.log(`before d2: ${result.before[1]}`); console.log(`after d1: ${result.after[0]}`); console.log(`after d2: ${result.after[1]}`); assert.equal(result.after[0], result.after[1]); }); } } } } describe('Tree.concurrency', () => { describe('concurrently-edit-edit-test', async () => { const initialTree = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: 'abc' }] }, { type: 'p', children: [{ type: 'text', value: 'def' }] }, { type: 'p', children: [{ type: 'text', value: 'ghi' }] }, ], }); const initialXML = `

    abc

    def

    ghi

    `; const textNode1: TreeNode = { type: 'text', value: 'A' }; const textNode2: TreeNode = { type: 'text', value: 'B' }; const elementNode1: TreeNode = { type: 'b', children: [] }; const elementNode2: TreeNode = { type: 'i', children: [] }; const rangesArr = [ // intersect-element:

    abc

    def

    -

    def

    ghi

    makeTwoRanges(0, 5, 10, 5, 10, 15, `intersect-element`), // intersect-text: ab - bc makeTwoRanges(1, 2, 3, 2, 3, 4, `intersect-text`), // contain-element:

    abc

    def

    ghi

    -

    def

    makeTwoRanges(0, 5, 15, 5, 5, 10, `contain-element`), // contain-text: abc - b makeTwoRanges(1, 2, 4, 2, 2, 3, `contain-text`), // contain-mixed-type:

    abc

    def

    ghi

    - def makeTwoRanges(0, 5, 15, 6, 7, 9, `contain-mixed-type`), // side-by-side-element:

    abc

    -

    def

    makeTwoRanges(0, 5, 5, 5, 5, 10, `side-by-side-element`), // side-by-side-text: a - bc makeTwoRanges(1, 1, 2, 2, 3, 4, `side-by-side-text`), // equal-element:

    abc

    def

    -

    abc

    def

    makeTwoRanges(0, 5, 10, 0, 5, 10, `equal-element`), // equal-text: abc - abc makeTwoRanges(1, 2, 4, 1, 2, 4, `equal-text`), ]; const edit1Operations: Array = [ new EditOperationType( RangeSelector.RangeFront, EditOpCode.EditUpdate, textNode1, 0, `insertTextFront`, ), new EditOperationType( RangeSelector.RangeMiddle, EditOpCode.EditUpdate, textNode1, 0, `insertTextMiddle`, ), new EditOperationType( RangeSelector.RangeBack, EditOpCode.EditUpdate, textNode1, 0, `insertTextBack`, ), new EditOperationType( RangeSelector.RangeAll, EditOpCode.EditUpdate, textNode1, 0, `replaceText`, ), new EditOperationType( RangeSelector.RangeFront, EditOpCode.EditUpdate, elementNode1, 0, `insertElementFront`, ), new EditOperationType( RangeSelector.RangeMiddle, EditOpCode.EditUpdate, elementNode1, 0, `insertElementMiddle`, ), new EditOperationType( RangeSelector.RangeBack, EditOpCode.EditUpdate, elementNode1, 0, `insertElementBack`, ), new EditOperationType( RangeSelector.RangeAll, EditOpCode.EditUpdate, elementNode1, 0, `replaceElement`, ), new EditOperationType( RangeSelector.RangeAll, EditOpCode.EditUpdate, undefined, 0, `delete`, ), new EditOperationType( RangeSelector.RangeAll, EditOpCode.MergeUpdate, undefined, 0, `merge`, ), ]; const edit2Operations: Array = [ new EditOperationType( RangeSelector.RangeFront, EditOpCode.EditUpdate, textNode2, 0, `insertTextFront`, ), new EditOperationType( RangeSelector.RangeMiddle, EditOpCode.EditUpdate, textNode2, 0, `insertTextMiddle`, ), new EditOperationType( RangeSelector.RangeBack, EditOpCode.EditUpdate, textNode2, 0, `insertTextBack`, ), new EditOperationType( RangeSelector.RangeAll, EditOpCode.EditUpdate, textNode2, 0, `replaceText`, ), new EditOperationType( RangeSelector.RangeFront, EditOpCode.EditUpdate, elementNode2, 0, `insertElementFront`, ), new EditOperationType( RangeSelector.RangeMiddle, EditOpCode.EditUpdate, elementNode2, 0, `insertElementMiddle`, ), new EditOperationType( RangeSelector.RangeBack, EditOpCode.EditUpdate, elementNode2, 0, `insertElementBack`, ), new EditOperationType( RangeSelector.RangeAll, EditOpCode.EditUpdate, elementNode2, 0, `replaceElement`, ), new EditOperationType( RangeSelector.RangeAll, EditOpCode.EditUpdate, undefined, 0, `delete`, ), new EditOperationType( RangeSelector.RangeAll, EditOpCode.MergeUpdate, undefined, 0, `merge`, ), ]; await runTestConcurrency( 'concurrently-edit-edit-test', initialTree, initialXML, rangesArr, edit1Operations, edit2Operations, ); }); describe('concurrently-style-style-test', async () => { const initialTree = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: 'a' }] }, { type: 'p', children: [{ type: 'text', value: 'b' }] }, { type: 'p', children: [{ type: 'text', value: 'c' }] }, ], }); const initialXML = `

    a

    b

    c

    `; const rangesArr = [ // equal:

    b

    -

    b

    makeTwoRanges(3, -1, 6, 3, -1, 6, `equal`), // contain:

    a

    b

    c

    -

    b

    makeTwoRanges(0, -1, 9, 3, -1, 6, `contain`), // intersect:

    a

    b

    -

    b

    c

    makeTwoRanges(0, -1, 6, 3, -1, 9, `intersect`), // side-by-side:

    a

    -

    b

    makeTwoRanges(0, -1, 3, 3, -1, 6, `side-by-side`), ]; const styleOperations: Array = [ new StyleOperationType( RangeSelector.RangeAll, StyleOpCode.StyleRemove, 'bold', '', `remove-bold`, ), new StyleOperationType( RangeSelector.RangeAll, StyleOpCode.StyleSet, 'bold', 'aa', `set-bold-aa`, ), new StyleOperationType( RangeSelector.RangeAll, StyleOpCode.StyleSet, 'bold', 'bb', `set-bold-bb`, ), new StyleOperationType( RangeSelector.RangeAll, StyleOpCode.StyleRemove, 'italic', '', `remove-italic`, ), new StyleOperationType( RangeSelector.RangeAll, StyleOpCode.StyleSet, 'italic', 'aa', `set-italic-aa`, ), new StyleOperationType( RangeSelector.RangeAll, StyleOpCode.StyleSet, 'italic', 'bb', `set-italic-bb`, ), ]; // Define range & style operations await runTestConcurrency( 'concurrently-style-style-test', initialTree, initialXML, rangesArr, styleOperations, styleOperations, ); }); describe('concurrently-edit-style-test', async () => { const initialTree = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: 'a' }], attributes: { color: 'red' }, }, { type: 'p', children: [{ type: 'text', value: 'b' }], attributes: { color: 'red' }, }, { type: 'p', children: [{ type: 'text', value: 'c' }], attributes: { color: 'red' }, }, ], }); const initialXML = `

    a

    b

    c

    `; const content: TreeNode = { type: 'p', children: [{ type: 'text', value: 'd' }], attributes: { italic: 'true', color: 'blue' }, }; const rangesArr = [ // equal:

    b

    -

    b

    makeTwoRanges(3, 3, 6, 3, -1, 6, `equal`), // equal multiple:

    a

    b

    c

    -

    a

    b

    c

    makeTwoRanges(0, 3, 9, 0, 3, 9, `equal multiple`), // A contains B:

    a

    b

    c

    -

    b

    makeTwoRanges(0, 3, 9, 3, -1, 6, `A contains B`), // B contains A:

    b

    -

    a

    b

    c

    makeTwoRanges(3, 3, 6, 0, -1, 9, `B contains A`), // intersect:

    a

    b

    -

    b

    c

    makeTwoRanges(0, 3, 6, 3, -1, 9, `intersect`), // A -> B:

    a

    -

    b

    makeTwoRanges(0, 3, 3, 3, -1, 6, `A -> B`), // B -> A:

    b

    -

    a

    makeTwoRanges(3, 3, 6, 0, -1, 3, `B -> A`), ]; const editOperations: Array = [ new EditOperationType( RangeSelector.RangeFront, EditOpCode.EditUpdate, content, 0, 'insertFront', ), new EditOperationType( RangeSelector.RangeMiddle, EditOpCode.EditUpdate, content, 0, 'insertMiddle', ), new EditOperationType( RangeSelector.RangeBack, EditOpCode.EditUpdate, content, 0, 'insertBack', ), new EditOperationType( RangeSelector.RangeAll, EditOpCode.EditUpdate, undefined, 0, 'delete', ), new EditOperationType( RangeSelector.RangeAll, EditOpCode.EditUpdate, content, 0, 'replace', ), new EditOperationType( RangeSelector.RangeAll, EditOpCode.MergeUpdate, undefined, 0, 'merge', ), ]; const styleOperations: Array = [ new StyleOperationType( RangeSelector.RangeAll, StyleOpCode.StyleRemove, 'color', '', 'remove-color', ), new StyleOperationType( RangeSelector.RangeAll, StyleOpCode.StyleSet, 'bold', 'aa', 'set-bold-aa', ), ]; await runTestConcurrency( 'concurrently-edit-style-test', initialTree, initialXML, rangesArr, editOperations, styleOperations, ); }); describe('concurrently-split-split-test (splitLevel=1)', async () => { const initialTree = new Tree({ type: 'r', children: [ { type: 'p', children: [ { type: 'p', children: [ { type: 'p', children: [ { type: 'p', children: [{ type: 'text', value: 'abcd' }] }, { type: 'p', children: [{ type: 'text', value: 'efgh' }] }, ], }, { type: 'p', children: [{ type: 'text', value: 'ijkl' }] }, ], }, ], }, ], }); const initialXML = `

    abcd

    efgh

    ijkl

    `; const rangesArr = [ // equal-single-element:

    abcd

    makeTwoRanges(3, 6, 9, 3, 6, 9, `equal-single`), // equal-multiple-element:

    abcd

    efgh

    makeTwoRanges(3, 9, 15, 3, 9, 15, `equal-multiple`), // A contains B same level:

    abcd

    efgh

    -

    efgh

    makeTwoRanges(3, 9, 15, 9, 12, 15, `A contains B same level`), // A contains B multiple level:

    abcd

    efgh

    ijkl

    -

    efgh

    makeTwoRanges(2, 16, 22, 9, 12, 15, `A contains B multiple level`), // side by side makeTwoRanges(3, 6, 9, 9, 12, 15, `B is next to A`), ]; const splitL1Operations: Array = [ new EditOperationType( RangeSelector.RangeFront, EditOpCode.SplitUpdate, undefined, 1, `split-front-1`, ), new EditOperationType( RangeSelector.RangeOneQuarter, EditOpCode.SplitUpdate, undefined, 1, `split-one-quarter-1`, ), new EditOperationType( RangeSelector.RangeThreeQuarter, EditOpCode.SplitUpdate, undefined, 1, `split-three-quarter-1`, ), new EditOperationType( RangeSelector.RangeBack, EditOpCode.SplitUpdate, undefined, 1, `split-back-1`, ), ]; await runTestConcurrency( 'concurrently-split-split-test', initialTree, initialXML, rangesArr, splitL1Operations, splitL1Operations, ); }); describe('concurrently-split-split-test (splitLevel>=2)', async () => { const initialTree = new Tree({ type: 'r', children: [ { type: 'p', children: [ { type: 'p', children: [ { type: 'p', children: [ { type: 'p', children: [{ type: 'text', value: 'abcd' }] }, { type: 'p', children: [{ type: 'text', value: 'efgh' }] }, ], }, { type: 'p', children: [{ type: 'text', value: 'ijkl' }] }, ], }, ], }, ], }); const initialXML = `

    abcd

    efgh

    ijkl

    `; const rangesArr = [ // equal-single-element:

    abcd

    makeTwoRanges(3, 6, 9, 3, 6, 9, `equal-single`), // equal-multiple-element:

    abcd

    efgh

    makeTwoRanges(3, 9, 15, 3, 9, 15, `equal-multiple`), // A contains B same level:

    abcd

    efgh

    -

    efgh

    makeTwoRanges(3, 9, 15, 9, 12, 15, `A contains B same level`), // A contains B multiple level:

    abcd

    efgh

    ijkl

    -

    efgh

    makeTwoRanges(2, 16, 22, 9, 12, 15, `A contains B multiple level`), // side by side makeTwoRanges(3, 6, 9, 9, 12, 15, `B is next to A`), ]; const splitOperations: Array = [ new EditOperationType( RangeSelector.RangeFront, EditOpCode.SplitUpdate, undefined, 1, `split-front-1`, ), new EditOperationType( RangeSelector.RangeOneQuarter, EditOpCode.SplitUpdate, undefined, 1, `split-one-quarter-1`, ), new EditOperationType( RangeSelector.RangeThreeQuarter, EditOpCode.SplitUpdate, undefined, 1, `split-three-quarter-1`, ), new EditOperationType( RangeSelector.RangeBack, EditOpCode.SplitUpdate, undefined, 1, `split-back-1`, ), new EditOperationType( RangeSelector.RangeFront, EditOpCode.SplitUpdate, undefined, 2, `split-front-2`, ), new EditOperationType( RangeSelector.RangeOneQuarter, EditOpCode.SplitUpdate, undefined, 2, `split-one-quarter-2`, ), new EditOperationType( RangeSelector.RangeThreeQuarter, EditOpCode.SplitUpdate, undefined, 2, `split-three-quarter-2`, ), new EditOperationType( RangeSelector.RangeBack, EditOpCode.SplitUpdate, undefined, 2, `split-back-2`, ), ]; await runTestConcurrency( 'concurrently-split-split-test', initialTree, initialXML, rangesArr, splitOperations, splitOperations, ); }); describe('concurrently-split-edit-test (splitLevel=1)', async () => { const initialTree = new Tree({ type: 'r', children: [ { type: 'p', children: [ { type: 'p', children: [ { type: 'p', children: [{ type: 'text', value: 'abcd' }], attributes: { italic: 'a' }, }, { type: 'p', children: [{ type: 'text', value: 'efgh' }], attributes: { italic: 'a' }, }, ], }, { type: 'p', children: [{ type: 'text', value: 'ijkl' }], attributes: { italic: 'a' }, }, ], }, ], }); const initialXML = `

    abcd

    efgh

    ijkl

    `; const content: TreeNode = { type: 'i', children: [] }; const rangesArr = [ // equal:

    ab'cd

    makeTwoRanges(2, 5, 8, 2, 5, 8, `equal`), // A contains B:

    ab'cd

    - bc makeTwoRanges(2, 5, 8, 4, 5, 6, `A contains B`), // B contains A:

    ab'cd

    -

    abcd

    efgh

    makeTwoRanges(2, 5, 8, 2, 8, 14, `B contains A`), // left node(text):

    ab'cd

    - ab makeTwoRanges(2, 5, 8, 3, 4, 5, `left node(text)`), // right node(text):

    ab'cd

    - cd makeTwoRanges(2, 5, 8, 5, 6, 7, `right node(text)`), // left node(element):

    abcd

    '

    efgh

    -

    abcd

    makeTwoRanges(2, 8, 14, 2, 5, 8, `left node(element)`), // right node(element):

    abcd

    '

    efgh

    -

    efgh

    makeTwoRanges(2, 8, 14, 8, 11, 14, `right node(element)`), // A -> B:

    ab'cd

    -

    efgh

    makeTwoRanges(2, 5, 8, 8, 11, 14, `A -> B`), // B -> A:

    ef'gh

    -

    abcd

    makeTwoRanges(8, 11, 14, 2, 5, 8, `B -> A`), ]; const splitL1Operations: Array = [ new EditOperationType( RangeSelector.RangeMiddle, EditOpCode.SplitUpdate, undefined, 1, `split-1`, ), ]; const editOperations: Array = [ new EditOperationType( RangeSelector.RangeFront, EditOpCode.EditUpdate, content, 0, `insertFront`, ), new EditOperationType( RangeSelector.RangeMiddle, EditOpCode.EditUpdate, content, 0, `insertMiddle`, ), new EditOperationType( RangeSelector.RangeBack, EditOpCode.EditUpdate, content, 0, `insertBack`, ), new EditOperationType( RangeSelector.RangeAll, EditOpCode.EditUpdate, content, 0, `replace`, ), new EditOperationType( RangeSelector.RangeAll, EditOpCode.EditUpdate, undefined, 0, `delete`, ), new EditOperationType( RangeSelector.RangeAll, EditOpCode.MergeUpdate, undefined, 0, `merge`, ), new StyleOperationType( RangeSelector.RangeAll, StyleOpCode.StyleSet, 'bold', 'aa', `style`, ), new StyleOperationType( RangeSelector.RangeAll, StyleOpCode.StyleRemove, 'italic', '', `remove-style`, ), ]; await runTestConcurrency( 'concurrently-split-edit-test', initialTree, initialXML, rangesArr, splitL1Operations, editOperations, ); }); describe('concurrently-split-edit-test (splitLevel>=2)', async () => { const initialTree = new Tree({ type: 'r', children: [ { type: 'p', children: [ { type: 'p', children: [ { type: 'p', children: [{ type: 'text', value: 'abcd' }], attributes: { italic: 'a' }, }, { type: 'p', children: [{ type: 'text', value: 'efgh' }], attributes: { italic: 'a' }, }, ], }, { type: 'p', children: [{ type: 'text', value: 'ijkl' }], attributes: { italic: 'a' }, }, ], }, ], }); const initialXML = `

    abcd

    efgh

    ijkl

    `; const content: TreeNode = { type: 'i', children: [] }; const rangesArr = [ // equal:

    ab'cd

    makeTwoRanges(2, 5, 8, 2, 5, 8, `equal`), // A contains B:

    ab'cd

    - bc makeTwoRanges(2, 5, 8, 4, 5, 6, `A contains B`), // B contains A:

    ab'cd

    -

    abcd

    efgh

    makeTwoRanges(2, 5, 8, 2, 8, 14, `B contains A`), // left node(text):

    ab'cd

    - ab makeTwoRanges(2, 5, 8, 3, 4, 5, `left node(text)`), // right node(text):

    ab'cd

    - cd makeTwoRanges(2, 5, 8, 5, 6, 7, `right node(text)`), // left node(element):

    abcd

    '

    efgh

    -

    abcd

    makeTwoRanges(2, 8, 14, 2, 5, 8, `left node(element)`), // right node(element):

    abcd

    '

    efgh

    -

    efgh

    makeTwoRanges(2, 8, 14, 8, 11, 14, `right node(element)`), // A -> B:

    ab'cd

    -

    efgh

    makeTwoRanges(2, 5, 8, 8, 11, 14, `A -> B`), // B -> A:

    ef'gh

    -

    abcd

    makeTwoRanges(8, 11, 14, 2, 5, 8, `B -> A`), ]; const splitOperations: Array = [ new EditOperationType( RangeSelector.RangeMiddle, EditOpCode.SplitUpdate, undefined, 1, `split-1`, ), new EditOperationType( RangeSelector.RangeMiddle, EditOpCode.SplitUpdate, undefined, 2, `split-2`, ), ]; const editOperations: Array = [ new EditOperationType( RangeSelector.RangeFront, EditOpCode.EditUpdate, content, 0, `insertFront`, ), new EditOperationType( RangeSelector.RangeMiddle, EditOpCode.EditUpdate, content, 0, `insertMiddle`, ), new EditOperationType( RangeSelector.RangeBack, EditOpCode.EditUpdate, content, 0, `insertBack`, ), new EditOperationType( RangeSelector.RangeAll, EditOpCode.EditUpdate, content, 0, `replace`, ), new EditOperationType( RangeSelector.RangeAll, EditOpCode.EditUpdate, undefined, 0, `delete`, ), new EditOperationType( RangeSelector.RangeAll, EditOpCode.MergeUpdate, undefined, 0, `merge`, ), new StyleOperationType( RangeSelector.RangeAll, StyleOpCode.StyleSet, 'bold', 'aa', `style`, ), new StyleOperationType( RangeSelector.RangeAll, StyleOpCode.StyleRemove, 'italic', '', `remove-style`, ), ]; await runTestConcurrency( 'concurrently-split-edit-test', initialTree, initialXML, rangesArr, splitOperations, editOperations, ); }); }); ================================================ FILE: packages/sdk/test/integration/tree_test.ts ================================================ /* * Copyright 2023 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { describe, it, assert } from 'vitest'; import yorkie, { Tree, SyncMode, converter } from '@yorkie-js/sdk/src/yorkie'; import { testRPCAddr, toDocKey, withTwoClientsAndDocuments, } from '@yorkie-js/sdk/test/integration/integration_helper'; import { EventCollector, DefaultSnapshotThreshold, } from '@yorkie-js/sdk/test/helper/helper'; import { TreeEditOpInfo, TreeStyleOpInfo, } from '@yorkie-js/sdk/src/document/operation/operation'; import { Document, DocEventType } from '@yorkie-js/sdk/src/document/document'; import { CRDTTreeNode, toXML, TreePosStructRange, } from '@yorkie-js/sdk/src/document/crdt/tree'; describe('Tree', () => { it('Can be created', function ({ task }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { // 01. Create a tree and insert a paragraph. root.t = new Tree(); root.t.edit(0, 0, { type: 'p', children: [] }); assert.equal(root.t.toXML(), /*html*/ `

    `); assert.equal( '{"t":{"type":"root","children":[{"type":"p","children":[]}]}}', root.toJSON(), ); // 02. Create a text into the paragraph. root.t.edit(1, 1, { type: 'text', value: 'AB' }); assert.equal(root.t.toXML(), /*html*/ `

    AB

    `); assert.equal( '{"t":{"type":"root","children":[{"type":"p","children":[{"type":"text","value":"AB"}]}]}}', root.toJSON(), ); // 03. Insert a text into the paragraph. root.t.edit(3, 3, { type: 'text', value: 'CD' }); assert.equal(root.t.toXML(), /*html*/ `

    ABCD

    `); assert.equal( '{"t":{"type":"root","children":[{"type":"p","children":[{"type":"text","value":"AB"},{"type":"text","value":"CD"}]}]}}', root.toJSON(), ); // 04. Replace ABCD with Yorkie root.t.edit(1, 5, { type: 'text', value: 'Yorkie', }); assert.equal(root.t.toXML(), /*html*/ `

    Yorkie

    `); assert.equal( '{"t":{"type":"root","children":[{"type":"p","children":[{"type":"text","value":"Yorkie"}]}]}}', root.toJSON(), ); }); }); it('Can be created from JSON', function ({ task }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'ab' }], }, { type: 'ng', children: [ { type: 'note', children: [{ type: 'text', value: 'cd' }] }, { type: 'note', children: [{ type: 'text', value: 'ef' }] }, ], }, { type: 'bp', children: [{ type: 'text', value: 'gh' }], }, ], }); assert.equal( root.t.toXML(), /*html*/ `

    ab

    cdefgh
    `, ); assert.equal(root.t.getSize(), 18); }); }); it('Can be created from JSON with attrebutes', function ({ task }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [ { type: 'span', attributes: { bold: true }, children: [{ type: 'text', value: 'hello' }], }, ], }, ], }); assert.equal( root.t.toXML(), /*html*/ `

    hello

    `, ); }); }); it('Can edit its content', function ({ task }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [{ type: 'p', children: [{ type: 'text', value: 'ab' }] }], }); assert.equal(root.t.toXML(), /*html*/ `

    ab

    `); root.t.edit(1, 1, { type: 'text', value: 'X' }); assert.equal(root.t.toXML(), /*html*/ `

    Xab

    `); root.t.edit(1, 2); assert.equal(root.t.toXML(), /*html*/ `

    ab

    `); root.t.edit(2, 2, { type: 'text', value: 'X' }); assert.equal(root.t.toXML(), /*html*/ `

    aXb

    `); root.t.edit(2, 3); assert.equal(root.t.toXML(), /*html*/ `

    ab

    `); }); assert.equal(doc.getRoot().t.toXML(), /*html*/ `

    ab

    `); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [{ type: 'p', children: [{ type: 'text', value: 'ab' }] }], }); assert.equal(root.t.toXML(), /*html*/ `

    ab

    `); root.t.edit(2, 2, { type: 'text', value: 'X' }); assert.equal(root.t.toXML(), /*html*/ `

    aXb

    `); root.t.edit(1, 4); assert.equal(root.t.toXML(), /*html*/ `

    `); }); assert.equal(doc.getRoot().t.toXML(), /*html*/ `

    `); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [{ type: 'p', children: [{ type: 'text', value: 'ab' }] }], }); assert.equal(root.t.toXML(), /*html*/ `

    ab

    `); root.t.edit(3, 3, { type: 'text', value: 'X' }); assert.equal(root.t.toXML(), /*html*/ `

    abX

    `); root.t.edit(3, 4); assert.equal(root.t.toXML(), /*html*/ `

    ab

    `); root.t.edit(2, 3); assert.equal(root.t.toXML(), /*html*/ `

    a

    `); }); }); it('Can be subscribed by handler', function ({ task }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [{ type: 'p', children: [{ type: 'text', value: 'ab' }] }], }); assert.equal(root.t.toXML(), /*html*/ `

    ab

    `); }); const actualOperations: Array = []; doc.subscribe('$.t', (event) => { if (event.type === 'local-change') { const { operations } = event.value; actualOperations.push( ...(operations.filter( (op) => op.type === 'tree-edit', ) as Array), ); } }); doc.update((root) => { root.t.edit(1, 1, { type: 'text', value: 'X' }); assert.equal(root.t.toXML(), /*html*/ `

    Xab

    `); }); assert.deepEqual( actualOperations.map((it) => { return { type: it.type, from: it.from, to: it.to, value: it.value, }; }), [ { type: 'tree-edit', from: 1, to: 1, value: [{ type: 'text', value: 'X' }], }, ], ); }); it('Can be subscribed by handler(path)', function ({ task }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'tc', children: [ { type: 'p', children: [ { type: 'tn', children: [{ type: 'text', value: 'ab' }] }, ], }, ], }, ], }); assert.equal( root.t.toXML(), /*html*/ `

    ab

    `, ); }); const actualOps: Array = []; doc.subscribe('$.t', (event) => { if (event.type === 'local-change') { const { operations } = event.value; actualOps.push( ...(operations.filter( (op) => op.type === 'tree-edit', ) as Array), ); } }); doc.update((root) => { root.t.editByPath([0, 0, 0, 1], [0, 0, 0, 1], { type: 'text', value: 'X', }); assert.equal( root.t.toXML(), /*html*/ `

    aXb

    `, ); }); assert.deepEqual( actualOps.map((it) => { return { type: it.type, fromPath: it.fromPath, toPath: it.toPath, value: it.value, }; }), [ { type: 'tree-edit', fromPath: [0, 0, 0, 1], toPath: [0, 0, 0, 1], value: [{ type: 'text', value: 'X' }], }, ], ); }); it('Can edit its content with path', function ({ task }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'tc', children: [ { type: 'p', children: [ { type: 'tn', children: [{ type: 'text', value: 'ab' }] }, ], }, ], }, ], }); assert.equal( root.t.toXML(), /*html*/ `

    ab

    `, ); root.t.editByPath([0, 0, 0, 1], [0, 0, 0, 1], { type: 'text', value: 'X', }); assert.equal( root.t.toXML(), /*html*/ `

    aXb

    `, ); root.t.editByPath([0, 0, 0, 3], [0, 0, 0, 3], { type: 'text', value: '!', }); assert.equal( root.t.toXML(), /*html*/ `

    aXb!

    `, ); root.t.editByPath([0, 0, 1], [0, 0, 1], { type: 'tn', children: [{ type: 'text', value: 'cd' }], }); assert.equal( root.t.toXML(), /*html*/ `

    aXb!cd

    `, ); root.t.editByPath([0, 1], [0, 1], { type: 'p', children: [{ type: 'tn', children: [{ type: 'text', value: 'q' }] }], }); assert.equal( root.t.toXML(), /*html*/ `

    aXb!cd

    q

    `, ); root.t.editByPath([0, 1, 0, 0], [0, 1, 0, 0], { type: 'text', value: 'a', }); assert.equal( root.t.toXML(), /*html*/ `

    aXb!cd

    aq

    `, ); root.t.editByPath([0, 1, 0, 2], [0, 1, 0, 2], { type: 'text', value: 'B', }); assert.equal( root.t.toXML(), /*html*/ `

    aXb!cd

    aqB

    `, ); assert.Throw(() => { doc.update((root) => { root.t.editByPath([0, 0, 4], [0, 0, 4], { type: 'tn', children: [], }); }); }, 'unacceptable path'); }); }); it('Can edit its content with path 2', function ({ task }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'tc', children: [ { type: 'p', children: [{ type: 'tn', children: [] }], }, ], }, ], }); assert.equal( root.t.toXML(), /*html*/ `

    `, ); root.t.editByPath([0, 0, 0, 0], [0, 0, 0, 0], { type: 'text', value: 'a', }); assert.equal( root.t.toXML(), /*html*/ `

    a

    `, ); root.t.editByPath([0, 1], [0, 1], { type: 'p', children: [{ type: 'tn', children: [] }], }); assert.equal( root.t.toXML(), /*html*/ `

    a

    `, ); root.t.editByPath([0, 1, 0, 0], [0, 1, 0, 0], { type: 'text', value: 'b', }); assert.equal( root.t.toXML(), /*html*/ `

    a

    b

    `, ); root.t.editByPath([0, 2], [0, 2], { type: 'p', children: [{ type: 'tn', children: [] }], }); assert.equal( root.t.toXML(), /*html*/ `

    a

    b

    `, ); root.t.editByPath([0, 2, 0, 0], [0, 2, 0, 0], { type: 'text', value: 'c', }); assert.equal( root.t.toXML(), /*html*/ `

    a

    b

    c

    `, ); root.t.editByPath([0, 3], [0, 3], { type: 'p', children: [{ type: 'tn', children: [] }], }); assert.equal( root.t.toXML(), /*html*/ `

    a

    b

    c

    `, ); root.t.editByPath([0, 3, 0, 0], [0, 3, 0, 0], { type: 'text', value: 'd', }); assert.equal( root.t.toXML(), /*html*/ `

    a

    b

    c

    d

    `, ); root.t.editByPath([0, 3], [0, 3], { type: 'p', children: [{ type: 'tn', children: [] }], }); assert.equal( root.t.toXML(), /*html*/ `

    a

    b

    c

    d

    `, ); }); }); it('Can split content using editByPath with splitLevel', function ({ task }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'tc', children: [ { type: 'p', children: [ { type: 'tn', children: [{ type: 'text', value: '1234' }], }, ], }, { type: 'p', children: [ { type: 'tn', children: [{ type: 'text', value: '5678' }], }, ], }, ], }, ], }); assert.equal( root.t.toXML(), /*html*/ `

    1234

    5678

    `, ); root.t.editByPath([0, 0, 0, 2], [0, 0, 0, 2], undefined, 1); assert.equal( root.t.toXML(), /*html*/ `

    1234

    5678

    `, ); root.t.editByPath([0, 0, 1], [0, 0, 1], undefined, 1); assert.equal( root.t.toXML(), /*html*/ `

    12

    34

    5678

    `, ); root.t.editByPath([0, 2, 0, 4], [0, 2, 0, 4], undefined, 1); assert.equal( root.t.toXML(), /*html*/ `

    12

    34

    5678

    `, ); root.t.editByPath([0, 2, 1], [0, 2, 1], undefined, 1); assert.equal( root.t.toXML(), /*html*/ `

    12

    34

    5678

    `, ); }); }); it('Can merge content using editByPath', function ({ task }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'tc', children: [ { type: 'p', children: [ { type: 'tn', children: [{ type: 'text', value: '1234' }], }, ], }, { type: 'p', children: [ { type: 'tn', children: [{ type: 'text', value: '5678' }], }, ], }, ], }, ], }); assert.equal( root.t.toXML(), /*html*/ `

    1234

    5678

    `, ); root.t.editByPath([0, 0, 1], [0, 1, 0]); assert.equal( root.t.toXML(), /*html*/ `

    12345678

    `, ); root.t.editByPath([0, 0, 0, 4], [0, 0, 1, 0]); assert.equal( root.t.toXML(), /*html*/ `

    12345678

    `, ); }); }); it('Can merge blocks using editByPath (wafflebase pattern)', function ({ task, }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); // Reproduce the wafflebase docs tree structure: // asdf doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'block', children: [ { type: 'inline', children: [{ type: 'text', value: 'as' }], }, ], }, { type: 'block', children: [ { type: 'inline', children: [{ type: 'text', value: 'df' }], }, ], }, ], }); assert.equal( root.t.toXML(), /*html*/ `asdf`, ); // Wafflebase mergeBlock call: editByPath([blockPath, inlineCount], [nextPath, 0]) // This deletes the boundary between two blocks to merge them. root.t.editByPath([0, 1], [1, 0]); assert.equal( root.t.toXML(), /*html*/ `asdf`, ); }); }); it('Can split then merge blocks using editByPath (wafflebase backspace bug)', function ({ task, }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); // Reproduce wafflebase docs editor: split a paragraph then merge it // back via backspace. The merge uses editByPath to delete the boundary // between the two blocks created by split (splitLevel=2). // // Root cause: CRDTTree.edit() Phase 3 "Range Narrowing" follows the // insNextID chain from fromLeft (inline[0]) to its split sibling // (inline[1] in block[1]), narrowing the collection range to an empty // range inside block[1]. The traversal finds nothing to delete, so the // merge is a no-op. doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'block', children: [ { type: 'inline', children: [{ type: 'text', value: 'asdf' }], }, ], }, ], }); assert.equal( root.t.toXML(), /*html*/ `asdf`, ); }); // Split at offset 2 with splitLevel=2 (Enter key after "as") doc.update((root) => { root.t.editByPath([0, 0, 2], [0, 0, 2], undefined, 2); assert.equal( root.t.toXML(), /*html*/ `asdf`, ); }); // Merge via backspace at start of second block doc.update((root) => { root.t.editByPath([0, 1], [1, 0]); assert.equal( root.t.toXML(), /*html*/ `asdf`, ); }); }); it('Can sync editByPath split with other clients', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'tc', children: [ { type: 'p', children: [ { type: 'tn', children: [{ type: 'text', value: '1234' }], }, ], }, { type: 'p', children: [ { type: 'tn', children: [{ type: 'text', value: '5678' }], }, ], }, ], }, ], }); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    1234

    5678

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    1234

    5678

    `, ); d1.update((root) => { root.t.editByPath([0, 0, 0, 2], [0, 0, 0, 2], undefined, 1); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    1234

    5678

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    1234

    5678

    `, ); d1.update((root) => { root.t.editByPath([0, 0, 1], [0, 0, 1], undefined, 1); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    12

    34

    5678

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    12

    34

    5678

    `, ); }, task.name); }); it('Can sync editByPath merge with other clients', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'tc', children: [ { type: 'p', children: [ { type: 'tn', children: [{ type: 'text', value: '1234' }], }, ], }, { type: 'p', children: [ { type: 'tn', children: [{ type: 'text', value: '5678' }], }, ], }, ], }, ], }); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    1234

    5678

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    1234

    5678

    `, ); d1.update((root) => { root.t.editByPath([0, 0, 1], [0, 1, 0]); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    12345678

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    12345678

    `, ); d1.update((root) => { root.t.editByPath([0, 0, 0, 4], [0, 0, 1, 0]); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    12345678

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    12345678

    `, ); }, task.name); }); it('Can sync its content with other clients', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'hello' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    hello

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    hello

    `); d1.update((root) => { root.t.edit(7, 7, { type: 'p', children: [{ type: 'text', value: 'yorkie' }], }); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    hello

    yorkie

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    hello

    yorkie

    `, ); }, task.name); }); it('Should return correct range from index', function ({ task }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'root', children: [ { type: 'p', children: [ { type: 'b', children: [ { type: 'i', children: [{ type: 'text', value: 'ab' }] }, ], }, ], }, ], }); }); const tree = doc.getRoot().t; // 0 1 2 3 4 5 6 7 8 //

    a b

    assert.deepEqual( tree.toXML(), /*html*/ `

    ab

    `, ); let range = tree.indexRangeToPosRange([0, 5]); assert.deepEqual(tree.posRangeToIndexRange(range), [0, 5]); range = tree.indexRangeToPosRange([5, 7]); assert.deepEqual(tree.posRangeToIndexRange(range), [5, 7]); }); it('Should return correct range from path', function ({ task }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'root', children: [ { type: 'p', children: [ { type: 'b', children: [ { type: 'i', children: [{ type: 'text', value: 'ab' }] }, ], }, ], }, ], }); }); const tree = doc.getRoot().t; // 0 1 2 3 4 5 6 7 8 //

    a b

    assert.deepEqual( tree.toXML(), /*html*/ `

    ab

    `, ); let range = tree.pathRangeToPosRange([[0], [0, 0, 0, 2]]); assert.deepEqual(tree.posRangeToPathRange(range), [[0], [0, 0, 0, 2]]); range = tree.pathRangeToPosRange([[0], [1]]); assert.deepEqual(tree.posRangeToPathRange(range), [[0], [1]]); }); it('Should return correct range from index within doc.subscribe', async function ({ task, }) { await withTwoClientsAndDocuments< { t: Tree }, { selection: TreePosStructRange } >(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'hello' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    hello

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    hello

    `); d1.update((root, presence) => { root.t.edit(1, 1, { type: 'text', value: 'a' }); const posSelection = root.t.indexRangeToPosRange([2, 2]); presence.set({ selection: posSelection }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ahello

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    ahello

    `); const { selection } = d1.getMyPresence(); assert.deepEqual(d1.getRoot().t.posRangeToIndexRange(selection), [2, 2]); const eventCollector = new EventCollector<{ type: DocEventType }>(); const unsub = d1.subscribe((event) => { assert.deepEqual( d1.getRoot().t.posRangeToIndexRange(selection), [2, 2], ); eventCollector.add({ type: event.type }); }); d2.update((root) => { root.t.edit(2, 2, { type: 'text', value: 'b' }); }); await c2.sync(); await c1.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    abhello

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    abhello

    `, ); await eventCollector.waitAndVerifyNthEvent(1, { type: DocEventType.RemoteChange, }); unsub(); }, task.name); }); }); describe('Tree.edit', function () { it('Can insert multiple text nodes', function ({ task }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'ab' }], }, ], }); }); assert.equal(doc.getRoot().t.toXML(), /*html*/ `

    ab

    `); doc.update((root) => { root.t.editBulk(3, 3, [ { type: 'text', value: 'c' }, { type: 'text', value: 'd' }, ]); }); assert.equal(doc.getRoot().t.toXML(), /*html*/ `

    abcd

    `); }); it('Can insert multiple element nodes', function ({ task }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'ab' }], }, ], }); }); assert.equal(doc.getRoot().t.toXML(), /*html*/ `

    ab

    `); doc.update((root) => { root.t.editBulk(4, 4, [ { type: 'p', children: [{ type: 'text', value: 'cd' }] }, { type: 'i', children: [{ type: 'text', value: 'fg' }] }, ]); }); assert.equal( doc.getRoot().t.toXML(), /*html*/ `

    ab

    cd

    fg
    `, ); }); it('Can edit its content with path when multi tree nodes passed', function ({ task, }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'tc', children: [ { type: 'p', children: [ { type: 'tn', children: [{ type: 'text', value: 'ab' }] }, ], }, ], }, ], }); assert.equal( root.t.toXML(), /*html*/ `

    ab

    `, ); root.t.editBulkByPath( [0, 0, 0, 1], [0, 0, 0, 1], [ { type: 'text', value: 'X', }, { type: 'text', value: 'X', }, ], ); assert.equal( root.t.toXML(), /*html*/ `

    aXXb

    `, ); root.t.editBulkByPath( [0, 1], [0, 1], [ { type: 'p', children: [ { type: 'tn', children: [ { type: 'text', value: 'te' }, { type: 'text', value: 'st' }, ], }, ], }, { type: 'p', children: [ { type: 'tn', children: [ { type: 'text', value: 'te' }, { type: 'text', value: 'xt' }, ], }, ], }, ], ); assert.equal( root.t.toXML(), /*html*/ `

    aXXb

    test

    text

    `, ); root.t.editBulkByPath( [0, 3], [0, 3], [ { type: 'p', children: [ { type: 'tn', children: [ { type: 'text', value: 'te' }, { type: 'text', value: 'st' }, ], }, ], }, { type: 'tn', children: [ { type: 'text', value: 'te' }, { type: 'text', value: 'xt' }, ], }, ], ); assert.equal( root.t.toXML(), /*html*/ `

    aXXb

    test

    text

    test

    text
    `, ); }); }); it('Should detect error for empty text', function ({ task }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'ab' }], }, ], }); }); assert.equal(doc.getRoot().t.toXML(), /*html*/ `

    ab

    `); assert.Throw(() => { doc.update((root) => { root.t.editBulk(3, 3, [ { type: 'text', value: 'c' }, { type: 'text', value: '' }, ]); }); }, 'text node cannot have empty value'); }); it('Should detect error for mixed type insertion', function ({ task }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'ab' }], }, ], }); }); assert.equal(doc.getRoot().t.toXML(), /*html*/ `

    ab

    `); assert.Throw(() => { doc.update((root) => { root.t.editBulk(3, 3, [ { type: 'p', children: [] }, { type: 'text', value: 'd' }, ]); }); }, 'element node and text node cannot be passed together'); }); it('Should detect correct error order [1]', function ({ task }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'ab' }], }, ], }); }); assert.equal(doc.getRoot().t.toXML(), /*html*/ `

    ab

    `); assert.Throw(() => { doc.update((root) => { root.t.editBulk(3, 3, [ { type: 'p', children: [ { type: 'text', value: 'c' }, { type: 'text', value: '' }, ], }, { type: 'text', value: 'd' }, ]); }); }, 'element node and text node cannot be passed together'); }); it('Should detect correct error order [2]', function ({ task }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'ab' }], }, ], }); }); assert.equal(doc.getRoot().t.toXML(), /*html*/ `

    ab

    `); assert.Throw(() => { doc.update((root) => { root.t.editBulk(3, 3, [ { type: 'p', children: [{ type: 'text', value: 'c' }] }, { type: 'p', children: [{ type: 'text', value: '' }] }, ]); }); }, 'text node cannot have empty value'); }); it('Should detect correct error order [3]', function ({ task }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'ab' }], }, ], }); }); assert.equal(doc.getRoot().t.toXML(), /*html*/ `

    ab

    `); assert.Throw(() => { doc.update((root) => { root.t.editBulk(3, 3, [ { type: 'text', value: 'd' }, { type: 'p', children: [{ type: 'text', value: 'c' }] }, ]); }); }, 'element node and text node cannot be passed together'); }); it('Can delete nodes in a multi-level range', function ({ task }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [ { type: 'text', value: 'ab' }, { type: 'p', children: [{ type: 'text', value: 'x' }] }, ], }, { type: 'p', children: [ { type: 'p', children: [{ type: 'text', value: 'cd' }], }, ], }, { type: 'p', children: [ { type: 'p', children: [{ type: 'text', value: 'y' }] }, { type: 'text', value: 'ef' }, ], }, ], }); }); assert.equal( doc.getRoot().t.toXML(), /*html*/ `

    ab

    x

    cd

    y

    ef

    `, ); doc.update((root) => root.t.edit(2, 18)); assert.equal(doc.getRoot().t.toXML(), /*html*/ `

    af

    `); }); }); describe('Tree.style', function () { it('Can be inserted with attributes', function ({ task }) { const doc = new yorkie.Document<{ t: Tree }>(toDocKey(task.name)); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [ { type: 'span', attributes: { bold: true }, children: [{ type: 'text', value: 'hello' }], }, ], }, ], }); }); assert.equal( doc.getRoot().t.toXML(), /*html*/ `

    hello

    `, ); }); it('Can be edited removal with index', function ({ task }) { const doc = new yorkie.Document<{ t: Tree }>(toDocKey(task.name)); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [ { type: 'span', attributes: { bold: true }, children: [{ type: 'text', value: 'hello' }], }, ], }, ], }); }); assert.equal( doc.getRoot().t.toXML(), /*html*/ `

    hello

    `, ); doc.update((root) => { root.t.removeStyle(1, 8, ['bold']); }); assert.equal( doc.getRoot().t.toXML(), /*html*/ `

    hello

    `, ); }); it('Can handle removal of attributes that do not exist', function ({ task }) { const doc = new yorkie.Document<{ t: Tree }>(toDocKey(task.name)); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [ { type: 'span', attributes: { bold: true }, children: [{ type: 'text', value: 'hello' }], }, { type: 'span', children: [{ type: 'text', value: 'hi' }], }, ], }, ], }); }); assert.equal( doc.getRoot().t.toXML(), /*html*/ `

    hellohi

    `, ); doc.update((root) => { root.t.removeStyle(1, 12, ['italic']); }); assert.equal( doc.getRoot().t.toXML(), /*html*/ `

    hellohi

    `, ); doc.update((root) => { root.t.removeStyle(1, 8, ['italic', 'bold']); }); assert.equal( doc.getRoot().t.toXML(), /*html*/ `

    hellohi

    `, ); }); it('Can be edited with index', function ({ task }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'tc', children: [ { type: 'p', children: [{ type: 'tn', children: [] }], attributes: { a: 'b' }, }, ], }, ], }); assert.equal( root.t.toXML(), /*html*/ `

    `, ); root.t.style(1, 2, { c: 'd' }); assert.equal( root.t.toXML(), /*html*/ `

    `, ); root.t.style(1, 2, { c: 'q' }); assert.equal( root.t.toXML(), /*html*/ `

    `, ); root.t.style(2, 3, { z: 'm' }); assert.equal( root.t.toXML(), /*html*/ `

    `, ); }); }); it('Can be edited with path', function ({ task }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'tc', children: [ { type: 'p', children: [{ type: 'tn', children: [] }], attributes: { a: 'b' }, }, ], }, ], }); assert.equal( root.t.toXML(), /*html*/ `

    `, ); root.t.styleByPath([0, 0], { c: 'd' }); assert.equal( root.t.toXML(), /*html*/ `

    `, ); root.t.styleByPath([0, 0], { c: 'q' }); assert.equal( root.t.toXML(), /*html*/ `

    `, ); root.t.styleByPath([0, 0, 0], { z: 'm' }); assert.equal( root.t.toXML(), /*html*/ `

    `, ); assert.equal( root.toJSON(), /*html*/ `{"t":{"type":"doc","children":[{"type":"tc","children":[{"type":"p","children":[{"type":"tn","children":[],"attributes":{"z":"m"}}],"attributes":{"a":"b","c":"q"}}]}]}}`, ); }); }); it('Can style nested object', function ({ task }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [{ type: 'p', children: [{ type: 'text', value: 'hello' }] }], }); assert.equal(root.t.toXML(), /*html*/ `

    hello

    `); }); doc.update((root) => root.t.style(0, 1, { img: { src: 'yorkie.png' }, rep: 'false' }), ); assert.equal( doc.getRoot().t.toXML(), /*html*/ `

    hello

    `, ); }); it('Can sync its content containing attributes with other replicas', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'hello' }], attributes: { italic: 'true' }, }, ], }); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    hello

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    hello

    `, ); d1.update((root) => { root.t.style(0, 1, { bold: 'true' }); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    hello

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    hello

    `, ); }, task.name); }); it('Can style node with element attributes test', function ({ task }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'ab' }], }, { type: 'p', children: [{ type: 'text', value: 'cd' }], }, ], }); assert.equal(root.t.toXML(), /*html*/ `

    ab

    cd

    `); // 01. style attributes to an element node. // style attributes with opening tag root.t.style(0, 1, { weight: 'bold' }); assert.equal( root.t.toXML(), /*html*/ `

    ab

    cd

    `, ); // style attributes with closing tag root.t.style(3, 4, { color: 'red' }); assert.equal( root.t.toXML(), /*html*/ `

    ab

    cd

    `, ); // style attributes with the whole root.t.style(0, 4, { size: 'small' }); assert.equal( root.t.toXML(), /*html*/ `

    ab

    cd

    `, ); // 02. style attributes to elements. root.t.style(0, 5, { style: 'italic' }); assert.equal( root.t.toXML(), /*html*/ `

    ab

    cd

    `, ); // 03. Ignore styling attributes to text nodes. root.t.style(1, 3, { bold: 'true' }); assert.equal( root.t.toXML(), /*html*/ `

    ab

    cd

    `, ); }); }); it('Can sync its content with remove style', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'hello' }], attributes: { italic: 'true' }, }, ], }); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    hello

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    hello

    `, ); d1.update((root) => { root.t.removeStyle(0, 1, ['italic']); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    hello

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    hello

    `); }, task.name); }); it('Should return correct range path within doc.subscribe', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'c', children: [ { type: 'u', children: [ { type: 'p', children: [ { type: 'n', children: [], }, ], }, ], }, ], }, { type: 'c', children: [ { type: 'p', children: [ { type: 'n', children: [], }, ], }, ], }, ], }); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    `, ); d2.update((r) => r.t.editByPath([1, 0, 0, 0], [1, 0, 0, 0], { type: 'text', value: '1', }), ); d2.update((r) => r.t.editByPath([1, 0, 0, 1], [1, 0, 0, 1], { type: 'text', value: '2', }), ); d2.update((r) => r.t.editByPath([1, 0, 0, 2], [1, 0, 0, 2], { type: 'text', value: '3', }), ); await c2.sync(); await c1.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    123

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    123

    `, ); d1.update((r) => r.t.editByPath([1, 0, 0, 1], [1, 0, 0, 1], { type: 'text', value: 'abcdefgh', }), ); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    1abcdefgh23

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    1abcdefgh23

    `, ); d2.update((r) => r.t.editByPath([1, 0, 0, 5], [1, 0, 0, 5], { type: 'text', value: '4', }), ); d2.update((r) => r.t.editByPath([1, 0, 0, 6], [1, 0, 0, 7])); d2.update((r) => r.t.editByPath([1, 0, 0, 6], [1, 0, 0, 6], { type: 'text', value: '5', }), ); await c2.sync(); await c1.sync(); const eventCollector = new EventCollector<{ type: DocEventType }>(); const unsub = d2.subscribe((event) => { if (event.type === 'local-change' || event.type === 'remote-change') { const operation = event.value.operations[0] as TreeEditOpInfo; const { fromPath, toPath } = operation; assert.deepEqual(fromPath, [1, 0, 0, 7]); assert.deepEqual(toPath, [1, 0, 0, 8]); eventCollector.add({ type: event.type }); } }); d2.update((r) => r.t.editByPath([1, 0, 0, 7], [1, 0, 0, 8])); await c2.sync(); await c1.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    1abcd45gh23

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    1abcd45gh23

    `, ); await eventCollector.waitAndVerifyNthEvent(1, { type: DocEventType.LocalChange, }); unsub(); }, task.name); }); it('Can handle client reload case', async function ({ task }) { type TestDoc = { t: Tree; num: number }; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const d1 = new yorkie.Document(docKey); const d2 = new yorkie.Document(docKey); const c1 = new yorkie.Client({ rpcAddr: testRPCAddr }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c1.activate(); await c2.activate(); await c1.attach(d1, { syncMode: SyncMode.Manual }); await c2.attach(d2, { syncMode: SyncMode.Manual }); // Perform a dummy update to apply changes up to the snapshot threshold. for (let idx = 0; idx < DefaultSnapshotThreshold; idx++) { d1.update((root) => { root.num = 0; }); } // Start scenario. d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'c', children: [ { type: 'u', children: [ { type: 'p', children: [ { type: 'n', children: [], }, ], }, ], }, ], }, { type: 'c', children: [ { type: 'p', children: [ { type: 'n', children: [], }, ], }, ], }, ], }); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    `, ); d1.update((r) => { r.t.editByPath([1, 0, 0, 0], [1, 0, 0, 0], { type: 'text', value: '1', }); r.t.editByPath([1, 0, 0, 1], [1, 0, 0, 1], { type: 'text', value: '2', }); r.t.editByPath([1, 0, 0, 2], [1, 0, 0, 2], { type: 'text', value: '3', }); r.t.editByPath([1, 0, 0, 2], [1, 0, 0, 2], { type: 'text', value: ' ', }); r.t.editByPath([1, 0, 0, 3], [1, 0, 0, 3], { type: 'text', value: '네이버랑 ', }); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    12 네이버랑 3

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    12 네이버랑 3

    `, ); d2.update((r) => { r.t.editByPath([1, 0, 0, 1], [1, 0, 0, 8], { type: 'text', value: ' 2 네이버랑 ', }); r.t.editByPath([1, 0, 0, 2], [1, 0, 0, 2], { type: 'text', value: 'ㅋ', }); r.t.editByPath([1, 0, 0, 2], [1, 0, 0, 3], { type: 'text', value: '카', }); r.t.editByPath([1, 0, 0, 2], [1, 0, 0, 3], { type: 'text', value: '캌', }); r.t.editByPath([1, 0, 0, 2], [1, 0, 0, 3], { type: 'text', value: '카카', }); r.t.editByPath([1, 0, 0, 3], [1, 0, 0, 4], { type: 'text', value: '캉', }); r.t.editByPath([1, 0, 0, 3], [1, 0, 0, 4], { type: 'text', value: '카오', }); r.t.editByPath([1, 0, 0, 4], [1, 0, 0, 5], { type: 'text', value: '올', }); r.t.editByPath([1, 0, 0, 4], [1, 0, 0, 5], { type: 'text', value: '오라', }); r.t.editByPath([1, 0, 0, 5], [1, 0, 0, 6], { type: 'text', value: '랑', }); r.t.editByPath([1, 0, 0, 6], [1, 0, 0, 6], { type: 'text', value: ' ', }); }); await c2.sync(); await c1.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    1 카카오랑 2 네이버랑 3

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    1 카카오랑 2 네이버랑 3

    `, ); d1.update((r) => { r.t.editByPath([1, 0, 0, 13], [1, 0, 0, 14]); r.t.editByPath([1, 0, 0, 12], [1, 0, 0, 13]); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    1 카카오랑 2 네이버3

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    1 카카오랑 2 네이버3

    `, ); d2.update((r) => { r.t.editByPath([1, 0, 0, 6], [1, 0, 0, 7]); r.t.editByPath([1, 0, 0, 5], [1, 0, 0, 6]); }); await c2.sync(); await c1.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    1 카카오2 네이버3

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    1 카카오2 네이버3

    `, ); d1.update((r) => { r.t.editByPath([1, 0, 0, 9], [1, 0, 0, 10]); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    1 카카오2 네이3

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    1 카카오2 네이3

    `, ); // A new client has been added. const d3 = new yorkie.Document(docKey); const c3 = new yorkie.Client({ rpcAddr: testRPCAddr }); await c3.activate(); await c3.attach(d3, { syncMode: SyncMode.Manual }); assert.equal( d3.getRoot().t.toXML(), /*html*/ `

    1 카카오2 네이3

    `, ); await c2.sync(); d3.update((r) => { r.t.editByPath([1, 0, 0, 4], [1, 0, 0, 5]); r.t.editByPath([1, 0, 0, 3], [1, 0, 0, 4]); }); await c3.sync(); await c2.sync(); assert.equal( d3.getRoot().t.toXML(), /*html*/ `

    1 카2 네이3

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    1 카2 네이3

    `, ); d3.update((r) => { r.t.editByPath([1, 0, 0, 2], [1, 0, 0, 3]); }); await c3.sync(); await c2.sync(); assert.equal( d3.getRoot().t.toXML(), /*html*/ `

    1 2 네이3

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    1 2 네이3

    `, ); await c1.deactivate(); await c2.deactivate(); await c3.deactivate(); }); it('Can style a range by path', function ({ task }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'a' }], attributes: { weight: 'bold' }, }, { type: 'p', children: [{ type: 'text', value: 'b' }], }, ], }); }); doc.update((root) => { root.t.styleByPath([0], [2], { color: 'red' }); }); assert.equal( doc.getRoot().t.toXML(), /*html*/ `

    a

    ` + /*html*/ `

    b

    `, ); }); it('Can style multiple elements across a range by path', function ({ task }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'ab' }], }, { type: 'p', children: [{ type: 'text', value: 'cd' }], }, ], }); }); doc.update((root) => { root.t.styleByPath([0], [2], { bold: 'true' }); }); assert.equal( doc.getRoot().t.toXML(), /*html*/ `

    ab

    cd

    `, ); }); it('Can style single element by path (backward compat)', function ({ task }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'hello' }], }, ], }); }); doc.update((root) => { root.t.styleByPath([0], { bold: 'true' }); }); assert.equal( doc.getRoot().t.toXML(), /*html*/ `

    hello

    `, ); }); it('Can remove style by path', function ({ task }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'a' }], attributes: { bold: 'true', italic: 'true' }, }, { type: 'p', children: [{ type: 'text', value: 'b' }], attributes: { bold: 'true', italic: 'true' }, }, ], }); }); doc.update((root) => { root.t.removeStyleByPath([0], [2], ['italic']); }); assert.equal( doc.getRoot().t.toXML(), /*html*/ `

    a

    ` + /*html*/ `

    b

    `, ); }); it('Can remove style from multiple elements across a range by path', function ({ task, }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'ab' }], attributes: { bold: 'true' }, }, { type: 'p', children: [{ type: 'text', value: 'cd' }], attributes: { bold: 'true' }, }, ], }); }); doc.update((root) => { root.t.removeStyleByPath([0], [2], ['bold']); }); assert.equal( doc.getRoot().t.toXML(), /*html*/ `

    ab

    cd

    `, ); }); it('Should throw on mismatched path lengths for range styleByPath', function ({ task, }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'a' }], }, ], }); }); assert.throws(() => { doc.update((root) => { root.t.styleByPath([0], [0, 0], { bold: 'true' }); }); }); }); it('Should throw on empty paths for styleByPath', function ({ task }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'a' }], }, ], }); }); assert.throws(() => { doc.update((root) => { root.t.styleByPath([], [], { bold: 'true' }); }); }); }); it('Should throw on mismatched path lengths for removeStyleByPath', function ({ task, }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'a' }], attributes: { bold: 'true' }, }, ], }); }); assert.throws(() => { doc.update((root) => { root.t.removeStyleByPath([0], [0, 0], ['bold']); }); }); }); it('Should throw on empty paths for removeStyleByPath', function ({ task }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'a' }], attributes: { bold: 'true' }, }, ], }); }); assert.throws(() => { doc.update((root) => { root.t.removeStyleByPath([], [], ['bold']); }); }); }); }); describe('Tree.edit(concurrent overlapping range)', () => { it('Can concurrently delete overlapping elements', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [] }, { type: 'i', children: [] }, { type: 'b', children: [] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    `, ); d1.update((r) => r.t.edit(0, 4)); d2.update((r) => r.t.edit(2, 6)); assert.equal(d1.getRoot().t.toXML(), /*html*/ ``); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ ``); assert.equal(d2.getRoot().t.toXML(), /*html*/ ``); }, task.name); }); it('Can concurrently delete overlapping text', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: 'abcd' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    abcd

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    abcd

    `); d1.update((r) => r.t.edit(1, 4)); d2.update((r) => r.t.edit(2, 5)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    d

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    a

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    `); }, task.name); }); it('overlapping-merge-and-merge', async function ({ task }) { // TODO(emplam27): skip this for LWW performance test. Fix this test later. await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: 'a' }] }, { type: 'p', children: [{ type: 'text', value: 'b' }] }, { type: 'p', children: [{ type: 'text', value: 'c' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    c

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    a

    b

    c

    `, ); d1.update((r) => r.t.edit(2, 4)); d2.update((r) => r.t.edit(5, 7)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ab

    c

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    a

    bc

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    abc

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    abc

    `); }, task.name); }); it('overlapping-merge-and-delete-element-node', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: 'a' }] }, { type: 'p', children: [{ type: 'text', value: 'b' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    a

    b

    `); d1.update((r) => r.t.edit(2, 4)); d2.update((r) => r.t.edit(3, 6)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ab

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    a

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    a

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    a

    `); }, task.name); }); it('overlapping-merge-and-delete-text-nodes', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: 'a' }] }, { type: 'p', children: [{ type: 'text', value: 'bcde' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    a

    bcde

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    a

    bcde

    `, ); d1.update((r) => r.t.edit(2, 4)); d2.update((r) => r.t.edit(4, 6)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    abcde

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    a

    de

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ade

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    ade

    `); }, task.name); }); }); describe('Tree.edit(concurrent, contained range)', () => { it('Can concurrently insert and delete contained elements of the same depth', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: '1234' }] }, { type: 'p', children: [{ type: 'text', value: 'abcd' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    1234

    abcd

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    1234

    abcd

    `, ); d1.update((r) => r.t.edit(6, 6, { type: 'p', children: [] })); d2.update((r) => r.t.edit(0, 12)); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    1234

    abcd

    `, ); assert.equal(d2.getRoot().t.toXML(), /*html*/ ``); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    `); }, task.name); }); it('Can concurrently multiple insert and delete contained elements of the same depth', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: '1234' }] }, { type: 'p', children: [{ type: 'text', value: 'abcd' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    1234

    abcd

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    1234

    abcd

    `, ); d1.update((r) => r.t.edit(6, 6, { type: 'p', children: [] })); d1.update((r) => r.t.edit(8, 8, { type: 'p', children: [] })); d1.update((r) => r.t.edit(10, 10, { type: 'p', children: [] })); d1.update((r) => r.t.edit(12, 12, { type: 'p', children: [] })); d2.update((r) => r.t.edit(0, 12)); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    1234

    abcd

    `, ); assert.equal(d2.getRoot().t.toXML(), /*html*/ ``); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    `, ); }, task.name); }); it('Detecting error when inserting and deleting contained elements at different depths', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [{ type: 'p', children: [{ type: 'i', children: [] }] }], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    `); d1.update((r) => r.t.edit(2, 2, { type: 'i', children: [] })); d2.update((r) => r.t.edit(1, 3)); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    `, ); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    `); }, task.name); }); it('Can concurrently delete contained elements', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [ { type: 'i', children: [{ type: 'text', value: '1234' }] }, ], }, ], }); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    1234

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    1234

    `, ); d1.update((r) => r.t.edit(0, 8)); d2.update((r) => r.t.edit(1, 7)); assert.equal(d1.getRoot().t.toXML(), /*html*/ ``); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ ``); assert.equal(d2.getRoot().t.toXML(), /*html*/ ``); }, task.name); }); it('Can concurrently insert and delete contained text', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: '1234' }], }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    1234

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    1234

    `); d1.update((r) => r.t.edit(1, 5)); d2.update((r) => r.t.edit(3, 3, { type: 'text', value: 'a' })); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    12a34

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    a

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    a

    `); }, task.name); }); it('Can concurrently delete contained text', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: '1234' }], }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    1234

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    1234

    `); d1.update((r) => r.t.edit(1, 5)); d2.update((r) => r.t.edit(2, 4)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    14

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    `); }, task.name); }); it('Can concurrently insert and delete contained text and elements', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: '1234' }], }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    1234

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    1234

    `); d1.update((r) => r.t.edit(0, 6)); d2.update((r) => r.t.edit(3, 3, { type: 'text', value: 'a' })); assert.equal(d1.getRoot().t.toXML(), /*html*/ ``); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    12a34

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ ``); assert.equal(d2.getRoot().t.toXML(), /*html*/ ``); }, task.name); }); it('Can concurrently delete contained text and elements', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: '1234' }], }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    1234

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    1234

    `); d1.update((r) => r.t.edit(0, 6)); d2.update((r) => r.t.edit(1, 5)); assert.equal(d1.getRoot().t.toXML(), /*html*/ ``); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ ``); assert.equal(d2.getRoot().t.toXML(), /*html*/ ``); }, task.name); }); it('contained-split-and-split-at-the-same-position', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [{ type: 'p', children: [{ type: 'text', value: 'ab' }] }], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ab

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    ab

    `); d1.update((r) => r.t.edit(2, 2, undefined, 1)); d2.update((r) => r.t.edit(2, 2, undefined, 1)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    a

    b

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    a

    b

    `, ); }, task.name); }); it('contained-split-and-split-at-diffrent-positions-on-the-same-node', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [{ type: 'p', children: [{ type: 'text', value: 'abc' }] }], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    abc

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    abc

    `); d1.update((r) => r.t.edit(2, 2, undefined, 1)); d2.update((r) => r.t.edit(3, 3, undefined, 1)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    a

    bc

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    ab

    c

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    c

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    a

    b

    c

    `, ); }, task.name); }); it('contained-split-and-split-at-different-levels', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [ { type: 'p', children: [{ type: 'text', value: 'ab' }] }, { type: 'p', children: [{ type: 'text', value: 'c' }] }, ], }, ], }); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    ab

    c

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    ab

    c

    `, ); d1.update((r) => r.t.edit(3, 3, undefined, 1)); d2.update((r) => r.t.edit(5, 5, undefined, 1)); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    c

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    ab

    c

    `, ); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    c

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    a

    b

    c

    `, ); }, task.name); }); it('contained-split-and-insert-into-the-split-position', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [{ type: 'p', children: [{ type: 'text', value: 'ab' }] }], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ab

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    ab

    `); d1.update((r) => r.t.edit(2, 2, undefined, 1)); d2.update((r) => r.t.edit(2, 2, { type: 'text', value: 'c' })); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    acb

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ac

    b

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    ac

    b

    `); }, task.name); }); it('contained-split-and-insert-into-original-node', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [{ type: 'p', children: [{ type: 'text', value: 'ab' }] }], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ab

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    ab

    `); d1.update((r) => r.t.edit(2, 2, undefined, 1)); d2.update((r) => r.t.edit(1, 1, { type: 'text', value: 'c' })); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    cab

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ca

    b

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    ca

    b

    `); }, task.name); }); it('contained-split-and-insert-into-split-node', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [{ type: 'p', children: [{ type: 'text', value: 'ab' }] }], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ab

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    ab

    `); d1.update((r) => r.t.edit(2, 2, undefined, 1)); d2.update((r) => r.t.edit(3, 3, { type: 'text', value: 'c' })); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    abc

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    a

    bc

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    a

    bc

    `); }, task.name); }); // TODO(JOOHOJANG): split operation's defect cause GC error. // remove this comment after implement split operation completely. it('contained-split-and-delete-contents-in-split-node', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [{ type: 'p', children: [{ type: 'text', value: 'ab' }] }], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ab

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    ab

    `); d1.update((r) => r.t.edit(2, 2, undefined, 1)); d2.update((r) => r.t.edit(2, 3)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    a

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    a

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    a

    `); }, task.name); }); it('contained-split-and-delete-the-whole-original-and-split-nodes', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [{ type: 'p', children: [{ type: 'text', value: 'ab' }] }], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ab

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    ab

    `); d1.update((r) => r.t.edit(2, 2, undefined, 1)); d2.update((r) => r.t.edit(0, 4)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ ``); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ ``); assert.equal(d2.getRoot().t.toXML(), /*html*/ ``); }, task.name); }); it('contained-merge-and-merge-at-different-levels', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [ { type: 'p', children: [{ type: 'text', value: 'a' }] }, { type: 'p', children: [{ type: 'text', value: 'b' }] }, ], }, { type: 'p', children: [{ type: 'text', value: 'c' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    c

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    a

    b

    c

    `, ); d1.update((r) => r.t.edit(3, 5)); d2.update((r) => r.t.edit(7, 9)); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    ab

    c

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    a

    b

    c

    `, ); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ab

    c

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    ab

    c

    `); }, task.name); }); it('contained-merge-and-merge-at-the-same-level', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: 'a' }] }, { type: 'p', children: [{ type: 'text', value: 'b' }] }, { type: 'p', children: [{ type: 'text', value: 'c' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    c

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    a

    b

    c

    `, ); d1.update((r) => r.t.edit(2, 7)); d2.update((r) => r.t.edit(5, 7)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ac

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    a

    bc

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ac

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    ac

    `); }, task.name); }); it('contained-merge-and-insert', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: 'a' }] }, { type: 'p', children: [{ type: 'text', value: 'b' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    a

    b

    `); d1.update((r) => r.t.edit(2, 4)); d2.update((r) => r.t.edit(4, 4, { type: 'text', value: 'c' })); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ab

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    a

    cb

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    acb

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    acb

    `); }, task.name); }); it('contained-merge-and-delete-the-whole', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: 'a' }] }, { type: 'p', children: [{ type: 'text', value: 'b' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    a

    b

    `); d1.update((r) => r.t.edit(2, 4)); d2.update((r) => r.t.edit(0, 6)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ab

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ ``); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ ``); assert.equal(d2.getRoot().t.toXML(), /*html*/ ``); }, task.name); }); it('contained-merge-and-delete-contents-in-merged-node', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: 'a' }] }, { type: 'p', children: [{ type: 'text', value: 'bc' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    a

    bc

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    a

    bc

    `); d1.update((r) => r.t.edit(2, 4)); d2.update((r) => r.t.edit(4, 5)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    abc

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    a

    c

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ac

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    ac

    `); }, task.name); }); it('contained-merge-and-delete-sub-range-in-merged-range', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: 'a' }] }, { type: 'p', children: [{ type: 'text', value: 'b' }] }, { type: 'p', children: [{ type: 'text', value: 'c' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    c

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    a

    b

    c

    `, ); d1.update((r) => r.t.edit(2, 7)); d2.update((r) => r.t.edit(3, 6)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ac

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    a

    c

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ac

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    ac

    `); }, task.name); }); it('contained-merge-and-split-merged-node', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: 'a' }] }, { type: 'p', children: [{ type: 'text', value: 'bc' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    a

    bc

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    a

    bc

    `); d1.update((r) => r.t.edit(2, 4)); d2.update((r) => r.t.edit(5, 5, undefined, 1)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    abc

    `); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    a

    b

    c

    `, ); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ab

    c

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    ab

    c

    `); }, task.name); }); it('contained-merge-and-split-at-multi-levels', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [ { type: 'p', children: [{ type: 'text', value: 'a' }] }, { type: 'p', children: [{ type: 'text', value: 'b' }] }, ], }, ], }); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    a

    b

    `, ); d1.update((r) => r.t.edit(3, 5)); d2.update((r) => r.t.edit(4, 4, undefined, 1)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ab

    `); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    a

    b

    `, ); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    ab

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    ab

    `, ); }, task.name); }); }); describe('Tree.edit(concurrent, side by side range)', () => { it('Can concurrently insert side by side elements (left)', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [], }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    `); d1.update((r) => r.t.edit(0, 0, { type: 'b', children: [] })); d2.update((r) => r.t.edit(0, 0, { type: 'i', children: [] })); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    `, ); }, task.name); }); it('Can concurrently insert side by side elements (middle)', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [], }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    `); d1.update((r) => r.t.edit(1, 1, { type: 'b', children: [] })); d2.update((r) => r.t.edit(1, 1, { type: 'i', children: [] })); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    `, ); }, task.name); }); it('Can concurrently insert side by side elements (right)', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [], }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    `); d1.update((r) => r.t.edit(2, 2, { type: 'b', children: [] })); d2.update((r) => r.t.edit(2, 2, { type: 'i', children: [] })); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    `, ); }, task.name); }); it('Can concurrently insert and delete side by side elements', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'b', children: [] }], }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    `); d1.update((r) => r.t.edit(1, 3)); d2.update((r) => r.t.edit(1, 1, { type: 'i', children: [] })); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    `); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    `, ); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    `); }, task.name); }); it('Can concurrently delete and insert side by side elements', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'b', children: [] }], }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    `); d1.update((r) => r.t.edit(1, 3)); d2.update((r) => r.t.edit(3, 3, { type: 'i', children: [] })); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    `); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    `, ); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    `); }, task.name); }); it('Can concurrently delete side by side elements', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [ { type: 'b', children: [] }, { type: 'i', children: [] }, ], }, ], }); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    `, ); d1.update((r) => r.t.edit(1, 3)); d2.update((r) => r.t.edit(3, 5)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    `); }, task.name); }); it('Can insert text to the same position(left) concurrently', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [{ type: 'p', children: [{ type: 'text', value: '12' }] }], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    12

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    12

    `); d1.update((r) => r.t.edit(1, 1, { type: 'text', value: 'A' })); d2.update((r) => r.t.edit(1, 1, { type: 'text', value: 'B' })); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    A12

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    B12

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    BA12

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    BA12

    `); }, task.name); }); it('Can insert text to the same position(middle) concurrently', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [{ type: 'p', children: [{ type: 'text', value: '12' }] }], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    12

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    12

    `); d1.update((r) => r.t.edit(2, 2, { type: 'text', value: 'A' })); d2.update((r) => r.t.edit(2, 2, { type: 'text', value: 'B' })); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    1A2

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    1B2

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    1BA2

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    1BA2

    `); }, task.name); }); it('Can insert text content to the same position(right) concurrently', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [{ type: 'p', children: [{ type: 'text', value: '12' }] }], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    12

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    12

    `); d1.update((r) => r.t.edit(3, 3, { type: 'text', value: 'A' })); d2.update((r) => r.t.edit(3, 3, { type: 'text', value: 'B' })); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    12A

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    12B

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    12BA

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    12BA

    `); }, task.name); }); it('Can concurrently insert and delete side by side text', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: '1234' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    1234

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    1234

    `); d1.update((r) => r.t.edit(3, 3, { type: 'text', value: 'a' })); d2.update((r) => r.t.edit(3, 5)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    12a34

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    12

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    12a

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    12a

    `); }, task.name); }); it('Can concurrently delete and insert side by side text', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: '1234' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    1234

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    1234

    `); d1.update((r) => r.t.edit(3, 3, { type: 'text', value: 'a' })); d2.update((r) => r.t.edit(1, 3)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    12a34

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    34

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    a34

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    a34

    `); }, task.name); }); it('Can concurrently delete side by side text blocks', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: '1234' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    1234

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    1234

    `); d1.update((r) => r.t.edit(3, 5)); d2.update((r) => r.t.edit(1, 3)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    12

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    34

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    `); }, task.name); }); it('Can delete text content at the same position(left) concurrently', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [{ type: 'p', children: [{ type: 'text', value: '123' }] }], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    123

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    123

    `); d1.update((r) => r.t.edit(1, 2)); d2.update((r) => r.t.edit(1, 2)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    23

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    23

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    23

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    23

    `); }, task.name); }); it('Can delete text content at the same position(middle) concurrently', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [{ type: 'p', children: [{ type: 'text', value: '123' }] }], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    123

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    123

    `); d1.update((r) => r.t.edit(2, 3)); d2.update((r) => r.t.edit(2, 3)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    13

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    13

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    13

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    13

    `); }, task.name); }); it('Can delete text content at the same position(right) concurrently', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [{ type: 'p', children: [{ type: 'text', value: '123' }] }], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    123

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    123

    `); d1.update((r) => r.t.edit(3, 4)); d2.update((r) => r.t.edit(3, 4)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    12

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    12

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    12

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    12

    `); }, task.name); }); it('side-by-side-split-and-split', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: 'ab' }] }, { type: 'p', children: [{ type: 'text', value: 'cd' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    ab

    cd

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    ab

    cd

    `, ); d1.update((r) => r.t.edit(2, 2, undefined, 1)); d2.update((r) => r.t.edit(6, 6, undefined, 1)); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    cd

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    ab

    c

    d

    `, ); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    c

    d

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    a

    b

    c

    d

    `, ); }, task.name); }); it('side-by-side-split-and-insert', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [{ type: 'p', children: [{ type: 'text', value: 'ab' }] }], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ab

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    ab

    `); d1.update((r) => r.t.edit(2, 2, undefined, 1)); d2.update((r) => r.t.edit(4, 4, { type: 'p', children: [{ type: 'text', value: 'c' }] }), ); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    ab

    c

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    c

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    a

    b

    c

    `, ); }, task.name); }); it('side-by-side-split-and-delete', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: 'ab' }] }, { type: 'p', children: [{ type: 'text', value: 'c' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ab

    c

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    ab

    c

    `); d1.update((r) => r.t.edit(2, 2, undefined, 1)); d2.update((r) => r.t.edit(4, 7)); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    c

    `, ); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    ab

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    a

    b

    `); }, task.name); }); it('cascade-delete-across-parent-after-multi-level-split', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [ { type: 'p', children: [{ type: 'text', value: 'ab' }] }, { type: 'p', children: [{ type: 'text', value: 'cd' }] }, ], }, ], }); }); await c1.sync(); await c2.sync(); d1.update((r) => r.t.edit(3, 3, undefined, 2)); d2.update((r) => r.t.edit(1, 6)); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    cd

    `, ); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    cd

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), d2.getRoot().t.toXML()); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    cd

    `); }, task.name); }); it('sequential-merge-then-split', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: 'ab' }] }, { type: 'p', children: [{ type: 'text', value: 'cd' }] }, ], }); }); await c1.sync(); await c2.sync(); // d1: merge two paragraphs d1.update((r) => r.t.edit(3, 5)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    abcd

    `); await c1.sync(); await c2.sync(); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    abcd

    `); // d2: split the merged content at ab|cd (sequential, knows about merge) d2.update((r) => r.t.edit(3, 3, undefined, 1)); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    ab

    cd

    `, ); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), d2.getRoot().t.toXML()); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    ab

    cd

    `, ); }, task.name); }); it('multi-level-split-with-concurrent-merge-and-text-split', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [ { type: 'p', children: [{ type: 'text', value: 'ab' }] }, { type: 'p', children: [{ type: 'text', value: 'cd' }] }, ], }, ], }); }); await c1.sync(); await c2.sync(); d1.update((r) => r.t.edit(3, 3, undefined, 2)); d2.update((r) => r.t.edit(1, 6)); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), d2.getRoot().t.toXML()); }, task.name); }); // When one client deletes text content and another concurrently splits // the same paragraph, the delete range overlaps with the split boundary. // This creates a convergence challenge because the split position // resolves inside tombstoned content. // // Additionally, in the JS SDK, splitElement uses this.children (a // visible-only getter) which drops tombstoned children from _children // during reassignment. In Go, Children(true) preserves removed nodes. // This structural difference could cause issues with GC and subsequent // operations that reference tombstoned nodes by ID. it('split-with-concurrent-delete-overlapping-content', async function ({ task, }) { // Fixed by Fix 9: skip merge for concurrent elements in collectBetween. await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: 'abcd' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    abcd

    `); // d1: delete "bc" (positions 2-4) d1.update((r) => r.t.edit(2, 4)); // d2: split

    at position 3 (between b and c) with splitLevel=1 d2.update((r) => r.t.edit(3, 3, undefined, 1)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ad

    `); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    ab

    cd

    `, ); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), d2.getRoot().t.toXML()); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    a

    d

    `); }, task.name); }); it('merge-with-concurrent-content-delete', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: 'ab' }] }, { type: 'p', children: [{ type: 'text', value: 'cd' }] }, ], }); }); await c1.sync(); await c2.sync(); d1.update((r) => r.t.edit(2, 3)); d2.update((r) => r.t.edit(3, 5)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    a

    cd

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    abcd

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), d2.getRoot().t.toXML()); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    acd

    `); }, task.name); }); it('merge-with-concurrent-full-content-delete-in-source', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: 'ab' }] }, { type: 'p', children: [{ type: 'text', value: 'cd' }] }, ], }); }); await c1.sync(); await c2.sync(); d1.update((r) => r.t.edit(5, 7)); d2.update((r) => r.t.edit(3, 5)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ab

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    abcd

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), d2.getRoot().t.toXML()); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ab

    `); }, task.name); }); it('side-by-side-merge-and-merge', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: 'a' }] }, { type: 'p', children: [{ type: 'text', value: 'b' }] }, { type: 'p', children: [{ type: 'text', value: 'c' }] }, { type: 'p', children: [{ type: 'text', value: 'd' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    c

    d

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    a

    b

    c

    d

    `, ); d1.update((r) => r.t.edit(2, 4)); d2.update((r) => r.t.edit(8, 10)); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    ab

    c

    d

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    a

    b

    cd

    `, ); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    ab

    cd

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    ab

    cd

    `, ); }, task.name); }); // Regression test for https://github.com/yorkie-team/yorkie/issues/1726 // When one client splits inside a block that the other client merges, // replicas must converge. it('contained-split-and-merge-same-block', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: 'ab' }] }, { type: 'p', children: [{ type: 'text', value: 'cd' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    ab

    cd

    `, ); // d1: split first paragraph at a|b d1.update((r) => r.t.edit(2, 2, undefined, 1)); // d2: merge both paragraphs d2.update((r) => r.t.edit(3, 5)); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    cd

    `, ); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    abcd

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), d2.getRoot().t.toXML()); }, task.name); }); it('side-by-side-merge-and-insert', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: 'a' }] }, { type: 'p', children: [{ type: 'text', value: 'b' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    a

    b

    `); d1.update((r) => r.t.edit(2, 4)); d2.update((r) => r.t.edit(6, 6, { type: 'p', children: [{ type: 'text', value: 'c' }] }), ); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ab

    `); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    a

    b

    c

    `, ); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ab

    c

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    ab

    c

    `); }, task.name); }); it('side-by-side-merge-and-delete', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: 'a' }] }, { type: 'p', children: [{ type: 'text', value: 'b' }] }, { type: 'p', children: [{ type: 'text', value: 'c' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    c

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    a

    b

    c

    `, ); d1.update((r) => r.t.edit(2, 4)); d2.update((r) => r.t.edit(6, 9)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ab

    c

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    a

    b

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ab

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    ab

    `); }, task.name); }); it('side-by-side-merge-and-split', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: 'a' }] }, { type: 'p', children: [{ type: 'text', value: 'b' }] }, { type: 'p', children: [{ type: 'text', value: 'cd' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    cd

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    a

    b

    cd

    `, ); d1.update((r) => r.t.edit(2, 4)); d2.update((r) => r.t.edit(8, 8, undefined, 1)); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    ab

    cd

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    a

    b

    c

    d

    `, ); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    ab

    c

    d

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    ab

    c

    d

    `, ); }, task.name); }); it('side-by-side-merge-and-merge', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: 'a' }] }, { type: 'p', children: [{ type: 'text', value: 'b' }] }, { type: 'p', children: [{ type: 'text', value: 'c' }] }, { type: 'p', children: [{ type: 'text', value: 'd' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    c

    d

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    a

    b

    c

    d

    `, ); d1.update((r) => r.t.edit(2, 4)); // merge p1+p2 d2.update((r) => r.t.edit(8, 10)); // merge p3+p4 assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    ab

    c

    d

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    a

    b

    cd

    `, ); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    ab

    cd

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    ab

    cd

    `, ); }, task.name); }); it('concurrent-delete-after-merge-with-nested-content', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [ { type: 'b', children: [{ type: 'text', value: 'a' }] }, ], }, { type: 'p', children: [ { type: 'b', children: [{ type: 'text', value: 'b' }] }, ], }, ], }); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    a

    b

    `, ); d1.update((r) => r.t.edit(4, 6)); // merge p1+p2 d2.update((r) => r.t.edit(0, 10)); // delete everything assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    ab

    `, ); assert.equal(d2.getRoot().t.toXML(), /*html*/ ``); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ ``); assert.equal(d2.getRoot().t.toXML(), /*html*/ ``); }, task.name); }); it('delete-starting-inside-merge-target', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: 'ab' }], }, { type: 'p', children: [{ type: 'text', value: 'c' }], }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), '

    ab

    c

    '); assert.equal(d2.getRoot().t.toXML(), '

    ab

    c

    '); // C1: merge p1+p2 (from after 'b' to before 'c', crossing boundary) d1.update((r) => r.t.edit(3, 5)); // C2: delete from after 'b' through end of p2 d2.update((r) => r.t.edit(3, 7)); assert.equal(d1.getRoot().t.toXML(), '

    abc

    '); assert.equal(d2.getRoot().t.toXML(), '

    ab

    '); // After sync: merged children (text_c) should be deleted because // C2's delete range covers them. Even though mergedInto == fromParent // suppresses propagation, the children are in fromParent and reachable // through normal traversal. await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), '

    ab

    '); assert.equal(d2.getRoot().t.toXML(), '

    ab

    '); }, task.name); }); }); describe('Tree.edit(concurrent, complex cases)', () => { it('Can delete text content anchored to another concurrently', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [{ type: 'p', children: [{ type: 'text', value: '123' }] }], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    123

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    123

    `); d1.update((r) => r.t.edit(1, 2)); d2.update((r) => r.t.edit(2, 3)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    23

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    13

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    3

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    3

    `); }, task.name); }); it('Can produce complete deletion concurrently', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [{ type: 'p', children: [{ type: 'text', value: '123' }] }], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    123

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    123

    `); d1.update((r) => r.t.edit(1, 2)); d2.update((r) => r.t.edit(2, 4)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    23

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    1

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    `); }, task.name); }); it('Can handle block delete concurrently', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: '12345' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    12345

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    12345

    `); d1.update((r) => r.t.edit(1, 3)); d2.update((r) => r.t.edit(4, 6)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    345

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    123

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    3

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    3

    `); }, task.name); }); it('Can handle insert within block delete concurrently', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: '12345' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    12345

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    12345

    `); d1.update((r) => r.t.edit(2, 5)); d2.update((r) => r.t.edit(3, 3, { type: 'text', value: 'B' })); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    15

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    12B345

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    1B5

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    1B5

    `); }, task.name); }); it('Can handle insert within block delete concurrently [2]', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: '12345' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    12345

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    12345

    `); d1.update((r) => r.t.edit(2, 6)); d2.update((r) => r.t.editBulk(3, 3, [ { type: 'text', value: 'a' }, { type: 'text', value: 'bc' }, ]), ); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    1

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    12abc345

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    1abc

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    1abc

    `); }, task.name); }); it('Can handle block element insertion within delete [2]', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: '1234' }] }, { type: 'p', children: [{ type: 'text', value: '5678' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    1234

    5678

    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    1234

    5678

    `, ); d1.update((r) => r.t.edit(0, 12)); d2.update((r) => r.t.editBulk(6, 6, [ { type: 'p', children: [{ type: 'text', value: 'cd' }] }, { type: 'i', children: [{ type: 'text', value: 'fg' }] }, ]), ); assert.equal(d1.getRoot().t.toXML(), /*html*/ ``); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    1234

    cd

    fg

    5678

    `, ); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    cd

    fg
    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    cd

    fg
    `, ); }, task.name); }); it('Can handle concurrent element insert/ deletion (left)', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: '12345' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    12345

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    12345

    `); d1.update((r) => r.t.edit(0, 7)); d2.update((r) => r.t.editBulk(0, 0, [ { type: 'p', children: [{ type: 'text', value: 'cd' }] }, { type: 'i', children: [{ type: 'text', value: 'fg' }] }, ]), ); assert.equal(d1.getRoot().t.toXML(), /*html*/ ``); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    cd

    fg

    12345

    `, ); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    cd

    fg
    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    cd

    fg
    `, ); }, task.name); }); it('Can handle concurrent element insert/ deletion (right)', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: '12345' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    12345

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    12345

    `); d1.update((r) => r.t.edit(0, 7)); d2.update((r) => r.t.editBulk(7, 7, [ { type: 'p', children: [{ type: 'text', value: 'cd' }] }, { type: 'i', children: [{ type: 'text', value: 'fg' }] }, ]), ); assert.equal(d1.getRoot().t.toXML(), /*html*/ ``); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    12345

    cd

    fg
    `, ); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    cd

    fg
    `, ); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    cd

    fg
    `, ); }, task.name); }); it('Can handle deletion of insertion anchor concurrently', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [{ type: 'p', children: [{ type: 'text', value: '12' }] }], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    12

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    12

    `); d1.update((r) => r.t.edit(2, 2, { type: 'text', value: 'A' })); d2.update((r) => r.t.edit(1, 2)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    1A2

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    2

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    A2

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    A2

    `); }, task.name); }); it('Can handle deletion after insertion concurrently', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [{ type: 'p', children: [{ type: 'text', value: '12' }] }], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    12

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    12

    `); d1.update((r) => r.t.edit(1, 1, { type: 'text', value: 'A' })); d2.update((r) => r.t.edit(1, 3)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    A12

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    A

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    A

    `); }, task.name); }); it('Can handle deletion before insertion concurrently', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [{ type: 'p', children: [{ type: 'text', value: '12' }] }], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    12

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    12

    `); d1.update((r) => r.t.edit(3, 3, { type: 'text', value: 'A' })); d2.update((r) => r.t.edit(1, 3)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    12A

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    A

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    A

    `); }, task.name); }); }); describe('Tree(edge cases)', () => { it('Can delete very first text when there is tombstone in front of target text', function ({ task, }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { // 01. Create a tree and insert a paragraph. root.t = new Tree(); root.t.edit(0, 0, { type: 'p', children: [{ type: 'text', value: 'abcdefghi' }], }); assert.equal(root.t.toXML(), /*html*/ `

    abcdefghi

    `); root.t.edit(1, 1, { type: 'text', value: '12345' }); assert.equal(root.t.toXML(), `

    12345abcdefghi

    `); root.t.edit(2, 5); assert.equal(root.t.toXML(), `

    15abcdefghi

    `); root.t.edit(3, 5); assert.equal(root.t.toXML(), `

    15cdefghi

    `); root.t.edit(2, 4); assert.equal(root.t.toXML(), `

    1defghi

    `); root.t.edit(1, 3); assert.equal(root.t.toXML(), `

    efghi

    `); root.t.edit(1, 2); assert.equal(root.t.toXML(), `

    fghi

    `); root.t.edit(2, 5); assert.equal(root.t.toXML(), `

    f

    `); root.t.edit(1, 2); assert.equal(root.t.toXML(), `

    `); }); }); it('Can delete node when there is more than one text node in front which has size bigger than 1', function ({ task, }) { const key = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ t: Tree }>(key); doc.update((root) => { // 01. Create a tree and insert a paragraph. root.t = new Tree(); root.t.edit(0, 0, { type: 'p', children: [{ type: 'text', value: 'abcde' }], }); assert.equal(root.t.toXML(), /*html*/ `

    abcde

    `); root.t.edit(6, 6, { type: 'text', value: 'f', }); assert.equal(root.t.toXML(), /*html*/ `

    abcdef

    `); root.t.edit(7, 7, { type: 'text', value: 'g', }); assert.equal(root.t.toXML(), /*html*/ `

    abcdefg

    `); root.t.edit(7, 8); assert.equal(root.t.toXML(), /*html*/ `

    abcdef

    `); root.t.edit(6, 7); assert.equal(root.t.toXML(), /*html*/ `

    abcde

    `); root.t.edit(5, 6); assert.equal(root.t.toXML(), /*html*/ `

    abcd

    `); root.t.edit(4, 5); assert.equal(root.t.toXML(), /*html*/ `

    abc

    `); root.t.edit(3, 4); assert.equal(root.t.toXML(), /*html*/ `

    ab

    `); root.t.edit(2, 3); assert.equal(root.t.toXML(), /*html*/ `

    a

    `); root.t.edit(1, 2); assert.equal(root.t.toXML(), /*html*/ `

    `); }); }); it('Can split link can transmitted through rpc', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [{ type: 'p', children: [{ type: 'text', value: 'ab' }] }], }); }); d1.update((root) => { root.t.edit(2, 2, { type: 'text', value: '1' }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    a1b

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    a1b

    `); d2.update((root) => { root.t.edit(3, 3, { type: 'text', value: '1' }); }); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    a11b

    `); d2.update((root) => { root.t.edit(2, 3, { type: 'text', value: '12' }); }); d2.update((root) => { root.t.edit(4, 5, { type: 'text', value: '21' }); }); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    a1221b

    `); // if split link is not transmitted, then left sibling in from index below, is "b" not "a" d2.update((root) => { root.t.edit(2, 4, { type: 'text', value: '123' }); }); assert.equal( d2.getRoot().t.toXML(), /*html*/ `

    a12321b

    `, ); }, task.name); }); it('Can calculate size of index tree correctly', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [{ type: 'p', children: [{ type: 'text', value: 'ab' }] }], }); }); d1.update((root) => { root.t.edit(2, 2, { type: 'text', value: '123' }); }); d1.update((root) => { root.t.edit(2, 2, { type: 'text', value: '456' }); }); d1.update((root) => { root.t.edit(2, 2, { type: 'text', value: '789' }); }); d1.update((root) => { root.t.edit(2, 2, { type: 'text', value: '0123' }); }); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    a0123789456123b

    `, ); await c1.sync(); await c2.sync(); const visibleSize = d1.getRoot().t.getIndexTree().getRoot().visibleSize; assert.equal( d2.getRoot().t.getIndexTree().getRoot().visibleSize, visibleSize, ); }, task.name); }); it('Can calculate size of index tree correctly during concurrent editing', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'hello' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    hello

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    hello

    `); d1.update((root) => root.t.edit(0, 7)); d2.update((root) => root.t.edit(1, 2, { type: 'text', value: 'p' })); assert.equal(d1.getRoot().t.toXML(), /*html*/ ``); assert.equal(0, d1.getRoot().t.getSize()); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    pello

    `); assert.equal(7, d2.getRoot().t.getSize()); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ ``); assert.equal(d2.getRoot().t.toXML(), /*html*/ ``); assert.equal(d2.getRoot().t.getSize(), d1.getRoot().t.getSize()); }, task.name); }); it('Can keep index tree consistent from snapshot', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'r', children: [{ type: 'p', children: [] }], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    `); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    `); d1.update((root) => root.t.edit(0, 2)); d2.update((root) => { root.t.edit(1, 1, { type: 'i', children: [{ type: 'text', value: 'a' }], }); root.t.edit(2, 3, { type: 'text', value: 'b' }); }); assert.equal(d1.getRoot().t.toXML(), /*html*/ ``); assert.equal(d1.getRoot().t.getSize(), 0); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    b

    `); assert.equal(5, d2.getRoot().t.getSize()); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), /*html*/ ``); assert.equal(d2.getRoot().t.toXML(), /*html*/ ``); const d1Nodes: Array<[string, number, boolean]> = []; const d2Nodes: Array<[string, number, boolean]> = []; const sNodes: Array<[string, number, boolean]> = []; d1.getRoot() .t.getIndexTree() .traverseAll((node) => { d1Nodes.push([toXML(node), node.visibleSize, node.isRemoved]); }); d2.getRoot() .t.getIndexTree() .traverseAll((node) => { d2Nodes.push([toXML(node), node.visibleSize, node.isRemoved]); }); const sRoot = converter.bytesToObject( converter.objectToBytes(d1.getRootObject()), ); (sRoot.get('t') as unknown as Tree).getIndexTree().traverseAll((node) => { sNodes.push([toXML(node), node.visibleSize, node.isRemoved]); }); assert.deepEqual(d1Nodes, d2Nodes); assert.deepEqual(d1Nodes, sNodes); }, task.name); }); it('Can split and merge with empty paragraph: left', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [ { type: 'text', value: 'a' }, { type: 'text', value: 'b' }, ], }, ], }); }); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ab

    `); d1.update((root) => root.t.edit(1, 1, undefined, 1)); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    ab

    `, ); d1.update((root) => root.t.edit(1, 3)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ab

    `); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), d2.getRoot().t.toXML()); }, task.name); }); it('Can split and merge with empty paragraph: right', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [ { type: 'text', value: 'a' }, { type: 'text', value: 'b' }, ], }, ], }); }); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ab

    `); d1.update((root) => root.t.edit(3, 3, undefined, 1)); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    ab

    `, ); d1.update((root) => root.t.edit(3, 5)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ab

    `); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), d2.getRoot().t.toXML()); }, task.name); }); it('Can split and merge with empty paragraph and multiple split level: left', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [ { type: 'p', children: [ { type: 'text', value: 'a' }, { type: 'text', value: 'b' }, ], }, ], }, ], }); }); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    ab

    `, ); d1.update((root) => root.t.edit(2, 2, undefined, 2)); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    ab

    `, ); d1.update((root) => root.t.edit(2, 6)); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    ab

    `, ); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), d2.getRoot().t.toXML()); }, task.name); }); it('Can split at the same offset multiple times', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [ { type: 'text', value: 'a' }, { type: 'text', value: 'b' }, ], }, ], }); }); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ab

    `); d1.update((root) => root.t.edit(2, 2, undefined, 1)); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    a

    b

    `, ); d1.update((root) => root.t.edit(2, 2, { type: 'text', value: 'c' })); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    ac

    b

    `, ); d1.update((root) => root.t.edit(2, 2, undefined, 1)); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    a

    c

    b

    `, ); d1.update((root) => root.t.edit(2, 7, undefined)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    ab

    `); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), d2.getRoot().t.toXML()); }, task.name); }); }); describe('TreeChange', () => { it('Concurrent delete and delete', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [{ type: 'p', children: [{ type: 'text', value: 'ab' }] }], }); assert.equal(root.t.toXML(), /*html*/ `

    ab

    `); }); await c1.sync(); await c2.sync(); const [ops1, ops2] = subscribeDocs(d1, d2); d1.update((root) => root.t.edit(0, 4)); assert.equal(d1.getRoot().t.toXML(), /*html*/ ``); d2.update((root) => root.t.edit(1, 2)); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    b

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), d2.getRoot().t.toXML()); assert.deepEqual( ops1.map((it) => { return { type: it.type, from: it.from, to: it.to, value: it.value, }; }), [ { type: 'tree-edit', from: 0, to: 4, value: undefined, }, ], ); assert.deepEqual( ops2.map((it) => { return { type: it.type, from: it.from, to: it.to, value: it.value, }; }), [ { type: 'tree-edit', from: 1, to: 2, value: undefined, }, { type: 'tree-edit', from: 0, to: 3, value: undefined, }, ], ); }, task.name); }); it('Concurrent delete and insert', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [{ type: 'p', children: [{ type: 'text', value: 'ab' }] }], }); assert.equal(root.t.toXML(), /*html*/ `

    ab

    `); }); await c1.sync(); await c2.sync(); const [ops1, ops2] = subscribeDocs(d1, d2); d1.update((root) => root.t.edit(1, 3)); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    `); d2.update((root) => root.t.edit(2, 2, { type: 'text', value: 'c' })); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    acb

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), d2.getRoot().t.toXML()); assert.deepEqual( ops1.map((it) => { return { type: it.type, from: it.from, to: it.to, value: it.value, }; }), [ { type: 'tree-edit', from: 1, to: 3, value: undefined, }, { type: 'tree-edit', from: 1, to: 1, value: [{ type: 'text', value: 'c' }], }, ], ); assert.deepEqual( ops2.map((it) => { return { type: it.type, from: it.from, to: it.to, value: it.value, }; }), [ { type: 'tree-edit', from: 2, to: 2, value: [{ type: 'text', value: 'c' }], }, { type: 'tree-edit', from: 3, to: 4, value: undefined, }, { type: 'tree-edit', from: 1, to: 2, value: undefined, }, ], ); }, task.name); }); it('Concurrent delete and insert when parent removed', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [{ type: 'p', children: [{ type: 'text', value: 'ab' }] }], }); assert.equal(root.t.toXML(), /*html*/ `

    ab

    `); }); await c1.sync(); await c2.sync(); const [ops1, ops2] = subscribeDocs(d1, d2); d1.update((root) => root.t.edit(0, 4)); assert.equal(d1.getRoot().t.toXML(), /*html*/ ``); d2.update((root) => root.t.edit(2, 2, { type: 'text', value: 'c' })); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    acb

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), d2.getRoot().t.toXML()); assert.deepEqual( ops1.map((it) => { return { type: it.type, from: it.from, to: it.to, value: it.value, }; }), [ { type: 'tree-edit', from: 0, to: 4, value: undefined, }, ], ); assert.deepEqual( ops2.map((it) => { return { type: it.type, from: it.from, to: it.to, value: it.value, }; }), [ { type: 'tree-edit', from: 2, to: 2, value: [{ type: 'text', value: 'c' }], }, { type: 'tree-edit', from: 0, to: 5, value: undefined, }, ], ); }, task.name); }); it('Concurrent delete with contents and insert', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [{ type: 'p', children: [{ type: 'text', value: 'a' }] }], }); assert.equal(root.t.toXML(), /*html*/ `

    a

    `); }); await c1.sync(); await c2.sync(); const [ops1, ops2] = subscribeDocs(d1, d2); d1.update((root) => root.t.edit(1, 2, { type: 'text', value: 'b' })); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    b

    `); d2.update((root) => root.t.edit(2, 2, { type: 'text', value: 'c' })); assert.equal(d2.getRoot().t.toXML(), /*html*/ `

    ac

    `); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), d2.getRoot().t.toXML()); assert.deepEqual( ops1.map((it) => { return { type: it.type, from: it.from, to: it.to, value: it.value, }; }), [ { type: 'tree-edit', from: 1, to: 2, value: [{ type: 'text', value: 'b' }], }, { type: 'tree-edit', from: 2, to: 2, value: [{ type: 'text', value: 'c' }], }, ], ); assert.deepEqual( ops2.map((it) => { return { type: it.type, from: it.from, to: it.to, value: it.value, }; }), [ { type: 'tree-edit', from: 2, to: 2, value: [{ type: 'text', value: 'c' }], }, { type: 'tree-edit', from: 1, to: 2, value: [{ type: 'text', value: 'b' }], }, ], ); }, task.name); }); it('Concurrent insert and style', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [{ type: 'p', children: [] }], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), d2.getRoot().t.toXML()); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    `); const [ops1, ops2] = subscribeDocs(d1, d2); d1.update((root) => root.t.style(0, 1, { key: 'a' })); d1.update((root) => root.t.style(0, 1, { key: 'a' })); d2.update((root) => root.t.edit(0, 0, { type: 'p', children: [] })); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), d2.getRoot().t.toXML()); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    `, ); const editChange: TreeEditOpInfo = { type: 'tree-edit', path: '$.t', from: 0, to: 0, fromPath: [0], toPath: [0], value: [{ children: [], type: 'p' }], splitLevel: undefined, }; const styleChange: TreeStyleOpInfo = { type: 'tree-style', path: '$.t', from: 0, to: 1, fromPath: [0], toPath: [0, 0], value: { attributes: { key: 'a' } }, }; const styleChange2: TreeStyleOpInfo = { ...styleChange, from: 2, to: 3, fromPath: [1], toPath: [1, 0], }; assert.deepEqual(ops1, [styleChange, styleChange, editChange]); assert.deepEqual(ops2, [editChange, styleChange2, styleChange2]); }, task.name); }); it('Concurrent insert and removeStyle', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [{ type: 'p', attributes: { key: 'a' }, children: [] }], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), d2.getRoot().t.toXML()); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    `, ); const [ops1, ops2] = subscribeDocs(d1, d2); d1.update((root) => root.t.removeStyle(0, 1, ['key'])); d1.update((root) => root.t.removeStyle(0, 1, ['key'])); d2.update((root) => root.t.edit(0, 0, { type: 'p', children: [] })); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), d2.getRoot().t.toXML()); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    `, ); const editChange: TreeEditOpInfo = { type: 'tree-edit', path: '$.t', from: 0, to: 0, fromPath: [0], toPath: [0], value: [{ children: [], type: 'p' }], splitLevel: undefined, }; const styleChange: TreeStyleOpInfo = { type: 'tree-style', path: '$.t', from: 0, to: 1, fromPath: [0], toPath: [0, 0], value: { attributesToRemove: ['key'], }, }; const styleChange2: TreeStyleOpInfo = { ...styleChange, from: 2, to: 3, fromPath: [1], toPath: [1, 0], }; assert.deepEqual(ops1, [styleChange, styleChange, editChange]); assert.deepEqual(ops2, [editChange, styleChange2, styleChange2]); }, task.name); }); it('Concurrent delete and style', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'root', children: [ { type: 't', attributes: { id: '1', value: 'init' }, children: [] }, { type: 't', attributes: { id: '2', value: 'init' }, children: [] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), d2.getRoot().t.toXML()); assert.equal( d1.getRoot().t.toXML(), /*html*/ ``, ); const [ops1, ops2] = subscribeDocs(d1, d2); d1.update((root) => root.t.styleByPath([0], { value: 'changed' })); d2.update((root) => root.t.editByPath([0], [1])); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), d2.getRoot().t.toXML()); assert.equal( d1.getRoot().t.toXML(), /*html*/ ``, ); assert.deepEqual( ops1.map((it) => { return { type: it.type, from: it.from, to: it.to, value: it.value }; }), [ { type: 'tree-style', from: 0, to: 1, value: { attributes: { value: 'changed' } }, }, { type: 'tree-edit', from: 0, to: 2, value: undefined, }, ], ); assert.deepEqual( ops2.map((it) => { return { type: it.type, from: it.from, to: it.to, value: it.value }; }), [ { type: 'tree-edit', from: 0, to: 2, value: undefined, }, ], ); }, task.name); }); it('Concurrent style and style', async function ({ task }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [{ type: 'text', value: 'hello' }] }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), d2.getRoot().t.toXML()); assert.equal(d1.getRoot().t.toXML(), /*html*/ `

    hello

    `); const [ops1, ops2] = subscribeDocs(d1, d2); d1.update((r) => r.t.style(0, 1, { bold: 'true' })); d2.update((r) => r.t.style(0, 1, { bold: 'false' })); await c1.sync(); await c2.sync(); await c1.sync(); assert.equal(d1.getRoot().t.toXML(), d2.getRoot().t.toXML()); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    hello

    `, ); assert.deepEqual( ops1.map((it) => { return { type: it.type, from: it.from, to: it.to, value: it.value }; }), [ { type: 'tree-style', from: 0, to: 1, value: { attributes: { bold: 'true' } }, }, { type: 'tree-style', from: 0, to: 1, value: { attributes: { bold: 'false' } }, }, ], ); assert.deepEqual( ops2.map((it) => { return { type: it.type, from: it.from, to: it.to, value: it.value }; }), [ { type: 'tree-style', from: 0, to: 1, value: { attributes: { bold: 'false' } }, }, ], ); }, task.name); }); }); function subscribeDocs( d1: Document<{ t: Tree }>, d2: Document<{ t: Tree }>, ): [ Array, Array, ] { const ops1: Array = []; const ops2: Array = []; d1.subscribe('$.t', (event) => { ops1.push(...event.value.operations); }); d2.subscribe('$.t', (event) => { ops2.push(...event.value.operations); }); return [ops1, ops2]; } // Helper functions for TreeLWW tests function findNodesByType( doc: Document<{ t: Tree }>, nodeTypes: Array<{ type: string; value?: string; parentType?: string; key?: string; }>, ): Map { const nodes = new Map(); doc .getRoot() .t.getIndexTree() .traverseAll((node) => { for (const { type, value, parentType, key: customKey } of nodeTypes) { // Use custom key if provided, otherwise generate based on type/value/parent let key: string; if (customKey) { key = customKey; } else if (value) { key = `${type}-${value}`; } else if (parentType) { key = `${type}-parent-${parentType}`; } else { key = type; } if (node.type === type) { if (value && node.value !== value) continue; if (parentType && node.parent?.type !== parentType) continue; if (!nodes.has(key)) { nodes.set(key, node); } } } }); return nodes; } function assertNodesRemoved( nodes: Map, expectations: Array<{ key: string; shouldBeRemoved: boolean; }>, ): void { for (const { key, shouldBeRemoved } of expectations) { const node = nodes.get(key); if (shouldBeRemoved) { assert.isTrue(!!node?.removedAt, `${key} should be removed`); } else { assert.isFalse(!!node?.removedAt, `${key} should not be removed`); } } } function assertSameRemovedAt( baseNode: CRDTTreeNode, nodes: Map, keys: Array, ): void { const baseRemovedAt = baseNode.removedAt!; for (const key of keys) { const node = nodes.get(key); assert.isTrue( baseRemovedAt.compare(node!.removedAt!) === 0, `${key} should have same removedAt`, ); } } function assertTreesMatch( d1: Document<{ t: Tree }>, d2: Document<{ t: Tree }>, expectedXML?: string, ): void { assert.equal(d1.getRoot().t.toXML(), d2.getRoot().t.toXML()); if (expectedXML) { assert.equal(d1.getRoot().t.toXML(), expectedXML); } } describe('TreeLWW', () => { it('causal deletion preserves original timestamps', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'root', children: [ { type: 'p', children: [ { type: 'b', children: [{ type: 'text', value: 'ab' }] }, { type: 'i', children: [{ type: 'text', value: 'cd' }] }, { type: 'a', children: [{ type: 'text', value: 'ef' }] }, ], }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), d2.getRoot().t.toXML()); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    abcdef

    `, ); // First deletion by c1 d1.update( (r) => r.t.edit(5, 9, undefined, 0), 'first deletion cd by c1', ); await c1.sync(); await c2.sync(); await c1.sync(); assertTreesMatch( d1, d2, /*html*/ `

    abef

    `, ); // Second deletion by c2 (causal deletion) d2.update( (r) => r.t.edit(1, 9, undefined, 0), 'second deletion abef by c2', ); await c1.sync(); await c2.sync(); await c1.sync(); // Find nodes in both documents const nodes1 = findNodesByType(d1, [ { type: 'b' }, { type: 'i' }, { type: 'a' }, ]); const nodes2 = findNodesByType(d2, [ { type: 'b' }, { type: 'i' }, { type: 'a' }, ]); // Verify nodes exist assert.isTrue(!!nodes1.get('b')); assert.isFalse(!!nodes1.get('i')); assert.isTrue(!!nodes1.get('a')); assert.isTrue(!!nodes2.get('b')); assert.isFalse(!!nodes2.get('i')); assert.isTrue(!!nodes2.get('a')); // Verify all remaining nodes are removed const bNode2 = nodes2.get('b')!; const aNode2 = nodes2.get('a')!; assertNodesRemoved(nodes2, [ { key: 'b', shouldBeRemoved: true }, { key: 'a', shouldBeRemoved: true }, ]); // Causal deletion should preserve original timestamps assert.isFalse(bNode2.removedAt!.after(aNode2.removedAt!)); assertTreesMatch(d1, d2, /*html*/ `

    `); }, task.name); }); it('concurrent deletion test for LWW behavior - same level complete inclusion (larger range later)', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'root', children: [ { type: 'p', children: [ { type: 'b', children: [{ type: 'text', value: 'ab' }] }, { type: 'i', children: [{ type: 'text', value: 'cd' }] }, { type: 'a', children: [{ type: 'text', value: 'ef' }] }, ], }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), d2.getRoot().t.toXML()); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    abcdef

    `, ); // c1 deletes i node (smaller range first) d1.update( (r) => r.t.edit(5, 9, undefined, 0), 'first deletion cd by c1', ); // c2 deletes all nodes (larger range later) d2.update( (r) => r.t.edit(1, 13, undefined, 0), 'second deletion abcdef by c2', ); // After sync, c1 and c2 should have same tree await c1.sync(); await c2.sync(); await c1.sync(); // Find all nodes in both documents const nodes1 = findNodesByType(d1, [ { type: 'b' }, { type: 'i' }, { type: 'a' }, { type: 'text', value: 'ab' }, { type: 'text', value: 'cd' }, { type: 'text', value: 'ef' }, ]); const nodes2 = findNodesByType(d2, [ { type: 'b' }, { type: 'i' }, { type: 'a' }, { type: 'text', value: 'ab' }, { type: 'text', value: 'cd' }, { type: 'text', value: 'ef' }, ]); // Verify all nodes are removed in both documents assertNodesRemoved(nodes1, [ { key: 'b', shouldBeRemoved: true }, { key: 'i', shouldBeRemoved: true }, { key: 'a', shouldBeRemoved: true }, { key: 'text-ab', shouldBeRemoved: true }, { key: 'text-cd', shouldBeRemoved: true }, { key: 'text-ef', shouldBeRemoved: true }, ]); assertNodesRemoved(nodes2, [ { key: 'b', shouldBeRemoved: true }, { key: 'i', shouldBeRemoved: true }, { key: 'a', shouldBeRemoved: true }, { key: 'text-ab', shouldBeRemoved: true }, { key: 'text-cd', shouldBeRemoved: true }, { key: 'text-ef', shouldBeRemoved: true }, ]); // LWW: larger range (c2) wins, so all nodes should have same removedAt const bNode1 = nodes1.get('b')!; assertSameRemovedAt(bNode1, nodes1, [ 'i', 'a', 'text-ab', 'text-cd', 'text-ef', ]); assertSameRemovedAt(bNode1, nodes2, [ 'b', 'i', 'a', 'text-ab', 'text-cd', 'text-ef', ]); assertTreesMatch(d1, d2, /*html*/ '

    '); }, task.name); }); it('concurrent deletion test for LWW behavior - same level complete inclusion (smaller range later)', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'root', children: [ { type: 'p', children: [ { type: 'b', children: [{ type: 'text', value: 'ab' }] }, { type: 'i', children: [{ type: 'text', value: 'cd' }] }, { type: 'a', children: [{ type: 'text', value: 'ef' }] }, ], }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), d2.getRoot().t.toXML()); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    abcdef

    `, ); // c1 deletes all nodes (larger range first) d1.update((root) => { root.t.edit(1, 13, undefined, 0); }, 'first deletion abcdef by c1'); // c2 deletes i node (smaller range later) d2.update((root) => { root.t.edit(5, 9, undefined, 0); }, 'second deletion cd by c2'); // After sync, c1 and c2 should have same tree await c1.sync(); await c2.sync(); await c1.sync(); // Find all nodes in both documents const nodes1 = findNodesByType(d1, [ { type: 'b' }, { type: 'i' }, { type: 'a' }, { type: 'text', value: 'ab' }, { type: 'text', value: 'cd' }, { type: 'text', value: 'ef' }, ]); const nodes2 = findNodesByType(d2, [ { type: 'b' }, { type: 'i' }, { type: 'a' }, { type: 'text', value: 'ab' }, { type: 'text', value: 'cd' }, { type: 'text', value: 'ef' }, ]); // Verify all nodes are removed assertNodesRemoved(nodes1, [ { key: 'b', shouldBeRemoved: true }, { key: 'i', shouldBeRemoved: true }, { key: 'a', shouldBeRemoved: true }, { key: 'text-ab', shouldBeRemoved: true }, { key: 'text-cd', shouldBeRemoved: true }, { key: 'text-ef', shouldBeRemoved: true }, ]); assertNodesRemoved(nodes2, [ { key: 'b', shouldBeRemoved: true }, { key: 'i', shouldBeRemoved: true }, { key: 'a', shouldBeRemoved: true }, { key: 'text-ab', shouldBeRemoved: true }, { key: 'text-cd', shouldBeRemoved: true }, { key: 'text-ef', shouldBeRemoved: true }, ]); // Smaller range (c2) is deleted later, so it doesn't trigger LWW for non-overlapping nodes const bNode1 = nodes1.get('b')!; const iNode1 = nodes1.get('i')!; const earlierExpectedRemovedAt = bNode1.removedAt!; const laterExpectedRemovedAt = iNode1.removedAt!; assert.isTrue( laterExpectedRemovedAt.after(earlierExpectedRemovedAt), 'c1 i node removedAt should be after c1 b node removedAt', ); // Nodes deleted by c2 (smaller range) should have later timestamp assertSameRemovedAt(iNode1, nodes1, ['text-cd']); assertSameRemovedAt(iNode1, nodes2, ['i', 'text-cd']); // Nodes deleted by c1 but not in c2's range should have earlier timestamp assertSameRemovedAt(bNode1, nodes1, ['a', 'text-ab', 'text-ef']); assertSameRemovedAt(bNode1, nodes2, ['b', 'a', 'text-ab', 'text-ef']); assertTreesMatch(d1, d2, /*html*/ '

    '); }, task.name); }); it('concurrent deletion test for LWW behavior - same level partial overlap', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'root', children: [ { type: 'p', children: [ { type: 'b', children: [{ type: 'text', value: 'ab' }] }, { type: 'i', children: [{ type: 'text', value: 'cd' }] }, { type: 'a', children: [{ type: 'text', value: 'ef' }] }, ], }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), d2.getRoot().t.toXML()); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    abcdef

    `, ); // c1 deletes b and i nodes d1.update((root) => { root.t.edit(1, 9, undefined, 0); }, 'first deletion abcd by c1'); // c2 deletes i and a nodes (partial overlap) d2.update((root) => { root.t.edit(5, 13, undefined, 0); }, 'second deletion cdef by c2'); await c1.sync(); await c2.sync(); await c1.sync(); // Find all nodes in both documents const nodes1 = findNodesByType(d1, [ { type: 'b' }, { type: 'i' }, { type: 'a' }, { type: 'text', value: 'ab' }, { type: 'text', value: 'cd' }, { type: 'text', value: 'ef' }, ]); const nodes2 = findNodesByType(d2, [ { type: 'b' }, { type: 'i' }, { type: 'a' }, { type: 'text', value: 'ab' }, { type: 'text', value: 'cd' }, { type: 'text', value: 'ef' }, ]); // Verify all nodes are removed assertNodesRemoved(nodes1, [ { key: 'b', shouldBeRemoved: true }, { key: 'i', shouldBeRemoved: true }, { key: 'a', shouldBeRemoved: true }, { key: 'text-ab', shouldBeRemoved: true }, { key: 'text-cd', shouldBeRemoved: true }, { key: 'text-ef', shouldBeRemoved: true }, ]); assertNodesRemoved(nodes2, [ { key: 'b', shouldBeRemoved: true }, { key: 'i', shouldBeRemoved: true }, { key: 'a', shouldBeRemoved: true }, { key: 'text-ab', shouldBeRemoved: true }, { key: 'text-cd', shouldBeRemoved: true }, { key: 'text-ef', shouldBeRemoved: true }, ]); // Partial overlap: overlapping node (i) gets later timestamp, non-overlapping keep their original const bNode1 = nodes1.get('b')!; const iNode1 = nodes1.get('i')!; const earlierExpectedRemovedAt = bNode1.removedAt!; const laterExpectedRemovedAt = iNode1.removedAt!; assert.isTrue( laterExpectedRemovedAt.after(earlierExpectedRemovedAt), 'c1 i node removedAt should be after c1 b node removedAt', ); // Nodes in c2's range get later timestamp assertSameRemovedAt(iNode1, nodes1, ['a', 'text-cd', 'text-ef']); assertSameRemovedAt(iNode1, nodes2, ['i', 'a', 'text-cd', 'text-ef']); // Nodes not in c2's range keep earlier timestamp assertSameRemovedAt(bNode1, nodes1, ['text-ab']); assertSameRemovedAt(bNode1, nodes2, ['b', 'text-ab']); assertTreesMatch(d1, d2, /*html*/ '

    '); }, task.name); }); it('concurrent deletion test for LWW behavior - ancestor descendant (ancestor later)', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'root', children: [ { type: 'p', children: [ { type: 'p', children: [ { type: 'b', children: [{ type: 'text', value: 'ab' }] }, ], }, { type: 'i', children: [{ type: 'text', value: 'cd' }] }, { type: 'a', children: [{ type: 'text', value: 'ef' }] }, ], }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), d2.getRoot().t.toXML()); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    ab

    cdef

    `, ); // c1 deletes inner ab (descendant first) d1.update((root) => { root.t.edit(2, 6, undefined, 0); }, 'first deletion inner ab by c1'); // c2 deletes outer

    (ancestor later) d2.update((root) => { root.t.edit(1, 11, undefined, 0); }, 'second deletion outer

    ab

    cd by c2'); // After sync, c1 and c2 should have same tree await c1.sync(); await c2.sync(); await c1.sync(); // Find nodes with specific parent types using custom keys const nodes1 = findNodesByType(d1, [ { type: 'p', parentType: 'root', key: 'outerP' }, { type: 'p', parentType: 'p', key: 'innerP' }, { type: 'b' }, { type: 'i' }, { type: 'a' }, ]); const nodes2 = findNodesByType(d2, [ { type: 'p', parentType: 'root', key: 'outerP' }, { type: 'p', parentType: 'p', key: 'innerP' }, { type: 'b' }, { type: 'i' }, { type: 'a' }, ]); // Verify removal status (outer p should not be removed, others should be) assertNodesRemoved(nodes1, [ { key: 'outerP', shouldBeRemoved: false }, { key: 'innerP', shouldBeRemoved: true }, { key: 'b', shouldBeRemoved: true }, { key: 'i', shouldBeRemoved: true }, { key: 'a', shouldBeRemoved: false }, ]); assertNodesRemoved(nodes2, [ { key: 'outerP', shouldBeRemoved: false }, { key: 'innerP', shouldBeRemoved: true }, { key: 'b', shouldBeRemoved: true }, { key: 'i', shouldBeRemoved: true }, { key: 'a', shouldBeRemoved: false }, ]); // Ancestor deletion (c2) wins, so all deleted nodes have same removedAt const innerPNode1 = nodes1.get('innerP')!; assertSameRemovedAt(innerPNode1, nodes1, ['b', 'i']); assertSameRemovedAt(innerPNode1, nodes2, ['innerP', 'b', 'i']); assertTreesMatch(d1, d2, /*html*/ '

    ef

    '); }, task.name); }); it('concurrent deletion test for LWW behavior - ancestor descendant (descendant later)', async function ({ task, }) { await withTwoClientsAndDocuments<{ t: Tree }>(async (c1, d1, c2, d2) => { d1.update((root) => { root.t = new Tree({ type: 'root', children: [ { type: 'p', children: [ { type: 'p', children: [ { type: 'b', children: [{ type: 'text', value: 'ab' }] }, ], }, { type: 'i', children: [{ type: 'text', value: 'cd' }] }, { type: 'a', children: [{ type: 'text', value: 'ef' }] }, ], }, ], }); }); await c1.sync(); await c2.sync(); assert.equal(d1.getRoot().t.toXML(), d2.getRoot().t.toXML()); assert.equal( d1.getRoot().t.toXML(), /*html*/ `

    ab

    cdef

    `, ); // c1 deletes

    ab

    cd (ancestor first) d1.update((root) => { root.t.edit(1, 11, undefined, 0); }, 'first deletion

    ab

    cd by c1'); // c2 deletes inner ab (descendant later) d2.update((root) => { root.t.edit(2, 6, undefined, 0); }, 'second deletion ab by c2'); // Sync and verify LWW behavior await c1.sync(); await c2.sync(); await c1.sync(); // Find nodes with custom keys const nodes1 = findNodesByType(d1, [ { type: 'p', parentType: 'root', key: 'outerP' }, { type: 'p', parentType: 'p', key: 'innerP' }, { type: 'b' }, { type: 'i' }, { type: 'a' }, ]); const nodes2 = findNodesByType(d2, [ { type: 'p', parentType: 'root', key: 'outerP' }, { type: 'p', parentType: 'p', key: 'innerP' }, { type: 'b' }, { type: 'i' }, { type: 'a' }, ]); // Verify removal status assertNodesRemoved(nodes1, [ { key: 'outerP', shouldBeRemoved: false }, { key: 'innerP', shouldBeRemoved: true }, { key: 'b', shouldBeRemoved: true }, { key: 'i', shouldBeRemoved: true }, { key: 'a', shouldBeRemoved: false }, ]); assertNodesRemoved(nodes2, [ { key: 'outerP', shouldBeRemoved: false }, { key: 'innerP', shouldBeRemoved: true }, { key: 'b', shouldBeRemoved: true }, { key: 'i', shouldBeRemoved: true }, { key: 'a', shouldBeRemoved: false }, ]); // Ancestor deletion (c1) happens first, descendant deletion (c2) later // So b node has later timestamp, but inner p and i have earlier timestamp const innerPNode1 = nodes1.get('innerP')!; const innerPNode2 = nodes2.get('innerP')!; const bNode1 = nodes1.get('b')!; const earlierExpectedRemovedAt = innerPNode1.removedAt!; const laterExpectedRemovedAt = bNode1.removedAt!; assert.isTrue( laterExpectedRemovedAt.after(earlierExpectedRemovedAt), 'c1 b node removedAt should be after c1 inner p node removedAt', ); // Nodes in ancestor deletion range have earlier timestamp assertSameRemovedAt(innerPNode1, nodes1, ['i']); assert.isTrue( earlierExpectedRemovedAt.compare(innerPNode2.removedAt!) === 0, 'c2 inner p node should have earlier removedAt', ); assertSameRemovedAt(innerPNode1, nodes2, ['innerP', 'i']); // Descendant node has later timestamp assertSameRemovedAt(bNode1, nodes2, ['b']); assertTreesMatch(d1, d2, /*html*/ '

    ef

    '); }, task.name); }); }); ================================================ FILE: packages/sdk/test/integration/webhook_test.ts ================================================ /* * Copyright 2024 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { describe, it, vi, beforeAll, afterAll, expect } from 'vitest'; import yorkie, { SyncMode, DocSyncStatus, DocEventType, Channel, } from '@yorkie-js/sdk/src/yorkie'; import { assertThrowsAsync, EventCollector, } from '@yorkie-js/sdk/test/helper/helper'; import { toDocKey, testRPCAddr, testAPIID, testAPIPW, webhookAddr, } from '@yorkie-js/sdk/test/integration/integration_helper'; import { ConnectError } from '@connectrpc/connect'; import axios from 'axios'; import express from 'express'; /** * `waitForAttached` blocks until the channel's first RefreshChannel heartbeat * has flipped status to Attached. */ async function waitForAttached( channel: Channel, { timeout = 8000 } = {}, ): Promise { const deadline = Date.now() + timeout; while (!channel.isAttached() || !channel.getSessionID()) { if (Date.now() > deadline) { throw new Error( `waitForAttached: ${channel.getKey()} did not attach (status=${channel.getStatus()})`, ); } await new Promise((r) => setTimeout(r, 50)); } } const webhookServer = express(); const webhookServerPort = 3004; let webhookServerInstance: any; let webhookServerAddress: string; let apiKey: string; let adminToken: string; const AllAuthWebhookMethods = [ 'ActivateClient', 'DeactivateClient', 'AttachDocument', 'DetachDocument', 'RemoveDocument', 'PushPull', 'Watch', 'Broadcast', ]; const InvalidTokenErrorMessage = 'invalid token'; const ExpiredTokenErrorMessage = 'expired token'; const NotAllowedToken = 'not-allowed-token'; webhookServer.post('/auth-webhook', express.json(), (req, res) => { const authToken = req.body.token; // valid token if (authToken.startsWith('token')) { const expireTime = authToken.split('-')[1]; if (Number(expireTime) < Date.now()) { res.status(401).send({ allowed: false, reason: ExpiredTokenErrorMessage, }); return; } res.status(200).send({ allowed: true, }); return; } if (authToken === NotAllowedToken) { res.status(403).send({ allowed: false, }); return; } // invalid token res.status(401).send({ allowed: false, reason: InvalidTokenErrorMessage, }); }); describe('Auth Webhook', () => { beforeAll(async () => { // Start webhook server webhookServerInstance = webhookServer.listen(webhookServerPort, () => { const addr = webhookServerInstance.address(); webhookServerAddress = webhookAddr || addr.address; }); // Login to yorkie const loginResponse = await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/LogIn`, { username: testAPIID, password: testAPIPW }, ); adminToken = loginResponse.data.token; // Create project const projectResponse = await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/CreateProject`, { name: `auth-webhook-${new Date().getTime()}` }, { headers: { Authorization: `Bearer ${adminToken}` } }, ); const projectId = projectResponse.data.project.id; apiKey = projectResponse.data.project.publicKey; // Update project with webhook url. // max_retries=0 and request_timeout=1s keep failing webhook calls // fast when the container cannot reach the host webhook server, // so the suite does not hang on the server's ~60s default retry // budget. await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/UpdateProject`, { id: projectId, fields: { auth_webhook_url: `http://${webhookServerAddress}:${webhookServerPort}/auth-webhook`, auth_webhook_methods: { methods: AllAuthWebhookMethods }, auth_webhook_max_retries: 0, auth_webhook_request_timeout: '1s', }, }, { headers: { Authorization: `Bearer ${adminToken}` } }, ); }); afterAll(() => { if (webhookServerInstance) { webhookServerInstance.close(); } }); it('should successfully authorize with valid token(200)', async ({ task, }) => { // client with token const c1 = new yorkie.Client({ rpcAddr: testRPCAddr, apiKey, authTokenInjector: async () => { return `token-${Date.now() + 1000 * 60 * 60}`; // expire in 1 hour }, }); const c2 = new yorkie.Client({ rpcAddr: testRPCAddr, apiKey, authTokenInjector: async () => { return `token-${Date.now() + 1000 * 60 * 60}`; // expire in 1 hour }, }); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); await c1.activate(); await c2.activate(); const doc1 = new yorkie.Document<{ k1: string }>(docKey); const doc2 = new yorkie.Document<{ k1: string }>(docKey); await c1.attach(doc1); await c2.attach(doc2); const channelKey = `presence-${docKey}`; const ch1 = new yorkie.Channel(channelKey); const ch2 = new yorkie.Channel(channelKey); await c1.attach(ch1); await c2.attach(ch2); await waitForAttached(ch1); await waitForAttached(ch2); const eventCollector = new EventCollector(); const topic = 'test'; const payload = 'data'; const unsubscribe = ch2.subscribe((event) => { if (event.type === 'broadcast' && event.topic === topic) { eventCollector.add(event.payload as string); } }); ch1.broadcast(topic, payload); await eventCollector.waitAndVerifyNthEvent(1, payload); doc1.update((root) => { root.k1 = 'v1'; }); await c1.sync(doc1); await c2.sync(doc2); expect(doc2.toSortedJSON()).toBe('{"k1":"v1"}'); await c1.detach(ch1); await c2.detach(ch2); await c1.detach(doc1); await c2.remove(doc2); unsubscribe(); await c1.deactivate(); await c2.deactivate(); // 60s: every RPC pays an extra round trip to the auth webhook on top of // istanbul coverage overhead; the test exercises ~12 RPCs end-to-end. }, 60000); it('should return unauthenticated error for client with empty token (401)', async () => { // client without token const cliWithoutToken = new yorkie.Client({ rpcAddr: testRPCAddr, apiKey, }); await assertThrowsAsync( async () => { await cliWithoutToken.activate(); }, ConnectError, /^\[unauthenticated\]/i, ); }); it('should return unauthenticated error for client with invalid token (401)', async () => { // client with invalid token const invalidTokenInjector = vi.fn(async () => { return 'invalid-token'; }); const cliWithInvalidToken = new yorkie.Client({ rpcAddr: testRPCAddr, apiKey, authTokenInjector: invalidTokenInjector, }); await assertThrowsAsync( async () => { await cliWithInvalidToken.activate(); }, ConnectError, /^\[unauthenticated\]/i, ); }); it('should return permission denied error for client with not allowed token (403)', async () => { // client with not allowed token const notAllowedTokenInjector = vi.fn(async () => { return NotAllowedToken; }); const cliNotAllowed = new yorkie.Client({ rpcAddr: testRPCAddr, apiKey, authTokenInjector: notAllowedTokenInjector, }); await assertThrowsAsync( async () => { await cliNotAllowed.activate(); }, ConnectError, /^\[permission_denied\]/i, ); expect(notAllowedTokenInjector).toBeCalledTimes(1); expect(notAllowedTokenInjector).nthCalledWith(1); }); it('should refresh token when unauthenticated error occurs (in manual sync)', async ({ task, }) => { const TokenExpirationMs = 500; const authTokenInjector = vi.fn(async (reason) => { if ( reason === ExpiredTokenErrorMessage || authTokenInjector.mock.calls.length === 3 ) { return `token-${Date.now() + TokenExpirationMs}`; } return `token-${Date.now() - TokenExpirationMs}`; // token expired }); // client with token const client = new yorkie.Client({ rpcAddr: testRPCAddr, apiKey, authTokenInjector, }); await assertThrowsAsync( async () => { await client.activate(); }, ConnectError, /^\[unauthenticated\]/i, ); expect(authTokenInjector).toBeCalledTimes(2); expect(authTokenInjector).nthCalledWith(1); expect(authTokenInjector).nthCalledWith(2, ExpiredTokenErrorMessage); // retry activate await client.activate(); expect(authTokenInjector).nthCalledWith(3); expect(authTokenInjector).nthCalledWith(3); const doc = new yorkie.Document<{ k1: string }>( toDocKey(`${task.name}-${new Date().getTime()}`), ); await new Promise((res) => setTimeout(res, TokenExpirationMs)); await assertThrowsAsync( async () => { await client.attach(doc, { syncMode: SyncMode.Manual }); }, ConnectError, /^\[unauthenticated\]/i, ); expect(authTokenInjector).toBeCalledTimes(4); expect(authTokenInjector).nthCalledWith(4, ExpiredTokenErrorMessage); // retry attach await client.attach(doc, { syncMode: SyncMode.Manual }); doc.update((root) => { root.k1 = 'v1'; }); await new Promise((res) => setTimeout(res, TokenExpirationMs)); await assertThrowsAsync( async () => { await client.sync(doc); }, ConnectError, /^\[unauthenticated\]/i, ); expect(authTokenInjector).toBeCalledTimes(5); expect(authTokenInjector).nthCalledWith(5, ExpiredTokenErrorMessage); // retry sync in manual mode await client.sync(doc); await new Promise((res) => setTimeout(res, TokenExpirationMs)); await assertThrowsAsync( async () => { await client.detach(doc); }, ConnectError, /^\[unauthenticated\]/i, ); expect(authTokenInjector).toBeCalledTimes(6); expect(authTokenInjector).nthCalledWith(6, ExpiredTokenErrorMessage); // retry detach await client.detach(doc); await new Promise((res) => setTimeout(res, TokenExpirationMs)); await assertThrowsAsync( async () => { await client.deactivate(); }, ConnectError, /^\[unauthenticated\]/i, ); expect(authTokenInjector).toBeCalledTimes(7); expect(authTokenInjector).nthCalledWith(7, ExpiredTokenErrorMessage); // retry deactivate await client.deactivate(); }); it('should refresh token when unauthenticated error occurs (RemoveDocument)', async ({ task, }) => { // Create New project const projectResponse = await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/CreateProject`, { name: `auth-webhook-${new Date().getTime()}` }, { headers: { Authorization: `Bearer ${adminToken}` } }, ); const projectId = projectResponse.data.project.id; apiKey = projectResponse.data.project.publicKey; // Update project with webhook url and methods await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/UpdateProject`, { id: projectId, fields: { auth_webhook_url: `http://${webhookServerAddress}:${webhookServerPort}/auth-webhook`, auth_webhook_methods: { methods: ['RemoveDocument'] }, auth_webhook_max_retries: 0, auth_webhook_request_timeout: '1s', }, }, { headers: { Authorization: `Bearer ${adminToken}` } }, ); const TokenExpirationMs = 500; const authTokenInjector = vi.fn(async (reason) => { if (reason === ExpiredTokenErrorMessage) { return `token-${Date.now() + TokenExpirationMs}`; } return `token-${Date.now() - TokenExpirationMs}`; // token expired }); // client with token const client = new yorkie.Client({ rpcAddr: testRPCAddr, apiKey, authTokenInjector, }); await client.activate(); const doc = new yorkie.Document<{ k1: string }>( toDocKey(`${task.name}-${new Date().getTime()}`), ); await client.attach(doc, { syncMode: SyncMode.Manual }); await new Promise((res) => setTimeout(res, TokenExpirationMs)); await assertThrowsAsync( async () => { await client.remove(doc); }, ConnectError, /^\[unauthenticated\]/i, ); expect(authTokenInjector).toBeCalledTimes(2); expect(authTokenInjector).nthCalledWith(1); expect(authTokenInjector).nthCalledWith(2, ExpiredTokenErrorMessage); // retry remove document await client.remove(doc); await client.deactivate(); }); it('should refresh token and retry realtime sync', async ({ task }) => { // Create New project const projectResponse = await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/CreateProject`, { name: `auth-webhook-${new Date().getTime()}` }, { headers: { Authorization: `Bearer ${adminToken}` } }, ); const projectId = projectResponse.data.project.id; apiKey = projectResponse.data.project.publicKey; // Update project with webhook url and methods await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/UpdateProject`, { id: projectId, fields: { auth_webhook_url: `http://${webhookServerAddress}:${webhookServerPort}/auth-webhook`, auth_webhook_methods: { methods: ['PushPull'] }, auth_webhook_max_retries: 0, auth_webhook_request_timeout: '1s', }, }, { headers: { Authorization: `Bearer ${adminToken}` } }, ); const TokenExpirationMs = 500; const authTokenInjector = vi.fn(async (reason) => { if (reason === ExpiredTokenErrorMessage) { return `token-${Date.now() + TokenExpirationMs}`; } return `token-${Date.now()}`; }); // client with token const client = new yorkie.Client({ rpcAddr: testRPCAddr, apiKey, authTokenInjector, retrySyncLoopDelay: 100, }); await client.activate(); const doc = new yorkie.Document<{ k1: string }>( toDocKey(`${task.name}-${new Date().getTime()}`), ); await client.attach(doc); // retry realtime sync await new Promise((res) => setTimeout(res, TokenExpirationMs)); const syncEventCollector = new EventCollector(); doc.subscribe('sync', (event) => { syncEventCollector.add(event.value); }); const authErrorEventCollector = new EventCollector<{ reason: string; method: string; }>(); doc.subscribe('auth-error', (event) => { authErrorEventCollector.add(event.value); }); doc.update((root) => { root.k1 = 'v1'; }); expect(authTokenInjector).toBeCalledTimes(2); expect(authTokenInjector).nthCalledWith(1); expect(authTokenInjector).nthCalledWith(2, ExpiredTokenErrorMessage); await client.detach(doc); await client.deactivate(); }); it('should refresh token and retry watch document', async ({ task }) => { // Create New project const projectResponse = await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/CreateProject`, { name: `auth-webhook-${new Date().getTime()}` }, { headers: { Authorization: `Bearer ${adminToken}` } }, ); const projectId = projectResponse.data.project.id; apiKey = projectResponse.data.project.publicKey; // Update project with webhook url and methods await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/UpdateProject`, { id: projectId, fields: { auth_webhook_url: `http://${webhookServerAddress}:${webhookServerPort}/auth-webhook`, auth_webhook_methods: { methods: ['Watch'] }, auth_webhook_max_retries: 0, auth_webhook_request_timeout: '1s', }, }, { headers: { Authorization: `Bearer ${adminToken}` } }, ); const TokenExpirationMs = 500; const authTokenInjector = vi.fn(async (reason) => { if (reason === ExpiredTokenErrorMessage) { return `token-${Date.now() + TokenExpirationMs}`; } return `token-${Date.now()}`; }); // client with token const c1 = new yorkie.Client({ rpcAddr: testRPCAddr, apiKey, authTokenInjector, reconnectStreamDelay: 100, }); await c1.activate(); const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ k1: string }>(docKey); const authErrorEventCollector = new EventCollector<{ reason: string; method: string; }>(); doc.subscribe('auth-error', (event) => { authErrorEventCollector.add(event.value); }); // Another client for verifying if the watchDocument is working properly const client2 = new yorkie.Client({ rpcAddr: testRPCAddr, apiKey, authTokenInjector: async () => { return `token-${Date.now() + 1000 * 60 * 60}`; // expire in 1 hour }, }); await client2.activate(); const doc2 = new yorkie.Document<{ k1: string }>(docKey); await client2.attach(doc2); const presenceEventCollector = new EventCollector(); doc2.subscribe('presence', (event) => { presenceEventCollector.add(event.type); }); // retry watch document await new Promise((res) => setTimeout(res, TokenExpirationMs)); await c1.attach(doc); await authErrorEventCollector.waitFor({ reason: ExpiredTokenErrorMessage, method: 'Watch', }); expect(authTokenInjector).toBeCalledTimes(2); expect(authTokenInjector).nthCalledWith(1); expect(authTokenInjector).nthCalledWith(2, ExpiredTokenErrorMessage); await presenceEventCollector.waitFor(DocEventType.Watched); const syncEventCollector = new EventCollector(); doc.subscribe('sync', (event) => { syncEventCollector.add(event.value); }); doc2.update((root) => { root.k1 = 'v1'; }); await syncEventCollector.waitFor(DocSyncStatus.Synced); expect(doc.getRoot().k1).toBe('v1'); await c1.detach(doc); await c1.deactivate(); }); it('should refresh token and retry broadcast', async ({ task }) => { // Create New project const projectResponse = await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/CreateProject`, { name: `auth-webhook-${new Date().getTime()}` }, { headers: { Authorization: `Bearer ${adminToken}` } }, ); const projectId = projectResponse.data.project.id; apiKey = projectResponse.data.project.publicKey; // Update project with webhook url and methods await axios.post( `${testRPCAddr}/yorkie.v1.AdminService/UpdateProject`, { id: projectId, fields: { auth_webhook_url: `http://${webhookServerAddress}:${webhookServerPort}/auth-webhook`, auth_webhook_methods: { methods: ['Broadcast'] }, auth_webhook_max_retries: 0, auth_webhook_request_timeout: '1s', }, }, { headers: { Authorization: `Bearer ${adminToken}` } }, ); const TokenExpirationMs = 1500; // Set higher than DefaultBroadcastOptions.initialRetryInterval (1000ms) const authTokenInjector = vi.fn(async (reason) => { if (reason === ExpiredTokenErrorMessage) { return `token-${Date.now() + TokenExpirationMs}`; } return `token-${Date.now()}`; }); // client with token const c1 = new yorkie.Client({ rpcAddr: testRPCAddr, apiKey, authTokenInjector, reconnectStreamDelay: 100, }); await c1.activate(); const channelKey = toDocKey(`${task.name}-${new Date().getTime()}`); const ch1 = new yorkie.Channel(channelKey); await c1.attach(ch1); const collector1 = new EventCollector<{ reason: string; method: string }>(); ch1.subscribe((event) => { if (event.type === 'auth-error') { collector1.add({ reason: event.reason, method: event.method }); } }); // Another client for verifying if the broadcast is working properly const c2 = new yorkie.Client({ rpcAddr: testRPCAddr, apiKey, authTokenInjector: async () => { return `token-${Date.now() + 1000 * 60 * 60}`; // expire in 1 hour }, }); await c2.activate(); const ch2 = new yorkie.Channel(channelKey); await c2.attach(ch2); await waitForAttached(ch1); await waitForAttached(ch2); const collector2 = new EventCollector(); const topic = 'test'; const payload = 'data'; const unsub2 = ch2.subscribe((event) => { if (event.type === 'broadcast' && event.topic === topic) { collector2.add(event.payload as string); } }); // retry broadcast await new Promise((res) => setTimeout(res, TokenExpirationMs)); ch1.broadcast(topic, payload); await collector2.waitAndVerifyNthEvent(1, payload); await collector1.waitFor({ reason: ExpiredTokenErrorMessage, method: 'Broadcast', }); expect(authTokenInjector).toBeCalledTimes(2); expect(authTokenInjector).nthCalledWith(1); expect(authTokenInjector).nthCalledWith(2, ExpiredTokenErrorMessage); unsub2(); await c1.detach(ch1); await c2.detach(ch2); await c1.deactivate(); await c2.deactivate(); }, 15000); }); ================================================ FILE: packages/sdk/test/unit/api/converter_test.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { describe, it, assert } from 'vitest'; import { Document } from '@yorkie-js/sdk/src/document/document'; import { converter } from '@yorkie-js/sdk/src/api/converter'; import { Counter, Primitive, Text, Tree } from '@yorkie-js/sdk/src/yorkie'; import { CRDTRoot } from '@yorkie-js/sdk/src/document/crdt/root'; import { CRDTTree, CRDTTreeNode } from '@yorkie-js/sdk/src/document/crdt/tree'; describe('Converter', function () { it('should encode/decode bytes', function () { const doc = new Document<{ k1: { ['k1-1']: boolean; ['k1-2']: number; ['k1-5']: string; }; k2: Array; k3: Text<{ bold?: boolean; indent?: number; italic?: boolean | null; color?: string; }>; k4: Counter; }>('test-doc'); doc.update((root) => { root.k1 = { 'k1-1': true, 'k1-2': 2147483647, // 'k1-3': yorkie.Long.fromString('9223372036854775807'), // 'k1-4': 1.79, 'k1-5': '4', // 'k6': new Uint8Array([65,66]), // 'k7': new Date(), }; root.k2 = [ true, 2147483647, // yorkie.Long.fromString('9223372036854775807'), // 1.79, '4', // new Uint8Array([65,66]), // new Date(), ]; root.k3 = new Text(); root.k3.edit(0, 0, 'ㅎ'); root.k3.edit(0, 1, '하'); root.k3.edit(0, 1, '한'); root.k3.edit(0, 1, '하'); root.k3.edit(1, 1, '느'); root.k3.edit(1, 2, '늘'); root.k3.setStyle(0, 2, { bold: true, indent: 2, italic: false, color: 'red', }); root.k4 = new Counter(0); root.k4.increase(1).increase(2).increase(3); }); const bytes = converter.objectToBytes(doc.getRootObject()); const obj = converter.bytesToObject(bytes); assert.equal(doc.toSortedJSON(), obj.toSortedJSON()); }); it('convert hex string <-> byte array', function () { const hexString = '0123456789abcdef01234567'; const bytes = converter.toUint8Array(hexString); assert.equal(bytes.length, 12); assert.equal(converter.toHexString(bytes), hexString); }); it('should encode and decode tree properly', function () { const doc = new Document<{ tree: Tree; }>('test-doc'); doc.update((root) => { root.tree = new Tree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: '12' }] }, { type: 'p', children: [{ type: 'text', value: '34' }] }, ], }); root.tree.editByPath([0, 1], [1, 1]); root.tree.style(0, 1, { b: 't', i: 't' }); assert.equal(root.tree.toXML(), '

    14

    '); root.tree.removeStyle(0, 1, ['i']); }); assert.equal(doc.getRoot().tree.toXML(), /*html*/ `

    14

    `); assert.equal(doc.getRoot().tree.getSize(), 4); const bytes = converter.objectToBytes(doc.getRootObject()); const obj = converter.bytesToObject(bytes); assert.equal( doc.getRoot().tree.getNodeSize(), (obj.get('tree') as unknown as Tree).getNodeSize(), ); assert.equal( doc.getRoot().tree.getSize(), (obj.get('tree') as unknown as Tree).getSize(), ); assert.equal( doc.getRoot().tree.toXML(), (obj.get('tree') as unknown as Tree).toXML(), ); }); // Regression test for the snapshot-roundtrip convergence bug fixed by // persisting `mergedFrom` and `mergedAt` on moved children. A tree // that undergoes a merge and is then serialized via `objectToBytes` // must deserialize with: // - `mergedFrom` and `mergedAt` preserved on moved children // - `mergedInto` reconstructed on the source parent by // `CRDTTree.rebuildMergeState` so the Fix 3 redirect can find it // // See: yorkie-team/yorkie PR #1729 for the Go-side fix and the // underlying bug description. it('should persist merge state across bytes roundtrip', function () { const doc = new Document<{ t: Tree }>('test-doc'); // Build

    a

    b

    and merge into

    ab

    . doc.update((root) => { root.t = new Tree({ type: 'root', children: [ { type: 'p', children: [{ type: 'text', value: 'a' }] }, { type: 'p', children: [{ type: 'text', value: 'b' }] }, ], }); root.t.edit(2, 4); }); assert.equal(doc.getRoot().t.toXML(), '

    ab

    '); // Snapshot the root object and reconstruct. The fresh CRDTObject // constructs its inner CRDTTree through the normal constructor, // which triggers `rebuildMergeState`. const bytes = converter.objectToBytes(doc.getRootObject()); const cloned = converter.bytesToObject(bytes); const clonedTree = cloned.get('t') as unknown as CRDTTree; assert.equal(clonedTree.toXML(), '

    ab

    '); // Find the moved child (the text node "b" that was moved from the // tombstoned second

    to the first

    ) and the source parent. const rootNode = clonedTree.getRoot(); const firstP = rootNode.allChildren[0]; let movedChild: CRDTTreeNode | undefined; for (const child of firstP.allChildren) { if (child.mergedFrom) { movedChild = child; break; } } assert.isDefined(movedChild, 'moved child should carry mergedFrom'); assert.isDefined( movedChild!.mergedAt, 'moved child should carry mergedAt after roundtrip', ); // The source parent (second

    ) is now tombstoned. rebuildMergeState // must have set its mergedInto to the merge target (first

    ). const sourceParent = rootNode.allChildren[1]; assert.isTrue(sourceParent.isRemoved, 'source parent should be tombstoned'); assert.isDefined( sourceParent.mergedInto, 'rebuildMergeState should set mergedInto on tombstoned source', ); assert.isTrue( sourceParent.mergedInto!.equals(firstP.id), 'mergedInto should point at the merge target', ); }); it('object converting to bytes with gc elements test', function () { const doc = new Document<{ o: { [key: string]: string } }>('test-doc'); doc.update((root) => { root.o = {}; root.o['1'] = 'a'; }); assert.equal(doc.getRoot().o['1'], 'a'); doc.update((r) => (r.o['1'] = 'b')); assert.equal(doc.getRoot().o['1'], 'b'); let foundGCElementWithValueA = false; const root = doc.getRootCRDT(); for (const pair of root.getGCElementPairs()) { if (pair.element instanceof Primitive) { if (pair.element.getValue() === 'a') { foundGCElementWithValueA = true; break; } } } assert.isTrue(foundGCElementWithValueA); const bytes = converter.objectToBytes(doc.getRootObject()); const obj = converter.bytesToObject(bytes); foundGCElementWithValueA = false; const newRoot = new CRDTRoot(obj); for (const pair of newRoot.getGCElementPairs()) { if (pair.element instanceof Primitive) { if (pair.element.getValue() === 'a') { foundGCElementWithValueA = true; break; } } } assert.isTrue(foundGCElementWithValueA); assert.equal(obj.toSortedJSON(), doc.getRootObject().toSortedJSON()); }); }); ================================================ FILE: packages/sdk/test/unit/channel/channel_test.ts ================================================ /* * Copyright 2025 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import yorkie from '@yorkie-js/sdk/src/yorkie'; import { describe, it, assert } from 'vitest'; describe('Channel', function () { it('should throw error when key is invalid', function () { // valid keys assert.doesNotThrow(() => { new yorkie.Channel('test'); new yorkie.Channel('test-1.test-2'); new yorkie.Channel('test_1.test,2.test-3'); }); // invalid keys assert.throws(() => new yorkie.Channel('.')); assert.throws(() => new yorkie.Channel('........')); assert.throws(() => new yorkie.Channel('.test')); assert.throws(() => new yorkie.Channel('.test.')); assert.throws(() => new yorkie.Channel('test.')); assert.throws(() => new yorkie.Channel('test..test')); assert.throws(() => new yorkie.Channel('test. test')); }); it('should get first key path', function () { const firstKeyPath = new yorkie.Channel('test-1.test-2').getFirstKeyPath(); assert.equal(firstKeyPath, 'test-1'); const firstKeyPath2 = new yorkie.Channel( 'test-1.test-2.test-3', ).getFirstKeyPath(); assert.equal(firstKeyPath2, 'test-1'); }); }); ================================================ FILE: packages/sdk/test/unit/document/crdt/counter_test.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { describe, it, assert } from 'vitest'; import { InitialTimeTicket } from '@yorkie-js/sdk/src/document/time/ticket'; import { CounterType, CRDTCounter, } from '@yorkie-js/sdk/src/document/crdt/counter'; import { Primitive } from '@yorkie-js/sdk/src/document/crdt/primitive'; describe('Counter', function () { it('Can increase numeric data of Counter', function () { const double = CRDTCounter.create(CounterType.Int, 10, InitialTimeTicket); const long = CRDTCounter.create(CounterType.Long, 100n, InitialTimeTicket); const doubleOperand = Primitive.of(10, InitialTimeTicket); const longOperand = Primitive.of(100n, InitialTimeTicket); double.increase(doubleOperand); double.increase(longOperand); assert.equal(double.getValue(), 120); long.increase(doubleOperand); long.increase(longOperand); assert.equal(Number(long.getValue() as bigint), 210); // error process test function errorTest(counter: CRDTCounter, operand: Primitive): void { const errValue = !counter.isNumericType() ? counter.getValue() : operand.getValue(); assert.throw( () => { counter.increase(operand); }, `Unsupported type of value: ${typeof errValue}`, ); } const str = Primitive.of('hello', InitialTimeTicket); const bool = Primitive.of(true, InitialTimeTicket); const uint8arr = Primitive.of(new Uint8Array(), InitialTimeTicket); const date = Primitive.of(new Date(), InitialTimeTicket); errorTest(double, str); errorTest(double, bool); errorTest(double, uint8arr); errorTest(double, date); assert.equal(double.getValue(), 120); assert.equal(Number(long.getValue() as bigint), 210); // subtraction test const negative = Primitive.of(-50, InitialTimeTicket); const negativeLong = Primitive.of(BigInt(-100), InitialTimeTicket); double.increase(negative); double.increase(negativeLong); assert.equal(double.getValue(), -30); long.increase(negative); long.increase(negativeLong); assert.equal(long.getValue(), 60); }); }); ================================================ FILE: packages/sdk/test/unit/document/crdt/element_rht_test.ts ================================================ import { describe, it, assert } from 'vitest'; import { ElementRHT } from '@yorkie-js/sdk/src/document/crdt/element_rht'; import { Primitive } from '@yorkie-js/sdk/src/document/crdt/primitive'; import { CRDTObject } from '@yorkie-js/sdk/src/document/crdt/object'; import { InitialTimeTicket, TimeTicket, } from '@yorkie-js/sdk/src/document/time/ticket'; describe('ElementRHT', function () { it('should not produce duplicate keys on concurrent set with earlier timestamp', function () { // Simulate two clients concurrently setting the same key. // Client A sets "color" at T2 (lamport=2, actorID="actorA") // Client B sets "color" at T1 (lamport=1, actorID="actorB") — arrives later const rht = ElementRHT.create(); const ticketA = TimeTicket.of(2n, 0, 'actorA'); const valueA = Primitive.of('red', ticketA); // Client A sets "color" = "red" at T2 rht.set('color', valueA, ticketA); const ticketB = TimeTicket.of(1n, 0, 'actorB'); const valueB = Primitive.of('blue', ticketB); // Client B's operation arrives with earlier timestamp T1 // This should NOT create duplicate "color" keys rht.set('color', valueB, ticketB); // Verify: CRDTObject.getKeys() should not have duplicates const obj = new CRDTObject(InitialTimeTicket, rht); const keys = obj.getKeys(); assert.deepEqual( keys, ['color'], 'getKeys() should not return duplicate keys', ); // The winning value should be from Client A (later timestamp) const winner = obj.get('color') as Primitive; assert.equal(winner.toJSON(), '"red"'); }); it('should handle multiple concurrent sets on the same key', function () { const rht = ElementRHT.create(); // Set initial value at T3 const ticket1 = TimeTicket.of(3n, 0, 'actor1'); const value1 = Primitive.of('first', ticket1); rht.set('key', value1, ticket1); // Late-arriving operation at T1 const ticket2 = TimeTicket.of(1n, 0, 'actor2'); const value2 = Primitive.of('second', ticket2); rht.set('key', value2, ticket2); // Another late-arriving operation at T2 const ticket3 = TimeTicket.of(2n, 0, 'actor3'); const value3 = Primitive.of('third', ticket3); rht.set('key', value3, ticket3); const obj = new CRDTObject(InitialTimeTicket, rht); const keys = obj.getKeys(); assert.deepEqual(keys, ['key'], 'should have exactly one "key" entry'); // Winner should still be the one with the latest timestamp (T3) const winner = obj.get('key') as Primitive; assert.equal(winner.toJSON(), '"first"'); }); }); ================================================ FILE: packages/sdk/test/unit/document/crdt/primitive_test.ts ================================================ /* * Copyright 2021 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { describe, it, assert } from 'vitest'; import { InitialTimeTicket } from '@yorkie-js/sdk/src/document/time/ticket'; import { Primitive, PrimitiveType, } from '@yorkie-js/sdk/src/document/crdt/primitive'; describe('Primitive', function () { const primitiveTypes = [ { type: PrimitiveType.Null, value: null, }, { type: PrimitiveType.Boolean, value: false, }, { type: PrimitiveType.Integer, value: 2147483647, }, { type: PrimitiveType.Double, value: 1.79, }, { type: PrimitiveType.String, value: '4', }, { type: PrimitiveType.Long, value: 9223372036854775807n, }, { type: PrimitiveType.Bytes, value: new Uint8Array([65, 66]), }, { type: PrimitiveType.Date, value: new Date('December 17, 1995 03:24:00'), }, ]; it('primitive test', function () { for (const { type, value } of primitiveTypes) { const primVal = Primitive.of(value, InitialTimeTicket); assert.equal(type, primVal.getType()); } }); it('valueFromBytes test', function () { for (const { type, value } of primitiveTypes) { const primVal = Primitive.of(value, InitialTimeTicket); const valFromBytes = Primitive.valueFromBytes(type, primVal.toBytes()); assert.deepEqual(valFromBytes, value); } }); it('toJSON for Bytes and Date', function () { const bytes = Primitive.of(new Uint8Array([65, 66]), InitialTimeTicket); assert.equal(bytes.toJSON(), '"QUI="'); const date = Primitive.of( new Date('1995-12-17T03:24:00.000Z'), InitialTimeTicket, ); assert.equal(date.toJSON(), '"1995-12-17T03:24:00.000Z"'); }); }); ================================================ FILE: packages/sdk/test/unit/document/crdt/rht_test.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { describe, it, assert } from 'vitest'; import { RHT } from '@yorkie-js/sdk/src/document/crdt/rht'; import { InitialTimeTicket as ITT } from '@yorkie-js/sdk/src/document/time/ticket'; import { timeT } from '@yorkie-js/sdk/test/helper/helper'; describe('RHT interface', function () { it('should set and get a value', function () { const testKey = 'test-key'; const testValue = 'test-value'; const notExistsKey = 'not-exists-key'; const rht = RHT.create(); // Check if a rht object is constructed well. assert.equal(rht.toJSON(), '{}'); rht.set(testKey, testValue, ITT); const actualValue = rht.get(testKey); assert.equal(actualValue, testValue); const notExistsValue = rht.get(notExistsKey); assert.equal(notExistsValue, undefined); }); it('should handle remove', function () { const testKey = 'test-key'; const testValue = 'test-value'; const rht = RHT.create(); assert.equal(rht.toJSON(), '{}'); rht.set(testKey, testValue, ITT); const actualValue = rht.get(testKey); assert.equal(actualValue, testValue); assert.equal(rht.size(), 1); rht.remove(testKey, timeT()); assert.equal(rht.has(testKey), false); assert.equal(rht.size(), 0); }); it('should return undefined when a key does not exist', function () { const notExistsKey = 'not-exists-key'; const rht = RHT.create(); // Check if a rht object is constructed well. assert.equal(rht.toJSON(), '{}'); const notExistsValue = rht.get(notExistsKey); assert.equal(notExistsValue, undefined); }); it('should check if a key exists', function () { const testKey = 'test-key'; const testValue = 'test-value'; const rht = RHT.create(); // Check if a rht object is constructed well. assert.equal(rht.toJSON(), '{}'); rht.set(testKey, testValue, ITT); const actualValue = rht.has(testKey); assert.isTrue(actualValue); }); it('should handle toJSON', function () { const testData = { testKey1: 'testValue1', testKey2: 'testValue2', testKey3: 'testValue3', }; const rht = RHT.create(); for (const [key, value] of Object.entries(testData)) { rht.set(key, value, ITT); } const jsonStr = rht.toJSON(); const jsonObj = JSON.parse(jsonStr); assert.equal(jsonObj.testKey1, testData.testKey1); assert.equal(jsonObj.testKey2, testData.testKey2); assert.equal(jsonObj.testKey3, testData.testKey3); }); it('should handle toObject', function () { const testData = { testKey1: 'testValue1', testKey2: 'testValue2', testKey3: 'testValue3', }; const rht = RHT.create(); for (const [key, value] of Object.entries(testData)) { rht.set(key, value, ITT); } const jsonObj = rht.toObject(); assert.equal(jsonObj.testKey1, testData.testKey1); assert.equal(jsonObj.testKey2, testData.testKey2); assert.equal(jsonObj.testKey3, testData.testKey3); }); it('should deepcopy correctly', function () { const rht = RHT.create(); rht.set('key1', 'value1', timeT()); rht.remove('key2', timeT()); const rht2 = rht.deepcopy(); assert.equal(rht.toJSON(), rht2.toJSON()); assert.equal(rht.size(), rht2.size()); }); }); describe('RHT', () => { enum OpCode { NoOp, Set, Remove, } interface Operation { code: OpCode; key: string; val: string; } interface Step { op: Operation; expectJSON: string; expectSize?: number; } interface TestCase { desc: string; steps: Array; } describe('marshal', () => { const tests: Array = [ { desc: '1. empty hash table', steps: [ { op: { code: OpCode.NoOp, key: '', val: '' }, expectJSON: '{}', }, ], }, { desc: '2. only one element', steps: [ { op: { code: OpCode.Set, key: 'hello\\\\\\t', val: 'world"\f\b' }, expectJSON: '{"hello\\\\\\\\\\\\t":"world\\"\\f\\b"}', }, ], }, { desc: '3. non-empty hash table', steps: [ { op: { code: OpCode.Set, key: 'hi', val: 'test\\r' }, expectJSON: '{"hello\\\\\\\\\\\\t":"world\\"\\f\\b","hi":"test\\\\r"}', }, ], }, ]; const rht = RHT.create(); it.each(tests)('$desc', ({ steps }) => { for (const { op: { code, key, val }, expectJSON: expectJSON, } of steps) { if (code === OpCode.Set) { rht.set(key, val, timeT()); } assert.equal(rht.toJSON(), expectJSON); } }); }); describe('set', () => { const tests: Array = [ { desc: '1. set elements', steps: [ { op: { code: OpCode.Set, key: 'key1', val: 'value1' }, expectJSON: '{"key1":"value1"}', expectSize: 1, }, { op: { code: OpCode.Set, key: 'key2', val: 'value2' }, expectJSON: '{"key1":"value1","key2":"value2"}', expectSize: 2, }, ], }, { desc: '2. change elements', steps: [ { op: { code: OpCode.Set, key: 'key1', val: 'value2' }, expectJSON: '{"key1":"value2","key2":"value2"}', expectSize: 2, }, { op: { code: OpCode.Set, key: 'key2', val: 'value1' }, expectJSON: '{"key1":"value2","key2":"value1"}', expectSize: 2, }, ], }, ]; const rht = RHT.create(); it.each(tests)('$desc', ({ steps }) => { for (const { op: { code, key, val }, expectJSON, expectSize, } of steps) { if (code === OpCode.Set) { rht.set(key, val, timeT()); } assert.equal(rht.toJSON(), expectJSON); assert.equal(rht.size(), expectSize); } }); }); describe('remove', () => { const tests: Array = [ { desc: '1. set elements', steps: [ { op: { code: OpCode.Set, key: 'key1', val: 'value1' }, expectJSON: '{"key1":"value1"}', expectSize: 1, }, { op: { code: OpCode.Set, key: 'key2', val: 'value2' }, expectJSON: '{"key1":"value1","key2":"value2"}', expectSize: 2, }, ], }, { desc: '2. remove element', steps: [ { op: { code: OpCode.Remove, key: 'key1', val: 'value1' }, expectJSON: '{"key2":"value2"}', expectSize: 1, }, ], }, { desc: '3. set after remove', steps: [ { op: { code: OpCode.Set, key: 'key1', val: 'value11' }, expectJSON: '{"key1":"value11","key2":"value2"}', expectSize: 2, }, ], }, { desc: '4. remove element', steps: [ { op: { code: OpCode.Set, key: 'key2', val: 'value22' }, expectJSON: '{"key1":"value11","key2":"value22"}', expectSize: 2, }, { op: { code: OpCode.Remove, key: 'key1', val: 'value11' }, expectJSON: '{"key2":"value22"}', expectSize: 1, }, ], }, { desc: '5. remove element again', steps: [ { op: { code: OpCode.Remove, key: 'key1', val: 'value11' }, expectJSON: '{"key2":"value22"}', expectSize: 1, }, ], }, { desc: '6. remove element(cleared)', steps: [ { op: { code: OpCode.Remove, key: 'key2', val: 'value22' }, expectJSON: '{}', expectSize: 0, }, ], }, { desc: '7. remove not exist key', steps: [ { op: { code: OpCode.Remove, key: 'not-exist-key', val: '' }, expectJSON: '{}', expectSize: 0, }, ], }, ]; const rht = RHT.create(); it.each(tests)('$desc', ({ steps }) => { for (const { op: { code, key, val }, expectJSON, expectSize, } of steps) { if (code === OpCode.Set) { rht.set(key, val, timeT()); } else if (code === OpCode.Remove) { rht.remove(key, timeT()); } assert.equal(rht.toJSON(), expectJSON); assert.equal(rht.size(), expectSize); assert.equal(Object.keys(rht.toObject()).length, expectSize); } }); }); }); ================================================ FILE: packages/sdk/test/unit/document/crdt/root_test.ts ================================================ import { describe, it, assert } from 'vitest'; import { InitialChangeID } from '@yorkie-js/sdk/src/document/change/change_id'; import { CRDTRoot } from '@yorkie-js/sdk/src/document/crdt/root'; import { CRDTObject } from '@yorkie-js/sdk/src/document/crdt/object'; import { ElementRHT } from '@yorkie-js/sdk/src/document/crdt/element_rht'; import { ChangeContext } from '@yorkie-js/sdk/src/document/change/context'; import { ArrayProxy } from '@yorkie-js/sdk/src/document/json/array'; import { InitialTimeTicket, MaxTimeTicket, TimeTicket, } from '@yorkie-js/sdk/src/document/time/ticket'; import { RGATreeList } from '@yorkie-js/sdk/src/document/crdt/rga_tree_list'; import { Primitive } from '@yorkie-js/sdk/src/document/crdt/primitive'; import { CRDTArray } from '@yorkie-js/sdk/src/document/crdt/array'; import { CRDTText } from '@yorkie-js/sdk/src/document/crdt/text'; import { RGATreeSplit } from '@yorkie-js/sdk/src/document/crdt/rga_tree_split'; import { SetOperation } from '@yorkie-js/sdk/src/document/operation/set_operation'; import { OpSource } from '@yorkie-js/sdk/src/document/operation/operation'; import { Text } from '@yorkie-js/sdk/src/yorkie'; import { maxVectorOf } from '@yorkie-js/sdk/test/helper/helper'; describe('ROOT', function () { it('basic test', function () { const root = new CRDTRoot( new CRDTObject(InitialTimeTicket, ElementRHT.create()), ); const cc = ChangeContext.create(InitialChangeID, root, {}); assert.isUndefined(root.findByCreatedAt(MaxTimeTicket)); assert.equal(root.createPath(MaxTimeTicket), ''); // set '$.k1' let ticket = cc.issueTimeTicket(); const k1 = Primitive.of('k1', ticket); root.getObject().set('k1', k1, ticket); root.registerElement(k1, root.getObject()); assert.equal(root.getElementMapSize(), 2); assert.equal(root.findByCreatedAt(k1.getCreatedAt()), k1); assert.equal(root.createPath(k1.getCreatedAt()), '$.k1'); // delete '$.k1' assert.isUndefined(root.findByCreatedAt(MaxTimeTicket)); root.getObject().deleteByKey('k1', cc.issueTimeTicket()); root.deregisterElement(k1); assert.equal(root.getElementMapSize(), 1); assert.isUndefined(root.findByCreatedAt(k1.getCreatedAt())); // set '$.k2' ticket = cc.issueTimeTicket(); const k2 = CRDTObject.create(ticket); root.getObject().set('k2', k2, ticket); root.registerElement(k2, root.getObject()); assert.equal(root.getElementMapSize(), 2); assert.equal(root.findByCreatedAt(k2.getCreatedAt()), k2); assert.equal(root.createPath(k2.getCreatedAt()), '$.k2'); assert.equal(k2.toJSON(), '{}'); assert.equal(Object.keys(k2.toJS()).length, 0); // set '$.k2.1' ticket = cc.issueTimeTicket(); const k2Dot1 = CRDTArray.create(ticket); k2.set('1', k2Dot1, ticket); root.registerElement(k2Dot1, k2); assert.equal(root.getElementMapSize(), 3); assert.equal(root.findByCreatedAt(k2Dot1.getCreatedAt()), k2Dot1); assert.equal(root.createPath(k2Dot1.getCreatedAt()), '$.k2.1'); // set '$.k2.1.0' const k2Dot1Dot0 = Primitive.of('0', cc.issueTimeTicket()); k2Dot1.insertAfter(k2Dot1.getLastCreatedAt(), k2Dot1Dot0); root.registerElement(k2Dot1Dot0, k2Dot1); assert.equal(root.getElementMapSize(), 4); assert.equal(root.findByCreatedAt(k2Dot1Dot0.getCreatedAt()), k2Dot1Dot0); assert.equal(root.createPath(k2Dot1Dot0.getCreatedAt()), '$.k2.1.0'); // set '$.k2.1.1' const k2dot1dot1 = Primitive.of('1', cc.issueTimeTicket()); k2Dot1.insertAfter(k2Dot1Dot0.getCreatedAt(), k2dot1dot1); root.registerElement(k2dot1dot1, k2Dot1); assert.equal(root.getElementMapSize(), 5); assert.equal(root.findByCreatedAt(k2dot1dot1.getCreatedAt()), k2dot1dot1); assert.equal(root.createPath(k2dot1dot1.getCreatedAt()), '$.k2.1.1'); }); it('garbage collection test for array', function () { const root = new CRDTRoot( new CRDTObject(InitialTimeTicket, ElementRHT.create()), ); const arr = new CRDTArray(InitialTimeTicket, RGATreeList.create()); const change = ChangeContext.create(InitialChangeID, root, {}); ArrayProxy.pushInternal(change, arr, 0); ArrayProxy.pushInternal(change, arr, 1); ArrayProxy.pushInternal(change, arr, 2); assert.equal('[0,1,2]', arr.toJSON()); const arrJs1 = arr.toJS(); assert.equal(0, arrJs1?.[0]); assert.equal(1, arrJs1?.[1]); assert.equal(2, arrJs1?.[2]); const targetElement = arr.get(1)!; arr.delete(targetElement.getCreatedAt(), change.issueTimeTicket()); root.registerRemovedElement(targetElement); assert.equal('[0,2]', arr.toJSON()); assert.equal(1, root.getGarbageLen()); const arrJs2 = arr.toJS(); assert.equal(0, arrJs2?.[0]); assert.equal(2, arrJs2?.[1]); assert.equal(1, root.garbageCollect(maxVectorOf([]))); assert.equal(0, root.getGarbageLen()); }); it('garbage collection test for text', function () { const root = new CRDTRoot( new CRDTObject(InitialTimeTicket, ElementRHT.create()), ); const obj = new CRDTObject(InitialTimeTicket, ElementRHT.create()); const change = ChangeContext.create(InitialChangeID, root, {}); const executedAt = change.issueTimeTicket(); const crdtText = CRDTText.create(RGATreeSplit.create(), executedAt); obj.set('k1', crdtText, executedAt); change.registerElement(crdtText, obj); const text = new Text(change, crdtText); text.edit(0, 0, 'Hello World'); assert.equal('[0:00:0:0 ][1:00:2:0 Hello World]', text.toTestString()); assert.equal(0, root.getGarbageLen()); text.edit(6, 11, 'Yorkie'); assert.equal(1, root.getGarbageLen()); text.edit(0, 6, ''); assert.equal(2, root.getGarbageLen()); assert.equal(2, root.garbageCollect(maxVectorOf([]))); assert.equal('[0:00:0:0 ][1:00:3:0 Yorkie]', text.toTestString()); assert.equal(0, root.getGarbageLen()); }); it('should register LWW-losing element in GC set on Set conflict', function () { const root = new CRDTRoot( new CRDTObject(InitialTimeTicket, ElementRHT.create()), ); const actorA = '000000000000000000000001'; const actorB = '000000000000000000000002'; // actorB > actorA, so actorB wins LWW when lamport is equal. const ticketA = TimeTicket.of(1n, 0, actorA); const ticketB = TimeTicket.of(1n, 0, actorB); // First Set: actorA sets "key" = 1. const valueA = Primitive.of(1, ticketA); const setA = SetOperation.create('key', valueA, InitialTimeTicket, ticketA); setA.execute(root, OpSource.Remote); assert.equal(0, root.getGarbageLen()); // Second Set: actorB sets "key" = 2 (actorB wins, actorA is removed). const valueB = Primitive.of(2, ticketB); const setB = SetOperation.create('key', valueB, InitialTimeTicket, ticketB); setB.execute(root, OpSource.Remote); assert.equal(1, root.getGarbageLen()); assert.equal('{"key":2}', root.getObject().toJSON()); // Third Set: actorA sets "key" = 3 (actorA loses to actorB's value). const ticketA2 = TimeTicket.of(1n, 1, actorA); const valueA2 = Primitive.of(3, ticketA2); const setA2 = SetOperation.create( 'key', valueA2, InitialTimeTicket, ticketA2, ); setA2.execute(root, OpSource.Remote); // valueA2 should also be registered as garbage (it lost LWW to valueB). // Before the fix, this was 1 because the LWW loser was not registered. assert.equal(2, root.getGarbageLen()); assert.equal('{"key":2}', root.getObject().toJSON()); }); }); ================================================ FILE: packages/sdk/test/unit/document/crdt/tree_test.ts ================================================ /* * Copyright 2023 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { describe, it, assert } from 'vitest'; import { InitialTimeTicket as ITT, MaxTimeTicket as MTT, } from '@yorkie-js/sdk/src/document/time/ticket'; import { CRDTTree, CRDTTreeNode, CRDTTreeNodeID, CRDTTreePos, toXML, TreeChangeType, TreeNodeForTest, } from '@yorkie-js/sdk/src/document/crdt/tree'; import { stringifyObjectValues } from '@yorkie-js/sdk/src/util/object'; import { idT, posT, timeT } from '@yorkie-js/sdk/test/helper/helper'; describe('CRDTTreeNode', function () { it('Can be created', function () { const node = new CRDTTreeNode(idT, 'text', 'hello'); assert.equal(node.id, idT); assert.equal(node.type, 'text'); assert.equal(node.value, 'hello'); assert.equal(node.visibleSize, 5); assert.equal(node.isText, true); assert.equal(node.isRemoved, false); }); it('Can be split', function () { const para = new CRDTTreeNode(idT, 'p', []); para.append(new CRDTTreeNode(idT, 'text', 'helloyorkie')); assert.equal(toXML(para), /*html*/ `

    helloyorkie

    `); assert.equal(para.visibleSize, 11); assert.equal(para.isText, false); const left = para.children[0]; const [right] = left.splitText(5, 0); assert.equal(toXML(para), /*html*/ `

    helloyorkie

    `); assert.equal(para.visibleSize, 11); assert.equal(left.value, 'hello'); assert.equal(right!.value, 'yorkie'); assert.deepEqual(left.id, CRDTTreeNodeID.of(ITT, 0)); assert.deepEqual(right!.id, CRDTTreeNodeID.of(ITT, 5)); }); it('splitText preserves mergedFrom and mergedAt', function () { const para = new CRDTTreeNode(posT(), 'p', []); const text = new CRDTTreeNode(posT(), 'text', 'abcd'); para.append(text); // Simulate merge metadata set during merge step. const sourceID = CRDTTreeNodeID.of(timeT(), 0); const mergeTicket = timeT(); text.mergedFrom = sourceID; text.mergedAt = mergeTicket; // Split text at offset 2: "ab" | "cd" const [right] = text.splitText(2, 0); assert.isNotNull(right); assert.equal(text.value, 'ab'); assert.equal(right!.value, 'cd'); // Right node should inherit mergedFrom and mergedAt from left. assert.deepEqual(right!.mergedFrom, sourceID); assert.deepEqual(right!.mergedAt, mergeTicket); }); it('deepcopy preserves merge metadata', function () { const para = new CRDTTreeNode(posT(), 'p', []); const text = new CRDTTreeNode(posT(), 'text', 'hello'); para.append(text); // Set merge metadata. const targetID = CRDTTreeNodeID.of(timeT(), 0); const sourceID = CRDTTreeNodeID.of(timeT(), 0); const mergeTicket = timeT(); para.mergedInto = targetID; text.mergedFrom = sourceID; text.mergedAt = mergeTicket; const clone = para.deepcopy(); assert.deepEqual(clone.mergedInto, targetID); const clonedText = clone.allChildren[0]; assert.deepEqual(clonedText.mergedFrom, sourceID); assert.deepEqual(clonedText.mergedAt, mergeTicket); }); it('Can convert to XML', function () { const text = new CRDTTreeNode(idT, 'text', 'hello'); assert.equal(toXML(text), 'hello'); const elem = new CRDTTreeNode(idT, 'p', []); elem.append(text); assert.equal(toXML(elem), /*html*/ `

    hello

    `); const elemWithAttrs = new CRDTTreeNode(idT, 'p', []); elemWithAttrs.append(text); elemWithAttrs.setAttrs({ b: '"t"', i: 'true' }, MTT); assert.equal(toXML(elemWithAttrs), /*html*/ `

    hello

    `); elemWithAttrs.setAttrs( stringifyObjectValues({ img: { src: 'yorkie.png' } }), MTT, ); assert.equal( toXML(elemWithAttrs), /*html*/ `

    hello

    `, ); }); }); // NOTE: To see the XML string as highlighted, install es6-string-html plugin in VSCode. describe('CRDTTree.Edit', function () { it('Can inserts nodes with edit', function () { // 0 // const t = new CRDTTree(new CRDTTreeNode(posT(), 'r'), timeT()); assert.equal(t.getRoot().visibleSize, 0); assert.equal(t.toXML(), /*html*/ ``); // 1 //

    const [changes1, , ,] = t.editT( [0, 0], [new CRDTTreeNode(posT(), 'p')], 0, timeT(), timeT, ); assert.equal(t.toXML(), /*html*/ `

    `); assert.equal(t.getRoot().visibleSize, 2); assert.deepEqual(changes1, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 0, to: 0, fromPath: [0], toPath: [0], value: [{ type: 'p', children: [] }], }, ]); // 1 //

    h e l l o

    const [changes2, , ,] = t.editT( [1, 1], [new CRDTTreeNode(posT(), 'text', 'hello')], 0, timeT(), timeT, ); assert.equal(t.toXML(), /*html*/ `

    hello

    `); assert.equal(t.getRoot().visibleSize, 7); assert.deepEqual(changes2, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 1, to: 1, fromPath: [0, 0], toPath: [0, 0], value: [{ type: 'text', value: 'hello' }], }, ]); // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 //

    h e l l o

    w o r l d

    const p = new CRDTTreeNode(posT(), 'p', []); p.insertAt(new CRDTTreeNode(posT(), 'text', 'world'), 0); const [changes3, , ,] = t.editT([7, 7], [p], 0, timeT(), timeT); assert.equal(t.toXML(), /*html*/ `

    hello

    world

    `); assert.equal(t.getRoot().visibleSize, 14); assert.deepEqual(changes3, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 7, to: 7, fromPath: [1], toPath: [1], value: [{ type: 'p', children: [{ type: 'text', value: 'world' }] }], }, ]); // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 //

    h e l l o !

    w o r l d

    const [changes4, , ,] = t.editT( [6, 6], [new CRDTTreeNode(posT(), 'text', '!')], 0, timeT(), timeT, ); assert.equal(t.toXML(), /*html*/ `

    hello!

    world

    `); assert.deepEqual(changes4, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 6, to: 6, fromPath: [0, 5], toPath: [0, 5], value: [{ type: 'text', value: '!' }], }, ]); assert.deepEqual(t.toTestTreeNode(), { type: 'r', children: [ { type: 'p', children: [ { type: 'text', value: 'hello', visibleSize: 5, isRemoved: false, }, { type: 'text', value: '!', visibleSize: 1, isRemoved: false }, ], visibleSize: 6, isRemoved: false, } as TreeNodeForTest, { type: 'p', children: [ { type: 'text', value: 'world', visibleSize: 5, isRemoved: false, }, ], visibleSize: 5, isRemoved: false, } as TreeNodeForTest, ], visibleSize: 15, isRemoved: false, }); // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 //

    h e l l o ~ !

    w o r l d

    const [changes5, , ,] = t.editT( [6, 6], [new CRDTTreeNode(posT(), 'text', '~')], 0, timeT(), timeT, ); assert.equal(t.toXML(), /*html*/ `

    hello~!

    world

    `); assert.deepEqual(changes5, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 6, to: 6, fromPath: [0, 5], toPath: [0, 5], value: [{ type: 'text', value: '~' }], }, ]); }); it('Can delete text nodes with edit', function () { // 01. Create a tree with 2 paragraphs. // 0 1 2 3 4 5 6 7 8 //

    a b

    c d

    const tree = new CRDTTree(new CRDTTreeNode(posT(), 'root'), timeT()); const [changes1, , ,] = tree.editT( [0, 0], [new CRDTTreeNode(posT(), 'p')], 0, timeT(), timeT, ); assert.deepEqual(changes1, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 0, to: 0, fromPath: [0], toPath: [0], value: [{ type: 'p', children: [] }], }, ]); const [changes2, , ,] = tree.editT( [1, 1], [new CRDTTreeNode(posT(), 'text', 'ab')], 0, timeT(), timeT, ); assert.deepEqual(changes2, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 1, to: 1, fromPath: [0, 0], toPath: [0, 0], value: [{ type: 'text', value: 'ab' }], }, ]); const [changes3, , ,] = tree.editT( [4, 4], [new CRDTTreeNode(posT(), 'p')], 0, timeT(), timeT, ); assert.deepEqual(changes3, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 4, to: 4, fromPath: [1], toPath: [1], value: [{ type: 'p', children: [] }], }, ]); const [changes4, , ,] = tree.editT( [5, 5], [new CRDTTreeNode(posT(), 'text', 'cd')], 0, timeT(), timeT, ); assert.deepEqual(changes4, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 5, to: 5, fromPath: [1, 0], toPath: [1, 0], value: [{ type: 'text', value: 'cd' }], }, ]); assert.deepEqual(tree.toXML(), /*html*/ `

    ab

    cd

    `); let treeNode = tree.toTestTreeNode(); assert.equal(treeNode.visibleSize, 8); assert.equal(treeNode.children![0].visibleSize, 2); assert.equal(treeNode.children![0].children![0].visibleSize, 2); // 02. delete b from first paragraph // 0 1 2 3 4 5 6 7 //

    a

    c d

    const [changes5, , ,] = tree.editT([2, 3], undefined, 0, timeT(), timeT); assert.deepEqual(changes5, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 2, to: 3, fromPath: [0, 1], toPath: [0, 2], }, ]); assert.deepEqual(tree.toXML(), /*html*/ `

    a

    cd

    `); treeNode = tree.toTestTreeNode(); assert.equal(treeNode.visibleSize, 7); assert.equal(treeNode.children![0].visibleSize, 1); assert.equal(treeNode.children![0].children![0].visibleSize, 1); }); it('Can delete tree nodes with edit', function () { // 01. Create a tree with 2 paragraphs. // 0 1 2 3 4 5 6 7 8 //

    a b

    c d

    const tree = new CRDTTree(new CRDTTreeNode(posT(), 'root'), timeT()); const [changes1, , ,] = tree.editT( [0, 0], [new CRDTTreeNode(posT(), 'p')], 0, timeT(), timeT, ); assert.deepEqual(changes1, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 0, to: 0, fromPath: [0], toPath: [0], value: [{ type: 'p', children: [] }], }, ]); const [changes2, , ,] = tree.editT( [1, 1], [new CRDTTreeNode(posT(), 'text', 'ab')], 0, timeT(), timeT, ); assert.deepEqual(changes2, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 1, to: 1, fromPath: [0, 0], toPath: [0, 0], value: [{ type: 'text', value: 'ab' }], }, ]); const [changes3, , ,] = tree.editT( [4, 4], [new CRDTTreeNode(posT(), 'p')], 0, timeT(), timeT, ); assert.deepEqual(changes3, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 4, to: 4, fromPath: [1], toPath: [1], value: [{ type: 'p', children: [] }], }, ]); const [changes4, , ,] = tree.editT( [5, 5], [new CRDTTreeNode(posT(), 'text', 'cd')], 0, timeT(), timeT, ); assert.deepEqual(changes4, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 5, to: 5, fromPath: [1, 0], toPath: [1, 0], value: [{ type: 'text', value: 'cd' }], }, ]); assert.deepEqual(tree.toXML(), /*html*/ `

    ab

    cd

    `); let treeNode = tree.toTestTreeNode(); assert.equal(treeNode.visibleSize, 8); assert.equal(treeNode.children![0].visibleSize, 2); assert.equal(treeNode.children![0].children![0].visibleSize, 2); // 02. delete the first paragraph // 0 1 2 3 4 //

    c d

    const [changes5, , ,] = tree.editT([0, 4], undefined, 0, timeT(), timeT); assert.deepEqual(changes5, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 0, to: 4, fromPath: [0], toPath: [1], }, ]); assert.deepEqual(tree.toXML(), /*html*/ `

    cd

    `); treeNode = tree.toTestTreeNode(); assert.equal(treeNode.visibleSize, 4); assert.equal(treeNode.children![0].visibleSize, 2); assert.equal(treeNode.children![0].children![0].visibleSize, 2); // 03. add a new paragraph // 0 1 2 3 4 5 6 7 8 //

    e f

    c d

    const [changes6, , ,] = tree.editT( [0, 0], [new CRDTTreeNode(posT(), 'p')], 0, timeT(), timeT, ); assert.deepEqual(changes6, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 0, to: 0, fromPath: [0], toPath: [0], value: [{ type: 'p', children: [] }], }, ]); const [changes7, , ,] = tree.editT( [1, 1], [new CRDTTreeNode(posT(), 'text', 'ef')], 0, timeT(), timeT, ); assert.deepEqual(changes7, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 1, to: 1, fromPath: [0, 0], toPath: [0, 0], value: [{ type: 'text', value: 'ef' }], }, ]); assert.deepEqual(tree.toXML(), /*html*/ `

    ef

    cd

    `); treeNode = tree.toTestTreeNode(); assert.equal(treeNode.visibleSize, 8); assert.equal(treeNode.children![1].visibleSize, 2); assert.equal(treeNode.children![1].children![0].visibleSize, 2); // 04. delete all paragraph const [changes8, , ,] = tree.editT([0, 8], undefined, 0, timeT(), timeT); assert.deepEqual(changes8, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 0, to: 8, fromPath: [0], toPath: [2], }, ]); assert.deepEqual(tree.toXML(), /*html*/ ``); treeNode = tree.toTestTreeNode(); assert.equal(treeNode.visibleSize, 0); assert.equal(treeNode.children!.length, 0); // 05. add a new paragraph const [changes9, , ,] = tree.editT( [0, 0], [new CRDTTreeNode(posT(), 'p')], 0, timeT(), timeT, ); assert.deepEqual(changes9, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 0, to: 0, fromPath: [0], toPath: [0], value: [{ type: 'p', children: [] }], }, ]); const [changes10, , ,] = tree.editT( [1, 1], [new CRDTTreeNode(posT(), 'text', 'gh')], 0, timeT(), timeT, ); assert.deepEqual(changes10, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 1, to: 1, fromPath: [0, 0], toPath: [0, 0], value: [{ type: 'text', value: 'gh' }], }, ]); assert.deepEqual(tree.toXML(), /*html*/ `

    gh

    `); treeNode = tree.toTestTreeNode(); assert.equal(treeNode.visibleSize, 4); assert.equal(treeNode.children![0].visibleSize, 2); assert.equal(treeNode.children![0].children![0].visibleSize, 2); }); it('Can find the closest TreePos when parentNode or leftSiblingNode does not exist', function () { const t = new CRDTTree(new CRDTTreeNode(posT(), 'root'), timeT()); const pNode = new CRDTTreeNode(posT(), 'p'); const textNode = new CRDTTreeNode(posT(), 'text', 'ab'); // 0 1 2 3 4 //

    a b

    const [changes1, , ,] = t.editT([0, 0], [pNode], 0, timeT(), timeT); assert.deepEqual(changes1, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 0, to: 0, fromPath: [0], toPath: [0], value: [{ type: 'p', children: [] }], }, ]); const [changes2, , ,] = t.editT([1, 1], [textNode], 0, timeT(), timeT); assert.deepEqual(changes2, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 1, to: 1, fromPath: [0, 0], toPath: [0, 0], value: [{ type: 'text', value: 'ab' }], }, ]); assert.deepEqual(t.toXML(), /*html*/ `

    ab

    `); // Find the closest index.TreePos when leftSiblingNode in crdt.TreePos is removed. // 0 1 2 //

    const [changes3, , ,] = t.editT([1, 3], undefined, 0, timeT(), timeT); assert.deepEqual(changes3, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 1, to: 3, fromPath: [0, 0], toPath: [0, 2], }, ]); assert.deepEqual(t.toXML(), /*html*/ `

    `); let [[parent, left]] = t.findNodesAndSplitText( new CRDTTreePos(pNode.id, textNode.id), timeT(), ); assert.equal(t.toIndex(parent, left), 1); // Find the closest index.TreePos when parentNode in crdt.TreePos is removed. // 0 // const [changes4, , ,] = t.editT([0, 2], undefined, 0, timeT(), timeT); assert.deepEqual(changes4, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 0, to: 2, fromPath: [0], toPath: [1], }, ]); assert.deepEqual(t.toXML(), /*html*/ ``); [[parent, left]] = t.findNodesAndSplitText( new CRDTTreePos(pNode.id, textNode.id), timeT(), ); assert.equal(t.toIndex(parent, left), 0); }); }); describe('CRDTTree.Split', function () { it('Can split text nodes', function () { // 00. Create a tree with 2 paragraphs. // 0 1 6 11 //

    hello world

    const t = new CRDTTree(new CRDTTreeNode(posT(), 'root'), timeT()); const [changes1, , ,] = t.editT( [0, 0], [new CRDTTreeNode(posT(), 'p')], 0, timeT(), timeT, ); assert.deepEqual(changes1, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 0, to: 0, fromPath: [0], toPath: [0], value: [{ type: 'p', children: [] }], }, ]); const [changes2, , ,] = t.editT( [1, 1], [new CRDTTreeNode(posT(), 'text', 'helloworld')], 0, timeT(), timeT, ); assert.deepEqual(changes2, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 1, to: 1, fromPath: [0, 0], toPath: [0, 0], value: [{ type: 'text', value: 'helloworld' }], }, ]); const expectedIntial = { type: 'root', children: [ { type: 'p', children: [ { type: 'text', value: 'helloworld', visibleSize: 10, isRemoved: false, }, ], visibleSize: 10, isRemoved: false, } as TreeNodeForTest, ], visibleSize: 12, isRemoved: false, }; assert.deepEqual(t.toTestTreeNode(), expectedIntial); // 01. Split left side of 'helloworld'. const [changes3, , ,] = t.editT([1, 1], undefined, 0, timeT(), timeT); assert.deepEqual(t.toTestTreeNode(), expectedIntial); assert.deepEqual(changes3, []); // 02. Split right side of 'helloworld'. const [changes4, , ,] = t.editT([11, 11], undefined, 0, timeT(), timeT); assert.deepEqual(t.toTestTreeNode(), expectedIntial); assert.deepEqual(changes4, []); // 03. Split 'helloworld' into 'hello' and 'world'. const [changes5, , ,] = t.editT([6, 6], undefined, 0, timeT(), timeT); assert.deepEqual(changes5, []); assert.deepEqual(t.toTestTreeNode(), { type: 'root', children: [ { type: 'p', children: [ { type: 'text', value: 'hello', visibleSize: 5, isRemoved: false, }, { type: 'text', value: 'world', visibleSize: 5, isRemoved: false, }, ], visibleSize: 10, isRemoved: false, } as TreeNodeForTest, ], visibleSize: 12, isRemoved: false, }); }); it('Can split element nodes level 1', function () { // 0 1 2 3 4 //

    a b

    // 01. Split position 1. let t = new CRDTTree(new CRDTTreeNode(posT(), 'root'), timeT()); const [changes1, , ,] = t.editT( [0, 0], [new CRDTTreeNode(posT(), 'p')], 0, timeT(), timeT, ); assert.deepEqual(changes1, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 0, to: 0, fromPath: [0], toPath: [0], value: [{ type: 'p', children: [] }], }, ]); const [changes2, , ,] = t.editT( [1, 1], [new CRDTTreeNode(posT(), 'text', 'ab')], 0, timeT(), timeT, ); assert.deepEqual(changes2, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 1, to: 1, fromPath: [0, 0], toPath: [0, 0], value: [{ type: 'text', value: 'ab' }], }, ]); assert.deepEqual(t.toXML(), /*html*/ `

    ab

    `); const [changes3, , ,] = t.editT([1, 1], undefined, 1, timeT(), timeT); assert.deepEqual(changes3, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 1, to: 1, fromPath: [0, 0], toPath: [0, 0], }, ]); assert.deepEqual(t.toXML(), /*html*/ `

    ab

    `); assert.equal(t.getSize(), 6); // 02. Split position 2. t = new CRDTTree(new CRDTTreeNode(posT(), 'root'), timeT()); const [changes4, , ,] = t.editT( [0, 0], [new CRDTTreeNode(posT(), 'p')], 0, timeT(), timeT, ); assert.deepEqual(changes4, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 0, to: 0, fromPath: [0], toPath: [0], value: [{ type: 'p', children: [] }], }, ]); const [changes5, , ,] = t.editT( [1, 1], [new CRDTTreeNode(posT(), 'text', 'ab')], 0, timeT(), timeT, ); assert.deepEqual(changes5, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 1, to: 1, fromPath: [0, 0], toPath: [0, 0], value: [{ type: 'text', value: 'ab' }], }, ]); assert.deepEqual(t.toXML(), /*html*/ `

    ab

    `); const [changes6, , ,] = t.editT([2, 2], undefined, 1, timeT(), timeT); assert.deepEqual(changes6, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 2, to: 2, fromPath: [0, 1], toPath: [0, 1], }, ]); assert.deepEqual(t.toXML(), /*html*/ `

    a

    b

    `); assert.equal(t.getSize(), 6); // 03. Split position 3. t = new CRDTTree(new CRDTTreeNode(posT(), 'root'), timeT()); const [changes7, , ,] = t.editT( [0, 0], [new CRDTTreeNode(posT(), 'p')], 0, timeT(), timeT, ); assert.deepEqual(changes7, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 0, to: 0, fromPath: [0], toPath: [0], value: [{ type: 'p', children: [] }], }, ]); const [changes8, , ,] = t.editT( [1, 1], [new CRDTTreeNode(posT(), 'text', 'ab')], 0, timeT(), timeT, ); assert.deepEqual(changes8, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 1, to: 1, fromPath: [0, 0], toPath: [0, 0], value: [{ type: 'text', value: 'ab' }], }, ]); assert.deepEqual(t.toXML(), /*html*/ `

    ab

    `); const [changes9, , ,] = t.editT([3, 3], undefined, 1, timeT(), timeT); assert.deepEqual(changes9, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 3, to: 3, fromPath: [0, 2], toPath: [0, 2], }, ]); assert.deepEqual(t.toXML(), /*html*/ `

    ab

    `); assert.equal(t.getSize(), 6); }); it('Can split element nodes with attributes', function () { // 0 1 2 3 4 5 6 7 8 9 10 11 12 //

    h e l l o w o r l d

    const t = new CRDTTree(new CRDTTreeNode(posT(), 'root'), timeT()); const pNode = new CRDTTreeNode(posT(), 'p'); pNode.setAttrs({ bold: 'true' }, MTT); t.editT([0, 0], [pNode], 0, timeT(), timeT); t.editT( [1, 1], [new CRDTTreeNode(posT(), 'text', 'helloworld')], 0, timeT(), timeT, ); assert.deepEqual( t.toXML(), /*html*/ `

    helloworld

    `, ); // Split at position 6 (after 'hello'), splitLevel 1. t.editT([6, 6], undefined, 1, timeT(), timeT); assert.deepEqual( t.toXML(), /*html*/ `

    hello

    world

    `, ); }); it('Can split element nodes multi-level', function () { // 0 1 2 3 4 5 6 //

    a b

    // 01. Split nodes level 1. let t = new CRDTTree(new CRDTTreeNode(posT(), 'root'), timeT()); const [changes1, , ,] = t.editT( [0, 0], [new CRDTTreeNode(posT(), 'p')], 0, timeT(), timeT, ); assert.deepEqual(changes1, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 0, to: 0, fromPath: [0], toPath: [0], value: [{ type: 'p', children: [] }], }, ]); const [changes2, , ,] = t.editT( [1, 1], [new CRDTTreeNode(posT(), 'b')], 0, timeT(), timeT, ); assert.deepEqual(changes2, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 1, to: 1, fromPath: [0, 0], toPath: [0, 0], value: [{ type: 'b', children: [] }], }, ]); const [changes3, , ,] = t.editT( [2, 2], [new CRDTTreeNode(posT(), 'text', 'ab')], 0, timeT(), timeT, ); assert.deepEqual(changes3, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 2, to: 2, fromPath: [0, 0, 0], toPath: [0, 0, 0], value: [{ type: 'text', value: 'ab' }], }, ]); assert.deepEqual(t.toXML(), /*html*/ `

    ab

    `); const [changes4, , ,] = t.editT([3, 3], undefined, 1, timeT(), timeT); assert.deepEqual(changes4, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 3, to: 3, fromPath: [0, 0, 1], toPath: [0, 0, 1], }, ]); assert.deepEqual( t.toXML(), /*html*/ `

    ab

    `, ); // 02. Split nodes level 2. t = new CRDTTree(new CRDTTreeNode(posT(), 'root'), timeT()); const [changes5, , ,] = t.editT( [0, 0], [new CRDTTreeNode(posT(), 'p')], 0, timeT(), timeT, ); assert.deepEqual(changes5, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 0, to: 0, fromPath: [0], toPath: [0], value: [{ type: 'p', children: [] }], }, ]); const [changes6, , ,] = t.editT( [1, 1], [new CRDTTreeNode(posT(), 'b')], 0, timeT(), timeT, ); assert.deepEqual(changes6, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 1, to: 1, fromPath: [0, 0], toPath: [0, 0], value: [{ type: 'b', children: [] }], }, ]); const [changes7, , ,] = t.editT( [2, 2], [new CRDTTreeNode(posT(), 'text', 'ab')], 0, timeT(), timeT, ); assert.deepEqual(changes7, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 2, to: 2, fromPath: [0, 0, 0], toPath: [0, 0, 0], value: [{ type: 'text', value: 'ab' }], }, ]); assert.deepEqual(t.toXML(), /*html*/ `

    ab

    `); const [changes8, , ,] = t.editT([3, 3], undefined, 2, timeT(), timeT); assert.deepEqual(changes8, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 3, to: 3, fromPath: [0, 0, 1], toPath: [0, 0, 1], }, ]); assert.deepEqual( t.toXML(), /*html*/ `

    a

    b

    `, ); }); it('Can split and merge element nodes by edit', function () { const t = new CRDTTree(new CRDTTreeNode(posT(), 'root'), timeT()); const [changes1, , ,] = t.editT( [0, 0], [new CRDTTreeNode(posT(), 'p')], 0, timeT(), timeT, ); assert.deepEqual(changes1, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 0, to: 0, fromPath: [0], toPath: [0], value: [{ type: 'p', children: [] }], }, ]); const [changes2, , ,] = t.editT( [1, 1], [new CRDTTreeNode(posT(), 'text', 'abcd')], 0, timeT(), timeT, ); assert.deepEqual(changes2, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 1, to: 1, fromPath: [0, 0], toPath: [0, 0], value: [{ type: 'text', value: 'abcd' }], }, ]); assert.deepEqual(t.toXML(), /*html*/ `

    abcd

    `); assert.equal(t.getSize(), 6); // 0 1 2 3 4 5 6 7 8 //

    a b

    c d

    const [changes3, , ,] = t.editT([3, 3], undefined, 1, timeT(), timeT); assert.deepEqual(changes3, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 3, to: 3, fromPath: [0, 2], toPath: [0, 2], }, ]); assert.deepEqual(t.toXML(), /*html*/ `

    ab

    cd

    `); assert.equal(t.getSize(), 8); const [changes4, , ,] = t.editT([3, 5], undefined, 0, timeT(), timeT); assert.deepEqual(changes4, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 3, to: 5, fromPath: [0, 2], toPath: [1, 0], }, ]); assert.deepEqual(t.toXML(), /*html*/ `

    abcd

    `); assert.equal(t.getSize(), 6); }); }); describe('CRDTTree.Merge', function () { it('Can delete nodes between element nodes with edit', function () { // 01. Create a tree with 2 paragraphs. // 0 1 2 3 4 5 6 7 8 //

    a b

    c d

    const t = new CRDTTree(new CRDTTreeNode(posT(), 'root'), timeT()); const [changes1, , ,] = t.editT( [0, 0], [new CRDTTreeNode(posT(), 'p')], 0, timeT(), timeT, ); assert.deepEqual(changes1, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 0, to: 0, fromPath: [0], toPath: [0], value: [{ type: 'p', children: [] }], }, ]); const [changes2, , ,] = t.editT( [1, 1], [new CRDTTreeNode(posT(), 'text', 'ab')], 0, timeT(), timeT, ); assert.deepEqual(changes2, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 1, to: 1, fromPath: [0, 0], toPath: [0, 0], value: [{ type: 'text', value: 'ab' }], }, ]); const [changes3, , ,] = t.editT( [4, 4], [new CRDTTreeNode(posT(), 'p')], 0, timeT(), timeT, ); assert.deepEqual(changes3, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 4, to: 4, fromPath: [1], toPath: [1], value: [{ type: 'p', children: [] }], }, ]); const [changes4, , ,] = t.editT( [5, 5], [new CRDTTreeNode(posT(), 'text', 'cd')], 0, timeT(), timeT, ); assert.deepEqual(changes4, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 5, to: 5, fromPath: [1, 0], toPath: [1, 0], value: [{ type: 'text', value: 'cd' }], }, ]); assert.deepEqual(t.toXML(), /*html*/ `

    ab

    cd

    `); // 02. delete b, c and the second paragraph. // 0 1 2 3 4 //

    a d

    const [changes5, , ,] = t.editT([2, 6], undefined, 0, timeT(), timeT); assert.deepEqual(changes5, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 2, to: 6, fromPath: [0, 1], toPath: [1, 1], }, ]); assert.deepEqual(t.toXML(), /*html*/ `

    ad

    `); const node = t.toTestTreeNode(); assert.equal(node.visibleSize, 4); // root assert.equal(node.children![0].visibleSize, 2); // p assert.equal(node.children![0].children![0].visibleSize, 1); // a assert.equal(node.children![0].children![1].visibleSize, 1); // d // 03. insert a new text node at the start of the first paragraph. const [changes6, , ,] = t.editT( [1, 1], [new CRDTTreeNode(posT(), 'text', '@')], 0, timeT(), timeT, ); assert.deepEqual(changes6, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 1, to: 1, fromPath: [0, 0], toPath: [0, 0], value: [{ type: 'text', value: '@' }], }, ]); assert.deepEqual(t.toXML(), /*html*/ `

    @ad

    `); }); it('Can delete nodes between elements in different level with edit', function () { // 01. Create a tree with 2 paragraphs. // 0 1 2 3 4 5 6 7 8 9 10 //

    a b

    c d

    const t = new CRDTTree(new CRDTTreeNode(posT(), 'root'), timeT()); const [changes1, , ,] = t.editT( [0, 0], [new CRDTTreeNode(posT(), 'p')], 0, timeT(), timeT, ); assert.deepEqual(changes1, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 0, to: 0, fromPath: [0], toPath: [0], value: [{ type: 'p', children: [] }], }, ]); const [changes2, , ,] = t.editT( [1, 1], [new CRDTTreeNode(posT(), 'b')], 0, timeT(), timeT, ); assert.deepEqual(changes2, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 1, to: 1, fromPath: [0, 0], toPath: [0, 0], value: [{ type: 'b', children: [] }], }, ]); const [changes3, , ,] = t.editT( [2, 2], [new CRDTTreeNode(posT(), 'text', 'ab')], 0, timeT(), timeT, ); assert.deepEqual(changes3, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 2, to: 2, fromPath: [0, 0, 0], toPath: [0, 0, 0], value: [{ type: 'text', value: 'ab' }], }, ]); const [changes4, , ,] = t.editT( [6, 6], [new CRDTTreeNode(posT(), 'p')], 0, timeT(), timeT, ); assert.deepEqual(changes4, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 6, to: 6, fromPath: [1], toPath: [1], value: [{ type: 'p', children: [] }], }, ]); const [changes5, , ,] = t.editT( [7, 7], [new CRDTTreeNode(posT(), 'text', 'cd')], 0, timeT(), timeT, ); assert.deepEqual(changes5, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 7, to: 7, fromPath: [1, 0], toPath: [1, 0], value: [{ type: 'text', value: 'cd' }], }, ]); assert.deepEqual( t.toXML(), /*html*/ `

    ab

    cd

    `, ); // 02. delete b, c and second paragraph. // 0 1 2 3 4 5 //

    a d const [changes6, , ,] = t.editT([3, 8], undefined, 0, timeT(), timeT); assert.deepEqual(changes6, [ { actor: timeT().getActorID(), type: TreeChangeType.Content, from: 3, to: 8, fromPath: [0, 0, 1], toPath: [1, 1], }, ]); assert.deepEqual(t.toXML(), /*html*/ `

    ad

    `); }); it.skip('Can merge different levels with edit', function () { // TODO(hackerwins): Fix this test and add assertion for changes. // 01. edit between two element nodes in the same hierarchy. // 0 1 2 3 4 5 6 7 8 //

    a b

    let t = new CRDTTree(new CRDTTreeNode(posT(), 'root'), timeT()); t.editT([0, 0], [new CRDTTreeNode(posT(), 'p')], 0, timeT(), timeT); t.editT([1, 1], [new CRDTTreeNode(posT(), 'b')], 0, timeT(), timeT); t.editT([2, 2], [new CRDTTreeNode(posT(), 'i')], 0, timeT(), timeT); t.editT( [3, 3], [new CRDTTreeNode(posT(), 'text', 'ab')], 0, timeT(), timeT, ); assert.deepEqual( t.toXML(), /*html*/ `

    ab

    `, ); t.editT([5, 6], undefined, 0, timeT(), timeT); assert.deepEqual(t.toXML(), /*html*/ `

    ab

    `); // 02. edit between two element nodes in same hierarchy. t = new CRDTTree(new CRDTTreeNode(posT(), 'root'), timeT()); t.editT([0, 0], [new CRDTTreeNode(posT(), 'p')], 0, timeT(), timeT); t.editT([1, 1], [new CRDTTreeNode(posT(), 'b')], 0, timeT(), timeT); t.editT([2, 2], [new CRDTTreeNode(posT(), 'i')], 0, timeT(), timeT); t.editT( [3, 3], [new CRDTTreeNode(posT(), 'text', 'ab')], 0, timeT(), timeT, ); assert.deepEqual( t.toXML(), /*html*/ `

    ab

    `, ); t.editT([6, 7], undefined, 0, timeT(), timeT); assert.deepEqual(t.toXML(), /*html*/ `

    ab

    `); // 03. edit between text and element node in same hierarchy. t = new CRDTTree(new CRDTTreeNode(posT(), 'root'), timeT()); t.editT([0, 0], [new CRDTTreeNode(posT(), 'p')], 0, timeT(), timeT); t.editT([1, 1], [new CRDTTreeNode(posT(), 'b')], 0, timeT(), timeT); t.editT([2, 2], [new CRDTTreeNode(posT(), 'i')], 0, timeT(), timeT); t.editT( [3, 3], [new CRDTTreeNode(posT(), 'text', 'ab')], 0, timeT(), timeT, ); assert.deepEqual( t.toXML(), /*html*/ `

    ab

    `, ); t.editT([4, 6], undefined, 0, timeT(), timeT); assert.deepEqual(t.toXML(), /*html*/ `

    a

    `); // 04. edit between text and element node in same hierarchy. t = new CRDTTree(new CRDTTreeNode(posT(), 'root'), timeT()); t.editT([0, 0], [new CRDTTreeNode(posT(), 'p')], 0, timeT(), timeT); t.editT([1, 1], [new CRDTTreeNode(posT(), 'b')], 0, timeT(), timeT); t.editT([2, 2], [new CRDTTreeNode(posT(), 'i')], 0, timeT(), timeT); t.editT( [3, 3], [new CRDTTreeNode(posT(), 'text', 'ab')], 0, timeT(), timeT, ); assert.deepEqual( t.toXML(), /*html*/ `

    ab

    `, ); t.editT([5, 7], undefined, 0, timeT(), timeT); assert.deepEqual(t.toXML(), /*html*/ `

    ab

    `); // 05. edit between text and element node in same hierarchy. t = new CRDTTree(new CRDTTreeNode(posT(), 'root'), timeT()); t.editT([0, 0], [new CRDTTreeNode(posT(), 'p')], 0, timeT(), timeT); t.editT([1, 1], [new CRDTTreeNode(posT(), 'b')], 0, timeT(), timeT); t.editT([2, 2], [new CRDTTreeNode(posT(), 'i')], 0, timeT(), timeT); t.editT( [3, 3], [new CRDTTreeNode(posT(), 'text', 'ab')], 0, timeT(), timeT, ); assert.deepEqual( t.toXML(), /*html*/ `

    ab

    `, ); t.editT([4, 7], undefined, 0, timeT(), timeT); assert.deepEqual(t.toXML(), /*html*/ `

    a

    `); // 06. edit between text and element node in same hierarchy. t = new CRDTTree(new CRDTTreeNode(posT(), 'root'), timeT()); t.editT([0, 0], [new CRDTTreeNode(posT(), 'p')], 0, timeT(), timeT); t.editT([1, 1], [new CRDTTreeNode(posT(), 'b')], 0, timeT(), timeT); t.editT([2, 2], [new CRDTTreeNode(posT(), 'i')], 0, timeT(), timeT); t.editT( [3, 3], [new CRDTTreeNode(posT(), 'text', 'ab')], 0, timeT(), timeT, ); assert.deepEqual( t.toXML(), /*html*/ `

    ab

    `, ); t.editT([3, 7], undefined, 0, timeT(), timeT); assert.deepEqual(t.toXML(), /*html*/ `

    `); // 07. edit between text and element node in same hierarchy. t = new CRDTTree(new CRDTTreeNode(posT(), 'root'), timeT()); t.editT([0, 0], [new CRDTTreeNode(posT(), 'p')], 0, timeT(), timeT); t.editT( [1, 1], [new CRDTTreeNode(posT(), 'text', 'ab')], 0, timeT(), timeT, ); t.editT([4, 4], [new CRDTTreeNode(posT(), 'p')], 0, timeT(), timeT); t.editT([5, 5], [new CRDTTreeNode(posT(), 'b')], 0, timeT(), timeT); t.editT( [6, 6], [new CRDTTreeNode(posT(), 'text', 'cd')], 0, timeT(), timeT, ); t.editT([10, 10], [new CRDTTreeNode(posT(), 'p')], 0, timeT(), timeT); t.editT( [11, 11], [new CRDTTreeNode(posT(), 'text', 'ef')], 0, timeT(), timeT, ); assert.deepEqual( t.toXML(), /*html*/ `

    ab

    cd

    ef

    `, ); t.editT([9, 10], undefined, 0, timeT(), timeT); assert.deepEqual( t.toXML(), /*html*/ `

    ab

    cd

    ef

    `, ); }); }); ================================================ FILE: packages/sdk/test/unit/document/document_size_test.ts ================================================ import { describe, it, assert } from 'vitest'; import { Counter, Document, JSONObject, Text, Tree, } from '@yorkie-js/sdk/src/yorkie'; import { CRDTTreeNode, toXML } from '@yorkie-js/sdk/src/document/crdt/tree'; import { InitialTimeTicket as ITT } from '@yorkie-js/sdk/src/document/time/ticket'; import { idT } from '@yorkie-js/sdk/test/helper/helper'; import { RHT } from '@yorkie-js/sdk/src/document/crdt/rht'; describe('Node Size', () => { it('split tree node test', function () { const root = new CRDTTreeNode(idT, 'r', []); const para = new CRDTTreeNode(idT, 'p', []); root.append(para); para.append(new CRDTTreeNode(idT, 'text', 'helloworld')); const left = para.children[0]; const [rightText, diffText] = left.splitText(5, 0); assert.deepEqual(diffText, { data: 0, meta: 24 }); assert.deepEqual(left.getDataSize(), { data: 10, meta: 24 }); assert.deepEqual(rightText!.getDataSize(), { data: 10, meta: 24 }); const [rightElem, diffElem] = para.splitElement(1, () => ITT); assert.deepEqual(diffElem, { data: 0, meta: 24 }); assert.equal(toXML(para), '

    hello

    '); assert.equal(toXML(rightElem!), '

    world

    '); }); it('split tree node with attribute test', () => { const attributes = new RHT(); attributes.set('bold', 'true', ITT); const root = new CRDTTreeNode(idT, 'r'); const para = new CRDTTreeNode(idT, 'p', undefined, attributes); root.append(para); para.append(new CRDTTreeNode(idT, 'text', 'helloworld')); assert.equal(toXML(root), '

    helloworld

    '); // split text node const left = para.children[0]; left.splitText(5, 0); // split element node const [rightElem, diffElem] = para.splitElement(1, () => ITT); assert.deepEqual(diffElem, { data: 16, meta: 48 }); assert.equal(toXML(para), '

    hello

    '); assert.equal(toXML(rightElem!), '

    world

    '); }); }); describe('Document Size', () => { it('primitive and object test', function () { const doc = new Document<{ k0: null; k1: boolean; k2: number; k3: bigint; k4: number; k5: string; k6: Uint8Array; k7: Date; k8: undefined; }>('test-doc'); // NOTE(hackerwins): O(Created) + P(CreatedAt, MovedAt) doc.update((root) => (root['k0'] = null)); assert.deepEqual(doc.getDocSize().live, { data: 8, meta: 72 }); // NOTE(hackerwins): O(Created) + P(CreatedAt, MovedAt) * 2 doc.update((root) => (root['k1'] = true)); assert.deepEqual(doc.getDocSize().live, { data: 12, meta: 120 }); doc.update((root) => (root['k2'] = 2147483647)); assert.deepEqual(doc.getDocSize().live, { data: 16, meta: 168 }); doc.update((root) => (root['k3'] = 9223372036854775807n)); assert.deepEqual(doc.getDocSize().live, { data: 24, meta: 216 }); doc.update((root) => (root['k4'] = 1.79)); assert.deepEqual(doc.getDocSize().live, { data: 32, meta: 264 }); doc.update((root) => (root['k5'] = '4')); assert.deepEqual(doc.getDocSize().live, { data: 34, meta: 312 }); doc.update((root) => (root['k6'] = new Uint8Array([65, 66]))); assert.deepEqual(doc.getDocSize().live, { data: 36, meta: 360 }); doc.update((root) => (root['k7'] = new Date())); assert.deepEqual(doc.getDocSize().live, { data: 44, meta: 408 }); doc.update((root) => (root['k8'] = undefined)); assert.deepEqual(doc.getDocSize().live, { data: 52, meta: 456 }); }); it('array test', function () { const doc = new Document<{ arr: Array }>('test-doc'); doc.update((root) => (root['arr'] = [])); assert.deepEqual(doc.getDocSize().live, { data: 0, meta: 72 }); doc.update((root) => root['arr'].push('a')); assert.deepEqual(doc.getDocSize().live, { data: 2, meta: 96 }); assert.deepEqual(doc.getDocSize().gc, { data: 0, meta: 0 }); doc.update((root) => delete root['arr'][0]); assert.deepEqual(doc.getDocSize().live, { data: 0, meta: 72 }); assert.deepEqual(doc.getDocSize().gc, { data: 2, meta: 48 }); }); it('counter test', function () { const doc = new Document<{ counter: Counter }>('test-doc'); doc.update((root) => (root.counter = new Counter(0))); assert.deepEqual(doc.getDocSize().live, { data: 4, meta: 72 }); }); it('text test', function () { const doc = new Document<{ text: Text }>('test-doc'); doc.update((root) => (root.text = new Text())); assert.deepEqual(doc.getDocSize().live, { data: 0, meta: 72 }); assert.deepEqual(doc.getDocSize().gc, { data: 0, meta: 0 }); doc.update((root) => root.text.edit(0, 0, 'helloworld')); assert.deepEqual(doc.getDocSize().live, { data: 20, meta: 96 }); assert.deepEqual(doc.getDocSize().gc, { data: 0, meta: 0 }); doc.update((root) => root.text.edit(5, 5, ' ')); assert.deepEqual(doc.getDocSize().live, { data: 22, meta: 144 }); assert.deepEqual(doc.getDocSize().gc, { data: 0, meta: 0 }); doc.update((root) => root.text.edit(6, 11, '')); assert.deepEqual(doc.getDocSize().live, { data: 12, meta: 120 }); assert.deepEqual(doc.getDocSize().gc, { data: 10, meta: 48 }); doc.update((root) => root.text.setStyle(0, 5, { bold: true })); assert.deepEqual(doc.getDocSize().live, { data: 28, meta: 144 }); assert.deepEqual(doc.getDocSize().gc, { data: 10, meta: 48 }); doc.update((root) => root.text.edit(1, 1, '')); assert.equal( doc.toJSON(), `{"text":[{"attrs":{"bold":true},"val":"h"},{"attrs":{"bold":true},"val":"ello"},{"val":" "}]}`, ); assert.deepEqual(doc.getDocSize().live, { data: 44, meta: 192 }); assert.deepEqual(doc.getDocSize().gc, { data: 10, meta: 48 }); }); it('tree test', function () { const doc = new Document<{ tree: Tree }>('test-doc'); doc.update((root) => { root.tree = new Tree({ type: 'doc', children: [{ type: 'p', children: [] }], }); assert.equal(root.tree.toXML(), `

    `); }); assert.deepEqual(doc.getDocSize().live, { data: 0, meta: 120 }); assert.deepEqual(doc.getDocSize().gc, { data: 0, meta: 0 }); doc.update((root) => { root.tree.edit(1, 1, { type: 'text', value: 'helloworld', }); }); assert.equal(doc.getRoot().tree.toXML(), `

    helloworld

    `); assert.deepEqual(doc.getDocSize().live, { data: 20, meta: 144 }); assert.deepEqual(doc.getDocSize().gc, { data: 0, meta: 0 }); doc.update((root) => { root.tree.edit(1, 7, { type: 'text', value: 'w', }); }); assert.equal(doc.getRoot().tree.toXML(), `

    world

    `); assert.deepEqual(doc.getDocSize().live, { data: 10, meta: 168 }); assert.deepEqual(doc.getDocSize().gc, { data: 12, meta: 48 }); doc.update((root) => { root.tree.edit(7, 7, { type: 'p', children: [{ type: 'text', value: 'abcd' }], }); }); assert.equal( doc.getRoot().tree.toXML(), `

    world

    abcd

    `, ); assert.deepEqual(doc.getDocSize().live, { data: 18, meta: 216 }); assert.deepEqual(doc.getDocSize().gc, { data: 12, meta: 48 }); doc.update((root) => root.tree.edit(7, 13)); assert.equal(doc.getRoot().tree.toXML(), `

    world

    `); assert.deepEqual(doc.getDocSize().live, { data: 10, meta: 168 }); assert.deepEqual(doc.getDocSize().gc, { data: 20, meta: 144 }); doc.update((root) => { root.tree.style(0, 7, { bold: true }); }); assert.equal( doc.getRoot().tree.toXML(), `

    world

    `, ); assert.deepEqual(doc.getDocSize().live, { data: 26, meta: 192 }); assert.deepEqual(doc.getDocSize().gc, { data: 20, meta: 144 }); doc.update((root) => { root.tree.removeStyle(0, 7, ['bold']); }); assert.equal(doc.getRoot().tree.toXML(), `

    world

    `); assert.deepEqual(doc.getDocSize().live, { data: 10, meta: 168 }); assert.deepEqual(doc.getDocSize().gc, { data: 36, meta: 168 }); }); it('gc test', function () { const doc = new Document>( 'test-doc', ); doc.update((root) => { root['num'] = 1; root['str'] = 'hello'; }); assert.deepEqual(doc.getDocSize().live, { data: 14, meta: 120 }); doc.update((root) => { delete root['num']; }); assert.deepEqual(doc.getDocSize().live, { data: 10, meta: 72 }); // NOTE(hackerwins): P(CreatedAt, MovedAt, RemovedAt) assert.deepEqual(doc.getDocSize().gc, { data: 4, meta: 72 }); }); it('deep copy test', function () { const doc = new Document<{ counter: Counter }>('test-doc'); doc.update((root) => (root.counter = new Counter(0))); const clone = doc.getClone()!.root.deepcopy(); assert.deepEqual(doc.getDocSize(), clone.getDocSize()); }); it('deep copy for nested element test', function () { const doc = new Document<{ arr: Array }>('test-doc'); doc.update((root) => (root['arr'] = [])); doc.update((root) => root['arr'].push(new Counter(0))); const clone = doc.getClone()!.root.deepcopy(); assert.deepEqual(clone.getDocSize(), doc.getDocSize()); }); }); ================================================ FILE: packages/sdk/test/unit/document/document_test.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { describe, it, assert, vi, afterEach } from 'vitest'; import { EventCollector, maxVectorOf, DefaultSnapshotThreshold, } from '@yorkie-js/sdk/test/helper/helper'; import { Document, DocEventType } from '@yorkie-js/sdk/src/document/document'; import { DocEventType as PbDocEventType } from '@yorkie-js/sdk/src/api/yorkie/v1/resources_pb'; import { OpInfo } from '@yorkie-js/sdk/src/document/operation/operation'; import { JSONArray, Text, Counter, Tree } from '@yorkie-js/sdk/src/yorkie'; import { withTwoClientsAndDocuments } from '@yorkie-js/sdk/test/integration/integration_helper'; describe.sequential('Document', function () { afterEach(() => { vi.restoreAllMocks(); }); it('doesnt return error when trying to delete a missing key', function () { const doc = new Document<{ k1?: string; k2?: string; k3: Array; k4: unknown; }>('test-doc'); doc.update((root) => { root.k1 = '1'; root.k2 = '2'; root.k3 = [1, 2]; }); doc.update((root) => { delete root.k1; delete root.k3[0]; delete root.k4; // missing key delete root.k3[2]; // missing index }); }); it('generic type parameter test', function () { type Todos = { todos: Array<{ title: string; done: boolean }> }; const doc = new Document('test-doc'); doc.update((root) => { root.todos = [ { title: 'buy milk', done: false, }, ]; }); assert.equal( `{"todos":[{"title":"buy milk","done":false}]}`, doc.toSortedJSON(), ); doc.update((root) => { root.todos.push({ title: 'drink water', done: true, }); }); const expectedTodos = [ '{"title":"buy milk","done":false}', '{"title":"drink water","done":true}', ]; assert.equal(`{"todos":[${expectedTodos.join(',')}]}`, doc.toSortedJSON()); }); it('null value test', function () { const doc = new Document<{ data: { '': null; null: null } }>('test-doc'); doc.update((root) => { root.data = { '': null, null: null, }; }); assert.equal('{"data":{"":null,"null":null}}', doc.toSortedJSON()); assert.equal(null, doc.getValueByPath('$.')); assert.equal(null, doc.getValueByPath('$.null')); }); it('delete elements of array test', function () { const doc = new Document<{ data: Array }>('test-doc'); doc.update((root) => { root.data = [0, 1, 2]; }); assert.equal('{"data":[0,1,2]}', doc.toSortedJSON()); assert.equal(3, doc.getRoot().data.length); doc.update((root) => { delete root.data[0]; }); assert.equal('{"data":[1,2]}', doc.toSortedJSON()); assert.equal(2, doc.getRoot().data.length); doc.update((root) => { delete root.data[1]; }); assert.equal('{"data":[1]}', doc.toSortedJSON()); assert.equal(1, doc.getRoot().data.length); doc.update((root) => { delete root.data[0]; }); assert.equal('{"data":[]}', doc.toSortedJSON()); assert.equal(0, doc.getRoot().data.length); }); it('splice array with number', function () { const doc = new Document<{ list: Array }>('test-doc'); doc.update((root) => { root.list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; }); assert.equal(doc.toSortedJSON(), '{"list":[0,1,2,3,4,5,6,7,8,9]}'); doc.update((root) => { const res = root.list.splice(1, 1); assert.equal(res.toString(), '1'); }); assert.equal(doc.toSortedJSON(), '{"list":[0,2,3,4,5,6,7,8,9]}'); doc.update((root) => { const res = root.list.splice(1, 2); assert.equal(res.toString(), '2,3'); }); assert.equal(doc.toSortedJSON(), '{"list":[0,4,5,6,7,8,9]}'); doc.update((root) => { const res = root.list.splice(3); assert.equal(res.toString(), '6,7,8,9'); }); assert.equal(doc.toSortedJSON(), '{"list":[0,4,5]}'); doc.update((root) => { const res = root.list.splice(1, 200); assert.equal(res.toString(), '4,5'); }); assert.equal(doc.toSortedJSON(), '{"list":[0]}'); doc.update((root) => { const res = root.list.splice(0, 0, 1, 2, 3); assert.equal(res.toString(), ''); }); assert.equal(doc.toSortedJSON(), '{"list":[1,2,3,0]}'); doc.update((root) => { const res = root.list.splice(1, 2, 4); assert.equal(res.toString(), '2,3'); }); assert.equal(doc.toSortedJSON(), '{"list":[1,4,0]}'); doc.update((root) => { const res = root.list.splice(2, 200, 2); assert.equal(res.toString(), '0'); }); assert.equal(doc.toSortedJSON(), '{"list":[1,4,2]}'); doc.update((root) => { const res = root.list.splice(2, 0, 3); assert.equal(res.toString(), ''); }); assert.equal(doc.toSortedJSON(), '{"list":[1,4,3,2]}'); doc.update((root) => { const res = root.list.splice(5, 10, 1, 2); assert.equal(res.toString(), ''); }); assert.equal(doc.toSortedJSON(), '{"list":[1,4,3,2,1,2]}'); doc.update((root) => { const res = root.list.splice(1, -3, 5); assert.equal(res.toString(), ''); }); assert.equal(doc.toSortedJSON(), '{"list":[1,5,4,3,2,1,2]}'); doc.update((root) => { const res = root.list.splice(-2, -11, 5, 6); assert.equal(res.toString(), ''); }); assert.equal(doc.toSortedJSON(), '{"list":[1,5,4,3,2,5,6,1,2]}'); doc.update((root) => { const res = root.list.splice(-11, 2, 7, 8); assert.equal(res.toString(), '1,5'); }); assert.equal(doc.toSortedJSON(), '{"list":[7,8,4,3,2,5,6,1,2]}'); }); it('splice array with string', function () { const doc = new Document<{ list: Array }>('test-doc'); doc.update((root) => { root.list = ['a', 'b', 'c']; }); assert.equal(doc.toSortedJSON(), '{"list":["a","b","c"]}'); doc.update((root) => { const res = root.list.splice(1, 1); assert.equal(res.toString(), 'b'); }); assert.equal(doc.toSortedJSON(), '{"list":["a","c"]}'); }); it('splice array with object', function () { const doc = new Document<{ list: Array<{ id: number }> }>('test-doc'); doc.update((root) => { root.list = [{ id: 1 }, { id: 2 }]; }); assert.equal(doc.toSortedJSON(), '{"list":[{"id":1},{"id":2}]}'); doc.update((root) => { const res = root.list.splice(1, 1); assert.equal(res.toString(), '{"id":2}'); }); assert.equal(doc.toSortedJSON(), '{"list":[{"id":1}]}'); }); it('splice array with nested object', function () { const doc = new Document<{ list: Array<{ point: { x?: number; y?: number } }>; }>('test-doc'); doc.update((root) => { root.list = [{ point: { x: 0, y: 0 } }, { point: { x: 1, y: 1 } }]; delete root.list[1].point.y; }); assert.equal( doc.toSortedJSON(), '{"list":[{"point":{"x":0,"y":0}},{"point":{"x":1}}]}', ); doc.update((root) => { const res = root.list.splice(1, 1); assert.equal(res.toString(), '{"point":{"x":1}}'); }); assert.equal(doc.toSortedJSON(), '{"list":[{"point":{"x":0,"y":0}}]}'); }); describe('should support standard array read-only operations', () => { type TestDoc = { empty: []; list: Array; objects: Array<{ id: string }>; }; it('concat()', () => { const doc = new Document('test-doc'); doc.update((root) => { root.list = [1, 2, 3]; }); assert.deepStrictEqual( doc.getRoot().list.concat([4, 5, 6]), [1, 2, 3, 4, 5, 6], ); }); it('entries()', () => { const doc = new Document('test-doc'); doc.update((root) => { root.list = [1, 2, 3]; }); const copy = []; for (const x of doc.getRoot().list.entries()) { copy.push(x); } assert.deepStrictEqual(copy, [ [0, 1], [1, 2], [2, 3], ]); assert.deepStrictEqual( [...doc.getRoot().list.entries()], [ [0, 1], [1, 2], [2, 3], ], ); }); it('every()', () => { const doc = new Document('test-doc'); doc.update((root) => { root.empty = []; root.list = [1, 2, 3]; }); assert.strictEqual( doc.getRoot().empty.every(() => false), true, ); assert.strictEqual( doc.getRoot().list.every((val) => val > 0), true, ); assert.strictEqual( doc.getRoot().list.every((val) => val > 2), false, ); assert.strictEqual( doc.getRoot().list.every((val, index) => index < 3), true, ); // check that in the callback, 'this' is set to the second argument of method doc.getRoot().list.every( function (this: any) { assert.strictEqual(this.hello, 'world'); return true; }, { hello: 'world' }, ); }); it('filter()', () => { const doc = new Document('test-doc'); doc.update((root) => { root.empty = []; root.list = [1, 2, 3]; }); assert.deepStrictEqual( doc.getRoot().empty.filter(() => true), [], ); assert.deepStrictEqual( doc.getRoot().list.filter((num) => num % 2 === 1), [1, 3], ); assert.deepStrictEqual( doc.getRoot().list.filter(() => true), [1, 2, 3], ); doc.getRoot().list.filter( function (this: any) { assert.strictEqual(this.hello, 'world'); return true; }, { hello: 'world' }, ); }); it('find()', () => { const doc = new Document('test-doc'); doc.update((root) => { root.empty = []; root.list = [1, 2, 3]; root.objects = [{ id: 'first' }, { id: 'second' }]; }); assert.strictEqual( doc.getRoot().empty.find(() => true), undefined, ); assert.strictEqual( doc.getRoot().list.find((num) => num >= 2), 2, ); assert.strictEqual( doc.getRoot().list.find((num) => num >= 4), undefined, ); assert.deepEqual( doc.getRoot().objects.find((obj) => obj.id === 'first'), { id: 'first' }, ); doc.getRoot().list.find( function (this: any) { assert.strictEqual(this.hello, 'world'); return true; }, { hello: 'world' }, ); }); it('findIndex()', () => { const doc = new Document('test-doc'); doc.update((root) => { root.empty = []; root.list = [1, 2, 3]; }); assert.strictEqual( doc.getRoot().empty.findIndex(() => true), -1, ); assert.strictEqual( doc.getRoot().list.findIndex((num) => num >= 2), 1, ); assert.strictEqual( doc.getRoot().list.findIndex((num) => num >= 4), -1, ); doc.getRoot().list.findIndex( function (this: any) { assert.strictEqual(this.hello, 'world'); return true; }, { hello: 'world' }, ); }); it('forEach()', () => { const doc = new Document('test-doc'); doc.update((root) => { root.empty = []; root.list = [1, 2, 3]; }); doc .getRoot() .empty.forEach(() => assert.fail('was called', 'not called', 'callback error'), ); const testList: Array = []; doc.getRoot().list.forEach((num) => testList.push(num + 1)); assert.deepStrictEqual(testList, [2, 3, 4]); doc.getRoot().list.forEach( function (this: any) { assert.strictEqual(this.hello, 'world'); return true; }, { hello: 'world' }, ); }); it('includes()', () => { type TestDoc = { list: Array }; const doc = new Document('test-doc'); doc.update((root) => { root.list = [1, 2, 3, NaN, '4']; }); assert.strictEqual(doc.getRoot().list.includes(3), true, '1'); assert.strictEqual(doc.getRoot().list.includes(0), false, '2'); assert.strictEqual(doc.getRoot().list.includes(1, 1), false, '3'); assert.strictEqual(doc.getRoot().list.includes(3, -4), true, '4'); assert.strictEqual(doc.getRoot().list.includes(3, -100), true, '5'); assert.strictEqual(doc.getRoot().list.includes(3, 100), false, '6'); assert.strictEqual(doc.getRoot().list.includes(NaN), true, '7'); assert.strictEqual(doc.getRoot().list.includes(4), false, '8'); assert.strictEqual(doc.getRoot().list.includes('4'), true, '9'); }); it('includes() with objects', () => { const doc = new Document('test-doc'); doc.update((root) => { root.objects = [{ id: 'first' }, { id: 'second' }]; }); assert.strictEqual( doc.getRoot().objects.includes(doc.getRoot().objects[0]), true, ); }); it('indexOf()', () => { const doc = new Document('test-doc'); doc.update((root) => { root.list = [1, 2, 3, 3]; }); assert.strictEqual(doc.getRoot().list.indexOf(3), 2); assert.strictEqual(doc.getRoot().list.indexOf(0), -1); assert.strictEqual(doc.getRoot().list.indexOf(1, 1), -1); assert.strictEqual(doc.getRoot().list.indexOf(2, -3), 1); }); it('indexOf() with objects', () => { const doc = new Document('test-doc'); doc.update((root) => { root.objects = [{ id: 'first' }, { id: 'second' }]; }); assert.strictEqual( doc.getRoot().objects.indexOf(doc.getRoot().objects[1]), 1, ); }); it('join()', () => { const doc = new Document('test-doc'); doc.update((root) => { root.empty = []; root.list = [1, 2, 3]; }); assert.strictEqual(doc.getRoot().empty.join(','), ''); assert.strictEqual(doc.getRoot().list.join(), '1,2,3'); assert.strictEqual(doc.getRoot().list.join(''), '123'); assert.strictEqual(doc.getRoot().list.join(', '), '1, 2, 3'); }); it('keys()', () => { const doc = new Document('test-doc'); doc.update((root) => { root.list = [1, 2, 3]; }); const keys = []; for (const x of doc.getRoot().list.keys()) { keys.push(x); } assert.deepStrictEqual(keys, [0, 1, 2]); assert.deepStrictEqual([...doc.getRoot().list.keys()], [0, 1, 2]); }); it('lastIndexOf()', () => { const doc = new Document('test-doc'); doc.update((root) => { root.list = [1, 2, 3, 3]; }); assert.strictEqual(doc.getRoot().list.lastIndexOf(3), 3); assert.strictEqual(doc.getRoot().list.lastIndexOf(0), -1); assert.strictEqual(doc.getRoot().list.lastIndexOf(3, 1), -1); assert.strictEqual(doc.getRoot().list.lastIndexOf(3, 2), 2); assert.strictEqual(doc.getRoot().list.lastIndexOf(3, -1), 3); }); it('lastIndexOf() with objects', () => { const doc = new Document('test-doc'); doc.update((root) => { root.objects = [{ id: 'first' }, { id: 'second' }]; }); assert.strictEqual( doc.getRoot().objects.lastIndexOf(doc.getRoot().objects[1]), 1, ); }); it('map()', () => { const doc = new Document('test-doc'); doc.update((root) => { root.empty = []; root.list = [1, 2, 3]; }); assert.deepStrictEqual( doc.getRoot().empty.map((num) => num * 2), [], ); assert.deepStrictEqual( doc.getRoot().list.map((num) => num * 2), [2, 4, 6], ); assert.deepStrictEqual( doc.getRoot().list.map((num, index) => index + '->' + num), ['0->1', '1->2', '2->3'], ); doc.getRoot().list.map( function (this: any) { assert.strictEqual(this.hello, 'world'); return true; }, { hello: 'world' }, ); }); it('reduce()', () => { const doc = new Document('test-doc'); doc.update((root) => { root.empty = []; root.list = [1, 2, 3]; }); assert.strictEqual( doc.getRoot().empty.reduce((sum, val) => sum + val, 0), 0, ); assert.strictEqual( doc.getRoot().list.reduce((sum, val) => sum + val, 0), 6, ); assert.strictEqual( doc.getRoot().list.reduce((sum, val) => sum + val, ''), '123', ); assert.strictEqual( doc.getRoot().list.reduce((sum, val) => sum + val), 6, ); assert.strictEqual( doc .getRoot() .list.reduce( (sum, val, index) => (index % 2 === 0 ? sum + val : sum), 0, ), 4, ); }); it('reduceRight()', () => { const doc = new Document('test-doc'); doc.update((root) => { root.empty = []; root.list = [1, 2, 3]; }); assert.strictEqual( doc.getRoot().empty.reduceRight((sum, val) => sum + val, 0), 0, ); assert.strictEqual( doc.getRoot().list.reduceRight((sum, val) => sum + val, 0), 6, ); assert.strictEqual( doc.getRoot().list.reduceRight((sum, val) => sum + val, ''), '321', ); assert.strictEqual( doc.getRoot().list.reduceRight((sum, val) => sum + val), 6, ); assert.strictEqual( doc .getRoot() .list.reduceRight( (sum, val, index) => (index % 2 === 0 ? sum + val : sum), 0, ), 4, ); }); it('slice()', () => { const doc = new Document('test-doc'); doc.update((root) => { root.empty = []; root.list = [1, 2, 3]; }); assert.deepStrictEqual(doc.getRoot().empty.slice(), []); assert.deepStrictEqual(doc.getRoot().list.slice(2), [3]); assert.deepStrictEqual(doc.getRoot().list.slice(-2), [2, 3]); assert.deepStrictEqual(doc.getRoot().list.slice(0, 0), []); assert.deepStrictEqual(doc.getRoot().list.slice(0, 1), [1]); assert.deepStrictEqual(doc.getRoot().list.slice(0, -1), [1, 2]); }); it('some()', () => { const doc = new Document('test-doc'); doc.update((root) => { root.empty = []; root.list = [1, 2, 3]; }); assert.strictEqual( doc.getRoot().empty.some(() => true), false, ); assert.strictEqual( doc.getRoot().list.some((val) => val > 2), true, ); assert.strictEqual( doc.getRoot().list.some((val) => val > 4), false, ); assert.strictEqual( doc.getRoot().list.some((val, index) => index > 2), false, ); doc.getRoot().list.some( function (this: any) { assert.strictEqual(this.hello, 'world'); return true; }, { hello: 'world' }, ); }); it('toString()', () => { const doc = new Document('test-doc'); doc.update((root) => { root.empty = []; root.list = [1, 2, 3]; root.objects = [{ id: '1' }, { id: '2' }, { id: '3' }]; }); assert.strictEqual(doc.getRoot().empty.toString(), ''); assert.strictEqual(doc.getRoot().list.toString(), '1,2,3'); // NOTE: This is not the same as the listObjects.toString() // "[object object],[object object],[object object]" assert.strictEqual( doc.getRoot().objects.toString(), '{"id":"1"},{"id":"2"},{"id":"3"}', ); }); it('values()', () => { const doc = new Document('test-doc'); doc.update((root) => { root.list = [1, 2, 3]; }); const values = []; for (const x of doc.getRoot().list.values()) { values.push(x); } assert.deepStrictEqual(values, [1, 2, 3]); assert.deepStrictEqual([...doc.getRoot().list.values()], [1, 2, 3]); }); it('should allow mutation of objects returned from built in list iteration', () => { const doc = new Document('test-doc'); doc.update((root) => { root.objects = [{ id: 'first' }, { id: 'second' }]; }); doc.update((root) => { for (const obj of root.objects) { if (obj.id === 'first') { obj.id = 'FIRST'; } } }); assert.equal( doc.toSortedJSON(), '{"objects":[{"id":"FIRST"},{"id":"second"}]}', ); }); it('should allow mutation of objects returned from readonly list methods', () => { const doc = new Document('test-doc'); doc.update((root) => { root.objects = [{ id: 'first' }, { id: 'second' }]; }); doc.update((root) => { root.objects.find((obj) => obj.id === 'first')!.id = 'FIRST'; }); assert.equal( doc.toSortedJSON(), '{"objects":[{"id":"FIRST"},{"id":"second"}]}', ); }); }); it('move elements before a specific node of array', function () { const doc = new Document<{ data: JSONArray }>('test-doc'); doc.update((root) => { root.data = [0, 1, 2] as JSONArray; }); assert.equal('{"data":[0,1,2]}', doc.toSortedJSON()); assert.equal(3, doc.getRoot().data.length); doc.update((root) => { const zero = root.data.getElementByIndex(0); const two = root.data.getElementByIndex(2); root.data.moveBefore(two.getID(), zero.getID()); }); assert.equal('{"data":[1,0,2]}', doc.toSortedJSON()); assert.equal(3, doc.getRoot().data.length); doc.update((root) => { root.data.push(3); const one = root.data.getElementByIndex(1); const three = root.data.getElementByIndex(3); root.data.moveBefore(one.getID(), three.getID()); assert.equal('{"data":[1,3,0,2]}', root.toJSON()); }); assert.equal('{"data":[1,3,0,2]}', doc.toSortedJSON()); assert.equal(4, doc.getRoot().data.length); }); it('simple move elements before a specific node of array', function () { const doc = new Document<{ data: JSONArray }>('test-doc'); doc.update((root) => { root.data = [0, 1, 2] as JSONArray; }); assert.equal('{"data":[0,1,2]}', doc.toSortedJSON()); assert.equal(3, doc.getRoot().data.length); doc.update((root) => { root.data.push(3); const one = root.data.getElementByIndex(1); const three = root.data.getElementByIndex(3); root.data.moveBefore(one.getID(), three.getID()); assert.equal('{"data":[0,3,1,2]}', root.toJSON()); }); assert.equal('{"data":[0,3,1,2]}', doc.toSortedJSON()); assert.equal(4, doc.getRoot().data.length); }); it('move elements after a specific node of array', function () { const doc = new Document<{ data: JSONArray }>('test-doc'); doc.update((root) => { root.data = [0, 1, 2] as JSONArray; }); assert.equal('{"data":[0,1,2]}', doc.toSortedJSON()); assert.equal(3, doc.getRoot().data.length); doc.update((root) => { const zero = root.data.getElementByIndex(0); const two = root.data.getElementByIndex(2); root.data.moveAfter(two.getID(), zero.getID()); }); assert.equal('{"data":[1,2,0]}', doc.toSortedJSON()); assert.equal(3, doc.getRoot().data.length); doc.update((root) => { root.data.push(3); const one = root.data.getElementByIndex(1); const three = root.data.getElementByIndex(3); root.data.moveAfter(one.getID(), three.getID()); assert.equal('{"data":[1,2,3,0]}', root.toJSON()); }); assert.equal('{"data":[1,2,3,0]}', doc.toSortedJSON()); assert.equal(4, doc.getRoot().data.length); }); it('simple move elements after a specific node of array', function () { const doc = new Document<{ data: JSONArray }>('test-doc'); doc.update((root) => { root.data = [0, 1, 2] as JSONArray; }); assert.equal('{"data":[0,1,2]}', doc.toSortedJSON()); assert.equal(3, doc.getRoot().data.length); doc.update((root) => { root.data.push(3); const one = root.data.getElementByIndex(1); const three = root.data.getElementByIndex(3); root.data.moveAfter(one.getID(), three.getID()); assert.equal('{"data":[0,1,3,2]}', root.toJSON()); }); assert.equal('{"data":[0,1,3,2]}', doc.toSortedJSON()); assert.equal(4, doc.getRoot().data.length); }); it('move elements at the first of array', function () { const doc = new Document<{ data: JSONArray }>('test-doc'); doc.update((root) => { root.data = [0, 1, 2] as JSONArray; }); assert.equal('{"data":[0,1,2]}', doc.toSortedJSON()); assert.equal(3, doc.getRoot().data.length); doc.update((root) => { const two = root.data.getElementByIndex(2); root.data.moveFront(two.getID()); }); assert.equal('{"data":[2,0,1]}', doc.toSortedJSON()); assert.equal(3, doc.getRoot().data.length); doc.update((root) => { root.data.push(3); const three = root.data.getElementByIndex(3); root.data.moveFront(three.getID()); assert.equal('{"data":[3,2,0,1]}', root.toJSON()); }); assert.equal('{"data":[3,2,0,1]}', doc.toSortedJSON()); assert.equal(4, doc.getRoot().data.length); }); it('simple move elements at the first of array', function () { const doc = new Document<{ data: JSONArray }>('test-doc'); doc.update((root) => { root.data = [0, 1, 2] as JSONArray; }); assert.equal('{"data":[0,1,2]}', doc.toSortedJSON()); assert.equal(3, doc.getRoot().data.length); doc.update((root) => { root.data.push(3); const one = root.data.getElementByIndex(1); root.data.moveFront(one.getID()); assert.equal('{"data":[1,0,2,3]}', root.toJSON()); }); assert.equal('{"data":[1,0,2,3]}', doc.toSortedJSON()); assert.equal(4, doc.getRoot().data.length); }); it('move elements at the last of array', function () { const doc = new Document<{ data: JSONArray }>('test-doc'); doc.update((root) => { root.data = [0, 1, 2] as JSONArray; }); assert.equal('{"data":[0,1,2]}', doc.toSortedJSON()); assert.equal(3, doc.getRoot().data.length); doc.update((root) => { const two = root.data.getElementByIndex(2); root.data.moveLast(two.getID()); }); assert.equal('{"data":[0,1,2]}', doc.toSortedJSON()); assert.equal(3, doc.getRoot().data.length); doc.update((root) => { root.data.push(3); const two = root.data.getElementByIndex(2); root.data.moveLast(two.getID()); assert.equal('{"data":[0,1,3,2]}', root.toJSON()); }); assert.equal('{"data":[0,1,3,2]}', doc.toSortedJSON()); assert.equal(4, doc.getRoot().data.length); }); it('simple move elements at the last of array', function () { const doc = new Document<{ data: JSONArray }>('test-doc'); doc.update((root) => { root.data = [0, 1, 2] as JSONArray; }); assert.equal('{"data":[0,1,2]}', doc.toSortedJSON()); assert.equal(3, doc.getRoot().data.length); doc.update((root) => { root.data.push(3); const one = root.data.getElementByIndex(1); root.data.moveLast(one.getID()); assert.equal('{"data":[0,2,3,1]}', root.toJSON()); }); assert.equal('{"data":[0,2,3,1]}', doc.toSortedJSON()); assert.equal(4, doc.getRoot().data.length); }); it('changeInfo test for object', async function () { const doc = new Document('test-doc'); const eventCollector = new EventCollector>(); const unsub = doc.subscribe((event) => { if (event.type === DocEventType.Snapshot) { return; } eventCollector.add(event.value.operations); }); doc.update((root) => { root[''] = {}; root.obj = {}; root.obj.a = 1; delete root.obj.a; root.obj['$hello'] = 1; delete root.obj['$hello']; delete root.obj; }); await eventCollector.waitAndVerifyNthEvent(1, [ { type: 'set', path: '$', key: '' }, { type: 'set', path: '$', key: 'obj' }, { type: 'set', path: '$.obj', key: 'a' }, { type: 'remove', path: '$.obj', key: 'a' }, { type: 'set', path: '$.obj', key: '$hello' }, { type: 'remove', path: '$.obj', key: '$hello' }, { type: 'remove', path: '$', key: 'obj' }, ]); doc.history.undo(); await eventCollector.waitAndVerifyNthEvent(2, [ { type: 'set', path: '$', key: 'obj' }, { type: 'set', path: '$.obj', key: '$hello' }, { type: 'remove', path: '$.obj', key: '$hello' }, { type: 'set', path: '$.obj', key: 'a' }, { type: 'remove', path: '$.obj', key: 'a' }, { type: 'remove', path: '$', key: 'obj' }, { type: 'remove', path: '$', key: '' }, ]); unsub(); }); it('changeInfo test for array', async function () { const doc = new Document('test-doc'); const eventCollector = new EventCollector>(); const unsub = doc.subscribe((event) => { if (event.type === DocEventType.Snapshot) { return; } eventCollector.add(event.value.operations); }); doc.update((root) => { root.arr = []; root.arr.push(0); root.arr.push(1); delete root.arr[1]; root['$$hello'] = []; root['$$hello'].push(0); }); await eventCollector.waitAndVerifyNthEvent(1, [ { type: 'set', path: '$', key: 'arr' }, { type: 'add', path: '$.arr', index: 0 }, { type: 'add', path: '$.arr', index: 1 }, { type: 'remove', path: '$.arr', index: 1 }, { type: 'set', path: '$', key: '$$hello' }, { type: 'add', path: '$.$$hello', index: 0 }, ]); unsub(); }); it('changeInfo test for counter', async function () { type TestDoc = { cnt: Counter }; const doc = new Document('test-doc'); const eventCollector = new EventCollector>(); const unsub = doc.subscribe((event) => { if (event.type === DocEventType.Snapshot) { return; } eventCollector.add(event.value.operations); }); doc.update((root) => { root.cnt = new Counter(0); }); await eventCollector.waitAndVerifyNthEvent(1, [ { type: 'set', path: '$', key: 'cnt' }, ]); doc.update((root) => { root.cnt.increase(1); root.cnt.increase(10); root.cnt.increase(-3); }); await eventCollector.waitAndVerifyNthEvent(2, [ { type: 'increase', path: '$.cnt', value: 1 }, { type: 'increase', path: '$.cnt', value: 10 }, { type: 'increase', path: '$.cnt', value: -3 }, ]); doc.history.undo(); await eventCollector.waitAndVerifyNthEvent(3, [ { type: 'increase', path: '$.cnt', value: 3 }, { type: 'increase', path: '$.cnt', value: -10 }, { type: 'increase', path: '$.cnt', value: -1 }, ]); unsub(); }); it('support TypeScript', function () { type TestDoc = { array: Array; text: Text; }; const doc = new Document('test-doc'); doc.update((root) => { root.array = [1, 2]; root.text = new Text(); root.text.edit(0, 0, 'hello world'); }); }); it('changeInfo test for text', async function () { type TestDoc = { text: Text }; const doc = new Document('test-doc'); const eventCollector = new EventCollector>(); const unsub = doc.subscribe((event) => { if (event.type === DocEventType.Snapshot) { return; } eventCollector.add(event.value.operations); }); doc.update((root) => { root.text = new Text(); root.text.edit(0, 0, 'hello world'); }); await eventCollector.waitAndVerifyNthEvent(1, [ { type: 'set', path: '$', key: 'text' }, { type: 'edit', path: '$.text', from: 0, to: 0, value: { attributes: {}, content: 'hello world' }, }, ]); unsub(); }); it('changeInfo test for text with attributes', async function () { type TestDoc = { textWithAttr: Text }; const doc = new Document('test-doc'); const eventCollector = new EventCollector>(); const unsub = doc.subscribe((event) => { if (event.type === DocEventType.Snapshot) { return; } eventCollector.add(event.value.operations); }); doc.update((root) => { root.textWithAttr = new Text(); root.textWithAttr.edit(0, 0, 'hello world'); root.textWithAttr.setStyle(0, 1, { bold: 'true' }); }); await eventCollector.waitAndVerifyNthEvent(1, [ { type: 'set', path: '$', key: 'textWithAttr' }, { type: 'edit', path: '$.textWithAttr', from: 0, to: 0, value: { attributes: {}, content: 'hello world' }, }, { type: 'style', path: '$.textWithAttr', from: 0, to: 1, value: { attributes: { bold: 'true' } }, }, ]); unsub(); }); it('insert elements before a specific node of array', function () { const doc = new Document<{ data: JSONArray }>('test-doc'); doc.update((root) => { root.data = [0, 1, 2] as JSONArray; }); assert.equal('{"data":[0,1,2]}', doc.toSortedJSON()); assert.equal(3, doc.getRoot().data.length); doc.update((root) => { const zero = root.data.getElementByIndex(0); root.data.insertBefore(zero.getID(), 3); }); assert.equal('{"data":[3,0,1,2]}', doc.toSortedJSON()); assert.equal(4, doc.getRoot().data.length); doc.update((root) => { const one = root.data.getElementByIndex(2); root.data.insertBefore(one.getID(), 4); }); assert.equal('{"data":[3,0,4,1,2]}', doc.toSortedJSON()); assert.equal(5, doc.getRoot().data.length); doc.update((root) => { const two = root.data.getElementByIndex(4)!; root.data.insertBefore(two.getID(), 5); }); assert.equal('{"data":[3,0,4,1,5,2]}', doc.toSortedJSON()); assert.equal(6, doc.getRoot().data.length); }); it('can insert an element before specific position after delete operation', function () { const doc = new Document<{ data: JSONArray }>('test-doc'); doc.update((root) => { root.data = [0, 1, 2] as JSONArray; }); assert.equal('{"data":[0,1,2]}', doc.toSortedJSON()); assert.equal(3, doc.getRoot().data.length); doc.update((root) => { const zero = root.data.getElementByIndex(0); root.data.deleteByID(zero.getID()); const one = root.data.getElementByIndex(0); root.data.insertBefore(one.getID(), 3); }); assert.equal('{"data":[3,1,2]}', doc.toSortedJSON()); assert.equal(3, doc.getRoot().data.length); doc.update((root) => { const one = root.data.getElementByIndex(1); root.data.deleteByID(one.getID()); const two = root.data.getElementByIndex(1); root.data.insertBefore(two.getID(), 4); }); assert.equal('{"data":[3,4,2]}', doc.toSortedJSON()); assert.equal(3, doc.getRoot().data.length); }); it('should remove previously inserted elements in heap when running GC', function () { const doc = new Document<{ a?: number }>('test-doc'); doc.update((root) => { root.a = 1; root.a = 2; delete root.a; }); assert.equal('{}', doc.toSortedJSON()); assert.equal(2, doc.getGarbageLen()); doc.garbageCollect(maxVectorOf([doc.getChangeID().getActorID()])); assert.equal('{}', doc.toSortedJSON()); assert.equal(0, doc.getGarbageLen()); }); it('should purge node from indexes during GC', function () { const doc = new Document<{ k1: Text }>('test-doc'); doc.update((root) => (root.k1 = new Text())); assert.equal(doc.getRoot().k1.getTreeByID().size(), 1); doc.update((root) => root.k1.edit(0, 0, 'ABC')); assert.equal(doc.getRoot().k1.getTreeByID().size(), 2); doc.update((root) => root.k1.edit(1, 3, '')); assert.equal(doc.getRoot().k1.getTreeByID().size(), 3); doc.garbageCollect(maxVectorOf([doc.getChangeID().getActorID()])); assert.equal(doc.getRoot().k1.getTreeByID().size(), 2); }); it('should handle escape string for strings containing single quotes', function () { const doc = new Document<{ [key: string]: any }>('test-doc'); doc.update((root) => (root.str = `I'm yorkie`)); assert.equal(doc.toSortedJSON(), `{"str":"I'm yorkie"}`); assert.deepEqual(JSON.parse(doc.toSortedJSON()), { str: `I'm yorkie`, }); doc.update((root) => (root.str = `I\\'m yorkie`)); assert.equal(doc.toSortedJSON(), `{"str":"I\\\\'m yorkie"}`); assert.deepEqual(JSON.parse(doc.toSortedJSON()), { str: `I\\'m yorkie`, }); }); it('should handle escape string for object keys', function () { const doc = new Document<{ [key: string]: any }>('test-doc'); doc.update((root) => (root[`it"s`] = `yorkie`)); assert.equal(doc.toSortedJSON(), `{"it\\"s":"yorkie"}`); assert.deepEqual(JSON.parse(doc.toSortedJSON()), { [`it"s`]: `yorkie`, }); }); it('escapes string for object', function () { const doc = new Document<{ a?: string }>('test-doc'); doc.update((root) => { root.a = '"hello"\n\f\b\r\t\\'; }); assert.equal(`{"a":"\\"hello\\"\\n\\f\\b\\r\\t\\\\"}`, doc.toSortedJSON()); }); it('escapes string for text', function () { const doc = new Document<{ text?: Text }>('test-doc'); doc.update((root) => { root.text = new Text(); root.text.edit(0, 0, '"hello"'); }); assert.equal('{"text":[{"val":"\\"hello\\""}]}', doc.toSortedJSON()); }); it('escapes string for text with Attributes', function () { type TestDoc = { textWithAttr: Text }; const doc = new Document('test-doc'); doc.update((root) => { root.textWithAttr = new Text(); root.textWithAttr.edit(0, 0, '"hello"', { b: '\n' }); }); assert.equal( '{"textWithAttr":[{"attrs":{"b":"\\n"},"val":"\\"hello\\""}]}', doc.toSortedJSON(), ); }); it('escapes string for elements in array', function () { const doc = new Document<{ data: Array }>('test-doc'); doc.update((root) => { root.data = ['"hello"', '\n', '\b', '\t', '\f', '\r', '\\']; }); assert.equal( `{"data":["\\"hello\\"","\\n","\\b","\\t","\\f","\\r","\\\\"]}`, doc.toSortedJSON(), ); }); it('gets the value of the counter', function () { const doc = new Document<{ counter: Counter }>('test-doc'); doc.update((root) => { root.counter = new Counter(155); }); assert.equal(155, doc.getRoot().counter.getValue()); }); it('sets any type of custom attribute values and can returns JSON parsable string', function () { type AttrsType = { bold?: boolean; indent?: number; italic?: boolean | null; color?: string; }; const doc = new Document<{ textWithAttr: Text }>('test-doc'); doc.update((root) => { root.textWithAttr = new Text(); root.textWithAttr.edit(0, 0, 'aaa', { bold: true }); root.textWithAttr.setStyle(0, 3, { italic: true }); root.textWithAttr.setStyle(0, 3, { italic: null }); root.textWithAttr.setStyle(0, 3, { indent: 1 }); root.textWithAttr.setStyle(0, 3, { color: 'red' }); }); assert.equal( '{"textWithAttr":[{"attrs":{"bold":true,"color":"red","indent":1,"italic":null},"val":"aaa"}]}', doc.toSortedJSON(), ); assert.doesNotThrow(() => { JSON.parse(doc.toSortedJSON()); }); }); it('check OpInfo type for subscribe path', function () { const doc = new Document<{ num?: number; b: { c: Array; d: { e: { fname: Array } } }; todos: Array<{ text: string; completed: boolean; }>; text: Text; tree: Tree; counter: Counter; textList: Array; }>('test-doc'); doc.subscribe('$.num', (event) => { if (event.type == 'local-change') { event.value.operations.forEach((op) => { if (op.type === 'set') { assert.equal(op.path, '$.a'); } else if (op.type === 'remove') { assert.equal(op.path, '$.a'); } }); } }); doc.update((root) => { root.num = 1; }); doc.update((root) => { delete root.num; }); doc.subscribe('$.b.d.e.fname', (event) => { if (event.type == 'local-change') { event.value.operations.forEach((op) => { if (op.type === 'add') { assert.equal(op.path, '$.b.d.e.fname'); } }); } }); doc.update((root) => { root.b = { c: [], d: { e: { fname: [] } }, }; root.b.d.e.fname.push(1); }); doc.subscribe('$.counter', (event) => { if (event.type == 'local-change') { event.value.operations.forEach((op) => { if (op.type === 'increase') { assert.equal(op.path, '$.counter'); } }); } }); doc.update((root) => { root.counter = new Counter(0); root.counter.increase(1); }); doc.subscribe('$.text', (event) => { if (event.type == 'local-change') { event.value.operations.forEach((op) => { if (op.type === 'edit') { assert.equal(op.path, '$.text'); } }); } }); doc.update((root) => { root.text = new Text(); root.text.edit(0, 0, 'hello world'); }); doc.subscribe('$.todos.0', (event) => { if (event.type == 'local-change') { event.value.operations.forEach((op) => { if (op.type === 'set') { assert.equal(op.path, '$.todos.0'); } }); } }); doc.update((root) => { root.todos = [ { text: 'hello', completed: false, }, ]; }); doc.subscribe('$.textList', (event) => { if (event.type == 'local-change') { event.value.operations.forEach((op) => { if (op.type === 'add') { assert.equal(op.path, '$.textList'); } }); } }); doc.update((root) => { root.textList = ['hello world']; }); doc.subscribe('$.tree', (event) => { if (event.type == 'local-change') { event.value.operations.forEach((op) => { if (op.type === 'tree-edit') { assert.equal(op.path, '$.tree'); } }); } }); doc.update((root) => { root.tree = new Tree(); root.tree.edit(0, 0, { type: 'text', value: 'hello world', }); }); }); it('should publish snapshot event with up-to-date document', async function ({ task, }) { type TestDoc = { counter: Counter }; await withTwoClientsAndDocuments(async (c1, d1, c2, d2) => { const eventCollector = new EventCollector(); d2.subscribe((event) => { if (event.type === DocEventType.Snapshot) { eventCollector.add(d2.getRoot().counter.getValue() as number); } }); d1.update((r) => (r.counter = new Counter(0))); await c1.sync(); await c2.sync(); // 01. c1 increases the counter for creating snapshot. for (let i = 0; i < DefaultSnapshotThreshold; i++) { d1.update((r) => r.counter.increase(1)); } await c1.sync(); // 02. c2 receives the snapshot and increases the counter simultaneously. c2.sync(); d2.update((r) => r.counter.increase(1)); await eventCollector.waitAndVerifyNthEvent( 1, DefaultSnapshotThreshold + 1, ); }, task.name); }); it('should retain presence after watch stream reconnection', function () { // Simulate the scenario where a peer's watch stream disconnects and // reconnects, verifying that their presence is preserved and correctly // restored. const doc = new Document('test-doc'); // Manually inject presence for a peer (simulating prior sync). const peerID = 'peer-client-id'; (doc as any).presences.set(peerID, { name: 'Alice' }); (doc as any).onlineClients.add(peerID); // Verify the peer is visible before reconnection. assert.equal(doc.hasPresence(peerID), true); assert.equal( doc.getOthersPresences().some((p) => p.clientID === peerID), true, ); // 01. Simulate watch stream reconnection where the peer is temporarily // absent from the server's watcher list (their stream also dropped). doc.applyWatchInit([]); // The peer should not be visible via getPresences (filtered by onlineClients). assert.equal( doc.getOthersPresences().some((p) => p.clientID === peerID), false, ); // But the presence data should still be retained internally so that // when the peer re-watches, the "watched" event fires correctly. assert.equal(doc.hasPresence(peerID), true); // 02. The peer's watch stream reconnects — server sends DOCUMENT_WATCHED. const events: Array = []; const unsub = doc.subscribe('others', (event) => { events.push(event); }); doc.applyDocEvent(PbDocEventType.DOCUMENT_WATCHED, peerID); // The peer should now be visible again with their original presence. assert.equal( doc.getOthersPresences().some((p) => p.clientID === peerID), true, ); const peerPresence = doc.getPresence(peerID); assert.deepEqual(peerPresence, { name: 'Alice' }); // A "watched" event should have been emitted. assert.equal(events.length, 1); assert.equal(events[0].type, DocEventType.Watched); assert.equal(events[0].value.clientID, peerID); unsub(); }); }); ================================================ FILE: packages/sdk/test/unit/document/gc_test.ts ================================================ /* * Copyright 2024 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { CRDTArray } from '@yorkie-js/sdk/src/document/crdt/array'; import { CRDTTreeNode } from '@yorkie-js/sdk/src/document/crdt/tree'; import { IndexTreeNode } from '@yorkie-js/sdk/src/util/index_tree'; import yorkie, { Tree, Text } from '@yorkie-js/sdk/src/yorkie'; import { maxVectorOf } from '@yorkie-js/sdk/test/helper/helper'; import { describe, it, assert } from 'vitest'; // `getNodeLength` returns the number of nodes in the given tree. function getNodeLength(root: IndexTreeNode) { let size = 0; size += root._children.length; if (root._children.length) { for (const child of root._children) { size += getNodeLength(child); } } return size; } describe('Garbage Collection', function () { it('should collect garbage', function () { const doc = new yorkie.Document<{ 1: number; 2?: Array; 3: number; }>('test-doc'); assert.equal(doc.toSortedJSON(), '{}'); doc.update((root) => { root['1'] = 1; root['2'] = [1, 2, 3]; root['3'] = 3; }, 'set 1, 2, 3'); assert.equal(doc.toSortedJSON(), '{"1":1,"2":[1,2,3],"3":3}'); doc.update((root) => { delete root['2']; }, 'deletes 2'); assert.equal(doc.toSortedJSON(), '{"1":1,"3":3}'); assert.equal(doc.getGarbageLen(), 4); assert.equal( doc.garbageCollect(maxVectorOf([doc.getChangeID().getActorID()])), 4, ); assert.equal(doc.getGarbageLen(), 0); }); it('should not collect garbage if disabled', function () { const doc = new yorkie.Document<{ 1: number; 2?: Array; 3: number; }>('test-doc', { disableGC: true }); doc.update((root) => { root['1'] = 1; root['2'] = [1, 2, 3]; root['3'] = 3; }, 'set 1, 2, 3'); assert.equal(doc.toSortedJSON(), '{"1":1,"2":[1,2,3],"3":3}'); doc.update((root) => { delete root['2']; }, 'deletes 2'); assert.equal(doc.toSortedJSON(), '{"1":1,"3":3}'); assert.equal(doc.getGarbageLen(), 4); assert.equal( doc.garbageCollect(maxVectorOf([doc.getChangeID().getActorID()])), 0, ); assert.equal(doc.getGarbageLen(), 4); }); it('should collect garbage for big array', function () { const size = 10000; const doc = new yorkie.Document<{ 1?: Array }>('test-doc'); doc.update((root) => { root['1'] = Array.from(Array(size).keys()); }, 'sets big array'); doc.update((root) => { delete root['1']; }, 'deletes the array'); assert.equal( doc.garbageCollect(maxVectorOf([doc.getChangeID().getActorID()])), size + 1, ); }); it('should collect garbage for nested elements', function () { const doc = new yorkie.Document<{ list: Array }>('test-doc'); assert.equal(doc.toSortedJSON(), '{}'); doc.update((root) => { root['list'] = [1, 2, 3]; }, 'set 1, 2, 3'); assert.equal(doc.toSortedJSON(), '{"list":[1,2,3]}'); doc.update((root) => { delete root['list'][1]; }, 'deletes 2'); assert.equal(doc.toSortedJSON(), '{"list":[1,3]}'); assert.equal(doc.getGarbageLen(), 1); assert.equal( doc.garbageCollect(maxVectorOf([doc.getChangeID().getActorID()])), 1, ); assert.equal(doc.getGarbageLen(), 0); const root = (doc.getRootObject().get('list') as CRDTArray) .getElements() .toTestString(); const clone = (doc.getCloneRoot()!.get('list') as CRDTArray) .getElements() .toTestString(); assert.equal(root, clone); }); it('should collect garbage for text node', function () { const doc = new yorkie.Document<{ text: Text }>('test-doc'); doc.update((root) => (root.text = new Text())); doc.update((root) => root.text.edit(0, 0, 'ABCD')); doc.update((root) => root.text.edit(0, 2, '12')); assert.equal( doc.getRoot().text.toTestString(), '[0:00:0:0 ][3:00:1:0 12]{2:00:1:0 AB}[2:00:1:2 CD]', ); assert.equal(doc.getGarbageLen(), 1); doc.garbageCollect(maxVectorOf([doc.getChangeID().getActorID()])); assert.equal(doc.getGarbageLen(), 0); assert.equal( doc.getRoot().text.toTestString(), '[0:00:0:0 ][3:00:1:0 12][2:00:1:2 CD]', ); doc.update((root) => root.text.edit(2, 4, '')); assert.equal( doc.getRoot().text.toTestString(), '[0:00:0:0 ][3:00:1:0 12]{2:00:1:2 CD}', ); }); it('should return correct gc count with already removed text node', function () { const doc = new yorkie.Document<{ k1: Text }>('test-doc'); assert.equal(doc.toSortedJSON(), '{}'); doc.update((root) => { root.k1 = new Text(); root.k1.edit(0, 0, 'ab'); root.k1.edit(0, 1, 'c'); }, 'edit text k1'); assert.equal(doc.toSortedJSON(), '{"k1":[{"val":"c"},{"val":"b"}]}'); assert.equal(doc.getGarbageLen(), 1); doc.update((root) => { const text = root['k1']; text.edit(1, 2, 'd'); }, 'deletes 2'); assert.equal(doc.toSortedJSON(), '{"k1":[{"val":"c"},{"val":"d"}]}'); assert.equal(doc.getGarbageLen(), 2); assert.equal( doc.garbageCollect(maxVectorOf([doc.getChangeID().getActorID()])), 2, ); assert.equal(doc.getGarbageLen(), 0); }); it('should collect garbage for text node with attributes', function () { const doc = new yorkie.Document<{ k1: Text }>('test-doc'); assert.equal(doc.toSortedJSON(), '{}'); let expectedMessage = '{"k1":[{"attrs":{"b":"1"},"val":"Hello "},{"val":"mario"}]}'; doc.update((root) => { root.k1 = new Text(); root.k1.edit(0, 0, 'Hello world', { b: '1' }); root.k1.edit(6, 11, 'mario'); assert.equal(root.toJSON(), expectedMessage); }, 'edit text k1'); assert.equal(doc.toSortedJSON(), expectedMessage); assert.equal(doc.getGarbageLen(), 1); expectedMessage = '{"k1":[{"attrs":{"b":"1"},"val":"Hi"},{"attrs":{"b":"1"},"val":" "},{"val":"j"},{"attrs":{"b":"1"},"val":"ane"}]}'; doc.update((root) => { const text = root['k1']; text.edit(0, 5, 'Hi', { b: '1' }); text.edit(3, 4, 'j'); text.edit(4, 8, 'ane', { b: '1' }); assert.equal(root.toJSON(), expectedMessage); }, 'edit text k1'); assert.equal(doc.toSortedJSON(), expectedMessage); const expectedGarbageLen = 4; assert.equal(doc.getGarbageLen(), expectedGarbageLen); assert.equal( doc.garbageCollect(maxVectorOf([doc.getChangeID().getActorID()])), expectedGarbageLen, ); const empty = 0; assert.equal(doc.getGarbageLen(), empty); }); it('should collect garbage for tree node', function () { const doc = new yorkie.Document<{ t: Tree }>('test-doc'); assert.equal(doc.toSortedJSON(), '{}'); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [ { type: 'tn', children: [ { type: 'text', value: 'a' }, { type: 'text', value: 'b' }, ], }, { type: 'tn', children: [{ type: 'text', value: 'cd' }] }, ], }, ], }); }); doc.update((root) => { root.t.editByPath([0, 0, 0], [0, 0, 2], { type: 'text', value: 'gh' }); assert.equal(root.t.toXML(), `

    ghcd

    `); }); // [text(a), text(b)] let nodeLengthBeforeGC = getNodeLength( doc.getRoot().t.getIndexTree().getRoot(), ); assert.equal(doc.getGarbageLen(), 2); assert.equal( doc.garbageCollect(maxVectorOf([doc.getChangeID().getActorID()])), 2, ); assert.equal(doc.getGarbageLen(), 0); let nodeLengthAfterGC = getNodeLength( doc.getRoot().t.getIndexTree().getRoot(), ); assert.equal(nodeLengthBeforeGC - nodeLengthAfterGC, 2); doc.update((root) => { root.t.editByPath([0, 0, 0], [0, 0, 2], { type: 'text', value: 'cv' }); assert.equal(root.t.toXML(), `

    cvcd

    `); }); // [text(cd)] nodeLengthBeforeGC = getNodeLength( doc.getRoot().t.getIndexTree().getRoot(), ); assert.equal(doc.getGarbageLen(), 1); assert.equal( doc.garbageCollect(maxVectorOf([doc.getChangeID().getActorID()])), 1, ); assert.equal(doc.getGarbageLen(), 0); nodeLengthAfterGC = getNodeLength(doc.getRoot().t.getIndexTree().getRoot()); assert.equal(nodeLengthBeforeGC - nodeLengthAfterGC, 1); doc.update((root) => { root.t.editByPath([0], [1], { type: 'p', children: [{ type: 'tn', children: [{ type: 'text', value: 'ab' }] }], }); assert.equal(root.t.toXML(), `

    ab

    `); }); // [p, tn, tn, text(cv), text(cd)] nodeLengthBeforeGC = getNodeLength( doc.getRoot().t.getIndexTree().getRoot(), ); assert.equal(doc.getGarbageLen(), 5); assert.equal( doc.garbageCollect(maxVectorOf([doc.getChangeID().getActorID()])), 5, ); assert.equal(doc.getGarbageLen(), 0); nodeLengthAfterGC = getNodeLength(doc.getRoot().t.getIndexTree().getRoot()); assert.equal(nodeLengthBeforeGC - nodeLengthAfterGC, 5); }); it('should return correct gc count with already removed tree node', () => { const doc = new yorkie.Document<{ t: Tree }>('test-doc'); assert.equal(doc.toSortedJSON(), '{}'); doc.update((root) => { root.t = new Tree({ type: 'doc', children: [ { type: 'p', children: [ { type: 'tn', children: [{ type: 'text', value: 'abc' }], }, ], }, ], }); }); assert.equal(doc.getRoot().t.toXML(), `

    abc

    `); assert.equal(doc.getGarbageLen(), 0); doc.update((root) => { root.t.edit(3, 4, undefined); }); assert.equal(doc.getRoot().t.toXML(), `

    ac

    `); assert.equal(doc.getGarbageLen(), 1); doc.update((root) => { root.t.edit(2, 4, undefined); }); assert.equal(doc.getRoot().t.toXML(), `

    `); assert.equal(doc.getGarbageLen(), 3); assert.equal( doc.garbageCollect(maxVectorOf([doc.getChangeID().getActorID()])), 3, ); assert.equal(doc.getGarbageLen(), 0); }); it('should collect garbage for nested object', async () => { type TestDoc = { shape?: { point?: { x?: number; y?: number } } }; const doc = new yorkie.Document('test-doc'); doc.update((root) => { root.shape = { point: { x: 0, y: 0 } }; delete root.shape; }); assert.equal(doc.getGarbageLen(), 4); // shape, point, x, y assert.equal( doc.garbageCollect(maxVectorOf([doc.getChangeID().getActorID()])), 4, ); // The number of GC nodes must also be 4. }); it('should update gc size correctly after text garbage collection', function () { const doc = new yorkie.Document<{ text: Text }>('test-doc'); // Initial state doc.update((root) => (root.text = new Text())); const initialSize = doc.getDocSize(); assert.deepEqual(initialSize.gc, { data: 0, meta: 0 }); // Add and then remove text to create garbage doc.update((root) => root.text.edit(0, 0, 'Hello world')); doc.update((root) => root.text.edit(6, 11, '')); const sizeBeforeGC = doc.getDocSize(); assert.equal(sizeBeforeGC.gc.data, 10); assert.equal(sizeBeforeGC.gc.meta, 48); assert.equal(doc.getGarbageLen(), 1); // Perform garbage collection const collected = doc.garbageCollect( maxVectorOf([doc.getChangeID().getActorID()]), ); assert.equal(collected, 1); // Verify gc size is properly reset after collection const sizeAfterGC = doc.getDocSize(); assert.deepEqual(sizeAfterGC.gc, { data: 0, meta: 0 }); assert.equal(doc.getGarbageLen(), 0); }); it('should update gc size correctly after multiple text operations and gc', function () { const doc = new yorkie.Document<{ text: Text }>('test-doc'); doc.update((root) => (root.text = new Text())); // Create multiple text segments and then remove some doc.update((root) => { root.text.edit(0, 0, 'ABC'); root.text.edit(1, 2, 'X'); root.text.edit(2, 3, ''); }); const sizeBeforeGC = doc.getDocSize(); const garbageLen = doc.getGarbageLen(); assert.equal(sizeBeforeGC.gc.data, 4); assert.equal(sizeBeforeGC.gc.meta, 96); assert.equal(garbageLen, 2); // B and C should be garbage // Perform garbage collection const collected = doc.garbageCollect( maxVectorOf([doc.getChangeID().getActorID()]), ); assert.equal(collected, garbageLen); // Verify all gc size is cleared const sizeAfterGC = doc.getDocSize(); assert.deepEqual(sizeAfterGC.gc, { data: 0, meta: 0 }); assert.equal(doc.getGarbageLen(), 0); }); }); describe('Garbage Collection for tree', () => { enum OpCode { NoOp, Style, RemoveStyle, DeleteNode, GC, } interface Operation { code: OpCode; key: string; val: string; } interface Step { op: Operation; garbageLen: number; expectXML: string; } interface TestCase { desc: string; steps: Array; } const tests: Array = [ { desc: 'style-style test', steps: [ { op: { code: OpCode.Style, key: 'b', val: 't' }, garbageLen: 0, expectXML: '

    ', }, { op: { code: OpCode.Style, key: 'b', val: 'f' }, garbageLen: 0, expectXML: '

    ', }, ], }, { desc: 'style-remove test', steps: [ { op: { code: OpCode.Style, key: 'b', val: 't' }, garbageLen: 0, expectXML: '

    ', }, { op: { code: OpCode.RemoveStyle, key: 'b', val: '' }, garbageLen: 1, expectXML: '

    ', }, ], }, { desc: 'remove-style test', steps: [ { op: { code: OpCode.RemoveStyle, key: 'b', val: '' }, garbageLen: 1, expectXML: '

    ', }, { op: { code: OpCode.Style, key: 'b', val: 't' }, garbageLen: 0, expectXML: '

    ', }, ], }, { desc: 'remove-remove test', steps: [ { op: { code: OpCode.RemoveStyle, key: 'b', val: '' }, garbageLen: 1, expectXML: '

    ', }, { op: { code: OpCode.RemoveStyle, key: 'b', val: '' }, garbageLen: 1, expectXML: '

    ', }, ], }, { desc: 'style-delete test', steps: [ { op: { code: OpCode.Style, key: 'b', val: 't' }, garbageLen: 0, expectXML: '

    ', }, { op: { code: OpCode.DeleteNode, key: '', val: '' }, garbageLen: 1, expectXML: '', }, ], }, { desc: 'remove-delete test', steps: [ { op: { code: OpCode.RemoveStyle, key: 'b', val: '' }, garbageLen: 1, expectXML: '

    ', }, { op: { code: OpCode.DeleteNode, key: 'b', val: 't' }, garbageLen: 2, expectXML: '', }, ], }, { desc: 'remove-gc-delete test', steps: [ { op: { code: OpCode.RemoveStyle, key: 'b', val: '' }, garbageLen: 1, expectXML: '

    ', }, { op: { code: OpCode.GC, key: '', val: '' }, garbageLen: 0, expectXML: '

    ', }, { op: { code: OpCode.DeleteNode, key: 'b', val: 't' }, garbageLen: 1, expectXML: '', }, ], }, ]; it.each(tests)('$desc', ({ steps }) => { const doc = new yorkie.Document<{ t: Tree }>('test-doc'); assert.equal(doc.toSortedJSON(), '{}'); doc.update((root) => { root.t = new Tree({ type: 'r', children: [{ type: 'p', children: [] }], }); }); assert.equal(doc.getRoot().t.toXML(), '

    '); for (const { op: { code, key, val }, garbageLen: garbageLen, expectXML: expectXML, } of steps) { doc.update((root) => { if (code === OpCode.RemoveStyle) { root.t.removeStyle(0, 1, [key]); } else if (code === OpCode.Style) { root.t.style(0, 1, { [key]: val }); } else if (code === OpCode.DeleteNode) { root.t.edit(0, 2, undefined, 0); } else if (code === OpCode.GC) { doc.garbageCollect(maxVectorOf([doc.getChangeID().getActorID()])); } }); assert.equal(doc.getRoot().t.toXML(), expectXML); assert.equal(doc.getGarbageLen(), garbageLen); } doc.garbageCollect(maxVectorOf([doc.getChangeID().getActorID()])); assert.equal(doc.getGarbageLen(), 0); }); }); describe('Garbage Collection for text', () => { enum OpCode { NoOp, Style, DeleteNode, GC, } interface Operation { code: OpCode; key: string; val: string; } interface Step { op: Operation; garbageLen: number; expectXML: string; } interface TestCase { desc: string; steps: Array; } const tests: Array = [ { desc: 'style-style test', steps: [ { op: { code: OpCode.Style, key: 'b', val: 't' }, garbageLen: 0, expectXML: `[{"attrs":{"b":"t"},"val":"AB"}]`, }, { op: { code: OpCode.Style, key: 'b', val: 'f' }, garbageLen: 0, expectXML: `[{"attrs":{"b":"f"},"val":"AB"}]`, }, ], }, { desc: 'style-delete test', steps: [ { op: { code: OpCode.Style, key: 'b', val: 't' }, garbageLen: 0, expectXML: `[{"attrs":{"b":"t"},"val":"AB"}]`, }, { op: { code: OpCode.DeleteNode, key: 'b', val: '' }, garbageLen: 1, expectXML: `[]`, }, ], }, ]; it.each(tests)('$desc', ({ steps }) => { const doc = new yorkie.Document<{ t: Text }>('test-doc'); assert.equal(doc.toSortedJSON(), '{}'); doc.update((root) => { root.t = new Text(); root.t.edit(0, 0, 'AB'); }); assert.equal(doc.getRoot().t.toJSON(), `[{"val":"AB"}]`); for (const { op: { code, key, val }, garbageLen: garbageLen, expectXML: expectXML, } of steps) { doc.update((root) => { if (code === OpCode.Style) { root.t.setStyle(0, 2, { [key]: val }); } else if (code === OpCode.DeleteNode) { root.t.edit(0, 2, ''); } else if (code === OpCode.GC) { doc.garbageCollect(doc.getChangeID().getVersionVector()); } }); assert.equal(doc.getRoot().t.toJSON(), expectXML); assert.equal(doc.getGarbageLen(), garbageLen); } doc.garbageCollect(maxVectorOf([doc.getChangeID().getActorID()])); assert.equal(doc.getGarbageLen(), 0); }); }); ================================================ FILE: packages/sdk/test/unit/document/schema/content_expression_test.ts ================================================ /* * Copyright 2026 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { describe, it, expect } from 'vitest'; import { parseContentExpression, matchContentExpression, } from '@yorkie-js/sdk/src/document/schema/content-expression'; describe('Content Expression Parser', () => { const identity = (name: string) => [name]; it('should match simple type', () => { const expr = parseContentExpression('paragraph'); expect(matchContentExpression(expr, ['paragraph'], identity).valid).toBe( true, ); expect(matchContentExpression(expr, ['heading'], identity).valid).toBe( false, ); expect(matchContentExpression(expr, [], identity).valid).toBe(false); }); it('should match + quantifier (one or more)', () => { const expr = parseContentExpression('paragraph+'); expect(matchContentExpression(expr, ['paragraph'], identity).valid).toBe( true, ); expect( matchContentExpression(expr, ['paragraph', 'paragraph'], identity).valid, ).toBe(true); expect(matchContentExpression(expr, [], identity).valid).toBe(false); }); it('should match * quantifier (zero or more)', () => { const expr = parseContentExpression('text*'); expect(matchContentExpression(expr, [], identity).valid).toBe(true); expect(matchContentExpression(expr, ['text', 'text'], identity).valid).toBe( true, ); expect(matchContentExpression(expr, ['paragraph'], identity).valid).toBe( false, ); }); it('should match ? quantifier (zero or one)', () => { const expr = parseContentExpression('title?'); expect(matchContentExpression(expr, [], identity).valid).toBe(true); expect(matchContentExpression(expr, ['title'], identity).valid).toBe(true); expect( matchContentExpression(expr, ['title', 'title'], identity).valid, ).toBe(false); }); it('should match sequence', () => { const expr = parseContentExpression('heading paragraph+'); expect( matchContentExpression(expr, ['heading', 'paragraph'], identity).valid, ).toBe(true); expect( matchContentExpression( expr, ['heading', 'paragraph', 'paragraph'], identity, ).valid, ).toBe(true); expect(matchContentExpression(expr, ['paragraph'], identity).valid).toBe( false, ); }); it('should match alternatives', () => { const expr = parseContentExpression('paragraph | heading'); expect(matchContentExpression(expr, ['paragraph'], identity).valid).toBe( true, ); expect(matchContentExpression(expr, ['heading'], identity).valid).toBe( true, ); expect(matchContentExpression(expr, ['blockquote'], identity).valid).toBe( false, ); }); it('should match grouped alternatives with quantifier', () => { const expr = parseContentExpression('(paragraph | heading)+'); expect( matchContentExpression( expr, ['paragraph', 'heading', 'paragraph'], identity, ).valid, ).toBe(true); expect(matchContentExpression(expr, [], identity).valid).toBe(false); }); it('should resolve groups', () => { const resolver = (name: string) => name === 'block' ? ['paragraph', 'heading', 'blockquote'] : [name]; const expr = parseContentExpression('block+'); expect( matchContentExpression(expr, ['paragraph', 'heading'], resolver).valid, ).toBe(true); expect(matchContentExpression(expr, ['inline'], resolver).valid).toBe( false, ); }); }); ================================================ FILE: packages/sdk/test/unit/document/schema/tree_schema_integration_test.ts ================================================ /* * Copyright 2026 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { describe, it, expect } from 'vitest'; import { buildRuleset } from '@yorkie-js/schema'; import { YorkieTypeRule } from '@yorkie-js/schema/src/rulesets'; import { validateYorkieRuleset } from '@yorkie-js/sdk/src/document/schema/ruleset_validator'; import { CRDTTree, CRDTTreeNode } from '@yorkie-js/sdk/src/document/crdt/tree'; import { CRDTObject } from '@yorkie-js/sdk/src/document/crdt/object'; import { RHT } from '@yorkie-js/sdk/src/document/crdt/rht'; import { posT, timeT } from '@yorkie-js/sdk/test/helper/helper'; /** * `createTextNode` creates a CRDTTreeNode of type "text" with the given value. */ function createTextNode(value: string, attrs?: RHT): CRDTTreeNode { return new CRDTTreeNode(posT(), 'text', value, attrs); } /** * `createElementNode` creates a CRDTTreeNode of the given type with children. */ function createElementNode( type: string, children: Array, ): CRDTTreeNode { const node = new CRDTTreeNode(posT(), type, []); for (const child of children) { node.append(child); } return node; } /** * `createCRDTObjectWithTree` creates a CRDTObject containing a CRDTTree * at the given key, simulating a document root. */ function createCRDTObjectWithTree(key: string, tree: CRDTTree): CRDTObject { const ticket = timeT(); const obj = CRDTObject.create(ticket); obj.set(key, tree, timeT()); return obj; } describe('Tree Schema Integration (full pipeline)', () => { // A schema DSL with a document containing a tree with multiple node types, // marks, and group definitions. const schemaDSL = ` type Document = { content: yorkie.Tree<{ doc: { content: "paragraph+"; }; paragraph: { content: "text*"; marks: "bold italic"; group: "block"; }; heading: { content: "text*"; marks: "bold"; group: "block"; }; text: {}; }>; }; `; describe('buildRuleset from schema DSL with tree nodes', () => { it('should produce rules containing treeNodes for yorkie.Tree', () => { const rules = buildRuleset(schemaDSL); // Find the tree rule const treeRule = rules.find((r) => r.type === 'yorkie.Tree'); expect(treeRule).toBeDefined(); expect(treeRule!.type).toBe('yorkie.Tree'); expect(treeRule!.path).toBe('$.content'); // Verify treeNodes are present and correct const yorkieRule = treeRule as YorkieTypeRule; expect(yorkieRule.treeNodes).toBeDefined(); expect(yorkieRule.treeNodes).toHaveLength(4); // Verify individual node rules const nodeTypes = yorkieRule.treeNodes!.map((n) => n.nodeType); expect(nodeTypes).toContain('doc'); expect(nodeTypes).toContain('paragraph'); expect(nodeTypes).toContain('heading'); expect(nodeTypes).toContain('text'); // Verify specific node properties const docNode = yorkieRule.treeNodes!.find((n) => n.nodeType === 'doc')!; expect(docNode.content).toBe('paragraph+'); expect(docNode.marks).toBeUndefined(); expect(docNode.group).toBeUndefined(); const paraNode = yorkieRule.treeNodes!.find( (n) => n.nodeType === 'paragraph', )!; expect(paraNode.content).toBe('text*'); expect(paraNode.marks).toBe('bold italic'); expect(paraNode.group).toBe('block'); const headingNode = yorkieRule.treeNodes!.find( (n) => n.nodeType === 'heading', )!; expect(headingNode.content).toBe('text*'); expect(headingNode.marks).toBe('bold'); expect(headingNode.group).toBe('block'); const textNode = yorkieRule.treeNodes!.find( (n) => n.nodeType === 'text', )!; expect(textNode.content).toBeUndefined(); expect(textNode.marks).toBeUndefined(); }); it('should also produce an object rule for the root document', () => { const rules = buildRuleset(schemaDSL); const objRule = rules.find((r) => r.type === 'object'); expect(objRule).toBeDefined(); expect(objRule!.path).toBe('$'); }); }); describe('valid tree structures through full pipeline', () => { it('should validate doc > paragraph > text', () => { const rules = buildRuleset(schemaDSL); const text = createTextNode('hello'); const para = createElementNode('paragraph', [text]); const root = createElementNode('doc', [para]); const tree = new CRDTTree(root, timeT()); const obj = createCRDTObjectWithTree('content', tree); const result = validateYorkieRuleset(obj, rules); expect(result.valid).toBe(true); expect(result.errors?.length ?? 0).toBe(0); }); it('should validate doc > multiple paragraphs > text', () => { const rules = buildRuleset(schemaDSL); const text1 = createTextNode('hello'); const text2 = createTextNode('world'); const para1 = createElementNode('paragraph', [text1]); const para2 = createElementNode('paragraph', [text2]); const root = createElementNode('doc', [para1, para2]); const tree = new CRDTTree(root, timeT()); const obj = createCRDTObjectWithTree('content', tree); const result = validateYorkieRuleset(obj, rules); expect(result.valid).toBe(true); }); it('should validate paragraph with no text children (text* allows zero)', () => { const rules = buildRuleset(schemaDSL); const para = createElementNode('paragraph', []); const root = createElementNode('doc', [para]); const tree = new CRDTTree(root, timeT()); const obj = createCRDTObjectWithTree('content', tree); const result = validateYorkieRuleset(obj, rules); expect(result.valid).toBe(true); }); it('should validate text with allowed marks (bold on paragraph)', () => { const rules = buildRuleset(schemaDSL); const attrs = new RHT(); attrs.set('bold', '"true"', timeT()); const text = createTextNode('hello', attrs); const para = createElementNode('paragraph', [text]); const root = createElementNode('doc', [para]); const tree = new CRDTTree(root, timeT()); const obj = createCRDTObjectWithTree('content', tree); const result = validateYorkieRuleset(obj, rules); expect(result.valid).toBe(true); }); it('should validate text with multiple allowed marks (bold + italic on paragraph)', () => { const rules = buildRuleset(schemaDSL); const attrs = new RHT(); attrs.set('bold', '"true"', timeT()); attrs.set('italic', '"true"', timeT()); const text = createTextNode('styled text', attrs); const para = createElementNode('paragraph', [text]); const root = createElementNode('doc', [para]); const tree = new CRDTTree(root, timeT()); const obj = createCRDTObjectWithTree('content', tree); const result = validateYorkieRuleset(obj, rules); expect(result.valid).toBe(true); }); }); describe('invalid tree structures through full pipeline', () => { it('should reject doc with no children (paragraph+ requires at least one)', () => { const rules = buildRuleset(schemaDSL); const root = createElementNode('doc', []); const tree = new CRDTTree(root, timeT()); const obj = createCRDTObjectWithTree('content', tree); const result = validateYorkieRuleset(obj, rules); expect(result.valid).toBe(false); expect(result.errors).toBeDefined(); expect(result.errors!.length).toBeGreaterThan(0); expect(result.errors![0].path).toBe('$.content'); expect(result.errors![0].message).toContain('doc'); }); it('should reject unknown node types', () => { const rules = buildRuleset(schemaDSL); const text = createTextNode('hello'); const div = createElementNode('div', [text]); const root = createElementNode('doc', [div]); const tree = new CRDTTree(root, timeT()); const obj = createCRDTObjectWithTree('content', tree); const result = validateYorkieRuleset(obj, rules); expect(result.valid).toBe(false); expect(result.errors).toBeDefined(); expect(result.errors![0].message).toContain('Unknown node type'); expect(result.errors![0].message).toContain('div'); }); it('should reject wrong child type (heading under doc that requires paragraph+)', () => { const rules = buildRuleset(schemaDSL); // The doc rule requires "paragraph+" which means only paragraph nodes. // Heading is not paragraph, so it should be rejected. const text = createTextNode('title'); const heading = createElementNode('heading', [text]); const root = createElementNode('doc', [heading]); const tree = new CRDTTree(root, timeT()); const obj = createCRDTObjectWithTree('content', tree); const result = validateYorkieRuleset(obj, rules); expect(result.valid).toBe(false); expect(result.errors).toBeDefined(); expect(result.errors![0].message).toContain('doc'); }); it('should reject disallowed marks on text children', () => { const rules = buildRuleset(schemaDSL); // Paragraph allows "bold italic" marks, so "underline" should be rejected. const attrs = new RHT(); attrs.set('underline', '"true"', timeT()); const text = createTextNode('hello', attrs); const para = createElementNode('paragraph', [text]); const root = createElementNode('doc', [para]); const tree = new CRDTTree(root, timeT()); const obj = createCRDTObjectWithTree('content', tree); const result = validateYorkieRuleset(obj, rules); expect(result.valid).toBe(false); expect(result.errors).toBeDefined(); expect(result.errors![0].message).toContain('disallowed mark'); expect(result.errors![0].message).toContain('underline'); }); }); describe('schema with groups through full pipeline', () => { // A schema where the doc content uses a group reference const groupSchemaDSL = ` type Document = { content: yorkie.Tree<{ doc: { content: "block+"; }; paragraph: { content: "text*"; group: "block"; }; heading: { content: "text*"; group: "block"; }; text: {}; }>; }; `; it('should validate mixed block types (paragraph and heading)', () => { const rules = buildRuleset(groupSchemaDSL); const text1 = createTextNode('hello'); const text2 = createTextNode('title'); const para = createElementNode('paragraph', [text1]); const heading = createElementNode('heading', [text2]); const root = createElementNode('doc', [para, heading]); const tree = new CRDTTree(root, timeT()); const obj = createCRDTObjectWithTree('content', tree); const result = validateYorkieRuleset(obj, rules); expect(result.valid).toBe(true); }); it('should reject non-block types under doc (expects block+)', () => { const rules = buildRuleset(groupSchemaDSL); // text is not in the "block" group const text = createTextNode('raw text'); const root = createElementNode('doc', [text]); const tree = new CRDTTree(root, timeT()); const obj = createCRDTObjectWithTree('content', tree); const result = validateYorkieRuleset(obj, rules); expect(result.valid).toBe(false); expect(result.errors).toBeDefined(); expect(result.errors![0].message).toContain('doc'); }); }); describe('deeply nested schema through full pipeline', () => { const nestedSchemaDSL = ` type Document = { content: yorkie.Tree<{ doc: { content: "section+"; }; section: { content: "paragraph+"; }; paragraph: { content: "text*"; }; text: {}; }>; }; `; it('should validate valid deeply nested tree', () => { const rules = buildRuleset(nestedSchemaDSL); const text = createTextNode('hello'); const para = createElementNode('paragraph', [text]); const section = createElementNode('section', [para]); const root = createElementNode('doc', [section]); const tree = new CRDTTree(root, timeT()); const obj = createCRDTObjectWithTree('content', tree); const result = validateYorkieRuleset(obj, rules); expect(result.valid).toBe(true); }); it('should reject errors at nested level (section with no paragraphs)', () => { const rules = buildRuleset(nestedSchemaDSL); // section requires paragraph+ but has no children const section = createElementNode('section', []); const root = createElementNode('doc', [section]); const tree = new CRDTTree(root, timeT()); const obj = createCRDTObjectWithTree('content', tree); const result = validateYorkieRuleset(obj, rules); expect(result.valid).toBe(false); expect(result.errors).toBeDefined(); expect(result.errors![0].message).toContain('section'); }); }); describe('schema with alternative content expression through full pipeline', () => { const altSchemaDSL = ` type Document = { content: yorkie.Tree<{ doc: { content: "(paragraph | heading)+"; }; paragraph: { content: "text*"; }; heading: { content: "text*"; }; text: {}; }>; }; `; it('should validate mixed paragraph and heading under doc', () => { const rules = buildRuleset(altSchemaDSL); const text1 = createTextNode('hello'); const text2 = createTextNode('title'); const para = createElementNode('paragraph', [text1]); const heading = createElementNode('heading', [text2]); const root = createElementNode('doc', [para, heading, para]); const tree = new CRDTTree(root, timeT()); const obj = createCRDTObjectWithTree('content', tree); const result = validateYorkieRuleset(obj, rules); expect(result.valid).toBe(true); }); }); describe('non-tree type mismatches through full pipeline', () => { it('should reject when value at path is not a CRDTTree', () => { const rules = buildRuleset(schemaDSL); // Create a CRDTObject with a nested CRDTObject at 'content' instead of a CRDTTree const ticket = timeT(); const obj = CRDTObject.create(ticket); const innerObj = CRDTObject.create(timeT()); obj.set('content', innerObj, timeT()); const result = validateYorkieRuleset(obj, rules); expect(result.valid).toBe(false); expect(result.errors).toBeDefined(); expect(result.errors![0].message).toContain('yorkie.Tree'); }); }); describe('yorkie.Tree without tree schema through full pipeline', () => { it('should pass validation for yorkie.Tree rule without treeNodes', () => { const noSchemaTreeDSL = ` type Document = { content: yorkie.Tree; }; `; const rules = buildRuleset(noSchemaTreeDSL); // A tree with any structure should be valid when no treeNodes are specified const text = createTextNode('hello'); const customNode = createElementNode('anything', [text]); const root = createElementNode('root', [customNode]); const tree = new CRDTTree(root, timeT()); const obj = createCRDTObjectWithTree('content', tree); const result = validateYorkieRuleset(obj, rules); expect(result.valid).toBe(true); }); }); }); ================================================ FILE: packages/sdk/test/unit/document/schema/tree_validator_test.ts ================================================ /* * Copyright 2026 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { describe, it, expect } from 'vitest'; import { CRDTTree, CRDTTreeNode } from '@yorkie-js/sdk/src/document/crdt/tree'; import { RHT } from '@yorkie-js/sdk/src/document/crdt/rht'; import { posT, timeT } from '@yorkie-js/sdk/test/helper/helper'; import { buildGroupResolver, validateTreeAgainstSchema, TreeNodeRuleInput, } from '@yorkie-js/sdk/src/document/schema/tree-validator'; /** * `createTextNode` creates a CRDTTreeNode of type "text" with the given value. */ function createTextNode(value: string, attrs?: RHT): CRDTTreeNode { return new CRDTTreeNode(posT(), 'text', value, attrs); } /** * `createElementNode` creates a CRDTTreeNode of the given type with children. */ function createElementNode( type: string, children: Array, ): CRDTTreeNode { const node = new CRDTTreeNode(posT(), type, []); for (const child of children) { node.append(child); } return node; } describe('buildGroupResolver', () => { it('should resolve group names to node types', () => { const rules: Array = [ { nodeType: 'paragraph', content: 'text*', marks: '', group: 'block' }, { nodeType: 'heading', content: 'text*', marks: '', group: 'block' }, { nodeType: 'blockquote', content: 'block+', marks: '', group: 'block' }, ]; const resolver = buildGroupResolver(rules); expect(resolver('block')).toEqual(['paragraph', 'heading', 'blockquote']); }); it('should return the name itself if not a group', () => { const rules: Array = [ { nodeType: 'paragraph', content: 'text*', marks: '', group: 'block' }, ]; const resolver = buildGroupResolver(rules); expect(resolver('paragraph')).toEqual(['paragraph']); expect(resolver('unknown')).toEqual(['unknown']); }); it('should handle nodes with multiple groups', () => { const rules: Array = [ { nodeType: 'paragraph', content: 'text*', marks: '', group: 'block flow', }, ]; const resolver = buildGroupResolver(rules); expect(resolver('block')).toEqual(['paragraph']); expect(resolver('flow')).toEqual(['paragraph']); }); it('should handle empty group', () => { const rules: Array = [ { nodeType: 'paragraph', content: 'text*', marks: '', group: '' }, ]; const resolver = buildGroupResolver(rules); expect(resolver('paragraph')).toEqual(['paragraph']); }); }); describe('validateTreeAgainstSchema', () => { const docRules: Array = [ { nodeType: 'doc', content: 'paragraph+', marks: '', group: '' }, { nodeType: 'paragraph', content: 'text*', marks: '', group: '' }, ]; it('should validate a valid tree (doc > paragraph > text)', () => { const text = createTextNode('hello'); const para = createElementNode('paragraph', [text]); const root = createElementNode('doc', [para]); const tree = new CRDTTree(root, timeT()); const result = validateTreeAgainstSchema(tree, docRules); expect(result.valid).toBe(true); expect(result.error).toBeUndefined(); }); it('should validate a tree with multiple paragraphs', () => { const text1 = createTextNode('hello'); const text2 = createTextNode('world'); const para1 = createElementNode('paragraph', [text1]); const para2 = createElementNode('paragraph', [text2]); const root = createElementNode('doc', [para1, para2]); const tree = new CRDTTree(root, timeT()); const result = validateTreeAgainstSchema(tree, docRules); expect(result.valid).toBe(true); }); it('should reject unknown node type', () => { const text = createTextNode('hello'); const div = createElementNode('div', [text]); const root = createElementNode('doc', [div]); const tree = new CRDTTree(root, timeT()); const result = validateTreeAgainstSchema(tree, docRules); expect(result.valid).toBe(false); expect(result.error).toContain('Unknown node type'); expect(result.error).toContain('div'); }); it('should reject content expression violation (doc requires paragraph+ but has none)', () => { const root = createElementNode('doc', []); const tree = new CRDTTree(root, timeT()); const result = validateTreeAgainstSchema(tree, docRules); expect(result.valid).toBe(false); expect(result.error).toContain('doc'); }); it('should reject content expression violation (wrong child type)', () => { const rules: Array = [ { nodeType: 'doc', content: 'paragraph+', marks: '', group: '' }, { nodeType: 'paragraph', content: 'text*', marks: '', group: '' }, { nodeType: 'heading', content: 'text*', marks: '', group: '' }, ]; const text = createTextNode('hello'); const heading = createElementNode('heading', [text]); const root = createElementNode('doc', [heading]); const tree = new CRDTTree(root, timeT()); const result = validateTreeAgainstSchema(tree, rules); expect(result.valid).toBe(false); expect(result.error).toContain('doc'); }); it('should validate with group resolver', () => { const rules: Array = [ { nodeType: 'doc', content: 'block+', marks: '', group: '' }, { nodeType: 'paragraph', content: 'text*', marks: '', group: 'block' }, { nodeType: 'heading', content: 'text*', marks: '', group: 'block' }, ]; const text1 = createTextNode('hello'); const text2 = createTextNode('world'); const para = createElementNode('paragraph', [text1]); const heading = createElementNode('heading', [text2]); const root = createElementNode('doc', [para, heading]); const tree = new CRDTTree(root, timeT()); const result = validateTreeAgainstSchema(tree, rules); expect(result.valid).toBe(true); }); it('should validate an empty content expression (no children required)', () => { const rules: Array = [ { nodeType: 'doc', content: 'paragraph+', marks: '', group: '' }, { nodeType: 'paragraph', content: '', marks: '', group: '' }, ]; const para = createElementNode('paragraph', []); const root = createElementNode('doc', [para]); const tree = new CRDTTree(root, timeT()); const result = validateTreeAgainstSchema(tree, rules); expect(result.valid).toBe(true); }); it('should validate marks on text children', () => { const rules: Array = [ { nodeType: 'doc', content: 'heading+', marks: '', group: '' }, { nodeType: 'heading', content: 'text*', marks: 'bold', group: '' }, ]; // Create a text node with a "bold" mark const boldAttr = new RHT(); boldAttr.set('bold', '"true"', timeT()); const text = createTextNode('hello', boldAttr); const heading = createElementNode('heading', [text]); const root = createElementNode('doc', [heading]); const tree = new CRDTTree(root, timeT()); const result = validateTreeAgainstSchema(tree, rules); expect(result.valid).toBe(true); }); it('should reject disallowed marks on text children', () => { const rules: Array = [ { nodeType: 'doc', content: 'heading+', marks: '', group: '' }, { nodeType: 'heading', content: 'text*', marks: 'bold', group: '' }, ]; // Create a text node with an "italic" mark (not allowed) const italicAttr = new RHT(); italicAttr.set('italic', '"true"', timeT()); const text = createTextNode('hello', italicAttr); const heading = createElementNode('heading', [text]); const root = createElementNode('doc', [heading]); const tree = new CRDTTree(root, timeT()); const result = validateTreeAgainstSchema(tree, rules); expect(result.valid).toBe(false); expect(result.error).toContain('disallowed mark'); expect(result.error).toContain('italic'); }); it('should allow multiple valid marks', () => { const rules: Array = [ { nodeType: 'doc', content: 'paragraph+', marks: '', group: '' }, { nodeType: 'paragraph', content: 'text*', marks: 'bold italic underline', group: '', }, ]; const attrs = new RHT(); attrs.set('bold', '"true"', timeT()); attrs.set('italic', '"true"', timeT()); const text = createTextNode('hello', attrs); const para = createElementNode('paragraph', [text]); const root = createElementNode('doc', [para]); const tree = new CRDTTree(root, timeT()); const result = validateTreeAgainstSchema(tree, rules); expect(result.valid).toBe(true); }); it('should validate deeply nested trees', () => { const rules: Array = [ { nodeType: 'doc', content: 'section+', marks: '', group: '' }, { nodeType: 'section', content: 'paragraph+', marks: '', group: '' }, { nodeType: 'paragraph', content: 'text*', marks: '', group: '' }, ]; const text = createTextNode('hello'); const para = createElementNode('paragraph', [text]); const section = createElementNode('section', [para]); const root = createElementNode('doc', [section]); const tree = new CRDTTree(root, timeT()); const result = validateTreeAgainstSchema(tree, rules); expect(result.valid).toBe(true); }); it('should detect errors in nested children', () => { const rules: Array = [ { nodeType: 'doc', content: 'section+', marks: '', group: '' }, { nodeType: 'section', content: 'paragraph+', marks: '', group: '' }, { nodeType: 'paragraph', content: 'text*', marks: '', group: '' }, ]; // section with no children (requires paragraph+) const section = createElementNode('section', []); const root = createElementNode('doc', [section]); const tree = new CRDTTree(root, timeT()); const result = validateTreeAgainstSchema(tree, rules); expect(result.valid).toBe(false); expect(result.error).toContain('section'); }); it('should skip mark validation when marks rule is empty', () => { const rules: Array = [ { nodeType: 'doc', content: 'paragraph+', marks: '', group: '' }, { nodeType: 'paragraph', content: 'text*', marks: '', group: '' }, ]; // Text node with marks but paragraph has no marks rule - should pass const attrs = new RHT(); attrs.set('bold', '"true"', timeT()); const text = createTextNode('hello', attrs); const para = createElementNode('paragraph', [text]); const root = createElementNode('doc', [para]); const tree = new CRDTTree(root, timeT()); const result = validateTreeAgainstSchema(tree, rules); expect(result.valid).toBe(true); }); it('should handle alternative content expressions', () => { const rules: Array = [ { nodeType: 'doc', content: '(paragraph | heading)+', marks: '', group: '', }, { nodeType: 'paragraph', content: 'text*', marks: '', group: '' }, { nodeType: 'heading', content: 'text*', marks: '', group: '' }, ]; const text1 = createTextNode('hello'); const text2 = createTextNode('title'); const para = createElementNode('paragraph', [text1]); const heading = createElementNode('heading', [text2]); const root = createElementNode('doc', [para, heading]); const tree = new CRDTTree(root, timeT()); const result = validateTreeAgainstSchema(tree, rules); expect(result.valid).toBe(true); }); }); ================================================ FILE: packages/sdk/test/unit/document/yson_test.ts ================================================ import { describe, it, expect } from 'vitest'; import * as YSON from '@yorkie-js/sdk/src/document/yson'; describe('YSON Parser', () => { describe('parse', () => { it('should parse primitives', () => { expect(YSON.parse('"hello"')).toBe('hello'); expect(YSON.parse('42')).toBe(42); expect(YSON.parse('true')).toBe(true); expect(YSON.parse('null')).toBe(null); }); it('should parse arrays', () => { const result = YSON.parse('[1, 2, 3]'); expect(result).toEqual([1, 2, 3]); }); it('should parse plain objects', () => { const result = YSON.parse('{"name":"Alice","age":30}'); expect(result).toEqual({ name: 'Alice', age: 30 }); }); it('should parse Text CRDT', () => { const yson = '{"content":Text([{"val":"H"},{"val":"i"}])}'; const result = YSON.parse(yson); expect(YSON.isObject(result)).toBe(true); const obj = result as { content: YSON.YSONValue }; expect(YSON.isText(obj.content)).toBe(true); if (YSON.isText(obj.content)) { expect(obj.content.type).toBe('Text'); expect(obj.content.nodes).toHaveLength(2); expect(obj.content.nodes[0].val).toBe('H'); expect(obj.content.nodes[1].val).toBe('i'); } }); it('should parse Text CRDT with attributes', () => { const yson = '{"content":Text([{"val":"H","attrs":{"bold":true}}])}'; const result = YSON.parse(yson); const obj = result as { content: YSON.YSONValue }; if (YSON.isText(obj.content)) { expect(obj.content.nodes[0].attrs).toEqual({ bold: true }); } }); it('should parse Tree CRDT', () => { const yson = '{"content":Tree({"type":"doc","children":[{"type":"p","children":[{"type":"text","value":"Hello"}]}]})}'; const result = YSON.parse(yson); const obj = result as { content: YSON.YSONValue }; expect(YSON.isTree(obj.content)).toBe(true); if (YSON.isTree(obj.content)) { expect(obj.content.type).toBe('Tree'); expect(obj.content.root.type).toBe('doc'); expect(obj.content.root.children).toHaveLength(1); expect(obj.content.root.children![0].type).toBe('p'); } }); it('should parse nested structures', () => { const yson = '{"users":[{"name":"Alice","content":Text([{"val":"A"}])}]}'; const result = YSON.parse(yson); const obj = result as { users: Array }; expect(Array.isArray(obj.users)).toBe(true); expect(YSON.isText(obj.users[0].content)).toBe(true); }); }); describe('Type Guards', () => { it('isText should identify Text objects', () => { const text: YSON.Text = { type: 'Text', nodes: [{ val: 'H' }] }; expect(YSON.isText(text)).toBe(true); expect(YSON.isText({ type: 'NotText' })).toBe(false); expect(YSON.isText('string')).toBe(false); }); it('isTree should identify Tree objects', () => { const tree: YSON.Tree = { type: 'Tree', root: { type: 'doc', children: [] }, }; expect(YSON.isTree(tree)).toBe(true); expect(YSON.isTree({ type: 'NotTree' })).toBe(false); }); it('isObject should identify plain objects', () => { expect(YSON.isObject({ name: 'Alice' })).toBe(true); expect(YSON.isObject({ type: 'Text', nodes: [] })).toBe(false); expect(YSON.isObject([1, 2, 3])).toBe(false); }); }); describe('Utility Functions', () => { it('textToString should extract text', () => { const text: YSON.Text = { type: 'Text', nodes: [ { val: 'H' }, { val: 'e' }, { val: 'l' }, { val: 'l' }, { val: 'o' }, ], }; expect(YSON.textToString(text)).toBe('Hello'); }); it('textToString should handle empty text', () => { const text: YSON.Text = { type: 'Text', nodes: [] }; expect(YSON.textToString(text)).toBe(''); }); it('treeToXML should convert tree to XML', () => { const tree: YSON.Tree = { type: 'Tree', root: { type: 'doc', children: [ { type: 'p', attrs: { class: 'paragraph' }, children: [{ type: 'text', value: 'Hello' }], }, ], }, }; const xml = YSON.treeToXML(tree); expect(xml).toContain(''); expect(xml).toContain('

    '); expect(xml).toContain('Hello'); }); }); describe('Int Type', () => { it('should parse Int type', () => { const result = YSON.parse('{"value":Int(42)}'); const obj = result as { value: YSON.YSONValue }; expect(YSON.isInt(obj.value)).toBe(true); if (YSON.isInt(obj.value)) { expect(obj.value.type).toBe('Int'); expect(obj.value.value).toBe(42); } }); it('should parse negative Int', () => { const result = YSON.parse('{"value":Int(-42)}'); const obj = result as { value: YSON.YSONValue }; if (YSON.isInt(obj.value)) { expect(obj.value.value).toBe(-42); } }); }); describe('Long Type', () => { it('should parse Long type', () => { const result = YSON.parse('{"value":Long(64)}'); const obj = result as { value: YSON.YSONValue }; expect(YSON.isLong(obj.value)).toBe(true); if (YSON.isLong(obj.value)) { expect(obj.value.type).toBe('Long'); expect(obj.value.value).toBe(64); } }); }); describe('Date Type', () => { it('should parse Date type', () => { const dateStr = '2025-01-02T15:04:05.058Z'; const result = YSON.parse(`{"value":Date("${dateStr}")}`); const obj = result as { value: YSON.YSONValue }; expect(YSON.isDate(obj.value)).toBe(true); if (YSON.isDate(obj.value)) { expect(obj.value.type).toBe('Date'); expect(obj.value.value).toBe(dateStr); } }); }); describe('BinData Type', () => { it('should parse BinData type', () => { const result = YSON.parse('{"value":BinData("AQID")}'); const obj = result as { value: YSON.YSONValue }; expect(YSON.isBinData(obj.value)).toBe(true); if (YSON.isBinData(obj.value)) { expect(obj.value.type).toBe('BinData'); expect(obj.value.value).toBe('AQID'); } }); }); describe('Counter Type', () => { it('should parse Counter with Int', () => { const result = YSON.parse('{"value":Counter(Int(10))}'); const obj = result as { value: YSON.YSONValue }; expect(YSON.isCounter(obj.value)).toBe(true); if (YSON.isCounter(obj.value)) { expect(obj.value.type).toBe('Counter'); expect(YSON.isInt(obj.value.value)).toBe(true); if (YSON.isInt(obj.value.value)) { expect(obj.value.value.value).toBe(10); } } }); it('should parse Counter with Long', () => { const result = YSON.parse('{"value":Counter(Long(100))}'); const obj = result as { value: YSON.YSONValue }; if (YSON.isCounter(obj.value)) { expect(YSON.isLong(obj.value.value)).toBe(true); if (YSON.isLong(obj.value.value)) { expect(obj.value.value.value).toBe(100); } } }); }); describe('DedupCounter Type', () => { it('should parse DedupCounter with Int and HLL registers', () => { const result = YSON.parse('{"value":DedupCounter(Int(15),"AQIDBA==")}'); const obj = result as { value: YSON.YSONValue }; expect(YSON.isDedupCounter(obj.value)).toBe(true); if (YSON.isDedupCounter(obj.value)) { expect(obj.value.type).toBe('DedupCounter'); expect(YSON.isInt(obj.value.value)).toBe(true); expect(obj.value.value.value).toBe(15); expect(obj.value.registers).toBe('AQIDBA=='); } }); it('should parse DedupCounter with zero value', () => { const result = YSON.parse('{"value":DedupCounter(Int(0),"AAAA")}'); const obj = result as { value: YSON.YSONValue }; if (YSON.isDedupCounter(obj.value)) { expect(obj.value.value.value).toBe(0); expect(obj.value.registers).toBe('AAAA'); } }); it('should parse DedupCounter alongside other types', () => { const yson = '{"counter":Counter(Int(10)),"dedup":DedupCounter(Int(5),"dGVzdA==")}'; const result = YSON.parse(yson); const obj = result as any; expect(YSON.isCounter(obj.counter)).toBe(true); expect(YSON.isDedupCounter(obj.dedup)).toBe(true); if (YSON.isDedupCounter(obj.dedup)) { expect(obj.dedup.value.value).toBe(5); expect(obj.dedup.registers).toBe('dGVzdA=='); } }); it('isDedupCounter should not match Counter', () => { const counter: YSON.Counter = { type: 'Counter', value: { type: 'Int', value: 10 }, }; expect(YSON.isDedupCounter(counter)).toBe(false); }); it('isCounter should not match DedupCounter', () => { const dedup: YSON.DedupCounter = { type: 'DedupCounter', value: { type: 'Int', value: 5 }, registers: 'AAAA', }; expect(YSON.isCounter(dedup)).toBe(false); }); it('isObject should not match DedupCounter', () => { const dedup: YSON.DedupCounter = { type: 'DedupCounter', value: { type: 'Int', value: 5 }, registers: 'AAAA', }; expect(YSON.isObject(dedup)).toBe(false); }); }); describe('Complex Document', () => { it('should parse document with all types', () => { const yson = `{ "str": "value1", "num": 42, "int": Int(42), "long": Long(64), "null": null, "bool": true, "bytes": BinData("AQID"), "date": Date("2025-01-02T15:04:05.058Z"), "counter": Counter(Int(10)), "dedup": DedupCounter(Int(3),"AQID"), "text": Text([{"val":"Hello"}]), "tree": Tree({"type":"p","children":[{"type":"text","value":"Hello World"}]}) }`; const result = YSON.parse(yson); expect(YSON.isObject(result)).toBe(true); const obj = result as any; expect(obj.str).toBe('value1'); expect(obj.num).toBe(42); expect(YSON.isInt(obj.int)).toBe(true); expect(YSON.isLong(obj.long)).toBe(true); expect(obj.null).toBe(null); expect(obj.bool).toBe(true); expect(YSON.isBinData(obj.bytes)).toBe(true); expect(YSON.isDate(obj.date)).toBe(true); expect(YSON.isCounter(obj.counter)).toBe(true); expect(YSON.isDedupCounter(obj.dedup)).toBe(true); expect(YSON.isText(obj.text)).toBe(true); expect(YSON.isTree(obj.tree)).toBe(true); }); }); describe('Type Parameter', () => { it('should infer type with type parameter', () => { interface DocType { content: YSON.Text; title: string; } const yson = '{"content":Text([{"val":"H"},{"val":"i"}]),"title":"Hello"}'; const result = YSON.parse(yson); // Type should be inferred as DocumentRoot expect(result.title).toBe('Hello'); expect(result.content.type).toBe('Text'); expect(result.content.nodes).toHaveLength(2); }); it('should work with nested type parameter', () => { interface User { name: string; bio: YSON.Text; } interface Doc { users: Array; } const yson = '{"users":[{"name":"Alice","bio":Text([{"val":"A"}])}]}'; const result = YSON.parse(yson); expect(result.users[0].name).toBe('Alice'); expect(result.users[0].bio.type).toBe('Text'); expect(result.users[0].bio.nodes[0].val).toBe('A'); }); it('should work with Tree type parameter', () => { interface TreeDoc { content: YSON.Tree; } const yson = '{"content":Tree({"type":"doc","children":[{"type":"p","children":[{"type":"text","value":"Hello"}]}]})}'; const result = YSON.parse(yson); expect(result.content.type).toBe('Tree'); expect(result.content.root.type).toBe('doc'); }); it('should work with mixed YSON types', () => { interface ComplexDoc { text: YSON.Text; tree: YSON.Tree; counter: YSON.Counter; timestamp: YSON.Date; } const yson = `{ "text": Text([{"val":"H"}]), "tree": Tree({"type":"p","children":[]}), "counter": Counter(Int(10)), "timestamp": Date("2025-01-02T15:04:05.058Z") }`; const result = YSON.parse(yson); expect(result.text.type).toBe('Text'); expect(result.tree.type).toBe('Tree'); expect(result.counter.type).toBe('Counter'); expect(result.timestamp.type).toBe('Date'); }); it('should work without type parameter (default behavior)', () => { const yson = '{"content":Text([{"val":"H"}])}'; const result = YSON.parse(yson); // Should still work but type is YSONValue expect(YSON.isObject(result)).toBe(true); }); it('should handle primitive type parameter', () => { const numberYson = '42'; const stringYson = '"hello"'; const boolYson = 'true'; const numResult = YSON.parse(numberYson); const strResult = YSON.parse(stringYson); const boolResult = YSON.parse(boolYson); expect(numResult).toBe(42); expect(strResult).toBe('hello'); expect(boolResult).toBe(true); }); it('should handle array type parameter', () => { interface Item { id: number; text: YSON.Text; } const yson = '[{"id":1,"text":Text([{"val":"A"}])},{"id":2,"text":Text([{"val":"B"}])}]'; const result = YSON.parse>(yson); expect(result).toHaveLength(2); expect(result[0].id).toBe(1); expect(result[0].text.nodes[0].val).toBe('A'); expect(result[1].id).toBe(2); expect(result[1].text.nodes[0].val).toBe('B'); }); it('should handle optional properties with type parameter', () => { interface Document { title: string; content?: YSON.Text; metadata?: { author: string; }; } const yson1 = '{"title":"Doc1","content":Text([{"val":"A"}])}'; const yson2 = '{"title":"Doc2"}'; const result1 = YSON.parse(yson1); const result2 = YSON.parse(yson2); expect(result1.title).toBe('Doc1'); expect(result1.content?.type).toBe('Text'); expect(result2.title).toBe('Doc2'); expect(result2.content).toBeUndefined(); }); }); describe('Error Handling', () => { it('should throw on invalid JSON', () => { expect(() => YSON.parse('invalid json')).toThrow(); }); it('should throw on invalid Text format', () => { const invalidText = '{"content":Text([{"invalid":"node"}])}'; expect(() => YSON.parse(invalidText)).toThrow(); }); it('should throw on invalid Tree format', () => { const invalidTree = '{"content":Tree({"invalid":"tree"})}'; expect(() => YSON.parse(invalidTree)).toThrow(); }); }); }); ================================================ FILE: packages/sdk/test/unit/schema/ruleset_validator_test.ts ================================================ /* * Copyright 2025 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { describe, it, expect } from 'vitest'; import yorkie from '@yorkie-js/sdk/src/yorkie'; import { validateYorkieRuleset } from '@yorkie-js/sdk/src/document/schema/ruleset_validator'; import { Rule } from '@yorkie-js/schema/src/rulesets'; import { toDocKey } from '@yorkie-js/sdk/test/integration/integration_helper'; describe('ruleset-validator', () => { it('should validate primitive type correctly', ({ task }) => { const ruleset: Array = [ { path: '$', type: 'object', properties: [ 'field1', 'field2', 'field3', 'field4', 'field5', 'field6', 'field7', 'field8', ], }, { path: '$.field1', type: 'null' }, { path: '$.field2', type: 'boolean' }, { path: '$.field3', type: 'integer' }, { path: '$.field4', type: 'double' }, { path: '$.field5', type: 'long' }, { path: '$.field6', type: 'string' }, { path: '$.field7', type: 'date' }, { path: '$.field8', type: 'bytes' }, ]; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document(docKey); doc.update((root) => { root.field1 = null; root.field2 = true; root.field3 = 123; root.field4 = 123.456; root.field5 = 9223372036854775807n; root.field6 = 'test'; root.field7 = new Date(); root.field8 = new Uint8Array([1, 2, 3]); }); let result = validateYorkieRuleset(doc.getRootObject(), ruleset); expect(result.valid).to.eq(true); doc.update((root) => { root.field1 = false; root.field2 = 123; root.field3 = 123.456; root.field4 = 9223372036854775807n; root.field5 = 'test'; root.field6 = new Date(); root.field7 = new Uint8Array([1, 2, 3]); root.field8 = null; }); result = validateYorkieRuleset(doc.getRootObject(), ruleset); expect(result.valid).to.eq(false); expect(result.errors).to.deep.eq([ { path: '$.field1', message: 'expected null at path $.field1', }, { path: '$.field2', message: 'expected boolean at path $.field2', }, { path: '$.field3', message: 'expected integer at path $.field3', }, { path: '$.field4', message: 'expected double at path $.field4', }, { path: '$.field5', message: 'expected long at path $.field5', }, { path: '$.field6', message: 'expected string at path $.field6', }, { path: '$.field7', message: 'expected date at path $.field7', }, { path: '$.field8', message: 'expected bytes at path $.field8', }, ]); }); it('should validate object type correctly', ({ task }) => { const ruleset: Array = [ { path: '$.user', type: 'object', properties: ['name'] }, ]; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ user: any }>(docKey); doc.update((root) => { root.user = { name: 'test' }; }); let result = validateYorkieRuleset(doc.getRootObject(), ruleset); expect(result.valid).to.eq(true); doc.update((root) => { root.user = 'not an object'; }); result = validateYorkieRuleset(doc.getRootObject(), ruleset); expect(result.valid).to.eq(false); expect(result.errors).to.deep.eq([ { path: '$.user', message: 'expected object at path $.user', }, ]); }); it('should validate array type correctly', ({ task }) => { const ruleset: Array = [{ path: '$.items', type: 'array' }]; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ items: any }>(docKey); doc.update((root) => { root.items = [1, 2, 3]; }); let result = validateYorkieRuleset(doc.getRootObject(), ruleset); expect(result.valid).to.eq(true); doc.update((root) => { root.items = 'not an array'; }); result = validateYorkieRuleset(doc.getRootObject(), ruleset); expect(result.valid).to.eq(false); expect(result.errors).to.deep.eq([ { path: '$.items', message: 'expected array at path $.items', }, ]); }); it('should validate nested paths correctly', ({ task }) => { const ruleset: Array = [ { path: '$', type: 'object', properties: ['user'] }, { path: '$.user', type: 'object', properties: ['name', 'age'] }, { path: '$.user.name', type: 'string' }, { path: '$.user.age', type: 'integer' }, ]; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ user: any }>(docKey); doc.update((root) => { root.user = { name: 'test', age: 25 }; }); let result = validateYorkieRuleset(doc.getRootObject(), ruleset); expect(result.valid).to.eq(true); doc.update((root) => { root.user.name = 123; }); result = validateYorkieRuleset(doc.getRootObject(), ruleset); expect(result.valid).to.eq(false); expect(result.errors).to.deep.eq([ { path: '$.user.name', message: 'expected string at path $.user.name', }, ]); }); it.todo( 'should handle missing or unexpected values correctly', ({ task }) => { // TODO(chacha912): Need to handle rules for optional property paths. const ruleset: Array = [ { path: '$.user', type: 'object', properties: ['name', 'age', 'address'], optional: ['address'], }, { path: '$.user.name', type: 'string' }, { path: '$.user.age', type: 'integer' }, { path: '$.user.address', type: 'string' }, ]; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ user: any }>(docKey); // 1. All properties are present doc.update((root) => { root.user = { name: 'test', age: 25, address: '123 Main St' }; }); let result = validateYorkieRuleset(doc.getRootObject(), ruleset); expect(result.valid).to.eq(true); // 2. Optional property is missing doc.update((root) => { root.user = { name: 'test', age: 26 }; }); result = validateYorkieRuleset(doc.getRootObject(), ruleset); expect(result.valid).to.eq(true); // 3. Required property is missing doc.update((root) => { root.user = { name: 'test' }; }); result = validateYorkieRuleset(doc.getRootObject(), ruleset); expect(result.valid).to.eq(false); expect(result.errors).to.deep.eq([ { path: '$.user.age', message: "Missing required property 'age' at path $.user", }, ]); // 4. Unexpected property is present doc.update((root) => { root.user = { name: 'test', age: 27, unknown: 'hello' }; }); result = validateYorkieRuleset(doc.getRootObject(), ruleset); expect(result.valid).to.eq(false); expect(result.errors).to.deep.eq([ { path: '$.user.unknown', message: "Unexpected property 'unknown' at path $.user", }, ]); }, ); it('should handle yorkie types correctly', ({ task }) => { const ruleset: Array = [ { path: '$', type: 'object', properties: ['text', 'tree', 'counter'] }, { path: '$.text', type: 'yorkie.Text' }, { path: '$.tree', type: 'yorkie.Tree' }, { path: '$.counter', type: 'yorkie.Counter' }, ]; const docKey = toDocKey(`${task.name}-${new Date().getTime()}`); const doc = new yorkie.Document<{ text: any; tree: any; counter: any }>( docKey, ); doc.update((root) => { root.text = new yorkie.Text(); root.tree = new yorkie.Tree({ type: 'doc', children: [] }); root.counter = new yorkie.Counter(0); }); let result = validateYorkieRuleset(doc.getRootObject(), ruleset); expect(result.valid).to.eq(true); doc.update((root) => { root.text = 'text'; root.tree = 'doc'; root.counter = 1; }); result = validateYorkieRuleset(doc.getRootObject(), ruleset); expect(result.valid).to.eq(false); expect(result.errors).to.deep.eq([ { path: '$.text', message: 'expected yorkie.Text at path $.text', }, { path: '$.tree', message: 'expected yorkie.Tree at path $.tree', }, { path: '$.counter', message: 'expected yorkie.Counter at path $.counter', }, ]); }); }); ================================================ FILE: packages/sdk/test/unit/util/index_tree_test.ts ================================================ /* * Copyright 2023 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { describe, it, assert } from 'vitest'; import { buildIndexTree } from '@yorkie-js/sdk/test/helper/helper'; import { CRDTTreeNode } from '@yorkie-js/sdk/src/document/crdt/tree'; import { findCommonAncestor, IndexTree, } from '@yorkie-js/sdk/src/util/index_tree'; /** * `toDiagnostic` is a helper function that converts the given node to a * diagnostic string. */ function toDiagnostic(node: CRDTTreeNode): string { if (node.isText) { return `${node.value}`; } return node.type; } /** * `tokensBetweenEqual` is a helper function that checks the tokens between the given * indexes. */ function tokensBetweenEqual( tree: IndexTree, from: number, to: number, expected: Array, ) { const actual: Array = []; tree.tokensBetween(from, to, ([node, tokenType]) => { actual.push(`${toDiagnostic(node)}:${tokenType}`); return true; }); assert.deepEqual(actual, expected); } describe('IndexTree', function () { it('Can find position from the given offset', function () { // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 //

    h e l l o

    w o r l d

    const tree = buildIndexTree({ type: 'r', children: [ { type: 'p', children: [{ type: 'text', value: 'hello' }] }, { type: 'p', children: [{ type: 'text', value: 'world' }] }, ], }); let pos = tree.findTreePos(0); assert.deepEqual([toDiagnostic(pos.node), pos.offset], ['r', 0]); pos = tree.findTreePos(1); assert.deepEqual([toDiagnostic(pos.node), pos.offset], ['hello', 0]); pos = tree.findTreePos(6); assert.deepEqual([toDiagnostic(pos.node), pos.offset], ['hello', 5]); pos = tree.findTreePos(6, false); assert.deepEqual([toDiagnostic(pos.node), pos.offset], ['p', 1]); pos = tree.findTreePos(7); assert.deepEqual([toDiagnostic(pos.node), pos.offset], ['r', 1]); pos = tree.findTreePos(8); assert.deepEqual([toDiagnostic(pos.node), pos.offset], ['world', 0]); pos = tree.findTreePos(13); assert.deepEqual([toDiagnostic(pos.node), pos.offset], ['world', 5]); pos = tree.findTreePos(14); assert.deepEqual([toDiagnostic(pos.node), pos.offset], ['r', 2]); }); it('Can find right node from the given offset in postorder traversal', function () { // 0 1 2 3 4 6 7 8 //

    a b

    c d

    const tree = buildIndexTree({ type: 'root', children: [ { type: 'p', children: [{ type: 'text', value: 'ab' }] }, { type: 'p', children: [{ type: 'text', value: 'cd' }] }, ], }); // postorder traversal: "ab", , "cd",

    , assert.equal(tree.findPostorderRight(tree.findTreePos(0))!.type, 'text'); assert.equal(tree.findPostorderRight(tree.findTreePos(1))!.type, 'text'); assert.equal(tree.findPostorderRight(tree.findTreePos(3))!.type, 'p'); assert.equal(tree.findPostorderRight(tree.findTreePos(4))!.type, 'text'); assert.equal(tree.findPostorderRight(tree.findTreePos(5))!.type, 'text'); assert.equal(tree.findPostorderRight(tree.findTreePos(7))!.type, 'p'); assert.equal(tree.findPostorderRight(tree.findTreePos(8))!.type, 'root'); }); it('Can find common ancestor of two given nodes', function () { const tree = buildIndexTree({ type: 'root', children: [ { type: 'p', children: [ { type: 'b', children: [{ type: 'text', value: 'ab' }] }, { type: 'b', children: [{ type: 'text', value: 'cd' }] }, ], }, ], }); const nodeAB = tree.findTreePos(3, true).node; const nodeCD = tree.findTreePos(7, true).node; assert.equal(toDiagnostic(nodeAB), 'ab'); assert.equal(toDiagnostic(nodeCD), 'cd'); assert.equal(findCommonAncestor(nodeAB, nodeCD)!.type, 'p'); }); it('Can traverse tokens between two given positions', function () { // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 //

    a b

    c d e

    f g

    const tree = buildIndexTree({ type: 'root', children: [ { type: 'p', children: [ { type: 'text', value: 'a' }, { type: 'text', value: 'b' }, ], }, { type: 'p', children: [{ type: 'text', value: 'cde' }] }, { type: 'p', children: [{ type: 'text', value: 'fg' }] }, ], }); tokensBetweenEqual(tree, 2, 11, [ 'b:Text', 'p:End', 'p:Start', 'cde:Text', 'p:End', 'p:Start', 'fg:Text', ]); tokensBetweenEqual(tree, 2, 6, ['b:Text', 'p:End', 'p:Start', 'cde:Text']); tokensBetweenEqual(tree, 0, 1, ['p:Start']); tokensBetweenEqual(tree, 3, 4, ['p:End']); tokensBetweenEqual(tree, 3, 5, ['p:End', 'p:Start']); }); it('Can convert index to pos', function () { // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 //

    a b c

    c d e f g h

    i j k l m n

    const tree = buildIndexTree({ type: 'root', children: [ { type: 'p', children: [ { type: 'text', value: 'ab' }, { type: 'text', value: 'c' }, ], }, { type: 'p', children: [ { type: 'text', value: 'cde' }, { type: 'text', value: 'fgh' }, ], }, { type: 'p', children: [ { type: 'text', value: 'ij' }, { type: 'text', value: 'k' }, { type: 'text', value: 'l' }, { type: 'text', value: 'mn' }, ], }, ], }); for (let i = 0; i < 22; i++) { const pos = tree.findTreePos(i, true); assert.equal(tree.indexOf(pos), i); } }); it('Can find treePos from given path', function () { // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 //

    a b

    c d e

    f g

    const tree = buildIndexTree({ type: 'root', children: [ { type: 'p', children: [ { type: 'text', value: 'a' }, { type: 'text', value: 'b' }, ], }, { type: 'p', children: [{ type: 'text', value: 'cde' }] }, { type: 'p', children: [{ type: 'text', value: 'fg' }] }, ], }); let pos = tree.pathToTreePos([0]); assert.deepEqual([toDiagnostic(pos.node), pos.offset], ['root', 0]); pos = tree.pathToTreePos([0, 0]); assert.deepEqual([toDiagnostic(pos.node), pos.offset], ['a', 0]); pos = tree.pathToTreePos([0, 1]); assert.deepEqual([toDiagnostic(pos.node), pos.offset], ['a', 1]); pos = tree.pathToTreePos([0, 2]); assert.deepEqual([toDiagnostic(pos.node), pos.offset], ['b', 1]); pos = tree.pathToTreePos([1]); assert.deepEqual([toDiagnostic(pos.node), pos.offset], ['root', 1]); pos = tree.pathToTreePos([1, 0]); assert.deepEqual([toDiagnostic(pos.node), pos.offset], ['cde', 0]); pos = tree.pathToTreePos([1, 1]); assert.deepEqual([toDiagnostic(pos.node), pos.offset], ['cde', 1]); pos = tree.pathToTreePos([1, 2]); assert.deepEqual([toDiagnostic(pos.node), pos.offset], ['cde', 2]); pos = tree.pathToTreePos([1, 3]); assert.deepEqual([toDiagnostic(pos.node), pos.offset], ['cde', 3]); pos = tree.pathToTreePos([2]); assert.deepEqual([toDiagnostic(pos.node), pos.offset], ['root', 2]); pos = tree.pathToTreePos([2, 0]); assert.deepEqual([toDiagnostic(pos.node), pos.offset], ['fg', 0]); pos = tree.pathToTreePos([2, 1]); assert.deepEqual([toDiagnostic(pos.node), pos.offset], ['fg', 1]); pos = tree.pathToTreePos([2, 2]); assert.deepEqual([toDiagnostic(pos.node), pos.offset], ['fg', 2]); pos = tree.pathToTreePos([3]); assert.deepEqual([toDiagnostic(pos.node), pos.offset], ['root', 3]); }); it('Can find path from given treePos', function () { // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 //

    A B C D E F G H

    const tree = buildIndexTree({ type: 'root', children: [ { type: 'tc', children: [ { type: 'p', children: [ { type: 'tn', children: [ { type: 'text', value: 'AB' }, { type: 'text', value: 'CD' }, ], }, { type: 'tn', children: [ { type: 'text', value: 'EF' }, { type: 'text', value: 'GH' }, ], }, ], }, ], }, ], }); // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 //

    A B C D E F G H

    let pos = tree.findTreePos(0); assert.deepEqual(tree.treePosToPath(pos), [0]); pos = tree.findTreePos(1); assert.deepEqual(tree.treePosToPath(pos), [0, 0]); pos = tree.findTreePos(2); assert.deepEqual(tree.treePosToPath(pos), [0, 0, 0]); pos = tree.findTreePos(3); assert.deepEqual(tree.treePosToPath(pos), [0, 0, 0, 0]); pos = tree.findTreePos(4); assert.deepEqual(tree.treePosToPath(pos), [0, 0, 0, 1]); pos = tree.findTreePos(5); assert.deepEqual(tree.treePosToPath(pos), [0, 0, 0, 2]); pos = tree.findTreePos(6); assert.deepEqual(tree.treePosToPath(pos), [0, 0, 0, 3]); pos = tree.findTreePos(7); assert.deepEqual(tree.treePosToPath(pos), [0, 0, 0, 4]); pos = tree.findTreePos(8); assert.deepEqual(tree.treePosToPath(pos), [0, 0, 1]); pos = tree.findTreePos(9); assert.deepEqual(tree.treePosToPath(pos), [0, 0, 1, 0]); pos = tree.findTreePos(10); assert.deepEqual(tree.treePosToPath(pos), [0, 0, 1, 1]); pos = tree.findTreePos(11); assert.deepEqual(tree.treePosToPath(pos), [0, 0, 1, 2]); pos = tree.findTreePos(12); assert.deepEqual(tree.treePosToPath(pos), [0, 0, 1, 3]); pos = tree.findTreePos(13); assert.deepEqual(tree.treePosToPath(pos), [0, 0, 1, 4]); pos = tree.findTreePos(14); assert.deepEqual(tree.treePosToPath(pos), [0, 0, 2]); pos = tree.findTreePos(15); assert.deepEqual(tree.treePosToPath(pos), [0, 1]); pos = tree.findTreePos(16); assert.deepEqual(tree.treePosToPath(pos), [1]); }); it('Can find index from given path', function () { const tree = buildIndexTree({ type: 'root', children: [ { type: 'tc', children: [ { type: 'p', children: [ { type: 'tn', children: [{ type: 'text', value: 'AB' }], }, { type: 'tn', children: [{ type: 'text', value: 'CD' }], }, ], }, ], }, ], }); // // | // // / \ //

    // | | // // | | // AB CD // // 0 1 2 3 4 5 6 7 8 9 10 11 12 //

    A B C D

    let pos = tree.pathToIndex([0]); assert.equal(pos, 0); assert.deepEqual(tree.indexToPath(pos + 1), [0, 0]); pos = tree.pathToIndex([0, 0]); assert.equal(pos, 1); assert.deepEqual(tree.indexToPath(pos + 1), [0, 0, 0]); pos = tree.pathToIndex([0, 0, 0]); assert.equal(pos, 2); assert.deepEqual(tree.indexToPath(pos + 1), [0, 0, 0, 0]); pos = tree.pathToIndex([0, 0, 0, 0]); assert.equal(pos, 3); assert.deepEqual(tree.indexToPath(pos + 1), [0, 0, 0, 1]); pos = tree.pathToIndex([0, 0, 0, 1]); assert.equal(pos, 4); assert.deepEqual(tree.indexToPath(pos + 1), [0, 0, 0, 2]); pos = tree.pathToIndex([0, 0, 0, 2]); assert.equal(pos, 5); assert.deepEqual(tree.indexToPath(pos + 1), [0, 0, 1]); pos = tree.pathToIndex([0, 0, 1]); assert.equal(pos, 6); assert.deepEqual(tree.indexToPath(pos + 1), [0, 0, 1, 0]); pos = tree.pathToIndex([0, 0, 1, 0]); assert.equal(pos, 7); assert.deepEqual(tree.indexToPath(pos + 1), [0, 0, 1, 1]); pos = tree.pathToIndex([0, 0, 1, 1]); assert.equal(pos, 8); assert.deepEqual(tree.indexToPath(pos + 1), [0, 0, 1, 2]); pos = tree.pathToIndex([0, 0, 1, 2]); assert.equal(pos, 9); assert.deepEqual(tree.indexToPath(pos + 1), [0, 0, 2]); pos = tree.pathToIndex([0, 0, 2]); assert.equal(pos, 10); assert.deepEqual(tree.indexToPath(pos + 1), [0, 1]); pos = tree.pathToIndex([0, 1]); assert.equal(pos, 11); assert.deepEqual(tree.indexToPath(pos + 1), [1]); }); }); ================================================ FILE: packages/sdk/test/unit/util/llrb_tree_test.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { describe, it, assert } from 'vitest'; import { LLRBTree } from '@yorkie-js/sdk/src/util/llrb_tree'; const arrays = [ [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [8, 5, 7, 9, 1, 3, 6, 0, 4, 2], [7, 2, 0, 3, 1, 9, 8, 4, 6, 5], [2, 0, 3, 5, 8, 6, 4, 1, 9, 7], [8, 4, 7, 9, 2, 6, 0, 3, 1, 5], [7, 1, 5, 2, 8, 6, 3, 4, 0, 9], [9, 8, 7, 6, 5, 4, 3, 2, 1, 0], ]; function checkFloor( tree: LLRBTree, arr: Array, loop: number, ) { for (let floorKey = 0; floorKey < loop; floorKey++) { let expectedKey: number | undefined = undefined; for (const v of arr) { if (v <= floorKey) { if (expectedKey === undefined || expectedKey <= v) { expectedKey = v; } } } const resultEntry = tree.floorEntry(floorKey); if (expectedKey === undefined) { assert.isUndefined(resultEntry); } else { assert.equal(expectedKey, resultEntry!.key); } } } describe('LLRBTree', function () { it('Can put/remove while keeping order', function () { for (const array of arrays) { const tree = new LLRBTree(); for (const idx of array) { tree.put(idx, idx); } assert.deepEqual([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], tree.values()); tree.remove(8); assert.deepEqual([0, 1, 2, 3, 4, 5, 6, 7, 9], tree.values()); tree.remove(2); assert.deepEqual([0, 1, 3, 4, 5, 6, 7, 9], tree.values()); tree.remove(5); assert.deepEqual([0, 1, 3, 4, 6, 7, 9], tree.values()); } }); it('Can floor entry', function () { for (const array of arrays) { const tree = new LLRBTree(); for (const idx of array) { tree.put(idx, idx); } assert.equal(8, tree.floorEntry(8)!.value); tree.remove(8); assert.equal(7, tree.floorEntry(8)!.value); tree.remove(7); assert.equal(6, tree.floorEntry(8)!.value); } }); it('Can floor entry at each insertion step', function () { for (const array of arrays) { const testArr: Array = []; const tree = new LLRBTree(); for (const value of array) { checkFloor(tree, testArr, 10); tree.put(value, value); testArr.push(value); checkFloor(tree, testArr, 10); } } }); }); ================================================ FILE: packages/sdk/test/unit/util/logger_test.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { describe, it, assert } from 'vitest'; import { logger, setLogLevel, LogLevel } from '@yorkie-js/sdk/src/util/logger'; describe('logger', function () { it('Can log according to the level.', function () { setLogLevel(LogLevel.Info); assert.isFalse(logger.isEnabled(LogLevel.Debug)); assert.isTrue(logger.isEnabled(LogLevel.Error)); }); }); ================================================ FILE: packages/sdk/test/unit/util/splay_tree_test.ts ================================================ /* * Copyright 2020 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { describe, it, assert } from 'vitest'; import { SplayNode, SplayTree } from '@yorkie-js/sdk/src/util/splay_tree'; class StringNode extends SplayNode { public removed: boolean = false; constructor(value: string) { super(value); } public static create(value: string): StringNode { return new StringNode(value); } public getLength(): number { if (this.removed) { return 0; } return this.value.length; } } class ElementNode extends SplayNode { public removed: boolean = false; constructor(value: number) { super(value); } public static create(value: number): ElementNode { return new ElementNode(value); } public getLength(): number { if (this.removed) { return 0; } return 1; } } function makeSampleTree(): [SplayTree, Array] { const tree = new SplayTree(); const nodes = new Array(); nodes.push(tree.insert(StringNode.create('A')) as StringNode); nodes.push(tree.insert(StringNode.create('BB')) as StringNode); nodes.push(tree.insert(StringNode.create('CCC')) as StringNode); nodes.push(tree.insert(StringNode.create('DDDD')) as StringNode); nodes.push(tree.insert(StringNode.create('EEEEE')) as StringNode); nodes.push(tree.insert(StringNode.create('FFFF')) as StringNode); nodes.push(tree.insert(StringNode.create('GGG')) as StringNode); nodes.push(tree.insert(StringNode.create('HH')) as StringNode); nodes.push(tree.insert(StringNode.create('I')) as StringNode); return [tree, nodes]; } // Make nodes in given range the same state as tombstone. function removeNodes(nodes: Array, from: number, to: number): void { for (let i = from; i <= to; i++) { nodes[i].removed = true; } } function sumOfWeight( nodes: Array, from: number, to: number, ): number { let sum = 0; for (let i = from; i <= to; i++) { sum += nodes[i].getWeight(); } return sum; } describe('SplayTree', function () { it('Can insert text values and splay them', function () { const tree = new SplayTree(); const nodeA = tree.insert(StringNode.create('A2')); assert.equal('[2,2]A2', tree.toTestString()); const nodeB = tree.insert(StringNode.create('B23')); assert.equal('[2,2]A2[5,3]B23', tree.toTestString()); const nodeC = tree.insert(StringNode.create('C234')); assert.equal('[2,2]A2[5,3]B23[9,4]C234', tree.toTestString()); const nodeD = tree.insert(StringNode.create('D2345')); assert.equal('[2,2]A2[5,3]B23[9,4]C234[14,5]D2345', tree.toTestString()); tree.splayNode(nodeB); assert.equal('[2,2]A2[14,3]B23[9,4]C234[5,5]D2345', tree.toTestString()); assert.equal(tree.indexOf(nodeA), 0); assert.equal(tree.indexOf(nodeB), 2); assert.equal(tree.indexOf(nodeC), 5); assert.equal(tree.indexOf(nodeD), 9); assert.deepEqual([undefined, 0], tree.findForText(-1)); assert.deepEqual([nodeA, 1], tree.findForText(1)); assert.deepEqual([nodeC, 2], tree.findForText(7)); assert.deepEqual([nodeD, 2], tree.findForText(11)); }); it('Can insert, delete array values and splay them', function () { const tree = new SplayTree(); let node = tree.findForArray(0); assert.isUndefined(node); const nodeA = tree.insert(ElementNode.create(2)) as ElementNode; assert.equal('[1,1]2', tree.toTestString()); const nodeB = tree.insert(ElementNode.create(3)) as ElementNode; assert.equal('[1,1]2[2,1]3', tree.toTestString()); const nodeC = tree.insert(ElementNode.create(4)) as ElementNode; assert.equal('[1,1]2[2,1]3[3,1]4', tree.toTestString()); const nodeD = tree.insert(ElementNode.create(5)) as ElementNode; assert.equal('[1,1]2[2,1]3[3,1]4[4,1]5', tree.toTestString()); nodeB.removed = true; tree.splayNode(nodeB); assert.equal('[1,1]2[3,0]3[2,1]4[1,1]5', tree.toTestString()); assert.equal(tree.indexOf(nodeA), 0); assert.equal(tree.indexOf(nodeC), 1); assert.equal(tree.indexOf(nodeD), 2); node = tree.findForArray(0); assert.equal(node, nodeA); node = tree.findForArray(1); assert.equal(node, nodeC); node = tree.findForArray(2); assert.equal(node, nodeD); assert.throws(() => tree.findForArray(3)); }); it('Can delete the given node', function () { const tree = new SplayTree(); const nodeH = tree.insert(StringNode.create('H')); assert.equal('[1,1]H', tree.toTestString()); const nodeE = tree.insert(StringNode.create('E')); assert.equal('[1,1]H[2,1]E', tree.toTestString()); const nodeL = tree.insert(StringNode.create('LL')); assert.equal('[1,1]H[2,1]E[4,2]LL', tree.toTestString()); const nodeO = tree.insert(StringNode.create('O')); assert.equal('[1,1]H[2,1]E[4,2]LL[5,1]O', tree.toTestString()); tree.delete(nodeE); assert.equal('[4,1]H[3,2]LL[1,1]O', tree.toTestString()); assert.equal(tree.indexOf(nodeH), 0); assert.equal(tree.indexOf(nodeE), -1); assert.equal(tree.indexOf(nodeL), 1); assert.equal(tree.indexOf(nodeO), 3); }); it('Can delete range between the given 2 boundary nodes', function () { let [tree, nodes] = makeSampleTree(); // check the filtering of rangeDelete removeNodes(nodes, 7, 8); tree.deleteRange(nodes[6], undefined); assert.equal(nodes[6], tree.getRoot()); assert.equal(nodes[6].getWeight(), 22); assert.equal(sumOfWeight(nodes, 7, 8), 0); [tree, nodes] = makeSampleTree(); // check the case 1 of rangeDelete removeNodes(nodes, 3, 6); tree.deleteRange(nodes[2], nodes[7]); assert.equal(nodes[7], tree.getRoot()); assert.equal(nodes[2], tree.getRoot().getLeft()); assert.equal(nodes[7].getWeight(), 9); assert.equal(nodes[2].getWeight(), 6); assert.equal(sumOfWeight(nodes, 3, 6), 0); [tree, nodes] = makeSampleTree(); tree.splayNode(nodes[6]); tree.splayNode(nodes[2]); // check the case 2 of rangeDelete removeNodes(nodes, 3, 7); tree.deleteRange(nodes[2], nodes[8]); assert.equal(nodes[8], tree.getRoot()); assert.equal(nodes[2], tree.getRoot()!.getLeft()); assert.equal(nodes[8].getWeight(), 7); assert.equal(nodes[2].getWeight(), 6); assert.equal(sumOfWeight(nodes, 3, 7), 0); }); it('should handle indexOf correctly with single node', function () { const tree = new SplayTree(); const nodeA = tree.insert(StringNode.create('A')); assert.equal(tree.indexOf(nodeA), 0); tree.delete(nodeA); assert.equal(tree.indexOf(nodeA), -1); }); }); ================================================ FILE: packages/sdk/test/vitest.d.ts ================================================ /* * Copyright 2024 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import type { Assertion, AsymmetricMatchersContaining } from 'vitest'; import { Code } from '@yorkie-js/sdk/src/util/error'; interface CustomMatchers { /** * `toThrowErrorCode` is a custom matcher that checks if the received error * has the expected error code. */ toThrowErrorCode: (expected: Code) => Promise; } declare module 'vitest' { interface Assertion extends CustomMatchers {} interface AsymmetricMatchersContaining extends CustomMatchers {} } ================================================ FILE: packages/sdk/test/vitest.setup.ts ================================================ /* * Copyright 2024 The Yorkie Authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { expect } from 'vitest'; import { Code } from '@yorkie-js/sdk/src/util/error'; expect.extend({ /** * `toThrowErrorCode` is a custom matcher that checks if the received error * has the expected error code. */ toThrowErrorCode(received: any, expected: Code) { const { isNot } = this; const pass = received?.code === expected; return { pass, message: () => `${received} is${isNot ? ' not' : ''} expected`, }; }, }); ================================================ FILE: packages/sdk/tsconfig.json ================================================ { "compilerOptions": { "target": "ES2020", "useDefineForClassFields": true, "module": "ESNext", "lib": ["ES2022", "DOM"], "skipLibCheck": true, "outDir": "./lib", /* Bundle */ "moduleResolution": "node", "allowSyntheticDefaultImports": true, "resolveJsonModule": true, "esModuleInterop": true, /* Lint */ "strict": true, /* Paths */ "baseUrl": ".", "paths": { "@yorkie-js/sdk/src/*": ["src/*"], "@yorkie-js/sdk/test/*": ["test/*"] }, "plugins": [ { "transform": "typescript-transform-paths" }, { "transform": "typescript-transform-paths", "afterDeclarations": true } ] }, "include": ["./src/**/*", "./test/**/*"], "exclude": ["./node_modules"] } ================================================ FILE: packages/sdk/typedoc.json ================================================ { "$schema": "https://typedoc.org/schema.json", "entryPoints": ["./src/yorkie.ts"], "out": "docs" } ================================================ FILE: packages/sdk/vite.build.ts ================================================ import { defineConfig } from 'vite'; import dts from 'vite-plugin-dts'; import commonjs from 'vite-plugin-commonjs'; import tsconfigPaths from 'vite-tsconfig-paths'; export default defineConfig({ build: { lib: { entry: 'src/yorkie.ts', name: 'yorkie-js-sdk', fileName: (format) => format === 'umd' ? 'yorkie-js-sdk.js' : `yorkie-js-sdk.${format}.js`, }, outDir: 'dist', sourcemap: true, minify: false, emptyOutDir: true, }, plugins: [ dts({ rollupTypes: true, }), commonjs(), tsconfigPaths({ ignoreConfigErrors: true, }), ], }); ================================================ FILE: packages/sdk/vite.config.ts ================================================ import { defineConfig } from 'vite'; import tsconfigPaths from 'vite-tsconfig-paths'; import commonjs from 'vite-plugin-commonjs'; export default defineConfig({ plugins: [ commonjs(), tsconfigPaths({ ignoreConfigErrors: true, }), ], define: { 'process.env': {}, }, }); ================================================ FILE: packages/sdk/vitest.config.ts ================================================ import { defineConfig } from 'vitest/config'; import tsconfigPaths from 'vite-tsconfig-paths'; // CI is true when running on GitHub Actions. const isCI = process.env.CI === 'true'; export default defineConfig({ test: { include: ['**/*_{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], exclude: ['**/lib/**', '**/node_modules/**'], coverage: { provider: 'istanbul', reporter: ['lcov', 'text-summary'], }, onConsoleLog() { return false; }, globals: true, testTimeout: isCI ? 5000 : Infinity, benchmark: { exclude: ['**/lib/**', '**/node_modules/**'], }, setupFiles: ['./test/vitest.setup.ts'], }, plugins: [ tsconfigPaths({ ignoreConfigErrors: true, }), ], }); ================================================ FILE: pnpm-workspace.yaml ================================================ packages: # all packages in direct subdirs of packages/ - 'packages/*' # all packages in subdirs of components/ - 'examples/**' # exclude packages that are inside test directories - '!**/test/**' publicHoistPattern: - '*eslint*' - '*prettier*' ================================================ FILE: scripts/setup.sh ================================================ #!/usr/bin/env bash set -euo pipefail # Husky manages git hooks in this repo (.husky/). # Running 'pnpm install' triggers the 'prepare' script which sets # up Husky automatically. This script is a no-op here. echo "Husky manages git hooks in this repo." echo "Run 'pnpm install' to set up hooks automatically." ================================================ FILE: scripts/tasks-archive.sh ================================================ #!/usr/bin/env bash set -euo pipefail TASKS_DIR="${1:-docs/tasks}" ACTIVE_DIR="$TASKS_DIR/active" ARCHIVE_DIR="$TASKS_DIR/archive" if [ ! -d "$ACTIVE_DIR" ]; then echo "Error: $ACTIVE_DIR does not exist" >&2 exit 1 fi archived=0 for todo in "$ACTIVE_DIR"/*-todo.md; do [ -f "$todo" ] || continue # Skip if uncompleted checkboxes remain if grep -q '\- \[ \]' "$todo"; then continue fi # Parse Created date created_line=$(grep -m1 '^\*\*Created\*\*:' "$todo" || true) if [ -z "$created_line" ]; then echo "Warning: no **Created** line in $(basename "$todo"), skipping" >&2 continue fi date_str=$(echo "$created_line" | sed 's/.*: *//') year=$(echo "$date_str" | cut -d'-' -f1) month=$(echo "$date_str" | cut -d'-' -f2) if [ -z "$year" ] || [ -z "$month" ]; then echo "Warning: cannot parse date from $(basename "$todo"), skipping" >&2 continue fi dest="$ARCHIVE_DIR/$year/$month" mkdir -p "$dest" # Move todo file slug=$(basename "$todo" -todo.md) git mv "$todo" "$dest/" archived=$((archived + 1)) # Move matching lessons file if it exists lessons="$ACTIVE_DIR/${slug}-lessons.md" if [ -f "$lessons" ]; then git mv "$lessons" "$dest/" fi echo "Archived: $slug → $dest/" done if [ "$archived" -eq 0 ]; then echo "No completed tasks to archive." else echo "Archived $archived task(s)." fi ================================================ FILE: scripts/tasks-index.sh ================================================ #!/usr/bin/env bash set -euo pipefail TASKS_DIR="${1:-docs/tasks}" ACTIVE_DIR="$TASKS_DIR/active" ARCHIVE_DIR="$TASKS_DIR/archive" TODAY=$(date +%Y-%m-%d) # --- active/README.md --- { echo "---" echo "updated: $TODAY" echo "---" echo "" echo "# Active Tasks" echo "" if ls "$ACTIVE_DIR"/*-todo.md >/dev/null 2>&1; then for todo in "$ACTIVE_DIR"/*-todo.md; do slug=$(basename "$todo" -todo.md) title=$(head -1 "$todo" | sed 's/^# *//') echo "- [[$slug-todo]] — $title" done else echo "(none)" fi } > "$ACTIVE_DIR/README.md" echo "Updated $ACTIVE_DIR/README.md" mkdir -p "$ARCHIVE_DIR" # --- archive/README.md --- { echo "---" echo "updated: $TODAY" echo "---" echo "" echo "# Archived Tasks" echo "" if [ -d "$ARCHIVE_DIR" ]; then for year_dir in $(ls -rd "$ARCHIVE_DIR"/*/ 2>/dev/null | grep -v README); do year=$(basename "$year_dir") for month_dir in $(ls -rd "$year_dir"/*/ 2>/dev/null); do month=$(basename "$month_dir") echo "## $year-$month" echo "" for todo in "$month_dir"/*-todo.md; do [ -f "$todo" ] || continue slug=$(basename "$todo" -todo.md) title=$(head -1 "$todo" | sed 's/^# *//') echo "- [[$slug-todo]] — $title" done echo "" done done else echo "(none)" fi } > "$ARCHIVE_DIR/README.md" echo "Updated $ARCHIVE_DIR/README.md" # --- docs/tasks/README.md --- { echo "---" echo "updated: $TODAY" echo "---" echo "" echo "# Tasks" echo "" echo "- \`active/\` — In-progress tasks" echo "- \`archive/\` — Completed tasks" } > "$TASKS_DIR/README.md" echo "Updated $TASKS_DIR/README.md"