





<!DOCTYPE html>
<html
  lang="en"
  
  data-color-mode="auto" data-light-theme="light" data-dark-theme="dark"
  data-a11y-animated-images="system" data-a11y-link-underlines="true"
  
  >




  <head>
    <meta charset="utf-8">
  <link rel="dns-prefetch" href="https://github.githubassets.com">
  <link rel="dns-prefetch" href="https://avatars.githubusercontent.com">
  <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com">
  <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/">
  <link rel="preconnect" href="https://github.githubassets.com" crossorigin>
  <link rel="preconnect" href="https://avatars.githubusercontent.com">

  


  <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light-44e67b0cd5d5.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light_high_contrast-b51c2fae25e8.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-cb035ed575b8.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark_high_contrast-99e9b1169976.css" /><link data-color-theme="light" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light-44e67b0cd5d5.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-b51c2fae25e8.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-dadcba82130c.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-cdc36145225e.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-0ca195e3b5f3.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-f9fb5556a83f.css" /><link data-color-theme="dark" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark-cb035ed575b8.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-99e9b1169976.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-9541c4141757.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-bc604fc65912.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-384776200fd7.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-489c70dedd0a.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-1545a2e9e540.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-4c1792a987c3.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-15839d47b75d.css" />
    <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-a5c85403da8c.css" />
    <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-4d11e88b2383.css" />
    <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-ec63e494af4a.css" />
  <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repository-5d735668c600.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-9c9b8dc61e74.css" />

  

  <script type="application/json" id="client-env">{"locale":"en","featureFlags":["actions_custom_images_public_preview_visibility","alternate_user_config_repo","api_insights_show_missing_data_banner","attestations_filtering","attestations_sorting","billing_hide_expired_credits","billing_unfiltered_discounts","client_version_header","codespaces_prebuild_region_target_update","contentful_lp_footnotes","copilot_agent_cli_public_preview","copilot_agent_task_list_v2","copilot_agent_tasks_btn_code_nav","copilot_agent_tasks_btn_code_view","copilot_agent_tasks_btn_code_view_lines","copilot_api_agentic_issue_marshal_yaml","copilot_api_github_draft_update_issue_skill","copilot_chat_agents_empty_state","copilot_chat_attach_multiple_images","copilot_chat_file_redirect","copilot_chat_reduce_quota_checks","copilot_chat_search_bar_redirect","copilot_chat_selection_attachments","copilot_chat_vision_in_claude","copilot_chat_vision_skip_thread_create","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_duplicate_thread","copilot_extensions_deprecation_notice","copilot_features_raycast_logo","copilot_file_block_ref_matching","copilot_free_to_paid_telem","copilot_ftp_hyperspace_upgrade_prompt","copilot_ftp_settings_upgrade","copilot_ftp_upgrade_to_pro_from_models","copilot_ftp_your_copilot_settings","copilot_generate_commit_message_dry_regenerate","copilot_immersive_structured_model_picker","copilot_immersive_task_within_chat_thread","copilot_insights_column_chart_axis_legibility_fix","copilot_insights_usage_export_ndjson","copilot_mission_control_feedback","copilot_mission_control_session_feedback","copilot_no_floating_button","copilot_read_shared_conversation","copilot_spaces_as_attachments","copilot_spaces_ga","copilot_spark_empty_state","copilot_spark_loading_webgl","copilot_spark_progressive_error_handling","copilot_spark_read_iteration_history_from_git_v2","copilot_spark_use_billing_headers","copilot_spark_write_iteration_history_to_git","copilot_stable_conversation_view","copilot_workbench_agent_seed_tool","copilot_workbench_cache","copilot_workbench_connection_reload_banner","copilot_workbench_preview_analytics","copilot_workbench_skip_repo_on_codespace","copilot_workbench_use_single_prompt","direct_to_salesforce","disable_dashboard_universe_2025_private_preview","dotcom_chat_client_side_skills","failbot_report_error_react_apps_on_page","ghost_pilot_confidence_truncation_25","ghost_pilot_confidence_truncation_40","global_search_multi_orgs","hpc_improve_dom_insertion_observer","inp_reduced_threshold","insert_before_patch","issue_fields_report_usage","issues_copilot_cross_repo_assign","issues_react_blur_item_picker_on_close","issues_react_bots_timeline_pagination","issues_react_prohibit_title_fallback","issues_react_remove_placeholders","issues_sticky_sidebar","kb_convert_to_space","lifecycle_label_name_updates","link_contact_sales_swp_marketo","marketing_pages_search_explore_provider","mcp_registry_install","memex_mwl_filter_field_delimiter","new_traffic_page_banner","open_agent_session_in_vscode_insiders","pinned_issue_fields","primer_react_segmented_control_tooltip","primer_react_unified_portal_root","record_sso_banner_metrics","remove_child_patch","repos_insights_remove_new_url","sample_network_conn_type","scheduled_reminders_updated_limits","site_homepage_collaborate_video","site_homepage_contentful","site_msbuild_webgl_hero","spark_fix_rename","spark_force_push_after_checkout","spark_improve_image_upload","spark_kv_encocoded_keys","spark_show_data_access_on_publish","spark_sync_repository_after_iteration","viewscreen_sandbox","webp_support","workbench_store_readonly"],"copilotApiOverrideUrl":"https://api.githubcopilot.com"}</script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/high-contrast-cookie-f3788027bd8d.js"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/wp-runtime-a3c3881da0ff.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover-fn_js-468bf7cab607.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_stacktrace-parser_dist_stack-trace-parser_esm_js-node_modules_github_bro-2f4e04-280c10ec004d.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/environment-b4e74adb6411.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_index_mjs-3eee64e5ddf0.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_selector-observer_dist_index_esm_js-9ab93471824e.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_relative-time-element_dist_index_js-ef89d23fcc0a.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_auto-complete-element_dist_index_js-node_modules_github_catalyst_-0d7d60-ad3a87b2f0eb.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_text-expander-element_dist_index_js-754f5b5e9e7e.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-665e70-ac788066c220.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_markdown-toolbar-element_dist_index_js-d41270eb61be.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_primer_view-co-777ce2-9ec8c103bf42.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/github-elements-9e1d42c09c62.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/element-registry-d62da6481f0c.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_braintree_browser-detection_dist_browser-detection_js-node_modules_githu-bb80ec-f11c694928ba.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-9012bef51135.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_morphdom_dist_morphdom-e-c1896e-ba47f43192a8.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-893f9f-9ba0881c72fb.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_turbo_dist_turbo_es2017-esm_js-8eb9b2209bcd.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_hotkey_dist_index_js-node_modules_github_hydro-analytics-client_d-dd3ec8-1f3d5f90de2b.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_quote-selection_dist_index_js-node_modules_github_session-resume_-31b9f3-9021ed20220b.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/packages_document-metadata_document-metadata_ts-packages_failbot_failbot_ts-06156f7d8d1a.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/packages_updatable-content_updatable-content_ts-38f5e2f7c2a7.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_ajax-error_ts-app_assets_modules_github_behaviors_details-6493f1-cecb020e2bb7.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_task-list_ts-app_assets_modules_github_throttled-input_ts-047775-cfe8770908d1.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_commenting_edit_ts-app_assets_modules_github_behaviors_ht-83c235-d8c5bfe37d1d.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-d431b500aedc.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-ef6d0f-20d6767cecc0.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/notifications-global-d89a4ddd4532.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_github_catalyst_lib_inde-96937f-70732ff56a20.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/code-menu-614eb4e0c016.js" defer="defer"></script>
  
  <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/primer-react-cdd6dd11a475.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/react-lib-25ef56e89e94.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/react-core-26c9e2751844.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/octicons-react-dfcd3f5e8531.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_emotion_is-prop-valid_dist_emotion-is-prop-valid_esm_js-node_modules_emo-825c28-cdae255a4bbc.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_github_hydro-analytics-c-c228f9-e9af1d9bff76.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_tanstack_query-core_build_modern_mutation_js-node_modules_tanstack_query-9bf7e4-2246c69bea10.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_swc_helpers_esm__class_private_method_get_js-node_modules_swc_helpers_es-d6b1a6-13297632eddc.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_dompurify_dist_purify_es_mjs-0294cfa498e7.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lodash-es__Stack_js-node_modules_lodash-es__Uint8Array_js-node_modules_l-4faaa6-fa61bd48d446.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_hydro-analytics-client_dist_analytics-client_js-node_modules_gith-c7919d-70dcea79f7a9.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_tanstack_react-virtual_dist_esm_index_js-3274b1ed347f.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_catalyst_lib_index_js-node_modules_swc_helpers_esm__class_static_-5988f51-502ec131d853.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_decorators_js-node_modules_fzy_js_index_js-nod-a71c46-526ae0c57e8d.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/packages_paths_index_ts-290dbd707459.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/packages_history_history_ts-packages_promise-with-resolvers-polyfill_promise-with-resolvers-p-2cdd04-a13a722d5075.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/packages_ref-selector_RefSelector_tsx-496d6a5b2807.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/packages_copilot-chat_utils_copilot-local-storage_ts-5411dc607664.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/packages_copilot-chat_utils_language-info_ts-packages_copy-to-clipboard_CopyToClipboardButton_tsx-d2d760dd69a4.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/packages_commit-attribution_index_ts-packages_commit-checks-status_index_ts-packages_current--18e2dc-495db525b69f.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/packages_diffs_diff-parts_ts-f9d7298ee7c9.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/packages_code-view-shared_hooks_use-canonical-object_ts-packages_code-view-shared_hooks_use-f-11e2e7-07a32be2f024.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/packages_app-uuid_app-uuid_ts-packages_repos-file-tree-view_repos-file-tree-view_ts-0977800e9d2d.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_react-code-view_utilities_lines_ts-6fb547ac9323.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/react-code-view-2ce9ccf1d88d.js" defer="defer"></script>
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.45f06febf6dab702a065.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/react-code-view.28a88b7e874732ef96a9.module.css" />

  <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/packages_notifications-subscriptions-menu_entry_ts-packages_promise-with-resolvers-polyfill_p-15cb60-9c0f034a796f.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/notifications-subscriptions-menu-c28df4f8626e.js" defer="defer"></script>
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.45f06febf6dab702a065.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/notifications-subscriptions-menu.bab8822ac328fb95c70d.module.css" />


  <title>gh/githubcli/githubcli.py at master · donnemartin/gh · 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:04998bd4-d8f8-aca4-df90-8c2b562fe302">

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


  <meta name="request-id" content="A614:C7CF4:691940:65DCEF:68FFAD82" data-pjax-transient="true"/><meta name="html-safe-nonce" content="beb46c460afff2b9b0c5340748a8e36934ff65179bd300a74385df7563dc178d" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBNjE0OkM3Q0Y0OjY5MTk0MDo2NURDRUY6NjhGRkFEODIiLCJ2aXNpdG9yX2lkIjoiNjcwNzAyNTAxMTQxNDExNzc2MiIsInJlZ2lvbl9lZGdlIjoic2VhIiwicmVnaW9uX3JlbmRlciI6InNlYSJ9" data-pjax-transient="true"/><meta name="visitor-hmac" content="8c2cdbc53ed5859ce49b5d104f3bb12dd176bd2097a41d65f4e2c4994789402c" data-pjax-transient="true"/>


    <meta name="hovercard-subject-tag" content="repository:46049288" 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="Contribute to donnemartin/gh development by creating an account on GitHub.">

      <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">

    <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
    <meta property="fb:app_id" content="1401488693436528">
    <meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://github.com/donnemartin/gh/blob/master/githubcli/githubcli.py" />

      <meta name="twitter:image" content="https://opengraph.githubassets.com/fa3246bf43a1327ba9b8f8a6aaa77bd2a4cc8e3f34f50b81cbf113393c80800f/donnemartin/gh" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="gh/githubcli/githubcli.py at master · donnemartin/gh" /><meta name="twitter:description" content="Contribute to donnemartin/gh development by creating an account on GitHub." />
  <meta property="og:image" content="https://opengraph.githubassets.com/fa3246bf43a1327ba9b8f8a6aaa77bd2a4cc8e3f34f50b81cbf113393c80800f/donnemartin/gh" /><meta property="og:image:alt" content="Contribute to donnemartin/gh development by creating an account on GitHub." /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="600" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="gh/githubcli/githubcli.py at master · donnemartin/gh" /><meta property="og:url" content="https://github.com/donnemartin/gh/blob/master/githubcli/githubcli.py" /><meta property="og:description" content="Contribute to donnemartin/gh development by creating an account on GitHub." />
  




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



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


  <meta http-equiv="x-pjax-version" content="e150928f7264df5a3a520e45058fcf4f5d4e920157a56c979727ca8085773a21" data-turbo-track="reload">
  <meta http-equiv="x-pjax-csp-version" content="21a43568025709b66240454fc92d4f09335a96863f8ab1c46b4a07f6a5b67102" data-turbo-track="reload">
  <meta http-equiv="x-pjax-css-version" content="7964b30fa60115f65360530cbcd168c126ee202e15b2d790f4adfe3b92228099" data-turbo-track="reload">
  <meta http-equiv="x-pjax-js-version" content="f9af6702ba9a111ece0c65b46658befa6b26401fcbb815c7358a381249478d21" 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/donnemartin/gh git https://github.com/donnemartin/gh.git">

  <meta name="octolytics-dimension-user_id" content="5458997" /><meta name="octolytics-dimension-user_login" content="donnemartin" /><meta name="octolytics-dimension-repository_id" content="46049288" /><meta name="octolytics-dimension-repository_nwo" content="donnemartin/gh" /><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="46049288" /><meta name="octolytics-dimension-repository_network_root_nwo" content="donnemartin/gh" />



    

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


  <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats">

  <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors">

  <meta name="release" content="46eed7a75ac5adfc628c79f778734f774c2d7b68">
  <meta name="ui-target" content="full">

  <link rel="mask-icon" href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color="#000000">
  <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png">
  <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg" data-base-href="https://github.githubassets.com/favicons/favicon">

<meta name="theme-color" content="#1e2327">
<meta name="color-scheme" content="light dark" />


  <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials">

  </head>

  <body class="logged-out env-production page-responsive" style="word-wrap: break-word;">
    <div data-turbo-body class="logged-out env-production page-responsive" style="word-wrap: break-word;">
      



    <div class="position-relative header-wrapper js-header-wrapper ">
      <a href="#start-of-content" data-skip-target-assigned="false" class="px-2 py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a>

      <span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full">
    <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span>
</span>      
      
      <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.45f06febf6dab702a065.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/keyboard-shortcuts-dialog.2de9c7d6456a311fce49.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>





      

          

              
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_gsap_index_js-6265bea06e74.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-94fd67-dc050877d1bf.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/sessions-917229b8a853.js" defer="defer"></script>

<header class="HeaderMktg header-logged-out js-details-container js-header Details f4 py-3" role="banner" data-is-top="true" data-color-mode=light data-light-theme=light data-dark-theme=dark>
  <h2 class="sr-only">Navigation Menu</h2>

  <button type="button" class="HeaderMktg-backdrop d-lg-none border-0 position-fixed top-0 left-0 width-full height-full js-details-target" aria-label="Toggle navigation">
    <span class="d-none">Toggle navigation</span>
  </button>

  <div class="d-flex flex-column flex-lg-row flex-items-center px-3 px-md-4 px-lg-5 height-full position-relative z-1">
    <div class="d-flex flex-justify-between flex-items-center width-full width-lg-auto">
      <div class="flex-1">
        <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target js-nav-padding-recalculate js-header-menu-toggle Button--link Button--medium Button d-lg-none color-fg-inherit p-1">  <span class="Button-content">
    <span class="Button-label"><div class="HeaderMenu-toggle-bar rounded my-1"></div>
            <div class="HeaderMenu-toggle-bar rounded my-1"></div>
            <div class="HeaderMenu-toggle-bar rounded my-1"></div></span>
  </span>
</button>
      </div>

      <a class="mr-lg-3 color-fg-inherit flex-order-2 js-prevent-focus-on-mobile-nav"
        href="/"
        aria-label="Homepage"
        data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to go to homepage&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Logomark;ref_loc:Header&quot;}">
        <svg height="32" aria-hidden="true" viewBox="0 0 24 24" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github">
    <path d="M12 1C5.923 1 1 5.923 1 12c0 4.867 3.149 8.979 7.521 10.436.55.096.756-.233.756-.522 0-.262-.013-1.128-.013-2.049-2.764.509-3.479-.674-3.699-1.292-.124-.317-.66-1.293-1.127-1.554-.385-.207-.936-.715-.014-.729.866-.014 1.485.797 1.691 1.128.99 1.663 2.571 1.196 3.204.907.096-.715.385-1.196.701-1.471-2.448-.275-5.005-1.224-5.005-5.432 0-1.196.426-2.186 1.128-2.956-.111-.275-.496-1.402.11-2.915 0 0 .921-.288 3.024 1.128a10.193 10.193 0 0 1 2.75-.371c.936 0 1.871.123 2.75.371 2.104-1.43 3.025-1.128 3.025-1.128.605 1.513.221 2.64.111 2.915.701.77 1.127 1.747 1.127 2.956 0 4.222-2.571 5.157-5.019 5.432.399.344.743 1.004.743 2.035 0 1.471-.014 2.654-.014 3.025 0 .289.206.632.756.522C19.851 20.979 23 16.854 23 12c0-6.077-4.922-11-11-11Z"></path>
</svg>
      </a>

      <div class="d-flex flex-1 flex-order-2 text-right d-lg-none gap-2 flex-justify-end">
          <a
            href="/login?return_to=https%3A%2F%2Fgithub.com%2Fdonnemartin%2Fgh%2Fblob%2Fmaster%2Fgithubcli%2Fgithubcli.py"
            class="HeaderMenu-link HeaderMenu-button d-inline-flex f5 no-underline border color-border-default rounded-2 px-2 py-1 color-fg-inherit js-prevent-focus-on-mobile-nav"
            data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/donnemartin/gh/blob/master/githubcli/githubcli.py&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6d9331f8086fde2fb15231a83e67f0a0af2718fb19e2458f0a7c7e058a038197"
            data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to Sign in&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Sign in;ref_loc:Header&quot;}"
          >
            Sign in
          </a>
              <div class="AppHeader-appearanceSettings">
    <react-partial-anchor>
      <button data-target="react-partial-anchor.anchor" id="icon-button-81a41c1c-e592-4935-a6cd-0ad02baeb4f2" aria-labelledby="tooltip-a1f6a2d2-e0a3-46fb-a287-33e42bcc3057" type="button" disabled="disabled" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium AppHeader-button HeaderMenu-link border cursor-wait">  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-sliders Button-visual">
    <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>
</button><tool-tip id="tooltip-a1f6a2d2-e0a3-46fb-a287-33e42bcc3057" for="icon-button-81a41c1c-e592-4935-a6cd-0ad02baeb4f2" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Appearance settings</tool-tip>

      <template data-target="react-partial-anchor.template">
        <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.45f06febf6dab702a065.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/appearance-settings.6c63a6de228d6520804d.module.css" />

<react-partial
  partial-name="appearance-settings"
  data-ssr="false"
  data-attempted-ssr="false"
  data-react-profiling="false"
>
  
  <script type="application/json" data-target="react-partial.embeddedData">{"props":{}}</script>
  <div data-target="react-partial.reactRoot"></div>
</react-partial>


      </template>
    </react-partial-anchor>
  </div>

      </div>
    </div>


    <div class="HeaderMenu js-header-menu height-fit position-lg-relative d-lg-flex flex-column flex-auto top-0">
      <div class="HeaderMenu-wrapper d-flex flex-column flex-self-start flex-lg-row flex-auto rounded rounded-lg-0">
            <nav class="HeaderMenu-nav" aria-label="Global">
              <ul class="d-lg-flex list-style-none">
                  <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item">
      <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false">
        Platform
        <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1">
    <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path>
</svg>
      </button>

      <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 dropdown-menu-wide">
        <div class="d-lg-flex dropdown-menu-wide">
            <div class="HeaderMenu-column px-lg-4">
                <div class="">

                  <ul class="list-style-none f5" >
                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description mb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_copilot&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_copilot_link_platform_navbar&quot;}" href="https://github.com/features/copilot">
      <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3">
    <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path>
</svg>
      <div>
        <div class="color-fg-default h4">
          GitHub Copilot

        </div>

        Write better code with AI
      </div>

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description mb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_spark&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_spark_link_platform_navbar&quot;}" href="https://github.com/features/spark">
      <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-sparkle-fill color-fg-subtle mr-3">
    <path d="M11.296 1.924c.24-.656 1.168-.656 1.408 0l.717 1.958a11.25 11.25 0 0 0 6.697 6.697l1.958.717c.657.24.657 1.168 0 1.408l-1.958.717a11.25 11.25 0 0 0-6.697 6.697l-.717 1.958c-.24.657-1.168.657-1.408 0l-.717-1.958a11.25 11.25 0 0 0-6.697-6.697l-1.958-.717c-.656-.24-.656-1.168 0-1.408l1.958-.717a11.25 11.25 0 0 0 6.697-6.697l.717-1.958Z"></path>
</svg>
      <div>
        <div class="color-fg-default h4">
          GitHub Spark

            <span class="HeaderMenu-label">
              New
            </span>
        </div>

        Build and deploy intelligent apps
      </div>

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description mb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_models&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_models_link_platform_navbar&quot;}" href="https://github.com/features/models">
      <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-ai-model color-fg-subtle mr-3">
    <path d="M19.375 8.5a3.25 3.25 0 1 1-3.163 4h-3a3.252 3.252 0 0 1-4.443 2.509L7.214 17.76a3.25 3.25 0 1 1-1.342-.674l1.672-2.957A3.238 3.238 0 0 1 6.75 12c0-.907.371-1.727.97-2.316L6.117 6.846A3.253 3.253 0 0 1 1.875 3.75a3.25 3.25 0 1 1 5.526 2.32l1.603 2.836A3.25 3.25 0 0 1 13.093 11h3.119a3.252 3.252 0 0 1 3.163-2.5ZM10 10.25a1.75 1.75 0 1 0-.001 3.499A1.75 1.75 0 0 0 10 10.25ZM5.125 2a1.75 1.75 0 1 0 0 3.5 1.75 1.75 0 0 0 0-3.5Zm12.5 9.75a1.75 1.75 0 1 0 3.5 0 1.75 1.75 0 0 0-3.5 0Zm-14.25 8.5a1.75 1.75 0 1 0 3.501-.001 1.75 1.75 0 0 0-3.501.001Z"></path>
</svg>
      <div>
        <div class="color-fg-default h4">
          GitHub Models

            <span class="HeaderMenu-label">
              New
            </span>
        </div>

        Manage and compare prompts
      </div>

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description mb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_advanced_security&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_advanced_security_link_platform_navbar&quot;}" href="https://github.com/security/advanced-security">
      <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3">
    <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path>
</svg>
      <div>
        <div class="color-fg-default h4">
          GitHub Advanced Security

        </div>

        Find and fix vulnerabilities
      </div>

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;actions&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;actions_link_platform_navbar&quot;}" href="https://github.com/features/actions">
      <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-workflow color-fg-subtle mr-3">
    <path d="M1 3a2 2 0 0 1 2-2h6.5a2 2 0 0 1 2 2v6.5a2 2 0 0 1-2 2H7v4.063C7 16.355 7.644 17 8.438 17H12.5v-2.5a2 2 0 0 1 2-2H21a2 2 0 0 1 2 2V21a2 2 0 0 1-2 2h-6.5a2 2 0 0 1-2-2v-2.5H8.437A2.939 2.939 0 0 1 5.5 15.562V11.5H3a2 2 0 0 1-2-2Zm2-.5a.5.5 0 0 0-.5.5v6.5a.5.5 0 0 0 .5.5h6.5a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5ZM14.5 14a.5.5 0 0 0-.5.5V21a.5.5 0 0 0 .5.5H21a.5.5 0 0 0 .5-.5v-6.5a.5.5 0 0 0-.5-.5Z"></path>
