



  

<!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">

<script type="importmap">{"imports":{"react":"https://github.githubassets.com/assets/react-e27d1b3e03961e68.js","react-dom":"https://github.githubassets.com/assets/react-dom-e5fd46a22d5c4058.js","react-dom/client":"https://github.githubassets.com/assets/react-dom-client-1b4a3ee065998cea.js","react-is":"https://github.githubassets.com/assets/react-is-e0b593954b4706d8.js","react-reconciler":"https://github.githubassets.com/assets/react-reconciler-8e99e505c4429605.js","react/compiler-runtime":"https://github.githubassets.com/assets/react-compiler-runtime-4610bd6d3de9c049.js","react/jsx-dev-runtime":"https://github.githubassets.com/assets/react-jsx-dev-runtime-ea55d68667d559e5.js","react/jsx-runtime":"https://github.githubassets.com/assets/react-jsx-runtime-4915cb0f5b3aff04.js","scheduler":"https://github.githubassets.com/assets/scheduler-58b860b049ca307c.js"}}</script>
<meta name="react-profiling" content="0" data-turbo-transient="true" />
<meta name="react-import-map" content="react,react-dom,react-dom/client,react-dom/profiling,react-is,react-reconciler,react/compiler-runtime,react/jsx-dev-runtime,react/jsx-runtime,scheduler@777f63f87cd0" data-turbo-track="reload" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-e27d1b3e03961e68.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-compiler-runtime-4610bd6d3de9c049.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/scheduler-58b860b049ca307c.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-dom-e5fd46a22d5c4058.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-dom-client-1b4a3ee065998cea.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-is-e0b593954b4706d8.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-jsx-runtime-4915cb0f5b3aff04.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-reconciler-8e99e505c4429605.js" />

  


  <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light-99f877e9ddfc0e51.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light_high_contrast-48fdd0811afbab3c.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-79ad2ace604703b3.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark_high_contrast-24484a076f02295f.css" /><link data-color-theme="light" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light-99f877e9ddfc0e51.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-48fdd0811afbab3c.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-f4bf1142976e4bbf.css" /><link data-color-theme="light_colorblind_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind_high_contrast-f661b49995ba0bd8.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-0b38d22346321c92.css" /><link data-color-theme="light_tritanopia_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia_high_contrast-f1c62c9e70259b9f.css" /><link data-color-theme="dark" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark-79ad2ace604703b3.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-24484a076f02295f.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-f50cacf0a86b9929.css" /><link data-color-theme="dark_colorblind_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind_high_contrast-e61d4f4ca17852c2.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-39c10993d5603fac.css" /><link data-color-theme="dark_tritanopia_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia_high_contrast-73236c840c0c7d90.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-0de76f07cc035b10.css" /><link data-color-theme="dark_dimmed_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed_high_contrast-fd1500c8744e40d6.css" />

  <style type="text/css">
    :root {
      --tab-size-preference: 4;
    }

    pre, code {
      tab-size: var(--tab-size-preference);
    }
  </style>

    <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-ed9ca172356fd545.css" />
    <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-1d2c7f7b52a6068b.css" />
    <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-54ba76e934a49d7c.css" />
    <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-456bd5deb85c7ecd.css" />
  <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repository-11ee8a031c040c1a.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-2d56bdb0166c0238.css" />

  

  <script type="application/json" id="client-env">{"locale":"en","featureFlags":["actions_enable_background_steps","actions_new_hosted_runner_image_select_sizes_and_versions","activity_diff_file_tree","activity_repos_file_tree","activity_repos_overview_header","activity_repos_overview_sidebar","agent_author_search_expansion","agent_author_search_expansion_ui_pulls","alternate_user_config_repo","async_conversion_coverage_enabled","billing_billable_licenses_cost_center_bucket_fix","billing_budget_expiration","billing_cost_center_list_assigned_resources","billing_discount_threshold_notification","code_quality_enablement_banner_targeting","code_quality_remove_preview","code_view_raf_sticky_lines","codespaces_prebuild_region_target_update","coding_agent_third_party_model_ui","copilot_agent_snippy","copilot_api_agentic_issue_marshal_yaml","copilot_automation_repo_mcp_servers","copilot_automations_pagination","copilot_chat_auto_mode_v2","copilot_chat_clear_model_selection_for_default_change","copilot_chat_header_reorder","copilot_chat_max_upsell","copilot_chat_minimize_contextual","copilot_chat_models_browser_cache","copilot_chat_reduce_quota_checks","copilot_chat_vision_dotcom_chat_ga_gate","copilot_css_textarea_autosize","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_duplicate_thread","copilot_extensions_removal_on_marketplace","copilot_fix_failed_workflows_all_skus","copilot_hide_hovercard","copilot_immersive_embedded_draggable","copilot_immersive_embedded_header_button","copilot_immersive_file_block_transition_open","copilot_immersive_file_preview_keep_mounted","copilot_immersive_suggestion_pills","copilot_immersive_task_hyperlinking","copilot_immersive_task_within_chat_thread","copilot_mc_cli_resume_any_users_task","copilot_mission_control_agent_merge_fix_ci","copilot_mission_control_agent_merge_resolve_conflicts","copilot_mission_control_agents_repository_enablement","copilot_mission_control_early_stop","copilot_mission_control_environment_list_icons","copilot_mission_control_managed_sandbox_environments","copilot_mission_control_needs_attention","copilot_mission_control_reasoning_effort","copilot_mission_control_repo_hovercards","copilot_mission_control_sandbox_client_side_clone","copilot_mission_control_sandbox_remote_bypass","copilot_mission_control_session_filters","copilot_mission_control_task_alive_updates","copilot_mission_control_task_sharing","copilot_org_policy_page_focus_mode","copilot_pr_chat_enhancements","copilot_prominent_upgrade_button","copilot_resource_panel","copilot_share_active_subthread","copilot_spaces_ga","copilot_spaces_individual_policies_ga","copilot_spark_handle_nil_friendly_name","copilot_swe_agent_authorization_status_ui","copilot_swe_agent_automation_resource_scoped_writes","copilot_swe_agent_hide_model_picker_if_only_auto","copilot_swe_agent_issue_comment_trigger","copilot_swe_agent_pr_comment_model_picker","copilot_swe_agent_pull_request_comment_trigger","copilot_swe_agent_pull_request_merged_trigger","copilot_swe_agent_pull_request_opened_trigger","copilot_swe_agent_pull_request_synchronize_trigger","copilot_swe_agent_use_subagents","copilot_task_api_github_rest_style","copilot_task_scoped_alive_channel","copilot_token_based_billing","copilot_unconfigured_is_inherited","copilot_user_can_upgrade_plan_field","copilot_workbench_sunset","copilot_workbench_sunset_redirect","copilot_workbench_ubb","dashboard_indexeddb_caching","dashboard_lists_max_age_filter","dashboard_universe_2025_feedback_dialog","glc_code_quality_repo_settings_workflow_config","hide_github_models_ui","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","in_product_messaging_datadog_monitoring","ipm_global_transactional_message_copilot","ipm_global_transactional_message_issues","ipm_global_transactional_message_prs","ipm_global_transactional_message_repos","ipm_global_transactional_message_spaces","ipm_ubb_individual_budget_banner","issue_fields_multi_select","issue_inline_avatars","issue_pinned_views","issue_pinned_views_optimistic_updates","issue_relative_time_micro","issues_dashboard_sso_structured_errors","issues_expanded_file_types","issues_hide_closed_sub_issues","issues_lazy_load_comment_box_suggestions","issues_react_chrome_container_query_fix","labels_archiving","labels_archiving_info","landing_pages_ninetailed","lifecycle_label_name_updates","marketing_cookie_consent_banner","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_lazy_hydrate_agent_tasks","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","memex_remove_deprecated_type_issue","merge_queue_restricted_pushers_warning","merge_status_checks_refetch_dedupe","merge_status_header_feedback","oauth_authorize_clickjacking_protection","octocaptcha_origin_optimization","primer_react_css_anchor_positioning","primer_react_merged_forwarded_refs","prs_copilot_app_open_action","prs_css_anchor_positioning","pull_request_commit_checks_dialog","pull_request_copilot_attribution_header","pull_request_overview_panel_edit_description","pull_request_persister","pull_request_stacks_feedback_dialog","pull_request_virtualization_image_estimate","pull_request_virtualization_scroll_compensation","pull_request_virtualization_scroll_intent","pulls_dashboard_sidebar_layout","quick_search_lazy_suggestions","react_blob_isolate_code_lines","react_blob_ssr_content_visibility","react_data_router_tanstack_allowed","react_query_props_with_key","react_sandbox_future_tanstack","repo_app_turbo","repo_issues_sidebar_layout","repo_pulls_dashboard_persistence","repos_contributors_limited_default_range","repository_manifest_redirect_url_encoding","review_involves_filter","rule_ignored_file_paths","rulesets_actor_list_editor","sample_network_conn_type","security_center_artifact_filters_popover","see_who_reacted","semantic_similarity_duplicate_issue_detection","session_logs_ungroup_reasoning_text","set_sha256_on_repo_creation_form","site_banner_desktop_copilot_app","site_ghca_pixel_mona","site_github_app_ga_page","site_github_app_ga_page_highlight","site_github_app_mobile_native_share","site_global_banner_dev_days_attendee","site_global_banner_learn_copilot_sdk","site_global_nav_spark_models_removed","spark_prompt_secret_scanning","spark_server_connection_status","suggest_custom_property_values_copilot","suppress_automated_browser_vitals","swp_forms_disable_octocaptcha","thread_resolution_reason","ui_service_referrer_metrics","ui_service_staleness_detection","update_issue_suggestions","user_code_paste_ux","viewscreen_sandbox","warn_inaccessible_attachments","webp_support","workbench_store_readonly","workstream_plugin_bootstrap"],"githubDomain":"https://github.com","copilotApiOverrideUrl":"https://api.githubcopilot.com","cmcApiUrl":"https://api.github.com/cmc_internal/api"}</script>
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/high-contrast-cookie-e3d808ee18eb9784.js"></script>
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/wp-runtime-9c6dd19b74c7e691.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/app-foundation-74e9766bd696d26a.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/app-runtime-eed8df9c2267c378.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/fetch-utilities-5305162aa9984914.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ser-cd1b421ad0ad7ed5.js" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/environment-4077577b57c5c12b.js" defer="defer"></script>
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/app-runtime.94e436d05b4d028c.module.css" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/catalyst-86a8f5de995615f8.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/selector-observer-e88088f989b27670.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/relative-time-element-7cdf4e0db98b997c.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/by-6b3c07383371bf58.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ja9-36f036c13c2e3a4c.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/kw-866fd9513ae95106.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/r1-b075aab3204f32f9.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/jz5-7c5d1669717041f8.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/hj-5126390ff433704d.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/j05-dce4d588268f0f7e.js" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/github-elements-017cc403c0334dc8.js" defer="defer"></script>
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/element-registry-5215aa8dd03990f8.js" defer="defer"></script>
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/runtime-helpers-f3f5d71440009c48.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/aria-live-76b18916d0c8ec4d.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/hotkey-5109c77d7ac61078.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-core-fbb00aaa3ab9abdf.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/04-9cb1f09b927a3a68.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/urv-b9498edf8699ddd8.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/4t-364e19c63d726e9a.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/6ny-c969fbae697a356f.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/yhq-3a209035a30b1a09.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/z1v-da5b33b877bfa358.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/wo-09f85d22a6c8931b.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/9y-81cfe57dc9040f3e.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/j0-41a4cf04cbd99503.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/0p-81491ed0d9d666e2.js" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/behaviors-d5a64dd06cae6ad8.js" defer="defer"></script>
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/react-core.5858534b1c27f133.module.css" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/code-menu-be09c4b563cea1be.js" defer="defer"></script>
  
  <link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/primer-react-12ebdc24dcff1ecc.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ncx-9a860680a5f230b9.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/j6-363f0ebf4f62f310.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/t7l-bf6f21d7e7a43c35.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/fe-7576d9b281e2106a.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/wsr-5fd3071e5a9061ab.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/0n-ecadb2ffe6b01ba2.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/xv-51cb34754bda73a9.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/n4u-6317ce1c31aed1db.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/j8s-d90ce3a169b741ed.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/la-de176c4ee471f2b3.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/eag-d9eea130fa716df9.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/y2-87df441f1bc5a264.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/kcz-607e36c8a3751cf0.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/x4-65dba777efd828f3.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/gzu-1a09248f686325f6.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/on-95be29ba1ef725d9.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/bi0-e2f78de823e39ca9.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/b1-1dbc371cef78c3c1.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/0l5-55aa9485c732f0ca.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/c2z-c92998400310b94b.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/f9-038758dcbfe08dab.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/0k-b7df0a74912a42bf.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/sp-2bbb73a69162e23b.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/og-93ae8b358505d372.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/b9-69d9b60a1b1fcd59.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ec-ec74cb1fa6c31a3f.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/du-bbe0f39cd2abe9a0.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ql0-6accb9e40c25a6a5.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/20-0a2e46387735f1f4.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/dsj-cb1e4ddbce4f007b.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/wp-9f5235d335ab624b.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ko6-9e80f7ac359e3c43.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/uw-8c275f7ac25b7cf6.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/bsb-4f4ac8c20da73fac.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/w5-13e3a7548bb20af9.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/fm-9bc913d1959fabab.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/z-69921967c33df3d9.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/h0-010921512138e12f.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/5p-ae5db0820116fb43.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/8vq-b2af216e992e11ef.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/g5-b501f75e99f2d2c4.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/xc-f5d51b571cd317cb.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/arw-51e8918a1b75a80f.js" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/code-view-66d408892205680f.js" defer="defer"></script>
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.9d59d1018a52a53c.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/ql0.bd9e6b542f167fd8.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/z.3094038d30e96da5.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/xc.13e027137438fd9f.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-view.f8bbf4a51623fcd4.module.css" />

  <link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/hu-1fc0b2a167afc025.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/fbr-9cd34ba01ef26edb.js" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/notifications-subscriptions-menu-e183efce68403615.js" defer="defer"></script>
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.9d59d1018a52a53c.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/notifications-subscriptions-menu.35557ceb6bb65ce4.module.css" />


  <title>pythonic-cpp-strings/cpp-strings/cppstrings.h at dev · schmouk/pythonic-cpp-strings · 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="fetch-nonce" content="v2:17bf9690-a2df-c8c2-961e-f7c53d130a51">

    
  <meta name="current-catalog-service-hash" content="f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb">


  <meta name="request-id" content="9AF8:20D351:695018C:6599B40:6AABBBF6" data-pjax-transient="true"/><meta name="html-safe-nonce" content="ec9a8b86ebdd62bbbdd7ff77fe0fae62d0c93c2b3be949c2a8c4937924c1450a" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5QUY4OjIwRDM1MTo2OTUwMThDOjY1OTlCNDA6NkFBQkJCRjYiLCJ2aXNpdG9yX2lkIjoiODk5MDUwMzI2Njk1MjEzMzYyMiIsInJlZ2lvbl9lZGdlIjoiZnJhIiwicmVnaW9uX3JlbmRlciI6ImZyYSJ9" data-pjax-transient="true"/><meta name="visitor-hmac" content="563a29c0cd8f478f4dad224616663e1fdac9eb5b2743600cf2343cf737143eab" data-pjax-transient="true"/>


    <meta name="hovercard-subject-tag" content="repository:610762817" 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="What if c++ strings where as easy to use as Python strings? - pythonic-cpp-strings/cpp-strings/cppstrings.h at dev · schmouk/pythonic-cpp-strings">

      <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/schmouk/pythonic-cpp-strings/blob/dev/cpp-strings/cppstrings.h" />

      <meta name="twitter:image" content="https://opengraph.githubassets.com/73aa5e905af75ebbe25027988d72af8ac8a3afa6e5777ef02a5da10e826ef91a/schmouk/pythonic-cpp-strings" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="pythonic-cpp-strings/cpp-strings/cppstrings.h at dev · schmouk/pythonic-cpp-strings" /><meta name="twitter:description" content="What if c++ strings where as easy to use as Python strings? - schmouk/pythonic-cpp-strings" />
  <meta property="og:image" content="https://opengraph.githubassets.com/73aa5e905af75ebbe25027988d72af8ac8a3afa6e5777ef02a5da10e826ef91a/schmouk/pythonic-cpp-strings" /><meta property="og:image:alt" content="What if c++ strings where as easy to use as Python strings? - schmouk/pythonic-cpp-strings" /><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="pythonic-cpp-strings/cpp-strings/cppstrings.h at dev · schmouk/pythonic-cpp-strings" /><meta property="og:url" content="https://github.com/schmouk/pythonic-cpp-strings/blob/dev/cpp-strings/cppstrings.h" /><meta property="og:description" content="What if c++ strings where as easy to use as Python strings? - schmouk/pythonic-cpp-strings" />
  




      <meta name="hostname" content="github.com">



        <meta name="expected-hostname" content="github.com">


  <meta http-equiv="x-pjax-version" content="79a80e25751475405e5fd209fb360b11d85fd051e19ef62c244faf87d1a55148" data-turbo-track="reload">
  <meta http-equiv="x-pjax-csp-version" content="0c5c6e5334a905d8f9521e09eadcffba484d422e0d262e07ff922e6bc18b2ac6" data-turbo-track="reload">
  <meta http-equiv="x-pjax-css-version" content="ec4c7b86d7b57240253150b827ea48b04e08d8760dc6553d2a04f62000f3fe0c" data-turbo-track="reload">
  <meta http-equiv="x-pjax-js-version" content="69a14cf32928b3e7b367303ca5feb702e9bfe330625527a3856f5215f9845db2" 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/schmouk/pythonic-cpp-strings git https://github.com/schmouk/pythonic-cpp-strings.git">

  <meta name="octolytics-dimension-user_id" content="10517991" /><meta name="octolytics-dimension-user_login" content="schmouk" /><meta name="octolytics-dimension-repository_id" content="610762817" /><meta name="octolytics-dimension-repository_nwo" content="schmouk/pythonic-cpp-strings" /><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="610762817" /><meta name="octolytics-dimension-repository_network_root_nwo" content="schmouk/pythonic-cpp-strings" />
  



    

    <meta name="turbo-body-classes" content="logged-out env-production page-responsive">
  <meta name="disable-turbo" content="false">


  <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="db2f1f7e202a06e3184610396beb38d4b969a3cd" data-turbo-track="reload">
  <meta name="ui-target" content="canary-1">

  <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 id="__primerPortalRoot__" style="z-index: 1000; position: absolute; width: 100%;" data-turbo-permanent></div>
      

    <div class="position-relative header-wrapper js-header-wrapper ">
      <a href="#start-of-content" data-skip-target-assigned="false" class="px-2 tmp-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>      
      <link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/l7j-2ddd8b435dadae28.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/keyboard-shortcuts-dialog-750bceb2357099fd.js" fetchpriority="low" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.9d59d1018a52a53c.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/keyboard-shortcuts-dialog.376d7135a01bfe9a.module.css" />

<react-partial
  partial-name="keyboard-shortcuts-dialog"
  data-ssr="false"
  data-attempted-ssr="false"
  data-react-profiling="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>





      

          
          

                <link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/2l-a4cd948f93d92068.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/i26-de97ea9fb4f29e3b.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/fz5-23f28c0f388769c9.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/lht-26506ea833dda5be.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/p1-76a75a6081059b19.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/3d8-bbc4e3ce35fac150.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/tua-c4ca62c5e0e0318e.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/4s-c22d880230690e1f.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/marketing-header-ed273d18c0e5fe6f.js" fetchpriority="low" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.9d59d1018a52a53c.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-brand-css.6a01c236ff527e7e.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/4s.e3d02f110161be52.module.css" />

<react-partial
  partial-name="marketing-header"
  data-ssr="true"
  data-attempted-ssr="true"
  data-react-profiling="false"
>
  
  <script type="application/json" data-target="react-partial.embeddedData">{"props":{"color_mode":"dark","logged_in":false,"marketing_page":false,"home_path":"/","login_path":"/login?return_to=https%3A%2F%2Fgithub.com%2Fschmouk%2Fpythonic-cpp-strings%2Fblob%2Fdev%2Fcpp-strings%2Fcppstrings.h","signup_path":"/signup?ref_cta=Sign+up\u0026ref_loc=header+logged+out\u0026ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow\u0026source=header-repo\u0026source_repo=schmouk%2Fpythonic-cpp-strings","signup_enabled":true,"is_signup_controller":false,"show_search_and_nav":true,"hide_search":false,"private_mode_enabled":false,"should_use_dotcom_links":true,"auth_hydro_click":"{\"event_type\":\"authentication.click\",\"payload\":{\"location_in_page\":\"site header menu\",\"repository_id\":null,\"auth_type\":\"SIGN_UP\",\"originating_url\":\"https://github.com/schmouk/pythonic-cpp-strings/blob/dev/cpp-strings/cppstrings.h\",\"user_id\":null}}","auth_hydro_click_hmac":"cfe9a941f2cbd3cbeb65075bc6fa9803c35f0ef635f06dedbc53c4210de399f5","overlay":false,"fixed":false}}</script>
  <div data-target="react-partial.reactRoot"><div data-color-mode="dark" data-light-theme="light" data-dark-theme="dark"><header class="MarketingHeader-module__root__Tk7n3 HeaderMktg header-logged-out" role="banner" data-marketing-header="true" data-color-mode="dark" data-light-theme="light" data-dark-theme="dark" data-is-top="true"><h2 class="MarketingHeader-module__visuallyHidden__sqKsl">Navigation Menu</h2><button type="button" class="MarketingHeader-module__backdrop__sw4RU" aria-label="Close navigation menu"></button><div class="MarketingHeader-module__bar__mBSyE"><div class="MarketingHeader-module__topRow__yeury"><div class="MarketingHeader-module__toggleSlot__hDxbh"><button type="button" class="HeaderMenuToggle-module__toggle__i8EiC" aria-label="Toggle navigation" aria-expanded="false"><span class="HeaderMenuToggle-module__toggleBar__jVN0H"></span><span class="HeaderMenuToggle-module__toggleBar__jVN0H"></span><span class="HeaderMenuToggle-module__toggleBar__jVN0H"></span></button></div><a href="/" aria-label="Homepage" class="HeaderLogo-module__logo__UFyHI" data-analytics-event="{&quot;action&quot;:&quot;homepage&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;logo&quot;,&quot;location&quot;:&quot;header&quot;,&quot;label&quot;:&quot;homepage_link_logo_header&quot;}"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-mark-github" viewBox="0 0 24 24" width="32" height="32" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.226 17.284c-2.965-.36-5.054-2.493-5.054-5.256 0-1.123.404-2.336 1.078-3.144-.292-.741-.247-2.314.09-2.965.898-.112 2.111.36 2.83 1.01.853-.269 1.752-.404 2.853-.404 1.1 0 1.999.135 2.807.382.696-.629 1.932-1.1 2.83-.988.315.606.36 2.179.067 2.942.72.854 1.101 2 1.101 3.167 0 2.763-2.089 4.852-5.098 5.234.763.494 1.28 1.572 1.28 2.807v2.336c0 .674.561 1.056 1.235.786 4.066-1.55 7.255-5.615 7.255-10.646C23.5 6.188 18.334 1 11.978 1 5.62 1 .5 6.188.5 12.545c0 4.986 3.167 9.12 7.435 10.669.606.225 1.19-.18 1.19-.786V20.63a2.9 2.9 0 0 1-1.078.224c-1.483 0-2.359-.808-2.987-2.313-.247-.607-.517-.966-1.034-1.033-.27-.023-.359-.135-.359-.27 0-.27.45-.471.898-.471.652 0 1.213.404 1.797 1.235.45.651.921.943 1.483.943.561 0 .92-.202 1.437-.719.382-.381.674-.718.944-.943"></path></svg></a><div class="AuthCTAs-module__mobileActions__NNzeV"><a class="Primer_Brand__Button-module__Button___scH9Z Primer_Brand__Button-module__Button--subtle___F7pEE Primer_Brand__Button-module__Button--size-small___zQrEw AuthCTAs-module__cta__WpwQq" href="/login?return_to=https%3A%2F%2Fgithub.com%2Fschmouk%2Fpythonic-cpp-strings%2Fblob%2Fdev%2Fcpp-strings%2Fcppstrings.h" data-analytics-event="{&quot;action&quot;:&quot;sign_in&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;auth_cta&quot;,&quot;location&quot;:&quot;header&quot;,&quot;label&quot;:&quot;sign_in_link_auth_cta_header&quot;}" 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/schmouk/pythonic-cpp-strings/blob/dev/cpp-strings/cppstrings.h&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="cfe9a941f2cbd3cbeb65075bc6fa9803c35f0ef635f06dedbc53c4210de399f5"><span class="Primer_Brand__Button-module__Button__text___ED0bX"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ Primer_Brand__Button-module__Button--label___qrkyz Primer_Brand__Button-module__Button--label-subtle___8ndWH">Sign in</span></span></a><button class="Primer_Brand__Button-module__Button___scH9Z Primer_Brand__Button-module__Button--subtle___F7pEE Primer_Brand__Button-module__Button--size-small___zQrEw HeaderAppearanceSettings-module__trigger__hUheK" type="button" aria-haspopup="dialog" aria-labelledby="_R_3dd_"><span class="Primer_Brand__Button-module__Button__leading-visual___jjtTe" data-testid="Button-leading-visual"><svg data-component="Octicon" focusable="false" aria-hidden="true" class="octicon octicon-sliders Primer_Brand__Button-module__Button__icon-visual____qybb" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M15 2.75a.75.75 0 0 1-.75.75h-4a.75.75 0 0 1 0-1.5h4a.75.75 0 0 1 .75.75Zm-8.5.75v1.25a.75.75 0 0 0 1.5 0v-4a.75.75 0 0 0-1.5 0V2H1.75a.75.75 0 0 0 0 1.5H6.5Zm1.25 5.25a.75.75 0 0 0 0-1.5h-6a.75.75 0 0 0 0 1.5h6ZM15 8a.75.75 0 0 1-.75.75H11.5V10a.75.75 0 1 1-1.5 0V6a.75.75 0 0 1 1.5 0v1.25h2.75A.75.75 0 0 1 15 8Zm-9 5.25v-2a.75.75 0 0 0-1.5 0v1.25H1.75a.75.75 0 0 0 0 1.5H4.5v1.25a.75.75 0 0 0 1.5 0v-2Zm9 0a.75.75 0 0 1-.75.75h-6a.75.75 0 0 1 0-1.5h6a.75.75 0 0 1 .75.75Z"></path></svg></span><span class="Primer_Brand__Button-module__Button__text___ED0bX"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ Primer_Brand__Button-module__Button--label___qrkyz Primer_Brand__Button-module__Button--label-subtle___8ndWH"></span></span></button><div class="Primer_Brand__Tooltip-module__Tooltip___0Eipx" data-direction="s" aria-hidden="true" id="_R_3dd_">Appearance settings</div></div></div><div class="MarketingHeader-module__menu__GIy3y"><div class="MarketingHeader-module__menuWrapper__owstH"><nav class="MarketingNavigation-module__nav__W0KYY" aria-label="Global"><ul class="MarketingNavigation-module__list__tFbMb"><li><div class="NavDropdown-module__container__l2YeI"><button type="button" class="NavDropdown-module__button__PEHWX" aria-expanded="false" aria-controls="_R_nd_">Platform<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-right NavDropdown-module__buttonIcon__Tkl8_" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m6.427 4.427 3.396 3.396a.25.25 0 0 1 0 .354l-3.396 3.396A.25.25 0 0 1 6 11.396V4.604a.25.25 0 0 1 .427-.177Z"></path></svg></button><div id="_R_nd_" class="NavDropdown-module__dropdown__xm1jd"><ul class="NavDropdown-module__list__zuCgG"><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_5knd_">AI CODE CREATION</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_5knd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/copilot" data-analytics-event="{&quot;action&quot;:&quot;github_copilot&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_copilot_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-copilot NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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>GitHub Copilot</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Write better code with AI</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/ai/github-app" data-analytics-event="{&quot;action&quot;:&quot;github_copilot_app&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_copilot_app_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-mark-github NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M6.766 11.328c-2.063-.25-3.516-1.734-3.516-3.656 0-.781.281-1.625.75-2.188-.203-.515-.172-1.609.063-2.062.625-.078 1.468.25 1.968.703.594-.187 1.219-.281 1.985-.281.765 0 1.39.094 1.953.265.484-.437 1.344-.765 1.969-.687.218.422.25 1.515.046 2.047.5.593.766 1.39.766 2.203 0 1.922-1.453 3.375-3.547 3.64.531.344.89 1.094.89 1.954v1.625c0 .468.391.734.86.547C13.781 14.359 16 11.53 16 8.03 16 3.61 12.406 0 7.984 0 3.563 0 0 3.61 0 8.031a7.88 7.88 0 0 0 5.172 7.422c.422.156.828-.125.828-.547v-1.25c-.219.094-.5.156-.75.156-1.031 0-1.64-.562-2.078-1.609-.172-.422-.36-.672-.719-.719-.187-.015-.25-.093-.25-.187 0-.188.313-.328.625-.328.453 0 .844.281 1.25.86.313.452.64.655 1.031.655s.641-.14 1-.5c.266-.265.47-.5.657-.656"></path></svg>GitHub Copilot app</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Direct agents from issue to merge</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/mcp" data-analytics-event="{&quot;action&quot;:&quot;mcp_registry&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;mcp_registry_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-mcp NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M5.52 1.12a3.578 3.578 0 0 1 6.078 2.98 3.578 3.578 0 0 1 2.982 6.08l-3.292 3.293a.252.252 0 0 0 0 .354l.843.843a.749.749 0 1 1-1.06 1.06l-.844-.843a1.75 1.75 0 0 1 0-2.474L13.52 9.12a2.08 2.08 0 0 0 0-2.94 2.08 2.08 0 0 0-2.94 0L7.731 9.03A.75.75 0 0 1 6.67 7.97l2.85-2.85a2.08 2.08 0 0 0 0-2.94 2.08 2.08 0 0 0-2.94 0l-4.799 4.8A.75.75 0 0 1 .72 5.92Z"></path><path d="M7.52 3.12a.749.749 0 1 1 1.06 1.06L5.731 7.03A2.079 2.079 0 0 0 8.67 9.97l2.85-2.85a.749.749 0 1 1 1.06 1.06l-2.849 2.85A3.578 3.578 0 0 1 4.67 5.97Z"></path></svg>MCP Registry</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Integrate external tools</span></span></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_9knd_">DEVELOPER WORKFLOWS</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_9knd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/actions" data-analytics-event="{&quot;action&quot;:&quot;actions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;actions_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-workflow NavLink-module__icon__ltGNM" 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 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>Actions</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Automate any workflow</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/codespaces" data-analytics-event="{&quot;action&quot;:&quot;codespaces&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;codespaces_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-codespaces NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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>Codespaces</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Instant dev environments</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/issues" data-analytics-event="{&quot;action&quot;:&quot;issues&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;issues_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-issue-opened NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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>Issues</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Plan and track work</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/code-review" data-analytics-event="{&quot;action&quot;:&quot;code_review&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;code_review_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-code NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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>Code Review</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Manage code changes</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/code-quality" data-analytics-event="{&quot;action&quot;:&quot;code_quality&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;code_quality_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-codescan-checkmark NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.28 6.28a.75.75 0 1 0-1.06-1.06L6.25 8.19l-.97-.97a.75.75 0 0 0-1.06 1.06l1.5 1.5a.75.75 0 0 0 1.06 0l3.5-3.5Z"></path><path d="M7.5 15a7.5 7.5 0 1 1 5.807-2.754l2.473 2.474a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2.474-2.473A7.472 7.472 0 0 1 7.5 15Zm0-13.5a6 6 0 1 0 4.094 10.386.748.748 0 0 1 .293-.292 6.002 6.002 0 0 0 1.117-6.486A6.002 6.002 0 0 0 7.5 1.5Z"></path></svg>Code Quality</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Enforce quality at merge</span></span></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_dknd_">APPLICATION SECURITY</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_dknd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/security/advanced-security" data-analytics-event="{&quot;action&quot;:&quot;github_advanced_security&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_advanced_security_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-shield-check NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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>GitHub Advanced Security</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Find and fix vulnerabilities</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/security/advanced-security/code-security" data-analytics-event="{&quot;action&quot;:&quot;code_security&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;code_security_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-code-square NavLink-module__icon__ltGNM" 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>Code security</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Secure your code as you build</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/security/advanced-security/secret-protection" data-analytics-event="{&quot;action&quot;:&quot;secret_protection&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;secret_protection_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-lock NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M4 4a4 4 0 0 1 8 0v2h.25c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 12.25 15h-8.5A1.75 1.75 0 0 1 2 13.25v-5.5C2 6.784 2.784 6 3.75 6H4Zm8.25 3.5h-8.5a.25.25 0 0 0-.25.25v5.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25ZM10.5 6V4a2.5 2.5 0 1 0-5 0v2Z"></path></svg>Secret protection</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Stop leaks before they start</span></span></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ NavGroup-module__hasSeparator__FnMrN"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_hknd_">EXPLORE</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_hknd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/why-github" data-analytics-event="{&quot;action&quot;:&quot;why_github&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;why_github_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Why GitHub</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://docs.github.com" data-analytics-event="{&quot;action&quot;:&quot;documentation&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;documentation_link_platform_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Documentation</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://github.blog" data-analytics-event="{&quot;action&quot;:&quot;blog&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;blog_link_platform_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Blog</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://github.blog/changelog" data-analytics-event="{&quot;action&quot;:&quot;changelog&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;changelog_link_platform_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Changelog</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/marketplace" data-analytics-event="{&quot;action&quot;:&quot;marketplace&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;marketplace_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Marketplace</span></a></li></ul></div></li></ul><div class="NavDropdown-module__trailingLinkContainer__VgJGL"><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--arrow-end___esdN8" href="https://github.com/features" data-analytics-event="{&quot;action&quot;:&quot;view_all_features&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;view_all_features_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">View all features</span><svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___aaZs9 Primer_Brand__Link-module__Link-arrow___yd78i" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___0K8Hz" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path></svg></a></div></div></div></li><li><div class="NavDropdown-module__container__l2YeI"><button type="button" class="NavDropdown-module__button__PEHWX" aria-expanded="false" aria-controls="_R_17d_">Solutions<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-right NavDropdown-module__buttonIcon__Tkl8_" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m6.427 4.427 3.396 3.396a.25.25 0 0 1 0 .354l-3.396 3.396A.25.25 0 0 1 6 11.396V4.604a.25.25 0 0 1 .427-.177Z"></path></svg></button><div id="_R_17d_" class="NavDropdown-module__dropdown__xm1jd"><ul class="NavDropdown-module__list__zuCgG"><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_5l7d_">BY COMPANY SIZE</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_5l7d_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/enterprise" data-analytics-event="{&quot;action&quot;:&quot;enterprises&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;enterprises_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Enterprises</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/team" data-analytics-event="{&quot;action&quot;:&quot;small_and_medium_teams&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;small_and_medium_teams_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Small and medium teams</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/enterprise/startups" data-analytics-event="{&quot;action&quot;:&quot;startups&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;startups_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Startups</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/industry/nonprofits" data-analytics-event="{&quot;action&quot;:&quot;nonprofits&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;nonprofits_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Nonprofits</span></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_9l7d_">BY USE CASE</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_9l7d_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/use-case/app-modernization" data-analytics-event="{&quot;action&quot;:&quot;app_modernization&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;app_modernization_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">App Modernization</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/use-case/devsecops" data-analytics-event="{&quot;action&quot;:&quot;devsecops&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;devsecops_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">DevSecOps</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/use-case/devops" data-analytics-event="{&quot;action&quot;:&quot;devops&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;devops_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">DevOps</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/use-case/ci-cd" data-analytics-event="{&quot;action&quot;:&quot;ci/cd&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;ci/cd_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">CI/CD</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--arrow-end___esdN8" href="https://github.com/solutions/use-case" data-analytics-event="{&quot;action&quot;:&quot;view_all_use_cases&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;view_all_use_cases_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">View all use cases</span><svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___aaZs9 Primer_Brand__Link-module__Link-arrow___yd78i" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___0K8Hz" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path></svg></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_dl7d_">BY INDUSTRY</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_dl7d_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/industry/healthcare" data-analytics-event="{&quot;action&quot;:&quot;healthcare&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;healthcare_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Healthcare</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/industry/financial-services" data-analytics-event="{&quot;action&quot;:&quot;financial_services&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;financial_services_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Financial services</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/industry/manufacturing" data-analytics-event="{&quot;action&quot;:&quot;manufacturing&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;manufacturing_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Manufacturing</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/industry/government" data-analytics-event="{&quot;action&quot;:&quot;government&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;government_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Government</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--arrow-end___esdN8" href="https://github.com/solutions/industry" data-analytics-event="{&quot;action&quot;:&quot;view_all_industries&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;view_all_industries_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">View all industries</span><svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___aaZs9 Primer_Brand__Link-module__Link-arrow___yd78i" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___0K8Hz" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path></svg></a></li></ul></div></li></ul><div class="NavDropdown-module__trailingLinkContainer__VgJGL"><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--arrow-end___esdN8" href="https://github.com/solutions" data-analytics-event="{&quot;action&quot;:&quot;view_all_solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;view_all_solutions_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">View all solutions</span><svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___aaZs9 Primer_Brand__Link-module__Link-arrow___yd78i" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___0K8Hz" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path></svg></a></div></div></div></li><li><div class="NavDropdown-module__container__l2YeI"><button type="button" class="NavDropdown-module__button__PEHWX" aria-expanded="false" aria-controls="_R_1nd_">Resources<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-right NavDropdown-module__buttonIcon__Tkl8_" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m6.427 4.427 3.396 3.396a.25.25 0 0 1 0 .354l-3.396 3.396A.25.25 0 0 1 6 11.396V4.604a.25.25 0 0 1 .427-.177Z"></path></svg></button><div id="_R_1nd_" class="NavDropdown-module__dropdown__xm1jd"><ul class="NavDropdown-module__list__zuCgG"><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_5lnd_">EXPLORE BY TOPIC</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_5lnd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/resources/articles?topic=ai" data-analytics-event="{&quot;action&quot;:&quot;ai&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;ai_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">AI</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/resources/articles?topic=software-development" data-analytics-event="{&quot;action&quot;:&quot;software_development&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;software_development_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Software Development</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/resources/articles?topic=devops" data-analytics-event="{&quot;action&quot;:&quot;devops&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;devops_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">DevOps</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/resources/articles?topic=security" data-analytics-event="{&quot;action&quot;:&quot;security&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;security_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Security</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--arrow-end___esdN8" href="https://github.com/resources/articles" data-analytics-event="{&quot;action&quot;:&quot;view_all_topics&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;view_all_topics_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">View all topics</span><svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___aaZs9 Primer_Brand__Link-module__Link-arrow___yd78i" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___0K8Hz" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path></svg></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_9lnd_">EXPLORE BY TYPE</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_9lnd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/customer-stories" data-analytics-event="{&quot;action&quot;:&quot;customer_stories&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;customer_stories_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Customer stories</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/resources/events" data-analytics-event="{&quot;action&quot;:&quot;events__webinars&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;events__webinars_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Events &amp; webinars</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/resources/whitepapers" data-analytics-event="{&quot;action&quot;:&quot;ebooks__reports&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;ebooks__reports_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Ebooks &amp; reports</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/executive-insights" data-analytics-event="{&quot;action&quot;:&quot;business_insights&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;business_insights_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Business insights</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://skills.github.com" data-analytics-event="{&quot;action&quot;:&quot;github_skills&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_skills_link_resources_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">GitHub Skills</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_dlnd_">SUPPORT &amp; SERVICES</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_dlnd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://docs.github.com" data-analytics-event="{&quot;action&quot;:&quot;documentation&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;documentation_link_resources_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Documentation</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://support.github.com" data-analytics-event="{&quot;action&quot;:&quot;customer_support&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;customer_support_link_resources_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Customer support</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/orgs/community/discussions" data-analytics-event="{&quot;action&quot;:&quot;community_forum&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;community_forum_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Community forum</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/trust-center" data-analytics-event="{&quot;action&quot;:&quot;trust_center&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;trust_center_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Trust center</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/partners" data-analytics-event="{&quot;action&quot;:&quot;partners&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;partners_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Partners</span></a></li></ul></div></li></ul><div class="NavDropdown-module__trailingLinkContainer__VgJGL"><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--arrow-end___esdN8" href="https://github.com/resources" data-analytics-event="{&quot;action&quot;:&quot;view_all_resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;view_all_resources_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">View all resources</span><svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___aaZs9 Primer_Brand__Link-module__Link-arrow___yd78i" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___0K8Hz" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path></svg></a></div></div></div></li><li><div class="NavDropdown-module__container__l2YeI"><button type="button" class="NavDropdown-module__button__PEHWX" aria-expanded="false" aria-controls="_R_27d_">Open Source<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-right NavDropdown-module__buttonIcon__Tkl8_" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m6.427 4.427 3.396 3.396a.25.25 0 0 1 0 .354l-3.396 3.396A.25.25 0 0 1 6 11.396V4.604a.25.25 0 0 1 .427-.177Z"></path></svg></button><div id="_R_27d_" class="NavDropdown-module__dropdown__xm1jd"><ul class="NavDropdown-module__list__zuCgG"><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_5m7d_">COMMUNITY</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_5m7d_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/open-source/sponsors" data-analytics-event="{&quot;action&quot;:&quot;github_sponsors&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_sponsors_link_open_source_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-sponsor-tiers NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.586 1C12.268 1 13.5 2.37 13.5 4.25c0 1.745-.996 3.359-2.622 4.831-.166.15-.336.297-.509.438l1.116 5.584a.75.75 0 0 1-.991.852l-2.409-.876a.25.25 0 0 0-.17 0l-2.409.876a.75.75 0 0 1-.991-.852L5.63 9.519a13.78 13.78 0 0 1-.51-.438C3.497 7.609 2.5 5.995 2.5 4.25 2.5 2.37 3.732 1 5.414 1c.963 0 1.843.403 2.474 1.073L8 2.198l.112-.125a3.385 3.385 0 0 1 2.283-1.068L10.586 1Zm-3.621 9.495-.718 3.594 1.155-.42a1.75 1.75 0 0 1 1.028-.051l.168.051 1.154.42-.718-3.592c-.199.13-.37.235-.505.314l-.169.097a.75.75 0 0 1-.72 0 9.54 9.54 0 0 1-.515-.308l-.16-.105ZM10.586 2.5c-.863 0-1.611.58-1.866 1.459-.209.721-1.231.721-1.44 0C7.025 3.08 6.277 2.5 5.414 2.5 4.598 2.5 4 3.165 4 4.25c0 1.23.786 2.504 2.128 3.719.49.443 1.018.846 1.546 1.198l.325.21.076-.047.251-.163a13.341 13.341 0 0 0 1.546-1.198C11.214 6.754 12 5.479 12 4.25c0-1.085-.598-1.75-1.414-1.75Z"></path></svg>GitHub Sponsors</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Fund open source developers</span></span></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_9m7d_">PROGRAMS</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_9m7d_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://securitylab.github.com" data-analytics-event="{&quot;action&quot;:&quot;security_lab&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;security_lab_link_open_source_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Security Lab</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://maintainers.github.com" data-analytics-event="{&quot;action&quot;:&quot;maintainer_community&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;maintainer_community_link_open_source_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Maintainer Community</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://stars.github.com" data-analytics-event="{&quot;action&quot;:&quot;github_stars&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_stars_link_open_source_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">GitHub Stars</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://archiveprogram.github.com" data-analytics-event="{&quot;action&quot;:&quot;archive_program&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;archive_program_link_open_source_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Archive Program</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_dm7d_">REPOSITORIES</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_dm7d_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/topics" data-analytics-event="{&quot;action&quot;:&quot;topics&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;topics_link_open_source_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Topics</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/trending" data-analytics-event="{&quot;action&quot;:&quot;trending&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;trending_link_open_source_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Trending</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/collections" data-analytics-event="{&quot;action&quot;:&quot;collections&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;collections_link_open_source_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Collections</span></a></li></ul></div></li></ul></div></div></li><li><div class="NavDropdown-module__container__l2YeI"><button type="button" class="NavDropdown-module__button__PEHWX" aria-expanded="false" aria-controls="_R_2nd_">Enterprise<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-right NavDropdown-module__buttonIcon__Tkl8_" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m6.427 4.427 3.396 3.396a.25.25 0 0 1 0 .354l-3.396 3.396A.25.25 0 0 1 6 11.396V4.604a.25.25 0 0 1 .427-.177Z"></path></svg></button><div id="_R_2nd_" class="NavDropdown-module__dropdown__xm1jd"><ul class="NavDropdown-module__list__zuCgG"><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_5mnd_">ENTERPRISE SOLUTIONS</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_5mnd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/enterprise" data-analytics-event="{&quot;action&quot;:&quot;enterprise_platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;enterprise_platform_link_enterprise_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-stack NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M7.122.392a1.75 1.75 0 0 1 1.756 0l5.003 2.902c.83.481.83 1.68 0 2.162L8.878 8.358a1.75 1.75 0 0 1-1.756 0L2.119 5.456a1.251 1.251 0 0 1 0-2.162ZM8.125 1.69a.248.248 0 0 0-.25 0l-4.63 2.685 4.63 2.685a.248.248 0 0 0 .25 0l4.63-2.685ZM1.601 7.789a.75.75 0 0 1 1.025-.273l5.249 3.044a.248.248 0 0 0 .25 0l5.249-3.044a.75.75 0 0 1 .752 1.298l-5.248 3.044a1.75 1.75 0 0 1-1.756 0L1.874 8.814A.75.75 0 0 1 1.6 7.789Zm0 3.5a.75.75 0 0 1 1.025-.273l5.249 3.044a.248.248 0 0 0 .25 0l5.249-3.044a.75.75 0 0 1 .752 1.298l-5.248 3.044a1.75 1.75 0 0 1-1.756 0l-5.248-3.044a.75.75 0 0 1-.273-1.025Z"></path></svg>Enterprise platform</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">AI-powered developer platform</span></span></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_9mnd_">AVAILABLE ADD-ONS</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_9mnd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/security/advanced-security" data-analytics-event="{&quot;action&quot;:&quot;github_advanced_security&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_advanced_security_link_enterprise_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-shield-check NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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>GitHub Advanced Security</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Enterprise-grade security features</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/copilot/copilot-business" data-analytics-event="{&quot;action&quot;:&quot;copilot_for_business&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;copilot_for_business_link_enterprise_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-copilot NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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>Copilot for Business</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Enterprise-grade AI features</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/enterprise/premium-support" data-analytics-event="{&quot;action&quot;:&quot;premium_support&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;premium_support_link_enterprise_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-comment-discussion NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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>Premium Support</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Enterprise-grade 24/7 support</span></span></a></li></ul></div></li></ul></div></div></li><li><a href="https://github.com/pricing" data-analytics-event="{&quot;action&quot;:&quot;pricing&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;pricing&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;pricing_link_pricing_navbar&quot;}" class="MarketingNavigation-module__navLink__hUomM">Pricing</a></li></ul></nav><div class="MarketingHeader-module__ctaContainer__tBmPz"><div class="HeaderSearch-module__searchSlot__oVOUS"><button class="Primer_Brand__Button-module__Button___scH9Z Primer_Brand__Button-module__Button--subtle___F7pEE Primer_Brand__Button-module__Button--size-small___zQrEw HeaderSearch-module__trigger__zsF9q" type="button" aria-haspopup="dialog" aria-expanded="false" aria-label="Search or jump to, type / to search" data-analytics-event="{&quot;action&quot;:&quot;searchbar&quot;,&quot;tag&quot;:&quot;input&quot;,&quot;context&quot;:&quot;global&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;searchbar_input_global_navbar&quot;}"><span class="Primer_Brand__Button-module__Button__text___ED0bX"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ Primer_Brand__Button-module__Button--label___qrkyz Primer_Brand__Button-module__Button--label-subtle___8ndWH"><span class="HeaderSearch-module__content__kMpxU"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-search HeaderSearch-module__icon__wcrHX" 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 class="HeaderSearch-module__label__d1iWG">Search</span><kbd class="HeaderSearch-module__kbd__HNG0o" aria-hidden="true">/</kbd></span></span></span></button><div class="d-none"></div></div><div class="AuthCTAs-module__signInWrap__q2P60"><a class="Primer_Brand__Button-module__Button___scH9Z Primer_Brand__Button-module__Button--subtle___F7pEE Primer_Brand__Button-module__Button--size-small___zQrEw AuthCTAs-module__cta__WpwQq AuthCTAs-module__desktopActionGap__UZuXT AuthCTAs-module__hiddenBelowLg__BfKBw" href="/login?return_to=https%3A%2F%2Fgithub.com%2Fschmouk%2Fpythonic-cpp-strings%2Fblob%2Fdev%2Fcpp-strings%2Fcppstrings.h" data-analytics-event="{&quot;action&quot;:&quot;sign_in&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;auth_cta&quot;,&quot;location&quot;:&quot;header&quot;,&quot;label&quot;:&quot;sign_in_link_auth_cta_header&quot;}" 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/schmouk/pythonic-cpp-strings/blob/dev/cpp-strings/cppstrings.h&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="cfe9a941f2cbd3cbeb65075bc6fa9803c35f0ef635f06dedbc53c4210de399f5"><span class="Primer_Brand__Button-module__Button__text___ED0bX"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ Primer_Brand__Button-module__Button--label___qrkyz Primer_Brand__Button-module__Button--label-subtle___8ndWH">Sign in</span></span></a></div><a class="Primer_Brand__Button-module__Button___scH9Z Primer_Brand__Button-module__Button--secondary___gHnw_ Primer_Brand__Button-module__Button--size-small___zQrEw AuthCTAs-module__cta__WpwQq" 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=schmouk%2Fpythonic-cpp-strings" data-analytics-event="{&quot;action&quot;:&quot;sign_up&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;auth_cta&quot;,&quot;location&quot;:&quot;header&quot;,&quot;label&quot;:&quot;sign_up_link_auth_cta_header&quot;}" 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/schmouk/pythonic-cpp-strings/blob/dev/cpp-strings/cppstrings.h&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="cfe9a941f2cbd3cbeb65075bc6fa9803c35f0ef635f06dedbc53c4210de399f5"><span class="Primer_Brand__Button-module__Button__text___ED0bX"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ Primer_Brand__Button-module__Button--label___qrkyz Primer_Brand__Button-module__Button--label-secondary___eJ0_a">Sign up</span></span></a><button class="Primer_Brand__Button-module__Button___scH9Z Primer_Brand__Button-module__Button--subtle___F7pEE Primer_Brand__Button-module__Button--size-small___zQrEw HeaderAppearanceSettings-module__trigger__hUheK" type="button" aria-haspopup="dialog" aria-labelledby="_R_fbd_"><span class="Primer_Brand__Button-module__Button__leading-visual___jjtTe" data-testid="Button-leading-visual"><svg data-component="Octicon" focusable="false" aria-hidden="true" class="octicon octicon-sliders Primer_Brand__Button-module__Button__icon-visual____qybb" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M15 2.75a.75.75 0 0 1-.75.75h-4a.75.75 0 0 1 0-1.5h4a.75.75 0 0 1 .75.75Zm-8.5.75v1.25a.75.75 0 0 0 1.5 0v-4a.75.75 0 0 0-1.5 0V2H1.75a.75.75 0 0 0 0 1.5H6.5Zm1.25 5.25a.75.75 0 0 0 0-1.5h-6a.75.75 0 0 0 0 1.5h6ZM15 8a.75.75 0 0 1-.75.75H11.5V10a.75.75 0 1 1-1.5 0V6a.75.75 0 0 1 1.5 0v1.25h2.75A.75.75 0 0 1 15 8Zm-9 5.25v-2a.75.75 0 0 0-1.5 0v1.25H1.75a.75.75 0 0 0 0 1.5H4.5v1.25a.75.75 0 0 0 1.5 0v-2Zm9 0a.75.75 0 0 1-.75.75h-6a.75.75 0 0 1 0-1.5h6a.75.75 0 0 1 .75.75Z"></path></svg></span><span class="Primer_Brand__Button-module__Button__text___ED0bX"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ Primer_Brand__Button-module__Button--label___qrkyz Primer_Brand__Button-module__Button--label-subtle___8ndWH"></span></span></button><div class="Primer_Brand__Tooltip-module__Tooltip___0Eipx" data-direction="s" aria-hidden="true" id="_R_fbd_">Appearance settings</div></div></div></div></div><div class="MarketingHeader-module__bottomBorder__uZT38" aria-hidden="true"></div></header></div></div>
</react-partial>



      <div hidden="hidden" data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full">
  
        <svg aria-hidden="true" data-component="Octicon" 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-24c61886-ae17-42cc-97f8-2040bf50bd96" aria-labelledby="tooltip-0b1ad83f-9ea7-456c-b9c9-e120f1f9b602" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close">  <svg aria-hidden="true" data-component="Octicon" 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-0b1ad83f-9ea7-456c-b9c9-e120f1f9b602" for="icon-button-24c61886-ae17-42cc-97f8-2040bf50bd96" 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" data-component="Octicon" 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="tmp-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 tmp-mb-3  tmp-px-3 tmp-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" data-component="Octicon" 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 tmp-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="user" data-hovercard-url="/users/schmouk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/schmouk">
        schmouk
</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="/schmouk/pythonic-cpp-strings">pythonic-cpp-strings</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>
            <a href="/login?return_to=%2Fschmouk%2Fpythonic-cpp-strings" 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/schmouk/pythonic-cpp-strings/blob/dev/cpp-strings/cppstrings.h&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6ab11a245984e4687ffca535b1c9ca8f5ef42992804a179de31496ac8e194822" aria-label="You must be signed in to change notification settings" data-view-component="true" class="btn-sm btn">    <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell mr-2 tmp-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-41f8749b-1339-4104-9ab4-9ae9df779203" 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=%2Fschmouk%2Fpythonic-cpp-strings" 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;:610762817,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/schmouk/pythonic-cpp-strings/blob/dev/cpp-strings/cppstrings.h&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="75e6355f00f30b3f39b609838d58cce0f299305433345f531dc97a4f5c217510" data-view-component="true" class="btn-sm btn">    <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-2 tmp-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="0" data-view-component="true" class="Counter">0</span>
</a>
  </li>

  <li>
        <div data-view-component="true" class="BtnGroup d-flex">
        <a href="/login?return_to=%2Fschmouk%2Fpythonic-cpp-strings" 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;:610762817,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/schmouk/pythonic-cpp-strings/blob/dev/cpp-strings/cppstrings.h&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="2c86bf6a6890d81296aa3d94b9d7d46eb9ca9292f25b9065a08261ee1b7ec6bc" 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" data-component="Octicon" 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 tmp-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="3 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="3" data-view-component="true" class="Counter js-social-count">3</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 tmp-px-3 px-md-4 tmp-px-md-4 px-lg-5 tmp-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="/schmouk/pythonic-cpp-strings/tree/dev" 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 /schmouk/pythonic-cpp-strings/tree/dev" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g c" data-command-id="repositories:go-to-code" data-react-nav="code-view" data-react-nav-anchor="code-view-repo-link" 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" data-component="Octicon" 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="/schmouk/pythonic-cpp-strings/issues" data-tab-item="i1issues-tab" data-selected-links="repo_issues repo_labels repo_milestones /schmouk/pythonic-cpp-strings/issues" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g i" data-command-id="repositories:go-to-issues" data-react-nav="issues-react" 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" data-component="Octicon" 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="3" data-view-component="true" class="Counter">3</span>


    
</a></li>
      <li data-view-component="true" class="d-inline-flex">
  <a id="pull-requests-tab" href="/schmouk/pythonic-cpp-strings/pulls" data-tab-item="i2pull-requests-tab" data-selected-links="repo_pulls checks /schmouk/pythonic-cpp-strings/pulls" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g p" data-command-id="repositories:go-to-pull-requests" 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" data-component="Octicon" 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="0" hidden="hidden" data-view-component="true" class="Counter">0</span>


    
</a></li>
      <li data-view-component="true" class="d-inline-flex">
  <a id="actions-tab" href="/schmouk/pythonic-cpp-strings/actions" data-tab-item="i3actions-tab" data-selected-links="repo_actions /schmouk/pythonic-cpp-strings/actions" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g a" data-command-id="repositories:go-to-actions" data-react-nav="actions-workflows" 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" data-component="Octicon" 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="/schmouk/pythonic-cpp-strings/projects" data-tab-item="i4projects-tab" data-selected-links="repo_projects new_repo_project repo_project /schmouk/pythonic-cpp-strings/projects" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g b" data-command-id="repositories:go-to-projects" 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" data-component="Octicon" 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="Not available" data-view-component="true" class="Counter"></span>


    
</a></li>
      <li data-view-component="true" class="d-inline-flex">
  <a id="security-and-quality-tab" href="/schmouk/pythonic-cpp-strings/security" data-tab-item="i5security-and-quality-tab" data-selected-links="security overview alerts policy token_scanning code_scanning /schmouk/pythonic-cpp-strings/security" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g s" data-command-id="repositories:go-to-security" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Security and quality&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" data-component="Octicon" 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 and quality">Security and quality</span>
          <span id="security-and-quality-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="insights-tab" href="/schmouk/pythonic-cpp-strings/pulse" data-tab-item="i6insights-tab" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /schmouk/pythonic-cpp-strings/pulse" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-command-id="repositories:go-to-insights" 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" data-component="Octicon" 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 tmp-pr-3 pr-md-4 tmp-pr-md-4 pr-lg-5 tmp-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-6381413d-bc46-409b-9907-1322fc7c4132-button" popovertarget="action-menu-6381413d-bc46-409b-9907-1322fc7c4132-overlay" aria-controls="action-menu-6381413d-bc46-409b-9907-1322fc7c4132-list" aria-haspopup="true" aria-labelledby="tooltip-3f85f469-7190-4813-973b-2c24395d96af" type="button" data-view-component="true" class="Button Button--iconOnly Button--secondary Button--medium UnderlineNav-item">  <svg aria-hidden="true" data-component="Octicon" 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-3f85f469-7190-4813-973b-2c24395d96af" for="action-menu-6381413d-bc46-409b-9907-1322fc7c4132-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-6381413d-bc46-409b-9907-1322fc7c4132-overlay" anchor="action-menu-6381413d-bc46-409b-9907-1322fc7c4132-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-6381413d-bc46-409b-9907-1322fc7c4132-button" id="action-menu-6381413d-bc46-409b-9907-1322fc7c4132-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-5dc61462-5ed5-4ec8-bef1-5b3219c91893" href="/schmouk/pythonic-cpp-strings/tree/dev" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
        <span class="ActionListItem-visual ActionListItem-visual--leading">
          <svg aria-hidden="true" data-component="Octicon" 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-8c5d8420-a2f1-449f-8bf7-65b5a9ae11cd" href="/schmouk/pythonic-cpp-strings/issues" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
        <span class="ActionListItem-visual ActionListItem-visual--leading">
          <svg aria-hidden="true" data-component="Octicon" 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-5a736c35-ffd6-4532-bfd8-435bc4bc0378" href="/schmouk/pythonic-cpp-strings/pulls" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
        <span class="ActionListItem-visual ActionListItem-visual--leading">
          <svg aria-hidden="true" data-component="Octicon" 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="i3actions-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
    
    
    <a tabindex="-1" id="item-2e5a4262-98b1-4c7a-9237-c8fae9faf22c" href="/schmouk/pythonic-cpp-strings/actions" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
        <span class="ActionListItem-visual ActionListItem-visual--leading">
          <svg aria-hidden="true" data-component="Octicon" 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="i4projects-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
    
    
    <a tabindex="-1" id="item-bd8304d8-0c21-41d1-affc-2eb35db0c1b7" href="/schmouk/pythonic-cpp-strings/projects" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
        <span class="ActionListItem-visual ActionListItem-visual--leading">
          <svg aria-hidden="true" data-component="Octicon" 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="i5security-and-quality-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
    
    
    <a tabindex="-1" id="item-628a0833-b34c-40b8-88a0-4b7fc86e94a9" href="/schmouk/pythonic-cpp-strings/security" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
        <span class="ActionListItem-visual ActionListItem-visual--leading">
          <svg aria-hidden="true" data-component="Octicon" 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 and quality
</span>      
</a>
  
</li>
        <li hidden="hidden" data-menu-item="i6insights-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
    
    
    <a tabindex="-1" id="item-d1982720-f6b5-49c5-aa83-812e278c8b46" href="/schmouk/pythonic-cpp-strings/pulse" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
        <span class="ActionListItem-visual ActionListItem-visual--leading">
          <svg aria-hidden="true" data-component="Octicon" 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="code-view"
  initial-path="/schmouk/pythonic-cpp-strings/blob/dev/cpp-strings/cppstrings.h"
  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="true"
  data-react-profiling="false"
>
  
  <script type="application/json" data-target="react-app.embeddedData">{"payload":{"codeViewBlobRoute":{"csv":null,"csvError":null,"headerInfo":{"toc":null},"issueTemplate":null,"discussionTemplate":null,"richText":null,"richTextTruncated":false,"renderedFileInfo":null,"symbols":{"timed_out":true,"not_analyzed":false,"symbols":[{"name":"CppStringT","fully_qualified_name":"CppStringT","kind":"class","ident_start":1578,"ident_end":1588,"extent_start":1572,"extent_end":1588,"ident_utf16":{"start":{"line_number":49,"utf16_col":12},"end":{"line_number":49,"utf16_col":22}},"extent_utf16":{"start":{"line_number":49,"utf16_col":6},"end":{"line_number":49,"utf16_col":22}}},{"name":"Slice","fully_qualified_name":"Slice","kind":"class","ident_start":2520,"ident_end":2525,"extent_start":2514,"extent_end":2525,"ident_utf16":{"start":{"line_number":69,"utf16_col":10},"end":{"line_number":69,"utf16_col":15}},"extent_utf16":{"start":{"line_number":69,"utf16_col":4},"end":{"line_number":69,"utf16_col":15}}},{"name":"CppStringT","fully_qualified_name":"CppStringT","kind":"class","ident_start":7470,"ident_end":7480,"extent_start":7464,"extent_end":85599,"ident_utf16":{"start":{"line_number":164,"utf16_col":10},"end":{"line_number":164,"utf16_col":20}},"extent_utf16":{"start":{"line_number":164,"utf16_col":4},"end":{"line_number":1925,"utf16_col":5}}},{"name":"TransTable","fully_qualified_name":"CppStringT::TransTable","kind":"class","ident_start":8778,"ident_end":8788,"extent_start":8772,"extent_end":17945,"ident_utf16":{"start":{"line_number":187,"utf16_col":14},"end":{"line_number":187,"utf16_col":24}},"extent_utf16":{"start":{"line_number":187,"utf16_col":8},"end":{"line_number":383,"utf16_col":9}}},{"name":"TransTable","fully_qualified_name":"CppStringT::TransTable::TransTable","kind":"function","ident_start":9125,"ident_end":9135,"extent_start":9118,"extent_end":9241,"ident_utf16":{"start":{"line_number":196,"utf16_col":19},"end":{"line_number":196,"utf16_col":29}},"extent_utf16":{"start":{"line_number":196,"utf16_col":12},"end":{"line_number":198,"utf16_col":14}}},{"name":"TransTable","fully_qualified_name":"CppStringT::TransTable::TransTable","kind":"function","ident_start":9545,"ident_end":9555,"extent_start":9545,"extent_end":9832,"ident_utf16":{"start":{"line_number":206,"utf16_col":12},"end":{"line_number":206,"utf16_col":22}},"extent_utf16":{"start":{"line_number":206,"utf16_col":12},"end":{"line_number":212,"utf16_col":13}}},{"name":"TransTable","fully_qualified_name":"CppStringT::TransTable::TransTable","kind":"function","ident_start":10299,"ident_end":10309,"extent_start":10299,"extent_end":10719,"ident_utf16":{"start":{"line_number":222,"utf16_col":12},"end":{"line_number":222,"utf16_col":22}},"extent_utf16":{"start":{"line_number":222,"utf16_col":12},"end":{"line_number":230,"utf16_col":13}}},{"name":"TransTable","fully_qualified_name":"CppStringT::TransTable::TransTable","kind":"function","ident_start":11053,"ident_end":11063,"extent_start":11046,"extent_end":11350,"ident_utf16":{"start":{"line_number":238,"utf16_col":19},"end":{"line_number":238,"utf16_col":29}},"extent_utf16":{"start":{"line_number":238,"utf16_col":12},"end":{"line_number":244,"utf16_col":13}}},{"name":"TransTable","fully_qualified_name":"CppStringT::TransTable::TransTable","kind":"function","ident_start":11855,"ident_end":11865,"extent_start":11848,"extent_end":12284,"ident_utf16":{"start":{"line_number":254,"utf16_col":19},"end":{"line_number":254,"utf16_col":29}},"extent_utf16":{"start":{"line_number":254,"utf16_col":12},"end":{"line_number":262,"utf16_col":13}}},{"name":"TransTable","fully_qualified_name":"CppStringT::TransTable::TransTable","kind":"function","ident_start":12635,"ident_end":12645,"extent_start":12628,"extent_end":12816,"ident_utf16":{"start":{"line_number":270,"utf16_col":19},"end":{"line_number":270,"utf16_col":29}},"extent_utf16":{"start":{"line_number":270,"utf16_col":12},"end":{"line_number":274,"utf16_col":13}}},{"name":"TransTable","fully_qualified_name":"CppStringT::TransTable::TransTable","kind":"function","ident_start":13318,"ident_end":13328,"extent_start":13311,"extent_end":13631,"ident_utf16":{"start":{"line_number":284,"utf16_col":19},"end":{"line_number":284,"utf16_col":29}},"extent_utf16":{"start":{"line_number":284,"utf16_col":12},"end":{"line_number":290,"utf16_col":13}}},{"name":"TransTable","fully_qualified_name":"CppStringT::TransTable::TransTable","kind":"function","ident_start":13993,"ident_end":14003,"extent_start":13986,"extent_end":14326,"ident_utf16":{"start":{"line_number":299,"utf16_col":19},"end":{"line_number":299,"utf16_col":29}},"extent_utf16":{"start":{"line_number":299,"utf16_col":12},"end":{"line_number":305,"utf16_col":13}}},{"name":"TransTable","fully_qualified_name":"CppStringT::TransTable::TransTable","kind":"function","ident_start":14877,"ident_end":14887,"extent_start":14870,"extent_end":15472,"ident_utf16":{"start":{"line_number":316,"utf16_col":19},"end":{"line_number":316,"utf16_col":29}},"extent_utf16":{"start":{"line_number":316,"utf16_col":12},"end":{"line_number":327,"utf16_col":13}}},{"name":"TransTable","fully_qualified_name":"CppStringT::TransTable::TransTable","kind":"function","ident_start":15851,"ident_end":15861,"extent_start":15842,"extent_end":16152,"ident_utf16":{"start":{"line_number":337,"utf16_col":21},"end":{"line_number":337,"utf16_col":31}},"extent_utf16":{"start":{"line_number":337,"utf16_col":12},"end":{"line_number":343,"utf16_col":13}}},{"name":"TransTable","fully_qualified_name":"CppStringT::TransTable::TransTable","kind":"function","ident_start":16173,"ident_end":16183,"extent_start":16166,"extent_end":16205,"ident_utf16":{"start":{"line_number":345,"utf16_col":19},"end":{"line_number":345,"utf16_col":29}},"extent_utf16":{"start":{"line_number":345,"utf16_col":12},"end":{"line_number":345,"utf16_col":51}}},{"name":"TransTable","fully_qualified_name":"CppStringT::TransTable::TransTable","kind":"function","ident_start":16289,"ident_end":16299,"extent_start":16282,"extent_end":16338,"ident_utf16":{"start":{"line_number":346,"utf16_col":19},"end":{"line_number":346,"utf16_col":29}},"extent_utf16":{"start":{"line_number":346,"utf16_col":12},"end":{"line_number":346,"utf16_col":68}}},{"name":"TransTable","fully_qualified_name":"CppStringT::TransTable::TransTable","kind":"function","ident_start":16404,"ident_end":16414,"extent_start":16397,"extent_end":16448,"ident_utf16":{"start":{"line_number":347,"utf16_col":19},"end":{"line_number":347,"utf16_col":29}},"extent_utf16":{"start":{"line_number":347,"utf16_col":12},"end":{"line_number":347,"utf16_col":63}}},{"name":"CppStringT","fully_qualified_name":"CppStringT::CppStringT","kind":"function","ident_start":18032,"ident_end":18042,"extent_start":18025,"extent_end":18127,"ident_utf16":{"start":{"line_number":387,"utf16_col":15},"end":{"line_number":387,"utf16_col":25}},"extent_utf16":{"start":{"line_number":387,"utf16_col":8},"end":{"line_number":387,"utf16_col":110}}},{"name":"CppStringT","fully_qualified_name":"CppStringT::CppStringT","kind":"function","ident_start":18170,"ident_end":18180,"extent_start":18163,"extent_end":18270,"ident_utf16":{"start":{"line_number":388,"utf16_col":15},"end":{"line_number":388,"utf16_col":25}},"extent_utf16":{"start":{"line_number":388,"utf16_col":8},"end":{"line_number":388,"utf16_col":115}}},{"name":"CppStringT","fully_qualified_name":"CppStringT::CppStringT","kind":"function","ident_start":18308,"ident_end":18318,"extent_start":18301,"extent_end":18415,"ident_utf16":{"start":{"line_number":389,"utf16_col":15},"end":{"line_number":389,"utf16_col":25}},"extent_utf16":{"start":{"line_number":389,"utf16_col":8},"end":{"line_number":389,"utf16_col":122}}},{"name":"CppStringT","fully_qualified_name":"CppStringT::CppStringT","kind":"function","ident_start":18446,"ident_end":18456,"extent_start":18439,"extent_end":18546,"ident_utf16":{"start":{"line_number":390,"utf16_col":15},"end":{"line_number":390,"utf16_col":25}},"extent_utf16":{"start":{"line_number":390,"utf16_col":8},"end":{"line_number":390,"utf16_col":115}}},{"name":"CppStringT","fully_qualified_name":"CppStringT::CppStringT","kind":"function","ident_start":18584,"ident_end":18594,"extent_start":18577,"extent_end":18691,"ident_utf16":{"start":{"line_number":391,"utf16_col":15},"end":{"line_number":391,"utf16_col":25}},"extent_utf16":{"start":{"line_number":391,"utf16_col":8},"end":{"line_number":391,"utf16_col":122}}},{"name":"CppStringT","fully_qualified_name":"CppStringT::CppStringT","kind":"function","ident_start":18722,"ident_end":18732,"extent_start":18715,"extent_end":18826,"ident_utf16":{"start":{"line_number":392,"utf16_col":15},"end":{"line_number":392,"utf16_col":25}},"extent_utf16":{"start":{"line_number":392,"utf16_col":8},"end":{"line_number":392,"utf16_col":119}}},{"name":"CppStringT","fully_qualified_name":"CppStringT::CppStringT","kind":"function","ident_start":18860,"ident_end":18870,"extent_start":18853,"extent_end":18965,"ident_utf16":{"start":{"line_number":393,"utf16_col":15},"end":{"line_number":393,"utf16_col":25}},"extent_utf16":{"start":{"line_number":393,"utf16_col":8},"end":{"line_number":393,"utf16_col":120}}},{"name":"CppStringT","fully_qualified_name":"CppStringT::CppStringT","kind":"function","ident_start":18998,"ident_end":19008,"extent_start":18991,"extent_end":19110,"ident_utf16":{"start":{"line_number":394,"utf16_col":15},"end":{"line_number":394,"utf16_col":25}},"extent_utf16":{"start":{"line_number":394,"utf16_col":8},"end":{"line_number":394,"utf16_col":127}}},{"name":"CppStringT","fully_qualified_name":"CppStringT::CppStringT","kind":"function","ident_start":19136,"ident_end":19146,"extent_start":19129,"extent_end":19325,"ident_utf16":{"start":{"line_number":395,"utf16_col":15},"end":{"line_number":395,"utf16_col":25}},"extent_utf16":{"start":{"line_number":395,"utf16_col":8},"end":{"line_number":397,"utf16_col":10}}},{"name":"CppStringT","fully_qualified_name":"CppStringT::CppStringT","kind":"function","ident_start":19341,"ident_end":19351,"extent_start":19334,"extent_end":19538,"ident_utf16":{"start":{"line_number":398,"utf16_col":15},"end":{"line_number":398,"utf16_col":25}},"extent_utf16":{"start":{"line_number":398,"utf16_col":8},"end":{"line_number":400,"utf16_col":10}}},{"name":"CppStringT","fully_qualified_name":"CppStringT::CppStringT","kind":"function","ident_start":19554,"ident_end":19564,"extent_start":19547,"extent_end":19654,"ident_utf16":{"start":{"line_number":401,"utf16_col":15},"end":{"line_number":401,"utf16_col":25}},"extent_utf16":{"start":{"line_number":401,"utf16_col":8},"end":{"line_number":401,"utf16_col":115}}},{"name":"CppStringT","fully_qualified_name":"CppStringT::CppStringT","kind":"function","ident_start":19694,"ident_end":19704,"extent_start":19687,"extent_end":19794,"ident_utf16":{"start":{"line_number":403,"utf16_col":15},"end":{"line_number":403,"utf16_col":25}},"extent_utf16":{"start":{"line_number":403,"utf16_col":8},"end":{"line_number":403,"utf16_col":115}}},{"name":"CppStringT","fully_qualified_name":"CppStringT::CppStringT","kind":"function","ident_start":19834,"ident_end":19844,"extent_start":19827,"extent_end":19934,"ident_utf16":{"start":{"line_number":405,"utf16_col":15},"end":{"line_number":405,"utf16_col":25}},"extent_utf16":{"start":{"line_number":405,"utf16_col":8},"end":{"line_number":405,"utf16_col":115}}},{"name":"CppStringT","fully_qualified_name":"CppStringT::CppStringT","kind":"function","ident_start":19973,"ident_end":19983,"extent_start":19966,"extent_end":20080,"ident_utf16":{"start":{"line_number":406,"utf16_col":15},"end":{"line_number":406,"utf16_col":25}},"extent_utf16":{"start":{"line_number":406,"utf16_col":8},"end":{"line_number":406,"utf16_col":122}}},{"name":"CppStringT","fully_qualified_name":"CppStringT::CppStringT","kind":"function","ident_start":20112,"ident_end":20122,"extent_start":20105,"extent_end":20212,"ident_utf16":{"start":{"line_number":407,"utf16_col":15},"end":{"line_number":407,"utf16_col":25}},"extent_utf16":{"start":{"line_number":407,"utf16_col":8},"end":{"line_number":407,"utf16_col":115}}},{"name":"CppStringT","fully_qualified_name":"CppStringT::CppStringT","kind":"function","ident_start":20251,"ident_end":20261,"extent_start":20244,"extent_end":20358,"ident_utf16":{"start":{"line_number":408,"utf16_col":15},"end":{"line_number":408,"utf16_col":25}},"extent_utf16":{"start":{"line_number":408,"utf16_col":8},"end":{"line_number":408,"utf16_col":122}}},{"name":"CppStringT","fully_qualified_name":"CppStringT::CppStringT","kind":"function","ident_start":20423,"ident_end":20433,"extent_start":20416,"extent_end":20529,"ident_utf16":{"start":{"line_number":411,"utf16_col":15},"end":{"line_number":411,"utf16_col":25}},"extent_utf16":{"start":{"line_number":411,"utf16_col":8},"end":{"line_number":411,"utf16_col":121}}},{"name":"CppStringT","fully_qualified_name":"CppStringT::CppStringT","kind":"function","ident_start":20604,"ident_end":20614,"extent_start":20595,"extent_end":20700,"ident_utf16":{"start":{"line_number":414,"utf16_col":17},"end":{"line_number":414,"utf16_col":27}},"extent_utf16":{"start":{"line_number":414,"utf16_col":8},"end":{"line_number":414,"utf16_col":113}}},{"name":"CppStringT","fully_qualified_name":"CppStringT::CppStringT","kind":"function","ident_start":20774,"ident_end":20784,"extent_start":20774,"extent_end":20887,"ident_utf16":{"start":{"line_number":417,"utf16_col":8},"end":{"line_number":417,"utf16_col":18}},"extent_utf16":{"start":{"line_number":417,"utf16_col":8},"end":{"line_number":417,"utf16_col":121}}},{"name":"NotFoundException","fully_qualified_name":"CppStringT::NotFoundException","kind":"class","ident_start":21311,"ident_end":21328,"extent_start":21305,"extent_end":21620,"ident_utf16":{"start":{"line_number":428,"utf16_col":14},"end":{"line_number":428,"utf16_col":31}},"extent_utf16":{"start":{"line_number":428,"utf16_col":8},"end":{"line_number":435,"utf16_col":9}}},{"name":"NotFoundException","fully_qualified_name":"CppStringT::NotFoundException::NotFoundException","kind":"function","ident_start":21451,"ident_end":21468,"extent_start":21444,"extent_end":21524,"ident_utf16":{"start":{"line_number":433,"utf16_col":19},"end":{"line_number":433,"utf16_col":36}},"extent_utf16":{"start":{"line_number":433,"utf16_col":12},"end":{"line_number":433,"utf16_col":92}}},{"name":"NotFoundException","fully_qualified_name":"CppStringT::NotFoundException::NotFoundException","kind":"function","ident_start":21544,"ident_end":21561,"extent_start":21537,"extent_end":21610,"ident_utf16":{"start":{"line_number":434,"utf16_col":19},"end":{"line_number":434,"utf16_col":36}},"extent_utf16":{"start":{"line_number":434,"utf16_col":12},"end":{"line_number":434,"utf16_col":85}}},{"name":"capitalize","fully_qualified_name":"CppStringT::capitalize","kind":"function","ident_start":21900,"ident_end":21910,"extent_start":21882,"extent_end":22134,"ident_utf16":{"start":{"line_number":442,"utf16_col":26},"end":{"line_number":442,"utf16_col":36}},"extent_utf16":{"start":{"line_number":442,"utf16_col":8},"end":{"line_number":450,"utf16_col":9}}},{"name":"center","fully_qualified_name":"CppStringT::center","kind":"function","ident_start":22599,"ident_end":22605,"extent_start":22566,"extent_end":22990,"ident_utf16":{"start":{"line_number":461,"utf16_col":19},"end":{"line_number":461,"utf16_col":25}},"extent_utf16":{"start":{"line_number":460,"utf16_col":8},"end":{"line_number":469,"utf16_col":9}}},{"name":"contains","fully_qualified_name":"CppStringT::contains","kind":"function","ident_start":23304,"ident_end":23312,"extent_start":23267,"extent_end":24216,"ident_utf16":{"start":{"line_number":478,"utf16_col":23},"end":{"line_number":478,"utf16_col":31}},"extent_utf16":{"start":{"line_number":477,"utf16_col":8},"end":{"line_number":502,"utf16_col":9}}},{"name":"contains_n","fully_qualified_name":"CppStringT::contains_n","kind":"function","ident_start":24581,"ident_end":24591,"extent_start":24537,"extent_end":24867,"ident_utf16":{"start":{"line_number":511,"utf16_col":30},"end":{"line_number":511,"utf16_col":40}},"extent_utf16":{"start":{"line_number":510,"utf16_col":8},"end":{"line_number":519,"utf16_col":9}}},{"name":"count","fully_qualified_name":"CppStringT::count","kind":"function","ident_start":25104,"ident_end":25109,"extent_start":25062,"extent_end":25731,"ident_utf16":{"start":{"line_number":525,"utf16_col":28},"end":{"line_number":525,"utf16_col":33}},"extent_utf16":{"start":{"line_number":524,"utf16_col":8},"end":{"line_number":542,"utf16_col":9}}},{"name":"count_n","fully_qualified_name":"CppStringT::count_n","kind":"function","ident_start":25986,"ident_end":25993,"extent_start":25937,"extent_end":26156,"ident_utf16":{"start":{"line_number":548,"utf16_col":35},"end":{"line_number":548,"utf16_col":42}},"extent_utf16":{"start":{"line_number":547,"utf16_col":8},"end":{"line_number":551,"utf16_col":9}}},{"name":"count_n","fully_qualified_name":"CppStringT::count_n","kind":"function","ident_start":26332,"ident_end":26339,"extent_start":26283,"extent_end":26467,"ident_utf16":{"start":{"line_number":555,"utf16_col":35},"end":{"line_number":555,"utf16_col":42}},"extent_utf16":{"start":{"line_number":554,"utf16_col":8},"end":{"line_number":558,"utf16_col":9}}},{"name":"endswith","fully_qualified_name":"CppStringT::endswith","kind":"function","ident_start":26749,"ident_end":26757,"extent_start":26709,"extent_end":26950,"ident_utf16":{"start":{"line_number":564,"utf16_col":26},"end":{"line_number":564,"utf16_col":34}},"extent_utf16":{"start":{"line_number":563,"utf16_col":8},"end":{"line_number":567,"utf16_col":9}}},{"name":"endswith","fully_qualified_name":"CppStringT::endswith","kind":"function","ident_start":27164,"ident_end":27172,"extent_start":27124,"extent_end":27326,"ident_utf16":{"start":{"line_number":571,"utf16_col":26},"end":{"line_number":571,"utf16_col":34}},"extent_utf16":{"start":{"line_number":570,"utf16_col":8},"end":{"line_number":574,"utf16_col":9}}},{"name":"endswith","fully_qualified_name":"CppStringT::endswith","kind":"function","ident_start":27513,"ident_end":27521,"extent_start":27473,"extent_end":27658,"ident_utf16":{"start":{"line_number":578,"utf16_col":26},"end":{"line_number":578,"utf16_col":34}},"extent_utf16":{"start":{"line_number":577,"utf16_col":8},"end":{"line_number":581,"utf16_col":9}}},{"name":"endswith","fully_qualified_name":"CppStringT::endswith","kind":"function","ident_start":27873,"ident_end":27881,"extent_start":27840,"extent_end":28323,"ident_utf16":{"start":{"line_number":585,"utf16_col":19},"end":{"line_number":585,"utf16_col":27}},"extent_utf16":{"start":{"line_number":584,"utf16_col":8},"end":{"line_number":596,"utf16_col":9}}},{"name":"endswith_n","fully_qualified_name":"CppStringT::endswith_n","kind":"function","ident_start":28611,"ident_end":28621,"extent_start":28571,"extent_end":28791,"ident_utf16":{"start":{"line_number":602,"utf16_col":26},"end":{"line_number":602,"utf16_col":36}},"extent_utf16":{"start":{"line_number":601,"utf16_col":8},"end":{"line_number":605,"utf16_col":9}}},{"name":"endswith_n","fully_qualified_name":"CppStringT::endswith_n","kind":"function","ident_start":29006,"ident_end":29016,"extent_start":28966,"extent_end":29151,"ident_utf16":{"start":{"line_number":609,"utf16_col":26},"end":{"line_number":609,"utf16_col":36}},"extent_utf16":{"start":{"line_number":608,"utf16_col":8},"end":{"line_number":612,"utf16_col":9}}},{"name":"endswith_n","fully_qualified_name":"CppStringT::endswith_n","kind":"function","ident_start":29379,"ident_end":29389,"extent_start":29339,"extent_end":29586,"ident_utf16":{"start":{"line_number":616,"utf16_col":26},"end":{"line_number":616,"utf16_col":36}},"extent_utf16":{"start":{"line_number":615,"utf16_col":8},"end":{"line_number":619,"utf16_col":9}}},{"name":"expand_tabs","fully_qualified_name":"CppStringT::expand_tabs","kind":"function","ident_start":29866,"ident_end":29877,"extent_start":29833,"extent_end":30711,"ident_utf16":{"start":{"line_number":625,"utf16_col":19},"end":{"line_number":625,"utf16_col":30}},"extent_utf16":{"start":{"line_number":624,"utf16_col":8},"end":{"line_number":649,"utf16_col":9}}},{"name":"find","fully_qualified_name":"CppStringT::find","kind":"function","ident_start":31472,"ident_end":31476,"extent_start":31430,"extent_end":31831,"ident_utf16":{"start":{"line_number":665,"utf16_col":28},"end":{"line_number":665,"utf16_col":32}},"extent_utf16":{"start":{"line_number":664,"utf16_col":8},"end":{"line_number":673,"utf16_col":9}}},{"name":"find_n","fully_qualified_name":"CppStringT::find_n","kind":"function","ident_start":32647,"ident_end":32653,"extent_start":32598,"extent_end":33138,"ident_utf16":{"start":{"line_number":690,"utf16_col":35},"end":{"line_number":690,"utf16_col":41}},"extent_utf16":{"start":{"line_number":689,"utf16_col":8},"end":{"line_number":703,"utf16_col":9}}},{"name":"find_n","fully_qualified_name":"CppStringT::find_n","kind":"function","ident_start":33875,"ident_end":33881,"extent_start":33826,"extent_end":34004,"ident_utf16":{"start":{"line_number":718,"utf16_col":35},"end":{"line_number":718,"utf16_col":41}},"extent_utf16":{"start":{"line_number":717,"utf16_col":8},"end":{"line_number":721,"utf16_col":9}}},{"name":"index","fully_qualified_name":"CppStringT::index","kind":"function","ident_start":35482,"ident_end":35487,"extent_start":35433,"extent_end":35825,"ident_utf16":{"start":{"line_number":761,"utf16_col":35},"end":{"line_number":761,"utf16_col":40}},"extent_utf16":{"start":{"line_number":760,"utf16_col":8},"end":{"line_number":768,"utf16_col":9}}},{"name":"index_n","fully_qualified_name":"CppStringT::index_n","kind":"function","ident_start":36194,"ident_end":36201,"extent_start":36145,"extent_end":36353,"ident_utf16":{"start":{"line_number":778,"utf16_col":35},"end":{"line_number":778,"utf16_col":42}},"extent_utf16":{"start":{"line_number":777,"utf16_col":8},"end":{"line_number":781,"utf16_col":9}}},{"name":"index_n","fully_qualified_name":"CppStringT::index_n","kind":"function","ident_start":36646,"ident_end":36653,"extent_start":36597,"extent_end":36766,"ident_utf16":{"start":{"line_number":789,"utf16_col":35},"end":{"line_number":789,"utf16_col":42}},"extent_utf16":{"start":{"line_number":788,"utf16_col":8},"end":{"line_number":792,"utf16_col":9}}},{"name":"isalnum","fully_qualified_name":"CppStringT::isalnum","kind":"function","ident_start":37026,"ident_end":37033,"extent_start":36986,"extent_end":37438,"ident_utf16":{"start":{"line_number":798,"utf16_col":26},"end":{"line_number":798,"utf16_col":33}},"extent_utf16":{"start":{"line_number":797,"utf16_col":8},"end":{"line_number":808,"utf16_col":9}}},{"name":"isalpha","fully_qualified_name":"CppStringT::isalpha","kind":"function","ident_start":37695,"ident_end":37702,"extent_start":37655,"extent_end":37846,"ident_utf16":{"start":{"line_number":814,"utf16_col":26},"end":{"line_number":814,"utf16_col":33}},"extent_utf16":{"start":{"line_number":813,"utf16_col":8},"end":{"line_number":817,"utf16_col":9}}},{"name":"isascii","fully_qualified_name":"CppStringT::isascii","kind":"function","ident_start":38181,"ident_end":38188,"extent_start":38141,"extent_end":38331,"ident_utf16":{"start":{"line_number":826,"utf16_col":26},"end":{"line_number":826,"utf16_col":33}},"extent_utf16":{"start":{"line_number":825,"utf16_col":8},"end":{"line_number":829,"utf16_col":9}}},{"name":"isdecimal","fully_qualified_name":"CppStringT::isdecimal","kind":"function","ident_start":38844,"ident_end":38853,"extent_start":38804,"extent_end":38999,"ident_utf16":{"start":{"line_number":840,"utf16_col":26},"end":{"line_number":840,"utf16_col":35}},"extent_utf16":{"start":{"line_number":839,"utf16_col":8},"end":{"line_number":843,"utf16_col":9}}},{"name":"isdigit","fully_qualified_name":"CppStringT::isdigit","kind":"function","ident_start":39882,"ident_end":39889,"extent_start":39842,"extent_end":39958,"ident_utf16":{"start":{"line_number":861,"utf16_col":26},"end":{"line_number":861,"utf16_col":33}},"extent_utf16":{"start":{"line_number":860,"utf16_col":8},"end":{"line_number":864,"utf16_col":9}}},{"name":"isidentifier","fully_qualified_name":"CppStringT::isidentifier","kind":"function","ident_start":41620,"ident_end":41632,"extent_start":41580,"extent_end":41841,"ident_utf16":{"start":{"line_number":888,"utf16_col":26},"end":{"line_number":888,"utf16_col":38}},"extent_utf16":{"start":{"line_number":887,"utf16_col":8},"end":{"line_number":891,"utf16_col":9}}},{"name":"islower","fully_qualified_name":"CppStringT::islower","kind":"function","ident_start":42110,"ident_end":42117,"extent_start":42070,"extent_end":42261,"ident_utf16":{"start":{"line_number":897,"utf16_col":26},"end":{"line_number":897,"utf16_col":33}},"extent_utf16":{"start":{"line_number":896,"utf16_col":8},"end":{"line_number":900,"utf16_col":9}}},{"name":"isnumeric","fully_qualified_name":"CppStringT::isnumeric","kind":"function","ident_start":42973,"ident_end":42982,"extent_start":42933,"extent_end":43051,"ident_utf16":{"start":{"line_number":914,"utf16_col":26},"end":{"line_number":914,"utf16_col":35}},"extent_utf16":{"start":{"line_number":913,"utf16_col":8},"end":{"line_number":917,"utf16_col":9}}},{"name":"isprintable","fully_qualified_name":"CppStringT::isprintable","kind":"function","ident_start":43526,"ident_end":43537,"extent_start":43486,"extent_end":43684,"ident_utf16":{"start":{"line_number":928,"utf16_col":26},"end":{"line_number":928,"utf16_col":37}},"extent_utf16":{"start":{"line_number":927,"utf16_col":8},"end":{"line_number":931,"utf16_col":9}}},{"name":"ispunctuation","fully_qualified_name":"CppStringT::ispunctuation","kind":"function","ident_start":43940,"ident_end":43953,"extent_start":43900,"extent_end":44063,"ident_utf16":{"start":{"line_number":937,"utf16_col":26},"end":{"line_number":937,"utf16_col":39}},"extent_utf16":{"start":{"line_number":936,"utf16_col":8},"end":{"line_number":940,"utf16_col":9}}},{"name":"isspace","fully_qualified_name":"CppStringT::isspace","kind":"function","ident_start":44328,"ident_end":44335,"extent_start":44288,"extent_end":44479,"ident_utf16":{"start":{"line_number":946,"utf16_col":26},"end":{"line_number":946,"utf16_col":33}},"extent_utf16":{"start":{"line_number":945,"utf16_col":8},"end":{"line_number":949,"utf16_col":9}}},{"name":"istitle","fully_qualified_name":"CppStringT::istitle","kind":"function","ident_start":45047,"ident_end":45054,"extent_start":45007,"extent_end":45152,"ident_utf16":{"start":{"line_number":963,"utf16_col":26},"end":{"line_number":963,"utf16_col":33}},"extent_utf16":{"start":{"line_number":962,"utf16_col":8},"end":{"line_number":966,"utf16_col":9}}},{"name":"isupper","fully_qualified_name":"CppStringT::isupper","kind":"function","ident_start":45421,"ident_end":45428,"extent_start":45381,"extent_end":45572,"ident_utf16":{"start":{"line_number":972,"utf16_col":26},"end":{"line_number":972,"utf16_col":33}},"extent_utf16":{"start":{"line_number":971,"utf16_col":8},"end":{"line_number":975,"utf16_col":9}}},{"name":"is_words_sep","fully_qualified_name":"CppStringT::is_words_sep","kind":"function","ident_start":45853,"ident_end":45865,"extent_start":45813,"extent_end":46158,"ident_utf16":{"start":{"line_number":981,"utf16_col":26},"end":{"line_number":981,"utf16_col":38}},"extent_utf16":{"start":{"line_number":980,"utf16_col":8},"end":{"line_number":989,"utf16_col":9}}},{"name":"join","fully_qualified_name":"CppStringT::join","kind":"function","ident_start":46519,"ident_end":46523,"extent_start":46486,"extent_end":46879,"ident_utf16":{"start":{"line_number":999,"utf16_col":19},"end":{"line_number":999,"utf16_col":23}},"extent_utf16":{"start":{"line_number":998,"utf16_col":8},"end":{"line_number":1009,"utf16_col":9}}},{"name":"join","fully_qualified_name":"CppStringT::join","kind":"function","ident_start":47134,"ident_end":47138,"extent_start":47101,"extent_end":47492,"ident_utf16":{"start":{"line_number":1016,"utf16_col":19},"end":{"line_number":1016,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1015,"utf16_col":8},"end":{"line_number":1026,"utf16_col":9}}},{"name":"join","fully_qualified_name":"CppStringT::join","kind":"function","ident_start":47796,"ident_end":47800,"extent_start":47756,"extent_end":47997,"ident_utf16":{"start":{"line_number":1034,"utf16_col":26},"end":{"line_number":1034,"utf16_col":30}},"extent_utf16":{"start":{"line_number":1033,"utf16_col":8},"end":{"line_number":1038,"utf16_col":9}}},{"name":"join","fully_qualified_name":"CppStringT::join","kind":"function","ident_start":48131,"ident_end":48135,"extent_start":48091,"extent_end":48213,"ident_utf16":{"start":{"line_number":1042,"utf16_col":26},"end":{"line_number":1042,"utf16_col":30}},"extent_utf16":{"start":{"line_number":1041,"utf16_col":8},"end":{"line_number":1045,"utf16_col":9}}},{"name":"join","fully_qualified_name":"CppStringT::join","kind":"function","ident_start":48358,"ident_end":48362,"extent_start":48312,"extent_end":48425,"ident_utf16":{"start":{"line_number":1049,"utf16_col":32},"end":{"line_number":1049,"utf16_col":36}},"extent_utf16":{"start":{"line_number":1048,"utf16_col":8},"end":{"line_number":1052,"utf16_col":9}}},{"name":"ljust","fully_qualified_name":"CppStringT::ljust","kind":"function","ident_start":48815,"ident_end":48820,"extent_start":48775,"extent_end":49104,"ident_utf16":{"start":{"line_number":1062,"utf16_col":26},"end":{"line_number":1062,"utf16_col":31}},"extent_utf16":{"start":{"line_number":1061,"utf16_col":8},"end":{"line_number":1068,"utf16_col":9}}},{"name":"lower","fully_qualified_name":"CppStringT::lower","kind":"function","ident_start":50050,"ident_end":50055,"extent_start":49997,"extent_end":50154,"ident_utf16":{"start":{"line_number":1094,"utf16_col":39},"end":{"line_number":1094,"utf16_col":44}},"extent_utf16":{"start":{"line_number":1093,"utf16_col":8},"end":{"line_number":1097,"utf16_col":9}}},{"name":"lstrip","fully_qualified_name":"CppStringT::lstrip","kind":"function","ident_start":50627,"ident_end":50633,"extent_start":50587,"extent_end":51008,"ident_utf16":{"start":{"line_number":1109,"utf16_col":26},"end":{"line_number":1109,"utf16_col":32}},"extent_utf16":{"start":{"line_number":1108,"utf16_col":8},"end":{"line_number":1115,"utf16_col":9}}},{"name":"lstrip","fully_qualified_name":"CppStringT::lstrip","kind":"function","ident_start":51143,"ident_end":51149,"extent_start":51103,"extent_end":51413,"ident_utf16":{"start":{"line_number":1119,"utf16_col":26},"end":{"line_number":1119,"utf16_col":32}},"extent_utf16":{"start":{"line_number":1118,"utf16_col":8},"end":{"line_number":1125,"utf16_col":9}}},{"name":"partition","fully_qualified_name":"CppStringT::partition","kind":"function","ident_start":54640,"ident_end":54649,"extent_start":54594,"extent_end":55240,"ident_utf16":{"start":{"line_number":1204,"utf16_col":32},"end":{"line_number":1204,"utf16_col":41}},"extent_utf16":{"start":{"line_number":1203,"utf16_col":8},"end":{"line_number":1216,"utf16_col":9}}},{"name":"removeprefix","fully_qualified_name":"CppStringT::removeprefix","kind":"function","ident_start":55522,"ident_end":55534,"extent_start":55482,"extent_end":55849,"ident_utf16":{"start":{"line_number":1222,"utf16_col":26},"end":{"line_number":1222,"utf16_col":38}},"extent_utf16":{"start":{"line_number":1221,"utf16_col":8},"end":{"line_number":1230,"utf16_col":9}}},{"name":"removesuffix","fully_qualified_name":"CppStringT::removesuffix","kind":"function","ident_start":56129,"ident_end":56141,"extent_start":56089,"extent_end":56438,"ident_utf16":{"start":{"line_number":1236,"utf16_col":26},"end":{"line_number":1236,"utf16_col":38}},"extent_utf16":{"start":{"line_number":1235,"utf16_col":8},"end":{"line_number":1244,"utf16_col":9}}},{"name":"replace","fully_qualified_name":"CppStringT::replace","kind":"function","ident_start":56669,"ident_end":56676,"extent_start":56636,"extent_end":57405,"ident_utf16":{"start":{"line_number":1250,"utf16_col":19},"end":{"line_number":1250,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1249,"utf16_col":8},"end":{"line_number":1268,"utf16_col":9}}},{"name":"rfind","fully_qualified_name":"CppStringT::rfind","kind":"function","ident_start":58325,"ident_end":58330,"extent_start":58276,"extent_end":58821,"ident_utf16":{"start":{"line_number":1287,"utf16_col":35},"end":{"line_number":1287,"utf16_col":40}},"extent_utf16":{"start":{"line_number":1286,"utf16_col":8},"end":{"line_number":1297,"utf16_col":9}}},{"name":"rfind","fully_qualified_name":"CppStringT::rfind","kind":"function","ident_start":59678,"ident_end":59683,"extent_start":59629,"extent_end":59820,"ident_utf16":{"start":{"line_number":1315,"utf16_col":35},"end":{"line_number":1315,"utf16_col":40}},"extent_utf16":{"start":{"line_number":1314,"utf16_col":8},"end":{"line_number":1318,"utf16_col":9}}},{"name":"rfind","fully_qualified_name":"CppStringT::rfind","kind":"function","ident_start":60662,"ident_end":60667,"extent_start":60613,"extent_end":60769,"ident_utf16":{"start":{"line_number":1336,"utf16_col":35},"end":{"line_number":1336,"utf16_col":40}},"extent_utf16":{"start":{"line_number":1335,"utf16_col":8},"end":{"line_number":1339,"utf16_col":9}}},{"name":"rfind_n","fully_qualified_name":"CppStringT::rfind_n","kind":"function","ident_start":61375,"ident_end":61382,"extent_start":61326,"extent_end":61543,"ident_utf16":{"start":{"line_number":1352,"utf16_col":35},"end":{"line_number":1352,"utf16_col":42}},"extent_utf16":{"start":{"line_number":1351,"utf16_col":8},"end":{"line_number":1355,"utf16_col":9}}},{"name":"rfind_n","fully_qualified_name":"CppStringT::rfind_n","kind":"function","ident_start":62077,"ident_end":62084,"extent_start":62028,"extent_end":62324,"ident_utf16":{"start":{"line_number":1366,"utf16_col":35},"end":{"line_number":1366,"utf16_col":42}},"extent_utf16":{"start":{"line_number":1365,"utf16_col":8},"end":{"line_number":1372,"utf16_col":9}}},{"name":"rindex","fully_qualified_name":"CppStringT::rindex","kind":"function","ident_start":62689,"ident_end":62695,"extent_start":62640,"extent_end":63024,"ident_utf16":{"start":{"line_number":1382,"utf16_col":35},"end":{"line_number":1382,"utf16_col":41}},"extent_utf16":{"start":{"line_number":1381,"utf16_col":8},"end":{"line_number":1389,"utf16_col":9}}},{"name":"rindex","fully_qualified_name":"CppStringT::rindex","kind":"function","ident_start":63319,"ident_end":63325,"extent_start":63270,"extent_end":63454,"ident_utf16":{"start":{"line_number":1397,"utf16_col":35},"end":{"line_number":1397,"utf16_col":41}},"extent_utf16":{"start":{"line_number":1396,"utf16_col":8},"end":{"line_number":1400,"utf16_col":9}}},{"name":"rindex","fully_qualified_name":"CppStringT::rindex","kind":"function","ident_start":63742,"ident_end":63748,"extent_start":63693,"extent_end":63850,"ident_utf16":{"start":{"line_number":1408,"utf16_col":35},"end":{"line_number":1408,"utf16_col":41}},"extent_utf16":{"start":{"line_number":1407,"utf16_col":8},"end":{"line_number":1411,"utf16_col":9}}},{"name":"rindex_n","fully_qualified_name":"CppStringT::rindex_n","kind":"function","ident_start":64220,"ident_end":64228,"extent_start":64171,"extent_end":64381,"ident_utf16":{"start":{"line_number":1421,"utf16_col":35},"end":{"line_number":1421,"utf16_col":43}},"extent_utf16":{"start":{"line_number":1420,"utf16_col":8},"end":{"line_number":1424,"utf16_col":9}}},{"name":"rindex_n","fully_qualified_name":"CppStringT::rindex_n","kind":"function","ident_start":64675,"ident_end":64683,"extent_start":64626,"extent_end":64797,"ident_utf16":{"start":{"line_number":1432,"utf16_col":35},"end":{"line_number":1432,"utf16_col":43}},"extent_utf16":{"start":{"line_number":1431,"utf16_col":8},"end":{"line_number":1435,"utf16_col":9}}},{"name":"rjust","fully_qualified_name":"CppStringT::rjust","kind":"function","ident_start":65188,"ident_end":65193,"extent_start":65148,"extent_end":65477,"ident_utf16":{"start":{"line_number":1445,"utf16_col":26},"end":{"line_number":1445,"utf16_col":31}},"extent_utf16":{"start":{"line_number":1444,"utf16_col":8},"end":{"line_number":1451,"utf16_col":9}}},{"name":"rpartition","fully_qualified_name":"CppStringT::rpartition","kind":"function","ident_start":65961,"ident_end":65971,"extent_start":65915,"extent_end":66563,"ident_utf16":{"start":{"line_number":1461,"utf16_col":32},"end":{"line_number":1461,"utf16_col":42}},"extent_utf16":{"start":{"line_number":1460,"utf16_col":8},"end":{"line_number":1473,"utf16_col":9}}},{"name":"rsplit","fully_qualified_name":"CppStringT::rsplit","kind":"function","ident_start":66955,"ident_end":66961,"extent_start":66902,"extent_end":67020,"ident_utf16":{"start":{"line_number":1483,"utf16_col":39},"end":{"line_number":1483,"utf16_col":45}},"extent_utf16":{"start":{"line_number":1482,"utf16_col":8},"end":{"line_number":1486,"utf16_col":9}}},{"name":"rsplit","fully_qualified_name":"CppStringT::rsplit","kind":"function","ident_start":67191,"ident_end":67197,"extent_start":67138,"extent_end":67280,"ident_utf16":{"start":{"line_number":1490,"utf16_col":39},"end":{"line_number":1490,"utf16_col":45}},"extent_utf16":{"start":{"line_number":1489,"utf16_col":8},"end":{"line_number":1493,"utf16_col":9}}},{"name":"rsplit","fully_qualified_name":"CppStringT::rsplit","kind":"function","ident_start":67502,"ident_end":67508,"extent_start":67449,"extent_end":67629,"ident_utf16":{"start":{"line_number":1497,"utf16_col":39},"end":{"line_number":1497,"utf16_col":45}},"extent_utf16":{"start":{"line_number":1496,"utf16_col":8},"end":{"line_number":1500,"utf16_col":9}}},{"name":"rsplit","fully_qualified_name":"CppStringT::rsplit","kind":"function","ident_start":67841,"ident_end":67847,"extent_start":67795,"extent_end":69108,"ident_utf16":{"start":{"line_number":1504,"utf16_col":32},"end":{"line_number":1504,"utf16_col":38}},"extent_utf16":{"start":{"line_number":1503,"utf16_col":8},"end":{"line_number":1539,"utf16_col":9}}},{"name":"rstrip","fully_qualified_name":"CppStringT::rstrip","kind":"function","ident_start":69582,"ident_end":69588,"extent_start":69542,"extent_end":69997,"ident_utf16":{"start":{"line_number":1551,"utf16_col":26},"end":{"line_number":1551,"utf16_col":32}},"extent_utf16":{"start":{"line_number":1550,"utf16_col":8},"end":{"line_number":1557,"utf16_col":9}}},{"name":"rstrip","fully_qualified_name":"CppStringT::rstrip","kind":"function","ident_start":70133,"ident_end":70139,"extent_start":70093,"extent_end":70435,"ident_utf16":{"start":{"line_number":1561,"utf16_col":26},"end":{"line_number":1561,"utf16_col":32}},"extent_utf16":{"start":{"line_number":1560,"utf16_col":8},"end":{"line_number":1567,"utf16_col":9}}},{"name":"split","fully_qualified_name":"CppStringT::split","kind":"function","ident_start":70827,"ident_end":70832,"extent_start":70774,"extent_end":71130,"ident_utf16":{"start":{"line_number":1577,"utf16_col":39},"end":{"line_number":1577,"utf16_col":44}},"extent_utf16":{"start":{"line_number":1576,"utf16_col":8},"end":{"line_number":1584,"utf16_col":9}}},{"name":"split","fully_qualified_name":"CppStringT::split","kind":"function","ident_start":71723,"ident_end":71728,"extent_start":71670,"extent_end":71982,"ident_utf16":{"start":{"line_number":1596,"utf16_col":39},"end":{"line_number":1596,"utf16_col":44}},"extent_utf16":{"start":{"line_number":1595,"utf16_col":8},"end":{"line_number":1602,"utf16_col":9}}},{"name":"split","fully_qualified_name":"CppStringT::split","kind":"function","ident_start":72203,"ident_end":72208,"extent_start":72150,"extent_end":72328,"ident_utf16":{"start":{"line_number":1606,"utf16_col":39},"end":{"line_number":1606,"utf16_col":44}},"extent_utf16":{"start":{"line_number":1605,"utf16_col":8},"end":{"line_number":1609,"utf16_col":9}}},{"name":"split","fully_qualified_name":"CppStringT::split","kind":"function","ident_start":72539,"ident_end":72544,"extent_start":72493,"extent_end":73756,"ident_utf16":{"start":{"line_number":1613,"utf16_col":32},"end":{"line_number":1613,"utf16_col":37}},"extent_utf16":{"start":{"line_number":1612,"utf16_col":8},"end":{"line_number":1647,"utf16_col":9}}},{"name":"splitlines","fully_qualified_name":"CppStringT::splitlines","kind":"function","ident_start":74829,"ident_end":74839,"extent_start":74783,"extent_end":77268,"ident_utf16":{"start":{"line_number":1670,"utf16_col":32},"end":{"line_number":1670,"utf16_col":42}},"extent_utf16":{"start":{"line_number":1669,"utf16_col":8},"end":{"line_number":1732,"utf16_col":9}}},{"name":"startswith","fully_qualified_name":"CppStringT::startswith","kind":"function","ident_start":77552,"ident_end":77562,"extent_start":77512,"extent_end":77757,"ident_utf16":{"start":{"line_number":1738,"utf16_col":26},"end":{"line_number":1738,"utf16_col":36}},"extent_utf16":{"start":{"line_number":1737,"utf16_col":8},"end":{"line_number":1741,"utf16_col":9}}},{"name":"startswith","fully_qualified_name":"CppStringT::startswith","kind":"function","ident_start":77973,"ident_end":77983,"extent_start":77933,"extent_end":78131,"ident_utf16":{"start":{"line_number":1745,"utf16_col":26},"end":{"line_number":1745,"utf16_col":36}},"extent_utf16":{"start":{"line_number":1744,"utf16_col":8},"end":{"line_number":1748,"utf16_col":9}}},{"name":"startswith","fully_qualified_name":"CppStringT::startswith","kind":"function","ident_start":78320,"ident_end":78330,"extent_start":78280,"extent_end":78437,"ident_utf16":{"start":{"line_number":1752,"utf16_col":26},"end":{"line_number":1752,"utf16_col":36}},"extent_utf16":{"start":{"line_number":1751,"utf16_col":8},"end":{"line_number":1755,"utf16_col":9}}},{"name":"startswith","fully_qualified_name":"CppStringT::startswith","kind":"function","ident_start":78662,"ident_end":78672,"extent_start":78622,"extent_end":79078,"ident_utf16":{"start":{"line_number":1759,"utf16_col":26},"end":{"line_number":1759,"utf16_col":36}},"extent_utf16":{"start":{"line_number":1758,"utf16_col":8},"end":{"line_number":1770,"utf16_col":9}}},{"name":"startswith_n","fully_qualified_name":"CppStringT::startswith_n","kind":"function","ident_start":79368,"ident_end":79380,"extent_start":79328,"extent_end":79567,"ident_utf16":{"start":{"line_number":1776,"utf16_col":26},"end":{"line_number":1776,"utf16_col":38}},"extent_utf16":{"start":{"line_number":1775,"utf16_col":8},"end":{"line_number":1779,"utf16_col":9}}},{"name":"startswith_n","fully_qualified_name":"CppStringT::startswith_n","kind":"function","ident_start":79784,"ident_end":79796,"extent_start":79744,"extent_end":79956,"ident_utf16":{"start":{"line_number":1783,"utf16_col":26},"end":{"line_number":1783,"utf16_col":38}},"extent_utf16":{"start":{"line_number":1782,"utf16_col":8},"end":{"line_number":1786,"utf16_col":9}}},{"name":"startswith_n","fully_qualified_name":"CppStringT::startswith_n","kind":"function","ident_start":80186,"ident_end":80198,"extent_start":80146,"extent_end":80381,"ident_utf16":{"start":{"line_number":1790,"utf16_col":26},"end":{"line_number":1790,"utf16_col":38}},"extent_utf16":{"start":{"line_number":1789,"utf16_col":8},"end":{"line_number":1793,"utf16_col":9}}},{"name":"strip","fully_qualified_name":"CppStringT::strip","kind":"function","ident_start":80804,"ident_end":80809,"extent_start":80764,"extent_end":80944,"ident_utf16":{"start":{"line_number":1804,"utf16_col":26},"end":{"line_number":1804,"utf16_col":31}},"extent_utf16":{"start":{"line_number":1803,"utf16_col":8},"end":{"line_number":1807,"utf16_col":9}}},{"name":"strip","fully_qualified_name":"CppStringT::strip","kind":"function","ident_start":81096,"ident_end":81101,"extent_start":81056,"extent_end":81182,"ident_utf16":{"start":{"line_number":1811,"utf16_col":26},"end":{"line_number":1811,"utf16_col":31}},"extent_utf16":{"start":{"line_number":1810,"utf16_col":8},"end":{"line_number":1814,"utf16_col":9}}},{"name":"substr","fully_qualified_name":"CppStringT::substr","kind":"function","ident_start":81412,"ident_end":81418,"extent_start":81372,"extent_end":81739,"ident_utf16":{"start":{"line_number":1820,"utf16_col":26},"end":{"line_number":1820,"utf16_col":32}},"extent_utf16":{"start":{"line_number":1819,"utf16_col":8},"end":{"line_number":1827,"utf16_col":9}}},{"name":"swapcase","fully_qualified_name":"CppStringT::swapcase","kind":"function","ident_start":82074,"ident_end":82082,"extent_start":82034,"extent_end":82307,"ident_utf16":{"start":{"line_number":1836,"utf16_col":26},"end":{"line_number":1836,"utf16_col":34}},"extent_utf16":{"start":{"line_number":1835,"utf16_col":8},"end":{"line_number":1841,"utf16_col":9}}},{"name":"title","fully_qualified_name":"CppStringT::title","kind":"function","ident_start":82571,"ident_end":82576,"extent_start":82538,"extent_end":82904,"ident_utf16":{"start":{"line_number":1847,"utf16_col":19},"end":{"line_number":1847,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1846,"utf16_col":8},"end":{"line_number":1858,"utf16_col":9}}},{"name":"translate","fully_qualified_name":"CppStringT::translate","kind":"function","ident_start":83374,"ident_end":83383,"extent_start":83341,"extent_end":83620,"ident_utf16":{"start":{"line_number":1869,"utf16_col":19},"end":{"line_number":1869,"utf16_col":28}},"extent_utf16":{"start":{"line_number":1868,"utf16_col":8},"end":{"line_number":1877,"utf16_col":9}}},{"name":"upper","fully_qualified_name":"CppStringT::upper","kind":"function","ident_start":84541,"ident_end":84546,"extent_start":84488,"extent_end":84645,"ident_utf16":{"start":{"line_number":1899,"utf16_col":39},"end":{"line_number":1899,"utf16_col":44}},"extent_utf16":{"start":{"line_number":1898,"utf16_col":8},"end":{"line_number":1902,"utf16_col":9}}},{"name":"zfill","fully_qualified_name":"CppStringT::zfill","kind":"function","ident_start":85118,"ident_end":85123,"extent_start":85078,"extent_end":85592,"ident_utf16":{"start":{"line_number":1913,"utf16_col":26},"end":{"line_number":1913,"utf16_col":31}},"extent_utf16":{"start":{"line_number":1912,"utf16_col":8},"end":{"line_number":1923,"utf16_col":9}}},{"name":"Slice","fully_qualified_name":"Slice","kind":"class","ident_start":86341,"ident_end":86346,"extent_start":86335,"extent_end":90305,"ident_utf16":{"start":{"line_number":1947,"utf16_col":10},"end":{"line_number":1947,"utf16_col":15}},"extent_utf16":{"start":{"line_number":1947,"utf16_col":4},"end":{"line_number":2057,"utf16_col":5}}},{"name":"Slice","fully_qualified_name":"Slice::Slice","kind":"function","ident_start":86513,"ident_end":86518,"extent_start":86513,"extent_end":86726,"ident_utf16":{"start":{"line_number":1953,"utf16_col":8},"end":{"line_number":1953,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1953,"utf16_col":8},"end":{"line_number":1957,"utf16_col":10}}},{"name":"begin","fully_qualified_name":"Slice::begin","kind":"function","ident_start":87324,"ident_end":87329,"extent_start":87306,"extent_end":87492,"ident_utf16":{"start":{"line_number":1969,"utf16_col":26},"end":{"line_number":1969,"utf16_col":31}},"extent_utf16":{"start":{"line_number":1969,"utf16_col":8},"end":{"line_number":1972,"utf16_col":9}}},{"name":"end","fully_qualified_name":"Slice::end","kind":"function","ident_start":87542,"ident_end":87545,"extent_start":87502,"extent_end":87731,"ident_utf16":{"start":{"line_number":1975,"utf16_col":26},"end":{"line_number":1975,"utf16_col":29}},"extent_utf16":{"start":{"line_number":1974,"utf16_col":8},"end":{"line_number":1978,"utf16_col":9}}},{"name":"start","fully_qualified_name":"Slice::start","kind":"function","ident_start":88454,"ident_end":88459,"extent_start":88442,"extent_end":88480,"ident_utf16":{"start":{"line_number":1999,"utf16_col":20},"end":{"line_number":1999,"utf16_col":25}},"extent_utf16":{"start":{"line_number":1999,"utf16_col":8},"end":{"line_number":1999,"utf16_col":46}}},{"name":"stop","fully_qualified_name":"Slice::stop","kind":"function","ident_start":88545,"ident_end":88549,"extent_start":88533,"extent_end":88569,"ident_utf16":{"start":{"line_number":2000,"utf16_col":20},"end":{"line_number":2000,"utf16_col":24}},"extent_utf16":{"start":{"line_number":2000,"utf16_col":8},"end":{"line_number":2000,"utf16_col":44}}},{"name":"step","fully_qualified_name":"Slice::step","kind":"function","ident_start":88633,"ident_end":88637,"extent_start":88621,"extent_end":88657,"ident_utf16":{"start":{"line_number":2001,"utf16_col":20},"end":{"line_number":2001,"utf16_col":24}},"extent_utf16":{"start":{"line_number":2001,"utf16_col":8},"end":{"line_number":2001,"utf16_col":44}}},{"name":"_prepare_iterating","fully_qualified_name":"Slice::_prepare_iterating","kind":"function","ident_start":88867,"ident_end":88885,"extent_start":88834,"extent_end":90299,"ident_utf16":{"start":{"line_number":2012,"utf16_col":19},"end":{"line_number":2012,"utf16_col":37}},"extent_utf16":{"start":{"line_number":2011,"utf16_col":8},"end":{"line_number":2056,"utf16_col":9}}},{"name":"StartSlice","fully_qualified_name":"StartSlice","kind":"class","ident_start":90457,"ident_end":90467,"extent_start":90450,"extent_end":90854,"ident_utf16":{"start":{"line_number":2063,"utf16_col":11},"end":{"line_number":2063,"utf16_col":21}},"extent_utf16":{"start":{"line_number":2063,"utf16_col":4},"end":{"line_number":2073,"utf16_col":5}}},{"name":"StartSlice","fully_qualified_name":"StartSlice::StartSlice","kind":"function","ident_start":90616,"ident_end":90626,"extent_start":90609,"extent_end":90771,"ident_utf16":{"start":{"line_number":2068,"utf16_col":15},"end":{"line_number":2068,"utf16_col":25}},"extent_utf16":{"start":{"line_number":2068,"utf16_col":8},"end":{"line_number":2070,"utf16_col":10}}},{"name":"StopSlice","fully_qualified_name":"StopSlice","kind":"class","ident_start":91007,"ident_end":91016,"extent_start":91000,"extent_end":91399,"ident_utf16":{"start":{"line_number":2079,"utf16_col":11},"end":{"line_number":2079,"utf16_col":20}},"extent_utf16":{"start":{"line_number":2079,"utf16_col":4},"end":{"line_number":2089,"utf16_col":5}}},{"name":"StopSlice","fully_qualified_name":"StopSlice::StopSlice","kind":"function","ident_start":91165,"ident_end":91174,"extent_start":91158,"extent_end":91317,"ident_utf16":{"start":{"line_number":2084,"utf16_col":15},"end":{"line_number":2084,"utf16_col":24}},"extent_utf16":{"start":{"line_number":2084,"utf16_col":8},"end":{"line_number":2086,"utf16_col":10}}},{"name":"StepSlice","fully_qualified_name":"StepSlice","kind":"class","ident_start":91552,"ident_end":91561,"extent_start":91545,"extent_end":91963,"ident_utf16":{"start":{"line_number":2095,"utf16_col":11},"end":{"line_number":2095,"utf16_col":20}},"extent_utf16":{"start":{"line_number":2095,"utf16_col":4},"end":{"line_number":2105,"utf16_col":5}}},{"name":"StepSlice","fully_qualified_name":"StepSlice::StepSlice","kind":"function","ident_start":91710,"ident_end":91719,"extent_start":91703,"extent_end":91881,"ident_utf16":{"start":{"line_number":2100,"utf16_col":15},"end":{"line_number":2100,"utf16_col":24}},"extent_utf16":{"start":{"line_number":2100,"utf16_col":8},"end":{"line_number":2102,"utf16_col":10}}},{"name":"StartStopSlice","fully_qualified_name":"StartStopSlice","kind":"class","ident_start":92106,"ident_end":92120,"extent_start":92099,"extent_end":92539,"ident_utf16":{"start":{"line_number":2111,"utf16_col":11},"end":{"line_number":2111,"utf16_col":25}},"extent_utf16":{"start":{"line_number":2111,"utf16_col":4},"end":{"line_number":2121,"utf16_col":5}}},{"name":"StartStopSlice","fully_qualified_name":"StartStopSlice::StartStopSlice","kind":"function","ident_start":92269,"ident_end":92283,"extent_start":92262,"extent_end":92452,"ident_utf16":{"start":{"line_number":2116,"utf16_col":15},"end":{"line_number":2116,"utf16_col":29}},"extent_utf16":{"start":{"line_number":2116,"utf16_col":8},"end":{"line_number":2118,"utf16_col":10}}},{"name":"StartStepSlice","fully_qualified_name":"StartStepSlice","kind":"class","ident_start":92682,"ident_end":92696,"extent_start":92675,"extent_end":93135,"ident_utf16":{"start":{"line_number":2127,"utf16_col":11},"end":{"line_number":2127,"utf16_col":25}},"extent_utf16":{"start":{"line_number":2127,"utf16_col":4},"end":{"line_number":2138,"utf16_col":5}}},{"name":"StartStepSlice","fully_qualified_name":"StartStepSlice::StartStepSlice","kind":"function","ident_start":92845,"ident_end":92859,"extent_start":92838,"extent_end":93047,"ident_utf16":{"start":{"line_number":2132,"utf16_col":15},"end":{"line_number":2132,"utf16_col":29}},"extent_utf16":{"start":{"line_number":2132,"utf16_col":8},"end":{"line_number":2134,"utf16_col":10}}},{"name":"StopStepSlice","fully_qualified_name":"StopStepSlice","kind":"class","ident_start":93279,"ident_end":93292,"extent_start":93272,"extent_end":93726,"ident_utf16":{"start":{"line_number":2144,"utf16_col":11},"end":{"line_number":2144,"utf16_col":24}},"extent_utf16":{"start":{"line_number":2144,"utf16_col":4},"end":{"line_number":2154,"utf16_col":5}}},{"name":"StopStepSlice","fully_qualified_name":"StopStepSlice::StopStepSlice","kind":"function","ident_start":93441,"ident_end":93454,"extent_start":93434,"extent_end":93640,"ident_utf16":{"start":{"line_number":2149,"utf16_col":15},"end":{"line_number":2149,"utf16_col":28}},"extent_utf16":{"start":{"line_number":2149,"utf16_col":8},"end":{"line_number":2151,"utf16_col":10}}},{"name":"is_alpha","fully_qualified_name":"is_alpha","kind":"function","ident_start":94006,"ident_end":94014,"extent_start":93970,"extent_end":94073,"ident_utf16":{"start":{"line_number":2162,"utf16_col":22},"end":{"line_number":2162,"utf16_col":30}},"extent_utf16":{"start":{"line_number":2161,"utf16_col":4},"end":{"line_number":2165,"utf16_col":5}}},{"name":"is_ascii","fully_qualified_name":"is_ascii","kind":"function","ident_start":94908,"ident_end":94916,"extent_start":94872,"extent_end":95008,"ident_utf16":{"start":{"line_number":2188,"utf16_col":22},"end":{"line_number":2188,"utf16_col":30}},"extent_utf16":{"start":{"line_number":2187,"utf16_col":4},"end":{"line_number":2191,"utf16_col":5}}},{"name":"is_decimal","fully_qualified_name":"is_decimal","kind":"function","ident_start":95219,"ident_end":95229,"extent_start":95183,"extent_end":95288,"ident_utf16":{"start":{"line_number":2198,"utf16_col":22},"end":{"line_number":2198,"utf16_col":32}},"extent_utf16":{"start":{"line_number":2197,"utf16_col":4},"end":{"line_number":2201,"utf16_col":5}}},{"name":"is_digit","fully_qualified_name":"is_digit","kind":"function","ident_start":96023,"ident_end":96031,"extent_start":95987,"extent_end":96104,"ident_utf16":{"start":{"line_number":2224,"utf16_col":22},"end":{"line_number":2224,"utf16_col":30}},"extent_utf16":{"start":{"line_number":2223,"utf16_col":4},"end":{"line_number":2227,"utf16_col":5}}},{"name":"is_id_continue","fully_qualified_name":"is_id_continue","kind":"function","ident_start":96803,"ident_end":96817,"extent_start":96767,"extent_end":96914,"ident_utf16":{"start":{"line_number":2250,"utf16_col":22},"end":{"line_number":2250,"utf16_col":36}},"extent_utf16":{"start":{"line_number":2249,"utf16_col":4},"end":{"line_number":2253,"utf16_col":5}}},{"name":"is_id_start","fully_qualified_name":"is_id_start","kind":"function","ident_start":97151,"ident_end":97162,"extent_start":97115,"extent_end":97253,"ident_utf16":{"start":{"line_number":2260,"utf16_col":22},"end":{"line_number":2260,"utf16_col":33}},"extent_utf16":{"start":{"line_number":2259,"utf16_col":4},"end":{"line_number":2263,"utf16_col":5}}},{"name":"is_lower","fully_qualified_name":"is_lower","kind":"function","ident_start":97464,"ident_end":97472,"extent_start":97428,"extent_end":97531,"ident_utf16":{"start":{"line_number":2270,"utf16_col":22},"end":{"line_number":2270,"utf16_col":30}},"extent_utf16":{"start":{"line_number":2269,"utf16_col":4},"end":{"line_number":2273,"utf16_col":5}}},{"name":"is_numeric","fully_qualified_name":"is_numeric","kind":"function","ident_start":98301,"ident_end":98311,"extent_start":98265,"extent_end":98384,"ident_utf16":{"start":{"line_number":2296,"utf16_col":22},"end":{"line_number":2296,"utf16_col":32}},"extent_utf16":{"start":{"line_number":2295,"utf16_col":4},"end":{"line_number":2299,"utf16_col":5}}},{"name":"is_printable","fully_qualified_name":"is_printable","kind":"function","ident_start":99059,"ident_end":99071,"extent_start":99023,"extent_end":99130,"ident_utf16":{"start":{"line_number":2322,"utf16_col":22},"end":{"line_number":2322,"utf16_col":34}},"extent_utf16":{"start":{"line_number":2321,"utf16_col":4},"end":{"line_number":2325,"utf16_col":5}}},{"name":"is_punctuation","fully_qualified_name":"is_punctuation","kind":"function","ident_start":99919,"ident_end":99933,"extent_start":99883,"extent_end":99992,"ident_utf16":{"start":{"line_number":2348,"utf16_col":22},"end":{"line_number":2348,"utf16_col":36}},"extent_utf16":{"start":{"line_number":2347,"utf16_col":4},"end":{"line_number":2351,"utf16_col":5}}},{"name":"is_space","fully_qualified_name":"is_space","kind":"function","ident_start":100828,"ident_end":100836,"extent_start":100792,"extent_end":100895,"ident_utf16":{"start":{"line_number":2374,"utf16_col":22},"end":{"line_number":2374,"utf16_col":30}},"extent_utf16":{"start":{"line_number":2373,"utf16_col":4},"end":{"line_number":2377,"utf16_col":5}}},{"name":"is_upper","fully_qualified_name":"is_upper","kind":"function","ident_start":101717,"ident_end":101725,"extent_start":101681,"extent_end":101784,"ident_utf16":{"start":{"line_number":2400,"utf16_col":22},"end":{"line_number":2400,"utf16_col":30}},"extent_utf16":{"start":{"line_number":2399,"utf16_col":4},"end":{"line_number":2403,"utf16_col":5}}},{"name":"swap_case","fully_qualified_name":"swap_case","kind":"function","ident_start":102633,"ident_end":102642,"extent_start":102596,"extent_end":102858,"ident_utf16":{"start":{"line_number":2426,"utf16_col":23},"end":{"line_number":2426,"utf16_col":32}},"extent_utf16":{"start":{"line_number":2425,"utf16_col":4},"end":{"line_number":2434,"utf16_col":5}}},{"name":"to_lower","fully_qualified_name":"to_lower","kind":"function","ident_start":103070,"ident_end":103078,"extent_start":103033,"extent_end":103134,"ident_utf16":{"start":{"line_number":2441,"utf16_col":23},"end":{"line_number":2441,"utf16_col":31}},"extent_utf16":{"start":{"line_number":2440,"utf16_col":4},"end":{"line_number":2444,"utf16_col":5}}},{"name":"to_upper","fully_qualified_name":"to_upper","kind":"function","ident_start":103944,"ident_end":103952,"extent_start":103907,"extent_end":104008,"ident_utf16":{"start":{"line_number":2467,"utf16_col":23},"end":{"line_number":2467,"utf16_col":31}},"extent_utf16":{"start":{"line_number":2466,"utf16_col":4},"end":{"line_number":2470,"utf16_col":5}}}]}},"codeViewLayoutRoute":{"repo":{"id":610762817,"defaultBranch":"main","name":"pythonic-cpp-strings","ownerLogin":"schmouk","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-03-07T12:39:10.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/10517991?v=4","public":true,"private":false,"isOrgOwned":false,"isArchived":false},"currentUser":null,"uploadToken":"FLiwmfwSGqS1TTYGTagBiwJ_Df-qs4SrG2iKAIUd7V2LwocFxAl2iRlAMVDceSm_RS_ZmvXKq1PhQhFcEZj6CQ","allShortcutsEnabled":false,"treeExpanded":true,"path":"cpp-strings/cppstrings.h","symbolsExpanded":false,"refInfo":{"name":"dev","listCacheKey":"v0:1767282436.0","canEdit":false,"currentOid":"1069e650a2d2c6e9ec004d01954b2cc68c9ea58c"},"helpUrl":"https://docs.github.com","githubDevUrl":null},"codeViewFileTreeLayoutRoute":{"fileTree":{"cpp-strings":{"items":[{"name":"cpp-strings.sln","path":"cpp-strings/cpp-strings.sln","contentType":"file"},{"name":"cpp-strings.vcxproj","path":"cpp-strings/cpp-strings.vcxproj","contentType":"file"},{"name":"cpp-strings.vcxproj.filters","path":"cpp-strings/cpp-strings.vcxproj.filters","contentType":"file"},{"name":"cpp-strings.vcxproj.user","path":"cpp-strings/cpp-strings.vcxproj.user","contentType":"file"},{"name":"cppstrings.h","path":"cpp-strings/cppstrings.h","contentType":"file"}],"totalCount":5},"":{"items":[{"name":"cpp-strings-tests","path":"cpp-strings-tests","contentType":"directory"},{"name":"cpp-strings","path":"cpp-strings","contentType":"directory"},{"name":"documentation","path":"documentation","contentType":"directory"},{"name":"scripts","path":"scripts","contentType":"directory"},{"name":".gitattributes","path":".gitattributes","contentType":"file"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":"LICENSE","path":"LICENSE","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"_config.yml","path":"_config.yml","contentType":"file"},{"name":"banner-image.jpg","path":"banner-image.jpg","contentType":"file"},{"name":"cpp-strings.cfg","path":"cpp-strings.cfg","contentType":"file"}],"totalCount":11}},"fileTreeProcessingTime":66.85255099999999,"foldersToFetch":[]},"codeViewBlobLayoutRoute":{"codeLineWrapEnabled":false,"refInfo":{"name":"dev","listCacheKey":"v0:1767282436.0","canEdit":false,"refType":"branch","currentOid":"1069e650a2d2c6e9ec004d01954b2cc68c9ea58c","canEditOnDefaultBranch":false,"fileExistsOnDefault":true},"path":"cpp-strings/cppstrings.h","blob":{"copilotSWEAgentEnabled":false,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/schmouk/pythonic-cpp-strings/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"cppstrings.h","displayUrl":"https://github.com/schmouk/pythonic-cpp-strings/blob/dev/cpp-strings/cppstrings.h?raw=true","headerInfo":{"blobSize":"102 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":"3675439","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fschmouk%2Fpythonic-cpp-strings%2Fblob%2Fdev%2Fcpp-strings%2Fcppstrings.h","isCSV":false,"isRichtext":false,"lineInfo":{"truncatedLoc":"2493","truncatedSloc":"2120"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"isIssueTemplate":false,"isDiscussionTemplate":false,"language":"C++","languageID":43,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/schmouk/pythonic-cpp-strings/blob/dev/cpp-strings/cppstrings.h","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/schmouk/pythonic-cpp-strings/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/schmouk/pythonic-cpp-strings/raw/refs/heads/dev/cpp-strings/cppstrings.h","renderImageOrRaw":false,"shortPath":null,"symbolsEnabled":true,"tabSize":4,"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},"copilotInfo":null,"copilotAccessAllowed":false,"copilotSpacesEnabled":false,"modelsAccessAllowed":false,"modelsRepoIntegrationEnabled":false,"isMarketplaceEnabled":true},"codeViewBlobLayoutRoute.StyledBlob":{"rawLines":["#pragma once","/**","    Library cppstrings","    \"What if c++ strings where as easy to use as Python strings?\"","","    Copyright (C) 2023-2026 Philippe Schmouker","    contact - ph (dot) schmouker (at) gmail (dot) com","","    This program is free software: you can redistribute it and/or modify","    it under the terms of the GNU General Public License as published by","    the Free Software Foundation,  either version 3  of the License,  or","    (at your option) any later version.","","    This program is distributed in the hope  that  it  will  be  useful,","    but  WITHOUT  ANY  WARRANTY;  without  even  the implied warranty of","    MERCHANTABILITY  or  FITNESS  FOR  A  PARTICULAR  PURPOSE.  See  the","    GNU General Public License for more details.","","    You should have received a copy  of  the  GNU General Public License","    along with this program.  If not, see \u003chttps://www.gnu.org/licenses/\u003e.","*/","","//=============================================================","#include \u003calgorithm\u003e","#include \u003carray\u003e","#include \u003ccassert\u003e","#include \u003ccctype\u003e","#include \u003ccwctype\u003e","#include \u003cformat\u003e","#include \u003climits\u003e","#include \u003cmap\u003e","#include \u003cranges\u003e","#include \u003cspan\u003e","#include \u003cstdexcept\u003e","#include \u003ctype_traits\u003e","#include \u003cvector\u003e","","","","namespace pcs // i.e. \"pythonic c++ strings\"","{","    //=============================================================","    // Forward declarations","","    // base class -- not to be directly instantiated, see belowing specializations instead","    template\u003c","        class CharT,","        class TraitsT = std::char_traits\u003cCharT\u003e,","        class AllocatorT = std::allocator\u003cCharT\u003e","    \u003e class CppStringT;","","    // specializations of the base class -- these are the ones that should be instantiated by user.","    using CppString  = CppStringT\u003cchar\u003e;                        //!\u003c Specialization of basic class with template argument 'char'","    using CppWString = CppStringT\u003cwchar_t\u003e;                     //!\u003c Specialization of basic class with template argument 'wchar_t'","","","#if defined(_MSC_VER)","#   pragma warning(push)","#   pragma warning(disable: 4455)  // to avoid boring warnings with litteral operators definitions","#endif","","    // litteral operators","    inline CppString operator\"\"_cs(const char* str, std::size_t len);          //!\u003c Forms a CppString literal. ","    inline CppWString operator\"\"_cs(const wchar_t* str, std::size_t len);      //!\u003c Forms a CppWString literal. ","","","    // slices -- to be used with operator CppStringT::operator().","    template\u003ctypename IntT = std::int64_t\u003e","        requires std::is_signed_v\u003cIntT\u003e","    class Slice;                                               //!\u003c Base class for slices, with start, stop and step specified values","","    template\u003ctypename IntT = std::int64_t\u003e","        requires std::is_signed_v\u003cIntT\u003e","    struct StartSlice;                                          //!\u003c struct of slices with default stop and step values","","    template\u003ctypename IntT = std::int64_t\u003e","        requires std::is_signed_v\u003cIntT\u003e","    struct StopSlice;                                           //!\u003c struct of slices with default start and step values","","    template\u003ctypename IntT = std::int64_t\u003e","        requires std::is_signed_v\u003cIntT\u003e","    struct StepSlice;                                           //!\u003c struct of slices with default start and stop values","","    template\u003ctypename IntT = std::int64_t\u003e","        requires std::is_signed_v\u003cIntT\u003e","    struct StartStopSlice;                                      //!\u003c struct of slices with default step values","","    template\u003ctypename IntT = std::int64_t\u003e","        requires std::is_signed_v\u003cIntT\u003e","    struct StartStepSlice;                                      //!\u003c struct of slices with default stop values","","    template\u003ctypename IntT = std::int64_t\u003e","        requires std::is_signed_v\u003cIntT\u003e","    struct StopStepSlice;                                       //!\u003c struct of slices with default start values","","","    // chars classifications -- not to be directly called, see respective specializations at the very end of this module.","    template\u003cclass CharT\u003e","    inline const bool is_alpha(const CharT ch) noexcept;        //!\u003c Returns true if character ch is alphabetic, or false otherwise.","","    template\u003cclass CharT\u003e","    inline const bool is_ascii(const CharT ch) noexcept;        //!\u003c Returns true if character ch gets ASCII code, or false otherwise.","","    template\u003cclass CharT\u003e","    inline const bool is_decimal(const CharT ch) noexcept;      //!\u003c Returns true if character is a decimal digit, or false otherwise.","","    template\u003cclass CharT\u003e","    inline const bool is_digit(const CharT ch) noexcept;        //!\u003c Returns true if character is a decimal digit, or false otherwise.","","    template\u003cclass CharT\u003e","    inline const bool is_id_continue(const CharT ch) noexcept;  //!\u003c Returns true if character is a continuing char for identifiers, or false otherwise.","","    template\u003cclass CharT\u003e","    inline const bool is_id_start(const CharT ch) noexcept;     //!\u003c Returns true if character is a starting char for identifiers, or false otherwise.","","    template\u003cclass CharT\u003e","    inline const bool is_lower(const CharT ch) noexcept;        //!\u003c Returns true if character is lowercase, or false otherwise.","","    template\u003cclass CharT\u003e","    inline const bool is_numeric(const CharT ch) noexcept;      //!\u003c Returns true if character is a decimal digit, or false otherwise.","","    template\u003cclass CharT\u003e","    inline const bool is_printable(const CharT ch) noexcept;    //!\u003c Returns true if character ch is printable, or false otherwise.","","    template\u003cclass CharT\u003e","    inline const bool is_punctuation(const CharT ch) noexcept;  //!\u003c Returns true if character ch is punctuation, or false otherwise.","","    template\u003cclass CharT\u003e","    inline const bool is_space(const CharT ch) noexcept;        //!\u003c Returns true if character ch is white space, or false otherwise.","","    template\u003cclass CharT\u003e","    inline const bool is_upper(const CharT ch) noexcept;        //!\u003c Returns true if character is uppercase, or false otherwise.","","    template\u003cclass CharT\u003e","    inline const CharT swap_case(const CharT ch) noexcept;      //!\u003c Returns the swapped case form of character ch if it exists, or ch itself otherwise.","","    template\u003cclass CharT\u003e","    inline const CharT to_lower(const CharT ch) noexcept;       //!\u003c Returns the lowercase form of character ch if it exists, or ch itself otherwise.","","    template\u003cclass CharT\u003e","    inline const CharT to_upper(const CharT ch) noexcept;       //!\u003c Returns the uppercase form of character ch if it exists, or ch itself otherwise.","","","    //=====   CppStringT\u003c\u003e   ======================================","    /** \\brief This is the templated base class for all CppString classes.","    *","    * Users should instantiate any specialization  of  this  base  class","    * rather than this base class itself:","    *   - \\see CppString for CppStringT\u003cchar\u003e.","    *   - \\see CppWString for CppStringT\u003cwchar_t\u003e.","    *","    * This base class inherits from std::basic_string\u003cCharT\u003e.  As  such,","    * it  gets  direct  access  to all public methods of its base class.","    * \\see  https://en.cppreference.com/w/cpp/string/basic_string  for a","    * full list of such methods, for instance.","    *","    * You may specialize it by your own with any of the next char types:","    *   - char8_t  (C++20)","    *   - char16_t (C++11)","    *   - char32_t (C++11)","    * Caution:  templated method format() may be difficult to specialize","    *           with these types --\u003e let us know if you succeed!","    */","    template\u003cclass CharT, class TraitsT, class AllocatorT\u003e","    class CppStringT : public std::basic_string\u003cCharT, TraitsT, AllocatorT\u003e","    {","    public:","        //===   Wrappers   ========================================","        using MyBaseClass = std::basic_string\u003cCharT, TraitsT, AllocatorT\u003e;","","        using traits_type            = MyBaseClass::traits_type;","        using value_type             = MyBaseClass::value_type;","        using allocator_type         = MyBaseClass::allocator_type;","        using size_type              = MyBaseClass::size_type;","        using difference_type        = MyBaseClass::difference_type;","        using reference              = MyBaseClass::reference;","        using const_reference        = MyBaseClass::const_reference;","        using pointer                = MyBaseClass::pointer;","        using const_pointer          = MyBaseClass::const_pointer;","        using iterator               = MyBaseClass::iterator;","        using const_iterator         = MyBaseClass::const_iterator;","        using reverse_iterator       = MyBaseClass::reverse_iterator;","        using const_reverse_iterator = MyBaseClass::const_reverse_iterator;","","","        //===   Translation Table   ===============================","        /** \\brief The internal class of translation tables, used with methods CppStringT::maketrans and CppStringT::translate. */","        class TransTable","        {","        public:","            //---   wrappers   ------------------------------------","            using key_type   = CharT;","            using value_type = CppStringT;","","            //---   Constructors / destructor   -------------------","            /** \\brief Creates a TransTable from a standard map (#1). */","            inline TransTable(const std::map\u003ckey_type, value_type\u003e trans_table)","                : m_table{ trans_table }","            {}","","            /** \\brief Creates a TransTable from two strings (#2).","            *","            * Parameters keys and values must have the same size. The i-th","            * character in key is associated in the translation table with","            * the i-th character in values.","            */","            TransTable(const CppStringT\u0026 keys, const CppStringT\u0026 values)","            {","                assert(keys.size() == values.size());","                auto val_it = values.cbegin();","                for (const auto k : keys)","                    m_table[k] = CppStringT(*val_it++);","            }","","            /** \\brief Creates a TransTable from three strings (#3).","            *","            * Parameters keys and values must have the same size. The i-th","            * character in key is associated in the translation table with","            * the i -th  character  in  values.  Finally,  the  characters","            * contained  in  string  not_translated  are associated in the","            * translation table with the empty string.","            */","            TransTable(const CppStringT\u0026 keys, const CppStringT\u0026 values, const CppStringT\u0026 not_translated)","            {","                assert(keys.size() == values.size());","                auto val_it = values.cbegin();","                for (const auto k : keys)","                    m_table[k] = CppStringT(*val_it++);","                for (const auto k : not_translated)","                    m_table[k] = CppStringT();","            }","","            /** \\brief Creates a TransTable from a string and an initalization list (#4).","            *","            * Parameters keys and values must have the same size. The i-th","            * character in key is associated in the translation table with","            * the i-th character in values.","            */","            inline TransTable(const CppStringT\u0026 keys, const std::initializer_list\u003cCppStringT\u003e\u0026 values)","            {","                assert(keys.size() == values.size());","                auto val_it = values.begin();","                for (const auto k : keys)","                    m_table[k] = *val_it++;","            }","","            /** \\brief Creates a TransTable from a string, an initalization list and a string (#5).","            *","            * Parameters keys and values must have the same size. The i-th","            * character in key is associated in the translation table with","            * the i -th  character  in  values.  Finally,  the  characters","            * contained  in  string  not_translated  are associated in the","            * translation table with the empty string.","            */","            inline TransTable(const CppStringT\u0026 keys, const std::initializer_list\u003cCppStringT\u003e values, const CppStringT\u0026 not_translated)","            {","                assert(keys.size() == values.size());","                auto val_it = values.begin();","                for (const auto k : keys)","                    m_table[k] = *val_it++;","                for (const auto k : not_translated)","                    m_table[k] = CppStringT();","            }","","            /** \\brief Creates a TransTable from two pointers to null-terminated lists of characters (#6).","            *","            * Parameters keys and values must have the same size. The i-th","            * character in key is associated in the translation table with","            * the i-th character in values.","            */","            inline TransTable(const CharT* keys, const CharT* values)","            {","                while (*keys \u0026\u0026 *values)","                    m_table[*keys++] = value_type(*values++);","            }","","            /** \\brief Creates a TransTable from three pointers to null-terminated lists of characters (#7).","            *","            * Parameters keys and values must have the same size. The i-th","            * character in key is associated in the translation table with","            * the i -th entry in values. Finally, the characters contained","            * in  string  not_translated are associated in the translation","            * table with the empty string.","            */","            inline TransTable(const CharT* keys, const CharT* values, const CharT* not_translated)","            {","                while (*keys \u0026\u0026 *values)","                    m_table[*keys++] = value_type(*values++);","                while (*not_translated)","                    m_table[*not_translated++] = CppStringT();","            }","","            /** \\brief Creates a TransTable from two containers iterators (#8).","            *","            * Both containers should have the same size. The i-th","            * character in key is associated in  the  translation","            * table with the i-th entry in values.","            */","            template\u003cclass KeyIt, class ValueIt\u003e","            inline TransTable(KeyIt first_key, KeyIt last_key, ValueIt first_value, ValueIt last_value)","            {","                KeyIt key_it{ first_key };","                ValueIt val_it{ first_value };","                while (key_it != last_key \u0026\u0026 val_it != last_value)","                    m_table[*key_it++] = value_type(*val_it++);","            }","","            /** \\brief Creates a TransTable from three containers iterators (#9).","            *","            * Both  containers  should  have  the  same  size.   The  i-th","            * character in key is associated in the translation table with","            * the i -th  character  in  values.  Finally,  the  characters","            * contained  in  string  not_translated  are associated in the","            * translation table with the empty string.","            */","            template\u003cclass Key1It, class ValueIt, class Key2It\u003e","            inline TransTable(Key1It first_key, Key1It last_key,","                ValueIt first_value, ValueIt last_value,","                Key2It first_not_translated, Key2It last_not_translated)","            {","                Key1It key1_it{ first_key };","                ValueIt val_it{ first_value };","                while (key1_it != last_key \u0026\u0026 val_it != last_value)","                    m_table[*key1_it++] = value_type(*val_it++);","                Key2It key2_it{ first_not_translated };","                while (key2_it != last_not_translated)","                    m_table[*key2_it++] = CppStringT();","            }","","            /** \\brief Creates a TransTable from two string views (#10).","            *","            * Parameters keys and values must have the same size. The i-th","            * character in key is associated in the translation table with","            * the i-th character in values.","            */","            /**/","            template\u003cclass StringViewLike\u003e","            explicit TransTable(const StringViewLike\u0026 keys, const StringViewLike\u0026 values)","            {","                assert(keys.size() == values.size());","                auto val_it = values.cbegin();","                for (const auto k : keys)","                    m_table[(*k)[0]] = value_type(*val_it++);","            }","","            inline TransTable() noexcept = default;                                 //!\u003c Default empty constructor.","            inline TransTable(const TransTable\u0026) noexcept = default;                //!\u003c Default copy constructor.","            inline TransTable(TransTable\u0026\u0026) noexcept = default;                     //!\u003c Default move constructor.","","            inline ~TransTable() noexcept = default;                                //!\u003c Default descrtuctor","","            //---   operators   -----------------------------------","            inline TransTable\u0026 operator= (const TransTable\u0026) noexcept = default;    //!\u003c Default copy assignment","            inline TransTable\u0026 operator= (TransTable\u0026\u0026) noexcept = default;         //!\u003c Default move assignment","","            /** \\brief Assignment operator with a standard map. */","            inline TransTable\u0026 operator= (const std::map\u003ckey_type, value_type\u003e\u0026 trans_table) noexcept","            {","                m_table = trans_table;","                return *this;","            }","","            /** \\brief Indexing operator. */","            [[nodiscard]]","            inline value_type operator[] (const key_type ch) noexcept","            {","                auto it = m_table.find(ch);","                if (it != m_table.end()) [[likely]] {","                    return it-\u003esecond;","                }","                else [[unlikely]] {","                    return ch;","                }","            }","","            inline std::map\u003ctypename key_type, typename value_type\u003e\u0026 get_table() noexcept //!\u003c for tests purposes","            {","                return m_table;","            }","","        private:","            std::map\u003ctypename key_type, typename value_type\u003e m_table{};  // the internal storage of the translation table. Access it via the indexing operator.","","        };","","","        //===   Constructors / Destructor   =======================","        inline CppStringT()                                                                 : MyBaseClass() {}                      // #1","        inline CppStringT(const CppStringT\u0026 other)                                          : MyBaseClass(other) {}                 // #2","        inline CppStringT(const CppStringT\u0026 other, const AllocatorT\u0026 alloc)                 : MyBaseClass(other, alloc) {}          // #3","        inline CppStringT(CppStringT\u0026\u0026 other) noexcept                                      : MyBaseClass(other) {}                 // #4","        inline CppStringT(CppStringT\u0026\u0026 other, const AllocatorT\u0026 alloc) noexcept             : MyBaseClass(other, alloc) {}          // #5","        inline CppStringT(MyBaseClass::size_type count, CharT ch)                           : MyBaseClass(count, ch) {}             // #6","        inline CppStringT(const CppStringT\u0026 other, size_type pos)                           : MyBaseClass(other, pos) {}            // #7","        inline CppStringT(const CppStringT\u0026 other, size_type pos, size_type count) noexcept : MyBaseClass(other, pos, count) {}     // #8","        inline CppStringT(const CharT* s)                                                                                           // #9","            : MyBaseClass(s ? s : CppStringT().c_str())","        {}","        inline CppStringT(const CharT* s, size_type count)                                                                          // #10","            : MyBaseClass(s ? s : CppStringT().c_str(), count)","        {}","        inline CppStringT(std::initializer_list\u003cCharT\u003e ilist)                               : MyBaseClass(ilist) {}                 // #11","","        inline CppStringT(const CharT ch)                                                   : MyBaseClass(1, ch) {}                 // #19","","        inline CppStringT(const MyBaseClass\u0026 other)                                         : MyBaseClass(other) {}                 // #12","        inline CppStringT(const MyBaseClass\u0026 other, const AllocatorT\u0026 alloc)                : MyBaseClass(other, alloc) {}          // #13","        inline CppStringT(MyBaseClass\u0026\u0026 other)                                              : MyBaseClass(other) {}                 // #14","        inline CppStringT(MyBaseClass\u0026\u0026 other, const AllocatorT\u0026 alloc)                     : MyBaseClass(other, alloc) {}          // #15","","        template\u003cclass InputIt\u003e","        inline CppStringT(InputIt first, InputIt last)                                      : MyBaseClass(first, last) {}           // #16","","        template\u003cclass StringViewLike\u003e","        explicit CppStringT(StringViewLike\u0026 svl)                                            : MyBaseClass(svl) {}                   // #17","","        template\u003cclass StringViewLike\u003e","        CppStringT(StringViewLike\u0026 svl, size_type pos, size_type n)                         : MyBaseClass(svl, pos, n) {}           // #18","","        inline ~CppStringT() noexcept = default;","","","        //===   Assignment operators   ============================","        CppStringT\u0026 operator= (const CppStringT\u0026) noexcept = default;   //!\u003c Default copy assignment","        CppStringT\u0026 operator= (CppStringT\u0026\u0026) noexcept = default;        //!\u003c Default move assignment","","","        //===   Exceptions   ======================================","        class NotFoundException : public std::logic_error","        {","        public:","            using MyBaseClass = std::logic_error;","","            inline NotFoundException(const std::string\u0026 what_arg) : MyBaseClass(what_arg) {}","            inline NotFoundException(const char* what_arg) : MyBaseClass(what_arg) {}","        };","","","        //===   Methods   =========================================","","        //---   capitalize()   ------------------------------------","        /** \\brief Returns a copy of the string with its first character capitalized and the rest lowercased. */","        inline CppStringT capitalize() noexcept","        {","            CppStringT res(*this);","            if (!res.empty()) [[likely]] {","                res.lower();","                res[0] = pcs::to_upper(res[0]);","            }","            return res;","        }","","","        //---   center()   ----------------------------------------","        /** \\brief Returns a copy of the string centered in a string of length width.","        *","        * Padding is done using the specified fillchar (default is an ASCII space).","        * A copy of the original string is returned if width is less than or  equal","        * to the length of the string. The original string remains unchanged.","        */","        [[nodiscard]]","        CppStringT center(const size_type width, const value_type fillch = value_type(' ')) const noexcept","        {","            const size_type len{ this-\u003esize() };","            if (width \u003c= len) [[unlikely]]","                return CppStringT(*this);","","            const size_type half{ (width - len) / 2 };","            return CppStringT(half, fillch) + *this + CppStringT(width - half - len, fillch);","        }","","","        //---   contains()   --------------------------------------","        /** \\brief Returns true if this string contains the passed string, or false otherwise.","        *","        * This is a c++ implementation of Python keyword 'in' applied to strings.","        */","        [[nodiscard]]","        constexpr bool contains(const CppStringT\u0026 substr) const noexcept","        {","            if (substr.empty()) [[unlikely]]","                // the empty string is always contained in any string","                return true;","","#if (defined(_HAS_CXX23) \u0026\u0026 _HAS_CXX23) || (!defined(_HAS_CXX23) \u0026\u0026 __cplusplus \u003e= 202302L)","            // c++23 and above already defines this method","            return MyBaseClass::contains(substr);","#else","            // up to c++20, we have to implement this method","            const size_type substr_width{ substr.size() };","            const size_type width{ this-\u003esize() };","","            if (substr_width \u003e width) [[unlikely]]","                return false;","","            for (size_type index = 0; index \u003c= width - substr_width; ++index) [[likely]] {","                if (substr == this-\u003esubstr(index, substr_width))","                    return true;","            }","","            return false;","#endif","        }","","","        //---   contains_n()   ------------------------------------","        /** \\brief Returns true if the passed string is found within the slice str[start:start+count-1], or false otherwise.","        *","        * This is a c++ implementation of Python keyword 'in' applied to Python sliced strings.","        */","        [[nodiscard]]","        inline constexpr bool contains_n(const CppStringT\u0026 sub, const size_type start, const size_type count = -1) const noexcept","        {","            try {","                return this-\u003esubstr(start, count).contains(sub);","            }","            catch (...) {","                return false;","            }","        }","","","        //---   count()   -----------------------------------------","        /** \\brief Returns the number of non-overlapping occurrences of substring sub in the range [start, end]. */","        [[nodiscard]]","        constexpr size_type count(const CppStringT\u0026 sub, const size_type start = 0, const size_type end = -1) const noexcept","        {","            size_type n = 0;","            CppStringT tmp{ this-\u003esubstr(start, std::min(this-\u003esize(), end) - start + 1) };","","            size_type start_{ 0 };","            size_type end_{ tmp.size() };","","            while ((start_ = tmp.find(sub, start_, end_)) != CppStringT::npos) {","                start_ += sub.size();","                end_ -= start_;","                tmp = tmp.substr(start_, std::min(tmp.size(), end_) + 1);","                start_ = 0;","                n++;","            }","","            return n;","        }","","","        //---   count_n()   ---------------------------------------","        /** \\brief Returns the number of non-overlapping occurrences of substring sub in the range [start, start+length-1]. */","        [[nodiscard]]","        inline constexpr size_type count_n(const CppStringT\u0026 sub, const size_type start, const size_type length) const noexcept","        {","            return count(sub, start, start + length - 1);","        }","","        /** \\brief Returns the number of non-overlapping occurrences of substring sub in the range [0, length-1]. */","        [[nodiscard]]","        inline constexpr size_type count_n(const CppStringT\u0026 sub, const size_type length) const noexcept","        {","            return count(sub, 0, length - 1);","        }","","","        //---   endswith()   --------------------------------------","        /** \\brief Returns true if the string ends with the specified suffix, otherwise returns false. Test begins at start position and stops at end position. */","        [[nodiscard]]","        inline const bool endswith(const CppStringT\u0026 suffix, const size_type start, const size_type end) const noexcept","        {","            return this-\u003esubstr(start, end - start + 1).MyBaseClass::ends_with(suffix);","        }","","        /** \\brief Returns true if the string ends with the specified suffix, otherwise returns false. Test begins at start of string and stops at end position. */","        [[nodiscard]]","        inline const bool endswith(const CppStringT\u0026 suffix, const size_type end) const noexcept","        {","            return this-\u003esubstr(0, end).MyBaseClass::ends_with(suffix);","        }","","        /** \\brief Returns true if the string ends with the specified suffix, otherwise returns false. Test runs on the whole string. */","        [[nodiscard]]","        inline const bool endswith(const CppStringT\u0026 suffix) const noexcept","        {","            return static_cast\u003cconst bool\u003e(MyBaseClass::ends_with(suffix));","        }","","        /** \\brief Returns true if the string ends with any of the specified suffixes, otherwise returns false. Test begins at start position and stops at end position. */","        [[nodiscard]]","        const bool endswith(const std::initializer_list\u003cCppStringT\u003e\u0026 suffixes, const size_type start, const size_type end) const noexcept","        {","            if (start \u003e end) [[unlikely]]","                return false;","","            CppStringT tmp(this-\u003esubstr(start, end - start + 1));","            for (auto\u0026 suffix : suffixes) {","                if (tmp.ends_with(suffix)) [[unlikely]]","                    return true;","            }","            return false;","        }","","","        //---   endswith_n()   ------------------------------------","        /** \\brief Returns true if the string ends with the specified suffix, otherwise returns false. Test begins at start position and stops after count positions. */","        [[nodiscard]]","        inline const bool endswith_n(const CppStringT\u0026 suffix, const size_type start, const size_type count) const noexcept","        {","            return endswith(suffix, start, start + count - 1);","        }","","        /** \\brief Returns true if the string ends with the specified suffix, otherwise returns false. Test begins at position 0 and stops after count positions. */","        [[nodiscard]]","        inline const bool endswith_n(const CppStringT\u0026 suffix, const size_type count) const noexcept","        {","            return endswith(suffix, 0, count - 1);","        }","","        /** \\brief Returns true if the string ends with any of the specified suffixes, otherwise returns false. Test begins at start position and stops after count positions. */","        [[nodiscard]]","        inline const bool endswith_n(const std::initializer_list\u003cCppStringT\u003e\u0026 suffixes, const size_type start, const size_type count) const noexcept","        {","            return endswith(suffixes, start, start + count - 1);","        }","","","        //---   expand_tabs()   -----------------------------------","        /** \\brief Returns a copy of the string where all tab characters are replaced by one or more spaces, depending on the current column and the given tab size. */","        [[nodiscard]]","        CppStringT expand_tabs(const size_type tabsize = 8) const noexcept","        {","            const size_type tabsize_{ tabsize == 0 ? 1 : tabsize };","            CppStringT ret{};","","            std::size_t current_pos{ 0 };","            for (const value_type ch : *this) {","                if (ch == value_type('\\t')) [[unlikely]] {","                    do {","                        ret += value_type(' ');","                        current_pos++;","                    } while (current_pos % tabsize_ != 0);","                }","                else if (ch == value_type('\\n') || ch == value_type('\\r')) [[unlikely]] {","                    ret += ch;","                    current_pos = 0;","                }","                else [[likely]] {","                    ret += ch;","                    current_pos++;","                }","            }","","            return ret;","        }","","","        //---   find()   ------------------------------------------","        /** \\brief Returns the lowest index in the string where substring sub is found within the slice str[start:end], or -1 (i.e. 'npos') if sub is not found.","        *","        * Note: this method should be used only if you need to know the position of","        * sub.  To check if sub is a substring or not, use the method contains().","        *","        * CAUTION: empty substrings are considered to be in the string if start and","        * end positions are both less than the string size and if start \u003c= end.","        *","        * \\see find_n(), rfind() and rfind_n().","        * \\see index(), index_n(), rindex() and rindex_n().","        */","        [[nodiscard]]","        constexpr size_type find(const CppStringT\u0026 sub, const size_type start = 0, const size_type end = -1) const noexcept","        {","            const size_type end_{ (end == -1) ? this-\u003esize() : end };","","            if (start \u003e end_) [[unlikely]]","                return CppStringT::npos;","            else [[likely]]","                return find_n(sub, start, end_ - start + 1);","        }","","","        //---   find_n()   ----------------------------------------","        /** \\brief Returns the lowest index in the string where substring sub is found within the slice str[start:start+count-1], or -1 (i.e. 'npos') if sub is not found.","        *","        * Note: this method should be used only if you need to know the position of","        * sub.  To check if sub is a substring or not, use the method contains_n().","        *","        * CAUTION: empty substrings are considered to be in the string if start and","        * end positions are both less than the string size and if start \u003c= end. The","        * returned position is 0.","        *","        * \\see find(), rfind() and rfind_n().","        * \\see index(), index_n(), rindex() and rindex_n().","        */","        [[nodiscard]]","        inline constexpr size_type find_n(const CppStringT\u0026 sub, const size_type start, const size_type count) const noexcept","        {","            constexpr size_type npos{ CppStringT::npos };","","            try {","                const CppStringT sub_str{ this-\u003esubstr(start, count) };","                const size_type found_pos{ sub_str.MyBaseClass::find(sub) };","","                return (found_pos == npos) ? npos : found_pos + start;","            }","            catch (...) {","                return npos;","            }","        }","","        /** \\brief Returns the lowest index in the string where substring sub is found within the slice str[0:count-1], or -1 (i.e. 'npos') if sub is not found.","        *","        * Note: this method should be used only if you need to know the position of","        * sub.  To check if sub is a substring or not, use the method contains_n().","        *","        * CAUTION: empty substrings are considered to be in the string if start and","        * end positions are both less than the string size and if start \u003c= end. The","        * returned position is 0.","        *","        * \\see find(), rfind() and rfind_n().","        * \\see index(), index_n(), rindex() and rindex_n().","        */","        [[nodiscard]]","        inline constexpr size_type find_n(const CppStringT\u0026 sub, const size_type count) const noexcept","        {","            return find_n(sub, 0, count);","        }","","","        //---   format()   ----------------------------------------","        /** \\brief Formats this string according to c++20 std::format() specification. Returns this string. */","        template\u003ctypename T, class... ArgsT\u003e","        inline CppStringT\u0026 format(","            const std::basic_format_string\u003cT, std::type_identity_t\u003cArgsT\u003e...\u003e frmt,","            ArgsT\u0026\u0026... args","        )","        {","            return *this;","        }","","        template\u003cclass... ArgsT\u003e","        inline CppStringT\u0026 format(      //!\u003c specialzation for char's","            const std::basic_format_string\u003cchar , std::type_identity_t\u003cArgsT\u003e... \u003e frmt,","            ArgsT\u0026\u0026... args","        )","        {","            return *this = std::vformat(frmt.get(), std::make_format_args(args...));","        }","","        template\u003cclass... ArgsT\u003e","        inline CppStringT\u0026 format(      //!\u003c specialzation for wchar_t's","            const std::basic_format_string\u003cwchar_t, std::type_identity_t\u003cArgsT\u003e... \u003e frmt,","            ArgsT\u0026\u0026... args","        )","        {","            return *this = std::vformat(frmt.get(), std::make_wformat_args(args...));","        }","","","        //---   index()   -----------------------------------------","        /** \\brief Like find(const CppStringT\u0026), but raises NotFoundException when the substring sub is not found.","        *","        * \\see index_n(), rindex() and rindex_n().","        * \\see find(), find_n(), rfind() and rfind_n().","        */","        [[nodiscard]]","        inline constexpr size_type index(const CppStringT\u0026 sub, const size_type start = 0, const size_type end = -1) const","        {","            const size_type ret_value = find(sub, start, end);","            if (ret_value == CppStringT::npos)","                throw NotFoundException(\"substring not found in string.\");","            else","                return ret_value;","        }","","","        //---   index_n()   ---------------------------------------","        /** \\brief Like find_n(sub, start, count), but raises NotFoundException when the substring is not found.","        *","        * \\see index_n(), rindex() and rindex_n().","        * \\see find(), find_n(), rfind() and rfind_n().","        */","        [[nodiscard]]","        inline constexpr size_type index_n(const CppStringT\u0026 sub, const size_type start, const size_type count) const","        {","            return index(sub, start, start + count - 1);","        }","","        /** \\brief Like find_n(sub, count), but raises NotFoundException when the substring is not found.","        *","        * \\see index_n(), rindex() and rindex_n().","        * \\see find(), find_n(), rfind() and rfind_n().","        */","        [[nodiscard]]","        inline constexpr size_type index_n(const CppStringT\u0026 sub, const size_type count) const","        {","            return index(sub, 0, count);","        }","","","        //---   isalnum()   ---------------------------------------","        /** \\brief Returns true if all characters in the string are alphanumeric and there is at least one character, or false otherwise. */","        [[nodiscard]]","        inline const bool isalnum() const noexcept","        {","            if (this-\u003eempty()) [[unlikely]]","                return false;","            else [[likely]]","                return std::all_of(","                    this-\u003ecbegin(),","                    this-\u003ecend(),","                    [](const value_type ch) { return pcs::is_alpha(ch) || pcs::is_decimal(ch) || pcs::is_digit(ch) || pcs::is_numeric(ch); }","                );","        }","","","        //---   isalpha()   --------------------------------------","        /** \\brief Returns true if all characters in the string are alphabetic and there is at least one character, or false otherwise. */","        [[nodiscard]]","        inline const bool isalpha() const noexcept","        {","            return !this-\u003eempty() \u0026\u0026 std::all_of(this-\u003ecbegin(), this-\u003ecend(), pcs::is_alpha\u003cvalue_type\u003e);","        }","","","        //---   isascii()   ---------------------------------------","        /** \\brief Returns true if the string is empty or all characters in the string are ASCII, or false otherwise. */","#if defined(isascii)  // may be already defined in header file \u003cctype.h\u003e","#undef isascii","#endif","        [[nodiscard]]","        inline const bool isascii() const noexcept","        {","            return this-\u003eempty() || std::all_of(this-\u003ecbegin(), this-\u003ecend(), pcs::is_ascii\u003cvalue_type\u003e);","        }","","","        //---   isdecimal()   -------------------------------------","        /** \\brief Returns true if all characters in the string are decimal characters and there is at least one character, or false otherwise.","        *","        * Decimal characters are those that can be used to form numbers  in","        * base 10, e.g. U+0660, ARABIC-INDIC DIGIT ZERO. Formally a decimal","        * character is a character in the Unicode General Category �Nd�.","        */","        [[nodiscard]]","        inline const bool isdecimal() const noexcept","        {","            return !this-\u003eempty() \u0026\u0026 std::all_of(this-\u003ecbegin(), this-\u003ecend(), pcs::is_decimal\u003cvalue_type\u003e);","        }","","","        //---   isdigit()   ---------------------------------------","        /** \\brief Returns true if all characters in the string are digits and there is at least one character, or false otherwise.","        *","        * Digits include decimal characters and digits that need special","        * handling,  such as the compatibility superscript digits.  This","        * covers digits which cannot be used to form numbers in base 10,","        * like the Kharosthi numbers.  Formally,  a digit is a character","        * that has the property value Numeric_Type=Digit or Numeric_Type","        * =Decimal.","        *","        * CAUTION: current implementation of  library  cpp-strings  does","        * not implement above algorithm. It just returns the same result","        * as 'isdecimal()' which is NOT what Python str library does.","        */","        [[nodiscard]]","        inline const bool isdigit() const noexcept","        {","            return isdecimal();","        }","","","        //---   isidentifier()   ----------------------------------","        /** \\brief Returns true if the string is not empty and is a valid identifier according to the language definition, or false otherwise.","        *","        * CAUTION:  the current implementation of this method does not deal with the proper c++","        * defintiion of identifiers (see https://en.cppreference.com/w/cpp/language/identifiers","        * and https://www.unicode.org/reports/tr31/#Table_Lexical_Classes_for_Identifiers).","        *","        * While the specification of identifiers in c++ is this one:","        *","        *    identifier   ::= XID_Start XID_Continue*","        *    XID_Start    ::= ID_Start XID_Continue*","        *    ID_Start     ::= \u003ccharacters derived from the Unicode General_Category of uppercase letters, lowercase letters, titlecase letters, modifier letters, other letters, letter numbers, plus Other_ID_Start, minus Pattern_Syntax and Pattern_White_Space code points\u003e","        *    XID_Continue ::= \u003ccharacters  derived from ID_Continue as per Unicode specs Section 5.1, NFKC Modifications (https://www.unicode.org/reports/tr31/#NFKC_Modifications)\u003e","        *    ID_Continue  ::= ID_Start | \u003ccharacters having the Unicode General_Category of nonspacing marks, spacing combining marks, decimal number, connector punctuation, plus Other_ID_Continue, minus Pattern_Syntax and Pattern_White_Space code points\u003e","        *","        * the currently implemented rule is this simpler one:","        *","        *    identifier   ::= ID_Start id_continue*","        *    id_continue  ::= ID_Start | decimal_number","        */","        [[nodiscard]]","        inline const bool isidentifier() const noexcept","        {","            return !this-\u003eempty() \u0026\u0026 pcs::is_id_start((*this)[0]) \u0026\u0026 (this-\u003esize() == 1 || std::all_of(this-\u003ecbegin() + 1, this-\u003ecend(), pcs::is_id_continue\u003cvalue_type\u003e));","        }","","","        //---   islower()   ---------------------------------------","        /** \\brief Returns true if all cased characters in the string are lowercase and there is at least one cased character, or false otherwise. */","        [[nodiscard]]","        inline const bool islower() const noexcept","        {","            return !this-\u003eempty() \u0026\u0026 std::all_of(this-\u003ecbegin(), this-\u003ecend(), pcs::is_lower\u003cvalue_type\u003e);","        }","","","        //---   isnumeric()   -------------------------------------","        /** \\brief Returns true if all characters in the string are numeric characters, and there is at least one character, or false otherwise.","        *","        * CAUTION:  current implementation just returns isdecimal() result,","        * while the description of isnumeric() should be this one:","        * Numeric  characters  include digit characters, and all characters","        * that have the Unicode numeric value property.  Formally,  numeric","        * characters  are those with the property value Numeric_Type=Digit,","        * Numeric_Type=Decimal or Numeric_Type=Numeric.","        */","        [[nodiscard]]","        inline const bool isnumeric() const noexcept","        {","            return isdecimal();","        }","","","        //---   isprintable()   -----------------------------------","        /** \\brief Returns true if all characters in the string are printable or if the string is empty, or false otherwise.","        *","        * Nonprintable characters are those characters defined in the Unicode","        * character  database as \"Other\" or \"Separator\",  excepting the ASCII","        * space (0x20) which is considered printable.","        */","        [[nodiscard]]","        inline const bool isprintable() const noexcept","        {","            return this-\u003eempty() || std::all_of(this-\u003ecbegin(), this-\u003ecend(), pcs::is_printable\u003cvalue_type\u003e);","        }","","","        //---   ispunctuation()   ---------------------------------","        /** \\brief Returns true if the string contains only one character and if this character belongs to the ASCII punctuation set. */","        [[nodiscard]]","        inline const bool ispunctuation() const noexcept","        {","            return this-\u003esize() == 1 \u0026\u0026 pcs::is_punctuation((*this)[0]);","        }","","","        //---   isspace()   ---------------------------------------","        /** \\brief Returns true if there are only whitespace characters in the string and there is at least one character, or false otherwise. */","        [[nodiscard]]","        inline const bool isspace() const noexcept","        {","            return !this-\u003eempty() \u0026\u0026 std::all_of(this-\u003ecbegin(), this-\u003ecend(), pcs::is_space\u003cvalue_type\u003e);","        }","","","        //---   istitle()   ---------------------------------------","        /** \\brief Returns true if the string is a titlecased string and there is at least one character, or false otherwise.","        *","        * For instance uppercase characters may only follow uncased","        * characters and lowercase characters only cased ones.","        *","        * CAUTION:  current implementation only tests for uppercase","        * characters following whitespaces and lowercase characters","        * anywhere else.","        */","        [[nodiscard]]","        inline const bool istitle() const noexcept","        {","            return !this-\u003eempty() \u0026\u0026 this-\u003etitle() == *this;","        }","","","        //---   isupper()   ---------------------------------------","        /** \\brief Returns true if all cased characters in the string are uppercase and there is at least one cased character, or false otherwise. */","        [[nodiscard]]","        inline const bool isupper() const noexcept","        {","            return !this-\u003eempty() \u0026\u0026 std::all_of(this-\u003ecbegin(), this-\u003ecend(), pcs::is_upper\u003cvalue_type\u003e);","        }","","","        //---   is_words_sep()   ----------------------------------","        /** \\brief Returns true if there are only whitespace and punctuation characters in the string and there is at least one character, or false otherwise. */","        [[nodiscard]]","        inline const bool is_words_sep() const noexcept","        {","            return !this-\u003eempty() \u0026\u0026","                std::all_of(","                    this-\u003ecbegin(),","                    this-\u003ecend(),","                    [](const value_type ch) { return pcs::is_space(ch) || pcs::is_punctuation(ch); }","                );","        }","","","        //---   join()   ------------------------------------------","        /** \\brief Returns a string which is the concatenation of the strings in the array parameter.","        *","        * The separator between elements is the string to which this method is applied.","        */","        template\u003cconst std::size_t N\u003e","        [[nodiscard]]","        CppStringT join(const std::array\u003cCppStringT, N\u003e\u0026 strs) const noexcept","        {","            if (strs.empty()) [[unlikely]]","                return CppStringT();","","            auto str_it = strs.cbegin();","            CppStringT res{ *str_it++ };","            while (str_it != strs.cend()) [[likely]]","                res += *this + *str_it++;","            return res;","        }","","        /** \\brief Returns a string which is the concatenation of the strings in the vector parameter.","        *","        * The separator between elements is the string to which this method is applied.","        */","        [[nodiscard]]","        CppStringT join(const std::vector\u003cCppStringT\u003e\u0026 strs) const noexcept","        {","            if (strs.empty()) [[unlikely]]","                return CppStringT();","","            auto str_it = strs.cbegin();","            CppStringT res{ *str_it++ };","            while (str_it != strs.cend()) [[likely]]","                res += *this + *str_it++;","            return res;","        }","","        /** \\brief Returns a string which is the concatenation of the strings in the parameters list.","        *","        * The separator between elements is the string to which this method is applied.","        */","        template\u003cclass... NextCppStringsT\u003e","        [[nodiscard]]","        inline CppStringT join(const CppStringT\u0026 first, const NextCppStringsT\u0026... others) const noexcept","            requires (sizeof...(others) \u003e 0)","        {","            return first + *this + this-\u003ejoin(others...);","        }","","        /** \\brief Single parameter signature. Returns a copy of this parameter. */","        [[nodiscard]]","        inline CppStringT join(const CppStringT\u0026 s) const noexcept","        {","            return s;","        }","","        /** \\brief Empty parameters list signature. Returns a copy of current string. */","        [[nodiscard]]","        inline const CppStringT join() const noexcept","        {","            return *this;","        }","","","        //---   ljust()   -----------------------------------------","        /** \\brief Returns the string left justified in a string of length width.","        *","        * Padding is done using the specified fillchar (default is an ASCII space).","        * The original string is returned if width is less than or equal to len(s).","        */","        [[nodiscard]]","        inline CppStringT ljust(const size_type width, const value_type fillch = value_type(' ')) const noexcept","        {","            if (this-\u003esize() \u003e= width) [[unlikely]]","                return *this;","            else [[likely]]","                return CppStringT(width - this-\u003esize(), fillch) + *this;","        }","","","        //---   lower ()  -----------------------------------------","        /** \\brief In-place replaces all characters of the string with their lowercase conversion. Returns a reference to string.","        *","        * Notice: uses the currently set std::locale, which is the \"C\" one","        * by default or any other one as previously set by the user.","        */","        inline CppStringT\u0026 lower() noexcept","        {","            std::transform(","                this-\u003ebegin(),","                this-\u003eend(),","                this-\u003ebegin(),","                [\u0026](value_type ch) { return this-\u003elower(ch); }","            );","            return *this;","        }","","        /** \\brief Returns lowercase conversion of the character.","        *","        * Notice: uses the currently set std::locale, which is the \"C\" one","        * by default or any other one as previously set by the user.","        */","        [[nodiscard]]","        static inline const value_type lower(const value_type ch) noexcept","        {","            return value_type(std::tolower(ch));","        }","","","        //---   lstrip()   ----------------------------------------","        /** \\brief Returns a copy of the string with leading characters removed.","        *","        * The passed string specifies the set of characters to be removed.","        * The chars argument is not a prefix;  rather, all combinations of","        * its values are stripped.","        * To remove a prefix, rather call method 'removeprefix()'.","        */","        [[nodiscard]]","        inline CppStringT lstrip(const CppStringT\u0026 removedchars) const noexcept","        {","            for (auto it = this-\u003ecbegin(); it != this-\u003ecend(); ++it) [[likely]]","                if (std::none_of(removedchars.cbegin(), removedchars.cend(), [it](const value_type ch) { return *it == ch; })) [[likely]]","                    return CppStringT(it, this-\u003ecend());","            return CppStringT();","        }","","        /** \\brief Returns a copy of the string with leading whitespaces removed. */","        [[nodiscard]]","        inline CppStringT lstrip() const noexcept","        {","            for (auto it = this-\u003ecbegin(); it != this-\u003ecend(); ++it) [[likely]]","                if (*it != value_type(' ')) [[unlikely]]","                    return CppStringT(it, this-\u003ecend());","            return CppStringT();","        }","","","        //---   operator ()   -------------------------------------","        /** \\brief Generates a new string according to the specified slice.","        *","        * A slice is a range specified as [start, stop, step]. It may","        * also  be specified as [start, stop] in which case step = 1,","        * or as [stop] in wich case start = 0 and step = 1.","        * Values may be negative: negative step means reverse running","        * and  negative  start  or stop is relative to the end of the","        * string.","        * Notice: the stop value specifies an out of bounds index.","        * \\see class Slice and all its inheriting classes.","        */","        template\u003ctypename IntT\u003e","            requires std::is_signed_v\u003cIntT\u003e","        [[nodiscard]]","        CppStringT operator() (Slice\u003cIntT\u003e slice) const noexcept","        {","            // optimization on 1 by 1 step","            if (slice.step() == 1) [[likely]] {","                slice.begin(*this);","                if (slice.start() \u003c slice.stop()) [[likely]]","                    return this-\u003esubstr(size_type(slice.start()), size_type(slice.stop() - slice.start() + 1));","                else [[unlikely]]","                    return CppStringT();","            }","","            CppStringT res{};","","            // optimization on reversed 1 by 1 step","            if (slice.step() == -1) {","                slice.begin(*this);","                if (slice.stop() \u003c slice.start()) [[likely]] {","                    res = this-\u003esubstr(size_type(slice.stop()), size_type(slice.start() - slice.stop() + 1));","                    std::ranges::reverse(res);  // notice: may use vectorization if available","                }","                return res;","            }","","            // finally, no trivial optimization -- and naive implementation...","            for (slice.begin(*this); !slice.end(); ++slice)","                res += (*this)[size_type(*slice)];","","            return res;","        }","","        /** \\brief Generates a new string according to the specified slicing values. */","        [[nodiscard]]","        inline CppStringT operator() (const long long start, const long long stop, const long long step = 1) const noexcept","        {","            Slice\u003clong long\u003e slice(start, stop, step);","            return (*this)(slice);","        }","","","        //---   operator *   --------------------------------------","        /** \\brief Generates a new string with count times the content of this string. */","        [[nodiscard]]","        CppStringT operator* (std::int64_t count) const noexcept","        {","            if (count \u003c= 0) [[unlikely]]","                return CppStringT();","","            CppStringT res(*this);","            while (--count) [[likely]]","                res += *this;","            return res;","        }","","","        //---   partition()   -------------------------------------","        /** \\brief Splits the string at the first occurrence of sep, and returns a 3-items vector containing the part before the separator, the separator itself, and the part after the separator.","        *","        * If the separator is not  found,  returns  a  3-items  vector","        * containing the string itself, followed by two empty strings.","        */","        [[nodiscard]]","        std::vector\u003cCppStringT\u003e partition(const CppStringT\u0026 sep) const noexcept","        {","            const size_type sep_index = find(sep);","            if (sep_index == CppStringT::npos) {","                const CppStringT empty{};","                return std::vector\u003cCppStringT\u003e({ *this, empty, empty });","            }","            else {","                const size_type third_index = sep_index + sep.size();","                const size_type third_size = this-\u003esize() - third_index + 1;","                return std::vector\u003cCppStringT\u003e({ this-\u003esubstr(0, sep_index), sep, this-\u003esubstr(third_index, third_size) });","            }","        }","","","        //---   removeprefix()   ----------------------------------","        /** \\brief If the string starts with the prefix string, returns a new string with the prefix removed. Otherwise, returns a copy of the original string. */","        [[nodiscard]]","        inline CppStringT removeprefix(const CppStringT\u0026 prefix) const noexcept","        {","            if (this-\u003estartswith(prefix)) {","                const size_type prefix_length = prefix.size();","                return this-\u003esubstr(prefix_length, this-\u003esize() - prefix_length + 1);","            }","            else","                return *this;","        }","","","        //---   removesuffix()   ----------------------------------","        /** \\brief If the string ends with the suffix string, returns a new string with the suffix removed. Otherwise, returns a copy of the original string. */","        [[nodiscard]]","        inline CppStringT removesuffix(const CppStringT\u0026 suffix) const noexcept","        {","            if (this-\u003eendswith(suffix)) {","                const size_type suffix_length = suffix.size();","                return this-\u003esubstr(0, this-\u003esize() - suffix_length);","            }","            else","                return *this;","        }","","","        //---   replace()   ---------------------------------------","        /** \\brief Returns a copy of the string with first count occurrences of substring 'old' replaced by 'new_'. */","        [[nodiscard]]","        CppStringT replace(const CppStringT\u0026 old, const CppStringT\u0026 new_, size_type count = -1) const noexcept","        {","            if (old == new_ || old.empty()) [[unlikely]]","                return *this;","","            CppStringT res{};","            size_type prev_index = 0;","            size_type current_index = 0;","            while (count \u003e 0 \u0026\u0026 (current_index = this-\u003efind(old, prev_index)) != CppStringT::npos) {","                res += this-\u003esubstr(prev_index, current_index - prev_index) + new_;","                prev_index = current_index + 1;","                --count;","            }","","            if (prev_index \u003c this-\u003esize()) [[likely]]","                res += this-\u003esubstr(prev_index, this-\u003esize() - prev_index);","","            return res;","        }","","","        //---   rfind()   -----------------------------------------","        /** \\brief Returns the highest index in the string where substring sub is found within the slice str[start:end], or -1 (i.e. 'npos') if sub is not found.","        *","        * Note that this is an offset from the start of the string, not the end.","        *","        * Note: this method should be used only if you need to  know  the  position","        * of sub. To check if sub is a substring or not, use the method contains().","        *","        * CAUTION: empty substrings are considered to be in the string if start and","        * end positions are both less than the string size and if start \u003c= end. The","        * returned position is the size of the string.","        *","        * \\see find(), find_n() and rfind_n().","        * \\see index(), index_n(), rindex() and rindex_n().","        */","        [[nodiscard]]","        inline constexpr size_type rfind(const CppStringT\u0026 sub, const size_type start, const size_type end) const noexcept","        {","            if (start \u003e end) [[unlikely]]","                return CppStringT::npos;","            else if (sub.empty()) [[unlikely]]","                return 0;","            else [[likely]] {","                const size_type found_pos{ this-\u003esubstr(start, end - start + 1).rfind(sub) };","                return (found_pos == CppStringT::npos) ? CppStringT::npos : found_pos + start;","            }","        }","","","        /** \\brief Returns the highest index in the string where substring sub is found starting at start position in string, or -1 (i.e. 'npos') if sub is not found.","        *","        * Note that this is an offset from the start of the string, not the end.","        *","        * Note: this method should be used only if you need to  know  the  position","        * of sub. To check if sub is a substring or not, use the method contains().","        *","        * CAUTION: empty substrings are considered to be in the string if start and","        * end positions are both less than the string size and if start \u003c= end. The","        * returned position is the size of the string.","        *","        * \\see find(), find_n() and rfind_n().","        * \\see index(), index_n(), rindex() and rindex_n().","        */","        [[nodiscard]]","        inline constexpr size_type rfind(const CppStringT\u0026 sub, const size_type start) const noexcept","        {","            return rfind(sub, start, this-\u003esize() - 1);","        }","","","        /** \\brief Returns the highest index in the string where C-substring sub is found in the whole string, or -1 (i.e. 'npos') if sub is not found.","        *","        * Note that this is an offset from the start of the string, not the end.","        *","        * Note: this method should be used only if you need to  know  the  position","        * of sub. To check if sub is a substring or not, use the method contains().","        *","        * CAUTION: empty substrings are considered to be in the string if start and","        * end positions are both less than the string size and if start \u003c= end. The","        * returned position is the size of the string.","        *","        * \\see find(), find_n() and rfind_n().","        * \\see index(), index_n(), rindex() and rindex_n().","        */","        [[nodiscard]]","        inline constexpr size_type rfind(const CppStringT\u0026 sub) const noexcept","        {","            return MyBaseClass::rfind(sub);","        }","","","        //---   rfind_n()   ---------------------------------------","        /** \\brief Returns the highest index in the string where substring sub is found within the slice str[start:start+count-1], or -1 (i.e. 'npos') if sub is not found.","        *","        * Note: this method should be used only if you need to  know  the  position","        * of sub. To check if sub is a substring or not, use the method contains_n().","        *","        * \\see find(), find_n() and rfind().","        * \\see index(), index_n(), rindex() and rindex_n().","        */","        [[nodiscard]]","        inline constexpr size_type rfind_n(const CppStringT\u0026 sub, const size_type start, const size_type count) const noexcept","        {","            return rfind(sub, start, start + count - 1);","        }","","        /** \\brief Returns the highest index in the string where substring sub is found within the slice str[0:count-1], or -1 (i.e. 'npos') if sub is not found.","         *","         * Note: this method should be used only if you need to  know  the  position","         * of sub. To check if sub is a substring or not, use the method contains_n().","         *","         * \\see find(), find_n() and rfind().","         * \\see index(), index_n(), rindex() and rindex_n().","         */","        [[nodiscard]]","        inline constexpr size_type rfind_n(const CppStringT\u0026 sub, const size_type count) const noexcept","        {","            if (count == 0) [[unlikely]]","                return CppStringT::npos;","            else [[likely]]","                return rfind(sub, 0, count - 1);","        }","","","        //---   rindex()   ----------------------------------------","        /** \\brief Like rfind(sub, start, end), but raises NotFoundException when the substring is not found.","        *","        * \\see index(), index_n() and rindex_n().","        * \\see find(), find_n(), rfind() and rfind_n().","        */","        [[nodiscard]]","        inline constexpr size_type rindex(const CppStringT\u0026 sub, const size_type start, const size_type end) const","        {","            const size_type ret_value = rfind(sub, start, end);","            if (ret_value == CppStringT::npos)","                throw NotFoundException(\"substring not found in string\");","            else","                return ret_value;","        }","","        /** \\brief Like rfind(sub, start), but raises NotFoundException when the substring is not found.","         *","         * \\see index(), index_n() and rindex_n().","         * \\see find(), find_n(), rfind() and rfind_n().","         */","        [[nodiscard]]","        inline constexpr size_type rindex(const CppStringT\u0026 sub, const size_type start) const","        {","            return rindex(sub, start, this-\u003esize() - 1);","        }","","        /** \\brief Like rfind(sub), but raises NotFoundException when the substring is not found.","         *","         * \\see index(), index_n() and rindex_n().","         * \\see find(), find_n(), rfind() and rfind_n().","         */","        [[nodiscard]]","        inline constexpr size_type rindex(const CppStringT\u0026 sub) const","        {","            return rindex(sub, 0, this-\u003esize() - 1);","        }","","","        //---   rindex_n()   --------------------------------------","        /** \\brief Like rfind_n(sub, start, count), but raises NotFoundException when the substring is not found.","        *","        * \\see index_n(), rindex() and rindex_n().","        * \\see find(), find_n(), rfind() and rfind_n().","        */","        [[nodiscard]]","        inline constexpr size_type rindex_n(const CppStringT\u0026 sub, const size_type start, const size_type count) const","        {","            return rindex(sub, start, start + count - 1);","        }","","        /** \\brief Like rfind_n(sub, count), but raises NotFoundException when the substring is not found.","        *","        * \\see index_n(), rindex() and rindex_n().","        * \\see find(), find_n(), rfind() and rfind_n().","        */","        [[nodiscard]]","        inline constexpr size_type rindex_n(const CppStringT\u0026 sub, const size_type count) const","        {","            return rindex(sub, 0, count);","        }","","","        //---   rjust()   -----------------------------------------","        /** \\brief Returns the string right justified in a string of length width.","        *","        * Padding is done using the specified fillchar (default is an ASCII space).","        * The original string is returned if width is less than or equal to len(s).","        */","        [[nodiscard]]","        inline CppStringT rjust(const size_type width, const value_type fillch = value_type(' ')) const noexcept","        {","            if (this-\u003esize() \u003e= width) [[unlikely]]","                return *this;","            else [[likely]]","                return *this + CppStringT(width - this-\u003esize(), fillch);","        }","","","        //---   rpartition()   -------------------------------------","        /** \\brief Splits the string at the last occurrence of sep, and returns a 3-items vector containing the part before the separator, the separator itself, and the part after the separator.","        *","        * If the separator is not  found,  returns  a  3-items  vector","        * containing the string itself, followed by two empty strings.","        */","        [[nodiscard]]","        std::vector\u003cCppStringT\u003e rpartition(const CppStringT\u0026 sep) const noexcept","        {","            const size_type sep_index = rfind(sep);","            if (sep_index == CppStringT::npos) {","                const CppStringT empty{};","                return std::vector\u003cCppStringT\u003e({ *this, empty, empty });","            }","            else {","                const size_type third_index = sep_index + sep.size();","                const size_type third_size = this-\u003esize() - third_index + 1;","                return std::vector\u003cCppStringT\u003e({ this-\u003esubstr(0, sep_index), sep, this-\u003esubstr(third_index, third_size) });","            }","        }","","","        //---   rsplit()   ----------------------------------------","        /** \\brief Returns a vector of the words in the whole string, as seperated with whitespace strings.","        *","        * Notice: consecutive whitespaces are each regarded as a","        * single separator. So, they each separate empty strings.","        */","        [[nodiscard]]","        inline std::vector\u003cCppStringT\u003e rsplit() noexcept","        {","            return split();","        }","","        /** \\brief Returns a vector of the words in the whole string, using sep as the delimiter string. */","        [[nodiscard]]","        inline std::vector\u003cCppStringT\u003e rsplit(const CppStringT\u0026 sep) noexcept","        {","            return split(sep);","        }","","        /** \\brief Returns a vector of the words in the string, as seperated with whitespace strings. At most maxsplit splits are done, the rightmost ones. */","        [[nodiscard]]","        inline std::vector\u003cCppStringT\u003e rsplit(const size_type maxsplit) noexcept","        {","            return rsplit(CppStringT(value_type(' ')), maxsplit);","        }","","        /** \\brief Returns a vector of the words in the string, using sep as the delimiter string. At most maxsplit splits are done, the rightmost ones. */","        [[nodiscard]]","        std::vector\u003cCppStringT\u003e rsplit(const CppStringT\u0026 sep, const size_type maxsplit) noexcept","        {","            std::vector\u003cCppStringT\u003e res{};","","            if (maxsplit == 0) [[unlikely]] {","                res.push_back({ *this });","            }","            else [[likely]] {","                const size_type sep_size{ sep.size() };","                std::vector\u003csize_type\u003e indexes{};","                CppStringT tmp{ *this };","                size_type count{ maxsplit };","                size_type index{ 0 };","","                while ((index = tmp.rfind(sep)) != CppStringT::npos \u0026\u0026 count \u003e 0) {","                    indexes.insert(indexes.begin(), index);","                    if (index == 0)","                        break;","                    tmp = tmp.substr(0, index);","                    count--;","                }","","                if (indexes.size() == 0)","                    res.push_back(*this);","                else {","                    index = 0;","                    for (const size_type ndx : indexes) {","                        res.push_back(this-\u003esubstr(index, ndx - index));","                        index = ndx + sep_size;","                    }","                }","                res.push_back(this-\u003esubstr(index, this-\u003esize() - index));","            }","","            return res;","        }","","","        //---   rstrip()   ----------------------------------------","        /** \\brief Returns a copy of the string with trailing characters removed.","        *","        * The passed string specifies the set of characters to be removed.","        * The chars argument is not a prefix;  rather, all combinations of","        * its values are stripped.","        * To remove a suffix, rather call method 'removesuffix()'.","        */","        [[nodiscard]]","        inline CppStringT rstrip(const CppStringT\u0026 removedchars) const noexcept","        {","            for (auto it = this-\u003ecrbegin(); it != this-\u003ecrend(); ++it)","                if (std::none_of(removedchars.cbegin(), removedchars.cend(), [it](const value_type ch) { return *it == ch; }))","                    return CppStringT(this-\u003ecbegin(), this-\u003ecbegin() + this-\u003esize() - (it - this-\u003ecrbegin()));","            return CppStringT();","        }","","        /** \\brief Returns a copy of the string with trailing whitespaces removed. */","        [[nodiscard]]","        inline CppStringT rstrip() const noexcept","        {","            for (auto it = this-\u003ecrbegin(); it != this-\u003ecrend(); ++it)","                if (*it != value_type(' '))","                    return CppStringT(this-\u003ecbegin(), this-\u003ecbegin() + this-\u003esize() - (it - this-\u003ecrbegin()));","            return CppStringT();","        }","","","        //---   split()   -----------------------------------------","        /** \\brief Returns a vector of the words in the whole string, as seperated with whitespace strings.","        *","        * Notice: consecutive whitespaces are each regarded as a","        * single separator. So, they each separate empty strings.","        */","        [[nodiscard]]","        inline std::vector\u003cCppStringT\u003e split() noexcept","        {","            std::vector\u003cCppStringT\u003e res;","            const CppStringT whitespace(value_type(' '));","            for (const auto\u0026 word : *this | std::views::split(whitespace))","                res.push_back(CppStringT(word.begin(), word.end()));","            return res;","        }","","        /** \\brief Returns a vector of the words in the whole string, using sep as the delimiter string.","        *","        * Notice: consecutive delimiters are not grouped together  and  are","        * deemed  to delimit empty strings  (for example, \"1,,2\".split(\",\")","        * returns {\"1\", \"\", \"2\"}). The sep argument may consist of multiple","        * characters (for example, \"1\u003c\u003e2\u003c\u003e3\".split(\"\u003c\u003e\") returns {\"1\", \"2\",","        * \"3\"]).  Splitting  an  empty  string  with  a specified separator","        * returns {\"\"}.","        */","        [[nodiscard]]","        inline std::vector\u003cCppStringT\u003e split(const CppStringT\u0026 sep) noexcept","        {","            std::vector\u003cCppStringT\u003e res;","            for (const auto\u0026 word : *this | std::views::split(sep))","                res.push_back(CppStringT(word.begin(), word.end()));","            return res;","        }","","        /** \\brief Returns a vector of the words in the string, as seperated with whitespace strings. At most maxsplit splits are done, the leftmost ones. */","        [[nodiscard]]","        inline std::vector\u003cCppStringT\u003e split(const size_type maxsplit) noexcept","        {","            return split(CppStringT(value_type(' ')), maxsplit);","        }","","        /** \\brief Returns a vector of the words in the string, using sep as the delimiter string. At most maxsplit splits are done, the leftmost ones. */","        [[nodiscard]]","        std::vector\u003cCppStringT\u003e split(const CppStringT\u0026 sep, const size_type maxsplit) noexcept","        {","            std::vector\u003cCppStringT\u003e res{};","","            if (maxsplit == 0) [[unlikely]] {","                res.push_back(*this);","            }","            else [[likely]] {","                const size_type sep_size{ sep.size() };","                std::vector\u003csize_type\u003e indexes{};","                size_type count{ maxsplit };","                size_type index{ 0 };","","                while ((index = this-\u003efind(sep, index)) != CppStringT::npos \u0026\u0026 count \u003e 0) {","                    indexes.push_back(index);","                    if (index == this-\u003esize())","                        break;","                    index += sep_size;","                    count--;","                }","","                if (indexes.size() == 0)","                    res.push_back(*this);","                else {","                    index = 0;","                    for (const size_type ndx : indexes) {","                        res.push_back(this-\u003esubstr(index, ndx - index));","                        index = ndx + sep_size;","                    }","                }","                res.push_back(this-\u003esubstr(index, this-\u003esize() - index));","            }","","            return res;","        }","","","        //---   splitlines()   ------------------------------------","        /** \\brief Return a list of the lines in the string, breaking at line boundaries.","        *","        * Line breaks are not included in the resulting list unless keepends is given and true.","        *","        * This method splits on the following line boundaries. In particular, the boundaries are a superset of universal newlines:","        * '\\n' \t            Line Feed","        * '\\r' \t            Carriage Return","        * '\\r\\n' \t        Carriage Return + Line Feed","        * '\\v' or '\\x0b' \tLine Tabulation","        * '\\f' or '\\x0c' \tForm Feed","        * '\\x1c' \t        File Separator","        * '\\x1d' \t        Group Separator","        * '\\x1e' \t        Record Separator","        * Next separators values, detected by Python method splitlines(), are currently NOT detected by CppStrings","        * '\\x85' \t        Next Line (C1 Control Code)","        * '\\u2028' \t        Line Separator","        * '\\u2029' \t        Paragraph Separator","        */","        [[nodiscard]]","        std::vector\u003cCppStringT\u003e splitlines(const bool keep_end = false) const noexcept","        {","            std::vector\u003cCppStringT\u003e res{};","            CppStringT current{};","            bool prev_cr = false;","","            for (const value_type ch : *this) {","                switch (ch) {","                case 0x0b:  [[unlikely]]        // Line Tabulation, \\v as well as \\x0b and \\013","                case 0x0c:  [[unlikely]]        // Form Feed, \\f as well as \\x0c and \\014","                case 0x1c:  [[unlikely]]        // File Separator, or \\034","                case 0x1d:  [[unlikely]]        // Group Separator, or \\035","                case 0x1e:  [[unlikely]]        // Record Separator, or \\036","                //case L'\\u0085':   [[unlikely]]  // Next Line (C1 Control Code), or \\0205","                //case L'\\u2028':   [[unlikely]]  // Line Separator","                //case L'\\u2029':   [[unlikely]]  // Paragraph Separator","                    if (prev_cr) [[unlikely]] {","                        res.push_back(current);","                        current.clear();","                    }","                    if (keep_end) [[unlikely]]","                        current += ch;","                    res.push_back(current);","                    current.clear();","                    prev_cr = false;","                    break;","","                case value_type('\\r'): [[unlikely]]      // Line Feed","                    if (prev_cr) [[unlikely]] {","                        res.push_back(current);","                        current.clear();","                    }","                    if (keep_end) [[unlikely]]","                        current += ch;","                    prev_cr = true;","                    break;","","                case value_type('\\n'): [[unlikely]]      // Carriage return","                    if (keep_end) [[unlikely]]","                        current += ch;","                    res.push_back(current);","                    current.clear();","                    prev_cr = false;","                    break;","","","                default: [[likely]]","                    if (prev_cr) [[unlikely]] {","                        res.push_back(current);","                        current.clear();","                        prev_cr = false;","                    }","                    current += ch;","                    break;","                }","            }","","            if (prev_cr) [[unlikely]] {","                res.push_back(current);","            }","","            return res;","        }","","","        //---   startswith()   ------------------------------------","        /** \\brief Returns true if the string starts with the specified prefix, otherwise returns false. Test begins at start position and stops at end position. */","        [[nodiscard]]","        inline const bool startswith(const CppStringT\u0026 prefix, const size_type start, const size_type end) const noexcept","        {","            return this-\u003esubstr(start, end - start + 1).MyBaseClass::starts_with(prefix);","        }","","        /** \\brief Returns true if the string starts with the specified prefix, otherwise returns false. Test begins at start position and stops at end of string. */","        [[nodiscard]]","        inline const bool startswith(const CppStringT\u0026 prefix, const size_type start) const noexcept","        {","            return startswith(prefix, start, this-\u003esize() - 1);","        }","","        /** \\brief Returns true if the string starts with the specified prefix, otherwise returns false. Test runs on the whole string. */","        [[nodiscard]]","        inline const bool startswith(const CppStringT\u0026 prefix) const noexcept","        {","            return this-\u003estarts_with(prefix);","        }","","        /** \\brief Returns true if the string starts with any of the specified prefixes, otherwise returns false. Test begins at start position and stops at end of string. */","        [[nodiscard]]","        inline const bool startswith(const std::initializer_list\u003cCppStringT\u003e\u0026 prefixes, const size_type start, const size_type end) const noexcept","        {","            if (start \u003e end)","                return false;","","            CppStringT tmp(this-\u003esubstr(start, end));","            for (auto\u0026 prefix : prefixes) {","                if (tmp.starts_with(prefix))","                    return true;","            }","            return false;","        }","","","        //---   startswith_n()   ----------------------------------","        /** \\brief Returns true if the string starts with the specified suffix, otherwise returns false. Test begins at start position and stops after count positions. */","        [[nodiscard]]","        inline const bool startswith_n(const CppStringT\u0026 prefix, const size_type start, const size_type count) const noexcept","        {","            return this-\u003esubstr(start, count).MyBaseClass::starts_with(prefix);","        }","","        /** \\brief Returns true if the string starts with the specified suffix, otherwise returns false. Test begins at position 0 and stops after count positions. */","        [[nodiscard]]","        inline const bool startswith_n(const CppStringT\u0026 prefix, const size_type count) const noexcept","        {","            return this-\u003esubstr(0, count).MyBaseClass::starts_with(prefix);","        }","","        /** \\brief Returns true if the string starts with any of the specified suffixes, otherwise returns false. Test begins at start position and stops after count positions. */","        [[nodiscard]]","        inline const bool startswith_n(const std::initializer_list\u003cCppStringT\u003e\u0026 prefix, const size_type start, const size_type count) const noexcept","        {","            return startswith(prefix, start, count);","        }","","","        //---   strip()   -----------------------------------------","        /** \\brief Returns a copy of the string with the leading and trailing characters removed.","        *","        * The passed string specifies the set of characters to be removed.","        * The chars argument is not a prefix;  rather, all combinations of","        * its values are stripped.","        */","        [[nodiscard]]","        inline CppStringT strip(const CppStringT\u0026 removedchars) const noexcept","        {","            return this-\u003erstrip(removedchars).lstrip(removedchars);","        }","","        /** \\brief Returns a copy of the string with the leading and trailing whitespaces removed. */","        [[nodiscard]]","        inline CppStringT strip() const noexcept","        {","            return this-\u003erstrip().lstrip();","        }","","","        //---   substr()   ----------------------------------------","        /** \\brief Returns a copy of the string, starting at index start and ending after count characters. */","        [[nodiscard]]","        inline CppStringT substr(const size_type start, const size_type count = -1) const noexcept","        {","            if (start \u003e this-\u003esize()) [[unlikely]]","                return CppStringT();","","            const size_type width{ std::min(count, this-\u003esize() - start + 1) };","            return CppStringT(MyBaseClass::substr(start, width));","        }","","","        //---   swapcase()   --------------------------------------","        /** \\brief Returns a copy of the string with uppercase characters converted to lowercase and vice versa.","        *","        * Note that it is not necessarily true that s.swapcase().swapcase() == s.","        */","        [[nodiscard]]","        inline CppStringT swapcase() const noexcept","        {","            CppStringT res;","            std::ranges::transform(*this, std::back_inserter(res), [](const value_type c) -\u003e value_type { return pcs::swap_case(c); });","            return res;","        }","","","        //---   title()   -----------------------------------------","        /** \\brief Returns a titlecased copy of the string where words start with an uppercase character and the remaining characters are lowercase. */","        [[nodiscard]]","        CppStringT title() const noexcept","        {","            const CppStringT whitespace(value_type(' '));","","            CppStringT res(*this);","            std::vector\u003cCppStringT\u003e words = res.split(whitespace);","","            for (CppStringT\u0026 word : words)","                word = word.capitalize();","","            return whitespace.join(words);","        }","","","        //---   translate()   -------------------------------------","        /** \\brief Returns a copy of the string in which each character has been mapped through the given translation table.","        *","        * The table must be of type CppStringT::TransTable. When a character","        * to  be  translated  is not available as an entry in the tranlation","        * table, it is set as is in the resulting string.","        */","        [[nodiscard]]","        CppStringT translate(TransTable\u0026 table) noexcept","        {","            CppStringT res{};","            for (auto ch : *this) {","                try { res += table[ch]; }","                catch (...) { res += ch; }","            }","            return res;","        }","","","        //---   upper ()  -----------------------------------------","        /** \\brief In-place replaces all characters of the string with their uppercase conversion. Returns a reference to string.","        *","        * Notice: uses the currently set std::locale, which is the \"C\" one","        * by default or any other one as previously set by the user.","        */","        inline CppStringT\u0026 upper() noexcept","        {","            CppStringT res{};","            std::ranges::transform(*this, std::back_inserter(res), [\u0026](const value_type ch) -\u003e value_type { return this-\u003eupper(ch); });","            return *this = res;","        }","","        /** \\brief Returns uppercase conversion of the character.","        *","        * Notice: uses the currently set std::locale, which is the \"C\" one","        * by default or any other one as previously set by the user.","        */","        [[nodiscard]]","        static inline const value_type upper(const value_type ch) noexcept","        {","            return value_type(std::toupper(ch));","        }","","","        //---   zfill()   -----------------------------------------","        /** \\brief Returns a copy of the string left filled with ASCII '0' digits to make a string of length width.","        *","        * A leading sign prefix ('+'/'-') is handled by inserting the padding","        * after the sign character rather than before. The original string is","        * returned if width is less than or equal to len(s).","        */","        [[nodiscard]]","        inline CppStringT zfill(const size_type width) const noexcept","        {","            if (this-\u003esize() \u003e= width) [[unlikely]]","                return *this;","","            const size_type padding_width = width - this-\u003esize();","            if ((*this)[0] == '-' || (*this)[0] == '+') [[unlikely]]","                return (*this)[0] + this-\u003esubstr(1, this-\u003esize() - 1).ljust(width - 1, value_type('0'));","            else [[likely]]","                return this-\u003eljust(width, value_type('0'));","        }","","    };","","","    //=====   litteral operators   ============================","    /** \\brief  Forms a CppString literal. */","    inline CppString operator\"\"_cs(const char* str, std::size_t len)","    {","        return CppString(CppString::MyBaseClass(str, len));","    }","","    /** \\brief Forms a CppWString literal. */","    inline CppWString operator\"\"_cs(const wchar_t* str, std::size_t len)","    {","        return CppWString(CppWString::MyBaseClass(str, len));","    }","","","    //=====   Slices   ========================================","    //---   slices base   -------------------------------------","    /** \\brief Base class for slices, with start, stop and step specified values. */","    template\u003ctypename IntT\u003e","        requires std::is_signed_v\u003cIntT\u003e","    class Slice","    {","    public:","        static constexpr IntT DEFAULT{ std::numeric_limits\u003cIntT\u003e::min() };","","        //---   Constructors / Destructor   -------------------","        Slice(const IntT start = DEFAULT, const IntT stop = DEFAULT, const IntT step = DEFAULT) noexcept   //!\u003c Valued constructor","            : _start(start)","            , _stop(stop)","            , _step(step)","        {}","","        virtual ~Slice() noexcept = default;  //!\u003c Default destructor.","","","        //---   iterating   -----------------------------------","        template\u003ctypename CharT = char\u003e","#if (defined(_HAS_CXX20) \u0026\u0026 _HAS_CXX20)","            requires std::is_same_v\u003cCharT, char\u003e || std::is_same_v\u003cCharT, char8_t\u003e || std::is_same_v\u003cCharT, char16_t\u003e || std::is_same_v\u003cCharT, char32_t\u003e || std::is_same_v\u003cCharT, wchar_t\u003e","#else","            requires std::is_same_v\u003cCharT, char\u003e || std::is_same_v\u003cCharT, char16_t\u003e || std::is_same_v\u003cCharT, char32_t\u003e || std::is_same_v\u003cCharT, wchar_t\u003e","#endif","        inline const IntT begin(const CppStringT\u003cCharT\u003e\u0026 str) noexcept  //!\u003c starts iterating on specified CppString.","        {","            return _prepare_iterating(IntT(str.size()));","        }","","        [[nodiscard]]","        inline const bool end() const noexcept  //!\u003c returns true when iterating is over, or false otherwise.","        {","            return _step == 0 ? true : _step \u003e 0 ? _index \u003e= _stop : _index \u003c= _stop;","        }","","        inline Slice operator++() noexcept  //!\u003c iterates one step, pre-increment. Caution: index may be out of bounds. Check '!end()' before dereferencing the slice.","        {","            _index += _step;","            return *this;","        }","","        inline Slice operator++(int) noexcept  //!\u003c iterates one step, post-increment. Caution: index may be out of bounds. Check '!end()' before dereferencing the slice.","        {","            _index += _step;","            return *this;","        }","","        [[nodiscard]]","        inline const IntT operator*() noexcept  //!\u003c dereferences the slice.","        {","            return _index;","        }","","        //---   properties   ----------------------------------","        inline IntT start() { return _start; }  //!\u003c Returns the start index of this slide","        inline IntT stop() { return _stop; }  //!\u003c Returns the stop index of this slide","        inline IntT step() { return _step; }  //!\u003c Returns the step value of this slide","","","    private:","        IntT _start{ 0 };","        IntT _stop{ DEFAULT };","        IntT _step{ 1 };","","        IntT _index{ 0 };","","        [[nodiscard]]","        const IntT _prepare_iterating(const IntT str_size) noexcept","        {","            if (_start == DEFAULT) {","                if (_step \u003c 0 \u0026\u0026 _step != DEFAULT) [[unlikely]]","                    _start = str_size - 1;","                else [[likely]]","                    _start = 0;","            }","            else if (_start \u003c 0) {","                _start += str_size;","                if (_start \u003c 0) [[unlikely]]","                    _start = 0;","            }","            else if (_start \u003e= str_size) {","                if (_step \u003c 0 \u0026\u0026 _step != DEFAULT)","                    _start = str_size - 1;","            }","","            if (_stop == DEFAULT) {","                if (_step \u003c 0 \u0026\u0026 _step != DEFAULT) [[unlikely]]","                    _stop = 0;","                else","                    _stop = str_size;","            }","            else if (_stop \u003c 0) {","                _stop += str_size;","                if (_stop \u003c 0)","                    _stop = 0;","            }","            else if (_stop \u003e str_size)","                _stop = str_size;","","            if (_step == DEFAULT) [[likely]]","                _step = 1;","            if (_step \u003c 0) [[unlikely]] {","                if (_start \u003c= _stop)","                    _step = 0;  // will force end() to true","            }","            else [[unlikely]] {","                if (_start \u003e= _stop)","                    _step = 0;  // will force end() to true","            }","","            return _index = _start;","        }","    };","","","    /** \\brief Class of slices with default stop and step values. */","    template\u003ctypename IntT\u003e","        requires std::is_signed_v\u003cIntT\u003e","    struct StartSlice : public Slice\u003cIntT\u003e","    {","        using MyBaseClass = Slice\u003cIntT\u003e;","","        //---   Constructors / Destructor   -------------------","        inline StartSlice(const IntT start = MyBaseClass::DEFAULT) noexcept   //!\u003c Valued constructor","            : MyBaseClass(start, MyBaseClass::DEFAULT, 1)","        {}","","        virtual ~StartSlice() noexcept = default;  //!\u003c Default destructor.","    };","","","    /** \\brief Class of slices with default start and step values. */","    template\u003ctypename IntT\u003e","        requires std::is_signed_v\u003cIntT\u003e","    struct StopSlice : public Slice\u003cIntT\u003e","    {","        using MyBaseClass = Slice\u003cIntT\u003e;","","        //---   Constructors / Destructor   -------------------","        inline StopSlice(const IntT stop = MyBaseClass::DEFAULT) noexcept   //!\u003c Valued constructor","            : MyBaseClass(MyBaseClass::DEFAULT, stop, 1)","        {}","","        virtual ~StopSlice() noexcept = default;  //!\u003c Default destructor.","    };","","","    /** \\brief Class of slices with default start and stop values. */","    template\u003ctypename IntT\u003e","        requires std::is_signed_v\u003cIntT\u003e","    struct StepSlice : public Slice\u003cIntT\u003e","    {","        using MyBaseClass = Slice\u003cIntT\u003e;","","        //---   Constructors / Destructor   -------------------","        inline StepSlice(const IntT step = MyBaseClass::DEFAULT) noexcept   //!\u003c Valued constructor","            : MyBaseClass(MyBaseClass::DEFAULT, MyBaseClass::DEFAULT, step)","        {}","","        virtual ~StepSlice() noexcept = default;  //!\u003c Default destructor.","    };","","","    /** \\brief Class of slices with default step values. */","    template\u003ctypename IntT\u003e","        requires std::is_signed_v\u003cIntT\u003e","    struct StartStopSlice : public Slice\u003cIntT\u003e","    {","        using MyBaseClass = Slice\u003cIntT\u003e;","","        //---   Constructors / Destructor   -------------------","        inline StartStopSlice(const IntT start = MyBaseClass::DEFAULT, const IntT stop = MyBaseClass::DEFAULT) noexcept   //!\u003c Valued constructor","            : MyBaseClass(start, stop, 1)","        {}","","        virtual ~StartStopSlice() noexcept = default;  //!\u003c Default destructor.","    };","","","    /** \\brief Class of slices with default stop values. */","    template\u003ctypename IntT\u003e","        requires std::is_signed_v\u003cIntT\u003e","    struct StartStepSlice : public Slice\u003cIntT\u003e","    {","        using MyBaseClass = Slice\u003cIntT\u003e;","","        //---   Constructors / Destructor   -------------------","        inline StartStepSlice(const IntT start = MyBaseClass::DEFAULT, const IntT step = MyBaseClass::DEFAULT) noexcept   //!\u003c Valued constructor","            : MyBaseClass(start, MyBaseClass::DEFAULT, step)","        {}","","        virtual ~StartStepSlice() noexcept = default;  //!\u003c Default destructor.","","    };","","","    /** \\brief Class of slices with default start values. */","    template\u003ctypename IntT\u003e","        requires std::is_signed_v\u003cIntT\u003e","    struct StopStepSlice : public Slice\u003cIntT\u003e","    {","        using MyBaseClass = Slice\u003cIntT\u003e;","","        //---   Constructors / Destructor   -------------------","        inline StopStepSlice(const IntT stop = MyBaseClass::DEFAULT, const IntT step = MyBaseClass::DEFAULT) noexcept   //!\u003c Valued constructor","            : MyBaseClass(MyBaseClass::DEFAULT, stop, step)","        {}","","        virtual ~StopStepSlice() noexcept = default;  //!\u003c Default destructor.","    };","","","    //=====   templated chars classes   ===========================","    //---   is_alpha()   ------------------------------------------","    /** \\brief SHOULD NEVER BE USED. Use next specializations instead. */","    template\u003cclass CharT\u003e","    [[nodiscard]]","    inline const bool is_alpha(const CharT ch) noexcept","    {","        return false;","    }","","    /** \\brief Returns true if character ch is alphabetic, or false otherwise. Conforms to the current locale settings. */","    template\u003c\u003e","    [[nodiscard]]","    inline const bool is_alpha\u003cchar\u003e(const char ch) noexcept","    {","        return static_cast\u003cconst bool\u003e(std::isalpha(static_cast\u003cunsigned char\u003e(ch)));","    }","","    /** \\brief Returns true if character ch is alphabetic, or false otherwise. Conforms to the current locale settings. */","    template\u003c\u003e","    [[nodiscard]]","    inline const bool is_alpha\u003cwchar_t\u003e(const wchar_t ch) noexcept","    {","        return static_cast\u003cconst bool\u003e(std::iswalpha(ch));","    }","","","    //---   is_ascii()   ------------------------------------------","    /** \\brief Returns true if character has code point in the range U+0000-U+007F. */","    template\u003cclass CharT\u003e","    [[nodiscard]]","    inline const bool is_ascii(const CharT ch) noexcept","    {","        return CharT(0x00) \u003c= ch \u0026\u0026 ch \u003c= CharT(0x7f);","    }","","","    //---   is_decimal()   ----------------------------------------","    /** \\brief SHOULD NEVER BE USED. Use next specializations instead. */","    template\u003cclass CharT\u003e","    [[nodiscard]]","    inline const bool is_decimal(const CharT ch) noexcept","    {","        return false;","    }","","    /** \\brief Returns true if character is a decimal digit, or false otherwise. */","    template\u003c\u003e","    [[nodiscard]]","    inline const bool is_decimal\u003cchar\u003e(const char ch) noexcept","    {","        return static_cast\u003cconst bool\u003e(std::isdigit(static_cast\u003cunsigned char\u003e(ch)));","    }","","    /** \\brief Returns true if character is a decimal digit, or false otherwise. */","    template\u003c\u003e","    [[nodiscard]]","    inline const bool is_decimal\u003cwchar_t\u003e(const wchar_t ch) noexcept","    {","        return (const bool)std::iswdigit(ch);","    }","","","    //---   is_digit()   ------------------------------------------","    /** \\brief SHOULD NEVER BE USED. Use next specializations instead. */","    template\u003cclass CharT\u003e","    [[nodiscard]]","    inline const bool is_digit(const CharT ch) noexcept","    {","        return pcs::is_decimal(ch);","    }","","    /** \\brief Returns true if character is a decimal digit, or false otherwise. */","    template\u003c\u003e","    [[nodiscard]]","    inline const bool is_digit\u003cchar\u003e(const char ch) noexcept","    {","        return pcs::is_decimal(ch);","    }","","    /** \\brief Returns true if character is a decimal digit, or false otherwise. */","    template\u003c\u003e","    [[nodiscard]]","    inline const bool is_digit\u003cwchar_t\u003e(const wchar_t ch) noexcept","    {","        return pcs::is_decimal(ch);","    }","","","    //---   is_id_continue()   ------------------------------------","    /** \\brief Returns true if character is a continuing char for identifiers, or false otherwise. */","    template\u003cclass CharT\u003e","    [[nodiscard]]","    inline const bool is_id_continue(const CharT ch) noexcept","    {","        return pcs::is_id_start(ch) || pcs::is_decimal(ch);","    }","","","    //---   is_id_start()   ---------------------------------------","    /** \\brief Returns true if character is a starting char for identifiers, or false otherwise. */","    template\u003cclass CharT\u003e","    [[nodiscard]]","    inline const bool is_id_start(const CharT ch) noexcept","    {","        return pcs::is_alpha(ch) || ch == CharT('_');","    }","","","    //---   is_lower()   ------------------------------------------","    /** \\brief SHOULD NEVER BE USED. Use next specializations instead. */","    template\u003cclass CharT\u003e","    [[nodiscard]]","    inline const bool is_lower(const CharT ch) noexcept","    {","        return false;","    }","","    /** \\brief Returns true if character ch is lowercase, or false otherwise. Conforms to the current locale settings. */","    template\u003c\u003e","    [[nodiscard]]","    inline const bool is_lower\u003cchar\u003e(const char ch) noexcept","    {","        return std::islower(static_cast\u003cunsigned char\u003e(ch));","    }","","    /** \\brief Returns true if character ch is lowercase, or false otherwise. Conforms to the current locale settings. */","    template\u003c\u003e","    [[nodiscard]]","    inline const bool is_lower\u003cwchar_t\u003e(const wchar_t ch) noexcept","    {","        return std::iswlower(ch);","    }","","","    //---   is_numeric()   ----------------------------------------","    /** \\brief SHOULD NEVER BE USED. Use next specializations instead. */","    template\u003cclass CharT\u003e","    [[nodiscard]]","    inline const bool is_numeric(const CharT ch) noexcept","    {","        return pcs::is_decimal(ch);","    }","","    /** \\brief Returns true if character is a decimal digit, or false otherwise. */","    template\u003c\u003e","    [[nodiscard]]","    inline const bool is_numeric\u003cchar\u003e(const char ch) noexcept","    {","        return pcs::is_decimal(ch);","    }","","    /** \\brief Returns true if character is a decimal digit, or false otherwise. */","    template\u003c\u003e","    [[nodiscard]]","    inline const bool is_numeric\u003cwchar_t\u003e(const wchar_t ch) noexcept","    {","        return pcs::is_decimal(ch);","    }","","","    //---   is_printable()   --------------------------------------","    /** \\brief SHOULD NEVER BE USED. Use next specializations instead. */","    template\u003cclass CharT\u003e","    [[nodiscard]]","    inline const bool is_printable(const CharT ch) noexcept","    {","        return false;","    }","","    /** \\brief Returns true if character ch is printable, or false otherwise. */","    template\u003c\u003e","    [[nodiscard]]","    inline const bool is_printable\u003cchar\u003e(const char ch) noexcept","    {","        return static_cast\u003cconst bool\u003e(std::isprint(static_cast\u003cunsigned char\u003e(ch)));","    }","","    /** \\brief Returns true if character ch is punctuation, or false otherwise. Conforms to the current locale settings. */","    template\u003c\u003e","    [[nodiscard]]","    inline const bool is_printable\u003cwchar_t\u003e(const wchar_t ch) noexcept","    {","        return static_cast\u003cconst bool\u003e(std::iswprint(ch));","    }","","","    //---   is_punctuation()   ------------------------------------","    /** \\brief SHOULD NEVER BE USED. Use next specializations instead. */","    template\u003cclass CharT\u003e","    [[nodiscard]]","    inline const bool is_punctuation(const CharT ch) noexcept","    {","        return false;","    }","","    /** \\brief Returns true if character ch is punctuation, or false otherwise. Conforms to the current locale settings. */","    template\u003c\u003e","    [[nodiscard]]","    inline const bool is_punctuation\u003cchar\u003e(const char ch) noexcept","    {","        return static_cast\u003cconst bool\u003e(std::ispunct(static_cast\u003cunsigned char\u003e(ch)));","    }","","    /** \\brief Returns true if character ch is punctuation, or false otherwise. Conforms to the current locale settings. */","    template\u003c\u003e","    [[nodiscard]]","    inline const bool is_punctuation\u003cwchar_t\u003e(const wchar_t ch) noexcept","    {","        return static_cast\u003cconst bool\u003e(std::iswpunct(ch));","    }","","","    //---   is_space()   ------------------------------------------","    /** \\brief SHOULD NEVER BE USED. Use next specializations instead. */","    template\u003cclass CharT\u003e","    [[nodiscard]]","    inline const bool is_space(const CharT ch) noexcept","    {","        return false;","    }","","    /** \\brief Returns true if character ch is alphabetic, or false otherwise. Conforms to the current locale settings. */","    template\u003c\u003e","    [[nodiscard]]","    inline const bool is_space\u003cchar\u003e(const char ch) noexcept","    {","        return static_cast\u003cconst bool\u003e(std::isspace(static_cast\u003cunsigned char\u003e(ch)));","    }","","    /** \\brief Returns true if character ch is alphabetic, or false otherwise. Conforms to the current locale settings. */","    template\u003c\u003e","    [[nodiscard]]","    inline const bool is_space\u003cwchar_t\u003e(const wchar_t ch) noexcept","    {","        return static_cast\u003cconst bool\u003e(std::iswspace(ch));","    }","","","    //---   is_upper()   ------------------------------------------","    /** \\brief SHOULD NEVER BE USED. Use next specializations instead. */","    template\u003cclass CharT\u003e","    [[nodiscard]]","    inline const bool is_upper(const CharT ch) noexcept","    {","        return false;","    }","","    /** \\brief Returns true if character ch is uppercase, or false otherwise. Conforms to the current locale settings. */","    template\u003c\u003e","    [[nodiscard]]","    inline const bool is_upper\u003cchar\u003e(const char ch) noexcept","    {","        return static_cast\u003cconst bool\u003e(std::isupper(static_cast\u003cunsigned char\u003e(ch)));","    }","","    /** \\brief Returns true if character ch is uppercase, or false otherwise. Conforms to the current locale settings. */","    template\u003c\u003e","    [[nodiscard]]","    inline const bool is_upper\u003cwchar_t\u003e(const wchar_t ch) noexcept","    {","        return static_cast\u003cconst bool\u003e(std::iswupper(ch));","    }","","","    //---   swap_case()   -----------------------------------------","    /** \\brief Returns the swapped case form of character ch if it exists, or ch itself otherwise. */","    template\u003cclass CharT\u003e","    [[nodiscard]]","    inline const CharT swap_case(const CharT ch) noexcept","    {","        if (pcs::is_lower(ch))","            return pcs::to_upper(ch);","        else if (pcs::is_upper(ch))","            return pcs::to_lower(ch);","        else","            return ch;","    }","","","    //---   to_lower()   ------------------------------------------","    /** \\brief SHOULD NEVER BE USED. Use next specializations instead. */","    template\u003cclass CharT\u003e","    [[nodiscard]]","    inline const CharT to_lower(const CharT ch) noexcept","    {","        return ch;","    }","","    /** \\brief Returns the lowercase form of character ch if it exists, or ch itself otherwise. Conforms to the current locale settings. */","    template\u003c\u003e","    [[nodiscard]]","    inline const char to_lower\u003cchar\u003e(const char ch) noexcept","    {","        return std::tolower(static_cast\u003cunsigned char\u003e(ch));","    }","","    /** \\brief Returns the lowercase form of character ch if it exists, or ch itself otherwise. Conforms to the current locale settings. */","    template\u003c\u003e","    [[nodiscard]]","    inline const wchar_t to_lower\u003cwchar_t\u003e(const wchar_t ch) noexcept","    {","        return std::towlower(ch);","    }","","","    //---   to_upper()   ------------------------------------------","    /** \\brief SHOULD NEVER BE USED. Use next specializations instead. */","    template\u003cclass CharT\u003e","    [[nodiscard]]","    inline const CharT to_upper(const CharT ch) noexcept","    {","        return ch;","    }","","    /** \\brief Returns the uppercase form of character ch if it exists, or ch itself otherwise. Conforms to the current locale settings. */","    template\u003c\u003e","    [[nodiscard]]","    inline const char to_upper\u003cchar\u003e(const char ch) noexcept","    {","        return std::toupper(static_cast\u003cunsigned char\u003e(ch));","    }","","    /** \\brief Returns the uppercase form of character ch if it exists, or ch itself otherwise. Conforms to the current locale settings. */","    template\u003c\u003e","    [[nodiscard]]","    inline const wchar_t to_upper\u003cwchar_t\u003e(const wchar_t ch) noexcept","    {","        return std::towupper(ch);","    }","","#if defined(_MSC_VER)","#   pragma warning(pop)  // to avoid boring warnings with litteral operators definitions","#endif","","} // end of namespace pcs  // (pythonic c++ strings)"],"stylingDirectives":[[[1,7,"pl-k"]],[[0,3,"pl-c"],[0,2,"pl-c"]],[[0,22,"pl-c"]],[[0,65,"pl-c"]],[[0,0,"pl-c"]],[[0,46,"pl-c"]],[[0,53,"pl-c"]],[[0,0,"pl-c"]],[[0,72,"pl-c"]],[[0,72,"pl-c"]],[[0,72,"pl-c"]],[[0,39,"pl-c"]],[[0,0,"pl-c"]],[[0,72,"pl-c"]],[[0,72,"pl-c"]],[[0,72,"pl-c"]],[[0,48,"pl-c"]],[[0,0,"pl-c"]],[[0,72,"pl-c"]],[[0,74,"pl-c"]],[[0,2,"pl-c"],[0,2,"pl-c"]],[],[[0,63,"pl-c"],[0,2,"pl-c"]],[[1,8,"pl-k"],[9,20,"pl-s"],[9,10,"pl-pds"],[19,20,"pl-pds"]],[[1,8,"pl-k"],[9,16,"pl-s"],[9,10,"pl-pds"],[15,16,"pl-pds"]],[[1,8,"pl-k"],[9,18,"pl-s"],[9,10,"pl-pds"],[17,18,"pl-pds"]],[[1,8,"pl-k"],[9,17,"pl-s"],[9,10,"pl-pds"],[16,17,"pl-pds"]],[[1,8,"pl-k"],[9,18,"pl-s"],[9,10,"pl-pds"],[17,18,"pl-pds"]],[[1,8,"pl-k"],[9,17,"pl-s"],[9,10,"pl-pds"],[16,17,"pl-pds"]],[[1,8,"pl-k"],[9,17,"pl-s"],[9,10,"pl-pds"],[16,17,"pl-pds"]],[[1,8,"pl-k"],[9,14,"pl-s"],[9,10,"pl-pds"],[13,14,"pl-pds"]],[[1,8,"pl-k"],[9,17,"pl-s"],[9,10,"pl-pds"],[16,17,"pl-pds"]],[[1,8,"pl-k"],[9,15,"pl-s"],[9,10,"pl-pds"],[14,15,"pl-pds"]],[[1,8,"pl-k"],[9,20,"pl-s"],[9,10,"pl-pds"],[19,20,"pl-pds"]],[[1,8,"pl-k"],[9,22,"pl-s"],[9,10,"pl-pds"],[21,22,"pl-pds"]],[[1,8,"pl-k"],[9,17,"pl-s"],[9,10,"pl-pds"],[16,17,"pl-pds"]],[],[],[],[[0,9,"pl-k"],[10,13,"pl-en"],[14,44,"pl-c"],[14,16,"pl-c"]],[],[[4,67,"pl-c"],[4,6,"pl-c"]],[[4,27,"pl-c"],[4,6,"pl-c"]],[],[[4,90,"pl-c"],[4,6,"pl-c"]],[[4,12,"pl-k"]],[[8,13,"pl-k"],[14,19,"pl-en"]],[[8,13,"pl-k"],[14,21,"pl-en"]],[[8,13,"pl-k"],[14,24,"pl-en"]],[[6,11,"pl-k"],[12,22,"pl-en"]],[],[[4,99,"pl-c"],[4,6,"pl-c"]],[[4,9,"pl-k"],[34,38,"pl-k"],[64,128,"pl-c"],[64,66,"pl-c"]],[[4,9,"pl-k"],[34,41,"pl-k"],[64,131,"pl-c"],[64,66,"pl-c"]],[],[],[[1,3,"pl-k"]],[[4,10,"pl-k"]],[[4,10,"pl-k"],[35,98,"pl-c"],[35,37,"pl-c"]],[[1,6,"pl-k"]],[],[[4,25,"pl-c"],[4,6,"pl-c"]],[[4,10,"pl-k"],[21,29,"pl-k"],[29,31,"pl-s"],[29,30,"pl-pds"],[30,31,"pl-pds"],[35,40,"pl-k"],[41,45,"pl-k"],[57,63,"pl-c1"],[79,111,"pl-c"],[79,81,"pl-c"]],[[4,10,"pl-k"],[22,30,"pl-k"],[30,32,"pl-s"],[30,31,"pl-pds"],[31,32,"pl-pds"],[36,41,"pl-k"],[42,49,"pl-k"],[61,67,"pl-c1"],[79,112,"pl-c"],[79,81,"pl-c"]],[],[],[[4,65,"pl-c"],[4,6,"pl-c"]],[[4,12,"pl-k"],[13,21,"pl-k"],[34,41,"pl-c1"]],[[8,16,"pl-k"]],[[4,9,"pl-k"],[10,15,"pl-en"],[63,133,"pl-c"],[63,65,"pl-c"]],[],[[4,12,"pl-k"],[13,21,"pl-k"],[34,41,"pl-c1"]],[[8,16,"pl-k"]],[[4,10,"pl-k"],[11,21,"pl-en"],[64,119,"pl-c"],[64,66,"pl-c"]],[],[[4,12,"pl-k"],[13,21,"pl-k"],[34,41,"pl-c1"]],[[8,16,"pl-k"]],[[4,10,"pl-k"],[11,20,"pl-en"],[64,120,"pl-c"],[64,66,"pl-c"]],[],[[4,12,"pl-k"],[13,21,"pl-k"],[34,41,"pl-c1"]],[[8,16,"pl-k"]],[[4,10,"pl-k"],[11,20,"pl-en"],[64,120,"pl-c"],[64,66,"pl-c"]],[],[[4,12,"pl-k"],[13,21,"pl-k"],[34,41,"pl-c1"]],[[8,16,"pl-k"]],[[4,10,"pl-k"],[11,25,"pl-en"],[64,110,"pl-c"],[64,66,"pl-c"]],[],[[4,12,"pl-k"],[13,21,"pl-k"],[34,41,"pl-c1"]],[[8,16,"pl-k"]],[[4,10,"pl-k"],[11,25,"pl-en"],[64,110,"pl-c"],[64,66,"pl-c"]],[],[[4,12,"pl-k"],[13,21,"pl-k"],[34,41,"pl-c1"]],[[8,16,"pl-k"]],[[4,10,"pl-k"],[11,24,"pl-en"],[64,111,"pl-c"],[64,66,"pl-c"]],[],[],[[4,121,"pl-c"],[4,6,"pl-c"]],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[22,30,"pl-en"],[31,36,"pl-k"],[47,55,"pl-k"],[64,132,"pl-c"],[64,66,"pl-c"]],[],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[22,30,"pl-en"],[31,36,"pl-k"],[47,55,"pl-k"],[64,134,"pl-c"],[64,66,"pl-c"]],[],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[22,32,"pl-en"],[33,38,"pl-k"],[49,57,"pl-k"],[64,134,"pl-c"],[64,66,"pl-c"]],[],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[22,30,"pl-en"],[31,36,"pl-k"],[47,55,"pl-k"],[64,134,"pl-c"],[64,66,"pl-c"]],[],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[22,36,"pl-en"],[37,42,"pl-k"],[53,61,"pl-k"],[64,152,"pl-c"],[64,66,"pl-c"]],[],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[22,33,"pl-en"],[34,39,"pl-k"],[50,58,"pl-k"],[64,150,"pl-c"],[64,66,"pl-c"]],[],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[22,30,"pl-en"],[31,36,"pl-k"],[47,55,"pl-k"],[64,128,"pl-c"],[64,66,"pl-c"]],[],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[22,32,"pl-en"],[33,38,"pl-k"],[49,57,"pl-k"],[64,134,"pl-c"],[64,66,"pl-c"]],[],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[22,34,"pl-en"],[35,40,"pl-k"],[51,59,"pl-k"],[64,131,"pl-c"],[64,66,"pl-c"]],[],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[22,36,"pl-en"],[37,42,"pl-k"],[53,61,"pl-k"],[64,133,"pl-c"],[64,66,"pl-c"]],[],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[22,30,"pl-en"],[31,36,"pl-k"],[47,55,"pl-k"],[64,133,"pl-c"],[64,66,"pl-c"]],[],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[22,30,"pl-en"],[31,36,"pl-k"],[47,55,"pl-k"],[64,128,"pl-c"],[64,66,"pl-c"]],[],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"]],[[4,10,"pl-k"],[11,16,"pl-k"],[23,32,"pl-en"],[33,38,"pl-k"],[49,57,"pl-k"],[64,152,"pl-c"],[64,66,"pl-c"]],[],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"]],[[4,10,"pl-k"],[11,16,"pl-k"],[23,31,"pl-en"],[32,37,"pl-k"],[48,56,"pl-k"],[64,149,"pl-c"],[64,66,"pl-c"]],[],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"]],[[4,10,"pl-k"],[11,16,"pl-k"],[23,31,"pl-en"],[32,37,"pl-k"],[48,56,"pl-k"],[64,149,"pl-c"],[64,66,"pl-c"]],[],[],[[4,67,"pl-c"],[4,6,"pl-c"]],[[4,74,"pl-c"],[4,6,"pl-c"]],[[0,5,"pl-c"]],[[0,72,"pl-c"]],[[0,41,"pl-c"]],[[0,46,"pl-c"]],[[0,50,"pl-c"]],[[0,5,"pl-c"]],[[0,72,"pl-c"]],[[0,72,"pl-c"]],[[0,72,"pl-c"]],[[0,46,"pl-c"]],[[0,5,"pl-c"]],[[0,72,"pl-c"]],[[0,26,"pl-c"]],[[0,26,"pl-c"]],[[0,26,"pl-c"]],[[0,72,"pl-c"]],[[0,64,"pl-c"]],[[0,6,"pl-c"],[4,6,"pl-c"]],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"],[26,31,"pl-k"],[32,39,"pl-en"],[41,46,"pl-k"],[47,57,"pl-en"]],[[4,9,"pl-k"],[10,20,"pl-en"],[23,29,"pl-k"],[30,33,"pl-en"]],[],[[4,11,"pl-k"]],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,13,"pl-k"]],[],[[8,13,"pl-k"]],[[8,13,"pl-k"]],[[8,13,"pl-k"]],[[8,13,"pl-k"]],[[8,13,"pl-k"]],[[8,13,"pl-k"]],[[8,13,"pl-k"]],[[8,13,"pl-k"]],[[8,13,"pl-k"]],[[8,13,"pl-k"]],[[8,13,"pl-k"]],[[8,13,"pl-k"]],[[8,13,"pl-k"]],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,130,"pl-c"],[8,10,"pl-c"],[128,130,"pl-c"]],[[8,13,"pl-k"],[14,24,"pl-en"]],[],[[8,15,"pl-k"]],[[12,67,"pl-c"],[12,14,"pl-c"]],[[12,17,"pl-k"]],[[12,17,"pl-k"]],[],[[12,67,"pl-c"],[12,14,"pl-c"]],[[12,72,"pl-c"],[12,14,"pl-c"],[70,72,"pl-c"]],[[12,18,"pl-k"],[19,29,"pl-en"],[30,35,"pl-k"]],[],[],[],[[12,66,"pl-c"],[12,14,"pl-c"]],[[0,13,"pl-c"]],[[0,74,"pl-c"]],[[0,74,"pl-c"]],[[0,43,"pl-c"]],[[0,14,"pl-c"],[12,14,"pl-c"]],[[12,22,"pl-en"],[23,28,"pl-k"],[47,52,"pl-k"]],[],[[16,22,"pl-k"],[28,32,"pl-c1"],[45,49,"pl-c1"]],[[16,20,"pl-k"],[37,43,"pl-c1"]],[[16,19,"pl-k"],[21,26,"pl-k"],[27,31,"pl-k"]],[[33,43,"pl-c1"]],[],[],[[12,68,"pl-c"],[12,14,"pl-c"]],[[0,13,"pl-c"]],[[0,74,"pl-c"]],[[0,74,"pl-c"]],[[0,74,"pl-c"]],[[0,74,"pl-c"]],[[0,54,"pl-c"]],[[0,14,"pl-c"],[12,14,"pl-c"]],[[12,22,"pl-en"],[23,28,"pl-k"],[47,52,"pl-k"],[73,78,"pl-k"]],[],[[16,22,"pl-k"],[28,32,"pl-c1"],[45,49,"pl-c1"]],[[16,20,"pl-k"],[37,43,"pl-c1"]],[[16,19,"pl-k"],[21,26,"pl-k"],[27,31,"pl-k"]],[[33,43,"pl-c1"]],[[16,19,"pl-k"],[21,26,"pl-k"],[27,31,"pl-k"]],[[33,43,"pl-c1"]],[],[],[[12,89,"pl-c"],[12,14,"pl-c"]],[[0,13,"pl-c"]],[[0,74,"pl-c"]],[[0,74,"pl-c"]],[[0,43,"pl-c"]],[[0,14,"pl-c"],[12,14,"pl-c"]],[[12,18,"pl-k"],[19,29,"pl-en"],[30,35,"pl-k"],[54,59,"pl-k"]],[],[[16,22,"pl-k"],[28,32,"pl-c1"],[45,49,"pl-c1"]],[[16,20,"pl-k"],[37,42,"pl-c1"]],[[16,19,"pl-k"],[21,26,"pl-k"],[27,31,"pl-k"]],[],[],[],[[12,99,"pl-c"],[12,14,"pl-c"]],[[0,13,"pl-c"]],[[0,74,"pl-c"]],[[0,74,"pl-c"]],[[0,74,"pl-c"]],[[0,74,"pl-c"]],[[0,54,"pl-c"]],[[0,14,"pl-c"],[12,14,"pl-c"]],[[12,18,"pl-k"],[19,29,"pl-en"],[30,35,"pl-k"],[54,59,"pl-k"],[102,107,"pl-k"]],[],[[16,22,"pl-k"],[28,32,"pl-c1"],[45,49,"pl-c1"]],[[16,20,"pl-k"],[37,42,"pl-c1"]],[[16,19,"pl-k"],[21,26,"pl-k"],[27,31,"pl-k"]],[],[[16,19,"pl-k"],[21,26,"pl-k"],[27,31,"pl-k"]],[[33,43,"pl-c1"]],[],[],[[12,106,"pl-c"],[12,14,"pl-c"]],[[0,13,"pl-c"]],[[0,74,"pl-c"]],[[0,74,"pl-c"]],[[0,43,"pl-c"]],[[0,14,"pl-c"],[12,14,"pl-c"]],[[12,18,"pl-k"],[19,29,"pl-en"],[30,35,"pl-k"],[49,54,"pl-k"]],[],[[16,21,"pl-k"]],[[39,49,"pl-c1"]],[],[],[[12,108,"pl-c"],[12,14,"pl-c"]],[[0,13,"pl-c"]],[[0,74,"pl-c"]],[[0,74,"pl-c"]],[[0,74,"pl-c"]],[[0,74,"pl-c"]],[[0,42,"pl-c"]],[[0,14,"pl-c"],[12,14,"pl-c"]],[[12,18,"pl-k"],[19,29,"pl-en"],[30,35,"pl-k"],[49,54,"pl-k"],[70,75,"pl-k"]],[],[[16,21,"pl-k"]],[[39,49,"pl-c1"]],[[16,21,"pl-k"]],[[49,59,"pl-c1"]],[],[],[[12,79,"pl-c"],[12,14,"pl-c"]],[[0,13,"pl-c"]],[[0,65,"pl-c"]],[[0,65,"pl-c"]],[[0,50,"pl-c"]],[[0,14,"pl-c"],[12,14,"pl-c"]],[[12,20,"pl-k"],[21,26,"pl-k"],[27,32,"pl-en"],[34,39,"pl-k"],[40,47,"pl-en"]],[[12,18,"pl-k"],[19,29,"pl-en"]],[],[],[],[[16,21,"pl-k"]],[[41,51,"pl-c1"]],[],[],[[12,81,"pl-c"],[12,14,"pl-c"]],[[0,13,"pl-c"]],[[0,74,"pl-c"]],[[0,74,"pl-c"]],[[0,74,"pl-c"]],[[0,74,"pl-c"]],[[0,54,"pl-c"]],[[0,14,"pl-c"],[12,14,"pl-c"]],[[12,20,"pl-k"],[21,26,"pl-k"],[27,33,"pl-en"],[35,40,"pl-k"],[41,48,"pl-en"],[50,55,"pl-k"],[56,62,"pl-en"]],[[12,18,"pl-k"],[19,29,"pl-en"]],[],[],[],[],[],[[16,21,"pl-k"]],[[42,52,"pl-c1"]],[],[[16,21,"pl-k"]],[[42,52,"pl-c1"]],[],[],[[12,72,"pl-c"],[12,14,"pl-c"]],[[0,13,"pl-c"]],[[0,74,"pl-c"]],[[0,74,"pl-c"]],[[0,43,"pl-c"]],[[0,14,"pl-c"],[12,14,"pl-c"]],[[12,16,"pl-c"],[12,14,"pl-c"],[14,16,"pl-c"]],[[12,20,"pl-k"],[21,26,"pl-k"],[27,41,"pl-en"]],[[12,20,"pl-k"],[21,31,"pl-en"],[32,37,"pl-k"],[60,65,"pl-k"]],[],[[16,22,"pl-k"],[28,32,"pl-c1"],[45,49,"pl-c1"]],[[16,20,"pl-k"],[37,43,"pl-c1"]],[[16,19,"pl-k"],[21,26,"pl-k"],[27,31,"pl-k"]],[[33,34,"pl-c1"],[39,49,"pl-c1"]],[],[],[[12,18,"pl-k"],[19,29,"pl-en"],[32,40,"pl-k"],[84,115,"pl-c"],[84,86,"pl-c"]],[[12,18,"pl-k"],[19,29,"pl-en"],[30,35,"pl-k"],[49,57,"pl-k"],[84,114,"pl-c"],[84,86,"pl-c"]],[[12,18,"pl-k"],[19,29,"pl-en"],[44,52,"pl-k"],[84,114,"pl-c"],[84,86,"pl-c"]],[],[[12,18,"pl-k"],[19,30,"pl-en"],[33,41,"pl-k"],[44,51,"pl-k"],[84,108,"pl-c"],[84,86,"pl-c"]],[],[[12,67,"pl-c"],[12,14,"pl-c"]],[[12,18,"pl-k"],[31,39,"pl-k"],[42,47,"pl-k"],[61,69,"pl-k"],[72,79,"pl-k"],[84,112,"pl-c"],[84,86,"pl-c"]],[[12,18,"pl-k"],[31,39,"pl-k"],[56,64,"pl-k"],[67,74,"pl-k"],[84,112,"pl-c"],[84,86,"pl-c"]],[],[[12,66,"pl-c"],[12,14,"pl-c"],[64,66,"pl-c"]],[[12,18,"pl-k"],[31,39,"pl-k"],[42,47,"pl-k"],[93,101,"pl-k"]],[],[],[[16,22,"pl-k"],[24,28,"pl-c1"]],[],[],[[12,44,"pl-c"],[12,14,"pl-c"],[42,44,"pl-c"]],[[12,25,"pl-k"]],[[12,18,"pl-k"],[30,38,"pl-k"],[42,47,"pl-k"],[61,69,"pl-k"]],[],[[16,20,"pl-k"],[34,38,"pl-c1"]],[[16,18,"pl-k"],[34,37,"pl-c1"],[41,51,"pl-k"]],[[20,26,"pl-k"],[31,37,"pl-smi"]],[],[[16,20,"pl-k"],[21,33,"pl-k"]],[[20,26,"pl-k"]],[],[],[],[[12,18,"pl-k"],[28,36,"pl-k"],[47,55,"pl-k"],[69,78,"pl-en"],[81,89,"pl-k"],[90,113,"pl-c"],[90,92,"pl-c"]],[],[[16,22,"pl-k"]],[],[],[[8,16,"pl-k"]],[[21,29,"pl-k"],[40,48,"pl-k"],[73,159,"pl-c"],[73,75,"pl-c"]],[],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,14,"pl-k"],[15,25,"pl-en"],[132,137,"pl-c"],[132,134,"pl-c"]],[[8,14,"pl-k"],[15,25,"pl-en"],[26,31,"pl-k"],[132,137,"pl-c"],[132,134,"pl-c"]],[[8,14,"pl-k"],[15,25,"pl-en"],[26,31,"pl-k"],[51,56,"pl-k"],[132,137,"pl-c"],[132,134,"pl-c"]],[[8,14,"pl-k"],[15,25,"pl-en"],[46,54,"pl-k"],[132,137,"pl-c"],[132,134,"pl-c"]],[[8,14,"pl-k"],[15,25,"pl-en"],[46,51,"pl-k"],[71,79,"pl-k"],[132,137,"pl-c"],[132,134,"pl-c"]],[[8,14,"pl-k"],[15,25,"pl-en"],[132,137,"pl-c"],[132,134,"pl-c"]],[[8,14,"pl-k"],[15,25,"pl-en"],[26,31,"pl-k"],[132,137,"pl-c"],[132,134,"pl-c"]],[[8,14,"pl-k"],[15,25,"pl-en"],[26,31,"pl-k"],[83,91,"pl-k"],[132,137,"pl-c"],[132,134,"pl-c"]],[[8,14,"pl-k"],[15,25,"pl-en"],[26,31,"pl-k"],[132,137,"pl-c"],[132,134,"pl-c"]],[],[],[[8,14,"pl-k"],[15,25,"pl-en"],[26,31,"pl-k"],[132,138,"pl-c"],[132,134,"pl-c"]],[],[],[[8,14,"pl-k"],[15,25,"pl-en"],[132,138,"pl-c"],[132,134,"pl-c"]],[],[[8,14,"pl-k"],[15,25,"pl-en"],[26,31,"pl-k"],[106,107,"pl-c1"],[132,138,"pl-c"],[132,134,"pl-c"]],[],[[8,14,"pl-k"],[15,25,"pl-en"],[26,31,"pl-k"],[132,138,"pl-c"],[132,134,"pl-c"]],[[8,14,"pl-k"],[15,25,"pl-en"],[26,31,"pl-k"],[52,57,"pl-k"],[132,138,"pl-c"],[132,134,"pl-c"]],[[8,14,"pl-k"],[15,25,"pl-en"],[132,138,"pl-c"],[132,134,"pl-c"]],[[8,14,"pl-k"],[15,25,"pl-en"],[47,52,"pl-k"],[132,138,"pl-c"],[132,134,"pl-c"]],[],[[8,16,"pl-k"],[17,22,"pl-k"],[23,30,"pl-en"]],[[8,14,"pl-k"],[15,25,"pl-en"],[132,138,"pl-c"],[132,134,"pl-c"]],[],[[8,16,"pl-k"],[17,22,"pl-k"],[23,37,"pl-en"]],[[8,16,"pl-k"],[17,27,"pl-en"],[132,138,"pl-c"],[132,134,"pl-c"]],[],[[8,16,"pl-k"],[17,22,"pl-k"],[23,37,"pl-en"]],[[8,18,"pl-en"],[132,138,"pl-c"],[132,134,"pl-c"]],[],[[8,14,"pl-k"],[15,26,"pl-en"],[29,37,"pl-k"],[40,47,"pl-k"]],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[20,28,"pl-k"],[31,36,"pl-k"],[50,58,"pl-k"],[61,68,"pl-k"],[72,100,"pl-c"],[72,74,"pl-c"]],[[20,28,"pl-k"],[45,53,"pl-k"],[56,63,"pl-k"],[72,100,"pl-c"],[72,74,"pl-c"]],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,13,"pl-k"],[14,31,"pl-en"],[34,40,"pl-k"],[41,44,"pl-en"]],[],[[8,15,"pl-k"]],[[12,17,"pl-k"]],[],[[12,18,"pl-k"],[19,36,"pl-en"],[37,42,"pl-k"]],[[12,18,"pl-k"],[19,36,"pl-en"],[37,42,"pl-k"],[43,47,"pl-k"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,112,"pl-c"],[8,10,"pl-c"],[110,112,"pl-c"]],[[8,14,"pl-k"],[26,36,"pl-en"],[39,47,"pl-k"]],[],[[23,26,"pl-smi"],[28,32,"pl-c1"]],[[12,14,"pl-k"],[21,26,"pl-c1"],[30,40,"pl-k"]],[[20,25,"pl-c1"]],[[20,21,"pl-c1"],[25,38,"pl-c1"],[43,44,"pl-c1"]],[],[[12,18,"pl-k"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,85,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,83,"pl-c"]],[[0,83,"pl-c"]],[[0,77,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[19,25,"pl-en"],[26,31,"pl-k"],[49,54,"pl-k"],[86,89,"pl-s"],[86,87,"pl-pds"],[88,89,"pl-pds"],[92,97,"pl-k"],[98,106,"pl-k"]],[],[[12,17,"pl-k"],[33,37,"pl-c1"],[39,43,"pl-c1"]],[[12,14,"pl-k"],[30,42,"pl-k"]],[[16,22,"pl-k"],[23,33,"pl-c1"],[35,39,"pl-c1"]],[],[[12,17,"pl-k"],[50,51,"pl-c1"]],[[12,18,"pl-k"],[19,29,"pl-c1"],[47,51,"pl-c1"],[54,64,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,94,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,81,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,17,"pl-k"],[18,22,"pl-k"],[23,31,"pl-en"],[32,37,"pl-k"],[58,63,"pl-k"],[64,72,"pl-k"]],[],[[12,14,"pl-k"],[23,28,"pl-c1"],[32,44,"pl-k"]],[[16,69,"pl-c"],[16,18,"pl-c"]],[[16,22,"pl-k"],[23,27,"pl-c1"]],[],[[1,3,"pl-k"]],[[12,58,"pl-c"],[12,14,"pl-c"]],[[12,18,"pl-k"],[19,40,"pl-c1"]],[[1,5,"pl-k"]],[[12,60,"pl-c"],[12,14,"pl-c"]],[[12,17,"pl-k"],[49,53,"pl-c1"]],[[12,17,"pl-k"],[35,39,"pl-c1"],[41,45,"pl-c1"]],[],[[12,14,"pl-k"],[38,50,"pl-k"]],[[16,22,"pl-k"],[23,28,"pl-c1"]],[],[[12,15,"pl-k"],[35,36,"pl-c1"],[78,88,"pl-k"]],[[16,18,"pl-k"],[30,34,"pl-c1"],[36,42,"pl-c1"]],[[20,26,"pl-k"],[27,31,"pl-c1"]],[],[],[[12,18,"pl-k"],[19,24,"pl-c1"]],[[1,6,"pl-k"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,124,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,95,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,24,"pl-k"],[25,29,"pl-k"],[30,40,"pl-en"],[41,46,"pl-k"],[64,69,"pl-k"],[87,92,"pl-k"],[112,113,"pl-c1"],[115,120,"pl-k"],[121,129,"pl-k"]],[],[[12,15,"pl-k"]],[[16,22,"pl-k"],[23,27,"pl-c1"],[29,35,"pl-c1"],[50,58,"pl-c1"]],[],[[12,17,"pl-k"]],[[16,22,"pl-k"],[23,28,"pl-c1"]],[],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,115,"pl-c"],[8,10,"pl-c"],[113,115,"pl-c"]],[[8,21,"pl-k"]],[[8,17,"pl-k"],[28,33,"pl-en"],[34,39,"pl-k"],[57,62,"pl-k"],[81,82,"pl-c1"],[84,89,"pl-k"],[107,108,"pl-c1"],[110,115,"pl-k"],[116,124,"pl-k"]],[],[[26,27,"pl-c1"]],[[28,32,"pl-c1"],[34,40,"pl-c1"],[48,56,"pl-c1"],[57,61,"pl-c1"],[63,67,"pl-c1"],[86,87,"pl-c1"]],[],[[30,31,"pl-c1"]],[[32,36,"pl-c1"]],[],[[12,17,"pl-k"],[33,37,"pl-c1"]],[[30,34,"pl-c1"]],[],[[26,32,"pl-c1"],[41,49,"pl-c1"],[54,58,"pl-c1"],[70,71,"pl-c1"]],[[25,26,"pl-c1"]],[],[],[],[[12,18,"pl-k"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,126,"pl-c"],[8,10,"pl-c"],[124,126,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,24,"pl-k"],[35,42,"pl-en"],[43,48,"pl-k"],[66,71,"pl-k"],[89,94,"pl-k"],[113,118,"pl-k"],[119,127,"pl-k"]],[],[[12,18,"pl-k"],[19,24,"pl-c1"],[54,55,"pl-c1"]],[],[],[[8,116,"pl-c"],[8,10,"pl-c"],[114,116,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,24,"pl-k"],[35,42,"pl-en"],[43,48,"pl-k"],[66,71,"pl-k"],[90,95,"pl-k"],[96,104,"pl-k"]],[],[[12,18,"pl-k"],[19,24,"pl-c1"],[30,31,"pl-c1"],[42,43,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,162,"pl-c"],[8,10,"pl-c"],[160,162,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[21,25,"pl-k"],[26,34,"pl-en"],[35,40,"pl-k"],[61,66,"pl-k"],[84,89,"pl-k"],[105,110,"pl-k"],[111,119,"pl-k"]],[],[[12,18,"pl-k"],[19,23,"pl-c1"],[25,31,"pl-c1"],[53,54,"pl-c1"],[56,67,"pl-smi"],[67,78,"pl-c1"]],[],[],[[8,163,"pl-c"],[8,10,"pl-c"],[161,163,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[21,25,"pl-k"],[26,34,"pl-en"],[35,40,"pl-k"],[61,66,"pl-k"],[82,87,"pl-k"],[88,96,"pl-k"]],[],[[12,18,"pl-k"],[19,23,"pl-c1"],[25,31,"pl-c1"],[32,33,"pl-c1"],[40,51,"pl-smi"],[51,62,"pl-c1"]],[],[],[[8,136,"pl-c"],[8,10,"pl-c"],[134,136,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[21,25,"pl-k"],[26,34,"pl-en"],[35,40,"pl-k"],[61,66,"pl-k"],[67,75,"pl-k"]],[],[[12,18,"pl-k"],[19,30,"pl-k"],[31,36,"pl-k"],[37,41,"pl-k"],[43,65,"pl-c1"]],[],[],[[8,171,"pl-c"],[8,10,"pl-c"],[169,171,"pl-c"]],[[8,21,"pl-k"]],[[8,13,"pl-k"],[14,18,"pl-k"],[19,27,"pl-en"],[28,33,"pl-k"],[79,84,"pl-k"],[102,107,"pl-k"],[123,128,"pl-k"],[129,137,"pl-k"]],[],[[12,14,"pl-k"],[29,41,"pl-k"]],[[16,22,"pl-k"],[23,28,"pl-c1"]],[],[[23,26,"pl-smi"],[27,31,"pl-c1"],[33,39,"pl-c1"],[61,62,"pl-c1"]],[[12,15,"pl-k"],[17,21,"pl-k"]],[[16,18,"pl-k"],[24,33,"pl-c1"],[43,55,"pl-k"]],[[20,26,"pl-k"],[27,31,"pl-c1"]],[],[[12,18,"pl-k"],[19,24,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,168,"pl-c"],[8,10,"pl-c"],[166,168,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[21,25,"pl-k"],[26,36,"pl-en"],[37,42,"pl-k"],[63,68,"pl-k"],[86,91,"pl-k"],[109,114,"pl-k"],[115,123,"pl-k"]],[],[[12,18,"pl-k"],[19,27,"pl-c1"],[59,60,"pl-c1"]],[],[],[[8,164,"pl-c"],[8,10,"pl-c"],[162,164,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[21,25,"pl-k"],[26,36,"pl-en"],[37,42,"pl-k"],[63,68,"pl-k"],[86,91,"pl-k"],[92,100,"pl-k"]],[],[[12,18,"pl-k"],[19,27,"pl-c1"],[36,37,"pl-c1"],[47,48,"pl-c1"]],[],[],[[8,177,"pl-c"],[8,10,"pl-c"],[175,177,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[21,25,"pl-k"],[26,36,"pl-en"],[37,42,"pl-k"],[88,93,"pl-k"],[111,116,"pl-k"],[134,139,"pl-k"],[140,148,"pl-k"]],[],[[12,18,"pl-k"],[19,27,"pl-c1"],[61,62,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,167,"pl-c"],[8,10,"pl-c"],[165,167,"pl-c"]],[[8,21,"pl-k"]],[[19,30,"pl-en"],[31,36,"pl-k"],[57,58,"pl-c1"],[60,65,"pl-k"],[66,74,"pl-k"]],[],[[12,17,"pl-k"],[49,50,"pl-c1"],[53,54,"pl-c1"]],[],[],[[17,23,"pl-c1"],[37,38,"pl-c1"]],[[12,15,"pl-k"],[17,22,"pl-k"],[40,44,"pl-c1"]],[[16,18,"pl-k"],[26,36,"pl-c1"],[37,41,"pl-s"],[37,38,"pl-pds"],[38,40,"pl-cce"],[40,41,"pl-pds"],[44,56,"pl-k"]],[[20,22,"pl-k"]],[[31,41,"pl-c1"],[42,45,"pl-s"],[42,43,"pl-pds"],[44,45,"pl-pds"]],[],[[22,27,"pl-k"],[55,56,"pl-c1"]],[],[[16,20,"pl-k"],[21,23,"pl-k"],[31,41,"pl-c1"],[42,46,"pl-s"],[42,43,"pl-pds"],[43,45,"pl-cce"],[45,46,"pl-pds"],[57,67,"pl-c1"],[68,72,"pl-s"],[68,69,"pl-pds"],[69,71,"pl-cce"],[71,72,"pl-pds"],[75,87,"pl-k"]],[],[[34,35,"pl-c1"]],[],[[16,20,"pl-k"],[21,31,"pl-k"]],[],[],[],[],[],[[12,18,"pl-k"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,160,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,83,"pl-c"]],[[0,81,"pl-c"]],[[0,9,"pl-c"]],[[0,83,"pl-c"]],[[0,79,"pl-c"]],[[0,9,"pl-c"]],[[0,47,"pl-c"]],[[0,59,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,17,"pl-k"],[28,32,"pl-en"],[33,38,"pl-k"],[56,61,"pl-k"],[80,81,"pl-c1"],[83,88,"pl-k"],[106,107,"pl-c1"],[109,114,"pl-k"],[115,123,"pl-k"]],[],[[12,17,"pl-k"],[43,44,"pl-c1"],[48,52,"pl-c1"],[54,58,"pl-c1"]],[],[[12,14,"pl-k"],[30,42,"pl-k"]],[[16,22,"pl-k"]],[[12,16,"pl-k"],[17,27,"pl-k"]],[[16,22,"pl-k"],[23,29,"pl-c1"],[57,58,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,170,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,83,"pl-c"]],[[0,83,"pl-c"]],[[0,9,"pl-c"]],[[0,83,"pl-c"]],[[0,83,"pl-c"]],[[0,33,"pl-c"]],[[0,9,"pl-c"]],[[0,45,"pl-c"]],[[0,59,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,24,"pl-k"],[35,41,"pl-en"],[42,47,"pl-k"],[65,70,"pl-k"],[88,93,"pl-k"],[111,116,"pl-k"],[117,125,"pl-k"]],[],[[12,21,"pl-k"]],[],[[12,15,"pl-k"]],[[16,21,"pl-k"],[42,46,"pl-c1"],[48,54,"pl-c1"]],[[16,21,"pl-k"],[51,62,"pl-smi"],[62,68,"pl-c1"]],[],[[16,22,"pl-k"]],[],[[12,17,"pl-k"]],[[16,22,"pl-k"]],[],[],[],[[8,160,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,83,"pl-c"]],[[0,83,"pl-c"]],[[0,9,"pl-c"]],[[0,83,"pl-c"]],[[0,83,"pl-c"]],[[0,33,"pl-c"]],[[0,9,"pl-c"]],[[0,45,"pl-c"]],[[0,59,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,24,"pl-k"],[35,41,"pl-en"],[42,47,"pl-k"],[65,70,"pl-k"],[88,93,"pl-k"],[94,102,"pl-k"]],[],[[12,18,"pl-k"],[19,25,"pl-c1"],[31,32,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,110,"pl-c"],[8,10,"pl-c"],[108,110,"pl-c"]],[[8,16,"pl-k"],[17,25,"pl-k"],[29,34,"pl-k"]],[[8,14,"pl-k"],[27,33,"pl-en"]],[[12,17,"pl-k"],[51,66,"pl-c1"]],[],[],[],[[12,18,"pl-k"],[20,24,"pl-c1"]],[],[],[[8,16,"pl-k"],[17,22,"pl-k"]],[[8,14,"pl-k"],[27,33,"pl-en"],[40,69,"pl-c"],[40,42,"pl-c"]],[[12,17,"pl-k"],[43,47,"pl-k"],[55,70,"pl-c1"]],[],[],[],[[12,18,"pl-k"],[20,24,"pl-c1"],[27,39,"pl-c1"],[45,48,"pl-c1"],[52,73,"pl-c1"]],[],[],[[8,16,"pl-k"],[17,22,"pl-k"]],[[8,14,"pl-k"],[27,33,"pl-en"],[40,72,"pl-c"],[40,42,"pl-c"]],[[12,17,"pl-k"],[43,50,"pl-k"],[57,72,"pl-c1"]],[],[],[],[[12,18,"pl-k"],[20,24,"pl-c1"],[27,39,"pl-c1"],[45,48,"pl-c1"],[52,74,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,114,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,50,"pl-c"]],[[0,55,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,24,"pl-k"],[35,40,"pl-en"],[41,46,"pl-k"],[64,69,"pl-k"],[88,89,"pl-c1"],[91,96,"pl-k"],[114,115,"pl-c1"],[117,122,"pl-k"]],[],[[12,17,"pl-k"],[40,44,"pl-c1"]],[[12,14,"pl-k"]],[[16,21,"pl-k"],[22,39,"pl-smi"],[40,72,"pl-s"],[40,41,"pl-pds"],[71,72,"pl-pds"]],[[12,16,"pl-k"]],[[16,22,"pl-k"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,112,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,50,"pl-c"]],[[0,55,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,24,"pl-k"],[35,42,"pl-en"],[43,48,"pl-k"],[66,71,"pl-k"],[89,94,"pl-k"],[112,117,"pl-k"]],[],[[12,18,"pl-k"],[19,24,"pl-c1"],[53,54,"pl-c1"]],[],[],[[8,105,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,50,"pl-c"]],[[0,55,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,24,"pl-k"],[35,42,"pl-en"],[43,48,"pl-k"],[66,71,"pl-k"],[89,94,"pl-k"]],[],[[12,18,"pl-k"],[19,24,"pl-c1"],[30,31,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,140,"pl-c"],[8,10,"pl-c"],[138,140,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[21,25,"pl-k"],[26,33,"pl-en"],[36,41,"pl-k"],[42,50,"pl-k"]],[],[[12,14,"pl-k"],[16,20,"pl-c1"],[22,27,"pl-c1"],[31,43,"pl-k"]],[[16,22,"pl-k"],[23,28,"pl-c1"]],[[12,16,"pl-k"],[17,27,"pl-k"]],[[16,22,"pl-k"],[23,34,"pl-c1"]],[[20,24,"pl-c1"],[26,32,"pl-c1"]],[[20,24,"pl-c1"],[26,30,"pl-c1"]],[[23,28,"pl-k"],[46,52,"pl-k"],[53,66,"pl-c1"],[74,89,"pl-c1"],[97,110,"pl-c1"],[118,133,"pl-c1"]],[],[],[],[],[[8,66,"pl-c"],[8,10,"pl-c"]],[[8,138,"pl-c"],[8,10,"pl-c"],[136,138,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[21,25,"pl-k"],[26,33,"pl-en"],[36,41,"pl-k"],[42,50,"pl-k"]],[],[[12,18,"pl-k"],[20,24,"pl-c1"],[26,31,"pl-c1"],[37,48,"pl-c1"],[49,53,"pl-c1"],[55,61,"pl-c1"],[65,69,"pl-c1"],[71,75,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,120,"pl-c"],[8,10,"pl-c"],[118,120,"pl-c"]],[[1,3,"pl-k"],[22,72,"pl-c"],[22,24,"pl-c"]],[[1,6,"pl-k"]],[[1,6,"pl-k"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[21,25,"pl-k"],[26,33,"pl-en"],[36,41,"pl-k"],[42,50,"pl-k"]],[],[[12,18,"pl-k"],[19,23,"pl-c1"],[25,30,"pl-c1"],[36,47,"pl-c1"],[48,52,"pl-c1"],[54,60,"pl-c1"],[64,68,"pl-c1"],[70,74,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,143,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,75,"pl-c"]],[[0,75,"pl-c"]],[[0,72,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[21,25,"pl-k"],[26,35,"pl-en"],[38,43,"pl-k"],[44,52,"pl-k"]],[],[[12,18,"pl-k"],[20,24,"pl-c1"],[26,31,"pl-c1"],[37,48,"pl-c1"],[49,53,"pl-c1"],[55,61,"pl-c1"],[65,69,"pl-c1"],[71,75,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,131,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,72,"pl-c"]],[[0,72,"pl-c"]],[[0,72,"pl-c"]],[[0,72,"pl-c"]],[[0,72,"pl-c"]],[[0,19,"pl-c"]],[[0,9,"pl-c"]],[[0,72,"pl-c"]],[[0,72,"pl-c"]],[[0,69,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[21,25,"pl-k"],[26,33,"pl-en"],[36,41,"pl-k"],[42,50,"pl-k"]],[],[[12,18,"pl-k"],[19,28,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,142,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,95,"pl-c"]],[[0,95,"pl-c"]],[[0,91,"pl-c"]],[[0,9,"pl-c"]],[[0,68,"pl-c"]],[[0,9,"pl-c"]],[[0,53,"pl-c"]],[[0,52,"pl-c"]],[[0,271,"pl-c"]],[[0,180,"pl-c"]],[[0,255,"pl-c"]],[[0,9,"pl-c"]],[[0,61,"pl-c"]],[[0,9,"pl-c"]],[[0,51,"pl-c"]],[[0,55,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[21,25,"pl-k"],[26,38,"pl-en"],[41,46,"pl-k"],[47,55,"pl-k"]],[],[[12,18,"pl-k"],[20,24,"pl-c1"],[26,31,"pl-c1"],[37,53,"pl-c1"],[56,60,"pl-c1"],[62,63,"pl-c1"],[70,74,"pl-c1"],[76,80,"pl-c1"],[86,87,"pl-c1"],[91,102,"pl-c1"],[103,107,"pl-c1"],[109,115,"pl-c1"],[120,121,"pl-c1"],[123,127,"pl-c1"],[129,133,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,149,"pl-c"],[8,10,"pl-c"],[147,149,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[21,25,"pl-k"],[26,33,"pl-en"],[36,41,"pl-k"],[42,50,"pl-k"]],[],[[12,18,"pl-k"],[20,24,"pl-c1"],[26,31,"pl-c1"],[37,48,"pl-c1"],[49,53,"pl-c1"],[55,61,"pl-c1"],[65,69,"pl-c1"],[71,75,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,144,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,75,"pl-c"]],[[0,66,"pl-c"]],[[0,75,"pl-c"]],[[0,75,"pl-c"]],[[0,75,"pl-c"]],[[0,55,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[21,25,"pl-k"],[26,35,"pl-en"],[38,43,"pl-k"],[44,52,"pl-k"]],[],[[12,18,"pl-k"],[19,28,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,124,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,77,"pl-c"]],[[0,77,"pl-c"]],[[0,53,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[21,25,"pl-k"],[26,37,"pl-en"],[40,45,"pl-k"],[46,54,"pl-k"]],[],[[12,18,"pl-k"],[19,23,"pl-c1"],[25,30,"pl-c1"],[36,47,"pl-c1"],[48,52,"pl-c1"],[54,60,"pl-c1"],[64,68,"pl-c1"],[70,74,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,136,"pl-c"],[8,10,"pl-c"],[134,136,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[21,25,"pl-k"],[26,39,"pl-en"],[42,47,"pl-k"],[48,56,"pl-k"]],[],[[12,18,"pl-k"],[19,23,"pl-c1"],[25,29,"pl-c1"],[35,36,"pl-c1"],[40,59,"pl-c1"],[62,66,"pl-c1"],[68,69,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,145,"pl-c"],[8,10,"pl-c"],[143,145,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[21,25,"pl-k"],[26,33,"pl-en"],[36,41,"pl-k"],[42,50,"pl-k"]],[],[[12,18,"pl-k"],[20,24,"pl-c1"],[26,31,"pl-c1"],[37,48,"pl-c1"],[49,53,"pl-c1"],[55,61,"pl-c1"],[65,69,"pl-c1"],[71,75,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,125,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,67,"pl-c"]],[[0,62,"pl-c"]],[[0,9,"pl-c"]],[[0,67,"pl-c"]],[[0,67,"pl-c"]],[[0,24,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[21,25,"pl-k"],[26,33,"pl-en"],[36,41,"pl-k"],[42,50,"pl-k"]],[],[[12,18,"pl-k"],[20,24,"pl-c1"],[26,31,"pl-c1"],[37,41,"pl-c1"],[43,48,"pl-c1"],[55,59,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,149,"pl-c"],[8,10,"pl-c"],[147,149,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[21,25,"pl-k"],[26,33,"pl-en"],[36,41,"pl-k"],[42,50,"pl-k"]],[],[[12,18,"pl-k"],[20,24,"pl-c1"],[26,31,"pl-c1"],[37,48,"pl-c1"],[49,53,"pl-c1"],[55,61,"pl-c1"],[65,69,"pl-c1"],[71,75,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,161,"pl-c"],[8,10,"pl-c"],[159,161,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[21,25,"pl-k"],[26,38,"pl-en"],[41,46,"pl-k"],[47,55,"pl-k"]],[],[[12,18,"pl-k"],[20,24,"pl-c1"],[26,31,"pl-c1"]],[[16,27,"pl-c1"]],[[20,24,"pl-c1"],[26,32,"pl-c1"]],[[20,24,"pl-c1"],[26,30,"pl-c1"]],[[23,28,"pl-k"],[46,52,"pl-k"],[53,66,"pl-c1"],[74,93,"pl-c1"]],[],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,101,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,87,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,16,"pl-k"],[17,22,"pl-k"],[28,34,"pl-c1"]],[[8,21,"pl-k"]],[[19,23,"pl-en"],[24,29,"pl-k"],[63,68,"pl-k"],[69,77,"pl-k"]],[],[[12,14,"pl-k"],[21,26,"pl-c1"],[30,42,"pl-k"]],[[16,22,"pl-k"],[23,33,"pl-c1"]],[],[[12,16,"pl-k"],[31,37,"pl-c1"]],[],[[12,17,"pl-k"],[34,38,"pl-c1"],[42,52,"pl-k"]],[[24,28,"pl-c1"]],[[12,18,"pl-k"]],[],[],[[8,102,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,87,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[19,23,"pl-en"],[24,29,"pl-k"],[61,66,"pl-k"],[67,75,"pl-k"]],[],[[12,14,"pl-k"],[21,26,"pl-c1"],[30,42,"pl-k"]],[[16,22,"pl-k"],[23,33,"pl-c1"]],[],[[12,16,"pl-k"],[31,37,"pl-c1"]],[],[[12,17,"pl-k"],[34,38,"pl-c1"],[42,52,"pl-k"]],[[24,28,"pl-c1"]],[[12,18,"pl-k"]],[],[],[[8,101,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,87,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,16,"pl-k"],[17,22,"pl-k"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[26,30,"pl-en"],[31,36,"pl-k"],[56,61,"pl-k"],[90,95,"pl-k"],[96,104,"pl-k"]],[[22,28,"pl-k"]],[],[[12,18,"pl-k"],[28,32,"pl-c1"],[35,39,"pl-c1"],[41,45,"pl-c1"]],[],[],[[8,83,"pl-c"],[8,10,"pl-c"],[81,83,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[26,30,"pl-en"],[31,36,"pl-k"],[52,57,"pl-k"],[58,66,"pl-k"]],[],[[12,18,"pl-k"]],[],[],[[8,88,"pl-c"],[8,10,"pl-c"],[86,88,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[32,36,"pl-en"],[39,44,"pl-k"],[45,53,"pl-k"]],[],[[12,18,"pl-k"],[20,24,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,81,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,83,"pl-c"]],[[0,83,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[26,31,"pl-en"],[32,37,"pl-k"],[55,60,"pl-k"],[92,95,"pl-s"],[92,93,"pl-pds"],[94,95,"pl-pds"],[98,103,"pl-k"],[104,112,"pl-k"]],[],[[12,14,"pl-k"],[16,20,"pl-c1"],[22,26,"pl-c1"],[39,51,"pl-k"]],[[16,22,"pl-k"],[24,28,"pl-c1"]],[[12,16,"pl-k"],[17,27,"pl-k"]],[[16,22,"pl-k"],[23,33,"pl-c1"],[42,46,"pl-c1"],[48,52,"pl-c1"],[67,71,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,129,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,74,"pl-c"]],[[0,68,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,14,"pl-k"],[27,32,"pl-en"],[35,43,"pl-k"]],[],[[12,26,"pl-c1"]],[[16,20,"pl-c1"],[22,27,"pl-c1"]],[[16,20,"pl-c1"],[22,25,"pl-c1"]],[[16,20,"pl-c1"],[22,27,"pl-c1"]],[[37,43,"pl-k"],[44,48,"pl-c1"],[50,55,"pl-c1"]],[],[[12,18,"pl-k"],[20,24,"pl-c1"]],[],[],[[8,65,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,74,"pl-c"]],[[0,68,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,21,"pl-k"],[22,27,"pl-k"],[39,44,"pl-en"],[45,50,"pl-k"],[66,74,"pl-k"]],[],[[12,18,"pl-k"],[19,29,"pl-c1"],[30,42,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,80,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,74,"pl-c"]],[[0,74,"pl-c"]],[[0,34,"pl-c"]],[[0,66,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[26,32,"pl-en"],[33,38,"pl-k"],[65,70,"pl-k"],[71,79,"pl-k"]],[],[[12,15,"pl-k"],[17,21,"pl-k"],[27,31,"pl-c1"],[33,39,"pl-c1"],[49,53,"pl-c1"],[55,59,"pl-c1"],[69,79,"pl-k"]],[[16,18,"pl-k"],[20,32,"pl-c1"],[46,52,"pl-c1"],[69,73,"pl-c1"],[82,87,"pl-k"],[105,111,"pl-k"],[127,137,"pl-k"]],[[20,26,"pl-k"],[27,37,"pl-c1"],[42,46,"pl-c1"],[48,52,"pl-c1"]],[[12,18,"pl-k"],[19,29,"pl-c1"]],[],[],[[8,84,"pl-c"],[8,10,"pl-c"],[82,84,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[26,32,"pl-en"],[35,40,"pl-k"],[41,49,"pl-k"]],[],[[12,15,"pl-k"],[17,21,"pl-k"],[27,31,"pl-c1"],[33,39,"pl-c1"],[49,53,"pl-c1"],[55,59,"pl-c1"],[69,79,"pl-k"]],[[16,18,"pl-k"],[27,37,"pl-c1"],[38,41,"pl-s"],[38,39,"pl-pds"],[40,41,"pl-pds"],[44,56,"pl-k"]],[[20,26,"pl-k"],[27,37,"pl-c1"],[42,46,"pl-c1"],[48,52,"pl-c1"]],[[12,18,"pl-k"],[19,29,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,75,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,69,"pl-c"]],[[0,69,"pl-c"]],[[0,59,"pl-c"]],[[0,69,"pl-c"]],[[0,69,"pl-c"]],[[0,17,"pl-c"]],[[0,66,"pl-c"]],[[0,58,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,16,"pl-k"],[17,25,"pl-k"]],[[12,20,"pl-k"]],[[8,21,"pl-k"]],[[19,27,"pl-en"],[50,55,"pl-k"],[56,64,"pl-k"]],[],[[12,42,"pl-c"],[12,14,"pl-c"]],[[12,14,"pl-k"],[22,26,"pl-c1"],[32,33,"pl-c1"],[35,45,"pl-k"]],[[22,27,"pl-c1"],[29,33,"pl-c1"]],[[16,18,"pl-k"],[26,31,"pl-c1"],[42,46,"pl-c1"],[50,60,"pl-k"]],[[20,26,"pl-k"],[27,31,"pl-c1"],[33,39,"pl-c1"],[40,49,"pl-c1"],[56,61,"pl-c1"],[66,75,"pl-c1"],[82,86,"pl-c1"],[97,102,"pl-c1"],[107,108,"pl-c1"]],[[16,20,"pl-k"],[21,33,"pl-k"]],[[20,26,"pl-k"],[27,37,"pl-c1"]],[],[],[],[],[[12,51,"pl-c"],[12,14,"pl-c"]],[[12,14,"pl-k"],[22,26,"pl-c1"],[33,34,"pl-c1"]],[[22,27,"pl-c1"],[29,33,"pl-c1"]],[[16,18,"pl-k"],[26,30,"pl-c1"],[41,46,"pl-c1"],[50,60,"pl-k"]],[[26,30,"pl-c1"],[32,38,"pl-c1"],[39,48,"pl-c1"],[55,59,"pl-c1"],[64,73,"pl-c1"],[80,85,"pl-c1"],[96,100,"pl-c1"],[105,106,"pl-c1"]],[[20,40,"pl-c1"],[48,93,"pl-c"],[48,50,"pl-c"]],[],[[16,22,"pl-k"]],[],[],[[12,78,"pl-c"],[12,14,"pl-c"]],[[12,15,"pl-k"],[23,28,"pl-c1"],[30,34,"pl-c1"],[44,47,"pl-c1"]],[[25,29,"pl-c1"],[31,40,"pl-c1"]],[],[[12,18,"pl-k"]],[],[],[[8,87,"pl-c"],[8,10,"pl-c"],[85,87,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[26,34,"pl-en"],[38,43,"pl-k"],[44,48,"pl-k"],[49,53,"pl-k"],[61,66,"pl-k"],[67,71,"pl-k"],[72,76,"pl-k"],[83,88,"pl-k"],[89,93,"pl-k"],[94,98,"pl-k"],[106,107,"pl-c1"],[109,114,"pl-k"],[115,123,"pl-k"]],[],[[18,22,"pl-k"],[23,27,"pl-k"],[29,34,"pl-c1"]],[[12,18,"pl-k"],[21,25,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,89,"pl-c"],[8,10,"pl-c"],[87,89,"pl-c"]],[[8,21,"pl-k"]],[[19,27,"pl-k"],[35,42,"pl-c1"],[50,55,"pl-k"],[56,64,"pl-k"]],[],[[12,14,"pl-k"],[25,26,"pl-c1"],[28,40,"pl-k"]],[[16,22,"pl-k"],[23,33,"pl-c1"]],[],[[23,26,"pl-smi"],[28,32,"pl-c1"]],[[12,17,"pl-k"],[28,38,"pl-k"]],[[24,28,"pl-c1"]],[[12,18,"pl-k"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,195,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,70,"pl-c"]],[[0,70,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[32,41,"pl-en"],[42,47,"pl-k"],[65,70,"pl-k"],[71,79,"pl-k"]],[],[[12,17,"pl-k"],[40,44,"pl-c1"]],[[12,14,"pl-k"]],[[16,21,"pl-k"]],[[16,22,"pl-k"],[50,54,"pl-c1"]],[],[[12,16,"pl-k"]],[[16,21,"pl-k"],[62,66,"pl-c1"]],[[16,21,"pl-k"],[45,49,"pl-c1"],[51,55,"pl-c1"],[74,75,"pl-c1"]],[[16,22,"pl-k"],[49,53,"pl-c1"],[55,61,"pl-c1"],[62,63,"pl-c1"],[82,86,"pl-c1"],[88,94,"pl-c1"]],[],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,162,"pl-c"],[8,10,"pl-c"],[160,162,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[26,38,"pl-en"],[39,44,"pl-k"],[65,70,"pl-k"],[71,79,"pl-k"]],[],[[12,14,"pl-k"],[16,20,"pl-c1"],[22,32,"pl-c1"]],[[16,21,"pl-k"],[55,59,"pl-c1"]],[[16,22,"pl-k"],[23,27,"pl-c1"],[29,35,"pl-c1"],[51,55,"pl-c1"],[57,61,"pl-c1"],[82,83,"pl-c1"]],[],[[12,16,"pl-k"]],[[16,22,"pl-k"],[24,28,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,160,"pl-c"],[8,10,"pl-c"],[158,160,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[26,38,"pl-en"],[39,44,"pl-k"],[65,70,"pl-k"],[71,79,"pl-k"]],[],[[12,14,"pl-k"],[16,20,"pl-c1"],[22,30,"pl-c1"]],[[16,21,"pl-k"],[55,59,"pl-c1"]],[[16,22,"pl-k"],[23,27,"pl-c1"],[29,35,"pl-c1"],[36,37,"pl-c1"],[39,43,"pl-c1"],[45,49,"pl-c1"]],[],[[12,16,"pl-k"]],[[16,22,"pl-k"],[24,28,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,118,"pl-c"],[8,10,"pl-c"],[116,118,"pl-c"]],[[8,21,"pl-k"]],[[19,26,"pl-en"],[27,32,"pl-k"],[50,55,"pl-k"],[93,94,"pl-c1"],[96,101,"pl-k"],[102,110,"pl-k"]],[],[[12,14,"pl-k"],[35,40,"pl-c1"],[44,56,"pl-k"]],[[16,22,"pl-k"],[24,28,"pl-c1"]],[],[],[[35,36,"pl-c1"]],[[38,39,"pl-c1"]],[[12,17,"pl-k"],[27,28,"pl-c1"],[49,53,"pl-c1"],[55,59,"pl-c1"]],[[23,27,"pl-c1"],[29,35,"pl-c1"]],[[45,46,"pl-c1"]],[],[],[],[[12,14,"pl-k"],[29,33,"pl-c1"],[35,39,"pl-c1"],[43,53,"pl-k"]],[[23,27,"pl-c1"],[29,35,"pl-c1"],[48,52,"pl-c1"],[54,58,"pl-c1"]],[],[[12,18,"pl-k"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,161,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,80,"pl-c"]],[[0,9,"pl-c"]],[[0,83,"pl-c"]],[[0,83,"pl-c"]],[[0,9,"pl-c"]],[[0,83,"pl-c"]],[[0,83,"pl-c"]],[[0,54,"pl-c"]],[[0,9,"pl-c"]],[[0,46,"pl-c"]],[[0,59,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,24,"pl-k"],[35,40,"pl-en"],[41,46,"pl-k"],[64,69,"pl-k"],[87,92,"pl-k"],[108,113,"pl-k"],[114,122,"pl-k"]],[],[[12,14,"pl-k"],[29,41,"pl-k"]],[[16,22,"pl-k"]],[[12,16,"pl-k"],[17,19,"pl-k"],[25,30,"pl-c1"],[34,46,"pl-k"]],[[16,22,"pl-k"],[23,24,"pl-c1"]],[[12,16,"pl-k"],[17,27,"pl-k"]],[[16,21,"pl-k"],[43,47,"pl-c1"],[49,55,"pl-c1"],[77,78,"pl-c1"],[80,85,"pl-c1"]],[[16,22,"pl-k"]],[],[],[],[],[[8,166,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,80,"pl-c"]],[[0,9,"pl-c"]],[[0,83,"pl-c"]],[[0,83,"pl-c"]],[[0,9,"pl-c"]],[[0,83,"pl-c"]],[[0,83,"pl-c"]],[[0,54,"pl-c"]],[[0,9,"pl-c"]],[[0,46,"pl-c"]],[[0,59,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,24,"pl-k"],[35,40,"pl-en"],[41,46,"pl-k"],[64,69,"pl-k"],[87,92,"pl-k"],[93,101,"pl-k"]],[],[[12,18,"pl-k"],[19,24,"pl-c1"],[37,41,"pl-c1"],[43,47,"pl-c1"],[52,53,"pl-c1"]],[],[],[],[[8,151,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,80,"pl-c"]],[[0,9,"pl-c"]],[[0,83,"pl-c"]],[[0,83,"pl-c"]],[[0,9,"pl-c"]],[[0,83,"pl-c"]],[[0,83,"pl-c"]],[[0,54,"pl-c"]],[[0,9,"pl-c"]],[[0,46,"pl-c"]],[[0,59,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,24,"pl-k"],[35,40,"pl-en"],[41,46,"pl-k"],[64,69,"pl-k"],[70,78,"pl-k"]],[],[[12,18,"pl-k"],[19,37,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,171,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,83,"pl-c"]],[[0,85,"pl-c"]],[[0,9,"pl-c"]],[[0,44,"pl-c"]],[[0,59,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,24,"pl-k"],[35,42,"pl-en"],[43,48,"pl-k"],[66,71,"pl-k"],[89,94,"pl-k"],[112,117,"pl-k"],[118,126,"pl-k"]],[],[[12,18,"pl-k"],[19,24,"pl-c1"],[53,54,"pl-c1"]],[],[],[[8,161,"pl-c"],[8,10,"pl-c"]],[[0,10,"pl-c"]],[[0,84,"pl-c"]],[[0,86,"pl-c"]],[[0,10,"pl-c"]],[[0,45,"pl-c"]],[[0,60,"pl-c"]],[[0,11,"pl-c"],[9,11,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,24,"pl-k"],[35,42,"pl-en"],[43,48,"pl-k"],[66,71,"pl-k"],[89,94,"pl-k"],[95,103,"pl-k"]],[],[[12,14,"pl-k"],[25,26,"pl-c1"],[28,40,"pl-k"]],[[16,22,"pl-k"]],[[12,16,"pl-k"],[17,27,"pl-k"]],[[16,22,"pl-k"],[23,28,"pl-c1"],[34,35,"pl-c1"],[45,46,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,109,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,49,"pl-c"]],[[0,55,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,24,"pl-k"],[35,41,"pl-en"],[42,47,"pl-k"],[65,70,"pl-k"],[88,93,"pl-k"],[109,114,"pl-k"]],[],[[12,17,"pl-k"],[40,45,"pl-c1"]],[[12,14,"pl-k"]],[[16,21,"pl-k"],[22,39,"pl-smi"],[40,71,"pl-s"],[40,41,"pl-pds"],[70,71,"pl-pds"]],[[12,16,"pl-k"]],[[16,22,"pl-k"]],[],[],[[8,104,"pl-c"],[8,10,"pl-c"]],[[0,10,"pl-c"]],[[0,50,"pl-c"]],[[0,56,"pl-c"]],[[0,11,"pl-c"],[9,11,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,24,"pl-k"],[35,41,"pl-en"],[42,47,"pl-k"],[65,70,"pl-k"],[88,93,"pl-k"]],[],[[12,18,"pl-k"],[19,25,"pl-c1"],[38,42,"pl-c1"],[44,48,"pl-c1"],[53,54,"pl-c1"]],[],[],[[8,97,"pl-c"],[8,10,"pl-c"]],[[0,10,"pl-c"]],[[0,50,"pl-c"]],[[0,56,"pl-c"]],[[0,11,"pl-c"],[9,11,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,24,"pl-k"],[35,41,"pl-en"],[42,47,"pl-k"],[65,70,"pl-k"]],[],[[12,18,"pl-k"],[19,25,"pl-c1"],[31,32,"pl-c1"],[34,38,"pl-c1"],[40,44,"pl-c1"],[49,50,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,113,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,50,"pl-c"]],[[0,55,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,24,"pl-k"],[35,43,"pl-en"],[44,49,"pl-k"],[67,72,"pl-k"],[90,95,"pl-k"],[113,118,"pl-k"]],[],[[12,18,"pl-k"],[19,25,"pl-c1"],[54,55,"pl-c1"]],[],[],[[8,106,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,50,"pl-c"]],[[0,55,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,24,"pl-k"],[35,43,"pl-en"],[44,49,"pl-k"],[67,72,"pl-k"],[90,95,"pl-k"]],[],[[12,18,"pl-k"],[19,25,"pl-c1"],[31,32,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,82,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,83,"pl-c"]],[[0,83,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[26,31,"pl-en"],[32,37,"pl-k"],[55,60,"pl-k"],[92,95,"pl-s"],[92,93,"pl-pds"],[94,95,"pl-pds"],[98,103,"pl-k"],[104,112,"pl-k"]],[],[[12,14,"pl-k"],[16,20,"pl-c1"],[22,26,"pl-c1"],[39,51,"pl-k"]],[[16,22,"pl-k"],[24,28,"pl-c1"]],[[12,16,"pl-k"],[17,27,"pl-k"]],[[16,22,"pl-k"],[24,28,"pl-c1"],[31,41,"pl-c1"],[50,54,"pl-c1"],[56,60,"pl-c1"]],[],[],[],[[8,68,"pl-c"],[8,10,"pl-c"]],[[8,194,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,70,"pl-c"]],[[0,70,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[32,42,"pl-en"],[43,48,"pl-k"],[66,71,"pl-k"],[72,80,"pl-k"]],[],[[12,17,"pl-k"],[40,45,"pl-c1"]],[[12,14,"pl-k"]],[[16,21,"pl-k"]],[[16,22,"pl-k"],[50,54,"pl-c1"]],[],[[12,16,"pl-k"]],[[16,21,"pl-k"],[62,66,"pl-c1"]],[[16,21,"pl-k"],[45,49,"pl-c1"],[51,55,"pl-c1"],[74,75,"pl-c1"]],[[16,22,"pl-k"],[49,53,"pl-c1"],[55,61,"pl-c1"],[62,63,"pl-c1"],[82,86,"pl-c1"],[88,94,"pl-c1"]],[],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,107,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,64,"pl-c"]],[[0,65,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[39,45,"pl-en"],[48,56,"pl-k"]],[],[[12,18,"pl-k"],[19,24,"pl-c1"]],[],[],[[8,107,"pl-c"],[8,10,"pl-c"],[105,107,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[39,45,"pl-en"],[46,51,"pl-k"],[69,77,"pl-k"]],[],[[12,18,"pl-k"],[19,24,"pl-c1"]],[],[],[[8,158,"pl-c"],[8,10,"pl-c"],[156,158,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[39,45,"pl-en"],[46,51,"pl-k"],[72,80,"pl-k"]],[],[[12,18,"pl-k"],[19,25,"pl-c1"],[26,36,"pl-c1"],[37,47,"pl-c1"],[48,51,"pl-s"],[48,49,"pl-pds"],[50,51,"pl-pds"]],[],[],[[8,155,"pl-c"],[8,10,"pl-c"],[153,155,"pl-c"]],[[8,21,"pl-k"]],[[32,38,"pl-en"],[39,44,"pl-k"],[62,67,"pl-k"],[88,96,"pl-k"]],[],[],[],[[12,14,"pl-k"],[28,29,"pl-c1"],[31,43,"pl-k"]],[[20,29,"pl-c1"],[33,37,"pl-c1"]],[],[[12,16,"pl-k"],[17,27,"pl-k"]],[[16,21,"pl-k"],[46,50,"pl-c1"]],[],[[33,37,"pl-c1"]],[],[[33,34,"pl-c1"]],[],[[16,21,"pl-k"],[36,41,"pl-c1"],[79,80,"pl-c1"]],[[28,34,"pl-c1"],[43,48,"pl-c1"]],[[20,22,"pl-k"],[33,34,"pl-c1"]],[[24,29,"pl-k"]],[[30,36,"pl-c1"],[37,38,"pl-c1"]],[],[],[],[[16,18,"pl-k"],[28,32,"pl-c1"],[38,39,"pl-c1"]],[[24,33,"pl-c1"],[35,39,"pl-c1"]],[[16,20,"pl-k"]],[[28,29,"pl-c1"]],[[20,23,"pl-k"],[25,30,"pl-k"]],[[28,37,"pl-c1"],[38,42,"pl-c1"],[44,50,"pl-c1"]],[],[],[],[[20,29,"pl-c1"],[30,34,"pl-c1"],[36,42,"pl-c1"],[50,54,"pl-c1"],[56,60,"pl-c1"]],[],[],[[12,18,"pl-k"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,81,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,74,"pl-c"]],[[0,74,"pl-c"]],[[0,34,"pl-c"]],[[0,66,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[26,32,"pl-en"],[33,38,"pl-k"],[65,70,"pl-k"],[71,79,"pl-k"]],[],[[12,15,"pl-k"],[17,21,"pl-k"],[27,31,"pl-c1"],[33,40,"pl-c1"],[50,54,"pl-c1"],[56,61,"pl-c1"]],[[16,18,"pl-k"],[20,32,"pl-c1"],[46,52,"pl-c1"],[69,73,"pl-c1"],[82,87,"pl-k"],[105,111,"pl-k"]],[[20,26,"pl-k"],[27,37,"pl-c1"],[38,42,"pl-c1"],[44,50,"pl-c1"],[54,58,"pl-c1"],[60,66,"pl-c1"],[71,75,"pl-c1"],[77,81,"pl-c1"],[92,96,"pl-c1"],[98,105,"pl-c1"]],[[12,18,"pl-k"],[19,29,"pl-c1"]],[],[],[[8,85,"pl-c"],[8,10,"pl-c"],[83,85,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[26,32,"pl-en"],[35,40,"pl-k"],[41,49,"pl-k"]],[],[[12,15,"pl-k"],[17,21,"pl-k"],[27,31,"pl-c1"],[33,40,"pl-c1"],[50,54,"pl-c1"],[56,61,"pl-c1"]],[[16,18,"pl-k"],[27,37,"pl-c1"],[38,41,"pl-s"],[38,39,"pl-pds"],[40,41,"pl-pds"]],[[20,26,"pl-k"],[27,37,"pl-c1"],[38,42,"pl-c1"],[44,50,"pl-c1"],[54,58,"pl-c1"],[60,66,"pl-c1"],[71,75,"pl-c1"],[77,81,"pl-c1"],[92,96,"pl-c1"],[98,105,"pl-c1"]],[[12,18,"pl-k"],[19,29,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,107,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,64,"pl-c"]],[[0,65,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[39,44,"pl-en"],[47,55,"pl-k"]],[],[],[[12,17,"pl-k"],[29,39,"pl-smi"],[40,50,"pl-c1"],[51,54,"pl-s"],[51,52,"pl-pds"],[53,54,"pl-pds"]],[[12,15,"pl-k"],[17,22,"pl-k"],[23,27,"pl-k"],[37,41,"pl-c1"],[44,61,"pl-c1"]],[[20,29,"pl-c1"],[30,40,"pl-c1"],[46,51,"pl-c1"],[60,63,"pl-c1"]],[[12,18,"pl-k"]],[],[],[[8,104,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,75,"pl-c"]],[[0,75,"pl-c"]],[[0,75,"pl-c"]],[[0,75,"pl-c"]],[[0,75,"pl-c"]],[[0,23,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[39,44,"pl-en"],[45,50,"pl-k"],[68,76,"pl-k"]],[],[],[[12,15,"pl-k"],[17,22,"pl-k"],[23,27,"pl-k"],[37,41,"pl-c1"],[44,61,"pl-c1"]],[[20,29,"pl-c1"],[30,40,"pl-c1"],[46,51,"pl-c1"],[60,63,"pl-c1"]],[[12,18,"pl-k"]],[],[],[[8,157,"pl-c"],[8,10,"pl-c"],[155,157,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[39,44,"pl-en"],[45,50,"pl-k"],[71,79,"pl-k"]],[],[[12,18,"pl-k"],[19,24,"pl-c1"],[25,35,"pl-c1"],[36,46,"pl-c1"],[47,50,"pl-s"],[47,48,"pl-pds"],[49,50,"pl-pds"]],[],[],[[8,154,"pl-c"],[8,10,"pl-c"],[152,154,"pl-c"]],[[8,21,"pl-k"]],[[32,37,"pl-en"],[38,43,"pl-k"],[61,66,"pl-k"],[87,95,"pl-k"]],[],[],[],[[12,14,"pl-k"],[28,29,"pl-c1"],[31,43,"pl-k"]],[[20,29,"pl-c1"],[31,35,"pl-c1"]],[],[[12,16,"pl-k"],[17,27,"pl-k"]],[[16,21,"pl-k"],[46,50,"pl-c1"]],[],[],[[33,34,"pl-c1"]],[],[[16,21,"pl-k"],[32,36,"pl-c1"],[38,42,"pl-c1"],[87,88,"pl-c1"]],[[28,37,"pl-c1"]],[[20,22,"pl-k"],[33,37,"pl-c1"],[39,43,"pl-c1"]],[[24,29,"pl-k"]],[],[],[],[],[[16,18,"pl-k"],[28,32,"pl-c1"],[38,39,"pl-c1"]],[[24,33,"pl-c1"],[35,39,"pl-c1"]],[[16,20,"pl-k"]],[[28,29,"pl-c1"]],[[20,23,"pl-k"],[25,30,"pl-k"]],[[28,37,"pl-c1"],[38,42,"pl-c1"],[44,50,"pl-c1"]],[],[],[],[[20,29,"pl-c1"],[30,34,"pl-c1"],[36,42,"pl-c1"],[50,54,"pl-c1"],[56,60,"pl-c1"]],[],[],[[12,18,"pl-k"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,89,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,95,"pl-c"]],[[0,9,"pl-c"]],[[0,130,"pl-c"]],[[0,37,"pl-c"]],[[0,43,"pl-c"]],[[0,53,"pl-c"]],[[0,41,"pl-c"]],[[0,35,"pl-c"]],[[0,40,"pl-c"]],[[0,41,"pl-c"]],[[0,42,"pl-c"]],[[0,114,"pl-c"]],[[0,53,"pl-c"]],[[0,42,"pl-c"]],[[0,47,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[32,42,"pl-en"],[43,48,"pl-k"],[49,53,"pl-k"],[65,70,"pl-c1"],[72,77,"pl-k"],[78,86,"pl-k"]],[],[],[],[[12,16,"pl-k"],[27,32,"pl-c1"]],[],[[12,15,"pl-k"],[17,22,"pl-k"],[40,44,"pl-c1"]],[[16,22,"pl-k"]],[[16,20,"pl-k"],[21,25,"pl-c1"],[28,40,"pl-k"],[48,95,"pl-c"],[48,50,"pl-c"]],[[16,20,"pl-k"],[21,25,"pl-c1"],[28,40,"pl-k"],[48,89,"pl-c"],[48,50,"pl-c"]],[[16,20,"pl-k"],[21,25,"pl-c1"],[28,40,"pl-k"],[48,74,"pl-c"],[48,50,"pl-c"]],[[16,20,"pl-k"],[21,25,"pl-c1"],[28,40,"pl-k"],[48,75,"pl-c"],[48,50,"pl-c"]],[[16,20,"pl-k"],[21,25,"pl-c1"],[28,40,"pl-k"],[48,76,"pl-c"],[48,50,"pl-c"]],[[16,90,"pl-c"],[16,18,"pl-c"]],[[16,67,"pl-c"],[16,18,"pl-c"]],[[16,72,"pl-c"],[16,18,"pl-c"]],[[20,22,"pl-k"],[33,45,"pl-k"]],[[28,37,"pl-c1"]],[[32,37,"pl-c1"]],[],[[20,22,"pl-k"],[34,46,"pl-k"]],[],[[24,33,"pl-c1"]],[[28,33,"pl-c1"]],[[30,35,"pl-c1"]],[[20,25,"pl-k"]],[],[[16,20,"pl-k"],[21,31,"pl-smi"],[32,36,"pl-s"],[32,33,"pl-pds"],[33,35,"pl-cce"],[35,36,"pl-pds"],[39,51,"pl-k"],[57,69,"pl-c"],[57,59,"pl-c"]],[[20,22,"pl-k"],[33,45,"pl-k"]],[[28,37,"pl-c1"]],[[32,37,"pl-c1"]],[],[[20,22,"pl-k"],[34,46,"pl-k"]],[],[[30,34,"pl-c1"]],[[20,25,"pl-k"]],[],[[16,20,"pl-k"],[21,31,"pl-smi"],[32,36,"pl-s"],[32,33,"pl-pds"],[33,35,"pl-cce"],[35,36,"pl-pds"],[39,51,"pl-k"],[57,75,"pl-c"],[57,59,"pl-c"]],[[20,22,"pl-k"],[34,46,"pl-k"]],[],[[24,33,"pl-c1"]],[[28,33,"pl-c1"]],[[30,35,"pl-c1"]],[[20,25,"pl-k"]],[],[],[[16,23,"pl-k"],[25,35,"pl-k"]],[[20,22,"pl-k"],[33,45,"pl-k"]],[[28,37,"pl-c1"]],[[32,37,"pl-c1"]],[[34,39,"pl-c1"]],[],[],[[20,25,"pl-k"]],[],[],[],[[12,14,"pl-k"],[25,37,"pl-k"]],[[20,29,"pl-c1"]],[],[],[[12,18,"pl-k"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,164,"pl-c"],[8,10,"pl-c"],[162,164,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[21,25,"pl-k"],[26,36,"pl-en"],[37,42,"pl-k"],[63,68,"pl-k"],[86,91,"pl-k"],[107,112,"pl-k"],[113,121,"pl-k"]],[],[[12,18,"pl-k"],[19,23,"pl-c1"],[25,31,"pl-c1"],[53,54,"pl-c1"],[56,67,"pl-smi"],[67,80,"pl-c1"]],[],[],[[8,165,"pl-c"],[8,10,"pl-c"],[163,165,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[21,25,"pl-k"],[26,36,"pl-en"],[37,42,"pl-k"],[63,68,"pl-k"],[86,91,"pl-k"],[92,100,"pl-k"]],[],[[12,18,"pl-k"],[19,29,"pl-c1"],[45,49,"pl-c1"],[51,55,"pl-c1"],[60,61,"pl-c1"]],[],[],[[8,138,"pl-c"],[8,10,"pl-c"],[136,138,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[21,25,"pl-k"],[26,36,"pl-en"],[37,42,"pl-k"],[63,68,"pl-k"],[69,77,"pl-k"]],[],[[12,18,"pl-k"],[19,23,"pl-c1"],[25,36,"pl-c1"]],[],[],[[8,174,"pl-c"],[8,10,"pl-c"],[172,174,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[21,25,"pl-k"],[26,36,"pl-en"],[37,42,"pl-k"],[88,93,"pl-k"],[111,116,"pl-k"],[132,137,"pl-k"],[138,146,"pl-k"]],[],[[12,14,"pl-k"]],[[16,22,"pl-k"],[23,28,"pl-c1"]],[],[[23,26,"pl-smi"],[27,31,"pl-c1"],[33,39,"pl-c1"]],[[12,15,"pl-k"],[17,21,"pl-k"]],[[16,18,"pl-k"],[24,35,"pl-c1"]],[[20,26,"pl-k"],[27,31,"pl-c1"]],[],[[12,18,"pl-k"],[19,24,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,170,"pl-c"],[8,10,"pl-c"],[168,170,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[21,25,"pl-k"],[26,38,"pl-en"],[39,44,"pl-k"],[65,70,"pl-k"],[88,93,"pl-k"],[111,116,"pl-k"],[117,125,"pl-k"]],[],[[12,18,"pl-k"],[19,23,"pl-c1"],[25,31,"pl-c1"],[46,57,"pl-smi"],[57,70,"pl-c1"]],[],[],[[8,166,"pl-c"],[8,10,"pl-c"],[164,166,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[21,25,"pl-k"],[26,38,"pl-en"],[39,44,"pl-k"],[65,70,"pl-k"],[88,93,"pl-k"],[94,102,"pl-k"]],[],[[12,18,"pl-k"],[19,23,"pl-c1"],[25,31,"pl-c1"],[32,33,"pl-c1"],[42,53,"pl-smi"],[53,66,"pl-c1"]],[],[],[[8,179,"pl-c"],[8,10,"pl-c"],[177,179,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[21,25,"pl-k"],[26,38,"pl-en"],[39,44,"pl-k"],[88,93,"pl-k"],[111,116,"pl-k"],[134,139,"pl-k"],[140,148,"pl-k"]],[],[[12,18,"pl-k"],[19,29,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,97,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,74,"pl-c"]],[[0,74,"pl-c"]],[[0,34,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[26,31,"pl-en"],[32,37,"pl-k"],[64,69,"pl-k"],[70,78,"pl-k"]],[],[[12,18,"pl-k"],[19,23,"pl-c1"],[25,31,"pl-c1"],[46,52,"pl-c1"]],[],[],[[8,101,"pl-c"],[8,10,"pl-c"],[99,101,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[26,31,"pl-en"],[34,39,"pl-k"],[40,48,"pl-k"]],[],[[12,18,"pl-k"],[19,23,"pl-c1"],[25,31,"pl-c1"],[34,40,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,110,"pl-c"],[8,10,"pl-c"],[108,110,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[26,32,"pl-en"],[33,38,"pl-k"],[56,61,"pl-k"],[81,82,"pl-c1"],[84,89,"pl-k"],[90,98,"pl-k"]],[],[[12,14,"pl-k"],[24,28,"pl-c1"],[30,34,"pl-c1"],[38,50,"pl-k"]],[[16,22,"pl-k"],[23,33,"pl-c1"]],[],[[12,17,"pl-k"],[35,43,"pl-c1"],[51,55,"pl-c1"],[57,61,"pl-c1"],[74,75,"pl-c1"]],[[12,18,"pl-k"],[19,29,"pl-c1"],[30,49,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,112,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,81,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[26,34,"pl-en"],[37,42,"pl-k"],[43,51,"pl-k"]],[],[],[[12,34,"pl-c1"],[36,40,"pl-c1"],[42,60,"pl-c1"],[70,75,"pl-k"],[106,112,"pl-k"],[113,127,"pl-c1"]],[[12,18,"pl-k"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,151,"pl-c"],[8,10,"pl-c"],[149,151,"pl-c"]],[[8,21,"pl-k"]],[[19,24,"pl-en"],[27,32,"pl-k"],[33,41,"pl-k"]],[],[[12,17,"pl-k"],[29,39,"pl-smi"],[40,50,"pl-c1"],[51,54,"pl-s"],[51,52,"pl-pds"],[53,54,"pl-pds"]],[],[[23,26,"pl-smi"],[28,32,"pl-c1"]],[[48,53,"pl-c1"]],[],[[12,15,"pl-k"]],[[28,38,"pl-c1"]],[],[[12,18,"pl-k"],[30,34,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,124,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,76,"pl-c"]],[[0,76,"pl-c"]],[[0,57,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[19,28,"pl-en"],[48,56,"pl-k"]],[],[],[[12,15,"pl-k"],[17,21,"pl-k"],[28,32,"pl-c1"]],[[16,19,"pl-k"]],[[16,21,"pl-k"]],[],[[12,18,"pl-k"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,129,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,74,"pl-c"]],[[0,68,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,14,"pl-k"],[27,32,"pl-en"],[35,43,"pl-k"]],[],[],[[12,34,"pl-c1"],[36,40,"pl-c1"],[42,60,"pl-c1"],[71,76,"pl-k"],[108,114,"pl-k"],[115,119,"pl-c1"],[121,126,"pl-c1"]],[[12,18,"pl-k"],[20,24,"pl-c1"]],[],[],[[8,65,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,74,"pl-c"]],[[0,68,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,21,"pl-k"],[22,27,"pl-k"],[39,44,"pl-en"],[45,50,"pl-k"],[66,74,"pl-k"]],[],[[12,18,"pl-k"],[19,29,"pl-c1"],[30,42,"pl-c1"]],[],[],[],[[8,67,"pl-c"],[8,10,"pl-c"]],[[8,115,"pl-c"],[8,10,"pl-c"]],[[0,9,"pl-c"]],[[0,77,"pl-c"]],[[0,77,"pl-c"]],[[0,60,"pl-c"]],[[0,10,"pl-c"],[8,10,"pl-c"]],[[8,21,"pl-k"]],[[8,14,"pl-k"],[26,31,"pl-en"],[32,37,"pl-k"],[55,60,"pl-k"],[61,69,"pl-k"]],[],[[12,14,"pl-k"],[16,20,"pl-c1"],[22,26,"pl-c1"],[39,51,"pl-k"]],[[16,22,"pl-k"],[24,28,"pl-c1"]],[],[[12,17,"pl-k"],[52,56,"pl-c1"],[58,62,"pl-c1"]],[[12,14,"pl-k"],[18,22,"pl-c1"],[24,25,"pl-c1"],[30,33,"pl-s"],[30,31,"pl-pds"],[32,33,"pl-pds"],[39,43,"pl-c1"],[45,46,"pl-c1"],[51,54,"pl-s"],[51,52,"pl-pds"],[53,54,"pl-pds"],[56,68,"pl-k"]],[[16,22,"pl-k"],[25,29,"pl-c1"],[31,32,"pl-c1"],[36,40,"pl-c1"],[42,48,"pl-c1"],[49,50,"pl-c1"],[52,56,"pl-c1"],[58,62,"pl-c1"],[67,68,"pl-c1"],[70,75,"pl-c1"],[84,85,"pl-c1"],[87,97,"pl-c1"],[98,101,"pl-s"],[98,99,"pl-pds"],[100,101,"pl-pds"]],[[12,16,"pl-k"],[17,27,"pl-k"]],[[16,22,"pl-k"],[23,27,"pl-c1"],[29,34,"pl-c1"],[42,52,"pl-c1"],[53,56,"pl-s"],[53,54,"pl-pds"],[55,56,"pl-pds"]],[],[],[],[],[],[[4,63,"pl-c"],[4,6,"pl-c"]],[[4,45,"pl-c"],[4,6,"pl-c"],[43,45,"pl-c"]],[[4,10,"pl-k"],[21,29,"pl-k"],[29,31,"pl-s"],[29,30,"pl-pds"],[30,31,"pl-pds"],[35,40,"pl-k"],[41,45,"pl-k"],[57,63,"pl-c1"]],[],[[8,14,"pl-k"],[15,24,"pl-c1"],[25,47,"pl-c1"]],[],[],[[4,45,"pl-c"],[4,6,"pl-c"],[43,45,"pl-c"]],[[4,10,"pl-k"],[22,30,"pl-k"],[30,32,"pl-s"],[30,31,"pl-pds"],[31,32,"pl-pds"],[36,41,"pl-k"],[42,49,"pl-k"],[61,67,"pl-c1"]],[],[[8,14,"pl-k"],[15,25,"pl-c1"],[26,49,"pl-c1"]],[],[],[],[[4,63,"pl-c"],[4,6,"pl-c"]],[[4,63,"pl-c"],[4,6,"pl-c"]],[[4,84,"pl-c"],[4,6,"pl-c"],[82,84,"pl-c"]],[[4,12,"pl-k"],[13,21,"pl-k"]],[[8,16,"pl-k"]],[[4,9,"pl-k"],[10,15,"pl-en"]],[],[[4,11,"pl-k"]],[[8,14,"pl-k"],[15,24,"pl-k"],[30,37,"pl-c1"],[66,69,"pl-c1"]],[],[[8,63,"pl-c"],[8,10,"pl-c"]],[[8,13,"pl-en"],[14,19,"pl-k"],[33,40,"pl-c1"],[42,47,"pl-k"],[60,67,"pl-c1"],[69,74,"pl-k"],[87,94,"pl-c1"],[96,104,"pl-k"],[107,130,"pl-c"],[107,109,"pl-c"]],[],[],[],[],[],[[8,15,"pl-k"],[16,22,"pl-en"],[25,33,"pl-k"],[36,43,"pl-k"],[46,70,"pl-c"],[46,48,"pl-c"]],[],[],[[8,63,"pl-c"],[8,10,"pl-c"]],[[8,16,"pl-k"],[17,25,"pl-k"],[34,38,"pl-k"]],[[1,3,"pl-k"]],[[12,20,"pl-k"],[43,47,"pl-k"],[74,81,"pl-k"],[108,116,"pl-k"],[143,151,"pl-k"],[178,185,"pl-k"]],[[1,5,"pl-k"]],[[12,20,"pl-k"],[43,47,"pl-k"],[74,82,"pl-k"],[109,117,"pl-k"],[144,151,"pl-k"]],[[1,6,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[26,31,"pl-en"],[32,37,"pl-k"],[62,70,"pl-k"],[72,117,"pl-c"],[72,74,"pl-c"]],[],[[12,18,"pl-k"],[19,37,"pl-c1"],[38,42,"pl-c1"],[47,51,"pl-c1"]],[],[],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[21,25,"pl-k"],[26,29,"pl-en"],[32,37,"pl-k"],[38,46,"pl-k"],[48,109,"pl-c"],[48,50,"pl-c"]],[],[[12,18,"pl-k"],[28,29,"pl-c1"],[32,36,"pl-c1"],[47,48,"pl-c1"]],[],[],[[8,14,"pl-k"],[21,29,"pl-k"],[34,42,"pl-k"],[44,166,"pl-c"],[44,46,"pl-c"]],[],[],[[12,18,"pl-k"],[20,24,"pl-c1"]],[],[],[[8,14,"pl-k"],[21,29,"pl-k"],[32,35,"pl-k"],[37,45,"pl-k"],[47,170,"pl-c"],[47,49,"pl-c"]],[],[],[[12,18,"pl-k"],[20,24,"pl-c1"]],[],[],[[8,21,"pl-k"]],[[8,14,"pl-k"],[15,20,"pl-k"],[26,34,"pl-k"],[38,46,"pl-k"],[48,76,"pl-c"],[48,50,"pl-c"]],[],[[12,18,"pl-k"]],[],[],[[8,63,"pl-c"],[8,10,"pl-c"]],[[8,14,"pl-k"],[20,25,"pl-en"],[30,36,"pl-k"],[48,90,"pl-c"],[48,50,"pl-c"]],[[8,14,"pl-k"],[20,24,"pl-en"],[29,35,"pl-k"],[46,87,"pl-c"],[46,48,"pl-c"]],[[8,14,"pl-k"],[20,24,"pl-en"],[29,35,"pl-k"],[46,87,"pl-c"],[46,48,"pl-c"]],[],[],[[4,12,"pl-k"]],[[21,22,"pl-c1"]],[[20,27,"pl-c1"]],[[20,21,"pl-c1"]],[],[[21,22,"pl-c1"]],[],[[8,21,"pl-k"]],[[8,13,"pl-k"],[19,37,"pl-en"],[38,43,"pl-k"],[59,67,"pl-k"]],[],[[12,14,"pl-k"],[26,33,"pl-c1"]],[[16,18,"pl-k"],[28,29,"pl-c1"],[42,49,"pl-c1"],[51,63,"pl-k"]],[[40,41,"pl-c1"]],[[16,20,"pl-k"],[21,31,"pl-k"]],[[29,30,"pl-c1"]],[],[[12,16,"pl-k"],[17,19,"pl-k"],[30,31,"pl-c1"]],[],[[16,18,"pl-k"],[29,30,"pl-c1"],[32,44,"pl-k"]],[[29,30,"pl-c1"]],[],[[12,16,"pl-k"],[17,19,"pl-k"]],[[16,18,"pl-k"],[28,29,"pl-c1"],[42,49,"pl-c1"]],[[40,41,"pl-c1"]],[],[],[[12,14,"pl-k"],[25,32,"pl-c1"]],[[16,18,"pl-k"],[28,29,"pl-c1"],[42,49,"pl-c1"],[51,63,"pl-k"]],[[28,29,"pl-c1"]],[[16,20,"pl-k"]],[],[],[[12,16,"pl-k"],[17,19,"pl-k"],[29,30,"pl-c1"]],[],[[16,18,"pl-k"],[28,29,"pl-c1"]],[[28,29,"pl-c1"]],[],[[12,16,"pl-k"],[17,19,"pl-k"]],[],[],[[12,14,"pl-k"],[25,32,"pl-c1"],[34,44,"pl-k"]],[[24,25,"pl-c1"]],[[12,14,"pl-k"],[24,25,"pl-c1"],[27,39,"pl-k"]],[[16,18,"pl-k"]],[[28,29,"pl-c1"],[32,59,"pl-c"],[32,34,"pl-c"]],[],[[12,16,"pl-k"],[17,29,"pl-k"]],[[16,18,"pl-k"]],[[28,29,"pl-c1"],[32,59,"pl-c"],[32,34,"pl-c"]],[],[],[[12,18,"pl-k"]],[],[],[],[],[[4,68,"pl-c"],[4,6,"pl-c"],[66,68,"pl-c"]],[[4,12,"pl-k"],[13,21,"pl-k"]],[[8,16,"pl-k"]],[[4,10,"pl-k"],[11,21,"pl-en"],[24,30,"pl-k"],[31,36,"pl-en"]],[],[[8,13,"pl-k"]],[],[[8,63,"pl-c"],[8,10,"pl-c"]],[[8,14,"pl-k"],[15,25,"pl-en"],[26,31,"pl-k"],[58,65,"pl-c1"],[67,75,"pl-k"],[78,101,"pl-c"],[78,80,"pl-c"]],[[46,53,"pl-c1"],[55,56,"pl-c1"]],[],[],[[8,15,"pl-k"],[16,27,"pl-en"],[30,38,"pl-k"],[41,48,"pl-k"],[51,75,"pl-c"],[51,53,"pl-c"]],[],[],[],[[4,69,"pl-c"],[4,6,"pl-c"],[67,69,"pl-c"]],[[4,12,"pl-k"],[13,21,"pl-k"]],[[8,16,"pl-k"]],[[4,10,"pl-k"],[11,20,"pl-en"],[23,29,"pl-k"],[30,35,"pl-en"]],[],[[8,13,"pl-k"]],[],[[8,63,"pl-c"],[8,10,"pl-c"]],[[8,14,"pl-k"],[15,24,"pl-en"],[25,30,"pl-k"],[56,63,"pl-c1"],[65,73,"pl-k"],[76,99,"pl-c"],[76,78,"pl-c"]],[[39,46,"pl-c1"],[54,55,"pl-c1"]],[],[],[[8,15,"pl-k"],[16,26,"pl-en"],[29,37,"pl-k"],[40,47,"pl-k"],[50,74,"pl-c"],[50,52,"pl-c"]],[],[],[],[[4,69,"pl-c"],[4,6,"pl-c"],[67,69,"pl-c"]],[[4,12,"pl-k"],[13,21,"pl-k"]],[[8,16,"pl-k"]],[[4,10,"pl-k"],[11,20,"pl-en"],[23,29,"pl-k"],[30,35,"pl-en"]],[],[[8,13,"pl-k"]],[],[[8,63,"pl-c"],[8,10,"pl-c"]],[[8,14,"pl-k"],[15,24,"pl-en"],[25,30,"pl-k"],[56,63,"pl-c1"],[65,73,"pl-k"],[76,99,"pl-c"],[76,78,"pl-c"]],[[39,46,"pl-c1"],[61,68,"pl-c1"]],[],[],[[8,15,"pl-k"],[16,26,"pl-en"],[29,37,"pl-k"],[40,47,"pl-k"],[50,74,"pl-c"],[50,52,"pl-c"]],[],[],[],[[4,59,"pl-c"],[4,6,"pl-c"],[57,59,"pl-c"]],[[4,12,"pl-k"],[13,21,"pl-k"]],[[8,16,"pl-k"]],[[4,10,"pl-k"],[11,25,"pl-en"],[28,34,"pl-k"],[35,40,"pl-en"]],[],[[8,13,"pl-k"]],[],[[8,63,"pl-c"],[8,10,"pl-c"]],[[8,14,"pl-k"],[15,29,"pl-en"],[30,35,"pl-k"],[62,69,"pl-c1"],[71,76,"pl-k"],[102,109,"pl-c1"],[111,119,"pl-k"],[122,145,"pl-c"],[122,124,"pl-c"]],[[39,40,"pl-c1"]],[],[],[[8,15,"pl-k"],[16,31,"pl-en"],[34,42,"pl-k"],[45,52,"pl-k"],[55,79,"pl-c"],[55,57,"pl-c"]],[],[],[],[[4,59,"pl-c"],[4,6,"pl-c"],[57,59,"pl-c"]],[[4,12,"pl-k"],[13,21,"pl-k"]],[[8,16,"pl-k"]],[[4,10,"pl-k"],[11,25,"pl-en"],[28,34,"pl-k"],[35,40,"pl-en"]],[],[[8,13,"pl-k"]],[],[[8,63,"pl-c"],[8,10,"pl-c"]],[[8,14,"pl-k"],[15,29,"pl-en"],[30,35,"pl-k"],[62,69,"pl-c1"],[71,76,"pl-k"],[102,109,"pl-c1"],[111,119,"pl-k"],[122,145,"pl-c"],[122,124,"pl-c"]],[[46,53,"pl-c1"]],[],[],[[8,15,"pl-k"],[16,31,"pl-en"],[34,42,"pl-k"],[45,52,"pl-k"],[55,79,"pl-c"],[55,57,"pl-c"]],[],[],[],[],[[4,60,"pl-c"],[4,6,"pl-c"],[58,60,"pl-c"]],[[4,12,"pl-k"],[13,21,"pl-k"]],[[8,16,"pl-k"]],[[4,10,"pl-k"],[11,24,"pl-en"],[27,33,"pl-k"],[34,39,"pl-en"]],[],[[8,13,"pl-k"]],[],[[8,63,"pl-c"],[8,10,"pl-c"]],[[8,14,"pl-k"],[15,28,"pl-en"],[29,34,"pl-k"],[60,67,"pl-c1"],[69,74,"pl-k"],[100,107,"pl-c1"],[109,117,"pl-k"],[120,143,"pl-c"],[120,122,"pl-c"]],[[39,46,"pl-c1"]],[],[],[[8,15,"pl-k"],[16,30,"pl-en"],[33,41,"pl-k"],[44,51,"pl-k"],[54,78,"pl-c"],[54,56,"pl-c"]],[],[],[],[[4,67,"pl-c"],[4,6,"pl-c"]],[[4,67,"pl-c"],[4,6,"pl-c"]],[[4,73,"pl-c"],[4,6,"pl-c"],[71,73,"pl-c"]],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[22,30,"pl-en"],[31,36,"pl-k"],[47,55,"pl-k"]],[],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[],[[4,122,"pl-c"],[4,6,"pl-c"],[120,122,"pl-c"]],[[4,12,"pl-k"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[31,35,"pl-k"],[37,42,"pl-k"],[43,47,"pl-k"],[52,60,"pl-k"]],[],[[8,14,"pl-k"],[15,26,"pl-k"],[27,32,"pl-k"],[33,37,"pl-k"],[39,51,"pl-c1"],[52,63,"pl-k"],[64,72,"pl-k"],[73,77,"pl-k"]],[],[],[[4,122,"pl-c"],[4,6,"pl-c"],[120,122,"pl-c"]],[[4,12,"pl-k"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[31,38,"pl-k"],[40,45,"pl-k"],[46,53,"pl-k"],[58,66,"pl-k"]],[],[[8,14,"pl-k"],[15,26,"pl-k"],[27,32,"pl-k"],[33,37,"pl-k"],[39,52,"pl-c1"]],[],[],[],[[4,67,"pl-c"],[4,6,"pl-c"]],[[4,86,"pl-c"],[4,6,"pl-c"],[84,86,"pl-c"]],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[22,30,"pl-en"],[31,36,"pl-k"],[47,55,"pl-k"]],[],[[8,14,"pl-k"],[15,20,"pl-c1"],[21,25,"pl-c1"],[42,47,"pl-c1"],[48,52,"pl-c1"]],[],[],[],[[4,67,"pl-c"],[4,6,"pl-c"]],[[4,73,"pl-c"],[4,6,"pl-c"],[71,73,"pl-c"]],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[22,32,"pl-en"],[33,38,"pl-k"],[49,57,"pl-k"]],[],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[],[[4,83,"pl-c"],[4,6,"pl-c"],[81,83,"pl-c"]],[[4,12,"pl-k"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[33,37,"pl-k"],[39,44,"pl-k"],[45,49,"pl-k"],[54,62,"pl-k"]],[],[[8,14,"pl-k"],[15,26,"pl-k"],[27,32,"pl-k"],[33,37,"pl-k"],[39,51,"pl-c1"],[52,63,"pl-k"],[64,72,"pl-k"],[73,77,"pl-k"]],[],[],[[4,83,"pl-c"],[4,6,"pl-c"],[81,83,"pl-c"]],[[4,12,"pl-k"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[33,40,"pl-k"],[42,47,"pl-k"],[48,55,"pl-k"],[60,68,"pl-k"]],[],[[8,14,"pl-k"],[16,21,"pl-k"],[22,26,"pl-k"],[27,40,"pl-c1"]],[],[],[],[[4,67,"pl-c"],[4,6,"pl-c"]],[[4,73,"pl-c"],[4,6,"pl-c"],[71,73,"pl-c"]],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[22,30,"pl-en"],[31,36,"pl-k"],[47,55,"pl-k"]],[],[[8,14,"pl-k"],[15,30,"pl-c1"]],[],[],[[4,83,"pl-c"],[4,6,"pl-c"],[81,83,"pl-c"]],[[4,12,"pl-k"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[31,35,"pl-k"],[37,42,"pl-k"],[43,47,"pl-k"],[52,60,"pl-k"]],[],[[8,14,"pl-k"],[15,30,"pl-c1"]],[],[],[[4,83,"pl-c"],[4,6,"pl-c"],[81,83,"pl-c"]],[[4,12,"pl-k"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[31,38,"pl-k"],[40,45,"pl-k"],[46,53,"pl-k"],[58,66,"pl-k"]],[],[[8,14,"pl-k"],[15,30,"pl-c1"]],[],[],[],[[4,67,"pl-c"],[4,6,"pl-c"]],[[4,101,"pl-c"],[4,6,"pl-c"],[99,101,"pl-c"]],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[22,36,"pl-en"],[37,42,"pl-k"],[53,61,"pl-k"]],[],[[8,14,"pl-k"],[15,31,"pl-c1"],[39,54,"pl-c1"]],[],[],[],[[4,67,"pl-c"],[4,6,"pl-c"]],[[4,99,"pl-c"],[4,6,"pl-c"],[97,99,"pl-c"]],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[22,33,"pl-en"],[34,39,"pl-k"],[50,58,"pl-k"]],[],[[8,14,"pl-k"],[15,28,"pl-c1"],[42,47,"pl-c1"],[48,51,"pl-s"],[48,49,"pl-pds"],[50,51,"pl-pds"]],[],[],[],[[4,67,"pl-c"],[4,6,"pl-c"]],[[4,73,"pl-c"],[4,6,"pl-c"],[71,73,"pl-c"]],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[22,30,"pl-en"],[31,36,"pl-k"],[47,55,"pl-k"]],[],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[],[[4,121,"pl-c"],[4,6,"pl-c"],[119,121,"pl-c"]],[[4,12,"pl-k"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[31,35,"pl-k"],[37,42,"pl-k"],[43,47,"pl-k"],[52,60,"pl-k"]],[],[[8,14,"pl-k"],[15,27,"pl-c1"],[28,39,"pl-k"],[40,48,"pl-k"],[49,53,"pl-k"]],[],[],[[4,121,"pl-c"],[4,6,"pl-c"],[119,121,"pl-c"]],[[4,12,"pl-k"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[31,38,"pl-k"],[40,45,"pl-k"],[46,53,"pl-k"],[58,66,"pl-k"]],[],[[8,14,"pl-k"],[15,28,"pl-c1"]],[],[],[],[[4,67,"pl-c"],[4,6,"pl-c"]],[[4,73,"pl-c"],[4,6,"pl-c"],[71,73,"pl-c"]],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[22,32,"pl-en"],[33,38,"pl-k"],[49,57,"pl-k"]],[],[[8,14,"pl-k"],[15,30,"pl-c1"]],[],[],[[4,83,"pl-c"],[4,6,"pl-c"],[81,83,"pl-c"]],[[4,12,"pl-k"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[33,37,"pl-k"],[39,44,"pl-k"],[45,49,"pl-k"],[54,62,"pl-k"]],[],[[8,14,"pl-k"],[15,30,"pl-c1"]],[],[],[[4,83,"pl-c"],[4,6,"pl-c"],[81,83,"pl-c"]],[[4,12,"pl-k"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[33,40,"pl-k"],[42,47,"pl-k"],[48,55,"pl-k"],[60,68,"pl-k"]],[],[[8,14,"pl-k"],[15,30,"pl-c1"]],[],[],[],[[4,67,"pl-c"],[4,6,"pl-c"]],[[4,73,"pl-c"],[4,6,"pl-c"],[71,73,"pl-c"]],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[22,34,"pl-en"],[35,40,"pl-k"],[51,59,"pl-k"]],[],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[],[[4,80,"pl-c"],[4,6,"pl-c"],[78,80,"pl-c"]],[[4,12,"pl-k"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[35,39,"pl-k"],[41,46,"pl-k"],[47,51,"pl-k"],[56,64,"pl-k"]],[],[[8,14,"pl-k"],[15,26,"pl-k"],[27,32,"pl-k"],[33,37,"pl-k"],[39,51,"pl-c1"],[52,63,"pl-k"],[64,72,"pl-k"],[73,77,"pl-k"]],[],[],[[4,123,"pl-c"],[4,6,"pl-c"],[121,123,"pl-c"]],[[4,12,"pl-k"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[35,42,"pl-k"],[44,49,"pl-k"],[50,57,"pl-k"],[62,70,"pl-k"]],[],[[8,14,"pl-k"],[15,26,"pl-k"],[27,32,"pl-k"],[33,37,"pl-k"],[39,52,"pl-c1"]],[],[],[],[[4,67,"pl-c"],[4,6,"pl-c"]],[[4,73,"pl-c"],[4,6,"pl-c"],[71,73,"pl-c"]],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[22,36,"pl-en"],[37,42,"pl-k"],[53,61,"pl-k"]],[],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[],[[4,123,"pl-c"],[4,6,"pl-c"],[121,123,"pl-c"]],[[4,12,"pl-k"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[37,41,"pl-k"],[43,48,"pl-k"],[49,53,"pl-k"],[58,66,"pl-k"]],[],[[8,14,"pl-k"],[15,26,"pl-k"],[27,32,"pl-k"],[33,37,"pl-k"],[39,51,"pl-c1"],[52,63,"pl-k"],[64,72,"pl-k"],[73,77,"pl-k"]],[],[],[[4,123,"pl-c"],[4,6,"pl-c"],[121,123,"pl-c"]],[[4,12,"pl-k"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[37,44,"pl-k"],[46,51,"pl-k"],[52,59,"pl-k"],[64,72,"pl-k"]],[],[[8,14,"pl-k"],[15,26,"pl-k"],[27,32,"pl-k"],[33,37,"pl-k"],[39,52,"pl-c1"]],[],[],[],[[4,67,"pl-c"],[4,6,"pl-c"]],[[4,73,"pl-c"],[4,6,"pl-c"],[71,73,"pl-c"]],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[22,30,"pl-en"],[31,36,"pl-k"],[47,55,"pl-k"]],[],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[],[[4,122,"pl-c"],[4,6,"pl-c"],[120,122,"pl-c"]],[[4,12,"pl-k"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[31,35,"pl-k"],[37,42,"pl-k"],[43,47,"pl-k"],[52,60,"pl-k"]],[],[[8,14,"pl-k"],[15,26,"pl-k"],[27,32,"pl-k"],[33,37,"pl-k"],[39,51,"pl-c1"],[52,63,"pl-k"],[64,72,"pl-k"],[73,77,"pl-k"]],[],[],[[4,122,"pl-c"],[4,6,"pl-c"],[120,122,"pl-c"]],[[4,12,"pl-k"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[31,38,"pl-k"],[40,45,"pl-k"],[46,53,"pl-k"],[58,66,"pl-k"]],[],[[8,14,"pl-k"],[15,26,"pl-k"],[27,32,"pl-k"],[33,37,"pl-k"],[39,52,"pl-c1"]],[],[],[],[[4,67,"pl-c"],[4,6,"pl-c"]],[[4,73,"pl-c"],[4,6,"pl-c"],[71,73,"pl-c"]],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[22,30,"pl-en"],[31,36,"pl-k"],[47,55,"pl-k"]],[],[[8,14,"pl-k"],[15,20,"pl-c1"]],[],[],[[4,121,"pl-c"],[4,6,"pl-c"],[119,121,"pl-c"]],[[4,12,"pl-k"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[31,35,"pl-k"],[37,42,"pl-k"],[43,47,"pl-k"],[52,60,"pl-k"]],[],[[8,14,"pl-k"],[15,26,"pl-k"],[27,32,"pl-k"],[33,37,"pl-k"],[39,51,"pl-c1"],[52,63,"pl-k"],[64,72,"pl-k"],[73,77,"pl-k"]],[],[],[[4,121,"pl-c"],[4,6,"pl-c"],[119,121,"pl-c"]],[[4,12,"pl-k"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[31,38,"pl-k"],[40,45,"pl-k"],[46,53,"pl-k"],[58,66,"pl-k"]],[],[[8,14,"pl-k"],[15,26,"pl-k"],[27,32,"pl-k"],[33,37,"pl-k"],[39,52,"pl-c1"]],[],[],[],[[4,67,"pl-c"],[4,6,"pl-c"]],[[4,101,"pl-c"],[4,6,"pl-c"],[99,101,"pl-c"]],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[23,32,"pl-en"],[33,38,"pl-k"],[49,57,"pl-k"]],[],[[8,10,"pl-k"],[12,25,"pl-c1"]],[[12,18,"pl-k"],[19,32,"pl-c1"]],[[8,12,"pl-k"],[13,15,"pl-k"],[17,30,"pl-c1"]],[[12,18,"pl-k"],[19,32,"pl-c1"]],[[8,12,"pl-k"]],[[12,18,"pl-k"]],[],[],[],[[4,67,"pl-c"],[4,6,"pl-c"]],[[4,73,"pl-c"],[4,6,"pl-c"],[71,73,"pl-c"]],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[23,31,"pl-en"],[32,37,"pl-k"],[48,56,"pl-k"]],[],[[8,14,"pl-k"]],[],[],[[4,139,"pl-c"],[4,6,"pl-c"],[137,139,"pl-c"]],[[4,12,"pl-k"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[31,35,"pl-k"],[37,42,"pl-k"],[43,47,"pl-k"],[52,60,"pl-k"]],[],[[8,14,"pl-k"],[15,27,"pl-c1"],[28,39,"pl-k"],[40,48,"pl-k"],[49,53,"pl-k"]],[],[],[[4,139,"pl-c"],[4,6,"pl-c"],[137,139,"pl-c"]],[[4,12,"pl-k"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,24,"pl-k"],[34,41,"pl-k"],[43,48,"pl-k"],[49,56,"pl-k"],[61,69,"pl-k"]],[],[[8,14,"pl-k"],[15,28,"pl-c1"]],[],[],[],[[4,67,"pl-c"],[4,6,"pl-c"]],[[4,73,"pl-c"],[4,6,"pl-c"],[71,73,"pl-c"]],[[4,12,"pl-k"],[13,18,"pl-k"],[19,24,"pl-en"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[23,31,"pl-en"],[32,37,"pl-k"],[48,56,"pl-k"]],[],[[8,14,"pl-k"]],[],[],[[4,139,"pl-c"],[4,6,"pl-c"],[137,139,"pl-c"]],[[4,12,"pl-k"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,21,"pl-k"],[31,35,"pl-k"],[37,42,"pl-k"],[43,47,"pl-k"],[52,60,"pl-k"]],[],[[8,14,"pl-k"],[15,27,"pl-c1"],[28,39,"pl-k"],[40,48,"pl-k"],[49,53,"pl-k"]],[],[],[[4,139,"pl-c"],[4,6,"pl-c"],[137,139,"pl-c"]],[[4,12,"pl-k"]],[[4,17,"pl-k"]],[[4,10,"pl-k"],[11,16,"pl-k"],[17,24,"pl-k"],[34,41,"pl-k"],[43,48,"pl-k"],[49,56,"pl-k"],[61,69,"pl-k"]],[],[[8,14,"pl-k"],[15,28,"pl-c1"]],[],[],[[1,3,"pl-k"]],[[4,10,"pl-k"],[25,88,"pl-c"],[25,27,"pl-c"]],[[1,6,"pl-k"]],[],[[2,52,"pl-c"],[2,4,"pl-c"]]],"colorizedLines":null}},"title":"pythonic-cpp-strings/cpp-strings/cppstrings.h at dev · schmouk/pythonic-cpp-strings","appPayload":{},"meta":{"title":"pythonic-cpp-strings/cpp-strings/cppstrings.h at dev · schmouk/pythonic-cpp-strings"}}</script>
  <div data-target="react-app.reactRoot"><meta name="github-code-view-meta-stats" id="github-code-view-meta-stats" data-hydrostats="publish"/> <!-- --> <a hidden="" id="code-view-repo-link" href="/schmouk/pythonic-cpp-strings" data-discover="true"></a> <div class="d-none"></div><div><div style="--spacing:var(--spacing-none)" class="prc-PageLayout-PageLayoutRoot--KH-d" data-component="SplitPageLayout" data-has-sidebar="true"><div class="prc-PageLayout-SidebarWrapper-kLG4B CopilotSidePanelSidebar-module__SidePanel__L3O0C CopilotSidePanelSidebar-module__HiddenSidePanel__TBRGn" style="--spacing-column:var(--spacing-none)" data-is-hidden="false" data-position="end" data-sticky="true" data-responsive-variant="fullscreen"><div class="prc-PageLayout-VerticalDivider-9QRmK prc-PageLayout-SidebarVerticalDivider-0Rl0V" data-component="PageLayout.VerticalDivider" data-variant="line" data-position="end" style="--spacing:var(--spacing-none)"><div class="prc-PageLayout-DraggableHandle-9s6B4" data-component="PageLayout.DragHandle" role="slider" aria-label="Draggable pane splitter" aria-valuemin="450" aria-valuemax="768" aria-valuenow="544" aria-valuetext="Pane width 544 pixels" tabindex="0"></div></div><div class="prc-PageLayout-Sidebar-iciWg" data-component="SplitPageLayout.Sidebar" data-resizable="true" style="--spacing:var(--spacing-normal);--pane-min-width:450px;--pane-max-width:768px;--pane-width-custom:544px;--pane-width-size:var(--pane-width-custom);--pane-width:544px"><div class="height-full" data-testid="copilot-code-view-side-panel"><div id="copilot-side-panel-content" class="height-full"></div></div></div></div><div class="prc-PageLayout-PageLayoutWrapper-2BhU2" data-width="full"><div class="prc-PageLayout-PageLayoutContent-BneH9"><div id="repos-file-tree-sidebar" class="CodeViewFileTreeLayout-module__sidebar__n_Aau" tabindex="0"><div class="prc-PageLayout-PaneWrapper-pHPop ReposFileTreePane-module__Pane__rBZpI ReposFileTreePane-module__HideTree__AYZnm ReposFileTreePane-module__HidePane__VHAVt" 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="prc-PageLayout-HorizontalDivider-JLVqp prc-PageLayout-PaneHorizontalDivider-9tbnE" data-component="PageLayout.HorizontalDivider" data-variant-regular="none" data-variant-narrow="none" data-position="start" style="--spacing-divider:var(--spacing-none);--spacing:var(--spacing-none)"></div><div class="prc-PageLayout-Pane-AyzHK" data-component="SplitPageLayout.Pane" 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="prc-PageLayout-VerticalDivider-9QRmK prc-PageLayout-PaneVerticalDivider-le57g" data-component="PageLayout.VerticalDivider" data-variant-narrow="none" data-variant-regular="line" data-variant-wide="line" data-position="start" style="--spacing:var(--spacing-none)"><div class="prc-PageLayout-DraggableHandle-9s6B4" data-component="PageLayout.DragHandle" role="slider" aria-label="Draggable pane splitter" aria-valuemin="256" aria-valuemax="600" aria-valuenow="320" aria-valuetext="Pane width 320 pixels" tabindex="0"></div></div></div></div><div data-component="SplitPageLayout.Content" class="prc-PageLayout-ContentWrapper-gR9eG"><div class="prc-PageLayout-Content-xWL-A" data-width="full" style="--spacing:var(--spacing-none)"><div class="SharedPageLayout-module__content__IwGAp" data-selector="repos-split-pane-content" id="repos-split-pane-content" tabindex="0"> <!-- --> <div class="container CodeViewHeader-module__Box__JkPOb"><div class="CodeViewHeader-module__StickyHeader__Qn7UN" id="StickyHeader"><div class="CodeViewHeader-module__Box_1__SbNDV"><div class="CodeViewHeader-module__Box_2__TB46f"><div class="react-code-view-header-wrap--narrow CodeViewHeader-module__Box_3__q1zUL"><div class="CodeViewHeader-module__treeToggleWrapper__RQ__9"><h2 class="use-tree-pane-module__Heading__s4QbZ prc-Heading-Heading-MtWFE" data-component="Heading"><button data-component="Button" type="button" aria-label="Expand file tree" data-testid="expand-file-tree-button-mobile" class="prc-Button-ButtonBase-9n-Xk ExpandFileTreeButton-module__Button_1__Svs95" data-loading="false" data-size="medium" data-variant="invisible"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="leadingVisual" class="prc-Button-Visual-YNt2F prc-Button-LeadingVisual-UySKu prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" 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-FWkx3">Files</span></span></button><button data-component="IconButton" type="button" data-testid="expand-file-tree-button" aria-controls="repos-file-tree" class="prc-Button-ButtonBase-9n-Xk position-relative ExpandFileTreeButton-module__expandButton__hDOcv ExpandFileTreeButton-module__filesButtonBreakpoint__zEvz3 fgColor-muted prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="invisible" aria-labelledby="_R_4lla9lik5_"><svg data-component="Octicon" 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 class="prc-TooltipV2-Tooltip-tLeuB" data-direction="se" data-component="Tooltip" aria-hidden="true" id="_R_4lla9lik5_">Expand file tree</span><div class="d-none"></div></h2></div><div class="react-code-view-header-mb--narrow mr-2"><button data-component="Button" type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-label="dev branch" data-testid="anchor-button" data-icv-name="Switch branches/tags" class="prc-Button-ButtonBase-9n-Xk ref-selector-class RefSelectorAnchoredOverlay-module__RefSelectorOverlayBtn__a3WK3" data-loading="false" data-size="medium" data-variant="default" id="ref-picker-repos-header-ref-selector-wide"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="leadingVisual" class="prc-Button-Visual-YNt2F prc-Button-LeadingVisual-UySKu prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" 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></span><span data-component="text" class="prc-Button-Label-FWkx3"><div class="RefSelectorAnchoredOverlay-module__RefSelectorOverlayContainer__yaf4p"><div style="max-width:125px" class="ref-selector-button-text-container RefSelectorAnchoredOverlay-module__RefSelectorBtnTextContainer__Di3rk"><span class="RefSelectorAnchoredOverlay-module__RefSelectorText__w_fmP">dev</span></div></div></span><span data-component="trailingVisual" class="prc-Button-Visual-YNt2F prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" 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><div class="d-none"></div></div><div class="react-code-view-header-mb--narrow CodeViewHeader-module__Box_5__MQ0hL"><div class="Breadcrumb-module__container__Vxvev Breadcrumb-module__lg__Rjz0A"><nav data-testid="breadcrumbs" aria-labelledby="repos-header-breadcrumb-heading" id="repos-header-breadcrumb" class="Breadcrumb-module__nav__rQFDj"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone__rwWIk prc-Heading-Heading-MtWFE" data-component="Heading" data-testid="screen-reader-heading" id="repos-header-breadcrumb-heading">Breadcrumbs</h2><ol class="Breadcrumb-module__list__ZH6zr"><li class="Breadcrumb-module__listItem__Ib0x_"><a class="Breadcrumb-module__repoLink__O2Nbs prc-Link-Link-9ZwDx" data-component="Link" data-testid="breadcrumbs-repo-link" href="/schmouk/pythonic-cpp-strings/tree/dev" data-discover="true">pythonic-cpp-strings</a></li><li class="Breadcrumb-module__listItem__Ib0x_"><span class="Breadcrumb-module__separator__eNwsI Breadcrumb-module__lg__Rjz0A" aria-hidden="true">/</span><a class="Breadcrumb-module__directoryLink__kQy_t prc-Link-Link-9ZwDx" data-component="Link" href="/schmouk/pythonic-cpp-strings/tree/dev/cpp-strings" data-discover="true">cpp-strings</a></li></ol></nav><div data-testid="breadcrumbs-filename" class="Breadcrumb-module__filename__equZR"><span class="Breadcrumb-module__separator__eNwsI Breadcrumb-module__lg__Rjz0A" aria-hidden="true">/</span><h1 class="Breadcrumb-module__filenameHeading__MNMtw Breadcrumb-module__lg__Rjz0A prc-Heading-Heading-MtWFE" data-component="Heading" tabindex="-1" id="file-name-id">cppstrings.h</h1></div><button data-component="IconButton" type="button" class="prc-Button-ButtonBase-9n-Xk ml-2 prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-labelledby="_R_7lla9lik5_"><svg data-component="Octicon" 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="CopyToClipboardIconButton-module__tooltip__WyiwL prc-TooltipV2-Tooltip-tLeuB" data-direction="nw" data-component="Tooltip" aria-label="Copy path" aria-hidden="true" id="_R_7lla9lik5_">Copy path</span></div></div></div><div class="react-code-view-header-element--wide"><div class="CodeViewHeader-module__Box_7___0R6c"><div class="d-flex gap-2"><div><div class="CodeViewHeader-module__FileResultsList__JDzUy"><span class="d-flex FileResultsList-module__FilesSearchBox__ivVkc TextInput-wrapper prc-components-TextInputWrapper-Hpdqi prc-components-TextInputBaseWrapper-wY-n0" data-no-trailing-action="true" data-component="TextInput" data-leading-visual="true" data-trailing-visual="true" aria-busy="false"><span class="TextInput-icon" id="_R_5ipla9lik5_" aria-hidden="true" data-component="TextInput.LeadingVisual"><svg data-component="Octicon" 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="_R_5ipla9lik5_ _R_5ipla9lik5H1_" data-component="input" class="prc-components-Input-IwWrt" value=""/><span class="TextInput-icon" id="_R_5ipla9lik5H1_" aria-hidden="true" data-component="TextInput.TrailingVisual"></span></span></div><div class="d-none"></div></div><div class="d-none"></div><button data-component="Button" type="button" style="display:none" class="prc-Button-ButtonBase-9n-Xk NavigationMenu-module__Button__LpKgm" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="text" class="prc-Button-Label-FWkx3">Blame</span></span></button><div class="d-none"></div><button data-component="IconButton" type="button" data-testid="more-file-actions-button-nav-menu-wide" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-9n-Xk js-blob-dropdown-click NavigationMenu-module__IconButton__HpX3G prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-labelledby="_R_v4pla9lik5_" id="_R_14pla9lik5_"><svg data-component="Octicon" 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><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="nw" data-component="Tooltip" aria-hidden="true" id="_R_v4pla9lik5_">More file actions</span></div></div></div><div class="react-code-view-header-element--narrow"><div class="CodeViewHeader-module__Box_7___0R6c"><div class="d-flex gap-2"><div class="d-none"></div><button data-component="Button" type="button" style="display:none" class="prc-Button-ButtonBase-9n-Xk NavigationMenu-module__Button__LpKgm" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="text" class="prc-Button-Label-FWkx3">Blame</span></span></button><div class="d-none"></div><button data-component="IconButton" type="button" data-testid="more-file-actions-button-nav-menu-narrow" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-9n-Xk js-blob-dropdown-click NavigationMenu-module__IconButton__HpX3G prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-labelledby="_R_v4tla9lik5_" id="_R_14tla9lik5_"><svg data-component="Octicon" 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><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="nw" data-component="Tooltip" aria-hidden="true" id="_R_v4tla9lik5_">More file actions</span></div></div></div></div></div></div></div><div class="CodeView-module__contentWrapper__cG2JH"><div class="react-code-view-bottom-padding"><div class="BlobTopBanners-module__Box__v_nvx"></div></div> <div class="d-none"></div><div class="d-flex flex-column border rounded-2 tmp-mb-3 pl-1"><div class="LatestCommit-module__Box__B25ZT"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone__rwWIk prc-Heading-Heading-MtWFE" data-component="Heading" 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__rwWIk prc-Heading-Heading-MtWFE" data-component="Heading" data-testid="screen-reader-heading">History</h2><a data-component="LinkButton" href="/schmouk/pythonic-cpp-strings/commits/dev/cpp-strings/cppstrings.h" class="prc-Button-ButtonBase-9n-Xk d-none d-lg-flex LinkButton-module__linkButton__nFnov flex-items-center fgColor-default" data-loading="false" data-size="small" data-variant="invisible"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="leadingVisual" class="prc-Button-Visual-YNt2F prc-Button-LeadingVisual-UySKu prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" 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-FWkx3"><span class="fgColor-default">History</span></span></span></a><div class="d-sm-none"></div><div class="d-flex d-lg-none"><a data-component="LinkButton" aria-label="View commit history for this file." href="/schmouk/pythonic-cpp-strings/commits/dev/cpp-strings/cppstrings.h" class="prc-Button-ButtonBase-9n-Xk LinkButton-module__linkButton__nFnov flex-items-center fgColor-default" data-loading="false" data-size="small" data-variant="invisible" aria-describedby="_R_4mlala9lik5_"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="leadingVisual" class="prc-Button-Visual-YNt2F prc-Button-LeadingVisual-UySKu prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" 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 class="prc-TooltipV2-Tooltip-tLeuB" data-direction="s" data-component="Tooltip" role="tooltip" aria-hidden="true" id="_R_4mlala9lik5_">History</span></div></div></div></div></div><div class="d-flex flex-row"><div class="container BlobViewContent-module__blobContainer__DtH2d"><div class="react-code-size-details-banner BlobViewContent-module__codeSizeDetails__e5sUw"><div class="react-code-size-details-banner CodeSizeDetails-module__Box__VcD6l"><div class="text-mono CodeSizeDetails-module__Box_1__GVxQL"><div data-testid="blob-size" class="CodeSizeDetails-module__Truncate_1__lE93V prc-Truncate-Truncate-2G1eo" data-inline="true" title="102 KB" style="--truncate-max-width:100%"><span>2493 lines (2120 loc) · 102 KB</span></div></div></div></div><div class="react-blob-view-header-sticky BlobViewContent-module__stickyHeader__VwxB5" id="repos-sticky-header"><div class="BlobViewHeader-module__Box__yhm9u"><div class="react-blob-sticky-header"><div class="FileNameStickyHeader-module__outerWrapper__ZL4Xc FileNameStickyHeader-module__outerWrapperHidden__Zpynk"><div class="FileNameStickyHeader-module__Box_1__Hazu5"><div class="FileNameStickyHeader-module__Box_2__hoolP"><div class="FileNameStickyHeader-module__Box_3__MVKsk"><button data-component="Button" type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-label="dev branch" data-testid="anchor-button" data-icv-name="Switch branches/tags" class="prc-Button-ButtonBase-9n-Xk ref-selector-class RefSelectorAnchoredOverlay-module__RefSelectorOverlayBtn__a3WK3" data-loading="false" data-size="medium" data-variant="default" id="ref-picker-repos-header-ref-selector"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="leadingVisual" class="prc-Button-Visual-YNt2F prc-Button-LeadingVisual-UySKu prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" 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></span><span data-component="text" class="prc-Button-Label-FWkx3"><div class="RefSelectorAnchoredOverlay-module__RefSelectorOverlayContainer__yaf4p"><div style="max-width:125px" class="ref-selector-button-text-container RefSelectorAnchoredOverlay-module__RefSelectorBtnTextContainer__Di3rk"><span class="RefSelectorAnchoredOverlay-module__RefSelectorText__w_fmP">dev</span></div></div></span><span data-component="trailingVisual" class="prc-Button-Visual-YNt2F prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" 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><div class="d-none"></div></div><div class="FileNameStickyHeader-module__Box_4__FLhtt"><div class="Breadcrumb-module__container__Vxvev Breadcrumb-module__md__Wb1Gs"><nav data-testid="breadcrumbs" aria-labelledby="sticky-breadcrumb-heading" id="sticky-breadcrumb" class="Breadcrumb-module__nav__rQFDj"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone__rwWIk prc-Heading-Heading-MtWFE" data-component="Heading" data-testid="screen-reader-heading" id="sticky-breadcrumb-heading">Breadcrumbs</h2><ol class="Breadcrumb-module__list__ZH6zr"><li class="Breadcrumb-module__listItem__Ib0x_"><a class="Breadcrumb-module__repoLink__O2Nbs prc-Link-Link-9ZwDx" data-component="Link" data-testid="breadcrumbs-repo-link" href="/schmouk/pythonic-cpp-strings/tree/dev" data-discover="true">pythonic-cpp-strings</a></li><li class="Breadcrumb-module__listItem__Ib0x_"><span class="Breadcrumb-module__separator__eNwsI Breadcrumb-module__md__Wb1Gs" aria-hidden="true">/</span><a class="Breadcrumb-module__directoryLink__kQy_t prc-Link-Link-9ZwDx" data-component="Link" href="/schmouk/pythonic-cpp-strings/tree/dev/cpp-strings" data-discover="true">cpp-strings</a></li></ol></nav><div data-testid="breadcrumbs-filename" class="Breadcrumb-module__filename__equZR"><span class="Breadcrumb-module__separator__eNwsI Breadcrumb-module__md__Wb1Gs" aria-hidden="true">/</span><h1 class="Breadcrumb-module__filenameHeading__MNMtw Breadcrumb-module__md__Wb1Gs prc-Heading-Heading-MtWFE" data-component="Heading" tabindex="-1" id="sticky-file-name-id">cppstrings.h</h1></div><button data-component="IconButton" type="button" class="prc-Button-ButtonBase-9n-Xk ml-2 prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-labelledby="_R_7lcpala9lik5_"><svg data-component="Octicon" 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="CopyToClipboardIconButton-module__tooltip__WyiwL prc-TooltipV2-Tooltip-tLeuB" data-direction="s" data-component="Tooltip" aria-label="Copy path" aria-hidden="true" id="_R_7lcpala9lik5_">Copy path</span></div></div></div><button data-component="Button" type="button" class="prc-Button-ButtonBase-9n-Xk FileNameStickyHeader-module__Button__LSEU_ FileNameStickyHeader-module__GoToTopButton__nxAFn" data-loading="false" data-size="small" data-variant="invisible"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="leadingVisual" class="prc-Button-Visual-YNt2F prc-Button-LeadingVisual-UySKu prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" 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-FWkx3">Top</span></span></button></div></div></div><div class="BlobViewHeader-module__Box_1__VEmuQ"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone__rwWIk prc-Heading-Heading-MtWFE" data-component="Heading" data-testid="screen-reader-heading">File metadata and controls</h2><div class="BlobViewHeader-module__Box_2__icUs2"><ul aria-label="File view" class="prc-SegmentedControl-SegmentedControl-lqIXp BlobTabButtons-module__SegmentedControl__jen2u" data-variant="default" data-size="small" data-component="SegmentedControl"><li class="prc-SegmentedControl-Item-tSCQh" data-selected="" data-component="SegmentedControl.Button"><button aria-pressed="true" class="prc-SegmentedControl-Button-E48xz" type="button" style="--separator-color:transparent"><span class="prc-SegmentedControl-Content-1COlk segmentedControl-content"><div class="prc-SegmentedControl-Text-7S2y2 segmentedControl-text" data-text="Code">Code</div></span></button></li><li class="prc-SegmentedControl-Item-tSCQh" data-component="SegmentedControl.Button"><button aria-pressed="false" class="prc-SegmentedControl-Button-E48xz" type="button" style="--separator-color:var(--borderColor-default)"><span class="prc-SegmentedControl-Content-1COlk segmentedControl-content"><div class="prc-SegmentedControl-Text-7S2y2 segmentedControl-text" data-text="Blame">Blame</div></span></button></li></ul><div class="d-none"></div><div class="react-code-size-details-in-header CodeSizeDetails-module__Box__VcD6l"><div class="text-mono CodeSizeDetails-module__Box_1__GVxQL"><div data-testid="blob-size" class="CodeSizeDetails-module__Truncate_1__lE93V prc-Truncate-Truncate-2G1eo" data-inline="true" title="102 KB" style="--truncate-max-width:100%"><span>2493 lines (2120 loc) · 102 KB</span></div></div></div></div><div class="BlobViewHeader-module__Box_3__ng6v2"><div class="d-none"></div><div class="react-blob-header-edit-and-raw-actions BlobViewHeader-module__Box_4__J4Y4W"><div class="d-none"></div><div class="prc-ButtonGroup-ButtonGroup-vFUrY" data-component="ButtonGroup"><div class="prc-ButtonGroup-Item-PqvDl"><a data-component="LinkButton" href="https://github.com/schmouk/pythonic-cpp-strings/raw/refs/heads/dev/cpp-strings/cppstrings.h" data-testid="raw-button" class="prc-Button-ButtonBase-9n-Xk LinkButton-module__linkButton__nFnov BlobViewHeader-module__LinkButton__X9kx2" data-loading="false" data-no-visuals="true" data-size="small" data-variant="default"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="text" class="prc-Button-Label-FWkx3">Raw</span></span></a></div><div class="prc-ButtonGroup-Item-PqvDl"><button data-component="IconButton" type="button" data-testid="copy-raw-button" class="prc-Button-ButtonBase-9n-Xk prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="default" aria-labelledby="_R_qaucpala9lik5_"><svg data-component="Octicon" 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="prc-TooltipV2-Tooltip-tLeuB" data-direction="n" data-component="Tooltip" aria-hidden="true" id="_R_qaucpala9lik5_">Copy raw file</span></div><div class="prc-ButtonGroup-Item-PqvDl"><button data-component="IconButton" type="button" data-testid="download-raw-button" class="prc-Button-ButtonBase-9n-Xk BlobViewHeader-module__downloadButton__ef459 prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="default" aria-labelledby="_R_eaucpala9lik5_"><svg data-component="Octicon" 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 class="prc-TooltipV2-Tooltip-tLeuB" data-direction="n" data-component="Tooltip" aria-hidden="true" id="_R_eaucpala9lik5_">Download raw file</span></div></div></div><div class="d-none"></div><button data-component="IconButton" type="button" aria-pressed="false" aria-expanded="false" aria-controls="symbols-pane" data-testid="symbols-button" class="prc-Button-ButtonBase-9n-Xk BlobViewHeader-module__IconButton_2__RyjZg prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-labelledby="_R_jecpala9lik5_" id="symbols-button"><svg data-component="Octicon" 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 class="prc-TooltipV2-Tooltip-tLeuB" data-direction="nw" data-component="Tooltip" aria-hidden="true" id="_R_jecpala9lik5_">Open symbols panel</span><div class="react-blob-header-edit-and-raw-actions-combined"><button data-component="IconButton" type="button" title="More file actions" data-testid="more-file-actions-button" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-9n-Xk js-blob-dropdown-click BlobViewHeader-module__IconButton__XrMQY prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-labelledby="_R_fkecpala9lik5_" id="_R_kecpala9lik5_"><svg data-component="Octicon" 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><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="nw" data-component="Tooltip" aria-hidden="true" id="_R_fkecpala9lik5_">Edit and raw actions</span></div></div></div></div><div></div></div><div class="BlobViewContent-module__blobContentWrapper__JS0W6"><section aria-labelledby="file-name-id-wide file-name-id-mobile" class="BlobContent-module__blobContentSection__VOgZq" style="margin-top:46px"><!--$--><div class="CodeBlob-module__codeBlobWrapper__RS6In" style="padding-top:8px;padding-bottom:8px"><div id="highlighted-line-menu-positioner" class="position-relative"><div id="copilot-button-positioner" class="position-relative"><div class="CodeBlob-module__codeBlobInner__tfjuQ"><div class="react-code-file-contents CodeLinesSSR-module__codeFileContents__ARmAN" role="presentation" aria-hidden="true" data-tab-size="4" data-paste-markdown-skip="true" style="tab-size:4;max-width:unset" data-hpc="true" containertiming="hpc"><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<span class="LineNumber-module__codeAlert__WexRo LineNumber-module__codeAlertRight__hdWmf"><button data-code-folding-chevron="true" type="button" aria-expanded="true" aria-label="Collapse code section" class="LineNumber-module__codeFoldingChevron__sY2Yt"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></span></div><div data-line-number="166" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">166</div><div data-line-number="167" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">167</div><div data-line-number="168" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">168</div><div data-line-number="169" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">169</div><div data-line-number="170" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">170</div><div data-line-number="171" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">171</div><div data-line-number="172" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">172</div><div data-line-number="173" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">173</div><div data-line-number="174" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">174</div><div data-line-number="175" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">175</div><div data-line-number="176" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">176</div><div data-line-number="177" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">177</div><div data-line-number="178" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">178</div><div data-line-number="179" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">179</div><div data-line-number="180" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">180</div><div data-line-number="181" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">181</div><div data-line-number="182" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">182</div><div data-line-number="183" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">183</div><div data-line-number="184" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">184</div><div data-line-number="185" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">185</div><div data-line-number="186" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">186</div><div data-line-number="187" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">187</div><div data-line-number="188" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">188<span class="LineNumber-module__codeAlert__WexRo LineNumber-module__codeAlertRight__hdWmf"><button data-code-folding-chevron="true" type="button" aria-expanded="true" aria-label="Collapse code section" class="LineNumber-module__codeFoldingChevron__sY2Yt"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></span></div><div data-line-number="189" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">189</div><div data-line-number="190" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">190</div><div data-line-number="191" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">191</div><div data-line-number="192" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">192</div><div data-line-number="193" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">193</div><div data-line-number="194" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">194</div><div data-line-number="195" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">195</div><div data-line-number="196" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">196</div><div data-line-number="197" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">197</div><div data-line-number="198" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">198</div><div data-line-number="199" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">199</div><div data-line-number="200" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">200</div><div data-line-number="201" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">201</div><div data-line-number="202" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">202</div><div data-line-number="203" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">203</div><div data-line-number="204" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">204</div><div data-line-number="205" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">205</div><div data-line-number="206" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">206</div><div data-line-number="207" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">207<span class="LineNumber-module__codeAlert__WexRo LineNumber-module__codeAlertRight__hdWmf"><button data-code-folding-chevron="true" type="button" aria-expanded="true" aria-label="Collapse code section" class="LineNumber-module__codeFoldingChevron__sY2Yt"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></span></div><div data-line-number="208" class="child-of-line-164 child-of-line-187 child-of-line-206  react-line-number react-code-text" style="padding-right:16px">208</div><div data-line-number="209" class="child-of-line-164 child-of-line-187 child-of-line-206  react-line-number react-code-text" style="padding-right:16px">209</div><div data-line-number="210" class="child-of-line-164 child-of-line-187 child-of-line-206  react-line-number react-code-text" style="padding-right:16px">210</div><div data-line-number="211" class="child-of-line-164 child-of-line-187 child-of-line-206  react-line-number react-code-text" style="padding-right:16px">211</div><div data-line-number="212" class="child-of-line-164 child-of-line-187 child-of-line-206  react-line-number react-code-text" style="padding-right:16px">212</div><div data-line-number="213" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">213</div><div data-line-number="214" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">214</div><div data-line-number="215" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">215</div><div data-line-number="216" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">216</div><div data-line-number="217" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">217</div><div data-line-number="218" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">218</div><div data-line-number="219" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">219</div><div data-line-number="220" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">220</div><div data-line-number="221" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">221</div><div data-line-number="222" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">222</div><div data-line-number="223" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">223<span class="LineNumber-module__codeAlert__WexRo LineNumber-module__codeAlertRight__hdWmf"><button data-code-folding-chevron="true" type="button" aria-expanded="true" aria-label="Collapse code section" class="LineNumber-module__codeFoldingChevron__sY2Yt"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></span></div><div data-line-number="224" class="child-of-line-164 child-of-line-187 child-of-line-222  react-line-number react-code-text" style="padding-right:16px">224</div><div data-line-number="225" class="child-of-line-164 child-of-line-187 child-of-line-222  react-line-number react-code-text" style="padding-right:16px">225</div><div data-line-number="226" class="child-of-line-164 child-of-line-187 child-of-line-222  react-line-number react-code-text" style="padding-right:16px">226</div><div data-line-number="227" class="child-of-line-164 child-of-line-187 child-of-line-222  react-line-number react-code-text" style="padding-right:16px">227</div><div data-line-number="228" class="child-of-line-164 child-of-line-187 child-of-line-222  react-line-number react-code-text" style="padding-right:16px">228</div><div data-line-number="229" class="child-of-line-164 child-of-line-187 child-of-line-222  react-line-number react-code-text" style="padding-right:16px">229</div><div data-line-number="230" class="child-of-line-164 child-of-line-187 child-of-line-222  react-line-number react-code-text" style="padding-right:16px">230</div><div data-line-number="231" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">231</div><div data-line-number="232" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">232</div><div data-line-number="233" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">233</div><div data-line-number="234" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">234</div><div data-line-number="235" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">235</div><div data-line-number="236" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">236</div><div data-line-number="237" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">237</div><div data-line-number="238" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">238</div><div data-line-number="239" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">239<span class="LineNumber-module__codeAlert__WexRo LineNumber-module__codeAlertRight__hdWmf"><button data-code-folding-chevron="true" type="button" aria-expanded="true" aria-label="Collapse code section" class="LineNumber-module__codeFoldingChevron__sY2Yt"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></span></div><div data-line-number="240" class="child-of-line-164 child-of-line-187 child-of-line-238  react-line-number react-code-text" style="padding-right:16px">240</div><div data-line-number="241" class="child-of-line-164 child-of-line-187 child-of-line-238  react-line-number react-code-text" style="padding-right:16px">241</div><div data-line-number="242" class="child-of-line-164 child-of-line-187 child-of-line-238  react-line-number react-code-text" style="padding-right:16px">242</div><div data-line-number="243" class="child-of-line-164 child-of-line-187 child-of-line-238  react-line-number react-code-text" style="padding-right:16px">243</div><div data-line-number="244" class="child-of-line-164 child-of-line-187 child-of-line-238  react-line-number react-code-text" style="padding-right:16px">244</div><div data-line-number="245" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">245</div><div data-line-number="246" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">246</div><div data-line-number="247" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">247</div><div data-line-number="248" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">248</div><div data-line-number="249" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">249</div><div data-line-number="250" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">250</div><div data-line-number="251" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">251</div><div data-line-number="252" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">252</div><div data-line-number="253" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">253</div><div data-line-number="254" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">254</div><div data-line-number="255" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">255<span class="LineNumber-module__codeAlert__WexRo LineNumber-module__codeAlertRight__hdWmf"><button data-code-folding-chevron="true" type="button" aria-expanded="true" aria-label="Collapse code section" class="LineNumber-module__codeFoldingChevron__sY2Yt"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></span></div><div data-line-number="256" class="child-of-line-164 child-of-line-187 child-of-line-254  react-line-number react-code-text" style="padding-right:16px">256</div><div data-line-number="257" class="child-of-line-164 child-of-line-187 child-of-line-254  react-line-number react-code-text" style="padding-right:16px">257</div><div data-line-number="258" class="child-of-line-164 child-of-line-187 child-of-line-254  react-line-number react-code-text" style="padding-right:16px">258</div><div data-line-number="259" class="child-of-line-164 child-of-line-187 child-of-line-254  react-line-number react-code-text" style="padding-right:16px">259</div><div data-line-number="260" class="child-of-line-164 child-of-line-187 child-of-line-254  react-line-number react-code-text" style="padding-right:16px">260</div><div data-line-number="261" class="child-of-line-164 child-of-line-187 child-of-line-254  react-line-number react-code-text" style="padding-right:16px">261</div><div data-line-number="262" class="child-of-line-164 child-of-line-187 child-of-line-254  react-line-number react-code-text" style="padding-right:16px">262</div><div data-line-number="263" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">263</div><div data-line-number="264" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">264</div><div data-line-number="265" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">265</div><div data-line-number="266" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">266</div><div data-line-number="267" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">267</div><div data-line-number="268" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">268</div><div data-line-number="269" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">269</div><div data-line-number="270" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">270</div><div data-line-number="271" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">271<span class="LineNumber-module__codeAlert__WexRo LineNumber-module__codeAlertRight__hdWmf"><button data-code-folding-chevron="true" type="button" aria-expanded="true" aria-label="Collapse code section" class="LineNumber-module__codeFoldingChevron__sY2Yt"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></span></div><div data-line-number="272" class="child-of-line-164 child-of-line-187 child-of-line-270  react-line-number react-code-text" style="padding-right:16px">272</div><div data-line-number="273" class="child-of-line-164 child-of-line-187 child-of-line-270  react-line-number react-code-text" style="padding-right:16px">273</div><div data-line-number="274" class="child-of-line-164 child-of-line-187 child-of-line-270  react-line-number react-code-text" style="padding-right:16px">274</div><div data-line-number="275" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">275</div><div data-line-number="276" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">276</div><div data-line-number="277" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">277</div><div data-line-number="278" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">278</div><div data-line-number="279" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">279</div><div data-line-number="280" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">280</div><div data-line-number="281" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">281</div><div data-line-number="282" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">282</div><div data-line-number="283" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">283</div><div data-line-number="284" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">284</div><div data-line-number="285" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">285<span class="LineNumber-module__codeAlert__WexRo LineNumber-module__codeAlertRight__hdWmf"><button data-code-folding-chevron="true" type="button" aria-expanded="true" aria-label="Collapse code section" class="LineNumber-module__codeFoldingChevron__sY2Yt"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></span></div><div data-line-number="286" class="child-of-line-164 child-of-line-187 child-of-line-284  react-line-number react-code-text" style="padding-right:16px">286</div><div data-line-number="287" class="child-of-line-164 child-of-line-187 child-of-line-284  react-line-number react-code-text" style="padding-right:16px">287</div><div data-line-number="288" class="child-of-line-164 child-of-line-187 child-of-line-284  react-line-number react-code-text" style="padding-right:16px">288</div><div data-line-number="289" class="child-of-line-164 child-of-line-187 child-of-line-284  react-line-number react-code-text" style="padding-right:16px">289</div><div data-line-number="290" class="child-of-line-164 child-of-line-187 child-of-line-284  react-line-number react-code-text" style="padding-right:16px">290</div><div data-line-number="291" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">291</div><div data-line-number="292" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">292</div><div data-line-number="293" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">293</div><div data-line-number="294" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">294</div><div data-line-number="295" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">295</div><div data-line-number="296" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">296</div><div data-line-number="297" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">297</div><div data-line-number="298" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">298</div><div data-line-number="299" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">299</div><div data-line-number="300" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">300<span class="LineNumber-module__codeAlert__WexRo LineNumber-module__codeAlertRight__hdWmf"><button data-code-folding-chevron="true" type="button" aria-expanded="true" aria-label="Collapse code section" class="LineNumber-module__codeFoldingChevron__sY2Yt"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></span></div><div data-line-number="301" class="child-of-line-164 child-of-line-187 child-of-line-299  react-line-number react-code-text" style="padding-right:16px">301</div><div data-line-number="302" class="child-of-line-164 child-of-line-187 child-of-line-299  react-line-number react-code-text" style="padding-right:16px">302</div><div data-line-number="303" class="child-of-line-164 child-of-line-187 child-of-line-299  react-line-number react-code-text" style="padding-right:16px">303</div><div data-line-number="304" class="child-of-line-164 child-of-line-187 child-of-line-299  react-line-number react-code-text" style="padding-right:16px">304</div><div data-line-number="305" class="child-of-line-164 child-of-line-187 child-of-line-299  react-line-number react-code-text" style="padding-right:16px">305</div><div data-line-number="306" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">306</div><div data-line-number="307" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">307</div><div data-line-number="308" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">308</div><div data-line-number="309" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">309</div><div data-line-number="310" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">310</div><div data-line-number="311" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">311</div><div data-line-number="312" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">312</div><div data-line-number="313" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">313</div><div data-line-number="314" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">314</div><div data-line-number="315" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">315</div><div data-line-number="316" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">316</div><div data-line-number="317" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">317<span class="LineNumber-module__codeAlert__WexRo LineNumber-module__codeAlertRight__hdWmf"><button data-code-folding-chevron="true" type="button" aria-expanded="true" aria-label="Collapse code section" class="LineNumber-module__codeFoldingChevron__sY2Yt"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></span></div><div data-line-number="318" class="child-of-line-164 child-of-line-187 child-of-line-316  react-line-number react-code-text" style="padding-right:16px">318</div><div data-line-number="319" class="child-of-line-164 child-of-line-187 child-of-line-316  react-line-number react-code-text" style="padding-right:16px">319</div><div data-line-number="320" class="child-of-line-164 child-of-line-187 child-of-line-316  react-line-number react-code-text" style="padding-right:16px">320</div><div data-line-number="321" class="child-of-line-164 child-of-line-187 child-of-line-316  react-line-number react-code-text" style="padding-right:16px">321</div><div data-line-number="322" class="child-of-line-164 child-of-line-187 child-of-line-316  react-line-number react-code-text" style="padding-right:16px">322</div><div data-line-number="323" class="child-of-line-164 child-of-line-187 child-of-line-316  react-line-number react-code-text" style="padding-right:16px">323</div><div data-line-number="324" class="child-of-line-164 child-of-line-187 child-of-line-316  react-line-number react-code-text" style="padding-right:16px">324</div><div data-line-number="325" class="child-of-line-164 child-of-line-187 child-of-line-316  react-line-number react-code-text" style="padding-right:16px">325</div><div data-line-number="326" class="child-of-line-164 child-of-line-187 child-of-line-316  react-line-number react-code-text" style="padding-right:16px">326</div><div data-line-number="327" class="child-of-line-164 child-of-line-187 child-of-line-316  react-line-number react-code-text" style="padding-right:16px">327</div><div data-line-number="328" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">328</div><div data-line-number="329" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">329</div><div data-line-number="330" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">330</div><div data-line-number="331" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">331</div><div data-line-number="332" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">332</div><div data-line-number="333" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">333</div><div data-line-number="334" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">334</div><div data-line-number="335" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">335</div><div data-line-number="336" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">336</div><div data-line-number="337" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">337</div><div data-line-number="338" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">338<span class="LineNumber-module__codeAlert__WexRo LineNumber-module__codeAlertRight__hdWmf"><button data-code-folding-chevron="true" type="button" aria-expanded="true" aria-label="Collapse code section" class="LineNumber-module__codeFoldingChevron__sY2Yt"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></span></div><div data-line-number="339" class="child-of-line-164 child-of-line-187 child-of-line-337  react-line-number react-code-text" style="padding-right:16px">339</div><div data-line-number="340" class="child-of-line-164 child-of-line-187 child-of-line-337  react-line-number react-code-text" style="padding-right:16px">340</div><div data-line-number="341" class="child-of-line-164 child-of-line-187 child-of-line-337  react-line-number react-code-text" style="padding-right:16px">341</div><div data-line-number="342" class="child-of-line-164 child-of-line-187 child-of-line-337  react-line-number react-code-text" style="padding-right:16px">342</div><div data-line-number="343" class="child-of-line-164 child-of-line-187 child-of-line-337  react-line-number react-code-text" style="padding-right:16px">343</div><div data-line-number="344" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">344</div><div data-line-number="345" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">345</div><div data-line-number="346" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">346</div><div data-line-number="347" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">347</div><div data-line-number="348" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">348</div><div data-line-number="349" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">349</div><div data-line-number="350" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">350</div><div data-line-number="351" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">351</div><div data-line-number="352" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">352</div><div data-line-number="353" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">353</div><div data-line-number="354" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">354</div><div data-line-number="355" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">355</div><div data-line-number="356" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">356</div><div data-line-number="357" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">357</div><div data-line-number="358" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">358</div><div data-line-number="359" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">359</div><div data-line-number="360" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">360</div><div data-line-number="361" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">361</div><div data-line-number="362" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">362</div><div data-line-number="363" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">363</div><div data-line-number="364" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">364</div><div data-line-number="365" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">365</div><div data-line-number="366" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">366</div><div data-line-number="367" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">367</div><div data-line-number="368" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">368</div><div data-line-number="369" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">369</div><div data-line-number="370" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">370</div><div data-line-number="371" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">371</div><div data-line-number="372" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">372</div><div data-line-number="373" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">373</div><div data-line-number="374" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">374</div><div data-line-number="375" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">375</div><div data-line-number="376" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">376</div><div data-line-number="377" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">377</div><div data-line-number="378" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">378</div><div data-line-number="379" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">379</div><div data-line-number="380" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">380</div><div data-line-number="381" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">381</div><div data-line-number="382" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">382</div><div data-line-number="383" class="child-of-line-164 child-of-line-187  react-line-number react-code-text" style="padding-right:16px">383</div><div data-line-number="384" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">384</div><div data-line-number="385" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">385</div><div data-line-number="386" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">386</div><div data-line-number="387" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">387</div><div data-line-number="388" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">388</div><div data-line-number="389" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">389</div><div data-line-number="390" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">390</div><div data-line-number="391" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">391</div><div data-line-number="392" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">392</div><div data-line-number="393" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">393</div><div data-line-number="394" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">394</div><div data-line-number="395" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">395</div><div data-line-number="396" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">396</div><div data-line-number="397" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">397</div><div data-line-number="398" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">398</div><div data-line-number="399" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">399</div><div data-line-number="400" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">400</div><div data-line-number="401" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">401</div><div data-line-number="402" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">402</div><div data-line-number="403" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">403</div><div data-line-number="404" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">404</div><div data-line-number="405" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">405</div><div data-line-number="406" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">406</div><div data-line-number="407" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">407</div><div data-line-number="408" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">408</div><div data-line-number="409" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">409</div><div data-line-number="410" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">410</div><div data-line-number="411" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">411</div><div data-line-number="412" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">412</div><div data-line-number="413" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">413</div><div data-line-number="414" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">414</div><div data-line-number="415" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">415</div><div data-line-number="416" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">416</div><div data-line-number="417" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">417</div><div data-line-number="418" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">418</div><div data-line-number="419" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">419</div><div data-line-number="420" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">420</div><div data-line-number="421" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">421</div><div data-line-number="422" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">422</div><div data-line-number="423" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">423</div><div data-line-number="424" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">424</div><div data-line-number="425" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">425</div><div data-line-number="426" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">426</div><div data-line-number="427" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">427</div><div data-line-number="428" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">428</div><div data-line-number="429" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">429<span class="LineNumber-module__codeAlert__WexRo LineNumber-module__codeAlertRight__hdWmf"><button data-code-folding-chevron="true" type="button" aria-expanded="true" aria-label="Collapse code section" class="LineNumber-module__codeFoldingChevron__sY2Yt"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></span></div><div data-line-number="430" class="child-of-line-164 child-of-line-428  react-line-number react-code-text" style="padding-right:16px">430</div><div data-line-number="431" class="child-of-line-164 child-of-line-428  react-line-number react-code-text" style="padding-right:16px">431</div><div data-line-number="432" class="child-of-line-164 child-of-line-428  react-line-number react-code-text" style="padding-right:16px">432</div><div data-line-number="433" class="child-of-line-164 child-of-line-428  react-line-number react-code-text" style="padding-right:16px">433</div><div data-line-number="434" class="child-of-line-164 child-of-line-428  react-line-number react-code-text" style="padding-right:16px">434</div><div data-line-number="435" class="child-of-line-164 child-of-line-428  react-line-number react-code-text" style="padding-right:16px">435</div><div data-line-number="436" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">436</div><div data-line-number="437" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">437</div><div data-line-number="438" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">438</div><div data-line-number="439" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">439</div><div data-line-number="440" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">440</div><div data-line-number="441" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">441</div><div data-line-number="442" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">442</div><div data-line-number="443" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">443<span class="LineNumber-module__codeAlert__WexRo LineNumber-module__codeAlertRight__hdWmf"><button data-code-folding-chevron="true" type="button" aria-expanded="true" aria-label="Collapse code section" class="LineNumber-module__codeFoldingChevron__sY2Yt"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></span></div><div data-line-number="444" class="child-of-line-164 child-of-line-442  react-line-number react-code-text" style="padding-right:16px">444</div><div data-line-number="445" class="child-of-line-164 child-of-line-442  react-line-number react-code-text" style="padding-right:16px">445</div><div data-line-number="446" class="child-of-line-164 child-of-line-442  react-line-number react-code-text" style="padding-right:16px">446</div><div data-line-number="447" class="child-of-line-164 child-of-line-442  react-line-number react-code-text" style="padding-right:16px">447</div><div data-line-number="448" class="child-of-line-164 child-of-line-442  react-line-number react-code-text" style="padding-right:16px">448</div><div data-line-number="449" class="child-of-line-164 child-of-line-442  react-line-number react-code-text" style="padding-right:16px">449</div><div data-line-number="450" class="child-of-line-164 child-of-line-442  react-line-number react-code-text" style="padding-right:16px">450</div><div data-line-number="451" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">451</div><div data-line-number="452" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">452</div><div data-line-number="453" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">453</div><div data-line-number="454" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">454</div><div data-line-number="455" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">455</div><div data-line-number="456" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">456</div><div data-line-number="457" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">457</div><div data-line-number="458" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">458</div><div data-line-number="459" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">459</div><div data-line-number="460" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">460</div><div data-line-number="461" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">461</div><div data-line-number="462" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">462<span class="LineNumber-module__codeAlert__WexRo LineNumber-module__codeAlertRight__hdWmf"><button data-code-folding-chevron="true" type="button" aria-expanded="true" aria-label="Collapse code section" class="LineNumber-module__codeFoldingChevron__sY2Yt"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></span></div><div data-line-number="463" class="child-of-line-164 child-of-line-461  react-line-number react-code-text" style="padding-right:16px">463</div><div data-line-number="464" class="child-of-line-164 child-of-line-461  react-line-number react-code-text" style="padding-right:16px">464</div><div data-line-number="465" class="child-of-line-164 child-of-line-461  react-line-number react-code-text" style="padding-right:16px">465</div><div data-line-number="466" class="child-of-line-164 child-of-line-461  react-line-number react-code-text" style="padding-right:16px">466</div><div data-line-number="467" class="child-of-line-164 child-of-line-461  react-line-number react-code-text" style="padding-right:16px">467</div><div data-line-number="468" class="child-of-line-164 child-of-line-461  react-line-number react-code-text" style="padding-right:16px">468</div><div data-line-number="469" class="child-of-line-164 child-of-line-461  react-line-number react-code-text" style="padding-right:16px">469</div><div data-line-number="470" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">470</div><div data-line-number="471" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">471</div><div data-line-number="472" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">472</div><div data-line-number="473" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">473</div><div data-line-number="474" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">474</div><div data-line-number="475" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">475</div><div data-line-number="476" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">476</div><div data-line-number="477" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">477</div><div data-line-number="478" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">478</div><div data-line-number="479" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">479<span class="LineNumber-module__codeAlert__WexRo LineNumber-module__codeAlertRight__hdWmf"><button data-code-folding-chevron="true" type="button" aria-expanded="true" aria-label="Collapse code section" class="LineNumber-module__codeFoldingChevron__sY2Yt"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></span></div><div data-line-number="480" class="child-of-line-164 child-of-line-478  react-line-number react-code-text" style="padding-right:16px">480</div><div data-line-number="481" class="child-of-line-164 child-of-line-478  react-line-number react-code-text" style="padding-right:16px">481</div><div data-line-number="482" class="child-of-line-164 child-of-line-478  react-line-number react-code-text" style="padding-right:16px">482</div><div data-line-number="483" class="child-of-line-164 child-of-line-478  react-line-number react-code-text" style="padding-right:16px">483</div><div data-line-number="484" class="child-of-line-164 child-of-line-478  react-line-number react-code-text" style="padding-right:16px">484</div><div data-line-number="485" class="child-of-line-164 child-of-line-478  react-line-number react-code-text" style="padding-right:16px">485</div><div data-line-number="486" class="child-of-line-164 child-of-line-478  react-line-number react-code-text" style="padding-right:16px">486</div><div data-line-number="487" class="child-of-line-164 child-of-line-478  react-line-number react-code-text" style="padding-right:16px">487</div><div data-line-number="488" class="child-of-line-164 child-of-line-478  react-line-number react-code-text" style="padding-right:16px">488</div><div data-line-number="489" class="child-of-line-164 child-of-line-478  react-line-number react-code-text" style="padding-right:16px">489</div><div data-line-number="490" class="child-of-line-164 child-of-line-478  react-line-number react-code-text" style="padding-right:16px">490</div><div data-line-number="491" class="child-of-line-164 child-of-line-478  react-line-number react-code-text" style="padding-right:16px">491</div><div data-line-number="492" class="child-of-line-164 child-of-line-478  react-line-number react-code-text" style="padding-right:16px">492</div><div data-line-number="493" class="child-of-line-164 child-of-line-478  react-line-number react-code-text" style="padding-right:16px">493</div><div data-line-number="494" class="child-of-line-164 child-of-line-478  react-line-number react-code-text" style="padding-right:16px">494</div><div data-line-number="495" class="child-of-line-164 child-of-line-478  react-line-number react-code-text" style="padding-right:16px">495</div><div data-line-number="496" class="child-of-line-164 child-of-line-478  react-line-number react-code-text" style="padding-right:16px">496</div><div data-line-number="497" class="child-of-line-164 child-of-line-478  react-line-number react-code-text" style="padding-right:16px">497</div><div data-line-number="498" class="child-of-line-164 child-of-line-478  react-line-number react-code-text" style="padding-right:16px">498</div><div data-line-number="499" class="child-of-line-164 child-of-line-478  react-line-number react-code-text" style="padding-right:16px">499</div><div data-line-number="500" class="child-of-line-164 child-of-line-478  react-line-number react-code-text" style="padding-right:16px">500</div><div data-line-number="501" class="child-of-line-164 child-of-line-478  react-line-number react-code-text" style="padding-right:16px">501</div><div data-line-number="502" class="child-of-line-164 child-of-line-478  react-line-number react-code-text" style="padding-right:16px">502</div><div data-line-number="503" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">503</div><div data-line-number="504" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">504</div><div data-line-number="505" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">505</div><div data-line-number="506" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">506</div><div data-line-number="507" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">507</div><div data-line-number="508" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">508</div><div data-line-number="509" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">509</div><div data-line-number="510" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">510</div><div data-line-number="511" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">511</div><div data-line-number="512" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">512<span class="LineNumber-module__codeAlert__WexRo LineNumber-module__codeAlertRight__hdWmf"><button data-code-folding-chevron="true" type="button" aria-expanded="true" aria-label="Collapse code section" class="LineNumber-module__codeFoldingChevron__sY2Yt"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></span></div><div data-line-number="513" class="child-of-line-164 child-of-line-511  react-line-number react-code-text" style="padding-right:16px">513</div><div data-line-number="514" class="child-of-line-164 child-of-line-511  react-line-number react-code-text" style="padding-right:16px">514</div><div data-line-number="515" class="child-of-line-164 child-of-line-511  react-line-number react-code-text" style="padding-right:16px">515</div><div data-line-number="516" class="child-of-line-164 child-of-line-511  react-line-number react-code-text" style="padding-right:16px">516</div><div data-line-number="517" class="child-of-line-164 child-of-line-511  react-line-number react-code-text" style="padding-right:16px">517</div><div data-line-number="518" class="child-of-line-164 child-of-line-511  react-line-number react-code-text" style="padding-right:16px">518</div><div data-line-number="519" class="child-of-line-164 child-of-line-511  react-line-number react-code-text" style="padding-right:16px">519</div><div data-line-number="520" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">520</div><div data-line-number="521" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">521</div><div data-line-number="522" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">522</div><div data-line-number="523" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">523</div><div data-line-number="524" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">524</div><div data-line-number="525" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">525</div><div data-line-number="526" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">526<span class="LineNumber-module__codeAlert__WexRo LineNumber-module__codeAlertRight__hdWmf"><button data-code-folding-chevron="true" type="button" aria-expanded="true" aria-label="Collapse code section" class="LineNumber-module__codeFoldingChevron__sY2Yt"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></span></div><div data-line-number="527" class="child-of-line-164 child-of-line-525  react-line-number react-code-text" style="padding-right:16px">527</div><div data-line-number="528" class="child-of-line-164 child-of-line-525  react-line-number react-code-text" style="padding-right:16px">528</div><div data-line-number="529" class="child-of-line-164 child-of-line-525  react-line-number react-code-text" style="padding-right:16px">529</div><div data-line-number="530" class="child-of-line-164 child-of-line-525  react-line-number react-code-text" style="padding-right:16px">530</div><div data-line-number="531" class="child-of-line-164 child-of-line-525  react-line-number react-code-text" style="padding-right:16px">531</div><div data-line-number="532" class="child-of-line-164 child-of-line-525  react-line-number react-code-text" style="padding-right:16px">532</div><div data-line-number="533" class="child-of-line-164 child-of-line-525  react-line-number react-code-text" style="padding-right:16px">533</div><div data-line-number="534" class="child-of-line-164 child-of-line-525  react-line-number react-code-text" style="padding-right:16px">534</div><div data-line-number="535" class="child-of-line-164 child-of-line-525  react-line-number react-code-text" style="padding-right:16px">535</div><div data-line-number="536" class="child-of-line-164 child-of-line-525  react-line-number react-code-text" style="padding-right:16px">536</div><div data-line-number="537" class="child-of-line-164 child-of-line-525  react-line-number react-code-text" style="padding-right:16px">537</div><div data-line-number="538" class="child-of-line-164 child-of-line-525  react-line-number react-code-text" style="padding-right:16px">538</div><div data-line-number="539" class="child-of-line-164 child-of-line-525  react-line-number react-code-text" style="padding-right:16px">539</div><div data-line-number="540" class="child-of-line-164 child-of-line-525  react-line-number react-code-text" style="padding-right:16px">540</div><div data-line-number="541" class="child-of-line-164 child-of-line-525  react-line-number react-code-text" style="padding-right:16px">541</div><div data-line-number="542" class="child-of-line-164 child-of-line-525  react-line-number react-code-text" style="padding-right:16px">542</div><div data-line-number="543" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">543</div><div data-line-number="544" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">544</div><div data-line-number="545" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">545</div><div data-line-number="546" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">546</div><div data-line-number="547" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">547</div><div data-line-number="548" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">548</div><div data-line-number="549" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">549</div><div data-line-number="550" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">550</div><div data-line-number="551" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">551</div><div data-line-number="552" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">552</div><div data-line-number="553" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">553</div><div data-line-number="554" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">554</div><div data-line-number="555" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">555</div><div data-line-number="556" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">556</div><div data-line-number="557" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">557</div><div data-line-number="558" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">558</div><div data-line-number="559" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">559</div><div data-line-number="560" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">560</div><div data-line-number="561" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">561</div><div data-line-number="562" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">562</div><div data-line-number="563" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">563</div><div data-line-number="564" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">564</div><div data-line-number="565" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">565</div><div data-line-number="566" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">566</div><div data-line-number="567" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">567</div><div data-line-number="568" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">568</div><div data-line-number="569" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">569</div><div data-line-number="570" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">570</div><div data-line-number="571" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">571</div><div data-line-number="572" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">572</div><div data-line-number="573" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">573</div><div data-line-number="574" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">574</div><div data-line-number="575" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">575</div><div data-line-number="576" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">576</div><div data-line-number="577" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">577</div><div data-line-number="578" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">578</div><div data-line-number="579" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">579</div><div data-line-number="580" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">580</div><div data-line-number="581" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">581</div><div data-line-number="582" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">582</div><div data-line-number="583" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">583</div><div data-line-number="584" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">584</div><div data-line-number="585" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">585</div><div data-line-number="586" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">586<span class="LineNumber-module__codeAlert__WexRo LineNumber-module__codeAlertRight__hdWmf"><button data-code-folding-chevron="true" type="button" aria-expanded="true" aria-label="Collapse code section" class="LineNumber-module__codeFoldingChevron__sY2Yt"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></span></div><div data-line-number="587" class="child-of-line-164 child-of-line-585  react-line-number react-code-text" style="padding-right:16px">587</div><div data-line-number="588" class="child-of-line-164 child-of-line-585  react-line-number react-code-text" style="padding-right:16px">588</div><div data-line-number="589" class="child-of-line-164 child-of-line-585  react-line-number react-code-text" style="padding-right:16px">589</div><div data-line-number="590" class="child-of-line-164 child-of-line-585  react-line-number react-code-text" style="padding-right:16px">590</div><div data-line-number="591" class="child-of-line-164 child-of-line-585  react-line-number react-code-text" style="padding-right:16px">591</div><div data-line-number="592" class="child-of-line-164 child-of-line-585  react-line-number react-code-text" style="padding-right:16px">592</div><div data-line-number="593" class="child-of-line-164 child-of-line-585  react-line-number react-code-text" style="padding-right:16px">593</div><div data-line-number="594" class="child-of-line-164 child-of-line-585  react-line-number react-code-text" style="padding-right:16px">594</div><div data-line-number="595" class="child-of-line-164 child-of-line-585  react-line-number react-code-text" style="padding-right:16px">595</div><div data-line-number="596" class="child-of-line-164 child-of-line-585  react-line-number react-code-text" style="padding-right:16px">596</div><div data-line-number="597" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">597</div><div data-line-number="598" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">598</div><div data-line-number="599" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">599</div><div data-line-number="600" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">600</div><div data-line-number="601" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">601</div><div data-line-number="602" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">602</div><div data-line-number="603" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">603</div><div data-line-number="604" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">604</div><div data-line-number="605" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">605</div><div data-line-number="606" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">606</div><div data-line-number="607" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">607</div><div data-line-number="608" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">608</div><div data-line-number="609" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">609</div><div data-line-number="610" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">610</div><div data-line-number="611" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">611</div><div data-line-number="612" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">612</div><div data-line-number="613" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">613</div><div data-line-number="614" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">614</div><div data-line-number="615" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">615</div><div data-line-number="616" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">616</div><div data-line-number="617" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">617</div><div data-line-number="618" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">618</div><div data-line-number="619" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">619</div><div data-line-number="620" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">620</div><div data-line-number="621" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">621</div><div data-line-number="622" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">622</div><div data-line-number="623" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">623</div><div data-line-number="624" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">624</div><div data-line-number="625" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">625</div><div data-line-number="626" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">626<span class="LineNumber-module__codeAlert__WexRo LineNumber-module__codeAlertRight__hdWmf"><button data-code-folding-chevron="true" type="button" aria-expanded="true" aria-label="Collapse code section" class="LineNumber-module__codeFoldingChevron__sY2Yt"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></span></div><div data-line-number="627" class="child-of-line-164 child-of-line-625  react-line-number react-code-text" style="padding-right:16px">627</div><div data-line-number="628" class="child-of-line-164 child-of-line-625  react-line-number react-code-text" style="padding-right:16px">628</div><div data-line-number="629" class="child-of-line-164 child-of-line-625  react-line-number react-code-text" style="padding-right:16px">629</div><div data-line-number="630" class="child-of-line-164 child-of-line-625  react-line-number react-code-text" style="padding-right:16px">630</div><div data-line-number="631" class="child-of-line-164 child-of-line-625  react-line-number react-code-text" style="padding-right:16px">631</div><div data-line-number="632" class="child-of-line-164 child-of-line-625  react-line-number react-code-text" style="padding-right:16px">632</div><div data-line-number="633" class="child-of-line-164 child-of-line-625  react-line-number react-code-text" style="padding-right:16px">633</div><div data-line-number="634" class="child-of-line-164 child-of-line-625  react-line-number react-code-text" style="padding-right:16px">634</div><div data-line-number="635" class="child-of-line-164 child-of-line-625  react-line-number react-code-text" style="padding-right:16px">635</div><div data-line-number="636" class="child-of-line-164 child-of-line-625  react-line-number react-code-text" style="padding-right:16px">636</div><div data-line-number="637" class="child-of-line-164 child-of-line-625  react-line-number react-code-text" style="padding-right:16px">637</div><div data-line-number="638" class="child-of-line-164 child-of-line-625  react-line-number react-code-text" style="padding-right:16px">638</div><div data-line-number="639" class="child-of-line-164 child-of-line-625  react-line-number react-code-text" style="padding-right:16px">639</div><div data-line-number="640" class="child-of-line-164 child-of-line-625  react-line-number react-code-text" style="padding-right:16px">640</div><div data-line-number="641" class="child-of-line-164 child-of-line-625  react-line-number react-code-text" style="padding-right:16px">641</div><div data-line-number="642" class="child-of-line-164 child-of-line-625  react-line-number react-code-text" style="padding-right:16px">642</div><div data-line-number="643" class="child-of-line-164 child-of-line-625  react-line-number react-code-text" style="padding-right:16px">643</div><div data-line-number="644" class="child-of-line-164 child-of-line-625  react-line-number react-code-text" style="padding-right:16px">644</div><div data-line-number="645" class="child-of-line-164 child-of-line-625  react-line-number react-code-text" style="padding-right:16px">645</div><div data-line-number="646" class="child-of-line-164 child-of-line-625  react-line-number react-code-text" style="padding-right:16px">646</div><div data-line-number="647" class="child-of-line-164 child-of-line-625  react-line-number react-code-text" style="padding-right:16px">647</div><div data-line-number="648" class="child-of-line-164 child-of-line-625  react-line-number react-code-text" style="padding-right:16px">648</div><div data-line-number="649" class="child-of-line-164 child-of-line-625  react-line-number react-code-text" style="padding-right:16px">649</div><div data-line-number="650" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">650</div><div data-line-number="651" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">651</div><div data-line-number="652" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">652</div><div data-line-number="653" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">653</div><div data-line-number="654" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">654</div><div data-line-number="655" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">655</div><div data-line-number="656" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">656</div><div data-line-number="657" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">657</div><div data-line-number="658" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">658</div><div data-line-number="659" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">659</div><div data-line-number="660" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">660</div><div data-line-number="661" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">661</div><div data-line-number="662" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">662</div><div data-line-number="663" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">663</div><div data-line-number="664" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">664</div><div data-line-number="665" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">665</div><div data-line-number="666" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">666<span class="LineNumber-module__codeAlert__WexRo LineNumber-module__codeAlertRight__hdWmf"><button data-code-folding-chevron="true" type="button" aria-expanded="true" aria-label="Collapse code section" class="LineNumber-module__codeFoldingChevron__sY2Yt"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></span></div><div data-line-number="667" class="child-of-line-164 child-of-line-665  react-line-number react-code-text" style="padding-right:16px">667</div><div data-line-number="668" class="child-of-line-164 child-of-line-665  react-line-number react-code-text" style="padding-right:16px">668</div><div data-line-number="669" class="child-of-line-164 child-of-line-665  react-line-number react-code-text" style="padding-right:16px">669</div><div data-line-number="670" class="child-of-line-164 child-of-line-665  react-line-number react-code-text" style="padding-right:16px">670</div><div data-line-number="671" class="child-of-line-164 child-of-line-665  react-line-number react-code-text" style="padding-right:16px">671</div><div data-line-number="672" class="child-of-line-164 child-of-line-665  react-line-number react-code-text" style="padding-right:16px">672</div><div data-line-number="673" class="child-of-line-164 child-of-line-665  react-line-number react-code-text" style="padding-right:16px">673</div><div data-line-number="674" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">674</div><div data-line-number="675" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">675</div><div data-line-number="676" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">676</div><div data-line-number="677" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">677</div><div data-line-number="678" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">678</div><div data-line-number="679" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">679</div><div data-line-number="680" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">680</div><div data-line-number="681" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">681</div><div data-line-number="682" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">682</div><div data-line-number="683" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">683</div><div data-line-number="684" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">684</div><div data-line-number="685" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">685</div><div data-line-number="686" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">686</div><div data-line-number="687" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">687</div><div data-line-number="688" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">688</div><div data-line-number="689" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">689</div><div data-line-number="690" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">690</div><div data-line-number="691" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">691<span class="LineNumber-module__codeAlert__WexRo LineNumber-module__codeAlertRight__hdWmf"><button data-code-folding-chevron="true" type="button" aria-expanded="true" aria-label="Collapse code section" class="LineNumber-module__codeFoldingChevron__sY2Yt"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></span></div><div data-line-number="692" class="child-of-line-164 child-of-line-690  react-line-number react-code-text" style="padding-right:16px">692</div><div data-line-number="693" class="child-of-line-164 child-of-line-690  react-line-number react-code-text" style="padding-right:16px">693</div><div data-line-number="694" class="child-of-line-164 child-of-line-690  react-line-number react-code-text" style="padding-right:16px">694</div><div data-line-number="695" class="child-of-line-164 child-of-line-690  react-line-number react-code-text" style="padding-right:16px">695</div><div data-line-number="696" class="child-of-line-164 child-of-line-690  react-line-number react-code-text" style="padding-right:16px">696</div><div data-line-number="697" class="child-of-line-164 child-of-line-690  react-line-number react-code-text" style="padding-right:16px">697</div><div data-line-number="698" class="child-of-line-164 child-of-line-690  react-line-number react-code-text" style="padding-right:16px">698</div><div data-line-number="699" class="child-of-line-164 child-of-line-690  react-line-number react-code-text" style="padding-right:16px">699</div><div data-line-number="700" class="child-of-line-164 child-of-line-690  react-line-number react-code-text" style="padding-right:16px">700</div><div data-line-number="701" class="child-of-line-164 child-of-line-690  react-line-number react-code-text" style="padding-right:16px">701</div><div data-line-number="702" class="child-of-line-164 child-of-line-690  react-line-number react-code-text" style="padding-right:16px">702</div><div data-line-number="703" class="child-of-line-164 child-of-line-690  react-line-number react-code-text" style="padding-right:16px">703</div><div data-line-number="704" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">704</div><div data-line-number="705" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">705</div><div data-line-number="706" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">706</div><div data-line-number="707" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">707</div><div data-line-number="708" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">708</div><div data-line-number="709" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">709</div><div data-line-number="710" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">710</div><div data-line-number="711" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">711</div><div data-line-number="712" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">712</div><div data-line-number="713" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">713</div><div data-line-number="714" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">714</div><div data-line-number="715" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">715</div><div data-line-number="716" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">716</div><div data-line-number="717" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">717</div><div data-line-number="718" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">718</div><div data-line-number="719" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">719</div><div data-line-number="720" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">720</div><div data-line-number="721" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">721</div><div data-line-number="722" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">722</div><div data-line-number="723" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">723</div><div data-line-number="724" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">724</div><div data-line-number="725" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">725</div><div data-line-number="726" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">726</div><div data-line-number="727" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">727</div><div data-line-number="728" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">728</div><div data-line-number="729" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">729</div><div data-line-number="730" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">730</div><div data-line-number="731" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">731</div><div data-line-number="732" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">732</div><div data-line-number="733" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">733</div><div data-line-number="734" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">734</div><div data-line-number="735" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">735</div><div data-line-number="736" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">736</div><div data-line-number="737" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">737</div><div data-line-number="738" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">738</div><div data-line-number="739" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">739</div><div data-line-number="740" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">740</div><div data-line-number="741" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">741</div><div data-line-number="742" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">742</div><div data-line-number="743" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">743</div><div data-line-number="744" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">744</div><div data-line-number="745" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">745</div><div data-line-number="746" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">746</div><div data-line-number="747" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">747</div><div data-line-number="748" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">748</div><div data-line-number="749" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">749</div><div data-line-number="750" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">750</div><div data-line-number="751" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">751</div><div data-line-number="752" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">752</div><div data-line-number="753" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">753</div><div data-line-number="754" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">754</div><div data-line-number="755" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">755</div><div data-line-number="756" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">756</div><div data-line-number="757" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">757</div><div data-line-number="758" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">758</div><div data-line-number="759" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">759</div><div data-line-number="760" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">760</div><div data-line-number="761" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">761</div><div data-line-number="762" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">762<span class="LineNumber-module__codeAlert__WexRo LineNumber-module__codeAlertRight__hdWmf"><button data-code-folding-chevron="true" type="button" aria-expanded="true" aria-label="Collapse code section" class="LineNumber-module__codeFoldingChevron__sY2Yt"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></span></div><div data-line-number="763" class="child-of-line-164 child-of-line-761  react-line-number react-code-text" style="padding-right:16px">763</div><div data-line-number="764" class="child-of-line-164 child-of-line-761  react-line-number react-code-text" style="padding-right:16px">764</div><div data-line-number="765" class="child-of-line-164 child-of-line-761  react-line-number react-code-text" style="padding-right:16px">765</div><div data-line-number="766" class="child-of-line-164 child-of-line-761  react-line-number react-code-text" style="padding-right:16px">766</div><div data-line-number="767" class="child-of-line-164 child-of-line-761  react-line-number react-code-text" style="padding-right:16px">767</div><div data-line-number="768" class="child-of-line-164 child-of-line-761  react-line-number react-code-text" style="padding-right:16px">768</div><div data-line-number="769" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">769</div><div data-line-number="770" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">770</div><div data-line-number="771" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">771</div><div data-line-number="772" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">772</div><div data-line-number="773" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">773</div><div data-line-number="774" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">774</div><div data-line-number="775" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">775</div><div data-line-number="776" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">776</div><div data-line-number="777" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">777</div><div data-line-number="778" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">778</div><div data-line-number="779" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">779</div><div data-line-number="780" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">780</div><div data-line-number="781" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">781</div><div data-line-number="782" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">782</div><div data-line-number="783" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">783</div><div data-line-number="784" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">784</div><div data-line-number="785" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">785</div><div data-line-number="786" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">786</div><div data-line-number="787" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">787</div><div data-line-number="788" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">788</div><div data-line-number="789" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">789</div><div data-line-number="790" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">790</div><div data-line-number="791" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">791</div><div data-line-number="792" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">792</div><div data-line-number="793" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">793</div><div data-line-number="794" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">794</div><div data-line-number="795" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">795</div><div data-line-number="796" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">796</div><div data-line-number="797" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">797</div><div data-line-number="798" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">798</div><div data-line-number="799" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">799<span class="LineNumber-module__codeAlert__WexRo LineNumber-module__codeAlertRight__hdWmf"><button data-code-folding-chevron="true" type="button" aria-expanded="true" aria-label="Collapse code section" class="LineNumber-module__codeFoldingChevron__sY2Yt"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></span></div><div data-line-number="800" class="child-of-line-164 child-of-line-798  react-line-number react-code-text" style="padding-right:16px">800</div><div data-line-number="801" class="child-of-line-164 child-of-line-798  react-line-number react-code-text" style="padding-right:16px">801</div><div data-line-number="802" class="child-of-line-164 child-of-line-798  react-line-number react-code-text" style="padding-right:16px">802</div><div data-line-number="803" class="child-of-line-164 child-of-line-798  react-line-number react-code-text" style="padding-right:16px">803</div><div data-line-number="804" class="child-of-line-164 child-of-line-798  react-line-number react-code-text" style="padding-right:16px">804</div><div data-line-number="805" class="child-of-line-164 child-of-line-798  react-line-number react-code-text" style="padding-right:16px">805</div><div data-line-number="806" class="child-of-line-164 child-of-line-798  react-line-number react-code-text" style="padding-right:16px">806</div><div data-line-number="807" class="child-of-line-164 child-of-line-798  react-line-number react-code-text" style="padding-right:16px">807</div><div data-line-number="808" class="child-of-line-164 child-of-line-798  react-line-number react-code-text" style="padding-right:16px">808</div><div data-line-number="809" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">809</div><div data-line-number="810" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">810</div><div data-line-number="811" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">811</div><div data-line-number="812" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">812</div><div data-line-number="813" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">813</div><div data-line-number="814" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">814</div><div data-line-number="815" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">815</div><div data-line-number="816" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">816</div><div data-line-number="817" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">817</div><div data-line-number="818" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">818</div><div data-line-number="819" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">819</div><div data-line-number="820" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">820</div><div data-line-number="821" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">821</div><div data-line-number="822" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">822</div><div data-line-number="823" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">823</div><div data-line-number="824" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">824</div><div data-line-number="825" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">825</div><div data-line-number="826" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">826</div><div data-line-number="827" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">827</div><div data-line-number="828" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">828</div><div data-line-number="829" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">829</div><div data-line-number="830" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">830</div><div data-line-number="831" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">831</div><div data-line-number="832" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">832</div><div data-line-number="833" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">833</div><div data-line-number="834" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">834</div><div data-line-number="835" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">835</div><div data-line-number="836" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">836</div><div data-line-number="837" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">837</div><div data-line-number="838" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">838</div><div data-line-number="839" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">839</div><div data-line-number="840" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">840</div><div data-line-number="841" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">841</div><div data-line-number="842" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">842</div><div data-line-number="843" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">843</div><div data-line-number="844" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">844</div><div data-line-number="845" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">845</div><div data-line-number="846" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">846</div><div data-line-number="847" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">847</div><div data-line-number="848" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">848</div><div data-line-number="849" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">849</div><div data-line-number="850" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">850</div><div data-line-number="851" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">851</div><div data-line-number="852" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">852</div><div data-line-number="853" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">853</div><div data-line-number="854" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">854</div><div data-line-number="855" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">855</div><div data-line-number="856" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">856</div><div data-line-number="857" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">857</div><div data-line-number="858" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">858</div><div data-line-number="859" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">859</div><div data-line-number="860" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">860</div><div data-line-number="861" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">861</div><div data-line-number="862" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">862</div><div data-line-number="863" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">863</div><div data-line-number="864" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">864</div><div data-line-number="865" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">865</div><div data-line-number="866" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">866</div><div data-line-number="867" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">867</div><div data-line-number="868" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">868</div><div data-line-number="869" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">869</div><div data-line-number="870" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">870</div><div data-line-number="871" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">871</div><div data-line-number="872" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">872</div><div data-line-number="873" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">873</div><div data-line-number="874" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">874</div><div data-line-number="875" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">875</div><div data-line-number="876" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">876</div><div data-line-number="877" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">877</div><div data-line-number="878" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">878</div><div data-line-number="879" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">879</div><div data-line-number="880" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">880</div><div data-line-number="881" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">881</div><div data-line-number="882" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">882</div><div data-line-number="883" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">883</div><div data-line-number="884" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">884</div><div data-line-number="885" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">885</div><div data-line-number="886" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">886</div><div data-line-number="887" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">887</div><div data-line-number="888" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">888</div><div data-line-number="889" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">889</div><div data-line-number="890" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">890</div><div data-line-number="891" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">891</div><div data-line-number="892" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">892</div><div data-line-number="893" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">893</div><div data-line-number="894" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">894</div><div data-line-number="895" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">895</div><div data-line-number="896" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">896</div><div data-line-number="897" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">897</div><div data-line-number="898" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">898</div><div data-line-number="899" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">899</div><div data-line-number="900" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">900</div><div data-line-number="901" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">901</div><div data-line-number="902" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">902</div><div data-line-number="903" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">903</div><div data-line-number="904" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">904</div><div data-line-number="905" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">905</div><div data-line-number="906" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">906</div><div data-line-number="907" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">907</div><div data-line-number="908" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">908</div><div data-line-number="909" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">909</div><div data-line-number="910" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">910</div><div data-line-number="911" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">911</div><div data-line-number="912" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">912</div><div data-line-number="913" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">913</div><div data-line-number="914" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">914</div><div data-line-number="915" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">915</div><div data-line-number="916" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">916</div><div data-line-number="917" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">917</div><div data-line-number="918" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">918</div><div data-line-number="919" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">919</div><div data-line-number="920" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">920</div><div data-line-number="921" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">921</div><div data-line-number="922" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">922</div><div data-line-number="923" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">923</div><div data-line-number="924" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">924</div><div data-line-number="925" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">925</div><div data-line-number="926" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">926</div><div data-line-number="927" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">927</div><div data-line-number="928" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">928</div><div data-line-number="929" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">929</div><div data-line-number="930" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">930</div><div data-line-number="931" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">931</div><div data-line-number="932" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">932</div><div data-line-number="933" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">933</div><div data-line-number="934" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">934</div><div data-line-number="935" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">935</div><div data-line-number="936" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">936</div><div data-line-number="937" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">937</div><div data-line-number="938" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">938</div><div data-line-number="939" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">939</div><div data-line-number="940" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">940</div><div data-line-number="941" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">941</div><div data-line-number="942" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">942</div><div data-line-number="943" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">943</div><div data-line-number="944" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">944</div><div data-line-number="945" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">945</div><div data-line-number="946" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">946</div><div data-line-number="947" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">947</div><div data-line-number="948" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">948</div><div data-line-number="949" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">949</div><div data-line-number="950" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">950</div><div data-line-number="951" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">951</div><div data-line-number="952" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">952</div><div data-line-number="953" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">953</div><div data-line-number="954" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">954</div><div data-line-number="955" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">955</div><div data-line-number="956" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">956</div><div data-line-number="957" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">957</div><div data-line-number="958" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">958</div><div data-line-number="959" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">959</div><div data-line-number="960" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">960</div><div data-line-number="961" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">961</div><div data-line-number="962" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">962</div><div data-line-number="963" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">963</div><div data-line-number="964" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">964</div><div data-line-number="965" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">965</div><div data-line-number="966" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">966</div><div data-line-number="967" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">967</div><div data-line-number="968" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">968</div><div data-line-number="969" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">969</div><div data-line-number="970" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">970</div><div data-line-number="971" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">971</div><div data-line-number="972" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">972</div><div data-line-number="973" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">973</div><div data-line-number="974" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">974</div><div data-line-number="975" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">975</div><div data-line-number="976" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">976</div><div data-line-number="977" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">977</div><div data-line-number="978" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">978</div><div data-line-number="979" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">979</div><div data-line-number="980" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">980</div><div data-line-number="981" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">981</div><div data-line-number="982" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">982<span class="LineNumber-module__codeAlert__WexRo LineNumber-module__codeAlertRight__hdWmf"><button data-code-folding-chevron="true" type="button" aria-expanded="true" aria-label="Collapse code section" class="LineNumber-module__codeFoldingChevron__sY2Yt"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></span></div><div data-line-number="983" class="child-of-line-164 child-of-line-981  react-line-number react-code-text" style="padding-right:16px">983</div><div data-line-number="984" class="child-of-line-164 child-of-line-981  react-line-number react-code-text" style="padding-right:16px">984</div><div data-line-number="985" class="child-of-line-164 child-of-line-981  react-line-number react-code-text" style="padding-right:16px">985</div><div data-line-number="986" class="child-of-line-164 child-of-line-981  react-line-number react-code-text" style="padding-right:16px">986</div><div data-line-number="987" class="child-of-line-164 child-of-line-981  react-line-number react-code-text" style="padding-right:16px">987</div><div data-line-number="988" class="child-of-line-164 child-of-line-981  react-line-number react-code-text" style="padding-right:16px">988</div><div data-line-number="989" class="child-of-line-164 child-of-line-981  react-line-number react-code-text" style="padding-right:16px">989</div><div data-line-number="990" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">990</div><div data-line-number="991" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">991</div><div data-line-number="992" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">992</div><div data-line-number="993" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">993</div><div data-line-number="994" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">994</div><div data-line-number="995" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">995</div><div data-line-number="996" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">996</div><div data-line-number="997" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">997</div><div data-line-number="998" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">998</div><div data-line-number="999" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">999</div><div data-line-number="1000" class="child-of-line-164  react-line-number react-code-text" style="padding-right:16px">1000<span class="LineNumber-module__codeAlert__WexRo LineNumber-module__codeAlertRight__hdWmf"><button data-code-folding-chevron="true" type="button" aria-expanded="true" aria-label="Collapse code section" class="LineNumber-module__codeFoldingChevron__sY2Yt"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></span></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-k">pragma</span> once</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 class="pl-c">/*</span>*</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">    Library cppstrings</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">    &quot;What if c++ strings where as easy to use as Python strings?&quot;</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">
</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">    Copyright (C) 2023-2026 Philippe Schmouker</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">    contact - ph (dot) schmouker (at) gmail (dot) com</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">
</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">    This program is free software: you can redistribute it and/or modify</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"><span class="pl-c">    it under the terms of the GNU General Public License as published by</span></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-c">    the Free Software Foundation,  either version 3  of the License,  or</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"><span class="pl-c">    (at your option) any later version.</span></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">
</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-c">    This program is distributed in the hope  that  it  will  be  useful,</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"><span class="pl-c">    but  WITHOUT  ANY  WARRANTY;  without  even  the implied warranty of</span></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-c">    MERCHANTABILITY  or  FITNESS  FOR  A  PARTICULAR  PURPOSE.  See  the</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-c">    GNU General Public License for more details.</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">
</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-c">    You should have received a copy  of  the  GNU General Public License</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-c">    along with this program.  If not, see &lt;https://www.gnu.org/licenses/&gt;.</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-c"><span class="pl-c">*/</span></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">
</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-c"><span class="pl-c">//</span>=============================================================</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">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>algorithm<span class="pl-pds">&gt;</span></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">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>array<span class="pl-pds">&gt;</span></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">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>cassert<span class="pl-pds">&gt;</span></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">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>cctype<span class="pl-pds">&gt;</span></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">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>cwctype<span class="pl-pds">&gt;</span></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">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>format<span class="pl-pds">&gt;</span></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">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>limits<span class="pl-pds">&gt;</span></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">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>map<span class="pl-pds">&gt;</span></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">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>ranges<span class="pl-pds">&gt;</span></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">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>span<span class="pl-pds">&gt;</span></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">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>stdexcept<span class="pl-pds">&gt;</span></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">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>type_traits<span class="pl-pds">&gt;</span></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">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>vector<span class="pl-pds">&gt;</span></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">
</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">
</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"><span class="pl-k">namespace</span> <span class="pl-en">pcs</span> <span class="pl-c"><span class="pl-c">//</span> i.e. &quot;pythonic c++ strings&quot;</span></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">{</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">    <span class="pl-c"><span class="pl-c">//</span>=============================================================</span></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"><span class="pl-c">//</span> Forward declarations</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">
</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-c"><span class="pl-c">//</span> base class -- not to be directly instantiated, see belowing specializations instead</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-k">template</span>&lt;</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-k">class</span> <span class="pl-en">CharT</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">        <span class="pl-k">class</span> <span class="pl-en">TraitsT</span> = std::char_traits&lt;CharT&gt;,</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">class</span> <span class="pl-en">AllocatorT</span> = std::allocator&lt;CharT&gt;</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">    &gt; <span class="pl-k">class</span> <span class="pl-en">CppStringT</span>;</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">
</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">    <span class="pl-c"><span class="pl-c">//</span> specializations of the base class -- these are the ones that should be instantiated by user.</span></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">using</span> CppString  = CppStringT&lt;<span class="pl-k">char</span>&gt;;                        <span class="pl-c"><span class="pl-c">//</span>!&lt; Specialization of basic class with template argument &#039;char&#039;</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">using</span> CppWString = CppStringT&lt;<span class="pl-k">wchar_t</span>&gt;;                     <span class="pl-c"><span class="pl-c">//</span>!&lt; Specialization of basic class with template argument &#039;wchar_t&#039;</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">
</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-k">if</span> defined(_MSC_VER)</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-k">pragma</span> warning(push)</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-k">pragma</span> warning(disable: 4455)  <span class="pl-c"><span class="pl-c">//</span> to avoid boring warnings with litteral operators definitions</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-k">endif</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">
</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 class="pl-c">//</span> litteral operators</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-k">inline</span> CppString <span class="pl-k">operator</span><span class="pl-s"><span class="pl-pds">&quot;</span><span class="pl-pds">&quot;</span></span>_cs(<span class="pl-k">const</span> <span class="pl-k">char</span>* str, std::<span class="pl-c1">size_t</span> len);          <span class="pl-c"><span class="pl-c">//</span>!&lt; Forms a CppString literal. </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-k">inline</span> CppWString <span class="pl-k">operator</span><span class="pl-s"><span class="pl-pds">&quot;</span><span class="pl-pds">&quot;</span></span>_cs(<span class="pl-k">const</span> <span class="pl-k">wchar_t</span>* str, std::<span class="pl-c1">size_t</span> len);      <span class="pl-c"><span class="pl-c">//</span>!&lt; Forms a CppWString literal. </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">
</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-c"><span class="pl-c">//</span> slices -- to be used with operator CppStringT::operator().</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">template</span>&lt;<span class="pl-k">typename</span> IntT = std::<span class="pl-c1">int64_t</span>&gt;</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">requires</span> std::is_signed_v&lt;IntT&gt;</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">class</span> <span class="pl-en">Slice</span>;                                               <span class="pl-c"><span class="pl-c">//</span>!&lt; Base class for slices, with start, stop and step specified values</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">
</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">template</span>&lt;<span class="pl-k">typename</span> IntT = std::<span class="pl-c1">int64_t</span>&gt;</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">        <span class="pl-k">requires</span> std::is_signed_v&lt;IntT&gt;</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-k">struct</span> <span class="pl-en">StartSlice</span>;                                          <span class="pl-c"><span class="pl-c">//</span>!&lt; struct of slices with default stop and step values</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-k">template</span>&lt;<span class="pl-k">typename</span> IntT = std::<span class="pl-c1">int64_t</span>&gt;</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">requires</span> std::is_signed_v&lt;IntT&gt;</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-k">struct</span> <span class="pl-en">StopSlice</span>;                                           <span class="pl-c"><span class="pl-c">//</span>!&lt; struct of slices with default start and step values</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">
</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">    <span class="pl-k">template</span>&lt;<span class="pl-k">typename</span> IntT = std::<span class="pl-c1">int64_t</span>&gt;</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">requires</span> std::is_signed_v&lt;IntT&gt;</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-k">struct</span> <span class="pl-en">StepSlice</span>;                                           <span class="pl-c"><span class="pl-c">//</span>!&lt; struct of slices with default start and stop values</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">
</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-k">template</span>&lt;<span class="pl-k">typename</span> IntT = std::<span class="pl-c1">int64_t</span>&gt;</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-k">requires</span> std::is_signed_v&lt;IntT&gt;</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-k">struct</span> <span class="pl-en">StartStopSlice</span>;                                      <span class="pl-c"><span class="pl-c">//</span>!&lt; struct of slices with default step values</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">
</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-k">template</span>&lt;<span class="pl-k">typename</span> IntT = std::<span class="pl-c1">int64_t</span>&gt;</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-k">requires</span> std::is_signed_v&lt;IntT&gt;</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-k">struct</span> <span class="pl-en">StartStepSlice</span>;                                      <span class="pl-c"><span class="pl-c">//</span>!&lt; struct of slices with default stop values</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">
</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">template</span>&lt;<span class="pl-k">typename</span> IntT = std::<span class="pl-c1">int64_t</span>&gt;</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-k">requires</span> std::is_signed_v&lt;IntT&gt;</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">struct</span> <span class="pl-en">StopStepSlice</span>;                                       <span class="pl-c"><span class="pl-c">//</span>!&lt; struct of slices with default start values</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-c"><span class="pl-c">//</span> chars classifications -- not to be directly called, see respective specializations at the very end of this module.</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">    <span class="pl-k">template</span>&lt;<span class="pl-k">class</span> <span class="pl-en">CharT</span>&gt;</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">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">is_alpha</span>(<span class="pl-k">const</span> CharT ch) <span class="pl-k">noexcept</span>;        <span class="pl-c"><span class="pl-c">//</span>!&lt; Returns true if character ch is alphabetic, or false otherwise.</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">
</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">template</span>&lt;<span class="pl-k">class</span> <span class="pl-en">CharT</span>&gt;</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">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">is_ascii</span>(<span class="pl-k">const</span> CharT ch) <span class="pl-k">noexcept</span>;        <span class="pl-c"><span class="pl-c">//</span>!&lt; Returns true if character ch gets ASCII code, or false otherwise.</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">
</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-k">template</span>&lt;<span class="pl-k">class</span> <span class="pl-en">CharT</span>&gt;</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">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">is_decimal</span>(<span class="pl-k">const</span> CharT ch) <span class="pl-k">noexcept</span>;      <span class="pl-c"><span class="pl-c">//</span>!&lt; Returns true if character is a decimal digit, or false otherwise.</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">
</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-k">template</span>&lt;<span class="pl-k">class</span> <span class="pl-en">CharT</span>&gt;</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">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">is_digit</span>(<span class="pl-k">const</span> CharT ch) <span class="pl-k">noexcept</span>;        <span class="pl-c"><span class="pl-c">//</span>!&lt; Returns true if character is a decimal digit, or false otherwise.</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">
</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">template</span>&lt;<span class="pl-k">class</span> <span class="pl-en">CharT</span>&gt;</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">    <span class="pl-k">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">is_id_continue</span>(<span class="pl-k">const</span> CharT ch) <span class="pl-k">noexcept</span>;  <span class="pl-c"><span class="pl-c">//</span>!&lt; Returns true if character is a continuing char for identifiers, or false otherwise.</span></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">template</span>&lt;<span class="pl-k">class</span> <span class="pl-en">CharT</span>&gt;</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-k">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">is_id_start</span>(<span class="pl-k">const</span> CharT ch) <span class="pl-k">noexcept</span>;     <span class="pl-c"><span class="pl-c">//</span>!&lt; Returns true if character is a starting char for identifiers, or false otherwise.</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">
</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-k">template</span>&lt;<span class="pl-k">class</span> <span class="pl-en">CharT</span>&gt;</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">    <span class="pl-k">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">is_lower</span>(<span class="pl-k">const</span> CharT ch) <span class="pl-k">noexcept</span>;        <span class="pl-c"><span class="pl-c">//</span>!&lt; Returns true if character is lowercase, or false otherwise.</span></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">
</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">template</span>&lt;<span class="pl-k">class</span> <span class="pl-en">CharT</span>&gt;</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">    <span class="pl-k">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">is_numeric</span>(<span class="pl-k">const</span> CharT ch) <span class="pl-k">noexcept</span>;      <span class="pl-c"><span class="pl-c">//</span>!&lt; Returns true if character is a decimal digit, or false otherwise.</span></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">
</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-k">template</span>&lt;<span class="pl-k">class</span> <span class="pl-en">CharT</span>&gt;</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-k">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">is_printable</span>(<span class="pl-k">const</span> CharT ch) <span class="pl-k">noexcept</span>;    <span class="pl-c"><span class="pl-c">//</span>!&lt; Returns true if character ch is printable, or false otherwise.</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">
</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-k">template</span>&lt;<span class="pl-k">class</span> <span class="pl-en">CharT</span>&gt;</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">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">is_punctuation</span>(<span class="pl-k">const</span> CharT ch) <span class="pl-k">noexcept</span>;  <span class="pl-c"><span class="pl-c">//</span>!&lt; Returns true if character ch is punctuation, or false otherwise.</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">
</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">    <span class="pl-k">template</span>&lt;<span class="pl-k">class</span> <span class="pl-en">CharT</span>&gt;</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">    <span class="pl-k">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">is_space</span>(<span class="pl-k">const</span> CharT ch) <span class="pl-k">noexcept</span>;        <span class="pl-c"><span class="pl-c">//</span>!&lt; Returns true if character ch is white space, or false otherwise.</span></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">
</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">    <span class="pl-k">template</span>&lt;<span class="pl-k">class</span> <span class="pl-en">CharT</span>&gt;</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-k">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">is_upper</span>(<span class="pl-k">const</span> CharT ch) <span class="pl-k">noexcept</span>;        <span class="pl-c"><span class="pl-c">//</span>!&lt; Returns true if character is uppercase, or false otherwise.</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">
</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-k">template</span>&lt;<span class="pl-k">class</span> <span class="pl-en">CharT</span>&gt;</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-k">inline</span> <span class="pl-k">const</span> CharT <span class="pl-en">swap_case</span>(<span class="pl-k">const</span> CharT ch) <span class="pl-k">noexcept</span>;      <span class="pl-c"><span class="pl-c">//</span>!&lt; Returns the swapped case form of character ch if it exists, or ch itself otherwise.</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">
</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-k">template</span>&lt;<span class="pl-k">class</span> <span class="pl-en">CharT</span>&gt;</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-k">inline</span> <span class="pl-k">const</span> CharT <span class="pl-en">to_lower</span>(<span class="pl-k">const</span> CharT ch) <span class="pl-k">noexcept</span>;       <span class="pl-c"><span class="pl-c">//</span>!&lt; Returns the lowercase form of character ch if it exists, or ch itself otherwise.</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">
</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-k">template</span>&lt;<span class="pl-k">class</span> <span class="pl-en">CharT</span>&gt;</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-k">inline</span> <span class="pl-k">const</span> CharT <span class="pl-en">to_upper</span>(<span class="pl-k">const</span> CharT ch) <span class="pl-k">noexcept</span>;       <span class="pl-c"><span class="pl-c">//</span>!&lt; Returns the uppercase form of character ch if it exists, or ch itself otherwise.</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">
</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">
</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-c"><span class="pl-c">//</span>=====   CppStringT&lt;&gt;   ======================================</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-c"><span class="pl-c">/*</span>* \brief This is the templated base class for all CppString classes.</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-c">    *</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-c">    * Users should instantiate any specialization  of  this  base  class</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"><span class="pl-c">    * rather than this base class itself:</span></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"><span class="pl-c">    *   - \see CppString for CppStringT&lt;char&gt;.</span></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-c">    *   - \see CppWString for CppStringT&lt;wchar_t&gt;.</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"><span class="pl-c">    *</span></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">    * This base class inherits from std::basic_string&lt;CharT&gt;.  As  such,</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">    * it  gets  direct  access  to all public methods of its base class.</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-c">    * \see  https://en.cppreference.com/w/cpp/string/basic_string  for a</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-c">    * full list of such methods, for instance.</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-c">    *</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-c">    * You may specialize it by your own with any of the next char types:</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-c">    *   - char8_t  (C++20)</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-c">    *   - char16_t (C++11)</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"><span class="pl-c">    *   - char32_t (C++11)</span></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"><span class="pl-c">    * Caution:  templated method format() may be difficult to specialize</span></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">    *           with these types --&gt; let us know if you succeed!</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">    <span class="pl-c">*/</span></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-k">template</span>&lt;<span class="pl-k">class</span> <span class="pl-en">CharT</span>, <span class="pl-k">class</span> <span class="pl-en">TraitsT</span>, <span class="pl-k">class</span> <span class="pl-en">AllocatorT</span>&gt;</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-k">class</span> <span class="pl-en">CppStringT</span> : <span class="pl-k">public</span> <span class="pl-en">std</span>::basic_string&lt;CharT, TraitsT, AllocatorT&gt;</div></div></div><div class="child-of-line-164  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">    {</div></div></div><div class="child-of-line-164  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-k">public:</span></div></div></div><div class="child-of-line-164  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"><span class="pl-c">//</span>===   Wrappers   ========================================</span></div></div></div><div class="child-of-line-164  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-k">using</span> MyBaseClass = std::basic_string&lt;CharT, TraitsT, AllocatorT&gt;;</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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-k">using</span> traits_type            = MyBaseClass::traits_type;</div></div></div><div class="child-of-line-164  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">using</span> value_type             = MyBaseClass::value_type;</div></div></div><div class="child-of-line-164  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-k">using</span> allocator_type         = MyBaseClass::allocator_type;</div></div></div><div class="child-of-line-164  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">        <span class="pl-k">using</span> size_type              = MyBaseClass::size_type;</div></div></div><div class="child-of-line-164  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">using</span> difference_type        = MyBaseClass::difference_type;</div></div></div><div class="child-of-line-164  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">        <span class="pl-k">using</span> reference              = MyBaseClass::reference;</div></div></div><div class="child-of-line-164  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-k">using</span> const_reference        = MyBaseClass::const_reference;</div></div></div><div class="child-of-line-164  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-k">using</span> pointer                = MyBaseClass::pointer;</div></div></div><div class="child-of-line-164  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">        <span class="pl-k">using</span> const_pointer          = MyBaseClass::const_pointer;</div></div></div><div class="child-of-line-164  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">using</span> iterator               = MyBaseClass::iterator;</div></div></div><div class="child-of-line-164  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-k">using</span> const_iterator         = MyBaseClass::const_iterator;</div></div></div><div class="child-of-line-164  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">using</span> reverse_iterator       = MyBaseClass::reverse_iterator;</div></div></div><div class="child-of-line-164  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">        <span class="pl-k">using</span> const_reverse_iterator = MyBaseClass::const_reverse_iterator;</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">        <span class="pl-c"><span class="pl-c">//</span>===   Translation Table   ===============================</span></div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">/*</span>* \brief The internal class of translation tables, used with methods CppStringT::maketrans and CppStringT::translate. <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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">class</span> <span class="pl-en">TransTable</span></div></div></div><div class="child-of-line-164 child-of-line-187  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="child-of-line-164 child-of-line-187  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">public:</span></div></div></div><div class="child-of-line-164 child-of-line-187  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-c"><span class="pl-c">//</span>---   wrappers   ------------------------------------</span></div></div></div><div class="child-of-line-164 child-of-line-187  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-k">using</span> key_type   = CharT;</div></div></div><div class="child-of-line-164 child-of-line-187  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">            <span class="pl-k">using</span> value_type = CppStringT;</div></div></div><div class="child-of-line-164 child-of-line-187  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">
</div></div></div><div class="child-of-line-164 child-of-line-187  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-c"><span class="pl-c">//</span>---   Constructors / destructor   -------------------</span></div></div></div><div class="child-of-line-164 child-of-line-187  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-c"><span class="pl-c">/*</span>* \brief Creates a TransTable from a standard map (#1). <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164 child-of-line-187  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">            <span class="pl-k">inline</span> <span class="pl-en">TransTable</span>(<span class="pl-k">const</span> std::map&lt;key_type, value_type&gt; trans_table)</div></div></div><div class="child-of-line-164 child-of-line-187  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">                : m_table{ trans_table }</div></div></div><div class="child-of-line-164 child-of-line-187  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">            {}</div></div></div><div class="child-of-line-164 child-of-line-187  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="child-of-line-164 child-of-line-187  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-c"><span class="pl-c">/*</span>* \brief Creates a TransTable from two strings (#2).</span></div></div></div><div class="child-of-line-164 child-of-line-187  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-c">            *</span></div></div></div><div class="child-of-line-164 child-of-line-187  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"><span class="pl-c">            * Parameters keys and values must have the same size. The i-th</span></div></div></div><div class="child-of-line-164 child-of-line-187  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"><span class="pl-c">            * character in key is associated in the translation table with</span></div></div></div><div class="child-of-line-164 child-of-line-187  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-c">            * the i-th character in values.</span></div></div></div><div class="child-of-line-164 child-of-line-187  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"><span class="pl-c">            <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164 child-of-line-187  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-en">TransTable</span>(<span class="pl-k">const</span> CppStringT&amp; keys, <span class="pl-k">const</span> CppStringT&amp; values)</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-206  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">            {</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-206  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">assert</span>(keys.<span class="pl-c1">size</span>() == values.<span class="pl-c1">size</span>());</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-206  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">auto</span> val_it = values.<span class="pl-c1">cbegin</span>();</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-206  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">                <span class="pl-k">for</span> (<span class="pl-k">const</span> <span class="pl-k">auto</span> k : keys)</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-206  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">                    m_table[k] = <span class="pl-c1">CppStringT</span>(*val_it++);</div></div></div><div class="child-of-line-164 child-of-line-187  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">            }</div></div></div><div class="child-of-line-164 child-of-line-187  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">
</div></div></div><div class="child-of-line-164 child-of-line-187  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 class="pl-c">/*</span>* \brief Creates a TransTable from three strings (#3).</span></div></div></div><div class="child-of-line-164 child-of-line-187  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">            *</span></div></div></div><div class="child-of-line-164 child-of-line-187  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">            * Parameters keys and values must have the same size. The i-th</span></div></div></div><div class="child-of-line-164 child-of-line-187  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">            * character in key is associated in the translation table with</span></div></div></div><div class="child-of-line-164 child-of-line-187  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">            * the i -th  character  in  values.  Finally,  the  characters</span></div></div></div><div class="child-of-line-164 child-of-line-187  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">            * contained  in  string  not_translated  are associated in the</span></div></div></div><div class="child-of-line-164 child-of-line-187  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">            * translation table with the empty string.</span></div></div></div><div class="child-of-line-164 child-of-line-187  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">            <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164 child-of-line-187  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-en">TransTable</span>(<span class="pl-k">const</span> CppStringT&amp; keys, <span class="pl-k">const</span> CppStringT&amp; values, <span class="pl-k">const</span> CppStringT&amp; not_translated)</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-222  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">            {</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-222  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-k">assert</span>(keys.<span class="pl-c1">size</span>() == values.<span class="pl-c1">size</span>());</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-222  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">                <span class="pl-k">auto</span> val_it = values.<span class="pl-c1">cbegin</span>();</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-222  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-k">for</span> (<span class="pl-k">const</span> <span class="pl-k">auto</span> k : keys)</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-222  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">                    m_table[k] = <span class="pl-c1">CppStringT</span>(*val_it++);</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-222  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-k">for</span> (<span class="pl-k">const</span> <span class="pl-k">auto</span> k : not_translated)</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-222  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">                    m_table[k] = <span class="pl-c1">CppStringT</span>();</div></div></div><div class="child-of-line-164 child-of-line-187  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">            }</div></div></div><div class="child-of-line-164 child-of-line-187  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="child-of-line-164 child-of-line-187  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-c"><span class="pl-c">/*</span>* \brief Creates a TransTable from a string and an initalization list (#4).</span></div></div></div><div class="child-of-line-164 child-of-line-187  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">            *</span></div></div></div><div class="child-of-line-164 child-of-line-187  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-c">            * Parameters keys and values must have the same size. The i-th</span></div></div></div><div class="child-of-line-164 child-of-line-187  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-c">            * character in key is associated in the translation table with</span></div></div></div><div class="child-of-line-164 child-of-line-187  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"><span class="pl-c">            * the i-th character in values.</span></div></div></div><div class="child-of-line-164 child-of-line-187  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">            <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164 child-of-line-187  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-k">inline</span> <span class="pl-en">TransTable</span>(<span class="pl-k">const</span> CppStringT&amp; keys, <span class="pl-k">const</span> std::initializer_list&lt;CppStringT&gt;&amp; values)</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-238  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">            {</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-238  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-k">assert</span>(keys.<span class="pl-c1">size</span>() == values.<span class="pl-c1">size</span>());</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-238  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-k">auto</span> val_it = values.<span class="pl-c1">begin</span>();</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-238  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">for</span> (<span class="pl-k">const</span> <span class="pl-k">auto</span> k : keys)</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-238  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">                    m_table[k] = *val_it++;</div></div></div><div class="child-of-line-164 child-of-line-187  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">            }</div></div></div><div class="child-of-line-164 child-of-line-187  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">
</div></div></div><div class="child-of-line-164 child-of-line-187  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">            <span class="pl-c"><span class="pl-c">/*</span>* \brief Creates a TransTable from a string, an initalization list and a string (#5).</span></div></div></div><div class="child-of-line-164 child-of-line-187  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-c">            *</span></div></div></div><div class="child-of-line-164 child-of-line-187  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"><span class="pl-c">            * Parameters keys and values must have the same size. The i-th</span></div></div></div><div class="child-of-line-164 child-of-line-187  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">            * character in key is associated in the translation table with</span></div></div></div><div class="child-of-line-164 child-of-line-187  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">            * the i -th  character  in  values.  Finally,  the  characters</span></div></div></div><div class="child-of-line-164 child-of-line-187  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">            * contained  in  string  not_translated  are associated in the</span></div></div></div><div class="child-of-line-164 child-of-line-187  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-c">            * translation table with the empty string.</span></div></div></div><div class="child-of-line-164 child-of-line-187  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"><span class="pl-c">            <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164 child-of-line-187  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-k">inline</span> <span class="pl-en">TransTable</span>(<span class="pl-k">const</span> CppStringT&amp; keys, <span class="pl-k">const</span> std::initializer_list&lt;CppStringT&gt; values, <span class="pl-k">const</span> CppStringT&amp; not_translated)</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-254  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">            {</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-254  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-k">assert</span>(keys.<span class="pl-c1">size</span>() == values.<span class="pl-c1">size</span>());</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-254  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-k">auto</span> val_it = values.<span class="pl-c1">begin</span>();</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-254  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">for</span> (<span class="pl-k">const</span> <span class="pl-k">auto</span> k : keys)</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-254  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">                    m_table[k] = *val_it++;</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-254  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-k">for</span> (<span class="pl-k">const</span> <span class="pl-k">auto</span> k : not_translated)</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-254  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">                    m_table[k] = <span class="pl-c1">CppStringT</span>();</div></div></div><div class="child-of-line-164 child-of-line-187  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">            }</div></div></div><div class="child-of-line-164 child-of-line-187  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">
</div></div></div><div class="child-of-line-164 child-of-line-187  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-c"><span class="pl-c">/*</span>* \brief Creates a TransTable from two pointers to null-terminated lists of characters (#6).</span></div></div></div><div class="child-of-line-164 child-of-line-187  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-c">            *</span></div></div></div><div class="child-of-line-164 child-of-line-187  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-c">            * Parameters keys and values must have the same size. The i-th</span></div></div></div><div class="child-of-line-164 child-of-line-187  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-c">            * character in key is associated in the translation table with</span></div></div></div><div class="child-of-line-164 child-of-line-187  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-c">            * the i-th character in values.</span></div></div></div><div class="child-of-line-164 child-of-line-187  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-c">            <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164 child-of-line-187  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">            <span class="pl-k">inline</span> <span class="pl-en">TransTable</span>(<span class="pl-k">const</span> CharT* keys, <span class="pl-k">const</span> CharT* values)</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-270  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">            {</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-270  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">                <span class="pl-k">while</span> (*keys &amp;&amp; *values)</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-270  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">                    m_table[*keys++] = <span class="pl-c1">value_type</span>(*values++);</div></div></div><div class="child-of-line-164 child-of-line-187  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="child-of-line-164 child-of-line-187  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">
</div></div></div><div class="child-of-line-164 child-of-line-187  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">            <span class="pl-c"><span class="pl-c">/*</span>* \brief Creates a TransTable from three pointers to null-terminated lists of characters (#7).</span></div></div></div><div class="child-of-line-164 child-of-line-187  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"><span class="pl-c">            *</span></div></div></div><div class="child-of-line-164 child-of-line-187  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-c">            * Parameters keys and values must have the same size. The i-th</span></div></div></div><div class="child-of-line-164 child-of-line-187  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-c">            * character in key is associated in the translation table with</span></div></div></div><div class="child-of-line-164 child-of-line-187  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"><span class="pl-c">            * the i -th entry in values. Finally, the characters contained</span></div></div></div><div class="child-of-line-164 child-of-line-187  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">            * in  string  not_translated are associated in the translation</span></div></div></div><div class="child-of-line-164 child-of-line-187  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">            * table with the empty string.</span></div></div></div><div class="child-of-line-164 child-of-line-187  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-c">            <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164 child-of-line-187  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-k">inline</span> <span class="pl-en">TransTable</span>(<span class="pl-k">const</span> CharT* keys, <span class="pl-k">const</span> CharT* values, <span class="pl-k">const</span> CharT* not_translated)</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-284  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="child-of-line-164 child-of-line-187 child-of-line-284  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-k">while</span> (*keys &amp;&amp; *values)</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-284  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">                    m_table[*keys++] = <span class="pl-c1">value_type</span>(*values++);</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-284  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-k">while</span> (*not_translated)</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-284  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">                    m_table[*not_translated++] = <span class="pl-c1">CppStringT</span>();</div></div></div><div class="child-of-line-164 child-of-line-187  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">            }</div></div></div><div class="child-of-line-164 child-of-line-187  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="child-of-line-164 child-of-line-187  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"><span class="pl-c">/*</span>* \brief Creates a TransTable from two containers iterators (#8).</span></div></div></div><div class="child-of-line-164 child-of-line-187  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"><span class="pl-c">            *</span></div></div></div><div class="child-of-line-164 child-of-line-187  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-c">            * Both containers should have the same size. The i-th</span></div></div></div><div class="child-of-line-164 child-of-line-187  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">            * character in key is associated in  the  translation</span></div></div></div><div class="child-of-line-164 child-of-line-187  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-c">            * table with the i-th entry in values.</span></div></div></div><div class="child-of-line-164 child-of-line-187  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-c">            <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164 child-of-line-187  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">template</span>&lt;<span class="pl-k">class</span> <span class="pl-en">KeyIt</span>, <span class="pl-k">class</span> <span class="pl-en">ValueIt</span>&gt;</div></div></div><div class="child-of-line-164 child-of-line-187  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">            <span class="pl-k">inline</span> <span class="pl-en">TransTable</span>(KeyIt first_key, KeyIt last_key, ValueIt first_value, ValueIt last_value)</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-299  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">            {</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-299  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">                KeyIt key_it{ first_key };</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-299  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">                ValueIt val_it{ first_value };</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-299  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-k">while</span> (key_it != last_key &amp;&amp; val_it != last_value)</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-299  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">                    m_table[*key_it++] = <span class="pl-c1">value_type</span>(*val_it++);</div></div></div><div class="child-of-line-164 child-of-line-187  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">            }</div></div></div><div class="child-of-line-164 child-of-line-187  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">
</div></div></div><div class="child-of-line-164 child-of-line-187  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-c"><span class="pl-c">/*</span>* \brief Creates a TransTable from three containers iterators (#9).</span></div></div></div><div class="child-of-line-164 child-of-line-187  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-c">            *</span></div></div></div><div class="child-of-line-164 child-of-line-187  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-c">            * Both  containers  should  have  the  same  size.   The  i-th</span></div></div></div><div class="child-of-line-164 child-of-line-187  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-c">            * character in key is associated in the translation table with</span></div></div></div><div class="child-of-line-164 child-of-line-187  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-c">            * the i -th  character  in  values.  Finally,  the  characters</span></div></div></div><div class="child-of-line-164 child-of-line-187  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-c">            * contained  in  string  not_translated  are associated in the</span></div></div></div><div class="child-of-line-164 child-of-line-187  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"><span class="pl-c">            * translation table with the empty string.</span></div></div></div><div class="child-of-line-164 child-of-line-187  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-c">            <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164 child-of-line-187  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-k">template</span>&lt;<span class="pl-k">class</span> <span class="pl-en">Key1It</span>, <span class="pl-k">class</span> <span class="pl-en">ValueIt</span>, <span class="pl-k">class</span> <span class="pl-en">Key2It</span>&gt;</div></div></div><div class="child-of-line-164 child-of-line-187  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-k">inline</span> <span class="pl-en">TransTable</span>(Key1It first_key, Key1It last_key,</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-316  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">                ValueIt first_value, ValueIt last_value,</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-316  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">                Key2It first_not_translated, Key2It last_not_translated)</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-316  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">            {</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-316  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">                Key1It key1_it{ first_key };</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-316  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">                ValueIt val_it{ first_value };</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-316  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-k">while</span> (key1_it != last_key &amp;&amp; val_it != last_value)</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-316  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">                    m_table[*key1_it++] = <span class="pl-c1">value_type</span>(*val_it++);</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-316  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">                Key2It key2_it{ first_not_translated };</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-316  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">while</span> (key2_it != last_not_translated)</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-316  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">                    m_table[*key2_it++] = <span class="pl-c1">CppStringT</span>();</div></div></div><div class="child-of-line-164 child-of-line-187  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">            }</div></div></div><div class="child-of-line-164 child-of-line-187  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">
</div></div></div><div class="child-of-line-164 child-of-line-187  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-c"><span class="pl-c">/*</span>* \brief Creates a TransTable from two string views (#10).</span></div></div></div><div class="child-of-line-164 child-of-line-187  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"><span class="pl-c">            *</span></div></div></div><div class="child-of-line-164 child-of-line-187  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"><span class="pl-c">            * Parameters keys and values must have the same size. The i-th</span></div></div></div><div class="child-of-line-164 child-of-line-187  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">            * character in key is associated in the translation table with</span></div></div></div><div class="child-of-line-164 child-of-line-187  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-c">            * the i-th character in values.</span></div></div></div><div class="child-of-line-164 child-of-line-187  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-c">            <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164 child-of-line-187  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">            <span class="pl-c"><span class="pl-c">/*</span><span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164 child-of-line-187  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">            <span class="pl-k">template</span>&lt;<span class="pl-k">class</span> <span class="pl-en">StringViewLike</span>&gt;</div></div></div><div class="child-of-line-164 child-of-line-187  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-k">explicit</span> <span class="pl-en">TransTable</span>(<span class="pl-k">const</span> StringViewLike&amp; keys, <span class="pl-k">const</span> StringViewLike&amp; values)</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-337  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">            {</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-337  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-k">assert</span>(keys.<span class="pl-c1">size</span>() == values.<span class="pl-c1">size</span>());</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-337  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-k">auto</span> val_it = values.<span class="pl-c1">cbegin</span>();</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-337  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-k">for</span> (<span class="pl-k">const</span> <span class="pl-k">auto</span> k : keys)</div></div></div><div class="child-of-line-164 child-of-line-187 child-of-line-337  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">                    m_table[(*k)[<span class="pl-c1">0</span>]] = <span class="pl-c1">value_type</span>(*val_it++);</div></div></div><div class="child-of-line-164 child-of-line-187  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">            }</div></div></div><div class="child-of-line-164 child-of-line-187  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">
</div></div></div><div class="child-of-line-164 child-of-line-187  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-k">inline</span> <span class="pl-en">TransTable</span>() <span class="pl-k">noexcept</span> = default;                                 <span class="pl-c"><span class="pl-c">//</span>!&lt; Default empty constructor.</span></div></div></div><div class="child-of-line-164 child-of-line-187  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">inline</span> <span class="pl-en">TransTable</span>(<span class="pl-k">const</span> TransTable&amp;) <span class="pl-k">noexcept</span> = default;                <span class="pl-c"><span class="pl-c">//</span>!&lt; Default copy constructor.</span></div></div></div><div class="child-of-line-164 child-of-line-187  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-k">inline</span> <span class="pl-en">TransTable</span>(TransTable&amp;&amp;) <span class="pl-k">noexcept</span> = default;                     <span class="pl-c"><span class="pl-c">//</span>!&lt; Default move constructor.</span></div></div></div><div class="child-of-line-164 child-of-line-187  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="child-of-line-164 child-of-line-187  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-k">inline</span> <span class="pl-en">~TransTable</span>() <span class="pl-k">noexcept</span> = <span class="pl-k">default</span>;                                <span class="pl-c"><span class="pl-c">//</span>!&lt; Default descrtuctor</span></div></div></div><div class="child-of-line-164 child-of-line-187  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">
</div></div></div><div class="child-of-line-164 child-of-line-187  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-c"><span class="pl-c">//</span>---   operators   -----------------------------------</span></div></div></div><div class="child-of-line-164 child-of-line-187  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">            <span class="pl-k">inline</span> TransTable&amp; <span class="pl-k">operator</span>= (<span class="pl-k">const</span> TransTable&amp;) <span class="pl-k">noexcept</span> = <span class="pl-k">default</span>;    <span class="pl-c"><span class="pl-c">//</span>!&lt; Default copy assignment</span></div></div></div><div class="child-of-line-164 child-of-line-187  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-k">inline</span> TransTable&amp; <span class="pl-k">operator</span>= (TransTable&amp;&amp;) <span class="pl-k">noexcept</span> = <span class="pl-k">default</span>;         <span class="pl-c"><span class="pl-c">//</span>!&lt; Default move assignment</span></div></div></div><div class="child-of-line-164 child-of-line-187  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">
</div></div></div><div class="child-of-line-164 child-of-line-187  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-c"><span class="pl-c">/*</span>* \brief Assignment operator with a standard map. <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164 child-of-line-187  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">inline</span> TransTable&amp; <span class="pl-k">operator</span>= (<span class="pl-k">const</span> std::map&lt;key_type, value_type&gt;&amp; trans_table) <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164 child-of-line-187  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">            {</div></div></div><div class="child-of-line-164 child-of-line-187  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">                m_table = trans_table;</div></div></div><div class="child-of-line-164 child-of-line-187  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">return</span> *<span class="pl-c1">this</span>;</div></div></div><div class="child-of-line-164 child-of-line-187  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">            }</div></div></div><div class="child-of-line-164 child-of-line-187  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">
</div></div></div><div class="child-of-line-164 child-of-line-187  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">            <span class="pl-c"><span class="pl-c">/*</span>* \brief Indexing operator. <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164 child-of-line-187  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">            <span class="pl-k">[[nodiscard]]</span></div></div></div><div class="child-of-line-164 child-of-line-187  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">inline</span> value_type <span class="pl-k">operator</span>[] (<span class="pl-k">const</span> key_type ch) <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164 child-of-line-187  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="child-of-line-164 child-of-line-187  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-k">auto</span> it = m_table.<span class="pl-c1">find</span>(ch);</div></div></div><div class="child-of-line-164 child-of-line-187  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-k">if</span> (it != m_table.<span class="pl-c1">end</span>()) <span class="pl-k">[[likely]]</span> {</div></div></div><div class="child-of-line-164 child-of-line-187  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-k">return</span> it-&gt;<span class="pl-smi">second</span>;</div></div></div><div class="child-of-line-164 child-of-line-187  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">                }</div></div></div><div class="child-of-line-164 child-of-line-187  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-k">else</span> <span class="pl-k">[[unlikely]]</span> {</div></div></div><div class="child-of-line-164 child-of-line-187  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">                    <span class="pl-k">return</span> ch;</div></div></div><div class="child-of-line-164 child-of-line-187  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">                }</div></div></div><div class="child-of-line-164 child-of-line-187  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">            }</div></div></div><div class="child-of-line-164 child-of-line-187  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">
</div></div></div><div class="child-of-line-164 child-of-line-187  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">            <span class="pl-k">inline</span> std::map&lt;<span class="pl-k">typename</span> key_type, <span class="pl-k">typename</span> value_type&gt;&amp; <span class="pl-en">get_table</span>() <span class="pl-k">noexcept</span> <span class="pl-c"><span class="pl-c">//</span>!&lt; for tests purposes</span></div></div></div><div class="child-of-line-164 child-of-line-187  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="child-of-line-164 child-of-line-187  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-k">return</span> m_table;</div></div></div><div class="child-of-line-164 child-of-line-187  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">            }</div></div></div><div class="child-of-line-164 child-of-line-187  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">
</div></div></div><div class="child-of-line-164 child-of-line-187  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-k">private:</span></div></div></div><div class="child-of-line-164 child-of-line-187  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">            std::map&lt;<span class="pl-k">typename</span> key_type, <span class="pl-k">typename</span> value_type&gt; m_table{};  <span class="pl-c"><span class="pl-c">//</span> the internal storage of the translation table. Access it via the indexing operator.</span></div></div></div><div class="child-of-line-164 child-of-line-187  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">
</div></div></div><div class="child-of-line-164  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">        };</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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="child-of-line-164  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-c"><span class="pl-c">//</span>===   Constructors / Destructor   =======================</span></div></div></div><div class="child-of-line-164  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">        <span class="pl-k">inline</span> <span class="pl-en">CppStringT</span>()                                                                 : MyBaseClass() {}                      <span class="pl-c"><span class="pl-c">//</span> #1</span></div></div></div><div class="child-of-line-164  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">inline</span> <span class="pl-en">CppStringT</span>(<span class="pl-k">const</span> CppStringT&amp; other)                                          : MyBaseClass(other) {}                 <span class="pl-c"><span class="pl-c">//</span> #2</span></div></div></div><div class="child-of-line-164  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">        <span class="pl-k">inline</span> <span class="pl-en">CppStringT</span>(<span class="pl-k">const</span> CppStringT&amp; other, <span class="pl-k">const</span> AllocatorT&amp; alloc)                 : MyBaseClass(other, alloc) {}          <span class="pl-c"><span class="pl-c">//</span> #3</span></div></div></div><div class="child-of-line-164  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">inline</span> <span class="pl-en">CppStringT</span>(CppStringT&amp;&amp; other) <span class="pl-k">noexcept</span>                                      : MyBaseClass(other) {}                 <span class="pl-c"><span class="pl-c">//</span> #4</span></div></div></div><div class="child-of-line-164  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-k">inline</span> <span class="pl-en">CppStringT</span>(CppStringT&amp;&amp; other, <span class="pl-k">const</span> AllocatorT&amp; alloc) <span class="pl-k">noexcept</span>             : MyBaseClass(other, alloc) {}          <span class="pl-c"><span class="pl-c">//</span> #5</span></div></div></div><div class="child-of-line-164  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">inline</span> <span class="pl-en">CppStringT</span>(MyBaseClass::size_type count, CharT ch)                           : MyBaseClass(count, ch) {}             <span class="pl-c"><span class="pl-c">//</span> #6</span></div></div></div><div class="child-of-line-164  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">        <span class="pl-k">inline</span> <span class="pl-en">CppStringT</span>(<span class="pl-k">const</span> CppStringT&amp; other, size_type pos)                           : MyBaseClass(other, pos) {}            <span class="pl-c"><span class="pl-c">//</span> #7</span></div></div></div><div class="child-of-line-164  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">        <span class="pl-k">inline</span> <span class="pl-en">CppStringT</span>(<span class="pl-k">const</span> CppStringT&amp; other, size_type pos, size_type count) <span class="pl-k">noexcept</span> : MyBaseClass(other, pos, count) {}     <span class="pl-c"><span class="pl-c">//</span> #8</span></div></div></div><div class="child-of-line-164  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-k">inline</span> <span class="pl-en">CppStringT</span>(<span class="pl-k">const</span> CharT* s)                                                                                           <span class="pl-c"><span class="pl-c">//</span> #9</span></div></div></div><div class="child-of-line-164  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">            : MyBaseClass(s ? s : CppStringT().c_str())</div></div></div><div class="child-of-line-164  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">        {}</div></div></div><div class="child-of-line-164  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-k">inline</span> <span class="pl-en">CppStringT</span>(<span class="pl-k">const</span> CharT* s, size_type count)                                                                          <span class="pl-c"><span class="pl-c">//</span> #10</span></div></div></div><div class="child-of-line-164  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">            : MyBaseClass(s ? s : CppStringT().c_str(), count)</div></div></div><div class="child-of-line-164  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">        {}</div></div></div><div class="child-of-line-164  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-k">inline</span> <span class="pl-en">CppStringT</span>(std::initializer_list&lt;CharT&gt; ilist)                               : MyBaseClass(ilist) {}                 <span class="pl-c"><span class="pl-c">//</span> #11</span></div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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-k">inline</span> <span class="pl-en">CppStringT</span>(<span class="pl-k">const</span> CharT ch)                                                   : MyBaseClass(<span class="pl-c1">1</span>, ch) {}                 <span class="pl-c"><span class="pl-c">//</span> #19</span></div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">        <span class="pl-k">inline</span> <span class="pl-en">CppStringT</span>(<span class="pl-k">const</span> MyBaseClass&amp; other)                                         : MyBaseClass(other) {}                 <span class="pl-c"><span class="pl-c">//</span> #12</span></div></div></div><div class="child-of-line-164  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-k">inline</span> <span class="pl-en">CppStringT</span>(<span class="pl-k">const</span> MyBaseClass&amp; other, <span class="pl-k">const</span> AllocatorT&amp; alloc)                : MyBaseClass(other, alloc) {}          <span class="pl-c"><span class="pl-c">//</span> #13</span></div></div></div><div class="child-of-line-164  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-k">inline</span> <span class="pl-en">CppStringT</span>(MyBaseClass&amp;&amp; other)                                              : MyBaseClass(other) {}                 <span class="pl-c"><span class="pl-c">//</span> #14</span></div></div></div><div class="child-of-line-164  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-k">inline</span> <span class="pl-en">CppStringT</span>(MyBaseClass&amp;&amp; other, <span class="pl-k">const</span> AllocatorT&amp; alloc)                     : MyBaseClass(other, alloc) {}          <span class="pl-c"><span class="pl-c">//</span> #15</span></div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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-k">template</span>&lt;<span class="pl-k">class</span> <span class="pl-en">InputIt</span>&gt;</div></div></div><div class="child-of-line-164  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-k">inline</span> <span class="pl-en">CppStringT</span>(InputIt first, InputIt last)                                      : MyBaseClass(first, last) {}           <span class="pl-c"><span class="pl-c">//</span> #16</span></div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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-k">template</span>&lt;<span class="pl-k">class</span> <span class="pl-en">StringViewLike</span>&gt;</div></div></div><div class="child-of-line-164  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-k">explicit</span> <span class="pl-en">CppStringT</span>(StringViewLike&amp; svl)                                            : MyBaseClass(svl) {}                   <span class="pl-c"><span class="pl-c">//</span> #17</span></div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">        <span class="pl-k">template</span>&lt;<span class="pl-k">class</span> <span class="pl-en">StringViewLike</span>&gt;</div></div></div><div class="child-of-line-164  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-en">CppStringT</span>(StringViewLike&amp; svl, size_type pos, size_type n)                         : MyBaseClass(svl, pos, n) {}           <span class="pl-c"><span class="pl-c">//</span> #18</span></div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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-k">inline</span> <span class="pl-en">~CppStringT</span>() <span class="pl-k">noexcept</span> = <span class="pl-k">default</span>;</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">//</span>===   Assignment operators   ============================</span></div></div></div><div class="child-of-line-164  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">        CppStringT&amp; <span class="pl-k">operator</span>= (<span class="pl-k">const</span> CppStringT&amp;) <span class="pl-k">noexcept</span> = <span class="pl-k">default</span>;   <span class="pl-c"><span class="pl-c">//</span>!&lt; Default copy assignment</span></div></div></div><div class="child-of-line-164  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">        CppStringT&amp; <span class="pl-k">operator</span>= (CppStringT&amp;&amp;) <span class="pl-k">noexcept</span> = <span class="pl-k">default</span>;        <span class="pl-c"><span class="pl-c">//</span>!&lt; Default move assignment</span></div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">//</span>===   Exceptions   ======================================</span></div></div></div><div class="child-of-line-164  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-k">class</span> <span class="pl-en">NotFoundException</span> : <span class="pl-k">public</span> <span class="pl-en">std</span>::logic_error</div></div></div><div class="child-of-line-164 child-of-line-428  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">        {</div></div></div><div class="child-of-line-164 child-of-line-428  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-k">public:</span></div></div></div><div class="child-of-line-164 child-of-line-428  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">using</span> MyBaseClass = std::logic_error;</div></div></div><div class="child-of-line-164 child-of-line-428  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="child-of-line-164 child-of-line-428  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">inline</span> <span class="pl-en">NotFoundException</span>(<span class="pl-k">const</span> std::string&amp; what_arg) : MyBaseClass(what_arg) {}</div></div></div><div class="child-of-line-164 child-of-line-428  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">inline</span> <span class="pl-en">NotFoundException</span>(<span class="pl-k">const</span> <span class="pl-k">char</span>* what_arg) : MyBaseClass(what_arg) {}</div></div></div><div class="child-of-line-164  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">        };</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">//</span>===   Methods   =========================================</span></div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">//</span>---   capitalize()   ------------------------------------</span></div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">/*</span>* \brief Returns a copy of the string with its first character capitalized and the rest lowercased. <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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">inline</span> CppStringT <span class="pl-en">capitalize</span>() <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164 child-of-line-442  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">        {</div></div></div><div class="child-of-line-164 child-of-line-442  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">            CppStringT <span class="pl-smi">res</span>(*<span class="pl-c1">this</span>);</div></div></div><div class="child-of-line-164 child-of-line-442  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">if</span> (!res.<span class="pl-c1">empty</span>()) <span class="pl-k">[[likely]]</span> {</div></div></div><div class="child-of-line-164 child-of-line-442  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">                res.<span class="pl-c1">lower</span>();</div></div></div><div class="child-of-line-164 child-of-line-442  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">                res[<span class="pl-c1">0</span>] = <span class="pl-c1">pcs::to_upper</span>(res[<span class="pl-c1">0</span>]);</div></div></div><div class="child-of-line-164 child-of-line-442  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">            }</div></div></div><div class="child-of-line-164 child-of-line-442  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">return</span> res;</div></div></div><div class="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">        <span class="pl-c"><span class="pl-c">//</span>---   center()   ----------------------------------------</span></div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">/*</span>* \brief Returns a copy of the string centered in a string of length width.</span></div></div></div><div class="child-of-line-164  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-c">        *</span></div></div></div><div class="child-of-line-164  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"><span class="pl-c">        * Padding is done using the specified fillchar (default is an ASCII space).</span></div></div></div><div class="child-of-line-164  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-c">        * A copy of the original string is returned if width is less than or  equal</span></div></div></div><div class="child-of-line-164  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">        * to the length of the string. The original string remains unchanged.</span></div></div></div><div class="child-of-line-164  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">        <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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-k">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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">        CppStringT <span class="pl-en">center</span>(<span class="pl-k">const</span> size_type width, <span class="pl-k">const</span> value_type fillch = value_type(<span class="pl-s"><span class="pl-pds">&#039;</span> <span class="pl-pds">&#039;</span></span>)) <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164 child-of-line-461  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">        {</div></div></div><div class="child-of-line-164 child-of-line-461  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">const</span> size_type len{ <span class="pl-c1">this</span>-&gt;<span class="pl-c1">size</span>() };</div></div></div><div class="child-of-line-164 child-of-line-461  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">            <span class="pl-k">if</span> (width &lt;= len) <span class="pl-k">[[unlikely]]</span></div></div></div><div class="child-of-line-164 child-of-line-461  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">return</span> <span class="pl-c1">CppStringT</span>(*<span class="pl-c1">this</span>);</div></div></div><div class="child-of-line-164 child-of-line-461  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">
</div></div></div><div class="child-of-line-164 child-of-line-461  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">const</span> size_type half{ (width - len) / <span class="pl-c1">2</span> };</div></div></div><div class="child-of-line-164 child-of-line-461  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">return</span> <span class="pl-c1">CppStringT</span>(half, fillch) + *<span class="pl-c1">this</span> + <span class="pl-c1">CppStringT</span>(width - half - len, fillch);</div></div></div><div class="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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"><span class="pl-c">//</span>---   contains()   --------------------------------------</span></div></div></div><div class="child-of-line-164  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"><span class="pl-c">/*</span>* \brief Returns true if this string contains the passed string, or false otherwise.</span></div></div></div><div class="child-of-line-164  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="child-of-line-164  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-c">        * This is a c++ implementation of Python keyword &#039;in&#039; applied to strings.</span></div></div></div><div class="child-of-line-164  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-c">        <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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-k">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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">constexpr</span> <span class="pl-k">bool</span> <span class="pl-en">contains</span>(<span class="pl-k">const</span> CppStringT&amp; substr) <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164 child-of-line-478  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">        {</div></div></div><div class="child-of-line-164 child-of-line-478  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">if</span> (substr.<span class="pl-c1">empty</span>()) <span class="pl-k">[[unlikely]]</span></div></div></div><div class="child-of-line-164 child-of-line-478  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">                <span class="pl-c"><span class="pl-c">//</span> the empty string is always contained in any string</span></div></div></div><div class="child-of-line-164 child-of-line-478  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">                <span class="pl-k">return</span> <span class="pl-c1">true</span>;</div></div></div><div class="child-of-line-164 child-of-line-478  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">
</div></div></div><div class="child-of-line-164 child-of-line-478  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-k">if</span> (defined(_HAS_CXX23) &amp;&amp; _HAS_CXX23) || (!defined(_HAS_CXX23) &amp;&amp; __cplusplus &gt;= 202302L)</div></div></div><div class="child-of-line-164 child-of-line-478  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 class="pl-c">//</span> c++23 and above already defines this method</span></div></div></div><div class="child-of-line-164 child-of-line-478  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-k">return</span> <span class="pl-c1">MyBaseClass::contains</span>(substr);</div></div></div><div class="child-of-line-164 child-of-line-478  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-k">else</span></div></div></div><div class="child-of-line-164 child-of-line-478  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">            <span class="pl-c"><span class="pl-c">//</span> up to c++20, we have to implement this method</span></div></div></div><div class="child-of-line-164 child-of-line-478  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-k">const</span> size_type substr_width{ substr.<span class="pl-c1">size</span>() };</div></div></div><div class="child-of-line-164 child-of-line-478  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-k">const</span> size_type width{ <span class="pl-c1">this</span>-&gt;<span class="pl-c1">size</span>() };</div></div></div><div class="child-of-line-164 child-of-line-478  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">
</div></div></div><div class="child-of-line-164 child-of-line-478  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">            <span class="pl-k">if</span> (substr_width &gt; width) <span class="pl-k">[[unlikely]]</span></div></div></div><div class="child-of-line-164 child-of-line-478  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-k">return</span> <span class="pl-c1">false</span>;</div></div></div><div class="child-of-line-164 child-of-line-478  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">
</div></div></div><div class="child-of-line-164 child-of-line-478  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-k">for</span> (size_type index = <span class="pl-c1">0</span>; index &lt;= width - substr_width; ++index) <span class="pl-k">[[likely]]</span> {</div></div></div><div class="child-of-line-164 child-of-line-478  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-k">if</span> (substr == <span class="pl-c1">this</span>-&gt;<span class="pl-c1">substr</span>(index, substr_width))</div></div></div><div class="child-of-line-164 child-of-line-478  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-k">return</span> <span class="pl-c1">true</span>;</div></div></div><div class="child-of-line-164 child-of-line-478  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">            }</div></div></div><div class="child-of-line-164 child-of-line-478  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">
</div></div></div><div class="child-of-line-164 child-of-line-478  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">            <span class="pl-k">return</span> <span class="pl-c1">false</span>;</div></div></div><div class="child-of-line-164 child-of-line-478  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-k">endif</span></div></div></div><div class="child-of-line-164  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="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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="child-of-line-164  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"><span class="pl-c">//</span>---   contains_n()   ------------------------------------</span></div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">/*</span>* \brief Returns true if the passed string is found within the slice str[start:start+count-1], or false otherwise.</span></div></div></div><div class="child-of-line-164  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"><span class="pl-c">        *</span></div></div></div><div class="child-of-line-164  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-c">        * This is a c++ implementation of Python keyword &#039;in&#039; applied to Python sliced strings.</span></div></div></div><div class="child-of-line-164  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-c">        <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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">        <span class="pl-k">inline</span> <span class="pl-k">constexpr</span> <span class="pl-k">bool</span> <span class="pl-en">contains_n</span>(<span class="pl-k">const</span> CppStringT&amp; sub, <span class="pl-k">const</span> size_type start, <span class="pl-k">const</span> size_type count = -<span class="pl-c1">1</span>) <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164 child-of-line-511  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="child-of-line-164 child-of-line-511  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-k">try</span> {</div></div></div><div class="child-of-line-164 child-of-line-511  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-k">return</span> <span class="pl-c1">this</span>-&gt;<span class="pl-c1">substr</span>(start, count).<span class="pl-c1">contains</span>(sub);</div></div></div><div class="child-of-line-164 child-of-line-511  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">            }</div></div></div><div class="child-of-line-164 child-of-line-511  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-k">catch</span> (...) {</div></div></div><div class="child-of-line-164 child-of-line-511  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-k">return</span> <span class="pl-c1">false</span>;</div></div></div><div class="child-of-line-164 child-of-line-511  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="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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="child-of-line-164  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 class="pl-c">//</span>---   count()   -----------------------------------------</span></div></div></div><div class="child-of-line-164  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"><span class="pl-c">/*</span>* \brief Returns the number of non-overlapping occurrences of substring sub in the range [start, end]. <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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-k">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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">constexpr</span> size_type <span class="pl-en">count</span>(<span class="pl-k">const</span> CppStringT&amp; sub, <span class="pl-k">const</span> size_type start = <span class="pl-c1">0</span>, <span class="pl-k">const</span> size_type end = -<span class="pl-c1">1</span>) <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164 child-of-line-525  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">        {</div></div></div><div class="child-of-line-164 child-of-line-525  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">            size_type n = <span class="pl-c1">0</span>;</div></div></div><div class="child-of-line-164 child-of-line-525  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">            CppStringT tmp{ <span class="pl-c1">this</span>-&gt;<span class="pl-c1">substr</span>(start, <span class="pl-c1">std::min</span>(<span class="pl-c1">this</span>-&gt;<span class="pl-c1">size</span>(), end) - start + <span class="pl-c1">1</span>) };</div></div></div><div class="child-of-line-164 child-of-line-525  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">
</div></div></div><div class="child-of-line-164 child-of-line-525  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">            size_type start_{ <span class="pl-c1">0</span> };</div></div></div><div class="child-of-line-164 child-of-line-525  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">            size_type end_{ tmp.<span class="pl-c1">size</span>() };</div></div></div><div class="child-of-line-164 child-of-line-525  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">
</div></div></div><div class="child-of-line-164 child-of-line-525  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">            <span class="pl-k">while</span> ((start_ = tmp.<span class="pl-c1">find</span>(sub, start_, end_)) != CppStringT::npos) {</div></div></div><div class="child-of-line-164 child-of-line-525  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">                start_ += sub.<span class="pl-c1">size</span>();</div></div></div><div class="child-of-line-164 child-of-line-525  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">                end_ -= start_;</div></div></div><div class="child-of-line-164 child-of-line-525  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">                tmp = tmp.<span class="pl-c1">substr</span>(start_, <span class="pl-c1">std::min</span>(tmp.<span class="pl-c1">size</span>(), end_) + <span class="pl-c1">1</span>);</div></div></div><div class="child-of-line-164 child-of-line-525  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">                start_ = <span class="pl-c1">0</span>;</div></div></div><div class="child-of-line-164 child-of-line-525  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">                n++;</div></div></div><div class="child-of-line-164 child-of-line-525  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">            }</div></div></div><div class="child-of-line-164 child-of-line-525  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">
</div></div></div><div class="child-of-line-164 child-of-line-525  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">            <span class="pl-k">return</span> n;</div></div></div><div class="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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 class="pl-c">//</span>---   count_n()   ---------------------------------------</span></div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">/*</span>* \brief Returns the number of non-overlapping occurrences of substring sub in the range [start, start+length-1]. <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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">        <span class="pl-k">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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">inline</span> <span class="pl-k">constexpr</span> size_type <span class="pl-en">count_n</span>(<span class="pl-k">const</span> CppStringT&amp; sub, <span class="pl-k">const</span> size_type start, <span class="pl-k">const</span> size_type length) <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164  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">        {</div></div></div><div class="child-of-line-164  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-k">return</span> <span class="pl-c1">count</span>(sub, start, start + length - <span class="pl-c1">1</span>);</div></div></div><div class="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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="child-of-line-164  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-c"><span class="pl-c">/*</span>* \brief Returns the number of non-overlapping occurrences of substring sub in the range [0, length-1]. <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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">        <span class="pl-k">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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-k">inline</span> <span class="pl-k">constexpr</span> size_type <span class="pl-en">count_n</span>(<span class="pl-k">const</span> CppStringT&amp; sub, <span class="pl-k">const</span> size_type length) <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164  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">        {</div></div></div><div class="child-of-line-164  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-k">return</span> <span class="pl-c1">count</span>(sub, <span class="pl-c1">0</span>, length - <span class="pl-c1">1</span>);</div></div></div><div class="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">        <span class="pl-c"><span class="pl-c">//</span>---   endswith()   --------------------------------------</span></div></div></div><div class="child-of-line-164  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 class="pl-c">/*</span>* \brief Returns true if the string ends with the specified suffix, otherwise returns false. Test begins at start position and stops at end position. <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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-k">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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-k">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">endswith</span>(<span class="pl-k">const</span> CppStringT&amp; suffix, <span class="pl-k">const</span> size_type start, <span class="pl-k">const</span> size_type end) <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164  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">        {</div></div></div><div class="child-of-line-164  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-k">return</span> <span class="pl-c1">this</span>-&gt;<span class="pl-c1">substr</span>(start, end - start + <span class="pl-c1">1</span>).<span class="pl-smi">MyBaseClass</span><span class="pl-c1">::ends_with</span>(suffix);</div></div></div><div class="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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"><span class="pl-c">/*</span>* \brief Returns true if the string ends with the specified suffix, otherwise returns false. Test begins at start of string and stops at end position. <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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-k">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">endswith</span>(<span class="pl-k">const</span> CppStringT&amp; suffix, <span class="pl-k">const</span> size_type end) <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164  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">        {</div></div></div><div class="child-of-line-164  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-k">return</span> <span class="pl-c1">this</span>-&gt;<span class="pl-c1">substr</span>(<span class="pl-c1">0</span>, end).<span class="pl-smi">MyBaseClass</span><span class="pl-c1">::ends_with</span>(suffix);</div></div></div><div class="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">/*</span>* \brief Returns true if the string ends with the specified suffix, otherwise returns false. Test runs on the whole string. <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">endswith</span>(<span class="pl-k">const</span> CppStringT&amp; suffix) <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164  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">        {</div></div></div><div class="child-of-line-164  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-k">return</span> <span class="pl-k">static_cast</span>&lt;<span class="pl-k">const</span> <span class="pl-k">bool</span>&gt;(<span class="pl-c1">MyBaseClass::ends_with</span>(suffix));</div></div></div><div class="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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="child-of-line-164  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">        <span class="pl-c"><span class="pl-c">/*</span>* \brief Returns true if the string ends with any of the specified suffixes, otherwise returns false. Test begins at start position and stops at end position. <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">endswith</span>(<span class="pl-k">const</span> std::initializer_list&lt;CppStringT&gt;&amp; suffixes, <span class="pl-k">const</span> size_type start, <span class="pl-k">const</span> size_type end) <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164 child-of-line-585  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">        {</div></div></div><div class="child-of-line-164 child-of-line-585  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">if</span> (start &gt; end) <span class="pl-k">[[unlikely]]</span></div></div></div><div class="child-of-line-164 child-of-line-585  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">                <span class="pl-k">return</span> <span class="pl-c1">false</span>;</div></div></div><div class="child-of-line-164 child-of-line-585  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="child-of-line-164 child-of-line-585  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">            CppStringT <span class="pl-smi">tmp</span>(<span class="pl-c1">this</span>-&gt;<span class="pl-c1">substr</span>(start, end - start + <span class="pl-c1">1</span>));</div></div></div><div class="child-of-line-164 child-of-line-585  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-k">for</span> (<span class="pl-k">auto</span>&amp; suffix : suffixes) {</div></div></div><div class="child-of-line-164 child-of-line-585  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-k">if</span> (tmp.<span class="pl-c1">ends_with</span>(suffix)) <span class="pl-k">[[unlikely]]</span></div></div></div><div class="child-of-line-164 child-of-line-585  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-k">return</span> <span class="pl-c1">true</span>;</div></div></div><div class="child-of-line-164 child-of-line-585  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">            }</div></div></div><div class="child-of-line-164 child-of-line-585  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-k">return</span> <span class="pl-c1">false</span>;</div></div></div><div class="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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 class="pl-c">//</span>---   endswith_n()   ------------------------------------</span></div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">/*</span>* \brief Returns true if the string ends with the specified suffix, otherwise returns false. Test begins at start position and stops after count positions. <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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">        <span class="pl-k">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">endswith_n</span>(<span class="pl-k">const</span> CppStringT&amp; suffix, <span class="pl-k">const</span> size_type start, <span class="pl-k">const</span> size_type count) <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164  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="child-of-line-164  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-k">return</span> <span class="pl-c1">endswith</span>(suffix, start, start + count - <span class="pl-c1">1</span>);</div></div></div><div class="child-of-line-164  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="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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"><span class="pl-c">/*</span>* \brief Returns true if the string ends with the specified suffix, otherwise returns false. Test begins at position 0 and stops after count positions. <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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-k">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">endswith_n</span>(<span class="pl-k">const</span> CppStringT&amp; suffix, <span class="pl-k">const</span> size_type count) <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164  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="child-of-line-164  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">return</span> <span class="pl-c1">endswith</span>(suffix, <span class="pl-c1">0</span>, count - <span class="pl-c1">1</span>);</div></div></div><div class="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">        <span class="pl-c"><span class="pl-c">/*</span>* \brief Returns true if the string ends with any of the specified suffixes, otherwise returns false. Test begins at start position and stops after count positions. <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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-k">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">endswith_n</span>(<span class="pl-k">const</span> std::initializer_list&lt;CppStringT&gt;&amp; suffixes, <span class="pl-k">const</span> size_type start, <span class="pl-k">const</span> size_type count) <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164  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">        {</div></div></div><div class="child-of-line-164  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-k">return</span> <span class="pl-c1">endswith</span>(suffixes, start, start + count - <span class="pl-c1">1</span>);</div></div></div><div class="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">//</span>---   expand_tabs()   -----------------------------------</span></div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">/*</span>* \brief Returns a copy of the string where all tab characters are replaced by one or more spaces, depending on the current column and the given tab size. <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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">        CppStringT <span class="pl-en">expand_tabs</span>(<span class="pl-k">const</span> size_type tabsize = <span class="pl-c1">8</span>) <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164 child-of-line-625  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">        {</div></div></div><div class="child-of-line-164 child-of-line-625  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-k">const</span> size_type tabsize_{ tabsize == <span class="pl-c1">0</span> ? <span class="pl-c1">1</span> : tabsize };</div></div></div><div class="child-of-line-164 child-of-line-625  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">            CppStringT ret{};</div></div></div><div class="child-of-line-164 child-of-line-625  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">
</div></div></div><div class="child-of-line-164 child-of-line-625  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">            std::<span class="pl-c1">size_t</span> current_pos{ <span class="pl-c1">0</span> };</div></div></div><div class="child-of-line-164 child-of-line-625  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-k">for</span> (<span class="pl-k">const</span> value_type ch : *<span class="pl-c1">this</span>) {</div></div></div><div class="child-of-line-164 child-of-line-625  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">if</span> (ch == <span class="pl-c1">value_type</span>(<span class="pl-s"><span class="pl-pds">&#039;</span><span class="pl-cce">\t</span><span class="pl-pds">&#039;</span></span>)) <span class="pl-k">[[unlikely]]</span> {</div></div></div><div class="child-of-line-164 child-of-line-625  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">                    <span class="pl-k">do</span> {</div></div></div><div class="child-of-line-164 child-of-line-625  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">                        ret += <span class="pl-c1">value_type</span>(<span class="pl-s"><span class="pl-pds">&#039;</span> <span class="pl-pds">&#039;</span></span>);</div></div></div><div class="child-of-line-164 child-of-line-625  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">                        current_pos++;</div></div></div><div class="child-of-line-164 child-of-line-625  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">while</span> (current_pos % tabsize_ != <span class="pl-c1">0</span>);</div></div></div><div class="child-of-line-164 child-of-line-625  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">                }</div></div></div><div class="child-of-line-164 child-of-line-625  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-k">else</span> <span class="pl-k">if</span> (ch == <span class="pl-c1">value_type</span>(<span class="pl-s"><span class="pl-pds">&#039;</span><span class="pl-cce">\n</span><span class="pl-pds">&#039;</span></span>) || ch == <span class="pl-c1">value_type</span>(<span class="pl-s"><span class="pl-pds">&#039;</span><span class="pl-cce">\r</span><span class="pl-pds">&#039;</span></span>)) <span class="pl-k">[[unlikely]]</span> {</div></div></div><div class="child-of-line-164 child-of-line-625  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">                    ret += ch;</div></div></div><div class="child-of-line-164 child-of-line-625  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">                    current_pos = <span class="pl-c1">0</span>;</div></div></div><div class="child-of-line-164 child-of-line-625  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="child-of-line-164 child-of-line-625  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">else</span> <span class="pl-k">[[likely]]</span> {</div></div></div><div class="child-of-line-164 child-of-line-625  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">                    ret += ch;</div></div></div><div class="child-of-line-164 child-of-line-625  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">                    current_pos++;</div></div></div><div class="child-of-line-164 child-of-line-625  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">                }</div></div></div><div class="child-of-line-164 child-of-line-625  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="child-of-line-164 child-of-line-625  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="child-of-line-164 child-of-line-625  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-k">return</span> ret;</div></div></div><div class="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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="child-of-line-164  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 class="pl-c">//</span>---   find()   ------------------------------------------</span></div></div></div><div class="child-of-line-164  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"><span class="pl-c">/*</span>* \brief Returns the lowest index in the string where substring sub is found within the slice str[start:end], or -1 (i.e. &#039;npos&#039;) if sub is not found.</span></div></div></div><div class="child-of-line-164  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="child-of-line-164  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-c">        * Note: this method should be used only if you need to know the position of</span></div></div></div><div class="child-of-line-164  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-c">        * sub.  To check if sub is a substring or not, use the method contains().</span></div></div></div><div class="child-of-line-164  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"><span class="pl-c">        *</span></div></div></div><div class="child-of-line-164  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"><span class="pl-c">        * CAUTION: empty substrings are considered to be in the string if start and</span></div></div></div><div class="child-of-line-164  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">        * end positions are both less than the string size and if start &lt;= end.</span></div></div></div><div class="child-of-line-164  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">        *</span></div></div></div><div class="child-of-line-164  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-c">        * \see find_n(), rfind() and rfind_n().</span></div></div></div><div class="child-of-line-164  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-c">        * \see index(), index_n(), rindex() and rindex_n().</span></div></div></div><div class="child-of-line-164  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-c">        <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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-k">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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-k">constexpr</span> size_type <span class="pl-en">find</span>(<span class="pl-k">const</span> CppStringT&amp; sub, <span class="pl-k">const</span> size_type start = <span class="pl-c1">0</span>, <span class="pl-k">const</span> size_type end = -<span class="pl-c1">1</span>) <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164 child-of-line-665  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="child-of-line-164 child-of-line-665  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-k">const</span> size_type end_{ (end == -<span class="pl-c1">1</span>) ? <span class="pl-c1">this</span>-&gt;<span class="pl-c1">size</span>() : end };</div></div></div><div class="child-of-line-164 child-of-line-665  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">
</div></div></div><div class="child-of-line-164 child-of-line-665  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-k">if</span> (start &gt; end_) <span class="pl-k">[[unlikely]]</span></div></div></div><div class="child-of-line-164 child-of-line-665  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">return</span> CppStringT::npos;</div></div></div><div class="child-of-line-164 child-of-line-665  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-k">else</span> <span class="pl-k">[[likely]]</span></div></div></div><div class="child-of-line-164 child-of-line-665  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">                <span class="pl-k">return</span> <span class="pl-c1">find_n</span>(sub, start, end_ - start + <span class="pl-c1">1</span>);</div></div></div><div class="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">//</span>---   find_n()   ----------------------------------------</span></div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">/*</span>* \brief Returns the lowest index in the string where substring sub is found within the slice str[start:start+count-1], or -1 (i.e. &#039;npos&#039;) if sub is not found.</span></div></div></div><div class="child-of-line-164  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-c">        *</span></div></div></div><div class="child-of-line-164  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-c">        * Note: this method should be used only if you need to know the position of</span></div></div></div><div class="child-of-line-164  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-c">        * sub.  To check if sub is a substring or not, use the method contains_n().</span></div></div></div><div class="child-of-line-164  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-c">        *</span></div></div></div><div class="child-of-line-164  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-c">        * CAUTION: empty substrings are considered to be in the string if start and</span></div></div></div><div class="child-of-line-164  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-c">        * end positions are both less than the string size and if start &lt;= end. The</span></div></div></div><div class="child-of-line-164  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-c">        * returned position is 0.</span></div></div></div><div class="child-of-line-164  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-c">        *</span></div></div></div><div class="child-of-line-164  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"><span class="pl-c">        * \see find(), rfind() and rfind_n().</span></div></div></div><div class="child-of-line-164  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-c">        * \see index(), index_n(), rindex() and rindex_n().</span></div></div></div><div class="child-of-line-164  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"><span class="pl-c">        <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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">        <span class="pl-k">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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">inline</span> <span class="pl-k">constexpr</span> size_type <span class="pl-en">find_n</span>(<span class="pl-k">const</span> CppStringT&amp; sub, <span class="pl-k">const</span> size_type start, <span class="pl-k">const</span> size_type count) <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164 child-of-line-690  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">        {</div></div></div><div class="child-of-line-164 child-of-line-690  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">            <span class="pl-k">constexpr</span> size_type npos{ CppStringT::npos };</div></div></div><div class="child-of-line-164 child-of-line-690  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">
</div></div></div><div class="child-of-line-164 child-of-line-690  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-k">try</span> {</div></div></div><div class="child-of-line-164 child-of-line-690  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-k">const</span> CppStringT sub_str{ <span class="pl-c1">this</span>-&gt;<span class="pl-c1">substr</span>(start, count) };</div></div></div><div class="child-of-line-164 child-of-line-690  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">                <span class="pl-k">const</span> size_type found_pos{ sub_str.<span class="pl-smi">MyBaseClass</span><span class="pl-c1">::find</span>(sub) };</div></div></div><div class="child-of-line-164 child-of-line-690  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">
</div></div></div><div class="child-of-line-164 child-of-line-690  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-k">return</span> (found_pos == npos) ? npos : found_pos + start;</div></div></div><div class="child-of-line-164 child-of-line-690  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="child-of-line-164 child-of-line-690  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-k">catch</span> (...) {</div></div></div><div class="child-of-line-164 child-of-line-690  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-k">return</span> npos;</div></div></div><div class="child-of-line-164 child-of-line-690  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="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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="child-of-line-164  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-c"><span class="pl-c">/*</span>* \brief Returns the lowest index in the string where substring sub is found within the slice str[0:count-1], or -1 (i.e. &#039;npos&#039;) if sub is not found.</span></div></div></div><div class="child-of-line-164  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-c">        *</span></div></div></div><div class="child-of-line-164  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-c">        * Note: this method should be used only if you need to know the position of</span></div></div></div><div class="child-of-line-164  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-c">        * sub.  To check if sub is a substring or not, use the method contains_n().</span></div></div></div><div class="child-of-line-164  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-c">        *</span></div></div></div><div class="child-of-line-164  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-c">        * CAUTION: empty substrings are considered to be in the string if start and</span></div></div></div><div class="child-of-line-164  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"><span class="pl-c">        * end positions are both less than the string size and if start &lt;= end. The</span></div></div></div><div class="child-of-line-164  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">        * returned position is 0.</span></div></div></div><div class="child-of-line-164  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-c">        *</span></div></div></div><div class="child-of-line-164  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"><span class="pl-c">        * \see find(), rfind() and rfind_n().</span></div></div></div><div class="child-of-line-164  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">        * \see index(), index_n(), rindex() and rindex_n().</span></div></div></div><div class="child-of-line-164  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-c">        <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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">        <span class="pl-k">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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">inline</span> <span class="pl-k">constexpr</span> size_type <span class="pl-en">find_n</span>(<span class="pl-k">const</span> CppStringT&amp; sub, <span class="pl-k">const</span> size_type count) <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164  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">        {</div></div></div><div class="child-of-line-164  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-k">return</span> <span class="pl-c1">find_n</span>(sub, <span class="pl-c1">0</span>, count);</div></div></div><div class="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">//</span>---   format()   ----------------------------------------</span></div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">/*</span>* \brief Formats this string according to c++20 std::format() specification. Returns this string. <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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">template</span>&lt;<span class="pl-k">typename</span> T, <span class="pl-k">class</span>... ArgsT&gt;</div></div></div><div class="child-of-line-164  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-k">inline</span> CppStringT&amp; <span class="pl-en">format</span>(</div></div></div><div class="child-of-line-164  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">const</span> std::basic_format_string&lt;T, std::<span class="pl-c1">type_identity_t</span>&lt;ArgsT&gt;...&gt; frmt,</div></div></div><div class="child-of-line-164  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">            ArgsT&amp;&amp;... args</div></div></div><div class="child-of-line-164  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">        )</div></div></div><div class="child-of-line-164  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">        {</div></div></div><div class="child-of-line-164  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">return</span> *<span class="pl-c1">this</span>;</div></div></div><div class="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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-k">template</span>&lt;<span class="pl-k">class</span>... ArgsT&gt;</div></div></div><div class="child-of-line-164  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-k">inline</span> CppStringT&amp; <span class="pl-en">format</span>(      <span class="pl-c"><span class="pl-c">//</span>!&lt; specialzation for char&#039;s</span></div></div></div><div class="child-of-line-164  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">const</span> std::basic_format_string&lt;<span class="pl-k">char</span> , std::<span class="pl-c1">type_identity_t</span>&lt;ArgsT&gt;... &gt; frmt,</div></div></div><div class="child-of-line-164  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">            ArgsT&amp;&amp;... args</div></div></div><div class="child-of-line-164  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">        )</div></div></div><div class="child-of-line-164  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">        {</div></div></div><div class="child-of-line-164  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-k">return</span> *<span class="pl-c1">this</span> = <span class="pl-c1">std::vformat</span>(frmt.<span class="pl-c1">get</span>(), <span class="pl-c1">std::make_format_args</span>(args...));</div></div></div><div class="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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="child-of-line-164  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-k">template</span>&lt;<span class="pl-k">class</span>... ArgsT&gt;</div></div></div><div class="child-of-line-164  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-k">inline</span> CppStringT&amp; <span class="pl-en">format</span>(      <span class="pl-c"><span class="pl-c">//</span>!&lt; specialzation for wchar_t&#039;s</span></div></div></div><div class="child-of-line-164  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">            <span class="pl-k">const</span> std::basic_format_string&lt;<span class="pl-k">wchar_t</span>, std::<span class="pl-c1">type_identity_t</span>&lt;ArgsT&gt;... &gt; frmt,</div></div></div><div class="child-of-line-164  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">            ArgsT&amp;&amp;... args</div></div></div><div class="child-of-line-164  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">        )</div></div></div><div class="child-of-line-164  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">        {</div></div></div><div class="child-of-line-164  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-k">return</span> *<span class="pl-c1">this</span> = <span class="pl-c1">std::vformat</span>(frmt.<span class="pl-c1">get</span>(), <span class="pl-c1">std::make_wformat_args</span>(args...));</div></div></div><div class="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">//</span>---   index()   -----------------------------------------</span></div></div></div><div class="child-of-line-164  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">        <span class="pl-c"><span class="pl-c">/*</span>* \brief Like find(const CppStringT&amp;), but raises NotFoundException when the substring sub is not found.</span></div></div></div><div class="child-of-line-164  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-c">        *</span></div></div></div><div class="child-of-line-164  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">        * \see index_n(), rindex() and rindex_n().</span></div></div></div><div class="child-of-line-164  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">        * \see find(), find_n(), rfind() and rfind_n().</span></div></div></div><div class="child-of-line-164  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-c">        <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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">        <span class="pl-k">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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-k">inline</span> <span class="pl-k">constexpr</span> size_type <span class="pl-en">index</span>(<span class="pl-k">const</span> CppStringT&amp; sub, <span class="pl-k">const</span> size_type start = <span class="pl-c1">0</span>, <span class="pl-k">const</span> size_type end = -<span class="pl-c1">1</span>) <span class="pl-k">const</span></div></div></div><div class="child-of-line-164 child-of-line-761  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">        {</div></div></div><div class="child-of-line-164 child-of-line-761  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-k">const</span> size_type ret_value = <span class="pl-c1">find</span>(sub, start, end);</div></div></div><div class="child-of-line-164 child-of-line-761  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-k">if</span> (ret_value == CppStringT::npos)</div></div></div><div class="child-of-line-164 child-of-line-761  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">                <span class="pl-k">throw</span> <span class="pl-smi">NotFoundException</span>(<span class="pl-s"><span class="pl-pds">&quot;</span>substring not found in string.<span class="pl-pds">&quot;</span></span>);</div></div></div><div class="child-of-line-164 child-of-line-761  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">else</span></div></div></div><div class="child-of-line-164 child-of-line-761  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">                <span class="pl-k">return</span> ret_value;</div></div></div><div class="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">//</span>---   index_n()   ---------------------------------------</span></div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">/*</span>* \brief Like find_n(sub, start, count), but raises NotFoundException when the substring is not found.</span></div></div></div><div class="child-of-line-164  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-c">        *</span></div></div></div><div class="child-of-line-164  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">        * \see index_n(), rindex() and rindex_n().</span></div></div></div><div class="child-of-line-164  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">        * \see find(), find_n(), rfind() and rfind_n().</span></div></div></div><div class="child-of-line-164  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-c">        <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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">        <span class="pl-k">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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">inline</span> <span class="pl-k">constexpr</span> size_type <span class="pl-en">index_n</span>(<span class="pl-k">const</span> CppStringT&amp; sub, <span class="pl-k">const</span> size_type start, <span class="pl-k">const</span> size_type count) <span class="pl-k">const</span></div></div></div><div class="child-of-line-164  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">        {</div></div></div><div class="child-of-line-164  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-k">return</span> <span class="pl-c1">index</span>(sub, start, start + count - <span class="pl-c1">1</span>);</div></div></div><div class="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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="child-of-line-164  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-c"><span class="pl-c">/*</span>* \brief Like find_n(sub, count), but raises NotFoundException when the substring is not found.</span></div></div></div><div class="child-of-line-164  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-c">        *</span></div></div></div><div class="child-of-line-164  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-c">        * \see index_n(), rindex() and rindex_n().</span></div></div></div><div class="child-of-line-164  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-c">        * \see find(), find_n(), rfind() and rfind_n().</span></div></div></div><div class="child-of-line-164  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"><span class="pl-c">        <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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-k">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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">inline</span> <span class="pl-k">constexpr</span> size_type <span class="pl-en">index_n</span>(<span class="pl-k">const</span> CppStringT&amp; sub, <span class="pl-k">const</span> size_type count) <span class="pl-k">const</span></div></div></div><div class="child-of-line-164  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">        {</div></div></div><div class="child-of-line-164  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-k">return</span> <span class="pl-c1">index</span>(sub, <span class="pl-c1">0</span>, count);</div></div></div><div class="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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="child-of-line-164  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-c"><span class="pl-c">//</span>---   isalnum()   ---------------------------------------</span></div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">/*</span>* \brief Returns true if all characters in the string are alphanumeric and there is at least one character, or false otherwise. <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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-k">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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">        <span class="pl-k">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">isalnum</span>() <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164 child-of-line-798  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">        {</div></div></div><div class="child-of-line-164 child-of-line-798  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">if</span> (<span class="pl-c1">this</span>-&gt;<span class="pl-c1">empty</span>()) <span class="pl-k">[[unlikely]]</span></div></div></div><div class="child-of-line-164 child-of-line-798  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-k">return</span> <span class="pl-c1">false</span>;</div></div></div><div class="child-of-line-164 child-of-line-798  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-k">else</span> <span class="pl-k">[[likely]]</span></div></div></div><div class="child-of-line-164 child-of-line-798  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">return</span> <span class="pl-c1">std::all_of</span>(</div></div></div><div class="child-of-line-164 child-of-line-798  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-c1">this</span>-&gt;<span class="pl-c1">cbegin</span>(),</div></div></div><div class="child-of-line-164 child-of-line-798  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-c1">this</span>-&gt;<span class="pl-c1">cend</span>(),</div></div></div><div class="child-of-line-164 child-of-line-798  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">const</span> value_type ch) { <span class="pl-k">return</span> <span class="pl-c1">pcs::is_alpha</span>(ch) || <span class="pl-c1">pcs::is_decimal</span>(ch) || <span class="pl-c1">pcs::is_digit</span>(ch) || <span class="pl-c1">pcs::is_numeric</span>(ch); }</div></div></div><div class="child-of-line-164 child-of-line-798  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">                );</div></div></div><div class="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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"><span class="pl-c">//</span>---   isalpha()   --------------------------------------</span></div></div></div><div class="child-of-line-164  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"><span class="pl-c">/*</span>* \brief Returns true if all characters in the string are alphabetic and there is at least one character, or false otherwise. <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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-k">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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-k">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">isalpha</span>() <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164  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">        {</div></div></div><div class="child-of-line-164  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">            <span class="pl-k">return</span> !<span class="pl-c1">this</span>-&gt;<span class="pl-c1">empty</span>() &amp;&amp; <span class="pl-c1">std::all_of</span>(<span class="pl-c1">this</span>-&gt;<span class="pl-c1">cbegin</span>(), <span class="pl-c1">this</span>-&gt;<span class="pl-c1">cend</span>(), pcs::is_alpha&lt;value_type&gt;);</div></div></div><div class="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">//</span>---   isascii()   ---------------------------------------</span></div></div></div><div class="child-of-line-164  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"><span class="pl-c">/*</span>* \brief Returns true if the string is empty or all characters in the string are ASCII, or false otherwise. <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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-k">if</span> defined(isascii)  <span class="pl-c"><span class="pl-c">//</span> may be already defined in header file &lt;ctype.h&gt;</span></div></div></div><div class="child-of-line-164  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">undef</span> isascii</div></div></div><div class="child-of-line-164  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-k">endif</span></div></div></div><div class="child-of-line-164  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">        <span class="pl-k">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">isascii</span>() <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164  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="child-of-line-164  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">            <span class="pl-k">return</span> <span class="pl-c1">this</span>-&gt;<span class="pl-c1">empty</span>() || <span class="pl-c1">std::all_of</span>(<span class="pl-c1">this</span>-&gt;<span class="pl-c1">cbegin</span>(), <span class="pl-c1">this</span>-&gt;<span class="pl-c1">cend</span>(), pcs::is_ascii&lt;value_type&gt;);</div></div></div><div class="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">//</span>---   isdecimal()   -------------------------------------</span></div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">/*</span>* \brief Returns true if all characters in the string are decimal characters and there is at least one character, or false otherwise.</span></div></div></div><div class="child-of-line-164  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"><span class="pl-c">        *</span></div></div></div><div class="child-of-line-164  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-c">        * Decimal characters are those that can be used to form numbers  in</span></div></div></div><div class="child-of-line-164  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-c">        * base 10, e.g. U+0660, ARABIC-INDIC DIGIT ZERO. Formally a decimal</span></div></div></div><div class="child-of-line-164  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-c">        * character is a character in the Unicode General Category �Nd�.</span></div></div></div><div class="child-of-line-164  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"><span class="pl-c">        <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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">        <span class="pl-k">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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">        <span class="pl-k">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">isdecimal</span>() <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164  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">        {</div></div></div><div class="child-of-line-164  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-k">return</span> !<span class="pl-c1">this</span>-&gt;<span class="pl-c1">empty</span>() &amp;&amp; <span class="pl-c1">std::all_of</span>(<span class="pl-c1">this</span>-&gt;<span class="pl-c1">cbegin</span>(), <span class="pl-c1">this</span>-&gt;<span class="pl-c1">cend</span>(), pcs::is_decimal&lt;value_type&gt;);</div></div></div><div class="child-of-line-164  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="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">//</span>---   isdigit()   ---------------------------------------</span></div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">/*</span>* \brief Returns true if all characters in the string are digits and there is at least one character, or false otherwise.</span></div></div></div><div class="child-of-line-164  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-c">        *</span></div></div></div><div class="child-of-line-164  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"><span class="pl-c">        * Digits include decimal characters and digits that need special</span></div></div></div><div class="child-of-line-164  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"><span class="pl-c">        * handling,  such as the compatibility superscript digits.  This</span></div></div></div><div class="child-of-line-164  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-c">        * covers digits which cannot be used to form numbers in base 10,</span></div></div></div><div class="child-of-line-164  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-c">        * like the Kharosthi numbers.  Formally,  a digit is a character</span></div></div></div><div class="child-of-line-164  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-c">        * that has the property value Numeric_Type=Digit or Numeric_Type</span></div></div></div><div class="child-of-line-164  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">        * =Decimal.</span></div></div></div><div class="child-of-line-164  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">        *</span></div></div></div><div class="child-of-line-164  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">        * CAUTION: current implementation of  library  cpp-strings  does</span></div></div></div><div class="child-of-line-164  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">        * not implement above algorithm. It just returns the same result</span></div></div></div><div class="child-of-line-164  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">        * as &#039;isdecimal()&#039; which is NOT what Python str library does.</span></div></div></div><div class="child-of-line-164  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 class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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-k">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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-k">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">isdigit</span>() <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164  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="child-of-line-164  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-k">return</span> <span class="pl-c1">isdecimal</span>();</div></div></div><div class="child-of-line-164  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="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">        <span class="pl-c"><span class="pl-c">//</span>---   isidentifier()   ----------------------------------</span></div></div></div><div class="child-of-line-164  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"><span class="pl-c">/*</span>* \brief Returns true if the string is not empty and is a valid identifier according to the language definition, or false otherwise.</span></div></div></div><div class="child-of-line-164  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-c">        *</span></div></div></div><div class="child-of-line-164  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-c">        * CAUTION:  the current implementation of this method does not deal with the proper c++</span></div></div></div><div class="child-of-line-164  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-c">        * defintiion of identifiers (see https://en.cppreference.com/w/cpp/language/identifiers</span></div></div></div><div class="child-of-line-164  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-c">        * and https://www.unicode.org/reports/tr31/#Table_Lexical_Classes_for_Identifiers).</span></div></div></div><div class="child-of-line-164  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-c">        *</span></div></div></div><div class="child-of-line-164  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-c">        * While the specification of identifiers in c++ is this one:</span></div></div></div><div class="child-of-line-164  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-c">        *</span></div></div></div><div class="child-of-line-164  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">        *    identifier   ::= XID_Start XID_Continue*</span></div></div></div><div class="child-of-line-164  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">        *    XID_Start    ::= ID_Start XID_Continue*</span></div></div></div><div class="child-of-line-164  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-c">        *    ID_Start     ::= &lt;characters derived from the Unicode General_Category of uppercase letters, lowercase letters, titlecase letters, modifier letters, other letters, letter numbers, plus Other_ID_Start, minus Pattern_Syntax and Pattern_White_Space code points&gt;</span></div></div></div><div class="child-of-line-164  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-c">        *    XID_Continue ::= &lt;characters  derived from ID_Continue as per Unicode specs Section 5.1, NFKC Modifications (https://www.unicode.org/reports/tr31/#NFKC_Modifications)&gt;</span></div></div></div><div class="child-of-line-164  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"><span class="pl-c">        *    ID_Continue  ::= ID_Start | &lt;characters having the Unicode General_Category of nonspacing marks, spacing combining marks, decimal number, connector punctuation, plus Other_ID_Continue, minus Pattern_Syntax and Pattern_White_Space code points&gt;</span></div></div></div><div class="child-of-line-164  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-c">        *</span></div></div></div><div class="child-of-line-164  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-c">        * the currently implemented rule is this simpler one:</span></div></div></div><div class="child-of-line-164  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-c">        *</span></div></div></div><div class="child-of-line-164  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"><span class="pl-c">        *    identifier   ::= ID_Start id_continue*</span></div></div></div><div class="child-of-line-164  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-c">        *    id_continue  ::= ID_Start | decimal_number</span></div></div></div><div class="child-of-line-164  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"><span class="pl-c">        <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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-k">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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-k">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">isidentifier</span>() <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164  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">        {</div></div></div><div class="child-of-line-164  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-k">return</span> !<span class="pl-c1">this</span>-&gt;<span class="pl-c1">empty</span>() &amp;&amp; <span class="pl-c1">pcs::is_id_start</span>((*<span class="pl-c1">this</span>)[<span class="pl-c1">0</span>]) &amp;&amp; (<span class="pl-c1">this</span>-&gt;<span class="pl-c1">size</span>() == <span class="pl-c1">1</span> || <span class="pl-c1">std::all_of</span>(<span class="pl-c1">this</span>-&gt;<span class="pl-c1">cbegin</span>() + <span class="pl-c1">1</span>, <span class="pl-c1">this</span>-&gt;<span class="pl-c1">cend</span>(), pcs::is_id_continue&lt;value_type&gt;));</div></div></div><div class="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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 class="pl-c">//</span>---   islower()   ---------------------------------------</span></div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">/*</span>* \brief Returns true if all cased characters in the string are lowercase and there is at least one cased character, or false otherwise. <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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-k">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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">        <span class="pl-k">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">islower</span>() <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164  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">        {</div></div></div><div class="child-of-line-164  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-k">return</span> !<span class="pl-c1">this</span>-&gt;<span class="pl-c1">empty</span>() &amp;&amp; <span class="pl-c1">std::all_of</span>(<span class="pl-c1">this</span>-&gt;<span class="pl-c1">cbegin</span>(), <span class="pl-c1">this</span>-&gt;<span class="pl-c1">cend</span>(), pcs::is_lower&lt;value_type&gt;);</div></div></div><div class="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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="child-of-line-164  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-c"><span class="pl-c">//</span>---   isnumeric()   -------------------------------------</span></div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">/*</span>* \brief Returns true if all characters in the string are numeric characters, and there is at least one character, or false otherwise.</span></div></div></div><div class="child-of-line-164  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"><span class="pl-c">        *</span></div></div></div><div class="child-of-line-164  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-c">        * CAUTION:  current implementation just returns isdecimal() result,</span></div></div></div><div class="child-of-line-164  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-c">        * while the description of isnumeric() should be this one:</span></div></div></div><div class="child-of-line-164  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-c">        * Numeric  characters  include digit characters, and all characters</span></div></div></div><div class="child-of-line-164  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-c">        * that have the Unicode numeric value property.  Formally,  numeric</span></div></div></div><div class="child-of-line-164  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"><span class="pl-c">        * characters  are those with the property value Numeric_Type=Digit,</span></div></div></div><div class="child-of-line-164  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-c">        * Numeric_Type=Decimal or Numeric_Type=Numeric.</span></div></div></div><div class="child-of-line-164  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">        <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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-k">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">isnumeric</span>() <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164  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">        {</div></div></div><div class="child-of-line-164  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">return</span> <span class="pl-c1">isdecimal</span>();</div></div></div><div class="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">//</span>---   isprintable()   -----------------------------------</span></div></div></div><div class="child-of-line-164  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">        <span class="pl-c"><span class="pl-c">/*</span>* \brief Returns true if all characters in the string are printable or if the string is empty, or false otherwise.</span></div></div></div><div class="child-of-line-164  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">        *</span></div></div></div><div class="child-of-line-164  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">        * Nonprintable characters are those characters defined in the Unicode</span></div></div></div><div class="child-of-line-164  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">        * character  database as &quot;Other&quot; or &quot;Separator&quot;,  excepting the ASCII</span></div></div></div><div class="child-of-line-164  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">        * space (0x20) which is considered printable.</span></div></div></div><div class="child-of-line-164  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">        <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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">        <span class="pl-k">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">isprintable</span>() <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164  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">        {</div></div></div><div class="child-of-line-164  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-k">return</span> <span class="pl-c1">this</span>-&gt;<span class="pl-c1">empty</span>() || <span class="pl-c1">std::all_of</span>(<span class="pl-c1">this</span>-&gt;<span class="pl-c1">cbegin</span>(), <span class="pl-c1">this</span>-&gt;<span class="pl-c1">cend</span>(), pcs::is_printable&lt;value_type&gt;);</div></div></div><div class="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">//</span>---   ispunctuation()   ---------------------------------</span></div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">/*</span>* \brief Returns true if the string contains only one character and if this character belongs to the ASCII punctuation set. <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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-k">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">ispunctuation</span>() <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164  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="child-of-line-164  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">            <span class="pl-k">return</span> <span class="pl-c1">this</span>-&gt;<span class="pl-c1">size</span>() == <span class="pl-c1">1</span> &amp;&amp; <span class="pl-c1">pcs::is_punctuation</span>((*<span class="pl-c1">this</span>)[<span class="pl-c1">0</span>]);</div></div></div><div class="child-of-line-164  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="child-of-line-164  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="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">//</span>---   isspace()   ---------------------------------------</span></div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">/*</span>* \brief Returns true if there are only whitespace characters in the string and there is at least one character, or false otherwise. <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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">        <span class="pl-k">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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-k">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">isspace</span>() <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164  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">        {</div></div></div><div class="child-of-line-164  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-k">return</span> !<span class="pl-c1">this</span>-&gt;<span class="pl-c1">empty</span>() &amp;&amp; <span class="pl-c1">std::all_of</span>(<span class="pl-c1">this</span>-&gt;<span class="pl-c1">cbegin</span>(), <span class="pl-c1">this</span>-&gt;<span class="pl-c1">cend</span>(), pcs::is_space&lt;value_type&gt;);</div></div></div><div class="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">        <span class="pl-c"><span class="pl-c">//</span>---   istitle()   ---------------------------------------</span></div></div></div><div class="child-of-line-164  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">        <span class="pl-c"><span class="pl-c">/*</span>* \brief Returns true if the string is a titlecased string and there is at least one character, or false otherwise.</span></div></div></div><div class="child-of-line-164  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-c">        *</span></div></div></div><div class="child-of-line-164  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"><span class="pl-c">        * For instance uppercase characters may only follow uncased</span></div></div></div><div class="child-of-line-164  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-c">        * characters and lowercase characters only cased ones.</span></div></div></div><div class="child-of-line-164  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">        *</span></div></div></div><div class="child-of-line-164  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-c">        * CAUTION:  current implementation only tests for uppercase</span></div></div></div><div class="child-of-line-164  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-c">        * characters following whitespaces and lowercase characters</span></div></div></div><div class="child-of-line-164  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-c">        * anywhere else.</span></div></div></div><div class="child-of-line-164  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-c">        <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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-k">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">istitle</span>() <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164  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">        {</div></div></div><div class="child-of-line-164  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-k">return</span> !<span class="pl-c1">this</span>-&gt;<span class="pl-c1">empty</span>() &amp;&amp; <span class="pl-c1">this</span>-&gt;<span class="pl-c1">title</span>() == *<span class="pl-c1">this</span>;</div></div></div><div class="child-of-line-164  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="child-of-line-164  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="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">        <span class="pl-c"><span class="pl-c">//</span>---   isupper()   ---------------------------------------</span></div></div></div><div class="child-of-line-164  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">        <span class="pl-c"><span class="pl-c">/*</span>* \brief Returns true if all cased characters in the string are uppercase and there is at least one cased character, or false otherwise. <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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-k">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">isupper</span>() <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164  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">        {</div></div></div><div class="child-of-line-164  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-k">return</span> !<span class="pl-c1">this</span>-&gt;<span class="pl-c1">empty</span>() &amp;&amp; <span class="pl-c1">std::all_of</span>(<span class="pl-c1">this</span>-&gt;<span class="pl-c1">cbegin</span>(), <span class="pl-c1">this</span>-&gt;<span class="pl-c1">cend</span>(), pcs::is_upper&lt;value_type&gt;);</div></div></div><div class="child-of-line-164  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">        }</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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="child-of-line-164  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-c"><span class="pl-c">//</span>---   is_words_sep()   ----------------------------------</span></div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">/*</span>* \brief Returns true if there are only whitespace and punctuation characters in the string and there is at least one character, or false otherwise. <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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-k">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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-k">inline</span> <span class="pl-k">const</span> <span class="pl-k">bool</span> <span class="pl-en">is_words_sep</span>() <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div><div class="child-of-line-164 child-of-line-981  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">        {</div></div></div><div class="child-of-line-164 child-of-line-981  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">            <span class="pl-k">return</span> !<span class="pl-c1">this</span>-&gt;<span class="pl-c1">empty</span>() &amp;&amp;</div></div></div><div class="child-of-line-164 child-of-line-981  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-c1">std::all_of</span>(</div></div></div><div class="child-of-line-164 child-of-line-981  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-c1">this</span>-&gt;<span class="pl-c1">cbegin</span>(),</div></div></div><div class="child-of-line-164 child-of-line-981  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">                    <span class="pl-c1">this</span>-&gt;<span class="pl-c1">cend</span>(),</div></div></div><div class="child-of-line-164 child-of-line-981  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-k">const</span> value_type ch) { <span class="pl-k">return</span> <span class="pl-c1">pcs::is_space</span>(ch) || <span class="pl-c1">pcs::is_punctuation</span>(ch); }</div></div></div><div class="child-of-line-164 child-of-line-981  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">                );</div></div></div><div class="child-of-line-164  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="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">
</div></div></div><div class="child-of-line-164  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">        <span class="pl-c"><span class="pl-c">//</span>---   join()   ------------------------------------------</span></div></div></div><div class="child-of-line-164  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-c"><span class="pl-c">/*</span>* \brief Returns a string which is the concatenation of the strings in the array parameter.</span></div></div></div><div class="child-of-line-164  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-c">        *</span></div></div></div><div class="child-of-line-164  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"><span class="pl-c">        * The separator between elements is the string to which this method is applied.</span></div></div></div><div class="child-of-line-164  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-c">        <span class="pl-c">*/</span></span></div></div></div><div class="child-of-line-164  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">        <span class="pl-k">template</span>&lt;<span class="pl-k">const</span> std::<span class="pl-c1">size_t</span> N&gt;</div></div></div><div class="child-of-line-164  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-k">[[nodiscard]]</span></div></div></div><div class="child-of-line-164  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">        CppStringT <span class="pl-en">join</span>(<span class="pl-k">const</span> std::array&lt;CppStringT, N&gt;&amp; strs) <span class="pl-k">const</span> <span class="pl-k">noexcept</span></div></div></div></div></div><div class="CodeLinesSSR-module__viewRemainderLink__pd3EU"><a class="prc-Link-Link-9ZwDx" data-component="Link" href="https://github.com/schmouk/pythonic-cpp-strings/raw/refs/heads/dev/cpp-strings/cppstrings.h">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 class="HighlightedLineMenu-module__overlayPortalRoot__QDpCt"></div></div></div><!--/$--><div class="d-none"></div></section></div></div></div> </div> <!-- --> </div></div></div></div></div></div><div class="ScrollMarksContainer-module__scrollMarksContainer__Eu7uU" id="find-result-marks-container"></div><div class="d-none"></div><div class="d-none"></div></div> <!-- --> <!-- --> </div>
</react-app>




  </div>

</turbo-frame>

    </main>
  </div>

  </div>

          <footer class="footer f6 color-fg-muted color-border-subtle tmp-pt-7 tmp-pb-6 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="GitHub Homepage" class="footer-octicon mr-2" href="https://github.com">
        <svg aria-hidden="true" data-component="Octicon" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github">
    <path d="M10.226 17.284c-2.965-.36-5.054-2.493-5.054-5.256 0-1.123.404-2.336 1.078-3.144-.292-.741-.247-2.314.09-2.965.898-.112 2.111.36 2.83 1.01.853-.269 1.752-.404 2.853-.404 1.1 0 1.999.135 2.807.382.696-.629 1.932-1.1 2.83-.988.315.606.36 2.179.067 2.942.72.854 1.101 2 1.101 3.167 0 2.763-2.089 4.852-5.098 5.234.763.494 1.28 1.572 1.28 2.807v2.336c0 .674.561 1.056 1.235.786 4.066-1.55 7.255-5.615 7.255-10.646C23.5 6.188 18.334 1 11.978 1 5.62 1 .5 6.188.5 12.545c0 4.986 3.167 9.12 7.435 10.669.606.225 1.19-.18 1.19-.786V20.63a2.9 2.9 0 0 1-1.078.224c-1.483 0-2.359-.808-2.987-2.313-.247-.607-.517-.966-1.034-1.033-.27-.023-.359-.135-.359-.27 0-.27.45-.471.898-.471.652 0 1.213.404 1.797 1.235.45.651.921.943 1.483.943.561 0 .92-.202 1.437-.719.382-.381.674-.718.944-.943"></path>
</svg>
</a>
      <span>
        &copy; 2026 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 community&quot;,&quot;label&quot;:&quot;text:community&quot;}" href="https://github.community/" data-view-component="true" class="Link--secondary Link">Community</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 text-left"
        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-locale="en"
      data-initial-cookie-consent-allowed=""
      data-cookie-consent-required="true"
    ></ghcc-consent>




  <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden>
    <svg aria-hidden="true" data-component="Octicon" 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" data-component="Octicon" 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" data-component="Octicon" 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 tmp-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 code to clipboard" class="ClipboardButton btn js-clipboard-copy m-2 p-0" data-copy-feedback="Copied!" data-tooltip-direction="w">
      <svg aria-hidden="true" data-component="Octicon" 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 tmp-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" data-component="Octicon" 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 tmp-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 code to clipboard" 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" data-component="Octicon" 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" data-component="Octicon" 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>

