CINXE.COM

vim/src/gui.c at master · vim/vim · GitHub

<!DOCTYPE html> <html lang="en" data-color-mode="auto" data-light-theme="light" data-dark-theme="dark" data-a11y-animated-images="system" data-a11y-link-underlines="true" > <head> <meta charset="utf-8"> <link rel="dns-prefetch" href="https://github.githubassets.com"> <link rel="dns-prefetch" href="https://avatars.githubusercontent.com"> <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com"> <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/"> <link rel="preconnect" href="https://github.githubassets.com" crossorigin> <link rel="preconnect" href="https://avatars.githubusercontent.com"> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light-74231a1f3bbb.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-8a995f0bacd4.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-f37fb7684b1f.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-9ac301c3ebe5.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-cd826e8636dc.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-f91b0f603451.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-83beb16e0ecf.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-6e122dab64fc.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-18119e682df0.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-225433424a87.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-aaa714e5674d.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-0a3c53b9d1c2.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-ea73c9cb5377.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repository-4fce88777fa8.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-0210be90f4d3.css" /> <script type="application/json" id="client-env">{"locale":"en","featureFlags":["a11y_quote_reply_fix","copilot_immersive_issue_preview","copilot_new_references_ui","copilot_chat_repo_custom_instructions_preview","copilot_no_floating_button","copilot_topics_as_references","copilot_read_shared_conversation","copilot_duplicate_thread","copilot_buffered_streaming","dotcom_chat_client_side_skills","experimentation_azure_variant_endpoint","failbot_handle_non_errors","geojson_azure_maps","ghost_pilot_confidence_truncation_25","ghost_pilot_confidence_truncation_40","github_models_gateway_parse_params","github_models_o3_mini_streaming","insert_before_patch","issues_react_remove_placeholders","issues_react_blur_item_picker_on_close","marketing_pages_search_explore_provider","primer_react_css_modules_ga","react_data_router_pull_requests","remove_child_patch","sample_network_conn_type","swp_enterprise_contact_form","site_proxima_australia_update","viewscreen_sandbox","issues_react_create_milestone","issues_react_cache_fix_workaround","lifecycle_label_name_updates","copilot_task_oriented_assistive_prompts","issue_types_prevent_private_type_creation","refresh_image_video_src","react_router_dispose_on_disconnect","codespaces_prebuild_region_target_update","turbo_app_id_restore","copilot_code_review_sign_up_closed"]}</script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/wp-runtime-1ad576e595f5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover_js-9da652f58479.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_arianotify-polyfill_ariaNotify-polyfill_js-node_modules_github_mi-3abb8f-46b9f4874d95.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_failbot_failbot_ts-75968cfb5298.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/environment-f04cb2a9fc8c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_index_mjs-0dbb79f97f8f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_selector-observer_dist_index_esm_js-f690fd9ae3d5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_relative-time-element_dist_index_js-62d275b7ddd9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_text-expander-element_dist_index_js-78748950cb0c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_auto-complete-element_dist_index_js-node_modules_github_catalyst_-8e9f78-a90ac05d2469.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-b5f1d7-a1760ffda83d.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_markdown-toolbar-element_dist_index_js-ceef33f593fa.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_primer_view-co-c44a69-efa32db3a345.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/github-elements-394f8eb34f19.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/element-registry-25113a65b77f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_braintree_browser-detection_dist_browser-detection_js-node_modules_githu-2906d7-2a07a295af40.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-be8cb88f481b.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_morphdom_dist_morphdom-e-7c534c-a4a1922eb55f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_turbo_dist_turbo_es2017-esm_js-a03ee12d659a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-893f9f-b6294cf703b7.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_color-convert_index_js-e3180fe3bcb3.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_quote-selection_dist_index_js-node_modules_github_session-resume_-947061-e7a6c4a19f98.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_updatable-content_updatable-content_ts-eb3147a21e96.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_task-list_ts-app_assets_modules_github_sso_ts-ui_packages-900dde-768abe60b1f8.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_sticky-scroll-into-view_ts-3e000c5d31a9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_ajax-error_ts-app_assets_modules_github_behaviors_include-87a4ae-4c160a67a3f8.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_commenting_edit_ts-app_assets_modules_github_behaviors_ht-83c235-e429cff6ceb1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-1f167e0c2aee.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-f6223d90c7ba.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-global-01e85cd1be94.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_github_catalyst_lib_inde-dbbea9-26cce2010167.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/code-menu-1c0aedc134b1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/primer-react-602097a4b0db.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-core-0bc17999cb79.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-lib-f1bca44e0926.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/octicons-react-cf2f2ab8dab4.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_emotion_is-prop-valid_dist_emotion-is-prop-valid_esm_js-node_modules_emo-62da9f-2df2f32ec596.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_stacktrace-parser_dist_s-e7dcdd-9a233856b02c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover-fn_js-55fea94174bf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_dompurify_dist_purify_es_mjs-dd1d3ea6a436.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lodash-es__Stack_js-node_modules_lodash-es__Uint8Array_js-node_modules_l-4faaa6-4a736fde5c2f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lodash-es__baseIsEqual_js-8929eb9718d5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_react-intersection-observer_react-intersection-observer_modern_mjs-node_-b27033-ba82cef135e3.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_focus-visible_dist_focus-visible_js-node_modules_fzy_js_index_js-node_mo-f2fece-29a0ceccb1f1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_aria-live_aria-live_ts-ui_packages_history_history_ts-ui_packages_promise-with-re-01dc80-134579ff449f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_paths_index_ts-3adbcf6faa83.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ref-selector_RefSelector_tsx-7496afc3784d.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_commit-attribution_index_ts-ui_packages_commit-checks-status_index_ts-ui_packages-7094d4-b869a469ca5e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_diffs_diff-parts_ts-b05d9274ce63.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_app-uuid_app-uuid_ts-ui_packages_document-metadata_document-metadata_ts-ui_packag-4d8de9-e34d18d8cc94.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_hydro-analytics_hydro-analytics_ts-ui_packages_verified-fetch_verified-fetch_ts-u-4672d1-96a19eaeffb7.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_code-view-shared_hooks_use-canonical-object_ts-ui_packages_code-view-shared_hooks-d63960-3a5579c864b4.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_blob-anchor_ts-ui_packages_code-nav_code-nav_ts-ui_packages_filter--8253c1-91468a3354f9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-code-view-45766ab73683.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.8157a56b30ae88a1b356.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/react-code-view.91744b0963019bd58290.module.css" /> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-subscriptions-menu-57956eade845.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.8157a56b30ae88a1b356.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/notifications-subscriptions-menu.1bcff9205c241e99cff2.module.css" /> <title>vim/src/gui.c at master · vim/vim · GitHub</title> <meta name="route-pattern" content="/:user_id/:repository/blob/*name(/*path)" data-turbo-transient> <meta name="route-controller" content="blob" data-turbo-transient> <meta name="route-action" content="show" data-turbo-transient> <meta name="current-catalog-service-hash" content="f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb"> <meta name="request-id" content="D64C:3EF1D4:96569D:BC6F5D:67E7B7FC" data-pjax-transient="true"/><meta name="html-safe-nonce" content="b36056f6ce5825fc08c8ee7b274ca9f4d443fba1b76b50a007e1fe8717e95053" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJENjRDOjNFRjFENDo5NjU2OUQ6QkM2RjVEOjY3RTdCN0ZDIiwidmlzaXRvcl9pZCI6IjQ0MTA5NzU5MjM0ODEzMjc2MTIiLCJyZWdpb25fZWRnZSI6InNvdXRoZWFzdGFzaWEiLCJyZWdpb25fcmVuZGVyIjoic291dGhlYXN0YXNpYSJ9" data-pjax-transient="true"/><meta name="visitor-hmac" content="8f6c760ecceec5af82f7a14c228065a4bb4ea1e0a4e643ccf3f2a48a82548ea7" data-pjax-transient="true"/> <meta name="hovercard-subject-tag" content="repository:40997482" data-turbo-transient> <meta name="github-keyboard-shortcuts" content="repository,source-code,file-tree,copilot" data-turbo-transient="true" /> <meta name="selected-link" value="repo_source" data-turbo-transient> <link rel="assets" href="https://github.githubassets.com/"> <meta name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I"> <meta name="octolytics-url" content="https://collector.github.com/github/collect" /> <meta name="analytics-location" content="/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show" data-turbo-transient="true" /> <meta name="user-login" content=""> <meta name="viewport" content="width=device-width"> <meta name="description" content="The official Vim repository. Contribute to vim/vim development by creating an account on GitHub."> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> <meta property="fb:app_id" content="1401488693436528"> <meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://github.com/vim/vim/blob/master/src/gui.c" /> <meta name="twitter:image" content="https://opengraph.githubassets.com/eea7cd9ea37099d51420caa1e878e9135c81087666c03a90334de59923a36b78/vim/vim" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="vim/src/gui.c at master · vim/vim" /><meta name="twitter:description" content="The official Vim repository. Contribute to vim/vim development by creating an account on GitHub." /> <meta property="og:image" content="https://opengraph.githubassets.com/eea7cd9ea37099d51420caa1e878e9135c81087666c03a90334de59923a36b78/vim/vim" /><meta property="og:image:alt" content="The official Vim repository. Contribute to vim/vim development by creating an account on GitHub." /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="600" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="vim/src/gui.c at master · vim/vim" /><meta property="og:url" content="https://github.com/vim/vim/blob/master/src/gui.c" /><meta property="og:description" content="The official Vim repository. Contribute to vim/vim development by creating an account on GitHub." /> <meta name="hostname" content="github.com"> <meta name="expected-hostname" content="github.com"> <meta http-equiv="x-pjax-version" content="de97acdfed47f9fb61814ae236bb7343666df83e298b7bdbb2f7cc7574846211" data-turbo-track="reload"> <meta http-equiv="x-pjax-csp-version" content="e26f9f0ba624ee85cc7ac057d8faa8618a4f25a85eab052c33d018ac0f6b1a46" data-turbo-track="reload"> <meta http-equiv="x-pjax-css-version" content="159e03504eed5183f9787c72780a7d8c1460af30746ab09d728b048c41719efa" data-turbo-track="reload"> <meta http-equiv="x-pjax-js-version" content="f2d91a2ff8587586cba3d4cfc1be461406926757eaf5ec500d81977d36511c4f" data-turbo-track="reload"> <meta name="turbo-cache-control" content="no-preview" data-turbo-transient=""> <meta name="turbo-cache-control" content="no-cache" data-turbo-transient> <meta data-hydrostats="publish"> <meta name="go-import" content="github.com/vim/vim git https://github.com/vim/vim.git"> <meta name="octolytics-dimension-user_id" content="11618545" /><meta name="octolytics-dimension-user_login" content="vim" /><meta name="octolytics-dimension-repository_id" content="40997482" /><meta name="octolytics-dimension-repository_nwo" content="vim/vim" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="40997482" /><meta name="octolytics-dimension-repository_network_root_nwo" content="vim/vim" /> <meta name="turbo-body-classes" content="logged-out env-production page-responsive"> <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> <meta name="release" content="9cd71f08d9519884edc4f4181a26ffafaf54bfbe"> <link rel="mask-icon" href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color="#000000"> <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png"> <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg" data-base-href="https://github.githubassets.com/favicons/favicon"> <meta name="theme-color" content="#1e2327"> <meta name="color-scheme" content="light dark" /> <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials"> </head> <body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> <div data-turbo-body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> <div class="position-relative header-wrapper js-header-wrapper "> <a href="#start-of-content" data-skip-target-assigned="false" class="px-2 py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a> <span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full"> <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span> </span> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ui-commands_ui-commands_ts-2ea4e93613c0.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/keyboard-shortcuts-dialog-79d6a754ebf9.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.8157a56b30ae88a1b356.module.css" /> <react-partial partial-name="keyboard-shortcuts-dialog" data-ssr="false" data-attempted-ssr="false" > <script type="application/json" data-target="react-partial.embeddedData">{"props":{"docsUrl":"https://docs.github.com/get-started/accessibility/keyboard-shortcuts"}}</script> <div data-target="react-partial.reactRoot"></div> </react-partial> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-94fd67-4898d1bf4b51.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/sessions-730dca81d0a2.js"></script> <header class="HeaderMktg header-logged-out js-details-container js-header Details f4 py-3" role="banner" data-is-top="true" data-color-mode=light data-light-theme=light data-dark-theme=dark> <h2 class="sr-only">Navigation Menu</h2> <button type="button" class="HeaderMktg-backdrop d-lg-none border-0 position-fixed top-0 left-0 width-full height-full js-details-target" aria-label="Toggle navigation"> <span class="d-none">Toggle navigation</span> </button> <div class="d-flex flex-column flex-lg-row flex-items-center px-3 px-md-4 px-lg-5 height-full position-relative z-1"> <div class="d-flex flex-justify-between flex-items-center width-full width-lg-auto"> <div class="flex-1"> <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target js-nav-padding-recalculate js-header-menu-toggle Button--link Button--medium Button d-lg-none color-fg-inherit p-1"> <span class="Button-content"> <span class="Button-label"><div class="HeaderMenu-toggle-bar rounded my-1"></div> <div class="HeaderMenu-toggle-bar rounded my-1"></div> <div class="HeaderMenu-toggle-bar rounded my-1"></div></span> </span> </button> </div> <a class="mr-lg-3 color-fg-inherit flex-order-2 js-prevent-focus-on-mobile-nav" href="/" aria-label="Homepage" data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to go to homepage&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Logomark;ref_loc:Header&quot;}"> <svg height="32" aria-hidden="true" viewBox="0 0 24 24" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github"> <path d="M12 1C5.9225 1 1 5.9225 1 12C1 16.8675 4.14875 20.9787 8.52125 22.4362C9.07125 22.5325 9.2775 22.2025 9.2775 21.9137C9.2775 21.6525 9.26375 20.7862 9.26375 19.865C6.5 20.3737 5.785 19.1912 5.565 18.5725C5.44125 18.2562 4.905 17.28 4.4375 17.0187C4.0525 16.8125 3.5025 16.3037 4.42375 16.29C5.29 16.2762 5.90875 17.0875 6.115 17.4175C7.105 19.0812 8.68625 18.6137 9.31875 18.325C9.415 17.61 9.70375 17.1287 10.02 16.8537C7.5725 16.5787 5.015 15.63 5.015 11.4225C5.015 10.2262 5.44125 9.23625 6.1425 8.46625C6.0325 8.19125 5.6475 7.06375 6.2525 5.55125C6.2525 5.55125 7.17375 5.2625 9.2775 6.67875C10.1575 6.43125 11.0925 6.3075 12.0275 6.3075C12.9625 6.3075 13.8975 6.43125 14.7775 6.67875C16.8813 5.24875 17.8025 5.55125 17.8025 5.55125C18.4075 7.06375 18.0225 8.19125 17.9125 8.46625C18.6138 9.23625 19.04 10.2125 19.04 11.4225C19.04 15.6437 16.4688 16.5787 14.0213 16.8537C14.42 17.1975 14.7638 17.8575 14.7638 18.8887C14.7638 20.36 14.75 21.5425 14.75 21.9137C14.75 22.2025 14.9563 22.5462 15.5063 22.4362C19.8513 20.9787 23 16.8537 23 12C23 5.9225 18.0775 1 12 1Z"></path> </svg> </a> <div class="flex-1 flex-order-2 text-right"> <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Fvim%2Fvim%2Fblob%2Fmaster%2Fsrc%2Fgui.c" class="HeaderMenu-link HeaderMenu-button d-inline-flex d-lg-none flex-order-1 f5 no-underline border color-border-default rounded-2 px-2 py-1 color-fg-inherit js-prevent-focus-on-mobile-nav" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/vim/vim/blob/master/src/gui.c&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="fb4d5c446b0a4d272df6ea70bfc356a2725ae8b9d06c8790de14c644c861e0f8" data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to Sign in&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Sign in;ref_loc:Header&quot;}" > Sign in </a> </div> </div> <div class="HeaderMenu js-header-menu height-fit position-lg-relative d-lg-flex flex-column flex-auto top-0"> <div class="HeaderMenu-wrapper d-flex flex-column flex-self-start flex-lg-row flex-auto rounded rounded-lg-0"> <nav class="HeaderMenu-nav" aria-label="Global"> <ul class="d-lg-flex list-style-none"> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Product <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_copilot&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_copilot_link_product_navbar&quot;}" href="https://github.com/features/copilot"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> </svg> <div> <div class="color-fg-default h4">GitHub Copilot</div> Write better code with AI </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;security&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;security_link_product_navbar&quot;}" href="https://github.com/features/security"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> </svg> <div> <div class="color-fg-default h4">Security</div> Find and fix vulnerabilities </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;actions&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;actions_link_product_navbar&quot;}" href="https://github.com/features/actions"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-workflow color-fg-subtle mr-3"> <path d="M1 3a2 2 0 0 1 2-2h6.5a2 2 0 0 1 2 2v6.5a2 2 0 0 1-2 2H7v4.063C7 16.355 7.644 17 8.438 17H12.5v-2.5a2 2 0 0 1 2-2H21a2 2 0 0 1 2 2V21a2 2 0 0 1-2 2h-6.5a2 2 0 0 1-2-2v-2.5H8.437A2.939 2.939 0 0 1 5.5 15.562V11.5H3a2 2 0 0 1-2-2Zm2-.5a.5.5 0 0 0-.5.5v6.5a.5.5 0 0 0 .5.5h6.5a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5ZM14.5 14a.5.5 0 0 0-.5.5V21a.5.5 0 0 0 .5.5H21a.5.5 0 0 0 .5-.5v-6.5a.5.5 0 0 0-.5-.5Z"></path> </svg> <div> <div class="color-fg-default h4">Actions</div> Automate any workflow </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;codespaces&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;codespaces_link_product_navbar&quot;}" href="https://github.com/features/codespaces"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-codespaces color-fg-subtle mr-3"> <path d="M3.5 3.75C3.5 2.784 4.284 2 5.25 2h13.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 18.75 13H5.25a1.75 1.75 0 0 1-1.75-1.75Zm-2 12c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 0 1-1.75 1.75H3.25a1.75 1.75 0 0 1-1.75-1.75ZM5.25 3.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h13.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Zm-2 12a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h17.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25Z"></path><path d="M10 17.75a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> </svg> <div> <div class="color-fg-default h4">Codespaces</div> Instant dev environments </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;issues&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;issues_link_product_navbar&quot;}" href="https://github.com/features/issues"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-issue-opened color-fg-subtle mr-3"> <path d="M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Zm9.5 2a2 2 0 1 1-.001-3.999A2 2 0 0 1 12 14Z"></path> </svg> <div> <div class="color-fg-default h4">Issues</div> Plan and track work </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;code_review&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;code_review_link_product_navbar&quot;}" href="https://github.com/features/code-review"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-review color-fg-subtle mr-3"> <path d="M10.3 6.74a.75.75 0 0 1-.04 1.06l-2.908 2.7 2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 0 1-1.75 1.75h-9.69l-3.573 3.573A1.458 1.458 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75ZM3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.72-3.72a.749.749 0 0 1 .53-.22h10a.25.25 0 0 0 .25-.25V4.25a.25.25 0 0 0-.25-.25Z"></path> </svg> <div> <div class="color-fg-default h4">Code Review</div> Manage code changes </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;discussions&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;discussions_link_product_navbar&quot;}" href="https://github.com/features/discussions"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> </svg> <div> <div class="color-fg-default h4">Discussions</div> Collaborate outside of code </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;code_search&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;code_search_link_product_navbar&quot;}" href="https://github.com/features/code-search"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-square color-fg-subtle mr-3"> <path d="M10.3 8.24a.75.75 0 0 1-.04 1.06L7.352 12l2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25Zm1.75-.25a.25.25 0 0 0-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z"></path> </svg> <div> <div class="color-fg-default h4">Code Search</div> Find more, search less </div> </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="product-explore-heading">Explore</span> <ul class="list-style-none f5" aria-labelledby="product-explore-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;all_features&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;all_features_link_product_navbar&quot;}" href="https://github.com/features"> All features </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;documentation&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;documentation_link_product_navbar&quot;}" href="https://docs.github.com"> Documentation <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_skills&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_skills_link_product_navbar&quot;}" href="https://skills.github.com"> GitHub Skills <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;blog&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;blog_link_product_navbar&quot;}" href="https://github.blog"> Blog <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Solutions <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 pb-lg-3 mb-3 mb-lg-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-company-size-heading">By company size</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-company-size-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;enterprises&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;enterprises_link_solutions_navbar&quot;}" href="https://github.com/enterprise"> Enterprises </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;small_and_medium_teams&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;small_and_medium_teams_link_solutions_navbar&quot;}" href="https://github.com/team"> Small and medium teams </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;startups&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;startups_link_solutions_navbar&quot;}" href="https://github.com/enterprise/startups"> Startups </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;nonprofits&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;nonprofits_link_solutions_navbar&quot;}" href="/solutions/industry/nonprofits"> Nonprofits </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-use-case-heading">By use case</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-use-case-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devsecops&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devsecops_link_solutions_navbar&quot;}" href="/solutions/use-case/devsecops"> DevSecOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devops&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devops_link_solutions_navbar&quot;}" href="/solutions/use-case/devops"> DevOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ci_cd&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ci_cd_link_solutions_navbar&quot;}" href="/solutions/use-case/ci-cd"> CI/CD </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all_use_cases&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_use_cases_link_solutions_navbar&quot;}" href="/solutions/use-case"> View all use cases </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-industry-heading">By industry</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-industry-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;healthcare&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;healthcare_link_solutions_navbar&quot;}" href="/solutions/industry/healthcare"> Healthcare </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;financial_services&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;financial_services_link_solutions_navbar&quot;}" href="/solutions/industry/financial-services"> Financial services </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;manufacturing&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;manufacturing_link_solutions_navbar&quot;}" href="/solutions/industry/manufacturing"> Manufacturing </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;government&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;government_link_solutions_navbar&quot;}" href="/solutions/industry/government"> Government </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all_industries&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_industries_link_solutions_navbar&quot;}" href="/solutions/industry"> View all industries </a></li> </ul> </div> </div> <div class="HeaderMenu-trailing-link rounded-bottom-2 flex-shrink-0 mt-lg-4 px-lg-4 py-4 py-lg-3 f5 text-semibold"> <a href="/solutions"> View all solutions <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-right HeaderMenu-trailing-link-icon"> <path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path> </svg> </a> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Resources <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="resources-topics-heading">Topics</span> <ul class="list-style-none f5" aria-labelledby="resources-topics-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ai&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ai_link_resources_navbar&quot;}" href="/resources/articles/ai"> AI </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devops&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devops_link_resources_navbar&quot;}" href="/resources/articles/devops"> DevOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;security&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;security_link_resources_navbar&quot;}" href="/resources/articles/security"> Security </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;software_development&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;software_development_link_resources_navbar&quot;}" href="/resources/articles/software-development"> Software Development </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_link_resources_navbar&quot;}" href="/resources/articles"> View all </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="resources-explore-heading">Explore</span> <ul class="list-style-none f5" aria-labelledby="resources-explore-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;learning_pathways&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;learning_pathways_link_resources_navbar&quot;}" href="https://resources.github.com/learn/pathways"> Learning Pathways <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;events_amp_webinars&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;events_amp_webinars_link_resources_navbar&quot;}" href="https://resources.github.com"> Events &amp; Webinars <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ebooks_amp_whitepapers&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ebooks_amp_whitepapers_link_resources_navbar&quot;}" href="https://github.com/resources/whitepapers"> Ebooks &amp; Whitepapers </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;customer_stories&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;customer_stories_link_resources_navbar&quot;}" href="https://github.com/customer-stories"> Customer Stories </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;partners&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;partners_link_resources_navbar&quot;}" href="https://partner.github.com"> Partners <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;executive_insights&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;executive_insights_link_resources_navbar&quot;}" href="https://github.com/solutions/executive-insights"> Executive Insights </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Open Source <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 px-lg-4"> <div class="HeaderMenu-column"> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_sponsors&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_sponsors_link_open_source_navbar&quot;}" href="/sponsors"> <div> <div class="color-fg-default h4">GitHub Sponsors</div> Fund open source developers </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;the_readme_project&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;the_readme_project_link_open_source_navbar&quot;}" href="https://github.com/readme"> <div> <div class="color-fg-default h4">The ReadME Project</div> GitHub community articles </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="open-source-repositories-heading">Repositories</span> <ul class="list-style-none f5" aria-labelledby="open-source-repositories-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;topics&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;topics_link_open_source_navbar&quot;}" href="https://github.com/topics"> Topics </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;trending&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;trending_link_open_source_navbar&quot;}" href="https://github.com/trending"> Trending </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;collections&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;collections_link_open_source_navbar&quot;}" href="https://github.com/collections"> Collections </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Enterprise <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 px-lg-4"> <div class="HeaderMenu-column"> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;enterprise_platform&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;enterprise_platform_link_enterprise_navbar&quot;}" href="/enterprise"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-stack color-fg-subtle mr-3"> <path d="M11.063 1.456a1.749 1.749 0 0 1 1.874 0l8.383 5.316a1.751 1.751 0 0 1 0 2.956l-8.383 5.316a1.749 1.749 0 0 1-1.874 0L2.68 9.728a1.751 1.751 0 0 1 0-2.956Zm1.071 1.267a.25.25 0 0 0-.268 0L3.483 8.039a.25.25 0 0 0 0 .422l8.383 5.316a.25.25 0 0 0 .268 0l8.383-5.316a.25.25 0 0 0 0-.422Z"></path><path d="M1.867 12.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path><path d="M1.867 16.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path> </svg> <div> <div class="color-fg-default h4">Enterprise platform</div> AI-powered developer platform </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="enterprise-available-add-ons-heading">Available add-ons</span> <ul class="list-style-none f5" aria-labelledby="enterprise-available-add-ons-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;advanced_security&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;advanced_security_link_enterprise_navbar&quot;}" href="https://github.com/enterprise/advanced-security"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> </svg> <div> <div class="color-fg-default h4">Advanced Security</div> Enterprise-grade security features </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;copilot_for_business&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;copilot_for_business_link_enterprise_navbar&quot;}" href="/features/copilot/copilot-business"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> </svg> <div> <div class="color-fg-default h4">Copilot for business</div> Enterprise-grade AI features </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;premium_support&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;premium_support_link_enterprise_navbar&quot;}" href="/premium-support"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> </svg> <div> <div class="color-fg-default h4">Premium Support</div> Enterprise-grade 24/7 support </div> </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <a class="HeaderMenu-link no-underline px-0 px-lg-2 py-3 py-lg-2 d-block d-lg-inline-block" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;pricing&quot;,&quot;context&quot;:&quot;global&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;pricing_link_global_navbar&quot;}" href="https://github.com/pricing">Pricing</a> </li> </ul> </nav> <div class="d-flex flex-column flex-lg-row width-full flex-justify-end flex-lg-items-center text-center mt-3 mt-lg-0 text-lg-left ml-lg-3"> <qbsearch-input class="search-input" data-scope="repo:vim/vim" data-custom-scopes-path="/search/custom_scopes" data-delete-custom-scopes-csrf="AAynJxpCriCXtNinZt9yFplYwO0qWWKY9ltp3KWvwoqs2zxNeqhrXiGVobYP-hlcgVycqoCslyQHkzSugq9lew" data-max-custom-scopes="10" data-header-redesign-enabled="false" data-initial-value="" data-blackbird-suggestions-path="/search/suggestions" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" data-current-repository="vim/vim" data-current-org="vim" data-current-owner="" data-logged-in="false" data-copilot-chat-enabled="false" data-nl-search-enabled="false" data-retain-scroll-position="true"> <div class="search-input-container search-with-dialog position-relative d-flex flex-row flex-items-center mr-4 rounded" data-action="click:qbsearch-input#searchInputContainerClicked" > <button type="button" class="header-search-button placeholder input-button form-control d-flex flex-1 flex-self-stretch flex-items-center no-wrap width-full py-0 pl-2 pr-0 text-left border-0 box-shadow-none" data-target="qbsearch-input.inputButton" aria-label="Search or jump to…" aria-haspopup="dialog" placeholder="Search or jump to..." data-hotkey=s,/ autocapitalize="off" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;searchbar&quot;,&quot;context&quot;:&quot;global&quot;,&quot;tag&quot;:&quot;input&quot;,&quot;label&quot;:&quot;searchbar_input_global_navbar&quot;}" data-action="click:qbsearch-input#handleExpand" > <div class="mr-2 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </div> <span class="flex-1" data-target="qbsearch-input.inputButtonText">Search or jump to...</span> <div class="d-flex" data-target="qbsearch-input.hotkeyIndicator"> <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1"><path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path><path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path></svg> </div> </button> <input type="hidden" name="type" class="js-site-search-type-field"> <div class="Overlay--hidden " data-modal-dialog-overlay> <modal-dialog data-action="close:qbsearch-input#handleClose cancel:qbsearch-input#handleClose" data-target="qbsearch-input.searchSuggestionsDialog" role="dialog" id="search-suggestions-dialog" aria-modal="true" aria-labelledby="search-suggestions-dialog-header" data-view-component="true" class="Overlay Overlay--width-large Overlay--height-auto"> <h1 id="search-suggestions-dialog-header" class="sr-only">Search code, repositories, users, issues, pull requests...</h1> <div class="Overlay-body Overlay-body--paddingNone"> <div data-view-component="true"> <div class="search-suggestions position-fixed width-full color-shadow-large border color-fg-default color-bg-default overflow-hidden d-flex flex-column query-builder-container" style="border-radius: 12px;" data-target="qbsearch-input.queryBuilderContainer" hidden > <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="query-builder-test-form" action="" accept-charset="UTF-8" method="get"> <query-builder data-target="qbsearch-input.queryBuilder" id="query-builder-query-builder-test" data-filter-key=":" data-view-component="true" class="QueryBuilder search-query-builder"> <div class="FormControl FormControl--fullWidth"> <label id="query-builder-test-label" for="query-builder-test" class="FormControl-label sr-only"> Search </label> <div class="QueryBuilder-StyledInput width-fit " data-target="query-builder.styledInput" > <span id="query-builder-test-leadingvisual-wrap" class="FormControl-input-leadingVisualWrap QueryBuilder-leadingVisualWrap"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search FormControl-input-leadingVisual"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </span> <div data-target="query-builder.styledInputContainer" class="QueryBuilder-StyledInputContainer"> <div aria-hidden="true" class="QueryBuilder-StyledInputContent" data-target="query-builder.styledInputContent" ></div> <div class="QueryBuilder-InputWrapper"> <div aria-hidden="true" class="QueryBuilder-Sizer" data-target="query-builder.sizer"></div> <input id="query-builder-test" name="query-builder-test" value="" autocomplete="off" type="text" role="combobox" spellcheck="false" aria-expanded="false" aria-describedby="validation-d56a9ad6-87ef-41c9-891e-ee6e87806dc9" data-target="query-builder.input" data-action=" input:query-builder#inputChange blur:query-builder#inputBlur keydown:query-builder#inputKeydown focus:query-builder#inputFocus " data-view-component="true" class="FormControl-input QueryBuilder-Input FormControl-medium" /> </div> </div> <span class="sr-only" id="query-builder-test-clear">Clear</span> <button role="button" id="query-builder-test-clear-button" aria-labelledby="query-builder-test-clear query-builder-test-label" data-target="query-builder.clearButton" data-action=" click:query-builder#clear focus:query-builder#clearButtonFocus blur:query-builder#clearButtonBlur " variant="small" hidden="hidden" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium mr-1 px-2 py-0 d-flex flex-items-center rounded-1 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x-circle-fill Button-visual"> <path d="M2.343 13.657A8 8 0 1 1 13.658 2.343 8 8 0 0 1 2.343 13.657ZM6.03 4.97a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042L6.94 8 4.97 9.97a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215L8 9.06l1.97 1.97a.749.749 0 0 0 1.275-.326.749.749 0 0 0-.215-.734L9.06 8l1.97-1.97a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L8 6.94Z"></path> </svg> </button> </div> <template id="search-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </template> <template id="code-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </template> <template id="file-code-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-code"> <path d="M4 1.75C4 .784 4.784 0 5.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 14.25 15h-9a.75.75 0 0 1 0-1.5h9a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 10 4.25V1.5H5.75a.25.25 0 0 0-.25.25v2.5a.75.75 0 0 1-1.5 0Zm1.72 4.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.47-1.47-1.47-1.47a.75.75 0 0 1 0-1.06ZM3.28 7.78 1.81 9.25l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Zm8.22-6.218V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path> </svg> </template> <template id="history-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-history"> <path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path> </svg> </template> <template id="repo-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </template> <template id="bookmark-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bookmark"> <path d="M3 2.75C3 1.784 3.784 1 4.75 1h6.5c.966 0 1.75.784 1.75 1.75v11.5a.75.75 0 0 1-1.227.579L8 11.722l-3.773 3.107A.751.751 0 0 1 3 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.91l3.023-2.489a.75.75 0 0 1 .954 0l3.023 2.49V2.75a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="plus-circle-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-plus-circle"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm7.25-3.25v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5a.75.75 0 0 1 1.5 0Z"></path> </svg> </template> <template id="circle-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill"> <path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path> </svg> </template> <template id="trash-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-trash"> <path d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75ZM4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.748 1.748 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15ZM6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Z"></path> </svg> </template> <template id="team-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-people"> <path d="M2 5.5a3.5 3.5 0 1 1 5.898 2.549 5.508 5.508 0 0 1 3.034 4.084.75.75 0 1 1-1.482.235 4 4 0 0 0-7.9 0 .75.75 0 0 1-1.482-.236A5.507 5.507 0 0 1 3.102 8.05 3.493 3.493 0 0 1 2 5.5ZM11 4a3.001 3.001 0 0 1 2.22 5.018 5.01 5.01 0 0 1 2.56 3.012.749.749 0 0 1-.885.954.752.752 0 0 1-.549-.514 3.507 3.507 0 0 0-2.522-2.372.75.75 0 0 1-.574-.73v-.352a.75.75 0 0 1 .416-.672A1.5 1.5 0 0 0 11 5.5.75.75 0 0 1 11 4Zm-5.5-.5a2 2 0 1 0-.001 3.999A2 2 0 0 0 5.5 3.5Z"></path> </svg> </template> <template id="project-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project"> <path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25ZM11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75Zm-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3Z"></path> </svg> </template> <template id="pencil-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pencil"> <path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"></path> </svg> </template> <template id="copilot-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot"> <path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path> </svg> </template> <template id="copilot-error-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot-error"> <path d="M16 11.24c0 .112-.072.274-.21.467L13 9.688V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-.198 0-.388-.009-.571-.029L6.833 5.226a4.01 4.01 0 0 0 .17-.782c.117-.935-.037-1.395-.241-1.614-.193-.206-.637-.413-1.682-.297-.683.076-1.115.231-1.395.415l-1.257-.91c.579-.564 1.413-.877 2.485-.996 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095Zm-5.083-8.707c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Zm2.511 11.074c-1.393.776-3.272 1.428-5.43 1.428-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.18-.455-.241-.963-.252-1.475L.31 4.107A.747.747 0 0 1 0 3.509V3.49a.748.748 0 0 1 .625-.73c.156-.026.306.047.435.139l14.667 10.578a.592.592 0 0 1 .227.264.752.752 0 0 1 .046.249v.022a.75.75 0 0 1-1.19.596Zm-1.367-.991L5.635 7.964a5.128 5.128 0 0 1-.889.073c-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433 1.539 0 3.089-.505 4.063-.934Z"></path> </svg> </template> <template id="workflow-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-workflow"> <path d="M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="book-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> </template> <template id="code-review-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-review"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </template> <template id="codespaces-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-codespaces"> <path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> </svg> </template> <template id="comment-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment"> <path d="M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="comment-discussion-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> </template> <template id="organization-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-organization"> <path d="M1.75 16A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 0 0 .25-.25V8.285a.25.25 0 0 0-.111-.208l-1.055-.703a.749.749 0 1 1 .832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0 1 14.25 16h-3.5a.766.766 0 0 1-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 0 1-.75-.75V14h-1v1.25a.75.75 0 0 1-.75.75Zm-.25-1.75c0 .138.112.25.25.25H4v-1.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 .75.75v1.25h2.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM3.75 6h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 3.75A.75.75 0 0 1 3.75 3h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 3.75Zm4 3A.75.75 0 0 1 7.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 7 6.75ZM7.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 9.75A.75.75 0 0 1 3.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 9.75ZM7.75 9h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> </svg> </template> <template id="rocket-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-rocket"> <path d="M14.064 0h.186C15.216 0 16 .784 16 1.75v.186a8.752 8.752 0 0 1-2.564 6.186l-.458.459c-.314.314-.641.616-.979.904v3.207c0 .608-.315 1.172-.833 1.49l-2.774 1.707a.749.749 0 0 1-1.11-.418l-.954-3.102a1.214 1.214 0 0 1-.145-.125L3.754 9.816a1.218 1.218 0 0 1-.124-.145L.528 8.717a.749.749 0 0 1-.418-1.11l1.71-2.774A1.748 1.748 0 0 1 3.31 4h3.204c.288-.338.59-.665.904-.979l.459-.458A8.749 8.749 0 0 1 14.064 0ZM8.938 3.623h-.002l-.458.458c-.76.76-1.437 1.598-2.02 2.5l-1.5 2.317 2.143 2.143 2.317-1.5c.902-.583 1.74-1.26 2.499-2.02l.459-.458a7.25 7.25 0 0 0 2.123-5.127V1.75a.25.25 0 0 0-.25-.25h-.186a7.249 7.249 0 0 0-5.125 2.123ZM3.56 14.56c-.732.732-2.334 1.045-3.005 1.148a.234.234 0 0 1-.201-.064.234.234 0 0 1-.064-.201c.103-.671.416-2.273 1.15-3.003a1.502 1.502 0 1 1 2.12 2.12Zm6.94-3.935c-.088.06-.177.118-.266.175l-2.35 1.521.548 1.783 1.949-1.2a.25.25 0 0 0 .119-.213ZM3.678 8.116 5.2 5.766c.058-.09.117-.178.176-.266H3.309a.25.25 0 0 0-.213.119l-1.2 1.95ZM12 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </template> <template id="shield-check-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield-check"> <path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </template> <template id="heart-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-heart"> <path d="m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z"></path> </svg> </template> <template id="server-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-server"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v4c0 .372-.116.717-.314 1 .198.283.314.628.314 1v4a1.75 1.75 0 0 1-1.75 1.75H1.75A1.75 1.75 0 0 1 0 12.75v-4c0-.358.109-.707.314-1a1.739 1.739 0 0 1-.314-1v-4C0 1.784.784 1 1.75 1ZM1.5 2.75v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm.25 5.75a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25ZM7 4.75A.75.75 0 0 1 7.75 4h4.5a.75.75 0 0 1 0 1.5h-4.5A.75.75 0 0 1 7 4.75ZM7.75 10h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM3 4.75A.75.75 0 0 1 3.75 4h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 4.75ZM3.75 10h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> </svg> </template> <template id="globe-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-globe"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM5.78 8.75a9.64 9.64 0 0 0 1.363 4.177c.255.426.542.832.857 1.215.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a9.927 9.927 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.507 6.507 0 0 0 4.666 5.5c-.123-.181-.24-.365-.352-.552-.715-1.192-1.437-2.874-1.581-4.948Zm-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.507 6.507 0 0 0-4.666 5.5Zm10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.507 6.507 0 0 0 4.666-5.5Zm2.733-1.5a6.507 6.507 0 0 0-4.666-5.5c.123.181.24.365.353.552.714 1.192 1.436 2.874 1.58 4.948Z"></path> </svg> </template> <template id="issue-opened-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> </template> <template id="device-mobile-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-mobile"> <path d="M3.75 0h8.5C13.216 0 14 .784 14 1.75v12.5A1.75 1.75 0 0 1 12.25 16h-8.5A1.75 1.75 0 0 1 2 14.25V1.75C2 .784 2.784 0 3.75 0ZM3.5 1.75v12.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM8 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path> </svg> </template> <template id="package-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-package"> <path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path> </svg> </template> <template id="credit-card-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-credit-card"> <path d="M10.75 9a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5h-1.5Z"></path><path d="M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25ZM14.5 6.5h-13v5.75c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25Zm0-2.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25V5h13Z"></path> </svg> </template> <template id="play-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> </template> <template id="gift-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-gift"> <path d="M2 2.75A2.75 2.75 0 0 1 4.75 0c.983 0 1.873.42 2.57 1.232.268.318.497.668.68 1.042.183-.375.411-.725.68-1.044C9.376.42 10.266 0 11.25 0a2.75 2.75 0 0 1 2.45 4h.55c.966 0 1.75.784 1.75 1.75v2c0 .698-.409 1.301-1 1.582v4.918A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25V9.332C.409 9.05 0 8.448 0 7.75v-2C0 4.784.784 4 1.75 4h.55c-.192-.375-.3-.8-.3-1.25ZM7.25 9.5H2.5v4.75c0 .138.112.25.25.25h4.5Zm1.5 0v5h4.5a.25.25 0 0 0 .25-.25V9.5Zm0-4V8h5.5a.25.25 0 0 0 .25-.25v-2a.25.25 0 0 0-.25-.25Zm-7 0a.25.25 0 0 0-.25.25v2c0 .138.112.25.25.25h5.5V5.5h-5.5Zm3-4a1.25 1.25 0 0 0 0 2.5h2.309c-.233-.818-.542-1.401-.878-1.793-.43-.502-.915-.707-1.431-.707ZM8.941 4h2.309a1.25 1.25 0 0 0 0-2.5c-.516 0-1 .205-1.43.707-.337.392-.646.975-.879 1.793Z"></path> </svg> </template> <template id="code-square-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-square"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </template> <template id="device-desktop-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-desktop"> <path d="M14.25 1c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 14.25 12h-3.727c.099 1.041.52 1.872 1.292 2.757A.752.752 0 0 1 11.25 16h-6.5a.75.75 0 0 1-.565-1.243c.772-.885 1.192-1.716 1.292-2.757H1.75A1.75 1.75 0 0 1 0 10.25v-7.5C0 1.784.784 1 1.75 1ZM1.75 2.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25ZM9.018 12H6.982a5.72 5.72 0 0 1-.765 2.5h3.566a5.72 5.72 0 0 1-.765-2.5Z"></path> </svg> </template> <div class="position-relative"> <ul role="listbox" class="ActionListWrap QueryBuilder-ListWrap" aria-label="Suggestions" data-action=" combobox-commit:query-builder#comboboxCommit mousedown:query-builder#resultsMousedown " data-target="query-builder.resultsList" data-persist-list=false id="query-builder-test-results" ></ul> </div> <div class="FormControl-inlineValidation" id="validation-d56a9ad6-87ef-41c9-891e-ee6e87806dc9" hidden="hidden"> <span class="FormControl-inlineValidation--visual"> <svg aria-hidden="true" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-alert-fill"> <path d="M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path> </svg> </span> <span></span> </div> </div> <div data-target="query-builder.screenReaderFeedback" aria-live="polite" aria-atomic="true" class="sr-only"></div> </query-builder></form> <div class="d-flex flex-row color-fg-muted px-3 text-small color-bg-default search-feedback-prompt"> <a target="_blank" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax" data-view-component="true" class="Link color-fg-accent text-normal ml-2">Search syntax tips</a> <div class="d-flex flex-1"></div> </div> </div> </div> </div> </modal-dialog></div> </div> <div data-action="click:qbsearch-input#retract" class="dark-backdrop position-fixed" hidden data-target="qbsearch-input.darkBackdrop"></div> <div class="color-fg-default"> <dialog-helper> <dialog data-target="qbsearch-input.feedbackDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="feedback-dialog" aria-modal="true" aria-labelledby="feedback-dialog-title" aria-describedby="feedback-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> <div data-view-component="true" class="Overlay-header"> <div class="Overlay-headerContentWrap"> <div class="Overlay-titleWrap"> <h1 class="Overlay-title " id="feedback-dialog-title"> Provide feedback </h1> </div> <div class="Overlay-actionWrap"> <button data-close-dialog-id="feedback-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> </div> </div> </div> <scrollable-region data-labelled-by="feedback-dialog-title"> <div data-view-component="true" class="Overlay-body"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="code-search-feedback-form" data-turbo="false" action="/search/feedback" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="sjKAp8XM6dlQ4UV3MHLqGoYxDoGKZXqlmkw17KedaSZxGNyG+h6JaNSxPcfc0PTo1kVDCEGWkMIFNnOvo16drA==" /> <p>We read every piece of feedback, and take your input very seriously.</p> <textarea name="feedback" class="form-control width-full mb-2" style="height: 120px" id="feedback"></textarea> <input name="include_email" id="include_email" aria-label="Include my email address so I can be contacted" class="form-control mr-2" type="checkbox"> <label for="include_email" style="font-weight: normal">Include my email address so I can be contacted</label> </form></div> </scrollable-region> <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd"> <button data-close-dialog-id="feedback-dialog" type="button" data-view-component="true" class="btn"> Cancel </button> <button form="code-search-feedback-form" data-action="click:qbsearch-input#submitFeedback" type="submit" data-view-component="true" class="btn-primary btn"> Submit feedback </button> </div> </dialog></dialog-helper> <custom-scopes data-target="qbsearch-input.customScopesManager"> <dialog-helper> <dialog data-target="custom-scopes.customScopesModalDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="custom-scopes-dialog" aria-modal="true" aria-labelledby="custom-scopes-dialog-title" aria-describedby="custom-scopes-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> <div data-view-component="true" class="Overlay-header Overlay-header--divided"> <div class="Overlay-headerContentWrap"> <div class="Overlay-titleWrap"> <h1 class="Overlay-title " id="custom-scopes-dialog-title"> Saved searches </h1> <h2 id="custom-scopes-dialog-description" class="Overlay-description">Use saved searches to filter your results more quickly</h2> </div> <div class="Overlay-actionWrap"> <button data-close-dialog-id="custom-scopes-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> </div> </div> </div> <scrollable-region data-labelled-by="custom-scopes-dialog-title"> <div data-view-component="true" class="Overlay-body"> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> <div hidden class="create-custom-scope-form" data-target="custom-scopes.createCustomScopeForm"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="custom-scopes-dialog-form" data-turbo="false" action="/search/custom_scopes" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="yYEoohXqFDFPsTQVgHgvljg0n6mMmidqA2Z1F6dfZA8lEJ6Qof1vAXjYLFEjbJ+CoKnkU/X14534IMUzV7f5uQ==" /> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> <input type="hidden" id="custom_scope_id" name="custom_scope_id" data-target="custom-scopes.customScopesIdField"> <div class="form-group"> <label for="custom_scope_name">Name</label> <auto-check src="/search/custom_scopes/check_name" required only-validate-on-blur="false"> <input type="text" name="custom_scope_name" id="custom_scope_name" data-target="custom-scopes.customScopesNameField" class="form-control" autocomplete="off" placeholder="github-ruby" required maxlength="50"> <input type="hidden" data-csrf="true" value="64rudc4zROEkcz+YOvqq204/s0vr7d1r/eQR1pNUwPBdRgf5zYJhUR+GS1n/yVWoGCD5oLXxiU/2BeN5JbjkPA==" /> </auto-check> </div> <div class="form-group"> <label for="custom_scope_query">Query</label> <input type="text" name="custom_scope_query" id="custom_scope_query" data-target="custom-scopes.customScopesQueryField" class="form-control" autocomplete="off" placeholder="(repo:mona/a OR repo:mona/b) AND lang:python" required maxlength="500"> </div> <p class="text-small color-fg-muted"> To see all available qualifiers, see our <a class="Link--inTextBlock" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax">documentation</a>. </p> </form> </div> <div data-target="custom-scopes.manageCustomScopesForm"> <div data-target="custom-scopes.list"></div> </div> </div> </scrollable-region> <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd Overlay-footer--divided"> <button data-action="click:custom-scopes#customScopesCancel" type="button" data-view-component="true" class="btn"> Cancel </button> <button form="custom-scopes-dialog-form" data-action="click:custom-scopes#customScopesSubmit" data-target="custom-scopes.customScopesSubmitButton" type="submit" data-view-component="true" class="btn-primary btn"> Create saved search </button> </div> </dialog></dialog-helper> </custom-scopes> </div> </qbsearch-input> <div class="position-relative HeaderMenu-link-wrap d-lg-inline-block"> <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Fvim%2Fvim%2Fblob%2Fmaster%2Fsrc%2Fgui.c" class="HeaderMenu-link HeaderMenu-link--sign-in HeaderMenu-button flex-shrink-0 no-underline d-none d-lg-inline-flex border border-lg-0 rounded rounded-lg-0 px-2 py-1" style="margin-left: 12px;" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/vim/vim/blob/master/src/gui.c&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="fb4d5c446b0a4d272df6ea70bfc356a2725ae8b9d06c8790de14c644c861e0f8" data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to go to homepage&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Sign in;ref_loc:Header&quot;}" > Sign in </a> </div> <a href="/signup?ref_cta=Sign+up&amp;ref_loc=header+logged+out&amp;ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow&amp;source=header-repo&amp;source_repo=vim%2Fvim" class="HeaderMenu-link HeaderMenu-link--sign-up HeaderMenu-button flex-shrink-0 d-flex d-lg-inline-flex no-underline border color-border-default rounded px-2 py-1" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/vim/vim/blob/master/src/gui.c&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="fb4d5c446b0a4d272df6ea70bfc356a2725ae8b9d06c8790de14c644c861e0f8" data-analytics-event="{&quot;category&quot;:&quot;Sign up&quot;,&quot;action&quot;:&quot;click to sign up for account&quot;,&quot;label&quot;:&quot;ref_page:/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show;ref_cta:Sign up;ref_loc:header logged out&quot;}" > Sign up </a> <button type="button" class="sr-only js-header-menu-focus-trap d-block d-lg-none">Reseting focus</button> </div> </div> </div> </div> </header> <div hidden="hidden" data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-switched" hidden>You switched accounts on another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <button id="icon-button-cd96d0f2-19fd-4bb0-b96c-053ffbe97d7f" aria-labelledby="tooltip-3fa24149-b1c9-42bc-ace3-1787a7e3561f" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button><tool-tip id="tooltip-3fa24149-b1c9-42bc-ace3-1787a7e3561f" for="icon-button-cd96d0f2-19fd-4bb0-b96c-053ffbe97d7f" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip> </div> </div> <div id="start-of-content" class="show-on-focus"></div> <div id="js-flash-container" class="flash-container" data-turbo-replace> <template class="js-flash-template"> <div class="flash flash-full {{ className }}"> <div > <button autofocus class="flash-close js-flash-close" type="button" aria-label="Dismiss this message"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div aria-atomic="true" role="alert" class="js-flash-alert"> <div>{{ message }}</div> </div> </div> </div> </template> </div> <div class="application-main " data-commit-hovercards-enabled data-discussion-hovercards-enabled data-issue-and-pr-hovercards-enabled data-project-hovercards-enabled > <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class=""> <main id="js-repo-pjax-container" > <div id="repository-container-header" class="pt-3 hide-full-screen" style="background-color: var(--page-header-bgColor, var(--color-page-header-bg));" data-turbo-replace> <div class="d-flex flex-nowrap flex-justify-end mb-3 px-3 px-lg-5" style="gap: 1rem;"> <div class="flex-auto min-width-0 width-fit"> <div class=" d-flex flex-wrap flex-items-center wb-break-word f3 text-normal"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> <span class="author flex-self-stretch" itemprop="author"> <a class="url fn" rel="author" data-hovercard-type="organization" data-hovercard-url="/orgs/vim/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/vim"> vim </a> </span> <span class="mx-1 flex-self-stretch color-fg-muted">/</span> <strong itemprop="name" class="mr-2 flex-self-stretch"> <a data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="/vim/vim">vim</a> </strong> <span></span><span class="Label Label--secondary v-align-middle mr-1">Public</span> </div> </div> <div id="repository-details-container" class="flex-shrink-0" data-turbo-replace style="max-width: 70%;"> <ul class="pagehead-actions flex-shrink-0 d-none d-md-inline" style="padding: 2px 0;"> <li> <include-fragment src="/vim/vim/sponsor_button"></include-fragment> </li> <li> <a href="/login?return_to=%2Fvim%2Fvim" rel="nofollow" id="repository-details-watch-button" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;notification subscription menu watch&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/vim/vim/blob/master/src/gui.c&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d428eb34bf3181b673544f4795c70042db0cbedfaa260df338f138e578f59d09" aria-label="You must be signed in to change notification settings" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell mr-2"> <path d="M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16ZM3 5a5 5 0 0 1 10 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.255.255 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.017.017 0 0 0-.003.01l.001.006c0 .002.002.004.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007a.017.017 0 0 0-.003-.01l-1.703-2.554a1.745 1.745 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5Z"></path> </svg>Notifications </a> <tool-tip id="tooltip-436a845b-3fb6-419a-92ee-e9545f4927e7" for="repository-details-watch-button" popover="manual" data-direction="s" data-type="description" data-view-component="true" class="sr-only position-absolute">You must be signed in to change notification settings</tool-tip> </li> <li> <a icon="repo-forked" id="fork-button" href="/login?return_to=%2Fvim%2Fvim" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;repo details fork button&quot;,&quot;repository_id&quot;:40997482,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/vim/vim/blob/master/src/gui.c&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6f8f34ab3db6af71588787e6e0cbca0ede68db1060fb39222c2f48751b0459d0" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-2"> <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path> </svg>Fork <span id="repo-network-counter" data-pjax-replace="true" data-turbo-replace="true" title="5,613" data-view-component="true" class="Counter">5.6k</span> </a> </li> <li> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fvim%2Fvim" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:40997482,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/vim/vim/blob/master/src/gui.c&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="24b3bbaa1ec071524e7931d5d5c10fc1569ec9c05cf921add29f5b40d793e370" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="37808 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="37,808" data-view-component="true" class="Counter js-social-count">37.8k</span> </a></div> </li> </ul> </div> </div> <div id="responsive-meta-container" data-turbo-replace> </div> <nav data-pjax="#js-repo-pjax-container" aria-label="Repository" data-view-component="true" class="js-repo-nav js-sidenav-container-pjax js-responsive-underlinenav overflow-hidden UnderlineNav px-3 px-md-4 px-lg-5"> <ul data-view-component="true" class="UnderlineNav-body list-style-none"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab" href="/vim/vim" data-tab-item="i0code-tab" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments repo_attestations /vim/vim" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g c" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Code&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" aria-current="page" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item selected"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code UnderlineNav-octicon d-none d-sm-inline"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> <span data-content="Code">Code</span> <span id="code-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab" href="/vim/vim/issues" data-tab-item="i1issues-tab" data-selected-links="repo_issues repo_labels repo_milestones /vim/vim/issues" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g i" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Issues&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened UnderlineNav-octicon d-none d-sm-inline"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> <span data-content="Issues">Issues</span> <span id="issues-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="1,474" data-view-component="true" class="Counter">1.5k</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab" href="/vim/vim/pulls" data-tab-item="i2pull-requests-tab" data-selected-links="repo_pulls checks /vim/vim/pulls" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g p" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Pull requests&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request UnderlineNav-octicon d-none d-sm-inline"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> <span data-content="Pull requests">Pull requests</span> <span id="pull-requests-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="46" data-view-component="true" class="Counter">46</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="discussions-tab" href="/vim/vim/discussions" data-tab-item="i3discussions-tab" data-selected-links="repo_discussions /vim/vim/discussions" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g g" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Discussions&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion UnderlineNav-octicon d-none d-sm-inline"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> <span data-content="Discussions">Discussions</span> <span id="discussions-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="actions-tab" href="/vim/vim/actions" data-tab-item="i4actions-tab" data-selected-links="repo_actions /vim/vim/actions" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g a" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Actions&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play UnderlineNav-octicon d-none d-sm-inline"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> <span data-content="Actions">Actions</span> <span id="actions-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="projects-tab" href="/vim/vim/projects" data-tab-item="i5projects-tab" data-selected-links="repo_projects new_repo_project repo_project /vim/vim/projects" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g b" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Projects&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table UnderlineNav-octicon d-none d-sm-inline"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path> </svg> <span data-content="Projects">Projects</span> <span id="projects-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="wiki-tab" href="/vim/vim/wiki" data-tab-item="i6wiki-tab" data-selected-links="repo_wiki /vim/vim/wiki" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g w" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Wiki&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book UnderlineNav-octicon d-none d-sm-inline"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> <span data-content="Wiki">Wiki</span> <span id="wiki-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="security-tab" href="/vim/vim/security" data-tab-item="i7security-tab" data-selected-links="security overview alerts policy token_scanning code_scanning /vim/vim/security" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g s" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Security&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield UnderlineNav-octicon d-none d-sm-inline"> <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span data-content="Security">Security</span> <include-fragment src="/vim/vim/security/overall-count" accept="text/fragment+html"></include-fragment> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="insights-tab" href="/vim/vim/pulse" data-tab-item="i8insights-tab" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /vim/vim/pulse" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Insights&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph UnderlineNav-octicon d-none d-sm-inline"> <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> <span data-content="Insights">Insights</span> <span id="insights-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> </ul> <div style="visibility:hidden;" data-view-component="true" class="UnderlineNav-actions js-responsive-underlinenav-overflow position-absolute pr-3 pr-md-4 pr-lg-5 right-0"> <action-menu data-select-variant="none" data-view-component="true"> <focus-group direction="vertical" mnemonics retain> <button id="action-menu-83bad821-88e4-4aa1-abe7-cf3325af7b66-button" popovertarget="action-menu-83bad821-88e4-4aa1-abe7-cf3325af7b66-overlay" aria-controls="action-menu-83bad821-88e4-4aa1-abe7-cf3325af7b66-list" aria-haspopup="true" aria-labelledby="tooltip-998edac6-d8ec-4016-8551-8a3fe96384c3" type="button" data-view-component="true" class="Button Button--iconOnly Button--secondary Button--medium UnderlineNav-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal Button-visual"> <path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path> </svg> </button><tool-tip id="tooltip-998edac6-d8ec-4016-8551-8a3fe96384c3" for="action-menu-83bad821-88e4-4aa1-abe7-cf3325af7b66-button" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Additional navigation options</tool-tip> <anchored-position data-target="action-menu.overlay" id="action-menu-83bad821-88e4-4aa1-abe7-cf3325af7b66-overlay" anchor="action-menu-83bad821-88e4-4aa1-abe7-cf3325af7b66-button" align="start" side="outside-bottom" anchor-offset="normal" popover="auto" data-view-component="true"> <div data-view-component="true" class="Overlay Overlay--size-auto"> <div data-view-component="true" class="Overlay-body Overlay-body--paddingNone"> <action-list> <div data-view-component="true"> <ul aria-labelledby="action-menu-83bad821-88e4-4aa1-abe7-cf3325af7b66-button" id="action-menu-83bad821-88e4-4aa1-abe7-cf3325af7b66-list" role="menu" data-view-component="true" class="ActionListWrap--inset ActionListWrap"> <li hidden="hidden" data-menu-item="i0code-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-372d57d0-914c-43d6-af0f-e79289122146" href="/vim/vim" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Code </span> </a> </li> <li hidden="hidden" data-menu-item="i1issues-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-1df6de9e-1960-41a6-b1f3-c46af80d5197" href="/vim/vim/issues" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Issues </span> </a> </li> <li hidden="hidden" data-menu-item="i2pull-requests-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-8fbd14cb-fe33-4518-b392-f49eb35ed2c4" href="/vim/vim/pulls" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Pull requests </span> </a> </li> <li hidden="hidden" data-menu-item="i3discussions-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-870ce792-96cc-4d39-a022-0e89fd4de811" href="/vim/vim/discussions" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Discussions </span> </a> </li> <li hidden="hidden" data-menu-item="i4actions-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-4bf523ee-d1c7-4153-bcc3-a154b3219f9d" href="/vim/vim/actions" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Actions </span> </a> </li> <li hidden="hidden" data-menu-item="i5projects-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-711eab15-f3ef-4eee-9a2c-6914d1bdbbb2" href="/vim/vim/projects" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Projects </span> </a> </li> <li hidden="hidden" data-menu-item="i6wiki-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-fe641adc-fea3-4657-b1b1-871fd94a0072" href="/vim/vim/wiki" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Wiki </span> </a> </li> <li hidden="hidden" data-menu-item="i7security-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-828ff0d7-fe28-49b0-b444-4814b6d07189" href="/vim/vim/security" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield"> <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Security </span> </a> </li> <li hidden="hidden" data-menu-item="i8insights-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-a36e20b9-9b4e-46aa-85e6-634cbaa05de4" href="/vim/vim/pulse" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph"> <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Insights </span> </a> </li> </ul> </div></action-list> </div> </div></anchored-position> </focus-group> </action-menu></div> </nav> </div> <turbo-frame id="repo-content-turbo-frame" target="_top" data-turbo-action="advance" class=""> <div id="repo-content-pjax-container" class="repository-content " > <react-app app-name="react-code-view" initial-path="/vim/vim/blob/master/src/gui.c" style="display: block; min-height: calc(100vh - 64px);" data-attempted-ssr="true" data-ssr="true" data-lazy="false" data-alternate="false" data-data-router-enabled="false" > <script type="application/json" data-target="react-app.embeddedData">{"payload":{"allShortcutsEnabled":false,"fileTree":{"src":{"items":[{"name":"GvimExt","path":"src/GvimExt","contentType":"directory"},{"name":"auto","path":"src/auto","contentType":"directory"},{"name":"libvterm","path":"src/libvterm","contentType":"directory"},{"name":"po","path":"src/po","contentType":"directory"},{"name":"proto","path":"src/proto","contentType":"directory"},{"name":"tee","path":"src/tee","contentType":"directory"},{"name":"testdir","path":"src/testdir","contentType":"directory"},{"name":"xdiff","path":"src/xdiff","contentType":"directory"},{"name":"xpm","path":"src/xpm","contentType":"directory"},{"name":"xxd","path":"src/xxd","contentType":"directory"},{"name":"INSTALL","path":"src/INSTALL","contentType":"file"},{"name":"INSTALLami.txt","path":"src/INSTALLami.txt","contentType":"file"},{"name":"INSTALLmac.txt","path":"src/INSTALLmac.txt","contentType":"file"},{"name":"INSTALLpc.txt","path":"src/INSTALLpc.txt","contentType":"file"},{"name":"INSTALLvms.txt","path":"src/INSTALLvms.txt","contentType":"file"},{"name":"INSTALLx.txt","path":"src/INSTALLx.txt","contentType":"file"},{"name":"Make_all.mak","path":"src/Make_all.mak","contentType":"file"},{"name":"Make_ami.mak","path":"src/Make_ami.mak","contentType":"file"},{"name":"Make_cyg.mak","path":"src/Make_cyg.mak","contentType":"file"},{"name":"Make_cyg_ming.mak","path":"src/Make_cyg_ming.mak","contentType":"file"},{"name":"Make_ming.mak","path":"src/Make_ming.mak","contentType":"file"},{"name":"Make_mvc.mak","path":"src/Make_mvc.mak","contentType":"file"},{"name":"Make_vms.mms","path":"src/Make_vms.mms","contentType":"file"},{"name":"Makefile","path":"src/Makefile","contentType":"file"},{"name":"README.md","path":"src/README.md","contentType":"file"},{"name":"alloc.c","path":"src/alloc.c","contentType":"file"},{"name":"alloc.h","path":"src/alloc.h","contentType":"file"},{"name":"arabic.c","path":"src/arabic.c","contentType":"file"},{"name":"arglist.c","path":"src/arglist.c","contentType":"file"},{"name":"ascii.h","path":"src/ascii.h","contentType":"file"},{"name":"autocmd.c","path":"src/autocmd.c","contentType":"file"},{"name":"beval.c","path":"src/beval.c","contentType":"file"},{"name":"beval.h","path":"src/beval.h","contentType":"file"},{"name":"bigvim.bat","path":"src/bigvim.bat","contentType":"file"},{"name":"bigvim64.bat","path":"src/bigvim64.bat","contentType":"file"},{"name":"blob.c","path":"src/blob.c","contentType":"file"},{"name":"blowfish.c","path":"src/blowfish.c","contentType":"file"},{"name":"buffer.c","path":"src/buffer.c","contentType":"file"},{"name":"bufwrite.c","path":"src/bufwrite.c","contentType":"file"},{"name":"change.c","path":"src/change.c","contentType":"file"},{"name":"channel.c","path":"src/channel.c","contentType":"file"},{"name":"charset.c","path":"src/charset.c","contentType":"file"},{"name":"cindent.c","path":"src/cindent.c","contentType":"file"},{"name":"clientserver.c","path":"src/clientserver.c","contentType":"file"},{"name":"clipboard.c","path":"src/clipboard.c","contentType":"file"},{"name":"cmdexpand.c","path":"src/cmdexpand.c","contentType":"file"},{"name":"cmdhist.c","path":"src/cmdhist.c","contentType":"file"},{"name":"config.h.in","path":"src/config.h.in","contentType":"file"},{"name":"config.mk.dist","path":"src/config.mk.dist","contentType":"file"},{"name":"config.mk.in","path":"src/config.mk.in","contentType":"file"},{"name":"configure","path":"src/configure","contentType":"file"},{"name":"configure.ac","path":"src/configure.ac","contentType":"file"},{"name":"create_cmdidxs.vim","path":"src/create_cmdidxs.vim","contentType":"file"},{"name":"create_nvcmdidxs.c","path":"src/create_nvcmdidxs.c","contentType":"file"},{"name":"create_nvcmdidxs.vim","path":"src/create_nvcmdidxs.vim","contentType":"file"},{"name":"crypt.c","path":"src/crypt.c","contentType":"file"},{"name":"crypt_zip.c","path":"src/crypt_zip.c","contentType":"file"},{"name":"debugger.c","path":"src/debugger.c","contentType":"file"},{"name":"dict.c","path":"src/dict.c","contentType":"file"},{"name":"diff.c","path":"src/diff.c","contentType":"file"},{"name":"digraph.c","path":"src/digraph.c","contentType":"file"},{"name":"dlldata.c","path":"src/dlldata.c","contentType":"file"},{"name":"dosinst.c","path":"src/dosinst.c","contentType":"file"},{"name":"dosinst.h","path":"src/dosinst.h","contentType":"file"},{"name":"drawline.c","path":"src/drawline.c","contentType":"file"},{"name":"drawscreen.c","path":"src/drawscreen.c","contentType":"file"},{"name":"edit.c","path":"src/edit.c","contentType":"file"},{"name":"errors.h","path":"src/errors.h","contentType":"file"},{"name":"eval.c","path":"src/eval.c","contentType":"file"},{"name":"evalbuffer.c","path":"src/evalbuffer.c","contentType":"file"},{"name":"evalfunc.c","path":"src/evalfunc.c","contentType":"file"},{"name":"evalvars.c","path":"src/evalvars.c","contentType":"file"},{"name":"evalwindow.c","path":"src/evalwindow.c","contentType":"file"},{"name":"ex_cmdidxs.h","path":"src/ex_cmdidxs.h","contentType":"file"},{"name":"ex_cmds.c","path":"src/ex_cmds.c","contentType":"file"},{"name":"ex_cmds.h","path":"src/ex_cmds.h","contentType":"file"},{"name":"ex_cmds2.c","path":"src/ex_cmds2.c","contentType":"file"},{"name":"ex_docmd.c","path":"src/ex_docmd.c","contentType":"file"},{"name":"ex_eval.c","path":"src/ex_eval.c","contentType":"file"},{"name":"ex_getln.c","path":"src/ex_getln.c","contentType":"file"},{"name":"feature.h","path":"src/feature.h","contentType":"file"},{"name":"fileio.c","path":"src/fileio.c","contentType":"file"},{"name":"filepath.c","path":"src/filepath.c","contentType":"file"},{"name":"findfile.c","path":"src/findfile.c","contentType":"file"},{"name":"float.c","path":"src/float.c","contentType":"file"},{"name":"fold.c","path":"src/fold.c","contentType":"file"},{"name":"gc.c","path":"src/gc.c","contentType":"file"},{"name":"getchar.c","path":"src/getchar.c","contentType":"file"},{"name":"globals.h","path":"src/globals.h","contentType":"file"},{"name":"gui.c","path":"src/gui.c","contentType":"file"},{"name":"gui.h","path":"src/gui.h","contentType":"file"},{"name":"gui_beval.c","path":"src/gui_beval.c","contentType":"file"},{"name":"gui_dwrite.cpp","path":"src/gui_dwrite.cpp","contentType":"file"},{"name":"gui_dwrite.h","path":"src/gui_dwrite.h","contentType":"file"},{"name":"gui_gtk.c","path":"src/gui_gtk.c","contentType":"file"},{"name":"gui_gtk_f.c","path":"src/gui_gtk_f.c","contentType":"file"},{"name":"gui_gtk_f.h","path":"src/gui_gtk_f.h","contentType":"file"},{"name":"gui_gtk_res.xml","path":"src/gui_gtk_res.xml","contentType":"file"},{"name":"gui_gtk_vms.h","path":"src/gui_gtk_vms.h","contentType":"file"},{"name":"gui_gtk_x11.c","path":"src/gui_gtk_x11.c","contentType":"file"},{"name":"gui_haiku.cc","path":"src/gui_haiku.cc","contentType":"file"},{"name":"gui_haiku.h","path":"src/gui_haiku.h","contentType":"file"},{"name":"gui_motif.c","path":"src/gui_motif.c","contentType":"file"},{"name":"gui_photon.c","path":"src/gui_photon.c","contentType":"file"},{"name":"gui_w32.c","path":"src/gui_w32.c","contentType":"file"},{"name":"gui_w32_rc.h","path":"src/gui_w32_rc.h","contentType":"file"},{"name":"gui_x11.c","path":"src/gui_x11.c","contentType":"file"},{"name":"gui_x11_pm.h","path":"src/gui_x11_pm.h","contentType":"file"},{"name":"gui_xim.c","path":"src/gui_xim.c","contentType":"file"},{"name":"gui_xmdlg.c","path":"src/gui_xmdlg.c","contentType":"file"},{"name":"gui_xmebw.c","path":"src/gui_xmebw.c","contentType":"file"},{"name":"gui_xmebw.h","path":"src/gui_xmebw.h","contentType":"file"},{"name":"gui_xmebwp.h","path":"src/gui_xmebwp.h","contentType":"file"},{"name":"gvimtutor","path":"src/gvimtutor","contentType":"file"},{"name":"hardcopy.c","path":"src/hardcopy.c","contentType":"file"},{"name":"hashtab.c","path":"src/hashtab.c","contentType":"file"},{"name":"help.c","path":"src/help.c","contentType":"file"},{"name":"highlight.c","path":"src/highlight.c","contentType":"file"},{"name":"if_cscope.c","path":"src/if_cscope.c","contentType":"file"},{"name":"if_lua.c","path":"src/if_lua.c","contentType":"file"},{"name":"if_mzsch.c","path":"src/if_mzsch.c","contentType":"file"},{"name":"if_mzsch.h","path":"src/if_mzsch.h","contentType":"file"},{"name":"if_ole.cpp","path":"src/if_ole.cpp","contentType":"file"},{"name":"if_ole.h","path":"src/if_ole.h","contentType":"file"},{"name":"if_ole.idl","path":"src/if_ole.idl","contentType":"file"},{"name":"if_perl.xs","path":"src/if_perl.xs","contentType":"file"},{"name":"if_perlsfio.c","path":"src/if_perlsfio.c","contentType":"file"},{"name":"if_py_both.h","path":"src/if_py_both.h","contentType":"file"},{"name":"if_python.c","path":"src/if_python.c","contentType":"file"},{"name":"if_python3.c","path":"src/if_python3.c","contentType":"file"},{"name":"if_ruby.c","path":"src/if_ruby.c","contentType":"file"},{"name":"if_tcl.c","path":"src/if_tcl.c","contentType":"file"},{"name":"if_xcmdsrv.c","path":"src/if_xcmdsrv.c","contentType":"file"},{"name":"iid_ole.c","path":"src/iid_ole.c","contentType":"file"},{"name":"indent.c","path":"src/indent.c","contentType":"file"},{"name":"insexpand.c","path":"src/insexpand.c","contentType":"file"},{"name":"install-sh","path":"src/install-sh","contentType":"file"},{"name":"installman.sh","path":"src/installman.sh","contentType":"file"},{"name":"installml.sh","path":"src/installml.sh","contentType":"file"},{"name":"iscygpty.c","path":"src/iscygpty.c","contentType":"file"},{"name":"iscygpty.h","path":"src/iscygpty.h","contentType":"file"},{"name":"job.c","path":"src/job.c","contentType":"file"},{"name":"json.c","path":"src/json.c","contentType":"file"},{"name":"json_test.c","path":"src/json_test.c","contentType":"file"},{"name":"keymap.h","path":"src/keymap.h","contentType":"file"},{"name":"kword_test.c","path":"src/kword_test.c","contentType":"file"},{"name":"linematch.c","path":"src/linematch.c","contentType":"file"},{"name":"link.390","path":"src/link.390","contentType":"file"},{"name":"link.sh","path":"src/link.sh","contentType":"file"},{"name":"list.c","path":"src/list.c","contentType":"file"},{"name":"locale.c","path":"src/locale.c","contentType":"file"},{"name":"logfile.c","path":"src/logfile.c","contentType":"file"},{"name":"macros.h","path":"src/macros.h","contentType":"file"},{"name":"main.c","path":"src/main.c","contentType":"file"},{"name":"map.c","path":"src/map.c","contentType":"file"},{"name":"mark.c","path":"src/mark.c","contentType":"file"},{"name":"match.c","path":"src/match.c","contentType":"file"},{"name":"mbyte.c","path":"src/mbyte.c","contentType":"file"},{"name":"memfile.c","path":"src/memfile.c","contentType":"file"},{"name":"memfile_test.c","path":"src/memfile_test.c","contentType":"file"},{"name":"memline.c","path":"src/memline.c","contentType":"file"},{"name":"menu.c","path":"src/menu.c","contentType":"file"},{"name":"message.c","path":"src/message.c","contentType":"file"},{"name":"message_test.c","path":"src/message_test.c","contentType":"file"},{"name":"misc1.c","path":"src/misc1.c","contentType":"file"},{"name":"misc2.c","path":"src/misc2.c","contentType":"file"},{"name":"mouse.c","path":"src/mouse.c","contentType":"file"},{"name":"move.c","path":"src/move.c","contentType":"file"},{"name":"msvc-latest.bat","path":"src/msvc-latest.bat","contentType":"file"},{"name":"msvc2015.bat","path":"src/msvc2015.bat","contentType":"file"},{"name":"msvc2017.bat","path":"src/msvc2017.bat","contentType":"file"},{"name":"msvc2019.bat","path":"src/msvc2019.bat","contentType":"file"},{"name":"msvc2022.bat","path":"src/msvc2022.bat","contentType":"file"},{"name":"msys32.bat","path":"src/msys32.bat","contentType":"file"},{"name":"msys64.bat","path":"src/msys64.bat","contentType":"file"},{"name":"mysign","path":"src/mysign","contentType":"file"},{"name":"nbdebug.c","path":"src/nbdebug.c","contentType":"file"},{"name":"nbdebug.h","path":"src/nbdebug.h","contentType":"file"},{"name":"netbeans.c","path":"src/netbeans.c","contentType":"file"},{"name":"normal.c","path":"src/normal.c","contentType":"file"},{"name":"nv_cmdidxs.h","path":"src/nv_cmdidxs.h","contentType":"file"},{"name":"nv_cmds.h","path":"src/nv_cmds.h","contentType":"file"},{"name":"ops.c","path":"src/ops.c","contentType":"file"},{"name":"option.c","path":"src/option.c","contentType":"file"},{"name":"option.h","path":"src/option.h","contentType":"file"},{"name":"optiondefs.h","path":"src/optiondefs.h","contentType":"file"},{"name":"optionstr.c","path":"src/optionstr.c","contentType":"file"},{"name":"os_amiga.c","path":"src/os_amiga.c","contentType":"file"},{"name":"os_amiga.h","path":"src/os_amiga.h","contentType":"file"},{"name":"os_dos.h","path":"src/os_dos.h","contentType":"file"},{"name":"os_haiku.h","path":"src/os_haiku.h","contentType":"file"},{"name":"os_haiku.rdef.in","path":"src/os_haiku.rdef.in","contentType":"file"},{"name":"os_mac.h","path":"src/os_mac.h","contentType":"file"},{"name":"os_mac_conv.c","path":"src/os_mac_conv.c","contentType":"file"},{"name":"os_macosx.m","path":"src/os_macosx.m","contentType":"file"},{"name":"os_mswin.c","path":"src/os_mswin.c","contentType":"file"},{"name":"os_qnx.c","path":"src/os_qnx.c","contentType":"file"},{"name":"os_qnx.h","path":"src/os_qnx.h","contentType":"file"},{"name":"os_unix.c","path":"src/os_unix.c","contentType":"file"},{"name":"os_unix.h","path":"src/os_unix.h","contentType":"file"},{"name":"os_unixx.h","path":"src/os_unixx.h","contentType":"file"},{"name":"os_vms.c","path":"src/os_vms.c","contentType":"file"},{"name":"os_vms_conf.h","path":"src/os_vms_conf.h","contentType":"file"},{"name":"os_vms_fix.com","path":"src/os_vms_fix.com","contentType":"file"},{"name":"os_vms_mms.c","path":"src/os_vms_mms.c","contentType":"file"},{"name":"os_w32dll.c","path":"src/os_w32dll.c","contentType":"file"},{"name":"os_w32exe.c","path":"src/os_w32exe.c","contentType":"file"},{"name":"os_win32.c","path":"src/os_win32.c","contentType":"file"},{"name":"os_win32.h","path":"src/os_win32.h","contentType":"file"},{"name":"osdef.sh","path":"src/osdef.sh","contentType":"file"},{"name":"osdef1.h.in","path":"src/osdef1.h.in","contentType":"file"},{"name":"osdef2.h.in","path":"src/osdef2.h.in","contentType":"file"},{"name":"pathdef.sh","path":"src/pathdef.sh","contentType":"file"},{"name":"popupmenu.c","path":"src/popupmenu.c","contentType":"file"},{"name":"popupwin.c","path":"src/popupwin.c","contentType":"file"},{"name":"profiler.c","path":"src/profiler.c","contentType":"file"},{"name":"proto.h","path":"src/proto.h","contentType":"file"},{"name":"protodef.h","path":"src/protodef.h","contentType":"file"},{"name":"pty.c","path":"src/pty.c","contentType":"file"},{"name":"quickfix.c","path":"src/quickfix.c","contentType":"file"},{"name":"regexp.c","path":"src/regexp.c","contentType":"file"},{"name":"regexp.h","path":"src/regexp.h","contentType":"file"},{"name":"regexp_bt.c","path":"src/regexp_bt.c","contentType":"file"},{"name":"regexp_nfa.c","path":"src/regexp_nfa.c","contentType":"file"},{"name":"register.c","path":"src/register.c","contentType":"file"},{"name":"screen.c","path":"src/screen.c","contentType":"file"},{"name":"scriptfile.c","path":"src/scriptfile.c","contentType":"file"},{"name":"search.c","path":"src/search.c","contentType":"file"},{"name":"session.c","path":"src/session.c","contentType":"file"},{"name":"sha256.c","path":"src/sha256.c","contentType":"file"},{"name":"sign.c","path":"src/sign.c","contentType":"file"},{"name":"sound.c","path":"src/sound.c","contentType":"file"},{"name":"spell.c","path":"src/spell.c","contentType":"file"},{"name":"spell.h","path":"src/spell.h","contentType":"file"},{"name":"spellfile.c","path":"src/spellfile.c","contentType":"file"},{"name":"spellsuggest.c","path":"src/spellsuggest.c","contentType":"file"},{"name":"strings.c","path":"src/strings.c","contentType":"file"},{"name":"structs.h","path":"src/structs.h","contentType":"file"},{"name":"syntax.c","path":"src/syntax.c","contentType":"file"},{"name":"tag.c","path":"src/tag.c","contentType":"file"},{"name":"tearoff.bmp","path":"src/tearoff.bmp","contentType":"file"},{"name":"term.c","path":"src/term.c","contentType":"file"},{"name":"termdefs.h","path":"src/termdefs.h","contentType":"file"},{"name":"terminal.c","path":"src/terminal.c","contentType":"file"},{"name":"termlib.c","path":"src/termlib.c","contentType":"file"},{"name":"testing.c","path":"src/testing.c","contentType":"file"},{"name":"textformat.c","path":"src/textformat.c","contentType":"file"},{"name":"textobject.c","path":"src/textobject.c","contentType":"file"},{"name":"textprop.c","path":"src/textprop.c","contentType":"file"},{"name":"time.c","path":"src/time.c","contentType":"file"},{"name":"toolbar.phi","path":"src/toolbar.phi","contentType":"file"},{"name":"toolcheck","path":"src/toolcheck","contentType":"file"},{"name":"tools.bmp","path":"src/tools.bmp","contentType":"file"},{"name":"tuple.c","path":"src/tuple.c","contentType":"file"},{"name":"typemap","path":"src/typemap","contentType":"file"},{"name":"typval.c","path":"src/typval.c","contentType":"file"},{"name":"ui.c","path":"src/ui.c","contentType":"file"},{"name":"undo.c","path":"src/undo.c","contentType":"file"},{"name":"uninstall.c","path":"src/uninstall.c","contentType":"file"},{"name":"usercmd.c","path":"src/usercmd.c","contentType":"file"},{"name":"userfunc.c","path":"src/userfunc.c","contentType":"file"},{"name":"version.c","path":"src/version.c","contentType":"file"},{"name":"version.h","path":"src/version.h","contentType":"file"},{"name":"vim.h","path":"src/vim.h","contentType":"file"},{"name":"vim.ico","path":"src/vim.ico","contentType":"file"},{"name":"vim.manifest","path":"src/vim.manifest","contentType":"file"},{"name":"vim.rc","path":"src/vim.rc","contentType":"file"},{"name":"vim.tlb","path":"src/vim.tlb","contentType":"file"},{"name":"vim9.h","path":"src/vim9.h","contentType":"file"},{"name":"vim9class.c","path":"src/vim9class.c","contentType":"file"},{"name":"vim9cmds.c","path":"src/vim9cmds.c","contentType":"file"},{"name":"vim9compile.c","path":"src/vim9compile.c","contentType":"file"},{"name":"vim9execute.c","path":"src/vim9execute.c","contentType":"file"},{"name":"vim9expr.c","path":"src/vim9expr.c","contentType":"file"},{"name":"vim9instr.c","path":"src/vim9instr.c","contentType":"file"},{"name":"vim9script.c","path":"src/vim9script.c","contentType":"file"},{"name":"vim9type.c","path":"src/vim9type.c","contentType":"file"},{"name":"vim_alert.ico","path":"src/vim_alert.ico","contentType":"file"},{"name":"vim_error.ico","path":"src/vim_error.ico","contentType":"file"},{"name":"vim_icon.xbm","path":"src/vim_icon.xbm","contentType":"file"},{"name":"vim_info.ico","path":"src/vim_info.ico","contentType":"file"},{"name":"vim_mask.xbm","path":"src/vim_mask.xbm","contentType":"file"},{"name":"vim_quest.ico","path":"src/vim_quest.ico","contentType":"file"},{"name":"viminfo.c","path":"src/viminfo.c","contentType":"file"},{"name":"vimrun.c","path":"src/vimrun.c","contentType":"file"},{"name":"vimtutor","path":"src/vimtutor","contentType":"file"},{"name":"which.sh","path":"src/which.sh","contentType":"file"},{"name":"winclip.c","path":"src/winclip.c","contentType":"file"},{"name":"window.c","path":"src/window.c","contentType":"file"},{"name":"xpm_w32.c","path":"src/xpm_w32.c","contentType":"file"},{"name":"xpm_w32.h","path":"src/xpm_w32.h","contentType":"file"}],"totalCount":291},"":{"items":[{"name":".github","path":".github","contentType":"directory"},{"name":"READMEdir","path":"READMEdir","contentType":"directory"},{"name":"ci","path":"ci","contentType":"directory"},{"name":"lang","path":"lang","contentType":"directory"},{"name":"nsis","path":"nsis","contentType":"directory"},{"name":"pixmaps","path":"pixmaps","contentType":"directory"},{"name":"runtime","path":"runtime","contentType":"directory"},{"name":"src","path":"src","contentType":"directory"},{"name":"tools","path":"tools","contentType":"directory"},{"name":".appveyor.yml","path":".appveyor.yml","contentType":"file"},{"name":".cirrus.yml","path":".cirrus.yml","contentType":"file"},{"name":".clang-format","path":".clang-format","contentType":"file"},{"name":".codecov.yml","path":".codecov.yml","contentType":"file"},{"name":".editorconfig","path":".editorconfig","contentType":"file"},{"name":".git-blame-ignore-revs","path":".git-blame-ignore-revs","contentType":"file"},{"name":".gitattributes","path":".gitattributes","contentType":"file"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":".hgignore","path":".hgignore","contentType":"file"},{"name":"CONTRIBUTING.md","path":"CONTRIBUTING.md","contentType":"file"},{"name":"Filelist","path":"Filelist","contentType":"file"},{"name":"LICENSE","path":"LICENSE","contentType":"file"},{"name":"Makefile","path":"Makefile","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"README.txt","path":"README.txt","contentType":"file"},{"name":"README_VIM9.md","path":"README_VIM9.md","contentType":"file"},{"name":"SECURITY.md","path":"SECURITY.md","contentType":"file"},{"name":"configure","path":"configure","contentType":"file"},{"name":"uninstall.txt","path":"uninstall.txt","contentType":"file"},{"name":"vimtutor.bat","path":"vimtutor.bat","contentType":"file"},{"name":"vimtutor.com","path":"vimtutor.com","contentType":"file"}],"totalCount":30}},"fileTreeProcessingTime":61.064201999999995,"foldersToFetch":[],"repo":{"id":40997482,"defaultBranch":"master","name":"vim","ownerLogin":"vim","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-08-18T21:03:56.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/11618545?v=4","public":true,"private":false,"isOrgOwned":true},"codeLineWrapEnabled":false,"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"master","listCacheKey":"v0:1743236101.0","canEdit":false,"refType":"branch","currentOid":"1054b18291ce611932bc949b22b87b78f1975ca9"},"path":"src/gui.c","currentUser":null,"blob":{"rawLines":["/* vi:set ts=8 sts=4 sw=4 noet:"," *"," * VIM - Vi IMproved\t\tby Bram Moolenaar"," *\t\t\t\tGUI/Motif support by Robert Webb"," *"," * Do \":help uganda\" in Vim to read copying and usage conditions."," * Do \":help credits\" in Vim to see a list of people who contributed."," * See README.txt for an overview of the Vim source code."," */","","#include \"vim.h\"","","// Structure containing all the GUI information","gui_T gui;","","#if defined(FEAT_GUI_X11) \u0026\u0026 !defined(FEAT_GUI_GTK)","# define USE_SET_GUIFONTWIDE","static void set_guifontwide(char_u *font_name);","#endif","static void gui_check_pos(void);","static void gui_reset_scroll_region(void);","static void gui_outstr(char_u *, int);","static int gui_screenchar(int off, int flags, guicolor_T fg, guicolor_T bg, int back);","static int gui_outstr_nowrap(char_u *s, int len, int flags, guicolor_T fg, guicolor_T bg, int back);","static void gui_delete_lines(int row, int count);","static void gui_insert_lines(int row, int count);","static int gui_xy2colrow(int x, int y, int *colp);","#if defined(FEAT_GUI_TABLINE) || defined(PROTO)","static int gui_has_tabline(void);","#endif","static void gui_do_scrollbar(win_T *wp, int which, int enable);","static void gui_update_horiz_scrollbar(int);","static void gui_set_fg_color(char_u *name);","static void gui_set_bg_color(char_u *name);","static void init_gui_options(void);","static win_T *xy2win(int x, int y, mouse_find_T popup);","","#ifdef GUI_MAY_FORK","static void gui_do_fork(void);","","static int gui_read_child_pipe(int fd);","","// Return values for gui_read_child_pipe","enum {"," GUI_CHILD_IO_ERROR,"," GUI_CHILD_OK,"," GUI_CHILD_FAILED","};","#endif","","static void gui_attempt_start(void);","","static int can_update_cursor = TRUE; // can display the cursor","static int disable_flush = 0;\t// If \u003e 0, gui_mch_flush() is disabled.","","/*"," * gui_start -- Called when user wants to start the GUI."," *"," * Careful: This function can be called recursively when there is a \":gui\""," * command in the .gvimrc file. Only the first call should fork, not the"," * recursive call."," */"," void","gui_start(char_u *arg UNUSED)","{"," char_u\t*old_term;","#ifdef GUI_MAY_FORK"," static int\trecursive = 0;","#endif","#if defined(GUI_MAY_SPAWN) \u0026\u0026 defined(EXPERIMENTAL_GUI_CMD)"," char\t*msg = NULL;","#endif",""," old_term = vim_strsave(T_NAME);",""," settmode(TMODE_COOK);\t\t// stop RAW mode"," if (full_screen)","\tcursor_on();\t\t\t// needed for \":gui\" in .vimrc"," full_screen = FALSE;","","#ifdef GUI_MAY_FORK"," ++recursive;"," /*"," * Quit the current process and continue in the child."," * Makes \"gvim file\" disconnect from the shell it was started in."," * Don't do this when Vim was started with \"-f\" or the 'f' flag is present"," * in 'guioptions'."," * Don't do this when there is a running job, we can only get the status"," * of a child from the parent."," */"," if (gui.dofork \u0026\u0026 !vim_strchr(p_go, GO_FORG) \u0026\u0026 recursive \u003c= 1","# ifdef FEAT_JOB_CHANNEL","\t \u0026\u0026 !job_any_running()","# endif","\t )"," {","\tgui_do_fork();"," }"," else","#endif","#ifdef GUI_MAY_SPAWN"," if (gui.dospawn","# ifdef EXPERIMENTAL_GUI_CMD","\t \u0026\u0026 gui.dofork","# endif","\t \u0026\u0026 !vim_strchr(p_go, GO_FORG)","\t \u0026\u0026 !anyBufIsChanged()","# ifdef FEAT_JOB_CHANNEL","\t \u0026\u0026 !job_any_running()","# endif","\t )"," {","# ifdef EXPERIMENTAL_GUI_CMD","\tmsg =","# endif","\t gui_mch_do_spawn(arg);"," }"," else","#endif"," {","#ifdef FEAT_GUI_GTK","\t// If there is 'f' in 'guioptions' and specify -g argument,","\t// gui_mch_init_check() was not called yet.","\tif (gui_mch_init_check() != OK)","\t getout_preserve_modified(1);","#endif","\tgui_attempt_start();"," }",""," if (!gui.in_use)\t\t\t// failed to start GUI"," {","\t// Back to old term settings","\t//","\t// FIXME: If we got here because a child process failed and flagged to","\t// the parent to resume, and X11 is enabled, this will","\t// hit an X11 I/O error and do a longjmp(), leaving recursive","\t// permanently set to 1. This is probably not as big a problem as it","\t// sounds, because gui_mch_init() in both gui_x11.c and gui_gtk_x11.c","\t// return \"OK\" unconditionally, so it would be very difficult to","\t// actually hit this case.","\ttermcapinit(old_term);","\tsettmode(TMODE_RAW);\t\t// restart RAW mode","\tset_title_defaults();\t\t// set 'title' and 'icon' again","#if defined(GUI_MAY_SPAWN) \u0026\u0026 defined(EXPERIMENTAL_GUI_CMD)","\tif (msg != NULL)","\t emsg(msg);","#endif"," }",""," vim_free(old_term);",""," // If the GUI started successfully, trigger the GUIEnter event, otherwise"," // the GUIFailed event."," gui_mch_update();"," apply_autocmds(gui.in_use ? EVENT_GUIENTER : EVENT_GUIFAILED,","\t\t\t\t\t\t NULL, NULL, FALSE, curbuf);","#ifdef GUI_MAY_FORK"," --recursive;","#endif","}","","/*"," * Set_termname() will call gui_init() to start the GUI."," * Set the \"starting\" flag, to indicate that the GUI will start."," *"," * We don't want to open the GUI shell until after we've read .gvimrc,"," * otherwise we don't know what font we will use, and hence we don't know"," * what size the shell should be. So if there are errors in the .gvimrc"," * file, they will have to go to the terminal: Set full_screen to FALSE."," * full_screen will be set to TRUE again by a successful termcapinit()."," */"," static void","gui_attempt_start(void)","{"," static int recursive = 0;",""," ++recursive;"," gui.starting = TRUE;","","#ifdef FEAT_GUI_GTK"," gui.event_time = GDK_CURRENT_TIME;","#endif",""," termcapinit((char_u *)\"builtin_gui\");"," gui.starting = recursive - 1;","","#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11)"," if (gui.in_use)"," {","# ifdef FEAT_EVAL","\tWindow\tx11_window;","\tDisplay\t*x11_display;","","\tif (gui_get_x11_windis(\u0026x11_window, \u0026x11_display) == OK)","\t set_vim_var_nr(VV_WINDOWID, (long)x11_window);","# endif","","\t// Display error messages in a dialog now.","\tdisplay_errors();"," }","#endif"," --recursive;","}","","#ifdef GUI_MAY_FORK","","// for waitpid()","# if defined(HAVE_SYS_WAIT_H) || defined(HAVE_UNION_WAIT)","# include \u003csys/wait.h\u003e","# endif","","/*"," * Create a new process, by forking. In the child, start the GUI, and in"," * the parent, exit."," *"," * If something goes wrong, this will return with gui.in_use still set"," * to FALSE, in which case the caller should continue execution without"," * the GUI."," *"," * If the child fails to start the GUI, then the child will exit and the"," * parent will return. If the child succeeds, then the parent will exit"," * and the child will return."," */"," static void","gui_do_fork(void)","{"," int\t\tpipefd[2];\t// pipe between parent and child"," int\t\tpipe_error;"," int\t\tstatus;"," int\t\texit_status;"," pid_t\tpid = -1;","","# if defined(FEAT_RELTIME) \u0026\u0026 defined(PROF_NSEC)"," // a timer is not carried forward"," delete_timer();","# endif",""," // Setup a pipe between the child and the parent, so that the parent"," // knows when the child has done the setsid() call and is allowed to"," // exit."," pipe_error = (pipe(pipefd) \u003c 0);"," pid = fork();"," if (pid \u003c 0)\t // Fork error"," {","\temsg(_(e_failed_to_create_new_process_for_GUI));","\treturn;"," }"," else if (pid \u003e 0)\t // Parent"," {","\t// Give the child some time to do the setsid(), otherwise the","\t// exit() may kill the child too (when starting gvim from inside a","\t// gvim).","\tif (!pipe_error)","\t{","\t // The read returns when the child closes the pipe (or when","\t // the child dies for some reason).","\t close(pipefd[1]);","\t status = gui_read_child_pipe(pipefd[0]);","\t if (status == GUI_CHILD_FAILED)","\t {","\t\t// The child failed to start the GUI, so the caller must","\t\t// continue. There may be more error information written","\t\t// to stderr by the child.","# ifdef __NeXT__","\t\twait4(pid, \u0026exit_status, 0, (struct rusage *)0);","# else","\t\twaitpid(pid, \u0026exit_status, 0);","# endif","\t\temsg(_(e_the_child_process_failed_to_start_GUI));","\t\treturn;","\t }","\t else if (status == GUI_CHILD_IO_ERROR)","\t {","\t\tpipe_error = TRUE;","\t }","\t // else GUI_CHILD_OK: parent exit","\t}","","\tif (pipe_error)","\t ui_delay(301L, TRUE);","","\t// When swapping screens we may need to go to the next line, e.g.,","\t// after a hit-enter prompt and using \":gui\".","\tif (newline_on_exit)","\t mch_errmsg(\"\\r\\n\");","","\t/*","\t * The parent must skip the normal exit() processing, the child","\t * will do it. For example, GTK messes up signals when exiting.","\t */","\t_exit(0);"," }"," // Child","","# ifdef FEAT_GUI_GTK"," // Call gtk_init_check() here after fork(). See gui_init_check()."," if (gui_mch_init_check() != OK)","\tgetout_preserve_modified(1);","# endif","","# if defined(HAVE_SETSID) || defined(HAVE_SETPGID)"," /*"," * Change our process group. On some systems/shells a CTRL-C in the"," * shell where Vim was started would otherwise kill gvim!"," */","# if defined(HAVE_SETSID)"," (void)setsid();","# else"," (void)setpgid(0, 0);","# endif","# endif"," if (!pipe_error)","\tclose(pipefd[0]);","","# if defined(FEAT_GUI_GNOME) \u0026\u0026 defined(FEAT_SESSION)"," // Tell the session manager our new PID"," gui_mch_forked();","# endif",""," // Try to start the GUI"," gui_attempt_start();",""," // Notify the parent"," if (!pipe_error)"," {","\tif (gui.in_use)","\t write_eintr(pipefd[1], \"ok\", 3);","\telse","\t write_eintr(pipefd[1], \"fail\", 5);","\tclose(pipefd[1]);"," }",""," // If we failed to start the GUI, exit now."," if (!gui.in_use)","\tgetout_preserve_modified(1);","}","","/*"," * Read from a pipe assumed to be connected to the child process (this"," * function is called from the parent)."," * Return GUI_CHILD_OK if the child successfully started the GUI,"," * GUY_CHILD_FAILED if the child failed, or GUI_CHILD_IO_ERROR if there was"," * some other error."," *"," * The file descriptor will be closed before the function returns."," */"," static int","gui_read_child_pipe(int fd)","{"," long\tbytes_read;","# define READ_BUFFER_SIZE 10"," char\tbuffer[READ_BUFFER_SIZE];",""," bytes_read = read_eintr(fd, buffer, READ_BUFFER_SIZE - 1);","# undef READ_BUFFER_SIZE"," close(fd);"," if (bytes_read \u003c 0)","\treturn GUI_CHILD_IO_ERROR;"," buffer[bytes_read] = NUL;"," if (strcmp(buffer, \"ok\") == 0)","\treturn GUI_CHILD_OK;"," return GUI_CHILD_FAILED;","}","","#endif // GUI_MAY_FORK","","/*"," * Call this when vim starts up, whether or not the GUI is started"," */"," void","gui_prepare(int *argc, char **argv)","{"," gui.in_use = FALSE;\t\t // No GUI yet (maybe later)"," gui.starting = FALSE;\t // No GUI yet (maybe later)"," gui_mch_prepare(argc, argv);","}","","/*"," * Try initializing the GUI and check if it can be started."," * Used from main() to check early if \"vim -g\" can start the GUI."," * Used from gui_init() to prepare for starting the GUI."," * Returns FAIL or OK."," */"," int","gui_init_check(void)","{"," static int result = MAYBE;",""," if (result != MAYBE)"," {","\tif (result == FAIL)","\t emsg(_(e_cannot_start_the_GUI));","\treturn result;"," }",""," gui.shell_created = FALSE;"," gui.dying = FALSE;"," gui.in_focus = TRUE;\t\t// so the guicursor setting works"," gui.dragged_sb = SBAR_NONE;"," gui.dragged_wp = NULL;"," gui.pointer_hidden = FALSE;"," gui.col = 0;"," gui.row = 0;"," gui.num_cols = Columns;"," gui.num_rows = Rows;",""," gui.cursor_is_valid = FALSE;"," gui.scroll_region_top = 0;"," gui.scroll_region_bot = Rows - 1;"," gui.scroll_region_left = 0;"," gui.scroll_region_right = Columns - 1;"," gui.highlight_mask = HL_NORMAL;"," gui.char_width = 1;"," gui.char_height = 1;"," gui.char_ascent = 0;"," gui.border_width = 0;",""," gui.norm_font = NOFONT;","#ifndef FEAT_GUI_GTK"," gui.bold_font = NOFONT;"," gui.ital_font = NOFONT;"," gui.boldital_font = NOFONT;","# ifdef FEAT_XFONTSET"," gui.fontset = NOFONTSET;","# endif","#endif"," gui.wide_font = NOFONT;","#ifndef FEAT_GUI_GTK"," gui.wide_bold_font = NOFONT;"," gui.wide_ital_font = NOFONT;"," gui.wide_boldital_font = NOFONT;","#endif","","#ifdef FEAT_MENU","# ifndef FEAT_GUI_GTK","# ifdef FONTSET_ALWAYS"," gui.menu_fontset = NOFONTSET;","# else"," gui.menu_font = NOFONT;","# endif","# endif"," gui.menu_is_active = TRUE;\t // default: include menu","# ifndef FEAT_GUI_GTK"," gui.menu_height = MENU_DEFAULT_HEIGHT;"," gui.menu_width = 0;","# endif","#endif","#if defined(FEAT_TOOLBAR) \u0026\u0026 (defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_HAIKU))"," gui.toolbar_height = 0;","#endif","#ifdef FEAT_BEVAL_TIP"," gui.tooltip_fontset = NOFONTSET;","#endif",""," gui.scrollbar_width = gui.scrollbar_height = SB_DEFAULT_WIDTH;"," gui.prev_wrap = -1;","","#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MSWIN)"," // Note: gui_set_ligatures() might already have been called e.g. from .vimrc,"," // and in that case we don't want to overwrite ligatures map that has already"," // been correctly populated (as that would lead to a cleared ligatures maps)."," if (*p_guiligatures == NUL)","\tCLEAR_FIELD(gui.ligatures_map);","#endif","","#if defined(ALWAYS_USE_GUI) || defined(VIMDLL)"," result = OK;","#else","# ifdef FEAT_GUI_GTK"," /*"," * Note: Don't call gtk_init_check() before fork, it will be called after"," * the fork. When calling it before fork, it make vim hang for a while."," * See gui_do_fork()."," * Use a simpler check if the GUI window can probably be opened."," */"," result = gui.dofork ? gui_mch_early_init_check(TRUE) : gui_mch_init_check();","# else"," result = gui_mch_init_check();","# endif","#endif"," return result;","}","","/*"," * This is the call which starts the GUI."," */"," void","gui_init(void)","{"," win_T\t*wp;"," tabpage_T\t*tp;"," static int\trecursive = 0;",""," /*"," * It's possible to use \":gui\" in a .gvimrc file. The first half of this"," * function will then be executed at the first call, the rest by the"," * recursive call. This allow the shell to be opened halfway reading a"," * gvimrc file."," */"," if (!recursive)"," {","\t++recursive;","","\tclip_init(TRUE);","","\t// If can't initialize, don't try doing the rest","\tif (gui_init_check() == FAIL)","\t{","\t --recursive;","\t clip_init(FALSE);","\t return;","\t}","","\t/*","\t * Reset 'paste'. It's useful in the terminal, but not in the GUI. It","\t * breaks the Paste toolbar button.","\t */","\tset_option_value_give_err((char_u *)\"paste\", 0L, NULL, 0);","","\t// Set t_Co to the number of colors: RGB.","\tset_color_count(256 * 256 * 256);","","\t/*","\t * Set up system-wide default menus.","\t */","#if defined(SYS_MENU_FILE) \u0026\u0026 defined(FEAT_MENU)","\tif (vim_strchr(p_go, GO_NOSYSMENU) == NULL)","\t{","\t sys_menu = TRUE;","\t do_source((char_u *)SYS_MENU_FILE, FALSE, DOSO_NONE, NULL);","\t sys_menu = FALSE;","\t}","#endif","","\t/*","\t * Switch on the mouse by default, unless the user changed it already.","\t * This can then be changed in the .gvimrc.","\t */","\tif (!option_was_set((char_u *)\"mouse\"))","\t set_string_option_direct((char_u *)\"mouse\", -1,","\t\t\t\t\t (char_u *)\"a\", OPT_FREE, SID_NONE);","","\t/*","\t * If -U option given, use only the initializations from that file and","\t * nothing else. Skip all initializations for \"-U NONE\" or \"-u NORC\".","\t */","\tif (use_gvimrc != NULL)","\t{","\t if (STRCMP(use_gvimrc, \"NONE\") != 0","\t\t \u0026\u0026 STRCMP(use_gvimrc, \"NORC\") != 0","\t\t \u0026\u0026 do_source(use_gvimrc, FALSE, DOSO_NONE, NULL) != OK)","\t\tsemsg(_(e_cannot_read_from_str), use_gvimrc);","\t}","\telse","\t{","\t /*","\t * Get system wide defaults for gvim, only when file name defined.","\t */","#ifdef SYS_GVIMRC_FILE","\t do_source((char_u *)SYS_GVIMRC_FILE, FALSE, DOSO_NONE, NULL);","#endif","","\t /*","\t * Try to read GUI initialization commands from the following","\t * places:","\t * - environment variable GVIMINIT","\t * - the user gvimrc file (~/.gvimrc)","\t * - the second user gvimrc file ($VIM/.gvimrc for Dos)","\t * - the third user gvimrc file ($VIM/.gvimrc for Amiga)","\t * The first that exists is used, the rest is ignored.","\t */","\t if (process_env((char_u *)\"GVIMINIT\", FALSE) == FAIL","\t\t \u0026\u0026 do_source((char_u *)USR_GVIMRC_FILE, TRUE,","\t\t\t\t\t\t DOSO_GVIMRC, NULL) == FAIL","#ifdef USR_GVIMRC_FILE2","\t\t \u0026\u0026 do_source((char_u *)USR_GVIMRC_FILE2, TRUE,","\t\t\t\t\t\t DOSO_GVIMRC, NULL) == FAIL","#endif","#ifdef USR_GVIMRC_FILE3","\t\t \u0026\u0026 do_source((char_u *)USR_GVIMRC_FILE3, TRUE,","\t\t\t\t\t\t DOSO_GVIMRC, NULL) == FAIL","#endif","\t\t\t\t)","\t {","#ifdef USR_GVIMRC_FILE4","\t\t(void)do_source((char_u *)USR_GVIMRC_FILE4, TRUE,","\t\t\t\t\t\t\t DOSO_GVIMRC, NULL);","#endif","\t }","","\t /*","\t * Read initialization commands from \".gvimrc\" in current","\t * directory. This is only done if the 'exrc' option is set.","\t * Because of security reasons we disallow shell and write","\t * commands now, except for unix if the file is owned by the user","\t * or 'secure' option has been reset in environment of global","\t * \".gvimrc\".","\t * Only do this if GVIMRC_FILE is not the same as USR_GVIMRC_FILE,","\t * USR_GVIMRC_FILE2, USR_GVIMRC_FILE3 or SYS_GVIMRC_FILE.","\t */","\t if (p_exrc)","\t {","#ifdef UNIX","\t\t{","\t\t stat_T s;","","\t\t // if \".gvimrc\" file is not owned by user, set 'secure'","\t\t // mode","\t\t if (mch_stat(GVIMRC_FILE, \u0026s) || s.st_uid != getuid())","\t\t\tsecure = p_secure;","\t\t}","#else","\t\tsecure = p_secure;","#endif","","\t\tif ( fullpathcmp((char_u *)USR_GVIMRC_FILE,","\t\t\t\t(char_u *)GVIMRC_FILE, FALSE, TRUE) != FPC_SAME","#ifdef SYS_GVIMRC_FILE","\t\t\t\u0026\u0026 fullpathcmp((char_u *)SYS_GVIMRC_FILE,","\t\t\t\t(char_u *)GVIMRC_FILE, FALSE, TRUE) != FPC_SAME","#endif","#ifdef USR_GVIMRC_FILE2","\t\t\t\u0026\u0026 fullpathcmp((char_u *)USR_GVIMRC_FILE2,","\t\t\t\t(char_u *)GVIMRC_FILE, FALSE, TRUE) != FPC_SAME","#endif","#ifdef USR_GVIMRC_FILE3","\t\t\t\u0026\u0026 fullpathcmp((char_u *)USR_GVIMRC_FILE3,","\t\t\t\t(char_u *)GVIMRC_FILE, FALSE, TRUE) != FPC_SAME","#endif","#ifdef USR_GVIMRC_FILE4","\t\t\t\u0026\u0026 fullpathcmp((char_u *)USR_GVIMRC_FILE4,","\t\t\t\t(char_u *)GVIMRC_FILE, FALSE, TRUE) != FPC_SAME","#endif","\t\t\t)","\t\t do_source((char_u *)GVIMRC_FILE, TRUE, DOSO_GVIMRC, NULL);","","\t\tif (secure == 2)","\t\t need_wait_return = TRUE;","\t\tsecure = 0;","\t }","\t}","","\tif (need_wait_return || msg_didany)","\t wait_return(TRUE);","","\t--recursive;"," }",""," // If recursive call opened the shell, return here from the first call"," if (gui.in_use)","\treturn;",""," /*"," * Create the GUI shell."," */"," gui.in_use = TRUE;\t\t// Must be set after menus have been set up"," if (gui_mch_init() == FAIL)","\tgoto error;",""," // Avoid a delay for an error message that was printed in the terminal"," // where Vim was started."," emsg_on_display = FALSE;"," msg_scrolled = 0;"," clear_sb_text(TRUE);"," need_wait_return = FALSE;"," msg_didany = FALSE;",""," /*"," * Check validity of any generic resources that may have been loaded."," */"," if (gui.border_width \u003c 0)","\tgui.border_width = 0;",""," /*"," * Set up the fonts. First use a font specified with \"-fn\" or \"-font\"."," */"," if (font_argument != NULL)","\tset_option_value_give_err((char_u *)\"gfn\",","\t\t\t\t\t 0L, (char_u *)font_argument, 0);"," if (","#ifdef FEAT_XFONTSET","\t (*p_guifontset == NUL","\t || gui_init_font(p_guifontset, TRUE) == FAIL) \u0026\u0026","#endif","\t gui_init_font(*p_guifont == NUL ? hl_get_font_name()","\t\t\t\t\t\t : p_guifont, FALSE) == FAIL)"," {","\temsg(_(e_cannot_start_gui_no_valid_font_found));","\tgoto error2;"," }"," if (gui_get_wide_font() == FAIL)","\temsg(_(e_guifontwide_invalid));",""," gui.num_cols = Columns;"," gui.num_rows = Rows;"," gui_reset_scroll_region();",""," // Create initial scrollbars"," FOR_ALL_TAB_WINDOWS(tp, wp)"," {","\tgui_create_scrollbar(\u0026wp-\u003ew_scrollbars[SBAR_LEFT], SBAR_LEFT, wp);","\tgui_create_scrollbar(\u0026wp-\u003ew_scrollbars[SBAR_RIGHT], SBAR_RIGHT, wp);"," }"," gui_create_scrollbar(\u0026gui.bottom_sbar, SBAR_BOTTOM, NULL);","","#ifdef FEAT_MENU"," gui_create_initial_menus(root_menu);","#endif","#ifdef FEAT_SIGN_ICONS"," sign_gui_started();","#endif",""," // Configure the desired menu and scrollbars"," gui_init_which_components(NULL);",""," // All components of the GUI have been created now"," gui.shell_created = TRUE;","","#ifdef FEAT_GUI_MSWIN"," // Set the shell size, adjusted for the screen size. For GTK this only"," // works after the shell has been opened, thus it is further down."," // If the window is already maximized (e.g. when --windowid is passed in),"," // we want to use the system-provided dimensions by passing FALSE to"," // mustset. Otherwise, we want to initialize with the default rows/columns."," if (gui_mch_maximized())","\tgui_set_shellsize(FALSE, TRUE, RESIZE_BOTH);"," else","\tgui_set_shellsize(TRUE, TRUE, RESIZE_BOTH);","#else","# ifndef FEAT_GUI_GTK"," gui_set_shellsize(FALSE, TRUE, RESIZE_BOTH);","# endif","#endif","#if defined(FEAT_GUI_MOTIF) \u0026\u0026 defined(FEAT_MENU)"," // Need to set the size of the menubar after all the menus have been"," // created."," gui_mch_compute_menu_height((Widget)0);","#endif",""," /*"," * Actually open the GUI shell."," */"," if (gui_mch_open() != FAIL)"," {","\tmaketitle();","\tresettitle();","","\tinit_gui_options();","#ifdef FEAT_ARABIC","\t// Our GUI can't do bidi.","\tp_tbidi = FALSE;","#endif","#if defined(FEAT_GUI_GTK)","\t// Give GTK+ a chance to put all widget's into place.","\tgui_mch_update();","","# ifdef FEAT_MENU","\t// If there is no 'm' in 'guioptions' we need to remove the menu now.","\t// It was still there to make F10 work.","\tif (vim_strchr(p_go, GO_MENUS) == NULL)","\t{","\t --gui.starting;","\t gui_mch_enable_menu(FALSE);","\t ++gui.starting;","\t gui_mch_update();","\t}","# endif","","\t// Now make sure the shell fits on the screen.","\tif (gui_mch_maximized())","\t gui_set_shellsize(FALSE, TRUE, RESIZE_BOTH);","\telse","\t gui_set_shellsize(TRUE, TRUE, RESIZE_BOTH);","#endif","\t// When 'lines' was set while starting up the topframe may have to be","\t// resized.","\twin_new_shellsize();","","#ifdef FEAT_BEVAL_GUI","\t// Always create the Balloon Evaluation area, but disable it when","\t// 'ballooneval' is off.","\tif (balloonEval != NULL)","\t{","# ifdef FEAT_VARTABS","\t vim_free(balloonEval-\u003evts);","# endif","\t vim_free(balloonEval);","\t}","\tballoonEvalForTerm = FALSE;","# ifdef FEAT_GUI_GTK","\tballoonEval = gui_mch_create_beval_area(gui.drawarea, NULL,","\t\t\t\t\t\t \u0026general_beval_cb, NULL);","# else","# if defined(FEAT_GUI_MOTIF)","\t{","\t extern Widget\ttextArea;","\t balloonEval = gui_mch_create_beval_area(textArea, NULL,","\t\t\t\t\t\t \u0026general_beval_cb, NULL);","\t}","# else","# ifdef FEAT_GUI_MSWIN","\tballoonEval = gui_mch_create_beval_area(NULL, NULL,","\t\t\t\t\t\t \u0026general_beval_cb, NULL);","# endif","# endif","# endif","\tif (!p_beval)","\t gui_mch_disable_beval_area(balloonEval);","#endif","","#ifndef FEAT_GUI_MSWIN","\t// In the GUI modifiers are prepended to keys.","\t// Don't do this for MS-Windows yet, it sends CTRL-K without the","\t// modifier.","\tseenModifyOtherKeys = TRUE;","#endif","","#if defined(FEAT_XIM) \u0026\u0026 defined(FEAT_GUI_GTK)","\tif (!im_xim_isvalid_imactivate())","\t emsg(_(e_value_of_imactivatekey_is_invalid));","#endif","\t// When 'cmdheight' was set during startup it may not have taken","\t// effect yet.","\tif (p_ch != 1L)","\t command_height();","","\treturn;"," }","","error2:","#ifdef FEAT_GUI_X11"," // undo gui_mch_init()"," gui_mch_uninit();","#endif","","error:"," gui.in_use = FALSE;"," clip_init(FALSE);","}","",""," void","gui_exit(int rc)","{"," // don't free the fonts, it leads to a BUS error"," // richard@whitequeen.com Jul 99"," free_highlight_fonts();"," gui.in_use = FALSE;"," gui_mch_exit(rc);","}","","#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11) || defined(FEAT_GUI_MSWIN) \\","\t|| defined(FEAT_GUI_PHOTON) || defined(PROTO)","# define NEED_GUI_UPDATE_SCREEN 1","/*"," * Called when the GUI shell is closed by the user. If there are no changed"," * files Vim exits, otherwise there will be a dialog to ask the user what to"," * do."," * When this function returns, Vim should NOT exit!"," */"," void","gui_shell_closed(void)","{"," cmdmod_T\t save_cmdmod = cmdmod;",""," if (before_quit_autocmds(curwin, TRUE, FALSE))","\treturn;",""," // Only exit when there are no changed files"," exiting = TRUE;","# ifdef FEAT_BROWSE"," cmdmod.cmod_flags |= CMOD_BROWSE;","# endif","# if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)"," cmdmod.cmod_flags |= CMOD_CONFIRM;","# endif"," // If there are changed buffers, present the user with a dialog if"," // possible, otherwise give an error message."," if (!check_changed_any(FALSE, FALSE))","\tgetout(0);",""," exiting = FALSE;"," cmdmod = save_cmdmod;"," gui_update_screen();\t// redraw, window may show changed buffer","}","#endif","","/*"," * Set the font. \"font_list\" is a comma separated list of font names. The"," * first font name that works is used. If none is found, use the default"," * font."," * If \"fontset\" is TRUE, the \"font_list\" is used as one name for the fontset."," * Return OK when able to set the font. When it failed FAIL is returned and"," * the fonts are unchanged."," */"," int","gui_init_font(char_u *font_list, int fontset UNUSED)","{","#define FONTLEN 320"," char_u\tfont_name[FONTLEN];"," int\t\tfont_list_empty = FALSE;"," int\t\tret = FAIL;",""," if (!gui.in_use)","\treturn FAIL;",""," font_name[0] = NUL;"," if (*font_list == NUL)","\tfont_list_empty = TRUE;"," else"," {","#ifdef FEAT_XFONTSET","\t// When using a fontset, the whole list of fonts is one name.","\tif (fontset)","\t ret = gui_mch_init_font(font_list, TRUE);","\telse","#endif","\t while (*font_list != NUL)","\t {","\t\t// Isolate one comma separated font name.","\t\t(void)copy_option_part(\u0026font_list, font_name, FONTLEN, \",\");","","\t\t// Careful!!! The Win32 version of gui_mch_init_font(), when","\t\t// called with \"*\" will change p_guifont to the selected font","\t\t// name, which frees the old value. This makes font_list","\t\t// invalid. Thus when OK is returned here, font_list must no","\t\t// longer be used!","\t\tif (gui_mch_init_font(font_name, FALSE) == OK)","\t\t{","#ifdef USE_SET_GUIFONTWIDE","\t\t // If it's a Unicode font, try setting 'guifontwide' to a","\t\t // similar double-width font.","\t\t if ((p_guifontwide == NULL || *p_guifontwide == NUL)","\t\t\t\t\u0026\u0026 strstr((char *)font_name, \"10646\") != NULL)","\t\t\tset_guifontwide(font_name);","#endif","\t\t ret = OK;","\t\t break;","\t\t}","\t }"," }",""," if (ret != OK","\t \u0026\u0026 STRCMP(font_list, \"*\") != 0","\t \u0026\u0026 (font_list_empty || gui.norm_font == NOFONT))"," {","\t/*","\t * Couldn't load any font in 'font_list', keep the current font if","\t * there is one. If 'font_list' is empty, or if there is no current","\t * font, tell gui_mch_init_font() to try to find a font we can load.","\t */","\tret = gui_mch_init_font(NULL, FALSE);"," }",""," if (ret == OK)"," {","#ifndef FEAT_GUI_GTK","\t// Set normal font as current font","# ifdef FEAT_XFONTSET","\tif (gui.fontset != NOFONTSET)","\t gui_mch_set_fontset(gui.fontset);","\telse","# endif","\t gui_mch_set_font(gui.norm_font);","#endif","\tgui_set_shellsize(FALSE, TRUE, RESIZE_BOTH);"," }",""," return ret;","}","","#ifdef USE_SET_GUIFONTWIDE","/*"," * Try setting 'guifontwide' to a font twice as wide as \"name\"."," */"," static void","set_guifontwide(char_u *name)","{"," int\t\ti = 0;"," char_u\twide_name[FONTLEN + 10]; // room for 2 * width and '*'"," char_u\t*wp = NULL;"," char_u\t*p;"," GuiFont\tfont;",""," wp = wide_name;"," for (p = name; *p != NUL; ++p)"," {","\t*wp++ = *p;","\tif (*p == '-')","\t{","\t ++i;","\t if (i == 6)\t\t// font type: change \"--\" to \"-*-\"","\t {","\t\tif (p[1] == '-')","\t\t *wp++ = '*';","\t }","\t else if (i == 12)\t// found the width","\t {","\t\t++p;","\t\ti = getdigits(\u0026p);","\t\tif (i != 0)","\t\t{","\t\t // Double the width specification.","\t\t sprintf((char *)wp, \"%d%s\", i * 2, p);","\t\t font = gui_mch_get_font(wide_name, FALSE);","\t\t if (font != NOFONT)","\t\t {","\t\t\tgui_mch_free_font(gui.wide_font);","\t\t\tgui.wide_font = font;","\t\t\tset_string_option_direct((char_u *)\"gfw\", -1,","\t\t\t\t\t\t wide_name, OPT_FREE, 0);","\t\t }","\t\t}","\t\tbreak;","\t }","\t}"," }","}","#endif","","/*"," * Get the font for 'guifontwide'."," * Return FAIL for an invalid font name."," */"," int","gui_get_wide_font(void)","{"," GuiFont\tfont = NOFONT;"," char_u\tfont_name[FONTLEN];"," char_u\t*p;",""," if (!gui.in_use)\t // Can't allocate font yet, assume it's OK.","\treturn OK;\t // Will give an error message later.",""," if (p_guifontwide != NULL \u0026\u0026 *p_guifontwide != NUL)"," {","\tfor (p = p_guifontwide; *p != NUL; )","\t{","\t // Isolate one comma separated font name.","\t (void)copy_option_part(\u0026p, font_name, FONTLEN, \",\");","\t font = gui_mch_get_font(font_name, FALSE);","\t if (font != NOFONT)","\t\tbreak;","\t}","\tif (font == NOFONT)","\t return FAIL;"," }",""," gui_mch_free_font(gui.wide_font);","#ifdef FEAT_GUI_GTK"," // Avoid unnecessary overhead if 'guifontwide' is equal to 'guifont'."," if (font != NOFONT \u0026\u0026 gui.norm_font != NOFONT","\t\t\t \u0026\u0026 pango_font_description_equal(font, gui.norm_font))"," {","\tgui.wide_font = NOFONT;","\tgui_mch_free_font(font);"," }"," else","#endif","\tgui.wide_font = font;","#ifdef FEAT_GUI_MSWIN"," gui_mch_wide_font_changed();","#else"," /*"," * TODO: setup wide_bold_font, wide_ital_font and wide_boldital_font to"," * support those fonts for 'guifontwide'."," */","#endif"," return OK;","}","","#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MSWIN) || defined(PROTO)","/*"," * Set list of ascii characters that combined can create ligature."," * Store them in char map for quick access from gui_gtk2_draw_string."," */"," void","gui_set_ligatures(void)","{"," char_u\t*p;",""," if (*p_guiligatures != NUL)"," {","\t// check for invalid characters","\tfor (p = p_guiligatures; *p != NUL; ++p)","\t if (*p \u003c 32 || *p \u003e 127)","\t {","\t\temsg(_(e_ascii_code_not_in_range));","\t\treturn;","\t }","","\t// store valid setting into ligatures_map","\tCLEAR_FIELD(gui.ligatures_map);","\tfor (p = p_guiligatures; *p != NUL; ++p)","\t gui.ligatures_map[*p] = 1;"," }"," else","\tCLEAR_FIELD(gui.ligatures_map);","}","","/*"," * Adjust the columns to undraw for when the cursor is on ligatures."," */"," static void","gui_adjust_undraw_cursor_for_ligatures(int *startcol, int *endcol)","{"," int off;",""," if (ScreenLines == NULL || *p_guiligatures == NUL)","\treturn;",""," // expand before the cursor for all the chars in gui.ligatures_map"," off = LineOffset[gui.cursor_row] + *startcol;"," if (gui.ligatures_map[ScreenLines[off]])","\twhile (*startcol \u003e 0 \u0026\u0026 gui.ligatures_map[ScreenLines[--off]])","\t (*startcol)--;",""," // expand after the cursor for all the chars in gui.ligatures_map"," off = LineOffset[gui.cursor_row] + *endcol;"," if (gui.ligatures_map[ScreenLines[off]])","\twhile (*endcol \u003c ((int)screen_Columns - 1)","\t\t\t\t \u0026\u0026 gui.ligatures_map[ScreenLines[++off]])","\t (*endcol)++;","}","#endif",""," static void","gui_set_cursor(int row, int col)","{"," gui.row = row;"," gui.col = col;","}","","/*"," * gui_check_pos - check if the cursor is on the screen."," */"," static void","gui_check_pos(void)","{"," if (gui.row \u003e= screen_Rows)","\tgui.row = screen_Rows - 1;"," if (gui.col \u003e= screen_Columns)","\tgui.col = screen_Columns - 1;"," if (gui.cursor_row \u003e= screen_Rows || gui.cursor_col \u003e= screen_Columns)","\tgui.cursor_is_valid = FALSE;","}","","/*"," * Redraw the cursor if necessary or when forced."," * Careful: The contents of ScreenLines[] must match what is on the screen,"," * otherwise this goes wrong. May need to call out_flush() first."," */"," void","gui_update_cursor("," int\t\tforce,\t\t // when TRUE, update even when not moved"," int\t\tclear_selection) // clear selection under cursor","{"," int\t\tcur_width = 0;"," int\t\tcur_height = 0;"," int\t\told_hl_mask;"," cursorentry_T *shape;"," int\t\tid;","#ifdef FEAT_TERMINAL"," guicolor_T\tshape_fg = INVALCOLOR;"," guicolor_T\tshape_bg = INVALCOLOR;","#endif"," guicolor_T\tcfg, cbg, cc;\t// cursor fore-/background color"," int\t\tcattr;\t\t// cursor attributes"," int\t\tattr;"," attrentry_T *aep = NULL;",""," // Don't update the cursor when halfway busy scrolling or the screen size"," // doesn't match 'columns' and 'lines. ScreenLines[] isn't valid then."," if (!can_update_cursor || screen_Columns != gui.num_cols","\t\t\t\t\t || screen_Rows != gui.num_rows)","\treturn;",""," gui_check_pos();",""," if (gui.cursor_is_valid \u0026\u0026 !force","\t\t\u0026\u0026 gui.row == gui.cursor_row \u0026\u0026 gui.col == gui.cursor_col)","\treturn;",""," gui_undraw_cursor();",""," // If a cursor-less sleep is ongoing, leave the cursor invisible"," if (cursor_is_sleeping())","\treturn;",""," if (gui.row \u003c 0)","\treturn;","#ifdef HAVE_INPUT_METHOD"," if (gui.row != gui.cursor_row || gui.col != gui.cursor_col)","\tim_set_position(gui.row, gui.col);","#endif"," gui.cursor_row = gui.row;"," gui.cursor_col = gui.col;",""," // Only write to the screen after ScreenLines[] has been initialized"," if (!screen_cleared || ScreenLines == NULL)","\treturn;",""," // Clear the selection if we are about to write over it"," if (clear_selection)","\tclip_may_clear_selection(gui.row, gui.row);"," // Check that the cursor is inside the shell (resizing may have made"," // it invalid)"," if (gui.row \u003e= screen_Rows || gui.col \u003e= screen_Columns)","\treturn;",""," gui.cursor_is_valid = TRUE;",""," /*"," * How the cursor is drawn depends on the current mode."," * When in a terminal window use the shape/color specified there."," */","#ifdef FEAT_TERMINAL"," if (terminal_is_active())","\tshape = term_get_cursor_shape(\u0026shape_fg, \u0026shape_bg);"," else","#endif","\tshape = \u0026shape_table[get_shape_idx(FALSE)];"," if (State \u0026 MODE_LANGMAP)","\tid = shape-\u003eid_lm;"," else","\tid = shape-\u003eid;",""," // get the colors and attributes for the cursor. Default is inverted"," cfg = INVALCOLOR;"," cbg = INVALCOLOR;"," cattr = HL_INVERSE;"," gui_mch_set_blinking(shape-\u003eblinkwait,","\t shape-\u003eblinkon,","\t shape-\u003eblinkoff);"," if (shape-\u003eblinkwait == 0 || shape-\u003eblinkon == 0","\t || shape-\u003eblinkoff == 0)","\tgui_mch_stop_blink(FALSE);","#ifdef FEAT_TERMINAL"," if (shape_bg != INVALCOLOR)"," {","\tcattr = 0;","\tcfg = shape_fg;","\tcbg = shape_bg;"," }"," else","#endif","\tif (id \u003e 0)","\t{","\t cattr = syn_id2colors(id, \u0026cfg, \u0026cbg);","#if defined(HAVE_INPUT_METHOD)","\t {","\t\tstatic int iid;","\t\tguicolor_T fg, bg;","","\t\tif (","# if defined(FEAT_GUI_GTK) \u0026\u0026 defined(FEAT_XIM)","\t\t\tpreedit_get_status()","# else","\t\t\tim_get_status()","# endif","\t\t )","\t\t{","\t\t iid = syn_name2id((char_u *)\"CursorIM\");","\t\t if (iid \u003e 0)","\t\t {","\t\t\tsyn_id2colors(iid, \u0026fg, \u0026bg);","\t\t\tif (bg != INVALCOLOR)","\t\t\t cbg = bg;","\t\t\tif (fg != INVALCOLOR)","\t\t\t cfg = fg;","\t\t }","\t\t}","\t }","#endif","\t}",""," /*"," * Get the attributes for the character under the cursor."," * When no cursor color was given, use the character color."," */"," attr = ScreenAttrs[LineOffset[gui.row] + gui.col];"," if (attr \u003e HL_ALL)","\taep = syn_gui_attr2entry(attr);"," if (aep != NULL)"," {","\tattr = aep-\u003eae_attr;","\tif (cfg == INVALCOLOR)","\t cfg = ((attr \u0026 HL_INVERSE) ? aep-\u003eae_u.gui.bg_color","\t\t : aep-\u003eae_u.gui.fg_color);","\tif (cbg == INVALCOLOR)","\t cbg = ((attr \u0026 HL_INVERSE) ? aep-\u003eae_u.gui.fg_color","\t\t : aep-\u003eae_u.gui.bg_color);"," }"," if (cfg == INVALCOLOR)","\tcfg = (attr \u0026 HL_INVERSE) ? gui.back_pixel : gui.norm_pixel;"," if (cbg == INVALCOLOR)","\tcbg = (attr \u0026 HL_INVERSE) ? gui.norm_pixel : gui.back_pixel;","","#ifdef FEAT_XIM"," if (aep != NULL)"," {","\txim_bg_color = ((attr \u0026 HL_INVERSE) ? aep-\u003eae_u.gui.fg_color","\t\t: aep-\u003eae_u.gui.bg_color);","\txim_fg_color = ((attr \u0026 HL_INVERSE) ? aep-\u003eae_u.gui.bg_color","\t\t: aep-\u003eae_u.gui.fg_color);","\tif (xim_bg_color == INVALCOLOR)","\t xim_bg_color = (attr \u0026 HL_INVERSE) ? gui.norm_pixel","\t\t: gui.back_pixel;","\tif (xim_fg_color == INVALCOLOR)","\t xim_fg_color = (attr \u0026 HL_INVERSE) ? gui.back_pixel","\t\t: gui.norm_pixel;"," }"," else"," {","\txim_bg_color = (attr \u0026 HL_INVERSE) ? gui.norm_pixel","\t : gui.back_pixel;","\txim_fg_color = (attr \u0026 HL_INVERSE) ? gui.back_pixel","\t : gui.norm_pixel;"," }","#endif",""," attr \u0026= ~HL_INVERSE;"," if (cattr \u0026 HL_INVERSE)"," {","\tcc = cbg;","\tcbg = cfg;","\tcfg = cc;"," }"," cattr \u0026= ~HL_INVERSE;",""," /*"," * When we don't have window focus, draw a hollow cursor."," */"," if (!gui.in_focus)"," {","\tgui_mch_draw_hollow_cursor(cbg);","\treturn;"," }",""," old_hl_mask = gui.highlight_mask;"," if (shape-\u003eshape == SHAPE_BLOCK)"," {","\t/*","\t * Draw the text character with the cursor colors.\tUse the","\t * character attributes plus the cursor attributes.","\t */","\tgui.highlight_mask = (cattr | attr);","\t(void)gui_screenchar(LineOffset[gui.row] + gui.col,","\t\tGUI_MON_IS_CURSOR | GUI_MON_NOCLEAR, cfg, cbg, 0);"," }"," else"," {","#if defined(FEAT_RIGHTLEFT)","\tint\t col_off = FALSE;","#endif","\t/*","\t * First draw the partial cursor, then overwrite with the text","\t * character, using a transparent background.","\t */","\tif (shape-\u003eshape == SHAPE_VER)","\t{","\t cur_height = gui.char_height;","\t cur_width = (gui.char_width * shape-\u003epercentage + 99) / 100;","\t}","\telse","\t{","\t cur_height = (gui.char_height * shape-\u003epercentage + 99) / 100;","\t cur_width = gui.char_width;","\t}","\tif (has_mbyte \u0026\u0026 (*mb_off2cells)(LineOffset[gui.row] + gui.col,","\t\t LineOffset[gui.row] + screen_Columns) \u003e 1)","\t{","\t // Double wide character.","\t if (shape-\u003eshape != SHAPE_VER)","\t\tcur_width += gui.char_width;","#ifdef FEAT_RIGHTLEFT","\t if (CURSOR_BAR_RIGHT)","\t {","\t\t// gui.col points to the left half of the character but","\t\t// the vertical line needs to be on the right half.","\t\t// A double-wide horizontal line is also drawn from the","\t\t// right half in gui_mch_draw_part_cursor().","\t\tcol_off = TRUE;","\t\t++gui.col;","\t }","#endif","\t}","\tgui_mch_draw_part_cursor(cur_width, cur_height, cbg);","#if defined(FEAT_RIGHTLEFT)","\tif (col_off)","\t --gui.col;","#endif","","#ifndef FEAT_GUI_MSWIN\t // doesn't seem to work for MSWindows","\tgui.highlight_mask = ScreenAttrs[LineOffset[gui.row] + gui.col];","\t(void)gui_screenchar(LineOffset[gui.row] + gui.col,","\t\tGUI_MON_TRS_CURSOR | GUI_MON_NOCLEAR,","\t\t(guicolor_T)0, (guicolor_T)0, 0);","#endif"," }"," gui.highlight_mask = old_hl_mask;","}","","#if defined(FEAT_MENU) || defined(PROTO)"," static void","gui_position_menu(void)","{","# if !defined(FEAT_GUI_GTK) \u0026\u0026 !defined(FEAT_GUI_MOTIF)"," if (gui.menu_is_active \u0026\u0026 gui.in_use)","\tgui_mch_set_menu_pos(0, 0, gui.menu_width, gui.menu_height);","# endif","}","#endif","","/*"," * Position the various GUI components (text area, menu). The vertical"," * scrollbars are NOT handled here. See gui_update_scrollbars()."," */"," static void","gui_position_components(int total_width UNUSED)","{"," int\t text_area_x;"," int\t text_area_y;"," int\t text_area_width;"," int\t text_area_height;",""," // avoid that moving components around generates events"," ++hold_gui_events;",""," text_area_x = 0;"," if (gui.which_scrollbars[SBAR_LEFT])","\ttext_area_x += gui.scrollbar_width;",""," text_area_y = 0;","#if defined(FEAT_MENU) \u0026\u0026 !(defined(FEAT_GUI_GTK) || defined(FEAT_GUI_PHOTON))"," gui.menu_width = total_width;"," if (gui.menu_is_active)","\ttext_area_y += gui.menu_height;","#endif","","#if defined(FEAT_GUI_TABLINE) \u0026\u0026 (defined(FEAT_GUI_MSWIN) \\","\t|| defined(FEAT_GUI_MOTIF))"," if (gui_has_tabline())","\ttext_area_y += gui.tabline_height;","#endif","","#if defined(FEAT_TOOLBAR) \u0026\u0026 (defined(FEAT_GUI_MOTIF) \\","\t|| defined(FEAT_GUI_HAIKU) || defined(FEAT_GUI_MSWIN))"," if (vim_strchr(p_go, GO_TOOLBAR) != NULL)"," {","# if defined(FEAT_GUI_HAIKU)","\tgui_mch_set_toolbar_pos(0, text_area_y,","\t\t\t\tgui.menu_width, gui.toolbar_height);","# endif","\ttext_area_y += gui.toolbar_height;"," }","#endif","","#if defined(FEAT_GUI_TABLINE) \u0026\u0026 defined(FEAT_GUI_HAIKU)"," gui_mch_set_tabline_pos(0, text_area_y,"," gui.menu_width, gui.tabline_height);"," if (gui_has_tabline())","\ttext_area_y += gui.tabline_height;","#endif",""," text_area_width = gui.num_cols * gui.char_width + gui.border_offset * 2;"," text_area_height = gui.num_rows * gui.char_height + gui.border_offset * 2;",""," gui_mch_set_text_area_pos(text_area_x,","\t\t\t text_area_y,","\t\t\t text_area_width,","\t\t\t text_area_height","#if defined(FEAT_XIM) \u0026\u0026 !defined(FEAT_GUI_GTK)","\t\t\t\t + xim_get_status_area_height()","#endif","\t\t\t );","#ifdef FEAT_MENU"," gui_position_menu();","#endif"," if (gui.which_scrollbars[SBAR_BOTTOM])","\tgui_mch_set_scrollbar_pos(\u0026gui.bottom_sbar,","\t\t\t\t text_area_x,","\t\t\t\t text_area_y + text_area_height","\t\t\t\t\t+ gui_mch_get_scrollbar_ypadding(),","\t\t\t\t text_area_width,","\t\t\t\t gui.scrollbar_height);"," gui.left_sbar_x = 0;"," gui.right_sbar_x = text_area_x + text_area_width","\t\t\t\t\t+ gui_mch_get_scrollbar_xpadding();",""," --hold_gui_events;","}","","/*"," * Get the width of the widgets and decorations to the side of the text area."," */"," int","gui_get_base_width(void)","{"," int\t base_width;",""," base_width = 2 * gui.border_offset;"," if (gui.which_scrollbars[SBAR_LEFT])","\tbase_width += gui.scrollbar_width;"," if (gui.which_scrollbars[SBAR_RIGHT])","\tbase_width += gui.scrollbar_width;"," return base_width;","}","","/*"," * Get the height of the widgets and decorations above and below the text area."," */"," int","gui_get_base_height(void)","{"," int\t base_height;",""," base_height = 2 * gui.border_offset;"," if (gui.which_scrollbars[SBAR_BOTTOM])","\tbase_height += gui.scrollbar_height;","#ifdef FEAT_GUI_GTK"," // We can't take the sizes properly into account until anything is"," // realized. Therefore we recalculate all the values here just before"," // setting the size. (--mdcki)","#else","# ifdef FEAT_MENU"," if (gui.menu_is_active)","\tbase_height += gui.menu_height;","# endif","# ifdef FEAT_TOOLBAR"," if (vim_strchr(p_go, GO_TOOLBAR) != NULL)","\tbase_height += gui.toolbar_height;","# endif","# if defined(FEAT_GUI_TABLINE) \u0026\u0026 (defined(FEAT_GUI_MSWIN) \\","\t|| defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_HAIKU))"," if (gui_has_tabline())","\tbase_height += gui.tabline_height;","# endif","# if defined(FEAT_GUI_MOTIF) \u0026\u0026 defined(FEAT_MENU)"," base_height += gui_mch_text_area_extra_height();","# endif","#endif"," return base_height;","}","","/*"," * Should be called after the GUI shell has been resized. Its arguments are"," * the new width and height of the shell in pixels."," */"," void","gui_resize_shell(int pixel_width, int pixel_height)","{"," static int\tbusy = FALSE;",""," if (!gui.shell_created)\t // ignore when still initializing","\treturn;",""," /*"," * Can't resize the screen while it is being redrawn. Remember the new"," * size and handle it later."," */"," if (updating_screen || busy)"," {","\tnew_pixel_width = pixel_width;","\tnew_pixel_height = pixel_height;","\treturn;"," }","","again:"," new_pixel_width = 0;"," new_pixel_height = 0;"," busy = TRUE;","","#ifdef FEAT_GUI_HAIKU"," vim_lock_screen();","#endif",""," // Flush pending output before redrawing"," out_flush();",""," gui.num_cols = (pixel_width - gui_get_base_width()) / gui.char_width;"," gui.num_rows = (pixel_height - gui_get_base_height()) / gui.char_height;",""," gui_position_components(pixel_width);"," gui_reset_scroll_region();",""," /*"," * At the \"more\" and \":confirm\" prompt there is no redraw, put the cursor"," * at the last line here (why does it have to be one row too low?)."," */"," if (State == MODE_ASKMORE || State == MODE_CONFIRM)","\tgui.row = gui.num_rows;",""," // Only comparing Rows and Columns may be sufficient, but let's stay on"," // the safe side."," if (gui.num_rows != screen_Rows || gui.num_cols != screen_Columns","\t || gui.num_rows != Rows || gui.num_cols != Columns || gui.force_redraw)"," {","\tshell_resized();","\tgui.force_redraw = 0;"," }","","#ifdef FEAT_GUI_HAIKU"," vim_unlock_screen();","#endif",""," gui_update_scrollbars(TRUE);"," gui_update_cursor(FALSE, TRUE);","#if defined(FEAT_XIM) \u0026\u0026 !defined(FEAT_GUI_GTK)"," xim_set_status_area();","#endif",""," busy = FALSE;",""," // We may have been called again while redrawing the screen."," // Need to do it all again with the latest size then. But only if the size"," // actually changed."," if (new_pixel_height)"," {","\tif (pixel_width == new_pixel_width \u0026\u0026 pixel_height == new_pixel_height)","\t{","\t new_pixel_width = 0;","\t new_pixel_height = 0;","\t}","\telse","\t{","\t pixel_width = new_pixel_width;","\t pixel_height = new_pixel_height;","\t goto again;","\t}"," }","}","","/*"," * Check if gui_resize_shell() must be called."," */"," void","gui_may_resize_shell(void)","{"," if (new_pixel_height)","\t// careful: gui_resize_shell() may postpone the resize again if we","\t// were called indirectly by it","\tgui_resize_shell(new_pixel_width, new_pixel_height);","}",""," int","gui_get_shellsize(void)","{"," Rows = gui.num_rows;"," Columns = gui.num_cols;"," return OK;","}","","/*"," * Set the size of the Vim shell according to Rows and Columns."," * If \"fit_to_display\" is TRUE then the size may be reduced to fit the window"," * on the screen."," * When \"mustset\" is TRUE the size was set by the user. When FALSE a UI"," * component was added or removed (e.g., a scrollbar)."," */"," void","gui_set_shellsize("," int\t\tmustset UNUSED,"," int\t\tfit_to_display,"," int\t\tdirection)\t\t// RESIZE_HOR, RESIZE_VER","{"," int\t\tbase_width;"," int\t\tbase_height;"," int\t\twidth;"," int\t\theight;"," int\t\tmin_width;"," int\t\tmin_height;"," int\t\tscreen_w;"," int\t\tscreen_h;","#ifdef FEAT_GUI_GTK"," int\t\tun_maximize = mustset;"," int\t\tdid_adjust = 0;","#endif"," int\t\tx = -1, y = -1;",""," if (!gui.shell_created)","\treturn;","","#if defined(MSWIN) || defined(FEAT_GUI_GTK)"," // If not setting to a user specified size and maximized, calculate the"," // number of characters that fit in the maximized window."," if (!mustset \u0026\u0026 (vim_strchr(p_go, GO_KEEPWINSIZE) != NULL","\t\t\t\t\t\t || gui_mch_maximized()))"," {","\tgui_mch_newfont();","\treturn;"," }","#endif",""," base_width = gui_get_base_width();"," base_height = gui_get_base_height();"," if (fit_to_display)","\t// Remember the original window position.","\t(void)gui_mch_get_winpos(\u0026x, \u0026y);",""," width = Columns * gui.char_width + base_width;"," height = Rows * gui.char_height + base_height;",""," if (fit_to_display)"," {","\tgui_mch_get_screen_dimensions(\u0026screen_w, \u0026screen_h);","\tif ((direction \u0026 RESIZE_HOR) \u0026\u0026 width \u003e screen_w)","\t{","\t Columns = (screen_w - base_width) / gui.char_width;","\t if (Columns \u003c MIN_COLUMNS)","\t\tColumns = MIN_COLUMNS;","\t width = Columns * gui.char_width + base_width;","#ifdef FEAT_GUI_GTK","\t ++did_adjust;","#endif","\t}","\tif ((direction \u0026 RESIZE_VERT) \u0026\u0026 height \u003e screen_h)","\t{","\t Rows = (screen_h - base_height) / gui.char_height;","\t check_shellsize();","\t height = Rows * gui.char_height + base_height;","#ifdef FEAT_GUI_GTK","\t ++did_adjust;","#endif","\t}","#ifdef FEAT_GUI_GTK","\tif (did_adjust == 2 || (width + gui.char_width \u003e= screen_w","\t\t\t\t \u0026\u0026 height + gui.char_height \u003e= screen_h))","\t // don't unmaximize if at maximum size","\t un_maximize = FALSE;","#endif"," }"," limit_screen_size();"," gui.num_cols = Columns;"," gui.num_rows = Rows;",""," min_width = base_width + MIN_COLUMNS * gui.char_width;"," min_height = base_height + MIN_LINES * gui.char_height;"," min_height += tabline_height() * gui.char_height;","","#ifdef FEAT_GUI_GTK"," if (un_maximize)"," {","\t// If the window size is smaller than the screen unmaximize the","\t// window, otherwise resizing won't work.","\tgui_mch_get_screen_dimensions(\u0026screen_w, \u0026screen_h);","\tif ((width + gui.char_width \u003c screen_w","\t\t\t\t || height + gui.char_height * 2 \u003c screen_h)","\t\t\u0026\u0026 gui_mch_maximized())","\t gui_mch_unmaximize();"," }","#endif",""," gui_mch_set_shellsize(width, height, min_width, min_height,","\t\t\t\t\t base_width, base_height, direction);",""," if (fit_to_display \u0026\u0026 x \u003e= 0 \u0026\u0026 y \u003e= 0)"," {","\t// Some window managers put the Vim window left of/above the screen.","\t// Only change the position if it wasn't already negative before","\t// (happens on MS-Windows with a secondary monitor).","\tgui_mch_update();","\tif (gui_mch_get_winpos(\u0026x, \u0026y) == OK \u0026\u0026 (x \u003c 0 || y \u003c 0))","\t gui_mch_set_winpos(x \u003c 0 ? 0 : x, y \u003c 0 ? 0 : y);"," }",""," gui_position_components(width);"," gui_update_scrollbars(TRUE);"," gui_reset_scroll_region();","}","","/*"," * Called when Rows and/or Columns has changed."," */"," void","gui_new_shellsize(void)","{"," gui_reset_scroll_region();","}","","/*"," * Make scroll region cover whole screen."," */"," static void","gui_reset_scroll_region(void)","{"," gui.scroll_region_top = 0;"," gui.scroll_region_bot = gui.num_rows - 1;"," gui.scroll_region_left = 0;"," gui.scroll_region_right = gui.num_cols - 1;","}",""," static void","gui_start_highlight(int mask)","{"," if (mask \u003e HL_ALL)\t\t // highlight code","\tgui.highlight_mask = mask;"," else\t\t\t // mask","\tgui.highlight_mask |= mask;","}",""," void","gui_stop_highlight(int mask)","{"," if (mask \u003e HL_ALL)\t\t // highlight code","\tgui.highlight_mask = HL_NORMAL;"," else\t\t\t // mask","\tgui.highlight_mask \u0026= ~mask;","}","","/*"," * Clear a rectangular region of the screen from text pos (row1, col1) to"," * (row2, col2) inclusive."," */"," void","gui_clear_block("," int\t row1,"," int\t col1,"," int\t row2,"," int\t col2)","{"," // Clear the selection if we are about to write over it"," clip_may_clear_selection(row1, row2);",""," gui_mch_clear_block(row1, col1, row2, col2);",""," // Invalidate cursor if it was in this block"," if ( gui.cursor_row \u003e= row1 \u0026\u0026 gui.cursor_row \u003c= row2","\t \u0026\u0026 gui.cursor_col \u003e= col1 \u0026\u0026 gui.cursor_col \u003c= col2)","\tgui.cursor_is_valid = FALSE;","}","","/*"," * Write code to update the cursor later. This avoids the need to flush the"," * output buffer before calling gui_update_cursor()."," */"," void","gui_update_cursor_later(void)","{"," OUT_STR(\"\\033|s\");","}",""," void","gui_write("," char_u\t*s,"," int\t\tlen)","{"," char_u\t*p;"," int\t\targ1 = 0, arg2 = 0;"," int\t\tforce_cursor = FALSE;\t// force cursor update"," int\t\tforce_scrollbar = FALSE;"," static win_T\t*old_curwin = NULL;","","// #define DEBUG_GUI_WRITE","#ifdef DEBUG_GUI_WRITE"," {","\tint i;","\tchar_u *str;","","\tprintf(\"gui_write(%d):\\n \", len);","\tfor (i = 0; i \u003c len; i++)","\t if (s[i] == ESC)","\t {","\t\tif (i != 0)","\t\t printf(\"\\n \");","\t\tprintf(\"\u003cESC\u003e\");","\t }","\t else","\t {","\t\tstr = transchar_byte(s[i]);","\t\tif (str[0] \u0026\u0026 str[1])","\t\t printf(\"\u003c%s\u003e\", (char *)str);","\t\telse","\t\t printf(\"%s\", (char *)str);","\t }","\tprintf(\"\\n\");"," }","#endif"," while (len)"," {","\tif (s[0] == ESC \u0026\u0026 s[1] == '|')","\t{","\t p = s + 2;","\t if (VIM_ISDIGIT(*p) || (*p == '-' \u0026\u0026 VIM_ISDIGIT(*(p + 1))))","\t {","\t\targ1 = getdigits(\u0026p);","\t\tif (p \u003e s + len)","\t\t break;","\t\tif (*p == ';')","\t\t{","\t\t ++p;","\t\t arg2 = getdigits(\u0026p);","\t\t if (p \u003e s + len)","\t\t\tbreak;","\t\t}","\t }","\t switch (*p)","\t {","\t\tcase 'C':\t// Clear screen","\t\t clip_scroll_selection(9999);","\t\t gui_mch_clear_all();","\t\t gui.cursor_is_valid = FALSE;","\t\t force_scrollbar = TRUE;","\t\t break;","\t\tcase 'M':\t// Move cursor","\t\t gui_set_cursor(arg1, arg2);","\t\t break;","\t\tcase 's':\t// force cursor (shape) update","\t\t force_cursor = TRUE;","\t\t break;","\t\tcase 'R':\t// Set scroll region","\t\t if (arg1 \u003c arg2)","\t\t {","\t\t\tgui.scroll_region_top = arg1;","\t\t\tgui.scroll_region_bot = arg2;","\t\t }","\t\t else","\t\t {","\t\t\tgui.scroll_region_top = arg2;","\t\t\tgui.scroll_region_bot = arg1;","\t\t }","\t\t break;","\t\tcase 'V':\t// Set vertical scroll region","\t\t if (arg1 \u003c arg2)","\t\t {","\t\t\tgui.scroll_region_left = arg1;","\t\t\tgui.scroll_region_right = arg2;","\t\t }","\t\t else","\t\t {","\t\t\tgui.scroll_region_left = arg2;","\t\t\tgui.scroll_region_right = arg1;","\t\t }","\t\t break;","\t\tcase 'd':\t// Delete line","\t\t gui_delete_lines(gui.row, 1);","\t\t break;","\t\tcase 'D':\t// Delete lines","\t\t gui_delete_lines(gui.row, arg1);","\t\t break;","\t\tcase 'i':\t// Insert line","\t\t gui_insert_lines(gui.row, 1);","\t\t break;","\t\tcase 'I':\t// Insert lines","\t\t gui_insert_lines(gui.row, arg1);","\t\t break;","\t\tcase '$':\t// Clear to end-of-line","\t\t gui_clear_block(gui.row, gui.col, gui.row,","\t\t\t\t\t\t\t (int)Columns - 1);","\t\t break;","\t\tcase 'h':\t// Turn on highlighting","\t\t gui_start_highlight(arg1);","\t\t break;","\t\tcase 'H':\t// Turn off highlighting","\t\t gui_stop_highlight(arg1);","\t\t break;","\t\tcase 'f':\t// flash the window (visual bell)","\t\t gui_mch_flash(arg1 == 0 ? 20 : arg1);","\t\t break;","\t\tdefault:","\t\t p = s + 1;\t// Skip the ESC","\t\t break;","\t }","\t len -= (int)(++p - s);","\t s = p;","\t}","\telse if (s[0] \u003c 0x20\t\t// Ctrl character","#ifdef FEAT_SIGN_ICONS","\t\t\u0026\u0026 s[0] != SIGN_BYTE","# ifdef FEAT_NETBEANS_INTG","\t\t\u0026\u0026 s[0] != MULTISIGN_BYTE","# endif","#endif","\t\t)","\t{","\t if (s[0] == '\\n')\t\t// NL","\t {","\t\tgui.col = 0;","\t\tif (gui.row \u003c gui.scroll_region_bot)","\t\t gui.row++;","\t\telse","\t\t gui_delete_lines(gui.scroll_region_top, 1);","\t }","\t else if (s[0] == '\\r')\t// CR","\t {","\t\tgui.col = 0;","\t }","\t else if (s[0] == '\\b')\t// Backspace","\t {","\t\tif (gui.col)","\t\t --gui.col;","\t }","\t else if (s[0] == Ctrl_L)\t// cursor-right","\t {","\t\t++gui.col;","\t }","\t else if (s[0] == Ctrl_G)\t// Beep","\t {","\t\tgui_mch_beep();","\t }","\t // Other Ctrl character: shouldn't happen!","","\t --len;\t// Skip this char","\t ++s;","\t}","\telse","\t{","\t p = s;","\t while (len \u003e 0 \u0026\u0026 (","\t\t\t*p \u003e= 0x20","#ifdef FEAT_SIGN_ICONS","\t\t\t|| *p == SIGN_BYTE","# ifdef FEAT_NETBEANS_INTG","\t\t\t|| *p == MULTISIGN_BYTE","# endif","#endif","\t\t\t))","\t {","\t\tlen--;","\t\tp++;","\t }","\t gui_outstr(s, (int)(p - s));","\t s = p;","\t}"," }",""," // Postponed update of the cursor (won't work if \"can_update_cursor\" isn't"," // set)."," if (force_cursor)","\tgui_update_cursor(TRUE, TRUE);",""," // When switching to another window the dragging must have stopped."," // Required for GTK, dragged_sb isn't reset."," if (old_curwin != curwin)","\tgui.dragged_sb = SBAR_NONE;",""," // Update the scrollbars after clearing the screen or when switched"," // to another window."," // Update the horizontal scrollbar always, it's difficult to check all"," // situations where it might change."," if (force_scrollbar || old_curwin != curwin)","\tgui_update_scrollbars(force_scrollbar);"," else","\tgui_update_horiz_scrollbar(FALSE);"," old_curwin = curwin;",""," /*"," * We need to make sure this is cleared since GTK doesn't tell us when"," * the user is done dragging."," */","#if defined(FEAT_GUI_GTK)"," gui.dragged_sb = SBAR_NONE;","#endif",""," gui_may_flush();\t\t // In case vim decides to take a nap","}","","/*"," * When ScreenLines[] is invalid, updating the cursor should not be done, it"," * produces wrong results. Call gui_dont_update_cursor() before that code and"," * gui_can_update_cursor() afterwards."," */"," void","gui_dont_update_cursor(int undraw)","{"," if (!gui.in_use)","\treturn;",""," // Undraw the cursor now, we probably can't do it after the change."," if (undraw)","\tgui_undraw_cursor();"," can_update_cursor = FALSE;","}",""," void","gui_can_update_cursor(void)","{"," can_update_cursor = TRUE;"," // No need to update the cursor right now, there is always more output"," // after scrolling.","}","","/*"," * Disable issuing gui_mch_flush()."," */"," void","gui_disable_flush(void)","{"," ++disable_flush;","}","","/*"," * Enable issuing gui_mch_flush()."," */"," void","gui_enable_flush(void)","{"," --disable_flush;","}","","/*"," * Issue gui_mch_flush() if it is not disabled."," */"," void","gui_may_flush(void)","{"," if (disable_flush == 0)","\tgui_mch_flush();","}",""," static void","gui_outstr(char_u *s, int len)","{"," int\t this_len;"," int\t cells;",""," if (len == 0)","\treturn;",""," if (len \u003c 0)","\tlen = (int)STRLEN(s);",""," while (len \u003e 0)"," {","\tif (has_mbyte)","\t{","\t // Find out how many chars fit in the current line.","\t cells = 0;","\t for (this_len = 0; this_len \u003c len; )","\t {","\t\tcells += (*mb_ptr2cells)(s + this_len);","\t\tif (gui.col + cells \u003e Columns)","\t\t break;","\t\tthis_len += (*mb_ptr2len)(s + this_len);","\t }","\t if (this_len \u003e len)","\t\tthis_len = len;\t // don't include following composing char","\t}","\telse if (gui.col + len \u003e Columns)","\t this_len = Columns - gui.col;","\telse","\t this_len = len;","","\t(void)gui_outstr_nowrap(s, this_len,","\t\t\t\t\t 0, (guicolor_T)0, (guicolor_T)0, 0);","\ts += this_len;","\tlen -= this_len;","\t// fill up for a double-width char that doesn't fit.","\tif (len \u003e 0 \u0026\u0026 gui.col \u003c Columns)","\t (void)gui_outstr_nowrap((char_u *)\" \", 1,","\t\t\t\t\t 0, (guicolor_T)0, (guicolor_T)0, 0);","\t// The cursor may wrap to the next line.","\tif (gui.col \u003e= Columns)","\t{","\t gui.col = 0;","\t gui.row++;","\t}"," }","}","","/*"," * Output one character (may be one or two display cells)."," * Caller must check for valid \"off\"."," * Returns FAIL or OK, just like gui_outstr_nowrap()."," */"," static int","gui_screenchar("," int\t\toff,\t // Offset from start of screen"," int\t\tflags,"," guicolor_T\tfg,\t // colors for cursor"," guicolor_T\tbg,\t // colors for cursor"," int\t\tback)\t // backup this many chars when using bold trick","{"," char_u\tbuf[MB_MAXBYTES + 1];",""," // Don't draw right half of a double-width UTF-8 char. \"cannot happen\""," if (enc_utf8 \u0026\u0026 ScreenLines[off] == 0)","\treturn OK;",""," if (enc_utf8 \u0026\u0026 ScreenLinesUC[off] != 0)","\t// Draw UTF-8 multi-byte character.","\treturn gui_outstr_nowrap(buf, utfc_char2bytes(off, buf),","\t\t\t\t\t\t\t flags, fg, bg, back);",""," if (enc_dbcs == DBCS_JPNU \u0026\u0026 ScreenLines[off] == 0x8e)"," {","\tbuf[0] = ScreenLines[off];","\tbuf[1] = ScreenLines2[off];","\treturn gui_outstr_nowrap(buf, 2, flags, fg, bg, back);"," }",""," // Draw non-multi-byte character or DBCS character."," return gui_outstr_nowrap(ScreenLines + off,","\t enc_dbcs ? (*mb_ptr2len)(ScreenLines + off) : 1,","\t\t\t\t\t\t\t flags, fg, bg, back);","}","","#ifdef FEAT_GUI_GTK","/*"," * Output the string at the given screen position. This is used in place"," * of gui_screenchar() where possible because Pango needs as much context"," * as possible to work nicely. It's a lot faster as well."," */"," static int","gui_screenstr("," int\t\toff,\t // Offset from start of screen"," int\t\tlen,\t // string length in screen cells"," int\t\tflags,"," guicolor_T\tfg,\t // colors for cursor"," guicolor_T\tbg,\t // colors for cursor"," int\t\tback)\t // backup this many chars when using bold trick","{"," char_u *buf;"," int\t outlen = 0;"," int\t i;"," int\t retval;",""," if (len \u003c= 0) // \"cannot happen\"?","\treturn OK;",""," if (enc_utf8)"," {","\tbuf = alloc(len * MB_MAXBYTES + 1);","\tif (buf == NULL)","\t return OK; // not much we could do here...","","\tfor (i = off; i \u003c off + len; ++i)","\t{","\t if (ScreenLines[i] == 0)","\t\tcontinue; // skip second half of double-width char","","\t if (ScreenLinesUC[i] == 0)","\t\tbuf[outlen++] = ScreenLines[i];","\t else","\t\toutlen += utfc_char2bytes(i, buf + outlen);","\t}","","\tbuf[outlen] = NUL; // only to aid debugging","\tretval = gui_outstr_nowrap(buf, outlen, flags, fg, bg, back);","\tvim_free(buf);","","\treturn retval;"," }"," else if (enc_dbcs == DBCS_JPNU)"," {","\tbuf = alloc(len * 2 + 1);","\tif (buf == NULL)","\t return OK; // not much we could do here...","","\tfor (i = off; i \u003c off + len; ++i)","\t{","\t buf[outlen++] = ScreenLines[i];","","\t // handle double-byte single-width char","\t if (ScreenLines[i] == 0x8e)","\t\tbuf[outlen++] = ScreenLines2[i];","\t else if (MB_BYTE2LEN(ScreenLines[i]) == 2)","\t\tbuf[outlen++] = ScreenLines[++i];","\t}","","\tbuf[outlen] = NUL; // only to aid debugging","\tretval = gui_outstr_nowrap(buf, outlen, flags, fg, bg, back);","\tvim_free(buf);","","\treturn retval;"," }"," else"," {","\treturn gui_outstr_nowrap(\u0026ScreenLines[off], len,","\t\t\t\t flags, fg, bg, back);"," }","}","#endif // FEAT_GUI_GTK","","/*"," * Output the given string at the current cursor position. If the string is"," * too long to fit on the line, then it is truncated."," * \"flags\":"," * GUI_MON_IS_CURSOR should only be used when this function is being called to"," * actually draw (an inverted) cursor."," * GUI_MON_TRS_CURSOR is used to draw the cursor text with a transparent"," * background."," * GUI_MON_NOCLEAR is used to avoid clearing the selection when drawing over"," * it."," * Returns OK, unless \"back\" is non-zero and using the bold trick, then return"," * FAIL (the caller should start drawing \"back\" chars back)."," */"," static int","gui_outstr_nowrap("," char_u\t*s,"," int\t\tlen,"," int\t\tflags,"," guicolor_T\tfg,\t // colors for cursor"," guicolor_T\tbg,\t // colors for cursor"," int\t\tback)\t // backup this many chars when using bold trick","{"," long_u\thighlight_mask;"," long_u\thl_mask_todo;"," guicolor_T\tfg_color;"," guicolor_T\tbg_color;"," guicolor_T\tsp_color;","#if !defined(FEAT_GUI_GTK)"," GuiFont\tfont = NOFONT;"," GuiFont\twide_font = NOFONT;","# ifdef FEAT_XFONTSET"," GuiFontset\tfontset = NOFONTSET;","# endif","#endif"," attrentry_T\t*aep = NULL;"," int\t\tdraw_flags;"," int\t\tcol = gui.col;","#ifdef FEAT_SIGN_ICONS"," int\t\tdraw_sign = FALSE;"," int\t\tsigncol = 0;"," char_u\textra[18];","# ifdef FEAT_NETBEANS_INTG"," int\t\tmulti_sign = FALSE;","# endif","#endif",""," if (len \u003c 0)","\tlen = (int)STRLEN(s);"," if (len == 0)","\treturn OK;","","#ifdef FEAT_SIGN_ICONS"," if (*s == SIGN_BYTE","# ifdef FEAT_NETBEANS_INTG","\t || *s == MULTISIGN_BYTE","# endif"," )"," {","# ifdef FEAT_NETBEANS_INTG","\tif (*s == MULTISIGN_BYTE)","\t multi_sign = TRUE;","# endif","\t// draw spaces instead","\tif (*curwin-\u003ew_p_scl == 'n' \u0026\u0026 *(curwin-\u003ew_p_scl + 1) == 'u' \u0026\u0026","\t\t(curwin-\u003ew_p_nu || curwin-\u003ew_p_rnu))","\t{","\t sprintf((char *)extra, \"%*c \", number_width(curwin), ' ');","\t s = extra;","\t}","\telse","\t s = (char_u *)\" \";","\tif (len == 1 \u0026\u0026 col \u003e 0)","\t --col;","\tlen = (int)STRLEN(s);","\tif (len \u003e 2)","\t // right align sign icon in the number column","\t signcol = col + len - 3;","\telse","\t signcol = col;","\tdraw_sign = TRUE;","\thighlight_mask = 0;"," }"," else","#endif"," if (gui.highlight_mask \u003e HL_ALL)"," {","\taep = syn_gui_attr2entry(gui.highlight_mask);","\tif (aep == NULL)\t // highlighting not set","\t highlight_mask = 0;","\telse","\t highlight_mask = aep-\u003eae_attr;"," }"," else","\thighlight_mask = gui.highlight_mask;"," hl_mask_todo = highlight_mask;","","#if !defined(FEAT_GUI_GTK)"," // Set the font"," if (aep != NULL \u0026\u0026 aep-\u003eae_u.gui.font != NOFONT)","\tfont = aep-\u003eae_u.gui.font;","# ifdef FEAT_XFONTSET"," else if (aep != NULL \u0026\u0026 aep-\u003eae_u.gui.fontset != NOFONTSET)","\tfontset = aep-\u003eae_u.gui.fontset;","# endif"," else"," {","# ifdef FEAT_XFONTSET","\tif (gui.fontset != NOFONTSET)","\t fontset = gui.fontset;","\telse","# endif","\t if (hl_mask_todo \u0026 (HL_BOLD | HL_STANDOUT))","\t{","\t if ((hl_mask_todo \u0026 HL_ITALIC) \u0026\u0026 gui.boldital_font != NOFONT)","\t {","\t\tfont = gui.boldital_font;","\t\thl_mask_todo \u0026= ~(HL_BOLD | HL_STANDOUT | HL_ITALIC);","\t }","\t else if (gui.bold_font != NOFONT)","\t {","\t\tfont = gui.bold_font;","\t\thl_mask_todo \u0026= ~(HL_BOLD | HL_STANDOUT);","\t }","\t else","\t\tfont = gui.norm_font;","\t}","\telse if ((hl_mask_todo \u0026 HL_ITALIC) \u0026\u0026 gui.ital_font != NOFONT)","\t{","\t font = gui.ital_font;","\t hl_mask_todo \u0026= ~HL_ITALIC;","\t}","\telse","\t font = gui.norm_font;","","\t/*","\t * Choose correct wide_font by font. wide_font should be set with font","\t * at same time in above block. But it will make many \"ifdef\" nasty","\t * blocks. So we do it here.","\t */","\tif (font == gui.boldital_font \u0026\u0026 gui.wide_boldital_font)","\t wide_font = gui.wide_boldital_font;","\telse if (font == gui.bold_font \u0026\u0026 gui.wide_bold_font)","\t wide_font = gui.wide_bold_font;","\telse if (font == gui.ital_font \u0026\u0026 gui.wide_ital_font)","\t wide_font = gui.wide_ital_font;","\telse if (font == gui.norm_font \u0026\u0026 gui.wide_font)","\t wide_font = gui.wide_font;"," }","# ifdef FEAT_XFONTSET"," if (fontset != NOFONTSET)","\tgui_mch_set_fontset(fontset);"," else","# endif","\tgui_mch_set_font(font);","#endif",""," draw_flags = 0;",""," // Set the color"," bg_color = gui.back_pixel;"," if ((flags \u0026 GUI_MON_IS_CURSOR) \u0026\u0026 gui.in_focus)"," {","\tdraw_flags |= DRAW_CURSOR;","\tfg_color = fg;","\tbg_color = bg;","\tsp_color = fg;"," }"," else if (aep != NULL)"," {","\tfg_color = aep-\u003eae_u.gui.fg_color;","\tif (fg_color == INVALCOLOR)","\t fg_color = gui.norm_pixel;","\tbg_color = aep-\u003eae_u.gui.bg_color;","\tif (bg_color == INVALCOLOR)","\t bg_color = gui.back_pixel;","\tsp_color = aep-\u003eae_u.gui.sp_color;","\tif (sp_color == INVALCOLOR)","\t sp_color = fg_color;"," }"," else"," {","\tfg_color = gui.norm_pixel;","\tsp_color = fg_color;"," }",""," if (highlight_mask \u0026 (HL_INVERSE | HL_STANDOUT))"," {","\tgui_mch_set_fg_color(bg_color);","\tgui_mch_set_bg_color(fg_color);"," }"," else"," {","\tgui_mch_set_fg_color(fg_color);","\tgui_mch_set_bg_color(bg_color);"," }"," gui_mch_set_sp_color(sp_color);",""," // Clear the selection if we are about to write over it"," if (!(flags \u0026 GUI_MON_NOCLEAR))","\tclip_may_clear_selection(gui.row, gui.row);","",""," // If there's no bold font, then fake it"," if (hl_mask_todo \u0026 (HL_BOLD | HL_STANDOUT))","\tdraw_flags |= DRAW_BOLD;",""," /*"," * When drawing bold or italic characters the spill-over from the left"," * neighbor may be destroyed. Let the caller backup to start redrawing"," * just after a blank."," */"," if (back != 0 \u0026\u0026 ((draw_flags \u0026 DRAW_BOLD) || (highlight_mask \u0026 HL_ITALIC)))","\treturn FAIL;","","#if defined(FEAT_GUI_GTK)"," // If there's no italic font, then fake it."," // For GTK2, we don't need a different font for italic style."," if (hl_mask_todo \u0026 HL_ITALIC)","\tdraw_flags |= DRAW_ITALIC;",""," // Do we underline the text?"," if (hl_mask_todo \u0026 HL_UNDERLINE)","\tdraw_flags |= DRAW_UNDERL;","","#else"," // Do we underline the text?"," if ((hl_mask_todo \u0026 HL_UNDERLINE) || (hl_mask_todo \u0026 HL_ITALIC))","\tdraw_flags |= DRAW_UNDERL;","#endif"," // Do we undercurl the text?"," if (hl_mask_todo \u0026 HL_UNDERCURL)","\tdraw_flags |= DRAW_UNDERC;",""," // TODO: HL_UNDERDOUBLE, HL_UNDERDOTTED, HL_UNDERDASHED",""," // Do we strikethrough the text?"," if (hl_mask_todo \u0026 HL_STRIKETHROUGH)","\tdraw_flags |= DRAW_STRIKE;",""," // Do we draw transparently?"," if (flags \u0026 GUI_MON_TRS_CURSOR)","\tdraw_flags |= DRAW_TRANSP;",""," /*"," * Draw the text."," */","#ifdef FEAT_GUI_GTK"," // The value returned is the length in display cells"," len = gui_gtk2_draw_string(gui.row, col, s, len, draw_flags);","#else"," if (enc_utf8)"," {","\tint\tstart;\t\t// index of bytes to be drawn","\tint\tcells;\t\t// cellwidth of bytes to be drawn","\tint\tthislen;\t// length of bytes to be drawn","\tint\tcn;\t\t// cellwidth of current char","\tint\ti;\t\t// index of current char","\tint\tc;\t\t// current char value","\tint\tcl;\t\t// byte length of current char","\tint\tcomping;\t// current char is composing","\tint\tscol = col;\t// screen column","\tint\tcurr_wide = FALSE; // use 'guifontwide'","\tint\tprev_wide = FALSE;","\tint\twide_changed;","# ifdef MSWIN","\tint\tsep_comp = FALSE; // Don't separate composing chars.","# else","\tint\tsep_comp = TRUE; // Separate composing chars.","# endif","","\t// Break the string at a composing character, it has to be drawn on","\t// top of the previous character.","\tstart = 0;","\tcells = 0;","\tfor (i = 0; i \u003c len; i += cl)","\t{","\t c = utf_ptr2char(s + i);","\t cn = utf_char2cells(c);","\t comping = utf_iscomposing(c);","\t if (!comping)\t// count cells from non-composing chars","\t\tcells += cn;","\t if (!comping || sep_comp)","\t {","\t\tif (cn \u003e 1","# ifdef FEAT_XFONTSET","\t\t\t\u0026\u0026 fontset == NOFONTSET","# endif","\t\t\t\u0026\u0026 wide_font != NOFONT)","\t\t curr_wide = TRUE;","\t\telse","\t\t curr_wide = FALSE;","\t }","\t cl = utf_ptr2len(s + i);","\t if (cl == 0)\t// hit end of string","\t\tlen = i + cl;\t// len must be wrong \"cannot happen\"","","\t wide_changed = curr_wide != prev_wide;","","\t // Print the string so far if it's the last character or there is","\t // a composing character.","\t if (i + cl \u003e= len || (comping \u0026\u0026 sep_comp \u0026\u0026 i \u003e start)","\t\t || wide_changed","# if defined(FEAT_GUI_X11)","\t\t || (cn \u003e 1","# ifdef FEAT_XFONTSET","\t\t\t// No fontset: At least draw char after wide char at","\t\t\t// right position.","\t\t\t\u0026\u0026 fontset == NOFONTSET","# endif","\t\t )","# endif","\t )","\t {","\t\tif ((comping \u0026\u0026 sep_comp) || wide_changed)","\t\t thislen = i - start;","\t\telse","\t\t thislen = i - start + cl;","\t\tif (thislen \u003e 0)","\t\t{","\t\t if (prev_wide)","\t\t\tgui_mch_set_font(wide_font);","\t\t gui_mch_draw_string(gui.row, scol, s + start, thislen,","\t\t\t\t\t\t\t\t draw_flags);","\t\t if (prev_wide)","\t\t\tgui_mch_set_font(font);","\t\t start += thislen;","\t\t}","\t\tscol += cells;","\t\tcells = 0;","\t\t// Adjust to not draw a character which width is changed","\t\t// against with last one.","\t\tif (wide_changed \u0026\u0026 !(comping \u0026\u0026 sep_comp))","\t\t{","\t\t scol -= cn;","\t\t cl = 0;","\t\t}","","# if defined(FEAT_GUI_X11)","\t\t// No fontset: draw a space to fill the gap after a wide char","\t\t//","\t\tif (cn \u003e 1 \u0026\u0026 (draw_flags \u0026 DRAW_TRANSP) == 0","# ifdef FEAT_XFONTSET","\t\t\t\u0026\u0026 fontset == NOFONTSET","# endif","\t\t\t\u0026\u0026 !wide_changed)","\t\t gui_mch_draw_string(gui.row, scol - 1, (char_u *)\" \",","\t\t\t\t\t\t\t 1, draw_flags);","# endif","\t }","\t // Draw a composing char on top of the previous char.","\t if (comping \u0026\u0026 sep_comp)","\t {","# if defined(__APPLE_CC__) \u0026\u0026 TARGET_API_MAC_CARBON","\t\t// Carbon ATSUI autodraws composing char over previous char","\t\tgui_mch_draw_string(gui.row, scol, s + i, cl,","\t\t\t\t\t\t draw_flags | DRAW_TRANSP);","# else","\t\tgui_mch_draw_string(gui.row, scol - cn, s + i, cl,","\t\t\t\t\t\t draw_flags | DRAW_TRANSP);","# endif","\t\tstart = i + cl;","\t }","\t prev_wide = curr_wide;","\t}","\t// The stuff below assumes \"len\" is the length in screen columns.","\tlen = scol - col;"," }"," else"," {","\tgui_mch_draw_string(gui.row, col, s, len, draw_flags);","\tif (enc_dbcs == DBCS_JPNU)","\t{","\t // Get the length in display cells, this can be different from the","\t // number of bytes for \"euc-jp\".","\t len = mb_string2cells(s, len);","\t}"," }","#endif // !FEAT_GUI_GTK",""," if (!(flags \u0026 (GUI_MON_IS_CURSOR | GUI_MON_TRS_CURSOR)))","\tgui.col = col + len;",""," // May need to invert it when it's part of the selection."," if (flags \u0026 GUI_MON_NOCLEAR)","\tclip_may_redraw_selection(gui.row, col, len);",""," if (!(flags \u0026 (GUI_MON_IS_CURSOR | GUI_MON_TRS_CURSOR)))"," {","\t// Invalidate the old physical cursor position if we wrote over it","\tif (gui.cursor_row == gui.row","\t\t\u0026\u0026 gui.cursor_col \u003e= col","\t\t\u0026\u0026 gui.cursor_col \u003c col + len)","\t gui.cursor_is_valid = FALSE;"," }","","#ifdef FEAT_SIGN_ICONS"," if (draw_sign)","\t// Draw the sign on top of the spaces.","\tgui_mch_drawsign(gui.row, signcol, gui.highlight_mask);","# if defined(FEAT_NETBEANS_INTG) \u0026\u0026 (defined(FEAT_GUI_X11) \\","\t|| defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MSWIN))"," if (multi_sign)","\tnetbeans_draw_multisign_indicator(gui.row);","# endif","#endif",""," return OK;","}","","/*"," * Undraw the cursor. This actually redraws the character at the cursor"," * position, plus some more characters when needed."," */"," void","gui_undraw_cursor(void)","{"," if (!gui.cursor_is_valid)","\treturn;",""," // Always redraw the character just before if there is one, because"," // with some fonts and characters there can be a one pixel overlap."," int startcol = gui.cursor_col \u003e 0 ? gui.cursor_col - 1 : gui.cursor_col;"," int endcol = gui.cursor_col;","","#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MSWIN)"," gui_adjust_undraw_cursor_for_ligatures(\u0026startcol, \u0026endcol);","#endif"," gui_redraw_block(gui.cursor_row, startcol,","\t gui.cursor_row, endcol, GUI_MON_NOCLEAR);",""," // Cursor_is_valid is reset when the cursor is undrawn, also reset it"," // here in case it wasn't needed to undraw it."," gui.cursor_is_valid = FALSE;","}",""," void","gui_redraw("," int\t\tx,"," int\t\ty,"," int\t\tw,"," int\t\th)","{"," int\t\trow1, col1, row2, col2;",""," row1 = Y_2_ROW(y);"," col1 = X_2_COL(x);"," row2 = Y_2_ROW(y + h - 1);"," col2 = X_2_COL(x + w - 1);",""," gui_redraw_block(row1, col1, row2, col2, GUI_MON_NOCLEAR);",""," /*"," * We may need to redraw the cursor, but don't take it upon us to change"," * its location after a scroll."," * (maybe be more strict even and test col too?)"," * These things may be outside the update/clipping region and reality may"," * not reflect Vims internal ideas if these operations are clipped away."," */"," if (gui.row == gui.cursor_row)","\tgui_update_cursor(TRUE, TRUE);","}","","/*"," * Draw a rectangular block of characters, from row1 to row2 (inclusive) and"," * from col1 to col2 (inclusive)."," */"," void","gui_redraw_block("," int\t\trow1,"," int\t\tcol1,"," int\t\trow2,"," int\t\tcol2,"," int\t\tflags)\t// flags for gui_outstr_nowrap()","{"," int\t\told_row, old_col;"," long_u\told_hl_mask;"," int\t\toff;"," sattr_T\tfirst_attr;"," int\t\tidx, len;"," int\t\tback, nback;"," int\t\torig_col1, orig_col2;",""," // Don't try to update when ScreenLines is not valid"," if (!screen_cleared || ScreenLines == NULL)","\treturn;",""," // Don't try to draw outside the shell!"," // Check everything, strange values may be caused by a big border width"," col1 = check_col(col1);"," col2 = check_col(col2);"," row1 = check_row(row1);"," row2 = check_row(row2);",""," // Remember where our cursor was"," old_row = gui.row;"," old_col = gui.col;"," old_hl_mask = gui.highlight_mask;"," orig_col1 = col1;"," orig_col2 = col2;",""," for (gui.row = row1; gui.row \u003c= row2; gui.row++)"," {","\t// When only half of a double-wide character is in the block, include","\t// the other half.","\tcol1 = orig_col1;","\tcol2 = orig_col2;","\toff = LineOffset[gui.row];","\tif (enc_dbcs != 0)","\t{","\t if (col1 \u003e 0)","\t\tcol1 -= dbcs_screen_head_off(ScreenLines + off,","\t\t\t\t\t\t ScreenLines + off + col1);","\t col2 += dbcs_screen_tail_off(ScreenLines + off,","\t\t\t\t\t\t ScreenLines + off + col2);","\t}","\telse if (enc_utf8)","\t{","\t if (ScreenLines[off + col1] == 0)","\t {","\t\tif (col1 \u003e 0)","\t\t --col1;","\t\telse","\t\t // FIXME: how can the first character ever be zero?","\t\t siemsg(\"NUL in ScreenLines in row %ld\", (long)gui.row);","\t }","#ifdef FEAT_GUI_GTK","\t if (col2 + 1 \u003c Columns \u0026\u0026 ScreenLines[off + col2 + 1] == 0)","\t\t++col2;","#endif","\t}","\tgui.col = col1;","\toff = LineOffset[gui.row] + gui.col;","\tlen = col2 - col1 + 1;","","\t// Find how many chars back this highlighting starts, or where a space","\t// is. Needed for when the bold trick is used","\tfor (back = 0; back \u003c col1; ++back)","\t if (ScreenAttrs[off - 1 - back] != ScreenAttrs[off]","\t\t || ScreenLines[off - 1 - back] == ' ')","\t\tbreak;","","\t// Break it up in strings of characters with the same attributes.","\t// Print UTF-8 characters individually.","\twhile (len \u003e 0)","\t{","\t first_attr = ScreenAttrs[off];","\t gui.highlight_mask = first_attr;","#if !defined(FEAT_GUI_GTK)","\t if (enc_utf8 \u0026\u0026 ScreenLinesUC[off] != 0)","\t {","\t\t// output multi-byte character separately","\t\tnback = gui_screenchar(off, flags,","\t\t\t\t\t (guicolor_T)0, (guicolor_T)0, back);","\t\tif (gui.col \u003c Columns \u0026\u0026 ScreenLines[off + 1] == 0)","\t\t idx = 2;","\t\telse","\t\t idx = 1;","\t }","\t else if (enc_dbcs == DBCS_JPNU \u0026\u0026 ScreenLines[off] == 0x8e)","\t {","\t\t// output double-byte, single-width character separately","\t\tnback = gui_screenchar(off, flags,","\t\t\t\t\t (guicolor_T)0, (guicolor_T)0, back);","\t\tidx = 1;","\t }","\t else","#endif","\t {","#ifdef FEAT_GUI_GTK","\t\tfor (idx = 0; idx \u003c len; ++idx)","\t\t{","\t\t if (enc_utf8 \u0026\u0026 ScreenLines[off + idx] == 0)","\t\t\tcontinue; // skip second half of double-width char","\t\t if (ScreenAttrs[off + idx] != first_attr)","\t\t\tbreak;","\t\t}","\t\t// gui_screenstr() takes care of multibyte chars","\t\tnback = gui_screenstr(off, idx, flags,","\t\t\t\t (guicolor_T)0, (guicolor_T)0, back);","#else","\t\tfor (idx = 0; idx \u003c len \u0026\u0026 ScreenAttrs[off + idx] == first_attr;","\t\t\t\t\t\t\t\t\tidx++)","\t\t{","\t\t // Stop at a multi-byte Unicode character.","\t\t if (enc_utf8 \u0026\u0026 ScreenLinesUC[off + idx] != 0)","\t\t\tbreak;","\t\t if (enc_dbcs == DBCS_JPNU)","\t\t {","\t\t\t// Stop at a double-byte single-width char.","\t\t\tif (ScreenLines[off + idx] == 0x8e)","\t\t\t break;","\t\t\tif (len \u003e 1 \u0026\u0026 (*mb_ptr2len)(ScreenLines","\t\t\t\t\t\t\t + off + idx) == 2)","\t\t\t ++idx; // skip second byte of double-byte char","\t\t }","\t\t}","\t\tnback = gui_outstr_nowrap(ScreenLines + off, idx, flags,","\t\t\t\t\t (guicolor_T)0, (guicolor_T)0, back);","#endif","\t }","\t if (nback == FAIL)","\t {","\t\t// Must back up to start drawing where a bold or italic word","\t\t// starts.","\t\toff -= back;","\t\tlen += back;","\t\tgui.col -= back;","\t }","\t else","\t {","\t\toff += idx;","\t\tlen -= idx;","\t }","\t back = 0;","\t}"," }",""," // Put the cursor back where it was"," gui.row = old_row;"," gui.col = old_col;"," gui.highlight_mask = (int)old_hl_mask;","}",""," static void","gui_delete_lines(int row, int count)","{"," if (count \u003c= 0)","\treturn;",""," if (row + count \u003e gui.scroll_region_bot)","\t// Scrolled out of region, just blank the lines out","\tgui_clear_block(row, gui.scroll_region_left,","\t\t\t gui.scroll_region_bot, gui.scroll_region_right);"," else"," {","\tgui_mch_delete_lines(row, count);","","\t// If the cursor was in the deleted lines it's now gone. If the","\t// cursor was in the scrolled lines adjust its position.","\tif (gui.cursor_row \u003e= row","\t\t\u0026\u0026 gui.cursor_col \u003e= gui.scroll_region_left","\t\t\u0026\u0026 gui.cursor_col \u003c= gui.scroll_region_right)","\t{","\t if (gui.cursor_row \u003c row + count)","\t\tgui.cursor_is_valid = FALSE;","\t else if (gui.cursor_row \u003c= gui.scroll_region_bot)","\t\tgui.cursor_row -= count;","\t}"," }","}",""," static void","gui_insert_lines(int row, int count)","{"," if (count \u003c= 0)","\treturn;",""," if (row + count \u003e gui.scroll_region_bot)","\t// Scrolled out of region, just blank the lines out","\tgui_clear_block(row, gui.scroll_region_left,","\t\t\t gui.scroll_region_bot, gui.scroll_region_right);"," else"," {","\tgui_mch_insert_lines(row, count);","","\tif (gui.cursor_row \u003e= gui.row","\t\t\u0026\u0026 gui.cursor_col \u003e= gui.scroll_region_left","\t\t\u0026\u0026 gui.cursor_col \u003c= gui.scroll_region_right)","\t{","\t if (gui.cursor_row \u003c= gui.scroll_region_bot - count)","\t\tgui.cursor_row += count;","\t else if (gui.cursor_row \u003c= gui.scroll_region_bot)","\t\tgui.cursor_is_valid = FALSE;","\t}"," }","}","","#ifdef FEAT_TIMERS","/*"," * Passed to ui_wait_for_chars_or_timer(), ignoring extra arguments."," */"," static int","gui_wait_for_chars_3("," long wtime,"," int *interrupted UNUSED,"," int ignore_input UNUSED)","{"," return gui_mch_wait_for_chars(wtime);","}","#endif","","/*"," * Returns OK if a character was found to be available within the given time,"," * or FAIL otherwise."," */"," static int","gui_wait_for_chars_or_timer(","\tlong wtime,","\tint *interrupted UNUSED,","\tint ignore_input UNUSED)","{","#ifdef FEAT_TIMERS"," return ui_wait_for_chars_or_timer(wtime, gui_wait_for_chars_3,","\t\t\t\t\t\t interrupted, ignore_input);","#else"," return gui_mch_wait_for_chars(wtime);","#endif","}","","/*"," * The main GUI input routine.\tWaits for a character from the keyboard."," * \"wtime\" == -1 Wait forever."," * \"wtime\" == 0\t Don't wait."," * \"wtime\" \u003e 0\t Wait wtime milliseconds for a character."," *"," * Returns the number of characters read or zero when timed out or interrupted."," * \"buf\" may be NULL, in which case a non-zero number is returned if characters"," * are available."," */"," static int","gui_wait_for_chars_buf("," char_u\t*buf,"," int\t\tmaxlen,"," long\twtime,\t // don't use \"time\", MIPS cannot handle it"," int\t\ttb_change_cnt)","{"," int\t retval;","","#ifdef FEAT_MENU"," // If we're going to wait a bit, update the menus and mouse shape for the"," // current State."," if (wtime != 0)","\tgui_update_menus(0);","#endif",""," gui_mch_update();"," if (input_available())\t// Got char, return immediately"," {","\tif (buf != NULL \u0026\u0026 !typebuf_changed(tb_change_cnt))","\t return read_from_input_buf(buf, (long)maxlen);","\treturn 0;"," }"," if (wtime == 0)\t\t// Don't wait for char","\treturn FAIL;",""," // Before waiting, flush any output to the screen."," gui_mch_flush();",""," // Blink while waiting for a character."," gui_mch_start_blink();",""," // Common function to loop until \"wtime\" is met, while handling timers and"," // other callbacks."," retval = inchar_loop(buf, maxlen, wtime, tb_change_cnt,","\t\t\t gui_wait_for_chars_or_timer, NULL);",""," gui_mch_stop_blink(TRUE);",""," return retval;","}","","/*"," * Wait for a character from the keyboard without actually reading it."," * Also deals with timers."," * wtime == -1\t Wait forever."," * wtime == 0\t Don't wait."," * wtime \u003e 0\t Wait wtime milliseconds for a character."," * Returns OK if a character was found to be available within the given time,"," * or FAIL otherwise."," */"," int","gui_wait_for_chars(long wtime, int tb_change_cnt)","{"," return gui_wait_for_chars_buf(NULL, 0, wtime, tb_change_cnt);","}","","/*"," * Equivalent of mch_inchar() for the GUI."," */"," int","gui_inchar("," char_u *buf,"," int\t maxlen,"," long wtime,\t\t// milliseconds"," int\t tb_change_cnt)","{"," return gui_wait_for_chars_buf(buf, maxlen, wtime, tb_change_cnt);","}","","/*"," * Fill p[4] with mouse coordinates encoded for check_termcode()."," */"," static void","fill_mouse_coord(char_u *p, int col, int row)","{"," p[0] = (char_u)(col / 128 + ' ' + 1);"," p[1] = (char_u)(col % 128 + ' ' + 1);"," p[2] = (char_u)(row / 128 + ' ' + 1);"," p[3] = (char_u)(row % 128 + ' ' + 1);","}","","/*"," * Generic mouse support function. Add a mouse event to the input buffer with"," * the given properties."," * button\t --- may be any of MOUSE_LEFT, MOUSE_MIDDLE, MOUSE_RIGHT,"," *\t\t\tMOUSE_X1, MOUSE_X2"," *\t\t\tMOUSE_DRAG, or MOUSE_RELEASE."," *\t\t\tMOUSE_4 and MOUSE_5 are used for vertical scroll wheel,"," *\t\t\tMOUSE_6 and MOUSE_7 for horizontal scroll wheel."," * x, y\t --- Coordinates of mouse in pixels."," * repeated_click --- TRUE if this click comes only a short time after a"," *\t\t\tprevious click."," * modifiers\t --- Bit field which may be any of the following modifiers"," *\t\t\tor'ed together: MOUSE_SHIFT | MOUSE_CTRL | MOUSE_ALT."," * This function will ignore drag events where the mouse has not moved to a new"," * character."," */"," void","gui_send_mouse_event("," int\t button,"," int\t x,"," int\t y,"," int\t repeated_click,"," int_u modifiers)","{"," static int\t prev_row = 0, prev_col = 0;"," static int\t prev_button = -1;"," static int\t num_clicks = 1;"," char_u\t string[10];"," enum key_extra button_char;"," int\t\t row, col;","#ifdef FEAT_CLIPBOARD"," int\t\t checkfor;"," int\t\t did_clip = FALSE;","#endif",""," /*"," * Scrolling may happen at any time, also while a selection is present."," */"," switch (button)"," {","\tcase MOUSE_MOVE:","\t button_char = KE_MOUSEMOVE_XY;","\t goto button_set;","\tcase MOUSE_X1:","\t button_char = KE_X1MOUSE;","\t goto button_set;","\tcase MOUSE_X2:","\t button_char = KE_X2MOUSE;","\t goto button_set;","\tcase MOUSE_4:","\t button_char = KE_MOUSEDOWN;","\t goto button_set;","\tcase MOUSE_5:","\t button_char = KE_MOUSEUP;","\t goto button_set;","\tcase MOUSE_6:","\t button_char = KE_MOUSELEFT;","\t goto button_set;","\tcase MOUSE_7:","\t button_char = KE_MOUSERIGHT;","button_set:","\t {","\t\t// Don't put events in the input queue now.","\t\tif (hold_gui_events)","\t\t return;","","\t\trow = gui_xy2colrow(x, y, \u0026col);","\t\t// Don't report a mouse move unless moved to a","\t\t// different character position.","\t\tif (button == MOUSE_MOVE)","\t\t{","\t\t if (row == prev_row \u0026\u0026 col == prev_col)","\t\t\treturn;","\t\t else","\t\t {","\t\t\tprev_row = row \u003e= 0 ? row : 0;","\t\t\tprev_col = col;","\t\t }","\t\t}","","\t\tstring[3] = CSI;","\t\tstring[4] = KS_EXTRA;","\t\tstring[5] = (int)button_char;","","\t\t// Pass the pointer coordinates of the scroll event so that we","\t\t// know which window to scroll.","\t\tstring[6] = (char_u)(col / 128 + ' ' + 1);","\t\tstring[7] = (char_u)(col % 128 + ' ' + 1);","\t\tstring[8] = (char_u)(row / 128 + ' ' + 1);","\t\tstring[9] = (char_u)(row % 128 + ' ' + 1);","","\t\tif (modifiers == 0)","\t\t add_to_input_buf(string + 3, 7);","\t\telse","\t\t{","\t\t string[0] = CSI;","\t\t string[1] = KS_MODIFIER;","\t\t string[2] = 0;","\t\t if (modifiers \u0026 MOUSE_SHIFT)","\t\t\tstring[2] |= MOD_MASK_SHIFT;","\t\t if (modifiers \u0026 MOUSE_CTRL)","\t\t\tstring[2] |= MOD_MASK_CTRL;","\t\t if (modifiers \u0026 MOUSE_ALT)","\t\t\tstring[2] |= MOD_MASK_ALT;","\t\t add_to_input_buf(string, 10);","\t\t}","\t\treturn;","\t }"," }","","#ifdef FEAT_CLIPBOARD"," // If a clipboard selection is in progress, handle it"," if (clip_star.state == SELECT_IN_PROGRESS)"," {","\tclip_process_selection(button, X_2_COL(x), Y_2_ROW(y), repeated_click);","","\t// A release event may still need to be sent if the position is equal.","\trow = gui_xy2colrow(x, y, \u0026col);","\tif (button != MOUSE_RELEASE || row != prev_row || col != prev_col)","\t return;"," }",""," // Determine which mouse settings to look for based on the current mode"," switch (get_real_state())"," {","\tcase MODE_NORMAL_BUSY:","\tcase MODE_OP_PENDING:","# ifdef FEAT_TERMINAL","\tcase MODE_TERMINAL:","# endif","\tcase MODE_NORMAL:\tcheckfor = MOUSE_NORMAL; break;","\tcase MODE_VISUAL:\tcheckfor = MOUSE_VISUAL; break;","\tcase MODE_SELECT:\tcheckfor = MOUSE_VISUAL; break;","\tcase MODE_REPLACE:","\tcase MODE_REPLACE | MODE_LANGMAP:","\tcase MODE_VREPLACE:","\tcase MODE_VREPLACE | MODE_LANGMAP:","\tcase MODE_INSERT:","\tcase MODE_INSERT | MODE_LANGMAP:","\t\t\t\tcheckfor = MOUSE_INSERT; break;","\tcase MODE_ASKMORE:","\tcase MODE_HITRETURN:\t// At the more- and hit-enter prompt pass the","\t\t\t\t// mouse event for a click on or below the","\t\t\t\t// message line.","\t\t\t\tif (Y_2_ROW(y) \u003e= msg_row)","\t\t\t\t checkfor = MOUSE_NORMAL;","\t\t\t\telse","\t\t\t\t checkfor = MOUSE_RETURN;","\t\t\t\tbreak;","","\t /*","\t * On the command line, use the clipboard selection on all lines","\t * but the command line. But not when pasting.","\t */","\tcase MODE_CMDLINE:","\tcase MODE_CMDLINE | MODE_LANGMAP:","\t if (Y_2_ROW(y) \u003c cmdline_row \u0026\u0026 button != MOUSE_MIDDLE)","\t\tcheckfor = MOUSE_NONE;","\t else","\t\tcheckfor = MOUSE_COMMAND;","\t break;","","\tdefault:","\t checkfor = MOUSE_NONE;","\t break;"," };",""," /*"," * Allow clipboard selection of text on the command line in \"normal\""," * modes. Don't do this when dragging the status line, or extending a"," * Visual selection."," */"," if ((State == MODE_NORMAL || State == MODE_NORMAL_BUSY","\t\t\t\t\t\t || (State \u0026 MODE_INSERT))","\t \u0026\u0026 Y_2_ROW(y) \u003e= topframe-\u003efr_height + firstwin-\u003ew_winrow","\t \u0026\u0026 button != MOUSE_DRAG","# ifdef FEAT_MOUSESHAPE","\t \u0026\u0026 !drag_status_line","\t \u0026\u0026 !drag_sep_line","# endif","\t )","\tcheckfor = MOUSE_NONE;",""," /*"," * Use modeless selection when holding CTRL and SHIFT pressed."," */"," if ((modifiers \u0026 MOUSE_CTRL) \u0026\u0026 (modifiers \u0026 MOUSE_SHIFT))","\tcheckfor = MOUSE_NONEF;",""," /*"," * In Ex mode, always use modeless selection."," */"," if (exmode_active)","\tcheckfor = MOUSE_NONE;",""," /*"," * If the mouse settings say to not use the mouse, use the modeless"," * selection. But if Visual is active, assume that only the Visual area"," * will be selected."," * Exception: On the command line, both the selection is used and a mouse"," * key is sent."," */"," if (!mouse_has(checkfor) || checkfor == MOUSE_COMMAND)"," {","\t// Don't do modeless selection in Visual mode.","\tif (checkfor != MOUSE_NONEF \u0026\u0026 VIsual_active \u0026\u0026 (State \u0026 MODE_NORMAL))","\t return;","","\t/*","\t * When 'mousemodel' is \"popup\", shift-left is translated to right.","\t * But not when also using Ctrl.","\t */","\tif (mouse_model_popup() \u0026\u0026 button == MOUSE_LEFT","\t\t\u0026\u0026 (modifiers \u0026 MOUSE_SHIFT) \u0026\u0026 !(modifiers \u0026 MOUSE_CTRL))","\t{","\t button = MOUSE_RIGHT;","\t modifiers \u0026= ~ MOUSE_SHIFT;","\t}","","\t// If the selection is done, allow the right button to extend it.","\t// If the selection is cleared, allow the right button to start it","\t// from the cursor position.","\tif (button == MOUSE_RIGHT)","\t{","\t if (clip_star.state == SELECT_CLEARED)","\t {","\t\tif (State \u0026 MODE_CMDLINE)","\t\t{","\t\t col = msg_col;","\t\t row = msg_row;","\t\t}","\t\telse","\t\t{","\t\t col = curwin-\u003ew_wcol;","\t\t row = curwin-\u003ew_wrow + W_WINROW(curwin);","\t\t}","\t\tclip_start_selection(col, row, FALSE);","\t }","\t clip_process_selection(button, X_2_COL(x), Y_2_ROW(y),","\t\t\t\t\t\t\t repeated_click);","\t did_clip = TRUE;","\t}","\t// Allow the left button to start the selection","\telse if (button == MOUSE_LEFT)","\t{","\t clip_start_selection(X_2_COL(x), Y_2_ROW(y), repeated_click);","\t did_clip = TRUE;","\t}","","\t// Always allow pasting","\tif (button != MOUSE_MIDDLE)","\t{","\t if (!mouse_has(checkfor) || button == MOUSE_RELEASE)","\t\treturn;","\t if (checkfor != MOUSE_COMMAND)","\t\tbutton = MOUSE_LEFT;","\t}","\trepeated_click = FALSE;"," }",""," if (clip_star.state != SELECT_CLEARED \u0026\u0026 !did_clip)","\tclip_clear_selection(\u0026clip_star);","#endif",""," // Don't put events in the input queue now."," if (hold_gui_events)","\treturn;",""," row = gui_xy2colrow(x, y, \u0026col);",""," /*"," * If we are dragging and the mouse hasn't moved far enough to be on a"," * different character, then don't send an event to vim."," */"," if (button == MOUSE_DRAG)"," {","\tif (row == prev_row \u0026\u0026 col == prev_col)","\t return;","\t// Dragging above the window, set \"row\" to -1 to cause a scroll.","\tif (y \u003c 0)","\t row = -1;"," }",""," /*"," * If topline has changed (window scrolled) since the last click, reset"," * repeated_click, because we don't want starting Visual mode when"," * clicking on a different character in the text."," */"," if (curwin-\u003ew_topline != gui_prev_topline","#ifdef FEAT_DIFF","\t || curwin-\u003ew_topfill != gui_prev_topfill","#endif","\t )","\trepeated_click = FALSE;",""," string[0] = CSI;\t// this sequence is recognized by check_termcode()"," string[1] = KS_MOUSE;"," string[2] = KE_FILLER;"," if (button != MOUSE_DRAG \u0026\u0026 button != MOUSE_RELEASE)"," {","\tif (repeated_click)","\t{","\t /*","\t * Handle multiple clicks.\tThey only count if the mouse is still","\t * pointing at the same character.","\t */","\t if (button != prev_button || row != prev_row || col != prev_col)","\t\tnum_clicks = 1;","\t else if (++num_clicks \u003e 4)","\t\tnum_clicks = 1;","\t}","\telse","\t num_clicks = 1;","\tprev_button = button;","\tgui_prev_topline = curwin-\u003ew_topline;","#ifdef FEAT_DIFF","\tgui_prev_topfill = curwin-\u003ew_topfill;","#endif","","\tstring[3] = (char_u)(button | 0x20);","\tSET_NUM_MOUSE_CLICKS(string[3], num_clicks);"," }"," else","\tstring[3] = (char_u)button;",""," string[3] |= modifiers;"," fill_mouse_coord(string + 4, col, row);"," add_to_input_buf(string, 8);",""," if (row \u003c 0)","\tprev_row = 0;"," else","\tprev_row = row;"," prev_col = col;",""," /*"," * We need to make sure this is cleared since GTK doesn't tell us when"," * the user is done dragging."," */","#if defined(FEAT_GUI_GTK)"," gui.dragged_sb = SBAR_NONE;","#endif","}","","/*"," * Convert x and y coordinate to column and row in text window."," * Corrects for multi-byte character."," * returns column in \"*colp\" and row as return value;"," */"," static int","gui_xy2colrow(int x, int y, int *colp)","{"," int\t\tcol = check_col(X_2_COL(x));"," int\t\trow = check_row(Y_2_ROW(y));",""," *colp = mb_fix_col(col, row);"," return row;","}","","#if defined(FEAT_MENU) || defined(PROTO)","/*"," * Callback function for when a menu entry has been selected."," */"," void","gui_menu_cb(vimmenu_T *menu)","{"," char_u bytes[sizeof(long_u)];",""," // Don't put events in the input queue now."," if (hold_gui_events)","\treturn;",""," bytes[0] = CSI;"," bytes[1] = KS_MENU;"," bytes[2] = KE_FILLER;"," add_to_input_buf(bytes, 3);"," add_long_to_buf((long_u)menu, bytes);"," add_to_input_buf_csi(bytes, sizeof(long_u));","}","#endif","","static int\tprev_which_scrollbars[3];","","/*"," * Set which components are present."," * If \"oldval\" is not NULL, \"oldval\" is the previous value, the new value is"," * in p_go."," */"," void","gui_init_which_components(char_u *oldval UNUSED)","{","#ifdef FEAT_GUI_DARKTHEME"," static int\tprev_dark_theme = -1;"," int\t\tusing_dark_theme = FALSE;","#endif","#ifdef FEAT_MENU"," static int\tprev_menu_is_active = -1;","#endif","#ifdef FEAT_TOOLBAR"," static int\tprev_toolbar = -1;"," int\t\tusing_toolbar = FALSE;","#endif","#ifdef FEAT_GUI_TABLINE"," int\t\tusing_tabline;","#endif","#if defined(FEAT_MENU)"," static int\tprev_tearoff = -1;"," int\t\tusing_tearoff = FALSE;","#endif",""," char_u\t*p;"," int\t\ti;","#ifdef FEAT_MENU"," int\t\tgrey_old, grey_new;"," char_u\t*temp;","#endif"," win_T\t*wp;"," int\t\tneed_set_size;"," int\t\tfix_size;","","#ifdef FEAT_MENU"," if (oldval != NULL \u0026\u0026 gui.in_use)"," {","\t/*","\t * Check if the menus go from grey to non-grey or vice versa.","\t */","\tgrey_old = (vim_strchr(oldval, GO_GREY) != NULL);","\tgrey_new = (vim_strchr(p_go, GO_GREY) != NULL);","\tif (grey_old != grey_new)","\t{","\t temp = p_go;","\t p_go = oldval;","\t gui_update_menus(MENU_ALL_MODES);","\t p_go = temp;","\t}"," }"," gui.menu_is_active = FALSE;","#endif",""," for (i = 0; i \u003c 3; i++)","\tgui.which_scrollbars[i] = FALSE;"," for (p = p_go; *p; p++)","\tswitch (*p)","\t{","\t case GO_LEFT:","\t\tgui.which_scrollbars[SBAR_LEFT] = TRUE;","\t\tbreak;","\t case GO_RIGHT:","\t\tgui.which_scrollbars[SBAR_RIGHT] = TRUE;","\t\tbreak;","\t case GO_VLEFT:","\t\tif (win_hasvertsplit())","\t\t gui.which_scrollbars[SBAR_LEFT] = TRUE;","\t\tbreak;","\t case GO_VRIGHT:","\t\tif (win_hasvertsplit())","\t\t gui.which_scrollbars[SBAR_RIGHT] = TRUE;","\t\tbreak;","\t case GO_BOT:","\t\tgui.which_scrollbars[SBAR_BOTTOM] = TRUE;","\t\tbreak;","#ifdef FEAT_GUI_DARKTHEME","\t case GO_DARKTHEME:","\t\tusing_dark_theme = TRUE;","\t\tbreak;","#endif","#ifdef FEAT_MENU","\t case GO_MENUS:","\t\tgui.menu_is_active = TRUE;","\t\tbreak;","#endif","\t case GO_GREY:","\t\t// make menu's have grey items, ignored here","\t\tbreak;","#ifdef FEAT_TOOLBAR","\t case GO_TOOLBAR:","\t\tusing_toolbar = TRUE;","\t\tbreak;","#endif","\t case GO_TEAROFF:","#if defined(FEAT_MENU)","\t\tusing_tearoff = TRUE;","#endif","\t\tbreak;","\t default:","\t\t// Ignore options that are not supported","\t\tbreak;","\t}",""," if (!gui.in_use)","\treturn;",""," need_set_size = 0;"," fix_size = FALSE;","","#ifdef FEAT_GUI_DARKTHEME"," if (using_dark_theme != prev_dark_theme)"," {","\tgui_mch_set_dark_theme(using_dark_theme);","\tprev_dark_theme = using_dark_theme;"," }","#endif","","#ifdef FEAT_GUI_TABLINE"," // Update the GUI tab line, it may appear or disappear. This may"," // cause the non-GUI tab line to disappear or appear."," using_tabline = gui_has_tabline();"," if (!gui_mch_showing_tabline() != !using_tabline)"," {","\t// We don't want a resize event change \"Rows\" here, save and","\t// restore it. Resizing is handled below.","\ti = Rows;","\tgui_update_tabline();","\tRows = i;","\tneed_set_size |= RESIZE_VERT;","\tif (using_tabline)","\t fix_size = TRUE;","\tif (!gui_use_tabline())","\t redraw_tabline = TRUE; // may draw non-GUI tab line"," }","#endif",""," for (i = 0; i \u003c 3; i++)"," {","\t// The scrollbar needs to be updated when it is shown/unshown and","\t// when switching tab pages. But the size only changes when it's","\t// shown/unshown. Thus we need two places to remember whether a","\t// scrollbar is there or not.","\tif (gui.which_scrollbars[i] != prev_which_scrollbars[i]","\t\t|| gui.which_scrollbars[i]","\t\t!= curtab-\u003etp_prev_which_scrollbars[i])","\t{","\t if (i == SBAR_BOTTOM)","\t\tgui_mch_enable_scrollbar(\u0026gui.bottom_sbar,","\t\t\tgui.which_scrollbars[i]);","\t else","\t {","\t\tFOR_ALL_WINDOWS(wp)","\t\t gui_do_scrollbar(wp, i, gui.which_scrollbars[i]);","\t }","\t if (gui.which_scrollbars[i] != prev_which_scrollbars[i])","\t {","\t\tif (i == SBAR_BOTTOM)","\t\t need_set_size |= RESIZE_VERT;","\t\telse","\t\t need_set_size |= RESIZE_HOR;","\t\tif (gui.which_scrollbars[i])","\t\t fix_size = TRUE;","\t }","\t}","\tcurtab-\u003etp_prev_which_scrollbars[i] = gui.which_scrollbars[i];","\tprev_which_scrollbars[i] = gui.which_scrollbars[i];"," }","","#ifdef FEAT_MENU"," if (gui.menu_is_active != prev_menu_is_active)"," {","\t// We don't want a resize event change \"Rows\" here, save and","\t// restore it. Resizing is handled below.","\ti = Rows;","\tgui_mch_enable_menu(gui.menu_is_active);","\tRows = i;","\tprev_menu_is_active = gui.menu_is_active;","\tneed_set_size |= RESIZE_VERT;","\tif (gui.menu_is_active)","\t fix_size = TRUE;"," }","#endif","","#ifdef FEAT_TOOLBAR"," if (using_toolbar != prev_toolbar)"," {","\tgui_mch_show_toolbar(using_toolbar);","\tprev_toolbar = using_toolbar;","\tneed_set_size |= RESIZE_VERT;","\tif (using_toolbar)","\t fix_size = TRUE;"," }","#endif","#if defined(FEAT_MENU) \u0026\u0026 !(defined(MSWIN) \u0026\u0026 !defined(FEAT_TEAROFF))"," if (using_tearoff != prev_tearoff)"," {","\tgui_mch_toggle_tearoffs(using_tearoff);","\tprev_tearoff = using_tearoff;"," }","#endif"," if (need_set_size != 0)"," {","#ifdef FEAT_GUI_GTK","\tlong prev_Columns = Columns;","\tlong prev_Rows = Rows;","#endif","\t// Adjust the size of the window to make the text area keep the","\t// same size and to avoid that part of our window is off-screen","\t// and a scrollbar can't be used, for example.","\tgui_set_shellsize(FALSE, fix_size, need_set_size);","","#ifdef FEAT_GUI_GTK","\t// GTK has the annoying habit of sending us resize events when","\t// changing the window size ourselves. This mostly happens when","\t// waiting for a character to arrive, quite unpredictably, and may","\t// change Columns and Rows when we don't want it. Wait for a","\t// character here to avoid this effect.","\t// If you remove this, please test this command for resizing","\t// effects (with optional left scrollbar): \":vsp|q|vsp|q|vsp|q\".","\t// Don't do this while starting up though.","\t// Don't change Rows when adding menu/toolbar/tabline.","\t// Don't change Columns when adding vertical toolbar.","\tif (!gui.starting \u0026\u0026 need_set_size != (RESIZE_VERT | RESIZE_HOR))","\t (void)char_avail();","\tif ((need_set_size \u0026 RESIZE_VERT) == 0)","\t Rows = prev_Rows;","\tif ((need_set_size \u0026 RESIZE_HOR) == 0)","\t Columns = prev_Columns;","#endif"," }"," // When the console tabline appears or disappears the window positions"," // change."," if (firstwin-\u003ew_winrow != tabline_height())","\tshell_new_rows();\t// recompute window positions and heights","}","","#if defined(FEAT_GUI_TABLINE) || defined(PROTO)","/*"," * Return TRUE if the GUI is taking care of the tabline."," * It may still be hidden if 'showtabline' is zero."," */"," int","gui_use_tabline(void)","{"," return gui.in_use \u0026\u0026 vim_strchr(p_go, GO_TABLINE) != NULL;","}","","/*"," * Return TRUE if the GUI is showing the tabline."," * This uses 'showtabline'."," */"," static int","gui_has_tabline(void)","{"," if (!gui_use_tabline()","\t || p_stal == 0","\t || (p_stal == 1 \u0026\u0026 first_tabpage-\u003etp_next == NULL))","\treturn FALSE;"," return TRUE;","}","","/*"," * Update the tabline."," * This may display/undisplay the tabline and update the labels."," */"," void","gui_update_tabline(void)","{"," int\t showit = gui_has_tabline();"," int\t shown = gui_mch_showing_tabline();",""," if (!gui.starting \u0026\u0026 starting == 0)"," {","\t// Updating the tabline uses direct GUI commands, flush","\t// outstanding instructions first. (esp. clear screen)","\tout_flush();","","\tif (!showit != !shown)","\t gui_mch_show_tabline(showit);","\tif (showit != 0)","\t gui_mch_update_tabline();","","\t// When the tabs change from hidden to shown or from shown to","\t// hidden the size of the text area should remain the same.","\tif (!showit != !shown)","\t gui_set_shellsize(FALSE, showit, RESIZE_VERT);"," }","}","","/*"," * Get the label or tooltip for tab page \"tp\" into NameBuff[]."," */"," void","get_tabline_label("," tabpage_T\t*tp,"," int\t\ttooltip)\t// TRUE: get tooltip","{"," int\t\tmodified = FALSE;"," char_u\tbuf[40];"," int\t\twincount;"," win_T\t*wp;"," char_u\t**opt;",""," // Use 'guitablabel' or 'guitabtooltip' if it's set."," opt = (tooltip ? \u0026p_gtt : \u0026p_gtl);"," if (**opt != NUL)"," {","\tchar_u\tres[MAXPATHL];","\ttabpage_T *save_curtab;","\tchar_u\t*opt_name = (char_u *)(tooltip ? \"guitabtooltip\"","\t\t\t\t\t\t\t : \"guitablabel\");","","\tprinter_page_num = tabpage_index(tp);","# ifdef FEAT_EVAL","\tset_vim_var_nr(VV_LNUM, printer_page_num);","# endif","\t// It's almost as going to the tabpage, but without autocommands.","\tcurtab-\u003etp_firstwin = firstwin;","\tcurtab-\u003etp_lastwin = lastwin;","\tcurtab-\u003etp_curwin = curwin;","\tsave_curtab = curtab;","\tcurtab = tp;","\ttopframe = curtab-\u003etp_topframe;","\tfirstwin = curtab-\u003etp_firstwin;","\tlastwin = curtab-\u003etp_lastwin;","\tcurwin = curtab-\u003etp_curwin;","\tcurbuf = curwin-\u003ew_buffer;","","\t// Can't use NameBuff directly, build_stl_str_hl() uses it.","\tbuild_stl_str_hl(curwin, res, MAXPATHL, *opt, opt_name, 0,","\t\t\t\t\t\t 0, (int)Columns, NULL, NULL);","\tSTRCPY(NameBuff, res);","","\t// Back to the original curtab.","\tcurtab = save_curtab;","\ttopframe = curtab-\u003etp_topframe;","\tfirstwin = curtab-\u003etp_firstwin;","\tlastwin = curtab-\u003etp_lastwin;","\tcurwin = curtab-\u003etp_curwin;","\tcurbuf = curwin-\u003ew_buffer;"," }",""," // If 'guitablabel'/'guitabtooltip' is not set or the result is empty then"," // use a default label."," if (**opt == NUL || *NameBuff == NUL)"," {","\t// Get the buffer name into NameBuff[] and shorten it.","\tget_trans_bufname(tp == curtab ? curbuf : tp-\u003etp_curwin-\u003ew_buffer);","\tif (!tooltip)","\t shorten_dir(NameBuff);","","\twp = (tp == curtab) ? firstwin : tp-\u003etp_firstwin;","\tfor (wincount = 0; wp != NULL; wp = wp-\u003ew_next, ++wincount)","\t if (bufIsChanged(wp-\u003ew_buffer))","\t\tmodified = TRUE;","\tif (modified || wincount \u003e 1)","\t{","\t if (wincount \u003e 1)","\t\tvim_snprintf((char *)buf, sizeof(buf), \"%d\", wincount);","\t else","\t\tbuf[0] = NUL;","\t if (modified)","\t\tSTRCAT(buf, \"+\");","\t STRCAT(buf, \" \");","\t STRMOVE(NameBuff + STRLEN(buf), NameBuff);","\t mch_memmove(NameBuff, buf, STRLEN(buf));","\t}"," }","}","","/*"," * Send the event for clicking to select tab page \"nr\"."," * Returns TRUE if it was done, FALSE when skipped because we are already at"," * that tab page or the cmdline window is open."," */"," int","send_tabline_event(int nr)","{"," char_u string[3];",""," if (nr == tabpage_index(curtab))","\treturn FALSE;",""," // Don't put events in the input queue now."," if (hold_gui_events || cmdwin_type != 0)"," {","\t// Set it back to the current tab page.","\tgui_mch_set_curtab(tabpage_index(curtab));","\treturn FALSE;"," }",""," string[0] = CSI;"," string[1] = KS_TABLINE;"," string[2] = KE_FILLER;"," add_to_input_buf(string, 3);"," string[0] = nr;"," add_to_input_buf_csi(string, 1);"," return TRUE;","}","","/*"," * Send a tabline menu event"," */"," void","send_tabline_menu_event(int tabidx, int event)","{"," char_u\t string[3];",""," // Don't put events in the input queue now."," if (hold_gui_events)","\treturn;",""," // Cannot close the last tabpage."," if (event == TABLINE_MENU_CLOSE \u0026\u0026 first_tabpage-\u003etp_next == NULL)","\treturn;",""," string[0] = CSI;"," string[1] = KS_TABMENU;"," string[2] = KE_FILLER;"," add_to_input_buf(string, 3);"," string[0] = tabidx;"," string[1] = (char_u)(long)event;"," add_to_input_buf_csi(string, 2);","}","","#endif","","/*"," * Scrollbar stuff:"," */","","/*"," * Remove all scrollbars. Used before switching to another tab page."," */"," void","gui_remove_scrollbars(void)","{"," int\t i;"," win_T *wp;",""," for (i = 0; i \u003c 3; i++)"," {","\tif (i == SBAR_BOTTOM)","\t gui_mch_enable_scrollbar(\u0026gui.bottom_sbar, FALSE);","\telse","\t{","\t FOR_ALL_WINDOWS(wp)","\t\tgui_do_scrollbar(wp, i, FALSE);","\t}","\tcurtab-\u003etp_prev_which_scrollbars[i] = -1;"," }","}",""," void","gui_create_scrollbar(scrollbar_T *sb, int type, win_T *wp)","{"," static int\tsbar_ident = 0;",""," sb-\u003eident = sbar_ident++;\t// No check for too big, but would it happen?"," sb-\u003ewp = wp;"," sb-\u003etype = type;"," sb-\u003evalue = 0;"," sb-\u003esize = 1;"," sb-\u003emax = 1;"," sb-\u003etop = 0;"," sb-\u003eheight = 0;"," sb-\u003ewidth = 0;"," sb-\u003estatus_height = 0;"," gui_mch_create_scrollbar(sb, (wp == NULL) ? SBAR_HORIZ : SBAR_VERT);","}","","/*"," * Find the scrollbar with the given index."," */"," scrollbar_T *","gui_find_scrollbar(long ident)","{"," win_T\t*wp;",""," if (gui.bottom_sbar.ident == ident)","\treturn \u0026gui.bottom_sbar;"," FOR_ALL_WINDOWS(wp)"," {","\tif (wp-\u003ew_scrollbars[SBAR_LEFT].ident == ident)","\t return \u0026wp-\u003ew_scrollbars[SBAR_LEFT];","\tif (wp-\u003ew_scrollbars[SBAR_RIGHT].ident == ident)","\t return \u0026wp-\u003ew_scrollbars[SBAR_RIGHT];"," }"," return NULL;","}","","/*"," * For most systems: Put a code in the input buffer for a dragged scrollbar."," *"," * For Win32, Macintosh and GTK+ 2:"," * Scrollbars seem to grab focus and vim doesn't read the input queue until"," * you stop dragging the scrollbar. We get here each time the scrollbar is"," * dragged another pixel, but as far as the rest of vim goes, it thinks"," * we're just hanging in the call to DispatchMessage() in"," * process_message(). The DispatchMessage() call that hangs was passed a"," * mouse button click event in the scrollbar window. -- webb."," *"," * Solution: Do the scrolling right here. But only when allowed."," * Ignore the scrollbars while executing an external command or when there"," * are still characters to be processed."," */"," void","gui_drag_scrollbar(scrollbar_T *sb, long value, int still_dragging)","{"," win_T\t*wp;"," int\t\tsb_num;","#ifdef USE_ON_FLY_SCROLL"," colnr_T\told_leftcol = curwin-\u003ew_leftcol;"," linenr_T\told_topline = curwin-\u003ew_topline;","# ifdef FEAT_DIFF"," int\t\told_topfill = curwin-\u003ew_topfill;","# endif","#else"," char_u\tbytes[sizeof(long_u)];"," int\t\tbyte_count;","#endif",""," if (sb == NULL)","\treturn;",""," // Don't put events in the input queue now."," if (hold_gui_events)","\treturn;",""," if (cmdwin_type != 0 \u0026\u0026 sb-\u003ewp != cmdwin_win)","\treturn;",""," if (still_dragging)"," {","\tif (sb-\u003ewp == NULL)","\t gui.dragged_sb = SBAR_BOTTOM;","\telse if (sb == \u0026sb-\u003ewp-\u003ew_scrollbars[SBAR_LEFT])","\t gui.dragged_sb = SBAR_LEFT;","\telse","\t gui.dragged_sb = SBAR_RIGHT;","\tgui.dragged_wp = sb-\u003ewp;"," }"," else"," {","\tgui.dragged_sb = SBAR_NONE;","#ifdef FEAT_GUI_GTK","\t// Keep the \"dragged_wp\" value until after the scrolling, for when the","\t// mouse button is released. GTK2 doesn't send the button-up event.","\tgui.dragged_wp = NULL;","#endif"," }",""," // Vertical sbar info is kept in the first sbar (the left one)"," if (sb-\u003ewp != NULL)","\tsb = \u0026sb-\u003ewp-\u003ew_scrollbars[0];",""," /*"," * Check validity of value"," */"," if (value \u003c 0)","\tvalue = 0;","#ifdef SCROLL_PAST_END"," else if (value \u003e sb-\u003emax)","\tvalue = sb-\u003emax;","#else"," if (value \u003e sb-\u003emax - sb-\u003esize + 1)","\tvalue = sb-\u003emax - sb-\u003esize + 1;","#endif",""," sb-\u003evalue = value;","","#ifdef USE_ON_FLY_SCROLL"," // When not allowed to do the scrolling right now, return."," // This also checked input_available(), but that causes the first click in"," // a scrollbar to be ignored when Vim doesn't have focus."," if (dont_scroll)","\treturn;","#endif"," // Disallow scrolling the current window when the completion popup menu is"," // visible."," if ((sb-\u003ewp == NULL || sb-\u003ewp == curwin) \u0026\u0026 pum_visible())","\treturn;","","#ifdef FEAT_RIGHTLEFT"," if (sb-\u003ewp == NULL \u0026\u0026 curwin-\u003ew_p_rl)"," {","\tvalue = sb-\u003emax + 1 - sb-\u003esize - value;","\tif (value \u003c 0)","\t value = 0;"," }","#endif",""," if (sb-\u003ewp != NULL)\t\t// vertical scrollbar"," {","\tsb_num = 0;","\tfor (wp = firstwin; wp != sb-\u003ewp \u0026\u0026 wp != NULL; wp = wp-\u003ew_next)","\t sb_num++;","\tif (wp == NULL)","\t return;","","#ifdef USE_ON_FLY_SCROLL","\tcurrent_scrollbar = sb_num;","\tscrollbar_value = value;","\tif (State \u0026 MODE_NORMAL)","\t{","\t gui_do_scroll();","\t setcursor();","\t}","\telse if (State \u0026 MODE_INSERT)","\t{","\t ins_scroll();","\t setcursor();","\t}","\telse if (State \u0026 MODE_CMDLINE)","\t{","\t if (msg_scrolled == 0)","\t {","\t\tgui_do_scroll();","\t\tredrawcmdline();","\t }","\t}","# ifdef FEAT_FOLDING","\t// Value may have been changed for closed fold.","\tsb-\u003evalue = sb-\u003ewp-\u003ew_topline - 1;","# endif","","\t// When dragging one scrollbar and there is another one at the other","\t// side move the thumb of that one too.","\tif (gui.which_scrollbars[SBAR_RIGHT] \u0026\u0026 gui.which_scrollbars[SBAR_LEFT])","\t gui_mch_set_scrollbar_thumb(","\t\t \u0026sb-\u003ewp-\u003ew_scrollbars[","\t\t\t sb == \u0026sb-\u003ewp-\u003ew_scrollbars[SBAR_RIGHT]","\t\t\t\t\t\t ? SBAR_LEFT : SBAR_RIGHT],","\t\t sb-\u003evalue, sb-\u003esize, sb-\u003emax);","","#else","\tbytes[0] = CSI;","\tbytes[1] = KS_VER_SCROLLBAR;","\tbytes[2] = KE_FILLER;","\tbytes[3] = (char_u)sb_num;","\tbyte_count = 4;","#endif"," }"," else"," {","#ifdef USE_ON_FLY_SCROLL","\tscrollbar_value = value;","","\tif (State \u0026 MODE_NORMAL)","\t do_mousescroll_horiz(scrollbar_value);","\telse if (State \u0026 MODE_INSERT)","\t ins_horscroll();","\telse if (State \u0026 MODE_CMDLINE)","\t{","\t if (msg_scrolled == 0)","\t {","\t\tdo_mousescroll_horiz(scrollbar_value);","\t\tredrawcmdline();","\t }","\t}","\tif (old_leftcol != curwin-\u003ew_leftcol)","\t{","\t updateWindow(curwin); // update window, status and cmdline","\t setcursor();","\t}","#else","\tbytes[0] = CSI;","\tbytes[1] = KS_HOR_SCROLLBAR;","\tbytes[2] = KE_FILLER;","\tbyte_count = 3;","#endif"," }","","#ifdef USE_ON_FLY_SCROLL"," /*"," * synchronize other windows, as necessary according to 'scrollbind'"," */"," if (curwin-\u003ew_p_scb","\t \u0026\u0026 ((sb-\u003ewp == NULL \u0026\u0026 curwin-\u003ew_leftcol != old_leftcol)","\t\t|| (sb-\u003ewp == curwin \u0026\u0026 (curwin-\u003ew_topline != old_topline","# ifdef FEAT_DIFF","\t\t\t\t\t || curwin-\u003ew_topfill != old_topfill","# endif","\t\t\t))))"," {","\tdo_check_scrollbind(TRUE);","\t// need to update the window right here","\tFOR_ALL_WINDOWS(wp)","\t if (wp-\u003ew_redr_type \u003e 0)","\t\tupdateWindow(wp);","\tsetcursor();"," }"," out_flush_cursor(FALSE, TRUE);","#else"," add_to_input_buf(bytes, byte_count);"," add_long_to_buf((long_u)value, bytes);"," add_to_input_buf_csi(bytes, sizeof(long_u));","#endif","}","","/*"," * Scrollbar stuff:"," */","","/*"," * Called when something in the window layout has changed."," */"," void","gui_may_update_scrollbars(void)","{"," if (gui.in_use \u0026\u0026 starting == 0)"," {","\tout_flush();","\tgui_init_which_components(NULL);","\tgui_update_scrollbars(TRUE);"," }"," need_mouse_correct = TRUE;","}",""," void","gui_update_scrollbars("," int\t\tforce)\t // Force all scrollbars to get updated","{"," win_T\t*wp;"," scrollbar_T\t*sb;"," long\tval, size, max;\t\t// need 32 bits here"," int\t\twhich_sb;"," int\t\th, y;"," static win_T *prev_curwin = NULL;",""," // Update the horizontal scrollbar"," gui_update_horiz_scrollbar(force);","","#ifndef MSWIN"," // Return straight away if there is neither a left nor right scrollbar."," // On MS-Windows this is required anyway for scrollwheel messages."," if (!gui.which_scrollbars[SBAR_LEFT] \u0026\u0026 !gui.which_scrollbars[SBAR_RIGHT])","\treturn;","#endif",""," /*"," * Don't want to update a scrollbar while we're dragging it. But if we"," * have both a left and right scrollbar, and we drag one of them, we still"," * need to update the other one."," */"," if (!force \u0026\u0026 (gui.dragged_sb == SBAR_LEFT || gui.dragged_sb == SBAR_RIGHT)","\t \u0026\u0026 gui.which_scrollbars[SBAR_LEFT]","\t \u0026\u0026 gui.which_scrollbars[SBAR_RIGHT])"," {","\t/*","\t * If we have two scrollbars and one of them is being dragged, just","\t * copy the scrollbar position from the dragged one to the other one.","\t */","\twhich_sb = SBAR_LEFT + SBAR_RIGHT - gui.dragged_sb;","\tif (gui.dragged_wp != NULL)","\t gui_mch_set_scrollbar_thumb(","\t\t \u0026gui.dragged_wp-\u003ew_scrollbars[which_sb],","\t\t gui.dragged_wp-\u003ew_scrollbars[0].value,","\t\t gui.dragged_wp-\u003ew_scrollbars[0].size,","\t\t gui.dragged_wp-\u003ew_scrollbars[0].max);"," }",""," // avoid that moving components around generates events"," ++hold_gui_events;",""," FOR_ALL_WINDOWS(wp)"," {","\tif (wp-\u003ew_buffer == NULL)\t// just in case","\t continue;","\t// Skip a scrollbar that is being dragged.","\tif (!force \u0026\u0026 (gui.dragged_sb == SBAR_LEFT","\t\t\t\t\t || gui.dragged_sb == SBAR_RIGHT)","\t\t\u0026\u0026 gui.dragged_wp == wp)","\t continue;","","#ifdef SCROLL_PAST_END","\tmax = wp-\u003ew_buffer-\u003eb_ml.ml_line_count - 1;","#else","\tmax = wp-\u003ew_buffer-\u003eb_ml.ml_line_count + wp-\u003ew_height - 2;","#endif","\tif (max \u003c 0)\t\t\t// empty buffer","\t max = 0;","\tval = wp-\u003ew_topline - 1;","\tsize = wp-\u003ew_height;","#ifdef SCROLL_PAST_END","\tif (val \u003e max)\t\t\t// just in case","\t val = max;","#else","\tif (size \u003e max + 1)\t\t// just in case","\t size = max + 1;","\tif (val \u003e max - size + 1)","\t val = max - size + 1;","#endif","\tif (val \u003c 0)\t\t\t// minimal value is 0","\t val = 0;","","\t/*","\t * Scrollbar at index 0 (the left one) contains all the information.","\t * It would be the same info for left and right so we just store it for","\t * one of them.","\t */","\tsb = \u0026wp-\u003ew_scrollbars[0];","","\t/*","\t * Note: no check for valid w_botline.\tIf it's not valid the","\t * scrollbars will be updated later anyway.","\t */","\tif (size \u003c 1 || wp-\u003ew_botline - 2 \u003e max)","\t{","\t /*","\t * This can happen during changing files. Just don't update the","\t * scrollbar for now.","\t */","\t sb-\u003eheight = 0;\t // Force update next time","\t if (gui.which_scrollbars[SBAR_LEFT])","\t\tgui_do_scrollbar(wp, SBAR_LEFT, FALSE);","\t if (gui.which_scrollbars[SBAR_RIGHT])","\t\tgui_do_scrollbar(wp, SBAR_RIGHT, FALSE);","\t continue;","\t}","\tif (force || sb-\u003eheight != wp-\u003ew_height","\t || sb-\u003etop != wp-\u003ew_winrow","\t || sb-\u003estatus_height != wp-\u003ew_status_height","\t || sb-\u003ewidth != wp-\u003ew_width","\t || prev_curwin != curwin)","\t{","\t // Height, width or position of scrollbar has changed. For","\t // vertical split: curwin changed.","\t sb-\u003eheight = wp-\u003ew_height;","\t sb-\u003etop = wp-\u003ew_winrow;","\t sb-\u003estatus_height = wp-\u003ew_status_height;","\t sb-\u003ewidth = wp-\u003ew_width;","","\t // Calculate height and position in pixels","\t h = (sb-\u003eheight + sb-\u003estatus_height) * gui.char_height;","\t y = sb-\u003etop * gui.char_height + gui.border_offset;","#if defined(FEAT_MENU) \u0026\u0026 !defined(FEAT_GUI_GTK) \u0026\u0026 !defined(FEAT_GUI_MOTIF) \u0026\u0026 !defined(FEAT_GUI_PHOTON)","\t if (gui.menu_is_active)","\t\ty += gui.menu_height;","#endif","","#if defined(FEAT_TOOLBAR) \u0026\u0026 (defined(FEAT_GUI_MSWIN) \\","\t|| defined(FEAT_GUI_HAIKU))","\t if (vim_strchr(p_go, GO_TOOLBAR) != NULL)","\t\ty += gui.toolbar_height;","#endif","","#if defined(FEAT_GUI_TABLINE) \u0026\u0026 defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_HAIKU)","\t if (gui_has_tabline())","\t\ty += gui.tabline_height;","#endif","","\t if (wp-\u003ew_winrow == 0)","\t {","\t\t// Height of top scrollbar includes width of top border","\t\th += gui.border_offset;","\t\ty -= gui.border_offset;","\t }","\t if (gui.which_scrollbars[SBAR_LEFT])","\t {","\t\tgui_mch_set_scrollbar_pos(\u0026wp-\u003ew_scrollbars[SBAR_LEFT],","\t\t\t\t\t gui.left_sbar_x, y,","\t\t\t\t\t gui.scrollbar_width, h);","\t\tgui_do_scrollbar(wp, SBAR_LEFT, TRUE);","\t }","\t if (gui.which_scrollbars[SBAR_RIGHT])","\t {","\t\tgui_mch_set_scrollbar_pos(\u0026wp-\u003ew_scrollbars[SBAR_RIGHT],","\t\t\t\t\t gui.right_sbar_x, y,","\t\t\t\t\t gui.scrollbar_width, h);","\t\tgui_do_scrollbar(wp, SBAR_RIGHT, TRUE);","\t }","\t}","","\tif (force || sb-\u003evalue != val || sb-\u003esize != size || sb-\u003emax != max)","\t{","\t // Thumb of scrollbar has moved","\t sb-\u003evalue = val;","\t sb-\u003esize = size;","\t sb-\u003emax = max;","\t if (gui.which_scrollbars[SBAR_LEFT]","\t\t \u0026\u0026 (gui.dragged_sb != SBAR_LEFT || gui.dragged_wp != wp))","\t\tgui_mch_set_scrollbar_thumb(\u0026wp-\u003ew_scrollbars[SBAR_LEFT],","\t\t\t\t\t val, size, max);","\t if (gui.which_scrollbars[SBAR_RIGHT]","\t\t \u0026\u0026 (gui.dragged_sb != SBAR_RIGHT || gui.dragged_wp != wp))","\t\tgui_mch_set_scrollbar_thumb(\u0026wp-\u003ew_scrollbars[SBAR_RIGHT],","\t\t\t\t\t val, size, max);","\t}"," }",""," // update the title, it may show the scroll position"," maketitle();",""," prev_curwin = curwin;"," --hold_gui_events;","}","","/*"," * Enable or disable a scrollbar."," * Check for scrollbars for vertically split windows which are not enabled"," * sometimes."," */"," static void","gui_do_scrollbar("," win_T\t*wp,"," int\t\twhich,\t // SBAR_LEFT or SBAR_RIGHT"," int\t\tenable)\t // TRUE to enable scrollbar","{"," int\t\tmidcol = curwin-\u003ew_wincol + curwin-\u003ew_width / 2;"," int\t\thas_midcol = (wp-\u003ew_wincol \u003c= midcol","\t\t\t\t \u0026\u0026 wp-\u003ew_wincol + wp-\u003ew_width \u003e= midcol);",""," // Only enable scrollbars that contain the middle column of the current"," // window."," if (gui.which_scrollbars[SBAR_RIGHT] != gui.which_scrollbars[SBAR_LEFT])"," {","\t// Scrollbars only on one side. Don't enable scrollbars that don't","\t// contain the middle column of the current window.","\tif (!has_midcol)","\t enable = FALSE;"," }"," else"," {","\t// Scrollbars on both sides. Don't enable scrollbars that neither","\t// contain the middle column of the current window nor are on the far","\t// side.","\tif (midcol \u003e Columns / 2)","\t{","\t if (which == SBAR_LEFT ? wp-\u003ew_wincol != 0 : !has_midcol)","\t\tenable = FALSE;","\t}","\telse","\t{","\t if (which == SBAR_RIGHT ? wp-\u003ew_wincol + wp-\u003ew_width != Columns","\t\t\t\t\t\t\t\t: !has_midcol)","\t\tenable = FALSE;","\t}"," }"," gui_mch_enable_scrollbar(\u0026wp-\u003ew_scrollbars[which], enable);","}","","/*"," * Scroll a window according to the values set in the globals"," * \"current_scrollbar\" and \"scrollbar_value\"."," * Return TRUE if the cursor in the current window moved or FALSE otherwise."," * may eventually cause a redraw using updateWindow"," */"," int","gui_do_scroll(void)","{"," win_T\t*wp, *save_wp;"," int\t\ti;"," long\tnlines;"," pos_T\told_cursor;"," linenr_T\told_topline;","#ifdef FEAT_DIFF"," int\t\told_topfill;","#endif",""," for (wp = firstwin, i = 0; i \u003c current_scrollbar; wp = W_NEXT(wp), i++)","\tif (wp == NULL)","\t break;"," if (wp == NULL)","\t// Couldn't find window","\treturn FALSE;"," // don't redraw, LineOffset and similar are not valid!"," if (exmode_active)","\treturn FALSE;",""," /*"," * Compute number of lines to scroll. If zero, nothing to do."," */"," nlines = (long)scrollbar_value + 1 - (long)wp-\u003ew_topline;"," if (nlines == 0)","\treturn FALSE;",""," save_wp = curwin;"," old_topline = wp-\u003ew_topline;","#ifdef FEAT_DIFF"," old_topfill = wp-\u003ew_topfill;","#endif"," old_cursor = wp-\u003ew_cursor;"," curwin = wp;"," curbuf = wp-\u003ew_buffer;"," if (nlines \u003c 0)","\tscrolldown(-nlines, gui.dragged_wp == NULL);"," else","\tscrollup(nlines, gui.dragged_wp == NULL);"," // Reset dragged_wp after using it. \"dragged_sb\" will have been reset for"," // the mouse-up event already, but we still want it to behave like when"," // dragging. But not the next click in an arrow."," if (gui.dragged_sb == SBAR_NONE)","\tgui.dragged_wp = NULL;",""," if (old_topline != wp-\u003ew_topline","#ifdef FEAT_DIFF","\t || old_topfill != wp-\u003ew_topfill","#endif","\t )"," {","\tif (get_scrolloff_value() != 0)","\t{","\t cursor_correct();\t\t// fix window for 'so'","\t update_topline();\t\t// avoid up/down jump","\t}","\tif (old_cursor.lnum != wp-\u003ew_cursor.lnum)","\t coladvance(wp-\u003ew_curswant);","\twp-\u003ew_scbind_pos = wp-\u003ew_topline;"," }",""," // Make sure wp-\u003ew_leftcol and wp-\u003ew_skipcol are correct."," validate_cursor();",""," curwin = save_wp;"," curbuf = save_wp-\u003ew_buffer;",""," /*"," * Don't call updateWindow() when nothing has changed (it will overwrite"," * the status line!)."," *"," * Check for ScreenLines, because in ex-mode, we don't have a valid display."," */"," if (ScreenLines != NULL \u0026\u0026 (old_topline != wp-\u003ew_topline","\t || wp-\u003ew_redr_type != 0","#ifdef FEAT_DIFF","\t || old_topfill != wp-\u003ew_topfill","#endif","\t ))"," {","\tint type = UPD_VALID;","","\tif (pum_visible())","\t{","\t type = UPD_NOT_VALID;","\t wp-\u003ew_lines_valid = 0;","\t}","","\t// Don't set must_redraw here, it may cause the popup menu to","\t// disappear when losing focus after a scrollbar drag.","\tif (wp-\u003ew_redr_type \u003c type)","\t wp-\u003ew_redr_type = type;","\tmch_disable_flush();","\tupdateWindow(wp); // update window, status line, and cmdline","\tmch_enable_flush();"," }",""," // May need to redraw the popup menu."," if (pum_visible())","\tpum_redraw();",""," return (wp == curwin \u0026\u0026 !EQUAL_POS(curwin-\u003ew_cursor, old_cursor));","}","","/*"," * Horizontal scrollbar stuff:"," */"," static void","gui_update_horiz_scrollbar(int force)","{"," long\tvalue, size, max;",""," if (!gui.which_scrollbars[SBAR_BOTTOM])","\treturn;",""," if (!force \u0026\u0026 gui.dragged_sb == SBAR_BOTTOM)","\treturn;",""," if (!force \u0026\u0026 curwin-\u003ew_p_wrap \u0026\u0026 gui.prev_wrap)","\treturn;",""," /*"," * It is possible for the cursor to be invalid if we're in the middle of"," * something (like changing files). If so, don't do anything for now."," */"," if (curwin-\u003ew_cursor.lnum \u003e curbuf-\u003eb_ml.ml_line_count)"," {","\tgui.bottom_sbar.value = -1;","\treturn;"," }",""," size = curwin-\u003ew_width;"," if (curwin-\u003ew_p_wrap)"," {","\tvalue = 0;","#ifdef SCROLL_PAST_END","\tmax = 0;","#else","\tmax = curwin-\u003ew_width - 1;","#endif"," }"," else"," {","\tvalue = curwin-\u003ew_leftcol;","\tmax = scroll_line_len(ui_find_longest_lnum());","","\tif (virtual_active())","\t{","\t // May move the cursor even further to the right.","\t if (curwin-\u003ew_virtcol \u003e= (colnr_T)max)","\t\tmax = curwin-\u003ew_virtcol;","\t}","","#ifndef SCROLL_PAST_END","\tmax += curwin-\u003ew_width - 1;","#endif","\t// The line number isn't scrolled, thus there is less space when","\t// 'number' or 'relativenumber' is set (also for 'foldcolumn').","\tsize -= curwin_col_off();","#ifndef SCROLL_PAST_END","\tmax -= curwin_col_off();","#endif"," }","","#ifndef SCROLL_PAST_END"," if (value \u003e max - size + 1)","\tvalue = max - size + 1;\t // limit the value to allowable range","#endif","","#ifdef FEAT_RIGHTLEFT"," if (curwin-\u003ew_p_rl)"," {","\tvalue = max + 1 - size - value;","\tif (value \u003c 0)","\t{","\t size += value;","\t value = 0;","\t}"," }","#endif"," if (!force \u0026\u0026 value == gui.bottom_sbar.value \u0026\u0026 size == gui.bottom_sbar.size","\t\t\t\t\t\t\u0026\u0026 max == gui.bottom_sbar.max)","\treturn;",""," gui.bottom_sbar.value = value;"," gui.bottom_sbar.size = size;"," gui.bottom_sbar.max = max;"," gui.prev_wrap = curwin-\u003ew_p_wrap;",""," gui_mch_set_scrollbar_thumb(\u0026gui.bottom_sbar, value, size, max);","}","","/*"," * Check that none of the colors are the same as the background color"," */"," void","gui_check_colors(void)","{"," if (gui.norm_pixel == gui.back_pixel || gui.norm_pixel == INVALCOLOR)"," {","\tgui_set_bg_color((char_u *)\"White\");","\tif (gui.norm_pixel == gui.back_pixel || gui.norm_pixel == INVALCOLOR)","\t gui_set_fg_color((char_u *)\"Black\");"," }","}",""," static void","gui_set_fg_color(char_u *name)","{"," gui.norm_pixel = gui_get_color(name);"," hl_set_fg_color_name(vim_strsave(name));","}",""," static void","gui_set_bg_color(char_u *name)","{"," gui.back_pixel = gui_get_color(name);"," hl_set_bg_color_name(vim_strsave(name));","}","","/*"," * Allocate a color by name."," * Returns INVALCOLOR and gives an error message when failed."," */"," guicolor_T","gui_get_color(char_u *name)","{"," guicolor_T\tt;",""," if (*name == NUL)","\treturn INVALCOLOR;"," t = gui_mch_get_color(name);",""," int is_none = STRCMP(name, \"none\") == 0;"," if (t == INVALCOLOR","#if defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK)","\t \u0026\u0026 (gui.in_use || is_none)","#endif","\t )"," {","\tif (is_none)","\t emsg(_(e_cannot_use_color_none_did_you_mean_none));","\telse","\t semsg(_(e_cannot_allocate_color_str), name);"," }"," return t;","}","","/*"," * Return the grey value of a color (range 0-255)."," */"," int","gui_get_lightness(guicolor_T pixel)","{"," long_u\trgb = (long_u)gui_mch_get_rgb(pixel);",""," return (int)( (((rgb \u003e\u003e 16) \u0026 0xff) * 299)","\t\t + (((rgb \u003e\u003e 8) \u0026 0xff) * 587)","\t\t + ((rgb\t \u0026 0xff) * 114)) / 1000;","}",""," char_u *","gui_bg_default(void)","{"," if (gui_get_lightness(gui.back_pixel) \u003c 127)","\treturn (char_u *)\"dark\";"," return (char_u *)\"light\";","}","","/*"," * Option initializations that can only be done after opening the GUI window."," */"," static void","init_gui_options(void)","{"," // Set the 'background' option according to the lightness of the"," // background color, unless the user has set it already."," if (!option_was_set((char_u *)\"bg\") \u0026\u0026 STRCMP(p_bg, gui_bg_default()) != 0)"," {","\tset_option_value_give_err((char_u *)\"bg\", 0L, gui_bg_default(), 0);","\thighlight_changed();"," }","}","","#if defined(FEAT_GUI_X11) || defined(PROTO)"," void","gui_new_scrollbar_colors(void)","{"," win_T\t*wp;",""," // Nothing to do if GUI hasn't started yet."," if (!gui.in_use)","\treturn;",""," FOR_ALL_WINDOWS(wp)"," {","\tgui_mch_set_scrollbar_colors(\u0026(wp-\u003ew_scrollbars[SBAR_LEFT]));","\tgui_mch_set_scrollbar_colors(\u0026(wp-\u003ew_scrollbars[SBAR_RIGHT]));"," }"," gui_mch_set_scrollbar_colors(\u0026gui.bottom_sbar);","}","#endif","","/*"," * Call this when focus has changed."," */"," void","gui_focus_change(int in_focus)","{","/*"," * Skip this code to avoid drawing the cursor when debugging and switching"," * between the debugger window and gvim."," */","#if 1"," gui.in_focus = in_focus;"," out_flush_cursor(TRUE, FALSE);","","# ifdef FEAT_XIM"," xim_set_focus(in_focus);","# endif",""," // Put events in the input queue only when allowed."," // ui_focus_change() isn't called directly, because it invokes"," // autocommands and that must not happen asynchronously."," if (!hold_gui_events)"," {","\tchar_u bytes[3];","","\tbytes[0] = CSI;","\tbytes[1] = KS_EXTRA;","\tbytes[2] = in_focus ? (int)KE_FOCUSGAINED : (int)KE_FOCUSLOST;","\tadd_to_input_buf(bytes, 3);"," }","#endif","}","","/*"," * When mouse moved: apply 'mousefocus'."," * Also updates the mouse pointer shape."," */"," static void","gui_mouse_focus(int x, int y)","{"," win_T\t*wp;"," char_u\tst[8];","","#ifdef FEAT_MOUSESHAPE"," // Get window pointer, and update mouse shape as well."," wp = xy2win(x, y, IGNORE_POPUP);","#endif",""," // Only handle this when 'mousefocus' set and ..."," if (p_mousef","\t \u0026\u0026 !hold_gui_events\t\t// not holding events","\t \u0026\u0026 (State \u0026 (MODE_NORMAL | MODE_INSERT))// Normal/Visual/Insert mode","\t \u0026\u0026 State != MODE_HITRETURN\t// but not hit-return prompt","\t \u0026\u0026 msg_scrolled == 0\t// no scrolled message","\t \u0026\u0026 !need_mouse_correct\t// not moving the pointer","\t \u0026\u0026 gui.in_focus)\t\t// gvim in focus"," {","\t// Don't move the mouse when it's left or right of the Vim window","\tif (x \u003c 0 || x \u003e Columns * gui.char_width)","\t return;","#ifndef FEAT_MOUSESHAPE","\twp = xy2win(x, y, IGNORE_POPUP);","#endif","\tif (wp == curwin || wp == NULL)","\t return;\t// still in the same old window, or none at all","","\t// Ignore position in the tab pages line.","\tif (Y_2_ROW(y) \u003c tabline_height())","\t return;","","\t/*","\t * Format a mouse click on status line input,","\t * ala gui_send_mouse_event(0, x, y, 0, 0);","\t * Trick: Use a column number -1, so that get_pseudo_mouse_code() will","\t * generate a K_LEFTMOUSE_NM key code.","\t */","\tif (finish_op)","\t{","\t // abort the current operator first","\t st[0] = ESC;","\t add_to_input_buf(st, 1);","\t}","\tst[0] = CSI;","\tst[1] = KS_MOUSE;","\tst[2] = KE_FILLER;","\tst[3] = (char_u)MOUSE_LEFT;","\tfill_mouse_coord(st + 4,","\t\twp-\u003ew_wincol == 0 ? -1 : wp-\u003ew_wincol + MOUSE_COLOFF,","\t\twp-\u003ew_height + W_WINROW(wp));","","\tadd_to_input_buf(st, 8);","\tst[3] = (char_u)MOUSE_RELEASE;","\tadd_to_input_buf(st, 8);","#ifdef FEAT_GUI_GTK","\t// Need to wake up the main loop","\tif (gtk_main_level() \u003e 0)","\t gtk_main_quit();","#endif"," }","}","","/*"," * Called when the mouse moved (but not when dragging)."," */"," void","gui_mouse_moved(int x, int y)","{"," // Ignore this while still starting up."," if (!gui.in_use || gui.starting)","\treturn;",""," // apply 'mousefocus' and pointer shape"," gui_mouse_focus(x, y);",""," if (p_mousemev","#ifdef FEAT_PROP_POPUP","\t|| popup_uses_mouse_move","#endif"," )","\t// Generate a mouse-moved event. For a \u003cMouseMove\u003e mapping. Or so the","\t// popup can perhaps be closed, just like in the terminal.","\tgui_send_mouse_event(MOUSE_MOVE, x, y, FALSE, 0);","}","","/*"," * Get the window where the mouse pointer is on."," * Returns NULL if not found."," */"," win_T *","gui_mouse_window(mouse_find_T popup)","{"," int\t\tx, y;",""," if (!(gui.in_use \u0026\u0026 (p_mousef || popup == FIND_POPUP)))","\treturn NULL;"," gui_mch_getmouse(\u0026x, \u0026y);",""," // Only use the mouse when it's on the Vim window"," if (x \u003e= 0 \u0026\u0026 x \u003c= Columns * gui.char_width","\t \u0026\u0026 y \u003e= 0 \u0026\u0026 Y_2_ROW(y) \u003e= tabline_height())","\treturn xy2win(x, y, popup);"," return NULL;","}","","/*"," * Called when mouse should be moved to window with focus."," */"," void","gui_mouse_correct(void)","{"," win_T\t*wp = NULL;",""," need_mouse_correct = FALSE;",""," wp = gui_mouse_window(IGNORE_POPUP);"," if (wp == curwin || wp == NULL)","\treturn;",""," // If in other than current window"," validate_cline_row();"," gui_mch_setmouse((int)W_ENDCOL(curwin) * gui.char_width - 3,","\t (W_WINROW(curwin) + curwin-\u003ew_wrow) * gui.char_height","\t + (gui.char_height) / 2);","}","","/*"," * Find window where the mouse pointer \"x\" / \"y\" coordinate is in."," * As a side effect update the shape of the mouse pointer."," */"," static win_T *","xy2win(int x, int y, mouse_find_T popup)","{"," int\t\trow;"," int\t\tcol;"," win_T\t*wp;",""," row = Y_2_ROW(y);"," col = X_2_COL(x);"," if (row \u003c 0 || col \u003c 0)\t\t// before first window","\treturn NULL;"," wp = mouse_find_win(\u0026row, \u0026col, popup);"," if (wp == NULL)","\treturn NULL;","#ifdef FEAT_MOUSESHAPE"," if (State == MODE_HITRETURN || State == MODE_ASKMORE)"," {","\tif (Y_2_ROW(y) \u003e= msg_row)","\t update_mouseshape(SHAPE_IDX_MOREL);","\telse","\t update_mouseshape(SHAPE_IDX_MORE);"," }"," else if (row \u003e wp-\u003ew_height)\t// below status line","\tupdate_mouseshape(SHAPE_IDX_CLINE);"," else if (!(State \u0026 MODE_CMDLINE) \u0026\u0026 wp-\u003ew_vsep_width \u003e 0 \u0026\u0026 col == wp-\u003ew_width","\t \u0026\u0026 (row != wp-\u003ew_height || !stl_connected(wp)) \u0026\u0026 msg_scrolled == 0)","\tupdate_mouseshape(SHAPE_IDX_VSEP);"," else if (!(State \u0026 MODE_CMDLINE) \u0026\u0026 wp-\u003ew_status_height \u003e 0","\t\t\t\t \u0026\u0026 row == wp-\u003ew_height \u0026\u0026 msg_scrolled == 0)","\tupdate_mouseshape(SHAPE_IDX_STATUS);"," else","\tupdate_mouseshape(-2);","#endif"," return wp;","}","","/*"," * \":gui\" and \":gvim\": Change from the terminal version to the GUI version."," * File names may be given to redefine the args list."," */"," void","ex_gui(exarg_T *eap)","{"," char_u\t*arg = eap-\u003earg;",""," /*"," * Check for \"-f\" argument: foreground, don't fork."," * Also don't fork when started with \"gvim -f\"."," * Do fork when using \"gui -b\"."," */"," if (arg[0] == '-'","\t \u0026\u0026 (arg[1] == 'f' || arg[1] == 'b')","\t \u0026\u0026 (arg[2] == NUL || VIM_ISWHITE(arg[2])))"," {","\tgui.dofork = (arg[1] == 'b');","\teap-\u003earg = skipwhite(eap-\u003earg + 2);"," }"," if (!gui.in_use)"," {","#if defined(VIMDLL) \u0026\u0026 !defined(EXPERIMENTAL_GUI_CMD)","\tif (!gui.starting)","\t{","\t emsg(_(e_gui_cannot_be_used_not_enabled_at_compile_time));","\t return;","\t}","#endif","\t// Clear the command. Needed for when forking+exiting, to avoid part","\t// of the argument ending up after the shell prompt.","\tmsg_clr_eos_force();","#ifdef GUI_MAY_SPAWN","\tif (!ends_excmd2(eap-\u003ecmd, eap-\u003earg))","\t gui_start(eap-\u003earg);","\telse","#endif","\t gui_start(NULL);","#ifdef FEAT_JOB_CHANNEL","\tchannel_gui_register_all();","#endif"," }"," if (!ends_excmd2(eap-\u003ecmd, eap-\u003earg))","\tex_next(eap);","}","","#if ((defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK) \\","\t || defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_PHOTON) \\","\t || defined(FEAT_GUI_HAIKU)) \\","\t \u0026\u0026 defined(FEAT_TOOLBAR)) || defined(PROTO)","/*"," * This is shared between Haiku, Motif, and GTK."," */","","/*"," * Callback function for do_in_runtimepath()."," */"," static void","gfp_setname(char_u *fname, void *cookie)","{"," char_u\t*gfp_buffer = cookie;",""," if (STRLEN(fname) \u003e= MAXPATHL)","\t*gfp_buffer = NUL;"," else","\tSTRCPY(gfp_buffer, fname);","}","","/*"," * Find the path of bitmap \"name\" with extension \"ext\" in 'runtimepath'."," * Return FAIL for failure and OK if buffer[MAXPATHL] contains the result."," */"," int","gui_find_bitmap(char_u *name, char_u *buffer, char *ext)","{"," if (STRLEN(name) \u003e MAXPATHL - 14)","\treturn FAIL;"," vim_snprintf((char *)buffer, MAXPATHL, \"bitmaps/%s.%s\", name, ext);"," if (do_in_runtimepath(buffer, 0, gfp_setname, buffer) == FAIL","\t\t\t\t\t\t\t || *buffer == NUL)","\treturn FAIL;"," return OK;","}","","# if !defined(FEAT_GUI_GTK) || defined(PROTO)","/*"," * Given the name of the \"icon=\" argument, try finding the bitmap file for the"," * icon. If it is an absolute path name, use it as it is. Otherwise append"," * \"ext\" and search for it in 'runtimepath'."," * The result is put in \"buffer[MAXPATHL]\". If something fails \"buffer\""," * contains \"name\"."," */"," void","gui_find_iconfile(char_u *name, char_u *buffer, char *ext)","{"," char_u\tbuf[MAXPATHL + 1];",""," expand_env(name, buffer, MAXPATHL);"," if (!mch_isFullName(buffer) \u0026\u0026 gui_find_bitmap(buffer, buf, ext) == OK)","\tSTRCPY(buffer, buf);","}","# endif","#endif","","#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11)|| defined(FEAT_GUI_HAIKU) \\","\t|| defined(PROTO)"," void","display_errors(void)","{"," char_u\t*p;",""," if (isatty(2))"," {","\tfflush(stderr);","\treturn;"," }",""," if (error_ga.ga_data == NULL)","\treturn;",""," // avoid putting up a message box with blanks only"," for (p = (char_u *)error_ga.ga_data; *p != NUL; ++p)","\tif (!SAFE_isspace(*p))","\t{","\t // Truncate a very long message, it will go off-screen.","\t if (STRLEN(p) \u003e 2000)","\t\tSTRCPY(p + 2000 - 14, \"...(truncated)\");","\t (void)do_dialog(VIM_ERROR, (char_u *)_(\"Error\"),","\t\t p, (char_u *)_(\"\u0026Ok\"), 1, NULL, FALSE);","\t break;","\t}"," ga_clear(\u0026error_ga);","}","#endif","","#if defined(NO_CONSOLE_INPUT) || defined(PROTO)","/*"," * Return TRUE if still starting up and there is no place to enter text."," * For GTK and X11 we check if stderr is not a tty, which means we were"," * (probably) started from the desktop. Also check stdin, \"vim \u003e\u0026 file\" does"," * allow typing on stdin."," */"," int","no_console_input(void)","{"," return ((!gui.in_use || gui.starting)","# ifndef NO_CONSOLE","\t \u0026\u0026 !isatty(0) \u0026\u0026 !isatty(2)","# endif","\t );","}","#endif","","#if defined(FIND_REPLACE_DIALOG) \\","\t|| defined(NEED_GUI_UPDATE_SCREEN) \\","\t|| defined(PROTO)","/*"," * Update the current window and the screen."," */"," void","gui_update_screen(void)","{","# ifdef FEAT_CONCEAL"," linenr_T\tconceal_old_cursor_line = 0;"," linenr_T\tconceal_new_cursor_line = 0;"," int\t\tconceal_update_lines = FALSE;","# endif",""," update_topline();"," validate_cursor();",""," // Trigger CursorMoved if the cursor moved."," if (!finish_op \u0026\u0026 (has_cursormoved()","# ifdef FEAT_PROP_POPUP","\t\t|| popup_visible","# endif","# ifdef FEAT_CONCEAL","\t\t|| curwin-\u003ew_p_cole \u003e 0","# endif","\t\t) \u0026\u0026 !EQUAL_POS(last_cursormoved, curwin-\u003ew_cursor))"," {","\tif (has_cursormoved())","\t apply_autocmds(EVENT_CURSORMOVED, NULL, NULL, FALSE, curbuf);","# ifdef FEAT_PROP_POPUP","\tif (popup_visible)","\t popup_check_cursor_pos();","# endif","# ifdef FEAT_CONCEAL","\tif (curwin-\u003ew_p_cole \u003e 0)","\t{","\t conceal_old_cursor_line = last_cursormoved.lnum;","\t conceal_new_cursor_line = curwin-\u003ew_cursor.lnum;","\t conceal_update_lines = TRUE;","\t}","# endif","\tlast_cursormoved = curwin-\u003ew_cursor;"," }",""," if (!finish_op)","\tmay_trigger_win_scrolled_resized();","","# ifdef FEAT_CONCEAL"," if (conceal_update_lines","\t \u0026\u0026 (conceal_old_cursor_line != conceal_new_cursor_line","\t\t|| conceal_cursor_line(curwin)","\t\t|| need_cursor_line_redraw))"," {","\tif (conceal_old_cursor_line != conceal_new_cursor_line)","\t redrawWinline(curwin, conceal_old_cursor_line);","\tredrawWinline(curwin, conceal_new_cursor_line);","\tcurwin-\u003ew_valid \u0026= ~VALID_CROW;","\tneed_cursor_line_redraw = FALSE;"," }","# endif"," update_screen(0);\t// may need to update the screen"," setcursor();"," out_flush_cursor(TRUE, FALSE);","}","#endif","","#if defined(FIND_REPLACE_DIALOG) || defined(PROTO)","/*"," * Get the text to use in a find/replace dialog. Uses the last search pattern"," * if the argument is empty."," * Returns an allocated string."," */"," char_u *","get_find_dialog_text("," char_u\t*arg,"," int\t\t*wwordp,\t// return: TRUE if \\\u003c \\\u003e found"," int\t\t*mcasep)\t// return: TRUE if \\C found","{"," char_u\t*text;",""," if (*arg == NUL)","\ttext = last_search_pat();"," else","\ttext = arg;"," if (text != NULL)"," {","\ttext = vim_strsave(text);","\tif (text != NULL)","\t{","\t int len = (int)STRLEN(text);","\t int i;","","\t // Remove \"\\V\"","\t if (len \u003e= 2 \u0026\u0026 STRNCMP(text, \"\\\\V\", 2) == 0)","\t {","\t\tmch_memmove(text, text + 2, (size_t)(len - 1));","\t\tlen -= 2;","\t }","","\t // Recognize \"\\c\" and \"\\C\" and remove.","\t if (len \u003e= 2 \u0026\u0026 *text == '\\\\' \u0026\u0026 (text[1] == 'c' || text[1] == 'C'))","\t {","\t\t*mcasep = (text[1] == 'C');","\t\tmch_memmove(text, text + 2, (size_t)(len - 1));","\t\tlen -= 2;","\t }","","\t // Recognize \"\\\u003ctext\\\u003e\" and remove.","\t if (len \u003e= 4","\t\t \u0026\u0026 STRNCMP(text, \"\\\\\u003c\", 2) == 0","\t\t \u0026\u0026 STRNCMP(text + len - 2, \"\\\\\u003e\", 2) == 0)","\t {","\t\t*wwordp = TRUE;","\t\tmch_memmove(text, text + 2, (size_t)(len - 4));","\t\ttext[len - 4] = NUL;","\t }","","\t // Recognize \"\\/\" or \"\\?\" and remove.","\t for (i = 0; i + 1 \u003c len; ++i)","\t\tif (text[i] == '\\\\' \u0026\u0026 (text[i + 1] == '/'","\t\t\t\t\t\t || text[i + 1] == '?'))","\t\t{","\t\t mch_memmove(text + i, text + i + 1, (size_t)(len - i));","\t\t --len;","\t\t}","\t}"," }"," return text;","}","","/*"," * Handle the press of a button in the find-replace dialog."," * Return TRUE when something was added to the input buffer."," */"," int","gui_do_findrepl("," int\t\tflags,\t\t// one of FRD_REPLACE, FRD_FINDNEXT, etc."," char_u\t*find_text,"," char_u\t*repl_text,"," int\t\tdown)\t\t// Search downwards.","{"," garray_T\tga;"," int\t\ti;"," int\t\ttype = (flags \u0026 FRD_TYPE_MASK);"," char_u\t*p;"," regmatch_T\tregmatch;"," int\t\tsave_did_emsg = did_emsg;"," static int busy = FALSE;",""," // When the screen is being updated we should not change buffers and"," // windows structures, it may cause freed memory to be used. Also don't"," // do this recursively (pressing \"Find\" quickly several times)."," if (updating_screen || busy)","\treturn FALSE;",""," // refuse replace when text cannot be changed"," if ((type == FRD_REPLACE || type == FRD_REPLACEALL) \u0026\u0026 text_locked())","\treturn FALSE;",""," busy = TRUE;",""," ga_init2(\u0026ga, 1, 100);"," if (type == FRD_REPLACEALL)","\tga_concat(\u0026ga, (char_u *)\"%s/\");",""," ga_concat(\u0026ga, (char_u *)\"\\\\V\");"," if (flags \u0026 FRD_MATCH_CASE)","\tga_concat(\u0026ga, (char_u *)\"\\\\C\");"," else","\tga_concat(\u0026ga, (char_u *)\"\\\\c\");"," if (flags \u0026 FRD_WHOLE_WORD)","\tga_concat(\u0026ga, (char_u *)\"\\\\\u003c\");"," // escape slash and backslash"," p = vim_strsave_escaped(find_text, (char_u *)\"/\\\\\");"," if (p != NULL)","\tga_concat(\u0026ga, p);"," vim_free(p);"," if (flags \u0026 FRD_WHOLE_WORD)","\tga_concat(\u0026ga, (char_u *)\"\\\\\u003e\");",""," if (type == FRD_REPLACEALL)"," {","\tga_concat(\u0026ga, (char_u *)\"/\");","\t// Escape slash and backslash.","\t// Also escape tilde and ampersand if 'magic' is set.","\tp = vim_strsave_escaped(repl_text,","\t\t\t\tp_magic ? (char_u *)\"/\\\\~\u0026\" : (char_u *)\"/\\\\\");","\tif (p != NULL)","\t ga_concat(\u0026ga, p);","\tvim_free(p);","\tga_concat(\u0026ga, (char_u *)\"/g\");"," }"," ga_append(\u0026ga, NUL);",""," if (type == FRD_REPLACE)"," {","\t// Do the replacement when the text at the cursor matches. Thus no","\t// replacement is done if the cursor was moved!","\tregmatch.regprog = vim_regcomp(ga.ga_data, RE_MAGIC + RE_STRING);","\tregmatch.rm_ic = 0;","\tif (regmatch.regprog != NULL)","\t{","\t p = ml_get_cursor();","\t if (vim_regexec_nl(\u0026regmatch, p, (colnr_T)0)","\t\t\t\t\t\t \u0026\u0026 regmatch.startp[0] == p)","\t {","\t\t// Clear the command line to remove any old \"No match\"","\t\t// error.","\t\tmsg_end_prompt();","","\t\tif (u_save_cursor() == OK)","\t\t{","\t\t // A button was pressed thus undo should be synced.","\t\t u_sync(FALSE);","","\t\t del_bytes((long)(regmatch.endp[0] - regmatch.startp[0]),","\t\t\t\t\t\t\t\tFALSE, FALSE);","\t\t ins_str(repl_text, STRLEN(repl_text));","\t\t}","\t }","\t else","\t\tmsg(_(\"No match at cursor, finding next\"));","\t vim_regfree(regmatch.regprog);","\t}"," }",""," if (type == FRD_REPLACEALL)"," {","\t// A button was pressed, thus undo should be synced.","\tu_sync(FALSE);","\tdo_cmdline_cmd(ga.ga_data);"," }"," else"," {","\tint searchflags = SEARCH_MSG + SEARCH_MARK;","","\t// Search for the next match.","\t// Don't skip text under cursor for single replace.","\tif (type == FRD_REPLACE)","\t searchflags += SEARCH_START;","\ti = msg_scroll;","\tif (down)","\t{","\t (void)do_search(NULL, '/', '/', ga.ga_data, STRLEN(ga.ga_data), 1L, searchflags, NULL);","\t}","\telse","\t{","\t // We need to escape '?' if and only if we are searching in the up","\t // direction","\t p = vim_strsave_escaped(ga.ga_data, (char_u *)\"?\");","\t if (p != NULL)","\t\t(void)do_search(NULL, '?', '?', p, STRLEN(p), 1L, searchflags, NULL);","\t vim_free(p);","\t}","","\tmsg_scroll = i;\t // don't let an error message set msg_scroll"," }",""," // Don't want to pass did_emsg to other code, it may cause disabling"," // syntax HL if we were busy redrawing."," did_emsg = save_did_emsg;",""," if (State \u0026 (MODE_NORMAL | MODE_INSERT))"," {","\tgui_update_screen();\t\t// update the screen","\tmsg_didout = 0;\t\t\t// overwrite any message","\tneed_wait_return = FALSE;\t// don't wait for return"," }",""," vim_free(ga.ga_data);"," busy = FALSE;"," return (ga.ga_len \u003e 0);","}","","#endif","","#if defined(HAVE_DROP_FILE) || defined(PROTO)","/*"," * Jump to the window at specified point (x, y)."," */"," static void","gui_wingoto_xy(int x, int y)","{"," int\t\trow = Y_2_ROW(y);"," int\t\tcol = X_2_COL(x);"," win_T\t*wp;",""," if (row \u003c 0 || col \u003c 0)","\treturn;",""," wp = mouse_find_win(\u0026row, \u0026col, FAIL_POPUP);"," if (wp != NULL \u0026\u0026 wp != curwin)","\twin_goto(wp);","}","","/*"," * Function passed to handle_drop() for the actions to be done after the"," * argument list has been updated."," */"," static void","drop_callback(void *cookie)","{"," char_u\t*p = cookie;"," int\t\tdo_shorten = FALSE;",""," // If Shift held down, change to first file's directory. If the first"," // item is a directory, change to that directory (and let the explorer"," // plugin show the contents)."," if (p != NULL)"," {","\tif (mch_isdir(p))","\t{","\t if (mch_chdir((char *)p) == 0)","\t\tdo_shorten = TRUE;","\t}","\telse if (vim_chdirfile(p, \"drop\") == OK)","\t do_shorten = TRUE;","\tvim_free(p);","\tif (do_shorten)","\t{","\t shorten_fnames(TRUE);","\t last_chdir_reason = \"drop\";","\t}"," }",""," // Update the screen display"," update_screen(UPD_NOT_VALID);","# ifdef FEAT_MENU"," gui_update_menus(0);","# endif"," maketitle();"," setcursor();"," out_flush_cursor(FALSE, FALSE);","}","","/*"," * Process file drop. Mouse cursor position, key modifiers, name of files"," * and count of files are given. Argument \"fnames[count]\" has full pathnames"," * of dropped files, they will be freed in this function, and caller can't use"," * fnames after call this function."," */"," void","gui_handle_drop("," int\t\tx UNUSED,"," int\t\ty UNUSED,"," int_u\tmodifiers,"," char_u\t**fnames,"," int\t\tcount)","{"," int\t\ti;"," char_u\t*p;"," static int\tentered = FALSE;",""," /*"," * This function is called by event handlers. Just in case we get a"," * second event before the first one is handled, ignore the second one."," * Not sure if this can ever happen, just in case."," */"," if (entered)","\treturn;"," entered = TRUE;",""," /*"," * When the cursor is at the command line, add the file names to the"," * command line, don't edit the files."," */"," if (State \u0026 MODE_CMDLINE)"," {","\tshorten_filenames(fnames, count);","\tfor (i = 0; i \u003c count; ++i)","\t{","\t if (fnames[i] != NULL)","\t {","\t\tif (i \u003e 0)","\t\t add_to_input_buf((char_u*)\" \", 1);","","\t\t// We don't know what command is used thus we can't be sure","\t\t// about which characters need to be escaped. Only escape the","\t\t// most common ones.","# ifdef BACKSLASH_IN_FILENAME","\t\tp = vim_strsave_escaped(fnames[i], (char_u *)\" \\t\\\"|\");","# else","\t\tp = vim_strsave_escaped(fnames[i], (char_u *)\"\\\\ \\t\\\"|\");","# endif","\t\tif (p != NULL)","\t\t add_to_input_buf_csi(p, (int)STRLEN(p));","\t\tvim_free(p);","\t\tvim_free(fnames[i]);","\t }","\t}","\tvim_free(fnames);"," }"," else"," {","\t// Go to the window under mouse cursor, then shorten given \"fnames\" by","\t// current window, because a window can have local current dir.","\tgui_wingoto_xy(x, y);","\tshorten_filenames(fnames, count);","","\t// If Shift held down, remember the first item.","\tif ((modifiers \u0026 MOUSE_SHIFT) != 0)","\t p = vim_strsave(fnames[0]);","\telse","\t p = NULL;","","\t// Handle the drop, :edit or :split to get to the file. This also","\t// frees fnames[]. Skip this if there is only one item, it's a","\t// directory and Shift is held down.","\tif (count == 1 \u0026\u0026 (modifiers \u0026 MOUSE_SHIFT) != 0","\t\t\t\t\t\t \u0026\u0026 mch_isdir(fnames[0]))","\t{","\t vim_free(fnames[0]);","\t vim_free(fnames);","\t vim_free(p);","\t}","\telse","\t handle_drop(count, fnames, (modifiers \u0026 MOUSE_CTRL) != 0,","\t\t\t\t\t\t drop_callback, (void *)p);"," }",""," entered = FALSE;","}","#endif","","/*"," * Check if \"key\" is to interrupt us. Handles a key that has not had modifiers"," * applied yet."," * Return the key with modifiers applied if so, NUL if not."," */"," int","check_for_interrupt(int key, int modifiers_arg)","{"," int modifiers = modifiers_arg;"," int c = merge_modifyOtherKeys(key, \u0026modifiers);",""," if ((c == Ctrl_C \u0026\u0026 ctrl_c_interrupts)","#ifdef UNIX","\t || (intr_char != Ctrl_C \u0026\u0026 c == intr_char)","#endif","\t )"," {","\tgot_int = TRUE;","\treturn c;"," }"," return NUL;","}","","/*"," * If the \"--gui-log-file fname\" argument is given write the dialog title and"," * message to a file and return TRUE. Otherwise return FALSE."," * When there is any problem opening the file or writing to the file this is"," * ignored, showing the dialog might get the test to get stuck."," */"," int","gui_dialog_log(char_u *title, char_u *message)","{"," char_u *fname = get_gui_dialog_file();"," FILE *fd;",""," if (fname == NULL)","\treturn FALSE;",""," fd = mch_fopen((char *)fname, \"a\");"," if (fd != NULL)"," {","\tfprintf(fd, \"%s: %s\\n\", title, message);","\tfclose(fd);"," }"," return TRUE;","}"],"stylingDirectives":[[[0,31,"pl-c"]],[[0,2,"pl-c"]],[[0,39,"pl-c"]],[[0,38,"pl-c"]],[[0,2,"pl-c"]],[[0,66,"pl-c"]],[[0,69,"pl-c"]],[[0,57,"pl-c"]],[[0,3,"pl-c"]],[],[[0,8,"pl-k"],[9,16,"pl-s"]],[],[[0,47,"pl-c"]],[[0,5,"pl-smi"],[6,9,"pl-s1"]],[],[[0,3,"pl-k"],[12,24,"pl-c1"],[26,28,"pl-c1"],[38,50,"pl-c1"]],[[0,8,"pl-k"],[9,28,"pl-c1"]],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,27,"pl-en"],[28,34,"pl-smi"],[35,36,"pl-c1"],[36,45,"pl-s1"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,25,"pl-en"],[26,30,"pl-smi"]],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,35,"pl-en"],[36,40,"pl-smi"]],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,22,"pl-en"],[23,29,"pl-smi"],[30,31,"pl-c1"],[33,36,"pl-smi"]],[[0,6,"pl-k"],[7,10,"pl-smi"],[11,25,"pl-en"],[26,29,"pl-smi"],[30,33,"pl-s1"],[35,38,"pl-smi"],[39,44,"pl-s1"],[46,56,"pl-smi"],[57,59,"pl-s1"],[61,71,"pl-smi"],[72,74,"pl-s1"],[76,79,"pl-smi"],[80,84,"pl-s1"]],[[0,6,"pl-k"],[7,10,"pl-smi"],[11,28,"pl-en"],[29,35,"pl-smi"],[36,37,"pl-c1"],[37,38,"pl-s1"],[40,43,"pl-smi"],[44,47,"pl-s1"],[49,52,"pl-smi"],[53,58,"pl-s1"],[60,70,"pl-smi"],[71,73,"pl-s1"],[75,85,"pl-smi"],[86,88,"pl-s1"],[90,93,"pl-smi"],[94,98,"pl-s1"]],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,28,"pl-en"],[29,32,"pl-smi"],[33,36,"pl-s1"],[38,41,"pl-smi"],[42,47,"pl-s1"]],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,28,"pl-en"],[29,32,"pl-smi"],[33,36,"pl-s1"],[38,41,"pl-smi"],[42,47,"pl-s1"]],[[0,6,"pl-k"],[7,10,"pl-smi"],[11,24,"pl-en"],[25,28,"pl-smi"],[29,30,"pl-s1"],[32,35,"pl-smi"],[36,37,"pl-s1"],[39,42,"pl-smi"],[43,44,"pl-c1"],[44,48,"pl-s1"]],[[0,3,"pl-k"],[12,28,"pl-c1"],[30,32,"pl-c1"],[41,46,"pl-c1"]],[[0,6,"pl-k"],[7,10,"pl-smi"],[11,26,"pl-en"],[27,31,"pl-smi"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,28,"pl-en"],[29,34,"pl-smi"],[35,36,"pl-c1"],[36,38,"pl-s1"],[40,43,"pl-smi"],[44,49,"pl-s1"],[51,54,"pl-smi"],[55,61,"pl-s1"]],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,38,"pl-en"],[39,42,"pl-smi"]],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,28,"pl-en"],[29,35,"pl-smi"],[36,37,"pl-c1"],[37,41,"pl-s1"]],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,28,"pl-en"],[29,35,"pl-smi"],[36,37,"pl-c1"],[37,41,"pl-s1"]],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,28,"pl-en"],[29,33,"pl-smi"]],[[0,6,"pl-k"],[7,12,"pl-smi"],[13,14,"pl-c1"],[14,20,"pl-en"],[21,24,"pl-smi"],[25,26,"pl-s1"],[28,31,"pl-smi"],[32,33,"pl-s1"],[35,47,"pl-smi"],[48,53,"pl-s1"]],[],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,23,"pl-en"],[24,28,"pl-smi"]],[],[[0,6,"pl-k"],[7,10,"pl-smi"],[11,30,"pl-en"],[31,34,"pl-smi"],[35,37,"pl-s1"]],[],[[0,40,"pl-c"]],[[0,4,"pl-k"]],[[4,22,"pl-c1"]],[[4,16,"pl-c1"]],[[4,20,"pl-c1"]],[],[[0,6,"pl-k"]],[],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,29,"pl-en"],[30,34,"pl-smi"]],[],[[0,6,"pl-k"],[7,10,"pl-smi"],[11,28,"pl-s1"],[29,30,"pl-c1"],[37,62,"pl-c"]],[[0,6,"pl-k"],[7,10,"pl-smi"],[11,24,"pl-s1"],[25,26,"pl-c1"],[27,28,"pl-c1"],[30,69,"pl-c"]],[],[[0,2,"pl-c"]],[[0,56,"pl-c"]],[[0,2,"pl-c"]],[[0,74,"pl-c"]],[[0,73,"pl-c"]],[[0,18,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,9,"pl-en"],[10,16,"pl-smi"],[17,18,"pl-c1"],[18,21,"pl-s1"],[22,28,"pl-c1"]],[],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,20,"pl-s1"]],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[4,10,"pl-k"],[11,14,"pl-smi"],[15,24,"pl-s1"],[25,26,"pl-c1"],[27,28,"pl-c1"]],[[0,6,"pl-k"]],[[0,3,"pl-k"],[12,25,"pl-c1"],[27,29,"pl-c1"],[38,58,"pl-c1"]],[[4,8,"pl-smi"],[9,10,"pl-c1"],[10,13,"pl-s1"],[14,15,"pl-c1"],[16,20,"pl-c1"]],[[0,6,"pl-k"]],[],[[4,12,"pl-s1"],[13,14,"pl-c1"],[15,26,"pl-en"],[27,33,"pl-c1"]],[],[[4,12,"pl-en"],[13,23,"pl-c1"],[27,43,"pl-c"]],[[4,6,"pl-k"],[8,19,"pl-s1"]],[[1,10,"pl-en"],[16,46,"pl-c"]],[[4,15,"pl-s1"],[16,17,"pl-c1"]],[],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[4,6,"pl-c1"],[6,15,"pl-s1"]],[[4,6,"pl-c"]],[[0,58,"pl-c"]],[[0,69,"pl-c"]],[[0,78,"pl-c"]],[[0,23,"pl-c"]],[[0,76,"pl-c"]],[[0,34,"pl-c"]],[[0,7,"pl-c"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,18,"pl-c1"],[19,21,"pl-c1"],[23,33,"pl-en"],[34,38,"pl-s1"],[40,47,"pl-c1"],[49,51,"pl-c1"],[52,61,"pl-s1"],[65,66,"pl-c1"]],[[0,7,"pl-k"],[8,24,"pl-c1"]],[[5,7,"pl-c1"],[9,24,"pl-en"]],[[0,7,"pl-k"]],[],[],[[1,12,"pl-en"]],[],[[4,8,"pl-k"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,20,"pl-c1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,19,"pl-c1"]],[[0,7,"pl-k"],[8,28,"pl-c1"]],[[5,7,"pl-c1"],[8,11,"pl-s1"],[12,18,"pl-c1"]],[[0,7,"pl-k"]],[[5,7,"pl-c1"],[9,19,"pl-en"],[20,24,"pl-s1"],[26,33,"pl-c1"]],[[5,7,"pl-c1"],[9,24,"pl-en"]],[[0,7,"pl-k"],[8,24,"pl-c1"]],[[5,7,"pl-c1"],[9,24,"pl-en"]],[[0,7,"pl-k"]],[],[],[[0,7,"pl-k"],[8,28,"pl-c1"]],[[1,4,"pl-s1"],[5,6,"pl-c1"]],[[0,7,"pl-k"]],[[5,21,"pl-en"],[22,25,"pl-s1"]],[],[[4,8,"pl-k"]],[[0,6,"pl-k"]],[],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[1,60,"pl-c"]],[[1,44,"pl-c"]],[[1,3,"pl-k"],[5,23,"pl-en"],[26,28,"pl-c1"],[29,31,"pl-c1"]],[[5,29,"pl-en"],[30,31,"pl-c1"]],[[0,6,"pl-k"]],[[1,18,"pl-en"]],[],[],[[4,6,"pl-k"],[9,12,"pl-s1"],[13,19,"pl-c1"],[23,45,"pl-c"]],[],[[1,29,"pl-c"]],[[1,3,"pl-c"]],[[1,71,"pl-c"]],[[1,55,"pl-c"]],[[1,62,"pl-c"]],[[1,69,"pl-c"]],[[1,70,"pl-c"]],[[1,65,"pl-c"]],[[1,27,"pl-c"]],[[1,12,"pl-en"],[13,21,"pl-s1"]],[[1,9,"pl-en"],[10,19,"pl-c1"],[23,42,"pl-c"]],[[1,19,"pl-en"],[24,55,"pl-c"]],[[0,3,"pl-k"],[12,25,"pl-c1"],[27,29,"pl-c1"],[38,58,"pl-c1"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,11,"pl-c1"],[12,16,"pl-c1"]],[[5,9,"pl-en"],[10,13,"pl-s1"]],[[0,6,"pl-k"]],[],[],[[4,12,"pl-en"],[13,21,"pl-s1"]],[],[[4,77,"pl-c"]],[[4,27,"pl-c"]],[[4,18,"pl-en"]],[[4,18,"pl-en"],[19,22,"pl-s1"],[23,29,"pl-c1"],[32,46,"pl-c1"],[49,64,"pl-c1"]],[[9,13,"pl-c1"],[15,19,"pl-c1"],[28,34,"pl-s1"]],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[4,6,"pl-c1"],[6,15,"pl-s1"]],[[0,6,"pl-k"]],[],[],[[0,2,"pl-c"]],[[0,56,"pl-c"]],[[0,64,"pl-c"]],[[0,2,"pl-c"]],[[0,70,"pl-c"]],[[0,73,"pl-c"]],[[0,72,"pl-c"]],[[0,72,"pl-c"]],[[0,71,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,17,"pl-en"],[18,22,"pl-smi"]],[],[[4,10,"pl-k"],[11,14,"pl-smi"],[15,24,"pl-s1"],[25,26,"pl-c1"],[27,28,"pl-c1"]],[],[[4,6,"pl-c1"],[6,15,"pl-s1"]],[[4,7,"pl-s1"],[8,16,"pl-c1"],[17,18,"pl-c1"]],[],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[4,7,"pl-s1"],[8,18,"pl-c1"],[19,20,"pl-c1"],[21,37,"pl-c1"]],[[0,6,"pl-k"]],[],[[4,15,"pl-en"],[17,23,"pl-smi"],[24,25,"pl-c1"],[26,39,"pl-s"]],[[4,7,"pl-s1"],[8,16,"pl-c1"],[17,18,"pl-c1"],[19,28,"pl-s1"],[29,30,"pl-c1"],[31,32,"pl-c1"]],[],[[0,3,"pl-k"],[12,24,"pl-c1"],[26,28,"pl-c1"],[37,49,"pl-c1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,18,"pl-c1"]],[],[[0,7,"pl-k"],[8,17,"pl-c1"]],[[1,7,"pl-smi"],[8,18,"pl-s1"]],[[1,8,"pl-smi"],[9,10,"pl-c1"],[10,21,"pl-s1"]],[],[[1,3,"pl-k"],[5,23,"pl-en"],[24,25,"pl-c1"],[25,35,"pl-s1"],[37,38,"pl-c1"],[38,49,"pl-s1"],[51,53,"pl-c1"],[54,56,"pl-c1"]],[[5,19,"pl-en"],[20,31,"pl-c1"],[34,38,"pl-smi"],[39,49,"pl-s1"]],[[0,7,"pl-k"]],[],[[1,43,"pl-c"]],[[1,15,"pl-en"]],[],[[0,6,"pl-k"]],[[4,6,"pl-c1"],[6,15,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,19,"pl-c1"]],[],[[0,16,"pl-c"]],[[0,4,"pl-k"],[13,28,"pl-c1"],[30,32,"pl-c1"],[41,56,"pl-c1"]],[[0,10,"pl-k"],[11,23,"pl-s"]],[[0,7,"pl-k"]],[],[[0,2,"pl-c"]],[[0,72,"pl-c"]],[[0,20,"pl-c"]],[[0,2,"pl-c"]],[[0,70,"pl-c"]],[[0,71,"pl-c"]],[[0,11,"pl-c"]],[[0,2,"pl-c"]],[[0,72,"pl-c"]],[[0,71,"pl-c"]],[[0,29,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,11,"pl-en"],[12,16,"pl-smi"]],[],[[4,7,"pl-smi"],[9,15,"pl-s1"],[16,17,"pl-c1"],[20,52,"pl-c"]],[[4,7,"pl-smi"],[9,19,"pl-s1"]],[[4,7,"pl-smi"],[9,15,"pl-s1"]],[[4,7,"pl-smi"],[9,20,"pl-s1"]],[[4,9,"pl-smi"],[10,13,"pl-s1"],[14,15,"pl-c1"],[16,18,"pl-c1"]],[],[[0,4,"pl-k"],[13,25,"pl-c1"],[27,29,"pl-c1"],[38,47,"pl-c1"]],[[4,37,"pl-c"]],[[4,16,"pl-en"]],[[0,7,"pl-k"]],[],[[4,72,"pl-c"]],[[4,72,"pl-c"]],[[4,12,"pl-c"]],[[4,14,"pl-s1"],[15,16,"pl-c1"],[18,22,"pl-en"],[23,29,"pl-s1"],[31,32,"pl-c1"],[33,34,"pl-c1"]],[[4,7,"pl-s1"],[8,9,"pl-c1"],[10,14,"pl-en"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"],[21,34,"pl-c"]],[],[[1,5,"pl-en"],[6,7,"pl-en"],[8,46,"pl-s1"]],[[1,7,"pl-k"]],[],[[4,8,"pl-k"],[9,11,"pl-k"],[13,16,"pl-s1"],[17,18,"pl-c1"],[19,20,"pl-c1"],[26,35,"pl-c"]],[],[[1,62,"pl-c"]],[[1,67,"pl-c"]],[[1,10,"pl-c"]],[[1,3,"pl-k"],[6,16,"pl-s1"]],[],[[5,64,"pl-c"]],[[5,40,"pl-c"]],[[5,10,"pl-en"],[11,17,"pl-s1"],[18,19,"pl-c1"]],[[5,11,"pl-s1"],[12,13,"pl-c1"],[14,33,"pl-en"],[34,40,"pl-s1"],[41,42,"pl-c1"]],[[5,7,"pl-k"],[9,15,"pl-s1"],[16,18,"pl-c1"],[19,35,"pl-c1"]],[],[[2,58,"pl-c"]],[[2,58,"pl-c"]],[[2,28,"pl-c"]],[[0,7,"pl-k"],[8,16,"pl-s1"]],[[2,7,"pl-en"],[8,11,"pl-s1"],[13,14,"pl-c1"],[14,25,"pl-s1"],[27,28,"pl-c1"],[31,37,"pl-k"],[38,44,"pl-smi"],[45,46,"pl-c1"],[47,48,"pl-c1"]],[[0,6,"pl-k"]],[[2,9,"pl-en"],[10,13,"pl-s1"],[15,16,"pl-c1"],[16,27,"pl-s1"],[29,30,"pl-c1"]],[[0,7,"pl-k"]],[[2,6,"pl-en"],[7,8,"pl-en"],[9,48,"pl-s1"]],[[2,8,"pl-k"]],[],[[5,9,"pl-k"],[10,12,"pl-k"],[14,20,"pl-s1"],[21,23,"pl-c1"],[24,42,"pl-c1"]],[],[[2,12,"pl-s1"],[13,14,"pl-c1"]],[],[[5,38,"pl-c"]],[],[],[[1,3,"pl-k"],[5,15,"pl-s1"]],[[5,13,"pl-en"],[14,18,"pl-c1"]],[],[[1,67,"pl-c"]],[[1,46,"pl-c"]],[[1,3,"pl-k"],[5,20,"pl-s1"]],[[5,15,"pl-en"],[16,22,"pl-s"]],[],[[1,3,"pl-c"]],[[0,64,"pl-c"]],[[0,65,"pl-c"]],[[0,4,"pl-c"]],[[1,6,"pl-en"],[7,8,"pl-c1"]],[],[[4,12,"pl-c"]],[],[[0,7,"pl-k"],[8,20,"pl-c1"]],[[4,69,"pl-c"]],[[4,6,"pl-k"],[8,26,"pl-en"],[29,31,"pl-c1"],[32,34,"pl-c1"]],[[1,25,"pl-en"],[26,27,"pl-c1"]],[[0,7,"pl-k"]],[],[[0,4,"pl-k"],[13,24,"pl-c1"],[26,28,"pl-c1"],[37,49,"pl-c1"]],[[4,6,"pl-c"]],[[0,72,"pl-c"]],[[0,61,"pl-c"]],[[0,7,"pl-c"]],[[0,5,"pl-k"],[14,25,"pl-c1"]],[[5,9,"pl-smi"],[10,16,"pl-en"]],[[0,7,"pl-k"]],[[5,9,"pl-smi"],[10,17,"pl-en"],[18,19,"pl-c1"],[21,22,"pl-c1"]],[[0,8,"pl-k"]],[[0,7,"pl-k"]],[[4,6,"pl-k"],[9,19,"pl-s1"]],[[1,6,"pl-en"],[7,13,"pl-s1"],[14,15,"pl-c1"]],[],[[0,4,"pl-k"],[13,27,"pl-c1"],[29,31,"pl-c1"],[40,52,"pl-c1"]],[[4,43,"pl-c"]],[[4,18,"pl-en"]],[[0,7,"pl-k"]],[],[[4,27,"pl-c"]],[[4,21,"pl-en"]],[],[[4,24,"pl-c"]],[[4,6,"pl-k"],[9,19,"pl-s1"]],[],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,15,"pl-c1"]],[[5,16,"pl-en"],[17,23,"pl-s1"],[24,25,"pl-c1"],[28,32,"pl-s"],[34,35,"pl-c1"]],[[1,5,"pl-k"]],[[5,16,"pl-en"],[17,23,"pl-s1"],[24,25,"pl-c1"],[28,34,"pl-s"],[36,37,"pl-c1"]],[[1,6,"pl-en"],[7,13,"pl-s1"],[14,15,"pl-c1"]],[],[],[[4,47,"pl-c"]],[[4,6,"pl-k"],[9,12,"pl-s1"],[13,19,"pl-c1"]],[[1,25,"pl-en"],[26,27,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,70,"pl-c"]],[[0,39,"pl-c"]],[[0,65,"pl-c"]],[[0,75,"pl-c"]],[[0,20,"pl-c"]],[[0,2,"pl-c"]],[[0,66,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,14,"pl-smi"]],[[0,19,"pl-en"],[20,23,"pl-smi"],[24,26,"pl-s1"]],[],[[4,8,"pl-smi"],[9,19,"pl-s1"]],[[0,8,"pl-k"],[9,25,"pl-c1"]],[[4,8,"pl-smi"],[9,15,"pl-s1"],[16,32,"pl-c1"]],[],[[4,14,"pl-s1"],[15,16,"pl-c1"],[17,27,"pl-en"],[28,30,"pl-s1"],[32,38,"pl-s1"],[40,56,"pl-c1"],[57,58,"pl-c1"],[59,60,"pl-c1"]],[[0,7,"pl-k"]],[[4,9,"pl-en"],[10,12,"pl-s1"]],[[4,6,"pl-k"],[8,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"]],[[1,7,"pl-k"],[8,26,"pl-c1"]],[[4,10,"pl-s1"],[11,21,"pl-s1"],[23,24,"pl-c1"],[25,28,"pl-c1"]],[[4,6,"pl-k"],[8,14,"pl-en"],[15,21,"pl-s1"],[23,27,"pl-s"],[29,31,"pl-c1"],[32,33,"pl-c1"]],[[1,7,"pl-k"],[8,20,"pl-c1"]],[[4,10,"pl-k"],[11,27,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,22,"pl-c"]],[],[[0,2,"pl-c"]],[[0,66,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,11,"pl-en"],[12,15,"pl-smi"],[16,17,"pl-c1"],[17,21,"pl-s1"],[23,27,"pl-smi"],[28,29,"pl-c1"],[29,30,"pl-c1"],[30,34,"pl-s1"]],[],[[4,7,"pl-s1"],[8,14,"pl-c1"],[15,16,"pl-c1"],[29,56,"pl-c"]],[[4,7,"pl-s1"],[8,16,"pl-c1"],[17,18,"pl-c1"],[30,57,"pl-c"]],[[4,19,"pl-en"],[20,24,"pl-s1"],[26,30,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,59,"pl-c"]],[[0,65,"pl-c"]],[[0,56,"pl-c"]],[[0,22,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,14,"pl-en"],[15,19,"pl-smi"]],[],[[4,10,"pl-k"],[11,14,"pl-smi"],[15,21,"pl-s1"],[22,23,"pl-c1"],[24,29,"pl-c1"]],[],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,23,"pl-c1"]],[],[[1,3,"pl-k"],[5,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"]],[[5,9,"pl-en"],[10,11,"pl-en"],[12,34,"pl-s1"]],[[1,7,"pl-k"],[8,14,"pl-s1"]],[],[],[[4,7,"pl-s1"],[8,21,"pl-c1"],[22,23,"pl-c1"]],[[4,7,"pl-s1"],[8,13,"pl-c1"],[14,15,"pl-c1"]],[[4,7,"pl-s1"],[8,16,"pl-c1"],[17,18,"pl-c1"],[26,59,"pl-c"]],[[4,7,"pl-s1"],[8,18,"pl-c1"],[19,20,"pl-c1"],[21,30,"pl-c1"]],[[4,7,"pl-s1"],[8,18,"pl-c1"],[19,20,"pl-c1"],[21,25,"pl-c1"]],[[4,7,"pl-s1"],[8,22,"pl-c1"],[23,24,"pl-c1"]],[[4,7,"pl-s1"],[8,11,"pl-c1"],[12,13,"pl-c1"],[14,15,"pl-c1"]],[[4,7,"pl-s1"],[8,11,"pl-c1"],[12,13,"pl-c1"],[14,15,"pl-c1"]],[[4,7,"pl-s1"],[8,16,"pl-c1"],[17,18,"pl-c1"],[19,26,"pl-s1"]],[[4,7,"pl-s1"],[8,16,"pl-c1"],[17,18,"pl-c1"],[19,23,"pl-s1"]],[],[[4,7,"pl-s1"],[8,23,"pl-c1"],[24,25,"pl-c1"]],[[4,7,"pl-s1"],[8,25,"pl-c1"],[26,27,"pl-c1"],[28,29,"pl-c1"]],[[4,7,"pl-s1"],[8,25,"pl-c1"],[26,27,"pl-c1"],[28,32,"pl-s1"],[33,34,"pl-c1"],[35,36,"pl-c1"]],[[4,7,"pl-s1"],[8,26,"pl-c1"],[27,28,"pl-c1"],[29,30,"pl-c1"]],[[4,7,"pl-s1"],[8,27,"pl-c1"],[28,29,"pl-c1"],[30,37,"pl-s1"],[38,39,"pl-c1"],[40,41,"pl-c1"]],[[4,7,"pl-s1"],[8,22,"pl-c1"],[23,24,"pl-c1"],[25,34,"pl-c1"]],[[4,7,"pl-s1"],[8,18,"pl-c1"],[19,20,"pl-c1"],[21,22,"pl-c1"]],[[4,7,"pl-s1"],[8,19,"pl-c1"],[20,21,"pl-c1"],[22,23,"pl-c1"]],[[4,7,"pl-s1"],[8,19,"pl-c1"],[20,21,"pl-c1"],[22,23,"pl-c1"]],[[4,7,"pl-s1"],[8,20,"pl-c1"],[21,22,"pl-c1"],[23,24,"pl-c1"]],[],[[4,7,"pl-s1"],[8,17,"pl-c1"],[18,19,"pl-c1"],[20,26,"pl-c1"]],[[0,7,"pl-k"],[8,20,"pl-c1"]],[[4,7,"pl-s1"],[8,17,"pl-c1"],[18,19,"pl-c1"],[20,26,"pl-c1"]],[[4,7,"pl-s1"],[8,17,"pl-c1"],[18,19,"pl-c1"],[20,26,"pl-c1"]],[[4,7,"pl-s1"],[8,21,"pl-c1"],[22,23,"pl-c1"],[24,30,"pl-c1"]],[[0,7,"pl-k"],[8,21,"pl-c1"]],[[4,7,"pl-s1"],[8,15,"pl-c1"],[16,17,"pl-c1"],[18,27,"pl-c1"]],[[0,7,"pl-k"]],[[0,6,"pl-k"]],[[4,7,"pl-s1"],[8,17,"pl-c1"],[18,19,"pl-c1"],[20,26,"pl-c1"]],[[0,7,"pl-k"],[8,20,"pl-c1"]],[[4,7,"pl-s1"],[8,22,"pl-c1"],[23,24,"pl-c1"],[25,31,"pl-c1"]],[[4,7,"pl-s1"],[8,22,"pl-c1"],[23,24,"pl-c1"],[25,31,"pl-c1"]],[[4,7,"pl-s1"],[8,26,"pl-c1"],[27,28,"pl-c1"],[29,35,"pl-c1"]],[[0,6,"pl-k"]],[],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[0,8,"pl-k"],[9,21,"pl-c1"]],[[0,8,"pl-k"],[9,23,"pl-c1"]],[[4,7,"pl-s1"],[8,20,"pl-c1"],[21,22,"pl-c1"],[23,32,"pl-c1"]],[[0,7,"pl-k"]],[[4,7,"pl-s1"],[8,17,"pl-c1"],[18,19,"pl-c1"],[20,26,"pl-c1"]],[[0,8,"pl-k"]],[[0,7,"pl-k"]],[[4,7,"pl-s1"],[8,22,"pl-c1"],[23,24,"pl-c1"],[35,59,"pl-c"]],[[0,8,"pl-k"],[9,21,"pl-c1"]],[[4,7,"pl-s1"],[8,19,"pl-c1"],[20,21,"pl-c1"],[22,41,"pl-c1"]],[[4,7,"pl-s1"],[8,18,"pl-c1"],[19,20,"pl-c1"],[21,22,"pl-c1"]],[[0,7,"pl-k"]],[[0,6,"pl-k"]],[[0,3,"pl-k"],[12,24,"pl-c1"],[26,28,"pl-c1"],[38,52,"pl-c1"],[54,56,"pl-c1"],[65,79,"pl-c1"]],[[4,7,"pl-s1"],[8,22,"pl-c1"],[23,24,"pl-c1"],[25,26,"pl-c1"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,21,"pl-c1"]],[[4,7,"pl-s1"],[8,23,"pl-c1"],[24,25,"pl-c1"],[26,35,"pl-c1"]],[[0,6,"pl-k"]],[],[[4,7,"pl-s1"],[8,23,"pl-c1"],[24,25,"pl-c1"],[26,29,"pl-s1"],[30,46,"pl-c1"],[47,48,"pl-c1"],[49,65,"pl-c1"]],[[4,7,"pl-s1"],[8,17,"pl-c1"],[18,19,"pl-c1"],[20,22,"pl-c1"]],[],[[0,3,"pl-k"],[12,24,"pl-c1"],[26,28,"pl-c1"],[37,51,"pl-c1"]],[[4,81,"pl-c"]],[[4,81,"pl-c"]],[[4,81,"pl-c"]],[[4,6,"pl-k"],[8,9,"pl-c1"],[9,23,"pl-s1"],[24,26,"pl-c1"],[27,30,"pl-c1"]],[[1,12,"pl-en"],[13,16,"pl-s1"],[17,30,"pl-c1"]],[[0,6,"pl-k"]],[],[[0,3,"pl-k"],[12,26,"pl-c1"],[28,30,"pl-c1"],[39,45,"pl-c1"]],[[4,10,"pl-s1"],[11,12,"pl-c1"],[13,15,"pl-c1"]],[[0,5,"pl-k"]],[[0,7,"pl-k"],[8,20,"pl-c1"]],[[4,6,"pl-c"]],[[0,77,"pl-c"]],[[0,75,"pl-c"]],[[0,25,"pl-c"]],[[0,68,"pl-c"]],[[0,7,"pl-c"]],[[4,10,"pl-s1"],[11,12,"pl-c1"],[13,16,"pl-s1"],[17,23,"pl-c1"],[26,50,"pl-en"],[59,77,"pl-en"]],[[0,6,"pl-k"]],[[4,10,"pl-s1"],[11,12,"pl-c1"],[13,31,"pl-en"]],[[0,7,"pl-k"]],[[0,6,"pl-k"]],[[4,10,"pl-k"],[11,17,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,41,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,8,"pl-en"],[9,13,"pl-smi"]],[],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,13,"pl-s1"]],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,17,"pl-s1"]],[[4,10,"pl-k"],[11,14,"pl-smi"],[15,24,"pl-s1"],[25,26,"pl-c1"],[27,28,"pl-c1"]],[],[[4,6,"pl-c"]],[[0,77,"pl-c"]],[[0,72,"pl-c"]],[[0,75,"pl-c"]],[[0,19,"pl-c"]],[[0,7,"pl-c"]],[[4,6,"pl-k"],[9,18,"pl-s1"]],[],[[1,3,"pl-c1"],[3,12,"pl-s1"]],[],[[1,10,"pl-en"]],[],[[1,49,"pl-c"]],[[1,3,"pl-k"],[5,19,"pl-en"],[22,24,"pl-c1"],[25,29,"pl-c1"]],[],[[5,7,"pl-c1"],[7,16,"pl-s1"]],[[5,14,"pl-en"]],[[5,11,"pl-k"]],[],[],[[1,3,"pl-c"]],[[0,72,"pl-c"]],[[0,36,"pl-c"]],[[0,4,"pl-c"]],[[1,26,"pl-en"],[28,34,"pl-smi"],[35,36,"pl-c1"],[37,44,"pl-s"],[46,48,"pl-c1"],[50,54,"pl-c1"],[56,57,"pl-c1"]],[],[[1,42,"pl-c"]],[[1,16,"pl-en"],[17,20,"pl-c1"],[21,22,"pl-c1"],[23,26,"pl-c1"],[27,28,"pl-c1"],[29,32,"pl-c1"]],[],[[1,3,"pl-c"]],[[0,37,"pl-c"]],[[0,4,"pl-c"]],[[0,3,"pl-k"],[12,25,"pl-c1"],[27,29,"pl-c1"],[38,47,"pl-c1"]],[[1,3,"pl-k"],[5,15,"pl-en"],[16,20,"pl-s1"],[22,34,"pl-c1"],[36,38,"pl-c1"],[39,43,"pl-c1"]],[],[[5,13,"pl-s1"],[14,15,"pl-c1"]],[[5,14,"pl-en"],[16,22,"pl-smi"],[23,24,"pl-c1"],[25,38,"pl-c1"],[47,56,"pl-c1"],[58,62,"pl-c1"]],[[5,13,"pl-s1"],[14,15,"pl-c1"]],[],[[0,6,"pl-k"]],[],[[1,3,"pl-c"]],[[0,71,"pl-c"]],[[0,44,"pl-c"]],[[0,4,"pl-c"]],[[1,3,"pl-k"],[6,20,"pl-en"],[22,28,"pl-smi"],[29,30,"pl-c1"],[31,38,"pl-s"]],[[5,29,"pl-en"],[31,37,"pl-smi"],[38,39,"pl-c1"],[40,47,"pl-s"],[49,51,"pl-c1"]],[[9,15,"pl-smi"],[16,17,"pl-c1"],[18,21,"pl-s"],[23,31,"pl-c1"],[33,41,"pl-c1"]],[],[[1,3,"pl-c"]],[[0,71,"pl-c"]],[[0,71,"pl-c"]],[[0,4,"pl-c"]],[[1,3,"pl-k"],[5,15,"pl-s1"],[16,18,"pl-c1"],[19,23,"pl-c1"]],[],[[5,7,"pl-k"],[9,15,"pl-en"],[16,26,"pl-s1"],[28,34,"pl-s"],[36,38,"pl-c1"],[39,40,"pl-c1"]],[[6,8,"pl-c1"],[9,15,"pl-en"],[16,26,"pl-s1"],[28,34,"pl-s"],[36,38,"pl-c1"],[39,40,"pl-c1"]],[[6,8,"pl-c1"],[9,18,"pl-en"],[19,29,"pl-s1"],[38,47,"pl-c1"],[49,53,"pl-c1"],[55,57,"pl-c1"],[58,60,"pl-c1"]],[[2,7,"pl-en"],[8,9,"pl-en"],[10,32,"pl-s1"],[35,45,"pl-s1"]],[],[[1,5,"pl-k"]],[],[[5,7,"pl-c"]],[[0,71,"pl-c"]],[[0,8,"pl-c"]],[[0,6,"pl-k"],[7,22,"pl-c1"]],[[5,14,"pl-en"],[16,22,"pl-smi"],[23,24,"pl-c1"],[25,40,"pl-c1"],[49,58,"pl-c1"],[60,64,"pl-c1"]],[[0,6,"pl-k"]],[],[[5,7,"pl-c"]],[[0,66,"pl-c"]],[[0,15,"pl-c"]],[[0,39,"pl-c"]],[[0,42,"pl-c"]],[[0,60,"pl-c"]],[[0,61,"pl-c"]],[[0,59,"pl-c"]],[[0,8,"pl-c"]],[[5,7,"pl-k"],[9,20,"pl-en"],[22,28,"pl-smi"],[29,30,"pl-c1"],[31,41,"pl-s"],[50,52,"pl-c1"],[53,57,"pl-c1"]],[[3,5,"pl-c1"],[6,15,"pl-en"],[17,23,"pl-smi"],[24,25,"pl-c1"],[26,41,"pl-c1"]],[[11,22,"pl-c1"],[24,28,"pl-c1"],[30,32,"pl-c1"],[33,37,"pl-c1"]],[[0,6,"pl-k"],[7,23,"pl-c1"]],[[3,5,"pl-c1"],[6,15,"pl-en"],[17,23,"pl-smi"],[24,25,"pl-c1"],[26,42,"pl-c1"]],[[11,22,"pl-c1"],[24,28,"pl-c1"],[30,32,"pl-c1"],[33,37,"pl-c1"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,23,"pl-c1"]],[[3,5,"pl-c1"],[6,15,"pl-en"],[17,23,"pl-smi"],[24,25,"pl-c1"],[26,42,"pl-c1"]],[[11,22,"pl-c1"],[24,28,"pl-c1"],[30,32,"pl-c1"],[33,37,"pl-c1"]],[[0,6,"pl-k"]],[],[],[[0,6,"pl-k"],[7,23,"pl-c1"]],[[3,7,"pl-smi"],[8,17,"pl-en"],[19,25,"pl-smi"],[26,27,"pl-c1"],[28,44,"pl-c1"]],[[11,22,"pl-c1"],[24,28,"pl-c1"]],[[0,6,"pl-k"]],[],[],[[5,7,"pl-c"]],[[0,62,"pl-c"]],[[0,66,"pl-c"]],[[0,63,"pl-c"]],[[0,70,"pl-c"]],[[0,66,"pl-c"]],[[0,18,"pl-c"]],[[0,71,"pl-c"]],[[0,62,"pl-c"]],[[0,8,"pl-c"]],[[5,7,"pl-k"],[9,15,"pl-s1"]],[],[[0,6,"pl-k"],[7,11,"pl-c1"]],[],[[6,12,"pl-smi"],[13,14,"pl-s1"]],[],[[6,61,"pl-c"]],[[6,13,"pl-c"]],[[6,8,"pl-k"],[10,18,"pl-en"],[19,30,"pl-c1"],[32,33,"pl-c1"],[33,34,"pl-s1"],[36,38,"pl-c1"],[39,40,"pl-s1"],[41,47,"pl-c1"],[48,50,"pl-c1"],[51,57,"pl-en"]],[[3,9,"pl-s1"],[10,11,"pl-c1"],[12,20,"pl-s1"]],[],[[0,5,"pl-k"]],[[2,8,"pl-s1"],[9,10,"pl-c1"],[11,19,"pl-s1"]],[[0,6,"pl-k"]],[],[[2,4,"pl-k"],[13,24,"pl-en"],[26,32,"pl-smi"],[33,34,"pl-c1"],[35,50,"pl-c1"]],[[5,11,"pl-smi"],[12,13,"pl-c1"],[14,25,"pl-c1"],[40,42,"pl-c1"],[43,51,"pl-c1"]],[[0,6,"pl-k"],[7,22,"pl-c1"]],[[3,5,"pl-c1"],[6,17,"pl-en"],[19,25,"pl-smi"],[26,27,"pl-c1"],[28,43,"pl-c1"]],[[5,11,"pl-smi"],[12,13,"pl-c1"],[14,25,"pl-c1"],[40,42,"pl-c1"],[43,51,"pl-c1"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,23,"pl-c1"]],[[3,5,"pl-c1"],[6,17,"pl-en"],[19,25,"pl-smi"],[26,27,"pl-c1"],[28,44,"pl-c1"]],[[5,11,"pl-smi"],[12,13,"pl-c1"],[14,25,"pl-c1"],[40,42,"pl-c1"],[43,51,"pl-c1"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,23,"pl-c1"]],[[3,5,"pl-c1"],[6,17,"pl-en"],[19,25,"pl-smi"],[26,27,"pl-c1"],[28,44,"pl-c1"]],[[5,11,"pl-smi"],[12,13,"pl-c1"],[14,25,"pl-c1"],[40,42,"pl-c1"],[43,51,"pl-c1"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,23,"pl-c1"]],[[3,5,"pl-c1"],[6,17,"pl-en"],[19,25,"pl-smi"],[26,27,"pl-c1"],[28,44,"pl-c1"]],[[5,11,"pl-smi"],[12,13,"pl-c1"],[14,25,"pl-c1"],[40,42,"pl-c1"],[43,51,"pl-c1"]],[[0,6,"pl-k"]],[],[[6,15,"pl-en"],[17,23,"pl-smi"],[24,25,"pl-c1"],[26,37,"pl-c1"],[45,56,"pl-c1"],[58,62,"pl-c1"]],[],[[2,4,"pl-k"],[6,12,"pl-s1"],[13,15,"pl-c1"],[16,17,"pl-c1"]],[[6,22,"pl-s1"],[23,24,"pl-c1"]],[[2,8,"pl-s1"],[9,10,"pl-c1"],[11,12,"pl-c1"]],[],[],[],[[1,3,"pl-k"],[5,21,"pl-s1"],[22,24,"pl-c1"],[25,35,"pl-s1"]],[[5,16,"pl-en"]],[],[[1,3,"pl-c1"],[3,12,"pl-s1"]],[],[],[[4,74,"pl-c"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,18,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,6,"pl-c"]],[[0,28,"pl-c"]],[[0,7,"pl-c"]],[[4,7,"pl-s1"],[8,14,"pl-c1"],[15,16,"pl-c1"],[24,67,"pl-c"]],[[4,6,"pl-k"],[8,20,"pl-en"],[23,25,"pl-c1"],[26,30,"pl-c1"]],[[6,11,"pl-ent"]],[],[[4,74,"pl-c"]],[[4,29,"pl-c"]],[[4,19,"pl-s1"],[20,21,"pl-c1"]],[[4,16,"pl-s1"],[17,18,"pl-c1"],[19,20,"pl-c1"]],[[4,17,"pl-en"]],[[4,20,"pl-s1"],[21,22,"pl-c1"]],[[4,14,"pl-s1"],[15,16,"pl-c1"]],[],[[4,6,"pl-c"]],[[0,73,"pl-c"]],[[0,7,"pl-c"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,24,"pl-c1"],[25,26,"pl-c1"],[27,28,"pl-c1"]],[[1,4,"pl-s1"],[5,17,"pl-c1"],[18,19,"pl-c1"],[20,21,"pl-c1"]],[],[[4,6,"pl-c"]],[[0,75,"pl-c"]],[[0,7,"pl-c"]],[[4,6,"pl-k"],[8,21,"pl-s1"],[22,24,"pl-c1"],[25,29,"pl-c1"]],[[1,26,"pl-en"],[28,34,"pl-smi"],[35,36,"pl-c1"],[37,42,"pl-s"]],[[12,14,"pl-c1"],[17,23,"pl-smi"],[24,25,"pl-c1"],[26,39,"pl-s1"],[41,42,"pl-c1"]],[[4,6,"pl-k"]],[[0,6,"pl-k"],[7,20,"pl-en"]],[[6,7,"pl-c1"],[7,19,"pl-s1"],[20,22,"pl-c1"],[23,26,"pl-c1"]],[[6,8,"pl-c1"],[9,22,"pl-en"],[23,35,"pl-s1"],[43,45,"pl-c1"],[46,50,"pl-c1"],[52,54,"pl-c1"]],[[0,6,"pl-k"]],[[5,18,"pl-en"],[19,20,"pl-c1"],[20,29,"pl-s1"],[30,32,"pl-c1"],[33,36,"pl-c1"],[39,55,"pl-en"]],[[10,19,"pl-s1"],[28,30,"pl-c1"],[31,35,"pl-c1"]],[],[[1,5,"pl-en"],[6,7,"pl-en"],[8,46,"pl-s1"]],[[6,12,"pl-ent"]],[],[[4,6,"pl-k"],[8,25,"pl-en"],[28,30,"pl-c1"],[31,35,"pl-c1"]],[[1,5,"pl-en"],[6,7,"pl-en"],[8,29,"pl-s1"]],[],[[4,7,"pl-s1"],[8,16,"pl-c1"],[17,18,"pl-c1"],[19,26,"pl-s1"]],[[4,7,"pl-s1"],[8,16,"pl-c1"],[17,18,"pl-c1"],[19,23,"pl-s1"]],[[4,27,"pl-en"]],[],[[4,32,"pl-c"]],[[4,23,"pl-en"],[24,26,"pl-s1"],[28,30,"pl-s1"]],[],[[1,21,"pl-en"],[22,23,"pl-c1"],[23,25,"pl-s1"],[25,27,"pl-c1"],[27,39,"pl-c1"],[40,49,"pl-c1"],[52,61,"pl-c1"],[63,65,"pl-s1"]],[[1,21,"pl-en"],[22,23,"pl-c1"],[23,25,"pl-s1"],[25,27,"pl-c1"],[27,39,"pl-c1"],[40,50,"pl-c1"],[53,63,"pl-c1"],[65,67,"pl-s1"]],[],[[4,24,"pl-en"],[25,26,"pl-c1"],[26,29,"pl-s1"],[30,41,"pl-c1"],[43,54,"pl-c1"],[56,60,"pl-c1"]],[],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[4,28,"pl-en"],[29,38,"pl-s1"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,22,"pl-c1"]],[[4,20,"pl-en"]],[[0,6,"pl-k"]],[],[[4,48,"pl-c"]],[[4,29,"pl-en"],[30,34,"pl-c1"]],[],[[4,54,"pl-c"]],[[4,7,"pl-s1"],[8,21,"pl-c1"],[22,23,"pl-c1"]],[],[[0,6,"pl-k"],[7,21,"pl-c1"]],[[4,75,"pl-c"]],[[4,70,"pl-c"]],[[4,78,"pl-c"]],[[4,72,"pl-c"]],[[4,79,"pl-c"]],[[4,6,"pl-k"],[8,25,"pl-en"]],[[1,18,"pl-en"],[32,43,"pl-c1"]],[[4,8,"pl-k"]],[[1,18,"pl-en"],[31,42,"pl-c1"]],[[0,5,"pl-k"]],[[0,8,"pl-k"],[9,21,"pl-c1"]],[[4,21,"pl-en"],[35,46,"pl-c1"]],[[0,7,"pl-k"]],[[0,6,"pl-k"]],[[0,3,"pl-k"],[12,26,"pl-c1"],[28,30,"pl-c1"],[39,48,"pl-c1"]],[[4,72,"pl-c"]],[[4,15,"pl-c"]],[[4,31,"pl-en"],[33,39,"pl-smi"],[40,41,"pl-c1"]],[[0,6,"pl-k"]],[],[[4,6,"pl-c"]],[[0,35,"pl-c"]],[[0,7,"pl-c"]],[[4,6,"pl-k"],[8,20,"pl-en"],[23,25,"pl-c1"],[26,30,"pl-c1"]],[],[[1,10,"pl-en"]],[[1,11,"pl-en"]],[],[[1,17,"pl-en"]],[[0,6,"pl-k"],[7,18,"pl-c1"]],[[1,26,"pl-c"]],[[1,8,"pl-s1"],[9,10,"pl-c1"]],[[0,6,"pl-k"]],[[0,3,"pl-k"],[12,24,"pl-c1"]],[[1,54,"pl-c"]],[[1,15,"pl-en"]],[],[[0,7,"pl-k"],[8,17,"pl-c1"]],[[1,70,"pl-c"]],[[1,40,"pl-c"]],[[1,3,"pl-k"],[5,15,"pl-en"],[16,20,"pl-s1"],[22,30,"pl-c1"],[32,34,"pl-c1"],[35,39,"pl-c1"]],[],[[5,7,"pl-c1"],[7,10,"pl-s1"],[11,19,"pl-c1"]],[[5,24,"pl-en"]],[[5,7,"pl-c1"],[7,10,"pl-s1"],[11,19,"pl-c1"]],[[5,19,"pl-en"]],[],[[0,7,"pl-k"]],[],[[1,47,"pl-c"]],[[1,3,"pl-k"],[5,22,"pl-en"]],[[5,22,"pl-en"],[36,47,"pl-c1"]],[[1,5,"pl-k"]],[[5,22,"pl-en"],[35,46,"pl-c1"]],[[0,6,"pl-k"]],[[1,70,"pl-c"]],[[1,12,"pl-c"]],[[1,18,"pl-en"]],[],[[0,6,"pl-k"],[7,21,"pl-c1"]],[[1,66,"pl-c"]],[[1,25,"pl-c"]],[[1,3,"pl-k"],[5,16,"pl-s1"],[17,19,"pl-c1"],[20,24,"pl-c1"]],[],[[0,7,"pl-k"],[8,20,"pl-c1"]],[[5,13,"pl-en"],[14,25,"pl-s1"],[25,27,"pl-c1"],[27,30,"pl-c1"]],[[0,7,"pl-k"]],[[5,13,"pl-en"],[14,25,"pl-s1"]],[],[[1,19,"pl-s1"],[20,21,"pl-c1"]],[[0,7,"pl-k"],[8,20,"pl-c1"]],[[1,12,"pl-s1"],[13,14,"pl-c1"],[15,40,"pl-en"],[41,44,"pl-s1"],[45,53,"pl-c1"],[55,59,"pl-c1"]],[[11,12,"pl-c1"],[12,28,"pl-s1"],[30,34,"pl-c1"]],[[0,6,"pl-k"]],[[0,5,"pl-k"],[14,28,"pl-c1"]],[],[[5,11,"pl-k"],[12,18,"pl-smi"],[19,27,"pl-s1"]],[[5,16,"pl-s1"],[17,18,"pl-c1"],[19,44,"pl-en"],[45,53,"pl-s1"],[55,59,"pl-c1"]],[[11,12,"pl-c1"],[12,28,"pl-s1"],[30,34,"pl-c1"]],[],[[0,7,"pl-k"]],[[0,9,"pl-k"],[10,24,"pl-c1"]],[[1,12,"pl-s1"],[13,14,"pl-c1"],[15,40,"pl-en"],[41,45,"pl-c1"],[47,51,"pl-c1"]],[[11,12,"pl-c1"],[12,28,"pl-s1"],[30,34,"pl-c1"]],[[0,9,"pl-k"]],[[0,8,"pl-k"]],[[0,7,"pl-k"]],[[1,3,"pl-k"],[6,13,"pl-s1"]],[[5,31,"pl-en"],[32,43,"pl-s1"]],[[0,6,"pl-k"]],[],[[0,7,"pl-k"],[8,22,"pl-c1"]],[[1,47,"pl-c"]],[[1,65,"pl-c"]],[[1,13,"pl-c"]],[[1,20,"pl-s1"],[21,22,"pl-c1"]],[[0,6,"pl-k"]],[],[[0,3,"pl-k"],[12,20,"pl-c1"],[22,24,"pl-c1"],[33,45,"pl-c1"]],[[1,3,"pl-k"],[6,31,"pl-en"]],[[5,9,"pl-en"],[10,11,"pl-en"],[12,47,"pl-s1"]],[[0,6,"pl-k"]],[[1,65,"pl-c"]],[[1,15,"pl-c"]],[[1,3,"pl-k"],[5,9,"pl-s1"],[10,12,"pl-c1"],[13,15,"pl-c1"]],[[5,19,"pl-en"]],[],[[1,7,"pl-k"]],[],[],[[0,6,"pl-ent"]],[[0,6,"pl-k"],[7,19,"pl-smi"]],[[4,26,"pl-c"]],[[4,18,"pl-en"]],[[0,6,"pl-k"]],[],[[0,5,"pl-ent"]],[[4,7,"pl-s1"],[8,14,"pl-c1"],[15,16,"pl-c1"]],[[4,13,"pl-en"]],[],[],[],[[4,8,"pl-smi"]],[[0,8,"pl-en"],[9,12,"pl-smi"],[13,15,"pl-s1"]],[],[[4,52,"pl-c"]],[[4,36,"pl-c"]],[[4,24,"pl-en"]],[[4,7,"pl-s1"],[8,14,"pl-c1"],[15,16,"pl-c1"]],[[4,16,"pl-en"],[17,19,"pl-s1"]],[],[],[[0,3,"pl-k"],[12,24,"pl-c1"],[26,28,"pl-c1"],[37,49,"pl-c1"],[51,53,"pl-c1"],[62,76,"pl-c1"]],[[1,3,"pl-c1"],[12,27,"pl-c1"],[29,31,"pl-c1"],[40,45,"pl-c1"]],[[0,8,"pl-k"],[9,31,"pl-c1"]],[[0,2,"pl-c"]],[[0,76,"pl-c"]],[[0,76,"pl-c"]],[[0,6,"pl-c"]],[[0,51,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,16,"pl-en"],[17,21,"pl-smi"]],[],[[4,12,"pl-smi"],[17,28,"pl-s1"],[29,30,"pl-c1"],[31,37,"pl-s1"]],[],[[4,6,"pl-k"],[8,28,"pl-en"],[29,35,"pl-s1"]],[[1,7,"pl-k"]],[],[[4,48,"pl-c"]],[[4,11,"pl-s1"],[12,13,"pl-c1"]],[[0,7,"pl-k"],[8,19,"pl-c1"]],[[4,10,"pl-s1"],[11,21,"pl-c1"],[25,36,"pl-c1"]],[[0,7,"pl-k"]],[[0,4,"pl-k"],[13,28,"pl-c1"],[30,32,"pl-c1"],[41,56,"pl-c1"]],[[4,10,"pl-s1"],[11,21,"pl-c1"],[25,37,"pl-c1"]],[[0,7,"pl-k"]],[[4,70,"pl-c"]],[[4,49,"pl-c"]],[[4,6,"pl-k"],[9,26,"pl-en"]],[[1,7,"pl-en"],[8,9,"pl-c1"]],[],[[4,11,"pl-s1"],[12,13,"pl-c1"]],[[4,10,"pl-s1"],[11,12,"pl-c1"],[13,24,"pl-s1"]],[[4,21,"pl-en"],[25,66,"pl-c"]],[],[[0,6,"pl-k"]],[],[[0,2,"pl-c"]],[[0,75,"pl-c"]],[[0,73,"pl-c"]],[[0,8,"pl-c"]],[[0,77,"pl-c"]],[[0,76,"pl-c"]],[[0,27,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,13,"pl-en"],[14,20,"pl-smi"],[21,22,"pl-c1"],[22,31,"pl-s1"],[33,36,"pl-smi"],[37,44,"pl-s1"],[45,51,"pl-c1"]],[],[[0,7,"pl-k"],[8,15,"pl-c1"]],[[4,10,"pl-smi"],[11,20,"pl-s1"],[21,28,"pl-c1"]],[[4,7,"pl-smi"],[9,24,"pl-s1"],[25,26,"pl-c1"]],[[4,7,"pl-smi"],[9,12,"pl-s1"],[13,14,"pl-c1"],[15,19,"pl-c1"]],[],[[4,6,"pl-k"],[9,12,"pl-s1"],[13,19,"pl-c1"]],[[1,7,"pl-k"],[8,12,"pl-c1"]],[],[[4,13,"pl-s1"],[14,15,"pl-c1"],[17,18,"pl-c1"],[19,22,"pl-c1"]],[[4,6,"pl-k"],[8,9,"pl-c1"],[9,18,"pl-s1"],[19,21,"pl-c1"],[22,25,"pl-c1"]],[[1,16,"pl-s1"],[17,18,"pl-c1"]],[[4,8,"pl-k"]],[],[[0,6,"pl-k"],[7,20,"pl-c1"]],[[1,62,"pl-c"]],[[1,3,"pl-k"],[5,12,"pl-s1"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[11,28,"pl-en"],[29,38,"pl-s1"]],[[1,5,"pl-k"]],[[0,6,"pl-k"]],[[5,10,"pl-k"],[12,13,"pl-c1"],[13,22,"pl-s1"],[23,25,"pl-c1"],[26,29,"pl-c1"]],[],[[2,43,"pl-c"]],[[3,7,"pl-smi"],[8,24,"pl-en"],[25,26,"pl-c1"],[26,35,"pl-s1"],[37,46,"pl-s1"],[48,55,"pl-c1"],[57,60,"pl-s"]],[],[[2,63,"pl-c"]],[[2,63,"pl-c"]],[[2,59,"pl-c"]],[[2,63,"pl-c"]],[[2,20,"pl-c"]],[[2,4,"pl-k"],[6,23,"pl-en"],[24,33,"pl-s1"],[42,44,"pl-c1"],[45,47,"pl-c1"]],[],[[0,6,"pl-k"],[7,26,"pl-c1"]],[[6,63,"pl-c"]],[[6,35,"pl-c"]],[[6,8,"pl-k"],[11,24,"pl-s1"],[25,27,"pl-c1"],[28,32,"pl-c1"],[33,35,"pl-c1"],[36,37,"pl-c1"],[37,50,"pl-s1"],[51,53,"pl-c1"],[54,57,"pl-c1"]],[[4,6,"pl-c1"],[7,13,"pl-en"],[15,19,"pl-smi"],[20,21,"pl-c1"],[22,31,"pl-s1"],[33,40,"pl-s"],[42,44,"pl-c1"],[45,49,"pl-c1"]],[[3,18,"pl-en"],[19,28,"pl-s1"]],[[0,6,"pl-k"]],[[6,9,"pl-s1"],[10,11,"pl-c1"],[12,14,"pl-c1"]],[[6,11,"pl-k"]],[],[],[],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,17,"pl-c1"]],[[5,7,"pl-c1"],[8,14,"pl-en"],[15,24,"pl-s1"],[26,29,"pl-s"],[31,33,"pl-c1"],[34,35,"pl-c1"]],[[5,7,"pl-c1"],[9,24,"pl-s1"],[25,27,"pl-c1"],[28,31,"pl-s1"],[32,41,"pl-c1"],[42,44,"pl-c1"],[45,51,"pl-c1"]],[],[[1,3,"pl-c"]],[[0,67,"pl-c"]],[[0,69,"pl-c"]],[[0,69,"pl-c"]],[[0,4,"pl-c"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,24,"pl-en"],[25,29,"pl-c1"]],[],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,17,"pl-c1"]],[],[[0,7,"pl-k"],[8,20,"pl-c1"]],[[1,35,"pl-c"]],[[0,7,"pl-k"],[8,21,"pl-c1"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,16,"pl-c1"],[17,19,"pl-c1"],[20,29,"pl-c1"]],[[5,24,"pl-en"],[25,28,"pl-s1"],[29,36,"pl-c1"]],[[1,5,"pl-k"]],[[0,7,"pl-k"]],[[5,21,"pl-en"],[22,25,"pl-s1"],[26,35,"pl-c1"]],[[0,6,"pl-k"]],[[1,18,"pl-en"],[32,43,"pl-c1"]],[],[],[[4,10,"pl-k"],[11,14,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,26,"pl-c1"]],[[0,2,"pl-c"]],[[0,63,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,15,"pl-en"],[16,22,"pl-smi"],[23,24,"pl-c1"],[24,28,"pl-s1"]],[],[[4,7,"pl-smi"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"]],[[4,10,"pl-smi"],[11,20,"pl-s1"],[21,28,"pl-c1"],[29,30,"pl-c1"],[31,33,"pl-c1"],[36,65,"pl-c"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,14,"pl-s1"],[15,16,"pl-c1"],[17,21,"pl-c1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,13,"pl-s1"]],[[4,11,"pl-smi"],[12,16,"pl-s1"]],[],[[4,6,"pl-s1"],[7,8,"pl-c1"],[9,18,"pl-s1"]],[[4,7,"pl-k"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,17,"pl-s1"],[19,20,"pl-c1"],[20,21,"pl-s1"],[22,24,"pl-c1"],[25,28,"pl-c1"],[30,32,"pl-c1"],[32,33,"pl-s1"]],[],[[1,2,"pl-c1"],[2,4,"pl-s1"],[4,6,"pl-c1"],[7,8,"pl-c1"],[9,10,"pl-c1"],[10,11,"pl-s1"]],[[1,3,"pl-k"],[5,6,"pl-c1"],[6,7,"pl-s1"],[8,10,"pl-c1"],[11,14,"pl-c1"]],[],[[5,7,"pl-c1"],[7,8,"pl-s1"]],[[5,7,"pl-k"],[9,10,"pl-s1"],[11,13,"pl-c1"],[14,15,"pl-c1"],[18,52,"pl-c"]],[],[[2,4,"pl-k"],[6,7,"pl-s1"],[8,9,"pl-c1"],[11,13,"pl-c1"],[14,17,"pl-c1"]],[[6,7,"pl-c1"],[7,9,"pl-s1"],[9,11,"pl-c1"],[12,13,"pl-c1"],[14,17,"pl-c1"]],[],[[5,9,"pl-k"],[10,12,"pl-k"],[14,15,"pl-s1"],[16,18,"pl-c1"],[19,21,"pl-c1"],[23,41,"pl-c"]],[],[[2,4,"pl-c1"],[4,5,"pl-s1"]],[[2,3,"pl-s1"],[4,5,"pl-c1"],[6,15,"pl-en"],[16,17,"pl-c1"],[17,18,"pl-s1"]],[[2,4,"pl-k"],[6,7,"pl-s1"],[8,10,"pl-c1"],[11,12,"pl-c1"]],[],[[6,40,"pl-c"]],[[6,13,"pl-en"],[15,19,"pl-smi"],[20,21,"pl-c1"],[22,24,"pl-s1"],[26,32,"pl-s"],[34,35,"pl-s1"],[36,37,"pl-c1"],[38,39,"pl-c1"],[41,42,"pl-s1"]],[[6,10,"pl-s1"],[11,12,"pl-c1"],[13,29,"pl-en"],[30,39,"pl-s1"]],[[6,8,"pl-k"],[10,14,"pl-s1"],[15,17,"pl-c1"],[18,24,"pl-c1"]],[],[[3,20,"pl-en"],[21,24,"pl-s1"],[25,34,"pl-c1"]],[[3,6,"pl-s1"],[7,16,"pl-c1"],[17,18,"pl-c1"],[19,23,"pl-s1"]],[[3,27,"pl-en"],[29,35,"pl-smi"],[36,37,"pl-c1"],[38,43,"pl-s"],[45,47,"pl-c1"]],[[12,21,"pl-s1"],[23,31,"pl-c1"],[33,34,"pl-c1"]],[],[],[[2,7,"pl-k"]],[],[],[],[],[[0,6,"pl-k"]],[],[[0,2,"pl-c"]],[[0,34,"pl-c"]],[[0,40,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,17,"pl-en"],[18,22,"pl-smi"]],[],[[4,11,"pl-smi"],[12,16,"pl-s1"],[17,18,"pl-c1"],[19,25,"pl-c1"]],[[4,10,"pl-smi"],[11,20,"pl-s1"],[21,28,"pl-c1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,13,"pl-s1"]],[],[[4,6,"pl-k"],[9,12,"pl-s1"],[13,19,"pl-c1"],[25,68,"pl-c"]],[[1,7,"pl-k"],[8,10,"pl-c1"],[16,52,"pl-c"]],[],[[4,6,"pl-k"],[8,21,"pl-s1"],[22,24,"pl-c1"],[25,29,"pl-c1"],[30,32,"pl-c1"],[33,34,"pl-c1"],[34,47,"pl-s1"],[48,50,"pl-c1"],[51,54,"pl-c1"]],[],[[1,4,"pl-k"],[6,7,"pl-s1"],[8,9,"pl-c1"],[10,23,"pl-s1"],[25,26,"pl-c1"],[26,27,"pl-s1"],[28,30,"pl-c1"],[31,34,"pl-c1"]],[],[[5,46,"pl-c"]],[[6,10,"pl-smi"],[11,27,"pl-en"],[28,29,"pl-c1"],[29,30,"pl-s1"],[32,41,"pl-s1"],[43,50,"pl-c1"],[52,55,"pl-s"]],[[5,9,"pl-s1"],[10,11,"pl-c1"],[12,28,"pl-en"],[29,38,"pl-s1"]],[[5,7,"pl-k"],[9,13,"pl-s1"],[14,16,"pl-c1"],[17,23,"pl-c1"]],[[2,7,"pl-k"]],[],[[1,3,"pl-k"],[5,9,"pl-s1"],[10,12,"pl-c1"],[13,19,"pl-c1"]],[[5,11,"pl-k"],[12,16,"pl-c1"]],[],[],[[4,21,"pl-en"],[22,25,"pl-s1"],[26,35,"pl-c1"]],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[4,73,"pl-c"]],[[4,6,"pl-k"],[8,12,"pl-s1"],[13,15,"pl-c1"],[16,22,"pl-c1"],[23,25,"pl-c1"],[26,29,"pl-s1"],[30,39,"pl-c1"],[40,42,"pl-c1"],[43,49,"pl-c1"]],[[4,6,"pl-c1"],[7,35,"pl-en"],[36,40,"pl-s1"],[42,45,"pl-s1"],[46,55,"pl-c1"]],[],[[1,4,"pl-s1"],[5,14,"pl-c1"],[15,16,"pl-c1"],[17,23,"pl-c1"]],[[1,18,"pl-en"],[19,23,"pl-s1"]],[],[[4,8,"pl-k"]],[[0,6,"pl-k"]],[[1,4,"pl-s1"],[5,14,"pl-c1"],[15,16,"pl-c1"],[17,21,"pl-s1"]],[[0,6,"pl-k"],[7,21,"pl-c1"]],[[4,29,"pl-en"]],[[0,5,"pl-k"]],[[4,6,"pl-c"]],[[0,75,"pl-c"]],[[0,45,"pl-c"]],[[0,7,"pl-c"]],[[0,6,"pl-k"]],[[4,10,"pl-k"],[11,13,"pl-c1"]],[],[],[[0,3,"pl-k"],[12,24,"pl-c1"],[26,28,"pl-c1"],[37,51,"pl-c1"],[53,55,"pl-c1"],[64,69,"pl-c1"]],[[0,2,"pl-c"]],[[0,66,"pl-c"]],[[0,69,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,17,"pl-en"],[18,22,"pl-smi"]],[],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,13,"pl-s1"]],[],[[4,6,"pl-k"],[8,9,"pl-c1"],[9,23,"pl-s1"],[24,26,"pl-c1"],[27,30,"pl-c1"]],[],[[1,32,"pl-c"]],[[1,4,"pl-k"],[6,7,"pl-s1"],[8,9,"pl-c1"],[10,24,"pl-s1"],[26,27,"pl-c1"],[27,28,"pl-s1"],[29,31,"pl-c1"],[32,35,"pl-c1"],[37,39,"pl-c1"],[39,40,"pl-s1"]],[[5,7,"pl-k"],[9,10,"pl-c1"],[10,11,"pl-s1"],[12,13,"pl-c1"],[14,16,"pl-c1"],[17,19,"pl-c1"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,28,"pl-c1"]],[],[[2,6,"pl-en"],[7,8,"pl-en"],[9,34,"pl-s1"]],[[2,8,"pl-k"]],[],[],[[1,42,"pl-c"]],[[1,12,"pl-en"],[13,16,"pl-s1"],[17,30,"pl-c1"]],[[1,4,"pl-k"],[6,7,"pl-s1"],[8,9,"pl-c1"],[10,24,"pl-s1"],[26,27,"pl-c1"],[27,28,"pl-s1"],[29,31,"pl-c1"],[32,35,"pl-c1"],[37,39,"pl-c1"],[39,40,"pl-s1"]],[[5,8,"pl-s1"],[9,22,"pl-c1"],[23,24,"pl-c1"],[24,25,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-c1"]],[],[[4,8,"pl-k"]],[[1,12,"pl-en"],[13,16,"pl-s1"],[17,30,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,68,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,38,"pl-en"],[39,42,"pl-smi"],[43,44,"pl-c1"],[44,52,"pl-s1"],[54,57,"pl-smi"],[58,59,"pl-c1"],[59,65,"pl-s1"]],[],[[4,7,"pl-smi"],[8,11,"pl-s1"]],[],[[4,6,"pl-k"],[8,19,"pl-s1"],[20,22,"pl-c1"],[23,27,"pl-c1"],[28,30,"pl-c1"],[31,32,"pl-c1"],[32,46,"pl-s1"],[47,49,"pl-c1"],[50,53,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,70,"pl-c"]],[[4,7,"pl-s1"],[8,9,"pl-c1"],[10,20,"pl-s1"],[21,24,"pl-s1"],[25,35,"pl-c1"],[37,38,"pl-c1"],[39,40,"pl-c1"],[40,48,"pl-s1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,25,"pl-c1"],[26,37,"pl-s1"],[38,41,"pl-s1"]],[[1,6,"pl-k"],[8,9,"pl-c1"],[9,17,"pl-s1"],[18,19,"pl-c1"],[20,21,"pl-c1"],[22,24,"pl-c1"],[25,28,"pl-s1"],[29,42,"pl-c1"],[43,54,"pl-s1"],[55,57,"pl-c1"],[57,60,"pl-s1"]],[[6,7,"pl-c1"],[7,15,"pl-s1"],[16,18,"pl-c1"]],[],[[4,69,"pl-c"]],[[4,7,"pl-s1"],[8,9,"pl-c1"],[10,20,"pl-s1"],[21,24,"pl-s1"],[25,35,"pl-c1"],[37,38,"pl-c1"],[39,40,"pl-c1"],[40,46,"pl-s1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,25,"pl-c1"],[26,37,"pl-s1"],[38,41,"pl-s1"]],[[1,6,"pl-k"],[8,9,"pl-c1"],[9,15,"pl-s1"],[16,17,"pl-c1"],[20,23,"pl-smi"],[24,38,"pl-s1"],[39,40,"pl-c1"],[41,42,"pl-c1"]],[[10,12,"pl-c1"],[13,16,"pl-s1"],[17,30,"pl-c1"],[31,42,"pl-s1"],[43,45,"pl-c1"],[45,48,"pl-s1"]],[[5,6,"pl-c1"],[6,12,"pl-s1"],[13,15,"pl-c1"]],[],[[0,6,"pl-k"]],[],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,14,"pl-en"],[15,18,"pl-smi"],[19,22,"pl-s1"],[24,27,"pl-smi"],[28,31,"pl-s1"]],[],[[4,7,"pl-s1"],[8,11,"pl-c1"],[12,13,"pl-c1"],[14,17,"pl-s1"]],[[4,7,"pl-s1"],[8,11,"pl-c1"],[12,13,"pl-c1"],[14,17,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,56,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,13,"pl-en"],[14,18,"pl-smi"]],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,15,"pl-c1"],[19,30,"pl-s1"]],[[1,4,"pl-s1"],[5,8,"pl-c1"],[9,10,"pl-c1"],[11,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-c1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,15,"pl-c1"],[19,33,"pl-s1"]],[[1,4,"pl-s1"],[5,8,"pl-c1"],[9,10,"pl-c1"],[11,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-c1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,22,"pl-c1"],[26,37,"pl-s1"],[38,40,"pl-c1"],[41,44,"pl-s1"],[45,55,"pl-c1"],[59,73,"pl-s1"]],[[1,4,"pl-s1"],[5,20,"pl-c1"],[21,22,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,49,"pl-c"]],[[0,75,"pl-c"]],[[0,66,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,17,"pl-en"]],[[4,7,"pl-smi"],[9,14,"pl-s1"],[18,58,"pl-c"]],[[4,7,"pl-smi"],[9,24,"pl-s1"],[26,57,"pl-c"]],[],[[4,7,"pl-smi"],[9,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"]],[[4,7,"pl-smi"],[9,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"]],[[4,7,"pl-smi"],[9,20,"pl-s1"]],[[4,17,"pl-smi"],[18,19,"pl-c1"],[19,24,"pl-s1"]],[[4,7,"pl-smi"],[9,11,"pl-s1"]],[[0,6,"pl-k"],[7,20,"pl-c1"]],[[4,14,"pl-smi"],[15,23,"pl-s1"],[24,25,"pl-c1"],[26,36,"pl-c1"]],[[4,14,"pl-smi"],[15,23,"pl-s1"],[24,25,"pl-c1"],[26,36,"pl-c1"]],[[0,6,"pl-k"]],[[4,14,"pl-smi"],[15,18,"pl-s1"],[20,23,"pl-s1"],[25,27,"pl-s1"],[29,61,"pl-c"]],[[4,7,"pl-smi"],[9,14,"pl-s1"],[17,37,"pl-c"]],[[4,7,"pl-smi"],[9,13,"pl-s1"]],[[4,15,"pl-smi"],[16,17,"pl-c1"],[17,20,"pl-s1"],[21,22,"pl-c1"],[23,27,"pl-c1"]],[],[[4,77,"pl-c"]],[[4,75,"pl-c"]],[[4,6,"pl-k"],[9,26,"pl-s1"],[27,29,"pl-c1"],[30,44,"pl-s1"],[45,47,"pl-c1"],[48,51,"pl-s1"],[52,60,"pl-c1"]],[[12,14,"pl-c1"],[15,26,"pl-s1"],[27,29,"pl-c1"],[30,33,"pl-s1"],[34,42,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,17,"pl-en"]],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,27,"pl-c1"],[28,30,"pl-c1"],[32,37,"pl-s1"]],[[2,4,"pl-c1"],[5,8,"pl-s1"],[9,12,"pl-c1"],[13,15,"pl-c1"],[16,19,"pl-s1"],[20,30,"pl-c1"],[31,33,"pl-c1"],[34,37,"pl-s1"],[38,41,"pl-c1"],[42,44,"pl-c1"],[45,48,"pl-s1"],[49,59,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,21,"pl-en"]],[],[[4,68,"pl-c"]],[[4,6,"pl-k"],[8,26,"pl-en"]],[[1,7,"pl-k"]],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,15,"pl-c1"],[16,17,"pl-c1"],[18,19,"pl-c1"]],[[1,7,"pl-k"]],[[0,6,"pl-k"],[7,24,"pl-c1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,15,"pl-c1"],[16,18,"pl-c1"],[19,22,"pl-s1"],[23,33,"pl-c1"],[34,36,"pl-c1"],[37,40,"pl-s1"],[41,44,"pl-c1"],[45,47,"pl-c1"],[48,51,"pl-s1"],[52,62,"pl-c1"]],[[1,16,"pl-en"],[17,20,"pl-s1"],[21,24,"pl-c1"],[26,29,"pl-s1"],[30,33,"pl-c1"]],[[0,6,"pl-k"]],[[4,7,"pl-s1"],[8,18,"pl-c1"],[19,20,"pl-c1"],[21,24,"pl-s1"],[25,28,"pl-c1"]],[[4,7,"pl-s1"],[8,18,"pl-c1"],[19,20,"pl-c1"],[21,24,"pl-s1"],[25,28,"pl-c1"]],[],[[4,72,"pl-c"]],[[4,6,"pl-k"],[9,23,"pl-s1"],[24,26,"pl-c1"],[27,38,"pl-s1"],[39,41,"pl-c1"],[42,46,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,59,"pl-c"]],[[4,6,"pl-k"],[8,23,"pl-s1"]],[[1,25,"pl-en"],[26,29,"pl-s1"],[30,33,"pl-c1"],[35,38,"pl-s1"],[39,42,"pl-c1"]],[[4,72,"pl-c"]],[[4,18,"pl-c"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,15,"pl-c1"],[19,30,"pl-s1"],[31,33,"pl-c1"],[34,37,"pl-s1"],[38,41,"pl-c1"],[45,59,"pl-s1"]],[[1,7,"pl-k"]],[],[[4,7,"pl-s1"],[8,23,"pl-c1"],[24,25,"pl-c1"]],[],[[4,6,"pl-c"]],[[0,59,"pl-c"]],[[0,69,"pl-c"]],[[0,7,"pl-c"]],[[0,6,"pl-k"],[7,20,"pl-c1"]],[[4,6,"pl-k"],[8,26,"pl-en"]],[[1,6,"pl-s1"],[7,8,"pl-c1"],[9,30,"pl-en"],[31,32,"pl-c1"],[32,40,"pl-s1"],[42,43,"pl-c1"],[43,51,"pl-s1"]],[[4,8,"pl-k"]],[[0,6,"pl-k"]],[[1,6,"pl-s1"],[7,8,"pl-c1"],[9,10,"pl-c1"],[10,21,"pl-s1"],[22,35,"pl-en"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,15,"pl-c1"],[16,28,"pl-c1"]],[[1,3,"pl-s1"],[4,5,"pl-c1"],[6,11,"pl-s1"],[11,13,"pl-c1"],[13,18,"pl-c1"]],[[4,8,"pl-k"]],[[1,3,"pl-s1"],[4,5,"pl-c1"],[6,11,"pl-s1"],[11,13,"pl-c1"],[13,15,"pl-c1"]],[],[[4,73,"pl-c"]],[[4,7,"pl-s1"],[8,9,"pl-c1"],[10,20,"pl-c1"]],[[4,7,"pl-s1"],[8,9,"pl-c1"],[10,20,"pl-c1"]],[[4,9,"pl-s1"],[10,11,"pl-c1"],[12,22,"pl-c1"]],[[4,24,"pl-en"],[25,30,"pl-s1"],[30,32,"pl-c1"],[32,41,"pl-c1"]],[[5,10,"pl-s1"],[10,12,"pl-c1"],[12,19,"pl-c1"]],[[5,10,"pl-s1"],[10,12,"pl-c1"],[12,20,"pl-c1"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[13,15,"pl-c1"],[15,24,"pl-c1"],[25,27,"pl-c1"],[28,29,"pl-c1"],[30,32,"pl-c1"],[33,38,"pl-s1"],[38,40,"pl-c1"],[40,47,"pl-c1"],[48,50,"pl-c1"],[51,52,"pl-c1"]],[[5,7,"pl-c1"],[8,13,"pl-s1"],[13,15,"pl-c1"],[15,23,"pl-c1"],[24,26,"pl-c1"],[27,28,"pl-c1"]],[[1,19,"pl-en"]],[[0,6,"pl-k"],[7,20,"pl-c1"]],[[4,6,"pl-k"],[8,16,"pl-s1"],[17,19,"pl-c1"],[20,30,"pl-c1"]],[],[[1,6,"pl-s1"],[7,8,"pl-c1"],[9,10,"pl-c1"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,15,"pl-s1"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,15,"pl-s1"]],[],[[4,8,"pl-k"]],[[0,6,"pl-k"]],[[1,3,"pl-k"],[5,7,"pl-s1"],[8,9,"pl-c1"],[10,11,"pl-c1"]],[],[[5,10,"pl-s1"],[11,12,"pl-c1"],[13,26,"pl-en"],[27,29,"pl-s1"],[31,32,"pl-c1"],[32,35,"pl-s1"],[37,38,"pl-c1"],[38,41,"pl-s1"]],[[0,3,"pl-k"],[12,29,"pl-c1"]],[],[[2,8,"pl-k"],[9,12,"pl-smi"],[13,16,"pl-s1"]],[[2,12,"pl-smi"],[13,15,"pl-s1"],[17,19,"pl-s1"]],[],[[2,4,"pl-k"]],[[0,4,"pl-k"],[13,25,"pl-c1"],[27,29,"pl-c1"],[38,46,"pl-c1"]],[[3,21,"pl-en"]],[[0,6,"pl-k"]],[[3,16,"pl-en"]],[[0,7,"pl-k"]],[],[],[[6,9,"pl-s1"],[10,11,"pl-c1"],[12,23,"pl-en"],[25,31,"pl-smi"],[32,33,"pl-c1"],[34,44,"pl-s"]],[[6,8,"pl-k"],[10,13,"pl-s1"],[14,15,"pl-c1"],[16,17,"pl-c1"]],[],[[3,16,"pl-en"],[17,20,"pl-s1"],[22,23,"pl-c1"],[23,25,"pl-s1"],[27,28,"pl-c1"],[28,30,"pl-s1"]],[[3,5,"pl-k"],[7,9,"pl-s1"],[10,12,"pl-c1"],[13,23,"pl-c1"]],[[7,10,"pl-s1"],[11,12,"pl-c1"],[13,15,"pl-s1"]],[[3,5,"pl-k"],[7,9,"pl-s1"],[10,12,"pl-c1"],[13,23,"pl-c1"]],[[7,10,"pl-s1"],[11,12,"pl-c1"],[13,15,"pl-s1"]],[],[],[],[[0,6,"pl-k"]],[],[],[[4,6,"pl-c"]],[[0,61,"pl-c"]],[[0,63,"pl-c"]],[[0,7,"pl-c"]],[[4,8,"pl-s1"],[9,10,"pl-c1"],[11,22,"pl-s1"],[23,33,"pl-s1"],[34,37,"pl-s1"],[38,41,"pl-c1"],[43,44,"pl-c1"],[45,48,"pl-s1"],[49,52,"pl-c1"]],[[4,6,"pl-k"],[8,12,"pl-s1"],[13,14,"pl-c1"],[15,21,"pl-c1"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,25,"pl-en"],[26,30,"pl-s1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"]],[],[[1,5,"pl-s1"],[6,7,"pl-c1"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,20,"pl-c1"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,11,"pl-c1"],[12,22,"pl-c1"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[13,17,"pl-s1"],[18,19,"pl-c1"],[20,30,"pl-c1"],[35,38,"pl-s1"],[38,40,"pl-c1"],[40,44,"pl-c1"],[45,48,"pl-c1"],[49,57,"pl-c1"]],[[8,11,"pl-s1"],[11,13,"pl-c1"],[13,17,"pl-c1"],[18,21,"pl-c1"],[22,30,"pl-c1"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,11,"pl-c1"],[12,22,"pl-c1"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[13,17,"pl-s1"],[18,19,"pl-c1"],[20,30,"pl-c1"],[35,38,"pl-s1"],[38,40,"pl-c1"],[40,44,"pl-c1"],[45,48,"pl-c1"],[49,57,"pl-c1"]],[[8,11,"pl-s1"],[11,13,"pl-c1"],[13,17,"pl-c1"],[18,21,"pl-c1"],[22,30,"pl-c1"]],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,25,"pl-c1"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[8,12,"pl-s1"],[13,14,"pl-c1"],[15,25,"pl-c1"],[29,32,"pl-s1"],[33,43,"pl-c1"],[46,49,"pl-s1"],[50,60,"pl-c1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,25,"pl-c1"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[8,12,"pl-s1"],[13,14,"pl-c1"],[15,25,"pl-c1"],[29,32,"pl-s1"],[33,43,"pl-c1"],[46,49,"pl-s1"],[50,60,"pl-c1"]],[],[[0,6,"pl-k"],[7,15,"pl-c1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"]],[],[[1,13,"pl-s1"],[14,15,"pl-c1"],[18,22,"pl-s1"],[23,24,"pl-c1"],[25,35,"pl-c1"],[39,42,"pl-s1"],[42,44,"pl-c1"],[44,48,"pl-c1"],[49,52,"pl-c1"],[53,61,"pl-c1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,13,"pl-c1"],[14,17,"pl-c1"],[18,26,"pl-c1"]],[[1,13,"pl-s1"],[14,15,"pl-c1"],[18,22,"pl-s1"],[23,24,"pl-c1"],[25,35,"pl-c1"],[39,42,"pl-s1"],[42,44,"pl-c1"],[44,48,"pl-c1"],[49,52,"pl-c1"],[53,61,"pl-c1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,13,"pl-c1"],[14,17,"pl-c1"],[18,26,"pl-c1"]],[[1,3,"pl-k"],[5,17,"pl-s1"],[18,20,"pl-c1"],[21,31,"pl-c1"]],[[5,17,"pl-s1"],[18,19,"pl-c1"],[21,25,"pl-s1"],[26,27,"pl-c1"],[28,38,"pl-c1"],[42,45,"pl-s1"],[46,56,"pl-c1"]],[[4,7,"pl-s1"],[8,18,"pl-c1"]],[[1,3,"pl-k"],[5,17,"pl-s1"],[18,20,"pl-c1"],[21,31,"pl-c1"]],[[5,17,"pl-s1"],[18,19,"pl-c1"],[21,25,"pl-s1"],[26,27,"pl-c1"],[28,38,"pl-c1"],[42,45,"pl-s1"],[46,56,"pl-c1"]],[[4,7,"pl-s1"],[8,18,"pl-c1"]],[],[[4,8,"pl-k"]],[],[[1,13,"pl-s1"],[14,15,"pl-c1"],[17,21,"pl-s1"],[22,23,"pl-c1"],[24,34,"pl-c1"],[38,41,"pl-s1"],[42,52,"pl-c1"]],[[7,10,"pl-s1"],[11,21,"pl-c1"]],[[1,13,"pl-s1"],[14,15,"pl-c1"],[17,21,"pl-s1"],[22,23,"pl-c1"],[24,34,"pl-c1"],[38,41,"pl-s1"],[42,52,"pl-c1"]],[[7,10,"pl-s1"],[11,21,"pl-c1"]],[],[[0,6,"pl-k"]],[],[[4,8,"pl-s1"],[13,23,"pl-c1"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,15,"pl-c1"],[16,26,"pl-c1"]],[],[[1,3,"pl-s1"],[4,5,"pl-c1"],[6,9,"pl-s1"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,10,"pl-s1"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,9,"pl-s1"]],[],[[4,9,"pl-s1"],[14,24,"pl-c1"]],[],[[4,6,"pl-c"]],[[0,61,"pl-c"]],[[0,7,"pl-c"]],[[4,6,"pl-k"],[9,12,"pl-s1"],[13,21,"pl-c1"]],[],[[1,27,"pl-en"],[28,31,"pl-s1"]],[[1,7,"pl-k"]],[],[],[[4,15,"pl-s1"],[16,17,"pl-c1"],[18,21,"pl-s1"],[22,36,"pl-c1"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[13,15,"pl-c1"],[15,20,"pl-c1"],[21,23,"pl-c1"],[24,35,"pl-c1"]],[],[[1,3,"pl-c"]],[[0,59,"pl-c"]],[[0,52,"pl-c"]],[[0,4,"pl-c"]],[[1,4,"pl-s1"],[5,19,"pl-c1"],[20,21,"pl-c1"],[23,28,"pl-s1"],[31,35,"pl-s1"]],[[2,6,"pl-smi"],[7,21,"pl-en"],[22,32,"pl-s1"],[33,36,"pl-s1"],[37,40,"pl-c1"],[42,43,"pl-c1"],[44,47,"pl-s1"],[48,51,"pl-c1"]],[[2,19,"pl-c1"],[22,37,"pl-c1"],[39,42,"pl-s1"],[44,47,"pl-s1"],[49,50,"pl-c1"]],[],[[4,8,"pl-k"]],[],[[0,3,"pl-k"],[12,26,"pl-c1"]],[[1,4,"pl-smi"],[9,16,"pl-s1"],[17,18,"pl-c1"]],[[0,6,"pl-k"]],[[1,3,"pl-c"]],[[0,63,"pl-c"]],[[0,46,"pl-c"]],[[0,4,"pl-c"]],[[1,3,"pl-k"],[5,10,"pl-s1"],[10,12,"pl-c1"],[12,17,"pl-c1"],[18,20,"pl-c1"],[21,30,"pl-c1"]],[],[[5,15,"pl-s1"],[16,17,"pl-c1"],[18,21,"pl-s1"],[22,33,"pl-c1"]],[[5,14,"pl-s1"],[15,16,"pl-c1"],[18,21,"pl-s1"],[22,32,"pl-c1"],[33,34,"pl-c1"],[35,40,"pl-s1"],[40,42,"pl-c1"],[42,52,"pl-c1"],[53,54,"pl-c1"],[55,57,"pl-c1"],[61,64,"pl-c1"]],[],[[1,5,"pl-k"]],[],[[5,15,"pl-s1"],[16,17,"pl-c1"],[19,22,"pl-s1"],[23,34,"pl-c1"],[35,36,"pl-c1"],[37,42,"pl-s1"],[42,44,"pl-c1"],[44,54,"pl-c1"],[55,56,"pl-c1"],[57,59,"pl-c1"],[63,66,"pl-c1"]],[[5,14,"pl-s1"],[15,16,"pl-c1"],[17,20,"pl-s1"],[21,31,"pl-c1"]],[],[[1,3,"pl-k"],[5,14,"pl-s1"],[15,17,"pl-c1"],[19,20,"pl-c1"],[20,32,"pl-s1"],[34,44,"pl-s1"],[45,48,"pl-s1"],[49,52,"pl-c1"],[54,55,"pl-c1"],[56,59,"pl-s1"],[60,63,"pl-c1"]],[[6,16,"pl-s1"],[17,20,"pl-s1"],[21,24,"pl-c1"],[26,27,"pl-c1"],[28,42,"pl-s1"],[44,45,"pl-c1"],[46,47,"pl-c1"]],[],[[5,30,"pl-c"]],[[5,7,"pl-k"],[9,14,"pl-s1"],[14,16,"pl-c1"],[16,21,"pl-c1"],[22,24,"pl-c1"],[25,34,"pl-c1"]],[[2,11,"pl-s1"],[12,14,"pl-c1"],[15,18,"pl-s1"],[19,29,"pl-c1"]],[[0,6,"pl-k"],[7,21,"pl-c1"]],[[5,7,"pl-k"],[9,25,"pl-c1"]],[],[[2,57,"pl-c"]],[[2,53,"pl-c"]],[[2,57,"pl-c"]],[[2,46,"pl-c"]],[[2,9,"pl-s1"],[10,11,"pl-c1"]],[[2,4,"pl-c1"],[4,7,"pl-s1"],[8,11,"pl-c1"]],[],[[0,6,"pl-k"]],[],[[1,25,"pl-en"],[26,35,"pl-s1"],[37,47,"pl-s1"],[49,52,"pl-s1"]],[[0,3,"pl-k"],[12,26,"pl-c1"]],[[1,3,"pl-k"],[5,12,"pl-s1"]],[[5,7,"pl-c1"],[7,10,"pl-s1"],[11,14,"pl-c1"]],[[0,6,"pl-k"]],[],[[0,7,"pl-k"],[8,22,"pl-c1"],[27,64,"pl-c"]],[[1,4,"pl-s1"],[5,19,"pl-c1"],[20,21,"pl-c1"],[22,33,"pl-s1"],[34,44,"pl-s1"],[45,48,"pl-s1"],[49,52,"pl-c1"],[54,55,"pl-c1"],[56,59,"pl-s1"],[60,63,"pl-c1"]],[[2,6,"pl-smi"],[7,21,"pl-en"],[22,32,"pl-s1"],[33,36,"pl-s1"],[37,40,"pl-c1"],[42,43,"pl-c1"],[44,47,"pl-s1"],[48,51,"pl-c1"]],[[2,20,"pl-c1"],[23,38,"pl-c1"]],[[3,13,"pl-smi"],[14,15,"pl-c1"],[18,28,"pl-smi"],[29,30,"pl-c1"],[32,33,"pl-c1"]],[[0,6,"pl-k"]],[],[[4,7,"pl-s1"],[8,22,"pl-c1"],[23,24,"pl-c1"],[25,36,"pl-s1"]],[],[],[[0,3,"pl-k"],[12,21,"pl-c1"],[23,25,"pl-c1"],[34,39,"pl-c1"]],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,17,"pl-en"],[18,22,"pl-smi"]],[],[[0,4,"pl-k"],[14,26,"pl-c1"],[28,30,"pl-c1"],[40,54,"pl-c1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,26,"pl-c1"],[27,29,"pl-c1"],[30,33,"pl-s1"],[34,40,"pl-c1"]],[[1,21,"pl-en"],[22,23,"pl-c1"],[25,26,"pl-c1"],[28,31,"pl-s1"],[32,42,"pl-c1"],[44,47,"pl-s1"],[48,59,"pl-c1"]],[[0,7,"pl-k"]],[],[[0,6,"pl-k"]],[],[[0,2,"pl-c"]],[[0,71,"pl-c"]],[[0,65,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,23,"pl-en"],[24,27,"pl-smi"],[28,39,"pl-s1"],[40,46,"pl-c1"]],[],[[4,7,"pl-smi"],[12,23,"pl-s1"]],[[4,7,"pl-smi"],[12,23,"pl-s1"]],[[4,7,"pl-smi"],[12,27,"pl-s1"]],[[4,7,"pl-smi"],[12,28,"pl-s1"]],[],[[4,59,"pl-c"]],[[4,6,"pl-c1"],[6,21,"pl-s1"]],[],[[4,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,28,"pl-c1"],[29,38,"pl-c1"]],[[1,12,"pl-s1"],[13,15,"pl-c1"],[16,19,"pl-s1"],[20,35,"pl-c1"]],[],[[4,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"]],[[0,3,"pl-k"],[12,21,"pl-c1"],[23,25,"pl-c1"],[36,48,"pl-c1"],[50,52,"pl-c1"],[61,76,"pl-c1"]],[[4,7,"pl-s1"],[8,18,"pl-c1"],[19,20,"pl-c1"],[21,32,"pl-s1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,26,"pl-c1"]],[[1,12,"pl-s1"],[13,15,"pl-c1"],[16,19,"pl-s1"],[20,31,"pl-c1"]],[[0,6,"pl-k"]],[],[[0,3,"pl-k"],[12,28,"pl-c1"],[30,32,"pl-c1"],[42,56,"pl-c1"]],[[1,3,"pl-c1"],[12,26,"pl-c1"]],[[4,6,"pl-k"],[8,23,"pl-en"]],[[1,12,"pl-s1"],[13,15,"pl-c1"],[16,19,"pl-s1"],[20,34,"pl-c1"]],[[0,6,"pl-k"]],[],[[0,3,"pl-k"],[12,24,"pl-c1"],[26,28,"pl-c1"],[38,52,"pl-c1"]],[[1,3,"pl-c1"],[12,26,"pl-c1"],[28,30,"pl-c1"],[39,53,"pl-c1"]],[[4,6,"pl-k"],[8,18,"pl-en"],[19,23,"pl-s1"],[25,35,"pl-c1"],[37,39,"pl-c1"],[40,44,"pl-c1"]],[],[[0,4,"pl-k"],[13,27,"pl-c1"]],[[1,24,"pl-en"],[25,26,"pl-c1"],[28,39,"pl-s1"]],[[4,7,"pl-s1"],[8,18,"pl-c1"],[20,23,"pl-s1"],[24,38,"pl-c1"]],[[0,7,"pl-k"]],[[1,12,"pl-s1"],[13,15,"pl-c1"],[16,19,"pl-s1"],[20,34,"pl-c1"]],[],[[0,6,"pl-k"]],[],[[0,3,"pl-k"],[12,28,"pl-c1"],[30,32,"pl-c1"],[41,55,"pl-c1"]],[[4,27,"pl-en"],[28,29,"pl-c1"],[31,42,"pl-s1"]],[[4,7,"pl-s1"],[8,18,"pl-c1"],[20,23,"pl-s1"],[24,38,"pl-c1"]],[[4,6,"pl-k"],[8,23,"pl-en"]],[[1,12,"pl-s1"],[13,15,"pl-c1"],[16,19,"pl-s1"],[20,34,"pl-c1"]],[[0,6,"pl-k"]],[],[[4,19,"pl-s1"],[20,21,"pl-c1"],[22,25,"pl-s1"],[26,34,"pl-c1"],[35,36,"pl-c1"],[37,40,"pl-s1"],[41,51,"pl-c1"],[52,53,"pl-c1"],[54,57,"pl-s1"],[58,71,"pl-c1"],[72,73,"pl-c1"],[74,75,"pl-c1"]],[[4,20,"pl-s1"],[21,22,"pl-c1"],[23,26,"pl-s1"],[27,35,"pl-c1"],[36,37,"pl-c1"],[38,41,"pl-s1"],[42,53,"pl-c1"],[54,55,"pl-c1"],[56,59,"pl-s1"],[60,73,"pl-c1"],[74,75,"pl-c1"],[76,77,"pl-c1"]],[],[[4,29,"pl-en"],[30,41,"pl-s1"]],[[9,20,"pl-s1"]],[[9,24,"pl-s1"]],[[9,25,"pl-s1"]],[[0,3,"pl-k"],[12,20,"pl-c1"],[22,24,"pl-c1"],[26,33,"pl-en"],[34,46,"pl-c1"]],[[6,7,"pl-c1"],[8,34,"pl-en"]],[[0,6,"pl-k"]],[],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[4,21,"pl-en"]],[[0,6,"pl-k"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,28,"pl-c1"],[29,40,"pl-c1"]],[[1,26,"pl-en"],[27,28,"pl-c1"],[28,31,"pl-s1"],[32,43,"pl-c1"]],[[6,17,"pl-s1"]],[[6,17,"pl-s1"],[18,19,"pl-c1"],[20,36,"pl-s1"]],[[5,6,"pl-c1"],[7,37,"pl-en"]],[[6,21,"pl-s1"]],[[6,9,"pl-s1"],[10,26,"pl-c1"]],[[4,7,"pl-s1"],[8,19,"pl-c1"],[20,21,"pl-c1"],[22,23,"pl-c1"]],[[4,7,"pl-s1"],[8,20,"pl-c1"],[21,22,"pl-c1"],[23,34,"pl-s1"],[35,36,"pl-c1"],[37,52,"pl-s1"]],[[5,6,"pl-c1"],[7,37,"pl-en"]],[],[[4,6,"pl-c1"],[6,21,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,77,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,18,"pl-en"],[19,23,"pl-smi"]],[],[[4,7,"pl-smi"],[12,22,"pl-s1"]],[],[[4,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[19,20,"pl-c1"],[21,24,"pl-s1"],[25,38,"pl-c1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,28,"pl-c1"],[29,38,"pl-c1"]],[[1,11,"pl-s1"],[12,14,"pl-c1"],[15,18,"pl-s1"],[19,34,"pl-c1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,28,"pl-c1"],[29,39,"pl-c1"]],[[1,11,"pl-s1"],[12,14,"pl-c1"],[15,18,"pl-s1"],[19,34,"pl-c1"]],[[4,10,"pl-k"],[11,21,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,79,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,19,"pl-en"],[20,24,"pl-smi"]],[],[[4,7,"pl-smi"],[12,23,"pl-s1"]],[],[[4,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[20,21,"pl-c1"],[22,25,"pl-s1"],[26,39,"pl-c1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,28,"pl-c1"],[29,40,"pl-c1"]],[[1,12,"pl-s1"],[13,15,"pl-c1"],[16,19,"pl-s1"],[20,36,"pl-c1"]],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[4,70,"pl-c"]],[[4,74,"pl-c"]],[[4,34,"pl-c"]],[[0,5,"pl-k"]],[[0,7,"pl-k"],[8,17,"pl-c1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,26,"pl-c1"]],[[1,12,"pl-s1"],[13,15,"pl-c1"],[16,19,"pl-s1"],[20,31,"pl-c1"]],[[0,7,"pl-k"]],[[0,7,"pl-k"],[8,20,"pl-c1"]],[[4,6,"pl-k"],[8,18,"pl-en"],[19,23,"pl-s1"],[25,35,"pl-c1"],[37,39,"pl-c1"],[40,44,"pl-c1"]],[[1,12,"pl-s1"],[13,15,"pl-c1"],[16,19,"pl-s1"],[20,34,"pl-c1"]],[[0,7,"pl-k"]],[[0,4,"pl-k"],[13,29,"pl-c1"],[31,33,"pl-c1"],[43,57,"pl-c1"]],[[1,3,"pl-c1"],[12,26,"pl-c1"],[28,30,"pl-c1"],[39,53,"pl-c1"]],[[4,6,"pl-k"],[8,23,"pl-en"]],[[1,12,"pl-s1"],[13,15,"pl-c1"],[16,19,"pl-s1"],[20,34,"pl-c1"]],[[0,7,"pl-k"]],[[0,4,"pl-k"],[13,27,"pl-c1"],[29,31,"pl-c1"],[40,49,"pl-c1"]],[[4,15,"pl-s1"],[16,18,"pl-c1"],[19,49,"pl-en"]],[[0,7,"pl-k"]],[[0,6,"pl-k"]],[[4,10,"pl-k"],[11,22,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,76,"pl-c"]],[[0,51,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,16,"pl-en"],[17,20,"pl-smi"],[21,32,"pl-s1"],[34,37,"pl-smi"],[38,50,"pl-s1"]],[],[[4,10,"pl-k"],[11,14,"pl-smi"],[15,19,"pl-s1"],[20,21,"pl-c1"]],[],[[4,6,"pl-k"],[9,12,"pl-s1"],[13,26,"pl-c1"],[32,65,"pl-c"]],[[1,7,"pl-k"]],[],[[4,6,"pl-c"]],[[0,75,"pl-c"]],[[0,32,"pl-c"]],[[0,7,"pl-c"]],[[4,6,"pl-k"],[8,23,"pl-s1"],[24,26,"pl-c1"],[27,31,"pl-s1"]],[],[[1,16,"pl-s1"],[17,18,"pl-c1"],[19,30,"pl-s1"]],[[1,17,"pl-s1"],[18,19,"pl-c1"],[20,32,"pl-s1"]],[[1,7,"pl-k"]],[],[],[[0,5,"pl-ent"]],[[4,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"]],[[4,20,"pl-s1"],[21,22,"pl-c1"],[23,24,"pl-c1"]],[[4,8,"pl-s1"],[9,10,"pl-c1"]],[],[[0,6,"pl-k"],[7,21,"pl-c1"]],[[4,19,"pl-en"]],[[0,6,"pl-k"]],[],[[4,44,"pl-c"]],[[4,13,"pl-en"]],[],[[4,7,"pl-s1"],[8,16,"pl-c1"],[17,18,"pl-c1"],[20,31,"pl-s1"],[32,33,"pl-c1"],[34,52,"pl-en"],[58,61,"pl-s1"],[62,72,"pl-c1"]],[[4,7,"pl-s1"],[8,16,"pl-c1"],[17,18,"pl-c1"],[20,32,"pl-s1"],[33,34,"pl-c1"],[35,54,"pl-en"],[60,63,"pl-s1"],[64,75,"pl-c1"]],[],[[4,27,"pl-en"],[28,39,"pl-s1"]],[[4,27,"pl-en"]],[],[[4,6,"pl-c"]],[[0,77,"pl-c"]],[[0,71,"pl-c"]],[[0,7,"pl-c"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,16,"pl-c1"],[17,29,"pl-c1"],[30,32,"pl-c1"],[33,38,"pl-s1"],[39,41,"pl-c1"],[42,54,"pl-c1"]],[[1,4,"pl-s1"],[5,8,"pl-c1"],[9,10,"pl-c1"],[11,14,"pl-s1"],[15,23,"pl-c1"]],[],[[4,75,"pl-c"]],[[4,21,"pl-c"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,20,"pl-c1"],[21,23,"pl-c1"],[24,35,"pl-s1"],[36,38,"pl-c1"],[39,42,"pl-s1"],[43,51,"pl-c1"],[52,54,"pl-c1"],[55,69,"pl-s1"]],[[5,7,"pl-c1"],[8,11,"pl-s1"],[12,20,"pl-c1"],[21,23,"pl-c1"],[24,28,"pl-s1"],[29,31,"pl-c1"],[32,35,"pl-s1"],[36,44,"pl-c1"],[45,47,"pl-c1"],[48,55,"pl-s1"],[56,58,"pl-c1"],[59,62,"pl-s1"],[63,75,"pl-c1"]],[],[[1,14,"pl-en"]],[[1,4,"pl-s1"],[5,17,"pl-c1"],[18,19,"pl-c1"],[20,21,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,21,"pl-c1"]],[[4,21,"pl-en"]],[[0,6,"pl-k"]],[],[[4,25,"pl-en"]],[[4,21,"pl-en"]],[[0,3,"pl-k"],[12,20,"pl-c1"],[22,24,"pl-c1"],[34,46,"pl-c1"]],[[4,23,"pl-en"]],[[0,6,"pl-k"]],[],[[4,8,"pl-s1"],[9,10,"pl-c1"]],[],[[4,64,"pl-c"]],[[4,79,"pl-c"]],[[4,24,"pl-c"]],[[4,6,"pl-k"],[8,24,"pl-s1"]],[],[[1,3,"pl-k"],[5,16,"pl-s1"],[17,19,"pl-c1"],[20,35,"pl-s1"],[36,38,"pl-c1"],[39,51,"pl-s1"],[52,54,"pl-c1"],[55,71,"pl-s1"]],[],[[5,20,"pl-s1"],[21,22,"pl-c1"],[23,24,"pl-c1"]],[[5,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-c1"]],[],[[1,5,"pl-k"]],[],[[5,16,"pl-s1"],[17,18,"pl-c1"],[19,34,"pl-s1"]],[[5,17,"pl-s1"],[18,19,"pl-c1"],[20,36,"pl-s1"]],[[10,15,"pl-ent"]],[],[],[],[],[[0,2,"pl-c"]],[[0,46,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,20,"pl-en"],[21,25,"pl-smi"]],[],[[4,6,"pl-k"],[8,24,"pl-s1"]],[[1,67,"pl-c"]],[[1,32,"pl-c"]],[[1,17,"pl-en"],[18,33,"pl-s1"],[35,51,"pl-s1"]],[],[],[[4,7,"pl-smi"]],[[0,17,"pl-en"],[18,22,"pl-smi"]],[],[[4,8,"pl-s1"],[9,10,"pl-c1"],[11,14,"pl-s1"],[15,23,"pl-c1"]],[[4,11,"pl-s1"],[12,13,"pl-c1"],[14,17,"pl-s1"],[18,26,"pl-c1"]],[[4,10,"pl-k"],[11,13,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,63,"pl-c"]],[[0,77,"pl-c"]],[[0,17,"pl-c"]],[[0,71,"pl-c"]],[[0,54,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,17,"pl-en"]],[[4,7,"pl-smi"],[9,16,"pl-s1"],[17,23,"pl-c1"]],[[4,7,"pl-smi"],[9,23,"pl-s1"]],[[4,7,"pl-smi"],[9,18,"pl-s1"],[21,46,"pl-c"]],[],[[4,7,"pl-smi"],[9,19,"pl-s1"]],[[4,7,"pl-smi"],[9,20,"pl-s1"]],[[4,7,"pl-smi"],[9,14,"pl-s1"]],[[4,7,"pl-smi"],[9,15,"pl-s1"]],[[4,7,"pl-smi"],[9,18,"pl-s1"]],[[4,7,"pl-smi"],[9,19,"pl-s1"]],[[4,7,"pl-smi"],[9,17,"pl-s1"]],[[4,7,"pl-smi"],[9,17,"pl-s1"]],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[4,7,"pl-smi"],[9,20,"pl-s1"],[21,22,"pl-c1"],[23,30,"pl-s1"]],[[4,7,"pl-smi"],[9,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"]],[[0,6,"pl-k"]],[[4,7,"pl-smi"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,15,"pl-c1"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,23,"pl-c1"]],[],[[4,6,"pl-k"],[9,12,"pl-s1"],[13,26,"pl-c1"]],[[1,7,"pl-k"]],[],[[0,3,"pl-k"],[12,17,"pl-c1"],[19,21,"pl-c1"],[30,42,"pl-c1"]],[[4,75,"pl-c"]],[[4,61,"pl-c"]],[[4,6,"pl-k"],[9,16,"pl-s1"],[17,19,"pl-c1"],[21,31,"pl-en"],[32,36,"pl-s1"],[38,52,"pl-c1"],[54,56,"pl-c1"],[57,61,"pl-c1"]],[[13,15,"pl-c1"],[16,33,"pl-en"]],[],[[1,16,"pl-en"]],[[1,7,"pl-k"]],[],[[0,6,"pl-k"]],[],[[4,14,"pl-s1"],[15,16,"pl-c1"],[17,35,"pl-en"]],[[4,15,"pl-s1"],[16,17,"pl-c1"],[18,37,"pl-en"]],[[4,6,"pl-k"],[8,22,"pl-s1"]],[[1,42,"pl-c"]],[[2,6,"pl-smi"],[7,25,"pl-en"],[26,27,"pl-c1"],[27,28,"pl-s1"],[30,31,"pl-c1"],[31,32,"pl-s1"]],[],[[4,9,"pl-s1"],[10,11,"pl-c1"],[12,19,"pl-s1"],[20,21,"pl-c1"],[22,25,"pl-s1"],[26,36,"pl-c1"],[37,38,"pl-c1"],[39,49,"pl-s1"]],[[4,10,"pl-s1"],[11,12,"pl-c1"],[13,17,"pl-s1"],[18,19,"pl-c1"],[20,23,"pl-s1"],[24,35,"pl-c1"],[36,37,"pl-c1"],[38,49,"pl-s1"]],[],[[4,6,"pl-k"],[8,22,"pl-s1"]],[],[[1,30,"pl-en"],[31,32,"pl-c1"],[32,40,"pl-s1"],[42,43,"pl-c1"],[43,51,"pl-s1"]],[[1,3,"pl-k"],[6,15,"pl-s1"],[16,17,"pl-c1"],[18,28,"pl-c1"],[30,32,"pl-c1"],[33,38,"pl-s1"],[39,40,"pl-c1"],[41,49,"pl-s1"]],[],[[5,12,"pl-s1"],[13,14,"pl-c1"],[16,24,"pl-s1"],[25,26,"pl-c1"],[27,37,"pl-s1"],[41,44,"pl-s1"],[45,55,"pl-c1"]],[[5,7,"pl-k"],[9,16,"pl-s1"],[17,18,"pl-c1"],[19,30,"pl-c1"]],[[2,9,"pl-s1"],[10,11,"pl-c1"],[12,23,"pl-c1"]],[[5,10,"pl-s1"],[11,12,"pl-c1"],[13,20,"pl-s1"],[21,22,"pl-c1"],[23,26,"pl-s1"],[27,37,"pl-c1"],[38,39,"pl-c1"],[40,50,"pl-s1"]],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[5,7,"pl-c1"],[7,17,"pl-s1"]],[[0,6,"pl-k"]],[],[[1,3,"pl-k"],[6,15,"pl-s1"],[16,17,"pl-c1"],[18,29,"pl-c1"],[31,33,"pl-c1"],[34,40,"pl-s1"],[41,42,"pl-c1"],[43,51,"pl-s1"]],[],[[5,9,"pl-s1"],[10,11,"pl-c1"],[13,21,"pl-s1"],[22,23,"pl-c1"],[24,35,"pl-s1"],[39,42,"pl-s1"],[43,54,"pl-c1"]],[[5,20,"pl-en"]],[[5,11,"pl-s1"],[12,13,"pl-c1"],[14,18,"pl-s1"],[19,20,"pl-c1"],[21,24,"pl-s1"],[25,36,"pl-c1"],[37,38,"pl-c1"],[39,50,"pl-s1"]],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[5,7,"pl-c1"],[7,17,"pl-s1"]],[[0,6,"pl-k"]],[],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[1,3,"pl-k"],[5,15,"pl-s1"],[16,18,"pl-c1"],[19,20,"pl-c1"],[21,23,"pl-c1"],[25,30,"pl-s1"],[31,32,"pl-c1"],[33,36,"pl-s1"],[37,47,"pl-c1"],[51,59,"pl-s1"]],[[9,11,"pl-c1"],[12,18,"pl-s1"],[19,20,"pl-c1"],[21,24,"pl-s1"],[25,36,"pl-c1"],[40,48,"pl-s1"]],[[5,43,"pl-c"]],[[5,16,"pl-s1"],[17,18,"pl-c1"]],[[0,6,"pl-k"]],[],[[4,21,"pl-en"]],[[4,7,"pl-s1"],[8,16,"pl-c1"],[17,18,"pl-c1"],[19,26,"pl-s1"]],[[4,7,"pl-s1"],[8,16,"pl-c1"],[17,18,"pl-c1"],[19,23,"pl-s1"]],[],[[4,13,"pl-s1"],[14,15,"pl-c1"],[16,26,"pl-s1"],[27,28,"pl-c1"],[29,40,"pl-c1"],[41,42,"pl-c1"],[43,46,"pl-s1"],[47,57,"pl-c1"]],[[4,14,"pl-s1"],[15,16,"pl-c1"],[17,28,"pl-s1"],[29,30,"pl-c1"],[31,40,"pl-c1"],[41,42,"pl-c1"],[43,46,"pl-s1"],[47,58,"pl-c1"]],[[4,14,"pl-s1"],[15,17,"pl-c1"],[18,32,"pl-en"],[35,36,"pl-c1"],[37,40,"pl-s1"],[41,52,"pl-c1"]],[],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[4,6,"pl-k"],[8,19,"pl-s1"]],[],[[1,64,"pl-c"]],[[1,42,"pl-c"]],[[1,30,"pl-en"],[31,32,"pl-c1"],[32,40,"pl-s1"],[42,43,"pl-c1"],[43,51,"pl-s1"]],[[1,3,"pl-k"],[6,11,"pl-s1"],[12,13,"pl-c1"],[14,17,"pl-s1"],[18,28,"pl-c1"],[29,30,"pl-c1"],[31,39,"pl-s1"]],[[7,9,"pl-c1"],[10,16,"pl-s1"],[17,18,"pl-c1"],[19,22,"pl-s1"],[23,34,"pl-c1"],[35,36,"pl-c1"],[37,38,"pl-c1"],[39,40,"pl-c1"],[41,49,"pl-s1"]],[[2,4,"pl-c1"],[5,22,"pl-en"]],[[5,23,"pl-en"]],[],[[0,6,"pl-k"]],[],[[4,25,"pl-en"],[26,31,"pl-s1"],[33,39,"pl-s1"],[41,50,"pl-s1"],[52,62,"pl-s1"]],[[7,17,"pl-s1"],[19,30,"pl-s1"],[32,41,"pl-s1"]],[],[[4,6,"pl-k"],[8,22,"pl-s1"],[23,25,"pl-c1"],[26,27,"pl-s1"],[31,32,"pl-c1"],[33,35,"pl-c1"],[36,37,"pl-s1"],[41,42,"pl-c1"]],[],[[1,69,"pl-c"]],[[1,65,"pl-c"]],[[1,53,"pl-c"]],[[1,15,"pl-en"]],[[1,3,"pl-k"],[5,23,"pl-en"],[24,25,"pl-c1"],[25,26,"pl-s1"],[28,29,"pl-c1"],[29,30,"pl-s1"],[32,34,"pl-c1"],[35,37,"pl-c1"],[38,40,"pl-c1"],[42,43,"pl-s1"],[44,45,"pl-c1"],[46,47,"pl-c1"],[48,50,"pl-c1"],[51,52,"pl-s1"],[53,54,"pl-c1"],[55,56,"pl-c1"]],[[5,23,"pl-en"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-c1"],[32,33,"pl-c1"],[36,37,"pl-s1"],[39,40,"pl-s1"],[41,42,"pl-c1"],[43,44,"pl-c1"],[47,48,"pl-c1"],[51,52,"pl-s1"]],[],[],[[4,27,"pl-en"],[28,33,"pl-s1"]],[[4,25,"pl-en"]],[[4,27,"pl-en"]],[],[],[[0,2,"pl-c"]],[[0,47,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,17,"pl-en"],[18,22,"pl-smi"]],[],[[4,27,"pl-en"]],[],[],[[0,2,"pl-c"]],[[0,41,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,23,"pl-en"],[24,28,"pl-smi"]],[],[[4,7,"pl-s1"],[8,25,"pl-c1"],[26,27,"pl-c1"],[28,29,"pl-c1"]],[[4,7,"pl-s1"],[8,25,"pl-c1"],[26,27,"pl-c1"],[28,31,"pl-s1"],[32,40,"pl-c1"],[41,42,"pl-c1"],[43,44,"pl-c1"]],[[4,7,"pl-s1"],[8,26,"pl-c1"],[27,28,"pl-c1"],[29,30,"pl-c1"]],[[4,7,"pl-s1"],[8,27,"pl-c1"],[28,29,"pl-c1"],[30,33,"pl-s1"],[34,42,"pl-c1"],[43,44,"pl-c1"],[45,46,"pl-c1"]],[],[],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,19,"pl-en"],[20,23,"pl-smi"],[24,28,"pl-s1"]],[],[[4,6,"pl-k"],[8,12,"pl-s1"],[13,14,"pl-c1"],[15,21,"pl-c1"],[28,45,"pl-c"]],[[1,4,"pl-s1"],[5,19,"pl-c1"],[20,21,"pl-c1"],[22,26,"pl-s1"]],[[4,8,"pl-k"],[15,22,"pl-c"]],[[1,4,"pl-s1"],[5,19,"pl-c1"],[23,27,"pl-s1"]],[],[],[[4,8,"pl-smi"]],[[0,18,"pl-en"],[19,22,"pl-smi"],[23,27,"pl-s1"]],[],[[4,6,"pl-k"],[8,12,"pl-s1"],[13,14,"pl-c1"],[15,21,"pl-c1"],[28,45,"pl-c"]],[[1,4,"pl-s1"],[5,19,"pl-c1"],[20,21,"pl-c1"],[22,31,"pl-c1"]],[[4,8,"pl-k"],[15,22,"pl-c"]],[[1,4,"pl-s1"],[5,19,"pl-c1"],[24,28,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,73,"pl-c"]],[[0,26,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,15,"pl-en"]],[[4,7,"pl-smi"],[12,16,"pl-s1"]],[[4,7,"pl-smi"],[12,16,"pl-s1"]],[[4,7,"pl-smi"],[12,16,"pl-s1"]],[[4,7,"pl-smi"],[12,16,"pl-s1"]],[],[[4,59,"pl-c"]],[[4,28,"pl-en"],[29,33,"pl-s1"],[35,39,"pl-s1"]],[],[[4,23,"pl-en"],[24,28,"pl-s1"],[30,34,"pl-s1"],[36,40,"pl-s1"],[42,46,"pl-s1"]],[],[[4,48,"pl-c"]],[[4,6,"pl-k"],[15,18,"pl-s1"],[19,29,"pl-c1"],[33,37,"pl-s1"],[38,40,"pl-c1"],[41,44,"pl-s1"],[45,55,"pl-c1"],[59,63,"pl-s1"]],[[5,7,"pl-c1"],[8,11,"pl-s1"],[12,22,"pl-c1"],[26,30,"pl-s1"],[31,33,"pl-c1"],[34,37,"pl-s1"],[38,48,"pl-c1"],[52,56,"pl-s1"]],[[1,4,"pl-s1"],[5,20,"pl-c1"],[21,22,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,76,"pl-c"]],[[0,52,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,23,"pl-en"],[24,28,"pl-smi"]],[],[[4,11,"pl-en"],[12,20,"pl-s"]],[],[],[[4,8,"pl-smi"]],[[0,9,"pl-en"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,13,"pl-s1"]],[[4,7,"pl-smi"],[9,12,"pl-s1"]],[],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,13,"pl-s1"]],[[4,7,"pl-smi"],[9,13,"pl-s1"],[14,15,"pl-c1"],[16,17,"pl-c1"],[19,23,"pl-s1"],[24,25,"pl-c1"],[26,27,"pl-c1"]],[[4,7,"pl-smi"],[9,21,"pl-s1"],[22,23,"pl-c1"],[31,53,"pl-c"]],[[4,7,"pl-smi"],[9,24,"pl-s1"],[25,26,"pl-c1"]],[[4,10,"pl-k"],[11,16,"pl-smi"],[17,18,"pl-c1"],[18,28,"pl-s1"],[29,30,"pl-c1"],[31,35,"pl-c1"]],[],[[0,26,"pl-c"]],[[0,6,"pl-k"],[7,22,"pl-c1"]],[],[[1,4,"pl-smi"],[5,6,"pl-s1"]],[[1,7,"pl-smi"],[8,9,"pl-c1"],[9,12,"pl-s1"]],[],[[1,7,"pl-en"],[8,30,"pl-s"],[32,35,"pl-s1"]],[[1,4,"pl-k"],[6,7,"pl-s1"],[8,9,"pl-c1"],[10,11,"pl-c1"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,20,"pl-s1"],[22,23,"pl-s1"],[23,25,"pl-c1"]],[[5,7,"pl-k"],[9,10,"pl-s1"],[11,12,"pl-s1"],[14,16,"pl-c1"],[17,20,"pl-c1"]],[],[[2,4,"pl-k"],[6,7,"pl-s1"],[8,10,"pl-c1"],[11,12,"pl-c1"]],[[6,12,"pl-en"],[13,21,"pl-s"]],[[2,8,"pl-en"],[9,16,"pl-s"]],[],[[5,9,"pl-k"]],[],[[2,5,"pl-s1"],[6,7,"pl-c1"],[8,22,"pl-en"],[23,24,"pl-s1"],[25,26,"pl-s1"]],[[2,4,"pl-k"],[6,9,"pl-s1"],[10,11,"pl-c1"],[13,15,"pl-c1"],[16,19,"pl-s1"],[20,21,"pl-c1"]],[[6,12,"pl-en"],[13,19,"pl-s"],[22,26,"pl-smi"],[27,28,"pl-c1"],[29,32,"pl-s1"]],[[2,6,"pl-k"]],[[6,12,"pl-en"],[13,17,"pl-s"],[20,24,"pl-smi"],[25,26,"pl-c1"],[27,30,"pl-s1"]],[],[[1,7,"pl-en"],[8,12,"pl-s"]],[],[[0,6,"pl-k"]],[[4,9,"pl-k"],[11,14,"pl-s1"]],[],[[1,3,"pl-k"],[5,6,"pl-s1"],[7,8,"pl-c1"],[10,12,"pl-c1"],[13,16,"pl-c1"],[17,19,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[25,27,"pl-c1"],[28,31,"pl-c1"]],[],[[5,6,"pl-s1"],[7,8,"pl-c1"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"]],[[5,7,"pl-k"],[9,20,"pl-en"],[21,22,"pl-c1"],[22,23,"pl-s1"],[25,27,"pl-c1"],[29,30,"pl-c1"],[30,31,"pl-s1"],[32,34,"pl-c1"],[35,38,"pl-c1"],[39,41,"pl-c1"],[42,53,"pl-en"],[54,55,"pl-c1"],[56,57,"pl-s1"],[58,59,"pl-c1"],[60,61,"pl-c1"]],[],[[2,6,"pl-s1"],[7,8,"pl-c1"],[9,18,"pl-en"],[19,20,"pl-c1"],[20,21,"pl-s1"]],[[2,4,"pl-k"],[6,7,"pl-s1"],[8,9,"pl-c1"],[10,11,"pl-s1"],[12,13,"pl-c1"],[14,17,"pl-s1"]],[[6,11,"pl-k"]],[[2,4,"pl-k"],[6,7,"pl-c1"],[7,8,"pl-s1"],[9,11,"pl-c1"],[12,15,"pl-c1"]],[],[[6,8,"pl-c1"],[8,9,"pl-s1"]],[[6,10,"pl-s1"],[11,12,"pl-c1"],[13,22,"pl-en"],[23,24,"pl-c1"],[24,25,"pl-s1"]],[[6,8,"pl-k"],[10,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,21,"pl-s1"]],[[3,8,"pl-k"]],[],[],[[5,11,"pl-k"],[13,14,"pl-c1"],[14,15,"pl-s1"]],[],[[2,6,"pl-k"],[7,10,"pl-c1"],[12,27,"pl-c"]],[[6,27,"pl-en"],[28,32,"pl-c1"]],[[6,23,"pl-en"]],[[6,9,"pl-s1"],[10,25,"pl-c1"],[26,27,"pl-c1"]],[[6,21,"pl-s1"],[22,23,"pl-c1"]],[[6,11,"pl-k"]],[[2,6,"pl-k"],[7,10,"pl-c1"],[12,26,"pl-c"]],[[6,20,"pl-en"],[21,25,"pl-s1"],[27,31,"pl-s1"]],[[6,11,"pl-k"]],[[2,6,"pl-k"],[7,10,"pl-c1"],[12,42,"pl-c"]],[[6,18,"pl-s1"],[19,20,"pl-c1"]],[[6,11,"pl-k"]],[[2,6,"pl-k"],[7,10,"pl-c1"],[12,32,"pl-c"]],[[6,8,"pl-k"],[10,14,"pl-s1"],[15,16,"pl-c1"],[17,21,"pl-s1"]],[],[[3,6,"pl-s1"],[7,24,"pl-c1"],[25,26,"pl-c1"],[27,31,"pl-s1"]],[[3,6,"pl-s1"],[7,24,"pl-c1"],[25,26,"pl-c1"],[27,31,"pl-s1"]],[],[[6,10,"pl-k"]],[],[[3,6,"pl-s1"],[7,24,"pl-c1"],[25,26,"pl-c1"],[27,31,"pl-s1"]],[[3,6,"pl-s1"],[7,24,"pl-c1"],[25,26,"pl-c1"],[27,31,"pl-s1"]],[],[[6,11,"pl-k"]],[[2,6,"pl-k"],[7,10,"pl-c1"],[12,41,"pl-c"]],[[6,8,"pl-k"],[10,14,"pl-s1"],[15,16,"pl-c1"],[17,21,"pl-s1"]],[],[[3,6,"pl-s1"],[7,25,"pl-c1"],[26,27,"pl-c1"],[28,32,"pl-s1"]],[[3,6,"pl-s1"],[7,26,"pl-c1"],[27,28,"pl-c1"],[29,33,"pl-s1"]],[],[[6,10,"pl-k"]],[],[[3,6,"pl-s1"],[7,25,"pl-c1"],[26,27,"pl-c1"],[28,32,"pl-s1"]],[[3,6,"pl-s1"],[7,26,"pl-c1"],[27,28,"pl-c1"],[29,33,"pl-s1"]],[],[[6,11,"pl-k"]],[[2,6,"pl-k"],[7,10,"pl-c1"],[12,26,"pl-c"]],[[6,22,"pl-en"],[23,26,"pl-s1"],[27,30,"pl-c1"],[32,33,"pl-c1"]],[[6,11,"pl-k"]],[[2,6,"pl-k"],[7,10,"pl-c1"],[12,27,"pl-c"]],[[6,22,"pl-en"],[23,26,"pl-s1"],[27,30,"pl-c1"],[32,36,"pl-s1"]],[[6,11,"pl-k"]],[[2,6,"pl-k"],[7,10,"pl-c1"],[12,26,"pl-c"]],[[6,22,"pl-en"],[23,26,"pl-s1"],[27,30,"pl-c1"],[32,33,"pl-c1"]],[[6,11,"pl-k"]],[[2,6,"pl-k"],[7,10,"pl-c1"],[12,27,"pl-c"]],[[6,22,"pl-en"],[23,26,"pl-s1"],[27,30,"pl-c1"],[32,36,"pl-s1"]],[[6,11,"pl-k"]],[[2,6,"pl-k"],[7,10,"pl-c1"],[12,35,"pl-c"]],[[6,21,"pl-en"],[22,25,"pl-s1"],[26,29,"pl-c1"],[31,34,"pl-s1"],[35,38,"pl-c1"],[40,43,"pl-s1"],[44,47,"pl-c1"]],[[12,15,"pl-smi"],[16,23,"pl-s1"],[24,25,"pl-c1"],[26,27,"pl-c1"]],[[6,11,"pl-k"]],[[2,6,"pl-k"],[7,10,"pl-c1"],[12,35,"pl-c"]],[[6,25,"pl-en"],[26,30,"pl-s1"]],[[6,11,"pl-k"]],[[2,6,"pl-k"],[7,10,"pl-c1"],[12,36,"pl-c"]],[[6,24,"pl-en"],[25,29,"pl-s1"]],[[6,11,"pl-k"]],[[2,6,"pl-k"],[7,10,"pl-c1"],[12,45,"pl-c"]],[[6,19,"pl-en"],[20,24,"pl-s1"],[25,27,"pl-c1"],[28,29,"pl-c1"],[32,34,"pl-c1"],[37,41,"pl-s1"]],[[6,11,"pl-k"]],[[2,9,"pl-k"]],[[6,7,"pl-s1"],[8,9,"pl-c1"],[10,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"],[17,32,"pl-c"]],[[6,11,"pl-k"]],[],[[5,8,"pl-s1"],[9,11,"pl-c1"],[13,16,"pl-smi"],[18,20,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-s1"]],[[5,6,"pl-s1"],[7,8,"pl-c1"],[9,10,"pl-s1"]],[],[[1,5,"pl-k"],[6,8,"pl-k"],[10,11,"pl-s1"],[12,13,"pl-c1"],[15,16,"pl-c1"],[17,21,"pl-c1"],[23,40,"pl-c"]],[[0,6,"pl-k"],[7,22,"pl-c1"]],[[2,4,"pl-c1"],[5,6,"pl-s1"],[7,8,"pl-c1"],[10,12,"pl-c1"],[13,22,"pl-c1"]],[[0,7,"pl-k"],[8,26,"pl-c1"]],[[2,4,"pl-c1"],[5,6,"pl-s1"],[7,8,"pl-c1"],[10,12,"pl-c1"],[13,27,"pl-c1"]],[[0,7,"pl-k"]],[[0,6,"pl-k"]],[],[],[[5,7,"pl-k"],[9,10,"pl-s1"],[11,12,"pl-c1"],[14,16,"pl-c1"],[17,21,"pl-c1"],[24,29,"pl-c"]],[],[[2,5,"pl-s1"],[6,9,"pl-c1"],[10,11,"pl-c1"],[12,13,"pl-c1"]],[[2,4,"pl-k"],[6,9,"pl-s1"],[10,13,"pl-c1"],[14,15,"pl-c1"],[16,19,"pl-s1"],[20,37,"pl-c1"]],[[6,9,"pl-s1"],[10,13,"pl-c1"],[13,15,"pl-c1"]],[[2,6,"pl-k"]],[[6,22,"pl-en"],[23,26,"pl-s1"],[27,44,"pl-c1"],[46,47,"pl-c1"]],[],[[5,9,"pl-k"],[10,12,"pl-k"],[14,15,"pl-s1"],[16,17,"pl-c1"],[19,21,"pl-c1"],[22,26,"pl-c1"],[28,33,"pl-c"]],[],[[2,5,"pl-s1"],[6,9,"pl-c1"],[10,11,"pl-c1"],[12,13,"pl-c1"]],[],[[5,9,"pl-k"],[10,12,"pl-k"],[14,15,"pl-s1"],[16,17,"pl-c1"],[19,21,"pl-c1"],[22,26,"pl-c1"],[28,40,"pl-c"]],[],[[2,4,"pl-k"],[6,9,"pl-s1"],[10,13,"pl-c1"]],[[6,8,"pl-c1"],[8,11,"pl-s1"],[12,15,"pl-c1"]],[],[[5,9,"pl-k"],[10,12,"pl-k"],[14,15,"pl-s1"],[16,17,"pl-c1"],[19,21,"pl-c1"],[22,28,"pl-s1"],[30,45,"pl-c"]],[],[[2,4,"pl-c1"],[4,7,"pl-s1"],[8,11,"pl-c1"]],[],[[5,9,"pl-k"],[10,12,"pl-k"],[14,15,"pl-s1"],[16,17,"pl-c1"],[19,21,"pl-c1"],[22,28,"pl-s1"],[30,37,"pl-c"]],[],[[2,14,"pl-en"]],[],[[5,47,"pl-c"]],[],[[5,7,"pl-c1"],[7,10,"pl-s1"],[12,29,"pl-c"]],[[5,7,"pl-c1"],[7,8,"pl-s1"]],[],[[1,5,"pl-k"]],[],[[5,6,"pl-s1"],[7,8,"pl-c1"],[9,10,"pl-s1"]],[[5,10,"pl-k"],[12,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[20,22,"pl-c1"]],[[3,4,"pl-c1"],[4,5,"pl-s1"],[9,13,"pl-c1"]],[[0,6,"pl-k"],[7,22,"pl-c1"]],[[3,5,"pl-c1"],[6,7,"pl-c1"],[7,8,"pl-s1"],[9,11,"pl-c1"],[12,21,"pl-c1"]],[[0,7,"pl-k"],[8,26,"pl-c1"]],[[3,5,"pl-c1"],[6,7,"pl-c1"],[7,8,"pl-s1"],[9,11,"pl-c1"],[12,26,"pl-c1"]],[[0,7,"pl-k"]],[[0,6,"pl-k"]],[],[],[[2,5,"pl-s1"],[5,7,"pl-c1"]],[[2,3,"pl-s1"],[3,5,"pl-c1"]],[],[[5,15,"pl-en"],[16,17,"pl-s1"],[20,23,"pl-smi"],[25,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-s1"]],[[5,6,"pl-s1"],[7,8,"pl-c1"],[9,10,"pl-s1"]],[],[],[],[[4,78,"pl-c"]],[[4,12,"pl-c"]],[[4,6,"pl-k"],[8,20,"pl-s1"]],[[1,18,"pl-en"]],[],[[4,71,"pl-c"]],[[4,48,"pl-c"]],[[4,6,"pl-k"],[8,18,"pl-s1"],[19,21,"pl-c1"],[22,28,"pl-s1"]],[[1,4,"pl-s1"],[5,15,"pl-c1"],[16,17,"pl-c1"],[18,27,"pl-c1"]],[],[[4,71,"pl-c"]],[[4,25,"pl-c"]],[[4,74,"pl-c"]],[[4,40,"pl-c"]],[[4,6,"pl-k"],[8,23,"pl-s1"],[24,26,"pl-c1"],[27,37,"pl-s1"],[38,40,"pl-c1"],[41,47,"pl-s1"]],[[1,22,"pl-en"],[23,38,"pl-s1"]],[[4,8,"pl-k"]],[[1,27,"pl-en"]],[[4,14,"pl-s1"],[15,16,"pl-c1"],[17,23,"pl-s1"]],[],[[4,6,"pl-c"]],[[0,74,"pl-c"]],[[0,33,"pl-c"]],[[0,7,"pl-c"]],[[0,3,"pl-k"],[12,24,"pl-c1"]],[[4,7,"pl-s1"],[8,18,"pl-c1"],[19,20,"pl-c1"],[21,30,"pl-c1"]],[[0,6,"pl-k"]],[],[[4,17,"pl-en"],[26,62,"pl-c"]],[],[],[[0,2,"pl-c"]],[[0,76,"pl-c"]],[[0,78,"pl-c"]],[[0,38,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,22,"pl-en"],[23,26,"pl-smi"],[27,33,"pl-s1"]],[],[[4,6,"pl-k"],[9,12,"pl-s1"],[13,19,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,71,"pl-c"]],[[4,6,"pl-k"],[8,14,"pl-s1"]],[[1,18,"pl-en"]],[[4,21,"pl-s1"],[22,23,"pl-c1"]],[],[],[[4,8,"pl-smi"]],[[0,21,"pl-en"],[22,26,"pl-smi"]],[],[[4,21,"pl-s1"],[22,23,"pl-c1"]],[[4,74,"pl-c"]],[[4,23,"pl-c"]],[],[],[[0,2,"pl-c"]],[[0,35,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,17,"pl-en"],[18,22,"pl-smi"]],[],[[4,6,"pl-c1"],[6,19,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,34,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,16,"pl-en"],[17,21,"pl-smi"]],[],[[4,6,"pl-c1"],[6,19,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,47,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,13,"pl-en"],[14,18,"pl-smi"]],[],[[4,6,"pl-k"],[8,21,"pl-s1"],[22,24,"pl-c1"],[25,26,"pl-c1"]],[[1,14,"pl-en"]],[],[],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,10,"pl-en"],[11,17,"pl-smi"],[18,19,"pl-c1"],[19,20,"pl-s1"],[22,25,"pl-smi"],[26,29,"pl-s1"]],[],[[4,7,"pl-smi"],[12,20,"pl-s1"]],[[4,7,"pl-smi"],[12,17,"pl-s1"]],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,16,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[8,11,"pl-smi"],[12,18,"pl-en"],[19,20,"pl-s1"]],[],[[4,9,"pl-k"],[11,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"]],[],[[1,3,"pl-k"],[5,14,"pl-s1"]],[],[[5,56,"pl-c"]],[[5,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"]],[[5,8,"pl-k"],[10,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,32,"pl-s1"],[33,34,"pl-c1"],[35,38,"pl-s1"]],[],[[2,7,"pl-s1"],[8,10,"pl-c1"],[12,13,"pl-c1"],[13,25,"pl-s1"],[27,28,"pl-s1"],[29,30,"pl-c1"],[31,39,"pl-s1"]],[[2,4,"pl-k"],[6,9,"pl-s1"],[10,13,"pl-c1"],[14,15,"pl-c1"],[16,21,"pl-s1"],[22,23,"pl-c1"],[24,31,"pl-s1"]],[[6,11,"pl-k"]],[[2,10,"pl-s1"],[11,13,"pl-c1"],[15,16,"pl-c1"],[16,26,"pl-s1"],[28,29,"pl-s1"],[30,31,"pl-c1"],[32,40,"pl-s1"]],[],[[5,7,"pl-k"],[9,17,"pl-s1"],[18,19,"pl-c1"],[20,23,"pl-s1"]],[[2,10,"pl-s1"],[11,12,"pl-c1"],[13,16,"pl-s1"],[22,63,"pl-c"]],[],[[1,5,"pl-k"],[6,8,"pl-k"],[10,13,"pl-s1"],[14,17,"pl-c1"],[18,19,"pl-c1"],[20,23,"pl-s1"],[24,25,"pl-c1"],[26,33,"pl-s1"]],[[5,13,"pl-s1"],[14,15,"pl-c1"],[16,23,"pl-s1"],[24,25,"pl-c1"],[26,29,"pl-s1"],[30,33,"pl-c1"]],[[1,5,"pl-k"]],[[5,13,"pl-s1"],[14,15,"pl-c1"],[16,19,"pl-s1"]],[],[[2,6,"pl-smi"],[7,24,"pl-en"],[25,26,"pl-s1"],[28,36,"pl-s1"]],[[7,8,"pl-c1"],[11,21,"pl-smi"],[22,23,"pl-c1"],[26,36,"pl-smi"],[37,38,"pl-c1"],[40,41,"pl-c1"]],[[1,2,"pl-s1"],[3,5,"pl-c1"],[6,14,"pl-s1"]],[[1,4,"pl-s1"],[5,7,"pl-c1"],[8,16,"pl-s1"]],[[1,53,"pl-c"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,10,"pl-c1"],[11,12,"pl-c1"],[13,15,"pl-c1"],[16,19,"pl-s1"],[20,23,"pl-c1"],[24,25,"pl-c1"],[26,33,"pl-s1"]],[[6,10,"pl-smi"],[11,28,"pl-en"],[30,36,"pl-smi"],[37,38,"pl-c1"],[39,42,"pl-s"],[44,45,"pl-c1"]],[[7,8,"pl-c1"],[11,21,"pl-smi"],[22,23,"pl-c1"],[26,36,"pl-smi"],[37,38,"pl-c1"],[40,41,"pl-c1"]],[[1,41,"pl-c"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,12,"pl-c1"],[16,23,"pl-s1"]],[],[[5,8,"pl-s1"],[9,12,"pl-c1"],[13,14,"pl-c1"],[15,16,"pl-c1"]],[[5,8,"pl-s1"],[9,12,"pl-c1"],[12,14,"pl-c1"]],[],[],[],[],[[0,2,"pl-c"]],[[0,58,"pl-c"]],[[0,37,"pl-c"]],[[0,53,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,14,"pl-smi"]],[[0,14,"pl-en"]],[[4,7,"pl-smi"],[9,12,"pl-s1"],[18,48,"pl-c"]],[[4,7,"pl-smi"],[9,14,"pl-s1"]],[[4,14,"pl-smi"],[15,17,"pl-s1"],[23,43,"pl-c"]],[[4,14,"pl-smi"],[15,17,"pl-s1"],[23,43,"pl-c"]],[[4,7,"pl-smi"],[9,13,"pl-s1"],[19,66,"pl-c"]],[],[[4,10,"pl-smi"],[11,14,"pl-s1"],[15,26,"pl-c1"],[27,28,"pl-c1"],[29,30,"pl-c1"]],[],[[4,74,"pl-c"]],[[4,6,"pl-k"],[8,16,"pl-s1"],[17,19,"pl-c1"],[20,31,"pl-s1"],[32,35,"pl-s1"],[37,39,"pl-c1"],[40,41,"pl-c1"]],[[1,7,"pl-k"],[8,10,"pl-c1"]],[],[[4,6,"pl-k"],[8,16,"pl-s1"],[17,19,"pl-c1"],[20,33,"pl-s1"],[34,37,"pl-s1"],[39,41,"pl-c1"],[42,43,"pl-c1"]],[[1,36,"pl-c"]],[[1,7,"pl-k"],[8,25,"pl-en"],[26,29,"pl-s1"],[31,46,"pl-en"],[47,50,"pl-s1"],[52,55,"pl-s1"]],[[8,13,"pl-s1"],[15,17,"pl-s1"],[19,21,"pl-s1"],[23,27,"pl-s1"]],[],[[4,6,"pl-k"],[8,16,"pl-s1"],[17,19,"pl-c1"],[20,29,"pl-c1"],[30,32,"pl-c1"],[33,44,"pl-s1"],[45,48,"pl-s1"],[50,52,"pl-c1"],[53,57,"pl-c1"]],[],[[1,4,"pl-s1"],[5,6,"pl-c1"],[8,9,"pl-c1"],[10,21,"pl-s1"],[22,25,"pl-s1"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[8,9,"pl-c1"],[10,22,"pl-s1"],[23,26,"pl-s1"]],[[1,7,"pl-k"],[8,25,"pl-en"],[26,29,"pl-s1"],[31,32,"pl-c1"],[34,39,"pl-s1"],[41,43,"pl-s1"],[45,47,"pl-s1"],[49,53,"pl-s1"]],[],[],[[4,55,"pl-c"]],[[4,10,"pl-k"],[11,28,"pl-en"],[29,40,"pl-s1"],[41,42,"pl-c1"],[43,46,"pl-s1"]],[[5,13,"pl-s1"],[17,18,"pl-c1"],[18,28,"pl-s1"],[30,41,"pl-s1"],[42,43,"pl-c1"],[44,47,"pl-s1"],[51,52,"pl-c1"]],[[8,13,"pl-s1"],[15,17,"pl-s1"],[19,21,"pl-s1"],[23,27,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[0,2,"pl-c"]],[[0,73,"pl-c"]],[[0,73,"pl-c"]],[[0,58,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,14,"pl-smi"]],[[0,13,"pl-en"]],[[4,7,"pl-smi"],[9,12,"pl-s1"],[18,48,"pl-c"]],[[4,7,"pl-smi"],[9,12,"pl-s1"],[18,50,"pl-c"]],[[4,7,"pl-smi"],[9,14,"pl-s1"]],[[4,14,"pl-smi"],[15,17,"pl-s1"],[23,43,"pl-c"]],[[4,14,"pl-smi"],[15,17,"pl-s1"],[23,43,"pl-c"]],[[4,7,"pl-smi"],[9,13,"pl-s1"],[19,66,"pl-c"]],[],[[4,10,"pl-smi"],[12,13,"pl-c1"],[13,16,"pl-s1"]],[[4,7,"pl-smi"],[12,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"]],[[4,7,"pl-smi"],[12,13,"pl-s1"]],[[4,7,"pl-smi"],[12,18,"pl-s1"]],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[15,16,"pl-c1"],[18,37,"pl-c"]],[[1,7,"pl-k"],[8,10,"pl-c1"]],[],[[4,6,"pl-k"],[8,16,"pl-s1"]],[],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,12,"pl-en"],[13,16,"pl-s1"],[17,18,"pl-c1"],[19,30,"pl-c1"],[31,32,"pl-c1"],[33,34,"pl-c1"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,11,"pl-c1"],[12,16,"pl-c1"]],[[5,11,"pl-k"],[12,14,"pl-c1"],[16,47,"pl-c"]],[],[[1,4,"pl-k"],[6,7,"pl-s1"],[8,9,"pl-c1"],[10,13,"pl-s1"],[15,16,"pl-s1"],[17,18,"pl-c1"],[19,22,"pl-s1"],[23,24,"pl-c1"],[25,28,"pl-s1"],[30,32,"pl-c1"],[32,33,"pl-s1"]],[],[[5,7,"pl-k"],[9,20,"pl-s1"],[21,22,"pl-s1"],[24,26,"pl-c1"],[27,28,"pl-c1"]],[[2,10,"pl-k"],[12,52,"pl-c"]],[],[[5,7,"pl-k"],[9,22,"pl-s1"],[23,24,"pl-s1"],[26,28,"pl-c1"],[29,30,"pl-c1"]],[[2,5,"pl-s1"],[6,12,"pl-s1"],[12,14,"pl-c1"],[16,17,"pl-c1"],[18,29,"pl-s1"],[30,31,"pl-s1"]],[[5,9,"pl-k"]],[[2,8,"pl-s1"],[9,11,"pl-c1"],[12,27,"pl-en"],[28,29,"pl-s1"],[31,34,"pl-s1"],[35,36,"pl-c1"],[37,43,"pl-s1"]],[],[],[[1,4,"pl-s1"],[5,11,"pl-s1"],[13,14,"pl-c1"],[15,18,"pl-c1"],[20,44,"pl-c"]],[[1,7,"pl-s1"],[8,9,"pl-c1"],[10,27,"pl-en"],[28,31,"pl-s1"],[33,39,"pl-s1"],[41,46,"pl-s1"],[48,50,"pl-s1"],[52,54,"pl-s1"],[56,60,"pl-s1"]],[[1,9,"pl-en"],[10,13,"pl-s1"]],[],[[1,7,"pl-k"],[8,14,"pl-s1"]],[],[[4,8,"pl-k"],[9,11,"pl-k"],[13,21,"pl-s1"],[22,24,"pl-c1"],[25,34,"pl-c1"]],[],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,12,"pl-en"],[13,16,"pl-s1"],[17,18,"pl-c1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[23,24,"pl-c1"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,11,"pl-c1"],[12,16,"pl-c1"]],[[5,11,"pl-k"],[12,14,"pl-c1"],[16,47,"pl-c"]],[],[[1,4,"pl-k"],[6,7,"pl-s1"],[8,9,"pl-c1"],[10,13,"pl-s1"],[15,16,"pl-s1"],[17,18,"pl-c1"],[19,22,"pl-s1"],[23,24,"pl-c1"],[25,28,"pl-s1"],[30,32,"pl-c1"],[32,33,"pl-s1"]],[],[[5,8,"pl-s1"],[9,15,"pl-s1"],[15,17,"pl-c1"],[19,20,"pl-c1"],[21,32,"pl-s1"],[33,34,"pl-s1"]],[],[[5,44,"pl-c"]],[[5,7,"pl-k"],[9,20,"pl-s1"],[21,22,"pl-s1"],[24,26,"pl-c1"],[27,31,"pl-c1"]],[[2,5,"pl-s1"],[6,12,"pl-s1"],[12,14,"pl-c1"],[16,17,"pl-c1"],[18,30,"pl-s1"],[31,32,"pl-s1"]],[[5,9,"pl-k"],[10,12,"pl-k"],[14,25,"pl-en"],[26,37,"pl-s1"],[38,39,"pl-s1"],[42,44,"pl-c1"],[45,46,"pl-c1"]],[[2,5,"pl-s1"],[6,12,"pl-s1"],[12,14,"pl-c1"],[16,17,"pl-c1"],[18,29,"pl-s1"],[30,32,"pl-c1"],[32,33,"pl-s1"]],[],[],[[1,4,"pl-s1"],[5,11,"pl-s1"],[13,14,"pl-c1"],[15,18,"pl-c1"],[20,44,"pl-c"]],[[1,7,"pl-s1"],[8,9,"pl-c1"],[10,27,"pl-en"],[28,31,"pl-s1"],[33,39,"pl-s1"],[41,46,"pl-s1"],[48,50,"pl-s1"],[52,54,"pl-s1"],[56,60,"pl-s1"]],[[1,9,"pl-en"],[10,13,"pl-s1"]],[],[[1,7,"pl-k"],[8,14,"pl-s1"]],[],[[4,8,"pl-k"]],[],[[1,7,"pl-k"],[8,25,"pl-en"],[26,27,"pl-c1"],[27,38,"pl-s1"],[39,42,"pl-s1"],[45,48,"pl-s1"]],[[5,10,"pl-s1"],[12,14,"pl-s1"],[16,18,"pl-s1"],[20,24,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,22,"pl-c"]],[],[[0,2,"pl-c"]],[[0,76,"pl-c"]],[[0,53,"pl-c"]],[[0,11,"pl-c"]],[[0,78,"pl-c"]],[[0,38,"pl-c"]],[[0,72,"pl-c"]],[[0,14,"pl-c"]],[[0,76,"pl-c"]],[[0,6,"pl-c"]],[[0,78,"pl-c"]],[[0,60,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,14,"pl-smi"]],[[0,17,"pl-en"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,13,"pl-s1"]],[[4,7,"pl-smi"],[9,12,"pl-s1"]],[[4,7,"pl-smi"],[9,14,"pl-s1"]],[[4,14,"pl-smi"],[15,17,"pl-s1"],[23,43,"pl-c"]],[[4,14,"pl-smi"],[15,17,"pl-s1"],[23,43,"pl-c"]],[[4,7,"pl-smi"],[9,13,"pl-s1"],[19,66,"pl-c"]],[],[[4,10,"pl-smi"],[11,25,"pl-s1"]],[[4,10,"pl-smi"],[11,23,"pl-s1"]],[[4,14,"pl-smi"],[15,23,"pl-s1"]],[[4,14,"pl-smi"],[15,23,"pl-s1"]],[[4,14,"pl-smi"],[15,23,"pl-s1"]],[[0,3,"pl-k"],[13,25,"pl-c1"]],[[4,11,"pl-smi"],[12,16,"pl-s1"],[17,18,"pl-c1"],[19,25,"pl-c1"]],[[4,11,"pl-smi"],[12,21,"pl-s1"],[22,23,"pl-c1"],[24,30,"pl-c1"]],[[0,7,"pl-k"],[8,21,"pl-c1"]],[[4,14,"pl-smi"],[15,22,"pl-s1"],[23,24,"pl-c1"],[25,34,"pl-c1"]],[[0,7,"pl-k"]],[[0,6,"pl-k"]],[[4,15,"pl-smi"],[16,17,"pl-c1"],[17,20,"pl-s1"],[21,22,"pl-c1"],[23,27,"pl-c1"]],[[4,7,"pl-smi"],[9,19,"pl-s1"]],[[4,7,"pl-smi"],[9,12,"pl-s1"],[13,14,"pl-c1"],[15,18,"pl-s1"],[19,22,"pl-c1"]],[[0,6,"pl-k"],[7,22,"pl-c1"]],[[4,7,"pl-smi"],[9,18,"pl-s1"],[19,20,"pl-c1"]],[[4,7,"pl-smi"],[9,16,"pl-s1"],[17,18,"pl-c1"],[19,20,"pl-c1"]],[[4,10,"pl-smi"],[11,16,"pl-s1"],[17,19,"pl-c1"]],[[0,7,"pl-k"],[8,26,"pl-c1"]],[[4,7,"pl-smi"],[9,19,"pl-s1"],[20,21,"pl-c1"]],[[0,7,"pl-k"]],[[0,6,"pl-k"]],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[8,11,"pl-smi"],[12,18,"pl-en"],[19,20,"pl-s1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,16,"pl-c1"]],[[1,7,"pl-k"],[8,10,"pl-c1"]],[],[[0,6,"pl-k"],[7,22,"pl-c1"]],[[4,6,"pl-k"],[8,9,"pl-c1"],[9,10,"pl-s1"],[11,13,"pl-c1"],[14,23,"pl-c1"]],[[0,7,"pl-k"],[8,26,"pl-c1"]],[[3,5,"pl-c1"],[6,7,"pl-c1"],[7,8,"pl-s1"],[9,11,"pl-c1"],[12,26,"pl-c1"]],[[0,7,"pl-k"]],[],[],[[0,7,"pl-k"],[8,26,"pl-c1"]],[[1,3,"pl-k"],[5,6,"pl-c1"],[6,7,"pl-s1"],[8,10,"pl-c1"],[11,25,"pl-c1"]],[[5,15,"pl-s1"],[16,17,"pl-c1"]],[[0,7,"pl-k"]],[[1,23,"pl-c"]],[[1,3,"pl-k"],[5,6,"pl-c1"],[6,12,"pl-s1"],[12,14,"pl-c1"],[14,21,"pl-c1"],[22,24,"pl-c1"],[25,28,"pl-c1"],[29,31,"pl-c1"],[32,33,"pl-c1"],[34,40,"pl-s1"],[40,42,"pl-c1"],[42,49,"pl-c1"],[50,51,"pl-c1"],[52,53,"pl-c1"],[55,57,"pl-c1"],[58,61,"pl-c1"],[62,64,"pl-c1"]],[[3,9,"pl-s1"],[9,11,"pl-c1"],[11,17,"pl-c1"],[18,20,"pl-c1"],[21,27,"pl-s1"],[27,29,"pl-c1"],[29,36,"pl-c1"]],[],[[5,12,"pl-en"],[14,18,"pl-smi"],[19,20,"pl-c1"],[21,26,"pl-s1"],[28,34,"pl-s"],[36,48,"pl-en"],[49,55,"pl-s1"],[58,61,"pl-c1"]],[[5,6,"pl-s1"],[7,8,"pl-c1"],[9,14,"pl-s1"]],[],[[1,5,"pl-k"]],[[5,6,"pl-s1"],[7,8,"pl-c1"],[10,16,"pl-smi"],[17,18,"pl-c1"],[19,23,"pl-s"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,11,"pl-c1"],[12,13,"pl-c1"],[14,16,"pl-c1"],[17,20,"pl-s1"],[21,22,"pl-c1"],[23,24,"pl-c1"]],[[5,7,"pl-c1"],[7,10,"pl-s1"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[8,11,"pl-smi"],[12,18,"pl-en"],[19,20,"pl-s1"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,10,"pl-c1"],[11,12,"pl-c1"]],[[5,50,"pl-c"]],[[5,12,"pl-s1"],[13,14,"pl-c1"],[15,18,"pl-s1"],[19,20,"pl-c1"],[21,24,"pl-s1"],[25,26,"pl-c1"],[27,28,"pl-c1"]],[[1,5,"pl-k"]],[[5,12,"pl-s1"],[13,14,"pl-c1"],[15,18,"pl-s1"]],[[1,10,"pl-s1"],[11,12,"pl-c1"]],[[1,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"]],[],[[4,8,"pl-k"]],[[0,6,"pl-k"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,26,"pl-c1"],[27,28,"pl-c1"],[29,35,"pl-c1"]],[],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,25,"pl-en"],[26,29,"pl-s1"],[30,44,"pl-c1"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,11,"pl-c1"],[12,16,"pl-c1"],[22,45,"pl-c"]],[[5,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"]],[[1,5,"pl-k"]],[[5,19,"pl-s1"],[20,21,"pl-c1"],[22,25,"pl-s1"],[25,27,"pl-c1"],[27,34,"pl-c1"]],[],[[4,8,"pl-k"]],[[1,15,"pl-s1"],[16,17,"pl-c1"],[18,21,"pl-s1"],[22,36,"pl-c1"]],[[4,16,"pl-s1"],[17,18,"pl-c1"],[19,33,"pl-s1"]],[],[[0,3,"pl-k"],[13,25,"pl-c1"]],[[4,19,"pl-c"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"],[20,22,"pl-c1"],[23,26,"pl-s1"],[26,28,"pl-c1"],[28,32,"pl-c1"],[33,36,"pl-c1"],[37,41,"pl-c1"],[42,44,"pl-c1"],[45,51,"pl-c1"]],[[1,5,"pl-s1"],[6,7,"pl-c1"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,17,"pl-c1"],[18,21,"pl-c1"],[22,26,"pl-c1"]],[[0,7,"pl-k"],[8,21,"pl-c1"]],[[4,8,"pl-smi"],[9,11,"pl-s1"],[13,16,"pl-s1"],[17,19,"pl-c1"],[20,24,"pl-c1"],[25,27,"pl-c1"],[28,31,"pl-s1"],[31,33,"pl-c1"],[33,37,"pl-c1"],[38,41,"pl-c1"],[42,49,"pl-c1"],[50,52,"pl-c1"],[53,62,"pl-c1"]],[[1,8,"pl-s1"],[9,10,"pl-c1"],[11,14,"pl-s1"],[14,16,"pl-c1"],[16,20,"pl-c1"],[21,24,"pl-c1"],[25,32,"pl-c1"]],[[0,7,"pl-k"]],[[4,8,"pl-smi"]],[],[[0,7,"pl-k"],[8,21,"pl-c1"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,16,"pl-c1"],[17,19,"pl-c1"],[20,29,"pl-c1"]],[[5,12,"pl-s1"],[13,14,"pl-c1"],[15,18,"pl-s1"],[19,26,"pl-c1"]],[[1,5,"pl-k"]],[[0,7,"pl-k"]],[[5,7,"pl-k"],[9,21,"pl-s1"],[22,23,"pl-c1"],[25,32,"pl-c1"],[35,46,"pl-c1"]],[],[[5,7,"pl-k"],[10,22,"pl-s1"],[23,24,"pl-c1"],[25,34,"pl-c1"],[36,38,"pl-c1"],[39,42,"pl-s1"],[43,56,"pl-c1"],[57,59,"pl-c1"],[60,66,"pl-c1"]],[],[[2,6,"pl-s1"],[7,8,"pl-c1"],[9,12,"pl-s1"],[13,26,"pl-c1"]],[[2,14,"pl-s1"],[20,27,"pl-c1"],[30,41,"pl-c1"],[44,53,"pl-c1"]],[],[[5,9,"pl-k"],[10,12,"pl-k"],[14,17,"pl-s1"],[18,27,"pl-c1"],[28,30,"pl-c1"],[31,37,"pl-c1"]],[],[[2,6,"pl-s1"],[7,8,"pl-c1"],[9,12,"pl-s1"],[13,22,"pl-c1"]],[[2,14,"pl-s1"],[20,27,"pl-c1"],[30,41,"pl-c1"]],[],[[5,9,"pl-k"]],[[2,6,"pl-s1"],[7,8,"pl-c1"],[9,12,"pl-s1"],[13,22,"pl-c1"]],[],[[1,5,"pl-k"],[6,8,"pl-k"],[11,23,"pl-s1"],[24,25,"pl-c1"],[26,35,"pl-c1"],[37,39,"pl-c1"],[40,43,"pl-s1"],[44,53,"pl-c1"],[54,56,"pl-c1"],[57,63,"pl-c1"]],[],[[5,9,"pl-s1"],[10,11,"pl-c1"],[12,15,"pl-s1"],[16,25,"pl-c1"]],[[5,17,"pl-s1"],[22,31,"pl-c1"]],[],[[1,5,"pl-k"]],[[5,9,"pl-s1"],[10,11,"pl-c1"],[12,15,"pl-s1"],[16,25,"pl-c1"]],[],[[1,3,"pl-c"]],[[0,72,"pl-c"]],[[0,69,"pl-c"]],[[0,30,"pl-c"]],[[0,4,"pl-c"]],[[1,3,"pl-k"],[5,9,"pl-s1"],[10,12,"pl-c1"],[13,16,"pl-s1"],[17,30,"pl-c1"],[31,33,"pl-c1"],[34,37,"pl-s1"],[38,56,"pl-c1"]],[[5,14,"pl-s1"],[15,16,"pl-c1"],[17,20,"pl-s1"],[21,39,"pl-c1"]],[[1,5,"pl-k"],[6,8,"pl-k"],[10,14,"pl-s1"],[15,17,"pl-c1"],[18,21,"pl-s1"],[22,31,"pl-c1"],[32,34,"pl-c1"],[35,38,"pl-s1"],[39,53,"pl-c1"]],[[5,14,"pl-s1"],[15,16,"pl-c1"],[17,20,"pl-s1"],[21,35,"pl-c1"]],[[1,5,"pl-k"],[6,8,"pl-k"],[10,14,"pl-s1"],[15,17,"pl-c1"],[18,21,"pl-s1"],[22,31,"pl-c1"],[32,34,"pl-c1"],[35,38,"pl-s1"],[39,53,"pl-c1"]],[[5,14,"pl-s1"],[15,16,"pl-c1"],[17,20,"pl-s1"],[21,35,"pl-c1"]],[[1,5,"pl-k"],[6,8,"pl-k"],[10,14,"pl-s1"],[15,17,"pl-c1"],[18,21,"pl-s1"],[22,31,"pl-c1"],[32,34,"pl-c1"],[35,38,"pl-s1"],[39,48,"pl-c1"]],[[5,14,"pl-s1"],[15,16,"pl-c1"],[17,20,"pl-s1"],[21,30,"pl-c1"]],[],[[0,7,"pl-k"],[8,21,"pl-c1"]],[[4,6,"pl-k"],[8,15,"pl-s1"],[16,18,"pl-c1"],[19,28,"pl-c1"]],[[1,20,"pl-en"],[21,28,"pl-s1"]],[[4,8,"pl-k"]],[[0,7,"pl-k"]],[[1,17,"pl-en"],[18,22,"pl-s1"]],[[0,6,"pl-k"]],[],[[4,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"]],[],[[4,20,"pl-c"]],[[4,12,"pl-s1"],[13,14,"pl-c1"],[15,18,"pl-s1"],[19,29,"pl-c1"]],[[4,6,"pl-k"],[9,14,"pl-s1"],[15,16,"pl-c1"],[17,34,"pl-c1"],[36,38,"pl-c1"],[39,42,"pl-s1"],[43,51,"pl-c1"]],[],[[1,11,"pl-s1"],[15,26,"pl-c1"]],[[1,9,"pl-s1"],[10,11,"pl-c1"],[12,14,"pl-s1"]],[[1,9,"pl-s1"],[10,11,"pl-c1"],[12,14,"pl-s1"]],[[1,9,"pl-s1"],[10,11,"pl-c1"],[12,14,"pl-s1"]],[],[[4,8,"pl-k"],[9,11,"pl-k"],[13,16,"pl-s1"],[17,19,"pl-c1"],[20,24,"pl-c1"]],[],[[1,9,"pl-s1"],[10,11,"pl-c1"],[12,15,"pl-s1"],[15,17,"pl-c1"],[17,21,"pl-c1"],[22,25,"pl-c1"],[26,34,"pl-c1"]],[[1,3,"pl-k"],[5,13,"pl-s1"],[14,16,"pl-c1"],[17,27,"pl-c1"]],[[5,13,"pl-s1"],[14,15,"pl-c1"],[16,19,"pl-s1"],[20,30,"pl-c1"]],[[1,9,"pl-s1"],[10,11,"pl-c1"],[12,15,"pl-s1"],[15,17,"pl-c1"],[17,21,"pl-c1"],[22,25,"pl-c1"],[26,34,"pl-c1"]],[[1,3,"pl-k"],[5,13,"pl-s1"],[14,16,"pl-c1"],[17,27,"pl-c1"]],[[5,13,"pl-s1"],[14,15,"pl-c1"],[16,19,"pl-s1"],[20,30,"pl-c1"]],[[1,9,"pl-s1"],[10,11,"pl-c1"],[12,15,"pl-s1"],[15,17,"pl-c1"],[17,21,"pl-c1"],[22,25,"pl-c1"],[26,34,"pl-c1"]],[[1,3,"pl-k"],[5,13,"pl-s1"],[14,16,"pl-c1"],[17,27,"pl-c1"]],[[5,13,"pl-s1"],[14,15,"pl-c1"],[16,24,"pl-s1"]],[],[[4,8,"pl-k"]],[],[[1,9,"pl-s1"],[10,11,"pl-c1"],[12,15,"pl-s1"],[16,26,"pl-c1"]],[[1,9,"pl-s1"],[10,11,"pl-c1"],[12,20,"pl-s1"]],[],[],[[4,6,"pl-k"],[8,22,"pl-s1"],[23,24,"pl-c1"],[26,36,"pl-c1"],[39,50,"pl-c1"]],[],[[1,21,"pl-en"],[22,30,"pl-s1"]],[[1,21,"pl-en"],[22,30,"pl-s1"]],[],[[4,8,"pl-k"]],[],[[1,21,"pl-en"],[22,30,"pl-s1"]],[[1,21,"pl-en"],[22,30,"pl-s1"]],[],[[4,24,"pl-en"],[25,33,"pl-s1"]],[],[[4,59,"pl-c"]],[[4,6,"pl-k"],[10,15,"pl-s1"],[16,17,"pl-c1"],[18,33,"pl-c1"]],[[1,25,"pl-en"],[26,29,"pl-s1"],[30,33,"pl-c1"],[35,38,"pl-s1"],[39,42,"pl-c1"]],[],[],[[4,44,"pl-c"]],[[4,6,"pl-k"],[8,20,"pl-s1"],[21,22,"pl-c1"],[24,31,"pl-c1"],[34,45,"pl-c1"]],[[1,11,"pl-s1"],[15,24,"pl-c1"]],[],[[4,6,"pl-c"]],[[0,74,"pl-c"]],[[0,75,"pl-c"]],[[0,26,"pl-c"]],[[0,7,"pl-c"]],[[4,6,"pl-k"],[8,12,"pl-s1"],[13,15,"pl-c1"],[16,17,"pl-c1"],[18,20,"pl-c1"],[23,33,"pl-s1"],[34,35,"pl-c1"],[36,45,"pl-c1"],[47,49,"pl-c1"],[51,65,"pl-s1"],[66,67,"pl-c1"],[68,77,"pl-c1"]],[[1,7,"pl-k"],[8,12,"pl-c1"]],[],[[0,3,"pl-k"],[12,24,"pl-c1"]],[[4,47,"pl-c"]],[[4,65,"pl-c"]],[[4,6,"pl-k"],[8,20,"pl-s1"],[21,22,"pl-c1"],[23,32,"pl-c1"]],[[1,11,"pl-s1"],[15,26,"pl-c1"]],[],[[4,32,"pl-c"]],[[4,6,"pl-k"],[8,20,"pl-s1"],[21,22,"pl-c1"],[23,35,"pl-c1"]],[[1,11,"pl-s1"],[15,26,"pl-c1"]],[],[[0,5,"pl-k"]],[[4,32,"pl-c"]],[[4,6,"pl-k"],[9,21,"pl-s1"],[22,23,"pl-c1"],[24,36,"pl-c1"],[38,40,"pl-c1"],[42,54,"pl-s1"],[55,56,"pl-c1"],[57,66,"pl-c1"]],[[1,11,"pl-s1"],[15,26,"pl-c1"]],[[0,6,"pl-k"]],[[4,32,"pl-c"]],[[4,6,"pl-k"],[8,20,"pl-s1"],[21,22,"pl-c1"],[23,35,"pl-c1"]],[[1,11,"pl-s1"],[15,26,"pl-c1"]],[],[[4,59,"pl-c"]],[],[[4,36,"pl-c"]],[[4,6,"pl-k"],[8,20,"pl-s1"],[21,22,"pl-c1"],[23,39,"pl-c1"]],[[1,11,"pl-s1"],[15,26,"pl-c1"]],[],[[4,32,"pl-c"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,15,"pl-c1"],[16,34,"pl-c1"]],[[1,11,"pl-s1"],[15,26,"pl-c1"]],[],[[4,6,"pl-c"]],[[0,21,"pl-c"]],[[0,7,"pl-c"]],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[4,56,"pl-c"]],[[4,7,"pl-s1"],[8,9,"pl-c1"],[10,30,"pl-en"],[31,34,"pl-s1"],[35,38,"pl-c1"],[40,43,"pl-s1"],[45,46,"pl-s1"],[48,51,"pl-s1"],[53,63,"pl-s1"]],[[0,5,"pl-k"]],[[4,6,"pl-k"],[8,16,"pl-s1"]],[],[[1,4,"pl-smi"],[5,10,"pl-s1"],[13,42,"pl-c"]],[[1,4,"pl-smi"],[5,10,"pl-s1"],[13,46,"pl-c"]],[[1,4,"pl-smi"],[5,12,"pl-s1"],[14,44,"pl-c"]],[[1,4,"pl-smi"],[5,7,"pl-s1"],[10,38,"pl-c"]],[[1,4,"pl-smi"],[5,6,"pl-s1"],[9,33,"pl-c"]],[[1,4,"pl-smi"],[5,6,"pl-s1"],[9,30,"pl-c"]],[[1,4,"pl-smi"],[5,7,"pl-s1"],[10,40,"pl-c"]],[[1,4,"pl-smi"],[5,12,"pl-s1"],[14,42,"pl-c"]],[[1,4,"pl-smi"],[5,9,"pl-s1"],[10,11,"pl-c1"],[12,15,"pl-s1"],[17,33,"pl-c"]],[[1,4,"pl-smi"],[5,14,"pl-s1"],[15,16,"pl-c1"],[25,45,"pl-c"]],[[1,4,"pl-smi"],[5,14,"pl-s1"],[15,16,"pl-c1"]],[[1,4,"pl-smi"],[5,17,"pl-s1"]],[[0,7,"pl-k"],[8,13,"pl-c1"]],[[1,4,"pl-smi"],[5,13,"pl-s1"],[14,15,"pl-c1"],[25,59,"pl-c"]],[[0,6,"pl-k"]],[[1,4,"pl-smi"],[5,13,"pl-s1"],[14,15,"pl-c1"],[25,53,"pl-c"]],[[0,7,"pl-k"]],[],[[1,68,"pl-c"]],[[1,34,"pl-c"]],[[1,6,"pl-s1"],[7,8,"pl-c1"],[9,10,"pl-c1"]],[[1,6,"pl-s1"],[7,8,"pl-c1"],[9,10,"pl-c1"]],[[1,4,"pl-k"],[6,7,"pl-s1"],[8,9,"pl-c1"],[10,11,"pl-c1"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,20,"pl-s1"],[22,23,"pl-s1"],[24,26,"pl-c1"],[27,29,"pl-s1"]],[],[[5,6,"pl-s1"],[7,8,"pl-c1"],[9,21,"pl-en"],[22,23,"pl-s1"],[24,25,"pl-c1"],[26,27,"pl-s1"]],[[5,7,"pl-s1"],[8,9,"pl-c1"],[10,24,"pl-en"],[25,26,"pl-s1"]],[[5,12,"pl-s1"],[13,14,"pl-c1"],[15,30,"pl-en"],[31,32,"pl-s1"]],[[5,7,"pl-k"],[10,17,"pl-s1"],[19,58,"pl-c"]],[[2,7,"pl-s1"],[8,10,"pl-c1"],[11,13,"pl-s1"]],[[5,7,"pl-k"],[10,17,"pl-s1"],[18,20,"pl-c1"],[21,29,"pl-s1"]],[],[[2,4,"pl-k"],[6,8,"pl-s1"],[9,10,"pl-c1"],[11,12,"pl-c1"]],[[0,7,"pl-k"],[8,21,"pl-c1"]],[[3,5,"pl-c1"],[6,13,"pl-s1"],[14,16,"pl-c1"],[17,26,"pl-c1"]],[[0,7,"pl-k"]],[[3,5,"pl-c1"],[6,15,"pl-s1"],[16,18,"pl-c1"],[19,25,"pl-c1"]],[[6,15,"pl-s1"],[16,17,"pl-c1"]],[[2,6,"pl-k"]],[[6,15,"pl-s1"],[16,17,"pl-c1"]],[],[[5,7,"pl-s1"],[8,9,"pl-c1"],[10,21,"pl-en"],[22,23,"pl-s1"],[24,25,"pl-c1"],[26,27,"pl-s1"]],[[5,7,"pl-k"],[9,11,"pl-s1"],[12,14,"pl-c1"],[15,16,"pl-c1"],[18,38,"pl-c"]],[[2,5,"pl-s1"],[6,7,"pl-c1"],[8,9,"pl-s1"],[10,11,"pl-c1"],[12,14,"pl-s1"],[16,52,"pl-c"]],[],[[5,17,"pl-s1"],[18,19,"pl-c1"],[20,29,"pl-s1"],[30,32,"pl-c1"],[33,42,"pl-s1"]],[],[[5,70,"pl-c"]],[[5,30,"pl-c"]],[[5,7,"pl-k"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,15,"pl-s1"],[19,22,"pl-s1"],[23,25,"pl-c1"],[27,34,"pl-s1"],[35,37,"pl-c1"],[38,46,"pl-s1"],[47,49,"pl-c1"],[50,51,"pl-s1"],[52,53,"pl-c1"],[54,59,"pl-s1"]],[[6,8,"pl-c1"],[9,21,"pl-s1"]],[[0,4,"pl-k"],[13,25,"pl-c1"]],[[6,8,"pl-c1"],[10,12,"pl-s1"],[13,14,"pl-c1"],[15,16,"pl-c1"]],[[0,8,"pl-k"],[9,22,"pl-c1"]],[[3,55,"pl-c"]],[[3,21,"pl-c"]],[[3,4,"pl-c1"],[4,5,"pl-c1"],[6,13,"pl-s1"],[14,16,"pl-c1"],[17,26,"pl-c1"]],[[0,8,"pl-k"]],[],[[0,7,"pl-k"]],[],[],[[2,4,"pl-k"],[7,14,"pl-s1"],[15,17,"pl-c1"],[18,26,"pl-s1"],[28,30,"pl-c1"],[31,43,"pl-s1"]],[[6,13,"pl-s1"],[14,15,"pl-c1"],[16,17,"pl-s1"],[18,19,"pl-c1"],[20,25,"pl-s1"]],[[2,6,"pl-k"]],[[6,13,"pl-s1"],[14,15,"pl-c1"],[16,17,"pl-s1"],[18,19,"pl-c1"],[20,25,"pl-s1"],[26,27,"pl-c1"],[28,30,"pl-s1"]],[[2,4,"pl-k"],[6,13,"pl-s1"],[14,15,"pl-c1"],[16,17,"pl-c1"]],[],[[6,8,"pl-k"],[10,19,"pl-s1"]],[[3,19,"pl-en"],[20,29,"pl-s1"]],[[6,25,"pl-en"],[26,29,"pl-s1"],[30,33,"pl-c1"],[35,39,"pl-s1"],[41,42,"pl-s1"],[43,44,"pl-c1"],[45,50,"pl-s1"],[52,59,"pl-s1"]],[[10,20,"pl-s1"]],[[6,8,"pl-k"],[10,19,"pl-s1"]],[[3,19,"pl-en"],[20,24,"pl-s1"]],[[6,11,"pl-s1"],[12,14,"pl-c1"],[15,22,"pl-s1"]],[],[[2,6,"pl-s1"],[7,9,"pl-c1"],[10,15,"pl-s1"]],[[2,7,"pl-s1"],[8,9,"pl-c1"],[10,11,"pl-c1"]],[[2,58,"pl-c"]],[[2,27,"pl-c"]],[[2,4,"pl-k"],[6,18,"pl-s1"],[19,21,"pl-c1"],[24,31,"pl-s1"],[32,34,"pl-c1"],[35,43,"pl-s1"]],[],[[6,10,"pl-s1"],[11,13,"pl-c1"],[14,16,"pl-s1"]],[[6,8,"pl-s1"],[9,10,"pl-c1"],[11,12,"pl-c1"]],[],[],[[0,4,"pl-k"],[13,25,"pl-c1"]],[[2,63,"pl-c"]],[[2,4,"pl-c"]],[[2,4,"pl-k"],[6,8,"pl-s1"],[9,10,"pl-c1"],[11,12,"pl-c1"],[13,15,"pl-c1"],[17,27,"pl-s1"],[28,29,"pl-c1"],[30,41,"pl-c1"],[43,45,"pl-c1"],[46,47,"pl-c1"]],[[0,8,"pl-k"],[9,22,"pl-c1"]],[[3,5,"pl-c1"],[6,13,"pl-s1"],[14,16,"pl-c1"],[17,26,"pl-c1"]],[[0,8,"pl-k"]],[[3,5,"pl-c1"],[7,19,"pl-s1"]],[[6,25,"pl-en"],[26,29,"pl-s1"],[30,33,"pl-c1"],[35,39,"pl-s1"],[40,41,"pl-c1"],[42,43,"pl-c1"],[46,52,"pl-smi"],[53,54,"pl-c1"],[55,58,"pl-s"]],[[14,15,"pl-c1"],[17,27,"pl-s1"]],[[0,7,"pl-k"]],[],[[5,58,"pl-c"]],[[5,7,"pl-k"],[9,16,"pl-s1"],[17,19,"pl-c1"],[20,28,"pl-s1"]],[],[[0,4,"pl-k"],[13,25,"pl-s1"],[27,29,"pl-c1"],[30,51,"pl-c1"]],[[2,61,"pl-c"]],[[2,21,"pl-en"],[22,25,"pl-s1"],[26,29,"pl-c1"],[31,35,"pl-s1"],[37,38,"pl-s1"],[39,40,"pl-c1"],[41,42,"pl-s1"],[44,46,"pl-s1"]],[[10,20,"pl-s1"],[23,34,"pl-c1"]],[[0,6,"pl-k"]],[[2,21,"pl-en"],[22,25,"pl-s1"],[26,29,"pl-c1"],[31,35,"pl-s1"],[36,37,"pl-c1"],[38,40,"pl-s1"],[42,43,"pl-s1"],[44,45,"pl-c1"],[46,47,"pl-s1"],[49,51,"pl-s1"]],[[10,20,"pl-s1"],[23,34,"pl-c1"]],[[0,7,"pl-k"]],[[2,7,"pl-s1"],[8,9,"pl-c1"],[10,11,"pl-s1"],[12,13,"pl-c1"],[14,16,"pl-s1"]],[],[[5,14,"pl-s1"],[15,16,"pl-c1"],[17,26,"pl-s1"]],[],[[1,66,"pl-c"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,11,"pl-s1"],[12,13,"pl-c1"],[14,17,"pl-s1"]],[],[[4,8,"pl-k"]],[],[[1,20,"pl-en"],[21,24,"pl-s1"],[25,28,"pl-c1"],[30,33,"pl-s1"],[35,36,"pl-s1"],[38,41,"pl-s1"],[43,53,"pl-s1"]],[[1,3,"pl-k"],[5,13,"pl-s1"],[14,16,"pl-c1"],[17,26,"pl-c1"]],[],[[5,71,"pl-c"]],[[5,37,"pl-c"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[11,26,"pl-en"],[27,28,"pl-s1"],[30,33,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,23,"pl-c"]],[],[[4,6,"pl-k"],[10,15,"pl-s1"],[16,17,"pl-c1"],[19,36,"pl-c1"],[39,57,"pl-c1"]],[[1,4,"pl-s1"],[5,8,"pl-c1"],[9,10,"pl-c1"],[11,14,"pl-s1"],[15,16,"pl-c1"],[17,20,"pl-s1"]],[],[[4,61,"pl-c"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,15,"pl-c1"],[16,31,"pl-c1"]],[[1,26,"pl-en"],[27,30,"pl-s1"],[31,34,"pl-c1"],[36,39,"pl-s1"],[41,44,"pl-s1"]],[],[[4,6,"pl-k"],[10,15,"pl-s1"],[16,17,"pl-c1"],[19,36,"pl-c1"],[39,57,"pl-c1"]],[],[[1,67,"pl-c"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,19,"pl-c1"],[20,22,"pl-c1"],[23,26,"pl-s1"],[27,30,"pl-c1"]],[[2,4,"pl-c1"],[5,8,"pl-s1"],[9,19,"pl-c1"],[23,26,"pl-s1"]],[[2,4,"pl-c1"],[5,8,"pl-s1"],[9,19,"pl-c1"],[20,21,"pl-c1"],[22,25,"pl-s1"],[26,27,"pl-c1"],[28,31,"pl-s1"]],[[5,8,"pl-s1"],[9,24,"pl-c1"],[25,26,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,22,"pl-c1"]],[[4,6,"pl-k"],[8,17,"pl-s1"]],[[1,39,"pl-c"]],[[1,17,"pl-en"],[18,21,"pl-s1"],[22,25,"pl-c1"],[27,34,"pl-s1"],[36,39,"pl-s1"],[40,54,"pl-c1"]],[[0,4,"pl-k"],[13,31,"pl-c1"],[33,35,"pl-c1"],[45,57,"pl-c1"]],[[1,3,"pl-c1"],[12,24,"pl-c1"],[26,28,"pl-c1"],[37,51,"pl-c1"]],[[4,6,"pl-k"],[8,18,"pl-s1"]],[[1,34,"pl-en"],[35,38,"pl-s1"],[39,42,"pl-c1"]],[[0,7,"pl-k"]],[[0,6,"pl-k"]],[],[[4,10,"pl-k"],[11,13,"pl-c1"],[14,14,"pl-k"]],[],[],[[0,2,"pl-c"]],[[0,72,"pl-c"]],[[0,51,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,17,"pl-en"],[18,22,"pl-smi"]],[],[[4,6,"pl-k"],[9,12,"pl-s1"],[13,28,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,71,"pl-c"]],[[4,71,"pl-c"]],[[4,7,"pl-smi"],[8,16,"pl-s1"],[17,18,"pl-c1"],[19,22,"pl-s1"],[23,33,"pl-c1"],[34,35,"pl-c1"],[36,37,"pl-c1"],[40,43,"pl-s1"],[44,54,"pl-c1"],[55,56,"pl-c1"],[57,58,"pl-c1"],[61,64,"pl-s1"],[65,75,"pl-c1"]],[[4,7,"pl-smi"],[8,14,"pl-s1"],[15,16,"pl-c1"],[17,20,"pl-s1"],[21,31,"pl-c1"]],[],[[0,3,"pl-k"],[12,24,"pl-c1"],[26,28,"pl-c1"],[37,51,"pl-c1"]],[[4,42,"pl-en"],[43,44,"pl-c1"],[44,52,"pl-s1"],[54,55,"pl-c1"],[55,61,"pl-s1"]],[[0,6,"pl-k"]],[[4,20,"pl-en"],[21,24,"pl-s1"],[25,35,"pl-c1"],[37,45,"pl-s1"]],[[5,8,"pl-s1"],[9,19,"pl-c1"],[21,27,"pl-s1"],[29,44,"pl-c1"]],[],[[4,73,"pl-c"]],[[4,50,"pl-c"]],[[4,7,"pl-s1"],[8,23,"pl-c1"],[24,25,"pl-c1"]],[],[],[[4,8,"pl-smi"]],[[0,10,"pl-en"]],[[4,7,"pl-smi"],[9,10,"pl-s1"]],[[4,7,"pl-smi"],[9,10,"pl-s1"]],[[4,7,"pl-smi"],[9,10,"pl-s1"]],[[4,7,"pl-smi"],[9,10,"pl-s1"]],[],[[4,7,"pl-smi"],[9,13,"pl-s1"],[15,19,"pl-s1"],[21,25,"pl-s1"],[27,31,"pl-s1"]],[],[[4,8,"pl-s1"],[9,10,"pl-c1"],[11,18,"pl-en"],[19,20,"pl-s1"]],[[4,8,"pl-s1"],[9,10,"pl-c1"],[11,18,"pl-en"],[19,20,"pl-s1"]],[[4,8,"pl-s1"],[9,10,"pl-c1"],[11,18,"pl-en"],[19,20,"pl-s1"],[21,22,"pl-c1"],[23,24,"pl-s1"],[25,26,"pl-c1"],[27,28,"pl-c1"]],[[4,8,"pl-s1"],[9,10,"pl-c1"],[11,18,"pl-en"],[19,20,"pl-s1"],[21,22,"pl-c1"],[23,24,"pl-s1"],[25,26,"pl-c1"],[27,28,"pl-c1"]],[],[[4,20,"pl-en"],[21,25,"pl-s1"],[27,31,"pl-s1"],[33,37,"pl-s1"],[39,43,"pl-s1"],[45,60,"pl-c1"]],[],[[4,6,"pl-c"]],[[0,76,"pl-c"]],[[0,35,"pl-c"]],[[0,52,"pl-c"]],[[0,77,"pl-c"]],[[0,76,"pl-c"]],[[0,7,"pl-c"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,15,"pl-c1"],[16,18,"pl-c1"],[19,22,"pl-s1"],[23,33,"pl-c1"]],[[1,18,"pl-en"]],[],[],[[0,2,"pl-c"]],[[0,76,"pl-c"]],[[0,33,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,16,"pl-en"]],[[4,7,"pl-smi"],[9,13,"pl-s1"]],[[4,7,"pl-smi"],[9,13,"pl-s1"]],[[4,7,"pl-smi"],[9,13,"pl-s1"]],[[4,7,"pl-smi"],[9,13,"pl-s1"]],[[4,7,"pl-smi"],[9,14,"pl-s1"],[16,48,"pl-c"]],[],[[4,7,"pl-smi"],[9,16,"pl-s1"],[18,25,"pl-s1"]],[[4,10,"pl-smi"],[11,22,"pl-s1"]],[[4,7,"pl-smi"],[9,12,"pl-s1"]],[[4,11,"pl-smi"],[12,22,"pl-s1"]],[[4,7,"pl-smi"],[9,12,"pl-s1"],[14,17,"pl-s1"]],[[4,7,"pl-smi"],[9,13,"pl-s1"],[15,20,"pl-s1"]],[[4,7,"pl-smi"],[9,18,"pl-s1"],[20,29,"pl-s1"]],[],[[4,56,"pl-c"]],[[4,6,"pl-k"],[9,23,"pl-s1"],[24,26,"pl-c1"],[27,38,"pl-s1"],[39,41,"pl-c1"],[42,46,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,43,"pl-c"]],[[4,75,"pl-c"]],[[4,8,"pl-s1"],[9,10,"pl-c1"],[11,20,"pl-en"],[21,25,"pl-s1"]],[[4,8,"pl-s1"],[9,10,"pl-c1"],[11,20,"pl-en"],[21,25,"pl-s1"]],[[4,8,"pl-s1"],[9,10,"pl-c1"],[11,20,"pl-en"],[21,25,"pl-s1"]],[[4,8,"pl-s1"],[9,10,"pl-c1"],[11,20,"pl-en"],[21,25,"pl-s1"]],[],[[4,36,"pl-c"]],[[4,11,"pl-s1"],[12,13,"pl-c1"],[14,17,"pl-s1"],[18,21,"pl-c1"]],[[4,11,"pl-s1"],[12,13,"pl-c1"],[14,17,"pl-s1"],[18,21,"pl-c1"]],[[4,15,"pl-s1"],[16,17,"pl-c1"],[18,21,"pl-s1"],[22,36,"pl-c1"]],[[4,13,"pl-s1"],[14,15,"pl-c1"],[16,20,"pl-s1"]],[[4,13,"pl-s1"],[14,15,"pl-c1"],[16,20,"pl-s1"]],[],[[4,7,"pl-k"],[9,12,"pl-s1"],[13,16,"pl-c1"],[17,18,"pl-c1"],[19,23,"pl-s1"],[25,28,"pl-s1"],[29,32,"pl-c1"],[36,40,"pl-s1"],[42,45,"pl-s1"],[46,49,"pl-c1"],[49,51,"pl-c1"]],[],[[1,70,"pl-c"]],[[1,19,"pl-c"]],[[1,5,"pl-s1"],[6,7,"pl-c1"],[8,17,"pl-s1"]],[[1,5,"pl-s1"],[6,7,"pl-c1"],[8,17,"pl-s1"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,17,"pl-s1"],[18,21,"pl-s1"],[22,25,"pl-c1"]],[[1,3,"pl-k"],[5,13,"pl-s1"],[14,16,"pl-c1"],[17,18,"pl-c1"]],[],[[5,7,"pl-k"],[9,13,"pl-s1"],[14,15,"pl-c1"],[16,17,"pl-c1"]],[[2,6,"pl-s1"],[7,9,"pl-c1"],[10,30,"pl-en"],[31,42,"pl-s1"],[43,44,"pl-c1"],[45,48,"pl-s1"]],[[10,21,"pl-s1"],[22,23,"pl-c1"],[24,27,"pl-s1"],[28,29,"pl-c1"],[30,34,"pl-s1"]],[[5,9,"pl-s1"],[10,12,"pl-c1"],[13,33,"pl-en"],[34,45,"pl-s1"],[46,47,"pl-c1"],[48,51,"pl-s1"]],[[10,21,"pl-s1"],[22,23,"pl-c1"],[24,27,"pl-s1"],[28,29,"pl-c1"],[30,34,"pl-s1"]],[],[[1,5,"pl-k"],[6,8,"pl-k"],[10,18,"pl-s1"]],[],[[5,7,"pl-k"],[9,20,"pl-s1"],[21,24,"pl-s1"],[25,26,"pl-c1"],[27,31,"pl-s1"],[33,35,"pl-c1"],[36,37,"pl-c1"]],[],[[2,4,"pl-k"],[6,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"]],[[6,8,"pl-c1"],[8,12,"pl-s1"]],[[2,6,"pl-k"]],[[6,57,"pl-c"]],[[6,12,"pl-en"],[13,44,"pl-s"],[47,51,"pl-smi"],[52,55,"pl-s1"],[56,59,"pl-c1"]],[],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[5,7,"pl-k"],[9,13,"pl-s1"],[14,15,"pl-c1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[20,27,"pl-s1"],[28,30,"pl-c1"],[31,42,"pl-s1"],[43,46,"pl-s1"],[47,48,"pl-c1"],[49,53,"pl-s1"],[54,55,"pl-c1"],[56,57,"pl-c1"],[59,61,"pl-c1"],[62,63,"pl-c1"]],[[2,4,"pl-c1"],[4,8,"pl-s1"]],[[0,6,"pl-k"]],[],[[1,4,"pl-s1"],[5,8,"pl-c1"],[9,10,"pl-c1"],[11,15,"pl-s1"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,17,"pl-s1"],[18,21,"pl-s1"],[22,25,"pl-c1"],[27,28,"pl-c1"],[29,32,"pl-s1"],[33,36,"pl-c1"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,11,"pl-s1"],[12,13,"pl-c1"],[14,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"]],[],[[1,71,"pl-c"]],[[1,47,"pl-c"]],[[1,4,"pl-k"],[6,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"],[16,20,"pl-s1"],[21,22,"pl-c1"],[23,27,"pl-s1"],[29,31,"pl-c1"],[31,35,"pl-s1"]],[[5,7,"pl-k"],[9,20,"pl-s1"],[21,24,"pl-s1"],[25,26,"pl-c1"],[27,28,"pl-c1"],[29,30,"pl-c1"],[31,35,"pl-s1"],[37,39,"pl-c1"],[40,51,"pl-s1"],[52,55,"pl-s1"]],[[6,8,"pl-c1"],[9,20,"pl-s1"],[21,24,"pl-s1"],[25,26,"pl-c1"],[27,28,"pl-c1"],[29,30,"pl-c1"],[31,35,"pl-s1"],[37,39,"pl-c1"],[40,43,"pl-c1"]],[[2,7,"pl-k"]],[],[[1,66,"pl-c"]],[[1,40,"pl-c"]],[[1,6,"pl-k"],[8,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"]],[],[[5,15,"pl-s1"],[16,17,"pl-c1"],[18,29,"pl-s1"],[30,33,"pl-s1"]],[[5,8,"pl-s1"],[9,23,"pl-c1"],[24,25,"pl-c1"],[26,36,"pl-s1"]],[[0,3,"pl-k"],[13,25,"pl-c1"]],[[5,7,"pl-k"],[9,17,"pl-s1"],[18,20,"pl-c1"],[21,34,"pl-s1"],[35,38,"pl-s1"],[40,42,"pl-c1"],[43,44,"pl-c1"]],[],[[2,43,"pl-c"]],[[2,7,"pl-s1"],[8,9,"pl-c1"],[10,24,"pl-en"],[25,28,"pl-s1"],[30,35,"pl-s1"]],[[8,18,"pl-smi"],[19,20,"pl-c1"],[23,33,"pl-smi"],[34,35,"pl-c1"],[37,41,"pl-s1"]],[[2,4,"pl-k"],[6,9,"pl-s1"],[10,13,"pl-c1"],[14,15,"pl-c1"],[16,23,"pl-s1"],[24,26,"pl-c1"],[27,38,"pl-s1"],[39,42,"pl-s1"],[43,44,"pl-c1"],[45,46,"pl-c1"],[48,50,"pl-c1"],[51,52,"pl-c1"]],[[6,9,"pl-s1"],[10,11,"pl-c1"],[12,13,"pl-c1"]],[[2,6,"pl-k"]],[[6,9,"pl-s1"],[10,11,"pl-c1"],[12,13,"pl-c1"]],[],[[5,9,"pl-k"],[10,12,"pl-k"],[14,22,"pl-s1"],[23,25,"pl-c1"],[26,35,"pl-c1"],[36,38,"pl-c1"],[39,50,"pl-s1"],[51,54,"pl-s1"],[56,58,"pl-c1"],[59,63,"pl-c1"]],[],[[2,58,"pl-c"]],[[2,7,"pl-s1"],[8,9,"pl-c1"],[10,24,"pl-en"],[25,28,"pl-s1"],[30,35,"pl-s1"]],[[8,18,"pl-smi"],[19,20,"pl-c1"],[23,33,"pl-smi"],[34,35,"pl-c1"],[37,41,"pl-s1"]],[[2,5,"pl-s1"],[6,7,"pl-c1"],[8,9,"pl-c1"]],[],[[5,9,"pl-k"]],[[0,6,"pl-k"]],[],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[2,5,"pl-k"],[7,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"],[16,19,"pl-s1"],[20,21,"pl-c1"],[22,25,"pl-s1"],[27,29,"pl-c1"],[29,32,"pl-s1"]],[],[[6,8,"pl-k"],[10,18,"pl-s1"],[19,21,"pl-c1"],[22,33,"pl-s1"],[34,37,"pl-s1"],[38,39,"pl-c1"],[40,43,"pl-s1"],[45,47,"pl-c1"],[48,49,"pl-c1"]],[[3,11,"pl-k"],[13,53,"pl-c"]],[[6,8,"pl-k"],[10,21,"pl-s1"],[22,25,"pl-s1"],[26,27,"pl-c1"],[28,31,"pl-s1"],[33,35,"pl-c1"],[36,46,"pl-s1"]],[[3,8,"pl-k"]],[],[[2,50,"pl-c"]],[[2,7,"pl-s1"],[8,9,"pl-c1"],[10,23,"pl-en"],[24,27,"pl-s1"],[29,32,"pl-s1"],[34,39,"pl-s1"]],[[11,21,"pl-smi"],[22,23,"pl-c1"],[26,36,"pl-smi"],[37,38,"pl-c1"],[40,44,"pl-s1"]],[[0,5,"pl-k"]],[[2,5,"pl-k"],[7,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"],[16,19,"pl-s1"],[20,21,"pl-c1"],[22,25,"pl-s1"],[26,28,"pl-c1"],[29,40,"pl-s1"],[41,44,"pl-s1"],[45,46,"pl-c1"],[47,50,"pl-s1"],[52,54,"pl-c1"],[55,65,"pl-s1"]],[[9,12,"pl-s1"],[12,14,"pl-c1"]],[],[[6,48,"pl-c"]],[[6,8,"pl-k"],[10,18,"pl-s1"],[19,21,"pl-c1"],[22,35,"pl-s1"],[36,39,"pl-s1"],[40,41,"pl-c1"],[42,45,"pl-s1"],[47,49,"pl-c1"],[50,51,"pl-c1"]],[[3,8,"pl-k"]],[[6,8,"pl-k"],[10,18,"pl-s1"],[19,21,"pl-c1"],[22,31,"pl-c1"]],[],[[3,46,"pl-c"]],[[3,5,"pl-k"],[7,18,"pl-s1"],[19,22,"pl-s1"],[23,24,"pl-c1"],[25,28,"pl-s1"],[30,32,"pl-c1"],[33,37,"pl-c1"]],[[7,12,"pl-k"]],[[3,5,"pl-k"],[7,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"],[15,17,"pl-c1"],[19,20,"pl-c1"],[20,30,"pl-s1"],[32,43,"pl-s1"]],[[11,12,"pl-c1"],[13,16,"pl-s1"],[17,18,"pl-c1"],[19,22,"pl-s1"],[24,26,"pl-c1"],[27,28,"pl-c1"]],[[7,9,"pl-c1"],[9,12,"pl-s1"],[15,54,"pl-c"]],[],[],[[2,7,"pl-s1"],[8,9,"pl-c1"],[10,27,"pl-en"],[28,39,"pl-s1"],[40,41,"pl-c1"],[42,45,"pl-s1"],[47,50,"pl-s1"],[52,57,"pl-s1"]],[[8,18,"pl-smi"],[19,20,"pl-c1"],[23,33,"pl-smi"],[34,35,"pl-c1"],[37,41,"pl-s1"]],[[0,6,"pl-k"]],[],[[5,7,"pl-k"],[9,14,"pl-s1"],[15,17,"pl-c1"],[18,22,"pl-c1"]],[],[[2,62,"pl-c"]],[[2,12,"pl-c"]],[[2,5,"pl-s1"],[6,8,"pl-c1"],[9,13,"pl-s1"]],[[2,5,"pl-s1"],[6,8,"pl-c1"],[9,13,"pl-s1"]],[[2,5,"pl-s1"],[6,9,"pl-c1"],[10,12,"pl-c1"],[13,17,"pl-s1"]],[],[[5,9,"pl-k"]],[],[[2,5,"pl-s1"],[6,8,"pl-c1"],[9,12,"pl-s1"]],[[2,5,"pl-s1"],[6,8,"pl-c1"],[9,12,"pl-s1"]],[],[[5,9,"pl-s1"],[10,11,"pl-c1"],[12,13,"pl-c1"]],[],[],[],[[4,39,"pl-c"]],[[4,7,"pl-s1"],[8,11,"pl-c1"],[12,13,"pl-c1"],[14,21,"pl-s1"]],[[4,7,"pl-s1"],[8,11,"pl-c1"],[12,13,"pl-c1"],[14,21,"pl-s1"]],[[4,7,"pl-s1"],[8,22,"pl-c1"],[23,24,"pl-c1"],[26,29,"pl-smi"],[30,41,"pl-s1"]],[],[],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,16,"pl-en"],[17,20,"pl-smi"],[21,24,"pl-s1"],[26,29,"pl-smi"],[30,35,"pl-s1"]],[],[[4,6,"pl-k"],[8,13,"pl-s1"],[17,18,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,13,"pl-c1"],[14,19,"pl-s1"],[20,21,"pl-c1"],[22,25,"pl-s1"],[26,43,"pl-c1"]],[[1,52,"pl-c"]],[[1,16,"pl-en"],[17,20,"pl-s1"],[22,25,"pl-s1"],[26,44,"pl-c1"]],[[9,12,"pl-s1"],[13,30,"pl-c1"],[32,35,"pl-s1"],[36,55,"pl-c1"]],[[4,8,"pl-k"]],[],[[1,21,"pl-en"],[22,25,"pl-s1"],[27,32,"pl-s1"]],[],[[1,65,"pl-c"]],[[1,57,"pl-c"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,19,"pl-c1"],[23,26,"pl-s1"]],[[2,4,"pl-c1"],[5,8,"pl-s1"],[9,19,"pl-c1"],[23,26,"pl-s1"],[27,45,"pl-c1"]],[[2,4,"pl-c1"],[5,8,"pl-s1"],[9,19,"pl-c1"],[23,26,"pl-s1"],[27,46,"pl-c1"]],[],[[5,7,"pl-k"],[9,12,"pl-s1"],[13,23,"pl-c1"],[24,25,"pl-c1"],[26,29,"pl-s1"],[30,31,"pl-c1"],[32,37,"pl-s1"]],[[2,5,"pl-s1"],[6,21,"pl-c1"],[22,23,"pl-c1"]],[[5,9,"pl-k"],[10,12,"pl-k"],[14,17,"pl-s1"],[18,28,"pl-c1"],[32,35,"pl-s1"],[36,53,"pl-c1"]],[[2,5,"pl-s1"],[6,16,"pl-c1"],[17,19,"pl-c1"],[20,25,"pl-s1"]],[],[],[],[],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,16,"pl-en"],[17,20,"pl-smi"],[21,24,"pl-s1"],[26,29,"pl-smi"],[30,35,"pl-s1"]],[],[[4,6,"pl-k"],[8,13,"pl-s1"],[17,18,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,13,"pl-c1"],[14,19,"pl-s1"],[20,21,"pl-c1"],[22,25,"pl-s1"],[26,43,"pl-c1"]],[[1,52,"pl-c"]],[[1,16,"pl-en"],[17,20,"pl-s1"],[22,25,"pl-s1"],[26,44,"pl-c1"]],[[9,12,"pl-s1"],[13,30,"pl-c1"],[32,35,"pl-s1"],[36,55,"pl-c1"]],[[4,8,"pl-k"]],[],[[1,21,"pl-en"],[22,25,"pl-s1"],[27,32,"pl-s1"]],[],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,19,"pl-c1"],[23,26,"pl-s1"],[27,30,"pl-c1"]],[[2,4,"pl-c1"],[5,8,"pl-s1"],[9,19,"pl-c1"],[23,26,"pl-s1"],[27,45,"pl-c1"]],[[2,4,"pl-c1"],[5,8,"pl-s1"],[9,19,"pl-c1"],[23,26,"pl-s1"],[27,46,"pl-c1"]],[],[[5,7,"pl-k"],[9,12,"pl-s1"],[13,23,"pl-c1"],[27,30,"pl-s1"],[31,48,"pl-c1"],[49,50,"pl-c1"],[51,56,"pl-s1"]],[[2,5,"pl-s1"],[6,16,"pl-c1"],[17,19,"pl-c1"],[20,25,"pl-s1"]],[[5,9,"pl-k"],[10,12,"pl-k"],[14,17,"pl-s1"],[18,28,"pl-c1"],[32,35,"pl-s1"],[36,53,"pl-c1"]],[[2,5,"pl-s1"],[6,21,"pl-c1"],[22,23,"pl-c1"]],[],[],[],[],[[0,6,"pl-k"],[7,18,"pl-c1"]],[[0,2,"pl-c"]],[[0,68,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,14,"pl-smi"]],[[0,20,"pl-en"]],[[4,8,"pl-smi"],[9,14,"pl-s1"]],[[4,7,"pl-smi"],[8,9,"pl-c1"],[9,20,"pl-s1"],[21,27,"pl-c1"]],[[4,7,"pl-smi"],[8,20,"pl-s1"],[21,27,"pl-c1"]],[],[[4,10,"pl-k"],[11,33,"pl-en"],[34,39,"pl-s1"]],[],[[0,6,"pl-k"]],[],[[0,2,"pl-c"]],[[0,77,"pl-c"]],[[0,21,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,14,"pl-smi"]],[[0,27,"pl-en"]],[[1,5,"pl-smi"],[6,11,"pl-s1"]],[[1,4,"pl-smi"],[5,6,"pl-c1"],[6,17,"pl-s1"],[18,24,"pl-c1"]],[[1,4,"pl-smi"],[5,17,"pl-s1"],[18,24,"pl-c1"]],[],[[0,6,"pl-k"],[7,18,"pl-c1"]],[[4,10,"pl-k"],[11,37,"pl-en"],[38,43,"pl-s1"],[45,65,"pl-s1"]],[[10,21,"pl-s1"],[23,35,"pl-s1"]],[[0,5,"pl-k"]],[[4,10,"pl-k"],[11,33,"pl-en"],[34,39,"pl-s1"]],[[0,6,"pl-k"]],[],[],[[0,2,"pl-c"]],[[0,71,"pl-c"]],[[0,33,"pl-c"]],[[0,31,"pl-c"]],[[0,59,"pl-c"]],[[0,2,"pl-c"]],[[0,79,"pl-c"]],[[0,79,"pl-c"]],[[0,17,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,14,"pl-smi"]],[[0,22,"pl-en"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,15,"pl-s1"]],[[4,7,"pl-smi"],[9,15,"pl-s1"]],[[4,8,"pl-smi"],[9,14,"pl-s1"],[20,62,"pl-c"]],[[4,7,"pl-smi"],[9,22,"pl-s1"]],[],[[4,7,"pl-smi"],[12,18,"pl-s1"]],[],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[4,77,"pl-c"]],[[4,21,"pl-c"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,16,"pl-c1"],[17,18,"pl-c1"]],[[1,17,"pl-en"],[18,19,"pl-c1"]],[[0,6,"pl-k"]],[],[[4,18,"pl-en"]],[[4,6,"pl-k"],[8,23,"pl-en"],[27,58,"pl-c"]],[],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,11,"pl-c1"],[12,16,"pl-c1"],[17,19,"pl-c1"],[21,36,"pl-en"],[37,50,"pl-s1"]],[[5,11,"pl-k"],[12,31,"pl-en"],[32,35,"pl-s1"],[38,42,"pl-smi"],[43,49,"pl-s1"]],[[1,7,"pl-k"],[8,9,"pl-c1"]],[],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,16,"pl-c1"],[17,18,"pl-c1"],[21,43,"pl-c"]],[[1,7,"pl-k"],[8,12,"pl-c1"]],[],[[4,54,"pl-c"]],[[4,17,"pl-en"]],[],[[4,43,"pl-c"]],[[4,23,"pl-en"]],[],[[4,78,"pl-c"]],[[4,23,"pl-c"]],[[4,10,"pl-s1"],[11,12,"pl-c1"],[13,24,"pl-en"],[25,28,"pl-s1"],[30,36,"pl-s1"],[38,43,"pl-s1"],[45,58,"pl-s1"]],[[4,31,"pl-s1"],[33,37,"pl-c1"]],[],[[4,22,"pl-en"]],[],[[4,10,"pl-k"],[11,17,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,70,"pl-c"]],[[0,26,"pl-c"]],[[0,32,"pl-c"]],[[0,29,"pl-c"]],[[0,57,"pl-c"]],[[0,77,"pl-c"]],[[0,21,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,18,"pl-en"],[19,23,"pl-smi"],[24,29,"pl-s1"],[31,34,"pl-smi"],[35,48,"pl-s1"]],[],[[4,10,"pl-k"],[11,33,"pl-en"],[34,38,"pl-c1"],[40,41,"pl-c1"],[43,48,"pl-s1"],[50,63,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,42,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,10,"pl-en"]],[[4,10,"pl-smi"],[12,13,"pl-c1"],[13,16,"pl-s1"]],[[4,7,"pl-smi"],[12,18,"pl-s1"]],[[4,8,"pl-smi"],[12,17,"pl-s1"],[20,35,"pl-c"]],[[4,7,"pl-smi"],[12,25,"pl-s1"]],[],[[4,10,"pl-k"],[11,33,"pl-en"],[34,37,"pl-s1"],[39,45,"pl-s1"],[47,52,"pl-s1"],[54,67,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,65,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,16,"pl-en"],[17,23,"pl-smi"],[24,25,"pl-c1"],[25,26,"pl-s1"],[28,31,"pl-smi"],[32,35,"pl-s1"],[37,40,"pl-smi"],[41,44,"pl-s1"]],[],[[4,5,"pl-s1"],[6,7,"pl-c1"],[9,10,"pl-c1"],[12,18,"pl-s1"],[20,23,"pl-s1"],[26,29,"pl-c1"],[30,31,"pl-c1"],[32,35,"pl-c1"],[36,37,"pl-c1"],[38,39,"pl-c1"]],[[4,5,"pl-s1"],[6,7,"pl-c1"],[9,10,"pl-c1"],[12,18,"pl-s1"],[20,23,"pl-s1"],[26,29,"pl-c1"],[30,31,"pl-c1"],[32,35,"pl-c1"],[36,37,"pl-c1"],[38,39,"pl-c1"]],[[4,5,"pl-s1"],[6,7,"pl-c1"],[9,10,"pl-c1"],[12,18,"pl-s1"],[20,23,"pl-s1"],[26,29,"pl-c1"],[30,31,"pl-c1"],[32,35,"pl-c1"],[36,37,"pl-c1"],[38,39,"pl-c1"]],[[4,5,"pl-s1"],[6,7,"pl-c1"],[9,10,"pl-c1"],[12,18,"pl-s1"],[20,23,"pl-s1"],[26,29,"pl-c1"],[30,31,"pl-c1"],[32,35,"pl-c1"],[36,37,"pl-c1"],[38,39,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,78,"pl-c"]],[[0,24,"pl-c"]],[[0,71,"pl-c"]],[[0,23,"pl-c"]],[[0,34,"pl-c"]],[[0,60,"pl-c"]],[[0,53,"pl-c"]],[[0,48,"pl-c"]],[[0,74,"pl-c"]],[[0,20,"pl-c"]],[[0,75,"pl-c"]],[[0,58,"pl-c"]],[[0,79,"pl-c"]],[[0,13,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,20,"pl-en"]],[[4,7,"pl-smi"],[12,18,"pl-s1"]],[[4,7,"pl-smi"],[12,13,"pl-s1"]],[[4,7,"pl-smi"],[12,13,"pl-s1"]],[[4,7,"pl-smi"],[12,26,"pl-s1"]],[[4,9,"pl-smi"],[12,21,"pl-s1"]],[],[[4,10,"pl-k"],[11,14,"pl-smi"],[19,27,"pl-s1"],[28,29,"pl-c1"],[30,31,"pl-c1"],[33,41,"pl-s1"],[42,43,"pl-c1"],[44,45,"pl-c1"]],[[4,10,"pl-k"],[11,14,"pl-smi"],[19,30,"pl-s1"],[31,32,"pl-c1"],[33,35,"pl-c1"]],[[4,10,"pl-k"],[11,14,"pl-smi"],[19,29,"pl-s1"],[30,31,"pl-c1"],[32,33,"pl-c1"]],[[4,10,"pl-smi"],[15,21,"pl-s1"],[22,24,"pl-c1"]],[[4,8,"pl-k"],[9,18,"pl-smi"],[20,31,"pl-s1"]],[[4,7,"pl-smi"],[13,16,"pl-s1"],[18,21,"pl-s1"]],[[0,6,"pl-k"],[7,21,"pl-c1"]],[[4,7,"pl-smi"],[13,21,"pl-s1"]],[[4,7,"pl-smi"],[13,21,"pl-s1"],[22,23,"pl-c1"]],[[0,6,"pl-k"]],[],[[4,6,"pl-c"]],[[0,75,"pl-c"]],[[0,7,"pl-c"]],[[4,10,"pl-k"],[12,18,"pl-s1"]],[],[[1,5,"pl-k"],[6,16,"pl-c1"]],[[5,16,"pl-s1"],[17,18,"pl-c1"],[19,34,"pl-c1"]],[[10,20,"pl-ent"]],[[1,5,"pl-k"],[6,14,"pl-c1"]],[[5,16,"pl-s1"],[17,18,"pl-c1"],[19,29,"pl-c1"]],[[10,20,"pl-ent"]],[[1,5,"pl-k"],[6,14,"pl-c1"]],[[5,16,"pl-s1"],[17,18,"pl-c1"],[19,29,"pl-c1"]],[[10,20,"pl-ent"]],[[1,5,"pl-k"],[6,13,"pl-c1"]],[[5,16,"pl-s1"],[17,18,"pl-c1"],[19,31,"pl-c1"]],[[10,20,"pl-ent"]],[[1,5,"pl-k"],[6,13,"pl-c1"]],[[5,16,"pl-s1"],[17,18,"pl-c1"],[19,29,"pl-c1"]],[[10,20,"pl-ent"]],[[1,5,"pl-k"],[6,13,"pl-c1"]],[[5,16,"pl-s1"],[17,18,"pl-c1"],[19,31,"pl-c1"]],[[10,20,"pl-ent"]],[[1,5,"pl-k"],[6,13,"pl-c1"]],[[5,16,"pl-s1"],[17,18,"pl-c1"],[19,32,"pl-c1"]],[[0,10,"pl-ent"]],[],[[2,45,"pl-c"]],[[2,4,"pl-k"],[6,21,"pl-s1"]],[[6,12,"pl-k"]],[],[[2,5,"pl-s1"],[6,7,"pl-c1"],[8,21,"pl-en"],[22,23,"pl-s1"],[25,26,"pl-s1"],[28,29,"pl-c1"],[29,32,"pl-s1"]],[[2,48,"pl-c"]],[[2,34,"pl-c"]],[[2,4,"pl-k"],[6,12,"pl-s1"],[13,15,"pl-c1"],[16,26,"pl-c1"]],[],[[6,8,"pl-k"],[10,13,"pl-s1"],[14,16,"pl-c1"],[17,25,"pl-s1"],[26,28,"pl-c1"],[29,32,"pl-s1"],[33,35,"pl-c1"],[36,44,"pl-s1"]],[[3,9,"pl-k"]],[[6,10,"pl-k"]],[],[[3,11,"pl-s1"],[12,13,"pl-c1"],[14,17,"pl-s1"],[21,22,"pl-c1"],[25,28,"pl-s1"],[31,32,"pl-c1"]],[[3,11,"pl-s1"],[12,13,"pl-c1"],[14,17,"pl-s1"]],[],[],[],[[2,8,"pl-s1"],[9,10,"pl-c1"],[12,13,"pl-c1"],[14,17,"pl-c1"]],[[2,8,"pl-s1"],[9,10,"pl-c1"],[12,13,"pl-c1"],[14,22,"pl-c1"]],[[2,8,"pl-s1"],[9,10,"pl-c1"],[12,13,"pl-c1"],[15,18,"pl-smi"],[19,30,"pl-s1"]],[],[[2,64,"pl-c"]],[[2,33,"pl-c"]],[[2,8,"pl-s1"],[9,10,"pl-c1"],[12,13,"pl-c1"],[15,21,"pl-s1"],[23,26,"pl-s1"],[29,32,"pl-c1"],[33,34,"pl-c1"],[35,38,"pl-c1"],[39,40,"pl-c1"],[41,42,"pl-c1"]],[[2,8,"pl-s1"],[9,10,"pl-c1"],[12,13,"pl-c1"],[15,21,"pl-s1"],[23,26,"pl-s1"],[29,32,"pl-c1"],[33,34,"pl-c1"],[35,38,"pl-c1"],[39,40,"pl-c1"],[41,42,"pl-c1"]],[[2,8,"pl-s1"],[9,10,"pl-c1"],[12,13,"pl-c1"],[15,21,"pl-s1"],[23,26,"pl-s1"],[29,32,"pl-c1"],[33,34,"pl-c1"],[35,38,"pl-c1"],[39,40,"pl-c1"],[41,42,"pl-c1"]],[[2,8,"pl-s1"],[9,10,"pl-c1"],[12,13,"pl-c1"],[15,21,"pl-s1"],[23,26,"pl-s1"],[29,32,"pl-c1"],[33,34,"pl-c1"],[35,38,"pl-c1"],[39,40,"pl-c1"],[41,42,"pl-c1"]],[],[[2,4,"pl-k"],[6,15,"pl-s1"],[16,18,"pl-c1"],[19,20,"pl-c1"]],[[6,22,"pl-en"],[23,29,"pl-s1"],[30,31,"pl-c1"],[32,33,"pl-c1"],[35,36,"pl-c1"]],[[2,6,"pl-k"]],[],[[6,12,"pl-s1"],[13,14,"pl-c1"],[16,17,"pl-c1"],[18,21,"pl-c1"]],[[6,12,"pl-s1"],[13,14,"pl-c1"],[16,17,"pl-c1"],[18,29,"pl-c1"]],[[6,12,"pl-s1"],[13,14,"pl-c1"],[16,17,"pl-c1"],[18,19,"pl-c1"]],[[6,8,"pl-k"],[10,19,"pl-s1"],[20,21,"pl-c1"],[22,33,"pl-c1"]],[[3,9,"pl-s1"],[10,11,"pl-c1"],[16,30,"pl-c1"]],[[6,8,"pl-k"],[10,19,"pl-s1"],[20,21,"pl-c1"],[22,32,"pl-c1"]],[[3,9,"pl-s1"],[10,11,"pl-c1"],[16,29,"pl-c1"]],[[6,8,"pl-k"],[10,19,"pl-s1"],[20,21,"pl-c1"],[22,31,"pl-c1"]],[[3,9,"pl-s1"],[10,11,"pl-c1"],[16,28,"pl-c1"]],[[6,22,"pl-en"],[23,29,"pl-s1"],[31,33,"pl-c1"]],[],[[2,8,"pl-k"]],[],[],[],[[0,6,"pl-k"],[7,21,"pl-c1"]],[[4,57,"pl-c"]],[[4,6,"pl-k"],[8,17,"pl-s1"],[18,23,"pl-c1"],[24,26,"pl-c1"],[27,45,"pl-c1"]],[],[[1,23,"pl-en"],[24,30,"pl-s1"],[32,39,"pl-en"],[40,41,"pl-s1"],[44,51,"pl-en"],[52,53,"pl-s1"],[56,70,"pl-s1"]],[],[[1,71,"pl-c"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,20,"pl-en"],[21,22,"pl-s1"],[24,25,"pl-s1"],[27,28,"pl-c1"],[28,31,"pl-s1"]],[[1,3,"pl-k"],[5,11,"pl-s1"],[12,14,"pl-c1"],[15,28,"pl-c1"],[29,31,"pl-c1"],[32,35,"pl-s1"],[36,38,"pl-c1"],[39,47,"pl-s1"],[48,50,"pl-c1"],[51,54,"pl-s1"],[55,57,"pl-c1"],[58,66,"pl-s1"]],[[5,11,"pl-k"]],[],[],[[4,75,"pl-c"]],[[4,10,"pl-k"],[12,26,"pl-en"]],[],[[1,5,"pl-k"],[6,22,"pl-c1"]],[[1,5,"pl-k"],[6,21,"pl-c1"]],[[0,7,"pl-k"],[8,21,"pl-c1"]],[[1,5,"pl-k"],[6,19,"pl-c1"]],[[0,7,"pl-k"]],[[1,5,"pl-k"],[6,17,"pl-c1"],[19,27,"pl-s1"],[28,29,"pl-c1"],[30,42,"pl-c1"],[44,49,"pl-k"]],[[1,5,"pl-k"],[6,17,"pl-c1"],[19,27,"pl-s1"],[28,29,"pl-c1"],[30,42,"pl-c1"],[44,49,"pl-k"]],[[1,5,"pl-k"],[6,17,"pl-c1"],[19,27,"pl-s1"],[28,29,"pl-c1"],[30,42,"pl-c1"],[44,49,"pl-k"]],[[1,5,"pl-k"],[6,18,"pl-c1"]],[[1,5,"pl-k"],[6,18,"pl-c1"],[21,33,"pl-c1"]],[[1,5,"pl-k"],[6,19,"pl-c1"]],[[1,5,"pl-k"],[6,19,"pl-c1"],[22,34,"pl-c1"]],[[1,5,"pl-k"],[6,17,"pl-c1"]],[[1,5,"pl-k"],[6,17,"pl-c1"],[20,32,"pl-c1"]],[[4,12,"pl-s1"],[13,14,"pl-c1"],[15,27,"pl-c1"],[29,34,"pl-k"]],[[1,5,"pl-k"],[6,18,"pl-c1"]],[[1,5,"pl-k"],[6,20,"pl-c1"],[22,67,"pl-c"]],[[4,46,"pl-c"]],[[4,20,"pl-c"]],[[4,6,"pl-k"],[8,15,"pl-en"],[16,17,"pl-s1"],[22,29,"pl-s1"]],[[8,16,"pl-s1"],[17,18,"pl-c1"],[19,31,"pl-c1"]],[[4,8,"pl-k"]],[[8,16,"pl-s1"],[17,18,"pl-c1"],[19,31,"pl-c1"]],[[4,9,"pl-k"]],[],[[5,7,"pl-c"]],[[0,69,"pl-c"]],[[0,52,"pl-c"]],[[0,8,"pl-c"]],[[1,5,"pl-k"],[6,18,"pl-c1"]],[[1,5,"pl-k"],[6,18,"pl-c1"],[21,33,"pl-c1"]],[[5,7,"pl-k"],[9,16,"pl-en"],[17,18,"pl-s1"],[20,21,"pl-c1"],[22,33,"pl-s1"],[34,36,"pl-c1"],[37,43,"pl-s1"],[44,46,"pl-c1"],[47,59,"pl-c1"]],[[2,10,"pl-s1"],[11,12,"pl-c1"],[13,23,"pl-c1"]],[[5,9,"pl-k"]],[[2,10,"pl-s1"],[11,12,"pl-c1"],[13,26,"pl-c1"]],[[5,10,"pl-k"]],[],[[1,8,"pl-k"]],[[5,13,"pl-s1"],[14,15,"pl-c1"],[16,26,"pl-c1"]],[[5,10,"pl-k"]],[],[],[[4,6,"pl-c"]],[[0,72,"pl-c"]],[[0,74,"pl-c"]],[[0,24,"pl-c"]],[[0,7,"pl-c"]],[[4,6,"pl-k"],[9,14,"pl-s1"],[15,17,"pl-c1"],[18,29,"pl-c1"],[30,32,"pl-c1"],[33,38,"pl-s1"],[39,41,"pl-c1"],[42,58,"pl-c1"]],[[12,14,"pl-c1"],[16,21,"pl-s1"],[22,23,"pl-c1"],[24,35,"pl-c1"]],[[5,7,"pl-c1"],[8,15,"pl-en"],[16,17,"pl-s1"],[22,30,"pl-s1"],[30,32,"pl-c1"],[32,41,"pl-c1"],[42,43,"pl-c1"],[44,52,"pl-s1"],[52,54,"pl-c1"],[54,62,"pl-c1"]],[[5,7,"pl-c1"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,28,"pl-c1"]],[[0,7,"pl-k"],[8,23,"pl-c1"]],[[5,7,"pl-c1"],[9,25,"pl-s1"]],[[5,7,"pl-c1"],[9,22,"pl-s1"]],[[0,7,"pl-k"]],[],[[1,9,"pl-s1"],[10,11,"pl-c1"],[12,22,"pl-c1"]],[],[[4,6,"pl-c"]],[[0,66,"pl-c"]],[[0,7,"pl-c"]],[[4,6,"pl-k"],[9,18,"pl-s1"],[19,20,"pl-c1"],[21,31,"pl-c1"],[33,35,"pl-c1"],[37,46,"pl-s1"],[47,48,"pl-c1"],[49,60,"pl-c1"]],[[1,9,"pl-s1"],[10,11,"pl-c1"],[12,23,"pl-c1"]],[],[[4,6,"pl-c"]],[[0,49,"pl-c"]],[[0,7,"pl-c"]],[[4,6,"pl-k"],[8,21,"pl-s1"]],[[1,9,"pl-s1"],[10,11,"pl-c1"],[12,22,"pl-c1"]],[],[[4,6,"pl-c"]],[[0,71,"pl-c"]],[[0,76,"pl-c"]],[[0,24,"pl-c"]],[[0,77,"pl-c"]],[[0,19,"pl-c"]],[[0,7,"pl-c"]],[[4,6,"pl-k"],[9,18,"pl-en"],[19,27,"pl-s1"],[29,31,"pl-c1"],[32,40,"pl-s1"],[41,43,"pl-c1"],[44,57,"pl-c1"]],[],[[1,47,"pl-c"]],[[1,3,"pl-k"],[5,13,"pl-s1"],[14,16,"pl-c1"],[17,28,"pl-c1"],[29,31,"pl-c1"],[32,45,"pl-s1"],[46,48,"pl-c1"],[50,55,"pl-s1"],[56,57,"pl-c1"],[58,69,"pl-c1"]],[[5,11,"pl-k"]],[],[[1,3,"pl-c"]],[[0,68,"pl-c"]],[[0,33,"pl-c"]],[[0,4,"pl-c"]],[[1,3,"pl-k"],[5,22,"pl-en"],[25,27,"pl-c1"],[28,34,"pl-s1"],[35,37,"pl-c1"],[38,48,"pl-c1"]],[[2,4,"pl-c1"],[6,15,"pl-s1"],[16,17,"pl-c1"],[18,29,"pl-c1"],[31,33,"pl-c1"],[36,45,"pl-s1"],[46,47,"pl-c1"],[48,58,"pl-c1"]],[],[[5,11,"pl-s1"],[12,13,"pl-c1"],[14,25,"pl-c1"]],[[5,14,"pl-s1"],[20,31,"pl-c1"]],[],[],[[1,66,"pl-c"]],[[1,67,"pl-c"]],[[1,29,"pl-c"]],[[1,3,"pl-k"],[5,11,"pl-s1"],[12,14,"pl-c1"],[15,26,"pl-c1"]],[],[[5,7,"pl-k"],[9,18,"pl-s1"],[19,24,"pl-c1"],[25,27,"pl-c1"],[28,42,"pl-c1"]],[],[[2,4,"pl-k"],[6,11,"pl-s1"],[12,13,"pl-c1"],[14,26,"pl-c1"]],[],[[6,9,"pl-s1"],[10,11,"pl-c1"],[12,19,"pl-s1"]],[[6,9,"pl-s1"],[10,11,"pl-c1"],[12,19,"pl-s1"]],[],[[2,6,"pl-k"]],[],[[6,9,"pl-s1"],[10,11,"pl-c1"],[12,18,"pl-s1"],[18,20,"pl-c1"],[20,26,"pl-c1"]],[[6,9,"pl-s1"],[10,11,"pl-c1"],[12,18,"pl-s1"],[18,20,"pl-c1"],[20,26,"pl-c1"],[27,28,"pl-c1"],[29,37,"pl-en"],[38,44,"pl-s1"]],[],[[2,22,"pl-en"],[23,26,"pl-s1"],[28,31,"pl-s1"]],[],[[5,27,"pl-en"],[28,34,"pl-s1"],[36,43,"pl-en"],[44,45,"pl-s1"],[48,55,"pl-en"],[56,57,"pl-s1"]],[[13,27,"pl-s1"]],[[5,13,"pl-s1"],[14,15,"pl-c1"]],[],[[1,48,"pl-c"]],[[1,5,"pl-k"],[6,8,"pl-k"],[10,16,"pl-s1"],[17,19,"pl-c1"],[20,30,"pl-c1"]],[],[[5,25,"pl-en"],[26,33,"pl-en"],[34,35,"pl-s1"],[38,45,"pl-en"],[46,47,"pl-s1"],[50,64,"pl-s1"]],[[5,13,"pl-s1"],[14,15,"pl-c1"]],[],[],[[1,24,"pl-c"]],[[1,3,"pl-k"],[5,11,"pl-s1"],[12,14,"pl-c1"],[15,27,"pl-c1"]],[],[[5,7,"pl-k"],[10,19,"pl-en"],[20,28,"pl-s1"],[30,32,"pl-c1"],[33,39,"pl-s1"],[40,42,"pl-c1"],[43,56,"pl-c1"]],[[2,8,"pl-k"]],[[5,7,"pl-k"],[9,17,"pl-s1"],[18,20,"pl-c1"],[21,34,"pl-c1"]],[[2,8,"pl-s1"],[9,10,"pl-c1"],[11,21,"pl-c1"]],[],[[1,15,"pl-s1"],[16,17,"pl-c1"]],[],[],[[4,6,"pl-k"],[8,17,"pl-s1"],[18,23,"pl-c1"],[24,26,"pl-c1"],[27,41,"pl-c1"],[42,44,"pl-c1"],[46,54,"pl-s1"]],[[1,21,"pl-en"],[22,23,"pl-c1"],[23,32,"pl-s1"]],[[0,6,"pl-k"]],[],[[4,47,"pl-c"]],[[4,6,"pl-k"],[8,23,"pl-s1"]],[[1,7,"pl-k"]],[],[[4,7,"pl-s1"],[8,9,"pl-c1"],[10,23,"pl-en"],[24,25,"pl-s1"],[27,28,"pl-s1"],[30,31,"pl-c1"],[31,34,"pl-s1"]],[],[[4,6,"pl-c"]],[[0,74,"pl-c"]],[[0,60,"pl-c"]],[[0,7,"pl-c"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,28,"pl-c1"]],[],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,11,"pl-c1"],[12,20,"pl-s1"],[21,23,"pl-c1"],[24,27,"pl-s1"],[28,30,"pl-c1"],[31,39,"pl-s1"]],[[5,11,"pl-k"]],[[1,65,"pl-c"]],[[1,3,"pl-k"],[5,6,"pl-s1"],[7,8,"pl-c1"],[9,10,"pl-c1"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[11,13,"pl-c1"]],[],[],[[4,6,"pl-c"]],[[0,75,"pl-c"]],[[0,70,"pl-c"]],[[0,53,"pl-c"]],[[0,7,"pl-c"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[14,16,"pl-c1"],[16,25,"pl-c1"],[26,28,"pl-c1"],[29,45,"pl-s1"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[5,7,"pl-c1"],[8,14,"pl-s1"],[14,16,"pl-c1"],[16,25,"pl-c1"],[26,28,"pl-c1"],[29,45,"pl-s1"]],[[0,6,"pl-k"]],[],[[1,15,"pl-s1"],[16,17,"pl-c1"]],[],[[4,10,"pl-s1"],[11,12,"pl-c1"],[14,15,"pl-c1"],[16,19,"pl-c1"],[21,71,"pl-c"]],[[4,10,"pl-s1"],[11,12,"pl-c1"],[14,15,"pl-c1"],[16,24,"pl-c1"]],[[4,10,"pl-s1"],[11,12,"pl-c1"],[14,15,"pl-c1"],[16,25,"pl-c1"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,28,"pl-c1"],[29,31,"pl-c1"],[32,38,"pl-s1"],[39,41,"pl-c1"],[42,55,"pl-c1"]],[],[[1,3,"pl-k"],[5,19,"pl-s1"]],[],[[5,7,"pl-c"]],[[0,69,"pl-c"]],[[0,39,"pl-c"]],[[0,8,"pl-c"]],[[5,7,"pl-k"],[9,15,"pl-s1"],[16,18,"pl-c1"],[19,30,"pl-s1"],[31,33,"pl-c1"],[34,37,"pl-s1"],[38,40,"pl-c1"],[41,49,"pl-s1"],[50,52,"pl-c1"],[53,56,"pl-s1"],[57,59,"pl-c1"],[60,68,"pl-s1"]],[[2,12,"pl-s1"],[13,14,"pl-c1"],[15,16,"pl-c1"]],[[5,9,"pl-k"],[10,12,"pl-k"],[14,16,"pl-c1"],[16,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-c1"]],[[2,12,"pl-s1"],[13,14,"pl-c1"],[15,16,"pl-c1"]],[],[[1,5,"pl-k"]],[[5,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"]],[[1,12,"pl-s1"],[13,14,"pl-c1"],[15,21,"pl-s1"]],[[1,17,"pl-s1"],[18,19,"pl-c1"],[20,26,"pl-s1"],[26,28,"pl-c1"],[28,37,"pl-c1"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[1,17,"pl-s1"],[18,19,"pl-c1"],[20,26,"pl-s1"],[26,28,"pl-c1"],[28,37,"pl-c1"]],[[0,6,"pl-k"]],[],[[1,7,"pl-s1"],[8,9,"pl-c1"],[11,12,"pl-c1"],[14,20,"pl-s1"],[22,28,"pl-s1"],[31,35,"pl-c1"]],[[1,21,"pl-en"],[22,28,"pl-s1"],[29,30,"pl-c1"],[33,43,"pl-s1"]],[],[[4,8,"pl-k"]],[[1,7,"pl-s1"],[8,9,"pl-c1"],[11,12,"pl-c1"],[14,20,"pl-smi"],[21,27,"pl-s1"]],[],[[4,10,"pl-s1"],[11,12,"pl-c1"],[17,26,"pl-s1"]],[[4,20,"pl-en"],[21,27,"pl-s1"],[28,29,"pl-c1"],[30,31,"pl-c1"],[33,36,"pl-s1"],[38,41,"pl-s1"]],[[4,20,"pl-en"],[21,27,"pl-s1"],[29,30,"pl-c1"]],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"]],[[1,9,"pl-s1"],[10,11,"pl-c1"],[12,13,"pl-c1"]],[[4,8,"pl-k"]],[[1,9,"pl-s1"],[10,11,"pl-c1"],[12,15,"pl-s1"]],[[4,12,"pl-s1"],[13,14,"pl-c1"],[15,18,"pl-s1"]],[],[[4,6,"pl-c"]],[[0,74,"pl-c"]],[[0,33,"pl-c"]],[[0,7,"pl-c"]],[[0,3,"pl-k"],[12,24,"pl-c1"]],[[4,7,"pl-s1"],[8,18,"pl-c1"],[19,20,"pl-c1"],[21,30,"pl-c1"]],[[0,6,"pl-k"]],[],[],[[0,2,"pl-c"]],[[0,63,"pl-c"]],[[0,37,"pl-c"]],[[0,53,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,14,"pl-smi"]],[[0,13,"pl-en"],[14,17,"pl-smi"],[18,19,"pl-s1"],[21,24,"pl-smi"],[25,26,"pl-s1"],[28,31,"pl-smi"],[32,33,"pl-c1"],[33,37,"pl-s1"]],[],[[4,7,"pl-smi"],[9,12,"pl-s1"],[13,14,"pl-c1"],[15,24,"pl-en"],[25,32,"pl-en"],[33,34,"pl-s1"]],[[4,7,"pl-smi"],[9,12,"pl-s1"],[13,14,"pl-c1"],[15,24,"pl-en"],[25,32,"pl-en"],[33,34,"pl-s1"]],[],[[4,5,"pl-c1"],[5,9,"pl-s1"],[10,11,"pl-c1"],[12,22,"pl-en"],[23,26,"pl-s1"],[28,31,"pl-s1"]],[[4,10,"pl-k"],[11,14,"pl-s1"]],[],[],[[0,3,"pl-k"],[12,21,"pl-c1"],[23,25,"pl-c1"],[34,39,"pl-c1"]],[[0,2,"pl-c"]],[[0,61,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,11,"pl-en"],[12,21,"pl-smi"],[22,23,"pl-c1"],[23,27,"pl-s1"]],[],[[4,10,"pl-smi"],[12,17,"pl-s1"],[18,24,"pl-k"],[25,31,"pl-s1"]],[],[[4,47,"pl-c"]],[[4,6,"pl-k"],[8,23,"pl-s1"]],[[1,7,"pl-k"]],[],[[4,9,"pl-s1"],[10,11,"pl-c1"],[13,14,"pl-c1"],[15,18,"pl-c1"]],[[4,9,"pl-s1"],[10,11,"pl-c1"],[13,14,"pl-c1"],[15,22,"pl-c1"]],[[4,9,"pl-s1"],[10,11,"pl-c1"],[13,14,"pl-c1"],[15,24,"pl-c1"]],[[4,20,"pl-en"],[21,26,"pl-s1"],[28,29,"pl-c1"]],[[4,19,"pl-en"],[21,27,"pl-smi"],[28,32,"pl-s1"],[34,39,"pl-s1"]],[[4,24,"pl-en"],[25,30,"pl-s1"],[32,38,"pl-k"],[39,45,"pl-s1"]],[],[[0,6,"pl-k"]],[],[[0,6,"pl-k"],[7,10,"pl-smi"],[11,32,"pl-s1"],[33,34,"pl-c1"]],[],[[0,2,"pl-c"]],[[0,36,"pl-c"]],[[0,76,"pl-c"]],[[0,11,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,25,"pl-en"],[26,32,"pl-smi"],[33,34,"pl-c1"],[34,40,"pl-s1"],[41,47,"pl-c1"]],[],[[0,6,"pl-k"],[7,25,"pl-c1"]],[[4,10,"pl-k"],[11,14,"pl-smi"],[15,30,"pl-s1"],[31,32,"pl-c1"],[33,35,"pl-c1"]],[[4,7,"pl-smi"],[9,25,"pl-s1"],[26,27,"pl-c1"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[4,10,"pl-k"],[11,14,"pl-smi"],[15,34,"pl-s1"],[35,36,"pl-c1"],[37,39,"pl-c1"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[4,10,"pl-k"],[11,14,"pl-smi"],[15,27,"pl-s1"],[28,29,"pl-c1"],[30,32,"pl-c1"]],[[4,7,"pl-smi"],[9,22,"pl-s1"],[23,24,"pl-c1"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,23,"pl-c1"]],[[4,7,"pl-smi"],[9,22,"pl-s1"]],[[0,6,"pl-k"]],[[0,3,"pl-k"],[12,21,"pl-c1"]],[[4,10,"pl-k"],[11,14,"pl-smi"],[15,27,"pl-s1"],[28,29,"pl-c1"],[30,32,"pl-c1"]],[[4,7,"pl-smi"],[9,22,"pl-s1"],[23,24,"pl-c1"]],[[0,6,"pl-k"]],[],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,13,"pl-s1"]],[[4,7,"pl-smi"],[9,10,"pl-s1"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[4,7,"pl-smi"],[9,17,"pl-s1"],[19,27,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,16,"pl-s1"]],[[0,6,"pl-k"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,13,"pl-s1"]],[[4,7,"pl-smi"],[9,22,"pl-s1"]],[[4,7,"pl-smi"],[9,17,"pl-s1"]],[],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,22,"pl-c1"],[23,25,"pl-c1"],[26,29,"pl-s1"],[30,36,"pl-c1"]],[],[[1,3,"pl-c"]],[[0,62,"pl-c"]],[[0,4,"pl-c"]],[[1,9,"pl-s1"],[10,11,"pl-c1"],[13,23,"pl-en"],[24,30,"pl-s1"],[32,39,"pl-c1"],[41,43,"pl-c1"],[44,48,"pl-c1"]],[[1,9,"pl-s1"],[10,11,"pl-c1"],[13,23,"pl-en"],[24,28,"pl-s1"],[30,37,"pl-c1"],[39,41,"pl-c1"],[42,46,"pl-c1"]],[[1,3,"pl-k"],[5,13,"pl-s1"],[14,16,"pl-c1"],[17,25,"pl-s1"]],[],[[5,9,"pl-s1"],[10,11,"pl-c1"],[12,16,"pl-s1"]],[[5,9,"pl-s1"],[10,11,"pl-c1"],[12,18,"pl-s1"]],[[5,21,"pl-en"],[22,36,"pl-c1"]],[[5,9,"pl-s1"],[10,11,"pl-c1"],[12,16,"pl-s1"]],[],[],[[4,7,"pl-s1"],[8,22,"pl-c1"],[23,24,"pl-c1"]],[[0,6,"pl-k"]],[],[[4,7,"pl-k"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"],[16,17,"pl-s1"],[18,19,"pl-c1"],[20,21,"pl-c1"],[23,24,"pl-s1"],[24,26,"pl-c1"]],[[1,4,"pl-s1"],[5,21,"pl-c1"],[22,23,"pl-s1"],[25,26,"pl-c1"]],[[4,7,"pl-k"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,17,"pl-s1"],[19,20,"pl-c1"],[20,21,"pl-s1"],[23,24,"pl-s1"],[24,26,"pl-c1"]],[[1,7,"pl-k"],[9,10,"pl-c1"],[10,11,"pl-s1"]],[],[[5,9,"pl-k"],[10,17,"pl-c1"]],[[2,5,"pl-s1"],[6,22,"pl-c1"],[23,32,"pl-c1"],[34,35,"pl-c1"]],[[2,7,"pl-k"]],[[5,9,"pl-k"],[10,18,"pl-c1"]],[[2,5,"pl-s1"],[6,22,"pl-c1"],[23,33,"pl-c1"],[35,36,"pl-c1"]],[[2,7,"pl-k"]],[[5,9,"pl-k"],[10,18,"pl-c1"]],[[2,4,"pl-k"],[6,22,"pl-en"]],[[6,9,"pl-s1"],[10,26,"pl-c1"],[27,36,"pl-c1"],[38,39,"pl-c1"]],[[2,7,"pl-k"]],[[5,9,"pl-k"],[10,19,"pl-c1"]],[[2,4,"pl-k"],[6,22,"pl-en"]],[[6,9,"pl-s1"],[10,26,"pl-c1"],[27,37,"pl-c1"],[39,40,"pl-c1"]],[[2,7,"pl-k"]],[[5,9,"pl-k"],[10,16,"pl-c1"]],[[2,5,"pl-s1"],[6,22,"pl-c1"],[23,34,"pl-c1"],[36,37,"pl-c1"]],[[2,7,"pl-k"]],[[0,6,"pl-k"],[7,25,"pl-c1"]],[[5,9,"pl-k"],[10,22,"pl-c1"]],[[2,18,"pl-s1"],[19,20,"pl-c1"]],[[2,7,"pl-k"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[5,9,"pl-k"],[10,18,"pl-c1"]],[[2,5,"pl-s1"],[6,20,"pl-c1"],[21,22,"pl-c1"]],[[2,7,"pl-k"]],[[0,6,"pl-k"]],[[5,9,"pl-k"],[10,17,"pl-c1"]],[[2,46,"pl-c"]],[[2,7,"pl-k"]],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[5,9,"pl-k"],[10,20,"pl-c1"]],[[2,15,"pl-s1"],[16,17,"pl-c1"]],[[2,7,"pl-k"]],[[0,6,"pl-k"]],[[5,9,"pl-k"],[10,20,"pl-c1"]],[[0,3,"pl-k"],[12,21,"pl-c1"]],[[2,15,"pl-s1"],[16,17,"pl-c1"]],[[0,6,"pl-k"]],[[2,7,"pl-k"]],[[5,12,"pl-k"]],[[2,42,"pl-c"]],[[2,7,"pl-k"]],[],[],[[4,6,"pl-k"],[9,12,"pl-s1"],[13,19,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,17,"pl-s1"],[18,19,"pl-c1"],[20,21,"pl-c1"]],[[4,12,"pl-s1"],[13,14,"pl-c1"]],[],[[0,6,"pl-k"],[7,25,"pl-c1"]],[[4,6,"pl-k"],[8,24,"pl-s1"],[25,27,"pl-c1"],[28,43,"pl-s1"]],[],[[1,23,"pl-en"],[24,40,"pl-s1"]],[[1,16,"pl-s1"],[17,18,"pl-c1"],[19,35,"pl-s1"]],[],[[0,6,"pl-k"]],[],[[0,6,"pl-k"],[7,23,"pl-c1"]],[[4,69,"pl-c"]],[[4,57,"pl-c"]],[[4,17,"pl-s1"],[18,19,"pl-c1"],[20,35,"pl-en"]],[[4,6,"pl-k"],[9,32,"pl-en"],[35,37,"pl-c1"],[39,52,"pl-s1"]],[],[[1,61,"pl-c"]],[[1,43,"pl-c"]],[[1,2,"pl-s1"],[3,4,"pl-c1"],[5,9,"pl-s1"]],[[1,19,"pl-en"]],[[1,5,"pl-s1"],[6,7,"pl-c1"],[8,9,"pl-s1"]],[[1,14,"pl-s1"],[18,29,"pl-c1"]],[[1,3,"pl-k"],[5,18,"pl-s1"]],[[5,13,"pl-s1"],[14,15,"pl-c1"]],[[1,3,"pl-k"],[6,21,"pl-en"]],[[5,19,"pl-s1"],[20,21,"pl-c1"],[31,59,"pl-c"]],[],[[0,6,"pl-k"]],[],[[4,7,"pl-k"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"],[16,17,"pl-s1"],[18,19,"pl-c1"],[20,21,"pl-c1"],[23,24,"pl-s1"],[24,26,"pl-c1"]],[],[[1,66,"pl-c"]],[[1,66,"pl-c"]],[[1,65,"pl-c"]],[[1,30,"pl-c"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,25,"pl-c1"],[26,27,"pl-s1"],[29,31,"pl-c1"],[32,53,"pl-s1"],[54,55,"pl-s1"]],[[2,4,"pl-c1"],[5,8,"pl-s1"],[9,25,"pl-c1"],[26,27,"pl-s1"]],[[2,4,"pl-c1"],[5,11,"pl-s1"],[11,13,"pl-c1"],[13,37,"pl-c1"],[38,39,"pl-s1"]],[],[[5,7,"pl-k"],[9,10,"pl-s1"],[11,13,"pl-c1"],[14,25,"pl-c1"]],[[2,26,"pl-en"],[27,28,"pl-c1"],[28,31,"pl-s1"],[32,43,"pl-c1"]],[[3,6,"pl-s1"],[7,23,"pl-c1"],[24,25,"pl-s1"]],[[5,9,"pl-k"]],[],[[2,17,"pl-c1"],[18,20,"pl-smi"]],[[6,22,"pl-en"],[23,25,"pl-smi"],[27,28,"pl-s1"],[30,33,"pl-s1"],[34,50,"pl-s1"],[51,52,"pl-s1"]],[],[[5,7,"pl-k"],[9,12,"pl-s1"],[13,29,"pl-c1"],[30,31,"pl-s1"],[33,35,"pl-c1"],[36,57,"pl-s1"],[58,59,"pl-s1"]],[],[[2,4,"pl-k"],[6,7,"pl-s1"],[8,10,"pl-c1"],[11,22,"pl-c1"]],[[6,19,"pl-s1"],[23,34,"pl-c1"]],[[2,6,"pl-k"]],[[6,19,"pl-s1"],[23,33,"pl-c1"]],[[2,4,"pl-k"],[6,9,"pl-s1"],[10,26,"pl-c1"],[27,28,"pl-s1"]],[[6,14,"pl-s1"],[15,16,"pl-c1"]],[],[],[[1,7,"pl-s1"],[7,9,"pl-c1"],[9,33,"pl-c1"],[34,35,"pl-s1"],[37,38,"pl-c1"],[39,42,"pl-s1"],[43,59,"pl-c1"],[60,61,"pl-s1"]],[[1,22,"pl-s1"],[23,24,"pl-s1"],[26,27,"pl-c1"],[28,31,"pl-s1"],[32,48,"pl-c1"],[49,50,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,26,"pl-c1"],[27,29,"pl-c1"],[30,49,"pl-s1"]],[],[[1,61,"pl-c"]],[[1,43,"pl-c"]],[[1,2,"pl-s1"],[3,4,"pl-c1"],[5,9,"pl-s1"]],[[1,20,"pl-en"],[21,24,"pl-s1"],[25,39,"pl-c1"]],[[1,5,"pl-s1"],[6,7,"pl-c1"],[8,9,"pl-s1"]],[[1,20,"pl-s1"],[21,22,"pl-c1"],[23,26,"pl-s1"],[27,41,"pl-c1"]],[[1,14,"pl-s1"],[18,29,"pl-c1"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,23,"pl-c1"]],[[5,13,"pl-s1"],[14,15,"pl-c1"]],[],[[0,6,"pl-k"]],[],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[4,6,"pl-k"],[8,21,"pl-s1"],[22,24,"pl-c1"],[25,37,"pl-s1"]],[],[[1,21,"pl-en"],[22,35,"pl-s1"]],[[1,13,"pl-s1"],[14,15,"pl-c1"],[16,29,"pl-s1"]],[[1,14,"pl-s1"],[18,29,"pl-c1"]],[[1,3,"pl-k"],[5,18,"pl-s1"]],[[5,13,"pl-s1"],[14,15,"pl-c1"]],[],[[0,6,"pl-k"]],[[0,3,"pl-k"],[12,21,"pl-c1"],[23,25,"pl-c1"],[36,41,"pl-c1"],[43,45,"pl-c1"],[55,67,"pl-c1"]],[[4,6,"pl-k"],[8,21,"pl-s1"],[22,24,"pl-c1"],[25,37,"pl-s1"]],[],[[1,24,"pl-en"],[25,38,"pl-s1"]],[[1,13,"pl-s1"],[14,15,"pl-c1"],[16,29,"pl-s1"]],[],[[0,6,"pl-k"]],[[4,6,"pl-k"],[8,21,"pl-s1"],[22,24,"pl-c1"],[25,26,"pl-c1"]],[],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[1,5,"pl-smi"],[9,21,"pl-s1"],[22,23,"pl-c1"],[24,31,"pl-s1"]],[[1,5,"pl-smi"],[9,18,"pl-s1"],[19,20,"pl-c1"],[21,25,"pl-s1"]],[[0,6,"pl-k"]],[[1,64,"pl-c"]],[[1,64,"pl-c"]],[[1,47,"pl-c"]],[[1,18,"pl-en"],[26,34,"pl-s1"],[36,49,"pl-s1"]],[],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[1,63,"pl-c"]],[[1,65,"pl-c"]],[[1,67,"pl-c"]],[[1,62,"pl-c"]],[[1,40,"pl-c"]],[[1,61,"pl-c"]],[[1,65,"pl-c"]],[[1,43,"pl-c"]],[[1,55,"pl-c"]],[[1,54,"pl-c"]],[[1,3,"pl-k"],[6,9,"pl-s1"],[10,18,"pl-c1"],[19,21,"pl-c1"],[22,35,"pl-s1"],[36,38,"pl-c1"],[40,51,"pl-c1"],[54,64,"pl-c1"]],[[6,10,"pl-smi"],[11,21,"pl-en"]],[[1,3,"pl-k"],[6,19,"pl-s1"],[20,21,"pl-c1"],[22,33,"pl-c1"],[35,37,"pl-c1"],[38,39,"pl-c1"]],[[5,9,"pl-s1"],[10,11,"pl-c1"],[12,21,"pl-s1"]],[[1,3,"pl-k"],[6,19,"pl-s1"],[20,21,"pl-c1"],[22,32,"pl-c1"],[34,36,"pl-c1"],[37,38,"pl-c1"]],[[5,12,"pl-s1"],[13,14,"pl-c1"],[15,27,"pl-s1"]],[[0,6,"pl-k"]],[],[[4,74,"pl-c"]],[[4,14,"pl-c"]],[[4,6,"pl-k"],[8,16,"pl-s1"],[16,18,"pl-c1"],[18,26,"pl-c1"],[27,29,"pl-c1"],[30,44,"pl-en"]],[[1,15,"pl-en"],[19,60,"pl-c"]],[],[],[[0,3,"pl-k"],[12,28,"pl-c1"],[30,32,"pl-c1"],[41,46,"pl-c1"]],[[0,2,"pl-c"]],[[0,56,"pl-c"]],[[0,51,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,15,"pl-en"],[16,20,"pl-smi"]],[],[[4,10,"pl-k"],[11,14,"pl-s1"],[15,21,"pl-c1"],[22,24,"pl-c1"],[25,35,"pl-en"],[36,40,"pl-s1"],[42,52,"pl-c1"],[54,56,"pl-c1"],[57,61,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,49,"pl-c"]],[[0,27,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,14,"pl-smi"]],[[0,15,"pl-en"],[16,20,"pl-smi"]],[],[[4,6,"pl-k"],[9,24,"pl-en"]],[[5,7,"pl-c1"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,19,"pl-c1"]],[[5,7,"pl-c1"],[9,15,"pl-s1"],[16,18,"pl-c1"],[19,20,"pl-c1"],[21,23,"pl-c1"],[24,37,"pl-s1"],[37,39,"pl-c1"],[39,46,"pl-c1"],[47,49,"pl-c1"],[50,54,"pl-c1"]],[[1,7,"pl-k"]],[[4,10,"pl-k"]],[],[],[[0,2,"pl-c"]],[[0,22,"pl-c"]],[[0,64,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,18,"pl-en"],[19,23,"pl-smi"]],[],[[4,7,"pl-smi"],[12,18,"pl-s1"],[19,20,"pl-c1"],[21,36,"pl-en"]],[[4,7,"pl-smi"],[12,17,"pl-s1"],[18,19,"pl-c1"],[20,43,"pl-en"]],[],[[4,6,"pl-k"],[9,12,"pl-s1"],[13,21,"pl-c1"],[22,24,"pl-c1"],[25,33,"pl-s1"],[34,36,"pl-c1"],[37,38,"pl-c1"]],[],[[1,56,"pl-c"]],[[1,55,"pl-c"]],[[1,10,"pl-en"]],[],[[1,3,"pl-k"],[6,12,"pl-s1"],[13,15,"pl-c1"],[17,22,"pl-s1"]],[[5,25,"pl-en"],[26,32,"pl-s1"]],[[1,3,"pl-k"],[5,11,"pl-s1"],[12,14,"pl-c1"],[15,16,"pl-c1"]],[[5,27,"pl-en"]],[],[[1,62,"pl-c"]],[[1,60,"pl-c"]],[[1,3,"pl-k"],[6,12,"pl-s1"],[13,15,"pl-c1"],[17,22,"pl-s1"]],[[5,22,"pl-en"],[30,36,"pl-s1"],[38,49,"pl-c1"]],[],[],[],[[0,2,"pl-c"]],[[0,62,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,17,"pl-en"]],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,17,"pl-s1"]],[[4,7,"pl-smi"],[9,16,"pl-s1"],[18,38,"pl-c"]],[],[[4,7,"pl-smi"],[9,17,"pl-s1"],[18,19,"pl-c1"]],[[4,10,"pl-smi"],[11,14,"pl-s1"],[15,17,"pl-c1"]],[[4,7,"pl-smi"],[9,17,"pl-s1"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,13,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,13,"pl-c1"],[13,16,"pl-s1"]],[],[[4,56,"pl-c"]],[[4,7,"pl-s1"],[8,9,"pl-c1"],[11,18,"pl-s1"],[21,22,"pl-c1"],[22,27,"pl-s1"],[30,31,"pl-c1"],[31,36,"pl-s1"]],[[4,6,"pl-k"],[8,9,"pl-c1"],[9,10,"pl-c1"],[10,13,"pl-s1"],[14,16,"pl-c1"],[17,20,"pl-c1"]],[],[[1,7,"pl-smi"],[8,11,"pl-s1"],[12,20,"pl-c1"]],[[1,10,"pl-smi"],[11,12,"pl-c1"],[12,23,"pl-s1"]],[[1,7,"pl-smi"],[8,9,"pl-c1"],[9,17,"pl-s1"],[18,19,"pl-c1"],[21,27,"pl-smi"],[28,29,"pl-c1"],[31,38,"pl-s1"],[41,56,"pl-s"]],[[14,27,"pl-s"]],[],[[1,17,"pl-s1"],[18,19,"pl-c1"],[20,33,"pl-en"],[34,36,"pl-s1"]],[[0,7,"pl-k"],[8,17,"pl-c1"]],[[1,15,"pl-en"],[16,23,"pl-c1"],[25,41,"pl-s1"]],[[0,7,"pl-k"]],[[1,66,"pl-c"]],[[1,7,"pl-s1"],[7,9,"pl-c1"],[9,20,"pl-c1"],[21,22,"pl-c1"],[23,31,"pl-s1"]],[[1,7,"pl-s1"],[7,9,"pl-c1"],[9,19,"pl-c1"],[20,21,"pl-c1"],[22,29,"pl-s1"]],[[1,7,"pl-s1"],[7,9,"pl-c1"],[9,18,"pl-c1"],[19,20,"pl-c1"],[21,27,"pl-s1"]],[[1,12,"pl-s1"],[13,14,"pl-c1"],[15,21,"pl-s1"]],[[1,7,"pl-s1"],[8,9,"pl-c1"],[10,12,"pl-s1"]],[[1,9,"pl-s1"],[10,11,"pl-c1"],[12,18,"pl-s1"],[18,20,"pl-c1"],[20,31,"pl-c1"]],[[1,9,"pl-s1"],[10,11,"pl-c1"],[12,18,"pl-s1"],[18,20,"pl-c1"],[20,31,"pl-c1"]],[[1,8,"pl-s1"],[9,10,"pl-c1"],[11,17,"pl-s1"],[17,19,"pl-c1"],[19,29,"pl-c1"]],[[1,7,"pl-s1"],[8,9,"pl-c1"],[10,16,"pl-s1"],[16,18,"pl-c1"],[18,27,"pl-c1"]],[[1,7,"pl-s1"],[8,9,"pl-c1"],[10,16,"pl-s1"],[16,18,"pl-c1"],[18,26,"pl-c1"]],[],[[1,60,"pl-c"]],[[1,17,"pl-en"],[18,24,"pl-s1"],[26,29,"pl-s1"],[31,39,"pl-c1"],[41,42,"pl-c1"],[42,45,"pl-s1"],[47,55,"pl-s1"],[57,58,"pl-c1"]],[[7,8,"pl-c1"],[11,14,"pl-smi"],[15,22,"pl-s1"],[24,28,"pl-c1"],[30,34,"pl-c1"]],[[1,7,"pl-en"],[8,16,"pl-s1"],[18,21,"pl-s1"]],[],[[1,32,"pl-c"]],[[1,7,"pl-s1"],[8,9,"pl-c1"],[10,21,"pl-s1"]],[[1,9,"pl-s1"],[10,11,"pl-c1"],[12,18,"pl-s1"],[18,20,"pl-c1"],[20,31,"pl-c1"]],[[1,9,"pl-s1"],[10,11,"pl-c1"],[12,18,"pl-s1"],[18,20,"pl-c1"],[20,31,"pl-c1"]],[[1,8,"pl-s1"],[9,10,"pl-c1"],[11,17,"pl-s1"],[17,19,"pl-c1"],[19,29,"pl-c1"]],[[1,7,"pl-s1"],[8,9,"pl-c1"],[10,16,"pl-s1"],[16,18,"pl-c1"],[18,27,"pl-c1"]],[[1,7,"pl-s1"],[8,9,"pl-c1"],[10,16,"pl-s1"],[16,18,"pl-c1"],[18,26,"pl-c1"]],[],[],[[4,78,"pl-c"]],[[4,27,"pl-c"]],[[4,6,"pl-k"],[8,9,"pl-c1"],[9,10,"pl-c1"],[10,13,"pl-s1"],[14,16,"pl-c1"],[17,20,"pl-c1"],[21,23,"pl-c1"],[24,25,"pl-c1"],[25,33,"pl-s1"],[34,36,"pl-c1"],[37,40,"pl-c1"]],[],[[1,55,"pl-c"]],[[1,18,"pl-en"],[19,21,"pl-s1"],[22,24,"pl-c1"],[25,31,"pl-s1"],[34,40,"pl-s1"],[43,45,"pl-s1"],[45,47,"pl-c1"],[47,56,"pl-c1"],[56,58,"pl-c1"],[58,66,"pl-c1"]],[[1,3,"pl-k"],[6,13,"pl-s1"]],[[5,16,"pl-en"],[17,25,"pl-s1"]],[],[[1,3,"pl-s1"],[4,5,"pl-c1"],[7,9,"pl-s1"],[10,12,"pl-c1"],[13,19,"pl-s1"],[23,31,"pl-s1"],[34,36,"pl-s1"],[36,38,"pl-c1"],[38,49,"pl-c1"]],[[1,4,"pl-k"],[6,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,22,"pl-s1"],[23,25,"pl-c1"],[26,30,"pl-c1"],[32,34,"pl-s1"],[35,36,"pl-c1"],[37,39,"pl-s1"],[39,41,"pl-c1"],[41,47,"pl-c1"],[49,51,"pl-c1"],[51,59,"pl-s1"]],[[5,7,"pl-k"],[9,21,"pl-en"],[22,24,"pl-s1"],[24,26,"pl-c1"],[26,34,"pl-c1"]],[[2,10,"pl-s1"],[11,12,"pl-c1"]],[[1,3,"pl-k"],[5,13,"pl-s1"],[14,16,"pl-c1"],[17,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-c1"]],[],[[5,7,"pl-k"],[9,17,"pl-s1"],[18,19,"pl-c1"],[20,21,"pl-c1"]],[[2,14,"pl-en"],[16,20,"pl-smi"],[21,22,"pl-c1"],[23,26,"pl-s1"],[28,34,"pl-k"],[35,38,"pl-s1"],[41,45,"pl-s"],[47,55,"pl-s1"]],[[5,9,"pl-k"]],[[2,5,"pl-s1"],[6,7,"pl-c1"],[9,10,"pl-c1"],[11,14,"pl-c1"]],[[5,7,"pl-k"],[9,17,"pl-s1"]],[[2,8,"pl-en"],[9,12,"pl-s1"],[14,17,"pl-s"]],[[5,11,"pl-en"],[12,15,"pl-s1"],[17,20,"pl-s"]],[[5,12,"pl-en"],[13,21,"pl-s1"],[22,23,"pl-c1"],[24,30,"pl-en"],[31,34,"pl-s1"],[37,45,"pl-s1"]],[[5,16,"pl-en"],[17,25,"pl-s1"],[27,30,"pl-s1"],[32,38,"pl-en"],[39,42,"pl-s1"]],[],[],[],[],[[0,2,"pl-c"]],[[0,55,"pl-c"]],[[0,76,"pl-c"]],[[0,47,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,18,"pl-en"],[19,22,"pl-smi"],[23,25,"pl-s1"]],[],[[4,10,"pl-smi"],[11,17,"pl-s1"],[18,19,"pl-c1"]],[],[[4,6,"pl-k"],[8,10,"pl-s1"],[11,13,"pl-c1"],[14,27,"pl-en"],[28,34,"pl-s1"]],[[1,7,"pl-k"]],[],[[4,47,"pl-c"]],[[4,6,"pl-k"],[8,23,"pl-s1"],[24,26,"pl-c1"],[27,38,"pl-s1"],[39,41,"pl-c1"],[42,43,"pl-c1"]],[],[[1,40,"pl-c"]],[[1,19,"pl-en"],[20,33,"pl-en"],[34,40,"pl-s1"]],[[1,7,"pl-k"]],[],[],[[4,10,"pl-s1"],[11,12,"pl-c1"],[14,15,"pl-c1"],[16,19,"pl-c1"]],[[4,10,"pl-s1"],[11,12,"pl-c1"],[14,15,"pl-c1"],[16,26,"pl-c1"]],[[4,10,"pl-s1"],[11,12,"pl-c1"],[14,15,"pl-c1"],[16,25,"pl-c1"]],[[4,20,"pl-en"],[21,27,"pl-s1"],[29,30,"pl-c1"]],[[4,10,"pl-s1"],[11,12,"pl-c1"],[14,15,"pl-c1"],[16,18,"pl-s1"]],[[4,24,"pl-en"],[25,31,"pl-s1"],[33,34,"pl-c1"]],[[4,10,"pl-k"]],[],[],[[0,2,"pl-c"]],[[0,28,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,23,"pl-en"],[24,27,"pl-smi"],[28,34,"pl-s1"],[36,39,"pl-smi"],[40,45,"pl-s1"]],[],[[4,10,"pl-smi"],[15,21,"pl-s1"],[22,23,"pl-c1"]],[],[[4,47,"pl-c"]],[[4,6,"pl-k"],[8,23,"pl-s1"]],[[1,7,"pl-k"]],[],[[4,37,"pl-c"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,16,"pl-c1"],[17,35,"pl-c1"],[36,38,"pl-c1"],[39,52,"pl-s1"],[52,54,"pl-c1"],[54,61,"pl-c1"],[62,64,"pl-c1"],[65,69,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,10,"pl-s1"],[11,12,"pl-c1"],[14,15,"pl-c1"],[16,19,"pl-c1"]],[[4,10,"pl-s1"],[11,12,"pl-c1"],[14,15,"pl-c1"],[16,26,"pl-c1"]],[[4,10,"pl-s1"],[11,12,"pl-c1"],[14,15,"pl-c1"],[16,25,"pl-c1"]],[[4,20,"pl-en"],[21,27,"pl-s1"],[29,30,"pl-c1"]],[[4,10,"pl-s1"],[11,12,"pl-c1"],[14,15,"pl-c1"],[16,22,"pl-s1"]],[[4,10,"pl-s1"],[11,12,"pl-c1"],[14,15,"pl-c1"],[17,23,"pl-smi"],[25,29,"pl-smi"],[30,35,"pl-s1"]],[[4,24,"pl-en"],[25,31,"pl-s1"],[33,34,"pl-c1"]],[],[],[[0,6,"pl-k"]],[],[[0,2,"pl-c"]],[[0,19,"pl-c"]],[[0,3,"pl-c"]],[],[[0,2,"pl-c"]],[[0,69,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,21,"pl-en"],[22,26,"pl-smi"]],[],[[4,7,"pl-smi"],[12,13,"pl-s1"]],[[4,9,"pl-smi"],[12,13,"pl-c1"],[13,15,"pl-s1"]],[],[[4,7,"pl-k"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"],[16,17,"pl-s1"],[18,19,"pl-c1"],[20,21,"pl-c1"],[23,24,"pl-s1"],[24,26,"pl-c1"]],[],[[1,3,"pl-k"],[5,6,"pl-s1"],[7,9,"pl-c1"],[10,21,"pl-c1"]],[[5,29,"pl-en"],[30,31,"pl-c1"],[31,34,"pl-s1"],[35,46,"pl-c1"]],[[1,5,"pl-k"]],[],[[5,20,"pl-c1"],[21,23,"pl-smi"]],[[2,18,"pl-en"],[19,21,"pl-smi"],[23,24,"pl-smi"],[26,31,"pl-smi"]],[],[[1,7,"pl-s1"],[7,9,"pl-c1"],[9,33,"pl-c1"],[34,35,"pl-s1"],[37,38,"pl-c1"],[39,41,"pl-c1"]],[],[],[],[[4,8,"pl-smi"]],[[0,20,"pl-en"],[21,32,"pl-smi"],[33,34,"pl-c1"],[34,36,"pl-s1"],[38,41,"pl-smi"],[42,46,"pl-s1"],[48,53,"pl-smi"],[54,55,"pl-c1"],[55,57,"pl-s1"]],[],[[4,10,"pl-k"],[11,14,"pl-smi"],[15,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-c1"]],[],[[4,6,"pl-s1"],[6,8,"pl-c1"],[8,13,"pl-c1"],[14,15,"pl-c1"],[16,26,"pl-s1"],[26,28,"pl-c1"],[30,75,"pl-c"]],[[4,6,"pl-s1"],[6,8,"pl-c1"],[8,10,"pl-c1"],[11,12,"pl-c1"],[13,15,"pl-s1"]],[[4,6,"pl-s1"],[6,8,"pl-c1"],[8,12,"pl-c1"],[13,14,"pl-c1"],[15,19,"pl-s1"]],[[4,6,"pl-s1"],[6,8,"pl-c1"],[8,13,"pl-c1"],[14,15,"pl-c1"],[16,17,"pl-c1"]],[[4,6,"pl-s1"],[6,8,"pl-c1"],[8,12,"pl-c1"],[13,14,"pl-c1"],[15,16,"pl-c1"]],[[4,6,"pl-s1"],[6,8,"pl-c1"],[8,11,"pl-c1"],[12,13,"pl-c1"],[14,15,"pl-c1"]],[[4,6,"pl-s1"],[6,8,"pl-c1"],[8,11,"pl-c1"],[12,13,"pl-c1"],[14,15,"pl-c1"]],[[4,6,"pl-s1"],[6,8,"pl-c1"],[8,14,"pl-c1"],[15,16,"pl-c1"],[17,18,"pl-c1"]],[[4,6,"pl-s1"],[6,8,"pl-c1"],[8,13,"pl-c1"],[14,15,"pl-c1"],[16,17,"pl-c1"]],[[4,6,"pl-s1"],[6,8,"pl-c1"],[8,21,"pl-c1"],[22,23,"pl-c1"],[24,25,"pl-c1"]],[[4,28,"pl-en"],[29,31,"pl-s1"],[34,36,"pl-s1"],[37,39,"pl-c1"],[40,44,"pl-c1"],[48,58,"pl-c1"],[61,70,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,43,"pl-c"]],[[0,3,"pl-c"]],[[4,15,"pl-smi"],[16,17,"pl-c1"]],[[0,18,"pl-en"],[19,23,"pl-smi"],[24,29,"pl-s1"]],[],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,13,"pl-s1"]],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,23,"pl-c1"],[24,29,"pl-c1"],[30,32,"pl-c1"],[33,38,"pl-s1"]],[[1,7,"pl-k"],[8,9,"pl-c1"],[9,12,"pl-s1"],[13,24,"pl-c1"]],[[4,19,"pl-smi"],[20,22,"pl-s1"]],[],[[1,3,"pl-k"],[5,7,"pl-s1"],[7,9,"pl-c1"],[9,21,"pl-c1"],[22,31,"pl-c1"],[33,38,"pl-c1"],[39,41,"pl-c1"],[42,47,"pl-s1"]],[[5,11,"pl-k"],[12,13,"pl-c1"],[13,15,"pl-s1"],[15,17,"pl-c1"],[17,29,"pl-c1"],[30,39,"pl-c1"]],[[1,3,"pl-k"],[5,7,"pl-s1"],[7,9,"pl-c1"],[9,21,"pl-c1"],[22,32,"pl-c1"],[34,39,"pl-c1"],[40,42,"pl-c1"],[43,48,"pl-s1"]],[[5,11,"pl-k"],[12,13,"pl-c1"],[13,15,"pl-s1"],[15,17,"pl-c1"],[17,29,"pl-c1"],[30,40,"pl-c1"]],[],[[4,10,"pl-k"],[11,15,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,76,"pl-c"]],[[0,2,"pl-c"]],[[0,35,"pl-c"]],[[0,75,"pl-c"]],[[0,75,"pl-c"]],[[0,71,"pl-c"]],[[0,57,"pl-c"]],[[0,73,"pl-c"]],[[0,61,"pl-c"]],[[0,2,"pl-c"]],[[0,65,"pl-c"]],[[0,74,"pl-c"]],[[0,40,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,18,"pl-en"],[19,30,"pl-smi"],[31,32,"pl-c1"],[32,34,"pl-s1"],[36,40,"pl-smi"],[41,46,"pl-s1"],[48,51,"pl-smi"],[52,66,"pl-s1"]],[],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,13,"pl-s1"]],[[4,7,"pl-smi"],[9,15,"pl-s1"]],[[0,6,"pl-k"],[7,24,"pl-c1"]],[[4,11,"pl-smi"],[12,23,"pl-s1"],[24,25,"pl-c1"],[26,32,"pl-s1"],[32,34,"pl-c1"],[34,43,"pl-c1"]],[[4,12,"pl-smi"],[13,24,"pl-s1"],[25,26,"pl-c1"],[27,33,"pl-s1"],[33,35,"pl-c1"],[35,44,"pl-c1"]],[[0,7,"pl-k"],[8,17,"pl-c1"]],[[4,7,"pl-smi"],[9,20,"pl-s1"],[21,22,"pl-c1"],[23,29,"pl-s1"],[29,31,"pl-c1"],[31,40,"pl-c1"]],[[0,7,"pl-k"]],[[0,5,"pl-k"]],[[4,10,"pl-smi"],[11,16,"pl-s1"],[17,23,"pl-k"],[24,30,"pl-s1"]],[[4,7,"pl-smi"],[9,19,"pl-s1"]],[[0,6,"pl-k"]],[],[[4,6,"pl-k"],[8,10,"pl-s1"],[11,13,"pl-c1"],[14,18,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,47,"pl-c"]],[[4,6,"pl-k"],[8,23,"pl-s1"]],[[1,7,"pl-k"]],[],[[4,6,"pl-k"],[8,19,"pl-s1"],[20,22,"pl-c1"],[23,24,"pl-c1"],[25,27,"pl-c1"],[28,30,"pl-s1"],[30,32,"pl-c1"],[32,34,"pl-c1"],[35,37,"pl-c1"],[38,48,"pl-s1"]],[[1,7,"pl-k"]],[],[[4,6,"pl-k"],[8,22,"pl-s1"]],[],[[1,3,"pl-k"],[5,7,"pl-s1"],[7,9,"pl-c1"],[9,11,"pl-c1"],[12,14,"pl-c1"],[15,19,"pl-c1"]],[[5,8,"pl-s1"],[9,19,"pl-c1"],[20,21,"pl-c1"],[22,33,"pl-c1"]],[[1,5,"pl-k"],[6,8,"pl-k"],[10,12,"pl-s1"],[13,15,"pl-c1"],[16,17,"pl-c1"],[17,19,"pl-s1"],[19,21,"pl-c1"],[21,23,"pl-c1"],[23,25,"pl-c1"],[25,37,"pl-c1"],[38,47,"pl-c1"]],[[5,8,"pl-s1"],[9,19,"pl-c1"],[20,21,"pl-c1"],[22,31,"pl-c1"]],[[1,5,"pl-k"]],[[5,8,"pl-s1"],[9,19,"pl-c1"],[20,21,"pl-c1"],[22,32,"pl-c1"]],[[1,4,"pl-s1"],[5,15,"pl-c1"],[16,17,"pl-c1"],[18,20,"pl-s1"],[20,22,"pl-c1"],[22,24,"pl-c1"]],[],[[4,8,"pl-k"]],[],[[1,4,"pl-s1"],[5,15,"pl-c1"],[16,17,"pl-c1"],[18,27,"pl-c1"]],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[1,71,"pl-c"]],[[1,69,"pl-c"]],[[1,4,"pl-s1"],[5,15,"pl-c1"],[16,17,"pl-c1"],[18,22,"pl-c1"]],[[0,6,"pl-k"]],[],[],[[4,66,"pl-c"]],[[4,6,"pl-k"],[8,10,"pl-s1"],[10,12,"pl-c1"],[12,14,"pl-c1"],[15,17,"pl-c1"],[18,22,"pl-c1"]],[[1,3,"pl-s1"],[4,5,"pl-c1"],[6,7,"pl-c1"],[7,9,"pl-s1"],[9,11,"pl-c1"],[11,13,"pl-c1"],[13,15,"pl-c1"],[15,27,"pl-c1"],[28,29,"pl-c1"]],[],[[4,6,"pl-c"]],[[0,30,"pl-c"]],[[0,7,"pl-c"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,15,"pl-c1"],[16,17,"pl-c1"]],[[1,6,"pl-s1"],[7,8,"pl-c1"],[9,10,"pl-c1"]],[[0,6,"pl-k"],[7,22,"pl-c1"]],[[4,8,"pl-smi"],[9,11,"pl-en"],[13,18,"pl-smi"],[19,20,"pl-c1"],[21,23,"pl-s1"],[23,25,"pl-c1"],[25,28,"pl-s1"]],[[1,6,"pl-s1"],[7,8,"pl-c1"],[9,11,"pl-s1"],[11,13,"pl-c1"],[13,16,"pl-c1"]],[[0,5,"pl-k"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,15,"pl-c1"],[16,18,"pl-s1"],[18,20,"pl-c1"],[20,23,"pl-c1"],[24,25,"pl-c1"],[26,28,"pl-s1"],[28,30,"pl-c1"],[30,34,"pl-c1"],[35,36,"pl-c1"],[37,38,"pl-c1"]],[[1,6,"pl-s1"],[7,8,"pl-c1"],[9,11,"pl-s1"],[11,13,"pl-c1"],[13,16,"pl-c1"],[17,18,"pl-c1"],[19,21,"pl-s1"],[21,23,"pl-c1"],[23,27,"pl-c1"],[28,29,"pl-c1"],[30,31,"pl-c1"]],[[0,6,"pl-k"]],[],[[4,6,"pl-s1"],[6,8,"pl-c1"],[8,13,"pl-c1"],[14,15,"pl-c1"],[16,21,"pl-s1"]],[],[[0,6,"pl-k"],[7,24,"pl-c1"]],[[4,62,"pl-c"]],[[4,78,"pl-c"]],[[4,61,"pl-c"]],[[4,6,"pl-k"],[8,19,"pl-s1"]],[[1,7,"pl-k"]],[[0,6,"pl-k"]],[[4,78,"pl-c"]],[[4,15,"pl-c"]],[[4,6,"pl-k"],[9,11,"pl-s1"],[11,13,"pl-c1"],[13,15,"pl-c1"],[16,18,"pl-c1"],[19,23,"pl-c1"],[24,26,"pl-c1"],[27,29,"pl-s1"],[29,31,"pl-c1"],[31,33,"pl-c1"],[34,36,"pl-c1"],[37,43,"pl-s1"],[45,47,"pl-c1"],[48,59,"pl-en"]],[[1,7,"pl-k"]],[],[[0,6,"pl-k"],[7,21,"pl-c1"]],[[4,6,"pl-k"],[8,10,"pl-s1"],[10,12,"pl-c1"],[12,14,"pl-c1"],[15,17,"pl-c1"],[18,22,"pl-c1"],[23,25,"pl-c1"],[26,32,"pl-s1"],[32,34,"pl-c1"],[34,40,"pl-c1"]],[],[[1,6,"pl-s1"],[7,8,"pl-c1"],[9,11,"pl-s1"],[11,13,"pl-c1"],[13,16,"pl-c1"],[17,18,"pl-c1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[23,25,"pl-s1"],[25,27,"pl-c1"],[27,31,"pl-c1"],[32,33,"pl-c1"],[34,39,"pl-s1"]],[[1,3,"pl-k"],[5,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"]],[[5,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"]],[],[[0,6,"pl-k"]],[],[[4,6,"pl-k"],[8,10,"pl-s1"],[10,12,"pl-c1"],[12,14,"pl-c1"],[15,17,"pl-c1"],[18,22,"pl-c1"],[25,46,"pl-c"]],[],[[1,7,"pl-s1"],[8,9,"pl-c1"],[10,11,"pl-c1"]],[[1,4,"pl-k"],[6,8,"pl-s1"],[9,10,"pl-c1"],[11,19,"pl-s1"],[21,23,"pl-s1"],[24,26,"pl-c1"],[27,29,"pl-s1"],[29,31,"pl-c1"],[31,33,"pl-c1"],[34,36,"pl-c1"],[37,39,"pl-s1"],[40,42,"pl-c1"],[43,47,"pl-c1"],[49,51,"pl-s1"],[52,53,"pl-c1"],[54,56,"pl-s1"],[56,58,"pl-c1"],[58,64,"pl-c1"]],[[5,11,"pl-s1"],[11,13,"pl-c1"]],[[1,3,"pl-k"],[5,7,"pl-s1"],[8,10,"pl-c1"],[11,15,"pl-c1"]],[[5,11,"pl-k"]],[],[[0,6,"pl-k"],[7,24,"pl-c1"]],[[1,18,"pl-s1"],[19,20,"pl-c1"],[21,27,"pl-s1"]],[[1,16,"pl-s1"],[17,18,"pl-c1"],[19,24,"pl-s1"]],[[1,3,"pl-k"],[5,10,"pl-s1"],[11,12,"pl-c1"],[13,24,"pl-c1"]],[],[[5,18,"pl-en"]],[[5,14,"pl-en"]],[],[[1,5,"pl-k"],[6,8,"pl-k"],[10,15,"pl-s1"],[16,17,"pl-c1"],[18,29,"pl-c1"]],[],[[5,15,"pl-en"]],[[5,14,"pl-en"]],[],[[1,5,"pl-k"],[6,8,"pl-k"],[10,15,"pl-s1"],[16,17,"pl-c1"],[18,30,"pl-c1"]],[],[[5,7,"pl-k"],[9,21,"pl-s1"],[22,24,"pl-c1"],[25,26,"pl-c1"]],[],[[2,15,"pl-en"]],[[2,15,"pl-en"]],[],[],[[0,7,"pl-k"],[8,20,"pl-c1"]],[[1,48,"pl-c"]],[[1,3,"pl-s1"],[3,5,"pl-c1"],[5,10,"pl-c1"],[11,12,"pl-c1"],[13,15,"pl-s1"],[15,17,"pl-c1"],[17,19,"pl-c1"],[19,21,"pl-c1"],[21,30,"pl-c1"],[31,32,"pl-c1"],[33,34,"pl-c1"]],[[0,7,"pl-k"]],[],[[1,69,"pl-c"]],[[1,40,"pl-c"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,25,"pl-c1"],[26,36,"pl-c1"],[38,40,"pl-c1"],[41,44,"pl-s1"],[45,61,"pl-c1"],[62,71,"pl-c1"]],[[5,32,"pl-en"]],[[6,7,"pl-c1"],[7,9,"pl-s1"],[9,11,"pl-c1"],[11,13,"pl-c1"],[13,15,"pl-c1"],[15,27,"pl-c1"]],[[7,9,"pl-s1"],[10,12,"pl-c1"],[13,14,"pl-c1"],[14,16,"pl-s1"],[16,18,"pl-c1"],[18,20,"pl-c1"],[20,22,"pl-c1"],[22,34,"pl-c1"],[35,45,"pl-c1"]],[[12,21,"pl-c1"],[24,34,"pl-c1"]],[[6,8,"pl-s1"],[8,10,"pl-c1"],[10,15,"pl-c1"],[17,19,"pl-s1"],[19,21,"pl-c1"],[21,25,"pl-c1"],[27,29,"pl-s1"],[29,31,"pl-c1"],[31,34,"pl-c1"]],[],[[0,5,"pl-k"]],[[1,6,"pl-s1"],[7,8,"pl-c1"],[10,11,"pl-c1"],[12,15,"pl-c1"]],[[1,6,"pl-s1"],[7,8,"pl-c1"],[10,11,"pl-c1"],[12,28,"pl-c1"]],[[1,6,"pl-s1"],[7,8,"pl-c1"],[10,11,"pl-c1"],[12,21,"pl-c1"]],[[1,6,"pl-s1"],[7,8,"pl-c1"],[10,11,"pl-c1"],[13,19,"pl-smi"],[20,26,"pl-s1"]],[[1,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"]],[[0,6,"pl-k"]],[],[[4,8,"pl-k"]],[],[[0,6,"pl-k"],[7,24,"pl-c1"]],[[1,16,"pl-s1"],[17,18,"pl-c1"],[19,24,"pl-s1"]],[],[[1,3,"pl-k"],[5,10,"pl-s1"],[11,12,"pl-c1"],[13,24,"pl-c1"]],[[5,25,"pl-en"],[26,41,"pl-s1"]],[[1,5,"pl-k"],[6,8,"pl-k"],[10,15,"pl-s1"],[16,17,"pl-c1"],[18,29,"pl-c1"]],[[5,18,"pl-en"]],[[1,5,"pl-k"],[6,8,"pl-k"],[10,15,"pl-s1"],[16,17,"pl-c1"],[18,30,"pl-c1"]],[],[[5,7,"pl-k"],[9,21,"pl-s1"],[22,24,"pl-c1"],[25,26,"pl-c1"]],[],[[2,22,"pl-en"],[23,38,"pl-s1"]],[[2,15,"pl-en"]],[],[],[[1,3,"pl-k"],[5,16,"pl-s1"],[17,19,"pl-c1"],[20,26,"pl-s1"],[26,28,"pl-c1"],[28,37,"pl-c1"]],[],[[5,17,"pl-en"],[18,24,"pl-s1"],[29,65,"pl-c"]],[[5,14,"pl-en"]],[],[[0,5,"pl-k"]],[[1,6,"pl-s1"],[7,8,"pl-c1"],[10,11,"pl-c1"],[12,15,"pl-c1"]],[[1,6,"pl-s1"],[7,8,"pl-c1"],[10,11,"pl-c1"],[12,28,"pl-c1"]],[[1,6,"pl-s1"],[7,8,"pl-c1"],[10,11,"pl-c1"],[12,21,"pl-c1"]],[[1,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"]],[[0,6,"pl-k"]],[],[],[[0,6,"pl-k"],[7,24,"pl-c1"]],[[4,6,"pl-c"]],[[0,72,"pl-c"]],[[0,7,"pl-c"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[14,16,"pl-c1"],[16,23,"pl-c1"]],[[5,7,"pl-c1"],[10,12,"pl-s1"],[12,14,"pl-c1"],[14,16,"pl-c1"],[17,19,"pl-c1"],[20,24,"pl-c1"],[25,27,"pl-c1"],[28,34,"pl-s1"],[34,36,"pl-c1"],[36,45,"pl-c1"],[46,48,"pl-c1"],[49,60,"pl-s1"]],[[2,4,"pl-c1"],[6,8,"pl-s1"],[8,10,"pl-c1"],[10,12,"pl-c1"],[13,15,"pl-c1"],[16,22,"pl-s1"],[23,25,"pl-c1"],[27,33,"pl-s1"],[33,35,"pl-c1"],[35,44,"pl-c1"],[45,47,"pl-c1"],[48,59,"pl-s1"]],[[0,7,"pl-k"],[8,17,"pl-c1"]],[[8,10,"pl-c1"],[11,17,"pl-s1"],[17,19,"pl-c1"],[19,28,"pl-c1"],[29,31,"pl-c1"],[32,43,"pl-s1"]],[[0,7,"pl-k"]],[],[],[[1,20,"pl-en"]],[[1,40,"pl-c"]],[[1,16,"pl-c1"],[17,19,"pl-smi"]],[[5,7,"pl-en"],[9,11,"pl-smi"],[11,13,"pl-c1"],[13,24,"pl-s1"],[25,26,"pl-c1"],[27,28,"pl-c1"]],[[2,14,"pl-en"],[15,17,"pl-s1"]],[[1,10,"pl-en"]],[],[[4,20,"pl-en"]],[[0,5,"pl-k"]],[[4,20,"pl-en"],[21,26,"pl-s1"],[28,38,"pl-s1"]],[[4,19,"pl-en"],[21,27,"pl-smi"],[28,33,"pl-s1"],[35,40,"pl-s1"]],[[4,24,"pl-en"],[25,30,"pl-s1"],[32,38,"pl-k"],[39,45,"pl-s1"]],[[0,6,"pl-k"]],[],[],[[0,2,"pl-c"]],[[0,19,"pl-c"]],[[0,3,"pl-c"]],[],[[0,2,"pl-c"]],[[0,58,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,25,"pl-en"],[26,30,"pl-smi"]],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,18,"pl-c1"],[19,21,"pl-c1"],[22,30,"pl-s1"],[31,33,"pl-c1"],[34,35,"pl-c1"]],[],[[1,10,"pl-en"]],[[1,26,"pl-en"],[27,31,"pl-c1"]],[[1,22,"pl-en"]],[],[[4,22,"pl-s1"],[23,24,"pl-c1"]],[],[],[[4,8,"pl-smi"]],[[0,21,"pl-en"]],[[4,7,"pl-smi"],[9,14,"pl-s1"],[20,58,"pl-c"]],[],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,13,"pl-s1"]],[[4,15,"pl-smi"],[16,17,"pl-c1"],[17,19,"pl-s1"]],[[4,8,"pl-smi"],[9,12,"pl-s1"],[14,18,"pl-s1"],[20,23,"pl-s1"],[26,46,"pl-c"]],[[4,7,"pl-smi"],[9,17,"pl-s1"]],[[4,7,"pl-smi"],[9,10,"pl-s1"],[12,13,"pl-s1"]],[[4,10,"pl-k"],[11,16,"pl-smi"],[17,18,"pl-c1"],[18,29,"pl-s1"],[30,31,"pl-c1"],[32,36,"pl-c1"]],[],[[4,38,"pl-c"]],[[4,30,"pl-en"],[31,36,"pl-s1"]],[],[[0,7,"pl-k"],[8,13,"pl-c1"]],[[4,75,"pl-c"]],[[4,70,"pl-c"]],[[4,6,"pl-k"],[9,12,"pl-s1"],[13,29,"pl-c1"],[30,39,"pl-c1"],[41,43,"pl-c1"],[45,48,"pl-s1"],[49,65,"pl-c1"],[66,76,"pl-c1"]],[[1,7,"pl-k"]],[[0,6,"pl-k"]],[],[[4,6,"pl-c"]],[[0,75,"pl-c"]],[[0,78,"pl-c"]],[[0,36,"pl-c"]],[[0,7,"pl-c"]],[[4,6,"pl-k"],[9,14,"pl-s1"],[15,17,"pl-c1"],[19,22,"pl-s1"],[23,33,"pl-c1"],[34,36,"pl-c1"],[37,46,"pl-c1"],[47,49,"pl-c1"],[50,53,"pl-s1"],[54,64,"pl-c1"],[65,67,"pl-c1"],[68,78,"pl-c1"]],[[5,7,"pl-c1"],[8,11,"pl-s1"],[12,28,"pl-c1"],[29,38,"pl-c1"]],[[5,7,"pl-c1"],[8,11,"pl-s1"],[12,28,"pl-c1"],[29,39,"pl-c1"]],[],[[1,3,"pl-c"]],[[0,68,"pl-c"]],[[0,70,"pl-c"]],[[0,4,"pl-c"]],[[1,9,"pl-s1"],[10,11,"pl-c1"],[12,21,"pl-c1"],[22,23,"pl-c1"],[24,34,"pl-c1"],[35,36,"pl-c1"],[37,40,"pl-s1"],[41,51,"pl-c1"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,19,"pl-c1"],[20,22,"pl-c1"],[23,27,"pl-c1"]],[[5,32,"pl-en"]],[[6,7,"pl-c1"],[7,10,"pl-s1"],[11,21,"pl-c1"],[21,23,"pl-c1"],[23,35,"pl-c1"],[36,44,"pl-s1"]],[[6,9,"pl-s1"],[10,20,"pl-c1"],[20,22,"pl-c1"],[22,34,"pl-c1"],[35,36,"pl-c1"],[38,43,"pl-c1"]],[[6,9,"pl-s1"],[10,20,"pl-c1"],[20,22,"pl-c1"],[22,34,"pl-c1"],[35,36,"pl-c1"],[38,42,"pl-c1"]],[[6,9,"pl-s1"],[10,20,"pl-c1"],[20,22,"pl-c1"],[22,34,"pl-c1"],[35,36,"pl-c1"],[38,41,"pl-c1"]],[],[],[[4,59,"pl-c"]],[[4,6,"pl-c1"],[6,21,"pl-s1"]],[],[[4,19,"pl-smi"],[20,22,"pl-s1"]],[],[[1,3,"pl-k"],[5,7,"pl-s1"],[7,9,"pl-c1"],[9,17,"pl-c1"],[18,20,"pl-c1"],[21,25,"pl-c1"],[27,42,"pl-c"]],[[5,13,"pl-k"]],[[1,43,"pl-c"]],[[1,3,"pl-k"],[6,11,"pl-s1"],[12,14,"pl-c1"],[16,19,"pl-s1"],[20,30,"pl-c1"],[31,33,"pl-c1"],[34,43,"pl-c1"]],[[10,12,"pl-c1"],[13,16,"pl-s1"],[17,27,"pl-c1"],[28,30,"pl-c1"],[31,41,"pl-c1"]],[[2,4,"pl-c1"],[5,8,"pl-s1"],[9,19,"pl-c1"],[20,22,"pl-c1"],[23,25,"pl-s1"]],[[5,13,"pl-k"]],[],[[0,6,"pl-k"],[7,22,"pl-c1"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,9,"pl-s1"],[9,11,"pl-c1"],[11,19,"pl-c1"],[19,21,"pl-c1"],[21,25,"pl-c1"],[26,39,"pl-c1"],[40,41,"pl-c1"],[42,43,"pl-c1"]],[[0,5,"pl-k"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,9,"pl-s1"],[9,11,"pl-c1"],[11,19,"pl-c1"],[19,21,"pl-c1"],[21,25,"pl-c1"],[26,39,"pl-c1"],[40,41,"pl-c1"],[42,44,"pl-s1"],[44,46,"pl-c1"],[46,54,"pl-c1"],[55,56,"pl-c1"],[57,58,"pl-c1"]],[[0,6,"pl-k"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,10,"pl-c1"],[11,12,"pl-c1"],[16,31,"pl-c"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[11,12,"pl-c1"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,9,"pl-s1"],[9,11,"pl-c1"],[11,20,"pl-c1"],[21,22,"pl-c1"],[23,24,"pl-c1"]],[[1,5,"pl-s1"],[6,7,"pl-c1"],[8,10,"pl-s1"],[10,12,"pl-c1"],[12,20,"pl-c1"]],[[0,6,"pl-k"],[7,22,"pl-c1"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,10,"pl-c1"],[11,14,"pl-s1"],[18,33,"pl-c"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[11,14,"pl-s1"]],[[0,5,"pl-k"]],[[1,3,"pl-k"],[5,9,"pl-s1"],[10,11,"pl-c1"],[12,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[22,37,"pl-c"]],[[5,9,"pl-s1"],[10,11,"pl-c1"],[12,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,10,"pl-c1"],[11,14,"pl-s1"],[15,16,"pl-c1"],[17,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-c1"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[11,14,"pl-s1"],[15,16,"pl-c1"],[17,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-c1"]],[[0,6,"pl-k"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,10,"pl-c1"],[11,12,"pl-c1"],[16,37,"pl-c"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[11,12,"pl-c1"]],[],[[1,3,"pl-c"]],[[0,69,"pl-c"]],[[0,72,"pl-c"]],[[0,16,"pl-c"]],[[0,4,"pl-c"]],[[1,3,"pl-s1"],[4,5,"pl-c1"],[6,7,"pl-c1"],[7,9,"pl-s1"],[9,11,"pl-c1"],[11,23,"pl-c1"],[24,25,"pl-c1"]],[],[[1,3,"pl-c"]],[[0,61,"pl-c"]],[[0,44,"pl-c"]],[[0,4,"pl-c"]],[[1,3,"pl-k"],[5,9,"pl-s1"],[10,11,"pl-c1"],[12,13,"pl-c1"],[14,16,"pl-c1"],[17,19,"pl-s1"],[19,21,"pl-c1"],[21,30,"pl-c1"],[31,32,"pl-c1"],[33,34,"pl-c1"],[35,36,"pl-c1"],[37,40,"pl-s1"]],[],[[5,7,"pl-c"]],[[0,69,"pl-c"]],[[0,26,"pl-c"]],[[0,8,"pl-c"]],[[5,7,"pl-s1"],[7,9,"pl-c1"],[9,15,"pl-c1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[25,50,"pl-c"]],[[5,7,"pl-k"],[9,12,"pl-s1"],[13,29,"pl-c1"],[30,39,"pl-c1"]],[[2,18,"pl-en"],[19,21,"pl-s1"],[23,32,"pl-c1"]],[[5,7,"pl-k"],[9,12,"pl-s1"],[13,29,"pl-c1"],[30,40,"pl-c1"]],[[2,18,"pl-en"],[19,21,"pl-s1"],[23,33,"pl-c1"]],[[5,13,"pl-k"]],[],[[1,3,"pl-k"],[5,10,"pl-s1"],[11,13,"pl-c1"],[14,16,"pl-s1"],[16,18,"pl-c1"],[18,24,"pl-c1"],[25,27,"pl-c1"],[28,30,"pl-s1"],[30,32,"pl-c1"],[32,40,"pl-c1"]],[[5,7,"pl-c1"],[8,10,"pl-s1"],[10,12,"pl-c1"],[12,15,"pl-c1"],[16,18,"pl-c1"],[19,21,"pl-s1"],[21,23,"pl-c1"],[23,31,"pl-c1"]],[[5,7,"pl-c1"],[8,10,"pl-s1"],[10,12,"pl-c1"],[12,25,"pl-c1"],[26,28,"pl-c1"],[29,31,"pl-s1"],[31,33,"pl-c1"],[33,48,"pl-c1"]],[[5,7,"pl-c1"],[8,10,"pl-s1"],[10,12,"pl-c1"],[12,17,"pl-c1"],[18,20,"pl-c1"],[21,23,"pl-s1"],[23,25,"pl-c1"],[25,32,"pl-c1"]],[[5,7,"pl-c1"],[8,19,"pl-s1"],[20,22,"pl-c1"],[23,29,"pl-s1"]],[],[[5,64,"pl-c"]],[[5,39,"pl-c"]],[[5,7,"pl-s1"],[7,9,"pl-c1"],[9,15,"pl-c1"],[16,17,"pl-c1"],[18,20,"pl-s1"],[20,22,"pl-c1"],[22,30,"pl-c1"]],[[5,7,"pl-s1"],[7,9,"pl-c1"],[9,12,"pl-c1"],[13,14,"pl-c1"],[15,17,"pl-s1"],[17,19,"pl-c1"],[19,27,"pl-c1"]],[[5,7,"pl-s1"],[7,9,"pl-c1"],[9,22,"pl-c1"],[23,24,"pl-c1"],[25,27,"pl-s1"],[27,29,"pl-c1"],[29,44,"pl-c1"]],[[5,7,"pl-s1"],[7,9,"pl-c1"],[9,14,"pl-c1"],[15,16,"pl-c1"],[17,19,"pl-s1"],[19,21,"pl-c1"],[21,28,"pl-c1"]],[],[[5,47,"pl-c"]],[[5,6,"pl-s1"],[7,8,"pl-c1"],[10,12,"pl-s1"],[12,14,"pl-c1"],[14,20,"pl-c1"],[21,22,"pl-c1"],[23,25,"pl-s1"],[25,27,"pl-c1"],[27,40,"pl-c1"],[42,43,"pl-c1"],[44,47,"pl-s1"],[48,59,"pl-c1"]],[[5,6,"pl-s1"],[7,8,"pl-c1"],[9,11,"pl-s1"],[11,13,"pl-c1"],[13,16,"pl-c1"],[17,18,"pl-c1"],[19,22,"pl-s1"],[23,34,"pl-c1"],[35,36,"pl-c1"],[37,40,"pl-s1"],[41,54,"pl-c1"]],[[0,3,"pl-k"],[12,21,"pl-c1"],[23,25,"pl-c1"],[35,47,"pl-c1"],[49,51,"pl-c1"],[61,75,"pl-c1"],[77,79,"pl-c1"],[89,104,"pl-c1"]],[[5,7,"pl-k"],[9,12,"pl-s1"],[13,27,"pl-c1"]],[[2,3,"pl-s1"],[4,6,"pl-c1"],[7,10,"pl-s1"],[11,22,"pl-c1"]],[[0,6,"pl-k"]],[],[[0,3,"pl-k"],[12,24,"pl-c1"],[26,28,"pl-c1"],[38,52,"pl-c1"]],[[1,3,"pl-c1"],[12,26,"pl-c1"]],[[5,7,"pl-k"],[9,19,"pl-en"],[20,24,"pl-s1"],[26,36,"pl-c1"],[38,40,"pl-c1"],[41,45,"pl-c1"]],[[2,3,"pl-s1"],[4,6,"pl-c1"],[7,10,"pl-s1"],[11,25,"pl-c1"]],[[0,6,"pl-k"]],[],[[0,3,"pl-k"],[12,28,"pl-c1"],[30,32,"pl-c1"],[41,55,"pl-c1"],[57,59,"pl-c1"],[68,82,"pl-c1"]],[[5,7,"pl-k"],[9,24,"pl-en"]],[[2,3,"pl-s1"],[4,6,"pl-c1"],[7,10,"pl-s1"],[11,25,"pl-c1"]],[[0,6,"pl-k"]],[],[[5,7,"pl-k"],[9,11,"pl-s1"],[11,13,"pl-c1"],[13,21,"pl-c1"],[22,24,"pl-c1"],[25,26,"pl-c1"]],[],[[2,57,"pl-c"]],[[2,3,"pl-s1"],[4,6,"pl-c1"],[7,10,"pl-s1"],[11,24,"pl-c1"]],[[2,3,"pl-s1"],[4,6,"pl-c1"],[7,10,"pl-s1"],[11,24,"pl-c1"]],[],[[5,7,"pl-k"],[9,12,"pl-s1"],[13,29,"pl-c1"],[30,39,"pl-c1"]],[],[[2,27,"pl-en"],[28,29,"pl-c1"],[29,31,"pl-s1"],[31,33,"pl-c1"],[33,45,"pl-c1"],[46,55,"pl-c1"]],[[7,10,"pl-s1"],[11,22,"pl-c1"],[24,25,"pl-s1"]],[[7,10,"pl-s1"],[11,26,"pl-c1"],[28,29,"pl-s1"]],[[2,18,"pl-en"],[19,21,"pl-s1"],[23,32,"pl-c1"]],[],[[5,7,"pl-k"],[9,12,"pl-s1"],[13,29,"pl-c1"],[30,40,"pl-c1"]],[],[[2,27,"pl-en"],[28,29,"pl-c1"],[29,31,"pl-s1"],[31,33,"pl-c1"],[33,45,"pl-c1"],[46,56,"pl-c1"]],[[7,10,"pl-s1"],[11,23,"pl-c1"],[25,26,"pl-s1"]],[[7,10,"pl-s1"],[11,26,"pl-c1"],[28,29,"pl-s1"]],[[2,18,"pl-en"],[19,21,"pl-s1"],[23,33,"pl-c1"]],[],[],[],[[1,3,"pl-k"],[5,10,"pl-s1"],[11,13,"pl-c1"],[14,16,"pl-s1"],[16,18,"pl-c1"],[18,23,"pl-c1"],[24,26,"pl-c1"],[27,30,"pl-s1"],[31,33,"pl-c1"],[34,36,"pl-s1"],[36,38,"pl-c1"],[38,42,"pl-c1"],[43,45,"pl-c1"],[46,50,"pl-s1"],[51,53,"pl-c1"],[54,56,"pl-s1"],[56,58,"pl-c1"],[58,61,"pl-c1"],[62,64,"pl-c1"],[65,68,"pl-s1"]],[],[[5,36,"pl-c"]],[[5,7,"pl-s1"],[7,9,"pl-c1"],[9,14,"pl-c1"],[15,16,"pl-c1"],[17,20,"pl-s1"]],[[5,7,"pl-s1"],[7,9,"pl-c1"],[9,13,"pl-c1"],[14,15,"pl-c1"],[16,20,"pl-s1"]],[[5,7,"pl-s1"],[7,9,"pl-c1"],[9,12,"pl-c1"],[13,14,"pl-c1"],[15,18,"pl-s1"]],[[5,7,"pl-k"],[9,12,"pl-s1"],[13,29,"pl-c1"],[30,39,"pl-c1"]],[[6,8,"pl-c1"],[10,13,"pl-s1"],[14,24,"pl-c1"],[25,27,"pl-c1"],[28,37,"pl-c1"],[38,40,"pl-c1"],[41,44,"pl-s1"],[45,55,"pl-c1"],[56,58,"pl-c1"],[59,61,"pl-s1"]],[[2,29,"pl-en"],[30,31,"pl-c1"],[31,33,"pl-s1"],[33,35,"pl-c1"],[35,47,"pl-c1"],[48,57,"pl-c1"]],[[9,12,"pl-s1"],[14,18,"pl-s1"],[20,23,"pl-s1"]],[[5,7,"pl-k"],[9,12,"pl-s1"],[13,29,"pl-c1"],[30,40,"pl-c1"]],[[6,8,"pl-c1"],[10,13,"pl-s1"],[14,24,"pl-c1"],[25,27,"pl-c1"],[28,38,"pl-c1"],[39,41,"pl-c1"],[42,45,"pl-s1"],[46,56,"pl-c1"],[57,59,"pl-c1"],[60,62,"pl-s1"]],[[2,29,"pl-en"],[30,31,"pl-c1"],[31,33,"pl-s1"],[33,35,"pl-c1"],[35,47,"pl-c1"],[48,58,"pl-c1"]],[[9,12,"pl-s1"],[14,18,"pl-s1"],[20,23,"pl-s1"]],[],[],[],[[4,56,"pl-c"]],[[4,13,"pl-en"]],[],[[4,15,"pl-s1"],[16,17,"pl-c1"],[18,24,"pl-s1"]],[[4,6,"pl-c1"],[6,21,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,33,"pl-c"]],[[0,74,"pl-c"]],[[0,13,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,16,"pl-en"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,13,"pl-s1"]],[[4,7,"pl-smi"],[9,14,"pl-s1"],[20,46,"pl-c"]],[[4,7,"pl-smi"],[9,15,"pl-s1"],[21,48,"pl-c"]],[],[[4,7,"pl-smi"],[9,15,"pl-s1"],[16,17,"pl-c1"],[18,24,"pl-s1"],[24,26,"pl-c1"],[26,34,"pl-c1"],[35,36,"pl-c1"],[37,43,"pl-s1"],[43,45,"pl-c1"],[45,52,"pl-c1"],[55,56,"pl-c1"]],[[4,7,"pl-smi"],[9,19,"pl-s1"],[20,21,"pl-c1"],[23,25,"pl-s1"],[25,27,"pl-c1"],[27,35,"pl-c1"],[39,45,"pl-s1"]],[[9,11,"pl-c1"],[12,14,"pl-s1"],[14,16,"pl-c1"],[16,24,"pl-c1"],[25,26,"pl-c1"],[27,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"],[42,48,"pl-s1"]],[],[[4,75,"pl-c"]],[[4,14,"pl-c"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,28,"pl-c1"],[29,39,"pl-c1"],[41,43,"pl-c1"],[44,47,"pl-s1"],[48,64,"pl-c1"],[65,74,"pl-c1"]],[],[[1,68,"pl-c"]],[[1,52,"pl-c"]],[[1,3,"pl-k"],[6,16,"pl-s1"]],[[5,11,"pl-s1"],[12,13,"pl-c1"]],[],[[4,8,"pl-k"]],[],[[1,67,"pl-c"]],[[1,70,"pl-c"]],[[1,9,"pl-c"]],[[1,3,"pl-k"],[5,11,"pl-s1"],[12,13,"pl-c1"],[14,21,"pl-s1"],[24,25,"pl-c1"]],[],[[5,7,"pl-k"],[9,14,"pl-s1"],[15,17,"pl-c1"],[18,27,"pl-c1"],[30,32,"pl-s1"],[32,34,"pl-c1"],[34,42,"pl-c1"],[43,45,"pl-c1"],[46,47,"pl-c1"],[51,61,"pl-s1"]],[[2,8,"pl-s1"],[9,10,"pl-c1"]],[],[[1,5,"pl-k"]],[],[[5,7,"pl-k"],[9,14,"pl-s1"],[15,17,"pl-c1"],[18,28,"pl-c1"],[31,33,"pl-s1"],[33,35,"pl-c1"],[35,43,"pl-c1"],[44,45,"pl-c1"],[46,48,"pl-s1"],[48,50,"pl-c1"],[50,57,"pl-c1"],[58,60,"pl-c1"],[61,68,"pl-s1"]],[[11,21,"pl-s1"]],[[2,8,"pl-s1"],[9,10,"pl-c1"]],[],[],[[4,28,"pl-en"],[29,30,"pl-c1"],[30,32,"pl-s1"],[32,34,"pl-c1"],[34,46,"pl-c1"],[47,52,"pl-s1"],[55,61,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,61,"pl-c"]],[[0,45,"pl-c"]],[[0,76,"pl-c"]],[[0,51,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,13,"pl-en"],[14,18,"pl-smi"]],[],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,13,"pl-s1"],[15,16,"pl-c1"],[16,23,"pl-s1"]],[[4,7,"pl-smi"],[9,10,"pl-s1"]],[[4,8,"pl-smi"],[9,15,"pl-s1"]],[[4,9,"pl-smi"],[10,20,"pl-s1"]],[[4,12,"pl-smi"],[13,24,"pl-s1"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[4,7,"pl-smi"],[9,20,"pl-s1"]],[[0,6,"pl-k"]],[],[[4,7,"pl-k"],[9,11,"pl-s1"],[12,13,"pl-c1"],[14,22,"pl-s1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-c1"],[31,32,"pl-s1"],[33,34,"pl-c1"],[35,52,"pl-s1"],[54,56,"pl-s1"],[57,58,"pl-c1"],[59,65,"pl-en"],[66,68,"pl-s1"],[71,72,"pl-s1"],[72,74,"pl-c1"]],[[1,3,"pl-k"],[5,7,"pl-s1"],[8,10,"pl-c1"],[11,15,"pl-c1"]],[[5,10,"pl-k"]],[[4,6,"pl-k"],[8,10,"pl-s1"],[11,13,"pl-c1"],[14,18,"pl-c1"]],[[1,24,"pl-c"]],[[1,7,"pl-k"]],[[4,58,"pl-c"]],[[4,6,"pl-k"],[8,21,"pl-s1"]],[[1,7,"pl-k"]],[],[[4,6,"pl-c"]],[[0,66,"pl-c"]],[[0,7,"pl-c"]],[[4,10,"pl-s1"],[11,12,"pl-c1"],[14,18,"pl-smi"],[19,34,"pl-s1"],[35,36,"pl-c1"],[37,38,"pl-c1"],[39,40,"pl-c1"],[42,46,"pl-smi"],[47,49,"pl-s1"],[49,51,"pl-c1"],[51,60,"pl-c1"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,19,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,11,"pl-s1"],[12,13,"pl-c1"],[14,20,"pl-s1"]],[[4,15,"pl-s1"],[16,17,"pl-c1"],[18,20,"pl-s1"],[20,22,"pl-c1"],[22,31,"pl-c1"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[4,15,"pl-s1"],[16,17,"pl-c1"],[18,20,"pl-s1"],[20,22,"pl-c1"],[22,31,"pl-c1"]],[[0,6,"pl-k"]],[[4,14,"pl-s1"],[15,16,"pl-c1"],[17,19,"pl-s1"],[19,21,"pl-c1"],[21,29,"pl-c1"]],[[4,10,"pl-s1"],[11,12,"pl-c1"],[13,15,"pl-s1"]],[[4,10,"pl-s1"],[11,12,"pl-c1"],[13,15,"pl-s1"],[15,17,"pl-c1"],[17,25,"pl-c1"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"]],[[1,11,"pl-en"],[12,13,"pl-c1"],[13,19,"pl-s1"],[21,24,"pl-s1"],[25,35,"pl-c1"],[36,38,"pl-c1"],[39,43,"pl-c1"]],[[4,8,"pl-k"]],[[1,9,"pl-en"],[10,16,"pl-s1"],[18,21,"pl-s1"],[22,32,"pl-c1"],[33,35,"pl-c1"],[36,40,"pl-c1"]],[[4,78,"pl-c"]],[[4,75,"pl-c"]],[[4,53,"pl-c"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,22,"pl-c1"],[23,25,"pl-c1"],[26,35,"pl-c1"]],[[1,4,"pl-s1"],[5,15,"pl-c1"],[16,17,"pl-c1"],[18,22,"pl-c1"]],[],[[4,6,"pl-k"],[8,19,"pl-s1"],[20,22,"pl-c1"],[23,25,"pl-s1"],[25,27,"pl-c1"],[27,36,"pl-c1"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[5,7,"pl-c1"],[8,19,"pl-s1"],[20,22,"pl-c1"],[23,25,"pl-s1"],[25,27,"pl-c1"],[27,36,"pl-c1"]],[[0,6,"pl-k"]],[],[],[[1,3,"pl-k"],[5,24,"pl-en"],[27,29,"pl-c1"],[30,31,"pl-c1"]],[],[[5,19,"pl-en"],[24,46,"pl-c"]],[[5,19,"pl-en"],[24,45,"pl-c"]],[],[[1,3,"pl-k"],[5,15,"pl-s1"],[16,20,"pl-c1"],[21,23,"pl-c1"],[24,26,"pl-s1"],[26,28,"pl-c1"],[28,36,"pl-c1"],[37,41,"pl-c1"]],[[5,15,"pl-en"],[16,18,"pl-s1"],[18,20,"pl-c1"],[20,30,"pl-c1"]],[[1,3,"pl-s1"],[3,5,"pl-c1"],[5,17,"pl-c1"],[18,19,"pl-c1"],[20,22,"pl-s1"],[22,24,"pl-c1"],[24,33,"pl-c1"]],[],[],[[4,61,"pl-c"]],[[4,19,"pl-en"]],[],[[4,10,"pl-s1"],[11,12,"pl-c1"],[13,20,"pl-s1"]],[[4,10,"pl-s1"],[11,12,"pl-c1"],[13,20,"pl-s1"],[20,22,"pl-c1"],[22,30,"pl-c1"]],[],[[4,6,"pl-c"]],[[0,76,"pl-c"]],[[0,25,"pl-c"]],[[0,6,"pl-c"]],[[0,80,"pl-c"]],[[0,7,"pl-c"]],[[4,6,"pl-k"],[8,19,"pl-s1"],[20,22,"pl-c1"],[23,27,"pl-c1"],[28,30,"pl-c1"],[32,43,"pl-s1"],[44,46,"pl-c1"],[47,49,"pl-s1"],[49,51,"pl-c1"],[51,60,"pl-c1"]],[[5,7,"pl-c1"],[8,10,"pl-s1"],[10,12,"pl-c1"],[12,23,"pl-c1"],[24,26,"pl-c1"],[27,28,"pl-c1"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[5,7,"pl-c1"],[8,19,"pl-s1"],[20,22,"pl-c1"],[23,25,"pl-s1"],[25,27,"pl-c1"],[27,36,"pl-c1"]],[[0,6,"pl-k"]],[],[],[[1,4,"pl-smi"],[5,9,"pl-s1"],[10,11,"pl-c1"],[12,21,"pl-c1"]],[],[[1,3,"pl-k"],[5,16,"pl-en"]],[],[[5,9,"pl-s1"],[10,11,"pl-c1"],[12,25,"pl-c1"]],[[5,7,"pl-s1"],[7,9,"pl-c1"],[9,22,"pl-c1"],[23,24,"pl-c1"],[25,26,"pl-c1"]],[],[],[[1,62,"pl-c"]],[[1,55,"pl-c"]],[[1,3,"pl-k"],[5,7,"pl-s1"],[7,9,"pl-c1"],[9,20,"pl-c1"],[21,22,"pl-c1"],[23,27,"pl-s1"]],[[5,7,"pl-s1"],[7,9,"pl-c1"],[9,20,"pl-c1"],[21,22,"pl-c1"],[23,27,"pl-s1"]],[[1,18,"pl-en"]],[[1,13,"pl-en"],[14,16,"pl-s1"],[21,63,"pl-c"]],[[1,17,"pl-en"]],[],[],[[4,41,"pl-c"]],[[4,6,"pl-k"],[8,19,"pl-en"]],[[1,11,"pl-en"]],[],[[4,10,"pl-k"],[12,14,"pl-s1"],[15,17,"pl-c1"],[18,24,"pl-s1"],[25,27,"pl-c1"],[29,38,"pl-en"],[39,45,"pl-s1"],[45,47,"pl-c1"],[47,55,"pl-c1"],[57,67,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,30,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,26,"pl-en"],[27,30,"pl-smi"],[31,36,"pl-s1"]],[],[[4,8,"pl-smi"],[9,14,"pl-s1"],[16,20,"pl-s1"],[22,25,"pl-s1"]],[],[[4,6,"pl-k"],[9,12,"pl-s1"],[13,29,"pl-c1"],[30,41,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,6,"pl-k"],[9,14,"pl-s1"],[15,17,"pl-c1"],[18,21,"pl-s1"],[22,32,"pl-c1"],[33,35,"pl-c1"],[36,47,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,6,"pl-k"],[9,14,"pl-s1"],[15,17,"pl-c1"],[18,24,"pl-s1"],[24,26,"pl-c1"],[26,34,"pl-c1"],[35,37,"pl-c1"],[38,41,"pl-s1"],[42,51,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,6,"pl-c"]],[[0,76,"pl-c"]],[[0,74,"pl-c"]],[[0,7,"pl-c"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[14,16,"pl-c1"],[16,24,"pl-c1"],[25,29,"pl-c1"],[30,31,"pl-c1"],[32,38,"pl-s1"],[38,40,"pl-c1"],[40,44,"pl-c1"],[45,58,"pl-c1"]],[],[[1,4,"pl-s1"],[5,16,"pl-c1"],[17,22,"pl-c1"],[23,24,"pl-c1"],[25,27,"pl-c1"]],[[1,7,"pl-k"]],[],[],[[4,8,"pl-s1"],[9,10,"pl-c1"],[11,17,"pl-s1"],[17,19,"pl-c1"],[19,26,"pl-c1"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[14,16,"pl-c1"],[16,24,"pl-c1"]],[],[[1,6,"pl-s1"],[7,8,"pl-c1"],[9,10,"pl-c1"]],[[0,6,"pl-k"],[7,22,"pl-c1"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,8,"pl-c1"]],[[0,5,"pl-k"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,13,"pl-s1"],[13,15,"pl-c1"],[15,22,"pl-c1"],[23,24,"pl-c1"],[25,26,"pl-c1"]],[[0,6,"pl-k"]],[],[[4,8,"pl-k"]],[],[[1,6,"pl-s1"],[7,8,"pl-c1"],[9,15,"pl-s1"],[15,17,"pl-c1"],[17,26,"pl-c1"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,22,"pl-en"],[23,43,"pl-en"]],[],[[1,3,"pl-k"],[5,19,"pl-en"]],[],[[5,54,"pl-c"]],[[5,7,"pl-k"],[9,15,"pl-s1"],[15,17,"pl-c1"],[17,26,"pl-c1"],[31,38,"pl-smi"],[39,42,"pl-s1"]],[[2,5,"pl-s1"],[6,7,"pl-c1"],[8,14,"pl-s1"],[14,16,"pl-c1"],[16,25,"pl-c1"]],[],[],[[0,7,"pl-k"],[8,23,"pl-c1"]],[[1,4,"pl-s1"],[5,7,"pl-c1"],[8,14,"pl-s1"],[14,16,"pl-c1"],[16,23,"pl-c1"],[24,25,"pl-c1"],[26,27,"pl-c1"]],[[0,6,"pl-k"]],[[1,65,"pl-c"]],[[1,64,"pl-c"]],[[1,5,"pl-s1"],[6,8,"pl-c1"],[9,23,"pl-en"]],[[0,7,"pl-k"],[8,23,"pl-c1"]],[[1,4,"pl-s1"],[5,7,"pl-c1"],[8,22,"pl-en"]],[[0,6,"pl-k"]],[],[],[[0,7,"pl-k"],[8,23,"pl-c1"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,15,"pl-c1"],[16,19,"pl-s1"],[20,21,"pl-c1"],[22,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-c1"]],[[1,6,"pl-s1"],[7,8,"pl-c1"],[9,12,"pl-s1"],[13,14,"pl-c1"],[15,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"],[29,66,"pl-c"]],[[0,6,"pl-k"]],[],[[0,6,"pl-k"],[7,21,"pl-c1"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[14,16,"pl-c1"],[16,22,"pl-c1"]],[],[[1,6,"pl-s1"],[7,8,"pl-c1"],[9,12,"pl-s1"],[13,14,"pl-c1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[19,23,"pl-s1"],[24,25,"pl-c1"],[26,31,"pl-s1"]],[[1,3,"pl-k"],[5,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"]],[],[[5,9,"pl-s1"],[10,12,"pl-c1"],[13,18,"pl-s1"]],[[5,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"]],[],[],[[0,6,"pl-k"]],[[4,6,"pl-k"],[9,14,"pl-s1"],[15,17,"pl-c1"],[18,23,"pl-s1"],[24,26,"pl-c1"],[27,30,"pl-s1"],[31,42,"pl-c1"],[43,48,"pl-c1"],[49,51,"pl-c1"],[52,56,"pl-s1"],[57,59,"pl-c1"],[60,63,"pl-s1"],[64,75,"pl-c1"],[76,80,"pl-c1"]],[[6,8,"pl-c1"],[9,12,"pl-s1"],[13,15,"pl-c1"],[16,19,"pl-s1"],[20,31,"pl-c1"],[32,35,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,7,"pl-s1"],[8,19,"pl-c1"],[20,25,"pl-c1"],[26,27,"pl-c1"],[28,33,"pl-s1"]],[[4,7,"pl-s1"],[8,19,"pl-c1"],[20,24,"pl-c1"],[25,26,"pl-c1"],[27,31,"pl-s1"]],[[4,7,"pl-s1"],[8,19,"pl-c1"],[20,23,"pl-c1"],[24,25,"pl-c1"],[26,29,"pl-s1"]],[[4,7,"pl-s1"],[8,17,"pl-c1"],[18,19,"pl-c1"],[20,26,"pl-s1"],[26,28,"pl-c1"],[28,36,"pl-c1"]],[],[[4,31,"pl-en"],[32,33,"pl-c1"],[33,36,"pl-s1"],[37,48,"pl-c1"],[50,55,"pl-s1"],[57,61,"pl-s1"],[63,66,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,69,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,16,"pl-en"],[17,21,"pl-smi"]],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,22,"pl-c1"],[23,25,"pl-c1"],[26,29,"pl-s1"],[30,40,"pl-c1"],[41,43,"pl-c1"],[44,47,"pl-s1"],[48,58,"pl-c1"],[59,61,"pl-c1"],[62,72,"pl-c1"]],[],[[1,17,"pl-en"],[19,25,"pl-smi"],[26,27,"pl-c1"],[28,35,"pl-s"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,19,"pl-c1"],[20,22,"pl-c1"],[23,26,"pl-s1"],[27,37,"pl-c1"],[38,40,"pl-c1"],[41,44,"pl-s1"],[45,55,"pl-c1"],[56,58,"pl-c1"],[59,69,"pl-c1"]],[[5,21,"pl-en"],[23,29,"pl-smi"],[30,31,"pl-c1"],[32,39,"pl-s"]],[],[],[],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,16,"pl-en"],[17,23,"pl-smi"],[24,25,"pl-c1"],[25,29,"pl-s1"]],[],[[4,7,"pl-s1"],[8,18,"pl-c1"],[19,20,"pl-c1"],[21,34,"pl-en"],[35,39,"pl-s1"]],[[4,24,"pl-en"],[25,36,"pl-en"],[37,41,"pl-s1"]],[],[],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,16,"pl-en"],[17,23,"pl-smi"],[24,25,"pl-c1"],[25,29,"pl-s1"]],[],[[4,7,"pl-s1"],[8,18,"pl-c1"],[19,20,"pl-c1"],[21,34,"pl-en"],[35,39,"pl-s1"]],[[4,24,"pl-en"],[25,36,"pl-en"],[37,41,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,28,"pl-c"]],[[0,61,"pl-c"]],[[0,3,"pl-c"]],[[4,14,"pl-smi"]],[[0,13,"pl-en"],[14,20,"pl-smi"],[21,22,"pl-c1"],[22,26,"pl-s1"]],[],[[4,14,"pl-smi"],[15,16,"pl-s1"]],[],[[4,6,"pl-k"],[8,9,"pl-c1"],[9,13,"pl-s1"],[14,16,"pl-c1"],[17,20,"pl-c1"]],[[1,7,"pl-k"],[8,18,"pl-c1"]],[[4,5,"pl-s1"],[6,7,"pl-c1"],[8,25,"pl-en"],[26,30,"pl-s1"]],[],[[4,7,"pl-smi"],[8,15,"pl-s1"],[16,17,"pl-c1"],[18,24,"pl-en"],[25,29,"pl-s1"],[31,37,"pl-s"],[39,41,"pl-c1"],[42,43,"pl-c1"]],[[4,6,"pl-k"],[8,9,"pl-s1"],[10,12,"pl-c1"],[13,23,"pl-c1"]],[[0,3,"pl-k"],[12,24,"pl-c1"],[26,28,"pl-c1"],[37,49,"pl-c1"]],[[5,6,"pl-c1"],[6,7,"pl-c1"],[9,12,"pl-s1"],[13,19,"pl-c1"],[20,22,"pl-c1"],[23,30,"pl-s1"]],[[0,6,"pl-k"]],[],[],[[1,3,"pl-k"],[5,12,"pl-s1"]],[[5,9,"pl-en"],[10,11,"pl-en"],[12,53,"pl-s1"]],[[1,5,"pl-k"]],[[5,10,"pl-en"],[11,12,"pl-en"],[13,40,"pl-s1"],[43,47,"pl-s1"]],[],[[4,10,"pl-k"],[11,12,"pl-s1"],[13,13,"pl-k"]],[],[],[[0,2,"pl-c"]],[[0,50,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,17,"pl-en"],[18,28,"pl-smi"],[29,34,"pl-s1"]],[],[[4,10,"pl-smi"],[11,14,"pl-s1"],[15,16,"pl-c1"],[18,24,"pl-smi"],[25,40,"pl-en"],[41,46,"pl-s1"]],[],[[4,10,"pl-k"],[13,16,"pl-smi"],[23,26,"pl-s1"],[30,32,"pl-c1"],[34,35,"pl-c1"],[36,40,"pl-c1"],[42,43,"pl-c1"],[44,47,"pl-c1"]],[[5,6,"pl-c1"],[10,13,"pl-s1"],[17,18,"pl-c1"],[20,21,"pl-c1"],[22,26,"pl-c1"],[28,29,"pl-c1"],[30,33,"pl-c1"]],[[5,6,"pl-c1"],[10,13,"pl-s1"],[16,17,"pl-c1"],[18,22,"pl-c1"],[24,25,"pl-c1"],[26,29,"pl-c1"],[34,38,"pl-c1"]],[],[],[[4,10,"pl-smi"],[11,12,"pl-c1"]],[[0,14,"pl-en"],[15,19,"pl-smi"]],[],[[4,6,"pl-k"],[8,25,"pl-en"],[26,29,"pl-s1"],[30,40,"pl-c1"],[42,43,"pl-c1"],[44,47,"pl-c1"]],[[1,7,"pl-k"],[9,15,"pl-smi"],[16,17,"pl-c1"],[18,24,"pl-s"]],[[4,10,"pl-k"],[12,18,"pl-smi"],[19,20,"pl-c1"],[21,28,"pl-s"]],[],[],[[0,2,"pl-c"]],[[0,77,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,16,"pl-en"],[17,21,"pl-smi"]],[],[[4,68,"pl-c"]],[[4,60,"pl-c"]],[[4,6,"pl-k"],[9,23,"pl-en"],[25,31,"pl-smi"],[32,33,"pl-c1"],[34,38,"pl-s"],[40,42,"pl-c1"],[43,49,"pl-en"],[50,54,"pl-s1"],[56,70,"pl-en"],[74,76,"pl-c1"],[77,78,"pl-c1"]],[],[[1,26,"pl-en"],[28,34,"pl-smi"],[35,36,"pl-c1"],[37,41,"pl-s"],[43,45,"pl-c1"],[47,61,"pl-en"],[65,66,"pl-c1"]],[[1,18,"pl-en"]],[],[],[],[[0,3,"pl-k"],[12,24,"pl-c1"],[26,28,"pl-c1"],[37,42,"pl-c1"]],[[4,8,"pl-smi"]],[[0,24,"pl-en"],[25,29,"pl-smi"]],[],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,13,"pl-s1"]],[],[[4,47,"pl-c"]],[[4,6,"pl-k"],[9,12,"pl-s1"],[13,19,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,19,"pl-smi"],[20,22,"pl-s1"]],[],[[1,29,"pl-en"],[30,31,"pl-c1"],[32,34,"pl-s1"],[34,36,"pl-c1"],[36,48,"pl-c1"],[49,58,"pl-c1"]],[[1,29,"pl-en"],[30,31,"pl-c1"],[32,34,"pl-s1"],[34,36,"pl-c1"],[36,48,"pl-c1"],[49,59,"pl-c1"]],[],[[4,32,"pl-en"],[33,34,"pl-c1"],[34,37,"pl-s1"],[38,49,"pl-c1"]],[],[[0,6,"pl-k"]],[],[[0,2,"pl-c"]],[[0,36,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,16,"pl-en"],[17,20,"pl-smi"],[21,29,"pl-s1"]],[],[[0,2,"pl-c"]],[[0,74,"pl-c"]],[[0,40,"pl-c"]],[[0,3,"pl-c"]],[[0,3,"pl-k"],[4,5,"pl-c1"]],[[4,7,"pl-s1"],[8,16,"pl-c1"],[17,18,"pl-c1"],[19,27,"pl-s1"]],[[4,20,"pl-en"]],[],[[0,7,"pl-k"],[8,16,"pl-c1"]],[[4,17,"pl-en"],[18,26,"pl-s1"]],[[0,7,"pl-k"]],[],[[4,55,"pl-c"]],[[4,66,"pl-c"]],[[4,60,"pl-c"]],[[4,6,"pl-k"],[9,24,"pl-s1"]],[],[[1,7,"pl-smi"],[9,14,"pl-s1"],[15,16,"pl-c1"]],[],[[1,6,"pl-s1"],[7,8,"pl-c1"],[10,11,"pl-c1"],[12,15,"pl-c1"]],[[1,6,"pl-s1"],[7,8,"pl-c1"],[10,11,"pl-c1"],[12,20,"pl-c1"]],[[1,6,"pl-s1"],[7,8,"pl-c1"],[10,11,"pl-c1"],[12,20,"pl-s1"],[24,27,"pl-smi"],[28,42,"pl-c1"],[46,49,"pl-smi"],[50,62,"pl-c1"]],[[1,17,"pl-en"],[18,23,"pl-s1"],[25,26,"pl-c1"]],[],[[0,6,"pl-k"]],[],[],[[0,2,"pl-c"]],[[0,40,"pl-c"]],[[0,40,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,15,"pl-en"],[16,19,"pl-smi"],[20,21,"pl-s1"],[23,26,"pl-smi"],[27,28,"pl-s1"]],[],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,13,"pl-s1"]],[[4,10,"pl-smi"],[11,13,"pl-s1"],[14,15,"pl-c1"]],[],[[0,6,"pl-k"],[7,22,"pl-c1"]],[[4,58,"pl-c"]],[[4,6,"pl-s1"],[7,8,"pl-c1"],[9,15,"pl-en"],[16,17,"pl-s1"],[19,20,"pl-s1"],[22,34,"pl-c1"]],[[0,6,"pl-k"]],[],[[4,53,"pl-c"]],[[4,6,"pl-k"],[8,16,"pl-s1"]],[[5,7,"pl-c1"],[9,24,"pl-s1"],[26,47,"pl-c"]],[[5,7,"pl-c1"],[9,14,"pl-s1"],[15,16,"pl-c1"],[18,29,"pl-c1"],[32,43,"pl-c1"],[45,73,"pl-c"]],[[5,7,"pl-c1"],[8,13,"pl-s1"],[14,16,"pl-c1"],[17,31,"pl-c1"],[32,60,"pl-c"]],[[5,7,"pl-c1"],[8,20,"pl-s1"],[21,23,"pl-c1"],[24,25,"pl-c1"],[26,48,"pl-c"]],[[5,7,"pl-c1"],[9,27,"pl-s1"],[28,53,"pl-c"]],[[5,7,"pl-c1"],[8,11,"pl-s1"],[12,20,"pl-c1"],[23,39,"pl-c"]],[],[[1,66,"pl-c"]],[[1,3,"pl-k"],[5,6,"pl-s1"],[7,8,"pl-c1"],[9,10,"pl-c1"],[11,13,"pl-c1"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,25,"pl-s1"],[26,27,"pl-c1"],[28,31,"pl-s1"],[32,42,"pl-c1"]],[[5,11,"pl-k"]],[[0,7,"pl-k"],[8,23,"pl-c1"]],[[1,3,"pl-s1"],[4,5,"pl-c1"],[6,12,"pl-en"],[13,14,"pl-s1"],[16,17,"pl-s1"],[19,31,"pl-c1"]],[[0,6,"pl-k"]],[[1,3,"pl-k"],[5,7,"pl-s1"],[8,10,"pl-c1"],[11,17,"pl-s1"],[18,20,"pl-c1"],[21,23,"pl-s1"],[24,26,"pl-c1"],[27,31,"pl-c1"]],[[5,11,"pl-k"],[13,60,"pl-c"]],[],[[1,42,"pl-c"]],[[1,3,"pl-k"],[5,12,"pl-en"],[13,14,"pl-s1"],[16,17,"pl-c1"],[18,32,"pl-en"]],[[5,11,"pl-k"]],[],[[1,3,"pl-c"]],[[0,46,"pl-c"]],[[0,44,"pl-c"]],[[0,71,"pl-c"]],[[0,39,"pl-c"]],[[0,4,"pl-c"]],[[1,3,"pl-k"],[5,14,"pl-s1"]],[],[[5,40,"pl-c"]],[[5,7,"pl-s1"],[8,9,"pl-c1"],[11,12,"pl-c1"],[13,16,"pl-c1"]],[[5,21,"pl-en"],[22,24,"pl-s1"],[26,27,"pl-c1"]],[],[[1,3,"pl-s1"],[4,5,"pl-c1"],[7,8,"pl-c1"],[9,12,"pl-c1"]],[[1,3,"pl-s1"],[4,5,"pl-c1"],[7,8,"pl-c1"],[9,17,"pl-c1"]],[[1,3,"pl-s1"],[4,5,"pl-c1"],[7,8,"pl-c1"],[9,18,"pl-c1"]],[[1,3,"pl-s1"],[4,5,"pl-c1"],[7,8,"pl-c1"],[10,16,"pl-smi"],[17,27,"pl-c1"]],[[1,17,"pl-en"],[18,20,"pl-s1"],[21,22,"pl-c1"],[23,24,"pl-c1"]],[[2,4,"pl-s1"],[4,6,"pl-c1"],[6,14,"pl-c1"],[15,17,"pl-c1"],[18,19,"pl-c1"],[22,24,"pl-c1"],[27,29,"pl-s1"],[29,31,"pl-c1"],[31,39,"pl-c1"],[40,41,"pl-c1"],[42,54,"pl-c1"]],[[2,4,"pl-s1"],[4,6,"pl-c1"],[6,14,"pl-c1"],[15,16,"pl-c1"],[17,25,"pl-en"],[26,28,"pl-s1"]],[],[[1,17,"pl-en"],[18,20,"pl-s1"],[22,23,"pl-c1"]],[[1,3,"pl-s1"],[4,5,"pl-c1"],[7,8,"pl-c1"],[10,16,"pl-smi"],[17,30,"pl-c1"]],[[1,17,"pl-en"],[18,20,"pl-s1"],[22,23,"pl-c1"]],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[1,33,"pl-c"]],[[1,3,"pl-k"],[5,19,"pl-en"],[22,23,"pl-c1"],[24,25,"pl-c1"]],[[5,18,"pl-en"]],[[0,6,"pl-k"]],[],[],[],[[0,2,"pl-c"]],[[0,55,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,15,"pl-en"],[16,19,"pl-smi"],[20,21,"pl-s1"],[23,26,"pl-smi"],[27,28,"pl-s1"]],[],[[4,43,"pl-c"]],[[4,6,"pl-k"],[9,12,"pl-s1"],[13,19,"pl-c1"],[20,22,"pl-c1"],[23,26,"pl-s1"],[27,35,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,43,"pl-c"]],[[4,19,"pl-en"],[20,21,"pl-s1"],[23,24,"pl-s1"]],[],[[4,6,"pl-k"],[8,18,"pl-s1"]],[[0,6,"pl-k"],[7,22,"pl-c1"]],[[1,3,"pl-c1"],[4,25,"pl-s1"]],[[0,6,"pl-k"]],[],[[1,70,"pl-c"]],[[1,59,"pl-c"]],[[1,21,"pl-en"],[22,32,"pl-c1"],[34,35,"pl-s1"],[37,38,"pl-s1"],[47,48,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,48,"pl-c"]],[[0,29,"pl-c"]],[[0,3,"pl-c"]],[[4,9,"pl-smi"],[10,11,"pl-c1"]],[[0,16,"pl-en"],[17,29,"pl-smi"],[30,35,"pl-s1"]],[],[[4,7,"pl-smi"],[9,10,"pl-s1"],[12,13,"pl-s1"]],[],[[4,6,"pl-k"],[10,13,"pl-s1"],[14,20,"pl-c1"],[21,23,"pl-c1"],[25,33,"pl-s1"],[34,36,"pl-c1"],[37,42,"pl-s1"],[43,45,"pl-c1"],[46,56,"pl-c1"]],[[1,7,"pl-k"],[8,12,"pl-c1"]],[[4,20,"pl-en"],[21,22,"pl-c1"],[22,23,"pl-s1"],[25,26,"pl-c1"],[26,27,"pl-s1"]],[],[[4,53,"pl-c"]],[[4,6,"pl-k"],[8,9,"pl-s1"],[13,14,"pl-c1"],[15,17,"pl-c1"],[18,19,"pl-s1"],[23,30,"pl-s1"],[31,32,"pl-c1"],[33,36,"pl-s1"],[37,47,"pl-c1"]],[[5,7,"pl-c1"],[8,9,"pl-s1"],[13,14,"pl-c1"],[15,17,"pl-c1"],[18,25,"pl-en"],[26,27,"pl-s1"],[32,46,"pl-en"]],[[1,7,"pl-k"],[8,14,"pl-en"],[15,16,"pl-s1"],[18,19,"pl-s1"],[21,26,"pl-s1"]],[[4,10,"pl-k"],[11,15,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,58,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,17,"pl-en"],[18,22,"pl-smi"]],[],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,13,"pl-s1"],[14,15,"pl-c1"],[16,20,"pl-c1"]],[],[[4,22,"pl-s1"],[23,24,"pl-c1"]],[],[[4,6,"pl-s1"],[7,8,"pl-c1"],[9,25,"pl-en"],[26,38,"pl-c1"]],[[4,6,"pl-k"],[8,10,"pl-s1"],[11,13,"pl-c1"],[14,20,"pl-s1"],[21,23,"pl-c1"],[24,26,"pl-s1"],[27,29,"pl-c1"],[30,34,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,38,"pl-c"]],[[4,22,"pl-en"]],[[4,20,"pl-en"],[22,25,"pl-smi"],[26,34,"pl-en"],[35,41,"pl-s1"],[43,44,"pl-c1"],[45,48,"pl-s1"],[49,59,"pl-c1"],[60,61,"pl-c1"],[62,63,"pl-c1"]],[[6,14,"pl-en"],[15,21,"pl-s1"],[23,24,"pl-c1"],[25,31,"pl-s1"],[31,33,"pl-c1"],[33,39,"pl-c1"],[41,42,"pl-c1"],[43,46,"pl-s1"],[47,58,"pl-c1"]],[[5,6,"pl-c1"],[8,11,"pl-s1"],[12,23,"pl-c1"],[27,28,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,66,"pl-c"]],[[0,58,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,16,"pl-smi"],[17,18,"pl-c1"]],[[0,6,"pl-en"],[7,10,"pl-smi"],[11,12,"pl-s1"],[14,17,"pl-smi"],[18,19,"pl-s1"],[21,33,"pl-smi"],[34,39,"pl-s1"]],[],[[4,7,"pl-smi"],[9,12,"pl-s1"]],[[4,7,"pl-smi"],[9,12,"pl-s1"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,13,"pl-s1"]],[],[[4,7,"pl-s1"],[8,9,"pl-c1"],[10,17,"pl-en"],[18,19,"pl-s1"]],[[4,7,"pl-s1"],[8,9,"pl-c1"],[10,17,"pl-en"],[18,19,"pl-s1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"],[16,18,"pl-c1"],[19,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-c1"],[29,51,"pl-c"]],[[1,7,"pl-k"],[8,12,"pl-c1"]],[[4,6,"pl-s1"],[7,8,"pl-c1"],[9,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[30,31,"pl-c1"],[31,34,"pl-s1"],[36,41,"pl-s1"]],[[4,6,"pl-k"],[8,10,"pl-s1"],[11,13,"pl-c1"],[14,18,"pl-c1"]],[[1,7,"pl-k"],[8,12,"pl-c1"]],[[0,6,"pl-k"],[7,22,"pl-c1"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,16,"pl-c1"],[17,31,"pl-c1"],[32,34,"pl-c1"],[35,40,"pl-s1"],[41,43,"pl-c1"],[44,56,"pl-c1"]],[],[[1,3,"pl-k"],[5,12,"pl-en"],[13,14,"pl-s1"],[19,26,"pl-s1"]],[[5,22,"pl-en"],[23,38,"pl-c1"]],[[1,5,"pl-k"]],[[5,22,"pl-en"],[23,37,"pl-c1"]],[],[[4,8,"pl-k"],[9,11,"pl-k"],[13,16,"pl-s1"],[17,18,"pl-c1"],[19,21,"pl-s1"],[21,23,"pl-c1"],[23,31,"pl-c1"],[33,53,"pl-c"]],[[1,18,"pl-en"],[19,34,"pl-c1"]],[[4,8,"pl-k"],[9,11,"pl-k"],[15,20,"pl-s1"],[21,22,"pl-c1"],[23,35,"pl-c1"],[37,39,"pl-c1"],[40,42,"pl-s1"],[42,44,"pl-c1"],[44,56,"pl-c1"],[57,58,"pl-c1"],[59,60,"pl-c1"],[61,63,"pl-c1"],[64,67,"pl-s1"],[68,70,"pl-c1"],[71,73,"pl-s1"],[73,75,"pl-c1"],[75,82,"pl-c1"]],[[5,7,"pl-c1"],[9,12,"pl-s1"],[13,15,"pl-c1"],[16,18,"pl-s1"],[18,20,"pl-c1"],[20,28,"pl-c1"],[29,31,"pl-c1"],[33,46,"pl-en"],[47,49,"pl-s1"],[52,54,"pl-c1"],[55,67,"pl-s1"],[68,70,"pl-c1"],[71,72,"pl-c1"]],[[1,18,"pl-en"],[19,33,"pl-c1"]],[[4,8,"pl-k"],[9,11,"pl-k"],[15,20,"pl-s1"],[21,22,"pl-c1"],[23,35,"pl-c1"],[37,39,"pl-c1"],[40,42,"pl-s1"],[42,44,"pl-c1"],[44,59,"pl-c1"],[60,61,"pl-c1"],[62,63,"pl-c1"]],[[6,8,"pl-c1"],[9,12,"pl-s1"],[13,15,"pl-c1"],[16,18,"pl-s1"],[18,20,"pl-c1"],[20,28,"pl-c1"],[29,31,"pl-c1"],[32,44,"pl-s1"],[45,47,"pl-c1"],[48,49,"pl-c1"]],[[1,18,"pl-en"],[19,35,"pl-c1"]],[[4,8,"pl-k"]],[[1,18,"pl-en"],[19,21,"pl-c1"]],[[0,6,"pl-k"]],[[4,10,"pl-k"],[11,13,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,75,"pl-c"]],[[0,53,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,6,"pl-en"],[7,14,"pl-smi"],[15,16,"pl-c1"],[16,19,"pl-s1"]],[],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,15,"pl-s1"],[16,17,"pl-c1"],[18,21,"pl-s1"],[21,23,"pl-c1"],[23,26,"pl-c1"]],[],[[4,6,"pl-c"]],[[0,55,"pl-c"]],[[0,51,"pl-c"]],[[0,35,"pl-c"]],[[0,7,"pl-c"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,13,"pl-c1"],[15,17,"pl-c1"],[18,21,"pl-c1"]],[[5,7,"pl-c1"],[9,12,"pl-s1"],[13,14,"pl-c1"],[16,18,"pl-c1"],[19,22,"pl-c1"],[23,25,"pl-c1"],[26,29,"pl-s1"],[30,31,"pl-c1"],[33,35,"pl-c1"],[36,39,"pl-c1"]],[[5,7,"pl-c1"],[9,12,"pl-s1"],[13,14,"pl-c1"],[16,18,"pl-c1"],[19,22,"pl-c1"],[23,25,"pl-c1"],[26,37,"pl-en"],[38,41,"pl-s1"],[42,43,"pl-c1"]],[],[[1,4,"pl-s1"],[5,11,"pl-c1"],[12,13,"pl-c1"],[15,18,"pl-s1"],[19,20,"pl-c1"],[22,24,"pl-c1"],[25,28,"pl-c1"]],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,9,"pl-c1"],[10,11,"pl-c1"],[12,21,"pl-en"],[22,25,"pl-s1"],[25,27,"pl-c1"],[27,30,"pl-c1"],[31,32,"pl-c1"],[33,34,"pl-c1"]],[],[[4,6,"pl-k"],[9,12,"pl-s1"],[13,19,"pl-c1"]],[],[[0,3,"pl-k"],[12,18,"pl-c1"],[20,22,"pl-c1"],[32,52,"pl-c1"]],[[1,3,"pl-k"],[6,9,"pl-s1"],[10,18,"pl-c1"]],[],[[5,9,"pl-en"],[10,11,"pl-en"],[12,60,"pl-s1"]],[[5,11,"pl-k"]],[],[[0,6,"pl-k"]],[[1,70,"pl-c"]],[[1,53,"pl-c"]],[[1,18,"pl-en"]],[[0,6,"pl-k"],[7,20,"pl-c1"]],[[1,3,"pl-k"],[6,17,"pl-en"],[18,21,"pl-s1"],[21,23,"pl-c1"],[23,26,"pl-c1"],[28,31,"pl-s1"],[31,33,"pl-c1"],[33,36,"pl-c1"]],[[5,14,"pl-en"],[15,18,"pl-s1"],[18,20,"pl-c1"],[20,23,"pl-c1"]],[[1,5,"pl-k"]],[[0,6,"pl-k"]],[[5,14,"pl-en"],[15,19,"pl-c1"]],[[0,6,"pl-k"],[7,23,"pl-c1"]],[[1,25,"pl-en"]],[[0,6,"pl-k"]],[],[[4,6,"pl-k"],[9,20,"pl-en"],[21,24,"pl-s1"],[24,26,"pl-c1"],[26,29,"pl-c1"],[31,34,"pl-s1"],[34,36,"pl-c1"],[36,39,"pl-c1"]],[[1,8,"pl-en"],[9,12,"pl-s1"]],[],[],[[0,3,"pl-k"],[14,26,"pl-c1"],[28,30,"pl-c1"],[39,51,"pl-c1"]],[[5,7,"pl-c1"],[16,30,"pl-c1"],[32,34,"pl-c1"],[43,58,"pl-c1"]],[[5,7,"pl-c1"],[16,30,"pl-c1"]],[[5,7,"pl-c1"],[16,28,"pl-c1"],[31,33,"pl-c1"],[42,47,"pl-c1"]],[[0,2,"pl-c"]],[[0,48,"pl-c"]],[[0,3,"pl-c"]],[],[[0,2,"pl-c"]],[[0,45,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,11,"pl-en"],[12,18,"pl-smi"],[19,20,"pl-c1"],[20,25,"pl-s1"],[27,31,"pl-smi"],[32,33,"pl-c1"],[33,39,"pl-s1"]],[],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,22,"pl-s1"],[23,24,"pl-c1"],[25,31,"pl-s1"]],[],[[4,6,"pl-k"],[8,14,"pl-en"],[15,20,"pl-s1"],[25,33,"pl-c1"]],[[1,2,"pl-c1"],[2,12,"pl-s1"],[13,14,"pl-c1"],[15,18,"pl-c1"]],[[4,8,"pl-k"]],[[1,7,"pl-en"],[8,18,"pl-s1"],[20,25,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,72,"pl-c"]],[[0,74,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,15,"pl-en"],[16,22,"pl-smi"],[23,24,"pl-c1"],[24,28,"pl-s1"],[30,36,"pl-smi"],[37,38,"pl-c1"],[38,44,"pl-s1"],[46,50,"pl-smi"],[51,52,"pl-c1"],[52,55,"pl-s1"]],[],[[4,6,"pl-k"],[8,14,"pl-en"],[15,19,"pl-s1"],[21,22,"pl-c1"],[23,31,"pl-c1"],[32,33,"pl-c1"],[34,36,"pl-c1"]],[[1,7,"pl-k"],[8,12,"pl-c1"]],[[4,16,"pl-en"],[18,22,"pl-smi"],[23,24,"pl-c1"],[25,31,"pl-s1"],[33,41,"pl-c1"],[43,58,"pl-s"],[60,64,"pl-s1"],[66,69,"pl-s1"]],[[4,6,"pl-k"],[8,25,"pl-en"],[26,32,"pl-s1"],[34,35,"pl-c1"],[37,48,"pl-s1"],[50,56,"pl-s1"],[58,60,"pl-c1"],[61,65,"pl-c1"]],[[11,13,"pl-c1"],[14,15,"pl-c1"],[15,21,"pl-s1"],[22,24,"pl-c1"],[25,28,"pl-c1"]],[[1,7,"pl-k"],[8,12,"pl-c1"]],[[4,10,"pl-k"],[11,13,"pl-c1"]],[],[],[[0,4,"pl-k"],[14,26,"pl-c1"],[28,30,"pl-c1"],[39,44,"pl-c1"]],[[0,2,"pl-c"]],[[0,78,"pl-c"]],[[0,76,"pl-c"]],[[0,44,"pl-c"]],[[0,72,"pl-c"]],[[0,19,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,17,"pl-en"],[18,24,"pl-smi"],[25,26,"pl-c1"],[26,30,"pl-s1"],[32,38,"pl-smi"],[39,40,"pl-c1"],[40,46,"pl-s1"],[48,52,"pl-smi"],[53,54,"pl-c1"],[54,57,"pl-s1"]],[],[[4,10,"pl-smi"],[11,14,"pl-s1"],[15,23,"pl-c1"],[24,25,"pl-c1"],[26,27,"pl-c1"]],[],[[4,14,"pl-en"],[15,19,"pl-s1"],[21,27,"pl-s1"],[29,37,"pl-c1"]],[[4,6,"pl-k"],[9,23,"pl-en"],[24,30,"pl-s1"],[32,34,"pl-c1"],[35,50,"pl-en"],[51,57,"pl-s1"],[59,62,"pl-s1"],[64,67,"pl-s1"],[69,71,"pl-c1"],[72,74,"pl-c1"]],[[1,7,"pl-en"],[8,14,"pl-s1"],[16,19,"pl-s1"]],[],[[0,7,"pl-k"]],[[0,6,"pl-k"]],[],[[0,3,"pl-k"],[12,24,"pl-c1"],[26,28,"pl-c1"],[37,49,"pl-c1"],[50,52,"pl-c1"],[61,75,"pl-c1"]],[[1,3,"pl-c1"],[12,17,"pl-c1"]],[[4,8,"pl-smi"]],[[0,14,"pl-en"],[15,19,"pl-smi"]],[],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,13,"pl-s1"]],[],[[4,6,"pl-k"],[8,14,"pl-en"],[15,16,"pl-c1"]],[],[[1,7,"pl-en"],[8,14,"pl-s1"]],[[1,7,"pl-k"]],[],[],[[4,6,"pl-k"],[8,16,"pl-s1"],[17,24,"pl-c1"],[25,27,"pl-c1"],[28,32,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,54,"pl-c"]],[[4,7,"pl-k"],[9,10,"pl-s1"],[11,12,"pl-c1"],[14,20,"pl-smi"],[21,22,"pl-c1"],[23,31,"pl-s1"],[32,39,"pl-c1"],[41,42,"pl-c1"],[42,43,"pl-s1"],[44,46,"pl-c1"],[47,50,"pl-c1"],[52,54,"pl-c1"],[54,55,"pl-s1"]],[[1,3,"pl-k"],[6,18,"pl-en"],[19,20,"pl-c1"],[20,21,"pl-s1"]],[],[[5,60,"pl-c"]],[[5,7,"pl-k"],[9,15,"pl-en"],[16,17,"pl-s1"],[19,20,"pl-c1"],[21,25,"pl-c1"]],[[2,8,"pl-en"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,17,"pl-c1"],[18,19,"pl-c1"],[20,22,"pl-c1"],[24,40,"pl-s"]],[[6,10,"pl-smi"],[11,20,"pl-en"],[21,30,"pl-c1"],[33,39,"pl-smi"],[40,41,"pl-c1"],[42,43,"pl-en"],[44,51,"pl-s"]],[[6,7,"pl-s1"],[10,16,"pl-smi"],[17,18,"pl-c1"],[19,20,"pl-en"],[21,26,"pl-s"],[29,30,"pl-c1"],[32,36,"pl-c1"]],[[5,10,"pl-k"]],[],[[4,12,"pl-en"],[13,14,"pl-c1"],[14,22,"pl-s1"]],[],[[0,6,"pl-k"]],[],[[0,3,"pl-k"],[12,28,"pl-c1"],[30,32,"pl-c1"],[41,46,"pl-c1"]],[[0,2,"pl-c"]],[[0,72,"pl-c"]],[[0,71,"pl-c"]],[[0,77,"pl-c"]],[[0,25,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,16,"pl-en"],[17,21,"pl-smi"]],[],[[4,10,"pl-k"],[14,17,"pl-s1"],[18,24,"pl-c1"],[25,27,"pl-c1"],[28,31,"pl-s1"],[32,40,"pl-c1"]],[[0,8,"pl-k"],[9,19,"pl-c1"]],[[5,7,"pl-c1"],[9,15,"pl-en"],[16,17,"pl-c1"],[19,21,"pl-c1"],[23,29,"pl-en"],[30,31,"pl-c1"]],[[0,7,"pl-k"]],[],[],[[0,6,"pl-k"]],[],[[0,3,"pl-k"],[12,31,"pl-c1"]],[[1,3,"pl-c1"],[12,34,"pl-c1"]],[[1,3,"pl-c1"],[12,17,"pl-c1"]],[[0,2,"pl-c"]],[[0,44,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,17,"pl-en"],[18,22,"pl-smi"]],[],[[0,7,"pl-k"],[8,20,"pl-c1"]],[[4,12,"pl-smi"],[13,36,"pl-s1"],[37,38,"pl-c1"],[39,40,"pl-c1"]],[[4,12,"pl-smi"],[13,36,"pl-s1"],[37,38,"pl-c1"],[39,40,"pl-c1"]],[[4,7,"pl-smi"],[9,29,"pl-s1"],[30,31,"pl-c1"]],[[0,7,"pl-k"]],[],[[4,18,"pl-en"]],[[4,19,"pl-en"]],[],[[4,47,"pl-c"]],[[4,6,"pl-k"],[9,18,"pl-s1"],[19,21,"pl-c1"],[23,38,"pl-smi"]],[[0,7,"pl-k"],[8,23,"pl-c1"]],[[2,4,"pl-c1"],[5,18,"pl-s1"]],[[0,7,"pl-k"]],[[0,7,"pl-k"],[8,20,"pl-c1"]],[[2,4,"pl-c1"],[5,11,"pl-s1"],[11,13,"pl-c1"],[13,21,"pl-c1"],[22,23,"pl-c1"],[24,25,"pl-c1"]],[[0,7,"pl-k"]],[[4,6,"pl-c1"],[8,17,"pl-en"],[18,34,"pl-s1"],[36,42,"pl-s1"],[42,44,"pl-c1"],[44,52,"pl-c1"]],[],[[1,3,"pl-k"],[5,20,"pl-en"]],[[5,19,"pl-en"],[20,37,"pl-c1"],[39,43,"pl-c1"],[45,49,"pl-c1"],[58,64,"pl-s1"]],[[0,7,"pl-k"],[8,23,"pl-c1"]],[[1,3,"pl-k"],[5,18,"pl-s1"]],[[5,27,"pl-en"]],[[0,7,"pl-k"]],[[0,7,"pl-k"],[8,20,"pl-c1"]],[[1,3,"pl-k"],[5,11,"pl-s1"],[11,13,"pl-c1"],[13,21,"pl-c1"],[22,23,"pl-c1"],[24,25,"pl-c1"]],[],[[5,28,"pl-s1"],[29,30,"pl-c1"],[31,47,"pl-s1"],[48,52,"pl-c1"]],[[5,28,"pl-s1"],[29,30,"pl-c1"],[31,37,"pl-s1"],[37,39,"pl-c1"],[39,47,"pl-c1"],[48,52,"pl-c1"]],[[5,25,"pl-s1"],[26,27,"pl-c1"]],[],[[0,7,"pl-k"]],[[1,17,"pl-s1"],[18,19,"pl-c1"],[20,26,"pl-s1"],[26,28,"pl-c1"],[28,36,"pl-c1"]],[],[],[[4,6,"pl-k"],[9,18,"pl-s1"]],[[1,33,"pl-en"]],[],[[0,7,"pl-k"],[8,20,"pl-c1"]],[[4,6,"pl-k"],[8,28,"pl-s1"]],[[5,7,"pl-c1"],[9,32,"pl-s1"],[33,35,"pl-c1"],[36,59,"pl-s1"]],[[2,4,"pl-c1"],[5,24,"pl-en"],[25,31,"pl-s1"]],[[2,4,"pl-c1"],[5,28,"pl-s1"]],[],[[1,3,"pl-k"],[5,28,"pl-s1"],[29,31,"pl-c1"],[32,55,"pl-s1"]],[[5,18,"pl-en"],[19,25,"pl-s1"],[27,50,"pl-s1"]],[[1,14,"pl-en"],[15,21,"pl-s1"],[23,46,"pl-s1"]],[[1,7,"pl-s1"],[7,9,"pl-c1"],[9,16,"pl-c1"],[21,31,"pl-c1"]],[[1,24,"pl-s1"],[25,26,"pl-c1"]],[],[[0,7,"pl-k"]],[[4,17,"pl-en"],[18,19,"pl-c1"],[22,54,"pl-c"]],[[4,13,"pl-en"]],[[4,20,"pl-en"]],[],[[0,6,"pl-k"]],[],[[0,3,"pl-k"],[12,31,"pl-c1"],[33,35,"pl-c1"],[44,49,"pl-c1"]],[[0,2,"pl-c"]],[[0,78,"pl-c"]],[[0,28,"pl-c"]],[[0,31,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-smi"],[11,12,"pl-c1"]],[[0,20,"pl-en"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,15,"pl-s1"]],[[4,7,"pl-smi"],[9,10,"pl-c1"],[10,16,"pl-s1"],[18,48,"pl-c"]],[[4,7,"pl-smi"],[9,10,"pl-c1"],[10,16,"pl-s1"],[18,45,"pl-c"]],[],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,16,"pl-s1"]],[],[[4,6,"pl-k"],[8,9,"pl-c1"],[9,12,"pl-s1"],[13,15,"pl-c1"],[16,19,"pl-c1"]],[[1,5,"pl-s1"],[6,7,"pl-c1"],[8,23,"pl-en"]],[[4,8,"pl-k"]],[[1,5,"pl-s1"],[6,7,"pl-c1"],[8,11,"pl-s1"]],[[4,6,"pl-k"],[8,12,"pl-s1"],[13,15,"pl-c1"],[16,20,"pl-c1"]],[],[[1,5,"pl-s1"],[6,7,"pl-c1"],[8,19,"pl-en"],[20,24,"pl-s1"]],[[1,3,"pl-k"],[5,9,"pl-s1"],[10,12,"pl-c1"],[13,17,"pl-c1"]],[],[[5,8,"pl-smi"],[9,12,"pl-s1"],[13,14,"pl-c1"],[16,19,"pl-smi"],[20,26,"pl-en"],[27,31,"pl-s1"]],[[5,8,"pl-smi"],[9,10,"pl-s1"]],[],[[5,19,"pl-c"]],[[5,7,"pl-k"],[9,12,"pl-s1"],[16,17,"pl-c1"],[18,20,"pl-c1"],[21,28,"pl-en"],[29,33,"pl-s1"],[35,40,"pl-s"],[42,43,"pl-c1"],[45,47,"pl-c1"],[48,49,"pl-c1"]],[],[[2,13,"pl-en"],[14,18,"pl-s1"],[20,24,"pl-s1"],[25,26,"pl-c1"],[27,28,"pl-c1"],[31,37,"pl-smi"],[39,42,"pl-s1"],[43,44,"pl-c1"],[45,46,"pl-c1"]],[[2,5,"pl-s1"],[6,8,"pl-c1"],[9,10,"pl-c1"]],[],[],[[5,43,"pl-c"]],[[5,7,"pl-k"],[9,12,"pl-s1"],[16,17,"pl-c1"],[18,20,"pl-c1"],[21,22,"pl-c1"],[22,26,"pl-s1"],[27,29,"pl-c1"],[30,34,"pl-c1"],[35,37,"pl-c1"],[39,43,"pl-s1"],[44,45,"pl-c1"],[47,49,"pl-c1"],[50,53,"pl-c1"],[54,56,"pl-c1"],[57,61,"pl-s1"],[62,63,"pl-c1"],[65,67,"pl-c1"],[68,71,"pl-c1"]],[],[[2,3,"pl-c1"],[3,9,"pl-s1"],[10,11,"pl-c1"],[13,17,"pl-s1"],[18,19,"pl-c1"],[21,23,"pl-c1"],[24,27,"pl-c1"]],[[2,13,"pl-en"],[14,18,"pl-s1"],[20,24,"pl-s1"],[25,26,"pl-c1"],[27,28,"pl-c1"],[31,37,"pl-smi"],[39,42,"pl-s1"],[43,44,"pl-c1"],[45,46,"pl-c1"]],[[2,5,"pl-s1"],[6,8,"pl-c1"],[9,10,"pl-c1"]],[],[],[[5,40,"pl-c"]],[[5,7,"pl-k"],[9,12,"pl-s1"],[16,17,"pl-c1"]],[[6,8,"pl-c1"],[9,16,"pl-en"],[17,21,"pl-s1"],[23,28,"pl-s"],[30,31,"pl-c1"],[33,35,"pl-c1"],[36,37,"pl-c1"]],[[6,8,"pl-c1"],[9,16,"pl-en"],[17,21,"pl-s1"],[22,23,"pl-c1"],[24,27,"pl-s1"],[28,29,"pl-c1"],[30,31,"pl-c1"],[33,38,"pl-s"],[40,41,"pl-c1"],[43,45,"pl-c1"],[46,47,"pl-c1"]],[],[[2,3,"pl-c1"],[3,9,"pl-s1"],[10,11,"pl-c1"]],[[2,13,"pl-en"],[14,18,"pl-s1"],[20,24,"pl-s1"],[25,26,"pl-c1"],[27,28,"pl-c1"],[31,37,"pl-smi"],[39,42,"pl-s1"],[43,44,"pl-c1"],[45,46,"pl-c1"]],[[2,6,"pl-s1"],[7,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"],[16,17,"pl-c1"],[18,21,"pl-c1"]],[],[],[[5,42,"pl-c"]],[[5,8,"pl-k"],[10,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[23,24,"pl-c1"],[25,28,"pl-s1"],[30,32,"pl-c1"],[32,33,"pl-s1"]],[[2,4,"pl-k"],[6,10,"pl-s1"],[11,12,"pl-s1"],[14,16,"pl-c1"],[17,21,"pl-c1"],[22,24,"pl-c1"],[26,30,"pl-s1"],[31,32,"pl-s1"],[33,34,"pl-c1"],[35,36,"pl-c1"],[38,40,"pl-c1"],[41,44,"pl-c1"]],[[13,15,"pl-c1"],[16,20,"pl-s1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-c1"],[28,30,"pl-c1"],[31,34,"pl-c1"]],[],[[6,17,"pl-en"],[18,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-s1"],[28,32,"pl-s1"],[33,34,"pl-c1"],[35,36,"pl-s1"],[37,38,"pl-c1"],[39,40,"pl-c1"],[43,49,"pl-smi"],[51,54,"pl-s1"],[55,56,"pl-c1"],[57,58,"pl-s1"]],[[6,8,"pl-c1"],[8,11,"pl-s1"]],[],[],[],[[4,10,"pl-k"],[11,15,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,59,"pl-c"]],[[0,60,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,15,"pl-en"]],[[4,7,"pl-smi"],[9,14,"pl-s1"],[17,58,"pl-c"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,21,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,21,"pl-s1"]],[[4,7,"pl-smi"],[9,13,"pl-s1"],[16,36,"pl-c"]],[],[[4,12,"pl-smi"],[13,15,"pl-s1"]],[[4,7,"pl-smi"],[9,10,"pl-s1"]],[[4,7,"pl-smi"],[9,13,"pl-s1"],[14,15,"pl-c1"],[17,22,"pl-s1"],[23,24,"pl-c1"],[25,38,"pl-c1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,13,"pl-s1"]],[[4,14,"pl-smi"],[15,23,"pl-s1"]],[[4,7,"pl-smi"],[9,22,"pl-s1"],[23,24,"pl-c1"],[25,33,"pl-s1"]],[[4,10,"pl-k"],[11,14,"pl-smi"],[16,20,"pl-s1"],[21,22,"pl-c1"]],[],[[4,72,"pl-c"]],[[4,76,"pl-c"]],[[4,67,"pl-c"]],[[4,6,"pl-k"],[8,23,"pl-s1"],[24,26,"pl-c1"],[27,31,"pl-s1"]],[[1,7,"pl-k"]],[],[[4,49,"pl-c"]],[[4,6,"pl-k"],[9,13,"pl-s1"],[14,16,"pl-c1"],[17,28,"pl-c1"],[29,31,"pl-c1"],[32,36,"pl-s1"],[37,39,"pl-c1"],[40,54,"pl-c1"],[56,58,"pl-c1"],[59,70,"pl-en"]],[[1,7,"pl-k"]],[],[[4,8,"pl-s1"],[9,10,"pl-c1"]],[],[[4,12,"pl-en"],[13,14,"pl-c1"],[14,16,"pl-s1"],[18,19,"pl-c1"],[21,24,"pl-c1"]],[[4,6,"pl-k"],[8,12,"pl-s1"],[13,15,"pl-c1"],[16,30,"pl-c1"]],[[1,10,"pl-en"],[11,12,"pl-c1"],[12,14,"pl-s1"],[17,23,"pl-smi"],[24,25,"pl-c1"],[26,31,"pl-s"]],[],[[4,13,"pl-en"],[14,15,"pl-c1"],[15,17,"pl-s1"],[20,26,"pl-smi"],[27,28,"pl-c1"],[29,34,"pl-s"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,15,"pl-c1"],[16,30,"pl-c1"]],[[1,10,"pl-en"],[11,12,"pl-c1"],[12,14,"pl-s1"],[17,23,"pl-smi"],[24,25,"pl-c1"],[26,31,"pl-s"]],[[4,8,"pl-k"]],[[1,10,"pl-en"],[11,12,"pl-c1"],[12,14,"pl-s1"],[17,23,"pl-smi"],[24,25,"pl-c1"],[26,31,"pl-s"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,15,"pl-c1"],[16,30,"pl-c1"]],[[1,10,"pl-en"],[11,12,"pl-c1"],[12,14,"pl-s1"],[17,23,"pl-smi"],[24,25,"pl-c1"],[26,31,"pl-s"]],[[4,33,"pl-c"]],[[4,5,"pl-s1"],[6,7,"pl-c1"],[8,27,"pl-en"],[28,37,"pl-s1"],[40,46,"pl-smi"],[47,48,"pl-c1"],[49,54,"pl-s"]],[[4,6,"pl-k"],[8,9,"pl-s1"],[10,12,"pl-c1"],[13,17,"pl-c1"]],[[1,10,"pl-en"],[11,12,"pl-c1"],[12,14,"pl-s1"],[16,17,"pl-s1"]],[[4,12,"pl-en"],[13,14,"pl-s1"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,15,"pl-c1"],[16,30,"pl-c1"]],[[1,10,"pl-en"],[11,12,"pl-c1"],[12,14,"pl-s1"],[17,23,"pl-smi"],[24,25,"pl-c1"],[26,31,"pl-s"]],[],[[4,6,"pl-k"],[8,12,"pl-s1"],[13,15,"pl-c1"],[16,30,"pl-c1"]],[],[[1,10,"pl-en"],[11,12,"pl-c1"],[12,14,"pl-s1"],[17,23,"pl-smi"],[24,25,"pl-c1"],[26,29,"pl-s"]],[[1,31,"pl-c"]],[[1,54,"pl-c"]],[[1,2,"pl-s1"],[3,4,"pl-c1"],[5,24,"pl-en"],[25,34,"pl-s1"]],[[4,11,"pl-s1"],[15,21,"pl-smi"],[22,23,"pl-c1"],[24,31,"pl-s"],[35,41,"pl-smi"],[42,43,"pl-c1"],[44,49,"pl-s"]],[[1,3,"pl-k"],[5,6,"pl-s1"],[7,9,"pl-c1"],[10,14,"pl-c1"]],[[5,14,"pl-en"],[15,16,"pl-c1"],[16,18,"pl-s1"],[20,21,"pl-s1"]],[[1,9,"pl-en"],[10,11,"pl-s1"]],[[1,10,"pl-en"],[11,12,"pl-c1"],[12,14,"pl-s1"],[17,23,"pl-smi"],[24,25,"pl-c1"],[26,30,"pl-s"]],[],[[4,13,"pl-en"],[14,15,"pl-c1"],[15,17,"pl-s1"],[19,22,"pl-c1"]],[],[[4,6,"pl-k"],[8,12,"pl-s1"],[13,15,"pl-c1"],[16,27,"pl-c1"]],[],[[1,68,"pl-c"]],[[1,48,"pl-c"]],[[1,9,"pl-s1"],[10,17,"pl-c1"],[18,19,"pl-c1"],[20,31,"pl-en"],[32,34,"pl-s1"],[35,42,"pl-c1"],[44,52,"pl-c1"],[53,54,"pl-c1"],[55,64,"pl-c1"]],[[1,9,"pl-s1"],[10,15,"pl-c1"],[16,17,"pl-c1"],[18,19,"pl-c1"]],[[1,3,"pl-k"],[5,13,"pl-s1"],[14,21,"pl-c1"],[22,24,"pl-c1"],[25,29,"pl-c1"]],[],[[5,6,"pl-s1"],[7,8,"pl-c1"],[9,22,"pl-en"]],[[5,7,"pl-k"],[9,23,"pl-en"],[24,25,"pl-c1"],[25,33,"pl-s1"],[35,36,"pl-s1"],[39,46,"pl-smi"],[47,48,"pl-c1"]],[[9,11,"pl-c1"],[12,20,"pl-s1"],[21,27,"pl-c1"],[28,29,"pl-c1"],[31,33,"pl-c1"],[34,35,"pl-s1"]],[],[[2,56,"pl-c"]],[[2,11,"pl-c"]],[[2,16,"pl-en"]],[],[[2,4,"pl-k"],[6,19,"pl-en"],[22,24,"pl-c1"],[25,27,"pl-c1"]],[],[[6,57,"pl-c"]],[[6,12,"pl-en"]],[],[[6,15,"pl-en"],[17,21,"pl-smi"],[23,31,"pl-s1"],[32,36,"pl-c1"],[37,38,"pl-c1"],[40,41,"pl-c1"],[42,50,"pl-s1"],[51,57,"pl-c1"],[58,59,"pl-c1"]],[],[[6,13,"pl-en"],[14,23,"pl-s1"],[25,31,"pl-en"],[32,41,"pl-s1"]],[],[],[[5,9,"pl-k"]],[[2,5,"pl-en"],[6,7,"pl-en"],[8,42,"pl-s"]],[[5,16,"pl-en"],[17,25,"pl-s1"],[26,33,"pl-c1"]],[],[],[],[[4,6,"pl-k"],[8,12,"pl-s1"],[13,15,"pl-c1"],[16,30,"pl-c1"]],[],[[1,53,"pl-c"]],[[1,7,"pl-en"]],[[1,15,"pl-en"],[16,18,"pl-s1"],[19,26,"pl-c1"]],[],[[4,8,"pl-k"]],[],[[1,4,"pl-smi"],[5,16,"pl-s1"],[17,18,"pl-c1"],[19,29,"pl-c1"],[30,31,"pl-c1"],[32,43,"pl-c1"]],[],[[1,30,"pl-c"]],[[1,52,"pl-c"]],[[1,3,"pl-k"],[5,9,"pl-s1"],[10,12,"pl-c1"],[13,24,"pl-c1"]],[[5,16,"pl-s1"],[17,19,"pl-c1"],[20,32,"pl-c1"]],[[1,2,"pl-s1"],[3,4,"pl-c1"],[5,15,"pl-s1"]],[[1,3,"pl-k"],[5,9,"pl-s1"]],[],[[6,10,"pl-smi"],[11,20,"pl-en"],[21,25,"pl-c1"],[27,30,"pl-c1"],[32,35,"pl-c1"],[37,39,"pl-s1"],[40,47,"pl-c1"],[49,55,"pl-en"],[56,58,"pl-s1"],[59,66,"pl-c1"],[69,71,"pl-c1"],[73,84,"pl-s1"],[86,90,"pl-c1"]],[],[[1,5,"pl-k"]],[],[[5,71,"pl-c"]],[[5,17,"pl-c"]],[[5,6,"pl-s1"],[7,8,"pl-c1"],[9,28,"pl-en"],[29,31,"pl-s1"],[32,39,"pl-c1"],[42,48,"pl-smi"],[49,50,"pl-c1"],[51,54,"pl-s"]],[[5,7,"pl-k"],[9,10,"pl-s1"],[11,13,"pl-c1"],[14,18,"pl-c1"]],[[3,7,"pl-smi"],[8,17,"pl-en"],[18,22,"pl-c1"],[24,27,"pl-c1"],[29,32,"pl-c1"],[34,35,"pl-s1"],[37,43,"pl-en"],[44,45,"pl-s1"],[48,50,"pl-c1"],[52,63,"pl-s1"],[65,69,"pl-c1"]],[[5,13,"pl-en"],[14,15,"pl-s1"]],[],[],[[1,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-s1"],[21,65,"pl-c"]],[],[],[[4,72,"pl-c"]],[[4,43,"pl-c"]],[[4,12,"pl-s1"],[13,14,"pl-c1"],[15,28,"pl-s1"]],[],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,15,"pl-c1"],[17,28,"pl-c1"],[31,42,"pl-c1"]],[],[[1,18,"pl-en"],[23,43,"pl-c"]],[[1,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"],[19,43,"pl-c"]],[[1,17,"pl-s1"],[18,19,"pl-c1"],[27,51,"pl-c"]],[],[],[[4,12,"pl-en"],[13,15,"pl-s1"],[16,23,"pl-c1"]],[[4,8,"pl-s1"],[9,10,"pl-c1"]],[[4,10,"pl-k"],[12,14,"pl-s1"],[15,21,"pl-c1"],[22,23,"pl-c1"],[24,25,"pl-c1"]],[],[],[[0,6,"pl-k"]],[],[[0,3,"pl-k"],[12,26,"pl-c1"],[28,30,"pl-c1"],[39,44,"pl-c1"]],[[0,2,"pl-c"]],[[0,48,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,14,"pl-en"],[15,18,"pl-smi"],[19,20,"pl-s1"],[22,25,"pl-smi"],[26,27,"pl-s1"]],[],[[4,7,"pl-smi"],[9,12,"pl-s1"],[13,14,"pl-c1"],[15,22,"pl-en"],[23,24,"pl-s1"]],[[4,7,"pl-smi"],[9,12,"pl-s1"],[13,14,"pl-c1"],[15,22,"pl-en"],[23,24,"pl-s1"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,13,"pl-s1"]],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"],[16,18,"pl-c1"],[19,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,6,"pl-s1"],[7,8,"pl-c1"],[9,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[30,31,"pl-c1"],[31,34,"pl-s1"],[36,46,"pl-c1"]],[[4,6,"pl-k"],[8,10,"pl-s1"],[11,13,"pl-c1"],[14,18,"pl-c1"],[19,21,"pl-c1"],[22,24,"pl-s1"],[25,27,"pl-c1"],[28,34,"pl-s1"]],[[1,9,"pl-en"],[10,12,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,72,"pl-c"]],[[0,34,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,13,"pl-en"],[14,18,"pl-smi"],[19,20,"pl-c1"],[20,26,"pl-s1"]],[],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,13,"pl-s1"],[14,15,"pl-c1"],[16,22,"pl-s1"]],[[4,7,"pl-smi"],[9,19,"pl-s1"],[20,21,"pl-c1"]],[],[[4,74,"pl-c"]],[[4,74,"pl-c"]],[[4,33,"pl-c"]],[[4,6,"pl-k"],[8,9,"pl-s1"],[10,12,"pl-c1"],[13,17,"pl-c1"]],[],[[1,3,"pl-k"],[5,14,"pl-en"],[15,16,"pl-s1"]],[],[[5,7,"pl-k"],[9,18,"pl-en"],[20,24,"pl-smi"],[25,26,"pl-c1"],[27,28,"pl-s1"],[30,32,"pl-c1"],[33,34,"pl-c1"]],[[2,12,"pl-s1"],[13,14,"pl-c1"]],[],[[1,5,"pl-k"],[6,8,"pl-k"],[10,23,"pl-en"],[24,25,"pl-s1"],[27,33,"pl-s"],[35,37,"pl-c1"],[38,40,"pl-c1"]],[[5,15,"pl-s1"],[16,17,"pl-c1"]],[[1,9,"pl-en"],[10,11,"pl-s1"]],[[1,3,"pl-k"],[5,15,"pl-s1"]],[],[[5,19,"pl-en"]],[[5,22,"pl-s1"],[23,24,"pl-c1"],[25,31,"pl-s"]],[],[],[],[[4,32,"pl-c"]],[[4,17,"pl-en"],[18,31,"pl-c1"]],[[0,7,"pl-k"],[8,17,"pl-c1"]],[[4,20,"pl-en"],[21,22,"pl-c1"]],[[0,7,"pl-k"]],[[4,13,"pl-en"]],[[4,13,"pl-en"]],[[4,20,"pl-en"]],[],[],[[0,2,"pl-c"]],[[0,74,"pl-c"]],[[0,77,"pl-c"]],[[0,78,"pl-c"]],[[0,35,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,15,"pl-en"]],[[4,7,"pl-smi"],[9,10,"pl-s1"],[11,17,"pl-c1"]],[[4,7,"pl-smi"],[9,10,"pl-s1"],[11,17,"pl-c1"]],[[4,9,"pl-smi"],[10,19,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,13,"pl-c1"],[13,19,"pl-s1"]],[[4,7,"pl-smi"],[9,14,"pl-s1"]],[],[[4,7,"pl-smi"],[9,10,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,13,"pl-s1"]],[[4,10,"pl-k"],[11,14,"pl-smi"],[15,22,"pl-s1"],[23,24,"pl-c1"]],[],[[4,6,"pl-c"]],[[0,72,"pl-c"]],[[0,75,"pl-c"]],[[0,54,"pl-c"]],[[0,7,"pl-c"]],[[4,6,"pl-k"],[8,15,"pl-s1"]],[[1,7,"pl-k"]],[[4,11,"pl-s1"],[12,13,"pl-c1"]],[],[[4,6,"pl-c"]],[[0,72,"pl-c"]],[[0,42,"pl-c"]],[[0,7,"pl-c"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,15,"pl-c1"],[16,28,"pl-c1"]],[],[[1,18,"pl-en"],[19,25,"pl-s1"],[27,32,"pl-s1"]],[[1,4,"pl-k"],[6,7,"pl-s1"],[8,9,"pl-c1"],[10,11,"pl-c1"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,22,"pl-s1"],[24,26,"pl-c1"],[26,27,"pl-s1"]],[],[[5,7,"pl-k"],[9,15,"pl-s1"],[16,17,"pl-s1"],[19,21,"pl-c1"],[22,26,"pl-c1"]],[],[[2,4,"pl-k"],[6,7,"pl-s1"],[8,9,"pl-c1"],[10,11,"pl-c1"]],[[6,22,"pl-en"],[24,30,"pl-smi"],[30,31,"pl-c1"],[32,35,"pl-s"],[37,38,"pl-c1"]],[],[[2,61,"pl-c"]],[[2,64,"pl-c"]],[[2,22,"pl-c"]],[[0,7,"pl-k"],[8,29,"pl-c1"]],[[2,3,"pl-s1"],[4,5,"pl-c1"],[6,25,"pl-en"],[26,32,"pl-s1"],[33,34,"pl-s1"],[38,44,"pl-smi"],[45,46,"pl-c1"],[47,55,"pl-s"]],[[0,6,"pl-k"]],[[2,3,"pl-s1"],[4,5,"pl-c1"],[6,25,"pl-en"],[26,32,"pl-s1"],[33,34,"pl-s1"],[38,44,"pl-smi"],[45,46,"pl-c1"],[47,57,"pl-s"]],[[0,7,"pl-k"]],[[2,4,"pl-k"],[6,7,"pl-s1"],[8,10,"pl-c1"],[11,15,"pl-c1"]],[[6,26,"pl-en"],[27,28,"pl-s1"],[31,34,"pl-smi"],[35,41,"pl-en"],[42,43,"pl-s1"]],[[2,10,"pl-en"],[11,12,"pl-s1"]],[[2,10,"pl-en"],[11,17,"pl-s1"],[18,19,"pl-s1"]],[],[],[[1,9,"pl-en"],[10,16,"pl-s1"]],[],[[4,8,"pl-k"]],[],[[1,71,"pl-c"]],[[1,64,"pl-c"]],[[1,15,"pl-en"],[16,17,"pl-s1"],[19,20,"pl-s1"]],[[1,18,"pl-en"],[19,25,"pl-s1"],[27,32,"pl-s1"]],[],[[1,48,"pl-c"]],[[1,3,"pl-k"],[6,15,"pl-s1"],[16,17,"pl-c1"],[18,29,"pl-c1"],[31,33,"pl-c1"],[34,35,"pl-c1"]],[[5,6,"pl-s1"],[7,8,"pl-c1"],[9,20,"pl-en"],[21,27,"pl-s1"],[28,29,"pl-c1"]],[[1,5,"pl-k"]],[[5,6,"pl-s1"],[7,8,"pl-c1"],[9,13,"pl-c1"]],[],[[1,67,"pl-c"]],[[1,64,"pl-c"]],[[1,37,"pl-c"]],[[1,3,"pl-k"],[5,10,"pl-s1"],[11,13,"pl-c1"],[14,15,"pl-c1"],[16,18,"pl-c1"],[20,29,"pl-s1"],[30,31,"pl-c1"],[32,43,"pl-c1"],[45,47,"pl-c1"],[48,49,"pl-c1"]],[[11,13,"pl-c1"],[14,23,"pl-en"],[24,30,"pl-s1"],[31,32,"pl-c1"]],[],[[5,13,"pl-en"],[14,20,"pl-s1"],[21,22,"pl-c1"]],[[5,13,"pl-en"],[14,20,"pl-s1"]],[[5,13,"pl-en"],[14,15,"pl-s1"]],[],[[1,5,"pl-k"]],[[5,16,"pl-en"],[17,22,"pl-s1"],[24,30,"pl-s1"],[33,42,"pl-s1"],[43,44,"pl-c1"],[45,55,"pl-c1"],[57,59,"pl-c1"],[60,61,"pl-c1"]],[[11,24,"pl-s1"],[27,31,"pl-smi"],[32,33,"pl-c1"],[34,35,"pl-s1"]],[],[],[[4,11,"pl-s1"],[12,13,"pl-c1"]],[],[[0,6,"pl-k"]],[],[[0,2,"pl-c"]],[[0,79,"pl-c"]],[[0,15,"pl-c"]],[[0,59,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,19,"pl-en"],[20,23,"pl-smi"],[24,27,"pl-s1"],[29,32,"pl-smi"],[33,46,"pl-s1"]],[],[[4,7,"pl-smi"],[8,17,"pl-s1"],[18,19,"pl-c1"],[20,33,"pl-s1"]],[[4,7,"pl-smi"],[8,9,"pl-s1"],[10,11,"pl-c1"],[12,33,"pl-en"],[34,37,"pl-s1"],[39,40,"pl-c1"],[40,49,"pl-s1"]],[],[[4,6,"pl-k"],[9,10,"pl-s1"],[11,13,"pl-c1"],[14,20,"pl-s1"],[21,23,"pl-c1"],[24,41,"pl-s1"]],[[0,6,"pl-k"],[7,11,"pl-c1"]],[[5,7,"pl-c1"],[9,18,"pl-s1"],[19,21,"pl-c1"],[22,28,"pl-s1"],[29,31,"pl-c1"],[32,33,"pl-s1"],[34,36,"pl-c1"],[37,46,"pl-s1"]],[[0,6,"pl-k"]],[],[],[[1,8,"pl-s1"],[9,10,"pl-c1"]],[[1,7,"pl-k"],[8,9,"pl-s1"]],[],[[4,10,"pl-k"],[11,14,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,77,"pl-c"]],[[0,62,"pl-c"]],[[0,76,"pl-c"]],[[0,63,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,14,"pl-en"],[15,21,"pl-smi"],[22,23,"pl-c1"],[23,28,"pl-s1"],[30,36,"pl-smi"],[37,38,"pl-c1"],[38,45,"pl-s1"]],[],[[4,10,"pl-smi"],[12,13,"pl-c1"],[13,18,"pl-s1"],[19,20,"pl-c1"],[21,40,"pl-en"]],[[4,8,"pl-smi"],[12,13,"pl-c1"],[13,15,"pl-s1"]],[],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,16,"pl-c1"],[17,21,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,6,"pl-s1"],[7,8,"pl-c1"],[9,18,"pl-en"],[20,24,"pl-smi"],[25,26,"pl-c1"],[27,32,"pl-s1"],[34,37,"pl-s"]],[[4,6,"pl-k"],[8,10,"pl-s1"],[11,13,"pl-c1"],[14,18,"pl-c1"]],[],[[1,8,"pl-en"],[9,11,"pl-s1"],[13,23,"pl-s"],[25,30,"pl-s1"],[32,39,"pl-s1"]],[[1,7,"pl-en"],[8,10,"pl-s1"]],[],[[4,10,"pl-k"]],[]],"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/vim/vim/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"gui.c","displayUrl":"https://github.com/vim/vim/blob/master/src/gui.c?raw=true","headerInfo":{"blobSize":"137 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"onBranch":true,"shortPath":"0b9e328","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fvim%2Fvim%2Fblob%2Fmaster%2Fsrc%2Fgui.c","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":"5544","truncatedSloc":"5033"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":"C","languageID":41,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/vim/vim/blob/master/src/gui.c","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/vim/vim/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/vim/vim/raw/refs/heads/master/src/gui.c","renderImageOrRaw":false,"richText":null,"renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":8,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":{"timed_out":true,"not_analyzed":false,"symbols":[{"name":"USE_SET_GUIFONTWIDE","kind":"macro","ident_start":456,"ident_end":475,"extent_start":447,"extent_end":476,"fully_qualified_name":"USE_SET_GUIFONTWIDE","ident_utf16":{"start":{"line_number":16,"utf16_col":9},"end":{"line_number":16,"utf16_col":28}},"extent_utf16":{"start":{"line_number":16,"utf16_col":0},"end":{"line_number":17,"utf16_col":0}}},{"name":"set_guifontwide","kind":"function","ident_start":488,"ident_end":503,"extent_start":488,"extent_end":522,"fully_qualified_name":"set_guifontwide","ident_utf16":{"start":{"line_number":17,"utf16_col":12},"end":{"line_number":17,"utf16_col":27}},"extent_utf16":{"start":{"line_number":17,"utf16_col":12},"end":{"line_number":17,"utf16_col":46}}},{"name":"gui_check_pos","kind":"function","ident_start":543,"ident_end":556,"extent_start":543,"extent_end":562,"fully_qualified_name":"gui_check_pos","ident_utf16":{"start":{"line_number":19,"utf16_col":12},"end":{"line_number":19,"utf16_col":25}},"extent_utf16":{"start":{"line_number":19,"utf16_col":12},"end":{"line_number":19,"utf16_col":31}}},{"name":"gui_reset_scroll_region","kind":"function","ident_start":576,"ident_end":599,"extent_start":576,"extent_end":605,"fully_qualified_name":"gui_reset_scroll_region","ident_utf16":{"start":{"line_number":20,"utf16_col":12},"end":{"line_number":20,"utf16_col":35}},"extent_utf16":{"start":{"line_number":20,"utf16_col":12},"end":{"line_number":20,"utf16_col":41}}},{"name":"gui_outstr","kind":"function","ident_start":619,"ident_end":629,"extent_start":619,"extent_end":644,"fully_qualified_name":"gui_outstr","ident_utf16":{"start":{"line_number":21,"utf16_col":12},"end":{"line_number":21,"utf16_col":22}},"extent_utf16":{"start":{"line_number":21,"utf16_col":12},"end":{"line_number":21,"utf16_col":37}}},{"name":"gui_screenchar","kind":"function","ident_start":657,"ident_end":671,"extent_start":657,"extent_end":731,"fully_qualified_name":"gui_screenchar","ident_utf16":{"start":{"line_number":22,"utf16_col":11},"end":{"line_number":22,"utf16_col":25}},"extent_utf16":{"start":{"line_number":22,"utf16_col":11},"end":{"line_number":22,"utf16_col":85}}},{"name":"gui_outstr_nowrap","kind":"function","ident_start":744,"ident_end":761,"extent_start":744,"extent_end":832,"fully_qualified_name":"gui_outstr_nowrap","ident_utf16":{"start":{"line_number":23,"utf16_col":11},"end":{"line_number":23,"utf16_col":28}},"extent_utf16":{"start":{"line_number":23,"utf16_col":11},"end":{"line_number":23,"utf16_col":99}}},{"name":"gui_delete_lines","kind":"function","ident_start":846,"ident_end":862,"extent_start":846,"extent_end":882,"fully_qualified_name":"gui_delete_lines","ident_utf16":{"start":{"line_number":24,"utf16_col":12},"end":{"line_number":24,"utf16_col":28}},"extent_utf16":{"start":{"line_number":24,"utf16_col":12},"end":{"line_number":24,"utf16_col":48}}},{"name":"gui_insert_lines","kind":"function","ident_start":896,"ident_end":912,"extent_start":896,"extent_end":932,"fully_qualified_name":"gui_insert_lines","ident_utf16":{"start":{"line_number":25,"utf16_col":12},"end":{"line_number":25,"utf16_col":28}},"extent_utf16":{"start":{"line_number":25,"utf16_col":12},"end":{"line_number":25,"utf16_col":48}}},{"name":"gui_xy2colrow","kind":"function","ident_start":945,"ident_end":958,"extent_start":945,"extent_end":983,"fully_qualified_name":"gui_xy2colrow","ident_utf16":{"start":{"line_number":26,"utf16_col":11},"end":{"line_number":26,"utf16_col":24}},"extent_utf16":{"start":{"line_number":26,"utf16_col":11},"end":{"line_number":26,"utf16_col":49}}},{"name":"gui_has_tabline","kind":"function","ident_start":1044,"ident_end":1059,"extent_start":1044,"extent_end":1065,"fully_qualified_name":"gui_has_tabline","ident_utf16":{"start":{"line_number":28,"utf16_col":11},"end":{"line_number":28,"utf16_col":26}},"extent_utf16":{"start":{"line_number":28,"utf16_col":11},"end":{"line_number":28,"utf16_col":32}}},{"name":"gui_do_scrollbar","kind":"function","ident_start":1086,"ident_end":1102,"extent_start":1086,"extent_end":1136,"fully_qualified_name":"gui_do_scrollbar","ident_utf16":{"start":{"line_number":30,"utf16_col":12},"end":{"line_number":30,"utf16_col":28}},"extent_utf16":{"start":{"line_number":30,"utf16_col":12},"end":{"line_number":30,"utf16_col":62}}},{"name":"gui_update_horiz_scrollbar","kind":"function","ident_start":1150,"ident_end":1176,"extent_start":1150,"extent_end":1181,"fully_qualified_name":"gui_update_horiz_scrollbar","ident_utf16":{"start":{"line_number":31,"utf16_col":12},"end":{"line_number":31,"utf16_col":38}},"extent_utf16":{"start":{"line_number":31,"utf16_col":12},"end":{"line_number":31,"utf16_col":43}}},{"name":"gui_set_fg_color","kind":"function","ident_start":1195,"ident_end":1211,"extent_start":1195,"extent_end":1225,"fully_qualified_name":"gui_set_fg_color","ident_utf16":{"start":{"line_number":32,"utf16_col":12},"end":{"line_number":32,"utf16_col":28}},"extent_utf16":{"start":{"line_number":32,"utf16_col":12},"end":{"line_number":32,"utf16_col":42}}},{"name":"gui_set_bg_color","kind":"function","ident_start":1239,"ident_end":1255,"extent_start":1239,"extent_end":1269,"fully_qualified_name":"gui_set_bg_color","ident_utf16":{"start":{"line_number":33,"utf16_col":12},"end":{"line_number":33,"utf16_col":28}},"extent_utf16":{"start":{"line_number":33,"utf16_col":12},"end":{"line_number":33,"utf16_col":42}}},{"name":"init_gui_options","kind":"function","ident_start":1283,"ident_end":1299,"extent_start":1283,"extent_end":1305,"fully_qualified_name":"init_gui_options","ident_utf16":{"start":{"line_number":34,"utf16_col":12},"end":{"line_number":34,"utf16_col":28}},"extent_utf16":{"start":{"line_number":34,"utf16_col":12},"end":{"line_number":34,"utf16_col":34}}},{"name":"xy2win","kind":"function","ident_start":1321,"ident_end":1327,"extent_start":1321,"extent_end":1361,"fully_qualified_name":"xy2win","ident_utf16":{"start":{"line_number":35,"utf16_col":14},"end":{"line_number":35,"utf16_col":20}},"extent_utf16":{"start":{"line_number":35,"utf16_col":14},"end":{"line_number":35,"utf16_col":54}}},{"name":"gui_do_fork","kind":"function","ident_start":1396,"ident_end":1407,"extent_start":1396,"extent_end":1413,"fully_qualified_name":"gui_do_fork","ident_utf16":{"start":{"line_number":38,"utf16_col":12},"end":{"line_number":38,"utf16_col":23}},"extent_utf16":{"start":{"line_number":38,"utf16_col":12},"end":{"line_number":38,"utf16_col":29}}},{"name":"gui_read_child_pipe","kind":"function","ident_start":1427,"ident_end":1446,"extent_start":1427,"extent_end":1454,"fully_qualified_name":"gui_read_child_pipe","ident_utf16":{"start":{"line_number":40,"utf16_col":11},"end":{"line_number":40,"utf16_col":30}},"extent_utf16":{"start":{"line_number":40,"utf16_col":11},"end":{"line_number":40,"utf16_col":38}}},{"name":"gui_attempt_start","kind":"function","ident_start":1591,"ident_end":1608,"extent_start":1591,"extent_end":1614,"fully_qualified_name":"gui_attempt_start","ident_utf16":{"start":{"line_number":50,"utf16_col":12},"end":{"line_number":50,"utf16_col":29}},"extent_utf16":{"start":{"line_number":50,"utf16_col":12},"end":{"line_number":50,"utf16_col":35}}},{"name":"gui_start","kind":"function","ident_start":1995,"ident_end":2004,"extent_start":1995,"extent_end":2024,"fully_qualified_name":"gui_start","ident_utf16":{"start":{"line_number":63,"utf16_col":0},"end":{"line_number":63,"utf16_col":9}},"extent_utf16":{"start":{"line_number":63,"utf16_col":0},"end":{"line_number":63,"utf16_col":29}}},{"name":"gui_attempt_start","kind":"function","ident_start":5063,"ident_end":5080,"extent_start":5063,"extent_end":5086,"fully_qualified_name":"gui_attempt_start","ident_utf16":{"start":{"line_number":172,"utf16_col":0},"end":{"line_number":172,"utf16_col":17}},"extent_utf16":{"start":{"line_number":172,"utf16_col":0},"end":{"line_number":172,"utf16_col":23}}},{"name":"gui_do_fork","kind":"function","ident_start":6243,"ident_end":6254,"extent_start":6243,"extent_end":6260,"fully_qualified_name":"gui_do_fork","ident_utf16":{"start":{"line_number":224,"utf16_col":0},"end":{"line_number":224,"utf16_col":11}},"extent_utf16":{"start":{"line_number":224,"utf16_col":0},"end":{"line_number":224,"utf16_col":17}}},{"name":"gui_read_child_pipe","kind":"function","ident_start":9425,"ident_end":9444,"extent_start":9425,"extent_end":9452,"fully_qualified_name":"gui_read_child_pipe","ident_utf16":{"start":{"line_number":347,"utf16_col":0},"end":{"line_number":347,"utf16_col":19}},"extent_utf16":{"start":{"line_number":347,"utf16_col":0},"end":{"line_number":347,"utf16_col":27}}},{"name":"READ_BUFFER_SIZE","kind":"macro","ident_start":9485,"ident_end":9501,"extent_start":9476,"extent_end":9505,"fully_qualified_name":"READ_BUFFER_SIZE","ident_utf16":{"start":{"line_number":350,"utf16_col":9},"end":{"line_number":350,"utf16_col":25}},"extent_utf16":{"start":{"line_number":350,"utf16_col":0},"end":{"line_number":351,"utf16_col":0}}},{"name":"gui_prepare","kind":"function","ident_start":9922,"ident_end":9933,"extent_start":9922,"extent_end":9957,"fully_qualified_name":"gui_prepare","ident_utf16":{"start":{"line_number":370,"utf16_col":0},"end":{"line_number":370,"utf16_col":11}},"extent_utf16":{"start":{"line_number":370,"utf16_col":0},"end":{"line_number":370,"utf16_col":35}}},{"name":"gui_init_check","kind":"function","ident_start":10332,"ident_end":10346,"extent_start":10332,"extent_end":10352,"fully_qualified_name":"gui_init_check","ident_utf16":{"start":{"line_number":384,"utf16_col":0},"end":{"line_number":384,"utf16_col":14}},"extent_utf16":{"start":{"line_number":384,"utf16_col":0},"end":{"line_number":384,"utf16_col":20}}},{"name":"gui_init","kind":"function","ident_start":13005,"ident_end":13013,"extent_start":13005,"extent_end":13019,"fully_qualified_name":"gui_init","ident_utf16":{"start":{"line_number":487,"utf16_col":0},"end":{"line_number":487,"utf16_col":8}},"extent_utf16":{"start":{"line_number":487,"utf16_col":0},"end":{"line_number":487,"utf16_col":14}}},{"name":"gui_exit","kind":"function","ident_start":22366,"ident_end":22374,"extent_start":22366,"extent_end":22382,"fully_qualified_name":"gui_exit","ident_utf16":{"start":{"line_number":842,"utf16_col":0},"end":{"line_number":842,"utf16_col":8}},"extent_utf16":{"start":{"line_number":842,"utf16_col":0},"end":{"line_number":842,"utf16_col":16}}},{"name":"NEED_GUI_UPDATE_SCREEN","kind":"macro","ident_start":22688,"ident_end":22710,"extent_start":22679,"extent_end":22713,"fully_qualified_name":"NEED_GUI_UPDATE_SCREEN","ident_utf16":{"start":{"line_number":853,"utf16_col":9},"end":{"line_number":853,"utf16_col":31}},"extent_utf16":{"start":{"line_number":853,"utf16_col":0},"end":{"line_number":854,"utf16_col":0}}},{"name":"gui_shell_closed","kind":"function","ident_start":22942,"ident_end":22958,"extent_start":22942,"extent_end":22964,"fully_qualified_name":"gui_shell_closed","ident_utf16":{"start":{"line_number":861,"utf16_col":0},"end":{"line_number":861,"utf16_col":16}},"extent_utf16":{"start":{"line_number":861,"utf16_col":0},"end":{"line_number":861,"utf16_col":22}}},{"name":"gui_init_font","kind":"function","ident_start":23965,"ident_end":23978,"extent_start":23965,"extent_end":24017,"fully_qualified_name":"gui_init_font","ident_utf16":{"start":{"line_number":896,"utf16_col":0},"end":{"line_number":896,"utf16_col":13}},"extent_utf16":{"start":{"line_number":896,"utf16_col":0},"end":{"line_number":896,"utf16_col":52}}},{"name":"FONTLEN","kind":"macro","ident_start":24028,"ident_end":24035,"extent_start":24020,"extent_end":24040,"fully_qualified_name":"FONTLEN","ident_utf16":{"start":{"line_number":898,"utf16_col":8},"end":{"line_number":898,"utf16_col":15}},"extent_utf16":{"start":{"line_number":898,"utf16_col":0},"end":{"line_number":899,"utf16_col":0}}},{"name":"set_guifontwide","kind":"function","ident_start":26002,"ident_end":26017,"extent_start":26002,"extent_end":26031,"fully_qualified_name":"set_guifontwide","ident_utf16":{"start":{"line_number":976,"utf16_col":0},"end":{"line_number":976,"utf16_col":15}},"extent_utf16":{"start":{"line_number":976,"utf16_col":0},"end":{"line_number":976,"utf16_col":29}}},{"name":"gui_get_wide_font","kind":"function","ident_start":26931,"ident_end":26948,"extent_start":26931,"extent_end":26954,"fully_qualified_name":"gui_get_wide_font","ident_utf16":{"start":{"line_number":1025,"utf16_col":0},"end":{"line_number":1025,"utf16_col":17}},"extent_utf16":{"start":{"line_number":1025,"utf16_col":0},"end":{"line_number":1025,"utf16_col":23}}},{"name":"gui_set_ligatures","kind":"function","ident_start":28282,"ident_end":28299,"extent_start":28282,"extent_end":28305,"fully_qualified_name":"gui_set_ligatures","ident_utf16":{"start":{"line_number":1077,"utf16_col":0},"end":{"line_number":1077,"utf16_col":17}},"extent_utf16":{"start":{"line_number":1077,"utf16_col":0},"end":{"line_number":1077,"utf16_col":23}}},{"name":"gui_adjust_undraw_cursor_for_ligatures","kind":"function","ident_start":28823,"ident_end":28861,"extent_start":28823,"extent_end":28889,"fully_qualified_name":"gui_adjust_undraw_cursor_for_ligatures","ident_utf16":{"start":{"line_number":1104,"utf16_col":0},"end":{"line_number":1104,"utf16_col":38}},"extent_utf16":{"start":{"line_number":1104,"utf16_col":0},"end":{"line_number":1104,"utf16_col":66}}},{"name":"gui_set_cursor","kind":"function","ident_start":29524,"ident_end":29538,"extent_start":29524,"extent_end":29556,"fully_qualified_name":"gui_set_cursor","ident_utf16":{"start":{"line_number":1127,"utf16_col":0},"end":{"line_number":1127,"utf16_col":14}},"extent_utf16":{"start":{"line_number":1127,"utf16_col":0},"end":{"line_number":1127,"utf16_col":32}}},{"name":"gui_check_pos","kind":"function","ident_start":29680,"ident_end":29693,"extent_start":29680,"extent_end":29699,"fully_qualified_name":"gui_check_pos","ident_utf16":{"start":{"line_number":1137,"utf16_col":0},"end":{"line_number":1137,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1137,"utf16_col":0},"end":{"line_number":1137,"utf16_col":19}}},{"name":"gui_update_cursor","kind":"function","ident_start":30145,"ident_end":30162,"extent_start":30145,"extent_end":30248,"fully_qualified_name":"gui_update_cursor","ident_utf16":{"start":{"line_number":1153,"utf16_col":0},"end":{"line_number":1153,"utf16_col":17}},"extent_utf16":{"start":{"line_number":1153,"utf16_col":0},"end":{"line_number":1155,"utf16_col":25}}},{"name":"gui_position_menu","kind":"function","ident_start":36654,"ident_end":36671,"extent_start":36654,"extent_end":36677,"fully_qualified_name":"gui_position_menu","ident_utf16":{"start":{"line_number":1405,"utf16_col":0},"end":{"line_number":1405,"utf16_col":17}},"extent_utf16":{"start":{"line_number":1405,"utf16_col":0},"end":{"line_number":1405,"utf16_col":23}}},{"name":"gui_position_components","kind":"function","ident_start":37019,"ident_end":37042,"extent_start":37019,"extent_end":37066,"fully_qualified_name":"gui_position_components","ident_utf16":{"start":{"line_number":1419,"utf16_col":0},"end":{"line_number":1419,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1419,"utf16_col":0},"end":{"line_number":1419,"utf16_col":47}}},{"name":"gui_get_base_width","kind":"function","ident_start":39175,"ident_end":39193,"extent_start":39175,"extent_end":39199,"fully_qualified_name":"gui_get_base_width","ident_utf16":{"start":{"line_number":1497,"utf16_col":0},"end":{"line_number":1497,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1497,"utf16_col":0},"end":{"line_number":1497,"utf16_col":24}}},{"name":"gui_get_base_height","kind":"function","ident_start":39543,"ident_end":39562,"extent_start":39543,"extent_end":39568,"fully_qualified_name":"gui_get_base_height","ident_utf16":{"start":{"line_number":1513,"utf16_col":0},"end":{"line_number":1513,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1513,"utf16_col":0},"end":{"line_number":1513,"utf16_col":25}}},{"name":"gui_resize_shell","kind":"function","ident_start":40603,"ident_end":40619,"extent_start":40603,"extent_end":40654,"fully_qualified_name":"gui_resize_shell","ident_utf16":{"start":{"line_number":1550,"utf16_col":0},"end":{"line_number":1550,"utf16_col":16}},"extent_utf16":{"start":{"line_number":1550,"utf16_col":0},"end":{"line_number":1550,"utf16_col":51}}},{"name":"gui_may_resize_shell","kind":"function","ident_start":42707,"ident_end":42727,"extent_start":42707,"extent_end":42733,"fully_qualified_name":"gui_may_resize_shell","ident_utf16":{"start":{"line_number":1637,"utf16_col":0},"end":{"line_number":1637,"utf16_col":20}},"extent_utf16":{"start":{"line_number":1637,"utf16_col":0},"end":{"line_number":1637,"utf16_col":26}}},{"name":"gui_get_shellsize","kind":"function","ident_start":42928,"ident_end":42945,"extent_start":42928,"extent_end":42951,"fully_qualified_name":"gui_get_shellsize","ident_utf16":{"start":{"line_number":1646,"utf16_col":0},"end":{"line_number":1646,"utf16_col":17}},"extent_utf16":{"start":{"line_number":1646,"utf16_col":0},"end":{"line_number":1646,"utf16_col":23}}},{"name":"gui_set_shellsize","kind":"function","ident_start":43328,"ident_end":43345,"extent_start":43328,"extent_end":43416,"fully_qualified_name":"gui_set_shellsize","ident_utf16":{"start":{"line_number":1661,"utf16_col":0},"end":{"line_number":1661,"utf16_col":17}},"extent_utf16":{"start":{"line_number":1661,"utf16_col":0},"end":{"line_number":1664,"utf16_col":19}}},{"name":"gui_new_shellsize","kind":"function","ident_start":46446,"ident_end":46463,"extent_start":46446,"extent_end":46469,"fully_qualified_name":"gui_new_shellsize","ident_utf16":{"start":{"line_number":1775,"utf16_col":0},"end":{"line_number":1775,"utf16_col":17}},"extent_utf16":{"start":{"line_number":1775,"utf16_col":0},"end":{"line_number":1775,"utf16_col":23}}},{"name":"gui_reset_scroll_region","kind":"function","ident_start":46571,"ident_end":46594,"extent_start":46571,"extent_end":46600,"fully_qualified_name":"gui_reset_scroll_region","ident_utf16":{"start":{"line_number":1784,"utf16_col":0},"end":{"line_number":1784,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1784,"utf16_col":0},"end":{"line_number":1784,"utf16_col":29}}},{"name":"gui_start_highlight","kind":"function","ident_start":46779,"ident_end":46798,"extent_start":46779,"extent_end":46808,"fully_qualified_name":"gui_start_highlight","ident_utf16":{"start":{"line_number":1793,"utf16_col":0},"end":{"line_number":1793,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1793,"utf16_col":0},"end":{"line_number":1793,"utf16_col":29}}},{"name":"gui_stop_highlight","kind":"function","ident_start":46949,"ident_end":46967,"extent_start":46949,"extent_end":46977,"fully_qualified_name":"gui_stop_highlight","ident_utf16":{"start":{"line_number":1802,"utf16_col":0},"end":{"line_number":1802,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1802,"utf16_col":0},"end":{"line_number":1802,"utf16_col":28}}},{"name":"gui_clear_block","kind":"function","ident_start":47232,"ident_end":47247,"extent_start":47232,"extent_end":47320,"fully_qualified_name":"gui_clear_block","ident_utf16":{"start":{"line_number":1815,"utf16_col":0},"end":{"line_number":1815,"utf16_col":15}},"extent_utf16":{"start":{"line_number":1815,"utf16_col":0},"end":{"line_number":1819,"utf16_col":17}}},{"name":"gui_update_cursor_later","kind":"function","ident_start":47826,"ident_end":47849,"extent_start":47826,"extent_end":47855,"fully_qualified_name":"gui_update_cursor_later","ident_utf16":{"start":{"line_number":1837,"utf16_col":0},"end":{"line_number":1837,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1837,"utf16_col":0},"end":{"line_number":1837,"utf16_col":29}}},{"name":"gui_write","kind":"function","ident_start":47893,"ident_end":47902,"extent_start":47893,"extent_end":47932,"fully_qualified_name":"gui_write","ident_utf16":{"start":{"line_number":1843,"utf16_col":0},"end":{"line_number":1843,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1843,"utf16_col":0},"end":{"line_number":1845,"utf16_col":13}}},{"name":"gui_dont_update_cursor","kind":"function","ident_start":52653,"ident_end":52675,"extent_start":52653,"extent_end":52687,"fully_qualified_name":"gui_dont_update_cursor","ident_utf16":{"start":{"line_number":2063,"utf16_col":0},"end":{"line_number":2063,"utf16_col":22}},"extent_utf16":{"start":{"line_number":2063,"utf16_col":0},"end":{"line_number":2063,"utf16_col":34}}},{"name":"gui_can_update_cursor","kind":"function","ident_start":52874,"ident_end":52895,"extent_start":52874,"extent_end":52901,"fully_qualified_name":"gui_can_update_cursor","ident_utf16":{"start":{"line_number":2075,"utf16_col":0},"end":{"line_number":2075,"utf16_col":21}},"extent_utf16":{"start":{"line_number":2075,"utf16_col":0},"end":{"line_number":2075,"utf16_col":27}}},{"name":"gui_disable_flush","kind":"function","ident_start":53088,"ident_end":53105,"extent_start":53088,"extent_end":53111,"fully_qualified_name":"gui_disable_flush","ident_utf16":{"start":{"line_number":2086,"utf16_col":0},"end":{"line_number":2086,"utf16_col":17}},"extent_utf16":{"start":{"line_number":2086,"utf16_col":0},"end":{"line_number":2086,"utf16_col":23}}},{"name":"gui_enable_flush","kind":"function","ident_start":53189,"ident_end":53205,"extent_start":53189,"extent_end":53211,"fully_qualified_name":"gui_enable_flush","ident_utf16":{"start":{"line_number":2095,"utf16_col":0},"end":{"line_number":2095,"utf16_col":16}},"extent_utf16":{"start":{"line_number":2095,"utf16_col":0},"end":{"line_number":2095,"utf16_col":22}}},{"name":"gui_may_flush","kind":"function","ident_start":53302,"ident_end":53315,"extent_start":53302,"extent_end":53321,"fully_qualified_name":"gui_may_flush","ident_utf16":{"start":{"line_number":2104,"utf16_col":0},"end":{"line_number":2104,"utf16_col":13}},"extent_utf16":{"start":{"line_number":2104,"utf16_col":0},"end":{"line_number":2104,"utf16_col":19}}},{"name":"gui_outstr","kind":"function","ident_start":53389,"ident_end":53399,"extent_start":53389,"extent_end":53419,"fully_qualified_name":"gui_outstr","ident_utf16":{"start":{"line_number":2111,"utf16_col":0},"end":{"line_number":2111,"utf16_col":10}},"extent_utf16":{"start":{"line_number":2111,"utf16_col":0},"end":{"line_number":2111,"utf16_col":30}}},{"name":"gui_screenchar","kind":"function","ident_start":54613,"ident_end":54627,"extent_start":54613,"extent_end":54796,"fully_qualified_name":"gui_screenchar","ident_utf16":{"start":{"line_number":2166,"utf16_col":0},"end":{"line_number":2166,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2166,"utf16_col":0},"end":{"line_number":2171,"utf16_col":14}}},{"name":"gui_screenstr","kind":"function","ident_start":55812,"ident_end":55825,"extent_start":55812,"extent_end":56045,"fully_qualified_name":"gui_screenstr","ident_utf16":{"start":{"line_number":2204,"utf16_col":0},"end":{"line_number":2204,"utf16_col":13}},"extent_utf16":{"start":{"line_number":2204,"utf16_col":0},"end":{"line_number":2210,"utf16_col":14}}},{"name":"gui_outstr_nowrap","kind":"function","ident_start":58031,"ident_end":58048,"extent_start":58031,"extent_end":58197,"fully_qualified_name":"gui_outstr_nowrap","ident_utf16":{"start":{"line_number":2288,"utf16_col":0},"end":{"line_number":2288,"utf16_col":17}},"extent_utf16":{"start":{"line_number":2288,"utf16_col":0},"end":{"line_number":2294,"utf16_col":14}}},{"name":"if","kind":"function","ident_start":60000,"ident_end":60002,"extent_start":60000,"extent_end":60054,"fully_qualified_name":"if","ident_utf16":{"start":{"line_number":2375,"utf16_col":9},"end":{"line_number":2375,"utf16_col":11}},"extent_utf16":{"start":{"line_number":2375,"utf16_col":9},"end":{"line_number":2375,"utf16_col":63}}},{"name":"gui_undraw_cursor","kind":"function","ident_start":68257,"ident_end":68274,"extent_start":68257,"extent_end":68280,"fully_qualified_name":"gui_undraw_cursor","ident_utf16":{"start":{"line_number":2688,"utf16_col":0},"end":{"line_number":2688,"utf16_col":17}},"extent_utf16":{"start":{"line_number":2688,"utf16_col":0},"end":{"line_number":2688,"utf16_col":23}}},{"name":"gui_redraw","kind":"function","ident_start":68967,"ident_end":68977,"extent_start":68967,"extent_end":69026,"fully_qualified_name":"gui_redraw","ident_utf16":{"start":{"line_number":2710,"utf16_col":0},"end":{"line_number":2710,"utf16_col":10}},"extent_utf16":{"start":{"line_number":2710,"utf16_col":0},"end":{"line_number":2714,"utf16_col":11}}},{"name":"gui_redraw_block","kind":"function","ident_start":69769,"ident_end":69785,"extent_start":69769,"extent_end":69862,"fully_qualified_name":"gui_redraw_block","ident_utf16":{"start":{"line_number":2741,"utf16_col":0},"end":{"line_number":2741,"utf16_col":16}},"extent_utf16":{"start":{"line_number":2741,"utf16_col":0},"end":{"line_number":2746,"utf16_col":15}}},{"name":"gui_delete_lines","kind":"function","ident_start":73814,"ident_end":73830,"extent_start":73814,"extent_end":73850,"fully_qualified_name":"gui_delete_lines","ident_utf16":{"start":{"line_number":2898,"utf16_col":0},"end":{"line_number":2898,"utf16_col":16}},"extent_utf16":{"start":{"line_number":2898,"utf16_col":0},"end":{"line_number":2898,"utf16_col":36}}},{"name":"gui_insert_lines","kind":"function","ident_start":74564,"ident_end":74580,"extent_start":74564,"extent_end":74600,"fully_qualified_name":"gui_insert_lines","ident_utf16":{"start":{"line_number":2926,"utf16_col":0},"end":{"line_number":2926,"utf16_col":16}},"extent_utf16":{"start":{"line_number":2926,"utf16_col":0},"end":{"line_number":2926,"utf16_col":36}}},{"name":"gui_wait_for_chars_3","kind":"function","ident_start":75307,"ident_end":75327,"extent_start":75307,"extent_end":75402,"fully_qualified_name":"gui_wait_for_chars_3","ident_utf16":{"start":{"line_number":2956,"utf16_col":0},"end":{"line_number":2956,"utf16_col":20}},"extent_utf16":{"start":{"line_number":2956,"utf16_col":0},"end":{"line_number":2959,"utf16_col":28}}},{"name":"gui_wait_for_chars_or_timer","kind":"function","ident_start":75579,"ident_end":75606,"extent_start":75579,"extent_end":75672,"fully_qualified_name":"gui_wait_for_chars_or_timer","ident_utf16":{"start":{"line_number":2970,"utf16_col":0},"end":{"line_number":2970,"utf16_col":27}},"extent_utf16":{"start":{"line_number":2970,"utf16_col":0},"end":{"line_number":2973,"utf16_col":25}}},{"name":"gui_wait_for_chars_buf","kind":"function","ident_start":76258,"ident_end":76280,"extent_start":76258,"extent_end":76402,"fully_qualified_name":"gui_wait_for_chars_buf","ident_utf16":{"start":{"line_number":2994,"utf16_col":0},"end":{"line_number":2994,"utf16_col":22}},"extent_utf16":{"start":{"line_number":2994,"utf16_col":0},"end":{"line_number":2998,"utf16_col":23}}},{"name":"gui_wait_for_chars","kind":"function","ident_start":77601,"ident_end":77619,"extent_start":77601,"extent_end":77650,"fully_qualified_name":"gui_wait_for_chars","ident_utf16":{"start":{"line_number":3045,"utf16_col":0},"end":{"line_number":3045,"utf16_col":18}},"extent_utf16":{"start":{"line_number":3045,"utf16_col":0},"end":{"line_number":3045,"utf16_col":49}}},{"name":"gui_inchar","kind":"function","ident_start":77780,"ident_end":77790,"extent_start":77780,"extent_end":77892,"fully_qualified_name":"gui_inchar","ident_utf16":{"start":{"line_number":3054,"utf16_col":0},"end":{"line_number":3054,"utf16_col":10}},"extent_utf16":{"start":{"line_number":3054,"utf16_col":0},"end":{"line_number":3058,"utf16_col":26}}},{"name":"fill_mouse_coord","kind":"function","ident_start":78057,"ident_end":78073,"extent_start":78057,"extent_end":78102,"fully_qualified_name":"fill_mouse_coord","ident_utf16":{"start":{"line_number":3067,"utf16_col":0},"end":{"line_number":3067,"utf16_col":16}},"extent_utf16":{"start":{"line_number":3067,"utf16_col":0},"end":{"line_number":3067,"utf16_col":45}}},{"name":"gui_send_mouse_event","kind":"function","ident_start":79016,"ident_end":79036,"extent_start":79016,"extent_end":79138,"fully_qualified_name":"gui_send_mouse_event","ident_utf16":{"start":{"line_number":3092,"utf16_col":0},"end":{"line_number":3092,"utf16_col":20}},"extent_utf16":{"start":{"line_number":3092,"utf16_col":0},"end":{"line_number":3097,"utf16_col":22}}},{"name":"key_extra","kind":"type","ident_start":79296,"ident_end":79305,"extent_start":79291,"extent_end":79305,"fully_qualified_name":"key_extra","ident_utf16":{"start":{"line_number":3103,"utf16_col":9},"end":{"line_number":3103,"utf16_col":18}},"extent_utf16":{"start":{"line_number":3103,"utf16_col":4},"end":{"line_number":3103,"utf16_col":18}}},{"name":"gui_xy2colrow","kind":"function","ident_start":87568,"ident_end":87581,"extent_start":87568,"extent_end":87606,"fully_qualified_name":"gui_xy2colrow","ident_utf16":{"start":{"line_number":3425,"utf16_col":0},"end":{"line_number":3425,"utf16_col":13}},"extent_utf16":{"start":{"line_number":3425,"utf16_col":0},"end":{"line_number":3425,"utf16_col":38}}},{"name":"gui_menu_cb","kind":"function","ident_start":87858,"ident_end":87869,"extent_start":87858,"extent_end":87886,"fully_qualified_name":"gui_menu_cb","ident_utf16":{"start":{"line_number":3439,"utf16_col":0},"end":{"line_number":3439,"utf16_col":11}},"extent_utf16":{"start":{"line_number":3439,"utf16_col":0},"end":{"line_number":3439,"utf16_col":28}}},{"name":"gui_init_which_components","kind":"function","ident_start":88391,"ident_end":88416,"extent_start":88391,"extent_end":88439,"fully_qualified_name":"gui_init_which_components","ident_utf16":{"start":{"line_number":3464,"utf16_col":0},"end":{"line_number":3464,"utf16_col":25}},"extent_utf16":{"start":{"line_number":3464,"utf16_col":0},"end":{"line_number":3464,"utf16_col":48}}},{"name":"gui_do_scrollbar","kind":"function","ident_start":91795,"ident_end":91811,"extent_start":91795,"extent_end":91843,"fully_qualified_name":"gui_do_scrollbar","ident_utf16":{"start":{"line_number":3613,"utf16_col":6},"end":{"line_number":3613,"utf16_col":22}},"extent_utf16":{"start":{"line_number":3613,"utf16_col":6},"end":{"line_number":3613,"utf16_col":54}}},{"name":"gui_use_tabline","kind":"function","ident_start":94579,"ident_end":94594,"extent_start":94579,"extent_end":94600,"fully_qualified_name":"gui_use_tabline","ident_utf16":{"start":{"line_number":3703,"utf16_col":0},"end":{"line_number":3703,"utf16_col":15}},"extent_utf16":{"start":{"line_number":3703,"utf16_col":0},"end":{"line_number":3703,"utf16_col":21}}},{"name":"gui_has_tabline","kind":"function","ident_start":94769,"ident_end":94784,"extent_start":94769,"extent_end":94790,"fully_qualified_name":"gui_has_tabline","ident_utf16":{"start":{"line_number":3713,"utf16_col":0},"end":{"line_number":3713,"utf16_col":15}},"extent_utf16":{"start":{"line_number":3713,"utf16_col":0},"end":{"line_number":3713,"utf16_col":21}}},{"name":"gui_update_tabline","kind":"function","ident_start":95036,"ident_end":95054,"extent_start":95036,"extent_end":95060,"fully_qualified_name":"gui_update_tabline","ident_utf16":{"start":{"line_number":3727,"utf16_col":0},"end":{"line_number":3727,"utf16_col":18}},"extent_utf16":{"start":{"line_number":3727,"utf16_col":0},"end":{"line_number":3727,"utf16_col":24}}},{"name":"get_tabline_label","kind":"function","ident_start":95722,"ident_end":95739,"extent_start":95722,"extent_end":95777,"fully_qualified_name":"get_tabline_label","ident_utf16":{"start":{"line_number":3754,"utf16_col":0},"end":{"line_number":3754,"utf16_col":17}},"extent_utf16":{"start":{"line_number":3754,"utf16_col":0},"end":{"line_number":3756,"utf16_col":17}}},{"name":"send_tabline_event","kind":"function","ident_start":98019,"ident_end":98037,"extent_start":98019,"extent_end":98045,"fully_qualified_name":"send_tabline_event","ident_utf16":{"start":{"line_number":3837,"utf16_col":0},"end":{"line_number":3837,"utf16_col":18}},"extent_utf16":{"start":{"line_number":3837,"utf16_col":0},"end":{"line_number":3837,"utf16_col":26}}},{"name":"send_tabline_menu_event","kind":"function","ident_start":98561,"ident_end":98584,"extent_start":98561,"extent_end":98607,"fully_qualified_name":"send_tabline_menu_event","ident_utf16":{"start":{"line_number":3865,"utf16_col":0},"end":{"line_number":3865,"utf16_col":23}},"extent_utf16":{"start":{"line_number":3865,"utf16_col":0},"end":{"line_number":3865,"utf16_col":46}}},{"name":"gui_remove_scrollbars","kind":"function","ident_start":99171,"ident_end":99192,"extent_start":99171,"extent_end":99198,"fully_qualified_name":"gui_remove_scrollbars","ident_utf16":{"start":{"line_number":3896,"utf16_col":0},"end":{"line_number":3896,"utf16_col":21}},"extent_utf16":{"start":{"line_number":3896,"utf16_col":0},"end":{"line_number":3896,"utf16_col":27}}},{"name":"gui_do_scrollbar","kind":"function","ident_start":99383,"ident_end":99399,"extent_start":99383,"extent_end":99413,"fully_qualified_name":"gui_do_scrollbar","ident_utf16":{"start":{"line_number":3908,"utf16_col":2},"end":{"line_number":3908,"utf16_col":18}},"extent_utf16":{"start":{"line_number":3908,"utf16_col":2},"end":{"line_number":3908,"utf16_col":32}}},{"name":"gui_create_scrollbar","kind":"function","ident_start":99479,"ident_end":99499,"extent_start":99479,"extent_end":99537,"fully_qualified_name":"gui_create_scrollbar","ident_utf16":{"start":{"line_number":3915,"utf16_col":0},"end":{"line_number":3915,"utf16_col":20}},"extent_utf16":{"start":{"line_number":3915,"utf16_col":0},"end":{"line_number":3915,"utf16_col":58}}},{"name":"gui_find_scrollbar","kind":"function","ident_start":99968,"ident_end":99986,"extent_start":99968,"extent_end":99998,"fully_qualified_name":"gui_find_scrollbar","ident_utf16":{"start":{"line_number":3936,"utf16_col":0},"end":{"line_number":3936,"utf16_col":18}},"extent_utf16":{"start":{"line_number":3936,"utf16_col":0},"end":{"line_number":3936,"utf16_col":30}}},{"name":"gui_drag_scrollbar","kind":"function","ident_start":101058,"ident_end":101076,"extent_start":101058,"extent_end":101125,"fully_qualified_name":"gui_drag_scrollbar","ident_utf16":{"start":{"line_number":3968,"utf16_col":0},"end":{"line_number":3968,"utf16_col":18}},"extent_utf16":{"start":{"line_number":3968,"utf16_col":0},"end":{"line_number":3968,"utf16_col":67}}},{"name":"if","kind":"function","ident_start":102304,"ident_end":102306,"extent_start":102304,"extent_end":102324,"fully_qualified_name":"if","ident_utf16":{"start":{"line_number":4023,"utf16_col":9},"end":{"line_number":4023,"utf16_col":11}},"extent_utf16":{"start":{"line_number":4023,"utf16_col":9},"end":{"line_number":4023,"utf16_col":29}}},{"name":"if","kind":"function","ident_start":105190,"ident_end":105192,"extent_start":105190,"extent_end":105214,"fully_qualified_name":"if","ident_utf16":{"start":{"line_number":4149,"utf16_col":5},"end":{"line_number":4149,"utf16_col":7}},"extent_utf16":{"start":{"line_number":4149,"utf16_col":5},"end":{"line_number":4149,"utf16_col":29}}},{"name":"gui_may_update_scrollbars","kind":"function","ident_start":105542,"ident_end":105567,"extent_start":105542,"extent_end":105573,"fully_qualified_name":"gui_may_update_scrollbars","ident_utf16":{"start":{"line_number":4169,"utf16_col":0},"end":{"line_number":4169,"utf16_col":25}},"extent_utf16":{"start":{"line_number":4169,"utf16_col":0},"end":{"line_number":4169,"utf16_col":31}}},{"name":"gui_update_scrollbars","kind":"function","ident_start":105746,"ident_end":105767,"extent_start":105746,"extent_end":105784,"fully_qualified_name":"gui_update_scrollbars","ident_utf16":{"start":{"line_number":4181,"utf16_col":0},"end":{"line_number":4181,"utf16_col":21}},"extent_utf16":{"start":{"line_number":4181,"utf16_col":0},"end":{"line_number":4182,"utf16_col":15}}},{"name":"gui_do_scrollbar","kind":"function","ident_start":111202,"ident_end":111218,"extent_start":111202,"extent_end":111298,"fully_qualified_name":"gui_do_scrollbar","ident_utf16":{"start":{"line_number":4365,"utf16_col":0},"end":{"line_number":4365,"utf16_col":16}},"extent_utf16":{"start":{"line_number":4365,"utf16_col":0},"end":{"line_number":4368,"utf16_col":16}}},{"name":"gui_do_scroll","kind":"function","ident_start":112555,"ident_end":112568,"extent_start":112555,"extent_end":112574,"fully_qualified_name":"gui_do_scroll","ident_utf16":{"start":{"line_number":4410,"utf16_col":0},"end":{"line_number":4410,"utf16_col":13}},"extent_utf16":{"start":{"line_number":4410,"utf16_col":0},"end":{"line_number":4410,"utf16_col":19}}},{"name":"gui_update_horiz_scrollbar","kind":"function","ident_start":115225,"ident_end":115251,"extent_start":115225,"extent_end":115262,"fully_qualified_name":"gui_update_horiz_scrollbar","ident_utf16":{"start":{"line_number":4519,"utf16_col":0},"end":{"line_number":4519,"utf16_col":26}},"extent_utf16":{"start":{"line_number":4519,"utf16_col":0},"end":{"line_number":4519,"utf16_col":37}}},{"name":"gui_check_colors","kind":"function","ident_start":117140,"ident_end":117156,"extent_start":117140,"extent_end":117162,"fully_qualified_name":"gui_check_colors","ident_utf16":{"start":{"line_number":4607,"utf16_col":0},"end":{"line_number":4607,"utf16_col":16}},"extent_utf16":{"start":{"line_number":4607,"utf16_col":0},"end":{"line_number":4607,"utf16_col":22}}},{"name":"gui_set_fg_color","kind":"function","ident_start":117421,"ident_end":117437,"extent_start":117421,"extent_end":117451,"fully_qualified_name":"gui_set_fg_color","ident_utf16":{"start":{"line_number":4618,"utf16_col":0},"end":{"line_number":4618,"utf16_col":16}},"extent_utf16":{"start":{"line_number":4618,"utf16_col":0},"end":{"line_number":4618,"utf16_col":30}}},{"name":"gui_set_bg_color","kind":"function","ident_start":117560,"ident_end":117576,"extent_start":117560,"extent_end":117590,"fully_qualified_name":"gui_set_bg_color","ident_utf16":{"start":{"line_number":4625,"utf16_col":0},"end":{"line_number":4625,"utf16_col":16}},"extent_utf16":{"start":{"line_number":4625,"utf16_col":0},"end":{"line_number":4625,"utf16_col":30}}},{"name":"gui_get_color","kind":"function","ident_start":117796,"ident_end":117809,"extent_start":117796,"extent_end":117823,"fully_qualified_name":"gui_get_color","ident_utf16":{"start":{"line_number":4636,"utf16_col":0},"end":{"line_number":4636,"utf16_col":13}},"extent_utf16":{"start":{"line_number":4636,"utf16_col":0},"end":{"line_number":4636,"utf16_col":27}}},{"name":"gui_get_lightness","kind":"function","ident_start":118309,"ident_end":118326,"extent_start":118309,"extent_end":118344,"fully_qualified_name":"gui_get_lightness","ident_utf16":{"start":{"line_number":4663,"utf16_col":0},"end":{"line_number":4663,"utf16_col":17}},"extent_utf16":{"start":{"line_number":4663,"utf16_col":0},"end":{"line_number":4663,"utf16_col":35}}},{"name":"gui_bg_default","kind":"function","ident_start":118537,"ident_end":118551,"extent_start":118537,"extent_end":118557,"fully_qualified_name":"gui_bg_default","ident_utf16":{"start":{"line_number":4673,"utf16_col":0},"end":{"line_number":4673,"utf16_col":14}},"extent_utf16":{"start":{"line_number":4673,"utf16_col":0},"end":{"line_number":4673,"utf16_col":20}}},{"name":"init_gui_options","kind":"function","ident_start":118769,"ident_end":118785,"extent_start":118769,"extent_end":118791,"fully_qualified_name":"init_gui_options","ident_utf16":{"start":{"line_number":4684,"utf16_col":0},"end":{"line_number":4684,"utf16_col":16}},"extent_utf16":{"start":{"line_number":4684,"utf16_col":0},"end":{"line_number":4684,"utf16_col":22}}},{"name":"gui_new_scrollbar_colors","kind":"function","ident_start":119163,"ident_end":119187,"extent_start":119163,"extent_end":119193,"fully_qualified_name":"gui_new_scrollbar_colors","ident_utf16":{"start":{"line_number":4697,"utf16_col":0},"end":{"line_number":4697,"utf16_col":24}},"extent_utf16":{"start":{"line_number":4697,"utf16_col":0},"end":{"line_number":4697,"utf16_col":30}}},{"name":"gui_focus_change","kind":"function","ident_start":119569,"ident_end":119585,"extent_start":119569,"extent_end":119599,"fully_qualified_name":"gui_focus_change","ident_utf16":{"start":{"line_number":4718,"utf16_col":0},"end":{"line_number":4718,"utf16_col":16}},"extent_utf16":{"start":{"line_number":4718,"utf16_col":0},"end":{"line_number":4718,"utf16_col":30}}},{"name":"gui_mouse_focus","kind":"function","ident_start":120340,"ident_end":120355,"extent_start":120340,"extent_end":120369,"fully_qualified_name":"gui_mouse_focus","ident_utf16":{"start":{"line_number":4752,"utf16_col":0},"end":{"line_number":4752,"utf16_col":15}},"extent_utf16":{"start":{"line_number":4752,"utf16_col":0},"end":{"line_number":4752,"utf16_col":29}}},{"name":"gui_mouse_moved","kind":"function","ident_start":122109,"ident_end":122124,"extent_start":122109,"extent_end":122138,"fully_qualified_name":"gui_mouse_moved","ident_utf16":{"start":{"line_number":4819,"utf16_col":0},"end":{"line_number":4819,"utf16_col":15}},"extent_utf16":{"start":{"line_number":4819,"utf16_col":0},"end":{"line_number":4819,"utf16_col":29}}},{"name":"gui_mouse_window","kind":"function","ident_start":122667,"ident_end":122683,"extent_start":122667,"extent_end":122703,"fully_qualified_name":"gui_mouse_window","ident_utf16":{"start":{"line_number":4843,"utf16_col":0},"end":{"line_number":4843,"utf16_col":16}},"extent_utf16":{"start":{"line_number":4843,"utf16_col":0},"end":{"line_number":4843,"utf16_col":36}}},{"name":"gui_mouse_correct","kind":"function","ident_start":123103,"ident_end":123120,"extent_start":123103,"extent_end":123126,"fully_qualified_name":"gui_mouse_correct","ident_utf16":{"start":{"line_number":4862,"utf16_col":0},"end":{"line_number":4862,"utf16_col":17}},"extent_utf16":{"start":{"line_number":4862,"utf16_col":0},"end":{"line_number":4862,"utf16_col":23}}},{"name":"xy2win","kind":"function","ident_start":123647,"ident_end":123653,"extent_start":123647,"extent_end":123687,"fully_qualified_name":"xy2win","ident_utf16":{"start":{"line_number":4884,"utf16_col":0},"end":{"line_number":4884,"utf16_col":6}},"extent_utf16":{"start":{"line_number":4884,"utf16_col":0},"end":{"line_number":4884,"utf16_col":40}}},{"name":"ex_gui","kind":"function","ident_start":124771,"ident_end":124777,"extent_start":124771,"extent_end":124791,"fully_qualified_name":"ex_gui","ident_utf16":{"start":{"line_number":4924,"utf16_col":0},"end":{"line_number":4924,"utf16_col":6}},"extent_utf16":{"start":{"line_number":4924,"utf16_col":0},"end":{"line_number":4924,"utf16_col":20}}},{"name":"gfp_setname","kind":"function","ident_start":126085,"ident_end":126096,"extent_start":126085,"extent_end":126125,"fully_qualified_name":"gfp_setname","ident_utf16":{"start":{"line_number":4978,"utf16_col":0},"end":{"line_number":4978,"utf16_col":11}},"extent_utf16":{"start":{"line_number":4978,"utf16_col":0},"end":{"line_number":4978,"utf16_col":40}}},{"name":"gui_find_bitmap","kind":"function","ident_start":126420,"ident_end":126435,"extent_start":126420,"extent_end":126476,"fully_qualified_name":"gui_find_bitmap","ident_utf16":{"start":{"line_number":4993,"utf16_col":0},"end":{"line_number":4993,"utf16_col":15}},"extent_utf16":{"start":{"line_number":4993,"utf16_col":0},"end":{"line_number":4993,"utf16_col":56}}},{"name":"gui_find_iconfile","kind":"function","ident_start":127087,"ident_end":127104,"extent_start":127087,"extent_end":127145,"fully_qualified_name":"gui_find_iconfile","ident_utf16":{"start":{"line_number":5013,"utf16_col":0},"end":{"line_number":5013,"utf16_col":17}},"extent_utf16":{"start":{"line_number":5013,"utf16_col":0},"end":{"line_number":5013,"utf16_col":58}}},{"name":"display_errors","kind":"function","ident_start":127442,"ident_end":127456,"extent_start":127442,"extent_end":127462,"fully_qualified_name":"display_errors","ident_utf16":{"start":{"line_number":5027,"utf16_col":0},"end":{"line_number":5027,"utf16_col":14}},"extent_utf16":{"start":{"line_number":5027,"utf16_col":0},"end":{"line_number":5027,"utf16_col":20}}},{"name":"no_console_input","kind":"function","ident_start":128315,"ident_end":128331,"extent_start":128315,"extent_end":128337,"fully_qualified_name":"no_console_input","ident_utf16":{"start":{"line_number":5063,"utf16_col":0},"end":{"line_number":5063,"utf16_col":16}},"extent_utf16":{"start":{"line_number":5063,"utf16_col":0},"end":{"line_number":5063,"utf16_col":22}}},{"name":"gui_update_screen","kind":"function","ident_start":128614,"ident_end":128631,"extent_start":128614,"extent_end":128637,"fully_qualified_name":"gui_update_screen","ident_utf16":{"start":{"line_number":5080,"utf16_col":0},"end":{"line_number":5080,"utf16_col":17}},"extent_utf16":{"start":{"line_number":5080,"utf16_col":0},"end":{"line_number":5080,"utf16_col":23}}},{"name":"get_find_dialog_text","kind":"function","ident_start":130324,"ident_end":130344,"extent_start":130324,"extent_end":130429,"fully_qualified_name":"get_find_dialog_text","ident_utf16":{"start":{"line_number":5147,"utf16_col":0},"end":{"line_number":5147,"utf16_col":20}},"extent_utf16":{"start":{"line_number":5147,"utf16_col":0},"end":{"line_number":5150,"utf16_col":17}}},{"name":"gui_do_findrepl","kind":"function","ident_start":131706,"ident_end":131721,"extent_start":131706,"extent_end":131842,"fully_qualified_name":"gui_do_findrepl","ident_utf16":{"start":{"line_number":5209,"utf16_col":0},"end":{"line_number":5209,"utf16_col":15}},"extent_utf16":{"start":{"line_number":5209,"utf16_col":0},"end":{"line_number":5213,"utf16_col":14}}},{"name":"gui_wingoto_xy","kind":"function","ident_start":135559,"ident_end":135573,"extent_start":135559,"extent_end":135587,"fully_qualified_name":"gui_wingoto_xy","ident_utf16":{"start":{"line_number":5355,"utf16_col":0},"end":{"line_number":5355,"utf16_col":14}},"extent_utf16":{"start":{"line_number":5355,"utf16_col":0},"end":{"line_number":5355,"utf16_col":28}}},{"name":"drop_callback","kind":"function","ident_start":135932,"ident_end":135945,"extent_start":135932,"extent_end":135959,"fully_qualified_name":"drop_callback","ident_utf16":{"start":{"line_number":5374,"utf16_col":0},"end":{"line_number":5374,"utf16_col":13}},"extent_utf16":{"start":{"line_number":5374,"utf16_col":0},"end":{"line_number":5374,"utf16_col":27}}},{"name":"gui_handle_drop","kind":"function","ident_start":136952,"ident_end":136967,"extent_start":136952,"extent_end":137064,"fully_qualified_name":"gui_handle_drop","ident_utf16":{"start":{"line_number":5416,"utf16_col":0},"end":{"line_number":5416,"utf16_col":15}},"extent_utf16":{"start":{"line_number":5416,"utf16_col":0},"end":{"line_number":5421,"utf16_col":15}}},{"name":"check_for_interrupt","kind":"function","ident_start":139165,"ident_end":139184,"extent_start":139165,"extent_end":139212,"fully_qualified_name":"check_for_interrupt","ident_utf16":{"start":{"line_number":5504,"utf16_col":0},"end":{"line_number":5504,"utf16_col":19}},"extent_utf16":{"start":{"line_number":5504,"utf16_col":0},"end":{"line_number":5504,"utf16_col":47}}},{"name":"gui_dialog_log","kind":"function","ident_start":139776,"ident_end":139790,"extent_start":139776,"extent_end":139822,"fully_qualified_name":"gui_dialog_log","ident_utf16":{"start":{"line_number":5528,"utf16_col":0},"end":{"line_number":5528,"utf16_col":14}},"extent_utf16":{"start":{"line_number":5528,"utf16_col":0},"end":{"line_number":5528,"utf16_col":46}}}]}},"copilotInfo":null,"copilotAccessAllowed":false,"modelsAccessAllowed":false,"modelsRepoIntegrationEnabled":false,"csrf_tokens":{"/vim/vim/branches":{"post":"2rI0EFxrdHGtY_6dUHxSuaMTDDCrMcZgODfShasRuTsumAttwUGWfov4WapTF35RZz4mjxDcKR1FyEMoeNL3kQ"},"/repos/preferences":{"post":"AB7gUHfQtummZ1nqnkI_-I45mKj62dua17nmYOq0nLC2v5v5xmitF61ufZxtoTl3VKJ6wkXhZtRfUhm8CI1jcw"}}},"title":"vim/src/gui.c at master · vim/vim","appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-7d7eb7c71814.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-96e76d5fdb2c.js","githubDevUrl":null,"enabled_features":{"code_nav_ui_events":false,"overview_shared_code_dropdown_button":false,"react_blob_overlay":false,"accessible_code_button":true,"github_models_repo_integration":false}}}</script> <div data-target="react-app.reactRoot"><style data-styled="true" data-styled-version="5.3.11">.gISSDQ{width:100%;}/*!sc*/ @media screen and (min-width:544px){.gISSDQ{width:100%;}}/*!sc*/ @media screen and (min-width:768px){.gISSDQ{width:auto;}}/*!sc*/ .bHLmSv{position:absolute;inset:0 -2px;cursor:col-resize;background-color:transparent;-webkit-transition-delay:0.1s;transition-delay:0.1s;}/*!sc*/ .bHLmSv:hover{background-color:var(--bgColor-neutral-muted,var(--color-neutral-muted,rgba(175,184,193,0.2)));}/*!sc*/ .leYMvG{margin-left:auto;margin-right:auto;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-bottom:40px;max-width:100%;margin-top:0;}/*!sc*/ .KMPzq{display:inherit;}/*!sc*/ .hfKjHv{width:100%;}/*!sc*/ .gZWyZE{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:8px;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%;}/*!sc*/ .dwYKDk{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:start;-webkit-box-align:start;-ms-flex-align:start;align-items:start;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;gap:8px;}/*!sc*/ .ibcGmb{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:start;-webkit-box-align:start;-ms-flex-align:start;align-items:start;min-width:0;}/*!sc*/ .hKaEJF{display:block;margin-right:8px;}/*!sc*/ @media screen and (min-width:1360px){.hKaEJF{display:block;}}/*!sc*/ .XosP{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:14px;}/*!sc*/ .bCKfWo[data-size="medium"]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));padding-left:8px;padding-right:8px;display:none;}/*!sc*/ @media screen and (max-width:768px){.bCKfWo[data-size="medium"]{display:block;}}/*!sc*/ .gUkoLg{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}/*!sc*/ .dmxRgG[data-size="medium"]{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ .dmxRgG[data-size="medium"] svg{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .dmxRgG[data-size="medium"] > span{width:inherit;}/*!sc*/ .bZBlpz{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;}/*!sc*/ .lhTYNA{margin-right:4px;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .dbrgmi{font-size:14px;min-width:0;max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}/*!sc*/ .bmcJak{min-width:0;}/*!sc*/ .dHJiml{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:8px;padding-right:8px;min-width:0;}/*!sc*/ .cEytCf{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;font-size:16px;min-width:0;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;max-width:100%;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ .fzFXnm{max-width:100%;}/*!sc*/ .iMnkmv{max-width:100%;list-style:none;display:inline-block;}/*!sc*/ .ghzDag{display:inline-block;max-width:100%;}/*!sc*/ .kHuKdh{font-weight:600;}/*!sc*/ .hzJBof{padding-left:4px;padding-right:4px;font-weight:400;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));font-size:16px;}/*!sc*/ .kgiVEz{font-weight:400;}/*!sc*/ .jGhzSQ{font-weight:600;display:inline-block;max-width:100%;font-size:16px;}/*!sc*/ .faNtbn{min-height:32px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:start;-webkit-box-align:start;-ms-flex-align:start;align-items:start;}/*!sc*/ .fmQaBv{margin-left:4px;margin-right:4px;}/*!sc*/ .vcvyP{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-width:160px;}/*!sc*/ .dwNhzn[data-size="medium"][data-no-visuals]{border-top-left-radius:0;border-bottom-left-radius:0;display:none;}/*!sc*/ .fGwBZA[data-size="medium"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .dJxjrT{margin-left:16px;margin-right:16px;}/*!sc*/ .eFxKDQ{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}/*!sc*/ .dzCJzi{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;min-width:273px;padding:8px;}/*!sc*/ @media screen and (min-width:544px){.dzCJzi{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}}/*!sc*/ .ldRxiI{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}/*!sc*/ .fVkfyA{width:100%;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;min-width:0;margin-right:0;}/*!sc*/ .gNAmSV{height:40px;padding-left:4px;padding-bottom:16px;}/*!sc*/ .jNEwzY{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ .bsDwxw{font-size:12px;-webkit-flex:auto;-ms-flex:auto;flex:auto;padding-right:16px;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));min-width:0;}/*!sc*/ .jdLMhu{top:0px;z-index:4;background:var(--bgColor-default,var(--color-canvas-default));position:-webkit-sticky;position:sticky;}/*!sc*/ .tOISc{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%;position:absolute;}/*!sc*/ .hqwSEx{display:none;min-width:0;padding-top:8px;padding-bottom:8px;}/*!sc*/ .bDVoEr{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow:hidden;margin-left:8px;margin-right:8px;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;width:100%;}/*!sc*/ .kYLlPM{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ .gYjEmn{margin-left:4px;margin-right:8px;}/*!sc*/ .kGqOLL{text-overflow:ellipsis;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ .fHind{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;font-size:14px;min-width:0;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;max-width:100%;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ .oDtgN{padding-left:4px;padding-right:4px;font-weight:400;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));font-size:14px;}/*!sc*/ .dnZoUW{font-weight:600;display:inline-block;max-width:100%;font-size:14px;}/*!sc*/ .jRZWlf[data-size="small"]{color:var(--fgColor-default,var(--color-fg-default,#1F2328));margin-left:8px;}/*!sc*/ .kTvpNk{padding-left:8px;padding-top:8px;padding-bottom:8px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;background-color:var(--bgColor-muted,var(--color-canvas-subtle,#f6f8fa));border:1px solid var(--borderColor-default,var(--color-border-default));border-radius:6px 6px 0px 0px;}/*!sc*/ .iNMjfP{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;min-width:0;}/*!sc*/ .gtTaSn{font-size:14px;}/*!sc*/ .dXYHoy{--separator-color:transparent;}/*!sc*/ .jBWIdY{--separator-color:var(--borderColor-default,var(--color-border-default,#d0d7de));}/*!sc*/ .kcLCKF{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;margin-right:8px;}/*!sc*/ .kVWtTz{gap:8px;}/*!sc*/ .gWqxTd{padding-left:8px;padding-right:8px;}/*!sc*/ .gWqxTd linkButtonSx:hover:not([disabled]){-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .gWqxTd linkButtonSx:focus:not([disabled]){-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .gWqxTd linkButtonSx:active:not([disabled]){-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .ivobqY[data-size="small"][data-no-visuals]{border-top-left-radius:0;border-bottom-left-radius:0;}/*!sc*/ .heuRGy[data-size="small"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));position:relative;}/*!sc*/ .ffkqe[data-size="small"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .hGyMdv{border:1px solid;border-top:none;border-color:var(--borderColor-default,var(--color-border-default,#d0d7de));border-radius:0px 0px 6px 6px;min-width:273px;}/*!sc*/ .dceWRL{background-color:var(--bgColor-default,var(--color-canvas-default));border:0px;border-width:0;border-radius:0px 0px 6px 6px;padding:0;min-width:0;margin-top:46px;}/*!sc*/ .dGXHv{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;padding-top:8px;padding-bottom:8px;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;min-width:0;position:relative;}/*!sc*/ .bpDFns{position:relative;}/*!sc*/ .iJOeCH{-webkit-flex:1;-ms-flex:1;flex:1;position:relative;min-width:0;}/*!sc*/ .jewUnv{tab-size:8;isolation:isolate;position:relative;overflow:auto;max-width:unset;}/*!sc*/ .gkZUDI{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ .cCoXib{position:fixed;top:0;right:0;height:100%;width:15px;-webkit-transition:-webkit-transform 0.3s;-webkit-transition:transform 0.3s;transition:transform 0.3s;z-index:1;}/*!sc*/ .cCoXib:hover{-webkit-transform:scaleX(1.5);-ms-transform:scaleX(1.5);transform:scaleX(1.5);}/*!sc*/ data-styled.g1[id="Box-sc-g0xbh4-0"]{content:"gISSDQ,bHLmSv,leYMvG,KMPzq,hfKjHv,gZWyZE,dwYKDk,ibcGmb,hKaEJF,XosP,bCKfWo,gUkoLg,dmxRgG,bZBlpz,lhTYNA,dbrgmi,bmcJak,dHJiml,cEytCf,fzFXnm,iMnkmv,ghzDag,kHuKdh,hzJBof,kgiVEz,jGhzSQ,faNtbn,fmQaBv,vcvyP,dwNhzn,fGwBZA,dJxjrT,eFxKDQ,dzCJzi,ldRxiI,fVkfyA,gNAmSV,jNEwzY,bsDwxw,jdLMhu,tOISc,hqwSEx,bDVoEr,kYLlPM,gYjEmn,kGqOLL,fHind,oDtgN,dnZoUW,jRZWlf,kTvpNk,iNMjfP,gtTaSn,dXYHoy,jBWIdY,kcLCKF,kVWtTz,gWqxTd,ivobqY,heuRGy,ffkqe,hGyMdv,dceWRL,dGXHv,bpDFns,iJOeCH,jewUnv,gkZUDI,cCoXib,"}/*!sc*/ .hWlpPn{position:relative;display:inline-block;}/*!sc*/ .hWlpPn::after{position:absolute;z-index:1000000;display:none;padding:0.5em 0.75em;font:normal normal 11px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";-webkit-font-smoothing:subpixel-antialiased;color:var(--tooltip-fgColor,var(--fgColor-onEmphasis,var(--color-fg-on-emphasis,#ffffff)));text-align:center;-webkit-text-decoration:none;text-decoration:none;text-shadow:none;text-transform:none;-webkit-letter-spacing:normal;-moz-letter-spacing:normal;-ms-letter-spacing:normal;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:var(--tooltip-bgColor,var(--bgColor-emphasis,var(--color-neutral-emphasis-plus,#24292f)));border-radius:6px;opacity:0;}/*!sc*/ @-webkit-keyframes tooltip-appear{from{opacity:0;}to{opacity:1;}}/*!sc*/ @keyframes tooltip-appear{from{opacity:0;}to{opacity:1;}}/*!sc*/ .hWlpPn:hover::after,.hWlpPn:active::after,.hWlpPn:focus::after,.hWlpPn:focus-within::after{display:inline-block;-webkit-text-decoration:none;text-decoration:none;-webkit-animation-name:tooltip-appear;animation-name:tooltip-appear;-webkit-animation-duration:0.1s;animation-duration:0.1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-animation-delay:0s;animation-delay:0s;}/*!sc*/ .hWlpPn.tooltipped-no-delay:hover::after,.hWlpPn.tooltipped-no-delay:active::after,.hWlpPn.tooltipped-no-delay:focus::after,.hWlpPn.tooltipped-no-delay:focus-within::after{-webkit-animation-delay:0s;animation-delay:0s;}/*!sc*/ .hWlpPn.tooltipped-multiline:hover::after,.hWlpPn.tooltipped-multiline:active::after,.hWlpPn.tooltipped-multiline:focus::after,.hWlpPn.tooltipped-multiline:focus-within::after{display:table-cell;}/*!sc*/ .hWlpPn.tooltipped-s::after,.hWlpPn.tooltipped-se::after,.hWlpPn.tooltipped-sw::after{top:100%;right:50%;margin-top:6px;}/*!sc*/ .hWlpPn.tooltipped-se::after{right:auto;left:50%;margin-left:-16px;}/*!sc*/ .hWlpPn.tooltipped-sw::after{margin-right:-16px;}/*!sc*/ .hWlpPn.tooltipped-n::after,.hWlpPn.tooltipped-ne::after,.hWlpPn.tooltipped-nw::after{right:50%;bottom:100%;margin-bottom:6px;}/*!sc*/ .hWlpPn.tooltipped-ne::after{right:auto;left:50%;margin-left:-16px;}/*!sc*/ .hWlpPn.tooltipped-nw::after{margin-right:-16px;}/*!sc*/ .hWlpPn.tooltipped-s::after,.hWlpPn.tooltipped-n::after{-webkit-transform:translateX(50%);-ms-transform:translateX(50%);transform:translateX(50%);}/*!sc*/ .hWlpPn.tooltipped-w::after{right:100%;bottom:50%;margin-right:6px;-webkit-transform:translateY(50%);-ms-transform:translateY(50%);transform:translateY(50%);}/*!sc*/ .hWlpPn.tooltipped-e::after{bottom:50%;left:100%;margin-left:6px;-webkit-transform:translateY(50%);-ms-transform:translateY(50%);transform:translateY(50%);}/*!sc*/ .hWlpPn.tooltipped-multiline::after{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:250px;word-wrap:break-word;white-space:pre-line;border-collapse:separate;}/*!sc*/ .hWlpPn.tooltipped-multiline.tooltipped-s::after,.hWlpPn.tooltipped-multiline.tooltipped-n::after{right:auto;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);}/*!sc*/ .hWlpPn.tooltipped-multiline.tooltipped-w::after,.hWlpPn.tooltipped-multiline.tooltipped-e::after{right:100%;}/*!sc*/ .hWlpPn.tooltipped-align-right-2::after{right:0;margin-right:0;}/*!sc*/ .hWlpPn.tooltipped-align-left-2::after{left:0;margin-left:0;}/*!sc*/ data-styled.g16[id="Tooltip__TooltipBase-sc-17tf59c-0"]{content:"hWlpPn,"}/*!sc*/ .eAtkQz{display:inline-block;overflow:hidden;text-overflow:ellipsis;vertical-align:top;white-space:nowrap;max-width:125px;max-width:100%;}/*!sc*/ data-styled.g18[id="Truncate__StyledTruncate-sc-23o1d2-0"]{content:"eAtkQz,"}/*!sc*/ </style><meta data-hydrostats="publish"/> <!-- --> <!-- --> <button hidden="" data-testid="header-permalink-button" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden=""></button><div><div style="--sticky-pane-height:100vh;--spacing:var(--spacing-none)" class="Box-sc-g0xbh4-0 prc-PageLayout-PageLayoutRoot-1zlEO"><div class="Box-sc-g0xbh4-0 prc-PageLayout-PageLayoutWrapper-s2ao4" data-width="full"><div class="Box-sc-g0xbh4-0 prc-PageLayout-PageLayoutContent-jzDMn"><div tabindex="0" class="Box-sc-g0xbh4-0 gISSDQ"><div class="Box-sc-g0xbh4-0 prc-PageLayout-PaneWrapper-nGO0U ReposFileTreePane-module__Pane--wS7IV ReposFileTreePane-module__HideTree--zU_Nd ReposFileTreePane-module__HidePane--Gj4XZ" style="--offset-header:0px;--spacing-row:var(--spacing-none);--spacing-column:var(--spacing-none)" data-is-hidden="false" data-position="start" data-sticky="true"><div class="Box-sc-g0xbh4-0 prc-PageLayout-HorizontalDivider-CYLp5 prc-PageLayout-PaneHorizontalDivider-4exOb" data-variant="none" data-position="start" style="--spacing-divider:var(--spacing-none);--spacing:var(--spacing-none)"></div><div class="Box-sc-g0xbh4-0 prc-PageLayout-Pane-Vl5LI" data-resizable="true" style="--spacing:var(--spacing-none);--pane-min-width:256px;--pane-max-width:calc(100vw - var(--pane-max-width-diff));--pane-width-size:var(--pane-width-large);--pane-width:320px"></div><div class="Box-sc-g0xbh4-0 prc-PageLayout-VerticalDivider-4A4Qm prc-PageLayout-PaneVerticalDivider-1c9vy" data-variant="none" data-position="start" style="--spacing:var(--spacing-none)"><div role="slider" aria-label="Draggable pane splitter" aria-valuemin="0" aria-valuemax="0" aria-valuenow="0" aria-valuetext="Pane width 0 pixels" tabindex="0" class="Box-sc-g0xbh4-0 bHLmSv"></div></div></div></div><div class="Box-sc-g0xbh4-0 prc-PageLayout-ContentWrapper-b-QRo CodeView-module__SplitPageLayout_Content--qxR1C" data-is-hidden="false"><div class="Box-sc-g0xbh4-0"></div><div class="Box-sc-g0xbh4-0 prc-PageLayout-Content--F7-I" data-width="full" style="--spacing:var(--spacing-none)"><div data-selector="repos-split-pane-content" tabindex="0" class="Box-sc-g0xbh4-0 leYMvG"><div class="Box-sc-g0xbh4-0 KMPzq"><div class="Box-sc-g0xbh4-0 hfKjHv container"><div class="px-3 pt-3 pb-0" id="StickyHeader"><div class="Box-sc-g0xbh4-0 gZWyZE"><div class="Box-sc-g0xbh4-0 dwYKDk"><div class="Box-sc-g0xbh4-0 ibcGmb react-code-view-header-wrap--narrow"><div class="Box-sc-g0xbh4-0 hKaEJF"><h2 class="Box-sc-g0xbh4-0 XosP prc-Heading-Heading-6CmGO"><button style="--button-color:fg.muted" type="button" aria-label="Expand file tree" data-testid="expand-file-tree-button-mobile" class="Box-sc-g0xbh4-0 bCKfWo prc-Button-ButtonBase-c50BI" data-loading="false" data-size="medium" data-variant="invisible" aria-describedby=":Rld9lab:-loading-announcement"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-arrow-left" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M7.78 12.53a.75.75 0 0 1-1.06 0L2.47 8.28a.75.75 0 0 1 0-1.06l4.25-4.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L4.81 7h7.44a.75.75 0 0 1 0 1.5H4.81l2.97 2.97a.75.75 0 0 1 0 1.06Z"></path></svg></span><span data-component="text" class="prc-Button-Label-pTQ3x">Files</span></span></button><span role="tooltip" aria-label="Expand file tree" id="expand-button-file-tree-button" class="Tooltip__TooltipBase-sc-17tf59c-0 hWlpPn tooltipped-se"><button data-component="IconButton" type="button" data-testid="expand-file-tree-button" aria-controls="repos-file-tree" class="prc-Button-ButtonBase-c50BI position-relative ExpandFileTreeButton-module__expandButton--gL4is ExpandFileTreeButton-module__filesButtonBreakpoint--WfX9t fgColor-muted prc-Button-IconButton-szpyj" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="invisible" aria-describedby=":R35d9lab:-loading-announcement" aria-labelledby="expand-button-file-tree-button"><svg aria-hidden="true" focusable="false" class="octicon octicon-sidebar-collapse" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M6.823 7.823a.25.25 0 0 1 0 .354l-2.396 2.396A.25.25 0 0 1 4 10.396V5.604a.25.25 0 0 1 .427-.177Z"></path><path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25H9.5v-13H1.75a.25.25 0 0 0-.25.25ZM11 14.5h3.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H11Z"></path></svg></button></span><button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button></h2></div><div class="react-code-view-header-mb--narrow mr-2"><button type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-label="master branch" data-testid="anchor-button" class="Box-sc-g0xbh4-0 dmxRgG prc-Button-ButtonBase-c50BI ref-selector-class" data-loading="false" data-size="medium" data-variant="default" aria-describedby="branch-picker-repos-header-ref-selector-wide-loading-announcement" id="branch-picker-repos-header-ref-selector-wide"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg prc-Button-ButtonContent-HKbr-"><span data-component="text" class="prc-Button-Label-pTQ3x"><div class="Box-sc-g0xbh4-0 bZBlpz"><div class="Box-sc-g0xbh4-0 lhTYNA"><svg aria-hidden="true" focusable="false" class="octicon octicon-git-branch" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg></div><div class="Box-sc-g0xbh4-0 dbrgmi ref-selector-button-text-container"><span class="Box-sc-g0xbh4-0 bmcJak prc-Text-Text-0ima0"> <!-- -->master</span></div></div></span><span data-component="trailingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></span></span></button><button hidden="" data-hotkey-scope="read-only-cursor-text-area"></button></div><div class="Box-sc-g0xbh4-0 dHJiml react-code-view-header-mb--narrow"><div class="Box-sc-g0xbh4-0 cEytCf"><nav data-testid="breadcrumbs" aria-labelledby="repos-header-breadcrumb-heading" id="repos-header-breadcrumb" class="Box-sc-g0xbh4-0 fzFXnm"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone--vW4Cq prc-Heading-Heading-6CmGO" data-testid="screen-reader-heading" id="repos-header-breadcrumb-heading">Breadcrumbs</h2><ol class="Box-sc-g0xbh4-0 iMnkmv"><li class="Box-sc-g0xbh4-0 ghzDag"><a class="Box-sc-g0xbh4-0 kHuKdh prc-Link-Link-85e08" sx="[object Object]" data-testid="breadcrumbs-repo-link" href="/vim/vim/tree/master">vim</a></li><li class="Box-sc-g0xbh4-0 ghzDag"><span class="Box-sc-g0xbh4-0 hzJBof prc-Text-Text-0ima0" aria-hidden="true">/</span><a class="Box-sc-g0xbh4-0 kgiVEz prc-Link-Link-85e08" sx="[object Object]" href="/vim/vim/tree/master/src">src</a></li></ol></nav><div data-testid="breadcrumbs-filename" class="Box-sc-g0xbh4-0 ghzDag"><span class="Box-sc-g0xbh4-0 hzJBof prc-Text-Text-0ima0" aria-hidden="true">/</span><h1 class="Box-sc-g0xbh4-0 jGhzSQ prc-Heading-Heading-6CmGO" tabindex="-1" id="file-name-id">gui.c</h1></div><button data-component="IconButton" type="button" class="prc-Button-ButtonBase-c50BI ml-2 prc-Button-IconButton-szpyj" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-describedby=":Rftd9lab:-loading-announcement" aria-labelledby=":R1td9lab:"><svg aria-hidden="true" focusable="false" class="octicon octicon-copy" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg></button><span class="CopyToClipboardButton-module__tooltip--Dq1IB prc-TooltipV2-Tooltip-cYMVY" data-direction="nw" aria-label="Copy path" aria-hidden="true" id=":R1td9lab:">Copy path</span></div></div></div><div class="react-code-view-header-element--wide"><div class="Box-sc-g0xbh4-0 faNtbn"><div class="d-flex gap-2"> <div><div class="Box-sc-g0xbh4-0 fmQaBv"><span class="Box-sc-g0xbh4-0 vcvyP TextInput-wrapper prc-components-TextInputWrapper-i1ofR prc-components-TextInputBaseWrapper-ueK9q" data-leading-visual="true" data-trailing-visual="true" aria-busy="false"><span class="TextInput-icon" id=":Rb66d9lab:" aria-hidden="true"><svg aria-hidden="true" focusable="false" class="octicon octicon-search" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path></svg></span><input type="text" aria-label="Go to file" role="combobox" aria-controls="file-results-list" aria-expanded="false" aria-haspopup="dialog" autoCorrect="off" spellcheck="false" placeholder="Go to file" aria-describedby=":Rb66d9lab: :Rb66d9labH1:" data-component="input" class="prc-components-Input-Ic-y8" value=""/><span class="TextInput-icon" id=":Rb66d9labH1:" aria-hidden="true"></span></span></div><button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden=""></button></div><button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden=""></button><button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden=""></button><button type="button" class="Box-sc-g0xbh4-0 dwNhzn prc-Button-ButtonBase-c50BI" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-describedby=":R5a6d9lab:-loading-announcement"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg prc-Button-ButtonContent-HKbr-"><span data-component="text" class="prc-Button-Label-pTQ3x">Blame</span></span></button><button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><button data-component="IconButton" type="button" aria-label="More file actions" title="More file actions" data-testid="more-file-actions-button-nav-menu-wide" aria-haspopup="true" aria-expanded="false" tabindex="0" class="Box-sc-g0xbh4-0 fGwBZA prc-Button-ButtonBase-c50BI js-blob-dropdown-click prc-Button-IconButton-szpyj" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-describedby=":R2a6d9lab:-loading-announcement" id=":R2a6d9lab:"><svg aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg></button> </div></div></div><div class="react-code-view-header-element--narrow"><div class="Box-sc-g0xbh4-0 faNtbn"><div class="d-flex gap-2"> <button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden=""></button><button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden=""></button><button type="button" class="Box-sc-g0xbh4-0 dwNhzn prc-Button-ButtonBase-c50BI" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-describedby=":R5a7d9lab:-loading-announcement"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg prc-Button-ButtonContent-HKbr-"><span data-component="text" class="prc-Button-Label-pTQ3x">Blame</span></span></button><button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><button data-component="IconButton" type="button" aria-label="More file actions" title="More file actions" data-testid="more-file-actions-button-nav-menu-narrow" aria-haspopup="true" aria-expanded="false" tabindex="0" class="Box-sc-g0xbh4-0 fGwBZA prc-Button-ButtonBase-c50BI js-blob-dropdown-click prc-Button-IconButton-szpyj" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-describedby=":R2a7d9lab:-loading-announcement" id=":R2a7d9lab:"><svg aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg></button> </div></div></div></div></div></div></div></div><div class="Box-sc-g0xbh4-0 dJxjrT react-code-view-bottom-padding"> <div class="Box-sc-g0xbh4-0 eFxKDQ"></div> <!-- --> <!-- --> </div><div class="Box-sc-g0xbh4-0 dJxjrT"> <!-- --> <!-- --> <button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden=""></button><div class="d-flex flex-column border rounded-2 mb-3 pl-1"><div class="Box-sc-g0xbh4-0 dzCJzi"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone--vW4Cq prc-Heading-Heading-6CmGO" data-testid="screen-reader-heading">Latest commit</h2><div style="width:120px" class="Skeleton Skeleton--text" data-testid="loading"> </div><div class="d-flex flex-shrink-0 gap-2"><div data-testid="latest-commit-details" class="d-none d-sm-flex flex-items-center"></div><div class="d-flex gap-2"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone--vW4Cq prc-Heading-Heading-6CmGO" data-testid="screen-reader-heading">History</h2><a href="/vim/vim/commits/master/src/gui.c" class="prc-Button-ButtonBase-c50BI d-none d-lg-flex LinkButton-module__code-view-link-button--xvCGA flex-items-center fgColor-default" data-loading="false" data-size="small" data-variant="invisible" aria-describedby=":R5dlal9lab:-loading-announcement"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-history" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path></svg></span><span data-component="text" class="prc-Button-Label-pTQ3x"><span class="fgColor-default">History</span></span></span></a><div class="d-sm-none"></div><div class="d-flex d-lg-none"><span role="tooltip" aria-label="History" id="history-icon-button-tooltip" class="Tooltip__TooltipBase-sc-17tf59c-0 hWlpPn tooltipped-n"><a href="/vim/vim/commits/master/src/gui.c" class="prc-Button-ButtonBase-c50BI LinkButton-module__code-view-link-button--xvCGA flex-items-center fgColor-default" data-loading="false" data-size="small" data-variant="invisible" aria-describedby=":Rpdlal9lab:-loading-announcement history-icon-button-tooltip"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-history" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path></svg></span></span></a></span></div></div></div></div></div><div class="Box-sc-g0xbh4-0 ldRxiI"><div class="Box-sc-g0xbh4-0 fVkfyA container"><div class="Box-sc-g0xbh4-0 gNAmSV react-code-size-details-banner"><div class="Box-sc-g0xbh4-0 jNEwzY react-code-size-details-banner"><div class="Box-sc-g0xbh4-0 bsDwxw text-mono"><div title="137 KB" data-testid="blob-size" class="Truncate__StyledTruncate-sc-23o1d2-0 eAtkQz"><span>5544 lines (5033 loc) · 137 KB</span></div></div></div></div><div class="Box-sc-g0xbh4-0 jdLMhu react-blob-view-header-sticky" id="repos-sticky-header"><div class="Box-sc-g0xbh4-0 tOISc"><div class="react-blob-sticky-header"><div class="Box-sc-g0xbh4-0 hqwSEx"><div class="Box-sc-g0xbh4-0 bDVoEr"><div class="Box-sc-g0xbh4-0 kYLlPM"><div class="Box-sc-g0xbh4-0 gYjEmn"><button type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-label="master branch" data-testid="anchor-button" class="Box-sc-g0xbh4-0 dmxRgG prc-Button-ButtonBase-c50BI ref-selector-class" data-loading="false" data-size="medium" data-variant="default" aria-describedby="branch-picker-repos-header-ref-selector-loading-announcement" id="branch-picker-repos-header-ref-selector"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg prc-Button-ButtonContent-HKbr-"><span data-component="text" class="prc-Button-Label-pTQ3x"><div class="Box-sc-g0xbh4-0 bZBlpz"><div class="Box-sc-g0xbh4-0 lhTYNA"><svg aria-hidden="true" focusable="false" class="octicon octicon-git-branch" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg></div><div class="Box-sc-g0xbh4-0 dbrgmi ref-selector-button-text-container"><span class="Box-sc-g0xbh4-0 bmcJak prc-Text-Text-0ima0"> <!-- -->master</span></div></div></span><span data-component="trailingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></span></span></button><button hidden="" data-hotkey-scope="read-only-cursor-text-area"></button></div><div class="Box-sc-g0xbh4-0 kGqOLL"><div class="Box-sc-g0xbh4-0 fHind"><nav data-testid="breadcrumbs" aria-labelledby="sticky-breadcrumb-heading" id="sticky-breadcrumb" class="Box-sc-g0xbh4-0 fzFXnm"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone--vW4Cq prc-Heading-Heading-6CmGO" data-testid="screen-reader-heading" id="sticky-breadcrumb-heading">Breadcrumbs</h2><ol class="Box-sc-g0xbh4-0 iMnkmv"><li class="Box-sc-g0xbh4-0 ghzDag"><a class="Box-sc-g0xbh4-0 kHuKdh prc-Link-Link-85e08" sx="[object Object]" data-testid="breadcrumbs-repo-link" href="/vim/vim/tree/master">vim</a></li><li class="Box-sc-g0xbh4-0 ghzDag"><span class="Box-sc-g0xbh4-0 oDtgN prc-Text-Text-0ima0" aria-hidden="true">/</span><a class="Box-sc-g0xbh4-0 kgiVEz prc-Link-Link-85e08" sx="[object Object]" href="/vim/vim/tree/master/src">src</a></li></ol></nav><div data-testid="breadcrumbs-filename" class="Box-sc-g0xbh4-0 ghzDag"><span class="Box-sc-g0xbh4-0 oDtgN prc-Text-Text-0ima0" aria-hidden="true">/</span><h1 class="Box-sc-g0xbh4-0 dnZoUW prc-Heading-Heading-6CmGO" tabindex="-1" id="sticky-file-name-id">gui.c</h1></div></div></div></div><button style="--button-color:fg.default" type="button" class="Box-sc-g0xbh4-0 jRZWlf prc-Button-ButtonBase-c50BI" data-loading="false" data-size="small" data-variant="invisible" aria-describedby=":Riptal9lab:-loading-announcement"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-arrow-up" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.47 7.78a.75.75 0 0 1 0-1.06l4.25-4.25a.75.75 0 0 1 1.06 0l4.25 4.25a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018L9 4.81v7.44a.75.75 0 0 1-1.5 0V4.81L4.53 7.78a.75.75 0 0 1-1.06 0Z"></path></svg></span><span data-component="text" class="prc-Button-Label-pTQ3x">Top</span></span></button></div></div></div><div class="Box-sc-g0xbh4-0 kTvpNk"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone--vW4Cq prc-Heading-Heading-6CmGO" data-testid="screen-reader-heading">File metadata and controls</h2><div class="Box-sc-g0xbh4-0 iNMjfP"><ul aria-label="File view" class="Box-sc-g0xbh4-0 gtTaSn prc-SegmentedControl-SegmentedControl-e7570" data-size="small"><li class="Box-sc-g0xbh4-0 dXYHoy prc-SegmentedControl-Item-7Aq6h" data-selected="true"><button aria-current="true" class="prc-SegmentedControl-Button-ojWXD" type="button"><span class="prc-SegmentedControl-Content-gnQ4n"><div class="Box-sc-g0xbh4-0 prc-SegmentedControl-Text-c5gSh" data-text="Code">Code</div></span></button></li><li class="Box-sc-g0xbh4-0 jBWIdY prc-SegmentedControl-Item-7Aq6h"><button aria-current="false" class="prc-SegmentedControl-Button-ojWXD" type="button"><span class="prc-SegmentedControl-Content-gnQ4n"><div class="Box-sc-g0xbh4-0 prc-SegmentedControl-Text-c5gSh" data-text="Blame">Blame</div></span></button></li></ul><button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><div class="Box-sc-g0xbh4-0 jNEwzY react-code-size-details-in-header"><div class="Box-sc-g0xbh4-0 bsDwxw text-mono"><div title="137 KB" data-testid="blob-size" class="Truncate__StyledTruncate-sc-23o1d2-0 eAtkQz"><span>5544 lines (5033 loc) · 137 KB</span></div></div></div></div><div class="Box-sc-g0xbh4-0 kcLCKF"><div class="Box-sc-g0xbh4-0 kVWtTz react-blob-header-edit-and-raw-actions"><div class="Box-sc-g0xbh4-0 prc-ButtonGroup-ButtonGroup-vcMeG"><div><a href="https://github.com/vim/vim/raw/refs/heads/master/src/gui.c" data-testid="raw-button" class="Box-sc-g0xbh4-0 gWqxTd prc-Button-ButtonBase-c50BI" data-loading="false" data-no-visuals="true" data-size="small" data-variant="default" aria-describedby=":R5csptal9lab:-loading-announcement"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg prc-Button-ButtonContent-HKbr-"><span data-component="text" class="prc-Button-Label-pTQ3x">Raw</span></span></a></div><div><button data-component="IconButton" type="button" aria-label="Copy raw content" data-testid="copy-raw-button" class="prc-Button-ButtonBase-c50BI prc-Button-IconButton-szpyj" data-loading="false" data-no-visuals="true" data-size="small" data-variant="default" aria-describedby=":Rpcsptal9lab:-loading-announcement"><svg aria-hidden="true" focusable="false" class="octicon octicon-copy" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg></button></div><div><span role="tooltip" aria-label="Download raw file" id=":Rdcsptal9lab:" class="Tooltip__TooltipBase-sc-17tf59c-0 hWlpPn tooltipped-n"><button data-component="IconButton" type="button" aria-label="Download raw content" data-testid="download-raw-button" class="Box-sc-g0xbh4-0 ivobqY prc-Button-ButtonBase-c50BI prc-Button-IconButton-szpyj" data-loading="false" data-no-visuals="true" data-size="small" data-variant="default" aria-describedby=":Rtcsptal9lab:-loading-announcement"><svg aria-hidden="true" focusable="false" class="octicon octicon-download" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"></path><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z"></path></svg></button></span></div></div><button hidden="" data-testid="raw-button-shortcut" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden="" data-testid="copy-raw-button-shortcut" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden="" data-testid="download-raw-button-shortcut" data-hotkey-scope="read-only-cursor-text-area"></button></div><span role="tooltip" aria-label="Open symbols panel" id=":R5sptal9lab:" class="Tooltip__TooltipBase-sc-17tf59c-0 hWlpPn tooltipped-nw"><button data-component="IconButton" type="button" aria-label="Symbols" aria-pressed="false" aria-expanded="false" aria-controls="symbols-pane" data-testid="symbols-button" class="Box-sc-g0xbh4-0 heuRGy prc-Button-ButtonBase-c50BI prc-Button-IconButton-szpyj" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-describedby="symbols-button-loading-announcement" id="symbols-button"><svg aria-hidden="true" focusable="false" class="octicon octicon-code-square" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path></svg></button></span><div class="react-blob-header-edit-and-raw-actions-combined"><button data-component="IconButton" type="button" aria-label="Edit and raw actions" title="More file actions" data-testid="more-file-actions-button" aria-haspopup="true" aria-expanded="false" tabindex="0" class="Box-sc-g0xbh4-0 ffkqe prc-Button-ButtonBase-c50BI js-blob-dropdown-click prc-Button-IconButton-szpyj" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-describedby=":Rnsptal9lab:-loading-announcement" id=":Rnsptal9lab:"><svg aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg></button></div></div></div></div><div></div></div><div class="Box-sc-g0xbh4-0 hGyMdv"><section aria-labelledby="file-name-id-wide file-name-id-mobile" class="Box-sc-g0xbh4-0 dceWRL"><div class="Box-sc-g0xbh4-0 dGXHv"><div id="highlighted-line-menu-positioner" class="position-relative"><div id="copilot-button-positioner" class="Box-sc-g0xbh4-0 bpDFns"><div class="Box-sc-g0xbh4-0 iJOeCH"><div class="Box-sc-g0xbh4-0 jewUnv react-code-file-contents" role="presentation" aria-hidden="true" data-tab-size="8" data-paste-markdown-skip="true" data-hpc="true"><div class="react-line-numbers" style="pointer-events:auto"><div data-line-number="1" class="react-line-number react-code-text" style="padding-right:16px">1</div><div data-line-number="2" class="react-line-number react-code-text" style="padding-right:16px">2</div><div data-line-number="3" class="react-line-number react-code-text" style="padding-right:16px">3</div><div data-line-number="4" class="react-line-number react-code-text" style="padding-right:16px">4</div><div data-line-number="5" class="react-line-number react-code-text" style="padding-right:16px">5</div><div data-line-number="6" class="react-line-number react-code-text" style="padding-right:16px">6</div><div data-line-number="7" class="react-line-number react-code-text" style="padding-right:16px">7</div><div data-line-number="8" class="react-line-number react-code-text" style="padding-right:16px">8</div><div data-line-number="9" class="react-line-number react-code-text" style="padding-right:16px">9</div><div data-line-number="10" class="react-line-number react-code-text" style="padding-right:16px">10</div><div data-line-number="11" class="react-line-number react-code-text" style="padding-right:16px">11</div><div data-line-number="12" class="react-line-number react-code-text" style="padding-right:16px">12</div><div data-line-number="13" class="react-line-number react-code-text" style="padding-right:16px">13</div><div data-line-number="14" class="react-line-number react-code-text" style="padding-right:16px">14</div><div data-line-number="15" class="react-line-number react-code-text" style="padding-right:16px">15</div><div data-line-number="16" class="react-line-number react-code-text" style="padding-right:16px">16</div><div data-line-number="17" class="react-line-number react-code-text" style="padding-right:16px">17</div><div data-line-number="18" class="react-line-number react-code-text" style="padding-right:16px">18</div><div data-line-number="19" class="react-line-number react-code-text" style="padding-right:16px">19</div><div data-line-number="20" class="react-line-number react-code-text" style="padding-right:16px">20</div><div data-line-number="21" class="react-line-number react-code-text" style="padding-right:16px">21</div><div data-line-number="22" class="react-line-number react-code-text" style="padding-right:16px">22</div><div data-line-number="23" class="react-line-number react-code-text" style="padding-right:16px">23</div><div data-line-number="24" class="react-line-number react-code-text" style="padding-right:16px">24</div><div data-line-number="25" class="react-line-number react-code-text" style="padding-right:16px">25</div><div data-line-number="26" class="react-line-number react-code-text" style="padding-right:16px">26</div><div data-line-number="27" class="react-line-number react-code-text" style="padding-right:16px">27</div><div data-line-number="28" class="react-line-number react-code-text" style="padding-right:16px">28</div><div data-line-number="29" class="react-line-number react-code-text" style="padding-right:16px">29</div><div data-line-number="30" class="react-line-number react-code-text" style="padding-right:16px">30</div><div data-line-number="31" class="react-line-number react-code-text" style="padding-right:16px">31</div><div data-line-number="32" class="react-line-number react-code-text" style="padding-right:16px">32</div><div data-line-number="33" class="react-line-number react-code-text" style="padding-right:16px">33</div><div data-line-number="34" class="react-line-number react-code-text" style="padding-right:16px">34</div><div data-line-number="35" class="react-line-number react-code-text" style="padding-right:16px">35</div><div data-line-number="36" class="react-line-number react-code-text" style="padding-right:16px">36</div><div data-line-number="37" class="react-line-number react-code-text" style="padding-right:16px">37</div><div data-line-number="38" class="react-line-number react-code-text" style="padding-right:16px">38</div><div data-line-number="39" class="react-line-number react-code-text" style="padding-right:16px">39</div><div data-line-number="40" class="react-line-number react-code-text" style="padding-right:16px">40</div><div data-line-number="41" class="react-line-number react-code-text" style="padding-right:16px">41</div><div data-line-number="42" class="react-line-number react-code-text" style="padding-right:16px">42</div><div data-line-number="43" class="react-line-number react-code-text" style="padding-right:16px">43</div><div data-line-number="44" class="react-line-number react-code-text" style="padding-right:16px">44</div><div data-line-number="45" class="react-line-number react-code-text" style="padding-right:16px">45</div><div data-line-number="46" class="react-line-number react-code-text" style="padding-right:16px">46</div><div data-line-number="47" class="react-line-number react-code-text" style="padding-right:16px">47</div><div data-line-number="48" class="react-line-number react-code-text" style="padding-right:16px">48</div><div data-line-number="49" class="react-line-number react-code-text" style="padding-right:16px">49</div><div data-line-number="50" class="react-line-number react-code-text" style="padding-right:16px">50</div><div data-line-number="51" class="react-line-number react-code-text" style="padding-right:16px">51</div><div data-line-number="52" class="react-line-number react-code-text" style="padding-right:16px">52</div><div data-line-number="53" class="react-line-number react-code-text" style="padding-right:16px">53</div><div data-line-number="54" class="react-line-number react-code-text" style="padding-right:16px">54</div><div data-line-number="55" class="react-line-number react-code-text" style="padding-right:16px">55</div><div data-line-number="56" class="react-line-number react-code-text" style="padding-right:16px">56</div><div data-line-number="57" class="react-line-number react-code-text" style="padding-right:16px">57</div><div data-line-number="58" class="react-line-number react-code-text" style="padding-right:16px">58</div><div data-line-number="59" class="react-line-number react-code-text" style="padding-right:16px">59</div><div data-line-number="60" class="react-line-number react-code-text" style="padding-right:16px">60</div><div data-line-number="61" class="react-line-number react-code-text" style="padding-right:16px">61</div><div data-line-number="62" class="react-line-number react-code-text" style="padding-right:16px">62</div><div data-line-number="63" class="react-line-number react-code-text" style="padding-right:16px">63</div><div data-line-number="64" class="react-line-number react-code-text" style="padding-right:16px">64</div><div data-line-number="65" class="react-line-number react-code-text" style="padding-right:16px">65</div><div data-line-number="66" class="react-line-number react-code-text" style="padding-right:16px">66</div><div data-line-number="67" class="react-line-number react-code-text" style="padding-right:16px">67</div><div data-line-number="68" class="react-line-number react-code-text" style="padding-right:16px">68</div><div data-line-number="69" class="react-line-number react-code-text" style="padding-right:16px">69</div><div data-line-number="70" class="react-line-number react-code-text" style="padding-right:16px">70</div><div data-line-number="71" class="react-line-number react-code-text" style="padding-right:16px">71</div><div data-line-number="72" class="react-line-number react-code-text" style="padding-right:16px">72</div><div data-line-number="73" class="react-line-number react-code-text" style="padding-right:16px">73</div><div data-line-number="74" class="react-line-number react-code-text" style="padding-right:16px">74</div><div data-line-number="75" class="react-line-number react-code-text" style="padding-right:16px">75</div><div data-line-number="76" class="react-line-number react-code-text" style="padding-right:16px">76</div><div data-line-number="77" class="react-line-number react-code-text" style="padding-right:16px">77</div><div data-line-number="78" class="react-line-number react-code-text" style="padding-right:16px">78</div><div data-line-number="79" class="react-line-number react-code-text" style="padding-right:16px">79</div><div data-line-number="80" class="react-line-number react-code-text" style="padding-right:16px">80</div><div data-line-number="81" class="react-line-number react-code-text" style="padding-right:16px">81</div><div data-line-number="82" class="react-line-number react-code-text" style="padding-right:16px">82</div><div data-line-number="83" class="react-line-number react-code-text" style="padding-right:16px">83</div><div data-line-number="84" class="react-line-number react-code-text" style="padding-right:16px">84</div><div data-line-number="85" class="react-line-number react-code-text" style="padding-right:16px">85</div><div data-line-number="86" class="react-line-number react-code-text" style="padding-right:16px">86</div><div data-line-number="87" class="react-line-number react-code-text" style="padding-right:16px">87</div><div data-line-number="88" class="react-line-number react-code-text" style="padding-right:16px">88</div><div data-line-number="89" class="react-line-number react-code-text" style="padding-right:16px">89</div><div data-line-number="90" class="react-line-number react-code-text" style="padding-right:16px">90</div><div data-line-number="91" class="react-line-number react-code-text" style="padding-right:16px">91</div><div data-line-number="92" class="react-line-number react-code-text" style="padding-right:16px">92</div><div data-line-number="93" class="react-line-number react-code-text" style="padding-right:16px">93</div><div data-line-number="94" class="react-line-number react-code-text" style="padding-right:16px">94</div><div data-line-number="95" class="react-line-number react-code-text" style="padding-right:16px">95</div><div data-line-number="96" class="react-line-number react-code-text" style="padding-right:16px">96</div><div data-line-number="97" class="react-line-number react-code-text" style="padding-right:16px">97</div><div data-line-number="98" class="react-line-number react-code-text" style="padding-right:16px">98</div><div data-line-number="99" class="react-line-number react-code-text" style="padding-right:16px">99</div><div data-line-number="100" class="react-line-number react-code-text" style="padding-right:16px">100</div><div data-line-number="101" class="react-line-number react-code-text" style="padding-right:16px">101</div><div data-line-number="102" class="react-line-number react-code-text" style="padding-right:16px">102</div><div data-line-number="103" class="react-line-number react-code-text" style="padding-right:16px">103</div><div data-line-number="104" class="react-line-number react-code-text" style="padding-right:16px">104</div><div data-line-number="105" class="react-line-number react-code-text" style="padding-right:16px">105</div><div data-line-number="106" class="react-line-number react-code-text" style="padding-right:16px">106</div><div data-line-number="107" class="react-line-number react-code-text" style="padding-right:16px">107</div><div data-line-number="108" class="react-line-number react-code-text" style="padding-right:16px">108</div><div data-line-number="109" class="react-line-number react-code-text" style="padding-right:16px">109</div><div data-line-number="110" class="react-line-number react-code-text" style="padding-right:16px">110</div><div data-line-number="111" class="react-line-number react-code-text" style="padding-right:16px">111</div><div data-line-number="112" class="react-line-number react-code-text" style="padding-right:16px">112</div><div data-line-number="113" class="react-line-number react-code-text" style="padding-right:16px">113</div><div data-line-number="114" class="react-line-number react-code-text" style="padding-right:16px">114</div><div data-line-number="115" class="react-line-number react-code-text" style="padding-right:16px">115</div><div data-line-number="116" class="react-line-number react-code-text" style="padding-right:16px">116</div><div data-line-number="117" class="react-line-number react-code-text" style="padding-right:16px">117</div><div data-line-number="118" class="react-line-number react-code-text" style="padding-right:16px">118</div><div data-line-number="119" class="react-line-number react-code-text" style="padding-right:16px">119</div><div data-line-number="120" class="react-line-number react-code-text" style="padding-right:16px">120</div><div data-line-number="121" class="react-line-number react-code-text" style="padding-right:16px">121</div><div data-line-number="122" class="react-line-number react-code-text" style="padding-right:16px">122</div><div data-line-number="123" class="react-line-number react-code-text" style="padding-right:16px">123</div><div data-line-number="124" class="react-line-number react-code-text" style="padding-right:16px">124</div><div data-line-number="125" class="react-line-number react-code-text" style="padding-right:16px">125</div><div data-line-number="126" class="react-line-number react-code-text" style="padding-right:16px">126</div><div data-line-number="127" class="react-line-number react-code-text" style="padding-right:16px">127</div><div data-line-number="128" class="react-line-number react-code-text" style="padding-right:16px">128</div><div data-line-number="129" class="react-line-number react-code-text" style="padding-right:16px">129</div><div data-line-number="130" class="react-line-number react-code-text" style="padding-right:16px">130</div><div data-line-number="131" class="react-line-number react-code-text" style="padding-right:16px">131</div><div data-line-number="132" class="react-line-number react-code-text" style="padding-right:16px">132</div><div data-line-number="133" class="react-line-number react-code-text" style="padding-right:16px">133</div><div data-line-number="134" class="react-line-number react-code-text" style="padding-right:16px">134</div><div data-line-number="135" class="react-line-number react-code-text" style="padding-right:16px">135</div><div data-line-number="136" class="react-line-number react-code-text" style="padding-right:16px">136</div><div data-line-number="137" class="react-line-number react-code-text" style="padding-right:16px">137</div><div data-line-number="138" class="react-line-number react-code-text" style="padding-right:16px">138</div><div data-line-number="139" class="react-line-number react-code-text" style="padding-right:16px">139</div><div data-line-number="140" class="react-line-number react-code-text" style="padding-right:16px">140</div><div data-line-number="141" class="react-line-number react-code-text" style="padding-right:16px">141</div><div data-line-number="142" class="react-line-number react-code-text" style="padding-right:16px">142</div><div data-line-number="143" class="react-line-number react-code-text" style="padding-right:16px">143</div><div data-line-number="144" class="react-line-number react-code-text" style="padding-right:16px">144</div><div data-line-number="145" class="react-line-number react-code-text" style="padding-right:16px">145</div><div data-line-number="146" class="react-line-number react-code-text" style="padding-right:16px">146</div><div data-line-number="147" class="react-line-number react-code-text" style="padding-right:16px">147</div><div data-line-number="148" class="react-line-number react-code-text" style="padding-right:16px">148</div><div data-line-number="149" class="react-line-number react-code-text" style="padding-right:16px">149</div><div data-line-number="150" class="react-line-number react-code-text" style="padding-right:16px">150</div><div data-line-number="151" class="react-line-number react-code-text" style="padding-right:16px">151</div><div data-line-number="152" class="react-line-number react-code-text" style="padding-right:16px">152</div><div data-line-number="153" class="react-line-number react-code-text" style="padding-right:16px">153</div><div data-line-number="154" class="react-line-number react-code-text" style="padding-right:16px">154</div><div data-line-number="155" class="react-line-number react-code-text" style="padding-right:16px">155</div><div data-line-number="156" class="react-line-number react-code-text" style="padding-right:16px">156</div><div data-line-number="157" class="react-line-number react-code-text" style="padding-right:16px">157</div><div data-line-number="158" class="react-line-number react-code-text" style="padding-right:16px">158</div><div data-line-number="159" class="react-line-number react-code-text" style="padding-right:16px">159</div><div data-line-number="160" class="react-line-number react-code-text" style="padding-right:16px">160</div><div data-line-number="161" class="react-line-number react-code-text" style="padding-right:16px">161</div><div data-line-number="162" class="react-line-number react-code-text" style="padding-right:16px">162</div><div data-line-number="163" class="react-line-number react-code-text" style="padding-right:16px">163</div><div data-line-number="164" class="react-line-number react-code-text" style="padding-right:16px">164</div><div data-line-number="165" class="react-line-number react-code-text" style="padding-right:16px">165</div><div data-line-number="166" class="react-line-number react-code-text" style="padding-right:16px">166</div><div data-line-number="167" class="react-line-number react-code-text" style="padding-right:16px">167</div><div data-line-number="168" class="react-line-number react-code-text" style="padding-right:16px">168</div><div data-line-number="169" class="react-line-number react-code-text" style="padding-right:16px">169</div><div data-line-number="170" class="react-line-number react-code-text" style="padding-right:16px">170</div><div data-line-number="171" class="react-line-number react-code-text" style="padding-right:16px">171</div><div data-line-number="172" class="react-line-number react-code-text" style="padding-right:16px">172</div><div data-line-number="173" class="react-line-number react-code-text" style="padding-right:16px">173</div><div data-line-number="174" class="react-line-number react-code-text" style="padding-right:16px">174</div><div data-line-number="175" class="react-line-number react-code-text" style="padding-right:16px">175</div><div data-line-number="176" class="react-line-number react-code-text" style="padding-right:16px">176</div><div data-line-number="177" class="react-line-number react-code-text" style="padding-right:16px">177</div><div data-line-number="178" class="react-line-number react-code-text" style="padding-right:16px">178</div><div data-line-number="179" class="react-line-number react-code-text" style="padding-right:16px">179</div><div data-line-number="180" class="react-line-number react-code-text" style="padding-right:16px">180</div><div data-line-number="181" class="react-line-number react-code-text" style="padding-right:16px">181</div><div data-line-number="182" class="react-line-number react-code-text" style="padding-right:16px">182</div><div data-line-number="183" class="react-line-number react-code-text" style="padding-right:16px">183</div><div data-line-number="184" class="react-line-number react-code-text" style="padding-right:16px">184</div><div data-line-number="185" class="react-line-number react-code-text" style="padding-right:16px">185</div><div data-line-number="186" class="react-line-number react-code-text" style="padding-right:16px">186</div><div data-line-number="187" class="react-line-number react-code-text" style="padding-right:16px">187</div><div data-line-number="188" class="react-line-number react-code-text" style="padding-right:16px">188</div><div data-line-number="189" class="react-line-number react-code-text" style="padding-right:16px">189</div><div data-line-number="190" class="react-line-number react-code-text" style="padding-right:16px">190</div><div data-line-number="191" class="react-line-number react-code-text" style="padding-right:16px">191</div><div data-line-number="192" class="react-line-number react-code-text" style="padding-right:16px">192</div><div data-line-number="193" class="react-line-number react-code-text" style="padding-right:16px">193</div><div data-line-number="194" class="react-line-number react-code-text" style="padding-right:16px">194</div><div data-line-number="195" class="react-line-number react-code-text" style="padding-right:16px">195</div><div data-line-number="196" class="react-line-number react-code-text" style="padding-right:16px">196</div><div data-line-number="197" class="react-line-number react-code-text" style="padding-right:16px">197</div><div data-line-number="198" class="react-line-number react-code-text" style="padding-right:16px">198</div><div data-line-number="199" class="react-line-number react-code-text" style="padding-right:16px">199</div><div data-line-number="200" class="react-line-number react-code-text" style="padding-right:16px">200</div><div data-line-number="201" class="react-line-number react-code-text" style="padding-right:16px">201</div><div data-line-number="202" class="react-line-number react-code-text" style="padding-right:16px">202</div><div data-line-number="203" class="react-line-number react-code-text" style="padding-right:16px">203</div><div data-line-number="204" class="react-line-number react-code-text" style="padding-right:16px">204</div><div data-line-number="205" class="react-line-number react-code-text" style="padding-right:16px">205</div><div data-line-number="206" class="react-line-number react-code-text" style="padding-right:16px">206</div><div data-line-number="207" class="react-line-number react-code-text" style="padding-right:16px">207</div><div data-line-number="208" class="react-line-number react-code-text" style="padding-right:16px">208</div><div data-line-number="209" class="react-line-number react-code-text" style="padding-right:16px">209</div><div data-line-number="210" class="react-line-number react-code-text" style="padding-right:16px">210</div><div data-line-number="211" class="react-line-number react-code-text" style="padding-right:16px">211</div><div data-line-number="212" class="react-line-number react-code-text" style="padding-right:16px">212</div><div data-line-number="213" class="react-line-number react-code-text" style="padding-right:16px">213</div><div data-line-number="214" class="react-line-number react-code-text" style="padding-right:16px">214</div><div data-line-number="215" class="react-line-number react-code-text" style="padding-right:16px">215</div><div data-line-number="216" class="react-line-number react-code-text" style="padding-right:16px">216</div><div data-line-number="217" class="react-line-number react-code-text" style="padding-right:16px">217</div><div data-line-number="218" class="react-line-number react-code-text" style="padding-right:16px">218</div><div data-line-number="219" class="react-line-number react-code-text" style="padding-right:16px">219</div><div data-line-number="220" class="react-line-number react-code-text" style="padding-right:16px">220</div><div data-line-number="221" class="react-line-number react-code-text" style="padding-right:16px">221</div><div data-line-number="222" class="react-line-number react-code-text" style="padding-right:16px">222</div><div data-line-number="223" class="react-line-number react-code-text" style="padding-right:16px">223</div><div data-line-number="224" class="react-line-number react-code-text" style="padding-right:16px">224</div><div data-line-number="225" class="react-line-number react-code-text" style="padding-right:16px">225</div><div data-line-number="226" class="react-line-number react-code-text" style="padding-right:16px">226</div><div data-line-number="227" class="react-line-number react-code-text" style="padding-right:16px">227</div><div data-line-number="228" class="react-line-number react-code-text" style="padding-right:16px">228</div><div data-line-number="229" class="react-line-number react-code-text" style="padding-right:16px">229</div><div data-line-number="230" class="react-line-number react-code-text" style="padding-right:16px">230</div><div data-line-number="231" class="react-line-number react-code-text" style="padding-right:16px">231</div><div data-line-number="232" class="react-line-number react-code-text" style="padding-right:16px">232</div><div data-line-number="233" class="react-line-number react-code-text" style="padding-right:16px">233</div><div data-line-number="234" class="react-line-number react-code-text" style="padding-right:16px">234</div><div data-line-number="235" class="react-line-number react-code-text" style="padding-right:16px">235</div><div data-line-number="236" class="react-line-number react-code-text" style="padding-right:16px">236</div><div data-line-number="237" class="react-line-number react-code-text" style="padding-right:16px">237</div><div data-line-number="238" class="react-line-number react-code-text" style="padding-right:16px">238</div><div data-line-number="239" class="react-line-number react-code-text" style="padding-right:16px">239</div><div data-line-number="240" class="react-line-number react-code-text" style="padding-right:16px">240</div><div data-line-number="241" class="react-line-number react-code-text" style="padding-right:16px">241</div><div data-line-number="242" class="react-line-number react-code-text" style="padding-right:16px">242</div><div data-line-number="243" class="react-line-number react-code-text" style="padding-right:16px">243</div><div data-line-number="244" class="react-line-number react-code-text" style="padding-right:16px">244</div><div data-line-number="245" class="react-line-number react-code-text" style="padding-right:16px">245</div><div data-line-number="246" class="react-line-number react-code-text" style="padding-right:16px">246</div><div data-line-number="247" class="react-line-number react-code-text" style="padding-right:16px">247</div><div data-line-number="248" class="react-line-number react-code-text" style="padding-right:16px">248</div><div data-line-number="249" class="react-line-number react-code-text" style="padding-right:16px">249</div><div data-line-number="250" class="react-line-number react-code-text" style="padding-right:16px">250</div><div data-line-number="251" class="react-line-number react-code-text" style="padding-right:16px">251</div><div data-line-number="252" class="react-line-number react-code-text" style="padding-right:16px">252</div><div data-line-number="253" class="react-line-number react-code-text" style="padding-right:16px">253</div><div data-line-number="254" class="react-line-number react-code-text" style="padding-right:16px">254</div><div data-line-number="255" class="react-line-number react-code-text" style="padding-right:16px">255</div><div data-line-number="256" class="react-line-number react-code-text" style="padding-right:16px">256</div><div data-line-number="257" class="react-line-number react-code-text" style="padding-right:16px">257</div><div data-line-number="258" class="react-line-number react-code-text" style="padding-right:16px">258</div><div data-line-number="259" class="react-line-number react-code-text" style="padding-right:16px">259</div><div data-line-number="260" class="react-line-number react-code-text" style="padding-right:16px">260</div><div data-line-number="261" class="react-line-number react-code-text" style="padding-right:16px">261</div><div data-line-number="262" class="react-line-number react-code-text" style="padding-right:16px">262</div><div data-line-number="263" class="react-line-number react-code-text" style="padding-right:16px">263</div><div data-line-number="264" class="react-line-number react-code-text" style="padding-right:16px">264</div><div data-line-number="265" class="react-line-number react-code-text" style="padding-right:16px">265</div><div data-line-number="266" class="react-line-number react-code-text" style="padding-right:16px">266</div><div data-line-number="267" class="react-line-number react-code-text" style="padding-right:16px">267</div><div data-line-number="268" class="react-line-number react-code-text" style="padding-right:16px">268</div><div data-line-number="269" class="react-line-number react-code-text" style="padding-right:16px">269</div><div data-line-number="270" class="react-line-number react-code-text" style="padding-right:16px">270</div><div data-line-number="271" class="react-line-number react-code-text" style="padding-right:16px">271</div><div data-line-number="272" class="react-line-number react-code-text" style="padding-right:16px">272</div><div data-line-number="273" class="react-line-number react-code-text" style="padding-right:16px">273</div><div data-line-number="274" class="react-line-number react-code-text" style="padding-right:16px">274</div><div data-line-number="275" class="react-line-number react-code-text" style="padding-right:16px">275</div><div data-line-number="276" class="react-line-number react-code-text" style="padding-right:16px">276</div><div data-line-number="277" class="react-line-number react-code-text" style="padding-right:16px">277</div><div data-line-number="278" class="react-line-number react-code-text" style="padding-right:16px">278</div><div data-line-number="279" class="react-line-number react-code-text" style="padding-right:16px">279</div><div data-line-number="280" class="react-line-number react-code-text" style="padding-right:16px">280</div><div data-line-number="281" class="react-line-number react-code-text" style="padding-right:16px">281</div><div data-line-number="282" class="react-line-number react-code-text" style="padding-right:16px">282</div><div data-line-number="283" class="react-line-number react-code-text" style="padding-right:16px">283</div><div data-line-number="284" class="react-line-number react-code-text" style="padding-right:16px">284</div><div data-line-number="285" class="react-line-number react-code-text" style="padding-right:16px">285</div><div data-line-number="286" class="react-line-number react-code-text" style="padding-right:16px">286</div><div data-line-number="287" class="react-line-number react-code-text" style="padding-right:16px">287</div><div data-line-number="288" class="react-line-number react-code-text" style="padding-right:16px">288</div><div data-line-number="289" class="react-line-number react-code-text" style="padding-right:16px">289</div><div data-line-number="290" class="react-line-number react-code-text" style="padding-right:16px">290</div><div data-line-number="291" class="react-line-number react-code-text" style="padding-right:16px">291</div><div data-line-number="292" class="react-line-number react-code-text" style="padding-right:16px">292</div><div data-line-number="293" class="react-line-number react-code-text" style="padding-right:16px">293</div><div data-line-number="294" class="react-line-number react-code-text" style="padding-right:16px">294</div><div data-line-number="295" class="react-line-number react-code-text" style="padding-right:16px">295</div><div data-line-number="296" class="react-line-number react-code-text" style="padding-right:16px">296</div><div data-line-number="297" class="react-line-number react-code-text" style="padding-right:16px">297</div><div data-line-number="298" class="react-line-number react-code-text" style="padding-right:16px">298</div><div data-line-number="299" class="react-line-number react-code-text" style="padding-right:16px">299</div><div data-line-number="300" class="react-line-number react-code-text" style="padding-right:16px">300</div><div data-line-number="301" class="react-line-number react-code-text" style="padding-right:16px">301</div><div data-line-number="302" class="react-line-number react-code-text" style="padding-right:16px">302</div><div data-line-number="303" class="react-line-number react-code-text" style="padding-right:16px">303</div><div data-line-number="304" class="react-line-number react-code-text" style="padding-right:16px">304</div><div data-line-number="305" class="react-line-number react-code-text" style="padding-right:16px">305</div><div data-line-number="306" class="react-line-number react-code-text" style="padding-right:16px">306</div><div data-line-number="307" class="react-line-number react-code-text" style="padding-right:16px">307</div><div data-line-number="308" class="react-line-number react-code-text" style="padding-right:16px">308</div><div data-line-number="309" class="react-line-number react-code-text" style="padding-right:16px">309</div><div data-line-number="310" class="react-line-number react-code-text" style="padding-right:16px">310</div><div data-line-number="311" class="react-line-number react-code-text" style="padding-right:16px">311</div><div data-line-number="312" class="react-line-number react-code-text" style="padding-right:16px">312</div><div data-line-number="313" class="react-line-number react-code-text" style="padding-right:16px">313</div><div data-line-number="314" class="react-line-number react-code-text" style="padding-right:16px">314</div><div data-line-number="315" class="react-line-number react-code-text" style="padding-right:16px">315</div><div data-line-number="316" class="react-line-number react-code-text" style="padding-right:16px">316</div><div data-line-number="317" class="react-line-number react-code-text" style="padding-right:16px">317</div><div data-line-number="318" class="react-line-number react-code-text" style="padding-right:16px">318</div><div data-line-number="319" class="react-line-number react-code-text" style="padding-right:16px">319</div><div data-line-number="320" class="react-line-number react-code-text" style="padding-right:16px">320</div><div data-line-number="321" class="react-line-number react-code-text" style="padding-right:16px">321</div><div data-line-number="322" class="react-line-number react-code-text" style="padding-right:16px">322</div><div data-line-number="323" class="react-line-number react-code-text" style="padding-right:16px">323</div><div data-line-number="324" class="react-line-number react-code-text" style="padding-right:16px">324</div><div data-line-number="325" class="react-line-number react-code-text" style="padding-right:16px">325</div><div data-line-number="326" class="react-line-number react-code-text" style="padding-right:16px">326</div><div data-line-number="327" class="react-line-number react-code-text" style="padding-right:16px">327</div><div data-line-number="328" class="react-line-number react-code-text" style="padding-right:16px">328</div><div data-line-number="329" class="react-line-number react-code-text" style="padding-right:16px">329</div><div data-line-number="330" class="react-line-number react-code-text" style="padding-right:16px">330</div><div data-line-number="331" class="react-line-number react-code-text" style="padding-right:16px">331</div><div data-line-number="332" class="react-line-number react-code-text" style="padding-right:16px">332</div><div data-line-number="333" class="react-line-number react-code-text" style="padding-right:16px">333</div><div data-line-number="334" class="react-line-number react-code-text" style="padding-right:16px">334</div><div data-line-number="335" class="react-line-number react-code-text" style="padding-right:16px">335</div><div data-line-number="336" class="react-line-number react-code-text" style="padding-right:16px">336</div><div data-line-number="337" class="react-line-number react-code-text" style="padding-right:16px">337</div><div data-line-number="338" class="react-line-number react-code-text" style="padding-right:16px">338</div><div data-line-number="339" class="react-line-number react-code-text" style="padding-right:16px">339</div><div data-line-number="340" class="react-line-number react-code-text" style="padding-right:16px">340</div><div data-line-number="341" class="react-line-number react-code-text" style="padding-right:16px">341</div><div data-line-number="342" class="react-line-number react-code-text" style="padding-right:16px">342</div><div data-line-number="343" class="react-line-number react-code-text" style="padding-right:16px">343</div><div data-line-number="344" class="react-line-number react-code-text" style="padding-right:16px">344</div><div data-line-number="345" class="react-line-number react-code-text" style="padding-right:16px">345</div><div data-line-number="346" class="react-line-number react-code-text" style="padding-right:16px">346</div><div data-line-number="347" class="react-line-number react-code-text" style="padding-right:16px">347</div><div data-line-number="348" class="react-line-number react-code-text" style="padding-right:16px">348</div><div data-line-number="349" class="react-line-number react-code-text" style="padding-right:16px">349</div><div data-line-number="350" class="react-line-number react-code-text" style="padding-right:16px">350</div><div data-line-number="351" class="react-line-number react-code-text" style="padding-right:16px">351</div><div data-line-number="352" class="react-line-number react-code-text" style="padding-right:16px">352</div><div data-line-number="353" class="react-line-number react-code-text" style="padding-right:16px">353</div><div data-line-number="354" class="react-line-number react-code-text" style="padding-right:16px">354</div><div data-line-number="355" class="react-line-number react-code-text" style="padding-right:16px">355</div><div data-line-number="356" class="react-line-number react-code-text" style="padding-right:16px">356</div><div data-line-number="357" class="react-line-number react-code-text" style="padding-right:16px">357</div><div data-line-number="358" class="react-line-number react-code-text" style="padding-right:16px">358</div><div data-line-number="359" class="react-line-number react-code-text" style="padding-right:16px">359</div><div data-line-number="360" class="react-line-number react-code-text" style="padding-right:16px">360</div><div data-line-number="361" class="react-line-number react-code-text" style="padding-right:16px">361</div><div data-line-number="362" class="react-line-number react-code-text" style="padding-right:16px">362</div><div data-line-number="363" class="react-line-number react-code-text" style="padding-right:16px">363</div><div data-line-number="364" class="react-line-number react-code-text" style="padding-right:16px">364</div><div data-line-number="365" class="react-line-number react-code-text" style="padding-right:16px">365</div><div data-line-number="366" class="react-line-number react-code-text" style="padding-right:16px">366</div><div data-line-number="367" class="react-line-number react-code-text" style="padding-right:16px">367</div><div data-line-number="368" class="react-line-number react-code-text" style="padding-right:16px">368</div><div data-line-number="369" class="react-line-number react-code-text" style="padding-right:16px">369</div><div data-line-number="370" class="react-line-number react-code-text" style="padding-right:16px">370</div><div data-line-number="371" class="react-line-number react-code-text" style="padding-right:16px">371</div><div data-line-number="372" class="react-line-number react-code-text" style="padding-right:16px">372</div><div data-line-number="373" class="react-line-number react-code-text" style="padding-right:16px">373</div><div data-line-number="374" class="react-line-number react-code-text" style="padding-right:16px">374</div><div data-line-number="375" class="react-line-number react-code-text" style="padding-right:16px">375</div><div data-line-number="376" class="react-line-number react-code-text" style="padding-right:16px">376</div><div data-line-number="377" class="react-line-number react-code-text" style="padding-right:16px">377</div><div data-line-number="378" class="react-line-number react-code-text" style="padding-right:16px">378</div><div data-line-number="379" class="react-line-number react-code-text" style="padding-right:16px">379</div><div data-line-number="380" class="react-line-number react-code-text" style="padding-right:16px">380</div><div data-line-number="381" class="react-line-number react-code-text" style="padding-right:16px">381</div><div data-line-number="382" class="react-line-number react-code-text" style="padding-right:16px">382</div><div data-line-number="383" class="react-line-number react-code-text" style="padding-right:16px">383</div><div data-line-number="384" class="react-line-number react-code-text" style="padding-right:16px">384</div><div data-line-number="385" class="react-line-number react-code-text" style="padding-right:16px">385</div><div data-line-number="386" class="react-line-number react-code-text" style="padding-right:16px">386</div><div data-line-number="387" class="react-line-number react-code-text" style="padding-right:16px">387</div><div data-line-number="388" class="react-line-number react-code-text" style="padding-right:16px">388</div><div data-line-number="389" class="react-line-number react-code-text" style="padding-right:16px">389</div><div data-line-number="390" class="react-line-number react-code-text" style="padding-right:16px">390</div><div data-line-number="391" class="react-line-number react-code-text" style="padding-right:16px">391</div><div data-line-number="392" class="react-line-number react-code-text" style="padding-right:16px">392</div><div data-line-number="393" class="react-line-number react-code-text" style="padding-right:16px">393</div><div data-line-number="394" class="react-line-number react-code-text" style="padding-right:16px">394</div><div data-line-number="395" class="react-line-number react-code-text" style="padding-right:16px">395</div><div data-line-number="396" class="react-line-number react-code-text" style="padding-right:16px">396</div><div data-line-number="397" class="react-line-number react-code-text" style="padding-right:16px">397</div><div data-line-number="398" class="react-line-number react-code-text" style="padding-right:16px">398</div><div data-line-number="399" class="react-line-number react-code-text" style="padding-right:16px">399</div><div data-line-number="400" class="react-line-number react-code-text" style="padding-right:16px">400</div><div data-line-number="401" class="react-line-number react-code-text" style="padding-right:16px">401</div><div data-line-number="402" class="react-line-number react-code-text" style="padding-right:16px">402</div><div data-line-number="403" class="react-line-number react-code-text" style="padding-right:16px">403</div><div data-line-number="404" class="react-line-number react-code-text" style="padding-right:16px">404</div><div data-line-number="405" class="react-line-number react-code-text" style="padding-right:16px">405</div><div data-line-number="406" class="react-line-number react-code-text" style="padding-right:16px">406</div><div data-line-number="407" class="react-line-number react-code-text" style="padding-right:16px">407</div><div data-line-number="408" class="react-line-number react-code-text" style="padding-right:16px">408</div><div data-line-number="409" class="react-line-number react-code-text" style="padding-right:16px">409</div><div data-line-number="410" class="react-line-number react-code-text" style="padding-right:16px">410</div><div data-line-number="411" class="react-line-number react-code-text" style="padding-right:16px">411</div><div data-line-number="412" class="react-line-number react-code-text" style="padding-right:16px">412</div><div data-line-number="413" class="react-line-number react-code-text" style="padding-right:16px">413</div><div data-line-number="414" class="react-line-number react-code-text" style="padding-right:16px">414</div><div data-line-number="415" class="react-line-number react-code-text" style="padding-right:16px">415</div><div data-line-number="416" class="react-line-number react-code-text" style="padding-right:16px">416</div><div data-line-number="417" class="react-line-number react-code-text" style="padding-right:16px">417</div><div data-line-number="418" class="react-line-number react-code-text" style="padding-right:16px">418</div><div data-line-number="419" class="react-line-number react-code-text" style="padding-right:16px">419</div><div data-line-number="420" class="react-line-number react-code-text" style="padding-right:16px">420</div><div data-line-number="421" class="react-line-number react-code-text" style="padding-right:16px">421</div><div data-line-number="422" class="react-line-number react-code-text" style="padding-right:16px">422</div><div data-line-number="423" class="react-line-number react-code-text" style="padding-right:16px">423</div><div data-line-number="424" class="react-line-number react-code-text" style="padding-right:16px">424</div><div data-line-number="425" class="react-line-number react-code-text" style="padding-right:16px">425</div><div data-line-number="426" class="react-line-number react-code-text" style="padding-right:16px">426</div><div data-line-number="427" class="react-line-number react-code-text" style="padding-right:16px">427</div><div data-line-number="428" class="react-line-number react-code-text" style="padding-right:16px">428</div><div data-line-number="429" class="react-line-number react-code-text" style="padding-right:16px">429</div><div data-line-number="430" class="react-line-number react-code-text" style="padding-right:16px">430</div><div data-line-number="431" class="react-line-number react-code-text" style="padding-right:16px">431</div><div data-line-number="432" class="react-line-number react-code-text" style="padding-right:16px">432</div><div data-line-number="433" class="react-line-number react-code-text" style="padding-right:16px">433</div><div data-line-number="434" class="react-line-number react-code-text" style="padding-right:16px">434</div><div data-line-number="435" class="react-line-number react-code-text" style="padding-right:16px">435</div><div data-line-number="436" class="react-line-number react-code-text" style="padding-right:16px">436</div><div data-line-number="437" class="react-line-number react-code-text" style="padding-right:16px">437</div><div data-line-number="438" class="react-line-number react-code-text" style="padding-right:16px">438</div><div data-line-number="439" class="react-line-number react-code-text" style="padding-right:16px">439</div><div data-line-number="440" class="react-line-number react-code-text" style="padding-right:16px">440</div><div data-line-number="441" class="react-line-number react-code-text" style="padding-right:16px">441</div><div data-line-number="442" class="react-line-number react-code-text" style="padding-right:16px">442</div><div data-line-number="443" class="react-line-number react-code-text" style="padding-right:16px">443</div><div data-line-number="444" class="react-line-number react-code-text" style="padding-right:16px">444</div><div data-line-number="445" class="react-line-number react-code-text" style="padding-right:16px">445</div><div data-line-number="446" class="react-line-number react-code-text" style="padding-right:16px">446</div><div data-line-number="447" class="react-line-number react-code-text" style="padding-right:16px">447</div><div data-line-number="448" class="react-line-number react-code-text" style="padding-right:16px">448</div><div data-line-number="449" class="react-line-number react-code-text" style="padding-right:16px">449</div><div data-line-number="450" class="react-line-number react-code-text" style="padding-right:16px">450</div><div data-line-number="451" class="react-line-number react-code-text" style="padding-right:16px">451</div><div data-line-number="452" class="react-line-number react-code-text" style="padding-right:16px">452</div><div data-line-number="453" class="react-line-number react-code-text" style="padding-right:16px">453</div><div data-line-number="454" class="react-line-number react-code-text" style="padding-right:16px">454</div><div data-line-number="455" class="react-line-number react-code-text" style="padding-right:16px">455</div><div data-line-number="456" class="react-line-number react-code-text" style="padding-right:16px">456</div><div data-line-number="457" class="react-line-number react-code-text" style="padding-right:16px">457</div><div data-line-number="458" class="react-line-number react-code-text" style="padding-right:16px">458</div><div data-line-number="459" class="react-line-number react-code-text" style="padding-right:16px">459</div><div data-line-number="460" class="react-line-number react-code-text" style="padding-right:16px">460</div><div data-line-number="461" class="react-line-number react-code-text" style="padding-right:16px">461</div><div data-line-number="462" class="react-line-number react-code-text" style="padding-right:16px">462</div><div data-line-number="463" class="react-line-number react-code-text" style="padding-right:16px">463</div><div data-line-number="464" class="react-line-number react-code-text" style="padding-right:16px">464</div><div data-line-number="465" class="react-line-number react-code-text" style="padding-right:16px">465</div><div data-line-number="466" class="react-line-number react-code-text" style="padding-right:16px">466</div><div data-line-number="467" class="react-line-number react-code-text" style="padding-right:16px">467</div><div data-line-number="468" class="react-line-number react-code-text" style="padding-right:16px">468</div><div data-line-number="469" class="react-line-number react-code-text" style="padding-right:16px">469</div><div data-line-number="470" class="react-line-number react-code-text" style="padding-right:16px">470</div><div data-line-number="471" class="react-line-number react-code-text" style="padding-right:16px">471</div><div data-line-number="472" class="react-line-number react-code-text" style="padding-right:16px">472</div><div data-line-number="473" class="react-line-number react-code-text" style="padding-right:16px">473</div><div data-line-number="474" class="react-line-number react-code-text" style="padding-right:16px">474</div><div data-line-number="475" class="react-line-number react-code-text" style="padding-right:16px">475</div><div data-line-number="476" class="react-line-number react-code-text" style="padding-right:16px">476</div><div data-line-number="477" class="react-line-number react-code-text" style="padding-right:16px">477</div><div data-line-number="478" class="react-line-number react-code-text" style="padding-right:16px">478</div><div data-line-number="479" class="react-line-number react-code-text" style="padding-right:16px">479</div><div data-line-number="480" class="react-line-number react-code-text" style="padding-right:16px">480</div><div data-line-number="481" class="react-line-number react-code-text" style="padding-right:16px">481</div><div data-line-number="482" class="react-line-number react-code-text" style="padding-right:16px">482</div><div data-line-number="483" class="react-line-number react-code-text" style="padding-right:16px">483</div><div data-line-number="484" class="react-line-number react-code-text" style="padding-right:16px">484</div><div data-line-number="485" class="react-line-number react-code-text" style="padding-right:16px">485</div><div data-line-number="486" class="react-line-number react-code-text" style="padding-right:16px">486</div><div data-line-number="487" class="react-line-number react-code-text" style="padding-right:16px">487</div><div data-line-number="488" class="react-line-number react-code-text" style="padding-right:16px">488</div><div data-line-number="489" class="react-line-number react-code-text" style="padding-right:16px">489</div><div data-line-number="490" class="react-line-number react-code-text" style="padding-right:16px">490</div><div data-line-number="491" class="react-line-number react-code-text" style="padding-right:16px">491</div><div data-line-number="492" class="react-line-number react-code-text" style="padding-right:16px">492</div><div data-line-number="493" class="react-line-number react-code-text" style="padding-right:16px">493</div><div data-line-number="494" class="react-line-number react-code-text" style="padding-right:16px">494</div><div data-line-number="495" class="react-line-number react-code-text" style="padding-right:16px">495</div><div data-line-number="496" class="react-line-number react-code-text" style="padding-right:16px">496</div><div data-line-number="497" class="react-line-number react-code-text" style="padding-right:16px">497</div><div data-line-number="498" class="react-line-number react-code-text" style="padding-right:16px">498</div><div data-line-number="499" class="react-line-number react-code-text" style="padding-right:16px">499</div><div data-line-number="500" class="react-line-number react-code-text" style="padding-right:16px">500</div><div data-line-number="501" class="react-line-number react-code-text" style="padding-right:16px">501</div><div data-line-number="502" class="react-line-number react-code-text" style="padding-right:16px">502</div><div data-line-number="503" class="react-line-number react-code-text" style="padding-right:16px">503</div><div data-line-number="504" class="react-line-number react-code-text" style="padding-right:16px">504</div><div data-line-number="505" class="react-line-number react-code-text" style="padding-right:16px">505</div><div data-line-number="506" class="react-line-number react-code-text" style="padding-right:16px">506</div><div data-line-number="507" class="react-line-number react-code-text" style="padding-right:16px">507</div><div data-line-number="508" class="react-line-number react-code-text" style="padding-right:16px">508</div><div data-line-number="509" class="react-line-number react-code-text" style="padding-right:16px">509</div><div data-line-number="510" class="react-line-number react-code-text" style="padding-right:16px">510</div><div data-line-number="511" class="react-line-number react-code-text" style="padding-right:16px">511</div><div data-line-number="512" class="react-line-number react-code-text" style="padding-right:16px">512</div><div data-line-number="513" class="react-line-number react-code-text" style="padding-right:16px">513</div><div data-line-number="514" class="react-line-number react-code-text" style="padding-right:16px">514</div><div data-line-number="515" class="react-line-number react-code-text" style="padding-right:16px">515</div><div data-line-number="516" class="react-line-number react-code-text" style="padding-right:16px">516</div><div data-line-number="517" class="react-line-number react-code-text" style="padding-right:16px">517</div><div data-line-number="518" class="react-line-number react-code-text" style="padding-right:16px">518</div><div data-line-number="519" class="react-line-number react-code-text" style="padding-right:16px">519</div><div data-line-number="520" class="react-line-number react-code-text" style="padding-right:16px">520</div><div data-line-number="521" class="react-line-number react-code-text" style="padding-right:16px">521</div><div data-line-number="522" class="react-line-number react-code-text" style="padding-right:16px">522</div><div data-line-number="523" class="react-line-number react-code-text" style="padding-right:16px">523</div><div data-line-number="524" class="react-line-number react-code-text" style="padding-right:16px">524</div><div data-line-number="525" class="react-line-number react-code-text" style="padding-right:16px">525</div><div data-line-number="526" class="react-line-number react-code-text" style="padding-right:16px">526</div><div data-line-number="527" class="react-line-number react-code-text" style="padding-right:16px">527</div><div data-line-number="528" class="react-line-number react-code-text" style="padding-right:16px">528</div><div data-line-number="529" class="react-line-number react-code-text" style="padding-right:16px">529</div><div data-line-number="530" class="react-line-number react-code-text" style="padding-right:16px">530</div><div data-line-number="531" class="react-line-number react-code-text" style="padding-right:16px">531</div><div data-line-number="532" class="react-line-number react-code-text" style="padding-right:16px">532</div><div data-line-number="533" class="react-line-number react-code-text" style="padding-right:16px">533</div><div data-line-number="534" class="react-line-number react-code-text" style="padding-right:16px">534</div><div data-line-number="535" class="react-line-number react-code-text" style="padding-right:16px">535</div><div data-line-number="536" class="react-line-number react-code-text" style="padding-right:16px">536</div><div data-line-number="537" class="react-line-number react-code-text" style="padding-right:16px">537</div><div data-line-number="538" class="react-line-number react-code-text" style="padding-right:16px">538</div><div data-line-number="539" class="react-line-number react-code-text" style="padding-right:16px">539</div><div data-line-number="540" class="react-line-number react-code-text" style="padding-right:16px">540</div><div data-line-number="541" class="react-line-number react-code-text" style="padding-right:16px">541</div><div data-line-number="542" class="react-line-number react-code-text" style="padding-right:16px">542</div><div data-line-number="543" class="react-line-number react-code-text" style="padding-right:16px">543</div><div data-line-number="544" class="react-line-number react-code-text" style="padding-right:16px">544</div><div data-line-number="545" class="react-line-number react-code-text" style="padding-right:16px">545</div><div data-line-number="546" class="react-line-number react-code-text" style="padding-right:16px">546</div><div data-line-number="547" class="react-line-number react-code-text" style="padding-right:16px">547</div><div data-line-number="548" class="react-line-number react-code-text" style="padding-right:16px">548</div><div data-line-number="549" class="react-line-number react-code-text" style="padding-right:16px">549</div><div data-line-number="550" class="react-line-number react-code-text" style="padding-right:16px">550</div><div data-line-number="551" class="react-line-number react-code-text" style="padding-right:16px">551</div><div data-line-number="552" class="react-line-number react-code-text" style="padding-right:16px">552</div><div data-line-number="553" class="react-line-number react-code-text" style="padding-right:16px">553</div><div data-line-number="554" class="react-line-number react-code-text" style="padding-right:16px">554</div><div data-line-number="555" class="react-line-number react-code-text" style="padding-right:16px">555</div><div data-line-number="556" class="react-line-number react-code-text" style="padding-right:16px">556</div><div data-line-number="557" class="react-line-number react-code-text" style="padding-right:16px">557</div><div data-line-number="558" class="react-line-number react-code-text" style="padding-right:16px">558</div><div data-line-number="559" class="react-line-number react-code-text" style="padding-right:16px">559</div><div data-line-number="560" class="react-line-number react-code-text" style="padding-right:16px">560</div><div data-line-number="561" class="react-line-number react-code-text" style="padding-right:16px">561</div><div data-line-number="562" class="react-line-number react-code-text" style="padding-right:16px">562</div><div data-line-number="563" class="react-line-number react-code-text" style="padding-right:16px">563</div><div data-line-number="564" class="react-line-number react-code-text" style="padding-right:16px">564</div><div data-line-number="565" class="react-line-number react-code-text" style="padding-right:16px">565</div><div data-line-number="566" class="react-line-number react-code-text" style="padding-right:16px">566</div><div data-line-number="567" class="react-line-number react-code-text" style="padding-right:16px">567</div><div data-line-number="568" class="react-line-number react-code-text" style="padding-right:16px">568</div><div data-line-number="569" class="react-line-number react-code-text" style="padding-right:16px">569</div><div data-line-number="570" class="react-line-number react-code-text" style="padding-right:16px">570</div><div data-line-number="571" class="react-line-number react-code-text" style="padding-right:16px">571</div><div data-line-number="572" class="react-line-number react-code-text" style="padding-right:16px">572</div><div data-line-number="573" class="react-line-number react-code-text" style="padding-right:16px">573</div><div data-line-number="574" class="react-line-number react-code-text" style="padding-right:16px">574</div><div data-line-number="575" class="react-line-number react-code-text" style="padding-right:16px">575</div><div data-line-number="576" class="react-line-number react-code-text" style="padding-right:16px">576</div><div data-line-number="577" class="react-line-number react-code-text" style="padding-right:16px">577</div><div data-line-number="578" class="react-line-number react-code-text" style="padding-right:16px">578</div><div data-line-number="579" class="react-line-number react-code-text" style="padding-right:16px">579</div><div data-line-number="580" class="react-line-number react-code-text" style="padding-right:16px">580</div><div data-line-number="581" class="react-line-number react-code-text" style="padding-right:16px">581</div><div data-line-number="582" class="react-line-number react-code-text" style="padding-right:16px">582</div><div data-line-number="583" class="react-line-number react-code-text" style="padding-right:16px">583</div><div data-line-number="584" class="react-line-number react-code-text" style="padding-right:16px">584</div><div data-line-number="585" class="react-line-number react-code-text" style="padding-right:16px">585</div><div data-line-number="586" class="react-line-number react-code-text" style="padding-right:16px">586</div><div data-line-number="587" class="react-line-number react-code-text" style="padding-right:16px">587</div><div data-line-number="588" class="react-line-number react-code-text" style="padding-right:16px">588</div><div data-line-number="589" class="react-line-number react-code-text" style="padding-right:16px">589</div><div data-line-number="590" class="react-line-number react-code-text" style="padding-right:16px">590</div><div data-line-number="591" class="react-line-number react-code-text" style="padding-right:16px">591</div><div data-line-number="592" class="react-line-number react-code-text" style="padding-right:16px">592</div><div data-line-number="593" class="react-line-number react-code-text" style="padding-right:16px">593</div><div data-line-number="594" class="react-line-number react-code-text" style="padding-right:16px">594</div><div data-line-number="595" class="react-line-number react-code-text" style="padding-right:16px">595</div><div data-line-number="596" class="react-line-number react-code-text" style="padding-right:16px">596</div><div data-line-number="597" class="react-line-number react-code-text" style="padding-right:16px">597</div><div data-line-number="598" class="react-line-number react-code-text" style="padding-right:16px">598</div><div data-line-number="599" class="react-line-number react-code-text" style="padding-right:16px">599</div><div data-line-number="600" class="react-line-number react-code-text" style="padding-right:16px">600</div><div data-line-number="601" class="react-line-number react-code-text" style="padding-right:16px">601</div><div data-line-number="602" class="react-line-number react-code-text" style="padding-right:16px">602</div><div data-line-number="603" class="react-line-number react-code-text" style="padding-right:16px">603</div><div data-line-number="604" class="react-line-number react-code-text" style="padding-right:16px">604</div><div data-line-number="605" class="react-line-number react-code-text" style="padding-right:16px">605</div><div data-line-number="606" class="react-line-number react-code-text" style="padding-right:16px">606</div><div data-line-number="607" class="react-line-number react-code-text" style="padding-right:16px">607</div><div data-line-number="608" class="react-line-number react-code-text" style="padding-right:16px">608</div><div data-line-number="609" class="react-line-number react-code-text" style="padding-right:16px">609</div><div data-line-number="610" class="react-line-number react-code-text" style="padding-right:16px">610</div><div data-line-number="611" class="react-line-number react-code-text" style="padding-right:16px">611</div><div data-line-number="612" class="react-line-number react-code-text" style="padding-right:16px">612</div><div data-line-number="613" class="react-line-number react-code-text" style="padding-right:16px">613</div><div data-line-number="614" class="react-line-number react-code-text" style="padding-right:16px">614</div><div data-line-number="615" class="react-line-number react-code-text" style="padding-right:16px">615</div><div data-line-number="616" class="react-line-number react-code-text" style="padding-right:16px">616</div><div data-line-number="617" class="react-line-number react-code-text" style="padding-right:16px">617</div><div data-line-number="618" class="react-line-number react-code-text" style="padding-right:16px">618</div><div data-line-number="619" class="react-line-number react-code-text" style="padding-right:16px">619</div><div data-line-number="620" class="react-line-number react-code-text" style="padding-right:16px">620</div><div data-line-number="621" class="react-line-number react-code-text" style="padding-right:16px">621</div><div data-line-number="622" class="react-line-number react-code-text" style="padding-right:16px">622</div><div data-line-number="623" class="react-line-number react-code-text" style="padding-right:16px">623</div><div data-line-number="624" class="react-line-number react-code-text" style="padding-right:16px">624</div><div data-line-number="625" class="react-line-number react-code-text" style="padding-right:16px">625</div><div data-line-number="626" class="react-line-number react-code-text" style="padding-right:16px">626</div><div data-line-number="627" class="react-line-number react-code-text" style="padding-right:16px">627</div><div data-line-number="628" class="react-line-number react-code-text" style="padding-right:16px">628</div><div data-line-number="629" class="react-line-number react-code-text" style="padding-right:16px">629</div><div data-line-number="630" class="react-line-number react-code-text" style="padding-right:16px">630</div><div data-line-number="631" class="react-line-number react-code-text" style="padding-right:16px">631</div><div data-line-number="632" class="react-line-number react-code-text" style="padding-right:16px">632</div><div data-line-number="633" class="react-line-number react-code-text" style="padding-right:16px">633</div><div data-line-number="634" class="react-line-number react-code-text" style="padding-right:16px">634</div><div data-line-number="635" class="react-line-number react-code-text" style="padding-right:16px">635</div><div data-line-number="636" class="react-line-number react-code-text" style="padding-right:16px">636</div><div data-line-number="637" class="react-line-number react-code-text" style="padding-right:16px">637</div><div data-line-number="638" class="react-line-number react-code-text" style="padding-right:16px">638</div><div data-line-number="639" class="react-line-number react-code-text" style="padding-right:16px">639</div><div data-line-number="640" class="react-line-number react-code-text" style="padding-right:16px">640</div><div data-line-number="641" class="react-line-number react-code-text" style="padding-right:16px">641</div><div data-line-number="642" class="react-line-number react-code-text" style="padding-right:16px">642</div><div data-line-number="643" class="react-line-number react-code-text" style="padding-right:16px">643</div><div data-line-number="644" class="react-line-number react-code-text" style="padding-right:16px">644</div><div data-line-number="645" class="react-line-number react-code-text" style="padding-right:16px">645</div><div data-line-number="646" class="react-line-number react-code-text" style="padding-right:16px">646</div><div data-line-number="647" class="react-line-number react-code-text" style="padding-right:16px">647</div><div data-line-number="648" class="react-line-number react-code-text" style="padding-right:16px">648</div><div data-line-number="649" class="react-line-number react-code-text" style="padding-right:16px">649</div><div data-line-number="650" class="react-line-number react-code-text" style="padding-right:16px">650</div><div data-line-number="651" class="react-line-number react-code-text" style="padding-right:16px">651</div><div data-line-number="652" class="react-line-number react-code-text" style="padding-right:16px">652</div><div data-line-number="653" class="react-line-number react-code-text" style="padding-right:16px">653</div><div data-line-number="654" class="react-line-number react-code-text" style="padding-right:16px">654</div><div data-line-number="655" class="react-line-number react-code-text" style="padding-right:16px">655</div><div data-line-number="656" class="react-line-number react-code-text" style="padding-right:16px">656</div><div data-line-number="657" class="react-line-number react-code-text" style="padding-right:16px">657</div><div data-line-number="658" class="react-line-number react-code-text" style="padding-right:16px">658</div><div data-line-number="659" class="react-line-number react-code-text" style="padding-right:16px">659</div><div data-line-number="660" class="react-line-number react-code-text" style="padding-right:16px">660</div><div data-line-number="661" class="react-line-number react-code-text" style="padding-right:16px">661</div><div data-line-number="662" class="react-line-number react-code-text" style="padding-right:16px">662</div><div data-line-number="663" class="react-line-number react-code-text" style="padding-right:16px">663</div><div data-line-number="664" class="react-line-number react-code-text" style="padding-right:16px">664</div><div data-line-number="665" class="react-line-number react-code-text" style="padding-right:16px">665</div><div data-line-number="666" class="react-line-number react-code-text" style="padding-right:16px">666</div><div data-line-number="667" class="react-line-number react-code-text" style="padding-right:16px">667</div><div data-line-number="668" class="react-line-number react-code-text" style="padding-right:16px">668</div><div data-line-number="669" class="react-line-number react-code-text" style="padding-right:16px">669</div><div data-line-number="670" class="react-line-number react-code-text" style="padding-right:16px">670</div><div data-line-number="671" class="react-line-number react-code-text" style="padding-right:16px">671</div><div data-line-number="672" class="react-line-number react-code-text" style="padding-right:16px">672</div><div data-line-number="673" class="react-line-number react-code-text" style="padding-right:16px">673</div><div data-line-number="674" class="react-line-number react-code-text" style="padding-right:16px">674</div><div data-line-number="675" class="react-line-number react-code-text" style="padding-right:16px">675</div><div data-line-number="676" class="react-line-number react-code-text" style="padding-right:16px">676</div><div data-line-number="677" class="react-line-number react-code-text" style="padding-right:16px">677</div><div data-line-number="678" class="react-line-number react-code-text" style="padding-right:16px">678</div><div data-line-number="679" class="react-line-number react-code-text" style="padding-right:16px">679</div><div data-line-number="680" class="react-line-number react-code-text" style="padding-right:16px">680</div><div data-line-number="681" class="react-line-number react-code-text" style="padding-right:16px">681</div><div data-line-number="682" class="react-line-number react-code-text" style="padding-right:16px">682</div><div data-line-number="683" class="react-line-number react-code-text" style="padding-right:16px">683</div><div data-line-number="684" class="react-line-number react-code-text" style="padding-right:16px">684</div><div data-line-number="685" class="react-line-number react-code-text" style="padding-right:16px">685</div><div data-line-number="686" class="react-line-number react-code-text" style="padding-right:16px">686</div><div data-line-number="687" class="react-line-number react-code-text" style="padding-right:16px">687</div><div data-line-number="688" class="react-line-number react-code-text" style="padding-right:16px">688</div><div data-line-number="689" class="react-line-number react-code-text" style="padding-right:16px">689</div><div data-line-number="690" class="react-line-number react-code-text" style="padding-right:16px">690</div><div data-line-number="691" class="react-line-number react-code-text" style="padding-right:16px">691</div><div data-line-number="692" class="react-line-number react-code-text" style="padding-right:16px">692</div><div data-line-number="693" class="react-line-number react-code-text" style="padding-right:16px">693</div><div data-line-number="694" class="react-line-number react-code-text" style="padding-right:16px">694</div><div data-line-number="695" class="react-line-number react-code-text" style="padding-right:16px">695</div><div data-line-number="696" class="react-line-number react-code-text" style="padding-right:16px">696</div><div data-line-number="697" class="react-line-number react-code-text" style="padding-right:16px">697</div><div data-line-number="698" class="react-line-number react-code-text" style="padding-right:16px">698</div><div data-line-number="699" class="react-line-number react-code-text" style="padding-right:16px">699</div><div data-line-number="700" class="react-line-number react-code-text" style="padding-right:16px">700</div><div data-line-number="701" class="react-line-number react-code-text" style="padding-right:16px">701</div><div data-line-number="702" class="react-line-number react-code-text" style="padding-right:16px">702</div><div data-line-number="703" class="react-line-number react-code-text" style="padding-right:16px">703</div><div data-line-number="704" class="react-line-number react-code-text" style="padding-right:16px">704</div><div data-line-number="705" class="react-line-number react-code-text" style="padding-right:16px">705</div><div data-line-number="706" class="react-line-number react-code-text" style="padding-right:16px">706</div><div data-line-number="707" class="react-line-number react-code-text" style="padding-right:16px">707</div><div data-line-number="708" class="react-line-number react-code-text" style="padding-right:16px">708</div><div data-line-number="709" class="react-line-number react-code-text" style="padding-right:16px">709</div><div data-line-number="710" class="react-line-number react-code-text" style="padding-right:16px">710</div><div data-line-number="711" class="react-line-number react-code-text" style="padding-right:16px">711</div><div data-line-number="712" class="react-line-number react-code-text" style="padding-right:16px">712</div><div data-line-number="713" class="react-line-number react-code-text" style="padding-right:16px">713</div><div data-line-number="714" class="react-line-number react-code-text" style="padding-right:16px">714</div><div data-line-number="715" class="react-line-number react-code-text" style="padding-right:16px">715</div><div data-line-number="716" class="react-line-number react-code-text" style="padding-right:16px">716</div><div data-line-number="717" class="react-line-number react-code-text" style="padding-right:16px">717</div><div data-line-number="718" class="react-line-number react-code-text" style="padding-right:16px">718</div><div data-line-number="719" class="react-line-number react-code-text" style="padding-right:16px">719</div><div data-line-number="720" class="react-line-number react-code-text" style="padding-right:16px">720</div><div data-line-number="721" class="react-line-number react-code-text" style="padding-right:16px">721</div><div data-line-number="722" class="react-line-number react-code-text" style="padding-right:16px">722</div><div data-line-number="723" class="react-line-number react-code-text" style="padding-right:16px">723</div><div data-line-number="724" class="react-line-number react-code-text" style="padding-right:16px">724</div><div data-line-number="725" class="react-line-number react-code-text" style="padding-right:16px">725</div><div data-line-number="726" class="react-line-number react-code-text" style="padding-right:16px">726</div><div data-line-number="727" class="react-line-number react-code-text" style="padding-right:16px">727</div><div data-line-number="728" class="react-line-number react-code-text" style="padding-right:16px">728</div><div data-line-number="729" class="react-line-number react-code-text" style="padding-right:16px">729</div><div data-line-number="730" class="react-line-number react-code-text" style="padding-right:16px">730</div><div data-line-number="731" class="react-line-number react-code-text" style="padding-right:16px">731</div><div data-line-number="732" class="react-line-number react-code-text" style="padding-right:16px">732</div><div data-line-number="733" class="react-line-number react-code-text" style="padding-right:16px">733</div><div data-line-number="734" class="react-line-number react-code-text" style="padding-right:16px">734</div><div data-line-number="735" class="react-line-number react-code-text" style="padding-right:16px">735</div><div data-line-number="736" class="react-line-number react-code-text" style="padding-right:16px">736</div><div data-line-number="737" class="react-line-number react-code-text" style="padding-right:16px">737</div><div data-line-number="738" class="react-line-number react-code-text" style="padding-right:16px">738</div><div data-line-number="739" class="react-line-number react-code-text" style="padding-right:16px">739</div><div data-line-number="740" class="react-line-number react-code-text" style="padding-right:16px">740</div><div data-line-number="741" class="react-line-number react-code-text" style="padding-right:16px">741</div><div data-line-number="742" class="react-line-number react-code-text" style="padding-right:16px">742</div><div data-line-number="743" class="react-line-number react-code-text" style="padding-right:16px">743</div><div data-line-number="744" class="react-line-number react-code-text" style="padding-right:16px">744</div><div data-line-number="745" class="react-line-number react-code-text" style="padding-right:16px">745</div><div data-line-number="746" class="react-line-number react-code-text" style="padding-right:16px">746</div><div data-line-number="747" class="react-line-number react-code-text" style="padding-right:16px">747</div><div data-line-number="748" class="react-line-number react-code-text" style="padding-right:16px">748</div><div data-line-number="749" class="react-line-number react-code-text" style="padding-right:16px">749</div><div data-line-number="750" class="react-line-number react-code-text" style="padding-right:16px">750</div><div data-line-number="751" class="react-line-number react-code-text" style="padding-right:16px">751</div><div data-line-number="752" class="react-line-number react-code-text" style="padding-right:16px">752</div><div data-line-number="753" class="react-line-number react-code-text" style="padding-right:16px">753</div><div data-line-number="754" class="react-line-number react-code-text" style="padding-right:16px">754</div><div data-line-number="755" class="react-line-number react-code-text" style="padding-right:16px">755</div><div data-line-number="756" class="react-line-number react-code-text" style="padding-right:16px">756</div><div data-line-number="757" class="react-line-number react-code-text" style="padding-right:16px">757</div><div data-line-number="758" class="react-line-number react-code-text" style="padding-right:16px">758</div><div data-line-number="759" class="react-line-number react-code-text" style="padding-right:16px">759</div><div data-line-number="760" class="react-line-number react-code-text" style="padding-right:16px">760</div><div data-line-number="761" class="react-line-number react-code-text" style="padding-right:16px">761</div><div data-line-number="762" class="react-line-number react-code-text" style="padding-right:16px">762</div><div data-line-number="763" class="react-line-number react-code-text" style="padding-right:16px">763</div><div data-line-number="764" class="react-line-number react-code-text" style="padding-right:16px">764</div><div data-line-number="765" class="react-line-number react-code-text" style="padding-right:16px">765</div><div data-line-number="766" class="react-line-number react-code-text" style="padding-right:16px">766</div><div data-line-number="767" class="react-line-number react-code-text" style="padding-right:16px">767</div><div data-line-number="768" class="react-line-number react-code-text" style="padding-right:16px">768</div><div data-line-number="769" class="react-line-number react-code-text" style="padding-right:16px">769</div><div data-line-number="770" class="react-line-number react-code-text" style="padding-right:16px">770</div><div data-line-number="771" class="react-line-number react-code-text" style="padding-right:16px">771</div><div data-line-number="772" class="react-line-number react-code-text" style="padding-right:16px">772</div><div data-line-number="773" class="react-line-number react-code-text" style="padding-right:16px">773</div><div data-line-number="774" class="react-line-number react-code-text" style="padding-right:16px">774</div><div data-line-number="775" class="react-line-number react-code-text" style="padding-right:16px">775</div><div data-line-number="776" class="react-line-number react-code-text" style="padding-right:16px">776</div><div data-line-number="777" class="react-line-number react-code-text" style="padding-right:16px">777</div><div data-line-number="778" class="react-line-number react-code-text" style="padding-right:16px">778</div><div data-line-number="779" class="react-line-number react-code-text" style="padding-right:16px">779</div><div data-line-number="780" class="react-line-number react-code-text" style="padding-right:16px">780</div><div data-line-number="781" class="react-line-number react-code-text" style="padding-right:16px">781</div><div data-line-number="782" class="react-line-number react-code-text" style="padding-right:16px">782</div><div data-line-number="783" class="react-line-number react-code-text" style="padding-right:16px">783</div><div data-line-number="784" class="react-line-number react-code-text" style="padding-right:16px">784</div><div data-line-number="785" class="react-line-number react-code-text" style="padding-right:16px">785</div><div data-line-number="786" class="react-line-number react-code-text" style="padding-right:16px">786</div><div data-line-number="787" class="react-line-number react-code-text" style="padding-right:16px">787</div><div data-line-number="788" class="react-line-number react-code-text" style="padding-right:16px">788</div><div data-line-number="789" class="react-line-number react-code-text" style="padding-right:16px">789</div><div data-line-number="790" class="react-line-number react-code-text" style="padding-right:16px">790</div><div data-line-number="791" class="react-line-number react-code-text" style="padding-right:16px">791</div><div data-line-number="792" class="react-line-number react-code-text" style="padding-right:16px">792</div><div data-line-number="793" class="react-line-number react-code-text" style="padding-right:16px">793</div><div data-line-number="794" class="react-line-number react-code-text" style="padding-right:16px">794</div><div data-line-number="795" class="react-line-number react-code-text" style="padding-right:16px">795</div><div data-line-number="796" class="react-line-number react-code-text" style="padding-right:16px">796</div><div data-line-number="797" class="react-line-number react-code-text" style="padding-right:16px">797</div><div data-line-number="798" class="react-line-number react-code-text" style="padding-right:16px">798</div><div data-line-number="799" class="react-line-number react-code-text" style="padding-right:16px">799</div><div data-line-number="800" class="react-line-number react-code-text" style="padding-right:16px">800</div><div data-line-number="801" class="react-line-number react-code-text" style="padding-right:16px">801</div><div data-line-number="802" class="react-line-number react-code-text" style="padding-right:16px">802</div><div data-line-number="803" class="react-line-number react-code-text" style="padding-right:16px">803</div><div data-line-number="804" class="react-line-number react-code-text" style="padding-right:16px">804</div><div data-line-number="805" class="react-line-number react-code-text" style="padding-right:16px">805</div><div data-line-number="806" class="react-line-number react-code-text" style="padding-right:16px">806</div><div data-line-number="807" class="react-line-number react-code-text" style="padding-right:16px">807</div><div data-line-number="808" class="react-line-number react-code-text" style="padding-right:16px">808</div><div data-line-number="809" class="react-line-number react-code-text" style="padding-right:16px">809</div><div data-line-number="810" class="react-line-number react-code-text" style="padding-right:16px">810</div><div data-line-number="811" class="react-line-number react-code-text" style="padding-right:16px">811</div><div data-line-number="812" class="react-line-number react-code-text" style="padding-right:16px">812</div><div data-line-number="813" class="react-line-number react-code-text" style="padding-right:16px">813</div><div data-line-number="814" class="react-line-number react-code-text" style="padding-right:16px">814</div><div data-line-number="815" class="react-line-number react-code-text" style="padding-right:16px">815</div><div data-line-number="816" class="react-line-number react-code-text" style="padding-right:16px">816</div><div data-line-number="817" class="react-line-number react-code-text" style="padding-right:16px">817</div><div data-line-number="818" class="react-line-number react-code-text" style="padding-right:16px">818</div><div data-line-number="819" class="react-line-number react-code-text" style="padding-right:16px">819</div><div data-line-number="820" class="react-line-number react-code-text" style="padding-right:16px">820</div><div data-line-number="821" class="react-line-number react-code-text" style="padding-right:16px">821</div><div data-line-number="822" class="react-line-number react-code-text" style="padding-right:16px">822</div><div data-line-number="823" class="react-line-number react-code-text" style="padding-right:16px">823</div><div data-line-number="824" class="react-line-number react-code-text" style="padding-right:16px">824</div><div data-line-number="825" class="react-line-number react-code-text" style="padding-right:16px">825</div><div data-line-number="826" class="react-line-number react-code-text" style="padding-right:16px">826</div><div data-line-number="827" class="react-line-number react-code-text" style="padding-right:16px">827</div><div data-line-number="828" class="react-line-number react-code-text" style="padding-right:16px">828</div><div data-line-number="829" class="react-line-number react-code-text" style="padding-right:16px">829</div><div data-line-number="830" class="react-line-number react-code-text" style="padding-right:16px">830</div><div data-line-number="831" class="react-line-number react-code-text" style="padding-right:16px">831</div><div data-line-number="832" class="react-line-number react-code-text" style="padding-right:16px">832</div><div data-line-number="833" class="react-line-number react-code-text" style="padding-right:16px">833</div><div data-line-number="834" class="react-line-number react-code-text" style="padding-right:16px">834</div><div data-line-number="835" class="react-line-number react-code-text" style="padding-right:16px">835</div><div data-line-number="836" class="react-line-number react-code-text" style="padding-right:16px">836</div><div data-line-number="837" class="react-line-number react-code-text" style="padding-right:16px">837</div><div data-line-number="838" class="react-line-number react-code-text" style="padding-right:16px">838</div><div data-line-number="839" class="react-line-number react-code-text" style="padding-right:16px">839</div><div data-line-number="840" class="react-line-number react-code-text" style="padding-right:16px">840</div><div data-line-number="841" class="react-line-number react-code-text" style="padding-right:16px">841</div><div data-line-number="842" class="react-line-number react-code-text" style="padding-right:16px">842</div><div data-line-number="843" class="react-line-number react-code-text" style="padding-right:16px">843</div><div data-line-number="844" class="react-line-number react-code-text" style="padding-right:16px">844</div><div data-line-number="845" class="react-line-number react-code-text" style="padding-right:16px">845</div><div data-line-number="846" class="react-line-number react-code-text" style="padding-right:16px">846</div><div data-line-number="847" class="react-line-number react-code-text" style="padding-right:16px">847</div><div data-line-number="848" class="react-line-number react-code-text" style="padding-right:16px">848</div><div data-line-number="849" class="react-line-number react-code-text" style="padding-right:16px">849</div><div data-line-number="850" class="react-line-number react-code-text" style="padding-right:16px">850</div><div data-line-number="851" class="react-line-number react-code-text" style="padding-right:16px">851</div><div data-line-number="852" class="react-line-number react-code-text" style="padding-right:16px">852</div><div data-line-number="853" class="react-line-number react-code-text" style="padding-right:16px">853</div><div data-line-number="854" class="react-line-number react-code-text" style="padding-right:16px">854</div><div data-line-number="855" class="react-line-number react-code-text" style="padding-right:16px">855</div><div data-line-number="856" class="react-line-number react-code-text" style="padding-right:16px">856</div><div data-line-number="857" class="react-line-number react-code-text" style="padding-right:16px">857</div><div data-line-number="858" class="react-line-number react-code-text" style="padding-right:16px">858</div><div data-line-number="859" class="react-line-number react-code-text" style="padding-right:16px">859</div><div data-line-number="860" class="react-line-number react-code-text" style="padding-right:16px">860</div><div data-line-number="861" class="react-line-number react-code-text" style="padding-right:16px">861</div><div data-line-number="862" class="react-line-number react-code-text" style="padding-right:16px">862</div><div data-line-number="863" class="react-line-number react-code-text" style="padding-right:16px">863</div><div data-line-number="864" class="react-line-number react-code-text" style="padding-right:16px">864</div><div data-line-number="865" class="react-line-number react-code-text" style="padding-right:16px">865</div><div data-line-number="866" class="react-line-number react-code-text" style="padding-right:16px">866</div><div data-line-number="867" class="react-line-number react-code-text" style="padding-right:16px">867</div><div data-line-number="868" class="react-line-number react-code-text" style="padding-right:16px">868</div><div data-line-number="869" class="react-line-number react-code-text" style="padding-right:16px">869</div><div data-line-number="870" class="react-line-number react-code-text" style="padding-right:16px">870</div><div data-line-number="871" class="react-line-number react-code-text" style="padding-right:16px">871</div><div data-line-number="872" class="react-line-number react-code-text" style="padding-right:16px">872</div><div data-line-number="873" class="react-line-number react-code-text" style="padding-right:16px">873</div><div data-line-number="874" class="react-line-number react-code-text" style="padding-right:16px">874</div><div data-line-number="875" class="react-line-number react-code-text" style="padding-right:16px">875</div><div data-line-number="876" class="react-line-number react-code-text" style="padding-right:16px">876</div><div data-line-number="877" class="react-line-number react-code-text" style="padding-right:16px">877</div><div data-line-number="878" class="react-line-number react-code-text" style="padding-right:16px">878</div><div data-line-number="879" class="react-line-number react-code-text" style="padding-right:16px">879</div><div data-line-number="880" class="react-line-number react-code-text" style="padding-right:16px">880</div><div data-line-number="881" class="react-line-number react-code-text" style="padding-right:16px">881</div><div data-line-number="882" class="react-line-number react-code-text" style="padding-right:16px">882</div><div data-line-number="883" class="react-line-number react-code-text" style="padding-right:16px">883</div><div data-line-number="884" class="react-line-number react-code-text" style="padding-right:16px">884</div><div data-line-number="885" class="react-line-number react-code-text" style="padding-right:16px">885</div><div data-line-number="886" class="react-line-number react-code-text" style="padding-right:16px">886</div><div data-line-number="887" class="react-line-number react-code-text" style="padding-right:16px">887</div><div data-line-number="888" class="react-line-number react-code-text" style="padding-right:16px">888</div><div data-line-number="889" class="react-line-number react-code-text" style="padding-right:16px">889</div><div data-line-number="890" class="react-line-number react-code-text" style="padding-right:16px">890</div><div data-line-number="891" class="react-line-number react-code-text" style="padding-right:16px">891</div><div data-line-number="892" class="react-line-number react-code-text" style="padding-right:16px">892</div><div data-line-number="893" class="react-line-number react-code-text" style="padding-right:16px">893</div><div data-line-number="894" class="react-line-number react-code-text" style="padding-right:16px">894</div><div data-line-number="895" class="react-line-number react-code-text" style="padding-right:16px">895</div><div data-line-number="896" class="react-line-number react-code-text" style="padding-right:16px">896</div><div data-line-number="897" class="react-line-number react-code-text" style="padding-right:16px">897</div><div data-line-number="898" class="react-line-number react-code-text" style="padding-right:16px">898</div><div data-line-number="899" class="react-line-number react-code-text" style="padding-right:16px">899</div><div data-line-number="900" class="react-line-number react-code-text" style="padding-right:16px">900</div><div data-line-number="901" class="react-line-number react-code-text" style="padding-right:16px">901</div><div data-line-number="902" class="react-line-number react-code-text" style="padding-right:16px">902</div><div data-line-number="903" class="react-line-number react-code-text" style="padding-right:16px">903</div><div data-line-number="904" class="react-line-number react-code-text" style="padding-right:16px">904</div><div data-line-number="905" class="react-line-number react-code-text" style="padding-right:16px">905</div><div data-line-number="906" class="react-line-number react-code-text" style="padding-right:16px">906</div><div data-line-number="907" class="react-line-number react-code-text" style="padding-right:16px">907</div><div data-line-number="908" class="react-line-number react-code-text" style="padding-right:16px">908</div><div data-line-number="909" class="react-line-number react-code-text" style="padding-right:16px">909</div><div data-line-number="910" class="react-line-number react-code-text" style="padding-right:16px">910</div><div data-line-number="911" class="react-line-number react-code-text" style="padding-right:16px">911</div><div data-line-number="912" class="react-line-number react-code-text" style="padding-right:16px">912</div><div data-line-number="913" class="react-line-number react-code-text" style="padding-right:16px">913</div><div data-line-number="914" class="react-line-number react-code-text" style="padding-right:16px">914</div><div data-line-number="915" class="react-line-number react-code-text" style="padding-right:16px">915</div><div data-line-number="916" class="react-line-number react-code-text" style="padding-right:16px">916</div><div data-line-number="917" class="react-line-number react-code-text" style="padding-right:16px">917</div><div data-line-number="918" class="react-line-number react-code-text" style="padding-right:16px">918</div><div data-line-number="919" class="react-line-number react-code-text" style="padding-right:16px">919</div><div data-line-number="920" class="react-line-number react-code-text" style="padding-right:16px">920</div><div data-line-number="921" class="react-line-number react-code-text" style="padding-right:16px">921</div><div data-line-number="922" class="react-line-number react-code-text" style="padding-right:16px">922</div><div data-line-number="923" class="react-line-number react-code-text" style="padding-right:16px">923</div><div data-line-number="924" class="react-line-number react-code-text" style="padding-right:16px">924</div><div data-line-number="925" class="react-line-number react-code-text" style="padding-right:16px">925</div><div data-line-number="926" class="react-line-number react-code-text" style="padding-right:16px">926</div><div data-line-number="927" class="react-line-number react-code-text" style="padding-right:16px">927</div><div data-line-number="928" class="react-line-number react-code-text" style="padding-right:16px">928</div><div data-line-number="929" class="react-line-number react-code-text" style="padding-right:16px">929</div><div data-line-number="930" class="react-line-number react-code-text" style="padding-right:16px">930</div><div data-line-number="931" class="react-line-number react-code-text" style="padding-right:16px">931</div><div data-line-number="932" class="react-line-number react-code-text" style="padding-right:16px">932</div><div data-line-number="933" class="react-line-number react-code-text" style="padding-right:16px">933</div><div data-line-number="934" class="react-line-number react-code-text" style="padding-right:16px">934</div><div data-line-number="935" class="react-line-number react-code-text" style="padding-right:16px">935</div><div data-line-number="936" class="react-line-number react-code-text" style="padding-right:16px">936</div><div data-line-number="937" class="react-line-number react-code-text" style="padding-right:16px">937</div><div data-line-number="938" class="react-line-number react-code-text" style="padding-right:16px">938</div><div data-line-number="939" class="react-line-number react-code-text" style="padding-right:16px">939</div><div data-line-number="940" class="react-line-number react-code-text" style="padding-right:16px">940</div><div data-line-number="941" class="react-line-number react-code-text" style="padding-right:16px">941</div><div data-line-number="942" class="react-line-number react-code-text" style="padding-right:16px">942</div><div data-line-number="943" class="react-line-number react-code-text" style="padding-right:16px">943</div><div data-line-number="944" class="react-line-number react-code-text" style="padding-right:16px">944</div><div data-line-number="945" class="react-line-number react-code-text" style="padding-right:16px">945</div><div data-line-number="946" class="react-line-number react-code-text" style="padding-right:16px">946</div><div data-line-number="947" class="react-line-number react-code-text" style="padding-right:16px">947</div><div data-line-number="948" class="react-line-number react-code-text" style="padding-right:16px">948</div><div data-line-number="949" class="react-line-number react-code-text" style="padding-right:16px">949</div><div data-line-number="950" class="react-line-number react-code-text" style="padding-right:16px">950</div><div data-line-number="951" class="react-line-number react-code-text" style="padding-right:16px">951</div><div data-line-number="952" class="react-line-number react-code-text" style="padding-right:16px">952</div><div data-line-number="953" class="react-line-number react-code-text" style="padding-right:16px">953</div><div data-line-number="954" class="react-line-number react-code-text" style="padding-right:16px">954</div><div data-line-number="955" class="react-line-number react-code-text" style="padding-right:16px">955</div><div data-line-number="956" class="react-line-number react-code-text" style="padding-right:16px">956</div><div data-line-number="957" class="react-line-number react-code-text" style="padding-right:16px">957</div><div data-line-number="958" class="react-line-number react-code-text" style="padding-right:16px">958</div><div data-line-number="959" class="react-line-number react-code-text" style="padding-right:16px">959</div><div data-line-number="960" class="react-line-number react-code-text" style="padding-right:16px">960</div><div data-line-number="961" class="react-line-number react-code-text" style="padding-right:16px">961</div><div data-line-number="962" class="react-line-number react-code-text" style="padding-right:16px">962</div><div data-line-number="963" class="react-line-number react-code-text" style="padding-right:16px">963</div><div data-line-number="964" class="react-line-number react-code-text" style="padding-right:16px">964</div><div data-line-number="965" class="react-line-number react-code-text" style="padding-right:16px">965</div><div data-line-number="966" class="react-line-number react-code-text" style="padding-right:16px">966</div><div data-line-number="967" class="react-line-number react-code-text" style="padding-right:16px">967</div><div data-line-number="968" class="react-line-number react-code-text" style="padding-right:16px">968</div><div data-line-number="969" class="react-line-number react-code-text" style="padding-right:16px">969</div><div data-line-number="970" class="react-line-number react-code-text" style="padding-right:16px">970</div><div data-line-number="971" class="react-line-number react-code-text" style="padding-right:16px">971</div><div data-line-number="972" class="react-line-number react-code-text" style="padding-right:16px">972</div><div data-line-number="973" class="react-line-number react-code-text" style="padding-right:16px">973</div><div data-line-number="974" class="react-line-number react-code-text" style="padding-right:16px">974</div><div data-line-number="975" class="react-line-number react-code-text" style="padding-right:16px">975</div><div data-line-number="976" class="react-line-number react-code-text" style="padding-right:16px">976</div><div data-line-number="977" class="react-line-number react-code-text" style="padding-right:16px">977</div><div data-line-number="978" class="react-line-number react-code-text" style="padding-right:16px">978</div><div data-line-number="979" class="react-line-number react-code-text" style="padding-right:16px">979</div><div data-line-number="980" class="react-line-number react-code-text" style="padding-right:16px">980</div><div data-line-number="981" class="react-line-number react-code-text" style="padding-right:16px">981</div><div data-line-number="982" class="react-line-number react-code-text" style="padding-right:16px">982</div><div data-line-number="983" class="react-line-number react-code-text" style="padding-right:16px">983</div><div data-line-number="984" class="react-line-number react-code-text" style="padding-right:16px">984</div><div data-line-number="985" class="react-line-number react-code-text" style="padding-right:16px">985</div><div data-line-number="986" class="react-line-number react-code-text" style="padding-right:16px">986</div><div data-line-number="987" class="react-line-number react-code-text" style="padding-right:16px">987</div><div data-line-number="988" class="react-line-number react-code-text" style="padding-right:16px">988</div><div data-line-number="989" class="react-line-number react-code-text" style="padding-right:16px">989</div><div data-line-number="990" class="react-line-number react-code-text" style="padding-right:16px">990</div><div data-line-number="991" class="react-line-number react-code-text" style="padding-right:16px">991</div><div data-line-number="992" class="react-line-number react-code-text" style="padding-right:16px">992</div><div data-line-number="993" class="react-line-number react-code-text" style="padding-right:16px">993</div><div data-line-number="994" class="react-line-number react-code-text" style="padding-right:16px">994</div><div data-line-number="995" class="react-line-number react-code-text" style="padding-right:16px">995</div><div data-line-number="996" class="react-line-number react-code-text" style="padding-right:16px">996</div><div data-line-number="997" class="react-line-number react-code-text" style="padding-right:16px">997</div><div data-line-number="998" class="react-line-number react-code-text" style="padding-right:16px">998</div><div data-line-number="999" class="react-line-number react-code-text" style="padding-right:16px">999</div><div data-line-number="1000" class="react-line-number react-code-text" style="padding-right:16px">1000</div></div><div class="react-code-lines"><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC1" class="react-file-line html-div" data-testid="code-cell" data-line-number="1" style="position:relative"><span class="pl-c">/* vi:set ts=8 sts=4 sw=4 noet:</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC2" class="react-file-line html-div" data-testid="code-cell" data-line-number="2" style="position:relative"><span class="pl-c"> *</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC3" class="react-file-line html-div" data-testid="code-cell" data-line-number="3" style="position:relative"><span class="pl-c"> * VIM - Vi IMproved by Bram Moolenaar</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC4" class="react-file-line html-div" data-testid="code-cell" data-line-number="4" style="position:relative"><span class="pl-c"> * GUI/Motif support by Robert Webb</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC5" class="react-file-line html-div" data-testid="code-cell" data-line-number="5" style="position:relative"><span class="pl-c"> *</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC6" class="react-file-line html-div" data-testid="code-cell" data-line-number="6" style="position:relative"><span class="pl-c"> * Do &quot;:help uganda&quot; in Vim to read copying and usage conditions.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC7" class="react-file-line html-div" data-testid="code-cell" data-line-number="7" style="position:relative"><span class="pl-c"> * Do &quot;:help credits&quot; in Vim to see a list of people who contributed.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC8" class="react-file-line html-div" data-testid="code-cell" data-line-number="8" style="position:relative"><span class="pl-c"> * See README.txt for an overview of the Vim source code.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC9" class="react-file-line html-div" data-testid="code-cell" data-line-number="9" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC10" class="react-file-line html-div" data-testid="code-cell" data-line-number="10" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC11" class="react-file-line html-div" data-testid="code-cell" data-line-number="11" style="position:relative"><span class="pl-k">#include</span> <span class="pl-s">&quot;vim.h&quot;</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC12" class="react-file-line html-div" data-testid="code-cell" data-line-number="12" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC13" class="react-file-line html-div" data-testid="code-cell" data-line-number="13" style="position:relative"><span class="pl-c">// Structure containing all the GUI information</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC14" class="react-file-line html-div" data-testid="code-cell" data-line-number="14" style="position:relative"><span class="pl-smi">gui_T</span> <span class="pl-s1">gui</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC15" class="react-file-line html-div" data-testid="code-cell" data-line-number="15" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC16" class="react-file-line html-div" data-testid="code-cell" data-line-number="16" style="position:relative"><span class="pl-k">#if</span> defined(<span class="pl-c1">FEAT_GUI_X11</span>) <span class="pl-c1">&amp;&amp;</span> !defined(<span class="pl-c1">FEAT_GUI_GTK</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC17" class="react-file-line html-div" data-testid="code-cell" data-line-number="17" style="position:relative"><span class="pl-k"># define</span> <span class="pl-c1">USE_SET_GUIFONTWIDE</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC18" class="react-file-line html-div" data-testid="code-cell" data-line-number="18" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">set_guifontwide</span>(<span class="pl-smi">char_u</span> <span class="pl-c1">*</span><span class="pl-s1">font_name</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC19" class="react-file-line html-div" data-testid="code-cell" data-line-number="19" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC20" class="react-file-line html-div" data-testid="code-cell" data-line-number="20" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">gui_check_pos</span>(<span class="pl-smi">void</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC21" class="react-file-line html-div" data-testid="code-cell" data-line-number="21" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">gui_reset_scroll_region</span>(<span class="pl-smi">void</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC22" class="react-file-line html-div" data-testid="code-cell" data-line-number="22" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">gui_outstr</span>(<span class="pl-smi">char_u</span> <span class="pl-c1">*</span>, <span class="pl-smi">int</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC23" class="react-file-line html-div" data-testid="code-cell" data-line-number="23" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span> <span class="pl-en">gui_screenchar</span>(<span class="pl-smi">int</span> <span class="pl-s1">off</span>, <span class="pl-smi">int</span> <span class="pl-s1">flags</span>, <span class="pl-smi">guicolor_T</span> <span class="pl-s1">fg</span>, <span class="pl-smi">guicolor_T</span> <span class="pl-s1">bg</span>, <span class="pl-smi">int</span> <span class="pl-s1">back</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC24" class="react-file-line html-div" data-testid="code-cell" data-line-number="24" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span> <span class="pl-en">gui_outstr_nowrap</span>(<span class="pl-smi">char_u</span> <span class="pl-c1">*</span><span class="pl-s1">s</span>, <span class="pl-smi">int</span> <span class="pl-s1">len</span>, <span class="pl-smi">int</span> <span class="pl-s1">flags</span>, <span class="pl-smi">guicolor_T</span> <span class="pl-s1">fg</span>, <span class="pl-smi">guicolor_T</span> <span class="pl-s1">bg</span>, <span class="pl-smi">int</span> <span class="pl-s1">back</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC25" class="react-file-line html-div" data-testid="code-cell" data-line-number="25" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">gui_delete_lines</span>(<span class="pl-smi">int</span> <span class="pl-s1">row</span>, <span class="pl-smi">int</span> <span class="pl-s1">count</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC26" class="react-file-line html-div" data-testid="code-cell" data-line-number="26" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">gui_insert_lines</span>(<span class="pl-smi">int</span> <span class="pl-s1">row</span>, <span class="pl-smi">int</span> <span class="pl-s1">count</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC27" class="react-file-line html-div" data-testid="code-cell" data-line-number="27" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span> <span class="pl-en">gui_xy2colrow</span>(<span class="pl-smi">int</span> <span class="pl-s1">x</span>, <span class="pl-smi">int</span> <span class="pl-s1">y</span>, <span class="pl-smi">int</span> <span class="pl-c1">*</span><span class="pl-s1">colp</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC28" class="react-file-line html-div" data-testid="code-cell" data-line-number="28" style="position:relative"><span class="pl-k">#if</span> defined(<span class="pl-c1">FEAT_GUI_TABLINE</span>) <span class="pl-c1">||</span> defined(<span class="pl-c1">PROTO</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC29" class="react-file-line html-div" data-testid="code-cell" data-line-number="29" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span> <span class="pl-en">gui_has_tabline</span>(<span class="pl-smi">void</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC30" class="react-file-line html-div" data-testid="code-cell" data-line-number="30" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC31" class="react-file-line html-div" data-testid="code-cell" data-line-number="31" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">gui_do_scrollbar</span>(<span class="pl-smi">win_T</span> <span class="pl-c1">*</span><span class="pl-s1">wp</span>, <span class="pl-smi">int</span> <span class="pl-s1">which</span>, <span class="pl-smi">int</span> <span class="pl-s1">enable</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC32" class="react-file-line html-div" data-testid="code-cell" data-line-number="32" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">gui_update_horiz_scrollbar</span>(<span class="pl-smi">int</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC33" class="react-file-line html-div" data-testid="code-cell" data-line-number="33" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">gui_set_fg_color</span>(<span class="pl-smi">char_u</span> <span class="pl-c1">*</span><span class="pl-s1">name</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC34" class="react-file-line html-div" data-testid="code-cell" data-line-number="34" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">gui_set_bg_color</span>(<span class="pl-smi">char_u</span> <span class="pl-c1">*</span><span class="pl-s1">name</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC35" class="react-file-line html-div" data-testid="code-cell" data-line-number="35" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">init_gui_options</span>(<span class="pl-smi">void</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC36" class="react-file-line html-div" data-testid="code-cell" data-line-number="36" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">win_T</span> <span class="pl-c1">*</span><span class="pl-en">xy2win</span>(<span class="pl-smi">int</span> <span class="pl-s1">x</span>, <span class="pl-smi">int</span> <span class="pl-s1">y</span>, <span class="pl-smi">mouse_find_T</span> <span class="pl-s1">popup</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC37" class="react-file-line html-div" data-testid="code-cell" data-line-number="37" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC38" class="react-file-line html-div" data-testid="code-cell" data-line-number="38" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">GUI_MAY_FORK</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC39" class="react-file-line html-div" data-testid="code-cell" data-line-number="39" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">gui_do_fork</span>(<span class="pl-smi">void</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC40" class="react-file-line html-div" data-testid="code-cell" data-line-number="40" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC41" class="react-file-line html-div" data-testid="code-cell" data-line-number="41" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span> <span class="pl-en">gui_read_child_pipe</span>(<span class="pl-smi">int</span> <span class="pl-s1">fd</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC42" class="react-file-line html-div" data-testid="code-cell" data-line-number="42" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC43" class="react-file-line html-div" data-testid="code-cell" data-line-number="43" style="position:relative"><span class="pl-c">// Return values for gui_read_child_pipe</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC44" class="react-file-line html-div" data-testid="code-cell" data-line-number="44" style="position:relative"><span class="pl-k">enum</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC45" class="react-file-line html-div" data-testid="code-cell" data-line-number="45" style="position:relative"> <span class="pl-c1">GUI_CHILD_IO_ERROR</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC46" class="react-file-line html-div" data-testid="code-cell" data-line-number="46" style="position:relative"> <span class="pl-c1">GUI_CHILD_OK</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC47" class="react-file-line html-div" data-testid="code-cell" data-line-number="47" style="position:relative"> <span class="pl-c1">GUI_CHILD_FAILED</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC48" class="react-file-line html-div" data-testid="code-cell" data-line-number="48" style="position:relative">};</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC49" class="react-file-line html-div" data-testid="code-cell" data-line-number="49" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC50" class="react-file-line html-div" data-testid="code-cell" data-line-number="50" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC51" class="react-file-line html-div" data-testid="code-cell" data-line-number="51" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">gui_attempt_start</span>(<span class="pl-smi">void</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC52" class="react-file-line html-div" data-testid="code-cell" data-line-number="52" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC53" class="react-file-line html-div" data-testid="code-cell" data-line-number="53" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span> <span class="pl-s1">can_update_cursor</span> <span class="pl-c1">=</span> TRUE; <span class="pl-c">// can display the cursor</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC54" class="react-file-line html-div" data-testid="code-cell" data-line-number="54" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span> <span class="pl-s1">disable_flush</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-c">// If &gt; 0, gui_mch_flush() is disabled.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC55" class="react-file-line html-div" data-testid="code-cell" data-line-number="55" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC56" class="react-file-line html-div" data-testid="code-cell" data-line-number="56" style="position:relative"><span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC57" class="react-file-line html-div" data-testid="code-cell" data-line-number="57" style="position:relative"><span class="pl-c"> * gui_start -- Called when user wants to start the GUI.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC58" class="react-file-line html-div" data-testid="code-cell" data-line-number="58" style="position:relative"><span class="pl-c"> *</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC59" class="react-file-line html-div" data-testid="code-cell" data-line-number="59" style="position:relative"><span class="pl-c"> * Careful: This function can be called recursively when there is a &quot;:gui&quot;</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC60" class="react-file-line html-div" data-testid="code-cell" data-line-number="60" style="position:relative"><span class="pl-c"> * command in the .gvimrc file. Only the first call should fork, not the</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC61" class="react-file-line html-div" data-testid="code-cell" data-line-number="61" style="position:relative"><span class="pl-c"> * recursive call.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC62" class="react-file-line html-div" data-testid="code-cell" data-line-number="62" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC63" class="react-file-line html-div" data-testid="code-cell" data-line-number="63" style="position:relative"> <span class="pl-smi">void</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC64" class="react-file-line html-div" data-testid="code-cell" data-line-number="64" style="position:relative"><span class="pl-en">gui_start</span>(<span class="pl-smi">char_u</span> <span class="pl-c1">*</span><span class="pl-s1">arg</span> <span class="pl-c1">UNUSED</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC65" class="react-file-line html-div" data-testid="code-cell" data-line-number="65" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC66" class="react-file-line html-div" data-testid="code-cell" data-line-number="66" style="position:relative"> <span class="pl-smi">char_u</span> <span class="pl-c1">*</span><span class="pl-s1">old_term</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC67" class="react-file-line html-div" data-testid="code-cell" data-line-number="67" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">GUI_MAY_FORK</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC68" class="react-file-line html-div" data-testid="code-cell" data-line-number="68" style="position:relative"> <span class="pl-k">static</span> <span class="pl-smi">int</span> <span class="pl-s1">recursive</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC69" class="react-file-line html-div" data-testid="code-cell" data-line-number="69" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC70" class="react-file-line html-div" data-testid="code-cell" data-line-number="70" style="position:relative"><span class="pl-k">#if</span> defined(<span class="pl-c1">GUI_MAY_SPAWN</span>) <span class="pl-c1">&amp;&amp;</span> defined(<span class="pl-c1">EXPERIMENTAL_GUI_CMD</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC71" class="react-file-line html-div" data-testid="code-cell" data-line-number="71" style="position:relative"> <span class="pl-smi">char</span> <span class="pl-c1">*</span><span class="pl-s1">msg</span> <span class="pl-c1">=</span> <span class="pl-c1">NULL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC72" class="react-file-line html-div" data-testid="code-cell" data-line-number="72" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC73" class="react-file-line html-div" data-testid="code-cell" data-line-number="73" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC74" class="react-file-line html-div" data-testid="code-cell" data-line-number="74" style="position:relative"> <span class="pl-s1">old_term</span> <span class="pl-c1">=</span> <span class="pl-en">vim_strsave</span>(<span class="pl-c1">T_NAME</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC75" class="react-file-line html-div" data-testid="code-cell" data-line-number="75" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC76" class="react-file-line html-div" data-testid="code-cell" data-line-number="76" style="position:relative"> <span class="pl-en">settmode</span>(<span class="pl-c1">TMODE_COOK</span>); <span class="pl-c">// stop RAW mode</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC77" class="react-file-line html-div" data-testid="code-cell" data-line-number="77" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">full_screen</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC78" class="react-file-line html-div" data-testid="code-cell" data-line-number="78" style="position:relative"> <span class="pl-en">cursor_on</span>(); <span class="pl-c">// needed for &quot;:gui&quot; in .vimrc</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC79" class="react-file-line html-div" data-testid="code-cell" data-line-number="79" style="position:relative"> <span class="pl-s1">full_screen</span> <span class="pl-c1">=</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC80" class="react-file-line html-div" data-testid="code-cell" data-line-number="80" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC81" class="react-file-line html-div" data-testid="code-cell" data-line-number="81" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">GUI_MAY_FORK</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC82" class="react-file-line html-div" data-testid="code-cell" data-line-number="82" style="position:relative"> <span class="pl-c1">++</span><span class="pl-s1">recursive</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC83" class="react-file-line html-div" data-testid="code-cell" data-line-number="83" style="position:relative"> <span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC84" class="react-file-line html-div" data-testid="code-cell" data-line-number="84" style="position:relative"><span class="pl-c"> * Quit the current process and continue in the child.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC85" class="react-file-line html-div" data-testid="code-cell" data-line-number="85" style="position:relative"><span class="pl-c"> * Makes &quot;gvim file&quot; disconnect from the shell it was started in.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC86" class="react-file-line html-div" data-testid="code-cell" data-line-number="86" style="position:relative"><span class="pl-c"> * Don&#039;t do this when Vim was started with &quot;-f&quot; or the &#039;f&#039; flag is present</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC87" class="react-file-line html-div" data-testid="code-cell" data-line-number="87" style="position:relative"><span class="pl-c"> * in &#039;guioptions&#039;.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC88" class="react-file-line html-div" data-testid="code-cell" data-line-number="88" style="position:relative"><span class="pl-c"> * Don&#039;t do this when there is a running job, we can only get the status</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC89" class="react-file-line html-div" data-testid="code-cell" data-line-number="89" style="position:relative"><span class="pl-c"> * of a child from the parent.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC90" class="react-file-line html-div" data-testid="code-cell" data-line-number="90" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC91" class="react-file-line html-div" data-testid="code-cell" data-line-number="91" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">gui</span>.<span class="pl-c1">dofork</span> <span class="pl-c1">&amp;&amp;</span> !<span class="pl-en">vim_strchr</span>(<span class="pl-s1">p_go</span>, <span class="pl-c1">GO_FORG</span>) <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">recursive</span> &lt;= <span class="pl-c1">1</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC92" class="react-file-line html-div" data-testid="code-cell" data-line-number="92" style="position:relative"><span class="pl-k"># ifdef</span> <span class="pl-c1">FEAT_JOB_CHANNEL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC93" class="react-file-line html-div" data-testid="code-cell" data-line-number="93" style="position:relative"> <span class="pl-c1">&amp;&amp;</span> !<span class="pl-en">job_any_running</span>()</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC94" class="react-file-line html-div" data-testid="code-cell" data-line-number="94" style="position:relative"><span class="pl-k"># endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC95" class="react-file-line html-div" data-testid="code-cell" data-line-number="95" style="position:relative"> )</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC96" class="react-file-line html-div" data-testid="code-cell" data-line-number="96" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC97" class="react-file-line html-div" data-testid="code-cell" data-line-number="97" style="position:relative"> <span class="pl-en">gui_do_fork</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC98" class="react-file-line html-div" data-testid="code-cell" data-line-number="98" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC99" class="react-file-line html-div" data-testid="code-cell" data-line-number="99" style="position:relative"> <span class="pl-k">else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC100" class="react-file-line html-div" data-testid="code-cell" data-line-number="100" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC101" class="react-file-line html-div" data-testid="code-cell" data-line-number="101" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">GUI_MAY_SPAWN</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC102" class="react-file-line html-div" data-testid="code-cell" data-line-number="102" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">gui</span>.<span class="pl-c1">dospawn</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC103" class="react-file-line html-div" data-testid="code-cell" data-line-number="103" style="position:relative"><span class="pl-k"># ifdef</span> <span class="pl-c1">EXPERIMENTAL_GUI_CMD</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC104" class="react-file-line html-div" data-testid="code-cell" data-line-number="104" style="position:relative"> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">gui</span>.<span class="pl-c1">dofork</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC105" class="react-file-line html-div" data-testid="code-cell" data-line-number="105" style="position:relative"><span class="pl-k"># endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC106" class="react-file-line html-div" data-testid="code-cell" data-line-number="106" style="position:relative"> <span class="pl-c1">&amp;&amp;</span> !<span class="pl-en">vim_strchr</span>(<span class="pl-s1">p_go</span>, <span class="pl-c1">GO_FORG</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC107" class="react-file-line html-div" data-testid="code-cell" data-line-number="107" style="position:relative"> <span class="pl-c1">&amp;&amp;</span> !<span class="pl-en">anyBufIsChanged</span>()</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC108" class="react-file-line html-div" data-testid="code-cell" data-line-number="108" style="position:relative"><span class="pl-k"># ifdef</span> <span class="pl-c1">FEAT_JOB_CHANNEL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC109" class="react-file-line html-div" data-testid="code-cell" data-line-number="109" style="position:relative"> <span class="pl-c1">&amp;&amp;</span> !<span class="pl-en">job_any_running</span>()</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC110" class="react-file-line html-div" data-testid="code-cell" data-line-number="110" style="position:relative"><span class="pl-k"># endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC111" class="react-file-line html-div" data-testid="code-cell" data-line-number="111" style="position:relative"> )</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC112" class="react-file-line html-div" data-testid="code-cell" data-line-number="112" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC113" class="react-file-line html-div" data-testid="code-cell" data-line-number="113" style="position:relative"><span class="pl-k"># ifdef</span> <span class="pl-c1">EXPERIMENTAL_GUI_CMD</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC114" class="react-file-line html-div" data-testid="code-cell" data-line-number="114" style="position:relative"> <span class="pl-s1">msg</span> <span class="pl-c1">=</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC115" class="react-file-line html-div" data-testid="code-cell" data-line-number="115" style="position:relative"><span class="pl-k"># endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC116" class="react-file-line html-div" data-testid="code-cell" data-line-number="116" style="position:relative"> <span class="pl-en">gui_mch_do_spawn</span>(<span class="pl-s1">arg</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC117" class="react-file-line html-div" data-testid="code-cell" data-line-number="117" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC118" class="react-file-line html-div" data-testid="code-cell" data-line-number="118" style="position:relative"> <span class="pl-k">else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC119" class="react-file-line html-div" data-testid="code-cell" data-line-number="119" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC120" class="react-file-line html-div" data-testid="code-cell" data-line-number="120" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC121" class="react-file-line html-div" data-testid="code-cell" data-line-number="121" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_GUI_GTK</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC122" class="react-file-line html-div" data-testid="code-cell" data-line-number="122" style="position:relative"> <span class="pl-c">// If there is &#039;f&#039; in &#039;guioptions&#039; and specify -g argument,</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC123" class="react-file-line html-div" data-testid="code-cell" data-line-number="123" style="position:relative"> <span class="pl-c">// gui_mch_init_check() was not called yet.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC124" class="react-file-line html-div" data-testid="code-cell" data-line-number="124" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">gui_mch_init_check</span>() <span class="pl-c1">!=</span> <span class="pl-c1">OK</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC125" class="react-file-line html-div" data-testid="code-cell" data-line-number="125" style="position:relative"> <span class="pl-en">getout_preserve_modified</span>(<span class="pl-c1">1</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC126" class="react-file-line html-div" data-testid="code-cell" data-line-number="126" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC127" class="react-file-line html-div" data-testid="code-cell" data-line-number="127" style="position:relative"> <span class="pl-en">gui_attempt_start</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC128" class="react-file-line html-div" data-testid="code-cell" data-line-number="128" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC129" class="react-file-line html-div" data-testid="code-cell" data-line-number="129" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC130" class="react-file-line html-div" data-testid="code-cell" data-line-number="130" style="position:relative"> <span class="pl-k">if</span> (!<span class="pl-s1">gui</span>.<span class="pl-c1">in_use</span>) <span class="pl-c">// failed to start GUI</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC131" class="react-file-line html-div" data-testid="code-cell" data-line-number="131" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC132" class="react-file-line html-div" data-testid="code-cell" data-line-number="132" style="position:relative"> <span class="pl-c">// Back to old term settings</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC133" class="react-file-line html-div" data-testid="code-cell" data-line-number="133" style="position:relative"> <span class="pl-c">//</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC134" class="react-file-line html-div" data-testid="code-cell" data-line-number="134" style="position:relative"> <span class="pl-c">// FIXME: If we got here because a child process failed and flagged to</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC135" class="react-file-line html-div" data-testid="code-cell" data-line-number="135" style="position:relative"> <span class="pl-c">// the parent to resume, and X11 is enabled, this will</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC136" class="react-file-line html-div" data-testid="code-cell" data-line-number="136" style="position:relative"> <span class="pl-c">// hit an X11 I/O error and do a longjmp(), leaving recursive</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC137" class="react-file-line html-div" data-testid="code-cell" data-line-number="137" style="position:relative"> <span class="pl-c">// permanently set to 1. This is probably not as big a problem as it</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC138" class="react-file-line html-div" data-testid="code-cell" data-line-number="138" style="position:relative"> <span class="pl-c">// sounds, because gui_mch_init() in both gui_x11.c and gui_gtk_x11.c</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC139" class="react-file-line html-div" data-testid="code-cell" data-line-number="139" style="position:relative"> <span class="pl-c">// return &quot;OK&quot; unconditionally, so it would be very difficult to</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC140" class="react-file-line html-div" data-testid="code-cell" data-line-number="140" style="position:relative"> <span class="pl-c">// actually hit this case.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC141" class="react-file-line html-div" data-testid="code-cell" data-line-number="141" style="position:relative"> <span class="pl-en">termcapinit</span>(<span class="pl-s1">old_term</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC142" class="react-file-line html-div" data-testid="code-cell" data-line-number="142" style="position:relative"> <span class="pl-en">settmode</span>(<span class="pl-c1">TMODE_RAW</span>); <span class="pl-c">// restart RAW mode</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC143" class="react-file-line html-div" data-testid="code-cell" data-line-number="143" style="position:relative"> <span class="pl-en">set_title_defaults</span>(); <span class="pl-c">// set &#039;title&#039; and &#039;icon&#039; again</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC144" class="react-file-line html-div" data-testid="code-cell" data-line-number="144" style="position:relative"><span class="pl-k">#if</span> defined(<span class="pl-c1">GUI_MAY_SPAWN</span>) <span class="pl-c1">&amp;&amp;</span> defined(<span class="pl-c1">EXPERIMENTAL_GUI_CMD</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC145" class="react-file-line html-div" data-testid="code-cell" data-line-number="145" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">msg</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC146" class="react-file-line html-div" data-testid="code-cell" data-line-number="146" style="position:relative"> <span class="pl-en">emsg</span>(<span class="pl-s1">msg</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC147" class="react-file-line html-div" data-testid="code-cell" data-line-number="147" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC148" class="react-file-line html-div" data-testid="code-cell" data-line-number="148" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC149" class="react-file-line html-div" data-testid="code-cell" data-line-number="149" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC150" class="react-file-line html-div" data-testid="code-cell" data-line-number="150" style="position:relative"> <span class="pl-en">vim_free</span>(<span class="pl-s1">old_term</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC151" class="react-file-line html-div" data-testid="code-cell" data-line-number="151" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC152" class="react-file-line html-div" data-testid="code-cell" data-line-number="152" style="position:relative"> <span class="pl-c">// If the GUI started successfully, trigger the GUIEnter event, otherwise</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC153" class="react-file-line html-div" data-testid="code-cell" data-line-number="153" style="position:relative"> <span class="pl-c">// the GUIFailed event.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC154" class="react-file-line html-div" data-testid="code-cell" data-line-number="154" style="position:relative"> <span class="pl-en">gui_mch_update</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC155" class="react-file-line html-div" data-testid="code-cell" data-line-number="155" style="position:relative"> <span class="pl-en">apply_autocmds</span>(<span class="pl-s1">gui</span>.<span class="pl-c1">in_use</span> ? <span class="pl-c1">EVENT_GUIENTER</span> : <span class="pl-c1">EVENT_GUIFAILED</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC156" class="react-file-line html-div" data-testid="code-cell" data-line-number="156" style="position:relative"> <span class="pl-c1">NULL</span>, <span class="pl-c1">NULL</span>, FALSE, <span class="pl-s1">curbuf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC157" class="react-file-line html-div" data-testid="code-cell" data-line-number="157" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">GUI_MAY_FORK</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC158" class="react-file-line html-div" data-testid="code-cell" data-line-number="158" style="position:relative"> <span class="pl-c1">--</span><span class="pl-s1">recursive</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC159" class="react-file-line html-div" data-testid="code-cell" data-line-number="159" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC160" class="react-file-line html-div" data-testid="code-cell" data-line-number="160" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC161" class="react-file-line html-div" data-testid="code-cell" data-line-number="161" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC162" class="react-file-line html-div" data-testid="code-cell" data-line-number="162" style="position:relative"><span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC163" class="react-file-line html-div" data-testid="code-cell" data-line-number="163" style="position:relative"><span class="pl-c"> * Set_termname() will call gui_init() to start the GUI.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC164" class="react-file-line html-div" data-testid="code-cell" data-line-number="164" style="position:relative"><span class="pl-c"> * Set the &quot;starting&quot; flag, to indicate that the GUI will start.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC165" class="react-file-line html-div" data-testid="code-cell" data-line-number="165" style="position:relative"><span class="pl-c"> *</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC166" class="react-file-line html-div" data-testid="code-cell" data-line-number="166" style="position:relative"><span class="pl-c"> * We don&#039;t want to open the GUI shell until after we&#039;ve read .gvimrc,</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC167" class="react-file-line html-div" data-testid="code-cell" data-line-number="167" style="position:relative"><span class="pl-c"> * otherwise we don&#039;t know what font we will use, and hence we don&#039;t know</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC168" class="react-file-line html-div" data-testid="code-cell" data-line-number="168" style="position:relative"><span class="pl-c"> * what size the shell should be. So if there are errors in the .gvimrc</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC169" class="react-file-line html-div" data-testid="code-cell" data-line-number="169" style="position:relative"><span class="pl-c"> * file, they will have to go to the terminal: Set full_screen to FALSE.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC170" class="react-file-line html-div" data-testid="code-cell" data-line-number="170" style="position:relative"><span class="pl-c"> * full_screen will be set to TRUE again by a successful termcapinit().</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC171" class="react-file-line html-div" data-testid="code-cell" data-line-number="171" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC172" class="react-file-line html-div" data-testid="code-cell" data-line-number="172" style="position:relative"> <span class="pl-k">static</span> <span class="pl-smi">void</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC173" class="react-file-line html-div" data-testid="code-cell" data-line-number="173" style="position:relative"><span class="pl-en">gui_attempt_start</span>(<span class="pl-smi">void</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC174" class="react-file-line html-div" data-testid="code-cell" data-line-number="174" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC175" class="react-file-line html-div" data-testid="code-cell" data-line-number="175" style="position:relative"> <span class="pl-k">static</span> <span class="pl-smi">int</span> <span class="pl-s1">recursive</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC176" class="react-file-line html-div" data-testid="code-cell" data-line-number="176" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC177" class="react-file-line html-div" data-testid="code-cell" data-line-number="177" style="position:relative"> <span class="pl-c1">++</span><span class="pl-s1">recursive</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC178" class="react-file-line html-div" data-testid="code-cell" data-line-number="178" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">starting</span> <span class="pl-c1">=</span> TRUE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC179" class="react-file-line html-div" data-testid="code-cell" data-line-number="179" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC180" class="react-file-line html-div" data-testid="code-cell" data-line-number="180" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_GUI_GTK</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC181" class="react-file-line html-div" data-testid="code-cell" data-line-number="181" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">event_time</span> <span class="pl-c1">=</span> <span class="pl-c1">GDK_CURRENT_TIME</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC182" class="react-file-line html-div" data-testid="code-cell" data-line-number="182" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC183" class="react-file-line html-div" data-testid="code-cell" data-line-number="183" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC184" class="react-file-line html-div" data-testid="code-cell" data-line-number="184" style="position:relative"> <span class="pl-en">termcapinit</span>((<span class="pl-smi">char_u</span> <span class="pl-c1">*</span>)<span class="pl-s">&quot;builtin_gui&quot;</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC185" class="react-file-line html-div" data-testid="code-cell" data-line-number="185" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">starting</span> <span class="pl-c1">=</span> <span class="pl-s1">recursive</span> <span class="pl-c1">-</span> <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC186" class="react-file-line html-div" data-testid="code-cell" data-line-number="186" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC187" class="react-file-line html-div" data-testid="code-cell" data-line-number="187" style="position:relative"><span class="pl-k">#if</span> defined(<span class="pl-c1">FEAT_GUI_GTK</span>) <span class="pl-c1">||</span> defined(<span class="pl-c1">FEAT_GUI_X11</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC188" class="react-file-line html-div" data-testid="code-cell" data-line-number="188" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">gui</span>.<span class="pl-c1">in_use</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC189" class="react-file-line html-div" data-testid="code-cell" data-line-number="189" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC190" class="react-file-line html-div" data-testid="code-cell" data-line-number="190" style="position:relative"><span class="pl-k"># ifdef</span> <span class="pl-c1">FEAT_EVAL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC191" class="react-file-line html-div" data-testid="code-cell" data-line-number="191" style="position:relative"> <span class="pl-smi">Window</span> <span class="pl-s1">x11_window</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC192" class="react-file-line html-div" data-testid="code-cell" data-line-number="192" style="position:relative"> <span class="pl-smi">Display</span> <span class="pl-c1">*</span><span class="pl-s1">x11_display</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC193" class="react-file-line html-div" data-testid="code-cell" data-line-number="193" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC194" class="react-file-line html-div" data-testid="code-cell" data-line-number="194" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">gui_get_x11_windis</span>(<span class="pl-c1">&amp;</span><span class="pl-s1">x11_window</span>, <span class="pl-c1">&amp;</span><span class="pl-s1">x11_display</span>) <span class="pl-c1">==</span> <span class="pl-c1">OK</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC195" class="react-file-line html-div" data-testid="code-cell" data-line-number="195" style="position:relative"> <span class="pl-en">set_vim_var_nr</span>(<span class="pl-c1">VV_WINDOWID</span>, (<span class="pl-smi">long</span>)<span class="pl-s1">x11_window</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC196" class="react-file-line html-div" data-testid="code-cell" data-line-number="196" style="position:relative"><span class="pl-k"># endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC197" class="react-file-line html-div" data-testid="code-cell" data-line-number="197" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC198" class="react-file-line html-div" data-testid="code-cell" data-line-number="198" style="position:relative"> <span class="pl-c">// Display error messages in a dialog now.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC199" class="react-file-line html-div" data-testid="code-cell" data-line-number="199" style="position:relative"> <span class="pl-en">display_errors</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC200" class="react-file-line html-div" data-testid="code-cell" data-line-number="200" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC201" class="react-file-line html-div" data-testid="code-cell" data-line-number="201" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC202" class="react-file-line html-div" data-testid="code-cell" data-line-number="202" style="position:relative"> <span class="pl-c1">--</span><span class="pl-s1">recursive</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC203" class="react-file-line html-div" data-testid="code-cell" data-line-number="203" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC204" class="react-file-line html-div" data-testid="code-cell" data-line-number="204" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC205" class="react-file-line html-div" data-testid="code-cell" data-line-number="205" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">GUI_MAY_FORK</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC206" class="react-file-line html-div" data-testid="code-cell" data-line-number="206" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC207" class="react-file-line html-div" data-testid="code-cell" data-line-number="207" style="position:relative"><span class="pl-c">// for waitpid()</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC208" class="react-file-line html-div" data-testid="code-cell" data-line-number="208" style="position:relative"><span class="pl-k"># if</span> defined(<span class="pl-c1">HAVE_SYS_WAIT_H</span>) <span class="pl-c1">||</span> defined(<span class="pl-c1">HAVE_UNION_WAIT</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC209" class="react-file-line html-div" data-testid="code-cell" data-line-number="209" style="position:relative"><span class="pl-k"># include</span> <span class="pl-s">&lt;sys/wait.h&gt;</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC210" class="react-file-line html-div" data-testid="code-cell" data-line-number="210" style="position:relative"><span class="pl-k"># endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC211" class="react-file-line html-div" data-testid="code-cell" data-line-number="211" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC212" class="react-file-line html-div" data-testid="code-cell" data-line-number="212" style="position:relative"><span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC213" class="react-file-line html-div" data-testid="code-cell" data-line-number="213" style="position:relative"><span class="pl-c"> * Create a new process, by forking. In the child, start the GUI, and in</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC214" class="react-file-line html-div" data-testid="code-cell" data-line-number="214" style="position:relative"><span class="pl-c"> * the parent, exit.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC215" class="react-file-line html-div" data-testid="code-cell" data-line-number="215" style="position:relative"><span class="pl-c"> *</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC216" class="react-file-line html-div" data-testid="code-cell" data-line-number="216" style="position:relative"><span class="pl-c"> * If something goes wrong, this will return with gui.in_use still set</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC217" class="react-file-line html-div" data-testid="code-cell" data-line-number="217" style="position:relative"><span class="pl-c"> * to FALSE, in which case the caller should continue execution without</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC218" class="react-file-line html-div" data-testid="code-cell" data-line-number="218" style="position:relative"><span class="pl-c"> * the GUI.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC219" class="react-file-line html-div" data-testid="code-cell" data-line-number="219" style="position:relative"><span class="pl-c"> *</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC220" class="react-file-line html-div" data-testid="code-cell" data-line-number="220" style="position:relative"><span class="pl-c"> * If the child fails to start the GUI, then the child will exit and the</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC221" class="react-file-line html-div" data-testid="code-cell" data-line-number="221" style="position:relative"><span class="pl-c"> * parent will return. If the child succeeds, then the parent will exit</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC222" class="react-file-line html-div" data-testid="code-cell" data-line-number="222" style="position:relative"><span class="pl-c"> * and the child will return.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC223" class="react-file-line html-div" data-testid="code-cell" data-line-number="223" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC224" class="react-file-line html-div" data-testid="code-cell" data-line-number="224" style="position:relative"> <span class="pl-k">static</span> <span class="pl-smi">void</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC225" class="react-file-line html-div" data-testid="code-cell" data-line-number="225" style="position:relative"><span class="pl-en">gui_do_fork</span>(<span class="pl-smi">void</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC226" class="react-file-line html-div" data-testid="code-cell" data-line-number="226" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC227" class="react-file-line html-div" data-testid="code-cell" data-line-number="227" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">pipefd</span>[<span class="pl-c1">2</span>]; <span class="pl-c">// pipe between parent and child</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC228" class="react-file-line html-div" data-testid="code-cell" data-line-number="228" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">pipe_error</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC229" class="react-file-line html-div" data-testid="code-cell" data-line-number="229" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">status</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC230" class="react-file-line html-div" data-testid="code-cell" data-line-number="230" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">exit_status</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC231" class="react-file-line html-div" data-testid="code-cell" data-line-number="231" style="position:relative"> <span class="pl-smi">pid_t</span> <span class="pl-s1">pid</span> <span class="pl-c1">=</span> <span class="pl-c1">-1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC232" class="react-file-line html-div" data-testid="code-cell" data-line-number="232" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC233" class="react-file-line html-div" data-testid="code-cell" data-line-number="233" style="position:relative"><span class="pl-k"># if</span> defined(<span class="pl-c1">FEAT_RELTIME</span>) <span class="pl-c1">&amp;&amp;</span> defined(<span class="pl-c1">PROF_NSEC</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC234" class="react-file-line html-div" data-testid="code-cell" data-line-number="234" style="position:relative"> <span class="pl-c">// a timer is not carried forward</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC235" class="react-file-line html-div" data-testid="code-cell" data-line-number="235" style="position:relative"> <span class="pl-en">delete_timer</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC236" class="react-file-line html-div" data-testid="code-cell" data-line-number="236" style="position:relative"><span class="pl-k"># endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC237" class="react-file-line html-div" data-testid="code-cell" data-line-number="237" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC238" class="react-file-line html-div" data-testid="code-cell" data-line-number="238" style="position:relative"> <span class="pl-c">// Setup a pipe between the child and the parent, so that the parent</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC239" class="react-file-line html-div" data-testid="code-cell" data-line-number="239" style="position:relative"> <span class="pl-c">// knows when the child has done the setsid() call and is allowed to</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC240" class="react-file-line html-div" data-testid="code-cell" data-line-number="240" style="position:relative"> <span class="pl-c">// exit.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC241" class="react-file-line html-div" data-testid="code-cell" data-line-number="241" style="position:relative"> <span class="pl-s1">pipe_error</span> <span class="pl-c1">=</span> (<span class="pl-en">pipe</span>(<span class="pl-s1">pipefd</span>) <span class="pl-c1">&lt;</span> <span class="pl-c1">0</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC242" class="react-file-line html-div" data-testid="code-cell" data-line-number="242" style="position:relative"> <span class="pl-s1">pid</span> <span class="pl-c1">=</span> <span class="pl-en">fork</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC243" class="react-file-line html-div" data-testid="code-cell" data-line-number="243" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">pid</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">0</span>) <span class="pl-c">// Fork error</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC244" class="react-file-line html-div" data-testid="code-cell" data-line-number="244" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC245" class="react-file-line html-div" data-testid="code-cell" data-line-number="245" style="position:relative"> <span class="pl-en">emsg</span>(<span class="pl-en">_</span>(<span class="pl-s1">e_failed_to_create_new_process_for_GUI</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC246" class="react-file-line html-div" data-testid="code-cell" data-line-number="246" style="position:relative"> <span class="pl-k">return</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC247" class="react-file-line html-div" data-testid="code-cell" data-line-number="247" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC248" class="react-file-line html-div" data-testid="code-cell" data-line-number="248" style="position:relative"> <span class="pl-k">else</span> <span class="pl-k">if</span> (<span class="pl-s1">pid</span> <span class="pl-c1">&gt;</span> <span class="pl-c1">0</span>) <span class="pl-c">// Parent</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC249" class="react-file-line html-div" data-testid="code-cell" data-line-number="249" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC250" class="react-file-line html-div" data-testid="code-cell" data-line-number="250" style="position:relative"> <span class="pl-c">// Give the child some time to do the setsid(), otherwise the</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC251" class="react-file-line html-div" data-testid="code-cell" data-line-number="251" style="position:relative"> <span class="pl-c">// exit() may kill the child too (when starting gvim from inside a</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC252" class="react-file-line html-div" data-testid="code-cell" data-line-number="252" style="position:relative"> <span class="pl-c">// gvim).</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC253" class="react-file-line html-div" data-testid="code-cell" data-line-number="253" style="position:relative"> <span class="pl-k">if</span> (!<span class="pl-s1">pipe_error</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC254" class="react-file-line html-div" data-testid="code-cell" data-line-number="254" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC255" class="react-file-line html-div" data-testid="code-cell" data-line-number="255" style="position:relative"> <span class="pl-c">// The read returns when the child closes the pipe (or when</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC256" class="react-file-line html-div" data-testid="code-cell" data-line-number="256" style="position:relative"> <span class="pl-c">// the child dies for some reason).</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC257" class="react-file-line html-div" data-testid="code-cell" data-line-number="257" style="position:relative"> <span class="pl-en">close</span>(<span class="pl-s1">pipefd</span>[<span class="pl-c1">1</span>]);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC258" class="react-file-line html-div" data-testid="code-cell" data-line-number="258" style="position:relative"> <span class="pl-s1">status</span> <span class="pl-c1">=</span> <span class="pl-en">gui_read_child_pipe</span>(<span class="pl-s1">pipefd</span>[<span class="pl-c1">0</span>]);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC259" class="react-file-line html-div" data-testid="code-cell" data-line-number="259" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">status</span> <span class="pl-c1">==</span> <span class="pl-c1">GUI_CHILD_FAILED</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC260" class="react-file-line html-div" data-testid="code-cell" data-line-number="260" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC261" class="react-file-line html-div" data-testid="code-cell" data-line-number="261" style="position:relative"> <span class="pl-c">// The child failed to start the GUI, so the caller must</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC262" class="react-file-line html-div" data-testid="code-cell" data-line-number="262" style="position:relative"> <span class="pl-c">// continue. There may be more error information written</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC263" class="react-file-line html-div" data-testid="code-cell" data-line-number="263" style="position:relative"> <span class="pl-c">// to stderr by the child.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC264" class="react-file-line html-div" data-testid="code-cell" data-line-number="264" style="position:relative"><span class="pl-k"># ifdef</span> <span class="pl-s1">__NeXT__</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC265" class="react-file-line html-div" data-testid="code-cell" data-line-number="265" style="position:relative"> <span class="pl-en">wait4</span>(<span class="pl-s1">pid</span>, <span class="pl-c1">&amp;</span><span class="pl-s1">exit_status</span>, <span class="pl-c1">0</span>, (<span class="pl-k">struct</span> <span class="pl-smi">rusage</span> <span class="pl-c1">*</span>)<span class="pl-c1">0</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC266" class="react-file-line html-div" data-testid="code-cell" data-line-number="266" style="position:relative"><span class="pl-k"># else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC267" class="react-file-line html-div" data-testid="code-cell" data-line-number="267" style="position:relative"> <span class="pl-en">waitpid</span>(<span class="pl-s1">pid</span>, <span class="pl-c1">&amp;</span><span class="pl-s1">exit_status</span>, <span class="pl-c1">0</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC268" class="react-file-line html-div" data-testid="code-cell" data-line-number="268" style="position:relative"><span class="pl-k"># endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC269" class="react-file-line html-div" data-testid="code-cell" data-line-number="269" style="position:relative"> <span class="pl-en">emsg</span>(<span class="pl-en">_</span>(<span class="pl-s1">e_the_child_process_failed_to_start_GUI</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC270" class="react-file-line html-div" data-testid="code-cell" data-line-number="270" style="position:relative"> <span class="pl-k">return</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC271" class="react-file-line html-div" data-testid="code-cell" data-line-number="271" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC272" class="react-file-line html-div" data-testid="code-cell" data-line-number="272" style="position:relative"> <span class="pl-k">else</span> <span class="pl-k">if</span> (<span class="pl-s1">status</span> <span class="pl-c1">==</span> <span class="pl-c1">GUI_CHILD_IO_ERROR</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC273" class="react-file-line html-div" data-testid="code-cell" data-line-number="273" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC274" class="react-file-line html-div" data-testid="code-cell" data-line-number="274" style="position:relative"> <span class="pl-s1">pipe_error</span> <span class="pl-c1">=</span> TRUE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC275" class="react-file-line html-div" data-testid="code-cell" data-line-number="275" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC276" class="react-file-line html-div" data-testid="code-cell" data-line-number="276" style="position:relative"> <span class="pl-c">// else GUI_CHILD_OK: parent exit</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC277" class="react-file-line html-div" data-testid="code-cell" data-line-number="277" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC278" class="react-file-line html-div" data-testid="code-cell" data-line-number="278" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC279" class="react-file-line html-div" data-testid="code-cell" data-line-number="279" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">pipe_error</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC280" class="react-file-line html-div" data-testid="code-cell" data-line-number="280" style="position:relative"> <span class="pl-en">ui_delay</span>(<span class="pl-c1">301L</span>, TRUE);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC281" class="react-file-line html-div" data-testid="code-cell" data-line-number="281" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC282" class="react-file-line html-div" data-testid="code-cell" data-line-number="282" style="position:relative"> <span class="pl-c">// When swapping screens we may need to go to the next line, e.g.,</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC283" class="react-file-line html-div" data-testid="code-cell" data-line-number="283" style="position:relative"> <span class="pl-c">// after a hit-enter prompt and using &quot;:gui&quot;.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC284" class="react-file-line html-div" data-testid="code-cell" data-line-number="284" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">newline_on_exit</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC285" class="react-file-line html-div" data-testid="code-cell" data-line-number="285" style="position:relative"> <span class="pl-en">mch_errmsg</span>(<span class="pl-s">&quot;\r\n&quot;</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC286" class="react-file-line html-div" data-testid="code-cell" data-line-number="286" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC287" class="react-file-line html-div" data-testid="code-cell" data-line-number="287" style="position:relative"> <span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC288" class="react-file-line html-div" data-testid="code-cell" data-line-number="288" style="position:relative"><span class="pl-c"> * The parent must skip the normal exit() processing, the child</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC289" class="react-file-line html-div" data-testid="code-cell" data-line-number="289" style="position:relative"><span class="pl-c"> * will do it. For example, GTK messes up signals when exiting.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC290" class="react-file-line html-div" data-testid="code-cell" data-line-number="290" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC291" class="react-file-line html-div" data-testid="code-cell" data-line-number="291" style="position:relative"> <span class="pl-en">_exit</span>(<span class="pl-c1">0</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC292" class="react-file-line html-div" data-testid="code-cell" data-line-number="292" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC293" class="react-file-line html-div" data-testid="code-cell" data-line-number="293" style="position:relative"> <span class="pl-c">// Child</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC294" class="react-file-line html-div" data-testid="code-cell" data-line-number="294" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC295" class="react-file-line html-div" data-testid="code-cell" data-line-number="295" style="position:relative"><span class="pl-k"># ifdef</span> <span class="pl-c1">FEAT_GUI_GTK</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC296" class="react-file-line html-div" data-testid="code-cell" data-line-number="296" style="position:relative"> <span class="pl-c">// Call gtk_init_check() here after fork(). See gui_init_check().</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC297" class="react-file-line html-div" data-testid="code-cell" data-line-number="297" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">gui_mch_init_check</span>() <span class="pl-c1">!=</span> <span class="pl-c1">OK</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC298" class="react-file-line html-div" data-testid="code-cell" data-line-number="298" style="position:relative"> <span class="pl-en">getout_preserve_modified</span>(<span class="pl-c1">1</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC299" class="react-file-line html-div" data-testid="code-cell" data-line-number="299" style="position:relative"><span class="pl-k"># endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC300" class="react-file-line html-div" data-testid="code-cell" data-line-number="300" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC301" class="react-file-line html-div" data-testid="code-cell" data-line-number="301" style="position:relative"><span class="pl-k"># if</span> defined(<span class="pl-c1">HAVE_SETSID</span>) <span class="pl-c1">||</span> defined(<span class="pl-c1">HAVE_SETPGID</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC302" class="react-file-line html-div" data-testid="code-cell" data-line-number="302" style="position:relative"> <span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC303" class="react-file-line html-div" data-testid="code-cell" data-line-number="303" style="position:relative"><span class="pl-c"> * Change our process group. On some systems/shells a CTRL-C in the</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC304" class="react-file-line html-div" data-testid="code-cell" data-line-number="304" style="position:relative"><span class="pl-c"> * shell where Vim was started would otherwise kill gvim!</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC305" class="react-file-line html-div" data-testid="code-cell" data-line-number="305" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC306" class="react-file-line html-div" data-testid="code-cell" data-line-number="306" style="position:relative"><span class="pl-k"># if</span> defined(<span class="pl-c1">HAVE_SETSID</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC307" class="react-file-line html-div" data-testid="code-cell" data-line-number="307" style="position:relative"> (<span class="pl-smi">void</span>)<span class="pl-en">setsid</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC308" class="react-file-line html-div" data-testid="code-cell" data-line-number="308" style="position:relative"><span class="pl-k"># else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC309" class="react-file-line html-div" data-testid="code-cell" data-line-number="309" style="position:relative"> (<span class="pl-smi">void</span>)<span class="pl-en">setpgid</span>(<span class="pl-c1">0</span>, <span class="pl-c1">0</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC310" class="react-file-line html-div" data-testid="code-cell" data-line-number="310" style="position:relative"><span class="pl-k"># endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC311" class="react-file-line html-div" data-testid="code-cell" data-line-number="311" style="position:relative"><span class="pl-k"># endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC312" class="react-file-line html-div" data-testid="code-cell" data-line-number="312" style="position:relative"> <span class="pl-k">if</span> (!<span class="pl-s1">pipe_error</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC313" class="react-file-line html-div" data-testid="code-cell" data-line-number="313" style="position:relative"> <span class="pl-en">close</span>(<span class="pl-s1">pipefd</span>[<span class="pl-c1">0</span>]);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC314" class="react-file-line html-div" data-testid="code-cell" data-line-number="314" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC315" class="react-file-line html-div" data-testid="code-cell" data-line-number="315" style="position:relative"><span class="pl-k"># if</span> defined(<span class="pl-c1">FEAT_GUI_GNOME</span>) <span class="pl-c1">&amp;&amp;</span> defined(<span class="pl-c1">FEAT_SESSION</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC316" class="react-file-line html-div" data-testid="code-cell" data-line-number="316" style="position:relative"> <span class="pl-c">// Tell the session manager our new PID</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC317" class="react-file-line html-div" data-testid="code-cell" data-line-number="317" style="position:relative"> <span class="pl-en">gui_mch_forked</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC318" class="react-file-line html-div" data-testid="code-cell" data-line-number="318" style="position:relative"><span class="pl-k"># endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC319" class="react-file-line html-div" data-testid="code-cell" data-line-number="319" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC320" class="react-file-line html-div" data-testid="code-cell" data-line-number="320" style="position:relative"> <span class="pl-c">// Try to start the GUI</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC321" class="react-file-line html-div" data-testid="code-cell" data-line-number="321" style="position:relative"> <span class="pl-en">gui_attempt_start</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC322" class="react-file-line html-div" data-testid="code-cell" data-line-number="322" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC323" class="react-file-line html-div" data-testid="code-cell" data-line-number="323" style="position:relative"> <span class="pl-c">// Notify the parent</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC324" class="react-file-line html-div" data-testid="code-cell" data-line-number="324" style="position:relative"> <span class="pl-k">if</span> (!<span class="pl-s1">pipe_error</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC325" class="react-file-line html-div" data-testid="code-cell" data-line-number="325" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC326" class="react-file-line html-div" data-testid="code-cell" data-line-number="326" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">gui</span>.<span class="pl-c1">in_use</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC327" class="react-file-line html-div" data-testid="code-cell" data-line-number="327" style="position:relative"> <span class="pl-en">write_eintr</span>(<span class="pl-s1">pipefd</span>[<span class="pl-c1">1</span>], <span class="pl-s">&quot;ok&quot;</span>, <span class="pl-c1">3</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC328" class="react-file-line html-div" data-testid="code-cell" data-line-number="328" style="position:relative"> <span class="pl-k">else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC329" class="react-file-line html-div" data-testid="code-cell" data-line-number="329" style="position:relative"> <span class="pl-en">write_eintr</span>(<span class="pl-s1">pipefd</span>[<span class="pl-c1">1</span>], <span class="pl-s">&quot;fail&quot;</span>, <span class="pl-c1">5</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC330" class="react-file-line html-div" data-testid="code-cell" data-line-number="330" style="position:relative"> <span class="pl-en">close</span>(<span class="pl-s1">pipefd</span>[<span class="pl-c1">1</span>]);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC331" class="react-file-line html-div" data-testid="code-cell" data-line-number="331" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC332" class="react-file-line html-div" data-testid="code-cell" data-line-number="332" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC333" class="react-file-line html-div" data-testid="code-cell" data-line-number="333" style="position:relative"> <span class="pl-c">// If we failed to start the GUI, exit now.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC334" class="react-file-line html-div" data-testid="code-cell" data-line-number="334" style="position:relative"> <span class="pl-k">if</span> (!<span class="pl-s1">gui</span>.<span class="pl-c1">in_use</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC335" class="react-file-line html-div" data-testid="code-cell" data-line-number="335" style="position:relative"> <span class="pl-en">getout_preserve_modified</span>(<span class="pl-c1">1</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC336" class="react-file-line html-div" data-testid="code-cell" data-line-number="336" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC337" class="react-file-line html-div" data-testid="code-cell" data-line-number="337" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC338" class="react-file-line html-div" data-testid="code-cell" data-line-number="338" style="position:relative"><span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC339" class="react-file-line html-div" data-testid="code-cell" data-line-number="339" style="position:relative"><span class="pl-c"> * Read from a pipe assumed to be connected to the child process (this</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC340" class="react-file-line html-div" data-testid="code-cell" data-line-number="340" style="position:relative"><span class="pl-c"> * function is called from the parent).</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC341" class="react-file-line html-div" data-testid="code-cell" data-line-number="341" style="position:relative"><span class="pl-c"> * Return GUI_CHILD_OK if the child successfully started the GUI,</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC342" class="react-file-line html-div" data-testid="code-cell" data-line-number="342" style="position:relative"><span class="pl-c"> * GUY_CHILD_FAILED if the child failed, or GUI_CHILD_IO_ERROR if there was</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC343" class="react-file-line html-div" data-testid="code-cell" data-line-number="343" style="position:relative"><span class="pl-c"> * some other error.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC344" class="react-file-line html-div" data-testid="code-cell" data-line-number="344" style="position:relative"><span class="pl-c"> *</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC345" class="react-file-line html-div" data-testid="code-cell" data-line-number="345" style="position:relative"><span class="pl-c"> * The file descriptor will be closed before the function returns.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC346" class="react-file-line html-div" data-testid="code-cell" data-line-number="346" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC347" class="react-file-line html-div" data-testid="code-cell" data-line-number="347" style="position:relative"> <span class="pl-k">static</span> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC348" class="react-file-line html-div" data-testid="code-cell" data-line-number="348" style="position:relative"><span class="pl-en">gui_read_child_pipe</span>(<span class="pl-smi">int</span> <span class="pl-s1">fd</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC349" class="react-file-line html-div" data-testid="code-cell" data-line-number="349" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC350" class="react-file-line html-div" data-testid="code-cell" data-line-number="350" style="position:relative"> <span class="pl-smi">long</span> <span class="pl-s1">bytes_read</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC351" class="react-file-line html-div" data-testid="code-cell" data-line-number="351" style="position:relative"><span class="pl-k"># define</span> <span class="pl-c1">READ_BUFFER_SIZE</span> 10</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC352" class="react-file-line html-div" data-testid="code-cell" data-line-number="352" style="position:relative"> <span class="pl-smi">char</span> <span class="pl-s1">buffer</span>[<span class="pl-c1">READ_BUFFER_SIZE</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC353" class="react-file-line html-div" data-testid="code-cell" data-line-number="353" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC354" class="react-file-line html-div" data-testid="code-cell" data-line-number="354" style="position:relative"> <span class="pl-s1">bytes_read</span> <span class="pl-c1">=</span> <span class="pl-en">read_eintr</span>(<span class="pl-s1">fd</span>, <span class="pl-s1">buffer</span>, <span class="pl-c1">READ_BUFFER_SIZE</span> <span class="pl-c1">-</span> <span class="pl-c1">1</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC355" class="react-file-line html-div" data-testid="code-cell" data-line-number="355" style="position:relative"><span class="pl-k"># undef</span> READ_BUFFER_SIZE</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC356" class="react-file-line html-div" data-testid="code-cell" data-line-number="356" style="position:relative"> <span class="pl-en">close</span>(<span class="pl-s1">fd</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC357" class="react-file-line html-div" data-testid="code-cell" data-line-number="357" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">bytes_read</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">0</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC358" class="react-file-line html-div" data-testid="code-cell" data-line-number="358" style="position:relative"> <span class="pl-k">return</span> <span class="pl-c1">GUI_CHILD_IO_ERROR</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC359" class="react-file-line html-div" data-testid="code-cell" data-line-number="359" style="position:relative"> <span class="pl-s1">buffer</span>[<span class="pl-s1">bytes_read</span>] <span class="pl-c1">=</span> <span class="pl-c1">NUL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC360" class="react-file-line html-div" data-testid="code-cell" data-line-number="360" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">strcmp</span>(<span class="pl-s1">buffer</span>, <span class="pl-s">&quot;ok&quot;</span>) <span class="pl-c1">==</span> <span class="pl-c1">0</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC361" class="react-file-line html-div" data-testid="code-cell" data-line-number="361" style="position:relative"> <span class="pl-k">return</span> <span class="pl-c1">GUI_CHILD_OK</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC362" class="react-file-line html-div" data-testid="code-cell" data-line-number="362" style="position:relative"> <span class="pl-k">return</span> <span class="pl-c1">GUI_CHILD_FAILED</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC363" class="react-file-line html-div" data-testid="code-cell" data-line-number="363" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC364" class="react-file-line html-div" data-testid="code-cell" data-line-number="364" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC365" class="react-file-line html-div" data-testid="code-cell" data-line-number="365" style="position:relative"><span class="pl-k">#endif</span> <span class="pl-c">// GUI_MAY_FORK</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC366" class="react-file-line html-div" data-testid="code-cell" data-line-number="366" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC367" class="react-file-line html-div" data-testid="code-cell" data-line-number="367" style="position:relative"><span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC368" class="react-file-line html-div" data-testid="code-cell" data-line-number="368" style="position:relative"><span class="pl-c"> * Call this when vim starts up, whether or not the GUI is started</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC369" class="react-file-line html-div" data-testid="code-cell" data-line-number="369" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC370" class="react-file-line html-div" data-testid="code-cell" data-line-number="370" style="position:relative"> <span class="pl-smi">void</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC371" class="react-file-line html-div" data-testid="code-cell" data-line-number="371" style="position:relative"><span class="pl-en">gui_prepare</span>(<span class="pl-smi">int</span> <span class="pl-c1">*</span><span class="pl-s1">argc</span>, <span class="pl-smi">char</span> <span class="pl-c1">*</span><span class="pl-c1">*</span><span class="pl-s1">argv</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC372" class="react-file-line html-div" data-testid="code-cell" data-line-number="372" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC373" class="react-file-line html-div" data-testid="code-cell" data-line-number="373" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">in_use</span> <span class="pl-c1">=</span> FALSE; <span class="pl-c">// No GUI yet (maybe later)</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC374" class="react-file-line html-div" data-testid="code-cell" data-line-number="374" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">starting</span> <span class="pl-c1">=</span> FALSE; <span class="pl-c">// No GUI yet (maybe later)</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC375" class="react-file-line html-div" data-testid="code-cell" data-line-number="375" style="position:relative"> <span class="pl-en">gui_mch_prepare</span>(<span class="pl-s1">argc</span>, <span class="pl-s1">argv</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC376" class="react-file-line html-div" data-testid="code-cell" data-line-number="376" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC377" class="react-file-line html-div" data-testid="code-cell" data-line-number="377" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC378" class="react-file-line html-div" data-testid="code-cell" data-line-number="378" style="position:relative"><span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC379" class="react-file-line html-div" data-testid="code-cell" data-line-number="379" style="position:relative"><span class="pl-c"> * Try initializing the GUI and check if it can be started.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC380" class="react-file-line html-div" data-testid="code-cell" data-line-number="380" style="position:relative"><span class="pl-c"> * Used from main() to check early if &quot;vim -g&quot; can start the GUI.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC381" class="react-file-line html-div" data-testid="code-cell" data-line-number="381" style="position:relative"><span class="pl-c"> * Used from gui_init() to prepare for starting the GUI.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC382" class="react-file-line html-div" data-testid="code-cell" data-line-number="382" style="position:relative"><span class="pl-c"> * Returns FAIL or OK.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC383" class="react-file-line html-div" data-testid="code-cell" data-line-number="383" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC384" class="react-file-line html-div" data-testid="code-cell" data-line-number="384" style="position:relative"> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC385" class="react-file-line html-div" data-testid="code-cell" data-line-number="385" style="position:relative"><span class="pl-en">gui_init_check</span>(<span class="pl-smi">void</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC386" class="react-file-line html-div" data-testid="code-cell" data-line-number="386" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC387" class="react-file-line html-div" data-testid="code-cell" data-line-number="387" style="position:relative"> <span class="pl-k">static</span> <span class="pl-smi">int</span> <span class="pl-s1">result</span> <span class="pl-c1">=</span> <span class="pl-c1">MAYBE</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC388" class="react-file-line html-div" data-testid="code-cell" data-line-number="388" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC389" class="react-file-line html-div" data-testid="code-cell" data-line-number="389" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">result</span> <span class="pl-c1">!=</span> <span class="pl-c1">MAYBE</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC390" class="react-file-line html-div" data-testid="code-cell" data-line-number="390" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC391" class="react-file-line html-div" data-testid="code-cell" data-line-number="391" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">result</span> <span class="pl-c1">==</span> <span class="pl-c1">FAIL</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC392" class="react-file-line html-div" data-testid="code-cell" data-line-number="392" style="position:relative"> <span class="pl-en">emsg</span>(<span class="pl-en">_</span>(<span class="pl-s1">e_cannot_start_the_GUI</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC393" class="react-file-line html-div" data-testid="code-cell" data-line-number="393" style="position:relative"> <span class="pl-k">return</span> <span class="pl-s1">result</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC394" class="react-file-line html-div" data-testid="code-cell" data-line-number="394" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC395" class="react-file-line html-div" data-testid="code-cell" data-line-number="395" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC396" class="react-file-line html-div" data-testid="code-cell" data-line-number="396" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">shell_created</span> <span class="pl-c1">=</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC397" class="react-file-line html-div" data-testid="code-cell" data-line-number="397" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">dying</span> <span class="pl-c1">=</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC398" class="react-file-line html-div" data-testid="code-cell" data-line-number="398" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">in_focus</span> <span class="pl-c1">=</span> TRUE; <span class="pl-c">// so the guicursor setting works</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC399" class="react-file-line html-div" data-testid="code-cell" data-line-number="399" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">dragged_sb</span> <span class="pl-c1">=</span> <span class="pl-c1">SBAR_NONE</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC400" class="react-file-line html-div" data-testid="code-cell" data-line-number="400" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">dragged_wp</span> <span class="pl-c1">=</span> <span class="pl-c1">NULL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC401" class="react-file-line html-div" data-testid="code-cell" data-line-number="401" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">pointer_hidden</span> <span class="pl-c1">=</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC402" class="react-file-line html-div" data-testid="code-cell" data-line-number="402" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">col</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC403" class="react-file-line html-div" data-testid="code-cell" data-line-number="403" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">row</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC404" class="react-file-line html-div" data-testid="code-cell" data-line-number="404" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">num_cols</span> <span class="pl-c1">=</span> <span class="pl-s1">Columns</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC405" class="react-file-line html-div" data-testid="code-cell" data-line-number="405" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">num_rows</span> <span class="pl-c1">=</span> <span class="pl-s1">Rows</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC406" class="react-file-line html-div" data-testid="code-cell" data-line-number="406" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC407" class="react-file-line html-div" data-testid="code-cell" data-line-number="407" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">cursor_is_valid</span> <span class="pl-c1">=</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC408" class="react-file-line html-div" data-testid="code-cell" data-line-number="408" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">scroll_region_top</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC409" class="react-file-line html-div" data-testid="code-cell" data-line-number="409" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">scroll_region_bot</span> <span class="pl-c1">=</span> <span class="pl-s1">Rows</span> <span class="pl-c1">-</span> <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC410" class="react-file-line html-div" data-testid="code-cell" data-line-number="410" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">scroll_region_left</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC411" class="react-file-line html-div" data-testid="code-cell" data-line-number="411" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">scroll_region_right</span> <span class="pl-c1">=</span> <span class="pl-s1">Columns</span> <span class="pl-c1">-</span> <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC412" class="react-file-line html-div" data-testid="code-cell" data-line-number="412" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">highlight_mask</span> <span class="pl-c1">=</span> <span class="pl-c1">HL_NORMAL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC413" class="react-file-line html-div" data-testid="code-cell" data-line-number="413" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">char_width</span> <span class="pl-c1">=</span> <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC414" class="react-file-line html-div" data-testid="code-cell" data-line-number="414" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">char_height</span> <span class="pl-c1">=</span> <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC415" class="react-file-line html-div" data-testid="code-cell" data-line-number="415" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">char_ascent</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC416" class="react-file-line html-div" data-testid="code-cell" data-line-number="416" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">border_width</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC417" class="react-file-line html-div" data-testid="code-cell" data-line-number="417" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC418" class="react-file-line html-div" data-testid="code-cell" data-line-number="418" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">norm_font</span> <span class="pl-c1">=</span> <span class="pl-c1">NOFONT</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC419" class="react-file-line html-div" data-testid="code-cell" data-line-number="419" style="position:relative"><span class="pl-k">#ifndef</span> <span class="pl-c1">FEAT_GUI_GTK</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC420" class="react-file-line html-div" data-testid="code-cell" data-line-number="420" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">bold_font</span> <span class="pl-c1">=</span> <span class="pl-c1">NOFONT</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC421" class="react-file-line html-div" data-testid="code-cell" data-line-number="421" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">ital_font</span> <span class="pl-c1">=</span> <span class="pl-c1">NOFONT</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC422" class="react-file-line html-div" data-testid="code-cell" data-line-number="422" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">boldital_font</span> <span class="pl-c1">=</span> <span class="pl-c1">NOFONT</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC423" class="react-file-line html-div" data-testid="code-cell" data-line-number="423" style="position:relative"><span class="pl-k"># ifdef</span> <span class="pl-c1">FEAT_XFONTSET</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC424" class="react-file-line html-div" data-testid="code-cell" data-line-number="424" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">fontset</span> <span class="pl-c1">=</span> <span class="pl-c1">NOFONTSET</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC425" class="react-file-line html-div" data-testid="code-cell" data-line-number="425" style="position:relative"><span class="pl-k"># endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC426" class="react-file-line html-div" data-testid="code-cell" data-line-number="426" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC427" class="react-file-line html-div" data-testid="code-cell" data-line-number="427" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">wide_font</span> <span class="pl-c1">=</span> <span class="pl-c1">NOFONT</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC428" class="react-file-line html-div" data-testid="code-cell" data-line-number="428" style="position:relative"><span class="pl-k">#ifndef</span> <span class="pl-c1">FEAT_GUI_GTK</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC429" class="react-file-line html-div" data-testid="code-cell" data-line-number="429" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">wide_bold_font</span> <span class="pl-c1">=</span> <span class="pl-c1">NOFONT</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC430" class="react-file-line html-div" data-testid="code-cell" data-line-number="430" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">wide_ital_font</span> <span class="pl-c1">=</span> <span class="pl-c1">NOFONT</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC431" class="react-file-line html-div" data-testid="code-cell" data-line-number="431" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">wide_boldital_font</span> <span class="pl-c1">=</span> <span class="pl-c1">NOFONT</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC432" class="react-file-line html-div" data-testid="code-cell" data-line-number="432" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC433" class="react-file-line html-div" data-testid="code-cell" data-line-number="433" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC434" class="react-file-line html-div" data-testid="code-cell" data-line-number="434" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_MENU</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC435" class="react-file-line html-div" data-testid="code-cell" data-line-number="435" style="position:relative"><span class="pl-k"># ifndef</span> <span class="pl-c1">FEAT_GUI_GTK</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC436" class="react-file-line html-div" data-testid="code-cell" data-line-number="436" style="position:relative"><span class="pl-k"># ifdef</span> <span class="pl-c1">FONTSET_ALWAYS</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC437" class="react-file-line html-div" data-testid="code-cell" data-line-number="437" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">menu_fontset</span> <span class="pl-c1">=</span> <span class="pl-c1">NOFONTSET</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC438" class="react-file-line html-div" data-testid="code-cell" data-line-number="438" style="position:relative"><span class="pl-k"># else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC439" class="react-file-line html-div" data-testid="code-cell" data-line-number="439" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">menu_font</span> <span class="pl-c1">=</span> <span class="pl-c1">NOFONT</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC440" class="react-file-line html-div" data-testid="code-cell" data-line-number="440" style="position:relative"><span class="pl-k"># endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC441" class="react-file-line html-div" data-testid="code-cell" data-line-number="441" style="position:relative"><span class="pl-k"># endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC442" class="react-file-line html-div" data-testid="code-cell" data-line-number="442" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">menu_is_active</span> <span class="pl-c1">=</span> TRUE; <span class="pl-c">// default: include menu</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC443" class="react-file-line html-div" data-testid="code-cell" data-line-number="443" style="position:relative"><span class="pl-k"># ifndef</span> <span class="pl-c1">FEAT_GUI_GTK</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC444" class="react-file-line html-div" data-testid="code-cell" data-line-number="444" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">menu_height</span> <span class="pl-c1">=</span> <span class="pl-c1">MENU_DEFAULT_HEIGHT</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC445" class="react-file-line html-div" data-testid="code-cell" data-line-number="445" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">menu_width</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC446" class="react-file-line html-div" data-testid="code-cell" data-line-number="446" style="position:relative"><span class="pl-k"># endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC447" class="react-file-line html-div" data-testid="code-cell" data-line-number="447" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC448" class="react-file-line html-div" data-testid="code-cell" data-line-number="448" style="position:relative"><span class="pl-k">#if</span> defined(<span class="pl-c1">FEAT_TOOLBAR</span>) <span class="pl-c1">&amp;&amp;</span> (defined(<span class="pl-c1">FEAT_GUI_MOTIF</span>) <span class="pl-c1">||</span> defined(<span class="pl-c1">FEAT_GUI_HAIKU</span>))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC449" class="react-file-line html-div" data-testid="code-cell" data-line-number="449" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">toolbar_height</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC450" class="react-file-line html-div" data-testid="code-cell" data-line-number="450" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC451" class="react-file-line html-div" data-testid="code-cell" data-line-number="451" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_BEVAL_TIP</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC452" class="react-file-line html-div" data-testid="code-cell" data-line-number="452" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">tooltip_fontset</span> <span class="pl-c1">=</span> <span class="pl-c1">NOFONTSET</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC453" class="react-file-line html-div" data-testid="code-cell" data-line-number="453" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC454" class="react-file-line html-div" data-testid="code-cell" data-line-number="454" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC455" class="react-file-line html-div" data-testid="code-cell" data-line-number="455" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">scrollbar_width</span> <span class="pl-c1">=</span> <span class="pl-s1">gui</span>.<span class="pl-c1">scrollbar_height</span> <span class="pl-c1">=</span> <span class="pl-c1">SB_DEFAULT_WIDTH</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC456" class="react-file-line html-div" data-testid="code-cell" data-line-number="456" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">prev_wrap</span> <span class="pl-c1">=</span> <span class="pl-c1">-1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC457" class="react-file-line html-div" data-testid="code-cell" data-line-number="457" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC458" class="react-file-line html-div" data-testid="code-cell" data-line-number="458" style="position:relative"><span class="pl-k">#if</span> defined(<span class="pl-c1">FEAT_GUI_GTK</span>) <span class="pl-c1">||</span> defined(<span class="pl-c1">FEAT_GUI_MSWIN</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC459" class="react-file-line html-div" data-testid="code-cell" data-line-number="459" style="position:relative"> <span class="pl-c">// Note: gui_set_ligatures() might already have been called e.g. from .vimrc,</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC460" class="react-file-line html-div" data-testid="code-cell" data-line-number="460" style="position:relative"> <span class="pl-c">// and in that case we don&#039;t want to overwrite ligatures map that has already</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC461" class="react-file-line html-div" data-testid="code-cell" data-line-number="461" style="position:relative"> <span class="pl-c">// been correctly populated (as that would lead to a cleared ligatures maps).</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC462" class="react-file-line html-div" data-testid="code-cell" data-line-number="462" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-c1">*</span><span class="pl-s1">p_guiligatures</span> <span class="pl-c1">==</span> <span class="pl-c1">NUL</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC463" class="react-file-line html-div" data-testid="code-cell" data-line-number="463" style="position:relative"> <span class="pl-en">CLEAR_FIELD</span>(<span class="pl-s1">gui</span>.<span class="pl-c1">ligatures_map</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC464" class="react-file-line html-div" data-testid="code-cell" data-line-number="464" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC465" class="react-file-line html-div" data-testid="code-cell" data-line-number="465" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC466" class="react-file-line html-div" data-testid="code-cell" data-line-number="466" style="position:relative"><span class="pl-k">#if</span> defined(<span class="pl-c1">ALWAYS_USE_GUI</span>) <span class="pl-c1">||</span> defined(<span class="pl-c1">VIMDLL</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC467" class="react-file-line html-div" data-testid="code-cell" data-line-number="467" style="position:relative"> <span class="pl-s1">result</span> <span class="pl-c1">=</span> <span class="pl-c1">OK</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC468" class="react-file-line html-div" data-testid="code-cell" data-line-number="468" style="position:relative"><span class="pl-k">#else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC469" class="react-file-line html-div" data-testid="code-cell" data-line-number="469" style="position:relative"><span class="pl-k"># ifdef</span> <span class="pl-c1">FEAT_GUI_GTK</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC470" class="react-file-line html-div" data-testid="code-cell" data-line-number="470" style="position:relative"> <span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC471" class="react-file-line html-div" data-testid="code-cell" data-line-number="471" style="position:relative"><span class="pl-c"> * Note: Don&#039;t call gtk_init_check() before fork, it will be called after</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC472" class="react-file-line html-div" data-testid="code-cell" data-line-number="472" style="position:relative"><span class="pl-c"> * the fork. When calling it before fork, it make vim hang for a while.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC473" class="react-file-line html-div" data-testid="code-cell" data-line-number="473" style="position:relative"><span class="pl-c"> * See gui_do_fork().</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC474" class="react-file-line html-div" data-testid="code-cell" data-line-number="474" style="position:relative"><span class="pl-c"> * Use a simpler check if the GUI window can probably be opened.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC475" class="react-file-line html-div" data-testid="code-cell" data-line-number="475" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC476" class="react-file-line html-div" data-testid="code-cell" data-line-number="476" style="position:relative"> <span class="pl-s1">result</span> <span class="pl-c1">=</span> <span class="pl-s1">gui</span>.<span class="pl-c1">dofork</span> ? <span class="pl-en">gui_mch_early_init_check</span>(TRUE) : <span class="pl-en">gui_mch_init_check</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC477" class="react-file-line html-div" data-testid="code-cell" data-line-number="477" style="position:relative"><span class="pl-k"># else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC478" class="react-file-line html-div" data-testid="code-cell" data-line-number="478" style="position:relative"> <span class="pl-s1">result</span> <span class="pl-c1">=</span> <span class="pl-en">gui_mch_init_check</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC479" class="react-file-line html-div" data-testid="code-cell" data-line-number="479" style="position:relative"><span class="pl-k"># endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC480" class="react-file-line html-div" data-testid="code-cell" data-line-number="480" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC481" class="react-file-line html-div" data-testid="code-cell" data-line-number="481" style="position:relative"> <span class="pl-k">return</span> <span class="pl-s1">result</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC482" class="react-file-line html-div" data-testid="code-cell" data-line-number="482" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC483" class="react-file-line html-div" data-testid="code-cell" data-line-number="483" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC484" class="react-file-line html-div" data-testid="code-cell" data-line-number="484" style="position:relative"><span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC485" class="react-file-line html-div" data-testid="code-cell" data-line-number="485" style="position:relative"><span class="pl-c"> * This is the call which starts the GUI.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC486" class="react-file-line html-div" data-testid="code-cell" data-line-number="486" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC487" class="react-file-line html-div" data-testid="code-cell" data-line-number="487" style="position:relative"> <span class="pl-smi">void</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC488" class="react-file-line html-div" data-testid="code-cell" data-line-number="488" style="position:relative"><span class="pl-en">gui_init</span>(<span class="pl-smi">void</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC489" class="react-file-line html-div" data-testid="code-cell" data-line-number="489" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC490" class="react-file-line html-div" data-testid="code-cell" data-line-number="490" style="position:relative"> <span class="pl-smi">win_T</span> <span class="pl-c1">*</span><span class="pl-s1">wp</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC491" class="react-file-line html-div" data-testid="code-cell" data-line-number="491" style="position:relative"> <span class="pl-smi">tabpage_T</span> <span class="pl-c1">*</span><span class="pl-s1">tp</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC492" class="react-file-line html-div" data-testid="code-cell" data-line-number="492" style="position:relative"> <span class="pl-k">static</span> <span class="pl-smi">int</span> <span class="pl-s1">recursive</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC493" class="react-file-line html-div" data-testid="code-cell" data-line-number="493" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC494" class="react-file-line html-div" data-testid="code-cell" data-line-number="494" style="position:relative"> <span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC495" class="react-file-line html-div" data-testid="code-cell" data-line-number="495" style="position:relative"><span class="pl-c"> * It&#039;s possible to use &quot;:gui&quot; in a .gvimrc file. The first half of this</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC496" class="react-file-line html-div" data-testid="code-cell" data-line-number="496" style="position:relative"><span class="pl-c"> * function will then be executed at the first call, the rest by the</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC497" class="react-file-line html-div" data-testid="code-cell" data-line-number="497" style="position:relative"><span class="pl-c"> * recursive call. This allow the shell to be opened halfway reading a</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC498" class="react-file-line html-div" data-testid="code-cell" data-line-number="498" style="position:relative"><span class="pl-c"> * gvimrc file.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC499" class="react-file-line html-div" data-testid="code-cell" data-line-number="499" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC500" class="react-file-line html-div" data-testid="code-cell" data-line-number="500" style="position:relative"> <span class="pl-k">if</span> (!<span class="pl-s1">recursive</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC501" class="react-file-line html-div" data-testid="code-cell" data-line-number="501" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC502" class="react-file-line html-div" data-testid="code-cell" data-line-number="502" style="position:relative"> <span class="pl-c1">++</span><span class="pl-s1">recursive</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC503" class="react-file-line html-div" data-testid="code-cell" data-line-number="503" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC504" class="react-file-line html-div" data-testid="code-cell" data-line-number="504" style="position:relative"> <span class="pl-en">clip_init</span>(TRUE);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC505" class="react-file-line html-div" data-testid="code-cell" data-line-number="505" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC506" class="react-file-line html-div" data-testid="code-cell" data-line-number="506" style="position:relative"> <span class="pl-c">// If can&#039;t initialize, don&#039;t try doing the rest</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC507" class="react-file-line html-div" data-testid="code-cell" data-line-number="507" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">gui_init_check</span>() <span class="pl-c1">==</span> <span class="pl-c1">FAIL</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC508" class="react-file-line html-div" data-testid="code-cell" data-line-number="508" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC509" class="react-file-line html-div" data-testid="code-cell" data-line-number="509" style="position:relative"> <span class="pl-c1">--</span><span class="pl-s1">recursive</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC510" class="react-file-line html-div" data-testid="code-cell" data-line-number="510" style="position:relative"> <span class="pl-en">clip_init</span>(FALSE);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC511" class="react-file-line html-div" data-testid="code-cell" data-line-number="511" style="position:relative"> <span class="pl-k">return</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC512" class="react-file-line html-div" data-testid="code-cell" data-line-number="512" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC513" class="react-file-line html-div" data-testid="code-cell" data-line-number="513" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC514" class="react-file-line html-div" data-testid="code-cell" data-line-number="514" style="position:relative"> <span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC515" class="react-file-line html-div" data-testid="code-cell" data-line-number="515" style="position:relative"><span class="pl-c"> * Reset &#039;paste&#039;. It&#039;s useful in the terminal, but not in the GUI. It</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC516" class="react-file-line html-div" data-testid="code-cell" data-line-number="516" style="position:relative"><span class="pl-c"> * breaks the Paste toolbar button.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC517" class="react-file-line html-div" data-testid="code-cell" data-line-number="517" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC518" class="react-file-line html-div" data-testid="code-cell" data-line-number="518" style="position:relative"> <span class="pl-en">set_option_value_give_err</span>((<span class="pl-smi">char_u</span> <span class="pl-c1">*</span>)<span class="pl-s">&quot;paste&quot;</span>, <span class="pl-c1">0L</span>, <span class="pl-c1">NULL</span>, <span class="pl-c1">0</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC519" class="react-file-line html-div" data-testid="code-cell" data-line-number="519" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC520" class="react-file-line html-div" data-testid="code-cell" data-line-number="520" style="position:relative"> <span class="pl-c">// Set t_Co to the number of colors: RGB.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC521" class="react-file-line html-div" data-testid="code-cell" data-line-number="521" style="position:relative"> <span class="pl-en">set_color_count</span>(<span class="pl-c1">256</span> <span class="pl-c1">*</span> <span class="pl-c1">256</span> <span class="pl-c1">*</span> <span class="pl-c1">256</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC522" class="react-file-line html-div" data-testid="code-cell" data-line-number="522" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC523" class="react-file-line html-div" data-testid="code-cell" data-line-number="523" style="position:relative"> <span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC524" class="react-file-line html-div" data-testid="code-cell" data-line-number="524" style="position:relative"><span class="pl-c"> * Set up system-wide default menus.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC525" class="react-file-line html-div" data-testid="code-cell" data-line-number="525" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC526" class="react-file-line html-div" data-testid="code-cell" data-line-number="526" style="position:relative"><span class="pl-k">#if</span> defined(<span class="pl-c1">SYS_MENU_FILE</span>) <span class="pl-c1">&amp;&amp;</span> defined(<span class="pl-c1">FEAT_MENU</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC527" class="react-file-line html-div" data-testid="code-cell" data-line-number="527" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">vim_strchr</span>(<span class="pl-s1">p_go</span>, <span class="pl-c1">GO_NOSYSMENU</span>) <span class="pl-c1">==</span> <span class="pl-c1">NULL</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC528" class="react-file-line html-div" data-testid="code-cell" data-line-number="528" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC529" class="react-file-line html-div" data-testid="code-cell" data-line-number="529" style="position:relative"> <span class="pl-s1">sys_menu</span> <span class="pl-c1">=</span> TRUE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC530" class="react-file-line html-div" data-testid="code-cell" data-line-number="530" style="position:relative"> <span class="pl-en">do_source</span>((<span class="pl-smi">char_u</span> <span class="pl-c1">*</span>)<span class="pl-c1">SYS_MENU_FILE</span>, FALSE, <span class="pl-c1">DOSO_NONE</span>, <span class="pl-c1">NULL</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC531" class="react-file-line html-div" data-testid="code-cell" data-line-number="531" style="position:relative"> <span class="pl-s1">sys_menu</span> <span class="pl-c1">=</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC532" class="react-file-line html-div" data-testid="code-cell" data-line-number="532" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC533" class="react-file-line html-div" data-testid="code-cell" data-line-number="533" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC534" class="react-file-line html-div" data-testid="code-cell" data-line-number="534" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC535" class="react-file-line html-div" data-testid="code-cell" data-line-number="535" style="position:relative"> <span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC536" class="react-file-line html-div" data-testid="code-cell" data-line-number="536" style="position:relative"><span class="pl-c"> * Switch on the mouse by default, unless the user changed it already.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC537" class="react-file-line html-div" data-testid="code-cell" data-line-number="537" style="position:relative"><span class="pl-c"> * This can then be changed in the .gvimrc.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC538" class="react-file-line html-div" data-testid="code-cell" data-line-number="538" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC539" class="react-file-line html-div" data-testid="code-cell" data-line-number="539" style="position:relative"> <span class="pl-k">if</span> (!<span class="pl-en">option_was_set</span>((<span class="pl-smi">char_u</span> <span class="pl-c1">*</span>)<span class="pl-s">&quot;mouse&quot;</span>))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC540" class="react-file-line html-div" data-testid="code-cell" data-line-number="540" style="position:relative"> <span class="pl-en">set_string_option_direct</span>((<span class="pl-smi">char_u</span> <span class="pl-c1">*</span>)<span class="pl-s">&quot;mouse&quot;</span>, <span class="pl-c1">-1</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC541" class="react-file-line html-div" data-testid="code-cell" data-line-number="541" style="position:relative"> (<span class="pl-smi">char_u</span> <span class="pl-c1">*</span>)<span class="pl-s">&quot;a&quot;</span>, <span class="pl-c1">OPT_FREE</span>, <span class="pl-c1">SID_NONE</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC542" class="react-file-line html-div" data-testid="code-cell" data-line-number="542" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC543" class="react-file-line html-div" data-testid="code-cell" data-line-number="543" style="position:relative"> <span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC544" class="react-file-line html-div" data-testid="code-cell" data-line-number="544" style="position:relative"><span class="pl-c"> * If -U option given, use only the initializations from that file and</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC545" class="react-file-line html-div" data-testid="code-cell" data-line-number="545" style="position:relative"><span class="pl-c"> * nothing else. Skip all initializations for &quot;-U NONE&quot; or &quot;-u NORC&quot;.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC546" class="react-file-line html-div" data-testid="code-cell" data-line-number="546" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC547" class="react-file-line html-div" data-testid="code-cell" data-line-number="547" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">use_gvimrc</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC548" class="react-file-line html-div" data-testid="code-cell" data-line-number="548" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC549" class="react-file-line html-div" data-testid="code-cell" data-line-number="549" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">STRCMP</span>(<span class="pl-s1">use_gvimrc</span>, <span class="pl-s">&quot;NONE&quot;</span>) <span class="pl-c1">!=</span> <span class="pl-c1">0</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC550" class="react-file-line html-div" data-testid="code-cell" data-line-number="550" style="position:relative"> <span class="pl-c1">&amp;&amp;</span> <span class="pl-en">STRCMP</span>(<span class="pl-s1">use_gvimrc</span>, <span class="pl-s">&quot;NORC&quot;</span>) <span class="pl-c1">!=</span> <span class="pl-c1">0</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC551" class="react-file-line html-div" data-testid="code-cell" data-line-number="551" style="position:relative"> <span class="pl-c1">&amp;&amp;</span> <span class="pl-en">do_source</span>(<span class="pl-s1">use_gvimrc</span>, FALSE, <span class="pl-c1">DOSO_NONE</span>, <span class="pl-c1">NULL</span>) <span class="pl-c1">!=</span> <span class="pl-c1">OK</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC552" class="react-file-line html-div" data-testid="code-cell" data-line-number="552" style="position:relative"> <span class="pl-en">semsg</span>(<span class="pl-en">_</span>(<span class="pl-s1">e_cannot_read_from_str</span>), <span class="pl-s1">use_gvimrc</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC553" class="react-file-line html-div" data-testid="code-cell" data-line-number="553" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC554" class="react-file-line html-div" data-testid="code-cell" data-line-number="554" style="position:relative"> <span class="pl-k">else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC555" class="react-file-line html-div" data-testid="code-cell" data-line-number="555" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC556" class="react-file-line html-div" data-testid="code-cell" data-line-number="556" style="position:relative"> <span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC557" class="react-file-line html-div" data-testid="code-cell" data-line-number="557" style="position:relative"><span class="pl-c"> * Get system wide defaults for gvim, only when file name defined.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC558" class="react-file-line html-div" data-testid="code-cell" data-line-number="558" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC559" class="react-file-line html-div" data-testid="code-cell" data-line-number="559" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">SYS_GVIMRC_FILE</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC560" class="react-file-line html-div" data-testid="code-cell" data-line-number="560" style="position:relative"> <span class="pl-en">do_source</span>((<span class="pl-smi">char_u</span> <span class="pl-c1">*</span>)<span class="pl-c1">SYS_GVIMRC_FILE</span>, FALSE, <span class="pl-c1">DOSO_NONE</span>, <span class="pl-c1">NULL</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC561" class="react-file-line html-div" data-testid="code-cell" data-line-number="561" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC562" class="react-file-line html-div" data-testid="code-cell" data-line-number="562" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC563" class="react-file-line html-div" data-testid="code-cell" data-line-number="563" style="position:relative"> <span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC564" class="react-file-line html-div" data-testid="code-cell" data-line-number="564" style="position:relative"><span class="pl-c"> * Try to read GUI initialization commands from the following</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC565" class="react-file-line html-div" data-testid="code-cell" data-line-number="565" style="position:relative"><span class="pl-c"> * places:</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC566" class="react-file-line html-div" data-testid="code-cell" data-line-number="566" style="position:relative"><span class="pl-c"> * - environment variable GVIMINIT</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC567" class="react-file-line html-div" data-testid="code-cell" data-line-number="567" style="position:relative"><span class="pl-c"> * - the user gvimrc file (~/.gvimrc)</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC568" class="react-file-line html-div" data-testid="code-cell" data-line-number="568" style="position:relative"><span class="pl-c"> * - the second user gvimrc file ($VIM/.gvimrc for Dos)</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC569" class="react-file-line html-div" data-testid="code-cell" data-line-number="569" style="position:relative"><span class="pl-c"> * - the third user gvimrc file ($VIM/.gvimrc for Amiga)</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC570" class="react-file-line html-div" data-testid="code-cell" data-line-number="570" style="position:relative"><span class="pl-c"> * The first that exists is used, the rest is ignored.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC571" class="react-file-line html-div" data-testid="code-cell" data-line-number="571" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC572" class="react-file-line html-div" data-testid="code-cell" data-line-number="572" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">process_env</span>((<span class="pl-smi">char_u</span> <span class="pl-c1">*</span>)<span class="pl-s">&quot;GVIMINIT&quot;</span>, FALSE) <span class="pl-c1">==</span> <span class="pl-c1">FAIL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC573" class="react-file-line html-div" data-testid="code-cell" data-line-number="573" style="position:relative"> <span class="pl-c1">&amp;&amp;</span> <span class="pl-en">do_source</span>((<span class="pl-smi">char_u</span> <span class="pl-c1">*</span>)<span class="pl-c1">USR_GVIMRC_FILE</span>, TRUE,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC574" class="react-file-line html-div" data-testid="code-cell" data-line-number="574" style="position:relative"> <span class="pl-c1">DOSO_GVIMRC</span>, <span class="pl-c1">NULL</span>) <span class="pl-c1">==</span> <span class="pl-c1">FAIL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC575" class="react-file-line html-div" data-testid="code-cell" data-line-number="575" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">USR_GVIMRC_FILE2</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC576" class="react-file-line html-div" data-testid="code-cell" data-line-number="576" style="position:relative"> <span class="pl-c1">&amp;&amp;</span> <span class="pl-en">do_source</span>((<span class="pl-smi">char_u</span> <span class="pl-c1">*</span>)<span class="pl-c1">USR_GVIMRC_FILE2</span>, TRUE,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC577" class="react-file-line html-div" data-testid="code-cell" data-line-number="577" style="position:relative"> <span class="pl-c1">DOSO_GVIMRC</span>, <span class="pl-c1">NULL</span>) <span class="pl-c1">==</span> <span class="pl-c1">FAIL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC578" class="react-file-line html-div" data-testid="code-cell" data-line-number="578" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC579" class="react-file-line html-div" data-testid="code-cell" data-line-number="579" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">USR_GVIMRC_FILE3</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC580" class="react-file-line html-div" data-testid="code-cell" data-line-number="580" style="position:relative"> <span class="pl-c1">&amp;&amp;</span> <span class="pl-en">do_source</span>((<span class="pl-smi">char_u</span> <span class="pl-c1">*</span>)<span class="pl-c1">USR_GVIMRC_FILE3</span>, TRUE,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC581" class="react-file-line html-div" data-testid="code-cell" data-line-number="581" style="position:relative"> <span class="pl-c1">DOSO_GVIMRC</span>, <span class="pl-c1">NULL</span>) <span class="pl-c1">==</span> <span class="pl-c1">FAIL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC582" class="react-file-line html-div" data-testid="code-cell" data-line-number="582" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC583" class="react-file-line html-div" data-testid="code-cell" data-line-number="583" style="position:relative"> )</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC584" class="react-file-line html-div" data-testid="code-cell" data-line-number="584" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC585" class="react-file-line html-div" data-testid="code-cell" data-line-number="585" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">USR_GVIMRC_FILE4</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC586" class="react-file-line html-div" data-testid="code-cell" data-line-number="586" style="position:relative"> (<span class="pl-smi">void</span>)<span class="pl-en">do_source</span>((<span class="pl-smi">char_u</span> <span class="pl-c1">*</span>)<span class="pl-c1">USR_GVIMRC_FILE4</span>, TRUE,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC587" class="react-file-line html-div" data-testid="code-cell" data-line-number="587" style="position:relative"> <span class="pl-c1">DOSO_GVIMRC</span>, <span class="pl-c1">NULL</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC588" class="react-file-line html-div" data-testid="code-cell" data-line-number="588" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC589" class="react-file-line html-div" data-testid="code-cell" data-line-number="589" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC590" class="react-file-line html-div" data-testid="code-cell" data-line-number="590" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC591" class="react-file-line html-div" data-testid="code-cell" data-line-number="591" style="position:relative"> <span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC592" class="react-file-line html-div" data-testid="code-cell" data-line-number="592" style="position:relative"><span class="pl-c"> * Read initialization commands from &quot;.gvimrc&quot; in current</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC593" class="react-file-line html-div" data-testid="code-cell" data-line-number="593" style="position:relative"><span class="pl-c"> * directory. This is only done if the &#039;exrc&#039; option is set.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC594" class="react-file-line html-div" data-testid="code-cell" data-line-number="594" style="position:relative"><span class="pl-c"> * Because of security reasons we disallow shell and write</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC595" class="react-file-line html-div" data-testid="code-cell" data-line-number="595" style="position:relative"><span class="pl-c"> * commands now, except for unix if the file is owned by the user</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC596" class="react-file-line html-div" data-testid="code-cell" data-line-number="596" style="position:relative"><span class="pl-c"> * or &#039;secure&#039; option has been reset in environment of global</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC597" class="react-file-line html-div" data-testid="code-cell" data-line-number="597" style="position:relative"><span class="pl-c"> * &quot;.gvimrc&quot;.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC598" class="react-file-line html-div" data-testid="code-cell" data-line-number="598" style="position:relative"><span class="pl-c"> * Only do this if GVIMRC_FILE is not the same as USR_GVIMRC_FILE,</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC599" class="react-file-line html-div" data-testid="code-cell" data-line-number="599" style="position:relative"><span class="pl-c"> * USR_GVIMRC_FILE2, USR_GVIMRC_FILE3 or SYS_GVIMRC_FILE.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC600" class="react-file-line html-div" data-testid="code-cell" data-line-number="600" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC601" class="react-file-line html-div" data-testid="code-cell" data-line-number="601" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">p_exrc</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC602" class="react-file-line html-div" data-testid="code-cell" data-line-number="602" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC603" class="react-file-line html-div" data-testid="code-cell" data-line-number="603" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">UNIX</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC604" class="react-file-line html-div" data-testid="code-cell" data-line-number="604" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC605" class="react-file-line html-div" data-testid="code-cell" data-line-number="605" style="position:relative"> <span class="pl-smi">stat_T</span> <span class="pl-s1">s</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC606" class="react-file-line html-div" data-testid="code-cell" data-line-number="606" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC607" class="react-file-line html-div" data-testid="code-cell" data-line-number="607" style="position:relative"> <span class="pl-c">// if &quot;.gvimrc&quot; file is not owned by user, set &#039;secure&#039;</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC608" class="react-file-line html-div" data-testid="code-cell" data-line-number="608" style="position:relative"> <span class="pl-c">// mode</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC609" class="react-file-line html-div" data-testid="code-cell" data-line-number="609" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">mch_stat</span>(<span class="pl-c1">GVIMRC_FILE</span>, <span class="pl-c1">&amp;</span><span class="pl-s1">s</span>) <span class="pl-c1">||</span> <span class="pl-s1">s</span>.<span class="pl-c1">st_uid</span> <span class="pl-c1">!=</span> <span class="pl-en">getuid</span>())</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC610" class="react-file-line html-div" data-testid="code-cell" data-line-number="610" style="position:relative"> <span class="pl-s1">secure</span> <span class="pl-c1">=</span> <span class="pl-s1">p_secure</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC611" class="react-file-line html-div" data-testid="code-cell" data-line-number="611" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC612" class="react-file-line html-div" data-testid="code-cell" data-line-number="612" style="position:relative"><span class="pl-k">#else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC613" class="react-file-line html-div" data-testid="code-cell" data-line-number="613" style="position:relative"> <span class="pl-s1">secure</span> <span class="pl-c1">=</span> <span class="pl-s1">p_secure</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC614" class="react-file-line html-div" data-testid="code-cell" data-line-number="614" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC615" class="react-file-line html-div" data-testid="code-cell" data-line-number="615" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC616" class="react-file-line html-div" data-testid="code-cell" data-line-number="616" style="position:relative"> <span class="pl-k">if</span> ( <span class="pl-en">fullpathcmp</span>((<span class="pl-smi">char_u</span> <span class="pl-c1">*</span>)<span class="pl-c1">USR_GVIMRC_FILE</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC617" class="react-file-line html-div" data-testid="code-cell" data-line-number="617" style="position:relative"> (<span class="pl-smi">char_u</span> <span class="pl-c1">*</span>)<span class="pl-c1">GVIMRC_FILE</span>, FALSE, TRUE) <span class="pl-c1">!=</span> <span class="pl-c1">FPC_SAME</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC618" class="react-file-line html-div" data-testid="code-cell" data-line-number="618" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">SYS_GVIMRC_FILE</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC619" class="react-file-line html-div" data-testid="code-cell" data-line-number="619" style="position:relative"> <span class="pl-c1">&amp;&amp;</span> <span class="pl-en">fullpathcmp</span>((<span class="pl-smi">char_u</span> <span class="pl-c1">*</span>)<span class="pl-c1">SYS_GVIMRC_FILE</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC620" class="react-file-line html-div" data-testid="code-cell" data-line-number="620" style="position:relative"> (<span class="pl-smi">char_u</span> <span class="pl-c1">*</span>)<span class="pl-c1">GVIMRC_FILE</span>, FALSE, TRUE) <span class="pl-c1">!=</span> <span class="pl-c1">FPC_SAME</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC621" class="react-file-line html-div" data-testid="code-cell" data-line-number="621" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC622" class="react-file-line html-div" data-testid="code-cell" data-line-number="622" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">USR_GVIMRC_FILE2</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC623" class="react-file-line html-div" data-testid="code-cell" data-line-number="623" style="position:relative"> <span class="pl-c1">&amp;&amp;</span> <span class="pl-en">fullpathcmp</span>((<span class="pl-smi">char_u</span> <span class="pl-c1">*</span>)<span class="pl-c1">USR_GVIMRC_FILE2</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC624" class="react-file-line html-div" data-testid="code-cell" data-line-number="624" style="position:relative"> (<span class="pl-smi">char_u</span> <span class="pl-c1">*</span>)<span class="pl-c1">GVIMRC_FILE</span>, FALSE, TRUE) <span class="pl-c1">!=</span> <span class="pl-c1">FPC_SAME</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC625" class="react-file-line html-div" data-testid="code-cell" data-line-number="625" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC626" class="react-file-line html-div" data-testid="code-cell" data-line-number="626" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">USR_GVIMRC_FILE3</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC627" class="react-file-line html-div" data-testid="code-cell" data-line-number="627" style="position:relative"> <span class="pl-c1">&amp;&amp;</span> <span class="pl-en">fullpathcmp</span>((<span class="pl-smi">char_u</span> <span class="pl-c1">*</span>)<span class="pl-c1">USR_GVIMRC_FILE3</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC628" class="react-file-line html-div" data-testid="code-cell" data-line-number="628" style="position:relative"> (<span class="pl-smi">char_u</span> <span class="pl-c1">*</span>)<span class="pl-c1">GVIMRC_FILE</span>, FALSE, TRUE) <span class="pl-c1">!=</span> <span class="pl-c1">FPC_SAME</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC629" class="react-file-line html-div" data-testid="code-cell" data-line-number="629" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC630" class="react-file-line html-div" data-testid="code-cell" data-line-number="630" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">USR_GVIMRC_FILE4</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC631" class="react-file-line html-div" data-testid="code-cell" data-line-number="631" style="position:relative"> <span class="pl-c1">&amp;&amp;</span> <span class="pl-en">fullpathcmp</span>((<span class="pl-smi">char_u</span> <span class="pl-c1">*</span>)<span class="pl-c1">USR_GVIMRC_FILE4</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC632" class="react-file-line html-div" data-testid="code-cell" data-line-number="632" style="position:relative"> (<span class="pl-smi">char_u</span> <span class="pl-c1">*</span>)<span class="pl-c1">GVIMRC_FILE</span>, FALSE, TRUE) <span class="pl-c1">!=</span> <span class="pl-c1">FPC_SAME</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC633" class="react-file-line html-div" data-testid="code-cell" data-line-number="633" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC634" class="react-file-line html-div" data-testid="code-cell" data-line-number="634" style="position:relative"> )</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC635" class="react-file-line html-div" data-testid="code-cell" data-line-number="635" style="position:relative"> <span class="pl-en">do_source</span>((<span class="pl-smi">char_u</span> <span class="pl-c1">*</span>)<span class="pl-c1">GVIMRC_FILE</span>, TRUE, <span class="pl-c1">DOSO_GVIMRC</span>, <span class="pl-c1">NULL</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC636" class="react-file-line html-div" data-testid="code-cell" data-line-number="636" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC637" class="react-file-line html-div" data-testid="code-cell" data-line-number="637" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">secure</span> <span class="pl-c1">==</span> <span class="pl-c1">2</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC638" class="react-file-line html-div" data-testid="code-cell" data-line-number="638" style="position:relative"> <span class="pl-s1">need_wait_return</span> <span class="pl-c1">=</span> TRUE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC639" class="react-file-line html-div" data-testid="code-cell" data-line-number="639" style="position:relative"> <span class="pl-s1">secure</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC640" class="react-file-line html-div" data-testid="code-cell" data-line-number="640" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC641" class="react-file-line html-div" data-testid="code-cell" data-line-number="641" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC642" class="react-file-line html-div" data-testid="code-cell" data-line-number="642" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC643" class="react-file-line html-div" data-testid="code-cell" data-line-number="643" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">need_wait_return</span> <span class="pl-c1">||</span> <span class="pl-s1">msg_didany</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC644" class="react-file-line html-div" data-testid="code-cell" data-line-number="644" style="position:relative"> <span class="pl-en">wait_return</span>(TRUE);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC645" class="react-file-line html-div" data-testid="code-cell" data-line-number="645" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC646" class="react-file-line html-div" data-testid="code-cell" data-line-number="646" style="position:relative"> <span class="pl-c1">--</span><span class="pl-s1">recursive</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC647" class="react-file-line html-div" data-testid="code-cell" data-line-number="647" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC648" class="react-file-line html-div" data-testid="code-cell" data-line-number="648" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC649" class="react-file-line html-div" data-testid="code-cell" data-line-number="649" style="position:relative"> <span class="pl-c">// If recursive call opened the shell, return here from the first call</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC650" class="react-file-line html-div" data-testid="code-cell" data-line-number="650" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">gui</span>.<span class="pl-c1">in_use</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC651" class="react-file-line html-div" data-testid="code-cell" data-line-number="651" style="position:relative"> <span class="pl-k">return</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC652" class="react-file-line html-div" data-testid="code-cell" data-line-number="652" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC653" class="react-file-line html-div" data-testid="code-cell" data-line-number="653" style="position:relative"> <span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC654" class="react-file-line html-div" data-testid="code-cell" data-line-number="654" style="position:relative"><span class="pl-c"> * Create the GUI shell.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC655" class="react-file-line html-div" data-testid="code-cell" data-line-number="655" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC656" class="react-file-line html-div" data-testid="code-cell" data-line-number="656" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">in_use</span> <span class="pl-c1">=</span> TRUE; <span class="pl-c">// Must be set after menus have been set up</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC657" class="react-file-line html-div" data-testid="code-cell" data-line-number="657" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">gui_mch_init</span>() <span class="pl-c1">==</span> <span class="pl-c1">FAIL</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC658" class="react-file-line html-div" data-testid="code-cell" data-line-number="658" style="position:relative"> goto <span class="pl-ent">error</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC659" class="react-file-line html-div" data-testid="code-cell" data-line-number="659" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC660" class="react-file-line html-div" data-testid="code-cell" data-line-number="660" style="position:relative"> <span class="pl-c">// Avoid a delay for an error message that was printed in the terminal</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC661" class="react-file-line html-div" data-testid="code-cell" data-line-number="661" style="position:relative"> <span class="pl-c">// where Vim was started.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC662" class="react-file-line html-div" data-testid="code-cell" data-line-number="662" style="position:relative"> <span class="pl-s1">emsg_on_display</span> <span class="pl-c1">=</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC663" class="react-file-line html-div" data-testid="code-cell" data-line-number="663" style="position:relative"> <span class="pl-s1">msg_scrolled</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC664" class="react-file-line html-div" data-testid="code-cell" data-line-number="664" style="position:relative"> <span class="pl-en">clear_sb_text</span>(TRUE);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC665" class="react-file-line html-div" data-testid="code-cell" data-line-number="665" style="position:relative"> <span class="pl-s1">need_wait_return</span> <span class="pl-c1">=</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC666" class="react-file-line html-div" data-testid="code-cell" data-line-number="666" style="position:relative"> <span class="pl-s1">msg_didany</span> <span class="pl-c1">=</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC667" class="react-file-line html-div" data-testid="code-cell" data-line-number="667" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC668" class="react-file-line html-div" data-testid="code-cell" data-line-number="668" style="position:relative"> <span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC669" class="react-file-line html-div" data-testid="code-cell" data-line-number="669" style="position:relative"><span class="pl-c"> * Check validity of any generic resources that may have been loaded.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC670" class="react-file-line html-div" data-testid="code-cell" data-line-number="670" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC671" class="react-file-line html-div" data-testid="code-cell" data-line-number="671" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">gui</span>.<span class="pl-c1">border_width</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">0</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC672" class="react-file-line html-div" data-testid="code-cell" data-line-number="672" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">border_width</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC673" class="react-file-line html-div" data-testid="code-cell" data-line-number="673" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC674" class="react-file-line html-div" data-testid="code-cell" data-line-number="674" style="position:relative"> <span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC675" class="react-file-line html-div" data-testid="code-cell" data-line-number="675" style="position:relative"><span class="pl-c"> * Set up the fonts. First use a font specified with &quot;-fn&quot; or &quot;-font&quot;.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC676" class="react-file-line html-div" data-testid="code-cell" data-line-number="676" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC677" class="react-file-line html-div" data-testid="code-cell" data-line-number="677" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">font_argument</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC678" class="react-file-line html-div" data-testid="code-cell" data-line-number="678" style="position:relative"> <span class="pl-en">set_option_value_give_err</span>((<span class="pl-smi">char_u</span> <span class="pl-c1">*</span>)<span class="pl-s">&quot;gfn&quot;</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC679" class="react-file-line html-div" data-testid="code-cell" data-line-number="679" style="position:relative"> <span class="pl-c1">0L</span>, (<span class="pl-smi">char_u</span> <span class="pl-c1">*</span>)<span class="pl-s1">font_argument</span>, <span class="pl-c1">0</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC680" class="react-file-line html-div" data-testid="code-cell" data-line-number="680" style="position:relative"> <span class="pl-k">if</span> (</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC681" class="react-file-line html-div" data-testid="code-cell" data-line-number="681" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-en">FEAT_XFONTSET</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC682" class="react-file-line html-div" data-testid="code-cell" data-line-number="682" style="position:relative"> (<span class="pl-c1">*</span><span class="pl-s1">p_guifontset</span> <span class="pl-c1">==</span> <span class="pl-c1">NUL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC683" class="react-file-line html-div" data-testid="code-cell" data-line-number="683" style="position:relative"> <span class="pl-c1">||</span> <span class="pl-en">gui_init_font</span>(<span class="pl-s1">p_guifontset</span>, TRUE) <span class="pl-c1">==</span> <span class="pl-c1">FAIL</span>) <span class="pl-c1">&amp;&amp;</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC684" class="react-file-line html-div" data-testid="code-cell" data-line-number="684" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC685" class="react-file-line html-div" data-testid="code-cell" data-line-number="685" style="position:relative"> <span class="pl-en">gui_init_font</span>(<span class="pl-c1">*</span><span class="pl-s1">p_guifont</span> <span class="pl-c1">==</span> <span class="pl-c1">NUL</span> ? <span class="pl-en">hl_get_font_name</span>()</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC686" class="react-file-line html-div" data-testid="code-cell" data-line-number="686" style="position:relative"> : <span class="pl-s1">p_guifont</span>, FALSE) <span class="pl-c1">==</span> <span class="pl-c1">FAIL</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC687" class="react-file-line html-div" data-testid="code-cell" data-line-number="687" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC688" class="react-file-line html-div" data-testid="code-cell" data-line-number="688" style="position:relative"> <span class="pl-en">emsg</span>(<span class="pl-en">_</span>(<span class="pl-s1">e_cannot_start_gui_no_valid_font_found</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC689" class="react-file-line html-div" data-testid="code-cell" data-line-number="689" style="position:relative"> goto <span class="pl-ent">error2</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC690" class="react-file-line html-div" data-testid="code-cell" data-line-number="690" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC691" class="react-file-line html-div" data-testid="code-cell" data-line-number="691" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">gui_get_wide_font</span>() <span class="pl-c1">==</span> <span class="pl-c1">FAIL</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC692" class="react-file-line html-div" data-testid="code-cell" data-line-number="692" style="position:relative"> <span class="pl-en">emsg</span>(<span class="pl-en">_</span>(<span class="pl-s1">e_guifontwide_invalid</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC693" class="react-file-line html-div" data-testid="code-cell" data-line-number="693" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC694" class="react-file-line html-div" data-testid="code-cell" data-line-number="694" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">num_cols</span> <span class="pl-c1">=</span> <span class="pl-s1">Columns</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC695" class="react-file-line html-div" data-testid="code-cell" data-line-number="695" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">num_rows</span> <span class="pl-c1">=</span> <span class="pl-s1">Rows</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC696" class="react-file-line html-div" data-testid="code-cell" data-line-number="696" style="position:relative"> <span class="pl-en">gui_reset_scroll_region</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC697" class="react-file-line html-div" data-testid="code-cell" data-line-number="697" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC698" class="react-file-line html-div" data-testid="code-cell" data-line-number="698" style="position:relative"> <span class="pl-c">// Create initial scrollbars</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC699" class="react-file-line html-div" data-testid="code-cell" data-line-number="699" style="position:relative"> <span class="pl-en">FOR_ALL_TAB_WINDOWS</span>(<span class="pl-s1">tp</span>, <span class="pl-s1">wp</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC700" class="react-file-line html-div" data-testid="code-cell" data-line-number="700" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC701" class="react-file-line html-div" data-testid="code-cell" data-line-number="701" style="position:relative"> <span class="pl-en">gui_create_scrollbar</span>(<span class="pl-c1">&amp;</span><span class="pl-s1">wp</span><span class="pl-c1">-&gt;</span><span class="pl-c1">w_scrollbars</span>[<span class="pl-c1">SBAR_LEFT</span>], <span class="pl-c1">SBAR_LEFT</span>, <span class="pl-s1">wp</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC702" class="react-file-line html-div" data-testid="code-cell" data-line-number="702" style="position:relative"> <span class="pl-en">gui_create_scrollbar</span>(<span class="pl-c1">&amp;</span><span class="pl-s1">wp</span><span class="pl-c1">-&gt;</span><span class="pl-c1">w_scrollbars</span>[<span class="pl-c1">SBAR_RIGHT</span>], <span class="pl-c1">SBAR_RIGHT</span>, <span class="pl-s1">wp</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC703" class="react-file-line html-div" data-testid="code-cell" data-line-number="703" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC704" class="react-file-line html-div" data-testid="code-cell" data-line-number="704" style="position:relative"> <span class="pl-en">gui_create_scrollbar</span>(<span class="pl-c1">&amp;</span><span class="pl-s1">gui</span>.<span class="pl-c1">bottom_sbar</span>, <span class="pl-c1">SBAR_BOTTOM</span>, <span class="pl-c1">NULL</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC705" class="react-file-line html-div" data-testid="code-cell" data-line-number="705" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC706" class="react-file-line html-div" data-testid="code-cell" data-line-number="706" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_MENU</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC707" class="react-file-line html-div" data-testid="code-cell" data-line-number="707" style="position:relative"> <span class="pl-en">gui_create_initial_menus</span>(<span class="pl-s1">root_menu</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC708" class="react-file-line html-div" data-testid="code-cell" data-line-number="708" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC709" class="react-file-line html-div" data-testid="code-cell" data-line-number="709" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_SIGN_ICONS</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC710" class="react-file-line html-div" data-testid="code-cell" data-line-number="710" style="position:relative"> <span class="pl-en">sign_gui_started</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC711" class="react-file-line html-div" data-testid="code-cell" data-line-number="711" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC712" class="react-file-line html-div" data-testid="code-cell" data-line-number="712" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC713" class="react-file-line html-div" data-testid="code-cell" data-line-number="713" style="position:relative"> <span class="pl-c">// Configure the desired menu and scrollbars</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC714" class="react-file-line html-div" data-testid="code-cell" data-line-number="714" style="position:relative"> <span class="pl-en">gui_init_which_components</span>(<span class="pl-c1">NULL</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC715" class="react-file-line html-div" data-testid="code-cell" data-line-number="715" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC716" class="react-file-line html-div" data-testid="code-cell" data-line-number="716" style="position:relative"> <span class="pl-c">// All components of the GUI have been created now</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC717" class="react-file-line html-div" data-testid="code-cell" data-line-number="717" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">shell_created</span> <span class="pl-c1">=</span> TRUE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC718" class="react-file-line html-div" data-testid="code-cell" data-line-number="718" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC719" class="react-file-line html-div" data-testid="code-cell" data-line-number="719" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_GUI_MSWIN</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC720" class="react-file-line html-div" data-testid="code-cell" data-line-number="720" style="position:relative"> <span class="pl-c">// Set the shell size, adjusted for the screen size. For GTK this only</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC721" class="react-file-line html-div" data-testid="code-cell" data-line-number="721" style="position:relative"> <span class="pl-c">// works after the shell has been opened, thus it is further down.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC722" class="react-file-line html-div" data-testid="code-cell" data-line-number="722" style="position:relative"> <span class="pl-c">// If the window is already maximized (e.g. when --windowid is passed in),</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC723" class="react-file-line html-div" data-testid="code-cell" data-line-number="723" style="position:relative"> <span class="pl-c">// we want to use the system-provided dimensions by passing FALSE to</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC724" class="react-file-line html-div" data-testid="code-cell" data-line-number="724" style="position:relative"> <span class="pl-c">// mustset. Otherwise, we want to initialize with the default rows/columns.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC725" class="react-file-line html-div" data-testid="code-cell" data-line-number="725" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">gui_mch_maximized</span>())</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC726" class="react-file-line html-div" data-testid="code-cell" data-line-number="726" style="position:relative"> <span class="pl-en">gui_set_shellsize</span>(FALSE, TRUE, <span class="pl-c1">RESIZE_BOTH</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC727" class="react-file-line html-div" data-testid="code-cell" data-line-number="727" style="position:relative"> <span class="pl-k">else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC728" class="react-file-line html-div" data-testid="code-cell" data-line-number="728" style="position:relative"> <span class="pl-en">gui_set_shellsize</span>(TRUE, TRUE, <span class="pl-c1">RESIZE_BOTH</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC729" class="react-file-line html-div" data-testid="code-cell" data-line-number="729" style="position:relative"><span class="pl-k">#else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC730" class="react-file-line html-div" data-testid="code-cell" data-line-number="730" style="position:relative"><span class="pl-k"># ifndef</span> <span class="pl-c1">FEAT_GUI_GTK</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC731" class="react-file-line html-div" data-testid="code-cell" data-line-number="731" style="position:relative"> <span class="pl-en">gui_set_shellsize</span>(FALSE, TRUE, <span class="pl-c1">RESIZE_BOTH</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC732" class="react-file-line html-div" data-testid="code-cell" data-line-number="732" style="position:relative"><span class="pl-k"># endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC733" class="react-file-line html-div" data-testid="code-cell" data-line-number="733" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC734" class="react-file-line html-div" data-testid="code-cell" data-line-number="734" style="position:relative"><span class="pl-k">#if</span> defined(<span class="pl-c1">FEAT_GUI_MOTIF</span>) <span class="pl-c1">&amp;&amp;</span> defined(<span class="pl-c1">FEAT_MENU</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC735" class="react-file-line html-div" data-testid="code-cell" data-line-number="735" style="position:relative"> <span class="pl-c">// Need to set the size of the menubar after all the menus have been</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC736" class="react-file-line html-div" data-testid="code-cell" data-line-number="736" style="position:relative"> <span class="pl-c">// created.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC737" class="react-file-line html-div" data-testid="code-cell" data-line-number="737" style="position:relative"> <span class="pl-en">gui_mch_compute_menu_height</span>((<span class="pl-smi">Widget</span>)<span class="pl-c1">0</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC738" class="react-file-line html-div" data-testid="code-cell" data-line-number="738" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC739" class="react-file-line html-div" data-testid="code-cell" data-line-number="739" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC740" class="react-file-line html-div" data-testid="code-cell" data-line-number="740" style="position:relative"> <span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC741" class="react-file-line html-div" data-testid="code-cell" data-line-number="741" style="position:relative"><span class="pl-c"> * Actually open the GUI shell.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC742" class="react-file-line html-div" data-testid="code-cell" data-line-number="742" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC743" class="react-file-line html-div" data-testid="code-cell" data-line-number="743" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">gui_mch_open</span>() <span class="pl-c1">!=</span> <span class="pl-c1">FAIL</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC744" class="react-file-line html-div" data-testid="code-cell" data-line-number="744" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC745" class="react-file-line html-div" data-testid="code-cell" data-line-number="745" style="position:relative"> <span class="pl-en">maketitle</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC746" class="react-file-line html-div" data-testid="code-cell" data-line-number="746" style="position:relative"> <span class="pl-en">resettitle</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC747" class="react-file-line html-div" data-testid="code-cell" data-line-number="747" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC748" class="react-file-line html-div" data-testid="code-cell" data-line-number="748" style="position:relative"> <span class="pl-en">init_gui_options</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC749" class="react-file-line html-div" data-testid="code-cell" data-line-number="749" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_ARABIC</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC750" class="react-file-line html-div" data-testid="code-cell" data-line-number="750" style="position:relative"> <span class="pl-c">// Our GUI can&#039;t do bidi.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC751" class="react-file-line html-div" data-testid="code-cell" data-line-number="751" style="position:relative"> <span class="pl-s1">p_tbidi</span> <span class="pl-c1">=</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC752" class="react-file-line html-div" data-testid="code-cell" data-line-number="752" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC753" class="react-file-line html-div" data-testid="code-cell" data-line-number="753" style="position:relative"><span class="pl-k">#if</span> defined(<span class="pl-c1">FEAT_GUI_GTK</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC754" class="react-file-line html-div" data-testid="code-cell" data-line-number="754" style="position:relative"> <span class="pl-c">// Give GTK+ a chance to put all widget&#039;s into place.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC755" class="react-file-line html-div" data-testid="code-cell" data-line-number="755" style="position:relative"> <span class="pl-en">gui_mch_update</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC756" class="react-file-line html-div" data-testid="code-cell" data-line-number="756" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC757" class="react-file-line html-div" data-testid="code-cell" data-line-number="757" style="position:relative"><span class="pl-k"># ifdef</span> <span class="pl-c1">FEAT_MENU</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC758" class="react-file-line html-div" data-testid="code-cell" data-line-number="758" style="position:relative"> <span class="pl-c">// If there is no &#039;m&#039; in &#039;guioptions&#039; we need to remove the menu now.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC759" class="react-file-line html-div" data-testid="code-cell" data-line-number="759" style="position:relative"> <span class="pl-c">// It was still there to make F10 work.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC760" class="react-file-line html-div" data-testid="code-cell" data-line-number="760" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">vim_strchr</span>(<span class="pl-s1">p_go</span>, <span class="pl-c1">GO_MENUS</span>) <span class="pl-c1">==</span> <span class="pl-c1">NULL</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC761" class="react-file-line html-div" data-testid="code-cell" data-line-number="761" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC762" class="react-file-line html-div" data-testid="code-cell" data-line-number="762" style="position:relative"> <span class="pl-c1">--</span><span class="pl-s1">gui</span>.<span class="pl-c1">starting</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC763" class="react-file-line html-div" data-testid="code-cell" data-line-number="763" style="position:relative"> <span class="pl-en">gui_mch_enable_menu</span>(FALSE);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC764" class="react-file-line html-div" data-testid="code-cell" data-line-number="764" style="position:relative"> <span class="pl-c1">++</span><span class="pl-s1">gui</span>.<span class="pl-c1">starting</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC765" class="react-file-line html-div" data-testid="code-cell" data-line-number="765" style="position:relative"> <span class="pl-en">gui_mch_update</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC766" class="react-file-line html-div" data-testid="code-cell" data-line-number="766" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC767" class="react-file-line html-div" data-testid="code-cell" data-line-number="767" style="position:relative"><span class="pl-k"># endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC768" class="react-file-line html-div" data-testid="code-cell" data-line-number="768" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC769" class="react-file-line html-div" data-testid="code-cell" data-line-number="769" style="position:relative"> <span class="pl-c">// Now make sure the shell fits on the screen.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC770" class="react-file-line html-div" data-testid="code-cell" data-line-number="770" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">gui_mch_maximized</span>())</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC771" class="react-file-line html-div" data-testid="code-cell" data-line-number="771" style="position:relative"> <span class="pl-en">gui_set_shellsize</span>(FALSE, TRUE, <span class="pl-c1">RESIZE_BOTH</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC772" class="react-file-line html-div" data-testid="code-cell" data-line-number="772" style="position:relative"> <span class="pl-k">else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC773" class="react-file-line html-div" data-testid="code-cell" data-line-number="773" style="position:relative"> <span class="pl-en">gui_set_shellsize</span>(TRUE, TRUE, <span class="pl-c1">RESIZE_BOTH</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC774" class="react-file-line html-div" data-testid="code-cell" data-line-number="774" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC775" class="react-file-line html-div" data-testid="code-cell" data-line-number="775" style="position:relative"> <span class="pl-c">// When &#039;lines&#039; was set while starting up the topframe may have to be</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC776" class="react-file-line html-div" data-testid="code-cell" data-line-number="776" style="position:relative"> <span class="pl-c">// resized.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC777" class="react-file-line html-div" data-testid="code-cell" data-line-number="777" style="position:relative"> <span class="pl-en">win_new_shellsize</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC778" class="react-file-line html-div" data-testid="code-cell" data-line-number="778" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC779" class="react-file-line html-div" data-testid="code-cell" data-line-number="779" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_BEVAL_GUI</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC780" class="react-file-line html-div" data-testid="code-cell" data-line-number="780" style="position:relative"> <span class="pl-c">// Always create the Balloon Evaluation area, but disable it when</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC781" class="react-file-line html-div" data-testid="code-cell" data-line-number="781" style="position:relative"> <span class="pl-c">// &#039;ballooneval&#039; is off.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC782" class="react-file-line html-div" data-testid="code-cell" data-line-number="782" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">balloonEval</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC783" class="react-file-line html-div" data-testid="code-cell" data-line-number="783" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC784" class="react-file-line html-div" data-testid="code-cell" data-line-number="784" style="position:relative"><span class="pl-k"># ifdef</span> <span class="pl-c1">FEAT_VARTABS</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC785" class="react-file-line html-div" data-testid="code-cell" data-line-number="785" style="position:relative"> <span class="pl-en">vim_free</span>(<span class="pl-s1">balloonEval</span><span class="pl-c1">-&gt;</span><span class="pl-c1">vts</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC786" class="react-file-line html-div" data-testid="code-cell" data-line-number="786" style="position:relative"><span class="pl-k"># endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC787" class="react-file-line html-div" data-testid="code-cell" data-line-number="787" style="position:relative"> <span class="pl-en">vim_free</span>(<span class="pl-s1">balloonEval</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC788" class="react-file-line html-div" data-testid="code-cell" data-line-number="788" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC789" class="react-file-line html-div" data-testid="code-cell" data-line-number="789" style="position:relative"> <span class="pl-s1">balloonEvalForTerm</span> <span class="pl-c1">=</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC790" class="react-file-line html-div" data-testid="code-cell" data-line-number="790" style="position:relative"><span class="pl-k"># ifdef</span> <span class="pl-c1">FEAT_GUI_GTK</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC791" class="react-file-line html-div" data-testid="code-cell" data-line-number="791" style="position:relative"> <span class="pl-s1">balloonEval</span> <span class="pl-c1">=</span> <span class="pl-en">gui_mch_create_beval_area</span>(<span class="pl-s1">gui</span>.<span class="pl-c1">drawarea</span>, <span class="pl-c1">NULL</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC792" class="react-file-line html-div" data-testid="code-cell" data-line-number="792" style="position:relative"> <span class="pl-c1">&amp;</span><span class="pl-s1">general_beval_cb</span>, <span class="pl-c1">NULL</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC793" class="react-file-line html-div" data-testid="code-cell" data-line-number="793" style="position:relative"><span class="pl-k"># else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC794" class="react-file-line html-div" data-testid="code-cell" data-line-number="794" style="position:relative"><span class="pl-k"># if</span> defined(<span class="pl-c1">FEAT_GUI_MOTIF</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC795" class="react-file-line html-div" data-testid="code-cell" data-line-number="795" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC796" class="react-file-line html-div" data-testid="code-cell" data-line-number="796" style="position:relative"> <span class="pl-k">extern</span> <span class="pl-smi">Widget</span> <span class="pl-s1">textArea</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC797" class="react-file-line html-div" data-testid="code-cell" data-line-number="797" style="position:relative"> <span class="pl-s1">balloonEval</span> <span class="pl-c1">=</span> <span class="pl-en">gui_mch_create_beval_area</span>(<span class="pl-s1">textArea</span>, <span class="pl-c1">NULL</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC798" class="react-file-line html-div" data-testid="code-cell" data-line-number="798" style="position:relative"> <span class="pl-c1">&amp;</span><span class="pl-s1">general_beval_cb</span>, <span class="pl-c1">NULL</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC799" class="react-file-line html-div" data-testid="code-cell" data-line-number="799" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC800" class="react-file-line html-div" data-testid="code-cell" data-line-number="800" style="position:relative"><span class="pl-k"># else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC801" class="react-file-line html-div" data-testid="code-cell" data-line-number="801" style="position:relative"><span class="pl-k"># ifdef</span> <span class="pl-c1">FEAT_GUI_MSWIN</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC802" class="react-file-line html-div" data-testid="code-cell" data-line-number="802" style="position:relative"> <span class="pl-s1">balloonEval</span> <span class="pl-c1">=</span> <span class="pl-en">gui_mch_create_beval_area</span>(<span class="pl-c1">NULL</span>, <span class="pl-c1">NULL</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC803" class="react-file-line html-div" data-testid="code-cell" data-line-number="803" style="position:relative"> <span class="pl-c1">&amp;</span><span class="pl-s1">general_beval_cb</span>, <span class="pl-c1">NULL</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC804" class="react-file-line html-div" data-testid="code-cell" data-line-number="804" style="position:relative"><span class="pl-k"># endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC805" class="react-file-line html-div" data-testid="code-cell" data-line-number="805" style="position:relative"><span class="pl-k"># endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC806" class="react-file-line html-div" data-testid="code-cell" data-line-number="806" style="position:relative"><span class="pl-k"># endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC807" class="react-file-line html-div" data-testid="code-cell" data-line-number="807" style="position:relative"> <span class="pl-k">if</span> (!<span class="pl-s1">p_beval</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC808" class="react-file-line html-div" data-testid="code-cell" data-line-number="808" style="position:relative"> <span class="pl-en">gui_mch_disable_beval_area</span>(<span class="pl-s1">balloonEval</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC809" class="react-file-line html-div" data-testid="code-cell" data-line-number="809" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC810" class="react-file-line html-div" data-testid="code-cell" data-line-number="810" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC811" class="react-file-line html-div" data-testid="code-cell" data-line-number="811" style="position:relative"><span class="pl-k">#ifndef</span> <span class="pl-c1">FEAT_GUI_MSWIN</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC812" class="react-file-line html-div" data-testid="code-cell" data-line-number="812" style="position:relative"> <span class="pl-c">// In the GUI modifiers are prepended to keys.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC813" class="react-file-line html-div" data-testid="code-cell" data-line-number="813" style="position:relative"> <span class="pl-c">// Don&#039;t do this for MS-Windows yet, it sends CTRL-K without the</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC814" class="react-file-line html-div" data-testid="code-cell" data-line-number="814" style="position:relative"> <span class="pl-c">// modifier.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC815" class="react-file-line html-div" data-testid="code-cell" data-line-number="815" style="position:relative"> <span class="pl-s1">seenModifyOtherKeys</span> <span class="pl-c1">=</span> TRUE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC816" class="react-file-line html-div" data-testid="code-cell" data-line-number="816" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC817" class="react-file-line html-div" data-testid="code-cell" data-line-number="817" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC818" class="react-file-line html-div" data-testid="code-cell" data-line-number="818" style="position:relative"><span class="pl-k">#if</span> defined(<span class="pl-c1">FEAT_XIM</span>) <span class="pl-c1">&amp;&amp;</span> defined(<span class="pl-c1">FEAT_GUI_GTK</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC819" class="react-file-line html-div" data-testid="code-cell" data-line-number="819" style="position:relative"> <span class="pl-k">if</span> (!<span class="pl-en">im_xim_isvalid_imactivate</span>())</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC820" class="react-file-line html-div" data-testid="code-cell" data-line-number="820" style="position:relative"> <span class="pl-en">emsg</span>(<span class="pl-en">_</span>(<span class="pl-s1">e_value_of_imactivatekey_is_invalid</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC821" class="react-file-line html-div" data-testid="code-cell" data-line-number="821" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC822" class="react-file-line html-div" data-testid="code-cell" data-line-number="822" style="position:relative"> <span class="pl-c">// When &#039;cmdheight&#039; was set during startup it may not have taken</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC823" class="react-file-line html-div" data-testid="code-cell" data-line-number="823" style="position:relative"> <span class="pl-c">// effect yet.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC824" class="react-file-line html-div" data-testid="code-cell" data-line-number="824" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">p_ch</span> <span class="pl-c1">!=</span> <span class="pl-c1">1L</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC825" class="react-file-line html-div" data-testid="code-cell" data-line-number="825" style="position:relative"> <span class="pl-en">command_height</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC826" class="react-file-line html-div" data-testid="code-cell" data-line-number="826" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC827" class="react-file-line html-div" data-testid="code-cell" data-line-number="827" style="position:relative"> <span class="pl-k">return</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC828" class="react-file-line html-div" data-testid="code-cell" data-line-number="828" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC829" class="react-file-line html-div" data-testid="code-cell" data-line-number="829" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC830" class="react-file-line html-div" data-testid="code-cell" data-line-number="830" style="position:relative"><span class="pl-ent">error2</span>:</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC831" class="react-file-line html-div" data-testid="code-cell" data-line-number="831" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-smi">FEAT_GUI_X11</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC832" class="react-file-line html-div" data-testid="code-cell" data-line-number="832" style="position:relative"> <span class="pl-c">// undo gui_mch_init()</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC833" class="react-file-line html-div" data-testid="code-cell" data-line-number="833" style="position:relative"> <span class="pl-en">gui_mch_uninit</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC834" class="react-file-line html-div" data-testid="code-cell" data-line-number="834" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC835" class="react-file-line html-div" data-testid="code-cell" data-line-number="835" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC836" class="react-file-line html-div" data-testid="code-cell" data-line-number="836" style="position:relative"><span class="pl-ent">error</span>:</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC837" class="react-file-line html-div" data-testid="code-cell" data-line-number="837" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">in_use</span> <span class="pl-c1">=</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC838" class="react-file-line html-div" data-testid="code-cell" data-line-number="838" style="position:relative"> <span class="pl-en">clip_init</span>(FALSE);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC839" class="react-file-line html-div" data-testid="code-cell" data-line-number="839" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC840" class="react-file-line html-div" data-testid="code-cell" data-line-number="840" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC841" class="react-file-line html-div" data-testid="code-cell" data-line-number="841" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC842" class="react-file-line html-div" data-testid="code-cell" data-line-number="842" style="position:relative"> <span class="pl-smi">void</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC843" class="react-file-line html-div" data-testid="code-cell" data-line-number="843" style="position:relative"><span class="pl-en">gui_exit</span>(<span class="pl-smi">int</span> <span class="pl-s1">rc</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC844" class="react-file-line html-div" data-testid="code-cell" data-line-number="844" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC845" class="react-file-line html-div" data-testid="code-cell" data-line-number="845" style="position:relative"> <span class="pl-c">// don&#039;t free the fonts, it leads to a BUS error</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC846" class="react-file-line html-div" data-testid="code-cell" data-line-number="846" style="position:relative"> <span class="pl-c">// richard@whitequeen.com Jul 99</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC847" class="react-file-line html-div" data-testid="code-cell" data-line-number="847" style="position:relative"> <span class="pl-en">free_highlight_fonts</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC848" class="react-file-line html-div" data-testid="code-cell" data-line-number="848" style="position:relative"> <span class="pl-s1">gui</span>.<span class="pl-c1">in_use</span> <span class="pl-c1">=</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC849" class="react-file-line html-div" data-testid="code-cell" data-line-number="849" style="position:relative"> <span class="pl-en">gui_mch_exit</span>(<span class="pl-s1">rc</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC850" class="react-file-line html-div" data-testid="code-cell" data-line-number="850" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC851" class="react-file-line html-div" data-testid="code-cell" data-line-number="851" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC852" class="react-file-line html-div" data-testid="code-cell" data-line-number="852" style="position:relative"><span class="pl-k">#if</span> defined(<span class="pl-c1">FEAT_GUI_GTK</span>) <span class="pl-c1">||</span> defined(<span class="pl-c1">FEAT_GUI_X11</span>) <span class="pl-c1">||</span> defined(<span class="pl-c1">FEAT_GUI_MSWIN</span>) \</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC853" class="react-file-line html-div" data-testid="code-cell" data-line-number="853" style="position:relative"> <span class="pl-c1">||</span> defined(<span class="pl-c1">FEAT_GUI_PHOTON</span>) <span class="pl-c1">||</span> defined(<span class="pl-c1">PROTO</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC854" class="react-file-line html-div" data-testid="code-cell" data-line-number="854" style="position:relative"><span class="pl-k"># define</span> <span class="pl-c1">NEED_GUI_UPDATE_SCREEN</span> 1</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC855" class="react-file-line html-div" data-testid="code-cell" data-line-number="855" style="position:relative"><span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC856" class="react-file-line html-div" data-testid="code-cell" data-line-number="856" style="position:relative"><span class="pl-c"> * Called when the GUI shell is closed by the user. If there are no changed</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC857" class="react-file-line html-div" data-testid="code-cell" data-line-number="857" style="position:relative"><span class="pl-c"> * files Vim exits, otherwise there will be a dialog to ask the user what to</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC858" class="react-file-line html-div" data-testid="code-cell" data-line-number="858" style="position:relative"><span class="pl-c"> * do.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC859" class="react-file-line html-div" data-testid="code-cell" data-line-number="859" style="position:relative"><span class="pl-c"> * When this function returns, Vim should NOT exit!</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC860" class="react-file-line html-div" data-testid="code-cell" data-line-number="860" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC861" class="react-file-line html-div" data-testid="code-cell" data-line-number="861" style="position:relative"> <span class="pl-smi">void</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC862" class="react-file-line html-div" data-testid="code-cell" data-line-number="862" style="position:relative"><span class="pl-en">gui_shell_closed</span>(<span class="pl-smi">void</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC863" class="react-file-line html-div" data-testid="code-cell" data-line-number="863" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC864" class="react-file-line html-div" data-testid="code-cell" data-line-number="864" style="position:relative"> <span class="pl-smi">cmdmod_T</span> <span class="pl-s1">save_cmdmod</span> <span class="pl-c1">=</span> <span class="pl-s1">cmdmod</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC865" class="react-file-line html-div" data-testid="code-cell" data-line-number="865" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC866" class="react-file-line html-div" data-testid="code-cell" data-line-number="866" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">before_quit_autocmds</span>(<span class="pl-s1">curwin</span>, TRUE, FALSE))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC867" class="react-file-line html-div" data-testid="code-cell" data-line-number="867" style="position:relative"> <span class="pl-k">return</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC868" class="react-file-line html-div" data-testid="code-cell" data-line-number="868" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC869" class="react-file-line html-div" data-testid="code-cell" data-line-number="869" style="position:relative"> <span class="pl-c">// Only exit when there are no changed files</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC870" class="react-file-line html-div" data-testid="code-cell" data-line-number="870" style="position:relative"> <span class="pl-s1">exiting</span> <span class="pl-c1">=</span> TRUE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC871" class="react-file-line html-div" data-testid="code-cell" data-line-number="871" style="position:relative"><span class="pl-k"># ifdef</span> <span class="pl-c1">FEAT_BROWSE</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC872" class="react-file-line html-div" data-testid="code-cell" data-line-number="872" style="position:relative"> <span class="pl-s1">cmdmod</span>.<span class="pl-c1">cmod_flags</span> |= <span class="pl-c1">CMOD_BROWSE</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC873" class="react-file-line html-div" data-testid="code-cell" data-line-number="873" style="position:relative"><span class="pl-k"># endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC874" class="react-file-line html-div" data-testid="code-cell" data-line-number="874" style="position:relative"><span class="pl-k"># if</span> defined(<span class="pl-c1">FEAT_GUI_DIALOG</span>) <span class="pl-c1">||</span> defined(<span class="pl-c1">FEAT_CON_DIALOG</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC875" class="react-file-line html-div" data-testid="code-cell" data-line-number="875" style="position:relative"> <span class="pl-s1">cmdmod</span>.<span class="pl-c1">cmod_flags</span> |= <span class="pl-c1">CMOD_CONFIRM</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC876" class="react-file-line html-div" data-testid="code-cell" data-line-number="876" style="position:relative"><span class="pl-k"># endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC877" class="react-file-line html-div" data-testid="code-cell" data-line-number="877" style="position:relative"> <span class="pl-c">// If there are changed buffers, present the user with a dialog if</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC878" class="react-file-line html-div" data-testid="code-cell" data-line-number="878" style="position:relative"> <span class="pl-c">// possible, otherwise give an error message.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC879" class="react-file-line html-div" data-testid="code-cell" data-line-number="879" style="position:relative"> <span class="pl-k">if</span> (!<span class="pl-en">check_changed_any</span>(FALSE, FALSE))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC880" class="react-file-line html-div" data-testid="code-cell" data-line-number="880" style="position:relative"> <span class="pl-en">getout</span>(<span class="pl-c1">0</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC881" class="react-file-line html-div" data-testid="code-cell" data-line-number="881" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC882" class="react-file-line html-div" data-testid="code-cell" data-line-number="882" style="position:relative"> <span class="pl-s1">exiting</span> <span class="pl-c1">=</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC883" class="react-file-line html-div" data-testid="code-cell" data-line-number="883" style="position:relative"> <span class="pl-s1">cmdmod</span> <span class="pl-c1">=</span> <span class="pl-s1">save_cmdmod</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC884" class="react-file-line html-div" data-testid="code-cell" data-line-number="884" style="position:relative"> <span class="pl-en">gui_update_screen</span>(); <span class="pl-c">// redraw, window may show changed buffer</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC885" class="react-file-line html-div" data-testid="code-cell" data-line-number="885" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC886" class="react-file-line html-div" data-testid="code-cell" data-line-number="886" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC887" class="react-file-line html-div" data-testid="code-cell" data-line-number="887" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC888" class="react-file-line html-div" data-testid="code-cell" data-line-number="888" style="position:relative"><span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC889" class="react-file-line html-div" data-testid="code-cell" data-line-number="889" style="position:relative"><span class="pl-c"> * Set the font. &quot;font_list&quot; is a comma separated list of font names. The</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC890" class="react-file-line html-div" data-testid="code-cell" data-line-number="890" style="position:relative"><span class="pl-c"> * first font name that works is used. If none is found, use the default</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC891" class="react-file-line html-div" data-testid="code-cell" data-line-number="891" style="position:relative"><span class="pl-c"> * font.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC892" class="react-file-line html-div" data-testid="code-cell" data-line-number="892" style="position:relative"><span class="pl-c"> * If &quot;fontset&quot; is TRUE, the &quot;font_list&quot; is used as one name for the fontset.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC893" class="react-file-line html-div" data-testid="code-cell" data-line-number="893" style="position:relative"><span class="pl-c"> * Return OK when able to set the font. When it failed FAIL is returned and</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC894" class="react-file-line html-div" data-testid="code-cell" data-line-number="894" style="position:relative"><span class="pl-c"> * the fonts are unchanged.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC895" class="react-file-line html-div" data-testid="code-cell" data-line-number="895" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC896" class="react-file-line html-div" data-testid="code-cell" data-line-number="896" style="position:relative"> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC897" class="react-file-line html-div" data-testid="code-cell" data-line-number="897" style="position:relative"><span class="pl-en">gui_init_font</span>(<span class="pl-smi">char_u</span> <span class="pl-c1">*</span><span class="pl-s1">font_list</span>, <span class="pl-smi">int</span> <span class="pl-s1">fontset</span> <span class="pl-c1">UNUSED</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC898" class="react-file-line html-div" data-testid="code-cell" data-line-number="898" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC899" class="react-file-line html-div" data-testid="code-cell" data-line-number="899" style="position:relative"><span class="pl-k">#define</span> <span class="pl-c1">FONTLEN</span> 320</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC900" class="react-file-line html-div" data-testid="code-cell" data-line-number="900" style="position:relative"> <span class="pl-smi">char_u</span> <span class="pl-s1">font_name</span>[<span class="pl-c1">FONTLEN</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC901" class="react-file-line html-div" data-testid="code-cell" data-line-number="901" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">font_list_empty</span> <span class="pl-c1">=</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC902" class="react-file-line html-div" data-testid="code-cell" data-line-number="902" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">ret</span> <span class="pl-c1">=</span> <span class="pl-c1">FAIL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC903" class="react-file-line html-div" data-testid="code-cell" data-line-number="903" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC904" class="react-file-line html-div" data-testid="code-cell" data-line-number="904" style="position:relative"> <span class="pl-k">if</span> (!<span class="pl-s1">gui</span>.<span class="pl-c1">in_use</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC905" class="react-file-line html-div" data-testid="code-cell" data-line-number="905" style="position:relative"> <span class="pl-k">return</span> <span class="pl-c1">FAIL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC906" class="react-file-line html-div" data-testid="code-cell" data-line-number="906" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC907" class="react-file-line html-div" data-testid="code-cell" data-line-number="907" style="position:relative"> <span class="pl-s1">font_name</span>[<span class="pl-c1">0</span>] <span class="pl-c1">=</span> <span class="pl-c1">NUL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC908" class="react-file-line html-div" data-testid="code-cell" data-line-number="908" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-c1">*</span><span class="pl-s1">font_list</span> <span class="pl-c1">==</span> <span class="pl-c1">NUL</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC909" class="react-file-line html-div" data-testid="code-cell" data-line-number="909" style="position:relative"> <span class="pl-s1">font_list_empty</span> <span class="pl-c1">=</span> TRUE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC910" class="react-file-line html-div" data-testid="code-cell" data-line-number="910" style="position:relative"> <span class="pl-k">else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC911" class="react-file-line html-div" data-testid="code-cell" data-line-number="911" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC912" class="react-file-line html-div" data-testid="code-cell" data-line-number="912" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_XFONTSET</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC913" class="react-file-line html-div" data-testid="code-cell" data-line-number="913" style="position:relative"> <span class="pl-c">// When using a fontset, the whole list of fonts is one name.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC914" class="react-file-line html-div" data-testid="code-cell" data-line-number="914" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">fontset</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC915" class="react-file-line html-div" data-testid="code-cell" data-line-number="915" style="position:relative"> <span class="pl-s1">ret</span> <span class="pl-c1">=</span> <span class="pl-en">gui_mch_init_font</span>(<span class="pl-s1">font_list</span>, TRUE);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC916" class="react-file-line html-div" data-testid="code-cell" data-line-number="916" style="position:relative"> <span class="pl-k">else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC917" class="react-file-line html-div" data-testid="code-cell" data-line-number="917" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC918" class="react-file-line html-div" data-testid="code-cell" data-line-number="918" style="position:relative"> <span class="pl-k">while</span> (<span class="pl-c1">*</span><span class="pl-s1">font_list</span> <span class="pl-c1">!=</span> <span class="pl-c1">NUL</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC919" class="react-file-line html-div" data-testid="code-cell" data-line-number="919" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC920" class="react-file-line html-div" data-testid="code-cell" data-line-number="920" style="position:relative"> <span class="pl-c">// Isolate one comma separated font name.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC921" class="react-file-line html-div" data-testid="code-cell" data-line-number="921" style="position:relative"> (<span class="pl-smi">void</span>)<span class="pl-en">copy_option_part</span>(<span class="pl-c1">&amp;</span><span class="pl-s1">font_list</span>, <span class="pl-s1">font_name</span>, <span class="pl-c1">FONTLEN</span>, <span class="pl-s">&quot;,&quot;</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC922" class="react-file-line html-div" data-testid="code-cell" data-line-number="922" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC923" class="react-file-line html-div" data-testid="code-cell" data-line-number="923" style="position:relative"> <span class="pl-c">// Careful!!! The Win32 version of gui_mch_init_font(), when</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC924" class="react-file-line html-div" data-testid="code-cell" data-line-number="924" style="position:relative"> <span class="pl-c">// called with &quot;*&quot; will change p_guifont to the selected font</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC925" class="react-file-line html-div" data-testid="code-cell" data-line-number="925" style="position:relative"> <span class="pl-c">// name, which frees the old value. This makes font_list</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC926" class="react-file-line html-div" data-testid="code-cell" data-line-number="926" style="position:relative"> <span class="pl-c">// invalid. Thus when OK is returned here, font_list must no</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC927" class="react-file-line html-div" data-testid="code-cell" data-line-number="927" style="position:relative"> <span class="pl-c">// longer be used!</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC928" class="react-file-line html-div" data-testid="code-cell" data-line-number="928" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">gui_mch_init_font</span>(<span class="pl-s1">font_name</span>, FALSE) <span class="pl-c1">==</span> <span class="pl-c1">OK</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC929" class="react-file-line html-div" data-testid="code-cell" data-line-number="929" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC930" class="react-file-line html-div" data-testid="code-cell" data-line-number="930" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">USE_SET_GUIFONTWIDE</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC931" class="react-file-line html-div" data-testid="code-cell" data-line-number="931" style="position:relative"> <span class="pl-c">// If it&#039;s a Unicode font, try setting &#039;guifontwide&#039; to a</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC932" class="react-file-line html-div" data-testid="code-cell" data-line-number="932" style="position:relative"> <span class="pl-c">// similar double-width font.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC933" class="react-file-line html-div" data-testid="code-cell" data-line-number="933" style="position:relative"> <span class="pl-k">if</span> ((<span class="pl-s1">p_guifontwide</span> <span class="pl-c1">==</span> <span class="pl-c1">NULL</span> <span class="pl-c1">||</span> <span class="pl-c1">*</span><span class="pl-s1">p_guifontwide</span> <span class="pl-c1">==</span> <span class="pl-c1">NUL</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC934" class="react-file-line html-div" data-testid="code-cell" data-line-number="934" style="position:relative"> <span class="pl-c1">&amp;&amp;</span> <span class="pl-en">strstr</span>((<span class="pl-smi">char</span> <span class="pl-c1">*</span>)<span class="pl-s1">font_name</span>, <span class="pl-s">&quot;10646&quot;</span>) <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC935" class="react-file-line html-div" data-testid="code-cell" data-line-number="935" style="position:relative"> <span class="pl-en">set_guifontwide</span>(<span class="pl-s1">font_name</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC936" class="react-file-line html-div" data-testid="code-cell" data-line-number="936" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC937" class="react-file-line html-div" data-testid="code-cell" data-line-number="937" style="position:relative"> <span class="pl-s1">ret</span> <span class="pl-c1">=</span> <span class="pl-c1">OK</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC938" class="react-file-line html-div" data-testid="code-cell" data-line-number="938" style="position:relative"> <span class="pl-k">break</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC939" class="react-file-line html-div" data-testid="code-cell" data-line-number="939" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC940" class="react-file-line html-div" data-testid="code-cell" data-line-number="940" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC941" class="react-file-line html-div" data-testid="code-cell" data-line-number="941" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC942" class="react-file-line html-div" data-testid="code-cell" data-line-number="942" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC943" class="react-file-line html-div" data-testid="code-cell" data-line-number="943" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">ret</span> <span class="pl-c1">!=</span> <span class="pl-c1">OK</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC944" class="react-file-line html-div" data-testid="code-cell" data-line-number="944" style="position:relative"> <span class="pl-c1">&amp;&amp;</span> <span class="pl-en">STRCMP</span>(<span class="pl-s1">font_list</span>, <span class="pl-s">&quot;*&quot;</span>) <span class="pl-c1">!=</span> <span class="pl-c1">0</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC945" class="react-file-line html-div" data-testid="code-cell" data-line-number="945" style="position:relative"> <span class="pl-c1">&amp;&amp;</span> (<span class="pl-s1">font_list_empty</span> <span class="pl-c1">||</span> <span class="pl-s1">gui</span>.<span class="pl-c1">norm_font</span> <span class="pl-c1">==</span> <span class="pl-c1">NOFONT</span>))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC946" class="react-file-line html-div" data-testid="code-cell" data-line-number="946" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC947" class="react-file-line html-div" data-testid="code-cell" data-line-number="947" style="position:relative"> <span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC948" class="react-file-line html-div" data-testid="code-cell" data-line-number="948" style="position:relative"><span class="pl-c"> * Couldn&#039;t load any font in &#039;font_list&#039;, keep the current font if</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC949" class="react-file-line html-div" data-testid="code-cell" data-line-number="949" style="position:relative"><span class="pl-c"> * there is one. If &#039;font_list&#039; is empty, or if there is no current</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC950" class="react-file-line html-div" data-testid="code-cell" data-line-number="950" style="position:relative"><span class="pl-c"> * font, tell gui_mch_init_font() to try to find a font we can load.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC951" class="react-file-line html-div" data-testid="code-cell" data-line-number="951" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC952" class="react-file-line html-div" data-testid="code-cell" data-line-number="952" style="position:relative"> <span class="pl-s1">ret</span> <span class="pl-c1">=</span> <span class="pl-en">gui_mch_init_font</span>(<span class="pl-c1">NULL</span>, FALSE);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC953" class="react-file-line html-div" data-testid="code-cell" data-line-number="953" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC954" class="react-file-line html-div" data-testid="code-cell" data-line-number="954" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC955" class="react-file-line html-div" data-testid="code-cell" data-line-number="955" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">ret</span> <span class="pl-c1">==</span> <span class="pl-c1">OK</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC956" class="react-file-line html-div" data-testid="code-cell" data-line-number="956" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC957" class="react-file-line html-div" data-testid="code-cell" data-line-number="957" style="position:relative"><span class="pl-k">#ifndef</span> <span class="pl-c1">FEAT_GUI_GTK</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC958" class="react-file-line html-div" data-testid="code-cell" data-line-number="958" style="position:relative"> <span class="pl-c">// Set normal font as current font</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC959" class="react-file-line html-div" data-testid="code-cell" data-line-number="959" style="position:relative"><span class="pl-k"># ifdef</span> <span class="pl-c1">FEAT_XFONTSET</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC960" class="react-file-line html-div" data-testid="code-cell" data-line-number="960" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">gui</span>.<span class="pl-c1">fontset</span> <span class="pl-c1">!=</span> <span class="pl-c1">NOFONTSET</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC961" class="react-file-line html-div" data-testid="code-cell" data-line-number="961" style="position:relative"> <span class="pl-en">gui_mch_set_fontset</span>(<span class="pl-s1">gui</span>.<span class="pl-c1">fontset</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC962" class="react-file-line html-div" data-testid="code-cell" data-line-number="962" style="position:relative"> <span class="pl-k">else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC963" class="react-file-line html-div" data-testid="code-cell" data-line-number="963" style="position:relative"><span class="pl-k"># endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC964" class="react-file-line html-div" data-testid="code-cell" data-line-number="964" style="position:relative"> <span class="pl-en">gui_mch_set_font</span>(<span class="pl-s1">gui</span>.<span class="pl-c1">norm_font</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC965" class="react-file-line html-div" data-testid="code-cell" data-line-number="965" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC966" class="react-file-line html-div" data-testid="code-cell" data-line-number="966" style="position:relative"> <span class="pl-en">gui_set_shellsize</span>(FALSE, TRUE, <span class="pl-c1">RESIZE_BOTH</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC967" class="react-file-line html-div" data-testid="code-cell" data-line-number="967" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC968" class="react-file-line html-div" data-testid="code-cell" data-line-number="968" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC969" class="react-file-line html-div" data-testid="code-cell" data-line-number="969" style="position:relative"> <span class="pl-k">return</span> <span class="pl-s1">ret</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC970" class="react-file-line html-div" data-testid="code-cell" data-line-number="970" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC971" class="react-file-line html-div" data-testid="code-cell" data-line-number="971" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC972" class="react-file-line html-div" data-testid="code-cell" data-line-number="972" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">USE_SET_GUIFONTWIDE</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC973" class="react-file-line html-div" data-testid="code-cell" data-line-number="973" style="position:relative"><span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC974" class="react-file-line html-div" data-testid="code-cell" data-line-number="974" style="position:relative"><span class="pl-c"> * Try setting &#039;guifontwide&#039; to a font twice as wide as &quot;name&quot;.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC975" class="react-file-line html-div" data-testid="code-cell" data-line-number="975" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC976" class="react-file-line html-div" data-testid="code-cell" data-line-number="976" style="position:relative"> <span class="pl-k">static</span> <span class="pl-smi">void</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC977" class="react-file-line html-div" data-testid="code-cell" data-line-number="977" style="position:relative"><span class="pl-en">set_guifontwide</span>(<span class="pl-smi">char_u</span> <span class="pl-c1">*</span><span class="pl-s1">name</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC978" class="react-file-line html-div" data-testid="code-cell" data-line-number="978" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC979" class="react-file-line html-div" data-testid="code-cell" data-line-number="979" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC980" class="react-file-line html-div" data-testid="code-cell" data-line-number="980" style="position:relative"> <span class="pl-smi">char_u</span> <span class="pl-s1">wide_name</span>[<span class="pl-c1">FONTLEN</span> <span class="pl-c1">+</span> <span class="pl-c1">10</span>]; <span class="pl-c">// room for 2 * width and &#039;*&#039;</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC981" class="react-file-line html-div" data-testid="code-cell" data-line-number="981" style="position:relative"> <span class="pl-smi">char_u</span> <span class="pl-c1">*</span><span class="pl-s1">wp</span> <span class="pl-c1">=</span> <span class="pl-c1">NULL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC982" class="react-file-line html-div" data-testid="code-cell" data-line-number="982" style="position:relative"> <span class="pl-smi">char_u</span> <span class="pl-c1">*</span><span class="pl-s1">p</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC983" class="react-file-line html-div" data-testid="code-cell" data-line-number="983" style="position:relative"> <span class="pl-smi">GuiFont</span> <span class="pl-s1">font</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC984" class="react-file-line html-div" data-testid="code-cell" data-line-number="984" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC985" class="react-file-line html-div" data-testid="code-cell" data-line-number="985" style="position:relative"> <span class="pl-s1">wp</span> <span class="pl-c1">=</span> <span class="pl-s1">wide_name</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC986" class="react-file-line html-div" data-testid="code-cell" data-line-number="986" style="position:relative"> <span class="pl-k">for</span> (<span class="pl-s1">p</span> <span class="pl-c1">=</span> <span class="pl-s1">name</span>; <span class="pl-c1">*</span><span class="pl-s1">p</span> <span class="pl-c1">!=</span> <span class="pl-c1">NUL</span>; <span class="pl-c1">++</span><span class="pl-s1">p</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC987" class="react-file-line html-div" data-testid="code-cell" data-line-number="987" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC988" class="react-file-line html-div" data-testid="code-cell" data-line-number="988" style="position:relative"> <span class="pl-c1">*</span><span class="pl-s1">wp</span><span class="pl-c1">++</span> <span class="pl-c1">=</span> <span class="pl-c1">*</span><span class="pl-s1">p</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC989" class="react-file-line html-div" data-testid="code-cell" data-line-number="989" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-c1">*</span><span class="pl-s1">p</span> <span class="pl-c1">==</span> <span class="pl-c1">&#039;-&#039;</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC990" class="react-file-line html-div" data-testid="code-cell" data-line-number="990" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC991" class="react-file-line html-div" data-testid="code-cell" data-line-number="991" style="position:relative"> <span class="pl-c1">++</span><span class="pl-s1">i</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC992" class="react-file-line html-div" data-testid="code-cell" data-line-number="992" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">i</span> <span class="pl-c1">==</span> <span class="pl-c1">6</span>) <span class="pl-c">// font type: change &quot;--&quot; to &quot;-*-&quot;</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC993" class="react-file-line html-div" data-testid="code-cell" data-line-number="993" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC994" class="react-file-line html-div" data-testid="code-cell" data-line-number="994" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">p</span>[<span class="pl-c1">1</span>] <span class="pl-c1">==</span> <span class="pl-c1">&#039;-&#039;</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC995" class="react-file-line html-div" data-testid="code-cell" data-line-number="995" style="position:relative"> <span class="pl-c1">*</span><span class="pl-s1">wp</span><span class="pl-c1">++</span> <span class="pl-c1">=</span> <span class="pl-c1">&#039;*&#039;</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC996" class="react-file-line html-div" data-testid="code-cell" data-line-number="996" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC997" class="react-file-line html-div" data-testid="code-cell" data-line-number="997" style="position:relative"> <span class="pl-k">else</span> <span class="pl-k">if</span> (<span class="pl-s1">i</span> <span class="pl-c1">==</span> <span class="pl-c1">12</span>) <span class="pl-c">// found the width</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC998" class="react-file-line html-div" data-testid="code-cell" data-line-number="998" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC999" class="react-file-line html-div" data-testid="code-cell" data-line-number="999" style="position:relative"> <span class="pl-c1">++</span><span class="pl-s1">p</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC1000" class="react-file-line html-div" data-testid="code-cell" data-line-number="1000" style="position:relative"> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-en">getdigits</span>(<span class="pl-c1">&amp;</span><span class="pl-s1">p</span>);</div></div></div></div></div><div class="Box-sc-g0xbh4-0 gkZUDI"><a class="prc-Link-Link-85e08" href="https://github.com/vim/vim/raw/refs/heads/master/src/gui.c">View remainder of file in raw view</a></div></div><div id="copilot-button-container"></div></div><div id="highlighted-line-menu-container"></div></div></div><button hidden="" data-testid="hotkey-button" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden=""></button></section></div></div></div> <!-- --> <!-- --> </div></div></div><div class="Box-sc-g0xbh4-0"></div></div></div></div></div><div id="find-result-marks-container" class="Box-sc-g0xbh4-0 cCoXib"></div><button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden=""></button></div> <!-- --> <!-- --> <script type="application/json" id="__PRIMER_DATA_:R0:__">{"resolvedServerColorMode":"day"}</script></div> </react-app> </turbo-frame> </div> </turbo-frame> </main> </div> </div> <footer class="footer pt-8 pb-6 f6 color-fg-muted p-responsive" role="contentinfo" > <h2 class='sr-only'>Footer</h2> <div class="d-flex flex-justify-center flex-items-center flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap"> <div class="d-flex flex-items-center flex-shrink-0 mx-2"> <a aria-label="Homepage" title="GitHub" class="footer-octicon mr-2" href="https://github.com"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github"> <path d="M12 1C5.9225 1 1 5.9225 1 12C1 16.8675 4.14875 20.9787 8.52125 22.4362C9.07125 22.5325 9.2775 22.2025 9.2775 21.9137C9.2775 21.6525 9.26375 20.7862 9.26375 19.865C6.5 20.3737 5.785 19.1912 5.565 18.5725C5.44125 18.2562 4.905 17.28 4.4375 17.0187C4.0525 16.8125 3.5025 16.3037 4.42375 16.29C5.29 16.2762 5.90875 17.0875 6.115 17.4175C7.105 19.0812 8.68625 18.6137 9.31875 18.325C9.415 17.61 9.70375 17.1287 10.02 16.8537C7.5725 16.5787 5.015 15.63 5.015 11.4225C5.015 10.2262 5.44125 9.23625 6.1425 8.46625C6.0325 8.19125 5.6475 7.06375 6.2525 5.55125C6.2525 5.55125 7.17375 5.2625 9.2775 6.67875C10.1575 6.43125 11.0925 6.3075 12.0275 6.3075C12.9625 6.3075 13.8975 6.43125 14.7775 6.67875C16.8813 5.24875 17.8025 5.55125 17.8025 5.55125C18.4075 7.06375 18.0225 8.19125 17.9125 8.46625C18.6138 9.23625 19.04 10.2125 19.04 11.4225C19.04 15.6437 16.4688 16.5787 14.0213 16.8537C14.42 17.1975 14.7638 17.8575 14.7638 18.8887C14.7638 20.36 14.75 21.5425 14.75 21.9137C14.75 22.2025 14.9563 22.5462 15.5063 22.4362C19.8513 20.9787 23 16.8537 23 12C23 5.9225 18.0775 1 12 1Z"></path> </svg> </a> <span> &copy; 2025 GitHub,&nbsp;Inc. </span> </div> <nav aria-label="Footer"> <h3 class="sr-only" id="sr-footer-heading">Footer navigation</h3> <ul class="list-style-none d-flex flex-justify-center flex-wrap mb-2 mb-lg-0" aria-labelledby="sr-footer-heading"> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Terms&quot;,&quot;label&quot;:&quot;text:terms&quot;}" href="https://docs.github.com/site-policy/github-terms/github-terms-of-service" data-view-component="true" class="Link--secondary Link">Terms</a> </li> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to privacy&quot;,&quot;label&quot;:&quot;text:privacy&quot;}" href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement" data-view-component="true" class="Link--secondary Link">Privacy</a> </li> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to security&quot;,&quot;label&quot;:&quot;text:security&quot;}" href="https://github.com/security" data-view-component="true" class="Link--secondary Link">Security</a> </li> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to status&quot;,&quot;label&quot;:&quot;text:status&quot;}" href="https://www.githubstatus.com/" data-view-component="true" class="Link--secondary Link">Status</a> </li> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to docs&quot;,&quot;label&quot;:&quot;text:docs&quot;}" href="https://docs.github.com/" data-view-component="true" class="Link--secondary Link">Docs</a> </li> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to contact&quot;,&quot;label&quot;:&quot;text:contact&quot;}" href="https://support.github.com?tags=dotcom-footer" data-view-component="true" class="Link--secondary Link">Contact</a> </li> <li class="mx-2" > <cookie-consent-link> <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;cookies&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;cookies_link_subfooter_footer&quot;}" > Manage cookies </button> </cookie-consent-link> </li> <li class="mx-2"> <cookie-consent-link> <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;dont_share_info&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;dont_share_info_link_subfooter_footer&quot;}" > Do not share my personal information </button> </cookie-consent-link> </li> </ul> </nav> </div> </footer> <ghcc-consent id="ghcc" class="position-fixed bottom-0 left-0" style="z-index: 999999" data-initial-cookie-consent-allowed="" data-cookie-consent-required="false"></ghcc-consent> <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> You can’t perform that action at this time. </div> <template id="site-details-dialog"> <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open> <summary role="button" aria-label="Close dialog"></summary> <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal"> <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> </details-dialog> </details> </template> <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;"> <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;"> </div> </div> <template id="snippet-clipboard-copy-button"> <div class="zeroclipboard-container position-absolute right-0 top-0"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> </div> </template> <template id="snippet-clipboard-copy-button-unpositioned"> <div class="zeroclipboard-container"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 d-flex flex-justify-center flex-items-center" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> </div> </template> </div> <div id="js-global-screen-reader-notice" class="sr-only mt-n1" aria-live="polite" aria-atomic="true" ></div> <div id="js-global-screen-reader-notice-assertive" class="sr-only mt-n1" aria-live="assertive" aria-atomic="true"></div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10