</svg>
      <div>
        <div class="color-fg-default h4">
          Actions

        </div>

        Automate any workflow
      </div>

    
</a></li>

                  </ul>
                </div>
            </div>
            <div class="HeaderMenu-column px-lg-4 pb-3 pb-lg-0 border-lg-right">
                <div class="border-bottom border-lg-bottom-0 pb-lg-0 pb-3">

                  <ul class="list-style-none f5" >
                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description mb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;codespaces&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;codespaces_link_platform_navbar&quot;}" href="https://github.com/features/codespaces">
      <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-codespaces color-fg-subtle mr-3">
    <path d="M3.5 3.75C3.5 2.784 4.284 2 5.25 2h13.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 18.75 13H5.25a1.75 1.75 0 0 1-1.75-1.75Zm-2 12c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 0 1-1.75 1.75H3.25a1.75 1.75 0 0 1-1.75-1.75ZM5.25 3.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h13.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Zm-2 12a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h17.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25Z"></path><path d="M10 17.75a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path>
</svg>
      <div>
        <div class="color-fg-default h4">
          Codespaces

        </div>

        Instant dev environments
      </div>

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description mb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;issues&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;issues_link_platform_navbar&quot;}" href="https://github.com/features/issues">
      <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-issue-opened color-fg-subtle mr-3">
    <path d="M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Zm9.5 2a2 2 0 1 1-.001-3.999A2 2 0 0 1 12 14Z"></path>
</svg>
      <div>
        <div class="color-fg-default h4">
          Issues

        </div>

        Plan and track work
      </div>

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description mb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;code_review&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;code_review_link_platform_navbar&quot;}" href="https://github.com/features/code-review">
      <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-review color-fg-subtle mr-3">
    <path d="M10.3 6.74a.75.75 0 0 1-.04 1.06l-2.908 2.7 2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 0 1-1.75 1.75h-9.69l-3.573 3.573A1.458 1.458 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75ZM3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.72-3.72a.749.749 0 0 1 .53-.22h10a.25.25 0 0 0 .25-.25V4.25a.25.25 0 0 0-.25-.25Z"></path>
</svg>
      <div>
        <div class="color-fg-default h4">
          Code Review

        </div>

        Manage code changes
      </div>

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description mb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;discussions&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;discussions_link_platform_navbar&quot;}" href="https://github.com/features/discussions">
      <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3">
    <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path>
</svg>
      <div>
        <div class="color-fg-default h4">
          Discussions

        </div>

        Collaborate outside of code
      </div>

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;code_search&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;code_search_link_platform_navbar&quot;}" href="https://github.com/features/code-search">
      <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-square color-fg-subtle mr-3">
    <path d="M10.3 8.24a.75.75 0 0 1-.04 1.06L7.352 12l2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25Zm1.75-.25a.25.25 0 0 0-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z"></path>
</svg>
      <div>
        <div class="color-fg-default h4">
          Code Search

        </div>

        Find more, search less
      </div>

    
</a></li>

                  </ul>
                </div>
            </div>
            <div class="HeaderMenu-column px-lg-4">
                <div class="border-bottom border-lg-bottom-0 pb-lg-0 mb-3 pb-3">

                      <span class="d-block h4 color-fg-default my-1" id="platform-explore-heading">Explore</span>

                  <ul class="list-style-none f5" aria-labelledby="platform-explore-heading">
                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;why_github&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;why_github_link_platform_navbar&quot;}" href="https://github.com/why-github">
      Why GitHub

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;documentation&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;documentation_link_platform_navbar&quot;}" href="https://docs.github.com">
      Documentation

    <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
    <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
</svg>
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_skills&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_skills_link_platform_navbar&quot;}" href="https://skills.github.com">
      GitHub Skills

    <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
    <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
</svg>
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;blog&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;blog_link_platform_navbar&quot;}" href="https://github.blog">
      Blog

    <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
    <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
</svg>
</a></li>

                  </ul>
                </div>
                <div class="border-bottom border-lg-bottom-0 pb-lg-0 pb-3">

                      <span class="d-block h4 color-fg-default my-1" id="platform-integrations-heading">Integrations</span>

                  <ul class="list-style-none f5" aria-labelledby="platform-integrations-heading">
                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_marketplace&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_marketplace_link_platform_navbar&quot;}" href="https://github.com/marketplace">
      GitHub Marketplace

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;mcp_registry&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;mcp_registry_link_platform_navbar&quot;}" href="https://github.com/mcp">
      MCP Registry

    
</a></li>

                  </ul>
                </div>
            </div>
        </div>

          <div class="HeaderMenu-trailing-link rounded-bottom-2 mt-lg-4 px-lg-4 py-4 py-lg-3 f5 text-semibold">
            <a data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all_features&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_features_link_platform_navbar&quot;}" href="https://github.com/features">
              View all features
              <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-right HeaderMenu-trailing-link-icon">
    <path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path>
</svg>
</a>          </div>
      </div>
</li>


                  <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item">
      <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false">
        Solutions
        <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1">
    <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path>
</svg>
      </button>

      <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 dropdown-menu-wide">
        <div class="d-lg-flex dropdown-menu-wide">
            <div class="HeaderMenu-column px-lg-4 pb-3 pb-lg-0 border-lg-right">
                <div class="border-bottom border-lg-bottom-0 pb-lg-0 pb-3">

                      <span class="d-block h4 color-fg-default my-1" id="solutions-by-company-size-heading">By company size</span>

                  <ul class="list-style-none f5" aria-labelledby="solutions-by-company-size-heading">
                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;enterprises&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;enterprises_link_solutions_navbar&quot;}" href="https://github.com/enterprise">
      Enterprises

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;small_and_medium_teams&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;small_and_medium_teams_link_solutions_navbar&quot;}" href="https://github.com/team">
      Small and medium teams

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;startups&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;startups_link_solutions_navbar&quot;}" href="https://github.com/enterprise/startups">
      Startups

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;nonprofits&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;nonprofits_link_solutions_navbar&quot;}" href="/solutions/industry/nonprofits">
      Nonprofits

    
</a></li>

                  </ul>
                </div>
            </div>
            <div class="HeaderMenu-column px-lg-4 pb-3 pb-lg-0 border-lg-right">
                <div class="border-bottom border-lg-bottom-0 pb-lg-0 pb-3">

                      <span class="d-block h4 color-fg-default my-1" id="solutions-by-use-case-heading">By use case</span>

                  <ul class="list-style-none f5" aria-labelledby="solutions-by-use-case-heading">
                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;app_modernization&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;app_modernization_link_solutions_navbar&quot;}" href="/solutions/use-case/app-modernization">
      App Modernization

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devsecops&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devsecops_link_solutions_navbar&quot;}" href="/solutions/use-case/devsecops">
      DevSecOps

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devops&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devops_link_solutions_navbar&quot;}" href="/solutions/use-case/devops">
      DevOps

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ci_cd&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ci_cd_link_solutions_navbar&quot;}" href="/solutions/use-case/ci-cd">
      CI/CD

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all_use_cases&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_use_cases_link_solutions_navbar&quot;}" href="/solutions/use-case">
      View all use cases

    
</a></li>

                  </ul>
                </div>
            </div>
            <div class="HeaderMenu-column px-lg-4">
                <div class="border-bottom border-lg-bottom-0 pb-lg-0 pb-3">

                      <span class="d-block h4 color-fg-default my-1" id="solutions-by-industry-heading">By industry</span>

                  <ul class="list-style-none f5" aria-labelledby="solutions-by-industry-heading">
                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;healthcare&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;healthcare_link_solutions_navbar&quot;}" href="/solutions/industry/healthcare">
      Healthcare

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;financial_services&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;financial_services_link_solutions_navbar&quot;}" href="/solutions/industry/financial-services">
      Financial services

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;manufacturing&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;manufacturing_link_solutions_navbar&quot;}" href="/solutions/industry/manufacturing">
      Manufacturing

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;government&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;government_link_solutions_navbar&quot;}" href="/solutions/industry/government">
      Government

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all_industries&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_industries_link_solutions_navbar&quot;}" href="/solutions/industry">
      View all industries

    
</a></li>

                  </ul>
                </div>
            </div>
        </div>

          <div class="HeaderMenu-trailing-link rounded-bottom-2 mt-lg-4 px-lg-4 py-4 py-lg-3 f5 text-semibold">
            <a data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all_solutions&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_solutions_link_solutions_navbar&quot;}" href="/solutions">
              View all solutions
              <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-right HeaderMenu-trailing-link-icon">
    <path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path>
</svg>
</a>          </div>
      </div>
</li>


                  <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item">
      <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false">
        Resources
        <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1">
    <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path>
</svg>
      </button>

      <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 dropdown-menu-wide">
        <div class="d-lg-flex dropdown-menu-wide">
            <div class="HeaderMenu-column px-lg-4 pb-3 pb-lg-0 border-lg-right">
                <div class="border-bottom border-lg-bottom-0 pb-lg-0 pb-3">

                      <span class="d-block h4 color-fg-default my-1" id="resources-topics-heading">Topics</span>

                  <ul class="list-style-none f5" aria-labelledby="resources-topics-heading">
                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ai&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ai_link_resources_navbar&quot;}" href="/resources/articles?topic=ai">
      AI

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devops&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devops_link_resources_navbar&quot;}" href="/resources/articles?topic=devops">
      DevOps

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;security&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;security_link_resources_navbar&quot;}" href="/resources/articles?topic=security">
      Security

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;software_development&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;software_development_link_resources_navbar&quot;}" href="/resources/articles?topic=software-development">
      Software Development

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_link_resources_navbar&quot;}" href="/resources/articles">
      View all

    
</a></li>

                  </ul>
                </div>
            </div>
            <div class="HeaderMenu-column px-lg-4">
                <div class="border-bottom border-lg-bottom-0 pb-lg-0 border-bottom-0">

                      <span class="d-block h4 color-fg-default my-1" id="resources-explore-heading">Explore</span>

                  <ul class="list-style-none f5" aria-labelledby="resources-explore-heading">
                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;learning_pathways&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;learning_pathways_link_resources_navbar&quot;}" href="https://resources.github.com/learn/pathways">
      Learning Pathways

    <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
    <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
</svg>
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;events_amp_webinars&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;events_amp_webinars_link_resources_navbar&quot;}" href="https://github.com/resources/events">
      Events &amp; Webinars

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ebooks_amp_whitepapers&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ebooks_amp_whitepapers_link_resources_navbar&quot;}" href="https://github.com/resources/whitepapers">
      Ebooks &amp; Whitepapers

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;customer_stories&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;customer_stories_link_resources_navbar&quot;}" href="https://github.com/customer-stories">
      Customer Stories

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;partners&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;partners_link_resources_navbar&quot;}" href="https://github.com/partners">
      Partners

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;executive_insights&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;executive_insights_link_resources_navbar&quot;}" href="https://github.com/solutions/executive-insights">
      Executive Insights

    
</a></li>

                  </ul>
                </div>
            </div>
        </div>

      </div>
</li>


                  <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item">
      <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false">
        Open Source
        <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1">
    <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path>
</svg>
      </button>

      <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4">
        <div class="d-lg-flex dropdown-menu-wide">
            <div class="HeaderMenu-column px-lg-4">
                <div class="border-bottom mb-3 mb-lg-3 pb-3">

                  <ul class="list-style-none f5" >
                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_sponsors&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_sponsors_link_open_source_navbar&quot;}" href="/sponsors">
      
      <div>
        <div class="color-fg-default h4">
          GitHub Sponsors

        </div>

        Fund open source developers
      </div>

    
</a></li>

                  </ul>
                </div>
                <div class="border-bottom mb-3 mb-lg-3 pb-3">

                  <ul class="list-style-none f5" >
                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;the_readme_project&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;the_readme_project_link_open_source_navbar&quot;}" href="https://github.com/readme">
      
      <div>
        <div class="color-fg-default h4">
          The ReadME Project

        </div>

        GitHub community articles
      </div>

    
</a></li>

                  </ul>
                </div>
                <div class="border-bottom border-bottom-0">

                      <span class="d-block h4 color-fg-default my-1" id="open-source-repositories-heading">Repositories</span>

                  <ul class="list-style-none f5" aria-labelledby="open-source-repositories-heading">
                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;topics&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;topics_link_open_source_navbar&quot;}" href="https://github.com/topics">
      Topics

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;trending&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;trending_link_open_source_navbar&quot;}" href="https://github.com/trending">
      Trending

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;collections&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;collections_link_open_source_navbar&quot;}" href="https://github.com/collections">
      Collections

    
</a></li>

                  </ul>
                </div>
            </div>
        </div>

      </div>
</li>


                  <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item">
      <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false">
        Enterprise
        <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1">
    <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path>
</svg>
      </button>

      <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4">
        <div class="d-lg-flex dropdown-menu-wide">
            <div class="HeaderMenu-column px-lg-4">
                <div class="border-bottom mb-3 mb-lg-3 pb-3">

                  <ul class="list-style-none f5" >
                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;enterprise_platform&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;enterprise_platform_link_enterprise_navbar&quot;}" href="/enterprise">
      <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-stack color-fg-subtle mr-3">
    <path d="M11.063 1.456a1.749 1.749 0 0 1 1.874 0l8.383 5.316a1.751 1.751 0 0 1 0 2.956l-8.383 5.316a1.749 1.749 0 0 1-1.874 0L2.68 9.728a1.751 1.751 0 0 1 0-2.956Zm1.071 1.267a.25.25 0 0 0-.268 0L3.483 8.039a.25.25 0 0 0 0 .422l8.383 5.316a.25.25 0 0 0 .268 0l8.383-5.316a.25.25 0 0 0 0-.422Z"></path><path d="M1.867 12.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path><path d="M1.867 16.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path>
</svg>
      <div>
        <div class="color-fg-default h4">
          Enterprise platform

        </div>

        AI-powered developer platform
      </div>

    
</a></li>

                  </ul>
                </div>
                <div class="border-bottom border-bottom-0">

                      <span class="d-block h4 color-fg-default my-1" id="enterprise-available-add-ons-heading">Available add-ons</span>

                  <ul class="list-style-none f5" aria-labelledby="enterprise-available-add-ons-heading">
                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description mb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_advanced_security&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_advanced_security_link_enterprise_navbar&quot;}" href="https://github.com/security/advanced-security">
      <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3">
    <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path>
</svg>
      <div>
        <div class="color-fg-default h4">
          GitHub Advanced Security

        </div>

        Enterprise-grade security features
      </div>

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description mb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;copilot_for_business&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;copilot_for_business_link_enterprise_navbar&quot;}" href="/features/copilot/copilot-business">
      <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3">
    <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path>
</svg>
      <div>
        <div class="color-fg-default h4">
          Copilot for business

        </div>

        Enterprise-grade AI features
      </div>

    
</a></li>

                      <li>
  <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;premium_support&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;premium_support_link_enterprise_navbar&quot;}" href="/premium-support">
      <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3">
    <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path>
</svg>
      <div>
        <div class="color-fg-default h4">
          Premium Support

        </div>

        Enterprise-grade 24/7 support
      </div>

    
</a></li>

                  </ul>
                </div>
            </div>
        </div>

      </div>
</li>


                  <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item">
    <a class="HeaderMenu-link no-underline px-0 px-lg-2 py-3 py-lg-2 d-block d-lg-inline-block" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;platform&quot;,&quot;context&quot;:&quot;global&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;platform_link_global_navbar&quot;}" href="https://github.com/pricing">Pricing</a>
</li>

              </ul>
            </nav>

        <div class="d-flex flex-column flex-lg-row width-full flex-justify-end flex-lg-items-center text-center mt-3 mt-lg-0 text-lg-left ml-lg-3">
                


<qbsearch-input class="search-input" data-scope="repo:donnemartin/gh" data-custom-scopes-path="/search/custom_scopes" data-delete-custom-scopes-csrf="iFdkqpDmP3rgFBMmjfSiqaeqVzKDb90M29Eyep0aRshh3ctYUwCRQyPxXF6yPzAS5cRMXnQBvgO-LvjnndFPbA" data-max-custom-scopes="10" data-header-redesign-enabled="false" data-initial-value="" data-blackbird-suggestions-path="/search/suggestions" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" data-current-repository="donnemartin/gh" data-current-org="" data-current-owner="donnemartin" data-logged-in="false" data-copilot-chat-enabled="false" data-nl-search-enabled="false" data-retain-scroll-position="true">
  <div
    class="search-input-container search-with-dialog position-relative d-flex flex-row flex-items-center mr-4 rounded"
    data-action="click:qbsearch-input#searchInputContainerClicked"
  >
      <button
        type="button"
        class="header-search-button placeholder  input-button form-control d-flex flex-1 flex-self-stretch flex-items-center no-wrap width-full py-0 pl-2 pr-0 text-left border-0 box-shadow-none"
        data-target="qbsearch-input.inputButton"
        aria-label="Search or jump to…"
        aria-haspopup="dialog"
        placeholder="Search or jump to..."
        data-hotkey=s,/
        autocapitalize="off"
        data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;searchbar&quot;,&quot;context&quot;:&quot;global&quot;,&quot;tag&quot;:&quot;input&quot;,&quot;label&quot;:&quot;searchbar_input_global_navbar&quot;}"
        data-action="click:qbsearch-input#handleExpand"
      >
        <div class="mr-2 color-fg-muted">
          <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search">
    <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path>
</svg>
        </div>
        <span class="flex-1" data-target="qbsearch-input.inputButtonText">Search or jump to...</span>
          <div class="d-flex" data-target="qbsearch-input.hotkeyIndicator">
            <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1"><path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path><path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path></svg>
          </div>
      </button>

    <input type="hidden" name="type" class="js-site-search-type-field">

    
<div class="Overlay--hidden " data-modal-dialog-overlay>
  <modal-dialog data-action="close:qbsearch-input#handleClose cancel:qbsearch-input#handleClose" data-target="qbsearch-input.searchSuggestionsDialog" role="dialog" id="search-suggestions-dialog" aria-modal="true" aria-labelledby="search-suggestions-dialog-header" data-view-component="true" class="Overlay Overlay--width-large Overlay--height-auto">
      <h1 id="search-suggestions-dialog-header" class="sr-only">Search code, repositories, users, issues, pull requests...</h1>
    <div class="Overlay-body Overlay-body--paddingNone">
      
          <div data-view-component="true">        <div class="search-suggestions position-fixed width-full color-shadow-large border color-fg-default color-bg-default overflow-hidden d-flex flex-column query-builder-container"
          style="border-radius: 12px;"
          data-target="qbsearch-input.queryBuilderContainer"
          hidden
        >
          <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="query-builder-test-form" action="" accept-charset="UTF-8" method="get">
  <query-builder data-target="qbsearch-input.queryBuilder" id="query-builder-query-builder-test" data-filter-key=":" data-view-component="true" class="QueryBuilder search-query-builder">
    <div class="FormControl FormControl--fullWidth">
      <label id="query-builder-test-label" for="query-builder-test" class="FormControl-label sr-only">
        Search
      </label>
      <div
        class="QueryBuilder-StyledInput width-fit "
        data-target="query-builder.styledInput"
      >
          <span id="query-builder-test-leadingvisual-wrap" class="FormControl-input-leadingVisualWrap QueryBuilder-leadingVisualWrap">
            <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search FormControl-input-leadingVisual">
    <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path>
</svg>
          </span>
        <div data-target="query-builder.styledInputContainer" class="QueryBuilder-StyledInputContainer">
          <div
            aria-hidden="true"
            class="QueryBuilder-StyledInputContent"
            data-target="query-builder.styledInputContent"
          ></div>
          <div class="QueryBuilder-InputWrapper">
            <div aria-hidden="true" class="QueryBuilder-Sizer" data-target="query-builder.sizer"></div>
            <input id="query-builder-test" name="query-builder-test" value="" autocomplete="off" type="text" role="combobox" spellcheck="false" aria-expanded="false" aria-describedby="validation-dffad2bc-49ea-45c5-b11f-819b9b9ef2ac" data-target="query-builder.input" data-action="
          input:query-builder#inputChange
          blur:query-builder#inputBlur
          keydown:query-builder#inputKeydown
          focus:query-builder#inputFocus
        " data-view-component="true" class="FormControl-input QueryBuilder-Input FormControl-medium" />
          </div>
        </div>
          <span class="sr-only" id="query-builder-test-clear">Clear</span>
          <button role="button" id="query-builder-test-clear-button" aria-labelledby="query-builder-test-clear query-builder-test-label" data-target="query-builder.clearButton" data-action="
                click:query-builder#clear
                focus:query-builder#clearButtonFocus
                blur:query-builder#clearButtonBlur
              " variant="small" hidden="hidden" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium mr-1 px-2 py-0 d-flex flex-items-center rounded-1 color-fg-muted">  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x-circle-fill Button-visual">
    <path d="M2.343 13.657A8 8 0 1 1 13.658 2.343 8 8 0 0 1 2.343 13.657ZM6.03 4.97a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042L6.94 8 4.97 9.97a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215L8 9.06l1.97 1.97a.749.749 0 0 0 1.275-.326.749.749 0 0 0-.215-.734L9.06 8l1.97-1.97a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L8 6.94Z"></path>
</svg>
</button>

      </div>
      <template id="search-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search">
    <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path>
</svg>
</template>

<template id="code-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code">
    <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path>
</svg>
</template>

<template id="file-code-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-code">
    <path d="M4 1.75C4 .784 4.784 0 5.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 14.25 15h-9a.75.75 0 0 1 0-1.5h9a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 10 4.25V1.5H5.75a.25.25 0 0 0-.25.25v2.5a.75.75 0 0 1-1.5 0Zm1.72 4.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.47-1.47-1.47-1.47a.75.75 0 0 1 0-1.06ZM3.28 7.78 1.81 9.25l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Zm8.22-6.218V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path>
</svg>
</template>

<template id="history-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-history">
    <path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path>
</svg>
</template>

<template id="repo-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo">
    <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path>
</svg>
</template>

<template id="bookmark-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bookmark">
    <path d="M3 2.75C3 1.784 3.784 1 4.75 1h6.5c.966 0 1.75.784 1.75 1.75v11.5a.75.75 0 0 1-1.227.579L8 11.722l-3.773 3.107A.751.751 0 0 1 3 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.91l3.023-2.489a.75.75 0 0 1 .954 0l3.023 2.49V2.75a.25.25 0 0 0-.25-.25Z"></path>
</svg>
</template>

<template id="plus-circle-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-plus-circle">
    <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm7.25-3.25v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5a.75.75 0 0 1 1.5 0Z"></path>
</svg>
</template>

<template id="circle-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill">
    <path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path>
</svg>
</template>

<template id="trash-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-trash">
    <path d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75ZM4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.748 1.748 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15ZM6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Z"></path>
</svg>
</template>

<template id="team-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-people">
    <path d="M2 5.5a3.5 3.5 0 1 1 5.898 2.549 5.508 5.508 0 0 1 3.034 4.084.75.75 0 1 1-1.482.235 4 4 0 0 0-7.9 0 .75.75 0 0 1-1.482-.236A5.507 5.507 0 0 1 3.102 8.05 3.493 3.493 0 0 1 2 5.5ZM11 4a3.001 3.001 0 0 1 2.22 5.018 5.01 5.01 0 0 1 2.56 3.012.749.749 0 0 1-.885.954.752.752 0 0 1-.549-.514 3.507 3.507 0 0 0-2.522-2.372.75.75 0 0 1-.574-.73v-.352a.75.75 0 0 1 .416-.672A1.5 1.5 0 0 0 11 5.5.75.75 0 0 1 11 4Zm-5.5-.5a2 2 0 1 0-.001 3.999A2 2 0 0 0 5.5 3.5Z"></path>
