CINXE.COM
Metadata · firebase/quickstart-js@18abc54 · GitHub
<!DOCTYPE html> <html lang="en" data-color-mode="auto" data-light-theme="light" data-dark-theme="dark" data-a11y-animated-images="system"> <head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("https://github.com/firebase/quickstart-js/commit/18abc54f77f34eebd98a72f9bd4078ac8cf7377e","20221111063302","https://web.archive.org/","web","/_static/", "1668148382"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta charset="utf-8"> <link rel="dns-prefetch" href="https://web.archive.org/web/20221111063302/https://github.githubassets.com/"> <link rel="dns-prefetch" href="https://web.archive.org/web/20221111063302/https://avatars.githubusercontent.com/"> <link rel="dns-prefetch" href="https://web.archive.org/web/20221111063302/https://github-cloud.s3.amazonaws.com/"> <link rel="dns-prefetch" href="https://web.archive.org/web/20221111063302/https://user-images.githubusercontent.com/"> <link rel="preconnect" href="https://web.archive.org/web/20221111063302/https://github.githubassets.com/" crossorigin> <link rel="preconnect" href="https://web.archive.org/web/20221111063302/https://avatars.githubusercontent.com/"> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://web.archive.org/web/20221111063302cs_/https://github.githubassets.com/assets/light-719f1193e0c0.css"/><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://web.archive.org/web/20221111063302cs_/https://github.githubassets.com/assets/dark-0c343b529849.css"/><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-f22da508b62a.css"/><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-188ef1de59e6.css"/><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-bc6bf4eea850.css"/><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-527658dec362.css"/><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-c7a7fe0cd8ec.css"/><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-6aa855bdae0f.css"/><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-6aa5e25aacc0.css"/> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://web.archive.org/web/20221111063302cs_/https://github.githubassets.com/assets/primer-bb7dbc10bec9.css"/> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://web.archive.org/web/20221111063302cs_/https://github.githubassets.com/assets/global-f6f644aba0fa.css"/> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://web.archive.org/web/20221111063302cs_/https://github.githubassets.com/assets/github-c0e74c06514a.css"/> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://web.archive.org/web/20221111063302cs_/https://github.githubassets.com/assets/code-604d9fc8aedf.css"/> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/wp-runtime-5469aaf6fb2a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/vendors-node_modules_manuelpuyol_turbo_dist_turbo_es2017-esm_js-7ca92c8d513d.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/vendors-node_modules_stacktrace-parser_dist_stack-trace-parser_esm_js-node_modules_github_bro-d351f6-c1d63d230b29.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/environment-77eab2b50cc9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/vendors-node_modules_selector-observer_dist_index_esm_js-650337916dbd.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_details-dialog-elemen-63debe-4a2f37f7419e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/vendors-node_modules_github_auto-complete-element_dist_index_js-node_modules_github_catalyst_-6afc16-fa4f01d20b81.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/vendors-node_modules_fzy_js_index_js-node_modules_github_markdown-toolbar-element_dist_index_js-5936f45973f5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/vendors-node_modules_github_time-elements_dist_index_js-87d1befb43a5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_github_text-ex-3415a8-daf4603c6e6b.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-45d711-c6afdc0ca525.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/github-elements-02da082a040c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/element-registry-f73d279af295.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-e954e8c01c93.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/vendors-node_modules_morphdom_dist_morphdom-esm_js-node_modules_github_template-parts_lib_index_js-b4d65e83ab78.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_github_remote-form_dist_-ece2b0-917c0dad4566.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/vendors-node_modules_github_alive-client_dist_index_js-156187f13fbb.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_paste-mark-25e505-67cf313e4f47.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/app_assets_modules_github_updatable-content_ts-62df1309213c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/app_assets_modules_github_sticky-scroll-into-view_ts-719d6a33bb20.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/app_assets_modules_github_behaviors_keyboard-shortcuts-helper_ts-app_assets_modules_github_be-ac2ea2-d1047ec820f8.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/app_assets_modules_github_blob-anchor_ts-app_assets_modules_github_hydro-analytics_ts-app_ass-7216b6-af4807f92230.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/app_assets_modules_github_behaviors_commenting_edit_ts-app_assets_modules_github_behaviors_ht-83c235-02b38260d85d.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/app_assets_modules_github_behaviors_batch-deferred-content_ts-app_assets_modules_github_failb-23a201-2fad9a90d714.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/behaviors-01aae67c31ed.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-06ff532-0eddb8f4d122.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/notifications-global-f030ce14eb3f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/vendors-node_modules_github_clipboard-copy-element_dist_index_esm_js-node_modules_github_remo-8e6bec-4a54aa10cc28.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_decorators_js-node_modules_scroll-anchoring_di-4942f3-1b4587daed8c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/app_assets_modules_github_ref-selector_ts-729bf915ace6.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/app_assets_modules_github_diffs_blob-lines_ts-app_assets_modules_github_diffs_linkable-line-n-71fb2d-ebe2b66b277c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/diffs-011d7c937f44.js"></script> <title>Metadata · firebase/quickstart-js@18abc54 · GitHub</title> <meta name="request-id" content="BD58:7879:F9DE4:17337F:636DEC9E" data-pjax-transient="true"/><meta name="html-safe-nonce" content="da1658e4a53c75d3be24ba64300bbbe4d61b9bea73428f9226e9399113dab411" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCRDU4Ojc4Nzk6RjlERTQ6MTczMzdGOjYzNkRFQzlFIiwidmlzaXRvcl9pZCI6IjQ0NjA4Mjg3MzgzODczMDc2NzgiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==" data-pjax-transient="true"/><meta name="visitor-hmac" content="d93b0c58bd0005a434c9cf39f6c8d2370385f6319e67c2faed789d4f03d67104" data-pjax-transient="true"/> <meta name="hovercard-subject-tag" content="repository:57147372" data-turbo-transient> <meta name="github-keyboard-shortcuts" content="repository,commits" data-turbo-transient="true"/> <meta name="selected-link" value="repo_commits" data-turbo-transient> <meta name="google-site-verification" content="c1kuD-K2HIVF635lypcsWPoD4kilo5-jA_wBFyT4uMY"> <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU"> <meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA"> <meta name="google-site-verification" content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc"> <meta name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I"> <meta name="octolytics-url" content="https://collector.github.com/github/collect"/> <meta name="analytics-location" content="/<user-name>/<repo-name>/voltron/commit_fragments/repo_layout" data-turbo-transient="true"/> <meta name="user-login" content=""> <meta name="viewport" content="width=device-width"> <meta name="description" content="Firebase Quickstart Samples for Web. Contribute to firebase/quickstart-js development by creating an account on GitHub."> <link rel="search" type="application/opensearchdescription+xml" href="/web/20221111063302/https://github.com/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"/> <meta name="twitter:image:src" content="https://opengraph.githubassets.com/17aa12f331c4e8dbc5200ae3c45aaa4895fb9fea46db0c8dfc234367b53b09d1/firebase/quickstart-js/commit/18abc54f77f34eebd98a72f9bd4078ac8cf7377e"/><meta name="twitter:site" content="@github"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Metadata · firebase/quickstart-js@18abc54"/><meta name="twitter:description" content="Bug: 28716997 Change-Id: I549521debcb9d3a46c819653e4ce08d628d3f042"/> <meta property="og:image" content="https://web.archive.org/web/20221111063302im_/https://opengraph.githubassets.com/17aa12f331c4e8dbc5200ae3c45aaa4895fb9fea46db0c8dfc234367b53b09d1/firebase/quickstart-js/commit/18abc54f77f34eebd98a72f9bd4078ac8cf7377e"/><meta property="og:image:alt" content="Bug: 28716997 Change-Id: I549521debcb9d3a46c819653e4ce08d628d3f042"/><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="Metadata · firebase/quickstart-js@18abc54"/><meta property="og:url" content="/web/20221111063302/https://github.com/firebase/quickstart-js/commit/18abc54f77f34eebd98a72f9bd4078ac8cf7377e"/><meta property="og:description" content="Bug: 28716997 Change-Id: I549521debcb9d3a46c819653e4ce08d628d3f042"/><meta property="og:updated_time" content="1464115022"/> <link rel="assets" href="https://github.githubassets.com/"> <meta name="hostname" content="github.com"> <meta name="expected-hostname" content="github.com"> <meta name="enabled-features" content="ACTIONS_RUN_NAME,IMAGE_METRIC_TRACKING,GEOJSON_AZURE_MAPS,STRICT_DEFERRED_DIFF_LINES_CHECKS"> <meta http-equiv="x-pjax-version" content="aa0debc214b3b636b91f7e401596371495ea8b2fdba8a59dc23faf147b17b682" data-turbo-track="reload"> <meta http-equiv="x-pjax-csp-version" content="40aca5a152a13213a876f7628c466cd600db12fb858cdddccc3f1cc387eb7dad" data-turbo-track="reload"> <meta http-equiv="x-pjax-css-version" content="42601a5db6a8c11c3528914960ecfc0d469473967509ff4cf528c7e772604c9e" data-turbo-track="reload"> <meta http-equiv="x-pjax-js-version" content="beb6b9bc230585a65b9cceafff5877d706d9e3d16b8782f5c9e9b29c201d746d" data-turbo-track="reload"> <meta name="turbo-cache-control" content="no-preview" data-turbo-transient=""> <link href="/web/20221111063302/https://github.com/firebase/quickstart-js/commit/18abc54f77f34eebd98a72f9bd4078ac8cf7377e.diff" rel="alternate" type="text/plain+diff" data-turbo-transient="true"/> <link href="/web/20221111063302/https://github.com/firebase/quickstart-js/commit/18abc54f77f34eebd98a72f9bd4078ac8cf7377e.patch" rel="alternate" type="text/plain+patch" data-turbo-transient="true"/> <meta name="diff-view" content="unified" data-turbo-transient> <meta name="voltron-timing" value="208"> <meta name="go-import" content="github.com/firebase/quickstart-js git https://github.com/firebase/quickstart-js.git"> <meta name="octolytics-dimension-user_id" content="1335026"/><meta name="octolytics-dimension-user_login" content="firebase"/><meta name="octolytics-dimension-repository_id" content="57147372"/><meta name="octolytics-dimension-repository_nwo" content="firebase/quickstart-js"/><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="57147372"/><meta name="octolytics-dimension-repository_network_root_nwo" content="firebase/quickstart-js"/> <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="browser-optimizely-client-errors-url" content="https://api.github.com/_private/browser/optimizely_client/errors"> <link rel="mask-icon" href="https://web.archive.org/web/20221111063302im_/https://github.githubassets.com/pinned-octocat.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://web.archive.org/web/20221111063302im_/https://github.githubassets.com/favicons/favicon.svg"> <meta name="theme-color" content="#1e2327"> <meta name="color-scheme" content="light dark"/> <link rel="manifest" href="/web/20221111063302/https://github.com/manifest.json" crossorigin="use-credentials"> </head> <body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> <div class="position-relative js-header-wrapper "> <a href="#start-of-content" class="px-2 py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a> <span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full"> <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span> </span> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-94fd67-30d1a2e5d8ef.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://web.archive.org/web/20221111063302js_/https://github.githubassets.com/assets/sessions-ce716ddb3189.js"></script> <header class="Header-old header-logged-out js-details-container Details position-relative f4 py-3" role="banner"> <button type="button" class="Header-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="container-xl d-flex flex-column flex-lg-row flex-items-center p-responsive height-full position-relative z-1"> <div class="d-flex flex-justify-between flex-items-center width-full width-lg-auto"> <a class="mr-lg-3 color-fg-inherit flex-order-2" href="https://web.archive.org/web/20221111063302/https://github.com/" aria-label="Homepage" data-ga-click="(Logged out) Header, go to homepage, icon:logo-wordmark"> <svg height="32" aria-hidden="true" viewbox="0 0 16 16" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github"> <path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path> </svg> </a> <div class="flex-1"> <a href="/web/20221111063302/https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fcommit_fragments%2Frepo_layout&source=header-repo" class="d-inline-block d-lg-none flex-order-1 f5 no-underline border color-border-default rounded-2 px-2 py-1 color-fg-inherit" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/firebase/quickstart-js/commit/18abc54f77f34eebd98a72f9bd4078ac8cf7377e","user_id":null}}" data-hydro-click-hmac="7ff1a70b1aeb0012bfcab564b4edec21ee0bdaa6d0fe38c7cc693e08d3c374a0"> Sign up </a> </div> <div class="flex-1 flex-order-2 text-right"> <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target 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> </div> <div class="HeaderMenu--logged-out p-responsive height-fit position-lg-relative d-lg-flex flex-column flex-auto pt-7 pb-4 top-0"> <div class="header-menu-wrapper d-flex flex-column flex-self-end flex-lg-row flex-justify-between flex-auto p-3 p-lg-0 rounded rounded-lg-0 mt-3 mt-lg-0"> <nav class="mt-0 px-3 px-lg-0 mb-3 mb-lg-0" 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-3 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Product <svg opacity="0.5" aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 py-2 py-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 d-lg-flex dropdown-menu-wide"> <ul class="list-style-none f5 px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <li> <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3" data-analytics-event="{"category":"Header dropdown (logged out), Product","action":"click to go to Actions","label":"ref_page:/_view_fragments/Voltron::CommitFragmentsController/show/firebase/quickstart-js/18abc54f77f34eebd98a72f9bd4078ac8cf7377e/repo_layout;ref_cta:Actions;"}" href="/web/20221111063302/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 fill-rule="evenodd" d="M1 3a2 2 0 012-2h6.5a2 2 0 012 2v6.5a2 2 0 01-2 2H7v4.063C7 16.355 7.644 17 8.438 17H12.5v-2.5a2 2 0 012-2H21a2 2 0 012 2V21a2 2 0 01-2 2h-6.5a2 2 0 01-2-2v-2.5H8.437A2.938 2.938 0 015.5 15.562V11.5H3a2 2 0 01-2-2V3zm2-.5a.5.5 0 00-.5.5v6.5a.5.5 0 00.5.5h6.5a.5.5 0 00.5-.5V3a.5.5 0 00-.5-.5H3zM14.5 14a.5.5 0 00-.5.5V21a.5.5 0 00.5.5H21a.5.5 0 00.5-.5v-6.5a.5.5 0 00-.5-.5h-6.5z"></path> </svg> <div> <div class="color-fg-default h4">Actions</div> Automate any workflow </div> </a></li> <li> <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3" data-analytics-event="{"category":"Header dropdown (logged out), Product","action":"click to go to Packages","label":"ref_page:/_view_fragments/Voltron::CommitFragmentsController/show/firebase/quickstart-js/18abc54f77f34eebd98a72f9bd4078ac8cf7377e/repo_layout;ref_cta:Packages;"}" href="/web/20221111063302/https://github.com/features/packages"> <svg aria-hidden="true" height="24" viewbox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-package color-fg-subtle mr-3"> <path fill-rule="evenodd" d="M12.876.64a1.75 1.75 0 00-1.75 0l-8.25 4.762a1.75 1.75 0 00-.875 1.515v9.525c0 .625.334 1.203.875 1.515l8.25 4.763a1.75 1.75 0 001.75 0l8.25-4.762a1.75 1.75 0 00.875-1.516V6.917a1.75 1.75 0 00-.875-1.515L12.876.639zm-1 1.298a.25.25 0 01.25 0l7.625 4.402-7.75 4.474-7.75-4.474 7.625-4.402zM3.501 7.64v8.803c0 .09.048.172.125.216l7.625 4.402v-8.947L3.501 7.64zm9.25 13.421l7.625-4.402a.25.25 0 00.125-.216V7.639l-7.75 4.474v8.947z"></path> </svg> <div> <div class="color-fg-default h4">Packages</div> Host and manage packages </div> </a></li> <li> <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3" data-analytics-event="{"category":"Header dropdown (logged out), Product","action":"click to go to Security","label":"ref_page:/_view_fragments/Voltron::CommitFragmentsController/show/firebase/quickstart-js/18abc54f77f34eebd98a72f9bd4078ac8cf7377e/repo_layout;ref_cta:Security;"}" href="/web/20221111063302/https://github.com/features/security"> <svg aria-hidden="true" height="24" viewbox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> <path d="M16.53 9.78a.75.75 0 00-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 00-1.06 1.06l2.5 2.5a.75.75 0 001.06 0l5-5z"></path><path fill-rule="evenodd" d="M12.54.637a1.75 1.75 0 00-1.08 0L3.21 3.312A1.75 1.75 0 002 4.976V10c0 6.19 3.77 10.705 9.401 12.83.386.145.812.145 1.198 0C18.229 20.704 22 16.19 22 10V4.976c0-.759-.49-1.43-1.21-1.664L12.54.637zm-.617 1.426a.25.25 0 01.154 0l8.25 2.676a.25.25 0 01.173.237V10c0 5.461-3.28 9.483-8.43 11.426a.2.2 0 01-.14 0C6.78 19.483 3.5 15.46 3.5 10V4.976c0-.108.069-.203.173-.237l8.25-2.676z"></path> </svg> <div> <div class="color-fg-default h4">Security</div> Find and fix vulnerabilities </div> </a></li> <li> <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3" data-analytics-event="{"category":"Header dropdown (logged out), Product","action":"click to go to Codespaces","label":"ref_page:/_view_fragments/Voltron::CommitFragmentsController/show/firebase/quickstart-js/18abc54f77f34eebd98a72f9bd4078ac8cf7377e/repo_layout;ref_cta:Codespaces;"}" href="/web/20221111063302/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 fill-rule="evenodd" 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 0118.75 13H5.25a1.75 1.75 0 01-1.75-1.75v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h13.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25H5.25zM1.5 15.75c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 01-1.75 1.75H3.25a1.75 1.75 0 01-1.75-1.75v-4zm1.75-.25a.25.25 0 00-.25.25v4c0 .138.112.25.25.25h17.5a.25.25 0 00.25-.25v-4a.25.25 0 00-.25-.25H3.25z"></path><path fill-rule="evenodd" d="M10 17.75a.75.75 0 01.75-.75h6.5a.75.75 0 010 1.5h-6.5a.75.75 0 01-.75-.75zm-4 0a.75.75 0 01.75-.75h.5a.75.75 0 010 1.5h-.5a.75.75 0 01-.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 lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3" data-analytics-event="{"category":"Header dropdown (logged out), Product","action":"click to go to Copilot","label":"ref_page:/_view_fragments/Voltron::CommitFragmentsController/show/firebase/quickstart-js/18abc54f77f34eebd98a72f9bd4078ac8cf7377e/repo_layout;ref_cta:Copilot;"}" href="/web/20221111063302/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="M9.75 14a.75.75 0 01.75.75v2.5a.75.75 0 01-1.5 0v-2.5a.75.75 0 01.75-.75zm4.5 0a.75.75 0 01.75.75v2.5a.75.75 0 01-1.5 0v-2.5a.75.75 0 01.75-.75z"></path><path fill-rule="evenodd" d="M12 2c-2.214 0-4.248.657-5.747 1.756a7.43 7.43 0 00-.397.312c-.584.235-1.077.546-1.474.952-.85.87-1.132 2.037-1.132 3.368 0 .368.014.733.052 1.086l-.633 1.478-.043.022A4.75 4.75 0 000 15.222v1.028c0 .529.31.987.564 1.293.28.336.637.653.967.918a13.262 13.262 0 001.299.911l.024.015.006.004.04.025.144.087c.124.073.304.177.535.3.46.245 1.122.57 1.942.894C7.155 21.344 9.439 22 12 22s4.845-.656 6.48-1.303c.819-.324 1.481-.65 1.941-.895a13.797 13.797 0 00.68-.386l.039-.025.006-.004.024-.015a8.829 8.829 0 00.387-.248c.245-.164.577-.396.912-.663.33-.265.686-.582.966-.918.256-.306.565-.764.565-1.293v-1.028a4.75 4.75 0 00-2.626-4.248l-.043-.022-.633-1.478c.038-.353.052-.718.052-1.086 0-1.331-.282-2.499-1.132-3.368-.397-.406-.89-.717-1.474-.952a7.386 7.386 0 00-.397-.312C16.248 2.657 14.214 2 12 2zm-8 9.654l.038-.09c.046.06.094.12.145.177.793.9 2.057 1.259 3.782 1.259 1.59 0 2.739-.544 3.508-1.492.131-.161.249-.331.355-.508a32.948 32.948 0 00.344 0c.106.177.224.347.355.508.77.948 1.918 1.492 3.508 1.492 1.725 0 2.989-.359 3.782-1.259.05-.057.099-.116.145-.177l.038.09v6.669a17.618 17.618 0 01-2.073.98C16.405 19.906 14.314 20.5 12 20.5c-2.314 0-4.405-.594-5.927-1.197A17.62 17.62 0 014 18.323v-6.67zm6.309-1.092a2.35 2.35 0 01-.38.374c-.437.341-1.054.564-1.964.564-1.573 0-2.292-.337-2.657-.75-.192-.218-.331-.506-.423-.89-.091-.385-.135-.867-.135-1.472 0-1.14.243-1.847.705-2.32.477-.487 1.319-.861 2.824-1.024 1.487-.16 2.192.138 2.533.529l.008.01c.264.308.429.806.43 1.568v.031a7.203 7.203 0 01-.09 1.079c-.143.967-.406 1.754-.851 2.301zm2.504-2.497a7.174 7.174 0 01-.063-.894v-.02c.001-.77.17-1.27.438-1.578.341-.39 1.046-.69 2.533-.529 1.506.163 2.347.537 2.824 1.025.462.472.705 1.179.705 2.319 0 1.21-.174 1.926-.558 2.361-.365.414-1.084.751-2.657.751-1.21 0-1.902-.393-2.344-.938-.475-.584-.742-1.44-.878-2.497z"></path> </svg> <div> <div class="color-fg-default h4">Copilot</div> Write better code with AI </div> </a></li> <li> <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3" data-analytics-event="{"category":"Header dropdown (logged out), Product","action":"click to go to Code review","label":"ref_page:/_view_fragments/Voltron::CommitFragmentsController/show/firebase/quickstart-js/18abc54f77f34eebd98a72f9bd4078ac8cf7377e/repo_layout;ref_cta:Code review;"}" href="/web/20221111063302/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 01-.04 1.06l-2.908 2.7 2.908 2.7a.75.75 0 11-1.02 1.1l-3.5-3.25a.75.75 0 010-1.1l3.5-3.25a.75.75 0 011.06.04zm3.44 1.06a.75.75 0 111.02-1.1l3.5 3.25a.75.75 0 010 1.1l-3.5 3.25a.75.75 0 11-1.02-1.1l2.908-2.7-2.908-2.7z"></path><path fill-rule="evenodd" 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 01-1.75 1.75h-9.69l-3.573 3.573A1.457 1.457 0 015 21.043V18.5H3.25a1.75 1.75 0 01-1.75-1.75V4.25zM3.25 4a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 01.75.75v3.19l3.72-3.72a.75.75 0 01.53-.22h10a.25.25 0 00.25-.25V4.25a.25.25 0 00-.25-.25H3.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 lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3" data-analytics-event="{"category":"Header dropdown (logged out), Product","action":"click to go to Issues","label":"ref_page:/_view_fragments/Voltron::CommitFragmentsController/show/firebase/quickstart-js/18abc54f77f34eebd98a72f9bd4078ac8cf7377e/repo_layout;ref_cta:Issues;"}" href="/web/20221111063302/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 fill-rule="evenodd" d="M2.5 12a9.5 9.5 0 1119 0 9.5 9.5 0 01-19 0zM12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zm0 13a2 2 0 100-4 2 2 0 000 4z"></path> </svg> <div> <div class="color-fg-default h4">Issues</div> Plan and track work </div> </a></li> <li> <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center" data-analytics-event="{"category":"Header dropdown (logged out), Product","action":"click to go to Discussions","label":"ref_page:/_view_fragments/Voltron::CommitFragmentsController/show/firebase/quickstart-js/18abc54f77f34eebd98a72f9bd4078ac8cf7377e/repo_layout;ref_cta:Discussions;"}" href="/web/20221111063302/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 fill-rule="evenodd" d="M1.75 1A1.75 1.75 0 000 2.75v9.5C0 13.216.784 14 1.75 14H3v1.543a1.457 1.457 0 002.487 1.03L8.061 14h6.189A1.75 1.75 0 0016 12.25v-9.5A1.75 1.75 0 0014.25 1H1.75zM1.5 2.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v9.5a.25.25 0 01-.25.25h-6.5a.75.75 0 00-.53.22L4.5 15.44v-2.19a.75.75 0 00-.75-.75h-2a.25.25 0 01-.25-.25v-9.5z"></path><path d="M22.5 8.75a.25.25 0 00-.25-.25h-3.5a.75.75 0 010-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0122.25 20H21v1.543a1.457 1.457 0 01-2.487 1.03L15.939 20H10.75A1.75 1.75 0 019 18.25v-1.465a.75.75 0 011.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 01.53.22l2.72 2.72v-2.19a.75.75 0 01.75-.75h2a.25.25 0 00.25-.25v-9.5z"></path> </svg> <div> <div class="color-fg-default h4">Discussions</div> Collaborate outside of code </div> </a></li> </ul> <ul class="list-style-none f5 px-lg-4"> <li class="h4 color-fg-default my-1">Explore</li> <li> <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"category":"Header dropdown (logged out), Product","action":"click to go to All features","label":"ref_page:/_view_fragments/Voltron::CommitFragmentsController/show/firebase/quickstart-js/18abc54f77f34eebd98a72f9bd4078ac8cf7377e/repo_layout;ref_cta:All features;"}" href="/web/20221111063302/https://github.com/features"> All features </a></li> <li> <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" target="_blank" data-analytics-event="{"category":"Header dropdown (logged out), Product","action":"click to go to Documentation","label":"ref_page:/_view_fragments/Voltron::CommitFragmentsController/show/firebase/quickstart-js/18abc54f77f34eebd98a72f9bd4078ac8cf7377e/repo_layout;ref_cta:Documentation;"}" href="https://web.archive.org/web/20221111063302/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 fill-rule="evenodd" d="M10.604 1h4.146a.25.25 0 01.25.25v4.146a.25.25 0 01-.427.177L13.03 4.03 9.28 7.78a.75.75 0 01-1.06-1.06l3.75-3.75-1.543-1.543A.25.25 0 0110.604 1zM3.75 2A1.75 1.75 0 002 3.75v8.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 12.25v-3.5a.75.75 0 00-1.5 0v3.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-8.5a.25.25 0 01.25-.25h3.5a.75.75 0 000-1.5h-3.5z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" target="_blank" data-analytics-event="{"category":"Header dropdown (logged out), Product","action":"click to go to GitHub Skills","label":"ref_page:/_view_fragments/Voltron::CommitFragmentsController/show/firebase/quickstart-js/18abc54f77f34eebd98a72f9bd4078ac8cf7377e/repo_layout;ref_cta:GitHub Skills;"}" href="https://web.archive.org/web/20221111063302/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 fill-rule="evenodd" d="M10.604 1h4.146a.25.25 0 01.25.25v4.146a.25.25 0 01-.427.177L13.03 4.03 9.28 7.78a.75.75 0 01-1.06-1.06l3.75-3.75-1.543-1.543A.25.25 0 0110.604 1zM3.75 2A1.75 1.75 0 002 3.75v8.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 12.25v-3.5a.75.75 0 00-1.5 0v3.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-8.5a.25.25 0 01.25-.25h3.5a.75.75 0 000-1.5h-3.5z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" target="_blank" data-analytics-event="{"category":"Header dropdown (logged out), Product","action":"click to go to Blog","label":"ref_page:/_view_fragments/Voltron::CommitFragmentsController/show/firebase/quickstart-js/18abc54f77f34eebd98a72f9bd4078ac8cf7377e/repo_layout;ref_cta:Blog;"}" href="https://web.archive.org/web/20221111063302/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 fill-rule="evenodd" d="M10.604 1h4.146a.25.25 0 01.25.25v4.146a.25.25 0 01-.427.177L13.03 4.03 9.28 7.78a.75.75 0 01-1.06-1.06l3.75-3.75-1.543-1.543A.25.25 0 0110.604 1zM3.75 2A1.75 1.75 0 002 3.75v8.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 12.25v-3.5a.75.75 0 00-1.5 0v3.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-8.5a.25.25 0 01.25-.25h3.5a.75.75 0 000-1.5h-3.5z"></path> </svg> </a></li> </ul> </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-3 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 fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 py-2 py-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 px-lg-4"> <ul class="list-style-none f5 border-bottom pb-3 mb-3"> <li class="h4 color-fg-default my-1">By Plan</li> <li> <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"category":"Header dropdown (logged out), Solutions","action":"click to go to Enterprise","label":"ref_page:/_view_fragments/Voltron::CommitFragmentsController/show/firebase/quickstart-js/18abc54f77f34eebd98a72f9bd4078ac8cf7377e/repo_layout;ref_cta:Enterprise;"}" href="/web/20221111063302/https://github.com/enterprise"> Enterprise </a></li> <li> <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"category":"Header dropdown (logged out), Solutions","action":"click to go to Teams","label":"ref_page:/_view_fragments/Voltron::CommitFragmentsController/show/firebase/quickstart-js/18abc54f77f34eebd98a72f9bd4078ac8cf7377e/repo_layout;ref_cta:Teams;"}" href="/web/20221111063302/https://github.com/team"> Teams </a></li> <li> <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"category":"Header dropdown (logged out), Solutions","action":"click to go to Compare all","label":"ref_page:/_view_fragments/Voltron::CommitFragmentsController/show/firebase/quickstart-js/18abc54f77f34eebd98a72f9bd4078ac8cf7377e/repo_layout;ref_cta:Compare all;"}" href="/web/20221111063302/https://github.com/pricing#compare-features"> Compare all </a></li> </ul> <ul class="list-style-none f5 border-bottom pb-3 mb-3"> <li class="h4 color-fg-default my-1">By Solution</li> <li> <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"category":"Header dropdown (logged out), Solutions","action":"click to go to CI/CD &amp; Automation","label":"ref_page:/_view_fragments/Voltron::CommitFragmentsController/show/firebase/quickstart-js/18abc54f77f34eebd98a72f9bd4078ac8cf7377e/repo_layout;ref_cta:CI/CD &amp; Automation;"}" href="/web/20221111063302/https://github.com/solutions/ci-cd/"> CI/CD & Automation </a></li> <li> <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" target="_blank" data-analytics-event="{"category":"Header dropdown (logged out), Solutions","action":"click to go to DevOps","label":"ref_page:/_view_fragments/Voltron::CommitFragmentsController/show/firebase/quickstart-js/18abc54f77f34eebd98a72f9bd4078ac8cf7377e/repo_layout;ref_cta:DevOps;"}" href="https://web.archive.org/web/20221111063302/https://resources.github.com/devops/"> DevOps <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 fill-rule="evenodd" d="M10.604 1h4.146a.25.25 0 01.25.25v4.146a.25.25 0 01-.427.177L13.03 4.03 9.28 7.78a.75.75 0 01-1.06-1.06l3.75-3.75-1.543-1.543A.25.25 0 0110.604 1zM3.75 2A1.75 1.75 0 002 3.75v8.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 12.25v-3.5a.75.75 0 00-1.5 0v3.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-8.5a.25.25 0 01.25-.25h3.5a.75.75 0 000-1.5h-3.5z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" target="_blank" data-analytics-event="{"category":"Header dropdown (logged out), Solutions","action":"click to go to DevSecOps","label":"ref_page:/_view_fragments/Voltron::CommitFragmentsController/show/firebase/quickstart-js/18abc54f77f34eebd98a72f9bd4078ac8cf7377e/repo_layout;ref_cta:DevSecOps;"}" href="https://web.archive.org/web/20221111063302/https://resources.github.com/devops/fundamentals/devsecops/"> DevSecOps <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 fill-rule="evenodd" d="M10.604 1h4.146a.25.25 0 01.25.25v4.146a.25.25 0 01-.427.177L13.03 4.03 9.28 7.78a.75.75 0 01-1.06-1.06l3.75-3.75-1.543-1.543A.25.25 0 0110.604 1zM3.75 2A1.75 1.75 0 002 3.75v8.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 12.25v-3.5a.75.75 0 00-1.5 0v3.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-8.5a.25.25 0 01.25-.25h3.5a.75.75 0 000-1.5h-3.5z"></path> </svg> </a></li> </ul> <ul class="list-style-none f5 "> <li class="h4 color-fg-default my-1">Case Studies</li> <li> <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"category":"Header dropdown (logged out), Solutions","action":"click to go to Customer Stories","label":"ref_page:/_view_fragments/Voltron::CommitFragmentsController/show/firebase/quickstart-js/18abc54f77f34eebd98a72f9bd4078ac8cf7377e/repo_layout;ref_cta:Customer Stories;"}" href="/web/20221111063302/https://github.com/customer-stories"> Customer Stories </a></li> <li> <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" target="_blank" data-analytics-event="{"category":"Header dropdown (logged out), Solutions","action":"click to go to Resources","label":"ref_page:/_view_fragments/Voltron::CommitFragmentsController/show/firebase/quickstart-js/18abc54f77f34eebd98a72f9bd4078ac8cf7377e/repo_layout;ref_cta:Resources;"}" href="https://web.archive.org/web/20221111063302/https://resources.github.com/"> Resources <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 fill-rule="evenodd" d="M10.604 1h4.146a.25.25 0 01.25.25v4.146a.25.25 0 01-.427.177L13.03 4.03 9.28 7.78a.75.75 0 01-1.06-1.06l3.75-3.75-1.543-1.543A.25.25 0 0110.604 1zM3.75 2A1.75 1.75 0 002 3.75v8.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 12.25v-3.5a.75.75 0 00-1.5 0v3.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-8.5a.25.25 0 01.25-.25h3.5a.75.75 0 000-1.5h-3.5z"></path> </svg> </a></li> </ul> </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-3 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 fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 py-2 py-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 px-lg-4"> <ul class="list-style-none f5 border-bottom pb-3 mb-3"> <li> <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center" data-analytics-event="{"category":"Header dropdown (logged out), Open Source","action":"click to go to GitHub Sponsors","label":"ref_page:/_view_fragments/Voltron::CommitFragmentsController/show/firebase/quickstart-js/18abc54f77f34eebd98a72f9bd4078ac8cf7377e/repo_layout;ref_cta:GitHub Sponsors;"}" href="/web/20221111063302/https://github.com/sponsors"> <div> <div class="color-fg-default h4">GitHub Sponsors</div> Fund open source developers </div> </a></li> </ul> <ul class="list-style-none f5 border-bottom pb-3 mb-3"> <li> <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center" data-analytics-event="{"category":"Header dropdown (logged out), Open Source","action":"click to go to The ReadME Project","label":"ref_page:/_view_fragments/Voltron::CommitFragmentsController/show/firebase/quickstart-js/18abc54f77f34eebd98a72f9bd4078ac8cf7377e/repo_layout;ref_cta:The ReadME Project;"}" href="/web/20221111063302/https://github.com/readme"> <div> <div class="color-fg-default h4">The ReadME Project</div> GitHub community articles </div> </a></li> </ul> <ul class="list-style-none f5 "> <li class="h4 color-fg-default my-1">Repositories</li> <li> <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"category":"Header dropdown (logged out), Open Source","action":"click to go to Topics","label":"ref_page:/_view_fragments/Voltron::CommitFragmentsController/show/firebase/quickstart-js/18abc54f77f34eebd98a72f9bd4078ac8cf7377e/repo_layout;ref_cta:Topics;"}" href="/web/20221111063302/https://github.com/topics"> Topics </a></li> <li> <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"category":"Header dropdown (logged out), Open Source","action":"click to go to Trending","label":"ref_page:/_view_fragments/Voltron::CommitFragmentsController/show/firebase/quickstart-js/18abc54f77f34eebd98a72f9bd4078ac8cf7377e/repo_layout;ref_cta:Trending;"}" href="/web/20221111063302/https://github.com/trending"> Trending </a></li> <li> <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"category":"Header dropdown (logged out), Open Source","action":"click to go to Collections","label":"ref_page:/_view_fragments/Voltron::CommitFragmentsController/show/firebase/quickstart-js/18abc54f77f34eebd98a72f9bd4078ac8cf7377e/repo_layout;ref_cta:Collections;"}" href="/web/20221111063302/https://github.com/collections"> Collections </a></li> </ul> </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="{"category":"Header menu top item (logged out)","action":"click to go to Pricing","label":"ref_page:/_view_fragments/Voltron::CommitFragmentsController/show/firebase/quickstart-js/18abc54f77f34eebd98a72f9bd4078ac8cf7377e/repo_layout;ref_cta:Pricing;"}" href="/web/20221111063302/https://github.com/pricing">Pricing</a> </li> </ul> </nav> <div class="d-lg-flex flex-items-center px-3 px-lg-0 mb-3 mb-lg-0 text-center text-lg-left"> <div class="d-lg-flex min-width-0 mb-2 mb-lg-0"> <div class="header-search flex-auto position-relative js-site-search flex-self-stretch flex-md-self-auto mb-3 mb-md-0 mr-0 mr-md-3 scoped-search site-scoped-search js-jump-to"> <div class="position-relative"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-site-search-form" role="search" aria-label="Site" data-scope-type="Repository" data-scope-id="57147372" data-scoped-search-url="/firebase/quickstart-js/search" data-owner-scoped-search-url="/orgs/firebase/search" data-unscoped-search-url="/search" data-turbo="false" action="/web/20221111063302/https://github.com/firebase/quickstart-js/search" accept-charset="UTF-8" method="get"> <label class="form-control header-search-wrapper input-sm p-0 js-chromeless-input-container header-search-wrapper-jump-to position-relative d-flex flex-justify-between flex-items-center"> <input type="text" class="form-control js-site-search-focus header-search-input jump-to-field js-jump-to-field js-site-search-field is-clearable" data-hotkey="s,/" name="q" data-test-selector="nav-search-input" placeholder="Search" data-unscoped-placeholder="Search GitHub" data-scoped-placeholder="Search" autocapitalize="off" role="combobox" aria-haspopup="listbox" aria-expanded="false" aria-autocomplete="list" aria-controls="jump-to-results" aria-label="Search" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" spellcheck="false" autocomplete="off"> <input type="hidden" data-csrf="true" class="js-data-jump-to-suggestions-path-csrf" value="NRPYXNoq/aJMkCdS0bMnZn/lXMkwi5YShULNBBFFvhXo7qtCn4giVwDcxFUBSQdS4t+evQ5/eDuMzRZcPqrj6Q=="/> <input type="hidden" class="js-site-search-type-field" name="type"> <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1 header-search-key-slash"><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 class="Box position-absolute overflow-hidden d-none jump-to-suggestions js-jump-to-suggestions-container"> <ul class="d-none js-jump-to-suggestions-template-container"> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-suggestion" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="suggestion"> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg title="Repository" aria-label="Repository" role="img" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> <svg title="Project" aria-label="Project" role="img" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0"> <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path> </svg> <svg title="Search" aria-label="Search" role="img" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0"> <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path> </svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="/web/20221111063302im_/https://github.com/firebase/quickstart-js/commit/18abc54f77f34eebd98a72f9bd4078ac8cf7377e" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository"> In this repository </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> </ul> <ul class="d-none js-jump-to-no-results-template-container"> <li class="d-flex flex-justify-center flex-items-center f5 d-none js-jump-to-suggestion p-2"> <span class="color-fg-muted">No suggested jump to results</span> </li> </ul> <ul id="jump-to-results" role="listbox" class="p-0 m-0 js-navigation-container jump-to-suggestions-results-container js-jump-to-suggestions-results-container"> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-scoped-search d-none" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="scoped_search"> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg title="Repository" aria-label="Repository" role="img" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> <svg title="Project" aria-label="Project" role="img" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0"> <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path> </svg> <svg title="Search" aria-label="Search" role="img" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0"> <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path> </svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="/web/20221111063302im_/https://github.com/firebase/quickstart-js/commit/18abc54f77f34eebd98a72f9bd4078ac8cf7377e" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository"> In this repository </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-owner-scoped-search d-none" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="owner_scoped_search"> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg title="Repository" aria-label="Repository" role="img" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> <svg title="Project" aria-label="Project" role="img" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0"> <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path> </svg> <svg title="Search" aria-label="Search" role="img" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0"> <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path> </svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="/web/20221111063302im_/https://github.com/firebase/quickstart-js/commit/18abc54f77f34eebd98a72f9bd4078ac8cf7377e" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this organization"> In this organization </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-global-search d-none" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="global_search"> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg title="Repository" aria-label="Repository" role="img" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> <svg title="Project" aria-label="Project" role="img" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0"> <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path> </svg> <svg title="Search" aria-label="Search" role="img" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0"> <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path> </svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="/web/20221111063302im_/https://github.com/firebase/quickstart-js/commit/18abc54f77f34eebd98a72f9bd4078ac8cf7377e" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository"> In this repository </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> </ul> </div> </label> </form> </div> </div> </div> <div class="position-relative mr-lg-3 d-lg-inline-block"> <a href="/web/20221111063302/https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Ffirebase%2Fquickstart-js%2Fcommit%2F18abc54f77f34eebd98a72f9bd4078ac8cf7377e" class="HeaderMenu-link HeaderMenu-link--sign-in flex-shrink-0 no-underline d-block d-lg-inline-block border border-lg-0 rounded rounded-lg-0 p-2 p-lg-0" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/firebase/quickstart-js/commit/18abc54f77f34eebd98a72f9bd4078ac8cf7377e","user_id":null}}" data-hydro-click-hmac="26a146b5f9b700050486425cf025be9ef90b32782a9164179ad0489d4b24d4a3" data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in"> Sign in </a> </div> <a href="/web/20221111063302/https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fcommit_fragments%2Frepo_layout&source=header-repo&source_repo=firebase%2Fquickstart-js" class="HeaderMenu-link HeaderMenu-link--sign-up flex-shrink-0 d-none d-lg-inline-block no-underline border color-border-default rounded px-2 py-1" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/firebase/quickstart-js/commit/18abc54f77f34eebd98a72f9bd4078ac8cf7377e","user_id":null}}" data-hydro-click-hmac="26a146b5f9b700050486425cf025be9ef90b32782a9164179ad0489d4b24d4a3" data-analytics-event="{"category":"Sign up","action":"click to sign up for account","label":"ref_page:/<user-name>/<repo-name>/voltron/commit_fragments/repo_layout;ref_cta:Sign up;ref_loc:header logged out"}"> Sign up </a> </div> </div> </div> </div> </header> </div> <div id="start-of-content" class="show-on-focus"></div> <div id="js-flash-container" data-turbo-replace> <template class="js-flash-template"> <div class="flash flash-full {{ className }}"> <div class="px-2"> <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 fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg> </button> <div aria-atomic="true" role="alert" class="js-flash-alert"> <div>{{ message }}</div> </div> </div> </div> </template> </div> <include-fragment class="js-notification-shelf-include-fragment" data-base-src="https://github.com/notifications/beta/shelf"></include-fragment> <div class="application-main " data-commit-hovercards-enabled data-discussion-hovercards-enabled data-issue-and-pr-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(--color-page-header-bg);" data-turbo-replace> <div class="d-flex flex-wrap flex-justify-end mb-3 px-3 px-md-4 px-lg-5" style="gap: 1rem;"> <div class="flex-auto min-width-0 width-fit mr-3"> <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 fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> <span class="author flex-self-stretch" itemprop="author"> <a class="url fn" rel="author" data-hovercard-type="organization" data-hovercard-url="/orgs/firebase/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/web/20221111063302/https://github.com/firebase">firebase</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="/web/20221111063302/https://github.com/firebase/quickstart-js">quickstart-js</a> </strong> <span></span><span class="Label Label--secondary v-align-middle mr-1">Public</span> </div> </div> <ul class="pagehead-actions flex-shrink-0 d-none d-md-inline" style="padding: 2px 0;"> <li> <a href="/web/20221111063302/https://github.com/login?return_to=%2Ffirebase%2Fquickstart-js" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"notification subscription menu watch","repository_id":null,"auth_type":"LOG_IN","originating_url":"https://github.com/firebase/quickstart-js/commit/18abc54f77f34eebd98a72f9bd4078ac8cf7377e","user_id":null}}" data-hydro-click-hmac="8edbe702698af65419b087303cddc7ddbb01f0d5c12babe7a814152060bab02e" aria-label="You must be signed in to change notification settings" data-view-component="true" class="tooltipped tooltipped-s btn-sm btn"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell mr-2"> <path d="M8 16a2 2 0 001.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 008 16z"></path><path fill-rule="evenodd" d="M8 1.5A3.5 3.5 0 004.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.018.018 0 00-.003.01l.001.006c0 .002.002.004.004.006a.017.017 0 00.006.004l.007.001h10.964l.007-.001a.016.016 0 00.006-.004.016.016 0 00.004-.006l.001-.007a.017.017 0 00-.003-.01l-1.703-2.554a1.75 1.75 0 01-.294-.97V5A3.5 3.5 0 008 1.5zM3 5a5 5 0 0110 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.518 1.518 0 0113.482 13H2.518a1.518 1.518 0 01-1.263-2.36l1.703-2.554A.25.25 0 003 7.947V5z"></path> </svg>Notifications </a> </li> <li> <a icon="repo-forked" href="/web/20221111063302/https://github.com/login?return_to=%2Ffirebase%2Fquickstart-js" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"repo details fork button","repository_id":57147372,"auth_type":"LOG_IN","originating_url":"https://github.com/firebase/quickstart-js/commit/18abc54f77f34eebd98a72f9bd4078ac8cf7377e","user_id":null}}" data-hydro-click-hmac="69f7e71eceec908558b38fc581b706ba15e85cbf9529fe06e7b350a23da43273" aria-label="You must be signed in to fork a repository" data-view-component="true" class="tooltipped tooltipped-s 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 fill-rule="evenodd" d="M5 3.25a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm0 2.122a2.25 2.25 0 10-1.5 0v.878A2.25 2.25 0 005.75 8.5h1.5v2.128a2.251 2.251 0 101.5 0V8.5h1.5a2.25 2.25 0 002.25-2.25v-.878a2.25 2.25 0 10-1.5 0v.878a.75.75 0 01-.75.75h-4.5A.75.75 0 015 6.25v-.878zm3.75 7.378a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm3-8.75a.75.75 0 100-1.5.75.75 0 000 1.5z"></path> </svg>Fork <span id="repo-network-counter" data-pjax-replace="true" data-turbo-replace="true" title="3,569" data-view-component="true" class="Counter">3.6k</span> </a> </li> <li> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/web/20221111063302/https://github.com/login?return_to=%2Ffirebase%2Fquickstart-js" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"star button","repository_id":57147372,"auth_type":"LOG_IN","originating_url":"https://github.com/firebase/quickstart-js/commit/18abc54f77f34eebd98a72f9bd4078ac8cf7377e","user_id":null}}" data-hydro-click-hmac="497bf94716848d10bf3a37ad56af620ded3ed956aa2e947f3424cee5cfb85b70" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-s btn-sm btn BtnGroup-item"> <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 fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="4566 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="4,566" data-view-component="true" class="Counter js-social-count">4.6k</span> </a> <button disabled="disabled" aria-label="You must be signed in to add this repository to a list" type="button" data-view-component="true" class="btn-sm btn BtnGroup-item px-2"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-triangle-down"> <path d="M4.427 7.427l3.396 3.396a.25.25 0 00.354 0l3.396-3.396A.25.25 0 0011.396 7H4.604a.25.25 0 00-.177.427z"></path> </svg> </button></div> </li> </ul> </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="/web/20221111063302/https://github.com/firebase/quickstart-js" data-tab-item="i0code-tab" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments /firebase/quickstart-js" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g c" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Code","target":"UNDERLINE_NAV.TAB"}" 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 fill-rule="evenodd" d="M4.72 3.22a.75.75 0 011.06 1.06L2.06 8l3.72 3.72a.75.75 0 11-1.06 1.06L.47 8.53a.75.75 0 010-1.06l4.25-4.25zm6.56 0a.75.75 0 10-1.06 1.06L13.94 8l-3.72 3.72a.75.75 0 101.06 1.06l4.25-4.25a.75.75 0 000-1.06l-4.25-4.25z"></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="/web/20221111063302/https://github.com/firebase/quickstart-js/issues" data-tab-item="i1issues-tab" data-selected-links="repo_issues repo_labels repo_milestones /firebase/quickstart-js/issues" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g i" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Issues","target":"UNDERLINE_NAV.TAB"}" 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 100-3 1.5 1.5 0 000 3z"></path><path fill-rule="evenodd" d="M8 0a8 8 0 100 16A8 8 0 008 0zM1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0z"></path> </svg> <span data-content="Issues">Issues</span> <span id="issues-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="61" data-view-component="true" class="Counter">61</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab" href="/web/20221111063302/https://github.com/firebase/quickstart-js/pulls" data-tab-item="i2pull-requests-tab" data-selected-links="repo_pulls checks /firebase/quickstart-js/pulls" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g p" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Pull requests","target":"UNDERLINE_NAV.TAB"}" 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 fill-rule="evenodd" d="M7.177 3.073L9.573.677A.25.25 0 0110 .854v4.792a.25.25 0 01-.427.177L7.177 3.427a.25.25 0 010-.354zM3.75 2.5a.75.75 0 100 1.5.75.75 0 000-1.5zm-2.25.75a2.25 2.25 0 113 2.122v5.256a2.251 2.251 0 11-1.5 0V5.372A2.25 2.25 0 011.5 3.25zM11 2.5h-1V4h1a1 1 0 011 1v5.628a2.251 2.251 0 101.5 0V5A2.5 2.5 0 0011 2.5zm1 10.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0zM3.75 12a.75.75 0 100 1.5.75.75 0 000-1.5z"></path> </svg> <span data-content="Pull requests">Pull requests</span> <span id="pull-requests-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="9" data-view-component="true" class="Counter">9</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="actions-tab" href="/web/20221111063302/https://github.com/firebase/quickstart-js/actions" data-tab-item="i3actions-tab" data-selected-links="repo_actions /firebase/quickstart-js/actions" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g a" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Actions","target":"UNDERLINE_NAV.TAB"}" 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 fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM6.379 5.227A.25.25 0 006 5.442v5.117a.25.25 0 00.379.214l4.264-2.559a.25.25 0 000-.428L6.379 5.227z"></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="/web/20221111063302/https://github.com/firebase/quickstart-js/projects" data-tab-item="i4projects-tab" data-selected-links="repo_projects new_repo_project repo_project /firebase/quickstart-js/projects" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g b" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Projects","target":"UNDERLINE_NAV.TAB"}" 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 fill-rule="evenodd" d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0114.25 16H1.75A1.75 1.75 0 010 14.25V1.75zM1.5 6.5v7.75c0 .138.112.25.25.25H5v-8H1.5zM5 5H1.5V1.75a.25.25 0 01.25-.25H5V5zm1.5 1.5v8h7.75a.25.25 0 00.25-.25V6.5h-8zm8-1.5h-8V1.5h7.75a.25.25 0 01.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="security-tab" href="/web/20221111063302/https://github.com/firebase/quickstart-js/security" data-tab-item="i5security-tab" data-selected-links="security overview alerts policy token_scanning code_scanning /firebase/quickstart-js/security" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g s" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Security","target":"UNDERLINE_NAV.TAB"}" 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 fill-rule="evenodd" d="M7.467.133a1.75 1.75 0 011.066 0l5.25 1.68A1.75 1.75 0 0115 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.7 1.7 0 01-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 011.217-1.667l5.25-1.68zm.61 1.429a.25.25 0 00-.153 0l-5.25 1.68a.25.25 0 00-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.2.2 0 00.154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.25.25 0 00-.174-.237l-5.25-1.68zM9 10.5a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.75a.75.75 0 10-1.5 0v3a.75.75 0 001.5 0v-3z"></path> </svg> <span data-content="Security">Security</span> <include-fragment src="/firebase/quickstart-js/security/overall-count" accept="text/fragment+html"></include-fragment> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="insights-tab" href="/web/20221111063302/https://github.com/firebase/quickstart-js/pulse" data-tab-item="i6insights-tab" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /firebase/quickstart-js/pulse" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Insights","target":"UNDERLINE_NAV.TAB"}" 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 fill-rule="evenodd" d="M1.5 1.75a.75.75 0 00-1.5 0v12.5c0 .414.336.75.75.75h14.5a.75.75 0 000-1.5H1.5V1.75zm14.28 2.53a.75.75 0 00-1.06-1.06L10 7.94 7.53 5.47a.75.75 0 00-1.06 0L3.22 8.72a.75.75 0 001.06 1.06L7 7.06l2.47 2.47a.75.75 0 001.06 0l5.25-5.25z"></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"> <details data-view-component="true" class="details-overlay details-reset position-relative"> <summary role="button" data-view-component="true"> <div class="UnderlineNav-item mr-0 border-0"> <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"> <path d="M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path> </svg> <span class="sr-only">More</span> </div> </summary> <details-menu role="menu" data-view-component="true" class="dropdown-menu dropdown-menu-sw"> <ul> <li data-menu-item="i0code-tab" hidden> <a role="menuitem" class="js-selected-navigation-item selected dropdown-item" aria-current="page" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments /firebase/quickstart-js" href="/web/20221111063302/https://github.com/firebase/quickstart-js"> Code </a> </li> <li data-menu-item="i1issues-tab" hidden> <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links="repo_issues repo_labels repo_milestones /firebase/quickstart-js/issues" href="/web/20221111063302/https://github.com/firebase/quickstart-js/issues"> Issues </a> </li> <li data-menu-item="i2pull-requests-tab" hidden> <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links="repo_pulls checks /firebase/quickstart-js/pulls" href="/web/20221111063302/https://github.com/firebase/quickstart-js/pulls"> Pull requests </a> </li> <li data-menu-item="i3actions-tab" hidden> <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links="repo_actions /firebase/quickstart-js/actions" href="/web/20221111063302/https://github.com/firebase/quickstart-js/actions"> Actions </a> </li> <li data-menu-item="i4projects-tab" hidden> <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links="repo_projects new_repo_project repo_project /firebase/quickstart-js/projects" href="/web/20221111063302/https://github.com/firebase/quickstart-js/projects"> Projects </a> </li> <li data-menu-item="i5security-tab" hidden> <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links="security overview alerts policy token_scanning code_scanning /firebase/quickstart-js/security" href="/web/20221111063302/https://github.com/firebase/quickstart-js/security"> Security </a> </li> <li data-menu-item="i6insights-tab" hidden> <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /firebase/quickstart-js/pulse" href="/web/20221111063302/https://github.com/firebase/quickstart-js/pulse"> Insights </a> </li> </ul> </details-menu> </details></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 "> <div class="clearfix container-xl px-3 px-md-4 px-lg-5 mt-4"> <a href="/web/20221111063302/https://github.com/firebase/quickstart-js/commit/18abc54f77f34eebd98a72f9bd4078ac8cf7377e" class="d-none js-permalink-shortcut" data-hotkey="y">Permalink</a> <div id="spoof-warning" class="mt-0 pb-3" hidden aria-hidden> <div data-view-component="true" class="flash flash-warn mt-0 clearfix"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert float-left mt-1"> <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path> </svg> <div class="overflow-hidden">This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.</div> </div></div> <div class="commit full-commit mt-0 px-2 pt-2 "> <a href="/web/20221111063302/https://github.com/firebase/quickstart-js/tree/18abc54f77f34eebd98a72f9bd4078ac8cf7377e" class="btn btn-outline float-right" title="Browse the repository at this point in the history" rel="nofollow">Browse files</a> <span class="mr-1 mt-1 float-left"> </span> <div class="commit-title markdown-title"> Metadata </div> <div class="commit-desc"><pre>Bug: 28716997 Change-Id: I549521debcb9d3a46c819653e4ce08d628d3f042</pre></div> <div class="commit-branches pb-2"> <include-fragment src="/firebase/quickstart-js/branch_commits/18abc54f77f34eebd98a72f9bd4078ac8cf7377e" id="async-branches-list"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-branch"> <path fill-rule="evenodd" d="M11.75 2.5a.75.75 0 100 1.5.75.75 0 000-1.5zm-2.25.75a2.25 2.25 0 113 2.122V6A2.5 2.5 0 0110 8.5H6a1 1 0 00-1 1v1.128a2.251 2.251 0 11-1.5 0V5.372a2.25 2.25 0 111.5 0v1.836A2.492 2.492 0 016 7h4a1 1 0 001-1v-.628A2.25 2.25 0 019.5 3.25zM4.25 12a.75.75 0 100 1.5.75.75 0 000-1.5zM3.5 3.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0z"></path> </svg> <ul class="branches-list"> <li class="loading">Loading branch information<span class="AnimatedEllipsis"></span></li> </ul> </include-fragment></div> <div class="commit-meta p-2 d-flex flex-wrap"> <div class="AvatarStack flex-self-start "> <div class="AvatarStack-body" aria-label="samtstern"> <a class="avatar avatar-user" style="width:20px;height:20px;" data-test-selector="commits-avatar-stack-avatar-link" data-hovercard-type="user" data-hovercard-url="/users/samtstern/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/web/20221111063302/https://github.com/samtstern"> <img data-test-selector="commits-avatar-stack-avatar-image" src="https://web.archive.org/web/20221111063302im_/https://avatars.githubusercontent.com/u/8466666?s=40&v=4" width="20" height="20" alt="@samtstern" class=" avatar-user"/> </a> </div> </div> <div class="flex-self-start no-wrap mr-md-4 mr-0"> <a class="commit-author user-mention" title="View all commits by samtstern" href="/web/20221111063302/https://github.com/firebase/quickstart-js/commits?author=samtstern">samtstern</a> committed <relative-time datetime="2016-05-24T18:37:02Z" class="no-wrap">May 24, 2016</relative-time> <div class="d-none d-md-inline-block"> <batch-deferred-content class="d-inline-block" data-url="/commits/badges"> <input type="hidden" name="id" value="MDY6Q29tbWl0NTcxNDczNzI6MThhYmM1NGY3N2YzNGVlYmQ5OGE3MmY5YmQ0MDc4YWM4Y2Y3Mzc3ZQ==" data-targets="batch-deferred-content.inputs" autocomplete="off"/> <input type="hidden" name="badge_size" value="medium" data-targets="batch-deferred-content.inputs" autocomplete="off"/> <input type="hidden" name="dropdown_direction" value="s" data-targets="batch-deferred-content.inputs" autocomplete="off"/> </batch-deferred-content> </div> </div> <div class="flex-auto no-wrap text-lg-right text-left overflow-x-auto"> <span class="sha-block ml-0" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> 1 parent <a class="sha" data-hotkey="p" href="/web/20221111063302/https://github.com/firebase/quickstart-js/commit/68ebc06d3e7d450e8e47f752bd70da6ef84cd702">68ebc06</a> </span> <span class="sha-block">commit <span class="sha user-select-contain">18abc54f77f34eebd98a72f9bd4078ac8cf7377e</span></span> </div> </div> </div> <diff-layout> <div class="pr-toolbar commit-toolbar mt-n2 color-bg-default d-flex" data-target="diff-layout.diffToolbar"> <div id="toc" class="d-flex flex-items-center table-of-contents js-details-container Details flex-1" style="gap: 4px 16px;"> <file-tree-toggle data-action="toggle-sidebar:diff-layout#toggleSidebar" class="d-none d-md-inline-block d-lg-inline-block d-xl-inline-block"> <div data-view-component="true" class="position-relative d-inline-block"> <button id="show-file-tree-button" data-target="file-tree-toggle.showFileTreeButton diff-layout.showFileTreeButton" data-action="click:file-tree-toggle#toggleFileTree" data-prefer-file-tree-visible="true" data-hydro-click-payload="{"event_type":"pull_request.user_action","payload":{"action":"show_tree","originating_url":"https://github.com/firebase/quickstart-js/commit/18abc54f77f34eebd98a72f9bd4078ac8cf7377e","user_id":null}}" data-hydro-click-hmac="9a0b00cabe04fe7e107b3439e2c6131c111896faf4c7fc3e7129c6bca04f6c77" hidden="hidden" type="button" data-view-component="true" class="btn-octicon Link--muted diffbar-item m-0 p-0"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-sidebar-collapse"> <path fill-rule="evenodd" d="M6.823 7.823L4.427 5.427A.25.25 0 004 5.604v4.792c0 .223.27.335.427.177l2.396-2.396a.25.25 0 000-.354z"></path><path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25H9.5v13H1.75a.25.25 0 01-.25-.25V1.75zM11 14.5v-13h3.25a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H11z"></path> </svg> </button> <tool-tip for="show-file-tree-button" data-direction="ne" data-type="label" data-view-component="true" class="sr-only position-absolute">Show file tree</tool-tip> </div> <div data-view-component="true" class="position-relative d-inline-block"> <button id="hide-file-tree-button" data-target="file-tree-toggle.hideFileTreeButton" data-action="click:file-tree-toggle#toggleFileTree" data-prefer-file-tree-visible="false" data-hydro-click-payload="{"event_type":"pull_request.user_action","payload":{"action":"hide_tree","originating_url":"https://github.com/firebase/quickstart-js/commit/18abc54f77f34eebd98a72f9bd4078ac8cf7377e","user_id":null}}" data-hydro-click-hmac="66be0e2aedfa4c41a5e1e6817f4a21023ac6aab026cf02b0ec586f3736296e4f" type="button" data-view-component="true" class="btn-octicon Link--muted diffbar-item m-0 p-0"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-sidebar-expand"> <path fill-rule="evenodd" d="M4.177 7.823l2.396-2.396A.25.25 0 017 5.604v4.792a.25.25 0 01-.427.177L4.177 8.177a.25.25 0 010-.354z"></path><path fill-rule="evenodd" d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0114.25 16H1.75A1.75 1.75 0 010 14.25V1.75zm1.75-.25a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25H9.5v-13H1.75zm12.5 13H11v-13h3.25a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25z"></path> </svg> </button> <tool-tip for="hide-file-tree-button" data-direction="ne" data-type="label" data-view-component="true" class="sr-only position-absolute">Hide file tree</tool-tip> </div> </file-tree-toggle> <div> Showing <strong>2 changed files</strong> with <strong>14 additions</strong> and <strong>0 deletions</strong>. </div> <div class="flex-1"></div> <div class="d-flex d-inline-block"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form data-turbo="false" action="/web/20221111063302/https://github.com/users/diffview" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="Vf8wFRbvFwfKI5Cn85lWKkFI8VBnKZk/3eaLXcnUIpfSjTdk/KGq+8atIMHhr4WkW3S6uBDPbKqHJYxxforOeA=="/> <div data-view-component="true" class="BtnGroup"> <button name="diff" value="split" type="submit" data-view-component="true" class="btn-sm btn BtnGroup-item"> Split </button> <button name="diff" value="unified" type="submit" data-view-component="true" class="selected btn-sm btn BtnGroup-item"> Unified </button> </div> <input type="hidden" name="old_w" id="old_w" value="0" autocomplete="off" class="form-control"/> <input type="hidden" name="old_diff" id="old_diff" value="unified" autocomplete="off" class="form-control"/> </form> </div> </div> </div> <div side="left" responsive="true" data-target="diff-layout.layoutContainer" data-view-component="true" class="Layout Layout--flowRow-until-md Layout--gutter-condensed hx_Layout wants-full-width-container Layout--sidebarPosition-start Layout--sidebarPosition-flowRow-none"> <div data-target="diff-layout.sidebarContainer" data-action="scroll:diff-layout.sidebarContainer#handleSidebarScroll" data-view-component="true" class="Layout-sidebar overflow-y-auto hx_Layout--sidebar js-notification-shelf-offset-top position-sticky p-2"> <div> <svg xmlns="http://www.w3.org/2000/svg" hidden> <symbol id="octicon_file-directory-fill_16" viewbox="0 0 16 16" width="16" height="16"><path d="M1.75 1A1.75 1.75 0 000 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25v-8.5A1.75 1.75 0 0014.25 3H7.5a.25.25 0 01-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75z"></path></symbol><symbol id="octicon_file-submodule_16" viewbox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M0 2.75C0 1.784.784 1 1.75 1H5c.55 0 1.07.26 1.4.7l.9 1.2a.25.25 0 00.2.1h6.75c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0114.25 15H1.75A1.75 1.75 0 010 13.25V2.75zm9.42 9.36l2.883-2.677a.25.25 0 000-.366L9.42 6.39a.25.25 0 00-.42.183V8.5H4.75a.75.75 0 100 1.5H9v1.927c0 .218.26.331.42.183z"></path></symbol><symbol id="octicon_file_16" viewbox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 00.25-.25V6h-2.75A1.75 1.75 0 019 4.25V1.5H3.75zm6.75.062V4.25c0 .138.112.25.25.25h2.688a.252.252 0 00-.011-.013l-2.914-2.914a.272.272 0 00-.013-.011zM2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0113.25 16h-9.5A1.75 1.75 0 012 14.25V1.75z"></path></symbol><symbol id="octicon_chevron-down_16" viewbox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z"></path></symbol><symbol id="octicon_diff-added_16" viewbox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M13.25 2.5H2.75a.25.25 0 00-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 00.25-.25V2.75a.25.25 0 00-.25-.25zM2.75 1h10.5c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0113.25 15H2.75A1.75 1.75 0 011 13.25V2.75C1 1.784 1.784 1 2.75 1zM8 4a.75.75 0 01.75.75v2.5h2.5a.75.75 0 010 1.5h-2.5v2.5a.75.75 0 01-1.5 0v-2.5h-2.5a.75.75 0 010-1.5h2.5v-2.5A.75.75 0 018 4z"></path></symbol><symbol id="octicon_diff-removed_16" viewbox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M2.75 2.5h10.5a.25.25 0 01.25.25v10.5a.25.25 0 01-.25.25H2.75a.25.25 0 01-.25-.25V2.75a.25.25 0 01.25-.25zM13.25 1H2.75A1.75 1.75 0 001 2.75v10.5c0 .966.784 1.75 1.75 1.75h10.5A1.75 1.75 0 0015 13.25V2.75A1.75 1.75 0 0013.25 1zm-2 7.75a.75.75 0 000-1.5h-6.5a.75.75 0 000 1.5h6.5z"></path></symbol><symbol id="octicon_diff-modified_16" viewbox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M2.75 2.5h10.5a.25.25 0 01.25.25v10.5a.25.25 0 01-.25.25H2.75a.25.25 0 01-.25-.25V2.75a.25.25 0 01.25-.25zM13.25 1H2.75A1.75 1.75 0 001 2.75v10.5c0 .966.784 1.75 1.75 1.75h10.5A1.75 1.75 0 0015 13.25V2.75A1.75 1.75 0 0013.25 1zM8 10a2 2 0 100-4 2 2 0 000 4z"></path></symbol><symbol id="octicon_diff-renamed_16" viewbox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M2.75 2.5h10.5a.25.25 0 01.25.25v10.5a.25.25 0 01-.25.25H2.75a.25.25 0 01-.25-.25V2.75a.25.25 0 01.25-.25zM13.25 1H2.75A1.75 1.75 0 001 2.75v10.5c0 .966.784 1.75 1.75 1.75h10.5A1.75 1.75 0 0015 13.25V2.75A1.75 1.75 0 0013.25 1zm-1.47 7.53a.75.75 0 000-1.06L8.53 4.22a.75.75 0 00-1.06 1.06l1.97 1.97H4.75a.75.75 0 000 1.5h4.69l-1.97 1.97a.75.75 0 101.06 1.06l3.25-3.25z"></path></symbol> </svg> <div class="subnav-search mx-0 mb-2"> <input type="text" id="file-tree-filter-field" class="form-control input-block pl-5 js-filterable-field" placeholder="Filter changed files" aria-label="Filter changed files" autocomplete="off" data-target="diff-layout.fileTreePathFilter" data-hydro-click-payload="{"event_type":"pull_request.user_action","payload":{"category":"file_filter","data":{"file_count":2},"pull_request_id":"18abc54f77f34eebd98a72f9bd4078ac8cf7377e","user_id":null,"action":"filter_by_pathname","originating_url":"https://github.com/firebase/quickstart-js/commit/18abc54f77f34eebd98a72f9bd4078ac8cf7377e"}}" data-hydro-click-hmac="227883426b06f89e02f3e8c86092f1223066abd6d9721af9a857c6695c737c7b"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search subnav-search-icon"> <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path> </svg> </div> <action-list data-arrow-navigation="true"> <file-tree data-target="diff-layout.fileTree"> <nav aria-label="File Tree Navigation"> <ul class="ActionList ActionList--tree ActionList--full" role="tree" aria-label="File Tree" data-filterable-for="file-tree-filter-field" data-filterable-type="substring" data-tree-entry-type="root" data-target="diff-file-filter.treeRoot" data-action=" filterable:change:diff-file-filter#hideEmptyDirectories filterable:change:file-tree#instrumentPathFilterChange filterable:change:action-list#setupFocusZone "> <li class="ActionList-item ActionList-item--hasSubItem js-tree-node" aria-level="1" role="treeitem" style="--ActionList-tree-depth: 1;" data-skip-substring-filter data-tree-entry-type="directory"> <button class="ActionList-content" aria-expanded="true" type="button" data-action="click:action-list#handleItemWithSubItemClick"> <span class="ActionList-item-action ActionList-item-action--leading"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down ActionList-item-collapseIcon"> <use href="#octicon_chevron-down_16"></use> </svg> </span> <span class="ActionList-item-visual ActionList-item-visual--leading"> <svg aria-label="Directory" aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-directory-fill hx_color-icon-directory"> <use href="#octicon_file-directory-fill_16"></use> </svg> </span> <span class="ActionList-item-label ActionList-item-label--truncate"> .google </span> </button> <ul class="ActionList ActionList--subGroup" data-filterable-for="file-tree-filter-field" data-filterable-type="substring" role="group"> <li id="file-tree-item-diff-d048c0b9867f3f4609fbae991a227744a3495edb164698a3929ead52bce83799" class="ActionList-item ActionList-item--subItem js-tree-node" role="treeitem" aria-level="2" style="--ActionList-tree-depth: 2;" data-action=" click:action-list#handleItemClick click:file-tree#instrumentSelectFile " data-target="file-tree.fileTreeNode" data-targets=" diff-file-filter.treeEntries file-tree.fileTreeNodes " data-hydro-click-payload="{"event_type":"pull_request.user_action","payload":{"category":"file_tree","data":{"file_count":2,"path":".google/icon.png","extension":".png"},"pull_request_id":"18abc54f77f34eebd98a72f9bd4078ac8cf7377e","user_id":null,"action":"file_selected","originating_url":"https://github.com/firebase/quickstart-js/commit/18abc54f77f34eebd98a72f9bd4078ac8cf7377e"}}" data-hydro-click-hmac="0d77400a013591877826a5b618e948ab8fca1b4d40079001b8d79e35adc17f2f" data-file-type=".png" data-file-deleted="false" data-tree-entry-type="file"> <span data-filterable-item-text hidden>.google/icon.png</span> <a class="ActionList-content hx_ActionList-content" href="#diff-d048c0b9867f3f4609fbae991a227744a3495edb164698a3929ead52bce83799" data-turbo="false"> <span class="ActionList-item-visual ActionList-item-visual--leading hx_ActionList-item-visual"> <svg aria-label="File" aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file color-fg-muted"> <use href="#octicon_file_16"></use> </svg> </span> <span class="ActionList-item-label ActionList-item-label--truncate hx_ActionList-item-label"> icon.png </span> <span class="ActionList-item-visual ActionList-item-visual--trailing hx_ActionList-item-visual"> <svg title="added" aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-diff-added color-fg-success"> <use href="#octicon_diff-added_16"></use> </svg> </span> </a> </li> <li id="file-tree-item-diff-f262f39eda37ff845a560415e545dd9bb6db88ce42b73174f033f46b2ddc8f71" class="ActionList-item ActionList-item--subItem js-tree-node" role="treeitem" aria-level="2" style="--ActionList-tree-depth: 2;" data-action=" click:action-list#handleItemClick click:file-tree#instrumentSelectFile " data-target="file-tree.fileTreeNode" data-targets=" diff-file-filter.treeEntries file-tree.fileTreeNodes " data-hydro-click-payload="{"event_type":"pull_request.user_action","payload":{"category":"file_tree","data":{"file_count":2,"path":".google/packaging.yaml","extension":".yaml"},"pull_request_id":"18abc54f77f34eebd98a72f9bd4078ac8cf7377e","user_id":null,"action":"file_selected","originating_url":"https://github.com/firebase/quickstart-js/commit/18abc54f77f34eebd98a72f9bd4078ac8cf7377e"}}" data-hydro-click-hmac="567306572664c18c6c6af511427c7db5a2831fe692a6b1c88923c3495f975135" data-file-type=".yaml" data-file-deleted="false" data-tree-entry-type="file"> <span data-filterable-item-text hidden>.google/packaging.yaml</span> <a class="ActionList-content hx_ActionList-content" href="#diff-f262f39eda37ff845a560415e545dd9bb6db88ce42b73174f033f46b2ddc8f71" data-turbo="false"> <span class="ActionList-item-visual ActionList-item-visual--leading hx_ActionList-item-visual"> <svg aria-label="File" aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file color-fg-muted"> <use href="#octicon_file_16"></use> </svg> </span> <span class="ActionList-item-label ActionList-item-label--truncate hx_ActionList-item-label"> packaging.yaml </span> <span class="ActionList-item-visual ActionList-item-visual--trailing hx_ActionList-item-visual"> <svg title="added" aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-diff-added color-fg-success"> <use href="#octicon_diff-added_16"></use> </svg> </span> </a> </li> </ul> </li> </ul> </nav> </file-tree> </action-list> </div> </div> <div data-target="diff-layout.mainContainer" data-view-component="true" class="Layout-main files-next-bucket"> <a name="diff-stat"></a> <template class="js-comment-button-template"> <button data-path="{{ path }}" data-anchor="{{ anchor }}" data-position="{{ position }}" data-side="{{ side }}" data-line="{{ line }}" data-original-line="{{ originalLine }}" aria-label="Add line comment" type="button" data-view-component="true" class="add-line-comment js-add-line-comment js-add-single-line-comment btn-link"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-plus"> <path fill-rule="evenodd" d="M7.75 2a.75.75 0 01.75.75V7h4.25a.75.75 0 110 1.5H8.5v4.25a.75.75 0 11-1.5 0V8.5H2.75a.75.75 0 010-1.5H7V2.75A.75.75 0 017.75 2z"></path> </svg> </button></template> <div id="files" class="diff-view js-diff-container js-code-nav-container" data-hpc> <div class="container-md js-file-filter-blankslate" data-target="diff-file-filter.blankslate" hidden> <div data-view-component="true" class="blankslate"> <svg aria-hidden="true" height="24" viewbox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-filter blankslate-icon"> <path d="M2.75 6a.75.75 0 000 1.5h18.5a.75.75 0 000-1.5H2.75zM6 11.75a.75.75 0 01.75-.75h10.5a.75.75 0 010 1.5H6.75a.75.75 0 01-.75-.75zm4 4.938a.75.75 0 01.75-.75h2.5a.75.75 0 010 1.5h-2.5a.75.75 0 01-.75-.75z"></path> </svg> <h2 data-view-component="true" class="blankslate-heading"> There are no files selected for viewing </h2> </div> </div> <div class="js-diff-progressive-container"> <div id="diff-d048c0b9867f3f4609fbae991a227744a3495edb164698a3929ead52bce83799" data-details-container-group="file" class="file js-file js-details-container js-targetable-element show-inline-notes Details Details--on open display-rich-diff js-tagsearch-file " data-file-type=".png" data-file-deleted="false" data-tagsearch-path=".google/icon.png" data-tagsearch-lang="" data-targets="diff-file-filter.diffEntries"> <div class="file-header d-flex flex-md-row flex-column flex-md-items-center file-header--expandable js-file-header js-skip-tagsearch " data-path=".google/icon.png" data-short-path="d048c0b" data-anchor="diff-d048c0b9867f3f4609fbae991a227744a3495edb164698a3929ead52bce83799" data-file-type=".png" data-file-deleted="false"> <div class="file-info flex-auto min-width-0 mb-md-0 mb-2"> <button type="button" class="btn-octicon js-details-target" aria-label="Toggle diff contents" aria-expanded="true" style="width: 22px;"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down Details-content--hidden"> <path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z"></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-chevron-right Details-content--shown"> <path fill-rule="evenodd" d="M6.22 3.22a.75.75 0 011.06 0l4.25 4.25a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06-1.06L9.94 8 6.22 4.28a.75.75 0 010-1.06z"></path> </svg> </button> <span class="diffstat tooltipped tooltipped-e" aria-label="Binary file added"> BIN <span class="color-fg-success"> +28.5 KB </span> </span> <span class="Truncate"> <a title=".google/icon.png" class="Link--primary Truncate-text" href="#diff-d048c0b9867f3f4609fbae991a227744a3495edb164698a3929ead52bce83799">.google/icon.png</a> <clipboard-copy data-copy-feedback="Copied!" aria-label="Copy" value=".google/icon.png" data-view-component="true" class="Link--onHover color-fg-muted ml-2 mr-2"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy"> <path fill-rule="evenodd" d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z"></path><path fill-rule="evenodd" d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z"></path> </svg> <svg style="display: none;" aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check color-fg-success"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> </clipboard-copy> </span> </div> <div class="file-actions pt-0 mb-md-0 mb-2 ml-md-2 flex-shrink-0 flex-md-justify-end"> <div class="d-flex flex-justify-end"> <span class="BtnGroup flex-auto min-width-0"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="BtnGroup-parent js-prose-diff-toggle-form" data-turbo="false" action="/web/20221111063302/https://github.com/firebase/quickstart-js/diffs/0?commit=18abc54f77f34eebd98a72f9bd4078ac8cf7377e&name=master&sha1=68ebc06d3e7d450e8e47f752bd70da6ef84cd702&sha2=18abc54f77f34eebd98a72f9bd4078ac8cf7377e&source=true&w=false" accept-charset="UTF-8" method="get"> <button class="btn btn-sm BtnGroup-item tooltipped tooltipped-w source js-source" aria-label="Display the source diff" type="submit" data-disable-with> <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 fill-rule="evenodd" d="M4.72 3.22a.75.75 0 011.06 1.06L2.06 8l3.72 3.72a.75.75 0 11-1.06 1.06L.47 8.53a.75.75 0 010-1.06l4.25-4.25zm6.56 0a.75.75 0 10-1.06 1.06L13.94 8l-3.72 3.72a.75.75 0 101.06 1.06l4.25-4.25a.75.75 0 000-1.06l-4.25-4.25z"></path> </svg> </button> </form> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="BtnGroup-parent js-prose-diff-toggle-form" data-turbo="false" action="/web/20221111063302/https://github.com/firebase/quickstart-js/diffs/0?commit=18abc54f77f34eebd98a72f9bd4078ac8cf7377e&name=master&sha1=68ebc06d3e7d450e8e47f752bd70da6ef84cd702&sha2=18abc54f77f34eebd98a72f9bd4078ac8cf7377e&short_path=d048c0b&w=false" accept-charset="UTF-8" method="get"> <button class="btn btn-sm BtnGroup-item tooltipped tooltipped-w rendered js-rendered selected" aria-current="true" aria-label="Display the rich diff" type="submit" data-disable-with> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file"> <path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 00.25-.25V6h-2.75A1.75 1.75 0 019 4.25V1.5H3.75zm6.75.062V4.25c0 .138.112.25.25.25h2.688a.252.252 0 00-.011-.013l-2.914-2.914a.272.272 0 00-.013-.011zM2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0113.25 16h-9.5A1.75 1.75 0 012 14.25V1.75z"></path> </svg> </button> </form> </span> <details class="js-file-header-dropdown dropdown details-overlay details-reset pr-2 pl-2"> <summary class="height-full"> <div class="height-full d-flex flex-items-center Link--secondary"> <svg aria-label="Show options" role="img" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal"> <path d="M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path> </svg> </div> </summary> <details-menu class="dropdown-menu dropdown-menu-sw show-more-popover color-fg-default position-absolute f5" style="width:185px; z-index:99; right: -4px;"> <label role="menuitemradio" class="dropdown-item btn-link text-normal d-block pl-5" tabindex="0" aria-checked="true"> <span class="position-absolute ml-n4"><svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg></span> <input type="checkbox" checked class="d-none js-toggle-file-notes"> Show comments </label> <div role="none" class="dropdown-divider"></div> <a href="/web/20221111063302/https://github.com/firebase/quickstart-js/blob/18abc54f77f34eebd98a72f9bd4078ac8cf7377e/.google/icon.png" class="pl-5 dropdown-item btn-link" rel="nofollow" role="menuitem" data-ga-click="View file, click, location:files_changed_dropdown"> View file </a> <button type="button" disabled role="menuitem" class="pl-5 dropdown-item btn-link" aria-label="You must be signed in and have push access to make changes."> Edit file </button> <button type="button" disabled role="menuitem" class="pl-5 dropdown-item btn-link" aria-label="You must be signed in and have push access to delete this file."> Delete file </button> </details-menu> </details> </div> </div> </div> <div class="js-file-content Details-content--hidden position-relative" data-hydro-view="{"event_type":"pull_request.select_diff_range","payload":{"actor_id":null,"pull_request_id":null,"repository_id":null,"diff_type":"UNIFIED","whitespace_ignored":false,"originating_url":"https://github.com/firebase/quickstart-js/commit/18abc54f77f34eebd98a72f9bd4078ac8cf7377e","user_id":null}}" data-hydro-view-hmac="ff516335190e5789bc1a2061763a65e841ea912f95427677fd2cfa4b48425661"> <div class="render-wrapper "> <div class="render-container is-render-pending js-render-target " data-identity="ca51a351-f1e7-46a1-a18c-57fa193b9f7d" data-host="https://viewscreen.githubusercontent.com" data-type="img"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="64" height="64" viewbox="0 0 16 16" fill="none" data-view-component="true" class="octospinner mx-auto anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke"/> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke"/> </svg> <div class="render-viewer-error">Sorry, something went wrong. <a href="https://web.archive.org/web/20221111063302/https://github.com/_view_fragments/Voltron::CommitFragmentsController/show/firebase/quickstart-js/18abc54f77f34eebd98a72f9bd4078ac8cf7377e/commit_show_contents">Reload?</a></div> <div class="render-viewer-fatal">Sorry, we cannot display this file.</div> <div class="render-viewer-invalid">Sorry, this file is invalid so it cannot be displayed.</div> <iframe class="render-viewer " src="https://web.archive.org/web/20221111063302if_/https://viewscreen.githubusercontent.com/added/img?color_mode=auto&commit=18abc54f77f34eebd98a72f9bd4078ac8cf7377e&enc_url=68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f66697265626173652f717569636b73746172742d6a732f313861626335346637376633346565626439386137326639626434303738616338636637333737652f2e676f6f676c652f69636f6e2e706e67&path=.google%2Ficon.png&repository_id=57147372#ca51a351-f1e7-46a1-a18c-57fa193b9f7d" sandbox="allow-scripts allow-same-origin allow-top-navigation" title="File display" name="ca51a351-f1e7-46a1-a18c-57fa193b9f7d"> Viewer requires iframe. </iframe> </div> </div> </div> </div> <div id="diff-f262f39eda37ff845a560415e545dd9bb6db88ce42b73174f033f46b2ddc8f71" data-details-container-group="file" class="file js-file js-details-container js-targetable-element show-inline-notes Details Details--on open js-tagsearch-file " data-file-type=".yaml" data-file-deleted="false" data-tagsearch-path=".google/packaging.yaml" data-tagsearch-lang="YAML" data-targets="diff-file-filter.diffEntries"> <div class="file-header d-flex flex-md-row flex-column flex-md-items-center file-header--expandable js-file-header js-skip-tagsearch " data-path=".google/packaging.yaml" data-short-path="f262f39" data-anchor="diff-f262f39eda37ff845a560415e545dd9bb6db88ce42b73174f033f46b2ddc8f71" data-file-type=".yaml" data-file-deleted="false"> <div class="file-info flex-auto min-width-0 mb-md-0 mb-2"> <button type="button" class="btn-octicon js-details-target" aria-label="Toggle diff contents" aria-expanded="true" style="width: 22px;"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down Details-content--hidden"> <path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z"></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-chevron-right Details-content--shown"> <path fill-rule="evenodd" d="M6.22 3.22a.75.75 0 011.06 0l4.25 4.25a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06-1.06L9.94 8 6.22 4.28a.75.75 0 010-1.06z"></path> </svg> </button> <span class="diffstat tooltipped tooltipped-e" aria-label="14 changes: 14 additions & 0 deletions">14 <span class="diffstat-block-added"></span><span class="diffstat-block-added"></span><span class="diffstat-block-added"></span><span class="diffstat-block-added"></span><span class="diffstat-block-added"></span></span> <span class="Truncate"> <a title=".google/packaging.yaml" class="Link--primary Truncate-text" href="#diff-f262f39eda37ff845a560415e545dd9bb6db88ce42b73174f033f46b2ddc8f71">.google/packaging.yaml</a> <clipboard-copy data-copy-feedback="Copied!" aria-label="Copy" value=".google/packaging.yaml" data-view-component="true" class="Link--onHover color-fg-muted ml-2 mr-2"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy"> <path fill-rule="evenodd" d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z"></path><path fill-rule="evenodd" d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z"></path> </svg> <svg style="display: none;" aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check color-fg-success"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> </clipboard-copy> </span> </div> <div class="file-actions pt-0 mb-md-0 mb-2 ml-md-2 flex-shrink-0 flex-md-justify-end"> <div class="d-flex flex-justify-end"> <details class="js-file-header-dropdown dropdown details-overlay details-reset pr-2 pl-2"> <summary class="height-full"> <div class="height-full d-flex flex-items-center Link--secondary"> <svg aria-label="Show options" role="img" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal"> <path d="M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path> </svg> </div> </summary> <details-menu class="dropdown-menu dropdown-menu-sw show-more-popover color-fg-default position-absolute f5" style="width:185px; z-index:99; right: -4px;"> <label role="menuitemradio" class="dropdown-item btn-link text-normal d-block pl-5" tabindex="0" aria-checked="true"> <span class="position-absolute ml-n4"><svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg></span> <input type="checkbox" checked class="d-none js-toggle-file-notes"> Show comments </label> <div role="none" class="dropdown-divider"></div> <a href="/web/20221111063302/https://github.com/firebase/quickstart-js/blob/18abc54f77f34eebd98a72f9bd4078ac8cf7377e/.google/packaging.yaml" class="pl-5 dropdown-item btn-link" rel="nofollow" role="menuitem" data-ga-click="View file, click, location:files_changed_dropdown"> View file </a> <button type="button" disabled role="menuitem" class="pl-5 dropdown-item btn-link" aria-label="You must be signed in and have push access to make changes."> Edit file </button> <button type="button" disabled role="menuitem" class="pl-5 dropdown-item btn-link" aria-label="You must be signed in and have push access to delete this file."> Delete file </button> </details-menu> </details> </div> </div> </div> <div class="js-file-content Details-content--hidden position-relative" data-hydro-view="{"event_type":"pull_request.select_diff_range","payload":{"actor_id":null,"pull_request_id":null,"repository_id":null,"diff_type":"UNIFIED","whitespace_ignored":false,"originating_url":"https://github.com/firebase/quickstart-js/commit/18abc54f77f34eebd98a72f9bd4078ac8cf7377e","user_id":null}}" data-hydro-view-hmac="ff516335190e5789bc1a2061763a65e841ea912f95427677fd2cfa4b48425661"> <div class="data highlight js-blob-wrapper js-check-bidi " style="overflow-x: auto; overflow-y: hidden;"> <template class="js-file-alert-template"> <div data-view-component="true" class="flash flash-warn flash-full d-flex flex-items-center"> <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 fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path> </svg> <span> This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. <a href="https://web.archive.org/web/20221111063302/https://github.co/hiddenchars" target="_blank">Learn more about bidirectional Unicode characters</a> </span> <div data-view-component="true" class="flash-action"> <a href="{{ revealButtonHref }}" data-view-component="true" class="btn-sm btn"> Show hidden characters </a> </div> </div></template> <template class="js-line-alert-template"> <span aria-label="This line has hidden Unicode characters" data-view-component="true" class="line-alert tooltipped tooltipped-e"> <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 fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path> </svg> </span></template> <table class=" diff-table js-diff-table tab-size " data-tab-size="8" data-diff-anchor="diff-f262f39eda37ff845a560415e545dd9bb6db88ce42b73174f033f46b2ddc8f71" data-paste-markdown-skip> <thead hidden> <tr> <th scope="col">Original file line number</th> <th scope="col">Diff line number</th> <th scope="col">Diff line change</th> </tr> </thead> <tbody> <tr data-position="0"> <td id="diff-f262f39eda37ff845a560415e545dd9bb6db88ce42b73174f033f46b2ddc8f71HL0" class="blob-num blob-num-hunk non-expandable" data-line-number="..."></td> <td id="diff-f262f39eda37ff845a560415e545dd9bb6db88ce42b73174f033f46b2ddc8f71HR1" class="blob-num blob-num-hunk non-expandable" data-line-number="..."></td> <td class="blob-code blob-code-inner blob-code-hunk">@@ -0,0 +1,14 @@</td> </tr> <tr data-hunk="8b79d683972cc4ad967ca5631db20f2d5944b72fc6f5f7f56576abb019ba74fb" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-f262f39eda37ff845a560415e545dd9bb6db88ce42b73174f033f46b2ddc8f71R1" data-line-number="1" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class="blob-code-inner blob-code-marker js-code-nav-pass " data-code-marker="+"><span class="pl-c"><span class="pl-c">#</span> GOOGLE SAMPLE PACKAGING DATA</span></span></td> </tr> <tr data-hunk="8b79d683972cc4ad967ca5631db20f2d5944b72fc6f5f7f56576abb019ba74fb" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-f262f39eda37ff845a560415e545dd9bb6db88ce42b73174f033f46b2ddc8f71R2" data-line-number="2" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class="blob-code-inner blob-code-marker js-code-nav-pass " data-code-marker="+"><span class="pl-c"><span class="pl-c">#</span></span></span></td> </tr> <tr data-hunk="8b79d683972cc4ad967ca5631db20f2d5944b72fc6f5f7f56576abb019ba74fb" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-f262f39eda37ff845a560415e545dd9bb6db88ce42b73174f033f46b2ddc8f71R3" data-line-number="3" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class="blob-code-inner blob-code-marker js-code-nav-pass " data-code-marker="+"><span class="pl-c"><span class="pl-c">#</span> This file is used by Google as part of our samples packaging process.</span></span></td> </tr> <tr data-hunk="8b79d683972cc4ad967ca5631db20f2d5944b72fc6f5f7f56576abb019ba74fb" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-f262f39eda37ff845a560415e545dd9bb6db88ce42b73174f033f46b2ddc8f71R4" data-line-number="4" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class="blob-code-inner blob-code-marker js-code-nav-pass " data-code-marker="+"><span class="pl-c"><span class="pl-c">#</span> End users may safely ignore this file. It has no relevance to other systems.</span></span></td> </tr> <tr data-hunk="8b79d683972cc4ad967ca5631db20f2d5944b72fc6f5f7f56576abb019ba74fb" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-f262f39eda37ff845a560415e545dd9bb6db88ce42b73174f033f46b2ddc8f71R5" data-line-number="5" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class="blob-code-inner blob-code-marker js-code-nav-pass " data-code-marker="+">---</span></td> </tr> <tr data-hunk="8b79d683972cc4ad967ca5631db20f2d5944b72fc6f5f7f56576abb019ba74fb" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-f262f39eda37ff845a560415e545dd9bb6db88ce42b73174f033f46b2ddc8f71R6" data-line-number="6" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class="blob-code-inner blob-code-marker js-code-nav-pass " data-code-marker="+"><span class="pl-ent">status</span>: <span class="pl-s">PUBLISHED</span></span></td> </tr> <tr data-hunk="8b79d683972cc4ad967ca5631db20f2d5944b72fc6f5f7f56576abb019ba74fb" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-f262f39eda37ff845a560415e545dd9bb6db88ce42b73174f033f46b2ddc8f71R7" data-line-number="7" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class="blob-code-inner blob-code-marker js-code-nav-pass " data-code-marker="+"><span class="pl-ent">technologies</span>: <span class="pl-s">[Web, Firebase]</span></span></td> </tr> <tr data-hunk="8b79d683972cc4ad967ca5631db20f2d5944b72fc6f5f7f56576abb019ba74fb" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-f262f39eda37ff845a560415e545dd9bb6db88ce42b73174f033f46b2ddc8f71R8" data-line-number="8" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class="blob-code-inner blob-code-marker js-code-nav-pass " data-code-marker="+"><span class="pl-ent">categories</span>: <span class="pl-s">[Getting Started]</span></span></td> </tr> <tr data-hunk="8b79d683972cc4ad967ca5631db20f2d5944b72fc6f5f7f56576abb019ba74fb" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-f262f39eda37ff845a560415e545dd9bb6db88ce42b73174f033f46b2ddc8f71R9" data-line-number="9" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class="blob-code-inner blob-code-marker js-code-nav-pass " data-code-marker="+"><span class="pl-ent">languages</span>: <span class="pl-s">[JavaScript]</span></span></td> </tr> <tr data-hunk="8b79d683972cc4ad967ca5631db20f2d5944b72fc6f5f7f56576abb019ba74fb" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-f262f39eda37ff845a560415e545dd9bb6db88ce42b73174f033f46b2ddc8f71R10" data-line-number="10" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class="blob-code-inner blob-code-marker js-code-nav-pass " data-code-marker="+"><span class="pl-ent">solutions</span>: <span class="pl-s">[Mobile, Monetization, Startup, Enterprise]</span></span></td> </tr> <tr data-hunk="8b79d683972cc4ad967ca5631db20f2d5944b72fc6f5f7f56576abb019ba74fb" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-f262f39eda37ff845a560415e545dd9bb6db88ce42b73174f033f46b2ddc8f71R11" data-line-number="11" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class="blob-code-inner blob-code-marker js-code-nav-pass " data-code-marker="+"><span class="pl-ent">github</span>: <span class="pl-s">firebase/quickstart-js</span></span></td> </tr> <tr data-hunk="8b79d683972cc4ad967ca5631db20f2d5944b72fc6f5f7f56576abb019ba74fb" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-f262f39eda37ff845a560415e545dd9bb6db88ce42b73174f033f46b2ddc8f71R12" data-line-number="12" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class="blob-code-inner blob-code-marker js-code-nav-pass " data-code-marker="+"><span class="pl-ent">level</span>: <span class="pl-s">BEGINNER</span></span></td> </tr> <tr data-hunk="8b79d683972cc4ad967ca5631db20f2d5944b72fc6f5f7f56576abb019ba74fb" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-f262f39eda37ff845a560415e545dd9bb6db88ce42b73174f033f46b2ddc8f71R13" data-line-number="13" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class="blob-code-inner blob-code-marker js-code-nav-pass " data-code-marker="+"><span class="pl-ent">icon</span>: <span class="pl-s">.google/icon.png</span></span></td> </tr> <tr data-hunk="8b79d683972cc4ad967ca5631db20f2d5944b72fc6f5f7f56576abb019ba74fb" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-f262f39eda37ff845a560415e545dd9bb6db88ce42b73174f033f46b2ddc8f71R14" data-line-number="14" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class="blob-code-inner blob-code-marker js-code-nav-pass " data-code-marker="+"><span class="pl-ent">license</span>: <span class="pl-s">apache2</span></span></td> </tr> </tbody> </table> </div> </div> </div> </div> </div> <button type="button" class="js-toggle-all-file-notes" data-hotkey="i" style="display:none">Toggle all file notes</button> <button type="button" class="js-toggle-all-file-annotations" data-hotkey="a" style="display:none">Toggle all file annotations</button> <svg aria-hidden="true" width="320px" height="84px" viewbox="0 0 340 84" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="diff-placeholder-svg position-absolute bottom-0"> <defs> <clippath id="diff-placeholder"> <rect x="0" y="0" width="67.0175439" height="11.9298746" rx="2"></rect> <rect x="18.9473684" y="47.7194983" width="100.701754" height="11.9298746" rx="2"></rect> <rect x="0" y="71.930126" width="37.8947368" height="11.9298746" rx="2"></rect> <rect x="127.017544" y="48.0703769" width="53.3333333" height="11.9298746" rx="2"></rect> <rect x="187.719298" y="48.0703769" width="72.9824561" height="11.9298746" rx="2"></rect> <rect x="76.8421053" y="0" width="140.350877" height="11.9298746" rx="2"></rect> <rect x="17.8947368" y="23.8597491" width="140.350877" height="11.9298746" rx="2"></rect> <rect x="166.315789" y="23.8597491" width="173.684211" height="11.9298746" rx="2"></rect> </clippath> <lineargradient id="animated-diff-gradient" x1="0" x2="0" y1="0" y2="1" spreadmethod="reflect"> <stop offset="0" stop-color="#eee"></stop> <stop offset="0.2" stop-color="#eee"></stop> <stop offset="0.5" stop-color="#ddd"></stop> <stop offset="0.8" stop-color="#eee"></stop> <stop offset="1" stop-color="#eee"></stop> <animatetransform attributename="y1" values="0%; 100%; 0" dur="1s" repeatcount="3"></animatetransform> <animatetransform attributename="y2" values="100%; 200%; 0" dur="1s" repeatcount="3"></animatetransform> </lineargradient> </defs> </svg> <div id="all_commit_comments" class="js-quote-selection-container" data-quote-markdown=".js-comment-body"> <div class="mb-1 mb-md-3"> <div id="partial-visible-comments-header" class="d-flex flex-items-center flex-column-reverse flex-md-row"> <h4 class="flex-auto text-md-left text-center"> 0 comments on commit <code class="commit-sha">18abc54</code> </h4> <div class="flex-shrink-0 mb-2 mb-md-0"> </div> </div> </div> <div id="comments" class="comment-holder ml-0 pl-0 ml-md-6 pl-md-3"> <!-- Rendered timeline since 2016-05-24 11:37:02 --> <div id="partial-timeline-marker" class="js-timeline-marker js-socket-channel js-updatable-content" data-channel="eyJjIjoicmVwbzo1NzE0NzM3Mjpjb21taXQ6MThhYmM1NGY3N2YzNGVlYmQ5OGE3MmY5YmQ0MDc4YWM4Y2Y3Mzc3ZSIsInQiOjE2NjgxNDgzODJ9--69fbb4e6ccb0346e9815f94c6b060050001fcd2a3d4a0543ffe70456b402480b" data-url="/web/20221111063302oe_/https://github.com/firebase/quickstart-js/commit/18abc54f77f34eebd98a72f9bd4078ac8cf7377e/show_partial?partial=commit%2Ftimeline_marker&since=1464115022" data-last-modified="Tue, 24 May 2016 18:37:02 GMT"> </div> </div> Please <a rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"commit comment","repository_id":57147372,"auth_type":"LOG_IN","originating_url":"https://github.com/firebase/quickstart-js/commit/18abc54f77f34eebd98a72f9bd4078ac8cf7377e","user_id":null}}" data-hydro-click-hmac="92adf59f9a462c94fbde0cca036c76fa6d93a95ff41f42f8fd4eb23946f221cf" href="/web/20221111063302/https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Ffirebase%2Fquickstart-js%2Fcommit%2F18abc54f77f34eebd98a72f9bd4078ac8cf7377e">sign in</a> to comment. </div> </div> </div> </diff-layout> </div> </div> </turbo-frame> </main> </div> </div> <footer class="footer width-full container-xl p-responsive"> <h2 class="sr-only">Footer</h2> <div class="position-relative d-flex flex-items-center pb-2 f6 color-fg-muted border-top color-border-muted flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap mt-6 pt-6"> <div class="list-style-none d-flex flex-wrap col-0 col-lg-2 flex-justify-start flex-lg-justify-between mb-2 mb-lg-0"> <div class="mt-2 mt-lg-0 d-flex flex-items-center"> <a aria-label="Homepage" title="GitHub" class="footer-octicon mr-2" href="https://web.archive.org/web/20221111063302/https://github.com/"> <svg aria-hidden="true" height="24" viewbox="0 0 16 16" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github"> <path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path> </svg> </a> <span> © 2022 GitHub, Inc. </span> </div> </div> <nav aria-label="footer" class="col-12 col-lg-8"> <h3 class="sr-only" id="sr-footer-heading">Footer navigation</h3> <ul class="list-style-none d-flex flex-wrap col-12 flex-justify-center flex-lg-justify-between mb-2 mb-lg-0" aria-labelledby="sr-footer-heading"> <li class="mr-3 mr-lg-0"><a href="https://web.archive.org/web/20221111063302/https://docs.github.com/en/github/site-policy/github-terms-of-service" data-analytics-event="{"category":"Footer","action":"go to terms","label":"text:terms"}">Terms</a></li> <li class="mr-3 mr-lg-0"><a href="https://web.archive.org/web/20221111063302/https://docs.github.com/en/github/site-policy/github-privacy-statement" data-analytics-event="{"category":"Footer","action":"go to privacy","label":"text:privacy"}">Privacy</a></li> <li class="mr-3 mr-lg-0"><a data-analytics-event="{"category":"Footer","action":"go to security","label":"text:security"}" href="https://web.archive.org/web/20221111063302/https://github.com/security">Security</a></li> <li class="mr-3 mr-lg-0"><a href="https://web.archive.org/web/20221111063302/https://www.githubstatus.com/" data-analytics-event="{"category":"Footer","action":"go to status","label":"text:status"}">Status</a></li> <li class="mr-3 mr-lg-0"><a data-ga-click="Footer, go to help, text:Docs" href="https://web.archive.org/web/20221111063302/https://docs.github.com/">Docs</a></li> <li class="mr-3 mr-lg-0"><a href="https://web.archive.org/web/20221111063302/https://support.github.com/?tags=dotcom-footer" data-analytics-event="{"category":"Footer","action":"go to contact","label":"text:contact"}">Contact GitHub</a></li> <li class="mr-3 mr-lg-0"><a href="https://web.archive.org/web/20221111063302/https://github.com/pricing" data-analytics-event="{"category":"Footer","action":"go to Pricing","label":"text:Pricing"}">Pricing</a></li> <li class="mr-3 mr-lg-0"><a href="https://web.archive.org/web/20221111063302/https://docs.github.com/" data-analytics-event="{"category":"Footer","action":"go to api","label":"text:api"}">API</a></li> <li class="mr-3 mr-lg-0"><a href="https://web.archive.org/web/20221111063302/https://services.github.com/" data-analytics-event="{"category":"Footer","action":"go to training","label":"text:training"}">Training</a></li> <li class="mr-3 mr-lg-0"><a href="https://web.archive.org/web/20221111063302/https://github.blog/" data-analytics-event="{"category":"Footer","action":"go to blog","label":"text:blog"}">Blog</a></li> <li><a data-ga-click="Footer, go to about, text:about" href="https://web.archive.org/web/20221111063302/https://github.com/about">About</a></li> </ul> </nav> </div> <div class="d-flex flex-justify-center pb-6"> <span class="f6 color-fg-muted"></span> </div> </footer> <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 fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></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 fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg> </button> You can’t perform that action at this time. </div> <div class="js-stale-session-flash flash flash-warn flash-banner" 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 fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path> </svg> <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a 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 href="">Reload</a> to refresh your session.</span> </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 fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-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;" tabindex="0"> <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 tooltipped-no-delay" 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 fill-rule="evenodd" d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z"></path><path fill-rule="evenodd" d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z"></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 fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> </clipboard-copy> </div> </template> </body> </html> <!-- FILE ARCHIVED ON 06:33:02 Nov 11, 2022 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 06:37:08 Nov 30, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.761 exclusion.robots: 0.038 exclusion.robots.policy: 0.022 esindex: 0.013 cdx.remote: 25.178 LoadShardBlock: 105.524 (3) PetaboxLoader3.datanode: 84.542 (4) PetaboxLoader3.resolve: 81.015 (2) load_resource: 98.338 -->