</svg>
</template>

<template id="project-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project">
    <path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25ZM11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75Zm-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3Z"></path>
</svg>
</template>

<template id="pencil-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pencil">
    <path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"></path>
</svg>
</template>

<template id="copilot-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot">
    <path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path>
</svg>
</template>

<template id="copilot-error-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot-error">
    <path d="M16 11.24c0 .112-.072.274-.21.467L13 9.688V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-.198 0-.388-.009-.571-.029L6.833 5.226a4.01 4.01 0 0 0 .17-.782c.117-.935-.037-1.395-.241-1.614-.193-.206-.637-.413-1.682-.297-.683.076-1.115.231-1.395.415l-1.257-.91c.579-.564 1.413-.877 2.485-.996 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095Zm-5.083-8.707c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Zm2.511 11.074c-1.393.776-3.272 1.428-5.43 1.428-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.18-.455-.241-.963-.252-1.475L.31 4.107A.747.747 0 0 1 0 3.509V3.49a.748.748 0 0 1 .625-.73c.156-.026.306.047.435.139l14.667 10.578a.592.592 0 0 1 .227.264.752.752 0 0 1 .046.249v.022a.75.75 0 0 1-1.19.596Zm-1.367-.991L5.635 7.964a5.128 5.128 0 0 1-.889.073c-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433 1.539 0 3.089-.505 4.063-.934Z"></path>
</svg>
</template>

<template id="workflow-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-workflow">
    <path d="M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z"></path>
</svg>
</template>

<template id="book-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book">
    <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path>
</svg>
</template>

<template id="code-review-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-review">
    <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z"></path>
</svg>
</template>

<template id="codespaces-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-codespaces">
    <path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path>
</svg>
</template>

<template id="comment-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment">
    <path d="M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path>
</svg>
</template>

<template id="comment-discussion-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion">
    <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path>
</svg>
</template>

<template id="organization-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-organization">
    <path d="M1.75 16A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 0 0 .25-.25V8.285a.25.25 0 0 0-.111-.208l-1.055-.703a.749.749 0 1 1 .832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0 1 14.25 16h-3.5a.766.766 0 0 1-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 0 1-.75-.75V14h-1v1.25a.75.75 0 0 1-.75.75Zm-.25-1.75c0 .138.112.25.25.25H4v-1.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 .75.75v1.25h2.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM3.75 6h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 3.75A.75.75 0 0 1 3.75 3h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 3.75Zm4 3A.75.75 0 0 1 7.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 7 6.75ZM7.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 9.75A.75.75 0 0 1 3.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 9.75ZM7.75 9h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path>
</svg>
</template>

<template id="rocket-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-rocket">
    <path d="M14.064 0h.186C15.216 0 16 .784 16 1.75v.186a8.752 8.752 0 0 1-2.564 6.186l-.458.459c-.314.314-.641.616-.979.904v3.207c0 .608-.315 1.172-.833 1.49l-2.774 1.707a.749.749 0 0 1-1.11-.418l-.954-3.102a1.214 1.214 0 0 1-.145-.125L3.754 9.816a1.218 1.218 0 0 1-.124-.145L.528 8.717a.749.749 0 0 1-.418-1.11l1.71-2.774A1.748 1.748 0 0 1 3.31 4h3.204c.288-.338.59-.665.904-.979l.459-.458A8.749 8.749 0 0 1 14.064 0ZM8.938 3.623h-.002l-.458.458c-.76.76-1.437 1.598-2.02 2.5l-1.5 2.317 2.143 2.143 2.317-1.5c.902-.583 1.74-1.26 2.499-2.02l.459-.458a7.25 7.25 0 0 0 2.123-5.127V1.75a.25.25 0 0 0-.25-.25h-.186a7.249 7.249 0 0 0-5.125 2.123ZM3.56 14.56c-.732.732-2.334 1.045-3.005 1.148a.234.234 0 0 1-.201-.064.234.234 0 0 1-.064-.201c.103-.671.416-2.273 1.15-3.003a1.502 1.502 0 1 1 2.12 2.12Zm6.94-3.935c-.088.06-.177.118-.266.175l-2.35 1.521.548 1.783 1.949-1.2a.25.25 0 0 0 .119-.213ZM3.678 8.116 5.2 5.766c.058-.09.117-.178.176-.266H3.309a.25.25 0 0 0-.213.119l-1.2 1.95ZM12 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
</svg>
</template>

<template id="shield-check-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield-check">
    <path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path>
</svg>
</template>

<template id="heart-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-heart">
    <path d="m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z"></path>
</svg>
</template>

<template id="server-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-server">
    <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v4c0 .372-.116.717-.314 1 .198.283.314.628.314 1v4a1.75 1.75 0 0 1-1.75 1.75H1.75A1.75 1.75 0 0 1 0 12.75v-4c0-.358.109-.707.314-1a1.739 1.739 0 0 1-.314-1v-4C0 1.784.784 1 1.75 1ZM1.5 2.75v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm.25 5.75a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25ZM7 4.75A.75.75 0 0 1 7.75 4h4.5a.75.75 0 0 1 0 1.5h-4.5A.75.75 0 0 1 7 4.75ZM7.75 10h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM3 4.75A.75.75 0 0 1 3.75 4h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 4.75ZM3.75 10h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path>
</svg>
</template>

<template id="globe-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-globe">
    <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM5.78 8.75a9.64 9.64 0 0 0 1.363 4.177c.255.426.542.832.857 1.215.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a9.927 9.927 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.507 6.507 0 0 0 4.666 5.5c-.123-.181-.24-.365-.352-.552-.715-1.192-1.437-2.874-1.581-4.948Zm-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.507 6.507 0 0 0-4.666 5.5Zm10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.507 6.507 0 0 0 4.666-5.5Zm2.733-1.5a6.507 6.507 0 0 0-4.666-5.5c.123.181.24.365.353.552.714 1.192 1.436 2.874 1.58 4.948Z"></path>
</svg>
</template>

<template id="issue-opened-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened">
    <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path>
</svg>
</template>

<template id="device-mobile-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-mobile">
    <path d="M3.75 0h8.5C13.216 0 14 .784 14 1.75v12.5A1.75 1.75 0 0 1 12.25 16h-8.5A1.75 1.75 0 0 1 2 14.25V1.75C2 .784 2.784 0 3.75 0ZM3.5 1.75v12.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM8 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path>
</svg>
</template>

<template id="package-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-package">
    <path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path>
</svg>
</template>

<template id="credit-card-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-credit-card">
    <path d="M10.75 9a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5h-1.5Z"></path><path d="M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25ZM14.5 6.5h-13v5.75c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25Zm0-2.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25V5h13Z"></path>
</svg>
</template>

<template id="play-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play">
    <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path>
</svg>
</template>

<template id="gift-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-gift">
    <path d="M2 2.75A2.75 2.75 0 0 1 4.75 0c.983 0 1.873.42 2.57 1.232.268.318.497.668.68 1.042.183-.375.411-.725.68-1.044C9.376.42 10.266 0 11.25 0a2.75 2.75 0 0 1 2.45 4h.55c.966 0 1.75.784 1.75 1.75v2c0 .698-.409 1.301-1 1.582v4.918A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25V9.332C.409 9.05 0 8.448 0 7.75v-2C0 4.784.784 4 1.75 4h.55c-.192-.375-.3-.8-.3-1.25ZM7.25 9.5H2.5v4.75c0 .138.112.25.25.25h4.5Zm1.5 0v5h4.5a.25.25 0 0 0 .25-.25V9.5Zm0-4V8h5.5a.25.25 0 0 0 .25-.25v-2a.25.25 0 0 0-.25-.25Zm-7 0a.25.25 0 0 0-.25.25v2c0 .138.112.25.25.25h5.5V5.5h-5.5Zm3-4a1.25 1.25 0 0 0 0 2.5h2.309c-.233-.818-.542-1.401-.878-1.793-.43-.502-.915-.707-1.431-.707ZM8.941 4h2.309a1.25 1.25 0 0 0 0-2.5c-.516 0-1 .205-1.43.707-.337.392-.646.975-.879 1.793Z"></path>
</svg>
</template>

<template id="code-square-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-square">
    <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path>
</svg>
</template>

<template id="device-desktop-icon">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-desktop">
    <path d="M14.25 1c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 14.25 12h-3.727c.099 1.041.52 1.872 1.292 2.757A.752.752 0 0 1 11.25 16h-6.5a.75.75 0 0 1-.565-1.243c.772-.885 1.192-1.716 1.292-2.757H1.75A1.75 1.75 0 0 1 0 10.25v-7.5C0 1.784.784 1 1.75 1ZM1.75 2.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25ZM9.018 12H6.982a5.72 5.72 0 0 1-.765 2.5h3.566a5.72 5.72 0 0 1-.765-2.5Z"></path>
</svg>
</template>

        <div class="position-relative">
                <ul
                  role="listbox"
                  class="ActionListWrap QueryBuilder-ListWrap"
                  aria-label="Suggestions"
                  data-action="
                    combobox-commit:query-builder#comboboxCommit
                    mousedown:query-builder#resultsMousedown
                  "
                  data-target="query-builder.resultsList"
                  data-persist-list=false
                  id="query-builder-test-results"
                  tabindex="-1"
                ></ul>
        </div>
      <div class="FormControl-inlineValidation" id="validation-dffad2bc-49ea-45c5-b11f-819b9b9ef2ac" hidden="hidden">
        <span class="FormControl-inlineValidation--visual">
          <svg aria-hidden="true" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-alert-fill">
    <path d="M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path>
</svg>
        </span>
        <span></span>
</div>    </div>
    <div data-target="query-builder.screenReaderFeedback" aria-live="polite" aria-atomic="true" class="sr-only"></div>
</query-builder></form>
          <div class="d-flex flex-row color-fg-muted px-3 text-small color-bg-default search-feedback-prompt">
            <a target="_blank" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax" data-view-component="true" class="Link color-fg-accent text-normal ml-2">Search syntax tips</a>            <div class="d-flex flex-1"></div>
          </div>
        </div>
</div>

    </div>
</modal-dialog></div>
  </div>
  <div data-action="click:qbsearch-input#retract" class="dark-backdrop position-fixed" hidden data-target="qbsearch-input.darkBackdrop"></div>
  <div class="color-fg-default">
    
<dialog-helper>
  <dialog data-target="qbsearch-input.feedbackDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="feedback-dialog" aria-modal="true" aria-labelledby="feedback-dialog-title" aria-describedby="feedback-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll">
    <div data-view-component="true" class="Overlay-header">
  <div class="Overlay-headerContentWrap">
    <div class="Overlay-titleWrap">
      <h1 class="Overlay-title " id="feedback-dialog-title">
        Provide feedback
      </h1>
        
    </div>
    <div class="Overlay-actionWrap">
      <button data-close-dialog-id="feedback-dialog" aria-label="Close" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
    <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
</svg></button>
    </div>
  </div>
  
</div>
      <scrollable-region data-labelled-by="feedback-dialog-title">
        <div data-view-component="true" class="Overlay-body">        <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="code-search-feedback-form" data-turbo="false" action="/search/feedback" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="QAfr663er93uuy20fGZPaeOY89AnMhOK8Ob/Z6xpI4cgNE2JIy0FOPSrcXJ+ei+bQs5LbdOjgWjAkFKMWcb9Sw==" />
          <p>We read every piece of feedback, and take your input very seriously.</p>
          <textarea name="feedback" class="form-control width-full mb-2" style="height: 120px" id="feedback"></textarea>
          <input name="include_email" id="include_email" aria-label="Include my email address so I can be contacted" class="form-control mr-2" type="checkbox">
          <label for="include_email" style="font-weight: normal">Include my email address so I can be contacted</label>
</form></div>
      </scrollable-region>
      <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd">          <button data-close-dialog-id="feedback-dialog" type="button" data-view-component="true" class="btn">    Cancel
</button>
          <button form="code-search-feedback-form" data-action="click:qbsearch-input#submitFeedback" type="submit" data-view-component="true" class="btn-primary btn">    Submit feedback
</button>
</div>
</dialog></dialog-helper>

    <custom-scopes data-target="qbsearch-input.customScopesManager">
    
<dialog-helper>
  <dialog data-target="custom-scopes.customScopesModalDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="custom-scopes-dialog" aria-modal="true" aria-labelledby="custom-scopes-dialog-title" aria-describedby="custom-scopes-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll">
    <div data-view-component="true" class="Overlay-header Overlay-header--divided">
  <div class="Overlay-headerContentWrap">
    <div class="Overlay-titleWrap">
      <h1 class="Overlay-title " id="custom-scopes-dialog-title">
        Saved searches
      </h1>
        <h2 id="custom-scopes-dialog-description" class="Overlay-description">Use saved searches to filter your results more quickly</h2>
    </div>
    <div class="Overlay-actionWrap">
      <button data-close-dialog-id="custom-scopes-dialog" aria-label="Close" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
    <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
</svg></button>
    </div>
  </div>
  
</div>
      <scrollable-region data-labelled-by="custom-scopes-dialog-title">
        <div data-view-component="true" class="Overlay-body">        <div data-target="custom-scopes.customScopesModalDialogFlash"></div>

        <div hidden class="create-custom-scope-form" data-target="custom-scopes.createCustomScopeForm">
        <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="custom-scopes-dialog-form" data-turbo="false" action="/search/custom_scopes" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="+IGPcMjPWV9fAAG0IOITWVBXWntZ+Rxpb3dXs+Z4GP4PKVGXBP0vTOsz1l62P7P5B9DGzf7/wCs9DtHTyHfFsg==" />
          <div data-target="custom-scopes.customScopesModalDialogFlash"></div>

          <input type="hidden" id="custom_scope_id" name="custom_scope_id" data-target="custom-scopes.customScopesIdField">

          <div class="form-group">
            <label for="custom_scope_name">Name</label>
            <auto-check src="/search/custom_scopes/check_name" required>
              <input
                type="text"
                name="custom_scope_name"
                id="custom_scope_name"
                data-target="custom-scopes.customScopesNameField"
                class="form-control"
                autocomplete="off"
                placeholder="github-ruby"
                required
                maxlength="50">
              <input type="hidden" data-csrf="true" value="Anv0EA6u977shOdlEXl6bWT/KCMhIgHG7/f/+SsMzODa+cE/RLRfjTPS/HQ6Wys97qDSaZcFsyfNxgLeceJIrQ==" />
            </auto-check>
          </div>

          <div class="form-group">
            <label for="custom_scope_query">Query</label>
            <input
              type="text"
              name="custom_scope_query"
              id="custom_scope_query"
              data-target="custom-scopes.customScopesQueryField"
              class="form-control"
              autocomplete="off"
              placeholder="(repo:mona/a OR repo:mona/b) AND lang:python"
              required
              maxlength="500">
          </div>

          <p class="text-small color-fg-muted">
            To see all available qualifiers, see our <a class="Link--inTextBlock" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax">documentation</a>.
          </p>
</form>        </div>

        <div data-target="custom-scopes.manageCustomScopesForm">
          <div data-target="custom-scopes.list"></div>
        </div>

</div>
      </scrollable-region>
      <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd Overlay-footer--divided">          <button data-action="click:custom-scopes#customScopesCancel" type="button" data-view-component="true" class="btn">    Cancel
</button>
          <button form="custom-scopes-dialog-form" data-action="click:custom-scopes#customScopesSubmit" data-target="custom-scopes.customScopesSubmitButton" type="submit" data-view-component="true" class="btn-primary btn">    Create saved search
</button>
</div>
</dialog></dialog-helper>
    </custom-scopes>
  </div>
</qbsearch-input>


            <div class="position-relative HeaderMenu-link-wrap d-lg-inline-block">
              <a
                href="/login?return_to=https%3A%2F%2Fgithub.com%2Fdonnemartin%2Fgh%2Fblob%2Fmaster%2Fgithubcli%2Fgithubcli.py"
                class="HeaderMenu-link HeaderMenu-link--sign-in HeaderMenu-button flex-shrink-0 no-underline d-none d-lg-inline-flex border border-lg-0 rounded px-2 py-1"
                style="margin-left: 12px;"
                data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/donnemartin/gh/blob/master/githubcli/githubcli.py&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6d9331f8086fde2fb15231a83e67f0a0af2718fb19e2458f0a7c7e058a038197"
                data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to go to homepage&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Sign in;ref_loc:Header&quot;}"
              >
                Sign in
              </a>
            </div>

              <a href="/signup?ref_cta=Sign+up&amp;ref_loc=header+logged+out&amp;ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow&amp;source=header-repo&amp;source_repo=donnemartin%2Fgh"
                class="HeaderMenu-link HeaderMenu-link--sign-up HeaderMenu-button flex-shrink-0 d-flex d-lg-inline-flex no-underline border color-border-default rounded px-2 py-1"
                data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/donnemartin/gh/blob/master/githubcli/githubcli.py&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6d9331f8086fde2fb15231a83e67f0a0af2718fb19e2458f0a7c7e058a038197"
                data-analytics-event="{&quot;category&quot;:&quot;Sign up&quot;,&quot;action&quot;:&quot;click to sign up for account&quot;,&quot;label&quot;:&quot;ref_page:/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show;ref_cta:Sign up;ref_loc:header logged out&quot;}"
              >
                Sign up
              </a>

                <div class="AppHeader-appearanceSettings">
    <react-partial-anchor>
      <button data-target="react-partial-anchor.anchor" id="icon-button-472f30bc-8fae-4e67-bd22-52af9ea5ce53" aria-labelledby="tooltip-e7b53144-e430-40ff-a023-2d1e1cb2f9bd" type="button" disabled="disabled" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium AppHeader-button HeaderMenu-link border cursor-wait">  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-sliders Button-visual">
    <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>
</button><tool-tip id="tooltip-e7b53144-e430-40ff-a023-2d1e1cb2f9bd" for="icon-button-472f30bc-8fae-4e67-bd22-52af9ea5ce53" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Appearance settings</tool-tip>

      <template data-target="react-partial-anchor.template">
        <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.45f06febf6dab702a065.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/appearance-settings.6c63a6de228d6520804d.module.css" />

<react-partial
  partial-name="appearance-settings"
  data-ssr="false"
  data-attempted-ssr="false"
  data-react-profiling="false"
>
  
  <script type="application/json" data-target="react-partial.embeddedData">{"props":{}}</script>
  <div data-target="react-partial.reactRoot"></div>
</react-partial>


      </template>
    </react-partial-anchor>
  </div>

          <button type="button" class="sr-only js-header-menu-focus-trap d-block d-lg-none">Resetting focus</button>
        </div>
      </div>
    </div>
  </div>
</header>

      <div hidden="hidden" data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full">
  
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
    <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
</svg>
        <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span>
        <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span>
        <span class="js-stale-session-flash-switched" hidden>You switched accounts on another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span>

    <button id="icon-button-8ef58bcf-166d-4745-9123-bb22e36199d0" aria-labelledby="tooltip-4a683bd5-e25b-4c2b-8f73-d6c8b25c78cf" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close">  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual">
    <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
</svg>
</button><tool-tip id="tooltip-4a683bd5-e25b-4c2b-8f73-d6c8b25c78cf" for="icon-button-8ef58bcf-166d-4745-9123-bb22e36199d0" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip>


  
</div>
    </div>

  <div id="start-of-content" class="show-on-focus"></div>








    <div id="js-flash-container" class="flash-container" data-turbo-replace>




  <template class="js-flash-template">
    
<div class="flash flash-full   {{ className }}">
  <div >
    <button autofocus class="flash-close js-flash-close" type="button" aria-label="Dismiss this message">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
    <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
</svg>
    </button>
    <div aria-atomic="true" role="alert" class="js-flash-alert">
      
      <div>{{ message }}</div>

    </div>
  </div>
</div>
  </template>
</div>


    






  <div
    class="application-main "
    data-commit-hovercards-enabled
    data-discussion-hovercards-enabled
    data-issue-and-pr-hovercards-enabled
    data-project-hovercards-enabled
  >
        <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class="">
    <main id="js-repo-pjax-container" >
      
      






  
  <div id="repository-container-header"  class="pt-3 hide-full-screen" style="background-color: var(--page-header-bgColor, var(--color-page-header-bg));" data-turbo-replace>

      <div class="d-flex flex-nowrap flex-justify-end mb-3  px-3 px-lg-5" style="gap: 1rem;">

        <div class="flex-auto min-width-0 width-fit">
            
  <div class=" d-flex flex-wrap flex-items-center wb-break-word f3 text-normal">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2">
    <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path>
</svg>
    
    <span class="author flex-self-stretch" itemprop="author">
      <a class="url fn" rel="author" data-hovercard-type="user" data-hovercard-url="/users/donnemartin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/donnemartin">
        donnemartin
</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="/donnemartin/gh">gh</a>
    </strong>

    <span></span><span class="Label Label--secondary v-align-middle mr-1">Public</span>
  </div>


        </div>

        <div id="repository-details-container" class="flex-shrink-0" data-turbo-replace style="max-width: 70%;">
            <ul class="pagehead-actions flex-shrink-0 d-none d-md-inline" style="padding: 2px 0;">
    
      

  <li>
        <include-fragment loading="lazy" src="/notifications/46049288/watch_subscription?aria_id_prefix=repository-details&amp;button_block=false&amp;show_count=true" data-nonce="v2:04998bd4-d8f8-aca4-df90-8c2b562fe302" data-view-component="true">
  
    <div data-hide-on-error>
        
          <button aria-label="Watching a repository" type="button" disabled="disabled" data-view-component="true" class="Button--secondary Button--small Button">  <span class="Button-content">
      <span class="Button-visual Button-leadingVisual">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-eye">
    <path d="M8 2c1.981 0 3.671.992 4.933 2.078 1.27 1.091 2.187 2.345 2.637 3.023a1.62 1.62 0 0 1 0 1.798c-.45.678-1.367 1.932-2.637 3.023C11.67 13.008 9.981 14 8 14c-1.981 0-3.671-.992-4.933-2.078C1.797 10.83.88 9.576.43 8.898a1.62 1.62 0 0 1 0-1.798c.45-.677 1.367-1.931 2.637-3.022C4.33 2.992 6.019 2 8 2ZM1.679 7.932a.12.12 0 0 0 0 .136c.411.622 1.241 1.75 2.366 2.717C5.176 11.758 6.527 12.5 8 12.5c1.473 0 2.825-.742 3.955-1.715 1.124-.967 1.954-2.096 2.366-2.717a.12.12 0 0 0 0-.136c-.412-.621-1.242-1.75-2.366-2.717C10.824 4.242 9.473 3.5 8 3.5c-1.473 0-2.825.742-3.955 1.715-1.124.967-1.954 2.096-2.366 2.717ZM8 10a2 2 0 1 1-.001-3.999A2 2 0 0 1 8 10Z"></path>
</svg>
      </span>
    <span class="Button-label">Watch</span>
  </span>
</button>

    </div>
    <p data-show-on-error hidden>
        
          <span class="d-flex pt-1">
            <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert mr-1">
    <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>
            Couldn't load subscription status.&nbsp;
            <button data-retry-button="" type="button" data-view-component="true" class="Button--link Button--medium Button">  <span class="Button-content">
    <span class="Button-label">Retry</span>
  </span>
</button>

          </span>

    </p>

  <div data-show-on-forbidden-error hidden>
    <div class="Box">
  <div class="blankslate-container">
    <div data-view-component="true" class="blankslate blankslate-spacious color-bg-default rounded-2">
      

      <h3 data-view-component="true" class="blankslate-heading">        Uh oh!
</h3>
      <p data-view-component="true">        <p class="color-fg-muted my-2 mb-2 ws-normal">There was an error while loading. <a class="Link--inTextBlock" data-turbo="false" href="" aria-label="Please reload this page">Please reload this page</a>.</p>
</p>

</div>  </div>
</div>  </div>
</include-fragment>
  </li>

  <li>
          <a icon="repo-forked" id="fork-button" href="/login?return_to=%2Fdonnemartin%2Fgh" 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;:46049288,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/donnemartin/gh/blob/master/githubcli/githubcli.py&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e65acd2bb93011baf5bf799a3eab5e529d9c0253135b5134a15dc0c9739400e0" data-view-component="true" class="btn-sm btn">    <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-2">
    <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path>
</svg>Fork
    <span id="repo-network-counter" data-pjax-replace="true" data-turbo-replace="true" title="7" data-view-component="true" class="Counter">7</span>
</a>
  </li>

  <li>
        <div data-view-component="true" class="BtnGroup d-flex">
        <a href="/login?return_to=%2Fdonnemartin%2Fgh" 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;:46049288,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/donnemartin/gh/blob/master/githubcli/githubcli.py&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0475e0b477045123a6b11896a7776b6015616ba4875945fcc2e32779eedec052" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn">    <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2">
    <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path>
</svg><span data-view-component="true" class="d-inline">
          Star
</span>          <span id="repo-stars-counter-star" aria-label="9 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="9" data-view-component="true" class="Counter js-social-count">9</span>
</a></div>
  </li>

</ul>

        </div>
      </div>

        <div id="responsive-meta-container" data-turbo-replace>
</div>


          <nav data-pjax="#js-repo-pjax-container" aria-label="Repository" data-view-component="true" class="js-repo-nav js-sidenav-container-pjax js-responsive-underlinenav overflow-hidden UnderlineNav px-3 px-md-4 px-lg-5">

  <ul data-view-component="true" class="UnderlineNav-body list-style-none">
      <li data-view-component="true" class="d-inline-flex">
  <a id="code-tab" href="/donnemartin/gh" 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 /donnemartin/gh" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g c" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Code&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" aria-current="page" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item selected">
    
              <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code UnderlineNav-octicon d-none d-sm-inline">
    <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path>
</svg>
        <span data-content="Code">Code</span>
          <span id="code-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span>


    
</a></li>
      <li data-view-component="true" class="d-inline-flex">
  <a id="issues-tab" href="/donnemartin/gh/issues" data-tab-item="i1issues-tab" data-selected-links="repo_issues repo_labels repo_milestones /donnemartin/gh/issues" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g i" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Issues&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
    
              <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened UnderlineNav-octicon d-none d-sm-inline">
    <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path>
</svg>
        <span data-content="Issues">Issues</span>
          <span id="issues-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="1" data-view-component="true" class="Counter">1</span>


    
</a></li>
      <li data-view-component="true" class="d-inline-flex">
  <a id="pull-requests-tab" href="/donnemartin/gh/pulls" data-tab-item="i2pull-requests-tab" data-selected-links="repo_pulls checks /donnemartin/gh/pulls" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g p" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Pull requests&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
    
              <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request UnderlineNav-octicon d-none d-sm-inline">
    <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path>
</svg>
        <span data-content="Pull requests">Pull requests</span>
          <span id="pull-requests-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="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="/donnemartin/gh/actions" data-tab-item="i3actions-tab" data-selected-links="repo_actions /donnemartin/gh/actions" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g a" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Actions&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
    
              <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play UnderlineNav-octicon d-none d-sm-inline">
    <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path>
</svg>
        <span data-content="Actions">Actions</span>
          <span id="actions-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span>


    
</a></li>
      <li data-view-component="true" class="d-inline-flex">
  <a id="projects-tab" href="/donnemartin/gh/projects" data-tab-item="i4projects-tab" data-selected-links="repo_projects new_repo_project repo_project /donnemartin/gh/projects" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g b" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Projects&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
    
              <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table UnderlineNav-octicon d-none d-sm-inline">
    <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path>
</svg>
        <span data-content="Projects">Projects</span>
          <span id="projects-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span>


    
</a></li>
      <li data-view-component="true" class="d-inline-flex">
  <a id="wiki-tab" href="/donnemartin/gh/wiki" data-tab-item="i5wiki-tab" data-selected-links="repo_wiki /donnemartin/gh/wiki" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g w" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Wiki&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
    
              <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book UnderlineNav-octicon d-none d-sm-inline">
    <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path>
</svg>
        <span data-content="Wiki">Wiki</span>
          <span id="wiki-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span>


    
</a></li>
      <li data-view-component="true" class="d-inline-flex">
  <a id="security-tab" href="/donnemartin/gh/security" data-tab-item="i6security-tab" data-selected-links="security overview alerts policy token_scanning code_scanning /donnemartin/gh/security" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g s" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Security&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
    
              <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield UnderlineNav-octicon d-none d-sm-inline">
    <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
</svg>
        <span data-content="Security">Security</span>
          <include-fragment src="/donnemartin/gh/security/overall-count" accept="text/fragment+html" data-nonce="v2:04998bd4-d8f8-aca4-df90-8c2b562fe302" data-view-component="true">
  
  <div data-show-on-forbidden-error hidden>
    <div class="Box">
  <div class="blankslate-container">
    <div data-view-component="true" class="blankslate blankslate-spacious color-bg-default rounded-2">
      

      <h3 data-view-component="true" class="blankslate-heading">        Uh oh!
</h3>
      <p data-view-component="true">        <p class="color-fg-muted my-2 mb-2 ws-normal">There was an error while loading. <a class="Link--inTextBlock" data-turbo="false" href="" aria-label="Please reload this page">Please reload this page</a>.</p>
</p>

</div>  </div>
</div>  </div>
</include-fragment>

    
</a></li>
      <li data-view-component="true" class="d-inline-flex">
  <a id="insights-tab" href="/donnemartin/gh/pulse" data-tab-item="i7insights-tab" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /donnemartin/gh/pulse" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Insights&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
    
              <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph UnderlineNav-octicon d-none d-sm-inline">
    <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path>
</svg>
        <span data-content="Insights">Insights</span>
          <span id="insights-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span>


    
</a></li>
</ul>
    <div style="visibility:hidden;" data-view-component="true" class="UnderlineNav-actions js-responsive-underlinenav-overflow position-absolute pr-3 pr-md-4 pr-lg-5 right-0">      <action-menu data-select-variant="none" data-view-component="true">
  <focus-group direction="vertical" mnemonics retain>
    <button id="action-menu-347620d6-e4bd-4f33-986c-9fb03e89ad3d-button" popovertarget="action-menu-347620d6-e4bd-4f33-986c-9fb03e89ad3d-overlay" aria-controls="action-menu-347620d6-e4bd-4f33-986c-9fb03e89ad3d-list" aria-haspopup="true" aria-labelledby="tooltip-8fe6a57f-459f-477b-8e09-f4ab6635edd9" type="button" data-view-component="true" class="Button Button--iconOnly Button--secondary Button--medium UnderlineNav-item">  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal Button-visual">
    <path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path>
</svg>
</button><tool-tip id="tooltip-8fe6a57f-459f-477b-8e09-f4ab6635edd9" for="action-menu-347620d6-e4bd-4f33-986c-9fb03e89ad3d-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-347620d6-e4bd-4f33-986c-9fb03e89ad3d-overlay" anchor="action-menu-347620d6-e4bd-4f33-986c-9fb03e89ad3d-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-347620d6-e4bd-4f33-986c-9fb03e89ad3d-button" id="action-menu-347620d6-e4bd-4f33-986c-9fb03e89ad3d-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-a5ce3829-a9d7-418d-a3c4-0a7b020ff499" href="/donnemartin/gh" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
        <span class="ActionListItem-visual ActionListItem-visual--leading">
          <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code">
    <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path>
</svg>
        </span>
      
        <span data-view-component="true" class="ActionListItem-label">
          Code
</span>      
</a>
  
</li>
        <li hidden="hidden" data-menu-item="i1issues-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
    
    
    <a tabindex="-1" id="item-e840385c-b7b1-463a-b7bb-5ccb5e6a848f" href="/donnemartin/gh/issues" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
        <span class="ActionListItem-visual ActionListItem-visual--leading">
          <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened">
    <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path>
</svg>
        </span>
      
        <span data-view-component="true" class="ActionListItem-label">
          Issues
</span>      
</a>
  
</li>
        <li hidden="hidden" data-menu-item="i2pull-requests-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
    
    
    <a tabindex="-1" id="item-2234e832-d151-4daf-9d60-cd487b7b64f6" href="/donnemartin/gh/pulls" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
        <span class="ActionListItem-visual ActionListItem-visual--leading">
          <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request">
    <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path>
</svg>
        </span>
      
        <span data-view-component="true" class="ActionListItem-label">
          Pull requests
</span>      
</a>
  
</li>
        <li hidden="hidden" data-menu-item="i3actions-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
    
    
    <a tabindex="-1" id="item-7a6f3dd5-9fcd-418b-a06d-f3339ae63944" href="/donnemartin/gh/actions" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
        <span class="ActionListItem-visual ActionListItem-visual--leading">
          <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play">
    <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path>
</svg>
        </span>
      
        <span data-view-component="true" class="ActionListItem-label">
          Actions
</span>      
</a>
  
</li>
        <li hidden="hidden" data-menu-item="i4projects-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
    
    
    <a tabindex="-1" id="item-c12c1952-305a-4aa6-a954-165128ccca50" href="/donnemartin/gh/projects" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
        <span class="ActionListItem-visual ActionListItem-visual--leading">
          <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table">
    <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path>
</svg>
        </span>
      
        <span data-view-component="true" class="ActionListItem-label">
          Projects
</span>      
</a>
  
</li>
        <li hidden="hidden" data-menu-item="i5wiki-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
    
    
    <a tabindex="-1" id="item-882d1a2d-6ed2-468e-9e15-c58a43ee91a9" href="/donnemartin/gh/wiki" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
        <span class="ActionListItem-visual ActionListItem-visual--leading">
          <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book">
    <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path>
</svg>
        </span>
      
        <span data-view-component="true" class="ActionListItem-label">
          Wiki
</span>      
</a>
  
</li>
        <li hidden="hidden" data-menu-item="i6security-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
    
    
    <a tabindex="-1" id="item-2b8bb5d0-4d8d-4401-a8d8-be856d9756d5" href="/donnemartin/gh/security" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
        <span class="ActionListItem-visual ActionListItem-visual--leading">
          <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield">
    <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
</svg>
        </span>
      
        <span data-view-component="true" class="ActionListItem-label">
          Security
</span>      
</a>
  
</li>
        <li hidden="hidden" data-menu-item="i7insights-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
    
    
    <a tabindex="-1" id="item-9671d3ec-4fb1-4c38-8041-e7e675482851" href="/donnemartin/gh/pulse" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
        <span class="ActionListItem-visual ActionListItem-visual--leading">
          <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph">
    <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path>
</svg>
        </span>
      
        <span data-view-component="true" class="ActionListItem-label">
          Insights
</span>      
</a>
  
</li>
</ul>    
</div></action-list>


</div>
      
</div></anchored-position>  </focus-group>
</action-menu></div>
</nav>

  </div>

  



<turbo-frame id="repo-content-turbo-frame" target="_top" data-turbo-action="advance" class="">
    <div id="repo-content-pjax-container" class="repository-content " >
    



    
      
    








<react-app
  app-name="react-code-view"
  initial-path="/donnemartin/gh/blob/master/githubcli/githubcli.py"
    style="display: block; min-height: calc(100vh - 64px);"
  data-attempted-ssr="false"
  data-ssr="false"
  data-lazy="false"
  data-alternate="false"
  data-data-router-enabled="false"
  data-react-profiling="false"
>
  
  <script type="application/json" data-target="react-app.embeddedData">{"payload":{"allShortcutsEnabled":false,"fileTree":{"githubcli":{"items":[{"name":"__init__.py","path":"githubcli/__init__.py","contentType":"file"},{"name":"githubcli.py","path":"githubcli/githubcli.py","contentType":"file"}],"totalCount":2},"":{"items":[{"name":"githubcli","path":"githubcli","contentType":"directory"}],"totalCount":1}},"fileTreeProcessingTime":14.743122000000001,"foldersToFetch":[],"incompleteFileTree":false,"repo":{"id":46049288,"defaultBranch":"master","name":"gh","ownerLogin":"donnemartin","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-11-12T11:45:14.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/5458997?v=4","public":true,"private":false,"isOrgOwned":false},"codeLineWrapEnabled":false,"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"master","listCacheKey":"v0:1447329011.0","canEdit":false,"refType":"branch","currentOid":"fe9979dd98adea1f62d37ce7bdeffe92329804e3","canEditOnDefaultBranch":false,"fileExistsOnDefault":true},"path":"githubcli/githubcli.py","currentUser":null,"blob":{"rawLines":["# coding: utf-8","import builtins","from operator import itemgetter","import os","import pickle","import re","import subprocess","import sys","import webbrowser","from getpass import getpass","try:","    # Python 3","    import configparser","except ImportError:","    # Python 2","    import ConfigParser as configparser","","import click","from github3 import authorize, login, null","from github3.exceptions import UnprocessableEntity","from tabulate import tabulate","","","class GitHub(object):","    \"\"\"Provides integration with the GitHub API.","","    Attributes:","        * api: An instance of github3 to interact with the GitHub API.","        * APP_NAME: A string representing the app name used for obtaining","            a GitHub authorization token.","        * CONFIG: A string representing the config file name.","        * CONFIG_SECTION: A string representing the main config file section.","        * CONFIG_USER_ID: A string representing the user id config.","        * CONFIG_USER_PASS: A string representing the user pass config.","        * CONFIG_USER_TOKEN: A string representing the user token config.","        * CONFIG_URL: A string representing the jump to url config file name.","        * CONFIG_URL_SECTION: A string representing the jump to url config","            file section.","        * CONFIG_URL_LIST: A string representing the jump to url list in the","            config.","        * user_id: A string that represents the user's id in ~/.xonshrc","        * user_pass: A string that represents the user's pass in ~/.xonshrc","        * user_token: A string that represents the user's token in ~/.xonshrc","    \"\"\"","","    APP_NAME = 'GitHubCli'","    CONFIG = '.githubconfig'","    CONFIG_SECTION = 'github'","    CONFIG_USER_ID = 'user_id'","    CONFIG_USER_PASS = 'user_pass'","    CONFIG_USER_TOKEN = 'user_token'","    CONFIG_URL = '.githubconfigurl'","    CONFIG_URL_SECTION = 'url'","    CONFIG_URL_LIST = 'url_list'","","    def __init__(self):","        \"\"\"Inits GitHub.","","        Args:","            * None.","","        Returns:","            None.","        \"\"\"","        self._login()","","    def _format_repo(self, repo):","        \"\"\"Formats a repo tuple for pretty print.","","        Example:","            Input:  ('donnemartin', 'gitsome')","            Output: donnemartin/gitsome","","        Args:","            * args: A tuple that contains the user and repo.","","        Returns:","            A string of the form user/repo.","        \"\"\"","        return '/'.join(repo)","","    def _github_config(self, config):","        \"\"\"Attempts to find the github config file.","","        Adapted from https://github.com/sigmavirus24/github-cli.","","        Args:","            * config: A String that represents the config file name.","","        Returns:","            A string containing the github config file.","        \"\"\"","        home = os.path.abspath(os.environ.get('HOME', ''))","        config = os.path.join(home, config)","        return config","","    def _listify(self, items):","        \"\"\"Puts each list element in its own list.","","        Example:","            Input: [a, b, c]","            Output: [[a], [b], [c]]","","        This is needed for tabulate to print rows [a], [b], and [c].","","        Args:","            * items: A list to listify.","","        Returns:","            A list that contains elements that are listified.","        \"\"\"","        output = []","        for item in items:","            item_list = []","            item_list.append(item)","            output.append(item_list)","        return output","","    def _login(self):","        \"\"\"Logs into GitHub.","","        Adapted from https://github.com/sigmavirus24/github-cli.","","        TODO: Two factor authentication does not seem to be triggering the","            SMS code: https://github.com/sigmavirus24/github3.py/issues/387","","        Args:","            * None.","","        Returns:","            None.","        \"\"\"","        # Get the full path to the configuration file","        config = self._github_config(self.CONFIG)","        parser = configparser.RawConfigParser()","        # Check to make sure the file exists and we are allowed to read it","        if os.path.isfile(config) and os.access(config, os.R_OK | os.W_OK):","            parser.readfp(open(config))","            self.user_id = parser.get(self.CONFIG_SECTION,","                                      self.CONFIG_USER_ID)","            self.api = login(token=parser.get(self.CONFIG_SECTION,","                                              self.CONFIG_USER_TOKEN),","                             two_factor_callback=self._two_factor_code)","        else:","            # Either the file didn't exist or we didn't have the correct","            # permissions","            self.user_id = ''","            while not user_id:","                user_id = input('Username: ')","            user_pass = ''","            while not user_pass:","                user_pass = getpass('Password: ')","            auth = None","            try:","                # Get an authorization for this","                auth = authorize(","                    user_id,","                    user_pass,","                    scopes=['user', 'repo', 'gist'],","                    note='githubcli',","                    note_url='https://github.com/donnemartin/github-cli'","                )","            except UnprocessableEntity:","                click.secho('Error creating token.\\nVisit the following ' \\","                            'page and verify you do not have an existing ' \\","                            'token named \"githubcli\":\\n' \\","                            'See https://github.com/settings/tokens\\n' \\","                            'If a token already exists update your ' + \\","                            self.githubconfig + ' file with your user_token.',","                            fg='red')","            parser.add_section(self.CONFIG_SECTION)","            parser.set(self.CONFIG_SECTION, self.CONFIG_USER_ID, user_id)","            parser.set(self.CONFIG_SECTION, self.CONFIG_USER_PASS, user_pass)","            parser.set(self.CONFIG_SECTION, self.CONFIG_USER_TOKEN, auth.token)","            self.api = login(token=auth.token,","                             two_factor_callback=self._two_factor_code)","            # Create the file if it doesn't exist. Otherwise completely blank","            # out what was there before. Kind of dangerous and destructive but","            # somewhat necessary","            parser.write(open(config, 'w+'))","","    def _print_items(self, items, headers):","        \"\"\"Prints the items and headers with tabulate.","","        Args:","            * items: A collection of items to print as rows with tabulate.","                Can be a list or dictionary.","            * headers: A collection of column headers to print with tabulate.","                If items is a list, headers should be a list.","                If items is a dictionary, set headers='keys'.","","        Returns:","            None.","        \"\"\"","        table = []","        for item in items:","            table.append(item)","        self._print_table(table, headers=headers)","","    def _print_table(self, table, headers):","        \"\"\"Prints the input table and headers with tabulate.","","        Args:","            * table: A collection of items to print as rows with tabulate.","                Can be a list or dictionary.","            * headers: A collection of column headers to print with tabulate.","                If items is a list, headers should be a list.","                If items is a dictionary, set headers='keys'.","","        Returns:","            None.","        \"\"\"","        click.echo(tabulate(table, headers, tablefmt='grid'))","","    def _return_elem_or_list(self, args):","        \"\"\"Utility function to get a single element if len(args) == 1.","","        Args:","            * args: A list of args.","","        Returns:","            If args contains only one item, returns a single element.","            Else, returns args.","        \"\"\"","        return args[0] if len(args) == 1 else args","","    def _two_factor_code(self):","        \"\"\"Callback if two factor authentication is requested.","","        Args:","            * None.","","        Returns:","            A string that represents the user input two factor","                authentication code.","        \"\"\"","        code = ''","        while not code:","            code = input('Enter 2FA code: ')","        return code","","    def issue(self, user, repo, issue_number):","        \"\"\"Outputs detailed information about the given issue.","","        Args:","            * user: A string representing the user login.","            * repo: A string representing the repo name.","            * issue_number: An int representing the issue number.","","        Returns:","            None.","        \"\"\"","        issue = self.api.issue(user, repo, issue_number)","        if type(issue) is null.NullObject:","            click.secho('Error: Invalid issue.', fg='red')","            return","        click.secho('#' + str(issue.number) + ': ' + \\","                   issue.title + ' - ' + \\","                   '@' + str(issue.user) + ' [' + \\","                   issue.state + ']',","                   fg='blue')","        click.echo('\\n' + issue.body)","        comments = issue.comments()","        for comment in comments:","            click.secho('\\n--Comment by @' + str(comment.user) + '---\\n',","                        fg='blue')","            click.echo(comment.body)","","    def repository(self, user, repo_name):","        \"\"\"Outputs detailed information about the given repo.","","        If args does not contain user and repo, attempts to display repo","        information from the .git/ configured remote repo.","","        Args:","            * user: A string representing the user login.","            * repo_name: A string representing the repo name.","","        Returns:","            None.","        \"\"\"","        repo = self.api.repository(user, repo_name)","        click.secho(repo.full_name, fg='blue')","        if repo.description:","            click.secho(repo.description, fg='blue')","        click.secho('Stars: ' + str(repo.stargazers_count) + ' | '","                    'Forks: ' + str(repo.forks_count),","                    fg='blue')","        click.secho('Url: ' + repo.clone_url, fg='blue')","","    def repositories(self):","        \"\"\"Lists all repos.","","        Args:","            * None.","","        Returns:","            None.","        \"\"\"","        repos = self.api.repositories()","        table = []","        for repo in repos:","            table.append([repo.name, repo.stargazers_count])","        table = sorted(table, key=itemgetter(1, 0), reverse=True)","        self._print_table(table, headers=['repo', 'stars'])","","","pass_github = click.make_pass_decorator(GitHub)","","","class GitHubCli(object):","","    @click.group()","    @click.pass_context","    def cli(ctx):","        # Create a GitHub object and remember it as as the context object.","        # From this point onwards other commands can refer to it by using the","        # @pass_github decorator.","        ctx.obj = GitHub()","","    @cli.command()","    @click.argument('user')","    @click.argument('repo')","    @click.argument('issue_title')","    @pass_github","    def create_issue(github, user, repo, issue_title):","        \"\"\"Creates an issue.","","        Long description.","","        Args:","            * user: A string representing the user login.","            * repo: A string representing the repo name.","            * issue_title: A string representing the issue title.","","        Returns:","            None.","        \"\"\"","        issue = github.api.create_issue(user, repo, issue_title)","        click.echo('Created issue: ' + issue.title)","        github._issue(user, repo, issue.number)","","    @cli.command()","    @click.argument('repo_name')","    @pass_github","    def create_repo(github, repo_name):","        \"\"\"Creates a repo.","","        Args:","            * repo_name: A string representing the repo name.","","        Returns:","            None.","        \"\"\"","        repo = github.api.create_repository(repo_name)","        click.secho('Created repo: ' + repo.full_name, fg='blue')","","    @cli.command()","    @pass_github","    def emails(github):","        \"\"\"Lists all the user's registered emails.","","        Args:","            * None.","","        Returns:","            None.","        \"\"\"","        github._print_items(github.api.emails(), headers='keys')","","    @cli.command()","    @pass_github","    def events(github):","        \"\"\"Lists all public events.","","        Args:","            * None.","","        Returns:","            None.","        \"\"\"","        events = github.api.all_events()","        table = []","        for event in events:","            table.append([event.created_at,","                          event.actor,","                          event.type,","                          github._format_repo(event.repo)])","        github._print_table(table,","                            headers=['created at', 'user', 'type', 'repo'])","","    @cli.command()","    @pass_github","    def emojis(github):","        \"\"\"Lists all GitHub supported emojis.","","        Args:","            * None.","","        Returns:","            None.","        \"\"\"","        github._print_items(github._listify(github.api.emojis()),","                                            headers=['emoji'])","","    @cli.command()","    @pass_github","    def feeds(github):","        \"\"\"Lists GitHub's timeline resources.","","        Requires authentication with user/pass, cannot be used with tokens","        due to a limitation with the GitHub API itself.","","        TODO: Results in an exception with github3.py.","","        Args:","            * None.","","        Returns:","            None.","","        Raises:","            TypeError: Seems to be a github3.py bug.","        \"\"\"","        github.api.feeds()","","    @cli.command()","    @click.argument('user_id', required=False)","    @pass_github","    def followers(github, user_id):","        \"\"\"Lists all followers and the total follower count.","","        Args:","            * user_id: A string representing the user login.","                If None, returns followers of the logged in user.","","        Returns:","            None.","        \"\"\"","        if user_id is None:","            user_id = github.user_id","        users = github.api.followers_of(user_id)","        table = []","        for user in users:","            table.append([user.login, user.html_url])","        github._print_table(table, headers=['user', 'profile'])","        click.secho(","            'Followers: ' + str(github.api.user(user_id).followers_count),","            fg='blue')","","    @cli.command()","    @click.argument('user_id', required=False)","    @pass_github","    def following(github, user_id):","        \"\"\"Lists all followed users and the total followed count.","","        Args:","            * user_id: A string representing the user login.","                If None, returns the followed users of the logged in user.","","        Returns:","            None.","        \"\"\"","        if user_id is None:","            user_id = github.user_id","        users = github.api.followed_by(user_id)","        table = []","        for user in users:","            table.append([user.login, user.html_url])","        github._print_table(table, headers=['user', 'profile'])","        click.secho(","            'Following ' + str(github.api.user(user_id).following_count),","            fg='blue')","","    @cli.command()","    @click.argument('language')","    @pass_github","    def gitignore_template(github, language):","        \"\"\"Outputs the gitignore template for the given language.","","        Args:","            * language: A string representing the language.","","        Returns:","            None.","        \"\"\"","        template = github.api.gitignore_template(language)","        if template:","            click.echo(template)","        else:","            click.secho('Invalid template requested, run the following ' \\","                       'command to see available templates:\\n' \\","                       '    gh gitignore_templates',","                       fg='red')","","    @cli.command()","    @pass_github","    def gitignore_templates(github):","        \"\"\"Outputs all supported gitignore templates.","","        Args:","            * None.","","        Returns:","            None.","        \"\"\"","        github._print_items(","            github._listify(github.api.gitignore_templates()),","                            headers=['language'])","","    @cli.command()","    @click.argument('user')","    @click.argument('repo')","    @click.argument('issue_number')","    @pass_github","    def issue(github, user, repo, issue_number):","        \"\"\"Outputs detailed information about the given issue.","","        Args:","            * user: A string representing the user login.","            * repo: A string representing the repo name.","            * issue_number: An int representing the issue number.","","        Returns:","            None.","        \"\"\"","        github.issue(user, repo, issue_number)","","    @cli.command()","    @click.argument('issue_filter', required=False, default='subscribed')","    @pass_github","    def issues(github, issue_filter):","        \"\"\"Lists all issues.","","        Args:","            * filter: 'assigned', 'created', 'mentioned', 'subscribed'.","","        Returns:","            None.","        \"\"\"","        issues = github.api.issues(filter=issue_filter)","        table = []","        for issue in issues:","            table.append([issue.number,","                          github._format_repo(issue.repository),","                          issue.title,","                          issue.comments_count])","        # Sort by repo, issue number","        table = sorted(table, key=itemgetter(1, 0))","        github._print_table(table,","                            headers=['#', 'repo', 'title', 'comments'])","","    @cli.command()","    @pass_github","    def me(github):","        \"\"\"Lists information about the logged in user.","","        Args:","            * None.","","        Returns:","            None.","        \"\"\"","        user = github.api.me()","        click.secho(user.login, fg='blue')","        if user.company is not None:","            click.secho('company:', user.company, fg='blue')","        if user.location is not None:","            click.secho('location:', user.location, fg='blue')","        if user.email is not None:","            click.secho('email: ' + user.email, fg='blue')","        click.secho('followers: ' + str(user.followers_count), fg='blue')","        click.secho('following: ' + str(user.following_count), fg='blue')","        github.repositories()","","    @cli.command()","    @pass_github","    def notifications(github):","        \"\"\"Lists all notifications.","","        TODO: Always results in an empty list.  Possible github3.py bug.","","        Args:","            * None.","","        Returns:","            None.","        \"\"\"","        github._print_items(github.api.notifications(participating=True),","                            headers=['notification'])","","    @cli.command()","    @click.argument('say', required=False)","    @pass_github","    def octocat(github, say):","        \"\"\"Outputs an Easter egg or the given message from Octocat.","","        Args:","            * say: A string for octocat to say.","                If say is None, octocat speaks an Easter egg.","","        Returns:","            None.","        \"\"\"","        output = str(github.api.octocat(say))","        output = output.replace('\\\\n', '\\n')","        click.echo(output)","","    @cli.command()","    @pass_github","    def profile(github):","        \"\"\"Opens a web browser to your GitHub profile.","","        Args:","            * None.","","        Returns:","            None.","        \"\"\"","        url = 'https://github.com/' + github.user_id","        webbrowser.open(url)","","    @cli.command()","    @click.argument('user')","    @click.argument('repo')","    @click.argument('issue_number')","    @pass_github","    def pull_request(github, user, repo, issue_number):","        \"\"\"Outputs detailed information about the given pull request.","","        Args:","            * user: A string representing the user login.","            * repo: A string representing the repo name.","            * issue_number: An int representing the issue number.","","        Returns:","            None.","        \"\"\"","        github.issue(user, repo, issue_number)","","    @cli.command()","    @pass_github","    def pull_requests(github):","        \"\"\"Lists all pull requests.","","        Args:","            * None.","","        Returns:","            None.","        \"\"\"","        pull_requests = []","        repositories = github.api.repositories()","        for repository in repositories:","            repo_pulls = repository.pull_requests()","            for repo_pull in repo_pulls:","                pull_requests.append(repo_pull)","        table = []","        for pull_request in pull_requests:","            user, repo_name = pull_request.repository","            repo = user.strip('repos/') + '/' + repo_name","            table.append([pull_request.number,","                          repo,","                          pull_request.title])","        # Sort by repo, pull request number","        table = sorted(table, key=itemgetter(1, 0))","        github._print_table(table, headers=['#', 'repo', 'title'])","","    @cli.command()","    @pass_github","    def rate_limit(github):","        \"\"\"Outputs the rate limit.","","        Args:","            * None.","","        Returns:","            None.","        \"\"\"","        click.echo('Rate limit: ' + str(github.api.ratelimit_remaining))","","    @cli.command()","    @click.argument('user')","    @click.argument('repo_name')","    @pass_github","    def repository(github, user, repo_name):","        \"\"\"Outputs detailed information about the given repo.","","        If args does not contain user and repo, attempts to display repo","        information from the .git/ configured remote repo.","","        Args:","            * user: A string representing the user login.","            * repo_name: A string representing the repo name.","","        Returns:","            None.","        \"\"\"","        github.repository(user, repo_name)","","    @cli.command()","    @pass_github","    def repositories(github):","        \"\"\"Lists all repos.","","        Args:","            * None.","","        Returns:","            None.","        \"\"\"","        github.repositories()","","    @cli.command()","    @click.argument('query')","    @pass_github","    def search_issues(github, query):","        \"\"\"Searches all issues with the given query.","","        The query can contain any combination of the following supported","        qualifers:","","        - ``type`` With this qualifier you can restrict the search to issues","          or pull request only.","        - ``in`` Qualifies which fields are searched. With this qualifier you","          can restrict the search to just the title, body, comments, or any","          combination of these.","        - ``author`` Finds issues created by a certain user.","        - ``assignee`` Finds issues that are assigned to a certain user.","        - ``mentions`` Finds issues that mention a certain user.","        - ``commenter`` Finds issues that a certain user commented on.","        - ``involves`` Finds issues that were either created by a certain user,","          assigned to that user, mention that user, or were commented on by","          that user.","        - ``state`` Filter issues based on whether they’re open or closed.","        - ``labels`` Filters issues based on their labels.","        - ``language`` Searches for issues within repositories that match a","          certain language.","        - ``created`` or ``updated`` Filters issues based on times of creation,","          or when they were last updated.","        - ``comments`` Filters issues based on the quantity of comments.","        - ``user`` or ``repo`` Limits searches to a specific user or","          repository.","","        For more information about these qualifiers, see: http://git.io/d1oELA","","        Args:","            * query: A string representing the search query.","","        Returns:","            None.","        \"\"\"","        issues = github.api.search_issues(query)","        table = []","        try:","            for issue in issues:","                table.append([issue.score,","                             issue.issue.number,","                             github._format_repo(issue.issue.repository),","                             issue.issue.title])","        except AttributeError:","            # github3.py sometimes throws the following during iteration:","            # AttributeError: 'NoneType' object has no attribute 'get'","            pass","        # Sort by score, repo, issue number","        table = sorted(table, key=itemgetter(0, 2, 1), reverse=True)","        github._print_table(table, headers=['score', '#', 'repo', 'title'])","","    @cli.command()","    @click.argument('query')","    @pass_github","    def search_repositories(github, query):","        \"\"\"Searches all repos with the given query.","","        The query can contain any combination of the following supported","        qualifers:","","        - ``in`` Qualifies which fields are searched. With this qualifier you","          can restrict the search to just the repository name, description,","          readme, or any combination of these.","        - ``size`` Finds repositories that match a certain size (in","          kilobytes).","        - ``forks`` Filters repositories based on the number of forks, and/or","          whether forked repositories should be included in the results at","          all.","        - ``created`` or ``pushed`` Filters repositories based on times of","          creation, or when they were last updated. Format: ``YYYY-MM-DD``.","          Examples: ``created:\u003c2011``, ``pushed:\u003c2013-02``,","          ``pushed:\u003e=2013-03-06``","        - ``user`` or ``repo`` Limits searches to a specific user or","          repository.","        - ``language`` Searches repositories based on the language they're","          written in.","        - ``stars`` Searches repositories based on the number of stars.","","        For more information about these qualifiers, see: http://git.io/4Z8AkA","","        Args:","            * query: A string representing the search query.","","        Returns:","            None.","        \"\"\"","        repos = github.api.search_repositories(query)","        table = []","        try:","            for repo in repos:","                table.append([repo.score,","                              repo.repository.stargazers_count,","                              repo.repository.forks_count,","                              repo.repository.full_name])","        except AttributeError:","            # github3.py sometimes throws the following during iteration:","            # AttributeError: 'NoneType' object has no attribute 'get'","            pass","        # Sort by score, repo","        table = sorted(table, key=itemgetter(0, 1), reverse=True)","        github._print_table(table, headers=['score', 'stars', 'forks', 'repo'])","","    @cli.command()","    @click.argument('repo_filter', required=False, default='')","    @pass_github","    def starred(github, repo_filter):","        \"\"\"Outputs starred repos.","","        Args:","            * repo_filter: A string representing a filter for repo names.","                Only repos matching the filter will be returned.","                If None, outputs all starred repos.","","        Returns:","            None.","        \"\"\"","        repos = github.api.starred()","        table = []","        repo_filter = repo_filter.lower()","        try:","            for repo in repos:","                if repo_filter in repo.full_name.lower() or \\","                    repo_filter in repo.description.lower():","                    table.append([repo.stargazers_count,","                                  repo.forks_count,","                                  repo.full_name,","                                  repo.clone_url])","        except AttributeError:","            # github3.py sometimes throws the following during iteration:","            # AttributeError: 'NoneType' object has no attribute 'get'","            pass","        # Sort by repo","        table = sorted(table, key=itemgetter(0), reverse=True)","        github._print_table(","            table, headers=['stars', 'forks', 'repo', 'url'])"],"stylingDirectives":[[[0,15,"pl-c"]],[[0,6,"pl-k"],[7,15,"pl-s1"]],[[0,4,"pl-k"],[5,13,"pl-s1"],[14,20,"pl-k"],[21,31,"pl-s1"]],[[0,6,"pl-k"],[7,9,"pl-s1"]],[[0,6,"pl-k"],[7,13,"pl-s1"]],[[0,6,"pl-k"],[7,9,"pl-s1"]],[[0,6,"pl-k"],[7,17,"pl-s1"]],[[0,6,"pl-k"],[7,10,"pl-s1"]],[[0,6,"pl-k"],[7,17,"pl-s1"]],[[0,4,"pl-k"],[5,12,"pl-s1"],[13,19,"pl-k"],[20,27,"pl-s1"]],[[0,3,"pl-k"]],[[4,14,"pl-c"]],[[4,10,"pl-k"],[11,23,"pl-s1"]],[[0,6,"pl-k"],[7,18,"pl-v"]],[[4,14,"pl-c"]],[[4,10,"pl-k"],[11,23,"pl-v"],[24,26,"pl-k"],[27,39,"pl-s1"]],[],[[0,6,"pl-k"],[7,12,"pl-s1"]],[[0,4,"pl-k"],[5,12,"pl-s1"],[13,19,"pl-k"],[20,29,"pl-s1"],[31,36,"pl-s1"],[38,42,"pl-s1"]],[[0,4,"pl-k"],[5,12,"pl-s1"],[13,23,"pl-s1"],[24,30,"pl-k"],[31,50,"pl-v"]],[[0,4,"pl-k"],[5,13,"pl-s1"],[14,20,"pl-k"],[21,29,"pl-s1"]],[],[],[[0,5,"pl-k"],[6,12,"pl-v"],[13,19,"pl-s1"]],[[4,48,"pl-s"]],[[0,0,"pl-s"]],[[0,15,"pl-s"]],[[0,70,"pl-s"]],[[0,73,"pl-s"]],[[0,41,"pl-s"]],[[0,61,"pl-s"]],[[0,77,"pl-s"]],[[0,67,"pl-s"]],[[0,71,"pl-s"]],[[0,73,"pl-s"]],[[0,77,"pl-s"]],[[0,74,"pl-s"]],[[0,25,"pl-s"]],[[0,76,"pl-s"]],[[0,19,"pl-s"]],[[0,71,"pl-s"]],[[0,75,"pl-s"]],[[0,77,"pl-s"]],[[0,7,"pl-s"]],[],[[4,12,"pl-c1"],[13,14,"pl-c1"],[15,26,"pl-s"]],[[4,10,"pl-c1"],[11,12,"pl-c1"],[13,28,"pl-s"]],[[4,18,"pl-c1"],[19,20,"pl-c1"],[21,29,"pl-s"]],[[4,18,"pl-c1"],[19,20,"pl-c1"],[21,30,"pl-s"]],[[4,20,"pl-c1"],[21,22,"pl-c1"],[23,34,"pl-s"]],[[4,21,"pl-c1"],[22,23,"pl-c1"],[24,36,"pl-s"]],[[4,14,"pl-c1"],[15,16,"pl-c1"],[17,35,"pl-s"]],[[4,22,"pl-c1"],[23,24,"pl-c1"],[25,30,"pl-s"]],[[4,19,"pl-c1"],[20,21,"pl-c1"],[22,32,"pl-s"]],[],[[4,7,"pl-k"],[8,16,"pl-en"],[17,21,"pl-s1"]],[[8,24,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,19,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,11,"pl-s"]],[[8,12,"pl-s1"],[13,19,"pl-c1"]],[],[[4,7,"pl-k"],[8,20,"pl-en"],[21,25,"pl-s1"],[27,31,"pl-s1"]],[[8,49,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,46,"pl-s"]],[[0,39,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,60,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,43,"pl-s"]],[[0,11,"pl-s"]],[[8,14,"pl-k"],[15,18,"pl-s"],[19,23,"pl-c1"],[24,28,"pl-s1"]],[],[[4,7,"pl-k"],[8,22,"pl-en"],[23,27,"pl-s1"],[29,35,"pl-s1"]],[[8,51,"pl-s"]],[[0,0,"pl-s"]],[[0,64,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,68,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,55,"pl-s"]],[[0,11,"pl-s"]],[[8,12,"pl-s1"],[13,14,"pl-c1"],[15,17,"pl-s1"],[18,22,"pl-c1"],[23,30,"pl-c1"],[31,33,"pl-s1"],[34,41,"pl-c1"],[42,45,"pl-c1"],[46,52,"pl-s"],[54,56,"pl-s"]],[[8,14,"pl-s1"],[15,16,"pl-c1"],[17,19,"pl-s1"],[20,24,"pl-c1"],[25,29,"pl-c1"],[30,34,"pl-s1"],[36,42,"pl-s1"]],[[8,14,"pl-k"],[15,21,"pl-s1"]],[],[[4,7,"pl-k"],[8,16,"pl-en"],[17,21,"pl-s1"],[23,28,"pl-s1"]],[[8,50,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,28,"pl-s"]],[[0,35,"pl-s"]],[[0,0,"pl-s"]],[[0,68,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,39,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,61,"pl-s"]],[[0,11,"pl-s"]],[[8,14,"pl-s1"],[15,16,"pl-c1"]],[[8,11,"pl-k"],[12,16,"pl-s1"],[17,19,"pl-c1"],[20,25,"pl-s1"]],[[12,21,"pl-s1"],[22,23,"pl-c1"]],[[12,21,"pl-s1"],[22,28,"pl-c1"],[29,33,"pl-s1"]],[[12,18,"pl-s1"],[19,25,"pl-c1"],[26,35,"pl-s1"]],[[8,14,"pl-k"],[15,21,"pl-s1"]],[],[[4,7,"pl-k"],[8,14,"pl-en"],[15,19,"pl-s1"]],[[8,28,"pl-s"]],[[0,0,"pl-s"]],[[0,64,"pl-s"]],[[0,0,"pl-s"]],[[0,74,"pl-s"]],[[0,75,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,19,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,11,"pl-s"]],[[8,53,"pl-c"]],[[8,14,"pl-s1"],[15,16,"pl-c1"],[17,21,"pl-s1"],[22,36,"pl-c1"],[37,41,"pl-s1"],[42,48,"pl-c1"]],[[8,14,"pl-s1"],[15,16,"pl-c1"],[17,29,"pl-s1"],[30,45,"pl-c1"]],[[8,74,"pl-c"]],[[8,10,"pl-k"],[11,13,"pl-s1"],[14,18,"pl-c1"],[19,25,"pl-c1"],[26,32,"pl-s1"],[34,37,"pl-c1"],[38,40,"pl-s1"],[41,47,"pl-c1"],[48,54,"pl-s1"],[56,58,"pl-s1"],[59,63,"pl-c1"],[64,65,"pl-c1"],[66,68,"pl-s1"],[69,73,"pl-c1"]],[[12,18,"pl-s1"],[19,25,"pl-c1"],[26,30,"pl-en"],[31,37,"pl-s1"]],[[12,16,"pl-s1"],[17,24,"pl-c1"],[25,26,"pl-c1"],[27,33,"pl-s1"],[34,37,"pl-c1"],[38,42,"pl-s1"],[43,57,"pl-c1"]],[[38,42,"pl-s1"],[43,57,"pl-c1"]],[[12,16,"pl-s1"],[17,20,"pl-c1"],[21,22,"pl-c1"],[23,28,"pl-en"],[29,34,"pl-s1"],[34,35,"pl-c1"],[35,41,"pl-s1"],[42,45,"pl-c1"],[46,50,"pl-s1"],[51,65,"pl-c1"]],[[46,50,"pl-s1"],[51,68,"pl-c1"]],[[29,48,"pl-s1"],[48,49,"pl-c1"],[49,53,"pl-s1"],[54,70,"pl-c1"]],[[8,12,"pl-k"]],[[12,72,"pl-c"]],[[12,25,"pl-c"]],[[12,16,"pl-s1"],[17,24,"pl-c1"],[25,26,"pl-c1"],[27,29,"pl-s"]],[[12,17,"pl-k"],[18,21,"pl-c1"],[22,29,"pl-s1"]],[[16,23,"pl-s1"],[24,25,"pl-c1"],[26,31,"pl-en"],[32,44,"pl-s"]],[[12,21,"pl-s1"],[22,23,"pl-c1"],[24,26,"pl-s"]],[[12,17,"pl-k"],[18,21,"pl-c1"],[22,31,"pl-s1"]],[[16,25,"pl-s1"],[26,27,"pl-c1"],[28,35,"pl-en"],[36,48,"pl-s"]],[[12,16,"pl-s1"],[17,18,"pl-c1"],[19,23,"pl-c1"]],[[12,15,"pl-k"]],[[16,47,"pl-c"]],[[16,20,"pl-s1"],[21,22,"pl-c1"],[23,32,"pl-en"]],[[20,27,"pl-s1"]],[[20,29,"pl-s1"]],[[20,26,"pl-s1"],[26,27,"pl-c1"],[28,34,"pl-s"],[36,42,"pl-s"],[44,50,"pl-s"]],[[20,24,"pl-s1"],[24,25,"pl-c1"],[25,36,"pl-s"]],[[20,28,"pl-s1"],[28,29,"pl-c1"],[29,72,"pl-s"]],[],[[12,18,"pl-k"],[19,38,"pl-v"]],[[16,21,"pl-s1"],[22,27,"pl-c1"],[28,73,"pl-s"],[50,52,"pl-cce"]],[[28,74,"pl-s"]],[[28,56,"pl-s"],[53,55,"pl-cce"]],[[28,70,"pl-s"],[67,69,"pl-cce"]],[[28,68,"pl-s"],[69,70,"pl-c1"]],[[28,32,"pl-s1"],[33,45,"pl-c1"],[46,47,"pl-c1"],[48,77,"pl-s"]],[[28,30,"pl-s1"],[30,31,"pl-c1"],[31,36,"pl-s"]],[[12,18,"pl-s1"],[19,30,"pl-c1"],[31,35,"pl-s1"],[36,50,"pl-c1"]],[[12,18,"pl-s1"],[19,22,"pl-c1"],[23,27,"pl-s1"],[28,42,"pl-c1"],[44,48,"pl-s1"],[49,63,"pl-c1"],[65,72,"pl-s1"]],[[12,18,"pl-s1"],[19,22,"pl-c1"],[23,27,"pl-s1"],[28,42,"pl-c1"],[44,48,"pl-s1"],[49,65,"pl-c1"],[67,76,"pl-s1"]],[[12,18,"pl-s1"],[19,22,"pl-c1"],[23,27,"pl-s1"],[28,42,"pl-c1"],[44,48,"pl-s1"],[49,66,"pl-c1"],[68,72,"pl-s1"],[73,78,"pl-c1"]],[[12,16,"pl-s1"],[17,20,"pl-c1"],[21,22,"pl-c1"],[23,28,"pl-en"],[29,34,"pl-s1"],[34,35,"pl-c1"],[35,39,"pl-s1"],[40,45,"pl-c1"]],[[29,48,"pl-s1"],[48,49,"pl-c1"],[49,53,"pl-s1"],[54,70,"pl-c1"]],[[12,77,"pl-c"]],[[12,78,"pl-c"]],[[12,32,"pl-c"]],[[12,18,"pl-s1"],[19,24,"pl-c1"],[25,29,"pl-en"],[30,36,"pl-s1"],[38,42,"pl-s"]],[],[[4,7,"pl-k"],[8,20,"pl-en"],[21,25,"pl-s1"],[27,32,"pl-s1"],[34,41,"pl-s1"]],[[8,54,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,74,"pl-s"]],[[0,44,"pl-s"]],[[0,77,"pl-s"]],[[0,61,"pl-s"]],[[0,61,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,11,"pl-s"]],[[8,13,"pl-s1"],[14,15,"pl-c1"]],[[8,11,"pl-k"],[12,16,"pl-s1"],[17,19,"pl-c1"],[20,25,"pl-s1"]],[[12,17,"pl-s1"],[18,24,"pl-c1"],[25,29,"pl-s1"]],[[8,12,"pl-s1"],[13,25,"pl-c1"],[26,31,"pl-s1"],[33,40,"pl-s1"],[40,41,"pl-c1"],[41,48,"pl-s1"]],[],[[4,7,"pl-k"],[8,20,"pl-en"],[21,25,"pl-s1"],[27,32,"pl-s1"],[34,41,"pl-s1"]],[[8,60,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,74,"pl-s"]],[[0,44,"pl-s"]],[[0,77,"pl-s"]],[[0,61,"pl-s"]],[[0,61,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,11,"pl-s"]],[[8,13,"pl-s1"],[14,18,"pl-c1"],[19,27,"pl-en"],[28,33,"pl-s1"],[35,42,"pl-s1"],[44,52,"pl-s1"],[52,53,"pl-c1"],[53,59,"pl-s"]],[],[[4,7,"pl-k"],[8,28,"pl-en"],[29,33,"pl-s1"],[35,39,"pl-s1"]],[[8,70,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,35,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,69,"pl-s"]],[[0,31,"pl-s"]],[[0,11,"pl-s"]],[[8,14,"pl-k"],[15,19,"pl-s1"],[20,21,"pl-c1"],[23,25,"pl-k"],[26,29,"pl-en"],[30,34,"pl-s1"],[36,38,"pl-c1"],[39,40,"pl-c1"],[41,45,"pl-k"],[46,50,"pl-s1"]],[],[[4,7,"pl-k"],[8,24,"pl-en"],[25,29,"pl-s1"]],[[8,62,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,19,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,62,"pl-s"]],[[0,36,"pl-s"]],[[0,11,"pl-s"]],[[8,12,"pl-s1"],[13,14,"pl-c1"],[15,17,"pl-s"]],[[8,13,"pl-k"],[14,17,"pl-c1"],[18,22,"pl-s1"]],[[12,16,"pl-s1"],[17,18,"pl-c1"],[19,24,"pl-en"],[25,43,"pl-s"]],[[8,14,"pl-k"],[15,19,"pl-s1"]],[],[[4,7,"pl-k"],[8,13,"pl-en"],[14,18,"pl-s1"],[20,24,"pl-s1"],[26,30,"pl-s1"],[32,44,"pl-s1"]],[[8,62,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,57,"pl-s"]],[[0,56,"pl-s"]],[[0,65,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,11,"pl-s"]],[[8,13,"pl-s1"],[14,15,"pl-c1"],[16,20,"pl-s1"],[21,24,"pl-c1"],[25,30,"pl-c1"],[31,35,"pl-s1"],[37,41,"pl-s1"],[43,55,"pl-s1"]],[[8,10,"pl-k"],[11,15,"pl-en"],[16,21,"pl-s1"],[23,25,"pl-c1"],[26,30,"pl-s1"],[31,41,"pl-c1"]],[[12,17,"pl-s1"],[18,23,"pl-c1"],[24,47,"pl-s"],[49,51,"pl-s1"],[51,52,"pl-c1"],[52,57,"pl-s"]],[[12,18,"pl-k"]],[[8,13,"pl-s1"],[14,19,"pl-c1"],[20,23,"pl-s"],[24,25,"pl-c1"],[26,29,"pl-en"],[30,35,"pl-s1"],[36,42,"pl-c1"],[44,45,"pl-c1"],[46,50,"pl-s"],[51,52,"pl-c1"]],[[19,24,"pl-s1"],[25,30,"pl-c1"],[31,32,"pl-c1"],[33,38,"pl-s"],[39,40,"pl-c1"]],[[19,22,"pl-s"],[23,24,"pl-c1"],[25,28,"pl-en"],[29,34,"pl-s1"],[35,39,"pl-c1"],[41,42,"pl-c1"],[43,47,"pl-s"],[48,49,"pl-c1"]],[[19,24,"pl-s1"],[25,30,"pl-c1"],[31,32,"pl-c1"],[33,36,"pl-s"]],[[19,21,"pl-s1"],[21,22,"pl-c1"],[22,28,"pl-s"]],[[8,13,"pl-s1"],[14,18,"pl-c1"],[19,23,"pl-s"],[20,22,"pl-cce"],[24,25,"pl-c1"],[26,31,"pl-s1"],[32,36,"pl-c1"]],[[8,16,"pl-s1"],[17,18,"pl-c1"],[19,24,"pl-s1"],[25,33,"pl-c1"]],[[8,11,"pl-k"],[12,19,"pl-s1"],[20,22,"pl-c1"],[23,31,"pl-s1"]],[[12,17,"pl-s1"],[18,23,"pl-c1"],[24,42,"pl-s"],[25,27,"pl-cce"],[43,44,"pl-c1"],[45,48,"pl-en"],[49,56,"pl-s1"],[57,61,"pl-c1"],[63,64,"pl-c1"],[65,72,"pl-s"],[69,71,"pl-cce"]],[[24,26,"pl-s1"],[26,27,"pl-c1"],[27,33,"pl-s"]],[[12,17,"pl-s1"],[18,22,"pl-c1"],[23,30,"pl-s1"],[31,35,"pl-c1"]],[],[[4,7,"pl-k"],[8,18,"pl-en"],[19,23,"pl-s1"],[25,29,"pl-s1"],[31,40,"pl-s1"]],[[8,61,"pl-s"]],[[0,0,"pl-s"]],[[0,72,"pl-s"]],[[0,58,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,57,"pl-s"]],[[0,61,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,11,"pl-s"]],[[8,12,"pl-s1"],[13,14,"pl-c1"],[15,19,"pl-s1"],[20,23,"pl-c1"],[24,34,"pl-c1"],[35,39,"pl-s1"],[41,50,"pl-s1"]],[[8,13,"pl-s1"],[14,19,"pl-c1"],[20,24,"pl-s1"],[25,34,"pl-c1"],[36,38,"pl-s1"],[38,39,"pl-c1"],[39,45,"pl-s"]],[[8,10,"pl-k"],[11,15,"pl-s1"],[16,27,"pl-c1"]],[[12,17,"pl-s1"],[18,23,"pl-c1"],[24,28,"pl-s1"],[29,40,"pl-c1"],[42,44,"pl-s1"],[44,45,"pl-c1"],[45,51,"pl-s"]],[[8,13,"pl-s1"],[14,19,"pl-c1"],[20,29,"pl-s"],[30,31,"pl-c1"],[32,35,"pl-en"],[36,40,"pl-s1"],[41,57,"pl-c1"],[59,60,"pl-c1"],[61,66,"pl-s"]],[[20,29,"pl-s"],[30,31,"pl-c1"],[32,35,"pl-en"],[36,40,"pl-s1"],[41,52,"pl-c1"]],[[20,22,"pl-s1"],[22,23,"pl-c1"],[23,29,"pl-s"]],[[8,13,"pl-s1"],[14,19,"pl-c1"],[20,27,"pl-s"],[28,29,"pl-c1"],[30,34,"pl-s1"],[35,44,"pl-c1"],[46,48,"pl-s1"],[48,49,"pl-c1"],[49,55,"pl-s"]],[],[[4,7,"pl-k"],[8,20,"pl-en"],[21,25,"pl-s1"]],[[8,27,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,19,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,11,"pl-s"]],[[8,13,"pl-s1"],[14,15,"pl-c1"],[16,20,"pl-s1"],[21,24,"pl-c1"],[25,37,"pl-c1"]],[[8,13,"pl-s1"],[14,15,"pl-c1"]],[[8,11,"pl-k"],[12,16,"pl-s1"],[17,19,"pl-c1"],[20,25,"pl-s1"]],[[12,17,"pl-s1"],[18,24,"pl-c1"],[26,30,"pl-s1"],[31,35,"pl-c1"],[37,41,"pl-s1"],[42,58,"pl-c1"]],[[8,13,"pl-s1"],[14,15,"pl-c1"],[16,22,"pl-en"],[23,28,"pl-s1"],[30,33,"pl-s1"],[33,34,"pl-c1"],[34,44,"pl-en"],[45,46,"pl-c1"],[48,49,"pl-c1"],[52,59,"pl-s1"],[59,60,"pl-c1"],[60,64,"pl-c1"]],[[8,12,"pl-s1"],[13,25,"pl-c1"],[26,31,"pl-s1"],[33,40,"pl-s1"],[40,41,"pl-c1"],[42,48,"pl-s"],[50,57,"pl-s"]],[],[],[[0,11,"pl-s1"],[12,13,"pl-c1"],[14,19,"pl-s1"],[20,39,"pl-c1"],[40,46,"pl-v"]],[],[],[[0,5,"pl-k"],[6,15,"pl-v"],[16,22,"pl-s1"]],[],[[4,18,"pl-en"],[5,10,"pl-s1"],[11,16,"pl-c1"]],[[4,23,"pl-en"],[5,10,"pl-s1"],[11,23,"pl-c1"]],[[4,7,"pl-k"],[8,11,"pl-en"],[12,15,"pl-s1"]],[[8,74,"pl-c"]],[[8,77,"pl-c"]],[[8,33,"pl-c"]],[[8,11,"pl-s1"],[12,15,"pl-c1"],[16,17,"pl-c1"],[18,24,"pl-en"]],[],[[4,18,"pl-en"],[5,8,"pl-s1"],[9,16,"pl-c1"]],[[4,27,"pl-en"],[5,10,"pl-s1"],[11,19,"pl-c1"],[20,26,"pl-s"]],[[4,27,"pl-en"],[5,10,"pl-s1"],[11,19,"pl-c1"],[20,26,"pl-s"]],[[4,34,"pl-en"],[5,10,"pl-s1"],[11,19,"pl-c1"],[20,33,"pl-s"]],[[4,16,"pl-en"],[5,16,"pl-s1"]],[[4,7,"pl-k"],[8,20,"pl-en"],[21,27,"pl-s1"],[29,33,"pl-s1"],[35,39,"pl-s1"],[41,52,"pl-s1"]],[[8,28,"pl-s"]],[[0,0,"pl-s"]],[[0,25,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,57,"pl-s"]],[[0,56,"pl-s"]],[[0,65,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,11,"pl-s"]],[[8,13,"pl-s1"],[14,15,"pl-c1"],[16,22,"pl-s1"],[23,26,"pl-c1"],[27,39,"pl-c1"],[40,44,"pl-s1"],[46,50,"pl-s1"],[52,63,"pl-s1"]],[[8,13,"pl-s1"],[14,18,"pl-c1"],[19,36,"pl-s"],[37,38,"pl-c1"],[39,44,"pl-s1"],[45,50,"pl-c1"]],[[8,14,"pl-s1"],[15,21,"pl-c1"],[22,26,"pl-s1"],[28,32,"pl-s1"],[34,39,"pl-s1"],[40,46,"pl-c1"]],[],[[4,18,"pl-en"],[5,8,"pl-s1"],[9,16,"pl-c1"]],[[4,32,"pl-en"],[5,10,"pl-s1"],[11,19,"pl-c1"],[20,31,"pl-s"]],[[4,16,"pl-en"],[5,16,"pl-s1"]],[[4,7,"pl-k"],[8,19,"pl-en"],[20,26,"pl-s1"],[28,37,"pl-s1"]],[[8,26,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,61,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,11,"pl-s"]],[[8,12,"pl-s1"],[13,14,"pl-c1"],[15,21,"pl-s1"],[22,25,"pl-c1"],[26,43,"pl-c1"],[44,53,"pl-s1"]],[[8,13,"pl-s1"],[14,19,"pl-c1"],[20,36,"pl-s"],[37,38,"pl-c1"],[39,43,"pl-s1"],[44,53,"pl-c1"],[55,57,"pl-s1"],[57,58,"pl-c1"],[58,64,"pl-s"]],[],[[4,18,"pl-en"],[5,8,"pl-s1"],[9,16,"pl-c1"]],[[4,16,"pl-en"],[5,16,"pl-s1"]],[[4,7,"pl-k"],[8,14,"pl-en"],[15,21,"pl-s1"]],[[8,50,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,19,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,11,"pl-s"]],[[8,14,"pl-s1"],[15,27,"pl-c1"],[28,34,"pl-s1"],[35,38,"pl-c1"],[39,45,"pl-c1"],[49,56,"pl-s1"],[56,57,"pl-c1"],[57,63,"pl-s"]],[],[[4,18,"pl-en"],[5,8,"pl-s1"],[9,16,"pl-c1"]],[[4,16,"pl-en"],[5,16,"pl-s1"]],[[4,7,"pl-k"],[8,14,"pl-en"],[15,21,"pl-s1"]],[[8,35,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,19,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,11,"pl-s"]],[[8,14,"pl-s1"],[15,16,"pl-c1"],[17,23,"pl-s1"],[24,27,"pl-c1"],[28,38,"pl-c1"]],[[8,13,"pl-s1"],[14,15,"pl-c1"]],[[8,11,"pl-k"],[12,17,"pl-s1"],[18,20,"pl-c1"],[21,27,"pl-s1"]],[[12,17,"pl-s1"],[18,24,"pl-c1"],[26,31,"pl-s1"],[32,42,"pl-c1"]],[[26,31,"pl-s1"],[32,37,"pl-c1"]],[[26,31,"pl-s1"],[32,36,"pl-c1"]],[[26,32,"pl-s1"],[33,45,"pl-c1"],[46,51,"pl-s1"],[52,56,"pl-c1"]],[[8,14,"pl-s1"],[15,27,"pl-c1"],[28,33,"pl-s1"]],[[28,35,"pl-s1"],[35,36,"pl-c1"],[37,49,"pl-s"],[51,57,"pl-s"],[59,65,"pl-s"],[67,73,"pl-s"]],[],[[4,18,"pl-en"],[5,8,"pl-s1"],[9,16,"pl-c1"]],[[4,16,"pl-en"],[5,16,"pl-s1"]],[[4,7,"pl-k"],[8,14,"pl-en"],[15,21,"pl-s1"]],[[8,45,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,19,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,11,"pl-s"]],[[8,14,"pl-s1"],[15,27,"pl-c1"],[28,34,"pl-s1"],[35,43,"pl-c1"],[44,50,"pl-s1"],[51,54,"pl-c1"],[55,61,"pl-c1"]],[[44,51,"pl-s1"],[51,52,"pl-c1"],[53,60,"pl-s"]],[],[[4,18,"pl-en"],[5,8,"pl-s1"],[9,16,"pl-c1"]],[[4,16,"pl-en"],[5,16,"pl-s1"]],[[4,7,"pl-k"],[8,13,"pl-en"],[14,20,"pl-s1"]],[[8,45,"pl-s"]],[[0,0,"pl-s"]],[[0,74,"pl-s"]],[[0,55,"pl-s"]],[[0,0,"pl-s"]],[[0,54,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,19,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,0,"pl-s"]],[[0,15,"pl-s"]],[[0,52,"pl-s"]],[[0,11,"pl-s"]],[[8,14,"pl-s1"],[15,18,"pl-c1"],[19,24,"pl-c1"]],[],[[4,18,"pl-en"],[5,8,"pl-s1"],[9,16,"pl-c1"]],[[4,46,"pl-en"],[5,10,"pl-s1"],[11,19,"pl-c1"],[20,29,"pl-s"],[31,39,"pl-s1"],[39,40,"pl-c1"],[40,45,"pl-c1"]],[[4,16,"pl-en"],[5,16,"pl-s1"]],[[4,7,"pl-k"],[8,17,"pl-en"],[18,24,"pl-s1"],[26,33,"pl-s1"]],[[8,60,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,60,"pl-s"]],[[0,65,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,11,"pl-s"]],[[8,10,"pl-k"],[11,18,"pl-s1"],[19,21,"pl-c1"],[22,26,"pl-c1"]],[[12,19,"pl-s1"],[20,21,"pl-c1"],[22,28,"pl-s1"],[29,36,"pl-c1"]],[[8,13,"pl-s1"],[14,15,"pl-c1"],[16,22,"pl-s1"],[23,26,"pl-c1"],[27,39,"pl-c1"],[40,47,"pl-s1"]],[[8,13,"pl-s1"],[14,15,"pl-c1"]],[[8,11,"pl-k"],[12,16,"pl-s1"],[17,19,"pl-c1"],[20,25,"pl-s1"]],[[12,17,"pl-s1"],[18,24,"pl-c1"],[26,30,"pl-s1"],[31,36,"pl-c1"],[38,42,"pl-s1"],[43,51,"pl-c1"]],[[8,14,"pl-s1"],[15,27,"pl-c1"],[28,33,"pl-s1"],[35,42,"pl-s1"],[42,43,"pl-c1"],[44,50,"pl-s"],[52,61,"pl-s"]],[[8,13,"pl-s1"],[14,19,"pl-c1"]],[[12,25,"pl-s"],[26,27,"pl-c1"],[28,31,"pl-en"],[32,38,"pl-s1"],[39,42,"pl-c1"],[43,47,"pl-c1"],[48,55,"pl-s1"],[57,72,"pl-c1"]],[[12,14,"pl-s1"],[14,15,"pl-c1"],[15,21,"pl-s"]],[],[[4,18,"pl-en"],[5,8,"pl-s1"],[9,16,"pl-c1"]],[[4,46,"pl-en"],[5,10,"pl-s1"],[11,19,"pl-c1"],[20,29,"pl-s"],[31,39,"pl-s1"],[39,40,"pl-c1"],[40,45,"pl-c1"]],[[4,16,"pl-en"],[5,16,"pl-s1"]],[[4,7,"pl-k"],[8,17,"pl-en"],[18,24,"pl-s1"],[26,33,"pl-s1"]],[[8,65,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,60,"pl-s"]],[[0,74,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,11,"pl-s"]],[[8,10,"pl-k"],[11,18,"pl-s1"],[19,21,"pl-c1"],[22,26,"pl-c1"]],[[12,19,"pl-s1"],[20,21,"pl-c1"],[22,28,"pl-s1"],[29,36,"pl-c1"]],[[8,13,"pl-s1"],[14,15,"pl-c1"],[16,22,"pl-s1"],[23,26,"pl-c1"],[27,38,"pl-c1"],[39,46,"pl-s1"]],[[8,13,"pl-s1"],[14,15,"pl-c1"]],[[8,11,"pl-k"],[12,16,"pl-s1"],[17,19,"pl-c1"],[20,25,"pl-s1"]],[[12,17,"pl-s1"],[18,24,"pl-c1"],[26,30,"pl-s1"],[31,36,"pl-c1"],[38,42,"pl-s1"],[43,51,"pl-c1"]],[[8,14,"pl-s1"],[15,27,"pl-c1"],[28,33,"pl-s1"],[35,42,"pl-s1"],[42,43,"pl-c1"],[44,50,"pl-s"],[52,61,"pl-s"]],[[8,13,"pl-s1"],[14,19,"pl-c1"]],[[12,24,"pl-s"],[25,26,"pl-c1"],[27,30,"pl-en"],[31,37,"pl-s1"],[38,41,"pl-c1"],[42,46,"pl-c1"],[47,54,"pl-s1"],[56,71,"pl-c1"]],[[12,14,"pl-s1"],[14,15,"pl-c1"],[15,21,"pl-s"]],[],[[4,18,"pl-en"],[5,8,"pl-s1"],[9,16,"pl-c1"]],[[4,31,"pl-en"],[5,10,"pl-s1"],[11,19,"pl-c1"],[20,30,"pl-s"]],[[4,16,"pl-en"],[5,16,"pl-s1"]],[[4,7,"pl-k"],[8,26,"pl-en"],[27,33,"pl-s1"],[35,43,"pl-s1"]],[[8,65,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,59,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,11,"pl-s"]],[[8,16,"pl-s1"],[17,18,"pl-c1"],[19,25,"pl-s1"],[26,29,"pl-c1"],[30,48,"pl-c1"],[49,57,"pl-s1"]],[[8,10,"pl-k"],[11,19,"pl-s1"]],[[12,17,"pl-s1"],[18,22,"pl-c1"],[23,31,"pl-s1"]],[[8,12,"pl-k"]],[[12,17,"pl-s1"],[18,23,"pl-c1"],[24,72,"pl-s"]],[[23,62,"pl-s"],[59,61,"pl-cce"]],[[23,51,"pl-s"]],[[23,25,"pl-s1"],[25,26,"pl-c1"],[26,31,"pl-s"]],[],[[4,18,"pl-en"],[5,8,"pl-s1"],[9,16,"pl-c1"]],[[4,16,"pl-en"],[5,16,"pl-s1"]],[[4,7,"pl-k"],[8,27,"pl-en"],[28,34,"pl-s1"]],[[8,53,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,19,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,11,"pl-s"]],[[8,14,"pl-s1"],[15,27,"pl-c1"]],[[12,18,"pl-s1"],[19,27,"pl-c1"],[28,34,"pl-s1"],[35,38,"pl-c1"],[39,58,"pl-c1"]],[[28,35,"pl-s1"],[35,36,"pl-c1"],[37,47,"pl-s"]],[],[[4,18,"pl-en"],[5,8,"pl-s1"],[9,16,"pl-c1"]],[[4,27,"pl-en"],[5,10,"pl-s1"],[11,19,"pl-c1"],[20,26,"pl-s"]],[[4,27,"pl-en"],[5,10,"pl-s1"],[11,19,"pl-c1"],[20,26,"pl-s"]],[[4,35,"pl-en"],[5,10,"pl-s1"],[11,19,"pl-c1"],[20,34,"pl-s"]],[[4,16,"pl-en"],[5,16,"pl-s1"]],[[4,7,"pl-k"],[8,13,"pl-en"],[14,20,"pl-s1"],[22,26,"pl-s1"],[28,32,"pl-s1"],[34,46,"pl-s1"]],[[8,62,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,57,"pl-s"]],[[0,56,"pl-s"]],[[0,65,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,11,"pl-s"]],[[8,14,"pl-s1"],[15,20,"pl-c1"],[21,25,"pl-s1"],[27,31,"pl-s1"],[33,45,"pl-s1"]],[],[[4,18,"pl-en"],[5,8,"pl-s1"],[9,16,"pl-c1"]],[[4,73,"pl-en"],[5,10,"pl-s1"],[11,19,"pl-c1"],[20,34,"pl-s"],[36,44,"pl-s1"],[44,45,"pl-c1"],[45,50,"pl-c1"],[52,59,"pl-s1"],[59,60,"pl-c1"],[60,72,"pl-s"]],[[4,16,"pl-en"],[5,16,"pl-s1"]],[[4,7,"pl-k"],[8,14,"pl-en"],[15,21,"pl-s1"],[23,35,"pl-s1"]],[[8,28,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,71,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,11,"pl-s"]],[[8,14,"pl-s1"],[15,16,"pl-c1"],[17,23,"pl-s1"],[24,27,"pl-c1"],[28,34,"pl-c1"],[35,41,"pl-s1"],[41,42,"pl-c1"],[42,54,"pl-s1"]],[[8,13,"pl-s1"],[14,15,"pl-c1"]],[[8,11,"pl-k"],[12,17,"pl-s1"],[18,20,"pl-c1"],[21,27,"pl-s1"]],[[12,17,"pl-s1"],[18,24,"pl-c1"],[26,31,"pl-s1"],[32,38,"pl-c1"]],[[26,32,"pl-s1"],[33,45,"pl-c1"],[46,51,"pl-s1"],[52,62,"pl-c1"]],[[26,31,"pl-s1"],[32,37,"pl-c1"]],[[26,31,"pl-s1"],[32,46,"pl-c1"]],[[8,36,"pl-c"]],[[8,13,"pl-s1"],[14,15,"pl-c1"],[16,22,"pl-en"],[23,28,"pl-s1"],[30,33,"pl-s1"],[33,34,"pl-c1"],[34,44,"pl-en"],[45,46,"pl-c1"],[48,49,"pl-c1"]],[[8,14,"pl-s1"],[15,27,"pl-c1"],[28,33,"pl-s1"]],[[28,35,"pl-s1"],[35,36,"pl-c1"],[37,40,"pl-s"],[42,48,"pl-s"],[50,57,"pl-s"],[59,69,"pl-s"]],[],[[4,18,"pl-en"],[5,8,"pl-s1"],[9,16,"pl-c1"]],[[4,16,"pl-en"],[5,16,"pl-s1"]],[[4,7,"pl-k"],[8,10,"pl-en"],[11,17,"pl-s1"]],[[8,54,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,19,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,11,"pl-s"]],[[8,12,"pl-s1"],[13,14,"pl-c1"],[15,21,"pl-s1"],[22,25,"pl-c1"],[26,28,"pl-c1"]],[[8,13,"pl-s1"],[14,19,"pl-c1"],[20,24,"pl-s1"],[25,30,"pl-c1"],[32,34,"pl-s1"],[34,35,"pl-c1"],[35,41,"pl-s"]],[[8,10,"pl-k"],[11,15,"pl-s1"],[16,23,"pl-c1"],[24,30,"pl-c1"],[24,26,"pl-c1"],[27,30,"pl-c1"],[31,35,"pl-c1"]],[[12,17,"pl-s1"],[18,23,"pl-c1"],[24,34,"pl-s"],[36,40,"pl-s1"],[41,48,"pl-c1"],[50,52,"pl-s1"],[52,53,"pl-c1"],[53,59,"pl-s"]],[[8,10,"pl-k"],[11,15,"pl-s1"],[16,24,"pl-c1"],[25,31,"pl-c1"],[25,27,"pl-c1"],[28,31,"pl-c1"],[32,36,"pl-c1"]],[[12,17,"pl-s1"],[18,23,"pl-c1"],[24,35,"pl-s"],[37,41,"pl-s1"],[42,50,"pl-c1"],[52,54,"pl-s1"],[54,55,"pl-c1"],[55,61,"pl-s"]],[[8,10,"pl-k"],[11,15,"pl-s1"],[16,21,"pl-c1"],[22,28,"pl-c1"],[22,24,"pl-c1"],[25,28,"pl-c1"],[29,33,"pl-c1"]],[[12,17,"pl-s1"],[18,23,"pl-c1"],[24,33,"pl-s"],[34,35,"pl-c1"],[36,40,"pl-s1"],[41,46,"pl-c1"],[48,50,"pl-s1"],[50,51,"pl-c1"],[51,57,"pl-s"]],[[8,13,"pl-s1"],[14,19,"pl-c1"],[20,33,"pl-s"],[34,35,"pl-c1"],[36,39,"pl-en"],[40,44,"pl-s1"],[45,60,"pl-c1"],[63,65,"pl-s1"],[65,66,"pl-c1"],[66,72,"pl-s"]],[[8,13,"pl-s1"],[14,19,"pl-c1"],[20,33,"pl-s"],[34,35,"pl-c1"],[36,39,"pl-en"],[40,44,"pl-s1"],[45,60,"pl-c1"],[63,65,"pl-s1"],[65,66,"pl-c1"],[66,72,"pl-s"]],[[8,14,"pl-s1"],[15,27,"pl-c1"]],[],[[4,18,"pl-en"],[5,8,"pl-s1"],[9,16,"pl-c1"]],[[4,16,"pl-en"],[5,16,"pl-s1"]],[[4,7,"pl-k"],[8,21,"pl-en"],[22,28,"pl-s1"]],[[8,35,"pl-s"]],[[0,0,"pl-s"]],[[0,72,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,19,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,11,"pl-s"]],[[8,14,"pl-s1"],[15,27,"pl-c1"],[28,34,"pl-s1"],[35,38,"pl-c1"],[39,52,"pl-c1"],[53,66,"pl-s1"],[66,67,"pl-c1"],[67,71,"pl-c1"]],[[28,35,"pl-s1"],[35,36,"pl-c1"],[37,51,"pl-s"]],[],[[4,18,"pl-en"],[5,8,"pl-s1"],[9,16,"pl-c1"]],[[4,42,"pl-en"],[5,10,"pl-s1"],[11,19,"pl-c1"],[20,25,"pl-s"],[27,35,"pl-s1"],[35,36,"pl-c1"],[36,41,"pl-c1"]],[[4,16,"pl-en"],[5,16,"pl-s1"]],[[4,7,"pl-k"],[8,15,"pl-en"],[16,22,"pl-s1"],[24,27,"pl-s1"]],[[8,67,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,47,"pl-s"]],[[0,61,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,11,"pl-s"]],[[8,14,"pl-s1"],[15,16,"pl-c1"],[17,20,"pl-en"],[21,27,"pl-s1"],[28,31,"pl-c1"],[32,39,"pl-c1"],[40,43,"pl-s1"]],[[8,14,"pl-s1"],[15,16,"pl-c1"],[17,23,"pl-s1"],[24,31,"pl-c1"],[32,37,"pl-s"],[33,35,"pl-cce"],[39,43,"pl-s"],[40,42,"pl-cce"]],[[8,13,"pl-s1"],[14,18,"pl-c1"],[19,25,"pl-s1"]],[],[[4,18,"pl-en"],[5,8,"pl-s1"],[9,16,"pl-c1"]],[[4,16,"pl-en"],[5,16,"pl-s1"]],[[4,7,"pl-k"],[8,15,"pl-en"],[16,22,"pl-s1"]],[[8,54,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,19,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,11,"pl-s"]],[[8,11,"pl-s1"],[12,13,"pl-c1"],[14,35,"pl-s"],[36,37,"pl-c1"],[38,44,"pl-s1"],[45,52,"pl-c1"]],[[8,18,"pl-s1"],[19,23,"pl-c1"],[24,27,"pl-s1"]],[],[[4,18,"pl-en"],[5,8,"pl-s1"],[9,16,"pl-c1"]],[[4,27,"pl-en"],[5,10,"pl-s1"],[11,19,"pl-c1"],[20,26,"pl-s"]],[[4,27,"pl-en"],[5,10,"pl-s1"],[11,19,"pl-c1"],[20,26,"pl-s"]],[[4,35,"pl-en"],[5,10,"pl-s1"],[11,19,"pl-c1"],[20,34,"pl-s"]],[[4,16,"pl-en"],[5,16,"pl-s1"]],[[4,7,"pl-k"],[8,20,"pl-en"],[21,27,"pl-s1"],[29,33,"pl-s1"],[35,39,"pl-s1"],[41,53,"pl-s1"]],[[8,69,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,57,"pl-s"]],[[0,56,"pl-s"]],[[0,65,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,11,"pl-s"]],[[8,14,"pl-s1"],[15,20,"pl-c1"],[21,25,"pl-s1"],[27,31,"pl-s1"],[33,45,"pl-s1"]],[],[[4,18,"pl-en"],[5,8,"pl-s1"],[9,16,"pl-c1"]],[[4,16,"pl-en"],[5,16,"pl-s1"]],[[4,7,"pl-k"],[8,21,"pl-en"],[22,28,"pl-s1"]],[[8,35,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,19,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,11,"pl-s"]],[[8,21,"pl-s1"],[22,23,"pl-c1"]],[[8,20,"pl-s1"],[21,22,"pl-c1"],[23,29,"pl-s1"],[30,33,"pl-c1"],[34,46,"pl-c1"]],[[8,11,"pl-k"],[12,22,"pl-s1"],[23,25,"pl-c1"],[26,38,"pl-s1"]],[[12,22,"pl-s1"],[23,24,"pl-c1"],[25,35,"pl-s1"],[36,49,"pl-c1"]],[[12,15,"pl-k"],[16,25,"pl-s1"],[26,28,"pl-c1"],[29,39,"pl-s1"]],[[16,29,"pl-s1"],[30,36,"pl-c1"],[37,46,"pl-s1"]],[[8,13,"pl-s1"],[14,15,"pl-c1"]],[[8,11,"pl-k"],[12,24,"pl-s1"],[25,27,"pl-c1"],[28,41,"pl-s1"]],[[12,16,"pl-s1"],[18,27,"pl-s1"],[28,29,"pl-c1"],[30,42,"pl-s1"],[43,53,"pl-c1"]],[[12,16,"pl-s1"],[17,18,"pl-c1"],[19,23,"pl-s1"],[24,29,"pl-c1"],[30,38,"pl-s"],[40,41,"pl-c1"],[42,45,"pl-s"],[46,47,"pl-c1"],[48,57,"pl-s1"]],[[12,17,"pl-s1"],[18,24,"pl-c1"],[26,38,"pl-s1"],[39,45,"pl-c1"]],[[26,30,"pl-s1"]],[[26,38,"pl-s1"],[39,44,"pl-c1"]],[[8,43,"pl-c"]],[[8,13,"pl-s1"],[14,15,"pl-c1"],[16,22,"pl-en"],[23,28,"pl-s1"],[30,33,"pl-s1"],[33,34,"pl-c1"],[34,44,"pl-en"],[45,46,"pl-c1"],[48,49,"pl-c1"]],[[8,14,"pl-s1"],[15,27,"pl-c1"],[28,33,"pl-s1"],[35,42,"pl-s1"],[42,43,"pl-c1"],[44,47,"pl-s"],[49,55,"pl-s"],[57,64,"pl-s"]],[],[[4,18,"pl-en"],[5,8,"pl-s1"],[9,16,"pl-c1"]],[[4,16,"pl-en"],[5,16,"pl-s1"]],[[4,7,"pl-k"],[8,18,"pl-en"],[19,25,"pl-s1"]],[[8,34,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,19,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,11,"pl-s"]],[[8,13,"pl-s1"],[14,18,"pl-c1"],[19,33,"pl-s"],[34,35,"pl-c1"],[36,39,"pl-en"],[40,46,"pl-s1"],[47,50,"pl-c1"],[51,70,"pl-c1"]],[],[[4,18,"pl-en"],[5,8,"pl-s1"],[9,16,"pl-c1"]],[[4,27,"pl-en"],[5,10,"pl-s1"],[11,19,"pl-c1"],[20,26,"pl-s"]],[[4,32,"pl-en"],[5,10,"pl-s1"],[11,19,"pl-c1"],[20,31,"pl-s"]],[[4,16,"pl-en"],[5,16,"pl-s1"]],[[4,7,"pl-k"],[8,18,"pl-en"],[19,25,"pl-s1"],[27,31,"pl-s1"],[33,42,"pl-s1"]],[[8,61,"pl-s"]],[[0,0,"pl-s"]],[[0,72,"pl-s"]],[[0,58,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,57,"pl-s"]],[[0,61,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,11,"pl-s"]],[[8,14,"pl-s1"],[15,25,"pl-c1"],[26,30,"pl-s1"],[32,41,"pl-s1"]],[],[[4,18,"pl-en"],[5,8,"pl-s1"],[9,16,"pl-c1"]],[[4,16,"pl-en"],[5,16,"pl-s1"]],[[4,7,"pl-k"],[8,20,"pl-en"],[21,27,"pl-s1"]],[[8,27,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,19,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,11,"pl-s"]],[[8,14,"pl-s1"],[15,27,"pl-c1"]],[],[[4,18,"pl-en"],[5,8,"pl-s1"],[9,16,"pl-c1"]],[[4,28,"pl-en"],[5,10,"pl-s1"],[11,19,"pl-c1"],[20,27,"pl-s"]],[[4,16,"pl-en"],[5,16,"pl-s1"]],[[4,7,"pl-k"],[8,21,"pl-en"],[22,28,"pl-s1"],[30,35,"pl-s1"]],[[8,52,"pl-s"]],[[0,0,"pl-s"]],[[0,72,"pl-s"]],[[0,18,"pl-s"]],[[0,0,"pl-s"]],[[0,76,"pl-s"]],[[0,31,"pl-s"]],[[0,77,"pl-s"]],[[0,75,"pl-s"]],[[0,31,"pl-s"]],[[0,60,"pl-s"]],[[0,72,"pl-s"]],[[0,64,"pl-s"]],[[0,70,"pl-s"]],[[0,79,"pl-s"]],[[0,75,"pl-s"]],[[0,20,"pl-s"]],[[0,74,"pl-s"]],[[0,58,"pl-s"]],[[0,75,"pl-s"]],[[0,27,"pl-s"]],[[0,79,"pl-s"]],[[0,41,"pl-s"]],[[0,72,"pl-s"]],[[0,68,"pl-s"]],[[0,21,"pl-s"]],[[0,0,"pl-s"]],[[0,78,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,60,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,11,"pl-s"]],[[8,14,"pl-s1"],[15,16,"pl-c1"],[17,23,"pl-s1"],[24,27,"pl-c1"],[28,41,"pl-c1"],[42,47,"pl-s1"]],[[8,13,"pl-s1"],[14,15,"pl-c1"]],[[8,11,"pl-k"]],[[12,15,"pl-k"],[16,21,"pl-s1"],[22,24,"pl-c1"],[25,31,"pl-s1"]],[[16,21,"pl-s1"],[22,28,"pl-c1"],[30,35,"pl-s1"],[36,41,"pl-c1"]],[[29,34,"pl-s1"],[35,40,"pl-c1"],[41,47,"pl-c1"]],[[29,35,"pl-s1"],[36,48,"pl-c1"],[49,54,"pl-s1"],[55,60,"pl-c1"],[61,71,"pl-c1"]],[[29,34,"pl-s1"],[35,40,"pl-c1"],[41,46,"pl-c1"]],[[8,14,"pl-k"],[15,29,"pl-v"]],[[12,73,"pl-c"]],[[12,70,"pl-c"]],[[12,16,"pl-k"]],[[8,43,"pl-c"]],[[8,13,"pl-s1"],[14,15,"pl-c1"],[16,22,"pl-en"],[23,28,"pl-s1"],[30,33,"pl-s1"],[33,34,"pl-c1"],[34,44,"pl-en"],[45,46,"pl-c1"],[48,49,"pl-c1"],[51,52,"pl-c1"],[55,62,"pl-s1"],[62,63,"pl-c1"],[63,67,"pl-c1"]],[[8,14,"pl-s1"],[15,27,"pl-c1"],[28,33,"pl-s1"],[35,42,"pl-s1"],[42,43,"pl-c1"],[44,51,"pl-s"],[53,56,"pl-s"],[58,64,"pl-s"],[66,73,"pl-s"]],[],[[4,18,"pl-en"],[5,8,"pl-s1"],[9,16,"pl-c1"]],[[4,28,"pl-en"],[5,10,"pl-s1"],[11,19,"pl-c1"],[20,27,"pl-s"]],[[4,16,"pl-en"],[5,16,"pl-s1"]],[[4,7,"pl-k"],[8,27,"pl-en"],[28,34,"pl-s1"],[36,41,"pl-s1"]],[[8,51,"pl-s"]],[[0,0,"pl-s"]],[[0,72,"pl-s"]],[[0,18,"pl-s"]],[[0,0,"pl-s"]],[[0,77,"pl-s"]],[[0,75,"pl-s"]],[[0,46,"pl-s"]],[[0,67,"pl-s"]],[[0,21,"pl-s"]],[[0,77,"pl-s"]],[[0,74,"pl-s"]],[[0,14,"pl-s"]],[[0,74,"pl-s"]],[[0,75,"pl-s"]],[[0,59,"pl-s"]],[[0,33,"pl-s"]],[[0,68,"pl-s"]],[[0,21,"pl-s"]],[[0,74,"pl-s"]],[[0,21,"pl-s"]],[[0,71,"pl-s"]],[[0,0,"pl-s"]],[[0,78,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,60,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,11,"pl-s"]],[[8,13,"pl-s1"],[14,15,"pl-c1"],[16,22,"pl-s1"],[23,26,"pl-c1"],[27,46,"pl-c1"],[47,52,"pl-s1"]],[[8,13,"pl-s1"],[14,15,"pl-c1"]],[[8,11,"pl-k"]],[[12,15,"pl-k"],[16,20,"pl-s1"],[21,23,"pl-c1"],[24,29,"pl-s1"]],[[16,21,"pl-s1"],[22,28,"pl-c1"],[30,34,"pl-s1"],[35,40,"pl-c1"]],[[30,34,"pl-s1"],[35,45,"pl-c1"],[46,62,"pl-c1"]],[[30,34,"pl-s1"],[35,45,"pl-c1"],[46,57,"pl-c1"]],[[30,34,"pl-s1"],[35,45,"pl-c1"],[46,55,"pl-c1"]],[[8,14,"pl-k"],[15,29,"pl-v"]],[[12,73,"pl-c"]],[[12,70,"pl-c"]],[[12,16,"pl-k"]],[[8,29,"pl-c"]],[[8,13,"pl-s1"],[14,15,"pl-c1"],[16,22,"pl-en"],[23,28,"pl-s1"],[30,33,"pl-s1"],[33,34,"pl-c1"],[34,44,"pl-en"],[45,46,"pl-c1"],[48,49,"pl-c1"],[52,59,"pl-s1"],[59,60,"pl-c1"],[60,64,"pl-c1"]],[[8,14,"pl-s1"],[15,27,"pl-c1"],[28,33,"pl-s1"],[35,42,"pl-s1"],[42,43,"pl-c1"],[44,51,"pl-s"],[53,60,"pl-s"],[62,69,"pl-s"],[71,77,"pl-s"]],[],[[4,18,"pl-en"],[5,8,"pl-s1"],[9,16,"pl-c1"]],[[4,62,"pl-en"],[5,10,"pl-s1"],[11,19,"pl-c1"],[20,33,"pl-s"],[35,43,"pl-s1"],[43,44,"pl-c1"],[44,49,"pl-c1"],[51,58,"pl-s1"],[58,59,"pl-c1"],[59,61,"pl-s"]],[[4,16,"pl-en"],[5,16,"pl-s1"]],[[4,7,"pl-k"],[8,15,"pl-en"],[16,22,"pl-s1"],[24,35,"pl-s1"]],[[8,33,"pl-s"]],[[0,0,"pl-s"]],[[0,13,"pl-s"]],[[0,73,"pl-s"]],[[0,64,"pl-s"]],[[0,51,"pl-s"]],[[0,0,"pl-s"]],[[0,16,"pl-s"]],[[0,17,"pl-s"]],[[0,11,"pl-s"]],[[8,13,"pl-s1"],[14,15,"pl-c1"],[16,22,"pl-s1"],[23,26,"pl-c1"],[27,34,"pl-c1"]],[[8,13,"pl-s1"],[14,15,"pl-c1"]],[[8,19,"pl-s1"],[20,21,"pl-c1"],[22,33,"pl-s1"],[34,39,"pl-c1"]],[[8,11,"pl-k"]],[[12,15,"pl-k"],[16,20,"pl-s1"],[21,23,"pl-c1"],[24,29,"pl-s1"]],[[16,18,"pl-k"],[19,30,"pl-s1"],[31,33,"pl-c1"],[34,38,"pl-s1"],[39,48,"pl-c1"],[49,54,"pl-c1"],[57,59,"pl-c1"]],[[20,31,"pl-s1"],[32,34,"pl-c1"],[35,39,"pl-s1"],[40,51,"pl-c1"],[52,57,"pl-c1"]],[[20,25,"pl-s1"],[26,32,"pl-c1"],[34,38,"pl-s1"],[39,55,"pl-c1"]],[[34,38,"pl-s1"],[39,50,"pl-c1"]],[[34,38,"pl-s1"],[39,48,"pl-c1"]],[[34,38,"pl-s1"],[39,48,"pl-c1"]],[[8,14,"pl-k"],[15,29,"pl-v"]],[[12,73,"pl-c"]],[[12,70,"pl-c"]],[[12,16,"pl-k"]],[[8,22,"pl-c"]],[[8,13,"pl-s1"],[14,15,"pl-c1"],[16,22,"pl-en"],[23,28,"pl-s1"],[30,33,"pl-s1"],[33,34,"pl-c1"],[34,44,"pl-en"],[45,46,"pl-c1"],[49,56,"pl-s1"],[56,57,"pl-c1"],[57,61,"pl-c1"]],[[8,14,"pl-s1"],[15,27,"pl-c1"]],[[12,17,"pl-s1"],[19,26,"pl-s1"],[26,27,"pl-c1"],[28,35,"pl-s"],[37,44,"pl-s"],[46,52,"pl-s"],[54,59,"pl-s"]]],"colorizedLines":null,"csv":null,"csvError":null,"copilotSWEAgentEnabled":false,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/donnemartin/gh/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"githubcli.py","displayUrl":"https://github.com/donnemartin/gh/blob/master/githubcli/githubcli.py?raw=true","headerInfo":{"blobSize":"26.8 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":"9e9a9c8","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fdonnemartin%2Fgh%2Fblob%2Fmaster%2Fgithubcli%2Fgithubcli.py","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":"852","truncatedSloc":"715"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":"Python","languageID":303,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/donnemartin/gh/blob/master/githubcli/githubcli.py","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/donnemartin/gh/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/donnemartin/gh/raw/refs/heads/master/githubcli/githubcli.py","renderImageOrRaw":false,"richText":null,"renderedFileInfo":null,"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,"symbols":{"timed_out":false,"not_analyzed":false,"symbols":[{"name":"GitHub","kind":"class","ident_start":438,"ident_end":444,"extent_start":432,"extent_end":10371,"fully_qualified_name":"GitHub","ident_utf16":{"start":{"line_number":23,"utf16_col":6},"end":{"line_number":23,"utf16_col":12}},"extent_utf16":{"start":{"line_number":23,"utf16_col":0},"end":{"line_number":304,"utf16_col":59}}},{"name":"APP_NAME","kind":"constant","ident_start":1576,"ident_end":1584,"extent_start":1576,"extent_end":1598,"fully_qualified_name":"GitHub.APP_NAME","ident_utf16":{"start":{"line_number":45,"utf16_col":4},"end":{"line_number":45,"utf16_col":12}},"extent_utf16":{"start":{"line_number":45,"utf16_col":4},"end":{"line_number":45,"utf16_col":26}}},{"name":"CONFIG","kind":"constant","ident_start":1603,"ident_end":1609,"extent_start":1603,"extent_end":1627,"fully_qualified_name":"GitHub.CONFIG","ident_utf16":{"start":{"line_number":46,"utf16_col":4},"end":{"line_number":46,"utf16_col":10}},"extent_utf16":{"start":{"line_number":46,"utf16_col":4},"end":{"line_number":46,"utf16_col":28}}},{"name":"CONFIG_SECTION","kind":"constant","ident_start":1632,"ident_end":1646,"extent_start":1632,"extent_end":1657,"fully_qualified_name":"GitHub.CONFIG_SECTION","ident_utf16":{"start":{"line_number":47,"utf16_col":4},"end":{"line_number":47,"utf16_col":18}},"extent_utf16":{"start":{"line_number":47,"utf16_col":4},"end":{"line_number":47,"utf16_col":29}}},{"name":"CONFIG_USER_ID","kind":"constant","ident_start":1662,"ident_end":1676,"extent_start":1662,"extent_end":1688,"fully_qualified_name":"GitHub.CONFIG_USER_ID","ident_utf16":{"start":{"line_number":48,"utf16_col":4},"end":{"line_number":48,"utf16_col":18}},"extent_utf16":{"start":{"line_number":48,"utf16_col":4},"end":{"line_number":48,"utf16_col":30}}},{"name":"CONFIG_USER_PASS","kind":"constant","ident_start":1693,"ident_end":1709,"extent_start":1693,"extent_end":1723,"fully_qualified_name":"GitHub.CONFIG_USER_PASS","ident_utf16":{"start":{"line_number":49,"utf16_col":4},"end":{"line_number":49,"utf16_col":20}},"extent_utf16":{"start":{"line_number":49,"utf16_col":4},"end":{"line_number":49,"utf16_col":34}}},{"name":"CONFIG_USER_TOKEN","kind":"constant","ident_start":1728,"ident_end":1745,"extent_start":1728,"extent_end":1760,"fully_qualified_name":"GitHub.CONFIG_USER_TOKEN","ident_utf16":{"start":{"line_number":50,"utf16_col":4},"end":{"line_number":50,"utf16_col":21}},"extent_utf16":{"start":{"line_number":50,"utf16_col":4},"end":{"line_number":50,"utf16_col":36}}},{"name":"CONFIG_URL","kind":"constant","ident_start":1765,"ident_end":1775,"extent_start":1765,"extent_end":1796,"fully_qualified_name":"GitHub.CONFIG_URL","ident_utf16":{"start":{"line_number":51,"utf16_col":4},"end":{"line_number":51,"utf16_col":14}},"extent_utf16":{"start":{"line_number":51,"utf16_col":4},"end":{"line_number":51,"utf16_col":35}}},{"name":"CONFIG_URL_SECTION","kind":"constant","ident_start":1801,"ident_end":1819,"extent_start":1801,"extent_end":1827,"fully_qualified_name":"GitHub.CONFIG_URL_SECTION","ident_utf16":{"start":{"line_number":52,"utf16_col":4},"end":{"line_number":52,"utf16_col":22}},"extent_utf16":{"start":{"line_number":52,"utf16_col":4},"end":{"line_number":52,"utf16_col":30}}},{"name":"CONFIG_URL_LIST","kind":"constant","ident_start":1832,"ident_end":1847,"extent_start":1832,"extent_end":1860,"fully_qualified_name":"GitHub.CONFIG_URL_LIST","ident_utf16":{"start":{"line_number":53,"utf16_col":4},"end":{"line_number":53,"utf16_col":19}},"extent_utf16":{"start":{"line_number":53,"utf16_col":4},"end":{"line_number":53,"utf16_col":32}}},{"name":"__init__","kind":"function","ident_start":1870,"ident_end":1878,"extent_start":1866,"extent_end":2015,"fully_qualified_name":"GitHub.__init__","ident_utf16":{"start":{"line_number":55,"utf16_col":8},"end":{"line_number":55,"utf16_col":16}},"extent_utf16":{"start":{"line_number":55,"utf16_col":4},"end":{"line_number":64,"utf16_col":21}}},{"name":"_format_repo","kind":"function","ident_start":2025,"ident_end":2037,"extent_start":2021,"extent_end":2385,"fully_qualified_name":"GitHub._format_repo","ident_utf16":{"start":{"line_number":66,"utf16_col":8},"end":{"line_number":66,"utf16_col":20}},"extent_utf16":{"start":{"line_number":66,"utf16_col":4},"end":{"line_number":79,"utf16_col":29}}},{"name":"_github_config","kind":"function","ident_start":2395,"ident_end":2409,"extent_start":2391,"extent_end":2837,"fully_qualified_name":"GitHub._github_config","ident_utf16":{"start":{"line_number":81,"utf16_col":8},"end":{"line_number":81,"utf16_col":22}},"extent_utf16":{"start":{"line_number":81,"utf16_col":4},"end":{"line_number":94,"utf16_col":21}}},{"name":"_listify","kind":"function","ident_start":2847,"ident_end":2855,"extent_start":2843,"extent_end":3388,"fully_qualified_name":"GitHub._listify","ident_utf16":{"start":{"line_number":96,"utf16_col":8},"end":{"line_number":96,"utf16_col":16}},"extent_utf16":{"start":{"line_number":96,"utf16_col":4},"end":{"line_number":116,"utf16_col":21}}},{"name":"_login","kind":"function","ident_start":3398,"ident_end":3404,"extent_start":3394,"extent_end":6260,"fully_qualified_name":"GitHub._login","ident_utf16":{"start":{"line_number":118,"utf16_col":8},"end":{"line_number":118,"utf16_col":14}},"extent_utf16":{"start":{"line_number":118,"utf16_col":4},"end":{"line_number":179,"utf16_col":44}}},{"name":"_print_items","kind":"function","ident_start":6270,"ident_end":6282,"extent_start":6266,"extent_end":6872,"fully_qualified_name":"GitHub._print_items","ident_utf16":{"start":{"line_number":181,"utf16_col":8},"end":{"line_number":181,"utf16_col":20}},"extent_utf16":{"start":{"line_number":181,"utf16_col":4},"end":{"line_number":197,"utf16_col":49}}},{"name":"_print_table","kind":"function","ident_start":6882,"ident_end":6894,"extent_start":6878,"extent_end":7425,"fully_qualified_name":"GitHub._print_table","ident_utf16":{"start":{"line_number":199,"utf16_col":8},"end":{"line_number":199,"utf16_col":20}},"extent_utf16":{"start":{"line_number":199,"utf16_col":4},"end":{"line_number":212,"utf16_col":61}}},{"name":"_return_elem_or_list","kind":"function","ident_start":7435,"ident_end":7455,"extent_start":7431,"extent_end":7773,"fully_qualified_name":"GitHub._return_elem_or_list","ident_utf16":{"start":{"line_number":214,"utf16_col":8},"end":{"line_number":214,"utf16_col":28}},"extent_utf16":{"start":{"line_number":214,"utf16_col":4},"end":{"line_number":224,"utf16_col":50}}},{"name":"_two_factor_code","kind":"function","ident_start":7783,"ident_end":7799,"extent_start":7779,"extent_end":8141,"fully_qualified_name":"GitHub._two_factor_code","ident_utf16":{"start":{"line_number":226,"utf16_col":8},"end":{"line_number":226,"utf16_col":24}},"extent_utf16":{"start":{"line_number":226,"utf16_col":4},"end":{"line_number":239,"utf16_col":19}}},{"name":"issue","kind":"function","ident_start":8151,"ident_end":8156,"extent_start":8147,"extent_end":9145,"fully_qualified_name":"GitHub.issue","ident_utf16":{"start":{"line_number":241,"utf16_col":8},"end":{"line_number":241,"utf16_col":13}},"extent_utf16":{"start":{"line_number":241,"utf16_col":4},"end":{"line_number":266,"utf16_col":36}}},{"name":"repository","kind":"function","ident_start":9155,"ident_end":9165,"extent_start":9151,"extent_end":9958,"fully_qualified_name":"GitHub.repository","ident_utf16":{"start":{"line_number":268,"utf16_col":8},"end":{"line_number":268,"utf16_col":18}},"extent_utf16":{"start":{"line_number":268,"utf16_col":4},"end":{"line_number":288,"utf16_col":56}}},{"name":"repositories","kind":"function","ident_start":9968,"ident_end":9980,"extent_start":9964,"extent_end":10371,"fully_qualified_name":"GitHub.repositories","ident_utf16":{"start":{"line_number":290,"utf16_col":8},"end":{"line_number":290,"utf16_col":20}},"extent_utf16":{"start":{"line_number":290,"utf16_col":4},"end":{"line_number":304,"utf16_col":59}}},{"name":"pass_github","kind":"constant","ident_start":10374,"ident_end":10385,"extent_start":10374,"extent_end":10421,"fully_qualified_name":"pass_github","ident_utf16":{"start":{"line_number":307,"utf16_col":0},"end":{"line_number":307,"utf16_col":11}},"extent_utf16":{"start":{"line_number":307,"utf16_col":0},"end":{"line_number":307,"utf16_col":47}}},{"name":"GitHubCli","kind":"class","ident_start":10430,"ident_end":10439,"extent_start":10424,"extent_end":27464,"fully_qualified_name":"GitHubCli","ident_utf16":{"start":{"line_number":310,"utf16_col":6},"end":{"line_number":310,"utf16_col":15}},"extent_utf16":{"start":{"line_number":310,"utf16_col":0},"end":{"line_number":851,"utf16_col":61}}},{"name":"cli","kind":"function","ident_start":10501,"ident_end":10504,"extent_start":10497,"extent_end":10724,"fully_qualified_name":"GitHubCli.cli","ident_utf16":{"start":{"line_number":314,"utf16_col":8},"end":{"line_number":314,"utf16_col":11}},"extent_utf16":{"start":{"line_number":314,"utf16_col":4},"end":{"line_number":318,"utf16_col":26}}},{"name":"create_issue","kind":"function","ident_start":10861,"ident_end":10873,"extent_start":10857,"extent_end":11372,"fully_qualified_name":"GitHubCli.create_issue","ident_utf16":{"start":{"line_number":325,"utf16_col":8},"end":{"line_number":325,"utf16_col":20}},"extent_utf16":{"start":{"line_number":325,"utf16_col":4},"end":{"line_number":340,"utf16_col":47}}},{"name":"create_repo","kind":"function","ident_start":11451,"ident_end":11462,"extent_start":11447,"extent_end":11755,"fully_qualified_name":"GitHubCli.create_repo","ident_utf16":{"start":{"line_number":345,"utf16_col":8},"end":{"line_number":345,"utf16_col":19}},"extent_utf16":{"start":{"line_number":345,"utf16_col":4},"end":{"line_number":355,"utf16_col":65}}},{"name":"emails","kind":"function","ident_start":11801,"ident_end":11807,"extent_start":11797,"extent_end":12015,"fully_qualified_name":"GitHubCli.emails","ident_utf16":{"start":{"line_number":359,"utf16_col":8},"end":{"line_number":359,"utf16_col":14}},"extent_utf16":{"start":{"line_number":359,"utf16_col":4},"end":{"line_number":368,"utf16_col":64}}},{"name":"events","kind":"function","ident_start":12061,"ident_end":12067,"extent_start":12057,"extent_end":12576,"fully_qualified_name":"GitHubCli.events","ident_utf16":{"start":{"line_number":372,"utf16_col":8},"end":{"line_number":372,"utf16_col":14}},"extent_utf16":{"start":{"line_number":372,"utf16_col":4},"end":{"line_number":389,"utf16_col":75}}},{"name":"emojis","kind":"function","ident_start":12622,"ident_end":12628,"extent_start":12618,"extent_end":12895,"fully_qualified_name":"GitHubCli.emojis","ident_utf16":{"start":{"line_number":393,"utf16_col":8},"end":{"line_number":393,"utf16_col":14}},"extent_utf16":{"start":{"line_number":393,"utf16_col":4},"end":{"line_number":403,"utf16_col":62}}},{"name":"feeds","kind":"function","ident_start":12941,"ident_end":12946,"extent_start":12937,"extent_end":13369,"fully_qualified_name":"GitHubCli.feeds","ident_utf16":{"start":{"line_number":407,"utf16_col":8},"end":{"line_number":407,"utf16_col":13}},"extent_utf16":{"start":{"line_number":407,"utf16_col":4},"end":{"line_number":424,"utf16_col":26}}},{"name":"followers","kind":"function","ident_start":13462,"ident_end":13471,"extent_start":13458,"extent_end":14137,"fully_qualified_name":"GitHubCli.followers","ident_utf16":{"start":{"line_number":429,"utf16_col":8},"end":{"line_number":429,"utf16_col":17}},"extent_utf16":{"start":{"line_number":429,"utf16_col":4},"end":{"line_number":448,"utf16_col":22}}},{"name":"following","kind":"function","ident_start":14230,"ident_end":14239,"extent_start":14226,"extent_end":14917,"fully_qualified_name":"GitHubCli.following","ident_utf16":{"start":{"line_number":453,"utf16_col":8},"end":{"line_number":453,"utf16_col":17}},"extent_utf16":{"start":{"line_number":453,"utf16_col":4},"end":{"line_number":472,"utf16_col":22}}},{"name":"gitignore_template","kind":"function","ident_start":14995,"ident_end":15013,"extent_start":14991,"extent_end":15574,"fully_qualified_name":"GitHubCli.gitignore_template","ident_utf16":{"start":{"line_number":477,"utf16_col":8},"end":{"line_number":477,"utf16_col":26}},"extent_utf16":{"start":{"line_number":477,"utf16_col":4},"end":{"line_number":493,"utf16_col":32}}},{"name":"gitignore_templates","kind":"function","ident_start":15620,"ident_end":15639,"extent_start":15616,"extent_end":15927,"fully_qualified_name":"GitHubCli.gitignore_templates","ident_utf16":{"start":{"line_number":497,"utf16_col":8},"end":{"line_number":497,"utf16_col":27}},"extent_utf16":{"start":{"line_number":497,"utf16_col":4},"end":{"line_number":508,"utf16_col":49}}},{"name":"issue","kind":"function","ident_start":16065,"ident_end":16070,"extent_start":16061,"extent_end":16459,"fully_qualified_name":"GitHubCli.issue","ident_utf16":{"start":{"line_number":515,"utf16_col":8},"end":{"line_number":515,"utf16_col":13}},"extent_utf16":{"start":{"line_number":515,"utf16_col":4},"end":{"line_number":526,"utf16_col":46}}},{"name":"issues","kind":"function","ident_start":16579,"ident_end":16585,"extent_start":16575,"extent_end":17265,"fully_qualified_name":"GitHubCli.issues","ident_utf16":{"start":{"line_number":531,"utf16_col":8},"end":{"line_number":531,"utf16_col":14}},"extent_utf16":{"start":{"line_number":531,"utf16_col":4},"end":{"line_number":550,"utf16_col":71}}},{"name":"me","kind":"function","ident_start":17311,"ident_end":17313,"extent_start":17307,"extent_end":18005,"fully_qualified_name":"GitHubCli.me","ident_utf16":{"start":{"line_number":554,"utf16_col":8},"end":{"line_number":554,"utf16_col":10}},"extent_utf16":{"start":{"line_number":554,"utf16_col":4},"end":{"line_number":573,"utf16_col":29}}},{"name":"notifications","kind":"function","ident_start":18051,"ident_end":18064,"extent_start":18047,"extent_end":18394,"fully_qualified_name":"GitHubCli.notifications","ident_utf16":{"start":{"line_number":577,"utf16_col":8},"end":{"line_number":577,"utf16_col":21}},"extent_utf16":{"start":{"line_number":577,"utf16_col":4},"end":{"line_number":589,"utf16_col":53}}},{"name":"octocat","kind":"function","ident_start":18483,"ident_end":18490,"extent_start":18479,"extent_end":18863,"fully_qualified_name":"GitHubCli.octocat","ident_utf16":{"start":{"line_number":594,"utf16_col":8},"end":{"line_number":594,"utf16_col":15}},"extent_utf16":{"start":{"line_number":594,"utf16_col":4},"end":{"line_number":606,"utf16_col":26}}},{"name":"profile","kind":"function","ident_start":18909,"ident_end":18916,"extent_start":18905,"extent_end":19145,"fully_qualified_name":"GitHubCli.profile","ident_utf16":{"start":{"line_number":610,"utf16_col":8},"end":{"line_number":610,"utf16_col":15}},"extent_utf16":{"start":{"line_number":610,"utf16_col":4},"end":{"line_number":620,"utf16_col":28}}},{"name":"pull_request","kind":"function","ident_start":19283,"ident_end":19295,"extent_start":19279,"extent_end":19691,"fully_qualified_name":"GitHubCli.pull_request","ident_utf16":{"start":{"line_number":627,"utf16_col":8},"end":{"line_number":627,"utf16_col":20}},"extent_utf16":{"start":{"line_number":627,"utf16_col":4},"end":{"line_number":638,"utf16_col":46}}},{"name":"pull_requests","kind":"function","ident_start":19737,"ident_end":19750,"extent_start":19733,"extent_end":20598,"fully_qualified_name":"GitHubCli.pull_requests","ident_utf16":{"start":{"line_number":642,"utf16_col":8},"end":{"line_number":642,"utf16_col":21}},"extent_utf16":{"start":{"line_number":642,"utf16_col":4},"end":{"line_number":666,"utf16_col":66}}},{"name":"rate_limit","kind":"function","ident_start":20644,"ident_end":20654,"extent_start":20640,"extent_end":20854,"fully_qualified_name":"GitHubCli.rate_limit","ident_utf16":{"start":{"line_number":670,"utf16_col":8},"end":{"line_number":670,"utf16_col":18}},"extent_utf16":{"start":{"line_number":670,"utf16_col":4},"end":{"line_number":679,"utf16_col":72}}},{"name":"repository","kind":"function","ident_start":20961,"ident_end":20971,"extent_start":20957,"extent_end":21418,"fully_qualified_name":"GitHubCli.repository","ident_utf16":{"start":{"line_number":685,"utf16_col":8},"end":{"line_number":685,"utf16_col":18}},"extent_utf16":{"start":{"line_number":685,"utf16_col":4},"end":{"line_number":698,"utf16_col":42}}},{"name":"repositories","kind":"function","ident_start":21464,"ident_end":21476,"extent_start":21460,"extent_end":21626,"fully_qualified_name":"GitHubCli.repositories","ident_utf16":{"start":{"line_number":702,"utf16_col":8},"end":{"line_number":702,"utf16_col":20}},"extent_utf16":{"start":{"line_number":702,"utf16_col":4},"end":{"line_number":711,"utf16_col":29}}},{"name":"search_issues","kind":"function","ident_start":21701,"ident_end":21714,"extent_start":21697,"extent_end":24060,"fully_qualified_name":"GitHubCli.search_issues","ident_utf16":{"start":{"line_number":716,"utf16_col":8},"end":{"line_number":716,"utf16_col":21}},"extent_utf16":{"start":{"line_number":716,"utf16_col":4},"end":{"line_number":766,"utf16_col":75}}},{"name":"search_repositories","kind":"function","ident_start":24135,"ident_end":24154,"extent_start":24131,"extent_end":26193,"fully_qualified_name":"GitHubCli.search_repositories","ident_utf16":{"start":{"line_number":771,"utf16_col":8},"end":{"line_number":771,"utf16_col":27}},"extent_utf16":{"start":{"line_number":771,"utf16_col":4},"end":{"line_number":817,"utf16_col":79}}},{"name":"starred","kind":"function","ident_start":26302,"ident_end":26309,"extent_start":26298,"extent_end":27464,"fully_qualified_name":"GitHubCli.starred","ident_utf16":{"start":{"line_number":822,"utf16_col":8},"end":{"line_number":822,"utf16_col":15}},"extent_utf16":{"start":{"line_number":822,"utf16_col":4},"end":{"line_number":851,"utf16_col":61}}}]}},"copilotInfo":null,"copilotAccessAllowed":false,"modelsAccessAllowed":false,"modelsRepoIntegrationEnabled":false,"isMarketplaceEnabled":true,"csrf_tokens":{"/donnemartin/gh/branches":{"post":"u8Y1VCl5ZHNgBJjCNr-vCFE4PJb3Z-obRyi60OjW6kCJhSe8CAx_ikUVxqtaIPGP0NLZUF4XL8xcEsZhWpvOEA"},"/repos/preferences":{"post":"x3e82xu4hjqVu8nVCYpxy009uWU53yan05SByWucewDTrZ53NCLyEGQiVBYZa0fhFRS3_mfAhiJJRCUMfHlTlw"}}},"title":"gh/githubcli/githubcli.py at master · donnemartin/gh","appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-9bd411a8e273.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-4747241b1152.js","githubDevUrl":null,"enabled_features":{"code_nav_ui_events":false,"react_blob_overlay":false,"accessible_code_button":true}}}</script>
  <div data-target="react-app.reactRoot"></div>
</react-app>
</turbo-frame>



  </div>

</turbo-frame>

    </main>
  </div>

  </div>

          <footer class="footer pt-8 pb-6 f6 color-fg-muted p-responsive" role="contentinfo" >
  <h2 class='sr-only'>Footer</h2>

  


  <div class="d-flex flex-justify-center flex-items-center flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap">
    <div class="d-flex flex-items-center flex-shrink-0 mx-2">
      <a aria-label="GitHub Homepage" class="footer-octicon mr-2" href="https://github.com">
        <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github">
    <path d="M12 1C5.923 1 1 5.923 1 12c0 4.867 3.149 8.979 7.521 10.436.55.096.756-.233.756-.522 0-.262-.013-1.128-.013-2.049-2.764.509-3.479-.674-3.699-1.292-.124-.317-.66-1.293-1.127-1.554-.385-.207-.936-.715-.014-.729.866-.014 1.485.797 1.691 1.128.99 1.663 2.571 1.196 3.204.907.096-.715.385-1.196.701-1.471-2.448-.275-5.005-1.224-5.005-5.432 0-1.196.426-2.186 1.128-2.956-.111-.275-.496-1.402.11-2.915 0 0 .921-.288 3.024 1.128a10.193 10.193 0 0 1 2.75-.371c.936 0 1.871.123 2.75.371 2.104-1.43 3.025-1.128 3.025-1.128.605 1.513.221 2.64.111 2.915.701.77 1.127 1.747 1.127 2.956 0 4.222-2.571 5.157-5.019 5.432.399.344.743 1.004.743 2.035 0 1.471-.014 2.654-.014 3.025 0 .289.206.632.756.522C19.851 20.979 23 16.854 23 12c0-6.077-4.922-11-11-11Z"></path>
</svg>
</a>
      <span>
        &copy; 2025 GitHub,&nbsp;Inc.
      </span>
    </div>

    <nav aria-label="Footer">
      <h3 class="sr-only" id="sr-footer-heading">Footer navigation</h3>

      <ul class="list-style-none d-flex flex-justify-center flex-wrap mb-2 mb-lg-0" aria-labelledby="sr-footer-heading">

          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Terms&quot;,&quot;label&quot;:&quot;text:terms&quot;}" href="https://docs.github.com/site-policy/github-terms/github-terms-of-service" data-view-component="true" class="Link--secondary Link">Terms</a>
          </li>

          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to privacy&quot;,&quot;label&quot;:&quot;text:privacy&quot;}" href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement" data-view-component="true" class="Link--secondary Link">Privacy</a>
          </li>

          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to security&quot;,&quot;label&quot;:&quot;text:security&quot;}" href="https://github.com/security" data-view-component="true" class="Link--secondary Link">Security</a>
          </li>

          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to status&quot;,&quot;label&quot;:&quot;text:status&quot;}" href="https://www.githubstatus.com/" data-view-component="true" class="Link--secondary Link">Status</a>
          </li>

          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to 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="false"
    ></ghcc-consent>




  <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden>
    <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
    <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
</svg>
    <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
    <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
</svg>
    </button>
    You can’t perform that action at this time.
  </div>

    <template id="site-details-dialog">
  <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open>
    <summary role="button" aria-label="Close dialog"></summary>
    <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal">
      <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog>
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
    <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
</svg>
      </button>
      <div class="octocat-spinner my-6 js-details-dialog-spinner"></div>
    </details-dialog>
  </details>
</template>

    <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;">
  <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;">
  </div>
</div>

    <template id="snippet-clipboard-copy-button">
  <div class="zeroclipboard-container position-absolute right-0 top-0">
    <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0" data-copy-feedback="Copied!" data-tooltip-direction="w">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2">
    <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path>
</svg>
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2">
    <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path>
</svg>
    </clipboard-copy>
  </div>
</template>
<template id="snippet-clipboard-copy-button-unpositioned">
  <div class="zeroclipboard-container">
    <clipboard-copy aria-label="Copy" class="ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 d-flex flex-justify-center flex-items-center" data-copy-feedback="Copied!" data-tooltip-direction="w">
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon">
    <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path>
</svg>
      <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none">
    <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path>
</svg>
    </clipboard-copy>
  </div>
</template>




    </div>
    <div id="js-global-screen-reader-notice" class="sr-only mt-n1" aria-live="polite" aria-atomic="true" ></div>
    <div id="js-global-screen-reader-notice-assertive" class="sr-only mt-n1" aria-live="assertive" aria-atomic="true"></div>
  </body>
</html>

